Disk array system, controller, and method for verifying command data written to disk drives
First Claim
1. A method for verifying the integrity of command data passed to an Advanced Technology Attachment (ATA) disk drive, the method comprising:
- writing the command data to a command register block of the ATA disk drive, wherein the command data includes at least one parameter for executing a disk drive command;
prior to initiating execution of the disk drive command by the ATA disk drive, reading the command data back from the command register block and comparing at least a portion of the read-back command data with corresponding command data written to the command register block; and
initiating execution of the disk drive command only if the read-back command data is consistent with the command data written to the command register block.
4 Assignments
0 Petitions
Accused Products
Abstract
A controller and an associated method, which may be embodied within a disk array system, are disclosed for verifying, the integrity of command data written to a disk drive (preferably an Advanced Technology Attachment or ATA drive) before such command data is used to execute a command. The controller, which may be implemented in automated hardware or firmware residing external to the disk drive, initially writes the command data to the disk drive, and then reads back and verifies this data prior to initiating execution of the command. If the written-out and read-back command data are consistent, the controller initiates execution of the command; otherwise, the controller enters into an error state that prevents the potentially corrupt command data from being used by the disk drive. The controller may also read a status code from the disk drive more than once to reduce the likelihood of misread status information.
66 Citations
22 Claims
-
1. A method for verifying the integrity of command data passed to an Advanced Technology Attachment (ATA) disk drive, the method comprising:
-
writing the command data to a command register block of the ATA disk drive, wherein the command data includes at least one parameter for executing a disk drive command;
prior to initiating execution of the disk drive command by the ATA disk drive, reading the command data back from the command register block and comparing at least a portion of the read-back command data with corresponding command data written to the command register block; and
initiating execution of the disk drive command only if the read-back command data is consistent with the command data written to the command register block. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A disk array system, comprising:
-
a plurality of Advanced Technology Attachment (ATA) disk drives;
a plurality of automated controllers, each automated controller including automated circuitry for communicating with a respective ATA disk drive of the plurality of ATA disk drives over a respective connector; and
a processor which dispatches ATA command blocks to the automated controllers according to a disk array configuration to initiate transfers of input/output data between the ATA disk drives and a host computer;
wherein each automated controller verifies the integrity of ATA command block data written to a respective ATA disk drive by reading back command block data from the respective ATA disk drive and checking the command block data prior to initiating execution of a corresponding disk drive command by the respective ATA disk drive. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A controller which is adapted to control an Advanced Technology Attachment (ATA) drive over a connector, the controller comprising:
-
a buffer for transferring input/output (I/O) data between the ATA drive and a bus; and
an automated command/transfer engine which implements a host side of an ATA interface within automated circuitry to control the ATA drive;
wherein the automated command/transfer engine verifies the integrity of command block data written to the ATA drive by reading back and checking the command block data prior to initiating execution of a corresponding disk drive command by the ATA drive. - View Dependent Claims (16, 17)
-
-
18. A method for verifying the integrity of command data passed to a disk drive over a connector, the method comprising:
-
writing the command data to the disk drive over the connector, wherein the command data includes at least one parameter for executing a disk drive command; and
prior to initiating execution of the disk drive command by the disk drive, reading the command data back from the disk drive over the connector, and comparing the read-back command data with the command data written to the disk drive to verify that the command data was successfully written to the disk drive. - View Dependent Claims (19, 20, 21, 22)
-
Specification