DE102005051478B4 - Flashdatenspeichervorrichtung - Google Patents

Flashdatenspeichervorrichtung Download PDF

Info

Publication number
DE102005051478B4
DE102005051478B4 DE102005051478.2A DE102005051478A DE102005051478B4 DE 102005051478 B4 DE102005051478 B4 DE 102005051478B4 DE 102005051478 A DE102005051478 A DE 102005051478A DE 102005051478 B4 DE102005051478 B4 DE 102005051478B4
Authority
DE
Germany
Prior art keywords
flash
data
bus
buffer
clock signal
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.)
Active
Application number
DE102005051478.2A
Other languages
English (en)
Other versions
DE102005051478A1 (de
Inventor
Min Gun Park
Jin Wook Lee
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102005051478A1 publication Critical patent/DE102005051478A1/de
Application granted granted Critical
Publication of DE102005051478B4 publication Critical patent/DE102005051478B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/32Timing circuits

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Dram (AREA)

Abstract

Flashdatenspeichervorrichtung, die mit einem externen System (10) über eine Hostbusgruppe (HDIO) parallel Daten austauscht, mit – einem Flashspeicher (100), der Daten über eine Flashbusgruppe (FDO, FDI) austauscht, wobei eine Busbreite (FW) der Flashbusgruppe (FDO, FDI) größer als eine Busbreite (HW) der Hostbusgruppe (HDIO) ist und die Busbreite eine Anzahl von Busleitungen repräsentiert, die Daten in Reaktion auf ein gleiches Taktsignal parallel austauschen, und – einer Flashschnittstelle (200), die einen Datenübertragungsbetrieb der Flashbusgruppe (FDO, FDI) steuert, dadurch gekennzeichnet, dass – die Flashschnittstelle (200) erste bis n-te Flasheingabepuffer (210, 220, 230) umfasst, die in Reaktion auf erste bis n-te Übertragungssteuertaktsignale (RCLK1, RCLK2, RCLK3) Daten stufenweise zum Flashspeicher (100) übertragen, wobei n ≥ 2 ist, und – ein i-ter Flasheingabepuffer, wobei 2 ≤ i ≤ n ist, Daten über i-te Eingabe-Pufferbusgruppen (RDINi) zur Verfügung stellt, deren Anzahl mindestens so groß wie eine Anzahl Ni ist, wobei eine Busbreite (IBWi) einer jeden der i-ten Eingabe-Pufferbusgruppen breiter als eine Busbreite (IBW(i–1)) von jeder der (i–1)-ten Eingabe-Pufferbusgruppen ist und eine Periodendauer (Ti) des i-ten Übertragungssteuertaktsignals (RCLKi) länger als eine Periodendauer (T(i–1)) des (i–1)-ten Übertragungssteuertaktsignals (RCLK(i–1)) ist und die Anzahl Ni gleich der Busbreite (FW) der Flashbusgruppe (FDO, FDI) geteilt durch die Busbreite (IBWi) der i-ten Eingabe-Pufferbusgruppe ist.

Description

  • Die Erfindung betrifft eine Flashdatenspeichervorrichtung nach dem Oberbegriff des Anspruchs 1, insbesondere eine Flashdatenspeichervorrichtung mit einem Flashspeicher vom NAND-Typ.
  • Es besteht ein steigender Bedarf an nichtflüchtigen Speicherbauelementen, welche elektronisch programmiert und gelöscht werden können und Daten unabhängig von einem Unterbrechen der Energieversorgung erhalten können. Insbesondere Flashspeicher vom NAND-Typ sind als Speicherbauelemente für Musik, Fotos usw. weit verbreitet, da diese in der Lage sind, eine große Datenmenge in einer gegebenen Chipgröße zu speichern.
  • Durch die steigenden Anforderungen von Computernutzern hinsichtlich schnellerem Systembetrieb hat sich der Standard für die Systembetriebsgeschwindigkeit bzw. die Systembetriebsfrequenz eines Computers auf einen 10 ns-Betriebszyklus erhöht. Standardmäßige Flashspeicher vom NAND-Typ weisen jedoch durch die Zykluszeit, welche zur Steuerung von Datenleitungen während Programmiervorgängen oder Lesevorgängen benötigt wird, Datenzugriffszyklen in der Größenordnung von 80 ns auf. Aus diesem Grund ist es für Datenspeichervorrichtungen mit solchen Flashspeichern vom NAND-Typ schwierig, Betriebsperiodendauern aufzuweisen, welche mit denen von externen Systemen korrespondieren.
  • Um diese Begrenzungen aufzuheben, wurden Techniken vorgeschlagen, welche Pufferspeicher in eine Flashdatenspeichervorrichtung einbetten. In einem solchen Fall speichert der Pufferspeicher Daten, welche zu einer Seite eines Flashspeichers gehören. Während Daten einer Seite des Pufferspeichers dem externen System zur Nutzung zur Verfügung gestellt werden, werden Daten einer anderen Seite vom Flashspeicher in den Pufferspeicher übertragen. Dieser Ansatz führt zu einer gewissen Verbesserung der Datenübertragungsgeschwindigkeit, d. h. einer Datenrate, zwischen dem externen System und der Flashdatenspeichervorrichtung.
  • Da die Datenrate zwischen dem Flashspeicher und dem Pufferspeicher immer noch relativ niedrig ist, erfüllen diese herkömmlichen Systeme nicht in jedem Fall die Benutzeranforderungen an die Datenübertragungsgeschwindigkeit, d. h. an die Datenrate, zwischen dem externen System und der Flashdatenspeichervorrichtung.
  • Die Offenlegungsschrift US 2002/0013874 A1 und die Patentschriften US 6.401.161 B1 und US 6.295.246 B2 offenbaren verschiedene herkömmliche Datenspeichervorrichtungen und insbesondere Flashdatenspeichervorrichtungen mit Mitteln zum temporären Puffern von Daten, um Schwierigkeiten zu begegnen, die mit relativ langen Speicherzugriffszeiten einhergehen, wobei diese Mittel insbesondere entsprechende Puffer- oder Registereinheiten beinhalten.
  • Es ist Aufgabe der Erfindung, eine Flashdatenspeichervorrichtung anzugeben, welche eine vergleichsweise hohe Datenübertragungsrate zwischen einem externen System und einem Flashspeicher ermöglicht.
  • Die Erfindung löst diese Aufgabe durch eine Flashdatenspeichervorrichtung mit den Merkmalen des Patentanspruchs 1.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Es zeigen:
  • 1 ein Blockdiagramm einer Flashdatenspeichervorrichtung,
  • 2 ein Blockdiagramm einer funktionalen Konfiguration eines Flashspeichers aus 1,
  • 3 ein detaillierteres Blockdiagramm einer Konfiguration einer Flashschnittstelle aus 1,
  • 4 ein Blockdiagramm von ersten bis dritten Flasheingabepuffern eines Eingabepfads aus 3,
  • 5 ein Zeitablaufdiagramm zur Darstellung eines Datenübertragungsvorgangs durch die ersten bis dritten Flasheingabepuffer gemäß 4,
  • 6 ein detaillierteres Blockdiagramm eines Flashausgabepuffers und eines Multiplexers in einem Ausgabepfad aus 3,
  • 7 ein Zeitablaufdiagramm zur Darstellung eines Datenübertragungsvorgangs durch den Flashausgabepuffer und den Multiplexer gemäß 6,
  • 8 ein Blockdiagramm eines Steuertaktgenerators aus 3,
  • 9 ein detaillierteres Schaltbild eines Periodenverkürzungsblocks aus 8,
  • 10 ein detaillierteres Schaltbild eines Periodenverlängerungsblocks aus 8,
  • 11 ein Zeitablaufdiagramm von Betriebssignalen, welche in den Schaltungen gemäß 8 bis 10 verwendet werden, zur Darstellung eines Vorgangs zur Erzeugung von ersten bis dritten Steuertaktsignalen,
  • 12 ein detaillierteres Blockdiagramm eines Pufferspeichers aus 1 und
  • 13 ein detaillierteres Blockdiagramm einer Hostschnittstelle aus 1.
  • 1 zeigt im Blockdiagramm eine erfindungsgemäße Flashdatenspeichervorrichtung mit einem Flashspeicher 100 vom NAND-Typ, der in die Flashdatenspeichervorrichtung eingebettet ist, welche Daten mit einem externen System 10 austauscht. Der Datenaustauschvorgang zwischen der Flashdatenspeichervorrichtung und dem externen System 10 wird über eine Hostbusgruppe HDIO<15:0> in Reaktion auf ein Hosttaktsignal HCLK ausgeführt.
  • In dieser Ausführungsform ist die Hostbusgruppe HDJO<15:0> mit einer Busbreite von 16 Leitungen ausgeführt und mit einem Hosttakt HCLK mit einer Periodendauer von 10 ns assoziiert. Hierbei beschreibt der Ausdruck „Busbreite” die Anzahl von Busleitungen, welche in Reaktion auf einen bestimmten Taktimpuls des Taktsignals Daten parallel übertragen. Daher können alle 10 ns 16 Bit an Daten zwischen dem externen System 10 und einer Hostschnittstelle 400 ausgetauscht werden.
  • Der Flashspeicher 100 umfasst gemäß 2 ein Speicherzellenfeld 110 und einen Seitenpuffer 120. Das Speicherzellenfeld 110 besteht aus nicht dargestellten Flashspeicherzellen, welche in einer logischen Schleife vom NAND-Typ angeordnet sind, in der eine Mehrzahl von Flashspeicherzellen zu einer einzigen gemeinsamen Kette verbunden ist. Eine Mehrzahl von Datenbits wird in Reaktion auf ein Taktsignal parallel über den Seitenpuffer 120 in das Speicherzellenfeld 110 eingegeben bzw. vom Speicherzellenfeld 110 ausgegeben.
  • in dieser Ausführungsform ist der Flashspeicher 100 so ausgeführt, dass er 128 Bit an Daten parallel über Flashbusgruppen FDI<127:0> und FDO<127:0> in Synchronisation mit einem Flashtaktsignal FCLK empfängt bzw. ausgibt. Das Flashtaktsignal FCLK wird mit einer Periode von 80 ns betrieben. Eingabedaten werden über die Flashbusgruppe FDI<127:0> übertragen, während Ausgabedaten über die Flashbusgruppe FDO<127:0> übertragen werden. Zur Vereinfachung der Beschreibung werden vorliegend die Flashbusgruppe FDI<127:0> zur Eingabe und die Flashbusgruppe FDO<127:0> zur Ausgabe allgemein als Flashbusgruppe bezeichnet. Die Busbreite FW der Flashbusgruppe FDI<127:0> bzw. FDO<127:0> beträgt 128 Bit.
  • Die Busbreite der Flashbusgruppe FDI<127:0> bzw. FDO<127:0> ist größer als die Busbreite der Hostbusgruppe HDIO und eine Periodendauer des Flashtaktsignals FCLK ist länger als die Periodendauer des Hosttaktsignals HCLK.
  • Das Speicherzellenfeld 110 und der Seitenpuffer 120 können in verschiedenen Konfigurationen implementiert werden und die zugehörigen Eingabe-/Ausgabevorgänge sind allgemein bekannt, so dass hier auf eine detaillierte Beschreibung der zugehörigen Strukturen und Funktionsweisen verzichtet werden kann.
  • Wie weiter aus 1 ersichtlich ist, umfasst die Flashdatenspeichervorrichtung außer dem Flashspeicher 100 und der Hostschnittstelle 400 eine Flashschnittstelle 200 und einen Pufferspeicher 300.
  • Die Flashschnittstelle 200 wird zum Datenaustausch zwischen der Flashbusgruppe FDI<127:0> bzw. FDO<127:0> und dem Pufferspeicher 300 in Reaktion auf das Flashtaktsignal FCLK verwendet. Die Flashschnittstelle 200 führt über die Flashbusgruppe FDI<127:0> bzw. FDO<127:0>, welche jeweils eine Busbreite von 128 Bit aufweisen, einen Datenaustausch mit dem Flashspeicher 100 aus. Zudem überträgt die Flashschnittstelle 200 über eine Flash-Pufferbusgruppe FBDO<31:0> Daten zum Pufferspeicher 300 und empfängt über eine Puffer-Flashbusgruppe BFDI<31:0> Daten vom Pufferspeicher 300. Die Busbreite der Puffer-Flashbusgruppe BFDI<31:0> und der Flash-Pufferbusgruppe FBDO<31:0> beträgt jeweils 32 Bit.
  • Der Pufferspeicher 300 speichert temporär Daten, welche zwischen der Flashschnittstelle 200 und der Hostschnittstelle 400 ausgetauscht werden, und tauscht, wie oben bereits erwähnt, über die Flash-Pufferbusgruppe FBDO<31:0> und die Puffer-Flashbusgruppe BFDI<31:0> Daten mit der Flashschnittstelle 200 aus.
  • Der Pufferspeicher 300 empfängt außerdem über eine Host-Pufferbusgruppe HBDI<15:0> Daten von der Hostschnittstelle 400 und überträgt über eine erste und eine zweite Puffer-Hostbusgruppe BHDOM<15:0> und BHDOL<15:0> Daten zur Hostschnittstelle 400. Die Hostschnittstelle 400 steuert die Datenübertragung zwischen der Hostbusgruppe HDIO<15:0> und dem Pufferspeicher 300.
  • 3 zeigt ein detaillierteres Blockdiagramm einer vorteilhaften Konfiguration der Flashschnittstelle 200 aus 1. Die Flashschnittstelle 200 umfasst in diesem Beispiel erste bis n-te Flasheingabepuffer 210, 220, 230, ..., welche in einem Eingabepfad IN200 angeordnet sind, über den Daten vom Pufferspeicher 300 zum Flashspeicher 100 übertragen werden, wobei die Puffer 210, 220, 230, ... einen Datenübertragungsvorgang vom Pufferspeicher 300 zum Flashspeicher 100 in Stufen ausführen. Hierbei ist n eine positive ganze Zahl größer als 2. Zur Vereinfachung der Beschreibung ist das Ausführungsbeispiel der Flashschnittstelle 200 mit einem ersten, zweiten und dritten Flasheingabepuffer 210, 220 und 230 ausgeführt.
  • Zudem umfasst die Flashschnittstelle 200 einen Flashausgabepuffer 260 und einen Flashausgabemultipiexer 270, die in einem Ausgabepfad OUT200 angeordnet sind, über den Daten vom Flashspeicher 100 zum Pufferspeicher 300 übertragen werden. Weiter umfasst die Flashschnittstelle 200 einen Steuertaktgenerator 280. Übertragungssteuertaktsignale RCLK1 bis RCLKn werden vom Steuertaktgenerator 280 an die Flasheingabepuffer 210, 220 und 230, den Flashausgabepuffer 260 und den Flashausgabemultipiexer 270 angelegt.
  • 4 zeigt ein detaillierteres Blockdiagramm einer vorteilhaften Realisierung der ersten bis dritten Flasheingabepuffer 210, 220 und 230, die im Eingabepfad IN200 aus 3 enthalten sind. Wie aus 4 ersichtlich ist, umfasst der erste Flasheingabepuffer 210 vier erste Datenzwischenspeicher 211 bis 214 und einen ersten Zwischenspeicherauswahlzähler 219. Die ersten Datenzwischenspeicher 211 bis 214 stellen in Reaktion auf vier sequentielle Taktimpulse des ersten Übertragungssteuertaktsignals RCLK1 Daten für je eine erste Eingabe-Pufferbusgruppe RDIN1<31:0>, RDIN1<63:32>, RDIN1<95:64> bzw. RDIN1<127:96> zur Verfügung. Der erste Zwischenspeicherauswahlzähler 219 erzeugt vier erste Zwischenspeicherzählsignale RCNA0 bis RCNA3 und zählt die Anzahl von Taktimpulsen des ersten Übertragungssteuertaktsignals RCLK1. Die ersten Zwischenspeicherzählsignale RCNA0 bis RCNA3 steuern die entsprechenden Datenübertragungsvorgänge zu den ersten Datenzwischenspeichern 211 bis 214.
  • Der zweite Flasheingabepuffer 220 umfasst zwei zweite Datenzwischenspeicher 221 und 222 und einen zweiten Zwischenspeicherauswahlzähler 229. Die zweiten Datenzwischenspeicher 221 und 222 stellen in Reaktion auf zwei sequentielle Taktimpulse des zweiten Übertragungssteuertaktsignals RCLK2 Daten für je eine zweite Eingabe-Pufferbusgruppe RDIN2<63:0> bzw. RDIN2<127:64> zur Verfügung. Der zweite Zwischenspeicherauswahlzähler 229 erzeugt zwei zweite Zwischenspeicherzählsignale RCNB0 und RCNB1 und zählt die Anzahl von Taktimpulsen des zweiten Übertragungssteuertaktsignals RCLK2. Die zweiten Zwischenspeicherzählsignale RCNB0 und RCNB1 steuern die entsprechenden Datenübertragungsvorgänge zu den zweiten Datenzwischenspeichern 221 und 222.
  • Der dritte Flasheingabepuffer 230 umfasst einen dritten Datenzwischenspeicher 231. Der dritte Datenzwischenspeicher 231 stellt zu jedem Impuls des dritten Übertragungssteuertaktsignals RCLK3 Daten für eine dritte Eingabe-Pufferbusgruppe RDIN3<127:0> zur Verfügung.
  • Im gezeigten Beispiel sind die Taktsignalperioden der ersten bis dritten Übertragungssteuertaktsignale RCLK1 bis RCLK3 gleich 20 ns, 40 ns bzw. 80 ns. Zudem sind die Busbreiten IBW1 bis IBW3 der ersten bis dritten Eingabe-Pufferbusgruppen RDIN1 bis RDIN3 gleich 32 Bit, 64 Bit bzw. 128 Bit.
  • Verallgemeinert umfasst eine erfindungsgemäße Ausführungsform einen i-ten Flasheingabepuffer mit 2 ≤ i ≤ n, wobei der i-te Flasheingabepuffer wenigstens über eine Anzahl Ni von Eingabe-Pufferbusgruppen RDINi Daten zur Verfügung stellt. Eine Busbreite IBWi der i-ten Eingabe-Pufferbusgruppe RDINi ist größer als eine Busbreite IBW(i–1) der (i-1)-ten Eingabe-Pufferbusgruppe RDIN(i–1), welche vom (i–1)-ten Flasheingabepuffer abführt. Die Taktperiode Ti des i-ten Übertragungssteuertaktsignals RCLKi ist länger als die Taktperiode T(i–1) des (i–1)-ten Übertragungssteuertaktsignals RCLK(i–1). Zudem kann die Anzahl Ni der i-ten Eingabe-Pufferbusgruppen durch eine Division der Busbreite FW der Flashbusgruppe FDI<127:0> durch die Busbreite IBWi der i-ten Eingabe-Pufferbusgruppe RDINi ermittelt werden, d. h. Ni = FW/IBWi.
  • Vorzugsweise ist die Busbreite IBWi der i-ten Eingabe-Pufferbusgruppe RDINi doppelt so groß wie die Busbreite IBW(i–1) der (i–1)-ten Eingabe-Pufferbusgruppe RDIN(i–1). Die Taktperiode Ti des i-ten Übertragungssteuertaktsignals RCLKi wird vorzugsweise ebenfalls auf den doppelten Wert der Taktperiode T(i–1) des (1–1)-ten Übertragungssteuertaktsignals RCLK(i–1) eingestellt.
  • Hierbei korrespondiert die n-te Eingabe-Pufferbusgruppe RDINn mit der Flashbusgruppe FDI<127:0> und das n-te Übertragungssteuertaktsignal RCLKn korrespondiert mit dem Flashtaktsignal FCLK. Im gezeigten Ausführungsbeispiel korrespondiert die dritte Eingabe-Pufferbusgruppe RDIN3 mit der Flashbusgruppe FDI<127:0> und das dritte Übertragungssteuertaktsignal RCLK3 korrespondiert mit dem Flashtaktsignal FCLK.
  • 5 zeigt ein Zeitablaufdiagramm zur Darstellung eines Datenübertragungsvorgangs durch die ersten bis dritten Flasheingabepuffer 210, 220 und 230 gemäß 4. Zuerst entspricht, unter Betrachtung der ersten bis dritten Übertragungssteuertaktsignale RCLK1 bis RCLK3 aus 5, die Taktperiode des ersten Übertragungssteuertaktsignals RCLK1 der halben Taktperiode des zweiten Übertragungssteuertaktsignals RCLK2, während die Taktperiode des dritten Übertragungssteuertaktsignals RCLK3 doppelt so groß wie die Taktperiode des zweiten Übertragungssteuertaktsignals RCLK2 ist. In anderen Worten ausgedrückt sind die Taktperioden des ersten und dritten Übertragungssteuertaktsignals RCLK1, RCLK3 gleich 20 ns bzw. 80 ns, wenn die Taktperiode des zweiten Übertragungssteuertaktsignals RCLK2 gleich 40 ns ist.
  • Zudem steigt oder fällt das zweite Übertragungssteuertaktsignal RCLK2 in Reaktion auf eine abfallende Flanke des ersten Übertragungssteuertaktsignals RCLK1. Zusätzlich steigt oder fällt das dritte Übertragungssteuertaktsignal RCLK3 in Reaktion auf eine abfallende Flanke des zweiten Übertragungssteuertaktsignals RCLK2.
  • Wie aus 5 ersichtlich ist, werden die ersten bis dritten Übertragungssteuertaktsignale RCLK1 bis RCLK3 vom Steuertaktgenerator 280 aus 3 zur Verfügung gestellt, der nachfolgend unter Bezugnahme auf 8 bis 11 detaillierter beschrieben wird.
  • Wie weiter aus 5 ersichtlich ist, erzeugt der erste Zwischenspeicherauswahlzähler 219 aus 4 die vier ersten Zwischenspeicherzählsignale RCNA0 bis RCNA3 durch Zählen der Anzahl von Taktimpulsen des ersten Übertragungssteuertaktsignals RCLK1. In anderen Worten ausgedrückt, die ersten Zwischenspeicherzählsignale RCNA0 bis RCNA3 werden jeweils in Reaktion auf vier sequentielle Taktimpulse des ersten Übertragungssteuertaktsignals RCLK1 aktiviert. Auf diese Weise wird jedes der ersten Zwischenspeicherzählsignale nach jeweils vier Taktperioden des ersten Übertragungssteuertaktsignals RCLK1 aktiviert. Im Detail wird das erste Zwischenspeicherzählsignal RCNA0, welches den ersten Datenzwischenspeicher 211 im oberen Teil der 4 steuert, in Reaktion auf den Taktimpuls 0 und den Taktimpuls 4 des ersten Übertragungssteuertaktsignals RCLK1 aktiviert und in Reaktion auf den Taktimpuls 1 und den Taktimpuls 5 des ersten Übertragungssteuertaktsignals RCLK1 deaktiviert. Der erste Datenzwischenspeicher 211 hält Daten, welche in Reaktion auf eine ansteigende Flanke von jedem Taktimpuls des ersten Übertragungssteuertaktsignals RCLK1 vom Pufferspeicher 300 übertragen werden. Korrespondierend werden die im ersten Datenzwischenspeicher 211 gehaltenen Daten in Reaktion auf eine abfallende Flanke des ersten Zwischenspeicherzählsignals RCNA0 zur ersten Eingabe-Pufferbusgruppe RDIN1<31:0> übertragen. Dann überträgt die erste Eingabe-Pufferbusgruppe RDIN1<31:0> die zwischengespeicherten Daten in Reaktion auf den Taktimpuls 1 und den Taktimpuls 5 des ersten Übertragungssteuertaktsignals RCLK1 zum zweiten Datenzwischenspeicher 221.
  • Auf die gleiche Weise überträgt die erste Eingabe-Pufferbusgruppe RDIN1<63:32> in Reaktion auf den Taktimpuls 2 und den Taktimpuls 6 des ersten Übertragungssteuertaktsignals RCLK1 Daten vom ersten Datenzwischenspeicher 212 zum zweiten Datenzwischenspeicher 221. Die erste Eingabe-Pufferbusgruppe RDIN1<95:64> überträgt in Reaktion auf den Taktimpuls 3 und den Taktimpuls 7 des ersten Übertragungssteuertaktsignals RCLK1 Daten vom ersten Datenzwischenspeicher 213 zum zweiten Datenzwischenspeicher 222. Zudem überträgt die erste Eingabe-Pufferbusgruppe RDIN1<127:96> in Reaktion auf den Taktimpuls 4 und den Taktimpuls 8 des ersten Übertragungssteuertaktsignals RCLK1 Daten vom ersten Datenzwischenspeicher 214 zum zweiten Datenzwischenspeicher 222.
  • Daraus resultiert, dass die ersten Eingabe-Pufferbusgruppen RDIN1<31:0>, RDIN1<63:32>, RDIN1<95:64> und RDIN1<127:96> in einer Zeitspanne von 80 ns (4·20 ns) alle 128 Datenbits vom Pufferspeicher 300 zu den zweiten Datenzwischenspeichern 221 und 222 übertragen.
  • Wie weiter aus 5 ersichtlich ist, erzeugt der zweite Zwischenspeicherauswahlzähler 229 aus 4 die zwei zweiten Zwischenspeicherzählsignale RCNB0 und RCNB1 durch Zählen der Anzahl von Taktimpulsen des zweiten Übertragungssteuertaktsignals RCLK2. In anderen Worten ausgedrückt, die zweiten Zwischenspeicherzählsignale RCNB0 und RCNB1 werden jeweils in Reaktion auf zwei sequentielle Taktimpulse des zweiten Übertragungssteuertaktsignals RCLK2 aktiviert. Das bedeutet, dass jedes der zweiten Zwischenspeicherzählsignale nach Ablauf von zwei Taktzyklen des zweiten Übertragungssteuertaktsignals RCLK2 aktiviert wird. Im Detail wird das zweite Zwischenspeicherzählsignal RCNB0, welches den zweiten Datenzwischenspeicher 221 steuert, in Reaktion auf den Taktimpuls 1 und den Taktimpuls 3 des zweiten Übertragungssteuertaktsignals RCLK2 aktiviert und in Reaktion auf den Taktimpuls 2 und den Taktimpuls 4 des zweiten Übertragungssteuertaktsignals RCLK2 deaktiviert. Der zweite Datenzwischenspeicher 221 halt Daten, welche in Reaktion auf eine abfallende Flanke von jedem Taktimpuls des zweiten Übertragungssteuertaktsignals RCLK2 vom Pufferspeicher 300 übertragen werden. Korrespondierend werden die im zweiten Datenzwischenspeicher 221 gehaltenen Daten in Reaktion auf eine abfallende Flanke des zweiten Zwischenspeicherzählsignals RCNB0 zur zweiten Eingabe-Pufferbusgruppe RDIN2<63:0> übertragen. Dann überträgt die zweite Eingabe-Pufferbusgruppe RDIN2<63:0> die zwischengespeicherten Daten in Reaktion auf den Taktimpuls 2 und den Taktimpuls 4 des zweiten Übertragungssteuertaktsignals RCLK2 zum dritten Datenzwischenspeicher 231. In diesem Ausführungsbeispiel wird der Betrieb des zweiten Datenzwischenspeichers 221 in Reaktion auf eine abfallende Flanke des zweiten Übertragungssteuertaktsignals RCLK2 gesteuert, wodurch ein Datenübertragungsfehler sogar dann vermieden wird, wenn ein Versatz zwischen dem ersten und zweiten Übertragungssteuersignal RCLK1 und RCLK2 auftritt.
  • Die zweite Eingabe-Pufferbusgruppe RD1N2<127:64> überträgt in Reaktion auf den Taktimpuls 3 und den Taktimpuls 5 des zweiten Übertragungssteuertaktsignals RCLK2 Daten vom zweiten Datenzwischenspeicher 222 zum dritten Datenzwischenspeicher 231.
  • Daraus resultiert, dass die zweiten Eingabe-Pufferbusgruppen RDIN2<63:0> und RDIN2<127:64> in einer Zeitspanne von 80 ns (4·20 ns) alle 128 Datenbits von den ersten Datenzwischenspeichern 211 bis 214 zum dritten Datenzwischenspeicher 231 übertragen.
  • Wie weiter aus 5 ersichtlich ist, überträgt der dritte Datenzwischenspeicher 231 seine zwischengespeicherten Daten in Reaktion auf eine abfallende Flanke eines jeden Impulses des dritten Übertragungstaktsignals RCLK3 zur dritten Eingabe-Pufferbusgruppe RDIN3<127:0>. Daraus resultiert, dass die dritte Eingabe-Pufferbusgruppe RDIN1<127:0> in einer Zeitspanne von 80 ns, welche der Taktperiode des dritten Übertragungssteuertaktsignals RCLK3, d. h. des Flashtaktsignals FCLK, entspricht, alle 128 Datenbits von den zweiten Datenzwischenspeichern 221 und 222 zum Flashspeicher 100 überträgt.
  • Zusammenfassend werden über die Flashschnittstelle 200, welche die ersten bis dritten Flasheingabepuffer 210, 220 und 230 umfasst, alle 80 ns Daten in Gruppen von 128 Bit vom Pufferspeicher 300, welcher alle 20 ns der Flashschnittstelle 200 Daten in Gruppen von 32 Bit zur Verfügung stellt, zum Flashspeicher 100 übertragen.
  • 6 zeigt ein detaillierteres Blockdiagramm des Flashausgabepuffers 260 und des Flashausgabemultiplexers 270, welche im Ausgabepfad OUT200 aus 3 angeordnet sind. 7 zeigt ein Zeitablaufdiagramm zur Darstellung eines Datenübertragungsvorgangs durch den Flashausgabepuffer 260 und den Multiplexer 270 gemäß 6.
  • Unter Bezugnahme auf die 6 und 7 umfasst der Flashausgabepuffer 260 einen Ausgabepuffer 261, der in Reaktion auf das Flashtaktsignal FCLK, welches dem dritten Übertragungssteuertaktsignal RCLK3 entspricht, Daten vom Flashspeicher 100 über die Flashbusgruppe FDO<127:0> zu Ausgabe-Pufferbusgruppen RDO<31:0>, RDO<63:32>, RDO<95:64> und RDO<127:96> überträgt. In anderen Worten ausgedrückt, der Ausgabepuffer 261 sendet 128-Bit-Daten über die Ausgabe-Pufferbusgruppen RDO<31:0>, RDO<63:32>, RDO<95:64> und RDO<127:96> vom Flashspeicher 100 zum Flashausgabemultiplexer 270.
  • Der Flashausgabemultiplexer 270 umfasst einen Ausgabemultiplexer 271 und einen Multiplexerzähler 273. Der Multiplexerzähler 273 zählt Taktimpulse des ersten Übertragungssteuertaktsignals RCLK1 und erzeugt dann vier Multiplexerzählersignale MCN0 bis MCN3. In anderen Worten ausgedrückt, die Multiplexerzählersignale MCN0 bis MCN3 werden in Reaktion auf vier sequentielle Taktimpulse des ersten Übertragungssteuertaktsignals RCLK1 erzeugt. Auf diese Weise wird jedes der Multiplexerzählersignale jeweils nach vier Taktperioden des ersten Übertragungssteuertaktsignals RCLK1 aktiviert. Die Multiplexerzählersignale MCN0 bis MCN3 werden beispielsweise in Reaktion auf den Taktimpuls 1 und den Taktimpuls 5 des ersten Übertragungssteuertaktsignals RCLK1 aktiviert und in Reaktion auf den Taktimpuls 2 und den Taktsignalimpuls 6 des ersten Übertragungssteuertaktsignals RCLK1 deaktiviert.
  • Der Ausgabemultiplexer 271 reagiert auf jeden vierten Taktimpuls des ersten Übertragungssteuertaktsignals RCLK1, um eine der Ausgabe-Pufferbusgruppen in der Reihenfolge RDO<31:0>, RDO<63:32>, RDO<95:64> und RDO<127:96> auszuwählen. Zusätzlich wird der Ausgabemultiplexer 271 so betrieben, dass er selektiv Daten der Ausgabe-Pufferbusgruppen RDO<31:0>, RDO<63:32>, RDO<95:64> und RDO<127:96> für das externe System 10 über den Pufferspeicher 300 zur Verfügung stellt.
  • Im Detail überträgt der Ausgabemultiplexer 271 in Reaktion auf eine abfallende Flanke des Multiplexerzählersignals MCN0 Daten von der Ausgabe-Pufferbusgruppe RDO<31:0> zur Flash-Pufferbusgruppe FBDO<31:0>. Das bedeutet, wie aus 7 ersichtlich ist, dass der Ausgabemultiplexer 271 in Reaktion auf den Taktimpuls 2 und den Taktimpuls 6 des ersten Übertragungssteuertaktsignals RCLK1 Daten von der Ausgabe-Pufferbusgruppe RDO<31:0> zur Flash-Pufferbusgruppe FBDO<31:0> überträgt.
  • Analog überträgt der Ausgabemultiplexer 271 in Reaktion auf den Taktimpuls 3 und den Taktimpuls 7 des ersten Übertragungssteuertaktsignals RCLK1 Daten von der Ausgabe-Pufferbusgruppe RDO<63:32> zur Flash-Pufferbusgruppe FBDO<31:0>. Der Ausgabemultiplexer 271 überträgt in Reaktion auf den Taktimpuls 4 und den Taktimpuls 8 des ersten Übertragungssteuertaktsignals RCLK1 Daten von der Ausgabe-Pufferbusgruppe RDO<95:64> zur Flash-Pufferbusgruppe FBDO<31:0>. Zudem überträgt der Ausgabemultiplexer 271 in Reaktion auf den Taktimpuls 5 und den Taktimpuls 9 des ersten Übertragungssteuertaktsignals RCLK1 Daten von der Ausgabe-Pufferbusgruppe RDO<127:96> zur Flash-Pufferbusgruppe FBDO<31:0>.
  • Daraus resultiert, dass der Ausgabemultiplexer 271 während einer Zeitspanne von 80 ns (4·20 ns) Daten sequentiell von den vier Ausgabe-Pufferbusgruppen RDO<31:0>, RDO<63:32>, RDO<95:64> und RDO<127:96> zur Flash-Pufferbusgruppe FBDO<31:0> überträgt.
  • 8 zeigt im Blockdiagramm eine mögliche Realisierung des Steuertaktsignalgenerators 280 aus 3. Die ersten bis n-ten Übertragungssteuertaktsignale RCLK1 bis RCLKn werden, wie oben ausgeführt, vom Steuertaktgenerator 280 erzeugt. Wie aus 8 ersichtlich ist, umfasst der Steuertaktsignalgenerator 280 in diesem Beispiel einen Referenztaktgenerator 281 und einen Periodenmodulator 282. Der Referenztaktgenerator 281 erzeugt das j-te Übertragungssteuertaktsignal. Vorzugsweise ist j = (n + 1)/2, wenn n eine ungerade Zahl ist, und j = n/2, wenn n ein gerade Zahl ist. Im hier beschriebenen Ausführungsbeispiel ist j gleich 2, so dass der Referenztaktgenerator 281 das zweite Übertragungssteuertaktsignal RCLK2 erzeugt. Der Referenztaktgenerator 281 kann beispielsweise als Ringoszillator implementiert werden. Da die Struktur und die Funktionsweise eines solchen Taktgenerators allgemein bekannt sind, kann hier auf eine detaillierte Beschreibung des Referenztaktgenerators 281 verzichtet werden.
  • Der Periodenmodulator 282 verändert die Periode des zweiten Übertragungssteuertaktsignals RCLK2 und stellt die modulierte Periode für das erste und dritte Übertragungssteuertaktsignal RCLK1 und RCLK3 zur Verfügung. Der Periodenmodulator 282 umfasst einen Periodenverkürzungsblock 283, um das erste Übertragungssteuertaktsignal RCLK1 zu erzeugen, und einen Periodenverlängerungsblock 285, um das dritte Übertragungssteuertaktsignal RCLK3 zu erzeugen.
  • 9 zeigt ein detaillierteres Schaltbild eines Ausführungsbeispiels des Periodenverkürzungsblocks 283 aus 8. Wie aus 9 ersichtlich ist, umfasst der Periodenverkürzungsblock 283 in diesem Beispiel einen Flankendetektor 283a, der eine ansteigende Flanke detektiert, einen Flankendetektor 283b, der eine abfallende Flanke detektiert, und eine ODER-Schaltung 283c.
  • Der Flankendetektor 283a erzeugt ein Pulssignal, wenn eine ansteigende Flanke des zweiten Übertragungssteuertaktsignals RCLK2 detektiert wird. In anderen Worten ausgedrückt, eine ansteigende Flanke des Ausgabesignals PREA des Flankendetektors 283a wird nach einer vorgegebenen Verzögerungszeit in Reaktion auf eine ansteigende Flanke des zweiten Übertragungssteuertaktsignals RCLK2 erzeugt, wie anhand eines Übergangs tA1 in 11 ersichtlich ist. Andererseits wird eine abfallende Flanke des Ausgabesignals PREA des Flankendetektors 283a in Reaktion auf eine abfallende Flanke des zweiten Übertragungssteuertaktsignals RCLK2 ohne Verzögerung erzeugt, wie aus einem Übergang tA2 in 11 ersichtlich ist.
  • Der Flankendetektor 283b erzeugt ein Pulssignal, wenn eine abfallende Flanke des zweiten Übertragungssteuertaktsignals RCLK2 detektiert wird. in anderen Worten ausgedrückt, eine ansteigende Flanke des Ausgabesignals PREB des Flankendetektors 283b wird nach einer vorgegebenen Verzögerungszeit in Reaktion auf eine abfallende Flanke des zweiten Übertragungssteuertaktsignals RCLK2 erzeugt, wie aus einem Übergang tB1 in 11 ersichtlich ist. Andererseits wird eine abfallende Flanke des Ausgabesignals PREB des Flankendetektors 283b in Reaktion auf eine ansteigende Flanke des zweiten Übertragungssteuertaktsignals RCLK2 ohne Verzögerung erzeugt, wie aus einem Übergang tB2 in 11 ersichtlich ist.
  • Die ODER-Schaltung 283c führt eine logische Summierung der Ausgabesignale PREA und PREB der Flankendetektoren 283a und 283b durch und erzeugt die logische Summe als erstes Übertragungssteuertaktsignal RCLK1. Daher weist das erste Übertragungssteuertaktsignal RCLK1 die halbe Periodendauer des zweiten Übertragungssteuertaktsignals RCLK2 auf. Das erste Übertragungssteuertaktsignal RCLK1 aus 11 entspricht dem ersten Übertragungssteuertaktsignal RCLK1 aus den 5 und 7.
  • 10 zeigt im Schaltbild ein Ausführungsbeispiel des Periodenverlängerungsblocks 285 aus 8. Der Periodenverlängerungsblock 285 umfasst ein D-Flip-Flop 285a, welches an einem Taktsignaleingabeanschluss CK das invertierte zweite Übertragungssteuertaktsignal RCLK2 empfängt und das dritte Übertragungssteuertaktsignal RCLK3 an einem Ausgabeanschluss DQ erzeugt. Das D-Flip-Flop 285a empfängt eine Dateneingabe D1, die dem Inversen des dritten Übertragungssteuertaktsignals RCLK3 entspricht.
  • Daher wiederholt das dritte Übertragungssteuertaktsignal RCLK3 in Reaktion auf abfallende Flanken des zweiten Übertragungssteuertaktsignals RCLK2 logische Übergänge, wie aus 11 ersichtlich ist. Folglich ist die Periodendauer des dritten Übertragungssteuertaktsignals RCLK3 doppelt so lang wie die Periodendauer des zweiten Übertragungssteuertaktsignals RCLK2. Das dritte Übertragungssteuertaktsignal RCLK3 aus 11 entspricht dem dritten Übertragungssteuertaktsignal RCLK3 aus den 5 und 7.
  • 12 zeigt ein detaillierteres Blockdiagramm eines Ausführungsbeispiels des Pufferspeichers 300 aus 1. Wie aus 12 ersichtlich ist, umfasst der Pufferspeicher 300 in diesem Beispiel eine erste und zweite Temporärspeichereinheit 310 und 320 und einen Puffermultiplexer 330.
  • Die erste und zweite Temporärspeichereinheit 310 und 320 stellen Daten für die Hostschnittstelle 400 und die Flashschnittstelle 200 parallel zur Verfügung, welche mit der Busbreite der Hostbusgruppe HDIO<15:0> konsistent sind, d. h. 16 Bit. In einem Ausführungsbeispiel umfassen die erste und zweite Temporärspeichereinheit 310 und 320 jeweils eine SRAM-Einheit, die in der Lage sind, die Daten mit einer Breite zu speichern, welche mit der Busbreite der Hostbusgruppe HDIO<15:0> konsistent sind.
  • Der Puffermultiplexer 330 stellt selektiv Daten der Hostbusgruppe HDIO<15:0>, welche von der Hostschnittstelle 400 zur Verfügung gestellt werden, entweder der ersten oder der zweiten Temporärspeichereinheit 310 und 320 zur Verfügung. Zusätzlich stellt der Puffermultiplexer 330 Daten von der ersten und zweiten Temporärspeichereinheit 310 und 320 entweder der Hostschnittstelle 400 oder der Flashschnittstelle 200 zur Verfügung.
  • Nachfolgend wird die Funktionsweise des Puffermultiplexers 330 im Detail beschrieben. Der Puffermultiplexer 330 empfängt über die Hostbusgruppe HDIO<15:0> Daten von der Hostschnittstelle 400. Die an die Hostschnittstelle 400 angelegten Daten werden mittels eines ersten und zweiten Speicherfreigabesignals CSL und CSM selektiv der ersten oder zweiten Temporärspeichereinheit 310 und 320 zur Verfügung gestellt. In anderen Worten ausgedrückt, wenn das erste Speicherfreigabesignal CSL aktiv ist, werden die Daten der Hostschnittstelle 400 über eine erste SRAM-Speicherbusgruppe SDIL<15:0> zur ersten Temporärspeichereinheit 310 übertragen. Wenn das zweite Speicherfreigabesignal CSM aktiv ist, werden die Daten der Hostschnittstelle 400 über eine zweite SRAM-Speicherbusgruppe SDIM<15:0> zur zweiten Temporärspeichereinheit 320 übertragen.
  • Die Daten der Flash-Pufferbusgruppe FDBO<31:0>, welche von der Flashschnittstelle 200 zur Verfügung gestellt werden, werden als zwei Teile, die jeweils 16 Bits umfassen, in der ersten und zweiten Temporärspeichereinheit 310 und 320 gespeichert.
  • Zudem empfängt der Puffermultiplexer 330 über eine erste und eine zweite SRAM-Ausgabebusgruppe SDOL<15:0> und SDOM<15:0> Daten von der ersten und zweiten Temporärspeichereinheit 310 und 320. Die Daten der ersten und zweiten Temporärspeichereinheit 310 und 320 werden während eines Dateneingabevorgangs der Puffer-Flashbusgruppe BFDI<31:0> zur Verfügung gestellt und während eines Datenausgabevorgangs den Puffer-Hostbusgruppen BHDOM<15:0> und BHDOL<15:0> zur Verfügung gestellt.
  • Daher ist der Pufferspeicher 300 in der Lage, 32-Bit-Daten parallel mit der Flashschnittstelle 200 auszutauschen. Zudem empfängt der Pufferspeicher 300 16-Bit-Daten von der Hostschnittstelle 400 parallel und überträgt 32-Bit-Daten parallel zur Hostschnittstelle 400.
  • 13 zeigt ein detaillierteres Blockdiagramm eines Ausführungsbeispiels der Hostschnittstelle 400 aus 1. Wie aus 13 ersichtlich ist, umfasst die Hostschnittstelle 400 in diesem Beispiel einen Chipauswahlmultiplexer 410, einen Hostausgabemultiplexer 420 und einen Hosteingabe-/Hostausgabepuffer 430.
  • Der Chipauswahlmultiplexer 410 erzeugt das erste und zweite Speicherfreigabesignal CSL und CSM durch Demultiplexen eines Chipfreigabesignals CS, welches vom externen System 10 zur Verfügung gestellt wird, in Reaktion auf eine vorgegebene Auswahladresse ADD0. Das erste und zweite Speicherfreigabesignal CSL und CSM werden an den Puffermultiplexer 330 angelegt und steuern die Auswahl der ersten bzw. zweiten Temporärspeichereinheit 310, 320.
  • Der Hostausgabemultiplexer 420 wählt in Reaktion auf die Auswahladresse ADD0 eine der Datengruppen aus, welche von der ersten und zweiten Temporärspeichereinheit 310 und 320 zur Verfügung gestellt werden. Die durch den Hostausgabemultiplexer 420 ausgewählte Datengruppe wird über eine gemeinsame Ausgabebusgruppe BDO<15:0> zum externen System 10 übertragen.
  • Der Hosteingabe-/Hostausgabepuffer 430 puffert Daten, welche vom externen System 10 über die Hostbusgruppe HDIO<15:0> zur Verfügung gestellt werden, und stellt die gepufferten Daten dann dem Pufferspeicher 300 zur Verfügung. Zudem puffert der Hosteingabe-/Hostausgabepuffer 430 Daten vom Pufferspeicher 300, welche über die gemeinsame Ausgabebusgruppe BDO<15:0> zur Verfügung gestellt werden, und stellt die gepufferten Daten über die Hostbusgruppe HDIO<15:0> dann dem externen System 10 zur Verfügung.
  • Durch die oben beschriebene Hostschnittstelle 400 können die n-Bit-Daten, z. B. 16-Bit-Daten, des externen Systems 10 parallel mit der Datenspeichervorrichtung ausgetauscht werden, d. h. gesendet und/oder empfangen werden.
  • Ausführungsformen der Erfindung führen Datenaustauschvorgänge zwischen dem Flashspeicher und dem externen System beispielhaft über den Pufferspeicher aus. Es sind jedoch auch Datenübertragungsvorgänge zwischen dem Flashspeicher und dem externen System ohne den Pufferspeicher möglich.
  • Wie oben ausgeführt Ist, umfasst die erfindungsgemäße Flashdatenspeichervorrichtung mehrstufige Flasheingabepuffer, in denen die Datenbusbreite stufenweise erhöht wird und eine Periodendauer eines Steuertaktes stufenweise verlängert wird. Diese Konfiguration ermöglicht beispielsweise, dass 16-Bit-Daten in einer Zeitspanne von 20 ns ausgetauscht werden können, während ein paralleler Zugriffsvorgang von 128-Bit-Daten auf den eingebetteten Flashspeicher innerhalb einer Zeitspanne von 80 ns möglich ist. Die Erfindung verbessert in vorteilhafter Weise die Übertragungsgeschwindigkeit bzw. die Datenrate zwischen einem externen System und einem in der Flashdatenspeichervorrichtung eingebetteten Flashspeicher.

Claims (14)

  1. Flashdatenspeichervorrichtung, die mit einem externen System (10) über eine Hostbusgruppe (HDIO) parallel Daten austauscht, mit – einem Flashspeicher (100), der Daten über eine Flashbusgruppe (FDO, FDI) austauscht, wobei eine Busbreite (FW) der Flashbusgruppe (FDO, FDI) größer als eine Busbreite (HW) der Hostbusgruppe (HDIO) ist und die Busbreite eine Anzahl von Busleitungen repräsentiert, die Daten in Reaktion auf ein gleiches Taktsignal parallel austauschen, und – einer Flashschnittstelle (200), die einen Datenübertragungsbetrieb der Flashbusgruppe (FDO, FDI) steuert, dadurch gekennzeichnet, dass – die Flashschnittstelle (200) erste bis n-te Flasheingabepuffer (210, 220, 230) umfasst, die in Reaktion auf erste bis n-te Übertragungssteuertaktsignale (RCLK1, RCLK2, RCLK3) Daten stufenweise zum Flashspeicher (100) übertragen, wobei n ≥ 2 ist, und – ein i-ter Flasheingabepuffer, wobei 2 ≤ i ≤ n ist, Daten über i-te Eingabe-Pufferbusgruppen (RDINi) zur Verfügung stellt, deren Anzahl mindestens so groß wie eine Anzahl Ni ist, wobei eine Busbreite (IBWi) einer jeden der i-ten Eingabe-Pufferbusgruppen breiter als eine Busbreite (IBW(i–1)) von jeder der (i–1)-ten Eingabe-Pufferbusgruppen ist und eine Periodendauer (Ti) des i-ten Übertragungssteuertaktsignals (RCLKi) länger als eine Periodendauer (T(i–1)) des (i–1)-ten Übertragungssteuertaktsignals (RCLK(i–1)) ist und die Anzahl Ni gleich der Busbreite (FW) der Flashbusgruppe (FDO, FDI) geteilt durch die Busbreite (IBWi) der i-ten Eingabe-Pufferbusgruppe ist.
  2. Flashdatenspeichervorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Busbreite (IBWi) der i-ten Eingabe-Pufferbusgruppe doppelt so breit wie die Busbreite (IBW(i–1)) der (i–1)-ten Eingabe-Pufferbusgruppe ist.
  3. Flashdatenspeichervorrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Periodendauer (Ti) des i-ten Übertragungssteuertaktsignals doppelt so lang wie die Periodendauer (T(i–1)) des (i–1)-ten Übertragungssteuertaktsignals ist.
  4. Flashdatenspeichervorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Flashschnittstelle (200) einen Steuertaktgenerator (280) umfasst, welcher das erste bis n-te Übertragungssteuertaktsignal (RCLK1, RCLK2, RCLK3) zur Verfügung stellt.
  5. Flashdatenspeichervorrichtung nach Anspruch 4, dadurch gekennzeichnet, dass der Steuertaktgenerator (280) folgende Komponenten umfasst: – einen Referenztaktgenerator (281), welcher ein j-tes Übertragungssteuertaktsignal (RCLKj) erzeugt, und – einen Periodenmodulator (282), welcher eine Periodendauer des j-ten Übertragungssteuertaktsignals (RCLKj) variiert und das erste bis n-te Übertragungssteuertaktsignal (RCLK1, RCLK2, RCLK3) zur Verfügung stellt, – wobei j = (n + 1)/2 ist, wenn n eine ungerade Zahl ist, und j = n/2 ist, wenn n eine gerade Zahl ist.
  6. Flashdatenspeichervorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der i-te Flasheingabepuffer i-te Datenzwischenspeicher (211 bis 214, 221, 222, 231) umfasst, deren Anzahl gleich Ni ist und die für jede der i-ten Eingabe-Pufferbusgruppen (RDINi) in Reaktion auf jeden Ni-ten sequentiellen Taktimpuls des i-ten Übertragungssteuertaktsignals Daten zur Verfügung stellen.
  7. Flashdatenspeichervorrichtung nach Anspruch 6, dadurch gekennzeichnet, dass der i-te Flasheingabepuffer einen i-ten Zwischenspeicherauswahlzähler (219, 229) umfasst, welcher außer für den Fall, das i = n ist, Taktimpulse des i-ten Übertragungssteuertaktsignals zählt und i-te Zwischenspeicherzählsignale zur Verfügung stellt, deren Anzahl gleich Ni ist und welche Datenübertragungsvorgänge der i-ten Datenzwischenspeicher steuern.
  8. Flashdatenspeichervorrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die Flashschnittstelle (200) folgende Komponenten umfasst: – einen Flashausgabepuffer (260), der in Reaktion auf das n-te Übertragungssteuertaktsignal Daten vom Flashspeicher (100) zu einer Anzahl No von Ausgabe-Pufferbusgruppen (RDOi) überträgt, und – einen Flashausgabemultiplexer (270), der sequentiell je eine der Ausgabe-Pufferbusgruppen auswählt und Daten von der ausgewählten Ausgabe-Pufferbusgruppe in Reaktion auf jeden No-ten Taktimpuls des ersten Übertragungssteuertaktsignals (RCLK1) für das externe System (10) ausgibt.
  9. Flashdatenspeichervorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass der Flashausgabemultiplexer (270) folgende Komponenten umfasst: – einen Ausgabemultiplexer (271), der sequentiell je eine der No Ausgabe-Pufferbusgruppen auswählt, und – einen Multiplexerzähler (273), der die Taktimpulse des ersten Übertragungssteuertaktsignals (RCLK1) zählt und Multiplexerzählersignale zur Verfügung stellt, deren Anzahl gleich No ist und welche die Ausgabe-Pufferbusgruppe auswählen.
  10. Flashdatenspeichervorrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass ein Pufferspeicher (300), der temporär Daten speichert, und eine Hostschnittstelle (400), die eine Datenübertragung zwischen der Hostbusgruppe (HDIO) und dem Pufferspeicher (300) steuert, vorgesehen sind und die Flashschnittstelle (200) eine Datenübertragung zwischen der Flashbusgruppe (FDO, FDI) und dem Pufferspeicher (300) steuert.
  11. Flashdatenspeichervorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass der Pufferspeicher (300) folgende Komponenten umfasst: – eine erste und zweite Temporärspeichereinheit (310, 320), welche jeweils Daten mit der Hostschnittstelle (400) und der Flashschnittstelle (200) austauschen, die eine Datenbreite der Hostbusgruppe (HDIO) aufweisen, und – einen Puffermultiplexer (330), welcher Daten der Hostbusgruppe (HDIO) von der Hostschnittstelle (400) der ersten oder zweiten Temporärspeichereinheit (310, 320) zur Verfügung stellt und Daten von der ersten und zweiten Temporärspeichereinheit (310, 320) der Hostschnittstelle (400) oder der Flashschnittstelle (200) zur Verfügung stellt.
  12. Flashdatenspeichervorrichtung nach Anspruch 11, dadurch gekennzeichnet, dass die erste und zweite Temporärspeichereinheit (310, 320) jeweils einen SRAM umfassen, der Daten mit einer Busbreite der Hostbusgruppe speichert.
  13. Flashdatenspeichervorrichtung nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass die Hostschnittstelle (400) einen Chipauswahlmultiplexer (410) umfasst, der durch Demultiplexen eines Chipfreigabesignals (CS), das vom externen System (10) in Reaktion auf eine Auswahladresse zur Verfügung gestellt wird, ein erstes und zweites Speicherfreigabesignal (CSL, CSM) für den Puffermultiplexer (330) erzeugt, wobei das erste Speicherfreigabesignal (CSL) Daten steuert, die der ersten Temporärspeichereinheit (310) vom externen System (10) zur Verfügung gestellt werden, und das zweite Speicherfreigabesignal (CSM) Daten steuert, die der zweiten Temporärspeichereinheit (320) vom externen System (10) zur Verfügung gestellt werden.
  14. Flashdatenspeichervorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass die Hostschnittstelle (400) einen Hostausgabemultiplexer (420) umfasst, welcher eine der von der ersten und zweiten Temporärspeichereinheit (310, 320) zur Verfügung gestellten Datengruppen auswählt und die ausgewählte Datengruppe dem externen System (10) zur Verfügung stellt.
DE102005051478.2A 2004-12-17 2005-10-24 Flashdatenspeichervorrichtung Active DE102005051478B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2004-0107676 2004-12-17
KR1020040107676A KR100666169B1 (ko) 2004-12-17 2004-12-17 플래쉬 메모리 데이터 저장장치

Publications (2)

Publication Number Publication Date
DE102005051478A1 DE102005051478A1 (de) 2006-07-06
DE102005051478B4 true DE102005051478B4 (de) 2014-02-27

Family

ID=36590684

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005051478.2A Active DE102005051478B4 (de) 2004-12-17 2005-10-24 Flashdatenspeichervorrichtung

Country Status (5)

Country Link
US (1) US7467251B2 (de)
JP (1) JP4870420B2 (de)
KR (1) KR100666169B1 (de)
CN (1) CN100514494C (de)
DE (1) DE102005051478B4 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250295B2 (en) 2004-01-05 2012-08-21 Smart Modular Technologies, Inc. Multi-rank memory module that emulates a memory module having a different number of ranks
KR100606242B1 (ko) * 2004-01-30 2006-07-31 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치
KR100750154B1 (ko) * 2006-01-05 2007-08-21 삼성전자주식회사 데이터를 플래쉬 메모리에 저장하는 방법 및 장치
TWI326028B (en) 2006-11-20 2010-06-11 Silicon Motion Inc Method for flash memory data management
CN100458751C (zh) * 2007-05-10 2009-02-04 忆正存储技术(深圳)有限公司 并行闪存控制器
US8301833B1 (en) 2007-06-01 2012-10-30 Netlist, Inc. Non-volatile memory module
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
US8904098B2 (en) 2007-06-01 2014-12-02 Netlist, Inc. Redundant backup using non-volatile memory
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
EP2068561A1 (de) * 2007-11-29 2009-06-10 Deutsche Thomson OHG Verfahren und Vorrichtung zur Aufzeichnung von Rahmen
EP2110753A1 (de) * 2008-04-14 2009-10-21 Deutsche Thomson OHG Verfahren zum Lagern eines Objekts in einer Lagervorrichtung
US20090327535A1 (en) * 2008-06-30 2009-12-31 Liu Tz-Yi Adjustable read latency for memory device in page-mode access
CN101677019B (zh) * 2008-09-18 2014-07-16 深圳市朗科科技股份有限公司 闪存的流水线读取方法及系统
CN102023945B (zh) * 2009-09-22 2012-03-28 鸿富锦精密工业(深圳)有限公司 基于串行外围设备接口总线的设备及其数据传输方法
US10838646B2 (en) 2011-07-28 2020-11-17 Netlist, Inc. Method and apparatus for presearching stored data
US10380022B2 (en) 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
US10198350B2 (en) 2011-07-28 2019-02-05 Netlist, Inc. Memory module having volatile and non-volatile memory subsystems and method of operation
BR102012008776A8 (pt) * 2012-04-13 2017-07-25 Mediatek Inc Controlador flash serial, memória flash serial, e método dos mesmos
JP5801158B2 (ja) * 2011-10-21 2015-10-28 ラピスセミコンダクタ株式会社 Ram記憶装置
US9286472B2 (en) 2012-05-22 2016-03-15 Xockets, Inc. Efficient packet handling, redirection, and inspection using offload processors
US9495308B2 (en) 2012-05-22 2016-11-15 Xockets, Inc. Offloading of computation for rack level servers and corresponding methods and systems
US9378161B1 (en) 2013-01-17 2016-06-28 Xockets, Inc. Full bandwidth packet handling with server systems including offload processors
US9348638B2 (en) 2013-01-17 2016-05-24 Xockets, Inc. Offload processor modules for connection to system memory, and corresponding methods and systems
US10372551B2 (en) 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9436600B2 (en) 2013-06-11 2016-09-06 Svic No. 28 New Technology Business Investment L.L.P. Non-volatile memory storage for multi-channel memory system
US10248328B2 (en) 2013-11-07 2019-04-02 Netlist, Inc. Direct data move between DRAM and storage on a memory module
EP3159805B1 (de) * 2015-10-19 2020-04-15 Nxp B.V. Periphere steuereinheit
CN106328183B (zh) * 2016-09-23 2018-08-31 山东师范大学 一种改进的存储器系统及方法
US11513976B2 (en) * 2020-03-31 2022-11-29 Western Digital Technologies, Inc. Advanced CE encoding for bus multiplexer grid for SSD

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295246B2 (en) * 1998-12-07 2001-09-25 Micron Technology, Inc. Method for receiving data from a storage device
US20020013874A1 (en) * 2000-06-27 2002-01-31 Hans-Joachim Gelke Integrated circuit with flash
US6401161B1 (en) * 1999-04-15 2002-06-04 Dell Products, Lp High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438549A (en) * 1994-02-28 1995-08-01 Intel Corporation Nonvolatile memory with volatile memory buffer and a backup power supply system
US5487092A (en) * 1994-12-22 1996-01-23 International Business Machines Corporation System for high-speed synchronization across clock domains
JPH08263217A (ja) * 1995-03-20 1996-10-11 Fujitsu Ltd 情報処理装置におけるデータバッファ制御方法及び装置
KR100222908B1 (ko) 1996-01-26 1999-10-01 사토 히로시 플래시 메모리 시스템
JPH09231130A (ja) * 1996-02-26 1997-09-05 Mitsubishi Electric Corp マイクロコンピュータ
JP3188840B2 (ja) * 1996-06-14 2001-07-16 インターナショナル・ビジネス・マシーンズ・コーポレ−ション コンピュータ・システムに用いられる周辺装置及びその制御方法
US5926838A (en) * 1997-03-19 1999-07-20 Micron Electronics Interface for high speed memory
KR19980083459A (ko) * 1997-05-15 1998-12-05 윤종용 데이터버스 사이즈 조정 장치
KR100285967B1 (ko) 1998-10-20 2001-04-16 윤덕용 플래쉬 메모리를 이용한 데이터 저장장치 및 방법
US6256685B1 (en) * 1998-11-23 2001-07-03 Adaptec, Inc. Delay data block release system in a disk drive
JP2000215679A (ja) * 1999-01-18 2000-08-04 Taito Corp 半導体記憶装置
KR100336744B1 (ko) 1999-03-18 2002-05-13 박종섭 플래시 메모리의 라이트장치 및 방법
JP4141581B2 (ja) * 1999-04-05 2008-08-27 株式会社ルネサステクノロジ フラッシュメモリを搭載する記憶装置
KR20010105938A (ko) * 2000-05-19 2001-11-29 윤종용 플레쉬 메모리를 내장하는 마이크로 컨트롤러 유닛 및그의 인터리빙 방식을 이용한 메모리 억세스 제어 방법
KR20020029760A (ko) * 2000-06-27 2002-04-19 롤페스 요하네스 게라투스 알베르투스 집적 회로 시스템
TW507128B (en) * 2001-07-12 2002-10-21 Via Tech Inc Data memory controller supporting the data bus invert
JP2003208399A (ja) * 2002-01-15 2003-07-25 Hitachi Ltd データ処理装置
JP4082913B2 (ja) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
IES20030722A2 (en) * 2003-10-01 2005-04-06 Yqa Now Ltd A data storage device
US20050097263A1 (en) * 2003-10-31 2005-05-05 Henry Wurzburg Flash-memory card-reader to IDE bridge

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295246B2 (en) * 1998-12-07 2001-09-25 Micron Technology, Inc. Method for receiving data from a storage device
US6401161B1 (en) * 1999-04-15 2002-06-04 Dell Products, Lp High speed bus interface for non-volatile integrated circuit memory supporting continuous transfer
US20020013874A1 (en) * 2000-06-27 2002-01-31 Hans-Joachim Gelke Integrated circuit with flash

Also Published As

Publication number Publication date
KR20060068804A (ko) 2006-06-21
CN1790548A (zh) 2006-06-21
CN100514494C (zh) 2009-07-15
JP4870420B2 (ja) 2012-02-08
US20060136649A1 (en) 2006-06-22
JP2006172467A (ja) 2006-06-29
KR100666169B1 (ko) 2007-01-09
DE102005051478A1 (de) 2006-07-06
US7467251B2 (en) 2008-12-16

Similar Documents

Publication Publication Date Title
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE10212642B4 (de) Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung
DE60036777T2 (de) Gerät zur Signalsynchronisierung zwischen zwei Taktbereichen
DE602004007674T3 (de) Integrierte Schaltung mit bimodalem Daten-Strobe
DE10236696B4 (de) Taktsynchrone Halbleiterspeichervorrichtung
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE69906793T2 (de) Verfahren und anordnung für hochgeschwindigkeitsdatenerfassung mit korrektur der bit-zu-bit-zeitgebung und speicheranordnung unter verwendung derselben
DE60002571T2 (de) Elastische schnittstelleanornung und verfahren dafür
DE60314347T2 (de) Betriebsmittelverwaltungsgerät
DE2953861C2 (de)
DE2855673C2 (de)
DE60214992T2 (de) Mehrbit-prefetch-ausgangsdatenweg
DE102006050233A1 (de) Speichermodul, Speichersteuereinheit, Speichersystem und Verfahren zum Steuern eines Speichersystems
DE2359178A1 (de) Speicheranordnung
DE69829039T2 (de) Signalverzögerungsvorrichtung zur Verwendung in Halbleiterspeichervorrichtung für verbesserte Operation in Burst-Betriebsart
DE102006036969A1 (de) Elektronischer Schaltkreis, Wrapper-Schaltkreis, Speichersystem und Koppelverfahren
DE112011105670T5 (de) Verschiebbarer Speicher, der Ringregister verwendet
EP0013697B1 (de) Auffrischung benötigendes seitenorganisiertes Speichersystem
DE19649704B4 (de) Synchrone Halbleiterspeichereinrichtung mit einer Ausgabesteuerschaltung mit reduzierter belegter Fläche
DE112004000140T5 (de) Kodierte Schreibmaske
DE4418862C1 (de) Speichervorrichtung mit Seitenwählfähigkeit und Speichersystem für seriellen Zugriff
DE60011629T2 (de) Speicher mit mehrfachen datenraten
DE3930313A1 (de) Vektorprozessor
DE69924081T2 (de) Vorrichtung, System und Verfahren zur Verringerung von Buszugriffskonflikten während aufeinanderfolgenden Lese-Schreib-Operationen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R020 Patent grant now final

Effective date: 20141128