To provide software support for the ATA specification, EIDE vendors, including disk, CD-ROM, and tape-drive manufacturers, have developed the AT Attachment Software Programming Interface (ATASPI). In general, the goal of ATASPI is to provide an industry-standard API for the EIDE bus in an effort to eliminate incompatibilities between new EIDE devices as this technology develops. More specifically, this allows widespread end-user installation of tape drives. Ultimately, ATASPI will enable plug-and-play addition of tape drives without switching settings or cables.
ATASPI serves as an I/O manager and programming interface for EIDE disk drives and AT Attachment Packet Interface (ATAPI) peripherals, which now share the same bus. DOS and Windows 3 environments lack an I/O manager to serialize requests for access when these devices are connected to the same bus.
The specification covers the application interface to the ATASPI I/O manager. ATASPI has its roots in the Advanced SCSI Programming Interface (ASPI). The API is accessed via a far call (for DOS) or a function call (within Windows) and is passed a structure containing the command packet and the address of the device to process the request. Upon completion, status is passed back through the same structure.
ATASPI is an open specification, available for use by all developers. It was introduced to the standards community by Future Domain (in concert with Western Digital, Sony, Seagate, and others) in December 1994 at the Small Form Factor meeting for ATAPI devices, held in Irvine, CA. In January 1995, the spec was presented at the ANSI X3T10 ATA working group. The ANSI X3T10 group saw ATASPI as a systems-level issue and has formed the Systems Issues study group to address systems-level issues. I serve as secretary of the Systems Issues study group; Duncan Penman of IIX Consulting is the chair.
As with any standards effort, the process is long and involved. The first step is to determine which standards body should deal with each issue. There are bodies that address domestic, international, market, or industry-specific standards. ANSI (American National Standards Institute) is the best known of the domestic organizations, and ISO (International Standards Organization) is the best-known international organization. The rules used by each standards body vary. It is best to be a member of the body selected to study your proposal. If not, you need to enlist an industry consultant or other member company to guide your proposal through the standards process.
Generally, a document must be sponsored by a member and submitted to the body for work. If accepted, the document is assigned to a work group and converted to that body's format. Changes are made, and votes are taken to move the document forward. Group members who have a serious interest in the proposal often lobby behind the scenes. The parent body then reviews the document and any proposed modifications. These changes are voted on and, if approved, are incorporated back into the document.
This process continues until no more modifications are proposed or the number of allowable review cycles is met. At this point, a vote is taken and the document either becomes a standard or is sent back to the working group to address the issues that stalled the document. At various stages the document is made available for public comment, either through publication or on the Internet.
At best, the standards process will take many months. X3T10, for instance, only has two meetings scheduled for the remainder of this year. (To keep up with X3T10 activities, visit the X3 home page at http://www.x3.org/.) Still, several companies are already developing products that incorporate ATASPI, or are ATASPI-aware. If you wish to contribute ideas to the development of ATASPI, or wish to become involved in this standards process, feel free to contact me.