ATA device control via a packet-based interface
DCFirst Claim
1. A method of controlling an ATA device using packet-based communication between a host and a packet-to-ATA bridge, the method comprisingat the host:
- formatting the ATA register accesses necessary to execute a given ATA register-delivered transaction into a command block; and
transmitting the command block to the packet-to-ATA bridge in a packet format, and at the packet-to-ATA bridge;
parsing the command block into a sequence of ATA operations necessary to execute the given ATA register-delivered transaction;
communicating with an ATA device attached to the bridge via an ATA interface to execute the sequence of ATA operations on the ATA device; and
when the given ATA register-delivered transaction requests the values for one or more registers on the ATA device, returning the register values to the host in packet format.
4 Assignments
Litigations
1 Petition
Accused Products
Abstract
Methods and apparatus for remotely controlling an ATA device via a packet-based interface are disclosed. In one implementation, a remote host constructs command blocks corresponding to the ATA register-delivered commands that it would like executed. These command blocks are packetized and transported to a packet-to-ATA format bridge. At the bridge, each command block is parsed, and appropriate ATA read or write register commands are performed. The bridge performs requested data transfers via the packet-based interface.
This embodiment can allow a non-ATAPI ATA device to connect externally to a host computer, e.g., via a USB plug-and-play packet interface. This can provide inexpensive and portable mass storage capability that does not require internal mounting or external routing of the short ATA cables that are intended for internal use only. Although the host can have access to full ATA register-delivered functionality, it is also freed from the overhead of direct communication with an asynchronous ATA device, including interrupts and polling of that device.
88 Citations
27 Claims
-
1. A method of controlling an ATA device using packet-based communication between a host and a packet-to-ATA bridge, the method comprising
at the host: -
formatting the ATA register accesses necessary to execute a given ATA register-delivered transaction into a command block; and
transmitting the command block to the packet-to-ATA bridge in a packet format, and at the packet-to-ATA bridge;
parsing the command block into a sequence of ATA operations necessary to execute the given ATA register-delivered transaction;
communicating with an ATA device attached to the bridge via an ATA interface to execute the sequence of ATA operations on the ATA device; and
when the given ATA register-delivered transaction requests the values for one or more registers on the ATA device, returning the register values to the host in packet format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of operating a packet-to-ATA bridge, the method comprising:
-
receiving a packet comprising an ATA command block from a remote host, the ATA command block comprising the ATA register accesses necessary to execute a given ATA register-delivered transaction;
parsing the command block into a sequence of ATA register operations necessary to execute the given ATA register-delivered transaction;
communicating with an ATA device attached to the bridge via an ATA interface to execute the sequence of ATA register operations on the ATA device; and
when the given ATA register-delivered transaction requests the values for one or more registers on the ATA device, returning the register values to the host in packet format. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus comprising a packet-to-ATA bridge, the bridge comprising:
-
a packet data interface to receive ATA register-delivered-command packets and data packets from a remote host, and to transmit data and status packets to the remote host;
an ATA interface to transmit ATA bus host signals to an ATA device and receive ATA device signals from the device;
buffer memory to buffer data between the packet data interface and the ATA interface;
an ATA register protocol adapter connected to the ATA interface, the adapter capable of performing ATA register operations with an ATA device attached to the ATA signal interface; and
an ATA command protocol adapter to parse a command packet into a sequence of ATA register operations and cause that sequence of operations to be performed by the ATA register protocol adapter. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. An apparatus comprising a computer-readable medium containing computer instructions that, when executed, cause a processor or multiple communicating processors to perform a method for operating a packet-to-ATA bridging device, the method comprising:
-
receiving a packet comprising an ATA command block from a remote host, the ATA command block comprising the ATA register accesses necessary to execute a given ATA register-delivered transaction;
parsing the command block into a sequence of ATA register operations necessary to execute the given ATA register-delivered transaction;
communicating with an ATA device attached to the bridge via an ATA interface to execute the sequence of ATA register operations on the ATA device; and
when the given ATA register-delivered transaction requests the values for one or more registers on the ATA device, returning the register values to the host in packet format. - View Dependent Claims (25, 26, 27)
-
Specification