WO1999012169A1 - Non-volatile store with cells assembled in sub-blocks - Google Patents

Non-volatile store with cells assembled in sub-blocks Download PDF

Info

Publication number
WO1999012169A1
WO1999012169A1 PCT/DE1998/002275 DE9802275W WO9912169A1 WO 1999012169 A1 WO1999012169 A1 WO 1999012169A1 DE 9802275 W DE9802275 W DE 9802275W WO 9912169 A1 WO9912169 A1 WO 9912169A1
Authority
WO
WIPO (PCT)
Prior art keywords
blocks
sub
memory
addresses
block
Prior art date
Application number
PCT/DE1998/002275
Other languages
German (de)
French (fr)
Inventor
Eric-Roger BRÜCKLMEIER
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO1999012169A1 publication Critical patent/WO1999012169A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Definitions

  • the invention relates to a non-volatile memory, the memory cells of which are combined into subblocks, and a method for its configuration.
  • Flash memories are integrated memories in which the memory cells can be written individually or byte by byte, but can only be erased in blocks.
  • Unsegmented flash memories are known in which the entire memory is erased on the basis of a single erase command. It is not possible to delete individual sections of the memory in these non-segmented memories.
  • segmented flash memories are also known, the memory cells of which are combined to form several segments, it being possible for these segments to be erased individually using hard-wired logic.
  • boot block for holding a short boot loader, which is located at the lower or upper end of the logical address space
  • parameter block for example a few kilobytes in size, and for holding operating data or other parameters serves
  • Mainblock which is used to save the actual software or firmware. Flash memories with several main blocks are also known.
  • the invention has for its object to provide a segmented non-volatile memory of the type just described, in which the memory unit for the assignment of several sub-blocks to a common block has a low memory requirement.
  • the memory according to the invention has sub-blocks of fixed sizes to which its memory cells are combined. Furthermore, its sub-blocks are combined to form blocks, with a control unit of the memory deleting all sub-blocks of at least one of the blocks on the basis of a single block-clear command.
  • the memory has a memory unit for storing addresses of the sub-blocks of the corresponding block. To carry out the deletion, the control unit reads out the addresses of the sub-blocks of the block to be deleted in each case from the memory unit. It is also provided that the
  • Storage unit addresses of the sub-blocks are compressed for at least one of the blocks are compressed.
  • the membership of the blocks is dependent on the content of the storage unit in which the addresses of the sub-blocks assigned to the blocks are stored. This assignment is therefore not effected by hard-wired logic, as was described in the introduction to the description.
  • the addresses of the sub-blocks are stored in the storage unit in compressed form. This means that, for example, for a block which has address-related sub-blocks, the addresses of all blocks are not stored in the storage unit, but rather only the lowest and the highest address, for example. In this way, the memory requirement of the storage unit is reduced to a minimum.
  • EP-A2 0 741 387 all addresses of the sectors of one of the groups are stored for mutual assignment. In the prior art mentioned, a much larger number of addresses must therefore be stored, so that, in contrast, the memory requirement in the invention is less.
  • the storage unit is a non-erasable memory (ROM).
  • ROM non-erasable memory
  • Its memory content is already set by the manufacturer of the memory, for example by programming laser fuses or by mask programming.
  • the advantage for the manufacturer is that in order to generate different variants of the memory with blocks of different numbers and / or different memory sizes, it is only necessary to store the addresses of the sub-blocks in the corresponding assignment to the blocks in the memory unit. It is not necessary to change the circuitry or the design of the memory.
  • a second particularly advantageous embodiment of the invention provides that the number of sub-blocks per block can be set by programming the memory unit.
  • a programmable storage unit can be for example, an EEPROM or an OTP (One Time Program).
  • OTP One Time Program
  • the memory has an erasure protection unit for storing erasure protection information for at least one of the blocks, which prevents its memory cells from being erased via the block erase command. This prevents the block from being inadvertently erased.
  • the erase unit can be part of the memory unit, so that the assignment of the erase protection information to the respective block, as well as that of the addresses of the associated sub-blocks, can be accomplished in a simple manner.
  • FIG. 1 shows an illustration of the principle of the invention.
  • Figures 2 to 4 show three exemplary embodiments of the memory according to the invention.
  • Figure 1 shows some elements of a non-volatile memory according to the invention.
  • the memories dealt with in the exemplary embodiments are flash memories.
  • the memory cells of the memory which can be selected as usual via (not shown) word and bit lines are combined to form subblocks 3, to which addresses are assigned which have been entered in the subblocks 3 in FIG. 1 using quotation marks.
  • the subblocks 3 are segments of the Memory of relatively small memory size, for example, j in each case 4 kilobits.
  • Each of the Subblocke 3 has a Losch ⁇ input 4, can be cleared through the all of its memory cells by ei ⁇ nes single Losch signal.
  • the sub blocke 3 are combined to Block 5, will be discussed in the follow ⁇ .
  • the memory m FIG. 1 has a control unit 9, which can be, for example, a write controller, which, for example due to a write operation to be carried out and an associated delete command, must first delete individual blocks 5 of the memory before writing .
  • the control unit is supplied with an unblocking command EB2, which will be discussed further below.
  • the memory also has a memory unit 7A; 7B, for which two equivalent alternative exemplary embodiments have been drawn in FIG. 1.
  • the storage unit 7A; 7B serves for each of the blocks 5 for storing the addresses of the sub-blocks 3 belonging to it.
  • the memory unit 7A; 7B the first block B1 the sub-blocks 3 with the addresses 0 to 3, the second block B2 the sub-blocks 3 with the addresses 4 to 6, the third block B3 the sub-blocks with the addresses 7 to 10 and the fourth block B4 the sub-blocks with the Assigned addresses 11 to 14.
  • the addresses of all the subblocks 3 associated with the blocks 5 are individually stored in the left-hand memory unit 7B in FIG. 1.
  • FIG. 3 An exemplary embodiment of the invention, in which such a storage unit 7B is used, is explained further with reference to FIG. 3.
  • the right-hand memory unit 7A in FIG. 1 does not contain all the addresses of the sub-blocks 3 assigned to the blocks 5, but only the upper address limit in each case. As a result, the addresses to be stored are compressed and the right storage unit 7A has a Requires less memory than the left storage unit 7B.
  • the right storage unit 7A is suitable for use in the exemplary embodiment according to FIG. 2.
  • the right storage unit 7A m FIG. 1 has an erase protection unit 8, which is stored for each block 5, whether it may be erased or not.
  • the entry of a "1" means that the first block B1 is protected against erasure, while the entry of a "0" means that blocks B2 to B4 can be deleted.
  • control unit 9 deletes all sub-blocks 3 assigned to the second block B2, dealing with the m of the memory unit 7A; 7B stored information operated. Based on the basic components of the invention shown in FIG. 1, more detailed exemplary embodiments of the invention will now be explained with reference to FIGS. 2 and 3.
  • FIG. 2 shows a first concrete exemplary embodiment of the memory according to the invention. Of the subblocks 3 from FIG. 1, however, only those of the second block B2 with the addresses “4” to “6” are shown.
  • the storage unit 7A has the same entries as the right storage unit 7A from FIG. 1.
  • the storage device according to the invention has one
  • Control unit 9 which can be a microcontroller, for example.
  • An erase command EB2 can be supplied to the control unit 9.
  • This block erase command EB2 deletes the second block B2 of the memory, as will be explained in the following.
  • the control unit 9 is connected to the memory unit 7A via a data bus 14 and a read / write control line 15, via which it can store or read data from the memory unit 7A.
  • the memory unit 7A is therefore programmable, in this case it is an EEPROM.
  • the control unit 9 is connected to the memory unit 7A via an address decoder ADEC, which selects the entries assigned to the blocks 5. half of the storage unit 7A.
  • the address decoder ADEC is connected on the input side to the control unit 9 via an address bus 13.
  • the memory m Figure 2 also has two latches L1, L2, which can be controlled by the control unit 9 via corresponding control lines 17 such that the data on the data bus 14 are taken from the memory unit 7 m, the latches L1, L2.
  • the latches L1, L2 are connected to a decoder DEC1, DEC2, each of which has as many outputs as there are sub-blocks 3 of the memory.
  • the function of the decoders DEC1, DEC2 is explained below.
  • FIG. 2 shows only one of these XOR gates XOR (in reality, each subblock 3 is assigned an XOR gate).
  • the sub-blocks 3 each have an erase input 4, via which all of their memory cells can be erased.
  • Various options for deleting the cells of a flash memory are known to the person skilled in the art, which depend inter alia on the type of memory cells.
  • the individual memory cells have the form of memory transistors with a floating gate (not shown), which corresponds to a customary form of realization of flash memories.
  • the clearing input 4 can be connected, for example, to the drains of all memory cell transistors of the corresponding sub-block 3.
  • These memory cells are erased by means of an erase signal 11 of an increased level generated by a unit 18.
  • the output of the unit 18 for generating the clearing signal 11 is connected via a switching transistor 19 and transistors T to one of the clearing inputs 4 of the sub-blocks 3.
  • the outputs of the XOR gates are each connected to a control electrode of the transistor T which is connected to the clearing input 4 of the sub-block 3 assigned to the XOR gate. Consequently the delete signal 11 is switched through to the delete inputs 4 as a function of the output signal of the XOR gates.
  • the transistor 19 is connected via an activation line 12 to the control unit 9, by means of which it can only be activated after decoding by the decoders DEC1, DEC2. The transistor 19 therefore only switches the erase signal 11 to the transistors T when they are safely opened or blocked in accordance with the output signals of the XOR gates.
  • the block delete command EB2 When the block delete command EB2 is applied to the control unit 9, the latter reads the upper and lower address limits of the second block B2 to be deleted from the memory unit 7 via the address decoder ADEC.
  • the lower address limit of the second block B2 is identical to the upper address limit of the first Block B1, namely the address "3".
  • the upper address limit of the second block B2 is the address "6".
  • the lower address limit is now loaded by the control unit 9 into the first latch L1 and the upper address limit into the second latch L2.
  • the two address limits are now decoded by the two decoders DEC1, DEC2 according to the following scheme, with a bit width of the addresses of only 4 bits being assumed as an example. The result is a so-called thermometer code.
  • Decoder inputs Decoder outputs
  • HLLLHHHHHHHLL The diagram was only given as an example for four of the inputs of the decoders DEC1, DEC2 and eleven of their outputs. As mentioned already be ⁇ , the decoders decl, DEC2 grouting each have the same number of outputs as Subblocke 3 are available. According to the above scheme, decoding is carried out in such a way that all outputs up to and including the address limit to be decoded at the respective decoder DEC1, DEC2 assume a high level, while the other outputs assume a low level.
  • Another block 5 is erased in an analogous manner.
  • the erasure protection information optionally stored in the erasure protection unit 8 of the storage unit 7A according to FIG. 1 prevents the erase of the first block B1 when a corresponding block erase command is applied to the control unit 9, since this erasure protection information (see FIG. 1) can be read out by the control unit 9 before the erasure process is carried out and if a high level or a logical “1” is present as erasure protection information for the corresponding block 5, the erasure process is aborted by the control unit 9.
  • the memory unit 7 is a rewritable memory, namely an EEPROM.
  • the stored upper and lower address limits of the blocks 5 can be changed, so that different block sizes can be set as required by the user.
  • FIG. 2 can also be seen bar that an uppermost memory location in the memory unit 7 is not required in the current distribution of the sub-blocks 3 to the blocks 5.
  • a fifth block 5 can also be provided. This means that not only the number of sub-blocks 3 per block 5, but also the number of blocks 5 can be freely selected in the manner according to the invention.
  • FIG. 3 shows a section of a second exemplary embodiment of the memory according to the invention. Only the components of the memory which differ from the exemplary embodiment from FIG. 2 were shown.
  • the transistors T which are connected to the erase inputs 4 of the sub-blocks 3, can again be seen in the right part of FIG.
  • the memory unit 7B does not contain any compressed address information as in the exemplary embodiment according to FIG. 2, but rather the complete addresses of all sub-blocks 3 of the respective blocks 5, as shown in the left-hand memory unit 7B in FIG. 1.
  • the memory in FIG. 3 has an address decoder 10, the outputs of which are connected to a control electrode each of the transistors T. Inputs of the address decoder 10 are connected to address outputs of the control unit 9.
  • the control unit 9 can also cause the memory unit 7 to transmit the addresses directly to the address decoder 10 (dashed line in FIG. 3).
  • the individual sub-blocks 3 of the block 5 to be deleted are therefore executed one after the other on the basis of a single block delete command EB2, namely depending on the decoding of the address decoder 10, which is a 1 out of n decoder.
  • Figure 4 shows a third embodiment of the memory which differs from that in Figure 3 in that Outputs of the memory unit 7B are connected directly to the transistors T, so that the address decoder 10 is omitted.
  • the storage unit 7B for each of the blocks Bl to B4 vomit ⁇ chert which of the fifteen Subblocke with addresses 0 to 14 are associated with it (for this, each block has a stored in the storage unit 7B "one" on the other for the a stored "zero"). If a line of the memory unit 7B shown in FIG. 4 is addressed by the control unit 9, the associated fifteen bits are given at its outputs. Because of this, all transistors T for which a "one" (high potential) is stored in the memory unit 7B are switched on.
  • the subject of FIG. 4 is a very simple embodiment of the invention in terms of circuit technology, which can be implemented with only a few components.
  • the sub-blocks 3 represent the smallest adjustable resolution of the blocks 5.
  • the size and the number of the blocks 5 can be chosen freely.

Abstract

The invention concerns a non-volatile store comprising cells assembled in sub-blocks (3) which are in turn assembled in blocks (5). Said store further comprises a storage unit (7A, 7B) for storing the sub-block addresses of at least one of the blocks (5). A control unit (9) is used to erase all the sub-blocks (3) of at least one of the blocks (5) in response to a common block-erasing instruction (EB2), said control unit (9) being connected with the storage unit (7A; 7B) for retrieving corresponding addresses of the sub-blocks (3) to be erased.

Description

Beschreibungdescription
Nichtflüchtiger Speicher mit zu Subblöcken zusammengefaßten SpeicherzellenNon-volatile memory with memory cells combined into subblocks
Die Erfindung betrifft einen nichtflüchtigen Speicher, dessen Speicherzellen zu Subblöcken zusammengefaßt sind, und ein Verfahren zu seiner Konfigurierung.The invention relates to a non-volatile memory, the memory cells of which are combined into subblocks, and a method for its configuration.
Flashspeicher sind integrierte Speicher, bei denen die Speicherzellen zwar einzeln bzw. byteweise beschreibbar sind, jedoch nur blockweise gelöscht werden können. Es sind unsegmen- tierte Flashspeicher bekannt, bei denen der gesamte Speicher aufgrund eines einzelnen Löschbefehls gelöscht wird. Ein Lö- sehen einzelner Abschnitte des Speichers ist bei diesen un- segmentierten Speichern nicht möglich. Daneben sind auch seg- mentierte Flashspeicher bekannt, deren Speicherzellen zu mehreren Segmenten zusammengefaßt sind, wobei diese Segmente über eine festverdrahtete Logik jeweils für sich gelöscht werden können. Bei diesen Segmenten handelt es sich beispielsweise um einen sogenannten "Bootblock" zur Aufnahme eines kurzen Urladers, der sich am unteren oder oberen Ende des logischen Adreßraumes befindet, einen "Parameterblock", der beispielsweise einige Kilobyte groß ist und zur Aufnahme von Betriebsdaten oder sonstigen Parametern dient, und einenFlash memories are integrated memories in which the memory cells can be written individually or byte by byte, but can only be erased in blocks. Unsegmented flash memories are known in which the entire memory is erased on the basis of a single erase command. It is not possible to delete individual sections of the memory in these non-segmented memories. In addition, segmented flash memories are also known, the memory cells of which are combined to form several segments, it being possible for these segments to be erased individually using hard-wired logic. These segments are, for example, a so-called "boot block" for holding a short boot loader, which is located at the lower or upper end of the logical address space, a "parameter block", for example a few kilobytes in size, and for holding operating data or other parameters serves, and one
"Mainblock", der zum Speichern der eigentlichen Soft- oder Firmware dient. Es sind auch Flashspeicher mit mehreren Mainblöcken bekannt."Mainblock", which is used to save the actual software or firmware. Flash memories with several main blocks are also known.
Die geschilderten segmentierten Flashspeicher weisen denThe segmented flash memories described have the
Nachteil auf, daß ihre Segmente eine festgelegte Anzahl und eine festgelegte Speichergröße aufweisen. Andererseits besteht seitens der Anwender derartiger segmentierter Flashspeicher ein unterschiedlicher Bedarf hinsichtlich der Größe der verschiedenen Segmente, so daß in vielen Fällen der vorhandene Speicher nicht optimal ausgenutzt werden kann. In der EP-A2 0 741 387 ist ein nichtfluchtiger Speicher be¬ schrieben, bei dem die Speicherzellen zu Sektoren und die Sektoren zu Gruppen zusammengefaßt sind. Weiterhin weist der Speicher eine Speichereinheit zum Speichern von Adressen der Sektoren jeder der Gruppen auf, wobei die Speicherzellen der Sektoren jeder der Gruppen aufgrund eines gemeinsamen Loschbefehls geloscht werden. Die Speichereinheit, die für die Zuordnung der Sektoren zu den Blocken zustandig ist, speichert für jede Gruppe sämtliche Adressen der zugehörigen Sektoren. Dies hat den Nachteil, daß die Speichereinheit eine große Anzahl von Registern enthalten muß, um für eine beliebige Anzahl von Sektoren je Block sämtliche Adressen speichern zu können .Disadvantage that their segments have a fixed number and a fixed memory size. On the other hand, users of such segmented flash memories have different needs with regard to the size of the various segments, so that in many cases the available memory cannot be used optimally. In EP-A2 0,741,387 a non-volatile memory tiger be ¬ is written, wherein the memory cells into sectors and the sectors are grouped together. Furthermore, the memory has a memory unit for storing addresses of the sectors of each of the groups, the memory cells of the sectors of each of the groups being erased on the basis of a common erase command. The storage unit, which is responsible for assigning the sectors to the blocks, stores all addresses of the associated sectors for each group. This has the disadvantage that the memory unit must contain a large number of registers in order to be able to store all addresses for any number of sectors per block.
Der Erfindung liegt die Aufgabe zugrunde, einen segmentierten nichtfluchtigen Speicher der soeben beschriebenen Art anzugeben, bei dem die Speichereinheit für die Zuordnung mehrere Subblocke zu einem gemeinsamen Block einen niedrigen Speicherbedarf aufweist.The invention has for its object to provide a segmented non-volatile memory of the type just described, in which the memory unit for the assignment of several sub-blocks to a common block has a low memory requirement.
Diese Aufgabe wird mit einem Speicher gemäß Anspruch 1 gelost. Weiterbildungen und Ausfuhrungen der Erfindung sind in abhangigen Ansprüchen gekennzeichnet.This object is achieved with a memory according to claim 1. Further developments and embodiments of the invention are characterized in dependent claims.
Der erfmdungsgemaße Speicher weist Subblocke fester Große auf, zu denen seine Speicherzellen zusammengefaßt sind. Weiterhin sind seine Subblocke zu Blocken zusammengefaßt, wobei durch eine Steuereinheit des Speichers aufgrund eines einzigen Blockloschbefehls alle Subblocke wenigstens eines der Blocke geloscht werden. Zu diesem Zweck weist der Speicher eine Speichereinheit zum Speichern von Adressen der Subblocke des entsprechenden Blockes auf. Zur Durchfuhrung des Loschens liest die Steuereinheit aus der Speichereinheit die dort gespeicherten Adressen der Subblocke des jeweils zu loschenden Blockes aus. Weiterhin ist es vorgesehen, daß die in derThe memory according to the invention has sub-blocks of fixed sizes to which its memory cells are combined. Furthermore, its sub-blocks are combined to form blocks, with a control unit of the memory deleting all sub-blocks of at least one of the blocks on the basis of a single block-clear command. For this purpose, the memory has a memory unit for storing addresses of the sub-blocks of the corresponding block. To carry out the deletion, the control unit reads out the addresses of the sub-blocks of the block to be deleted in each case from the memory unit. It is also provided that the
Speichereinheit zu speichernden Adressen der Subblocke für wenigstens einen der Blocke komprimiert sind. Bei der Erfindung ist also die Zugehörigkeit zu den Blöcken abhängig vom Inhalt der Speichereinheit, in der die Adressen der Subblocke, den Blöcken zugeordnet, gespeichert sind. Die- se Zuordnung ist also nicht durch eine festverdrahtete Logik bewirkt, wie dies in der Beschreibungseinleitung geschildert wurde. Im Gegensatz zur EP-A2 0 741 387 werden die Adressen der Subblocke in der Speichereinheit in komprimierter Form gespeichert. Das heißt, daß beispielsweise für einen Block, der adreßmäßig zusammenhängende Subblocke aufweist, nicht die Adressen sämtlicher Blöcke in der Speichereinheit gespeichert werden, sondern beispielsweise nur die niedrigste und die höchste Adresse. Auf diese Weise wird der Speicherbedarf der Speichereinheit auf ein Minimum reduziert. Im Gegensatz dazu werden in der EP-A2 0 741 387 sämtliche Adressen der Sektoren einer der Gruppen für die gegenseitige Zuordnung gespeichert. Beim genannten Stand der Technik muß also eine viel größere Anzahl von Adressen gespeichert werden, so daß demgegenüber der Speicherbedarf bei der Erfindung geringer ist.Storage unit addresses of the sub-blocks are compressed for at least one of the blocks are compressed. In the invention, the membership of the blocks is dependent on the content of the storage unit in which the addresses of the sub-blocks assigned to the blocks are stored. This assignment is therefore not effected by hard-wired logic, as was described in the introduction to the description. In contrast to EP-A2 0 741 387, the addresses of the sub-blocks are stored in the storage unit in compressed form. This means that, for example, for a block which has address-related sub-blocks, the addresses of all blocks are not stored in the storage unit, but rather only the lowest and the highest address, for example. In this way, the memory requirement of the storage unit is reduced to a minimum. In contrast, in EP-A2 0 741 387 all addresses of the sectors of one of the groups are stored for mutual assignment. In the prior art mentioned, a much larger number of addresses must therefore be stored, so that, in contrast, the memory requirement in the invention is less.
Bei einer ersten Ausführungsform der Erfindung handelt es sich bei der Speichereinheit um einen nichtlöschbaren Speicher (ROM) . Sein Speicherinhalt wird bereits durch den Hersteller des Speichers, beispielsweise durch die Programmie- rung von Laserfuses oder durch Maskenprogrammierung, eingestellt. Für den Hersteller ergibt sich der Vorteil, daß er zur Erzeugung unterschiedlicher Varianten des Speichers mit Blöcken unterschiedlicher Anzahl und/oder unterschiedlicher Speichergröße lediglich die Adressen der Subblocke in der entsprechenden Zuordnung zu den Blöcken in der Speichereinheit speichern muß. Eine Veränderung der Verschaltung bzw. des Designs des Speichers ist hierfür nicht erforderlich.In a first embodiment of the invention, the storage unit is a non-erasable memory (ROM). Its memory content is already set by the manufacturer of the memory, for example by programming laser fuses or by mask programming. The advantage for the manufacturer is that in order to generate different variants of the memory with blocks of different numbers and / or different memory sizes, it is only necessary to store the addresses of the sub-blocks in the corresponding assignment to the blocks in the memory unit. It is not necessary to change the circuitry or the design of the memory.
Eine zweite besonders vorteilhafte Ausführungsform der Erfin- düng sieht vor, daß die Anzahl der Subblocke je Block durch eine Programmierung der Speichereinheit einstellbar ist. Bei einer solchen programmierbaren Speichereinheit kann es sich beispielsweise um ein EEPROM oder ein OTP (One Time Program- able) handeln. Der Vorteil eines solchen Speichers mit pro¬ grammierbarer Speichereinheit besteht darin, daß auch nach der Fertigstellung des Speichers die Große der Speicherblöcke an den jeweiligen Bedarf angepaßt werden kann. Dies kann also beispielsweise direkt durch den Anwender des Speichers geschehen, so daß die Speicheraufteilung für den jeweiligen Anwendungsfall optimiert werden kann.A second particularly advantageous embodiment of the invention provides that the number of sub-blocks per block can be set by programming the memory unit. Such a programmable storage unit can be for example, an EEPROM or an OTP (One Time Program). The advantage of such a memory with pro grammable ¬ memory unit is that the size can be adapted to the memory blocks to the respective requirements even after the completion of the memory. This can be done directly by the user of the memory, for example, so that the memory division can be optimized for the respective application.
Eine Weiterbildung der Erfindung sieht vor, daß der Speicher eine Loschschutzeinheit aufweist zum Speichern einer Losch- schutzmformation für wenigstens einen der Blocke, die ein Loschen seiner Speicherzellen über den Blockloschbefehl verhindert. Auf diese Weise wird ein unbeabsichtigtes Loschen des entsprechenden Blockes verhindert. Die Loscheinheit kann Bestandteil der Speichereinheit sein, so daß die Zuordnung der Loschschutzinformation zum jeweiligen Block, ebenso wie diejenige der Adressen der zugehörigen Subblocke, auf einfache Weise zu bewerkstelligen ist.A further development of the invention provides that the memory has an erasure protection unit for storing erasure protection information for at least one of the blocks, which prevents its memory cells from being erased via the block erase command. This prevents the block from being inadvertently erased. The erase unit can be part of the memory unit, so that the assignment of the erase protection information to the respective block, as well as that of the addresses of the associated sub-blocks, can be accomplished in a simple manner.
Die Erfindung wird im folgenden anhand der Figuren, die Aus- fuhrungsbeispiele der Erfindung zeigen, naher erläutert.The invention is explained in more detail below with reference to the figures, which show exemplary embodiments of the invention.
Figur 1 zeigt eine Darstellung des Prinzips der Er- findung.FIG. 1 shows an illustration of the principle of the invention.
Figuren 2 bis 4 zeigen drei Ausfuhrungsbeispiele des erfindungsgemäßen Speichers.Figures 2 to 4 show three exemplary embodiments of the memory according to the invention.
Figur 1 zeigt einige Elemente eines erfindungsgemäßen nichtfluchtigen Speichers. Bei den in den Ausfuhrungsbeispielen behandelten Speichern handelt es sich um Flashspeicher. Die wie üblich über (nicht dargestellte) Wort- und Bitleitungen selektierbaren Speicherzellen des Speichers sind zu Subblök- ken 3 zusammengefaßt, denen Adressen zugeordnet sind, die in Figur 1 m Anfuhrungszeichen in die Subblocke 3 eingetragen wurden. Bei den Subblöcken 3 handelt es sich um Segmente des Speichers von relativ kleiner Speichergroße, beispielsweise jeweils 4 Kilobit. Jeder der Subblocke 3 weist einen Losch¬ eingang 4 auf, über den alle seine Speicherzellen mittels ei¬ nes einzigen Loschsignals geloscht werden können. Die Sub- blocke 3 sind zu Blocken 5 zusammengefaßt, auf die im folgen¬ den eingegangen wird.Figure 1 shows some elements of a non-volatile memory according to the invention. The memories dealt with in the exemplary embodiments are flash memories. The memory cells of the memory which can be selected as usual via (not shown) word and bit lines are combined to form subblocks 3, to which addresses are assigned which have been entered in the subblocks 3 in FIG. 1 using quotation marks. The subblocks 3 are segments of the Memory of relatively small memory size, for example, j in each case 4 kilobits. Each of the Subblocke 3 has a Losch ¬ input 4, can be cleared through the all of its memory cells by ei ¬ nes single Losch signal. The sub blocke 3 are combined to Block 5, will be discussed in the follow ¬.
Zur Durchfuhrung des Loschens der Subblocke 3 weist der Speicher m Figur 1 eine Steuereinheit 9 auf, die beispielsweise ein Schreibcontroller sein kann, der beispielsweise aufgrund eines vorzunehmenden Schreibvorgangs und eines damit zusammenhangenden Loschbefehls vor dem Schreiben zunächst ein Loschen einzelner der Blocke 5 des Speichers vornehmen muß. Im vorliegenden Fall wird der Steuereinheit ein Blockloschbefehl EB2 zugeführt, auf den weiter unten noch eingegangen wird.In order to carry out the deletion of the sub-blocks 3, the memory m FIG. 1 has a control unit 9, which can be, for example, a write controller, which, for example due to a write operation to be carried out and an associated delete command, must first delete individual blocks 5 of the memory before writing . In the present case, the control unit is supplied with an unblocking command EB2, which will be discussed further below.
Der Speicher weist außerdem eine Speichereinheit 7A; 7B auf, für die m Figur 1 gleich zwei äquivalente, alternative Aus- fuhrungsbeispiele eingezeichnet wurden. Die Speichereinheit 7A; 7B dient für jeden der Blocke 5 zum Speichern der Adressen der ihm zugehörigen Subblocke 3. Im vorliegenden Fall sind vier Blocke 5 mit der Bezeichnung Bl bis B4 vorhanden. Dabei sind m der Speichereinheit 7A; 7B dem ersten Block Bl die Subblocke 3 mit den Adressen 0 bis 3, dem zweiten Block B2 die Subblocke 3 mit den Adressen 4 bis 6, dem dritten Block B3 die Subblocke mit den Adressen 7 bis 10 und dem vierten Block B4 die Subblocke mit den Adressen 11 bis 14 zugeordnet. In der linken Speichereinheit 7B m Figur 1 sind die Adressen aller den Blocken 5 jeweils zugehörigen Subblok- ke 3 einzeln gespeichert. Ein Ausfuhrungsbeispiel der Erfindung, bei dem eine derartige Speichereinheit 7B zum Einsatz kommt, wird weiter unter anhand der Figur 3 erläutert. Die rechte Speichereinheit 7A m Figur 1 enthalt nicht samtliche Adressen der den Blocken 5 zugeordneten Subblocke 3, sondern nur jeweils die obere Adreßgrenze. Hierdurch sind die zu speichernden Adressen komprimiert und die rechte Speichereinheit 7A hat für das Speichern derselben Information einen ge- nngeren Speicherbedarf als die linke Speichereinheit 7B. Die rechte Speichereinheit 7A eignet sich zum Einsatz beim Aus- fuhrungsbeispiel gemäß Figur 2.The memory also has a memory unit 7A; 7B, for which two equivalent alternative exemplary embodiments have been drawn in FIG. 1. The storage unit 7A; 7B serves for each of the blocks 5 for storing the addresses of the sub-blocks 3 belonging to it. In the present case there are four blocks 5 with the designations B1 to B4. Here, the memory unit 7A; 7B the first block B1 the sub-blocks 3 with the addresses 0 to 3, the second block B2 the sub-blocks 3 with the addresses 4 to 6, the third block B3 the sub-blocks with the addresses 7 to 10 and the fourth block B4 the sub-blocks with the Assigned addresses 11 to 14. The addresses of all the subblocks 3 associated with the blocks 5 are individually stored in the left-hand memory unit 7B in FIG. 1. An exemplary embodiment of the invention, in which such a storage unit 7B is used, is explained further with reference to FIG. 3. The right-hand memory unit 7A in FIG. 1 does not contain all the addresses of the sub-blocks 3 assigned to the blocks 5, but only the upper address limit in each case. As a result, the addresses to be stored are compressed and the right storage unit 7A has a Requires less memory than the left storage unit 7B. The right storage unit 7A is suitable for use in the exemplary embodiment according to FIG. 2.
Die rechte Speichereinheit 7A m Figur 1 weist eine Losch- schutzemheit 8 auf, m der für jeden Block 5 gespeichert ist, ob er geloscht werden darf oder nicht. Im vorliegenden Fall bedeutet der Eintrag einer „1", daß der erste Block Bl loschgeschutzt ist, wahrend der Eintrag einer „0" bedeutet, daß die Blocke B2 bis B4 geloscht werden können.The right storage unit 7A m FIG. 1 has an erase protection unit 8, which is stored for each block 5, whether it may be erased or not. In the present case, the entry of a "1" means that the first block B1 is protected against erasure, while the entry of a "0" means that blocks B2 to B4 can be deleted.
Die Steuereinheit 9 nimmt aufgrund des anliegenden Blockloschbefehls EB2 ein Loschen aller dem zweiten Block B2 zugeordneten Subblocke 3 vor, wobei sie sich der m der Speicher- emheit 7A; 7B gespeicherten Informationen bedient. Anhand der Figuren 2 und 3 werden nun, ausgehend von den in Figur 1 dargestellten, grundlegenden Komponenten der Erfindung, detailliertere Ausfuhrungsbeispiele der Erfindung erläutert.On the basis of the block erase command EB2 present, the control unit 9 deletes all sub-blocks 3 assigned to the second block B2, dealing with the m of the memory unit 7A; 7B stored information operated. Based on the basic components of the invention shown in FIG. 1, more detailed exemplary embodiments of the invention will now be explained with reference to FIGS. 2 and 3.
Figur 2 zeigt ein erstes konkretes Ausfuhrungsbeispiel des erfmdungsgemaßen Speichers. Von den Subblöcken 3 aus Figur 1 sind jedoch nur diejenigen des zweiten Blockes B2 mit den Adressen „4" bis „6" dargestellt. Die Speichereinheit 7A weist dieselben Eintrage auf, wie die rechte Speichereinheit 7A aus Figur 1. Der erfmdungsgemaße Speicher weist eineFIG. 2 shows a first concrete exemplary embodiment of the memory according to the invention. Of the subblocks 3 from FIG. 1, however, only those of the second block B2 with the addresses “4” to “6” are shown. The storage unit 7A has the same entries as the right storage unit 7A from FIG. 1. The storage device according to the invention has one
Steuereinheit 9 auf, die beispielsweise ein Microcontroller sein kann. Der Steuereinheit 9 ist ein Loschbefehl EB2 zufuhrbar. Dieser Blockloschbefehl EB2 bewirkt ein Loschen des zweiten Blockes B2 des Speichers, wie im folgenden noch er- läutert wird. Die Steuereinheit 9 ist mit der Speichereinheit 7A über einen Datenbus 14 und eine Lese-/Schreιbsteuerleιtung 15 verbunden, über welche sie Daten m der Speichereinheit 7A speichern oder aus dieser auslesen kann. Die Speichereinheit 7A ist also programmierbar, m diesem Fall ist sie ein EEPROM. Weiterhin ist die Steuereinheit 9 mit der Speichereinheit 7A über einen Adreßdecoder ADEC verbunden, der eine Selektion der den Blocken 5 zugeordneten Eintrage inner- halb der Speichereinheit 7A ermöglicht. Der Adreßdecoder ADEC ist emgangsseitig über einen Adreßbus 13 mit der Steuereinheit 9 verbunden.Control unit 9, which can be a microcontroller, for example. An erase command EB2 can be supplied to the control unit 9. This block erase command EB2 deletes the second block B2 of the memory, as will be explained in the following. The control unit 9 is connected to the memory unit 7A via a data bus 14 and a read / write control line 15, via which it can store or read data from the memory unit 7A. The memory unit 7A is therefore programmable, in this case it is an EEPROM. Furthermore, the control unit 9 is connected to the memory unit 7A via an address decoder ADEC, which selects the entries assigned to the blocks 5. half of the storage unit 7A. The address decoder ADEC is connected on the input side to the control unit 9 via an address bus 13.
Der Speicher m Figur 2 weist ferner zwei Latches Ll, L2 auf, die über entsprechende Steuerleitungen 17 durch die Steuereinheit 9 so ansteuerbar sind, daß auf dem Datenbus 14 befindliche Daten aus der Speichereinheit 7 m die Latches Ll, L2 übernommen werden. Die Latches Ll, L2 sind mit e einem Decoder DEC1, DEC2 verbunden, von denen jeder so viele Ausgange aufweist, wie Subblocke 3 des Speichers vorhanden sind. Die Funktion der Decoder DEC1, DEC2 wird weiter unten noch erläutert. Jeweils die demselben Subblock 3 zugeordneten Ausgange der beiden Decoder DEC1, DEC2 sind mit Eingängen e ei- nes XOR-Gatters XOR (= exklusives ODER) verbunden, wobei inThe memory m Figure 2 also has two latches L1, L2, which can be controlled by the control unit 9 via corresponding control lines 17 such that the data on the data bus 14 are taken from the memory unit 7 m, the latches L1, L2. The latches L1, L2 are connected to a decoder DEC1, DEC2, each of which has as many outputs as there are sub-blocks 3 of the memory. The function of the decoders DEC1, DEC2 is explained below. The respective outputs of the two decoders DEC1, DEC2 assigned to the same subblock 3 are connected to inputs of an XOR gate XOR (= exclusive OR), in which in
Figur 2 nur eines dieser XOR-Gatter XOR dargestellt wurde (in Wirklichkeit ist also jedem Subblock 3 je ein XOR-Gatter zugeordnet) .Figure 2 shows only one of these XOR gates XOR (in reality, each subblock 3 is assigned an XOR gate).
Die Subblocke 3 weisen je einen Loscheingang 4 auf, über den alle ihre Speicherzellen loschbar sind. Zum Loschen der Zellen eines Flashspeichers sind dem Fachmann verschiedene Möglichkeiten bekannt, die u.a. von der Art der Speicherzellen abhangen. Hier haben die einzelnen Speicherzellen die Form von Speichertransistoren mit einem Floating Gate (nicht dargestellt) , was einer üblichen Realisierungsform von Flash- speichern entspricht. Dann kann der Loscheingang 4 beispielsweise mit den Drains samtlicher Speicherzellentransistoren des entsprechenden Subblockes 3 verbunden sein. Ein Loschen dieser Speicherzellen erfolgt mittels eines durch eine Einheit 18 erzeugten Loschsignals 11 eines erhöhten Pegels. Der Ausgang der Einheit 18 zur Erzeugung des Loschsignals 11 ist über einen Schalttransistor 19 sowie Transistoren T mit e einem der Loscheingange 4 der Subblocke 3 verbunden. Die Aus- gange der XOR-Gatter sind mit je einer Steuerelektrode desjenigen Transistors T verbunden, der mit dem Loscheingang 4 des dem XOR-Gatter zugeordneten Subblocks 3 verbunden ist. Somit wird das Löschsignal 11 in Abhängigkeit vom Ausgangssignal der XOR-Gatter an die Löscheingänge 4 durchgeschaltet. Der Transistor 19 ist über eine Aktivierungsleitung 12 mit der Steuereinheit 9 verbunden, durch die er erst nach erfolgter Decodierung durch die Decoder DECl, DEC2 aktivierbar ist. Somit wird durch den Transistor 19 das Löschsignal 11 erst zu den Transistoren T durchgeschaltet , wenn diese entsprechend den Ausgangssignalen der XOR-Gatter sicher geöffnet oder gesperrt sind.The sub-blocks 3 each have an erase input 4, via which all of their memory cells can be erased. Various options for deleting the cells of a flash memory are known to the person skilled in the art, which depend inter alia on the type of memory cells. Here, the individual memory cells have the form of memory transistors with a floating gate (not shown), which corresponds to a customary form of realization of flash memories. Then the clearing input 4 can be connected, for example, to the drains of all memory cell transistors of the corresponding sub-block 3. These memory cells are erased by means of an erase signal 11 of an increased level generated by a unit 18. The output of the unit 18 for generating the clearing signal 11 is connected via a switching transistor 19 and transistors T to one of the clearing inputs 4 of the sub-blocks 3. The outputs of the XOR gates are each connected to a control electrode of the transistor T which is connected to the clearing input 4 of the sub-block 3 assigned to the XOR gate. Consequently the delete signal 11 is switched through to the delete inputs 4 as a function of the output signal of the XOR gates. The transistor 19 is connected via an activation line 12 to the control unit 9, by means of which it can only be activated after decoding by the decoders DEC1, DEC2. The transistor 19 therefore only switches the erase signal 11 to the transistors T when they are safely opened or blocked in accordance with the output signals of the XOR gates.
Im folgenden wird nun die Funktion des in Figur 2 dargestellten Speichers näher geschildert. Beim Anlegen des Blocklöschbefehls EB2 an die Steuereinheit 9 liest diese über den Adreßdecoder ADEC die oberste und die untere Adreßgrenze des zu löschenden zweiten Blockes B2 aus der Speichereinheit 7. Die untere Adreßgrenze des zweiten Blockes B2 ist bei diesem Ausführungsbeispiel identisch mit der oberen Adreßgrenze des ersten Blockes Bl, nämlich die Adresse „3". Die obere Adreßgrenze des zweiten Blockes B2 ist die Adresse „6". Die untere Adreßgrenze wird nun von der Steuereinheit 9 in das erste Latch Ll geladen und die obere Adreßgrenze in das zweite Latch L2. Die beiden Adreßgrenzen werden nun durch die beiden Decoder DECl, DEC2 jeweils nach folgendem Schema decodiert, wobei als Beispiel eine Bitbreite der Adressen von lediglich 4 Bit angenommen wurde. Es ergibt sich ein sogenannter Thermometercode .The function of the memory shown in FIG. 2 will now be described in more detail below. When the block delete command EB2 is applied to the control unit 9, the latter reads the upper and lower address limits of the second block B2 to be deleted from the memory unit 7 via the address decoder ADEC. In this exemplary embodiment, the lower address limit of the second block B2 is identical to the upper address limit of the first Block B1, namely the address "3". The upper address limit of the second block B2 is the address "6". The lower address limit is now loaded by the control unit 9 into the first latch L1 and the upper address limit into the second latch L2. The two address limits are now decoded by the two decoders DEC1, DEC2 according to the following scheme, with a bit width of the addresses of only 4 bits being assumed as an example. The result is a so-called thermometer code.
Decoder-Eingänge Decoder-AusgängeDecoder inputs Decoder outputs
L L L L H L L L L L L L L L LL L L L H L L L L L L L L L L
L L L H H H L L L L L L L L LL L L H H H L L L L L L L L L
L L H L H H H L L L L L L L LL L H L H H H L L L L L L L L
L L H H H H H H L L L L L L LL L H H H H H H L L L L L L L
L H L L H H H H H L L L L L LL H L L H H H H H L L L L L L
L H L H H H H H H H L L L L LL H L H H H H H H H L L L L L
L H H L H H H H H H H L L L LL H H L H H H H H H H L L L L
L H H H H H H H H H H H L L LL H H H H H H H H H H H L L L
H L L L H H H H H H H H H L L Das Schema wurde nur beispielhaft für vier der Eingänge der Decoder DECl, DEC2 und elf ihrer Ausgange angegeben. Wie be¬ reits erwähnt, verfugen die Decoder DECl, DEC2 jeweils über ebenso viele Ausgange, wie Subblocke 3 vorhanden sind. Gemäß vorstehendem Schema erfolgt eine Decodierung dergestalt, daß am jeweiligen Decoder DECl, DEC2 alle Ausgange bis einschließlich der zu decodierenden Adreßgrenze einen Highpegel annehmen, wahrend die übrigen Ausgange einen Lowpegel anneh- men. Da dies sowohl für die untere Adreßgrenze über den ersten Decoder DECl als auch für die obere Adreßgrenze über den zweiten Decoder DEC2 erfolgt und deren jeweils demselben Subblock 3 zugeordneten Ausgange mit Eingängen des selben XOR- Gatters verbunden sind, ergibt sich am Ausgang der XOR-Gatter nur für diejenigen Subblocke 3 ein Highpegel, die nicht sowohl unterhalb der unteren als auch der oberen Adreßgrenze angeordnet sind. Mithin werden nur diejenigen n-Kanal-Transi- storen T durchgeschaltet, die denjenigen Subblöcken 3 zugeordnet sind, die zum jeweils zu loschenden Block 5 gehören.HLLLHHHHHHHHHLL The diagram was only given as an example for four of the inputs of the decoders DEC1, DEC2 and eleven of their outputs. As mentioned already be ¬, the decoders decl, DEC2 grouting each have the same number of outputs as Subblocke 3 are available. According to the above scheme, decoding is carried out in such a way that all outputs up to and including the address limit to be decoded at the respective decoder DEC1, DEC2 assume a high level, while the other outputs assume a low level. Since this is done both for the lower address limit via the first decoder DEC1 and for the upper address limit via the second decoder DEC2 and their outputs assigned to the same subblock 3 are connected to inputs of the same XOR gate, the output of the XOR gate results a high level only for those sub-blocks 3 which are not arranged both below the lower and the upper address limit. Consequently, only those n-channel transistors T which are assigned to those subblocks 3 which belong to the block 5 to be erased are switched through.
Das Loschen eines anderen der Blocke 5 erfolgt auf analoge Weise. Die gemäß Figur 1 optional m der Loschschutzeinheit 8 der Speichereinheit 7A gespeicherte Loschschutzinformation verhindert bei Anlegen eines entsprechenden Blockloschbefehls an die Steuereinheit 9 ein Loschen des ersten Blockes Bl, da diese Loschschutzinformation (siehe Figur 1) durch die Steuereinheit 9 vor der Durchführung des Loschvorganges auslesbar ist und bei Vorliegen eines Highpegels bzw. einer logischen „1" als Loschschutzinformation für den entsprechenden Block 5 der Loschvorgang von der Steuereinheit 9 abgebrochen wird.Another block 5 is erased in an analogous manner. The erasure protection information optionally stored in the erasure protection unit 8 of the storage unit 7A according to FIG. 1 prevents the erase of the first block B1 when a corresponding block erase command is applied to the control unit 9, since this erasure protection information (see FIG. 1) can be read out by the control unit 9 before the erasure process is carried out and if a high level or a logical “1” is present as erasure protection information for the corresponding block 5, the erasure process is aborted by the control unit 9.
Beim Ausfuhrungsbeispiel gemäß Figur 2 handelt es sich bei der Speichereinheit 7 um einen wiederbeschreibbaren Speicher, nämlich ein EEPROM. Dies hat zur Folge, daß die gespeicherten oberen bzw. unteren Adreßgrenzen der Blocke 5 geändert werden können, so daß e nach Bedarf des Anwenders unterschiedliche Blockgroßen einstellbar sind. Der Figur 2 ist auch entnehm- bar, daß ein oberster Speicherplatz in der Speichereinheit 7 bei der derzeitigen Aufteilung der Subblocke 3 auf die Blöcke 5 nicht benötigt wird. Bei einer erneuten Programmierung der Speichereinheit 7 kann also zusätzlich noch ein fünfter Block 5 vorgesehen sein. Das heißt, nicht nur die Anzahl der Subblocke 3 je Block 5, sondern auch die Anzahl der Blöcke 5 kann auf die erfindungsgemäße Weise frei gewählt werden.In the exemplary embodiment according to FIG. 2, the memory unit 7 is a rewritable memory, namely an EEPROM. The result of this is that the stored upper and lower address limits of the blocks 5 can be changed, so that different block sizes can be set as required by the user. FIG. 2 can also be seen bar that an uppermost memory location in the memory unit 7 is not required in the current distribution of the sub-blocks 3 to the blocks 5. When the memory unit 7 is reprogrammed, a fifth block 5 can also be provided. This means that not only the number of sub-blocks 3 per block 5, but also the number of blocks 5 can be freely selected in the manner according to the invention.
Figur 3 zeigt einen Ausschnitt eines zweiten Ausführungsbei- spiels des erfindungsgemäßen Speichers. Es wurden nur die vom Ausführungsbeispiel aus Figur 2 abweichenden Komponenten des Speichers dargestellt. Zu erkennen sind im rechten Teil der Figur 3 wiederum die Transistoren T, die mit den Löscheingängen 4 der Subblocke 3 verbunden sind. Die Speichereinheit 7B enthält diesmal keine komprimierte Adreßinformation wie beim Ausführungsbeispiel gemäß Figur 2, sondern die vollständigen Adressen aller Subblocke 3 der jeweiligen Blöcke 5, wie bei der linken Speichereinheit 7B in Figur 1 dargestellt. Der Speicher in Figur 3 weist einen Adreßdecoder 10 auf, dessen Ausgänge mit einer Steuerelektrode je eines der Transistoren T verbunden sind. Eingänge des Adreßdecoders 10 sind mit Adreßausgängen der Steuereinheit 9 verbunden. Diese liest nacheinander aufgrund des anliegenden Blocklöschbefehls EB2 zum Löschen des zweiten Blockes B2 die Adressen der dem zwei- ten Block B2 zugeordneten Subblocke 3 aus der Speichereinheit 7B und gibt diese nacheinander an den Adreßdecoder 10 weiter. Alternativ kann die Steuereinheit 9 auch die Speichereinheit 7 zu einer direkten Übermittlung der Adressen an den Adreßdecoder 10 veranlassen (gestrichelte Linie in Figur 3) . Bei dem Ausführungsbeispiel in Figur 3 werden die einzelnen Subblocke 3 des zu löschenden Blockes 5 aufgrund eines einzigen Blocklöschbefehls EB2 also zeitlich nacheinander, nämlich abhängig von der Decodierung des Adreßdecoders 10, der ein 1 aus n- Decoder ist, durchgeführt.FIG. 3 shows a section of a second exemplary embodiment of the memory according to the invention. Only the components of the memory which differ from the exemplary embodiment from FIG. 2 were shown. The transistors T, which are connected to the erase inputs 4 of the sub-blocks 3, can again be seen in the right part of FIG. This time, the memory unit 7B does not contain any compressed address information as in the exemplary embodiment according to FIG. 2, but rather the complete addresses of all sub-blocks 3 of the respective blocks 5, as shown in the left-hand memory unit 7B in FIG. 1. The memory in FIG. 3 has an address decoder 10, the outputs of which are connected to a control electrode each of the transistors T. Inputs of the address decoder 10 are connected to address outputs of the control unit 9. This reads the addresses of the sub-blocks 3 assigned to the second block B2 from the memory unit 7B in succession on the basis of the block delete command EB2 present for deleting the second block B2 and forwards them to the address decoder 10 one after the other. Alternatively, the control unit 9 can also cause the memory unit 7 to transmit the addresses directly to the address decoder 10 (dashed line in FIG. 3). In the exemplary embodiment in FIG. 3, the individual sub-blocks 3 of the block 5 to be deleted are therefore executed one after the other on the basis of a single block delete command EB2, namely depending on the decoding of the address decoder 10, which is a 1 out of n decoder.
Figur 4 zeigt ein drittes Ausführungsbeispiel des Speichers, das sich von demjenigen in Figur 3 darin unterscheidet, daß Ausgänge der Speichereinheit 7B direkt mit den Transistoren T verbunden sind, so daß der Adreßdecoder 10 entfällt. In der Speichereinheit 7B ist für jeden der Blöcke Bl bis B4 gespei¬ chert, welcher der fünfzehn Subblocke mit den Adressen 0 bis 14 ihm zugeordnet sind (nur für diese weist jeder Block eine in der Speichereinheit 7B gespeicherte "Eins" auf, für die übrigen eine gespeicherte "Null"). Wird eine Zeile der in Figur 4 dargestellten Speichereinheit 7B durch die Steuereinheit 9 adressiert, werden die zugehörigen fünfzehn Bits an deren Ausgange gegeben. Aufgrund dessen werden alle Transistoren T leitend geschaltet, für die in der Speichereinheit 7B eine "Eins" (hohes Potential) gespeichert ist. Beim Gegenstand von Figur 4 handelt es sich um eine schaltungstechnisch sehr einfacne Ausführung der Erfindung, die mit nur wenigen Komponenten realisierbar ist.Figure 4 shows a third embodiment of the memory which differs from that in Figure 3 in that Outputs of the memory unit 7B are connected directly to the transistors T, so that the address decoder 10 is omitted. In the storage unit 7B, for each of the blocks Bl to B4 vomit ¬ chert which of the fifteen Subblocke with addresses 0 to 14 are associated with it (for this, each block has a stored in the storage unit 7B "one" on the other for the a stored "zero"). If a line of the memory unit 7B shown in FIG. 4 is addressed by the control unit 9, the associated fifteen bits are given at its outputs. Because of this, all transistors T for which a "one" (high potential) is stored in the memory unit 7B are switched on. The subject of FIG. 4 is a very simple embodiment of the invention in terms of circuit technology, which can be implemented with only a few components.
Bei der Erfindung stellen die Subblocke 3 die kleinste einstellbare Auflösung der Blöcke 5 dar. Die Größe und die Anzahl der Blocke 5 kann frei gewählt werden. In the invention, the sub-blocks 3 represent the smallest adjustable resolution of the blocks 5. The size and the number of the blocks 5 can be chosen freely.

Claims

Patentansprüche claims
1. Nichtfluchtiger Speicher - mit Speicherzellen, die zu Subblöcken (3) zusammengefaßt sind,1. Non-volatile memory - with memory cells which are combined to form sub-blocks (3),
- mit Blocken (5) , zu denen die Subblocke (3) zusammengefaßt sind,- With blocks (5), to which the sub-blocks (3) are combined,
- mit einer Speichereinheit (7A; 7B) zum Speichern von Adres- sen der Subblocke (3) wenigstens eines der Blocke (5) ,- With a memory unit (7A; 7B) for storing addresses of the sub-blocks (3) at least one of the blocks (5),
- und mit einer Steuereinheit (9) zum Loschen aller Subblocke- And with a control unit (9) for deleting all sub-blocks
(3) wenigstens eines der Blocke (5) aufgrund eines gemeinsamen Blockloschbefehls (EB2), wobei die Steuereinheit (9) mit der Speichereinheit (7A; 7B) verbunden ist zum Auslesen der entsprechenden Adressen der zu loschenden Subblocke(3) at least one of the blocks (5) based on a common block erase command (EB2), the control unit (9) being connected to the memory unit (7A; 7B) for reading out the corresponding addresses of the sub-blocks to be erased
(3),(3),
- wobei die m der Speichereinheit (7A; 7B) zu speichernden Adressen der Subblocke (3) für wenigstens einen der Blocke- Wherein the m of the memory unit (7A; 7B) addresses of the sub-blocks (3) to be stored for at least one of the blocks
(5) komprimiert sind.(5) are compressed.
2. Nichtfluchtiger Speicher nach Anspruch 1,2. Non-volatile memory according to claim 1,
- bei dem die Subblocke (3) adressenmaßig aufeinander folgend angeordnet sind,- in which the sub-blocks (3) are arranged consecutively in terms of addresses,
- und bei dem die m der Speichereinheit (7A; 7B) zu spei- chernden Adressen für wenigstens einen der Blocke (5) lediglich eine untere und eine obere Adreßgrenze umfassen.- and in which the addresses of the memory unit (7A; 7B) to be stored for at least one of the blocks (5) comprise only a lower and an upper address limit.
3. Nichtfluchtiger Speicher nach Anspruch 2,3. Non-volatile memory according to claim 2,
- mit XOR-Gattern (XOR) mit je einem Ausgang, der mit e ei- nem der Subblocke (3) verbunden ist,- with XOR gates (XOR) with one output each, which is connected to one of the sub-blocks (3),
- der einen ersten (DECl) und einen zweiten (DEC2) Decoder aufweist zum Decodieren der m der Speichereinheit (7A; 7B) gespeicherten unteren und der oberen Adreßgrenze des jeweils zu loschenden Blockes (5), — wobei je ein Ausgang jedes der beiden Decoder (DECl, DEC2) e einem der Subblocke (3) zugeordnet ist, — wobei jeweils diejenigen Ausgange der beiden Decoder (DECl, DEC2), die demselben Subblock (3) zugeordnet sind, mit Eingängen des mit diesem Subblock (3) verbun¬ denen XOR-Gatters (XOR) verbunden sind, — und wobei nach Durchfuhrung der Decodierung für alle- The first (DEC1) and a second (DEC2) decoder for decoding the m of the memory unit (7A; 7B) stored lower and the upper address limit of the block to be erased (5), - one output each of the two decoders (DEC1, DEC2) e is assigned to one of the sub-blocks (3), - wherein each of those outputs of the two decoders (decl, DEC2), the same sub-block (3) are associated with inputs of verbun with this sub-block (3) ¬ which the XOR gate (XOR) are connected, - and wherein, after carrying out the Decoding for everyone
Subblocke (3), deren Adresse kleiner oder gleich der jeweils zu decodierenden Adreßgrenze sind, der entsprechende Ausgang des Decoders (DECl, DEC2) einen Pegel aufweist, der zu demjenigen an den übrigen Ausgangen der Decoder (DECl, DEC2 ) komplementär ist.Sub-blocks (3) whose addresses are less than or equal to the address limit to be decoded in each case, the corresponding output of the decoder (DEC1, DEC2) has a level which is complementary to that at the other outputs of the decoders (DEC1, DEC2).
4. Nichtfluchtiger Speicher nach einem der vorstehenden Ansprüche, der eine Loschschutzeinheit (8) aufweist zum Speichern einer Loschschutzinformation für wenigstens einen der Blocke (5), die ein Loschen seiner Speicherzellen über den Blockloschbefehl (EB2) verhindert.4. Non-volatile memory according to one of the preceding claims, which has an erasure protection unit (8) for storing erasure protection information for at least one of the blocks (5), which prevents its memory cells from being erased by means of the non-erasure command (EB2).
5. Nichtfluchtiger Speicher nach einem der vorstehenden An- spruche, mit einem Adreßdecoder (10), wobei Eingänge des Adreßdecoders (10) mit Adreßausgangen der Steuereinheit (9) oder der Speichereinheit (7A; 7B) und Ausgange des Adreßdecoders (10) mit je einem der Subblocke (3) verbunden sind. 5. Non-volatile memory according to one of the preceding claims, with an address decoder (10), inputs of the address decoder (10) with address outputs of the control unit (9) or the memory unit (7A; 7B) and outputs of the address decoder (10) each one of the sub-blocks (3) are connected.
PCT/DE1998/002275 1997-09-04 1998-08-07 Non-volatile store with cells assembled in sub-blocks WO1999012169A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE1997138712 DE19738712C2 (en) 1997-09-04 1997-09-04 Non-volatile memory with memory cells combined into subblocks
DE19738712.8 1997-09-04

Publications (1)

Publication Number Publication Date
WO1999012169A1 true WO1999012169A1 (en) 1999-03-11

Family

ID=7841210

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1998/002275 WO1999012169A1 (en) 1997-09-04 1998-08-07 Non-volatile store with cells assembled in sub-blocks

Country Status (2)

Country Link
DE (1) DE19738712C2 (en)
WO (1) WO1999012169A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277980B2 (en) * 2002-08-21 2007-10-02 Micron Technology, Inc. Non-contiguous address erasable blocks and command in flash memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0241078A1 (en) * 1986-04-03 1987-10-14 Koninklijke Philips Electronics N.V. Memory comprising simultaneously addressable memory elements
EP0326053A2 (en) * 1988-01-28 1989-08-02 National Semiconductor Corporation Programmable memory data protection scheme
US5305276A (en) * 1991-09-11 1994-04-19 Rohm Co., Ltd. Non-volatile IC memory
EP0741387A2 (en) * 1995-05-05 1996-11-06 STMicroelectronics S.r.l. Nonvolatile memory device with sectors of preselectable size and number

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332797A (en) * 1993-05-27 1994-12-02 Nec Corp Semiconductor memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0241078A1 (en) * 1986-04-03 1987-10-14 Koninklijke Philips Electronics N.V. Memory comprising simultaneously addressable memory elements
EP0326053A2 (en) * 1988-01-28 1989-08-02 National Semiconductor Corporation Programmable memory data protection scheme
US5305276A (en) * 1991-09-11 1994-04-19 Rohm Co., Ltd. Non-volatile IC memory
EP0741387A2 (en) * 1995-05-05 1996-11-06 STMicroelectronics S.r.l. Nonvolatile memory device with sectors of preselectable size and number

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277980B2 (en) * 2002-08-21 2007-10-02 Micron Technology, Inc. Non-contiguous address erasable blocks and command in flash memory

Also Published As

Publication number Publication date
DE19738712C2 (en) 2001-09-20
DE19738712A1 (en) 1999-04-15

Similar Documents

Publication Publication Date Title
DE19882933B4 (en) Flash memory partition for read-while-write operations
DE102005045031B4 (en) Programming method and program resumption method for a nonvolatile memory device
DE69034191T2 (en) EEPROM system with multi-chip block erasure
DE60211653T2 (en) TEPASS PROGRAMMING AND READING OPERATIONS IN A NON-VOLATILE MEMORY
DE60030876T2 (en) Scope management of a high-capacity non-volatile memory
DE10301458B4 (en) Memory module and associated erase, program and copyback method
DE3318123A1 (en) CIRCUIT ARRANGEMENT WITH A DATA MEMORY AND A CONTROL UNIT FOR READING, WRITING AND ERASING THE MEMORY
DE102005035084B4 (en) Memory components and programming methods
DE19983565B4 (en) Internal refresh mode for a flash memory cell array
EP2923261B1 (en) Method for controlling a flash memory for mass storage, which is comprised by a communications device that can be connected to a host, and computer program product for carrying out said method
DE3900798A1 (en) METHOD FOR CLEARING AND PROGRAMMING AN ELECTRICALLY CLEARABLE AND PROGRAMMABLE READ-ONLY MEMORY
DE102009048179A1 (en) Process and method for a deletion strategy in solid plates
EP0195885A2 (en) Method and device for the non-volatile memorizing of the counting state of an electronic counter circuit
DE10192507B4 (en) Method and apparatus for the prediction of erase and write times of flash memories
DE102005052293B4 (en) Memory circuit and method for writing to a destination memory area
DE112004003005T5 (en) Non-volatile memory device
DE602004012923T2 (en) Word-wise programmable flash memory
DE102008023764A1 (en) Non-volatile semiconductor memory device and associated writing method
EP1559111B1 (en) Method for operating a memory arrangement
DE102005028217B3 (en) Writing method for data in nonvolatile semiconductor memory e.g. nitride programmable ROM, involves programming first bit or second bit if first bit or second bit is programmed in final state
DE19738712C2 (en) Non-volatile memory with memory cells combined into subblocks
DE3900979A1 (en) ELECTRICALLY ERASABLE AND PROGRAMMABLE READ-ONLY READER
DE10322723B3 (en) Memory incomplete write-in or erasure condition handling device using write-in of data read from further page in memory page identified with inconsistency
DE112008001409T5 (en) Non-volatile memory with high reliability
DE60003989T2 (en) Page programming mode for EEPROM and associated circuit

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): BR CN JP KR MX RU UA US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: KR

122 Ep: pct application non-entry in european phase