Advanced SCSI Programming Interface: Difference between revisions
Nominated for deletion; see Wikipedia:Articles for deletion/Advanced SCSI Programming Interface. |
Citations galore, remove original research |
||
Line 5: | Line 5: | ||
<!-- End of AfD message, feel free to edit beyond this point --> |
<!-- End of AfD message, feel free to edit beyond this point --> |
||
{{more footnotes|date=June 2009}} |
{{more footnotes|date=June 2009}} |
||
In [[computing]], '''ASPI''' ('''Advanced SCSI Programming Interface''') is |
In [[computing]], '''ASPI''' ('''Advanced SCSI Programming Interface''') is a programming interface developed by [[Adaptec]] which standardizes [[communication]] on a [[computer bus]] between a [[SCSI]] [[device driver|driver]] module on the one hand and SCSI (and [[ATAPI]]) [[peripheral]]s on the other.<ref name=guide>{{cite book | last=Sawert | first=Brian | date=1998 | url=https://archive.org/details/programmersguide0000sawe/page/55/ | title=The Programmer's Guide to SCSI | publisher=Addison-Wesley | pages=55–102, 233 | isbn=0201185385 | via=Google Books}}</ref>{{rp|55–56}}<ref>{{cite journal | last=White | first=Myles | date=May 25, 1995 | url=https://www.newspapers.com/article/the-toronto-star-getting-your-components/159678613/ | title=Getting your components to work together, part II | work=The Toronto Star | page=H3 | via=Newspapers.com}}</ref> |
||
== ASPI structure == |
== ASPI structure == |
||
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. |
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 />{{rp|56}} |
||
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). |
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 />{{rp|57}} |
||
The primary operations supported by ASPI are discovery of host adapters and attached devices, and submitting [[SCSI command]]s to devices via SRBs (SCSI Request Blocks). ASPI supports concurrent execution of SCSI commands. |
The primary operations supported by ASPI are discovery of host adapters and attached devices, and submitting [[SCSI command]]s to devices via SRBs (SCSI Request Blocks).<ref name=guide />{{rp|233}} ASPI supports concurrent execution of SCSI commands.<ref name=bookofscsi />{{rp|231}} |
||
== History == |
== History == |
||
ASPI was developed by [[Adaptec]] around 1989<ref name=hoovers>{{cite book | editor-last=Spain | editor-first=Patrick J. | editor2=James R. Talbot | date=1995 | url=https://archive.org/details/hoovershandbooko0000unse_j4c4/page/118/ | title=Hoover's Handbook of Emerging Compaies 1995: Profiles of America's Most Exciting Growth Enterprises | publisher=The Reference Press | page=118 | isbn=9781878753755 | via=Google Books}}</ref> and was formally introduced in January 1990. Originally supporting only [[MS-DOS]],<ref name=brownstein>{{cite journal | last=Brownstein | first=Mark | date=January 15, 1990 | url=https://books.google.com/books?id=eTAEAAAAMBAJ&pg=PA409 | title=Adaptec Unveils SCSI Interface Standard | work=InfoWorld | publisher=IDG Publications | volume=12 | issue=3 | page=23 | via=Google Books}}</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>{{cite journal | last=Guzman | first=Ed | date=June 1992 | url=https://www.proquest.com/docview/220619290/ | title=ASPI Refines SCSI I/O Routing | work=Computer Technology Review | publisher=West World Publications | volume=12 | issue=7 | page=22 | via=ProQuest}}</ref> Originally developed only for SCSI devices, support for [[ATAPI]] devices was added later.<ref>{{cite book | last=Mueller | first=Scott | date=2003 | edition=14th | url=https://www.google.com/books/edition/Upgrading_and_Repairing_PCs/eV1_LjW3pTkC | title=Upgrading and Repairing PCs | publisher=Que | pages=563–564, 771–772 | isbn=9780789727459 | via=Google Books}}</ref>{{rp|772}} Most other SCSI host adapter vendors (for example [[BusLogic]], DPT, AMI, [[Future Domain]], DTC) shipped their own ASPI managers with their hardware.<ref>{{cite journal|last=Myers|first=Ben|title=More on ASPI|url=https://www.drdobbs.com/letters/184409247|page=10|volume=19|issue=5|date=May 1994|journal=Dr. Dobb's Journal|publisher=UBM LLC|archiveurl=https://web.archive.org/web/20241125034059/https://www.drdobbs.com/letters/184409247|archivedate=November 25, 2024|url-status=live}}</ref> |
|||
Adaptec also developed generic SCSI disk and CD-ROM drivers for DOS ({{mono|ASPICD.SYS}} and {{mono|ASPIDISK.SYS}}). |
Adaptec also developed generic SCSI disk and CD-ROM drivers for DOS ({{mono|ASPICD.SYS}} and {{mono|ASPIDISK.SYS}}).<ref name=bookofscsi>{{cite book | last=Ridge | first=Peter M. | date=1995 | url=https://www.google.com/books/edition/The_Book_of_SCSI/etcmAQAAMAAJ?hl=en&gbpv=1&bsq=%22ASPIDISK.SYS%22+%22ASPICD.SYS%22&dq=%22ASPIDISK.SYS%22+%22ASPICD.SYS%22&printsec=frontcover | title=The Book of SCSI: A Guide for Adventurers | publisher=No Starch Press | isbn=9781886411029 | via=Google Books}}</ref>{{rp|60–61}} |
||
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>{{cite journal | last=Thomas | first=Susan G. | date=April 28, 1992 | url=https://books.google.com/books?id=HERlo0BgpGYC&pg=PT32 | title=SCSI Protocol Wars: ASPI, CAM, LADDR | work=PC Magazine | publisher=Ziff-Davis | volume=11 | issue=8 | page=31 | via=Google Books}}</ref> |
|||
Microsoft licensed the interface for use with Windows 9x series. 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]]/[[Windows XP|XP]], in favor of its own SPTI. Users may still download ASPI from Adaptec. A number of CD/DVD applications also continue to offer their own implementations of ASPI layer. |
|||
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]]/[[Windows XP|XP]], in favor of its own SPTI.<ref>{{cite journal | last=Tewell | first=Thomas | date=December 1997 | url=https://www.drdobbs.com/windows/writing-portable-win32-scsi-applications/184410340 | title=Writing Portable Win32 SCSI Applications | work=Dr. Dobb's Journal | publisher=UBM LLC | volume=22 | issue=12 | pages=56–57 | archiveurl=https://web.archive.org/web/20141218172923/https://www.drdobbs.com/windows/writing-portable-win32-scsi-applications/184410340 | archivedate=December 18, 2014}}</ref> |
|||
To support [[Universal Serial Bus|USB]] drives under DOS, [[Panasonic]] developed a universal ASPI driver ({{mono|USBASPI.SYS}}) that bypasses the lack of native USB support by DOS. |
|||
To support [[Universal Serial Bus|USB]] drives under DOS, [[Panasonic]] developed a universal ASPI driver ({{mono|USBASPI.SYS}}) that bypasses the lack of native USB support by DOS.<ref>{{cite book | date=2006 | url=https://www.google.com/books/edition/%E8%BD%AF%E4%BB%B6%E5%AE%89%E8%A3%85%E5%AE%8C%E5%85%A8%E6%89%8B%E5%86%8C/bf6LjPgbE9QC?hl=en&gbpv=1&dq=%22USBASPI.SYS%22&pg=PA130&printsec=frontcover | title=软件安装完全手册 | trans-title=Complete Software Installation Manual | lang=Chinese | publisher=Science Press | page=130 | via=Google Books}}</ref> |
|||
== Driver == |
== Driver == |
||
ASPI was provided by the following drivers |
ASPI was provided by the following drivers: |
||
: |
: |
||
{| class="wikitable" border="1" |
{| class="wikitable" border="1" |
||
|- |
|- |
||
! Operating |
! Operating system |
||
! Driver |
! Driver filename |
||
! Bundled |
! Bundled |
||
|- |
|- |
||
Line 52: | Line 54: | ||
== See also == |
== See also == |
||
* [[SCSI Pass-Through Direct]] (SPTD) |
* [[SCSI Pass-Through Direct]] (SPTD) |
||
* [[SCSI Pass Through Interface]] (SPTI) |
|||
== References == |
== References == |
Revision as of 04:19, 25 November 2024
An editor has nominated this article for deletion. You are welcome to participate in the deletion discussion, which will decide whether or not to retain it. |
![]() | This article includes a list of general references, but it lacks sufficient corresponding inline citations. (June 2009) |
In computing, ASPI (Advanced SCSI Programming Interface) 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.[1]: 55–56 [2]
ASPI structure
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.[1]: 56
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).[1]: 57
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).[1]: 233 ASPI supports concurrent execution of SCSI commands.[3]: 231
History
ASPI was developed by Adaptec around 1989[4] and was formally introduced in January 1990. Originally supporting only MS-DOS,[5] support for NetWare was added in 1991, while support for OS/2 and Windows 3.x was added in 1992.[4][6] Originally developed only for SCSI devices, support for ATAPI devices was added later.[7]: 772 Most other SCSI host adapter vendors (for example BusLogic, DPT, AMI, Future Domain, DTC) shipped their own ASPI managers with their hardware.[8]
Adaptec also developed generic SCSI disk and CD-ROM drivers for DOS (ASPICD.SYS and ASPIDISK.SYS).[3]: 60–61
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.[9]
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.[10]
To support USB drives under DOS, Panasonic developed a universal ASPI driver (USBASPI.SYS) that bypasses the lack of native USB support by DOS.[11]
Driver
ASPI was provided by the following drivers:
Operating system | Driver filename | Bundled |
---|---|---|
MS-DOS | ASPI4DOS.SYS or USBASPI.SYS (USB drives only) | No |
Windows 3.1x | WINASPI.DLL | No |
Windows 95, 98 and ME | WNASPI32.DLL, WINASPI.DLL, APIX.VXD and ASPIENUM.VXD | Yes |
Windows NT, 2000, XP | WNASPI32.DLL, ASPI32.SYS | No |
See also
- SCSI Pass-Through Direct (SPTD)
References
- ^ a b c d Sawert, Brian (1998). The Programmer's Guide to SCSI. Addison-Wesley. pp. 55–102, 233. ISBN 0201185385 – via Google Books.
- ^ White, Myles (May 25, 1995). "Getting your components to work together, part II". The Toronto Star: H3 – via Newspapers.com.
- ^ a b Ridge, Peter M. (1995). The Book of SCSI: A Guide for Adventurers. No Starch Press. ISBN 9781886411029 – via Google Books.
- ^ a b Spain, Patrick J.; James R. Talbot, eds. (1995). Hoover's Handbook of Emerging Compaies 1995: Profiles of America's Most Exciting Growth Enterprises. The Reference Press. p. 118. ISBN 9781878753755 – via Google Books.
- ^ Brownstein, Mark (January 15, 1990). "Adaptec Unveils SCSI Interface Standard". InfoWorld. 12 (3). IDG Publications: 23 – via Google Books.
- ^ Guzman, Ed (June 1992). "ASPI Refines SCSI I/O Routing". Computer Technology Review. 12 (7). West World Publications: 22 – via ProQuest.
- ^ Mueller, Scott (2003). Upgrading and Repairing PCs (14th ed.). Que. pp. 563–564, 771–772. ISBN 9780789727459 – via Google Books.
- ^ Myers, Ben (May 1994). "More on ASPI". Dr. Dobb's Journal. 19 (5). UBM LLC: 10. Archived from the original on November 25, 2024.
- ^ Thomas, Susan G. (April 28, 1992). "SCSI Protocol Wars: ASPI, CAM, LADDR". PC Magazine. 11 (8). Ziff-Davis: 31 – via Google Books.
- ^ Tewell, Thomas (December 1997). "Writing Portable Win32 SCSI Applications". Dr. Dobb's Journal. 22 (12). UBM LLC: 56–57. Archived from the original on December 18, 2014.
- ^ 软件安装完全手册 [Complete Software Installation Manual] (in Chinese). Science Press. 2006. p. 130 – via Google Books.