Claims
- 1. A disk array controller comprising:
a host interface for connection to a host system; a buffer for storing read and write data; and a disk interface; the disk interface including a plurality of physical ports for attaching disk drives; the disk interface further including a switch that implements selectable data paths between the physical ports and the buffer; and a mapping register for storing mapping data, wherein the switch is configurable in response to the mapping data stored in the mapping register for accessing an array of physical ports defined by the mapping data.
- 2. A disk array controller according to claim 1 wherein the mapping data reflects a striping order among the physical ports and the switch sorts data segments from the physical ports into logical port order.
- 3. A disk array controller according to claim 2 wherein the mapping data defines the striping order in terms of a specified sequence of physical ports.
- 4. A disk array controller according to claim 4 wherein:
the disk interface includes a series of logical ports, each logical port for transferring a corresponding segment of data between the disk interface and the buffer; and the mapping data comprises a plurality of fields that define a desired disk array and striping scheme by specifying an association of each logical port to one of the physical ports.
- 5. A disk array controller according to claim 3 wherein the mapping data are stored in a memory in the controller.
- 6. A disk array controller according to claim 4 wherein the mapping data is organized as a logical mapping register, comprising a field for each logical port, and a value stored in that field indicating the corresponding physical port.
- 7. A disk array controller according to claim 4 wherein the mapping data is organized as a physical mapping register, comprising a field for each physical port of the controller, and a value stored in that field indicating the corresponding logical port.
- 8. A disk array controller according to claim 4 wherein the desired disk array is defined by association of the logical ports to a sub-set of the available physical ports.
- 9. A disk array controller according to claim 4 wherein the mapping register includes a field for indicating whether or not a redundant drive is used in the array to store redundant data.
- 10. A disk array controller according to claim 4 wherein:
the mapping data defines a disk array that includes a number of physical ports equal to one-half the number of logical ports used in data transfer between the disk interface and the buffer; and the switch is dynamically reconfigurable to provide first data paths between a first half of the logical ports and the assigned physical ports for a first disk access, and then provide second data paths between the other half of the logical ports and the assigned physical ports for a second disk access to complete a buffer transfer.
- 11. A disk array controller according to claim 10 wherein the mapping data defines an association of four logical ports to a disk array of two physical ports.
- 12. A disk array controller according to claim 4 wherein:
the mapping data defines a disk array that includes a number of physical ports that is less than the number of logical ports used in data transfer between the disk interface and the buffer; and the switch is dynamically reconfigurable to provide first data paths between a first subset of the logical ports and the assigned physical ports, and then provide second data paths between a second subset of the logical ports and the assigned physical ports.
- 13. A disk array controller according to claim 4 wherein the switch directs disk write data segments from the buffer to the physical ports so as to stripe the data across the defined array as specified in the mapping data.
- 14. A method of broadcasting a command to an array of disk drives, the method comprising the steps of:
storing indicia in a mapping register that define a disk array by identifying a plurality of physical ports; asserting a byte of the command onto the data bus of each of the identified physical ports; asserting a global write strobe to all of the identified physical ports; and responsive to the mapping register contents, selecting only the physical ports included in the defined array, so that only the selected ports respond to the global write strobe by accepting the asserted byte of the command?
- 15. A method of globally reading control status from a disk array comprising:
storing indicia in a mapping register that define a disk array by identifying a plurality of physical ports; broadcasting a single global read strobe to all of the identified physical ports; responsive to the mapping register contents, selecting only the physical ports included in the defined array, so that only the selected ports respond to the global read strobe by returning the requested control status; latching the returned control status in the physical port; and then separately accessing each of the physical ports to obtain the respective control status.
RELATED APPLICATIONS
[0001] This is a continuation of and claims priority from U.S. Provisional Application No. 60/464,892 filed Apr. 21, 2003. Said provisional application is incorporated herein by this reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60464892 |
Apr 2003 |
US |