A non-volatile memory device includes an array of non-volatile memory cells. The memory has control circuitry to apply erase voltage pulses to the non-volatile memory cells and perform erase verification operations. A pulse counter is coupled to count the erase pulses applied to the non-volatile memory cells. A programmable erase pulse register has been described that indicate a number of initial erase pulses that can be applied to the non-volatile memory cells during an initial verification operation prior to performing a scan operation of the memory block. The control circuitry can also apply additional erase pulses following subsequent erase verification operations. A second programmable erase pulse register is provided to indicate a number of subsequent erase pulses that can be applied to the non-volatile memory cells before performing additional scan operations.
|
16. A method of manufacturing a non-volatile memory device comprising:
testing a plurality of non-volatile memory devices; determining a first number of erase pulses required to erase a majority of programmed memory cells in the non-volatile memory devices; and programming a first non-volatile register in the non-volatile memory device to store data indicating the first number.
7. A method of erasing a non-volatile memory device comprising:
performing a memory erase verification operation; reading a non-volatile register; terminating the memory erase verification operation, in response to the non-volatile register, after applying x erase pulses to memory cells; and performing a scan operation to read a state of memory cells following the termination.
20. A method of erasing a flash memory device comprising:
storing a charge a floating gate of memory cells; reading a first non-volatile register; performing a scan operation when x erase pulses are applied to the floating gate of memory cells during a verification operation; reading a second non-volatile register; and performing a second scan operation when y erase pulses are applied to the floating gate of memory cells during a verification operation.
13. A method of erasing a flash memory device comprising:
reading a first non-volatile register; applying x erase pulses to memory cells during a first erase verification operation; terminating the first erase verify operation in response to the first non-volatile register; reading a second non-volatile register; applying y erase pulses to memory cells during a second erase verification operation; and terminating the second erase verify operation in response to the second non-volatile register.
23. A non-volatile memory device comprising:
an array of non-volatile memory cells; control circuitry to apply erase voltage pulses to the non-volatile memory cells and perform erase verification and memory scan operations; a pulse counter coupled to count the erase pulses applied to the non-volatile memory cells; and a programmable erase pulse register coupled to the control circuitry to indicate a plurality of erase pulses to be applied to the non-volatile memory cells during the erase verification operation prior to performing the memory scan operation.
1. A non-volatile memory device comprising:
an array of non-volatile memory cells; a programmable erase pulse register to store x data; and control circuitry to perform erase operations on the array of non-volatile memory cells, wherein the erase operations comprise applying an erase voltage pulse to the non-volatile memory cells and performing an erase verification, the control circuitry terminates the erase verification when x erase pulses are applied to the array and initiates a scan operation of the memory cells to determine locations of un-erased memory cells.
10. A method of erasing a non-volatile memory device comprising:
performing a memory erase verification operation; reading a non-volatile register; terminating the memory erase verification operation, in response to the non-volatile register, after applying x erase pulses to memory cells; performing a scan operation to read a state of memory cells following the termination; performing a second memory erase verification operation; reading a second non-volatile register; and terminating the second erase verify operation, in response to the second non-volatile register, after applying y erase pulses to memory cells.
5. A flash memory comprising:
an array of non-volatile memory cells arranged in erasable blocks; a first programmable erase pulse register to store first data; a second programmable erase pulse register to store second data; and control circuitry to perform first and second erase verification operations on the non-volatile memory cells, wherein the control circuitry terminates the first erase verification when x erase pulses are applied to the array in response to the first data, and the control circuitry terminates the second erase verification when y erase pulses are applied to the array in response to the second data.
17. A method of manufacturing a non-volatile memory device comprising:
testing a plurality of non-volatile memory devices; determining a first number of erase pulses required to erase a majority of programmed memory cells in the non-volatile memory devices; programming a first non-volatile register in the non-volatile memory device to store data indicating the first number; determining a second number of subsequent erase pulses required to erase a majority of partially erased memory cells in the non-volatile memory devices; and programming a second non-volatile register in the non-volatile memory device to store data indicating the second number.
4. A non-volatile memory device comprising:
an array of non-volatile memory cells; a programmable erase pulse register to store x data; and control circuitry to perform erase operations on the array of non-volatile memory cells, wherein the erase operations comprise applying an erase voltage pulse to the non-volatile memory cells and performing an erase verification, the control circuitry terminates the erase verification when x erase pulses are applied to the array, wherein the erase operations further comprise performing an additional erase verification, the non-volatile memory device further comprises a second programmable erase pulse register to store y data, wherein the second programmable erase pulse register is coupled to the control circuitry to instruct the control circuitry to terminate the additional erase verification when y erase pulses are applied to the array.
24. A non-volatile memory device comprising:
an array of non-volatile memory cells; control circuitry to apply erase voltage pulses to the non-volatile memory cells and perform erase verification and memory scan operations; a pulse counter coupled to count the erase pulses applied to the non-volatile memory cells; a programmable erase pulse register coupled to the control circuitry to indicate a plurality of erase pulses to be applied to the non-volatile memory cells during the erase verification operation prior to performing the memory scan operation; wherein the control circuitry applies additional erase pulses following the memory scan operation, the non-volatile memory device further comprises a second programmable erase pulse register coupled to the control circuitry to indicate a second plurality of erase pulses to be applied to the non-volatile memory cells prior to performing a second memory scan operation.
2. The non-volatile memory device of
3. The non-volatile memory device of
6. The flash memory of
8. The method of
11. The method of
12. The method of
14. The method of
15. The method of
18. The method of
19. The method of
21. The method of
22. The method of
|
|||||||||||||||||||||||||||||
The present invention relates generally to non-volatile memories and in particular the present invention relates to erase operations in a non-volatile memory device.
Memory devices are typically provided as internal storage areas in the computer. There are several different types of memory. One type of memory is random access memory (RAM) that is typically used as main memory in a computer environment. Most RAM is volatile, which means that it requires a steady flow of electricity to maintain its contents. Computers often contain a small amount of read-only memory (ROM) that holds instructions for starting up the computer. 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. Like other types of ROM, EEPROM is traditionally not as fast as RAM. 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 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 that includes a large number of memory cells arranged in a row and column fashion. Each memory cell includes a floating gate field-effect transistor capable of holding a charge. The cells are usually grouped into erasable blocks. Each of the memory cells can be electrically programmed on a random basis by charging the floating gate. The charge can be removed from the floating gate by an erase operation. Thus, the data in a cell is determined by the presence or absence of the charge in the floating gate.
To program a memory cell, a high positive voltage Vg is applied to the control gate of the cell. In addition, a moderate positive voltage is applied to the drain (Vd) and the source voltage (Vs) and the substrate voltage (Vsub) are at ground level. These conditions result in the inducement of hot electron injection in the channel region near the drain region of the memory cell. These high-energy electrons travel through the thin gate oxide towards the positive voltage present on the control gate and collect on the floating gate. The electrons remain on the floating gate and function to reduce the effective threshold voltage of the cell as compared to a cell that has not been programmed.
In flash memories, blocks of memory cells are erased as in groups. This is achieved by putting a negative voltage on the wordlines of an entire block and coupling the source connection of the entire block to Vcc (power supply), or higher. This creates a field that removes electrons from the floating gates of the memory elements. In an erased state, the memory cells can be activated using a lower control gate voltage.
A common problem with flash memory cells is over-erasure. A cell that is erased past a certain point becomes depleted and cannot be fully turned off. That is, too many electrons are removed from the floating gate, and the memory cell floating gate voltage becomes more positive than the threshold of the cell. The cell, therefore, cannot be turned off even if the control gate is at a ground potential. An over-erased memory cell can cause all memory cells coupled to the same column to be read as erased cells, even though they may be programmed.
In current flash memory cells, a pre-program cycle is performed on the block of memory cells prior to performing an erase cycle. As such, all the cells in a block are first programmed. The cells are then erased until all the cells are completely erased. A threshold voltage (Vt) distribution tightening operation is performed following the erase operation to recover memory cells that are over erased. As flash memory devices increase in memory cell density, the time needed to perform a complete erase operation also increases. In flash memories, a substantial part of the erase cycle time is spent on the erase cycle. Out of a typical 1-second erase operation about one-half of the time is spent on pre-programming the memory cells, and the other half is used on the erase cycle. An erase pulse requires about 10ms, while an erase verification operation requires less than 1 μs. With the density of flash memories increasing, the total time to verify all the locations is becoming a substantial part of the cycle. For instance, in a 64 Megabit flash device organized in 16 erasable blocks, there are four million locations that need to be verified during an erase operation. A typical 1 μs time for each verify cycle results in a verify time of 4 seconds. Further, memory cells are being verified for levels that are much tighter than their regular read levels. Thus, they need to be sensed much slower. For instance, a normal read is verifying that an erased cell has a threshold level (Vt) that is less than 4.5V. During erase verification, the memory verifies that the cell has a Vt that is less than 3V. This margin is smaller than prior memories and is more susceptible to noise.
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 a flash memory with an improved process for erasing and verifying memory cells.
The above-mentioned problems with non-volatile memory devices and other problems are addressed by the present invention and will be understood by reading and studying the following specification.
In one embodiment, a non-volatile memory device comprises an array of non-volatile memory cells, a programmable erase pulse register to store X data, and control circuitry to perform erase operations on the array of non-volatile memory cells. The erase operations comprise applying an erase voltage pulse to the non-volatile memory cells and performing an erase verification. The control circuitry terminates the erase verification when X erase pulses are applied to the array.
In another embodiment, a flash memory comprises an array of non-volatile memory cells arranged in erasable blocks, a first programmable erase pulse register to store first data, a second programmable erase pulse register to store second data, and control circuitry to perform first and second erase verification operations on the non-volatile memory cells. The control circuitry terminates the first erase verification when X erase pulses are applied to the array in response to the first data, and the control circuitry terminates the second erase verification when Y erase pulses are applied to the array in response to the second data.
A method of erasing a non-volatile memory device comprises performing a memory erase verification operation, reading a non-volatile register, and terminating the memory erase verification operation, in response to the non-volatile register, after applying X erase pulses to memory cells.
In yet another embodiment, a method of erasing a flash memory device comprises reading a first non-volatile register, applying X erase pulses to memory cells during a first erase verification operation, terminating the first erase verify operation in response to the first non-volatile register, reading a second non-volatile register, applying Y erase pulses to memory cells during a second erase verification operation, and terminating the second erase verify operation in response to the first non-volatile register.
A non-volatile memory device is provided that comprises an array of nonvolatile memory cells, control circuitry to apply erase voltage pulses to the non-volatile memory cells and perform erase verification and memory scan operations, and a pulse counter coupled to count the erase pulses applied to the non-volatile memory cells. A programmable erase pulse register is coupled to the control circuitry to indicate a plurality of erase pulses to be applied to the non-volatile memory cells during the erase verification operation prior to performing the memory scan operation.
In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings, which 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.
Referring to
The memory includes a pulse counter circuit to keep track of voltage pulses applied to the memory cells during erase and programming operations. The pulse counter is typically used to monitor a total number of pulses applied. In an embodiment of the present invention, the pulse counter is used in conjunction with an pulse register to improve erase operation performance, as explained below.
The memory cell array of a flash memory is typically arranged in erasable blocks. In one embodiment of the present invention, the erasable blocks are further arranged in sub-blocks. For example, a 16 Meg memory array can be arranged in four erasable blocks of 4 Meg where each of these blocks contain 16 sub-blocks.
During a typical prior art erase operation, an erase pulse, or series of erase pulses, is coupled to an addressed array block. The memory internal control, or state machine, then steps through each memory cell of the block to determine if data in the cells are erased (logical 1). The control circuitry stops verifying when it reaches a memory cell location that is not erased. The memory then applies another erase pulse to the block and begins another verification operation at the first memory cell location of the block. This process is repeated until all cells in the erasable block are verified as being in an erased state. A problem with this prior art erase/verify operation is that the slowest bit in the block dictates the level of erasure of all the memory cells in the block. Further, repeated erase pulses can over-erase a memory cell by removing too much charge from its floating gate. In an example memory, the fastest memory cell requires 5 erase pulses to fully erase the cell, typical memory cells require 10 pulses to erase, and the slowest memory cell in an erasable block requires 30 pulses to erase. With the prior art erase algorithm, the memory cells that are erased after 5 pulses are subjected to an extra 25 erase pulses that could potentially make them over-erased.
The present invention performs an erase operation on a block of memory cells uses a forward-looking scan algorithm. After applying one or more initial erase pulses to the memory block, the memory begins checking the memory cells in the block to determine if the cells are erased. As explained below, the memory may not begin verification until a predetermined number of erase pulses have been applied to the memory array.
Referring to
The present invention also contains an address verify register that is used to manage the erase verification operation. Referring to
After the initial erase pulses are applied, a verification of each sub-block is performed (264). The verification operation includes reading the memory cells of the sub-block to determine that the cells have been erased. Memory cells are considered erased if they have a floating gate charge (threshold voltage) that is below a predetermined level. When a programmed memory cell is located in a sub-block during the verification operation, the memory programs a register bit corresponding to the sub-block to a first state, such as logic 0 (266). It will be appreciated that the register may be pre-programmed to the first state and a subsequent program operation is not required. After locating a cell that is not erased, the memory jumps to the next sub-block of that erasable block. The memory verifies the next sub-block and if it finds all the cells in that block are erased, the corresponding location of the sub-block register is set to a second state (such as logic 1) indicating that the sub-block does not require any further erase pulses. The memory control then continues to verify all of the sub-blocks of the erasable block.
After all of the sub-blocks in an erase block have been verified, one or more additional erase pulses are applied to the sub-blocks that have a register bit indicating that all of the memory cells have not been erased (268). Additional verify operations are then performed on the sub-blocks that have a register bit programmed to the first state. That is, sub-blocks that do not contain programmed memory cells are not subjected to additional erase pulses. As such, the slowest cell to erase in a block only subjects a small sub-block of memory cells to possible over-erasure. The erase pulses and verification operations are repeated until all of the sub-blocks are fully erased, or a maximum number of erase pulses have been applied.
The threshold voltage (Vt) distribution of the memory cells of the present flash memory, relative to prior flash memory cells, is much tighter. Further, erasing non-volatile memory cells to a very negative threshold level and then bringing the threshold level back to a higher level using recovery methods is not good for memory cell reliability. The present invention provides for a better overall threshold distribution and improves both the reliability and performance of the erase operation. The above described erase/verify operation can reduce the time needed to perform an erase operation by using registers to identify a condition of the sub-blocks. The erase operation can be further improved by tracking a location of the programmed memory cells.
The present invention provides an address pointer for each of the sub-blocks of the memory array. The address pointers are used in conjunction with the memory address counter that is used to step throughout the memory array location. During the verification and scan operations, the memory advances through each memory location and checks for proper erasure. If the memory finds a location that is not erased, it copies the content of the address counter into the address pointer for that sub-block. Since there is at least one location in this sub-block that needs further erase pulses, there is no need to continue verifying or scanning that block. As such, the state machine issues a command to jump to the next sub-block. The memory then jumps to the next sub-block to continue the proper operation.
The contents of the address pointer for the next sub-block are copied to the address counter. The address pointer is initially set to a beginning address of its corresponding sub-block. The sub-block verification or scan continues until all the cells of the block have been checked by the erase verification operation. On subsequent checks of a sub-block, the memory begins at the location of the first programmed memory cell of the previous verification check. That is, the address pointer is copied to the address counter as the start location for each sub-block. When the full sub-block has been erased, the sub-block register can be set, as explained above, to indicate that further erase operations are not required. By re-starting the address location from the last programmed location and jumping to the next sub-block when a programmed cell has been detected within a sub-block, the present invention reduces overhead time.
As explained above, the flash memory applies an initial erase pulse to the memory block prior to performing the verification operation. As explained above, during the verification operation additional erase pulses are applied to the memory block. It will be appreciated that a memory cell encountered early in the verification operation could result in numerous erase pulses being applied to the entire block. The present invention reduces the risk that a memory cell subjects the memory block to erases pulses that could result in over-erasure, by using programmable pulse registers.
The present invention provides non-volatile register 240 that can be programmed to instruct the memory to begin scan operations when a predetermined number of erase pulses have been applied to the memory block. For example, a statistical evaluation may indicate that X-pulses will erase a significant number of the memory cells. When the predetermined number of pulses (X) has been applied to the block during a verification operation, the memory begins the first scan operation. The register can be programmed based upon a statistical analysis of the memory device during fabrication. Likewise, the register can be modified after fabrication if the memory device characteristics change.
A memory device of the present invention can also include a second non-volatile register 250. The second register defines the number of erase pulses that are applied to the memory array sub-blocks that contain non-erased memory cells. As explained above, only sub-blocks that require additional erase pulses are subjected to additional erase pulses during verification operations. The second register is used to initiate subsequent scan operations when conducting the next verification operations of the sub-blocks. The contents of the register can be programmed based upon testing or statistical analysis, as explained above. The contents of the second register are compared to the pulse counter during verification operations. One skilled in the art with the benefit of the present disclosure will appreciate that additional registers, or processing circuitry, can be used to control the number of erase pulses between each verification operation. For example, it may be desired to apply up to X-erase pulses during the second erase verification operation, while less pulses (such as up to X-1) are desired during a third erase verification operation.
Referring to
A non-volatile memory device has been described that includes an array of non-volatile memory cells. The memory has control circuitry to apply erase voltage pulses to the non-volatile memory cells and perform erase verification operations. A pulse counter is coupled to count the erase pulses applied to the non-volatile memory cells. A programmable erase pulse register has been described that indicate a number of initial erase pulses that can be applied to the non-volatile memory cells during an initial verification operation prior to performing a scan operation of the memory block. The control circuitry can also apply additional erase pulses following subsequent erase verification operations. A second programmable erase pulse register is provided to indicate a number of subsequent erase pulses that can be applied to the non-volatile memory cells before performing additional scan operations.
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.
| Patent | Priority | Assignee | Title |
| 6650571, | Aug 24 2001 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Non-volatile memory with block erase |
| 6871258, | Jun 05 2001 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | METHOD FOR ERASING AN ELECTRICALLY ERASABLE NONVOLATILE MEMORY DEVICE, IN PARTICULAR AN EEPROM-FLASH MEMORY DEVICE, AND AN ELECTRICALLY ERASABLE NONVOLATILE MEMORY DEVICE, IN PARTICULAR AN EEPROM-FLASH MEMORY DEVICE |
| 6941411, | Aug 21 2002 | Round Rock Research, LLC | Non-contiguous address erasable blocks and command in flash memory |
| 7069471, | Oct 18 2002 | Oracle America, Inc | System PROM integrity checker |
| 7260004, | Jan 12 2006 | International Busniess Machines Corporation | Method and apparatus for increasing yield in a memory circuit |
| 7277980, | Aug 21 2002 | Round Rock Research, LLC | Non-contiguous address erasable blocks and command in flash memory |
| 7352639, | Jan 12 2006 | International Business Machines Corporation | Method and apparatus for increasing yield in a memory circuit |
| 7532520, | Jul 20 2006 | Kioxia Corporation | Semiconductor memory device and control method of the same |
| 7768835, | Aug 09 2006 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Non-volatile memory erase verify |
| 9928902, | Dec 15 2015 | Samsung Electronics Co., Ltd. | Methods of operating storage devices |
| Patent | Priority | Assignee | Title |
| 5568426, | Jul 26 1995 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Method and apparatus for performing memory cell verification on a nonvolatile memory circuit |
| 5579262, | Feb 05 1996 | Winbond Electronics Corporation | Program verify and erase verify control circuit for EPROM/flash |
| 5581503, | Mar 17 1992 | Renesas Electronics Corporation | Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein |
| 5583809, | Sep 20 1994 | Renesas Electronics Corporation | Semiconductor memory capable of reducing erase time |
| 5600595, | Sep 12 1994 | NEC Electronics Corporation | Non-volatile semiconductor device with an electrically erasable and programmable read only memory showing an extremely high speed batch erasure operation |
| 5615159, | Nov 28 1995 | Round Rock Research, LLC | Memory system with non-volatile data storage unit and method of initializing same |
| 5621687, | May 31 1995 | Intel Corporation | Programmable erasure and programming time for a flash memory |
| 5627784, | Jul 28 1995 | Round Rock Research, LLC | Memory system having non-volatile data storage structure for memory control parameters and method |
| 5677879, | Jul 26 1995 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Method and apparatus for performing memory cell verification on a nonvolatile memory circuit |
| 5677885, | Nov 28 1995 | Round Rock Research, LLC | Memory system with non-volatile data storage unit and method of initializing same |
| 5801985, | Jul 28 1995 | Round Rock Research, LLC | Memory system having programmable control parameters |
| 5847996, | Feb 09 1994 | SanDisk Technologies LLC | Eeprom with split gate source side injection |
| 5880996, | Jul 28 1995 | Round Rock Research, LLC | Memory system having non-volatile data storage structure for memory control parameters and method |
| 5907700, | Oct 24 1994 | Intel Corporation | Controlling flash memory program and erase pulses |
| 5944837, | Jun 19 1997 | Intel Corporation | Controlling flash memory program and erase pulses |
| 6026465, | Jun 03 1994 | Intel Corporation | Flash memory including a mode register for indicating synchronous or asynchronous mode of operation |
| 6104667, | Jul 29 1999 | SOCIONEXT INC | Clock control circuit for generating an internal clock signal with one or more external clock cycles being blocked out and a synchronous flash memory device using the same |
| 6222772, | Dec 26 1997 | Samsung Electronics Co., Ltd. | Methods of performing sector erase operations on non-volatile semiconductor memory devices |
| 6266282, | Aug 13 1998 | Samsung Electronics Co., Ltd.; SAMSUNG ELECTRONICS CO , LTD | Write method of synchronous flash memory device sharing a system bus with a synchronous random access memory device |
| JP148877, |
| Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
| Mar 05 2001 | ROOHPARVAR, FRANKIE F | Micron Technology, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 011610 | /0469 | |
| Mar 09 2001 | Micron Technology, Inc. | (assignment on the face of the patent) | / | |||
| Dec 23 2009 | Micron Technology, Inc | Round Rock Research, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 023786 | /0416 |
| Date | Maintenance Fee Events |
| Feb 17 2006 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
| Mar 03 2010 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
| Feb 19 2014 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
| Date | Maintenance Schedule |
| Sep 17 2005 | 4 years fee payment window open |
| Mar 17 2006 | 6 months grace period start (w surcharge) |
| Sep 17 2006 | patent expiry (for year 4) |
| Sep 17 2008 | 2 years to revive unintentionally abandoned end. (for year 4) |
| Sep 17 2009 | 8 years fee payment window open |
| Mar 17 2010 | 6 months grace period start (w surcharge) |
| Sep 17 2010 | patent expiry (for year 8) |
| Sep 17 2012 | 2 years to revive unintentionally abandoned end. (for year 8) |
| Sep 17 2013 | 12 years fee payment window open |
| Mar 17 2014 | 6 months grace period start (w surcharge) |
| Sep 17 2014 | patent expiry (for year 12) |
| Sep 17 2016 | 2 years to revive unintentionally abandoned end. (for year 12) |