Non-volatile memory devices and control and operation thereof
Summary by NHIP
Extended Addressing Flash Memory
The flash memory integrated circuit chip uses separate address interfaces to access a main array and additional redundant erase blocks. These interfaces combine their ranges into a single contiguous user address space larger than the physical array size while blocking access to repair blocks.
Claim Score by NHIP
Abstract
An improved non-volatile erase block memory device apparatus and method is described that incorporates an improved addressing scheme to provide for extended addressing allowing redundant erase blocks that are not utilized to repair general use erase blocks of the main memory array to be accessed and utilized as additional storage space by an end user. The additional storage space formed by the unused redundant erase blocks and the specified storage space of the main memory array is presented to the end user as a single contiguous address space. Additionally, the redundant erase blocks can be utilized to repair any damaged erase block in the memory array of the non-volatile erase block memory or Flash memory device regardless of bank placement.

Term
Term ended
Expired 25 August 2022, 4.1 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
10 claims: 1 independent, 9 dependent
- 1Broadest claimClaim Score 39, average(NHIP)A flash memory integrated circuit chip comprising:a flash memory array;and an interface including: an address interface having address lines configured to be coupled to a source external to the integrated circuit chip, and the address interface configured to enable access to an address range of a specified plurality of erase blocks of the flash memory array of a specified size corresponding to the address range;and an extended address interface having at least one address line configured to be coupled to the external source, and the extended address interface configured to enable access to an extended address range of a plurality of additional erase blocks of the flash memory array, and the extended address range of the plurality of additional erase blocks and the address range of the specified plurality of erase blocks form one or more ranges of user accessible general use addresses, and the sum of the one or more ranges of user accessible general use addresses is larger than the specified size of the flash memory array.
50 paragraphs in 6 sections, as filed
RELATED APPLICATION(S)
This application is a continuation of U.S. application Ser. No. 11/581,887, filed Oct. 17, 2006 now U.S. Pat. No. 7,546,440, which is a continuation of U.S. application Ser. No. 10/199,725, filed Jul. 19, 2002, now U.S. Pat. No. 7,123,512. The entire teachings of the above application(s) are incorporated herein by reference.
TECHNICAL FIELD OF THE INVENTION
The present invention relates generally to integrated circuits and in particular the present invention relates to non-volatile memory circuits with block arrays.
BACKGROUND OF THE INVENTION
Memory devices are typically provided as internal storage areas in the computer. The term memory identifies data storage that comes in the form of integrated circuit chips. There are several different types of memory used in modern electronics, one common type is RAM (random-access memory). RAM is characteristically found in use as main memory in a computer environment. RAM refers to read and write memory; that is, you can both write data into RAM and read data from RAM. This is in contrast to ROM, which permits you only to read data. Most RAM is volatile, which means that it requires a steady flow of electricity to maintain its contents. As soon as the power is turned off, whatever data was in RAM is lost.
Computers almost always contain a small amount of read-only memory (ROM) that holds instructions for starting up the computer. Unlike RAM, ROM cannot be written to. An EEPROM (electrically erasable programmable read-only memory) is a special type non-volatile ROM that can be erased by exposing it to an electrical charge+ EEPROM comprise a large number of memory cells having electrically isolated gates (floating gates). Data is stored in the memory cells in the form of charge on the floating gates. Charge is transported to or removed from the floating gates by specialized programming and erase operations, respectively.
Yet another type of non-volatile memory is a Flash memory. A Flash memory is a type of EEPROM that can be erased and reprogrammed in blocks instead of one byte at a time. A typical Flash memory comprises a memory array, which includes a large number of memory cells. Each of the memory cells includes a floating gate field-effect transistor capable of holding a charge. The data in a cell is determined by the presence or absence of the charge in the floating gate. The cells are usually grouped into sections called “erase blocks”. Each of the cells within an erase block can be electrically programmed in a random basis by charging the floating gate. The charge can be removed from the floating gate by a block erase operation, wherein all floating gate memory cells in the erase block are erased in a single operation. For ease of access and management the erase blocks of a non-volatile memory device are typically arranged in “banks” or segments.
<figref idref="DRAWINGS">FIG. 1</figref> shows a simplified diagram of a Flash memory <b>100</b> of the prior art. The Flash memory <b>100</b> has an address interface <b>104</b>, a control interface <b>106</b>, and a data interface <b>108</b>. Internally to the Flash memory device a control state machine <b>110</b> directs internal operation of the Flash memory device; managing the Flash memory array <b>112</b> and updating RAM control registers and non-volatile erase block management registers <b>114</b>. The RAM control registers and tables <b>114</b> are utilized by the control state machine <b>110</b> during operation of the Flash memory <b>100</b>. The Flash memory array <b>112</b> contains a sequence of memory banks or segments <b>116</b>. Each bank <b>116</b> contains a series of erase blocks <b>118</b>.
During use of a non-volatile erase block memory device, errors or faults commonly will appear in erase blocks. For this situation, additional erase blocks are typically associated with the memory array beyond the number that is necessary for the memory device to contain its specified data size. The additional extra erase blocks are then utilized by the non-volatile memory device for the replacement of erase blocks that become damaged or corrupted, thus ensuring the availability of the specified data storage during the expected lifetime of the non-volatile erase block memory device. These additional erase blocks are also known as redundant erase blocks or replacement erase blocks.
<figref idref="DRAWINGS">FIG. 2</figref> shows a simplified block diagram of a redundant block control circuitry <b>200</b> and redundant erase blocks <b>202</b> of a Flash memory of the prior art. In <figref idref="DRAWINGS">FIG. 2</figref>, the redundant block control circuitry <b>200</b> is coupled to a number of redundant erase blocks <b>202</b> that are associated with each memory bank <b>204</b> (in the Flash memory of <figref idref="DRAWINGS">FIG. 2</figref>, 6 redundant erase blocks for each memory bank of 64 erase blocks). The redundant block control circuitry <b>200</b> contains a series of block fuse sets and SRAM latches (not shown) that each correspond to and activate a single redundant erase block <b>202</b> in a specific memory bank <b>204</b>. When a general use erase block <b>206</b> of one of the main array banks <b>204</b> becomes damaged and must be replaced, an external controller or processor (not shown) operates the Flash memory control circuitry (not shown) to program a redundant block fuse set to replace the damaged main array erase block <b>206</b> with a redundant erase block <b>202</b>. Afterwards, if an address is received at the Flash memory address interface (not shown) that addresses a damaged general use erase block <b>206</b>, the programmed fuse set (not shown) disables the access to the general use erase block <b>206</b> in the main memory array bank <b>204</b> and activates its corresponding redundant erase block <b>202</b> in the memory array bank <b>204</b> for access via the redundant erase block select lines <b>208</b>. The redundant erase blocks <b>202</b> are generally specific to a memory array bank <b>204</b> and can only be used to replace damaged erase blocks in that memory array bank. Therefore, a memory array bank <b>204</b> that accumulates more damaged general use erase blocks <b>206</b> than redundant replacement erase blocks <b>202</b> can no longer be repaired even though unused redundant erase blocks <b>202</b> exist in other memory array banks <b>204</b>.
Because of this replacement erase block repair mechanism and the specificity of the redundant erase blocks to the memory banks, manufacturers must construct a much larger memory device and internal memory array banks than are necessary in order to guarantee a minimum available device size. Additionally, because they are not part of the main memory array addressing scheme, until the redundant erase blocks of a non-volatile erase block memory device are utilized in a repair they are unavailable for general use by the end user of the memory device even though they are present in the memory array.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for an improved non-volatile memory erase block addressing scheme.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is a simplified diagram of a Flash memory device of the prior art.
<figref idref="DRAWINGS">FIG. 2</figref> is a simplified diagram of a redundant block control circuitry and redundant erase blocks of a Flash memory device of the prior art.
<figref idref="DRAWINGS">FIG. 3</figref> is a simplified diagram of a Flash memory of the present invention.
<figref idref="DRAWINGS">FIGS. 4 and 5</figref> are simplified diagrams of redundant block control circuitry and redundant erase blocks of Flash memories of the present invention.
<figref idref="DRAWINGS">FIGS. 6 and 7</figref> are simplified diagrams of redundant block control circuitry of Flash memories of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific preferred embodiments in which the inventions may be practiced These embodiments are described in sufficient detail to enable those skilled in the art to 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 The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the claims.
To deal with the above detailed issues of a manufacturer having to construct a much larger memory device than are necessary in order to guarantee a minimum available device size and having those unused redundant erase blocks unavailable for general use by the end user of the memory device, a Flash memory of the present invention has an improved redundant erase block control circuit that allows extended access by the end user to the unutilized redundant erase blocks. Embodiments of the present invention with the improved redundant erase block control circuit and addressing scheme can also present the general use erase blocks and redundant erase blocks as a contiguous usable memory array to the end user of the device that is larger than the specified device size. Additionally, Flash memories of the present invention allow for the use of erase blocks to repair or replace damaged erase blocks without regard to the memory bank the erase block is located in or the bank location of the damaged erase block being replaced.
As stated above, current non-volatile memory erase block addressing and redundant erase block control schemes do not allow addressing of or access to unused redundant erase blocks. This has the effect of leaving these redundant erase blocks behind and unused if they are not utilized to repair or replace defective main memory array blocks. As stated above, these non-volatile memory erase block devices typically utilize a series of fuse set circuits that are each associated with a single redundant erase block to repair defective general use erase blocks of the main memory array. When a main memory array general use erase block is noted as defective a fuse set circuit and associated redundant erase block is programmed to replace it. The selected redundant erase block is usually constrained to be in the same bank as the defective erase block. Because of this redundant erase blocks cannot be utilized to repair damaged or defective erase blocks in banks that they are not a component of. Subsequent memory accesses to an address in the defective general use erase block are matched by the value programmed into the control fuse set for the redundant erase block used to repair it. The fuse set, when it detects an address match for the erase block it has been programmed to replace, disables the access to the defective erase block and selects and activates its associated redundant erase block in its stead. An additional problem with this scheme is that if a memory array bank accumulates too many defective erase blocks and runs out of replacement redundant erase blocks the bank cannot be repaired even though other banks have available redundant erase blocks. This can render the Flash memory unusable or lead to gaps in the contiguous sequence of erase blocks that the memory presents to the outside world.
<figref idref="DRAWINGS">FIG. 3</figref> is a simplified diagram of a Flash memory device embodiment of the present invention <b>300</b> coupled to a processor <b>302</b> with an address <b>304</b>, control <b>306</b>, data bus <b>308</b>, and an extended address bus <b>320</b>. Internal to the Flash memory device a control state machine <b>310</b> directs operation of the Flash memory device; managing the Flash memory array <b>312</b> and updating RAM control registers and non-volatile erase block management registers <b>314</b>. The RAM control registers and tables <b>314</b> are utilized by the control state machine <b>310</b> during operation of the Flash memory <b>300</b>. The Flash memory array <b>312</b> contains a sequence of memory banks or segments <b>316</b>. Each bank <b>316</b> contains a series of general use erase blocks <b>318</b>. In the embodiment of <figref idref="DRAWINGS">FIG. 3</figref>, the Flash memory device <b>300</b> contains a memory array <b>312</b> of 4 banks <b>316</b> (bank 3:bank 0), each bank <b>316</b> contains 64 erase blocks <b>318</b> and 6 redundant erase blocks (not shown). The Flash memory device <b>300</b> is addressed by an address interface <b>304</b> containing address lines <A23:A0> that enables access to the general use erase blocks <b>318</b> of the array banks <b>316</b>. Individual memory array bank and erase block addressing within the 4 banks of 64 erase blocks each is accomplished with address lines <A23:A16>. Memory addresses within an individual erase block are addressed with address lines <A15:A0>. An extended address interface <b>320</b>, that consists of address line <A24>, enables access to the additional 6 (24 total) redundant erase blocks (not shown in <figref idref="DRAWINGS">FIG. 3</figref>) of each memory array bank <b>316</b>. It is noted that other Flash memory array bank and erase block arrangements are possible and should be apparent to those skilled in the art with the benefit of this disclosure.
Conventional Flash memory fuse sets may be extended in embodiments of the present invention to allow addressing of the redundant erase blocks with the extended address interface. However, this would not allow the Flash memory to replace damaged erase blocks from differing memory banks. Alternative approaches to the issue of damaged erase block replacement with an available redundant erase block that are utilized in embodiments of the present invention and do not have the problem of current fuse set circuits in replacing defective erase blocks across array banks are described in U.S. patent application Ser. No. 10/184,961, titled “A Repairable Block Redundancy Scheme”, which is commonly assigned and incorporated herein by reference.
<figref idref="DRAWINGS">FIG. 4</figref> is a simplified diagram of a Flash memory embodiment of the present invention with redundant block control circuitry <b>400</b> (also known as redirect control circuitry) and redundant erase blocks <b>402</b>. The Flash memory embodiment detailed in <figref idref="DRAWINGS">FIG. 4</figref> contains four memory array banks <b>404</b> (bank 3: bank0) of 64 general use erase blocks <b>406</b> each for an available memory array of 256 erase blocks. Each memory array bank <b>404</b> also contains 6 redundant erase blocks <b>402</b>. An address control circuit <b>410</b> (incorporating the address interface and the extended address interface, not shown) is coupled <b>412</b> to a redundant block control circuit <b>400</b> to allow addressing of individual erase blocks in the memory array. The redundant block control circuit <b>400</b> is coupled to each of the memory array banks <b>404</b> via a general memory array erase block address bus <b>414</b>. The redundant block control circuit <b>400</b> is also coupled to a number of redundant erase blocks <b>402</b> that are associated with each memory bank <b>404</b> via an independent redundant block address bus <b>408</b>.
When a request to access an undamaged general use erase block <b>406</b> is received at the Flash memory address control <b>410</b> via an address interface (not shown), the redundant block control circuitry <b>400</b> evaluates the request and enables the access to the general use erase block <b>406</b> in the main memory array bank <b>404</b> via the general memory array erase block address bus <b>414</b>.
If a general use erase block <b>406</b> of one of the main array banks <b>404</b> becomes damaged and must be replaced an external processor or control circuit operates the Flash memory control circuitry (not shown) to program the redundant block control circuit <b>400</b> to replace the defective main array erase block <b>406</b> with a redundant erase block <b>402</b>. Afterwards, if an address is received at the Flash memory address control <b>410</b> via the address interface (not shown) that matches an address of a replaced defective general use erase block <b>406</b>, the redundant block control circuitry <b>400</b> disables the access to the general use erase block <b>406</b> in the main memory array bank <b>404</b> and activates the corresponding redundant erase block <b>402</b> for access via the redundant erase block address bus <b>408</b>.
When a request to access a memory array erase block that is beyond the normal address space of the memory array (<A23:A16>) occurs, by the receipt of an address utilizing the extended address interface (<A24>, in the Flash memory of <figref idref="DRAWINGS">FIG. 4</figref>), the redundant block control circuit <b>400</b> converts the address to a corresponding redundant block and bank address (rdnblock<2:0> and rdnbank<1:0>) and activates the requested redundant erase block <b>402</b> in the appropriate memory bank <b>404</b>, allowing them to be accessed and thereby “reclaimed” for use. If the redundant erase block being addressed is in use as a replacement for a defective general use erase block <b>406</b> the redundant block control circuit <b>400</b> will shut off all block addresses and prevent any block from being addressed. This prevents any accidental accessing of the same block with two different addresses.
With a mapping of the reclaimed redundant erase blocks (24 blocks) to addresses after the main memory array address range of 256 blocks, the addition of the reclaimed redundant erase blocks give an available block address range of 280 total (erase blocks 0:279). However, with a standard redundant erase block use scheme approach, if a random redundant erase block is chosen to repair a main memory array erase block, undesirable gaps may appear in the extended address range if an improved redundant block repair scheme is not utilized.
As the repair ability of redundant erase blocks <b>402</b> in embodiments of the present invention are not specific to the memory array bank <b>404</b> being addressed by the access, if a memory array bank <b>404</b> accumulates more defective general use erase blocks <b>406</b> than redundant replacement erase blocks <b>402</b> it can be repaired with unused redundant erase blocks <b>402</b> from other memory array banks <b>404</b>. This allows a redundant erase block repair scheme that utilizes the most significant addressed redundant erase block and therefore allows for an overall contiguous erase block address scheme to be maintained without gaps in the address range of both the main memory array (256 blocks) and reclaimed redundant erase blocks (24 blocks). If a redundant erase block is required to repair a main memory array erase block the most significant addressed redundant erase block is utilized in the repair, decreasing the address range by one. Any additional repairs further decrease the range of available erase blocks in turn as redundant erase blocks are utilized. Any user information stored in the redundant erase block that is used for a repair should be moved before the block is used in a repair or risk being lost.
<figref idref="DRAWINGS">FIG. 5</figref> is a simplified diagram of an alternative embodiment of the present invention. In <figref idref="DRAWINGS">FIG. 5</figref> we can see that with embodiments of the present invention which utilize redundant erase block control circuits that allow full re-mapping of any erase block in the memory array we do not necessarily have to separate the redundant erase blocks from the general use erase blocks in the memory banks of the main erase block array. The alternative redundant erase block control circuit's ability to remap and repurpose any erase block in the memory array to any other erase block address and bank allows us to simply merge the redundant erase blocks with the general use erase blocks of the main memory banks and address the unified erase block banks as a composite whole, remapping erase blocks as they become damaged or needed elsewhere.
In <figref idref="DRAWINGS">FIG. 5</figref>, a Flash memory embodiment of the present invention is shown with redundant block control circuitry <b>500</b> and a series of merged memory array banks <b>504</b> containing both general use and redundant erase blocks that are merged into uniform erase block arrays <b>502</b> where all contained erase blocks are available for general use. For example purposes, the Flash memory embodiment detailed in <figref idref="DRAWINGS">FIG. 5</figref> again contains four memory array banks <b>504</b> (bank 3: bank0) which each contain 64 general use erase blocks and 6 extra “redundant” erase blocks for a total of 70 generally addressable erase blocks in each memory array bank <b>504</b> (bank 0 <main blocks 69:0>, bank I <main blocks 138:70>, bank 2 <main blocks 209:140>, bank 3 <main blocks 279:210>). This results in a specified Flash memory device array size of up to 280 erase blocks, if there are no defective erase blocks.
In <figref idref="DRAWINGS">FIG. 5</figref>, an address control circuit <b>510</b> (not shown) incorporating the address interface and the extended address interface is coupled <b>512</b> to a redundant block control circuit <b>500</b> to allow addressing of individual erase blocks in the memory array. The redundant block control circuit <b>500</b> is coupled to each of the memory array banks <b>504</b> via a general memory array erase block address bus <b>514</b> to allow addressing of the merged memory array banks <b>504</b> each containing both redundant erase blocks and general use erase blocks. This approach eliminates the need for an independent redundant block address bus and select circuitry.
When an erase block becomes defective in the Flash memory embodiment of the present invention of <figref idref="DRAWINGS">FIG. 5</figref>, the Flash memory control circuitry (not shown) programs the redundant block control circuit <b>500</b> to replace the damaged erase block with another undamaged erase block. As the general use erase blocks and redundant erase blocks are merged together in memory array banks of the Flash memory of <figref idref="DRAWINGS">FIG. 5</figref> the redundant erase block circuit <b>500</b> is simply programmed to replace the defective erase block with another erase block that has been selected to use as a replacement. Afterwards, if an address is received at the Flash memory address control <b>510</b> via an address interface (not shown) that addresses a damaged memory array erase block <b>502</b>, the redundant block control circuitry <b>500</b> disables the access to the addressed erase block <b>502</b> in the main memory array bank <b>504</b> and activates the corresponding selected replacement erase block <b>502</b> for access via the redundant erase block address bus <b>408</b>. In this manner the redundant erase block control circuit <b>500</b> can re-map and repair any defective erase block <b>502</b> with any other erase block <b>502</b>, allowing repair to occur even in what would normally be the extended range of redundant erase blocks. If the erase block <b>502</b> being addressed is in use as a replacement for a defective erase block <b>502</b> the redundant block control circuit <b>500</b> will shut off all block addresses and prevent any block from being addressed. This prevents any accidental accessing of the same block with two different addresses.
During an access to a undamaged erase block <b>502</b>, an address is received at the Flash memory address control <b>510</b> via the address interface (not shown), the redundant block control circuitry <b>500</b> evaluates the request and enables the access to the general use erase block <b>502</b> in the main memory array bank <b>504</b> via the memory array address bus <b>514</b>.
When a request to access a memory array erase block that is beyond the normal address space of the memory array (<A23:A16>) occurs, by receiving of an address utilizing the extended address interface (<A24> in the Flash memory of <figref idref="DRAWINGS">FIG. 5</figref>), the redundant block control circuit <b>500</b> converts the address to a corresponding block address in the erase block range <main block 257:280> and activates the requested erase block <b>502</b> in the appropriate memory bank <b>504</b>.
As the usability of erase blocks <b>502</b> are not specific to the memory array bank <b>504</b> being addressed by the access in the Flash memory of <figref idref="DRAWINGS">FIG. 5</figref>, if a memory array bank <b>504</b> accumulates defective erase blocks <b>502</b> it can be repaired with erase blocks <b>502</b> from other memory array banks <b>504</b>. This allows the use of erase block replacement schemes that are not constrained by the structure of the memory device or its internal bank structure.
An erase block replacement scheme that is used by one embodiment of the present invention with merged erase block memory banks utilizes the most significant addressed redundant erase block of the memory array to repair a damaged erase block. This allows for an overall contiguous erase block address scheme to be maintained without gaps in the address range of the memory array. Thus making available main block addresses of up to 280 (erase blocks 0:279), if the device has no block repairs. If an erase block is required to repair a damaged erase block, the most significant addressed erase block is utilized in the repair, decreasing the overall address range by one. Any additional repairs further decrease the range of available erase blocks in turn. Any user information stored in the most significant addressed erase block when it is used for a repair should be moved before the block is used in the repair or risk being lost.
It is noted that other memory bank arrangements, array arrangements, and block replacement schemes are possible with merged general use and redundant erase block array embodiments of the present invention and will be apparent to those skilled in the art with the benefit of the present invention.
<figref idref="DRAWINGS">FIG. 6</figref> is a simplified diagram of a redundant block control circuit <b>600</b> such as utilized with the Flash memory of <figref idref="DRAWINGS">FIG. 4</figref>. The redundant block control circuit <b>600</b> of <figref idref="DRAWINGS">FIG. 6</figref> is detailed in the alternative approaches to conventional fuse set circuits and the issue of damaged erase block replacement described in the incorporated reference, titled “A Repairable Block Redundancy Scheme”. As such, the following description describes an overview of circuit features and functions with an emphasis on circuit implementation differences.
In the redundant block control circuit <b>600</b> of <figref idref="DRAWINGS">FIG. 6</figref>, the requested address is input from the address interface (not shown) and is separated into a bank address <b>602</b> <A23:A22> that selects one of the four banks and a block address <b>604</b> that also incorporates the extended address interface address line(s) <A24, A21:A16> (address lines <A15:A0> that select the requested data from the selected erase block are routed separately). The block address <b>604</b> is coupled to a decoder <b>606</b> that selects a row from a look up table <b>608</b> which contains a block redirect information entry for each erase block in the main Flash memory array (not shown). For a 256 conventionally addressed main array erase block Flash memory (280 total erase blocks with extended addressing), the look up table array <b>608</b> contains 70 rows (the number of blocks per bank plus the number of spare blocks per bank: 64 general use+6 redundant=70 actively utilized rows, plus 4 dummy rows for testing) of 64 bits (plus 4 dummy bits for testing) each. Each row contains redirect information for 4 erase blocks (the number of banks) of 8 bits each (each complementarily encoded in a space of 16 bits). The information from the selected row is coupled to a fuse set logic <b>612</b> via a 64 bit bus <b>610</b>. The bank address <b>602</b> is coupled to the fuse set logic <b>612</b> and selects one of the 4 erase block redirect information sections from the selected look up table row and loads it into internal SRAM latches (not shown) in the fuse set logic <b>612</b>. The selected 8 bits use 4 bits to encode the associated redundant block address used, 2 bits to encode the bank that the redundant block is in, 1 bit for an enable, and I bit for a disable.
If the encoded redirect from the look up table <b>608</b> is not enabled (the enable bit not set), the fuse set logic <b>612</b> allows the normal erase block address and access to continue unchanged by the normal block addressing decode circuitry (not shown). If the encoded redirect from the look up table <b>608</b> is enabled (the enable bit set and the disable bit not set), the fuse set logic <b>612</b> indicates an erase block redirect action by outputting a fuseout signal <b>626</b> and disables the normal erase block access. The fuse set logic then redirects the access by outputting the encoded redundant erase block address on the redundant erase block address bus <b>618</b> (Redblkadr<3:0>) and the redundant erase block bank select bus <b>620</b> (Redbnk<I:0>) selecting the indicated redundant erase block for access with the frcbnkslow_<b>624</b> signal (active low).
When an extended address (including A24) is received by the address interface (not shown) the block address <b>604</b> is coupled to look up table decoder <b>606</b> and to the redundant block decoder <b>614</b>. The look up table decoder <b>606</b> selects a row from the lookup table and loads it into the fuse set logic <b>612</b>, which selects the 8 bits that represent the addressed redundant erase block based on the input of the bank address <b>602</b> as detailed above. If the encoded redirect from the look up table <b>608</b> is not enabled (the enable bit not set), the fuse set logic <b>612</b> allows the extended address erase block access to continue by having the redundant block decoder <b>614</b> select the indicated redundant erase block for access by outputting the decoded redundant erase block address on the redundant erase block address bus <b>618</b> (Redblkadr<3:0>) and the redundant erase block bank select bus <b>620</b> (Redbnk<1:0>) and accessing them with the frcbnkslow_<b>624</b> signal (active low).
If the encoded redirect from the look up table <b>608</b> is enabled (the requested redundant erase block is damaged and has been repaired), the enable bit is set and the disable bit is not set. The fuse set logic <b>612</b> indicates an erase block redirect action by outputting a fuseset signal <b>626</b> that disables the extended erase block access of the redundant block decoder <b>614</b>. The fuse set logic then redirects the access by outputting the encoded redundant erase block address on the redundant erase block address bus <b>618</b> (Redblkadr<3:0>) and the redundant erase block bank select bus <b>620</b> (Redbrik<1:0>) selecting the indicated redundant erase block for access with the frcbnkslow_<b>624</b> signal (active low).
If the requested redundant erase block has been utilized to repair another defective erase block, the look up table <b>608</b> will return information that indicates that the erase block is disabled (disable bit is set) causing the fuse set logic <b>612</b> to output a disable signal <b>616</b>. In this situation the fuse set logic will not output a corresponding redundant erase block address on the redundant erase block address bus <b>618</b> (Redblkadr<3:0>) and the redundant erase block bank select bus <b>620</b> (Redbnk<1:0>). The disable signal <b>616</b> will also disable the redundant block decoder <b>614</b>. These actions effectively block all access, preventing inadvertent accessing of an erase block through two addresses. It is noted that any erase block in the Flash memory, and not just redundant erase blocks, can be so disabled by an appropriate entry in the look up table <b>608</b>.
The redundant block control circuit <b>600</b> of <figref idref="DRAWINGS">FIG. 6</figref> differs slightly in implementation from the incorporated reference to allow access into the extended address range of the reclaimed redundant erase blocks beyond the 256 erase block addresses of the main array. The look up table <b>608</b> incorporates 6 additional rows (70 rows instead of a comparable 64 rows) to include redirect information (disabling of access to prevent inadvertent access to a block used for a repair and repair block redirect information for a block that was repaired) for the now 24 addressable redundant erase blocks enabled by the addition of extended addressing (<A24>) that the decoder <b>606</b> has also been modified to incorporate, allowing selection of the extended table rows. The redundant block control circuit <b>600</b> of <figref idref="DRAWINGS">FIG. 6</figref> also includes a redundant block decoder <b>614</b> to decode the extended block address <A24, A23:A16> and access the selected redundant erase block, if it is not disabled or redirected by the fuse set logic <b>612</b> and look up table <b>608</b>.
<figref idref="DRAWINGS">FIG. 7</figref> is a simplified diagram of a redundant block control circuit <b>700</b> such as utilized with a Flash memory with merged memory array banks as that of <figref idref="DRAWINGS">FIG. 5</figref>. The redundant block control circuit <b>700</b> of <figref idref="DRAWINGS">FIG. 7</figref> is also detailed in the alternative approaches to conventional fuse set circuits and the issue of damaged erase block replacement described in the incorporated reference, titled “A Repairable Block Redundancy Scheme”. As such, the following description describes an overview of circuit features and functions with an emphasis on circuit implementation differences.
In the redundant block control circuit <b>700</b> of <figref idref="DRAWINGS">FIG. 7</figref>, the requested address is input from the address interface (not shown) and is separated into a bank address <b>702</b> <A23:A22> that selects one of the four banks and a block address <b>704</b> that also incorporates the extended address interface address line(s) <A24, A2I:A16> (address lines <A 15:A0> that select the requested data from the selected erase block are routed separately). The block address <b>704</b> is coupled to a decoder <b>706</b> that selects a row from a look up table <b>708</b> which contains a block redirect information entry for each erase block in the main Flash memory array (not shown). For a 256 conventionally addressed main array erase block Flash memory (280 total erase blocks with extended addressing), the look up table array <b>708</b> contains 70 rows (the number of blocks per bank: 70 general use erase blocks per bank=70 actively utilized rows, plus 4 dummy rows for testing) of 88 bits (plus 4 dummy bits for testing) each. Each row contains 4 groups of redirect information that correspond to 4 erase blocks. Each group of redirect information contains an absolute block address (9 bits), an enable bit, and a disable bit (for 11 bits in the redundant control circuit <b>700</b> of <figref idref="DRAWINGS">FIG. 7</figref> each, complementarily encoded in a space of 22 bits). The information from the selected row is coupled to a fuse set logic <b>712</b> via a 88 bit bus <b>710</b>. The bank address <b>702</b> is coupled to the fuse set logic <b>712</b> and selects one of the 4 erase block redirect information sections from the selected look up table row and loads it into internal SRAM latches (not shown) in the fuse set logic <b>712</b>.
If the encoded redirect from the look up table <b>708</b> is not enabled (the enable bit not set), the fuse set logic <b>712</b> allows the normal erase block access to continue via the input address. If the encoded redirect from the look up table <b>708</b> is enabled (the enable bit set and the disable bit not set). The fuse set logic <b>712</b> indicates an erase block redirect action by outputting an enable signal <b>714</b> (also known as a block redirect action) and disables the normal erase block access. The fuse set logic then redirects the access by outputting the encoded absolute redirect erase block address on the redirect erase block address bus <b>716</b> (ra<24:16>) selecting the indicated erase block for access as a replacement.
When an extended address (including A24) is received by the address interface (not shown), the extended block address <b>704</b> is coupled to look up table decoder <b>706</b> as with a normal address access described above. The look up table decoder <b>706</b> selects a row from the lookup table and loads it into the fuse set logic <b>712</b>, which selects the 11 bits that represent the addressed erase block based on the input of the bank address <b>702</b> as detailed above. If the encoded redirect from the look up table <b>708</b> is not enabled (the enable bit not set), the fuse set logic <b>712</b> allows the extended address erase block access to continue unchanged by the normal block addressing decode circuitry (not shown). If the encoded redirect from the look up table <b>708</b> is enabled (the requested extended address erase block is damaged and has been repaired; the enable bit is set and the disable bit is not set), the fuse set logic <b>712</b> indicates an erase block redirect action by outputting an enable signal <b>714</b> (redirect action) that disables the extended erase block access. The fuse set logic then redirects the access by outputting the encoded absolute erase block address on the redirect erase block address bus <b>716</b> (ra<24:16>) and selecting the indicated replacement erase block for access.
If the requested erase block has been utilized to repair or replace another defective erase block, the look up table <b>708</b> will return information that indicates that the erase block is disabled (disable bit is set) causing the fuse set logic <b>712</b> not to output a redirect enable signal <b>714</b>, disabling the requested access to the requested erase block. In this situation, however, the fuse set logic will not output a corresponding erase block address on the redirect erase block address bus <b>716</b> (ra<24:16>). The redirect enable signal <b>714</b> in combination with the fuse set logic <b>712</b> not outputting a redirect erase block address bus <b>716</b> signal effectively blocks all access, preventing inadvertent accessing of an erase block through two addresses.
It is noted that alternative manners of operating, accessing, and manufacturing non-volatile erase block memory devices utilizing embodiments of the present invention are possible and should be apparent to those skilled in the art with the benefit of the present disclosure.
CONCLUSION
An improved non-volatile erase block memory device apparatus and method has been described that incorporates an improved addressing scheme to provide for extended addressing allowing redundant erase blocks that are not utilized to repair general use erase blocks of the main memory array to be accessed and utilized as additional storage space by an end user. The additional storage space formed by the unused redundant erase blocks and the specified storage space of the main memory array is presented to the end user as a single contiguous address space. Additionally, the redundant erase blocks can be utilized to repair any damaged erase block in the memory array of the non-volatile erase block memory or Flash memory device regardless of bank placement.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.
Contents6
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8554983B2 | Cited by | United States of America | Search report |
| US2009300277A1 | Cited by | United States of America | Pre-grant |
| US2001003837A1 | Cites | United States of America | Applicant |
| US2001030897A1 | Cites | United States of America | Applicant |
| US2002012282A1 | Cites | United States of America | Applicant |
| US2002027264A1 | Cites | United States of America | Applicant |
| US2002157048A1 | Cites | United States of America | Applicant |
| US2003031052A1 | Cites | United States of America | Applicant |
| US2007038800A1 | Cites | United States of America | Applicant |
| US5283790A | Cites | United States of America | Applicant |
| US5742934A | Cites | United States of America | Applicant |
| US5925138A | Cites | United States of America | Applicant |
| US5974544A | Cites | United States of America | Applicant |
| US6021459A | Cites | United States of America | Applicant |
| US6034891A | Cites | United States of America | Applicant |
| US6055611A | Cites | United States of America | Applicant |
| US6081463A | Cites | United States of America | Applicant |
| US6084807A | Cites | United States of America | Applicant |
| US6175891B1 | Cites | United States of America | Applicant |
| US6246615B1 | Cites | United States of America | Applicant |
| US6504768B1 | Cites | United States of America | Applicant |
| US6507885B2 | Cites | United States of America | Applicant |
| US6625081B2 | Cites | United States of America | Applicant |
| US6671775B2 | Cites | United States of America | Applicant |
| US6766409B2 | Cites | United States of America | Applicant |
| US7123512B2 | Cites | United States of America | Applicant |
| JPH03259460A | Cites | Japan | Applicant |
| US20010003837A1 | Cites | United States of America | Third party observation |
| US20010030897A1 | Cites | United States of America | Third party observation |
| US20020012282A1 | Cites | United States of America | Third party observation |
| US20020027264A1 | Cites | United States of America | Third party observation |
| US20020157048A1 | Cites | United States of America | Third party observation |
| US20030031052A1 | Cites | United States of America | Third party observation |
| US20070038800A1 | Cites | United States of America | Third party observation |
| JP3259460 | Cites | Japan | Third party observation |
16 members in 1 office
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 19972502 | United States of America | A | |
| 19972502 | United States of America | A | |
| 58188706 | United States of America | A | |
| 58188706 | United States of America | A | |
| 38705809 | United States of America | A | |
| 10199725 | – | – | – |
| 11581887 | – | – | – |
| US20020199725 | – | – | – |
| US20060581887 | – | – | – |
| US20090387058 | – | – | – |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| US2004015674A1 | United States of America | A1 | |
| US2005276121A1 | United States of America | A1 | |
| US2005276130A1 | United States of America | A1 | |
| US2005278481A1 | United States of America | A1 | |
| US7123512B2 | United States of America | B2 | |
| US7154780B2 | United States of America | B2 | |
| US7154781B2 | United States of America | B2 | |
| US7154782B2 | United States of America | B2 | |
| US2007038800A1 | United States of America | A1 | |
| US7546440B2 | United States of America | B2 | |
| US2010030949A1 | United States of America | A1 | |
| US7908427B2This record | United States of America | B2 | |
| US2011238894A1 | United States of America | A1 | |
| US8145832B2 | United States of America | B2 | |
| US2012215967A1 | United States of America | A1 | |
| US9213630B2 | United States of America | B2 |
37 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Examiner's AmendmentMEX.A | MEX.A | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Terminal Disclaimer FiledDIST | DIST | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Filing Receipt - UpdatedFLRCPT.U | FLRCPT.U | |
| Preliminary AmendmentA.PE | A.PE | |
| Payment of additional filing fee/PreexamFLFEE | FLFEE | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Notice Mailed--Application Incomplete--Filing Date AssignedINCD | INCD | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS |
30 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 07908427
- Publication, DOCDB
- 7908427
- Publication, EPODOC
- US7908427
- Application
- 12387058
- Application, DOCDB
- 38705809
- Application, EPODOC
- US20090387058
Titles
- English
- Non-volatile memory devices and control and operation thereof
Patent term adjustment
- A delay
- +37 daysthe office missed an examination deadline
- Net adjustment
- 37 days
Classification
- CPC, 5
- G06F12/0246
- G11C16/04
- G11C29/76
- G11C29/808
- G11C29/82
- IPC, 3
- G06F13 00
- G06F12 02
- G11C29 00
- USPC, 3
- 711103000
- 365230030
- 711002000