Abstract:
Hierin beschriebene Beispiele betreffen eine schlanke Arbeitsspeicherzuweisung in einem Arbeitsspeicherpool von einem bzw. einer oder mehreren doppelreihigen Arbeitsspeichermodulen oder Arbeitsspeichervorrichtungen. Zu irgendeinem Zeitpunkt kann eine beliebige Zentralverarbeitungseinheit (CPU) eine vollständige virtuelle Zuordnung von Arbeitsspeicher in einer Menge anfordern und empfangen, die den physischen Arbeitsspeicher überschreitet, der am CPU-Pool (naher Arbeitsspeicherpool) (Seiten) angebunden ist. Die Arbeitsspeicherpool-Zuordnung wird unter Verwendung eines Zwischenspeichers oder lokalen Arbeitsspeichers einer CPU und des Arbeitsspeicherpools als Reserve bereitgestellt. Ein entfernter Pool von zusätzlichem Arbeitsspeicher kann dynamisch eingesetzt werden, um die Kluft zwischen zugeordnetem Arbeitsspeicher und nahem Arbeitsspeicher zu füllen. Dieser entfernte Pool wird von mehreren CPUs gemeinsam genutzt, wobei eine dynamische Zuweisung und Adressen-Neuabbildung für den entfernten Pool bereitgestellt wird. Um die Leistung zu verbessern, kann der nahe Arbeitsspeicher als ein Zwischenspeicher des Pool-Arbeitsspeichers betrieben werden. Es können inklusive oder exklusive Inhaltsspeicherkonfigurationen angewandt werden. Eine inklusive Zwischenspeicherkonfiguration kann enthalten, dass ein Eintrag in einem nahen Arbeitsspeicher-Zwischenspeicher auch in einem Arbeitsspeicherpool gespeichert wird, wohingegen eine exklusive Zwischenspeicherkonfiguration einen Eintrag entweder in einem nahen Arbeitsspeicher-Zwischenspeicher oder in einem Arbeitsspeicherpool, aber nicht in beiden bereitstellen kann. Eine Verwaltung des nahen Arbeitsspeicher-Zwischenspeichers enthält eine Nachverfolgung von aktuellen Datenpositionen, Zugriffszählung und andere Zwischenspeicherheuristiken, Entfernung von Daten aus dem nahen Arbeitsspeicher-Zwischenspeicher in den Poolarbeitsspeicher und eine Bewegung von Daten aus dem Poolarbeitsspeicher in den Arbeitsspeicher-Zwischenspeicher.
Abstract:
Systems and methods of implementing server architectures that can facilitate the servicing of memory components in computer systems. The systems and methods employ nonvolatile memory/storage modules that include nonvolatile memory (NVM) that can be used for system memory and mass storage, as well as firmware memory. The respective NVM/storage modules can be received in front or rear-loading bays of the computer systems. The systems and methods further employ single, dual, or quad socket processors, in which each processor is communicably coupled to at least some of the NVM/storage modules disposed in the front or rear-loading bays by one or more memory and/or input/output (I/O) channels. By employing NVM/storage modules that can be received in front or rear-loading bays of computer systems, the systems and methods provide memory component serviceability heretofore unachievable in computer systems implementing conventional server architectures.
Abstract:
A system and method are described for integrating a memory and storage hierarchy including a non-volatile memory tier within a computer system. In one embodiment, PCMS memory devices are used as one tier in the hierarchy, sometimes referred to as “far memory.” Higher performance memory devices such as DRAM placed in front of the far memory and are used to mask some of the performance limitations of the far memory. These higher performance memory devices are referred to as “near memory.”