DE19623853A1 - Halbleiter-Speichervorrichtung - Google Patents

Halbleiter-Speichervorrichtung

Info

Publication number
DE19623853A1
DE19623853A1 DE19623853A DE19623853A DE19623853A1 DE 19623853 A1 DE19623853 A1 DE 19623853A1 DE 19623853 A DE19623853 A DE 19623853A DE 19623853 A DE19623853 A DE 19623853A DE 19623853 A1 DE19623853 A1 DE 19623853A1
Authority
DE
Germany
Prior art keywords
group
address
sector
data
logical
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.)
Ceased
Application number
DE19623853A
Other languages
English (en)
Inventor
Shigenori Miyauchi
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE19623853A1 publication Critical patent/DE19623853A1/de
Ceased 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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

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)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

Die vorliegende Erfindung betrifft eine Halbleiter-Speicher­ vorrichtung mit einem nichtflüchtigen Speicher wie beispiels­ weise einem Flash-Speicher.
Bei einer Festplatte bzw. einem Festplattenspeicher handelt es sich um eine Speichervorrichtung mit großer Speicherkapa­ zität. Eine derartige Vorrichtung hat Vorteile hinsichtlich ihrer Kompaktheit und des hohen Preis-Leistungs-Verhältnisses und wird bei Arbeitsplatzrechnern bzw. Personal Computern und sogenannten (kleinen und tragbaren) Palmtop-Personal Compu­ tern bzw. elektronischen Notizbüchern bzw. Notebook-Rechnern verwendet. Mit der zunehmenden Verbreitung und Beliebtheit von kleinen Arbeitsplatzrechnern wurden in den kleinen Ar­ beitsplatzrechnern enthaltene Festplatten oft im Außenbereich bzw. auf Reisen verwendet. Wenn ein Personalcomputer unter­ wegs auf Reisen bzw. nicht in einem bestimmten Büro verwendet wird ist es erforderlich, daß er lange Zeit mit einer Batte­ rie betreibbar ist und eine hohe Widerstandsfähigkeit auf­ weist. Da jedoch eine Festplatte bzw. ein Festplattenlaufwerk mittels eines Motors betrieben wird und durch Vibrationen bzw. Schwingungen beeinträchtigt wird ist sie bzw. es für einen tragbaren Arbeitsplatzrechner nicht uneingeschränkt ge­ eignet.
Dann fand eine Halbleiter-Speichervorrichtung für einen trag­ baren Arbeitsplatzrechner Beachtung, die mit einem Festplat­ tenlaufwerk bzw. einer Festplatte kompatibel ist. Eine Halb­ leiter-Speichervorrichtung hat einen nichtflüchtigen Speicher wie beispielsweise einen Flash-Speicher. Obwohl sie im Ver­ gleich zu einer Festplatte ein geringeres Preis-Leistungs-Verhältnis hat, ist sie nicht durch mechanische Schocks bzw. Beanspruchungen beeinträchtigt und hat eine niedrige elek­ trische Leistungsaufnahme, da kein Motor erforderlich ist.
Ein Flash-Speicher hat folgende Merkmale, verglichen mit ei­ ner Festplatte, die Daten in dem gleichen Sektor überschrei­ ben kann. Daten in einem Sektor, auf den ein Zugriff zu er­ folgen hat, müssen vor dem Schreiben von Daten gelöscht wer­ den, und Daten können nicht überschrieben werden. Obwohl ein Lese- und Schreibvorgang sektorweise (512 Bytes) erfolgen kann, kann ein Löschvorgang lediglich für eine Einheit einer relativ großen Größe bzw. Speicherkapazität wie beispielswei­ se 64 kBytes erfolgen. Zudem ist ein oberer Grenzwert für die Häufigkeit von Löschvorgängen für einen Sektor kleiner als bei einer Festplatte.
Daher kann eine Halbleiter-Speichervorrichtung hinsichtlich Löschvorgängen nicht auf die gleiche Weise wie eine Fest­ platte behandelt werden. Wenn Daten bereits in einen Sektor mit einer durch einen Hostrechner bestimmten Sektorzahl bzw. Sektorenadresse geschrieben sind, wird ein nicht benutzter bzw. nicht belegter bzw. ungenutzter Sektor gesucht und die Daten werden in den Sektor geschrieben. Somit werden die Da­ ten bzw. das Datum bzw. der Dateneintrag in einen Sektor mit einer nicht durch den Hostrechner bestimmten Sektorenadresse geschrieben. Eine Adreßumwandlungstabelle ist in der Halblei­ ter-Speichervorrichtung vorgesehen, um eine durch einen Host­ rechner bestimmte Sektorenadresse (die nachstehend als logi­ sche Sektorenadresse bezeichnet ist) in eine tatsächlich zu beschreibende Sektorenadresse bzw. eine Sektorenadresse des Sektors, in den die Daten tatsächlich geschrieben werden (die nachstehend als physikalische Sektorenadresse bezeichnet ist) umzuwandeln. Wenn ein Datenlesevorgang seitens eines Host­ rechners angefordert wird, wird eine physikalische Sektore­ nadresse entsprechend der logischen Sektorenadresse bestimmt, indem auf die Adreßumwandlungstabelle Bezug genommen wird, und Daten bzw. ein Dateneintrag wird aus dem wie zuvor be­ schrieben bestimmten physikalischen Sektor ausgelesen.
Für eine Halbleiter-Speichervorrichtung mit 40 MByte sind zwei Speicherchips wahlfreien Zugriffs bzw. RAM-Speicherchips von je 1 MBit oder ein RAM-Speicherchip von 4 MBit erforder­ lich. Mit steigender Speicherkapazität eines Flash-Speichers vergrößert sich ebenfalls die Speichergröße einer Adreßum­ wandlungstabelle. Folglich steigen die Kosten einer Halblei­ ter-Speichervorrichtung an und die Freiheit beim Entwurf der Vorrichtung ist durch einen Größenanstieg des Speichers wahl­ freien Zugriffes eingeschränkt bzw. begrenzt.
Aufgabe der Erfindung ist es, eine Halbleiter-Speichervor­ richtung zu schaffen, die einen Flash-Speicher großer Spei­ cherkapazität durch Verwenden einer Adreßumwandlungstabelle mit geringer Speicherkapazität bzw. geringem Speicherplatzbe­ darf steuert.
Bei einer einen Flash-Speicher verwendenden Halbleiter-Spei­ chervorrichtung wird eine Vielzahl von Sektoren gruppenweise verwaltet, wobei eine Gruppe aus n Sektoren besteht. Eine lo­ gische Sektorenadresse bzw. logische Sektorenzahl wird in eine logische Gruppenadresse sowie eine Offset-Adresse umge­ wandelt, indem die logische Sektorenadresse durch eine natür­ liche Zahl n dividiert wird und indem ein Divisionsquotient als die logische Gruppenadresse und ein Divisionsrest als die Offset-Adresse eingestellt wird. Eine Umwandlungstabelle zur Umwandlung einer logischen Gruppenadresse in eine physikali­ sche Gruppenadresse ist in einem RAM-Speicher bzw. Speicher wahlfreien Zugriffs gespeichert. Wenn ein Zugriff auf den Flash-Speicher erfolgt wird eine der logischen Gruppenadresse entsprechende physikalische Gruppenadresse unter Bezugnahme auf die Umwandlungstabelle bestimmt und ein Sektor in dem Flash-Speicher entsprechend einer Summe der Offset-Adresse sowie einem Produkt der physikalischen Gruppenadresse und der natürlichen Zahl n berechnet.
Zudem ist eine Verwaltungseinrichtung zur Speicherung von In­ formationen zur Verwaltung jeder Gruppe von n Sektoren der selben physikalischen Gruppenadresse vorgesehen. Wenn ein Da­ teneintrag für eine logische Gruppenadresse und eine Offset- Adresse in einen Sektor in der Gruppe mit der physikalischen Gruppenadresse in Übereinstimmung mit der logischen Grup­ penadresse geschrieben wird, wird, wenn irgendwelche Daten bereits in einen der Sektoren in einer Gruppe geschrieben sind, eine andere, nicht benutzte Gruppe gesucht, und die Da­ ten werden entsprechend der Offset-Adresse in einen Sektor in der anderen Gruppe geschrieben. Dann wird die physikalische Gruppenadresse in Übereinstimmung mit der logischen Grup­ penadresse in der Umwandlungstabelle als eine physikalische Gruppenadresse der anderen Gruppe aktualisiert, und eine Adresse des Sektors in der Verwaltungseinrichtung wird eben­ falls zu der physikalischen Gruppenadresse in Übereinstimmung mit der logischen Gruppenadresse aktualisiert, bevor die Um­ wandlungstabelle aktualisiert wird. Wenn andererseits ein Sektor einer logischen Sektorenadresse gelesen wird, wird eine physikalische Gruppenadresse entsprechend der logischen Gruppenadresse durch Bezugnahme auf die Umwandlungstabelle erhalten. Wenn die Gruppe der physikalischen Gruppenadresse verwendet bzw. genutzt wird bzw. ist, erfolgt ein Zugriff auf die Gruppe. Wenn in der Verwaltungseinrichtung jedoch eine andere physikalische Gruppenadresse in Übereinstimmung mit der logischen Gruppenadresse gespeichert wird bzw. ist, bevor die Umwandlungstabelle aktualisiert wird, erfolgt eine Sta­ tus- bzw. Zustandsüberprüfung der anderen physikalischen Gruppenadresse. Diese Verarbeitung wird mit Bezug auf die Verwaltungseinrichtung fortgesetzt, bis eine physikalische Gruppenadresse einer Gruppe gefunden wird, die die Daten ei­ nes Sektors der logischen Sektorenadresse speichert. Vorzugs­ weise werden die letzten Daten in eine nicht benutzte Gruppe geschrieben und die physikalische Gruppenadresse in Überein­ stimmung mit der logischen Gruppenadresse als eine Adresse bzw. Nummer der nicht benutzten Gruppe in der Umwandlungs­ tabelle aktualisiert, wenn eine Anzahl von Überprüfungen zum Finden einer physikalischen Gruppenadresse einer die Daten eines Sektors mit der logischen Sektorenadresse speichernden Gruppe eine vorbestimmte Anzahl überschreitet.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß eine Speicherkapazität der Adreßumwandlungstabelle in einer Halbleiter-Speichervorrichtung verringert werden kann.
Die Erfindung ist nachstehend anhand von Ausführungsbeispie­ len mit Bezugnahme auf die beigefügte Zeichnung beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild einer Halbleiter-Speichervorrich­ tung gemäß einem Ausführungsbeispiel der Erfindung;
Fig. 2 ein Diagramm eines Löschblocks bzw. löschbaren Blocks in einem Flash-Speicher;
Fig. 3 ein Diagramm einer Situation in einem Löschblock, wenn neue Daten in Sektoren 0, 1 und 2 geschrieben werden;
Fig. 4 eine schematische Darstellung einer Adreßumwandlungs­ tabelle;
Fig. 5 ein weiteres Diagramme eines Löschblocks in einem Flash-Speicher;
Fig. 6 eine weitere schematische Darstellung der Adreßumwand­ lungstabelle;
Fig. 7A und 7B einen Datenschreibvorgang veranschaulichende Flußdiagramme;
Fig. 8A, 8B, 8C, 8D, sowie 8E Diagramme bzw. tabellarische Übersichten von Gruppenverwaltungsdaten in jeder Gruppe in Bezug auf gelesene Daten bzw. einen Datenlesevorgang;
Fig. 9A, 9B, 9C, 9D, 9E und 9F Diagramme von Gruppenverwal­ tungsdaten in jeder Gruppe zur Darstellung abgekürzter Ver­ knüpfungen; und
Fig. 10 ein einen Datenlesevorgang veranschaulichendes Fluß­ diagramm.
Nunmehr mit Bezug auf die Zeichnung, in der ähnliche Bezugs­ zeichen gleiche oder entsprechende Teile in allen Darstellun­ gen bezeichnen, zeigt Fig. 1 eine Halbleiter-Speichervorrich­ tung gemäß einem Ausführungsbeispiel der Erfindung. Eine Halbleiter-Speichervorrichtung 11 ist an einen Hostrechner 10 wie beispielsweise einen Personal Computer bzw. Arbeitsplatz­ rechner angeschlossen. Eine Schnittstelle (I/F) 12 ist zum Senden und Empfangen von Daten an und von dem Hostrechner 10 vorgesehen. Eine nachfolgend als Flash-Controller bezeichnete Flash-Speicher-Steuereinrichtung 14 steuert Datenschreib- und Lesevorgänge bei einem Flash-Speicher 15. Ein Zwischenspei­ cher mit wahlfreiem Zugriff bzw. Zwischenspeicher-RAM 17 speichert temporär Daten, die aus dem Flash-Speicher 15 aus­ gelesen wurden oder in diesen geschrieben werden. Eine Adreß­ umwandlungstabelle 16 ist in einem Speicher wahlfreien Zu­ griffs gespeichert. Eine Zentraleinheit (CPU) 13 steuert die Funktion der gesamten Halbleiter-Speichervorrichtung 11.
Die Halbleiter-Speichervorrichtung 11 verwaltet vier Sektoren als eine Gruppe. Eine physikalische Gruppenadresse (PGN) ist jeder Gruppe zugewiesen, und Offset-Adressen (OA) von 0, 1, 2 und 3 sind den vier Sektoren in einer Gruppe zugewiesen. Eine von dem Hostrechner 10 her empfangene logische Sektorenadres­ se LSN wird durch 4 dividiert, und der Quotient der Division wird als die logische Gruppenadresse (LGN) eingestellt und der Rest als eine Offset-Adresse. Eine einer logischen Grup­ penadresse (LGN) entsprechende physikalische Gruppenadresse (PGN) wird wie später erläutert bestimmt, und die Adreßum­ wandlungstabelle 16 speichert Daten einer physikalischen Gruppenadresse (PGN) entsprechend einer logischen Gruppen­ adresse (LGN).
Durch Verwalten von vier Sektoren in Form einer Gruppe kann die Speicherkapazität eines für die Adreßumwandlungstabelle benötigten Speichers wahlfreien Zugriffs bzw. RAM-Speichers im Vergleich zu einer Adreßumwandlungstabelle zur sektorwei­ sen Verwaltung verringert werden. Beispielsweise sind etwa 1,3 MBit Speicherkapazität zur Verwaltung aller Sektoren (81.920 Sektoren) bei einer Halbleiter-Speichervorrichtung mit 40 MByte erforderlich. Wenn andererseits eine Gruppe aus vier Sektoren besteht, sind lediglich 280 kBit oder ein RAM-Speicherchip von 512 kBit zur Verwaltung aller Gruppen (20.480 Gruppen) erforderlich. Somit ist die Speicherkapazi­ tät eines Speichers wahlfreien Zugriffs für die Adreßumwand­ lungstabelle verringert. Da zudem ein für den Speicher wahl­ freien Zugriffs benötigter Platzbedarf verringert ist, kann ein Flash-Speicher mit größerer Speicherkapazität in der Halbleiter-Speichervorrichtung enthalten sein.
Im allgemeinen werden n Sektoren als eine Gruppe verwaltet. Wenn eine Anzahl n von Sektoren in einer Gruppe vergrößert wird, kann die Speicherkapazität für eine Adreßumwandlungs­ tabelle weiter verringert werden. Da jedoch ein Datenschrei­ ben bzw. Schreibvorgang von Daten in eine nicht benutzte Gruppe erfolgt, kann der Flash-Speicher nicht effizient ge­ nutzt werden, wenn eine Gruppe aus zu vielen Sektoren be­ steht. Deshalb muß eine Sektorenanzahl pro Gruppe unter Be­ rücksichtigung eines Gleichgewichts zwischen diesen beiden Gesichtspunkten festgelegt werden.
Der Flash-Speicher 15 besteht aus einer Vielzahl von soge­ nannten Lösch-Blöcken. Bei einer nachfolgend als Default-Ein­ stellung bezeichneten Vorabeinstellung bzw. Standardeinstel­ lung sind Daten von "1" in alle Adressen geschrieben bzw. eingetragen, und ein Dateneintrag erfolgt durch Schreiben ei­ nes Dateneintrags von "0" in erforderliche Adressen.
Fig. 2 zeigt einen Lösch-Block 20 in einem Flash-Speicher 15. Die Blockgröße beträgt 64 kByte. Ein Lösch-Block 20 besteht aus einem Blockverwaltungsdatenblock 21 bzw. Blockverwal­ tungsdatenbereich 21, einem Gruppenverwaltungsdatenblock bzw. Gruppenverwaltungsdatenbereich 22 sowie einem Datenspeicher­ bereich 23. Den Lösch-Block 20 betreffende Informationen wer­ den bzw. sind in den bzw. dem Blockverwaltungsdatenbereich 21 geschrieben. Die Informationen bezüglich des Lösch-Blocks 20 schließen einen Zählwert von Löschvorgängen sowie Sperr-Zu­ standsmerker bzw. Sperr-Flags zum Sperren bzw. Verhindern ei­ ner Nutzung des Blockes ein. Informationen zur Verwaltung je­ der Gruppe in dem Lösch-Block 20 ist für jede Gruppe vorgese­ hen, und diese sind in dem Gruppenverwaltungsdatenbereich 22 enthalten bzw. werden in diesen geschrieben. Wenn beispiels­ weise 60 Gruppen in dem Lösch-Block 20 existieren, sind 60 Sätze von Gruppenverwaltungsinformationen gespeichert. Der Inhalt von Verwaltungsinformationen für jede Gruppe ist in Tabelle 1 dargestellt.
Tabelle 1
Gruppenverwaltungsinformationen
Der Gruppen-Lösch-Freigabe-Flag F1 ist auf "1" eingestellt, wenn die Gruppe nicht verwendet ist oder verwendet ist. Ande­ rerseits ist er auf "0" eingestellt, wenn in der Gruppe keine Daten existieren.
Der Gruppen-Nutzungs-Status-Flag F2 bezüglich des Nutzungs­ status bzw. Nutzungszustands der Sektoren in der Gruppe ist als "0" für einen benutzten Sektor eingestellt. Wenn eine Gruppe aus vier Sektoren besteht, ist der Flag F2 in Form von 4-Bit Daten ausgedrückt. Wenn beispielsweise Sektoren 0, 1 und 2 benutzt werden bzw. genutzt sind, ist der Flag F2 als "0001" ausgedrückt.
Die logische Gruppenadresse (LGN) stellt ein Datum bzw. einen Dateneintrag einer logischen Gruppenadresse für die Gruppe dar und es wird Bezug auf sie genommen, wenn die Adreßumwand­ lungstabelle 16 auf das Einschalten der elektrischen Span­ nungsversorgung hin erstellt wird. Wenn alle Sektoren unge­ nutzt sind bzw. nicht genutzt werden, wird der logischen Gruppenadresse ein Default-Wert zugewiesen.
Bei den Fehlerkorrekturcode-Daten handelt es sich um zur Ver­ besserung der Zuverlässigkeit der logischen Gruppenadresse verwendete Fehlerkorrekturcode-Daten (ECC Daten).
Die vier letzten physikalischen Adressen ADD0-ADD3 stellen dar, ob Daten in physikalischen Adressen von vier Sektoren 0, 1, 2 und 3 in der Gruppe die letzten bzw. aktuellsten bzw. neuesten Daten sind oder nicht, und auf sie wird Bezug genom­ men, wenn ein Dateneintrag gelesen wird. Für die letzten bzw. neuesten Daten wird ein Default-Wert von "1111" eingestellt, wohingegen, wenn die Daten in eine alte Gruppe geschrieben werden bzw. sind, die physikalische Gruppenadresse der alten Gruppe in die letzte physikalische Adresse geschrieben wird.
Der Letzte-Daten-Flag F3 wird auf "1" eingestellt, wenn zu­ mindest einer der vier Sektoren der Gruppe die letzten bzw. neuesten Daten speichert. Mit dem die letzten Daten spei­ chernden Sektor ist ein Sektor gemeint, für den der Gruppen- Nutzungs-Status-Flag F2 auf "0" gesetzt ist. Auf das Ein­ schalten der elektrischen Spannungsversorgung hin erstellt die Zentraleinheit CPU 13 die Adreßumwandlungstabelle ent­ sprechend den Daten der logischen Gruppenadresse (LGN) von Gruppen, bei denen die Zustandsmerker bzw. Flags F1 und F3 beide auf "1" eingestellt bzw. gesetzt sind.
Als nächstes ist ein Datenschreiben bzw. Datenschreibvorgang in die Halbleiter-Speichervorrichtung erläutert. Dabei gibt es zwei Arten von Datenschreibvorgängen: neues Schreiben und zusätzliches Schreiben. Fig. 3 zeigt eine Situation in einem Lösch-Block 20, wenn neue Daten in Sektoren 0, 1 und 2 der logischen Sektorenadresse LGN α in den Lösch-Block geschrie­ ben werden. Wenn die der logischen Gruppenadresse α entspre­ chende physikalische Gruppenadresse PGN nicht in der Adreßum­ wandlungstabelle 16 gespeichert ist, wird entschieden, daß es sich bei dem Datenschreibvorgang um ein neues Schreiben bzw. einen neuen Schreibvorgang handelt. In diesem Fall werden Da­ ten in eine nicht genutzte Gruppe geschrieben (mit einer phy­ sikalischen Gruppenadresse PGN X). Nachdem die Daten in Sek­ toren 0, 1 und 2 der Gruppe mit der physikalischen Sektoren­ adresse PGN X in den Lösch-Block 20 geschrieben sind (wie durch schraffierte Linien angedeutet), werden verschiedene Zustandsmerker bzw. Flags bezüglich der Gruppe mit der logi­ schen Gruppenadresse LGN X bzw. α in dem Gruppenverwaltungs­ datenbereich 22 aktualisiert. Zudem wird, wie in Fig. 4 dar­ gestellt, eine der logischen Gruppenadresse LGN α ent­ sprechende physikalische Gruppenadresse PGN als "X" in die Adreßumwandlungstabelle 16 eingetragen.
Fig. 5 zeigt eine unterschiedliche Situation in dem Lösch-Block 20, wenn ein Datenschreibvorgang bereits für Sektoren 0, 1 und 2 einer Gruppe mit der logischen Gruppenadresse LGN α erfolgte und ein zusätzlicher bzw. weiterer Datenschreib­ vorgang zudem für einen Sektor 0 in einer anderen Gruppe mit der logischen Gruppenadresse α durchgeführt wird. Eine physi­ kalische Gruppenadresse X entsprechend einer logischen Grup­ penadresse α wird durch Bezugnahme auf die Adreßumwandlungs­ tabelle bestimmt. Da ein Dateneintrag in einem Flash-Speicher nicht überschrieben werden kann, wird eine ungenutzte unbe­ schriebene Gruppe gesucht und die zusätzlichen Daten werden in Sektor 0 der gesuchten anderen Gruppe geschrieben, deren physikalische Gruppenadresse PGN Y ist. Die physikalische Gruppenadresse PGN X und verschiedene Flags der physikali­ schen Gruppenadresse PGN Y werden in dem Gruppenverwaltungs­ datenbereich 22 aktualisiert. Zudem wird, wie in Fig. 6 dar­ gestellt, eine physikalische Gruppenadresse PGN, entsprechend der logischen Gruppenadresse LGN α, als "Y" in die Adreßum­ wandlungstabelle 16 eingetragen.
Tabelle 2 zeigt Zustandsmerker bzw. Flags in einer alten Gruppe (PGN = X) und in einer neuen Gruppe (PGN = Y), wenn ein zusätzlicher Schreibvorgang für einen Sektor 0 durchge­ führt wird, wenn bereits Daten in Sektoren 0, 1 und 2 in der Gruppe mit der physikalischen Gruppenadresse PGN = X ge­ schrieben wurden.
Wie in Tabelle 2 dargestellt wird der Letzte-Daten-Flag F3 für die alte Gruppe mit PGN = X auf "0" gesetzt. Andererseits wird der Wert des dem Sektor 0 entsprechenden niedrigwertig­ sten Bit in dem Gruppen-Nutzungs-Status-Flag F2 für die neue Gruppe PGN = Y auf "0" gesetzt, und die physikalische Grup­ penadresse X der alten Gruppe wird für die Sektoren 1 und 2 in ADD1 und ADD2 geschrieben. Wenn der Hostrechner 10 das Le­ sen des Sektors 1 der Gruppe mit der logischen Gruppenadresse LGN α anfordert, werden die Daten von Sektor 1 in der alten Gruppe mit der physikalischen Sektorenadresse X durch Bezug­ nahme auf die physikalische Gruppenadresse X, die für Sektor 1 in ADD1 gespeichert ist gelesen, und Daten in dem ent­ sprechenden Sektor werden gelesen. Wenn der Hostrechner 10 das Lesen des Sektors 0 der Gruppe mit der logischen Grup­ penadresse LGN α anfordert, werden die Daten in dem ent­ sprechenden Sektor gelesen.
Tabelle 2
Gruppenverwaltungsinformation
Fig. 7A und 7B stellen Flußdiagramme dar, die das Daten­ schreiben bzw. Datenschreibvorgänge durch die Zentraleinheit CPU 13 zeigen. Zuerst wird von dem Hostrechner 10 her eine logische Sektorenadresse LSN α empfangen (Schritt S100), und die logische Sektorenadresse wird durch n (= 4 bei diesem Ausführungsbeispiel) dividiert, wobei der Quotient der Divi­ sion als die logische Gruppenadresse LGN und der Rest als eine Offset-Adresse OA eingestellt wird (Schritt S101). Off­ set-Adressen 0, 1, 2 und 3 werden vier Sektoren in einer Gruppe aufeinanderfolgend von einem Sektor der kleinsten phy­ sikalischen Adresse an zugeordnet. Wenn beispielsweise die durch den Hostrechner 10 bestimmten logischen Sektorenadres­ sen 4, 5 und 6 sind, wird die logische Gruppenadresse als "1" eingestellt und die Offset-Adressen OA werden auf "0", "1" und "2" eingestellt. Dann erfolgt eine Bezugnahme auf die Adreßumwandlungstabelle 16 (Schritt S102) und es wird bestä­ tigt, ob eine physikalische Gruppenadresse PGN entsprechend der logischen Gruppenadresse LGN in der Adreßumwandlungsta­ belle 16 registriert ist (Schritt S103). Wenn entschieden wird, daß die physikalische Gruppenadresse nicht in der Ta­ belle registriert ist (NEIN bei Schritt S103), ist entschie­ den, daß es sich bei dem Datenschreibvorgang um das Schreiben neuer Daten handelt, und die folgende Verarbeitung wird durchgeführt: Zuerst wird der Gruppen-Nutzungs-Status-Flag F2 in dem Gruppenverwaltungsdatenbereich 22 in dem Lösch-Block 20 überprüft, um eine Gruppe zu suchen, in der alle Sektoren nicht verwendet sind (Schritt S104) oder eine Gruppe mit ei­ nem Flag F2 von "1111". Dann werden die Daten in Sektoren mit den Offset-Adressen OA in der gesuchten bzw. gefundenen Gruppe mit einer physikalische Gruppenadresse X geschrieben (Schritt S105). Dann werden die in Tabelle 1 gezeigten Ver­ waltungsdaten für die Gruppe, in die die Daten geschrieben wurden, aktualisiert. D.h., ein entsprechender Bit-Datenein­ trag in dem Gruppen-Nutzungs-Status-Flag F2 wird auf "0" ge­ setzt (Schritt S106), die bei Schritt S101 erhaltene logische Gruppenadresse (LGN = X) wird geschrieben (S107) und die ver­ bleibenden Flag-Daten werden aktualisiert (Schritt S108). Schließlich wird die Adreßumwandlungstabelle 16 durch Schrei­ ben der physikalischen Gruppenadresse PGN der Gruppe, in die die Daten geschrieben wurden, aktualisiert (Schritt S109).
Wenn andererseits entschieden ist, daß die physikalische Gruppenadresse in der Adreßumwandlungstabelle registriert ist (JA bei Schritt S103), wird ferner entschieden, ob bereits Daten in den relevanten Sektor geschrieben wurden (Schritt S117). Wenn entschieden ist, daß bereits Daten in den Sektor geschrieben wurden (JA bei Schritt S117) wird ein zusätzli­ cher Datenschreibvorgang gemäß der folgenden Verarbeitung durchgeführt: Zuerst wird der Gruppen-Nutzungs-Status-Flag F2 in dem Gruppenverwaltungsdatenbereich 22 in dem Lösch-Block 20 überprüft, um eine Gruppe mit Flag F2 mit "1111" zu su­ chen, in der alle Sektoren ungenutzt bzw. unbeschrieben sind (Schritt S120). Dann werden die Daten in Sektoren mit den Offset-Adressen OA in der gesuchten, nicht genutzten Gruppe mit der physikalischen Gruppenadresse Y geschrieben (Schritt S121). Dann werden die in Tabelle 1 dargestellten Verwal­ tungsdaten für die alte Gruppe mit der physikalischen Grup­ penadresse X, die in der Adreßumwandlungstabelle 16 einge­ tragen sind, und für die neue Gruppe mit der physikalischen Gruppenadresse Y, in die die Daten geschrieben wurden, aktua­ lisiert. Das heißt, ein entsprechender Bit-Dateneintrag in dem Gruppen-Nutzungs-Status-Flag F2 wird für den Sektor in der neuen Gruppe auf "0" gesetzt, in den die Daten geschrie­ ben wurden (Schritt S122), die in Schritt S101 erhaltene lo­ gische Gruppenadresse (LGN = X) wird geschrieben und die ECC-Daten werden geschrieben (Schritt S123). Die physikalische Gruppenadresse X der alten Gruppe wird in die letzten bzw. neuesten physikalischen Adressen ADDn der Sektoren geschrie­ ben, in die Daten geschrieben wurden (Schritt S124), der Letzte-Daten-Flag F3 für die alte Gruppe wird auf "0" gesetzt (Schritt S125), und die Adreßumwandlungstabelle 16 wird durch Schreiben der physikalischen Gruppenadresse PGN der letzten Gruppe, in die die Daten geschrieben wurden, aktualisiert (Schritt S126). Wenn entschieden wurde, daß nicht bereits Da­ ten in den relevanten Sektor geschrieben wurden (NEIN bei Schritt S117) werden die Daten in den Sektor geschrieben (Schritt S118) und die entsprechenden Bit-Dateneinträge in dem Gruppen-Nutzungs-Status-Flag F2 aktualisiert oder als "0" für den Sektor in der neuen Gruppe gesetzt, in die die Daten geschrieben werden bzw. wurden (Schritt S119).
Als nächstes wird eine Datenleseverarbeitung durch die Zen­ traleinheit CPU 13 erläutert. Wenn ein Dateneintrag bzw. Da­ tum gelesen wird, werden Adreßdaten ADDn auf einem Sektor bzw. eines Sektors mit einer Offset-Adresse OA einer Gruppe mit einer physikalischen Gruppenadresse PGN überprüft. Wenn die Adreßdaten "1111" sind, wird ein in dem Sektor gespei­ chertes Datum bzw. ein in diesem gespeicherter Dateneintrag gelesen. Wenn andererseits von "1111" unterschiedliche Adreß­ daten in den Sektor geschrieben sind, wurde ein zusätzlicher Datenschreibvorgang in Bezug auf den Sektor durchgeführt und die Daten in dem Sektor sind in den Sektor mit derselben Off­ set-Adresse in einer alten Gruppe geschrieben. Dann wird die Adresse des Sektors in der physikalischen Gruppenadresse überprüft, bis Adreßdaten "1111" gefunden werden, und die Da­ ten in dem Sektor der physikalische Gruppenadresse der Adreß­ daten "1111" werden gelesen. Wenn ein zusätzlicher Daten­ schreibvorgang wiederholt durchgeführt wird bzw. wurde dauert es einige Zeit, um die Gruppe mit den Adreßdaten von "1111" zurückzuverfolgen bzw. aufzufinden. Dann wird eine Anzahl von zurückzuverfolgenden Gruppen gezählt, und wenn die Anzahl 3 überschreitet werden die Daten aller Sektoren in eine neue, ungenutzte bzw. freie Gruppe kopiert, und der Lösch-Freigabe-Flag F1 in jeder der alten Gruppen wird auf "0" gesetzt, und der Letzte-Daten-Flag F3 wird auf "0" gesetzt. Diese Verar­ beitung ist nachfolgend als abgekürztes Verbinden bzw. abge­ kürztes Verknüpfen bezeichnet. Die abgekürzte Verknüpfung wird durchgeführt, wenn eine Anzahl der Gruppenverknüpfungen eine vorbestimmte Anzahl überschreitet, wie vorhergehend er­ läutert. Zudem kann sie durchgeführt werden, wenn eine zur Zurückverfolgung der Verknüpfung benötigte Zeit eine vorbe­ stimmte Zeit überschreitet, da die abgekürzte Verknüpfung durchgeführt wird, um eine für einen Datenlesevorgang benö­ tigte Zeit in gewissem Umfang zu verkürzen.
Fig. 8A bis 8E zeigen ein Beispiel von Gruppenverwaltungsda­ ten zur Veranschaulichung einer Gruppenverbindung bzw. -ver­ knüpfung, wenn keine abgekürzte Verbindung durchgeführt wird.
Fig. 8A, 8B, 8C, 8D sowie 8E zeigen Gruppenverwaltungsdaten für physikalische Gruppenadressen PGN A, B, C, D und E. Zunächst wird ein Datenschreibvorgang hinsichtlich Sektoren 0, 1 und 2 in einer Gruppe mit einer logische Gruppenadresse LGN von b angefordert, und die Daten werden in Sektoren 0, 1 und 2 einer entsprechenden physikalischen Gruppe mit Adreßda­ tum der Gruppe A geschrieben. Als nächstes werden aufeinan­ derfolgend zusätzliche Schreibvorgänge hinsichtlich der Sek­ toren 1, der Sektoren 1 und 2, der Sektoren 2 und 3 und des Sektors 3 wie durch den Flag bzw. Zustandsmerker F2 darge­ stellt durchgeführt. Die Adreßdaten "1111" bedeuten, daß die letzten bzw. neuesten Daten in die Gruppe geschrieben wurden. Bezüglich des Sektors 0 sind die Daten lediglich in die Gruppe mit PGN A geschrieben. Wenn dann die Daten des Sektors 0 gelesen werden, muß von der letzten bzw. neuesten Gruppe (F3 = 1) mit PGN = E aus aufeinanderfolgend viermal zur Gruppe PGN = A zurückverfolgt werden, wie durch Pfeile ange­ deutet, obwohl die Daten von Sektor 2 oder 3 ohne weiteres aus der Gruppe mit PGN = E ausgelesen werden können.
Fig. 9A bis 9F zeigen ein Beispiel von Gruppenverwaltungsda­ ten zur Darstellung einer abgekürzten Verknüpfung bzw. ver­ kürzter Rückverfolgung. Fig. 9A, 9B, 9C, 9D und 9E zeigen Gruppenverwaltungsdaten für physikalische Gruppenadressen PGN von A, B, C, D und E. Ein Datenschreibvorgang erfolgt ähnlich wie bei dem in Fig. 8A bis 8E dargestellten Beispiel, und die Gruppenverwaltungsdaten sind jenen in Fig. 8A, 8B, 8C, 8D sowie 8E gezeigten ähnlich. Wie zuvor erläutert beträgt beim Schreiben von Daten in eine Gruppe mit PGN = E der Wert bzw. Zählwert zurückzuverfolgender Gruppen vier, und eine abge­ kürzte Verknüpfung bzw. Rückverfolgung wird durchgeführt. Das heißt, wie in Fig. 9F dargestellt, wird eine hinsichtlich al­ ler Sektoren ungenutzte Gruppe mit einer physikalischen Grup­ penadresse PGN = F gesucht, und die letzten Daten werden in die Gruppe mit PGN = F kopiert und der Letzte-Daten-Flag F3 wird für die Gruppe mit PGN = F gesetzt. Zudem wird der Lösch-Freigabe-Flag F1 bei den Gruppen mit PGN = A bis E ge­ setzt.
Fig. 10 zeigt ein Flußdiagramm eines Datenlesevorgangs sei­ tens der Zentraleinheit CPU 13. Zuerst wird eine logische Sektorenadresse LSN von dem Hostrechner 10 her empfangen (Schritt S200), und die logische Sektorenadresse wird durch n (= 4 bei diesem Ausführungsbeispiel) dividiert, wobei der Quotient der Division als logische Gruppenadresse LGN und der Rest als Offset-Adresse OA eingestellt wird (Schritt S201). Dann wird auf die Adreßumwandlungstabelle 16 Bezug genommen (Schritt S202) und eine physikalische Gruppenadresse PGN ent­ sprechend der logischen Gruppenadresse wird durch Bezugnahme auf die Adreßumwandlungstabelle 16 bestätigt (Schritt S203). Dann wird ein Zählwert von zurückzuverfolgenden Gruppen für eine abgekürzte Verknüpfung bzw. abgekürzte Rückverfolgung mit "1" initialisiert (Schritt S204).
Wenn als nächstes bestimmt ist bzw. wird, daß die bei Schritt S202 erhaltene Adresse ADD "1111" ist (JA bei Schritt S205) werden Daten in der Adresse gelesen (Schritt S206). Andern­ falls wird eine der physikalischen Gruppenadresse mit demsel­ ben Wert wie die Adresse ADD entsprechende Adresse bestätigt (Schritt S207), der Zählwert C um 1 inkrementiert (Schritt S208) und der Ablauf kehrt zu Schritt S205 zurück.
Nachdem Daten bei Schritt S206 gelesen wurden, wie zuvor er­ läutert, erfolgt eine Überprüfung, ob der Zählwert den Wert vier überschreitet oder nicht (Schritt S207). Wenn entschie­ den ist, daß der Zählwert vier überschreitet (JA bei Schritt S207) erfolgt eine abgekürzte Verknüpfung. Zuerst wird eine ungenutzte Gruppe bzw. freie Gruppe gesucht (Schritt S210) und die letzten bzw. neuesten Daten aller Sektoren werden in die neue Gruppe kopiert (Schritt S211). Dann wird jeder die neuen Gruppe betreffende Flag aktualisiert (Schritt S212), und der Gruppen-Lösch-Freigabe-Flag F1 wird bei den alten Gruppen auf "0" gesetzt und der Letzte-Daten-Flag F3 der neuen Gruppe wird auf "1" gesetzt (Schritt S213). Darauffol­ gend wird eine physikalische Gruppenadresse PGN in der Adreß­ umwandlungstabelle 16 entsprechend einer physikalischen Grup­ penadresse PGN auf die Adresse bzw. Nummer der Gruppe aktua­ lisiert, in die die letzten bzw. aktuellen Daten kopiert wurden (Schritt S214). Somit wird eine Gruppenverknüpfung bzw. Gruppenrückverfolgung verkürzt. Da diese abgekürzte Ver­ knüpfung eine gewisse Zeit in Anspruch nimmt, wird diese Ver­ arbeitung nicht durchgeführt, wenn der Zählwert kleiner als vier ist (NEIN bei Schritt S209).
Eine Halbleiter-Speichervorrichtung 11 hat einen Flash-Spei­ cher 15 und verwaltet die Sektoren gruppenweise, wobei jede Gruppe aus n Sektoren besteht. Eine logische Sektorenadresse wird in eine logische Gruppenadresse und eine Offset-Adresse umgewandelt, und eine Umwandlungstabelle 16 ist vorgesehen, um eine physikalische Gruppenadresse in eine logische Grup­ penadresse umzuwandeln. Eine logische Sektorenadresse wird durch n dividiert, um eine Quotienten und einen Rest zu er­ halten, die als eine logische Gruppenadresse und eine Offset-Adresse eingestellt werden. Eine Zugriffs-Steuereinrichtung 14 bestimmt eine physikalische Gruppenadresse entsprechend der logischen Gruppenadresse mit Bezug auf die Adreßumwand­ lungstabelle 16 und greift auf einen Sektor entsprechend der Offset-Adresse in der physikalischen Gruppenadresse zu. Zudem sind für jede Gruppe in einem Speicher Gruppenverwaltungsin­ formationen gespeichert, und wenn auf einen Sektor einer lo­ gischen Sektorenadresse zugegriffen wird, wird eine physika­ lische Gruppenadresse einer die Daten des Sektors speichern­ den Gruppe zurückverfolgt, indem auf die Umwandlungstabelle und die Gruppenverwaltungsinformationen Bezug genommen wird.

Claims (6)

1. Halbleiter-Speichervorrichtung, mit:
einem Flash-Speicher (15) mit einer Vielzahl von Sekto­ ren;
einer Einrichtung (13) zur Umwandlung einer logischen Sektorenadresse in eine logische Gruppenadresse und eine Off­ set-Adresse durch Division der logischen Sektorenadresse durch eine natürliche Zahl n, wobei n größer als eins ist, und durch Einstellung eines Divisionsquotienten als die logi­ sche Gruppenadresse und eines Divisionsrestes als die Offset-Adresse;
einem eine Umwandlungstabelle zur Umwandlung einer logi­ schen Gruppenadresse in eine physikalische Gruppenadresse speichernden Speicher wahlfreien Zugriffs (16); und
eine Zugriffssteuereinrichtung (14) zur Bestimmung einer der logischen Gruppenadresse entsprechenden physikalischen Gruppenadresse unter Bezugnahme auf die Umwandlungstabelle in dem Speicher wahlfreien Zugriffs (16) und zum Zugriff auf einen Sektor in dem Flash-Speicher (15) entsprechend einer Summe aus der Offset-Adresse und einem Produkt der physikali­ schen Gruppenadresse und der natürlichen Zahl n.
2. Vorrichtung nach Anspruch 1, wobei die Vielzahl von Sektoren in dem Flash-Speicher (15) in eine Vielzahl von Lösch-Blöcken (20) unterteilt ist.
3. Vorrichtung nach Anspruch 1, zudem mit einer Verwaltungseinrichtung (21, 22) zur Speicherung von Informationen zur Verwaltung jeder Gruppe aus n Sektoren derselben physikalischen Gruppenadresse, wobei, wenn ein Dateneintrag für eine logische Gruppenadresse und eine Offset-Adresse in einen Sektor in der Gruppe mit der der logischen Gruppenadresse entsprechenden physikalischen Grup­ penadresse geschrieben wird, die Zugriffs-Steuereinrichtung (14) eine andere, ungenutzte Gruppe sucht, wenn bereits ir­ gendwelche Daten in einen der Sektoren in der Gruppe ge­ schrieben wurden, die Daten in einen Sektor entsprechend der Offset-Adresse in der anderen Gruppe schreibt, die physikali­ sche Gruppenadresse entsprechend der logische Gruppenadresse in der Umwandlungstabelle als eine physikalische Gruppen­ adresse der anderen Gruppe aktualisiert und eine Adresse des Sektors in der Verwaltungseinrichtung als die physikalische Gruppenadresse entsprechend der logischen Gruppenadresse neu schreibt, bevor die Umwandlungstabelle aktualisiert wird.
4. Vorrichtung nach Anspruch 3, wobei Daten in dem Flash-Speicher (15) in Einheiten von aus einer Vielzahl von Sektoren bestehenden Lösch-Blöcken (20) gelöscht werden, und die Verwaltungseinrichtung (21, 22) Informationen zur Verwaltung von Sektoren in Einheiten von Lösch-Blöcken speichert.
5. Vorrichtung nach Anspruch 3, wobei, wenn ein Lesezugriff auf einen Sektor mit einer logischen Sektorenadresse erfolgt, die Zugriffs-Steuerein­ richtung (14) eine physikalische Gruppenadresse entsprechend der logischen Gruppenadresse durch Bezugnahme auf die Umwand­ lungstabelle erhält, und wenn eine andere physikalische Grup­ penadresse in der Verwaltungseinrichtung entsprechend der lo­ gischen Gruppenadresse gespeichert ist, bevor die Umwand­ lungstabelle aktualisiert wird, die Zugriffs-Steuereinrich­ tung (14) einen Zustand der anderen physikalischen Gruppen­ adresse überprüft, und die Zugriffs-Steuereinrichtung die Zustände der physikalischen Gruppenadressen mit Bezug auf die Verwaltungseinrichtung überprüft, bis eine physikalische Gruppenadresse einer Gruppe gefunden wird, die die Daten ei­ nes Sektors der logischen Sektorenadresse speichert.
6. Vorrichtung nach Anspruch 5, wobei, wenn eine Anzahl von Überprüfungen durch die Verwaltungseinrichtung zum Finden einer physikalischen Grup­ penadresse einer Gruppe, die die Daten eines Sektors der lo­ gischen Sektorenadresse speichert, eine vorbestimmte Anzahl überschreitet, die Steuereinrichtung eine ungenutzte Gruppe sucht, die letzten Daten in die nicht genutzte Gruppe schreibt, und die physikalische Gruppenadresse entsprechend der logischen Gruppenadresse als eine Adresse der ungenutzten Gruppe neu in die Umwandlungstabelle schreibt.
DE19623853A 1996-01-08 1996-06-14 Halbleiter-Speichervorrichtung Ceased DE19623853A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP70796A JPH09185551A (ja) 1996-01-08 1996-01-08 半導体記憶装置

Publications (1)

Publication Number Publication Date
DE19623853A1 true DE19623853A1 (de) 1997-07-17

Family

ID=11481252

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19623853A Ceased DE19623853A1 (de) 1996-01-08 1996-06-14 Halbleiter-Speichervorrichtung

Country Status (3)

Country Link
US (1) US6430650B1 (de)
JP (1) JPH09185551A (de)
DE (1) DE19623853A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1533703A2 (de) * 1997-08-08 2005-05-25 Kabushiki Kaisha Toshiba Verfahren zur Steuerung eines nichtflüchtigen Halbleiterspeichersystems

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
JP2002175211A (ja) * 2000-12-07 2002-06-21 Sharp Corp データ管理システムおよびデータ管理方法
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP2003076605A (ja) 2001-08-31 2003-03-14 Mitsubishi Electric Corp ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法
JP2003162433A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd メモリシステム
WO2004001605A1 (en) * 2002-06-19 2003-12-31 Tokyo Electron Device Limited Memory device, memory managing method and program
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US7526599B2 (en) * 2002-10-28 2009-04-28 Sandisk Corporation Method and apparatus for effectively enabling an out of sequence write process within a non-volatile memory system
US7287068B1 (en) * 2002-12-13 2007-10-23 Bmc Software, Inc. System and method for updating devices that execute an operating system or application program directly from nonvolatile storage
GB2400927A (en) * 2003-04-22 2004-10-27 Hewlett Packard Development Co Method of managing memory by checking that none of the sectors in a block is needed before erasing the block.
ITMI20031126A1 (it) * 2003-06-05 2004-12-06 St Microelectronics Srl Dispositivo di memoria di massa basato su una memoria
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
KR100526188B1 (ko) * 2003-12-30 2005-11-04 삼성전자주식회사 플래시 메모리의 주소 사상 방법, 사상 정보 관리 방법 및상기 방법을 이용한 플래시 메모리
US7299314B2 (en) * 2003-12-31 2007-11-20 Sandisk Corporation Flash storage system with write/erase abort detection mechanism
JP3942612B2 (ja) * 2004-09-10 2007-07-11 東京エレクトロンデバイス株式会社 記憶装置、メモリ管理方法及びプログラム
KR100706242B1 (ko) 2005-02-07 2007-04-11 삼성전자주식회사 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법
US20070100893A1 (en) * 2005-10-31 2007-05-03 Sigmatel, Inc. System and method for accessing data from a memory device
US7624239B2 (en) * 2005-11-14 2009-11-24 Sandisk Corporation Methods for the management of erase operations in non-volatile memories
US7783845B2 (en) * 2005-11-14 2010-08-24 Sandisk Corporation Structures for the management of erase operations in non-volatile memories
US8307149B2 (en) * 2005-12-09 2012-11-06 Panasonic Corporation Nonvolatile memory device including a logical-to-physical logig-to-physical address conversion table, a temporary block and a temporary table
US20080005449A1 (en) * 2006-07-03 2008-01-03 Phison Electronics Corp. Generalized flash memory and method thereof
TWI341491B (en) * 2007-03-07 2011-05-01 Via Tech Inc Memory access system and memory access method thereof
US20080320253A1 (en) * 2007-06-19 2008-12-25 Andrew Tomlin Memory device with circuitry for writing data of an atomic transaction
US8266391B2 (en) * 2007-06-19 2012-09-11 SanDisk Technologies, Inc. Method for writing data of an atomic transaction to a memory device
JP2009026062A (ja) * 2007-07-19 2009-02-05 Tdk Corp メモリコントローラ、メモリシステム及びメモリ制御方法
US8775758B2 (en) * 2007-12-28 2014-07-08 Sandisk Technologies Inc. Memory device and method for performing a write-abort-safe firmware update
JP2010020586A (ja) * 2008-07-11 2010-01-28 Nec Electronics Corp データ処理装置
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9158678B2 (en) * 2013-03-13 2015-10-13 Kabushiki Kaisha Toshiba Memory address management system and method
US10552085B1 (en) 2014-09-09 2020-02-04 Radian Memory Systems, Inc. Techniques for directed data migration
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US9846552B2 (en) 2014-11-13 2017-12-19 Toshiba Memory Corporation Memory device and storage system having the same
US9778864B2 (en) * 2015-03-10 2017-10-03 SK Hynix Inc. Data storage device using non-sequential segment access and operating method thereof
CN104866345B (zh) * 2015-05-21 2018-03-23 福建升腾资讯有限公司 一种ARMv7m架构下可执行代码的存储方法
US10635596B2 (en) 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes
JP6254986B2 (ja) * 2015-10-02 2017-12-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、アクセスコントローラ、および情報処理方法
US11188501B1 (en) * 2017-08-15 2021-11-30 Amazon Technologies, Inc. Transactional and batch-updated data store search
US11586385B1 (en) 2020-05-06 2023-02-21 Radian Memory Systems, Inc. Techniques for managing writes in nonvolatile memory
CN116661704B (zh) * 2023-07-07 2024-03-08 深圳宏芯宇电子股份有限公司 存储装置数据读写方法、存储器存储装置及存储器控制器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113512A (en) * 1988-06-21 1992-05-12 Matsushita Electric Industrial Co., Ltd. System for managing a storage medium reducing physical space needed
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5590300A (en) * 1991-03-05 1996-12-31 Zitel Corporation Cache memory utilizing address translation table
JP3178909B2 (ja) * 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
JP3175371B2 (ja) * 1992-03-06 2001-06-11 三菱電機株式会社 データ記憶フォーマット変換方式及びその変換方法及びアクセス制御装置及びデータアクセス方法
JP3105092B2 (ja) * 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
US5471604A (en) * 1992-10-30 1995-11-28 Intel Corporation Method for locating sector data in a memory disk by examining a plurality of headers near an initial pointer
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
JPH08137634A (ja) * 1994-11-09 1996-05-31 Mitsubishi Electric Corp フラッシュディスクカード
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
JP3706167B2 (ja) * 1995-02-16 2005-10-12 株式会社ルネサステクノロジ 半導体ディスク装置
JP3426385B2 (ja) * 1995-03-09 2003-07-14 富士通株式会社 ディスク制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IBM Journal of Development, Vol. 39, Nr. 5, September 1995, S. 531-545 *
TANENBAUM, A.: Moderne Betriebssysteme, Carl Hanser Verlag München Wien 1994, S. 112-115 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1533703A2 (de) * 1997-08-08 2005-05-25 Kabushiki Kaisha Toshiba Verfahren zur Steuerung eines nichtflüchtigen Halbleiterspeichersystems
EP1533703A3 (de) * 1997-08-08 2007-10-24 Kabushiki Kaisha Toshiba Verfahren zur Steuerung eines nichtflüchtigen Halbleiterspeichersystems
US8230156B2 (en) 1997-08-08 2012-07-24 Kabushiki Kaisha Toshiba Method for controlling non-volatile semiconductor memory system
US8756401B2 (en) 1997-08-08 2014-06-17 Kabushiki Kaisha Toshiba Method for controlling non-volatile semiconductor memory system

Also Published As

Publication number Publication date
US6430650B1 (en) 2002-08-06
US20020069314A1 (en) 2002-06-06
JPH09185551A (ja) 1997-07-15

Similar Documents

Publication Publication Date Title
DE19623853A1 (de) Halbleiter-Speichervorrichtung
DE102019132371A1 (de) Zuordnungsverwaltung logisch zu physisch unter Verwendung von nichtflüchtigem Speicher
DE69936246T2 (de) Nichtflüchtiger Speicher, Aufzeichnungsgerät und -verfahren
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE19615948C2 (de) Flash-Festkörper-Plattenspeicher-Karte
DE69635962T2 (de) Flash-Speicher-Massenspeichersystem und Verfahren dafür
DE69839126T2 (de) Verschiebung aufeinander folgender sektoren innerhalb eines datenblocks in einem flash-massenspeicher
DE19537305A1 (de) Halbleiter-Platteneinrichtung und Speicherverwaltungsmethode
DE69626569T2 (de) Datenkompressionsverfahren und Struktur für eine Speichereinheit mit direktem Zugriff
DE69932874T2 (de) Verfahren und Computersystem zur dynamischen Generationsverwaltung von Rechnerspeicher
DE69533764T2 (de) Verfahren zum Gebrauch von Speicherplatten unterschiedlicher Inhalte in einem Einzelvolumen einer hierarchischen Speicherplattenanordnung
DE69534527T2 (de) Verfahren zur Verwendung von nicht-aneinandergrenzenden reservierten Speicherplatz zur Datenmigration in einem hierarchischen redundanten Datenspeichersystem
DE102005019842B4 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
US5457658A (en) Nonvolatile memory with cluster-erase flash capability and solid state file apparatus using the same
EP1027653B1 (de) Zugriffssteuerung eines speichers beschränkter löschhäufigkeit
DE60019903T2 (de) Speichersystem
DE60117818T2 (de) Verwaltung des ersetzens von daten in einem zwischenspeicher auf einem knoten aufgrund von zwischenspeichern anderer knoten
DE112020002526T5 (de) Blockmodusumschaltung in datenspeichersystem
DE102006003261A1 (de) Speichersystem und Verfahren zur Datenzusammenführung
DE112011100618T5 (de) Verwalten von Schreiboperationen auf einen Speicherbereich von Spuren, der zwischen Speichereinheiten verlagert wird
DE102009034651A1 (de) Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten
DE112017002941T5 (de) Arbeitslastoptimierte Datendeduplizierung mittels Phantomfingerabdrücken
DE102005031525A1 (de) Verfahren und System zur Steuerung eines Flashspeichers und Speichersystem
DE102006005877A1 (de) Adresszuordnungstabelle und Verfahren zum Erzeugen einer Adresszuordnungstabelle
DE112020002792B4 (de) Verschleissorientierte blockmodusumwandlung in nichtflüchtigen speichern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection