DE102011082184A1 - Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher - Google Patents

Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher Download PDF

Info

Publication number
DE102011082184A1
DE102011082184A1 DE102011082184A DE102011082184A DE102011082184A1 DE 102011082184 A1 DE102011082184 A1 DE 102011082184A1 DE 102011082184 A DE102011082184 A DE 102011082184A DE 102011082184 A DE102011082184 A DE 102011082184A DE 102011082184 A1 DE102011082184 A1 DE 102011082184A1
Authority
DE
Germany
Prior art keywords
memory
main memory
array
write command
memory cells
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.)
Ceased
Application number
DE102011082184A
Other languages
English (en)
Inventor
John Rudelic
August Camber
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of DE102011082184A1 publication Critical patent/DE102011082184A1/de
Ceased 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/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Abstract

Der hierin offenbarte Gegenstand bezieht sich auf Speichervorrichtungen und Sicherheit derselben.

Description

  • HINTERGRUND
  • Gebiet:
  • Der hierin offenbarte Gegenstand bezieht sich auf Speichervorrichtungen und Sicherheit derselben.
  • Information:
  • Zunehmend können Speichervorrichtungen implementiert werden zum Speichern von empfindlicher Information, wie zum Beispiel Finanz-, Medizinischer- und/oder Personellen-Aufzeichnungen. Zusätzlich können solche Speichervorrichtungen Information speichern, die verwendet wird zum Betreiben von Rechensystemen, wie zum Beispiel ausführbarer Code, Systembetriebsparameter usw. Unglücklicherweise kann solche wichtige und/oder empfindliche Information durch zunehmend ausgeklügelte Sicherheitsattacken angegriffen werden. Solch eine Attacke kann zum Beispiel ein nichtautorisiertes Modifizieren, Lesen und/oder Herunterladen von Datenbanken von Finanzaufzeichnungen umfassen, die zum Identitätsdiebstahl beitragen.
  • Sicherheitstechnologie kann Techniken zum Authentifizieren von Operationen einer Speichervorrichtung enthalten, um zu verhindern, dass Speicherinhalt modifiziert und/oder gelesen wird, ohne zum Beispiel einen Signaturbestätigungsprozess zu durchlaufen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Nicht beschränkende und nicht abschließende Ausführungsformen werden mit Bezug auf die folgenden Zeichnungen beschrieben werden, wobei gleiche Bezugszeichen sich auf gleiche Teile über die verschiedenen Figuren hinweg beziehen, so lange es nicht anderweitig angegeben ist.
  • 1 ist ein schematisches Diagramm einer Systemkonfiguration gemäß einer Ausführungsform.
  • 2 ist ein schematisches Diagramm eines Prozessorspeichersystems gemäß einer Ausführungsform.
  • 3 ist ein schematisches Diagramm eines Prozessorspeichersystems gemäß einer anderen Ausführungsform.
  • 4 ist ein schematisches Diagramm, das einen Prozess des Authentifizierens von Hauptspeicherabschnitten gemäß einer Ausführungsform veranschaulicht.
  • 5 ist ein Flussdiagramm eines Prozesses zum Authentifizieren eines Schreibbefehls in einem Hauptspeicher gemäß einer Ausführungsform.
  • 6 ist ein Flussdiagramm eines Prozesses zum Ausführen eines Sicherheitsspeichermaßnahmenbefehls.
  • 7 ist eine schematische Ansicht eines Rechnersystems und einer Speichervorrichtung gemäß einer Ausführungsform.
  • DETAILLIERTE BESCHREIBUNG
  • Der Bezug in Mieser Beschreibung auf „eine Ausführungsform” bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, die hier in Verbindung mit der Ausführungsform beschrieben ist, in zumindest einer Ausführungsform des beanspruchten Gegenstandes enthalten ist. Wenn daher der Ausdruck „in einer Ausführungsform” oder der Ausdruck „eine Ausführungsform” an verschiedenen Stellen in dieser Beschreibung auftritt, so bedeutet dies nicht notwendigerweise, dass alle diese sich auf dieselbe Ausführungsform beziehen. Darüber hinaus können die bestimmten Merkmale, Strukturen oder Eigenschaften in einer oder mehreren Ausführungsformen kombiniert werden.
  • Hier beschriebene Ausführungsformen können Hauptspeicher enthalten, der persistenten Speicher aufweist. Persistenter Speicher kann zum Beispiel nichtflüchtigen Speicher, wie Phasenübergangsspeicher (phase change memory, PCM), NOR-Flash und NAND-Flashspeicher aufweisen. Dementsprechend kann persistenten Hauptspeicher ein Speicherfeld aufweisen, das nichtflüchtigen Speicher enthält. In einer Implementierung kann persistenter Hauptspeicher ein Speicherfeld enthalten, von welchem ein Abschnitt eine oder mehrere Arten von nichtflüchtigem Speicher und ein anderer Abschnitt flüchtiger Speicher wie unten beschrieben aufweist. In einer anderen Implementierung kann persistenter Hauptspeicher ein Speicherfeld enthalten, das nur nichtflüchtigen Speicher enthält, obgleich der beanspruchte Gegenstand in dieser Weise nicht beschränkt ist. Hier bezieht sich Hauptspeicher auf Speicher, der durch eine Verarbeitungseinheit verwendet werden kann zum Halten einer oder mehrerer Anwendungen, die durch die Verarbeitungseinheit ausführbar sind, obgleich der beanspruchte Gegenstand diesbezüglich nicht beschränkt ist. In einer Implementierung können auf spezifische Abschnitte von Hauptspeicher durch eine Verarbeitungseinheit zugegriffen werden, wie zum Beispiel durch ein direktes Adressieren solcher spezifischen Abschnitte. Das direkte Adressieren kann einen Prozess aufweisen, wo eine Verarbeitungseinheit eine Adresse ausgeben kann zum Lesen eines spezifischen Orts in einem Speicher, und der spezifische Ort wird nachfolgend gelesen.
  • Im Gegensatz dazu kann ein indirektes Adressieren eines Speichers einen Prozess aufweisen, der eine Eingabe/Ausgabe(E/A)-Vorrichtung umfasst, an welche eine Verarbeitungseinheit eine Adresse ausgeben kann zum Lesen eines spezifischen Orts in einem Speicher. In diesem Fall kann die E/A-Vorrichtung antworten, durch Präsentieren von (Lesen) Daten, die sich an diesen spezifischen Ort befinden. Ein Basis-Eingabe/Ausgabe-System(basic input/output system, BIOS)-Software kann zum Beispiel in einem nichtflüchtigen Nur-Lesespeicher (ROM) und/oder Flashspeicher gespeichert werden, der auf nicht durch direkte Adressierung durch eine Verarbeitungseinheit zugegriffen werden kann.
  • In einer Ausführungsform kann ein Verfahren zum Betreiben eines Speichersystems Techniken enthalten zur Sicherheitsüberprüfung von Objekten, die in einen Hauptspeicher eines Prozessors geladen werden. Solche Objekte können zum Beispiel einen Schreibbefehl und/oder mit einem Schreibbefehl assoziierter Information aufweisen, die in Hauptspeicher geschrieben werden soll. Solche Techniken zum Sicherheitsüberprüfen von Objekten können eine Speichervorrichtung umfassen, die in der Lage ist zum Ausführen von authentifizierten Operationen innerhalb der Speichervorrichtung. Ein Prozess zur Validierung einer Sicherheitssignatur kann zum Beispiel ausgeführt werden, bevor Inhalt der Speichervorrichtung modifiziert wird. Eine Sicherheitsüberprüfung von Objekten kann ein Ausführen von sicheren Hash-Algorithmus(SHA)-Maßnahmen und/oder anderen kryptografischen Maßnahmen umfassen. Obgleich solche Maßnahmen relativ zeitraubend sein können, enthalten die hier beschriebenen Ausführungsformen Verfahren und/oder Speichervorrichtungen zum Verbessern einer Effizienz beim Ausführen solcher kryptografischen Maßnahmen. Effizienz kann zum Beispiel verbessert werden durch Reduzieren der erforderlichen Zeit zum Ausführen solcher Maßnahmen und/oder Reduzieren von Betriebsanforderungen, die in einem Prozessorspeichersystem vorhanden sind. Falls zum Beispiel Hauptspeicher persistenten Speicher aufweist, können dann weniger häufig kryptografische Maßnahmen ausgeführt werden, wenn gleichzeitig solche Maßnahmen in dem nichtflüchtigen Speicher gespeichert sind.
  • In einer Ausführungsform kann ein System, das eine Verarbeitungseinheit aufweist, wie etwa eine zentrale Verarbeitungseinheit (CPU) persistenten Hauptspeicher aufweisen. Persistenter Hauptspeicher kann zum Beispiel zumindest einen Abschnitt von Hauptspeicher und/oder Cache-Speicher, der durch eine CPU verwendet wird, aufweisen. Solch ein System kann zum Beispiel ein Rechensystem aufweisen zum Ausführen von Anwendungen in einer beliebigen Zahl von Umgebungen wie etwa Computern, Mobiltelefonen, PDAs, Datenlogger und Navigationsgerät, um nur einige wenige Beispiele zu nennen. In einer Implementierung kann solch ein System eine Betriebsmittelverwaltung zur Virtualisierung, wie zum Beispiel einem Hypervisor aufweisen. In einigen Beispielen kann ein Hauptspeicher und/oder Cachespeicher einen Abschnitt aus persistentem Speicher und einen Abschnitt einer anderen Art aus Speicher mit wahlfreiem Zugriff (RAM) aufweisen. In einem spezifischen Beispiel kann Hauptspeicher zumindest einen Abschnitt aus PCM und dynamischen Speicher mit wahlfreiem Zugriff (DRAM) enthalten. Solche Speicherkonfigurationen können Vorteile, wie zum Beispiel Nichtflüchtigkeit, relativ hohe Schreib-/Lesegeschwindigkeiten und/oder eine verlängerte PCM-Lebensdauer bereitstellen.
  • In einer Implementierung kann persistenter Hauptspeicher einen Vorteil bereitstellen eines Vermeidens von einem Bedarf zum Wiederbestimmen von Information bereitstellen, zu der unter anderem ein Sicherheitsschutz von Inhalt, der in dem persistenten Hauptspeicher gespeichert ist, gehört. Solche Information kann zum Beispiel SHA-Maßnahmen, kryptografische Schlüssel und/oder Signaturen usw. wie unten beschrieben, umfassen. In einer anderen Implementierung kann persistenter Hauptspeicher auch einen Vorteil bereitstellen zum Vermeiden eines Bedarfs an Neuladen solcher Sicherheitsinformation von einem externen nichtflüchtigen Speicher in einen flüchtigen DRAM, wie unten im Detail beschrieben. Stich ein Neubestimmen und/oder Neuladen von Sicherheitsinformation kann andererseits während eines Prozessor-Neustartprozesses auftreten, falls zum Beispiel Sicherheitsinformation nicht in persistenten Hauptspeicher aufbewahrt wird. Dementsprechend kann ein verbesserter Sicherheitsschutz unter einer Anzahl von Vorteilen durch persistenten Hauptspeicher bereitgestellt werden. Selbstverständlich sind solche Merkmale und Details einer Ausführungsform, die PCM oder anderen persistenten Speicher als einen Hautspeicher umfasst, nur Beispiele und der beanspruchte Gegenstand ist in dieser Weise nicht beschränkt.
  • In einer Ausführungsform eines Rechnersystems kann ein Prozessor Information in einen persistenten Hauptspeicher schreiben. Bevor es ihr erlaubt wird in den persistenten Hauptspeicher geschrieben zu werden, kann jedoch solche Information analysiert werden, um zu bestimmen, ob solche Information nichtautorisierte Teile aufweist. Solche nichtautorisierten Teile an Information, wie etwa ein Computervirus, Schadprogramm usw. können schädlich sein für die Integrität von Information, die bereits in persistenten Hauptspeicher gespeichert ist. Dementsprechend kann eine Analyse zum Bestimmen, ob Information nichtautorisierte Teile aufweist, einen Sicherheitsüberprüfungsprozess umfassen. Ein Sicherheitsüberprüfungsprozess kann zum Beispiel ein Ausführen einer SHA-Maßnahme und/oder eine andere kryptografische Sicherheitsmessung (z. B. MD5, SHA-1, SHA-256, um nur einige wenige Beispiele zu nennen) an Information enthalten, bevor solche Information in persistenten Hauptspeicher geladen wird. Falls es bestimmt wird, dass solche Information keine nichtautorisierten Teile enthält, kann es solcher Information erlaubt werden in Hauptspeicher-RAM geladen zu werden. Falls es bestimmt wird, dass solche Information nichtautorisierte Teile enthält, kann es solcher Information nicht erlaubt werden in Hauptspeicher-RAM geladen zu werden. Ein Sicherheitsüberprüfungsprozess kann relativ zeitraubend sein. In einer Implementierung, die persistenten Hauptspeicher umfasst, braucht ein Sicherheitsüberprüfungsprozess nicht ausgeführt zu werden nach einem Neustart eines Rechnersystems oder nachdem ein Prozessor zum Beispiel von einem Benutzerrecht bis zu einem Supervisor-/Sicherheitsrecht springt. Genauer kann Sicherheitsinformation, wie etwa SHA-Maßnahmen und/oder andere kryptografische Maßnahmen, die in einem Sicherheitsüberprüfungsprozess verwendet werden, in einem persistenten Hauptspeicher gespeichert werden. Falls ein Prozessor und/oder persistenter Hauptspeicher einen Stromausfall oder ein anderes unterbrechendes Ereignis erfährt, brauchen solche Maßnahmen nicht vom persistenten Hauptspeicher verloren sein. Dementsprechend können solche Maßnahmen und/oder assoziierte Sicherheitsinformation nachfolgend zu einer Neuinitialisierung (z. B. Neustart) des Prozessors oder nachdem ein Prozessor von einem Benutzerrecht bis zu einem Supervisor-/Sicherheitsrecht springt, verfügbar sein.
  • In einer Ausführungsform kann ein Verfahren zum Betreiben eines Speichersystems ein Empfangen eines Schreibbefehls in einem Hauptspeicher, auf den durch einen Prozessor zugegriffen werden kann, und ein Bestimmen einer Authentifizierung des Schreibbefehls innerhalb des Hauptspeichers umfassen. Mit anderen Worten kann eine Authentifizierung eines Schreibbefehls und/oder mit einem Schreibbefehl assoziierter Information durch eine oder mehrere elektronische Komponenten, die innerhalb eines Hauptspeichers angeordnet sind, ausgeführt werden, wie unten im Detail beschrieben. Zum Beispiel kann ein Ort innerhalb eines Hauptspeichers einen Ort innerhalb eines einzelnen Chips, On-Die, gestapelte Chips und/oder in einem integrierten Schaltungspacket enthalten sein. In einer Implementierung kann „innerhalb eines Hauptspeichers” innerhalb einer physikalischen Grenze bedeuten, die Hauptspeicher und Authentifizierungslogik, die zum Beispiel eine externe Schnittstelle zu einer Steuerung aufweist, enthalten.
  • Obgleich Hauptspeicher persistenten Speicher aufweisen kann, braucht solch ein Hauptspeicher keinen nichtflüchtigen Speicher enthalten. Solch ein Hauptspeicher kann zum Beispiel DRAM oder anderen flüchtigen Speicher aufweisen. In einer spezifischen Implementierung kann ein Verfahren zum Betreiben eines Speichersystems ein Bestimmen innerhalb des Hauptspeichers umfassen, ob Inhalt eines Hauptspeichers, zumindest teilweise basierend auf einer bestimmten Authentifizierung eines Schreibbefehls und/oder mit einem Schreibbefehl assoziierter Information, zu modifizieren ist. Ein Hauptspeicher kann zum Beispiel einen Schreibbefehl von einem Systembus, der operativ den Hauptspeicher mit einem oder mehreren Prozessoren verbindet, empfangen. Falls solch ein Schreibbefehl als nicht authentisch oder in anderer Weise zum Modifizieren des Hauptspeichers oder eines Abschnitts davon nicht autorisiert zu sein bestimmt wird, dann kann der Schreibbefehl durch den Hauptspeicher ignoriert werden. Selbstverständlich sind solche Details eines Verfahrens zum Betreiben eines Speichersystems nur Beispiele und der beanspruchte Gegenstand ist diesbezüglich nicht beschränkt.
  • In einer Ausführungsform kann eine Speichervorrichtung ein Feld aus Speicherzellen und eine innerhalb der Speichervorrichtung angeordnete Steuerung umfassen. Nachdem solch eine Steuerung einen Schreibbefehl empfingt, um auf das Feld aus Speicherzellen zu zugreifen, kann die Steuerung eine Authentifizierung des Schreibbefehls bestimmen. Obgleich ein Feld aus Speicherzellen persistenten Speicher aufweisen kann, muss ein Feld aus Speicherzellen nicht persistenten Speicher aufweisen. Solch ein Feld kann zum Beispiel einen DRAM oder anderen flüchtigen Speicher aufweisen. In einer spezifischen Implementierung kann eine Steuerung auch bestimmen, ob der Inhalt eines Felds aus Speicherzellen zu modifizieren ist, zumindest teilweise basierend auf einer bestimmten Authentifizierung eines Schreibbefehls und/oder einer mit einem Schreibbefehl assoziierter Information. Eine Steuerung kann zum Beispiel einen Schreibbefehl von einem Bus empfangen, der operativ eine Speichervorrichtung, welche die Steuerung enthält, mit einem oder mehreren Prozessoren verbindet. Falls solch ein Schreibbefehl als authentisch oder in anderer Weise zum Modifizieren der Speichervorrichtung oder eines Abschnitts davon autorisiert zu sein bestimmt wird, kann dann die Steuerung den Schreibbefehl ausführen. In einer Ausführungsform, die persistenten Hauptspeicher enthält, kann solch eine Speichervorrichtung Vorteile bereitstellen, wie etwa das Aufbewahren von Information, die mit einer Authentifizierung eines Schreibbefehls und/oder einer mit einem Schreibbefehl assoziierter Information, zum Beispiel während eines Stromausfalls am Hauptspeicher und/oder an dem Prozessor. In solch einem Fall müssen kryptografische Maßnahmen, die mit einer Authentifizierung assoziiert sind, nicht wiederholt werden, wenn zum Beispiel Schreibbefehle von einem gleichen Prozessor wieder empfangen werden. Selbstverständlich sind solche Details einer Speichervorrichtung nur Beispiele und der beanspruchte Gegenstand ist diesbezüglich nicht beschränkt.
  • 1 ist ein schematisches Blockdiagramm eines Verarbeitungssystems 100 gemäß einer Ausführungsform. Das Verarbeitungssystem 100 kann eine CPU 110, einen Hauptspeicher 120 und/oder einen Cache 130 umfassen. Genauer kann die CPU 110 eine oder mehrere Anwendungen bedienen, die im Hauptspeicher 120 gehalten werden. Obgleich es in 1 nicht dargestellt ist, kann das Verarbeitungssystem 100 zusätzliche CPUs oder andere solcher Verarbeitungseinheiten, zusätzliche Hauptspeicher und/oder zusätzliche Caches enthalten. Zum Beispiel kann die CPU 110, der Hauptspeicher 120 und/oder der Cache 130 gemeinsam Funktionsbausteine für größere Mehrprozessorsysteme aufweisen. In einer Implementierung kann das Verarbeitungssystem 100 unter Verwendung einer Speicherhierarchie arbeiten, die eine oder mehrere Ebenen an Cachespeicher enthält. Jede solche Ebene kann persistenten Speicher aufweisen, der von mehreren CPUs gemeinsam genutzt wird. Cachespeicher kann zum Beispiel eine erste Cacheebene und eine zweite Cacheebene aufweisen, wobei jede von denen zumindest ein Abschnitt davon persistenten Speicher aufweisen kann. In einer anderen Implementierung kann das Verarbeitungssystem 100 eine Betriebsmittelverwaltung umfassen, um mehreren Betriebssystemen zu erlauben, parallel zu laufen (z. B. Hardware-Virtualisierung). Solch eine Betriebsmittelverwaltung kann zum Beispiel einen Hypervisor aufweisen. Selbstverständlich sind solche Details eines Verarbeitungssystems und Cachespeichers nur Beispiele und der beanspruchte Gegenstand ist in dieser Weise nicht beschränkt. In einer Ausführungsform kann zumindest ein Abschnitt des Hauptspeichers 110 persistenten Speicher aufweisen. In einer spezifischen Implementierung kann ein anderer Abschnitt des Hauptspeichers 110 andere Arten von Speicher, wie etwa ein flüchtiges DRAM aufweisen. Abschnitte von persistentem Speicher müssen nicht zusammenhängend in dem Hauptspeicher 210 angeordnet sein, welcher zum Beispiel eine oder mehrere Chip-Strukturen aufweist.
  • 2 ist eine schematische Ansicht eines Prozessorspeichersystems 200 gemäß einer Ausführungsform. Solch ein Prozessorspeichersystem 200 kann in einer Hast-Vorrichtung (nicht dargestellt) enthalten sein, wie zum Beispiel als persönlicher digitaler Assistent (PDA), Mobiltelefon, Rechenvorrichtung und/oder andere elektronische Vorrichtung. Ein Host-Prozessor 210 kann kommunikativ mit einem Hauptspeicher 220 über eine Speichersteuerung 212 verbunden sein. In einer Implementierung kann eine Speichersteuerung 212 extern zu dem Hauptspeicher 220 angeordnet sein, wie zum Beispiel auf einem einzelnen Chip, oder einem integrierten Schaltungspaket, das sich extern zu einer integrierten Schaltung befindet, oder einem integrierten Schaltungspaket, das den Hauptspeicher 220 aufweist. Der Host-Prozessor 210 kann zum Beispiel auf den Hauptspeicher 220 zugreifen, um Information in den Hauptspeicher 220 zu schreiben oder Information von dem Hauptspeicher 220 zu lesen. In einer Implementierung kann eine externe Einheit 205, die sich extern zu dem Prozessorspeichersystem 200 befindet, kommunikativ mit dem Host-Prozessor 210 verbunden sein. In einer spezifischen Implementierung kann die externe Einheit 205 zum Beispiel mit dem Host-Prozessor 210 drahtlos kommunizieren. Die externe Einheit 205 kann einen Server oder eine ähnliche Rechenvorrichtung, die über das Internet zugreifbar ist, oder eine Speichervorrichtung, wie etwa einen Flash-Speicher, optische Computerscheibe oder ähnliches, aufweisen. Die externe Einheit 205 kann auch ausführbaren Code, wie etwa eine elektronische Mail-Anwendung aufweisen. Der Host-Prozessor 210 und die externe Einheit 205 kann mit dem Hauptspeicher 220 unabhängig voneinander und/oder zu verschiedenen Zeiten kommunizieren, obgleich der beanspruchte Gegenstand in dieser Weise nicht beschränkt ist. Wie weiter unten detaillierter erläutert, kann die externe Einheit 205 eine Quelle eines Computervirus, Schadsoftware usw. sein, welche nicht autorisierte Befehle enthalten kann, um zu versuchen, auf den Hauptspeicher 220 zuzugreifen, obgleich der beanspruchte Gegenstand diesbezüglich nicht beschränkt ist. Die externe Einheit 205 kann zum Beispiel einen Server für eine Webseite im Internet aufweisen, die eine Quelle eines Trojaners sein kann. In einem anderen Beispiel kann die externe Einheit 205 eine elektronische Mail-Anwendung aufweisen, die verwendet werden kann zum unerwarteten Öffnen einer Email, die ein Computervirus aufweist. In nochmals einem anderen Beispiel kann die externe Einheit 205 eine tragbare Flash-Speichervorrichtung aufweisen, die arglos einen Computervirus speichern kann. In solchen Fällen kann das Vorhandensein eines Trojaners, Computervirus und/oder anderer Schadsoftware zu nicht autorisierten Versuchen führen, auf den Hauptspeicher 220 zuzugreifen.
  • Der Hauptspeicher 220 kann ein Speicherfeld 260, einen Mikrocontroller 215 und/oder ein Sicherheitsteil 240 enthalten. In einer Implementierung kann das Speicherfeld 260 ein Feld aus adressierbaren Speicherzellen aufweisen, auf welche Daten geschrieben werden können und/oder von welchen Daten gelesen werden können. Das Speicherfeld 260 kann in zwei oder mehreren Abschnitten partitioniert sein, wie etwa einem Unterabschnitt 270, welcher zum Aufbewahren von Sicherheitsinformation reserviert sein kann, die zum Beispiel durch den Sicherheitsabschnitt 240 bereitgestellt wird. In einer Implementierung kann der Unterabschnitt 270 Sicherheitsinformation speichern, wie etwa kryptografische Hash-Werte, Signaturen, Schlüssel und dergleichen. Spezifische Speicherorte in dem Unterabschnitt 270 können zum Aufbewahren solcher Sicherheitsinformation verwendet werden, die mit Information korrespondiert, die zum Beispiel an spezifischen Speicherorten im Speicherfeld 260 gespeichert ist. Ein Bestimmen solcher Hash-Werte, Signaturen, Schlüssel und dergleichen, welche zum Authentifizieren von zum Beispiel einem empfangenen Schreibbefehl verwendet werden können, der zum Beispiel innerhalb des Hauptspeichers 220 ausgeführt werden kann. Das Speicherfeld 260 kann zum Beispiel Flash-Speicher, PCM und/oder anderen persistenten Speicher aufweisen, um nur einige wenige Beispiele zu nennen. In anderen Ausführungsformen kann das Speicherfeld 260 flüchtigen Speicher, wie etwa DRAM, aufweisen als Beispiel oder eine Kombination aus persistentem und flüchtigem Speicher.
  • Der Sicherheitsabschnitt 240 kann logische Schaltungsbauteile und/oder ausführbaren Code, der in dem Speicherfeld 260 aufbewahrt wird, enthalten. Der Sicherheitsabschnitt 240 kann Befehle authentifizieren und/oder validieren, die von dem Host-Prozessor 210 und/oder der externen Einheit 205 empfangen werden. Solch eine Authentifizierung kann Techniken unter Verwendung von zum Beispiel Sicherheitsschlüsseln umfassen. In einer Implementierung kann der Mikrocontroller 215 Schreibbefehle von dem Host-Prozessor 210 (z. B. über die Speichersteuerung 212) empfangen und nachfolgend den Sicherheitsabschnitt 240 aufrufen, um solche empfangenen Schreibbefehle zu authentifizieren und/oder zu validieren. Nach solch einer Authentifizierung kann der Mikrocontroller 215 einen Zugriff auf das Speicherfeld 260 unter Verwendung von zum Beispiel geeigneter Speicheradressierung erlauben. In einer Implementierung kann der Mikrocontroller 215 Sicherheitsinformation von dem Sicherheitsabschnitt 240 abrufen und solche Information im Speicherfeld 260 speichern. Genauer kann, wie oben erläutert, Sicherheitsinformation in dem Unterabschnitt 270 gespeichert sein, welcher einen Abschnitt des Speicherfelds 260 umfassen kann, der zum Speichern von Sicherheitsinformation reserviert ist. Selbstverständlich sind solche Details eines Prozessorspeichersystems 200 nur Beispiele und der beanspruchte Gegenstand ist in dieser Weise nicht beschränkt.
  • 3 ist ein schematisches Blockdiagramm eines Prozessorspeichersystems 300 gemäß einer Ausführungsform. Solch ein Prozessorspeichersystem kann eine beliebige Anzahl von Verarbeitungseinheiten enthalten, obgleich nur eine Einheit in 3 dargestellt ist. In einem spezifischen Beispiel kann solch eine Verarbeitungseinheit eine CPU 310 aufweisen. In einer Implementierung kann die CPU 310 lokalen Speicher (nicht dargestellt) enthalten, der zum Beispiel eingebetteten persistenten Speicher aufweist. In einer anderen Implementierung kann die CPU 310 auf einen Hauptspeicher 320 zugreifen, der persistenten Speicher aufweist. Genauer kann persistenter Speicher in einer Speicherhierarchie enthalten sein, die Caches (z. B. zahlreiche Ebenen an Cache) und Hauptspeicher aufweist. Zumindest ein Abschnitt von solchem Hauptspeicher kann zum Beispiel PCM aufweisen. Solch eine Speicherhierarchie kann zum Verwalten eines verteilten Speichers verwendet werden, der Caches und Hauptspeicher aufweist. Die CPU 310 (und andere CPUs, die zum Beispiel auf einer Rechnerplattform vorhanden sein können,) kann (können) solch einen verteilten Speicher gemeinsam nutzen. Ein externer Speicher 330, welcher Flash-Speicher, ein Plattenlaufwerk, eine optische Computerscheibe aufweisen kann, um nur einige wenige Beispiele zu nennen, kann mit dem Hauptspeicher 320 über die CPU 310 kommunikativ verbunden werden. Hier kann die CPU 310 Schreibbefehle an den Hauptspeicher 320 senden zum Übertragen von Information von dem externen Speicher 330 an den Hauptspeicher 320. Unglücklicherweise kann in einigen Fällen solch eine Information nicht autorisierten, vielleicht schadhaften Code wie zum Beispiel einen Computervirus, einen Trojaner und andere Schadsoftware enthalten. Wie oben unter Bezug auf 2 genannt, kann eine externe Einheit eine andere Quelle für solch einen nicht autorisierten Code aufweisen. Wie hier beschrieben, kann jedoch der Hauptspeicher 320 zum Implementieren von Techniken in der Lage sein, um ein Schreiben solch nicht autorisierter Information in den Hauptspeicher 320 hinein zu vermeiden.
  • In einer Implementierung kann das Prozessorspeichersystem 300 ein Teil einer Rechnerplattform umfassen. In solch einer Implementierung kann die CPU 310 einen Cache-Speicher (nicht dargestellt) umfassen, der einen Adressübersetzungspuffer (translation lookaside buffer TLB) umfasst, welcher auf eine spezifische Seitentabelle zeigen kann, die wiederum auf eine oder mehrere einzelne Seiten des Hauptspeichers 320 zeigen kann. In einer Ausführungsform kann der Hauptspeicher 320 flüchtigen Speicher aufweisen, wie zum Beispiel DRAM, wobei ein Speicherinhalt des Hauptspeichers 320 verloren gehen kann, wenn die Energie an die CPU 310 und/oder den Hauptspeichers 320 unterbrochen und/oder nicht fortgesetzt wird. Andererseits kann in einer Ausführungsform, in welcher der Hauptspeicher 320 persistenten Speicher aufweist, wie zum Beispiel PCM, Speicherinhalt des Hauptspeichers 320 aufrecht erhalten werden, selbst wenn die CPU und/oder der Hauptspeicher eine unterbrochene und/oder nicht fortgesetzte Stromversorgung erfährt. In solch einem Fall muss Sicherheitsinformation, die in einem Abschnitt des Hauptspeichers 320, wie zum Beispiel einer Seite 370, aufbewahrt wird, nicht verloren gehen und kann für nachfolgende Authentisierungsprozesse zur Verfügung stehen, wie unten detaillierter diskutiert. Selbstverständlich sind solche Details eines Prozessorsystems nur Beispiele und der beanspruchte Gegenstand ist in dieser Weise nicht beschränkt.
  • In einer Ausführungsform kann der Hauptspeicher 320 ein Speicherfeld 360, eine Speichersteuerung 315 und einen Sicherheitsabschnitt 340 aufweisen. Das Speicherfeld 360 kann einen oder mehrere Abschnitte aufweisen, wie etwa Seiten, die zum Beispiel die Seiten 368 und 370 enthalten. In einer spezifischen Implementierung kann die Seite 370 einen Speicherort aufweisen, wo zumindest ein Teil von Sicherheitsinformation gespeichert werden kann, wie unten im Detail beschrieben. Der Sicherheitsabschnitt 340 kann einen Sicherheits-Logikblock 346, einen kryptografischen Schlüsselspeicher 344 und einen Speicherbereichsidentifizierer 342 enthalten. Der Sicherheits-Logikblock 346 kann zum Beispiel irgendeinen von einer Anzahl von bekannten kryptografischen Logikblöcken wie etwa einen SHA-Logikblock enthalten. Der kryptografische Schlüsselspeicher 344 kann ein Register oder einen anderen Speicherabschnitt des Speicherfelds 360 zum Speichern eines oder mehrerer Schlüssel zur Verwendung für einen Prozess aufweisen, um Information zu berichtigen. Dementsprechend können solche Schlüssel Information aufweisen, die sich innerhalb des Hauptspeichers 320 befindet. Weiterhin können solche Schlüssel privat für den Hauptspeicher 320 sein sobald sie bereitgestellt sind. Der kryptografische Schlüsselspeicher 344 kann persistenten Speicher zum Aufbewahren eines Schlüssels aufweisen, wobei der Wert des Schlüssels geheim gehalten wird gegenüber Benutzern und/oder elektronischen Einheiten, die extern gegenüber dem Prozessorspeichersystem 300 sind. In einer weiteren Implementierung braucht der Prozessor 210 (2) solche Schlüssel nicht zu kennen. In solch einem Fall kann ein externer Prozess oder Prozessor zum Beispiel Schreiboperationen verwalten, so dass ein lokaler Prozessor Befehle durchreichen kann und sich des Schlüssels nicht bewusst sein kann. Wenn der lokale Prozessor 210 den Sicherheitsbereich aktualisiert, kann dann der lokale Prozessor 210 die Schlüssel kennen. Es ist jedoch relativ weniger sicher für den lokalen Prozessor, die lokalen Speicherschlüssel zu kennen. Es ist sicherer für eine externe Autorität, die Schlüssel zu kennen und Befehle zu erzeugen. In einer anderen Implementierung kann der Prozessor 210 die Schlüssel kennen. In solch einem Fall, falls zum Beispiel ein Hacker oder eine andere Einheit Zugriff auf eine potentiellen Sicherheitslücke des Prozessor 210 erlangt, kann dann solch ein Hacker oder eine andere Einheit den Schlüssel erlangen und kann auf den Speicher schreiben. Der Sicherheits-Logikblock 346 kann, wie unten im Detail diskutiert, einen Schlüssel benutzen, der in dem kryptografischen Schlüsselspeicher 344 aufbewahrt wird. Der Speicherbereichsidentifizierer 342 kann ein Register oder einen anderen Speicherabschnitt des Speicherfelds 360 umfassen. Der Speicherbereichsidentifizierer 342 kann persistenten Speicher zum Aufbewahren von Information aufweisen, die einen oder mehrere Abschnitte des Speicherfelds 360, die sicherheitsgeschützt werden sollen, beschreiben und/oder identifizieren. Der Speicherbereichsidentifizierer 342 kann ein Register zum Speichern von Information umfassen, das einen Bereich von Seiten definiert, die nicht beschrieben werden dürfen ohne einen Autorisierungsprozess durchzuführen.
  • In einer Implementierung kann die Speichersteuerung 315 zum Erkennen eines sicheren Schreibbefehls eingerichtet sein, der zum Schreiben auf einen sicheren Abschnitt des Hauptspeichers 320 verwendet werden kann. Die Speichersteuerung 315 kann auch zum Erkennen eines Speichermaßnahmenbefehls eingerichtet sein, der durch den Prozessor zum Neumessen und/oder Neubestätigen einer Authentifizierung von zumindest einem Abschnitt eines Speicherinhalts, wie unten diskutiert, verwendet werden kann.
  • Der Hauptspeicher 320 kann Schreibbefehle bestätigen, die an dem Hauptspeicher empfangen werden. Der Hauptspeicher 320 kann nicht autorisierte Modifikationen von Inhalt des Hauptspeichers 320 verhindern, so dass solcher Speicherinhalt weiterhin gültig und integritätsgeschützt bleiben kann. Falls der Hauptspeicher 320 persistenten Speicher aufweist, muss der eine oder die mehreren Prozesse, die beim Bestimmen einer Autorisierung von Schreibbefehlen involviert sind, nach einer Neuinitialisierung des Prozessorspeichersystems 300 nicht wiederholt werden. Sobald zum Beispiel ein Datenobjekt auf einen persistenten Hauptspeicher unter Verwendung des sicheren Schreibbefehls geschrieben wird, kann das Speicherobjekt sicher und integritätsgeschützt sein bis es überschrieben wird.
  • 4 ist ein schematisches Diagramm eines Prozesses, der in einem Prozessorspeichersystem 400 auftreten kann, gemäß einer Ausführungsform. Das Prozessorspeichersystem 400 kann ähnlich zu dem oben beschriebenen Prozessorspeichersystem 300 sein, außer dass das Prozessorspeichersystem 400 einen persistenten Hauptspeicher 420 enthalten kann. Der persistente Hauptspeicher 420 kann durch eine CPU 410 zugreifbar sein, die ähnlich zu der zum Beispiel in 3 dargestellten CPU 310 sein kann. In einer Ausführungsform kann der Hauptspeicher 420 ein Speicherfeld 460, eine Speichersteuerung 415 und einen Sicherheitsabschnitt 440 enthalten. Das Speicherfeld 460 kann einen oder mehrere Abschnitte wie etwa Seiten aufweisen, die zum Beispiel die Seiten 468 und 470 enthalten. In einer spezifischen Implementierung kann die Seite 470 einen Speicherort aufweisen, wo zumindest ein Teil der Sicherheitsinformation gespeichert werden kann. Der Sicherheitsabschnitt 440 kann einen Sicherheits-Logikblock 446, einen kryptografischen Schlüsselspeicher 444 und einen Speicherbereichsidentifizierer 442 enthalten, welche ähnlich zu dem Sicherheits-Logikblock 346, dem kryptografischen Schlüsselspeicher 344 und dem Speicherbereichsidentifizierer 342 sein können, wie oben beschrieben.
  • In einer spezifischen Implementierung und in der folgenden Beschreibung kann der persistente Hauptspeicher 420 Seiten aufweisen, obgleich der beanspruchte Gegenstand in dieser Weise nicht beschränkt ist. Der persistente Hauptspeicher 420 kann zum Beispiel mehrere Seiten aufweisen, welche die Seiten 470 und 468 enthalten. Genauer kann die Seite 470 eine Indextabelle enthalten, welche kryptografische Hash-Werte aufweisen, die mit spezifischen einzelnen Seiten im persistenten Hauptspeicher 420 korrespondieren. In einer Implementierung kann solch eine Indextabelle in einer spezifischen Seite im persistenten Hauptspeicher 420 angeordnet sein, um der Speichersteuerung 415 zu erlauben, zum Beispiel einen Prozess einer Neuvalidierung eines Speicherobjekts auszuführen. Solch ein Neuvalidierungsprozess kann nach einer Anfrage durch die CPU 410 durchgeführt werden, wobei die CPU 410 einen Speichermaßnahmenbefehl an den persistenten Hauptspeicher 420 senden kann. Die Seite 470 kann zum Beispiel einen Hash-Wert 472 entsprechend der Seite 468, einen Hash-Wert 474 entsprechend der Seite 466, einen Hash-Wert 476 entsprechend der Seite 469 usw. enthalten. Solche Hash-Werte können während eines früheren Zeitraums berechnet worden sein, oder können zum Beispiel im persistenten Hauptspeicher 420 sogar während Energieausfallereignissen aufrechterhalten worden sein. Beispiele von Neuvalidierungsprozessen sind in der 4 durch vertikale Pfeile angegeben, die sich von der Seite 470 zu den Seiten 466, 468 und 469 erstrecken. Obgleich die 4 angibt, dass kryptografische Information wie etwa Hash-Werte in der Seite 470 gespeichert werden können, ist der beanspruchte Gegenstand auf diese relativen Orte nicht beschränkt. Hash-Werte können zum Beispiel auf der Seite 468 oder an einer anderen Seite angeordnet sein. Selbstverständlich sind solche Details eines persistenten Hauptspeichers nur Beispiele und der beanspruchte Gegenstand ist in dieser Weise nicht beschränkt.
  • 5 ist ein Flussdiagramm eines Prozesses 500 zum Authentifizieren eines sicheren Schreibbefehls. Solch ein Prozess kann zum Beispiel durch das Prozessorspeichersystem 300 oder 400 wie oben beschrieben durchgeführt werden. Bei Block 510 können geheime Schlüssel, die kryptografische Werte wie oben beschrieben aufweisen, in einem oder mehreren Abschnitten eines Hauptspeichers gespeichert werden. Solche geheime Schlüssel können zum Beispiel in dem kryptografischen Schlüsselspeicher 344, der in 3 veranschaulicht ist, gespeichert werden.
  • Ein Aufbewahren solcher geheimer Schlüssel innerhalb eines Hauptspeichers kann einen Vorteil an Verbesserung von Sicherheit von Speicherinhalt bereitstellen, verglichen mit einem Fall, bei dem geheime Schlüssel extern zu einem Hauptspeicher gespeichert sind. In einer Implementierung können solche geheimen Schlüssel nicht modifiziert werden und können einer Authentifizierungslogik von einer bekannten Quelle verfügbar gemacht werden. In einer anderen Implementierung können solche geheimen Schlüssel modifiziert werden in dem Fall, in dem es ein sicheres Protokoll zum Aktualisieren der sicheren Schlüssel gibt. Bei Block 520 kann ein Hauptspeicher einen sicheren Schreibbefehl empfangen. In einer Implementierung kann solch ein Befehl über einen Bus empfangen werden zum Beispiel von einem Prozessor oder einer Speichersteuerung, die extern zu dem Hauptspeicher ist. Bei Block 530 kann eine Speichersteuerung innerhalb des Hauptspeichers einen Prozess zum Authentifizieren des empfangenen sicheren Schreibbefehls ausführen. Solch eine Speichersteuerung innerhalb des Hauptspeichers kann zum Beispiel ähnlich sein zu der Speichersteuerung 315, die in 3 veranschaulicht ist. In einer Ausführungsform kann solch ein Prozess zum Authentifizieren eines empfangenen sicheren Schreibbefehls ein Anwenden einer SHA-Maschine auf den sicheren Schreibbefehl und/oder mit dem sicheren Schreibbefehl assoziierter Information umfassen. In einer Implementierung kann ein Mikrocontroller verwendet werden zum Anwenden solch einer SHA-Maschine, obgleich der beanspruchte Gegenstand in dieser Weise nicht beschränkt ist. Ein geheimer Schlüssel, der innerhalb des Hauptspeichers gespeichert ist, kann in Operationen, die durch die SHA-Maschine ausgeführt werden, auch enthalten sein. In einer Implementierung kann der in der 3 veranschaulichte Sicherheits-Logikblock 346 einen Mikrocontroller und/oder eine Software zum Ausführen von Operationen solch einer SHA-Maschine aufweisen, obgleich der beanspruchte Gegenstand in dieser Weise nicht beschränkt ist. Dementsprechend kann eine SHA-Maschine eine kryptografische Signatur wie zum Beispiel einen Hash-Wert erzeugen. Mittlerweile können bei Block 540 solche Hash-Werte in einen Abschnitt eines Hauptspeichers gespeichert werden, wie zum Beispiel die Seite 470, die einen Index von Hash-Werten aufweist. Bei der Raute 550 kann die Speichersteuerung 315 bestimmen, ob ein sicherer Schreibbefehl authentisch ist oder nicht. Falls nicht, kann dann der Prozess 500 mit dem Block 555 fortfahren, wo der Schreibbefehl ignoriert wird. In solch einem Fall kann zum Beispiel ein Inhalt, der in einem geschützten Hauptspeicher gespeichert ist, nicht modifiziert werden. Falls die Speichersteuerung 315 bestimmt, dass ein sicherer Schreibbefehl authentisch ist, kann dann der Prozess 500 mit dem Block 560 fortfahren, wo der Schreibbefehl ausgeführt werden kann zum Modifizieren von Inhalt, der im Hauptspeicher gespeichert ist. Selbstverständlich sind solche Details des Prozesses 500 nur Beispiele und der beanspruchte Gegenstand ist in dieser Weise nicht beschränkt.
  • 6 ist ein Flussdiagramm eines Prozesses 600 zum Ausführen eines Sicherheitsspeichermaßnahmenbefehls. Solch ein Prozess kann zum Beispiel durch das Prozessorspeichersystem 300 oder 400 wie oben beschrieben ausgeführt werden. Bei Block 610 können Hash-Werte, die Ergebnisse von früheren kryptografischen Berechnungen wie oben beschrieben aufweisen, in einem oder mehreren Abschnitten eines Hauptspeichers gespeichert werden. Solche Hash-Werte können zum Beispiel in der Seite 470 gespeichert werden, die einen Index an solchen Hash-Werten aufweist, die mit spezifischen Seiten des Hauptspeichers 420, wie in der 4 veranschaulicht, korrespondieren. Ein Aufbewahren solcher Hash-Werte innerhalb eines Hauptspeichers kann einen Vorteil von Effizienzverbesserung (z. B. Geschwindigkeit) von Neuauthentifizierung von Objekten, die in dem Hauptspeicher gespeichert sind, bereitstellen. Bei Block 620 kann ein Hauptspeicher einen Sicherheitsspeichermaßnahmenbefehl empfangen. In einer Implementierung kann solch ein Sicherheitsspeichermaßnahmenbefehl über einen Bus zum Beispiel von einem Prozessor oder einer Speichersteuerung, die extern zum Hauptspeicher ist, empfangen werden. Bei der Raute 630 kann eine Speichersteuerung innerhalb des Hauptspeichers bestimmen, ob ein Hash-Wert, der mit einem spezifischen Objekt, das durch einen Sicherheitsspeichermaßnahmenbefehl spezifiziert wird, korrespondiert, bereits im Hauptspeicher gespeichert ist oder nicht. Wie oben beschrieben kann zum Beispiel die Speichersteuerung 415 einen Index an Hash-Werten in der Seite 470 des Hauptspeichers 420, wie in der 4 veranschaulicht, durchsuchen. Falls solch ein Hash-Wert bereits gespeichert ist, kann dann der Prozess 600 zum Block 640 fortfahren, wo der bereits gespeicherte Hash-Wert verwendet werden kann zum Neuauthentifizieren eines Objekts, das im Hauptspeicher gespeichert ist, und durch den Sicherheitsspeichermaßnahmenbefehl spezifiziert ist. Andererseits, falls solch ein Hash-Wert nicht verfügbar ist, kann der Prozess 600 zum Block 635 fortfahren, wo ein Ausgabefehler erzeugt werden mag. Selbstverständlich sind solche Details des Prozesses 600 nur Beispiele und der beanspruchte Gegenstand ist in dieser Weise nicht beschränkt.
  • 7 ist ein schematisches Diagramm, welches eine beispielhafte Ausführungsform eines Rechnersystems 700 zeigt, das eine Speichervorrichtung 710 beinhaltet. Eine Rechnervorrichtung 704 kann jegliche Vorrichtung, jegliches Gerät oder jegliche Maschine sein, die konfiguriert werden kann, um die Speichervorrichtung 710 zu verwalten. Die Speichervorrichtung 710 kann eine Mikrosteuerung 715 und einen Speicher 722 enthalten. In einer Implementierung kann die Mikrosteuerung 715 physikalisch innerhalb des Speichers 722 angeordnet sein. Als Beispiel, aber nicht beschränkend, kann die Rechnervorrichtung 704 enthalten: eine oder mehrere Rechenvorrichtungen und/oder Plattformen, wie, zum Beispiel einen Desktop-Computer, einen Laptopcomputer, eine Arbeitsstation, eine Servervorrichtung oder ähnliches; eine oder mehrere persönliche Rechen- oder Kommunikationsvorrichtungen oder Geräte, wie zum Beispiel einen persönlichen digitalen Assistenten, eine mobile Kommunikationsvorrichtung oder ähnliches; ein Rechnersystem und/oder assoziierte Dienste-Anbieterfähigkeit, wie zum Beispiel eine Datenbank oder einen Datenspeicherdienste-Anbieter/System; und/oder jegliche Kombination davon.
  • In einer Ausführungsform kann die Rechnervorrichtung 704 eine oder mehrere Verarbeitungseinheiten 720 enthalten, die operativ gekoppelt ist mit dem Speicher 722 über einen Bus 740 und einen Host oder eine Speichersteuerung 712. Die Verarbeitungseinheit 720 ist repräsentativ für eine oder mehrere Schaltungen, die konfigurierbar sind, um zumindest einen Teil einer Datenverarbeitungsprozedur oder eines Datenverarbeitungsprozesses auszuführen. Als ein Beispiel, aber nicht beschränkend, kann die Verarbeitungseinheit 720 einen oder mehrere Prozessoren, Controller, Mikroprozessoren, Mikrocontroller, anwendungsspezifische integrierte Schaltungen, digitale Signalprozessoren, programmierbare Logikvorrichtungen, feldprogrammierbare Gatterarrays und dergleichen, oder jegliche Kombination davon, aufweisen. Die Verarbeitungseinheit 720 kann mit der Speichersteuerung 712 kommunizieren, um speicherbezogene Operationen wie zum Beispiel Lesen, Schreiben und/oder Löschen, sowie das oben diskutierte Prozessor-Neustarten zu verarbeiten. Die Verarbeitungseinheit 720 kann ein Betriebssystem enthalten zum Kommunizieren mit der Speichersteuereinheit 715. Ein solches Betriebssystem kann zum Beispiel Befehle erzeugen, die an die Speichersteuerung 715 über den Bus 740 zu senden sind. Solche Befehle können zum Beispiel Lese- und/oder Schreibbefehle umfassen.
  • In einer Implementierung kann ein Hypervisor es einem oder mehreren zusätzlichen Betriebssystemen erlauben parallel zu laufen. Zum Beispiel kann ein Hypervisor eine Betriebsmittelverwaltung (z. B. den Speicher 722, die Verarbeitungseinheit 720 und die Eingabe/Ausgabe 732) aufweisen, um virtuelle Umgebungen zu ermöglichen.
  • Der Speicher 722 kann repräsentativ für jeglichen Datenspeichermechanismus sein. Der Speicher 722 kann zum Beispiel einen DRAM 724 und/oder einen persistenten Speicher 726 enthalten. In einer bestimmten Ausführungsform kann der Speicher 722 einen Hauptspeicher enthalten, der zumindest wie oben beschrieben einen Teil eines persistenten Speichers enthält. Der Speicher 722 kann auch Cachespeicher, der in gleicher Weise zumindest teilweise persistenten Speicher enthalten kann, aufweisen. Während in diesem Beispiel es als von der Verarbeitungseinheit 720 getrennt veranschaulicht ist, versteht es sich, dass der gesamte oder ein Teil des DRAMs 724 innerhalb oder in anderer Weise neben der Verarbeitungseinheit 720 angeordnet, oder mit der Verarbeitungseinheit 720 gekoppelt bereitgestellt sein kann.
  • Gemäß einer Ausführungsform kann ein oder können mehrere Teile des Speichers 722 Signale speichern, die für Daten und/oder Information repräsentativ sind wie durch einen bestimmten Zustand des Speichers 722 ausgedrückt. Zum Beispiel kann ein elektronisches Signal, das für Daten und/oder Information repräsentativ ist, in einem Teil des Speichers 722 ”gespeichert” werden durch Einwirken oder Ändern des Zustands solcher Teile des Speichers 722, um Daten und/oder Information als Binärinformation (z. B., Einsen und Nullen) zu repräsentieren. Als solches stellt in einer bestimmten Implementierung solch eine Zustandsänderung des Teils des Speichers, um ein Signal, das für Daten und/oder Information repräsentativ ist, zu speichern, eine Transformation des Speichers 722 zu einem unterschiedlichen Zustand oder einer anderen Sache dar.
  • In einer Ausführungsform kann das System 700 eine Speichervorrichtung 722 enthalten, die ein Feld aus Speicherzellen und die Mikrosteuerung 715, die innerhalb der Speichervorrichtung angeordnet ist, enthält. Solch eine Mikrosteuerung kann zum Beispiel ähnlich zu der in der 2 dargestellten Mikrosteuerung 215 sein. Das System 700 kann auch einen Prozessor 720 enthalten zum Bedienen einer oder mehrerer Anwendungen und zum Ausgeben von Schreibbefehlen zum Zugriff auf das Feld aus Speicherzellen und die Speichersteuerung 712, um die Schreibbefehle zu empfangen. In einer Implementierung kann die Speichersteuerung 712 extern zu der Speichervorrichtung und zwischen dem Prozessor 720 und der Speichervorrichtung angeordnet sein. Die Mikrosteuerung 715 kann Schreibbefehle empfangen, um auf das Feld aus Speicherzellen zuzugreifen, eine Authentifizierung der Schreibbefehle zu bestimmen, und zu bestimmen, ob Inhalt des Felds aus Speicherzellen zu modifizieren ist, zumindest teilweise basierend auf der bestimmten Authentifizierung der Schreibbefehle. Solch ein Feld aus Speicherzellen kann zum Beispiel persistenten Speicher wie PCM aufweisen.
  • Die Rechner-Vorrichtung 704 kann zum Beispiel eine Eingabe/Ausgabe 732 enthalten. Die Eingabe/Ausgabe 732 ist repräsentativ für eine oder mehrere Vorrichtungen oder Merkmale, die konfigurierbar sein können, menschliche und/oder maschinelle Eingaben zu akzeptieren oder auf andere Weise einzuführen, und/oder eine oder mehrere Vorrichtungen oder Merkmale, die konfigurierbar sein können, Ausgaben für Menschen und/oder Maschinen abzugeben oder auf andere Weise bereitzustellen. Als ein Beispiel, aber nicht beschränkend, kann die Eingabe/Ausgabe-Vorrichtung 732 eine operativ konfigurierte Anzeige, Lautsprecher, Tastatur, Maus, Trackball, Berührungsbildschirm, Datenanschluss usw. enthalten.
  • Während hierin gezeigt und beschrieben wurde, was derzeit als beispielhafte Ausführungsformen betrachtet werden, wird es von den Fachleuten verstanden werden, dass verschiedene andere Modifikationen gemacht werden können und Äquivalente ersetzt werden können, ohne vom Gegenstand wie beansprucht abzuweichen. Zusätzlich können viele Modifikationen gemacht werden, um eine bestimmte Situation an die Lehren des beanspruchten Gegenstandes anzupassen, ohne vom hierin beschriebenen zentralen Konzept abzuweichen. Daher ist es beabsichtigt, dass der beanspruchte Gegenstand nicht beschränkt wird auf die offenbarten bestimmten Ausführungsformen, sondern dass solch ein beanspruchter Gegenstand auch alle Ausführungsformen umfassen soll, die innerhalb des Bereichs der beigefügten Ansprüche fallen und den Äquivalenten davon.

Claims (21)

  1. Verfahren, aufweisend: Empfangen eines Schreibbefehls durch einen Hauptspeicher, auf den durch einen Prozessor zugegriffen werden kann, wobei der Schreibbefehl durch eine erste Speichersteuerung empfangen wird; Bestimmen einer Authentifizierung des Schreibbefehls, wobei das Bestimmen durch eine zweite Steuerung ausgeführt wird, die innerhalb des Hauptspeichers angeordnet ist; und Bestimmen, ob Inhalt des Hauptspeichers zu modifizieren ist, zumindest teilweise basierend auf der bestimmten Authentifizierung des Schreibbefehls.
  2. Verfahren nach Anspruch 1, weiterhin aufweisend ein Aufbewahren eines kryptografischen Schlüssels innerhalb des Hauptspeichers, wobei das Bestimmen der Authentifizierung des Schreibbefehls ein Erzeugen einer kryptografischen Signatur, zumindest teilweise basierend auf dem kryptografischen Schlüssel umfasst.
  3. Verfahren nach Anspruch 1, wobei der Hauptspeicher persistenten Speicher aufweist.
  4. Verfahren nach Anspruch 1, wobei der Hauptspeicher dynamischen Speicher mit wahlfreiem Zugriff (DRAM) aufweist.
  5. Verfahren nach Anspruch 1, weiterhin aufweisend ein Aufbewahren spezifischer Hash-Werte für korrespondierende Speicherobjekte, die während eines Spannungsausfallereignisses in dem Hauptspeicher gespeichert werden.
  6. Verfahren nach Anspruch 1, wobei der Hauptspeicher Phasenübergangspeicher (PCM) aufweist.
  7. Speichervorrichtung, aufweisend: ein Feld aus Speicherzellen; und eine erste Steuerung, die innerhalb der Speichervorrichtung angeordnet ist, zum: Empfangen eines Schreibbefehls von einer zweiten Speichersteuerung, wobei der Schreibbefehl zum Zugreifen auf das Feld aus Speicherzellen dient; Bestimmen einer Authentifizierung des Schreibbefehls, wobei das Bestimmen durch die erste Steuerung, die innerhalb der Hauptspeichervorrichtung angeordnet ist, ausgeführt wird; und Bestimmen, ob Inhalt des Felds aus Speicherzellen zu modifizieren ist, zumindest teilweise basierend auf der bestimmten Authentifizierung des Schreibbefehls.
  8. Speichervorrichtung nach Anspruch 7, weiterhin aufweisend einen Sicherheitsblock, der elektronische Komponenten zum Ausführen eines sicheren Hash-Algorithmus (SHA) aufweist.
  9. Speichervorrichtung nach Anspruch 8, weiterhin aufweisend einen spezifischen Speicherort zum Speichern eines kryptografischen Schlüssels, der in dem sicheren Hash-Algorithmus zu verwenden ist.
  10. Speichervorrichtung nach Anspruch 7, weiterhin aufweisend einen spezifischen Speicherort zum Speichern von Information, die einen oder mehrere Orte des Felds aus Speicherzellen, die abzusichern sind, beschreibt.
  11. Speichervorrichtung nach Anspruch 7, wobei das Feld aus Speicherzellen persistenten Speicher aufweist.
  12. Speichervorrichtung nach Anspruch 7, wobei das Feld aus Speicherzellen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) aufweist.
  13. Speichervorrichtung nach Anspruch 7, wobei das Feld aus Speicherzellen Phasenübergangsspeicher (PCM) aufweist.
  14. System, aufweisend: eine Speichervorrichtung, aufweisend: ein Feld aus Speicherzellen; und eine erste Steuerung, die innerhalb der Speichervorrichtung angeordnet ist; einen Prozessor zum Bedienen einer oder mehrerer Anwendungen und zum Ausgeben von Schreibbefehlen zum Zugreifen auf das Feld aus Speicherzellen; und eine zweite Speichersteuerung zum Empfangen der Schreibbefehle, wobei die zweite Speichersteuerung innerhalb des Prozessors angeordnet ist, oder zwischen dem Prozessor und der Speichervorrichtung angeordnet ist, und wobei die erste Steuerung in der Lage ist zum Empfangen der Schreibbefehle zum Zugreifen auf das Feld aus Speicherzellen, Bestimmen einer Authentifizierung der Schreibbefehle, wobei das Bestimmen durch die erste Steuerung ausgeführt wird, und Bestimmen, ob Inhalt des Felds aus Speicherzellen zu modifizieren ist, zumindest teilweise basierend auf der bestimmten Authentifizierung des Schreibbefehls.
  15. System nach Anspruch 14, wobei die Speichervorrichtung weiterhin einen Sicherheitsblock aufweist, der elektronische Komponenten umfasst zum Ausführen eines scheren Hash-Algorithmus (SHA).
  16. System nach Anspruch 15, wobei die Speichervorrichtung weiterhin einen spezifischen Speicherort aufweist zum Speichern eines oder mehrerer kryptografischer Schlüssel, die in dem sicheren Hash-Algorithmus zu verwenden sind.
  17. System nach Anspruch 14, wobei das Feld aus Speicherzellen persistenten Speicher aufweist.
  18. System nach Anspruch 14, wobei das Feld aus Speicherzellen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) aufweist.
  19. System nach Anspruch 14, wobei das Feld aus Speicherzellen Phasenübergangsspeicher (PCM) aufweist.
  20. System nach Anspruch 14, wobei das Feld aus Speicherzellen einen spezifischen Speicherort aufweist zum Speichern von Information, die einen oder mehrere andere Orte des Felds aus Speicherzellen, die abzusichern sind, beschreibt.
  21. System nach Anspruch 14, weiterhin aufweisend einen Hypervisor zum Bereitstellen einer virtuellen Umgebung.
DE102011082184A 2010-09-30 2011-09-06 Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher Ceased DE102011082184A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/895,574 US8613074B2 (en) 2010-09-30 2010-09-30 Security protection for memory content of processor main memory
US12/895,574 2010-09-30

Publications (1)

Publication Number Publication Date
DE102011082184A1 true DE102011082184A1 (de) 2012-04-05

Family

ID=45832691

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011082184A Ceased DE102011082184A1 (de) 2010-09-30 2011-09-06 Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher

Country Status (6)

Country Link
US (2) US8613074B2 (de)
JP (1) JP5500458B2 (de)
KR (1) KR101378639B1 (de)
CN (1) CN102541765B (de)
DE (1) DE102011082184A1 (de)
TW (1) TWI441024B (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
KR102068485B1 (ko) 2012-11-30 2020-01-21 삼성전자주식회사 불 휘발성 메모리 모듈 및 그것의 동작 방법
US9729309B2 (en) * 2012-12-19 2017-08-08 Intel Corporation Securing data transmission between processor packages
CN103914664A (zh) * 2012-12-31 2014-07-09 比亚迪股份有限公司 具有内部存储体保护功能的控制器与控制方法
US9262259B2 (en) 2013-01-14 2016-02-16 Qualcomm Incorporated One-time programmable integrated circuit security
CN103793332B (zh) * 2014-02-28 2017-03-01 中国科学院微电子研究所 基于内存的数据存储方法、装置、处理器和电子设备
CA2958478C (en) 2014-09-03 2019-04-16 Patrick Soon-Shiong Synthetic genomic variant-based secure transaction devices, systems and methods
US9710622B2 (en) * 2015-02-23 2017-07-18 Intel Corporation Instructions and logic to fork processes of secure enclaves and establish child enclaves in a secure enclave page cache
US9864879B2 (en) * 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
KR102466412B1 (ko) * 2016-01-14 2022-11-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10678924B2 (en) * 2016-08-10 2020-06-09 Qualcomm Incorporated Hardware-based software-resilient user privacy exploiting ephemeral data retention of volatile memory
EP3387535B1 (de) 2016-08-25 2021-12-29 Huawei Technologies Co., Ltd. Vorrichtung und verfahren zum software-selbsttest
US10652025B2 (en) * 2017-07-10 2020-05-12 Micron Technology, Inc. Secure snapshot management for data storage devices
US11363005B2 (en) * 2018-12-04 2022-06-14 Journey.ai Storing information within a zero-knowledge data management network
US11036887B2 (en) * 2018-12-11 2021-06-15 Micron Technology, Inc. Memory data security
US11256427B2 (en) * 2018-12-28 2022-02-22 Micron Technology, Inc. Unauthorized memory access mitigation
US11321468B2 (en) * 2018-12-31 2022-05-03 Micron Technology, Inc. Systems for providing access to protected memory
US10921996B2 (en) * 2019-03-22 2021-02-16 Micron Technology, Inc. Data lines updating for data generation
US11120167B2 (en) * 2019-03-25 2021-09-14 Micron Technology, Inc. Block chain based validation of memory commands
JP7332083B2 (ja) * 2019-04-19 2023-08-23 インテル・コーポレーション マルチモード保護メモリ
EP3751572B1 (de) 2019-06-13 2021-12-01 Melexis Technologies NV Speichervorrichtung
US11487908B2 (en) * 2019-08-16 2022-11-01 Macronix International Co., Ltd. Secure memory
US11264063B2 (en) * 2019-08-21 2022-03-01 Macronix International Co., Ltd. Memory device having security command decoder and security logic circuitry performing encryption/decryption commands from a requesting host
TWI715433B (zh) * 2020-02-06 2021-01-01 瑞昱半導體股份有限公司 啟動電路、啟動方法以及啟動系統
US11379156B2 (en) * 2020-08-19 2022-07-05 Micron Technology, Inc. Write type indication command
CN114914237B (zh) * 2022-07-19 2022-10-25 北京智芯微电子科技有限公司 Romkey单元的版图结构、芯片版图布局方法及芯片

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0358163A (ja) 1989-07-26 1991-03-13 Nec Corp 疎結合型マルチプロセッサシステム
JPH06150031A (ja) 1992-10-30 1994-05-31 Nec Corp Cpuモジュール
US5442704A (en) 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JPH0816740A (ja) 1994-06-24 1996-01-19 Toshiba Corp 携帯可能な情報処理装置及び情報処理システム
JPH0816470A (ja) 1994-07-04 1996-01-19 Hitachi Ltd 並列計算機
JP3320562B2 (ja) 1994-09-22 2002-09-03 株式会社東芝 キャッシュメモリを有する電子計算機
JP3210590B2 (ja) 1996-11-29 2001-09-17 株式会社日立製作所 マルチプロセッサシステムおよびキャッシュコヒーレンシ制御方法
JPH10171676A (ja) 1996-12-10 1998-06-26 Toshiba Corp マイクロプロセッサのテスト容易化回路
US6625756B1 (en) 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US6272609B1 (en) 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
US6807615B1 (en) 1999-04-08 2004-10-19 Sun Microsystems, Inc. Apparatus and method for providing a cyclic buffer using logical blocks
US20080282128A1 (en) 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US6516384B1 (en) 1999-12-30 2003-02-04 Intel Corporation Method and apparatus to perform a round robin and locking cache replacement scheme
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US6452823B1 (en) 2001-01-31 2002-09-17 Motorola, Inc. Non-volatile magnetic cache memory and method of use
WO2002077878A1 (en) * 2001-03-26 2002-10-03 Galois Connections Inc Crypto-pointers for secure data storage
US7269608B2 (en) 2001-05-30 2007-09-11 Sun Microsystems, Inc. Apparatus and methods for caching objects using main memory and persistent memory
US6760819B2 (en) 2001-06-29 2004-07-06 International Business Machines Corporation Symmetric multiprocessor coherence mechanism
MXPA04000534A (es) * 2001-07-18 2004-05-04 Matsushita Electric Ind Co Ltd Aparato de escritura, tarjeta de memoria de semiconductor, programa de escritura y metodo de escritura.
US6658539B2 (en) 2001-10-16 2003-12-02 International Business Machines Corporation Super-coherent data mechanisms for shared caches in a multiprocessing system
US6983348B2 (en) 2002-01-24 2006-01-03 Intel Corporation Methods and apparatus for cache intervention
US7035987B2 (en) 2002-07-02 2006-04-25 Intel Corporation Managing storage in processor-based systems
US7103718B2 (en) 2002-09-03 2006-09-05 Hewlett-Packard Development Company, L.P. Non-volatile memory module for use in a computer system
US6892283B2 (en) 2002-12-05 2005-05-10 International Business Machines Corporation High speed memory cloner with extended cache coherency protocols and responses
JP2004199138A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
JP4241175B2 (ja) 2003-05-09 2009-03-18 株式会社日立製作所 半導体装置
US20050080999A1 (en) 2003-10-08 2005-04-14 Fredrik Angsmark Memory interface for systems with multiple processors and one memory system
JP2005182525A (ja) 2003-12-19 2005-07-07 Fujitsu Ltd 記憶装置
US20050160229A1 (en) 2004-01-16 2005-07-21 International Business Machines Corporation Method and apparatus for preloading translation buffers
JP2006031097A (ja) 2004-07-12 2006-02-02 Matsushita Electric Ind Co Ltd 通信システムならびにそれに用いられる通信端末、認証情報管理方法、認証情報管理プログラムおよび認証情報管理プログラムを格納する記録媒体
US7644287B2 (en) * 2004-07-29 2010-01-05 Microsoft Corporation Portion-level in-memory module authentication
US7240137B2 (en) 2004-08-26 2007-07-03 International Business Machines Corporation System and method for message delivery across a plurality of processors
US7451166B2 (en) * 2005-01-13 2008-11-11 International Business Machines Corporation System and method for maintaining checkpoints of a keyed data structure using a sequential log
WO2006107095A1 (ja) 2005-03-31 2006-10-12 Nec Corporation 計算機システム、メモリ管理方法、およびそのプログラム
US20060265544A1 (en) * 2005-05-17 2006-11-23 John Rudelic Internally authenticated flash remediation
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器
US7389402B2 (en) 2005-06-07 2008-06-17 Advanced Micro Devices, Inc. Microprocessor including a configurable translation lookaside buffer
US20070061597A1 (en) 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
US20070136609A1 (en) * 2005-12-13 2007-06-14 Rudelic John C Methods and apparatus for providing a secure channel associated with a flash device
US20070226795A1 (en) 2006-02-09 2007-09-27 Texas Instruments Incorporated Virtual cores and hardware-supported hypervisor integrated circuits, systems, methods and processes of manufacture
EP1988465B1 (de) 2006-02-24 2011-11-23 Fujitsu Limited Prozessor und cache-steuerverfahren
US8051253B2 (en) 2006-09-28 2011-11-01 Virident Systems, Inc. Systems and apparatus with programmable memory control for heterogeneous main memory
US7761625B2 (en) 2006-09-28 2010-07-20 Virident Systems, Inc. Methods for main memory with non-volatile type memory modules, and related technologies
US7917812B2 (en) 2006-09-30 2011-03-29 Codman Neuro Sciences Sárl Resetting of multiple processors in an electronic device
US7827360B2 (en) 2007-08-02 2010-11-02 Freescale Semiconductor, Inc. Cache locking device and methods thereof
US8055852B2 (en) 2007-08-15 2011-11-08 Micron Technology, Inc. Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same
CN100492274C (zh) 2007-08-17 2009-05-27 杭州华三通信技术有限公司 存储控制系统及其处理节点
JP5169102B2 (ja) 2007-09-21 2013-03-27 大日本印刷株式会社 プラットフォーム型icカード、プラットフォーム型icカード用プログラム
US8015365B2 (en) 2008-05-30 2011-09-06 Intel Corporation Reducing back invalidation transactions from a snoop filter
US8301848B2 (en) * 2008-06-09 2012-10-30 International Business Machines Corporation Virtualizing storage for WPAR clients using node port ID virtualization
US20090313416A1 (en) 2008-06-16 2009-12-17 George Wayne Nation Computer main memory incorporating volatile and non-volatile memory
US8055847B2 (en) 2008-07-07 2011-11-08 International Business Machines Corporation Efficient processing of data requests with the aid of a region cache
US8250350B2 (en) 2008-08-26 2012-08-21 Texas Digital And Multimedia Systems Computer system with non-volatile write-protected memory based operating system and secure system architecture
CN101673245B (zh) 2008-09-09 2016-02-03 株式会社东芝 包括存储器管理装置的信息处理装置和存储器管理方法
TW201017421A (en) 2008-09-24 2010-05-01 Panasonic Corp Cache memory, memory system and control method therefor
US8261019B2 (en) 2009-02-13 2012-09-04 Oracle America, Inc. Conveying critical data in a multiprocessor system
US8250282B2 (en) 2009-05-14 2012-08-21 Micron Technology, Inc. PCM memories for storage bus interfaces
US8180981B2 (en) 2009-05-15 2012-05-15 Oracle America, Inc. Cache coherent support for flash in a memory hierarchy
US8296496B2 (en) 2009-09-17 2012-10-23 Hewlett-Packard Development Company, L.P. Main memory with non-volatile memory and DRAM
US8291175B2 (en) 2009-10-16 2012-10-16 Oracle America, Inc. Processor-bus attached flash main-memory module
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory

Also Published As

Publication number Publication date
JP2012089108A (ja) 2012-05-10
KR101378639B1 (ko) 2014-03-26
TWI441024B (zh) 2014-06-11
KR20120034015A (ko) 2012-04-09
US9317450B2 (en) 2016-04-19
CN102541765B (zh) 2015-07-22
US8613074B2 (en) 2013-12-17
CN102541765A (zh) 2012-07-04
US20140108823A1 (en) 2014-04-17
US20120084573A1 (en) 2012-04-05
JP5500458B2 (ja) 2014-05-21
TW201229761A (en) 2012-07-16

Similar Documents

Publication Publication Date Title
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
DE112018002031B4 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE112005001739B4 (de) Nachverfolgung geschützter Speicherbereiche zur Beschleunigung von Antivirusprogrammen
DE102019110327A1 (de) Technologien zum verifizieren von speicherintegrität über mehrere speicherbereiche hinweg
DE112005003340B4 (de) Mechanismus zum Bestimmen der Vertrauenswürdigkeit von Außerbandverwaltungsagenten
DE102008011925B4 (de) Sicheres Initialisieren von Computersystemen
DE102020125599A1 (de) Vertrauenswürdige lokale speicherverwaltung in einer virtualisierten gpu
DE112012003988B4 (de) Schützen des Arbeitsspeichers eines virtuellen Gasts
DE102008006759B4 (de) Prozessor-Anordnung und Verfahren zum Betreiben der Prozessor-Anordnung ohne Verringerung der Gesamtsicherheit
DE102009013384B4 (de) System und Verfahren zur Bereitstellung einer sicheren Anwendungsfragmentierungsumgebung
DE112016004330T5 (de) Prozessoren, Verfahren, Systeme und Befehle zum Zulassen sicherer Kommunikationen zwischen einem geschützten Containerspeicher und Eingabe-/Ausgabegeräten
DE102012200613A1 (de) System und Verfahren zur Unterstützung von JIT in einem sicheren System und zufällig zugewiesenen Speicherbereichen
DE112014000965T5 (de) Verarbeiten eines Gastereignisses in einem hypervisorgesteuerten System
DE112010004885T5 (de) Bereitstellen von Integritätsüberprüfung und -bestätigung in einer verborgenen Ausführungsumgebung
CN103890852A (zh) 对包括机密信息的存储器区域的访问
DE112006001933B4 (de) Stillegen eines Prozessorbusagenten
DE102010054614A1 (de) Eindringen in eine gesicherte EDV-Umgebung unter Verwendung mehrerer authentifizierter Codemodule
DE102020127800A1 (de) Ein-chip-system und verfahren zu dessen betrieb
DE112016004476T5 (de) Technologien für einen nur-ausführungs-transaktionsarbeitsspeicher
DE102018114266A1 (de) Nichtflüchtige speichervorrichtung mit sicherem lesen
DE112019000594T5 (de) Injizieren von Abfangcode in einen Ausführungspfad eines ein Programm ausführenden Prozesses, um einen Abfangadressbereich zu erzeugen, um möglichen schädlichen Programmcode zu erkennen
WO2013110736A1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem - kern zur exklusiven bereitstellung an virutelle maschinen
DE202014011089U1 (de) System zum Kopieren von Dateien zwischen verschlüsselten und unverschlüsselten Datenspeichereinrichtungen
DE102021101826A1 (de) Zugriffsberechtigungen für speicherbereiche
WO2021066954A1 (en) Subscription to dependencies in smart contracts

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R002 Refusal decision in examination/registration proceedings
R016 Response to examination communication
R130 Divisional application to

Ref document number: 102011122950

Country of ref document: DE

Effective date: 20140320

Ref document number: 102011122950

Country of ref document: DE

Effective date: 20110906

R003 Refusal decision now final

Effective date: 20140425