WO1994022089A1 - Peripheral device control through integrated drive electronics - Google Patents
Peripheral device control through integrated drive electronics Download PDFInfo
- Publication number
- WO1994022089A1 WO1994022089A1 PCT/US1994/002887 US9402887W WO9422089A1 WO 1994022089 A1 WO1994022089 A1 WO 1994022089A1 US 9402887 W US9402887 W US 9402887W WO 9422089 A1 WO9422089 A1 WO 9422089A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- ide
- devices
- peripheral
- interface
- drive
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/4226—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Definitions
- This invention is in the field of peripheral device control and relates more specifically to control of data storage devices using an Integrated Drive Electronics (IDE) computer interface.
- IDE Integrated Drive Electronics
- An IDE controller is embodied in one or more Integrated Circuit (IC) chips that are integrated into an IDE peripheral device.
- the IDE controller handles address, data and control signals by means of which it can receive device control commands from a computer equipped with an IDE interface adapter that is compatible with the Industry Standard Architecture (ISA) computer Input/Output (I/O) bus or the Extended Industry Standard Architecture (EISA) computer I/O bus.
- ISA Industry Standard Architecture
- I/O Input/Output
- EISA Extended Industry Standard Architecture
- the IDE computer interface circuitry is integrated into the motherboard of some computers and circuit boards containing the IDE computer interface circuits are available for installation in a connector slot of an ISA or EISA computer I/O bus.
- the IDE referred to repeatedly is the IDE developed by Western Digital Corporation for -Compaq Computer Co., and is fully compatible with ISA or EISA specifications. IDE has been used in the art to denote other and similar systems.
- the IDE controller emulates a prior art disk drive controller standard widely known as ST506, but also known as ST506/412 and ST412.
- ST506 is the only disk drive controller specification known to the applicant to be supported in the Basic Input Output System (BIOS) Read Only Memory (ROM) software of commonly available BIOS ROMs for AT-compatible computers.
- BIOS Basic Input Output System
- ROM Read Only Memory
- a big disadvantage of prior art IDE interfaces is that they are only designed to support the device control and data transfer capabilities of random access magnetic disk drives.
- Such drives feature a three-dimensional storage geometry of multiple recording surfaces and multiple concentric data tracks, also known in the art as cylinders, using incremental step movable head assemblies to access the tracks.
- Each track is arbitrarily divided into a number of sectors, each containing a fixed number of data bits.
- IDE interfaces Another disadvantage of prior art IDE interfaces is that only two drives can be connected to an IDE computer interface.
- CD-ROM Compact Disk Read Only Memory
- SCSI Small Computer System Interface
- Such designs impose an additional electrical and thermal load on the computer power supply and cooling systems and require availability of at least one ISA bus connector slot, thus reducing the number of other ISA bus devices that may be installed in the computer, except in the case of a SCSI compatible device when a SCSI ISA bus adapter is otherwise required in the system.
- Some less expensive magnetic tape drives are designed to interface with the computer via the floppy disk controller. The low data transfer rate characteristic of floppy disk controllers imposes a severe performance penalty and, as the most common floppy disk controllers are limited to two drives, imposes a configuration problem for many systems.
- EIDE Enhanced IDE
- a computer system having a CPU for performing calculations and logic sequences and for directing operations of the system, and RAM memory connected to the CPU for temporary storage of routines and data during operation.
- the computer system has an Integrated Drive Electronics interface for controlling communication between the CPU and two peripheral memory storage devices, one of which is an ST506 specification disk drive.
- the ST506 drive is addressed by the CPU as the primary IDE device.
- the second of the two storage devices is a non- ST506 specification device and is connected to the IDE interface and addressed by the CPU as the secondary IDE device.
- the second device has a microcontroller for translating between the data addressing structure of a conventional ST506 specification device and the data structure of the second device.
- the second device is a CD-ROM drive, and could also be a cartridge tape drive.
- an Enhanced IDE for managing communication between a CPU and peripheral data storage devices.
- the EIDE has integrated circuits for storing and performing control routines, connection to a computer bus, and connection to at least three data storage devices.
- the control means has a selective capability for selecting individual ones of the non-primary devices as secondary devices with a unit select number.
- the invention also encompasses the method of communicating with individual ones of a plurality of non-ST506 specification devices with an enhanced IDE including the selectivity enhancement.
- the invention provides a new ability to include a variety of peripheral data storage devices in a computer system in a reliable and inexpensive manner, and also to utilize existing and standard equipment to a maximum degree.
- Fig. 1 is a block diagram showing connection of a CD-ROM through an IDE interface according to the present invention.
- Fig. 2 is an isometric view of a computer system showing connection of a CD-ROM drive through an IDE interface according to the present invention.
- Fig. 3 is a block diagram showing connection of a cartridge tape drive through an IDE interface according to the present invention.
- Fig. 4 is an isometric view of a computer system showing connection of a cartridge tape drive through an IDE interface according to the present invention.
- Fig. 5 is a block diagram showing connection of components in a computer system having an enhanced IDE interface according to the present invention.
- Fig. 6 is a flow diagram showing the change of states of the system of Fig. 5.
- Fig. 1 is a block diagram illustrating operation of a CD-ROM drive according to the present invention.
- Central Processing Unit (CPU) 11 communicates on conventional computer bus 13 with IDE interface adapter 15, which conventionally handles translation of communication signals between bus 13 and IDE controller 21 in primary device 19, typically via a flat cable 17, although other kinds of multiple-conductor cables may be used .
- a third connector on cable 17 permits connection of a secondary device, which in this embodiment is a CD-ROM drive 25 with a microcontroller 27 according to the present invention.
- Microcontroller 27 translates the data addressing structure of a comparable or greater capacity ST506 specification disk drive to the data addressing structure of CD-ROM 25 and exercises control over its electrical and mechanical functions.
- the data structure of each is well known in the art, and one with ordinary skill in the art is capable of implementing such a translator.
- microcontroller 27 is implemented by means of one or more IC chips that execute a firmware program that is stored somewhere on the CD-ROM device.
- Many IDE magnetic disk drives have the microcontroller firmware stored on the disk in reserved sectors that are not addressable for normal data storage. During the power-on sequence a bootstrap routine reads the firmware from disk into Random Access Memory on the drive controller board.
- ROM Read Only Memory
- microcontroller 27 firmware is provided by means of nonvolatile semiconductor memory such as one of the various types of Read Only Memory (ROM) on the device.
- ROM Read Only Memory
- An EPROM or EEPROM device is an example.
- Firmware for microcontroller 27 enables it to control the IDE bus interface of CD-ROM 25 according to established protocols for IDE devices, known in the art.
- the firmware also translates three-part data addresses transmitted from CPU 11 into corresponding CD-ROM sector addresses and causes the drive mechanism to position the transducer and perform the requested operation.
- Fig. 2 is an isometric drawing of a computer 211 showing the physical connection of an internal CD-ROM drive 223, equipped with a controller such as controller 27 of Fig. 1 and firmware according to the present invention, as a secondary device on IDE interface adapter 213 on motherboard 215 to the ISA bus (not shown) coupled to a motherboard.
- the IDE interface adapter 213 in this embodiment is shown as a single unit, but may be implemented in more than one chip on the motherboard.
- a conventional IDE hard disk 219 is the primary device in this configuration and is connected to the IDE adapter on the motherboard through a separable connector 214 and cable 217.
- a third connector (not shown) on ribbon cable 217 couples CD-ROM 223 to primary drive 219 and hence to IDE interface adapter 213.
- Fig. 3 is a block diagram illustrating operation of a cartridge tape drive according to the present invention.
- CPU 311 communicates on conventional bus 313 with IDE interface adapter 315, which conventionally handles translation of communication signals between the bus and IDE controller 321 on primary device 319, typically via a cable 317.
- a third connector on cable 317 allows connection of a secondary device, which in this embodiment is a cartridge tape drive 325 with a microcontroller 327 according to the present invention.
- Microcontroller 327 translates the data addressing structure of a comparable or greater capacity ST506 specification disk drive to the data addressing structure of the cartridge tape drive.
- microcontroller 327 is an IC chip that executes a firmware program that is stored on the tape drive.
- the tape drive is an interchangeable media device, and the firmware for the microcontroller may not be stored on the tape. Rather it is stored in ROM of some sort, or downloaded from CPU 11, as described above for the implementation of the CD-ROM.
- Firmware for microcontroller 327 causes it to control the IDE bus interface of tape drive 325 according to established protocols for IDE devices.
- the firmware also translates three-part data addresses provided by CPU 311 to the corresponding tape block address and causes the drive mechanism to position the transducer and perform the requested operation.
- Fig. 4 is an isometric drawing of a computer showing the physical connection of an internal cartridge tape drive 423, equipped with a microcontroller 327 (not shown) according to the present invention, as a secondary device on IDE interface adapter 413 coupled to the bus (not shown) through motherboard 415.
- Microcontroller 327 translates the data addressing structure of a comparable or greater capacity ST506 specification disk drive to the data addressing structure of the cartridge tape drive.
- a conventional IDE hard disk 419 is the primary device in this configuration.
- the IDE interface adapter is connected to primary disk drive 419 and cartridge tape drive 423 by ribbon cable 417 through connector 414.
- Fig. 5 is a block diagram showing an EIDE interface according to the present invention wherein CPU 511 communicates with EIDE adapter 515 on bus 513 and through cable 517 to primary peripheral device 519 and a plurality of secondary devices 525, 531 ... 537, each equipped with a microcontroller (527, 529, 523) according to the present invention.
- Boot disk 519 has a controller 521 configured to communicate with adapter 515 as well.
- the IDE controller firmware is enhanced to allow multiple secondary devices to be individually selected as the active drive.
- one primary device and eight secondary devices can be connected to the EIDE adapter and individually addressed by the CPU. It will be apparent, however, to one with skill in the art, that there could be more or fewer secondary devices than the eight in the embodiment described.
- the EIDE is implemented by EIDE microcontroller firmware and by assigning a unique unit number to each secondary device, which may be done in a number of ways.
- the preferred method is to imbed a unit number in the firmware at each peripheral device.
- the unit number may be assigned by means of jumper wires, bridge pins or selector switches on the drive circuit board.
- the secondary devices can be a mix of disk drives, CD-ROM drives, and cartridge tape drives, with each having an EIDE microcontroller controller and firmware to translate between the EIDE protocol and the protocol of the particular device.
- Existing IDE compatible disk drives that store the microcontroller firmware on the disk can be enhanced by means of a utility progra to instruct the controller to overwrite its firmware sectors on the disk with the EIDE firmware transmitted by the program.
- the firmware Prior to transmission, the firmware could be customized with a user specified unit number embedded in the firmware for devices lacking any hardware method of unit number assignment.
- the primary IDE device enters the active state and all secondary devices enter the idle state.
- the primary device enters the idle state according to standard IDE protocol .
- standard IDE protocol In a departure from standard IDE protocol, all EIDE secondary device controllers remain in the idle state.
- the next IDE command, called in the invention Unit Select is a command not defined in the conventional IDE protocol, and causes the EIDE controllers to compare the transmitted Unit Select data value with the device unit number. The device having a matching unit number enters the active state. All other secondary controllers remain in idle, or inactive state. The activated device will thereafter respond to IDE commands in accordance with standard protocols.
- Subsequent Unit Select commands may be issued to switch the active device among the secondary devices. Issuance of the conventional IDE command to select the primary device will force the currently active secondary device into the idle state in conformance with standard IDE practice. It will be apparent to one with skill in the art that existing IDE disk drives may be used, without alteration, as primary devices in conjunction with EIDE secondary devices.
- Fig. 6 is a flow diagram illustrating the change of states and general commands issued by the EIDE in the present invention. Beginning at state 611, communication is between the computer bus and the primary device. The EIDE firmware monitors the computer bus for a request to communicate with a secondary device (613). If no request is forthcoming, communication with the primary device is maintained.
- the EIDE sends a command on the peripheral connection cable to deactivate the primary and enable the secondary devices (615).
- the EIDE then sends the Unit Select command (617).
- the Unit Select command causes the device having the unit number to become active (621), and communication proceeds with the secondary device, S ⁇ .
- the EIDE continues to monitor the computer bus and the primary and secondary devices continue to monitor the peripheral cable. If communication with a different secondary device is required, and communication with a secondary is in progress, the EIDE notes the new request on the bus (621 ) and sends a new unit number (617), causing the activity to shift from the secondary with the original number to the secondary with the new number (619).
- the EIDE notes a primary request on the bus (623), it sends the command to deactivate the primary device and activate the primary. The state then goes back to communication with the primary (611).
Abstract
An IDE interface (15) communicates with peripheral devices (25) not conforming to ST506 specification by providing firmware to microcontrollers (27) mounted on the non-conforming peripheral devices (25) to translate between the data structure of an ST506 specification device and the data structure of the non-conforming device. CD-ROM and cartridge tape drive communication is provided. An enhanced IDE interface communicates with multiple peripheral devices by adding a selective ability to the firmware of the conventional IDE interface (25).
Description
Peripheral Device Control through Integrated Drive Electronics
Field of the Invention
This invention is in the field of peripheral device control and relates more specifically to control of data storage devices using an Integrated Drive Electronics (IDE) computer interface.
Background of the Invention
An IDE controller is embodied in one or more Integrated Circuit (IC) chips that are integrated into an IDE peripheral device. The IDE controller handles address, data and control signals by means of which it can receive device control commands from a computer equipped with an IDE interface adapter that is compatible with the Industry Standard Architecture (ISA) computer Input/Output (I/O) bus or the Extended Industry Standard Architecture (EISA) computer I/O bus. The IDE computer interface circuitry is integrated into the motherboard of some computers and circuit boards containing the IDE computer interface circuits are available for installation in a connector slot of an ISA or EISA computer I/O bus. In the present invention the IDE referred to repeatedly is the IDE developed by Western Digital Corporation for -Compaq Computer Co., and is fully compatible with ISA or EISA specifications. IDE has been used in the art to denote other and similar systems.
As a subset of its computer interface logic, the IDE controller emulates a prior art
disk drive controller standard widely known as ST506, but also known as ST506/412 and ST412. ST506 is the only disk drive controller specification known to the applicant to be supported in the Basic Input Output System (BIOS) Read Only Memory (ROM) software of commonly available BIOS ROMs for AT-compatible computers. This compatibility with disk control software that is built into every AT-compatible computer, along with fewer, or smaller and less complicated, circuit boards and fewer interconnect cables, gives IDE a distinct cost advantage over other disk drive interface technologies. At the time of this application, AT-compatible computers with built-in IDE adapters and magnetic disk drives with built-in IDE controllers are widely available from numerous manufacturers.
A big disadvantage of prior art IDE interfaces is that they are only designed to support the device control and data transfer capabilities of random access magnetic disk drives. Such drives feature a three-dimensional storage geometry of multiple recording surfaces and multiple concentric data tracks, also known in the art as cylinders, using incremental step movable head assemblies to access the tracks. Each track is arbitrarily divided into a number of sectors, each containing a fixed number of data bits.
Another disadvantage of prior art IDE interfaces is that only two drives can be connected to an IDE computer interface. One known as the primary drive, which is generally the "boot" drive, and the other the secondary
drive.
Manufacturers of devices that store data using some other geometries, such as the Compact Disk Read Only Memory (CD-ROM) with a single track spiral geometry, have been deterred from taking advantage of the high performance and low cost of the IDE interface, at least in part, by the two-drive limitation of IDE. They have usually developed a proprietary ISA bus interface adapter or have implemented a device controller compatible with the Small Computer System Interface (SCSI) controllers. Some designs incorporate a SCSI controller in the CD- ROM drive chassis and interface the SCSI controller to the computer through an ISA bus parallel printer adapter. Such designs impose an additional electrical and thermal load on the computer power supply and cooling systems and require availability of at least one ISA bus connector slot, thus reducing the number of other ISA bus devices that may be installed in the computer, except in the case of a SCSI compatible device when a SCSI ISA bus adapter is otherwise required in the system. Some less expensive magnetic tape drives are designed to interface with the computer via the floppy disk controller. The low data transfer rate characteristic of floppy disk controllers imposes a severe performance penalty and, as the most common floppy disk controllers are limited to two drives, imposes a configuration problem for many systems.
What is clearly needed is an Enhanced IDE (EIDE) interface that can provide I/O access to addressable block storage locations on devices
other than magnetic disk drives such as CD-ROMs, writable Compact Disk devices, and can handle a multiplicity of secondary peripheral devices.
Summary of the Invention
A computer system is provided according to the present invention having a CPU for performing calculations and logic sequences and for directing operations of the system, and RAM memory connected to the CPU for temporary storage of routines and data during operation. The computer system has an Integrated Drive Electronics interface for controlling communication between the CPU and two peripheral memory storage devices, one of which is an ST506 specification disk drive. The ST506 drive is addressed by the CPU as the primary IDE device. The second of the two storage devices is a non- ST506 specification device and is connected to the IDE interface and addressed by the CPU as the secondary IDE device.
The second device has a microcontroller for translating between the data addressing structure of a conventional ST506 specification device and the data structure of the second device.
In one embodiment the second device is a CD-ROM drive, and could also be a cartridge tape drive.
In another embodiment of the invention an Enhanced IDE (EIDE) is provided for managing communication between a CPU and peripheral data storage devices. The EIDE has integrated circuits for storing and performing control
routines, connection to a computer bus, and connection to at least three data storage devices. There is also a control means as a part of the EIDE for receiving commands and data from the computer bus and for sending commands and sending data to and receiving data from the peripheral devices. The control means has a selective capability for selecting individual ones of the non-primary devices as secondary devices with a unit select number.
The invention also encompasses the method of communicating with individual ones of a plurality of non-ST506 specification devices with an enhanced IDE including the selectivity enhancement.
The invention provides a new ability to include a variety of peripheral data storage devices in a computer system in a reliable and inexpensive manner, and also to utilize existing and standard equipment to a maximum degree.
Brief Description of the Drawings
Fig. 1 is a block diagram showing connection of a CD-ROM through an IDE interface according to the present invention.
Fig. 2 is an isometric view of a computer system showing connection of a CD-ROM drive through an IDE interface according to the present invention.
Fig. 3 is a block diagram showing connection of a cartridge tape drive through an IDE interface according to the present invention.
Fig. 4 is an isometric view of a computer system showing connection of a cartridge tape drive through an IDE interface according to the present invention.
Fig. 5 is a block diagram showing connection of components in a computer system having an enhanced IDE interface according to the present invention.
Fig. 6 is a flow diagram showing the change of states of the system of Fig. 5.
Description of the Preferred Embodiments
CD-ROM Drive Using IDE Interface
Fig. 1 is a block diagram illustrating operation of a CD-ROM drive according to the present invention. Central Processing Unit (CPU) 11 communicates on conventional computer bus 13 with IDE interface adapter 15, which conventionally handles translation of communication signals between bus 13 and IDE controller 21 in primary device 19, typically via a flat cable 17, although other kinds of multiple-conductor cables may be used . A third connector on cable 17 permits connection of a secondary device, which in this embodiment is a CD-ROM drive 25 with a microcontroller 27 according to the present invention. Microcontroller 27 translates the data addressing structure of a comparable or greater capacity ST506 specification disk drive to the data addressing structure of CD-ROM 25 and exercises control over its electrical and mechanical functions. The data structure of each is well known in the art, and one with ordinary skill in the art is capable of implementing such a translator.
In one embodiment, microcontroller 27 is implemented by means of one or more IC chips that execute a firmware program that is stored somewhere on the CD-ROM device. Many IDE magnetic disk drives have the microcontroller firmware stored on the disk in reserved sectors that are not addressable for normal data storage. During the power-on sequence a
bootstrap routine reads the firmware from disk into Random Access Memory on the drive controller board. For interchangeable media devices such as CD-ROM drives this approach is not feasible, because there are no sectors that may be reserved in the sense of a disk configuration. For interchangeable media devices, including CD-ROM drives, microcontroller 27 firmware is provided by means of nonvolatile semiconductor memory such as one of the various types of Read Only Memory (ROM) on the device. An EPROM or EEPROM device is an example. Alternatively there may be a small portion of firmware on the peripheral device to allow downloading of the balance of the firmware from CPU 11.
Firmware for microcontroller 27 enables it to control the IDE bus interface of CD-ROM 25 according to established protocols for IDE devices, known in the art. The firmware also translates three-part data addresses transmitted from CPU 11 into corresponding CD-ROM sector addresses and causes the drive mechanism to position the transducer and perform the requested operation.
Fig. 2 is an isometric drawing of a computer 211 showing the physical connection of an internal CD-ROM drive 223, equipped with a controller such as controller 27 of Fig. 1 and firmware according to the present invention, as a secondary device on IDE interface adapter 213 on motherboard 215 to the ISA bus (not shown) coupled to a motherboard. The IDE interface adapter 213 in this embodiment is shown as a single unit, but may be implemented in more than
one chip on the motherboard.
A conventional IDE hard disk 219 is the primary device in this configuration and is connected to the IDE adapter on the motherboard through a separable connector 214 and cable 217. A third connector (not shown) on ribbon cable 217 couples CD-ROM 223 to primary drive 219 and hence to IDE interface adapter 213.
Cartridge Tape Drive Using IDE Interface
Fig. 3 is a block diagram illustrating operation of a cartridge tape drive according to the present invention. CPU 311 communicates on conventional bus 313 with IDE interface adapter 315, which conventionally handles translation of communication signals between the bus and IDE controller 321 on primary device 319, typically via a cable 317. A third connector on cable 317 allows connection of a secondary device, which in this embodiment is a cartridge tape drive 325 with a microcontroller 327 according to the present invention. Microcontroller 327 translates the data addressing structure of a comparable or greater capacity ST506 specification disk drive to the data addressing structure of the cartridge tape drive.
In another embodiment, microcontroller 327 is an IC chip that executes a firmware program that is stored on the tape drive. As in the case of the CD-ROM drive described above, the tape drive is an interchangeable media device, and the firmware for the microcontroller may not be stored on the tape. Rather it is stored in ROM of some sort, or downloaded from CPU 11, as
described above for the implementation of the CD-ROM.
Firmware for microcontroller 327 causes it to control the IDE bus interface of tape drive 325 according to established protocols for IDE devices. The firmware also translates three-part data addresses provided by CPU 311 to the corresponding tape block address and causes the drive mechanism to position the transducer and perform the requested operation.
Fig. 4 is an isometric drawing of a computer showing the physical connection of an internal cartridge tape drive 423, equipped with a microcontroller 327 (not shown) according to the present invention, as a secondary device on IDE interface adapter 413 coupled to the bus (not shown) through motherboard 415. Microcontroller 327 translates the data addressing structure of a comparable or greater capacity ST506 specification disk drive to the data addressing structure of the cartridge tape drive. A conventional IDE hard disk 419 is the primary device in this configuration. The IDE interface adapter is connected to primary disk drive 419 and cartridge tape drive 423 by ribbon cable 417 through connector 414.
Multiple Secondary Devices Using EIDE Interface
Fig. 5 is a block diagram showing an EIDE interface according to the present invention wherein CPU 511 communicates with EIDE adapter 515 on bus 513 and through cable 517 to primary peripheral device 519 and a plurality of secondary devices 525, 531 ... 537, each
equipped with a microcontroller (527, 529, 523) according to the present invention. Boot disk 519 has a controller 521 configured to communicate with adapter 515 as well. In this embodiment of the invention, the IDE controller firmware is enhanced to allow multiple secondary devices to be individually selected as the active drive.
In the preferred mode for this embodiment, one primary device and eight secondary devices can be connected to the EIDE adapter and individually addressed by the CPU. It will be apparent, however, to one with skill in the art, that there could be more or fewer secondary devices than the eight in the embodiment described.
In the preferred embodiment the EIDE is implemented by EIDE microcontroller firmware and by assigning a unique unit number to each secondary device, which may be done in a number of ways. The preferred method is to imbed a unit number in the firmware at each peripheral device. In alternative embodiments the unit number may be assigned by means of jumper wires, bridge pins or selector switches on the drive circuit board.
In the EIDE according to the present invention, the secondary devices can be a mix of disk drives, CD-ROM drives, and cartridge tape drives, with each having an EIDE microcontroller controller and firmware to translate between the EIDE protocol and the protocol of the particular device. Existing IDE compatible disk drives that store the microcontroller firmware on the disk can be enhanced by means of a utility
progra to instruct the controller to overwrite its firmware sectors on the disk with the EIDE firmware transmitted by the program. Prior to transmission, the firmware could be customized with a user specified unit number embedded in the firmware for devices lacking any hardware method of unit number assignment.
At Powet—on or Reset after completing the self-test routines in the microcontroller firmware the primary IDE device enters the active state and all secondary devices enter the idle state. When the CPU issues the IDE command to select the secondary device, the primary device enters the idle state according to standard IDE protocol . In a departure from standard IDE protocol, all EIDE secondary device controllers remain in the idle state. The next IDE command, called in the invention Unit Select, is a command not defined in the conventional IDE protocol, and causes the EIDE controllers to compare the transmitted Unit Select data value with the device unit number. The device having a matching unit number enters the active state. All other secondary controllers remain in idle, or inactive state. The activated device will thereafter respond to IDE commands in accordance with standard protocols.
Subsequent Unit Select commands may be issued to switch the active device among the secondary devices. Issuance of the conventional IDE command to select the primary device will force the currently active secondary device into the idle state in conformance with standard IDE practice. It will be apparent to one with skill
in the art that existing IDE disk drives may be used, without alteration, as primary devices in conjunction with EIDE secondary devices.
Fig. 6 is a flow diagram illustrating the change of states and general commands issued by the EIDE in the present invention. Beginning at state 611, communication is between the computer bus and the primary device. The EIDE firmware monitors the computer bus for a request to communicate with a secondary device (613). If no request is forthcoming, communication with the primary device is maintained.
If (and when) there is a request on the bus for communication with a secondary device, including data to identify the particular device, the EIDE sends a command on the peripheral connection cable to deactivate the primary and enable the secondary devices (615). The EIDE then sends the Unit Select command (617). The Unit Select command causes the device having the unit number to become active (621), and communication proceeds with the secondary device, S^.
Meanwhile the EIDE continues to monitor the computer bus and the primary and secondary devices continue to monitor the peripheral cable. If communication with a different secondary device is required, and communication with a secondary is in progress, the EIDE notes the new request on the bus (621 ) and sends a new unit number (617), causing the activity to shift from the secondary with the original number to the secondary with the new number (619).
If the EIDE notes a primary request on the bus (623), it sends the command to deactivate
the primary device and activate the primary. The state then goes back to communication with the primary (611).
It will be apparent to a worker with skill in the art that there are many changes that might be made in the embodiments disclosed above without departing from the spirit and scope of the invention. Several have been noted, such as the fact that with an EIDE interface according to the invention, there may be one or many more than one peripheral devices connected to an EIDE interface and addressed individually by a Unit Select command. CD-ROM drives, disk drives, and cartridge drives have been listed and described as connected to an EIDE interface according to the invention, but other types might also be connected, such as flash card memory units as known in the art. It is only necessary that a microcontroller be installed with the device to accomplish the necessary command translation, and to store the Unit Select command device number for addressing purposes. There are similarly many other alterations that might be made without departing from the spirit and scope of the invention.
Claims
1. A computer system comprising:
CPU means for performing calculations and logic sequences, and for directing operations of said system;
RAM memory means connected to said CPU means for temporary storage of routines and data during operation; an Integrated Device Electronics (IDE) interface for controlling communication between said CPU and two peripheral memory storage devices, a first of said devices being an ST506 specification disk drive addressed by the CPU as the primary IDE device, and a second of said devices being a peripheral memory storage device with a data structure other than ST506 specification, said second device connected to the IDE interface and addressed by the CPU as the secondary device; said second device comprising a microcontroller means for translating between the data addressing structure of a conventional ST506 disk drive and the data structure of said second device.
2. A computer system as in claim 1 wherein said second device is a CD-ROM drive.
3. A CD-ROM data storage device comprising: drive means for mounting and driving a CD- ROM disk; reading means for accessing data stored on said CD-ROM disk; and microcontroller means for receiving com ands from said CPU and managing operations of said drive means and said reading means in response to the commands; said microcontroller means comprising firmware means for translating between the data addressing structure of a conventional ST506 disk drive and the data address structure of said CD-ROM disk.
4. An Enhanced Integrated Drive Electronics (EIDE) interface system for managing communication between a computer bus and peripheral data storage devices comprising: integrated circuits for storing and performing control routines; first connective means for connecting said integrated circuits to a computer bus; second connective means for connecting said integrated circuits to at least three of said peripheral data storage devices; and control means for receiving commands and data from said computer bus via said first connective means, and for sending commands and sending and receiving data to said at least three of said peripheral data storage devices through said second connective means; said control means comprising selective means for selecting one of said at least three peripheral data storage devices as a primary device, and each of the remaining peripheral devices individually as a secondary device with a Unit Select number.
5. In a computer system having a CPU, an internal bus structure, and three or more peripheral data storage devices, one of said peripheral data storage devices being an ST506 specification disk drive, a method of addressing and communicating with the peripheral devices comprising the steps of: enhancing an Integrated Drive Electronics (IDE) peripheral device interface by adding a selective means to the firmware of the IDE, said selective means comprising a command for sending a unit select number to said three or more peripheral data storage devices to select one of said three or more devices as active secondary device in the IDE protocol; connecting said enhanced IDE interface between said CPU and said three or more peripheral data storage devices, said EIDE interface having a first connective means for connecting to said internal bus structure and a second connective means for connecting to said three or more peripheral data storage devices; sending requests on said bus to said enhanced IDE interface to select said ST506 specification disk drive as the IDE primary drive; and sending requests on said bus to said enhanced IDE interface to select non-primary devices of said three or more peripheral data storage devices as secondary devices, said secondary requests comprising a unit select number recognizable by individual ones of said non-primary devices.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3383993A | 1993-03-19 | 1993-03-19 | |
US08/033,839 | 1993-03-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1994022089A1 true WO1994022089A1 (en) | 1994-09-29 |
Family
ID=21872761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1994/002887 WO1994022089A1 (en) | 1993-03-19 | 1994-03-11 | Peripheral device control through integrated drive electronics |
Country Status (2)
Country | Link |
---|---|
US (2) | US5805921A (en) |
WO (1) | WO1994022089A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2372872A (en) * | 2001-03-03 | 2002-09-04 | John Eric Dowell | Computer hard drive rack |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994022089A1 (en) * | 1993-03-19 | 1994-09-29 | Oakleigh Systems, Inc. | Peripheral device control through integrated drive electronics |
US6539442B1 (en) | 1993-07-28 | 2003-03-25 | Mitsumi Electric Co., Ltd. | Selecting a CD-ROM apparatus connected in cascade with a hard disk by a CD-ROM driver switching a drive selection bit in an IDE interface |
US5581715A (en) * | 1994-06-22 | 1996-12-03 | Oak Technologies, Inc. | IDE/ATA CD drive controller having a digital signal processor interface, dynamic random access memory, data error detection and correction, and a host interface |
US6058459A (en) * | 1996-08-26 | 2000-05-02 | Stmicroelectronics, Inc. | Video/audio decompression/compression device including an arbiter and method for accessing a shared memory |
US5832418A (en) * | 1997-06-23 | 1998-11-03 | Micron Electronics | Apparatus for testing a controller with random contraints |
US6076180A (en) | 1997-06-23 | 2000-06-13 | Micron Electronics, Inc. | Method for testing a controller with random constraints |
US6058604A (en) * | 1997-11-15 | 2000-05-09 | Goodfellow; Tony | Cable for allowing mass storage device address selection |
US6460099B1 (en) * | 1999-07-14 | 2002-10-01 | Hewlett-Packard Company | Apparatus for expansion of single channel AT Attachment/IDE interface |
US6772108B1 (en) * | 1999-09-22 | 2004-08-03 | Netcell Corp. | Raid controller system and method with ATA emulation host interface |
US6438368B1 (en) * | 2000-03-30 | 2002-08-20 | Ikadega, Inc. | Information distribution system and method |
US6553433B1 (en) * | 2000-04-12 | 2003-04-22 | Cheng-Chun Chang | IDE interface adapter |
US6697867B1 (en) | 2000-07-25 | 2004-02-24 | Sun Microsystems, Inc. | System and method for accessing multiple groups of peripheral devices |
US6845409B1 (en) * | 2000-07-25 | 2005-01-18 | Sun Microsystems, Inc. | Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices |
US20020085497A1 (en) * | 2000-12-28 | 2002-07-04 | Phillips Robert C. | Non-volatile data storage to cell-based switch fabric interface |
US6868460B1 (en) * | 2001-06-05 | 2005-03-15 | Silicon Motion, Inc. | Apparatus for CD with independent audio functionality |
GB0116686D0 (en) * | 2001-07-07 | 2001-08-29 | Hewlett Packard Co | Data backup |
US7007152B2 (en) * | 2001-12-28 | 2006-02-28 | Storage Technology Corporation | Volume translation apparatus and method |
US20040133725A1 (en) * | 2003-01-02 | 2004-07-08 | Kuang-Shyr Wu | Intelligent IDE master-slave selector |
US6925505B2 (en) * | 2003-02-26 | 2005-08-02 | Epo Science & Technology Inc. | Method and device for data transmission control between IDE apparatuses |
US8346803B2 (en) * | 2003-12-12 | 2013-01-01 | Knapp Investment Company Limited | Dynamic generation of target files from template files and tracking of the processing of target files |
US7320007B1 (en) * | 2003-12-12 | 2008-01-15 | Peter Hon-You Chang | Dynamic generation of target files from template files and tracking of the processing of target files |
US20080126752A1 (en) * | 2006-08-02 | 2008-05-29 | Baker Steven T | Dual-processor communication |
JP5286192B2 (en) * | 2009-08-12 | 2013-09-11 | 株式会社日立製作所 | Management computer for managing storage system capacity and storage system capacity management method |
IT201900016340A1 (en) * | 2019-09-16 | 2021-03-16 | Lgl Electronics Spa | EQUIPMENT FOR FEEDING YARN FROM A PLURALITY OF STACKS OF YARN FEEDERS TO A TEXTILE MACHINE |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150465A (en) * | 1988-11-30 | 1992-09-22 | Compaq Computer Corporation | Mode-selectable integrated disk drive for computer |
US5233594A (en) * | 1991-05-02 | 1993-08-03 | Wilhelm Joseph R | Easily installable removable integrated hard disk and controller |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4805090A (en) * | 1985-09-27 | 1989-02-14 | Unisys Corporation | Peripheral-controller for multiple disk drive modules having different protocols and operating conditions |
US5077683A (en) * | 1990-01-10 | 1991-12-31 | Procom Technology, Inc. | Expansion slot adapter with embedded data device interface |
US5018095A (en) * | 1990-02-15 | 1991-05-21 | Seagate Technology, Inc. | Universal disk drive type emulation for IBM PC-AT computers |
JP2831087B2 (en) * | 1990-03-19 | 1998-12-02 | 株式会社日立製作所 | Data storage system |
US5104237A (en) * | 1990-11-08 | 1992-04-14 | Advanced Engineering Systems Operations & Products, Inc. (Aesop) | Self-compensating hydrostatic linear motion bearing |
EP0484905A3 (en) * | 1990-11-09 | 1994-12-14 | Brier Technology | Interface for disk drives |
US5446877A (en) * | 1990-11-13 | 1995-08-29 | Nakamichi Peripherals Corporation | Method and apparatus for operation of a data archival apparatus allowing for coupling of the data archival device with an ide interface |
EP0507503A3 (en) * | 1991-04-05 | 1993-09-29 | International Business Machines Corporation | Method and apparatus for directly and automatically accessing a bank of data storage devices with a computer |
US5663901A (en) * | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
GB9108599D0 (en) * | 1991-04-22 | 1991-06-05 | Pilkington Micro Electronics | Peripheral controller |
US5265208A (en) * | 1991-04-30 | 1993-11-23 | Hewlett-Packard Company | Addressable computer tape drive activation system |
US5530960A (en) * | 1991-12-17 | 1996-06-25 | Dell Usa, L.P. | Disk drive controller accepting first commands for accessing composite drives and second commands for individual diagnostic drive control wherein commands are transparent to each other |
US5239632A (en) * | 1992-04-16 | 1993-08-24 | Hewlett-Packard Company | Device to translate logical unit number communications on one SCSI bus to ID communications on a subordinate SCSI bus |
US5295247A (en) * | 1992-04-17 | 1994-03-15 | Micronics Computers, Inc. | Local IDE (integrated drive electronics) bus architecture |
US5297124A (en) * | 1992-04-24 | 1994-03-22 | Miltope Corporation | Tape drive emulation system for a disk drive |
AU4802093A (en) * | 1992-08-10 | 1994-03-03 | Advanced Logic Research, Inc. | Computer interface for concurrently performing plural seeks on plural disk drives |
WO1994022089A1 (en) * | 1993-03-19 | 1994-09-29 | Oakleigh Systems, Inc. | Peripheral device control through integrated drive electronics |
-
1994
- 1994-03-11 WO PCT/US1994/002887 patent/WO1994022089A1/en active Application Filing
-
1995
- 1995-07-11 US US08/595,678 patent/US5805921A/en not_active Expired - Fee Related
-
1998
- 1998-06-04 US US09/090,509 patent/US5964848A/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5150465A (en) * | 1988-11-30 | 1992-09-22 | Compaq Computer Corporation | Mode-selectable integrated disk drive for computer |
US5233594A (en) * | 1991-05-02 | 1993-08-03 | Wilhelm Joseph R | Easily installable removable integrated hard disk and controller |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2372872A (en) * | 2001-03-03 | 2002-09-04 | John Eric Dowell | Computer hard drive rack |
Also Published As
Publication number | Publication date |
---|---|
US5964848A (en) | 1999-10-12 |
US5805921A (en) | 1998-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5805921A (en) | Enhanced integrated device electronics (EIDE) interface for controlling communication between CPU and nine storage drives including tape drive, CD-ROM drive, and seven hard disk drives | |
US5812814A (en) | Alternative flash EEPROM semiconductor memory system | |
EP0044949B1 (en) | Dynamic peripheral device address assignment method and unit | |
US6772108B1 (en) | Raid controller system and method with ATA emulation host interface | |
US5038320A (en) | Computer system with automatic initialization of pluggable option cards | |
CA1335843C (en) | Programmable option select | |
US5073854A (en) | Data processing system with search processor which initiates searching in response to predetermined disk read and write commands | |
US5721840A (en) | Information processing apparatus incorporating automatic SCSI ID generation | |
US7007127B2 (en) | Method and related apparatus for controlling transmission interface between an external device and a computer system | |
WO2001022221A1 (en) | Raid controller system and method with ata emulation host interface | |
EP1308955B1 (en) | Electronic data library system | |
JPH10207637A (en) | Method for allowing computer to communicate with data storage device and constitution for the same | |
US5649233A (en) | Apparatus for flexibly selecting primary and secondary connectors and master and slave cascaded disk drives of an IDE interface | |
US6212587B1 (en) | Device proxy agent for hiding computing devices on a computer bus | |
JP3279248B2 (en) | Switch mechanism, disk array device having the same, and computer system | |
SK226291A3 (en) | Personal computer with identification of exchangeable memory medium | |
JP2892910B2 (en) | Disk array system | |
SK226191A3 (en) | Personal computer with identification of type of memory device with straight selection | |
US20020083221A1 (en) | Universal disk array controller | |
US5023831A (en) | Intelligent disk drive having configurable controller subsystem providing drive-status information via host-computer expansion bus | |
US5261115A (en) | Multi-board system with shift board selection | |
EP0663088B1 (en) | Method of communicating with an scsi bus device that does not have an assigned scsi address | |
EP1077400B1 (en) | Transparent status interface | |
WO1998021640A1 (en) | Hot swapable drive/dock with software drivers for ide interface | |
US20150348651A1 (en) | Multiple access test architecture for memory storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase |