DE112010005347T5 - Nichtflüchtiger Cache-Speicher - Google Patents

Nichtflüchtiger Cache-Speicher Download PDF

Info

Publication number
DE112010005347T5
DE112010005347T5 DE112010005347T DE112010005347T DE112010005347T5 DE 112010005347 T5 DE112010005347 T5 DE 112010005347T5 DE 112010005347 T DE112010005347 T DE 112010005347T DE 112010005347 T DE112010005347 T DE 112010005347T DE 112010005347 T5 DE112010005347 T5 DE 112010005347T5
Authority
DE
Germany
Prior art keywords
cache
storage device
memory
volatile
storage
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
DE112010005347T
Other languages
English (en)
Inventor
Leonard E. Russo
Walter Bellamy
Walter Gaspard
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112010005347T5 publication Critical patent/DE112010005347T5/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Verfahren zum Verwalten einer Speichervorrichtung, das ein Bestimmen, ob die Speichervorrichtung einen nichtflüchtigen Cache-Speicher umfasst, ein Suchen nach einem Cache-Speicher-Löschen-Befehl, der von einer Rechenmaschine empfangen wird, und ein Löschen des nichtflüchtigen Cache-Speichers auf der Speichervorrichtung ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls umfasst.

Description

  • Hintergrund
  • Beim Verwalten einer oder mehrerer Dateien auf einer Speichervorrichtung koppelt ein Benutzer zu Beginn die Speichervorrichtung mit einer Maschine. Der Benutzer greift dann unter Verwendung einer oder mehrerer Eingabevorrichtungen auf die Speichervorrichtung auf der Maschine zu und fährt mit der Betrachtung einer oder mehrerer Dateien auf der Speichervorrichtung fort. Der Benutzer kann dann eine oder mehrere der Eingabevorrichtungen zum Zugreifen, Beschreiben und/oder Löschen einer oder mehrerer der Dateien auf der Speichervorrichtung nutzen.
  • Kurzbeschreibung der Zeichnungen
  • Verschiedene Merkmale und Vorteile der offenbarten Ausführungsbeispiele werden aus der folgenden detaillierten Beschreibung in Verbindung mit den beiliegenden Zeichnungen, die zusammen beispielhaft Merkmale der Ausführungsbeispiele darstellen, ersichtlich werden.
  • 1 stellt eine Speichervorrichtung, die mit einer Rechenmaschine gekoppelt ist, gemäß einem Ausführungsbeispiel der Erfindung dar.
  • 2 stellt eine Speicheranwendung, die nach einem nichtflüchtigen Cache-Speicher sucht, und einen Cache-Speicher-Löschen-Befehl gemäß einem Ausführungsbeispiel der Erfindung dar.
  • 3 stellt ein Blockdiagramm einer Speicheranwendung, die eine Speichervorrichtung verwaltet und Inhalt aus der Speichervorrichtung löscht, gemäß einem Ausführungsbeispiel der Erfindung dar.
  • 4 stellt eine Rechenmaschine mit einer eingebetteten Speicheranwendung und einer Speicheranwendung, die auf einem entfernbaren Medium gespeichert ist, auf das durch die Rechenmaschine zugegriffen wird, gemäß einem Ausführungsbeispiel der Erfindung dar.
  • 5 ist ein Flussdiagramm, das ein Verfahren zum Verwalten einer Speichervorrichtung gemäß einem Ausführungsbeispiel der Erfindung darstellt.
  • 6 ist ein Flussdiagramm, das ein Verfahren zum Verwalten einer Speichervorrichtung gemäß einem weiteren Ausführungsbeispiel der Erfindung darstellt.
  • Detaillierte Beschreibung
  • 1 stellt eine Speichervorrichtung 140, die mit einer Rechenmaschine 100 gekoppelt ist, gemäß einem Ausführungsbeispiel der Erfindung dar. Bei einem Ausführungsbeispiel ist die Rechenmaschine 100 ein Tisch-Computer, ein Laptop-Computer, ein Server und/oder eine beliebige Vorrichtung, mit der eine Speichervorrichtung 140 gekoppelt sein kann. Wie in 1 dargestellt ist, ist die Rechenmaschine 100 mit der Speichervorrichtung 140 gekoppelt und umfasst einen Prozessor 120, eine Netzschnittstelle 170 und einen Kommunikationsbus 150 für die Maschine 100 und/oder eine oder mehrere Komponenten der Maschine 100 zur Kommunikation untereinander.
  • Ferner speichert, wie in 1 dargestellt ist, die Speichervorrichtung 140 eine Speicheranwendung 110 und umfasst einen nichtflüchtigen Cache-Speicher 130. Ferner können die Speichervorrichtung 140 und der nichtflüchtige Cache-Speicher 130 ein oder mehrere Inhaltselemente 160 umfassen. Bei anderen Ausführungsbeispielen umfasst die Rechenmaschine 100 zusätzliche Komponenten und/oder ist zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt und in 1 dargestellt sind, mit zusätzlichen Komponenten gekoppelt.
  • Wie oben angemerkt wurde, umfasst die Rechenmaschine 100 einen Prozessor 120. Der Prozessor 120 sendet Daten und/oder Befehle an die Komponenten der Rechenmaschine 100, wie zum Beispiel die Speichervorrichtung 140, die Netzschnittstelle 170 und die Speicheranwendung 140. Zusätzlich empfängt der Prozessor 120 Daten und/oder Befehle von Komponenten der Rechenmaschine 100, wie zum Beispiel der Speicheranwendung 110 und der Speichervorrichtung 140.
  • Die Speicheranwendung 110 ist eine Anwendung, die durch den Prozessor 120 konfiguriert sein kann, um die Speichervorrichtung 140 und Inhalt 160, der in der Speichervorrichtung 140 beinhaltet ist, zu verwalten. Beim Verwalten der Speichervorrichtung 140 sendet der Prozessor 120 einen oder mehrere Befehle für die Speicheranwendung 110, die Speichervorrichtung 140 zu durchsuchen, und zu bestimmen, ob die Speichervorrichtung 140 einen nichtflüchtigen Cache-Speicher 130 umfasst. Zu Zwecken dieser Anmeldung ist die Speichervorrichtung 140 eine Komponente oder Vorrichtung, die eine Verbindung zu der Rechenmaschine 100 herstellen kann und zum Speichern eines oder mehrerer Inhaltselemente 160 konfiguriert sein kann. Ferner kann die Speichervorrichtung 140 einen oder mehrere nichtflüchtige Cache-Speicher umfassen.
  • Zu Zwecken dieser Anmeldung ist ein nichtflüchtiger Cache-Speicher 130 ein Bereich oder Abschnitt der Speichervorrichtung 140, der nichtflüchtigen Speicher beinhaltet. Zusätzlich können, wie oben angemerkt wurde, ein oder mehrere Inhaltselemente 160 beinhaltet und/oder auf der Speichervorrichtung 140 und/oder auf einem nichtflüchtigen Cache-Speicher 130 gespeichert sein. Ein oder mehrere Inhaltselemente 160 können Benutzerdaten, Mediendateien und/oder Systemdateien umfassen.
  • Wenn der Prozessor 120 und/oder die Speicheranwendung 110 bestimmen, dass die Speichervorrichtung 140 einen nichtflüchtigen Cache-Speicher 130 umfasst, kann die Speicheranwendung 110 mit dem Suchen nach einem Cache-Speicher-Löschen-Befehl, der von der Rechenmaschine 100, einer Komponente oder Vorrichtung der Rechenmaschine 100 und/oder einer anderen Rechenmaschine empfangen wurde, fortfahren. Wenn ein Cache-Speicher-Löschen-Befehl gefunden wird, kann die Speicheranwendung 110 mit einem Authentifizieren des Cache-Speicher-Löschen-Befehls fortfahren und der Prozessor 120 kann den Cache-Speicher-Löschen-Befehl ausführen. Bei einem Ausführen des Cache-Speicher-Löschen-Befehls können ein oder mehrere Inhaltselemente 160 auf dem nichtflüchtigen Cache-Speicher 130 gelöscht werden. Bei einem anderen Ausführungsbeispiel können ein oder mehrere Inhaltselemente 160 auf der Speichervorrichtung 140 gelöscht werden.
  • Die Speicheranwendung 110 kann Firmware sein, die in die Rechenmaschine 100 und/oder die Speichervorrichtung 140 eingebettet ist. Bei einem anderen Ausführungsbeispiel ist die Speicheranwendung 110 eine Softwareanwendung, die auf der Rechenmaschine 100 in einem ROM oder auf der Speichervorrichtung 140, die durch die Rechenmaschine 100 zugänglich ist, gespeichert ist. Bei anderen Ausführungsbeispielen ist die Speicheranwendung 110 auf einem computerlesbaren Medium gespeichert, das durch die Rechenmaschine 100 oder die Speichervorrichtung 140 von einem unterschiedlichen Ort lesbar und zugänglich ist.
  • Zusätzlich ist bei einem Ausführungsbeispiel die Speichervorrichtung 140 in der Rechenmaschine 100 beinhaltet. Bei anderen Ausführungsbeispielen ist die Speichervorrichtung 140 nicht in der Rechenmaschine 100 beinhaltet, sondern für die Rechenvorrichtung 100 unter Verwendung einer Netzschnittstelle 170, die in der Rechenmaschine 100 beinhaltet ist, zugänglich. Die Netzschnittstelle 170 kann eine Schnittstellenkarte eines Draht- oder drahtlosen Netzwerks sein. Bei anderen Ausführungsbeispielen kann die Speichervorrichtung 140 konfiguriert sein, um eine Verbindung zu einem oder mehreren Ports oder Schnittstellen auf der Rechenvorrichtung 100 drahtlos oder durch eine Drahtverbindung herzustellen.
  • Bei einem weiteren Ausführungsbeispiel ist die Speicheranwendung 110 gespeichert und/oder es wird auf dieselbe durch einen Server, der durch ein lokales Netz oder ein Weitverkehrsnetz gekoppelt ist, zugegriffen. Die Speicheranwendung 110 kommuniziert mit Vorrichtungen und/oder Komponenten, die physisch oder drahtlos durch einen Kommunikationsbus 150, der in der Rechenmaschine 100 beinhaltet oder an dieselbe angeschlossen ist, mit der Rechenmaschine 100 gekoppelt sind. Bei einem Ausführungsbeispiel ist der Kommunikationsbus 150 ein Speicherbus. Bei anderen Ausführungsbeispielen ist der Kommunikationsbus 150 ein Datenbus.
  • Wie oben angemerkt wurde, ist die Speicheranwendung 110 eine Anwendung, die durch den Prozessor 120 konfiguriert sein kann, um zu bestimmen, ob die Speichervorrichtung 140 einen nichtflüchtigen Cache-Speicher 130 umfasst. Der Prozessor 120 kann einen oder mehrere Befehle senden, damit die Speicheranwendung 110 auf die Speichervorrichtung 140 zugreift und die Speichervorrichtung 140 nach einem Cache-Speicher durchsucht. Ein Cache-Speicher ist eine Komponente oder ein Bereich der Speichervorrichtung 140, die/der konfiguriert ist, um ein oder mehrere Inhaltselemente 160 zu speichern, auf die später durch die Speichervorrichtung 140 oder die Rechenmaschine 100 zugegriffen werden kann.
  • Die Komponente und/oder der Bereich der Speichervorrichtung 140 können durch die Speichervorrichtung 140, einen Benutzer und/oder einen Hersteller der Speichervorrichtung 140 als Cache-Speicher gekennzeichnet werden. Sobald die Speicheranwendung 110 einen oder mehrere Cache-Speicher auf der Speichervorrichtung 140 lokalisiert hat, kann die Speicheranwendung 110 mit einer Bestimmung dessen, ob ein oder mehrere der Cache-Speicher ein nichtflüchtiger Cache-Speicher 130 sind, fortfahren. Wie oben angemerkt wurde, ist ein nichtflüchtiger Cache-Speicher 130 ein Bereich der Speichervorrichtung 140, der konfiguriert ist, um nichtflüchtigen Speicher zu beinhalten. Bei einem Ausführungsbeispiel ist der nichtflüchtige Cache-Speicher 1360 ein Medien-Cache-Speicher, der konfiguriert ist, um ein oder mehrere Inhaltselemente 160 zu speichern.
  • Beim Bestimmen, ob ein Cache-Speicher ein nichtflüchtiger Cache-Speicher 130 ist, können der Prozessor 120 und/oder die Speicheranwendung 110 einen Cache-Speicher nach einer Kennzeichnung durchsuchen. Die Kennzeichnung kann den Cache-Speicher als nichtflüchtigen Cache-Speicher 130 erkennen. Zusätzlich kann die Kennzeichnung als Kopfdatei oder eine beliebige andere zusätzliche Datei gespeichert sein. Bei einem weiteren Ausführungsbeispiel können der Prozessor 120 und/oder die Speicheranwendung 110 bestimmen, ob ein Cache-Speicher nichtflüchtigen Speicher beinhaltet. Wenn der Cache-Speicher nichtflüchtigen Speicher beinhaltet oder wenn der Cache-Speicher als nichtflüchtiger Cache-Speicher 130 gekennzeichnet ist, werden der Prozessor 120 und/oder die Speicheranwendung 110 bestimmen, dass die Speichervorrichtung 140 einen nichtflüchtigen Cache-Speicher 130 umfasst.
  • Sobald der Prozessor 120 und/oder die Speicheranwendung 110 bestimmt haben, dass die Speichervorrichtung 140 einen nichtflüchtigen Cache-Speicher 130 umfasst, können der Prozessor 120 und/oder die Speicheranwendung 110 mit einem Suchen nach einem Cache-Speicher-Löschen-Befehl fortfahren. Ein Cache-Speicher-Löschen-Befehl ist eine Anweisung oder ein Befehl, die/der durch den Prozessor 120 und/oder durch die Speicheranwendung 110 auf der Speichervorrichtung 140 ausgeführt werden kann. Bei einem Ausführungsbeispiel kann der Cache-Speicher-Löschen-Befehl verschlüsselt und/oder gesperrt sein.
  • Bei Ausführung löscht der Cache-Speicher-Löschen-Befehl den nichtflüchtigen Cache-Speicher 130 eines oder mehrerer Inhaltselemente 160, die auf dem nichtflüchtigen Cache-Speicher 130 zu linden sind. Bei einem weiteren Ausführungsbeispiel kann der Cache-Speicher-Löschen-Befehl zusätzlich Inhalt, der auf Bereichen der Speichervorrichtung 140 außerhalb des nichtflüchtigen Cache-Speichers 130 zu finden ist, löschen.
  • Der Cache-Speicher-Löschen-Befehl kann durch die Rechenmaschine 100 und/oder von einer weiteren Vorrichtung, die mit der Rechenmaschine 100 gekoppelt ist, gesendet werden. Zusätzlich ist der Cache-Speicher-Löschen-Befehl auf einem Bereich der Speichervorrichtung 140 außerhalb des nichtflüchtigen Cache-Speichers 130 gespeichert. Bei anderen Ausführungsbeispielen kann der Cache-Speicher-Löschen-Befehl an zusätzlichen Orten, die für die Speicheranwendung 110 und/oder die Speichervorrichtung 140 zugänglich sind, zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt wurden, gespeichert sein.
  • Wenn ein Cache-Speicher-Löschen-Befehl gefunden wird, versuchen bei einem Ausführungsbeispiel der Prozessor 120 und/oder die Speicheranwendung 110, den Cache-Speicher-Löschen-Befehl vor einer Ausführung desselben zu authentifizieren. Beim Authentifizieren des Cache-Speicher-Löschen-Befehls suchen der Prozessor 120 und/oder die Speicheranwendung 110 nach einem Sicherheitsschlüssel und fahren mit einem Authentifizieren des Cache-Speicher-Löschen-Befehls unter Verwendung des Sicherheitsschlüssels fort.
  • Ein Sicherheitsschlüssel umfasst ein Software- oder Hardware-Sicherheitsbauelement, das konfiguriert ist, um die Ausführung des Cache-Speicher-Löschen-Befehls zu autorisieren. Der Sicherheitsschlüssel kann einen verschlüsselten Datenblock umfassen, der zum Entschlüsseln und Authentifizieren des Cache-Speicher-Löschen-Befehls verwendet werden kann. Zusätzlich kann der Sicherheitsschlüssel eine oder mehrere Sequenzen von Zahlen und/oder Zeichen umfassen. Bei einem weiteren Ausführungsbeispiel kann der Sicherheitsschlüssel einen oder mehrere Algorithmen umfassen.
  • Bei weiteren Ausführungsbeispielen kann der Sicherheitsschlüssel ein Software-Token, ein Hardware-Token und/oder ein beliebiges zusätzliches Software-Sicherheitsbauelement, das zum Authentifizieren des Cache-Speicher-Löschen-Befehls genutzt werden kann, umfassen. Der Sicherheitsschlüssel kann von der Rechenmaschine 100 und/oder von einer weiteren Rechenmaschine oder Vorrichtung, die mit der Rechenmaschine 100 gekoppelt ist, gesendet werden. Zusätzlich kann der Sicherheitsschlüssel auf dem nichtflüchtigen Cache-Speicher 130 oder an einem anderen Ort auf der Speichervorrichtung 140 gespeichert sein.
  • Sobald der Cache-Speicher-Löschen-Befehl durch den Sicherheitsschlüssel authentifiziert wurde, können der Prozessor 120 und/oder die Speicheranwendung 110 mit einem Ausführen des Cache-Speicher-Löschen-Befehls und Löschen des nichtflüchtigen Cache-Speichers 130 fortfahren. Bei einen weiteren Ausführungsbeispiel können der Prozessor 120 und/oder die Speicheranwendung 110 vor einem Löschen des nichtflüchtigen Cache-Speichers 130 zusätzlich den nichtflüchtigen Cache-Speicher 130 nach Inhalt 160 durchsuchen. Beim Durchsuchen des nichtflüchtigen Cache-Speichers 130 kann die Speicheranwendung 110 alle Räume und/oder Sektoren auf dem nichtflüchtigen Cache-Speicher 130 durchsuchen, um zu bestimmen, ob Inhalt 160 in dem nichtflüchtigen Cache-Speicher 130 gefunden wurde.
  • Ein oder mehrere Inhaltselemente 160 sind Dateien, die gespeichert werden können und auf die von der Speichervorrichtung 140 und/oder von dem nichtflüchtigen Cache-Speicher 130 zugegriffen werden kann. Zusätzlich können ein oder mehrere der Inhaltselemente 160 von der Speichervorrichtung 140, der Rechenmaschine 100 und/oder einer weiteren Vorrichtung, die mit der Speichervorrichtung 140 oder der Rechenmaschine 100 gekoppelt ist, empfangen werden. Wie oben angemerkt wurde, können ein oder mehrere der Inhaltselemente 160 Benutzerdaten, Mediendateien und/oder Systemdateien umfassen. Bei einem Ausführungsbeispiel beinhalten zusätzlich ein oder mehrere der Inhaltselemente 160 keinen Befehl. Bei anderen Ausführungsbeispielen können ein oder mehrere der Inhaltselemente 160 zusätzliche Dateien oder Dateitypen zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt wurden, beinhalten oder ausschließen.
  • Wenn auf dem nichtflüchtigen Cache-Speicher 130 Inhalt 160 gefunden wird, können der Prozessor 120 und/oder die Speicheranwendung 110 mit einem Löschen des nichtflüchtigen Cache-Speichers 130 fortfahren. Bei einem Ausführungsbeispiel wird beim Löschen des Inhalts 160 aus der Speichervorrichtung 140 und/oder aus dem nichtflüchtigen Cache-Speicher 130 möglicher Inhalt 160, der auf dem nichtflüchtigen Cache-Speicher 130 gefunden wird und/oder auf der Speichervorrichtung 140 gefunden wird, gelöscht oder ausgeschlossen. Bei einem weiteren Ausführungsbeispiel wird beim Löschen des Inhalts 160 möglicher Inhalt, der auf dem nichtflüchtigen Cache-Speicher 130 gefunden wird und/oder auf der Speichervorrichtung 140 gefunden wird, überschrieben.
  • Bei einem weiteren Ausführungsbeispiel können, wenn kein Inhalt 160 auf dem nichtflüchtigen Cache-Speicher 130 gefunden wird, der Prozessor 120 und/oder die Speicheranwendung 110 mit einem Durchsuchen der Speichervorrichtung 140 nach einem oder mehreren Inhaltselementen 160, die außerhalb des nichtflüchtigen Cache-Speichers 130 gespeichert sind, fortfahren. Wenn außerhalb des nichtflüchtigen Cache-Speichers 130 Inhalt 160 gefunden wird, können der Prozessor 120 und/oder die Speicheranwendung 110 die Speichervorrichtung 140 konfigurieren, um ein oder mehrere der Inhaltselemente 160 zu streichen. Bei anderen Ausführungsbeispielen können der Prozessor 120 und/oder die Speicheranwendung 110 ein oder mehrere Inhaltselemente 160, die auf der Speichervorrichtung 140 gefunden werden, streichen, wenn die Speichervorrichtung 140 nicht einen oder mehrere nichtflüchtige Cache-Speicher 130 beinhaltet.
  • 2 stellt eine Speicheranwendung 210, die nach einem nichtflüchtigen Cache-Speicher 230 sucht, und einen Cache-Speicher-Löschen-Befehl 280 gemäß einem Ausführungsbeispiel der Erfindung dar. Wie oben angemerkt wurde, ist eine Speichervorrichtung 240 eine Komponente und/oder Vorrichtung, die konfiguriert sein kann, um ein oder mehrere Inhaltselemente 260 zu speichern, und die einen oder mehrere Cache-Speicher beinhalten kann. Zusätzlich ist, wie in 2 dargestellt ist, bei einem Ausführungsbeispiel die Speichervorrichtung 240 nicht in einer Rechenmaschine 200 beinhaltet, sondern kann drahtlos oder durch eine Drahtverbindung mit der Rechenmaschine 200 gekoppelt sein.
  • Wie in 2 dargestellt ist, kann die Speichervorrichtung 240 einen oder mehrere Cache-Speicher beinhalten. Wie oben angemerkt wurde, kann ein Prozessor der Rechenmaschine 200 einen oder mehrere Befehle senden, damit eine Speicheranwendung 210 auf die Speichervorrichtung 240 zugreift und die Speichervorrichtung 240 durchsucht, um zu bestimmen, ob die Speichervorrichtung 240 einen oder mehrere nichtflüchtige Cache-Speicher 230 umfasst. Wie bei dem vorliegenden Ausführungsbeispiel gezeigt ist, hat die Speicheranwendung 210 die Speichervorrichtung 240 durchsucht und erkennt, dass die Speichervorrichtung 240 einen Cache-Speicher 230 umfasst.
  • Wie in 2 gezeigt ist, fährt die Speicheranwendung 210, sobald ein Cache-Speicher 230 auf der Speichervorrichtung 240 gefunden wurde, mit einem Bestimmen, ob der Cache-Speicher ein nichtflüchtiger Cache-Speicher 230 ist, fort. Wie oben angemerkt wurde, kann ein Cache-Speicher durch einen Benutzer, die Rechenmaschine 200 und/oder durch einen Hersteller der Speichervorrichtung 240 als nichtflüchtiger Cache-Speicher 230 gekennzeichnet werden. Die Kennzeichnung kann als eine Kopfdatei und/oder eine beliebige zusätzliche Datei auf der Speichervorrichtung 240 gespeichert sein. Bei einem weiteren Ausführungsbeispiel kann die Speicheranwendung 210 auf den Cache-Speicher zugreifen und bestimmen, ob der Cache-Speicher nichtflüchtigen Speicher umfasst. Der nichtflüchtige Speicher kann Flash-Speicher, NAND-Speicher und/oder eine Festplatte beinhalten. Bei weiteren Ausführungsbeispielen kann der nichtflüchtige Speicher zusätzliche Formen von Speichern zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt wurden, umfassen.
  • Wenn der Cache-Speicher als ein nichtflüchtiger Cache-Speicher gekennzeichnet ist oder wenn der Cache-Speicher nichtflüchtigen Speicher umfasst, erkennt die Speicheranwendung 210 den Cache-Speicher als einen nichtflüchtigen Cache-Speicher 230. Sobald die Speicheranwendung 210 den Cache-Speicher als einen nichtflüchtigen Cache-Speicher 230 erkannt hat, kann die Speicheranwendung 210 mit einem Suchen nach einem Cache-Speicher-Löschen-Befehl 280, der von der Rechenmaschine 200 oder von einer anderen Vorrichtung, die mit der Rechenmaschine 200 gekoppelt ist, empfangen wurde, fortfahren. Bei einem weiteren Ausführungsbeispiel sucht die Speicheranwendung 210 den Cache-Speicher-Löschen-Befehl 280 vor oder während eines Bestimmens, ob die Speichervorrichtung 240 einen nichtflüchtigen Cache-Speicher 230 umfasst.
  • Wie oben angemerkt wurde, ist der Cache-Speicher-Löschen-Befehl 280 ein Befehl und/oder eine Anweisung, der/die durch den Prozessor oder die Speicheranwendung 210 ausführbar ist, um Inhalt von dem nichtflüchtigen Speicher 230 zu löschen. Bei einem weiteren Ausführungsbeispiel durchsucht die Speicheranwendung 210 beim Ausführen des Cache-Speicher-Löschen-Befehls 280 zusätzlich die Speichervorrichtung 240 nach Inhalt 260 außerhalb des nichtflüchtigen Cache-Speichers 230 und fährt mit einem Löschen von Inhalt 260 aus der Speichervorrichtung 240 fort.
  • Wie bei dem vorliegenden Ausführungsbeispiel gezeigt ist, kann der Cache-Speicher-Löschen-Befehl 280 auf der Speichervorrichtung 240 gespeichert sein. Zusätzlich ist, wie oben angemerkt wurde, der Cache-Speicher-Löschen-Befehl 280 auf einem Bereich der Speichervorrichtung 240 außerhalb des nichtflüchtigen Cache-Speichers 230 gespeichert. Bei weiteren Ausführungsbeispielen kann der Cache-Speicher-Löschen-Befehl 280 an zusätzlichen Orten und/oder auf zusätzlichen Vorrichtungen zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt und in 2 dargestellt sind, gespeichert sein.
  • Bei einem Ausführungsbeispiel können vor einer Ausführung des Cache-Speicher-Löschen-Befehls 280 die Speicheranwendung 210 und/oder der Prozessor mit einem Authentifizieren des Cache-Speicher-Löschen-Befehls 280 mit einem Sicherheitsschlüssel fortfahren. Sobald der Cache-Speicher-Löschen-Befehl 280 authentifiziert wurde, kann die Speicheranwendung 210 mit einem Verwalten der Speichervorrichtung 240 und von Inhalt 260 auf der Speichervorrichtung 240 fortfahren.
  • Wie oben angemerkt wurde, löscht die Speicheranwendung 210 beim Verwenden der Speichervorrichtung 240 und des Inhalts 260 auf der Speichervorrichtung 240 Inhalt 260 aus dem nichtflüchtigen Cache-Speicher 230 und/oder aus Bereichen der Speichervorrichtung 240 außerhalb des nichtflüchtigen Cache-Speichers 230 ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls 280.
  • 3 stellt eine Speicheranwendung 310, die eine Speichervorrichtung 340 und Inhalt 360 auf der Speichervorrichtung 340 verwaltet, gemäß einem Ausführungsbeispiel der Erfindung dar. Wie bei dem vorliegenden Ausführungsbeispiel gezeigt ist, können ein oder mehrere Inhaltselemente 360 auf einem nichtflüchtigen Cache-Speicher 330 der Speichervorrichtung 340 und/oder auf anderen Bereichen der Speichervorrichtung 340 gespeichert sein.
  • Folglich kann die Speicheranwendung 310 die Speichervorrichtung 340 durch Verwalten von Inhalt 360 auf dem nichtflüchtigen Cache-Speicher 310 und Inhalt 360 außerhalb des nichtflüchtigen Cache-Speichers verwalten. Beim Verwalten des Inhalts 360 kann die Speicheranwendung 310 Inhalt 360 auf einem nichtflüchtigen Cache-Speicher 330 der Speichervorrichtung 340 löschen. Zusätzlich kann die Speicheranwendung 310 Inhalt 360 aus Bereichen der Speichervorrichtung 340 außerhalb des nichtflüchtigen Cache-Speichers 330 löschen.
  • Wie oben angemerkt wurde, löscht die Speicheranwendung 310 Inhalt aus dem nichtflüchtigen Cache-Speicher 330 und/oder aus anderen Bereichen der Speichervorrichtung 340 ansprechend auf ein Authentifizieren eines Cache-Speicher-Löschen-Befehls 380. Bei einem Ausführungsbeispiel hat, wie in 3 gezeigt ist, die Speicheranwendung 310 nach einem Cache-Speicher-Löschen-Befehl 380 auf der Speichervorrichtung 340 gesucht und diesen gefunden. Bei anderen Ausführungsbeispielen kann der Cache-Speicher-Löschen-Befehl 380 an zusätzlichen Orten gespeichert sein und es kann durch die Speicheranwendung 310 durch einen Kommunikationsbus einer Rechenmaschine 300 und/oder durch eine Netzschnittstelle der Rechenmaschine 300 auf diesen zugegriffen werden.
  • Ansprechend auf ein Lokalisieren eines Cache-Speicher-Löschen-Befehls 380 versucht die Speicheranwendung 310, diesen zu authentifizieren. Wie oben angemerkt wurde und in 3 dargestellt ist, kann die Speicheranwendung 310 beim Authentifizieren des Cache-Speicher-Löschen-Befehls 380 auf einen Sicherheitsschlüssel 390 zugreifen. Wie in 3 dargestellt ist, kann der Sicherheitsschlüssel 390 auf einer Rechenmaschine 300, die mit der Speichervorrichtung 340 gekoppelt ist, gespeichert sein. Bei einem weiteren Ausführungsbeispiel kann der Sicherheitsschlüssel 390 auf der Speichervorrichtung 340 gespeichert sein. Bei anderen Ausführungsbeispielen kann der Sicherheitsschlüssel 390 an zusätzlichen Orten, die für die Speicheranwendung 310 zugänglich sind, zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt und in 3 dargestellt sind, gespeichert sein.
  • Der Sicherheitsschlüssel 390 ist ein Software- oder Hardware-Sicherheitsbauelement, das konfiguriert ist, um den Cache-Speicher-Löschen-Befehl 380 zu authentifizieren. Wie oben angemerkt wurde, kann der Sicherheitsschlüssel 390 einen verschlüsselten Datenblock umfassen, der durch die Speicheranwendung 310 verwendet werden kann, um den Cache-Speicher-Löschen-Befehl 380 zu entschlüsseln und zu authentifizieren. Bei einem weiteren Ausführungsbeispiel kann der Sicherheitsschlüssel 390 eine oder mehrere Sequenzen von Zahlen und/oder Zeichen umfassen oder der Sicherheitsschlüssel 390 kann einen oder mehrere Algorithmen umfassen.
  • Bei einem Ausführungsbeispiel vergleicht die Speicheranwendung 310 beim Authentifizieren des Cache-Speicher-Löschen-Befehls 380 den Sicherheitsschlüssel 390 mit dem Cache-Speicher-Löschen-Befehl 380. Wenn die Speicheranwendung 310 bestimmt, dass der Sicherheitsschlüssel 390 mit dem Cache-Speicher-Löschen-Befehl 380 zusammenpasst, oder wenn der Sicherheitsschlüssel 390 verwendet werden kann, um den Cache-Speicher-Löschen-Befehl 380 zu entriegeln, bestimmt die Speicheranwendung 310, dass der Cache-Speicher-Löschen-Befehl 380 erfolgreich authentifiziert wurde. Bei anderen Ausführungsbeispielen kann der Cache-Speicher-Löschen-Befehl 380 unter Verwendung zusätzlicher Verfahren zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt wurden, authentifiziert werden.
  • Wenn der Cache-Speicher-Löschen-Befehl 380 erfolgreich authentifiziert wurde, fährt die Speicheranwendung 310 mit einem Löschen von Inhalt aus dem nichtflüchtigen Cache-Speicher 330 fort. Bei einem weiteren Ausführungsbeispiel kann die Speicheranwendung 310 einen Befehl senden, damit die Speichervorrichtung 340 Inhalt aus dem nichtflüchtigen Cache-Speicher 330 löscht. Bei einem Ausführungsbeispiel umfasst ein Löschen von Inhalt 360 aus dem nichtflüchtigen Cache-Speicher 330, dass die Speicheranwendung 310 oder die Speichervorrichtung 340 den gesamten Inhalt 360 aus dem nichtflüchtigen Cache-Speicher 330 löscht. Bei einem weiteren Ausführungsbeispiel umfasst ein Löschen von Inhalt 360 aus dem nichtflüchtigen Cache-Speicher 330 ein Überschreiben des Inhalts 360. Der Inhalt 360 kann mit Nullen, beliebigen zusätzlichen Werten und/oder Daten überschrieben werden.
  • Bei einem Ausführungsbeispiel können die Speicheranwendung 310 und/oder die Speichervorrichtung 340, nachdem der Inhalt 360 aus dem nichtflüchtigen Cache-Speicher 330 gelöscht wurde, zusätzlich beliebigen Inhalt 360, der in der Speichervorrichtung 340 gefunden wird, löschen. Ähnlich wie bei dem oben erwähnten Verfahren können die Speichervorrichtung 340 und/oder die Speichervorrichtung 310 den Inhalt 360 durch Streichen des Inhalts 360 oder durch Überschreiben des Inhalts 360 löschen.
  • Bei anderen Ausführungsbeispielen wird, wenn der Cache-Speicher-Löschen-Befehl 380 nicht erfolgreich unter Verwendung des Sicherheitsschlüssels 390 authentifiziert wird, der Cache-Speicher-Löschen-Befehl 380 nicht auf dem nichtflüchtigen Cache-Speicher 330 ausgeführt und kein Inhalt 360 auf dem nichtflüchtigen Cache-Speicher 330 wird gelöscht. Der Inhalt 360 auf Bereichen der Speichervorrichtung 340 außerhalb des nichtflüchtigen Cache-Speichers 330 jedoch kann weiterhin durch die Speicheranwendung 310 und/oder durch die Speichervorrichtung 340 gelöscht werden.
  • 4 stellt eine Rechenmaschine 400 mit einer eingebetteten Speicheranwendung 410 und eine Speicheranwendung 410, die auf einem entfernbaren Medium gespeichert ist, auf die durch die Rechenmaschine 400 zugegriffen wird, gemäß einem Ausführungsbeispiel der Erfindung dar. Zu Zwecken dieser Beschreibung ist ein entfernbares Medium ein beliebiges greifbares Gerät, das die Anwendung zur Verwendung durch oder in Verbindung mit der Rechenmaschine 400 beinhaltet, speichert, weiterleitet oder transportiert. Wie oben angemerkt wurde, ist die Speicheranwendung 410 bei einem Ausführungsbeispiel Firmware, die in eine oder mehrere Komponenten der Rechenmaschine 400 oder der Speichervorrichtung 440 als ROM eingebettet ist. Bei anderen Ausführungsbeispielen ist die Speicheranwendung 410 eine Softwareanwendung, die auf einer Festplatte, einer CD-Platte, einer Flash-Platte, einem Netzwerklaufwerk oder einer beliebigen anderen Form von computerlesbarem Medium, das mit der Rechenmaschine 400 gekoppelt ist, gespeichert ist und von demselben/derselben zugänglich ist.
  • 5 ist ein Flussdiagramm, das ein Verfahren zum Verwalten einer Speichervorrichtung gemäß einem Ausführungsbeispiel der Erfindung darstellt. Das Verfahren aus 5 verwendet eine Rechenmaschine, die mit einer Speichervorrichtung gekoppelt ist, einen nichtflüchtigen Cache-Speicher der Speichervorrichtung, einen Prozessor und eine Speicheranwendung. Bei anderen Ausführungsbeispielen verwendet das Verfahren aus 5 zusätzliche Komponenten und/oder Vorrichtungen zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt und in den 1, 2, 3 und 4 dargestellt sind.
  • Wie oben angemerkt wurde, sendet ein Prozessor zu Beginn einen oder mehrere Befehle, damit eine Speicheranwendung auf eine Speichervorrichtung zugreift und bestimmt, ob die Speichervorrichtung einen nichtflüchtigen Cache-Speicher beinhaltet 500. Die Speicheranwendung ist eine Anwendung, die konfiguriert ist, um die Speichervorrichtung und/oder Inhalt auf der Speichervorrichtung zu verwalten. Zusätzlich kann die Speicheranwendung Firmware sein, die auf der Rechenmaschine und/oder der Speichervorrichtung eingebettet ist. Bei anderen Ausführungsbeispielen ist die Speicheranwendung eine Anwendung, die für die Rechenmaschine durch eine Netzschnittstelle oder ein computerlesbares Medium zugänglich ist.
  • Die Speicheranwendung greift zu Beginn auf die Speichervorrichtung zu und durchsucht die Speichervorrichtung nach einem Cache-Speicher. Wenn ein Cache-Speicher gefunden wird, fährt die Speicheranwendung mit einem Bestimmen, ob der Cache-Speicher ein nichtflüchtiger Cache-Speicher ist, fort. Wie oben angemerkt wurde, ist ein nichtflüchtiger Cache-Speicher ein Bereich der Speichervorrichtung, der nichtflüchtigen Speicher beinhaltet. Zusätzlich kann der nichtflüchtige Cache-Speicher ein Medien-Cache-Speicher sein, der konfiguriert ist, um Inhalt zu speichern. Bei einem Ausführungsbeispiel speichert der nichtflüchtige Cache-Speicher keine Befehle.
  • Beim Bestimmen, ob ein Cache-Speicher ein nichtflüchtiger Cache-Speicher ist, durchsucht die Speicheranwendung den Cache-Speicher nach einer Kennzeichnung oder nichtflüchtigem Speicher. Die Kennzeichnung kann von einem Benutzer, der Rechenmaschine und/oder von einem Hersteller der Speichervorrichtung sein. Zusätzlich kann die Kennzeichnung angeben, ob ein Cache-Speicher ein nichtflüchtiger Cache-Speicher ist. Wenn der Cache-Speicher als ein nichtflüchtiger Cache-Speicher gekennzeichnet ist oder wenn der Cache-Speicher nichtflüchtigen Speicher umfasst, erkennt die Speicheranwendung den Cache-Speicher als einen nichtflüchtigen Cache-Speicher.
  • Sobald ein nichtflüchtiger Cache-Speicher auf der Speichervorrichtung gefunden wurde, fährt die Speicheranwendung mit einem Suchen 510 nach einem Cache-Speicher-Löschen-Befehl fort. Wie oben angemerkt wurde, ist der Cache-Speicher-Löschen-Befehl ein ausführbarer Befehl oder eine derartige Anweisung, der/die durch den Prozessor und/oder die Speicheranwendung ausgeführt wird. Bei Ausführung löscht der Cache-Speicher-Löschen-Befehl Inhalt aus dem nichtflüchtigen Cache-Speicher. Bei einem weiteren Ausführungsbeispiel kann der Cache-Speicher-Löschen-Befehl zusätzlich genutzt werden, um Inhalt aus anderen Bereichen der Speichervorrichtung außerhalb des nichtflüchtigen Cache-Speichers zu löschen.
  • Der Cache-Speicher-Löschen-Befehl kann durch einen Benutzer, die Rechenmaschine, eine Vorrichtung oder Komponente der Rechenmaschine und/oder eine weitere Vorrichtung, die mit der Rechenmaschine gekoppelt ist, gesendet werden. Zusätzlich kann der Cache-Speicher-Löschen-Befehl auf der Speichervorrichtung, einer Komponente oder Vorrichtung der Rechenmaschine und/oder an einem weiteren Ort, der für die Speicheranwendung zugänglich ist, gespeichert sein.
  • Wenn ein Cache-Speicher-Löschen-Befehl gefunden wird, versucht die Speicheranwendung, den Befehl vor Ausführung desselben zu authentifizieren. Wie oben angemerkt wurde, kann der Cache-Speicher-Löschen-Befehl unter Verwendung eines Sicherheitsschlüssels, der für die Speicheranwendung zugänglich ist, authentifiziert werden. Der Sicherheitsschlüssel ist ein Hardware- und/oder Software-Sicherheitsbauelement, das konfiguriert ist, um den Cache-Speicher-Löschen-Befehl zu authentifizieren und/oder zu entriegeln. Zusätzlich kann auf den Sicherheitsschlüssel von der Speichervorrichtung, der Rechenmaschine und/oder von einem weiteren Ort, der für die Speicheranwendung zugänglich ist, zugegriffen werden.
  • Bei einem Ausführungsbeispiel umfasst der Sicherheitsschlüssel eine oder mehrere Sequenzen von Zahlen und/oder Zeichen. Bei einem weiteren Ausführungsbeispiel umfasst der Sicherheitsschlüssel einen oder mehrere Verschlüsselungsalgorithmen oder der Sicherheitsschlüssel kann ein Hardware- und/oder Software-Token umfassen. Bei anderen Ausführungsbeispielen kann der Sicherheitsschlüssel zusätzliche Software- und/oder Hardware-Sicherheitsbauelemente sein, die konfiguriert sind, um einen Cache-Speicher-Löschen-Befehl zu authentifizieren und/oder zu entriegeln.
  • Unter Nutzung des Sicherheitsschlüssels versucht die Speicheranwendung, eine Verschlüsselung des Cache-Speicher-Löschen-Befehls mit dem Sicherheitsschlüssel zusammenzupassen, oder die Speicheranwendung versucht, den Cache-Speicher-Löschen-Befehl mit dem Sicherheitsschlüssel zu entriegeln. Wenn der Sicherheitsschlüssel eine Übereinstimmung, Sequenz, einen Algorithmus und/oder ein Token umfasst, die/der/das mit dem Cache-Speicher-Löschen-Befehl zusammenpasst, hat die Speicheranwendung ein Authentifizieren des Cache-Speicher-Löschen-Befehls erfolgreich abgeschlossen.
  • Sobald der Cache-Speicher-Löschen-Befehl authentifiziert wurde, kann die Speicheranwendung mit einem Löschen 520 des nichtflüchtigen Cache-Speichers auf der Speichervorrichtung fortfahren. Wie oben angemerkt wurde, kann die Speicheranwendung beim Löschen des nichtflüchtigen Cache-Speichers eines oder mehrere Inhaltselemente, die auf dem nichtflüchtigen Cache-Speicher gefunden werden, streichen. Bei einem weiteren Ausführungsbeispiel kann die Speicheranwendung ein oder mehrere der Inhaltselemente überschreiben.
  • Wie oben angemerkt wurde, sind ein oder mehrere Inhaltselemente Dateien, die auf dem nichtflüchtigen Cache-Speicher oder auf anderen Bereichen der Speichervorrichtung gespeichert sein können. Bei einem Ausführungsbeispiel umfassen eine oder mehrere der Dateien Benutzerdaten, Mediendateien und/oder Systemdateien. Zusätzlich beinhalten ein oder mehrere der Inhaltselemente nicht den Cache-Speicher-Löschen-Befehl oder mögliche andere Befehle.
  • Bei einem Ausführungsbeispiel kann die Speicheranwendung zusätzlich auf andere Bereiche der Speichervorrichtung zugreifen und möglichen anderen Inhalt, der außerhalb des nichtflüchtigen Cache-Speichers gefunden wird, löschen. Bei anderen Ausführungsbeispielen kann die Speicheranwendung, wenn der Cache-Speicher-Löschen-Befehl nicht erfolgreich authentifiziert wird, ein Löschen von Inhalt von dem nichtflüchtigen Cache-Speicher überspringen und mit einem Löschen von Inhalt aus Bereichen von Speichervorrichtung außerhalb des nichtflüchtigen Cache-Speichers fortfahren. Das Verfahren ist dann vollständig oder die Speicheranwendung kann mit einem Suchen nach einem Cache-Speicher-Löschen-Befehl und Verwalten der Speichervorrichtung ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls fortfahren. Bei anderen Ausführungsbeispielen umfasst das Verfahren aus 5 zusätzliche Schritte zusätzlich zu denjenigen und/oder anstelle derjenigen, die in 5 dargestellt sind.
  • 6 ist ein Flussdiagramm, das ein Verfahren zum Verwalten einer Speichervorrichtung gemäß einem weiteren Ausführungsbeispiel der Erfindung darstellt. Ähnlich wie bei dem computerimplementierten Verfahren aus 5 verwendet das Verfahren aus 6 eine Rechenmaschine, die mit einer Speichervorrichtung gekoppelt ist, einen nichtflüchtigen Cache-Speicher der Speichervorrichtung, einen Prozessor und eine Speicheranwendung. Bei anderen Ausführungsbeispielen verwendet das Verfahren aus 5 zusätzliche Komponenten und/oder Vorrichtungen zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt und in den 1, 2, 3 und 4 dargestellt sind.
  • Wie oben angemerkt wurde, kann eine Speicheranwendung zu Beginn durch einen Prozessor einer Rechenmaschine konfiguriert werden, um zu bestimmen, ob eine Speichervorrichtung nichtflüchtigen Speicher umfasst, oder ob ein Abschnitt der Speichervorrichtung als ein nichtflüchtiger Cache-Speicher gekennzeichnet ist. Die Speichervorrichtung ist eine Vorrichtung oder Komponente, die konfiguriert ist, um mit der Rechenmaschine gekoppelt zu sein und ein oder mehrere Inhaltselemente zu speichern. Zusätzlich kann die Speichervorrichtung einen oder mehrere Cache-Speicher umfassen. Ferner können ein oder mehrere der Cache-Speicher ein nichtflüchtiger Cache-Speicher sein.
  • Beim Bestimmen, ob die Speichervorrichtung einen nichtflüchtigen Cache-Speicher umfasst, kann die Speicheranwendung auf einen Cache-Speicher auf der Speichervorrichtung zugreifen und eine Kennzeichnung, die in dem Cache-Speicher oder der Speichervorrichtung gefunden wird, absuchen. Zusätzlich kann die Speichervorrichtung bestimmen, ob der Cache-Speicher nichtflüchtigen Speicher umfasst. Wenn der Cache-Speicher als ein nichtflüchtiger Cache-Speicher gekennzeichnet ist oder wenn der Cache-Speicher nichtflüchtigen Speicher beinhaltet, bestimmt die Speicheranwendung, dass die Speichervorrichtung einen nichtflüchtigen Cache-Speicher umfasst 600.
  • Bei einem Ausführungsbeispiel kann die Speichervorrichtung, wenn die Speicheranwendung bestimmt, dass die Speichervorrichtung keinen nichtflüchtigen Cache-Speicher umfasst, mit einem Durchsuchen der Speichervorrichtung nach möglichem Inhalt fortfahren. Die Speicheranwendung fährt dann mit einem Streichen oder Löschen zumindest eines Inhaltselements aus der Speichervorrichtung fort 620.
  • Wie oben angemerkt wurde, können ein oder mehrere Inhaltselemente auf der Speichervorrichtung gespeichert sein. Zusätzlich können ein oder mehrere der Inhaltselemente auf einem nichtflüchtigen Cache-Speicher oder anderen Bereichen der Speichervorrichtung gespeichert sein. Bei einem Ausführungsbeispiel umfassen eine oder mehrere der Cache-Speicher Benutzerdaten, Mediendateien und/oder Systemdateien. Bei einem weiteren Ausführungsbeispiel umfasst der Inhalt, der auf dem nichtflüchtigen Cache-Speicher gespeichert ist, keine Befehle. Bei anderen Ausführungsbeispielen kann der Inhalt zusätzliche Dateitypen zusätzlich zu denjenigen und/oder anstelle derjenigen, die oben angemerkt wurden, umfassen oder ausschließen.
  • Bei einem weiteren Ausführungsbeispiel kann die Speicheranwendung, wenn die Speichervorrichtung bestimmt, dass die Speichervorrichtung einen nichtflüchtigen Cache-Speicher beinhaltet, mit einem Bestimmen, ob der nichtflüchtige Cache-Speicher Inhalt umfasst, fortfahren 610. Beim Bestimmen, ob der nichtflüchtige Cache-Speicher Inhalt umfasst, kann die Speicheranwendung einen oder mehrere Bereiche und/oder Sektoren des nichtflüchtigen Cache-Speichers nach Benutzerdaten, Mediendateien und/oder Systemdateien absuchen.
  • Wenn die Speicheranwendung keinen Inhalt auf dem nichtflüchtigen Cache-Speicher findet, fährt die Speicheranwendung mit einem Durchsuchen anderer Bereiche der Speichervorrichtung außerhalb des nichtflüchtigen Cache-Speichers nach Inhalt fort. Die Speicheranwendung streicht oder löscht dann zumindest ein Inhaltselement aus der Speichervorrichtung 620. Bei einem weiteren Ausführungsbeispiel fährt die Speicheranwendung, wenn die Speichervorrichtung bestimmt, dass der nichtflüchtige Cache-Speicher Inhalt umfasst, mit einem Suchen nach einem Cache-Speicher-Löschen-Befehl und Bestimmen, ob ein Cache-Speicher-Löschen-Befehl gefunden wurde, fort 630.
  • Wie oben angemerkt wurde, ist der Cache-Speicher-Löschen-Befehl ein ausführbarer Befehl oder eine derartige Anweisung, der/die auf dem nichtflüchtigen Cache-Speicher ausgeführt werden kann. Bei einem weiteren Ausführungsbeispiel kann der Cache-Speicher-Löschen-Befehl zusätzlich auf der Speichervorrichtung ausgeführt werden. Bei einem Ausführungsbeispiel ist der Cache-Speicher-Löschen-Befehl auf einem Bereich der Speichervorrichtung außerhalb des nichtflüchtigen Cache-Speichers gespeichert. Bei einem weiteren Ausführungsbeispiel wird auf den Cache-Speicher-Löschen-Befehl von einem anderen Ort auf der Rechenmaschine oder von einer Vorrichtung, die mit der Rechenmaschine gekoppelt ist, durch eine drahtlose oder durch eine verdrahtete Verbindung zugegriffen.
  • Bei Ausführung kann der Cache-Speicher-Löschen-Befehl den nichtflüchtigen Cache-Speicher löschen. Bei einem Ausführungsbeispiel kann zusätzlich die Speichervorrichtung bei Ausführung des Cache-Speicher-Löschen-Befehls ebenfalls gelöscht werden. Wenn kein Cache-Speicher-Löschen-Befehl gefunden wird, fährt die Speicheranwendung mit einem Durchsuchen der Speichervorrichtung, der Rechenmaschine und/oder anderer zusätzlicher Komponenten und/oder Vorrichtungen, die mit der Rechenmaschine gekoppelt sind, nach dem Cache-Speicher-Löschen-Befehl fort 630.
  • Sobald ein Cache-Speicher-Löschen-Befehl gefunden wurde, kann die Speicheranwendung nach einem Sicherheitsschlüssel suchen 640. Der Sicherheitsschlüssel ist ein Hardware- und/oder Software-Bauelement, das konfiguriert ist, um einen Zugriff zur Ausführung des Cache-Speicher-Löschen-Befehls zu authentifizieren und/oder zu erteilen. Beim Suchen nach dem Sicherheitsschlüssel kann die Speicheranwendung die Speichervorrichtung, eine oder mehrere Komponenten und/oder Vorrichtungen der Rechenmaschine und/oder eine weitere Vorrichtung, die mit der Rechenmaschine gekoppelt ist, nach dem Sicherheitsschlüssel durchsuchen.
  • Wenn kein Sicherheitsschlüssel gefunden wird, fährt die Speicheranwendung mit einem Suchen nach dem Sicherheitsschlüssel fort 640. Sobald der Sicherheitsschlüssel gefunden wurde, fährt die Speicheranwendung mit einem Authentifizieren des Cache-Speicher-Löschen-Befehls mit dem Sicherheitsschlüssel fort. Wie oben angemerkt wurde, kann die Speicheranwendung beim Authentifizieren des Cache-Speicher-Löschen-Befehls bestimmen, ob eine Verschlüsselung des Cache-Speicher-Löschen-Befehls mit dem Sicherheitsschlüssel zusammenpasst, oder ob der Sicherheitsschlüssel verwendet werden kann, um den Cache-Speicher-Löschen-Befehl zu entriegeln oder zu entschlüsseln.
  • Sobald das Cache-Speicher-Löschen befohlen wurde, kann die Speicheranwendung mit einem Löschen zumindest eines der Inhaltselemente aus dem nichtflüchtigen Cache-Speicher durch Streichen und/oder durch Überschreiben zumindest eines der Inhaltselemente fortfahren 660. Bei einem Ausführungsbeispiel greift die Speicheranwendung zusätzlich auf andere Bereiche der Speichervorrichtung zu und fährt mit einem Streichen und/oder Löschen von Inhalt aus der Speichervorrichtung fort 620.
  • Wenn die Speichervorrichtung mehr als einen Cache-Speicher oder nichtflüchtigen Cache-Speicher umfasst, kann die Speicheranwendung das oben offenbarte Verfahren für jeden der nichtflüchtigen Cache-Speicher wiederholen. Das Verfahren ist dann vollständig oder die Speicheranwendung kann mit einem Suchen nach einem Cache-Speicher-Löschen-Befehl fortfahren und weiterhin die Speichervorrichtung und den nichtflüchtigen Cache-Speicher auf der Speichervorrichtung ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls verwalten. Bei anderen Ausführungsbeispielen umfasst das Verfahren aus 6 zusätzliche Schritte zusätzlich zu denjenigen und/oder anstelle derjenigen, die in 6 dargestellt sind.
  • Durch ein Bestimmen, ob eine Speichervorrichtung einen nichtflüchtigen Cache-Speicher umfasst, kann Inhalt auf der Speichervorrichtung und dem nichtflüchtigen Cache-Speicher bequem verwaltet werden. Zusätzlich kann durch Löschen eines oder mehrerer Inhaltselemente auf dem nichtflüchtigen Cache-Speicher ansprechend auf ein Authentifizieren eines Cache-Speicher-Löschen-Befehls, der von einer Rechenmaschine empfangen wird, die Sicherheit für die Speichervorrichtung und die Rechenmaschine erhöht werden. Folglich kann für einen Benutzer eine sichere und benutzerfreundliche Erfahrung geschaffen werden.

Claims (15)

  1. Ein Verfahren zum Verwalten einer Speichervorrichtung, das folgende Schritte aufweist: Bestimmen, ob die Speichervorrichtung einen nichtflüchtigen Cache-Speicher umfasst; Suchen nach einem Cache-Speicher-Löschen-Befehl, der von einer Rechenmaschine empfangen wird; und Löschen des nichtflüchtigen Cache-Speichers auf der Speichervorrichtung ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls.
  2. Das Verfahren zum Verwalten einer Speichervorrichtung gemäß Anspruch 1, das ferner ein Bestimmen, ob der nichtflüchtige Cache-Speicher zumindest ein Inhaltselement umfasst, aufweist.
  3. Das Verfahren zum Verwalten einer Speichervorrichtung gemäß Anspruch 2, das ferner ein Streichen von Inhalt aus der Speichervorrichtung, wenn die Speichervorrichtung keinen nichtflüchtigen Cache-Speicher umfasst, aufweist.
  4. Das Verfahren zum Verwalten einer Speichervorrichtung gemäß Anspruch 1, das ferner ein Empfangen eines Sicherheitsschlüssels und ein Löschen des nichtflüchtigen Cache-Speichers ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls mit dem Sicherheitsschlüssel aufweist.
  5. Das Verfahren zum Verwalten einer Speichervorrichtung gemäß Anspruch 1, bei dem das Bestimmen, ob die Speichervorrichtung einen nichtflüchtigen Cache-Speicher umfasst, zumindest einen Schritt aus der Gruppe umfasst, die ein Bestimmen, ob die Speichervorrichtung nichtflüchtigen Speicher umfasst, und ein Bestimmen, ob ein Abschnitt der Speichervorrichtung als ein nichtflüchtiger Cache-Speicher gekennzeichnet ist, umfasst.
  6. Das Verfahren zum Verwalten einer Speichervorrichtung gemäß Anspruch 1, bei dem das Löschen des nichtflüchtigen Cache-Speichers ein Streichen von Inhalt aus dem nichtflüchtigen Cache-Speicher umfasst.
  7. Das Verfahren zum Verwalten einer Speichervorrichtung gemäß Anspruch 1, bei dem das Löschen des nichtflüchtigen Cache-Speichers ein Überschreiben von Inhalt auf dem nichtflüchtigen Cache-Speicher umfasst.
  8. Eine Rechenmaschine, die folgende Merkmale aufweist: einen Prozessor; eine Speichervorrichtung, die konfiguriert ist, um einen nichtflüchtigen Cache-Speicher zu umfassen; eine Speicheranwendung, die durch den Prozessor von einem Speichermedium ausführbar und konfiguriert ist, um nach einem Cache-Speicher-Löschen-Befehl zu suchen und ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls Inhalt aus dem nichtflüchtigen Cache-Speicher auf der Speichervorrichtung zu löschen.
  9. Die Rechenmaschine gemäß Anspruch 7, bei der der Cache-Speicher-Löschen-Befehl nicht in dem nichtflüchtigen Cache-Speicher gespeichert ist.
  10. Die Rechenmaschine gemäß Anspruch 8, bei der der nichtflüchtige Cache-Speicher ein Medien-Cache-Speicher ist, der konfiguriert ist, um Inhalt zu umfassen, der auf die Speichervorrichtung geschrieben werden soll.
  11. Die Rechenmaschine gemäß Anspruch 8, bei der der Inhalt auf dem nichtflüchtigen Cache-Speicher keinen Befehl umfasst.
  12. Die Rechenmaschine gemäß Anspruch 8, bei der der Inhalt zumindest ein Element aus der Gruppe umfasst, die Benutzerdaten, Systemdateien und Mediendateien umfasst.
  13. Ein computerlesbares Programm in einem computerlesbaren Medium, das folgendes Merkmal aufweist: eine Speicheranwendung, die konfiguriert ist, um zu bestimmen, ob eine Speichervorrichtung einen nichtflüchtigen Cache-Speicher umfasst; wobei die Speicheranwendung zusätzlich konfiguriert ist, um nach einem Cache-Speicher-Löschen-Befehl und einem Sicherheitsschlüssel zu suchen; und wobei die Speicheranwendung ferner konfiguriert ist, um den nichtflüchtigen Cache-Speicher auf der Speichervorrichtung ansprechend auf ein Authentifizieren des Cache-Speicher-Löschen-Befehls mit dem Sicherheitsschlüssel zu löschen.
  14. Das computerlesbare Programm in einem computerlesbaren Medium gemäß Anspruch 13, bei dem die Speicheranwendung zusätzlich konfiguriert ist, um Inhalt aus der Speichervorrichtung und außerhalb des nichtflüchtigen Cache-Speichers zu löschen, wenn der Cache-Speicher-Löschen-Befehl nicht mit dem Sicherheitsschlüssel authentifiziert ist.
  15. Das computerlesbare Programm in einem computerlesbarem Medium gemäß Anspruch 13, bei dem der Cache-Speicher-Löschen-Befehl von zumindest einem Element aus der Gruppe, die eine Rechenmaschine, die mit der Speichervorrichtung gekoppelt ist, und eine weitere Vorrichtung, die mit der Rechenmaschine gekoppelt ist, umfasst, empfangen wird.
DE112010005347T 2010-04-12 2010-04-12 Nichtflüchtiger Cache-Speicher Ceased DE112010005347T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/030751 WO2011129808A1 (en) 2010-04-12 2010-04-12 Non-volatile cache

Publications (1)

Publication Number Publication Date
DE112010005347T5 true DE112010005347T5 (de) 2012-12-13

Family

ID=44798925

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010005347T Ceased DE112010005347T5 (de) 2010-04-12 2010-04-12 Nichtflüchtiger Cache-Speicher

Country Status (5)

Country Link
US (1) US9535835B2 (de)
CN (1) CN102844745A (de)
DE (1) DE112010005347T5 (de)
GB (1) GB2491774B (de)
WO (1) WO2011129808A1 (de)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110293A (ja) * 1997-09-29 1999-04-23 Mitsubishi Electric Corp 不揮発性メモリ制御回路
JP2000010866A (ja) * 1998-06-24 2000-01-14 Seiko Epson Corp 不揮発性記憶装置を有する印刷装置、その制御方法、および、情報記録媒体
JP2001036895A (ja) * 1999-07-16 2001-02-09 Fuji Photo Film Co Ltd インターホン装置
US6407949B1 (en) * 1999-12-17 2002-06-18 Qualcomm, Incorporated Mobile communication device having integrated embedded flash and SRAM memory
US6529416B2 (en) 2000-11-30 2003-03-04 Bitmicro Networks, Inc. Parallel erase operations in memory systems
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7213085B2 (en) 2002-11-15 2007-05-01 Microsoft Corporation Use of a media cache for subsequent copying acceleration
US7299379B2 (en) * 2003-06-27 2007-11-20 Intel Corporation Maintaining cache integrity by recording write addresses in a log
US7340593B2 (en) 2004-04-09 2008-03-04 Dell Products L.P. Hard drive reset cache
US7644239B2 (en) * 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
KR100744122B1 (ko) 2006-01-12 2007-08-01 삼성전자주식회사 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치
US7613891B2 (en) * 2006-05-04 2009-11-03 Intel Corporation Methods and apparatus for providing a read access control system associated with a flash device
US7594073B2 (en) * 2006-09-29 2009-09-22 Intel Corporation Method and apparatus for caching memory content on a computing system to facilitate instant-on resuming from a hibernation state
US7836269B2 (en) * 2006-12-29 2010-11-16 Spansion Llc Systems and methods for access violation management of secured memory
US8495276B2 (en) * 2007-10-12 2013-07-23 HGST Netherlands B.V. Power saving optimization for disk drives with external cache
JP5113537B2 (ja) * 2008-01-16 2013-01-09 株式会社日立製作所 計算機システム、管理計算機及びデータ管理方法
US8332604B2 (en) 2008-09-30 2012-12-11 Intel Corporation Methods to securely bind an encryption key to a storage device

Also Published As

Publication number Publication date
CN102844745A (zh) 2012-12-26
GB2491774A (en) 2012-12-12
US9535835B2 (en) 2017-01-03
WO2011129808A1 (en) 2011-10-20
GB201217609D0 (en) 2012-11-14
US20130067149A1 (en) 2013-03-14
GB2491774B (en) 2018-05-09

Similar Documents

Publication Publication Date Title
DE112014000251T5 (de) Echtzeitklassifizierung von Daten in Datenkomprimierungsdomänen
DE102010037291A1 (de) Datenspeichervorrichtung mit Verschlüsselung und Verfahren dafür
US20220269671A1 (en) Generalized Verification Scheme For Safe Metadata Modification
DE112009004563T5 (de) Bios-bild-verwalter
JP2006134261A5 (de)
DE112014001363T5 (de) Verfahren, Vorrichtung und computer-lesbares Medium zum Datentokenisieren
DE102010053282A1 (de) Modifizierter B+ Baum zum Speichern von Nand-Speicher Umleitungszuordnungen
CN112052441B (zh) 基于人脸识别的固态硬盘的数据解密方法、电子设备
CN107992504A (zh) 一种文件处理方法及装置
US8903804B2 (en) Data existence judging device and data existence judging method
CN100447765C (zh) 一种移动存储设备的映射方法
CN107302676A (zh) 一种录像存储方法、***、芯片、存储装置及行车记录仪
KR20090064699A (ko) 증거 수사를 위한 디지털 포렌식 서버 및 그 방법
WO2011107319A2 (de) Verfahren zum verifizieren eines speicherblocks eines nicht-flüchtigen speichers
KR101476030B1 (ko) 정보 기억 장치, 정보 기억 장치 제어 방법 및 기록 매체
DE202015009482U1 (de) System einer Festplattenvollverschlüsselung mit Prüfung der Kompatibilität der Boot-Platte
DE112012004308B4 (de) Verfahren, System, Vermittlungsserver, Client und Computerprogramm zum Löschen von Daten zum Aufrechterhalten einer Sicherungsstufe
DE102010038179A1 (de) Individuelle Aktualisierung von Computerprogrammen
DE112010005347T5 (de) Nichtflüchtiger Cache-Speicher
DE102022211513A1 (de) System und Verfahren zum Verarbeiten einer Datensubjekt-Rechteanforderung unter Verwendung von biometrischem Datenabgleich
US20160259798A1 (en) Polymorphic application of policy
DE112021000149T5 (de) Verschlüsselung einer datenspeicherungsvorrichtung
CN108304563A (zh) 图片处理方法、装置及设备
DE102007025212A1 (de) Datenschutzsystem zur Kontrolle eines Dateneintrittspunktes
DE112017008201B4 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final