Solid-state storage devices and the block layer

“Over the last few years, it has become clear that one of the
most pressing scalability problems faced by Linux is being driven
by solid-state storage devices (SSDs). The rapid increase in
performance offered by these devices cannot help but reveal any
bottlenecks in the Linux filesystem and block layers. What has been
less clear, at times, is what we are going to do about this
problem. In his LinuxCon Japan talk, block maintainer Jens Axboe
described some of the work that has been done to improve block
layer scalability and offered a view of where things might go in
the future.

“While workloads will vary, Jens says, most I/O patterns are
dominated by random I/O and relatively small requests. Thus,
getting the best results requires being able to perform a large
number of I/O operations per second (IOPS). With a high-end
rotating drive (running at 15,000 RPM), the maximum rate possible
is about 500 IOPS. Most real-world drives, of course, will have
significantly slower performance and lower I/O rates.

“SSDs, by eliminating seeks and rotational delays, change
everything; we have gone from hundreds of IOPS to hundreds of
thousands of IOPS in a very short period of time. A number of
people have said that the massive increase in IOPS means that the
block layer will have to become more like the networking layer,
where every bit of per-packet overhead has been squeezed out over
time. But, as Jens points out, time is not in great abundance.”