Protection against word line failure in memory devices
AssigneeApple Inc.
InventorsShai Ojalvo, Eyal Gurgi, Micha Anholt
Life of this patent
Estimating the term…
Abstract
A method for data storage includes providing a mapping of data pages to physical pages, in which each physical page holds a non-integer number of the data pages, for storage of data in at least one memory block, including a plurality of the physical pages, in a memory device. The data pages that are mapped to the memory block are partitioned into groups, such that failure of any memory unit, which consists of a predefined number of the physical pages in the memory device, will produce errors in no more than one data page in each group. The data pages is stored in the physical pages of the memory block in accordance with the mapping, while a redundant storage scheme is applied among the data pages of each group.
Claims14
A method for data storage in a memory device, comprising:
- receiving a plurality of data pages for storage in a given block of the memory device, wherein the given block includes a plurality of rows of storage cells;
- partitioning the plurality of data pages into a plurality of groups dependent upon a mapping of the plurality of data pages to the plurality of rows of storage cells, wherein each group of the plurality of groups includes one or more data pages, and wherein each data page of the one or more data pages is mapped to a different row of the plurality of rows of storage cells;
- generating, for a given group of the plurality of groups, a respective parity page of a plurality of parity pages dependent upon the data pages included in the given group of the plurality of groups;
- and
- storing each data page of the plurality of data pages into one or more rows of the plurality of rows of storage cells dependent upon the mapping;
- storing each parity page of the plurality of parity pages into at least one row of the plurality of rows of storage cells dependent upon the mapping;
- reading a given data page of the plurality of stored data pages;
- and
- reconstructing the given data page using other data pages and parity page included in a parity group containing the given data page responsive to detecting an error in reading the given data page.
A data storage apparatus, comprising:
- an interface, which is configured to send a plurality of data pages for storage in a memory device, wherein the memory device includes at least one memory block, and wherein the at least one memory block includes a plurality of rows of storage cells;
- and
- at least one processor configured to:
- partition the plurality of data pages into a plurality of groups dependent upon a mapping of the plurality of data pages to the plurality of rows of storage cells, wherein each group of the plurality of groups includes one or more data pages, and wherein each data page of the one or more data pages is mapped to a different row of the plurality of rows of storage cells failure;
- generate, for a given group of the plurality of groups, a respective parity page of a plurality of parity pages dependent upon the data pages included in the given group of the plurality of groups;
- store each data page of the plurality of data pages into one or more rows of the plurality of rows of storage cells dependent upon the mapping;
- store each parity page of the plurality of parity pages into at least one row of the plurality of rows of storage cells dependent upon the mapping;
- read a given data page of the plurality of stored data pages;
- and
- reconstruct the given data page using other data pages and parity page included in a parity group containing the given data page responsive to detecting an error in reading the given data page.
A data storage apparatus, comprising:
- a memory device including at least one memory block, wherein the at least one memory block includes a plurality of rows of storage cells;
- and
- at least one processor, which is configured to:
- receive a plurality of data pages for storage in the at least one memory block;
- partition the plurality of data pages into a plurality of groups dependent upon a mapping of the plurality of data pages to the plurality of rows of storage cells, wherein each group of the plurality of groups includes one or more data pages, and wherein each data page of the one or more data pages is mapped to a different row of the plurality of rows of storage cells;
- generate, for a given group of the plurality of groups, a respective parity page of a plurality of parity pages dependent upon the data pages included in the given group;
- store each data page of the plurality of data pages into one or more rows of the plurality of rows of storage cells dependent upon the mapping;
- store each parity page of the plurality of parity pages into at least one row of the plurality of rows of storage cells dependent upon the mapping;
- read a given data page of the plurality of stored data pages;
- and
- reconstruct the given data page using other data pages and parity page included in a parity group containing the given data page responsive to detecting an error in reading the given data page.
Dependencies are inferred from the claim text.