Degradation,
Garbage Collection and TRIM
Unfortunately, SSDs do not always work as
fast as in their "fresh" state. In many cases their performance goes
down after a while and in real life we deal with completely different write
speeds than what we see on the diagrams in the previous chapter of our review.
The reason for this phenomenon is as follows: as the SSDruns out of free pages
in the flash memory, its controller has to erase memory page blocks before
saving data onto them, causing significant delays. Thus, modern SSDs usually
try to free memory in advance, and not when writes are underway. This process
usually occurs in the idle mode. At this point the SSD controller can alleviate
the performance drop almost completely by erasing unused flash memory pages
ahead of time. The corresponding step is usually performed in idle mode, when
the controller can fully restore SSD performance by clearing out the unused
flash memory pages. They used two techniques for this process, it is: idle-time
garbage collection and TRIM.
A SSD controller does not know which memory
pages contain user data and which are considered available by the operating
system. It happens this way because in file systems removing a file doesn’t
involve its actual physical removal. Instead, the corresponding memory is
marked in the file system as available for rewriting into. So, not related to
the operating system, a SSD controller can only pre-erase pages in the reserve
pool (if it exists), which is not accessible by the operating system. For a
better solution to this problem, modern operating systems that have TRIM
command will improve the garbage collection efficiency. TRIM provides SSD
controller with information on which data could potentially be removed without
any harm, because it is considered unused by the operating system. As a result,
the SSD controller can increase the cleared pages pool by physically removing
unneeded data so that the user didn’t feel a performance hit during subsequent
write requests.
This is how it will be in the ideal
conditions. However, in real life, SSD differs in their garbage collection and
TRIM implementation. That’s why we check out the performance hit an SSD suffers
when transitioning from its out-of-box (the flash memory is clean) to
steady-state. This test follows SNIA SSSI TWG PTS instructions, which means we
measure the write speed in four cases one by one. First we measure the speed of
SSD "fresh". Then we measure the speed after the SSD is fully filled
data twice. The third test occurs after a 30-minute break during which the controller
can partially restore performance by running the idle-time garbage collection.
And finally, we measure the speed after releasing a TRIM command.
We ran the tests in synthetic IOMeter 1.1.0
RC1 benchmark, where we measure the random write speed when working with 4 KB
data block aligned to flash memory pages at 32 requests queue depth. The
testing data were pseudo-random. The chart below shows the history of the
relative speed changes, where 100% refers to the SSD performance in
"fresh-out-of-box" state.
Iometer,
Relative Random Write
The diagram suggests that the performance
degradation problem only plagues SandForce products. The remaining SSDs can
restore their activity after receiving the TRIM command from the operating
system. That is true for Samsung Pro 840 and 840. Their speed is restored as
expected. Therefore, these SSDs are not susceptible to performance degradation
in the majority of modern OSes.
On the other hand, garbage collection does
not work on the new Samsung drives without TRIM command, this should be taken
into account by users of non-TRIM environments. Samsung Magician's utility can
be used to send TRIM commands to the drive manually, but it only exists in
Windows-compatible versions. So, if you have some problems with TRIM support,
you can choose other products such as Plextor or Corsair drives with LAMD
controller.
Futuremark
PCMark 7
The popular PCMark 7 contains an individual
disk subsystem benchmark. It is not a synthetic test, but based on the
real-life applications. This benchmark reproduces typical disk usage scenarios
and measures how fast they are completed in popular tasks. Starting with
version 1.4.0, the PCMark 7 disk subsystem test generates raw performance
result without taking into account any delay in the requests queue. Such new
results are not compatible with the old ones, but the difference between the
performance of the various SSD drives are now becoming clearer. That's why we
decided to switch to a new version of the test session from now on.
We ran PCMark 7 on "steady" SSDs,
which is what they are going to be in actual computer systems most of the time.
Their activity in this case is affected not only by the controller or flash
memory speed, but also by the efficiency of their internal algorithm against
the performance degradation.
PCMark
7
The Samsung 840 Pro is the first SSD to
beat SandForce-based products in PCMark 7, this benchmark being very favorable
to the SandForce controller. This is an important victory to demonstrate the
power of Samsung's new SSD platform. The Samsung 840 with TLC flash, by
contrast, at the bottom of the chart, even losing to its 830 series
predecessor.
Let's find out what happened. The total
PCMark 7 score is a more generalized performance metric. We will check out the
individual tests to get a more detailed picture of what our SSDs can do under
various types of operational load:
Windows
Defender speed
Importing
Pictures speed
Video
Editing speed
Windows
Media Center speed
Adding
Music speed
Starting
Applications speed
Gaming
speed
The Samsung 840 Pro proves its premium
class again. It takes the lead in the most important usage scenarios and only
falls behind its opponents when it comes to processing small multimedia files.
The basic Samsung 840 behaves in a similar way but with lower speed due to its
TLC NAND flash. Thus, the poor overall score of this SSD is defined by its low
performance with audio files and images. When it comes to the script or system
to handle large files, the Samsung 840 is purely a product of average performance,
even compared to OCZ Vector or Corsair Neutron GTX.