Systems and Methods for Storing and Recovering Controller Data in Non-Volatile Memory Devices
First Claim
1. A method of operating at least one non-volatile memory device, comprising:
- storing portions of at least one of a program executable by a controller or operating data associated with a program executable by the controller across multiple memory devices or multiple portions of the memory device; and
storing error correction information associated with the at least one of a program executable by a controller or operating data associated with a program executable by a controller across multiple memory devices or multiple portions of a memory device, wherein in the event of a respective failure of one of the memory devices or one of the portions of the memory device, the controller can recover the at least one of a program executable by the controller or operating data associated with a program executable by the controller.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for storing the firmware and other data of a flash memory controller, such as using a RAID configuration across multiple flash memory devices or portions of a single memory device. In various embodiments, the firmware and other data used by a controller, and error correction information, such as parity information for RAID configuration, may be stored across multiple flash memory devices, multiple planes of a multi-plane flash memory device, or across multiple blocks or pages of a single flash memory device. The controller may detect the failure of a memory device or a portion thereof, and reconstruct the firmware and/or other data from the other memory devices or portions thereof.
268 Citations
26 Claims
-
1. A method of operating at least one non-volatile memory device, comprising:
-
storing portions of at least one of a program executable by a controller or operating data associated with a program executable by the controller across multiple memory devices or multiple portions of the memory device; and storing error correction information associated with the at least one of a program executable by a controller or operating data associated with a program executable by a controller across multiple memory devices or multiple portions of a memory device, wherein in the event of a respective failure of one of the memory devices or one of the portions of the memory device, the controller can recover the at least one of a program executable by the controller or operating data associated with a program executable by the controller. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of operating at least one non-volatile memory device, comprising:
-
detecting a failure of one or more portions of the at least one memory device; and restoring portions of at least one of a program executable by a controller coupled to the memory device or operating data associated with a program executable by the controller from multiple functioning portions of the memory device. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system, comprising:
-
a non-volatile memory device; and a memory controller coupled to the memory device and configured to store portions of at least one of a program executable by a controller or operating data associated with a program executable by the controller across multiple memory devices or multiple portions of a memory device. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A system comprising;
-
a non-volatile memory device; a memory controller coupled to the device; and firmware stored on the memory controller and configured to operate the memory device, wherein the firmware is divided and stored across multiple portions of the memory device. - View Dependent Claims (20, 21, 22, 23)
-
-
24. A method of operating a memory device, comprising:
storing firmware of the device across multiple portions of the device such the firmware and error correction information is divided and stored across on the portions. - View Dependent Claims (25, 26)
Specification