Memory management based on usage specifications

US9513815B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9513815-B2
Application numberUS-201414523006-A
CountryUS
Kind codeB2
Filing dateOct 24, 2014
Priority dateDec 19, 2013
Publication dateDec 6, 2016
Grant dateDec 6, 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.

A method is provided for managing a memory device including a plurality of physical memory segments. A logical memory space is classified into a plurality of classifications based on usage specifications. The plurality of physical memory segments is allocated to corresponding logical addresses based on the plurality of classifications, and on usage statistics of the physical memory segments. A data structure is maintained recording translation between logical addresses in the logical memory space and physical addresses of the physical memory segments. The plurality of classifications includes a first classification and a second classification having different usage statistic requirements than the first classification. Logical addresses having the second classification can be redirected to physical segments allocated to logical addresses having the first classification, and the data structure can be updated to record redirected logical addresses. A free command can release a physical memory segment allocated for main memory use.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: a memory device including a plurality of physical memory segments; and a memory controller coupled to the memory device, including: logic to classify a logical memory space into a plurality of classifications based on usage specifications, wherein the plurality of classifications includes a first classification and a second classification haying different usage statistic requirements than the first classification; logic to allocate the plurality of physical memory segments to corresponding logical addresses based on the plurality of classifications, and on usage statistics of the physical memory segments; logic to receive a command to free a logical memory segment having a first logical segment number relative to a starting logical segment number for logical memory segments in the logical memory space; logic to derive a second logical segment number based on the first logical segment number and the starting logical segment number; logic to translate the second logical segment number to a physical segment number; logic to release a physical memory segment having the physical segment number in the plurality of physical memory segments; and logic to redirect logical addresses having the second classification to physical segments allocated to logical addresses having the first classification, and to update a data structure to record redirected logical addresses, wherein the data structure is maintained recording translation between logical addresses in the logical memory space and physical addresses of the physical memory segments. 2. The apparatus of claim 1 , wherein the memory controller includes: logic to maintain a data structure recording translation between logical addresses in the logical memory space and physical addresses of the physical memory segments. 3. The apparatus of claim 1 , wherein the memory controller includes: logic to maintain a plurality of sets of buckets of free memory segments based on usage statistics of the free memory segments; and logic to allocate a free memory segment to logical address in a particular classification in the plurality of classifications in a bucket corresponding to usage statistics that match the particular classification, and to remove the free memory segment from the bucket after said allocating. 4. The apparatus of claim 3 , wherein the memory controller includes: logic to deallocate a physical memory segment, and to add the physical memory segment to a bucket in a set in the plurality of sets of buckets, wherein the physical memory segment has a usage statistic matching the usage statistics of the bucket to which it is added. 5. The apparatus of claim 1 , wherein the logic to find and allocate includes: in response to a request to allocate a free memory segment to a logical memory segment having the first classification, logic to search for the free memory segment having a write count matching the first classification and lower than write counts of other free memory segments matching the first classification; logic to, if the free memory segment is found, allocate the free memory segment to the logical memory segment, otherwise search for a second free memory segment having a second write count matching the second classification and higher than write counts of other free memory segments matching the second classification; and logic to, if the second free memory segment is found, allocate the second free memory segment to the logical memory segment having the first classification. 6. The apparatus of claim 1 , wherein the memory controller includes: logic to search for a free memory segment having a write count matching the second classification and lower than other write counts of free memory segments matching the second classification; logic to, if the free memory segment is found, allocate the free memory segment to the logical memory segment, otherwise search for a second memory segment having a write count matching the first classification and lower than write counts of other memory segments matching the first classification; and logic to, if the second memory segment is found, search for a second free memory segment having a write count matching the first classification, move data in the second memory segment to the second free memory segment, and then re-allocate the second memory segment to the logical memory segment having the second classification. 7. The apparatus of claim 1 , wherein the memory controller includes: logic responsive to a request to write to a physical memory segment allocated to a logical memory segment having the first classification, to update usage statistics of the physical memory segment; and logic to, if the updated usage statistics have a write count higher than a discarding threshold, allocate a free memory segment having a second write count lower than the discarding threshold to the logical memory segment; and discard the physical memory segment. 8. The apparatus of claim 1 , wherein the memory controller includes: logic responsive to a request to write to a physical memory segment allocated to a logical memory segment having the second classification to update usage statistics of the physical memory segment; and logic to, if the updated usage statistics have a write count higher than a downgrading threshold, allocate a free memory segment having a second write count lower than the downgrading threshold to the logical memory segment. 9. The apparatus of claim 1 , wherein the memory controller includes: logic responsive to a request to link a first range of logical addresses having the first classification to a second range of logical addresses having the second classification to, if a physical memory segment is not allocated to a logical memory segment in the first range of logical addresses or the second range of logical addresses, allocate a free physical memory segment to the logical memory segment; logic to set indicators that indicate that the second range of logical addresses having the second classification is redirected; and logic to set linking information that redirects the second range of logical addresses having the second classification to physical segments allocated to the first range of logical addresses having the first classification. 10. The apparatus of claim 1 , wherein the memory controller includes: logic responsive to a request to unlink a range of logical addresses having the second classification from physical segments allocated to logical addresses having the first classification to reset indicators that indicate that the range of logical addresses having the second classification is redirected; and logic to reset linking information that redirects the range of logical addresses having the second classification. 11. The apparatus of claim 1 , wherein the memory device is on an integrated circuit, and the memory controller comprises logic on the integrated circuit. 12. The apparatus of claim 1 , wherein the memory device comprises memory cells including phase change memory materials. 13. A method for operating a memory device including a plurality of physical memory segments, comprising: classifying logical addresses in a logical memory space into a plurality of classifications based on usage specifications, wherein the plurality of classifications includes a first classification and a second classification having different usage statistic requirements than the first classification, using logic controlling the memory; allocating the plurality of physical memory segments to corresponding logical addresses based on the plurality of classifications, and on

Assignees

Inventors

Classifications

  • Non-volatile memory · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • Free address space management · CPC title

  • Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · 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 US9513815B2 cover?
A method is provided for managing a memory device including a plurality of physical memory segments. A logical memory space is classified into a plurality of classifications based on usage specifications. The plurality of physical memory segments is allocated to corresponding logical addresses based on the plurality of classifications, and on usage statistics of the physical memory segments. A …
Who is the assignee on this patent?
Macronix Int Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 06 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).