Benchmarking
With the information from the previous page, we now know the weak spot of DRAM-less SSDs, which is random write with relatively small block sizes.
I tested this by sending random writes of block size 4K to a file of varying size, to control the locality of the writes, which should put different levels of stress on the flash translation layer.
Pretty dramatic results! It looks like the drive really likes its writes to stay in a 4 GB area, which gives the best performance results. For sizes beyond that, up to 16 GB, the drop is not that big. From 16 GB to 32 GB, the shape of the curve changes a little bit, potentially exposing another bottleneck. Once the size exceeds 32 GB, random write performance falls of a cliff, which suggests yet another bottleneck that gets hit.
OCZ commented that they optimized the drive for up to 16 GB write locality as that covers the write patterns of nearly all consumer applications.
For our synthetic testing on the following pages, I include two sets of data (where relevant):
- Our standard testing, which uses a test area size of 128 GB
- And a smaller test size of 16 GB to show performance with more consumer-oriented workloads (without cherry-picking the best case, like 4 GB or smaller, which a lot of benchmark programs do by default).