Memory partitioning for a computing system with memory pools

US2018239709A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018239709-A1
Application numberUS-201715440242-A
CountryUS
Kind codeA1
Filing dateFeb 23, 2017
Priority dateFeb 23, 2017
Publication dateAug 23, 2018
Grant date

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 computing system comprises at least one processing unit, at least one memory controller in communication with the processing unit, and a main memory in communication with the processing unit through the memory controller. A memory hierarchy of the computing system includes at least one cache, the memory controller, and the main memory. The memory hierarchy is divided into a plurality of memory pools. The main memory comprises a set of memory modules split in ranks each having a rank address defined by a set of rank address bits. Each rank has a set of memory devices comprising one or more banks each having a bank address defined by a set of bank address bits. A plurality of threads execute on the processing unit, and are assigned to the memory pools based on one or more memory partitioning techniques, including bank partitioning, rank partitioning, or memory controller partitioning.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computing system, comprising: at least one processing unit; at least one memory controller in operative communication with the at least one processing unit, with or without cache; and a main memory in operative communication with the at least one processing unit through the at least one memory controller; wherein a memory hierarchy of the computing system includes at least one cache, the at least one memory controller, and the main memory, wherein the memory hierarchy is divided into a plurality of memory pools; wherein the main memory comprises a set of memory modules split in ranks each having a rank address defined by a set of rank address bits, and each rank having a set of memory devices, each of the memory devices comprising one or more banks each having a bank address defined by a set of bank address bits; wherein a plurality of threads execute on the at least one processing unit and are assigned to the memory pools based on one or more memory partitioning techniques comprising: bank partitioning, which uses the bank address bits to define a size and pattern of one or more of the memory pools; rank partitioning, which uses the rank address bits to access the one or more ranks; or memory controller partitioning, which uses memory controller interleaving. 2 . The computing system of claim 1 , wherein the main memory comprise Dynamic Random Access Memory (DRAM). 3 . The computing system of claim 1 , wherein the threads are also assigned to the memory pools based on a cache partitioning technique, which uses cache index address bits to define a size and number of cache partitions. 4 . The computing system of claim 1 , wherein at least some of the threads are assigned to the same memory pool. 5 . The computing system of claim 1 , wherein at least some of the threads are respectively assigned to different memory pools. 6 . The computing system of claim 1 , wherein the at least one processing unit comprises one or more Central Processing Unit (CPU) cores. 7 . The computing system of claim 6 , wherein at least some of the threads are mapped onto the same CPU core. 8 . The computing system of claim 6 , wherein at least some of the threads are respectively mapped onto different CPU cores. 9 . The computing system of claim 1 , wherein at least some of the memory pools are respectively mapped, in a one to one (1:1) correspondence, to the at least one memory controller, the one or more ranks, or the one or more banks. 10 . The computing system of claim 1 , wherein at least some of the memory pools are respectively mapped, in a one to many (1:N) correspondence, to multiples of the at least one memory controller, the one or more ranks, and the one or more banks. 11 . An avionics computer system, comprising: a multi-core processor unit, comprising: one or more processor clusters, each of which comprise a plurality of central Central Processing Unit (CPU) cores, each of the cores having a private level first cache and a shared level second cache; an interconnect operatively coupled to the one or more processor clusters; and one or more memory controllers in operative communication with the one or more processor clusters through the interconnect; a main memory in operative communication with the one or more processor clusters through the one or more memory controllers, wherein a memory hierarchy of the avionics computer system includes at least one of the first or second caches, the one or more memory controllers, and the main memory, wherein the memory hierarchy is divided into a plurality of memory pools; wherein the main memory comprises a set of Dual In-line Memory Modules (DIMMs) split in ranks each having a rank address defined by a set of rank address bits, and each rank having a set of Dynamic Random Access Memory (DRAM) devices, each of the DRAM devices comprising one or more banks each having a bank address defined by a set of bank address bits; wherein a plurality of threads execute on the CPU cores, wherein the threads are assigned to the memory pools based on one or more memory partitioning techniques comprising: bank partitioning, which uses the bank address bits to define a size and pattern of one or more of the memory pools; rank partitioning, which uses the rank address bits to access the one or more ranks; or memory controller partitioning, which uses memory controller interleaving to either fairly distribute the memory requests to multiple memory controllers or completely isolate the memory requests to a particular memory controller; wherein the avionics computer system is implemented as part of an avionics platform onboard an aircraft. 12 . The avionics computer system of claim 11 , wherein one or more of the threads are also assigned to one or more of the memory pools based on a cache partitioning technique, which uses cache index address bits to define a size and number of cache partitions. 13 . The avionics computer system of claim 11 , wherein at least some of the threads are assigned to the same memory pool. 14 . The avionics computer system of claim 11 , wherein at least some of the threads are respectively assigned to different memory pools. 15 . The avionics computer system of claim 11 , wherein at least some of the threads are mapped onto the same CPU core. 16 . The avionics computer system of claim 11 , wherein at least some of the threads are respectively mapped onto different CPU cores. 17 . The avionics computer system of claim 11 , wherein at least some of the memory pools are respectively mapped, in a one to one (1:1) correspondence, to the one or more memory controllers, the one or more ranks, or the one or more banks. 18 . The avionics computer system of claim 11 , wherein at least some of the memory pools are respectively mapped, in a one to many (1:N) correspondence, to multiples of the one or more memory controllers, the one or more ranks, and the one or more banks. 19 . A method of operating a computing system, the method comprising: dividing a memory hierarchy of the computing system into a plurality of memory pools, the memory hierarchy including at least one cache, at least one memory controller, and a main memory; wherein the main memory comprises a set of memory modules split in ranks each having a rank address defined by a set of rank address bits, and each rank having a set of memory devices, each of the memory devices comprising one or more banks each having a bank address defined by a set of bank address bits; and assigning each of a plurality of threads, which execute on at least one processing unit in the computing system, to one or more of the memory pools based on one or more memory partitioning techniques comprising: bank partitioning, which uses the bank address bits to define a size and pattern of one or more of the memory pools; rank partitioning, which uses the rank address bits to access the one or more ranks; or memory controller partitioning, which uses memory controller interleaving to either fairly distribute the memory requests to multiple memory controllers or completely isolate the memory requests to a particular memory controller. 20 . The method of claim 19 , wherein one or more of the threads are also assigned to one or more of the memory pools based on a cache partitioning technique, which uses cache index address bits to define a size and number of cache partitions.

Assignees

Inventors

Classifications

  • Vehicle or other transportation · CPC title

  • Cache with interleaved addressing · CPC title

  • of parts of caches, e.g. directory or tag array · CPC title

  • with multilevel cache hierarchies · CPC title

  • for multiprocessing or multitasking · 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 US2018239709A1 cover?
A computing system comprises at least one processing unit, at least one memory controller in communication with the processing unit, and a main memory in communication with the processing unit through the memory controller. A memory hierarchy of the computing system includes at least one cache, the memory controller, and the main memory. The memory hierarchy is divided into a plurality of memor…
Who is the assignee on this patent?
Honeywell Int Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0895. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Aug 23 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).