DE112017005063T5 - Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters - Google Patents

Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters Download PDF

Info

Publication number
DE112017005063T5
DE112017005063T5 DE112017005063.4T DE112017005063T DE112017005063T5 DE 112017005063 T5 DE112017005063 T5 DE 112017005063T5 DE 112017005063 T DE112017005063 T DE 112017005063T DE 112017005063 T5 DE112017005063 T5 DE 112017005063T5
Authority
DE
Germany
Prior art keywords
adapter
memory
memory access
lpc
access instruction
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
DE112017005063.4T
Other languages
English (en)
Inventor
Lakshminarayana Baba Arimilli
William Starke
Jeffrey Stuecheli
Yiftach Benjamini
Bartholomew Blaner
Etai Adar
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112017005063T5 publication Critical patent/DE112017005063T5/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/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters, wobei der Adapter mit einem Prozessor und einem Beschleuniger auf einem Host-Datenverarbeitungssystem verbunden ist, wobei der Prozessor so konfiguriert ist, dass er eine symmetrische Mehrfachverarbeitung durchführt, wobei das Verwalten beinhaltet: Empfangen einer Speicherzugriffsanweisung vom Beschleuniger durch den Adapter; Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter; Festlegen mithilfe von Basisadressregistern, dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten auf dem Host-Datenverarbeitungssystem übertragen; sowie Senden der Speicherzugriffsanweisung und der realen Adresse an eine Mediensteuereinheit für den LPC-Speicher durch den Adapter, wobei die Mediensteuereinheit für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter verknüpft ist.

Description

  • HINTERGRUND
  • Gebiet der Erfindung
  • Das Gebiet der Erfindung ist die Datenverarbeitung oder insbesondere Verfahren, Vorrichtungen und Produkte zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (lowest point of coherency, LPC) mithilfe eines Dienstschichtadapters.
  • Beschreibung des Standes der Technik
  • Die Entwicklung des EDVAC-Computersystems von 1948 wird oft als der Beginn des Computerzeitalters bezeichnet. Seit dieser Zeit haben sich Computersysteme zu äußerst komplizierten Einheiten entwickelt. Die heutigen Computer sind den ersten Systemen wie beispielsweise dem EDVAC deutlich überlegen. Computersysteme enthalten üblicherweise eine Kombination aus Hardware- und Software-Komponenten, Anwendungsprogrammen, Betriebssystemen, Prozessoren, Bussen, Speichern, Eingabe/Ausgabe-Einheiten usw. Da Fortschritte in der Halbleiterverarbeitung und bei der Computerarchitektur die Leistungsfähigkeit des Computers immer weiter steigern, ist eine für höhere Ansprüche ausgelegte Computer-Software entstanden, die die höhere Leistungsfähigkeit der Hardware vorteilhaft nutzt, sodass es heute Computersysteme gibt, die weitaus leistungsstärker sind als noch vor ein paar Jahren.
  • KURZDARSTELLUNG
  • In dieser Beschreibung werden Verfahren, Systeme und Vorrichtungen zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters offenbart. Ein Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters, wobei der Adapter mit einem Prozessor und einem Beschleuniger in einem Host-Datenverarbeitungssystem verbunden ist, wobei der Prozessor so konfiguriert ist, dass er eine symmetrische Mehrfachverarbeitung durchführt, beinhaltet: Empfangen einer Speicherzugriffsanweisung vom Beschleuniger durch den Adapter; Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter; Festlegen mithilfe von Basisadressregistern, dass die reale Adresse den LPC-Speicher als Zieladresse hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten in dem Host-Datenverarbeitungssystem übertragen; und Senden der Speicherzugriffsanweisung und der realen Adresse an eine Mediensteuereinheit für den LPC-Speicher durch den Adapter, wobei die Mediensteuereinheit für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter verknüpft ist.
  • Die vorstehenden und anderen Aufgaben, Merkmale und Vorteile der Erfindung gehen aus den folgenden ausführlichen Beschreibungen von beispielhaften Ausführungsformen der Erfindung hervor, die in den beigefügten Zeichnungen veranschaulicht sind, in denen gleiche Bezugszahlen im Allgemeinen gleiche Teile von beispielhaften Ausführungsformen der Erfindung darstellen.
  • Figurenliste
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung lediglich als Beispiel mit Bezug auf die beigefügten Zeichnungen beschrieben, in denen:
    • 1 ein Blockschaltbild eines beispielhaften Systems darstellt, das so konfiguriert ist, dass es gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwaltet.
    • 2 ein Blockschaltbild zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
    • 3 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
    • 4 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
    • 5 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
    • 6 einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines LPC-Speichers mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Beispielhafte Verfahren, Vorrichtungen und Produkte zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters werden gemäß der vorliegenden Erfindung mit Bezug auf die beigefügten Zeichnungen beschrieben, wobei mit 1 begonnen wird. 1 stellt ein Blockschaltbild einer automatisierten Datenverarbeitungsmaschine dar, die ein beispielhaftes System (152) aufweist, das so konfiguriert ist, dass es gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwaltet. Das Datenverarbeitungssystem (152) von 1 enthält mindestens einen Computerprozessor (156) oder „CPU“ sowie einen Direktzugriffsspeicher (168) („RAM“), der über einen Hochgeschwindigkeits-Speicherbus (166) und einen Busadapter (158) mit dem Prozessor (156) und anderen Komponenten des Datenverarbeitungssystems (152) verbunden ist.
  • Ein Betriebssystem (154) ist im RAM (168) gespeichert. Zu für Computer geeigneten Betriebssystemen, die so konfiguriert sind, dass sie gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwalten, gehören UNIX™, Linux™, Microsoft XP™, AIX™, iOS™ von IBM sowie sonstige Betriebssysteme, die Fachleuten geläufig sind. Das Betriebssystem (154) im Beispiel von 1 befindet sich laut Darstellung im RAM (168), viele Komponenten dieser Software werden jedoch üblicherweise auch in einem nichtflüchtigen Speicher wie beispielsweise auf einem Plattenlaufwerk (170) gespeichert.
  • Das Datenverarbeitungssystem (152) von 1 enthält einen Plattenlaufwerkadapter (172), der über den Erweiterungsbus (160) und den Busadapter (158) mit dem Prozessor (156) und anderen Komponenten des Datenverarbeitungssystems (152) verbunden ist. Der Plattenlaufwerkadapter (172) verbindet den nichtflüchtigen Datenspeicher in Form des Plattenlaufwerks (170) mit dem Datenverarbeitungssystem (152). Zu für Computer geeigneten Plattenlaufwerkadaptern, die so konfiguriert sind, dass sie gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwalten, gehören Integrated-Drive-Electronics(„IDE“)-Adapter, Small-Computer-System-Interface(„SCSI“)-Adapter sowie sonstige Plattenlaufwerkadapter, die Fachleuten geläufig sind. Nichtflüchtige Computerspeicher können auch als optisches Plattenlaufwerk, elektronisch löschbarer programmierbarer Nur-Lese-Speicher (sogenannter „EEPROM“- oder „Flash“-Speicher), RAM-Laufwerke usw. umgesetzt werden, die Fachleuten geläufig sind.
  • Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen oder mehrere Eingabe-/Ausgabe(„E/A“)-Adapter (178). E/A-Adapter implementieren benutzerorientierte Eingaben/Ausgaben beispielsweise durch Software-Treiber und Computer-Hardware, um die Ausgabe auf Anzeigeeinheiten wie Computer-Anzeigebildschirmen sowie Benutzereingaben von Benutzereingabeeinheiten (181) wie Tastaturen und Mäusen zu steuern. Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen Videoadapter (209), der ein Beispiel für einen E/A-Adapter darstellt, der speziell für die grafische Ausgabe auf einer Anzeigeeinheit (180) wie einem Anzeigebildschirm oder Computermonitor entwickelt wurde. Der Videoadapter (209) ist über einen Hochgeschwindigkeits-Videobus (164), Busadapter (158) und den Front-Side-Bus (162), bei dem es sich ebenfalls um einen Hochgeschwindigkeitsbus handelt, mit dem Prozessor (156) verbunden.
  • Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen Datenübertragungsadapter (167) zum Austauschen von Daten mit anderen Computern (182) und zum Austauschen von Daten mit einem Datenübertragungsnetzwerk. Solche Datenübertragungen können seriell über RS-232-Verbindungen, über externe Busse wie zum Beispiel einen Universal Serial Bus („USB“), über Datenübertragungsnetzwerke wie zum Beispiel IP-Datenübertragungsnetzwerke und auf andere Weise durchgeführt werden, die Fachleuten geläufig sind. Datenübertragungsadapter implementieren die Hardware-Ebene von Datenübertragungen, über die ein Computer entweder direkt oder über ein Datenübertragungsnetzwerk Datenübertragungen an einen anderen Computer sendet. Zu Beispielen für in Computern geeigneten Datenübertragungsadaptern, die so konfiguriert sind, dass sie gemäß Ausführungsformen der vorliegenden Erfindung einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters steuern, gehören Modems für drahtgebundene Datenfernübertragungen, Ethernet-Adapter (IEEE 802.3) für drahtgebundene Datenübertragungen und 802.11-Adapter für drahtlose Datenübertragungen.
  • Das beispielhafte Datenverarbeitungssystem (152) von 1 enthält einen Datenübertragungsbus (190), der den Prozessor und den RAM (168) (über den Busadapter (158)) mit dem Dienstschichtadapter (192) und der Beschleunigerfunktionseinheit (194) verbindet.
  • 2 stellt ein beispielhaftes Blockschaltbild eines Systems dar, das so konfiguriert ist, dass es einen Speicher mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters verwaltet. 2 enthält die Beschleunigerfunktionseinheit (194), den Speicher (216), eine Mediensteuereinheit (214), den Dienstschichtadapter (192), einen Datenübertragungsbus (190) und einen Prozessor (156). Der Dienstschichtadapter (192) enthält eine Übersetzungsdienstschicht (202), eine Kohärenzdienstschicht (204), eine Speicherschicht (206) und einen Verbindungsarbiter (210). Die Speicherschicht (206) enthält eine XTAG-Tabelle (208) und ein Basisadressregister (212).
  • Bei der Beschleunigerfunktionseinheit (BFE) (194) handelt es sich um einen Beschleuniger, der so konfiguriert ist, dass er die Funktionalität des Datenverarbeitungssystems erweitert. Die BFE (194) kann eine austauschbare Komponente des Datenverarbeitungssystems sein, die installiert wurde, um eine bestimmte Aufgabe oder Gruppe von Aufgaben durchzuführen. Zu Beispielen einer BFE (194) gehören zum Beispiel Netzwerkschnittstellenkarten, Grafikbeschleunigerkarten und Speicheradapterkarten.
  • Der Datenübertragungsbus (190) ist ein Medium, über das Daten zwischen den Hardware-Komponenten im Datenverarbeitungssystem weitergeleitet werden. Der Datenübertragungsbus (190) kann eine Bussteuereinheit enthalten, die auf dem Datenübertragungsbus (190) übermittelte Daten verwaltet. Zu beispielhaften Datenübertragungsbussen (190) gehören Peripheral-Component-Interconnect-Express(PCIe)-Busse.
  • Die BFE (194) kann so konfiguriert sein, dass sie auf Kohärenz beruhende Operationen und Speicherzugriffsanweisungen über den Datenübertragungsbus an andere Hardware-Elemente im Datenverarbeitungssystem sendet. Der Prozessor (156) kann einen kohärenten Beschleunigerprozessor-Proxy enthalten, der der BFE (194) den Zugriff auf den kohärenten symmetrischen Mehrfachverarbeitungsbus im Prozessor (156) bereitstellt. Bei dem Proxy kann es sich um eine kohärente Beschleuniger-Proxy-Schnittstelle handeln, die es der BFE (194) ermöglicht, an symmetrischen Mehrfachverarbeitungs-Kohärenzprotokollen teilzuhaben.
  • Der Dienstschichtadapter (192) passt die Datenübertragungen zwischen der BFE (194) und der kohärenten Beschleuniger-Proxy-Schnittstelle an. Die Datenübertragung zwischen dem Dienstschichtadapter (192) und dem Proxy ist in Paketen im Datenübertragungsbus zum Prozessor verkapselt. Der Dienstschichtadapter (192) kann auf einem externen Chip wie einer vor Ort programmierbaren Gatteranordnung oder einer anwendungsspezifischen integrierten Schaltung implementiert werden.
  • Der Dienstschichtadapter (192) kann so konfiguriert werden, dass er auf Kohärenz beruhende Operationen verarbeitet, die von der BFE (194) initiiert werden. Der Dienstschichtadapter (192) enthält eine Übersetzungsdienstschicht (202), eine Kohärenzdienstschicht (204) und eine Speicherschicht (206). Die Übersetzungsdienstschicht (202) kann Elemente und Logik zum Abrufen eines Kontextes für eine Operation und zum Übersetzen von effektiven Adressen in reale Adressen mithilfe einer Übersetzung von effektiven in reale Adressen (effective-to-real-address translation, ERAT) enthalten. Bei der effektiven Adresse handelt es sich um eine Adresse, die von Elementen und Prozessen im Datenverarbeitungssystem verwendet wird, um auf Speicherorte zu verweisen. Die effektive Adresse muss jedoch in eine reale Adresse übersetzt werden, um auf die angeforderten Daten zugreifen zu können. Effektive Adresse können als virtuelle Adressen bezeichnet werden, und reale Adressen als physische Adressen. Die Übersetzungsdienstschicht (202) kann auch einen Kontextzwischenspeicher enthalten, um Kontexte zu speichern, auf die häufig zugegriffen wird, sowie einen ERAT-Zwischenspeicher, um Übersetzungen in reale Adressen zu speichern, auf die häufig zugegriffen wird.
  • Die Kohärenzdienstschicht (204) kann Elemente und Logik enthalten, um auf Kohärenz beruhende Operationen durchzuführen. Die Kohärenzdienstschicht (204) empfängt (über eine Kohärenzschnittstelle) auf Kontext beruhende Datenübertragungen von der BFE (194) und tauscht mit den anderen Schichten im Dienstschichtadapter (192) Daten aus, um die Operationen zu verarbeiten. Die Kohärenzdienstschicht (204) kann auch einen Datenzwischenspeicher enthalten, um Daten zu speichern, auf die auf Kohärenz beruhende Operationen häufig zugreifen. Die Kohärenzdienstschicht (204) verarbeitet auch andere Aufgaben im Zusammenhang mit dem Aufrechterhalten der Datenkohärenz zwischen der BFE (194) und anderen Speicherorten im Datenverarbeitungssystem.
  • Der Dienstschichtadapter (192) stellt ferner einer Mediensteuereinheit (214) und einem Speicher (216) eine Speicherschnittstelle über eine Speicherschicht (206) bereit. Die Dienstschicht (206) stellt den Zugriff auf den Speicher (216) und die Mediensteuereinheit (214) bereit und verwaltet den Zugriff auf den Speicher (216) als Speicher mit niedrigstem Kohärenzpunkt (LPC). Das Verwalten des Speichers (216) als LPC-Speicher kann beinhalten, dass speicherverwaltungsähnliche Dienste für den Speicher bereitgestellt werden, so beispielsweise Überwachen, um die Kohärenz des Speichers (216) aufrechtzuerhalten, und Übertragen von Speicherzugriffsanforderungen zwischen dem LPC-Speicher (216) und Speichern an anderer Stelle im System.
  • Die Speicherschicht (206) kann der BFE (194) Zugriff auf den Speicher (216) bereitstellen. Das Zugreifen auf den Speicher (216), der mit dem Dienstschichtadapter (192) verknüpft ist, kann eine niedrigere Latenz aufweisen als das Zugreifen auf einen Speicher an anderer Stelle im System. Der Speicher (216) kann des Weiteren ganz oder teilweise anderen Elementen im System zugewiesen werden, die mehr Speicher benötigen oder davon profitieren. Der Prozessor (156) kann zum Beispiel für Aktivitäten verwendet werden, die viel Speicher benötigen. Der Speicher kann über die Speicherschnittstelle im Dienstschichtadapter (192) zu geringen Kosten oder als Teil eines Upgrades des Systems bereitgestellt werden.
  • Der Speicher (216) kann ferner zwischen der BFE (194) und anderen Elementen im System wie dem Prozessor (158) aufgeteilt werden. Dadurch erhält die BFE (194) einen Zugriff mit niedriger Latenz auf den Speicher, während die Speicherreserven des Prozessors (158) oder anderer Elemente verbessert werden, die zusätzlichen Speicher benötigen. Bei dem Speicher kann es sich um einen flüchtigen Speicher handeln, der sich vom RAM und anderen Speichern unterscheidet, die vom Prozessor und der Speicherverwaltungseinheit verwaltet werden.
  • Die Speicherschicht (206) enthält auch ein Basisadressregister (212). Das Basisadressregister (212) stellt eine Basisadresse bereit, anhand der eine Speicherabbildung beginnt. Das Basisadressregister (212) kann Speicheradressen in Speicherzugriffsanweisungen funktional an verschiedene Speicherorte im System übertragen, darunter an den Speicher (216), den Speicher im Prozessor (156) und Speicher, die mit anderen Dienstspeicheradaptern im Host-System verbunden sind.
  • Die Speicherschicht (206) tauscht über eine Speicherschnittstelle Daten mit einer Mediensteuereinheit (214) aus. Bei der Mediensteuereinheit (214) handelt es sich um eine Einheit, die so konfiguriert ist, dass sie die Datenübertragung zwischen der Speicherschicht (206) des Dienstschichtadapters (192) und dem Speicher (216) erleichtert. Die Mediensteuereinheit (214) kann für den Typ des damit verknüpften Speichers (216) spezifisch sein.
  • Die Mediensteuereinheit (214) kann über eine Speicherschnittstelle mit der Speicherschicht (206) Daten austauschen. Die Speicherschnittstelle in der Speicherschicht (206) kann eine von der Kohärenzschnittstelle in der Kohärenzdienstschicht (204) getrennte Datenübertragungsschnittstelle sein. Bei der Kohärenzschnittstelle und der Speicherschnittstelle kann es sich zum Beispiel um zwei getrennte Anschlussstifte auf dem Chip handeln, auf dem der Dienstschichtadapter (192) implementiert ist. Der Dienstschichtadapter (192) kann des Weiteren mehrere Anschlüsse enthalten, die für die BFE (194) frei sind. Die freien Anschlüsse können von der BFE (194) verwendet werden, um Speicherzugriffsanweisungen nach den Anforderungen der BFE (194) zu verteilen.
  • Die Speicherschicht (206) stellt mithilfe von Übersetzungskennzeichen (XTAGS) Übersetzungsdienste bereit. XTAGS werden der BFE (194) bereitgestellt und in der XTAG-Tabelle (208) gespeichert, die auf eine reale Adresse abgebildet wird. Die XTAG-Tabelle (208) bildet XTAGS auf interne Adressen wie beispielsweise reale Adressen ab, die vom Prozessor (156) und der Speicherschicht (206) verwendet werden. Die BFE (194) verwendet ein XTAG, um Speicherorte in Speicherzugriffsanweisungen zu identifizieren. Die BFE (194) hat möglicherweise keinen Zugriff auf oder Kenntnis von realen Adressen, die vom Prozessor (156) oder einer anderen Einheit des Datenverarbeitungssystems verwendet werden. Die XTAG-Tabelle (208) befindet sich in der Darstellung zwar in der Speicherschicht (206), die XTAG-Tabelle (208) kann sich jedoch an einer beliebigen Stelle im Dienstschichtadapter (192) befinden oder für den Dienstschichtadapter (192) zugreifbar sein.
  • Der BFE (194) kann Speicher vom Speicher (216) oder von anderer Stelle wie dem Speicher im Prozessor (158) oder sonstigem von der Speicherverwaltungseinheit verwaltetem Speicher im System zugewiesen werden. Die BFE (194) kennt den physischen Ort des Speichers möglicherweise nicht, auf den über den Dienstschichtadapter (192) zugegriffen werden kann. Die BFE (194) greift mit anderen Worten über den Dienstschichtadapter (192) auf den gesamten zugewiesenen Speicher zu und verwendet dabei denselben Anweisungssatz, unabhängig vom Speicherort. Der mit dem Dienstschichtadapter (192) verbundene Speicher kann jedoch einen Zugriff mit niedrigerer Latenz aufweisen als ein Speicher an anderer Stelle im System.
  • Der Verbindungsarbiter (210) stellt eine Übersetzungsschicht bereit, um die Datenübertragung zwischen dem Dienstschichtadapter (192) und anderen Hardware-Elementen wie den Prozessoren im Datenverarbeitungssystem zu erleichtern. Der Verbindungsarbiter (210) kann auch eine Schnittstelle bereitstellen, um im Falle eines Zwischenspeicherfehlers verschiedene Zwischenspeicher (z.B. Kontextzwischenspeicher, ERAT-Zwischenspeicher) im Dienstschichtadapter (192) zu aktualisieren.
  • 3 stellt zur weiteren Erläuterung einen Ablaufplan eines beispielhaften Verfahrens zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar. Das Verfahren von 3 beinhaltet ein Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192). Das Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192) kann durchgeführt werden, indem der Adapter (192) eine Anforderung vom Beschleuniger (194) empfängt, um eine Speicherzugriffsoperation mit einer effektiven Adresse zu initiieren; die effektive Adresse in die reale Adresse übersetzt wird; dem Beschleuniger (194) ein Übersetzungskennzeichen („XTAG“) vom Adapter (192) bereitgestellt wird, das der realen Adresse entspricht; und der Beschleuniger (194) die Speicherzugriffsanweisungen mit dem XTAG vom Adapter (192) empfängt.
  • Die Speicherzugriffsanweisung kann über die Kohärenzschnittstelle im Adapter vom Adapter empfangen werden. Die Speicherzugriffsanweisung kann alternativ von einer anderen Schnittstelle empfangen werden, die den Beschleuniger (194) und den Adapter (192) verbindet. Der Adapter (192) kann zum Beispiel spezialisierte Schnittstellen für Speicherzugriffsanweisungen wie eine Speicherdirektzugriffsschnittstelle bereitstellen.
  • Das Verfahren von 3 beinhaltet auch ein Abrufen (304) einer realen Adresse für die Speicherzugriffsanwendung durch den Adapter (192). Das Abrufen (304) einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192) kann durchgeführt werden, indem die reale Adresse von einer XTAG-Tabelle erhalten wird, wobei die reale Adresse auf das XTAG abgebildet wird, und das XTAG in der Speicherzugriffsanweisung vom Adapter durch die reale Adresse ersetzt wird. Die reale Adresse kann algorithmisch von der Speicherzugriffsanweisung abgeleitet werden. Der Adapter (192) kann zum Beispiel einen Algorithmus auf Elemente der Speicherzugriffsanweisung wie ein XTAG anwenden, um die reale Adresse zu erhalten.
  • Das Abrufen (304) einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter kann auch durchgeführt werden, indem festgelegt wird, dass der Adapter (194) befugt ist, auf den Zielspeicherort zuzugreifen. Die ERAT oder eine andere Struktur kann zum Beispiel angeben, ob der Beschleuniger (194) oder der dazugehörige Kontext über die Erlaubnis verfügt, auf den Speicher zuzugreifen, der durch die effektive Adresse oder die dazugehörige reale Adresse gekennzeichnet wird.
  • Das Verfahren von 3 beinhaltet weiterhin ein Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen. Das Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen, kann auch durchgeführt werden, indem eine Basisadresse für die reale Adresse festgelegt wird und die Basisadresse und die reale Adresse zusammen verwendet werden, um den Ort im System zu bestimmen, an dem sich der Speicher für die reale Adresse befindet. Bei dem Ort kann es sich um den Speicher handeln, der mit der Mediensteuereinheit (214) verknüpft ist, den Speicher im Prozessor, den von der Speicherverwaltungseinheit (wie einem System-RAM) gesteuerten Speicher oder den Speicher, der mit einem anderen Dienstschichtadapter im System verknüpft ist.
  • Das Verfahren von 3 beinhaltet weiterhin ein Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) vom Adapter (192) an eine Mediensteuereinheit (214) für den LPC-Speicher, wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist. Das Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist, kann durchgeführt werden, indem die Speicherzugriffsanweisung und die reale Adresse (326) in der Speicherschnittstelle platziert werden, die mit der Mediensteuereinheit (214) verknüpft ist. Das Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist, kann auch durchgeführt werden, indem die Mediensteuereinheit (214) die Speicherzugriffsanweisung in Anweisungen niedrigerer Ebene übersetzt, die geeignet sind, um die Speicherzugriffsanweisung durch den verknüpften Speicher zu verarbeiten.
  • 4 stellt zur weiteren Erläuterung einen Ablaufplan mit einem beispielhaften Verfahren zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar, das beinhaltet: Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192); Abrufen (304) einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192); Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; sowie Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (308), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist.
  • Das Verfahren von 4 unterscheidet sich allerdings insofern vom Verfahren von 3, als 4 weiterhin ein Empfangen (402) einer nachfolgenden Speicherzugriffsanweisung vom Prozessor beinhaltet. Das Empfangen (402) einer nachfolgenden Speicherzugriffsanweisung vom Prozessor kann durchgeführt werden, indem ein Kern oder ein anderes Element im Prozessor eine nachfolgende Speicherzugriffsanweisung mit einer realen Adresse erzeugt, die einen Speicherort in dem Speicher als Ziel hat, der mit dem Dienstschichtadapter (192) verknüpft ist. Die Speicherzugriffsanweisung kann über ein Basisadressregister im Prozessor an den Dienstschichtadapter (192) übertragen werden.
  • Das Verfahren von 4 beinhaltet weiterhin ein Festlegen (404) mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung den LPC-Speicher als Ziel hat. Das Festlegen (404) mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung den LPC-Speicher als Ziel hat, kann durchgeführt werden, indem eine Basisadresse für die reale Adresse festgelegt wird und die Basisadresse und die reale Adresse zusammen verwendet werden, um festzulegen, dass die nachfolgende Speicherzugriffsanforderung einen Ort in dem Speicher als Ziel hat, der mit dem Adapter (192) verknüpft ist.
  • Das Verfahren von 4 beinhaltet weiterhin ein Senden (406) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an die Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192). Das Senden (406) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an die Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192) kann durchgeführt werden, indem die nachfolgende Speicherzugriffsanweisung und die reale Adresse (328) in der Speicherschnittstelle platziert werden, die mit der Mediensteuereinheit (214) verknüpft ist. Die nachfolgende Speicherzugriffsanweisung kann einen Teil desselben Speichers als Ziel aufweisen, der mit dem Adapter (192) verknüpft ist, auf den der Beschleuniger zugreift, obwohl der Prozessor und der Beschleuniger (194) auf Speicherorte beschränkt sein können, auf die sie zugreifen dürfen.
  • 5 stellt zur weiteren Erläuterung einen Ablaufplan mit einem beispielhaften Verfahren zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar, das beinhaltet: Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192); Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192); Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; und Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist.
  • Das Verfahren von 5 unterscheidet sich allerdings insofern vom Verfahren von 3, als 5 weiterhin ein Empfangen (502) einer nachfolgenden Speicherzugriffsanweisung vom Beschleuniger (194) beinhaltet. Das Empfangen (502) einer nachfolgenden Speicherzugriffsanweisung vom Beschleuniger (194) kann durchgeführt werden, indem eine nachfolgende Speicherzugriffsanweisung mit einem XTAG empfangen wird. Das XTAG kann mithilfe der XTAG-Tabelle in eine reale Adresse übersetzt werden.
  • Das Verfahren von 5 beinhaltet des Weiteren ein Festlegen (504) mithilfe von Basisadressregistern im Adapter (192), dass die nachfolgende Speicherzugriffsanweisungen nicht den LPC-Speicher als Ziel hat. Das Festlegen (504) mithilfe von Basisadressregistern im Adapter (192), dass die nachfolgende Speicherzugriffsanweisung nicht den LPC-Speicher als Ziel hat, kann durchgeführt werden, indem eine Basisadresse für die reale Adresse festgelegt wird und die Basisadresse und die reale Adresse zusammen verwendet werden, um festzulegen, dass die nachfolgende Speicherzugriffsanforderung einen Speicherort als Ziel hat, der sich nicht in dem mit dem Adapter (192) verknüpften Speicher befindet.
  • Das Verfahren von 5 beinhaltet weiterhin ein Senden (506) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an den Prozessor (156) durch den Adapter (192). Das Senden (506) der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung (328) an den Prozessor (156) durch den Adapter (192) kann durchgeführt werden, indem der Prozessor die nachfolgende Speicherzugriffsanweisung (328) empfängt und ermittelt, ob sich der Zielspeicherort im Prozessor oder einem anderen Adapter im System befindet (z.B. mithilfe eines Basisadressregisters). Wenn es sich bei dem Zielspeicher um einen Prozessorspeicher handelt, verarbeitet der Prozessor die nachfolgende Speicherzugriffsanforderung. Ist der Zielspeicher mit einem anderen Adapter verknüpft, kann die nachfolgende Speicherzugriffsanforderung an den Adapter weitergeleitet werden, der diesen Speicher verwaltet.
  • 6 stellt zur weiteren Erläuterung einen Ablaufplan mit einem beispielhaften Verfahren zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung dar, das beinhaltet: Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192); Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter (192); Festlegen (306) mithilfe von Basisadressregistern im Adapter (192), dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; und Senden (308) der Speicherzugriffsanweisung und der realen Adresse (326) an eine Mediensteuereinheit (214) für den LPC-Speicher durch den Adapter (192), wobei die Mediensteuereinheit (214) für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter (192) verknüpft ist.
  • Das Verfahren von 6 unterscheidet sich allerdings insofern von 3, als das Empfangen (302) einer Speicherzugriffsanweisung (320) vom Beschleuniger (194) durch den Adapter (192) beinhaltet: Empfangen (602) einer Anforderung vom Beschleuniger (194) durch den Adapter (192), um eine Speicherzugriffsoperation mit einer effektiven Adresse zu initiieren; Übersetzen (604) der effektiven Adresse in die reale Adresse; Bereitstellen (606) eines Übersetzungskennzeichens („XTAG“), das der realen Adresse entspricht, für den Beschleuniger (194) durch den Adapter (192); und Empfangen (608) der Speicherzugriffsanweisung mit dem XTAG (332) vom Beschleuniger (194) durch den Adapter (192).
  • Das Empfangen (602) einer Anforderung vom Beschleuniger (194) durch den Adapter (192), um eine Speicherzugriffsoperation mit einer effektiven Adresse zu initiieren, kann durchgeführt werden, indem der Beschleuniger (194) die Anforderung zum Initiieren einer Speicherzugriffsoperation an eine Kohärenzschnittstelle in der Kohärenzdienstschicht des Adapters (192) übermittelt. Die Anforderung zum Initiieren einer Speicherzugriffsoperation kann eine Ortskennung, einen Prozessidentifikator und die Operationskennung beinhalten. Bei der Ortskennung handelt es sich um eine Adresse, die der Beschleuniger verwendet, um auf einen Speicherort im Prozessor, RAM oder einem anderen Hardware-Element im Datenverarbeitungssystem zu verweisen. Die Ortskennung kann zum Beispiel eine effektive Adresse sein. Bei dem Prozessidentifikator handelt es sich um eine Kennung des Kontexts für die Anforderung. Der Kontext wird vom Adapter (192) verwendet, um die Ortskennung in eine reale Adresse zu übersetzen, die von der Zieleinheit verstanden wird. Die Operationskennung kann die Art der Operation kennzeichnen, die die BFE (194) initiiert, wie beispielsweise eine Speicherzugriffsanweisung.
  • Das Übersetzen (604) der effektiven Adresse in die reale Adresse kann durchgeführt werden, indem die ERAT im Adapter verwendet wird, um die effektive Adresse in eine reale Adresse umzuwandeln. Das Bereitstellen (606) eines Übersetzungskennzeichens („XTAG“) (330), das der realen Adresse entspricht, für den Beschleuniger (194) durch den Adapter (192), kann durchgeführt werden, indem der Adapter (192) die reale Adresse für die Speicherzugriffsanweisung festlegt und die reale Adresse in einer XTAG-Tabelle im Adapter (192) gespeichert wird.
  • Das Empfangen (608) der Speicherzugriffsanweisung mit dem XTAG (332) vom Beschleuniger (194) durch den Adapter (192) kann durchgeführt werden, indem der Beschleuniger (194) die Speicherzugriffsanweisung mit dem XTAG (332) über die Kohärenzschnittstelle oder eine andere spezialisierte Schnittstelle wie eine Speicherdirektzugriffsschnittstelle an den Adapter (192) übermittelt.
  • Anhand der vorstehenden Erläuterungen erkennen Leser, dass zu den Vorteilen des Verwaltens eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters gemäß Ausführungsformen der vorliegenden Erfindung Folgendes gehört:
    • • Verbessern der Funktion eines Computersystems, indem einer BFE eine offene Prozessorspeicherschnittstelle unabhängig von der Kohärenzschnittstelle bereitgestellt wird, wodurch die Wirksamkeit des Speicherzugriffs erhöht wird.
    • • Verbessern der Funktion eines Computersystems, indem der BFE ein geschützter Zugriff auf einen LPC-Speicher bereitgestellt wird, der mit dem Adapter verknüpft ist, wodurch die Latenz verringert wird.
    • • Verbessern der Funktion eines Computersystems, indem der Speicherzugriff durch die BFE auf im Adapter und außerhalb des Adapters befindliche Speicher verwaltet wird, wodurch die Speicherintegrität verbessert wird.
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung werden umfassend im Zusammenhang mit einem vollständig funktionierenden Computersystem zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters beschrieben. Fachleute erkennen jedoch, dass die vorliegende Erfindung auch in einem Computerprogrammprodukt ausgeführt werden kann, das in einem durch einen Computer lesbaren Speichermedium für die Verwendung in einem geeigneten Datenverarbeitungssystem angeordnet ist. Bei einem solchen durch einen Computer lesbaren Speichermedium kann es sich um ein beliebiges Speichermedium für durch eine Maschine lesbare Informationen handeln, darunter magnetische Medien, optische Medien oder andere geeignete Medien. Zu Beispielen für solche Medien gehören magnetische Platten in Festplatten oder Disketten, Compact-Disks für optische Laufwerke, magnetische Bänder und andere, die Fachleuten geläufig sind. Fachleute erkennen sofort, dass ein beliebiges Computersystem mit geeigneten Programmiermitteln die Schritte des Verfahrens der Erfindung ausführen kann, wie dies in einem Computerprogrammprodukt ausgeführt ist. Zwar sind einige der in dieser Beschreibung vorgestellten beispielhaften Ausführungsformen auf installierte Software ausgerichtet und werden auf Computer-Hardware ausgeführt, Fachleute erkennen jedoch ohne Weiteres, dass alternative Ausführungsformen, die als Firmware oder Hardware ausgeführt sind, dennoch im Umfang der vorliegenden Erfindung liegen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. einen Lichtwellenleiter durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Aus der vorstehenden Beschreibung versteht sich, dass Änderungen und Abwandlungen an verschiedenen Ausführungsformen der vorliegenden Erfindung vorgenommen werden können, ohne von ihren Grundgedanken abzuweichen. Die Beschreibungen in dieser Darlegung dienen lediglich zur Veranschaulichung und sind nicht in einem einschränkenden Sinn zu verstehen. Der Umfang der vorliegenden Erfindung ist nur durch die Formulierungen in den folgenden Ansprüchen beschränkt.

Claims (20)

  1. Verfahren zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters, wobei der Adapter mit einem Prozessor und einem Beschleuniger in einem Host-Datenverarbeitungssystem verbunden ist, wobei der Prozessor so konfiguriert ist, dass er eine symmetrische Mehrfachverarbeitung durchführt, wobei das Verfahren aufweist: Empfangen einer Speicherzugriffsanweisung vom Beschleuniger durch den Adapter; Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter; Festlegen mithilfe von Basisadressregistern im Adapter, dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; und Senden der Speicherzugriffsanweisung und der realen Adresse an eine Mediensteuereinheit für den LPC-Speicher durch den Adapter, wobei die Mediensteuereinheit für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter verknüpft ist.
  2. Verfahren nach Anspruch 1, das weiterhin aufweist: Empfangen einer nachfolgenden Speicherzugriffsanweisung vom Prozessor; Festlegen mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung den LPC-Speicher als Ziel hat; und Senden der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung an die Mediensteuereinheit für den LPC-Speicher durch den Adapter.
  3. Verfahren nach Anspruch 1, das weiterhin aufweist: Empfangen einer nachfolgenden Speicherzugriffsanweisung vom Beschleuniger; Festlegen mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung nicht den LPC-Speicher als Ziel hat; und Senden der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung an den Prozessor durch den Adapter.
  4. Verfahren nach Anspruch 1, wobei das Empfangen einer Speicherzugriffsanweisung vom Beschleuniger mit dem LPC-Speicher als Ziel aufweist: Empfangen einer Anforderung vom Beschleuniger durch den Adapter zum Initiieren einer Speicherzugriffsoperation mit einer effektiven Adresse; Übersetzen der effektiven Adresse in die reale Adresse; Bereitstellen eines Übersetzungskennzeichens („XTAG“), das der realen Adresse entspricht, für den Beschleuniger durch den Adapter; und Empfangen der Speicherzugriffsanweisung mit dem XTAG vom Beschleuniger durch den Adapter.
  5. Verfahren nach Anspruch 1, wobei die anderen Speicherorte einen Prozessorspeicher und einen Speicher aufweisen, der mit weiteren Adaptern im Host-Datenverarbeitungssystem verbunden ist.
  6. Verfahren nach Anspruch 1, wobei der LPC-Speicher zwischen dem Beschleuniger und dem Prozessor aufgeteilt ist.
  7. Verfahren nach Anspruch 1, wobei die Speicherzugriffsanweisung über eine Kohärenzschnittstelle im Adapter durch den Adapter empfangen wird.
  8. Adapter zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters, wobei der Adapter mit einem Prozessor und einem Beschleuniger in einem Host-Datenverarbeitungssystem verbunden ist, wobei der Prozessor so konfiguriert ist, dass er eine symmetrische Mehrfachverarbeitung durchführt, wobei der Adapter so konfiguriert ist, dass er folgende Schritte durchführt: Empfangen einer Speicherzugriffsanweisung vom Beschleuniger durch den Adapter; Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter; Festlegen mithilfe von Basisadressregistern im Adapter, dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; und Senden der Speicherzugriffsanweisung und der realen Adresse an eine Mediensteuereinheit für den LPC-Speicher durch den Adapter, wobei die Mediensteuereinheit für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter verknüpft ist.
  9. Adapter nach Anspruch 8, wobei die Schritte weiterhin aufweisen: Empfangen einer nachfolgenden Speicherzugriffsanweisung vom Prozessor; Festlegen mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung den LPC-Speicher als Ziel hat; und Senden der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung an die Mediensteuereinheit für den LPC-Speicher durch den Adapter.
  10. Adapter nach Anspruch 8, wobei die Schritte weiterhin aufweisen: Empfangen einer nachfolgenden Speicherzugriffsanweisung vom Beschleuniger; Festlegen mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung nicht den LPC-Speicher als Ziel hat; und Senden der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung an den Prozessor durch den Adapter.
  11. Adapter nach Anspruch 8, wobei das Empfangen einer Speicherzugriffsanweisung vom Beschleuniger mit dem LPC-Speicher als Ziel aufweist: Empfangen einer Anforderung vom Beschleuniger durch den Adapter zum Initiieren einer Speicherzugriffsoperation mit einer effektiven Adresse; Übersetzen der effektiven Adresse in die reale Adresse; Bereitstellen eines Übersetzungskennzeichens („XTAG“), das der realen Adresse entspricht, für den Beschleuniger durch den Adapter; und Empfangen der Speicherzugriffsanweisung mit dem XTAG vom Beschleuniger durch den Adapter.
  12. Adapter nach Anspruch 8, wobei die anderen Speicherorte einen Prozessorspeicher und einen Speicher aufweisen, der mit weiteren Adaptern im Host-Datenverarbeitungssystem verbunden ist.
  13. Adapter nach Anspruch 8, wobei der LPC-Speicher zwischen dem Beschleuniger und dem Prozessor aufgeteilt ist.
  14. Adapter nach Anspruch 8, wobei die Speicherzugriffsanweisung über eine Kohärenzschnittstelle im Adapter durch den Adapter empfangen wird.
  15. Computerprogrammprodukt zum Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe einer Dienstschichtadapters, wobei der Adapter mit einem Prozessor und einem Beschleuniger in einem Host-Datenverarbeitungssystem verbunden ist, wobei der Prozessor so konfiguriert ist, dass er eine symmetrische Mehrfachverarbeitung durchführt, wobei das Computerprogrammprodukt auf einem durch einen Computer lesbaren Medium angeordnet ist, wobei das Computerprogrammprodukt Computerprogrammanweisungen aufweist, die, wenn sie ausgeführt werden, den Adapter veranlassen, folgende Schritte durchzuführen: Empfangen einer Speicherzugriffsanweisung vom Beschleuniger durch den Adapter; Abrufen einer realen Adresse für die Speicherzugriffsanweisung durch den Adapter; Festlegen mithilfe von Basisadressregistern im Adapter, dass die reale Adresse den LPC-Speicher als Ziel hat, wobei die Basisadressregister Speicherzugriffsanforderungen zwischen dem LPC-Speicher und anderen Speicherorten im Host-Datenverarbeitungssystem übertragen; und Senden der Speicherzugriffsanweisung und der realen Adresse an eine Mediensteuereinheit für den LPC-Speicher durch den Adapter, wobei die Mediensteuereinheit für den LPC-Speicher über eine Speicherschnittstelle mit dem Adapter verknüpft ist.
  16. Computerprogrammprodukt nach Anspruch 15, wobei die Schritte weiterhin aufweisen: Empfangen einer nachfolgenden Speicherzugriffsanweisung vom Prozessor; Festlegen mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung den LPC-Speicher als Ziel hat; und Senden der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung an die Mediensteuereinheit für den LPC-Speicher durch den Adapter.
  17. Computerprogrammprodukt nach Anspruch 15, wobei die Schritte weiterhin aufweisen: Empfangen einer nachfolgenden Speicherzugriffsanweisung vom Beschleuniger; Festlegen mithilfe von Basisadressregistern im Adapter, dass die nachfolgende Speicherzugriffsanweisung nicht den LPC-Speicher als Ziel hat; und Senden der nachfolgenden Speicherzugriffsanweisung und der realen Adresse für die nachfolgende Speicherzugriffsanweisung an den Prozessor durch den Adapter.
  18. Computerprogrammprodukt nach Anspruch 15, wobei das Empfangen einer Speicherzugriffsanweisung durch den Beschleuniger mit dem LPC-Speicher als Ziel aufweist: Empfangen einer Anforderung vom Beschleuniger durch den Adapter zum Initiieren einer Speicherzugriffsoperation mit einer effektiven Adresse; Übersetzen der effektiven Adresse in die reale Adresse; Bereitstellen eines Übersetzungskennzeichens („XTAG“), das der realen Adresse entspricht, für den Beschleuniger durch den Adapter; und Empfangen der Speicherzugriffsanweisung mit dem XTAG vom Beschleuniger durch den Adapter.
  19. Computerprogrammprodukt nach Anspruch 15, wobei die anderen Speicherorte einen Prozessorspeicher und einen Speicher aufweisen, der mit weiteren Adaptern im Host-Datenverarbeitungssystem verbunden ist.
  20. Computerprogrammprodukt nach Anspruch 15, wobei der LPC-Speicher zwischen dem Beschleuniger und dem Prozessor aufgeteilt ist.
DE112017005063.4T 2016-11-30 2017-11-27 Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters Pending DE112017005063T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/364,458 2016-11-30
US15/364,458 US10394711B2 (en) 2016-11-30 2016-11-30 Managing lowest point of coherency (LPC) memory using a service layer adapter
PCT/IB2017/057408 WO2018100478A1 (en) 2016-11-30 2017-11-27 Managing lowest point of coherency (lpc) memory using service layer adapter

Publications (1)

Publication Number Publication Date
DE112017005063T5 true DE112017005063T5 (de) 2019-07-04

Family

ID=62190141

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017005063.4T Pending DE112017005063T5 (de) 2016-11-30 2017-11-27 Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters

Country Status (6)

Country Link
US (1) US10394711B2 (de)
JP (1) JP6982618B2 (de)
CN (1) CN109964214B (de)
DE (1) DE112017005063T5 (de)
GB (1) GB2572287B (de)
WO (1) WO2018100478A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10394711B2 (en) * 2016-11-30 2019-08-27 International Business Machines Corporation Managing lowest point of coherency (LPC) memory using a service layer adapter
US10846235B2 (en) 2018-04-28 2020-11-24 International Business Machines Corporation Integrated circuit and data processing system supporting attachment of a real address-agnostic accelerator
US11221957B2 (en) * 2018-08-31 2022-01-11 International Business Machines Corporation Promotion of ERAT cache entries
CN110058931B (zh) 2019-04-19 2022-03-22 上海兆芯集成电路有限公司 用以任务调度的处理系统及其加速方法
CN110046053B (zh) 2019-04-19 2021-11-12 上海兆芯集成电路有限公司 用以分配任务的处理系统及其访存方法
CN110032453B (zh) 2019-04-19 2022-05-03 上海兆芯集成电路有限公司 用以任务调度与分配的处理系统及其加速方法
CN110083387B (zh) 2019-04-19 2021-11-12 上海兆芯集成电路有限公司 使用轮询机制的处理系统及其访存方法
US20210173784A1 (en) * 2019-12-06 2021-06-10 Alibaba Group Holding Limited Memory control method and system

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0553920A (ja) * 1991-08-26 1993-03-05 Toshiba Corp 構造化アドレス生成装置
US5497494A (en) * 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
US5914730A (en) * 1997-09-09 1999-06-22 Compaq Computer Corp. System and method for invalidating and updating individual GART table entries for accelerated graphics port transaction requests
US5933158A (en) * 1997-09-09 1999-08-03 Compaq Computer Corporation Use of a link bit to fetch entries of a graphic address remapping table
US5936640A (en) * 1997-09-30 1999-08-10 Compaq Computer Corporation Accelerated graphics port memory mapped status and control registers
GB2361561B (en) * 1998-11-16 2003-10-29 Infineon Technologies Ag Universal resource access controller
US6405289B1 (en) 1999-11-09 2002-06-11 International Business Machines Corporation Multiprocessor system in which a cache serving as a highest point of coherency is indicated by a snoop response
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US6750870B2 (en) * 2000-12-06 2004-06-15 Hewlett-Packard Development Company, L.P. Multi-mode graphics address remapping table for an accelerated graphics port device
US6973526B2 (en) * 2002-06-28 2005-12-06 Intel Corporation Method and apparatus to permit external access to internal configuration registers
WO2005116837A1 (en) * 2004-05-26 2005-12-08 Intel Corporation Automatic caching generation in network applications
EP1617335A1 (de) * 2004-07-12 2006-01-18 Stmicroelectronics SA Programmierungsmethode eines DMA-Controllers in einem on-Chip System und dazügehörendes on-Chip System
EP1619589B1 (de) * 2004-07-23 2007-12-26 Stmicroelectronics SA Verfahren zur Programmierung einer System auf Chip DMA Steuerung, sowie ein System auf Chip dafür.
US7340582B2 (en) * 2004-09-30 2008-03-04 Intel Corporation Fault processing for direct memory access address translation
US8843727B2 (en) * 2004-09-30 2014-09-23 Intel Corporation Performance enhancement of address translation using translation tables covering large address spaces
TWI270803B (en) 2004-10-08 2007-01-11 Via Tech Inc Adapter for memory simulator
US20060288130A1 (en) * 2005-06-21 2006-12-21 Rajesh Madukkarumukumana Address window support for direct memory access translation
US7853744B2 (en) * 2007-05-23 2010-12-14 Vmware, Inc. Handling interrupts when virtual machines have direct access to a hardware device
US7925857B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation Method for increasing cache directory associativity classes via efficient tag bit reclaimation
US8954685B2 (en) * 2008-06-23 2015-02-10 International Business Machines Corporation Virtualized SAS adapter with logic unit partitioning
US8381032B2 (en) * 2008-08-06 2013-02-19 O'shantel Software L.L.C. System-directed checkpointing implementation using a hypervisor layer
US8131935B2 (en) * 2009-04-07 2012-03-06 International Business Machines Corporation Virtual barrier synchronization cache
US8589600B2 (en) 2009-12-14 2013-11-19 Maxeler Technologies, Ltd. Method of transferring data with offsets
US9081657B2 (en) * 2011-10-13 2015-07-14 Conexant Systems, Inc. Apparatus and method for abstract memory addressing
US9176888B2 (en) 2012-10-04 2015-11-03 International Business Machines Corporation Application-managed translation cache
US9766916B2 (en) 2014-05-05 2017-09-19 International Business Machines Corporation Implementing coherent accelerator function isolation for virtualization
US9842075B1 (en) * 2014-09-12 2017-12-12 Amazon Technologies, Inc. Presenting multiple endpoints from an enhanced PCI express endpoint device
KR102320044B1 (ko) * 2014-10-02 2021-11-01 삼성전자주식회사 Pci 장치, 이를 포함하는 인터페이스 시스템, 및 컴퓨팅 시스템
US9842081B2 (en) * 2015-01-27 2017-12-12 International Business Machines Corporation Implementing modal selection of bimodal coherent accelerator
US20160291887A1 (en) * 2015-03-30 2016-10-06 Kabushiki Kaisha Toshiba Solid-state drive with non-volatile random access memory
US10394711B2 (en) * 2016-11-30 2019-08-27 International Business Machines Corporation Managing lowest point of coherency (LPC) memory using a service layer adapter

Also Published As

Publication number Publication date
US10394711B2 (en) 2019-08-27
GB2572287A8 (en) 2019-10-09
GB2572287B (en) 2020-03-04
CN109964214A (zh) 2019-07-02
GB2572287A (en) 2019-09-25
CN109964214B (zh) 2022-07-29
GB201909219D0 (en) 2019-08-14
WO2018100478A1 (en) 2018-06-07
JP2019537153A (ja) 2019-12-19
US20180150396A1 (en) 2018-05-31
JP6982618B2 (ja) 2021-12-17

Similar Documents

Publication Publication Date Title
DE112017005063T5 (de) Verwalten eines Speichers mit niedrigstem Kohärenzpunkt (LPC) mithilfe eines Dienstschichtadapters
DE102018213430A1 (de) Beschleuniger mit geringer Latenzzeit
DE112018002951T5 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE102009061252B3 (de) Vorrichtung, Verfahren und System zur Verarbeitung einer Transaktion auf einem PCI-Bus mittels eines Root-Komplexes
DE102014109518A1 (de) Techniken zur Initialisierung von einem Speichergerät, auf das von der Ferne zugegriffen werden kann
DE112012005222T5 (de) Halbleiter-Datenspeicherverwaltung
DE202010017669U1 (de) Befehls- und Interrupt-Gruppierung bei einer Datenspeichervorrichtung
DE102012216568A1 (de) Scheduling und Managen von Rechentasks mit unterschiedlichen Ausführungsprioritätsstufen
DE112010005821T5 (de) Kontextwechsel
DE112008002019T5 (de) Auslagern von Eingabe/Ausgabe (I/O)-Virtualisierungsarbeitsgängen an einem Prozessor
DE112018005404T5 (de) Vereinfachen des zugriffs auf lokalitätsdomäneninformationen eines speichers
DE112018004138B4 (de) Asynchrone aktualisierung von metadatenspuren in reaktion auf einen mittels einer e/a-operation über eine busschnittstelle erzeugten cachetreffer
US10169247B2 (en) Direct memory access between an accelerator and a processor using a coherency adapter
DE112018006068T5 (de) Dynamische adressübersetzung für eine virtuelle maschine
DE202010018020U1 (de) Opportunistische Verbesserung einer MMIO-Anfrageabwicklung aufgrund eines Zielberichts von Raumerfordernissen
DE112018006769T5 (de) Erweiterte zwischenspeicherzuweisung basierend auf virtuellen knotenressourcen
DE112014002754T5 (de) Effiziente Aufgabenplanung unter Verwendung eines Sperrmechanismus
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE112018003133T5 (de) Zwischenspeicherverwaltung
DE102018213428A1 (de) Techniken zum Reduzieren von Beschleuniger-Speicherzugriffskosten in Plattformen mit mehreren Speicherkanälen
DE112016007538T5 (de) Technologie zur realisierung eines binärverzweigten non-volatile-memory-express-treibers
DE112020000843B4 (de) Ausführen mehrerer datenanforderungen von mehrkernprozessoren
DE112018005359T5 (de) Verhindern eines Beibehaltens von Datensatzsperren durch Transaktionen mit langer Laufzeit
DE112019000303B4 (de) Datenspeichersystem, das die datenverlagerung auf grundlage von zeitlicher nähe von zugriffen durchführt
DE102017124078A1 (de) Ordinale modifikation der dienstgüte

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence