A recent problem with the firmware in a Seagate drive offers a peek at the 400,000 lines of spaghetti code inside a modern disk. It is a cautionary tale for those who blithely assume that disk drives "just work."
In an article titled Seagate's AAK firmaware thoroughly examined an anonymous writer profiles reported performance problems with Seagate's 7200.10 drives running AAK firmware.
Long story short, the author found that the AAK firmware reliably ran 20 MB/sec slower than the same drives with different firmware, along with some other anomalies. Seagate has so far refused comment, but reportedly has replaced some of the drives.
Inside a modern disk drive Back in the mainframe dark ages, host CPUs directly controlled read/write heads. As chips got cheaper and faster more and more intelligence migrated to the disk.
Today a disk drive CPU is faster than a 1980's superminicomputer. Some of the disk's code dates back to the 1980's as well.
Architecture by accretion Disk drive bugs are no secret inside the industry. Array vendors test every version of disk drive firmware before they allow it inside their arrays. Why? Because all disk drive firmware has problems that can hose data. Or, as in this case, performance.
As of 6 years ago - and I doubt it has changed since - no disk drive vendor had done a complete re-write of their 400,000 lines of code. So new functionality grows by accretion, not architecture.
The Storage Bits take Seagate makes good drives. I'm taking delivery on one today. Yet any product with 400,000 lines of code will have bugs, and disks are no exception.
In this case the bug affects performance, something that can be measured. Too often the bugs affect data integrity and error handling (see How Microsoft puts your data at risk) which are harder to see but even more important.
We need file systems that ensure end-to-end data integrity. Only the file system knows what data is written and can compare it to the data that disk drives return. Other than ZFS though, it appears those file systems are years away.
If you rely on your computer for work or play, do yourself a favor and back it up at least monthly. The bugs are out there. Are you ready?
Comments welcome, of course.