4K-sector drives and Linux

WEBINAR:On-Demand

"Almost exactly one year ago, LWN examined the problem of
4K-sector drives and the reasons for their existence. In short,
going to 4KB physical sectors allows drive manufacturers to
increase storage density, always welcome in that competitive
market. Recently, there have been a number of reports that Linux is
not ready to work with these drives; kernel developer Tejun Heo
even posted an extensive, worth-reading summary stating that "4 KiB
logical sector support is broken in both the kernel and
partitioners." As the subsequent discussion revealed, though, the
truth of the matter is that we're not quite that badly
prepared.

"Linux is fully prepared for a change in the size of physical
sectors on a storage device, and has been for a long time. The
block layer was written with an avoidance of hardwired sector sizes
in mind. Sector counts and offsets are indeed managed as 512-byte
units at that level of the kernel, but the block layer is careful
to perform all I/O in units of the correct size. So, one would
hope, everything would Just Work.

"But, as Tejun's document notes, "unfortunately, there are
complications." These complications result from the fact that the
rest of the world is not prepared to deal with anything other than
512-byte sectors, starting with the BIOS found on almost all
systems. In fact, a BIOS which can boot from a 4K-sector drive is
an exceedingly rare item - if, indeed, it exists at all. Fixing the
BIOS is evidently harder than one might think, and, evidently,
there is little motivation to do so. Martin Petersen, who has done
much of the work around supporting these drives in Linux,
noted:"