Claims
- 1. A system comprising:
a memory sub-system comprising:
a plurality of memory cartridges configured to store data; and a device configured to initiate requests to the plurality of memory cartridges in response to an event; and a host controller operably coupled to the memory sub-system and comprising an arbiter operably coupled to the device and the memory cartridges, wherein the arbiter is configured to receive the requests from the device and to schedule the execution of the requests.
- 2. The system, as set forth in claim 1, wherein each of the plurality of memory cartridges comprises a plurality of memory modules.
- 3. The system, as set forth in claim 2, wherein each of the plurality of memory modules comprises a Dual Inline Memory Module (DIMM).
- 4. The system, as set forth in claim 2, wherein each of the plurality of memory modules comprises a plurality of memory devices configured to store data words.
- 5. The system, as set forth in claim 4, wherein each of the plurality of memory devices comprises a Synchronous Dynamic Random Access Memory (SDRAM) device.
- 6. The system, as set forth in claim 1, wherein the memory sub-system comprises five memory modules.
- 7. The system, as set forth in claim 1, wherein one of the memory cartridges is configured to store parity data.
- 8. The system, as set forth in claim 1, wherein each of the plurality of memory cartridges comprises a memory control device configured to control access to one of the plurality of memory cartridges.
- 9. The system, as set forth in claim 8, wherein each of the memory control devices comprises error detection logic configured to detect errors in data which has been read from the plurality of memory cartridges.
- 10. The system, as set forth in claim 1, wherein the device is configured to initiate requests in response to inserting a replacement memory cartridge while the system is operating in a non-redundant mode.
- 11. The system, as set forth in claim 10, wherein the device is configured to initiate a hot-plug procedure to the arbiter in response to the insertion of the replacement memory cartridge.
- 12. The system, as set forth in claim 11, wherein the device is configured to initiate a plurality of initialization requests from the device to the arbiter to initialize the replacement memory cartridge.
- 13. The system, as set forth in claim 12, wherein the device is configured to initiate a plurality of rebuild requests from the device to the arbiter after the plurality of initialization requests, wherein the rebuild requests comprise internal WRITE requests to write rebuilt data to the replacement memory cartridge.
- 14. The system, as set forth in claim 13, wherein the rebuilt data is constructed from data stored in the plurality of memory cartridges.
- 15. The system, as set fort in claim 14, wherein the device is configured to initiate a plurality of verify requests from the device to the arbiter after the plurality of rebuild requests, wherein the verify requests comprise internal READ requests to verify the validity of the rebuilt data written to the replacement memory cartridge during the rebuild.
- 16. The system, as set forth in claim 1, wherein the arbiter is configured to schedule the execution of each of the requests after a number of cycles.
- 17. The system, as set forth in claim 16, wherein the number of cycles is user-selectable.
- 18. A system comprising:
a plurality of memory cartridges; an arbiter configured to schedule access to the plurality of memory cartridges; a verify device configured to initiate a plurality of hot-plug requests to the arbiter in response to a hot-plug event.
- 19. The system, as set forth in claim 18, wherein each of the plurality of memory cartridges comprises a plurality of dual inline memory modules (DIMMs).
- 20. The system, as set forth in claim 18, wherein the arbiter is configured to schedule execution of each of the hot-plug requests after a number of clock cycles N.
- 21. The system, as set forth in claim 20, wherein the number of clock cycles N is user-selectable.
- 22. The system, as set forth in claim 21, comprising a configuration register configured to store the number of clock cycles N.
- 23. The system, as set forth in claim 18, wherein the verify device is configured to initiate a plurality of initialization requests to the arbiter.
- 24. The system, as set forth in claim 18, wherein the verify device is configured to initiate a plurality of rebuild requests to the arbiter.
- 25. The system, as set forth in claim 18, wherein the verify device is configured to initiate a plurality of verify requests to the arbiter.
- 26. An arbiter configured to arbitrate among system requests to a memory system and configured to schedule hot-plug procedure requests generated in response to a hot-plug event at a user selectable increment with respect to the system requests.
- 27. The arbiter, as set forth in claim 26, wherein the user-selectable increment is defined by a programmable configuration register.
- 28. The arbiter, as set forth in claim 26, wherein the hot-plug procedure requests comprise initialization requests.
- 29. The arbiter, as set forth in claim 26, wherein the hot-plug procedure requests comprise rebuild requests.
- 30. The arbiter, as set forth in claim 26, wherein the hot-plug procedure requests comprise verify requests.
- 31. A method of hot-plugging a memory segment comprising the acts of:
receiving a plurality of system requests at an arbiter; receiving a plurality of hot-plug requests at an arbiter; and scheduling each of the plurality of hot-plug requests to be executed at an alternating interval with respect to each of the plurality of system requests.
- 32. The method of hot-plugging a memory segment, as set forth in claim 31, wherein the act of receiving a plurality of system requests comprises the act of receiving a plurality of READ and WRITE requests initiated from one of a processor and a peripheral device.
- 33. The method of hot-plugging a memory segment, as set forth in claim 31, wherein the act of receiving a plurality of hot-plug requests comprises the act of receiving a plurality of initialization requests.
- 34. The method of hot-plugging a memory segment, as set forth in claim 31, wherein the act of receiving a plurality of hot-plug requests comprises the act of receiving a plurality of rebuild requests.
- 35. The method of hot-plugging a memory segment, as set forth in claim 31, wherein the act of receiving a plurality of hot-plug requests comprises the act of receiving a plurality of verify requests.
- 36. The method of hot-plugging a memory segment, as set forth in claim 31, wherein the act of scheduling comprises the act of scheduling each of the plurality of hot-plug requests to be executed at an alternating interval, wherein the alternating interval is user-programmable.
- 37. The method of hot-plugging a memory segment, as set forth in claim 31, wherein the act of scheduling comprises the act of scheduling one of the plurality of hot-plug requests to be executed after executing three of the system requests.
- 38. The method of hot-plugging a memory segment, as set forth in claim 31, comprising the acts of:
selecting an alternating interval; storing the alternating interval in a register; and accessing the register to retrieve the alternating interval for use in scheduling by the arbiter.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is a Continuation-in-part of application number 09769,958 filed on Jan. 25, 2001, which claims priority under 35 U.S.C. §119(e) to provisional application Ser. No. 60/178,108 on Jan. 26, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60178108 |
Jan 2000 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09769958 |
Jan 2001 |
US |
Child |
09966666 |
Sep 2001 |
US |