Database maker Oracle and host bus adapter maker Emulex today announced that they have contributed code to eliminate silent data corruption to the open source Linux operating system. The two also said this code has been accepted in the 2.6.27 kernel, which is the latest stable release.
Back in April 2007, Oracle, Emulex, disk maker Seagate, and disk array maker LSI Logic announced that they would be extending a standard called T10 Data Integrity Field (DIF) so it would reach from software applications through storage arrays and their related file systems down to the disk drive. The data integrity effort, says Oracle, is about making sure that data does not become corrupted as it moves from the application servers to the database and then from the Linux operating system into the disk storage attached to it.
Network and storage adapters have data checking algorithms, as do operating systems, but the T10 Protection Information Model - and its associated Data Integrity Extensions (DIE) - aims to present a consistent data protection mechanism across the hardware and software stack. Somewhere along the way between the application and the disk drive, data gets corrupted, perhaps in a place where checksums are not being done in the network or because of a hardware failure or some piece of firmware goes nuts. But data still gets written to the drive because the application and operating system are blissfully unaware there's a problem. If you go to read the file, it's an unholy mess.
With the code that Oracle has created implementing the T10 PIM and its extensions, Linux systems using the 2.6.27 kernel now have additional checkpoints to verify that data is being correctly moved around. Emulex helped with the kernel bits and says that it is basing its contributions to the effort on existing storage standards and says that this is the first time that such data protection information is available to the Linux kernel.
Emulex kicked in help on the DIE bits of the project, which allows data protection information to be moved in and out of host memory on servers. Oracle believes that the tweaks for the Linux kernel represent the first time that the T10 PIM and DIE standards have been implemented in any operating system.
The question now is when will various Unixes, the few remaining proprietary platforms, and Windows get the same support. No word on that, but Oracle has huge database and application businesses on Windows and Unix platforms, so it will not ignore them. But getting the PIM and DIE code implemented in closed-source platforms (and maybe even OpenSolaris) may not be as easy as it was for Linux.
Oracle and Emulex are starting an early adopter program for the Linux tweaks so customers can test it out in production environments.
If you want to get all the juicy details on the data integrity effort, you can read a technical paper here (PDF warning). ®