Apparatus and method for scratch pad memory management

US9152547B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9152547-B2
Application numberUS-59194609-A
CountryUS
Kind codeB2
Filing dateDec 4, 2009
Priority dateJul 16, 2009
Publication dateOct 6, 2015
Grant dateOct 6, 2015

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.

Disclosed is a scratch pad memory management device and a method thereof. The scratch pad memory management device divides a scratch pad memory into a plurality of unit blocks, maintains a memory allocation table corresponding to indices of the plurality of unit blocks in a main memory, and manages the scratch pad memory.

First claim

Opening claim text (preview).

What is claimed is: 1. A scratch pad memory management device, the device comprising: a scratch pad memory being divided into a plurality of unit blocks; a main memory; a memory allocation table; and a memory managing unit being maintained in the main memory to manage the scratch pad memory, wherein the memory managing unit generates a memory chunk comprising at least one of the plurality of unit blocks of the scratch pad memory, and classifies the memory chunk as one of a free memory, an allocated memory, and a fixed block pool to manage the memory chunk, and wherein the memory managing unit stores, in the memory allocation table, metadata to manage the plurality of unit blocks, and wherein a size of the fixed block pool is a non-integer multiple of the unit block. 2. The device of claim 1 , wherein indices of the plurality of unit blocks respectively correspond to indices of the metadata stored in the memory allocation table. 3. The device of claim 2 , wherein the scratch pad memory generates a free list where free memories are connected, the free list being generated for each size of the free memory, and stores, in a prior block of the free memory, an index of a previous free memory and an index of a subsequent free memory. 4. The device of claim 3 , wherein: the memory managing unit further comprises a memory allocating unit to manage memory allocation in response to a memory use request, the memory allocating unit allocates a memory of a fixed block pool when a size of a requested memory is a size managed by the fixed block pool, and allocates a free memory of a free list, the size of the free memory being greater than the size of the requested memory and closest to the size of the requested memory when the size of the requested memory is not a size managed by the fixed block pool. 5. The device of claim 4 , wherein, when a difference between the size of the free memory of the free list and the size of the requested memory is greater than or equal to the unit block, the memory allocating unit separates, from the free memory, a free memory corresponding to the difference and adds the separated free memory to a corresponding free list. 6. The device of claim 3 , wherein the memory managing unit further comprises a memory releasing unit to manage a memory release in response to a memory release request, wherein the memory releasing unit comprises: a memory incorporating unit, when a memory prior or subsequent to a memory chunk to be released is a free memory, to incorporate the free memory and the memory chunk to be released; a memory allocation table updating unit to update the memory allocation table in response to the memory release; a free list updating unit to update the free list in response to the memory release; a location calculating unit to calculate a fixed block location of the memory chunk to be released; and a bitmap updating unit to update a bitmap that manages the allocation or release of the fixed block. 7. The device of claim 1 , wherein, when the classified memory chunk is classified as the free memory, the memory managing unit records a size of an empty memory in a prior one of the unit blocks and a subsequent block of the memory allocation table that manages the free memory. 8. The device of claim 1 , wherein, when the classified memory chunk is classified as the allocated memory, the memory managing unit records a size of a memory that is allocated in a prior one of the unit blocks and a subsequent block of the memory allocation table that manages the allocated memory. 9. The device of claim 1 , wherein, when the memory chunk is classified as the fixed block pool, the memory managing unit includes at least one of location information and identification information in the memory allocation table that manages the fixed block pool, the identification information identifying the fixed block pool, and the location information recognizing a location in the fixed block pool. 10. The device of claim 1 , wherein the fixed block pool of the scratch pad memory comprises: a first storing area to store a size of a fixed block; a second storing area to store an index of a previous fixed block pool; a third storing area to store an index of a subsequent fixed block pool; a fourth storing area to indicate an allocation condition and a release condition of each of the fixed blocks; and a fifth storing area to store use data. 11. A scratch pad memory management method, the method comprising: dividing a scratch pad memory into a plurality of unit blocks; maintaining a memory allocation table in a main memory to manage the scratch pad memory; and managing the scratch pad memory comprising using the memory allocation table having indices respectively corresponding to the plurality of unit blocks, wherein the managing of the scratch pad memory comprises: generating a memory chunk including at least one unit block among the plurality of unit blocks of the scratch pad memory; and classifying the memory chunk as one of a free memory, an allocated memory, and a fixed block pool, wherein a size of the fixed block pool is a non-integer multiple of the unit block. 12. The method of claim 11 , wherein the managing of the scratch pad memory comprises recording a size of an empty memory in a prior block and a subsequent block of a memory allocation table that manages the free memory, when the memory chunk is classified as the free memory. 13. The method of claim 11 , wherein the managing of the scratch pad memory comprises recording a size of a memory that is allocated, in a prior block and a subsequent block of a memory allocation table that manages the allocated memory, when the memory chunk is classified as the allocated memory. 14. The method of claim 11 , wherein the managing of the scratch pad memory comprises including at least one of location information and identification information in the memory allocation table that manages the fixed block pool, the identification information identifying the fixed block pool and the location information recognizing a location in the fixed block pool, when the memory chunk is classified as the fixed block pool. 15. The method of claim 11 , wherein the managing of the scratch pad memory comprises: generating a free list where free memories are connected; and storing an index of a previous free memory and an index of a subsequent free memory in the prior block of the free memory. 16. The method of claim 15 , wherein the managing of the scratch pad memory comprises: allocating a memory in response to a memory use request; and releasing the memory in response to a memory release request. 17. The method of claim 16 , wherein the allocating of the memory comprises allocating a memory of the fixed block pool when a size of the requested memory is a size managed by the fixed block pool, and allocating a free memory of a free list, the size of the free memory being greater than the size of the requested memory and closest to the size of the requested memory when the size of requested memory is not a size managed by the fixed block pool. 18. The method of claim 17 , wherein, when a difference between the size of the free memory of the free list and the size of the request memory is greater than or equal to the unit block, the allocating of the memory comprises: separating, from the free memory, a free memory corresponding to the difference; and adding the separated free memory to a corresponding free list. 19. A non-transitory computer readable recording media storing a program imp

Assignees

Inventors

Classifications

  • G06F12/023Primary

    Free address space management · CPC title

  • using tables or multilevel address translation means (G06F12/023 takes precedence; address translation in virtual memory systems G06F12/10) · CPC title

  • Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06) · CPC title

  • G06F12/06Primary

    Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication (G06F12/08 takes precedence) · 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 US9152547B2 cover?
Disclosed is a scratch pad memory management device and a method thereof. The scratch pad memory management device divides a scratch pad memory into a plurality of unit blocks, maintains a memory allocation table corresponding to indices of the plurality of unit blocks in a main memory, and manages the scratch pad memory.
Who is the assignee on this patent?
Lee Jae Don, Lee Shi Hwa, Lee Seung Won, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F12/023. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 06 2015 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).