The performance difference between the old and the new storage test system (see charts above) wasn’t significant, but knowing that the Intel X25-E flash SSD can do 15% better than this, and that the ICH10R is much faster than our old Promise SATA 300TX4, we began looking into the issue. We also found reports on the Web about performance issues with X58 and ICH10R, such as this thread on Xtreme Systems. It starts off with throughput issues with an Acard ANS-9010 RAM drive on an Asus P6T X58 motherboard. The Acard device is faster than the Intel SSD we used, because it’s based on faster SDRAM memory.
While we didn’t try SATA drives other than the Intel X25-E SSD, we encourage anyone who is running into irregular SATA bandwidth performance to try again with all power saving options disabled. We’re confident that this is not an issue on the parts of Asus or Intel, but simple performance bottlenecks that result from the efforts to save energy.
Wear Leveling and Write Amplification Algorithm Issues?
Initially, we also believed that there could be issues with the wear leveling algorithms, or other problems related to the nature of flash-based storage devices. Wear leveling makes sure that all flash cells are being used evenly, to maximize life expectancy of the device, because flash memory cells have a limited number of write cycles. Other issues emerge from an effect which is called write amplification, that basically results in a large activity overhead. It results from the fact that flash memory has to be written in blocks, which means that even a small chunk of data will trigger the write process for an entire block (erasing and programming it).
The whole issue becomes even more complex knowing that the Intel SSDs are based on ten individual channels of flash memory, and that the physical location of data on the SSD has nothing to do with the file system that is presented to the operating system. In the case of a flash SSD, sequential throughput isn’t really sequential, and fragmentation is not an issue on a file system level, but rather on a physical level. One consequence of this is that there are known issues resulting from switching between heavy I/O intensive operations to sequential operations, as the controllers adjust to the type of workload in an effort to consider wear leveling and write amplification while maximizing performance.
However, this wasn’t the issue in the case of our performance analysis. We repeatedly used the drive erase tool Secure Erase by CMRR to “reset” the Intel X25-E SSD to reach high throughput and remove existing data debris (try this if you are seeing performance issues with your SSD). However, we had to use the software version 3.3, which worked with the X25-E and the X25-M, while we only found version 4.0 on the CMRR website.