REDUNDANT BACKUP USING NON-VOLATILE MEMORY
2 Assignments
0 Petitions
Accused Products
Abstract
Data stored in a volatile memory subsystem is backed up redundantly into first and second channels of a non-volatile memory subsystem. The data is retrieved from the volatile memory subsystem upon detection of a trigger condition indicative of real or imminent power loss or reduction and multiple copies are stored in dedicated non-volatile memory channels. The stored copies may be error checked and corrected, and re-written if necessary. The redundantly backed up data can be subsequently retrieved from the non-volatile memory subsystem, error-corrected, and an error-free copy communicated to the volatile memory subsystem.
-
Citations
22 Claims
-
1. (canceled)
-
2. A memory system comprising:
-
a host interface couplable to a host computer; a circuit coupled to the host interface by way of a data bus and an address and control (addr/cont) bus, the circuit operable to receive data from and deliver data to the host computer based on addr/cont signals received from the host computer; a volatile memory subsystem coupled to the circuit by way of a first data bus and a first addr/cont bus; a controller coupled to the circuit by way of a second data bus and a second addr/cont bus; a voltage monitor circuit coupled to the controller, the voltage monitor circuit operable to monitor a voltage supplied by the host computer via the host interface; and a non-volatile memory subsystem coupled to the controller by way of first and second channels, the non-volatile memory subsystem including (i) a first set of one or more non-volatile memory elements coupled to the first channel, and (ii) a second set of one or more non-volatile memory elements coupled to the second channel, the controller operable to communicate data, status and control information between the host and the non-volatile memory system by way of the host interface, wherein, during a data write operation, the controller is operable to; (i) receive data from the circuit, (ii) write a first copy of the received data into the first set of one or more non-volatile memory elements using the first channel, and (iii) write a second copy of the received data into the second set of one or more non-volatile memory elements using the second channel. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory system comprising:
-
a host interface couplable to a host computer; a first non-volatile memory subsystem coupled to a first channel, the first non-volatile memory subsystem including a first set of one or more non-volatile memory elements; a second non-volatile memory subsystem coupled to a second channel, the second non-volatile memory subsystem including a second set of one or more non-volatile memory elements; and a controller coupled to the host interface by way of a data bus and an address and control (addr/cont) bus, the controller operable to receive data from and deliver data to the host computer based on addr/cont signals received from the host computer, the controller coupled to the first non-volatile memory subsystem by way of the first channel and to the second non-volatile memory subsystem by way of the second channel, wherein, in response to a data read request from the host computer, the controller is operable to; (i) read a first copy of the requested data from a first selected location of the first set of one or more non-volatile memory elements through the first channel, and repair the first copy if it includes correctable errors, (ii) read a second copy of the requested data from a second selected location of the second set of one or more non-volatile memory elements through the second channel, and repair the second copy if it includes correctable errors, (iii) determine if one of the first or second copies includes a block of data with uncorrectable errors, and to replace the block of data with uncorrectable errors with a valid duplicate block of data from the other of the first or second copies, and to repair the first copy or the second copy using the valid duplicate block, and (iv) transmit to the host computer an error-free copy of the requested data based on the repaired first copy or the repaired second copy. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A memory system comprising:
-
a host interface couplable to a host computer; a first non-volatile memory subsystem coupled to a first channel, the first non-volatile memory subsystem including a first set of one or more non-volatile memory elements; a second non-volatile memory subsystem coupled to a second channel, the second non-volatile memory subsystem including a second set of one or more non-volatile memory elements; a voltage monitor circuit couplable to the controller, the voltage monitor circuit operable to (i) monitor a supply voltage provided by the host computer via the host interface, and (ii) generate a control signal in response to a detected change in the monitored supply voltage; a controller coupled to the host interface by way of a data bus and an address and control (addr/cont) bus, the controller operable to receive data from and deliver data to the host computer based on addr/cont signals received from the host computer, the controller coupled to the first non-volatile memory subsystem by way of the first channel and to the second non-volatile memory subsystem by way of the second channel, wherein the controller initiates a data read request in response to the control signal; and a volatile memory subsystem coupled to the controller, wherein, in response to the data read request, the controller is operable to (i) read a first copy of the requested data from a first selected location of the first set of one or more non-volatile memory elements using the first channel, and repair the first copy if it includes correctable errors, (ii) read a second copy of the requested data from a second selected location of the second set of one or more non-volatile memory elements using the second channel, and repair the second copy if it includes correctable errors, and (iii) provide an error-free copy of the requested data to the volatile memory subsystem. - View Dependent Claims (20, 21, 22)
-
Specification