DE60132229T2 - Speichervorrichtung, speichersteuerverfahren und programm - Google Patents

Speichervorrichtung, speichersteuerverfahren und programm Download PDF

Info

Publication number
DE60132229T2
DE60132229T2 DE60132229T DE60132229T DE60132229T2 DE 60132229 T2 DE60132229 T2 DE 60132229T2 DE 60132229 T DE60132229 T DE 60132229T DE 60132229 T DE60132229 T DE 60132229T DE 60132229 T2 DE60132229 T2 DE 60132229T2
Authority
DE
Germany
Prior art keywords
data
blocks
written
block
storage media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60132229T
Other languages
English (en)
Other versions
DE60132229D1 (de
Inventor
Toshihiko Nishinomiya-shi Otake
Tsutomu Hirakata-shi Sekibe
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.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of DE60132229D1 publication Critical patent/DE60132229D1/de
Publication of DE60132229T2 publication Critical patent/DE60132229T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/18Flash erasure of all the cells in an array, sector or block simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • Gebiet der Erfindung
  • Die Erfindung bezieht sich auf eine Speichereinrichtung zur Datenspeicherung. Spezieller betrifft die Erfindung eine Speichereinrichtung, welche Daten in Speichermedien, wie einem Flash-Speicher, speichern kann.
  • Stand der Technik
  • Bei Speichereinrichtungen für tragbare Geräte, welche Musik- oder Videodaten verarbeiten, benutzt man üblicherweise Speichermedien, wie Flasch-Speicher, aus folgenden Gründen:
    • 1. Daten lassen sich neu einschreiben,
    • 2. das Speichermedium ist leicht transportabel, und
    • 3. es wird keine Stromversorgung mit Batterien oder dergleichen benötigt.
  • Jedoch besteht bei den derzeit verwendeten Flash-Speichern das Problem, dass beim Neueinschreiben von Daten eine Wartezeit erforderlich ist, und zwar aus folgendem Grund: Es dauert wesentlich länger, die vom Puffer im Flash-Speicher übertragenen Daten zu schreiben, als die den Gegenstand des Schreibens bildenden Daten in den Speicher innerhalb der Speichereinrichtung zu übertragen.
  • Ein Versuch zur Lösung dieses Problems findet sich in der ungeprüften japanischen Patentanmeldung Nr. 2000-132982 , welche eine mit einer Mehrzahl von Flash-Speichern versehene Speichereinrichtung beschreibt. Bei dieser Speichereinrichtung tritt kein Wartezeitproblem auf, weil die Daten parallel in eine Mehrzahl von Flash-Speichern eingeschrieben werden könne.
  • Allgemein wird die als Standard benutzte Einheit oder Menge, in welcher Daten in den Flash-Speicher eingeschrieben werden, als Sektor bezeichnet, und die Einheit, in welcher Daten aus dem Flash-Speicher gelöscht werden, was später noch beschrieben wird, wird Block genannt. Wie 9(a) zeigt, werden Daten innerhalb des Flash-Speichers blockweise verarbeitet, wobei jeder Block aus 32 Sektoren besteht (die Datenlänge des Sektors beträgt 512 Bytes, und die Datenlänge des Blocks 16 Kilobytes).
  • Ein Flash-Speicher hat die Eigenschaft, dass ein Wiedereinschreiben von Daten nur in einer Richtung möglich ist. Mit anderen Worten ist es unmöglich, den Wert von Daten von 1–0 (oder von 0–1) neu einzuschreiben. Ehe Daten eingeschrieben werden, ist es daher erforderlich, alle Werte von Daten am Schreibzielort auf 1 (oder 0) zu ändern. (Im Folgenden wird dieses Ändern als „Löschen" bezeichnet). Ein Bereich, wo dieses Löschen vollständig erfolgt ist, wird als „gelöschter Bereich" bezeichnet, während ein Bereich, wo das Löschen nicht vollständig erfolgt ist, als „ungelöschter Bereich" bezeichnet wird. Wenn bei diesen Verhältnissen Daten 0–15 innerhalb Block A gemäß 9(b) neu eingeschrieben werden sollen, werden Daten 16–31, die nicht neu eingeschrieben werden müssen, zuerst aus dem Puffer B aus dem Flash-Speicher F1 ausgelesen, wie 9(c) zeigt. Dann werden die so aus dem Puffer B ausgelesenen Daten 16–31 neu in einen gelöschten Bereich E eines anderen Flash-Speichers F2 eingeschrieben, und dann wird der Datenbereich des Blocks A gelöscht.
  • Die Folge der Schritte (also die vorzunehmenden Schritte, damit die Daten 16–31, welche nicht neu eingeschrieben werden müssen, beim Neueinschreiben nicht berührt werden) wird Datenevakuierung genannt und ist ein Hauptgrund für die Verringerung der Dateneinschreibgeschwindigkeit in einen Flash-Speicher. Nach dem in 9(d) gezeigten Neueinschreiben werden Daten 0–15 von außerhalb zur Speichereinrichtung übertragen. Für diesen Schritt erfolgt keine detaillierte Beschreibung.
  • Bei der in der ungeprüften japanischen Patentanmeldung Nr. 2000-132982 beschriebenen Speichereinrichtung können Daten parallel in mehrere Flash-Speicher eingeschrieben werden, und dabei besteht kein Wartezeitproblem. Jedoch besteht das Problem, dass beim parallelen Einschreiben von Daten in mehrere Flash-Speicher die Evakuierungsfrequenz beim Neueinschreiben zunimmt.
  • Wenn also bestimmte Musikdaten M1 in die Flash-Speicher eingeschrieben werden sollen, dann entstehen in den letzten Blocks (wie noch erläutert wird) B1–B4 der Flash-Speicher F1–F4 leere Bereiche, wie in 10 gezeigt ist, sofern die Datengröße ein ganzzahliges Vielfaches von (Größe eines Blocks des Flash-Speichers) × (Anzahl von Flash-Speichern) ist. Wenn dann andere Musikdaten M2 in die Flash-Speicher F1–F4 eingeschrieben werden, dann werden diese Musikdaten M2 in die freien Bereiche, beginnend mit den letzten Blocks B1–B4 eingeschrieben, mit dem Ergebnis, dass in den selben Blocks verschiedene Musikdaten M1, M2 vorhanden sind. Wenn es dann notwendig wird, alle Musikdaten M1 zu löschen, dann wird es erforderlich, die in die letzten Blocks B1– B4 eingeschriebenen Musikdaten M2 zu evakuieren.
  • Es sei erwähnt, dass der oben genannte letzte Block ein Block ist, in welchem einzuschreibende Daten zuletzt eingeschrieben werden, d. h., wenn die Daten in m Exemplaren von Flash-Speichern eingeschrieben werden, s. 6, dann entstehen keine freien Bereich in den schraffierten Blocks, die auf der linken Seite der strichpunktierten Linie gezeigt sind, jedoch besteht eine Möglichkeit, dass ein freier Bereich in dem schraffierten Blocks auf der rechten Seite der strichpunktierten Linie entsteht. Die Blocks, wo ein freier Bereich auftreten kann, sind Blocks, wo einzuschreibende Daten zuletzt eingeschrieben werden, und aus diesem Grunde sollen diese Blocks als „letzte Blocks" bezeichnet werden.
  • Zusammenfassung der Erfindung
  • Die Erfindung ist im Hinblick auf die oben geschilderten Verhältnisse erfolgt, und ihre Aufgabe besteht in der Verringerung der Evakuierungsfrequenz, die beim Neueinschreiben in die Speichereinrichtung benötigt ist, bei dem Daten parallel in eine Mehrzahl von Flash-Speichern eingeschrieben werden.
  • Zur Lösung dieser Aufgabe bedient sich die Erfindung der folgenden Mittel:
    Die Erfindung basiert auf einer Speichereinrichtung, bei welcher gemäß 1 Daten in Speicherbereiche eingeschrieben werden, wo eine vollständig Löschung erfolgt ist, und Daten, deren Einschreiben von außerhalb gefordert wird, parallel in eine Mehrzahl von Speichermedien 21, 22, 23, 24 eingeschrieben werden, wo Daten Block für Block von dem „Lump" gelöscht worden sind, wobei jeder Block aus einer Mehrzahl von Speicherbereichen besteht.
  • Bezeichnet man die Größe aller Daten, deren Einschreiben von außen gefordert wird, mit q, die Anzahl der Speichermedien mit m und die Größe des Blockes mit p, dann dividiert die Adressenmanagementeinheit 42 zuerst die Größe q aller Daten, deren Einschreiben von außerhalb gefordert wird, durch die Größe p des Blocks und erhält einen Quotienten zm + w + y (z:0 ≤ z (ganze Zahl); w:0 ≤ w < m (ganze Zahl); y:0 ≤ y 1). Die Adressenmanagementeinheit 42 steuert dann den Datentransfer so, dass Daten für zm Blocks in m Exemplaren von Speichermedien parallel eingeschrieben werden und dann Daten für (q/p – zm) Daten auf w + 1 (w im Falle von y = 0) Exemplaren von Speichermedien einschreibt.
  • Beispielsweise steuert die Adressenmanagementeinheit 42 den Datentransfer so, dass die Daten für (q/p – zm) Blocks in w + 1 Exemplaren von Speichermedien parallel eingeschrieben werden, wie es 8(a) zeigt. Verglichen mit dem Stand der Technik reduziert sich damit die Anzahl der Blocks, wo leere Bereiche entstehen. Es braucht nicht erwähnt zu werden, dass damit die Frequenz abnimmt, welche für die Evakuierung beim Neueinschreiben erforderlich ist.
  • Wie 8(b) zeigt, kann natürlich der Datenverkehr so gesteuert werden, dass dann, wenn Daten für (q/p – zm) Blocks eingeschrieben werden, die Verarbeitung der Schreibdaten für y Blocks in einem Exemplar von Speichermedien parallel für w + 1 Exemplare von Speichermedien durchgeführt wird und danach die Verarbeitung der Schreibdaten für (1 – y) Blocks in einem Exemplar der Speichermedien in w Exemplaren von Speichermedien parallel durchgeführt wird. Dies bringt die Anzahl von Blocks, wo veranlasst wird (where is caused) höchstens auf 1, und damit nimmt die Frequenz weiterhin ab, welche für die Evakuierung beim Einschreiben erforderlich ist.
  • Oder der Datenverkehr kann so gesteuert werden, dass die Daten für (q/p – zm) Blocks w + 1 Exemplaren von Speichermedien zugeordnet werden und in entsprechende Speichermedien in einer bestimmten Reihenfolge eingeschrieben werden, wie es 8(c) zeigt. Diese Steuermethode ist speziell dann effektiv, wenn es „Daten, die nicht neu einschrieben werden müssen" gibt, und zwar in Blocks, zu welcher der Speicherbereich, also der als Schreibzielort geforderte, gehört. D. h., dass in einem solchen Fall die Adressenmanagementeinheit 42 den Datentransfer steuert unter Betrachtung der Summe der nicht notwendigerweise einzuschreibenden Daten und der Daten, für welche ein Einschreiben gefordert wird, als Daten für (q – zm) Blocks.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm einer Speichereinrichtung, auf welche die Erfindung angewendet wird.
  • 2 ist ein erläuterndes Diagramm der ersten Dateneinschreibsteuermethode.
  • 3 ist eine Blocksteuertabelle zum Zeitpunkt der ersten Dateneinschreibsteuerung.
  • 4 ist ein erläuterndes Diagramm der zweiten Dateneinschreibsteuermethode.
  • 5 ist eine Blockmanagementtabelle zum Zeitpunkt der zweiten Dateneinschreibsteuerung.
  • 6 ist ein erläuterndes Diagramm einer Technik zur Beurteilung der Dateneinschreibsteuermethode.
  • 7 ist ein Diagramm der Datenneueinschreibung.
  • 8 ist ein Diagramm, bei welchem Daten für (q – zm) Blocks neu eingeschrieben werden.
  • 9 ist ein erläuterndes Diagramm eines Blocks, Sektors und Evakuierung beim Neueinschreiben.
  • 10 ist ein erläuterndes Diagramm der Blocks, in welchen andere Daten vorhanden sind.
  • Beschreibung der bevorzugten Ausführungsformen
  • 1 ist ein Blockschaltbild einer Speichereinrichtung, bei welcher die Erfindung angewendet wird, und ihre Konfiguration sei nun beschrieben. In der folgenden Beschreibung wird angenommen, dass die Datenlänge des Sektors 512 Bytes und die Datenlänge des Blocks 16 Kilobytes beträgt.
  • Nach Empfang einer Aufforderung zum Schreiben, Lesen, Löschen von Daten oder dergleichen von außerhalb gibt die Eingangs/Ausgangs-Steuereinheit 41 Befehle zum Beginnen mit der Verarbeitung der Anforderung an die Adressenmanagementeinheit 42 und steuert die Eingabe und Ausgabe von Daten in folgender Weise.
  • Bei Erhalt einer Anforderung zum Einschreiben von Daten schreibt die Eingabe/Ausgabe-Steuereinheit 41 von außen eingegebene Daten nacheinander in eine Mehrzahl von Speichern 31, 32, 33, 34 in 512 Bytes. Bei Erhalt einer Anforderung zum Auslesen von Daten liest andererseits die Eingabe/Ausgabe-Steuereinheit 41 Daten in 512 Bytes von einer Mehrzahl von Speichern 31, 32, 33, 34 aus und gibt sie in 512 Bytes nacheinander nach außen aus.
  • In Übereinstimmung mit einem Verarbeitungsstartbefehl von der Eingabe/Ausgabe-Einheit 41 steuert die Adressenmanagementeinheit 42 den Datentransfer zwischen einer Mehrzahl von Flash-Speichern 21, 22, 23, 24 und einer Mehrzahl von Puffer 31, 32, 33, 34, steuert das Löschen von Daten aus einer Mehrzahl von Flash-Speichern 21, 22, 23, 24 und managt die in eine Mehrzahl von Flash-Speichern 21, 22, 23, 24 geschriebenen Daten (was später noch im Einzelnen beschrieben wird).
  • Entsprechend einem Verbindungsumschaltsignal von der Adressenmanagementeinheit 42 schaltet weiterhin der Selektor 43 die Verbindung von Datenbussen zwischen einer Mehrzahl von Flash-Speichern 21, 22, 23, 24 und einer Mehrzahl von Puffer 31, 32, 33, 34.
  • Es gibt zwei Methoden zum Steuern des Einschreibens von Daten durch die Adressmanagementeinheit 42. Eine ist eine Steuermethode, die angewandt wird, wenn eine Anforderung zum Schreiben von Daten in einen Logikadressenbereich erhalten wird, wo noch keine Daten eingeschrieben sind (im Folgenden als „erste Datenschreibsteuermethode" bezeichnet), und die andere ist eine Steuermethode, die angewandt wird, wenn eine Anforderung zum Einschreiben von Daten in einem Logikadressbereich erhalten wird, wo bereits Daten eingeschrieben sind (im Folgenden als „zweite Datenschreibsteuermethode" bezeichnet).
  • Es seien nun diese Dateneinschreibsteuermethoden im Einzelnen beschrieben.
  • [Erste Dateneinschreibsteuermethode]
  • Zunächst werden bei Erhalt einer Anforderung zum Einschreiben von Daten in einen Logikadressenbereich, wo noch keine Daten eingeschrieben sind, die Daten parallel in vier Flash-Speicher 21, 22, 23, 24 eingeschrieben wie beim Stand der Technik. Bei der Erfindung ist jedoch die Art der Steuerung des Dateneinschreibens in die jeweiligen letzten Blocks der Flash-Speicher 21, 22, 23, 24 gemäß 2(a)–(c) abhängig von der Größe der den Gegenstand des Schreibens bildenden Daten unterschiedlich.
  • Wenn die Größe der den Gegenstand des Schreibens bildenden Daten beispielsweise 64 Kilobyte beträgt, hat selbst dann, wenn die Daten in vier Flash- Speicher 21, 22, 23, 24 parallel eingeschrieben werden, keiner der letzten Blocks B21, B22, B23, B24 freie Bereiche, weil die Daten von 64 Kilobytes vier Blocks entsprechen, und dies ist identisch mit der Summe der letzten Blocks B21, B22, B23 und B24.
  • Daher steuert die Adressenmanagementeinheit 42 in diesem Falle den Datentransfer so, dass die Daten 0–127 parallel in die letzten Blocks B21, B22, B23, B23 eingeschrieben werden, wie es 2(a) zeigt. (Im Folgenden wird dieser Schreibmodus „4-Block-Schreiben" genannt).
  • Falls die Größe der den Gegenstand des Einschreibens bildenden Daten 32 Kilobytes beträgt und diese Daten in vier Flash-Speicher 21, 22, 23, 24 eingeschrieben werden, bleibt ein halber Bereich jedes der letzten Blocks B21, B22, B23, B24 frei, weil Daten von 32 Kilobytes zwei Blocks entsprechen, und dies ist gleich der Hälfte der Summe der letzten Blocks B21, B22, B23, B24.
  • Daher steuert die Adressenmanagementeinheit 42 in diesem Falle den Datentransfer so, dass Daten 0–63 nur in die letzten beiden Blocks B21, B22 eingeschrieben werden. Um zu verhindern, dass Blocks freie Bereiche haben, steuert die Adressenmanagementeinheit 42 den Datentransfer so, das der Parallelitätsgrad zum Einschreiben in den letzten Block B21, B22, B23, B24 begrenzt wird von vier auf zwei (im Folgenden wird dieser Schreibmodus „2-Block-Schreiben" genannt).
  • Wenn hier die Größe der den Gegenstand des Schreibens bildenden Daten 24 Kilobytes beträgt, kann unmöglich verhindert werden, dass die letzten Blocks freie Bereiche haben, selbst wenn der Parallelitätsgrad begrenzt wird, wie im Fall der Datengröße von 32 Kilobytes, weil die 24 Kilobyte Daten 1,5 Blocks entsprechen und dies nicht gleich einem ganzen Vielfachen des Blocks ist.
  • Daher steuert die Adressenmanagementeinheit 42 in diesem Falle den Datentransfer so, dass nur der letzte eine Block einen freien Bereich hat (s. Block B22), wie in 2(c) gezeigt ist, und steuert somit die Daten 0–47 derart, dass soweit wie möglich Daten parallel eingeschrieben werden.
  • Mit anderen Worten, nachdem Daten 0–31 für einen Block in mindestens zwei letzte Blocks B21, B22 parallel eingeschrieben sind, werden Bruchteilsdaten 32–37 für den verbleibenden 0,5 Block allein in dem letzten Block B21 eingeschrieben (im Folgenden wird dieser Schreibmodus als „1,5-Block-Schreiben" bezeichnet). Der hier verwendete Ausdruck „allein Schreiben (to Write singly)" bedeutet ein paralleles Einschreiben mit einem Parallelitätsgrad von 1.
  • Wie erwähnt, wählt die Adressenmanagementeinheit 42 eine der Steuermethoden in Abhängigkeit von der Größe der den Gegenstand des Schreibens bildenden Daten aus. Diese Auswahltechnik wird im Folgenden erläutert.
  • Bezeichnet man zunächst die Größe all der Daten, für die ein Einschreiben angefordert wird als q, die Anzahl der Flash-Speicher mit m, die Anzahl der Blocks mit p, dann wird die Größe q all der Daten durch die Blockgröße p dividiert, und man erhält als Quotient zm + w + y (z:0 ≤ z (ganze Zahl); w:0 ≤ w (ganze Zahl) < m; y:0 < y < 1). In dieser Formel ist zm die Anzahl von Blocks mit einem Parallelitätsgrad von m, und die Formel w + y gibt die Anzahl von Blocks an, wo der Parallelitätsgrad nicht m erreicht. D. h., mit Bezug auf 6, die Anzahl der schraffierten Blocks links von der strichpunktierten Linie entspricht zm, während die Anzahl der schraffierten Blocks rechts der strichpunktierten Linie w + y entspricht (w entspricht Block B1, während y Block B2 entspricht).
  • Somit steuert die Adressenmanagementeinheit 42 den Datentransfer so, dass Daten für zm Blocks in m Exemplare von Flash-Speichern parallel eingeschrieben werden und danach Daten für (q/p – zm) Blocks in w + 1 Exemplare (im Falle von y = 0, w) Flash-Speicher eingeschrieben werden. Wenn aber Daten für (q/p – zm) Blocks eingeschrieben werden, dann erfolgt die Verarbeitung des Dateneinschreibens für y Blocks in einem Flash-Speicher parallel in w + 1 Exemplare von Flash-Speichern, und danach erfolgt die Verarbeitung des Dateneinschreibens für (1 – y) Blocks in einem Flash-Speicher parallel in w Exemplaren von Flash-Speichern.
  • Als ein konkretes Beispiel für die Auswähltechnik sei ein Steuerverfahren erläutert, bei welchem ein Block 16 Kilobytes groß ist und 152 Kilobytes von Daten in vier Flash-Speicher eingeschrieben werden (p = 16, m = 4, q = 152).
  • Zunächst, weil q/p = zm + w + y = 152/16 = 2 × 4 + 1 + 0,5 hat sich gezeigt, dass z = 2, w = 1 und y = 0,5 ist.
  • Daher werden Daten für zwei Blocks in vier Exemplare von Flash-Speichern parallel eingeschrieben, und danach werden Daten für 1,5 Blocks in zwei Exemplare von Flash-Speichern eingeschrieben. Wenn aber Daten für 1,5 Blocks eingeschrieben werden, dann wird die Verarbeitung des Dateneinschreibens für 0,5 Block in einem halben Flash-Speicher in zwei Exemplaren von Flash-Speichern durchgeführt, und danach erfolgt das Dateneinschreiben für (1–0,5) Blocks in ein Exemplar von Flash-Speichern parallel in einem Exemplar Flash-Speicher. D. h., mit Bezug auf 6 werden Daten für 0,5 Block in Block B1 bzw. Block B2 eingeschrieben, und danach werden Daten für 0,5 Block nur allein in Block B1 eingeschrieben.
  • In der obigen Beschreibung war die Größe p aller Daten, für die ein Einschreiben gefordert wurde, 152 Kilobytes, und die Größe q des Blocks 16 Kilobytes. Die Einheit der Größe p und der Größe q ist nicht auf Byte beschränkt. Selbst wenn beispielsweise die Größe p aller Daten, für die ein Einschreiben gefordert wird, 304 Sektoren groß ist und die Größe q des Blocks 32 Sektoren groß ist, kann man dieselben Ergebnisse erhalten.
  • Gemäß der Erfindung ist, wie oben gesagt, die Anzahl der Blocks, welche einen freien Bereich haben, höchstens 1. Damit verringert sich die Frequenz, mit welcher die Evakuierung beim Neueinschreiben abnimmt. Insgesamt ist es möglich, das Einschreibeerhalten im Flash-Speicher zu verbessern.
  • Gemäß der Erfindung ist jedoch der Parallelismusgrad manchmal begrenzt, und dies verringert die Schreibgeschwindigkeit. Jedoch ist der Parallelismus nur auf die letzten Blocks begrenzt, und bei den letzten Blocks erfolgt das Einschreiben soweit möglich auch parallel. Selbst wenn der Parallelismus, wie oben beschrieben, begrenzt ist, ist seine Auswirkung auf die Schreibgeschwindigkeit sehr klein.
  • Bei der vorstehenden Beschreibung wird die Schreibprozedur parallel in Flash-Speicher in dieser Reihenfolge, Flash-Speicher 2122232421 → ..., erläutert, jedoch ist die Erfindung nicht darauf beschränkt. D. h., die jeweiligen Flash-Speicher variieren in Hardware-Performance, und die erforderliche Zeit des jeweiligen Einschreibens ist nicht die gleiche. Es ist daher erwünscht, dass der Datentransfer so gesteuert wird, dass die Daten nacheinander in Flash-Speicher eingeschrieben werden, wenn diese Flash-Speicher schreibbereit sind, anstatt wie oben erläutert parallel einzuschreiben.
  • In der vorstehenden Beschreibung ist mit „schreibbereit" Folgendes gemeint: Wenn spezifische Daten in einen spezifischen Sektor eines spezifischen Blocks eingeschrieben werden, dann ist es dem spezifischen Sektor des spezifischen Blocks verboten, nächste neue Daten einzuschreiben. Das Einschreiben in diesen spezifischen Sektor sollte effektiv sein nach der Vollendung des Einschreibens der spezifischen Daten in den spezifischen Sektor. Daher bedeutet „schreibbereit" den Zustand nach der Vollendung des Einschreibens der früheren Daten.
  • Wenn die Größe der den Gegenstand des Schreibens bildenden Daten, wie in den 2(b), (c) gezeigt ist 32 Kilobyte oder 34 Kilobyte beträgt, dann tritt eine Periode auf, wo der Parallelismusgrad auf 2 begrenzt ist, d. h. eine Periode zum parallelen Einschreiben in zwei Flash-Speicher 21, 22. Wenn also ein ungelöschter Bereich in den verbleibenden Flash-Speichern 23, 24 existiert, dann ist es erwünscht, das Löschen dieses Bereiches zusammen mit dem Schreiben in die Flash-Speicher 21, 22 durchzuführen.
  • Wenn bei der vorstehenden Beschreibung weiterhin Daten für (q/p – zm) Blocks eingeschrieben werden, dann erfolgt der Vorgang des Einschreibens von Daten für y Blocks in einem Exemplar von Flash-Speicher parallel in w + 1 Exemplaren von Flash-Speichern, und danach erfolgt der Vorgang des Einschreibens von Daten für (1 – y) Blocks in einem Exemplar von Flash-Speicher parallel in w Exemplaren von Flash-Speichern. Die Erfindung ist jedoch nicht hierauf beschränkt. D. h., wie 8(a) zeigt, können (q/p – zm) Blocks parallel in w + 1 Flash-Speicher eingeschrieben werden.
  • In diesem Fall besteht jedoch eine Möglichkeit, dass die Anzahl von Blocks mit freien Bereichen 2 oder mehr beträgt. Es erübrigt sich jedoch zu sagen, dass die Anzahl kleiner ist als wenn man den Stand der Technik, der m Blocks freie Bereiche hat, benutzt wird. Inzwischen hat die Adressenmanagementeinheit 42 zum Lesen oder neu Einschreiben von Daten, die wie oben beschrieben parallel eingeschrieben sind, den Zustand des Dateneinschreibens in die Flash-Speicher 21, 22, 23 und 24 zu steuern und zu managen. Die Adressenmanagementeinheit 42 ist also so eingerichtet, dass sie eine Blockmanagementtabelle (s. 3) erstellt, welche mit den folgenden Feldern für jeden Logikadressenblock versehen ist, zu dem von außerhalb Zugang gefordert wird.
  • Unter dem Ausdruck Parallelismusgradfeld ist ein Feld zu verstehen, um zu zeigen, in wie viele Flash-Speicher Daten eingeschrieben werden. D. h., in dem Parallelismusgradfeld eines Logikadressenblocks, in welchem, wie oben beschrieben, vier Blocks eingeschrieben werden, wird „4" besetzt, wie in 3(a) gezeigt ist. Inzwischen wird in dem Parallelismusgradfeld des Logikadressenblocks, wo zwei Blocks eingeschrieben werden und 1,5 Blocks eingeschrieben werden, „2" gesetzt, wie in den 3(b), (c) zu sehen ist. In dem Parallelismusgradfeld für den Logikadressenblock, wo keine Blocks eingeschrieben werden, wird „0" gesetzt.
  • Weiterhin bedeutet das Feld für die Anzahl nicht paralleler Sektoren ein Feld, das bei 32 in dem Logikadressenblock enthaltenen Exemplaren von Sektoren die Anzahl der Sektoren zeigt, wo kein Parallelismusschreiben ausgeführt wird. D. h., in dem Feld für die Anzahl von nicht Parallelismussektoren, wo vier Blocks und zwei Blocks eingeschrieben werden, wird „0" gesetzt, wie die 3(a), (b) zeigen. Inzwischen werden in das Feld für das Anzahl-von-Nichtparallelismussektoren-Feld, wo 1,5 Blocks eingeschrieben sind, „16" gesetzt, wie 3(c) zeigt.
  • Weiterhin ist das flashspeicherbezeichnete Feld ein Feld, welches einen Flash-Speicher angibt, wo der Adressenblock vorhanden ist. Beispielsweise wird in dem flashspeicherbezeichneten Feld des Logikadressenblocks, welcher im Flash- Speicher 21 vorhanden ist, „0" eingestellt und im flashspeicherbezeichneten Feld des Logikadressenblocks, der innerhalb des Flash-Speichers 22 vorhanden ist, wird „1" gesetzt. In dem flashspeicherbezeichneten Feld des Logikadressenblocks, der sich innerhalb des Flash-Speichers 23 befindet, wird „2" eingestellt, und in dem flashspeicherbezeichneten Feld des Logikadressenblocks, der sich im Flash-Speicher 24 befindet, wird „3" gesetzt.
  • Weiterhin ist das Feld für die physische Adresse ein Feld, welches die dem Logikadressenblock entsprechende physische Adresse angibt. Es erübrigt sich zu sagen, dass die in dem Feld gesetzte physische Adresse innerhalb des Flash-Speichers ist, der in dem flashspeicherbezeichneten Feld angegeben ist.
  • Schließlich ist das Sektorreihensteuerfeld ein Feld, das die parallele Schreibordnung in den Sektoren angibt. Wenn beispielsweise ein paralleles Einschreiben in dieser Reihenfolge erfolgt: Flash-Speicher 2122232421 → ..., gilt gemäß 3(a) der Rang „0" als erste Sektorreihensteuerinformation entsprechend einer Logikadresse A, „1" als Sektorreihensteuerinformation entsprechend der Logikadresse A + 1, „2" als Sektorreihensteuerinformation entsprechend der Logikadresse A + 2, „3" als Sektorreihensteuerinformation entsprechend der Logikadresse A + 3.
  • [Zweite Dateneinschreibsteuermethode]
  • Die in den Flash-Speicher einzuschreibenden Daten sind üblicherweise eine Serie von Bilddaten oder Musikdaten (ein Film oder eine Musikdatei). Auch wenn die in den Flash-Speicher eingeschriebenen Daten gelöscht werden, besteht eine Möglichkeit, dass eine Reihe von Bilddaten oder Musikdaten (also kontinuierlich eingeschriebene Daten) durch das „Lump" gelöscht werden. Bei der ersten Dateneinschreibsteuerung werden Daten prinzipiell so weit wie möglich parallel eingeschrieben, damit die Schreibgeschwindigkeit nicht verringert wird.
  • Anstelle eines so weit wie möglich Paralleleinschreibens von Daten wie bei der ersten Datenschreibsteuermethode verbessert ein Einzeleinschreiben manchmal die Effektivität des Datenschreibens in dem Flash-Speicher insgesamt gesehen in einigen Fällen.
  • Bei Editierarbeiten von in den Flach-Speicher eingeschriebenen Musikdaten muss beispielsweise ein Teil der kontinuierlich eingeschriebenen Daten neu eingeschrieben werden. In diesem Fall ist es besser, dass die den Gegenstand des Einschreibens bildenden Daten in einem Block eingeschrieben werden, wie der schraffierte Bereich in 7(b), anstatt dass sie über eine Mehrzahl von Blocks eingeschrieben werden, wie die schraffierten Bereiche zeigen, weil in dem in 7(a) (Stand der Technik) gezeigten Fall vier Blocks beim Neueinschreiben evakuiert werden müssen, während in dem in 7(b) gezeigten Fall ein Block beim Neueinschreiben evakuiert werden muss.
  • Aus diesem Grunde wird vorzugsweise die folgende Steuermethode gewählt, wenn nach dem Einschreiben kontinuierlicher Daten parallel in eine Mehrzahl von Flash-Speicher mit Hilfe der ersten Dateneinschreibsteuermethode ein Teil dieser kontinuierlichen Daten geschrieben werden muss.
  • Bei Erhalt einer Forderung Daten einzuschreiben greift die Adressenmanagementeinheit 42 auf den Inhalt der Blocksteuertabelle zu und entscheidet, ob die Anfrage zum Einschreiben von Daten eine Anfrage zum Neueinschreiben eines Teils der kontinuierlichen Daten ist (im Folgenden als Neueinschreibdatenforderungen bezeichnet) oder eine Forderung nach neuen kontinuierlichen Daten ist (im Folgenden als neue Datenschreibforderung bezeichnet). Mit anderen Worten, im Fall einer Aufforderung Daten in einen Logikadressbereich einzuschreiben, wo bereits Daten eingeschrieben sind, wird diese Anforderungen Daten einzuschreiben beurteilt als Aufforderung Daten neu einzuschreiben, während im Fall einer Anforderung Daten in einen logischen Adressbereich einzuschreiben, wo noch keine Daten eingeschrieben sind, die Anforderung zum Dateneinschreiben als Anforderung neue Daten einzuschreiben beurteilt wird.
  • Wird die Anforderung Daten einzuschreiben als Anforderung neue Daten einzuschreiben angesehen, dann wählt die Adressenmanagementeinheit 42 die erste Datenschreibsteuermethode. Andererseits entscheidet sich die Adressenmanagementeinheit 42, welche die Aufforderung zum Dateneinschreiben als Aufforderung zum Neueinschreiben von Daten ansieht, weiterhin, ob Daten vorhanden sind, welche nicht in den Block eingeschrieben werden sollen, zu dem die den Gegenstand des Einschreibens bildenden Daten gehört.
  • Beispielsweise zeigt 4, dass dann, wenn Daten 0–47 in Flash-Speicher 21, 22 in der 1,5-Block-Schreibmethode eingeschrieben sind und eine Aufforderung zum Neueinschreiben von Daten 32–47 vorliegt, Daten 0–31 (außer für ungerade Zahl) vorhanden sind, die nicht in die Blocks einzuschreiben sind, zu welchen die Daten 32–37 gehören. In diesem Fall entscheidet die Adressenmanagementeinheit 42 daher, dass „Daten vorhanden sind, die nicht einzuschreiben sind" und führt die folgende Steuerung aus.
  • Zuerst nimmt die Adressenmanagementeinheit 42 Daten für den 1,5 Block als Daten für (q – zm) Blocks, wobei die Daten für den 1,5 Block die Summe ist aus den Daten 0–31 (32 Exemplare von Sektordaten), die nicht neu einzuschreiben sind, und den Daten 32–47 (16 Exemplare von Sektordaten) für die ein Schreiben gefordert ist, ist. Es erübrigt sich zu sagen, dass hier w 1 und y 0,5 ist.
  • Die Adressenmanagementeinheit 42 steuert weiterhin den Datentransfer so, dass, während Daten für (q/p – z) Blocks w + 1 Exemplaren von Flash-Speichern 23, 24 zugeordnet werden, die jeweiligen Flash-Speicher 23, 24 in einer spezifischen Reihenfolge (in diesem Falle 2324) beschrieben werden. Der Datentransfer wird also so gesteuert, dass Daten 0–31, die parallel in zwei Exemplaren von Blocks eingeschrieben worden sind, zuerst aus dem Puffer ausgelesen und dann einzeln in einen gelöschten Bereich des Flash-Speichers 23 neu eingeschrieben werden, und dann Daten 42–47 einzeln in den gelöschten Bereich des Flash-Speichers 24 eingeschrieben werden. Es sei darauf hingewiesen, dass die Daten 23–47 von außen durch die Eingangs-/Ausgangssteuereinheit 41, Puffer 34, auf die Adressenmanagementeinheit 42 bezogen werden.
  • Gemäß der obigen zweiten Dateneinschreibsteuerung besteht in den Blocks in den Flash-Speichern 23, 24 soweit wie möglich eine kontinuierliche Datenrangfolge. Wenn es bei dieser Anordnung notwendig wird, Daten 0–31 oder Daten 32–37 neu einzuschreiben, dann erfolgt beim Neueinschreiben keine Evakuierung.
  • Vorstehend wurde der Betrieb beschrieben, wenn die Adressenmanagementeinheit 42 entscheidet, dass „Daten vorhanden sind, die nicht neu einzuschreiben sind". Unerwähnt blieb der Betrieb, wenn die Adressenmanagementeinheit 42 entscheidet, dass „es keine Daten gibt, die nicht neu einzuschreiben sind". Bei einer solchen Entscheidung wird die Anordnung so getroffen, dass die Adressenmanagementeinheit 42 die erste Datenschreibsteuermethode wählt.
  • Der Grund ist, dass „es gibt keine Daten, die nicht neu einzuschreiben sind", bedeutet, dass alle Daten neu eingeschrieben werden müssen. Beispielsweise dass eine Anforderung vorliegt, Daten für zwei Blocks in den 1,5 Block-Bereich einzuschreiben, bedeutet, dass Daten für die vorigen 1,5 Blocks nicht benötigt werden. Es ist daher vernünftig, eine solche Anforderung zum Einschreiben von Daten als Anforderung aufzufassen, kontinuierliche Daten neu einzuschreiben.
  • Schließlich ist in 5 gezeigt, wie der Inhalt der Blocksteuertabelle sich ändert durch ein Beispiel der zweiten Dateneinschreibsteuerung. Die Anordnung der Felder und Setzinformation sind dieselben wie bei der ersten Dateneinschreibmethode und werden nicht erläutert.

Claims (14)

  1. Speichervorrichtung, bei welcher Daten in einen Speicherbereich geschrieben werden, der vollständig gelöscht ist, und Daten, deren Einschreiben von außerhalb gefordert wird, in einer Mehrzahl von Speichermedien parallel eingeschrieben werden, wo Daten Block für Block durch das „Lump" gelöscht worden sind, wobei jeder Block aus einer Mehrzahl von Speicherbereichen besteht, mit einer Adressenmanagementeinheit, welche den Datentransfer so steuert, dass dann, wenn die Größe aller Daten, deren Einschreiben von außerhalb gefordert wird q ist, die Anzahl der Speichermedien m ist und die Größe des Blockes p ist, die Größe q durch die Größe p geteilt wird, um einen Quotienten zm + w + y (z:0 ≤ z (ganze Zahl) zu erhalten; w:0 ≤ w (ganze Zahl) < m; y:0 ≤ y < 1), Daten für zm Blocks in die Speichermedien parallel eingeschrieben werden und danach Daten für (q/p – zm) Blocks in w + 1 (w im Falle von y = 0) Exemplaren von Speichermedien geschrieben werden.
  2. Speichervorrichtung nach Anspruch 1, bei welcher die Adressenmanagementeinheit den Datentransfer so steuert, dass die Daten für (q/p – zm) Blocks in w + 1 Exemplar von Speichermedien parallel eingeschrieben werden.
  3. Speichervorrichtung nach Anspruch 1, bei welcher die Adressenmanagementeinheit den Datentransfer so steuert, dass dann, wenn Daten für (q/p – zm) Blocks eingeschrieben werden, der Vorgang des Datenschreibens für y Blocks in einem Speichermedium auf w + 1 Exemplaren von Speichermedien parallel erfolgt und danach der Vorgang des Datenschreibens für (1 – y) Blocks in einem Speichermedium in w Exemplaren von Speichermedien parallel erfolgt.
  4. Speichervorrichtung nach Anspruch 1, bei welcher die Adressenmanagementsteuerung so erfolgt, dass der Datentransfer der Daten für (q/p – zm) Blocks w + 1 Exemplaren von Speichermedien zugeordnet werden und in einer jedem Speichermedium zugeordneten speziellen Reihenfolge eingeschrieben werden.
  5. Speichervorrichtung nach Anspruch 1, bei welcher dann, wenn Daten vorhanden sind, die nicht in einen Block neu eingeschrieben werden müssen, zu welchem der Speicherbereich und ein Schreibbestimmungsort gehören, die Adressenmanagementeinheit den Datentransfer steuert unter Berücksichtigung der Summe von Daten, die nicht neu geschrieben werden müssen, und der Daten, deren Schreiben gefordert wird, wie die Daten für (q/p – zm) Blocks.
  6. Speichervorrichtung nach Anspruch 1, bei welcher die Adressenmanagementeinheit den Datentransfer so steuert, dass Daten nacheinander in Speichermedien, wie die schreibbereiten Speichermedien, eingeschrieben werden.
  7. Speichervorrichtung nach Anspruch 1, bei welcher dann, wenn Blocks, wo keine Daten gelöscht worden sind, in einem Speichermedium vorhanden sind, das keinen Schreibbestimmungsort darstellt, die Adressenmanagementeinheit Daten von dem Block löscht und gleichzeitig Daten einschreibt.
  8. Speichervorrichtung nach Anspruch 1, bei welcher die Adressenmanagementeinheit eine Managementtabelle aufweist, in welche Information eingesetzt werden kann, die in Beziehung zu einer logischen Adresse steht, zu welcher Zugriff von außen gefordert wird, wobei die Information mindestens eine der folgenden Informationsarten ist: Speichermediumbestimmungsinformation zur Bezeichnung eines Speichermediums, physische Adresseninformation zur Angabe einer physischen Adresse des Speichermediums, wo die Daten hingeschrieben werden sollen, Parallelismusgradinformation zur Angabe, ob Daten in eine Anzahl von Speichermedium parallel eingeschrieben werden, Nichtparallelismusspeicherbereichsinformation zu Angabe der Anzahl von Speicherbereichen, wo Daten nicht parallel eingeschrieben werden, und Speicherbereichsreihenmanagementinformation zur Angabe der Paralleleinschreibreihenfolge Speicherbereich für Speicherbereich.
  9. Speichersteuerverfahren, bei welchem Daten in Speicherbereiche geschrieben werden, die vollständig gelöscht sind, und Daten, deren Einschreiben von außerhalb gefordert wird, parallel in eine Mehrzahl von Speicherbereiche geschrieben werden, wo Daten Block für Block durch das „Lump" gelöscht worden sind, wobei jeder Block aus einer Mehrzahl von Speicherbereichen besteht, wobei das Speichersteuerverfahren den Datentransfer so steuert, dass dann, wenn die Größe aller Daten, deren Einschreiben von außerhalb gefordert wird, q ist, die Anzahl der Speichermedien m ist und die Größe des Blocks p ist, die Größe q aller Daten, deren Schreiben von außerhalb gefordert wird, durch die Größe p des Blockes geteilt wird, um den Quotient zu erhalten zm + w + y (z:0 ≤ z (ganze Zahl); w:0 ≤ w (ganze Zahl) < m; y:0 ≤ y ≤ 1) Daten für zm Blocks in die Speichermedien parallel eingeschrieben werden und danach Daten für (q/p – zm) Blocks in w + 1 (im Fall von y = 0, w) Exemplare von Speichermedien geschrieben werden.
  10. Programm für eine Speichervorrichtung zur Durchführung des Adressenmanagementsteuervorgangs, wobei in die Speichervorrichtung Daten in einen Speicherbereich geschrieben werden, der vollständig gelöscht ist, und Daten, deren Einschreiben von außerhalb gefordert wird, in eine Mehrzahl von Speichermedien eingeschrieben werden, wo Daten Block für Block von dem „Lump" gelöscht worden sind, wobei jeder Block aus einer Mehrzahl von Speicherbereichen besteht und wobei dann, wenn die Größe aller Daten, deren Einschreiben von außerhalb erfordert wird, q ist, die Anzahl der Speichermedien m ist und die Größe des Blocks p ist, die Größe q aller Daten, deren Einschreiben von außerhalb gefordert wird, durch die Größe p des Blocks dividiert wird, um einen Quotienten zu erhalten zm + w + y (z:0 ≤ z (ganze Zahl); w:0 ≤ w (ganze Zahl) < m; y:0 ≤ y < 1), Daten von zm Blocks in die Speichermedien parallel eingeschrieben werden und danach von (q/p – zm) Blocks in w + 1 (w im Fall von y = 0) Stücke von Speichermedien eingeschrieben werden.
  11. Programm nach Anspruch 10, welches den Datentransfer derart steuert, dass Daten von (q/p – zm) Blocks in w + 1 Exemplare von Speichermedien parallel eingeschrieben werden.
  12. Programm nach Anspruch 10, welches den Datentransfer so steuert, dass dann, wenn Daten für (q/p – zm) Blocks eingeschrieben werden, der Vorgang des Schreibens von Daten für y Blocks in einem Stückspeichermedium durchgeführt wird in w + 1 Exemplaren von Speichermedien und danach der Vorgang des Dateneinschreibens für (1 – y) Blocks in einem Speichermediumexemplar parallel in w Exemplaren von Speichermedien durchgeführt wird.
  13. Programm nach Anspruch 10, welches den Datentransfer derart steuert, dass Daten von (q/p – zm) Blocks w + 1 Exemplaren von Speichermedien zugeordnet werden und Daten in einer spezifischen Reihenfolge eingeschrieben werden.
  14. Programm nach Anspruch 13, welches den Datentransfer so steuert, dass dann, wenn es Daten gibt, die nicht innerhalb des Blocks neu eingeschrieben werden müssen, zu welchem der Speicherbereich, ein geforderter Schreibbestimmungsort, gehört, die Summe der Daten, die nicht eingeschrieben werden müssen, und der Daten, deren Schreiben gefordert wird, als die Daten für (p/q – zm) Blocks betrachtet werden
DE60132229T 2000-10-26 2001-10-26 Speichervorrichtung, speichersteuerverfahren und programm Expired - Lifetime DE60132229T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000326472 2000-10-26
JP2000326472 2000-10-26
PCT/JP2001/009459 WO2002035548A2 (en) 2000-10-26 2001-10-26 Storing device, storing control method and program

Publications (2)

Publication Number Publication Date
DE60132229D1 DE60132229D1 (de) 2008-02-14
DE60132229T2 true DE60132229T2 (de) 2008-12-18

Family

ID=18803652

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60132229T Expired - Lifetime DE60132229T2 (de) 2000-10-26 2001-10-26 Speichervorrichtung, speichersteuerverfahren und programm

Country Status (5)

Country Link
US (1) US7062630B2 (de)
EP (1) EP1330715B1 (de)
CN (1) CN1236386C (de)
DE (1) DE60132229T2 (de)
WO (1) WO2002035548A2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10252059B3 (de) * 2002-11-08 2004-04-15 Infineon Technologies Ag Verfahren zum Betreiben einer Speicheranordnung
US7353299B2 (en) * 2003-05-29 2008-04-01 International Business Machines Corporation Method and apparatus for managing autonomous third party data transfers
CN100371873C (zh) * 2003-09-18 2008-02-27 松下电器产业株式会社 半导体存储卡、半导体存储器控制装置以及半导体存储器控制方法
US20050144363A1 (en) * 2003-12-30 2005-06-30 Sinclair Alan W. Data boundary management
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US8504798B2 (en) 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
JP4306525B2 (ja) * 2004-04-16 2009-08-05 ソニー株式会社 情報処理装置および方法、並びにプログラム
US20050257017A1 (en) * 2004-05-14 2005-11-17 Hideki Yagi Method and apparatus to erase hidden memory in a memory card
JP4561246B2 (ja) * 2004-08-31 2010-10-13 ソニー株式会社 メモリ装置
CN101036197A (zh) * 2004-11-10 2007-09-12 松下电器产业株式会社 用于匹配具有不同数量将被同时访问的存储体的存储控制器的非易失性存储装置
JP2007021787A (ja) * 2005-07-12 2007-02-01 Seiko Epson Corp メンテナンスカウンタ機能を備えた情報処理機器
SG130988A1 (en) * 2005-09-29 2007-04-26 Trek 2000 Int Ltd Portable data storage device incorporating multiple flash memory units
JP4912174B2 (ja) * 2007-02-07 2012-04-11 株式会社日立製作所 ストレージシステム及び記憶管理方法
KR20090087689A (ko) * 2008-02-13 2009-08-18 삼성전자주식회사 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법
US10114562B2 (en) 2014-09-16 2018-10-30 Sandisk Technologies Llc Adaptive block allocation in nonvolatile memory
JP7153435B2 (ja) * 2017-10-12 2022-10-14 ラピスセミコンダクタ株式会社 不揮発性メモリのデータ書換方法及び半導体装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5212794A (en) * 1990-06-01 1993-05-18 Hewlett-Packard Company Method for optimizing computer code to provide more efficient execution on computers having cache memories
JP3105092B2 (ja) 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
US5603001A (en) * 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
US5848275A (en) * 1996-07-29 1998-12-08 Silicon Graphics, Inc. Compiler having automatic common blocks of memory splitting
JPH10124327A (ja) * 1996-10-16 1998-05-15 Nec Corp インストラクションキャッシュミス率削減方法
US5940618A (en) * 1997-09-22 1999-08-17 International Business Machines Corporation Code instrumentation system with non intrusive means and cache memory optimization for dynamic monitoring of code segments
JP3141836B2 (ja) * 1998-01-26 2001-03-07 日本電気株式会社 言語処理方法、言語処理装置及び言語処理プログラムを記録した記憶媒体
JP2000122917A (ja) 1998-07-13 2000-04-28 Sony Corp 記録装置および記録方法、再生装置および再生方法、記録媒体、並びにプログラム記録媒体
JP2000132982A (ja) 1998-10-26 2000-05-12 Sony Corp 情報記録媒体素子、情報記録装置及び情報記録方法、並びに情報再生装置及び情報再生方法
US7343598B2 (en) * 2003-04-25 2008-03-11 Microsoft Corporation Cache-conscious coallocation of hot data streams

Also Published As

Publication number Publication date
WO2002035548A3 (en) 2003-02-20
US7062630B2 (en) 2006-06-13
US20040030825A1 (en) 2004-02-12
CN1471670A (zh) 2004-01-28
WO2002035548A2 (en) 2002-05-02
CN1236386C (zh) 2006-01-11
DE60132229D1 (de) 2008-02-14
EP1330715B1 (de) 2008-01-02
EP1330715A2 (de) 2003-07-30

Similar Documents

Publication Publication Date Title
DE60132229T2 (de) Speichervorrichtung, speichersteuerverfahren und programm
DE69226847T2 (de) Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C.-Speicherkarte mit solchem Datenverwaltungssystem
DE69527594T2 (de) Flashspeicherkarte
DE4022885C2 (de) Verfahren zum Verschieben von Speicherbereichen und Hierarchie-Speichersystem
DE3909896C2 (de)
DE102005019842B4 (de) System und Verfahren zum sequentiellen Schreiben von Daten in einen Flash-Speicher
DE69726088T2 (de) Methode und Apparat zur Speicherverwaltung
DE3587750T2 (de) Peripheriegerät für Bildspeicher.
DE69520853T2 (de) Verfahren und Vorrichtung zur Programmierung von Speicheranordnungen
DE3885594T2 (de) Speicherprüfgerät.
DE19845295A1 (de) Zugriffsverfahren und Vorrichtung für Flash-Speicherfeld
DE3011552A1 (de) Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer
DE3390315T1 (de) Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen
DE102006005876A1 (de) Flashspeicher-Steuervorrichtung, Vorrichtung zum Steuern eines Flashspeichers, Flashspeicher-System und Verfahren zum Verwalten von Abbildungsdaten eines Flashspeichers
DE69018519T2 (de) Rechnergesteuerte Bildüberlagerung.
DE68923433T2 (de) Einrichtung und Methode um Festwertspeicher in einem Rechnerspeicherbereich anzuordnen.
DE2154106A1 (de) Arbeitsspeicherwerk
DE112010004667T5 (de) Speichervorrichtung und Speichersteuerung
DE69119149T2 (de) Struktur zur direkten Speicher-zu-Speicher-Übertragung
DE69432512T2 (de) Für fensterumgebungsoperationen entworfenes rasterpuffersystem
DE69719696T2 (de) Videoschnittverfahren, nicht-lineares Videoschnittgerät und Speichermedium für Videoschnittprogramm
DE3046912A1 (de) Verfahren und schaltungsanordnung zum loeschen eines cachespeichers einer datenverarbeitungsanlage
DE1524788A1 (de) Schaltungsanordnung zur Erkennung und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE69714532T2 (de) Synchrone Halbleiterspeichervorrichtung mit Makrobefehlsspeichern und Ausführungsverfahren dafür
DE3789912T2 (de) System und Verfahren zur Bildverarbeitung.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP