[go: up one dir, main page]

DE69820164T2 - Speichervorrichtung sowie Datenlese- und Schreibverfahren - Google Patents

Speichervorrichtung sowie Datenlese- und Schreibverfahren Download PDF

Info

Publication number
DE69820164T2
DE69820164T2 DE69820164T DE69820164T DE69820164T2 DE 69820164 T2 DE69820164 T2 DE 69820164T2 DE 69820164 T DE69820164 T DE 69820164T DE 69820164 T DE69820164 T DE 69820164T DE 69820164 T2 DE69820164 T2 DE 69820164T2
Authority
DE
Germany
Prior art keywords
data
block
written
question
previously stored
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
DE69820164T
Other languages
English (en)
Other versions
DE69820164D1 (de
Inventor
Akira Shinagawa-ku Sassa
Yuichi Shinagawa-ku Suzuki
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE69820164D1 publication Critical patent/DE69820164D1/de
Application granted granted Critical
Publication of DE69820164T2 publication Critical patent/DE69820164T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf eine Speichervorrichtung und auf ein Speicherverfahren, die vorzugsweise für einen Flash-Speicher vom NAND-Typ verwendet werden können.
  • In herkömmlicher Weise ist die Verwendung eines Flash-Speichers als Speichervorrichtung zur Speicherung von Daten für eine Computeranwendung und von Daten einer Standbildkamera, einer Videokamera und dergleichen sowie von Audiodaten, wie Musik, vorgeschlagen worden.
  • Dieser Flash-Speicher speichert Daten durch eine elektrische Ladung, die in einer Zelle akkumuliert ist, und er löscht Daten auf einer Blockbasis, die eine Löscheinheit bildet.
  • Im Flash-Speicher sollte die Zelle vor dem Ausführen eines Daten-Einschreibens in einem Löschzustand sein, das heißt Daten sollten dadurch gelöscht worden sein, dass Elektronen aus der Zelle entfernt sind. Sodann werden Daten in den Flash-Speicher geschrieben, wenn eine elektrische Ladung in die Zelle einströmt, um den Zellenzustand umzukehren.
  • Wie oben beschrieben, werden im Flash-Speicher Daten dadurch gelöscht, dass eine elektrische Ladung aus der Zelle auf einer Blockbasis abgeführt wird. Eine starke Belastung wird auf den Speicher ausgeübt, wenn die elektrische Ladung aus der Zelle entfernt wird. Wenn Daten geschrieben werden, wird überdies eine starke Belastung auf die Zelle ausgeübt, in die eine elektrische Ladung einströmt.
  • Wenn ein Daten-Neueinschreiben ohne Vornahme einer Bitumkehr wiederholt wird oder wenn Daten nahezu unverändert bleiben, dann existieren folgerichtig solche Zellen, in die eine elektrische Ladung jedes Mal strömt, und Zellen, in die keine elektrische Ladung strömt. Damit tritt eine Abweichung in der Zellenschädigung innerhalb eines Blocks auf, die ihrerseits die Block-Betriebslebensdauer verkürzen kann. Insbesondere im Falle einer Management- bzw. Verwaltungsdatei oder einer Verzeichnisdatei, in der häufig eine Teilmodifikation vorgenommen wird, bewirkt ein Einschreiben von Daten leicht eine Zellenschädigungsabweichung innerhalb des Blocks.
  • Im Gegensatz hierzu kann ein Flash-Speicher, in dem ein Neueinschreiben von Daten in einem anderen bzw. unterschiedlichen Block vorgenommen wird, in Betracht gezogen werden. Dabei tritt jedoch ein Problem auf; es wird eine Verwaltungskonfiguration zur Verwendung eines unterschiedlichen Blocks jedes Mal dann benötigt, wenn Daten geschrieben werden. Das führt zu einer komplizierten Konfiguration des Flash-Speichers.
  • Eine Speichervorrichtung mit sämtlichen Merkmalen des Oberbegriffs des Patentanspruchs 1 ist in der US-A-5 396 468 beschrieben.
  • Zusammenfassung der Erfindung
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine Speichervorrichtung und ein Speicherverfahren bereitzustellen, die eine durch Löschen/-Einschreiben von Daten hervorgerufene Schädigung einer bestimmten Zelle verhindern und damit eine Betriebslebensdauer zu verlängern ermöglichen.
  • Gelöst wird diese Aufgabe durch eine Speichervorrichtung und ein Speicherverfahren gemäß den beigefügten unabhängigen Patentansprüchen. Vorteilhafte Merkmale der vorliegenden Erfindung sind in den entsprechenden Unteransprüchen festgelegt.
  • Kurze Beschreibung der Zeichnungen
  • 1 veranschaulicht in einem Blockdiagramm eine Konfiguration einer Speichervorrichtung gemäß der vorliegenden Erfindung.
  • 2 veranschaulicht in einem Blockdiagramm eine spezifische Konfiguration einer Speicherkarte der Speichervorrichtung.
  • 3 veranschaulicht schematisch eine Konfiguration von Blöcken, die als Löscheinheiten in einer in der Speicherkarte vorgesehenen Flash-Speicher dienen.
  • 4 veranschaulicht in einem Flussdiagramm die Arbeitsweise, die ausgeführt wird, wenn Daten in die Speicherkarte geschrieben werden.
  • 5 veranschaulicht in einem Flussdiagramm die Arbeitsweise, die ausgeführt wird, wenn Daten gelesen werden, die in der Speicherkarte gespeichert sind.
  • Detaillierte Beschreibung von bevorzugten Ausführungsformen
  • Nachstehend wird die Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen auf bevorzugte Ausführungsformen der vorliegenden Erfindung gerichtet.
  • Wie in 1 gezeigt, kann die vorliegende Erfindung bei einer Speichervorrichtung angewandt werden bzw. sein, die einen Host-Computer 1 und eine Speicherkarte 2 enthält.
  • Der Host-Computer 1 schreibt Daten in die Speicherkarte 2 ein und liest in der Speicherkarte 2 gespeicherte Daten aus.
  • Genauer gesagt enthält der Host-Computer 1, wie er in 1 dargestellt ist, eine Festplatte 11 zur Speicherung von verschiedenen Daten, wie Standbilddaten und Audiodaten, einen RAM-Speicher 12 (Speicher mit wahlfreiem Zugriff) zur temporären Speicherung und zum Auslesen von Daten von der Fest platte 11, eine Anzeige-Schnittstelleneinrichtung 13 (nachstehend als Anzeige-I/F bezeichnet), eine Anzeigevorrichtung 14 zur Anzeige eines Bildes entsprechend Daten, die über die Anzeige-Schnittstelle 13 geliefert werden, eine serielle Schnittstelleneinrichtung 15 (nachstehend als serielle I/F bezeichnet) zur Ausführung einer Datenübertragung zu und eines Datenempfangs von der Speicherkarte 2 über drei Datenleitungen, einen Bus bzw. eine Busleitung 16 und eine CPU 17 (zentrale Verarbeitungseinheit) zur Steuerung des gesamten Systems.
  • Der RAM-Speicher 12 speichert beispielsweise Daten von der Festplatte 11 über den Bus 16 temporär zwischen und liefert die Daten, wenn dies gefordert ist, über den Bus 16 an die serielle Schnittstelleneinrichtung 15.
  • Der Anzeigevorrichtung 14 werden über den Bus 16 und die Anzeige-Schnittstelleneinrichtung 13 Daten, die von der Festplatte 11 gelesen sind, sowie Daten von der Speicherkarte 2 zugeführt, um entsprechend diesen Daten ein Standbild bzw. ein Bewegtbild anzuzeigen.
  • Die serielle Schnittstelleneinrichtung 15 überträgt über die drei Datenleitungen Daten zur Speicherkarte 2 und empfängt über diese drei Datenleitungen Daten von der Speicherkarte 2. Genauer gesagt überträgt die serielle Schnittstelleneinrichtung 15 über eine erste Datenleitung Daten, die in die Speicherkarte 2 einzuschreiben sind, sowie Steuerdaten, und sie empfängt über die betreffende Datenleitung Daten, die von der Speicherkarte 2 gelesen worden sind. Über eine zweite Datenleitung gibt die serielle Schnittstelleneinrichtung 15 ein Statussignal STATUS ab, welches einen Schaltzustand entsprechend einer seriellen Daten-DIO-Umschaltung angibt, umfassend Daten oder Steuerdaten auf der ersten Datenleitung. Ferner überträgt die serielle Schnittstelleneinrichtung 15 über eine dritte Datenleitung ein serielles Taktsignal SCLK, wenn die zuvor erwähnten Steuerdaten und Daten übertragen werden.
  • Die CPU 17 steuert das Auslesen von Daten aus dem RAM-Speicher 12 und der Festplatte 11 sowie das Einschreiben von Daten in den RAM-Speicher 12 und dergleichen sowie die Steuerung einer Datenübertragung zu und des Empfangs von der Speicherkarte 2. Die CPU 17 gibt beispielsweise einen Registerbefehl ab, der dazu herangezogen wird zu bestimmen, ob ein ein fehlerhaftes Löschen verhindernder Schalter der Speicherkarte (was im Einzelnen später beschrieben wird) in einen Schreibschutzmodus gesetzt ist, und sie gibt einen bestimmten Datenschreibbefehl mit einer Adressenspezifikation an die Speicherkarte 2 ab.
  • Andererseits ist, wie in 2 gezeigt, die Speicherkarte 2 mit dem zuvor erwähnten Host-Computer 1 neben den zuvor erwähnten drei Datenleitungen durch zwei Plus-Elektrode-Gleichspannungsversorgungsleitung Vcc, eine Erdungsleitung INT, eine Minus-Elektrode-Gleichspannungsleitung Vss und zwei reservierte Leitungen verbunden. Infolgedessen wird der Speicherkarte 2 über diese Gleichspannungsversorgungsleitungen eine Versorgungsspannung vom Host-Computer 1 zugeführt, um die jeweiligen Schaltungen in der Speicherkarte 2 steuern zu können.
  • Hier enthält die Speicherkarte 2, wie sie in 2 gezeigt ist, eine integrierte Steuerschaltung bzw. ein Steuer-IC 21 für den Empfang von Daten und Steuerdaten von dem zuvor erwähnten Host-Computer 1, einen Flash-Speicher 22 zur Datenspeicherung und einen ein fehlerhaftes Löschen verhindernden Schalter 23, der ein fehlerhaftes Löschen von Daten verhindert, die im Flash-Speicher 22 gespeichert sind.
  • Das Steuer-IC 21 bestimmt, ob der ein fehlerhaftes Löschen verhindernde Schalter 23 in den Schreibschutz-EIN- oder -AUS-Zustand gesetzt ist, bevor von dem Host-Computer 1 übertragene Daten in den Flash-Speicher 22 geschrieben werden.
  • Lediglich dann, wenn der Schreibschutz sich im AUS-Zustand befindet, werden die Daten in den Flash-Speicher geschrieben.
  • Der Flash-Speicher 22 besteht beispielsweise aus einem Flash-Speicher vom NAND-Typ. Wie in 3 gezeigt, werden in dem Flash-Speicher 22 von dem Host-Computer 1 her übertragene Daten in jedem der Blöcke gespeichert, die als Löscheinheiten dienen. Jeder der Blöcke 1, 2, ..., n besteht aus einem Datenbereich zur Speicherung einer Seite (512 Bytes) der von dem Host-Computer 1 übertragenen Daten und einem redundanten 16-Bytes-Bereich. In dem redundanten Bereich wird eine Management- bzw. Verwaltungsinformation zur Verwaltung der Daten gespeichert, die im Datenbereich des Blocks enthalten sind. Diese Verwaltungsinformation enthält beispielsweise ein Block-Flag, welches einen Datenschreibzustand angibt, eine Kettungsinformation, die ein Kettungsziel angibt, wenn eine Vielzahl von Blöcken eine einzelne Datei bildet, und ein Umkehr-Flag, welches angibt, ob Daten umgekehrt sind, wenn sie in den Datenbereich geschrieben werden bzw. sind. Diese Verwaltungsinformationsposten werden durch den Host-Computer 1 gelesen, um dazu herangezogen zu werden, einen Zustand des Flash-Speichers 22 zu bestimmen, wenn ein Auslesen und ein Einschreiben von Daten ausgeführt werden.
  • Hier enthält das Steuer-IC 21 genauer gesagt eine Serien/Parallel-Parallelserien-Schnittstellen-Folgesteuereinrichtung 31 (nachstehend als S/P & P/S-Folgesteuereinrichtung bezeichnet), einen Seitenpuffer zur temporären Speicherung von Daten von der S/P & P/S-Folgesteuereinrichtung 31, eine Flash-Schnittstellenfolgesteuereinrichtung (nachstehend als Flash-I/F-Folgesteuereinrichtung bezeichnet) zur Abgabe von Daten von dem Seitenpuffer 32 an den Flash-Speicher 22, einen ECC-Codierer/Decoder 34 zur Ausführung einer Fehlerkorrektur, einen Befehlsgenerator 46 zur Erzeugung eines bestimmten Steuerbefehls, einen Konfigurations-ROM-Speicher 36 (Festwertspeicher), der eine Versions-Information und dergleichen enthält, und einen Oszillator 37 zur Abgabe eines Taktsignals an die jeweiligen Schaltungen.
  • Die S/P & P/S-Folgesteuereinrichtung 31 ist über die zuvor erwähnten ersten bis dritten Datenleitungen mit der seriellen Schnittstelleneinrichtung 15 des Host-Computers 1 verbunden. Infolgedessen werden der S/P & P/S-Folgesteuereinrichtung 31 von dem Host-Computer 1 ein Statussignal STATUS, ein serielles Taktsignal SCLK und serielle Daten DIO zugeführt, die aus Daten und Steuerdaten bestehen.
  • Die S/P & P/S-Folgesteuereinrichtung 31 konvertiert die von dem Host-Computer 1 gelieferten seriellen Daten DIO in parallele Daten in Synchronisation mit dem zuvor erwähnten seriellen Taktsignal SCLK. Aus diesen parallelen Daten gibt die S/P & P/S-Folgesteuereinrichtung 31 beispielsweise die Befehlsdaten an den Befehlsgenerator 35 und die Daten an den Seitenpuffer 32 ab.
  • Der Seitenpuffer 32 ist ein Pufferspeicher zur Speicherung der von der S/P & P/S-Folgesteuereinrichtung 31 abgegebenen Daten auf einer Seitenbasis. Den im Seitenpuffer 32 gespeicherten Daten wird ein Fehlerkorrekturzeichen durch den ECC-Codierer/Decoder 34 hinzugefügt. Der Seitenpuffer 32 gibt 1-Seite-Daten, denen das Fehlerkorrekturzeichen hinzugefügt ist, über die Flash-I/F-Folgesteuereinrichtung 33 an die Flash-Speicher 22a bis 22d ab. Damit werden die Daten von dem Host-Computer 1 in die Flash-Speicher 22a bis 22d eingeschrieben.
  • Überdies werden die aus den Flash-Speichern 22a bis 22d ausgelesenen Daten über die Flash-Schnittstellen-Folgesteuereinrichtung 33 an den Seitenpuffer 32 abgegeben.
  • Der Seitenpuffer 32 speichert die Daten von der Flash-I/F-Folgesteuereinrichtung 33. Hier führt der ECC-Codierer/Decoder 34 eine Fehlerkorrekturverarbeitung entsprechend dem Fehlerkorrekturzeichen aus, welches den im Seitenpuffer 32 gespeicherten Daten hinzugefügt ist. Der Seitenpuffer 32 liest Daten jeder Seite aus, die der Fehlerkorrekturverarbeitung unterzogen worden sind, und gibt die Daten an die S/P & P/S-Folgesteuereinrichtung 31 ab. Die S/P & P/S-Folgesteuereinrichtung 31 konvertiert die ihr von dem Seitenpuffer 32 zugeführten parallelen Daten in serielle Daten DIO und überträgt die erhaltenen seriellen Daten DIO zu dem zuvor erwähnten Host-Computer 1.
  • Der Befehlsgenerator 35 erzeugt einen Steuerbefehl entsprechend den Steuerdaten von der S/P & P/S-Folgesteuereinrichtung 31. Wenn der Befehlsgenerator 35 beispielsweise einen Lesestatusregisterbefehl zur Überprüfung des Arbeitszustands der Speicherkarte 2 erhält, bestimmt er einen Einstellzustand des ein fehlerhaftes Löschen verhindernden Schalters 23 und bestimmt, ob Daten entsprechend dem Einstellzustand zu schreiben sind.
  • Darüber hinaus erzeugt der Befehlsgenerator 35 einen Besetztbefehl (nachstehend als Besetztsignal bezeichnet), der einen Zustand angibt, wenn Daten in den Flash-Speicher 22 geschrieben sind oder wenn Daten aus dem Flash-Speicher 22 gelesen werden, und er überträgt das Besetztsignal durch die S/P & P/S-Folgesteuereinrichtung 31 zu dem Host-Computer 1. Wenn das Einschreiben oder Auslesen von Daten abgeschlossen ist, erzeugt der Befehlsgenerator 35 einen Bereitbefehl (nachstehend als Bereitsignal bezeichnet), der das Ende des Einschreibens oder Auslesens von Daten angibt, und er überträgt das Bereitsignal über die S/P & P/S-Folgesteuereinrichtung 31 zum Host-Computer 1. Der Host-Computer erkennt den Betriebszustand der Speicherkarte 2 durch Aufnahme des Besetztsignals und des Bereitsignals.
  • Der Konfigurations-ROM-Speicher 36 enthält Informationen, wie eine Versions-Information und einen Anfangseinstellwert der Speicherkarte 2. Wenn eine Verbindung zwischen dem Host-Com puter 1 und der Speicherkarte 2 hergestellt ist, dann liest der Befehlsgenerator 35 infolgedessen zunächst durch die S/P & P/S-Folgesteuereinrichtung 31 die zuvor erwähnte Versions-Information aus dem Konfigurations-ROM-Speicher 36 und erzeugt entsprechend dieser Information einen bestimmten Befehl, um eine bestimmte Initialisierung der Speicherkarte 2 vorzunehmen.
  • In der Speichervorrichtung mit der zuvor erwähnten Konfiguration liest der Host-Computer 1 vorab eine Verwaltungsinformation des Flash-Speichers 22 der Speicherkarte 2 und speichert diese Information im RAM-Speicher 12. Wenn Daten in die Speicherkarte 2 geschrieben werden, benutzt der Host-Computer 1 die zuvor erwähnte Verwaltungsinformation, um die Verarbeitung gemäß den Schritten S1 bis S6 auszuführen, wie dies in 4 veranschaulicht ist.
  • Beim Schritt S1 bestimmt die CPU 17, des Host-Computers 1, ob Daten, die von der Festplatte 11 gelesen worden sind, um beispielsweise zur Speicherkarte übertragen zu werden, neue Daten sind. Falls die Daten neue Daten sind, gelangt die Steuerung zum Schritt S5 hin. Falls die Daten nicht neue Daten sind, gelangt die Steuerung zum Schritt S2. Dies bedeutet, dass die CPU 17 bestimmt, ob die Daten vollständig neue Daten oder Daten sind, die ähnlich Daten sind, welche zur Speicherkarte 2 übertragen und teilweise modifiziert sind. Falls bestimmt wird, dass die Daten neue Daten sind, gelangt die Steuerung zum Schritt S5, und falls die Daten ähnlich alten Daten sind, gelangt die Steuerung zum Schritt S2.
  • Beim Schritt S2 bestimmt die CPU 17, ob ein Umkehr-Flag in den jeweiligen Blöcken gesetzt ist, die für ein Einschreiben von Daten zu verwenden sind. Falls das Umkehr-Flag gesetzt ist, gelangt die Steuerung zum Schritt S5, und falls es nicht gesetzt ist, gelangt die Steuerung zum Schritt S3.
  • Beim Schritt S3 setzt die CPU 17 über die serielle Schnittstelleneinrichtung 15 und das Steuer-IC 21 der Speicherkarte 2 ein Umkehr-Flag im redundanten Bereich des Flash-Speichers 22 und speichert zu übertragende Daten beispielsweise im RAM-Speicher 12 von der Festplatte 11, wobei die Steuerung zum Schritt S4 gelangt.
  • Wenn andererseits beim Schritt 1 bestimmt wird, dass die Daten neue Daten sind, und wenn beim Schritt 2 bestimmt wird, dass ein Umkehr-Flag gesetzt ist, dann nimmt die CPU 17 beim Schritt S5 über das Steuer-IC 21 der Steuerkarte 2 eine Rücksetzung des Umkehr-Flags im redundanten Bereich des Flash-Speichers 22 vor und speichert zu übertragende Daten beispielsweise im RAM-Speicher 12 von der Festplatte 11, wobei die Steuerung zum Schritt S6 gelangt.
  • Beim Schritt S6 überträgt die CPU 17 in dem RAM-Speicher 12 gespeicherte Daten und eine durch diese Daten zu aktualisierende Verwaltungsinformation über die serielle Schnittstelleneinrichtung 15 zur Speicherkarte 2, und sie schreibt diese Daten und dergleichen in den Flash-Speicher ein, womit die Verarbeitung abgeschlossen ist.
  • Wie oben beschrieben, führt der Host-Computer 1 dann, wenn wiederholt ein Schreiben von ähnlichen Daten, wie von teilweise modifizierten Daten erfolgt, die Bit-Umkehr/Nicht-Umkehr bei jedem Daten-Einschreiben von derartigen Daten aus. Dies verhindert eine Konzentration einer Zellenschädigung auf eine bestimmte Zelle im Flash-Speicher, die durch ein Einschreiben und Löschen von Daten hervorgerufen wird, was unter durchschnittlicher Zellenschädigung die Betriebslebensdauer des Flash-Speichers 22 steigert.
  • Wenn der Host-Computer 1 in der Speicherkarte 2 gespeicherte Daten ausliest, benutzt er eine in dem RAM-Speicher 12 gespeicherte Verwaltungsinformation, um eine Verarbeitung gemäß den Schritten S11 bis S13 auszuführen, wie dies in 5 veranschaulicht ist.
  • Beim Schritt S11 bestimmt die CPU 17 des Host-Computers 1, ob ein im RAM-Speicher 12 gespeichertes Umkehr-Flag gesetzt ist. Falls das Umkehr-Flag gesetzt ist, gelangt die Steuerung zum Schritt S12; falls es nicht gesetzt ist, gelangt die Steuerung zum Schritt S13.
  • Beim Schritt S12 liest die CPU 17 über die serielle I/F bzw. Schnittstelleneinrichtung 15 und das Steuer-IC 21 der Speicherkarte 2 Daten aus dem Flash-Speicher 22, speichert sie im RAM-Speicher 12 und nimmt eine Umkehr des Bits dieser Daten vor, womit die Ausleseverarbeitung abgeschlossen ist.
  • Beim Schritt S13 liest die CPU 17 über die serielle Schnittstelleneinrichtung 15 und das Steuer-IC 21 der Speicherkarte 2 Daten einfach aus dem Flash-Speicher 22 aus, womit die Ausleseverarbeitung abgeschlossen ist.
  • Wenn das Umkehr-Flag gesetzt ist, liest der Host-Computer 1, wie oben beschrieben, Daten aus dem Flash-Speicher 22 aus und kehrt das Bit um; wenn kein Umkehr-Flag gesetzt ist, liest der Host-Computer 1 Daten direkt aus dem Flash-Speicher 22 aus. Damit ist es möglich, in den Flash-Speicher 22 eingeschriebene Daten durch die Bit-Umkehr-Nichtumkehr-Verarbeitung auszulesen.
  • Es sei darauf hingewiesen, dass die vorliegende Erfindung auf die zuvor erwähnte Ausführungsform nicht beschränkt ist, sondern dass sie im Rahmen des in den Patentansprüchen beschriebenen Konzepts im Aufbau bzw. in der Ausführung modifiziert werden kann.
  • So ist es möglich, als Host-Computer 1 beispielsweise eine Standbildkamera oder eine Videokamera anzuwenden. In einem solchen Falle wird die Speicherkarte 2 durch die Standbild kamera oder dergleichen so gesteuert, dass Bilddaten eingeschrieben werden.
  • Darüber hinaus ist es möglich, als Host-Computer 1 eine Wiedergabevorrichtung anzuwenden, die imstande ist, in der Speicherkarte 2 gespeicherte Musik-Audiodaten zu lesen und einen Ton abzugeben. In diesem Falle ist eine Datenübertragungsrate zwischen dem Host-Computer 1 und der Speicherkarte 2 wesentlich höher als eine Datenlesegeschwindigkeit von einem Magnetband oder einer CD (Kompaktdisc), und es ist möglich, beispielsweise eine Festlegung eines Musikstarts bei einer hohen Geschwindigkeit vorzunehmen.

Claims (8)

  1. Speichervorrichtung mit einer Schnittstelle (15) zum Senden/Empfangen von Daten von einer Speichereinrichtung (22), die eine Vielzahl von in Blöcken aufgeteilte Daten und ein Umkehr-Flag speichert, welches angibt, ob die Bits der betreffenden Daten für jeden der genannten Blöcke umgekehrt sind, und mit einer Steuereinrichtung (17) zur Steuerung der genannten Speichereinrichtung (22), wobei die betreffende Steuereinrichtung (17) bestimmt, ob in einem Block das genannte Umkehr-Flag gesetzt ist, das genannte Umkehr-Flag des betreffenden Blocks setzt oder zurücksetzt und Daten in den genannten Block entsprechend dem Flagstatus des betreffenden Blocks schreibt, dadurch gekennzeichnet, dass die Steuereinrichtung (17) ferner bestimmt, ob die in einen Block zu schreibenden Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich oder gleich sind (S1), und dass die Steuereinrichtung (17) ferner entsprechend folgendem Vorgehen verfährt: falls die genannte Steuereinrichtung (17) bestimmt, dass in einen Block zu schreibende Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich oder gleich sind (S1), und das Umkehr-Flag des betreffenden Blocks angibt, dass Bits umgekehrt sind (S2), dann wird das betreffende Umkehr-Flag zurückgesetzt (S5) und die genannten Daten werden in den genannten Block geschrieben (S6), falls die genannte Steuereinrichtung (17) bestimmt, dass die in einen Block zu schreibenden Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich oder gleich sind (S1) und das Umkehr-Flag des betreffenden Blocks angibt, dass Bits nicht umgekehrt sind (S2), dann wird das Umkehr-Flag gesetzt (S3) und die genannten Daten werden mit umgekehrten Bits in den genannten Block geschrieben (S4, S6), falls die genannte Steuereinrichtung (17) bestimmt, dass in einen Block zu schreibende Daten und die zuvor in dem betreffenden Block gespeicherten Daten nicht gleich oder ähnlich sind (S1), dann wird ein Umkehr-Flag, welches angibt, dass kein Bit umgekehrt ist, gesetzt (S5) und die betreffenden Daten werden in den genannten Block geschrieben (S6).
  2. Speichervorrichtung nach Anspruch 1, wobei in dem Fall, dass in einen Block zu schreibende Daten nicht die zuvor in dem betreffenden Block gespeicherten Daten sind (S1), die genannte Steuereinrichtung (17) bestimmt, dass die in den genannten Block zu schreibenden Daten und die zuvor in den betreffenden Block gespeicherten Daten nicht ähnlich oder gleich sind (S1).
  3. Speichervorrichtung nach Anspruch 1 oder 2, wobei in dem Fall, dass in einen Block zu schreibende Daten die zuvor in dem betreffenden Block gespeicherten, teilweise modifizierten Daten sind (S1), die genannte Steuereinrichtung (17) bestimmt, dass die in den genannten Block zu schreibenden Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich sind (S1).
  4. Speichervorrichtung nach einem der Ansprüche 1 bis 3, wobei die genannte Steuereinrichtung (17) ein Auslesen von Daten aus der genannten Speichereinrichtung (22) steuert, wobei in dem Fall, dass ein Umkehr-Flag eines Blocks, zu dem Daten gehören, die von der genannten Steuereinrichtung (17) ausgelesen worden sind, angibt, dass die Bits umgekehrt sind (S11), die genannte Steuereinrichtung (17) die Umkehr der Bits der genannten Daten steuert, die ausgelesen worden sind (S12).
  5. Speicherverfahren umfassend einen Schritt zur Speicherung von Daten, die in eine Vielzahl von Blöcken aufgeteilt sind, und eines Umkehr-Flags, welches angibt, ob Bits der betreffenden Daten für jeden der genannten Blöcke umgekehrt sind, dadurch gekennzeichnet, dass die Steuereinrichtung (17) ferner bestimmt, ob die in einen Block zu schreibenden Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich oder gleich sind (S1) und dass die Steuereinrichtung (17) ferner entsprechend dem folgenden Vorgehen verfährt: falls in einen Block zu schreibende Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich oder gleich sind (S1) und das Umkehr-Flag des betreffenden Blocks angibt, dass Bits umgekehrt sind (S2), dann wird das betreffende Umkehr-Flag zurückgesetzt (S5) und die genannten Daten werden in den genannten Block (S6) geschrieben, falls die in einen Block zu schreibenden Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich oder gleich sind (S1) und das Umkehr-Flag des betreffenden Blocks angibt, dass Bits nicht umgekehrt sind (S2), dann wird das Umkehr-Flag gesetzt (S3) und die genannten Daten mit dem umgekehrten Bit werden in den genannten Block geschrieben (S4, S6), falls in einen Block zu schreibende Daten und die zuvor in dem betreffenden Block gespeicherten Daten nicht gleich oder ähnlich sind (S1), wird ein Umkehr-Flag gesetzt (S5), welches angibt, dass kein Bit umgekehrt ist, und die genannten Daten werden in den genannten Block (S6) geschrieben.
  6. Speicherverfahren nach Anspruch 5, wobei in dem Fall, dass in einen Block zu schreibende Daten nicht die zuvor in dem betreffenden Block gespeicherten Daten sind (S1), bestimmt wird, dass die in den genannten Block zu schreibenden Daten und die zuvor in dem betreffenden Block gespeicherten Daten nicht ähnlich oder gleich sind (S1).
  7. Speicherverfahren nach Anspruch 5 oder 6, wobei in dem Fall, dass in einen Block zu schreibende Daten die zuvor in dem betreffenden Block gespeicherten, partiell modifizierten Daten sind (S1), bestimmt wird, dass die in den genannten Block zu schreibenden genannten Daten und die zuvor in dem betreffenden Block gespeicherten Daten ähnlich sind (S1).
  8. Speicherverfahren nach einem der Ansprüche 5 bis 7, wobei dann, wenn in einem Block gespeicherte Daten ausgelesen werden, eine Steuerung (S11) ausgeführt wird, um die Bits der betreffenden Daten, die ausgelesen worden sind, umzukehren, falls ein Umkehr-Flag des betreffenden Blocks angibt, dass die Bits des genannten Blocks umgekehrt sind.
DE69820164T 1997-07-07 1998-07-06 Speichervorrichtung sowie Datenlese- und Schreibverfahren Expired - Lifetime DE69820164T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP18154097 1997-07-07
JP18154097A JP3175648B2 (ja) 1997-07-07 1997-07-07 記憶装置及びデータの書込み方法

Publications (2)

Publication Number Publication Date
DE69820164D1 DE69820164D1 (de) 2004-01-15
DE69820164T2 true DE69820164T2 (de) 2004-11-25

Family

ID=16102573

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69820164T Expired - Lifetime DE69820164T2 (de) 1997-07-07 1998-07-06 Speichervorrichtung sowie Datenlese- und Schreibverfahren

Country Status (5)

Country Link
US (1) US6345333B1 (de)
EP (1) EP0890955B1 (de)
JP (1) JP3175648B2 (de)
KR (1) KR100564672B1 (de)
DE (1) DE69820164T2 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53132327A (en) * 1977-04-23 1978-11-18 Kawai Musical Instr Mfg Co Electronic musical instrument
US6601140B1 (en) * 1999-04-07 2003-07-29 Sony Corporation Memory unit, data processing unit, and data processing method using memory unit type
JP2001297038A (ja) * 2000-04-11 2001-10-26 Toshiba Corp データ記憶装置および記録媒体並びに記録媒体制御方法
KR20020044907A (ko) * 2000-12-07 2002-06-19 윤종용 다중 플래쉬 메모리 시스템에서의 프로그램 운용 방법
JP4017177B2 (ja) * 2001-02-28 2007-12-05 スパンション エルエルシー メモリ装置
US6633951B2 (en) * 2001-03-15 2003-10-14 Intel Corporation Method for reducing power consumption through dynamic memory storage inversion
US7003619B1 (en) 2001-04-09 2006-02-21 Matrix Semiconductor, Inc. Memory device and method for storing and reading a file system structure in a write-once memory array
US6895490B1 (en) 2001-04-09 2005-05-17 Matrix Semiconductor, Inc. Method for making a write-once memory device read compatible with a write-many file system
US6996660B1 (en) * 2001-04-09 2006-02-07 Matrix Semiconductor, Inc. Memory device and method for storing and reading data in a write-once memory array
US7062602B1 (en) 2001-04-09 2006-06-13 Matrix Semiconductor, Inc. Method for reading data in a write-once memory device using a write-many file system
US6948026B2 (en) 2001-08-24 2005-09-20 Micron Technology, Inc. Erase block management
US7051251B2 (en) * 2002-12-20 2006-05-23 Matrix Semiconductor, Inc. Method for storing data in a write-once memory array using a write-many file system
US7398348B2 (en) 2004-08-24 2008-07-08 Sandisk 3D Llc Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR100843242B1 (ko) * 2007-04-04 2008-07-02 삼성전자주식회사 플래시 메모리 장치 및 그 구동방법
KR100826654B1 (ko) * 2007-04-24 2008-05-06 주식회사 하이닉스반도체 플래시 메모리소자의 동작방법 및 이를 위한 제어회로
JP4491000B2 (ja) 2007-08-17 2010-06-30 株式会社東芝 メモリシステム
TWI377580B (en) * 2008-04-03 2012-11-21 Wistron Corp Method and related device for data storage in an electronic device
JP2009271848A (ja) * 2008-05-09 2009-11-19 Fujitsu Microelectronics Ltd ファイルシステム及びデータ管理方法
CN101419838B (zh) * 2008-09-12 2011-01-19 中兴通讯股份有限公司 一种提高flash使用寿命的方法
JP7413108B2 (ja) * 2020-03-23 2024-01-15 キオクシア株式会社 半導体装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3681764A (en) * 1971-03-15 1972-08-01 Litton Systems Inc Low power memory system
US4106105A (en) * 1977-02-28 1978-08-08 The Singer Company Zero detector
US4763305A (en) 1985-11-27 1988-08-09 Motorola, Inc. Intelligent write in an EEPROM with data and erase check
JPH0778997B2 (ja) * 1987-10-30 1995-08-23 株式会社東芝 不揮発性半導体メモリ
EP0444774A3 (de) 1990-01-29 1991-09-11 Raytheon Company Verfahren und Vorrichtung zum Treiben von einem digitalen Bus
US5363330A (en) * 1991-01-28 1994-11-08 Mitsubishi Denki Kabushiki Kaisha Non-volatile semiconductor memory device incorporating data latch and address counter for page mode programming
US5396468A (en) 1991-03-15 1995-03-07 Sundisk Corporation Streamlined write operation for EEPROM system
JPH06267283A (ja) * 1993-03-16 1994-09-22 Mitsubishi Electric Corp データ書き込み可能な読み出し専用メモリ及びそのデータ書き込み/読み出し方法
US5537350A (en) * 1993-09-10 1996-07-16 Intel Corporation Method and apparatus for sequential programming of the bits in a word of a flash EEPROM memory array
JP3443998B2 (ja) 1995-01-23 2003-09-08 ソニー株式会社 半導体不揮発性記憶装置
DE19610838A1 (de) * 1996-03-19 1997-02-27 Siemens Ag Verfahren zum Speichern eines Datensatzes in einem Speicher

Also Published As

Publication number Publication date
EP0890955A2 (de) 1999-01-13
KR19990013635A (ko) 1999-02-25
KR100564672B1 (ko) 2006-06-14
EP0890955A3 (de) 1999-09-01
JPH1125002A (ja) 1999-01-29
DE69820164D1 (de) 2004-01-15
JP3175648B2 (ja) 2001-06-11
EP0890955B1 (de) 2003-12-03
US6345333B1 (en) 2002-02-05

Similar Documents

Publication Publication Date Title
DE69820164T2 (de) Speichervorrichtung sowie Datenlese- und Schreibverfahren
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE69526123T2 (de) Fehlersteuerungsverfahren für flash-eeprom-speichermatritzen
DE60032531T2 (de) Aufzeichnungsverfahren, Verwaltungsverfahren und Aufzeichnungsgerät
DE69839126T2 (de) Verschiebung aufeinander folgender sektoren innerhalb eines datenblocks in einem flash-massenspeicher
DE60303895T2 (de) Hybridimplementierung von Fehlerkorrekturkoden eines nichtflüchtigen Speichersystems
DE69821426T2 (de) Speicheranordung, und Datenverarbeitungssystem und -Verfahren
DE69527594T2 (de) Flashspeicherkarte
DE69329590T2 (de) Periphere Festkörperspeichervorrichtung
DE60121697T2 (de) Verfahren zum ansteuern von remapping in einem flash-speicher und in einer dafür geeigneten flash-speicher-architektur
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE69127736T2 (de) System und Verfahren zum Bestimmen des Sektorzustandes in einer Plattenspeichereinrichtung
DE69635663T2 (de) vERFAHREN FÜR DAS EINSPEICHERN VON DATEN IN EINEM FLASH-EEPROM-HAUPTSPEICHER IN EINEM RECHNERSYSTEM
DE69608797T2 (de) Verfahren und vorrichtung zum schutz der prozessdatenintegrität auf einem wechselspeichermedium
DE602004005939T2 (de) Vorrichtung und Verfahren zur Datenverwaltung nichtflüchtiger Speicher
DE102009048179A1 (de) Prozess und Verfahren für eine Löschstrategie in Festkörperplatten
DE19615948A1 (de) Flash-Festkörper-Plattenspeicher-Karte
DE102009034651A1 (de) Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten
DE69023770T2 (de) Verfahren zum betrieb eines datenverarbeitungssystems.
DE69930439T2 (de) Elektrische Vorrichtung mit integriertem Flashspeicher
DE69226853T2 (de) Aufnahme- und Wiedergabeanordnung mit einer Block-löschbaren nichtflüchtigen Halbleiterspeicheranordnung für einen Block von spezifischen Datengruppen
DE112010005870B4 (de) Verfahren zur Freigabe nicht länger benötigter Speicherbereiche auf nichtflüchtigen Speichermedien
DE102004014227A1 (de) Steuervorrichtung für einen nicht flüchtigen Speicher
DE102020126409A1 (de) Speichervorrichtung zum Speichern von Modellinformationen, die Speichervorrichtung enthaltendes Speichersystem und Betriebsverfahren des Speichersystems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition