Calculate storage IOPS from throughput, block size and access pattern.
For mechanical HDDs, IOPS is bounded by physical latency: the time to seek the head to the right track plus the rotational latency waiting for the target sector to pass under the head, with 1000ms divided by that total latency giving operations per second. SSDs have no moving parts, so their IOPS instead scales with how many requests can be serviced in parallel (queue depth) divided by the average latency per request — flash controllers process many requests concurrently across channels, which is why SSD IOPS is typically 100-1000x higher than HDDs despite similar or lower per-request latency.
HDD IOPS
IOPS = 1000 / (seek_time_ms + rotational_latency_ms)
SSD IOPS
IOPS = (queue_depth / latency_ms) × 1000
SSDs use NAND flash with no mechanical head to move — any cell can be addressed electronically in roughly constant time, so there's no seek or rotational delay analogous to an HDD's actuator arm and spinning platter.
Modern SSD controllers process multiple requests concurrently across parallel NAND channels, so increasing queue depth lets more requests be in flight simultaneously — doubling queue depth roughly doubles throughput until the controller's internal parallelism or the host interface bandwidth is saturated.
Usually lower, because this models only device-level latency for random, uniformly-sized I/O — real workloads add file system overhead, controller/HBA queuing, RAID write penalties, and mixed block sizes, all of which reduce effective IOPS below the raw device ceiling.