DE10196011B3 - Synchronous memory device and method for reading data from a synchronous memory device - Google Patents

Synchronous memory device and method for reading data from a synchronous memory device Download PDF

Info

Publication number
DE10196011B3
DE10196011B3 DE10196011T DE10196011T DE10196011B3 DE 10196011 B3 DE10196011 B3 DE 10196011B3 DE 10196011 T DE10196011 T DE 10196011T DE 10196011 T DE10196011 T DE 10196011T DE 10196011 B3 DE10196011 B3 DE 10196011B3
Authority
DE
Germany
Prior art keywords
data
memory
read
status
write
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 - Fee Related
Application number
DE10196011T
Other languages
English (en)
Other versions
DE10196011T1 (de
Inventor
Frankie F. Roohparvar
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.)
Round Rock Research LLC
Original Assignee
Micron Technology Inc
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
Priority to US19350600P priority Critical
Priority to US60/193,506 priority
Priority to US09/567,733 priority patent/US6615307B1/en
Priority to US09/567,733 priority
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Priority to PCT/US2001/010040 priority patent/WO2001075896A2/en
Publication of DE10196011T1 publication Critical patent/DE10196011T1/de
Application granted granted Critical
Publication of DE10196011B3 publication Critical patent/DE10196011B3/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1615Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/105Aspects related to pads, pins or terminals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2281Timing of a read operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/22Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously

Abstract

Eine synchrone Speichereinrichtung umfassend: einen Pipelinepuffer mit einer Eingabeverbindung und einer Ausgabeverbindung, wobei der Pipelinepuffer eine Vielzahl von wählbaren Durchlaufpfaden aufweist, um Daten von der Eingabeverbindung zu der Ausgabeverbindung zu leiten, wobei jeder Durchlaufpfad eine vorbestimmte Anzahl von Taktzyklen erfordert; einen Multiplexschaltkreis, der an die Eingabeverbindung des Pipelinepuffers gekoppelt ist, wobei der Multiplexschaltkreis eine erste und eine zweite Eingabe aufweist; einen Datenregisterschaltkreis, der an die erste Eingabe des Multiplexschaltkreises gekoppelt ist; und einen Datenleseschaltkreis, der an die zweite Eingabe des Multiplexschaltkreises gekoppelt ist, wobei der Datenleseschaltkreis Ausgabedaten zur Verfügung stellt, die von einem Speicherfeld der synchronen Speichereinrichtung gelesen werden.A synchronous storage device comprising: a pipeline buffer having an input connection and an output connection, the pipeline buffer having a plurality of selectable traversal paths for routing data from the input connection to the output connection, each traverse path requiring a predetermined number of clock cycles; a multiplexing circuit coupled to the input connection of the pipeline buffer, the multiplexing circuit having first and second inputs; a data register circuit coupled to the first input of the multiplexing circuit; and a data read circuit coupled to the second input of the multiplex circuit, the data read circuit providing output data read from a memory array of the synchronous memory device.

Description

  • Technisches UmfeldTechnical environment
  • Die vorliegende Erfindung bezieht sich auf eine synchrone Speichereinrichtungen und ein Verfahren zum Lesen von Daten von einer synchronen Speichereinrichtung.The present invention relates to synchronous memory devices and a method for reading data from a synchronous memory device.
  • Hintergrund der ErfindungBackground of the invention
  • Speichereinrichtungen sind typischerweise als interne Speicherbereiche in einem Computer ausgebildet. Der Begriff Speicher kennzeichnet Datenspeicher, die sich in Form von Chips mit integrierten Schaltkreisen ableiten. Es gibt verschiedene Arten von Speichern, Ein Typ ist ein RAM (Random Access Memory). Dieser wird im allgemeinen als Hauptspeicher in einer Computerumgebung verwendet. RAM betrifft einen Lese- und Schreibspeicher; das heißt es ist beides möglich: Es können Daten in das RAM geschrieben werden und Daten von dem RAM ausgelesen werden. Im Unterschied zu einem ROM (Read Only Memory Festwertspeicher), der nur erlaubt, dass Daten gelesen werden. Die meisten RAM sind flüchtige Speicher, d. h., dass ein stetiger Elektrizitätsfluß erforderlich ist, um deren Inhalte zu erhalten. Sobald die Spannung abgedreht wird, sind alle Daten innerhalb des RAM verloren.Memory devices are typically formed as internal memory areas in a computer. The term memory denotes data memories which are derived in the form of chips with integrated circuits. There are several types of memory, One type is a Random Access Memory (RAM). This is generally used as main memory in a computer environment. RAM relates to a read and write memory; that is, both are possible: data can be written to the RAM and data read out from the RAM. Unlike a ROM (read only memory read-only memory), which only allows data to be read. Most RAM are volatile memory, d. that is, a steady flow of electricity is required to maintain their contents. Once the voltage is turned off, all data within the RAM is lost.
  • Computer beinhalten nahezu immer eine geringe Anzahl von ROM-Bausteinen, die Befehle für das Hochfahren des Computers beinhalten. Anders als ein RAM kann ein ROM nicht beschrieben werden. Ein EEPROM (Electrically Erasable Programmable Read-Only-Memory) ist ein spezieller Typ eines ROMs, der gelöscht werden kann, indem er einer elektrischen Ladung ausgesetzt wird. Ebenso wie andere Typen von ROM-Bauteilen, ist das EEPROM üblicherweise nicht so schnell wie das RAM. Das EEPROM umfasst eine hohe Anzahl von Speicherzellen mit elektrisch isolierten Gates (Floating Gates). Daten sind in den Speicherzellen in Form von Ladung auf den Floating Gates gespeichert. Ladung wird zu den Floating Gates hin geleitet oder von diesen entfernt, indem Programmierungs- bzw. Löschungsoperationen durchgeführt werden.Computers almost always contain a small number of ROM devices that contain commands to power up the computer. Unlike a RAM, a ROM can not be described. An EEPROM (Electrically Erasable Programmable Read-Only Memory) is a special type of ROM that can be erased by being exposed to an electrical charge. Like other types of ROM devices, the EEPROM is usually not as fast as the RAM. The EEPROM comprises a large number of memory cells with electrically isolated gates (floating gates). Data is stored in the memory cells in the form of charge on the floating gates. Charge is directed to or removed from the floating gates by performing programming or erase operations.
  • Noch eine weitere Art von nicht-flüchtigen Speicherbauteilen ist ein Flash-Memory. Ein Flash-Memory ist ein solcher Typ eines EEPROM, der in Blöcken anstelle von einem Byte pro Zeiteinheit gelöscht und reprogrammiert werden kann. Bei vielen modernen PCs ist deren BIOS in einen Flash-Memory-Chip gespeichert, so dass es leicht erneuert werden kann, falls dies notwendig ist. Ein solches BIOS wird manchmal auch Flash-BIOS genannt. Flash-Memory wird auch gerne in Modems verwendet, da es dem Modemhersteller ermöglicht, neue Protokolle zu verwenden, sobald sie standardisiert sind.Yet another type of non-volatile memory device is a flash memory. A flash memory is one such type of EEPROM that can be erased and reprogrammed in blocks instead of one byte per unit of time. Many modern PCs have their BIOS stored in a flash memory chip so it can be easily updated if necessary. Such a BIOS is sometimes called a flash BIOS. Flash memory is also popular in modems because it allows the modem manufacturer to use new protocols once they are standardized.
  • Ein typischer Flash-Memory umfasst ein Speicherfeld, das eine hohe Anzahl von Speicherzellen, die in Reihe und Spalten angeordnet sind, umfasst. Jede der Speicherzellen umfasst einen Floating Gate FET (field-effect-fransistor), der in der Lage ist, Ladung zu halten. Diese Zellen sind üblicherweise zu Blöcken gruppiert. Jade der Zellen innerhalb eines Blockes kann wahlfrei durch Laden des Floating Gates elektrisch programmiert werden. Durch eine Blocklöschungsoperation kann die Ladung von dem Floating Gate entfernt werden. Die Daten in einer Zelle werden durch das Vorhandensein oder das Nicht-Vorhandensein von Ladung in dem Floating Gate bestimmt.A typical flash memory includes a memory array that includes a large number of memory cells arranged in series and columns. Each of the memory cells includes a floating gate FET capable of holding charge. These cells are usually grouped into blocks. Jade of the cells within a block can be optionally electrically programmed by loading the floating gate. By a block erase operation, the charge can be removed from the floating gate. The data in a cell is determined by the presence or absence of charge in the floating gate.
  • Ein synchroner DRAM (SDRAM) ist ein Typ eines DRAM, der zu wesentlich höheren Taktgeschwindigkeiten betrieben werden kann als konventionelle DRAM-Speicher. Ein SDRAM synchronisiert sich selbst über einen CPU Bus und kann bei 100 MHz ungefähr drei mal schneller betrieben werden als ein konventioneller FPM RAM (Fast Page Mode RAM), und ca. zwei mal so schnell wie ein EDO (Extended Data Output) DRAM und ein BEDO (Burst extended Data Output) DRAM. Auf einen SDRAM kann schnell zugegriffen werden, er ist aber flüchtig. Viele Computersysteme sind so ausgelegt, dass sie mit SDRAMs betrieben werden, aber gleichwohl von einem nicht-flüchtigen Speicher profitieren würden.A synchronous DRAM (SDRAM) is a type of DRAM that can operate at much higher clock speeds than conventional DRAM memories. An SDRAM synchronizes itself over a CPU bus and can operate at 100 MHz approximately three times faster than a conventional FPM RAM (Fast Page Mode RAM), and about twice as fast as an EDO (Extended Data Output) DRAM and a BEDO (burst extended data output) DRAM. An SDRAM can be accessed quickly, but it is volatile. Many computer systems are designed to run on SDRAMs, but would still benefit from non-volatile memory.
  • Aus den oben genannten Gründen und aus weiteren Gründen, die weiter unten angesprochen werden und für einen Fachmann durch Lesen und Verstehen der vorliegenden Beschreibung verständlich werden, besteht in der Technik ein Bedarf für eine nicht-flüchtige Speichereinrichtung, die ähnlich zu SDRAM-Operationen betrieben werden kann.For the above reasons, and for other reasons which will be discussed below and which will become apparent to one of ordinary skill in the art upon reading and understanding the present specification, there is a need in the art for a non-volatile memory device that operates similarly to SDRAM operations can.
  • Aus der US 6031787 A ist ein Speichersystem bekannt, bei dem eine Schaltung zur Erzeugung verschiedener I/O-Latenzzeiten zum Einsatz kommt. Ferner sind bei dem Speicherfeld Schreib- und Lese-I/O-Latenzzeiten möglich, indem die Taktsteuerung verzögert wird, wenn die Input-Daten im Speicher bei dem Interface zwischengespeichert und die Output-Daten über das Interface getaktet werden.From the US 6031787 A a memory system is known in which a circuit for generating different I / O latencies is used. Further, memory and read I / O latencies are possible by delaying the clocking when the input data in the memory is latched at the interface and the output data is clocked via the interface.
  • Aus der US 6044023 A ist eine Latenz-Erzeugungsschaltung bekannt. Der offenbarte Pipelinepuffer lenkt seinen Output von verschiedenen Stufen des Puffers zu einem der vielen Output-Register. Anschließend wird das gewählte Register an das Interface der synchronen Speichervorrichtung verbunden, um eine synchrone Speichervorrichtung mit einer programmierbaren Latenzzeit zu gewährleisten. From the US 6044023 A For example, a latency generating circuit is known. The disclosed pipeline buffer directs its output from different stages of the buffer to one of the many output registers. Thereafter, the selected register is connected to the interface of the synchronous memory device to provide a synchronous memory device with a programmable latency.
  • Es ist folglich die Aufgabe der Erfindung, eine nicht-flüchtige Speichereinrichtung bereitzustellen, die ähnlich zu SDRAM-Operationen betrieben werden kann und mit der ein Buskonflikt verkleinert wird.It is therefore the object of the invention to provide a non-volatile memory device which can be operated similarly to SDRAM operations and with which a bus conflict is reduced.
  • Zusammenfassung der ErfindungSummary of the invention
  • Die oben erwähnten Probleme mit Speichereinrichtungen und andere Probleme werden von der vorliegenden Erfindung angesprochen und werden durch Studium der folgenden Beschreibung verständlich.The above-mentioned problems with memory devices and other problems are addressed by the present invention and will be understood from a study of the following description.
  • In einer Ausführungsform stellt die vorliegende Erfindung ein nichtflüchtiges, synchrones Flash-Memory (bzw. einen Flash-Speicher) zur Verfügung, der zu Pin-Zuweisungen von existierenden SDRAM-Gehäusen kompatibel ist. Es wird verständlich durch Lesen der detaillierten Figurenbeschreibung, dass Systemingenieure mit Wissen in SDRAM-Anwendungen die vorliegende Erfindung leicht implementieren können um Systemoperationen zu verbessern.In one embodiment, the present invention provides a nonvolatile, synchronous flash memory (or flash memory) that is compatible with pin assignments of existing SDRAM packages. It will be understood by reading the detailed figure description that system engineers with knowledge in SDRAM applications can easily implement the present invention to improve system operations.
  • In einer Ausführungsform umfasst eine synchrone Speichereinrichtung einen Pipeline-Puffer bzw. einen Fließbandpuffer mit einem Eingabeanschluß bzw. einer Eingabeverbindung und mit einem Ausgabeanschluß bzw. mit einer Ausgabeverbindung. Der Pipeline-Puffer hat eine Vielzahl von wahlbaren Durchlaufpfaden, um Daten von der Eingabeverbindung zu der Ausgabeverbindung zu leiten, wobei jeder Durchlaufpfad eine vorbestimmte Anzahl von Taktzyklen erfordert. Der Speicher beinhaltet einen Multiplexschaltkreis, der an die Eingabe des Pipeline-Puffers angeschlossen ist. Der Multiplexschaltkreis hat eine erste und eine zweite Eingabe. Ein Datenregisterschaltkreis ist an die erste Eingabe des Multiplexschaltkreises angeschlossen und ein Datenleseschaltkreis ist an die zweite Eingabe des Multiplexschaltkreises angeschlossen. Der Datenleseschaltkreis stellt Ausgabedaten zur Verfügung, die von einer Speichermatrix einer synchronen Speichereinrichtung gelesen werden.In one embodiment, a synchronous memory device comprises a pipeline buffer having an input port and an output port. The pipeline buffer has a plurality of selectable pass paths for routing data from the input link to the output link, where each pass path requires a predetermined number of clock cycles. The memory includes a multiplexing circuit connected to the input of the pipeline buffer. The multiplexing circuit has a first and a second input. A data register circuit is connected to the first input of the multiplexing circuit and a data read circuit is connected to the second input of the multiplexing circuit. The data read circuit provides output data read from a memory array of a synchronous memory device.
  • In einer anderen Ausführungsform enthält ein Verarbeitungssystem einen Speichercontroller bzw. ein Speichersteuerwerk und eine synchrone Flash-Memory-Einrichtung, die an das Speichersteuerwerk angeschlossen ist. Das Speichersteuerwerk empfängt Speicherzelldaten von der synchronen Flash-Memory-Einrichtung zu einer ersten vorbestimmten Anzahl von Taktzyklen nachdem eine Speicherspaltenadresse durch das Speichersteuerwerk zur Verfügung gestellt worden ist. Das Speichersteuerwerk empfängt weiterhin Statusdaten von einer synchronen Flash-Memory-Einrichtung zu einer zweiten vorbestimmten Anzahl von Taktzyklen nachdem eine Statusleseanfrage durch das Speichersteuerwerk zur Verfügung gestellt worden ist. Die erste und zweite vorbestimmte Anzahl von Taktzyklen gleichen einander.In another embodiment, a processing system includes a memory controller and a synchronous flash memory device connected to the memory controller. The memory controller receives memory cell data from the synchronous flash memory device at a first predetermined number of clock cycles after a memory column address has been provided by the memory controller. The memory controller further receives status data from a synchronous flash memory device at a second predetermined number of clock cycles after a status read request has been provided by the memory controller. The first and second predetermined number of clock cycles are equal to each other.
  • Es wird ein Verfahren zum Lesen von einer synchronen Flash-Memory-Einrichtung zur Verfügung gestellt. Das Verfahren umfasst folgende Schritte: Initiieren einer Speicherzellen-Leseoperation, Ausgabe von Speicherzellendaten in Antwort auf die Speicherzellen-Leseoperation. Die Speicherzellendaten werden über Datenverbindungen bzw. Datenanschlüsse ausgegeben zu einer vorbestimmten Anzahl von Taktzyklen, nachdem die Speicherzellen-Leseoperation initiiert wurde. Das Verfahren beinhaltet das Initiieren eines Statuslesezugriffes und das Ausgeben von Statusdaten in Antwort auf den Statuslesezugriff. Die Statusdaten werden über Datenverbindungen ausgegeben zu einer vorbestimmten Anzahl von Taktzyklen, nachdem ein Statuslesezugriff initiiert worden ist.A method of reading from a synchronous flash memory device is provided. The method comprises the steps of: initiating a memory cell read operation, outputting memory cell data in response to the memory cell read operation. The memory cell data is output via data connections at a predetermined number of clock cycles after the memory cell read operation is initiated. The method includes initiating a status read access and outputting status data in response to the status read access. The status data is output via data links at a predetermined number of clock cycles after a status read access has been initiated.
  • Kurze Beschreibung der ZeichnungenBrief description of the drawings
  • 1A ist ein Blockdiagramm eines synchronen Flash-Memorys der vorliegenden Erfindung; 1A Fig. 10 is a block diagram of a synchronous flash memory of the present invention;
  • 1B ist ein Pin-Anschlussdiagramm eines integrierten Schaltkreises einer Ausführungsform der vorliegenden Erfindung; 1B Fig. 10 is a pin connection diagram of an integrated circuit of an embodiment of the present invention;
  • 1C zeigt ein Raster-Matrixdiagramm von Bond-Verbindungen eines integrierten Schaltkreises einer Ausführungsform der vorliegenden Erfindung; 1C FIG. 10 is a raster matrix diagram of integrated circuit bond connections of an embodiment of the present invention; FIG.
  • 2 zeigt ein Betriebsregister einer Ausführungsform der vorliegenden Erfindung; 2 shows an operation register of an embodiment of the present invention;
  • 3 stellt Lesezugriffe dar mit einer CAS-Latenz von einem, zwei und drei Taktzyklen; 3 represents read accesses with a CAS latency of one, two and three clock cycles;
  • 4 zeigt das Aktivieren einer bestimmten Zeile in einem Bereich eines Speichers gemäß einer Ausfuhrungsform der vorliegenden Erfindung; 4 shows the activation of a particular row in a region of a memory according to an embodiment of the present invention;
  • 5 betrifft das Timing zwischen einem Aktivierungsbefehl und einem Lese- oder Schreibbefehl; 5 refers to the timing between an activation command and a read or write command;
  • 6 zeigt einen Lesebefehl; 6 shows a read command;
  • 7 zeigt ein Timing für eine fortlaufende Lesesignalfolge einer Ausführungsform der vorliegenden Erfindung; 7 shows a timing for a continuous read signal sequence of an embodiment of the present invention;
  • 8 zeigt einen wahlfreien Lesezugriff innerhalb einer Seite einer Ausführungsform der vorliegenden Erfindung; 8th shows random read access within a page of an embodiment of the present invention;
  • 9 zeigt einen Lesezugriff, der von einem Schreibzugriff gefolgt wird; 9 shows a read access followed by a write access;
  • 10 zeigt einen Lesesignalfolgevorgang, die durch die Verwendung eines Signalfolge-Terminierungsbefehls beendet werden gemäß einer Ausführungsform der vorliegenden Erfindung; 10 shows a read signal sequence process terminated by the use of a signal sequence termination instruction according to an embodiment of the present invention;
  • 11 zeigt einen Schreibbefehl; 11 shows a write command;
  • 12 zeigt einen Schreibbefehl, der von einem Lesebefehl gefolgt wird; 12 shows a write command followed by a read command;
  • 13 zeigt einen Abschaltvorgang einer Ausführungsform der vorliegenden Erfindung; 13 shows a shutdown process of an embodiment of the present invention;
  • 14 zeigt einen Taktgeber-Unterbrechungs-Vorgang während einer Folge von Lesesignalen; 14 shows a clock interrupt process during a sequence of read signals;
  • 15 zeigt eine Speicheradressenabbildung einer Ausführungsform eines Speichers mit zwei Boot-Sektoren; 15 shows a memory address map of one embodiment of a memory with two boot sectors;
  • 16 ist ein Flußdiagramm einer selbstgetakteten Schreibfolge gemäß einer Ausführungsform der vorliegenden Erfindung; 16 Fig. 10 is a flowchart of a self-timed write sequence according to an embodiment of the present invention;
  • 17 ist ein Flußdiagramm einer vollständigen Schreibstatus-Checkfolge gemäß einer Ausführungsform der vorliegenden Erfindung; 17 Fig. 10 is a flow chart of a complete write status check sequence according to an embodiment of the present invention;
  • 18 ist ein Flußdiagramm einer selbstgetakteten Block-Lösch-Folge gemäß einer Ausführungsform der vorliegenden Erfindung; 18 Fig. 10 is a flowchart of a self-timed block clear sequence according to an embodiment of the present invention;
  • 19 ist ein Flußdiagramm einer vollständigen Block-Lösch-Status-Checkfolge gemäß einer Ausführungsform der vorliegenden Erfindung; 19 FIG. 10 is a flow chart of a complete block clear status check sequence according to one embodiment of the present invention; FIG.
  • 20 ist ein Flußdiagramm einer Block-Schutz-Folge gemäß einer Ausführungsform der vorliegenden Erfindung; 20 FIG. 10 is a flowchart of a block protection sequence according to an embodiment of the present invention; FIG.
  • 21 ist ein Flußdiagramm einer vollständigen Block-Status-Checkfolge gemäß einer Ausführungsform der vorliegenden Erfindung; 21 FIG. 10 is a flowchart of a complete block status check sequence according to one embodiment of the present invention; FIG.
  • 22 ist ein Flußdiagramm einer Einrichtungs-Schutz-Folge gemäß einer Ausführungsform der vorliegenden Erfindung; 22 Fig. 10 is a flow chart of a device protection sequence according to an embodiment of the present invention;
  • 23 ist ein Flußdiagramm einer Block-Nichtschutz-Folge gemäß einer Ausführungsform der vorliegenden Erfindung; 23 Fig. 10 is a flowchart of a block unprotected sequence according to an embodiment of the present invention;
  • 24 zeigt das Timing eines initialisierenden und ladenden Modusregistervorganges; 24 shows the timing of an initializing and loading mode registering operation;
  • 25 zeigt das Timing eines Taktgeber-Unterbrechungs-Modusvorganges; 25 shows the timing of a clock interrupt mode operation;
  • 26 zeigt das Timing eines Lesesignalfolgevorganges; 26 shows the timing of a read signal sequence process;
  • 27 zeigt das Timing eines Alternierens von Bereichs-Lesezugriffen; 27 shows the timing of alternating range read accesses;
  • 28 zeigt das Timing eines vollseitigen Lesesignalfolgevorganges; 28 shows the timing of a full-page read signal sequence process;
  • 29 zeigt das Timing eines Lesesignalfolgevorganges unter Verwendung eines Datenmaskierungssignals; 29 shows the timing of a read signal sequence operation using a data masking signal;
  • 30 zeigt das Timing eines Schreibzugriffes, gefolgt von einem Lesen auf einem unterschiedlichen Bereich; 30 shows the timing of a write access followed by a read on a different area;
  • 31 zeigt das Timing eines Schreibzugriffes, gefolgt von einem Lesen in demselben Bereich; 31 shows the timing of a write access, followed by a read in the same area;
  • 32 zeigt einen Registerschaltkreis nach dem Stand der Technik; und 32 shows a register circuit according to the prior art; and
  • 33 zeigt eine Ausführung eines Registers gemäß der vorliegenden Erfindung. 33 shows an embodiment of a register according to the present invention.
  • Detaillierte Beschreibung der ErfindungDetailed description of the invention
  • In der folgenden detaillierten Beschreibung von vorliegenden Ausführungsformen wird auf die beiliegenden Zeichnungen, die ein Teil derselben bilden, Bezug genommen und durch die beispielhaft bestimmte Ausführungsformen dargestellt werden, durch die die Erfindung ausgeführt werden kann. Die Ausführungsformen werden auf ausreichende Weise beschrieben, so dass ein Fachmann die Erfindung ausführen kann und es soll so verstanden sein, dass andere Ausführungsformen auch verwendet werden können und dass logische, mechanische und elektrische Änderungen gemacht werden können ohne den Grundgedanken und den Schutzbereich der vorliegenden Erfindung zu verlassen. Die folgende detaillierte Beschreibung ist deshalb nicht in beschreibender Weise zu verstehen und der Schutzbereich der vorliegenden Erfindung wird lediglich durch die Ansprüche bestimmt.In the following detailed description of present embodiments, reference will be made to the accompanying drawings, which form a part hereof, and illustrated by the exemplary embodiments in which the invention may be practiced. The embodiments are described in sufficient manner so that one skilled in the art can practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, and electrical changes may be made without departing from the spirit and scope of the present invention to leave. The following detailed description is therefore not to be taken in a descriptive manner, and the scope of the present invention will be determined only by the claims.
  • Die folgende detaillierte Beschreibung ist in zwei Hauptteile untergliedert. Der erste Bereich ist eine funktionale Schnittstellenbeschreibung, die die Kompatibilität mit einem SDRAM-Speicher ausführt. Der zweite Hauptbereich ist eine funktionale Beschreibung, die funktionale Befehle einer Flash-Architektur betrifft.The following detailed description is divided into two main parts. The first section is a functional interface description that performs compatibility with an SDRAM memory. The second main area is a functional description concerning functional commands of a Flash architecture.
  • Funktionale SchnittstellenbeschreibungFunctional interface description
  • Bezugnehmend auf 1A wird ein Blockdiagramm einer Ausführungsform der vorliegenden Erfindung beschrieben. Die Speichereinrichtung 100 enthält ein Feld bzw. eine Matrix von nicht-flüchtigen Flash-Memory-Zellen 102. Das Feld ist als eine Vielzahl von adressierbaren Bänken arrangiert. in einer Ausführungsform umfasst der Speicher 4 Speicherbanke 104, 106, 108 und 110. Jede Speicherbank umfasst adressierbare Abschnitte von Speicherzellen. Auf die in den Speicher gespeicherten Daten kann über extern zur Verfügung gestellte Positionsadressen, die mit dem Adressregister 112 empfangen werden, zugegriffen werden. Die Adressen werden unter Verwendung einer Zeilenadress-Multiplexer-Schaltungsanordnung 114 decodiert. Die Adressen werden auch unter Verwendung einer Banksteuerungslogik 116 und einer Zeilenadresszwischenspeicher- und Decodierungsschaltungsanordnung 118 decodiert. Um auf eine entsprechende Spalte des Speichers zuzugreifen, koppelt eine Spaltenadresszähler- und Zwischenspeicherschaltungsanordnung 120 die empfangenen Adressen mit einer Spaltendecodierungsschaltungsanordnung 122. Ein Schaltkreis 124 stellt ein Input/Output Gating, eine Datenmaskierungslogik, einen Lesedatenzwischenspeicherschaltkreis und einen Schreibtreiberschaltkreis zur Verfügung. Daten werden über Dateneingaberegister 126 eingegeben und über Datenausgaberegister 128 ausgegeben, Eine Befehlsausführungslogik 130 wird zur Verfügung gestellt, um grundlegende Operationen innerhalb der Speichereinrichtung zu steuern. Ein Zustandautomat 132 wird ebenfalls bereitgestellt, um bestimmte Operationen, die auf den Speicherfeldern und Speicherzellen ausgeführt werden, zu steuern. Ein Statusregister 134 und ein Identifikationsregister 136 können ebenfalls bereitgestellt werden, um Daten auszugeben.Referring to 1A A block diagram of an embodiment of the present invention will now be described. The storage device 100 contains a field or array of non-volatile flash memory cells 102 , The box is arranged as a variety of addressable benches. In one embodiment, the memory 4 comprises memory bank 104 . 106 . 108 and 110 , Each memory bank comprises addressable sections of memory cells. On the data stored in the memory can be provided via externally provided position addresses with the address register 112 be received, accessed. The addresses are determined using row address multiplexer circuitry 114 decoded. The addresses are also using a bank control logic 116 and a row address latch and decode circuitry 118 decoded. To access a corresponding column of memory, column address counter and latch circuitry couples 120 the received addresses with column decoding circuitry 122 , A circuit 124 provides input / output gating, data masking logic, a read data latch circuit, and a write driver circuit. Data is entered via data entry registers 126 entered and via data output registers 128 issued, A command execution logic 130 is provided to control basic operations within the storage device. A state machine 132 is also provided to control certain operations performed on the memory arrays and memory cells. A status register 134 and an identification register 136 can also be provided to output data.
  • 1B zeigt die Zuweisung von Verbindungspins in einer Ausführungsform der vorliegenden Erfindung. Das Speichergehäuse 150 hat 54 Verbindungspins. Die Anordnung der Pins Ist im wesentlichen ähnlich zu erhältlichen SDRAM-Gehäusen, Zwei Verbindungen sind für die vorliegenden Erfindung spezifisch: RP# 152 und Vccp 154. Obwohl die vorliegende Erfindung Verbindungselemente teilt, die ähnlich erscheinen wie SDRAMs, wird die Funktion der Signale, die auf der jeweiligen Verbindung zur Verfügung gestellt wird hier beschrieben und sollte nicht mit denen von SDRAMs gleichgesetzt werden, obgleich sie hier verwendet werden. 1B shows the assignment of connection pins in an embodiment of the present invention. The storage enclosure 150 has 54 connection pins. The Pin Arrangement Is Substantially Similar to Available SDRAM Enclosures. Two Compounds are Specific to the Present Invention: RP # 152 and Vccp 154 , Although the present invention shares connectors that appear similar to SDRAMs, the function of the signals provided on each connection is described herein and should not be equated with those of SDRAMs, although they are used herein.
  • 1C zeigt eine Ausführungsform eines Speichergehäuses 160, das Bond-Bügelverbindungen anstelle von Pin-Verbindungen der 1B aufweist. Die vorliegenden Erfindung ist deshalb nicht begrenzend im Hinblick auf eine bestimmte Gehäusekonfiguration zu verstehen. 1C shows an embodiment of a storage enclosure 160 , the bond-iron connections instead of pin-connections of the 1B having. The present invention is therefore not intended to be limiting with respect to a particular housing configuration.
  • Vor Beschreibung der verfahrensgemäßen Merkmale der Speichereinrichtung wird eine detaillierte Beschreibung der Verbindungspins mit deren jeweiligen Signalen zur Verfügung gestellt.Before describing the method features of the memory device, a detailed description of the connection pins with their respective signals will be provided.
  • Eine Eingabetaktverbindung wird verwendet, um ein Taktsignal (CLK) zur Verfügung zu stellen. Das Taktsignal kann durch einen Systemtakt getrieben werden und alle synchronen Flash-Speichereingabesignale werden an der positiven bzw. steigenden Flanke des CLK-Signals erfaßt. CLK erhöht ebenfalls einen internen Folgezähler und steuert die Ausgaberegister.An input clock connection is used to provide a clock signal (CLK). The clock signal may be driven by a system clock and all synchronous flash memory input signals are detected on the positive edge of the CLK signal. CLK also increments an internal sequence counter and controls the output registers.
  • Eine Eingabetaktfreigabe(CKE)-Verbindung wird verwendet, um die CLK-Signaleingabe zu aktivieren (HIGH-Zustand) und zu deaktivieren (LOW-Zustand). Eine Deaktivieren des Takteingangs stellt einen POWER-DOWN- und einen STANDBY-Vorgang (bei dem alle Speicherbänke im Wartezustand befindlich sind), einen AKTIV-POWER-DOWN-Vorgang (eine Speicherzeile ist aktiv in je einer Bank) oder einen Taktgeberunterbrechungsvorgang (CLOCK SUSPEND Operation) (Folge/Zugriff in Bearbeitung) zur Verfügung. CKE ist synchron, außer nachdem die Einrichtung in einen power-down-Modus eingetreten ist, bei denen CKE asynchron wird, nachdem derselbe Modus verlassen worden ist. Die Eingabepuffer, einschließlich CLK, werden während der power-down-Modi gesperrt, um eine niedrige Standby-Energie zu gewährleisten. CKE kann in Systemen, bei denen power-down-Modi (andere als ein RP# tiefer power-down-Zustand) nicht notwendig sind, auf HIGH gesetzt sein.An input clock enable (CKE) connection is used to enable the CLK signal input (HIGH state) and disable (LOW state). Deactivating the clock input represents a POWER DOWN and a STANDBY operation (in which all memory banks are in the waiting state), an ACTIVE POWER DOWN operation (a memory line is active in each bank) or a clock interrupt operation (CLOCK SUSPEND Operation) (sequence / access in progress). CKE is synchronous except after the device has entered a power-down mode where CKE becomes asynchronous after leaving the same mode. The input buffers, including CLK, are disabled during power-down modes to ensure low standby power. CKE can be set to HIGH in systems where power-down modes (other than an RP # lower power-down state) are not necessary.
  • Die Chipauswahl-Eingabeverbindung (CS#) stellt ein Signal zur Verfügung, um einen Befehlsdecodierer, der in der Befehlsausführungslogik zur Verfügung gestellt ist, freizugeben (registriertes LOW) und zu sperren (registriertes HIGH). Alle Befehle sind maskiert, falls CS# als HIGH registriert ist. Weiterhin schafft das CS# eine externe Bankauswahl für Systeme mit unterschiedlichen Bänken und CS# können als Teil des Befehlscodes betrachtet werden; müssen dies aber nicht notwendigerweise sein.The chip select input connection (CS #) provides a signal to enable (registered LOW) and disable (registered HIGH) an instruction decoder provided in the instruction execution logic. All commands are masked if CS # is registered as HIGH. Furthermore, the CS # provides external bank selection for systems with different banks and CS # can be considered part of the command code; but they do not necessarily have to be.
  • Die Eingabebefehlseingabeverbindungen für RAS#, CAS# und WE# (zusammen mit CAS#: CS#) definieren einen Befehl, der durch den Speicher ausgeführt wird und weiter unten detaillierter beschrieben werden wird. Die Eingabe/Ausgabemasken(DQM)-Verbindungen werden verwendet, um Eingabemaskierungssignale für Schreibzugriffe und ein Ausgabefreigabesignal für Lesezugriffe zur Verfügung zu stellen. Eingabedaten werden maskiert, wenn DQM während eines Schreibzyklus (WRITE cycle) als HIGH abgetastet wird. Die Ausgabepuffer werden in einen hochohmigen Zustand (High-Z) überführt (nach zwei Takten Latenz), wenn DQM während eines Lesezyklus (READ cycle) als HIGH abgetastet wird. DQML entspricht Datenverbindungen DQ0 bis DQ7 und DQMH entspricht Datenverbindungen DQ8 bis DQ15. DQML und DQMH werden als im selben Status bzw. Zustand befindlich betrachtet, wenn sie als DQM referenziert werden.The input command input connections for RAS #, CAS # and WE # (along with CAS #: CS #) define a command that will be executed by the memory and described in more detail below. The input / output mask (DQM) connections are used to provide input masking signals for write accesses and an output enable signal for read accesses. Input data is masked when DQM is sampled HIGH during a WRITE cycle. The output buffers are placed in a high-impedance state (after two clocks of latency) when DQM is sampled HIGH during a read cycle (READ cycle). DQML corresponds to data connections DQ0 to DQ7 and DQMH corresponds to data connections DQ8 to DQ15. DQML and DQMH are considered to be in the same state when referenced as DQMs.
  • Adresseingaben 133 werden hauptsächlich dazu verwendet, Adresssignale zur Verfügung zu stellen. In der bezeichneten Ausführungsform hat der Speicher 12 Zeilen (A0 bis A11). Andere Signale können auf den Adressverbindungen zur Verfügung gestellt werden, was untenstehend erläutert wird. Die Adresseingaben werden während eines Aktivbefehls (ACTIVE command) (Zeilenadresse A0 bis A11) und während eines Schreib-/Lesebefehls (READ/WRITE command) (Spaltenadresse A0 bis A7) abgetastet, um eine Position bzw. einen Ort in einer entsprechenden Speicherbank auszuwählen. Die Adresseingaben werden weiterhin verwendet, um einen Befehlscode (OpCode) während eines LORD COMMAND REGISTER-Vorganges zur Verfügung zu stellen, was nachstehend erläutert wird. Adresszeilen A0 bis A11 werden ebenfalls verwendet, um Moduseinstellungen während eines LORD MODE REGISTER-Vorganges einzugeben.address inputs 133 are mainly used to provide address signals. In the designated embodiment, the memory has 12 rows (A0 to A11). Other signals can be provided on the address links, which will be explained below. The address inputs are sampled during an active command (row address A0 to A11) and during a read / write command (column address A0 to A7) to select a location in a corresponding memory bank. The address inputs are further used to provide a command code (OpCode) during a LORD COMMAND REGISTER operation, which will be discussed below. Address lines A0 through A11 are also used to enter mode settings during a LORD MODE REGISTER operation.
  • Eine Eingaberücksetz/Abschaltverbindung 140 (input reset/power-down connection) (RP#) wird für Rücksetz- und Abschaltvorgänge verwendet. Nach dem initialen Ausschalten bzw. power-up der Einrichtung ist in einer Ausfuhrungsform eine 100 μs Verzögerung notwendig – nachdem RP# von LOW zu HIGH gewechselt hat – für eine interne Einrichtungsinitialisierung und bevor ein ausführbarer Befehl herausgegeben worden ist. Das RP#-Signal löscht das Statusregister, versetzt einen internen Zustandsautomaten (Internal State Machine, ISM) 132 in einen Feldlesemodus und bringt die Einrichtung in einen niedrigen power-down-Modus, falls es LOW ist. Während des power-downs, werden alle Eingabeverbindungen, einschließlich CS# 142, auf ”nicht beachtlich” gesetzt (”dont care”) und alle Ausgaben werden in einen High-Z-Status gebracht. Wenn das RP#-Signal einen VHH-Spannungspegel (5 V) gleicht, werden während des Schreibens (WRITE) und während des Löschvorganges (ERASE) alle Schutzmodi ignoriert. Das RP#-Signal erlaubt es, dass ein Schutzbit für die Einrichtung auf 1 gesetzt wird (geschützt) und erlaubt es, dass Block-Schutz-Bits eines 16 Bit-Registers an Positionen 0 und 15 auf 0 (ungeschützt) gesetzt werden, wenn der VHH-Pegel erreicht wird. Die Schutzbits werden weiter unten detaillierter beschrieben. RP# wird während aller anderen Operationen auf HIGH gehalten.An input reset / shutdown connection 140 (input reset / power-down connection) (RP #) is used for reset and shutdown operations. After initial power-up of the device, in one embodiment, a 100 μs delay is necessary - after RP # has changed from LOW to HIGH - for internal device initialization and before an executable command has been issued. The RP # signal clears the status register, sets an internal state machine (ISM) 132 in a field read mode and puts the device in a low power-down mode if it is LOW. During power-down, all input connections, including CS # 142 set to "Not Attentive" and all issues are brought into a high-Z state. When the RP # signal equals a VHH voltage level (5V), all protection modes are ignored during WRITE and during ERASE. The RP # signal allows a protection bit for the device to be set to 1 (protected) and allows block protection bits of a 16-bit register to be asserted Positions 0 and 15 are set to 0 (unprotected) when the VHH level is reached. The guard bits will be described in more detail below. RP # is held high during all other operations.
  • Bankadresseingabeverbindungen BA0 und BA1 definieren, auf welche Bank ein ACTIVE, READ, WRITE oder BLOCK PROTECT-Befehl angewendet wird. Die DQ0 bis DQ15 Verbindungen 143 sind Datenbusverbindungen und werden für eine bidirektionale Datenkommunikation verwendet. Bezugnehmend auf 18 wird eine VCCQ-Verbindung verwendet, um eine getrennte Energieversorgung an den DQ-Verbindungen zur Verfügung zu stellen, um die Störsicherheit zu erhöhen. In einer Ausführungsform gilt folgendes: VCCQ = Vcc oder 1,8 V ± 0,15 V. Die VSSQ-Verbindung wird verwendet, um Masse von den DQs zu trennen für eine erhöhte Störsicherheit. Die VCC-Verbindung stellt eine Energieversorgung, wie beispielsweise 3 V dar. Eine Masseverbindung wird durch die Vss-Verbindung bereitgestellt. Eine andere optionale Spannungsversorgung wird auf der VCCP-Verbindung 144 zur Verfügung gestellt. Die VCCP-Verbindung kann extern zu VCC und Stromquellen während der Einrichtungsinitialisierung, eines Schreib- und Löschvorganges (WRITE, ERASE) bezogen werden. Das heißt, dass ein Schreiben auf die Speichereinrichtung oder ein Löschen ausgeführt werden kann unter Verwendung einer VCCP-Spannung, während alle anderen Vorgänge mit einer VCC-Spannung ausgeführt werden. Die VCCP-Verbindung ist an einen Hochspannungschalt/Pumpschaltkreis 145 gekoppelt.Bank address input connections BA0 and BA1 define to which bank an ACTIVE, READ, WRITE or BLOCK PROTECT command is applied. The DQ0 to DQ15 connections 143 are data bus connections and are used for bidirectional data communication. Referring to 18 A VCCQ connection is used to provide a separate power supply to the DQ links to increase noise immunity. In one embodiment, VCCQ = Vcc or 1.8V ± 0.15V. The VSSQ connection is used to separate ground from the DQs for increased noise immunity. The VCC connection represents a power supply, such as 3V. A ground connection is provided by the Vss connection. Another optional power supply is on the VCCP connection 144 made available. The VCCP connection can be sourced externally to VCC and current sources during device initialization, write and erase (WRITE, ERASE). That is, a write to the memory device or erase may be performed using a VCCP voltage while all other operations are performed with a VCC voltage. The VCCP connection is to a high voltage switching / pumping circuit 145 coupled.
  • Die folgenden Abschnitte stellen eine detailliertere Beschreibung der Vorgänge und Abläufe des synchronen Flash-Speichers zur Verfügung. Eine Ausführungsform der vorliegenden Erfindung ist ein nicht-flüchtiger, elektrisch sektoren-löschbarer (flash), programmierbarer Nur-Lesespeicher umfassend 67.108.864 Bits, die als 4.194.304 Wörter mit 16 Bits organisiert sind. Andere Bauteildichten werden erwogen und die vorliegenden Erfindung ist nicht auf die hier nur beispielhaft genannte Dichte festgelegt. Jede Speicherbank ist in vier unabhängige löschbare Blöcke (16 insgesamt) organisiert. Um sicherzustellen, dass kritische Firmware vor einem ungewollten Löschen oder Überschreiben geschützt ist, kann der Speicher 16 256 K-Wort Blocke enthalten, die durch Hardware und Software sperrbar sind. Die 4-Bank-Architektur des Speichers unterstützt tatsächlich gleichzeitige Operationen.The following sections provide a more detailed description of synchronous flash memory operations and operations. One embodiment of the present invention is a non-volatile, electrically sector-erasable (flash) programmable read-only memory comprising 67,108,864 bits organized as 4,194,304 16-bit words. Other component densities are contemplated and the present invention is not limited to the density, which is by way of example only. Each memory bank is organized into four independent erasable blocks (16 in total). To ensure that critical firmware is protected from accidental erasure or overwriting, the memory 16 may include 256 K-word blocks which are lockable by hardware and software. The 4-bank architecture of the memory actually supports concurrent operations.
  • Ein Lesezugriff auf eine Bank kann gleichzeitig mit einem Hintergrund-Schreib(WRITE)- oder -Losch(ERASE)-Vorgang auf eine andere Bank ausgeführt werden. Der synchrone Flash-Speicher hat eine synchrone Schnittstelle (alle Signale werden an der positiven Flanke des Taktsignals, CLK, registriert). Lesezugriff auf den Speicher kann burstorientiert bzw. auf Sequenzen ausgerichtet sein. Das heißt, Speicherzugriffe beginnen an einer ausgewählten Stelle und erfolgen weiter für eine programmierte Anzahl von Stellen in einer programmierten Abfolge. Diese Zugriffe beginnen mit der Registrierung eines ACTIVE-Befehls, der von einem Schreibbefehl (READ command) gefolgt wird. Die Adressbits, die koinzident mit dem ACTIVE-Befehl registriert werden, werden verwendet, um auf die Bank und die Zeile zugreifen zu können. Die Adressbits, die koinzident mit dem READ-Befehl registriert werden, werden verwendet, um die anfangliche Spaltenposition und die Bank für Folgezugriffe auszuwählen.Read access to one bank can be done simultaneously with a background write (WRITE) or delete (ERASE) operation to another bank. The synchronous flash memory has a synchronous interface (all signals are registered on the positive edge of the clock signal, CLK). Read access to the memory may be burst oriented. That is, memory accesses begin at a selected location and continue for a programmed number of locations in a programmed sequence. These accesses begin with the registration of an ACTIVE command, which is followed by a READ command. The address bits registered coincident with the ACTIVE command are used to access the bank and the line. The address bits registered coincident with the READ command are used to select the initial column position and the bank for subsequent accesses.
  • Der synchrone Flash-Speicher ermöglicht programmierbare Lesefolgelängen (read bursts) von 1, 2, 4 oder 8 Positionen oder einer ganzen Seite (full page) mit einer Folgebeendigungsoption. Weiterhin verwendet der synchrone Flash-Speicher eine interne Pipeline-Architektur, um Hochgeschwindigkeitsvorgänge zu erzielen.The synchronous flash memory provides programmable read bursts of 1, 2, 4, or 8 positions or a full page with a follow-up option. Furthermore, the synchronous flash memory uses an internal pipeline architecture to achieve high-speed operations.
  • Der synchrone Flash-Speicher kann in Speichersystemen mit niedriger Spannungsversorgung betrieben werden, wie beispielsweise Systemen, die bei 3 V betrieben werden. Ein niedriger power-down-Modus wird zur Verfügung gestellt, zusammen mit einem stromsparenden Standby-Modus. Alle Eingaben und Ausgaben sind kompatibel zu einer low voltage transistor-transistor Logik (LVTTL). Der synchrone Flash-Speicher ermöglicht wesentliche Vorteile in der Ausführung von Flash-Vorgängen, einschließlich der Möglichkeit, synchron Folgeoperationen auf Daten mit einer hohen Datenrate und mit einer automatischen Spaltenadressgenerierung durchzuführen und einschließlich der Fähigkeit, Spaltenadressen während eines Folgezugriffes in einem Taktzyklus wahlweise zu ändern.The synchronous flash memory can operate in low voltage storage systems, such as systems operating at 3 volts. A low power-down mode is provided, along with a low-power standby mode. All inputs and outputs are compatible with low voltage transistor-transistor logic (LVTTL). The synchronous flash memory provides significant advantages in the execution of flash operations, including the ability to synchronously perform high data rate, automatic column address generation sequencing operations, and the ability to selectively change column addresses during a sequential access in one clock cycle.
  • Im allgemeinen ist der synchrone Flash-Speicher ähnlich konfiguriert wie eine Multi-Bank-DRAM, der bei niedrigen Spannungspegeln betrieben wird und eine synchrone Schnittstelle umfasst. Jede der Banks ist in Zeilen und Spalten organisiert. Vor dem normalen Betrieb, wird der synchrone Flash-Speicher initialisiert. Die folgenden Abschnitte stellen eine detaillierte Information dar, die die Initialisierung der Einrichtung abdeckt, sowie Registerdefinitionen, Befehlsbeschreibungen und Einrichtungsvorgänge.In general, the synchronous flash memory is similarly configured as a multi-bank DRAM operating at low voltage levels and comprising a synchronous interface. Each of the banks is organized in rows and columns. Before normal operation, the synchronous flash memory is initialized. The following sections provide detailed information covering the initialization of the device, as well as registry definitions, command descriptions, and setup procedures.
  • Der synchrone Flash wird eingeschaltet und in vorbestimmter Weise initialisiert. Nachdem die Versorgungsspannung an VCC, VCCQ und VCCP (gleichzeitig) anliegt und das Taktsignal stabil ist, wird RP# 140 von einem LOW-Zustand in einen HIGH-Zustand gebracht. Eine Verzögerung, beispielsweise eine 100 μs Verzögerung ist nach den RP#-Übergängen zu HIGH notwendig, um die interne Initialisierung der Einrichtung zu vervollständigen. Nachdem die Verzögerungszeit abgelaufen ist, wird der Speicher in einen Feldlesemodus gebracht und ist bereit für das Programmieren des Modusregisters oder für ausführbare Befehle. Nach einer initialen Programmierung eines nicht-flüchtigen Modusregisters 147 (NVMode Register) werden die Inhalte während der Initialisierung automatisch in ein flüchtiges Modusregister 148 geladen. Die Einrichtung wird in einem programmierten Zustand eingeschaltet und erfordert nochmaliges Laden des nichtflüchtigen Modusregisters 147 bevor Operationsbefehle herausgegeben werden. Dies wird weiter unten detaillierter beschrieben.The synchronous flash is turned on and initialized in a predetermined manner. After the supply voltage is applied to VCC, VCCQ and VCCP (simultaneously) and the clock signal is stable, RP # 140 brought from a LOW state to a HIGH state. A delay, for example a 100 μs delay, is necessary after the RP # transitions to HIGH to complete the internal initialization of the device. After the delay time has elapsed, the memory is placed in a field read mode and ready to program the mode register or executable instructions. After an initial programming of a non-volatile mode register 147 (NVMode Register), the contents automatically become a volatile mode register during initialization 148 loaded. The device is turned on in a programmed state and requires reloading the non-volatile mode register 147 before operating instructions are issued. This will be described in more detail below.
  • Das Modusregister 148 wird verwendet, um bestimmte Operationsmodi des synchronen Flash-Speichers zu definieren. Diese Definition umfasst die Auswahl einer Folgelänge (burst length), eines Folgetyps, einer CAS-Latenz und eines Betriebsmodus, wie in 2 gezeigt. Das Modusregister ist über ein LORD MODE REGISTER-Befehlssequenz programmiert und enthält gespeicherte Information bis es wieder reprogrammiert wird. Die Inhalte des Modusregisters können in das NVMode-Register 147 kopiert werden, Die Einstellung des NVMode-Registers laden das Modusregister 148 während der Initialisierung automatisch. Details der ERASE NVMODE REGISTER- und WRITE NVMODE REGISTER-Sequenz werden weiter unten erläutert. Ein Fachmann weiß, dass ein SDRAM es erfordert, dass ein Modusregister während jeder Initialisierungsoperation extern geladen werden muss. Die vorliegenden Erfindung erlaubt es, dass ein Voreinstellungsmodus in dem NVMode-Register 147 gespeichert ist. Die Inhalte des NVMode-Registers werden dann in ein flüchtiges Modusregister 148 für einen Zugriff während der Speicheroperationen kopiert.The mode register 148 is used to define certain operating modes of the synchronous flash memory. This definition includes the selection of a burst length, a sequence type, a CAS latency, and an operating mode, as in 2 shown. The mode register is programmed via a LORD MODE REGISTER command sequence and contains stored information until it is reprogrammed. The contents of the mode register can be stored in the NVMode register 147 The settings of the NVMode register load the mode register 148 during initialization automatically. Details of the ERASE NVMODE REGISTER and WRITE NVMODE REGISTER sequences are explained below. One skilled in the art knows that an SDRAM requires that a mode register be externally loaded during each initialization operation. The present invention allows a default mode in the NVMode register 147 is stored. The contents of the NVMode register then become a volatile mode register 148 copied for access during the memory operations.
  • Modusregisterbits M0 bis M2 bestimmen eine Folgelänge, M3 bestimmt einen Folgetyp (sequentiell oder verschachtelt), M4 bis M6 bestimmen eine CAS-Latenz, M7 und M8 bestimmen einen Betriebsmodus, M9 wird auf 1 gesetzt und M10 und M11 werden in dieser Ausführungsform reserviert. Da WRITE-Folgen gegenwärtig nicht implementiert sind, wird M9 auf eine logische 1 gesetzt und Schreibzugriffe sind einzelne Positionszugriffe (non-burst). Das Modusregister muss geladen werden, wenn alle Banks im Wartezustand sind und die Steuerung bzw. der Controller muss die bestimmte Zeit warten, bevor eine nachfolgende Operation initiiert wird.Mode register bits M0 to M2 determine a sequence length, M3 determines a sequence type (sequential or interleaved), M4 to M6 determine a CAS latency, M7 and M8 determine an operation mode, M9 is set to 1, and M10 and M11 are reserved in this embodiment. Since WRITE sequences are not currently implemented, M9 is set to a logical 1 and write accesses are single non-burst. The mode register must be loaded when all banks are in the wait state and the controller or controller must wait the specified time before initiating a subsequent operation.
  • Lesezugriffe auf den synchronen Flash-Speicher können folgeorientiert sein, mit einer Folgelänge, die, wie in Tabelle 1 gezeigt, programmierbar ist. Die Folgelänge bestimmt die maximale Anzahl von Spaltenpositionen, auf die für einen gegebenen READ-Befehl automatisch zugegriffen wird. Folgelängen 1, 2, 4 oder 8 Positionen sind sowohl für den sequentiellen als auch für den geschachtelten Folgentyp erhältlich und eine vollseitige Folge (full page burst) ist für den sequentiellen Typ erhältlich. Vollseitige Folgen können vollseitige Burst-Vorgänge (full page burst) in Verbindung mit dem BURST TERMINATE-Befehl verwendet werden, um beliebige Burst-Längen zu generieren, d. h., dass ein Burst wahlweise beendet werden kann, um Burst in Kundenlängen zur Verfugung zu stellen. Wenn ein READ-Befehl herausgegeben wird, wird ein Block von Spalten in der Länge der Burst-Länge effektiv ausgewählt. Alle Zugriffe für diesen Burst werden innerhalb dieses Blocks ausgeführt was bedeutet, dass der Burst innerhalb des Blocks umläuft, sobald eine Grenze erreicht ist. Der Block ist eindeutig ausgewählt durch A1 bis A7, falls die Burst-Länge auf 2 gesetzt ist, durch A2 bis A7, falls die Burst-Länge auf 4 gesetzt ist und durch A3 bis A7, falls die Burst-Länge auf 8 gesetzt ist. Das/die restliche(n) (weniger bedeutende) Adressbit(s) werden verwendet, um eine Startposition innerhalb des Blocks auszuwählen. Vollseitige Bursts (full page bursts) laufen innerhalb dieser Seite um, falls die Grenze erreicht ist.Read accesses to the synchronous flash memory may be sequence-oriented, with a sequence length programmable as shown in Table 1. The sequence length determines the maximum number of column locations that are automatically accessed for a given READ command. Sequence lengths 1, 2, 4, or 8 positions are available for both the sequential and nested order type, and a full page burst is available for the sequential type. Full-page sequences can use full page bursts in conjunction with the BURST TERMINATE command to generate arbitrary burst lengths; that is, a burst may optionally be terminated to provide burst in customer lengths. When a READ command is issued, a block of columns in the length of the burst length is effectively selected. All accesses for this burst are executed within this block which means that the burst will circulate within the block as soon as a limit is reached. The block is uniquely selected by A1 to A7 if the burst length is set to 2, by A2 to A7 if the burst length is set to 4, and by A3 to A7 if the burst length is set to 8. The remaining (less significant) address bit (s) are used to select a start position within the block. Full page bursts will be executed within this page if the boundary is reached.
  • Zugriffe innerhalb eines gegebenen Bursts können entweder sequentiell oder verschachtelt programmiert sein; dies wird mit den Burst-Typus bezeichnet und wird über das M3 Bit ausgewählt. Die Reihenfolge der Zugriffe innerhalb eines Burst wird durch die Burst-Länge, den Burst-Typus und die anfängliche Spaltenadresse, wie in Tabelle 1 dargestellt, bestimmt. Tabelle 1 Burst-Definition Reihenfolge der Zugriffe innerhalb eines Burst Burst Länge anfängliche Spalten Adresse Typus = sequentiell Typus = verschachtelt 2 A0 0-1 0-1 0 1-0 1-0 1 4 A1 A0 0 0 0-1-2-3 0-1-2-3 0 1 1-2-3-0 1-0-3-2 1 0 2-3-0-1 2-3-0-1 1 1 3-0-1-2 3-2-1-0 8 A2 A1 A0 0 0 0 0-1-2-3-4-5-6-7 0-1-2-3-4-5-6-7 0 0 1 1-2-3-4-5-6-7-0 1-0-3-2-5-4-7-6 0 1 0 2-3-4-5-6-7-0-1 2-3-0-1-6-7-4-5 0 1 1 3-4-5-6-7-0-1-2 3-2-1-0-7-6-5-4 1 0 0 4-5-6-7-0-1-2-3 4-5-6-7-0-1-2-3 1 0 1 5-6-7-0-1-2-3-4 5-4-7-6-1-0-3-2 1 1 0 6-7-0-1-2-3-4-5 6-7-4-5-2-3-0-1 1 1 1 7-0-1-2-3-4-5-6 7-6-5-4-3-2-1-0 vollseitig 256 n = A0–A7 (Position 0–255) Cn, Cn + 1, Cn + 2 Cn + 3, Cn + 4 ...Cn – 1, Cn... nicht unterstützt
    Accesses within a given burst may be programmed either sequentially or interleaved; this is called the burst type and is selected via the M3 bit. The order of accesses within a burst is determined by the burst length, the burst type and the initial column address as shown in Table 1. Table 1 Burst Definition Order of accesses within a burst Burst length initial columns address Type = sequential Type = nested 2 A0 0-1 0-1 0 1-0 1-0 1 4 A1 A0 0 0 0-1-2-3 0-1-2-3 0 1 1-2-3-0 1-0-3-2 1 0 2-3-0-1 2-3-0-1 1 1 3-0-1-2 3-2-1-0 8th A2 A1 A0 0 0 0 0-1-2-3-4-5-6-7 0-1-2-3-4-5-6-7 0 0 1 1-2-3-4-5-6-7-0 1-0-3-2-5-4-7-6 0 1 0 2-3-4-5-6-7-0-1 2-3-0-1-6-7-4-5 0 1 1 3-4-5-6-7-0-1-2 3-2-1-0-7-6-5-4 1 0 0 4-5-6-7-0-1-2-3 4-5-6-7-0-1-2-3 1 0 1 5-6-7-0-1-2-3-4 5-4-7-6-1-0-3-2 1 1 0 6-7-0-1-2-3-4-5 6-7-4-5-2-3-0-1 1 1 1 7-0-1-2-3-4-5-6 7-6-5-4-3-2-1-0 full page 256 n = A0-A7 (position 0-255) Cn, Cn + 1, Cn + 2 Cn + 3, Cn + 4 ... Cn - 1, Cn ... unsupported
  • Spaltenadresseabtast(Column Adress Strobe, CAS)-Latenz ist eine Verzögerung in Taktzyklen, zwischen der Registrierung eines READ-Befehls und der Erhältlichkeit eines ersten Elementes von Ausgabedaten auf den DQ-Verbindungen. Die Latenz kann auf 1, 2 oder 3 Taktzyklen gesetzt sein. Beispielsweise werden die Daten an der Taktsignalkante n + m erhältlich sein, falls ein READ-Befehl an der Taktsignalkante n registriert ist und die Latenz m Takte beträgt. Die DQ-Verbindungen beginnen Daten anzusteuern als eine Folge der Taktflanke eines vorhergehenden Zyklus (n + m – 1) und – vorausgesetzt dass die relativen Zugriffszeiten eingehalten werden – die Daten werden an der Taktflanke n + m gültig sein. Beispielsweise angenommen, dass die Taktzykluszeit so ist, dass alle relevanten Zugriffszeiten eingehalten werden, beginnen die DQs nach T1 anzusteuern und die Daten werden bis T2 gültig sein, falls ein READ-Befehl an T0 registriert ist und die Latenz auf 2 Takte programmiert ist, wie in 3 gezeigt. 3 zeigt beispielhaft Betriebsfrequenzen, zu denen verschiedene Taktlatenzeinstellungen verwendet werden können. Der normale Betriebsmodus wird über Einstellungen M7 und M8 auf 0 ausgewählt und die programmierten Burst-Längen werden auf READ-Bursts gesetzt.Column Address Strobe (CAS) latency is a delay in clock cycles between the registration of a READ command and the availability of a first element of output data on the DQ links. The latency can be set to 1, 2 or 3 clock cycles. For example, the data will be available at the clock signal edge n + m if a READ command is registered at the clock signal edge n and the latency is m clocks. The DQ connections begin to drive data as a result of the clock edge of a previous cycle (n + m-1) and, provided that the relative access times are met, the data will be valid on the clock edge n + m. For example, assuming that the clock cycle time is such that all relevant access times are met, the DQs will start after T1 and the data will be valid until T2 if a READ command is registered to T0 and the latency is programmed to 2 clocks, such as in 3 shown. 3 shows by way of example operating frequencies to which different clock latency settings can be used. The normal operating mode is set to 0 via settings M7 and M8 and the programmed burst lengths are set to READ bursts.
  • Die folgende Wahrheitstabelle gibt mehr Details über die Operationsbefehle einer Ausführungsform des Speichers der vorliegenden Erfindung. Eine Beschreibung der Befehle schließt sich an die Wahrheitstabelle 2 an. Wahrheitstabelle 1 Schnittstellenbefehle und DQM-Operationen Name (Funktion) CS# RS# CAS# WE# DQM ADDR DQs COMMAND INHIBIT (Befehl blockiert, NOP) H X X X X X X NO OPERATION (keine Operation, NOP) L H H H X X X ACTIVE (Auswahl der Bank und Aktiveren der Zeile) L L H H X Bank/Zeile X READ (Auswahl der Bank, Spalte und Start) L H L H X Bank/Spalte X READ (Burst) WRITE (Auswahl der Bank, Spalte und Start WRITE) L H L L X Bank/Spalte Gültig BURST TERMINATE (Burst-Ende) L H H L X X Aktiv ACTIVE TERMINATE (Aktiv Ende) L L H L X X X LORD COMMAND REGISTER (Laden des Befehlsregisters) L L L H X Com Code X LORD MODE REGISTER (Laden des Modusregisters) L L L L X Open-Loop-Code X Write Enable/Output Enable (Schreibefreigabe/Ausgabefreigabe) - - - - L - Aktiv Write Inhibit/Output High-Z (Schreiben Sperren/Ausgabe High-Z) - - - - H - High-Z
    The following truth table gives more details about the operation commands of one embodiment of the memory of the present invention. A description of the commands follows the truth table 2. Truth Table 1 Interface Commands and DQM Operations Name (function) CS # RS # CAS # WE # DQM ADDR DQ COMMAND INHIBIT (command blocked, NOP) H X X X X X X NO OPERATION (no surgery, NOP) L H H H X X X ACTIVE (selection of the bank and activators of the line) L L H H X Banking / line X READ (selection of bank, column and start) L H L H X Bank / Column X READ (Burst) WRITE (bank selection, column and start WRITE) L H L L X Bank / Column Valid BURST TERMINATE (burst end) L H H L X X active ACTIVE TERMINATE (active end) L L H L X X X LORD COMMAND REGISTER L L L H X Com code X LORD MODE REGISTER (loading mode register) L L L L X Open-loop code X Write Enable / Output Enable (write enable / output enable) - - - - L - active Write Inhibit / Output High-Z (Write Inhibit / Output High-Z) - - - - H - High-Z
  • Wahrheitstabelle 2 Flash- Spaichex-Befahlsfolgen
    Figure 00230001
    Truth Table 2 Flash Spaichex Commands
    Figure 00230001
  • Figure 00240001
    Figure 00240001
  • Figure 00250001
    Figure 00250001
  • Die Befehlssperrfunktion (COMMAND INHIBIT function) verhindert es, dass neue Kommandos durch den synchronen Flash-Speicher ausgeführt werden, unabhängig davon, ob das CLK-Signal freigegeben ist. Der synchronen Flash-Speicher wird effektiv inaktiviert, aber Vorgänge, die bereits in Bearbeitung sind, sind nicht betroffen. The COMMAND INHIBIT function prevents new commands from being executed by the synchronous flash memory, regardless of whether the CLK signal is enabled. The synchronous flash memory is effectively disabled, but operations that are already in progress are not affected.
  • Der NO OPERATION-Befehl (NO OPERATION NOP) wird verwendet, um ein NOP auf dem synchronen Flash-Speicher, der ausgewählt wurde (CS# ist LOW), auszuführen. Dies verhindert, dass ungewollte Befehle während des Ruhe- oder Wartezustandes registriert werden und bereits in Bearbeitung befindliche Vorgänge nicht betroffen sind.The NO OPERATION (NO OPERATION) command is used to execute a NOP on the synchronous flash memory selected (CS # is LOW). This prevents unwanted commands from being registered during the idle or wait state, and operations already in progress that are not affected.
  • Die Modusregisterdaten werden dann über Eingaben A0 bis A11 geladen. Der LORD MODE REGISTER-Befehl kann nur herausgegeben werden, wenn sich alle Feldbänke im Wartezustand befinden und ein nachfolgend auszuführender Befehl kann nicht ausgegeben werden bis eine vorbestimmte Zeitverzögerung (MRD) eingehalten wird. Nach der Anschaltinitialisierung (power-up initialization) werden die Daten in dem NVMode Register 147 automatisch in das Modusregister 148 geladen und sind die Voreinstelldaten, solange sie nicht mit dem LORD MODE REGISTER-Befehl dynamisch geändert werden.The mode register data is then loaded via inputs A0 to A11. The LORD MODE REGISTER command can only be issued when all of the fieldbanks are in the wait state, and a subsequently executed command can not be issued until a predetermined time delay (MRD) is met. After power-up initialization, the data in the NVMode register 147 automatically in the mode register 148 are loaded and are the default data unless they are changed dynamically with the LORD MODE REGISTER command.
  • Ein ACTIVE-Befehl wird verwendet, um eine Zeile in einem bestimmten Feld einer Bank für einen nachfolgenden Zugriff zu öffnen (oder zu aktivieren). Die Werte auf den BA0, BA1 Eingängen wählen die Bank aus und die Adresse, die auf den Eingängen A0 bis A11 zur Verfügung gestellt ist, wählt die Zeile aus. Die Zeile bleibt für Zugriffe bis zu einem nächsten ACTIVE-Befehl, einen power-down oder einem RESET aktiv.An ACTIVE command is used to open (or enable) a row in a particular field of a bank for subsequent access. The values on the BA0, BA1 inputs select the bank and the address provided on inputs A0 through A11 selects the row. The line remains active for accesses until a next ACTIVE command, a power-down or a RESET.
  • Der READ-Befehl wird verwendet, um einen Lesefolgezugriff in einer aktiven Zeile zu initiieren. Die Werte in den BA0, BA1 Eingängen wählen die Bank aus und die Adressen, die auf den Eingängen A0 bis A7 zur Verfügung gestellt sind, wahlen die anfängliche Spaltenposition aus. Gelesene Daten erscheinen auf den DQs und sind Gegenstand der logischen Ebene der Datenmaskeneingabe (DQM), die zwei Takte früher vorlag. Wenn ein gegebene DQM-Signal als HIGH registriert wird, befinden sich die entsprechenden DQs zwei Takte später in dem High-Z-Zustand (hochohmiger Zustand); falls das DQM-Signal als LOW registriert wurde, stellen die DQs gültige Daten zur Verfügung. Somit kann die DQM-Eingabe verwendet werden, um während eines Lesezugriffs Ausgabedaten zu maskieren.The READ command is used to initiate read sequence access in an active row. The values in the BA0, BA1 inputs select the bank and the addresses provided on inputs A0 through A7 select the initial column position. Read data appears on the DQs and is the subject of the logical level of data mask entry (DQM), which was two bars earlier. When a given DQM signal is registered as HIGH, the corresponding DQs are two clocks later in the high Z state (high resistance state); if the DQM signal is registered as LOW, the DQs provide valid data. Thus, the DQM input may be used to mask output data during a read access.
  • Ein WRITE-Befehl wird verwendet, um einen Schreibzugriff auf einer aktiven Zeile an einer einzelnen Position zu initiieren. Einem WRITE-Befehl muss ein WRITE SETUP-Befehl vorangehen. Die Werte in den BA0, BA1 Eingängen wählen die Bank aus und die Adressen, die auf den Eingängen A0 bis A7 zur Verfügung gestellt sind, wählen eine Spaltenposition aus. Eingabedaten, die auf den DQs erscheinen, werden in das Speicherfeld geschrieben und sind Gegenstand der DQM-Eingabelogikebene, die gleichzeitig mit den Daten erscheint. Falls ein gegebenes DQM-Signal als LOW registriert wird, werden die entsprechenden Daten in den Speicher geschrieben; falls das DQM-Signal als HIGH registriert wird, werden die entsprechenden Dateneingaben ignoriert und ein WRITE wird auf der Wort/Spaltenposition nicht ausgeführt. Ein WRITE-Befehl mit DQM HIGH wird als NOP betrachtet.A WRITE command is used to initiate write access to an active line at a single location. A WRITE command must be preceded by a WRITE SETUP command. The values in the BA0, BA1 inputs select the bank and the addresses provided on inputs A0 through A7 select a column position. Input data appearing on the DQs is written to the memory array and is the subject of the DQM input logic plane that appears simultaneously with the data. If a given DQM signal is registered as LOW, the corresponding data is written to the memory; if the DQM signal is registered as HIGH, the corresponding data inputs are ignored and a WRITE is not executed at the word / column position. A WRITE command with DQM HIGH is considered NOP.
  • Ein ACTIVE TERMINATE-Befehl ist für den synchronen Flash-Speicher nicht erforderlich; kann aber zur Verfügung gestellt werden, um ein Lesen auf ähnliche Weise abzuschließen wie der SDRAM PRECHARGE-Befehl. Der ACTIVE TERMINATE-Befehl kann ausgegeben werden, um ein BURST READ, das sich in Bearbeitung befindet, zu beenden und kann bankspezifisch sein oder nicht.An ACTIVE TERMINATE command is not required for the synchronous flash memory; but can be provided to complete a read in a manner similar to the SDRAM PRECHARGE command. The ACTIVE TERMINATE command can be issued to terminate a BURST READ being processed and may or may not be bank specific.
  • Ein BURST TERMINATE-Befehl wird verwendet, um entweder Bursts in fester Länge oder vollseitige Bursts zu beenden. Der als jüngstes registrierte READ-Befehl vor dem BURST TERMINATE-Befehl wird beendet. BURST TERMINATE ist nicht bankspezifisch.A BURST TERMINATE command is used to either terminate fixed-length bursts or full-page bursts. The most recently registered READ command before the BURST TERMINATE command is terminated. BURST TERMINATE is not bank specific.
  • Der Befehlsladeregistervorgang (Load Command Register Operation) wird verwendet, um Flash-Speichersteuerungsbefehle in der Befehlsausführungslogik (Command Execution Logic, CEL) 130 zu initiieren. Die CEL empfängt und interpretiert die Befehle der Einrichtung. Die Befehle steuern die Vorgänge des internen Zustandsautomaten 132 und das Pfadlesen (beispielsweise Speicherfeld 102, ID-Register 136 oder Statusregister 134).The Command Command Register (Load Command Register Operation) is used to execute flash memory control commands in Command Execution Logic (CEL). 130 to initiate. The CEL receives and interprets the commands of the device. The commands control the operations of the internal state machine 132 and path reading (for example, memory field 102 , ID Register 136 or status register 134 ).
  • Bevor ein READ- oder ein WRITE-Befehl an eine Bank innerhalb des synchronen Flash-Speichers ausgegeben werden kann, muss eine Reihe in der Bank ”geöffnet werden”. Dies wird bewerkstelligt über den ACTIVE-Befehl (definiert durch CS#, WE#, RAS#, CAS#), die sowohl die Bank als auch die zu aktivierende Zeile auswählen, vergleiche 4.Before a READ or WRITE command can be issued to a bank within the synchronous flash memory, a row in the bank must be "opened". This is accomplished via the ACTIVE command (defined by CS #, WE #, RAS #, CAS #), which selects both the bank and the line to be activated 4 ,
  • Nach dem Öffnen einer Zeile (ausgeben eines ACTIVE-Befehls) kann ein READ- oder WRITE-Befehl an diese Zeile ausgegeben werden und Gegenstand einer Zeitperiodenspezifikation sein (tRCD); tRCD (MIN) sollte durch die Taktperiode dividiert werden und auf die folgende ganze Zahl aufgerundet werden, um die früheste Taktflanke nach dem ACTIVE-Befehl zu bestimmen, auf den ein READ- oder WRITE-Befehl eingegeben werden kann. Beispielsweise führt eine tRCD-Spezifikation von 30 ns mit einem 90 MHz Takt (11,11 ns Periode) zu 2,7 Takten die auf 3 aufgerundet werden. Dies ist in 5 dargestellt, in der alle Fälle mit folgender Bedingung abgedeckt sind: 2 < tRCD (MIN)/tCK ≤ 3. (Dasselbe Verfahren wird verwendet, um weitere Spezifikationsbegrenzungen von Zeiteinheiten zu Taktzyklen umzuwandeln). After opening a line (issuing an ACTIVE command), a READ or WRITE command can be issued to this line and be subject to a time period specification (tRCD); tRCD (MIN) should be divided by the clock period and rounded up to the following integer to determine the earliest clock edge after the ACTIVE command to which a READ or WRITE command can be input. For example, a tRCD specification of 30 ns with a 90 MHz clock (11.11 ns period) results in 2.7 clocks that are rounded up to 3. This is in 5 in which all cases are covered with the following condition: 2 <tRCD (MIN) / tCK ≤ 3. (The same procedure is used to convert further specification limitations from time units to clock cycles).
  • Ein nachfolgender ACTIVE-Befehl an andere Zeilen in derselben Bank kann ausgegeben werden, ohne dass eine vorhergehende aktive Zeile geschlossen werden muss, vorausgesetzt, dass das minimale Zeitintervall zwischen nachfolgenden ACTIVE-Befehlen in derselben Bank durch tRC definiert ist.A subsequent ACTIVE command to other rows in the same bank can be issued without having to close a previous active row, provided that the minimum time interval between subsequent ACTIVE commands in the same bank is defined by tRC.
  • Ein nachfolgender ACTIVE-Befehl zu anderen Bänken kann herausgegeben werden, während auf die erste Bank zugegriffen wird, was dazu führt, dass der Overhead von vollständigen Zeilenzugriffen reduziert wird. Das minimale Zeitintervall zwischen nachfolgenden ACTIVE-Befehlen in unterschiedlichen Bänken wird durch ein Zeitintervall tRRD definiert.A subsequent ACTIVE command to other banks may be issued while the first bank is being accessed, resulting in a reduction in the overhead of complete row accesses. The minimum time interval between subsequent ACTIVE commands in different banks is defined by a time interval tRRD.
  • READ BURSTs werden mit einem READ-Befehl (definiert durch CS#, WE#, RAS#, CAS#) initiiert, wie in 6 dargestellt.READ BURSTs are initiated with a READ command (defined by CS #, WE #, RAS #, CAS #), as in 6 shown.
  • Die anfängliche Zeile und Bankadresse wird mit dem READ-Befehl zur Verfügung gestellt. Während des READ Bursts bzw. der READ-Befehlsfolge, wird das gültige Datenausgabeelement (Data out element) der anfänglichen Spaltenadresse erhältlich sein, nachfolgend der CAS-Latenz nach dem READ-Befehl. Jedes nachfolgende Datenelement wird an der nächsten positiven Taktflanke gültig sein. Nach Abarbeitung bzw. Abschluß eines Bursts werden die DQs in einen High-Z-Zustand übergehen, vorausgesetzt, dass keine anderen Befehle initiiert worden sind. Ein vollseitiger Burst (full page burst) wird fortgeführt bis er beendet ist. (Am Ende der Seite läuft er zu Spalte 0 um und fährt fort). Daten jedes READ Burst werden beendet mit einem nachfolgenden READ-Befehl und Daten eines READ Bursts mit fester Länge können sofort von Daten eines nachfolgenden READ-Befehls gefolgt werden. In jedem Fall wird ein kontinuierlicher Datenfluß erhalten. Das erste Datenelement des neuen Bursts folgt entweder dem letzten Element eines vollständigen Bursts oder dem letzten gewünschten Datenelement eines längeren Bursts, der beendet wurde. Der neue READ-Befehl sollte x-Zyklen vor der Taktflanke an der das letzte gewünschte Datenelement gültig ist, ausgegeben werden, wobei x gleichzusetzen ist mit der CAS-Latenz abzüglich 1. Dies ist in 7 gezeigt für CAS-Latenzen von 1, 2 und 3; Datenelement n + 3 ist entweder das letzte eines Bursts von 4 oder das letzte gewünschte eines längeren Bursts. Der synchrone Flash-Speicher verwendet eine Pipelinearchitektur und benötigt deshalb keine 2n-Regel, die mit einer Vorabrufarchitektur zusammenhängen. Ein READ-Befehl kann zu jedem Taktzyklus, der auf einen vorausgehenden READ-Befehl folgt, initiiert werden. Hochgeschwindigkeitswahlfreie Lesezugriffe innerhalb einer Seite können wie in 8 gezeigt ausgeführt werden oder jeder nachfolgende READ kann auf unterschiedlichen Bänken ausgeführt werden.The initial line and bank address is provided with the READ command. During the READ burst, the valid data output element of the initial column address will be available, followed by the CAS latency after the READ command. Each subsequent data element will be valid on the next positive clock edge. Upon completion of a burst, the DQs will transition to a high Z state, assuming that no other commands have been initiated. A full page burst will continue until it finishes. (At the bottom of the page, it goes to column 0 and continues). Data of each READ burst is terminated with a subsequent READ command and data of a READ burst of fixed length can be immediately followed by data of a subsequent READ command. In any case, a continuous data flow is obtained. The first data element of the new burst follows either the last element of a full burst or the last desired data element of a longer burst that has been terminated. The new READ instruction should be issued x cycles before the clock edge at which the last desired data item is valid, where x is equal to the CAS latency minus 1. This is in 7 shown for CAS latencies of 1, 2 and 3; Data element n + 3 is either the last of a burst of 4 or the last desired one of a longer burst. The synchronous flash memory uses a pipeline architecture and therefore does not require a 2n rule associated with a prefetch architecture. A READ command may be initiated on each clock cycle following a previous READ command. High-speed dial-free read access within a page can be done as in 8th shown or any subsequent READ can be performed on different banks.
  • Daten von jedem READ Burst können mit einem nachfolgenden WRITE-Befehl (WRITE-Befehlen muß ein WRITE SETUP vorangehen) beendet werden und Daten von einem READ Burst mit fester Länge können unmittelbar von Daten von einem nachfolgenden WRITE-Befehl gefolgt werden (der Gegenstand von Busdurchlaufbegrenzungen ist). Das Schreiben (WRITE) kann an der Taktflanke initiiert werden, die unmittelbar dem letzten (oder dem zuletzt gewünschten) Datenelement des READ Bursts folgt, vorausgesetzt, dass eine Ein-/Ausgabe-Konflikt vermieden werden kann. In einem vorgegebenen Systemdesign kann es die Möglichkeit geben, dass die Einrichtung, die die Eingabedaten steuert auf Low-Z geht bevor die DQs des synchronen FLASH-Speichers sich in High-Z befinden. In diesem Fall sollte zumindest eine Verzögerung von einem Takt auftreten zwischen den letzten Lesedaten und dem WRITE-Befehl.Data from each READ burst may be terminated with a subsequent WRITE command (WRITE commands must precede a WRITE SETUP), and data from a READ fixed-length burst may be immediately followed by data from a subsequent WRITE command (the subject of bus traversal limitations is). Write (WRITE) may be initiated on the clock edge immediately following the last (or last) data element of the READ burst, provided an I / O conflict can be avoided. In a given system design, there may be a possibility that the device that controls the input data goes low-Z before the DQs of the synchronous FLASH memory are in high-Z. In this case, there should be at least one delay of one clock between the last read data and the WRITE command.
  • Die DQM-Eingabe wird verwendet, um eine Ein-/Ausgabe-Konkurrenz zu vermeiden, wie in 9 dargestellt. Das DQM-Signal muß zumindest zwei Takte vor dem WRITE-Befehl (DQM-Latenz ist zwei Takte für die Ausgabepuffer) angesteuert bzw. aktiviert werden (HIGH), um eine Datenausgabe von dem READ zu unterdrücken. Sobald der WRITE-Befehl einmal registriert ist, gehen die DQs in den High-Z-Zustand (oder verbleiben in High-Z), unabhängig von dem Status des DQM-Signals. Das DQM-Signal muß vor dem WRITE-Befehl (die DQM-Latenz ist null Takte für die Eingabepuffer) deaktiviert werden, um sicherzustellen, dass die geschriebenen Daten nicht maskiert sind. 9 zeigt den Fall, bei dem die Taktfrequenz es ermöglicht, dass ein Buskonflikt vermieden wird, ohne einen NOP-Zyklus hinzuzufügen.The DQM input is used to avoid I / O contention, as in 9 shown. The DQM signal must be enabled (HIGH) at least two clocks before the WRITE command (DQM latency is two clocks for the output buffers) to suppress data output from the READ. Once the WRITE command is registered, the DQs go high-Z state (or remain high-Z) regardless of the status of the DQM signal. The DQM signal must be disabled before the WRITE command (the DQM latency is zero clocks for the input buffers) to ensure that the written data is not masked. 9 shows the case where the clock frequency allows a bus conflict to be avoided without adding a NOP cycle.
  • Ein READ-Burst in fester Länge oder ein vollseitiger READ-Burst kann entweder mit ACTIVE TERMINATE-Befehlen (diese können bankspezifisch oder nicht spezifisch sein) oder mit Burst TERMINATE-Befehlen (nicht bankspezifisch) beendet werden. Der ACTIVE TERMINATE-Befehl oder Burst TERMINATE-Befehl sollte x Zyklen vor der Taktflanke, an der das zuletzt gewünschte Datenelement gültig ist, ausgegeben werden, wobei x einer CAS-Latenz abzüglich 1 gleichzusetzen ist. Dies ist in 10 für jede mögliche CAS-Latenz gezeigt; Datenelement n + 3 ist das zuletzt gewünschte Datenelement eines Bursts von vier oder das zuletzt gewünschte eines längeren Bursts. A fixed-length READ burst or a full-blown READ burst can be terminated with either ACTIVE TERMINATE commands (which can be bank-specific or non-specific) or with burst TERMINATE commands (not bank-specific). The ACTIVE TERMINATE command or burst TERMINATE command should be issued x cycles before the clock edge at which the last desired data item is valid, where x equals a CAS latency less 1. This is in 10 shown for any CAS latency; Data element n + 3 is the last desired data element of a burst of four or the last desired one of a longer burst.
  • Ein Schreiben an eine einzelne Position (single-location WRITE) ist mit einem WRITE-Befehl (definiert über CS#, WE#, RAS#), wie in 11 gezeigt, initiiert. Die Startspalte und Bankadresse wird mit dem WRITE-Befehl zur Verfügung gestellt. Ist ein WRITE-Befehl einmal registriert, kann ein READ-Befehl durchgeführt werden, wie durch die Wahrheitstabellen 4 und 5 definiert. Ein Beispiel ist in 12 dargestellt. Während eines Schreibens (WRITE) werden die gültigen, eingehenden Daten koinzident mit dem WRITE-Befehl registriert.Writing to a single location (single-location WRITE) is done using a WRITE command (defined via CS #, WE #, RAS #), as in 11 shown initiated. The start column and bank address are provided with the WRITE command. Once a WRITE command is registered, a READ command can be performed as defined by truth tables 4 and 5. An example is in 12 shown. During a write (WRITE), the valid incoming data is registered coincident with the WRITE command.
  • Anders als bei einem SDRAM erfordert der synchrone Flash es nicht, dass ein PRECHARGE-Befehl verwendet wird, um eine offene Zeile in einer bestimmten Bank zu deaktivieren oder die offenen Zeilen in allen Bänken zu deaktivieren. Der ACTIVE TERMINATE-Befehl ist ähnlich zu dem Burst TERMINATE-Befehl; jedoch kann der ACTIVE TERMINATE-Befehl bankspezifisch oder nicht bankspezifisch sein. Eine Ansteuerung der Eingabe A10 mit HIGH während eines ACTIVE TERMINATE-Befehls wird ein BURST READ in jeden Bänken beenden. Wenn A10 während eines ACTIVE TERMINATE-Befehls niedrig ist, werden BA0 und BA1 bestimmen, welche Bank einer Beendigungsoperation unterzogen wird. ACTIVE TERMINATE wird als NOP für Banke betrachtet, die nicht durch A10, BA0, BA1 adressiert sind.Unlike a SDRAM, synchronous flash does not require a PRECHARGE command to be used to disable an open row in a particular bank or to disable the open rows in all banks. The ACTIVE TERMINATE command is similar to the Burst TERMINATE command; however, the ACTIVE TERMINATE command may be bank specific or not bank specific. Triggering input A10 with HIGH during an ACTIVE TERMINATE command will kill one BURST READ in each bank. If A10 is low during an ACTIVE TERMINATE command, BA0 and BA1 will determine which bank undergoes a termination operation. ACTIVE TERMINATE is considered a NOP for Banks that are not addressed by A10, BA0, BA1.
  • Ein Abschalten (Power Down) tritt auf, falls die Taktfreigabe, CKE, als LOW registriert ist, koinzident mit einem NOP oder einem COMMAND INHIBIT, falls keine Zugriffe in Bearbeitung sind. Bei Eintreten in den Power-Down-Zustand werden die Eingabe- und Ausgabepuffer (ausschließlich CKE) deaktiviert, nachdem die internen Zustandsautomatenvorgange (einschließlich WRITE-Befehlen) vervollständigt sind, zur Zwecke der Energieeinsparung während des Standby.A Power Down occurs if the clock enable, CKE, is registered as LOW, coincident with a NOP or a COMMAND INHIBIT if no access is in progress. Upon entering the power-down state, the input and output buffers (excluding CKE) are disabled after completing the internal state machine operations (including WRITE commands) for the purpose of power saving during standby.
  • Der Power-Down-Zustand wird verlassen, indem ein NOP oder ein COMMAND INHIBIT und CKE HIGH an der gewünschten Taktflanke (passend zu tCKS) registriert wird. Vergleiche 13 für ein Beispiel eines Power Down-Vorganges.The power-down state is exited by registering a NOP or a COMMAND INHIBIT and a CKE HIGH at the desired clock edge (matching tCKS). comparisons 13 for an example of a power down process.
  • Ein Taktunterbrechungsmodus tritt auf, falls ein Spaltenzugriff/Burst in Bearbeitung ist und CKE als LOW registriert ist. In dem Taktunterbrechungsmodus ist ein interner Takt deaktiviert, was die synchrone Logik ”einfriert”. Für jede positive Taktflanke, an der CKE als LOW abgetastet wird, wird die nächste interne positive Taktflanke ausgesetzt bzw. unterbrochen. Jeder Befehl oder Daten, die auf den Eingabepins zum Zeitpunkt einer unterbrochenen internen Taktflanke auftreten, werden ignoriert, alle Daten, die auf den DQ-Pins bzw. den DQ-Stiften anliegen, bleiben angesteuert und Burst-Zähler werden nicht weitergezählt, solange wie der Takt unterbrochen bleibt (vergleiche Beispiel in 14). Taktunterbrechungsmodus wird durch Registrierung eines CKE HIGH verlassen; der interne Takt und darauf bezogene Vorgänge bzw. Operationen werden an der nachfolgenden positiven Taktflanke wieder aufgenommen.A clock interrupt mode occurs if a column access / burst is in progress and CKE is registered as LOW. In the clock interrupt mode, an internal clock is disabled, which "freezes" the synchronous logic. For each positive clock edge at which CKE is sampled LOW, the next internal positive clock edge is suspended. Any command or data occurring on the input pins at the time of an interrupted internal clock edge will be ignored, all data on the DQ pins or DQ pins will remain driven and burst counters will not continue to count as long as the Clock remains interrupted (see example in 14 ). Interrupt mode is exited by registering a CKE HIGH; the internal clock and related operations or operations are resumed on the subsequent positive clock edge.
  • Der Burst-Lesen-Einzelschreib-Modus ist in einer Ausfuhrungsform ein Vorgabemodus. Alle WRITE-Befehle resultieren in dem Zugriff auf eine einzelne Spaltenposition (Burst von eins), während READ-Befehle auf Spalten zugreifen, gemäß der programmierten Burstlänge und -folge. Die folgende Wahrheitstabelle 3 zeigt die Speichervorgänge, unter Verwendung des CKE-Signals. Wahrheitstabelle 3 – CKE CKEn-1 CREn GEGENWÄRTIGER ZUSTAND BEFEELn AKTIONn L L POWER-DOWN X Aufrechterhalten von POWER-DOWN TAKTUNTER-BRECHUNG X Aufrechterhalten v. TAKTUNTERBRECHUNG L H POWER-DOWN COMMAND INHIBIT oder NOP X Verlassen von POWER-DOWN TAKTUNTER-BRECHUNG Verlassen von TAKTUNTERBRECHUNG H L Alle Bänke im Wartezustand lesend oder schreibend COMMAND INHIBIT oder NOP VALID POWER-DOWN Einleiten TAKTUNTERBRECHUNG Einleiten H H Vergl. Wahrheitstabelle 4
    Wahrheitstabelle 4 – Gegenwärtiger Zustand Bank n – Befehl auf Bank n Gegenwärtiger Zustand CS# RAS# CAS# WE# BEFEHL/AKTION jeder H X X X COMMAND INHIBIT (NOP/Fortführen der bisherigen Aktion) L H H H NO OPERATION (NOP/Fortführen der bisherigen Aktion) wartend L L H H ACTIVE (Auswahl und aktiviere Zeile) L L L H LORD COMMAND REGISTER L L L L LORD MODE REGISTER L L H L ACTIVE TERMINATE Zeile Aktiv L H L H READ (Auswahl Spalte und starte READ Burst) L H L L WRITE (Auswahl Spalte und starte WRITE) L L H L ACTIVE TERMINATE L L L H LORD COMMAND REGISTER READ L H L H READ (Auswahl Spalte und starte neuen READ Burst) L H L L WRITE (Auswahl Spalte und starte WRITE) L L H L ACTIVE TERMINATE L H H L BURST TERMINATE L L L H LORD COMMAND REGISTER WRITE L H L H READ (Auswahl Spalte und starte neuen READ Burst) L L L H LORD COMMAND REGISTER
    Wahrheitstabelle 5 – Gegenwärtiger Zustand Bank n – Befehl auf Bank n Gegenwärtiger Zustand CS# RAS# CAS# WE# BEFEHL/AKTION jeder H X X X COMMAND INHIBIT (NOP/Fortführen der bisherigen Operation) L H H H NO OPERATION (NOP/Fortführen der bisherigen Operation) wartend X X X X Jeder Befehl, andernfalls gehe zu Bank m Row Acti-vating, Active, or Active Terminate L L H H ACTIVE (Auswahl und aktiviere Zeile) L H L H READ (Auswahl Spalte und starte READ Burst) L H L L WRITE (Auswahl Spalte und starte WRITE) L L H L ACTIVE TERMINATE L L L H LORD COMMAND REGISTER READ L L H H ACTIVE (Auswahl und aktiviere Zeile) L H L H READ (Auswahl Spalte und starte neuen READ Burst) L H L L WRITE (Auswahl Spalte und starte WRITE) L L H L ACTIVE TERMINATE L L L H LOAD COMMAND REGISTER WRITE L L H H ACTIVE (Auswahl und aktiviere Zeile) L H L H READ (Auswahl Spalte und aktiviere READ Burst) L L H L ACTIVE TERMINATE L H H L BURST TERMINATE L L L H LOAD COMMAND REGISTER
    The burst read-write mode is a default mode in one embodiment. All WRITE instructions result in accessing a single column position (burst of one) while READ instructions access columns according to the programmed burst length and sequence. The following truth table 3 shows the memory operations using the CKE signal. Truth Table 3 - CKE CKE n-1 CRE n CURRENT STATUS BEFEEL n ACTION n L L POWER DOWN X Maintaining POWER-DOWN CLOCK IN-BREAK X Maintaining v. CLOCK INTERRUPTION L H POWER DOWN COMMAND INHIBIT or NOP X Exit from POWER-DOWN CLOCK IN-BREAK Leaving CYCLE INTERRUPTION H L All the benches are reading or writing while waiting COMMAND INHIBIT or NOP VALID POWER-DOWN Initiate CLOCK INTERRUPTION Initiate H H Comp. Truth table 4
    Truth Table 4 - Current State Bank n - Command on Bank n Present condition CS # RAS # CAS # WE # COMMAND / ACTION everyone H X X X COMMAND INHIBIT (NOP / continue the previous action) L H H H NO OPERATION (NOP / continuation of previous action) waiting L L H H ACTIVE (select and activate line) L L L H LORD COMMAND REGISTER L L L L LORD MODE REGISTER L L H L ACTIVE TERMINATES Line Active L H L H READ (select column and start READ burst) L H L L WRITE (select column and start WRITE) L L H L ACTIVE TERMINATES L L L H LORD COMMAND REGISTER READ L H L H READ (select column and start new READ burst) L H L L WRITE (select column and start WRITE) L L H L ACTIVE TERMINATES L H H L BURST TERMINATES L L L H LORD COMMAND REGISTER WRITE L H L H READ (select column and start new READ burst) L L L H LORD COMMAND REGISTER
    Truth Table 5 - Current State Bank n - Command on Bank n Present condition CS # RAS # CAS # WE # COMMAND / ACTION everyone H X X X COMMAND INHIBIT (NOP / continuation of previous operation) L H H H NO OPERATION (NOP / continuation of previous operation) waiting X X X X Every command, otherwise go to bank m Row Activating, Active, or Active Terminate L L H H ACTIVE (select and activate line) L H L H READ (select column and start READ burst) L H L L WRITE (select column and start WRITE) L L H L ACTIVE TERMINATES L L L H LORD COMMAND REGISTER READ L L H H ACTIVE (select and activate line) L H L H READ (select column and start new READ burst) L H L L WRITE (select column and start WRITE) L L H L ACTIVE TERMINATES L L L H LOAD COMMAND REGISTER WRITE L L H H ACTIVE (select and activate line) L H L H READ (select column and activate READ burst) L L H L ACTIVE TERMINATES L H H L BURST TERMINATES L L L H LOAD COMMAND REGISTER
  • FUNKTIONSBESCHREIBUNGDESCRIPTION OF OPERATION
  • Der synchrone Flash-Speicher beinhaltet eine Anzahl von Merkmalen, um diesen ideal für das Speichern von Code und für vor-Ort-Anwendungen auf einem SDRAM-Bus anzupassen. Das Speicherfeld ist in einzelne zu löschende Blöcke segmentiert. Jeder Block kann ohne die in anderen Blöcken gespeicherten Daten zu beeinflussen, gelöscht werden. Diese Speicherblöcke werden gelesen, beschrieben und gelöscht, durch Ausgabe von Befehlen an die Befehlsausführungslogik 120 (CEL). Die CEL steuert die Vorginge der internen Zustandsmaschine bzw. des internen Zustandsautomaten (oder auch Statusmaschine genannt) 132 (Internal State Machine, ISM), die vollständig alle folgenden Befehle steuert: ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, BLOCK ERASE, BLOCK PROTECT, DEVICE PROTECT, UNPROTECT ALL BLOCKS und VERIEY Vorgänge. Der ISM 132 schätzt jeden Speicherplatz vor dem Überschreiben und optimiert jede Speicherposition hinsichtlich einer maximalen Datenspeicherung. Darüber hinaus vereinfacht der ISM wesentlich die Steuerung, die notwendig ist, um in das System zu schreiben oder in eine externe Programmiereinheit.The synchronous flash memory includes a number of features to make it ideal for storing code and for on-premises applications on an SDRAM bus. The memory field is segmented into individual blocks to be deleted. Each block can be deleted without affecting the data stored in other blocks. These memory blocks are read, written and erased by issuing commands to the instruction execution logic 120 (CEL). The CEL controls the processes of the internal state machine or internal state machine 132 (Internal State Machine, ISM) which completely controls all the following commands: ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, BLOCK ERASE, BLOCK PROTECT , DEVICE PROTECT, UNPROTECT ALL BLOCKS and VERIEY operations. The ISM 132 estimates each memory location before overwriting and optimizes each memory location for maximum data storage. In addition, the simplified ISM essentially the control that is necessary to write to the system or into an external programming unit.
  • Der synchrone Flash-Speicher ist in 16 unabhängig löschbare Speicherblöcke organisiert, die es erlauben, dass Speicherbereiche gelöscht werden, ohne dass der Rest der Speicherdaten beeinflußt wird. Jeder Block kann gegen versehentliches Löschen oder Schreiben hardwaregeschützt sein. Jeder geschützte Block erfordert, dass der RP#-Stift bzw. der R2#-Pin mit VHH angesteuert wird (einer relativ hohen Spannung), bevor diese verändert wird. Die 256 K-Wortblöcke an Positionen 0 und 15, können einen zusätzlichen Hardwareschutz haben. Sobald ein PROTECT BLOCK-Befehl durch diese Blöcke ausgeführt wurde, wird ein UNPROTECT ALL BLOCKS-Befehl alle Blöcke, außer den Blöcken bei Position 0 und 15 entsperren, obwohl der RP#-Pin auf VHH liegt. Dies stellt eine zusätzliche Sicherheit für kritischen Code während Updates von Firmware innerhalb des Systems zur Verfügung, wenn eine unabsichtliche Spannungsunterbrechung oder eine Rücksetzung des Systems auftreten sollte.The synchronous flash memory is organized into 16 independently erasable memory blocks which allow memory areas to be erased without affecting the remainder of the memory data. Each block can be hardware protected against accidental erasure or writing. Each protected block requires the RP # pin or R2 # pin to be driven by VHH (a relatively high voltage) before it is changed. The 256 K word blocks at positions 0 and 15 may have additional hardware protection. Once a PROTECT BLOCK command has been executed through these blocks, a UNPROTECT ALL BLOCKS command will unlock all blocks except the blocks at positions 0 and 15, even though the RP # pin is at VHH. This provides additional security for critical code during firmware updates within the system should an inadvertent power outage or system reset occur.
  • Power-up-Initialisierung, ERASE-, WRITE- und PROTECT-Timings werden über einen ISM kontrolliert, um alle programmierten Algorithmen in den Speicherfeldern zu steuern. Der ISM garantiert einen Schutz gegen Überschreiben und optimiert die Schreibgrenzen in jeder Zelle. Während der Schreibvorgänge (WRITE Operations) inkrementiert und überwacht der ISM automatisch Schreibversuche, verifiziert die Schreibgrenzen auf jeder Speicherzelle und führt Updates des ISM-Statusregisters durch. Wenn ein BLOCK ERASE-Vorgang durchgeführt ist, überschreibt der ISM automatisch den gesamten adressierten Block (schließt ein Überlöschen aus), inkrementiert und überwacht Löschversuche und setzt Bits in dem ISM-Statusregister.Power-up initialization, ERASE, WRITE, and PROTECT timings are controlled through an ISM to control all programmed algorithms in the memory arrays. The ISM guarantees protection against overwriting and optimizes the write limits in each cell. During WRITE operations, the ISM automatically increments and monitors write attempts, verifying the write limits on each memory cell, and updating the ISM status register. When a BLOCK ERASE operation is performed, the ISM automatically overwrites (over-erases) the entire addressed block, increments and monitors erase attempts, and sets bits in the ISM status register.
  • Das 8-Bit-ISM-Statusregister 134 erlaubt es, dass ein externer Prozesser 200 den Status des ISM während WRITE-, ERASE- und PROTECT-Vorgängen überwacht. Ein Bit des 8-Bit-Statusregisters (SR7) wird vollständig durch den ISM gesetzt und gelöscht. Dieses Bit zeigt an, ob der ISM mit einer ERASE-, WRITE- oder PROTECT-Aufgabe beschäftigt ist. Zusätzliche Fehlerinformationen werden in drei anderen Bits (SR3, SR4 und SR5) gesetzt: Schreibe und schütze Blockfehler, lösche und Freigeben aller Blockefehler und Einrichtungsschutzfehler. Die Statusregisterbits SR0, SR1 und SR2 stellen Details der laufenden ISM-Vorgänge zur Verfugung. Der Benutzer kann überwachen, ob ein ISM-Vorgang auf Einrichtungsebene oder auf Bankebene laufend ist (einschließlich welche Bank unter der ISM-Kontrolle ist). Diese sechs Bits (SR3 bis SR5) müssen durch das Host-System gelöscht werden. Das Statusregister wird nachstehend in Bezug zu Tabelle 2 detaillierter beschrieben.The 8-bit ISM status register 134 it allows an external processor 200 monitors the status of the ISM during WRITE, ERASE, and PROTECT operations. One bit of the 8-bit status register (SR7) is completely set and cleared by the ISM. This bit indicates whether the ISM is busy with an ERASE, WRITE, or PROTECT task. Additional error information is set in three other bits (SR3, SR4 and SR5): Write and protect block errors, clear and release all block errors and device protection errors. The status register bits SR0, SR1 and SR2 provide details of the ongoing ISM operations. The user can monitor whether an ISM operation is ongoing at the asset level or at the bank level (including which bank is under ISM control). These six bits (SR3 to SR5) must be cleared by the host system. The status register will be described in more detail below with reference to Table 2.
  • Die CEL 130 empfängt und interpretiert Befehle der Einrichtung. Die Befehle steuern die Vorgänge der ISM und des Lesepfads (z. B. Speicherfeld, Einrichtungskonfiguration oder Statusregister). Befehle können an die CEL ausgegeben werden, während der ISM aktiv ist.The CEL 130 receives and interprets commands of the device. The commands control the operations of the ISM and read path (eg, memory array, device configuration or status register). Commands can be issued to the CEL while the ISM is active.
  • Um ein Maximum an Spannungseinsparung zu erlauben, zeichnet sich der synchrone Flash-Speicher durch sehr niedrigen Stromfluß aus und einen niedrigen Power-down-Modus. Um in diesen Modus einzutreten wird der RP#-Pin 140 (Reset/Power-down) auf VSS ± 0,2 V gebracht. Um ein unabsichtliches Reset zu verhindern, muß RP# an Vss für 100 ns gehalten werden, bevor die Eirichtung in den Reset-Modus eintritt. Wahrend RP# auf Vss gehalten wird, tritt die Einrichtung in den tiefen Power-down-Modus ein. Nachdem die Einrichtung in den tiefen Power-down-Modus eingetreten ist, fuhrt ein Wechsel von LOW zu HIGH an RP# zu einer Power-up-Initialisierungssequenz der Vorrichtung, wie hierin beschrieben.To allow maximum voltage savings, the synchronous flash memory is characterized by very low current flow and a low power-down mode. To enter this mode, the RP # pin 140 (Reset / Power-down) brought to VSS ± 0.2V. To prevent an unintentional reset, RP # must be held at Vss for 100 ns before the device enters reset mode. While RP # is held at Vss, the device enters deep power-down mode. After the device has entered the deep power-down mode, a change from LOW to HIGH to RP # results in a power-up initialization sequence of the device as described herein.
  • Das Überführen bei RP# von LOW zu HIGH, nachdem in den Reset-Modus eingetreten wurde, aber vor Eintritt in den tiefen Power-down-Modus erfordert 1 μs Verzögerung vor der Herausgabe eines ausführbaren Befehls. Wenn die Einrichtung in den tiefen Power-down-Modus eintritt, werden alle Puffer, ausschließlich des RP#-Puffers gesperrt und die Stromentnahme ist niedrig, beispielsweise maximal bei 50 μA bei 3,3 V VCC. Die Eingabe bei RP# muß während des tiefen Power-downs bei Vss bleiben. Bei Eintreten in den Reset-Modus wird das Statusregister 134 gelöscht und der ISM 132 wird auf dem Feldlesemodus gesetzt.Passing RP # from LOW to HIGH after entering the reset mode but before entering the deep power-down mode requires 1 μs delay before issuing an executable command. When the device enters the deep power-down mode, all buffers excluding the RP # buffer are disabled and the current drain is low, for example at a maximum of 50 μA at 3.3 V VCC. The input to RP # must remain at Vss during the low power-down. When entering the reset mode, the status register becomes 134 deleted and the ISM 132 is set to the field reading mode.
  • Die Feldarchitektur des synchronen Flash-Speichers ist so ausgelegt, dass Sektoren gelöscht werden können, ohne dass der Rest des Feldes zerstört wird. Das Feld ist in 16 adressierbare ”Blöcke” aufgeteilt, die unabhängig voneinander löschbar sind. Dadurch, dass eher Blöcke gelöscht werden, als das gesamte Feld, erhöht sich die Gesamtlebenszeit der Einrichtung, als eine Systemflexibilität. Lediglich die ERASE- und BLOCK PROTECT-Funktionen sind blockorientiert. Die 16 adressierbaren Blöcke sind gleichmäßig in vier Bänke 104, 106, 108 und 111 mit je vier Blöcken aufgeteilt. Die vier Bänke haben simultane bzw. gleichzeitige Lese-Während-Schreiben-Funktionalität. Bei ISM WRITE oder ERASE-Vorgang auf irgendeine Bank kann gleichzeitig mit einem READ-Vorgang auf eine andere Bank auftreten. Das Statusregister 134 kann vorzugsweise zyklisch abgefragt werden, um zu bestimmen, welche Bank sich unter einem ISM-Vorgang befindet. Der synchrone Flash-Speicher hat einen einzelnen Hintergrundvorgangs-ISM, um Power-up-Initialisierung, ERASE-, WRITE- und PROTECT-Vorgänge zu steuern. Nur eine ISM-Operation kann zu einem Zeitpunkt auftreten gewisse andere Befehle, einschließlich READ-Befehle können jedoch ausgeführt werden, während eine ISM-Operation stattfindet. Ein Betriebsbefehl, der durch den ISM gesteuert wird, ist entweder als ein Vorgang auf Einrichtungsebene oder als ein Vorgang auf Bankebene definiert. WRITE und ERASE sind ISM-Befehle auf Bankebene bzw. Bankniveau. Nachdem eine ISM-Bank-Operation initiiert wurde, kann ein READ auf jede Position in der Bank ungültige Daten ausgeben, wohingegen ein READ auf jede andere Bank das Feld lesen wird. Ein READ STATUS REGISTER-Befehl wird die Inhalte des Statusregisters 134 als Zahl ausgeben. Das ISM-Statusbit zeigt an, wann der ISM-Vorgang vollständig ist (SR7 = 1). Sobald der ISM-Vorgang abgeschlossen ist, tritt die Bank automatisch in den Feld-Lese-Modus ein. ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, BLOCK PROTECT, DEVICE PROTECT und UNPROTECT ALL BLOCKS sind ISM-Vorgänge auf Einrichtungsebene. Sobald ein Vorgang auf ISM-Einrichtungsebene initiiert wurde, wird ein READ auf irgendeiner Bank die Inhalte des Feldes ausgeben. Ein READ STATUS REGISTER-Befehl kann ausgegeben werden, um den Abschluß des ISM-Vorganges zu bestimmen. Falls SR7 = 1, ist der ISM-Vorgang vollständig abgeschlossen und ein nachfolgender ISM-Vorgang kann initiiert werden. Jeder Block kann vor einem unbeabsichtigten ERASE oder WRITE mit einer Hardwareschaltung geschützt werden, die es erfordert, dass der RP#-Pin bei VHH angesteuert wird, bevor ein WRITE- oder ERASE-Befehl angefangen wird, wie nachstehend erläutert.The field architecture of the synchronous flash memory is designed so that sectors can be erased without destroying the rest of the array. The field is divided into 16 addressable "blocks" which are independently erasable. The fact that blocks are deleted rather than the entire field increases the overall lifetime of the device as a system flexibility. Only the ERASE and BLOCK PROTECT functions are block-oriented. The 16 addressable blocks are even in four banks 104 . 106 . 108 and 111 divided into four blocks each. The four banks have simultaneous read-while-write functionality. In ISM WRITE or ERASE operation on any bank can occur simultaneously with a READ operation to another bank. The status register 134 can preferably be cyclic be queried to determine which bank is under an ISM process. The synchronous flash memory has a single background ISM to control power-up initialization, ERASE, WRITE, and PROTECT operations. Only one ISM operation can occur at a time. Certain other commands, however, including READ commands, can be executed while an ISM operation is taking place. An operation command that is controlled by the ISM is defined as either a facility-level operation or a bank-level operation. WRITE and ERASE are bank-level and bank-level ISM commands. After an ISM bank operation has been initiated, a READ may issue invalid data to each location in the bank, whereas a READ will read the field on every other bank. A READ STATUS REGISTER command becomes the contents of the status register 134 spend as a number. The ISM status bit indicates when the ISM process is complete (SR7 = 1). Once the ISM process is complete, the bank automatically enters the field read mode. ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, BLOCK PROTECT, DEVICE PROTECT and UNPROTECT ALL BLOCKS are ISM operations at the device level. Once an operation has been initiated at the ISM facility level, a READ on any bank will issue the contents of the field. A READ STATUS REGISTER command can be issued to determine the completion of the ISM process. If SR7 = 1, the ISM process is complete and a subsequent ISM process can be initiated. Each block may be protected from inadvertent ERASE or WRITE with a hardware circuit that requires the RP # pin to be driven at VHH before starting a WRITE or ERASE command, as discussed below.
  • Jeder Block kann hardwaregeschützt sein, um eine zusatzliche Sicherheit für sehr sensitive Bereiche von Firmware zur Verfügung zu stellen. Während eines WRITE oder eines ERASE auf einem hardwaregeschützten Block muß der RP#-Pin bei VHH gehalten werden, bis der WRITE oder das ERASE vollständig ausgeführt sind, Jeder WRITE- oder ERASE-Versuch auf einem geschützten Block, ohne dass RP# = VHH ist, wird verhindert und führt zu einem Schreibe- oder Löschfehler. Die Blöcke bei Positionen 0 und 15 können einen zusätzlichen Hardwareschutz haben, um eine unbeabsichtigte Schreib- oder Löschoperation zu verhindern. In diese Ausführungsform können diese Blöcke nicht über einen UPROTECT ALL BLOCKS-Befehl durch Software entsperrt werden, obwohl RP# = VHH. Der Schutzstatus eines jeden Blocks kann geprüft werden, indem dessen Blockschutzbit mit einem READ STATUS REGISTER-Befehl gelesen wird. Weiterhin muß eine dreizyklische Befehlssequenz mit der Blockadresse ausgegeben werden, um einen Block zu schützen.Each block can be hardware protected to provide additional security for very sensitive areas of firmware. During a WRITE or an ERASE on a hardware protected block, the RP # pin must be held at VHH until the WRITE or ERASE is fully executed, any WRITE or ERASE attempt on a protected block without RP # = VHH , is prevented and leads to a write or delete error. The blocks at positions 0 and 15 may have additional hardware protection to prevent inadvertent write or erase operation. In this embodiment, these blocks can not be unlocked via software via a UPROTECT ALL BLOCKS command, although RP # = VHH. The protection status of each block can be checked by reading its block protection bit with a READ STATUS REGISTER command. Furthermore, a tri-cyclic command sequence must be issued with the block address to protect a block.
  • Der synchrone Flash-Speicher zeichnet sich durch drei unterschiedliche Arten von READ-Vorgängen aus. Abhängig von dem Modus, produziert ein READ-Vorgang Daten von dem Speicherfeld, Statusregister oder einen der Einrichtungskonfigurationsregister. Einem READ auf ein Einrichtungskonfigurationsregister oder ein Statusregister muß ein LCR-ACTIVE-Zyklus vorangehen und die Burstlänge der Daten wird durch die Einstellungen im Modusregister definiert. Ein nachfolgender READ oder ein READ, dem kein LCR-ACTIVE-Zyklus voranging, wird das Feld lesen. Es existieren jedoch einige Unterschiede, die in den nachfolgenden Abschnitten beschrieben werden.The synchronous flash memory is characterized by three different types of READ operations. Depending on the mode, a READ operation will produce data from the memory array, status register, or one of the device configuration registers. A READ to a device configuration register or status register must be preceded by an LCR-ACTIVE cycle and the burst length of the data is defined by the settings in the mode register. A subsequent READ or a READ that did not precede an LCR-ACTIVE cycle will read the field. However, there are some differences that are described in the following sections.
  • Ein READ-Befehl auf eine der Bänke gibt die Inhalte des Speicherfeldes aus. Während ein WRITE- oder ERASE-Vorgang stattfindet, kann ein READ auf jede Position innerhalb der Bank unter ISM-Steuerung ungültige Daten ausgeben. Nach Austreten aus dem Reset-Vorgang führt die Einrichtung automatisch in den Feldlesemodus ein.A READ command on one of the banks outputs the contents of the memory field. During a WRITE or ERASE operation, a READ can issue invalid data to any position within the bank under ISM control. Upon exiting the reset process, the device automatically enters the field read mode.
  • Das Ausführen eines READ eines Statusregisters 134 erfordert dieselbe Eingabesequenz als wenn das Feld gelesen würde, abgesehen davon, dass ein LCR READ STATUS REGISTER(70H)-Zyklus den ACTIVE READ-Zyklen vorangehen muß. Die Burstlänge der Datenausgabe des Statusregisters wird durch das Modusregister 148 definiert. Die Inhalte des Statusregisters werden an der nächsten positiven Taktkante, gemaß der CAS-Latenzen erneuert und zwischengespeichert (latched). Die Einrichtung tritt automatisch in den Feldlesemodus für nachfolgende READ-Befehle.Performing a READ of a status register 134 requires the same input sequence as if the field were read, except that an LCR READ STATUS REGISTER (70H) cycle must precede the ACTIVE READ cycles. The burst length of the data output of the status register is determined by the mode register 148 Are defined. The contents of the status register are renewed and latched at the next positive clock edge, according to the CAS latencies. The device automatically enters the field read mode for subsequent READ commands.
  • Das Lesen jedes der Einrichtungskonfigurationsregister 136 erfordert dieselbe Eingabesequenz, als wenn das Statusregister gelesen wird, abgesehen davon, dass bestimmte Adressen ausgegeben werden müssen. WE# muß auch HIGH und DQM und CS# müssen auf LOW gesetzt sein. Um die Kompatibilitäts-ID des Herstellers zu lesen, müssen die Adressen bei 000000H sein und um die Einrichtungs-ID zu lesen, müssen die Adressen bei 000001H sein. Jedes der Blockschutzbits ist an der dritten Adressposition innerhalb jedes Löschblockes (xx0002H) gelesen, während das Einrichtungsschutzbit von der Position 000003H gelesen wird.Reading each of the device configuration registers 136 requires the same input sequence as when the status register is read, except that certain addresses must be issued. WE # must also be HIGH and DQM and CS # must be set to LOW. To read the manufacturer's compatibility ID, the addresses must be at 000000H, and to read the device ID, the addresses must be at 000001H. Each of the block protection bits is read at the third address position within each erase block (xx0002H), while the device protection bit is read from the position 000003H.
  • Wie DQ-Pins werden verwendet, um Daten in das Feld einzugeben. Die Adresspins werden jedesmal verwendet, um eine Adressposition zu bezeichnen oder um einen Befehl an die CEL während des LORD COMMAND REGISTER-Zyklus einzugeben. Eine Befehlseingabe gibt ein 8-Bit-Befehl an die CEL aus, um den Betriebsmodus der Einrichtung zu steuern. Ein WRITE wird verwendet, um Daten in das Speicherfeld einzugeben. Der folgende Abschnitt beschreibt beide Arten von Eingaben.Like DQ pins are used to enter data in the field. The address pins are used each time to designate an address location or to input a command to the CEL during the LORD COMMAND REGISTER cycle. A command input issues an 8-bit command to the CEL to to control the operating mode of the device. A WRITE is used to enter data in the memory field. The following section describes both types of inputs.
  • Um eine Befehlseingabe durchzuführen, muss DQM LOW sein, und CS# and WE# müssen LOW sein. Adressstifte oder DQ-Stifte werden zum Eingeben von Befehlen verwendet. ”Nicht für die Eingabe” von Befehlen verwendete Adressstifte sind ”unbeachtlich” und müssen stabil gehalten werden. Der 8-Bit-Befehl wird auf DQ0–DQ7 oder A0–A7 eingegeben und auf der positiven Taktflanke übernommen.To execute a command prompt, DQM must be LOW, and CS # and WE # must be LOW. Address pins or DQ pens are used to enter commands. "Address pins not used for input" of commands are "irrelevant" and must be kept stable. The 8-bit command is input to DQ0-DQ7 or A0-A7 and applied to the positive clock edge.
  • Ein WRITE auf das Speicherfeld stellt die gewünschten Bits auf logisch 0, kann jedoch nicht ein gegebenes Bit von logisch 0 auf logisch 1 andern. Das Setzen von Bits auf eine logische 1 erfordert, dass der Gesamtblock geloscht wird. Um ein Schreiben durchzuführen, muss DQM LOW sein, CS# und WE# müssen LOW sein, und VCCP muss an VCC gebunden sein. Schreiben auf einen geschützten Block erfordert auch, dass der RP#-Stift auf VHH gebracht wird. A0–A11 liefern die zu beschreibende Adresse, während die in das Feld zu schreibenden Daten auf den DQ-Stiften eingegeben werden. Die Daten und Adressen werden auf der steigenden Flanke des Takts übernommen. Einem WRITE muss ein WRITE SETUP-Befehl vorausgehen.A WRITE to the memory array sets the desired bits to logical 0 but can not change a given bit from logic 0 to logical 1. Setting bits to a logical 1 requires the entire block to be cleared. To perform a write, DQM must be LOW, CS # and WE # must be LOW, and VCCP must be tied to VCC. Writing to a protected block also requires that the RP # pen be brought to VHH. A0-A11 provide the address to be written while the data to be written to the field is input to the DQ pins. The data and addresses are taken on the rising edge of the clock. A WRITE must be preceded by a WRITE SETUP command.
  • Um das Schreiben der Speicherblöcke zu vereinfachen, enthält der synchrone Flash eine ISM, die alle internen Algorithmen für die WRITE und ERASE-Zyklen steuert. Ein 8-Bit-Befehlssatz wird zur Steuerung der Vorrichtung verwendet. Siehe Wahrheitstabellen 1 und 2 für eine Liste gültiger Befehle.To simplify the writing of memory blocks, the synchronous flash contains an ISM that controls all internal algorithms for the WRITE and ERASE cycles. An 8-bit instruction set is used to control the device. See Truth Tables 1 and 2 for a list of valid commands.
  • Das 8-Bit-ISM-Status-Register 134 (siehe Tabelle 2) wird abgefragt, um einen ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, ERASE, BLOCK PROTECT, DEVICE PROTECT oder UNPROTECT ALL BLOCKS Abschluss oder diesbezügliche Fehler zu prüfen. Der Abschluss eines ISM-Vorgangs kann durch Erteilung eines READ STATUS REGISTER-Befehls (70H) überwacht werden. Die Inhalte der Status-Register werden an DQ0–DQ7 ausgegeben und an der nächsten positiven Taktflanke (vorbehaltlich den CAS-Latenzen) für eine feste Burstlänge aktualisiert, wie durch die Modus-Register-Einstellungen vorgegeben. Der ISM-Betrieb wird abgeschlossen sein, wenn SR7 = 1. Alle definierten Bits werden durch die ISM gesetzt, aber nur das ISM-Status-Bit wird durch die ISM zurückgesetzt. Der Löschen/Schutz-Aufheben-Block, Schreiben/Schutz-Block, Vorrichtungsschutz müssen unter Verwendung eines CLEAR STATUS REGISTER(50H)-Befehls gelöscht werden.The 8-bit ISM status register 134 (see Table 2) is queried to check an ERASE NVMODE REGISTER, WRITE NVMODE REGISTER, WRITE, ERASE, BLOCK PROTECT, DEVICE PROTECT or UNPROTECT ALL BLOCKS completion or errors. The completion of an ISM operation can be monitored by issuing a READ STATUS REGISTER command (70H). The contents of the status registers are output to DQ0-DQ7 and updated on the next positive clock edge (subject to CAS latencies) for a fixed burst length, as dictated by the mode register settings. ISM operation will complete when SR7 = 1. All defined bits are set by the ISM, but only the ISM status bit is reset by the ISM. The Clear / Unprotect Block, Write / Protect Block, Device Protection must be cleared using a CLEAR STATUS REGISTER (50H) command.
  • Dies gestattet es dem Anwender auszuwählen, wann das Status-Register abgefragt und gelöscht wird. Beispielsweise kann ein Host-System mehrere WRITE-Vorgänge durchführen, bevor das Status-Register überprüft wird, statt nach jedem einzelnen WRITE zu prüfen. Kontrollieren des RP#-Signals oder Herunterfahren der Vorrichtung löscht das Status-Register ebenfalls. TABELLE 2 STATUS-REGISTER STATUS BIT Nr. STATUS REGISTER BIT BESCHREIBUNG SR7 ISM-Status 1 = Fertig 0 = beschäftigt Das ISMS-Bit zeigt den aktiven Zustand der Statusmaschine beim Durchfuhren von WRITE oder BLOCK ERASE. Die Steuerungs-Logik fragt dieses Bit ab, um zu bestimmen, wann die Lösch und Schreib Status Bits gültig sind. SR6 Reserviert Reserviert für zukunftige Verwendung SR5 ERASE/UNPROTECT BLOCK STATUS 1 = BLOCK ERASE oder BLOCK UNPROTECT-Fehler 0 = erfolgreiches BLOCK ERASE oder UNPROTECT ES wird auf 1 gesetzt, nachdem die Maximalzahl von ERASE-Zyklen durch die ISM ohne erfolgreiches Verifizieren durchgefuhrt worden ist. Dieses Bit wird auf 1 gesetzt, falls ein BLOCK UNPROTECT-Vorgang erfolglos ist. ES wird nur durch einen CLEAR STATUS REGISTER-Befehl oder durch ein RESET gelöscht. SR4 WRITE/PROTECT BLOCK STATUS 1 = WRITE- oder BLOCK PROTECT-Fehler 0 = erfolgreiches WRITE oder BLOCK PROTECT WS wird auf 1 gesetzt, nachdem die Maximalzahl von WRITE-Zyklen durch die ISM ohne eine erfolgreiche Verifizierung ausgefuhrt worden ist. Dieses Bit wird auch auf 1 gesetzt, falls ein BLOCK oder DEVICE PROTECT-Vorgang erfolglos ist. WS wird nur durch einen CLEAR STATUS REGISTER-Befehl oder durch ein RESET gelöscht. SR2 SR1 Bank-A1-ISM-Status Bank-A0-ISM-Status Wenn SR0 = 0, kann die Bank unter ISM-Steuerung aus BA0, BA1: [0,0] Bank0; [0,1] Bank1; [1,0] Bank2; [1,1] Bank3 decodiert werden. SR3 DEVICE PROTECT STATUS 1 Vorrichtung geschutzt, ungültiger Vorgang versucht 0 = Vorrichtung ungeschützt oder RP#-Bedingung eingetroffen DPS ist auf 1 gesetzt, falls ein ungültiges WRITE, ERASE, PROTECT BLOCK, PROTECT DEVICE oder UNPROTECT ALL BLOCKS-versucht wird. Nachdem einer dieser Befehle erteilt ist, wird die Bedingung von RP#, dem Blockschutz-Bit und dem Vorrichtungsschutz-Bit verglichen, um zu bestimmen, ob der gewunschte Vorgang erlaubt ist. Muss durch CLEAR STATUS REGISTER oder durch ein RESET gelöscht werden SR0 DEVICE/BANK ISM STATUS 1 = Vorrichtungsebenen-ISM-Betrieb 0 = Bankebenen-ISM-Betrieb DBS wird auf 1 gesetzt, falls der ISM-Betrieb ein Vorrichtungsebenen-Betrieb ist. Ein gültiges READ einer Bank des Felds kann unmittelbar auf die Registrierung eines Vorrichtungsebenen-ISM-WRITE-Vorgangs folgen. Wenn DBS auf 0 gesetzt ist, ist der ISM-Betrieb ein Bankebenen-Betrieb. Ein READ der Bank unter ISM-Steuerung kann zu ungültigen Daten führen. SR2 und SR3 können decodiert werden, um zu bestimmen, welche Bank unter ISM-Steuerung ist.
    This allows the user to select when the status register is polled and cleared. For example, a host system may perform several WRITE operations before checking the status register, rather than checking after each WRITE. Controlling the RP # signal or shutting down the device also clears the status register. TABLE 2 STATUS REGISTER STATUS BIT NO. STATUS REGISTER BIT DESCRIPTION SR7 ISM status 1 = ready 0 = busy The ISMS bit indicates the active state of the state machine when performing WRITE or BLOCK ERASE. The control logic polls this bit to determine when the clear and write status bits are valid. SR6 Reserved Reserved for future use SR5 ERASE / UNPROTECT BLOCK STATUS 1 = BLOCK ERASE or BLOCK UNPROTECT error 0 = successful BLOCK ERASE or UNPROTECT ES is set to 1 after the maximum number of ERASE cycles has been performed by the ISM without successfully verifying. This bit is set to 1 if a BLOCK UNPROTECT operation is unsuccessful. ES is cleared only by a CLEAR STATUS REGISTER command or a RESET. SR4 WRITE / PROTECT BLOCK STATUS 1 = WRITE or BLOCK PROTECT error 0 = successful WRITE or BLOCK PROTECT WS is set to 1 after the maximum number of WRITE cycles has been executed by the ISM without a successful verification. This bit is also set to 1 if a BLOCK or DEVICE PROTECT operation is unsuccessful. WS is cleared only by a CLEAR STATUS REGISTER command or a RESET. SR2 SR1 Bank A1 ISM Status Bank A0 ISM Status If SR0 = 0, the bank under ISM control can switch off BA0, BA1: [0,0] Bank0; [0,1] Bank1; [1,0] Bank2; [1,1] Bank3 will be decoded. SR3 DEVICE PROTECT STATUS 1 device protected, invalid operation attempted 0 = device unprotected or RP # condition arrived DPS is set to 1 if an invalid WRITE, ERASE, PROTECT BLOCK, PROTECT DEVICE, or UNPROTECT ALL BLOCKS is attempted. After one of these commands is issued, the condition of RP #, the block protection bit, and the device protection bit is compared to determine if the desired operation is allowed. Must be cleared by CLEAR STATUS REGISTER or RESET SR0 DEVICE / BANK ISM STATUS 1 = Device Level ISM Operation 0 = Bank Level ISM Operation DBS is set to 1 if ISM operation is device level operation. A valid READ of a bank of the field may immediately follow the registration of a device level ISM WRITE operation. When DBS is set to 0, ISM operation is bank level operation. A READ of the bank under ISM control can lead to invalid data. SR2 and SR3 can be decoded to determine which bank is under ISM control.
  • Die Vorrichtung-ID, Herstellerkompatibilität-ID, der Vorrichtungsschutz-Status und der Blockschutz-Status können alle durch Erteilen eines READ DEVICE CONFIGURATION(90H)-Befehls gelesen werden. Um das gewünschte Register zu lesen, muss eine spezifische Adresse anliegen. Siehe Tabelle 3 für weitere Details über die verschiedenen Vorrichtungskonfigurationsregister 136. TABELLE 3 VORRICHTUNGSKONFIGURATION VORRICHTUNGSKONFIGURATION ADRESSE DATEN BEDINGUNG Hersteller-Kompatibilität 000000H 2CH Herstellerkompati Lesen Vorrichtungs-ID 000001H D3H Vorrichtungs-ID-Lesen Blockschutz-Bit xx0002H DQ0 = 1 Block geschutzt DQ0 = 0 Block ungeschützt xx0002H Vorrichtungsschutz-Bit 000003H DQ0 = 1 Blockschutz-Modifikation gesperrt Blockschutz-Modifikation freigegeben DQ0 = 0 000003H
    The Device ID, Manufacturer Compatibility ID, Device Protection Status, and Block Protection Status can all be read by issuing a READ DEVICE CONFIGURATION (90H) command. Around To read the desired register, a specific address must be present. See Table 3 for more details about the various device configuration registers 136 , TABLE 3 DEVICE CONFIGURATION DEVICE CONFIGURATION ADDRESS DATES CONDITION Manufacturer compatibility 000000H 2CH Manufacturer Compilation Read Device ID 000001h D3H Device ID Read Block protect bit xx0002H DQ0 = 1 Block protected DQ0 = 0 Block unprotected xx0002H Device protect bit 000003H DQ0 = 1 Block protection modification blocked Block protection modification enabled DQ0 = 0 000003H
  • Befehle können erteilt werden, um die Vorrichtung in verschiedene Betriebsmodi zu bringen. Jeder Modus weist bestimmte Vorgänge auf, die in diesem Modus durchgeführt werden können. Mehrere Modi verlangen nach einer Abfolge zu schreibender Befehle, bevor sie erreicht werden. Der folgende Abschnitt beschreibt die Eigenschaften jedes Modus und die Wahrheitstabellen 1 und 2 listen alle Befehlsabfolgen auf, die benötigt werden, um den gewünschten Betrieb durchzuführen. Die Lese-während-des-Schreibens-Funktionalität gestattet die Durchführung eines Hintergrundbetriebs-Schreibens oder -Löschens jeder Bank, während gleichzeitig von einer anderen Bank gelesen wird. Für einen Schreibbetrieb müssen die LCR-ACTIVE WRITE-Befehlsabfolgen in Wahrheitstabelle 2 in aufeinanderfolgenden Taktzyklen abgeschlossen werden. Jedoch kann, um einen synchronen Flash-Steuerbetrieb zu vereinfachen, eine unbegrenzte Zahl von NOPs oder COMMAND INHIBTs in der Befehlsabfolge erteilt werden. Für zusätzlichen Schutz müssen die Befehlsabfolgen dieselbe Bankadresse wie bei drei Zyklen aufweisen. Falls die Bankadresse während der LCR-ACTIV-WRITE-Befehlsabfolge sich ändert, oder falls die Befehlsabfolgen nicht aufeinander folgend sind (mit der Ausnahme von NOPs oder COMMAND INHIBITs, die erlaubt sind), werden die Schreib- und Loschstatus-Bits (SR4 und SR5) gesetzt und der Vorgang wird unterbunden.Instructions may be issued to bring the device into various modes of operation. Each mode has certain operations that can be performed in this mode. Multiple modes require a sequence of commands to write before they are reached. The following section describes the properties of each mode, and the truth tables 1 and 2 list all the command sequences needed to perform the desired operation. Read-while-write functionality allows a background write or erase operation of each bank to be performed while simultaneously being read by another bank. For a write operation, the LCR-ACTIVE WRITE command sequences in truth table 2 must be completed in successive clock cycles. However, to simplify synchronous flash control operation, an unlimited number of NOPs or COMMAND INHIBTS may be issued in the instruction sequence. For added protection, the instruction sequences must have the same bank address as three cycles. If the bank address changes during the LCR-ACTIV-WRITE command sequence, or if the command sequences are not consecutive (with the exception of NOPs or COMMAND INHIBITs that are allowed), the write and clear status bits (SR4 and SR5 ) and the process is inhibited.
  • Beim Einschalten und vor dem Erteilen eines Betriebsbefehls an die Vorrichtung wird der synchrone Flash initialisiert. Nachdem Strom an VCC, VCCQ und VCCP (gleichzeitig) angelegt worden ist und der Takt stabil ist, wird RP# von LOW nach HIGH überführt. Eine Verzögerung (in einer Ausführungsform eine 100 μs Verzögerung) wird benötigt, nachdem RP# nach HIGH übergeht, um die interne Vorrichtungsinitialisierung abzuschließen. Beim Abschließen der Vorrichtungsinitialisierung befindet sich die Vorrichtung im Feld Lese-Modus und der Vorrichtung kann ein ausführbarer Befehl erteilt werden.Upon power up and prior to issuing an operating command to the device, the synchronous flash is initialized. After power has been applied to VCC, VCCQ and VCCP (simultaneously) and the clock is stable, RP # is transitioned from LOW to HIGH. A delay (100 μs delay in one embodiment) is needed after RP # transitions to HIGH to complete the internal device initialization. Upon completion of the device initialization, the device is in the read mode field and the device may be given an executable command.
  • Um die Vorrichtung-ID, Herstellerkompatibilitäts-ID, das Vorrichtungsschutz-Bit und jedes der Blockschutz-Bits zu lesen, wird ein READ DEVICE CONFIGURATION(90H)-Befehl erteilt. In diesem Modus werden spezifische Adressen erteilt, um die gewünschte Information zu lesen. Die Hersteller-Kompatibilitäts-ID wird bei 000000H gelesen; die Vorrichtungs-ID wird bei 000001H gelesen. Die Hersteller-Kompatibilitäts-ID und Vorrichtungs-ID werden auf Q0-DQ7 ausgegeben. Das Vorrichtungsschutz-Bit wird bei 000003H gelesen und jedes der Blockschutz-Bits wird an der dritten Adressstelle innerhalb jeden Blocks (xx0002H) gelesen. Die Vorrichtungs- und Blockschutz-Bits werden auf DQ0 ausgegeben.To read the device ID, manufacturer compatibility ID, device protection bit, and block protection bits, a READ DEVICE CONFIGURATION (90H) command is issued. In this mode, specific addresses are given to read the desired information. The manufacturer compatibility ID is read at 000000H; the device ID is read at 000001H. The manufacturer compatibility ID and device ID are output on Q0-DQ7. The device protection bit is read at 000003H and each of the block protection bits is read at the third address location within each block (xx0002H). The device and block protection bits are output to DQ0.
  • Drei aufeinander folgende Befehls an aufeinander folgenden Taktflanken werden benötigt, um Daten im Feld einzugeben (NOPs und Befehlshemmungen sind gestattet). Im ersten Zyklus wird ein LORD COMMAND REGISTER-Befehl mit WRITE SETUP (40H) auf A0–A7 gegeben, und die Bankadresse wird auf BA0, BA1 erteilt. Der nächste Befehl ist ACTIVE, welcher die Zeilenadresse aktiviert und die Bankadresse bestätigt. Der dritte Zyklus ist Schreiben, während dem die Anfangsspalte, die Bankadresse und Daten erteilt werden. Das ISM-Status-Bit wird auf der folgenden Taktflanke gesetzt (vorbehaltlich von CAS-Latenzen). Während die ISM das WRITE ausführt, wird das ISM-Status-Bit (SR7) 0 sein. Ein Lesevorgang der Bank unter ISM-Steuerung kann ungültige Daten erzeugen. Wenn das ISM-Status-Bit (SR7) auf eine logische 1 gesetzt wird, ist das WRITE abgeschlossen und die Bank ist in einem Feld-Lesemodus und bereit für einen ausführbaren Befehl. Schreiben auf Hardware-geschützte Blöcke erfordert auch, dass der RP#-Stift vor dem dritten Zyklus (WRITE) auf VHH gesetzt ist und RP# muss auf VHH gehalten werden, bis der ISM-WRITE-Vorgang abgeschlossen ist. Die Schreib- und Lösch-Status-Bits (SR4 und SR5) werden gesetzt, falls die LCR-ACTIV-WRITE-Befehlsabfolge nicht in aufeinanderfolgenden Zyklen abgeschlossen wird oder die Bankadresse sich bei einem der drei Zyklen ändert. Nachdem die ISM das WRITE initiiert hat, kann es außer durch ein Rücksetzen oder durch Ausschalten des Teils nicht abgebrochen werden. Während eines WRITE eins davon zu machen, kann die geschriebenen Daten korrumpieren.Three consecutive instructions on consecutive clock edges are needed to enter data in the field (NOPs and instruction inhibitions are allowed). In the first cycle, a LORD COMMAND REGISTER command is given with WRITE SETUP (40H) on A0-A7, and the bank address is issued on BA0, BA1. The next command is ACTIVE, which activates the row address and confirms the bank address. The third cycle is Write, during which the initial column, bank address and data are given. The ISM status bit is set on the following clock edge (subject to CAS latencies). While the ISM is executing the WRITE, the ISM status bit (SR7) will be 0. A read of the bank under ISM control may generate invalid data. If the ISM status bit (SR7) is set to a logical 1, that is WRITE completed and the bank is in a field read mode and ready for an executable command. Writing to hardware protected blocks also requires the RP # pin to be set to VHH before the third cycle (WRITE) and RP # must be held at VHH until the ISM WRITE operation is completed. The write and clear status bits (SR4 and SR5) are set if the LCR-ACTIV-WRITE command sequence is not completed in consecutive cycles or the bank address changes on one of the three cycles. After the ISM initiates WRITE, it can not be aborted except by resetting or turning off the part. Making one of them during a WRITE can corrupt the written data.
  • Das Ausführen einer ERASE-Abfolge setzt alle Bits innerhalb eines Blocks auf logisch 1. Die zum Ausführen eines ERASE notwendige Befehlsabfolge ähnelt derjenigen für ein WRITE. Um zusätzliche Sicherheit gegen unbeabsichtigtes Blocklöschen bereitzustellen, werden drei aufeinander folgende Befehlsabfolgen zu aufeinanderfolgenden Taktflanken benötigt, um ein ERASE eines Blocks zu initiieren. Im ersten Zyklus wird LORD COMAND REGISTER mit ERASE SETUP (20H) auf A0–A7 gegeben und die Bankadresse des zu löschenden Blocks wird auf BA0, BA1 erteilt. Das nächste Befehl ist ACTIVE, wobei A10, A11, BA0, BA1 die Adresse des zu löschen Blocks bereitstellen. Der dritte Zyklus ist WRITE, während dem ERASE CONFIRM (D0H) auf DQ0–DQ7 gegeben wird und die Bankadresse nochmals erteilt wird. Zur folgenden Taktflanke wird das ISM-Status-Bit gesetzt (vorbehaltlich von CAS-Latenzen). Nachdem ERASE CONFIRM (D0H) erteilt ist, wird die ISM das ERASE des adressierten Blocks beginnen. Jeglicher READ-Vorgang der Bank, wo der adressierte Block sitzt, kann ungültige Daten ausgeben. Wenn der ERASE-Vorgang abgeschlossen ist, ist die Bank im Feld-Lese-Modus und bereit für einen ausführen Befehl. Das Löschen Hardwaregeschützter Blöcke erfordert auch, dass der RP#-Stift vor dem dritten Zyklus (WRITE) auf VHH gesetzt wird, und RP# muss auf VHH gehalten werden, bis ERASE abgeschlossen ist (SR7 = 1). Falls die LCR-ACTIVE-WRITE-Befehlsabfolge nicht in aufeinander folgenden Zyklen abgeschlossen wird (NOPs und COMMAND INHIBITs sind zwischen den Zyklen gestattet) oder die Bankadresse sich für ein oder mehrere Befehlszyklen ändert, werden die Schreiben- und Löschen-Status-Bits (SR4 und SR5) gesetzt und der Vorgang wird unterbunden.Executing an ERASE sequence sets all bits within a block to logical 1. The command sequence necessary to execute an ERASE is similar to that for a WRITE. To provide additional security against unintentional block erasure, three consecutive instruction sequences at successive clock edges are required to initiate an ERASE of a block. In the first cycle, LORD COMAND REGISTER is set to A0-A7 with ERASE SETUP (20H), and the bank address of the block to be deleted is given to BA0, BA1. The next command is ACTIVE, where A10, A11, BA0, BA1 provide the address of the block to be cleared. The third cycle is WRITE, during which ERASE CONFIRM (D0H) is given to DQ0-DQ7 and the bank address is issued again. At the following clock edge, the ISM status bit is set (subject to CAS latencies). After ERASE CONFIRM (D0H) is issued, the ISM will begin the ERASE of the addressed block. Any READ operation of the bank where the addressed block is sitting may issue invalid data. When the ERASE process is complete, the bank is in field read mode and ready for an execute command. Erasing hardware-protected blocks also requires that the RP # pin be set to VHH before the third cycle (WRITE) and RP # must be held at VHH until ERASE is completed (SR7 = 1). If the LCR-ACTIVE-WRITE command sequence is not completed in consecutive cycles (NOPs and COMMAND INHIBITs are allowed between cycles) or the bank address changes for one or more instruction cycles, the write and clear status bits (SR4 and SR5) and the process is inhibited.
  • Die Inhalte des Modus-Registers 148 können in das NV-Modus-Register 147 mittels eines WRITE NVMODE REGISTER-Befehls kopiert werden. Vor dem Schreiben in das NV-Modus-Register muss eine ERASE NVMODE REGISTER-Befehlsabfolge abgeschlossen sein, um alle Bits in dem NV-Modus-Register auf logisch 1 zu setzen. Die zur Ausführung von ERASE NVMODE REGISTER and WRITE NVMODE REGISTER notwendige Befehlsabfolge ähnelt der eines WRITE. Siehe Wahrheitstabelle 2 für weitere Informationen über die zum Abschließen von ERASE NVMODE REGISTER und WRITE NVMODE REGISTER notwendigen LCR-ACTIVE-WRITE Befehle. Nachdem der WRITE-Zyklus der ERASE NVMODE REGISTER oder WRITE NVMODE REGISTER-Befehlsabfolge registriert worden ist, kann ein READ-Befehl dem Feld erteilt werden. Ein neuer WRITE-Vorgang wird nicht gestattet werden, bis der derzeitige ISM-Betrieb abgeschlossen ist und SR7 = 1.The contents of the mode register 148 can enter the NV mode register 147 using a WRITE NVMODE REGISTER command. Before writing to the NV mode register, an ERASE NVMODE REGISTER instruction sequence must be completed to set all bits in the NV mode register to logical 1. The command sequence necessary to execute the ERASE NVMODE REGISTER and WRITE NVMODE REGISTER is similar to that of a WRITE. See Truth Table 2 for more information about the LCR-ACTIVE-WRITE commands needed to complete the ERASE NVMODE REGISTER and WRITE NVMODE REGISTER. After the WRITE cycle of the ERASE NVMODE REGISTER or WRITE NVMODE REGISTER command sequence has been registered, a READ command can be issued to the field. A new WRITE operation will not be allowed until the current ISM operation is complete and SR7 = 1.
  • Ausführen einer BLOCK PROTECT-Abfolge gibt die erste Ebene von Software/Hardware-Schutz für einen gegebenen Block frei. Der Speicher enthält ein 16 Bit Register, das ein Bit aufweist, das den 16 schätzbaren Blöcken entspricht. Der Speicher hat auch ein Register, um ein Vorrichtungs-Bit bereitzustellen, das zum Schutz der Gesamtvorrichtung von Schreib- und Lesevorgängen verwendet wird. Die zur Ausfuhrung eines BLOCK PROTECT notwendigen Befehlsabfolge ahnelt der eines WRITE. Um zusätzliche Sicherheit gegen unabsichtlichen Blockschutz bereitzustellen, werden drei aufeinander folgende Befehlszyklen benötigt, um ein BLOCK PROTECT zu initiieren. Im ersten Zyklus wird ein LORD COMMAND REGISTER mit einem PROTECT SETUP (60H) Befehl auf A0–A7 erteilt, und die Bankadresse des zu schützenden Blocks wird auf BA0, BA1 erteilt. Der nächste Befehl ist ACTIVE, der eine Zeile im zu schützenden Block aktiviert und die Bankadresse besttigt. Der dritte Zyklus ist WRITE, während dem BLOCK PROTECT CONFIRM (01H) auf DQ0–DQ7 erteilt wird und die Bankadresse neu wiedererteilt wird. Das ISM-Status-Bit wird zur folgenden Taktflanke gesetzt (vorbehaltlich von CAS-Latenzen). Die ISM beginnt dann den PROTECT-Vorgang. Falls LCR-ACTIVE-WRITE nicht in aufeinander folgenden Zyklen abgeschlossen wird (NOPs und COMMAND INHIBITs sind zwischen Zyklen gestattet) oder sich die Bankadresse ändert, werden die Schreib- und Lösch-Status-Bits (SR4 und SR5) gesetzt und der Vorgang wird verhindert. Wenn das ISM-Status-Bit (SR7) auf logisch 1 gesetzt ist, ist PROTECT abgeschlossen worden und die Bank befindet sich im Feld-Lese-Modus und ist bereit für einen ausführbaren Befehl. Wenn ein Blockschutz-Bit erst einmal auf 1 (geschützt) gesetzt worden ist, kann es nur auf 0 rückgesetzt werden durch den UNPROTECT ALL BLOCKS-Befehl. Die UNPROTECT ALL BLOCKS-Befehlsabfolge ähnelt der des BLOCK PROTECT Befehls jedoch wird im dritten Zyklus ein WRITE mit einem UNRPTECT ALL BLOCKS CONFIRM (DOH) Befehl erteilt und die Adressen sind ”unbeachtlich”. Für zusätzliche Informationen siehe Wahrheitstabelle 2. Die Blöcke an Stellen 0 und 15 weisen zusätzliche Sicherheit auf. Wenn einmal die Blockschutz-Bits an Stellen 0 und 15 auf 1 (geschützt) gesetzt worden sind, kann jedes Bit nur auf 0 zurückgesetzt werden, falls RP# vor dem dritten Zyklus des UNPROTECT-Vorgangs auf VHH gebracht wird und auf VHH gehalten wird, bis der Vorgang abgeschlossen ist (SR7 = 1). Weiterhin muss, falls das Vorrichtungsschutz-Bit gesetzt ist, RP# vor dem dritten Zyklus auf VHH gebracht werden und auf VHH gehalten werden, bis der BLOCK PROTECT oder UNPROTECT ALL BLOCKS-Vorgang abgeschlossen ist. Um den Schutzstatus eines Blocks zu überprüfen, kann ein READ DEVICE CONFIGURATION(90H)-Befehl erteilt werden.Executing a BLOCK PROTECT sequence releases the first level of software / hardware protection for a given block. The memory contains a 16-bit register which has one bit corresponding to the 16 estimable blocks. The memory also has a register to provide a device bit which is used to protect the overall device from write and read operations. The command sequence necessary to execute a BLOCK PROTECT is similar to that of a WRITE. To provide additional security against inadvertent block protection, three consecutive instruction cycles are required to initiate a BLOCK PROTECT. In the first cycle, a LORD COMMAND REGISTER is issued with a PROTECT SETUP (60H) instruction on A0-A7, and the bank address of the block to be protected is given to BA0, BA1. The next command is ACTIVE, which activates one line in the block to be protected and confirms the bank address. The third cycle is WRITE, while the BLOCK PROTECT CONFIRM (01H) is issued on DQ0-DQ7 and the bank address is redistributed. The ISM status bit is set to the next clock edge (subject to CAS latencies). The ISM then starts the PROTECT process. If LCR-ACTIVE-WRITE is not completed in consecutive cycles (NOPs and COMMAND INHIBITs are allowed between cycles) or the bank address changes, the write and clear status bits (SR4 and SR5) are set and the operation is prevented , If the ISM status bit (SR7) is set to logical 1, PROTECT has been completed and the bank is in field read mode ready for an executable command. Once a block protection bit has been set to 1 (protected), it can only be reset to 0 by the UNPROTECT ALL BLOCKS command. The UNPROTECT ALL BLOCKS command sequence is similar to that of the BLOCK PROTECT command, however, a WRITE is issued on the third cycle with a UNRPTECT ALL BLOCKS CONFIRM (DOH) command, and the addresses are "unimportant". For more information, see Truth Table 2. The blocks at locations 0 and 15 provide additional security. Once the block protection bits at locations 0 and 15 have been set to 1 (protected), each bit can only be reset to 0 if RP # is set to VHH before the third cycle of the UNPROTECT operation and is held at VHH until the process is complete (SR7 = 1). Further, if the device protection bit is set, RP # must be set to VHH before the third cycle and held at VHH until the BLOCK PROTECT or UNPROTECT ALL BLOCKS operation is completed. To check the protection status of a block, a READ DEVICE CONFIGURATION (90H) command can be issued.
  • Ausführen einer DEVICE PROTECT-Abfolge setzt das Vorrichtungsschutz-Bit auf eine 1 und verhindert eine Blockschutz-Bit-Modifikation. Die zur Ausführung eines DEVICE PROTECT notwendige Befehlsabfolge ähnelt der eines WRITE. Drei aufeinander folgende Befehlszyklen werden benötigt, um eine DEVICE PROTECT-Abfolge zu initiieren. Im ersten Zyklus wird LORD COMMAND REGISTER mit einem PROTECT SETUP (60H) auf A0–A7 erteilt, und eine Bankadresse wird auf BA0, Ba1 gegeben. Die Bankadresse ist ”unbeachtlich”, aber dieselbe Bankadresse muss für alle drei Zyklen verwendet werden. Der nächste Befehl ist ACTIVE. Der dritte Zyklus ist WRITE, während dem ein DEVICE PROTECT(F1H)-Befehl an DQ0–DQ7 erteilt wird und RP# wird auf VHH gebracht. Das ISM-Status-Bit wird in der folgenden Taktflanke gesetzt (vorbehaltlich von CAS Latenzen). Ein ausführbarer Befehl kann der Vorrichtung erteilt werden. RP# muss auf VHH gehalten werden, bis das WRITE abgeschlossen ist (SR7 = 1). Ein neuer WRITE-Vorgang wird nicht gestattet, bis der derzeitige ISM-Betrieb abgeschlossen ist. Wenn einmal das Vorrichtungsschutz-Bit gesetzt ist, kann es nicht auf 0 zurückgesetzt werden. Mit Setzen des Vorrichtungsschutz-Bits auf 1 wird BLOCK PROTECT oder BLOCK UNPROTECT verhindert, sofern nicht RP# während einer der Vorgänge auf VHH ist. Das Vorrichtungsschutz-Bit beeinträchtigt nicht WRITE oder ERASE-Vorgänge. Vergleiche Tabelle 4 für weitere Informationen über Block und Vorrichtungsschutzvorgänge. TABELLE 4 SCHUTZVORGANGSWAHRHEITSTABELLE FUNKTION RP# CS# DQM WE# Adresse VccP DQ0–Q7 Vorrichtung ungeschützt PROTECT SETUP H L H L 60H X X PROTECT BLOCK H L H L BA H 01H PROTECT DEVICE VHH L H L X X F1H UNPROTECT ALL BLOCKS H/VHH L H L X H D0H Vorrichtung geschützt PROTECT SETUP H oder VHH L H L 60H X X PROTECT BLOCK VHH L H L BA H 01H UNPROTECT ALL BLOCKS VHH L H L X H D0H
    Executing a DEVICE PROTECT sequence sets the device protection bit to a 1 and prevents a block protection bit modification. The command sequence necessary to execute a DEVICE PROTECT is similar to that of a WRITE. Three consecutive instruction cycles are needed to initiate a DEVICE PROTECT sequence. In the first cycle, LORD COMMAND REGISTER is issued with a PROTECT SETUP (60H) on A0-A7, and a bank address is given on BA0, Ba1. The bank address is "irrelevant", but the same bank address must be used for all three cycles. The next command is ACTIVE. The third cycle is WRITE, during which a DEVICE PROTECT (F1H) command is issued to DQ0-DQ7 and RP # is brought to VHH. The ISM status bit is set on the following clock edge (subject to CAS latencies). An executable command may be issued to the device. RP # must be held at VHH until WRITE completes (SR7 = 1). A new WRITE operation will not be allowed until the current ISM operation is completed. Once the device protection bit is set, it can not be reset to 0. Setting the Device Protection bit to 1 prevents BLOCK PROTECT or BLOCK UNPROTECT unless RP # is set to VHH during any of the operations. The device protection bit does not affect WRITE or ERASE operations. See Table 4 for more information about block and device protection operations. TABLE 4 PROTECTION PROCEDURE TABLE FUNCTION RP # CS # DQM WE # address VccP DQ0-Q7 Device unprotected PROTECT SETUP H L H L 60H X X PROTECT BLOCK H L H L BA H 01H PROTECT DEVICE V HH L H L X X F1H UNPROTECT ALL BLOCKS H / V HH L H L X H D0H Device protected PROTECT SETUP H or V HH L H L 60H X X PROTECT BLOCK V HH L H L BA H 01H UNPROTECT ALL BLOCKS V HH L H L X H D0H
  • Nachdem das ISM-Status-Bit (SR7) gesetzt worden ist, können die Vorrichtung/Bank-(SRO), Vorrichtungsschutz-(SR3), BankA0-(SR1), Bank A1-(SR2), Schreib/Schutzblock-(SR4) und Löschen/Schutz-Aufheben-(SR5) Status-Bits überprüft werden. Falls eines oder eine Kombination von SR3, SR4, SR5 Status-Bits gesetzt worden ist, ist ein Fehler während des Betriebs aufgetreten. Die ISM kann die SR3-, SR4- oder SR5-Bits nicht zurücksetzen. Um diese Bits zu löschen, muss ein CLEAR STATUS REGISTER(50H)-Befehl gegeben werden. Tabelle 5 listet die Fehlerkombinationen. TABELLE 5 STATUSREGISTERFEBLERDECODIERUNG STATUS BITS FEHLERBESCHREIBUNG SR5 SR4 SR3 0 0 0 Keine Fehler 0 1 0 WRITE-, BLOCK PROTECT- oder DEVICE PROTECT-Fehler 0 1 1 Ungültiger BLOCK PROTECT oder DEVICE PROTECT, RP# nicht gültig (VHH) 0 1 1 Ungültiges BLOCK oder DEVICE PROTECT, RP# nicht gültig 1 0 0 ERASE- oder ALL BLOCK UNPROTECT-Fehler 1 0 1 Ungültiges ALL BLOCK UNPROTECT, RP# nicht gültig (VHH) 1 1 0 Befehlsabfolgefehler
    After the ISM Status bit (SR7) has been set, the Device / Bank (SRO), Device Protection (SR3), BankA0- (SR1), Bank A1- (SR2), Write / Protection Block (SR4) and Clear / Unprotect (SR5) status bits. If one or a combination of SR3, SR4, SR5 status bits has been set, an error has occurred during operation. The ISM can not reset the SR3, SR4, or SR5 bits. To clear these bits, a CLEAR STATUS REGISTER (50H) command must be given. Table 5 lists the error combinations. TABLE 5 STATUS REGISTER DEBLER DECODING STATUS BITS ERROR DESCRIPTION SR5 SR4 SR3 0 0 0 No mistakes 0 1 0 WRITE, BLOCK PROTECT or DEVICE PROTECT error 0 1 1 Invalid BLOCK PROTECT or DEVICE PROTECT, RP # not valid (V HH ) 0 1 1 Invalid BLOCK or DEVICE PROTECT, RP # not valid 1 0 0 ERASE or ALL BLOCK UNPROTECT error 1 0 1 Invalid ALL BLOCK UNPROTECT, RP # not valid (V HH ) 1 1 0 Command sequence error
  • Der synchrone Flash-Speicher wird ausgelegt und hergestellt, um anspruchsvolle Code- und Datenspeicherbedingungen zu erfüllen. Um dieses Niveau von Zuverlässigkeit sicherzustellen, muss VCCP während WRITE oder ERASE-Zyklen an Vcc gebunden sein. Betrieb außerhalb dieser Grenzen kann die Zahl von WRITE und ERASE-Zyklen vermindern, die mit der Vorrichtung durchgeführt werden kann. Jeder Block ist ausgelegt und angefertigt für eine Minimalhaltbarkeit von 100.000-WRITE/ERASE-Zyklen.The synchronous flash memory is designed and manufactured to meet demanding code and data storage conditions. To ensure this level of reliability, VCCP must be tied to Vcc during WRITE or ERASE cycles. Operation outside of these limits can reduce the number of WRITE and ERASE cycles that can be performed with the device. Each block is designed and manufactured for a minimum shelf life of 100,000 WRITE / ERASE cycles.
  • Der synchrone Flash-Speicher bietet verschiedene Stromsparmerkmale, die im Feld-Lese-Modus verwendet werden konnen, um Energie zu sparen. Ein tiefer Power-Down-Modus wird ermöglicht bzw. freigegeben, indem RP# auf VSS ± 0,2 V gebracht wird. Der Stromfluss (ICC) ist in diesem Modus niedrig, wie etwa mit einem Maximum von 50 μA. Wenn CS# auf HIGH ist, geht die Vorrichtung in den aktiven Bereitschafts-Modus. In diesem Modus ist der Strom auch niedrig, wie etwa ein Maximum-ICC-Strom von 30 mA. Falls CS# während eines Schreib-, Lösch- oder Schutzvorgangs auf HIGH gebracht wird, setzt die ISM den WRITE-Vorgang fort und die Vorrichtung verbraucht aktive Iccp-Energie, bis der Vorgang abgeschlossen ist.The synchronous flash memory offers various power saving features that can be used in field read mode to save energy. A low power-down mode is enabled by releasing RP # to VSS ± 0.2V. The current flow (ICC) is low in this mode, such as with a maximum of 50 μA. When CS # is high, the device enters active standby mode. In this mode, the current is also low, such as a maximum ICC current of 30 mA. If CS # is raised to HIGH during a write, erase or protect operation, the ISM continues the WRITE operation and the device consumes active Iccp power until the process completes.
  • Unter Bezugnahme auf 16 wird ein Flussdiagramm einer selbst-timenden Schreibabfolge gemäß einer Ausführungsform der vorliegenden Erfindung beschrieben. Die Abfolge beinhaltet Laden des Befehlsregisters (Code 40H), Empfangen eines aktiven Befehls und einer Zeilenadresse und Empfangen eines Schreibbefehls und einer Spaltenadresse. Die Abfolge stellt dann eine Statusregisterabfrage bereit, um festzustellen, ob das Schreiben abgeschlossen ist. Die Abfrage überwacht Statusregister-Bit 7 (SR7), um festzustellen, ob es auf 1 gesetzt worden ist. Eine optionale Statusprüfung kann enthalten sein. Wenn das Schreiben abgeschlossen ist, wird das Feld in den Feld Lese-Modus gebracht.With reference to 16 A flowchart of a self-timed write sequence according to an embodiment of the present invention will now be described. The sequence includes loading the command register (code 40H), receiving an active command and a row address, and receiving a write command and a column address. The sequence then provides a status register query to determine if the write is complete. The query monitors status register bit 7 (SR7) to see if it has been set to 1. An optional status check can be included. When writing is completed, the field is placed in the read mode field.
  • Unter Bezugnahme auf 17 wird ein Flussdiagramm einer vollständigen Schreib-Status-Prüfabfolge gemäß einer Ausführungsform der vorliegenden Erfindung vorgestellt. Die Abfolge fragt Status-Register-Bit 4 (SR4) ab, um festzustellen, ob es auf 0 gesetzt ist. Falls SR4 eine 1 ist, gab es einen Fehler beim Schreibvorgang. Die Abfolge fragt auch Status-Register-Bit 3 (SR3) ab, um festzustellen, ob es auf 0 gesetzt ist. Falls SR3 eine 1 ist, hat es einen ”ungultigen Schreiben”-Fehler während des Schreibvorgangs gegeben.With reference to 17 A flow diagram of a complete write status check sequence according to an embodiment of the present invention is presented. The sequence queries status register bit 4 (SR4) to see if it is set to 0. If SR4 is a 1, there was an error writing. The sequence also queries status register bit 3 (SR3) to see if it is set to 0. If SR3 is a 1, there was an "invalid write" error during the write operation.
  • Unter Bezugnahme auf 18 wird ein Flussdiagramm einer selbst getakteten Block-Lösch-Abfolge gemäß einer Ausführungsform der vorliegenden Erfindung bereitgestellt. Die Abfolge beinhaltet Laden des Befehlsregisters (Code 20H) und Empfangen eines aktiven Befehls und einer Zeilenadresse. Der Speicher bestimmt dann, ob der Block geschützt ist. Falls er nicht geschützt ist, führt der Speicher einen Schreibvorgang (D0H) am Block aus und überwacht das Status-Register bezüglich des Abschlusses. Eine optionale Status-Prüfung kann durchgeführt werden und der Speicher wird in einen Feld-Lese-Modus gebracht. Falls der Block geschützt ist, wird ein Löschen nicht gestattet, wenn nicht das RP#-Signal auf einer erhöhten Spannung ist (VHH).With reference to 18 a flow chart of a self-timed block clear sequence is provided in accordance with an embodiment of the present invention. The sequence includes loading the instruction register (code 20H) and receiving an active instruction and a row address. The memory then determines if the block is protected. If it is not protected, the memory executes a write (D0H) on the block and monitors the status register for completion. An optional status check may be performed and the memory is placed in a field read mode. If the block is protected, erasure will not be allowed unless the RP # signal is at an increased voltage (VHH).
  • 19 illustriert ein Flussdiagramm einer kompletten Block-Lösch-Status-Prüfabfolge gemäß einer Ausführungsform der vorliegenden Erfindung. Die Abfolge überwacht das Status-Register, um festzustellen, ob ein Befehls-Abfolge-Fehler aufgetreten ist (SR4 oder SR5 = 1). Falls SR3 auf 1 gesetzt ist, ist ein ”Ungültiges Löschen” oder ”Schutz-Aufheben”-Fehler aufgetreten. Schließlich ist ein ”Block Lösch oder ”Schutz-Aufheben”-Fehler passiert, falls SR4 auf 1 gesetzt ist. 19 FIG. 10 illustrates a flowchart of a complete block clear status check sequence in accordance with an embodiment of the present invention. FIG. The sequence monitors the status register to determine if a command sequence error has occurred (SR4 or SR5 = 1). If SR3 is set to 1, an "Invalid Clear" or "Unprotect" error has occurred. Finally, a "block clear" or "override" error has occurred if SR4 is set to 1.
  • 20 ist ein Flussdiagramm einer Block-Schutz-Abfolge gemäß einer Ausführungsform der vorliegenden Erfindung. Die Abfolge beinhaltet Laden des Befehls-Registers (Code 60H) und Empfangen eines aktiven Befehls und einer Zeilenadresse. Der Speicher stellt dann fest, ob der Block geschlitzt ist. Falls er nicht geschützt ist, führt der Speicher einen Schreibvorgang (01H) zum Block durch und überwacht das Status-Register bezüglich des Abschlusses. Eine optionale Status-Prüfung kann durchgeführt werden und der Speicher wird in einen Feld-Lese-Modus gebracht. Falls der Block geschützt ist, wird das Löschen nicht erlaubt, wenn nicht das RP#-Signal auf erhöhter Spannung (VHH) ist. 20 FIG. 10 is a flowchart of a block protection sequence according to an embodiment of the present invention. FIG. The sequence includes loading the instruction register (code 60H) and receiving an active instruction and a row address. The memory then determines if the block is slotted. If it is not protected, the memory performs a write (01H) to the block and monitors the status register for completion. An optional status check may be performed and the memory is placed in a field read mode. If the block is protected, erasure will not be allowed unless the RP # signal is at an elevated voltage (VHH).
  • Unter Bezugnahme auf 21 wird ein Flussdiagramm einer kompletten Block-Status-Prüfabfolge gemäß einer Ausführungsform der vorliegenden Erfindung bereitgestellt. Die Abfolge überwacht die Status-Register-Bits 3, 4 und 5, um festzustellen, ob Fehler entdeckt wurden.With reference to 21 A flowchart of a complete block status checking sequence according to an embodiment of the present invention is provided. The sequence monitors status register bits 3, 4, and 5 to determine if errors have been detected.
  • 22 ist ein Flussdiagramm einer Vorrichtungs-Schutz-Abfolge gemäß einer Ausführungsform der vorliegenden Erfindung. Die Abfolge beinhaltet Laden des Befehlsregisters (Code 60H) und Empfangen eines aktiven Befehls und einer Zeilenadresse. Der Speicher stellt dann fest, ob RP# auf VHH ist. Der Speicher führt einen Schreibvorgang (F1H) durch und überwacht das Status-Register bezüglich des Abschlusses. Eine optionale Statusprüfung kann durchgeführt werden und der Speicher wird in einen Feld-Lese-Modus gebracht. 22 FIG. 10 is a flowchart of a device protection sequence according to an embodiment of the present invention. FIG. The sequence includes loading the instruction register (code 60H) and receiving an active instruction and a row address. The memory then determines if RP # is at VHH. The memory performs a write (F1H) and monitors the status register for completion. An optional status check may be performed and the memory is placed in a field read mode.
  • 23 ist ein Flussdiagramm einer Block-Schutz-Aufhebe-Abfolge gemäß einer ersten Ausführungsform der vorliegenden Erfindung. Die Abfolge beinhaltet Laden des Befehls-Registers (Code 60H), und Empfangen eines aktiven Befehls und einer Zeilenadresse. Der Speicher stellt dann fest, ob die Speichervorrichtung geschützt ist. Falls sie nicht geschützt ist, stellt der Speicher fest, ob die Urlade-(Boot)-Stellen (Blöcke 0 und 15) geschützt sind. Falls keiner der Blöcke geschützt ist, führt der Speicher einen Schreib-Vorgang (D0H) zum Block aus und überwacht das Status-Register bezüglich des Abschlusses. Eine optionale Status-Prüfung kann durchgeführt werden und der Speicher wird in einen Feld-Lese-Modus gebracht. Falls die Vorrichtung geschützt ist, wird das Löschen nicht gestattet, wenn nicht das RP#-Signal auf einer erhöhten Spannung (VHH) ist. Gleichermaßen stellt der Speicher, falls die Urladestellen geschützt sind, fest, ob der Schutz aller Blöcke aufgehoben werden sollte. 23 FIG. 10 is a flowchart of a block protection canceling sequence according to a first embodiment of the present invention. FIG. The sequence includes loading the instruction register (code 60H), and receiving an active instruction and a row address. The memory then determines if the storage device is protected. If it is not protected, the memory will determine if the bootstrap locations (blocks 0 and 15) are protected. If none of the blocks are protected, the memory performs a write (D0H) to the block and monitors the status register for completion. An optional status check may be performed and the memory is placed in a field read mode. If the device is protected, erasure will not be allowed unless the RP # signal is at an increased voltage (VHH). Likewise, if the boot sites are protected, the memory determines whether protection of all blocks should be removed.
  • 24 illustriert den Zeitablauf eines Initialisierungs- und Lade-Modus-Register-Vorgangs. Das Modus-Register wird durch Bereitstellen eines Lade-Modus-Register-Befehls und Bereitstellen von Vorgangs-Codes (opcode) auf den Adressleitungen programmiert. Der Opcode wird in das Modus-Register geladen. Wie oben erläutert, werden die Inhalte des nichtflüchtigen Modus-Registers automatisch beim Einschalten in das Modus-Register geladen und der Lade-Modus-Register-Vorgang muss nicht nötig sein. 24 illustrates the timing of an initialization and load mode register operation. The mode register is programmed by providing a load mode register command and providing opcode on the address lines. The opcode is loaded into the mode register. As explained above, the contents of the nonvolatile mode register are automatically loaded into the mode register upon power up, and the load mode register operation need not be necessary.
  • 25 illustriert die Zeitabfolge eines Takt-Aufhebe-Modus-Betriebs und 26 illustriert die Zeitabfolge eines anderen Burst-Lese-Vorgangs. 27 illustriert die Zeitabfolge abwechselnder Bank-Lese-Zugriffe. Hier werden aktive Befehle benötigt, um Bankadressen zu ändern. Ein Vollseiten-Burst-Lesebetrieb wird in 28 illustriert. Man beachte, dass der Vollseiten-Burst sich nicht selbst beendet, sondern einen Beenden-Befehl erfordert. 25 illustrates the timing of a clock-up mode operation and 26 illustrates the timing of another burst read operation. 27 illustrates the timing of alternate bank read accesses. Here, active commands are needed to change bank addresses. A full-page burst reading operation will be in 28 illustrated. Note that the full-page burst does not self-terminate but requires an exit command.
  • 29 illustriert die Zeitabfolge eines Lesevorgangs unter Verwendung einer Daten-Masken-Signals. Das DQM-Signal wird verwendet, um den Datenausgang zu maskieren, so dass die Dout m + 1 nicht auf den DQ-Verbindungen bereit gestellt ist. 29 illustrates the timing of a read using a data mask signal. The DQM signal is used to mask the data output so that the Dout m + 1 is not provided on the DQ connections.
  • Unter Bezugnahme auf 30 wird die Zeitabfolge eines Schreibvorgangs, gefolgt von einem Lesen einer anderen Bank, illustriert. Bei diesem Vorgang wird ein Schreiben auf Bank a durchgeführt und ein nachfolgendes Lesen von Bank b durchgeführt. Es wird in jeder Bank auf dieselbe Zeile zugegriffen.With reference to 30 the time sequence of a write followed by a read of another bank is illustrated. In this process, writing to bank a is performed and subsequent reading of bank b is performed. The same line is accessed in each bank.
  • Unter Bezugnahme auf 31 wird die Zeitabfolge eines Schreibvorgangs, gefolgt von einem Lesen derselben Bank, illustriert. Bei diesem Vorgang wird ein Schreiben auf Bank a durchgeführt und ein nachfolgendes Lesen von Bank a durchgeführt. Es wird beim Lesevorgang auf eine andere Zeile zugegriffen und der Speicher muss darauf warten, dass der vorhergehende Schreibvorgang abgeschlossen ist. Dies unterscheidet sich vom Lesen der 30, bei dem das Lesen nicht aufgrund des Schreibvorgangs verzögert wurde.With reference to 31 the time sequence of a write followed by a reading of the same bank is illustrated. In this process, writing to bank a is performed and subsequent reading of bank a is performed. The read operation accesses another line and memory must wait for the previous write to complete. This is different from reading the 30 in which the reading was not delayed due to the writing process.
  • Ein synchroner Flash-Speicher wurde beschrieben, der ein Feld von nicht flüchtigen Speicherzellen umfaßt. Die Speichereinrichtung hat eine Gehäusekonfiguration bzw. eine Gehäuseanordnung, die mit einem SDRAM kompatibel ist. Die Speichereinrichtung beinhaltet einen Pipelinepuffer mit wählbaren Durchlaufpfaden, um Daten von der Eingabeverbindung zu der Ausgabeverbindung zu leiten. Jeder Durchlaufpfad erfordert eine vorbestimmte Anzahl von Taktzyklen. Der nicht flüchtige synchrone Speicher beinhaltet Schaltungsanordnungen, um sowohl Speicherdaten als auch Registerdaten durch den pipelineartig ausgebildeten Ausgabepuffer zu leiten, um eine konsistente Latenz für beide Arten von Daten zu erhalten. In einer Ausführungsform beinhaltet die Schaltungsordnung einen Multiplexschaltkreis, der mit der Eingabe des Pipelinepuffers gekoppelt ist. Ein Datenregisterschaltkreis ist an eine erste Eingabe eines Multiplexschaltkreises gekoppelt und ein Datenleseschaltkreis ist an eine zweite Eingabe eines Multiplexschalkreises gekoppelt.A synchronous flash memory has been described which comprises a field of nonvolatile memory cells. The memory device has a package configuration compatible with an SDRAM. The memory device includes a pipeline buffer with selectable pass paths for routing data from the input connection to the output connection. Each pass path requires a predetermined number of clock cycles. The non-volatile synchronous memory includes circuitry to pass both memory data and register data through the pipelined output buffer to obtain consistent latency for both types of data. In one embodiment, the circuit arrangement includes a multiplexing circuit coupled to the input of the pipeline buffer. A data register circuit is coupled to a first input of a multiplexing circuit and a data read circuit is coupled to a second input of a multiplexed circuit.
  • Die Datenleseschaltkreise stellen Ausgabedaten zur Verfügung, die von einem Speicherfeld der synchronen Speichereinrichtung gelesen werden.The data read circuits provide output data read from a memory array of the synchronous memory device.
  • Konsistente Latenz für alle LesevorgängeConsistent latency for all reads
  • Der synchrone Flash der vorliegenden Erfindung ist dazu ausgelegt, den Speicher auf dieselbe grundlegende Weise wie ein SDRAM zu lesen. Der synchrone Flash-Speicher hat deshalb eine Leselatenz. In bekannten Flash-Speichern können andere Lesevorgänge, wie beispielsweise das Lesen eines Statusregisters 282 oder intelligente Identifikatorregister ausgeführt werden. Diese Register lesen Daten, die in das Register 282 unter Verwendung eines Multiplexschaltkreises 280 gestellt wurde, der den Datenverkehr, abhängig von dem Modus der Operation bzw. des Vorganges steuert, vergleiche hierzu 32 zur Darstellung eines Systems nach dem Stand der Technik. Hier werden Daten eines Statusregisters 282 von dem Multiplexschaltkreis 280 ausgegeben. Eine zweite Eingabe des Multiplexschaltkreises ist angekoppelt, um Daten von einem Pipelinepuffer 284 und einem Speicherfeldleseschaltkreisanordnung 286 zu empfangen. Eine Ausgabedatenpufferschaltung 288 ist an die Ausgabedaten von dem Multiplexschaltkreis an den DQ-Verbindungen gekoppelt.The synchronous flash of the present invention is designed to read the memory in the same basic manner as an SDRAM. The synchronous flash memory therefore has read latency. In known flash memories, other reads, such as reading a status register, may occur 282 or smart identifier registers are executed. These registers read data stored in the register 282 using a multiplexing circuit 280 See, which controls the traffic, depending on the mode of the operation or the operation, see this 32 to illustrate a system according to the prior art. Here are data of a status register 282 from the multiplexing circuit 280 output. A second input of the multiplexing circuit is coupled to receive data from a pipeline buffer 284 and a memory array reading circuit arrangement 286 to recieve. An output data buffer circuit 288 is coupled to the output data from the multiplexing circuit at the DQ connections.
  • Die bekannten Systeme können zu Problemen mit dem vorliegenden synchronen Flash führen. Abhängig davon, unter welchem Modus der Chip betrieben wird (Feld lesen oder Register schreiben) würden die Datenleselatenzen unterschiedlich sein. Dies könnte zu Problemen mit dem Bussteuerwerk bzw. dem Buscontroller führen, wenn Daten von den Registern gelesen werden und würde sehr wahrscheinlich zu einer Busverklemmung bzw. einem Buskonflikt führen. Das heißt, dass das Ausgeben von Daten von einem Multiplexschaltkreis Daten zur Verfügung stellen kann, die keine solche Leselatenz aufweisen, die der Latenz von den Lesezugriffen auf die Speicherdaten entspricht.The known systems can cause problems with the present synchronous flash. Depending on which mode the chip is operated on (read field or write register), the data read latencies would be different. This could cause problems with the bus controller or bus controller when reading data from the registers and would most likely result in a bus jam or bus conflict. That is, outputting data from a multiplexing circuit may provide data that does not have such read latency that corresponds to the latency of the read accesses to the memory data.
  • Die vorliegende Erfindung hat ein unterschiedliches Ausgabedesign. Bezugnehmend auf 33 beinhaltet der vorliegende Flash-Speicher einen Multiplexschaltkreis 302, der an die Eingabe eines Pipelinepuffers 304 gekoppelt ist. In einer Ausführungsform der Erfindung weist der Ausgabepuffer drei Pipelinepfade auf, die ausgewählt werden können, um eine Ein-, Zwei- oder Dreitaktlatenz während der Lesevorgänge zur Verfügung zu stellen. Die Speicherfeldleseschaltungsanordnung 124, Statusregister 134 und die Identifikations-(Konfigurations-)Register 136 sind an den Multiplexschaltkreis 302 gekoppelt. Der Multiplexschaltkreis ist an den Pipelineschaltkreis und an den Ausgabepufferschaltkreis 306 gekoppelt. Somit werden sowohl die Speicherfelddaten und die Registerdaten über den Pipelinepfad ausgewählt. Dies stellt sicher, dass die Daten von den Registern dieselbe Taktlatenz haben wie die Felddaten. Mit der vorliegenden Erfindung wird deshalb ein Buskonflikt aufgrund der Registerlesevorgänge verkleinert.The present invention has a different output design. Referring to 33 The present flash memory includes a multiplexing circuit 302 , which indicates the input of a pipeline buffer 304 is coupled. In one embodiment of the invention, the output buffer has three pipeline paths that can be selected to provide one, two or three clock latencies during the reads. The memory array reading circuitry 124 , Status register 134 and the identification (configuration) registers 136 are connected to the multiplex circuit 302 coupled. The multiplexing circuit is connected to the pipeline circuit and to the output buffer circuit 306 coupled. Thus, both the memory array data and the register data are selected via the pipeline path. This ensures that the data from the registers has the same clock latency as the field data. Therefore, with the present invention, a bus conflict is reduced due to the register read operations.

Claims (17)

  1. Eine synchrone Speichereinrichtung umfassend: einen Pipelinepuffer mit einer Eingabeverbindung und einer Ausgabeverbindung, wobei der Pipelinepuffer eine Vielzahl von wählbaren Durchlaufpfaden aufweist, um Daten von der Eingabeverbindung zu der Ausgabeverbindung zu leiten, wobei jeder Durchlaufpfad eine vorbestimmte Anzahl von Taktzyklen erfordert; einen Multiplexschaltkreis, der an die Eingabeverbindung des Pipelinepuffers gekoppelt ist, wobei der Multiplexschaltkreis eine erste und eine zweite Eingabe aufweist; einen Datenregisterschaltkreis, der an die erste Eingabe des Multiplexschaltkreises gekoppelt ist; und einen Datenleseschaltkreis, der an die zweite Eingabe des Multiplexschaltkreises gekoppelt ist, wobei der Datenleseschaltkreis Ausgabedaten zur Verfügung stellt, die von einem Speicherfeld der synchronen Speichereinrichtung gelesen werden.A synchronous storage device comprising: a pipeline buffer having an input connection and an output connection, the pipeline buffer having a plurality of selectable pass paths for routing data from the input connection to the output connection, each pass path requiring a predetermined number of clock cycles; a multiplexing circuit coupled to the input connection of the pipeline buffer, the multiplexing circuit having first and second inputs; a data register circuit coupled to the first input of the multiplexing circuit; and a data read circuit coupled to the second input of the multiplex circuit, the data read circuit providing output data read from a memory array of the synchronous memory device.
  2. Die synchrone Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, dass der Pipelinepuffer drei Durchlaufpfade aufweist, die ausgewählt werden können, um eine Ein-, Zwei- oder Drei-Taktlatenz während Lesevorgängen zur Verfügung zu stellen. The synchronous memory device of claim 1, characterized in that the pipeline buffer has three pass paths that can be selected to provide one, two or three clock latency during read operations.
  3. Die synchrone Speichereinrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass der Datenregisterschaltkreis ein Statusregister umfasst, um Statusdaten zur Verfügung zu stellen.The synchronous memory device according to claim 1, characterized in that the data register circuit comprises a status register to provide status data.
  4. Die synchrone Speichereinrichtung gemäß Anspruch 3, dadurch gekennzeichnet, dass die Statusdaten umfassen: einen aktiven Zustand eines Zustandsautomaten einer synchronen Speichereinrichtung; einen Speicher-Feld-Bank-Status; und Operationsfehlerdaten.The synchronous memory device according to claim 3, characterized in that the status data comprises: an active state of a state machine of a synchronous memory device; a memory field bank status; and Operation error data.
  5. Die synchrone Speichereinrichtung gemäß Anspruch 1, dadurch gekennzeichnet, dass das Speicherfeld ein Feld von nicht flüchtigen Speicherzellen umfasst.The synchronous memory device according to claim 1, characterized in that the memory field comprises a field of non-volatile memory cells.
  6. Die synchrone Speichereinrichtung nach Anspruch 5, wobei die synchrone Speichereinrichtung eine synchrone Flash-Speichereinrichtung ist.The synchronous storage device of claim 5, wherein the synchronous storage device is a synchronous flash memory device.
  7. Die synchrone Speichereinrichtung nach Anspruch 6, wobei die synchrone Flash-Speichereinrichtung einen Teil eines Verarbeitungssystems bildet, das umfasst: ein Speichersteuerwerk; und eine synchrone Flash-Speichereinrichtung, die an das Speichersteuerwerk gekoppelt ist, umfassend: ein Feld von nicht flüchtigen Speicherzellen, einen Pipelinepuffer mit einer Eingabeverbindung und einer Ausgabeverbindung, wobei der Pipelinepuffer eine Vielzahl von wählbaren Durchlaufpfaden aufweist, um Daten von der Eingabeverbindung an die Ausgabeverbindung zu leiten, wobei jeder Durchlaufpfad eine vorbestimmte Anzahl von Taktzyklen erfordert und wobei die Ausgabeverbindung an das Speichersteuerwerk über einen Datenbus gekoppelt ist, einen Multiplexschaltkreis, der an die Eingabeverbindung des Pipelinepuffers gekoppelt ist, wobei der Multiplexschaltkreis eine erste und zweite Eingabe aufweist, einen Statusregisterschaltkreis, der an die erste Eingabe des Muitiplexschaltkreises gekoppelt ist, und einen Speicherleseschaltkreis, der an die zweite Eingabe des Multiplexschaltkreises gekoppelt ist, wobei der Speicherleseschaltkreis Daten zur Verfügung stellt, die von dem Feld von nicht flüchtigen Speicherzellen gelesen werden, so dass die Daten von dem Statusregisterschaltkreis und dem Speicherleseschaltkreis den Pipelinepufferschaltkreis durchlaufen unter Verwendung einer Vielzahl von wählbaren Durchlaufpfeden.The synchronous memory device of claim 6, wherein the synchronous flash memory device forms part of a processing system comprising: a memory controller; and a synchronous flash memory device coupled to the memory controller, comprising: a field of non-volatile memory cells, a pipeline buffer having an input connection and an output connection, the pipeline buffer having a plurality of selectable pass paths for routing data from the input connection to the output connection, each pass path requiring a predetermined number of clock cycles, and the output connection coupled to the memory controller via a data bus, a multiplexing circuit coupled to the input connection of the pipeline buffer, the multiplexing circuit having first and second inputs, a status register circuit coupled to the first input of the multiplex circuit, and a memory read circuit coupled to the second input of the multiplexing circuit, the memory read circuit providing data read from the array of nonvolatile memory cells so that the data from the status register circuit and memory read circuit passes through the pipeline buffer circuit using a plurality of selectable passwords.
  8. Die synchrone Speichereinrichtung nach Anspruch 6, wobei die synchrone Flash-Speichereinrichtung einen Teil eines Verarbeitungssystems bildet, das umfasst: ein Speichersteuerwerk; und eine synchrone Flash-Speichereinrichtung, die an das Speichersteuerwerk gekoppelt ist, wobei das Speichersteuerwerk Speicherzelldaten von der synchronen Flash-Speichereinrichtung empfängt zu einer ersten vorbestimmten Anzahl von Taktzyklen, nachdem eine Speicherspaltenadresse über das Speichersteuerwerk zur Verfügung gestellt wurde, und wobei das Speichersteuerwerk Statusdaten von der synchronen Flash-Speichereinrichtung empfängt zu einer zweiten vorbestimmten Anzahl von Taktzyklen, nachdem eine Statusleseanfrage durch des Speichersteuerwerk zur Verfügung gestellt wurde, wobei sich die erste und zweite Anzahl von Taktzyklen gleichen.The synchronous memory device of claim 6, wherein the synchronous flash memory device forms part of a processing system comprising: a memory controller; and a synchronous flash memory device coupled to the memory controller, the memory controller receiving memory cell data from the synchronous flash memory device at a first predetermined number of clock cycles after a memory column address has been provided via the memory controller, and wherein the memory controller receives status data from the memory controller synchronous flash memory device receives at a second predetermined number of clock cycles after a status read request has been provided by the memory controller, the first and second numbers of clock cycles being equal.
  9. Die synchrone Speichereinrichtung nach Anspruch 1, wobei die synchrone Speichereinrichtung ferner umfasst: ein Feld von nicht flüchtigen Speicherzellen; und einen Pipelinepuffer, der an eine externe Datenverbindung gekoppelt ist, um Speicherdaten in Antwort auf eine Leseanfrage zur Verfügung zu stellen und um Staturregisterdaten in Antwort auf eine Statusanfrage zur Verfügung zu stellen, wobei die synchrone Speichereinrichtung die aus dem Speicher gelesenen Daten auf der externen Datenverbindung nach einer vorbestimmten Anzahl von Taktzyklen zur Verfügung stellt, die der Leseanfrage folgen, und wobei die synchrone Speichereinrichtung Statusregisterdaten auf der externen Datenverbindung nach einer vorbestimmten Anzahl von Taktzyklen zur Verfügung stellt, die der Statusanfrage folgen, so dass die aus dem Speicher gelesenen Daten und die Statusregisterdaten eine übereinstimmende Taktlatenz aufweisen.The synchronous memory device of claim 1, wherein the synchronous memory device further comprises: a field of nonvolatile memory cells; and a pipeline buffer coupled to an external data connection to provide storage data in response to a read request and to provide staging register data in response to a status request, wherein the synchronous storage device emulates the data read from the storage on the external data connection provides a predetermined number of clock cycles following the read request, and wherein the synchronous memory device provides status register data on the external data connection after a predetermined number of clock cycles following the status request, such that the data read from the memory and the status register data have a matching clock latency.
  10. Die synchrone Speichereinrichtung gemäß der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass die vorbestimmte Anzahl von Taktzyklen entweder einen Taktzyklus, zwei oder drei Taktzyklen beträgt. The synchronous memory device according to claims 1 to 9, characterized in that the predetermined number of clock cycles is either one clock cycle, two or three clock cycles.
  11. Verfahren zum Lesen von Daten von einer synchronen Speichereinrichtung, wobei das Verfahren folgende Schritte umfasst: Koppeln von entweder Speicherzelldaten oder Statusdaten an eine Eingabeverbindung eines Pipelinepuffers; Durchlaufen der Speicherzelldaten oder der Statusdaten durch den Pipelinepuffer; und Ausgabe entweder der Speicherzelldaten oder der Statusdaten auf externe Daten verbindungen.A method of reading data from a synchronous storage device, the method comprising the steps of: Coupling either memory cell data or status data to an input connection of a pipeline buffer; Traversing the memory cell data or status data through the pipeline buffer; and Output either the memory cell data or the status data to external data links.
  12. Das Verfahren nach Anspruch 11, das ferner umfasst: – Initiieren eines Speicherzellenlesevorganges; – Ausgabe von Speicherzelldaten in Antwort auf den Speicherzelllesevorgang, wobei die Speicherzelldaten auf den externen Datenverbindungen nach einer vorbestimmten Anzahl von Taktzyklen ausgegeben werden, nachdem der Speicherzellenlesevorgang initiiert worden ist; – Initiieren eines Statuslesevorganges; – Ausgabe von Statusdaten in Antwort auf die Statusleseoperation, wobei die Statusdaten auf den externen Datenverbindungen nach einer vorbestimmten Anzahl von Taktzyklen ausgegeben werden, nachdem der Statuslesevorgang initiiert worden ist; – Koppeln der Speicherzelldaten an eine Eingabeverbindung eines Pipelinepuffers und Durchlaufen der Speicherzelldaten durch den Pipelinepuffer während einer vorbestimmten Anzahl von Taktzyklen; und – Koppeln der Statusdaten an eine Eingabeverbindung eines Pipelinepuffers und Durchlaufen der Statusdaten durch den Pipelinepuffer während einer vorbestimmten Anzahl von Taktzyklen.The method of claim 11, further comprising: Initiating a memory cell read operation; Outputting memory cell data in response to the memory cell read operation, wherein the memory cell data is output on the external data connections after a predetermined number of clock cycles after the memory cell read operation has been initiated; Initiate a status read operation; Outputting status data in response to the status read operation, the status data being output on the external data links after a predetermined number of clock cycles after the status read operation has been initiated; - coupling the memory cell data to an input connection of a pipeline buffer and traversing the memory cell data through the pipeline buffer during a predetermined number of clock cycles; and - Coupling the status data to an input connection of a pipeline buffer and passing the status data through the pipeline buffer during a predetermined number of clock cycles.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die vorbestimmte Anzahl von Taktzyklen entweder einen Taktzyklus, zwei oder drei Taktzyklen beträgt.A method according to claim 12, characterized in that the predetermined number of clock cycles is either one clock cycle, two or three clock cycles.
  14. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Koppeln entweder der Speicherzelldaten oder der Statusdaten folgende Schritte umfasst: Lesen der Speicherzelldaten und Koppeln der Speicherzelldaten an eine erste Eingabe eines Multiplexschaltkreises; Lesen der Statusdaten und Koppeln der Statusdaten an eine zweite Eingabe des Multiplexschaltkreises; und wahlweises Koppeln entweder der ersten oder zweiten Eingabe an den Pipelinepuffer über den Multiplexschaltkreis.A method according to claim 11, characterized in that the coupling of either the memory cell data or the status data comprises the steps of: Reading the memory cell data and coupling the memory cell data to a first input of a multiplexing circuit; Reading the status data and coupling the status data to a second input of the multiplexing circuit; and selectively coupling either the first or second input to the pipeline buffer via the multiplexing circuit.
  15. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass der Pipelinepuffer eine Vielzahl von wählbaren Durchlaufpfaden aufweist.A method according to claim 11, characterized in that the pipeline buffer comprises a plurality of selectable pass paths.
  16. Verfahren nach Anspruch 15, wobei die Vielzahl von wählbaren Durchlaufpfaden eine Zeitverzögerung von einem Taktzyklus, zwei oder drei Taktzyklen beträgt.The method of claim 15, wherein the plurality of selectable pass paths is a time delay of one clock cycle, two or three clock cycles.
  17. Das Verfahren nach Anspruch 11, das ferner umfasst: Lesen von Speicherzelldaten und Koppeln der Speicherzelldaten an eine erste Eingabe eines Multiplexschaltkreises; Lesen von Statusdaten eines Statusregisters und Koppeln der Statusdaten an eine zweite Eingabe eines Multiplexschaltkreises; wahlweises Koppeln entweder der ersten oder der zweiten Eingabe an eine Eingabeverbindung eines Pipelinepuffers über den Multiplexschaltkreis, wobei der Pipelinepuffer eine Vielzahl von wählbaren Durchlaufpfaden aufweist; Durchlaufen der Speicherzelldaten oder der Statusdaten durch den Pipelinepuffer; und Ausgabe entweder der Speicherzelldaten oder der Statusdaten auf externe Datenverbindungen.The method of claim 11, further comprising: Reading memory cell data and coupling the memory cell data to a first input of a multiplexing circuit; Reading status data of a status register and coupling the status data to a second input of a multiplexing circuit; selectively coupling either the first or the second input to an input connection of a pipeline buffer via the multiplexing circuit, the pipeline buffer having a plurality of selectable pass paths; Traversing the memory cell data or status data through the pipeline buffer; and Output either the memory cell data or the status data to external data connections.
DE10196011T 2000-03-30 2001-03-30 Synchronous memory device and method for reading data from a synchronous memory device Expired - Fee Related DE10196011B3 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US19350600P true 2000-03-30 2000-03-30
US60/193,506 2000-03-30
US09/567,733 US6615307B1 (en) 2000-05-10 2000-05-10 Flash with consistent latency for read operations
US09/567,733 2000-05-10
PCT/US2001/010040 WO2001075896A2 (en) 2000-03-30 2001-03-30 Flash with consistent latency for read operations

Publications (2)

Publication Number Publication Date
DE10196011T1 DE10196011T1 (de) 2003-03-13
DE10196011B3 true DE10196011B3 (de) 2012-07-26

Family

ID=26889061

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10196011T Expired - Fee Related DE10196011B3 (de) 2000-03-30 2001-03-30 Synchronous memory device and method for reading data from a synchronous memory device

Country Status (5)

Country Link
JP (1) JP3631209B2 (de)
KR (1) KR100508042B1 (de)
AU (1) AU8929101A (de)
DE (1) DE10196011B3 (de)
WO (1) WO2001075896A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6615307B1 (en) * 2000-05-10 2003-09-02 Micron Technology, Inc. Flash with consistent latency for read operations
KR100618696B1 (ko) * 2004-04-28 2006-09-08 주식회사 하이닉스반도체 인식 정보를 갖는 메모리 장치
KR100762259B1 (ko) * 2005-09-12 2007-10-01 삼성전자주식회사 버스트 읽기 레이턴시 기능을 갖는 낸드 플래시 메모리장치
JP5266589B2 (ja) * 2009-05-14 2013-08-21 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
US20150095551A1 (en) * 2013-09-30 2015-04-02 Micron Technology, Inc. Volatile memory architecutre in non-volatile memory devices and related controllers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031787A (en) * 1997-11-17 2000-02-29 Micron Electronics Apparatus for providing additional latency for synchronously accessed memory
US6044023A (en) * 1995-02-10 2000-03-28 Townsend And Townsend And Crew Llp Method and apparatus for pipelining data in an integrated circuit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917761A (en) * 1997-11-06 1999-06-29 Motorola Inc. Synchronous memory interface
US5978311A (en) * 1998-03-03 1999-11-02 Micron Technology, Inc. Memory with combined synchronous burst and bus efficient functionality
TW439060B (en) * 1998-08-04 2001-06-07 Samsung Electronics Co Ltd Synchronous burst semiconductor memory device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044023A (en) * 1995-02-10 2000-03-28 Townsend And Townsend And Crew Llp Method and apparatus for pipelining data in an integrated circuit
US6031787A (en) * 1997-11-17 2000-02-29 Micron Electronics Apparatus for providing additional latency for synchronously accessed memory

Also Published As

Publication number Publication date
JP3631209B2 (ja) 2005-03-23
DE10196011T0 (de)
AU8929101A (en) 2001-10-15
WO2001075896A3 (en) 2002-02-28
WO2001075896A9 (en) 2002-12-19
KR100508042B1 (ko) 2005-08-17
KR20030014380A (ko) 2003-02-17
DE10196011T1 (de) 2003-03-13
JP2003529883A (ja) 2003-10-07
WO2001075896A2 (en) 2001-10-11

Similar Documents

Publication Publication Date Title
JP5588536B2 (ja) メモリ・デバイス、メモリ・デバイスを有するシステム、及び埋め込み型デバイスの動作方法
US8255622B2 (en) Memory controller and data processing system
US7890694B2 (en) Latched address multi-chunk write to EEPROM
EP1981030B1 (de) Verkettete Kaskadenvorrichtungen
KR101053711B1 (ko) 인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템
US5347489A (en) Method and circuitry for preconditioning shorted rows in a nonvolatile semiconductor memory incorporating row redundancy
US6463002B2 (en) Refresh-type memory with zero write recovery time and no maximum cycle time
EP0842515B1 (de) Speichersystem mit nicht-flüchtiger datenspeicherstruktur für speichersteuerungsparameter und verfahren dafür
US5717654A (en) Burst EDO memory device with maximized write cycle timing
US6266273B1 (en) Method and structure for reliable data copy operation for non-volatile memories
US5661695A (en) Burst EDO memory device
US5724303A (en) Non-volatile programmable memory having an SRAM capability
US8644065B2 (en) Memory system with user configurable density/performance option
US6272608B1 (en) Method and apparatus for synchronous data transfers in a memory device with lookahead logic for detecting latency intervals
US5301278A (en) Flexible dynamic memory controller
KR100537816B1 (ko) 디코드 경로를 멀티플렉싱함에 의해 판독 및 기입동작을 동시에 인에이블하는 비휘발성 메모리
KR100383774B1 (ko) 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
US5684752A (en) Pipelined read architecture for memory
US5598376A (en) Distributed write data drivers for burst access memories
US6731537B2 (en) Non-volatile memory device and data storing method
US6522581B2 (en) Semiconductor storage device
US5724288A (en) Data communication for memory
US6519689B2 (en) Method and system for processing pipelined memory commands
JP4734580B2 (ja) エンハンスド・バス・ターンアラウンド集積回路ダイナミック・ランダム・アクセス・メモリ装置
US4899272A (en) Addressing multiple types of memory devices

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10196011

Country of ref document: DE

Date of ref document: 20030313

Kind code of ref document: P

8125 Change of the main classification

Ipc: G11C 1626

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20121027

R082 Change of representative

Representative=s name: PATENTANWAELTE STAEGER & SPERLING PARTNERSCHAF, DE

R081 Change of applicant/patentee

Owner name: ROUND ROCK RESEARCH, LLC (N.D.GES.D. STAATES D, US

Free format text: FORMER OWNER: MICRON TECHNOLOGY, INC., BOISE, ID., US

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee