METADATA REDUNDANCY SCHEMES FOR NON-VOLATILE MEMORIES
First Claim
1. A method of storing data in a non-volatile memory, the method comprising:
- receiving a first write request to write first user data to a first logical address;
receiving a second write request to write second user data to a second logical address;
identifying a physical address at which to store the second user data; and
programming the first logical address, the second logical address, and the second user data in the non-volatile memory at the physical address.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for storing data to or reading data from a non-volatile memory (“NVM”), such as flash memory, using a metadata redundancy scheme. In some embodiments, an electronic device, which includes an NVM, may also include a memory interface for controlling access to the NVM. The memory interface may receive requests to write user data to the NVM. The user data from each request may be associated with metadata, such as a logical address, flags, or other data. In response to a write request, the NVM interface may store the user data and its associated metadata in a first memory location (e.g., page), and may store a redundant copy of the metadata in a second memory location. This way, even if the first memory location becomes inaccessible, the memory interface can still recover the metadata from the backup copy stored in the second memory location.
65 Citations
29 Claims
-
1. A method of storing data in a non-volatile memory, the method comprising:
-
receiving a first write request to write first user data to a first logical address; receiving a second write request to write second user data to a second logical address; identifying a physical address at which to store the second user data; and programming the first logical address, the second logical address, and the second user data in the non-volatile memory at the physical address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A memory interface for accessing a non-volatile memory, the memory interface comprising:
-
a bus controller for communicating with the non-volatile memory; and control circuitry configured to direct the bus controller to store first user data and metadata in a first memory location of the non-volatile memory, wherein the metadata comprises; first metadata associated with the first user data, and second metadata associated with second user data stored at a second memory location of the non-volatile memory. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. An electronic device comprising:
-
a non-volatile memory; and control circuitry operating under the control of a plurality of modules, the modules comprising; a file system configured to issue a first write command to write first user data to the non-volatile memory; and a memory interface configured to store first metadata at a plurality of memory locations of the non-volatile memory, wherein the first metadata is associated with the first user data. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method of recovering a logical address from a non-volatile memory, the method comprising:
-
determining whether first data stored at a first memory location of the non-volatile memory is accessible, wherein the first data comprises first user data and a first logical address associated with the first user data; in response to determining that the first data is inaccessible, reading second data from a second memory location of the non-volatile memory; and extracting the first logical address from the second data. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A memory interface for accessing a non-volatile memory, the memory interface comprising:
-
a bus controller for communicating with the non-volatile memory; and control circuitry configured to; direct the bus controller to read from a first memory location to obtain first user data; determine that the first user data is not accessible from the first memory location; and direct the bus controller to read second data from a second memory location, wherein the second data comprises first metadata associated with the first user data. - View Dependent Claims (28, 29)
-
Specification