DE60300360T2 - Informationsspeichervorrichtung - Google Patents

Informationsspeichervorrichtung Download PDF

Info

Publication number
DE60300360T2
DE60300360T2 DE60300360T DE60300360T DE60300360T2 DE 60300360 T2 DE60300360 T2 DE 60300360T2 DE 60300360 T DE60300360 T DE 60300360T DE 60300360 T DE60300360 T DE 60300360T DE 60300360 T2 DE60300360 T2 DE 60300360T2
Authority
DE
Germany
Prior art keywords
data
write
area
erase
storage device
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.)
Expired - Lifetime
Application number
DE60300360T
Other languages
English (en)
Other versions
DE60300360D1 (de
Inventor
Yoriharu Minato-ku Takai
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Publication of DE60300360D1 publication Critical patent/DE60300360D1/de
Application granted granted Critical
Publication of DE60300360T2 publication Critical patent/DE60300360T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/18Flash erasure of all the cells in an array, sector or block simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Informationsspeicherungsvorrichtung, und insbesondere eine Speicherkarte, wie beispielsweise eine SD-(sichere digitale)-Speicherkarte.
  • Es gibt eine nichtflüchtige Speichervorrichtung, die durch einen Flash-Speicher dargestellt wird, wobei eine minimale Löscheinheit (ein Datenlöschblock) größer als eine minimale Schreibeinheit (ein Datenschreibblock) ist. Wenn bei diesem Typ von nichtflüchtiger Speichervorrichtung ein zusätzliches Schreiben auszuführen ist, wird eine Operation zum Verschieben existierender Daten sowie eine Datenschreiboperation durchgeführt.
  • Bei der Datenschiebeoperation wird ein Bereich eines neuen Datenlöschblocks in der nichtflüchtigen Speichervorrichtung vorbereitet, werden Daten in dem Bereich kopiert und werden auch zusätzliche Schreibdaten in den Bereich geschrieben.
  • Die "Datenschiebeoperation" wird nun detaillierter beschrieben werden.
  • Die Datenschiebeoperation wird in einer nichtflüchtigen Speichervorrichtung, wie beispielsweise einem Flash-Speicher vom NAND-Typ oder einem Flash-Speicher vom UND-Typ, durchgeführt, wobei ein Datenbit nur in einer Richtung von "1 → 0" oder "0 → 1" schreibbar ist.
  • Bei dem Flash-Speicher vom NAND-Typ sind Daten beispielsweise nur in einer Richtung von "1 → 0" schreibbar. Selbst wenn "1" in einem Bereich mit Daten von "0" zu schreiben ist, kann "1" nicht geschrieben werden und bleiben die Daten von "0".
  • Solange nicht der gesamte Bereich für ein Schreiben in der nichtflüchtigen Speichervorrichtung anfängliche Werte von "1" hat, kann es einen Fall geben, bei welchem zu schreibende Daten nicht mit tatsächlich geschriebenen Daten übereinstimmen. Das einzige Verfahren zum Einstellen von Datenwerten von "1" im gesamten Bereich besteht im Ausgeben eines Löschbefehls zu den Adressen des Bereichs.
  • Es soll angenommen sein, dass der Host einen ersten Befehl für ein neues Schreiben vom 8 KB-Daten ausgegeben hat, und einen zweiten Befehl zum Schreiben (zusätzlichen Schreiben) von 8 KB-Daten nach dem neuen Schreiben von 8 KB-Daten. Da der zweite Befehl sich auf das zusätzliche Schreiben bezieht, wird ein zusätzliches Schreiben von Daten in den Bereich in der nichtflüchtigen Speichervorrichtung versucht. Jedoch ist es nicht sicher, ob Daten im Bereich "1" sind (d.h. Daten nach einem Löschen), und es ist möglich, dass zu schreibende Daten nicht mit tatsächlich geschriebenen Daten übereinstimmen.
  • Um dieses Problem zu vermeiden, wird ein neuer Schreibbereich als Ersatz für den obigen Bereich für ein zusätzliches Schreiben vorbereitet. Der neue Schreibbereich wird zuerst gelöscht, und dadurch wird der neue Schreibbereich mit Werten von "1" erzeugt. Dann werden die existierenden Daten in die neuen Schreibblöcke kopiert.
  • Darauf folgend werden zusätzliche Schreibdaten vom Host geschrieben und wird der zuvor verwendete Schreibbereich für ungültig erklärt. Dieser Prozess ist für ein Verschieben der existierenden Daten erforderlich.
  • Der Flash-Speicher ist diesbezüglich vorteilhaft, dass er nichtflüchtig und neu beschreibbar ist. Jedoch wird in einigen Fällen ein physikalisches Überschreiben verhindert. Zusätzlich ist im Allgemeinen die Lösch/Schreib-Geschwindigkeit niedriger als die Lesegeschwindigkeit.
  • Weiterhin ist es in dem Fall, in welchem die minimale Löscheinheit größer als die minimale Lese/Schreib-Einheit ist, nötig, die existierenden Daten im Flash-Speicher zu kopieren oder zu löschen, wie es durch "Schiebeoperation für existierende Daten" dargestellt ist, selbst wenn nur Daten in einem Teilbereich neu geschrieben werden müssen. Somit gibt es viele nötige Operationen, und die Schreiboperationsgeschwindigkeit kann nicht erhöht werden.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist eine Informationsspeicherungsvorrichtung zur Verfügung gestellt, die eine nichtflüchtige Speichervorrichtung hat, in welcher ein Datenlöschblock größer als ein Datenschreibblock ist, wobei die Vorrichtung eine Löscheinrichtung zum Bewirken eines Löschens in der nichtflüchtigen Speichervorrichtung auf der Basis eines Schreibbefehls von einem Host aufweist, einen Reinigungsblockzeiger, der eine Adresse eines Löschbereichs in der nichtflüchtigen Speichervorrichtung speichert, welcher durch die Löscheinrichtung gelöscht ist, und Information, die eine Position eines Schreibblocks im Löschbereich anzeigt, bis zu welcher Daten geschrieben sind, eine Bestimmungseinrichtung zum Bestimmen basierend auf dem Reinigungsblockzeiger, ob zu dem Schreibbefehl gehörende Daten in den Löschbereich in der nichtflüchtigen Speichervorrichtung schreibbar sind, welcher durch die Löscheinrichtung gelöscht ist, und eine Schreibeinrichtung zum Schreiben der zu dem Schreibbefehl gehörenden Daten in den Löschbereich, wenn die Bestimmungseinrichtung bestimmt, dass die Daten schreibbar sind.
  • Die Erfindung kann vollständiger aus der folgenden detaillierten Beschreibung verstanden werden, wenn sie in Zusammenhang mit den beigefügten Zeichnungen genommen wird, wobei:
  • 1 eine Informationsspeicherungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zeigt;
  • 2 die Struktur eines Reinigungsblockzeigers zeigt;
  • 3 die Beziehung zwischen in einer nichtflüchtigen Speichervorrichtung geschriebenen Daten und dem Reinigungsblockzeiger zeigt;
  • 4 ein Ablaufdiagramm ist, das einen Prozess zur Zeit eines Löschens darstellt;
  • 5 ein Ablaufdiagramm ist, das eine Datenschreiboperation darstellt;
  • 6A Schreibbefehle von einer Hoststeuerung zeigt;
  • 6B die Operation der Informationsspeicherungsvorrichtung in dem Fall darstellt, in welchem ein Reinigungsblockzeiger vorgesehen ist;
  • 6C die Operation der Informationsspeicherungsvorrichtung in dem Fall darstellt, in welchem zwei Reinigungsblockzeiger vorgesehen sind; und
  • 7 ein Ablaufdiagramm ist, das die Operation in dem Fall darstellt, in welchem der Reinigungsblockzeiger in der nichtflüchtigen Speichervorrichtung vorgesehen ist.
  • Eine Informationsspeicherungsvorrichtung gemäß einem Aspekt der vorliegenden Erfindung wird nun unter Bezugnahme auf die beigefügten Zeichnungen beschrieben werden.
  • 1 zeigt eine Informationsspeicherungsvorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • Wie es in 1 gezeigt ist, weist eine Informationsspeicherungsvorrichtung 1 dieses Ausführungsbeispiels eine Hostmodulschnittstelle 1-1, ein nichtflüchtiges Speichermedium 1-2, eine MPU 1-3, ein temporäres Speichermedium 1-4, eine Schnittstelle 1-5 für eine nichtflüchtige Speichervorrichtung (hierin nachfolgend "nichtflüchtige Speichervorrichtungsschnittstelle 1-5" genannt) und eine nichtflüchtige Speichervorrichtung 1-6 auf.
  • Die Hostmodulschnittstelle 1-1 sendet/empfängt Information zu/von der Hoststeuerung 2.
  • Das nichtflüchtige Speichermedium 1-2 speichert Firmware zum Steuern der MPU 1-3.
  • Die MPU 1-3 steuert eine Schreiboperation der Informationsspeicherungsvorrichtung gemäß dem Ausführungsbeispiel der Erfindung. Zusätzlich steuert die MPU 1-3 die Gesamtheit der Informationsspeicherungsvorrichtung. Basierend auf einem in dem nichtflüchtigen Speichermedium 1-2 gespeicherten Programm interpretiert die MPU 1-3 eine Anforderung von der Hoststeuerung 2 und greift beispielsweise auf die nichtflüchtige Speichervorrichtung 1-6 zu, gibt Befehle aus und transferiert Daten.
  • Das temporäre Speichermedium 1-4 ist ein Arbeitsbereich der MPU 1-3. Das temporäre Speichermedium 1-4 wird nicht nur zum temporären Speichern von Daten beim Schreiben/Lesen von ihnen in die/aus der nichtflüchtigen Speichervorrichtung 1-6 verwendet, sondern auch zum Speichern von Variablen, die für einen Zugriff auf die nichtflüchtige Speichervorrichtung 1-6 oder die Hoststeuerung 2 nötig sind. Zusätzlich speichert das temporäre Speichermedium 1-4 einen Reinigungsblockzeiger 1-4a, der in der Informationsspeicherungsvorrichtung dieses Ausführungsbeispiels verwendet wird. Die spezifische Struktur des Reinigungsblockzeigers 1-4a wird später beschrieben werden.
  • Die nichtflüchtige Speichervorrichtungsschnittstelle 1-5 führt ein Senden/Empfangen von Information zwischen der nichtflüchtigen Speichervorrichtung 1-6 einerseits und der MPU 1-3 und der Hoststeuerung 2 andererseits durch.
  • Die Hoststeuerung 2 ist eine Einheit zum Durchführen von Zugriffsoperationen, wie beispielsweise ein Lesen/Schreiben und Löschen, für die Speichervorrichtung 1. Die Hoststeuerung 2 ist beispielsweise ein Personalcomputer.
  • Die Operation der Informationsspeicherungsvorrichtung gemäß dem Ausführungsbeispiel dieser Erfindung wird nun beschrieben werden.
  • Wenn ein Lesebefehl von der Hoststeuerung 2 ausgegeben worden ist, interpretiert die MPU 1-3 eine Leseadresse und gibt einen Lesebefehl zu der nichtflüchtigen Speichervorrichtung 1-6 über die nichtflüchtige Speichervorrichtungsschnittstelle 1-5 unter Verwendung des temporären Speichermediums 1-4 als Arbeitsbereich aus. Aus der nichtflüchtigen Speichervorrichtung 1-6 ausgelesene Daten werden in dem temporäreren Speichermedium 1-4 gespeichert und dann unter Steuerung der MPU 1-3 zur Hoststeuerung 2 geliefert.
  • Wenn ein Schreibbefehl von der Hoststeuerung 2 ausgegeben worden ist, interpretiert die MPU 1-3 eine Schreibadresse und speichert Schreibdaten im temporären Speichermedium 1-4. Dann gibt die MPU 1-3 einen Schreibbefehl zu der nichtflüchtigen Speichervorrichtung 1-6 über die nichtflüchtige Speichervorrichtungsschnittstelle 1-5 aus, um dadurch eine Schreiboperation durchzuführen.
  • Das temporäre Speichermedium 1-4 speichert Variablen, die "Reinigungsblockzeiger" genannt werden. Somit hat das temporäre Speichermedium 1-4 eine Funktion, die zum effektiven Verarbeiten von Schreibdaten nötig ist, die von der Hoststeuerung geliefert werden.
  • 2 zeigt die Struktur des Reinigungsblockzeigers.
  • Der Reinigungsblockzeiger 1-4a weist eine Datenlöschblockadresse und einen Schreibfreigabezeiger auf. Der Reinigungsblockzeiger 1-4a zeigt an, dass Daten in einen Bereich geschrieben werden können, der mit dem Block beginnt, der durch den Schreibfreigabezeiger der zugehörigen Löschblockadresse angezeigt wird.
  • Bei dem Beispiel der 2 ist Information "0X100" als die Löschblockadresse im Reinigungsblockzeiger beschrieben und ist Information "0X003" als der Schreibfreigabezeiger beschrieben. Dies bedeutet, dass die ersten drei Schreibblöcke von einem Datenschreiben abgehalten werden, da Daten bereits dort hinein geschrieben worden sind.
  • Nun wird ein Fall beschrieben, bei welchem Daten zusätzlich in eine nichtflüchtige Speichervorrichtung geschrieben werden, bei welcher ein Datenlöschblock bezüglich der Größe größer als ein Daten-Lese/Schreib-Block ist.
  • Bei diesem Ausführungsbeispiel ist angenommen, dass ein Datenlöschblock 16 KB ist und ein Daten-Lese/Schreib-Block 8 KB ist, und ein Befehl für ein Schreiben von 8 KB-Daten zweimal von der Hoststeuerung ausgegeben worden ist.
  • 3 zeigt eine Beziehung zwischen in der nichtflüchtigen Speichervorrichtung geschriebenen Daten und dem Reinigungsblockzeiger. 4 ist ein Ablaufdiagramm, das einen Prozess zur Zeit eines Löschens darstellt. 5 ist ein Ablaufdiagramm, das eine Datenschreiboperation darstellt.
  • Wenn ein neuer Schreibbefehl für 8 KB-Daten von der Hoststeuerung ausgegeben worden ist, führt die MPU 1-3 eine Löschoperation gemäß einem herkömmlichen Verfahren in der nichtflüchtigen Speichervorrichtung durch, um dadurch einen Bereich für ein Schreiben von Daten zu reservieren. Somit wird ein beschreibbarer Bereich gebildet (4: S1). Zu dieser Zeit wird der in dem temporären Speichermedium gespeicherte Reinigungsblockzeiger aktualisiert (4: S2, S3).
  • Wenn ein Löschblock mit einer Adresse X gelöscht worden ist, wird "X" als die Löschblockadresse (CBP-Addr) im Reinigungsblockzeiger geschrieben und wird "0" als der Schreibfreigabezeiger (CBP-Wp) geschrieben. Somit wird der Löschprozess beendet.
  • Als nächstes wird ein Schreibprozess unter Bezugnahme auf 5 beschrieben werden.
  • Um damit zu beginnen, wird bestimmt, ob die Schreibadresse des Schreibbefehls mit der Löschblockadresse übereinstimmt (S11). Wenn keine Übereinstimmung im Schritt S11 bestimmt wird, wird ein neuer Schreibbereich reserviert (S12) und wird ein Löschprozess für den neuen Schreibbereich ausgeführt (S13).
  • Darauf folgend wird die Adresse des neuen Schreibbereichs als die Löschblockadresse im Reinigungsblockzeiger (S14) gespeichert und wird "0" als der Schreibfreigabezeiger (S15) gespeichert. Dann wird ein Schreiben von Daten ausgeführt (S16) und wird der Schreibfreigabezeiger aktualisiert (S19).
  • Andererseits wird dann, wenn eine Übereinstimmung zwischen der Schreibadresse des Schreibbefehls und der Löschblockadresse im Schritt S11 bestimmt wird, die Schreibadresse mit dem Schreibfreigabezeiger verglichen (S17).
  • Bei diesem Ausführungsbeispiel ist angenommen, dass ein Löschblock 16 KB ist und ein Schreibblock 8 KB ist. Somit wird dann, wenn der Schreibfreigabezeiger den zweiten Block von der Löschblockadresse anzeigt, bestimmt, dass ein zusätzliches Schreiben durchgeführt werden kann.
  • Wenn das Vergleichsergebnis im Schritt S17 zeigt, dass ein zusätzliches Schreiben unmöglich ist, geht die Steuerung zum Schritt S12. Andererseits werden dann, wenn bestimmt wird, dass ein zusätzliches Schreiben möglich ist, Daten zusätzlich beschrieben (S18) und wird der Schreibfreigabezeiger aktualisiert (S19).
  • Gemäß der Informationsspeicherungsvorrichtung des vorliegenden Ausführungsbeispiels kann die Möglichkeit/Unmöglichkeit eines Schreibens in einem Schreibbereich durch Bezugnahme auf den zugehörigen Reinigungsblockzeiger bestimmt werden. Wenn der Schreibbereich beschreibbar ist, werden 8 KB-Daten in den Block geschrieben.
  • Gleichzeitig wird Information über den Schreibblock, bis zu welchen Daten geschrieben worden sind, im Reinigungsblockzeiger aufgezeichnet. Dadurch wird angezeigt, dass Blöcke, die andere als die ersten 8 KB sind, beschreibbar sind. Bei diesem Ausführungsbeispiel wird deshalb, weil 8 KB = 1 Schreibblock gilt, "1" in den Reinigungsblockzeiger geschrieben.
  • Wenn ein weiterer Schreibbefehl ausgegeben worden ist, um 8 KB-Daten bei der darauf folgenden Adresse zu schreiben (zusätzlich zu schreiben), wird die Schreibadresse mit dem Reinigungsblockzeiger verglichen. Wenn bestätigt wird, dass ein zusätzliches Schreiben möglich ist, werden Daten zusätzlich in den Bereich geschrieben, ohne eine Datenschiebeoperation durchzuführen. Bei diesen Prozeduren ist der zu verwendende Speicherbereich ein Löschblock und sind eine Löschoperation und zwei Schreiboperationen nötig.
  • Bei dem in 3 gezeigten Beispiel kann der zu verwendende Speicherbereich verglichen mit dem herkömmlichen Verfahren um einen Löschblock reduziert werden, und auch eine Löschoperation, eine Schreiboperation und ein Prozess für ein Ungültigerklären können nutzlos gemacht werden.
  • Wie es oben beschrieben ist, wird bei dem Ausführungsbeispiel der vorliegenden Erfindung eine Vielzahl von Schreibbefehlen ausgegeben. Wenn diese Befehle zu einem zusätzlichen Schreiben in einem Bereich im selben Löschblock gehören, kann die Anzahl von Operationen zum Zugreifen auf die nichtflüchtige Speichervorrichtung reduziert werden und Hochgeschwindigkeitsoperationen können erreicht werden.
  • <Weiteres Ausführungsbeispiel>
  • Eine Informationsspeicherungsvorrichtung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird nun beschrieben werden.
  • Bei dem oben beschriebenen Ausführungsbeispiel wird ein Reinigungsblockzeiger verwendet. Gegensätzlich dazu ist bei dem gegenwärtigen Ausführungsbeispiel eine Vielzahl von Reinigungsblockzeigern im temporären Speichermedium vorgesehen.
  • Es soll angenommen sein, dass Schreibbefehle von der Hoststeuerung abwechselnd in Zusammenhang mit zwei Bereichen ausgegeben worden sind, wie es in 6A gezeigt ist.
  • 6B ist eine Ansicht zum Erklären der Operation der Informationsspeicherungsvorrichtung in dem Fall, in welchem ein Reinigungsblockzeiger verwendet wird, und 6C ist eine Ansicht zum Erklären der Operation der Informationsspeicherungsvorrichtung in dem Fall, in welchem zwei Reinigungsblockzeiger verwendet werden.
  • In 6C sind die Reinigungsblockzeiger CBP-1 und CBP-2 Werte, die in dem temporären Speichermedium gespeicherte Reinigungsblockzeiger anzeigen. Der obere Teil von jedem Zeiger ist eine Löschblockadresse (CBP-Addr) und ist der untere Teil ein Schreibfreigabezeiger (CBP-Wp).
  • Wie es in 6b gezeigt ist, wird dann, wenn Schreibbefehle zu einer Adresse X und einer Adresse Y in dem Fall ausgegeben werden, in welchem nur ein Reinigungsblockzeiger vorgesehen ist, der Reinigungsblockzeiger für die Adresse X zu der gleichen Zeit aktualisiert, zu welcher die Schreiboperation für die Adresse Y durchgeführt worden ist, und wird die Information über den Reinigungsblockzeiger für die Adresse X verloren.
  • Somit wird selbst dann, wenn ein zusätzlicher Schreibbefehl für die Adresse X ausgegeben worden ist, nicht bestimmt, ob der Bereich für ein zusätzliches Schreiben beschreibbar ist oder nicht, und es ist nötig, eine Datenschiebeoperation durchzuführen, wie beim Stand der Technik. Diese Prozedur ist dieselbe wie in dem Fall, in welchem kein Reinigungsblockzeiger vorgesehen ist, und es gibt keinen Vorteil.
  • Bei der Informationsspeicherungsvorrichtung dieses weiteren Ausführungsbeispiels sind zwei Reinigungsblockzeiger vorgesehen, und diese Zeiger (CBP-1, CBP-2) werden abwechselnd verwendet. 6C ist eine Ansicht zum Erklären der Operation der Informationsspeicherungsvorrichtung in dem Fall, in welchem zwei Reinigungsblockzeiger vorgesehen sind.
  • Wenn ein Schreibbefehl für die Adresse X ausgegeben worden ist, wird die Schreibzeigerinformation im CBP-1 gespeichert. Wenn ein Schreibbefehl für die Adresse Y ausgegeben worden ist, wird die Schreibzeigerinformation im CBP-2 gespeichert. Bei diesem weiteren Ausführungsbeispiel wird deshalb, weil die zwei Reinigungsblockzeiger vorgesehen sind, Information über beide Adressen X und Y gespeichert.
  • Wenn ein zusätzlicher Schreibbefehl für die Adresse X ausgegeben worden ist, wird auf die Schreibzeigerinformation des CBP-1 Bezug genommen. Wenn ein zusätzlicher Schreibbefehl für die Adresse Y ausgegeben worden ist, wird auf die Schreibzeigerinformation des CBP-2 Bezug genommen. Dadurch wird ein zusätzliches Schreiben für die nichtflüchtige Speichervorrichtung freigegeben.
  • Insbesondere kann dann, wenn die Anzahl von Reinigungsblockzeigern, die vorzusehen sind, erhöht wird, Schreibzeigerinformation über mehrere Speicherbereiche gespeichert werden. Somit können zusätzliche Schreiboperationen in Verbindung mit Schreibadressen effizient ausgeführt werden, die mit einem höheren Maß an Zufälligkeit ausgegeben werden.
  • In Bezug auf das Beispiel der 6B bis 6C ist dann, wenn ein Reinigungsblockzeiger vorgesehen ist, die Anzahl von zu verwendenden Bereichen vier, und sechs Schreiboperationen sind in dem Fall der in 6B gezeigten Schreibbefehle nötig. Andererseits ist dann, wenn zwei Reinigungsblockzeiger vorgesehen sind, die Anzahl von zu verwendenden Bereichen zwei, und vier Schreiboperationen werden durchgeführt.
  • Bei den oben beschriebenen Ausführungsbeispielen ist der Reinigungsblockzeiger im temporären Speichermedium vorgesehen. Alternativ dazu kann der Reinigungsblockzeiger in der nichtflüchtigen Speichervorrichtung vorgesehen sein.
  • Gemäß einem Ablaufdiagramm der 7 wird nun die Operation in dem Fall beschrieben, in welchem der Reinigungsblockzeiger in der nichtflüchtigen Speichervorrichtung vorgesehen ist.
  • Es soll angenommen sein, dass der Reinigungsblockzeiger zusammen mit Schreibdaten in der nichtflüchtigen Speichervorrichtung vorgesehen ist. 7 ist das Ablaufdiagramm der Schreiboperation.
  • Dieses Beispiel unterscheidet sich von dem Fall, in welchem der Reinigungsblockzeiger in dem temporären Speichermedium vorgesehen ist, dadurch, dass der Reinigungsblockzeiger in der nichtflüchtigen Speichervorrichtung das erste Mal zu der Zeit eines Beginnens der Schreiboperation gelesen wird und dass Reinigungsblockzeigerinformation zu derselben Zeit wie das Schreiben von Daten in die nichtflüchtige Speichervorrichtung geschrieben wird.
  • Zu Beginn des Schreibens von Daten wird der Reinigungsblockzeiger aus der Adresse in der nichtflüchtigen Speichervorrichtung entsprechend einer vom Host ausgegebenen Schreibblockadresse gelesen (S21). Es wird verstanden, dass dann, wenn keine Daten bei der Adresse geschrieben werden, Werte nach einem Löschen, wie beispielsweise "0" oder "1", in allen Bereichen gespeichert sind und dass der Wert des Reinigungsblockzeigers nach einem Schreiben gespeichert wird. Basierend auf dem Wert des Reinigungsblockzeigers kann bestätigt werden, ob Daten bei der Adresse geschrieben sind oder nicht.
  • Auf diese Weise wird bestimmt, ob der Wert des Reinigungsblockzeigers effektiv ist oder nicht (S22). Wenn der Wert nicht effektiv ist, das heißt dann, wenn der Wert nach einem Löschen nicht gespeichert wird, wird ein neuer Schreibbereich reserviert (S23) und wird ein Löschprozess für den neuen Schreibbereich ausgeführt (S24).
  • Als nächstes wird die Adresse des neuen Schreibbereichs als die im Reinigungsblockzeiger enthaltene Löschblockadresse gespeichert (S25), und ein Wert von "0" wird als der Schreibfreigabezeiger im Reinigungsblockzeiger gespeichert (S26).
  • Darauf folgend werden Daten (für ein neues Schreiben) und der Reinigungsblockzeiger geschrieben (S27), und der Schreibfreigabezeiger wird aktualisiert.
  • Andererseits wird dann, wenn im Schritt S22 bestimmt wird, dass der Wert des Reinigungsblockzeigers effektiv ist, die Schreibadresse analysiert, und die Möglichkeit/Unmöglichkeit eines zusätzlichen Schreibens wird bestimmt, was gleich zu dem Fall ist, bei welchem der Reinigungsblockzeiger im temporären Speichermedium gespeichert ist (S28).
  • Insbesondere wird die Schreibadresse mit der Löschblockadresse des Reinigungsblockzeigers verglichen. Wenn diese Adressen nicht übereinstimmen, wird bestimmt, dass ein zusätzliches Schreiben unmöglich ist, und der Prozess im Schritt S23 wird ausgeführt.
  • Wenn die Adressen im Schritt S28 übereinstimmen, wird bestimmt, dass ein zusätzliches Schreiben möglich ist, und Daten (für ein zusätzliches Schreiben) und der Reinigungsblockzeiger werden geschrieben (S29), und der Schreibfreigabezeiger wird aktualisiert. Der Reinigungsblockzeiger wird gelesen und es wird auf ihn Bezug genommen, wenn die nächste Schreiboperation bei dieser Adresse durchgeführt wird.
  • Wie es oben beschrieben worden ist, können deshalb, weil die Reinigungsblockzeiger in der nichtflüchtigen Speichervorrichtung gespeichert sind, alle Löschblockadressen mit derselben Anzahl von Reinigungsblockzeigern versehen sein. Dadurch gibt es selbst dann, wenn ein zusätzliches Schreiben bei irgendeiner Löschblockadresse durchgeführt wird, keine Notwendigkeit zum Verschieben der existierenden Daten, und eine Verarbeitung hoher Geschwindigkeit wird realisiert.

Claims (9)

  1. Informationsspeicherungsvorrichtung mit einer nichtflüchtigen Speichervorrichtung, in welcher ein Datenlöschblock größer als ein Datenschreibblock ist, wobei die Vorrichtung dadurch gekennzeichnet ist, dass sie folgendes aufweist: eine Löscheinrichtung (1-3) zum Bewirken eines Löschens in der nichtflüchtigen Speichervorrichtung auf der Basis eines Schreibbefehls von einem Host; einen Reinigungsblockzeiger (1-4a), der eine Adresse eines Löschbereichs in der nichtflüchtigen Speichervorrichtung speichert, welcher durch die Löscheinrichtung gelöscht ist, und Information, die eine Position eines Schreibblocks im Löschbereich anzeigt, bis zu welcher Daten geschrieben sind; eine Bestimmungseinrichtung (1-3), um basierend auf dem Reinigungsblockzeiger zu bestimmen, ob zu dem Schreibbefehl gehörende Daten in den Löschbereich in der nichtflüchtigen Speichervorrichtung schreibbar sind, der durch die Löscheinrichtung gelöscht ist; und eine Schreibeinrichtung (1-3) zum Schreiben der zu dem Schreibbefehl gehörenden Daten in den Löschbereich, wenn die Bestimmungseinrichtung bestimmte, dass die Daten schreibbar sind.
  2. Informationsspeicherungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Reinigungsblockzeiger in einem temporären Speichermedium gespeichert ist, das separat von der nichtflüchtigen Speichervorrichtung vorgesehen ist.
  3. Informationsspeicherungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Reinigungsblockzeiger zusammen mit den zu dem Schreibbefehl gehörenden Daten in der nichtflüchtigen Speichervorrichtung gespeichert ist.
  4. Informationsspeicherungsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Bestimmungseinrichtung folgendes aufweist: eine erste Bestimmungseinrichtung zum Bestimmen, ob eine zu dem Schreibbefehl gehörende Schreibadresse mit der Adresse des Löschbereichs übereinstimmt; und eine zweite Bestimmungseinrichtung zum Bestimmen, ob die zu dem Schreibbefehl gehörenden Daten in den Löschbereich schreibbar sind, auf der Basis des Reinigungsblockzeigers, wenn die erste Bestimmungseinrichtung bestimmte, dass die zu dem Schreibbefehl gehörende Schreibadresse mit der Adresse des Löschbereichs übereinstimmt.
  5. Informationsspeicherungsvorrichtung mit einer nichtflüchtigen Speichervorrichtung, in welcher ein Datenlöschblock größer als ein Datenschreibblock ist, wobei die Vorrichtung dadurch gekennzeichnet ist, dass sie folgendes aufweist: eine Löscheinrichtung (1-3) zum Löschen der nichtflüchtigen Speichervorrichtung auf der Basis eines Schreibbefehls von einem Host; einen ersten Reinigungsblockzeiger (CBP-1), der eine Adresse eines ersten Löschbereichs in der nichtflüchtigen Speichervorrichtung speichert, der durch die Löscheinrichtung gelöscht ist, und Information, die eine Position eines Schreibblocks im ersten Löschbereich anzeigt, bis zu welcher Daten geschrieben sind; einen zweiten Reinigungsblockzeiger (CBP-2), der eine Adresse eines zweiten Löschbereichs in der nichtflüchtigen Speichervorrichtung speichert, der durch die Löscheinrichtung gelöscht ist, und Information, die eine Position eines Schreibblocks im zweien Löschbereich anzeigt, bis zu welcher Daten geschrieben sind; eine Bestimmungseinrichtung (1-3), um dann, wenn zu dem Schreibbefehl gehörende Daten in den ersten Löschbereich zu schreiben sind, zu bestimmen, ob die zu dem Schreibbefehl gehörenden Daten in den ersten Löschbereich schreibbar sind, auf der Basis des ersten Reinigungsblockzeigers, und um dann, wenn zu dem Schreibbefehl gehörende Daten in den zweiten Löschbereich zu schreiben sind, zu bestimmen, ob die zu dem Schreibbefehl gehörenden Daten in den zweiten Löschbereich schreibbar sind, auf der Basis des zweiten Reinigungsblockzeigers; und eine Schreibeinrichtung (1-3) zum Schreiben der Daten in den ersten Löschbereich, wenn die Bestimmungseinrichtung bestimmte, dass die Daten in den ersten Löschbereich schreibbar sind, und zum Schreiben der Daten in den zweiten Löschbereich, wenn die Bestimmungseinrichtung bestimmte, dass die Daten in den zweiten Löschbereich schreibbar sind.
  6. Informationsspeicherungsvorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass der erste und der zweite Reinigungsblockzeiger in einem temporären Speicherungsmedium gespeichert sind, das separat von der nichtflüchtigen Speichervorrichtung vorgesehen ist.
  7. Informationsspeicherungsvorrichtung nach Anspruch 5, dadurch gekennzeichnet, dass der erste und der zweite Reinigungsblockzeiger zusammen mit den zu dem Schreibbefehl gehörenden Daten in der nichtflüchtigen Speichervorrichtung gespeichert sind.
  8. Datenschreibverfahren in einer Informationsspeicherungsvorrichtung mit einer nichtflüchtigen Speichervorrichtung, in welcher ein Datenlöschblock größer als ein Datenschreibblock ist, und einem Reinigungsblockzeiger, der eine Adresse eines Löschbereichs in der nichtflüchtigen Speichervorrichtung speichert, und Information, die eine Position eines Schreibblocks im Löschbereich anzeigt, bis zu welcher Daten geschrieben sind, wobei das Verfahren dadurch gekennzeichnet ist, dass es folgendes aufweist: Löschen der nichtflüchtigen Speichervorrichtung auf der Basis eines Schreibbefehls von einem Host; basierend auf dem Reinigungsblockzeiger Bestimmen, ob zu dem Schreibbefehl gehörende Daten in den Löschbereich in der nichtflüchtigen Speichervorrichtung schreibbar sind; und Schreiben der zu dem Schreibbefehl gehörenden Daten in den Löschbereich, wenn bestimmt ist, dass die Daten schreibbar sind.
  9. Datenschreibverfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Bestimmungsschritt folgendes aufweist: Bestimmen, ob eine zu dem Schreibbefehl gehörende Schreibadresse mit der Adresse des Löschbereichs übereinstimmt; und Bestimmen, ob die zu dem Schreibbefehl gehörenden Daten in den Löschbereich schreibbar sind, auf der Basis des Reinigungsblockzeigers, wenn bestimmt ist, dass die zu dem Schreibbefehl gehörende Schreibadresse mit der Adresse des Löschbereichs übereinstimmt.
DE60300360T 2002-03-20 2003-03-19 Informationsspeichervorrichtung Expired - Lifetime DE60300360T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002079299A JP2003280979A (ja) 2002-03-20 2002-03-20 情報記憶装置
JP2002079299 2002-03-20

Publications (2)

Publication Number Publication Date
DE60300360D1 DE60300360D1 (de) 2005-04-14
DE60300360T2 true DE60300360T2 (de) 2006-04-06

Family

ID=27785311

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60300360T Expired - Lifetime DE60300360T2 (de) 2002-03-20 2003-03-19 Informationsspeichervorrichtung

Country Status (7)

Country Link
US (2) US7073015B2 (de)
EP (1) EP1347458B1 (de)
JP (1) JP2003280979A (de)
KR (1) KR100542175B1 (de)
CN (2) CN100485812C (de)
DE (1) DE60300360T2 (de)
TW (1) TW589531B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3928724B2 (ja) * 2003-02-20 2007-06-13 ソニー株式会社 記録媒体の記録制御方法および記録媒体の記録制御装置
US20080133977A1 (en) * 2006-05-12 2008-06-05 Electronics And Telecommunications Research Institute Non-stop debugging apparatus for correcting errors in embedded systems and method thereof
US20090164715A1 (en) * 2007-12-20 2009-06-25 International Business Machines Corporation Protecting Against Stale Page Overlays
US8006707B2 (en) * 2008-01-29 2011-08-30 Hct Asia Ltd. Rotating dial sifter
US9582431B2 (en) 2010-03-22 2017-02-28 Seagate Technology Llc Storage address space to NVM address, span, and length mapping/converting
EP2559036A1 (de) 2010-04-15 2013-02-20 Ramot at Tel-Aviv University Ltd. Mehrfache programmierung eines flash-speichers ohne löschvorgang
JP5815212B2 (ja) * 2010-04-19 2015-11-17 スパンション エルエルシー データ書き込み方法およびシステム
KR20140057869A (ko) * 2012-11-05 2014-05-14 콘티넨탈 오토모티브 시스템 주식회사 차량용 임베디드 시스템의 데이터 제어 방법
CN103902468B (zh) * 2012-12-27 2018-02-23 华为技术有限公司 存储系统的数据清除方法和装置
EP3916536A1 (de) * 2015-12-28 2021-12-01 Huawei Technologies Co., Ltd. Datenverarbeitungsverfahren und nvme-speichervorrichtung
US11068165B2 (en) 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
CN113127377B (zh) * 2021-04-08 2022-11-25 武汉导航与位置服务工业技术研究院有限责任公司 一种非易失存储器件写擦除的磨损均衡方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5815434A (en) * 1995-09-29 1998-09-29 Intel Corporation Multiple writes per a single erase for a nonvolatile memory
US5745418A (en) 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US5954818A (en) * 1997-02-03 1999-09-21 Intel Corporation Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
JP4073525B2 (ja) * 1997-09-05 2008-04-09 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP3511916B2 (ja) 1998-11-17 2004-03-29 松下電器産業株式会社 記録再生装置
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
KR100684061B1 (ko) * 1999-07-28 2007-02-16 소니 가부시끼 가이샤 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
JP2002052416A (ja) 2000-08-07 2002-02-19 Daihatsu Motor Co Ltd ブランク材切出し方法及び装置
JP3573706B2 (ja) 2000-11-15 2004-10-06 富士通株式会社 記憶装置の書き込み/消去方法

Also Published As

Publication number Publication date
CN1832041A (zh) 2006-09-13
JP2003280979A (ja) 2003-10-03
DE60300360D1 (de) 2005-04-14
TW200305804A (en) 2003-11-01
TW589531B (en) 2004-06-01
KR100542175B1 (ko) 2006-01-11
EP1347458B1 (de) 2005-03-09
US20060212647A1 (en) 2006-09-21
EP1347458A1 (de) 2003-09-24
CN100485812C (zh) 2009-05-06
US7404030B2 (en) 2008-07-22
CN1445789A (zh) 2003-10-01
KR20030076359A (ko) 2003-09-26
CN1242418C (zh) 2006-02-15
US7073015B2 (en) 2006-07-04
US20030182497A1 (en) 2003-09-25

Similar Documents

Publication Publication Date Title
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE19782041B4 (de) Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE69233228T2 (de) Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C. Speicherkarte mit solchem Datenverwaltungssystem
DE60032531T2 (de) Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät
DE69334149T2 (de) Speicherkarte
DE60316171T2 (de) Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem
DE69839126T2 (de) Verschiebung aufeinander folgender sektoren innerhalb eines datenblocks in einem flash-massenspeicher
DE69925760T2 (de) Dateibetriebsverfahren zur Aufzeichnung von Echtzeit-Aufzeichnungs/Wiedergabeinformation
DE19615948C2 (de) Flash-Festkörper-Plattenspeicher-Karte
DE69635962T2 (de) Flash-Speicher-Massenspeichersystem und Verfahren dafür
DE60300360T2 (de) Informationsspeichervorrichtung
DE69726088T2 (de) Methode und Apparat zur Speicherverwaltung
DE102005063250A1 (de) Datenspeicherungssteuersystem, Speicher- und Rechnersystem und Betriebsverfahren
DE112010003577T5 (de) Datenverwaltung in Halbleiterspeicher-Einheiten und mehrstufigen Speichersystemen
DE112010004667T5 (de) Speichervorrichtung und Speichersteuerung
DE102005013683A1 (de) Speicherkarte und zugehöriges Betriebsverfahren
DE69820164T2 (de) Speichervorrichtung sowie Datenlese- und Schreibverfahren
DE19633648A1 (de) Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät
DE60207641T2 (de) Halbleiterspeicher, Informationsgerät und Verfahren zur Bestimmung von Speicherzugriffzeit des Halbleiterspeichers
DE102004014227A1 (de) Steuervorrichtung für einen nicht flüchtigen Speicher
DE2801982A1 (de) Verfahren zum austausch von information zwischen einem externen speicher und einem arbeitsspeicher in einem textverarbeitungssystem
DE69923103T2 (de) Vorrichtung und Verfahren zur Änderung eines Programms in einem Computersystem
EP0151789B1 (de) Speicherungsverfahren für eine in Fernmeldeanlagen, insbesondere Fernsprechvermittlungsanlagen eingesetzte Speichereinrichtung
DE69936674T2 (de) Speicherteilsystem und Verfahren zur Reorganisierung von multiplexierten Daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition