Memory pool allocation for a multi-core system

US10635494B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10635494-B2
Application numberUS-201815974480-A
CountryUS
Kind codeB2
Filing dateMay 8, 2018
Priority dateMay 8, 2018
Publication dateApr 28, 2020
Grant dateApr 28, 2020

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.

An apparatus includes processing cores, memory blocks, a connection between each of processing core and memory block, chip selection circuit, and chip selection circuit busses between the chip selection circuit and each of the memory blocks. Each memory block includes a data port and a memory check port. The chip selection circuit is configured to enable writing data from a highest priority core through respective data ports of the memory blocks. The chip selection circuit is further configured to enable writing data from other cores through respective memory check ports of the memory blocks.

First claim

Opening claim text (preview).

We claim: 1. An apparatus, comprising: a plurality of processing cores including a first core and a second core; a pool of memory including a plurality of memory blocks, wherein each memory block includes a data port and a memory check port; first connections between the first core and each of the plurality of memory blocks; second connections between the second core and each of the plurality of memory blocks; and, a chip selection circuit configured to: share access between the first core and the second core to the pool of memory through: enablement of access of data from the first core to the memory blocks through respective data ports of the memory blocks; and enablement of access of data from the second core to the memory blocks through respective memory check ports of the memory blocks; and share access to the pool of memory between the first core, the second core, and a third core of the plurality of processing cores by enabling access of data from the third core to the memory blocks through the respective memory check ports of the memory blocks. 2. The apparatus of claim 1 , wherein the chip selection circuit is further configured to enable access signals from memory test circuits to the memory blocks through the respective memory check ports of the memory blocks. 3. An apparatus, comprising: a plurality of processing cores including a first core and a second core; a pool of memory including a plurality of memory blocks, wherein each memory block includes a data port and a memory check port; first connections between the first core and each of the plurality of memory blocks; second connections between the second core and each of the plurality of memory blocks; and, a chip selection circuit configured to: share access between the first core and the second core to the pool of memory through: enablement of access of data from the first core to the memory blocks through respective data ports of the memory blocks; and enablement of access of data from the second core to the memory blocks through respective memory check ports of the memory blocks; and enable access of data from the first core through respective data ports and enable access of data from the second core through respective memory check ports based on a determination that the first core is a higher priority core than the second core. 4. The apparatus of claim 1 , wherein the chip selection circuit is further configured to simultaneously: enable access of data from the first core to a given memory block through a respective data port of the given memory; and enable access of data from the second core to the given memory block through a respective memory check port of the given memory. 5. The apparatus of claim 1 , wherein the memory blocks are of different sizes. 6. The apparatus of claim 1 , wherein an assignment of memory blocks to respective cores is determined during compilation of software to be executed by the first core and the second core. 7. The apparatus of claim 1 , wherein the chip selection circuit is further configured to: determine from a compilation process an assignment of memory blocks to cores; and based on a determination that a given memory block is not assigned to a core, turn off the given memory block. 8. A method, comprising: accessing a plurality of processing cores including a first core and a second core; accessing a pool of memory including a plurality of memory blocks, wherein each memory block includes a data port and a memory check port; establishing first connections between the first core and each of the plurality of memory blocks; establishing second connections between the second core and each of the plurality of memory blocks; a sharing access between the first core and the second core to the pool of memory, including: enabling access of data from the first core to the memory blocks through respective data ports of the memory blocks; and enabling access of data from the second core to the memory blocks through respective memory check ports of the memory blocks; and sharing the pool of memory between the first core, the second core, and a third core of the plurality of processing cores by enabling access of data from the third core to the memory blocks through the respective memory check ports of the memory blocks. 9. The method of claim 8 , further comprising enabling access signals from memory test circuits to the memory blocks through the respective memory check ports of the memory blocks. 10. A method, comprising: accessing a plurality of processing cores including a first core and a second core; accessing a pool of memory including a plurality of memory blocks, wherein each memory block includes a data port and a memory check port; establishing first connections between the first core and each of the plurality of memory blocks; establishing second connections between the second core and each of the plurality of memory blocks; a sharing access between the first core and the second core to the pool of memory, including: enabling access of data from the first core to the memory blocks through respective data ports of the memory blocks; and enabling access of data from the second core to the memory blocks through respective memory check ports of the memory blocks; and enabling access of data from the first core through respective data ports and enable access of data from the second core through respective memory check ports based on a determination that the first core is a higher priority core than the second core. 11. The method of claim 8 , further comprising, simultaneously: enabling access of data from the first core to a given memory block through a respective data port of the given memory; and enabling access of data from the second core to the given memory block through a respective memory check port of the given memory. 12. The method of claim 8 , wherein the memory blocks are of different sizes. 13. The method of claim 8 , further comprising determining an assignment of memory blocks to respective cores during compilation of software to be executed by the first core and the second core. 14. The method of claim 8 , further comprising: determining from a compilation process an assignment of memory blocks to cores; and based on a determination that a given memory block is not assigned to a core, turning off the given memory block.

Assignees

Inventors

Classifications

  • Pool · CPC title

  • G06F12/023Primary

    Free address space management · CPC title

  • Register allocation; Assignment of physical memory space to logical memory space · CPC title

  • G06F9/5016Primary

    the resource being the memory · CPC title

  • Buffers; Shared memory; Pipes · 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 US10635494B2 cover?
An apparatus includes processing cores, memory blocks, a connection between each of processing core and memory block, chip selection circuit, and chip selection circuit busses between the chip selection circuit and each of the memory blocks. Each memory block includes a data port and a memory check port. The chip selection circuit is configured to enable writing data from a highest priority cor…
Who is the assignee on this patent?
Microchip Tech Inc
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 Apr 28 2020 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).