A multi-level cell (mlc) memory array may be programmed using a programming circuit having a binary input register to store data to be input into the mlc array and a register to store a programming vector, where each element in the programming vector corresponds to a charge storage region of an mlc in the array. A controller may map pairs of bits from the input register to elements in the programming vector such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to at least one specific program state associated with the programming vector.
|
8. A method of programming a multi-level cell (“MLC”) memory array comprising:
mapping a first pair of bits from a binary input register to a first element in a programming vector, wherein each element in the programming vector corresponds to a single charge storage region of an mlc in said array.
1. A method of computing a programming vector for a multi-level cell (mlc) memory array comprising:
mapping a first pair of bits from a binary input register to a first element in a programming vector, wherein each element in the programming vector corresponds to a single charge storage region of an mlc in said memory array.
18. A multi-level cell (“MLC”) memory array programming circuit comprising:
a binary input register to store data to be input into an mlc array;
a register to store a programming vector, where each element in the programming vector corresponds to a charge storage region of an mlc in the array; and
a controller to map a first pair of bits from said input register to a first element in the programming vector.
2. The method according to the
3. The method according to
4. The method according to
5. The method according to
6. The method according to
7. The method according to
9. The method according to the
10. The method according to
11. The method according to
12. The method according to
13. The method according to
14. The method according to
15. The method according to
16. The method according to
17. The method according to
19. The circuit according to the
20. The circuit according to
21. The circuit according to
22. The circuit according to
23. The circuit according to
24. The circuit according to
25. The circuit according to
26. The circuit according to
27. The circuit according to
|
The present application claims priority from U.S. provisional patent application Ser. No. 60/443,871, filed Jan. 31, 2003, which is hereby incorporated by reference in its entirety.
The present invention generally relates to the field of non-volatile memory (“NVM”) cells. More specifically, the present invention relates to a method and a system for using a programming register for the programming of multi-level memory cells (“MLC”).
Non-volatile memory (“NVM”) cells may come in a large variety of structures, including but not limited to Poly-silicon floating gate and Nitride Read Only Memory (“NROM”). NVM cells are generally operated (e.g. programmed, read, and erased) using one or more reference cells. Each of the one or more reference cells may be compared against a memory cell being operated in order to determine a condition or state of the memory cell being operated. As is well known, an NVM cell's state may be defined and determined by its threshold voltage, the gate to source voltage at which the cell begins to significantly conduct current. Different threshold voltage ranges are associated with different states, and a NVM cell's threshold voltage level is correlated to the amount of charge stored in a charge storage region of the cell.
Generally, in order to determine whether an NVM cell is at a specific state, for example erased, programmed, or programmed at one of multiple possible program states within a multi-level cell (“MLC”), the cell's threshold level is compared to that of a reference cell whose threshold level is preset at a voltage level associated with the specific state being tested for. Comparing the threshold voltage of an NVM cell to that of a reference cell is often accomplished using a sense amplifier. Various techniques for comparing an NVM's threshold voltage against those of one or more reference cells, in order to determine the state(s) of the NVM's cells, are well known.
When programming an NVM cell to a desired state, after each programming pulse, the NVM cell's threshold voltage may be compared against a reference cell having a reference threshold voltage set at a voltage level defined as the “program verify” level for the given program state. The reference cell with a threshold voltage set at a voltage level defined as a “program verify” level for the given state may be compared to the threshold voltage of the cell being programmed (also referred to as being charged) in order to determine whether a charge storage area or region of the cell being programmed has been sufficiently charged so as to be considered “programmed” at the desired state.
If after a programming pulse has been applied to a cell, it has been determined that a cell has not been sufficiently charged in order for its threshold voltage to be at or above a “program verify” level (i.e. the threshold voltage of the relevant reference cell) associated with the target program state, the cell is typically hit with another programming pulse to try to inject more charge into its charge storage region. Once a cell's threshold value reaches or exceeds the “program verify” level to which it is being programmed, no further programming pulse should be applied to the cell.
Typically, a group of cells in an MLC array are programmed at the same time. Sometimes all the cells of a set being programmed are being programmed to the same program state, in other cases, a portion of the set being programmed is programmed to one program state while another portion of the set is programmed to a second state.
Since not all cells have the same susceptibility to being programmed, cells may not program at the same rate. Some cells reach a target program state before other cells in the same set of cells that are being programmed together. As a cell reaches a target program state, the cell may be masked and may not receive any more programming pulses. Thus, in subsequent programming cycles, only cells which have not reached their target programming state, may continue to receive programming pulses until each cell has reached its respective target program state. Algorithms for programming MLC cells are known. U.S. patent application Ser. No. 10/354,050, filed on Jan. 30, 2003, assigned to the same assignee as the present invention, teaches several programming algorithms for MLC memory arrays. The specification of U.S. patent application Ser. No. 10/354,050, is hereby incorporated by reference in its entirety into the present application. Any programming algorithm, presently known or to be devised in the future, is applicable to the present invention.
There is a need in the field of semiconductors for improved systems, circuits and methods for the programming of NVM cells and more particularly for programming MLC's.
According to some embodiments of the present invention, a multi-level cell (“MLC”) memory array may be programmed using a programming circuit having a binary input register to store binary data to be input into the MLC array and a register to store a programming vector, where each element in the programming vector corresponds to an MLC in the array. A controller may map pairs of bits from the input register to elements in the programming vector, such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to a specific program state or set of program states associated with the programming vector.
According to some embodiments of the present invention, a programming vector may be associated with only one program level or state, while in other embodiments of the present invention, a programming vector may be associated with two or more program levels or states.
As part of some embodiments of the present invention, the controller may map pairs of bits to a second programming vector associated with a second program state. Furthermore, a separate programming vector may be mapped for each program state of the MLC.
According to some further embodiments of the present invention, the controller may apply programming pulses to each MLC in the array corresponding to vector elements whose values are set at a “program” value. The controller may reset each element of a vector to a “do-not-program” value once the MLC corresponding to the vector element has been fully programmed to the program state with which the given programming vector is associated.
According to some embodiments of the present invention, each MLC may include multiple charge storage regions (e.g. dual bit NROM cell). In cases where an MLC array is comprised of cells having multiple charge storage regions, each charge storage region may be treated as a single MLC.
In some embodiments of the present invention, the controller only maps one programming vector at a time. In other embodiments of the present invention, the controller may map multiple programming vectors, where each vector is associated with a specific program state. However, in further embodiments of the present invention, a programming vector may be associated with more than one program state. In one embodiment of the present invention, a programming vector may be associated with a first programming state and may be further associated with one or more higher programming states corresponding to higher programming levels (or threshold voltages).
In some embodiments of the present invention, the controller may apply programming pulses to the MLC array using only one programming vector at a time. In other embodiments of the present invention, the controller may apply programming pulses to the MLC array using multiple programming vectors at the same time, where each vector is associated with a different program level or different set of program levels. In some embodiments of the present invention, when an MLC reaches a target program state during programming, the MLC's corresponding programming vector element may be reset to a “do-not-program” value.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following non limiting detailed description when read with the accompanied drawings in which:
It will be appreciated that for simplicity and clarity of these non-limiting illustrations, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods and procedures have not been described in detail so as not to obscure the present invention.
In the field of Multi Level Cells (MLCs), the “11” state of an MLC is sometimes used to described the erased state of the MLC. However, for the purposes of illustration, with reference to some embodiments of the present invention, throughout the specification and the claims of the present invention, the “11” state of an MLC and similar terms may be used to describe a program state of an MLC. It should be noted, that the use of the term “11” to describe a program state of an MLC is for illustration purposes only, and is not intended to limit the scope of the present application, nor to surrender or limit any subject matter whatsoever.
According to some embodiments of the present invention, a multi-level cell (“MLC”) memory array may be programmed using a programming circuit having a binary input register to store binary data to be input into the MLC array and a register to store a programming vector, where each element in the programming vector corresponds to an MLC in the array. A controller may map pairs of bits from the input register to elements in the programming vector, such that mapping a pair of bits to an element of the programming vector may set the vector element to a “program” value if the pair of bits corresponds to a specific program state associated with the programming vector.
According to some embodiments of the present invention, a programming vector may be associated with only one program level or state, while in other embodiments of the present invention, a programming vector may be associated with two or more program levels or states.
As part of some embodiments of the present invention, the controller may map pairs of bits to a second programming vector associated with a second program state. A separate programming vector may be mapped for each program state of the MLC. However, in further embodiments of the present invention, a programming vector may be associated with more than one program state. In one embodiments of the present invention a programming vector may be associated with a first programming state and may be further associated with one or more higher programming states corresponding to higher programming levels (or threshold voltages).
According to some further embodiments of the present invention, the controller may apply programming pulses to each MLC in the array corresponding to vector elements whose values are set at a “program” value. The controller may reset each element of a vector to a “do-not-program” value once the MLC corresponding to the vector element has been fully programmed to the program state with which the given programming vector is associated.
In some embodiments of the present invention, the controller only maps one programming vector at a time. In other embodiments of the present invention, the controller may map multiple programming vectors, where each vector is associated with a specific program state.
According to some embodiments of the present invention, each MLC may include multiple charge storage regions (e.g. dual bit NROM cell). In cases where an MLC array is comprised of cells having multiple charge storage regions, each charge storage region may be treated as a single MLC.
In some embodiments of the present invention, the controller may apply programming pulses to the MLC array using only one programming vector at a time. In other embodiments of the present invention, the controller may apply programming pulses to the MLC array using multiple programming vectors, at the same time where each vector is associated with a different program level. In some embodiments of the present invention, when an MLC reaches a target program state during programming, the MLC's corresponding programming vector element may be reset to a “do-no-program” value.
Turning now to
Turning now to
Turning now to
In some embodiments of the present invention, the input register 110 may include volatile memory of a static random access memory (SRAM) or a dynamic random access memory (DRAM) architecture. In some embodiments of the present invention, the second register 120 may include volatile memory of an SRAM or DRAM architecture. Memory registers for programming NVM are well known, and any registers known today or to be devised in the future are applicable to the present invention.
Various on-chip, external and internal, data bus architectures are known. Any such architectures, known today or to be devised in the future are applicable to the present invention.
As part of some embodiments of the present invention, data (e.g. pairs of bits) from the input register 110, to be stored on the MLC 130, may be first mapped onto one or more programming vectors 122, where each programming vector 122 is associated with a specific program state. Mapping of bits (e.g. pairs, three at a time, four at a time, etc. . . . ) from the input register 110 to the programming vectors 122 may be performed according to various patterns, including those exemplified in
Turning now to
As further exemplified by the rightmost bit in the input register 110 of
Turning now to
Turning now to
Although some embodiments of the present invention may be directed towards programming circuits utilizing programming vectors associated with a specific program state, it should be noted that the present invention is not limited in this respect, and rather, a variety of additional programming vectors may be used, in accordance with further embodiments of the present invention. For example, according to some embodiments of the present invention a programming vector may be associated with two or more program states.
According to some embodiments of the present invention a programming vector may be associated with a first program state and with a second program state. A variety of programming algorithms may be devised for utilizing such programming vectors. For instance, according to one exemplary programming algorithm, initially, cells of an MLC array to be programmed to the first program state and cells to be programmed to the second program state may receive programming pulses concurrently. After all the cells associated with each of the vector elements have been programmed to at least the first program state and all the vector elements are marked with a “Program” value, a second program vector may be generated, where elements correlated to cells to be programmed to the second, and possibly to a third program state are marked with a “Program” value. The cells associated with these elements may then be pulsed with programming pulses until each has been programmed to the second program state or level. It should be understood by one skilled in the art, that a program vector according to some embodiments of the present invention may be associated with any number of program states. A variety of additional programming algorithms utilizing programming vectors associated with two or more programming states may be devised by those of ordinary skill in the art.
Turning now to
According to stage 1000, pairs of bits from an input register may be mapped to programming vectors 122. The mapping may be done in the manner described above or according to any other pattern. As seen in
Based on the elements of the programming vector 122, the controller may instruct a cell select and masking circuit 160 to provide a charge pump 150 with access to the MLCs corresponding to the elements of the vector 122 (stage 3000) whose values are set at a “program” value (e.g. “0”). In the example of
Once the select circuit 160 provides access to the MLC cells corresponding to the vector elements whose values are set at a “program” state, the controller 140 may trigger the charge pump 150 (stage 4000) to produce a charging or programming pulse which may raise the threshold voltage of the selected cells to the threshold voltage associated with the programming vector “01”. After the programming pulse, the controller 140 may use a program verify circuit 170 to check the program state of each of the cells which received a programming pulse (stage 5000) and may reset the value of any vector element from “program” to “do-not-program” for those elements associated with a cell that has reached the program state associated with the vector 122 (stage 6000).
Vector elements associated with cells that have not reached the target program state may be left at a “program” value, and the controller 140 may return to stage 3000 where it may instruct the cell select and mask circuit 160 to provide access to the cells needing additional charging pulses and to mask those cells which have been fully programmed. Stages 3000 to 7000 may be repeated in a loop until all the cells requiring charging have been charged to the target state and all the elements of the programming vector have been reset to a “do-not-program” value.
When the controller 140 determines at some point that all the elements in the programming vector 122 have been reset to a “do-not-program” value (stage 7000), as is exemplified in
According to some embodiments of the present invention, blocks of data may be programmed onto an MLC array in data segments corresponding to a set of programming vectors, where each programming vector is associated with a specific program state. For each data segment, a set of programming vectors may be generated, and each programming vector may be used to program a corresponding set of MLCs, such that the programming vector's elements may be reset to a “do-not-program” value as corresponding MLCs complete charging. According to some embodiments of the present invention, an input register 110 used to generate the set of programming vectors may remain uncorrupted or unchanged as the MLCs are programmed.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
Patent | Priority | Assignee | Title |
10096358, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
10431297, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
10699781, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
10878895, | Jan 30 2004 | TOSHIBA MEMORY CORPORATION | Semiconductor memory device which stores plural data in a cell |
11309019, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
8001338, | Aug 21 2007 | Microsoft Technology Licensing, LLC | Multi-level DRAM controller to manage access to DRAM |
8180975, | Feb 26 2008 | Microsoft Technology Licensing, LLC | Controlling interference in shared memory systems using parallelism-aware batch scheduling |
8271741, | Feb 26 2008 | Microsoft Technology Licensing, LLC | Prioritization of multiple concurrent threads for scheduling requests to shared memory |
8542538, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
9142299, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
9390802, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
9627048, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
9858992, | Jan 30 2004 | Kioxia Corporation | Semiconductor memory device which stores plural data in a cell |
Patent | Priority | Assignee | Title |
3895360, | |||
4527257, | Aug 25 1982 | Westinghouse Electric Corp. | Common memory gate non-volatile transistor memory |
5104819, | Aug 07 1989 | Intel Corporation | Fabrication of interpoly dielctric for EPROM-related technologies |
5172338, | Apr 13 1989 | SanDisk Technologies LLC | Multi-state EEprom read and write circuits and techniques |
5293563, | Dec 29 1988 | Sharp Kabushiki Kaisha | Multi-level memory cell with increased read-out margin |
5295108, | Apr 08 1992 | NEC Corporation | Electrically erasable and programmable read only memory device with simple controller for selecting operational sequences after confirmation |
5345425, | Nov 20 1990 | Fujitsu Semiconductor Limited | Semiconductor memory device |
5349221, | Oct 25 1991 | Rohm Co., Ltd. | Semiconductor memory device and method of reading out information for the same |
5350710, | Jun 24 1993 | United Microelectronics Corporation | Device for preventing antenna effect on circuit |
5359554, | Aug 27 1991 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device having an energy gap for high speed operation |
5393701, | Apr 08 1993 | United Microelectronics Corporation | Layout design to eliminate process antenna effect |
5394355, | Aug 28 1990 | Renesas Electronics Corporation | Read only memory for storing multi-data |
5412601, | Aug 31 1992 | Intellectual Ventures I LLC | Non-volatile semiconductor memory device capable of storing multi-value data in each memory cell |
5418743, | Dec 07 1992 | Intellectual Ventures I LLC | Method of writing into non-volatile semiconductor memory |
5422844, | Dec 21 1992 | National Semiconductor Corporation | Memory array with field oxide islands eliminated and method |
5424978, | Mar 15 1993 | Intellectual Ventures I LLC | Non-volatile semiconductor memory cell capable of storing more than two different data and method of using the same |
5434825, | Jun 08 1988 | SanDisk Technologies LLC | Flash EEPROM system cell array with more than two storage states per memory cell |
5440505, | Jan 21 1994 | Intel Corporation | Method and circuitry for storing discrete amounts of charge in a single memory element |
5450341, | Aug 31 1992 | Intellectual Ventures I LLC | Non-volatile semiconductor memory device having memory cells, each for at least three different data writable thereinto selectively and a method of using the same |
5450354, | Aug 31 1992 | Intellectual Ventures I LLC | Non-volatile semiconductor memory device detachable deterioration of memory cells |
5496753, | May 29 1992 | CITIZEN HOLDINGS CO , LTD | Method of fabricating a semiconductor nonvolatile storage device |
5523972, | Jun 02 1994 | Intel Corporation | Method and apparatus for verifying the programming of multi-level flash EEPROM memory |
5537358, | Dec 06 1994 | National Semiconductor Corporation | Flash memory having adaptive sensing and method |
5563823, | Aug 31 1993 | Macronix International Co., Ltd. | Fast FLASH EPROM programming and pre-programming circuit design |
5623438, | Nov 30 1992 | SGS-Thomson Microelectronics, Inc. | Virtual ground read only memory circuit |
5636288, | Feb 17 1995 | PARADIGM ELECTRONICS INC | Standby power circuit arrangement |
5689459, | Mar 03 1994 | ROHM U S A , INC | Low voltage one transistor flash EEPROM cell using Fowler-Nordheim programming and erase |
5726946, | Jun 02 1994 | VACHELLIA, LLC | Semiconductor integrated circuit device having hierarchical power source arrangement |
5768193, | Jun 17 1996 | SECURE AXCESS LLC | Bit-refreshable method and circuit for refreshing a nonvolatile flash memory |
5812449, | May 16 1995 | Hyundai Electronics Industries Co., Ltd. | Flash EEPROM cell, method of manufacturing the same, method of programming and method of reading the same |
5812457, | Sep 09 1996 | Sony Corporation | Semiconductor NAND type flash memory with incremental step pulse programming |
5892710, | Jan 21 1994 | Intel Corporation | Method and circuitry for storing discrete amounts of charge in a single memory element |
5903031, | Jul 04 1995 | Matsushita Electric Industrial Co., Ltd. | MIS device, method of manufacturing the same, and method of diagnosing the same |
5926409, | Sep 05 1997 | Winbond Electronics Corporation | Method and apparatus for an adaptive ramp amplitude controller in nonvolatile memory application |
5946258, | Mar 16 1998 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Pump supply self regulation for flash memory cell pair reference circuit |
5949714, | Sep 17 1994 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
5969993, | Jun 20 1997 | Renesas Electronics Corporation | Method of restoring data in non-volatile semiconductor memory |
6034896, | Jul 03 1995 | The University of Toronto, Innovations Foundation | Method of fabricating a fast programmable flash E2 PROM cell |
6064591, | Apr 19 1996 | Kabushiki Kaisha Toshiba | Memory system |
6075724, | Feb 22 1999 | Lattice Semiconductor Corporation | Method for sorting semiconductor devices having a plurality of non-volatile memory cells |
6081456, | Feb 04 1999 | Longitude Licensing Limited | Bit line control circuit for a memory array using 2-bit non-volatile memory cells |
6118692, | Feb 08 1991 | BTG International Inc. | Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell |
6147904, | Feb 04 1999 | Longitude Licensing Limited | Redundancy method and structure for 2-bit non-volatile memory cells |
6157570, | Feb 04 1999 | Longitude Licensing Limited | Program/erase endurance of EEPROM memory cells |
6169691, | Sep 15 1998 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Method for maintaining the memory content of non-volatile memory cells |
6181605, | Oct 06 1999 | VALLEY DEVICE MANAGEMENT | Global erase/program verification apparatus and method |
6205056, | Mar 14 2000 | Advanced Micro Devices, Inc. | Automated reference cell trimming verify |
6215148, | May 20 1998 | MORGAN STANLEY SENIOR FUNDING | NROM cell with improved programming, erasing and cycling |
6240032, | Nov 27 1997 | SAMSUNG ELECTRONICS CO , LTD | Non-volatile semiconductor memory allowing user to enter various refresh commands |
6240040, | Mar 15 2000 | MONTEREY RESEARCH, LLC | Multiple bank simultaneous operation for a flash memory |
6292394, | Jun 29 2000 | MORGAN STANLEY SENIOR FUNDING | Method for programming of a semiconductor memory cell |
6304485, | Apr 13 1989 | SanDisk Technologies LLC | Flash EEprom system |
6331950, | Oct 19 1999 | MONTEREY RESEARCH, LLC | Write protect input implementation for a simultaneous operation flash memory device |
6396741, | May 04 2000 | MORGAN STANLEY SENIOR FUNDING | Programming of nonvolatile memory cells |
6490204, | May 04 2000 | Spansion Israel Ltd | Programming and erasing methods for a reference cell of an NROM array |
20020132436, | |||
20020191465, | |||
EP693781, | |||
WO9625741, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 16 2002 | RAHN, DAVID G | COGNIO, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013218 | /0425 | |
Oct 16 2002 | SUGAR, GARY L | COGNIO, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013218 | /0425 | |
Oct 17 2002 | MASUCCI, ROBERT M | COGNIO, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013218 | /0425 | |
Aug 24 2003 | POLANSKY, YAN | Saifun Semiconductors Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014466 | /0295 | |
Aug 24 2003 | LAVAN, AVI | Saifun Semiconductors Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014466 | /0295 | |
Jul 28 2010 | Saifun Semiconductors Ltd | Spansion Israel Ltd | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 029792 | /0987 | |
Dec 27 2014 | BARCLAYS BANK PLC | Spansion LLC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL | 034715 | /0305 | |
Dec 27 2014 | BARCLAYS BANK PLC | SPANSION TECHNOLOGY INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL | 034715 | /0305 | |
Aug 05 2016 | Cypress Semiconductor Corporation | MORGAN STANLEY SENIOR FUNDING, INC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 039676 | /0237 | |
Dec 29 2017 | Cypress Semiconductor Corporation | MORGAN STANLEY SENIOR FUNDING | CORRECTIVE ASSIGNMENT TO CORRECT THE FOLLOWING NUMBERS 6272046,7277824,7282374,7286384,7299106,7337032,7460920,7519447 PREVIOUSLY RECORDED ON REEL 039676 FRAME 0237 ASSIGNOR S HEREBY CONFIRMS THE SECURITY INTEREST | 047797 | /0854 | |
Apr 16 2020 | MUFG UNION BANK, N A | Spansion LLC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 059410 | /0438 | |
Apr 16 2020 | MUFG UNION BANK, N A | Cypress Semiconductor Corporation | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 059410 | /0438 |
Date | Maintenance Fee Events |
Aug 06 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 13 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Aug 07 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 13 2010 | 4 years fee payment window open |
Aug 13 2010 | 6 months grace period start (w surcharge) |
Feb 13 2011 | patent expiry (for year 4) |
Feb 13 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 13 2014 | 8 years fee payment window open |
Aug 13 2014 | 6 months grace period start (w surcharge) |
Feb 13 2015 | patent expiry (for year 8) |
Feb 13 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 13 2018 | 12 years fee payment window open |
Aug 13 2018 | 6 months grace period start (w surcharge) |
Feb 13 2019 | patent expiry (for year 12) |
Feb 13 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |