DE60223752T2 - Datenübertragungssteurungsanordnung, Halbleiterspeicheranordnung und elektronisches Informationsgerät - Google Patents

Datenübertragungssteurungsanordnung, Halbleiterspeicheranordnung und elektronisches Informationsgerät Download PDF

Info

Publication number
DE60223752T2
DE60223752T2 DE60223752T DE60223752T DE60223752T2 DE 60223752 T2 DE60223752 T2 DE 60223752T2 DE 60223752 T DE60223752 T DE 60223752T DE 60223752 T DE60223752 T DE 60223752T DE 60223752 T2 DE60223752 T2 DE 60223752T2
Authority
DE
Germany
Prior art keywords
address
memory
data transfer
data
section
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
DE60223752T
Other languages
English (en)
Other versions
DE60223752D1 (de
Inventor
Haruyasu Yoshino-gun Fukui
Ken Tenri-shi Sumitani
Yasumichi Ikoma-shi Mori
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Application granted granted Critical
Publication of DE60223752D1 publication Critical patent/DE60223752D1/de
Publication of DE60223752T2 publication Critical patent/DE60223752T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

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)
  • Dram (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. GEBIET DER ERFINDUNG
  • Die Erfindung betrifft eine Datenübertragungs-Steuerungsvorrichtung zum Steuern von zwischen Speichern ausgeführten Datenübertragungsoperationen, einen Halbleiterspeicher mit dieser Datenübertragungs-Steuerungsvorrichtung sowie ein elektronisches Informationsgerät mit dem Halbleiterspeicher.
  • 2. BESCHREIBUNG DER EINSCHLÄGIGEN TECHNIK
  • Herkömmlicherweise ist, abweichend von einem Speicher wie einem DRAM (Dynamic Random Access Memory) oder einem SRAM (Static Random Access Memory), der in ihm gespeicherte Daten verliert, wenn er ausgeschaltet wird, ein nichtflüchtiger Halbleiterspeicher (ein nichtflüchtiger Speicher) dadurch gekennzeichnet, dass in Speicherzellen dieses nichtflüchtigen Speichers gespeicherte Daten selbst beim Ausschalten nicht verloren gehen. Zusätzlich zu einem Flashspeicher, der sich nun in Mobiltelefonen und dergleichen in weitem Gebrauch befindet, gehören zu Beispielen nichtflüchtiger Speichern, ein FRAM (Ferro-Electric Random Access Memory), der in jüngerer Zeit in IC-Karten oder dergleichen in Gebrauch kommt, ein MRAM (Magnetic Random Access Memory), der intensiv entwickelt wird, usw.
  • Hier werden nichtflüchtige Speicher, insbesondere Flashspeicher, beschrieben.
  • Im Allgemeinen ist in einem Flashspeicher die Operationsgeschwindigkeit einer Leseoperation, einer Schreiboperation mit einer Verifizieroperation und einer Löschoperation mit einer Verifizieroperation in der Reihenfolge dieser Operationen langsamer. Eine Leseoperation benötigt ungefähr 100 Nanosekunden (ns), eine Schreiboperation mit Verifizieroperation benötigt ungefähr 30 Mikrosekunden (μs), und eine Löschoperation mit Verifizieroperation benötigt unge fähr 500 Millisekunden (ms). Das heißt, dass bei einem Flashspeicher Schreib- und Löschoperationen außerordentlich viel Zeit im Vergleich zu einer Leseoperation benötigen.
  • Andererseits ist ein flüchtiger Halbleiterspeicher, wie er durch einen DRAM und einen SRAM repräsentiert ist, dahingehend von Nachteil, dass gespeicherte Information beim Ausschalten verloren geht. Jedoch zeigt ein nichtflüchtiger Halbleiterspeicher ein Merkmal dahingehend, dass die für eine Schreiboperation benötigte Zeitperiode im Wesentlichen der für eine Leseoperation benötigten Zeitperiode entspricht. Beispielsweise schließt ein SRAM sowohl Lese- als auch Schreiboperationen innerhalb von ungefähr 100 ns ab. Das heißt, dass ein SRAM Daten in einer Zeitperiode umschreiben kann, die beträchtlich kurz im Vergleich zur Zeitperiode ist, wie sie für Schreib- oder Leseoperationen bei einem Flashspeicher benötigt wird.
  • Herkömmlicherweise wurde zum Kompensieren des Nachteils eines Flashspeichers betreffend die lange für eine Schreiboperation benötigte Zeitperiode eine Seitenpuffertechnik verwendet. Wenn eine zentrale Verarbeitungseinheit (CPU) Daten verarbeitet, wird die Latenzperiode der CPU unvermeidlicherweise verlängert, da die Schreiboperation des Flashspeichers eine lange Zeitperiode benötigt. Wenn eine große Datenmenge in einen Flashspeicher zu schreiben ist, kann die CPU während der Schreiboperationen keinen anderen Prozess ausführen.
  • Demgemäß wurde zum scheinbaren Verkürzen der für eine Schreiboperation benötigten Zeitperiode ein Verfahren verwendet, bei dem ein Halbleiterspeicher mit einer Funktion realisiert ist, gemäß der Daten vorab in einen als Seitenpuffer bezeichneten nichtflüchtigen Halbleiterspeicher geschrieben werden, wie einen SRAM, bei dem die für eine Schreiboperation benötigte Zeitperiode kurz ist, wobei dann Datenchargen aus dem nichtflüchtigen Halbleiterspeicher in den Flashspeicher transferiert werden. Dies befreit die CPU von der Datenschreiboperation für den Flashspeicher, die eine lange Zeitperiode benötigt, so dass er einen anderen Prozess ausführen kann.
  • Bei dieser Seitenpuffertechnik wird eine Adresse im Seitenpuffer an eine beliebige Adresse im Flashspeicher gespiegelt. Daher gibt eine CPU, bei einer Befehlssequenz beim Schreiben von Daten in den Seitenpuffer, in einem ersten Zyklus einen Seitenpuffer-Schreibbefehl aus, sie gibt die Anzahl der Chargen von Übertragungsdaten (nachfolgend als "Übertragungsdatenanzahl") in einem zweiten Zyklus in den Seitenpuffer ein, und sie nimmt als Operand des Befehls einen Satz aus einer Adresse im Flashspeicher und einer Charge von in den Seitenpuffer zu schreibenden Daten in einem dritten Zyklus auf. Die Operation im dritten Zyklus wird in späteren Zyklen wiederholt ausgeführt, bis Sätze aus einer Adresse und einer Charge von Übertragungsdaten in solcher Weise eingegeben sind, dass die Anzahl der Sätze der im zweiten Zyklus eingegebenen Datenübertragungsanzahl entspricht. Die CPU gibt im letzten Zyklus einen Bestätigungsbefehl aus.
  • Durch Entnehmen der Übertragungsdatenanzahl aus dieser Befehlssequenz im zweiten Zyklus und durch Entnehmen einer Übertragungsstartadresse aus der Befehlssequenz und durch Einspeichern der entnommenen Übertragungsstartadresse im Seitenpuffer im dritten Zyklus verwendet eine Schreibzustandsmaschine (die eine Schaltung zum Steuern interner Operationen der Speichervorrichtung ist und hier auch als "WSM" bezeichnet wird) die Daten, d. h. Befehlsinformation zur Übertragungsdatenanzahl, die Übertragungsstartadresse usw., zum Ausführen der Operation einer Datenübertragung vom Seitenpuffer in den Flashspeicher.
  • Die 9 zeigt ein Beispiel der Primärstruktur einer Adressensteuerungsschaltung zur Verwendung bei der Seitenpuffertechnik. Gemäß der 9 steuert, wenn ein Befehl zum Übertragen von Daten von außen in die WSM eingegeben wird, diese eine Adressensteuerungsschaltung 105 zum Starten einer Datenübertragung vom Seitenpuffer in den Flashspeicher. Diese Datenübertragungsoperation wird nachfolgend detaillierter weiter beschrieben.
  • Wie es in der 9 dargestellt ist, steuert die WSM, bevor sie die Datenübertragungsoperation startet, die Adressensteuerungsschaltung 105 zum Speichern der Datenübertragungs-Startadresse in der eingegebenen Befehlsinformation über einen externen Adressenkontaktfleck A in einem Speicheradressregister 100, und sie speichert die Übertragungsdatenanzahl über einen Datenkontaktfleck D in einem Übertragungsdatenanzahlregister 102 ab.
  • Als Nächstes steuert die WSM das Speicheradressregister 100 zum Übertragen der gespeicherten Datenübertragungs-Startadresse des Flashspeichers über einen zwischen es und einen Speicheradressenzähler 101 geschalteten Übertragungsbus 120 an diesen Speicheradressenzähler 101. Dies ermöglicht es, dass ein Flashspeicherarraydecodierer 121 eine Decodieroperation in solcher Weise ausführt, dass eine Adresse in einem Flashspeicherarray, an das Daten über tragen werden, so eingestellt wird, dass es sich um eine Datenübertragungs-Startadresse handelt, während es ermöglicht wird, dass ein Seitenpufferdecodierer 122 eine Decodieroperation in solcher Weise ausführt, dass eine Adresse im Seitenpuffer, aus dem die Daten übertragen werden, als Übertragungsstartadresse eingestellt wird, d. h. als erste Adresse, an der in das Flashspeicherarray einzuschreibende Daten abgespeichert werden.
  • Als Nächstes wird ein Datenzähler 103 auf einen Anfangswert zurückgesetzt. Dann greift die WSM auf eine entsprechend der decodierten Adresse ausgewählte Speicherzelle zu, um Daten aus dem Seitenpuffer zu lesen und sie in eine Speicherzelle an der Übernahmeadresse im Flashspeicher zu schreiben.
  • Diese Operation realisiert eine Operation zum Schreiben von Daten vom Seitenpuffer in den Flashspeicher. Wenn die Operation zum Schreiben von Daten vom Seitenpuffer in den Flashspeicher für die decodierte Adresse abgeschlossen ist, inkrementiert die WSM den Speicheradressenzähler 101, so dass die Adresse sowohl im Seitenpuffer als auch im Flashspeicher auf die nächste Adresse aktualisiert wird (eine Adresse, die dadurch erhalten wird, dass ein Bit zur aktuellen Adresse addiert wird). In ähnlicher Weise wird der Datenzähler 103 inkrementiert.
  • Wie oben beschrieben, liest die WSM Daten an der aktualisierten Adresse des Seitenpuffers, und sie schreibt sie in eine Speicherzelle, die der aktualisierten Adresse des Flashspeichers entspricht.
  • Diese Operation wird wiederholt ausgeführt. Eine Vergleichsschaltung 111 vergleicht einen im Datenzähler 103 abgespeicherten Wert mit einem durch den Datenzähler 103 zwischengespeicherten Wert, wobei es sich um die von der WSM eingegebene Übertragungsdatenanzahl handelt. Wenn das Vergleichsergebnis einer Übereinstimmung entspricht, erkennt die WSM, dass die Abschlussadresse erreicht ist, um dadurch die Datenübertragung vom Seitenpuffer an den Flashspeicher abzuschließen.
  • Als Vorrichtungen zum Verwenden der oben beschriebenen Seitenpuffertechnik wurden ein Halbleiterspeicher, der eine Verringerung der Datenübertragungsrate durch Verringern eines Overheads während der Datenübertragung verringern kann ( japanische Patentoffenlegungsveröffentlichung Nr. 11-85609 , "Halbleiterspeicher und Verfahren zum Verwalten von in ihm gespeicherten Daten") und ein Speicher vorgeschlagen, der einen Hochgeschwindigkeits-Schreibzugriff auf Daten gemeinsam mit niedrigem Energieverbrauch realisieren kann ( japanische Patentoffenlegungsveröffentlichung Nr. 10-283768 , "Speicher und Verfahren zum Steuern des Datenempfangs, wenn die Taktsignalschwingung aufgehoben ist").
  • Ferner existiert ein Verfahren zur Datenübertragung zwischen zwei Speichern, das als Speicherdirektzugriffs (DMA = direct memory access) verfahren bezeichnet wird, bei dem Daten von einem Speicher zu einem anderen übertragen werden. Beim Speicherdirektzugriffsverfahren wird eine Übertragungsstartadresse über eine Controllerschaltung für direkten Speicherzugriff in ein Speicheradressregister geschrieben, und die Anzahl der zu übertragenden Wörter wird über eine Steuerschaltung in ein Wortzahlregister geschrieben. Nachdem Speicheradressdaten entsprechend der Adresse des Speicheradressregisters an einen anderen Speicher übertragen wurden, wird das Speicheradressregister hochgezählt, um den in ihm gespeicherten Wert um "1" zu erhöhen, und das Wortzahlregister wird heruntergezählt, um den in ihm gespeicherten Wert um "1" zu verringern. Diese Operation wird wiederholt ausgeführt, bis der im Wortzählerregister gespeicherte Wert null geworden ist.
  • Als oben beschriebenes Verfahren mit direktem Speicherzugriff wurde ein Speicheradressierverfahren vorgeschlagen, das den Hardwareumfang und die Softwarebelastung verringern kann ( japanische Patentoffenlegungsveröffentlichung Nr. 58-166581 ).
  • Bei einer Datenschreiboperation unter Verwendung des oben beschriebenen herkömmlichen Seitenpuffers werden Daten mit einer hohen Schreibgeschwindigkeit im Seitenpuffer zwischengespeichert, und Datenchargen werden gemeinsam vom Seitenpuffer an den Flashspeicher übertragen. Dieses Datenübertragungsverfahren soll die Zeitperiode verkürzen, die dazu erforderlich ist, Daten in den Flashspeicher zu schreiben.
  • Jedoch wird bei dieser Seitenpuffertechnik eine Adresse im Seitenpuffer an eine beliebige Adresse im Flashspeicher gespiegelt, weswegen keine spezielle Adresse im Seitenpuffer vorliegt, so dass keine wechselseitige Datenübertragung ausgeführt werden kann. Daher ist es bei der Seitenpuffertechnik auch nicht möglich, spezielle Daten zu lesen, die in den Seitenpuffer geschrieben sind.
  • Andererseits führt beim Verfahren mit direktem Speicherzugriff ein Zugriffscontroller eine Datenübertragung zwischen zwei Speicherarrays aus, die getrennt auf verschiedenen Halbleiterchips vorhanden sind, und daher ist die Anzahl der für die Datenübertragung erforderlichen Halbleiterchips erhöht, was die Fläche erhöht, auf der sie zu montieren sind. Ferner besteht ein Problem dahingehend, dass die Datenübertragungsdauer groß ist, da die Datenübertragung zwischen verschiedenen Halbleiterchips ausgeführt wird.
  • Angesichts dieser Probleme wurde ein Halbleiterspeicher vorgeschlagen, bei dem mehrere Speicherarrays so vorhanden sind, dass sie individuell betreibbar sind, und eine wechselseitige Datenübertragung zwischen den Speicherarrays gleichzeitig dadurch ausgeführt werden kann, dass Lese-/Schreiboperationen an getrennten Speicherarrays ausgeführt werden ( japanische Patentanmeldung Nr. 2000-176182 ).
  • Jedoch sind bei einem derartigen Halbleiterspeicher, um eine Datenübertragung auszuführen, getrennte Schaltkreise vorhanden, um eine Datenübertragung von einem ersten Speicherarray an ein zweites Speicherarray und umgekehrt auszuführen, und daher ist es nicht in Betracht gezogen, Daten zwischen Schaltkreisen gemeinsam zu nutzen. Daher ist die Layoutfläche eines Halbleiterchips erhöht, beispielsweise durch Anbringen mehrerer Sätze von Speicheradressregistern, die entsprechend einem Implementierungsverfahren ausschließlich für ein jeweiliges Speicherarray verwendet werden.
  • Das US-Patent Nr. 5,644,787 offenbart die Übertragung von Daten über einen Pufferspeicher zwischen einer ersten und einer zweiten externen Schnittstelle auf Grundlage von Tabellendaten, die durch eine CPU in einem Tabellenbereich eingetragen werden.
  • Das US-Patent Nr. 5,313,610 offenbart eine DMA-Steuerungsvorrichtung, die über einen bidirektionalen, internen n-Bit-Bus mit einem n-Bit-Adressenbus verbunden ist.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einer Erscheinungsform der Erfindung ist Folgendes geschaffen: eine Datenübertragungs-Steuerungsvorrichtung zum Steuern einer wechselseitigen Datenübertragung zwischen einem ersten und einem zweiten Speicherarray, die auf einem einzelnen Halbleiterchip vorhanden sind, auf Grundlage eines eingegebenen Steuerungsbefehls sowie Datenübertragungs-Startadressen und einer Datenübertragungs-Abschlussadresse des ersten und des zweiten Speicherarrays, mit: einem Befehlserkennungsabschnitt zum Erkennen des eingegebenen Steuerungsbefehls; einem ersten Adressenausgabeabschnitt zum Steuern der Ausgabe- und Speicherungsreihenfolge der Datenübertragungs-Startadressen und der Datenübertragungs-Abschlussadresse auf Grundlage des eingegebenen Steuerungsbefehls; einem ersten Speicheradresse-Speicherabschnitt zum Speichern der vom ersten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des ersten Speicherarrays; einem zweiten Speicheradresse-Speicherabschnitt zum Speichern der vom ersten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des zweiten Speicherarrays; einem dritten Speicheradresse-Speicherabschnitt zum Speichern der vom ersten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Abschlussadresse; und einem ersten Vergleichszieladresse-Umschaltabschnitt zum Ausführen eines Umschaltvorgangs von einer für einen Vergleich mit der Datenübertragungs-Abschlussadresse vorgesehenen Speicheradresse auf eine Speicheradresse, die entweder dem ersten oder dem zweiten Speicherarray entspricht, um den Abschluss einer Datenübertragung auf Grundlage des eingegebenen Steuerungsbefehls zu erkennen, wobei die wechselseitige Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage sequenziell inkrementierter Adresswerte des ersten und des zweiten Speicheradresse-Speicherabschnitts ausgeführt wird.
  • Gemäß einer Ausführungsform der Erfindung gibt der erste Adressenausgabeabschnitt eine Datenübertragungs-Startadresse des ersten Speicherarrays, eine Datenübertragungs-Abschlussadresse des ersten Speicherarrays und eine Datenübertragungs-Startadresse des zweiten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in dieser Speicherreihenfolge aus, oder er gibt die Datenübertragungs-Startadresse des zweiten Speicherarrays, die Datenübertragungs-Abschlussadresse des zweiten Speicherarrays und die Datenübertragungs-Startadresse des ersten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in der Speicherreihenfolge aus, wobei die Datenübertragungs-Steuerungsvorrichtung ferner Folgendes aufweist: einen ersten Speicheradresse-Zählerabschnitt zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einen ersten Speicheradresse-Übertragungsabschnitt zum Übertragen der Datenübertragungs-Startadresse vom ersten Speicheradresse-Speicherabschnitt an den ersten Speicheradresse-Zählerabschnitt; einen zweiten Speicheradresse-Zählerabschnitt zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einen zweiten Speicheradresse-Übertragungsabschnitt zum Übertragen der Datenübertragungs-Startadresse vom zweiten Speicheradresse-Speicherabschnitt an den zweiten Speicheradresse-Zählerabschnitt; einen ersten Vergleichsabschnitt zum Vergleichen des Werts der Datenübertragungs-Abschlussadresse und des Werts des ersten oder zweiten Speicheradresse-Zählerabschnitts; wobei der erste Vergleichszieladresse-Umschaltabschnitt einen Umschaltvorgang zwischen Werten des ersten und des zweiten Speicheradresse-Zählerabschnitts, die für den Vergleich mit der Datenübertragungs-Abschlussadresse vorgesehen sind, auf Grundlage des eingegebenen Steuerungsbefehls steuert, um den Wert der Datenübertragungs-Abschlussadresse mit einem der Werte vom ersten und zweiten Speicheradresse-Zählerabschnitt zu vergleichen; und einen ersten Datenübertragungs-Steuerungsabschnitt zum Ausführen der wechselseitigen Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage von Adresswerten, wie sie im ersten und zweiten Speicheradresse-Zählerabschnitt eingetragen sind, und zum Abschließen der wechselseitigen Datenübertragung auf Grundlage eines durch den ersten Vergleichsabschnitt erzielten Vergleichsergebnisses.
  • Gemäß einer anderen Erscheinungsform der Erfindung ist Folgendes geschaffen: eine Datenübertragungs-Steuerungsvorrichtung zum Steuern einer wechselseitigen Datenübertragung zwischen einem ersten und einem zweiten Speicherarray, die auf einem einzelnen Halbleiterchip vorhanden sind, auf Grundlage eines eingegebenen Steuerungsbefehls, Datenübertragungs-Startadressen und einer Datenübertragungs-Abschlussadresse des ersten und des zweiten Speicherarrays, und der Anzahl zu übertragender Datenchargen, mit: einem Befehlserkennungsabschnitt zum Erkennen des eingegebenen Steuerungsbefehls; einem zweiten Adressenausgabeabschnitt zum Steuern der Ausgabe- und Speicherreihenfolge der Datenübertragungs-Startadressen und der Datenübertragungs-Abschlussadresse auf Grundlage des eingegebenen Steuerungsbefehls; einem ersten Speicheradresse-Speicherabschnitt zum Speichern der vom zweiten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des ersten Speicherarrays; einem zweiten Speicheradresse-Speicherabschnitt zum Speichern der vom zweiten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des zweiten Speicherarrays; einem Übertragungsdatenanzahl-Speicherabschnitt zum Speichern der Anzahl der zu übertragenden Datenchargen, wie vom zweiten Adressenausgabeabschnitt ausgegeben; einem Datenzählerabschnitt zum Inkrementieren der Anzahl der Datenchargen für jede Datenübertragungseinheit; einem zweiten Vergleichsabschnitt zum Vergleichen der Anzahl der Datenchargen mit dem Wert des Datenzählerabschnitts; und einem zweiten Datenübertragungs-Steuerungsabschnitt zum Ausführen der wechselseitigen Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage von Werten, die durch sequenzielles Inkrementieren von Adresswerten des ersten und des zweiten Speicheradresse-Speicherabschnitts erhalten werden, und zum Abschließen der wechselseitigen Datenübertragung auf Grundlage eines durch den zweiten Vergleichsabschnitt erzielten Vergleichsergebnisses.
  • Bei einer Ausführungsform der Erfindung gibt der zweite Adressenausgabeabschnitt eine Datenübertragungs-Startadresse des ersten Speicherarrays, die Anzahl zu übertragender Datenchargen und eine Datenübertragungs-Startadresse des zweiten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in dieser Speicherreihenfolge aus, oder er gibt die Datenübertragungs-Startadresse des zweiten Speicherarrays, die Anzahl zu übertragender Datenchargen und die Datenübertragungs-Startadresse des ersten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in dieser Speicherreihenfolge aus, wobei die Datenübertragungs-Steuerungsvorrichtung ferner mit Folgendem versehen ist: einem ersten Speicheradresse-Zählerabschnitt zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einem ersten Speicher-Adresse-Übertragungsabschnitt zum Übertragen der Datenübertragungs-Startadresse vom ersten Speicheradresse-Speicherabschnitt an den ersten Speicheradresse-Zählerabschnitt; einem zweiten Speicheradresse-Zählerabschnitt zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einem zweiten Speicheradresse-Übertragungsabschnitt zum Übertragen der Datenübertragungs-Startadresse vom zweiten Speicheradresse-Speicherabschnitt an den zweiten Speicheradresse-Zählerabschnitt; wobei der zweite Datenübertragungs-Steuerungsabschnitt die wechselseitige Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage von im ersten und zweiten Speicheradresse-Zählerabschnitt eingetragenen Adresswerten ausführt.
  • Bei einer Ausführungsform der Erfindung ist, wenn die Speicherkapazitäten des ersten und des zweiten Speicherarrays verschieden sind, ein Speicheradresse-Speicherabschnitt zum Speichern einer Adresse eines Speicherarrays mit kleinerer Speicherkapazität mit einem ersten Erkennungsabschnitt zum Erkennen, ob überflüssige obere Adressen spezielle Werte haben oder nicht, versehen.
  • Bei einer Ausführungsform der Erfindung weist die Datenübertragungs-Steuerungsvorrichtung einen zweiten Erkennungsabschnitt zum Erkennen, ob eine im Speicheradresse-Zählerabschnitt gespeicherte Adresse einen speziellen Wert aufweist oder nicht, auf.
  • Bei einer Ausführungsform der Erfindung sind der erste und der erste und der zweite Speicheradresse-Speicherabschnitt Speicheradresseregister.
  • Gemäß noch einer anderen Erscheinungsform der Erfindung ist ein Halbleiterspeicher mit der Datenübertragungs-Steuerungsvorrichtung gemäß dem Anspruch 1 geschaffen.
  • Gemäß einer Ausführungsform der Erfindung weist der Halbleiterspeicher einen Adresseninformations-Speicherabschnitt zum Speichern von Adresseninformation, die entsprechend einem eingegebenen Steuerungsbefehl kontrolliert wird und eine Adresse repräsentiert, die für eine Speicheroperation vorgesehen ist, einschließlich Operationen zum Schreiben von Daten, Löschen von Daten, Lesen von Daten und Verifizieren von Daten, die durch einen Steuerungsbefehl für andere Operationen als die Datenübertragungsoperation spezifiziert sind, auf, wobei der Adresseninformations-Speicherabschnitt so konfiguriert ist, dass er für den ersten oder zweiten Speicheradresse-Speicherabschnitt, wie er für die Datenübertragung benötigt wird, gemeinsam genutzt wird.
  • Gemäß noch einer anderen Erscheinungsform der Erfindung ist ein elektronisches Informationsgerät mit dem Halbleiterspeicher des Anspruchs 9 geschaffen, das eine Speicheroperation und eine Datenübertragungsoperation ausführt.
  • Nachfolgend werden Funktionen der oben beschriebenen Struktur beschrieben. Durch gemeinsames Nutzen von Registern zum Speichern von Adressdaten, wie sie zur wechselseitigen Datenübertragung zwischen den mehreren Speicherzellenarrays erforderlich sind, die zum Vereinfachen eines Schaltkreises auf einem einzelnen Halbleiterchip vorhanden sind, ist es möglich, die Layoutfläche des Halbleiterchips zu verkleinern. Ferner ist es, da Speicheradresse-Speichereinrichtungen (Register) oder dergleichen, wie sie zur Datenübertragung verwendet werden, zusätzlich zur Datenübertragung für Speicheroperationen verwendet werden können, möglich, die Schaltung zu vereinfachen, um dadurch die Layoutfläche eines Halbleiterchips zu verkleinern. Ferner ist es möglich, die Datenübertragungs-Steuerungsvorrichtung gemäß der Erfindung auf einfache Weise bei einem Halbleiterspeicher anzuwenden, und ferner ist es möglich, auf einfache Weise diese Halbleiterspeicher bei einem elektronischen Informati onsgerät anzuwenden. Daher ist es im Halbleiterbauteil oder dem elektronischen Informationsgerät auch möglich, eine Schaltung zum Ausführen einer Speicheroperation und einer Datenübertragungsoperation zu vereinfachen.
  • Demgemäß ermöglicht die hier beschriebene Erfindung die Vorteile, dass Folgendes bereitgestellt wird: (1) eine Datenübertragungs-Steuerungsvorrichtung, die die Layoutfläche eines Halbleiterchips dadurch verkleinern kann, dass Register zum Speichern von Adressdaten, wie sie für eine wechselseitige Datenübertragung zwischen mehreren auf einem einzelnen Halbleiterchip vorhandenen Speicherzellenarray erforderlich sind, gemeinsam genutzt werden, um eine Vereinfachung der Schaltkreise zu erzielen; (2) ein Halbleiterspeicher mit dieser Datenübertragungs-Steuerungsvorrichtung; und (3) ein elektronisches Informationsgerät mit dieser Halbleiterspeicher.
  • Diese und andere Vorteile der Erfindung werden dem Fachmann beim Lesen und Verstehen der folgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Figuren ersichtlich werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm, das eine Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung gemäß einer Ausführungsform 1 der Erfindung zeigt.
  • 2 ist ein Diagramm zum schematischen Veranschaulichen eines Beispiels einer Datenübertragung gemäß der Erfindung.
  • 3 ist eine Tabelle zum Veranschaulichen einer Befehlssequenz für eine Datenübertragung, wie sie unter Verwendung der Datenübertragungs-Steuerungsvorrichtung der 1 ausgeführt wird.
  • 4A ist ein Diagramm, das ein Beispiel des Zwischenspeicherungstimings eines Adressregisters gemäß der Erfindung zeigt.
  • 4B ist ein Diagramm, das ein anderes Beispiel des Zwischenspeicherungstimings eines Adressregisters gemäß der Erfindung zeigt.
  • 5 ist ein Blockdiagramm, das die Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung gemäß einer Ausführungsform 2 der Erfindung zeigt.
  • 6 ist eine Tabelle zum Veranschaulichen einer Befehlssequenz für eine durch die Datenübertragungs-Steuerungsvorrichtung der 5 ausgeführte Datenübertragung.
  • 7 ist ein Blockdiagramm, das die Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung gemäß einer Ausführungsform 3 der Erfindung zeigt.
  • 8 ist ein Blockdiagramm, das die Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung gemäß einer Ausführungsform 4 der Erfindung zeigt.
  • 9 ist ein Blockdiagramm, das die Primärstruktur einer Adressensteuerungsschaltung zur Verwendung bei einer herkömmlichen Puffertechnik zeigt.
  • 10 ist ein Blockdiagramm, das die Grundstruktur eines elektronischen Informationsgeräts zeigt, bei dem ein Halbleiterspeicher mit der Datenübertragungs-Steuerungsvorrichtung der 1 angewandt ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend werden Ausführungsformen 1–4 der Erfindung unter Bezugnahme auf die Zeichnungen in Verbindung mit einem Fall beschrieben, bei dem eine Datenübertragungs-Steuerungsvorrichtung gemäß der Erfindung bei einem Halbleiterspeicher angewandt ist.
  • (Ausführungsform 1)
  • Die 1 ist ein Blockdiagramm, das die Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung 11 gemäß einer Ausführungsform 1 der Erfindung zeigt.
  • In der 1 weist die Datenübertragungs-Steuerungsvorrichtung 11 eine Adressensteuerungsschaltung 12 und eine Schreibzustandsmaschine 13 (nachfolgend als "WSM 13" bezeichnet) auf. Die Datenübertragungs-Steuerungsvorrichtung 11 steuert, entsprechend einem von außen eingegebenen Steuerungsbefehl, die Adressensteuerungsschaltung 12 zum Ausführen einer Datenübertragung zwischen mehreren Speicherarrays.
  • Die Adressensteuerungsschaltung 12 verfügt über ein Speicheradressregister 1, das ein erster Speicheradresse-Speicherabschnitt seitens eines ersten Speicherarrays ist, einen Speicheradressenzähler 2, der ein erster Speicheradresse-Zählerabschnitt seitens des ersten Speicherarrays ist, ein Speicheradressregister 3, das ein zweiter Speicheradresse-Speicherabschnitt seitens eines zweiten Speicherarrays ist, einen Speicheradressenzähler 4, der ein zweiter Speicheradresse-Zählerabschnitt seitens des zweiten Speicherarray ist, ein Speicheradressregister 5, das ein zweiter Speicheradresse-Speicherabschnitt ist, eine Vergleichsschaltung 8, die ein Vergleichsabschnitt zum Erkennen des Abschlusses einer Datenübertragung ist, eine Übertragungsschaltung 9, die ein erster Speicheradresse-Übertragungsabschnitt ist, und eine Übertragungsschaltung 10, die ein zweiter Speicheradresse-Übertragungsabschnitt ist.
  • Das Speicheradressregister 1 weist mehrere Latchschaltungen auf, die dazu benötigt werden, für die Datenübertragung erforderliche Adressen zu speichern. Das Speicheradressregister 1 speichert eine Steuerungszieladresse (Datenübertragungs-Startadresse) des ersten Speicherarrays, während vorige Adressdaten (die vorige Datenübertragungs-Startadresse) entsprechend einem unten beschriebenen Steuerungsbefehl aktualisiert wird und die aktualisierten Daten abgespeichert werden.
  • Der Speicheradressenzähler 2 kann so viele Adressen steuern, wie es der Anzahl der Bits des Speicheradressregisters 1 entspricht, und er erzeugt eine Adresse durch Addieren eines Bits zu einer voreingestellten Adresse, was entsprechend einem durch die Übertragungsschaltung 9 kontrollierten Inkrementsteuerungssignals erfolgt. Das heißt, dass der Speicheradressenzähler 2 die Adresse des ersten Speicherarrays entsprechend dem Inkrementsteuerungssignal von der Übertragungsschaltung 9 inkrementiert. Ein Ausgangsanschluss des Speicheradressenzählers 2 ist mit einem ersten Adressendecodierer 14 verbunden, damit dieser eine Speicherzelle im ersten Speicherarray entsprechend der voreingestellten Adresse auswählt, d. h., er führt Daten-Lese/Schreib-Operationen an der Speicherzelle aus.
  • Das Speicheradressregister 3 enthält eine Anzahl von Latchschaltungen, wie sie zum Speichern der erforderlichen Adressen zur Datenübertragung benötigt werden. Das Speicheradressregister 3 speichert eine Steuerungszieladresse (eine Datenübertragungs-Startadresse) des zweiten Speicherarrays, während vorige Adressdaten (die vorige Datenübertragungs-Startadresse) entsprechend einem unten beschriebenen Steuerungsbefehl aktualisiert wird und die aktualisierten Daten eingespeichert werden.
  • Der Speicheradressenzähler 4 kann so viele Adressen speichern, wie es der Anzahl der Bits des Speicheradressregisters entspricht, und er erzeugt dadurch eine Adresse, dass er ein Bit zu einer voreingestellten Adresse addiert, was entsprechend einem durch die Übertragungsschaltung 10 gesteuerten Inkrementsteuerungssignal erfolgt. Das heißt, dass der Speicheradressenzähler 4 eine Adresse des zweiten Speicherarrays entsprechend dem Inkrementsteuerungssignal von der Übertragungsschaltung 10 inkrementiert. Ein Ausgangsanschluss des Speicheradressenzählers 4 ist mit einem zweiten Adressendecodierer 15 verbunden, so dass dieser eine Speicherzelle im zweiten Speicherarray entsprechend der voreingestellten Adresse auswählt, d. h., er führt Daten-Lese/Schreib-Operationen usw. an der Speicherzelle aus.
  • Das Speicheradressregister 5 speichert eine Datenübertragungs-Abschlussadresse.
  • Die Vergleichsschaltung 8 vergleicht den im Speicheradressregister 5 gespeicherten Wert der Datenübertragungs-Abschlussadresse mit dem Wert des Speicheradressenzählers 2 seitens des ersten Speicherarrays oder dem Wert des Speicheradressenzählers 4 seitens des zweiten Speicherarrays.
  • Die Übertragungsschaltung 9 kann die Übertragung von Speicheradressdaten (die Speicheradresse) aus dem Speicheradressregister 1 über einen Bus 6 an den Speicheradressenzähler 2 steuern und anschließend die Speicheradressdaten jedesmal dann sequenziell inkrementieren, wenn eine Datencharge übertragen ist (für jede Datenübertragungseinheit).
  • Die Übertragungsschaltung 10 kann die Übertragung von Speicheradressdaten (die Speicheradresse) aus dem Speicheradressregister 3 über einen Bus 7 an den Speicheradressenzähler 4 steuern und anschließend die Speicheradressdaten jedesmal dann sequenziell inkrementieren, wenn eine Datencharge übertragen ist (für jede Datenübertragungseinheit).
  • Die WSM 13 verfügt über einen Befehlserkennungsabschnitt 131, einen ersten Adressenausgabeabschnitt 132, einen ersten Datenübertragungs-Steuerungsabschnitt 133 und einen ersten Vergleichszieladresse-Umschaltabschnitt 134, der ein Zählerumschaltabschnitt ist.
  • Der Befehlserkennungsabschnitt 131 erkennt von außen eingegebene Steuerungsbefehle (z. B. einen Datenübertragungsbefehl und einen Flashprogrammierbefehl, wie es in der 3 dargestellt ist). Wenn der eingegebene Steuerungsbefehl ein Datenübertragungsbefehl ist, erkennt der Befehlserkennungsabschnitt 131, ob eine Datenübertragung eine erste Datenübertragung vom ersten Speicherarray zum zweiten Speicherarray oder eine zweite Datenübertragung vom zweiten Speicherarray zum ersten Speicherarray ist, um die Datenübertragung einer Befehlssequenz zuzuordnen, die entweder der ersten Datenübertragung oder der zweiten Datenübertragung entspricht.
  • Der erste Adressenausgabeabschnitt 132 steuert die Speicheradressregister 1, 3 und 5 zum Einspeichern einer entsprechenden der folgenden Adressen: eine Datenübertragungs-Startadresse des ersten Speicherarrays, eine Datenübertragungs-Abschlussadresse des ersten Speicherarrays, eine Datenübertragungs-Startadresse des zweiten Speicherarrays. Auf Grundlage einer dem eingegebenen Steuerungsbefehl entsprechenden Befehlssequenz werden diese Adressen in der folgenden Reihenfolge abgespeichert: die Datenübertragungs-Startadresse des ersten Speicherarrays, die Datenübertragungs-Abschlussadresse des ersten Speicherarrays und die Datenübertragungs-Startadresse des zweiten Speicherarrays; oder die Datenübertragungs-Startadresse des zweiten Speicherarrays, die Datenübertragungs-Abschlussadresse des zweiten Speicherarrays und die Datenübertragungs-Startadresse des ersten Speicherarrays, in dieser Reihenfolge.
  • Der erste Datenübertragungs-Steuerungsabschnitt 133 führt eine wechselseitige Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage voreingestellter Adresswerte der Speicheradressenzähler 2 und 4 aus, und er schließt die Datenübertragung auf Grundlage des durch die Vergleichsschal tung 8 gelieferten Vergleichsergebnisses ab (Entsprechung zwischen Daten im ersten Speicherarray und Daten im zweiten Speicherarray).
  • Auf Grundlage der dem eingegebenen Steuerungsbefehl entsprechenden Befehlssequenz schaltet der erste Vergleichszieladresse-Umschaltabschnitt 134 einen Adresswert auf den Adresswert entweder des Speicheradressenzählers 2 oder des Speicheradressenzählers 4, wobei auf einen Vergleich mit dem Datenübertragungs-Abschlussadresswert abgezielt ist.
  • Als Nächstes wird die Befehlssequenz zur Datenübertragung detailliert beschrieben.
  • Es wird ein Beispiel der in der 2 dargestellten Datenübertragung betrachtet. Genauer gesagt, werden Daten, die an Adressen von einer Senderübertragungstartadresse S1 bis zu einer Senderübertragungsabschlussadresse E1 im ersten Speicherarray gespeichert sind, sequenziell in solcher Weise an das zweite Speicherarray übertragen, dass die übertragenen Daten ab einer Empfängerübertragungsstartadresse S2 abgespeichert werden.
  • In diesem Fall wird beispielsweise eine Befehlssequenz, wie sie in der 3 dargestellt ist, zur Datenübertragung vom ersten an das zweite Speicherarray ausgegeben.
  • Die in der 3 dargestellte Tabelle veranschaulicht eine Befehlssequenz zur Datenübertragung vom ersten an das zweite Speicherarray (oberer Teil), eine Befehlssequenz zur Datenübertragung vom zweiten an das erste Speicherarray (mittlerer Teil), eine Flashprogrammmierbefehlssequenz (unterer Teil) sowie interne Operationen der WSM 13 (untere Zeile in jedem Teil), entsprechend Adressdaten, wie sie in jedem unten beschriebenen Zyklus eingegeben werden.
  • Beim Ausführen einer Datenübertragung vom ersten an das zweite Speicherarray wird ein Befehl zum Deklarieren einer Datenübertragung (mit 03H gekennzeichnet) im ersten Befehlszyklus eingegeben, eine Senderübertragungsstartadresse eines Speicherarrays (in diesem Fall des ersten Speicherarrays) wird im zweiten Zyklus eingegeben, eine Senderübertragungsabschlussadresse eines Speicherarrays (in diesem Fall des ersten Speicherarrays) wird im dritten Zyklus eingegeben, und eine Empfängerübertragungsstartadresse eines Speicherarrays (in diesem Fall des zweiten Speicherarrays) wird im vierten Zyklus eingegeben.
  • Der Steuerungsbefehl und Adressdaten als Operand desselben, wie sie in jedem Zyklus eingegeben werden, werden durch die WSM 13 übersetzt, um Zwischenspeicheraktiviersignale 21 bis 23 für ein entsprechendes der Speicheradressregister 1, 3 und 5 in der 4A dargestellten Reihenfolge zu erzeugen. Genauer gesagt, werden die folgenden Operationen in der folgenden Reihenfolge ausgeführt. Eine im zweiten Befehlszyklus eingegebene Adresse wird als Datenübertragungs-Startadresse des ersten Speicherarrays in das Speicheradressregister 1 eingegeben, eine im dritten Befehlszyklus eingegebene Adresse wird als Datenübertragungs-Abschlussadresse des ersten Speicherarrays in das Speicheradressregister 5 eingegeben, und eine im vierten Befehlszyklus eingegebene Adresse wird als Datenübertragungs-Startadresse des zweiten Speicherarrays in das Speicheradressregister 3 eingegeben.
  • Dies ermöglicht es der in der Datenübertragungs-Steuerungsvorrichtung 11 enthaltenen WSM 13, eine Datenübertragung vom ersten an das zweite Speicherarray zu starten.
  • Als Nächstes wird eine Zusammenfassung eines Datenübertragungsverfahrens gemäß der Erfindung geliefert.
  • Gemäß erneuter Bezugnahme auf die 1 überträgt die WSM 13 als Erstes die im Speicheradressregister 1 gespeicherte Datenübertragungs-Startadresse des ersten Speicherarrays über den Bus 6 an den Speicheradressenzähler 2, und sie überträgt auch die im zweiten Speicheradressregister 3 gespeicherte Datenübertragungs-Startadresse des zweiten Speicherarrays über den Bus 7 an den Speicheradressenzähler 4.
  • Dies ermöglicht es, die Datensenderadresse im Adressenzähler 2 einzutragen, um die eingetragene Adresse in Bezug auf das erste Speicherarray zu decodieren, und es ermöglicht es auch, eine Datenempfängeradresse im Adressenzähler 4 einzutragen, um die eingetragene Adresse in Bezug auf das zweite Speicherarray zu decodieren.
  • Dann liest die WSM 13, auf Grundlage dieser eingetragenen Adressen, Daten an der Senderadresse des ersten Speicherarrays, und sie schreibt die Daten an der Empfängeradresse, d. h. der Adresse des zweiten Speicherarrays, ein.
  • Diese Operation realisiert die Datenübertragung. Wenn eine einzelne Datenübertragungsoperation in Bezug auf diese eingetragenen Adressen abgeschlossen ist, inkrementiert die WSM 13 jeden der Speicheradressenzähler 2 und 4, um die nächste Adresse (eine Adresse, die durch Codieren eines Bits zur aktuellen Adresse erhalten wird) im Speicheradressenzähler 2 des Datensenders und im Speicheradressenzähler 4 des Datenempfängers einzutragen.
  • In ähnlicher Weise liest die WSM 13, auf Grundlage dieser eingetragenen Adressen, Daten an der Senderadresse, und sie schreibt die Daten an der Empfängeradresse ein.
  • Diese Operationen werden wiederholt ausgeführt, und der Wert des Speicheradressenzählers 2 des ersten Speicherarrays wird durch die Vergleichsschaltung 8 mit der Datenübertragungsabschlussadresse des ersten Speicherarrays, die im dritten Befehlszyklus eingegeben wird, verglichen. Wenn der Wert des Speicheradressenzählers 2 mit der Datenübertragungsabschlussadresse des ersten Speicherarrays übereinstimmt, kann die WSM 13 erkennen, dass die abschließende Adresse erhalten ist.
  • Danach liest die WSM 13, auf Grundlage der abschließenden Adresse, Daten aus dem Speicherarray des Senders, und sie schreibt die Daten an der Empfängerspeicheradresse ein, um dadurch die Datenübertragung abzuschließen.
  • Wenn das empfangende Speicherarray ein SRAM oder dergleichen ist, ist eine Verifizieroperation erforderlich. Wenn jedoch das empfangende Speicherarray ein Flashspeicherarray ist, ist, nach Abschluss der Datenschreiboperation, eine Verifizieroperation erforderlich, um zu klären, ob die Datenschreiboperation normal ausgeführt wurde oder nicht.
  • Beim Betrachten der Datenübertragung an ein Flashspeicherarray ist es wirkungsvoll, Chargen von Daten zu schreiben, wie sie an Adressen von der Datenübertragungs-Startadresse bis zur Datenübertragungs-Abschlussadresse abgespeichert sind, und dann die Datenverifizieroperation von Daten an der Datenübertragungs-Startadresse ausgehend zu verifizieren, anstatt einen Algorith mus zu verwenden, bei dem Daten an einer Adresse geschrieben werden, die Daten verifiziert werden und dann die Datenschreib- und Datenverifizieroperationen für die nächste Adresse ausgeführt werden. Der Grund hierfür besteht darin, dass dann, wenn die Datenübertragungsprozedur von einer Datenschreiboperation auf eine Datenverifizieroperation oder eine Datenverifizieroperation auf eine Datenschreiboperation umgeschaltet wird, interne Schaltkreise dazu erforderlich sind, eine spezielle Spannung zu erzeugen, wie sie für jede Operation benötigt wird, wodurch eine bestimmte Zeitperiode für die Spannungsumschaltung erforderlich ist.
  • Daher werden Chargen von Daten gemeinsam in das Flashspeicherarray geschrieben, und bei der Datenverifizieroperation werden die Datenübertragungs-Startadressen erneut von den Speicheradressregistern 1 und 3 über die jeweiligen Busse 6 bzw. 7 an die entsprechenden Speicheradressenzähler 2 bzw. 4 übertragen.
  • Die Datenverifizieroperation erfolgt unter Verwendung eines Datenübertragungsalgorithmus ähnlich demjenigen, wie er in Bezug auf die Datenschreiboperation beschrieben wurde. Daher werden die Speicheradressregister 1, 3 und 5 sowie die Speicheradressenzähler 2 und 4, die bei der Datenübertragung verwendet werden, gemeinsam für die Verifizierübertragungsoperation verwendet, und daher ist es möglich, eine Schaltungsvereinfachung zu realisieren, um dadurch die Fläche eines Halbleiterchips zu verkleinern.
  • Nun wird die Datenübertragung vom zweiten an das erste Speicherarray beschrieben, die in Bezug auf die Übertragungsrichtung entgegengesetzt zur oben beschriebenen Datenübertragung ist.
  • In diesem Fall wird, im Hinblick auf einfache Anwendbarkeit, davon ausgegangen, dass die Senderübertragungsstartadresse, die Senderübertragungsabschlussadresse und die Empfängerübertragungsstartadresse in dieser Reihenfolge in einer Steuerungsbefehlsequenz enthalten sind, wie es in der 3 dargestellt ist. Genauer gesagt, wird beispielsweise im ersten Befehlszyklus ein Befehl zum Deklarieren einer Datenübertragung (mit 0CH gekennzeichnet) als Datenübertragungsbefehl ausgegeben. Ferner werden für die Datenübertragung vom ersten an das zweite Speicherarray und die Datenübertragung vom zweiten an das erste Speicherarray verschiedene Steuerungsbefehle verwendet.
  • Wie oben beschrieben, ist es möglich, eine wechselseitige Datenübertragung zwischen Speicherarrays zu realisieren, wenn Zwischenspeicheraktiviersignale 22, 23 und 21 für ein entsprechendes der Speicheradressregister 3, 5 und 1 in der in der 4B dargestellten Reihenfolge erzeugt werden, wobei das Signalausgabetiming entgegengesetzt zu dem in der 4A dargestellten ist, um im zweiten Befehlszyklus die Datenübertragungs-Startadresse des Senders (des zweiten Speicherarrays) auszugeben, im dritten Befehlszyklus die Datenübertragungs-Abschlussadresse des Senders (des zweiten Speicherarrays) auszugeben, und im vierten Befehlszyklus die Datenübertragungs-Startadresse des Empfängers (des ersten Speicherarrays) auszugeben, und die jeweils ausgegebenen Adressen in dieser Reihenfolge sequenziell im entsprechenden der Speicheradressregister 3, 5 und 1 abzuspeichern. Die Reihenfolge der Speicheradressen in den Speicheradressregistern wird entsprechend einem im ersten Befehlszyklus ausgegebenen Datenübertragungserkennungsbefehl (Steuerungsbefehl) gesteuert, und es wird das Ziel für den Vergleich mit der abschließenden Adresse umgeschaltet.
  • Genauer gesagt, werden sowohl bei einer Datenübertragung vom ersten an das zweite Speicherarray als auch bei einer Datenübertragung vom zweiten an das erste Speicherarray die Übertragungsstartadressen des ersten und des zweiten Speicherarrays immer in den entsprechenden Speicheradressregistern abgespeichert. Dies erfolgt durch Ausführen einer einfachen Steuerung zum Ändern der Ausgabereihenfolge der Zwischenspeicheraktiviersignale 2123 an das Entsprechende der Speicheradressregister 1, 3 und 5.
  • Wenn Daten vom ersten an das zweite Speicherarray übertragen werden, wird die Datenübertragungs-Abschlussadresse (die abschließende Adresse) mit dem Wert des Speicheradressenzählers 2 des ersten Speicherarrays verglichen, und wenn Daten vom zweiten an das erste Speicherarray übertragen werden, erfolgt dieser Vergleich in Bezug auf den Speicheradressenzähler 4 des zweiten Speicherarrays. Auf diese Weise wird der Adressenzähler des Zielspeichers entsprechend der Datenübertragungsrichtung umgeschaltet.
  • Als Nächstes wird ein Fall beschrieben, bei dem die Speicheradressregister 1, 3 und 5 sowie die Speicheradressenzähler 2 und 4, die zur Datenübertragung verwendet werden, gemeinsam für eine Speichersteuerung (lesen, schreiben, usw.), die keine Datenübertragung ist, verwendet werden.
  • Wenn beispielsweise das erste Speicherarray ein Flashspeicher ist, kann im Allgemeinen eine Programmieroperation in Bezug auf diesen entsprechend einem Steuerungsbefehl (Flashprogrammierbefehl) ausgeführt werden. Eine Befehlssequenz für diesen Fall ist im unteren Teil der 3 dargestellt.
  • Im ersten Befehlszyklus wird beispielsweise ein Befehl zum Deklarieren einer Datenprogrammierung (mit 40H gekennzeichnet) als Programmierbefehl ausgegeben. Eine Flashspeicheradresse, die programmiert werden soll, wird im zweiten Befehlszyklus ausgegeben. Die im zweiten Zyklus ausgegebene Programmieradresse wird entsprechend einer Steuerung durch die WSM 13 im dem ersten Speicherarray entsprechenden Speicheradressregister 1 abgespeichert.
  • Dies erfolgt durch eine Operation, bei der die WSM 13 das Zwischenspeicheraktiviersignal 21 für das Speicheradressregister 1 entsprechend dem im ersten Befehlszyklus eingegebenen Erkennungssteuerungsbefehl (Programmierbefehl) steuert.
  • Nachdem der Programmierbefehl ausgegeben wurde, überträgt die Übertragungsschaltung 9 die im Speicheradressregister 1 gespeicherte Programmieradresse an den Speicheradressenzähler 2, damit der erste Adressdecodierer 14 die Adresse codiert, an der eine Datenprogrammieroperation ausgeführt werden soll, um dadurch eine Speicherzelle auszuwählen. In diesem Zustand werden gewünschte Daten in den Flashspeicher geschrieben, um dadurch die Datenprogrammieroperation abzuschließen.
  • Das heißt, dass es bei der Erfindung möglich ist, das Speicheradressregister 1 und den Speicheradressenzähler 2 für Datenübertragungs- und normale Datenschreiboperationen zwischen Speicherarrays gemeinsam zu verwenden. Ferner ist es möglich, die Schaltungsgröße dadurch zu verringern, dass Register und Zähler angebracht werden, die für alle Operationen gemeinsam verwendet werden.
  • (Ausführungsform 2)
  • Bei der Ausführungsform 1 der Erfindung ist der Bereich der zu übertragenden Daten (nachfolgend als "Datenübertragungsbereich" bezeichnet) unter Verwendung der Datenübertragungs-Startadresse und der Datenübertragungs-Abschlussadresse des Datensenders ausgedrückt, jedoch ist bei der Ausführungsform 2 der Erfindung der Datenübertragungsbereich unter Verwendung der Datenübertra gungs-Startadresse des Datensenders und einer Übertragungsdatenanzahl, die die Anzahl zu übertragender Datenchargen repräsentiert, ausgedrückt.
  • Die 5 ist ein Blockdiagramm, das die Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung 51 gemäß der Ausführungsform 2 der Erfindung zeigt. Die 6 ist eine Tabelle zum Veranschaulichen einer Befehlssequenz der Datenübertragungs-Steuerungsvorrichtung 51.
  • In der 5 verfügt die Datenübertragungs-Steuerungsvorrichtung 51 über eine Adressensteuerungsschaltung 52 und eine WSM 53. Die Adressensteuerungsschaltung 52 enthält ein Übertragungsdatenanzahlregister 35 zum Speichern der über einen Datenkontaktfleck D, der ein externen Daten-Eingabe/Ausgabe-Anschluss ist, eingegebenen Übertragungsdatenanzahl, einen Datenzähler 36 zum sequenziellen Addieren (Inkrementieren) von "1" zu einem Anfangswert, d. h. der Wert wird sequenziell um eins erhöht, und eine Vergleichsschaltung 37 zum Vergleichen der im Übertragungsdatenanzahlregister 35 gespeicherten Übertragungsdatenanzahl mit dem Wert des Datenzählers 36. Die Ausführungsform 2 (5) unterscheidet sich von der Ausführungsform 1 (1) dadurch, dass das Übertragungsdatenanzahlregister 35, der Datenzähler 36 und die Vergleichsschaltung 37 an Stelle des Speicheradressregisters 5 zum Speichern der Datenübertragungs-Abschlussadresse und der Vergleichsschaltung 8 vorhanden sind.
  • Die WSM 53 enthält einen Befehlserkennungsabschnitt 531 eines zweiten Adressenausgabeabschnitts 532 sowie einen zweiten Datenübertragungs-Steuerungsabschnitt 533.
  • Der Befehlserkennungsabschnitt 531 erkennt einen von außen eingegebenen Steuerungsbefehl (wie den in der 6 dargestellten Datenübertragungsbefehl) sowie Daten für jede Steuerungszieladresse (eine Datenübertragungs-Startadresse und die Übertragungsdatenanzahl für sowohl das erste als auch das zweite Speicherarray). Wenn ein eingegebener Steuerungsbefehl ein Datenübertragungsbefehl ist, erkennt der Befehlserkennungsabschnitt 531, ob dieser Datenübertragungsbefehl für eine erste Datenübertragung vom ersten an das zweite Speicherarray oder für eine zweite Datenübertragung vom zweiten an das erste Speicherarray gilt, um die entsprechende Befehlssequenz entweder der ersten oder der zweiten Datenübertragung zuzuordnen.
  • Auf Grundlage des eingegebenen Steuerungsbefehls gibt der zweite Adressenausgabeabschnitt 532 die Datenübertragungs-Startadresse des ersten Speicherarrays, die Übertragungsdatenanzahl und die Datenübertragungs-Startadresse des zweiten Speicherarrays entsprechend dieser Speicherungsreihenfolge aus, oder er gibt die Datenübertragungs-Startadresse des zweiten Speicherarrays, die Übertragungsdatenanzahl und die Datenübertragungs-Startadresse des zweiten Speicherarrays entsprechend dieser Speicherungsreihenfolge aus.
  • Der zweite Datenübertragungs-Steuerungsabschnitt 533 führt eine wechselseitige Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage eines Adresswerts aus, wie er jeweils im ersten und zweiten Speicheradressenzähler 33 und 34 voreingestellt ist, und er schließt die Datenübertragung auf Grundlage eines Vergleichsergebnisses (Entsprechung zwischen Daten im ersten Speicherarray und Daten im zweiten Speicherarray) ab, das durch die Vergleichsschaltung 37 geliefert wird, die ein zweiter Vergleichsabschnitt ist.
  • Wie es in der 6 dargestellt ist, wird bei einer Befehlssequenz dieser Operation ein Befehl zum Deklarieren einer Datenübertragung (mit 03H gekennzeichnet) im ersten Befehlszyklus eingegeben, im zweiten Befehlszyklus wird die Übertragungsstartadresse eines Senderspeicherarrays eingegeben, im dritten Befehlszyklus wird die Übertragungsdatenanzahl eingegeben, und im vierten Befehlszyklus wird die Übertragungsstartadresse eines Empfängerspeicherarrays eingegeben.
  • Dies ermöglicht es der in der Datenübertragungs-Steuerungsvorrichtung 51 enthaltenen WSM 53, die Datenübertragung so zu kontrollieren, dass die Datenübertragung vom ersten an das zweite Speicherarray startet.
  • Gemäß erneuter Bezugnahme auf die 5 steuert die WSM 53 eine Übertragungsschaltung 40 in solcher Weise, dass die gespeicherte Datenübertragungs-Startadresse des ersten Speicherarrays vom Speicheradressregister 31 über einen Bus 38 an den Speicheradressenzähler 33 übertragen wird. Die WSM 53 steuert auch eine Übertragungsschaltung 41 in solcher Weise, dass die gespeicherte Datenübertragungs-Startadresse des zweiten Speicherarrays vom Speicheradressregister 32 über einen Bus 39 an den Speicheradressenzähler 34 übertragen wird. Dies ermöglicht es, eine Adresse eines Datensenders im Adressenzähler 33 einzutragen, damit ein erster Adressdecodierer 14 die eingetragene Ad resse im ersten Speicherarray decodiert, und es ermöglicht es auch, eine Adresse des Datenempfängers im Speicheradressenzähler 34 einzutragen, damit ein zweiter Adressdecodierer 15 die eingetragene Adresse im zweiten Speicherarray decodiert.
  • Ferner wird der Datenzähler 34 auf einen Anfangswert zurückgesetzt. Dann liest die WSM 53, auf Grundlage dieser eingetragenen Adressen, Daten an der Adresse des Datensenders, und sie schreibt die Daten an der Adresse des Datenempfängers ein.
  • Diese Operation realisiert eine Datenübertragung. Wenn die Datenübertragung in Bezug auf diese eingetragenen Adressen abgeschlossen ist, inkrementiert die WSM 53 sowohl den Speicheradressenzähler 13 des Datensenders als auch den Speicheradressenzähler 34 des Datenempfängers, um in jedem dieser Zähler 33 und 34 jeweils die nächste Adresse einzutragen (eine Adresse, die durch Addieren eines Bits zur aktuellen Adresse erhalten wird). In ähnlicher Weise wird der Datenzähler 36 inkrementiert.
  • Wie bei der oben beschriebenen Operation liest die WSM 53, auf Grundlage dieser eingetragenen Adresse, Daten an der Senderadresse, und sie schreibt Daten an der Empfängeradresse ein. Diese Operationen werden wiederholt ausgeführt, und der Wert des Datenzähler 36 wird durch die Vergleichsschaltung 37 mit einem Wert verglichen, wie er durch das Übertragungsdatenanzahlregister 35 zwischengespeichert wird, wobei es sich um die im dritten Befehlszyklus eingegebene Übertragungsdatenanzahl handelt. Wenn das Vergleichsergebnis einer Übereinstimmung entspricht, kann die WSM 53 erkennen, dass die abschließende Adresse erreicht ist, um dadurch die Datenübertragung abzuschließen.
  • Als Nächstes wird eine Datenübertragung vom zweiten an das erste Speicherarray beschrieben, die entgegengesetzt zur oben beschriebenen Datenübertragung ist.
  • Bei der in der 6 dargestellten Befehlssequenz wird ein Befehl zum Deklarieren einer Datenübertragung (mit OCH gekennzeichnet) im ersten Befehlszyklus ausgegeben, eine Übertragungsstartadresse des zweiten Speicherarrays wird im zweiten Befehlszyklus eingegeben, eine Übertragungsdatenanzahl wird im dritten Befehlszyklus eingegeben, und eine Übertragungsstartadresse des ersten Speicherarrays wird im vierten Zyklus eingegeben.
  • Dies ermöglicht es der in der Datenübertragungs-Steuerungsvorrichtung 51 enthaltenen WSM 53, die Datenübertragung so zu steuern, dass die Datenübertragung vom zweiten an das erste Speicherarray startet.
  • Die WSM 53 steuert die Übertragungsschaltung 40 zum Übertragen der gespeicherten Datenübertragungs-Startadresse des ersten Speicherarrays vom Speicheradressregister 31 über den Bus 38 (5) an den Speicheradressenzähler 33, und sie steuert die Übertragungsschaltung 41 zum Übertragen der gespeicherten Datenübertragungs-Startadresse vom Speicheradressregister 32 über den Bus 39 an den Speicheradressenzähler 34.
  • Dies ermöglicht es, eine Adresse des Datensenders im Speicheradressenzähler 33 einzutragen, damit der erste Adressdecodierer 14 die eingestellte Adresse im ersten Speicherarray decodiert, und er ermöglicht es auch, eine Adresse des Datensenders im Speicheradressenzähler 34 einzutragen, damit der zweite Adressdecodierer 15 die eingestellte Adresse im zweiten Speicherarray decodiert.
  • Als Nächstes wird ein Datenzähler 36 auf seinen Anfangswert zurückgesetzt. Dann liest die WSM 53, auf Grundlage dieser eingetragenen Adressen, Daten an der Adresse des Datensenders, und sie schreibt die Daten an der Adresse des Datenempfängers ein.
  • Durch diese Operation wird die Datenübertragung realisiert. Wenn die Datenübertragung in Bezug auf diese eingetragenen Adressen abgeschlossen ist, inkrementiert die WSM 53 (oder die Übertragungsschaltungen 40 und 41) sowohl den Speicheradressenzähler 33 des Datensenders als auch den Speicheradressenzähler 34 des Datenempfängers zum Eintragen der nächsten Adresse (Adresse, die durch Addieren eines Bits zur aktuellen Adresse erhalten wird) in jedem dieser Zähler 33 und 34. Gleichzeitig wird der Datenzähler 36 inkrementiert.
  • Wie bei der oben beschriebenen Operation liest die WSM 53, auf Grundlage dieser eingetragenen Adressen, Daten an der Senderadresse, und sie schreibt die Daten an der Empfängeradresse ein.
  • Diese Operation wird wiederholt ausgeführt, und der Wert des Datenzähler 36 wird durch die Vergleichsschaltung 37 mit dem durch das Übertragungsdatenan zahlregister 35 zwischengespeicherten Wert verglichen, bei dem es sich um die im dritten Befehlszyklus eingegebene Übertragungsdatenanzahl handelt. Wenn der Vergleich zu einer Übereinstimmung führt, kann die WSM 53 erkennen, dass die abschließende Adresse erreicht ist, um dadurch die Datenübertragung abzuschließen.
  • (Ausführungsform 3)
  • Nun wird eine Ausführungsform 3 der Erfindung in Bezug auf einen Fall beschrieben, bei dem erkannt wird, ob das bei der Ausführungsform 1 beschriebene Speicheradressregister 3 einen speziellen Wert enthält oder nicht.
  • Die 7 ist ein Blockdiagramm, das die Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung gemäß der Ausführungsform 3 der Ausführungsform zeigt. In der 7 sind Komponenten, die ähnliche Effekte erzielen, wie sie durch die Komponenten der 1 erzielt werden, mit denselben Bezugszahlen gekennzeichnet, und so wird eine zugehörige Beschreibung weggelassen.
  • Wenn das erste und das zweite Speicherarray verschiedene Speicherkapazitäten aufweisen und die Anzahl der zum Spezifizieren von Daten erforderlichen Adressbits in jedem Speicherarray verschieden ist, ist es problematisch, eine obere Adresse zu handhaben, die nicht dazu benötigt wird, die Datenübertragungs-Startadresse und die Datenübertragungs-Abschlussadresse eines Speicherarrays mit einer kleineren Anzahl von Adressbits einzugeben. Obwohl es keine Rolle spielt, ob diese obere Adresse "unerheblich (beliebiger Wert)" ist, ist es, wenn das obere Bit einen speziellen Wert darstellt, von Vorteil, die Speicherkapazität zukünftig zu erhöhen.
  • Beispielsweise kann, wie es in der 7 dargestellt ist, durch Bereitstellen einer Erkennungsschaltung 64 mit einer Logikschaltung und einem Inverter für beispielsweise ein Speicheradressregister 3 einer Adressensteuerungsschaltung 62 und durch Verbinden eines Ausgangsanschlusses der Erkennungsschaltung 64 mit einer WSM 63 in solcher Weise, dass er Erkennungsabschnitt 631 in der WSM 53 erkennt, ob ein im Speicheradressregister 3 abgespeicherter Wert ein spezieller Wert ist oder nicht, die WSM 53 durch die Erkennungsschaltung 64 und den Erkennungsabschnitt 631 prüfen, ob alle überflüssigen oberen Adressen (bei der Ausführungsform 3 die oberen drei Bits) beispielsweise "0" sind, wenn die Speicherkapazität des zweiten Speicherarrays kleiner als die des ersten Speicherarrays ist. Wenn dies nicht erfüllt ist (beispielsweise entspricht die Datenübertragungs-Startadresse und/oder die Datenübertragungs-Abschlussadresse einer Adresse im anderen Speicherarray mit erhöhter Speicherkapazität), ist es möglich, die Datenübertragung zu unterbrechen.
  • Wenn die Erkennungsschaltung 64 und der Erkennungsabschnitt 631 als erster Erkennungsabschnitt zusammenwirken, und wenn das erste und das zweite Speicherarray verschiedene Speicherkapazitäten aufweisen, kann der erste Erkennungsabschnitt erkennen, ob ein Speicheradressregister, beispielsweise das Speicheradressregister 3, zum Speichern einer. Adresse eines Speicherarrays mit kleinerer Kapazität spezielle Werte für überflüssige obere Bits aufweist. Dies ermöglicht es, ein Speicherarray mit kleinerer Kapazität zu erkennen. Beispielsweise ist es möglich, zu erkennen, ob die Datenübertragungs-Startadresse und/oder die Datenübertragungs-Abschlussadresse in diesem Speicherarray vorhanden ist oder nicht.
  • (Ausführungsform 4)
  • Nun wird die Ausführungsform 4 der Erfindung für einen Fell beschrieben, bei dem erkannt wird, ob der bei der Ausführungsform 1 beschriebene Speicheradressenzähler 2 einen speziellen Wert enthält oder nicht. Wenn beispielsweise das erste Speicherarray ein Flashspeicherarray ist, wird erkannt, ob eine aktuell eingetragene Adresse eine Frontadresse eines Speicherblocks ist oder nicht.
  • Die 8 ist ein Blockdiagramm, das die Primärstruktur einer Datenübertragungs-Steuerungsvorrichtung 71 gemäß der Ausführungsform 4 der Erfindung zeigt. In der 8 sind Komponenten, die ähnliche Effekte wie diejenigen erzielen, wie sie durch die Komponenten der 1 erzielt werden, mit denselben Bezugszahlen gekennzeichnet, und so wird eine zugehörige Beschreibung weggelassen.
  • Wenn beispielsweise erkannt wird, ob die aktuell eingetragene Adresse die Frontadresse eines Speicherblocks in einem Flashspeicherarray ist oder nicht, wie es in der 8 dargestellt ist, ist es durch Bereitstellen einer Erkennungsschaltung 74 mit einer Logikschaltung und einem Inverter für beispielsweise den Speicheradressenzähler 2 einer Adressensteuerungsschaltung 72 und durch Verbinden eines Ausgangsanschlusses der Erkennungsschaltung 74 mit einer WSM 73 möglich, einen Erfassungsabschnitt 731 in der WSM 53 dazu zu verwenden, zu erkennen, ob der Wert des Speicheradressenzählers 2 ein spezieller Wert ist oder nicht. Beispielsweise ist es, wenn es möglich ist zu erkennen, dass alle Bits unter der Adresse des Speicherblocks "0" sind, möglich ist, die Grenzen zwischen Speicherblöcken dadurch zu prüfen, dass dafür gesorgt wird, dass der Erkennungsabschnitt 731 in der WSM 53 diesen Wert prüft, um dadurch die WSM 53 so zu steuern, dass sie beispielsweise eine Schutzprüfung an den Speicherblöcken ausführt.
  • Wenn die Erkennungsschaltung 74 und der Erkennungsabschnitt 731 als zweiter Erkennungsabschnitt zusammenwirken, kann dieser zweite Erkennungsabschnitt erkennen, ob eine Adresse, wie sie beispielsweise durch den Speicheradressenzähler 2 (oder einen Speicheradressenzähler 4) gespeichert wird, einem speziellen Wert entspricht, um dadurch beispielsweise eine Prüfung auf Grenzen der Speicherblöcke auszuführen.
  • Wie oben beschrieben, kann, gemäß den Ausführungsformen 1 bis 4 der Erfindung, ein Register, das Adressdaten speichert, wie sie zur Datenübertragung benötigt werden, zur wechselseitigen Datenübertragung zwischen mehreren auf demselben Halbleiterchip vorhandenen Speicherarrays verwendet werden, und dasselbe Register kann bei anderen Operationen, zusätzlich zur Datenübertragung, verwendet werden, um dadurch eine Steuerungsschaltung zu vereinfachen. Ferner führt die Vereinfachung der Steuerungsschaltung zu einer Verkleinerung der Layoutfläche eines Halbleiterchips.
  • Obwohl die Ausführungsformen 1 bis 4 der Erfindung in Bezug auf die Datenübertragungs-Steuerungsvorrichtung gemäß der Erfindung und den Halbleiterspeicher mit dieser beschrieben wurden, kann der Halbleiterspeicher gemäß der Erfindung leicht in ein elektronisches Informationsgerät, wie ein Mobiltelefon oder einen Computer, eingebaut werden, um dadurch einen Halbleiterchip mit kleinerer Fläche zu realisieren. Beispielsweise kann, wie es in der 10 dargestellt ist, der Halbleiterspeicher gemäß der Erfindung leicht in ein elektronisches Informationsgerät 80 als Informationsspeicherabschnitt eingebaut werden, wenn ein elektronisches Informationsgerät 80 mit Folgendem bereitgestellt ist: einem Informationsspeicherabschnitt wie einem RAM (SRAM, DRAM oder dergleichen) oder ROM (Flashspeicher oder dergleichen); einem Operationeneingabeabschnitt; einem Anzeigeabschnitt, wie einem Flüssigkristall display, der einen Startschirm, Ergebnisse einer Informationsverarbeitung usw. anzeigt, und einer CPU, die vom Operationeneingabeabschnitt einen Steuerungsbefehl empfängt und Information (z. B. Videodaten, Audiodaten usw.) auf Grundlage eines vorgegebenen Informationsverarbeitungsprogramms sowie diesem zugeordneten Daten verarbeitet, während Informationslese- und -schreibprozesse (Speicheroperationen) und eine Datenübertragungsoperation am Informatonsspeicherabschnitt ausgeführt werden.
  • Wie oben beschrieben, ist es, gemäß der Erfindung, durch gemeinsames Verwenden eines Registers, das Adressdaten speichert, wie sie zur Datenübertragung bei wechselseitiger Datenübertragung zwischen mehreren auf demselben Halbleiterchip vorhandenen Speicherarrays benötigt werden, möglich, eine Steuerungsschaltung zu vereinfachen, um dabei die Layoutfläche eines Halbleiterchips zu verkleinern.
  • Ferner ist es, da Speicheradresse-Speichereinrichtungen (Register) oder dergleichen, die zur Datenübertragung verwendet werden, zusätzlich zur Datenübertragung für andere Operationen genutzt werden können, möglich, eine Steuerungsschaltung zu vereinfachen, um dadurch die Layoutfläche eines Halbleiterchips zu verkleinern.
  • Ferner ist es möglich, die Datenübertragungs-Steuerungsvorrichtung gemäß der Erfindung auf einfache Weise bei einem Halbleiterspeicher anzuwenden, und noch ferner ist es möglich, diesen Halbleiterspeicher auf einfache Weise bei einem elektronischen Informationsgerät anzuwenden. In diesen Fällen ist es auch möglich, eine Schaltung zum Ausführen einer Speicheroperation und einer Datenübertragungsoperation zu vereinfachen, um dadurch die Layoutfläche eines Halbleiterchip zu verkleinern.
  • Dem Fachmann sind verschiedene andere Modifizierungen ersichtlich, und sie können von ihm leicht realisiert werden, ohne dass dadurch vom Schutzumfang der Erfindung abgewichen würde.

Claims (10)

  1. Datenübertragungs-Steuerungsvorrichtung (11, 62, 71) zum Steuern einer wechselseitigen Datenübertragung zwischen einem ersten und einem zweiten Speicherarray, die auf einem einzelnen Halbleiterchip vorhanden sind, auf Grundlage eines eingegebenen Steuerungsbefehls sowie Datenübertragungs-Startadressen und einer Datenübertragungs-Abschlussadresse des ersten und des zweiten Speicherarrays, mit: einem Befehlserkennungsabschnitt (131) zum Erkennen des eingegebenen Steuerungsbefehls; einem ersten Adressenausgabeabschnitt (132) zum Steuern der Ausgabe- und Speicherungsreihenfolge der Datenübertragungs-Startadressen und der Datenübertragungs-Abschlussadresse auf Grundlage des eingegebenen Steuerungsbefehls; einem ersten Speicheradresse-Speicherabschnitt (1) zum Speichern der vom ersten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des ersten Speicherarrays; einem zweiten Speicheradresse-Speicherabschnitt zum Speichern der vom ersten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des zweiten Speicherarrays; einem dritten Speicheradresse-Speicherabschnitt (5) zum Speichern der vom ersten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Abschlussadresse; und einem ersten Vergleichszieladresse-Umschaltabschnitt (134) zum Ausführen eines Umschaltvorgangs von einer für einen Vergleich mit der Datenübertragungs-Abschlussadresse vorgesehenen Speicheradresse auf eine Speicheradresse, die entweder dem ersten oder dem zweiten Speicherarray entspricht, um den Abschluss einer Datenübertragung auf Grundlage des eingegebenen Steuerungsbefehls zu erkennen, wobei die wechselseitige Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage sequenziell inkrementierter Adresswerte des ersten und des zweiten Speicheradresse-Speicherabschnitts ausgeführt wird.
  2. Datenübertragungs-Steuerungsvorrichtung nach Anspruch 1, bei der der erste Adressenausgabeabschnitt (132) eine Datenübertragungs-Startadresse des ersten Speicherarrays, eine Datenübertragungs-Abschlussadresse des ersten Speicherarrays und eine Datenübertragungs-Startadresse des zweiten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in dieser Speicherreihenfolge ausgibt, oder die Datenübertragungs-Startadresse des zweiten Speicherarrays, die Datenübertragungs-Abschlussadresse des zweiten Speicherarrays und die Datenübertragungs-Startadresse des ersten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in der Speicherreihenfolge ausgibt, wobei sie ferner Folgendes aufweist: einen ersten Speicheradresse-Zählerabschnitt (2) zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einen ersten Speicheradresse-Übertragungsabschnitt (9) zum Übertragen der Datenübertragungs-Startadresse vom ersten Speicheradresse-Speicherabschnitt an den ersten Speicheradresse-Zählerabschnitt; einen zweiten Speicheradresse-Zählerabschnitt (4) zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einen zweiten Speicheradresse-Übertragungsabschnitt (10) zum Übertragen der Datenübertragungs-Startadresse vom zweiten Speicheradresse-Speicherabschnitt an den zweiten Speicheradresse-Zählerabschnitt; einen ersten Vergleichsabschnitt (8) zum Vergleichen des Werts der Datenübertragungs-Abschlussadresse und des Werts des ersten oder zweiten Speicheradresse-Zählerabschnitts; wobei der erste Vergleichszieladresse-Umschaltabschnitt (134) einen Umschaltvorgang zwischen Werten des ersten und des zweiten Speicheradresse-Zählerabschnitts, die für den Vergleich mit der Datenübertragungs-Abschlussadresse vorgesehen sind, auf Grundlage des eingegebenen Steuerungsbefehls steuert, um den Wert der Datenübertragungs-Abschlussadresse mit einem der Werte vom ersten und zweiten Speicheradresse-Zählerabschnitt zu vergleichen; und einen ersten Datenübertragungs-Steuerungsabschnitt (133) zum Ausführen der wechselseitigen Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage von Adresswerten, wie sie im ersten und zweiten Speicheradresse-Zählerabschnitt eingetragen sind, und zum Abschließen der wechselseitigen Datenübertragung auf Grundlage eines durch den ersten Vergleichsabschnitt erzielten Vergleichsergebnisses.
  3. Datenübertragungs-Steuerungsvorrichtung (51) zum Steuern einer wechselseitigen Datenübertragung zwischen einem ersten und einem zweiten Speicherarray, die auf einem einzelnen Halbleiterchip vorhanden sind, auf Grundlage eines eingegebenen Steuerungsbefehls, Datenübertragungs-Startadressen und einer Datenübertragungs-Abschlussadresse des ersten und des zweiten Speicherarrays, und der Anzahl zu übertragender Datenchargen, mit: einem Befehlserkennungsabschnitt (531) zum Erkennen des eingegebenen Steuerungsbefehls; einem zweiten Adressenausgabeabschnitt (532) zum Steuern der Ausgabe- und Speicherreihenfolge der Datenübertragungs-Startadressen und der Datenübertragungs-Abschlussadresse auf Grundlage des eingegebenen Steuerungsbefehls; einem ersten Speicheradresse-Speicherabschnitt (31) zum Speichern der vom zweiten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des ersten Speicherarrays; einem zweiten Speicheradresse-Speicherabschnitt (32) zum Speichern der vom zweiten Adressenausgabeabschnitt ausgegebenen Datenübertragungs-Startadresse des zweiten Speicherarrays; einem Übertragungsdatenanzahl-Speicherabschnitt (35) zum Speichern der Anzahl der zu übertragenden Datenchargen, wie vom zweiten Adressenausgabeabschnitt ausgegeben; einem Datenzählerabschnitt (36) zum Inkrementieren der Anzahl der Datenchargen für jede Datenübertragungseinheit; einem zweiten Vergleichsabschnitt (37) zum Vergleichen der Anzahl der Datenchargen mit dem Wert des Datenzählerabschnitts; und einem zweiten Datenübertragungs-Steuerungsabschnitt (533) zum Ausführen der wechselseitigen Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage von Werten, die durch sequenzielles Inkrementieren von Adresswerten des ersten und des zweiten Speicheradresse-Speicherabschnitts erhalten werden, und zum Abschließen der wechselseitigen Datenübertragung auf Grundlage eines durch den zweiten Vergleichsabschnitt erzielten Vergleichsergebnisses.
  4. Datenübertragungs-Steuerungsvorrichtung nach Anspruch 3, bei der der zweite Adressenausgabeabschnitt (532) eine Datenübertragungs-Startadresse des ersten Speicherarrays, die Anzahl zu übertragender Datenchargen und eine Datenübertragungs-Startadresse des zweiten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in dieser Speicherreihenfolge ausgibt, oder die Datenübertragungs-Startadresse des zweiten Speicherarrays, die Anzahl zu übertragender Datenchargen und die Datenübertragungs-Startadresse des ersten Speicherarrays auf Grundlage des eingegebenen Steuerungsbefehls in dieser Speicherreihenfolge ausgibt, wobei sie ferner mit Folgendem versehen ist: einem ersten Speicheradresse-Zählerabschnitt (33) zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einem ersten Speicheradresse-Übertragungsabschnitt (40) zum Übertragen der Datenübertragungs-Startadresse vom ersten Speicheradresse-Speicherabschnitt an den ersten Speicheradresse-Zählerabschnitt; einem zweiten Speicheradresse-Zählerabschnitt (34) zum Inkrementieren einer Speicheradresse für jede Datenübertragungseinheit; einem zweiten Speicheradresse-Übertragungsabschnitt (41) zum Übertragen der Datenübertragungs-Startadresse vom zweiten Speicheradresse-Speicherabschnitt an den zweiten Speicheradresse-Zählerabschnitt; wobei der zweite Datenübertragungs-Steuerungsabschnitt (533) die wechselseitige Datenübertragung zwischen dem ersten und dem zweiten Speicherarray auf Grundlage von im ersten und zweiten Speicheradresse-Zählerabschnitt eingetragenen Adresswerten ausführt.
  5. Datenübertragungs-Steuerungsvorrichtung nach einem der Ansprüche 1 bis 4, bei der die Speicherkapazität des ersten und des zweiten Speicherarrays verschieden sind und ein Speicheradresse-Speicherabschnitt zum Speichern einer Adresse eines Speicherarrays mit kleinerer Speicherkapazität mit einem ersten Erkennungsabschnitt (64, 631) zum Erkennen, ob überflüssige obere Adressen spezielle Werte haben oder nicht, versehen ist.
  6. Datenübertragungs-Steuerungsvorrichtung nach Anspruch 2 oder 4, mit einem zweiten Erkennungsabschnitt (74, 731) zum Erkennen, ob eine im Speicheradresse-Zählerabschnitt gespeicherte Adresse einen speziellen Wert aufweist oder nicht.
  7. Datenübertragungs-Steuerungsvorrichtung nach einem der Ansprüche 1 bis 4, bei der der erste und zweite Speicheradresse-Speicherabschnitt Speicheradresseregister sind.
  8. Halbleiterspeicher mit der Datenübertragungs-Steuerungsvorrichtung des Anspruchs 1.
  9. Halbleiterspeicher nach Anspruch 8, mit einem Adresseninformations-Speicherabschnitt zum Speichern von Adresseninformation, die entsprechend einem eingegebenen Steuerungsbefehl kontrolliert wird und eine Adresse repräsentiert, die für eine Speicheroperation vorgesehen ist, einschließlich Ope rationen zum Schreiben von Daten, Löschen von Daten, Lesen von Daten und Verifizieren von Daten, die durch einen Steuerungsbefehl für andere Operationen als die Datenübertragungsoperation spezifiziert sind, wobei der Adresseninformations-Speicherabschnitt so konfiguriert ist, dass er für den ersten oder zweiten Speicheradresse-Speicherabschnitt, wie er für die Datenübertragung benötigt wird, gemeinsam genutzt wird.
  10. Elektronisches Informationsgerät mit dem Halbleiterspeicher des Anspruchs 8, das eine Speicheroperation und eine Datenübertragungsoperation ausführt.
DE60223752T 2001-06-28 2002-06-28 Datenübertragungssteurungsanordnung, Halbleiterspeicheranordnung und elektronisches Informationsgerät Expired - Lifetime DE60223752T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001197536 2001-06-28
JP2001197536A JP3900863B2 (ja) 2001-06-28 2001-06-28 データ転送制御装置、半導体記憶装置および情報機器

Publications (2)

Publication Number Publication Date
DE60223752D1 DE60223752D1 (de) 2008-01-10
DE60223752T2 true DE60223752T2 (de) 2008-10-30

Family

ID=19035124

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60223752T Expired - Lifetime DE60223752T2 (de) 2001-06-28 2002-06-28 Datenübertragungssteurungsanordnung, Halbleiterspeicheranordnung und elektronisches Informationsgerät

Country Status (6)

Country Link
US (1) US6646947B2 (de)
EP (1) EP1271330B1 (de)
JP (1) JP3900863B2 (de)
KR (1) KR100468634B1 (de)
DE (1) DE60223752T2 (de)
TW (1) TWI224727B (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7758888B2 (en) 2000-04-21 2010-07-20 Sol-Gel Technologies Ltd. Composition exhibiting enhanced formulation stability and delivery of topical active ingredients
US6788605B2 (en) * 2002-07-15 2004-09-07 Hewlett-Packard Development Company, L.P. Shared volatile and non-volatile memory
US6948041B2 (en) * 2002-10-24 2005-09-20 Micron Technology, Inc. Permanent memory block protection in a flash memory device
JP4624732B2 (ja) * 2003-07-16 2011-02-02 パナソニック株式会社 アクセス方法
JP2005135065A (ja) * 2003-10-29 2005-05-26 Hitachi Ltd 記憶デバイス制御装置、及び記憶デバイス制御装置の制御方法
JP4717570B2 (ja) 2005-09-15 2011-07-06 株式会社リコー データ転送装置、表示装置、およびデータ転送方法
US7721018B2 (en) * 2006-08-24 2010-05-18 Microchip Technology Incorporated Direct memory access controller with flow control
BRPI0808163A2 (pt) 2007-02-01 2014-11-04 Sol Gel Technologies Ltd Composição para aplicação tópica, métodos para tratar uma condição de superfície em um indivíduo, para preparar uma composição, e para usar o kit, e, kit
US8134462B1 (en) * 2008-08-08 2012-03-13 The United States Of America As Represented By The Secretary Of The Navy Self-contained sensor package for water security and safety
KR200452423Y1 (ko) * 2009-01-23 2011-02-28 목준수 조립식 행거형 간판
KR101877938B1 (ko) * 2011-12-21 2018-08-10 에스케이하이닉스 주식회사 반도체 메모리 장치
JP5790532B2 (ja) * 2012-02-13 2015-10-07 セイコーエプソン株式会社 電子機器、及びメモリー制御方法
US9268566B2 (en) 2012-03-15 2016-02-23 International Business Machines Corporation Character data match determination by loading registers at most up to memory block boundary and comparing
US9280347B2 (en) 2012-03-15 2016-03-08 International Business Machines Corporation Transforming non-contiguous instruction specifiers to contiguous instruction specifiers
US9459867B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a specified memory boundary indicated by the instruction
US9588762B2 (en) 2012-03-15 2017-03-07 International Business Machines Corporation Vector find element not equal instruction
US9710266B2 (en) 2012-03-15 2017-07-18 International Business Machines Corporation Instruction to compute the distance to a specified memory boundary
US9454366B2 (en) * 2012-03-15 2016-09-27 International Business Machines Corporation Copying character data having a termination character from one memory location to another
US9459864B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Vector string range compare
US9715383B2 (en) 2012-03-15 2017-07-25 International Business Machines Corporation Vector find element equal instruction
US9454367B2 (en) * 2012-03-15 2016-09-27 International Business Machines Corporation Finding the length of a set of character data having a termination character
US9459868B2 (en) 2012-03-15 2016-10-04 International Business Machines Corporation Instruction to load data up to a dynamically determined memory boundary
JP7292873B2 (ja) * 2018-12-26 2023-06-19 キヤノン株式会社 画像形成装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58166581A (ja) 1982-03-29 1983-10-01 Fujitsu Ltd メモリのアドレツシング方式
US5313610A (en) * 1991-07-03 1994-05-17 Picker International, Inc. Direct memory access control device for use with a single n-bit bus with MOF the n-bits reserved for control signals and (n-m) bits reserved for data addresses
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
US5243575A (en) * 1992-06-19 1993-09-07 Intel Corporation Address transition detection to write state machine interface circuit for flash memory
JP3328605B2 (ja) * 1992-06-22 2002-09-30 株式会社日立製作所 半導体記憶装置
US5644787A (en) * 1993-08-03 1997-07-01 Seiko Epson Corporation Apparatus for controlling data transfer between external interfaces through buffer memory using table data having transfer start address transfer count and unit selection parameter
KR950015370A (ko) * 1993-11-17 1995-06-16 김광호 고속으로 데이타를 라이트하기 위한 플래쉬 라이트 모드 동작방법
US5737748A (en) * 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
JP3729591B2 (ja) 1997-04-09 2005-12-21 株式会社ルネサステクノロジ 記憶装置およびクロック発振停止時のデータ受け付け制御方法
US6154793A (en) * 1997-04-30 2000-11-28 Zilog, Inc. DMA with dynamically assigned channels, flexible block boundary notification and recording, type code checking and updating, commands, and status reporting
JPH1185609A (ja) 1997-09-09 1999-03-30 Mitsubishi Electric Corp 半導体記憶装置及びそのデータ管理方法
JP3599541B2 (ja) * 1997-11-27 2004-12-08 シャープ株式会社 不揮発性半導体記憶装置
JP2000276880A (ja) * 1999-03-25 2000-10-06 Sanyo Electric Co Ltd 不揮発性メモリの書き込み回路

Also Published As

Publication number Publication date
EP1271330A3 (de) 2004-03-10
EP1271330A2 (de) 2003-01-02
US6646947B2 (en) 2003-11-11
DE60223752D1 (de) 2008-01-10
EP1271330B1 (de) 2007-11-28
KR20030003047A (ko) 2003-01-09
JP3900863B2 (ja) 2007-04-04
KR100468634B1 (ko) 2005-01-27
TWI224727B (en) 2004-12-01
US20030007411A1 (en) 2003-01-09
JP2003015948A (ja) 2003-01-17

Similar Documents

Publication Publication Date Title
DE60223752T2 (de) Datenübertragungssteurungsanordnung, Halbleiterspeicheranordnung und elektronisches Informationsgerät
DE3909896C2 (de)
DE4110173C2 (de) Adressenansteuereinrichtung für einen SRAM und Verfahren zum Betreiben derselben
DE19615956C2 (de) Ein nicht-flüchtiger, an einen DRAM-Bus anschließbarer Halbleiterspeicher und Verfahren zu dessen Betrieb
DE69630624T2 (de) EEPROM-Matrix mit einem, dem "Flash"-Speicher ähnlichen Kern
DE69433320T2 (de) Ferngesteuerter rreprogrammierbarer programmspeicher fuer einen mikrokontroller
DE69635663T2 (de) vERFAHREN FÜR DAS EINSPEICHERN VON DATEN IN EINEM FLASH-EEPROM-HAUPTSPEICHER IN EINEM RECHNERSYSTEM
DE60317347T2 (de) Speicherschaltung mit nichtflüchtigem ram und ram
DE602004004002T2 (de) Verfahren und Speichersystem basierend auf dualem data strobe mode and einfachem data strobe mode mit Dateninversion
DE69630110T2 (de) Verfahren und vorrichtung zur steuerung von linearen und kippschaltbetrieb stosszugriffssequenzen mittels kippschaltbetrieb inkrement-logik
DE102006062383B4 (de) Halbleiterspeicherelement und System für ein Halbleiterspeicherelement
DE60012081T2 (de) Nichtflüchtige Halbleiterspeicheranordnung, die eine Datenleseoperation während einer Datenschreib/lösch-Operation erlaubt
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3902425A1 (de) Inhaltsgesteuerte speichervorrichtung (cam) und betriebsverfahren
DE4210857A1 (de) Halbleiterspeichereinrichtung und verfahren zum uebertragen von daten
DE10301431A1 (de) Speicherbaustein und zugehöriges Betriebsverfahren
DE10160089A1 (de) Halbleiterspeichervorrichtung
DE112004001660T5 (de) Echotakt auf Speichersystem mit Warteinformationen
DE102004060348A1 (de) Halbleiterspeichervorrichtung und Gehäuse dazu, und Speicherkarte mit Verwendung derselben
DE112020003768T5 (de) Verfahren zur fehlererkennung und korrektur und entsprechende systeme und geräte dafür
DE19733527A1 (de) Kommunikationssystem mit einer DMA-Einheit
DE60116975T2 (de) Halbleiterspeicheranordnung und Datenverarbeitungseinheit
DE102004059813A1 (de) Betriebsverfahren für ein elektronisches Host-Karte-System und Speichersystem
DE112004003009B4 (de) Nicht-flüchtiger Speicher und Verfahren zum Festlegen von Information eines Nicht-flüchtigen Speichers
DE60221607T2 (de) Nichtflüchtiger Halbleiterspeicher und Informationsgerät

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1271330

Country of ref document: EP

Representative=s name: PATENTANWAELTE RUFF, WILHELM, BEIER, DAUSTER & PAR