Non-regular parity distribution detection via metadata tag
First Claim
1. A method of storing user data in a non-volatile memory (“
- NVM”
), wherein the NVM comprises a plurality of pages, the method comprising;
selecting an encoding technique to employ on the user data, wherein the size of the user data is larger than the size of one of the plurality of pages;
applying the encoding technique to the user data to generate at least one page worth of parity data;
programming the user data in a first portion of the plurality of pages;
storing the parity data in a second portion of the plurality of pages, wherein the storing comprises marking a metadata field in each page of the second portion to indicate the second portion stores the parity data; and
based on the metadata field, not including the second portion of the plurality of pages in a mapping address table of the NVM.
1 Assignment
0 Petitions
Accused Products
Abstract
This can relate to non-regular parity distribution of a non-volatile memory (“NVM”), such as flash memory, and detection of the non-regular parity via a metadata tag. For example, each codeword of the NVM can include one or more parity pages that may be distributed at random through the NVM. To identify the page as a parity page, a parity page marker can be included in the metadata of that page. During power-up of the NVM, an address table including the logical-to-physical address mapping of the pages can be created. Pages including a parity page marker, however, can be skipped during the creation of this address table. Additionally, by having two or more parity pages associated with a codeword, an additional layer of protection can be provided for repairing errors in that codeword.
-
Citations
27 Claims
-
1. A method of storing user data in a non-volatile memory (“
- NVM”
), wherein the NVM comprises a plurality of pages, the method comprising;selecting an encoding technique to employ on the user data, wherein the size of the user data is larger than the size of one of the plurality of pages; applying the encoding technique to the user data to generate at least one page worth of parity data; programming the user data in a first portion of the plurality of pages; storing the parity data in a second portion of the plurality of pages, wherein the storing comprises marking a metadata field in each page of the second portion to indicate the second portion stores the parity data; and based on the metadata field, not including the second portion of the plurality of pages in a mapping address table of the NVM. - View Dependent Claims (2, 3, 4, 5, 6)
- NVM”
-
7. A method for building a logical-to-physical mapping address table of a non-volatile memory (“
- NVM”
), wherein the NVM comprises a plurality of pages and wherein each page is associated with a unique physical address, the method comprising;processing a first page of the plurality of pages by; reading a first metadata tag of the first page, wherein the first metadata tag indicates whether or not the first page is a parity page; in response to determining the first metadata tag indicates the first page is not a parity page; determining a first logical address of the first page; storing the first logical address with the first page'"'"'s unique physical address in the logical-to-physical mapping address table; and in response to determining the first metadata tag indicates the first page is a parity page, skipping the first page such that the first logical address is not stored in the address table. - View Dependent Claims (8, 9, 10)
- NVM”
-
11. An electronic device comprising:
-
a non-volatile memory (“
NVM”
) comprising a plurality of pages wherein;a subset of the plurality of pages are parity pages; and the plurality of pages are grouped into a plurality of codewords, each codeword of the plurality of codewords comprising at least two contiguous pages of the plurality of pages and comprising at least one parity page, and wherein each codeword of at least a first subset of the plurality of codewords comprise at least two parity pages; and a processor for controlling access to the plurality of pages of the NVM, wherein the processor is configured to; mark a metadata field in each parity page to indicate the page is a parity page; and based on the metadata field, not include any parity page in a mapping address table of the NVM. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. An electronic device comprising:
-
a non-volatile memory (“
NVM”
) comprising a plurality of pages wherein;a subset of the plurality of pages are parity pages; and the plurality of pages are grouped into a plurality of codewords, each codeword of the plurality of codewords comprising at least two contiguous pages of the plurality of pages and comprising at least one parity page, and wherein each codeword of at least a first subset of the plurality of codewords comprise at least two parity pages; and a processor for controlling access to the plurality of pages of the NVM, wherein the processor is configured to; mark a metadata field in each parity page to indicate the page is a parity page; generate at least two parity equations based on a preliminary assumption that a particular codeword comprises a first number of assumed parity pages; retrieve the particular codeword; and update calculations of the at least two parity equations with data of each page of the particular codeword as each page is retrieved. - View Dependent Claims (26, 27)
-
Specification