2.4.4 Mass-storage Devices and Driver Layers
As already mentioned in Section 2.2, NT drivers for most kinds of mass-storage devices have at least one higher-level driver layered above them: an NT file system driver like the FSD shown previously in Figure 2.3. While NT file systems have much in common with all higher-level (intermediate or highest-level class) drivers, NT places additional requirements on and supplies additional support for file system drivers.
The following subsections illustrate representative hardware configurations for common mass-storage devices and the corresponding layered NT drivers, including which system-supplied file systems are layered above particular system-supplied device drivers, such as disk, floppy, CD-ROM, or tape drivers.
Note that NT also has a “last-resort” file system driver, called the RAW file system, that is layered above any driver for a mass-storage device that no other NT file system recognizes when a file object on that device is first opened.
The developer of a driver for a mass-storage, nonSCSI, adapter can choose either to write a full blown driver for that adapter, or to write a miniport driver based on the SCSI miniport model. Such an adapter-specific miniport driver must translate SCSI-specific input, such as the SRB, into an adapter-specific form to communicate with the mass-storage adapter. Note that such a miniport driver only calls SCSI port routines.