DE19623853A1 - Halbleiter-Speichervorrichtung - Google Patents
Halbleiter-SpeichervorrichtungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash 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.
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.
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.
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.
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)
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)
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)
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 | 富士通株式会社 | ディスク制御装置 |
-
1996
- 1996-01-08 JP JP70796A patent/JPH09185551A/ja active Pending
- 1996-06-14 DE DE19623853A patent/DE19623853A1/de not_active Ceased
- 1996-06-17 US US08/665,364 patent/US6430650B1/en not_active Expired - Fee Related
Non-Patent Citations (2)
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)
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 |