Memory performance evaluation using address mapping information
US-2024394164-A1 · Nov 28, 2024 · US
US9250991B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9250991-B2 |
| Application number | US-201414588397-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 31, 2014 |
| Priority date | Aug 12, 2009 |
| Publication date | Feb 2, 2016 |
| Grant date | Feb 2, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Methods and apparatuses for reduction of Read Disturb errors in a NAND FLASH memory system comprise a controller configured to organize FLASH memory devices into blocks, each block having a plurality of pages, and each page defining an individually addressable physical memory location. The controller is further configured to accumulate a Block READ Count corresponding to the number of times any pages in a first block of pages have been read since the first block was last erased. Once the READ count reaches a predetermined number, the controller responds to subsequent READ requests for pages within the first block by moving data associated with a requested page to a page in a second, different block without moving data associated with other pages in the first block, and modifying a logical-to-physical translation table to associate the moved data with the physical address of the page in the second block.
Opening claim text (preview).
What is claimed is: 1. A method of reducing read-disturb errors in a memory system comprising a nonvolatile memory space organized into a plurality of blocks, each block comprising a plurality of pages, and each page defining an individually addressable physical memory location, the method comprising the steps of: accumulating a Block READ Count corresponding to the number of times any of the pages in a first block have been read; determining whether the Block READ Count for the first block has reached a predetermined number; maintaining a list of pages to be moved, the list including a plurality of entries representing pages to be moved; and after the Block READ Count for the first block has reached a predetermined number: determining whether the list of pages to be moved is full; if the list of pages to be moved is not full, responding to a first READ request directed to a first target page within the first block by moving data stored within the first target page to a second block that is different from the first block and designating data that remains stored within the first target page as invalid data while retaining within the first block valid data stored within pages in the first block other than the first target page; and if the list of pages to be moved is not full, responding to a second READ request directed to a second target page within the first block by moving the data stored within the second target page to a block that is different from the first block and designating data that remains stored within the second target page as invalid data while retaining within the first block valid data stored within pages in the first block other than the second target page, the second READ request being received after the first READ request. 2. The method of claim 1 wherein the step of accumulating a Block READ Count corresponding to the number of times any of the pages in a first block have been read comprises the step of accumulating a Block READ Count corresponding to the number of times any of the pages in a first block have been read after an erase operation has been performed on the pages within the first block. 3. The method of claim 1 wherein the step of determining whether the Block READ Count for the first block has reached a predetermined number comprises the step of determining whether the Block READ Count has exceeded a number. 4. The method of claim 1 wherein the step of responding to a second READ request directed to a second target page within the first block by moving the data stored within the second target page to a block that is different from the first block comprises the step of moving the data stored within the second target page to the second block. 5. The method of claim 1 further comprising the step of responding to a third READ request directed to a third target page within the first block by moving, if the list of pages to be moved is not full, the data stored within the third target page to a block that is different from the first block and designating the data still stored within the third target page as invalid data while retaining within the first block valid data stored within pages in the first block other than the third target page, the third READ request being received after the second READ request. 6. The method of claim 1 further comprising the step of determining whether the Block READ Count for the first block has reached a second predetermined number, the second predetermined number being greater than the predetermined number; and in response to a determination that the Block READ Count for the first block has reached the second predetermined number, moving the valid data then stored within the first block to a block different from the first block, the step of determining whether the Block READ Count for the first block has reached a second predetermined number occurring after receipt of the first and second READ requests. 7. The method of claim 1 wherein the second block and the first block are located within the same nonvolatile memory chip. 8. A method of inhibiting read disturb errors in a nonvolatile memory in which memory locations are divided into pages and blocks, with each page corresponding to a specific physical memory location in which a group of bits can be stored, and each block corresponding to a group of pages, the method comprising the steps of: maintaining a count of the number of times a READ operation has been performed on any page within a given block; determining that the count has reached a first predetermined threshold; maintaining a list of pages to be moved, the list including a plurality of entries representing pages to be moved; determining whether the list of pages to be moved is full after the count has reached the first predetermined threshold and if the list of pages to be moved is not full, moving data stored within the given block to memory locations within a different block on a page-by-page basis in response to READ operations being subsequently performed on pages within the given block, such that each of a plurality of READ operations received after the count has reached the first predetermined threshold results in movement of only a single page of data from the given block. 9. The method of claim 8 further including the steps of: receiving a request for a READ operation from a host device, the request including a logical page address; and translating the received logical page address into a physical address of a page within the nonvolatile memory. 10. The method of claim 9 further including the steps of: determining that the count has reached a second predetermined threshold, the second predetermined threshold being greater than the first predetermined threshold; and after the count has reached the second predetermined threshold, if the list of pages to be moved is not full, moving data stored within the given block to memory locations within a different block on a page-by-page basis in response to READ operations being subsequently performed on pages within the given block, such that each of a plurality of READ operations received after the count has reached the second predetermined threshold results in movement of only a single page of data from the given block. 11. The method of claim 9 wherein the step of moving data within the given block to memory locations within a different block on a page-by-page basis includes the step of: associating the logical page address for the moved data with a new physical address of the page within the different block. 12. The method of claim 8 wherein the step of maintaining a count of the number of times a READ operation has been performed on any page within a given block involves the step of incrementing a count in response to the receipt of a READ operation directed to a page within the given block, wherein the amount the count is incremented in response to the READ operation varies depending on whether errors are identified within the page that is the subject of the READ operation. 13. The method of claim 8 , wherein the nonvolatile memory comprises a number of nonvolatile memory chips, wherein each nonvolatile memory chip includes a number of regions within which data may be moved from one page to another page without providing the data external to the chip, and wherein the step of moving data stored within the block to memory locations within a different block on a page-by-page basis, involves only moves from one region within a given nonvolatile memory chip to another region within the given nonvolatile memory chip. 14. The method of claim 8 wherein a plurality of pages within the given block for
in block erasable memory, e.g. flash memory · CPC title
Reliability improvement, data loss prevention, degraded operation etc · CPC title
by exceeding a count or rate limit, e.g. word- or bit count limit · CPC title
in multilevel memories · CPC title
Voltage · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.