Template:Short description The Advanced SCSI Programming Interface (ASPI) is a programming interface developed by Adaptec which standardizes communication on a computer bus between a SCSI driver module on the one hand and SCSI (and ATAPI) peripherals on the other.<ref name=guide>Template:Cite book</ref>Template:Rp<ref>Template:Cite journal</ref>
StructureEdit
The ASPI manager software provides an interface between ASPI modules (device drivers or applications with direct SCSI support), a SCSI host adapter, and SCSI devices connected to the host adapter. The ASPI manager is specific to the host adapter and operating system; its primary role is to abstract the host adapter specifics and provide a generic software interface to SCSI devices.<ref name=guide />Template:Rp
On Windows 9x and Windows NT, the ASPI manager is generic and relies on the services of SCSI miniport drivers. On those systems, the ASPI interface is designed for applications which require SCSI pass-through functionality (such as CD-ROM burning software).<ref name=guide />Template:Rp
The primary operations supported by ASPI are discovery of host adapters and attached devices, and submitting SCSI commands to devices via SRBs (SCSI Request Blocks).<ref name=guide />Template:Rp ASPI supports concurrent execution of SCSI commands.<ref name=bookofscsi />Template:Rp
HistoryEdit
ASPI was developed by Adaptec around 1989<ref name=hoovers>Template:Cite book</ref> and was formally introduced in January 1990. Originally supporting only MS-DOS,<ref name=brownstein>Template:Cite journal</ref> support for NetWare was added in 1991, while support for OS/2 and Windows 3.x was added in 1992.<ref name=hoovers /><ref name=redefines>Template:Cite journal</ref> Originally developed only for SCSI devices, support for ATAPI devices was added later.<ref>Template:Cite book</ref>Template:Rp Most other SCSI host adapter vendors (for example BusLogic, DPT, AMI, Future Domain, DTC) shipped their own ASPI managers with their hardware.<ref>Template:Cite journal</ref>
Adaptec also developed generic SCSI disk and CD-ROM drivers for DOS (Template:Mono and Template:Mono).<ref name=bookofscsi>Template:Cite book</ref>Template:Rp
At least a couple of other programming interfaces for SCSI device drivers competed with ASPI in the early 1990s, including CAM (Common Access Method), developed by Apple; and Layered Device Driver Architecture, developed by Microsoft. However, ASPI was far and away more common than any of its competitors in this space, with PC Magazine declaring it a de facto standard for developing SCSI device drivers only two years after its introduction.<ref>Template:Cite journal</ref>
Starting in 1995, Microsoft licensed the interface for use with their Windows 9x operating systems. At the same time Microsoft developed SCSI Pass Through Interface (SPTI), an in-house substitute that worked on the NT platform. Microsoft did not include ASPI in Windows 2000/XP, in favor of its own SPTI.<ref>Template:Cite journal</ref>
To support USB drives under DOS, Panasonic developed a universal ASPI driver (Template:Mono) that bypasses the lack of native USB support by DOS.<ref>Template:Cite book</ref>
DriversEdit
ASPI was provided by the following drivers:
Operating system | Driver filename | Bundled |
---|---|---|
MS-DOS | Template:Mono or Template:Mono (USB drives only) | Template:No |
Windows 3.1x | Template:Mono | Template:No |
Windows 95, 98 and ME | Template:Mono, Template:Mono, Template:Mono and Template:Mono | Template:Yes |
Windows NT, 2000, XP | Template:Mono, Template:Mono | Template:No |
See alsoEdit
- SCSI Pass-Through Direct (SPTD)