-
Die
vorliegende Erfindung betrifft ein Datenspeicherverwaltungsverfahren
und ein Datenspeicherverwaltungssystem gemäß den Oberbegriffen der Ansprüche 1, 8
und 17.
-
Ein
Dateisystem mit Dateizuordnungstabelle (FAT-System – File Allocation
Table) kann über
einen Treiber auf die Flashspeichervorrichtung zugreifen, und der
Treiber ruft die in der Flashspeichervorrichtung gespeicherten Daten
ab oder aktualisiert diese. Oft ist die Seitengröße gleich der Sektorgröße, was bedeutet,
dass jede Seite der Flashspeichervorrichtung einem Sektor im FAT-Dateisystem
entspricht. Aufgrund der Forderung nach großer Kapazität weisen die modernen Flashspeichervorrichtungen
jedoch größere Seitengrößen auf,
z. B. 2 KByte, um eine bessere Speicherleistung zu bieten. Dieses
Ungleichgewicht zwischen der Sektorgröße und der Seitengröße erzeugt
ein Problem der Verschwendung und Ineffizienz. Zusätzlich muss
das FAT-Dateisystem herkömmlicherweise
einen Teil eines RAM eines elektronischen Systems, welches das FAT-Dateisystem
einsetzt, belegen, was die Kosten des elektronischen Systems erheblich
erhöht.
Dies erzeugt weiterhin ein Problem der Verschwendung und Ineffizienz.
-
Vor
diesem Hintergrund zielt die vorliegende Erfindung darauf ab, ein
Verfahren und ein dazugehöriges
System für
die Datenspeicherverwaltung bereitzustellen, um einen Satz von Grundoperationen unter
einer Zugriffseinheitsgröße eines
Dateisystems abzuarbeiten, um auf eine Speichervorrichtung, die Daten
unter einer Speichereinheitsgröße speichert, zuzugreifen.
-
Dieses
Ziel wird durch ein Datenspeicherverwaltungsverfahren und ein Datenspeicherverwaltungssystem
nach Anspruch 1, 8 und 17 erreicht. Die abhängigen Ansprüche betreffen
entsprechende Weiterentwicklungen und Verbesserungen.
-
Wie
aus der nachfolgenden genauen Beschreibung deutlicher ersichtlich
wird, umfasst das beanspruchte Verfahren und das zugehörige System für die Datenspeicherverwaltung
eine Speichervorrichtungs-Steuerung.
-
Der
Vollständigkeit
halber werden verschiedene Aspekte der Erfindung in den nachfolgenden, nummerierten
Absätzen
beschrieben:
- 1. Datenspeicherverwaltungsverfahren
zur Abwicklung eines Satzes von Grundoperationen unter einer Zugriffseinheitsgröße eines
Dateisystems, um auf eine Speichervorrichtung zuzugreifen, die Daten
unter einer Speichereinheitsgröße speichert,
umfassend:
Empfangen der Grundoperation, die zumindest eine
Zugriffseinheitsadresse angibt;
Übersetzen der Zugriffseinheitsadresse
in zumindest eine korrespondierende Speichereinheitsadresse, wobei
sich die Speichereinheitsgröße von der
Zugriffseinheitsgröße unterscheidet;
und
Zugreifen auf die Speichervorrichtung unter Verwendung
der Speichereinheitsadresse, um auf die Grundoperation zu reagieren.
- 2. Verfahren nach Absatz 1, wobei, wenn die Grundoperation Lesen
ist und die Zugriffseinheitsgröße kleiner
als die Speichereinheitsgröße ist, das
Verfahren ferner umfasst:
Zwischenspeichern einer abgerufenen
Speichereinheit, die von der Speichereinheitsadresse bestimmt wurde,
und Bereitstellen nur eines Bereichs der abgerufenen Speichereinheit,
um auf die Grundoperation zu reagieren.
- 3. Verfahren nach Absatz 1, wobei, wenn die Grundoperation Schreiben
ist und die Zugriffseinheitsgröße kleiner
als die Speichereinheitsgröße ist,
das Verfahren ferner umfasst:
Lesen einer Speichereinheit,
die zu der Zugriffseinheitsadresse korrespondiert, in einen Zwischenspeicher,
wobei die Speichereinheit eine von der zu schreibenden Zugriffseinheitsadresse bestimmte
Zugriffseinheit und eine oder mehrere angrenzende Zugriffseinheiten
enthält,
wobei die Gesamtgröße der bestimmten
Zugriffseinheit und der angrenzenden Zugriffseinheiten der Größe einer
Speichereinheit entspricht;
Aktualisieren der bestimmten zu
schreibenden Zugriffseinheit mit einem zugehörigen Wert; und
Schreiben
des Zwischenspeichers in die Speichervorrichtung.
- 4. Verfahren nach Absatz 1, wobei ein Speichertreiber, das Dateisystem
und die Speichervorrichtung auf einer elektronischen Vorrichtung
installiert sind, und Software-Anwendungen der elektronischen Vorrichtung
unter Verwendung des Satzes von Grundoperationen auf die Speichervorrichtung
zugreifen, und die Grundoperationen zum Speichertreiber übergeben
werden, um die Schritte Empfangen der Grundoperationen, Übersetzen
der Grundoperationen und Zugreifen auf die Speichervorrichtung durchzuführen.
- 5. Verfahren nach Absatz 1, wobei ein Speichertreiber und das
Dateisystem in einer ersten elektronischen Vorrichtung installiert
sind und die Speichervorrichtung in einer zweiten elektronischen
Vorrichtung installiert ist, Software-Anwendungen der ersten elektronischen
Vorrichtung unter Verwendung des Satzes von Grundoperationen auf
die Speichervorrichtung zugreifen, und die Grundoperationen zum
Speichertreiber übergeben
werden, um die Schritte Empfangen der Grundoperationen, Übersetzen
der Grundoperationen und Zugreifen auf die Speichervorrichtung durchzuführen.
- 6. Verfahren nach Absatz 1, wobei die Speichervorrichtung ein
Flashspeicher ist.
- 7. Verfahren nach Absatz 6, wobei die Speichereinheitsgröße eine
Seitengröße des Flashspeichers
ist und die Zugriffseinheitsgröße eine
Sektorgröße des Dateisystems
ist.
- 8. Speicherverwaltungsverfahren, angewandt bei einer Speichervorrichtung,
wobei die Speichervorrichtung eine Vielzahl von Speichereinheiten umfasst,
wobei das Speicherverwaltungsverfahren umfasst:
Vorsehen einer
Zwischenspeichervorrichtung, die zumindest einen Zwischenspeicherbereich
umfasst, wobei die Größe des Zwischenspeicherbereiches
gleich der Größe jeder
Speichereinheit ist;
Empfangen von Eingangsdaten, die über zumindest
eine Zugriffseinheit übertragen
werden, und Speichern der Eingangsdaten in den Zwischenspeicherbereich
der Zwischenspeichervorrichtung, wobei sich die Größe der Zugriffseinheit
von der Größe jeder
Speichereinheit unterscheidet; und Schreiben der Eingangsdaten in
die Speichervorrichtung durch Übergeben
der in dem Zwischenspeicherbereich gespeicherten Daten in eine erste
Speichereinheit der Speichereinheiten in der Speichervorrichtung,
wenn der Zwischenspeicherbereich voll ist.
- 9. Verfahren nach Absatz 8, wobei die Speichervorrichtung ein
Flashspeicher ist.
- 10. Verfahren nach Absatz 9, ferner umfassend:
Auffüllen des
Zwischenspeicherbereiches mit Scheindaten, mit Ausnahme des mit
den Eingangsdaten belegten Bereichs, nachdem die Eingangsdaten im
Zwischenspeicherbereich gespeichert wurden.
- 11. Verfahren nach Absatz 10, wobei die Scheindaten logische
Werte enthalten, und jeder logische Wert einem Löschzustand des Flashspeichers
entspricht.
- 12. Verfahren nach Absatz 9, ferner umfassend:
Auffüllen des
Zwischenspeicherbereiches mit Scheindaten, bevor die Eingangsdaten
im Zwischenspeicherbereich gespeichert werden.
- 13. Verfahren nach Absatz 12, wobei die Scheindaten logische
Werte enthalten, und jeder logische Wert einem Löschzustand des Flashspeichers
entspricht.
- 14. Verfahren nach Absatz 8, wobei die Größe der Speichereinheit größer als
die Größe der Zugriffseinheit
ist.
- 15. Verfahren nach Absatz 8, ferner umfassend:
Kopieren
der in der ersten Speichereinheit gespeicherten Eingangsdaten in
den Zwischenspeicherbereich bei Empfang einer Anforderung zur Modifizierung
der Eingangsdaten; Modifizieren der im Zwischenspeicherbereich gespeicherten
Daten; und Übertragen
der im Zwischenspeicherbereich gespeicherten modifizierten Eingangsdaten
in eine zweite Speichereinheit der Speichereinheiten in der Speichervorrichtung.
- 16. Verfahren nach Absatz 8, ferner umfassend:
Kopieren
der in der ersten Speichereinheit gespeicherten Daten in den Zwischenspeicherbereich
bei Empfang einer Anforderung zum Lesen der Eingangsdaten und Lesen
der im Zwischenspeicherbereich gespeicherten Daten.
- 17. Datenspeicherverwaltungssystem, umfassend:
eine Datenquelle,
die Eingangsdaten in zumindest einer Zugriffseinheit bereitstellt;
eine
Speichervorrichtung mit einer Vielzahl von Speichereinheiten, wobei
sich die Größe der Zugriffseinheit
von der Größe jeder
Speichereinheit unterscheidet;
eine Zwischenspeichervorrichtung
mit zumindest einem Zwischenspeicherbereich, wobei die Größe des Zwischenspeicherbereiches
gleich der Größe jeder
Speichereinheit ist; und eine Speichervorrichtungs-Steuerung, die
mit der Datenquelle, der Speichervorrichtung und der Zwischenspeichervorrichtung
verbunden ist, um die über
die Zugriffseinheit übertragenen
Eingangsdaten zu empfangen, die Eingangsdaten in den Zwischenspeicherbereich
der Zwischenspeichervorrichtung zu speichern, und die Eingangsdaten in
die Speichervorrichtung zu schreiben, indem im Pufferspeicherbereich
gespeicherte Daten in eine erste Speichereinheit der Speichereinheiten
in der Speichervorrichtung übertragen
werden, wenn der Pufferspeicherbereich voll ist.
- 18. Datenspeicherverwaltungssystem nach Absatz 17, wobei die
Speichervorrichtung ein Flashspeicher ist.
- 19. Datenspeicherverwaltungssystem nach Absatz 17, wobei die
Speichervorrichtungs-Steuerung den Zwischenspeicherbereich mit Scheindaten
auffüllt,
mit Ausnahme des von den Eingangsdaten belegten Bereichs, nachdem
die Eingangsdaten im Zwischenspeicherbereich gespeichert wurden.
- 20. Datenspeicherverwaltungssystem nach Absatz 19, wobei die
Scheindaten logische Werte umfassen, und jeder logische Wert einem
Löschzustand
des Flashspeichers entspricht.
- 21. Datenspeicherverwaltungssystem nach Absatz 18, wobei die
Speichervorrichtungs-Steuerung den Zwischenspeicherbereich mit Scheindaten
auffüllt,
bevor die Eingangsdaten in den Zwischenspeicherbereich gespeichert
werden.
- 22. Datenspeicherverwaltungssystem nach Absatz 21, wobei die
Scheindaten logische Werte umfassen, und jeder logische Wert einem
Löschzustand
des Flashspeichers entspricht.
- 23. Datenspeicherverwaltungssystem nach Absatz 17, wobei die
Größe der Speichereinheit
größer als
die Größe der Zugriffseinheit
ist.
- 24. Datenspeicherverwaltungssystem nach Absatz 17, wobei, wenn
die Speichervorrichtungs-Steuerung eine Anforderung zur Modifizierung
der Eingangsdaten empfängt,
die Speichervorrichtungs-Steuerung in der ersten Speichereinheit
gespeicherte Daten in den Zwischenspeicherbereich kopiert, die im
Zwischenspeicherbereich gespeicherten Daten modifiziert und die
im Zwischenspeicherbereich gespeicherten modifizierten Eingangsdaten
in eine zweite Speichereinheit der Speichereinheiten in der Speichervorrichtung überträgt.
- 25. Datenspeicherverwaltungssystem nach Absatz 17, wobei, wenn
die Speichervorrichtungs-Steuerung eine Anforderung zum Lesen der
Eingangsdaten empfängt,
die Speichervorrichtungs-Steuerung
die in der ersten Speichereinheit gespeicherten Daten in den Zwischenspeicherbereich
kopiert und die im Zwischenspeicherbereich gespeicherten Eingangsdaten liest.
-
Im
Folgenden wird die Erfindung weiter anhand eines Beispiels dargestellt,
wobei auf die beigefügten
Zeichnungen Bezug genommen wird. In diesen zeigen
-
1 ein
Blockdiagramm eines Datenspeicherverwaltungssystems nach einem Ausführungsbeispiel
der vorliegenden Erfindung,
-
2 ein
Diagramm einer Datenschreibeoperation gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung,
-
3 ein
Diagramm einer Datenleseoperation gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung,
-
4 ein
Diagramm der Datenleseoperation gemäß einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung, und
-
5 ein
Diagramm einer Datenmodifikationsoperation gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung.
-
Es
sei auf 1 Bezug genommen. 1 ist ein
Blockdiagramm eines Datenspeicherverwaltungssystems 10 gemäß einem
Ausführungsbeispiel der
vorliegenden Erfindung. In diesem Ausführungsbeispiel umfasst das
Datenspeicherverwaltungssystem 10 eine elektronische Vorrichtung
(z. B. ein Basisband-Chip, ein Mobiltelefon oder eine Digitalkamera) 12 und
ein Flashspeicher-Modul 14. Die elektronische Vorrichtung 12 umfasst
eine Mikrosteuerungseinheit (MCU) 22, eine Datenspeichereinheit 24,
die als eine Datenquelle dient, ein Zwischenspeichermodul 26,
das als eine Zwischenspeichervorrichtung dient, und eine Flashspeicher-Steuerung 28,
die als eine Speichervorrichtung dient. Um die Merkmale der vorliegenden
Erfindung besser darzustellen, sei angenommen, dass die elektronische
Vorrichtung 10 im vorliegenden Ausführungsbeispiel ein Dateisystem
mit Dateizuordnungstabelle (FAT-System – File Allocation Table) einsetzt.
Die Datenspeichereinheit 24, die mit der MCU 22 ver bunden
ist, wird verwendet, um Daten gemäß zumindest einer Zugriffseinheit zu
speichern, wobei eine Zugriffseinheit die kleinste Einheit darstellt,
die im FAT-Dateisystem für
den Datenzugriff eingesetzt wird, und im vorliegenden Ausführungsbeispiel
ist die Zugriffseinheit ein 512-Byte-FAT-Sektor. Im vorliegenden
Ausführungsbeispiel
umfassen die in der Datenspeichereinheit 24 gespeicherten
Daten Treiber (einschließlich
eines Flashspeicher-Treibers des Flashspeicher-Moduls 14),
Dateisystem-Software und verschiedene Software-Anwendungen. Die
MCU 22, die mit der Datenspeichereinheit 24 und
der Flashspeicher-Steuerung 28 verbunden ist, wird für die Ausführung der
Daten (z. B. des Flashspeicher-Treibers), die in der Datenspeichereinheit 24 gespeichert
sind, verwendet. Das Flashspeicher-Modul 14, das mit der
elektronischen Vorrichtung 12 verbunden ist, wird zur Speicherung von
Daten genutzt, die bei der Ausführung
der Programmausführungscodes,
die in der Datenspeichereinheit 24 gespeichert sind, verwendet
werden können,
wie z. B. Systemeinstellungen und Anwenderdaten. Wie den Fachleuten
auf dem Gebiet bekannt ist, umfasst das Flashspeicher-Modul 14 eine
Vielzahl von Speichereinheiten, wobei eine Speichereinheit die kleinste
Zugriffseinheit im Flashspeicher-Modul 14 ist, und in dem
vorliegenden Ausführungsbeispiel
ist eine Speichereinheit eine Seite mit 2 KByte. Die Größe der Zugriffseinheit
in der Datenspeichereinheit 24 unterscheidet sich von der
Größe jeder Speichereinheit
im Flashspeicher-Modul 14; zum Beispiel entspricht eine
Seite mit 2 Kbyte (d. h. eine Speichereinheit) vier Sektoren mit
512 Bytes (d. h. vier Zugriffseinheiten). Es sei angemerkt, dass
in anderen Ausführungsbeispielen
der vorliegenden Erfindung die Größen einer Zugriffseinheit und
einer Speichereinheit in Übereinstimmung
mit unterschiedlichen Konzeptionsanforderungen auf andere Werte verändert werden
können,
und diese Änderungen
liegen immer noch im Umfang der vorliegenden Erfindung. Zusätzlich sind,
wie in 1 gezeigt, die MCU 22, die Datenspeichereinheit 24,
das Zwischenspeichermodul 26 und die Flashspeicher-Steuerung 28 in der
elektronischen Vorrichtung 12 integriert. Jedoch ist die
vorliegende Erfindung nicht auf diese Konfiguration beschränkt.
-
In
diesem Ausführungsbeispiel
umfasst das Zwischenspeichermodul 26, das mit der Flashspeicher-Steuerung 28 verbunden
ist, einen Zwischenspeicherbereich 27, wobei die Größe des Zwischenspeicherbereichs 27 gleich
der Größe jeder
Speichereinheit im Flashspeicher-Modul 14 ist. Wie in 1 gezeigt,
umfasst der Zwischenspeicherbereich 27 eine Vielzahl von
Zwischenspeichereinheiten, wobei jede Zwischenspeichereinheit die
kleinste Zugriffseinheit im Zwischenspeichermodul 26 ist,
und im vorliegenden Ausführungsbeispiel
ist die Größe einer Zwischenspeichereinheit
gleich der Größe einer
Zugriffseinheit in der Datenspeichereinheit 24; das bedeutet,
die Größe der Zwischenspeichereinheit
ist 512 Bytes. Es sei angemerkt, dass das Zwischenspeichermodul 26 nicht
darauf beschränkt
ist, nur vier Zwischenspeichereinheiten aufzuweisen. Mit anderen
Worten kann das Zwischenspeichermodul 26 so ausgelegt sein,
dass es eine Vielzahl von Zwischenspeicherbereichen umfasst, um
eine bessere Zwischenspeicherkapazität zu bieten.
-
Die
Flashspeicher-Steuerung 28, die mit der MCU 22,
dem Flashspeicher-Modul 14 und dem Zwischenspeichermodul 26 verbunden
ist, steuert den Datenzugriff (d. h. das Lesen oder Schreiben von
Daten) des Flashspeicher-Moduls 14. Eine genaue Beschreibung
des Zwischenspeichermoduls 26 und der Flashspeicher-Steuerung 28 wird
nachfolgend dargelegt. Es sei angemerkt, dass in anderen Ausführungsbeispielen
der vorliegenden Erfindung das Flashspeicher-Modul 14 durch
andere Speichervorrichtungen ersetzt werden kann, und die Flashspeicher-Steuerung 28 kann
eine andere Speichersteuerung sein, die durch Software oder Hardware
implementiert ist. Zusätzlich
kann die elektronische Vorrichtung 12 durch andere Betriebsmodule
ersetzte werden und kann andere Dateisysteme anwenden. Wie in 1 gezeigt,
hat der Zwischenspeicherbereich 27 des Zwischenspeichermoduls 26 eine
Größe von 2
Kbyte und umfasst Zwischenspeichereinheiten 270, 271, 272 und 273.
Das Flashspeicher-Modul 14 umfasst eine Vielzahl von Seiten,
einschließlich
Seiten 51, 52, 53 und 54. Im
vorliegenden Ausführungsbeispiel
umfasst jede der Seiten 51, 52, 53 und 54 vier
Unterseiten (Unterseiten 510-513, 520-523, 530-533 bzw. 540-543).
Die Größe jeder
Unterseite ist gleich der Größe einer
Zugriffseinheit.
-
Wenn
die MCU 22 eine Anwendung (der oben erwähnten Software-Anwendungen) ausführt und
die Anwendung einen Zugriff auf Daten, die im Flashspeicher-Modul 14 gespeichert
sind, erfordert, fordert die Anwendung Grundoperationen des FAT-Dateisystems
an, oder Funktionen rufen weiter entsprechende Grundoperationen
auf, einschließlich einer
Datenschreibeoperation, einer Datenleseoperation und einer Datenmodifikationsoperation.
Die Grundoperationen weisen ferner den Flashspeicher-Treiber des Flashspeicher-Moduls 14 an,
die entsprechende Flashspeicher-Steuerung 28 anzusteuern,
welche physikalisch auf das Flashspeicher-Modul 14 zugreift.
Der Flashspeicher-Treiber berechnet
eine Seitenadresse (einer bestimmten Seite im Flashspeicher-Modul 14)
gemäß einer
Sektoradresse, die vom FAT-Dateisystem bereitgestellt wird, und
greift auf die im Flashspeicher-Modul 14 gespeicherten
Daten zu. Die vom Flashspeicher-Modul 14 Seite für Seite
abgerufenen Daten werden vorübergehend
im Zwischenspeicherbereich 27 gespeichert und dann werden
Teile der Daten oder alle Daten, die im Zwischenspeicherbereich 27 gespeichert sind,
Sektor für
Sektor an das FAT-Dateisystem übertragen.
Das heißt,
das FAT-Dateisystem überträgt die angeforderten
Daten Sektor für
Sektor weiter an die Anwendung. Die genaue Beschreibung des Zugriffs auf
Daten, die im Flashspeicher-Modul 14 gespeichert sind,
einschließlich
der oben erwähnten
Datenschreibe-, Datenlese- und Datenmodifikationsoperationen, folgt
in den nächsten
Absätzen.
-
Durch
die obige Beschreibung kann ein allgemeines Ausführungsbeispiel eines Datenspeicherverwaltungsverfahrens
wie folgt beschrieben werden. Das Datenspeicherverwaltungsverfahren
wird verwendet, um einen Satz von Grundoperationen unter einer Zugriffseinheitsgröße, z. B.
Sektorgröße, eines
Dateisystems, z. B. eines FAT-Systems, abzuarbeiten, um auf eine
Speichervorrichtung, z. B. einen Flashspeicher, zuzugreifen, der
Daten unter einer Speichereinheitsgröße, z. B. Seitengröße, speichert. Wie
oben als Beispiel dargestellt, ist die Sektorgröße 512 Bytes und die Seitengröße ist 2
Kbyte. Das Speicherverwaltungsverfahren kann als ein Datenspeichertreiber
in Software oder Firmware oder digitalen Logikschaltkreisen implementiert
sein. Der Datenspeichertreiber, das Dateisystem und die Speichervorrichtung
sind in einer elektronischen Vorrichtung, z. B. einem Mobiltelefon
oder einer mobilen Vorrichtung, eingebaut.
-
Alternativ
sind der Datenspeichertreiber und der Speichertreiber in einer ersten
elektronischen Vorrichtung installiert und die Speichervorrichtung
ist in einer zweiten elektronischen Vorrichtung installiert. Zum
Beispiel ist die erste elektronische Vorrichtung ein PC und die
zweite elektronische Vorrichtung ist ein Mobiltelefon, das mit einem
Flashspeicher ausgestattet ist. Zwischen der ersten elektronischen
Vorrichtung und der zweiten elektronischen Vorrichtung besteht eine
Kommunikationsverbindung mit dazugehöriger Software und Hardware,
z. B. USB-Treiber und USB-Signalleitungen. Wenn die zweite elektronische
Vorrichtung von der ersten elektronischen Vorrichtung als eine externe
Datenspeichervorrichtung betrachtet wird, wird der Datenspeichertreiber
in der ersten elektronischen Vorrichtung installiert. Der Datenspeichertreiber
empfängt
die Grundoperation und übersetzt
sie in entsprechende Anweisungen gemäß der tatsächlichen Speichervorrichtung,
d. h. unter Verwendung von Speichereinheitsgröße und zugehöriger Speichereinheitsadresse.
Zusätzlich
sind Kommunikationsprotokolle in die sem Fall im Treiber integriert.
Als Alternative kann der Datenspeichertreiber auch in der zweiten
elektronischen Vorrichtung installiert sein. In diesem Fall müssen die
entsprechenden Codes gemäß einer
solchen Konfiguration angepasst werden.
-
Das
Speicherverwaltungsverfahren kann, zusammengefasst ausgedrückt, umfassen:
Empfangen der Grundoperation, welche eine Zugriffseinheitsadresse
angibt; Übersetzen
der Zugriffseinheitsadresse in zumindest eine entsprechende Speichereinheitsadresse;
und Zugreifen auf die Speichereinheit unter Verwendung der übersetzten
Speichereinheitsadresse, um auf die empfangene Grundoperation zu
reagieren. Die Grundoperation kann Lesen, Schreiben oder eine andere
Datenzugriffsanweisung, z. B. Löschen,
sein. Wenn die Grundoperation Lesen ist und die Zugriffseinheitsgröße kleiner
als die Speichereinheitsgröße ist,
wird eine Speichereinheit abgerufen und zwischengespeichert, aber
nur ein Teil der Speichereinheit wird an die Software übertragen,
welche die Daten anfordert. Wenn die Grundoperation Schreiben ist
und die Zugriffseinheitsgröße kleiner
als die Speichereinheitsgröße ist,
wird eine zugehörige
Speichereinheit, einschließlich
der Zugriffseinheit der bestimmten Zugriffseinheitsadresse und Zugriffseinheiten
angrenzend an die bestimmte Zugriffseinheit, in einem Zwischenspeicher
gespeichert. Dann wird die bestimmte Zugriffseinheit im Zwischenspeicher,
die aktualisiert werden soll, mit zugewiesenem Wert geschrieben.
Dann wird der Zwischenspeicher in die Speichervorrichtung zurückgeschrieben.
-
Es
sei auf 2 Bezug genommen. 2 ist ein
Diagramm einer Datenschreibeoperation gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung. Es sei angenommen, dass die MCU 22 das Speichern
erster gewünschter
Daten DATA_01, die in zwei Sektoren S1 und S2 gespeichert sind,
in das Flashspeicher-Modul 14 fordert.
Wie oben erwähnt, ist
die kleinste Spei chereinheit im Flashspeicher-Modul 14 eine
Seite, die viermal so groß ist
wie ein Sektor, und deshalb können
die ersten gewünschten
Daten DATA_01, die in den Sektoren S1 und S2 gespeichert sind, nicht
direkt in das Flashspeicher-Modul 14 gespeichert werden.
Bei der Datenschreibeoperation werden die ersten gewünschten
Daten DATA_01, die in den Sektoren S1 und S2 gespeichert sind, jeweils zuerst
in Zwischenspeichereinheiten 271 und 272 des Zwischenspeicherbereichs 27 geschrieben,
wie in 3 gezeigt. Der Rest des Zwischenspeicherbereichs 27,
einschließlich
der Zwischenspeichereinheiten 270 und 273, werden
dann mit Scheindaten aufgefüllt,
wobei die Scheindaten in diesem Ausführungsbeispiel logische Werte
umfassen, und jeder logische Wert einem Löschzustand des Flashspeicher-Moduls 14 entspricht.
Danach schreibt die Flashspeicher-Steuerung 28 die (in Seitengröße) im Zwischenspeicherbereich 27 gespeicherten
Daten in die Seite 51 des Flashspeicher-Moduls 14. Wie in 2 gezeigt,
umfasst die Seite 51 vier Unterseiten 510, 511, 512 und 513,
die jeweils den Zwischenspeichereinheiten 270, 271, 272 bzw. 273 entsprechen. Somit
kann das Ziel, die ersten gewünschten
Daten DATA_01, die in den Sektoren S1 und S2 gespeichert sind, unter
Verwendung des Zwischenspeicherbereichs 27 des Speichermoduls 26 in
das Flashspeicher-Modul 14 zu schreiben, erreicht werden.
Zusätzlich
werden die Scheindaten auf zwei Arten in den Zwischenspeichereinheiten 270 und 273 gespeichert.
Ein erstes Verfahren ist, den Zwischenspeicherbereich 27 (d.
h. alle Zwischenspeichereinheiten 271, 272, 273 und 274)
mit Scheindaten aufzufüllen,
bevor die ersten gewünschten
Daten DATA_01 im Zwischenspeicherbereich 27 (d. h. den Zwischenspeichereinheiten 271 und 272 im
vorliegenden Ausführungsbeispiel)
gespeichert werden. Das andere Verfahren ist, die Zwischenspeichereinheiten 270 und 273 mit
den Scheindaten aufzufüllen, nachdem
die ersten gewünschten
Daten DATA_01 in die Zwischenspeichereinheiten 271 und 272 gespeichert
wurden. Jedes der beiden obengenannten Verfahren ist an wendbar;
jedoch ist die vorliegende Erfindung nicht auf die vorgenannten
zwei Vorgehensweisen beschränkt.
-
Es
sei auf 3 Bezug genommen. 3 ist ein
Diagramm einer Datenleseoperation gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung. Es sei angenommen, dass die MCU 22 das
Lesen zweiter gewünschter
Daten DATA_02, die in der Unterseite 522 des Flashspeicher-Moduls 14 gespeichert
sind, fordert. Bei der Datenleseoperation kopiert die Flashspeicher-Steuerung 28,
angesteuert vom Flashspeicher-Treiber, zuerst alle Daten, einschließlich der
zweiten gewünschten
Daten DATA_02, die in der Seite 52 gespeichert sind, in
den Zwischenspeicherbereich 27. Zu diesem Zeitpunkt sind
die in den Zwischenspeichereinheiten 270, 271, 272 und 273 gespeicherten
Daten die gleichen wie die in den Unterseiten 520, 521, 522 bzw. 523 gespeicherten
Daten. Danach steuert der Flashspeicher-Treiber die Flashspeicher-Steuerung 28 an,
die zweiten gewünschten
Daten DATA_02, die in der Zwischenspeichereinheit 272 des
FAT-Dateisystems gespeichert sind, zu übertragen, wodurch die Datenleseoperation
vollendet ist.
-
Es
sei auf 4 Bezug genommen. 4 ist ein
Diagramm der Datenleseoperation gemäß einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung. Es sei angenommen, dass die MCU 22 das
Lesen zweiter gewünschter
Daten DATA_02, die in der Unterseite 522 des Flashspeicher-Moduls 14 gespeichert
sind, fordert. In dieser Datenleseoperation liest die Flashspeicher-Steuerung 28,
angesteuert vom Flashspeicher-Treiber, die zweiten gewünschten
Daten DATA_02, die in der Unterseite 522 gespeichert sind,
direkt und überträgt sie an
das FAT-Dateisystem,
ohne den Zwischenspeicherbereich 27 zu nutzen. Das gleiche
Ziel des Lesens der zweiten gewünschten
Daten DATA_02 wird erreicht.
-
Es
sei auf 5 Bezug genommen. 5 ist ein
Diagramm einer Datenmodifikationsoperation gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung.
-
Es
sei angenommen, dass die MCU 22 eine Modifizierung bestimmter
Daten, die in der Unterseite 533 der Seite 53 im
Flashspeicher-Modul 14 gespeichert sind, fordert. Wie oben
erwähnt,
ist die kleinste Speichereinheit im Flashspeicher-Modul 14 eine
Seite, und deshalb können
die bestimmten Daten, die in der Unterseite 533 gespeichert
sind, nicht direkt modifiziert und zum Flashspeicher-Modul 14 zurückgeschrieben
werden. Bei der Datenmodifikationsoperation kopiert die Flashspeicher-Steuerung 28,
angesteuert vom Flashspeicher-Treiber, zuerst alle in der Seite 53 gespeicherten
Daten in den Zwischenspeicherbereich 27. Zu diesem Zeitpunkt
sind die in den Zwischenspeichereinheiten 270, 271, 272 und 273 gespeicherten
Daten jeweils die gleichen wie die in den Unterseiten 530, 531, 532 und 533 gespeicherten
Daten. Die Flashspeicher-Steuerung 28 modifiziert dann
die bestimmten Daten, die in der Zwischenspeichereinheit 273 gespeichert
sind. Danach schreibt die Flashspeicher-Steuerung 28 die
im Zwischenspeicherbereich 27 gespeicherten Daten zurück in eine
weitere Seite 54 des Flashspeicher-Moduls 14,
wobei sich die Informationen, die in die Unterseite 543 geschrieben
wurden, von denjenigen, die in der Unterseite 53 gespeichert
sind, unterscheiden. Mit anderen Worten, da die in den Zwischenspeichereinheiten 270, 271, 272 und 273 gespeicherten
Daten jeweils die gleichen wie die in den Unterseiten 540, 541, 542 und 543 gespeicherten
Daten sind, werden die modifizierten bestimmten Daten erfolgreich
in der Unterseite 543 gespeichert.
-
Mit
der obigen erfinderischen Konzeption müssen die Größe der Zugriffseinheit des
FAT-Dateisystems und die Größe der Speichereinheit
des Flashspeicher-Moduls nicht so modifiziert werden, dass sie gleich
sind. Zusätzlich
werden die Kosten der erfindungsgemäßen elektronischen Vorrichtung nicht
deutlich erhöht
und es können
höhere
Lese-/Schreibdurchsätze
für die
Verwendung als Massenspeicher bereitgestellt werden.
-
Zusammenfassend
offenbart die vorliegende Erfindung ein Datenspeicherverwaltungsverfahren, das
bei einer Speichervorrichtung 14 angewandt wird. Die Speichervorrichtung 14 umfasst
eine Vielzahl von Speichereinheiten 51, 52, 53, 54.
Das Datenspeicherverwaltungsverfahren umfasst: Vorsehen einer Zwischenspeichervorrichtung 26 mit
einem Zwischenspeicherbereich 27, wobei die Größe des Zwischenspeicherbereiches 27 gleich
der Größe jeder
Speichereinheit 51, 52, 53, 54 ist;
Empfangen von Eingangsdaten, die über zumindest eine Zugriffseinheit 22 übertragen
werden, und Speichern der Eingangsdaten in den Zwischenspeicherbereich 27 der
Zwischenspeichervorrichtung 26, wobei sich die Größe der Zugriffseinheit 22 von
der Größe jeder Speichereinheit 51, 52, 53, 54 unterscheidet;
und Schreiben der Eingangsdaten in die Speichervorrichtung 14 durch Übertragen
der in dem Zwischenspeicherbereich 27 gespeicherten Daten
in eine erste Speichereinheit 51 der Speichereinheiten 51, 52, 53, 54 in
der Speichervorrichtung 14, wenn der Zwischenspeicherbereich 27 voll
ist.