Modifying the SCSI / Fibre Channel Block Size Presented by Keith Bonneau, John Chrzanowski and Craig O’Brien Advised by Robert Kinicki and Mark Claypool
Project Goals Edit the Fibre Channel frame to utilize 100% of the payload for data transfer. Change the block size of the hard disk to reflect the changes to the frame. Make these changes transparent to the user and the Linux kernel. Why?
Storage Area Network (SAN) Improved reliability. Better data access and backup. Flexible Architecture. Load balancing. Supports many different protocols. Superior to direct attached storage.
SAN Overview The specific configuration of the SAN we used for the project.
Fibre Channel Long cable length up to 10 km. Transfer speeds up to 2 gbps. Layered interface. Data must be sent through frames. Used as a backbone for most commercial networks.
Small Computer System Interface (SCSI) Communicates through specific commands. Limited by cable length, and number of devices. 25 meter maximum cable length. 15 devices allowed on the SCSI bus. Interfaces well with Fibre Channel.
Methodology Located and modified the driver that detects the SCSI devices. Compiled the kernel to reflect these changes. Required a reconfiguration of the Linux kernel and a new image.
Methodology Performed a low level format on the hard disk to increase its block size from 512 bytes to 528 bytes. Modified the host bus adapter driver in order to handle the extra 16 bytes being transmitted.
Results Figure 1: Writing to the 512 byte diskFigure 2: Writing to the 528 byte disk
Conclusion The hard disk needs a firmware update from Seagate. Upon completion, the resulting data transfer would be more secure. Relatively no added time or size, making this ideal for streaming media.
Future Recommendations Read the host bus adapter code and search for alternative modification points. Add and remove the 16 bytes completely on the SCSI layer. Request access to appropriate Windows source files to adapt their platform.
Questions?