PatentDe  


Dokumentenidentifikation DE19540915A1 15.05.1996
Titel Redundante Anordnung von Festkörper-Speicherbausteinen
Anmelder Raymond Engineering, Inc., Middletown, Conn., US
Erfinder Young, Paul R., Cromwell, Conn., US;
Shumski, Gregory J., Colchester, Conn., US;
Solari, Peter L., Lebanon, Conn., US;
So, Yin Cheung, Fremont, Calif., US
Vertreter Patentanwälte von Kreisler, Selting, Werner et col., 50667 Köln
DE-Anmeldedatum 03.11.1995
DE-Aktenzeichen 19540915
Offenlegungstag 15.05.1996
Veröffentlichungstag im Patentblatt 15.05.1996
IPC-Hauptklasse G11C 14/00
IPC-Nebenklasse G06F 12/00   
Zusammenfassung Es wird ein Gerät präsentiert, bei dem eine redundante Anordnung von Festkörper-Bausteinen verwendet wird, wodurch die Architektur der RAID-Technologie in einzigartiger Weise mit Festkörper-Speicherbausteinen kombiniert wird. Das Gerät weist eine Vielzahl von Leiterplatteneinheiten (46, 48, 50, 52, 54) auf, die in einem Gehäuse (30) angebracht sind, vorzugsweise einem Gehäuse, das in ein 5 1/4 inch-Standard-Computerlaufwerk-Gestell paßt, oder einem Rack-Einschubgehäuse. Die Leiterplatteneinheiten (46, 48, 50, 52, 54) sind mit Festkörper-Speicherbausteinen (58, 80, 82, 104, 106, 108, 110, 112, 114), beispielsweise Flashspeicher-PCMCIA-Karten elektrisch verbunden. Eine Datenweg-Controllerschaltung (102) bildet die Schnittstelle zwischen einem Zentralcomputersystem und den Flashspeicherkarten (58, 80, 82, 104, 106, 108, 110, 112, 114).

Beschreibung[de]

Die vorliegende Erfindung bezieht sich auf Speicherbausteine. Insbesondere bezieht sich die vorliegende Erfindung aufeine redundante Anordnung von Festkörper-Speicherbausteinen.

Festkörper-Speicherbausteine sind gut bekannt und umfassen Bausteine wie ein ROM (read only memory) und ein RAM (random access memory). Diese Arten von (Festkörper-) Massenspeicherungsbausteinen auf Halbleiterbasis sind, verglichen mit mechanisch angetriebenen Magnetspeicherungs- (Speicher)bausteinen äußerst robust, sehr zuverlässig und sehr leistungsfähig. Verschiedene solcher Festkörperbausteine werden nachstehend nur kurz besprochen, da jeder von ihnen im Handel leicht erhältlich ist und gut bekannt ist.

Bei einem "dynamic random access memory" (DRAM) wird ein einzelner Transistor für jede Speicherzelle verwendet. Ein DRAM wird gewöhnlich als Computer-Hauptspeicher verwendet, aber infolge der erforderlichen Auffrischungs- und Dauerstromversorgung im allgemeinen als ungeeignet für nichtflüchtige Speicheranwendungen angesehen.

Ein "static random access memory" (SRAM) ist im Grunde ein Hochleistungs-RAM, da mehrere Transistoren pro Speicherzelle verwendet werden. Ein SRAM hat eine niedrigere Speicherdichte als ein DRAM, aber erfordert keine Auffrischungs- oder Dauerstromversorgung, um die Speicherung aufrechtzuerhalten.

Bei einem "electronically erasable programmable read only memory" (EEPROM oder E²PROM) werden zwei Transistoren pro Speicherzelle verwendet, und es ist keine Dauerstromversorgung erforderlich, um die Speicherung aufrechtzuerhalten. EEPROMs sind jedoch in der Anzahl der Überschreibungen bei dem Baustein begrenzt.

Bei einem "erasable programmable read only memory" (EPROM) wird ein einzelner Transistor pro Speicherzelle verwendet, die durch Belichtung mit ultraviolettem Licht, das durch ein Fenster in den Baustein einfällt, löschbar ist. Im Gegensatz zu dem EEPROM ist der EPROM beim Kunden schwierig zu verwenden, da ein externes Gerät zum Löschen erforderlich ist.

Ein FLASH EEPROM (nachstehend als Flashspeicher bezeichnet) ist eine Kombination der EPROM- und der EEPROM- Technologie. Bei dem Flashspeicher wird ein einzelner Transistor pro Speicherzelle verwendet, das heißt, er hat eine ähnliche Architektur wie der EPROM, und wird elektronisch gelöscht, das heißt, er ist dem EEPROM ähnlich. Eine Art von Flashzelle wird gewöhnlich als ETOX (EEPROM mit Tunneloxid) bezeichnet. Die Flashzellen werden durch Tunnel-Elektronen aufgrund eines sogenannten Fowler-Nordeim-Tunneleffekts gelöscht, wie bekannt ist. Der Flashspeicher ist nichtflüchtig (ähnlich wie Magnetmedia-Speicherbausteine), und Löschen und Überschreiben erfolgen bei kompatiblen Blocksektoren des Bausteins, nicht bei einzelnen Bytes oder anderen Datensegmenten, wie bei Magnetmedia-Speicherbausteinen. Der Flashspeicher hat den ETOX überholt, wobei er eine Architektur hat, die für Festkörperanwendungen konfiguriert ist, und unter Verwendung eines dreifachen Polysilizium-CMOS (complementary metal oxide semiconductor)-Prozesses hergestellt wird, und bei der SunDisk Corp., Santa Clara, Kalifornien, als Teil Nr. SPD5A-40 kommerziell erhältlich ist. Dieser dreifache Polysilizium-CMOS-Baustein ermöglicht eine 512 Byte Blocklöschgröße, die mit den meisten Plattenbetriebssystemen kompatibel ist, umfaßt einen Überlöschschutz, und bietet mindestens 200.000 Lösch/Schreib-Zyklen. Weiterhin setzt die serielle Architektur des dreifachen Polysilizium-CMOS-Bausteins die Kontaktzahl auf ein Minimum herab, wodurch die Größe reduziert wird, so daß ein kompakter Flashspeicher-Baustein mit hoher Dichte erhalten wird. Der Flashspeicher wird gewöhnlich in einem PCMCIA (personal computer memory card international association)-Format verpackt, für die Verwendung in Laptop- und Desktop-Computern als herausnehmbarer Massenspeicher. Der oben besprochene, dreifache Polysilizium-CMOS-Baustein ist gut geeignet für PCMCIA-Anwendungen.

PCMCIA-Karten sind gegenwärtig als Typ I, Typ II und Typ III definiert. Karten vom Typ I enthalten im allgemeinen Softwareprogramme oder einen zusätzlichen Speicher. Karten vom Typ II enthalten gewöhnlich Modems (z. B. Daten- und Fax- Modems) und Netzadapter. Karten vom Typ III sind dick genug, um herausnehmbare Festplatten-Laufwerke und drahtlose Kommunikationsbausteine aufzunehmen.

Die oben beschriebenen Festkörper-Flashspeicher-Bausteine sind bei Lese/Schreib-Vorgängen wesentlich langsamer, und haben eine wesentlich niedrigere Speicherdichte als die gut bekannten, mechanisch angetriebenen Magnetmedia-Speicherbausteine. Solche mechanisch angetriebenen Magnetmedia- Speicherbausteine sind jedoch wesentlich weniger robust und zuverlässig als die Festkörper-Speicherbausteine.

Die Zuverlässigkeit der mechanisch angetriebenen Magnetmedia-Speicherbausteine wurde durch die Einführung der RAID (redundant array of inexpensive disks)-Technologie gewaltig verbessert. Bei der RAID-Technologie wird eine Vielzahl von Magnetmedia-Platten zu einer Anordnung zusammengebaut, und über eine Hardware/Software-Schnittstelle einem Zentralcomputersystem als ein einzelnes, logisches, physisches Plattenlaufwerk präsentiert. Bei einem RAID-System auf Hardware-Basis wird eine dedizierte elektronische Schaltung verwendet, um die Verarbeitungsfunktionen des RAID- Systems auszuführen. Ein RAID-System auf Software-Basis umfaßt eine Hardware, und außerdem eine Software, die Verarbeitungsfunktionen des RAID-Systems auf die CPU (central processing unit) des Zentralcomputers überträgt. Das RAID-System wird als ein zuverlässiger Computer-Massenspeicher- Speicherungsbaustein verwendet, der das Risiko eines Datenverlustes auf ein Minimum herabsetzt.

Während die einzelnen Laufwerke bei einem RAID-System immer noch den gleichen Ausfallraten unterliegen, stellen redundante Systeme sicher, daß die Daten selbst dann verfügbar sind, wenn eines der Laufwerke ausfällt. Beispielsweise beträgt bei einer Anordnung mit fünf Platten, von denen jede eine MTBF (mean time between failure) von 250.000 Stunden hat, die mittlere Zeit zwischen der Daten-Unverfügbarkeit bei dem RAID-System (d. h., wenn zwei Laufwerke gleichzeitig ausfallen) theoretisch 250.000.000.000 Stunden, mit anderen Worten ungefähr 29.000.000 Jahre.

Redundanz ist ein Verfahren zur Speicherung von redundanten Daten auf Laufwerken innerhalb der Anordnung, so daß bei Ausfall eines einzelnen Laufwerks die Daten der ausgefallenen Platte mittels der redundanten Daten der anderen, funktionsfähigen Laufwerke rekonstruiert werden können. Diese mathematische Technik zur Speicherung von redundanten Daten ist gut bekannt und wird als Parität bezeichnet, bei der gewöhnlich eine exklusive ODER-Funktion verwendet wird, und sie ist ein wichtiges Merkmal des RAID- Systems.

Es wurde ein RAID-Beratungsausschuß gebildet, der RAID- Konfigurationen als Industriestandards definiert. Beispielsweise hat RAID-0 Platten mit auf die Laufwerke gestrippten Daten. Stripping ist ein bekanntes Verfahren zum raschen Speichern von Datenblöcken auf einer Reihe von verschiedenen Laufwerken. Bei RAID-0 wird jedes Laufwerk unabhängig von den anderen Laufwerken gelesen, und es gibt keine Redundanz. Daher verbessert die RAID-0-Konfiguration die Geschwindigkeit, aber erhöht nicht die Datenzuverlässigkeit, verglichen mit einzelnen Laufwerken. RAID-1 definiert eine Konfiguration, bei der die Daten in identischer Form, oder spiegelbildlich auf zwei oder mehr Laufwerke geschrieben werden. Bei dieser Konfiguration sind viele Laufwerke erforderlich, und daher ist sie keine wirtschaftliche Lösung für die Datenzuverlässigkeit. Bei RAID-2 werden komplexe ECC (error correction codes)-Codes verwendet, die auf mehrere redundante Platten geschrieben werden. RAID-3 weist Redundanz auf, wobei ein einzelnes Plattenlaufwerk verwendet wird, um den für die Parität benötigten, zusätzlichen Speicher aufzunehmen, der aufalle Laufwerke aufgeteilt ist. Diese Konfiguration wird gewöhnlich verwendet, wenn hohe Übertragungsraten erforderlich sind und/oder lange Datenblöcke verwendet werden. Die anderen (d. h. vom dem Paritäts-Laufwerk verschiedenen) Plattenlaufwerke der RAID-3-Konfiguration sind an jedem Eingabe/Ausgabe-Vorgang beteiligt, der von der Anordnung ausgeführt wird, d. h. paralleler Zugriff. Die RAID-4 stimmt mit der RAID-3 darin überein, daß sie ebenfalls die verschachtelte Parität verwendet, aber im Gegensatz zu der RAID-3 verwendet die RAID-4 die block-verschachtelte Parität und nicht die bit-verschachtelte Parität. Folglich definiert die RAID-4 eine parallele Anordnung, bei der Block-Stripping und eine einzelne, redundante Paritätsplatte verwendet werden. Die RAID-5-Konfiguration hat eine Parität, die auf alle Laufwerke der Anordnung aufgeteilt ist. Bei der RAID-5- Konfiguration sind jedoch die Platten unabhängig voneinander, d. h. unabhängiger Zugriff, der bei vielen Eingabe/Ausgabe- Anforderungen benutzt wird, da mit ihm gleichzeitige Eingabe/Ausgabe-Vorgänge rascher ausgeführt werden können. Die RAID-5-Konfiguration wird gewöhnlich bei vernetzten Mehrplatz- Arbeitsstationen verwendet. Bei der RAID-1-Konfiguration und höheren Konfigurationen kann gewöhnlich eine Platte ausfallen, ausgebaut werden, und ersetzt werden, ohne daß eine Unterbrechung eintritt. Danach wird ein neues Laufwerk rasch rekonstruiert, wodurch dem System seine ursprüngliche Konfiguration zurückgegeben wird. Solche Systeme vom RAID-Typ sind beispielsweise bei Allodyne, Freemont, Kalifornien, unter der Bezeichnung "The Allodyne Dorado High Performance Disk Array" kommerziell erhältlich.

Die oben besprochenen und weitere Nachteile und Unzulänglichkeiten des Standes der Technik werden durch ein Festkörper-Speichersystem zur Speicherung von Daten beseitigt oder vermindert, das über eine Schnittstelle mit einem Zentralcomputersystem verbunden ist, wobei dieses Festkörper- Speichersystem eine Vielzahl von Festkörper-Speicherbausteinen und Schnittstellenverbindungsmittel aufweist, um die Vielzahl von Festkörper-Speicherbausteinen dem Zentralcomputersystem als einen einzelnen, logischen Festkörper-Speicherbaustein zu präsentieren. Gemäß der vorliegenden Erfindung ist die Architektur vom RAID-Technologie-Typ in einzigartiger Weise mit Festkörper-Speicherbausteinen kombiniert. Die redundante Anordnung von Festkörper-Speicherbausteinen ergibt wesentlich (ungefähr 8- bis 10 mal) schnellere Lese/Schreib-Vorgänge und eine wesentlich größere Speicherdichte als die Festkörperspeicherbausteine einzeln, und ist wesentlich robuster und zuverlässiger als die mechanisch angetriebenen Magnetmedia- Speicherbausteine.

Der Baustein weist eine Vielzahl von Leiterplatteneinheiten auf, die in einem Gehäuse angebracht sind, vorzugsweise einem Gehäuse, das in ein 5 1/4 inch-Standard-Computerlaufwerk-Gestell paßt, oder einem Rack-Einschubgehäuse. Die Leiterplatteneinheiten sind mit Festkörper-Speicherbausteinen, beispielsweise Flashspeicher-PCMCIA-Karten, elektrisch verbunden.

Eine Datenweg-Controllerschaltung bildet die Schnittstelle zwischen einem Zentralcomputersystem und den Flashspeicher- Karten. Die Datenweg-Controllerschaltung weist eine Datenwegsteuer-ASIC (application specific integrated circuit) und einen zugeordneten Cache-Puffer für die Datenwegsteuerung, die Paritätserzeugung und das Datenstripping auf. Die Datenwegsteuer-ASIC ist über eine Schnittstelle mit einem Mikroprozessor verbunden, der die Einstellung der Datenwegsteuer-ASIC ausführt, einen SCSI-2-Controller steuert, ein RS- 232 ATE (automatic test equipment)-Schnittstellen-Port steuert, und Fehler- und Zustandsprotokolle für das System führt. Die Datenübertragung zwischen einem Zentralcomputer und dem-Baustein der vorliegenden Erfindung entspricht dem SCSI-2- Standardprotokoll. Die Betriebssoftware wird in den Flashspeicher-Karten redundant gespeichert, und während des Boot-up des Systems auf einen 1 MB RAM-Speicher heruntergeladen. Das Boot-up-Firmware-Programm ist in einem 32 kbyte-EPROM gespeichert. Die Firmware umfaßt die Systeminitialisierung, den eingebauten Test, sowie die SCSI- und Datenverwaltungsroutinen. Der eingebaute Test umfaßt Ausfallerfassungs- und Ausfall-Lokalisierungsfunktionen für sowohl organisatorische, als auch dazwischenliegende Wartungsniveaus.

Jede der Flashspeicher-PCMCIA-Karten kann in ein hermetisch verschlossenes Metallgehäuse eingeschlossen werden, das für die Verwendung in aggressiven Umgebungen geeignet ist. Außerdem ist jede der Flashspeicher-PCMCIA-Karten in Sektoren unterteilt, und ein Bereich jedes Speicherelements ist als Reserve-Speicherplatz konfiguriert. Jede Flashspeicher-PCMCIA- Karte weist einen Flashspeicher, einen intelligenten Controller, und einen Speichersteuer-Mikroprozessor auf, wie bekannt ist. In dem intelligenten Controller gespeicherte Algorithmen werden durch dem Speichersteuer-Mikroprozessor implementiert, um diesen Reserve-Speicherplatz für die Sicherstellung einer zuverlässigen Datenintegrität zu verwenden.

Jede der obenerwähnten Konfigurationen vom RAID-Typ (z. B. RAID-0 bis RAID-5) kann bei den Festkörper-Speicherbausteinen verwendet werden, wie dies gewöhnlich in der Software oder Hardware implementiert ist, wie gut bekannt ist. Weiterhin können alle elektrischen Speicherbausteine, die für die Massenspeicherung geeignet sind, in einer redundanten Anordnung konfiguriert werden, wie diese hier definiert ist.

Die oben besprochenen und weitere Merkmale und Vorteile der vorliegenden Erfindung werden für Fachleute auf diesem Gebiet aufgrund der folgenden ausführlichen Beschreibung und der beigefügten Zeichnungen ersichtlich und verständlich werden.

Im Folgenden wird auf die Zeichnungen Bezug genommen, bei denen in den verschiedenen Figuren gleiche Elemente mit den gleichen Kennziffern bezeichnet sind.

Die Fig. 1 ist eine perspektivische Vorderseitenansicht eines Gerätes, bei dem eine der vorliegenden Erfindung entsprechende, redundante Anordnung von Festkörper-Speicherbausteinen verwendet wird, wobei die Frontplatte geschlossen ist.

Die Fig. 2 ist eine perspektivische Vorderseitenansicht des Gerätes der Fig. 1, wobei die Frontplatte offen ist.

Die Fig. 3 ist eine perspektivische Rückseitenansicht des Gerätes der Fig. 1.

Die Fig. 4 ist eine schematische perspektivische Ansicht einer aus dem Gerät der Fig. 1 herausgenommenen Leiterplatteneinheit.

Die Fig. 5 ist eine schematische perspektivische Ansicht einer weiteren, aus dem Gerät der Fig. 1 herausgenommenen Leiterplatteneinheit.

Die Fig. 6 ist ein Blockschaltbild der Elektronik des Gerätes der Fig. 1.

Die Fig. 7 ist eine schematische Darstellung der Speicherkonfiguration der Flashspeicher-Karten, die gemäß einer Konfiguration vom RAID-3-Typ in dem Gerät der Fig. 1 enthalten sind.

Die Fig. 8A-S sind Schaltbilder der Elektronik des Gerätes der Fig. 1.

Die Fig. 9 ist ein Software-Hierarchie-Schema der bei dem Gerät der Fig. 1 verwendeten Software.

Die Fig. 10 ist eine explodierte perspektivische Vorderseitenansicht eines Gerätes, bei dem eine einer alternativen Ausführungsform der vorliegenden Erfindung entsprechende, redundante Anordnung von Festkörper-Speicherbausteinen verwendet wird.

Die Fig. 11 ist eine Vorderseitenansicht einer alternativen Ausführungsform der Vorderseiten-Deckplatte für das Gerät der Fig. 10.

Die Fig. 12 ist ein Seitenriß der Vorderseiten-Deckplatte der Fig. 11.

Die Fig. 13A-T sind Schaltbilder der Elektronik des Gerätes der Fig. 10.

Die vorliegende Erfindung verbindet die Architektur der RAID-Technologie in einzigartiger Weise mit Festkörper- Speicherbausteinen, wodurch viele der obenerwähnten jeweiligen Unzulänglichkeiten beseitigt werden. Speziell wird ein Gerät vorgeschlagen, bei dem eine redundante Anordnung von Festkörper-Speicherbausteinen verwendet wird. Die redundante Anordnung von Festkörper-Speicherbausteinen ergibt wesentlich schnellere Lese/Schreib-Vorgänge und eine wesentlich größere Speicherdichte als die Festkörper-Speicherbausteine einzeln, und ist wesentlich robuster und zuverlässiger als die mechanisch angetriebenen Magnetmedia- Speicherbausteine.

In den Fig. 1-3, auf die nun Bezug genommen wird, umfaßt ein Gehäuse 30, das in ein halbhohes 5 1/4 inch Standard-Computerlaufwerk-Gestell paßt, eine Vorderseiten- Türplatte 32, die durch zwei Scharniere 34 schwenkbar befestigt ist. Eine Rückseitenplatte 36 gibt Zugang zu einem SCSI-2 (small computer system interface)-Verbinder 38, zwei Rs-232-Verbindern 40 und 42, und einem Netzverbinder 44, von denen jeder an einer Rückseitenfläche (nicht wiedergegeben) befestigt ist. Eine Vielzahl von Leiterplatteneinheiten 46, 48, 50, 52 und 54 sind in dem Gehäuse 30 angebracht und mit der Rückseitenfläche verbunden.

In der Fig. 4, auf die nun Bezug genommen wird, ist eine Leiterplatteneinheit 46 wiedergegeben. Die Leiterplatteneinheit 46 weist eine Leiterplatte 56 auf, auf der elektronische Komponenten und eine Verbindungsschaltung (nicht wiedergegeben) angebracht sind. Ein Festkörper-Speicherbaustein, bei diesem Beispiel eine 5-40 Mbyte-Flashspeicher- PCMCIA-Karte 58 (z. B. Teil Nr. SPD5A-40, kommerziell erhältlich bei der SunDisk Corp., Santa Clara, Kalifornien), ist mit der Leiterplatte 56 über seinen 68-poligen Standardverbinder elektronisch verbunden. Die Flashspeicher-Karte 58 ist an der Leiterplatte 56 mechanisch befestigt durch die Kartenhaltereinheit 60, die Mittel, d. h. eine Taste 62, umfaßt, um die Karte 58 aus der Einheit 60 freizugeben. Die Einheit 60 ist durch Standardbefestigungen 64 an der Leiterplatte 56 befestigt. Eine solche Kartenhaltereinheit 60 ist bei der Hirose Electronics als Teil Nr. IC7-68Pd-127SF-EJR kommerziell erhältlich. Eine Vielzahl von LEDs (light emitting diodes) 66-76 ist an dem exponierten Ende der Leiterplatte 56 angebracht, um den Zustand des Systems anzuzeigen. Eine LED ist dazu bestimmt, den Zustand jeder Flashspeicher-Karte des Systems zu überwachen, wobei bei dem vorliegenden Beispiel neun Flashspeicher-Karten vorgesehen sind, und eine LED ist dazu bestimmt, den Zustand des gesamten Systems zu überwachen.

In der Fig. 5, auf die nun Bezug genommen wird, ist eine Leiterplatte 48 wiedergegeben. Nur die Leiterplatte 48 wird beschrieben, da sie den Leiterplatten 50, 52 und 54 entspricht. Die Leiterplatte 48 weist eine Leiterplatte 78 auf-, auf der elektronische Komponenten, und eine Verbindungsschaltung (nicht wiedergegeben) angebracht sind. Zwei Festkörper-Speicherbausteine, bei diesem Beispiel die 5-40 Mbyte-Flashspeicher-PCMCIA-Karten 80 und 82 (z. B. Teil Nr. SPD5A-40, kommerziell erhältlich bei der SunDisk Corp., Santa Clara, Kalifornien), sind über ihre 68-poligen Standardverbinder mit der Leiterplatte 78 elektronisch verbunden. Die Flashspeicher-Karte 80 ist an der Leiterplatte 78 mechanisch befestigt durch die Kartenhaltereinheit 84, die Mittel, d. h. eine Taste 86, umfaßt um die Karte 80 aus der Einheit 84 freizugeben. Die Einheit 84 ist mit Standardbefestigungen 88 an der Leiterplatte 78 befestigt. Die Flashspeicher-Karte 82 ist an der Leiterplatte 78 mechanisch befestigt durch eine Kartenhaltereinheit 90, die Mittel, d. h. eine Taste 92, umfaßt um die Karte 82 aus der Einheit 90 freizugeben. Die Einheit 90 ist mit Standardbefestigungen 94 an der Leiterplatte 78 befestigt. Solche Kartenhaltereinheiten 84 und 90 sind bei der Hirose Electronics als Teil Nr. IC7-68Pd-127SF- EJR kommerziell erhältlich.

In der Fig. 6, auf die nun Bezug genommen wird, ist ein Blockschaltbild der Elektronik mit redundanter Anordnung bei der allgemeinen Kennziffer 100 wiedergegeben. Eine Datenweg- Controllerschaltung 102 bildet die Schnittstelle zwischen einem Zentralcomputersystem und den Flashspeicher-Karten 58, 80, 82, 104, 106, 108, 110, 112 und 114. Die Flashspeicher- Karte 58 ist auf der Leiterplatteneinheit 46 angeordnet. Die Flashspeicher-Karten 80 und 82 sind auf der Leiterplatteneinheit 48 angeordnet. Die Flashspeicher-Karten 104 und 106 sind auf der Leiterplatten-Einheit 50 angeordnet. Die Flashspeicher-Karten 108 und 110 sind auf der Leiterplatten- Einheit 52 angeordnet. Die Flashspeicher-Karten 112 und 114 sind auf der Leiterplatten-Einheit 54 angeordnet.

Die Datenweg-Controllerschaltung 102 weist eine Datenwegsteuer-ASIC (application-specific integrated circuit) 112 für die-Datenweg-Steuerung, die Paritätserzeugung und das Datenstripping auf. Die Datenwegsteuer-ASIC 112 ist über einen Bus 116 mit einem zugeordneten Cache-Puffer 114 verbunden. Die Datenwegsteuer-ASIC 112 ist über einen Bus 120 mit einem Mikroprozessor 118 verbunden. Der Mikroprozessor 118 arbeitet im 40 MHz-Takt, verwaltet die Einstellung der Datenwegsteuer- ASIC 112, steuert einen SCSI-2-Controller 122, steuert eine 9600 baud RS-232 ATE (automatic test equipment)-Schnittstellen-Port, und führt das Fehler- und Zustandsprotokoll für das System. Der Mikroprozessor 118 ist beispielsweise bei Intel als Teil Nr. TS80C186XL-20 kommerziell erhältlich. Die ATE-Schnittstelle ist ein herkömmliches serielles RS-232- Kommunikations-Port, das mit einem ASCII-Terminal oder einem Kommunikationsprogramm verbunden werden kann, um eine Terminalbeurteilung auszuführen. Die Datenwegsteuer-ASIC 112 ist über einen Bus 124 mit dem SCSI-2-Controller verbunden, wodurch die Datenübertragungen zwischen einem Zentralcomputer 125 und der Datenwegsteuer-ASIC 112 gemäß dem SCSI-2- Standardprotokoll erfolgen. Der SCSI-2-Controller 122 führt die Datenverwaltung aus und führt das Schnittstellen- Protokoll. Die Betriebs-Firmware ist in den Flashspeicher- Karten redundant gespeichert, und wird während des Boot-up des Systems auf einen 1 MB RAM 126 heruntergeladen. Das Boot-up- Programm ist in einem 32 kbyte-EPROM 128 gespeichert. Der RAM 126 enthält auch ein Prozessor-Hilfsregister und speichert die programmvariablen. Die Firmware umfaßt die System- Initialisierung, den eingebauten Test, sowie die SCSI- und Datenverwaltungs-Routinen. Der eingebaute Test umfaßt Ausfallerfassungs- und Ausfall-Lokalisierungsfunktionen für sowohl organisatorische, als auch dazwischenliegende Wartungsniveaus. Der eingebaute Test wird durch Fernsteuerung und Selbstüberwachung der Betriebsarten ausgelöst. Die Fehlerzustandsmeldung erfolgt durch Fernanzeige mittels SCSI-Bus- Fehleranzeigesignalen. DMA (direct memory access)- Übertragungen werden zwischen dem SCSI-2-Controller 122 und dem RAM 126, und zwischen dem RAM 126 und den Flashspeicher- Karten unterstützt. Die Kommunikation zwischen dem Datenwegsteuer-ASIC 112 und den Flashspeicher-Karten erfolgt über einen Bus 130.

Jede der Flashspeicher-PCMCIA-Karten ist vorzugsweise in einem hermetisch verschlossenen Metallgehäuse eingeschlossen, wie dies in der am 5. Oktober 1994 eingereichten US- Patentanmeldung Nr. 08/318.507 mit dem Titel HERMETICALLY SEALED PC CARD UNIT beschrieben ist, die durch Verweisung ausdrücklich in die vorliegende Patentanmeldung einbezogen wird. Diese hermetisch verschlossenen Karten können harte Umgebungsbedingungen aushalten, d. h. Funktionsfähigkeit innerhalb eines breiten Temperaturbereichs, Höhenunterschiede, Stöße Vibrationen, vollständiges Eintauchen in Wasser, Regen, Salzspray, Sand und Staub, Hydraulikfluid, und Störstrahlungstoleranz.

Weiterhin ist jede der Flashspeicher-PCMCIA-Karten in 512 byte-Sektoren unterteilt, und ein Bereich jedes Speicherelements ist als Reserve-Speicherplatz konfiguriert. Jede Flashspeicher-PCMCIA-Karte weist einen Flashspeicher 132, einen intelligenten Controller 134, und einen Speichersteuer- Mikroprozessor 136 auf, wie bekannt ist. Die in dem intelligenten Controller 134 gespeicherten Algorithmen werden durch den Speichersteuer-Mikroprozessor 136 implementiert, um diesen Reserve-Speicherplatz zur Sicherung einer zuverlässigen Datenintegrität zu verwenden.

Die Stromversorgungsschaltung 134 weist einen Stromumformer, Stromversorgungsregler, und Systemfreigabefunktionsschaltungen auf, um das System mit einer geregelten Gleichspannung von +5 Volt zu versorgen.

Wie oben angegeben wurde, erfolgt die Kommunikation gemäß dem SCSI-2-Standard. Gemäß dem SCSI-2-Standard werden Informationsübertragungen mit neun Steuersignalen und neun Datensignalen über einen Achtzehn-Signal-Schnittstellen-Bus ausgeführt. Die Kommunikation auf dem Bus erfolgt zwischen einem Initiator und einem Target, wobei ein Initiator (d. h. der Zentralcomputer) einen Vorgang erzeugt, und ein Target (d. h. die redundante Anordnung von Festkörper-Speicherbausteinen) den Vorgang ausführt.

In der Fig. 7, auf die nun Bezug genommen wird, wird bei dem vorliegenden Beispiel eine Konfiguration vom Typ RAID-3 verwendet, die neun Flashspeicher-Karten 58, 80, 82, 104, 106, 108, 110, 112 und 114 aufweist, um Daten auf parallele Weise zu speichern. Dabei ist jedoch ersichtlich, daß die vorliegende Erfindung kein RAID-System ist, da bei einem solchen System per Definition magnetische Platten verwendet werden, im Gegensatz zu den Festkörper-Speicherbausteinen der vorliegenden Erfindung. Die acht Karten 80, 82, 104, 106, 108, 110, 112 und 114 werden verwendet, um Daten zu speichern, während die Karte 58 dazu bestimmt ist, die Parity-Information zu speichern. Die Parity-Information wird verwendet, um im Falle eines Ausfalls bei einer der Karten die Daten zu rekonstruieren. Diese parallele Konfiguration ermöglicht, bei allen Karten gleichzeitig Daten zu schreiben oder zu lesen, was eine Vervielfachung der Datenübertragungsrate der Flashspeicher-Karte zur Folge hat. Zur Veranschaulichung, eine einzelne Flashspeicher-PCMCIA-Karte hat eine Datenübertragungsrate von 0,5 Mbytes/Sekunde, und die Anordnung von Flashspeicher-PCMCIA-Karten des vorliegenden Beispiels hat eine Datenübertragungsrate von 4 Mbytes/Sekunde. Während es möglich ist, in einzelnen Blöcken (gewöhnlich 512 bytes pro Block) zu schreiben und zu lesen, ist keine zusätzliche organisatorische Operation erforderlich, um bei allen Karten zu schreiben oder zu lesen, wodurch die optimale Leistungsfähigkeit erreicht wird, wenn bei jedem Befehl eine große Anzahl von Blöcken geschrieben oder gelesen wird. Diese Konfiguration findet Anwendung, wenn große Dateien verwendet werden, und wenn große Datenübertragungsraten erforderlich sind.

Vorstehend wird zwar eine Konfiguration vom Typ RAID-3 für die redundante Anordnung von Festkörper-Speicherbausteinen beschrieben, aber es ist ersichtlich, daß jede der Konfigurationen vom RAID-Typ für die Festkörper-Speicherbausteine verwendet werden kann. Weiterhin ist ersichtlich, daß hier die Redundanz als Verfahren zur Speicherung von redundanten Daten auf Flashspeicher-PCMCIA-Karten innerhalb der Anordnung verwendet wird, so daß bei Ausfall einer einzelnen Karte die Daten der ausgefallenen Karte unter Verwendung der redundanten Daten der anderen beteiligten Karten rekonstruiert werden können. Diese mathematische Technik zur Speicherung von redundanten Daten ist gut bekannt und wird als Parität bezeichnet, bei der gewöhnlich eine exklusive ODER-Funktion verwendet wird, und ist ein wichtiges Merkmal der vorliegenden Erfindung.

Gemäß der vorliegenden Erfindung werden die nachfolgenden Konfigurationen betrachtet, die jedoch keine Begrenzung der Erfindung darstellen. Eine redundante Anordnung von Flashspeicher-PCMCIA-Karten, die so konfiguriert ist, daß die Daten über die Karten gestrippt werden, entspricht der Konfiguration vom Typ RAID-0. Stripping ist ein Verfahren, um Datenblöcke auf einer Reihe verschiedener Karten rasch zu speichern. Bei dieser Konfiguration wird jede Karte unabhängig von den anderen Karten gelesen, und es gibt keine Redundanz. Daher verbessert diese Konfiguration vom Typ RAID-0 die Geschwindigkeit, aber erhöht nicht die Datenzuverlässigkeit, verglichen mit einzelnen Karten. Eine redundante Anordnung von Flashspeicher-PCMCIA-Karten, die so konfiguriert ist, daß die Daten in identischer Form, oder spiegelbildlich auf zwei oder mehr Karten geschrieben werden, entspricht der Konfiguration vom Typ RAID-1. Bei dieser Konfiguration sind viele Karten erforderlich, und daher ist sie keine wirtschaftliche Lösung für die Datenzuverlässigkeit. Eine redundante Anordnung von Flashspeicher-PCMCIA-Karten, bei der komplexe ECC (error correction codes)-Codes verwendet, die auf mehrere redundante Karten geschrieben werden, entspricht der Konfiguration vom Typ RAID-2. Eine redundante Anordnung von Flashspeicher- PCMCIA-Karten, die Redundanz aufweist, wobei eine einzelne Karte verwendet wird, um den für die Parität (d. h. bitverschachtelte Parität) benötigten, zusätzlichen Speicher aufzunehmen, der unter allen Karten aufgeteilt wird, entspricht der Konfiguration vom Typ RAID-3 und wird in dieser Patentanmeldung beschrieben. Die anderen (d. h. von der Paritäts-Karte verschiedenen) Karten sind an jedem von der Anordnung ausgeführten Eingabe/Ausgabe-Vorgang beteiligt, d . h. paralleler Zugriff. Eine redundante Anordnung von parallel angeordneten Flashspeicher-PCMCIA-Karten, bei der Block- Stripping und eine einzelne, redundante Paritäts-Karte (d. h. block-verschachtelte Parität) verwendet werden, entspricht der RAID-4-Konfiguration. Eine redundante Anordnung von Flashspeicher-PCMCIA-Karten, bei der die Parität auf alle Karten der Anordnung aufgeteilt ist, entspricht der Konfiguration vom Typ RAID-5. Bei dieser Konfiguration sind jedoch die Karten unabhängig voneinander, d. h. unabhängiger Zugriff, der bei vielen Eingabe/Ausgabe-Anforderungen benutzt wird, da mit ihm gleichzeitige Eingabe/Ausgabe-Vorgänge rascher ausgeführt werden können. Diese Konfiguration wird für gut geeignet gehalten zur Verwendung bei vernetzten Mehrplatz- Arbeitsstationen. Bei einer Konfiguration vom Typ RAID-1 und höheren Konfigurationen kann eine Platte ausfallen, herausgenommen werden, und ersetzt werden, ohne daß eine Unterbrechung eintritt. Danach wird eine neue Karte rasch rekonstruiert, wodurch dem System seine ursprüngliche Konfiguration zurückgegeben wird.

In den Fig. 8A-S, auf die nun Bezug genommen wird, sind Schaltbilder der Elektronik bei redundanter Anordnung wiedergegeben. Diese Schaltungen wurden oben unter Bezugnahme auf ein Blockschaltbild der Elektronik (Fig. 6) beschrieben. Dieses detaillierte Schaltbild ist für einen Fachmann auf diesem Gebiet leicht verständlich. Es ist auch ersichtlich, daß dieses Schaltbild nur ein typisches Beispiel ist und nicht den Geltungsbereich der vorliegenden Erfindung begrenzen soll, da für einen Fachmann auf diesem Gebiet andere Schaltungskonfigurationen erkennbar sein können.

In der Fig. 9, auf die nun Bezug genommen wird, ist ein Software-Hierarchie-Schema der bei der vorliegenden Erfindung verwendeten Software wiedergegeben. Die in dem EPROM 128 gespeicherte Routine boot.rom umfaßt: einen Starter-Code, der die Hardware initialisiert, die Diagnose durchführt, und die Routine loader2.rom lädt; Software-Unterbrechungsdienste, die auf die Lese- und Schreibfähigkeit der Karten begrenzt sind, begrenzte UART-Dienste, sowie Besetzt-Dienste und begrenzte Befehlsdienste für das SCSI-Port; und ein Diagnoseprogramm. Die Routine loader2.rom liest das Verzeichnis auf der Karte, von der sie geladen wurde, lokalisiert die loader3.rom, lädt diesen Lader in den RAM 126, und startet die Ausführung des loader3.rom. Dieser Lader umfaßt einen Datenparameter-Block, der verwendet wird, um Daten zu spezifizieren, die sich auf die Aufteilungsinformation beziehen. Die Routine loader3.rom bestimmt, von welcher Karte die loader4.rom geladen wird. Die Routine loader4.rom lädt die Datei loadmap.dat von der Karte, von der sie geladen wurde, nach der niedrigsten verfügbaren RAM-Zone, und lädt dann jedes Programm in der in loadmap.dat spezifizierten Reihenfolge in den Speicher. Wenn alle Programme geladen sind, führt die loader4.rom Hintergrund- Aufgaben aus. Als nächstes gibt die loader4.rom die Software- Unterbrechungen init_1-6 aus, wie dies von der loadmap.dat spezifiziert ist. Nach dem init_6 wird die Hauptsystem- Unterbrechung freigegeben. Danach aktualisiert die Routine idle_bit das RAM-Bild der loadmap.dat.

Die Routine array_table.exe verfolgt die Anordnung und erstellt Tabellen, um Anordnungssätze zu definieren, und kontrolliert die Karten bezüglich der richtigen Datei array_table.dat, liest die Datei, und macht Kreuzverweisungen für den Inhalt bei allen anderen Karten. Wenn keine Unstimmigkeiten festgestellt werden, wird die Karte zu der Anordnung hinzugefügt. Die Routine sys_table.exe erzeugt eine globale Datenstruktur, die systemweite Parameter enthält. Diese Tabelle wird während der Boot-Zeit erhalten, wie sie von ROM- und Laderdiensten festgelegt wird. Die auf allen Karten vorhandene Routine sys_table.dat verfolgt die systemabhängigen Parameter. Die Routine aio_ide.exe führt Schnittstellen- und Zeitgeber-Dienste aus. Die Routine aio_supplement.exe führt durch Vorverarbeitung von Befehlen Unterstützungsdienste aus.

Die Routine host_scsi.exe bildet die Zentralcomputer-SCSI- 2-Schnittstelle. Die Routine scsi_supplement.exe verwaltet die Pufferzone, die in Seiten unterteilt ist. Die Routine eng_if.exe zerlegt die von dap_com.exe erzeugten und gesammelten Befehle in syntaktische Bestandteile, erzeugt Befehle aufgrund des Start-up und führt weitere Systemverwaltungsfunktionen aus. Die Routine dap_os.exe führt Dienste, wie Übertragungen, Lesen/Schreiben einer Datei, von den Karten nach dem Speicher aus, vergleicht Dateien, kopiert Dateien, und dergleichen. Die Routine dap_err.exe erzeugt eine Fehlertabelle bei buffer_image.dat, und hat zu jeder Zeit eine Prüfsumme der Daten. Wenn während der Vorgänge ein Prüfsummenfehler festgestellt wird, dann wird die Speicherkopie mittels der Pufferspeicherkopie aufgefrischt. Die Routine dap_diag.exe fertigt die Korrekturen ab und führt den Überwachungstest aus.

Die Routine dap_log.exe verwaltet und protokolliert Paßwortbefehle und aktualisiert password.dat und andere Dateien. Die Routine dap_com.exe verarbeitet ankommende Daten. Die Routine tuneable.exe liest die Datei tuneable.dat und macht entsprechende Anpassungen.

In der Fig. 10, auf die nun Bezug genommen wird, ist eine alternative Ausführungsform der vorliegenden Erfindung wiedergegeben. Bei dieser alternativen Ausführungsform umfaßt ein Gehäuse 140, das in ein bei militärischen Anwendungen übliches Standardgestell paßt, eine Vorderseiten-Deckplatte 142 und eine Rückseiten-Deckplatte 144. Die Rückseiten-Deckplatte 144 umfaßt Verbinder vom militärischen Typ, einen SCSI-2- Verbinder, zwei RS-232-Verbinder und einen Netzverbinder, die alle mit einem Verbinder 146 verbunden sind. Der Verbinder 146 ist mit einer Rückseitenfläche (nicht wiedergegeben) verbunden, die mit in dem Gehäuse 140 angebrachten Leiterplatteneinheiten 148, 150 und 152 verbunden ist. Eine Vielzahl von Festkörper-Speicherbausteinen, bei diesem Beispiel 5-40 Mbyte- Flashspeicher-PCMCIA-Karten 154-161 (z. B. Teil Nr. SPD5A-40, kommerziell erhältlich bei der SunDisk Corp., Santa Clara, Kalifornien), ist mit einer Rückseitenfläche, die über ihren 68-poligen Standardverbinder mit Leiterplatten 148, 150 und 152 in Verbindung steht, elektronisch verbunden. Die Flashspeicher-Karten 154-161 sind in dem Gehäuse 140 über entsprechende Rillen in dessen Innenwänden befestigt. In den Fig. 10 und 12 umfaßt die Vorderseiten-Deckplatte 142 in alternativer Weise einen Griff 164, der bei 166 schwenkbar befestigt ist.

Das Blockschaltbild für diese Ausführungsform ist das gleiche wie in der Fig. 6, wobei die Elektronik über Schaltungen miteinander verbunden ist und auf Leiterplatteneinheiten 148, 150 und 152 angebracht ist.

In den Fig. 13A-T sind Schaltbilder der Elektronik mit redundanter Anordnung für diese Ausführungsform wiedergegeben. Dieses detaillierte Schaltbild ist für Fachleute auf diesem Gebiet leicht verständlich. Es ist ebenfalls ersichtlich, daß dieses Schaltbild nur ein typisches Beispiel ist und den Geltungsbereich der vorliegenden Erfindung nicht begrenzen soll, da für einen Fachmann auf diesem Gebiet andere Schaltungskonfigurationen erkennbar sein können. Im allgemeinen entspricht dieses Schaltbild der Fig. 13A-T dem Schaltbild der Fig. 8A-S, abgesehen von geringen Änderungen, die in erster Linie zur Unterbringung in einem anderen Gehäuse und zur Erfüllung militärischer Spezifikationen erforderlich wurden.


Anspruch[de]
  1. Festkörper-Speichersystem zur Speicherung von Daten, das über eine Schnittstelle mit einem Zentralcomputersystem (125) verbunden ist, wobei dieses Festkörper-Speichersystem gekennzeichnet ist durch

    eine Vielzahl von Festkörper-Speicherbausteinen (58, 80, 82, 104, 106, 108, 110, 112, 114); und

    Schnittstellenverbindungsmittel (102, 122), um diese Vielzahl von Festkörper-Speicherbausteinen (58, 80, 82, 104, 106, 108, 110, 112, 114) dem Zentralcomputersystem (125) als einen einzelnen logischen Festkörper-Speicherbaustein zu präsentieren.






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