DE102006036837A1 - Datenspeicherverwaltungsverfahren und -system - Google Patents

Datenspeicherverwaltungsverfahren und -system Download PDF

Info

Publication number
DE102006036837A1
DE102006036837A1 DE102006036837A DE102006036837A DE102006036837A1 DE 102006036837 A1 DE102006036837 A1 DE 102006036837A1 DE 102006036837 A DE102006036837 A DE 102006036837A DE 102006036837 A DE102006036837 A DE 102006036837A DE 102006036837 A1 DE102006036837 A1 DE 102006036837A1
Authority
DE
Germany
Prior art keywords
data
storage
size
unit
memory
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
DE102006036837A
Other languages
English (en)
Inventor
Bing-Yu Wang
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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of DE102006036837A1 publication Critical patent/DE102006036837A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Abstract

Ein Datenspeicherverwaltungsverfahren, das bei einer Speichervorrichtung (14) angewandt wird, wird offenbart. 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.

Description

  • 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.

Claims (25)

  1. Datenspeicherverwaltungsverfahren zur Abwicklung eines Satzes von Grundoperationen unter einer Zugriffseinheitsgröße eines Dateisystems, um auf eine Speichervorrichtung (14) zuzugreifen, die Daten unter einer Speichereinheitgröße speichert, umfassend: Empfangen der Grundoperation, die zumindest eine Zugriffseinheitsadresse angibt; und gekennzeichnet durch: Übersetzen der Zugriffseinheitsadresse in zumindest eine korrespondierende Speichereinheitadresse, wobei sich die Speichereinheitgröße von der Zugriffseinheitsgröße unterscheidet; und Zugreifen auf die Speichervorrichtung (14) unter Verwendung der Speichereinheitsadresse, um auf die Grundoperation zu reagieren.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass, 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 Anspruch 1 oder 2, dadurch gekennzeichnet, dass, 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 einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass ein Speichertreiber, das Dateisystem und die Speichervorrichtung auf einer elektronischen Vorrichtung (12) installiert sind, und Software-Anwendungen der elektronischen Vorrichtung unter Verwendung des Satzes von Grundoperationen auf die Speichervorrichtung (14) zugreifen, und die Grundoperationen zum Speichertreiber übergeben werden, um die Schritte Empfangen der Grundoperationen, Übersetzen der Grundoperationen und Zugreifen auf die Speichervorrichtung (14) durchzuführen.
  5. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass ein Speichertreiber und das Dateisystem in einer ersten elektronischen Vorrichtung (12) 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 (14) durchzuführen.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Speichervorrichtung (14) ein Flashspeicher ist.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Speichereinheitsgröße eine Seitengröße des Flashspeichers ist und die Zugriffseinheitsgröße eine Sektorgröße des Dateisystems ist.
  8. Datenspeicherverwaltungsverfahren, angewandt bei einer Speichervorrichtung (14), wobei die Speichervorrichtung (14) eine Vielzahl von Speichereinheiten (51, 52, 53, 54) umfasst, wobei das Datenspeicherverwaltungsverfahren umfasst: Vorsehen einer Zwischenspeichervorrichtung (26), die zumindest einen Zwischenspeicherbereich (27) umfasst, wobei die Größe des Zwischenspeicherbereiches (27) gleich der Größe jeder Speichereinheit (51, 52, 53, 54) ist; und gekennzeichnet durch: 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 Übergeben 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.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Speichervorrichtung (14) ein Flashspeicher ist.
  10. Verfahren nach Anspruch 8 oder 9, gekennzeichnet durch: Auffüllen des Zwischenspeicherbereiches (27) mit Scheindaten, mit Ausnahme des mit den Eingangsdaten belegten Bereichs, nachdem die Eingangsdaten im Zwischenspeicherbereich (27) gespeichert wurden.
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Scheindaten logische Werte enthalten, und jeder logische Wert einem Löschzustand des Flashspeichers entspricht.
  12. Verfahren nach Anspruch 8 oder 9, gekennzeichnet durch: Auffüllen des Zwischenspeicherbereiches (27) mit Scheindaten, bevor die Eingangsdaten im Zwischenspeicherbereich (27) gespeichert werden.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Scheindaten logische Werte enthalten, und jeder logische Wert einem Löschzustand des Flashspeichers entspricht.
  14. Verfahren nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass die Größe der Speichereinheit (51, 52, 53, 54) größer als die Größe der Zugriffseinheit (22) ist.
  15. Verfahren nach einem der Ansprüche 8 bis 14, gekennzeichnet durch: Kopieren der in der ersten Speichereinheit (51) gespeicherten Eingangsdaten in den Zwischenspeicherbereich (27) bei Empfang einer Anforderung zur Modifizierung der Eingangsdaten; Modifizieren der im Zwischenspeicherbereich (27) gespeicherten Daten; und Übertragen der im Zwischenspeicherbereich (27) gespeicherten modifizierten Eingangsdaten in eine zweite Speichereinheit (52) der Speichereinheiten (51, 52, 53, 54) in der Speichervorrichtung (14).
  16. Verfahren nach einem der Ansprüche 8 bis 15, gekennzeichnet durch: Kopieren der in der ersten Speichereinheit (51) gespeicherten Daten in den Zwischenspeicherbereich (27) bei Empfang einer Anforderung zum Lesen der Eingangsdaten, und Lesen der im Zwischenspeicherbereich (27) gespeicherten Daten.
  17. Datenspeicherverwaltungssystem, umfassend: eine Datenquelle (24), die Eingangsdaten in zumindest einer Zugriffseinheit (22) bereitstellt; eine Speichervorrichtung (14) mit einer Vielzahl von Speichereinheiten (51, 52, 53, 54), wobei sich die Größe der Zugriffseinheit (22) von der Größe jeder Speichereinheit (51, 52, 53, 54) unterscheidet; und gekennzeichnet durch: eine Zwischenspeichervorrichtung (26) mit zumindest einem Zwischenspeicherbereich (27), wobei die Größe des Zwischenspeicherbereiches (27) gleich der Größe jeder Speichereinheit (51, 52, 53, 54) ist; und eine Speichervorrichtungs-Steuerung (28), die mit der Datenquelle (24), der Speichervorrichtung (14) und der Zwischenspeichervorrichtung (26) verbunden ist, um die über die Zugriffseinheit (22) übertragenen Eingangsdaten zu empfangen, die Eingangsdaten in den Zwischenspeicherbereich (27) der Zwischenspeichervorrichtung (26) zu speichern und die Eingangsdaten in die Speichervorrichtung (14) zu schreiben, indem im Pufferspeicherbereich (27) gespeicherte Daten in eine erste Speichereinheit (51) der Speichereinheiten (51, 52, 53, 54) in der Speichervorrichtung (14) übertragen werden, wenn der Pufferspeicherbereich (27) voll ist.
  18. Datenspeicherverwaltungssystem nach Anspruch 17, dadurch gekennzeichnet, dass die Speichervorrichtung (14) ein Flashspeicher ist.
  19. Datenspeicherverwaltungssystem nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass die Speichervorrichtungs-Steuerung (28) den Zwischenspeicherbereich (27) mit Scheindaten auffüllt, mit Ausnahme des von den Eingangsdaten belegten Bereichs, nachdem die Eingangsdaten im Zwischenspeicherbereich (27) gespeichert wurden.
  20. Datenspeicherverwaltungssystem nach Anspruch 19, dadurch gekennzeichnet, dass die Scheindaten logische Werte umfassen, und jeder logische Wert einem Löschzustand des Flashspeichers entspricht.
  21. Datenspeicherverwaltungssystem nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass die Speichervorrichtungs-Steuerung (28) den Zwischenspeicherbereich (27) mit Scheindaten auffüllt, bevor die Eingangsdaten in den Zwischenspeicherbereich (27) gespeichert werden.
  22. Datenspeicherverwaltungssystem nach Anspruch 21, dadurch gekennzeichnet, dass die Scheindaten logische Werte umfassen, und jeder logische Wert einem Löschzustand des Flashspeichers entspricht.
  23. Datenspeicherverwaltungssystem nach einem der Ansprüche 17 bis 22, dadurch gekennzeichnet, dass die Größe der Speichereinheit (51) größer als die Größe der Zugriffseinheit (22) ist.
  24. Datenspeicherverwaltungssystem nach einem der Ansprüche 17 bis 23, dadurch gekennzeichnet, dass, wenn die Speichervorrichtungs-Steuerung (28) eine Anforderung zur Modifizierung der Eingangsdaten empfängt, die Speichervorrichtungs-Steuerung (28) in der ersten Speichereinheit (51) gespeicherte Daten in den Zwischenspeicherbereich (27) kopiert, die im Zwischenspeicherbereich (27) gespeicherten Daten modifiziert und die im Zwischenspeicherbereich (27) gespeicherten modifizierten Eingangsdaten in eine zweite Speichereinheit (52) der Speichereinheiten (51, 52, 53, 54) in der Speichervorrichtung (14) überträgt.
  25. Datenspeicherverwaltungssystem nach einem der Ansprüche 17 bis 24, dadurch gekennzeichnet, dass, wenn die Speichervorrichtungs-Steuerung (28) eine Anforderung zum Lesen der Eingangsdaten empfängt, die Speichervorrichtungs-Steuerung (28) die in der ersten Speichereinheit (51) gespeicherten Daten in den Zwischenspeicherbereich (27) kopiert und die im Zwischenspeicherbereich (27) gespeicherten Eingangsdaten liest.
DE102006036837A 2005-08-17 2006-08-07 Datenspeicherverwaltungsverfahren und -system Withdrawn DE102006036837A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US70879805P 2005-08-17 2005-08-17
US60/708,798 2005-08-17

Publications (1)

Publication Number Publication Date
DE102006036837A1 true DE102006036837A1 (de) 2007-03-01

Family

ID=37715715

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006036837A Withdrawn DE102006036837A1 (de) 2005-08-17 2006-08-07 Datenspeicherverwaltungsverfahren und -system

Country Status (4)

Country Link
US (1) US20070041050A1 (de)
CN (1) CN100520735C (de)
DE (1) DE102006036837A1 (de)
TW (1) TW200708950A (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4498426B2 (ja) * 2008-03-01 2010-07-07 株式会社東芝 メモリシステム
US7975111B2 (en) * 2008-11-13 2011-07-05 Macronix International Co., Ltd. Memory and method applied in one program command for the memory
CN101782873B (zh) * 2009-01-15 2014-07-09 旺玖科技股份有限公司 具有自带保全功能的外接储存装置
JP5709563B2 (ja) * 2011-02-07 2015-04-30 キヤノン株式会社 バッファキャッシュ管理方法、バッファキャッシュ管理装置及びプログラム
JP5738618B2 (ja) * 2011-02-08 2015-06-24 オリンパス株式会社 データ処理装置
TWI448892B (zh) * 2011-09-06 2014-08-11 Phison Electronics Corp 資料搬移方法、記憶體控制器與記憶體儲存裝置
CN102999437B (zh) * 2011-09-19 2015-12-16 群联电子股份有限公司 数据搬移方法、存储器控制器与存储器储存装置
US9542321B2 (en) * 2014-04-24 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Slice-based random access buffer for data interleaving
WO2016106757A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 一种存储数据的管理方法、存储管理器及存储系统
US11079958B2 (en) * 2019-04-12 2021-08-03 Intel Corporation Apparatus, system and method for offloading data transfer operations between source and destination storage devices to a hardware accelerator
US20220188029A1 (en) * 2020-12-15 2022-06-16 Micron Technology, Inc. Techniques for partial writes

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319645A (ja) * 1996-05-24 1997-12-12 Nec Corp 不揮発性半導体記憶装置
US7136986B2 (en) * 2002-11-29 2006-11-14 Ramos Technology Co., Ltd. Apparatus and method for controlling flash memories

Also Published As

Publication number Publication date
CN100520735C (zh) 2009-07-29
TW200708950A (en) 2007-03-01
US20070041050A1 (en) 2007-02-22
CN1916875A (zh) 2007-02-21

Similar Documents

Publication Publication Date Title
DE102006036837A1 (de) Datenspeicherverwaltungsverfahren und -system
DE102006024655B4 (de) Speicherkarte und Speichersteuereinheit
DE60204687T2 (de) Speicherkopierbefehl mit Angabe von Quelle und Ziel, der in der Speichersteuerung ausgeführt wird
DE2350884C2 (de) Adreßumsetzungseinheit
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE102004004796B4 (de) Vorrichtung zur Datenübertragung zwischen Speichern
DE202010017665U1 (de) Datenverteilung bei einer Datenspeichervorrichtung mit Flash-Speicherchips
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE4220698C2 (de) Verfahren zum Betreiben einer Datenverarbeitungsanlage
DE102009051339A1 (de) Speichersystem und Speicherverfahren
DE19810802A1 (de) Störungsfreies Aktualisieren von Daten
DE102005006176A1 (de) Transaktionsverarbeitungs-Systeme und -Verfahren, die einen Nicht-Platten-Dauerspeicher verwenden
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
DE10056827A1 (de) Duale Verwendung von Cache-Verbindungen
DE102005019842A1 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung
DE112007000688T5 (de) Fehlerverwaltungstopologien
DE202017103915U1 (de) Zweiphasige Befehlspuffer zum Überlappen von IOMMU-Abbildung und Lesevorgängen zweitrangiger Datenspeicher
DE60019364T2 (de) Speicherdefragmentierung in Chipkarten
DE112017003822T5 (de) Automatische hardware-zlw-einführung für ipu-bildströme
DE69927325T2 (de) Automatisierte Steuerung der Stossbetriebdatenübertragung über einer Nachrichtenverbindung zwischen Einheiten im Blockmodusbetrieb
DE3235264C2 (de)
DE69928187T2 (de) System zum Anschluss eines Computers an mehreren Ein/Ausgabemitteln
DE112017008201B4 (de) Informationsverarbeitungsvorrichtung, Informationsverarbeitungsverfahren und Informationsverarbeitungsprogramm
DE102015114721B4 (de) Verfahren, Gerät und System zur Datenverarbeitung

Legal Events

Date Code Title Description
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
8105 Search report available
8110 Request for examination paragraph 44
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110301