PatentDe  


Dokumentenidentifikation DE102006053181A1 31.05.2007
Titel Vorrichtungen, Anordnung und Verfahren für das Zwischenspeichern von Schreibdaten als Reaktion auf eine Bewegung
Anmelder Lenovo (Singapore) Pte. Ltd., Singapur/Singapore, SG
Erfinder Cromer, Daryl C., Apex, N.C., US;
Locker, Howard J., Cary, N.C., US;
Wong, Tin-Lup, Chapel Hill, N.C., US
Vertreter Schweiger & Partner, 80333 München
DE-Anmeldedatum 09.11.2006
DE-Aktenzeichen 102006053181
Offenlegungstag 31.05.2007
Veröffentlichungstag im Patentblatt 31.05.2007
IPC-Hauptklasse G11B 20/00(2006.01)A, F, I, 20061109, B, H, DE
Zusammenfassung Eine Vorrichtung, eine Anordnung und ein Verfahren für das Zwischenspeichern von Schreibdaten werden offenbart. Ein Bewegungserfassungsmodul nimmt die Bewegung einer bewegungsempfindlichen Datenspeicheranordnung wahr. Ein Lenkungsmodul schreibt Daten in einen Zwischenspeicher, wenn die Bewegung eine Bewegungsschwelle überschreitet. Das Lenkungsmodul schreibt die Daten weiterhin in die bewegungsempfindliche Datenspeicheranordnung, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. In einer Ausführungsform schreibt ein Schreibmodul die Daten vom Zwischenspeicher in die bewegungsempfindliche Datenspeicheranordnung, wenn die Bewegung die Bewegungsschwelle nicht überschreitet.

Beschreibung[de]

Diese Erfindung bezieht sich auf das Zwischenspeichern von Schreibdaten und bezieht sich im Besonderen auf das Zwischenspeichern von Schreibdaten als Reaktion auf eine Bewegung.

Berechnungsfunktionen werden zunehmend in Zusammenhängen ausgeführt, denen die Bewegung von EDV-Anordnungen innewohnend ist. Zum Beispiel werden EDV-Anordnungen, wie Laptops, persönliche digitale Assistenten ("PDAs"), tragbare Musikabspielvorrichtungen, Mobiltelefone, Tablet-Personalcomputer und ähnliches regelmäßig bei Bewegung verwendet, entweder bei der Bewegung durch einen Benutzer oder bei der Bewegung durch ein Fahrzeug.

Typischerweise umfassen diese EDV-Anordnungen eine oder mehrere interne Anordnungen, die mechanisch bewegliche Teilen aufweisen. Sogar Anordnungen wie ein PDA, die typischerweise interne Anordnungen mit nicht beweglichen Teilen umfassen, können zeitweise eine Datenspeicheranordnung wie ein Mikro-Festplattenlaufwerk ("Hard Disk Drive – HDD") umfassen, das mechanisch bewegliche Teile umfasst. Die Anordnungen, die mechanisch bewegliche Teile aufweisen, die intern in den EDV-Anordnungen angeordnet sind oder in Verbindung mit diesen arbeiten, werden hierin als "bewegungsempfindliche Anordnungen" bezeichnet.

Leider sind bewegungsempfindliche Anordnungen für ernsthafte Schäden hoch anfällig, wenn der Betrieb der bewegungsempfindlichen Anordnung mit einer Bewegung der bewegungsempfindlichen Anordnung selbst verbunden ist. Typischerweise bewegt eine Bewegung der EDV-Anordnung auch die bewegungsempfindliche Anordnung. Diese Bewegungen können sorgfältige geplante Bewegungen, Holpern, Rütteln, Stürze, Bewegung der Unterlage, auf der die EDV-Anordnung ruht, und ähnliches umfassen. Oft beeinflussen diese Bewegungen die Bewegung der internen Teile der bewegungsempfindlichen Anordnung negativ. Die durch Bewegung der EDV-Anordnung verursachte Störung kann ernsten Schaden sowohl an den internen beweglichen Teilen als auch an anderen Teilen in der bewegungsempfindlichen Anordnung verursachen.

Der tatsächlich verursachte Schaden wie auch die Wahrscheinlichkeit der Beschädigung auf Grund von Bewegung der bewegungsempfindlichen Anordnung ist typischerweise am größten während Zeiträumen, in denen die bewegungsempfindliche Anordnung am aktivsten ist und die bewegungsempfindliche Anordnung gleichzeitig in Bewegung ist. Die bewegungsempfindliche Anordnung in Bewegung zu versetzen, steigert die Wahrscheinlichkeit einer schädigenden Bewegung. Die bewegungsempfindliche Anordnung während der Bewegung zu betreiben, erhöht das Risiko, dass sich ein Schaden aus der Bewegung der bewegungsempfindlichen Anordnung ergibt.

Bewegungsempfindliche Datenspeicheranordnungen wie HDDs und ähnliches sind gegenüber mit Bewegung verbundenem Schaden besonders anfällig, da bewegungsempfindliche Datenspeicheranordnungen ("Motion Sensitive Storage Devices – MSSD") oft von Berechnungsfunktionen verwendet werden. Zum Beispiel schreibt eine EDV-Anordnung häufig Daten auf ein HDD und erhöht die Chance, dass Daten von der EDV-Anordnung geschrieben werden und das HDD in Bewegung ist.

Aus der vorhergehenden Erörterung sollte es offensichtlich sein, dass ein Bedarf für eine Vorrichtung, eine Anordnung und ein Verfahren existiert, die Schreibvorgänge auf ein MSSD zwischenspeichern, während das MSSD in Bewegung ist. Vorteilhaft würden solch eine Vorrichtungen, solch eine Anordnung und solch ein Verfahren mit Bewegung verbundenen Schaden am MSSD reduzieren.

Die vorliegende Erfindung ist als Reaktion auf den gegenwärtigen Stand der Technik und im Besonderen als Reaktion auf die Probleme und die Anforderungen in der Technik entwickelt worden, die noch nicht vollständig von gegenwärtig verfügbaren Verfahren für das Schreiben von Daten auf MSSDs gelöst worden sind. Dementsprechend ist die vorliegende Erfindung entwickelt worden, um eine Vorrichtung, eine Anordnung und ein Verfahren dafür zur Verfügung zu stellen, Datenschreibvorgänge während einer Bewegung zwischenzuspeichern, die viele oder alle der weiter oben erörterten Mängel der Technik überwinden.

Die Vorrichtung zur Zwischenspeicherung von Schreibvorgängen ist mit einer Logikeinheit ausgestattet, die eine Vielzahl von Modulen enthält, die eingerichtet sind, um die notwendigen Schritte, Bewegung wahrzunehmen und Daten auf einen Zwischenspeicher zu schreiben, funktionell ausführen, wenn die Bewegung eine Bewegungsschwelle überschreitet. Diese Module umfassen in den beschriebenen Ausführungsformen ein Bewegungserfassungsmodul und ein Lenkungsmodul.

Das Bewegungserfassungsmodul nimmt die Bewegung von einem MSSD wahr. Das Bewegungserfassungsmodul kann ein mit dem MSSD verbundenes Beschleunigungsmessgerät umfassen. Das MSSD kann ein HDD, ein optisches Speicherlaufwerk oder ähnliches sein. In einer Ausführungsform übermittelt das Bewegungserfassungsmodul Bewegungsdaten wie zum Beispiel die Beschleunigung. In anderer Ausführungsform ist der Bewegungssensor mit einer Bewegungsschwelle programmiert und übermittelt, dass die Bewegung die Bewegungsschwelle überschreitet.

Das Lenkungsmodul schreibt die Daten auf einen Zwischenspeicher, wenn die Bewegung die Bewegungsschwelle überschreitet, und auf das MSSD, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. In einer Ausführungsform erhält das Lenkungsmodul Bewegungsdaten vom Bewegungssensor und bestimmt, ob die Bewegung die Bewegungsschwelle überschreitet. In einer alternativen Ausführungsform erhält das Lenkungsmodul eine Benachrichtigung von dem Bewegungserfassungsmodul, dass die Bewegung die Bewegungsschwelle überschreitet.

Die Vorrichtung nimmt die Bewegung des MSSD wahr und schreibt Daten auf das MSSD, wenn die Bewegung des MSSD die Bewegungsschwelle nicht überschreitet, während sie die Daten in den Zwischenspeicher schreibt, wenn die Bewegung des MSSD die Bewegungsschwelle überschreitet. Durch das Vermeiden von Schreibvorgängen auf das MSSD während die Bewegung des MSSD die Bewegungsschwelle überschreitet, kann die Vorrichtung das Risiko eines mit Bewegung verbundenen Schadens am MSSD reduzieren.

Es wird auch eine Anordnung der gegenwärtigen Erfindung gezeigt, um Schreibdaten zwischenzuspeichern. Die Anordnung kann in einer mobilen EDV-Anordnung, wie zum Beispiel einem Laptopcomputer verkörpert sein. Im Besonderen umfasst die Anordnung in einer Ausführungsform eine Berechnungsmodul, eine Datenspeichermodul, ein MSSD, eine Bewegungserfassungsmodul und eine Lenkungsmodul. Die Anordnung kann weiterhin eine Schreibmodul umfassen.

Das Berechnungsmodul führt Softwareanweisungen aus und verarbeitet Daten. Das Datenspeichermodul speichert die Softwareanweisungen und die Daten. Das MSSD speichert die Softwareanweisungen und die Daten ebenfalls. Das MSSD kann als eine nichtflüchtige Datenspeicheranordnung eingerichtet werden, während das Datenspeichermodul kleinere Mengen von Softwareanweisungen und Daten mit geringeren Zugriffsverzögerungen speichert.

Das Berechnungsmodul kann regelmäßig Daten zum MSSD schreiben. Das Bewegungserfassungsmodul nimmt die Bewegung des MSSD wahr. Das Lenkungsmodul schreibt die Daten auf einen Zwischenspeicher, wenn die Bewegung eine Bewegungsschwelle überschreitet, und auf das MSSD, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. In einer Ausführungsform umfasst das Datenspeichermodul den Zwischenspeicher.

In einer Ausführungsform schreibt das Schreibmodul die Daten vom Zwischenspeicher auf das MSSD, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. Die Anordnung reduziert den mit Bewegung verbundenen Schaden am MSSD, in dem es die für das MSSD bestimmten Daten in einen Zwischenspeicher schreibt, bis die Bewegung des MSSD unter die Bewegungsschwelle abfällt.

Es wird auch ein Verfahren der gegenwärtigen Erfindung für das Zwischenspeichern von Schreibdaten gezeigt. Das Verfahren in den offenbarten Ausführungsformen umfasst im Wesentlichen die Schritte, die notwendig sind, um die oben in Bezug auf den Betrieb der beschriebenen Vorrichtung und Anordnung gezeigten Funktionen auszuführen. In einer Ausführungsform beinhaltet das Verfahren, Bewegung wahrzunehmen und Daten auf einen Zwischenspeicher zu schreiben, wenn die Bewegung eine Bewegungsschwelle überschreitet. Das Verfahren kann auch beinhalten, eine Bewegungsschwelle zu verändern, eine Größe eines Zwischenspeichers zu verändern und Zwischenspeicherdaten auf ein MSSD zu schreiben.

In einer Ausführungsform modifiziert ein Schwellenänderungsmodul eine Bewegungsschwelle als Reaktion auf eine Speicherungsanforderung eines Softwareprozesses. Außerdem kann ein Zwischenspeicheränderungsmodul die Größe eines Zwischenspeichers als Reaktion auf die Speicherungsanforderung des Softwareprozesses verändern. Ein Bewegungserfassungsmodul nimmt die Bewegung von einem MSSD wahr. Ein Lenkungsmodul schreibt Daten in den Zwischenspeicher, wenn die Bewegung die Bewegungsschwelle überschreitet. Außerdem schreibt das Lenkungsmodul die Daten auf das MSSD, wenn die Bewegung die Bewegungsschwelle nicht überschreitet.

In einer Ausführungsform schreibt ein Schreibmodul die Daten vom Zwischenspeicher auf das MSSD, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. Das Verfahren ermöglicht es dem Softwareprozess Daten zu schreiben, wenn es erforderlich ist, obwohl die Daten nur auf das MSSD geschrieben werden, wenn die Bewegung des MSSD die Bewegungsschwelle nicht überschreitet.

Die durch diese Beschreibung durchgängige Bezugnahme auf Merkmale, Vorteile oder ähnliche Begriffe impliziert nicht, dass alle Merkmale und Vorteile, die mit der gegenwärtigen Erfindung realisiert werden können, in jeder einzelnen Ausführungsform der Erfindung vorhanden sein sollten oder sind. Vielmehr ist zu verstehen, dass Begriffe, die sich auf die Merkmale und Vorteile beziehen bedeuten, dass ein bestimmtes Merkmal, ein bestimmter Vorteil oder eine bestimte Eigenschaft, beschrieben in Verbindung mit einer Ausführungsform, in mindestens einer Ausführungsform der gegenwärtigen Erfindung vorhanden ist. Daher kann sich eine Erörterung der Merkmale und Vorteile und ähnlicher Begriffe überall in dieser Beschreibung auf dieselbe Ausführungsform beziehen, muss dies aber nicht notwendigerweise tun.

Weiterhin können die beschriebenen Merkmale, Vorteile und Eigenschaften der Erfindung auf jede geeignete Art in einer oder mehreren Ausführungsformen kombiniert werden. Eine Person, die in der einschlägigen Technik ausgebildet ist, erkennt, dass die Erfindung ohne eines oder mehrere der spezifischen Merkmale oder Vorteile einer bestimmten Ausführungsform ausgeübt werden kann. In anderen Fällen können zusätzliche Merkmale und Vorteile in bestimmten Ausführungsformen erkannt werden, die nicht in allen Ausführungsformen der Erfindung gegenwärtig sein können.

Die vorliegende Erfindung speichert bestimmte Schreibdaten für ein MSSD zwischen, wenn die Bewegung des MSSD eine Bewegungsschwelle überschreitet. Außerdem kann die vorliegende Erfindung einen mit Bewegung verbundenen Schaden am MSSD reduzieren, in dem Datenschreibvorgänge auf das MSSD vermindert werden, während das MSSD in Bewegung ist. Diese Merkmale und Vorteile der gegenwärtigen Erfindung werden aus der folgenden Beschreibung und den angehängten Ansprüchen vollständiger offensichtlich oder können aus der Ausführung der Erfindung gelernt werden, wie sie nachstehend beschrieben wird.

Damit die Vorteile der Erfindung leicht verstanden werden, wird eine speziellere Beschreibung der weiter oben kurz beschriebenen Erfindung mit Verweis auf bestimmte Ausführungsformen wiedergegeben, die in den angehängten Zeichnungen erläutert sind. Im Verständnis, dass diese Zeichnungen nur typische Ausführungsformen der Erfindung beschreiben und es deshalb nicht angenommen werden sollte, dass dies einschränkend für den Schutzumfang sind, wird die Erfindung in zusätzlicher Genauigkeit und im Detail durch die Verwendung der begleitenden Zeichnungen beschrieben und erklärt, in denen:

1 ein schematisches Blockdiagramm zeigt, das eine Ausführungsform einer EDV-Anordnung der gegenwärtigen Erfindung erläutert;

2 ein schematisches Blockdiagramm zeigt, das eine Ausführungsform einer Vorrichtung für das Zwischenspeichern eines Schreibvorganges der gegenwärtigen Erfindung erläutert;

3 ein schematisches Blockdiagramm zeigt, das eine Ausführungsform einer mobilen EDV-Anordnung der gegenwärtigen Erfindung erläutert;

4 eine perspektivische Abbildung zeigt, die eine Ausführungsform eines Laptopcomputers entsprechend der gegenwärtigen Erfindung veranschaulicht;

5 eine perspektivische Abbildung zeigt, die eine Ausführungsform eines HDDs entsprechend der gegenwärtigen Erfindung veranschaulicht;

6 ein schematisches Blockdiagramm zeigt, das eine Ausführungsform eines Softwarestapelspeichers entsprechend der gegenwärtigen Erfindung veranschaulicht; und

7 ein schematisches Flussdiagramm zeigt, das eine Ausführungsform eines Zwischenspeicherungsverfahrens eines Schreibvorgangs der gegenwärtigen Erfindung veranschaulicht.

Viele der in dieser Beschreibung beschriebenen funktionellen Einheiten sind als Module bezeichnet worden, um im Besonderen ihre Unabhängigkeit von der Ausführungsform hervorzuheben. Zum Beispiel kann ein Modul als eine Hardwareschaltung ausgeführt werden, die anwenderspezifische Very Large Scale Integration ("VLSI") Schaltungen oder Gate Arrays, Serienhalbleiter wie zum Beispiel Logikchips, Transistoren oder andere diskrete Komponenten umfasst. Ein Modul kann auch in Form von programmierbaren Hardwareanordnungen wie Field Programmable Gate Arrays, programmierbaren Logikarrays, programmierbaren Logikanordnungen oder ähnlichem realisiert werden.

Module können zur Ausführung durch verschiedene Arten von Prozessoren auch in Software realisiert werden. Eine bestimmtes Modul aus ausführbarem Codes kann zum Beispiel einen oder mehrere physische oder logische Blöcke von Computeranweisungen umfassen, die zum Beispiel als ein Objekt, ein Verfahren oder eine Funktion organisiert sein können. Dennoch müssen die ausführbaren Anweisungen eines bestimmten Moduls physisch nicht zusammen angeordnet sein, sondern können an verschiedenen Orten gespeicherte disparate Anweisungen umfassen, die, wenn sie logisch zusammengeführt werden, das Modul umfassen und den für das Modul bestimmten Zweck erzielen.

In der Tat kann ein Modul aus ausführbarem Code eine einzelne Anweisung sein oder viele Anweisungen umfassen und kann sogar über mehrere verschiedene Codesegmente, zwischen verschiedenen Programmen und über mehrere Datenspeicheranordnungen hinweg verteilt werden. Ebenso können Betriebsdaten hierin innerhalb von Modulen bestimmt und veranschaulicht werden und können in jeder geeigneten Form verkörpert und in jeder geeigneten Form von Datenanordnung organisiert werden. Die Betriebsdaten können als ein einzelner Datensatz angesammelt oder über verschiedene Orte verteilt werden, einschließlich der Verteilung über verschiedene Datenspeicheranordnungen, und können zumindest teilweise lediglich als elektronische Signale in einer Anordnung oder einem Netzwerk existieren.

Die in dieser Beschreibung durchgängige Bezugnahme auf "die Ausführungsform", "eine Ausführungsform" oder ähnlichen Sprachgebrauch bedeutet, dass ein besonderes Merkmal, eine besondere Anordnung oder eine besondere Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens eine Ausführungsform der gegenwärtigen Erfindung einbezogen ist. Auf diese Weise kann sich das Auftreten der Ausdrücke "in der Ausführungsform", "in einer Ausführungsform" und ähnlicher Sprachgebrauch durchgängig durch diese Beschreibung auf dieselbe Ausführungsform beziehen, muss dies aber nicht unbedingt tun.

Weiterhin können die beschriebenen Merkmale, Anordnungen oder Eigenschaften der Erfindung auf jede geeignete Art in einer oder mehreren Ausführungsformen kombiniert werden. In der nachfolgenden Beschreibung werden zahlreiche spezifische Details, wie Beispiele der Programmierung, Softwaremodule, Benutzerauswahl, Netzwerktransaktionen, Datenbankabfragen, Datenbankanordnungen, Hardwaremodule, Hardwareschaltungen, Hardwarechips, usw. zur Verfügung gestellt, um ein gründliches Verständnis von Ausführungsformen der Erfindung zur Verfügung zu stellen. Eine Person, die in der themenbezogenen Technik ausgebildet ist, erkennt jedoch, dass die Erfindung ohne eines oder mehrere der spezifischen Details oder mit anderen Verfahren, Komponenten, Materialien usw. ausgeübt werden kann. In anderen Fällen werden allgemein bekannte Anordnungen, Materialien oder Arbeitsabläufe nicht gezeigt oder nicht im Detail beschrieben, um zu vermeiden, Aspekte der Erfindung zu verschleiern.

Die 1 zeigt ein schematisches Blockdiagramm, das eine Ausführungsform einer EDV-Anordnung 100 der gegenwärtigen Erfindung erläutert. Die Anordnung 100 umfasst ein Berechnungsmodul 105, einen Zwischenspeicher 110, ein MSSD 115 und ein Bewegungserfassungsmodul 120. Die EDV-Anordnung 100 kann ein Laptopcomputer, ein PDA, ein Mobiltelefon, ein Tablet-Computer, eine drahtlose E-Mail-Vorrichtung sein oder ähnliches.

Das Berechnungsmodul 105 speichert und führt Softwareanweisungen aus und verarbeitet Daten, wobei die Softwareanweisungen und die Daten hierin als Daten bezeichnet werden. Das MSSD 115 speichert Daten für das Berechnungsmodul 105. Das MSSD 115 kann eine nichtflüchtige Datenspeicheranordnung wie zum Beispiel ein HDD, eine optische Datenspeicheranordnung oder ähnliches sein. Der Zwischenspeicher 110 kann eine Datenspeicheranordnung wie zum Beispiel ein dynamischer Speicher mit wahlfreiem Zugriff ("Dynamic Random Access Memory – DRAM"), ein statischer Speicher mit wahlfreiem Zugriff ("Static Random Access Memory – SRAM"), ein Flash Speicher mit wahlfreiem Zugriff ("Flash RAM") und ähnliches sein. In einer Ausführungsform umfasst das Berechnungsmodul 105 den Zwischenspeicher 110. In einer anderen Ausführungsform umfasst das MSSD 115 den Zwischenspeicher 110. Der Zwischenspeicher 110 darf keine beweglichen Teile enthalten.

Das MSSD 115 umfasst eine oder mehrere bewegliche Komponenten. Die beweglichen Komponenten können mit kleinen Toleranzen arbeiten und für Beschädigung anfällig sein, wenn sie betrieben werden, während das MSSD 115 in Bewegung ist. Daher ist das MSSD 115 anfälliger für mit Bewegung verbundenen Schäden als der Zwischenspeicher 110.

Das Berechnungsmodul 105 kann zu verschiedenen Zeiten Daten zum MSSD 115 schreiben, einschließlich derer, während die EDV-Anordnung 100 und das MSSD 115 in Bewegung sind. Wenn das Berechnungsmodul 105 Daten auf das MSSD 115 schreibt, während die EDV-Anordnung 100 und das MSSD 115 maßgeblich in Bewegung sind, kann das MSSD 115 beschädigt werden.

Die Anordnung 100 nimmt die Bewegung des MSSD 115 mit dem Bewegungserfassungsmodul 120 wahr, wenn das Berechnungsmodul 105 die Daten auf das MSSD 115 schreibt. Wenn die Bewegung des MSSD 115 eine festgelegte Bewegungsschwelle überschreitet, schreibt die Anordnung 100 die Daten in den Zwischenspeicher 110 statt auf das MSSD 115. Auf diese Art schreibt das MSSD 115 keine Daten, wenn es für mit Bewegung verbundenem Schaden anfällig ist.

Die 2 zeigt ein schematisches Blockdiagramm, das eine Ausführungsform einer Vorrichtung zur Zwischenspeicherung von Schreibvorgängen 200 gemäß der gegenwärtigen Erfindung veranschaulicht. In einer Ausführungsform umfasst die Vorrichtung 200 das Berechnungsmodul 105 und das Bewegungserfassungsmodul 120 gemäß 1. Die Vorrichtung 200 umfasst ein Bewegungserfassungsmodul 120, ein Lenkungsmodul 210, ein Schreibmodul 215, ein Zwischenspeicheränderungsmodul 220 und ein Schwellenänderungsmodul 225.

Das Bewegungserfassungsmodul 120 nimmt die Bewegung von einem MSSD 115, wie zum Beispiel dem MSSD 115 gemäß 1 wahr. Das Bewegungserfassungsmodul 120 kann ein Beschleunigungsmessgerät umfassen, wie es jenen, die in der Technik ausgebildet sind, gut bekannt ist. In einer Ausführungsform nimmt das Bewegungserfassungsmodul 120 die Beschleunigung des MSSDs 115 in Form von Bewegungsdaten wahr. In einer alternativen Ausführungsform nimmt das Bewegungserfassungsmodul 120 die Ableitung der Beschleunigung in Bezug auf die Zeit als die Bewegungsdaten wahr.

In einer Ausführungsform übermittelt das Bewegungserfassungsmodul 120 dem Lenkungsmodul 210 die Bewegungsdaten. Zum Beispiel kann das Bewegungserfassungsmodul 120 dem Lenkungsmodul 210 eine Beschleunigung von zwei Einheiten der Erdanziehungskraft (2 g) übermitteln. In einer alternativen Ausführungsform ist das Bewegungserfassungsmodul 120 mit einer Bewegungsschwelle eingerichtet und übermittelt dem Lenkungsmodul 210, dass die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet. Wenn zum Beispiel die Bewegungsschwelle eine Einheit der Erdanziehungskraft beträgt (1 g), kann das Bewegungserfassungsmodul 120 das Lenkungsmodul 210 benachrichtigen, wenn die Bewegung des MSSD 115 eine Einheit der Erdanziehungskraft (1 g) überschreitet.

Das Lenkungsmodul 210 schreibt Daten von dem Berechnungsmodul 105 zu einem Zwischenspeicher 110 wie dem Zwischenspeicher 110 gemäß 1, wenn die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet und zum MSSD 115, wenn die Bewegung des MSSD 115 die Bewegungsschwelle nicht überschreitet. Wenn zum Beispiel die Bewegungsschwelle eine Einheit der Erdanziehungskraft beträgt (1 g) und das Bewegungserfassungsmodul 120 Daten an das Lenkungsmodul 210 übermittelt, die anzeigen, dass die Bewegung des MSSD 115 zwei Einheiten der Erdanziehungskraft beträgt (2 g), kann das Lenkungsmodul 210 von dem Berechnungsmodul 105 an das MSSD 115 übermittelte Daten umleiten und die Daten stattdessen zum Zwischenspeicher 110 schreiben.

In einer Ausführungsform schreibt das Schreibmodul 215 die Daten vom Zwischenspeicher 110 zum MSSD 115, wenn die Bewegung des MSSD 115 die Bewegungsschwelle nicht überschreitet. Wenn das Schreibmodul 215 im obigen Beispiel bestimmt, dass die Bewegung des MSSD 115 unterhalb die Bewegungsschwelle der einen Einheit der Erdanziehungskraft (1g) gefallen ist, kann das Schreibmodul 215 die Daten aus dem Zwischenspeicher 110 lesen und die Daten auf das MSSD 115 schreiben. Auf diese Weise werden die Daten auf das MSSD 115 geschrieben, aber anstatt geschrieben zu werden, wenn das MSSD 115 für mit Bewegung verbundenem Schaden anfälliger ist, werden die Daten geschrieben, wenn das MSSD 115 weniger für mit Bewegung verbundenem Schaden anfällig ist.

In einer Ausführungsform modifiziert das Schwellenänderungsmodul 225 die Bewegungsschwelle. Zum Beispiel kann das Schwellenänderungsmodul 225 die Bewegungsschwelle von einer Einheit der Erdanziehungskraft (1 g) auf zwei Einheiten der Erdanziehungskraft (2 g) verändern. Das Schwellenänderungsmodul 225 kann die Bewegungsschwelle als Reaktion auf eine Speicherungsanforderung eines Softwareprozesses verändern. Zum Beispiel kann der Softwareprozess anfordern, dass Daten von dem Berechnungsmodul 105 mit minimaler Verzögerung auf das MSSD 115 geschrieben werden. Deshalb kann das Schwellenänderungsmodul 225 die Bewegungsschwelle von einer Einheit der Erdanziehungskraft (1 g) auf zwei Einheiten der Erdanziehungskraft (2 g) verändern, um zu ermöglichen, dass das Berechnungsmodul 105 häufiger direkt auf das MSSD 115 schreibt.

In einer Ausführungsform modifiziert das Zwischenspeicheränderungsmodul 220 die Größe des Zwischenspeichers 110. Zum Beispiel kann der Zwischenspeicher 110 einen Teil des DRAM Datenspeichers, wie zum Beispiel ein Megabyte (1 MB) des Datenspeichers umfassen. Das Zwischenspeicheränderungsmodul 220 kann die Größe des Zwischenspeichers 110 von einem Megabyte (1 MB) auf zwei Megabytes (2 MB) des Datenspeichers verändern. In einer Ausführungsform modifiziert das Zwischenspeicheränderungsmodul 220 die Größe des Zwischenspeichers 110 als Reaktion auf die Speicherungsanforderung des Softwareprozesses. Wenn zum Beispiel der Softwareprozess eine Menge von vier Megabyte (4 MB) an Daten zum MSSD 115 speichern soll, kann das Zwischenspeicheränderungsmodul 220 die Größe des Zwischenspeichers 110 auf fünf Megabytes (5 MB) verändern.

Die Vorrichtung 200 reduziert den mit Bewegung verbundenen Schaden am MSSD 115, in dem die für das MSSD 115 bestimmten Daten in den Zwischenspeicher 110 geschrieben werden, bis die Bewegung des MSSD 115 unter die Bewegungsschwelle fällt. Außerdem ermöglicht die Vorrichtung 200, dass ein Softwareprozess Daten ohne Verzögerungen an das MSSD 115 schickt, die die Leistung des Softwareprozesses beeinflussen können.

Die 3 zeigt ein schematisches Blockdiagramm, das eine Ausführungsform einer mobilen EDV-Anordnung 300 entsprechend der gegenwärtigen Erfindung veranschaulicht. Die Anordnung 300 kann ein Laptopcomputer oder ähnliches sein. In einer Ausführungsform ist die Anordnung 300 die EDV-Anordnung 100 gemäß 1. Wie dargestellt, umfasst die Anordnung 300 ein Prozessormodul 305, ein Cachemodul 310, ein Datenspeichermodul 315, ein oberes Brückenmodul 320, eine unteres Brückenmodul 325, ein Graphikdarstellungsmodul 330, ein Anzeigemodul 335, ein Basic Input/Output System ("BIOS") Modul 340, ein Netzwerkmodul 345, ein Universal Serial Bus ("USB") Modul 350, ein Audiomodul 355, ein Peripheral Component Interconnect ("PCI") Modul 360, ein MSSD 115 und ein Bewegungserfassungsmodul 120.

Das Prozessormodul 305, das Cachemodul 310, das Datenspeichermodul 315, das obere Brückenmodul 320, das untere Brückenmodul 325, das Graphikdarstellungsmodul 330, das Anzeigemodul 335, das BIOS Modul 340, das Netzwerkmodul 345, das USB Modul 350, das Audiomodul 355 und das PCI Modul 360, auf die hierin als Komponenten Bezug genommen wird, können aus Halbleiterschaltelementen auf einem oder mehreren Halbleitersubstraten gefertigt sein. Jedes Halbleitersubstrat kann mit einer oder mehreren Halbleiteranordnungen bestückt sein, die auf Schaltungsboards montiert sind. Die Verbindungen zwischen den Komponenten können durch Halbleitermetallschichten, Verdrahtung von Substrat zu Substrat oder Schaltungsboardleitungen oder Drähte hergestellt werden, die die Halbleiteranordnungen verbinden.

Das Datenspeichermodul 315 speichert Daten. In einer Ausführungsform umfasst das Datenspeichermodul 315 den Zwischenspeicher 110 gemäß 1. Das Prozessormodul 305 führt die Daten aus, wie es jenen, die in der Technik ausgebildet sind, wohl bekannt ist. Das Berechnungsmodul 105 gemäß 1 kann sowohl das Prozessormodul 305 als auch das obere Brückenmodul 320 und das untere Brückenmodul 325 umfassen.

In einer Ausführungsform ist das Bewegungserfassungsmodul 120 hoch empfindlich in Bezug auf Beschleunigung. Das Bewegungserfassungsmodul 120 kann eine separate Bewegungserfassungskomponente umfassen oder kann Logik umfassen, die mit vorhandener Hardware, wie zum Beispiel einem vorhandenen Beschleunigungsmessgerät kommuniziert. Beispiele für Beschleunigungsmessgeräte, die in dem Verfolgungsmodul 302 verwendet werden können, umfassen iMEMS® Beschleunigungsmessgeräte, die von Analaog Devices aus Norwood, Massachusetts verfügbar sind.

In einer Ausführungsform umfasst das Bewegungserfassungsmodul 120 ein mit dem MSSD 115 physisch verbundenes Beschleunigungsmessgerät. Das Beschleunigungsmessgerät erzeugt als Reaktion auf die Beschleunigung des MSSD 115 ein analoges elektrisches Signal. Das Bewegungserfassungsmodul 120 kann weiterhin einen Analog-Digital-Wandler umfassen, um das Analogsignal in einen digitalen Wert umzuwandeln. In einer bestimmten Ausführungsform verarbeitet der Bewegungserfassungsmodul 120 den digitalen Wert weiterhin, um für die Beschleunigung des Beschleunigungsmessgeräts und des MSSDs 115 typische Bewegungsdaten zu erzeugen.

In einer Ausführungsform speichert das Datenspeichermodul 315 einen oder mehrere Softwareprozesse und das Prozessormodul 305 führt diese aus, wobei die Softwareprozesse das Lenkungsmodul 210, das Schreibmodul 215, das Zwischenspeicheränderungsmodul 220 und das Schwellenänderungsmodul 225 gemäß 2 umfassen. Außerdem kann das Datenspeichermodul 315 einen oder mehrere Softwareprozesse speichern und das Prozessormodul 305 diese ausführen, wobei die Softwareprozesse eine Softwareanwendung, ein Betriebssystem, einen Zwischentreiber und einen Gerätetreiber, wie einen MSSD 115 Gerätetreiber umfassen.

Die Softwareanwendung oder das Betriebssystem können Daten durch den MSSD 115 Treiber, das obere Brückenmodul 320 und das untere Brückenmodul 325 zum MSSD 115 schreiben. In einer Ausführungsform erhält das in dem Prozessormodul 305 ablaufende Lenkungsmodul 210 Bewegungsdaten durch das untere Brückenmodul 325 und das obere Brückenmodul 320 von dem Bewegungserfassungsmodul 120. Wenn die Bewegungsdaten eine Bewegungsschwelle übersteigen, kann das in dem Prozessormodul 305 ablaufende Lenkungsmodul 210 Daten umleiten, die von dem Betriebssystem oder der Softwareanwendung an einen Zwischenspeicher 110 gerichtet wurden, der sich in dem Datenspeichermodul 315 befindet. Das in dem Prozessormodul 305 ablaufende Schreibmodul 215 kann weiterhin die Daten vom Zwischenspeicher 110 durch das obere Brückenmodul 320 und das untere Brückenmodul 325 zum MSSD schreiben, wenn die Bewegungsdaten von dem Bewegungserfassungsmodul 120 die Bewegungsschwelle nicht überschreiten.

Die 4 zeigt eine perspektivische Darstellung, die eine Ausführungsform eines Laptopcomputers 400 entsprechend der gegenwärtigen Erfindung veranschaulicht. In einer Ausführungsform ist der Computer 400 die EDV-Anordnung 100 gemäß 1 und die mobile EDV-Anordnung 300 gemäß 3. Der Computer 400 ist eingerichtet, um mobile Datenverarbeitung auszuführen. Der Computer 400 kann zum Beispiel in einem sich bewegenden Fahrzeug, in einem Flugzeug oder ähnlichem verwendet werden, die den Computer 400 einer Bewegung aussetzen.

5 zeigt eine perspektivische Darstellung, die eine Ausführungsform eines HDD 500 entsprechend der gegenwärtigen Erfindung veranschaulicht. Das HDD 500 kann das MSSD 115 gemäß der 1 und 3 sein. Außerdem kann der Laptopcomputer 400 gemäß 4 das HDD 500 umfassen. Das HDD 500 ist dargestellt mit einer physischen Verbindung zu einem Beschleunigungsmessgerät 530. Das Beschleunigungsmessgerät 530 kann das Bewegungserfassungsmodul 120 gemäß der 1 bis 3 sein. Das HDD 500 besteht aus mehreren Unterkomponenten, einschließlich mindestens einer auf einer Spindel 510 montierten Platte 505. Die Platte 505 ist aus einem Material hergestellt, das es ermöglicht, dass magnetische Polarisationen auf die obere oder untere Oberfläche der Platte angewandt werden. Das HDD 500 ist so eingerichtet, dass es die Spindel 510 und die Platte 505 mit Hilfe eines (nicht gezeigten) Motors mit mehreren Tausend Umdrehungen pro Minute dreht. Das HDD 500 umfasst weiterhin mindestens einen Arm 515, der sich über die Oberfläche der Platte 505 erstreckt. Wie dargestellt, erstrecken sich ein oberer Oberarm 515a beziehungsweise ein unterer Arm 515b gerade oberhalb und gerade unterhalb der oberen beziehungsweise der unteren Oberfläche der Platte 505. Jeder Arm 515 ist mit einem Kopf 525 ausgestattet, der dazu in der Lage ist, magnetische Polarisationen auf der Oberfläche der Platte 505 zu erzeugen, und auch dazu in der Lage ist, magnetische Polarisationen auf der Oberfläche der Platte 505 wahrzunehmen.

Die oberen und unteren Arme 515a, 515b sind schwenkbar mit dem HDD 500 verbunden, so dass die Köpfe 525 sich in einen Bogen über die Oberfläche der Platte 505 bewegen können, während sich die Platte 505 um die Spindel 510 dreht, wodurch es den Köpfen 525 ermöglicht wird, magnetische Polarisationen an jedem Ort auf der Platte 505 zu erzeugen und wahrzunehmen. Mehrfache Platten 505 können senkrecht gestapelt werden, wobei jede Platte 505 mittig auf dieselbe Spindel 510 montiert ist und wobei für jede Platte 505 ein oberer Arm und ein unterer Arm 515a, 515b zur Verfügung gestellt wird.

Das HDD 500 ist empfindlich in Bezug auf plötzliche Bewegungen, Rütteln, Erschütterungen und ähnliches. Eine typische Platte 505 kann sich mit 7200 Umdrehungen pro Minute drehen. Die Arme 515 bewegen sich mit sehr hohen Geschwindigkeiten über die Platte 505. Der Kopf 525 wird oft so beschrieben, als dass er über der Platte 505 fliegt, von der Platte 505 getrennt durch ein dünnes Kissen aus Luft. Plötzliche Bewegungen der Festplatte 500 können bewirken, dass der Kopf 525 die Platte 505 berührt oder es zu einem "Head Crash" kommt. Der physische Kontakt des Kopfs 525 mit der Platte 505 kann Schaden an der Platte 505, Schaden am Kopf 525 und nicht wieder herstellbaren Verlust an Daten verursachen, die auf der Platte 505 gespeichert sind.

Um einen Head Crash zu verhindern, kann der Kopf 525 geparkt werden. Das Parken bewegt die Arme 515 in eine Position, die es dem Kopf 525 nicht ermöglichen, physischen Kontakt mit der Platte 505 herzustellen. In einer Ausführungsform schützt das Parken das HDD 500 vor Schaden, wie zum Beispiel einem Head Crash des Kopfes 525.

In einer Ausführungsform parkt das Lenkungsmodul 210 den Kopf 525 des HDD 500, wenn das Lenkungsmodul 210 keine Datenschreibvorgänge zum HDD 500 leite. Das Parken des Kopfes 525 kann den Kopf 525 während Pausen der Bewegung des HDD 500 schützen. Das Lenkungsmodul 210 kann weiterhin den Kopf 525 aus der Parkposition bewegen, um entweder Daten von dem Zwischenspeicher 110 oder dem Berechnungsmodul 105 gemäß 1 zu schreiben.

Die 6 zeigt ein schematisches Blockdiagramm, das eine Ausführungsform eines Softwarestapels 600 entsprechend der gegenwärtigen Erfindung erläutert. Der Softwarestapel 600 ist charakteristisch für einen oder mehrere Softwareprozesse, die auf der EDV-Anordnung 100 gemäß 1 oder der mobilen EDV-Anordnung 300 gemäß 3 ablaufen. In der beschriebenen Ausführungsform umfasst der Softwarestapel 600 eine Softwareanwendung 605, eine Anwendungsprogrammschnittstelle ("Application Program Interface – API") 610, ein Betriebssystem 615, einen Zwischentreiber 620 und einen Gerätetreiber 625.

Der Softwarestapel 600 ist dargestellt in der Kommunikation mit einem MSSD 115, wie zum Beispiel dem MSSD 115 gemäß 1. Der Softwarestapel 600 kann in dem Prozessormodul 305 gemäß 3 ablaufen und mit dem MSSD 115 durch das obere Brückenmodul 320 und das untere Brückenmodul 325 gemäß 3 kommunizieren.

Das Betriebssystem 615 kann einen oder mehrere Softwareprozess umfassen, die eingerichtet sind, um den Betrieb der EDV-Anordnung 100 zu verwalten und zu steuern, wie jenen, die in der Technik ausgebildet sind, gut bekannt ist. Das Betriebssystem 615 kommuniziert mit einer oder mehreren Softwareanwendungen 605 durch ein oder mehrere APIs 610. Jedes API 610 kann einen bestimmter. Satz von Datenwerten umfassen, die zwischen der Softwareanwendung und dem Betriebssystem 615 übermittelt werden.

Die Softwareanwendung 605 oder das Betriebssystem 615 können durch das API 610 kommunizieren, in dem sie eine Funktion aufrufen, die das API 610 umfasst, und die angegebenen Datenwerte, entweder als Datenwerte oder als einen Zeiger auf ein Array der Datenwerte übergeben. Die Softwareanwendung 605 kann zum Beispiel Daten zum MSSD 115 schreiben, in dem sie eine API 610 Funktion aufruft und die Daten und einen oder mehrere Steuerungsdatenwerte an das API 610 übergibt.

Das Betriebssystem 615 verwaltet die Kommunikation zwischen der Softwareanwendung 605 und dem MSSD 115 und dient als die Schnittstelle zwischen der Softwareanwendung 605 und dem MSSD 115. Das Betriebssystem 615 ist eingerichtet, um unter Verwendung von einem oder mehreren Gerätetreibern 625 mit einer Vielzahl von spezifischen Modulen wie dem BIOS Modul 340, dem Netzwerkmodul 345, dem USB Modul 350, dem Audiomodul 355, dem PCI-Modul 360, dem MSSD 115 und dem Bewegungserfassungsmodul 120 gemäß 3 zu arbeiten. Jeder Gerätetreiber 625 kann auf ein Modul beschränkt sein. Zum Beispiel kann eine Audioschaltung, die das Audiomodul 355 umfasst, einen bestimmten Gerätetreiber 625 für die Kommunikation mit dem Betriebssystem 615 aufweisen. Das Betriebssystem 615 kommuniziert mit dem Audiomodul 355 unter Anwendung eines Gerätetreibers 625, der für das Audiomodul 355 spezifisch ist.

Das Betriebssystem 615 kommuniziert mit dem MSSD 115 unter Verwendung des Gerätetreibers 625. Der Gerätetreiber 625 wandelt einen oder mehrere generische Befehle und Protokolle aus dem Betriebssystem 615 in einen oder mehrere Befehle und Protokolle um, die für das MSSD 115 spezifisch sind. Der Gerätetreiber 625 wandelt auch einen oder mehrere für das MSSD 115 spezifische Befehle und Protokolle in ein oder mehrere generische Befehle und Protokolle für das Betriebssystem 615 um.

In der beschriebenen Ausführungsform kommunizieren das Betriebssystem 615 und der Gerätetreiber 625 des MSSD 115 durch den Zwischentreiber 620. Der Zwischentreiber 620 stellt sich dem Betriebssystem 615 dar, als ob er der Gerätetreiber 625 wäre und stellt sich dem Gerätetreiber 625 dar, als ob er das Betriebssystem 615 wäre. Auf diese Weise kann das Betriebssystem 615 dem Zwischentreiber 620 generische Befehle und Protokolle übermitteln, als ob der Zwischentreiber 620 der Gerätetreiber 625 wäre. Der Zwischentreiber 620 kann die generischen Befehle und Protokolle an den Gerätetreiber 625 weiterleiten, als ob der Zwischentreiber 620 das Betriebssystem 615 wäre.

Außerdem kann der Gerätetreiber 625 dem Zwischentreiber 620 die MSSD 115 spezifischen Befehle und Protokolle übermitteln, als ob der Zwischentreiber 620 das Betriebssystem 615 wäre. Der Zwischentreiber 620 kann dem Betriebssystem 615 die MSSD 115 spezifischen Befehle und Protokolle übermitteln, als ob der Zwischentreiber 620 der Gerätetreiber 625 wäre.

In einer Ausführungsform umfasst der Zwischentreiber 620 das Lenkungsmodul 210 gemäß 2. Das Lenkungsmodul 210 kann einen Datenschreibvorgang vom Betriebssystem 615 zum Gerätetreiber 625 abfangen, wenn die Bewegung des MSSD 115 eine Bewegungsschwelle überschreitet. In einer Ausführungsform modifiziert das Lenkungsmodul 210 den Datenschreibvorgang so, dass der Zwischentreiber 620 die Daten in den Zwischenspeicher 110 gemäß 1 schreibt, statt zum Gerätetreiber 625. Das Lenkungsmodul 210 kann dem Betriebssystem 615 auch übermitteln, dass die Daten auf das MSSD 115 geschrieben wurden, wenn die Daten in den Zwischenspeicher 110 geschrieben wurden.

In einer Ausführungsform umfasst der Zwischentreiber 620 das Schreibmodul 215 gemäß 2. Das Schreibmodul 215 kann die Daten vom Zwischenspeicher 110 zum Gerätetreiber 625 schreiben und den Datenschreibvorgang so verändern, dass der Gerätetreiber 625 die Daten erhält, als ob diese von dem Betriebssystem 615 wären. In einer alternativen Ausführungsform kann das Schreibmodul 215 dem Betriebssystem 615 auch übermitteln, dass die Daten auf das MSSD 115 geschrieben wurden, wenn die Daten durch den Gerätetreiber 625 auf das MSSD 115 geschrieben wurden.

Die schematischen Flussdiagrammdarstellungen, die folgen, sind im Allgemeinen als logische Flussdiagrammdarstellungen ausgeführt. Als solches sind die beschriebene Abfolge und die bezeichneten Schritte bezeichnend für eine Ausführungsform des gezeigten Verfahrens. Andere Schritte und Verfahren können erdacht werden, die in Funktion, Logik oder Wirkung davon äquivalent sind zu einem oder mehreren Schritten oder Teilen des beschriebenen Verfahrens. Außerdem werden das Format und die verwendeten Symbole zur Verfügung gestellt, um die logischen Schritte des Verfahrens zu erklären, und sie werden so verstanden, dass sie den Umfang des Verfahrens nicht einschränken. Obwohl verschiedene Pfeilarten und Linienarten in den Flussdiagrammdarstellungen verwendet werden können, werden diese so verstanden, dass sie den Umfang des entsprechenden Verfahrens nicht einschränken. In der Tat können einige Pfeile oder andere Verbindungselemente benutzt werden, um nur den logischen Ablauf des Verfahrens anzuzeigen. Ein Pfeil kann zum Beispiel eine Wartezeit oder eine Überwachungsperiode von unspezifizierter Dauer zwischen den nummerierten Schritten des beschriebenen Verfahrens anzeigen. Außerdem kann die Reihenfolge, in der ein bestimmtes Verfahren auftritt, strikt an der Reihenfolge der entsprechenden gezeigten Schritte festhalten oder kann dies auch nicht tun.

7 zeigt eine schematische Flussdiagrammdarstellung, die eine Ausführungsform eines Verfahrens zur Zwischenspeicherung eines Schreibvorgangs 700 für die vorliegende Erfindung veranschaulicht. Das Verfahren 700 umfasst im Wesentlichen die Schritte, die notwendig sind, um die weiter oben in Bezug auf den Betrieb der beschriebenen Anordnung 100 gemäß 1 und der Vorrichtung 200 gemäß 2 gezeigten Funktionen auszuführen.

In einer Ausführungsform beginnt das Verfahren 700 und ein Schwellenänderungsmodul 225 modifiziert 705 eine Bewegungsschwelle als Reaktion auf eine Speicherungsanforderung eines Softwareprozesses. In einer Ausführungsform wird die Bewegungsschwelle auf einen bestimmten Wert voreingestellt, wie zum Beispiel auf eine Einheit der Erdanziehungskraft (1 g). Der Softwareprozess kann eine Softwareanwendung 605 wie die Softwareanwendung gemäß der 6 sein. In einer bestimmten Ausführungsform ist das Schwellenänderungsmodul 225 als ein Zwischentreiber 620, wie zum Beispiel der Zwischentreiber 620 gemäß 6 eingerichtet. Die Softwareanwendung 605 kann die Speicherungsanforderung durch ein API 610, wie zum Beispiel das API 610 gemäß 6 an ein Betriebssystem 615, wie zum Beispiel das Betriebssystem 615 gemäß 6 übermitteln. Das Betriebssystem 615 kann dem Schwellenänderungsmodul 225 die Betriebsanforderung übermitteln, und das Schwellenänderungsmodul 225 kann als Reaktion auf die Betriebsanforderung die Bewegungsschwelle verändern 705.

In einer alternativen Ausführungsform verweist die Softwareanwendung 605 auf eine dynamisch verbundene Bibliothek ("Dynamically Linked Library – DLL"), die in dem Schwellenänderungsmodul 225 enthalten ist. Die Softwareanwendung 605 kann der DLL die Speicherungsanforderung übermitteln, und das Schwellenänderungsmodul 225 kann die Bewegungsschwelle 705 als Reaktion auf die Speicherungsanforderung verändern 705.

In einer Ausführungsform wird die Speicherungsanforderung als eine Verzögerungsanforderung eingerichtet und gibt ein maximales Zeitintervall zwischen Schreibvorgängen zu einem MSSD 115, wie zum Beispiel dem MSSD 115 gemäß 1 an, das die Softwareanwendung 605 tolerieren kann. Das Schwellenänderungsmodul 225 kann die Bewegungsschwelle so verändern 705, dass die Bewegung des MSSD 115 innerhalb des maximalen Zeitintervalls typischerweise unter die Bewegungsschwelle fällt. Wenn zum Beispiel die Speicherungsanforderung eine Verzögerung von fünf Sekunden (5s) darstellt, kann das Schwellenmodul feststellen, dass die Bewegung des MSSD 115 über ein fünf Sekunden (5s) Intervall neunzig Prozent (90%) der Zeit für einen ausreichenden Zeitraum unterhalb eine Bewegungsschwelle von eins Komma fünf Einheiten der Erdanziehungskraft (1,5 g) fällt, um Daten vom Zwischenspeicher 110 zum MSSD 115 zu schreiben, und so die Bewegungsschwelle auf eins Komma fünf Einheiten der Erdanziehungskraft (1,5 g) verändern 705.

In einer anderen Ausführungsform kann die Speicherungsanforderung als ein Bewegungswert eingerichtet werden. Zum Beispiel kann die Softwareanwendung 605 eine Speicherungsanforderung von zwei Einheiten der Erdanziehungskraft (2 g) angeben, und das Schwellenänderungsmodul 225 kann die Bewegungsschwelle auf zwei Einheiten der Erdanziehungskraft (2 g) verändern. In einer Ausführungsform verfolgt das Schwellenänderungsmodul 225 die Zeitintervalle zwischen den Schreibvorgängen der Softwareanwendung 605 und modifiziert 705 die Bewegungsschwelle so, dass die Schreibvorgänge für einen vorgegebenen Prozentsatz der Zeit untergebracht werden können. Zum Beispiel kann das Schwellenänderungsmodul 225 die Bewegungsschwelle 705 auf drei Einheiten der Erdanziehungskraft (3 g) verändern 705, wenn das Schwellenänderungsmodul 225 feststellt, dass die Bewegungsschwelle von drei Einheiten der Erdanziehungskraft (3 g) ermöglicht, Daten in fünfundneunzig Prozent (95%) der Zeit vom Zwischenspeicher 110 auf das MSSD 115 zu schreiben.

In einer Ausführungsform modifiziert das Schwellenänderungsmodul 225 die Bewegungsschwelle durch Schreiben des neuen Bewegungsschwellenwerts auf ein Lenkungsmodul 210. In einer alternativen Ausführungsform modifiziert das Schwellenänderungsmodul 225 die Bewegungsschwelle durch Schreiben des neuen Bewegungsschwellenwerts auf ein Bewegungserfassungsmodul 120.

In einer Ausführungsform kann ein Zwischenspeicheränderungsmodul 220 die Größe eines Zwischenspeichers 110, wie zum Beispiel des Zwischenspeichers 110 gemäß 1 als Reaktion auf die Speicherungsanforderung des Softwareprozesses, wie zum Beispiel der Softwareanwendung 605 verändern 710. In einer bestimmten Ausführungsform ist das Zwischenspeicheränderungsmodul 220 als ein Zwischentreiber 620 eingerichtet. Die Softwareanwendung 605 kann dem Betriebssystem 615 die Speicherungsanforderung durch ein API 610 übermitteln. Das Betriebssystem 615 kann dem Zwischenspeicheränderungsmodul 220 die Betriebsanforderung übermitteln und das Zwischenspeicheränderungsmodul 220 verändert 710 die Größe des Zwischenspeichers 110 als Reaktion auf die Betriebsanforderung.

In einer alternativen Ausführungsform verweist die Softwareanwendung 605 auf eine in dem Zwischenspeicheränderungsmodul 220 enthaltene DLL. Die Softwareanwendung 605 kann der DLL die Speicherungsanforderung übermitteln, und das Zwischenspeicheränderungsmodul 220 kann als Reaktion auf die Speicherungsanforderung die Größe des Zwischenspeichers 110 verändern 710.

In einer bestimmten Ausführungsform modifiziert 710 das Zwischenspeicheränderungsmodul 220 die Größe des Zwischenspeichers 110 als Reaktion auf die wahrgenommene Speicherungsanforderung der Softwareanwendung 605. Das Zwischenspeicheränderungsmodul 220 kann zum Beispiel die Maximalmenge der von der Softwareanwendung 605 auf das MSSD 115 geschriebenen Daten verfolgen. Das Zwischenspeicheränderungsmodul 220 kann weiterhin die Größe des Zwischenspeichers 110 verändern 710, um die Maximalmenge um zehn Prozent (10%) zu überschreiten. In einer Ausführungsform ist die Speicherungsanforderung als eine Datenmenge von zum Beispiel zwei Megabytes (2 MB) eingerichtet. Das Zwischenspeicheränderungsmodul 220 kann die Größe des Zwischenspeichers 110 durch Zuweisen von einem Block von Daten in einem Datenspeicher, wie zum Beispiel dem Datenspeichermodul 315 gemäß der 3 verändern 710, der zwei Megabytes (2 MB) entspricht.

Ein Bewegungserfassungsmodul 120 nimmt die Bewegung des MSSD 115 wahr. In einer Ausführungsform umfasst das Bewegungserfassungsmodul 120 einen mikromechanischen Bewegungssensor, wie zum Beispiel einen oder mehrere Siliziumgelenkträger oder ähnliches, die auf einem Siliziumsubstrat gefertigt sind, wobei das Bewegungserfassungsmodul 120 die Bewegung von einem oder mehreren Gelenkträgern berechnet, die eine Schaltung vervollständigen. In einer anderen Ausführungsform umfasst das Bewegungserfassungsmodul 210 ein Lasergyroskop und berechnet die Bewegung des MSSD 115 aus der zweiten Ableitung der Position des Lasergyroskops.

Das Lenkungsmodul 210 bestimmt 720, ob die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet. In einer Ausführungsform benachrichtigt das Bewegungserfassungsmodul 120 das Lenkungsmodul 210, wenn die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet. In einer alternativen Ausführungsform übermittelt das Bewegungserfassungsmodul 120 Bewegungsdaten an das Lenkungsmodul 210 und das Lenkungsmodul 210 stellt fest 720, dass die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet, wenn der Bewegungsdatenwert die Bewegungsschwelle überschreitet.

Wenn das Lenkungsmodul 210 feststellt 720, dass die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet, schreibt das Lenkungsmodul 210 für das MSSD 115 bestimmte Daten in den Zwischenspeicher 110. In einer Ausführungsform ist das Lenkungsmodul 210 als einen Zwischentreiber 620 eingerichtet und fängt für das MSSD 115 bestimmte Schreibdaten ab. Das Lenkungsmodul 210 kann die Schreibdaten zum Zwischenspeicher 110 umleiten und die Softwareanwendung 605 davon benachrichtigen, dass die Daten auf das MSSD 115 geschrieben wurden.

In einer Ausführungsform stellt 735 ein Schreibmodul 215 fest, ob die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet. Das Bewegungserfassungsmodul 120 kann das Schreibmodul 215 benachrichtigen, wenn die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet. In einer alternativen Ausführungsform übermittelt das Erfassungsmodul 120 die Bewegungsdaten an das Schreibmodul 215 und das Schreibmodul 215 stellt fest 735, dass die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet, wenn der Bewegungsdatenwert den Bewegungsschwellenwert überschreitet. Wenn die Bewegung des MSSD 115 die Bewegungsschwelle nicht überschreitet, schreibt 740 das Schreibmodul 215 die Daten vom Zwischenspeicher 110 zum MSSD 115 und das Verfahren 700 endet. Wenn die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet, läuft das Schreibmodul 215 in einer Schleife, um zu bestimmen, ob die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet.

Wenn das Lenkungsmodul 210 feststellt 720, dass die Bewegung des MSSD 115 die Bewegungsschwelle nicht überschreitet, schreibt 725 das Lenkungsmodul 210 die Daten zum MSSD 115 und das Verfahren 700 endet. Das Verfahren 700 schreibt Daten auf das MSSD 115, wenn die Bewegung des MSSD 115 die Bewegungsschwelle nicht überschreitet, während es die Daten in den Zwischenspeicher 110 schreibt, wenn die Bewegung des MSSD 115 die Bewegungsschwelle überschreitet und reduziert auf diese Weise die Wahrscheinlichkeit von mit Bewegung verbunden Schäden an dem MSSD 115.

Die vorliegende Erfindung ist die Erste, die für ein MSSD 115 bestimmte Schreibdaten zwischenspeichert, wenn die Bewegung des MSSD 115 eine Bewegungsschwelle überschreitet. Darüber hinaus kann die vorliegende Erfindung mit Bewegung verbundenen Schaden am MSSD 115 reduzieren, in dem Datenschreibvorgänge zum MSSD 115 vermindert werden, während das MSSD 115 in Bewegung ist. Die vorliegende Erfindung kann in anderen spezifischen Ausführungsformen verkörpert werden, ohne von ihrem Geist oder wesentlichen Merkmalen abzuweichen. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht nur als veranschaulichend und nicht einschränkend betrachtet werden. Der Umfang der Erfindung wird deshalb vielmehr von den anhängenden Ansprüchen statt von der vorhergehenden Beschreibung angezeigt. Alle Änderungen, die in die Bedeutung und den Bereichs der Äquivalenz mit den Ansprüche fallen, sollen innerhalb deren Umfangs umfasst werden.


Anspruch[de]
Vorrichtung, um Schreibdaten zwischenzuspeichern, wobei die Vorrichtung nachfolgendes umfasst:

ein Bewegungserfassungsmodul, eingerichtet um die Bewegung einer bewegungsempfindlichen Datenspeicheranordnung wahrzunehmen; und

ein Lenkungsmodul, eingerichtet um Daten in einen Zwischenspeicher zu schreiben, wenn die Bewegung eine Bewegungsschwelle überschreitet, und in die bewegungsempfindliche Datenspeicheranordnung, wenn die Bewegung die Bewegungsschwelle nicht überschreitet.
Vorrichtung gemäß Anspruch 1, die weiterhin ein Schreibmodul umfasst, das eingerichtet ist, um die Daten vom Zwischenspeicher in die bewegungsempfindliche Datenspeicheranordnung zu schreiben, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. Vorrichtung gemäß Anspruch 1, wobei das Lenkungsmodul weiterhin dazu eingerichtet ist, das Bewegungserfassungsmodul auf Bewegungsdaten abzufragen. Vorrichtung gemäß Anspruch 1, wobei das Bewegungserfassungsmodul weiterhin eingerichtet ist, um dem Lenkungsmodul Bewegungsdaten zu übermitteln. Vorrichtung gemäß Anspruch 1, wobei der Bewegungssensor eingerichtet ist, um das Lenkungsmodul darüber zu benachrichtigen, dass die Bewegung die Bewegungsschwelle überschreitet. Vorrichtung gemäß Anspruch 1, wobei das Lenkungsmodul weiterhin als ein Zwischentreiber in der Kommunikation mit einem Betriebssystem und einem Gerätetreiber einer bewegungsempfindlichen Datenspeicheranordnung eingerichtet ist. Vorrichtung gemäß Anspruch 1, die weiterhin ein Schwellenänderungsmodul umfasst, das eingerichtet ist, um die Bewegungsschwelle als Reaktion auf eine Speicherungsanforderung eines Softwareprozesses zu verändern. Vorrichtung gemäß Anspruch 1, wobei das Bewegungserfassungsmodul ein Beschleunigungsmessgerät umfasst. Anordnung, um Schreibdaten zwischenzuspeichern, wobei die Anordnung nachfolgendes umfasst:

ein Prozessormodul, eingerichtet um Daten zu verarbeiten;

ein Datenspeichermodul, eingerichtet um Daten zu speichern;

eine bewegungsempfindliche Datenspeicheranordnung, eingerichtet um Daten zu speichern;

ein Bewegungserfassungsmodul, eingerichtet um die Bewegung der bewegungsempfindlichen Datenspeicheranordnung wahrzunehmen; und

ein Lenkungsmodul, eingerichtet um Daten in das Datenspeichermodul zu schreiben, wenn die Bewegung eine Bewegungsschwelle überschreitet, und in die bewegungsempfindliche Datenspeicheranordnung, wenn die Bewegung die Bewegungsschwelle nicht überschreitet.
Anordnung gemäß Anspruch 9, die weiterhin ein Schreibmodul umfasst, das eingerichtet ist, um die Daten von dem Datenspeichermodul in die bewegungsempfindliche Datenspeicheranordnung zu schreiben, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. Anordnung gemäß Anspruch 9, wobei die bewegungsempfindliche Datenspeicheranordnung ein Festplattenlaufwerk ist. Anordnung gemäß Anspruch 9, wobei die Anordnung ein Laptopcomputer ist. Zeichen vorhaltender Datenträger, der zugreifbar ein Programm aus maschinenlesbaren Anweisungen verkörpert, die von einer digitalen Verarbeitungsvorrichtung ausführbar sind, um Arbeitsgänge für das Zwischenspeichern von Schreibdaten durchzuführen, wobei die Arbeitsgänge nachfolgendes umfassen:

Wahrnehmen der Bewegung einer bewegungsempfindlichen Datenspeicheranordnung;

Schreiben von Daten in einen Zwischenspeicher, wenn die Bewegung eine Bewegungsschwelle überschreitet, und in die bewegungsempfindliche Datenspeicheranordnung, wenn die Bewegung die Bewegungsschwelle nicht überschreitet.
Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei die Anweisungen weiterhin einen Arbeitsgang umfassen, um die Daten vom Zwischenspeicher in die bewegungsempfindliche Datenspeicheranordnung zu schreiben, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei die Anweisungen weiterhin einen Arbeitsgang umfassen, um Bewegungsdaten abzufragen. Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei die Anweisungen weiterhin einen Arbeitsgang umfassen, um die Bewegungsdaten zu übermitteln. Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei die Anweisungen weiterhin einen Arbeitsgang umfassen, um zu übermitteln, dass die Bewegung die Bewegungsschwelle überschreitet. Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei die Anweisungen weiterhin einen Arbeitsgang umfassen, um mit einem Betriebssystem und einem Gerätetreiber einer bewegungsempfindlichen Datenspeicheranordnung zu kommunizieren. Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei die Anweisungen weiterhin einen Arbeitsgang umfassen, um die Bewegungsschwelle als Reaktion auf eine Speicherungsanforderung eines Softwareprozesses zu verändern. Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei die Anweisungen weiterhin einen Arbeitsgang umfassen, um die Größe des Zwischenspeichers als Reaktion auf eine Speicherungsanforderung eines Softwareprozesses zu verändern. Zeichen vorhaltender Datenträger gemäß Anspruch 13, wobei ein Beschleunigungsmessgerät die Bewegung wahrnimmt. Verfahren, um Computerinfrastruktur einzusetzen, die die Integration von computerlesbarem Code in ein Rechnersystem umfasst, wobei der Code in Verbindung mit dem Rechnersystem dazu in der Lage ist, nachfolgendes auszuführen:

Wahrnehmen der Bewegung einer bewegungsempfindlichen Datenspeicheranordnung; und

Schreiben von Daten in einen Zwischenspeicher, wenn die Bewegung eine Bewegungsschwelle überschreitet, und in eine bewegungsempfindliche Datenspeicheranordnung, wenn die Bewegung die Bewegungsschwelle nicht überschreitet.
Verfahren gemäß Anspruch 22, das weiterhin umfasst, die Daten vom Zwischenspeicher in die bewegungsempfindliche Datenspeicheranordnung zu schreiben, wenn die Bewegung die Bewegungsschwelle nicht überschreitet. Verfahren gemäß Anspruch 22, das weiterhin umfasst, die Bewegungsschwelle als Reaktion auf eine Speicherungsanforderung eines Softwareprozesses zu modifizieren.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com