Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Advanced SCSI Programming Interface
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Computer software for connecting SCSI devices}} The '''Advanced SCSI Programming Interface''' ('''ASPI''') 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> == 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.<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).<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).<ref name=guide />{{rp|233}} ASPI supports concurrent execution of SCSI commands.<ref name=bookofscsi />{{rp|231}} == 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}}).<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> 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.<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> == Drivers == ASPI was provided by the following drivers: : {| class="wikitable" border="1" |- ! Operating system ! Driver filename ! Bundled |- | MS-DOS | {{mono|ASPI4DOS.SYS}} or {{mono|USBASPI.SYS}} (USB drives only) | {{no}} |- | Windows 3.1x | {{mono|WINASPI.DLL}} | {{no}} |- | [[Windows 95]], [[Windows 98|98]] and [[Windows ME|ME]] | {{mono|WNASPI32.DLL}}, {{mono|WINASPI.DLL}}, {{mono|APIX.VXD}} and {{mono|ASPIENUM.VXD}} | {{yes}} |- | Windows NT, 2000, XP | {{mono|WNASPI32.DLL}}, {{mono|ASPI32.SYS}} | {{no}} |} == See also == * [[SCSI Pass-Through Direct]] (SPTD) == References == {{Reflist}} [[Category:Application programming interfaces]] [[Category:SCSI]] [[Category:AT Attachment]] [[Category:Device drivers]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Mono
(
edit
)
Template:No
(
edit
)
Template:Reflist
(
edit
)
Template:Rp
(
edit
)
Template:Short description
(
edit
)
Template:Yes
(
edit
)