IO Stack [PIC]
January 22, 2008 – 5:29 pmI/O stack components Overview Typically the stack consists of the following • Database • Character or block device driver • Multipathing driver • SCSI driver • HBA • System Bus • Switch/iSCSI routers • Storage Array • Disks Example of vendors: ASM-Database IBM Oracle Character or block device driver Multipathing driver – PowerPath, Windows MPIO SCSI driver HBA – Host Bus Adapter, Qlogic (IBM), Emulex System Bus - PCI Switch/iSCSI routers – Brocade, McData Storage Array – IBM DS8100, EMC, HDS, HP Disks - Seagate The database processes makes I/O calls to the block device. The I/O scheduler in Linux forms the interface between the generic block layer and the low level device drivers. The block layer provides functions that are utilized by the file systems, databases (10gR2) and the virtual memory manager to submit I/O requests to block devices. These requests are transformed by the I/O scheduler and made available to the low-level device drivers. The device drivers consume the transformed requests and forward them (by using device specific protocols) to the ...