DE102004017195A1 - Verfahren und System zum Speichern von Daten in unabhängigen Speichern - Google Patents

Verfahren und System zum Speichern von Daten in unabhängigen Speichern Download PDF

Info

Publication number
DE102004017195A1
DE102004017195A1 DE102004017195A DE102004017195A DE102004017195A1 DE 102004017195 A1 DE102004017195 A1 DE 102004017195A1 DE 102004017195 A DE102004017195 A DE 102004017195A DE 102004017195 A DE102004017195 A DE 102004017195A DE 102004017195 A1 DE102004017195 A1 DE 102004017195A1
Authority
DE
Germany
Prior art keywords
memory
application data
data
processor
memories
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.)
Withdrawn
Application number
DE102004017195A
Other languages
English (en)
Inventor
William Robert Fort Collins Haas
Kirk Steven Greeley Tecu
Dave Greeley Boll
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE102004017195A1 publication Critical patent/DE102004017195A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Anwendungsdaten werden in einem redundanten Array aus unabhängigen Speichern gespeichert. Bei einem Ausführungsbeispiel werden die Anwendungsdaten in einen ersten Speicher eingegeben. Der erste Speicher wird geparkt, wenn der erste Speicher die Anwendungsdaten empfangen hat. Der zweite Speicher wird ausgeparkt und Anwendungsdaten werden in den zweiten Speicher eingegeben. Der zweite Speicher wird ebenfalls geparkt, wenn der zweite Speicher die Anwendungsdaten empfangen hat, wodurch die Wahrscheinlichkeit reduziert wird, dass Anwendungsdaten aufgrund physischer Auswirkungen auf die Speicher verloren gehen.

Description

  • Tragbare elektronische Vorrichtungen, hergestellt zum Erfassen, Erzeugen, Speichern, Manipulieren oder Übertragen von digitaler Musik, Geräusch, Bildern, Filmen oder anderen codierten Daten, wurden mit dem Aufkommen von weniger teuerer Halbleiterverarbeitung und erhöhter Verbrauchernachfrage immer präsenter. Verbraucherprodukte, wie z. B. tragbare MP3-Player (Abspielgeräte des Moving Picture Experts Group Layer 3 Standard), digitale Kameras, PDAs (elektronische persönliche Datenassistenten) und digitale Stimmaufzeichengeräte gewinnen immer mehr an Popularität. Der allgemeine Trend für jedes dieser handelsüblichen Geräte ist das Bereitstellen größerer Datenspeicherungsfähigkeiten bei reduzierten Kosten.
  • Leider wird der größere Speicher in diesen Vorrichtungen begleitet durch eine Erhöhung der Kosten und der Zeit, die verschwendet werden, wenn solche großen Datenbeträge verloren gehen. Viele tragbare elektronische Vorrichtungen weisen einen eingebauten Speicher ohne Redundanz auf, so daß Daten nicht wiedergewonnen werden können, wenn ein Speicherausfall auftritt. Sogar bei Vorrichtungen, die die Fähigkeit haben, Sicherungsdaten zu liefern, kann die Zeit und die Entwicklung, die erforderlich ist, um vorangehend gesicherte Daten wiederherzustellen, belastend für den Durchschnittsverbraucher sein. Hersteller sehen sich ferner einem teureren Entwurfsprozeß gegenüber, da die Verwendung eines PCs (Personalcomputers) zum Liefern von redundanten Daten und Sicherungen ebenfalls den Entwurf für und die Verwendung von Microsoft Windows®, MAC® oder anderer Betriebssystemsoftware erfordert, um eine Kompatibilität zwischen den tragbaren elektronischen Vorrichtungen und dem PC bereitzustellen. Ferner, sollten Käufer wünschen, Spei chervorrichtungen in ihren Produkten zu aktualisieren, folgt ein zeitaufwendiger Prozeß bei dem der Käufer häufig einen PC verwendet, um Daten für eine Restoration auf dem Ersatzspeicher zu sichern.
  • Einige Hersteller haben versucht, diese Probleme durch einen erhöhten Datendurchsatz zu PCs für eine Sicherung und eine Dateiübertragung zu lösen. Leider fallen die einzelnen internen oder entfernbaren Speicher in diesen Vorrichtungen häufig vor einer Sicherung aus, aufgrund einer physischen Erschütterung, wie z. B. Fallenlassen, oder einem normalen Verschleiß. Es besteht ein Bedarf nach einem tragbaren elektronischen Vorrichtungssystem, das eine Datenredundanz und leichte Speicheraktualisierungen ohne die Verwendung eines PCs schafft.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Speichern von Anwendungsdaten, ein Master-Slave-Datenverwaltungssystem und ein Verfahren zum Schreiben von Daten mit verbesserten Charakteristika zu schaffen.
  • Diese Aufgabe wird durch ein Verfahren zum Speichern von Anwendungsdaten gemäß Anspruch 1 und 6, ein Master-Slave-Datenverwaltungssystem gemäß Anspruch 8 und 11 und durch ein Verfahren zum Schreiben von Daten gemäß Anspruch 14 gelöst.
  • Es ist ein Verfahren offenbart zum Speichern von Anwendungsdaten in einem redundanten Array aus unabhängigen Speichern. Bei einem Ausführungsbeispiel weist das Verfahren das Eingeben der Anwendungsdaten in einen ersten Speicher, das Parken des ersten Speichers, wenn der erste Speicher die Anwendungsdaten empfangen hat, das Ausparken eines zweiten Speichers, das Eingeben der Anwendungsdaten in den zweiten Speicher und das Parken des zweiten Speichers, wenn der zweite Speicher die Anwendungsdaten empfangen hat auf, wodurch die Wahrscheinlichkeit reduziert wird, Anwendungsdaten aufgrund physischer Auswirkungen auf die Speicher zu reduzieren.
  • Bei einem anderen Ausführungsbeispiel ist ein Master-Slave-Datenverwaltungssystem offenbart, das einen Prozessor, einen Bus in Kommunikation mit dem Prozessor und einen ersten und einen zweiten Datenweg entfernt von dem Bus aufweist. Der erste und der zweite Datenweg liefern dem Prozessor eine Kommunikation mit dem ersten bzw. dem zweiten Speicher. Der Prozessor ist programmiert, um das Schreiben von Anwendungsdaten in den ersten Speicher zu vermeiden, außer der zweite Speicher ist geparkt und der erste Speicher ist ausgeparkt.
  • Die Komponenten in den Figuren sind nicht notwendigerweise maßstabsgetreu, wobei die Betonung statt dessen auf dem Darstellen der Prinzipien von exemplarischen Ausführungsbeispielen der Erfindung liegt. Ferner sind in den Figuren gleiche Bezugszeichen durch entsprechende Teile in den unterschiedlichen Ansichten gekennzeichnet.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockdiagramm eines Systems aus redundanten Speichern in direkter Verbindung mit einem Prozessor gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 eine Draufsicht eines Festplattenlaufwerks, das einen Mechanismus zum Parken eines Betätigermotorarms während einer Nichtverwendung aufweist;
  • 3 ein Flußdiagramm eines Verfahrens zum Schreiben in eine Mehrzahl von Speichern, das an das System aus 1 angewendet werden kann;
  • 4 eine auseinandergezogene perspektivische Ansicht, die ein redundantes Speichersystem darstellt, das in der Lage ist, das Verfahren aus 3 zu verwenden; und
  • 5 und 6 auseinandergezogene perspektivische Ansichten, die verschiedene modulare redundante Speichersysteme darstellen, die ein Speicherspeicherungsmodul verwenden und in der Lage sind, das Verfahren aus 3 zu verwenden.
  • Ausführungsbeispiele der Erfindung weisen ein Verfahren und ein System zum Verwalten und Speichern von Daten in Speichern auf. Während die Erfindung primär für eine Verwendung mit einem tragbaren in der Hand gehaltenen System vorgesehen ist, das verschiedene Verbraucheranwendungen unterbringen kann, wie z. B. MP3-Player, digitale Aufzeichengeräte und andere tragbare elektronische Vorrichtungen, die ein Erfassen, Erzeugen, Speichern, Manipulieren oder Übertragen digitaler Musik, Geräusche, Bilder, Filme oder anderer codierter Daten ermöglichen, wie z. B. tragbare Systeme, die insbesondere mechanischem Stoß unterliegen, sind Ausführungsbeispiele der Erfindung ferner an größere und eher stationäre Systeme anwendbar. Bei einem bestimmten tragbaren in der Hand gehaltenen System ist ein redundantes Array aus unabhängigen Speichern für ein Steuerungsmodul und eine oder mehrere Verbraucheranwendungen verfügbar. Während des Schreibens von Anwendungsdaten in einen Speicher, werden der andere Speicher oder die Speicher geparkt, um einen Verlust von Daten aufgrund von Stoß, Vibration oder anderen physischen Kräften zu verhindern, denen sie ausgesetzt werden können. Wie hierin verwendet, bezieht sich das „Parken" auf das Positionieren des Lesekopfs des Plattenlaufwerks in eine Position weg von dem datentragenden Abschnitt der Platte. Wenn das Schreiben in den ersten Speicher abgeschlossen ist, wird derselbe ebenfalls geparkt, um eine solche Beschädigung zu verhindern, so daß der Speicher für die Übertragung redundanter Daten verfügbar ist.
  • 1 stellt eine Implementierung eines Steuerungsmoduls 100 zum Steuern eines Paares solcher Speicher dar. Das Steuerungsmodul 100, das als ein Compact Unlimited Library Controller bezeichnet werden kann, ist in Kommunikation mit den Speichern A und B und einem Anwendungsmodul 105 gezeigt. Das Steuerungsmodul 100 umfaßt einen Bus 110 in Kommunikation mit einer Steuerung 115, eine Benutzerschnittstelle 120, einen internen Speicher 122 und einen Prozessor 125. Diese Komponenten verwalten und steuern den Fluß der Anwendungsdaten zwischen dem Steuerungsmodul 100 und dem Anwendungsmodul 105 entlang dem Bus 110 und einem Datenweg 130 zu dem Anwendungsmodul 105, und den Datenfluß zwischen dem Steuerungsmodul 110 und den Speichern A und B. Der Prozessor 125 und die Steuerung 115 können in einer einzelnen Vorrichtung integriert sein. Auf ähnliche Weise kann der interne Speicher 120 auf einem einzelnen Chip entweder mit dem Prozessor 125 oder der Steuerung 115 oder beiden integriert sein. Ferner, obwohl das Steuerungsmodul 100 und das Anwendungsmodul 105 als einzelne „Module" beschrieben sind, weist das System vielleicht keine einzelnen Module auf, sondern ist in eine einzelne Komponente integriert.
  • Der Prozessor 125 liefert verschiedene Funktionen und weist einen Problemmonitor 140, einen Duplikator 145 und eine Lese-/Schreib-Schaltung 150 auf. Der Problemmonitor 140 erfaßt, ob Speicher, die mit dem Prozessor 125 verbunden sind, korrekt arbeiten, und benachrichtigt den Benutzer über Probleme durch die Benutzerschnittstelle 120. Der Duplikator 145 ermöglicht eine direkte Duplikation von Anwendungsdaten zwischen Speicher A und Speicher B, wenn ein Speicher ersetzt wird, ohne die Verwendung von anderen externen Vorrichtungen, wie z. B. eines PCs. Der Duplikator 145 kommuniziert auch durch den Bus 110 mit der Benutzerschnittstelle 120, um Informationen im Hinblick auf Dupli kationsversuche zu einem Benutzer zu liefern. Die Lese- /Schreib-Schaltung 150 kommuniziert mit externen Anwendungen, wie z. B. dem Anwendungsmodul 105, und verwaltet das Lesen/Schreiben von Daten an die Master- und Slave-Speicher Speicher A oder Speicher B während der normalen Operation. Die Elemente 140, 145, 150 können in Firmware oder durch Verwenden eines softwaregesteuerten Allzweck-DSP (Digital Signal Processor = digitaler Signalprozessor) implementiert werden. Der Bus 110 ist mit elektrisch leitfähigen Wegen zwischen dem Prozessor 125, der Steuerung 115, der Benutzerschnittstelle 120 und dem internen Speicher 122 dargestellt. Ein optischer Bus kann ebenfalls verwendet werden, sowie eine beliebige Art von Signalleitung, ein Medium oder ein Signalisierungsverfahren. Details der Implementierung solcher Funktionen sind in der Technik bekannt.
  • Die Speicher A und B sind direkter Kommunikation mit dem Prozessor 125 gezeigt. Sie könnten ebenfalls mit dem Prozessor 125 durch den Bus 110 kommunizieren und ein Datenprotokoll mit einem Adressierungsschema verwenden, das durch den Prozessor 125 und die Steuerung 115 verwaltet wird, um zwischen den zwei Speichern zu unterscheiden.
  • Bei einem alternativen Ausführungsbeispiel ist ein Netzknoten bzw. Hub 155 in dem Steuerungsmodul 100 vorgesehen, um die Verwendung des Steuerungsmoduls 100 mit zusätzlichen Anwendungen zu ermöglichen. Wenn der Bus 110 mit einem Anwendungsmodul 105 über den Netzknoten 155 kommuniziert, wird der Datenweg 130 gelöscht. Ein drahtloses Schema, das die drahtlose Technik BluetoothTM verwendet, oder ein anderes drahtloses Schema, könnte ebenfalls vorgesehen sein für den Datenweg zwischen dem Steuerungsmodul 100, den Speichern A und B und der Anwendung 105.
  • 2 stellt ein exemplarisches Plattenlaufwerk dar, das für den Speicher A oder B verwendet werden kann. Das Plattenlaufwerk weist einen Betätigermotorarm 200 mit einem Proximalende 205, einen Parkhebel 210, der sich von dem Proximalende 205 erstreckt, und einen Lesekopf 215 an einem Distalende 220 auf. Der Betätigermotorarm 200 wird über der Festplattenplatte 225 gehalten und schwenkt um eine Spindel 230, unter Verwendung einer Antriebskraft zwischen einem Dauermagneten 235 und einer Spule 240, die auf das Proximalende bzw. ferne Ende 205 wirkt. Der Betätigermotorarm 200 dreht sich von einer Verwendungsposition, wie z. B. Position A, in der der Lesekopf 215 mit der Platte 225 ausgerichtet ist, zu einer Parkposition, wie z. B. Position B, in der der Lesekopf 215 von der Festplatte 225 versetzt ist. Ein Parkmechanismus 245 erfaßt den Parkhebel 210, wenn der Motorarm in der geparkten Position ist. Der dargestellte Parkmechanismus ist ein federbelasteter Verriegelungsarm.
  • Der Betätigermotorarm 200 kann hin zu der Mitte der Festplatte 225 und weg bzw. entfernt von dem Datenabschnitt der Platte geparkt werden. Der Parkhebel 210 kann geeignet zur Verwendung in dieser alternativen Position modifiziert werden. Der verwendete Parkmechanismus ist nicht kritisch und einer aus einer Vielzahl von bekannten Parkmechanismen kann verwendet werden. Zum Beispiel kann eine schwache Feder verwendet werden, um den Lesekopf 215 zur Seite zu ziehen, wenn die Energieversorgung der Spule 240 unterbrochen ist, oder eine Hocheffizienz-Zurückziehschaltung kann verwendet werden, um einen Strom aus der Spindel mit rückwärtsgerichteter elektromotorischer Kraft an den Betätigermotorarm 200 anzuwenden. Diese Aktion bewegt den Betätiger zu der geparkten Position, während die Platten sich ausdrehen. Bei jedem dieser Ausführungsbeispiele kann sich die Festplatte 225 weiter drehen, wenn das Laufwerk geparkt ist. Durch Bewegen des Lesekopfes 215 zu einer Position entfernt aus dem datentragenden Abschnitt der Festplatte 225 während des Parkens, kann ein Schaden an den Daten auf der Festplatte 225 vermieden werden, sollte der Lesekopf 215 die Festplatte 225 zufällig treffen. Ferner, obwohl der Betätigermotorarm 200 derart beschrieben ist, daß er sich zwischen einem Dauermagneten 235 und einer Spule 240 bewegt, kann der Betätigermotorarm 200 durch andere Mechanis men getrieben werden, wie z. B. Spulen oder Elektromagneten.
  • 3 beschreibt ein Ausführungsbeispiel der Erfindung zum Speichern von Anwendungsdaten in dem Speicher ohne ein Risikos eines Datenverlusts aufgrund des Kontaktierens des Lesekopfes 215 der Festplatte 225. Das Steuerungsmodul 100 empfängt die Anwendungsdaten von dem Anwendungsmodul (oder den Modulen) 165 (Block 300) unter der Steuerung der Lese- /Schreib-Schaltung 150 im Prozessor 125. Wenn die Anwendungsdaten in einem Speicher gespeichert werden sollen (Block 310), dann schreibt der Prozessor die Anwendungsdaten in den internen Speicher 122 und in einen ersten Speicher, wie z. B. Speicher A (Block 315). Wenn eine Speicherung nicht erwünscht ist, stoppt der Speicherprozeß an diesem Punkt (Block 317). Wenn der Prozessor eine Anzeige empfängt, daß das Schreiben in den ersten Speicher abgeschlossen ist (Block 320), dann sendet der Prozessor 125 ein Signal zum Parken des ersten Speichers und sendet nachfolgend ein Signal zum Ausparken (unpark) eines zweiten Speichers, wie z. B. Speicher B (Block 325). Der Prozessor 125 schreibt dann die Anwendungsdaten aus dem internen Speicher 122 in den zweiten Speicher (Block 330), und wenn das Schreiben abgeschlossen ist (Block 335) sendet derselbe ein Signal zum Parken des zweiten Speichers (Block 340). Die Anwendungsdaten, die vorangehend in den ersten Speicher gespeichert wurden (Block 315) werden somit gegen Stoß oder physische Vibration geschützt, während die Anwendungsdaten in den zweiten Speicher nachgebildet werden. Wenn Speicher B einer ausreichenden Kraft unterzogen wird, um denselben während eines Schreibens zu beschädigen, liefern die Anwendungsdaten in dem ersten Speicher eine Redundanz für den Benutzer.
  • Bei einem Beispiel werden die Anwendungsdaten aus dem Anwendungsmodul 105 syntaktisch in Anwendungsdatensegmente analysiert bzw. geparst, gemäß der Struktur des internen Speichers 122, zum Schreiben in die Speicher A und B. Auf diese Weise wird jedes folgende Segment der Anwendungsdaten zuerst in den Speicher A und dann in den Speicher B geschrieben, bis die gesamte Anwendungsdatei in beiden Speichern gespeichert ist. Während jedes jeweiligen Schreibens wird nur der Speicher, der beschrieben wird, ausgeparkt. Auf diese Weise liefern die Speicher A und B eine Datenredundanz, die resistent gegenüber Stoß und physischer Vibration ist. Ferner, obwohl der Prozessor eine Anzeige empfängt, daß das Schreiben abgeschlossen ist, vor dem Verriegeln des Speichers (Block 320), kann der Prozessor Anwendungsdaten zu dem Speicher in regelmäßigen vorbestimmten Beträgen senden, gefolgt durch einen Parkbefehl, wodurch der Bedarf nach einer Schreiben-Abgeschlossen-Anzeige von dem Speicher vor dem Parken des ersten Speichers und dem Ausparken des zweiten Speichers offensichtlich wird (Block 325). Ferner kann der Speicher, anstelle eines Speichers, der einen Parkbefehl empfängt, hergestellt sein, um automatisch bei Abschluß eines bestimmten Schreibens zu parken.
  • Obwohl das „Parken" in Beziehung auf eine Festplatte beschrieben wurde, kann dasselbe Konzept an eine Datenspeicherungsvorrichtung angewendet werden, die einem Risiko eines Datenverlustes aufgrund mechanischer Schwingung oder Stoß unterliegt. Zum Beispiel kann in einem Datenspeicherungssystem, das von der Bewegung eines Ankers abhängt, um physische oder elektrische Änderungen an einem Datenspeicherungsmedium zum Speichern von Daten auszuüben, der Anker alternativ zwischen dem Schreiben in die erste und die zweite Speichervorrichtung geparkt werden. Für Speicher, in denen ein beweglicher Spiegel eine Strahlung zu der Oberfläche eines Datenspeicherungsmediums leitet, schreibt der Spiegel Anwendungsdaten und parkt. Der zweite Speicher wird dann „ausgeparkt", um die Anwendungsdaten zu empfangen, die vorangehend in den ersten Speicher geschrieben wurden. Der zweite Speicher parkt dann, wenn das Empfangen von Anwendungsdaten durch denselben abgeschlossen wurde. Alternativ können die Speicher unterschiedlicher Art sein. Zum Beispiel kann eine Festplatte parallel zu einer Halbleiter speichervorrichtung implementiert sein. Die Anwendungsdaten würden auf die Festplatte geschrieben werden, die Festplatte würde geparkt werden und dann würden die Anwendungsdaten auf die Halbleiterspeichervorrichtung geschrieben werden.
  • Während die Erfindung allgemein an mehrere Speichersysteme anwendbar ist, sind bestimmte Ausführungsbeispiele der Erfindung besonders nützlich für tragbare, modulare, elektronische in der Hand gehaltene Verbraucherprodukte, wie z. B. jene, die in den 4, 5 und 6 gezeigt sind. Ein solches modulares System ermöglicht, daß eine Steuerung und mehrere Speicher durch den Benutzer mit beliebigen Anwendungsmodulen zusammen gepackt werden, die der Benutzer erwünscht. In 4 ist ein Steuerungsmodul 100 gezeigt, ausgerichtet für eine elektrische und mechanische Verbindung mit einem Anwendungsmodul 105 durch einen elektrischen Verbinder 415 in dem Anwendungsmodul 105 und mit einem komplementären, gegenüberliegenden Verbinder (nicht gezeigt) in dem Steuerungsmodul 100 und mit mechanischen Verbindern 420. Das Steuerungsmodul 100 verwaltet Anwendungsdaten, die für das Anwendungsmodul 105 zu den Speichern A und B gesendet werden.
  • Das Anwendungsmodul 105 kann eine tragbare elektronische Verbraucheranwendung sein, wie z. B. ein Video-/Standbild-Abspielgerät oder eine Wiederbetrachtungseinrichtung, ein PDA, eine digitale Standbild- oder Video-Kamera oder ein MP3-Player. Das Anwendungsmodul 105 kann ferner wiederum mit einem zweiten Anwendungsmodul (nicht gezeigt) verbunden sein, durch elektrische und mechanische Verbinder ähnlich zu dem elektrischen Verbinder 415 und den mechanischen Verbindern 420. In einem solchen Fall kann das Steuerungsmodul 100 zwischen den unterschiedlichen Anwendungsmodulen durch ein Datenadressierungsschema unterscheiden.
  • Der symmetrische elektrische Verbinder 415 ermöglicht, daß das Anwendungsmodul 105 mit dem System in zahlreichen unterschiedlichen Orientierungen verbunden wird, was die Anordnung für einen nicht ausgebildeten Verbraucher einfacher macht. Das Modul kann von dem System abgenommen werden und durch eine unterschiedliche Anwendung ersetzt werden, oder zusätzliche Anwendungsmodule können mit dem ersten verbunden werden, wiederum ohne Rücksicht auf ihre genauere Orientierung. Mechanische Verbinder 420 halten die Module zusammen, sobald dieselben positioniert wurden. Der elektrische Verbinder 415 ist symmetrisch um eine Achse, die durch das Anwendungsmodul 105 und das Steuerungsmodul 100 läuft, um unterschiedliche Drehorientierungen zwischen Modulen zu ermöglichen, ohne einen elektrischen Kontakt zu verlieren, nachdem die mechanischen Verbinder 420 in oder außer Eingriff genommen werden. Der dargestellte elektrische Verbinder 415 weist vier kreisförmige elektrische Kontakte auf, die zwei Datenwege und zwei Leistungswege zwischen den Vorrichtungen (100, 105) liefern. Die Verbinder für benachbarte Module sind in ihrer Eigenschaft universal bzw. unisex und sind federvorgespannt, um sich etwas nach außen von ihren jeweiligen Modulen zu erstrecken, wodurch ein sicherer elektrischer Kontakt bereitgestellt wird, wenn dieselben in Kontakt miteinander gebracht werden und in Position mit elektrischen Verbindern 420 gehalten werden.
  • Alternativ dazu sind die elektrischen Verbinder 415 nicht symmetrisch um ihre Achsen, können jedoch eine Neuorientierung ermöglichen, während eine geeignete elektrische Verbindung beibehalten wird, nachdem die mechanischen Verbinder 720 wieder in Eingriff genommen werden. Die elektrischen Verbinder 415 können mit männlichen und weiblichen Klemmen oder ähnlichem versehen sein, so daß sie als mechanische sowie elektrische Verbinder funktionieren, wodurch der Bedarf nach separaten mechanischen Verbindern 420 beseitigt wird. Die elektrischen Verbinder können mehr oder weniger als die vier dargestellten Kontakte aufweisen, abhängig von den Daten- und Leistungs-Anforderungen der vorgesehenen Module.
  • Die Speicher A und B sind derart gezeigt, daß sie für einen elektrische Verbindung mit dem Steuerungsmodul 100 durch ein Paar von elektrischen Verbindern 415 in dem Steuerungsmodul ausgerichtet sind, und durch ein komplementäres Paar von elektrischen Verbindern (nicht gezeigt) in den Speichern, einer für jeden Speicher. Jeder Speicher kann individuell ersetzt werden, wenn derselbe schlecht wird, und ein neuer Speicher kann entweder mit derselben oder einer 180° gedrehten Orientierung im Hinblick auf das Steuerungsmodul 100 installiert werden. Die elektrischen Verbinder 415 zwischen dem Steuerungs- und Speicher-Modul weisen den selben Entwurf auf wie die Verbinderleitungen zwischen dem Prozessor 125 und den Speichern A und B, die elektrischen Verbinder zwischen dem Steuerungs- und dem Anwendungsmodul, die der Verbinderleitung 130 in 1 entsprechen.
  • Die physischen Formen der Speicher A und B, des Steuerungsmoduls 100 und des Anwendungsmoduls 105 sind der Einfachheit halber als rechteckig dargestellt, aber andere Formen können nach Wunsch verwendet werden. Die Module können in verschiedenen geometrischen Konfigurationen angeordnet sein. Zum Beispiel und nicht einschränkend können sie Ende an Ende entlang einer linearen Achse gestapelt sein, oder in einet L- oder T-Form, oder in einer quadratähnlichen oder einer anderen handelsüblich erwünschten Form. In solchen Fällen müssen die elektrischen Verbinder 415 und die mechanischen Verbinder 420 möglicherweise zwischen den Modulen zu anderen Positionen auf ihren jeweiligen Modulen bewegt werden.
  • Das Steuerungsmodul 100 ist derart gezeigt, daß es eine Tastenfeld-Benutzerschnittstelle 120 und eine Anzeige 460 aufweist. Die Benutzerschnittstelle 120 kann alternativ ein Mikrophon für Spracherkennung, ein druckempfindlicher Berührungsbildschirm unter Verwendung von Dünnfilmtransistoren (TFT = Thin Film Transistor) oder eine andere Vorrichtung oder eine Kombination von Vorrichtungen zum Eingeben von Informationen (nicht gezeigt) sein. Die Anzeige 460 liefert Informationen zu dem Benutzer im Hinblick auf die Anwendungsdatenübertragung, Speicherfunktionsaktivitäten und Datenwiedergewinnung. Alternativ kann die Anzeige 460 in der Benutzerschnittstelle 120 eingelagert sein, wie z. B. unter Verwendung eines TFT-Bildschirms, wodurch sowohl Anzeige als auch Empfang von Informationen ermöglicht wird.
  • Die Ausführungsbeispiele, die in 13 gezeigt sind, können ferner implementiert sein, wie in 5 gezeigt ist, in der die Speicher A und B in einem gemeinsamen Speicherspeicherungsmodul 500 eingesetzt sind, das entworfen ist, um standardisierte Formfaktorspeicher aufzunehmen. Bei diesem Beispiel sind die Speicher A und B jeweils Mikroplattenlaufwerke, die in das Speichermodul 500 eingefügt sind. Beispiele von Mikroplattenlaufwerken umfassen die Produkte 340MBTM und 170MBTM verkauft durch die IBM® Corporation. Andere gegenwärtig erhältliche kleine Formfaktorspeicher, die in dem Speichermodul 500 verwendet werden können, umfassen eine SmartMedia-Karte, einen Speicherstab, eine Multimedia-Karte oder eine Miniatur-Karte. Obwohl die Speicher A und B in ein Ende des Speichermoduls 500 eingefügt sind, können sie an unterschiedlichen Positionen in dem Modul plaziert werden. Zum Beispiel können die Speicherschlitze nach oben oder unten und nicht zu dem Ende des Moduls bewegt werden. Eine Abdeckung 540 ist gezeigt, die die Schlitze für die Speicher A und B abdeckt, um dieselben vor Beschädigung zu schützen. Die Abdeckung wird durch Scharniere, Schrauben, eine Schnapplasche oder andere geeignete mechanische Anordnungen in Position gehalten und kann als separate außer Eingriff bringbare Abdeckungen für jeden der Speicher vorgesehen sein. Nur ein einzelner elektrischer Verbinder 510 ist an dem Speichermodul 500 vorgesehen, zum Zusammenpassen mit einem ähnlichen einzelnen Verbinder 510 an der gegenüberliegenden Fläche des Steuerungsmoduls 502. Bei diesem Ausführungsbeispiel sind beide Speicher A und B mit einem gemeinsamen elektrischen Verbinder 510 verbunden, wobei das Steuerungsmodul 502 zwischen denselben unterscheidet, durch Zuweisen unterschiedlicher digitaler Identifikationscodes zu denselben.
  • Bezug nehmend auf 6 sind das Steuerungsmodul 502, das Anwendungsmodul 105 und ein Speichermodul 600 in einer unterschiedlichen Konfiguration im Hinblick aufeinander gezeigt. Das heißt, das Speichermodul 600 ist nun zwischen dem Anwendungsmodul 105 und dem Steuerungsmodul 502 angeschlossen, wobei dessen Speicher von oben und nicht parallel zu der Systemachse geladen werden, wie in 5. Das Speichermodul 600 bei diesem Ausführungsbeispiel weist zu diesem Zweck elektrische Verbinder 415 an seinen gegenüberliegenden Seiten entlang der Systemachse auf.

Claims (17)

  1. Verfahren zum Speichern von Anwendungsdaten in einem redundanten Array aus unabhängigen Speichern, das folgende Schritte aufweist: Eingeben der Anwendungsdaten in einen ersten Speicher (Speicher A); Parken des ersten Speichers (Speicher A), wenn der erste Speicher (Speicher A) die Anwendungsdaten empfangen hat; Ausparken eines zweiten Speichers (Speicher B); Eingeben der Anwendungsdaten in den zweiten Speicher (Speicher B); und Parken des zweiten Speichers (Speicher B), wenn der zweite Speicher (Speicher B) die Anwendungsdaten empfangen hat, wodurch die Wahrscheinlichkeit reduziert wird, Anwendungsdaten aufgrund physischer Einwirkungen auf die Speicher zu verlieren.
  2. Verfahren gemäß Anspruch 1, bei dem der erste Speicher anfänglich geparkt wird und dann ausgeparkt wird, vor dem Empfangen der Anwendungsdaten.
  3. Verfahren gemäß Anspruch 1 oder 2, bei dem jeder der Speicher (Speicher A und B) ein jeweiliges Plattenlaufwerk aufweist, das eine Festplatte (225) aufweist, wobei das jeweilige Plattenlaufwerk in der Lage ist, geparkt zu werden, durch Bewegen eines Betätigermotor-Steuerarms (200) an dem Plattenlaufwerk zu einer Position entfernt aus einem Datenabschnitt der Festplatte (225), und durch Sichern des Betätigermotor-Steuerarms (200) in der entfernten Position, um den Steuerarm (200) zu hindern, die Festplatte (225) zu kontaktieren, wenn der Speicher einem Stoß ausgesetzt wird.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem die Anwendungsdaten in den zweiten Speicher eingegeben werden durch: Eingeben der Anwendungsdaten in einen internen Steuerungsspeicher (122); und Wiedergewinnen der Anwendungsdaten aus dem internen Steuerungsspeicher (122), um den Anwendungsspeicher in den zweiten Speicher (Speicher B) einzugeben.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem die Anwendungsdaten von einem Prozessor (125), der einen gemeinsamen Bus (110) aufweist, zu dem ersten Speicher (Speicher A) entlang eines Datenwegs, der aus dem Bus entfernt ist, gesendet werden.
  6. Verfahren zum Speichern von Anwendungsdaten in einem redundanten Array aus unabhängigen Speichern, das folgende Schritte aufweist: Empfangen der Anwendungsdaten in einem Steuerungsmodul; Ausparken eines ersten Speichers; Schreiben der Anwendungsdaten aus dem Steuerungsmodul in den ersten Speicher; Parken des ersten Speichers; Ausparken des zweiten Speichers; Schreiben der Anwendungsdaten aus dem Steuerungsmodul in den zweiten Speicher; und Parken des zweiten Speichers, wodurch die Wahrscheinlichkeit reduziert wird, daß Anwendungsdaten aufgrund einer Einwirkungs-Beschädigung eines Speichers unwiederbringbar verlorengehen.
  7. Verfahren gemäß Anspruch 6, bei dem das Steuerungsmodul die Anwendungsdaten von einem Anwendungsmodul empfängt.
  8. Master-Slave-Datenverwaltungssystem, das folgende Merkmale aufweist: einen Prozessor (125); einen Bus (110) in Kommunikation mit dem Prozessor (125); und einen ersten und einen zweiten Datenweg, die von dem Bus entfernt sind und dem Prozessor eine Kommunikation mit dem ersten bzw. dem zweiten Speicher liefern; wobei der Prozessor (125) programmiert ist, um ein Schreiben von Anwendungsdaten in den ersten Speicher zu vermeiden, außer der zweite Speicher ist geparkt und der erste Speicher ist ausgeparkt.
  9. System gemäß Anspruch 8, bei dem der Prozessor (125) einen Lese-/Schreib-Abschnitt aufweist und in den ersten Speicher durch den Lese-/Schreib-Abschnitt (150) schreibt.
  10. System gemäß Anspruch 8 oder 9, bei dem der Prozessor (125) programmiert ist, um ein Schreiben von Anwendungsdaten in den zweiten Speicher zu vermeiden, außer der erste Speicher ist geparkt und der zweite Speicher ist ausgeparkt.
  11. Master-Slave-Datenverwaltungssystem, das folgende Merkmale aufweist: einen Prozessor (125); und einen ersten und einen zweiten Speicher in Kommunikation mit dem Prozessor (125); wobei der Prozessor programmiert ist, um Anwendungsdaten zu dem ersten Speicher (Speicher A) zu senden, den ersten Speicher zu parken, wenn derselbe die Anwendungsdaten empfangen hat, den zweiten Speicher auszuparken und die Anwendungsdaten zu dem zweiten Speicher zu senden und den zweiten Speicher zu parken, wenn derselbe die Anwendungsdaten empfangen hat, wodurch die Wahrscheinlichkeit reduziert wird, Anwendungsdaten aufgrund von Einwirkungen auf einen Speicher zu verlieren.
  12. System gemäß Anspruch 11, das ferner folgende Merkmale aufweist: einen Bus (110) in Kommunikation mit dem Prozessor (125); und einen ersten und einen zweiten Datenweg, die von dem Bus getrennt sind und dem Prozessor eine Kommunikation mit dem ersten bzw. dem zweiten Speicher liefern.
  13. System gemäß Anspruch 11 oder 12, bei dem der Prozessor einen Lese-/Schreib-Abschnitt (150) umfaßt und in den ersten und den zweiten Speicher durch den Lese- /Schreib-Abschnitt schreibt.
  14. Verfahren zum Schreiben von Daten in eine Mehrzahl von redundanten Speichern, das folgende Schritte aufweist: Schreiben der Daten nacheinander in jeden der Speicher; und Parken jedes Speichers nach dem Fertigstellen des Schreibens von Daten in jeden Speicher und vor dem Schreiben der Daten in den nächsten Speicher.
  15. Verfahren gemäß Anspruch 14, bei dem jeder Speicher vor dem Schreiben von Daten in jeden Speicher ausgeparkt wird.
  16. Verfahren gemäß Anspruch 14 oder 15, bei dem das Parken folgende Schritte aufweist: Senden eines Parkbefehls von einer Steuerung zu jedem Speicher nach dem Fertigstellen des Schreibens der Daten und vor dem Schreiben der Daten in den nächsten Speicher.
  17. Verfahren gemäß Anspruch 16, bei dem die Parkbefehle intern innerhalb der Steuerung erzeugt werden.
DE102004017195A 2003-08-27 2004-04-07 Verfahren und System zum Speichern von Daten in unabhängigen Speichern Withdrawn DE102004017195A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/650611 2003-08-27
US10/650,611 US20050050266A1 (en) 2003-08-27 2003-08-27 Method and system of storing data in independent memories

Publications (1)

Publication Number Publication Date
DE102004017195A1 true DE102004017195A1 (de) 2005-04-07

Family

ID=34217205

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004017195A Withdrawn DE102004017195A1 (de) 2003-08-27 2004-04-07 Verfahren und System zum Speichern von Daten in unabhängigen Speichern

Country Status (3)

Country Link
US (1) US20050050266A1 (de)
JP (1) JP2005071379A (de)
DE (1) DE102004017195A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050068831A1 (en) * 2003-09-30 2005-03-31 Johnson Brian P. Method and apparatus to employ a memory module information file
US8520069B2 (en) 2005-09-16 2013-08-27 Digital Ally, Inc. Vehicle-mounted video system with distributed processing
SG131781A1 (en) * 2005-10-07 2007-05-28 Creative Tech Ltd A portable digital media device with a force sensor
US8503972B2 (en) 2008-10-30 2013-08-06 Digital Ally, Inc. Multi-functional remote monitoring system
US8234461B2 (en) * 2009-03-31 2012-07-31 General Electric Company Systems and method for data survivability
US10272848B2 (en) * 2012-09-28 2019-04-30 Digital Ally, Inc. Mobile video and imaging system
WO2014052898A1 (en) 2012-09-28 2014-04-03 Digital Ally, Inc. Portable video and imaging system
US9253452B2 (en) 2013-08-14 2016-02-02 Digital Ally, Inc. Computer program, method, and system for managing multiple data recording devices
US10390732B2 (en) 2013-08-14 2019-08-27 Digital Ally, Inc. Breath analyzer, system, and computer program for authenticating, preserving, and presenting breath analysis data
US10075681B2 (en) 2013-08-14 2018-09-11 Digital Ally, Inc. Dual lens camera unit
US9159371B2 (en) 2013-08-14 2015-10-13 Digital Ally, Inc. Forensic video recording with presence detection
US9841259B2 (en) 2015-05-26 2017-12-12 Digital Ally, Inc. Wirelessly conducted electronic weapon
US10013883B2 (en) 2015-06-22 2018-07-03 Digital Ally, Inc. Tracking and analysis of drivers within a fleet of vehicles
WO2017136646A1 (en) 2016-02-05 2017-08-10 Digital Ally, Inc. Comprehensive video collection and storage
US10521675B2 (en) 2016-09-19 2019-12-31 Digital Ally, Inc. Systems and methods of legibly capturing vehicle markings
US10911725B2 (en) 2017-03-09 2021-02-02 Digital Ally, Inc. System for automatically triggering a recording
US11024137B2 (en) 2018-08-08 2021-06-01 Digital Ally, Inc. Remote video triggering and tagging
US11950017B2 (en) 2022-05-17 2024-04-02 Digital Ally, Inc. Redundant mobile video recording

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69422058T2 (de) * 1993-08-19 2000-03-30 Seagate Technology Magnetische ruhestellungsvorrichtung für ein plattenlaufwerk
US5761166A (en) * 1994-05-06 1998-06-02 Sedlmayr; Steven R. Method and system for simultaneous storage and/or retrieval (storval) of a plurality of data on a disk means
US6078468A (en) * 1997-05-01 2000-06-20 Fiske; Orlo James Data storage and/or retrieval methods and apparatuses and components thereof
US6505281B1 (en) * 1998-06-02 2003-01-07 Raymond C. Sherry Hard disk drives employing high speed distribution bus
US6249890B1 (en) * 1998-06-05 2001-06-19 Seagate Technology Llc Detecting head readback response degradation in a disc drive
US20030046338A1 (en) * 2001-09-04 2003-03-06 Runkis Walter H. System and method for using programable autonomous network objects to store and deliver content to globally distributed groups of transient users

Also Published As

Publication number Publication date
US20050050266A1 (en) 2005-03-03
JP2005071379A (ja) 2005-03-17

Similar Documents

Publication Publication Date Title
DE102004017195A1 (de) Verfahren und System zum Speichern von Daten in unabhängigen Speichern
DE10355143A1 (de) Tragbares modulares elektronisches System mit symmetrischen Verbindungen
DE10337049A1 (de) Tragbares modulares Elektroniksystem
DE4133246C1 (de)
DE10262374B4 (de) System zur Erzeugung und Verteilung von Versorgungsspannungen in Speichersystemen
DE102005031131B4 (de) Vorrichtung zur Aufnahme in einen leeren Kartenschlitz eines Computers und Computer mit derselben
US7548418B2 (en) Data storage cartridge with non-tape storage medium and electrical targets
DE112019002372T5 (de) Aufzeichnungsmedium-kassette und laufwerksvorrichtung
DE60316462T2 (de) Speicherkarte mit mehreren Speicherchips und einem Umschalter
TW200921675A (en) Scaleable and maintainable solid state drive
EP0810015A3 (de) Videospielvorrichtung
DE102004003930A1 (de) Zusammengesetzte Speichervorrichtung und Kartenplatine dafür
DE102013020166A1 (de) Notabschaltungsinsel zum Speichern kritischer Daten in einem nichtflüchtigen Speicher
EP0373718A2 (de) Aufzeichnungs- und/oder Wiedergabesystem und Kassette für ein solches System
DE102004059813A1 (de) Betriebsverfahren für ein elektronisches Host-Karte-System und Speichersystem
US5768068A (en) Head/suspension design having fewer signal wires and making the same
DE602005002490T2 (de) Fehlertolerantes Datenspeicherungsverfahren
US6483710B1 (en) Method and apparatus to facilitate removal and installation of removable components
EP0461456A2 (de) In die Disketten- oder Kassettenstation einer EDV-Einrichtung einsteckbares Element
DE10162524A1 (de) Interfacevorrichtung für virtuelle Speicher
US11114126B2 (en) Disk drive server
EP1975796A2 (de) Computersystem
US7028155B2 (en) Master-slave data management system and method
DE4340868C2 (de) Mobiles Karteneingabegerät mit Kopplungseinrichtung
EP0884729A2 (de) Datenträgerzugriffssteuerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee