The upper layers of the storage driver stack communicate with the transport driver through a class that is derived from the
IOBlockStorageDevice interface. The
IOBlockStorageDevice presents a view of the storage device as a linear array of logical blocks that can be either read from or written to by the caller. A logical block is the minimum number of bytes that the disk is capable of reading or writing, and a disk operation must operate on a multiple of blocks. Depending on the disk, the block size will be anywhere from 512 bytes to 4096 bytes. All operations performed by the
IOBlockStorageDevice class work on a contiguous range of disk blocks.
The methods that must be implemented by a subclass of the