Perfectdisk And Solid State Drives (ssd)
Storage technology is constantly evolving. One of the latest technologies is Solid State Drives (SSD) - which replaces traditional electro-mechanical parts (i.e. rotating disk platters and read/write heads) with flash memory. The benefits of SSD storage are:
-Very fast random access times due to elimination of slow electro-mechanical components
-Low read latency times due to elimination of disk seek times
-Consistent read performance because physical location of data doesn't matter (no 'fastest' part of the drive as in traditional disk drives)
-File fragmentation has negligible effect due to elimination of electro-mechanical component (seeking).
Due to the nature of the flash memory and how data is currently written, SSD write performance degrades over time. Unlike a hard disk drive, any write operation to SSD storage requires not one step, but two: an erase followed by the actual write. SSD performance depends on the following factors:
Write Endurance (1)
The number of write cycles to any block of flash is limited. The maximum number of write cycles (endurance) is dependent on type of flash memory (MLC vs SLC) and varies from 10,000 write cycles in older SSD drives to 1,000,000 write cycles with today's modern SSD drives.
Write Amplification (2)
Write Amplification is native to all NAND flash memory. Just as with traditional disk drives, with NAND flash memory, data is laid down in blocks. However, block sizes on an SSD are fixed - meaning even a small 4k chunk of data write can take up a 512k block of space, depending on the NAND flash memory being used. When any portion of the data on the drive is changed, a block must first be marked for deletion in preparation of accommodating the new data (read/modify/write). The amount of space required for each new write can vary. The write amplification factor on many consumer SSDs is anywhere from 15 to 20. That means for every 1MB of data written to the drive, 15MB to 20MBs of space is actually needed . For example, a read/modify/write algorithm in an SSD controller will take a block about to be written to, retrieve any data already in it, mark the block for deletion, redistribute the old data, then lay down the new data in the old block.
To maintain SSD write performance, SSD manufactures implement one or more of the following techniques:
Wear Leveling (3)
The SSD controller keeps track of how many erase cycles have been performed on each flash block and dynamically remaps logical to physical blocks to spread out the wear over all the cells in the drive. This means that no one portion wears out faster than another - prolonging the life of the SSD.
Over Provisioning (4)
Over Provisioning provides extra memory capacity (which the user can't access). The SSD controller uses these 'extra' cells to more easily create pre-erased blocks - ready to be used in the virtual pool.
TRIM (5)
TRIM allows the SSD controller to remove data from deleted cells so that the next write won't have to move, erase then write. This allows an SSD to maintain write performance for a longer period of time. In order for TRIM to be effective, it has to be implemented in the SSD itself as well as in the Windows operating system. Currently, TRIM is only implemented in Windows 7 and Windows Server 2008 R2.
PerfectDisk and Benefits to SSD storage
With SSD storage, since file level fragmentation results in negligible performance degradation, traditional file based defragmentation really doesn't provide any performance benefit and should be avoided as it has the potential to ultimately degrade SSD write performance. What can provide a performance benefit is free space consolidation to eliminate free space fragmentation and consolidate partially full blocks of data. High free space fragmentation is a strong indicator that a high instance of un-TRIM'ed, or partially full blocks exists.
While free space consolidation can help improve write performance, free space consolidation is not something that typically needs to be done on a frequent basis. PerfectDisk 11 will automatically identify SSD storage and if configured to optimize performance, will perform a Consolidate Free Space pass on the drive. PerfectDisk does not perform this pass automatically. You must specifically tell PerfectDisk to optimize the drive. PerfectDisk allows you to perform this pass manually or on a scheduled basis. In addition, you can configure PerfectDisk to only optimize the SSD storage if free space fragmentation exceeds a specified threshold.
(1) http://en.wikipedia.org/wiki/Flash_memory#Write_Endurance
(2) http://en.wikipedia.org/wiki/Write_amplification
(3) Knut Grimsrud, a director of storage architecture in Intel's research and development laboratory.
(4) http://en.wikipedia.org/wiki/Wear_leveling
(5) http://en.wikipedia.org/wiki/TRIM_(SSD_command)
-Very fast random access times due to elimination of slow electro-mechanical components
-Low read latency times due to elimination of disk seek times
-Consistent read performance because physical location of data doesn't matter (no 'fastest' part of the drive as in traditional disk drives)
-File fragmentation has negligible effect due to elimination of electro-mechanical component (seeking).
Due to the nature of the flash memory and how data is currently written, SSD write performance degrades over time. Unlike a hard disk drive, any write operation to SSD storage requires not one step, but two: an erase followed by the actual write. SSD performance depends on the following factors:
Write Endurance (1)
The number of write cycles to any block of flash is limited. The maximum number of write cycles (endurance) is dependent on type of flash memory (MLC vs SLC) and varies from 10,000 write cycles in older SSD drives to 1,000,000 write cycles with today's modern SSD drives.
Write Amplification (2)
Write Amplification is native to all NAND flash memory. Just as with traditional disk drives, with NAND flash memory, data is laid down in blocks. However, block sizes on an SSD are fixed - meaning even a small 4k chunk of data write can take up a 512k block of space, depending on the NAND flash memory being used. When any portion of the data on the drive is changed, a block must first be marked for deletion in preparation of accommodating the new data (read/modify/write). The amount of space required for each new write can vary. The write amplification factor on many consumer SSDs is anywhere from 15 to 20. That means for every 1MB of data written to the drive, 15MB to 20MBs of space is actually needed . For example, a read/modify/write algorithm in an SSD controller will take a block about to be written to, retrieve any data already in it, mark the block for deletion, redistribute the old data, then lay down the new data in the old block.
To maintain SSD write performance, SSD manufactures implement one or more of the following techniques:
Wear Leveling (3)
The SSD controller keeps track of how many erase cycles have been performed on each flash block and dynamically remaps logical to physical blocks to spread out the wear over all the cells in the drive. This means that no one portion wears out faster than another - prolonging the life of the SSD.
Over Provisioning (4)
Over Provisioning provides extra memory capacity (which the user can't access). The SSD controller uses these 'extra' cells to more easily create pre-erased blocks - ready to be used in the virtual pool.
TRIM (5)
TRIM allows the SSD controller to remove data from deleted cells so that the next write won't have to move, erase then write. This allows an SSD to maintain write performance for a longer period of time. In order for TRIM to be effective, it has to be implemented in the SSD itself as well as in the Windows operating system. Currently, TRIM is only implemented in Windows 7 and Windows Server 2008 R2.
PerfectDisk and Benefits to SSD storage
With SSD storage, since file level fragmentation results in negligible performance degradation, traditional file based defragmentation really doesn't provide any performance benefit and should be avoided as it has the potential to ultimately degrade SSD write performance. What can provide a performance benefit is free space consolidation to eliminate free space fragmentation and consolidate partially full blocks of data. High free space fragmentation is a strong indicator that a high instance of un-TRIM'ed, or partially full blocks exists.
While free space consolidation can help improve write performance, free space consolidation is not something that typically needs to be done on a frequent basis. PerfectDisk 11 will automatically identify SSD storage and if configured to optimize performance, will perform a Consolidate Free Space pass on the drive. PerfectDisk does not perform this pass automatically. You must specifically tell PerfectDisk to optimize the drive. PerfectDisk allows you to perform this pass manually or on a scheduled basis. In addition, you can configure PerfectDisk to only optimize the SSD storage if free space fragmentation exceeds a specified threshold.
(1) http://en.wikipedia.org/wiki/Flash_memory#Write_Endurance
(2) http://en.wikipedia.org/wiki/Write_amplification
(3) Knut Grimsrud, a director of storage architecture in Intel's research and development laboratory.
(4) http://en.wikipedia.org/wiki/Wear_leveling
(5) http://en.wikipedia.org/wiki/TRIM_(SSD_command)