Claims
- 1. A storage system, comprising:
a) a local microprocessor; b) a plurality of media controllers, all operably coupled to the local microprocessor; and c) a storage media operably coupled to each media controller of the plurality of media controllers, and in which more than one media controller of the plurality of media controllers start to substantially simultaneously exchange data with the storage media to which it is operably coupled, in response to a command from the local microprocessor.
- 2. The storage system of claim 1, in which the command from the microprocessor is simultaneously sent to all media controllers of the plurality of media controllers.
- 3. The storage system of claim 1, in which the plurality of media controllers is operably coupled to the local microprocessor via a multi-drop parallel bus and in which the local microprocessor sends the command via the multi-drop parallel bus.
- 4. The storage system of claim 1, in which the storage system is a striped storage system.
- 5. A storage system controller for controlling at least one storage media, comprising:
a) a local microprocessor; and b) a plurality of media controllers operably coupled to the local microprocessor via a multi-drop parallel bus, and in which the local microprocessor sends simultaneously one command to the plurality of media controllers to cause more than one media controller of the plurality of media controllers to substantially simultaneously start to exchange data with a storage media to which it is operably coupled.
- 6. The storage system controller of claim 5, in which the multi-drop parallel bus includes a multi-drop parallel data bus and in which the local microprocessor sends the one command via the multi-drop parallel data bus.
- 7. A storage system controller, comprising:
a) a host interface logic; and b) a local microprocessor and a plurality of media controllers, all operably coupled to the host interface logic via a multi-drop parallel bus.
- 8. The storage system controller of claim 7 in which the multi-drop parallel bus further comprises a multi-drop parallel control bus and a multi-drop parallel data bus.
- 9. The storage system controller of claim 8 in which the local microprocessor sends a command to at least two of the plurality of media controllers simultaneously via the multi-drop parallel control bus.
- 10. The storage system controller of claim 8 in which the plurality of media controllers transfers data to the host interface logic via the multi-drop parallel data bus.
- 11. The storage system controller of claim 8 in which the plurality of media controllers transfers data from the host interface logic via the multi-drop parallel data bus.
- 12. The storage system controller of claim 8 in which a media controller transfers data to the host interface logic and upon completion of such transfer, the media controller broadcasts a signal to cause another controller of the plurality of media controllers to transfer other data to the host interface logic.
- 13. The storage system controller of claim 12 in which the media controller broadcasts the signal on the multi-drop parallel data bus, and in which the media controller transfers the data to the host interface logic on the multi-drop parallel data bus.
- 14. The storage system controller of claim 8 in which a media controller transfers data from the host interface logic and upon completion of such transfer, the media controller broadcasts a signal to cause another controller of the plurality of media controllers to transfer other data from the host interface logic.
- 15. The storage system controller of claim 14 in which the media controller broadcasts the signal on the multi-drop parallel data bus, and in which the media controller transfers the data from the host interface logic on the multi-drop parallel data bus.
- 16. The storage system controller of claim 7 including more than one storage media, each of the more than one storage media operably coupled to a separate media controller of the plurality of media controllers, and in which the local microprocessor
a) transforms a host logical block address into a media logical block address, and b) sends the media logical block address to at least two of the more than one media controllers simultaneously via the multi-drop parallel bus.
- 17. The storage system controller of claim 7 including more than one storage media, each of the more than one storage media operably coupled to a separate media controller of the plurality of media controllers, and in which the local microprocessor
a) transforms a host block count into a media block count, and b) sends the media block count to at least two of the more than one media controllers simultaneously via the multi-drop parallel bus.
- 18. The storage system controller of claim 7 in which each media controller of the plurality of the media controllers comprises:
a) a host-side transfer state machine; and b) a dual-port memory operably coupled to the host-side transfer state machine.
- 19. The storage system controller of claim 18 in which the dual-port memory of each media controller of the plurality of the media controllers receives data from the host interface logic at a host interface logic rate.
- 20. The storage system controller of claim 19 in which a media controller includes a media interface circuit operably coupled to the dual-port memory, and in which the dual-port memory and the media interface circuit exchange the data at a different rate than the host interface logic rate.
- 21. The storage system controller of claim 18 in which the dual-port memory of each media controller of the plurality of the media controllers transmits data to the host interface logic at a host interface logic rate.
- 22. The storage system controller of claim 21 in which a media controller includes a media interface circuit operably coupled to the dual-port memory, and in which the dual-port memory and the media interface circuit exchange the data at a different rate than the host interface logic rate.
- 23. The storage system controller of claim 18 in which each media controller of the plurality of the media controllers further comprises a media-side multi-mode transfer state machine operably coupled to the dual-port memory.
- 24. The storage system controller of claim 18 in which each media controller includes a media interface circuit and in which the dual-port memory and the media interface circuit of one media controller exchange data at a first rate while the dual-port memory and the media interface circuit of another media controller exchange other data at a second rate.
- 25. The storage system controller of claim 7 including more than one storage media, each of the more than one storage media operably coupled to a separate media controller of the plurality of media controllers, and in which a media controller broadcasts a signal to more than one of the other media controllers of the plurality of media controllers to cause the more than one of the other media controllers to substantially simultaneously receive a same data from the host interface logic for mirror storage on the more than one storage media.
- 26. The storage system controller of claim 7 including a storage media operably coupled to each media controller of the plurality of media controllers, and in which the local microprocessor sends a command to the plurality of media controllers via the multi-drop parallel bus, and in response to such command, more than one media controller of the plurality of media controllers substantially simultaneously start to exchange data with the storage media to which it is operably coupled.
- 27. The storage system controller of claim 7 including more than one storage media, each of the more than one storage media operably coupled to a separate media controller, and in which the local microprocessor sends one command to one media controller, and, thereafter, sends another command to another media controller, and in response to such commands, the one media controller starts to exchange data with one of the storage media and the other media controller starts to exchange data with another of the storage media, the starting of the one media controller being delayed such that the one media controller and the other media controller start substantially simultaneously.
- 28. In a storage system controller having a plurality of media controllers operably coupled to a multi-drop parallel bus, each media controller pre-assigned a physical controller number, a method comprising the steps of:
a) providing each media controller with a next physical controller number; b) causing one media controller of the plurality of media controllers to transfer data via the multi-drop parallel bus; c) causing the one media controller to announce on the multi-drop parallel bus the next physical controller number; and d) causing another media controller of the plurality of media controllers to transfer data via the multi-drop parallel bus, wherein the pre-assigned physical controller number of the other media controller has a same value as the next physical controller number.
- 29. In a storage system, a method of adjusting signal timing between a media controller and a storage media for a data transfer therebetween, according to parameters stored in the storage media, comprising the steps of:
a) applying power to the data storage system; b) interrogating the storage media to obtain timing information; and c) configuring the media controller to a fastest available access rate setting for the storage media.
- 30. The method of claim 29, in which the step of interrogating includes interrogating the storage media to obtain functional mode information.
- 31. The method of claim 29, in which the step of configuring includes the sub-steps of separately adjusting timing parameters for data setup, enable, and hold portions of a data transfer.
- 32. The method of claim 29, in which the media controller includes a local microprocessor and in which the step of configuring includes the local microprocessor dynamically adjusting the timing parameters for the data setup, enable, and hold portions of the data transfer.
- 33. A storage system controller, comprising:
a) a local microprocessor and a plurality of media controllers, all operably coupled to the local microprocessor via a multi-drop parallel bus, and in which each media controller of the plurality of the media controllers includes: b) a media interface circuit; c) a media-side multi-mode transfer state machine operably coupled to the media interface circuit; and d) a dual-port memory operably coupled to the media-side multi-mode transfer state machine and to the media interface circuit.
- 34. The storage system controller of claim 33 in which the dual-port memory and the media interface circuit of one media controller exchange data at a first rate while the dual-port memory and the media interface circuit of another media controller exchange other data at a second rate.
- 35. A media controller for controlling a storage media, the storage media having media interface protocol parameters stored therein, the media controller comprising:
a) a command sequencer state machine; and b) a control data state machine operably coupled to the command sequencer state machine, for receiving the media interface protocol parameters from the storage media.
- 36. A storage system controller, comprising:
a) a plurality of media controllers, all operably coupled via a multi-drop parallel bus, and in which each media controller of the plurality of the media controllers includes: b) a media-side multi-mode transfer state machine for providing timing and sequencing of transfer of data by the plurality of media controllers; and c) a command sequencer state machine operably coupled to the media-side multi-mode state machine, for performing timing and sequencing of transfer of commands by the plurality of media controllers.
- 37. A storage system controller for controlling transfer of data between a host computer and a plurality of storage media, comprising:
a) a local microprocessor; and b) a plurality of media controllers, all operably coupled via a multi-drop parallel bus, each media controller of the plurality of the media controllers including a parameter storage for storing a parameter, and in which, depending upon a value of the parameter, the storage system controller transfers data directly between one storage media and another storage media without transferring the data to the host computer.
- 38. The storage system controller of claim 37, in which the local microprocessor changes the value of the parameter to initiate the transfer of data directly between the one storage media and the other storage media, and in which the media controllers perform the transfer without further intervention from the microprocessor.
- 39. The storage system controller of claim 37, in which the transfer of data directly between one storage media and another storage media is performed autonomously from the host computer.
- 40. In a storage system, a method of determining a maximum access rate between a media controller and a storage media for a data transfer therebetween, comprising the steps of:
a) transferring test data from the media controller to the storage media at a transfer rate; b) transferring the test data from the storage media to the media controller at the transfer rate; c) increasing the transfer rate; d) comparing the test data transferred in step a) with the test data transferred in step b), and repeating steps a), b) and c) until the test data transferred in step a) is not the test data transferred in step b); and e) configuring the media controller to a fastest access rate setting for the storage media, the fastest access rate being proportional to the fastest transfer rate for which the test data transferred in step a) is identical to the test data transferred in step b).
- 41. The method of claim 40, in which the step of configuring includes the sub-steps of separately adjusting timing parameters for data setup, enable, and hold portions of a data transfer.
- 42. The method of claim 40, in which the media controller includes a local microprocessor and in which the step of configuring includes the local microprocessor dynamically adjusting the timing parameters for the data setup, enable, and hold portions of the data transfer.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to and claims priority of a provisional application entitled “Process T”, filed May 8, 2002, and assigned Serial No. 60/379,035, which application is assigned to the present assignee.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60379035 |
May 2002 |
US |