Metablock Size Reduction Using on Chip Page Swapping Between Planes
AssigneeSanDisk Technologies LLC
InventorsSteven Sprouse, Sergey Anatolievich Gorobets
Life of this patent
Estimating the term…
Abstract
Methods and systems are disclosed herein for storing data in a memory device. Data for multiple pages is written in parallel using plane interleaving. For example, in a four plane write, a first set of four pages are written in the following sequence: 0, 1, 2, 3. A second set of four pages, after plane interleaving, are written in the following sequent: 7, 4, 5, 6. After writing the data, the pages of written data are read, page swapped if necessary, and then written into another portion of memory (such as MLC).
Claims21
A method for storing data in a flash storage device, the method comprising:
- in a flash storage device having a controller and a memory in communication with the controller, the memory including a plurality of planes, each of the planes having a sequence of pages:
- receiving data;
- iteratively writing portions of the data in parallel into a page in each of the plurality of planes;
- reading the pages in each of the planes, at least some of the pages read in parallel being in a different respective page of the sequence of pages in the respective plane;
- determining, for at least one of the pages read, whether to shift pages from an initial plane to a different one of the planes;
- and
- storing the data in the memory based on the determined shift,
- wherein the determined shift and the storage of the data result in a sequential ordering of data within the numbered sequence of pages in at least one of the planes.
A flash memory device configured to store data, the flash memory device comprising:
- a memory including a plurality of planes, each of the planes having a sequence of pages;
- and
- a controller in communication with the memory, the controller is configured to:
- receive data;
- iteratively write portions of the data in parallel into a page in each of the plurality of planes;
- read the pages in each of the planes, at least some of the pages read in parallel being in a different respective page of the sequence of pages in the respective plane;
- determine, for at least one of the pages read in parallel, whether to shift pages from an initial plane to a different one of the planes;
- and
- store the data in the memory based on the determined shift,
- wherein the determined shift and the storage of the data result in a sequential ordering of data within the numbered sequence of pages in at least one of the planes.
Dependencies are inferred from the claim text.