-
Technisches
Gebiet
-
Die
Erfindung betrifft eine Speichereinrichtung mit erhöhter Übertragungsgeschwindigkeit,
die einen mehrstufigen Datenpuffer und/oder einen Datenkompressions-/-dekompressionsmodul
aufweist, wodurch die Übertragungsgeschwindigkeit
erhöht wird.
-
Stand der
Technik
-
Den
Siliziumchips als Festkörperspeichermedium
(wie Flash-Speicher) zu verwenden, ist immer populär. Da die
Siliziumchip-Speicherkarte die Vorteile von niedrigem Stromverbrach,
hoher Sicherheit,großer
Speicherkapazität
und kurzer Zugriffszeit aufweist, findet sie eine breite Anwendung
auf Speichereinrichtungen wie CF-, MS-, SD-, MMC- oder SM-Karte
und USB-Wechselplatte.
-
In 1 ist eine Blockschaltung
der herkömmlichen
Speichereinrichtung gezeigt, die aus einem Controller A1 und einem
Festkörperspeichermedium
A2 besteht. Der Controller A1 umfaßt eine Host/Controller-Schnittstelle
A11, die zur Verbindung mit der Systemseite B dient, einen Mikroprozessor A12,
der die Befehle aus der Systemseite verarbeitet, und eine Flash/Controller-Schnittstelle
A13, die zur Verbindung mit dem Festkörperspeichermedium A2 dient.
Die Systemseite B kann Daten in das Festkörperspeichermedium A2 schreiben
und aus dem Festkörperspeichermedium
A2 lesen. Zwischen der Host/Controller-Schnittstelle A11 und der
Flash/Controller-Schnittstelle A13 ist ein Datenpuffer A14 vorgesehen,
weil die Datenverarbeitungsgeschwindigkeit der Systemseite B und
der Speichereinrichtung A nicht gleich ist.
-
Da
die Datenverarbeitungsgeschwindigkeit der Systemseite B (wie Computersystem)
viel höher ist
als die Zugriffsgeschwindigkeit der Speichereinrichtung A, muß die Speichereinrichtung
A einen Pufferraum haben, um die große Datenmenge aus der Systemseite
B aufzunehmen, damit die Ausführungsgeschwindigkeit
der Systemseite B nicht wegen der niedrigen Zugriffsgeschwindigkeit
der Speichereinrichtung A reduziert wird. Der Datenpuffer A14 dient hauptsächlich zum
Zwischenspeichern der Daten. Um einen Fehler beim Zugreifen auf
die Daten zu vermeiden, können
das Aufnehmen und das Weiterleiten der Daten nicht simultan erfolgen.
Daher kann der Datenpuffer A14 beim Aufnehmen der Daten aus der
Host/Controller-Schnittstelle A11 die Daten nicht über die
Flash/Controller-Schnittstelle A13 an das Festkörperspeichermedium A2 weiterleiten.
-
In 2A bis 2C ist die nichtsimultane Aufnahme- und
Weiterleitungsoperation gezeigt.
-
2A zeigt den ersten Zeitraum,
in dem die ersten Daten über
die Host/Controller-Schnittstelle A11 in dem Datenpuffer A14 zwischengespeichert werden. 2B zeigt den zweiten Zeitraum,
in dem der Datenpuffer A14 die zwischengespeicherten Daten an die
Flash/Controller-Schnittstelle A13 weiterleitet. In diesem zweiten
Zeitraum muß die
Systemseite B die Datenschreiboperation unterbrechen, da der Datenpuffer
A14 nun keine Daten aufnehmen kann. Nach dem Weiterleiten werden
die Daten in dem Datenpuffer A14 gelöscht, damit der Datenpuffer
A14 die zweiten Daten aufnehmen kann. In 2C ist der dritte Zeitraum gezeigt, in
dem der Datenpuffer A14 die zweiten Daten aus der Systemseite B
aufnimmt. In diesem (dritten) Zeitraum kann der Datenpuffer A13
die Daten nicht weiterleiten. Daher befinden sich die Flash/Controller-Schnittstelle
A13 und somit der Festkörperspeichermedium
dabei im Ruhezustand.
-
Dies
hat die Folge, daß die
Zugriffsoperation der Speichereinrichtung A und die Datenschreib-/-leseoperation
der Systemseite B nicht kontinuierlich ausgeführt werden können. Daher
wird die Zugriffsgeschwindigkeit der Speichereinrichtung A und die Datenverarbeitungsgeschwindigkeit
der Systemseite B reduziert.
-
Aus
diesem Grund hat der Erfinder in Anbetracht der Nachteile herkömmlicher
Lösungen
die vorliegende Erfindung entwickelt.
-
Aufgabe der
Erfindung
-
Der
Erfindung liegt die Aufgabe zugrunde, eine Speichereinrichtung mit
erhöhter Übertragungsgeschwindigkeit
zu schaffen, die einen mehrstufigen Datenpuffer aufweist, durch
den das Aufnehmen und das Weiterleiten der Daten simultan erfolgen
können, wodurch
die Systemseite die Datenschreib-/-leseoperation kontinuierlich
ausführen
kann, so daß die Übertragungsgeschwindigkeit
der Speichereinrichtung erheblich erhöht wird.
-
Der
Erfindung liegt eine weitere Aufgabe zugrunde, eine Speichereinrichtung
mit erhöhter Übertragungsgeschwindigkeit
zu schaffen, die einen Datenkompressions-/-dekompressionsmodul aufweist, durch
den die Daten aus der Systemseite komprimiert werden können, wodurch
die Übertragungszeit verkürzt wird,
so daß die
Zugriffsgeschwindigkeit der Speichereinrichtung erhöht wird.
Zudem kann die in dem Festkörperspeichermedium
gespeicherte Datenmenge vergrößert werden.
-
Der
Erfindung liegt eine nochmals weitere Aufgabe zugrunde, eine Speichereinrichtung
mit erhöhter Übertragungsgeschwindigkeit
zu schaffen, die einen mehrstufigen Datenpuffer und einen Datenkompressions-/-dekompressionsmodul
miteinander kombiniert.
-
Diese
Aufgaben werden durch die erfindungsgemäße Speichereinrichtung mit
erhöhter Übertragungsgeschwindigkeit
gelöst,
die im wesentlichen aus einem Controller und mindestens einem Festkörperspeichermedium
besteht. Der Controller umfaßt
eine Host/Controller-Schnittstelle, die zur Verbindung mit der Systemseite
dient, einen Mikroprozessor, der die Befehle aus der Systemseite
verarbeitet, und eine Flash/Controller-Schnittstelle, die zur Verbindung
mit dem Festkörperspeichermedium dient.
Zwischen der Host/Controller-Schnittstelle und der Flash/Controller-Schnittstelle
ist ein mehrstufiger Datenpuffer vorgesehen, wobei der erststufige
Datenpuffer und der nächststufige
Datenpuffer abwechselnd die Daten zwischen der Host/Controller-Schnittstelle
und der Flash/Controller-Schnittstelle übertragen, wodurch die Übertragungsgeschwindigkeit
der Speichereinrichtung erhöht
wird und die Systemseite somit die Datenschreib-/-leseoperation kontinuierlich
ausführen
kann.
-
Ferner
kann in der Speichereinrichtung ein Datenkompressions-/-dekompressionsmodul
eingebaut werden, der von dem Mikroprozessor angesteuert werden
kann, wodurch die Daten aus der Systemseite durch den Datenkompressions-/-dekompressionsmodul
im vorbestimmten Kompressionsverhältnis komprimiert werden, so
daß die Übertragungszeit verkürzt wird.
-
Kurze Beschreibung
der Zeichnungen
-
1 zeigt eine Blockschaltung
der herkömmlichen
Lösung.
-
2A–2C zeigen
die Arbeitsschritte gemäß 1. 3 zeigt eine Blockschaltung eines Ausführungsbeispiels
der Erfindung.
-
4A–4C zeigen
die Arbeitsschritte gemäß 3.
-
5 zeigt eine Blockschaltung
eines weiteren Ausführungsbeispiels
der Erfindung.
-
6 zeigt eine Blockschaltung
eines nochmals weiteren Ausführungsbeispiels
der Erfindung.
-
Figur 7A-7D zeigen die Arbeitsschritte gemäß 6.
-
Wege zur Ausführung der
Erfindung
-
In 3 ist eine Blockschaltung
der Erfindung gezeigt. Wie dargestellt, handelt es sich bei der Speichereinrichtung 1 um
eine Speicherkarte für tragbare
Digitalgeräte
oder eine USB-Wechselplatte oder eine andere Speichereinrichtung
mit Festkörperspeichermedium
(Flash-Speicher), die sich noch in der Entwicklung befindet.
-
Die
Speichereinrichtung 1 besteht im wesentlichen aus einem
Controller 10 und mindestens einem Festkörperspeichermedium 20.
Der Controller 10 umfaßt
eine Host/Controller-Schnittstelle 104, einen Mikroprozessor 102 und
eine Flash/Controller-Schnittstelle 106. Die Host/Controller-Schnittstelle 104 dient
zur Verbindung mit der Systemseite 2 (tragbare Digitalgeräte oder
Hostcomputer) und die Flash/Controller-Schnittstelle 106 dient
zur Verbindung mit dem Festkörperspeichermedium 20.
Der Mikroprozessor 102 verbindet die Host/Controller-Schnittstelle 104 mit
der Flash/Controller-Schnittstelle 106.
-
Zwischen
der Host/Controller-Schnittstelle 104 und der Flash/Controller-Schnittstelle 106 ist
ein mehrstufiger Datenpuffer vorgesehen, der im vorliegenden Ausführungsbeispiel
ein zweistufiger Datenpuffer ist und einen erststufigen Datenpuffer 110 und einen
zweitstufigen Datenpuffer 112 enthält. (Hierbei ist insbesondere
darauf hinzuweisen, daß die
Erfindung nicht auf den zweistufigen Datenpuffer beschränkt ist
und die Stufenzahl des Datenpuffers je nach Übertragungsgeschwindigkeit
erhöht
werden kann, um die innere Übertragungsgeschwindigkeit der
Speichereinrichtung 1 zu erhöhen.) Der erststufige Datenpuffer 110 und
der zweitstufige Datenpuffer 112 führen abwechselnd die Datenübertragungsoperation
aus. Dies wird nachfolgend detailliert beschrieben:
Wie aus 4A bis 4C ersichtlich ist, wenn die Systemseite 2 die
Schreiboperation beginnt, werden die von der Systemseite 2 eingegebenen
Daten, wie in 4A dargestellt
ist, zunächst über die
Host/Controller-Schnittstelle 10 als erste Daten in dem
erststufigen Datenpuffer 110 gespeichert. Danach wird der erststufige
Datenpuffer 110 gesperrt und die folgenden Daten werden
als zweite Daten in dem zweitstufigen Datenpuffer 112 gespeichert
(4B). Dabei ist der
erste Datenpuffer 110 zwar gesperrt, kann jedoch die ersten
Daten über
die Flash/Controller-Schnittstelle 106 in dem Festkörperspeichermedium 20 speichern.
Danach löscht
der Mikroprozessor 102 die Daten in dem erststufigen Datenpuffer 110,
damit der erststufige Datenpuffer 110 die dritten Daten
aufnehmen kann (4C).
Ebenfallsspeichert der zweistufige Datenpuffer 112 die
zweiten Daten über
die Flash/Controller-Schnittstelle 106 in dem Festkörperspeichermedium 20.
Durch diese abwechselnde Operation des stufigen Datenpuffers kann
die interne Übertragungs-
und Zugriffsgeschwindigkeit der Speichereinrichtung 1 erhöht werden.
Die Systemseite 2 kann dadurch die Schreiboperation kontinuierlich ausführen. Die
Leseoperation der Systemseite 2 erfolgt ähnlich und
wird daher nicht detailliert beschrieben.
-
In 5 ist eine weitere Ausgestaltung
zur Erhöhung
der Datenübertragungsgeschwindigkeit gezeigt.
Wie dargestellt, ist in der Speichereinrichtung 1 ein Datenkompressions-/-dekompressionsmodul 108 eingebaut,
der mit dem Mikroprozessor 102 elektrisch verbunden ist
und von diesem angesteuert werden kann. Zwischen dem Datenkompressions-/-dekompressionsmodul 108 und
der Host/Controller-Schnittstelle 104 sowie der Flash/Controller-Schnittstelle 106 sind
ein erster Datenpuffer 124 und ein zweiter Datenpuffer 126 vorgesehen,
in denen die Daten zwischengespeichert werden.
-
Beim
Datenschreiben der Systemseite 2 in das Festkörperspeichermedium 20 der
Speichereinrichtung 1 werden die Daten aus der Systemseite 2 über die
Host/Controller-Schnittstelle 104 eingegeben und unter
Steuerung des Mikroprozessors 102 durch den Datenkompressions-/-dekompressionsmodul 108 in
geeignetem Verhältnis
komprimiert (wie 1/N, wovon N von der verwendeten Komprimiertechnik
abhängig
ist und 2, 3, 4...sein kann). Die dadurch komprimierten Daten werden
dann über
die Flash/Controller-Schnittstelle 106 in dem Festkörperspeichermedium 20 gespeichert.
Da die Daten komprimiert werden, wird die Übertragungszeit erheblich verkürzt, so
daß die Übertragungsgeschwindigkeit zwischen
dem Datenkompressions-/-dekompressionsmodul 108 und der
Flash/Controller-Schnittstelle 106 und die Zugriffsgeschwindigkeit
zwischen der Flash/Controller-Schnittstelle 106 und dem
Festkörperspeichermedium 20 erhöht wird.
-
In
diesem Ausführungsbeispiel
werden die Daten vor der Kompression in dem ersten Datenpuffer 124 zwischengespeichert.
Der Datenkompressions-/-dekompressionsmodul 108 greift
auf die Daten in dem ersten Datenpuffer 124 zu, komprimiert
diese Daten und dann speichert die komprimierten Daten in dem zweiten
Datenpuffer 126. Die in dem zweiten Datenpuffer 126 zwischengespeicherten
Daten werden unter Steuerung des Mikroprozessors 102 über die
Flash/Controller-Schnittstelle 106 in dem Festkörperspeichermedium 20 gespeichert.
-
Beim
Datenlesen der Systemseite 2 aus dem Festkörperspeichermedium 20 der
Speichereinrichtung 1 werden die komprimierten Daten in
dem Festkörperspeichermedium 20 über der
Flash/Controller-Schnittstelle 106 in dem zweiten Datenpuffer 126 zwischengespeichert.
Der Datenkompressions-/-dekompressionsmodul 108 greift
auf die komprimierten Daten in dem zweiten Datenpuffer 126 zu,
dekomprimiert diese Daten und dann speichert die dekomprimierten
Daten in dem ersten Datenpuffer 124. Danach werden die
in dem ersten Datenpuffer 124 zwischengespeicherten Daten über die
Host/Controller-Schnittstelle 104 auf die Systemseite 2 übertragen.
-
In 6 ist eine nochmals weitere
Ausgestaltung der Erfindung, die den mehrstufigen Datenpuffer und
den Datenkompressions-/-dekompressionsmodul miteinander kombiniert.
Wie dargestellt, ist der Datenkompressions-/-dekompressionsmodul 108 zwischen
der Host/Controller-Schnittstelle 104 und der Flash/Controller-Schnittstelle 106 angeordnet.
Zwischen dem Datenkompressions-/-dekompressionsmodul 108 und
der Host/Controller-Schnittstelle 104 sind ein erststufiger
Datenpuffer 132 und ein zweitstufiger Datenpuffer 134 vorgesehen,
die den vorderen Datenpuffer bilden. Gleichfalls sind zwischen dem
Datenkompressions-/-dekompressionsmodul 108 und der Flash/Controller-Schnittstelle 106 ein
erststufiger Datenpuffer 136 und ein zweitstufiger Datenpuffer 138 vorgesehen,
die den hinteren Datenpuffer bilden.
-
Beim
Datenschreiben der Systemseite 2 wird der Datenkompressions-/-dekompressionsmodul 108 von
dem Mikroprozessor 102 angesteuert und komprimiert die über die Host/Controller-Schnittstelle 104 eingegebenen
Daten in vorbestimmtem Verhältnis,
wodurch die interne Datenübertragungsgeschwindigkeit
der Speichereinrichtung 1 erhöht wird. Vor dem Kompression
durch den Datenkompressions-/-dekompressionsmodul 108 werden
die Daten abwechselnd in dem erststufigen Datenpuffer 132 und
dem zweitstufigen Datenpuffer 134 des vorderen Datenpuffers
speichert und weitergeleitet. D.h. wenn der erststufiger Datenpuffer 132 die über die Host/Controller-Schnittstelle 104 eingegebenen
Daten aufnimmt, werden die Daten in dem zweitstufigen Datenpuffer 134 auf
den Datenkompressions-/-dekompressionsmodul 108 übertragen
und dort komprimiert. Dadurch können
die Host/Controller-Schnittstelle 104 und der Datenkompressions-/-dekompressionsmodul 108 die
Datenübertragungs-,
Datenspeicher- und Datenkomprimieroperation simultan ausführen.
-
Nach
dem Kompression durch den Datenkompressions-/-dekompressionsmodul 108 werden die
komprimierten Daten abwechselnd in dem erststufigen Datenpuffer 136 und
dem zweitstufigen Datenpuffer 138 des hinteren Datenpuffers
gespeichert und weitergeleitet. Der Unterschied zwischen dem vorderen
und hinteren Datenpuffer besteht darin, daß der vordere Datenpuffer zum
Speichern und Weiterleiten der noch nichtkomprimierten Daten dient,
während der
hintere Datenpuffer zum Speichern und Weiterleiten der komprimierten
Daten dient.
-
In 7A bis 7D ist die Komprimieroperation gemäß 6 detailliert dargestellt.
Die Speicherkapazität
des hinteren Datenpuffers kann gleich sein wie die des vorderen
Datenpuffers oder um einen dem Kompressionsverhältnis entsprechenden Faktor kleiner
ist als die des vorderen Datenpuffers. Im vorliegenden Ausführungsbeispiel,
in dem ein Kompressionsverhältnis
von 1/2 gewählt
wird, weisen der vordere und hintere Datenpuffer die gleiche Speicherkapazität auf.
-
Beim
Datenschreiben der Systemseite 2, wie in 7A dargestellt ist, werden die Daten
zunächst als
erste Daten in dem erststufigen Datenpuffer 132 des vorderen
Datenpuffers zwischengespeichert. Danach wird der zweitstufige Datenpuffer 134 des vorderen
Datenpuffers von dem Mikroprozessor 102 angesteuert und
nimmt die folgenden Daten als zweite Daten auf, wie in 7B dargestellt ist. Gleichzeitig
wird der Datenkompressions-/-dekompressionsmodul 108 von
dem Mikroprozessor 102 angesteuert, wodurch der Datenkompressions-/-dekompressionsmodul 108 die
ersten Daten aus dem erststufigen Datenpuffer 132 komprimiert
und die komprimierten Daten in dem ersten Datenpuffer 136 des
hinteren Datenpuffers speichert.
-
Nachdem
der erststufige Datenpuffer 132 des vorderen Datenpuffers
die Daten vollständig
an den Datenkompressions-/-dekompressionsmodul 108 weiterleitet,
wie in 7C dargestellt
ist, löscht der
Mikroprozessor 102 die Daten im dem erststufigen Datenpuffer 132 des
vorderen Datenpuffers und steuert diesen wieder an, damit er die
dritten Daten aus der Systemseite 2 aufnimmt. Gleichzeitig
leitet der zweitstufige Datenpuffer 134 des vorderen Datenpuffers
die zweiten Daten an den Datenkompressions-/-dekompressionsmodul 108,
wo sie komprimiert werden. Die komprimierten zweiten Daten werden
ebenfalls in dem erststufigen Datenpuffer 136 des hinteren
Datenpuffers zwischengespeichert. Nach der obengenannten Datenübertragung,
wie in 7D dargestellt
ist, ist der erststufige Datenpuffer 136 des hinteren Datenpuffers
vollbeladet. Der erststufige Datenpuffer 136 des hinteren
Datenpuffers speichert somit die komprimierten ersten und zweiten Daten über die
Flash/Controller-Schnittstelle 106 in dem Festkörperspeichermedium 20.
Gleichzeitig leitet der erststufige Datenpuffer 132 des
vorderen Datenpuffers die dritten Daten an den Datenkompressions-/-dekompressionsmodul 108 weiter,
wo sie komprimiert werden. Die komprimierten dritten Daten werden
in dem zweitstufigen Datenpuffer 136 des hinteren Datenpuffers
zwischengespeichert. Die Daten in dem zweitstufigen Datenpuffer 134 des
vorderen Datenpuffers werden gelöscht,
damit er die folgenden Daten aufnehmen kann.
-
Durch
den mehrstufigen Datenpuffer kann eine geeignete Konfiguration erreicht
werden, wodurch die Speichereinrichtung 1 die Datenübertragungs-,
Datenspeicher- und
Datenkomprimieroperation simultan ausführen kann, so daß die Datenübertragungsgeschwindigkeit
erheblich erhöht
wird.
-
Der
erfindungsgemäße Datenkompressions-/-dekompressionsmodul 108 kann
als Hardwareschaltung oder Softwareprogramm ausgeführt werden
und innerhalb oder außerhalb
des Controllers 10 angeordnet sein.
-
Die
vorstehende Beschreibung stellt nur ein bevorzugtes Ausführungsbeispiel
der Erfindung dar und soll nicht als Definition der Grenzen und
des Bereiches der Erfindung dienen. Alle gleichwertige Änderungen
und Modifikationen gehören
zum Schutzbereich dieser Erfindung.