Memory systems

US9489301B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9489301-B2
Application numberUS-201414246357-A
CountryUS
Kind codeB2
Filing dateApr 7, 2014
Priority dateSep 28, 2001
Publication dateNov 8, 2016
Grant dateNov 8, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Memory systems having a volatile memory, a non-volatile memory arranged in blocks, and a controller coupled to the volatile memory and to the non-volatile memory. The controller is configured to maintain, in the volatile memory, a list of addresses of erased blocks of the non-volatile memory. The list of addresses of erased blocks of the non-volatile memory is limited to a maximum number of list entries. The controller is further configured to transfer the list of addresses of erased blocks of the non-volatile memory from the volatile memory to the non-volatile memory in response to the list containing its maximum number of list entries and/or in response to an operation that would increase the number of list entries to a number equal to or greater than the maximum number of list entries.

First claim

Opening claim text (preview).

What is claimed is: 1. A memory system comprising: a volatile memory; a non-volatile memory arranged in blocks; and a controller coupled to the volatile memory and to the non-volatile memory, the controller configured to maintain, in the volatile memory, a list of addresses of erased blocks of the non-volatile memory; wherein the controller is further configured to transfer the list of addresses of erased blocks of the non-volatile memory from the volatile memory to the non-volatile memory when the list is updated to contain a predetermined number of list entries; and wherein the predetermined number of list entries is greater than one. 2. The memory system of claim 1 , wherein the predetermined number of list entries is a predetermined number of addresses. 3. The memory system of claim 1 , wherein the predetermined number of list entries is a predetermined number of erased blocks. 4. The memory system of claim 3 , wherein the list of addresses of erased blocks is limited to the predetermined number of erased blocks regardless of a total number of erased blocks in the non-volatile memory. 5. The memory system of claim 1 , wherein the list of addresses of erased blocks comprises a list of addresses of blocks of the non-volatile memory upon which a block erase operation has been performed. 6. The memory system of claim 1 , wherein the list of addresses of erased blocks comprises a list of addresses of blocks of the non-volatile memory currently available for assignment to a write pointer. 7. The memory system of claim 1 , wherein the list of addresses of erased blocks comprises a list of addresses of blocks of the non-volatile memory currently available for rewriting a control structure of the memory system. 8. The memory system of claim 1 , wherein the controller is further configured to clear the list of addresses of erased blocks after transferring the list from the volatile memory to the non-volatile memory. 9. The memory system of claim 1 , wherein the controller is further configured to initialize the list of addresses of erased blocks from information in the non-volatile memory during initialization of the memory system. 10. A memory system comprising: a volatile memory; a non-volatile memory arranged in blocks; and a controller coupled to the volatile memory and to the non-volatile memory, the controller configured to maintain, in the volatile memory, a list of addresses of erased blocks of the non-volatile memory; wherein the controller is further configured to transfer the list of addresses of erased blocks of the non-volatile memory from the volatile memory to the non-volatile memory when the list is updated to contain a predetermined number of list entries; and wherein the controller is further configured to transfer the list of addresses of erased blocks from the volatile memory to the non-volatile memory concurrently with a transfer of logical to physical mapping information from one or more additional lists in the volatile memory. 11. A memory system comprising: a volatile memory; a non-volatile memory arranged in blocks; and a controller coupled to the volatile memory and to the non-volatile memory, the controller configured to maintain, in the volatile memory, a list of addresses of erased blocks of the non-volatile memory; wherein the controller is further configured to transfer the list of addresses of erased blocks of the non-volatile memory from the volatile memory to the non-volatile memory in response to an operation that would increase the number of list entries to a number equal to or greater than a predetermined number of list entries; and wherein the predetermined number of list entries is greater than one. 12. The memory system of claim 11 , wherein the predetermined number of list entries is a predetermined number of addresses. 13. The memory system of claim 11 , wherein the predetermined number of list entries is a predetermined number of erased blocks. 14. The memory system of claim 13 , wherein the list of addresses of erased blocks is limited to a predetermined number of erased blocks regardless of a total number of erased blocks in the non-volatile memory. 15. The memory system of claim 11 , wherein the list of addresses of erased blocks comprises a list of addresses of blocks of the non-volatile memory upon which a block erase operation has been performed. 16. The memory system of claim 11 , wherein the list of addresses of erased blocks comprises a list of addresses of blocks of the non-volatile memory currently available for assignment to a write pointer. 17. The memory system of claim 11 , wherein the list of addresses of erased blocks comprises a list of addresses of blocks of the non-volatile memory currently available for rewriting a control structure of the memory system. 18. The memory system of claim 11 , wherein the controller is further configured to clear the list of addresses of erased blocks of the non-volatile memory after transferring the list from the volatile memory to the non-volatile memory. 19. The memory system of claim 11 , wherein the controller is further configured to initialize the list of addresses of erased blocks of the non-volatile memory from information in the non-volatile memory during initialization of the memory system. 20. A memory system comprising: a volatile memory; a non-volatile memory arranged in blocks; and a controller coupled to the volatile memory and to the non-volatile memory, the controller configured to maintain, in the volatile memory, a list of addresses of erased blocks of the non-volatile memory; wherein the controller is further configured to transfer the list of addresses of erased blocks of the non-volatile memory from the volatile memory to the non-volatile memory in response to an operation that would increase the number of list entries to a number equal to or greater than a predetermined number of list entries; and wherein the controller is further configured to transfer the list of addresses of erased blocks of the non-volatile memory from the volatile memory to the non-volatile memory concurrently with a transfer of logical to physical mapping information from one or more additional lists in the volatile memory.

Assignees

Inventors

Classifications

  • External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators · CPC title

  • Management of blocks · CPC title

  • Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • Improving the reliability of storage systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9489301B2 cover?
Memory systems having a volatile memory, a non-volatile memory arranged in blocks, and a controller coupled to the volatile memory and to the non-volatile memory. The controller is configured to maintain, in the volatile memory, a list of addresses of erased blocks of the non-volatile memory. The list of addresses of erased blocks of the non-volatile memory is limited to a maximum number of lis…
Who is the assignee on this patent?
Micron Technology Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 08 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).