A hot-pluggable memory cartridge for use in a redundant memory system. More specifically, the control logic and method for implementing a plurality of memory cartridges which may be hot-plugged into a memory sub-system.
|
41. A system configured to detect and protect a memory sub-system from failure mechanisms, the system comprising:
a first device programmed to facilitate the exchange of a first set of control signals between the host controller and the memory sub-system; a plurality of power control devices coupled to the first device and configured to provide power fault detection in the computer system, and wherein each of the plurality of power control devices is configured to provide over-current protection for the memory cartridge; and a plurality of second devices coupled between the memory control device and the host controller and programmed to exchange a second set of control signals there between.
22. A memory sub-system comprising:
a memory system board; a plurality of memory cartridges coupled to the system board and configured to store data; a plurality of cartridge connectors coupled to the memory system board, each of the plurality of cartridge connectors configured to receive one of the plurality of memory cartridges and further configured to facilitate the insertion and removal of the memory cartridges while the system is powered-up; and a plurality of control logic devices coupled to the memory system board and configured to facilitate the transition of the memory sub-system from the redundant mode of operation to the non-redundant mode of operation, and further configured to facilitate the transition of the memory sub-system from the non-redundant mode of operation to the redundant mode of operation, the plurality of control logic devices comprising: a first device programmed to facilitate the exchange of a first set of control signals between the host controller and the memory sub-system; a plurality of power control devices coupled to the first device and configured to provide power fault detection in the computer system; and a plurality of second devices coupled between the memory control device and the host controller and programmed to exchange a second set of control signals there between. 1. A computer system comprising:
a host controller; and a memory sub-system coupled to the host controller and configured to operate in a redundant mode of operation an a non-redundant mode of operation, the memory sub-system comprising: a memory system board; a plurality of memory cartridges coupled to the system board and configured to store data; a plurality of cartridge connectors coupled to the memory system board, each of the plurality of cartridge connectors configured to receive one of the plurality of memory cartridges and further configure to facilitate the insertion and removal of the memory cartridges while the system is powered-up; and a plurality of control logic devices coupled to the memory system board and configured to facilitate the transition of the memory sub-system from the redundant mode of operation to the non-redundant mode of operation, and further configured to facilitate the transition of the memory sub-system from the non-redundant mode of operation to the redundant mode of operation, the plurality of control logic devices comprising: a first device programmed to facilitate the exchange of a first set of control signals between the host controller and the memory sub-system; a plurality of power control devices coupled to the first device and configured to provide power fault detection in the computer system; and a plurality of second devices coupled between the memory control device and the host controller and programmed to exchange a second set of control signals there between. 2. The computer system, as set forth in
3. The computer system, as set forth in
4. The computer system, as set forth in
5. The computer system, as set forth in
6. The computer system, as set forth in
7. The computer system, as set forth in
8. The computer system, as set forth in
9. The computer system, as set forth in
10. The computer system, as set forth in
11. The computer system, as set forth in
12. The computer system, as set forth in
13. The computer system, as set forth in
14. The computer system, as set forth in
15. The computer system, as set forth in
16. The computer system, as set forth in
17. The computer system, as set forth in
18. The computer system, as set forth in
19. The computer system, as set forth in
20. The computer system, as set forth in
21. The computer system, as set forth in
23. The computer system, as set forth in
24. The computer system, as set forth in
25. The computer system, as set forth in
26. The computer system, as set forth in
27. The computer system, as set forth in
28. The computer system, as set forth in
29. The computer system, as set forth in
30. The computer system, as set forth in
31. The computer system, as set forth in
32. The computer system, as set forth in
33. The computer system, as set forth in
34. The computer system, as set forth in
35. The computer system, as set forth in
36. The computer system, as set forth in
37. The computer system, as set forth in
38. The computer system, as set forth in
39. The computer system, as set forth in
40. The computer system, as set forth in
42. The computer system, as set forth in
43. The computer system, as set forth in
44. The computer system, as set forth in
45. The computer system, as set forth in
46. The computer system, as set forth in
47. The computer system, as set forth in
48. The computer system, as set forth in
49. The computer system, as set forth in
|
The present application claims priority under 35 U.S.C §119(e) to provisional application Ser. No. 60/178,417 filed on Jan. 27, 2000.
1. Field of the Invention
The present invention relates generally to hot-pluggable redundant memory systems, and more particularly to the control logic for hot-pluggable redundant memory systems.
2. Description of the Related Art
This section is intended to introduce the reader to various aspects of art which may be related to various aspects of the present invention which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Microprocessor-based systems generally incorporate a plurality of electrical components. Electrical components, such as control chips, processor chips and memory modules, are often mounted on a substrate such as a printed circuit board or a ceramic board. The substrates generally contain conductive traces which allow the electrical components to be electrically coupled to each other via the substrate. Aside from connecting the electrical devices to one another, the substrate often provides a means of routing electrical signals to and from the components on the substrate to other substrates or external components of the system.
For example, a computer system may include dozens of electrical devices, including memory devices. Several memory devices may be disposed on a single printed circuit board thereby creating a memory module such as a Dual Inline Memory Module (DIMM). An array of DIMMs may be electrically coupled to another printed circuit board to create a memory cartridge. A memory cartridge may include a control device to control access to and from the memory devices on the memory cartridge.
A computer system which implements a redundant memory system may include several memory cartridges. Occasionally, when a system is running, one or more of the memory cartridges may fail. Fault tolerant system designs may be particularly advantageous in a computer system. When an uncorrectable fault is detected in a memory device, it may be desirable to change the faulty memory cartridge. Further, it may be desirable to change the memory cartridge without powering down the entire system or disrupting normal operations. However, replacing the bad memory cartridge often requires powering the system down. Additional hurdles are introduced when the memory system is a redundant memory system. Replacing memory cartridges in a redundant memory system while the system is still functioning creates various control issues which may be addressed using a control logic scheme to provide a hot-pluggable redundant memory system.
The present invention may address one or more of the problems set forth above.
The foregoing and other advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings in which:
One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation may be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
Turning now to the drawings, and referring initially to
The system 10 typically includes a power supply 14. For instance, if the system 10 is portable, the power supply 14 would advantageously include permanent batteries, replaceable batteries, and/or rechargeable batteries. The power supply 14 may also include an A/C adapter, so that the device may be plugged into a wall outlet, for instance. In fact, the power supply 14 may also include a D/C adapter, so that the system 10 may be plugged into a vehicle's cigarette lighter, for instance.
Various other devices may be coupled to the processor 12, depending upon the functions that the system 10 performs. For instance, a user interface 16 may be coupled to the processor 12. The user interface 16 may include buttons, switches, a keyboard, a light pin, a mouse, and/or a voice recognition system, for instance. A display 18 may also be coupled to the processor 12. The display 18 may include an LCD display, a CRT, LEDs, and/or an audio display. Furthermore, an RF sub-system/baseband processor 20 may also be coupled to the processor 12. The RF sub-system/baseband processor 20 may include an antenna that is coupled to an RF receiver and to an RF transmitter (not shown). A communications port 22 may also be coupled to the processor 12. The communications port 22 may be adapted to be coupled to a peripheral device 24, such as a modem, a printer, or a computer, for instance, or to a network, such as a local area network or the Internet.
Because the processor 12 controls the functioning of the system 10 generally under the control of software programming, memory is coupled to the processor 12 to store and facilitate execution of the program. For instance, the processor 12 may be coupled to volatile memory 26, which may include dynamic random access memory (DRAM) and/or static random access memory (SRAM). The processor 12 may also be coupled to non-volatile memory 28. The non-volatile memory 28 may include a read only memory (ROM), such as an EPROM or Flash-Memory, to be used in conjunction with the volatile memory. The size of the ROM is typically selected to be just large enough to store any necessary operating system, application programs, and fixed data. The volatile memory, on the other hand, is typically quite large so that it can store dynamically loaded applications. Additionally, the non-volatile memory 28 may include a high capacity memory such as a disk or tape drive memory.
A variety of memory devices, such as DRAMS, SDRAMS, SRAMS, etc., can make up the volatile memory 26, and may be utilized in a system such as a computer system. Several memory devices may be coupled on a substrate or PCB to provide a single memory module, such as a SIMM or DIMM. A plurality of DIMMs may be coupled to a substrate or PCB board to form a replaceable memory cartridge. An exemplary fault tolerant memory scheme that may be implemented in a computer system incorporates a plurality of memory cartridges to provide a memory array for the computer system. The organizational scheme of the memory array may be referred to as a Redundant Array of Industry Standard DIMMs (RAID). One particular implementation of the RAID scheme involves a parity-based RAID scheme. In this scheme, the data which is stored in memory is distributed across the array in bit groups known as data "words." As words are stored in the array, a parity word is also generated from the data. The parity word may be used to recover lost or corrupted data words. In an exemplary system, four memory cartridges may be used to store data while a fifth memory cartridge is used for parity storage. If an error is detected in any one of the four data words stored in one of the four memory cartridges, the data word can be recreated using the parity word stored in the fifth memory cartridge. Similarly, if an error is detected in a parity word, the parity word can be recreated using the four data words. By using the present RAID memory architecture, there is provided a system that not only detects and corrects multi-bit errors easily, but also provides a system in which memory cartridges can be removed and or replaced while the system is running (i.e., the memory cartridge is hot-pluggable).
DATA WORD 1: | 1011 | |
DATA WORD 2: | 0010 | |
DATA WORD 3: | 1001 | |
DATA WORD 4: | 0111 | |
A parity word can be either even or odd. To create an even parity word, common bits are simply added together. If the sum of the common bits is odd, a "1" is placed in the common bit location of the parity word. Conversely, if the sum of the bits is even, a "0" is placed in the common bit location of the parity word. In the present example, the bits may be summed as follows:
DATA WORD 1: | 1011 | |
DATA WORD 2: | 0010 | |
DATA WORD 3: | 1001 | |
DATA WORD 4: | 0111 | |
2133 | ||
PARITY WORD: | 0111 | |
When summed with the four exemplary data words, the parity word 0111 will provide an even number of active bits (or "1's") in every common bit location. This parity word can be used to recreate any of the data words (1-4) if a correctable data error is detected in one of the data words, as further explained with reference to FIG. 3.
Similarly, if the memory controller 44, which is associated with data word 36, is removed during operation (i.e., hot-plugged) the data word 36 can similarly be recreated. Thus, any single memory control device (in this example, memory control device 44) can be removed while the system is running and the data can be recreated using the other four memory control devices (memory control devices 40, 42, 46 and 50) and the XOR module 54. This may be particularly useful if uncorrectable errors are found in any of the memory devices on a memory cartridge or in the memory control device located on the memory cartridge. If a cartridge is removed from the system, the system transitions from a redundant mode of operation to a non-redundant mode of operation. The transition of the memory system from a redundant mode of operation to a non-redundant mode of operation and vice versa requires control logic to bring new memory cartridges on and off-line during hot-plug operations and fault isolation. The control logic will handle the transition during memory hot-plug operations and maximize system availability by detecting memory faults which require a memory cartridge to be taken off-line so that the integrity of the system is not compromised. The system may continue to operate in a non-redundant mode.
The control logic facilitates control over the memory sub-system 56 in a variety of scenarios. First, the power controllers 76a-e can detect under-voltage and over-current faults. This is most likely to occur during a hot-plug event, but it may occur at any time that the system is operational. Also, if an uncorrectable error occurs in one of the memory cartridges 58a-e and the memory cartridge 58a-e is replaced during a hot-plug operation, the power controllers 76a-e power down on a hot-remove and power up on a hot-insert to properly control power to the memory cartridges 58a-e to meet associated electrical requirements and power sequence protocol. The present control logic is also useful in protecting the memory sub-system 56 during an illegal power down operation. If an operator removes a memory cartridge in a way that violates the memory system protocol and endangers data integrity, the control logic may power down the entire memory sub-system 56 to prevent system damage.
The hot-plug circuitry and control logic for the present system and for each memory cartridge 58 includes a cartridge connector 68, a system PAL 72, a cartridge PAL 74, and a power controller 76. As indicated in
To implement the present system, software drivers must be loaded on the host computer system to appropriately initialize and drive the memory sub-system 56. During a memory cartridge insertion, certain data, such as Present Detect Signals, Power Fault signals, and Pre-Insertion Removal Notification Cable detect signals (PIRN_CABLE) may be input into the system PAL 72. The Present Detect signals, Power Fault signals, and PIRN_CABLE signal, are shifted into a host controller on the host computer system (not shown) by clocking the data bits through the system PAL 72. Once the memory cartridge is inserted into the cartridge connector 68, all of the signals are latched into the registers of the system PAL 72. One bit of data may be shifted to the host controller from the system PAL 72 on each clock cycle. Table 1 indicates the shift-in signals received by the system PAL 72 along with the descriptive functions.
TABLE 1 | |||
Shift-in Signals for System PAL | |||
Signal | Bit | Value=0 | Value=1 |
PU_MRM0_IRSL-- | 0 | Memory cartridge 0 | Memory cartridge 0 |
(PD0) | installed | not installed | |
PU_MRM1_IRSL-- | 1 | Memory cartridge 1 | Memory cartridge 1 |
(PD1) | installed | not installed | |
PU_MRM2_IRSL-- | 2 | Memory cartridge 2 | Memory cartridge 2 |
(PD2) | installed | not installed | |
PU_MRM3_IRSL-- | 3 | Memory cartridge 3 | Memory cartridge 3 |
(PD3) | installed | not installed | |
PU_MRM4_IRSL-- | 4 | Memory cartridge 4 | Memory cartridge 4 |
(PD4) | installed | not installed | |
PU_MRM0_PFLT-- | 5 | Memory cartridge 0 | Memory cartridge 0 |
power at fault | power OK | ||
PU_MRM1_PFLT-- | 6 | Memory cartridge 1 | Memory cartridge 1 |
power at fault | power OK | ||
PU_MRM2_PFLT-- | 7 | Memory cartridge 2 | Memory cartridge 2 |
power at fault | power OK | ||
PU_MRM3_PFLT-- | 8 | Memory cartridge 3 | Memory cartridge 3 |
power at fault | power OK | ||
PU_MRM4_PFLT-- | 9 | Memory cartridge 4 | Memory cartridge 4 |
power at fault | power OK | ||
PIRN_CABLE | 15 | PIRN cable not | PIRN cable installed |
installed | |||
The Present Detect signals (PD0-4) indicated that a cartridge 58 has been inserted. The Present Detect signals are connected to the IRSL# pins on each of the cartridge connectors 68. The IRSL# pin is also tied to a weak pull-up resistor. Thus, when the memory cartridge 58 is inserted, it will be pulled low. The Power Fault signals are output from the power controllers 76 and indicate if a power fault was detected on one of the memory cartridges 58. It will be asserted or driven low when the power distribution to the memory cartridge 58 is at fault. The PIRN_CABLE signal has a weak pull-down resistor. It is pulled up if the current cable is installed properly.
The system PAL 72 may also provide logic for hardware control of an audio alarm which may be implemented to indicate that a hot-plug driver is not loaded in the system or that a user is attempting to remove any of the five memory cartridges illegally. The PIRN_CABLE signal is a signal associated with a mechanical switch which may be used to lock the memory cartridge 58 in the cartridge connector 68. An audio alarm may be triggered when any of the PIRN switches are turned from the "lock" to "unlock" position. The PIRN signals can be used in the audio alarm.
On the falling edge of the SI_LD_signal, each of the input signals will be latched into the registers of the cartridge PAL 74. On each rising edge of the clock signal SI_CLK, the signals will be shifted out through output SID. The output SID may be connected directly to the host controller. By the end of the eighth clock cycle, all eight bits (0-7) will have been shifted to the host controller.
LEDs may be used to indicate various conditions (e.g. errors) of the memory cartridges 58 or the individual DIMMs 60.
Each cartridge PAL 74 may also provide logic for miscellaneous control signals, as illustrated in FIG. 9. The PWREN_is a buffered signal of IRSL_on the cartridge connector 68. When a memory cartridge 58 is inserted into a cartridge connector 68, the IRSL_signal is asserted and is driven through a latch 88. The output of the latch 88 is the PWREN_signal which will be asserted to the power controller 76. Since IRSL_pin is longer than the MNET signal pins, the power controller 76 will be enabled first during insertion of a memory cartridge 58, and disabled last during removal of a memory cartridge 58.
The PFLT_signal is driven out from the power controller 76, as will be illustrated in FIG. 10. When there is a power fault on the memory cartridge 58, such as an over current or under voltage conditions, PFLT_will be asserted (driven low). When the power on the memory cartridge 58 is within operating condition (i.e. there are no power-fault conditions), PFLT_will be de-asserted (driven high). The buffered PFLT_signal produces the remaining control signals discussed below.
The PLLEN signal is produced from the PFLT_signal, through a latch 90. The PLLEN signal is delivered to the memory control device 64 (
The PGOOD signal is produced from the PFLT_signal, through a latch 92. The PGOOD signal is delivered to the memory control device 64 (
The SYNCEN_signal is produced from the PFLT_signal, through a latch 94. The SYNCEN_signal is connected to a quick switch 96. The SYNCEN_signal is used to enable the SYNCIN signal to the memory control device 64 when the power to the memory cartridge 58 is within the operating condition. Once the SYNCEN_signal is asserted (upon de-assertion of the PFLT_signal), the SYNCIN signal will be delivered to the memory control device 64.
The CLKEN_signal is produced from the PFLT_signal, through a latch 98. The CLKEN_signal is connected to a quick switch 100. The CLKEN_signal is used to enable the SYSCLK signal to the memory control device 64 when the power to the memory cartridge 58 is within the operating condition. Once the CLKEN_signal is asserted (upon de-assertion of the PFLT_signal), the SYSCLK signal will be delivered to the memory control device 64.
One embodiment of the power controller 76 is illustrated in FIG. 10. Each power controller provides fault protection to detect under voltage and over-current conditions. Exemplary fault protection capabilities are described below.
The power controller 76 can turn on in a "soft start mode" to protect the supply rail from sudden loading. Upon the assertion of the PWREN_signal, an internal 10 uA current source is turned on to charge the gate of the MOSFET 102. The gate capacitor 104 creates a programmable ramp (soft-start) to control the inrush currents into the memory cartridge 58. The drain of the MOSFET 102 may be connected to a power supply, such as a 3.3 v power supply. The source of the MOSFET 102 may be connected to a resistor 106.
Over-current (short circuit) protection is facilitated by the RSENSE resistor 106. When the current through the RSENSE resistor 106 exceeds a user programmed over-current value, the power controller 76 enters a current regulation mode. At this time, the time-out capacitor 108 starts charging with a 10 uA current source and the power controller 76 enters the time out period. Once the time-out capacitor 108 charges to a 2V threshold, the MOSFET 102 is latched off. Further, in the event of a fault of at least three times the current limit level (short circuit), the MOSFET 102 is latched off immediately without entering the time out period.
The time-out capacitor (CTIM) 108 sets the time out period. The time out period is the time between the onset of over current limit and chip shutdown. The duration of the time out period is given by the following equation:
Time out period (sec.)=200K Ohm*CTIM
Thus, for CTIM=0.022 uF, the time out period will be 4.4 msec.
The power controller 76 also provides for under-voltage protection. When the load voltage as sensed by 3VISEN is below the under voltage threshold, typically around 2.80V, the PFLT_signal will be asserted, thereby indicating that a power fault has been detected. The power fault signal PFLT_will be asserted when either the over current (OC) or the under voltage (UV) conditions occur. The PFLT_assertion may trigger an LED on the memory system board 66 indicating that a fault has been detected.
The over current limit is determined by the ratio of the RILIM resistor 110 to the RSENSE resistor 106. The voltage across the RSENSE resistor 106 is equal to:
where ILOAD is the load current supplied to the memory cartridge 58.
The RILIM resister 110, is charged by an internal 10 uA current source. The over current threshold voltage, VOCTH, across the RILIM resistor 110 is equal to:
Both VSENSE and VOCTH are fed into an internal comparator in the power controller 76 (not illustrated). If VSENSE>VOCTH, the power controller 76 will enter the over current time out period. Thus the maximum load current, ILOAD, can be allowed is equal to:
For RILIM=12K Ohm and RSENSE=0.01 Ohm, the maximum over current limit is 12A.
The sequence of events during a normal insertion of the memory cartridge is shown in FIG. 12. It should be understood that the timing associated with the connection of the signal pins GND, VCC, MNET, IRS_, and IRSS_are only proximations. Initially, the host controller and host driver drives all MNET signals to "0". Further, the MNET_RESET_signal is active, the system clock SYSCLK is running and power to memory cartridge is off.
Sequence of Events:
1. GND pin connects, as indicated at 112.
2. PWR pin connects, as indicated at 114.
3. IRSL_pin connects, as indicated at 116.
4. The system PAL 72 asserts PD_to the host controller through the system PAL shift-in chain, as described with reference to Table 1.
5. The cartridge PAL 74 asserts PWREN_to the power controller 76, as indicated at 118 and described with reference to FIG. 9.
6. The power controller 76 soft starts the MOSFET 102, as indicated at 120 and as described with reference to FIG. 10.
7. Signal (MNET, SYSCLK, etc) pins connect, as indicated at 122.
8. IRSS_pin connects, as indicated at 124.
9. The cartridge PAL 74 asserts IRS_to the host controller through the cartridge shift-in chain, as indicated at 126 and described with reference to
10. The host controller generates an interrupt indicating a new memory cartridge has been installed.
11. Software Driver blinks PWRLED and ATTNLED once.
12. The power controller 76 de-asserts PFLT_when power to memory cartridge is greater than 2.8V, as indicated at 128 and discussed with reference to FIG. 10.
13. The system PAL 72 de-asserts PFLT_to the host controller through the system PAL shift-in chain, as described with reference to Table 1.
14. The cartridge PAL 74 asserts CLKEN_and SYNCEN_to enable the quick switches to connect SYSCLK and SYNCIN to the memory control device 64, as indicated at 130 and discussed with reference to FIG. 9.
15. The cartridge PAL 74 asserts PLLEN and PGOOD to the memory control device 64, as indicated at 132 and discussed with reference to FIG. 9.
16. User turns PIRN switch 78 from "unlock" to "lock" position, as discussed with reference to FIG. 7.
17. The cartridge PAL asserts PIRN to the host controller through the cartridge PAL shift-in chain, as indicated at 134 and discussed with reference to
18. The host controller generates an interrupt indicating a new memory cartridge is ready to power up.
19. S/W DRIVER blinks PWRLED.
20. The host controller de-asserts MNET_RESET_to the memory control device 64, as indicated at 136.
21. The host controller generates an interrupt indicating the power up sequence is complete.
22. Software Driver configures the memory control device 64 and initializes memory on the new memory cartridge 58.
23. Software Driver turns the PWRLED from "blink" to "on" indicating the new memory cartridge is fully functional, as indicated at 138.
The sequence of events during a normal removal of the memory cartridge 58 is shown in FIG. 13. It should be understood that the timing associated with the disconnection of the signal pins GND, VCC, MNET, IRSL_, and IRSS_are only approximations. Initially, all MMET signals are active. Further, MNET_RESET_is inactive and the system clock SYSCLK is running. Power to memory cartridge 58 is on. The memory sub-system 56 is in redundant mode.
Sequence of Events:
1. User turns PIRN switch 78 to "unlock" position, as discussed with reference to FIG. 7.
2. The cartridge PAL 74 de-asserts PIRN to the host controller through the cartridge PAL shift-in chain, as indicated at 140 and discussed with reference to
3. The host controller generates an interrupt indicating the memory cartridge 58 is to be removed.
4. Software Driver executes the power down sequence.
5. Software Driver blinks the PWRLED.
6. The host controller asserts MNET_RESET_to the memory control device 64, as indicated at 142.
7. The memory control device 64 tri-states all of its buffers.
8. The host controller and host driver drive "0" on the MNET bus.
9. Software Driver turns off the PWRLED to indicate the memory cartridge 58 can be removed.
10. User removes the memory cartridge 58.
11. IRSS_pin disconnects, as indicated at 144.
12. The cartridge PAL 74 de-asserts IRS_to the host controller, as indicated at 146.
13. Signal (MNET, SYSCLK, etc) pins disconnect, as indicated at 148.
14. IRSL_pin disconnects, as indicated at 150.
15. The system PAL de-asserts PD_to the host controller through the system PAL 72 shift-in chain, as described with reference to Table 1.
16. The host controller generates an interrupt indicating the memory cartridge 58 has been removed.
17. The cartridge PAL 74 de-asserts PWREN_to the power controller 76, as indicated at 152.
18. The power controller 76 latches off the MOSFET 102 and asserts PFLT_as indicated at 154 and described with reference to FIG. 10.
19. The system PAL 72 asserts PFLT_to the host controller through the system PAL shift in-chain, as indicated at 156 and discussed with reference to FIG. 10.
20. The cartridge PAL 74 de-asserts CLKEN_and SYNCEN_, as indicated at 158 and discussed with reference to FIG. 9.
21. SYSCLK and SYNCIN to the memory control device 64 are disconnected, as discussed with reference to FIG. 9.
22. The cartridge PAL 74 de-asserts PLLEN and PGOOD to the memory control device 64, as indicated at 160 and discussed with reference to FIG. 9.
23. PWR pin disconnects, as indicated at 162.
24. GND pin disconnects, as indicated at 164.
The sequence of events during an illegal removal of the memory cartridge 58 is shown in FIG. 14. Initially, all MNET signals are active. Further, MNET_RESET_is inactive, and SYSCLK is running. The power to memory cartridge 58 is on. The memory sub-system 56 is in non-redundant mode.
Sequence of Event
1. User turns PIRN switch 78 to "unlock" position, as discussed with reference to FIG. 7.
2. The cartridge PAL 74 de-asserts PIRN to the host controller through the cartridge PAL shift-in chain, as indicated at 166 and discussed with reference to
3. The host controller generates an interrupt indicating the memory cartridge 58 is to be removed.
4. Software Driver asserts AUDIO_ALARM thru the system PAL 72 shift out chain, as discussed with reference to FIG. 7.
5. User removes the memory cartridge 58.
6. IRSS_pin disconnects, as indicated at 168.
7. The cartridge PAL 74 de-asserts IRS_to the host controller, as indicated at 146.
8. The system PAL de-asserts PD_to the host controller through the system PAL 72 shift-in chain, as described with reference to Table 1.
9. Software Driver executes the power down sequence.
10. Software Driver blinks the PWRLED.
11. The host controller asserts MNET_RESET_to the memory control device 64, as indicated at 170.
12. The memory control device 64 tri-states all of its buffers.
13. The host controller and host driver drive "0" on the MNET bus.
14. Signal (MNET, SYSCLK, etc) pins disconnect, as indicated at 172.
15. IRSL_pin disconnects, as indicated at 174.
16. The system PAL de-asserts PD_to host controller through the system PAL 72 shift-in chain, as described with reference to Table 1.
17. The host controller generates an interrupt indicating the memory cartridge 58 has been removed.
18. The cartridge PAL 74 de-asserts PWREN_to the power controller 76, as indicated at 176.
19. The power controller 76 latches off the MOSFET 102 and asserts PFLT_, as indicated at 178 and described with reference to FIG. 10.
20. The system PAL 72 asserts PFLT_to the host controller through the system PAL shift in-chain, as indicated at 180 and discussed with reference to FIG. 10.
21. The cartridge PAL 74 de-asserts CLKEN_and SYNCEN_, as indicated at 182 and discussed with reference to FIG. 9.
22. SYSCLK and SYNCIN to the memory control device 64 are disconnected, as discussed with reference to FIG. 9.
23. The cartridge PAL 74 de-asserts PLLEN and PGOOD to the memory control device 64, as indicated at 184 and discussed with reference to FIG. 9.
24. PWR pin disconnects, as indicated at 186.
25. GND pin disconnects, as indicated at 188.
While the invention may be susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and have been described in detail herein. However, it should be understood that the invention is not intended to be limited to the particular forms disclosed. Rather, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the following appended claims.
Patent | Priority | Assignee | Title |
10049206, | Jan 07 2005 | Apple Inc. | Accessory authentication for electronic devices |
10191525, | Jul 27 2016 | Hewlett Packard Enterprise Development LP | Modules storing power configuration parameters |
6766469, | Jan 25 2000 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Hot-replace of memory |
6833712, | Sep 27 2002 | VALTRUS INNOVATIONS LIMITED | Differentiating between board-insertion power-on and chassis power-on |
6907500, | Sep 05 2002 | Hitachi, Ltd. | Data storage device management system |
6996686, | Dec 23 2002 | Oracle America, Inc | Memory subsystem including memory modules having multiple banks |
7133291, | Jul 02 2004 | Seagate Technology LLC | Carrier device and method for a multiple disc array |
7143236, | Jul 30 2003 | Mosaid Technologies Incorporated | Persistent volatile memory fault tracking using entries in the non-volatile memory of a fault storage unit |
7177145, | Apr 02 2004 | Seagate Technology LLC | Carrier device and method for a multiple disc array |
7178307, | Apr 02 2004 | Seagate Technology LLC | Reinforced shelf structure and method |
7212412, | Apr 02 2004 | Seagate Technology LLC | Shelf with removable backplane |
7243260, | Dec 27 2002 | Omron Corporation | Programmable controller unit and method of automatically restoring memory |
7308527, | Jan 24 2005 | International Business Machines Corporation | System for indicating a plug position for a memory module in a memory system |
7321312, | Jun 08 2004 | Oracle America, Inc | Non-volatile fault indication |
7327564, | Jul 02 2004 | Seagate Technology LLC | Engagement system for a module in an electronics cabinet |
7353336, | Mar 09 2005 | Hewlett Packard Enterprise Development LP | External RAID-enabling cache |
7423883, | Jul 02 2004 | Seagate Technology LLC | Multiple disc array carrier |
7441073, | Jan 24 2005 | International Business Machines Corporation | System for indicating a plug position for a memory module in a memory system |
7441083, | Sep 05 2002 | Hitachi, Ltd. | Data storage device management system |
7447943, | May 28 2003 | Hewlett Packard Enterprise Development LP | Handling memory errors in response to adding new memory to a system |
7558894, | Sep 11 2006 | Apple Inc | Method and system for controlling power provided to an accessory |
7587540, | Apr 27 2004 | Apple Inc. | Techniques for transferring status information between an accessory and a multi-communication device |
7590783, | Apr 27 2004 | Apple Inc. | Method and system for transferring status information between a media player and an accessory |
7634605, | May 22 2006 | Apple Inc | Method and system for transferring stored data between a media player and an accessory |
7636867, | Mar 24 2005 | NEC Corporation | Memory system with hot swapping function and method for replacing defective memory module |
7644228, | Jun 03 2005 | Seagate Technology LLC | Distributed storage system with global replication |
7660929, | Apr 27 2004 | Apple Inc. | Connector interface system for a multi-communication device |
7673083, | Sep 11 2006 | Apple Inc | Method and system for controlling video selection and playback in a portable media player |
7702833, | Apr 27 2004 | Apple Inc. | Techniques for transferring information between an accessory and a multi-communication device |
7752490, | Mar 25 2005 | NEC Corporation | Memory system having a hot-swap function |
7757026, | Apr 27 2004 | Apple Inc. | Techniques for transferring status information between an accessory and a multi-communication device |
7779185, | Apr 27 2004 | Apple Inc. | Communication between a media player and an accessory using a protocol with multiple lingoes |
7797471, | Jun 27 2006 | Apple Inc | Method and system for transferring album artwork between a media player and an accessory |
7826318, | Jun 27 2006 | Apple Inc | Method and system for allowing a media player to transfer digital audio to an accessory |
7853746, | Apr 27 2004 | Apple Inc. | Interface system for enabling data communication between a multi-communication device and other devices |
7877532, | Apr 27 2004 | Apple Inc. | Communication between an accessory and a media player with multiple lingoes and lingo version information |
7895378, | Jun 27 2006 | Apple Inc | Method and system for allowing a media player to transfer digital audio to an accessory |
7913038, | Jun 03 2005 | Seagate Technology LLC | Distributed storage system with accelerated striping |
7949810, | Sep 11 2006 | Apple Inc. | Techniques for transferring data between a media player and an accessory having a tuner |
7966449, | Jun 03 2005 | Seagate Technology LLC | Distributed storage system with global replication |
7984258, | Jun 03 2005 | Seagate Technology LLC | Distributed storage system with global sparing |
8006019, | May 22 2006 | Apple, Inc. | Method and system for transferring stored data between a media player and an accessory |
8082376, | Apr 27 2004 | Apple Inc. | Communication between an accessory and a media player with multiple protocol versions |
8095716, | Jun 27 2006 | Apple Inc. | Method and system for communicating capability information from an accessory to a media player |
8099536, | Apr 27 2004 | Apple Inc. | Communication between an accessory and a media player with general and accessory lingoes |
8112567, | Sep 11 2006 | Apple, Inc. | Method and system for controlling power provided to an accessory |
8135891, | Apr 27 2004 | Apple Inc. | Method and system for transferring button status information between a media player and an accessory |
8161567, | Jan 07 2005 | Apple Inc. | Accessory authentication for electronic devices |
8171194, | Apr 27 2004 | Apple Inc. | Accessory communication with a media player using a display remote lingo |
8171195, | Apr 27 2004 | Apple Inc. | Media player communication with an accessory using a display remote lingo |
8208853, | Jan 07 2009 | Apple Inc.; Apple Inc | Accessory device authentication |
8238811, | Sep 08 2008 | Apple Inc. | Cross-transport authentication |
8239595, | Apr 27 2004 | Apple Inc. | Communication between a media player and an accessory with an extended interface mode |
8285901, | Apr 27 2004 | Apple Inc. | Communication between an accessory and a media player using an extended interface lingo |
8370555, | Jun 27 2006 | Apple Inc. | Method and system for allowing a media player to determine if it supports the capabilities of an accessory |
8386680, | Apr 27 2004 | Apple Inc. | Communication between an accessory and a media player with multiple protocol versions and extended interface lingo |
8402187, | Apr 27 2004 | Apple Inc. | Method and system for transferring button status information between a media player and an accessory |
8509691, | Sep 08 2008 | Apple Inc. | Accessory device authentication |
8590036, | Jun 27 2006 | Apple Inc. | Method and system for authenticating an accessory |
8634761, | Sep 08 2008 | Apple Inc. | Cross-transport authentication |
8763079, | Jan 07 2005 | Apple Inc. | Accessory authentication for electronic devices |
8803503, | Jul 27 2007 | COMMISSARIAT A L ENERGIE ATOMIQUE | Quick response power supply switching device and power supply network including such a switch |
9160541, | Jun 27 2006 | Apple Inc. | Method and system for authenticating an accessory |
9223958, | Jan 07 2005 | Apple Inc. | Accessory authentication for electronic devices |
9754099, | Jan 07 2005 | Apple Inc. | Accessory authentication for electronic devices |
9940235, | Jun 29 2016 | Oracle International Corporation | Method and system for valid memory module configuration and verification |
Patent | Priority | Assignee | Title |
5313626, | Dec 17 1991 | Dell USA L P | Disk drive array with efficient background rebuilding |
5331646, | May 08 1992 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Error correcting code technique for improving reliablility of a disk array |
5367669, | Mar 23 1993 | Eclipse Technologies, Inc.; ECLIPSE TECHNOLOGIES INC | Fault tolerant hard disk array controller |
5572395, | Dec 21 1993 | International Business Machines Corporation; IBM Corporation | Circuit for controlling current in an adapter card |
6098132, | Jun 05 1996 | Hewlett Packard Enterprise Development LP | Installation and removal of components of a computer |
6223301, | Sep 30 1997 | Hewlett Packard Enterprise Development LP | Fault tolerant memory |
6434652, | Nov 14 1997 | International Business Machines Corporation | Hot plug subsystem for processor based electrical machine |
EP398188, | |||
JP9222940, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 25 2001 | Hewlett-Packard Development Company, L.P. | (assignment on the face of the patent) | / | |||
May 03 2001 | LAI, HO M | Compaq Computer Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036088 | /0896 | |
May 03 2001 | MACLAREN, JOHN M | Compaq Computer Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 036088 | /0896 | |
Oct 27 2015 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Hewlett Packard Enterprise Development LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 037079 | /0001 |
Date | Maintenance Fee Events |
May 14 2004 | ASPN: Payor Number Assigned. |
May 18 2007 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 18 2011 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 17 2015 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Nov 18 2006 | 4 years fee payment window open |
May 18 2007 | 6 months grace period start (w surcharge) |
Nov 18 2007 | patent expiry (for year 4) |
Nov 18 2009 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 18 2010 | 8 years fee payment window open |
May 18 2011 | 6 months grace period start (w surcharge) |
Nov 18 2011 | patent expiry (for year 8) |
Nov 18 2013 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 18 2014 | 12 years fee payment window open |
May 18 2015 | 6 months grace period start (w surcharge) |
Nov 18 2015 | patent expiry (for year 12) |
Nov 18 2017 | 2 years to revive unintentionally abandoned end. (for year 12) |