DE102020119400A1 - Techniken zum setzen eines 2-ebenen-auto-schliess-timers zum zugriff auf eine speichervorrichtung - Google Patents

Techniken zum setzen eines 2-ebenen-auto-schliess-timers zum zugriff auf eine speichervorrichtung Download PDF

Info

Publication number
DE102020119400A1
DE102020119400A1 DE102020119400.5A DE102020119400A DE102020119400A1 DE 102020119400 A1 DE102020119400 A1 DE 102020119400A1 DE 102020119400 A DE102020119400 A DE 102020119400A DE 102020119400 A1 DE102020119400 A1 DE 102020119400A1
Authority
DE
Germany
Prior art keywords
cache line
bank
access
level
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020119400.5A
Other languages
English (en)
Inventor
Vivek Kozhikkottu
Suresh Chittor
Esha Choukse
Shankar Ganesh Ramasubramanian
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102020119400A1 publication Critical patent/DE102020119400A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0851Cache with interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/684TLB miss handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Techniken zum Setzen eines 2-Ebenen-Auto-Schließ-Timers zum Zugriff auf eine Speichervorrichtung umfassen Beispiele für das Setzen eines ersten und zweiten Zeitwerts für den 2-Ebenen-Auto-Schließ-Timer zum Bewirken, dass sich Zeilen, auf die zugriffen wird, nach einem Cache-Linien-Zugriff auf eine Zeile einer Bank von Speichervorrichtungen automatisch schließen. Bei diesen Beispielen erfolgt der Cache-Linien-Zugriff als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die entweder sukzessive oder nicht sukzessive Cache-Linien-Zugriffe auf die Bank von Speichervorrichtungen bewirkt.

Description

  • TECHNISCHES GEBIET
  • Beschreibungen betreffen allgemein Techniken zum Zugreifen auf Speicher.
  • HINTERGRUND
  • Datenverarbeitungsplattformen, die dynamische Direktzugriffsspeicher- bzw. DRAM-Systeme umfassen, können DRAM-Systeme so auslegen, dass sie mehrere Kanäle, Stufen und Bänke aufweisen, um parallelen Zugriff auf DRAM-Vorrichtungen der DRAM-Systeme zu ermöglichen. Dieser parallele Zugriff kann die Speicherzugriffsbandbreite erhöhen, um strenge Latenz- und Speicherkapazitätsbedürfnisse von Datenverarbeitungs-Plattformen, die Zentralverarbeitungseinheiten mit mehreren Kernen und/oder Prozessor-Sockets, die über die mehreren Kanäle mit einem DRAM-System gekoppelt sind, besser zu erfüllen. Diese DRAM-Vorrichtungen eines DRAM-Systems können mehrere DRAM-Chips oder -Dies umfassen, die in einem in mehreren Bänken angeordneten Rang enthalten sind. Die Bänke können ferner in mehrere Zeilen aufgeteilt sein, die die mehreren DRAM-Chips überspannen, um größere Speicheradressenkapazität für den Zugriff auf DRAM-Systeme bereitzustellen. Jede Bank kann ferner in mehrere Spalten aufgeteilt sein, um Lokalität bereitzustellen.
  • In einem arbeitenden DRAM-System kann bei einer gegebenen Bank entweder eine Zeile offen sein oder es können keine Zeilen offen sein. Speicherelemente oder Zellen in einer Zeile werden typischerweise als eine Seite oder Speicherseite identifiziert. In einigen Beispielen wird, um auf Daten in einer Seite zuzugreifen, die Seite geöffnet oder aktiviert. Das Öffnen der Seite bewirkt, dass die in den Speicherzellen der Seite gehaltenen Daten in einen Puffer (z.B. einen Leseverstärker) geladen werden, der der Bank zugeordnet ist, auf die zugegriffen wird. Dies erlaubt einem Lesevorgang oder einem Schreibvorgang, auf Daten in der Seite zuzugreifen. Zugreifen auf eine bereits offene Zeile/Seite der gegebenen Bank wird gewöhnlich als „Seitentreffer“ bezeichnet. Zugreifen auf eine Bank, bei der keine Zeilen offen sind, wird gewöhnlich als „Leertreffer“ bezeichnet. Das Zugreifen auf eine nicht offene Zeile einer Bank, wenn eine getrennte Zeile der Bank immer noch offen ist, wird gewöhnlich als „Seitenfehltreffer“ bezeichnet. Ein Seitentreffer wird verglichen mit einem Leertreffer eine niedrigere Zugriffslatenz aufweisen, weil es während eines Seitentreffers nicht notwendig ist, eine Seite zu öffnen oder zu aktivieren, bevor ein Anforderungszugriff stattfinden kann. In der Zwischenzeit muss für einen Leertreffer die Seite geöffnet werden, und die Inhalte der Seite werden in den Puffer geladen, bevor auf die Speicherzellen zugegriffen werden kann. Außerdem weist ein Leertreffer verglichen mit einem Seitenfehltreffer eine niedrigere Zugriffslatenz auf, weil bei einem Seitenfehltreffer die immer noch geöffnete Seite geschlossen werden muss, bevor die nicht geöffnete Zeile geöffnet werden kann.
  • Figurenliste
    • 1 zeigt ein beispielhaftes System.
    • 2 zeigt einen beispielhaften Rang.
    • 3 zeigt eine beispielhafte Adressenverschachtelungsrichtlinie.
    • 4A-B zeigen ein beispielhaftes Schema.
    • 5 zeigt einen beispielhaften Cache-Strom.
    • 6 zeigt einen beispielhaften Automaten.
    • 7 zeigt einen beispielhaften ersten Logikfluss.
    • 8 zeigt eine beispielhafte Vorrichtung.
    • 9 zeigt einen beispielhaften zweiten Logikfluss.
    • 10 zeigt ein beispielhaftes Speichermedium.
    • 11 zeigt eine beispielhafte Datenverarbeitungsplattform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Betriebsleistungsfähigkeit für DRAM-Systeme kann stark davon abhängen, wann eine geöffnete Zeile/Seite für eine Bank einer DRAM-Vorrichtung geschlossen wird. Einige DRAM-Vorrichtungen implementieren Auto-Schließ-Timer zum Schließen einer Zeile nach einer vorbestimmten Zeit nach einem letzten Zugriff auf eine Bank. In einem Beispiel wird auf eine Zeile ,x' einer Bank zugegriffen. Ein nächster Zugriff auf die Bank kann entweder auf dieselbe Zeile ,x' oder auf eine andere Zeile ,y' erfolgen. Bei diesem Beispiel wird, wenn ein anderer Zugriff auf Zeile ,x' auftritt und Zeile ,x' aufgrund eines Auto-Schließ-Timers geschlossen wurde, der andere Zugriff gewöhnlich als Leertreffer bezeichnet, der ein Seitentreffer gewesen sein könnte, wenn der Auto-Schließ-Timer mit einem höheren Zeitwert gesetzt worden wäre. Dies wäre ein Grund dafür, den Zeitwert des Auto-Schließ-Timers zu vergrößern, so dass die geöffnete Zeile lang genug offen gehalten wird, um immer noch für den anderen Zugriff offen gehalten zu werden und somit zu einem Seitentreffer zu führen. Diese erste Art von Zugriff kann als ein „Zugrifftyp I“ bezeichnet werden. Wenn dagegen nach Zugriff auf Zeile „x“ die Zeile „y“ für Zugriff ausgewählt wurde, aber Zeile „x“ immer noch offen ist, weil der Auto-Schließ-Timer noch nicht abläuft, tritt ein Seitenfehltreffer auf, der ein Leertreffer gewesen sein könnte, wenn der Auto-Schließ-Timer mit einem niedrigeren Zeitwert gesetzt worden wäre. Dieser Seitenfehltreffer, der ein Leertreffer gewesen sein könnte, wäre ein Grund zum Vermindern des Zeitwerts des Auto-Schließ-Timers. Diese Art von Zugriff kann als „Zugrifftyp II“ bezeichnet werden. Ein Zugriff, bei dem ein Leertreffer vorkommt, hat verglichen mit einem Zugriff des Typs II, bei dem ein Seitenfehltreffer vorkommt, eine niedrigere Zugriffslatenz. Ein Ziel für eine Auto-Ziel-Richtlinie wäre eine höhere Häufigkeit von Zugriffen des Typs I als von Zugriffen des Typs II.
  • Eine als Adressenverschachtelung bekannte Technik kann (z.B. durch einen Speichercontroller) implementiert werden, um auf DRAM-Vorrichtungen eines DRAM-Systems zuzugreifen. Adressenverschachtelung kann Zugriff auf verschiedene Kanäle, Bänke und Ränke umfassen, um über Parallelismus auf Bank-Ebene Datenbandbreitenvorteile zu erhalten. Eine physische Speicheradresse kann über mehrere Kanäle gezogen werden, um ein Gleichgewicht zwischen Seitentreffern und Parallelismus auf Bank-Ebene zu erzielen. Zum Beispiel können physische Speicheradressen für einen Strom von Cache-Linien (z.B. Cache-Liniengrößen von 64 Byte) über mehrere Kanäle gezogen werden.
  • In einigen Beispielen kann das Ziehen von physischen Speicheradressen für einen Strom von Cache-Linien über einen ersten und zweiten Kanal dergestalt sein, dass physische Adressen einer ersten Anzahl des Stroms von Cache-Linien über eine Zeile einer ersten Bank verteilt werden können, die auf den ersten Kanal abgebildet wird, und eine zweite Anzahl des Stroms von Cache-Linien über eine Zeile einer zweiten Bank verteilt werden kann, die auf den zweiten Kanal abgebildet wird. Wenn somit eine Anforderung empfangen wird, auf physische Adressen für den Cache-Linienstrom zuzugreifen, kann auf verschachtelte Weise auf die erste und zweite Bank zugegriffen werden, um Speicherzugriffsbandbreite zu vergrößern. Die verschachtelte Weise dieser Zugriffe führt zu einer Inter-Ankunftszeit auf zwei Niveaus zwischen Zugriffen auf dieselbe Bank. Ein erstes Niveau ist dabei eine Zeit für das Zugreifen auf Cache-Linien, die über eine Zeile einer gegebenen Bank verteilt sind, und ein zweites Niveau ist dabei, wenn nachfolgend auf die Zeile oder eine andere Zeile der gegebenen Bank zugegriffen wird.
  • Gemäß einigen Beispielen kann eine Adressenverschachtelungsrichtlinie eine 4-Wege-Verschachtelung umfassen, die physische Adressen von ersten vier angrenzenden Cache-Linien eines Stroms von Cache-Linien auf einen ersten Kanal und eine erste Bank abbildet, physische Adressen von nächsten vier angrenzenden Cache-Linien des Stroms auf einen zweiten Kanal und eine zweite Bank abbildet, physische Adressen nächster vier angrenzender Cache-Linien des Stroms auf den ersten Kanal und die erste Bank abbildet und so weiter. Bei diesem Beispiel hätte die 2-Ebenen-Inter-Ankunftszeit eine erste Ebene, die ungefähr eine Zeitdauer zum Zugriff auf eine Cache-Linie an der ersten Bank über den ersten Kanal ist, und eine zweite Ebene ist ungefähr eine Zeitdauer zum Zugriff auf alle vier Cache-Linien an der zweiten Bank über dem zweiten Kanal. Anders ausgedrückt, ist die zweite Ebene die ungefähre Zeit, für die die Cache-Linie von dem ersten Kanal auf den zweiten Kanal verschachtelt ist und der Zugriff auf den ersten Kanal zurückkehrt. Wenn DRAM-Zugriffe gemäß dieser Adressenverschachtelungsrichtlinie erfolgen, können Zugriffe auf die nächsten vier angrenzenden Cache-Linien des Stroms zu dem ersten Kanal und der ersten Bank potentiell Seitentreffer sein, aber der Auto-Schließ-Timer muss eine Zeile der ersten Bank, auf die zuvor zugegriffen wurde, lang genug offenhalten, um die Zeitdauer für den Zugriff auf die vier Cache-Linien an der zweiten Bank über den zweiten Kanal zu berücksichtigen. Anders ausgedrückt, muss der Auto-Schließ-Timer die Zeile lange genug für das Zurückrollen der 4-Wege-Verschachtelung der Adressenverschachtelungsrichtlinie auf das Zugreifen von Zeilen der ersten Bank, die auf den ersten Kanal abgebildet ist, offenhalten.
  • In einigen DRAM-Systemen können Zugriffe auf DRAM-Vorrichtungen Cache-Linien-Ströme verschiedener Länge sehen. Die unterschiedlichen Längen von Cache-Linien-Strömen können eine Eigenschaft von Einzelkern-Zugriffsanforderungen sein, die durch einen Kern einer mit diesen DRAM-Systemen gekoppelten CPU (Zentralverarbeitungseinheit) auferlegt werden. Störungen zwischen Zugriffsanforderungen von verschiedenen Kernen der CPU können auch unterschiedliche Längen verursachen. Das oben erwähnte 2-Ebenen-Inter-Ankunftstiming für Zeilen-/Bankzugriffe macht es schwierig, über einen Einzelebenen-Auto-Schließ-Timer zu verfügen, der sich an 2-Ebenen-Inter-Ankunftszeiten anpassen kann. Abhängig von einer Lernrate dieses Einzelebenen-Auto-Schließ-Timers kann der Einzelebenen-Auto-Schließ-Timer entweder zwischen Timerwerten, die zu niedrig oder zu hoch sind, oszillieren oder einfach an einer gewissen Stelle dazwischen einklingen. Diese Oszillation kann Zugriffe des Typs I verringern und zu einer Zunahme der weniger wünschenswerten Zugriffe des Typs II führen. Verringerung von Zugriffen des Typs I und Vergrößerung von Zugriffen des Typs II vergrößert Gesamt-Zugriffslatenzen. Ein Einzelebenen-Auto-Schließ-Timer kann somit für DRAM-Systeme, die Adressenverschachtelungsrichtlinien implementieren, problematisch sein.
  • 1 zeigt ein beispielhaftes System 100. In einigen Beispielen umfasst, wie in 1 gezeigt, das System 100 einen Prozessor 110, der über jeweilige Kanäle 120, 130, 140, 150, 160 und 170 mit Slots 122-1/2, 132-1/2, 142-1/2, 152-1/2, 162-1/2 und 172-1/2 gekoppelt ist. Bei diesen Beispielen kann der Prozessor 110 einen ersten Speichercontroller 112-1 zur Steuerung von Zugriff auf Speichervorrichtungen (z.B. auf einem DIMM (Zweifach-Inline-Speichermodul) angeordnet) beim Einsatz in den Slots 122-1/2, 132-1/2 oder 142-1/2 und einen zweiten Speichercontroller 112-2 zur Steuerung des Zugriffs auf Speichervorrichtungen bei Einsatz in den Slots 152-1/2, 162-1/2 oder 172-1/2 umfassen.
  • Gemäß einigen Beispielen kann jeder in 1 abgebildete Slot dafür ausgelegt sein, auf getrennten DIMM angeordnete Speichervorrichtungen aufzunehmen. Zum Beispiel in DIMM 105-1 enthaltene Speichervorrichtungen zur Aufnahme in Slot 142-2 oder DIMM 105-2 zur Aufnahme in Slot 152-2. Bei diesen Beispielen können die getrennten DIMM Speichervorrichtungen umfassen, die nichtflüchtige oder flüchtige Arten von Speicher aufweisen. Flüchtige Arten von Speicher wären, aber ohne Beschränkung darauf, DRAM-Typen von flüchtigem Speicher. Wie nachfolgend ausführlicher beschrieben wird, können Speichervorrichtungen, wie etwa in den DIMM 105-1 oder 105-2 enthaltene Speichervorrichtungen, in einem oder mehreren Rängen angeordnet sein, die mehrere Speicherchips oder -dies in einen selben Speicherbus (Adressen + Daten) einbinden können. Jeder Rang kann in mehrere Bänke aufgeteilt sein, die die mehreren Speicherchips oder -dies überspannen. Wie auch nachfolgend ausführlicher beschrieben wird, können Bänke ferner in mehrere Zeilen aufgeteilt sein, die die mehreren DRAM-Chips überspannen, um größere Speicheradressenkapazität für den Zugriff auf DRAM-Systeme bereitzustellen. Außerdem können jeweilige Bänke ferner in mehrere Spalten aufgeteilt sein, um Lokalität zum Identifizieren einer spezifischen physischen Speicheradresse für eine gegebene Zeile zu gewährleisten.
  • In einigen Beispielen umfasst, wie in 1 gezeigt, der Prozessor 110 einen Speichercontroller 112-1, der mit Kanälen 120, 130 und 140 gekoppelt ist, und einen Speichercontroller 112-2, der mit Kanälen 150, 160 und 170 gekoppelt ist. Beispiele sind nicht auf einen Prozessor beschränkt, der zwei getrennte Speichercontroller umfasst, die mit drei Datenkanälen gekoppelt sind. Beispiele können einen Prozessor mit einem einzigen Speichercontroller umfassen, der mit mehr oder weniger als 3 Datenkanälen gekoppelt ist, die mit dem einzigen Speichercontroller gekoppelt sind. Andere Beispiele wären mehr als zwei Speichercontroller und mehr oder weniger als 6 Datenkanäle. Für das in 1 gezeigte Beispiel können, um Speicherzugriffsanforderungs-Engpässe zu verringern, mehrere Kanäle 120, 130, 140, 150, 160 und 170 in dem System 100 verwendet werden. Gemäß einigen Beispielen kann der Prozessor 110 einen Einzel- oder Mehrkernprozessor repräsentieren.
  • Gemäß einigen Beispielen kann eine 2-Kanal-Adressenverschachtelungsrichtlinie 101 implementiert werden, die Ziehen von physischen Speicheradressen für einen Strom von Cache-Linien (z.B. jeweils einer Größe von 64 Byte), die in Speichervorrichtungen gespeichert sind, die in den DIMM 105-1 und 105-2 enthalten sind, über die Kanäle 140 und 150 umfasst, um gewissermaßen einen Kompromiss zwischen Seitentreffern und Parallelismus auf Bankebene zu treffen. Wie nachfolgend ausführlicher beschrieben wird, können Logik und/oder Merkmale eines Speichercontrollers, wie etwa die Timer-Logik 114, in der Lage sein, einen Mehrebenen-Auto-Schließ-Timer zu setzen und einzustellen, um Zeilen einer Bank, auf die gemäß einer Adressenverschachtelungsrichtlinie, wie etwa der 2-Kanal-Adressenverschachtelungsrichtlinie 101, zugegriffen wird, zu schließen, um 2-Ebenen-Inter-Ankunftszeiten zu berücksichtigen, die durch Implementierung einer Mehrkanal-Adressenverschachtelungsrichtlinie erzeugt werden.
  • Gemäß einigen Beispielen können mindestens einige der einen oder mehreren Speichervorrichtungen, die in DIMM enthalten sind, die in die Slots 122-1/2, 132-1/2, 142-1/2, 152-1/2, 162-1/2 oder 172-1/2 und die Kanäle 120, 130, 140, 150, 160 oder 170 einzusetzen sind, um auf diese Speichervorrichtungen zuzugreifen, dafür ausgelegt sein, gemäß verschiedenen Speichertechnologien zu arbeiten. Die verschiedenen Speichertechnologien wären zum Beispiel, aber ohne Beschränkung darauf, DDR4 ( DDR, Version 4, anfängliche Spezifikation veröffentlicht im September 2012 durch JEDEC), LPDDR4 (LOW POWER DOUBLE DATA RATE (LPDDR), Version 4, JESD209-4, ursprünglich veröffentlicht von JEDEC im August 2014), WI02 (Wide I/O 2 (WideI02), JESD229-2, ursprünglich veröffentlicht von JEDEC im August 2014), HBM (HIGH BANDWIDTH MEMORY DRAM, JESD235, ursprünglich veröffentlicht von JEDEC im Oktober 2013), HBM2, Version 2, JESD235A, ursprünglich veröffentlicht von JEDEC im Januar 2016, und/oder andere Technologien auf der Basis von Ableitungen oder Erweiterungen solcher Spezifikationen. Die verschiedenen Speichertechnologien können auch aktuell entwickelte Speichertechnologien umfassen, die, aber ohne Beschränkung darauf, DDR5 (DDR, Version 5, aktuell in Besprechung durch JEDEC), LPDDR5 (LPDDR, Version 5, aktuell in Besprechung durch JEDEC), HBM3 (HBM, Version 3, aktuell in Besprechung durch JEDEC), NVDIMM-P (nichtflüchtige DIMM-Persistent, aktuell in Besprechung durch JEDEC) und/oder andere neue Technologien auf der Basis von Ableitungen oder Erweiterungen dieser sich entwickelnden Speichertechnologien.
  • Gemäß einigen Beispielen können in die Slots 122-1/2, 132-1/2, 142-1/2, 152-1/2, 162-1/2 oder 172-1/2 einzusetzende DIMM, wie etwa die DIMM 105-1 oder 105-2, dafür ausgelegt sein, als RDIMM (registrierte DIMM), LRDIMM (lastreduzierte DIMM), ein FB-DIMM (voll gepuffertes DIMM), ein UDIMM (ungepuffertes DIMM) oder SODIMM (kleiner Umriss) zu funktionieren. Beispiele sind nicht nur auf diese DIMM-Entwürfe beschränkt.
  • In einigen Beispielen können Speichervorrichtungen oder -dies, die in DIMM enthalten sind, die in die Slots 122-1/2, 132-1/2, 142-1/2, 152-1/2, 162-1/2 oder 172-1/2 einzusetzen sind, nichtflüchtige und/oder flüchtige Arten von Speicher umfassen. Flüchtige Arten von Speicher wären, aber ohne Beschränkung darauf, RAM (Direktzugriffsspeicher), DRAM (dynamischer RAM), DDR-SDRAM (Doppeldatenraten-Synchron-Dynamischer RAM), SRAM (statischer Direktzugriffsspeicher), T-RAM (Thyristor-RAM) oder Z-RAM (Null-Kondensator-RAM). Nichtflüchtige Arten von Speicher können byte- oder blockadressierbare Arten von nichtflüchtigem Speicher umfassen, die dreidimensionale (3D-) Kreuzpunkt-Speicherstruktur aufweisen, die, aber ohne Beschränkung darauf Chalkogenid-Phasenänderungsmaterial (z.B. Chalkogenidglas) umfasst, was im Folgenden als „3D-Kreuzpunktspeicher“ bezeichnet wird. Nichtflüchtige Arten von Speicher können auch andere Arten von byte- oder blockadressierbarem nichtflüchtigem Speicher umfassen, wie etwa, aber ohne Beschränkung darauf, Mehrschwellenpegel-NAND-Flash-Speicher, NOR-Flash-Speicher, Einzel- oder Mehrpegel-Phasenänderungsspeicher (PCM), resistiven Speicher, Nanodraht-Speicher, ferroelektrischen Transistor-Direktzugriffsspeicher (FeTRAM), anti-ferroelektrischen Speicher, resistiven Speicher mit Metalloxidbasis, Sauerstoffleerstellenbasis und CB-RAM-Speicher (Conductive Bridge Random Access Memory), einen Spintronic-Magnetsperrschichtspeicher, einen MTJ-Speicher (Magnetic Tunneling Junction), einen DW-Speicher (Domänenband) und SOT-Speicher (Spin Orbit Transfer), einen Speicher auf Thyristorbasis, einen magnetoresistiven Direktzugriffsspeicher (MRAM) mit Memristor-Technologie, STT-MRAM (Spin Transfer Torque MRAM) oder eine Kombination beliebiger der obigen.
  • 2 zeigt einen beispielhaften Rang 200 für das DIMM 105-1. In einigen Beispielen kann, wie zuvor erwähnt, Speicher räumlich zu Kanälen, Rängen, Bänken, Zeilen und Spalten organisiert werden. Wie in 2 gezeigt, kann in einigen Beispielen der Rang 200 so organisiert werden, dass er vier Bänke 220-1 bis 220-4 (Beispiele sind nicht auf vier Bänke beschränkt) aufweist, die mehrere Speicher-Dies überspannen. Zum Beispiel kann Bank 220-1 die Speicher-Dies 205-1, 205-8, 205-9 und 205-n überspannen, wobei „n“ eine beliebige ganze positive Zahl > 12 ist. Bei einem Speicherzugriff auf Bank 220-1 werden zuerst der Kanal, der Rang und die Bank identifiziert. Dann kann eine gesamte Zeile oder Seite, die in 2 als „Zeile je“ (z.B. mit einer Größe von 8 Kilobyte (KB)) der Bank 220-1 auf eine Menge von Leseverstärkern geladen werden, die in 2 als Leseverstärker 222-1 gezeigt ist. Die Menge von Leseverstärkern kann auch als ein Zeilenpuffer bezeichnet werden. Eine entsprechende Spaltenadresse für diesen Speicherzugriff identifiziert dann einen Lokalitätsbezug zum Lesen und Schreiben von Daten in Bank 220-1.
  • Gemäß einigen Beispielen wird, wenn eine Zeile für mindestens einen Zeitraum offengehalten wird und ein nachfolgender Speicherzugriff auf dieselbe offene Zeile erfolgt (Seitentreffer), die Zugriffslatenz verringert, da die Zeile, auf die nachfolgend zugegriffen wird, nicht erneut in die Leseverstärker 222-1 geladen werden muss. Wenn jedoch der nachfolgende Zugriff auf eine andere Zeile der Bank 220-1 erfolgt (Seitenfehltreffer), müssen die Leseverstärker 222-1 ausgeräumt werden, bevor die andere Zeile geladen wird, und dies erhöht die Zugriffslatenz. Wie oben erwähnt, hat ein Seitenfehltreffer eine höhere Zugriffslatenz als ein Leertrefferzugriff, da das Ausräumen der Leseverstärker 222-1 und anschließende Laden der anderen Zeile länger dauert als nur die andere Zeile zu laden, wenn Zeile x nicht mehr offen ist. Um Zugriffslatenzen zu minimieren, sollte Zeile x lange genug offengehalten werden, um die Wahrscheinlichkeit von Seitentreffern zu maximieren, aber kurz genug, um Seitenfehltreffer zu minimieren. Wie bereits erwähnt, können einige Techniken einen Einzelebenen-Auto-Schließ-Timer verwenden, der eingeleitet wird, sobald Zeile x geöffnet wird, und dann Zeile x automatisch schließt, sobald der Einzelebenen-Auto-Schließ-Timer abläuft. Ein Einzelebenen-Auto-Schließ-Timer kann problematisch sein, wenn Mehrkanal-Adressenverschachtelungsrichtlinien implementiert werden.
  • In einigen Beispielen kann, wie oben für 1 erwähnt, eine 2-Kanal-Adressenverschachtelungsrichtlinie 101 Verwendung des DIMM 105-1 umfassen. Bei diesen Beispielen kann Ziehen physischer Speicheradressen für einen Strom von Cache-Linien über zwei Kanäle zu 2-Ebenen-Inter-Ankunftszeiten führen. Wie bereits erwähnt, kann durch mehrfache Inter-Ankunftszeiten die Verwendung eines Einzelebenen-Auto-Schließ-Timers problematisch werden. Die Verwendung eines Einzelebenen-Auto-Schließ-Timers ist auch problematisch, wenn die Länge von Cache-Linien-Strömen auf der Basis der Art der durch den Prozessor 110 ausgeführten Anwendungen unterschiedlich ist, wenn auf diese Cache-Linien-Ströme zugegriffen wird, oder aufgrund von Störung zwischen Zugriffsanforderungen von verschiedenen Kernen des Prozessors 110 (bei Konfiguration als Mehrkernprozessor). Wie nachfolgend ausführlicher beschrieben wird, können Logik und/oder Merkmale eines Speichercontrollers in einem Prozessor, wie etwa die Timer-Logik 114 des Speichercontrollers 112-1 oder 112-2, zwei getrennte Auto-Schließ-Zeiten für einen Auto-Schließ-Timer mit zwei Ebenen, der im Folgenden als „2-Ebenen-Auto-Schließ-Timer“ bezeichnet wird, setzen und einstellen. Der 2-Ebenen-Auto-Schließ-Timer kann zum Beispiel die durch Implementierung der 2-Kanal-Adressenverschachtelungsrichtlinie 101 erzeugten 2-Ebenen-Inter-Ankunftszeiten berücksichtigen.
  • 3 zeigt eine beispielhafte Adressenverschachtelungsrichtlinie 300. In einigen Beispielen kann die Adressenverschachtelungsrichtlinie 300 eine physische Adressenverschachtelung für eine erste 4-Wege-Verschachtelung repräsentieren, die als Teil einer 2-Kanal-Adressenverschachtelungsrichtlinie physische Speicheradressen von ersten vier Linien eines Stroms von Cache-Linien auf einen ersten Kanal und eine erste Bank abbildet. Bei diesen Beispielen sind, da auf Speicher mit einer Cache-Linien-Granularität von 64 Byte zugegriffen wird, die niedrigstwertigen 6 Bit einer beispielhaften physischen 12-Bit-Speicheradresse nicht Teil der Adressenverschachtelungsrichtlinie 300. Außerdem werden, wie in 3 gezeigt, die Bit 6, 7 und 9 zur Spaltenabbildung benutzt, während die Bit 8, 10, 11 und 12 zur Kanalabbildung verwendet werden. Das heißt, dass in einem Cache-Strom die ersten vier Cache-Linien (z.B. die Cache-Linien 0-3) auf einen selben ersten Kanal und eine selbe erste Bank abgebildet werden. Eine zweite 4-Wege-Verschachtelung, die physische Speicheradressen auf eine nächste Menge von vier Cache-Linien (z.B. die Cache-Linien 4-7) des Stroms abbildet, werden dann auf einen zweiten Kanal abgebildet. Dann werden die nächsten vier Cache-Linien (z.B. die Cache-Linien 8-11) auf den ersten Kanal und die erste Bank abgebildet und so weiter. Weitere Einzelheiten darüber, wie diese Art von 4-Wege-Verschachtelungsrichtlinie implementiert werden kann, werden später beschrieben.
  • In einigen Beispielen erlaubt die Adressenverschachtelungsrichtlinie 300 das Ziehen einer Speicheradresse für einen Strom von Cache-Linien über mehrere Kanäle dergestalt, dass ein Kompromiss zwischen Seitentreffern und Parallelismus auf Bankebene getroffen wird. Man erreicht dies durch Verwendung einiger der niedrigeren Bit für Spalten und anschließendes Striping über die mehreren Kanäle. Obwohl die Adressenverschachtelungsrichtlinie 300 für eine 4-Wege-Verschachtelung gilt, sind Beispiele nicht auf eine 4-Wege-Verschachtelung zur Abbildung von Cache-Linien auf einem selben Kanal und eine selbe Bank beschränkt.
  • 4A und 4B zeigen ein beispielhaftes Schema 400. In einigen Beispielen kann das Schema 400 abbilden, wie die Adressenverschachtelungsrichtlinie 300 für eine 4-Wege-Verschachtelung der Cache-Linien 410-1 bis 410-16, die in dem Cache-Strom 405 enthalten sind, implementiert werden kann. In einigen Beispielen kann, wie in 4A-B gezeigt, die Implementierung der Adressenverschachtelungsrichtlinie 300 bewirken, dass Cache-Linien 410-1 bis 410-4 mit jeweiligen logischen Speicherräumen 420-1 bis 420-4 und Cache-Linien 410-9 bis 410-12 mit jeweiligen logischen Speicherräumen 420-9 bis 420-12 auf Kanal 430-1 und Bank 440-1 abgebildet werden. In der Zwischenzeit sind die Cache-Linien 410-5 bis 410-8 mit jeweiligen logischen Speicherräumen 420-5 bis 420-8 und Cache-Linien 410-13 bis 410-16 mit jeweiligen logischen Speicherräumen 420-13 bis 420-16 auf Kanal 430-2 und auf Bank 440-2 abzubilden.
  • 5 zeigt einen beispielhaften Cache-Strom 405. In einigen Beispielen ist der Cache-Strom 405 auf eine Weise abgebildet, die zeigt, wie die 4-Wege-Verschachtelung der Cache-Linien 410-1 bis 410-16, die auf die Kanäle 430-1 und 430-2 abgebildet und zwischen diesen verschachtelt werden, verschiedene Inter-Ankunftszeiten aufweisen können. Bei diesen Beispielen können die verschiedenen Inter-Ankunftszeiten verwendet werden, um Zeitwerte für einen 2-Ebenen-Auto-Schließ-Timer zu bestimmen. Das Verschachteln zwischen den Kanälen 430-1 und 430-2 führt eine kürzere Inter-Ankunftszeit 510 und eine größere Inter-Ankunftszeit 520 zum Zugriff auf eine selbe Bank ein. Zum Beispiel kann die kurze Inter-Ankunftszeit 510 eine Ankunftszeit zwischen Zugriffen auf Bank 440-1 für die Cache-Linien 410-1 bis 410-4 und 410-9 bis 410-12 oder zwischen Zugriffen auf Bank 440-2 für die Cache-Linien 410-5-401-8 und 410-13 bis 410-16 sein. Die größere Inter-Ankunftszeit 520 kann eine Ankunftszeit zwischen einer letzten Cache-Linie einer 4-Wege-Verschachtelung, die auf Bank 440-1 abgebildet wird, wird zugegriffen, und wenn auf eine nachfolgende 4-Wege-Verschachtelung, die auf Bank 440-1 abgebildet wird, zugegriffen wird, sein.
  • In einigen Beispielen können für jeden Cache-Strom 405 sukzessive Zugriffe auf Cache-Linien, die auf eine selbe Bank abgebildet werden, wie etwa die Cache-Linien 410-1 bis 410-4 auf Bank 440-1, eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers aufweisen, die so gesetzt ist, dass eine Wahrscheinlichkeit von Leertrefferzugriffen, verglichen mit Seitenfehltreffern für Zugriffe auf verschiedene Zeilen vergrößert oder eine Wahrscheinlichkeit von Seitentreffern für Zugriff auf eine selbe Zeile vergrößert wird. Anders ausgedrückt, kann die erste Ebene auf einen Zeitwert gesetzt werden, der entweder eine Wahrscheinlichkeit von Zugriffen des Typs I (Seitentreffern) vergrößert oder eine Wahrscheinlichkeit eines Zugriffs des Typs II (Seitenfehltreffer/Zeile zu lange offengelassen) verringert. Bei diesen Beispielen sollte die erste Ebene auf einen Zeitwert für eine Zeit ähnlich der kurzen Inter-Ankunftszeit 510 gesetzt werden, um eine Wahrscheinlichkeit eines Zugriffs des Typs I zu vergrößern und eine Wahrscheinlichkeit eines Zugriffs des Typs II zu verkleinern.
  • Gemäß einigen Beispielen können für den Cache-Strom 405 Zugriffe auf die Cache-Linien 410-1 bis 410-4 und dann auf die Cache-Linien 410-9 bis 410-12, die auf Bank 440-1 abgebildet werden, potentiell Seitentreffer sein, aber nur wenn die Zeile, auf die für die Cache-Linien 410-1 bis 410-4 zugegriffen wird, lange genug offengehalten wird, um die große Inter-Ankunftszeit 520 zu erfassen. Anders ausgedrückt, kann die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers auf einen Zeitwert gesetzt werden, der eine Wahrscheinlichkeit von Seitentreffern vergrößert. Bei diesen Beispielen kann eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers auf eine Zeit ähnlich der großen Inter-Ankunftszeit 520 gesetzt werden.
  • 6 zeigt einen beispielhaften Automaten 600. Gemäß einigen Beispielen umfasst, wie in 6 gezeigt, der Automat 600 einen Zustand 610 (Leertreffer), einen Zustand 620 (Seite/Zeile offen m. kurzem Auto-Schließen) und einen Zustand 630 (Seite/Zeile offen m. langem Auto-Schließen). Bei diesen Beispielen bildet der Automat 600 eine Weise ab, auf die Logik und/oder Merkmale eines Speichercontrollers (z.B. die Timer-Logik 114) einen 2-Ebenen-Auto-Schließ-Timer implementieren kann, wenn man sich 2-Ebenen-Inter-Ankunftszeiten gegenübersieht, die durch Verwendung der Adressenverschachtelungsrichtlinie 300 und einer 4-Wege-Verschachtelung von Cache-Linien, die in dem Cache-Strom 405 enthalten sind, verursacht werden, wie in 4A-B und 5 gezeigt.
  • Gemäß einigen Beispielen führt ein anfänglicher Zugriff auf eine Cache-Linie (z.B. die Cache-Linie 410-1), die auf einen ersten Kanal abgebildet wird, zu einem Leertrefferzugriff. Dann kann in Zustand 620 Seiten-/Zeilenzugriff im Anschluss an nachfolgende Seitenfehltreffer für erste 3 Zugriffe in einem Cache-Strom weiter einen Erste-Ebene-Timer dazu triggern, Zeilen, auf die zugegriffen wird, zu schließen, um eine Wahrscheinlichkeit von Leertrefferzugriffen zu vergrößern, während sich der Automat 600 jedes Mal, wenn die Erste-Ebene-Zeit nach einem Zugriff getriggert wird, zwischen Zustand 610 und 620 hin- und herbewegt. Wenn jedoch der vierte Zugriff auf eine abgebildete Cache-Linie (z.B. die Cache-Linie 410-4) zu einem Seitentreffer führt, wird in den Zustand 630 eingetreten, und die Zeile/Seite für diesen vierten Zugriff wird mit einem langen Auto-Schließen geöffnet, das einen Zweite-Ebene-Timer dazu triggert, die Zeile im Anschluss an den vierten Zugriff offenzuhalten, um eine längere oder größere Inter-Ankunftszeit, während über den zweiten abgebildeten Kanal (z.B. Cache-Linien 410-5 bis 410-8) auf die anderen Cache-Linien in dem Cache-Strom 405 zugegriffen wird und die Zugriffe zu auf den ersten Kanal abgebildeten Cache-Linien zurückkehren, zu berücksichtigen.
  • 7 zeigt einen beispielhaften Logikfluss 700. In einigen Beispielen kann der Logikfluss 700 durch Logik und/oder Merkmale eines Speichercontrollers, wie etwa die Timer-Logik 114, die in dem Speichercontroller 112-1 oder den Speichercontroller 112-2, der in 1 gezeigt ist, enthalten ist, implementiert werden, um adaptiv Zeitwerte für kurze oder lange Auto-Schließ-Zeiten für einen 2-Ebenen-Auto-Schließ-Timer zu modifizieren oder anzupassen. Bei diesen Beispielen kann der 2-Ebenen-Auto-Schließ-Timer auf erwartetem 2-Ebenen-Inter-Ankunftstiming für Zeilen-/Bankzugriffe basieren, die der Implementierung einer 2-Kanal-Adressenverschachtelungsrichtlinie zugeordnet sind.
  • Beginnend in Block 705 überwacht die Timer-Logik 114 des Speichercontrollers 112-1 Cache-Linien-Zugriffe auf das auf Kanal 140 abgebildete DIMM 105-1 und auf das auf Kanal 150 abgebildete DIMM 105-2. In einigen Beispielen können die Cache-Linien-Zugriffe gemäß einer Adressenverschachtelungsrichtlinie, wie etwa der Adressenverschachtelungsrichtlinie 300, erfolgen. Als Teil der Überwachung der Cache-Linien-Zugriffe kann die Timer-Logik 114 Ankunftszeiten für Cache-Linien-Zugriffe auf Bänke von Speichervorrichtungen für Cache-Linien, die auf die Kanäle 140 und 150 abgebildet werden, überwachen. Zum Beispiel Cache-Linien zum Zugreifen auf Bank 220-1 des Rangs 200, die auf dem auf Kanal 140 abgebildeten DIMM 105-1 enthalten ist. Die Timer-Logik 114 kann zwischen kurzen Inter-Ankunfts-Zugriffen (z.B. während einer physischen Adressenverschachtelung auf Bank 220-1) und langen Inter-Ankunfts-Zugriffen (die z.B. durch Kanalverschachtelung zwischen Kanal 140 und 150 verursacht werden) unterscheiden.
  • Nunmehr mit Bezug auf Block 710 kann die Timer-Logik 114 einen gleitenden Mittelwert für Inter-Ankunfts-Zugriffszeiten zum Vergleich mit einer ins Auge gefassten Auto-Schließ-Zeit bestimmen. Gemäß einigen Beispielen kann der gleitende Mittelwert auf Überwachung von Ankunftszeiten für alle 2 Cache-Linien-Zugriffe auf eine Bank von Speichervorrichtungen für Cache-Linien, die auf Kanal 140 oder Kanal 150 abgebildet werden, durch die Timer-Logik 114 basieren.
  • Nunmehr mit Bezug auf den Entscheidungsblock 715 kann die Timer-Logik 114 bestimmen, ob der gleitende Mittelwert einem kurzen oder langen Inter-Ankunfts-Zugriff zugeordnet ist. In einigen Beispielen ist der gleitende Mittelwert einem kürzeren Inter-Ankunfts-Zugriff zugeordnet, wenn die 2 Cache-Linien-Zugriffe während aufeinanderfolgender oder sukzessiver Zugriffe auf eine selbe Bank erfolgten. Bei diesen Beispielen ist der gleitende Mittelwert einem langen Inter-Ankunfts-Zugriff zugeordnet, wenn die 2 Cache-Linien-Zugriffe nicht aufeinanderfolgend oder nicht sukzessive Zugriffe auf eine selbe Bank waren. Anders ausgedrückt, basierten die 2 Cache-Linien-Zugriffe, die zur Bestimmung des gleitenden Mittelwerts verwendet werden, auf einem ersten Cache-Linien-Zugriff auf eine erste Bank, die auf einen ersten Kanal abgebildet wird, der vor dem zweiten Cache-Linien-Zugriff auf die erste Bank mit Cache-Zugriffen auf eine zweite Bank, die auf einem zweiten Kanal abgebildet wird, verschachtelt wurde. Wenn der gleitende Mittelwert einem kurzen Inter-Ankunfts-Zugriff zugeordnet ist, bewegt sich der Logikfluss 700 zu dem Entscheidungsblock 720. Wenn der gleitende Mittelwert einem langen Inter-Ankunfts-Zugriff zugeordnet ist, bewegt sich der Logikfluss 700 zu dem Entscheidungsblock 730.
  • Bei der Bewegung von Entscheidungsblock 715 zu Entscheidungsblock 720 bestimmt die Timer-Logik 114, ob der gleitende Mittelwert für eine Kurze-Ebene-Zeit des 2-Ebenen-Timers zu einer verpassten Gelegenheit für einen Seitentreffer oder einer verpassten Gelegenheit für einen Leertrefferzugriff geführt hat. Gemäß einigen Beispielen kann ein Ziel-Kurze-Ebenen-Zeitwert eine ideale Auto-Schließ-Zeit für eine Erste- (Kurze-) Ebenen-Zeit eines 2-Ebenen-Auto-Schließ-Timers, um eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern und eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern, repräsentieren. Bei diesen Beispielen tritt eine verpasste Gelegenheit für einen Seitentrefferzugriff auf, wenn die Kurze-Ebene-Zeit des 2-Ebenen-Timers zu kurz war und dazu führte, dass eine Zeile vor einem nachfolgenden Zugriff auf die Zeile, der ein Seitentreffer gewesen wäre, geschlossen wird. Eine verpasste Gelegenheit für einen Leertrefferzugriff tritt auf, wenn die Kurze-Ebene-Zeit zu lang war und dazu geführt hat, dass eine Zeile während eines nachfolgenden Zugriffs auf eine andere Zeile, der ein Seitenfehltreffer war, der ein Leertreffer gewesen sein könnte, wenn die Zeile nicht während des nachfolgenden Zugriffes geöffnet worden wäre, geöffnet wird. Bei keinen verpassten Gelegenheiten bewegt sich der Logikfluss 700 zu Block 725. Andernfalls bewegt sich der Logikfluss zu dem Entscheidungsblock 740.
  • Beim Bewegen von dem Entscheidungsblock 720 zu Block 725 hält die Timer-Logik 114 den kurzen Zeitwert für die Kurze-Ebene-Zeit des 2-Ebenen-Timers aufrecht. Der Logikfluss 700 kann dann zu Block 705 zurückkehren.
  • Bei der Bewegung von Entscheidungsblock 715 zu Entscheidungsblock 720 bestimmt die Timer-Logik 114, ob der gleitende Mittelwert für eine Lange-Ebene-Zeit des 2-Ebenen-Timers zu einer verpassten Gelegenheit für einen Seitentrefferzugriff oder einer verpassten Gelegenheit für einen Mehrtrefferzugriff geführt hat. Gemäß einigen Beispielen kann ein Ziel-Kurze-Ebenen-Zeitwert eine ideale Auto-Schließ-Zeit einer Zweite- (Lange-) Ebenen-Zeit für einen 2-Ebenen-Auto-Schließ-Timer, um eine Wahrscheinlichkeit von Seitentrefferzugriffen zu vergrößern und eine Wahrscheinlichkeit von Seitenfehltrefferzugriffen zu verkleinern, repräsentieren. Bei diesen Beispielen tritt eine verpasste Gelegenheit für einen Seitentrefferzugriff auf, wenn die Lange-Ebene-Zeit für den 2-Ebenen-Timer zu kurz war und dazu geführt hat, dass eine Zeile vor einem nachfolgenden Zugriff auf die Zeile, der ein Seitentreffer gewesen wäre, geschlossen wird. Eine verpasste Gelegenheit für einen Leertrefferzugriff tritt auf, wenn die Lange-Ebene-Zeit zu lang war und dazu geführt hat, dass eine Zeile während eines nachfolgenden Zugriffs auf eine andere Zeile, der zu einem Seitenfehltreffer geführt hat, der ein Leertreffer gewesen sein könnte, wenn die Zeile während des nachfolgenden Zugriffs nicht geöffnet worden wäre, geöffnet wird. Bei keinen verpassten Gelegenheiten bewegt sich der Logikfluss 700 zu Block 735. Andernfalls bewegt sich der Logikfluss 700 zu dem Entscheidungsblock 740.
  • Bei der Bewegung von Entscheidungsblock 730 zu Block 735 hält die Timer-Logik 114 den kurzen Zeitwert für die Kurze-Ebene-Zeit des 2-Ebenen-Timers aufrecht. Der Logikfluss 700 kann dann zu Block 705 zurückkehren.
  • Bei der Bewegung von den Entscheidungsblöcken 720 oder 730 bestimmt die Timer-Logik 114, ob die verpasste Gelegenheit zu einem Zugriff des Typs I oder einem Zugriff des Typs II geführt hat. Wenn die verpasste Gelegenheit zu einem Zugriff des Typs I geführt hat, bewegt sich der Logikfluss 700 zu Block 745. Wenn die verpasste Gelegenheit zu einem Zugriff des Typs II geführt hat, bewegt sich der Logikfluss 700 zu Block 750.
  • Bei der Bewegung von Entscheidungsblock 740 zu Block 745 kann die Timer-Logik 114 einen Zeitwert vergrößern. Wenn die Gelegenheit für eine Kurze-Ebene-Zeit des 2-Ebenen-Timers war, die zu einer verpassten Gelegenheit geführt hat, wird die Kurze-Ebene-Zeit vergrößert, um eine Wahrscheinlichkeit von Seitentrefferzugriffen für kurzen Inter-Ankunfts-Cache-Linien-Zugriff zu vergrößern. Wenn die Gelegenheit für eine Lange-Ebene-Zeit des 2-Ebenen-Timers war, die zu einer verpassten Gelegenheit geführt hat, wird die Lange-Ebene-Zeit vergrößert, um eine Wahrscheinlichkeit von Seitentrefferzugriffen für langen Inter-Ankunfts-Cache-Linien-Zugriff zu vergrößern. Der Logikfluss 700 bewegt sich dann zurück zu Block 705.
  • Bei der Bewegung von Entscheidungsblock 740 zu Block 750 kann die Timer-Logik 114 einen Zeitwert verkleinern. Wenn die Gelegenheit für eine Kurze-Ebene-Zeit des 2-Ebenen-Timers war, die zu einer verpassten Gelegenheit geführt hat, wird die Kurze-Ebene-Zeit verkleinert, um eine Wahrscheinlichkeit von Seitenfehltrefferzugriffen für Kurz-Inter-Ankunfts-Cache-Linien-Zugriff zu verkleinern. Wenn die Gelegenheit für eine Lange-Ebene-Zeit für den 2-Ebenen-Timer war, die zu einer verpassten Gelegenheit geführt hat, wird die Lange-Ebene-Zeit verkleinert, um eine Wahrscheinlichkeit von Seitenfehltrefferzugriffen für Lang-Inter-Ankunfts-Cache-Linien-Zugriff zu verkleinern. Der Logikfluss 700 bewegt sich dann zurück zu Block 705.
  • 8 zeigt eine beispielhafte Vorrichtung 800. Obwohl die in 8 gezeigte Vorrichtung 800 eine begrenzte Anzahl von Elementen in einer bestimmten Topologie aufweist, versteht sich, dass die Vorrichtung 800 je nachdem, wie es für eine gegebene Implementierung erwünscht ist, mehr oder weniger Elemente in alternativen Topologien umfassen kann.
  • Gemäß einigen Beispielen kann die Vorrichtung 800 Timer-Logik eines Speichercontrollers sein, wie etwa die Timer-Logik 114 des Speichercontrollers 112-1 oder 112-2, der in 1 gezeigt ist, und kann durch Schaltkreise 820 unterstützt werden. Bei diesen Beispielen können die Schaltkreise 820 ein ASIC, ein FPGA, konfigurierbare Logik, ein Prozessor, eine Prozessorschaltung oder ein oder mehrere Kerne eines Prozessors, wie etwa des Prozessors 110, sein. Die Schaltkreise 820 können dafür ausgelegt, Logik auszuführen, oder ein oder mehrere Software- oder Firmware implementierte Module, Komponenten oder Merkmale der Logik sein. Es sollte beachtet werden, dass „a“ und „b“ und „c“ und ähnliche Bezeichnungen, sowie sie hier verwendet werden, Variablen sein sollen, die eine beliebige positive ganze Zahl repräsentieren. Wenn somit zum Beispiel eine Implementierung einen Wert für a = 4 setzt, kann eine vollständige Menge von Software oder Firmware für Module bzw. Komponenten der Logik 822-a Logik 822-1, 822-2, 822-3 oder 822-4 umfassen. Die angegebenen Beispiele sind in diesem Kontext nicht beschränkt, und die verschiedenen durchweg verwendeten Variablen können dieselben oder verschiedene ganzzahlige Werte repräsentieren. Außerdem kann „Modul“, „Komponente“ oder „Merkmal“ auch Software oder Firmware umfassen, die in computerlesbaren oder maschinenlesbaren Medien gespeichert ist, und obwohl Arten von Merkmalen in 8 als diskrete Kästen gezeigt sind, begrenzt dies nicht diese Arten von Merkmalen auf Speicherung in distinkten computerlesbaren Medienkomponenten (z.B. einem getrennten Speicher usw.).
  • Gemäß einigen Beispielen kann die Vorrichtung 800 eine Kanalschnittstelle 805 zum Zugriff auf Speichervorrichtungen über mehrere Kanäle umfassen, um zum Beispiel Logik der Vorrichtung 800 zu ermöglichen, Ebenen eines 2-Ebenen-Auto-Schließ-Timers zu setzen oder Cache-Linien-Zugriffe auf Zeilen über Bänke von Speichervorrichtungen, die mit den mehreren Kanälen gekoppelt sind, zu überwachen, wie nachfolgend weiter beschrieben wird.
  • In einigen Beispielen kann die Vorrichtung 800 auch eine Setzlogik 822-1 umfassen. Die Setzlogik 822-1 kann durch die Schaltkreise 820 ausgeführt oder unterstützt werden, um einen ersten Zeitwert für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers zu setzen. Bei diesen Beispielen kann die erste Ebene des 2-Ebenen-Auto-Schließ-Timers in dem kurzen Zeitwert 830 enthalten sein und wird so gesetzt, dass bewirkt wird, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie automatisch schließt. Diese Mehrkanal-Adressenverschachtelungsrichtlinie kann in der Richtlinie 810 enthalten sein, und diese Richtlinie bewirkt sukzessive Cache-Linien-Zugriffe, die in den Cache-Linien-Strom 840 zu der Bank erster Speichervorrichtungen enthalten sind, über einen ersten Kanal der mehreren Kanäle.
  • In einigen Beispielen kann die Setzlogik 822-1 auch durch die Schaltkreise 820 ausgeführt oder unterstützt werden, um einen zweiten Zeitwert für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers zu setzen. Bei diesen Beispielen kann die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers in dem kurzen Zeitwert 835 enthalten sein und wird so gesetzt, dass bewirkt wird, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Verschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank von ersten Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt.
  • Gemäß einigen Beispielen kann die Vorrichtung 800 auch eine Überwachungslogik 822-2 umfassen. Die Überwachungslogik 822-2 kann durch die Schaltkreise 820 ausgeführt oder unterstützt werden, um Cache-Linien-Zugriffe für den Cache-Linien-Strom 840 zu überwachen und in den Zugriffsinformationen 845 enthaltene Zugriffs-Timing-Informationen zu sammeln. Bei diesen Beispielen kann die in der Richtlinie 810 enthaltene Mehrkanal-Adressenverschachtelungsrichtlinie eine 2-Kanal-Adressenverschachtelungsrichtlinie sein, die eine erste 4-Wege-Verschachtelung umfasst, die physische Speicheradressen der Bank erster Speichervorrichtungen auf eine erste Menge von vier Cache-Linien des Cache-Linien-Stroms 840 zu dem ersten Kanal abbildet, um den sukzessiven Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen zu bewirken.
  • In einigen Beispielen kann die Vorrichtung 800 auch eine Mittelungslogik 822-3 umfassen. Die Mittelungslogik 822-3 kann durch die Schaltkreise 820 ausgeführt oder unterstützt werden, um eine gleitende Mittelwert-Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien auf der Basis der in den Zugriffsinformationen 845 enthaltenen Zugriffszeitinformationen zu bestimmen.
  • Gemäß einigen Beispielen kann die Vorrichtung 800 auch eine Einstelllogik 822-4 umfassen. Die Einstelllogik 822-4 kann durch die Schaltkreise 820 ausgeführt oder unterstützt werden, um den ersten Zeitwert für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers einzustellen, um für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal entweder eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern oder eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern. Bei diesem Beispiel vergrößert die Einstelllogik 822-4 den kurzen Zeitwert 830, um eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern, oder kann den kurzen Zeitwert 830 verkleinern, um eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern.
  • In einigen Beispielen kann die 2-Kanal-Adressenverschachtelungsrichtlinie ferner eine zweite 4-Wege-Verschachtelung umfassen, die physische Speicheradressen einer Zeile einer Bank von zweiten Speichervorrichtungen auf eine nächste Menge von vier Cache-Linien des Cache-Linien-Stroms 840 zu einem zweiten Kanal der mehreren mit der Kanalschnittstelle 805 gekoppelten Kanäle abbildet. Die 2-Kanal-Adressenverschachtelungsrichtlinie kann auch eine dritte 4-Wege-Verschachtelung umfassen, die physische Speicheradressen der Zeile der Bank erster Speichervorrichtungen auf eine dritte Menge von vier Cache-Linien des Cache-Linien-Stroms 840 zu dem ersten Kanal abbildet. Bei diesen Beispielen umfasst die 2-Kanal-Adressenverschachtelungsrichtlinie zum Bewirken der nicht sukzessiven Cache-Linien-Zugriffe auf die Bank der ersten Speichervorrichtung die 2-Kanal-Adressenverschachtelungsrichtlinie zum Bewirken eines Zugriffs auf eine letzte Cache-Linie der ersten 4-Wege-Verschachtelung und eines Zugriffs auf eine erste Cache-Linie der dritten 4-Wege-Verschachtelung. Außerdem kann bei diesen Beispielen die Überwachungslogik 822-2 Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung überwachen, um in den Zugriffsinformationen 845 enthaltene Zugriffstiminginformationen zu sammeln. Die Mittelungslogik 822-3 kann dann eine gleitende mittlere Inter-Ankunftszeit zwischen Zugriff auf die letzte Cache-Linie und die erste Cache-Linie bestimmen, und die Einstelllogik 822-4 kann den zweiten Zeitwert für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers einstellen, um für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht, eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern oder einer Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern. Bei diesem Beispiel vergrößert die Einstelllogik 822-4 den kurzen Zeitwert 835, um eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern, oder kann den kurzen Zeitwert 835 verkleinern, um eine Wahrscheinlichkeit eines zweiten Fehltreffers zu verkleinern.
  • Verschiedene Komponenten der Vorrichtung 800 können durch verschiedene Arten von Kommunikationsmedien kommunikativ miteinander gekoppelt sein, um Operationen zu koordinieren. Die Koordination kann den unidirektionalen oder bidirektionalen Austausch von Informationen umfassen. Beispielsweise können die Komponenten Informationen in der Form von Signalen übermitteln, die über die Kommunikationsmedien übermittelt werden. Die Informationen können als Signale realisiert sein, die verschiedenen Signalleitungen zugeordnet sind. In solchen Zuordnungen ist jede Meldung ein Signal. In weiteren Ausführungsformen können jedoch alternativ Datenmeldungen eingesetzt werden. Solche Datenmeldungen können über verschiedene Verbindungen gesendet werden. Beispielhafte Verbindungen umfassen parallele Schnittstellen, serielle Schnittstellen und Busschnittstellen.
  • Hierin enthalten ist eine Gruppe von logischen Abläufen, welche beispielhafte Methoden zur Durchführung neuer Aspekte der offenbarten Architektur repräsentieren. Obwohl zu Zwecken der Vereinfachung der Erläuterung die hierin dargestellten ein oder mehreren Methoden als eine Folge von Handlungen dargestellt und beschrieben sind, versteht der Fachmann, dass die Methoden nicht durch die Reihenfolge der Handlungen beschränkt sind. Einige Handlungen können demgemäß in einer anderen Reihenfolge, als hierin dargestellt und beschrieben, und/oder gleichzeitig mit anderen Handlungen erfolgen. Beispielsweise versteht der Fachmann, dass eine Methode alternativ als eine Folge zusammenhängender Zuständen oder Ereignissen dargestellt werden könnte, wie z.B. in einem Zustandsdiagramm. Außerdem müssen für eine neue Realisierung nicht alle Handlungen, die in einer Methode veranschaulicht sind, erforderlich sein.
  • Ein Logikablauf kann in Software, Firmware und/oder Hardware realisiert sein. In Software- und Firmware-Anwendungen kann ein Logikablauf durch computerausführbare Befehle realisiert sein, die auf mindestens einem nichttransitorischen computerlesbaren Medium oder maschinenlesbaren Medium, wie z.B. einem optischen Speicher, magnetischen Speicher oder Halbleiterspeicher, gespeichert sind. Die Ausführungsformen sind in diesem Zusammenhang nicht beschränkt.
  • 9 zeigt einen beispielhaften Logikfluss 900. Der Logikfluss 900 kann einige oder alle der Operationen repräsentieren, die durch eine oder mehrere Logik, Merkmale oder Vorrichtungen, die hier beschrieben werden, wie etwa die Vorrichtung 800, ausgeführt werden. Insbesondere kann der Logikfluss 900 durch die Setzlogik 822-1 implementiert werden.
  • Gemäß einigen Beispielen kann der Logikfluss 900 in Block 902 einen ersten Zeitwert für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers setzen, wobei die erste Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über einen mit einem Prozessor gekoppelten ersten Kanal bewirkt, automatisch schließt. Bei diesen Beispielen kann die Setzlogik 822-1 die erste Ebene des 2-Ebenen-Auto-Schließ-Timers setzen, um einen kurzen Zeitwert einzurichten, der kurzen Inter-Ankunftszeiten für Cache-Linien-Zugriffe auf die Bank der ersten Speichervorrichtungen zugeordnet ist.
  • In einigen Beispielen kann der Logikfluss 900 in Block 904 einen zweiten Zeitwert für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers setzen, wobei die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Verschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt. Bei diesen Beispielen kann die Setzlogik 822-1 die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers setzen, um einen kurzen Zeitwert einzurichten, der Langen-Inter-Ankunftszeiten für Cache-Linien-Zugriffe auf die Bank der ersten Speichervorrichtungen zugeordnet ist.
  • 10 veranschaulicht ein beispielhaftes Speichermedium 1000. In einigen Beispielen kann das Speichermedium 1400 ein Herstellungsgegenstand sein. DasSpeichermedium 1000 kann ein nichttransitorisches computerlesbares Medium oder maschinenlesbares Medium umfassen, z.B. einen optischen Speicher, magnetischen Speicher oder Halbleiterspeicher. Das Speichermedium 1000 kann verschiedene Typen computerlesbarer Befehle speichern, wie z. B. Befehle zum Implementieren des Logikablaufs 900. Beispiele für ein computerlesbares oder maschinenlesbares Speichermedium können beliebige greifbare Medien umfassen, die in der Lage sind, elektronische Daten zu speichern, umfassend flüchtigen Speicher oder nicht-flüchtigen Speicher, entnehmbaren oder nicht-entnehmbaren Speicher, löschbaren oder nichtlöschbaren Speicher, beschreibbaren oder überschreibbaren Speicher usw. Beispiele für computerausführbare Befehle können einen beliebigen Code-Typ umfassen, z.B. QuellCode, kompilierten Code, interpretierten Code, ausführbaren Code, statischen Code, dynamischen Code, objektorientierten Code, visuellen Code und Ähnliches. Die Beispiele sind in diesem Zusammenhang nicht beschränkt.
  • 11 zeigt eine beispielhafte Datenverarbeitungsplattform 1100. In einigen Beispielen kann, wie in 11 gezeigt, die Datenverarbeitungsplattform 1100 Verarbeitungskomponenten 1140, andere Plattformkomponenten 1150 oder eine Kommunikationsschnittstelle 1160 umfassen.
  • Gemäß einigen Beispielen können die Verarbeitungskomponenten 1140 Verarbeitungsoperationen oder Logik für die Vorrichtung 800 und/oder das Speicherungsmedium 1000 ausführen oder implementieren. Die Verarbeitungskomponenten 1140 können verschiedene Hardwareelemente, Softwareelemente oder eine Kombination von beidem umfassen, um einen Prozessor, wie etwa den in 1 gezeigten Prozessor 110, zu implementieren. Beispiele für Hardwareelemente wären Vorrichtungen, Logikvorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Verwaltungssteuerungen, Begleiter-Dies, Schaltungen, Prozessorschaltungen, Schaltungselemente (z.B. Transistoren, Widerstände, Kondensatoren, Induktivitäten und so weiter), integrierte Schaltungen, ASIC, PLD (programmierbare Logikvorrichtungen), DSP (digitale Signalprozessoren), FPGA, Speichereinheiten, Logikgatter, Register, Halbleitervorrichtung, Chips, Mikrochips, Chipsätze und so weiter. Beispiele für Softwareelemente wären Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Vorrichtungstreiber, Systemprogramme, Softwareentwicklungsprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Softwareschnittstellen, API (Anwendungsprogrammschnittstellen), Anweisungssätze, Datenverarbeitungscode, Computercode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder eine beliebige Kombination davon. Die Bestimmung, ob ein Beispiel unter Verwendung von Hardwareelementen und/oder Softwareelementen implementiert wird, kann abhängig von einer beliebigen Anzahl von Faktoren unterschiedlich sein, wie etwa gewünschte rechnerische Rate, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgangsdatenraten, Speicherressourcen, Datenbusgeschwindigkeiten und andere Entwurfs- oder Leistungsfähigkeitsbeschränkungen, je nachdem, wie es für ein gegebenes Beispiel erwünscht ist.
  • Bei einigen Beispielen können zu anderen Plattformkomponenten 1150 gemeinsame Datenverarbeitungselemente, Speichereinheiten (die Systemspeicher umfassen), Chipsätze, Steuereinheiten, Peripheriegeräte, Schnittstellen, Oszillatoren, Zeitmessvorrichtungen, Videokarten, Audiokarten, Multimedia-Eingabe/Ausgabe-(E/A-)Komponenten (z.B. digitale Anzeigen), Stromversorgungen und so weiter zählen. Zu Beispielen für Speichereinheiten oder Speichervorrichtungen können ohne Einschränkung verschiedene Arten von computerlesbaren und maschinenlesbaren Speichermedien in der Form einer oder mehrerer Speichereinheiten höherer Geschwindigkeit zählen, wie beispielsweise Nur-Lese-Speicher (read-only memory, ROM), Direktzugriffsspeicher (random-access memory, RAM), dynamischer RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchroner DRAM (SDRAM), statischer RAM (SRAM), programmierbarer ROM (PROM), löschbarer programmierbarer ROM (EPROM), elektrisch löschbarer programmierbarer ROM (EEPROM), Flashspeicher, Polymerspeicher wie beispielsweise ferroelektrischer Polymerspeicher, Ovonic-Speicher, Phasenänderungs- oder ferroelektrischer Speicher, SONOS-Speicher (silicon-oxide-nitride-oxide-silicon memory), magnetische oder optische Karten, ein Array von Vorrichtungen wie beispielsweise RAID-Laufwerke (redundant array of independent disks (RAID) drives), Solid-State-Speichervorichtungen (z.B. USB-Speicher), Solid-State-Laufwerke (solid state drives, SSD) sowie jede andere Art Speichermedium, das zum Speichern von Informationen geeignet ist.
  • Bei einigen Beispielen kann die Datenübertragungsschnittstelle 1160 Logik und/oder Merkmale zur Unterstützung einer Datenübertragungsschnittstelle aufweisen. Bei diesen Beispielen kann die Datenübertragungsschnittstelle 1160 eine oder mehrere Datenübertragungsschnittstellen aufweisen, die gemäß verschiedenen Datenübertragungsprotokollen oder -standards arbeiten, um über direkte oder Netzwerk-Datenübertragungsverbindungen Daten auszutauschen. Direkte Datenübertragungen können mithilfe einer Verwendung von Datenübertragungsprotokollen oder -standards erfolgen, die in einem oder mehreren Branchenstandards beschrieben sind (darunter Nachfolger und Varianten), wie beispielsweise den mit der PCIe-Spezifikation, der NVMe-Spezifikation oder der 13C-Spezifikation in Zusammenhang stehenden. Netzwerk-Datenübertragungen können mithilfe einer Verwendung von Datenübertragungsprotokollen oder -standards erfolgen, wie beispielsweise den in einem oder mehreren von dem Institute of Electrical and Electronics Engineers (IEEE) veröffentlichten Ethernet-Standards beschriebenen. Zum Beispiel kann es sich bei einem derartigen vom IEEE veröffentlichten Ethernet-Standard, aber ohne darauf beschränkt zu sein, um die IEEE 802.3-2018, Carrier sense Multiple access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications handeln, veröffentlicht im August 2018 (hier im Folgenden: „IEEE 802.3-Spezifikation“). Netzwerk-Datenübertragung kann auch gemäß einer oder mehreren OpenFlow-Spezifikationen wie beispielsweise der OpenFlow-Hardware-Abstraction-API-Spezifikation erfolgen. Netzwerk-Datenübertragungen können auch gemäß einer oder mehreren Infiniband-Architecture-Spezifikationen erfolgen.
  • Die Datenverarbeitungsplattform 1100 kann in einer Server- oder Client-Datenverarbeitungsvorrichtung realisiert werden. Dementsprechend können hierin beschriebene Funktionen und/oder spezifische Konfigurationen der Datenverarbeitungsplattform 1100 bei verschiedenen Ausführungsformen der Datenverarbeitungsplattform 1100 einbezogen oder weggelassen werden, je nachdem, wie es geeigneterweise für eine Server- oder Client-Datenverarbeitungsvorrichtung gewünscht wird.
  • Die Komponenten und Merkmale der Datenverarbeitungsplattform 1100 können unter Verwendung jeder Kombination von diskreten Schaltungen, ASICs, Logikgattern und/oder Einzelchip-Architekturen realisiert werden. Ferner können die Merkmale der Datenverarbeitungsplattform 1100 unter Verwendung von Mikrocontrollern, FPGAs und/oder Mikroprozessoren oder jeder Kombination der Vorstehenden realisiert werden, wo es geeigneterweise angemessen ist. Es wird angemerkt, dass Hardware-, Firmware- und/oder Softwareelemente hierin kollektiv oder einzeln als „Logik“ oder „Schaltkreis“ bezeichnet werden können.
  • Es sollte beachtet werden, dass die beispielhafte Datenverarbeitungsplattform 1100, die in dem Blockschaubild aus 11 gezeigt wird, ein funktionell beschreibendes Beispiel zahlreicher möglicher Realisierungen darstellen kann. Dementsprechend lässt sich aus einer Teilung, einem Weglassen oder Einbeziehen von in den begleitenden Figuren gezeigten Blockfunktionen nicht folgern, dass die Hardwarekomponenten, Schaltkreise, Software und/oder Elemente zum Realisieren dieser Funktionen in Ausführungsformen notwendigerweise geteilt, weggelassen oder einbezogen sein würden.
  • Ein oder mehrere Aspekte mindestens eines Beispiels können durch repräsentative Befehle realisiert werden, die auf mindestens einem maschinenlesbaren Medium gespeichert sind, das unterschiedliche Logik innerhalb des Prozessors repräsentiert, die, wenn sie von einer Maschine, einer Datenverarbeitungsvorrichtung oder einem Datenverarbeitungssystem gelesen wird, die Maschine, die Datenverarbeitungsvorrichtung oder das Datenverarbeitungssystem dazu veranlasst, Logik zum Durchführen der hierin beschriebenen Techniken zu erstellen. Derartige Repräsentationen sind als „IP-Kerne“ bekannt und können IP-Blöcken ähnlich sein. IP-Kerne können auf einem materiellen maschinenlesbaren Medium gespeichert und an verschiedene Kunden oder Fertigungseinrichtungen geliefert werden, um in die Fertigungsmaschinen geladen zu werden, die die Logik oder den Prozessor tatsächlich herstellen.
  • Verschiedene Beispiele können unter Verwendung von Hardwareelementen, Softwareelementen oder einer Kombination von beiden realisiert werden. Bei einigen Beispielen können zu Hardwareelementen Vorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltkreise, Schaltkreiselemente (z.B. Transistoren, Widerstände, Kondensatoren, Induktoren und so weiter), integrierte Schaltkreise, ASICs, PLDs, DSPs, FPGAs, Speichereinheiten, Logikgatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsätze und so weiter zählen. Bei einigen Beispielen können zu Softwareelementen Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, APIs, Befehlssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination davon zählen. Ein Bestimmen, ob ein Beispiel unter Verwendung von Hardwareelementen und/oder Softwareelementen realisiert wird, kann gemäß einer beliebigen Anzahl von Faktoren variieren, wie zum Beispiel gewünschter Rechenrate, Energieniveaus, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingabedatenraten, Ausgabedatenraten, Speicherressourcen, Datenbusgeschwindigkeiten sowie anderen Beschränkungen hinsichtlich Gestaltung oder Leistung, wie für eine gegebene Realisierung gewünscht.
  • Einige Beispiele können ein Erzeugnis oder mindestens ein computerlesbares Medium beinhalten. Bei einem computerlesbaren Medium kann es sich um ein nicht flüchtiges Speichermedium zum Speichern von Logik handeln. Bei einigen Beispielen kann es sich bei dem nicht flüchtigen Speichermedium um eine oder mehrere Arten von computerlesbaren Speichermedien handeln, die zum Speichern elektronischer Daten imstande sind, darunter flüchtiger oder nicht flüchtiger Speicher, entfernbarer oder nicht entfernbarer Speicher, löschbarer oder nicht löschbarer Speicher, beschreibbarer oder wiederbeschreibbarer Speicher und so weiter. Bei einigen Beispielen können zu der Logik verschiedene Softwareelemente zählen, wie beispielsweise Softwarekomponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystemsoftware, Middleware, Firmware, Softwaremodule, Routinen, Subroutinen, Funktionen, Verfahren, Prozeduren, Softwareschnittstellen, APIs, Befehlssätze, Rechencode, Computercode, Codesegmente, Computercodesegmente, Worte, Werte, Symbole oder jede Kombination davon.
  • Gemäß einigen Beispielen kann es sich bei einem computerlesbaren Medium um ein nicht flüchtiges Speichermedium zum Speichern oder Unterhalten von Befehlen handeln, die, wenn sie von einer Maschine, einer Datenverarbeitungsvorrichtung oder einem Datenverarbeitungssystem ausgeführt werden, die Maschine, die Datenverarbeitungsvorrichtung oder das Datenverarbeitungssystem veranlassen, Verfahren und/oder Operationen gemäß den beschriebenen Beispielen durchzuführen. Zu den Befehlen kann jeder geeignete Typ von Code zählen, wie beispielsweise Quellcode, kompilierter Code, interpretierter Code, ausführbarer Code, statischer Code, dynamischer Code und dergleichen. Die Befehle können gemäß einer vordefinierten Computersprache, einer vordefinierten Weise oder Syntax realisiert werden, um eine Maschine, eine Datenverarbeitungsvorrichtung oder ein Datenverarbeitungssystem anzuweisen, eine bestimmte Funktion durchzuführen. Die Befehle können unter Verwendung jeder geeigneten hohen, niederen, objektorientierten, visuellen, kompilierten und/oder interpretierten Programmiersprache realisiert werden.
  • Einige Beispiele werden möglicherweise unter Verwendung der Formulierung „bei einem Beispiel“ oder „ein Beispiel“ zusammen mit deren Ableitungen beschrieben. Diese Begriffe bedeuten, dass ein bestimmtes in Verbindung mit dem Beispiel beschriebenes Merkmal, eine bestimmte derartige Struktur oder eine bestimmte derartige Eigenschaft in mindestens einem Beispiel enthalten ist. Das Vorkommen der Formulierung „bei einem Beispiel“ an verschiedenen Stellen in der Beschreibung bezieht sich nicht notwendigerweise immer auf dasselbe Beispiel.
  • Einige Beispiele werden möglicherweise unter Verwendung der Ausdrücke „gekoppelt“ oder „verbunden“ zusammen mit deren Ableitungen beschrieben. Diese Begriffe sind nicht notwendigerweise als Synonyme füreinander gedacht. Zum Beispiel können Beschreibungen, bei denen die Begriffe „verbunden“ und/oder „gekoppelt“ verwendet werden, darauf hinweisen, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander stehen. Der Begriff „gekoppelt“ oder „gekoppelt mit“ kann allerdings auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch zusammenwirken oder miteinander interagieren.
  • Soweit hier verschiedene Operationen oder Funktionen beschrieben werden, können sie als Softwarecode, Befehle, eine Konfiguration und/oder Daten beschrieben oder definiert werden. Der Inhalt kann direkt ausführbar („Objekt-“ oder „ausführbares-Programm“-Form), Quellcode oder Differenzcode („Delta“ oder „Patch“-Code) sein. Der Softwareinhalt der hier beschriebenen Ausführungsformen kann über einen Herstellungsartikel mit dem Inhalt darauf gespeichert oder über ein Verfahren zum Betreiben einer Kommunikationsschnittstelle zum Senden von Daten über die Kommunikationsschnittstelle bereitgestellt werden. Ein maschinenlesbares Speicherungsmedium kann eine Maschine zum Durchführen der beschriebenen Funktionen oder Vorgänge veranlassen und beinhaltet einen beliebigen Mechanismus, der Informationen in einer Form speichert, die für eine Maschine (z. B. eine Rechenvorrichtung, ein elektronisches System usw.) zugänglich ist, wie etwa beschreibbare/nichtbeschreibbare Medien (z. B. Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), Magnetplattenspeicherungsmedien, optische Speicherungsmedien, Flash-Speichervorrichtungen usw.). Eine Kommunikationsschnittstelle beinhaltet einen beliebigen Mechanismus, der an ein beliebiges eines festverdrahteten, drahtlosen, optischen usw. Mediums ankoppelt, um mit einer anderen Vorrichtung zu kommunizieren, wie etwa eine Speicherbusschnittstelle, eine Prozessorbusschnittstelle, eine Internetverbindung, eine Plattensteuerung usw. Die Kommunikationsschnittstelle kann durch Bereitstellen von Konfigurationsparametern und/oder Senden von Signalen oder beides konfiguriert werden, um die Kommunikationsschnittstelle zum Bereitstellen eines Datensignals, das den Softwareinhalt beschreibt, vorzubereiten. Auf die Kommunikationsschnittstelle kann über ein(en) oder mehrere Befehle oder Signale, die an die Kommunikationsschnittstelle gesendet werden, zugegriffen werden.
  • Die folgenden Beispiele betreffen zusätzliche Beispiele für hier offenbarte Technologien.
  • Beispiel 1. Eine beispielhafte Vorrichtung kann eine Schnittstelle eines Speichercontrollers zum Zugriff auf Speichervorrichtungen über mehrere Kanäle und Schaltkreise des Speichercontrollers umfassen. Die Schaltkreise können einen ersten Zeitwert für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers setzen. Die erste Ebene des 2-Ebenen-Auto-Schließ-Timers soll bewirken, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über einen ersten Kanal der mehreren Kanäle bewirkt, automatisch schließt. Die Schaltkreise können auch einen zweiten Zeitwert für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers setzen. Die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers soll bewirken, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Adressenverschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt.
  • Beispiel 2. Die Vorrichtung nach Beispiel 1: die Mehrkanal-Adressenverschachtelungsrichtlinie kann eine 2-Kanal-Adressenverschachtelungsrichtlinie sein, die die eine erste 4-Wege-Verschachtelung umfasst, die physische Speicheradressen der Bank erster Speichervorrichtungen auf eine erste Menge von vier Cache-Linien eines Stroms von Cache-Linien zu dem ersten Kanal abbildet, um die sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen zu bewirken.
  • Beispiel 3. Die Vorrichtung nach Beispiel 2: die Schaltkreise können auch Cache-Linien-Zugriffe für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien überwachen. Die Schaltkreise können auch eine gleitende mittlere Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien bestimmen. Die Schaltkreise können auch den ersten Zeitwert für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers einstellen, um Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern.
  • Beispiel 4. Die Vorrichtung nach Beispiel 2: die Schaltkreise können auch Cache-Linien-Zugriffe für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien überwachen. Die Schaltkreise können auch eine gleitende mittlere Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien bestimmen. Die Schaltkreise können auch den ersten Zeitwert für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers einstellen, um eine Wahrscheinlichkeit eines Seitenfehltreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu verkleinern.
  • Beispiel 5. Die Vorrichtung nach Beispiel 2: die 2-Kanal-Adressenverschachtelungsrichtlinie kann auch eine zweite 4-Wege-Verschachtelung umfassen, die physische Speicheradressen einer Zeile einer Bank zweiter Speichervorrichtungen auf eine nächste Menge von vier Cache-Linien des Stroms von Cache-Linien zu einem zweiten Kanal der mehreren Kanäle abbildet. Die 2-Kanal-Adressenverschachtelungsrichtlinie kann auch eine dritte 4-Wege-Verschachtelung umfassen, die physische Speicheradressen der Zeile der Bank erster Speichervorrichtungen auf eine dritte Menge von vier Cache-Linien des Stroms von Cache-Linien zu dem ersten Kanal abbildet. Bei diesem Beispiel umfasst das Bewirken der nicht sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen, dass die 2-Kanal-Adressenverschachtelungsrichtlinie einen Zugriff auf eine letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf eine erste Cache-Linie der dritten 4-Wege-Verschachtelung bewirkt.
  • Beispiel 6. Die Vorrichtung nach Beispiel 5: die Schaltkreise können auch von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung umfassen. Die Schaltkreise können auch eine gleitende mittlere Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und die erste Cache-Linie bestimmen. Die Schaltkreise können auch den zweiten Zeitwert für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers einstellen, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht.
  • Beispiel 7. Die Vorrichtung nach Beispiel 5: die Schaltkreise können auch Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung überwachen. Die Schaltkreise können auch eine gleitende mittlere Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und Zugriff auf die erste Cache-Linie bestimmen. Die Schaltkreise können auch den zweiten Zeitwert für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers einstellen, um eine Wahrscheinlichkeit eines Seitenfehltreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank der ersten Speichervorrichtungen über den ersten Kanal zu verkleinern, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen vorausgeht.
  • Beispiel 8. Die Vorrichtung nach Beispiel 5: die Bank erster Speichervorrichtungen kann mehrere erste Speicher-Dies, die auf einem ersten DIMM angeordnet sind, umfassen, und die Bank der zweiten Speichervorrichtungen umfasst mehrere zweite Speicher-Dies, die auf einem zweiten DIMM angeordnet sind.
  • Beispiel 9. Die Vorrichtung nach Beispiel 1: die ersten und zweiten Cache-Linien-Zugriffe können getrennt auf 64 Byte Daten aus der Zeile der Bank erster Speichervorrichtungen zugreifen.
  • Beispiel 10. Die Vorrichtung nach Beispiel 1: die Bank erster Speichervorrichtungen kann mehrere Speicher-Dies sein, die auf einem DIMM angeordnet sind.
  • Beispiel 11. Die Vorrichtung nach Beispiel 1: die ersten Speichervorrichtungen können dynamischen Direktzugriffsspeicher umfassen.
  • Beispiel 12. Ein beispielhaftes Verfahren kann Setzen eines ersten Zeitwerts für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers umfassen. Die erste Ebene des 2-Ebenen-Auto-Schließ-Timers soll bewirken, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über einen ersten Kanal, der mit einem Prozessor gekoppelt ist,bewirkt, automatisch schließt. Das Verfahren kann auch Setzen eines zweiten Zeitwerts für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers umfassen. Die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers soll bewirken, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Adressenverschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt.
  • Beispiel 13. Das Verfahren nach Beispiel 12: die Mehrkanal-Adressenverschachtelungsrichtlinie kann eine 2-Kanal-Adressenverschachtelungsrichtlinie, die eine erste 4-Wege-Verschachtelung umfasst, die physische Speicheradressen der Bank erster Speichervorrichtungen auf eine erste Menge von vier Cache-Linien eines Stroms von Cache-Linien zu dem ersten Kanal abbildet, um die sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen zu bewirken.
  • Beispiel 14. Das Verfahren nach Beispiel 13 kann auch Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien umfassen. Das Verfahren kann auch Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien umfassen. Das Verfahren kann auch Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers umfassen, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern.
  • Beispiel 15. Das Verfahren nach Beispiel 13 kann auch Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien umfassen. Das Verfahren kann auch Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien umfassen. Das Verfahren kann auch Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers umfassen, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern.
  • Beispiel 16. Das Verfahren nach Beispiel 13: die 2-Kanal-Adressenverschachtelungsrichtlinie kann auch eine zweite 4-Wege-Verschachtelung umfassen, die physische Speicheradressen einer Zeile einer Bank zweiter Speichervorrichtungen auf eine nächste Menge von vier Cache-Linien des Stroms von Cache-Linien zu einem zweiten Kanal, der mit dem Prozessor gekoppelt ist,abbildet.
  • Die 2-Kanal-Adressenverschachtelungsrichtlinie kann auch eine dritte 4-Wege-Verschachtelung umfassen, die physische Speicheradressen der Zeile der Bank erster Speichervorrichtungen auf eine dritte Menge von vier Cache-Linien des Stroms von Cache-Linien zu dem ersten Kanal abbildet. Bei diesem Beispiel umfasst das Bewirken der nicht sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen, dass die 2-Kanal-Adressenverschachtelungsrichtlinie einen Zugriff auf eine letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf eine erste Cache-Linie der dritten 4-Wege-Verschachtelung bewirkt.
  • Beispiel 17. Das Verfahren nach Beispiel 16 kann auch Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung bis zur ersten Cache-Linie der dritten 4-Wege-Verschachtelungumfassen. Das Verfahren kann auch Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und die erste Cache-Linie umfassen. Das Verfahren kann auch Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht, umfassen.
  • Beispiel 18. Das Verfahren nach Beispiel 17 kann auch Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung umfassen. Das Verfahren kann auch Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und Zugriff auf die erste Cache-Linie umfassen. Das Verfahren kann auch Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers, um für einen nachfolgenden Cache-Linie-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht, eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern, umfassen.
  • Beispiel 19. Das Verfahren nach Beispiel 16: die Bank erster Speichervorrichtungen kann mehrere erste Speicher-Dies, die auf einem ersten DIMM angeordnet sind, umfassen, und die Bank der zweiten Speichervorrichtungen umfasst mehrere zweite Speicher-Dies, die auf einem zweiten DIMM angeordnet sind.
  • Beispiel 20. Das Verfahren nach Beispiel 12: die ersten und zweiten Cache-Linien-Zugriffe können getrennt auf 64 Byte Daten aus der Zeile der Bank erster Speichervorrichtungen zugreifen.
  • Beispiel 21. Das Verfahren nach Beispiel 12: die Bank erster Speichervorrichtungen kann mehrere Speicher-Dies sein, die auf einem DIMM angeordnet sind.
  • Beispiel 22. Das Verfahren nach Beispiel 12: die ersten Speichervorrichtungen können dynamischen Direktzugriffsspeicher umfassen.
  • Beispiel 23. Ein Beispiel: mindestens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die, wenn sie durch ein System ausgeführt werden, bewirken können, dass das System ein Verfahren nach einem der Beispiele 12 bis 22 ausführt.
  • Beispiel 24. Eine beispielhafte Vorrichtung kann Mittel zum Ausführen der Verfahren nach einem der Beispiele 12 bis 22 umfassen.
  • Beispiel 25. Ein Beispiel: mindestens ein maschinenlesbares Medium kann mehrere Anweisungen umfassen, die, wenn sie durch ein System ausgeführt werden, das System zum Setzen eines ersten Zeitwerts für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers veranlassen können. Die erste Ebene des 2-Ebenen-Auto-Schließ-Timers soll bewirken, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über einen ersten Kanal, der mit einem Prozessor gekoppelt ist,bewirkt, automatisch schließt. Die Anweisungen können das System außerdem zum Setzen eines zweiten Zeitwerts für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers veranlassen. Die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers soll bewirken, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Adressenverschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt.
  • Beispiel 26. Das mindestens eine maschinenlesbare Medium nach Beispiel 25: die Mehrkanal-Adressenverschachtelungsrichtlinie kann eine 2-Kanal-Adressenverschachtelungsrichtlinie sein, die eine erste 4-Wege-Verschachtelung umfasst, die physische Speicheradressen der Bank erster Speichervorrichtungen auf eine erste Menge von vier Cache-Linien eines Stroms von Cache-Linien zu dem ersten Kanal abbildet, um die sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen zu bewirken.
  • Beispiel 27. Das mindestens eine maschinenlesbare Medium nach Beispiel 26: die Anweisungen können das System außerdem zum Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien veranlassen. Die Anweisungen können das System außerdem zum Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien veranlassen. Die Anweisungen können das System außerdem zum Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers veranlassen, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern.
  • Beispiel 28. Das mindestens eine maschinenlesbare Medium nach Beispiel 26: die Anweisungen können das System außerdem zum Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien veranlassen. Die Anweisungen können das System außerdem veranlassen zum
  • Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien. Die Anweisungen können das System außerdem zum Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers veranlassen, um eine Wahrscheinlichkeit eines Seitenfehltreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu verkleinern.
  • Beispiel 29. Das mindestens eine maschinenlesbare Medium nach Beispiel 26: die 2-Kanal-Adressenverschachtelungsrichtlinie kann auch eine zweite 4-Wege-Verschachtelung umfassen, die physische Speicheradressen einer Zeile einer Bank zweiter Speichervorrichtungen auf eine nächste Menge von vier Cache-Linien des Stroms von Cache-Linien zu einem zweiten Kanal, der mit dem Prozessor gekoppelt ist, abbildet. Die 2-Kanal-Adressenverschachtelungsrichtlinie kann auch eine dritte 4-Wege-Verschachtelung umfassen, die physische Speicheradressen der Zeile der Bank erster Speichervorrichtungen auf eine dritte Menge von vier Cache-Linien des Stroms von Cache-Linien zu dem ersten Kanal abbildet. Bei diesem Beispiel umfasst das Bewirken der nicht sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen, dass die 2-Kanal-Adressenverschachtelungsrichtlinie einen Zugriff auf eine letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf eine erste Cache-Linie der dritten 4-Wege-Verschachtelung bewirkt.
  • Beispiel 30. Das mindestens eine maschinenlesbare Medium nach Beispiel 29: die Anweisungen können das System außerdem zum Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung veranlassen. Die Anweisungen können das System außerdem zum Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und die erste Cache-Linie veranlassen. Die Anweisungen können das System außerdem zum Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers veranlassen, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht.
  • Beispiel 31. Das mindestens eine maschinenlesbare Medium nach Beispiel 30: die Anweisungen können das System außerdem zum Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung veranlassen. Die Anweisungen können das System außerdem zum Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und Zugriff auf die erste Cache-Linie veranlassen. Die Anweisungen können das System außerdem zum Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers veranlassen, um eine Wahrscheinlichkeit eines Seitenfehltreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank der ersten Speichervorrichtungen über den ersten Kanal zu verkleinern, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen vorausgeht.
  • Beispiel 32. Das mindestens eine maschinenlesbare Medium nach Beispiel 29: die Bank erster Speichervorrichtungen kann mehrere erste Speicher-Dies, die auf einem ersten DIMM angeordnet sind, umfassen, und die Bank der zweiten Speichervorrichtungen umfasst mehrere zweite Speicher-Dies, die auf einem zweiten DIMM angeordnet sind.
  • Beispiel 33. Das mindestens eine maschinenlesbare Medium nach Beispiel 25: die ersten und zweiten Cache-Linien-Zugriffe können getrennt auf 64 Byte Daten aus der Zeile der Bank erster Speichervorrichtungen zugreifen.
  • Beispiel 34. Das mindestens eine maschinenlesbare Medium nach Beispiel 25: die Bank erster Speichervorrichtungen kann mehrere Speicher-Dies sein, die auf einem DIMM angeordnet sind.
  • Beispiel 35. Das mindestens eine maschinenlesbare Medium nach Beispiel 25: die ersten Speichervorrichtungen können dynamischen Direktzugriffsspeicher umfassen.
  • Es wird betont, dass die Zusammenfassung der Offenbarung bereitgestellt wird, um 37 C.F.R. Abschnitt 1.72(b) zu entsprechen, der eine Zusammenfassung fordert, die dem Leser ermöglicht, das Wesen der technischen Offenbarung schnell herauszufinden. Sie wird unter der Voraussetzung vorgelegt, dass sie nicht verwendet wird, um den Schutzbereich oder die Bedeutung der Ansprüche zu interpretieren oder einzuschränken. Des Weiteren ist aus der vorstehenden ausführlichen Beschreibung ersichtlich, dass verschiedene Merkmale in einem einzigen Beispiel zusammen gruppiert sind, um die Offenbarung zu straffen. Dieses Offenbarungsverfahren ist nicht derart zu verstehen, dass es eine Absicht widerspiegelt, dass die beanspruchten Beispiele mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr liegt, wie durch die folgenden Ansprüche widergespiegelt wird, der erfindungsgemäße Gegenstand in weniger als allen Merkmalen eines einzelnen offenbarten Beispiels. Daher werden die nachfolgenden Ansprüche hiermit in die ausführliche Beschreibung einbezogen, wobei jeder Anspruch eigenständig als ein separates Beispiel gilt. In den angefügten Ansprüchen werden die Begriffe „eingeschlossen“ und „in dem“ jeweils als die sprachlich einfachen Äquivalente der entsprechenden Begriffe „umfassend“ und „wobei“ verwendet. Überdies werden die Begriffe „erster“, „zweiter“, „dritter“ usw. lediglich als Bezeichnungen verwendet und sollen keine numerischen Anforderungen für ihre Objekte auferlegen.
  • Obwohl der Gegenstand mit Formulierungen beschrieben wurde, die spezifisch für strukturelle Merkmale und/oder methodologische Aktionen sind, versteht es sich, dass der in den angefügten Ansprüchen definierte Gegenstand nicht notwendigerweise auf die vorstehend beschriebenen spezifischen Merkmale oder Aktionen beschränkt ist. Vielmehr werden die vorstehend beschriebenen spezifischen Merkmale und Aktionen als beispielhafte Formen einer Realisierung der Ansprüche offenbart.

Claims (21)

  1. Vorrichtung, umfassend: eine Schnittstelle eines Speichercontrollers zum Zugriff auf Speichervorrichtungen über mehrere Kanäle; und Schaltkreise des Speichercontrollers zum: Setzen eines ersten Zeitwerts für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers, wobei die erste Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über einen ersten Kanal der mehreren Kanäle bewirkt, automatisch schließt; und Setzen eines zweiten Zeitwerts für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers, wobei die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Adressenverschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt.
  2. Vorrichtung nach Anspruch 1, die Mehrkanal-Adressenverschachtelungsrichtlinie umfasst eine 2-Kanal-Adressenverschachtelungsrichtlinie, die eine erste 4-Wege-Verschachtelung umfasst, die physische Speicheradressen der Bank erster Speichervorrichtungen auf eine erste Menge von vier Cache-Linien eines Stroms von Cache-Linien zu dem ersten Kanal abbildet, um die sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen zu bewirken.
  3. Vorrichtung nach Anspruch 2, ferner umfassend die Schaltkreise zum: Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien; und Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern.
  4. Vorrichtung nach Anspruch 2, ferner umfassend die Schaltkreise zum: Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien; und Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers, um eine Wahrscheinlichkeit eines Seitenfehltreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu verkleinern.
  5. Vorrichtung nach Anspruch 2, die umfasst, dass die 2-Kanal-Adressenverschachtelungsrichtlinie ferner Folgendes umfasst: eine zweite 4-Wege-Verschachtelung, die physische Speicheradressen einer Zeile einer Bank zweiter Speichervorrichtungen auf eine nächste Menge von vier Cache-Linien des Stroms von Cache-Linien zu einem zweiten Kanal der mehreren Kanäle abbildet; eine dritte 4-Wege-Verschachtelung, die physische Speicheradressen der Zeile der Bank erster Speichervorrichtungen auf eine dritte Menge von vier Cache-Linien des Stroms von Cache-Linien zu dem ersten Kanal abbildet; und wobei das Bewirken der nicht sukzessiven Cache-Linien-Zugriffe auf die Bank der ersten Speichervorrichtungen umfasst, dass die 2-Kanal-Adressenverschachtelungsrichtlinie einen Zugriff auf eine letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf eine erste Cache-Linie der dritten 4-Wege-Verschachtelung bewirkt.
  6. Vorrichtung nach Anspruch 5, ferner umfassend die Schaltkreise zum: Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und die erste Cache-Linie; und Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers, um eine Wahrscheinlichkeit eines Seitentreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal zu vergrößern, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht.
  7. Vorrichtung nach Anspruch 5, ferner umfassend die Schaltkreise zum: Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und Zugriff auf die erste Cache-Linie; und Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers, um eine Wahrscheinlichkeit eines Seitenfehltreffers für einen nachfolgenden Cache-Linien-Zugriff auf die Bank der ersten Speichervorrichtungen über den ersten Kanal zu verkleinern, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen vorausgeht.
  8. Vorrichtung nach Anspruch 5, umfassend: die Bank erster Speichervorrichtungen umfasst mehrere erste Speicher-Dies, die auf einem ersten DIMM (Zweifach-Inline-Speichermodul) angeordnet sind, und die Bank der zweiten Speichervorrichtungen umfasst mehrere zweite Speicher-Dies, die auf einem zweiten DIMM angeordnet sind.
  9. Vorrichtung nach Anspruch 1, umfassend: die ersten und zweiten Cache-Linien-Zugriffe sollen getrennt auf 64 Byte Daten aus der Zeile der Bank erster Speichervorrichtungen zugreifen.
  10. Vorrichtung nach Anspruch 1, wobei die Bank erster Speichervorrichtungen mehrere Speicher-Dies umfasst, die auf einem DIMM (Zweifach-Inline-Speichermodul) angeordnet sind.
  11. Vorrichtung nach Anspruch 1, die umfasst, dass die ersten Speichervorrichtungen einen dynamischen Direktzugriffsspeicher umfassen.
  12. Verfahren, umfassend: Setzen eines ersten Zeitwerts für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers, wobei die erste Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über einen ersten Kanal der mehreren Kanäle bewirkt, automatisch schließt; und Setzen eines zweiten Zeitwerts für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers, wobei die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Adressenverschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt.
  13. Verfahren nach Anspruch 12, die Mehrkanal-Adressenverschachtelungsrichtlinie umfasst eine 2-Kanal-Adressenverschachtelungsrichtlinie, die eine erste 4-Wege-Verschachtelung umfasst, die physische Speicheradressen der Bank erster Speichervorrichtungen auf eine erste Menge von vier Cache-Linien eines Stroms von Cache-Linien zu dem ersten Kanal abbildet, um die sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen zu bewirken.
  14. Verfahren nach Anspruch 13, ferner umfassend: Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien; und Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers auf Basis der gleitenden mittleren Inter-Ankunftszeit, um für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern oder eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern.
  15. Verfahren nach Anspruch 13, das umfasst, dass die 2-Kanal-Adressenverschachtelungsrichtlinie ferner Folgendes umfasst: eine zweite 4-Wege-Verschachtelung, die physische Speicheradressen einer Zeile einer Bank zweiter Speichervorrichtungen auf eine nächste Menge von vier Cache-Linien des Stroms von Cache-Linien zu einem zweiten Kanal, der mit dem Prozessor gekoppelt ist, abbildet; eine dritte 4-Wege-Verschachtelung, die physische Speicheradressen der Zeile der Bank erster Speichervorrichtungen auf eine dritte Menge von vier Cache-Linien des Stroms von Cache-Linien zu dem ersten Kanal abbildet; und wobei das Bewirken der nicht sukzessiven Cache-Linien-Zugriffe auf die Bank der ersten Speichervorrichtungen umfasst, dass die 2-Kanal-Adressenverschachtelungsrichtlinie einen Zugriff auf eine letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf eine erste Cache-Linie der dritten 4-Wege-Verschachtelung bewirkt.
  16. Verfahren nach Anspruch 15, ferner umfassend: Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und die erste Cache-Linie; und Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers auf der Basis der gleitenden mittleren Inter-Ankunftszeit, um für einen nachfolgenden Cache-Linie-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht, eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern oder eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern.
  17. Mindestens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die, wenn sie durch ein System ausgeführt werden, das System veranlassen zum: Setzen eines ersten Zeitwerts für eine erste Ebene eines 2-Ebenen-Auto-Schließ-Timers, wobei die erste Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich eine Zeile einer Bank erster Speichervorrichtungen nach einem ersten Cache-Linien-Zugriff auf die Zeile als Reaktion auf eine Mehrkanal-Adressenverschachtelungsrichtlinie, die sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über einen ersten Kanal der mehreren Kanäle, der mit dem Prozessor gekoppelt ist, bewirkt, automatisch schließt; und Setzen eines zweiten Zeitwerts für eine zweite Ebene des 2-Ebenen-Auto-Schließ-Timers, wobei die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers bewirken soll, dass sich die Zeile nach einem zweiten Cache-Linien-Zugriff auf die Zeile als Reaktion auf die Mehrkanal-Adressenverschachtelungsrichtlinie, die nicht sukzessive Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen über den ersten Kanal bewirkt, automatisch schließt.
  18. Mindestens ein maschinenlesbares Medium nach Anspruch 17, die Mehrkanal-Adressenverschachtelungsrichtlinie umfasst eine 2-Kanal-Adressenverschachtelungsrichtlinie, die eine erste 4-Wege-Verschachtelung umfasst, die physische Speicheradressen der Bank erster Speichervorrichtungen auf eine erste Menge von vier Cache-Linien eines Stroms von Cache-Linien zu dem ersten Kanal abbildet, um die sukzessiven Cache-Linien-Zugriffe auf die Bank erster Speichervorrichtungen zu bewirken.
  19. Mindestens ein maschinenlesbares Medium nach Anspruch 18, das ferner umfasst, dass die Anweisungen das System veranlassen zum: Überwachen von Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien des Stroms von Cache-Linien; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von mindestens zwei sukzessiven Cache-Linien-Zugriffen für die erste Menge von vier Cache-Linien; und Einstellen des ersten Zeitwerts für die erste Ebene des 2-Ebenen-Auto-Schließ-Timers auf Basis der gleitenden mittleren Inter-Ankunftszeit, um für einen nachfolgenden Cache-Linien-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern oder eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern.
  20. Mindestens ein maschinenlesbares Medium nach Anspruch 18, das umfasst, dass die 2-Kanal-Adressenverschachtelungsrichtlinie ferner Folgendes umfasst: eine zweite 4-Wege-Verschachtelung, die physische Speicheradressen einer Zeile einer Bank zweiter Speichervorrichtungen auf eine nächste Menge von vier Cache-Linien des Stroms von Cache-Linien zu einem zweiten Kanal, der mit dem Prozessor gekoppelt ist,abbildet; eine dritte 4-Wege-Verschachtelung, die physische Speicheradressen der Zeile der Bank erster Speichervorrichtungen auf eine dritte Menge von vier Cache-Linien des Stroms von Cache-Linien zu dem ersten Kanal abbildet; und wobei das Bewirken der nicht sukzessiven Cache-Linien-Zugriffe auf die Bank der ersten Speichervorrichtungen umfasst, dass die 2-Kanal-Adressenverschachtelungsrichtlinie einen Zugriff auf eine letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf eine erste Cache-Linie der dritten 4-Wege-Verschachtelung bewirkt.
  21. Mindestens ein maschinenlesbares Medium nach Anspruch 20, das ferner umfasst, dass die Anweisungen das System veranlassen zum: Überwachen von Zugriff auf die letzte Cache-Linie der ersten 4-Wege-Verschachtelung und Zugriff auf die erste Cache-Linie der dritten 4-Wege-Verschachtelung; Bestimmen einer gleitenden mittleren Inter-Ankunftszeit von zwischen Zugriff auf die letzte Cache-Linie und die erste Cache-Linie; und Einstellen des zweiten Zeitwerts für die zweite Ebene des 2-Ebenen-Auto-Schließ-Timers auf der Basis der gleitenden mittleren Inter-Ankunftszeit, um für einen nachfolgenden Cache-Linie-Zugriff auf die Bank erster Speichervorrichtungen über den ersten Kanal, wenn dem nachfolgenden Cache-Linien-Zugriff ein Cache-Linien-Zugriff auf die Bank zweiter Speichervorrichtungen über den zweiten Kanal vorausgeht, eine Wahrscheinlichkeit eines Seitentreffers zu vergrößern oder eine Wahrscheinlichkeit eines Seitenfehltreffers zu verkleinern.
DE102020119400.5A 2019-09-26 2020-07-22 Techniken zum setzen eines 2-ebenen-auto-schliess-timers zum zugriff auf eine speichervorrichtung Pending DE102020119400A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/584,612 2019-09-26
US16/584,612 US11216386B2 (en) 2019-09-26 2019-09-26 Techniques for setting a 2-level auto-close timer to access a memory device

Publications (1)

Publication Number Publication Date
DE102020119400A1 true DE102020119400A1 (de) 2021-04-01

Family

ID=69138350

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020119400.5A Pending DE102020119400A1 (de) 2019-09-26 2020-07-22 Techniken zum setzen eines 2-ebenen-auto-schliess-timers zum zugriff auf eine speichervorrichtung

Country Status (3)

Country Link
US (1) US11216386B2 (de)
CN (1) CN112559391A (de)
DE (1) DE102020119400A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10642538B1 (en) * 2018-09-28 2020-05-05 Cadence Design Systems, Inc. Multi-channel memory interface
US11093393B2 (en) * 2018-12-27 2021-08-17 Samsung Electronics Co., Ltd. System and method for early DRAM page-activation
US11822478B2 (en) * 2021-04-16 2023-11-21 Micron Technology, Inc. Cache allocation techniques

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6799241B2 (en) * 2002-01-03 2004-09-28 Intel Corporation Method for dynamically adjusting a memory page closing policy
US6687172B2 (en) * 2002-04-05 2004-02-03 Intel Corporation Individual memory page activity timing method and system
US7133995B1 (en) 2002-12-16 2006-11-07 Advanced Micro Devices, Inc. Dynamic page conflict prediction for DRAM

Also Published As

Publication number Publication date
US20200019513A1 (en) 2020-01-16
CN112559391A (zh) 2021-03-26
US11216386B2 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
DE102017128939A1 (de) System und Verfahren zum dynamischen und adaptiven Zusammenführen von Interrupts
DE102020119400A1 (de) Techniken zum setzen eines 2-ebenen-auto-schliess-timers zum zugriff auf eine speichervorrichtung
DE112011106078B4 (de) Verfahren, Vorrichtung und System zur Implementierung eines mehrstufigen Arbeitsspeichers mit Direktzugriff
DE102010030742B4 (de) Phasenwechselspeicher in einem doppelreihigen Speichermodul
DE102020130044A1 (de) Techniken zum verhindern von lese-störung in nand-speicher
DE102020115736A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Betreiben der Halbleiterspeichervorrichtungen
DE102017104125A1 (de) Zonen von Übersetzungstabellen von logischen in physische Datenadressen mit parallelisiertem Log-Listenreplay
DE102011076895B4 (de) Cachekohärenzprotokoll für persistente Speicher
DE102020107659A1 (de) Zonenbildung für gezonte namensräume
DE102019124450A1 (de) Bandbreitenbegrenzung in solid-state-laufwerken
DE102019130450A1 (de) Bypass-Speicherklasse Lese Cache auf der Grundlage eines Schwellwertes der Warteschlange
DE102018113447A1 (de) Speichervorrichtung zum Koppeln mit einem Host und Verfahren zum Betreiben des Hosts und der Speichervorrichtung
DE112017005890T5 (de) Abrufen von Datenpufferzeigern für direkten Speicherzugriff
DE112017001471T5 (de) Mehrebenen-speichermanagement
DE102007059784A1 (de) Vorladen aus einem dynamischen wahlfreien Zugriffsspeicher in einen statischen wahlfreien Zugriffsspeicher
DE2617408A1 (de) Datenverarbeitungsgeraet
DE112016006203T5 (de) Verfahren zum zugreifen auf ein dual in-line memory-modul über mehrere datenkanäle oder betreiben desselben
DE102018129797A1 (de) Verfahren und vorrichtung zur mehrebenenspeicherfrühseitenherabstufung
DE102017106713A1 (de) Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
DE112020005350T5 (de) Aktualisieren von korrigierenden lesespannung-offsetwerten in nichtflüchtigen direktzugriffsspeichern
DE102021114457A1 (de) Abwicklung von lesen in vorrichtungen mit in zonen unterteiltem namensraum
DE112017001597T5 (de) Techniken zur verwendung von chip-auswahlsignalen für ein dual in-line-speichermodul
DE112019002100T5 (de) Zugriff auf dram durch wiederverwendung von pins
DE102019134290A1 (de) Verfahren und System zum Verbessern der Leistung einer Speichervorrichtung unter Verwendung einer asynchronen, unabhängigen Ebenenlesefunktionalität
DE112021000776T5 (de) Verwaltung von schreib-operationen in einer nichtflüchtigen speichervorrichtung unter verwendung eines variablen vor-lese-spannungspegels