Member-only story

Performance Metrics Fundamentals — SSD Firmware Development — Part 16

Lan D. Phan
4 min readSep 9, 2019

--

Search the web for what makes SSD better than HDD and you’ll find things along the line of “no moving parts” and “better performance”. With performance being one of the pillars of SSD, we’ll do ourselves some service and lay down the fundamentals of performance metrics. As we develop our SSD firmware, particularly the flash translation layer, we’ll have to be performance conscious throughout the development cycle and understand the things that affect performance in different situations. In the cases where we need to favor other things over performance, we’ll have to understand the trade-offs we’re making.

The cornerstones of SSD performance metrics are essentially throughput, latency, and consistency. Various benchmarks can be developed around these key items with varying workloads and usage scenarios.

Throughput or bandwidth, is the measurement of the raw amount data the device is capable of processing (either input\write or output\read) over a unit of time relative to the host. The unit of measurement can be Megabytes per second (MiB/s) or Gigabytes per second (GiB/s) or any other variation of that form. Varying bandwidth within the same device or system is affected by the transfer size per command and queue depth (number of concurrent commands the host sends to the device). For example, given the workload in which the host requests for 1 write command at a time (i.e. host will not send another write command until it receives command completion for the previous…

--

--

No responses yet