DE112006003504T5 - Detektion von Cachespeicher-Disassoziierung - Google Patents

Detektion von Cachespeicher-Disassoziierung Download PDF

Info

Publication number
DE112006003504T5
DE112006003504T5 DE112006003504T DE112006003504T DE112006003504T5 DE 112006003504 T5 DE112006003504 T5 DE 112006003504T5 DE 112006003504 T DE112006003504 T DE 112006003504T DE 112006003504 T DE112006003504 T DE 112006003504T DE 112006003504 T5 DE112006003504 T5 DE 112006003504T5
Authority
DE
Germany
Prior art keywords
storage device
cache
turned
booted
expected value
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
DE112006003504T
Other languages
English (en)
Inventor
Knut S. Forest Grove Grimsrud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112006003504T5 publication Critical patent/DE112006003504T5/de
Ceased legal-status Critical Current

Links

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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/211Optical disk storage
    • G06F2212/2112Optical disk storage with a removable carrier, e.g. DVD
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Pinball Game Machines (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren, das folgendes umfasst:
Vergleichen einer Anzahl, wie oft ein Speichergerät eingeschaltet worden ist, und/oder einer Anzahl, wie oft ein Speichergerät hochgefahren worden ist, mit einem erwarteten Wert und
Detektieren einer Cachespeicher-Disassoziierung in Reaktion auf das Vergleichen.

Description

  • TECHNISCHES GEBIET
  • Die Erfindungen betreffen die Detektion von Cachespeicher-Disassoziierung im Allgemeinen.
  • ALLGEMEINER STAND DER TECHNIK
  • Cachespeicher ist typischerweise Direktzugriffsspeicher (Random Access Memory, RAM), auf den ein Computerprozessor schneller als auf regulären RAM zugreifen kann. Beispielsweise können Daten, auf die vor kurzem zugegriffen wurde, und/oder Daten, auf die häufig zugegriffen wurde, im Cachespeicher gespeichert sein. Sowie der Prozessor Daten verarbeitet und Daten aus dem regulären größeren RAM braucht, sieht er zuerst im Cachespeicher nach, um zu ermitteln, ob die Daten im Cachespeicher sind. Sind sie im Cachespeicher, braucht der Prozessor keinen zeitaufwendigeren Lesevorgang auszuführen, um auf Daten aus dem größeren Speicher zuzugreifen. In ähnlicher Weise kann Cachespeicher auch verwendet werden, um schnelleren Zugriff auf Daten bereitzustellen, die auf einem Massenspeichergerät, wie z. B. einem Plattenlaufwerk, einem optischen Laufwerk, einem Bandlaufwerk usw. gespeichert sind. Beispielsweise ist vorgeschlagen worden, Plattenlaufwerke mit Flash-Speicher als Teil einer nichtflüchtigen (non-volatile, NV-)Cachespeicher-Lösung in solch einer Art und Weise zu ergänzen, dass der Cachespeicher (beispielsweise nichtflüchtiger Flash-Speicher) im Plattenlaufwerk selbst beinhaltet sein würde.
  • Man nimmt an, dass es eine bessere Lösung als das Bereitstellen eines Cachespeichers als Teil des Massenspeichergerätes (beispielsweise eines Festplattenlaufwerkes) ist, einen nichtflüchtigen (NV-)Cachespeicher bereitzustellen, der plattformbasierte Technologie verwendet. Ein Beispiel einer plattformbasierten Cachespeicher-Lösung ist es, einen Cachespeicher bereitzustellen, der nicht Teil des Massenspeichergerätes ist, sondern auf der Host-Plattform beinhaltet ist. Das Konsolidieren des Cachespeichers in der Plattform (statt beispielsweise viele kleinere Cachespeicher auf jedem Speichergerät zu haben) erlaubt es dem einen konsolidierten Cachespeicher, allen Speichergeräten zu Diensten zu sein. Ferner kann dadurch, dass er enger in die Plattform integriert ist, der Cachespeicher mit nichtflüchtiger Speicherung auch einfacher für andere Plattformdienste verwendet werden (beispielsweise gemeinsam mit dem BIOS genutzt werden usw.). Ein früher vorgebrachtes Argument, warum eine derartige plattformbasierte Lösung keine attraktive Alternative sei, ist, weil der nichtflüchtige Cachespeicher vom Massenspeichergerät (beispielsweise einem Plattenlaufwerk) getrennt werden kann. Diese Trennung zwischen dem Cachespeicher und dem Speichergerät wird als Cachespeicher-Disassoziierung bezeichnet. Beispielsweise kann das Speichergerät von einer Plattform zu einer anderen Plattform und dann zur ursprünglichen Plattform zurück umgesetzt werden, oder es könnte durch ein unterschiedliches Betriebssystem (Operating System, OS) (beispielsweise Linux) auf einer Plattform auf das Speichergerät zugegriffen werden und dann wieder durch das erste Betriebssystem (OS) (beispielsweise Windows) zugegriffen werden. In einem derartigen Szenarium besteht ein Potential beispielsweise für Plattenlaufwerks-Korruption und/oder inkohärente Cachespeicher-Inhalte, wenn die Disassoziierung und/oder Neuassoziierung zwischen dem Speichergerät und der Plattform auftritt.
  • Eine frühere Lösung für die Detektion von Cachespeicher-Disassoziierung besteht für die Inhalte des Plattenlaufwerks darin, in derartiger Weise gescramblet zu werden, dass, würde das Laufwerk zu einem unterschiedlichen System (einer unterschiedlichen Plattform) verbracht werden, es ohne spezielle Hilfsmittel zum Entscramblen der Inhalte nicht funktionieren würde. Disassoziierung wurde detektiert, wenn die Laufwerksinhalte nicht wie erwartet gescramblet waren. Diese Art von Lösung schafft jedoch neue Behinderungen und erfordert spezielle Hilfsmittel zum Handhaben typischer Wartungsverfahren der Informationstechnologie (IT). Beispielsweise kann, wenn ein Laptop fehlerhaft ist, ein IT-Techniker wünschen, die Festplatte in ein neues Leihlaptop umzusetzen, während das Originallaptop gewartet wird. Die zusätzlichen neuen Hilfsmittel und Verfahren, welche durch die oben beschriebene frühere Lösung erforderlich sind, machen ein derartiges Umsetzen zu einem viel mühsameren Vorgang. Daher ist Bedarf entstanden, in einer Art und Weise zu detektieren, ob Cachespeicher-Disassoziierung aufgetreten ist, welche diese lästigen Anforderungen beseitigt und beim Detektieren von Disassoziierung gleichermaßen zuverlässig ist. Würde Cachespeicher-Disassoziierung detektiert werden, dann könnten Schritte unternommen werden, um die Cachespeicher-Kohärenz zweckentsprechend wiederherzustellen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindungen werden vollständiger anhand der unten angegebenen ausführlichen Beschreibung und der beiliegenden Zeichnungen einiger Ausführungsformen der Erfindungen verständlich, die jedoch nicht genommen werden sollten, um die Erfindungen auf die beschriebenen spezifischen Ausführungsformen zu begrenzen, sondern nur der Erläuterung und dem Verständnis dienen.
  • 1 stellt ein System dar, das Cachespeicher-Disassoziierung detektiert, gemäß einigen Ausführungsformen der Erfindungen.
  • 2 stellt eine Erläuterung eines Speichergerätes dar, das zwischen Plattformen verbracht wird, gemäß einigen Ausführungsformen der Erfindungen.
  • 3 stellt ein Flussdiagramm dar, das die Detektion von Cachespeicher-Disassoziierung zeigt, gemäß einigen Ausführungsformen der Erfindungen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Einige Ausführungsformen der Erfindungen betreffen die Detektion von Cachespeicher-Disassoziierung.
  • In einigen Ausführungsformen wird ein erwarteter Wert mit einer Anzahl verglichen, wie oft ein Speichergerät eingeschaltet und/oder hochgefahren worden ist. In Reaktion auf das Vergleichen wird eine Cachespeicher-Disassoziierung detektiert.
  • In einigen Ausführungsformen beinhaltet ein System eine Plattform, die einen Cachespeicher, ein Speichergerät, das mit der Plattform gekoppelt ist, einen Komparator zum Vergleichen einer Anzahl, wie oft das Speichergerät hochgefahren und/oder eingeschaltet worden ist, mit einem erwarteten Wert und einen Detektor zum Detektieren einer Disassoziierung zwischen dem Cachespeicher und dem Speichergerät in Reaktion auf eine Ausgabe des Komparators beinhaltet.
  • In einigen Ausführungsformen beinhaltet eine Vorrichtung einen Komparator zum Vergleichen einer Anzahl, wie oft ein Speichergerät hochgefahren worden ist, und/oder einer Anzahl, wie oft das Speichergerät eingeschaltet worden ist, mit einem erwarteten Wert und einen Detektor zum Detektieren einer Cachespeicher-Disassoziierung in Reaktion auf eine Ausgabe des Komparators.
  • In einigen Ausführungsformen beinhaltet ein Gegenstand ein computerlesbares Medium, das Befehle darauf aufweist, die, wenn sie ausgeführt werden, einen Computer veranlassen, eine Anzahl, wie oft ein Speichergerät eingeschaltet und/oder hochgefahren worden ist, mit einem erwarteten Wert zu vergleichen und in Reaktion auf den Vergleich eine Cachespeicher-Disassoziierung zu detektieren.
  • Cachespeicher-Disassoziierung kann gemäß einigen Ausführungsformen auftreten, wenn ein Speichergerät, wie z. B. ein Plattenlaufwerk, in einer Umgebung gestartet wird, in der der Cachespeicher (beispielsweise nichtflüchtiger Cachespeicher oder NV-Cachespeicher) und das Speichergerät (beispielsweise ein Plattenlaufwerk) physikalisch und/oder logisch getrennt sind. Dies kann beispielsweise durch Starten unter einem unterschiedlichen Betriebssystem (OS), das nicht cachespeicherbewusst ist, auf derselben Plattform (logische Trennung) und/oder durch Starten des Laufwerkes auf einer unterschiedlichen physikalischen Plattform (physikalische Trennung) und/oder durch Starten unter demselben OS, aber in einer Situation auftreten, in der der Cachespeicher-Gerätetreiber aus irgendeinem Grunde nicht im OS geladen ist (logische Trennung). In einer derartigen Situation wird das Speichergerät vom Cachespeicher getrennt, beispielsweise durch eine physikalische Trennung zu einer unterschiedlichen physikalischen Plattform und/oder durch eine logische Trennung zu einer unterschiedlichen Betriebsumgebung, die den Cachespeicher und das Speichergerät nicht kohärent hält.
  • Gemäß einigen Ausführungsformen kann ein Speichergerät (beispielsweise ein Festplattenlaufwerk) nicht mit dem nichtflüchtigen Cachespeicher inkohärent gemacht werden, ohne dass das Speichergerät eingeschaltet und/oder hochgefahren wird, da die Inhalte des Speichergerätes nicht geändert werden können, ohne dass zuerst ein Einschalten oder Hochfahren des Speichergerätes geschieht. Beispielsweise könnte gemäß einigen Ausführungsformen, wenn das Speichergerät (beispielsweise ein Festplattenlaufwerk) zu unterschiedlichen Systemen umherverbracht werden würde, ohne das Speichergerät zuerst einzuschalten, tatsächlich keine Disassoziierung geschehen sein, da die Inhalte des Speichergerätes nicht geändert worden sein können.
  • Gemäß einigen Ausführungsformen ist es möglich, da Cachespeicher-Disassoziierung direkt im Zusammenhang mit Starten in einer unterschiedlichen Umgebung steht, durch Ermitteln der Anzahl, wie oft die das Laufwerk gestartet oder hochgefahren worden ist (beispielsweise der Anzahl, wie oft das Laufwerk Start- und/oder Stopzyklen hatte) und/oder der Anzahl, wie oft das Laufwerk eingeschaltet worden ist (beispielsweise der Anzahl von Malen, in der Strom an das Laufwerk gelegt worden ist) zu detektieren, wann dies aufgetreten ist, und dann zu verifizieren, dass diese Anzahl mit der übereinstimmt, die der Cachespeicher-Manager (beispielsweise der Cachespeicher-Gerätetreiber) als Anzahl erwartet. Gemäß einigen Ausführungsformen ist es wichtig, dass dies in einer Weise erfolgt, die keine Zusammenarbeit der anderen Betriebsumgebungen erfordert, da das detektierende Gerät wahrscheinlich keine Kontrolle darüber hat, was jene anderen Betriebsumgebungen tun könnten.
  • Gemäß einigen Ausführungsformen kann die Systemüberwachungs- und Statusmeldungs-Technologie (System Monitoring and Reporting Technology, SMART) verwendet werden. SMART ist eine Technologie, die von ATA-Plattenlaufwerken (sowohl regulären parallelen ATA-Plattenlaufwerken als auch modernen Serial-ATA-Plattenlaufwerken) verwendet wird. Die SMART-Technologie wird typischerweise zu Zwecken der prädiktiven Fehleranalyse und Diagnose verwendet. Zu den Parameter, zu deren Aufzeichnung innerhalb des Plattenlaufwerks die SMART-Technologie verwendet werden kann, zählen die Anzahl, wie oft das Laufwerk über die Lebensdauer des Laufwerks hochgefahren und/oder eingeschaltet worden ist. ATA-Plattenlaufwerke (reguläre parallele ATA-Plattenlaufwerke und Serial-ATA-Plattenlaufwerke) führen üblicherweise einen SMART-Parameter, der die Anzahl von Malen aufzeichnet, die das Plattenlaufwerksgerät über die Lebensdauer des Plattenlaufwerks eingeschaltet und/oder hochgefahren worden ist. Solang das Laufwerk dem Cachespeicher (beispielsweise NV-Cachespeicher) assoziiert bleibt, kann beispielsweise der Cachespeichertreiber den Wert dieses SMART-Parameters bei jedem Einschalten und/oder Hochfahren aufzeichnen und erwarten, dass jene Anzahl einen Wert aufweist, der um eins größer als der vorher aufgezeichnete Wert ist. Gemäß einigen Ausführungsformen werden die Seriennummer des Laufwerkes und/oder ein GUID (Global Unique Identfier, globaler eindeutiger Identifikator) und/oder andere Identifizierungsmerkmale ebenfalls abgeglichen, um sicherzustellen, dass es sich um dasselbe Laufwerk handelt. Gemäß einigen Ausführungsformen ist, wenn der SMART-Einschalt- und/oder -Hochfahrwert größer als der um eins erhöhte vorher aufgezeichnete Wert ist, das Laufwerk dann in einer Umgebung eingeschaltet und/oder hochgefahren worden, in welcher der Treiber das Auftreten des Einschaltens und/oder Hochfahrens nicht aufzeichnete. Der Cachespeichertreiber (und/oder Cachespeicher-Manager) kann dann eine Annahme des schlechtesten Falles treffen, dass das Laufwerk in einer unterschiedlichen Umgebung eingeschaltet und/oder hochgefahren worden ist und möglicherweise modifiziert worden ist, womit die Inhalte des Cachespeichers fehlerverdächtig gemacht worden sind. Daher ist eine Detektion von Cachespeicher-Disassoziierung erfolgt.
  • Gemäß einigen Ausführungsformen ist der Hochfahrwert und/oder der Einschaltwert hier als um „eins" größer usw. beschrieben worden. Obgleich dies in einigen Ausführungsformen wahr ist, ist es nicht bei allen Ausführungsformen wahr. Gemäß einigen Ausführungsformen kann die erwartete Anzahl (der erwartete Wert) jedweder Wert sein (beispielsweise eine bekannte und feste Zahl oder ein bekannter und fester Zunahmewert). Gemäß einigen Ausführungsformen kann beispielsweise das System im Prozess eines normalen Ausschaltens eine Operation durchführen, die beispielsweise das Erhöhen der Hochfahr- und/oder Einschaltanzahl zur Folge hat, so dass der erwartete Wert beim nächsten Einschalten im Normalfall um zwei größer ist. Gemäß einigen Ausführungsformen ist der erwartete Wert (und/oder Zunahmewert) irgendein vorgegebener und bekannter fester Wert. Beispielsweise könnte gemäß einigen Ausführungsformen ein fester Zunahmewert typischerweise eins sein, muss aber nicht gezwungenermaßen eins sein und könnte in einigen vorgegebenen Fällen (und/oder in einigen vorgegebenen Systemen) irgendein anderer Wert sein.
  • Gemäß einigen Ausführungsformen erfolgt die Detektion (beispielsweise durch einen Cachespeicher-Manager und/oder einen Cachespeicher-Gerätetreiber) dahin gehend, ob ein Laufwerk in einer unterschiedlichen Umgebung eingeschaltet und/oder hochgefahren worden ist (beispielsweise auf einer unterschiedlichen Plattform oder auf derselben Plattform, aber ohne geladenen Treiber). Gemäß einigen Ausführungsformen erfolgt diese Detektion durch Prüfen des SMART-Parameters, um zu ermitteln, wie viele Male das Speichergerät (beispielsweise ein Plattenlaufwerk) hochgefahren (beispielsweise gestartet) worden ist und/oder eingeschaltet worden ist und/oder eine Kombination dessen, wie viele Male das Speichergerät hochgefahren und/oder eingeschaltet worden ist. Steht die Anzahl von Malen nicht im Einklang mit einer erwarteten Anzahl (beispielsweise der Anzahl, die durch einen Cachespeicher-Manager und/oder einen Cachespeicher-Gerätetreiber erwartet wird), dann erfolgt eine Detektion von Cachespeicher-Disassoziierung. Beispielsweise weiß in einigen Ausführungsformen, wenn der Cachespeicher-Manager und/oder Cachespeicher-Gerätetreiber ermittelt, dass die erwartete Anzahl von der Anzahl verschieden ist, die vom Speichergerät bereitgestellt wird (beispielsweise der SMART-Parameter), der Manager und/oder Treiber dann, dass das Speichergerät in einer Umgebung gestartet, eingeschaltet und/oder hochgefahren usw. worden ist, in welcher der assoziierte Manager/Treiber nicht geladen war (beispielsweise entweder physikalische Trennung oder logische Trennung), und kann notwendige Schritte zum Wiederherstellen und Ungültigmachen jedweder inkohärenter Cachespeicherdaten unternehmen.
  • Gemäß einigen Ausführungsformen wird ein SMART-Parameter (beispielsweise eines ATA-Plattenlaufwerkes wie z. B. eines parallelen ATA-Plattenlaufwerkes, eines Serial-ATA-Plattenlaufwerkes usw.) verwendet, um einen erwarteten Zählwert und/oder eine Zunahme eines erwarteten Zählwertes zu erlangen. Jedoch ist gemäß einigen Ausführungsformen kein SMART-Parameter notwendig. Gemäß einigen Ausführungsformen kann ein anderes Verfahren zum Erlangen eines erwarteten Wertes als mit Hilfe eines SMART-Parameters verwendet werden. Gemäß einigen Ausführungsformen kann jedwede Art von Zählung einer Anzahl von Speichergerät-Hochfahr- und/oder -Einschaltvorgängen verwendet werden.
  • Gemäß einigen Ausführungsformen ist es möglich, sobald Disassoziierung detektiert worden ist, mit Schritten zu beginnen, die notwendig sind, um zu garantieren, dass keine Korruption (beispielsweise Laufwerkskorruption) in Bezug auf das Speichergerät auftritt. Beispielsweise kann basierend auf einer Detektion, dass Disassoziierung aufgetreten ist, ein Cachespeicher-Gerätetreiber die Möglichkeit von Speichergerätekorruption (beispielsweise Laufwerkskorruption) und/oder inkohärenten Cachespeicherinhalten beseitigen, wenn Disassoziierung und/oder Neuassoziierung aufgetreten sind. Gemäß einigen Ausführungsformen können, sobald Disassoziierung detektiert worden ist, jedwede inkohärenten Cachespeicherdaten wiederhergestellt und/oder ungültig gemacht werden.
  • Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig in Software durchgeführt. Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig in Firmware durchgeführt. Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig in Software und/oder in Firmware durchgeführt. Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig in Hardware (und/oder in Software und/oder Firmware) durchgeführt. Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig innerhalb von Treiberalgorithmen durchgeführt, die zum Verwalten eines plattformbasierten Cachespeichers (beispielsweise eines nichtflüchtigen Cachespeichers) verwendet werden.
  • Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig innerhalb eines Cachespeicher-Managers durchgeführt. Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig innerhalb eines Cachespeicher-Gerätetreibers durchgeführt (der beispielsweise in ein Betriebssystem geladen ist). Gemäß einigen Ausführungsformen ist die Detektion von Cachespeicher-Disassoziierung als Teil der Tätigkeit eines Betriebssystems (OS) integriert. Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig innerhalb eines Chipsatzes durchgeführt. Gemäß einigen Ausführungsformen wird die Detektion von Cachespeicher-Disassoziierung teilweise oder vollständig innerhalb eines Prozessors durchgeführt.
  • 1 stellt ein System 100 dar, das Cachespeicher-Disassoziierung detektiert, gemäß einigen Ausführungsformen. System 100 beinhaltet ein Speichergerät 102, einen Cachespeicher 104 und ein Betriebssystem (OS) 106. OS 106 beinhaltet einen Cachespeicher-Gerätetreiber 108, der verwendet werden kann, um Detektion von Disassoziierung zwischen dem Speichergerät 102 und dem Cachespeicher 104 durchzuführen, gemäß einigen Ausführungsformen. Gemäß einigen Ausführungsformen detektiert Cachespeicher-Gerätetreiber 108, ob ein Laufwerk in einer unterschiedlichen Umgebung eingeschaltet und/oder hochgefahren worden ist (beispielsweise auf einer unterschiedlichen Plattform oder auf derselben Plattform, aber ohne geladenen Treiber). Gemäß einigen Ausführungsformen sind Cachespeicher 104 und OS 106 Teil einer Computerplattform (oder eines Computersystems). Gemäß einigen Ausführungsformen kann Cachespeicher 104 beispielsweise ein nichtflüchtiger (NV-)Direktzugriffsspeicher (RAM) auf einer Hauptplatine sein. In einigen Ausführungsformen ist der Cachespeicher 104 nichtflüchtiger Cachespeicher. In einigen Ausführungsformen ist der Cachespeicher 104 nichtflüchtiger RAM. In einigen Ausführungsformen ist der Cachespeicher 104 Flash-Speicher. Der Cachespeicher-Gerätetreiber 108 kann detektieren, ob das Speichergerät 102 in einer vom OS 106 verschiedenen Umgebung eingeschaltet (beispielsweise gestartet) und/oder hochgefahren worden ist. Dies wird durch Ermitteln der Anzahl, wie oft das Speichergerät 102 eingeschaltet und/oder hochgefahren worden ist, und Verifizieren implementiert, dass diese Zahl mit einem Wert übereinstimmt, den der Cachespeicher-Manager erwartet, der im Cachespeicher-Gerätetreiber 108 beinhaltet ist. Beispielsweise kann dies mit Hilfe von SMART-Technologie implementiert werden, die typischerweise zu Zwecken der prädiktiven Fehleranalyse und Diagnose für das Speichergerät verwendet wird. Auf diese Art und Weise kann der Cachespeicher-Gerätetreiber 108 beispielsweise ermitteln, ob das Speichergerät auf einer unterschiedlichen Plattform, auf einem unterschiedlichen OS und/oder auf derselben Plattform, aber ohne geladenen Cachespeicher-Gerätetreiber eingeschaltet und/oder hochgefahren worden ist. Obgleich der Cachespeicher-Gerätetreiber 108 in 1 als in das OS 106 geladen dargestellt worden ist, ist er in einigen Ausführungsformen nicht auf ein OS begrenzt. Darüber hinaus kann in einigen Ausführungsformen die Funktionalität des Cachespeicher-Gerätetreibers 108 auf andere Weisen implementiert sein (beispielsweise in einem Cachespeicher-Manager, der Teil eines Cachespeicher-Gerätetreibers ist, in einem Cachespeicher-Manager, der kein Teil eines Cachespeicher-Gerätetreibers ist, in Software, in Firmware und/oder in Hardware usw.).
  • 2 stellt eine bildhafte Erläuterung 200 eines Speichergerätes 202 dar, das zwischen Systemen 204 und 206 verbracht wird, gemäß einigen Ausführungsformen der Erfindungen. Die obere Reihe in 2 stellt Speichergerät 202 dar, das innerhalb von System 204 resident ist. Wenn System 204 eingeschaltet und/oder hochgefahren wird, wird ein Wert inkrementiert. Beispielsweise wird gemäß einigen Ausführungsformen ein Wert wie z. B. ein SMART-Parameter (beispielsweise eine SMART-Hochfahranzahl und/oder eine SMART-Einschaltanzahl) inkrementiert (beispielsweise auf „500", wenn dies das 500-ste Mal ist, dass das Speichergerät 202 eingeschaltet und/oder hochgefahren worden ist). Die zweite Reihe in 2 stellt das Speichergerät 202 dar, wie es aus System 204 entfernt und in System 206 eingesetzt wird. Sobald das Speichergerät 202 in System 206 eingeschaltet und/oder hochgefahren wird, wird der SMART-Parameter (beispielsweise eine SMART-Hochfahranzahl und/oder eine SMART-Einschaltanzahl) inkrementiert (beispielsweise auf „501", da es nun das 501-ste Mal ist, dass das Speichergerät 202 eingeschaltet und/oder hochgefahren worden ist). Die untere Reihe in 2 stellt das Speichergerät 202 dar, wie es aus System 206 entfernt und zurück in System 204 eingesetzt wird. Sobald das Speichergerät 202 dann in System 204 eingeschaltet und/oder hochgefahren wird, wird der SMART-Parameter des Speichergerätes 202 (beispielsweise eine SMART-Hochfahranzahl und/oder SMART-Einschaltanzahl) inkrementiert (beispielsweise auf „502", da es nun das 502-te Mal ist, dass das Speichergerät 202 eingeschaltet und/oder hochgefahren worden ist). Gemäß einigen Ausführungsformen wird ein Mechanismus zur Detektion von Cachespeicher-Disassoziierung verwendet (der beispielsweise teilweise oder vollständig innerhalb eines Cachespeicher-Gerätetreibers wie z. B. des Cachespeicher-Gerätetreibers 108 implementiert ist, der in 1 dargestellt ist), um den SMART-Parameter (502) mit einem erwarteten Wert zu vergleichen (beispielsweise einem Wert, der innerhalb der Plattform 204 gespeichert ist). In dem Beispiel, das in 2 dargestellt ist, wäre beispielsweise der erwartete Wert gleich „501" (das heißt, um eins größer als der SMART-Parameter von 500 vom letzten Mal, dass Speichergerät 202 innerhalb der Plattform 204 eingeschaltet und/oder hochgefahren wurde). Der Detektionsmechanismus (oder Detektor) würde einen Vergleichsmechanismus (oder Komparator) beinhalten, um den SMART-Parameter von Speichergerät 202 (das heißt, die „502") mit dem erwarteten Wert von „501" (beispielsweise um eins größer als „500") zu vergleichen, und der Detektor würde Cachespeicher-Disassoziierung detektieren, da der erwartete Wert und der tatsächliche SMART-Parameter nicht übereinstimmen.
  • 3 stellt ein Flussdiagramm 300 dar, das die Detektion von Cachespeicher-Disassoziierung zeigt, gemäß einigen Ausführungsformen. Bei 302 führt das Flussdiagramm 300 eine Ermittlung durch, ob ein Speichergerät (wie z. B. ein Plattenlaufwerk) eingeschaltet und/oder hochgefahren worden ist. Falls nicht, dann kehrt der Fluss zu 302 zurück, um zu warten, bis das Speichergerät eingeschaltet und/oder hochgefahren worden ist. Sobald 302 ermittelt, dass das Speichergerät eingeschaltet und/oder hochgefahren worden ist, wird dann bei 304 eine erwartete Anzahl inkrementiert. Bei 306 wird eine Ermittlung dahingehend durchgeführt, ob die inkrementierte erwartete Anzahl gleich einer SMART-Anzahl des Speichergerätes ist (beispielsweise einem SMART-Parameter oder irgendeiner anderen Zahl, welche eine Anzahl von Malen identifiziert, die das Speichergerät eingeschaltet und/oder hochgefahren worden ist) oder nicht. Ist bei 306 die inkrementierte erwartete Anzahl gleich der Zahl, die mit der Anzahl von Malen assoziiert ist, die der Speicher sich eingeschaltet hat und/oder hochgefahren ist (beispielsweise dem SMART-Parameter), dann tritt bei 308 normaler Betrieb des Speichergerätes auf. Ist bei 306 die inkrementierte erwartete Anzahl nicht gleich der Zahl, die mit dem Speichergerät assoziiert ist, dann wird bei 310 eine Anzeige der Cachespeicher-Disassoziierung bereitgestellt. Gemäß einigen Ausführungsformen werden, sobald eine Anzeige einer Cachespeicher-Disassoziierung bereitgestellt worden ist (wie beispielsweise bei 310), dann Operationen zum Beseitigen der Möglichkeit von Speichergerätekorruption und inkohärenten Cachespeicherinhalten durchgeführt (beispielsweise, wenn Disassoziierung/Neuassoziierung auftritt). In einigen Ausführungsformen kann das Flussdiagramm 300 einen Schritt zum Vergleichen einer identifizierenden Eigenschaft des Speichergerätes beinhalten (beispielsweise einer Seriennummer des Speichergerätes und/oder anderer Identifizierungsmerkmale des Speichergerätes), um sicherzustellen, dass die richtigen Speichergeräteparameter verglichen werden (das heißt, beispielsweise der erwartete Wert und der SMART-Parameter, die beide mit demselben Speichergerät assoziiert sind). Dieser zusätzliche Vergleich (oder Komparator), um zu identifizieren, dass auf dasselbe und richtige Speichergerät Bezug genommen wird, könnte beispielsweise vor 302 in Flussdiagramm 300 beinhaltet sein. In verschiedenen Ausführungsformen kann der Arbeitsablauf des Flussdiagramms 300 teilweise oder vollständig in Software, Firmware und/oder Hardware implementiert sein. In einigen Ausführungsformen kann der Arbeitsablauf des Flussdiagramms 300 teilweise oder vollständig in einem Cachespeicher-Manager, in einem Cachespeicher-Gerätetreiber, in einem Chipsatz, irgendwo in derselben Plattform, in welcher der Cachespeicher resident ist, für den die Cachespeicher-Disassoziierung detektiert wird, und/oder in einem Prozessor implementiert sein. Gemäß einigen Ausführungsformen wird der Arbeitsablauf des Flussdiagramms 300 teilweise oder vollständig durch Code durchgeführt, der auf einem Flash-Speicher-Gerät oder -Geräten gespeichert ist.
  • Obgleich einige Ausführungsformen unter Bezug auf ein oder mehrere Festplattenlaufwerke, Plattenlaufwerke, optische Laufwerke, Bandlaufwerke, Massenspeichergeräte usw. beschrieben worden sind und einige dieser Begriffe sogar synonym verwendet worden sein mögen, ist zu beachten, dass verschiedene Ausführungsformen mit jedwedem Typ von Speichergerät oder Speichergeräten implementiert sein können, und die vorliegende Erfindung und/oder Ausführungsformen der vorliegenden Erfindung sollten nicht auf einen bestimmten Typ von Speichergerät oder Speichergeraten begrenzt sein.
  • Obgleich einige Ausführungsformen unter Bezug auf bestimmte Implementierungen beschrieben worden sind, sind gemäß einigen Ausführungsformen andere Implementierungen möglich. Darüber hinaus brauchen die Anordnung und/oder die Reihenfolge von Schaltungselementen oder anderen Merkmalen, die in den Zeichnungen dargestellt und/oder hierin beschrieben sind, nicht in der bestimmten Weise angeordnet sein, die dargestellt und beschrieben ist. Gemäß einigen Ausführungsformen sind viele andere Anordnungen möglich.
  • In jedem System, das in einer Figur gezeigt ist, können die Elemente in manchen Fällen ein jedes dasselbe Bezugszeichen oder ein unterschiedliches Bezugszeichen aufweisen, um nahezulegen, dass die dargestellten Elemente unterschiedlich und/oder ähnlich sein könnten. Jedoch kann ein Element flexibel genug sein, um unterschiedliche Implementierungen aufzuweisen und mit einigen oder allen Systemen zu arbeiten, die hierin gezeigt oder beschrieben sind. Die verschiedenen Elemente, die in den Figuren gezeigt sind, können dieselben oder unterschiedlich sein. Welches als ein erstes Element bezeichnet ist und was ein zweites Element genannt wird, ist willkürlich.
  • In der Beschreibung und den Ansprüchen können die Begriffe „gekoppelt" und „verbunden" zusammen mit ihren Ableitungen verwendet werden. Es sollte sich verstehen, dass diese Begriffe nicht als Synonyme füreinander gedacht sind. Vielmehr kann in bestimmten Ausführungsformen „verbunden" verwendet werden, um anzuzeigen, dass zwei oder mehr Elemente in direktem physikalischen oder elektrischen Kontakt miteinander sind. „Gekoppelt" kann bedeuten, dass zwei oder mehr Elemente in direktem physikalischen oder elektrischen Kontakt sind. Jedoch kann „gekoppelt" auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander sind, aber dennoch miteinander kooperieren oder interagieren.
  • Ein Algorithmus wird hier und im Allgemeinen als selbstkonsistente Abfolge von Vorgängen oder Operationen angesehen, die zu einem gewünschten Ergebnis führt. Diese beinhalten physikalische Manipulationen physikalischer Größen. Üblicher-, aber nicht notwendigerweise nehmen diese Größen die Form elektrischer oder magnetischer Signale an, die in der Lage sind, gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert zu werden. Es hat sich hin und wieder als zweckdienlich erwiesen, vornehmlich aus Gründen der üblichen Verwendung, diese Signale als Bits, Werte, Elemente, Symbole Zeichen, Terme, Zahlen oder dergleichen zu bezeichnen. Es sollte sich jedoch verstehen, dass all diese und ähnliche Begriffe den entsprechenden physikalischen Größen zuzuordnen sind und hauptsächlich praktische Bezeichnungen sind, die auf diese Größen angewendet werden.
  • Einige Ausführungsformen können als eines von oder eine Kombination aus Hardware, Firmware und Software implementiert sein. Einige Ausführungsformen können auch als Befehle implementiert sein, die auf einem maschinenlesbaren Medium gespeichert sind, die durch eine EDV-Plattform gelesen und ausgeführt werden können, um die hierin beschriebenen Operationen durchzuführen. Ein maschinenlesbares Medium kann jedweden Mechanismus zum Speichern oder Übertragen von Informationen in einer Form beinhalten, die durch eine Maschine (z. B. einen Computer) lesbar ist. Beispielsweise kann ein maschinenlesbares Medium Nur-Lese-Speicher (Read Only Memory, ROM); Direktzugriffsspeicher (RAM); Magnetplatten-Speichermedien; optische Speichermedien; Flash-Speicher-Geräte; elektrische, optische, akustische oder eine andere Form sich ausbreitender Signale (z. B. Trägerwellen, Infrarotsignale, Digitalsignale, die Schnittstellen, die Signale senden und/oder empfangen usw.) und andere beinhalten.
  • Eine Ausführungsform ist eine Implementierung oder ein Beispiel der Erfindungen. In der Spezifikation bedeutet der Bezug auf „eine Ausführungsform" (englisch: „an embodiment" oder „one embodiment"), „einige Ausführungsformen" oder „andere Ausführungsformen", dass ein(e) bestimmtes Merkmal, Struktur oder Charakteristik, die in Verbindung mit den Ausführungsformen beschrieben ist, in mindestens einigen Ausführungsformen, aber nicht notwendigerweise allen Ausführungsformen der Erfindungen beinhaltet ist. Die verschiedenen Vorkommen von „einer Ausführungsform" (englisch: „an embodiment" oder „one embodiment") oder „einigen Ausführungsformen" beziehen sich nicht notwendigerweise alle auf dieselben Ausführungsformen.
  • Wenn beispielsweise die Spezifikation darlegt, dass eine Komponente, ein Merkmal, eine Struktur oder eine Charakteristik beinhaltet sein „kann" oder „könnte", ist es nicht erforderlich, dass jene(s) bestimmte Komponente, Merkmal, Struktur oder Charakteristik beinhaltet ist. Wenn sich die Spezifikation oder der Anspruch auf ein Element bezieht, bedeutet dies nicht, dass es nur eines von dem Element gibt. Wenn sich die Spezifikation oder die Ansprüche auf „ein zusätzliches" Element beziehen, schließt dies nicht aus, dass es mehr als eines von dem zusätzlichen Element gibt.
  • Obgleich Flussdiagramme und/oder Zustandsdiagramme hierin verwendet worden sein können, um Ausführungsformen zu beschreiben, sind die Erfindungen nicht auf jene Diagramme oder auf entsprechende Beschreibungen hierin begrenzt.
  • Beispielsweise muss der Fluss nicht durch jedes dargestellte Feld oder jeden dargestellten Zustand oder in exakt derselben Reihenfolge laufen, wie es hierin dargestellt und beschrieben ist.
  • Die Erfindungen sind nicht auf die hierin aufgeführten bestimmten Details beschränkt. Tatsächlich wird der Fachmann auf dem Gebiet, der Nutzen aus dieser Beschreibung zieht, verstehen, dass innerhalb des Umfangs der vorliegenden Erfindungen viele andere Varianten aus der vorangehenden Beschreibung und den Zeichnungen hergestellt werden können. Dementsprechend sind es die folgenden Ansprüche einschließlich jedweder Ergänzungen derselben, die den Umfang der Erfindungen definieren.
  • ZUSAMMENFASSUNG
  • In einigen Ausführungsformen wird ein erwarteter Wert mit einer Anzahl verglichen, wie oft ein Speichergerät eingeschaltet und/oder hochgefahren worden ist. In Reaktion auf das Vergleichen wird eine Cachespeicher-Disassoziierung detektiert. Andere Ausführungsformen werden beschrieben und beansprucht.

Claims (29)

  1. Verfahren, das folgendes umfasst: Vergleichen einer Anzahl, wie oft ein Speichergerät eingeschaltet worden ist, und/oder einer Anzahl, wie oft ein Speichergerät hochgefahren worden ist, mit einem erwarteten Wert und Detektieren einer Cachespeicher-Disassoziierung in Reaktion auf das Vergleichen.
  2. Verfahren nach Anspruch 1, wobei das Vergleichen die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, plus eine Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit dem erwarteten Wert vergleicht.
  3. Verfahren nach Anspruch 1, wobei das Speichergerät ein Massenspeichergerät ist.
  4. Verfahren nach Anspruch 3, wobei das Massenspeichergerät mindestens eines von einem Plattenlaufwerk, einem optischen Laufwerk und einem Bandlaufwerk ist.
  5. Verfahren nach Anspruch 1, wobei das Speichergerät ein Plattenlaufwerk ist und wobei die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, und/oder die Anzahl, wie oft das Speichergerät hochgefahren worden ist, basierend auf einem Systemüberwachungs- und Statusmeldungs-Technologie-Parameter ermittelt wird.
  6. Verfahren nach Anspruch 2, wobei das Speichergerät ein Plattenlaufwerk ist und wobei die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, plus die Anzahl, wie oft das Speichergerät hochgefahren worden ist, basierend auf einem Systemüberwachungs- und Statusmeldungs-Technologie-Parameter ermittelt wird.
  7. Verfahren nach Anspruch 1, das ferner das Bestimmen einer Übereinstimmung zwischen dem Speichergerät und dem erwarteten Wert und das Durchführen des Vergleichens und des Detektierens in Reaktion auf das Ermitteln umfasst.
  8. Verfahren nach Anspruch 7, wobei das Ermitteln einen globalen eindeutigen Identifikator des Speichergerätes mit einem erwarteten globalen eindeutigen Identifikator des Speichergerätes vergleicht.
  9. Verfahren nach Anspruch 7, wobei das Ermitteln eine Seriennummer des Speichergerätes mit einer erwarteten Seriennummer des Speichergerätes vergleicht.
  10. System, das folgendes umfasst: eine Plattform, die einen Cachespeicher beinhaltet; ein Speichergerät, das mit der Plattform gekoppelt ist; einen Komparator zum Vergleichen einer Anzahl, wie oft das Speichergerät hochgefahren worden ist, und/oder einer Anzahl, wie oft das Speichergerät eingeschaltet worden ist, mit einem erwarteten Wert und einen Detektor zum Detektieren einer Disassoziierung zwischen dem Cachespeicher und dem Speichergerät in Reaktion auf eine Ausgabe des Komparators.
  11. System nach Anspruch 10, wobei der Komparator und der Detektor in der Plattform enthalten sind.
  12. System nach Anspruch 10, wobei der Cachespeicher Dateninhalte, auf die häufig zugegriffen wurde, und/oder Dateninhalte, auf die vor kurzem zugegriffen wurde, des Speichergerätes speichert.
  13. System nach Anspruch 10, wobei der Komparator die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, und/oder die Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit dem erwarteten Wert vergleicht.
  14. System nach Anspruch 10, wobei der Komparator die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, plus die Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit dem erwarteten Wert vergleicht.
  15. System nach Anspruch 10, wobei der Cachespeicher ein nichtflüchtiger Cachespeicher ist.
  16. System nach Anspruch 10, wobei der Komparator und der Detektor in einem Flash-Speicher-Gerät enthalten sind.
  17. Vorrichtung, die folgendes umfasst: einen Komparator zum Vergleichen einer Anzahl, wie oft ein Speichergerät hochgefahren worden ist, und/oder einer Anzahl, wie oft das Speichergerät eingeschaltet worden ist, mit einem erwarteten Wert und einen Detektor zum Detektieren einer Cachespeicher-Disassoziierung in Reaktion auf eine Ausgabe des Komparators.
  18. Vorrichtung nach Anspruch 17, wobei der Komparator die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, und/oder die Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit dem erwarteten Wert vergleicht.
  19. Vorrichtung nach Anspruch 17, wobei der Komparator die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, plus die Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit dem erwarteten Wert vergleicht.
  20. Vorrichtung nach Anspruch 17, wobei der Komparator die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, mit dem erwarteten Wert vergleicht und die Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit einem zweiten erwarteten Wert vergleicht.
  21. Vorrichtung nach Anspruch 17, wobei das Speichergerät ein Massenspeichergerät ist.
  22. Vorrichtung nach Anspruch 21, wobei das Massenspeichergerät mindestens eines von einem Plattenlaufwerk, einem optischen Laufwerk und einem Bandlaufwerk ist.
  23. Vorrichtung nach Anspruch 18, wobei das Speichergerät ein Plattenlaufwerk ist und wobei die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, und/oder die Anzahl, wie oft das Speichergerät hochgefahren worden ist, basierend auf einem Systemüberwachungs- und Statusmeldungs-Technologie-Parameter ermittelt wird.
  24. Vorrichtung nach Anspruch 19, wobei das Speichergerät ein Plattenlaufwerk ist und wobei die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, plus die Anzahl, wie oft das Speichergerät hochgefahren worden ist, basierend auf einem Systemüberwachungs- und Statusmeldungs-Technologie-Parameter ermittelt wird.
  25. Vorrichtung nach Anspruch 17, die ferner einen zweiten Komparator zum Ermitteln einer Übereinstimmung zwischen dem Speichergerät und dem erwarteten Wert umfasst, wobei der Komparator und der Detektor durch eine Ausgabe des zweiten Komparators ansprechbar sind.
  26. Gegenstand, der folgendes umfasst: ein computerlesbares Medium, das Befehle darauf aufweist, die, wenn sie ausgeführt werden, einen Computer veranlassen: eine Anzahl, wie oft ein Speichergerät eingeschaltet und/oder hochgefahren worden ist, mit einem erwarteten Wert zu vergleichen und eine Cachespeicher-Disassoziierung in Reaktion auf das Vergleichen zu detektieren.
  27. Gegenstand nach Anspruch 26, wobei das Vergleichen die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, mit dem erwarteten Wert vergleicht.
  28. Gegenstand nach Anspruch 26, wobei das Vergleichen die Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit dem erwarteten Wert vergleicht.
  29. Gegenstand nach Anspruch 26, wobei das Vergleichen die Anzahl, wie oft das Speichergerät eingeschaltet worden ist, plus die Anzahl, wie oft das Speichergerät hochgefahren worden ist, mit dem erwarteten Wert vergleicht.
DE112006003504T 2005-12-23 2006-12-07 Detektion von Cachespeicher-Disassoziierung Ceased DE112006003504T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/317,779 2005-12-23
US11/317,779 US7451353B2 (en) 2005-12-23 2005-12-23 Cache disassociation detection
PCT/US2006/046893 WO2007078588A2 (en) 2005-12-23 2006-12-07 Cache disassociation detection

Publications (1)

Publication Number Publication Date
DE112006003504T5 true DE112006003504T5 (de) 2008-10-30

Family

ID=37954255

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006003504T Ceased DE112006003504T5 (de) 2005-12-23 2006-12-07 Detektion von Cachespeicher-Disassoziierung

Country Status (5)

Country Link
US (1) US7451353B2 (de)
CN (1) CN101346705B (de)
DE (1) DE112006003504T5 (de)
GB (1) GB2445908B (de)
WO (1) WO2007078588A2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
JP4933211B2 (ja) 2006-10-10 2012-05-16 株式会社日立製作所 ストレージ装置、制御装置及び制御方法
US8631203B2 (en) 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US9032151B2 (en) * 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
JP2011118986A (ja) * 2009-12-03 2011-06-16 Hitachi-Lg Data Storage Inc 情報処理装置、及び情報処理装置で用いる光ディスク装置
US8782463B1 (en) * 2011-10-27 2014-07-15 Seagate Technology Llc Restoring a failed storage volume after removal of a storage device from an array

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5623625A (en) * 1995-09-13 1997-04-22 Compaq Computer Corporation Computer network server backup with posted write cache disk controllers
JP3798476B2 (ja) * 1996-08-30 2006-07-19 株式会社東芝 コンピュータシステムおよびそのシステムにおけるキャッシュメモリのパワーダウン制御方法
US6128627A (en) * 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6557077B1 (en) * 2000-07-07 2003-04-29 Lsi Logic Corporation Transportable memory apparatus and associated methods of initializing a computer system having the same
US6983388B2 (en) * 2000-10-25 2006-01-03 Agere Systems Inc. Method and apparatus for reducing leakage power in a cache memory by using a timer control signal that removes power to associated cache lines
US6675264B2 (en) * 2001-05-07 2004-01-06 International Business Machines Corporation Method and apparatus for improving write performance in a cluster-based file system
US20040030850A1 (en) * 2002-08-07 2004-02-12 Gunter Plappert Data preservation
FI20022297A (fi) * 2002-12-31 2004-07-01 Nokia Corp Menetelmä muistikomponenttien sisältöjen vertailemiseksi
US7340652B2 (en) * 2004-04-30 2008-03-04 International Business Machines Corporation Invalidation of storage control unit cache metadata
US7386676B2 (en) * 2005-01-21 2008-06-10 International Buiness Machines Coporation Data coherence system
US8255456B2 (en) * 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US7263581B2 (en) * 2005-03-31 2007-08-28 Inventec Corporation System and method for accessing and verifying the validity of data content stored in the cache memory on disk
US7627713B2 (en) * 2005-12-29 2009-12-01 Intel Corporation Method and apparatus to maintain data integrity in disk cache memory during and after periods of cache inaccessibility

Also Published As

Publication number Publication date
CN101346705A (zh) 2009-01-14
WO2007078588A2 (en) 2007-07-12
CN101346705B (zh) 2012-06-27
GB2445908B (en) 2011-03-23
GB0809452D0 (en) 2008-07-02
GB2445908A (en) 2008-07-23
US20070220210A1 (en) 2007-09-20
WO2007078588A3 (en) 2007-08-30
US7451353B2 (en) 2008-11-11

Similar Documents

Publication Publication Date Title
DE112006003504T5 (de) Detektion von Cachespeicher-Disassoziierung
DE102012215216B4 (de) Verbesserte Erfassung von Speicherauszugsdaten von Hardwareausfallmodi
DE69432878T2 (de) Informationsverarbeitungssystem mit Flash-Speicher und Cache-Speicher
DE69627814T2 (de) System zum bereitstellen eines bios für den hauptrechner
DE69906995T2 (de) Hochlauffehler-wiederherstellung
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE102012109614B4 (de) Verfahren zum Wiederherstellen von Stapelüberlauf- oder Stapelunterlauffehlern in einer Softwareanwendung
DE112012005118T5 (de) Sichern von Firmware während der Initialisierung einer Einheit
DE4026911A1 (de) Computersystem
DE112008001528T5 (de) Multiprozessorsystem und Steuerverfahren hierfür
DE2648229A1 (de) Einschaltkreis als urlader fuer digitalrechner
DE102005022192A1 (de) Automatisch ausgelöster Momentandaten-Speicherauszug für Speichereinheit mit eingebettetem System
DE112012005589T5 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Computerprogramm
DE102015107671A1 (de) Steuerung und Diagnose einer Steuerungs-Wakeup-Funktionalität
DE102006039747A1 (de) Verfahren für Kontextzustandsmanagement
DE202010017644U1 (de) Hybridspeichervorrichtung
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE69934665T2 (de) Vorrichtung und verfahren zum gesicherten schreiben in einem plattencachespeicher für festplatten eines massenspeichersubsystems
DE112013004788T5 (de) Pinning von Boot-Daten zum schnelleren Booten
DE10027359A1 (de) Verfahren und Vorrichtung zur Vorhersage einer Wiederanlaufzeit und Festplattenlaufwerk
DE102019131865A1 (de) Verfahren und vorrichtung zur eigendiagnose der ram-fehlererkennungslogik eines antriebsstrangcontrollers
DE112014005090B4 (de) System und Verfahren zum Einstellen von Auslösepunkten für eine Netzausfallüberprüfung innerhalb eines Speichergeräts
DE102012101189A1 (de) Verfahren zur Bestimmung des Gerätestarts eines elektronischen Geräts und elektronisches Gerät dafür
DE10152530B4 (de) Arbeitsablauffreundliche Firmware-Aktualisierungen für Netzwerkvorrichtungen
DE102019135079A1 (de) Installation von firmware-bundles abbrechen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final