Claims
- 1. A bus controller comprising:
a storage location; a control circuit coupled to perform an initialization operation when a value indicating the initialization operation is stored in the storage location, the initialization operation being selected from a plurality of memory device initialization operations that the control circuit is capable of performing.
- 2. The bus controller of claim 1 wherein the storage location is a control register, and wherein the bus controller further comprises a data register, and further wherein at least one of the plurality of memory device initialization operations involves data exchange between a memory device control register and the data register.
- 3. The bus controller of claim 2 wherein the data register and the control register are both peripheral component interconnect (PCI) configuration registers.
- 4. The bus controller of claim 2 wherein the control circuit is also coupled to perform the initialization operation in response to the value being loaded into the control register.
- 5. The bus controller of claim 4 wherein the control register includes an initiate initialization operation field, and wherein setting the initiate initialization operation field to a first state causes the bus controller to perform the initialization operation designated by the control register.
- 6. The bus controller of claim 5 wherein the initiate initialization operation field is reset to a second state when the control circuit completes the initialization operation designated by the control register.
- 7. The bus controller of claim 2 wherein the control register comprises:
an initialization opcode (IOP) field for storing the initialization operation; an initiate initialization operation (IIO) field, the IIO field, when set to a first state, causing the control circuit to execute the initialization operation and then clear the IIO field to a second state; an initialization complete (IC) field for indicating whether an initialization process has completed; a broadcast address field which, when set, causes the control circuit to broadcast an IOP to all devices coupled to receive broadcast commands from the bus controller; a device register address (DRA) field for specifying a register address for memory device register read and write operations; and a serial device/channel address (SDA) field for specifying a serial device identification value for a first plurality of IOPs, a group device identification value for a second plurality of IOPs, and a bank address for a third plurality of IOPs.
- 8. The bus controller of claim 2 wherein the initialization operation is a memory device core initialization operation which causes the control circuit to execute, for N iterations on each of a plurality of banks:
a no operation command; a refresh command; a second no operation command; a third and a fourth refresh command; a third, a fourth, and a fifth no operation command; a refresh precharge command; a sixth no operation command; a second refresh precharge command; a first, a second, and a third calibrate command; and a sample command.
- 9. The bus controller of claim 2 wherein the initialization operation is a temperature calibrate enable and then temperature calibrate operation which causes the control circuit to issue a temperature calibrate enable request packet followed by a temperature calibrate request packet to all memory devices.
- 10. The bus controller of claim 2 wherein the initialization operation is a current calibrate and current sample operation which causes the control circuit to send three current calibrate packets followed by one calibrate and sample packet.
- 11. The bus controller of claim 2 wherein the initialization operation is an initialize memory interface operation which causes the control circuit to power up a memory interface of the bus controller, to current and temperature calibrate the memory interface, and to enable a periodic current and temperature calibration of the memory interface.
- 12. The bus controller of claim 2 wherein the plurality of memory device initialization operations include:
a RDRAM register read command; a RDRAM register write command; a RDRAM set reset command; a RDRAM clear reset command; a RDRAM set fast clock mode command; a RDRAM temperature calibrate enable and then temperature calibrate command; a RDRAM Core Initialization (RCI) command; a RDRAM SIO reset command; a RDRAM powerdown exit command; a RDRAM powerdown entry command; a RDRAM current calibrate and current calibrate and sample command; a manual current calibration of memory controller hub (MCH) Rambus ASIC Cell (RAC) command; a load data from the data register into the MCH RAC control register command; an initialize MCH RAC command; a RDRAM nap entry command; a RDRAM nap exit command; a RDRAM refresh command; and a RDRAM precharge command.
- 13. A method comprising:
storing an initialization operand in a first memory controller storage location; performing a memory initialization operation indicated by the initialization operand.
- 14. The method of claim 13 further comprising:
polling a stored value to determine when the initialization operation completes.
- 15. The method of claim 13 further comprising storing data for the initialization operation in a second memory controller storage location.
- 16. The method of claim 15 wherein storing the initialization operand in the first memory controller storage location and storing data in the second memory controller storage location each comprise storing a value in a peripheral component interconnect (PCI) configuration space register.
- 17. The method of claim 16 wherein storing the initialization operand is performed by a basic input output system (BIOS) program.
- 18. A system comprising:
a processor; a memory controller coupled to processor, the memory controller having a control register; a memory bus having a plurality of memory devices coupled thereto, the memory bus being coupled to the memory controller; an additional memory device coupled to the memory controller, the additional memory device being accessible to the memory controller prior to initializing the plurality of memory devices, the additional memory device containing a plurality of instructions which, if executed by the system, cause the system to perform:
storing an initialization operand in the control register; performing an initialization operation indicated by the initialization operand on at least one of the plurality of memory devices.
- 19. The system of claim 18 wherein the additional memory device is a non-volatile memory device and the plurality of instructions are part of a basic input/output system stored in the non-volatile memory device.
- 20. A system comprising:
a processor; a memory bus having a plurality of memory devices coupled thereto; a memory controller coupled to processor and to the memory bus, the memory controller comprising:
a first storage location; a control circuit coupled to perform an initialization operation when a value indicating the initialization operation is stored in the first storage location, the initialization operation being selected from a plurality of memory device initialization operations that the control circuit is capable of performing.
- 21. The system of claim 20 wherein the first storage location is a control register, and wherein the memory controller further comprises a data register, and further wherein at least one of the plurality of memory device initialization operations involves data exchange between a memory device control register and the data register.
- 22. The system of claim 20 further comprising:
an additional memory device coupled to the memory controller, the additional memory device being accessible to the memory controller prior to initializing the plurality of memory devices, the additional memory device containing a plurality of instructions which, if executed by the system, cause the system to perform:
storing an initialization operand indicating the initialization operation in the first storage location; executing the initialization operation indicated by the initialization operand on at least one of the plurality of memory devices.
- 23. The system of claim 22 wherein the first storage location is a control register, and wherein the memory controller further comprises a data register, and further wherein at least one of the plurality of memory device initialization operations involves data exchange between a memory device control register and the data register.
- 24. The system of claim 23 wherein the control register includes an initiate initialization operation field, and wherein setting the initiate initialization operation field to a first state causes the memory controller to perform the initialization operation designated by the control register, and further wherein the plurality of instructions stored in the additional memory device, if executed, further cause the system to perform polling of the initiate initialization operation field to determine when the initialization operation completes.
- 25. An article comprising a machine readable medium having stored thereon a plurality of instructions which, if executed by a machine, cause the machine to perform:
storing an initialization operand in a first memory controller storage location; executing an initialization operation indicated by the initialization operand on at least one of a plurality of memory devices.
- 26. The article of claim 25 wherein the machine readable medium is a storage device.
- 27. The article of claim 25 wherein the machine readable medium is a carrier wave.
RELATED APPLICATIONS
[0001] This application is related to an application Ser. No. ______ (Docket No. P6626), entitled “A Method And Apparatus For Levelizing Transfer Delays For A Channel Of Devices Such As Memory Devices In A Memory Subsystem,” application Ser. No. ______ (Docket No. P6627), entitled “A Method And Apparatus For Configuring And Initializing A Memory Device And A Memory Channel,” and application Ser. No. ______ (Docket No. P6639), entitled “A Method And Apparatus For Restoring A Memory Device Channel When Exiting A Low Power State,” all of which are filed concurrently herewith.