PROVIDING MEMORY BANDWIDTH COMPRESSION USING BACK-TO-BACK READ OPERATIONS BY COMPRESSED MEMORY CONTROLLERS (CMCs) IN A CENTRAL PROCESSING UNIT (CPU)-BASED SYSTEM

Providing memory bandwidth compression using back-to-back read operations by compressed memory controllers (CMCs) in a central processing unit (CPU)-based system is disclosed. In this regard, in some aspects, a CMC is configured to receive a memory read request to a physical address in a system memo...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: SCHUH, BRIAN, JOEL, HEDDES, MATTHEUS, CORNELIS ANTONIUS ADRIANUS, VAIDHYANATHAN, NATARAJAN, TROMBLEY, MICHAEL, RAYMOND, VERRILLI, COLIN, BEATON
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Providing memory bandwidth compression using back-to-back read operations by compressed memory controllers (CMCs) in a central processing unit (CPU)-based system is disclosed. In this regard, in some aspects, a CMC is configured to receive a memory read request to a physical address in a system memory, and read a compression indicator (CI) for the physical address from error correcting code (ECC) bits of a first memory block in a memory line associated with the physical address. Based on the CI, the CMC determines whether the first memory block comprises compressed data. If not, the CMC performs a back-to-back read of one or more additional memory blocks of the memory line in parallel with returning the first memory block. Some aspects may further improve memory access latency by writing compressed data to each of a plurality of memory blocks of the memory line, rather than only to the first memory block. L'invention concerne la fourniture d'une compression de largeur de bande de mémoire à l'aide d'opérations de lecture consécutive par des contrôleurs de mémoire compressée (CMC) dans un système basé sur une unité centrale de traitement (CPU). À cet égard, selon certains aspects, un CMC est configuré pour recevoir une demande de lecture mémoire à une adresse physique dans une mémoire système, et pour lire un indicateur de compression (CI) pour l'adresse physique à partir de bits de code de correction d'erreur (ECC) d'un premier bloc de mémoire dans une ligne de mémoire associée à l'adresse physique. En se basant sur le CI, le CMC détermine si le premier bloc de mémoire comprend des données compressées. Si ce n'est pas le cas, le CMC effectue une lecture consécutive d'un ou de plusieurs autres blocs de mémoire de la ligne de mémoire en parallèle avec le renvoi du premier bloc de mémoire. Certains aspects de l'invention peuvent en outre améliorer la latence d'accès à la mémoire par écriture de données compressées dans chacun des blocs d'une pluralité de blocs de mémoire de la ligne de mémoire, et non pas uniquement dans le premier bloc de mémoire.