US2004080988A1PendingUtilityA1

Flash EEprom system

Assignee: SANDISK CORPPriority: Apr 13, 1989Filed: Jan 11, 2001Published: Apr 29, 2004
Est. expiryApr 13, 2009(expired)· nominal 20-yr term from priority
G11C 29/52G06F 12/0804G11C 16/3459G11C 16/3454G11C 7/1039G11C 16/3436G06F 2212/312G11C 11/5621G06F 12/0866G06F 12/0246G06F 12/123G06F 3/0679G06F 3/064G11C 16/16G06F 11/1068G11C 2211/5643G06F 3/0616G11C 29/82G11C 2211/5634G11C 16/3445G06F 12/0802G11C 29/00G11C 8/12G11C 11/5628G06F 2212/7207G11C 2211/5621G11C 29/34G06F 2212/7208G06F 2212/7203G06F 2212/7205G06F 3/0601G11C 16/10G11C 11/5635G06F 12/0875G06F 3/0652G06F 2212/7201G06F 3/068G11C 2216/18G06F 3/0688G06F 2212/2022G11C 29/26G11C 29/765G11C 16/344G06F 3/0664
38
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system of Flash EEprom memory chips with controlling circuits serves as non-volatile memory such as that provided by magnetic disk drives. Improvements include selective multiple sector erase, in which any combinations of Flash sectors may be erased together. Selective sectors among the selected combination may also be de-selected during the erase operation. Another improvement is the ability to remap and replace defective cells with substitute cells. The remapping is performed automatically as soon as a defective cell is detected. When the number of defects in a Flash sector becomes large, the whole sector is remapped. Yet another improvement is the use of a write cache to reduce the number of writes to the Flash EEprom memory, thereby minimizing the stress to the device from undergoing too many write/erase cycling.

Claims

exact text as granted — not AI-modified
In the claims:  
     
         1 . A Flash EEprom system comprising: 
 one or more integrated circuit chips each having an array of Flash EEprom cells partitioned into a plurality of sectors, each sector addressable for erase such that all cells therein are erasable simultaneously;    means for selecting a plurality of sectors among the one or more chips for erase operation; and    means for simultaneously performing the erase operation on only the plurality of selected sectors.    
     
     
         2 . A Flash EEprom system as in  claim 1 , including 
 read or write operations on chips which have been enabled by a chip select signal, wherein the erase operation is performed on chips without regard to the chip select signal.    
     
     
         3 . A Flash EEprom system as in  claim 1 , wherein the erase operation may be performed on the plurality of sector selected for erase operation, while read, write or other operations may be performed on any other device not selected for erase operation.  
     
     
         4 . The Flash EEprom system according to  claim 1 , further comprising: 
 means for individually removing any one or combination of sectors from the plurality of selected sectors, such that said removed sectors are prevented from further erase during the erase operation.    
     
     
         5 . The Flash EEprom system according to  claim 1 , further comprising: 
 means for simultaneously deselecting all sectors.    
     
     
         6 . The Flash EEprom system according to  claim 1 , wherein the selecting means further comprises: 
 individual register associated with each sector for holding a status to indicate whether the sector is selected or not.    
     
     
         7 . The Flash EEprom system according to  claim 6 , wherein the simultaneously erasing means is responsive to the status in each of the individual registers, such that only the selected sectors are included in the erasing.  
     
     
         8 . The Flash EEprom system according to  claim 6 , wherein any one or combination of the individual registers indicating a selected status are individually resettable to an un-selected status.  
     
     
         9 . The Flash EEprom system according to  claim 6 , wherein all the individual registers are simultaneously resettable to a status indicating the associated sectors as not selected.  
     
     
         10 . A system for correcting errors from defective cells within an array of Flash EEprom cells, comprising: 
 substitute cells;    means for substituting one or more of the defective cells with a corresponding number of substitute cells.    
     
     
         11 . A system for correcting errors from defective cells within an array of Flash EEprom cells as in  claim 10  wherein the substituting means also applies automatically to new defective cells as soon as they are detected.  
     
     
         12 . A system for correcting errors from defective cells within an array of Flash EEprom cells as in  claim 10 , said array being partitioned into a plurality of Flash erasable sectors such that all cells within each sector are erasable at once, wherein the substitute cells are in the same sector as the defective cells.  
     
     
         13 . A system for correcting errors from defective cells within an array of Flash EEprom cells as in  claim 11 , further comprising a defect map for storing defect pointers which link the addresses of the defective cells to that of the corresponding substitute cells.  
     
     
         14 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 13 , wherein the defect map for said defective cells are located in the same sector as said defective cells.  
     
     
         15 . A system for correcting errors from defective cells within an array of Flash EEprom cells as in  claim 10 , said array being partitioned into a plurality of Flash erasable sectors such that all cells within each sector are erasable at once, wherein the substitute cells are in the same sector as the defective cells when the number of defective cells in the sector does not exceed a predetermined number, and the substitute cells are in a different sector when the number is exceeded.  
     
     
         16 . A system for correcting errors from defective cells within an array of Flash EEprom cells as in  claim 15 , wherein said sector is replaced in its entirety by a substitute sector when said number is exceeded.  
     
     
         17 . A system for correcting errors from defective cells within an array of Flash EEprom cells as in  claim 15  wherein the substituting means also applies automatically new defective cells as soon as they are detected.  
     
     
         18 . A system for correcting errors from defective cells within an array of Flash EEprom cells as in  claim 17 , including the use of error correction codes.  
     
     
         19 . A system for correcting bad data in defective cells within an array of Flash EEprom cells, comprising: 
 substitute cells for storing good data intended for the defective cells;    means for substituting the bad data in one or more of the defective cells with the good data in the corresponding substitute cells when the defective cells are accessed.    
     
     
         20 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in clain  19 , further comprising means for automatically saving the good data intended to be written to the defective cells to the corresponding substitute cells, thereby perserving the integrity of the good data.  
     
     
         21 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 20  wherein the substituting means also applies automatically to new defective cells as soon as they are detected.  
     
     
         22 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 20 , said array being partitioned into a plurality of Flash erasable sectors such that all cells within each sector are erasable at once, and data is stored therein, wherein the substituting means applies after the data including the bad data has been accessed.  
     
     
         23 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 20 , said array being partitioned into a plurality of Flash erasable sectors such that all cells within each sector are erasable at once, wherein the substitute cells are in the same sector as the defective cells.  
     
     
         24 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 20 , further comprising a defect map for storing defect pointers which link the addresses of the defective cells to that of the corresponding substitute cells.  
     
     
         25 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 24 , wherein the defect map for said defective cells are located in the same sector as said defective cells.  
     
     
         26 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 19 , said array being partitioned into a plurality of Flash erasable sectors such that all cells within each sector are erasable at once, wherein the substitute cells are in the same sector as the defective cells when the number of defective cells in the sector does not exceed a predetermined number, and the substitute cells are in a different sector when the number is exceeded.  
     
     
         27 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 26 , wherein said sector is replaced in its entirety by a substitute sector when said number is exceeded.  
     
     
         28 . A system for correcting bad data in defective cells within an array of Flash EEprom cells as in  claim 26 , wherein the substituting means also applies automatically to newly occurring defective cells.  
     
     
         29 . A system for correcting bad data in defective calls within an array of Flash EEprom cells as in  claim 28 , including use of error correction codes.  
     
     
         30 . An improved system for writing data files into a Flash EEprom memory comprising: 
 a cache memory for temporarily storing data files intended for the Flash EEprom memory, said cache memory able to undergo significantly more write/erase cycles than the Flash EEprom memory;    means responsive to a system write to the Flash EEprom memory for writing data files into the cache memory instead of the Flash EEprom memory;    means for identifying each data file in the cache memory;    means for determining the time since each data file was last written; and    means for first moving data file having the longest time since last written from the cache memory to the Flash EEprom memory when additional space for new data files is required in the cache memory, thereby substantially reducing the number of actual writes and associated stress to the Flash EEprom memory.    
     
     
         31 . The improved system as in  claim 30 , further comprising: 
 a backup non-volatile memory for downloading the data files in the cache memory thereto; and    means responsive to an impending power loss for down loading the data files in the cache memory to the backup memory, thereby saving the data files from the possibly volatile cache memory.    
     
     
         32 . The improved system as in  claim 30 , wherein the backup memory is part of the Flash EEprom memory.  
     
     
         33 . The improved system as in  claim 30 , wherein the cache memory has a significantly faster access time than that of the Flash EEprom memory.  
     
     
         34 . The improved system as in  claim 30 , including a controller circuit chip for controlling the operations of the Flash EEprom memory, wherein the improved system is part of the controller circuit chip.  
     
     
         35 . The improved system as in  claim 30 , including a microprocessor system and random access memory, wherein the improved system is implemented by software in the microprocessor system with random access memory.  
     
     
         36 . An improved system for writing data files into a Flash EEprom memory comprising: 
 a cache memory for temporarily storing data files intended for the Flash EEprom memory, said cache memory able to undergo significantly more write/erase cycles than the Flash EEprom memory;    means responsive to a system write to the Flash EEprom memory for writing data files into the cache memory instead of the Flash EEprom memory;    a tag memory for storing the identity of data files and the time each data file was last written; and    means for first moving data file having the longest time since last written from the cache memory to the Flash EEprom memory when additional space for new data files is required in the cache memory, thereby substantially reducing the number of actual writes and associated stress to the Flash EEprom memory.    
     
     
         37 . The improved system as in  claim 36 , further comprising: 
 a backup non-volatile memory for downloading the data files in the cache memory thereto; and    means responsive to an impending power loss for down loading the data files in the cache memory to the backup memory, thereby saving the data files from the possibly volatile cache memory.    
     
     
         38 . The improved system as in  claim 36 , wherein the backup memory is part of the Flash EEprom memory.  
     
     
         39 . The improved system as in  claim 36 , wherein the cache memory has a significantly faster access time than that of the Flash EEprom memory.  
     
     
         40 . The improved system as in  claim 36 , including a controller circuit chip for controlling the operations of the Flash EEprom memory, wherein the improved system is part of the controller circuit chip.  
     
     
         41 . The improved system as in  claim 36 , including a microprocessor system and random access memory, wherein the improved system is implemented by software in the microprocessor system with random access memory.  
     
     
         42 . An improved system for writing data files into a Flash EEprom memory comprising: 
 a cache memory for temporarily storing data files intended for the Flash EEprom memory, said cache memory able to undergo significantly more write/erase cycles than the Flash EEprom memory;    means responsive to a system write to the Flash EEprom memory for writing a data file either into the Flash EEprom memory or instead into the cache memory, said responsive means writing to the Flash EEprom when the a previous copy of said data file is not present in the cache memory, and writing to the cache memory when a previous copy of said data file is present in the cache memory; and    means for first moving data files having the longest times since last written from the cache memory to the Flash EEprom memory when additional space for new data files is required in the cache memory, thereby substantially reducing the number of actual writes and associated stress to the Flash EEprom memory.    
     
     
         43 . The improved system as in  claim 42 , further comprising: 
 a backup non-volatile memory for downloading the data files in the cache memory thereto; and    means responsive to an impending power loss for down loading the data files in the cache memory to the backup memory, thereby saving the data files from the possibly volatile cache memory.    
     
     
         44 . The improved system as in  claim 42 , wherein the backup memory is part of the Flash EEprom memory.  
     
     
         45 . The improved system for writing data files into a Flash EEprom memory according to  claim 42 , wherein said responsive means for writing includes a tag memory for storing the identity of data files and the time each data file was last written, and wherein said responsive means writing to the Flash EEprom when said data file is not tagged in the tag memory, and writing to the cache memory when said data file is tagged in the tag memory.  
     
     
         46 . An improved system for writing data files into a Flash EEprom memory comprising: 
 a cache memory for temporarily storing data files intended for the Flash EEprom memory, said cache memory able to undergo significantly more write/erase cycles than the Flash EEprom memory;    means responsive to a system write to the Flash EEprom memory for writing a data file either into the Flash EEprom memory or instead into the cache memory, said responsive means writing to the Flash EEprom when said data file is last written after the predetermined period of time, and writing to the cache memory when said data file is last written within a predetermined period of time; and    means for first moving data files having the longest times since last written from the cache memory to the Flash EEprom memory when additional space for new data files is required in the cache memory, thereby substantially reducing the number of actual writes and associated stress to the Flash EEprom memory.    
     
     
         47 . The improved system as in  claim 46 , wherein the cache memory has a significantly faster access time than that of the Flash EEprom memory.  
     
     
         48 . The improved system as in  claim 46 , including a controller circuit chip for controlling the operations of the Flash EEprom memory, wherein the improved system is part of the controller circuit chip.  
     
     
         49 . The improved system as in  claim 46 , including a microprocessor system and random access memory, wherein the improved system is implemented by software in the microprocessor system with random access memory.  
     
     
         50 . An improved system for writing data files into a Flash EEprom memory comprising: 
 a cache memory for temporarily storing data files intended for the Flash EEprom memory, said cache memory able to undergo significantly more write/erase cycles than the Flash EEprom memory;    a tag memory for storing the identity of data files and the time each data file was last written;    means responsive to a system write to the Flash EEprom memory for writing a data file either into the Flash EEprom memory or instead into the cache memory, said responsive means writing to the Flash EEprom when the data file is not identified in the tag memory, and writing to the cache memory when the data file is identified in the tag memory; and    means for moving first the data files having the longest times since last written from the cache memory to the Flash EEprom memory when additional space for new data files is required in the cache memory, thereby substantially reducing the number of actual writes and associated stress to the Flash EEprom memory.    
     
     
         51 . The improved system as in  claim 50 , further comprising: 
 a backup non-volatile memory for downloading the data files in the cache memory thereto; and    means responsive to an impending power loss for down loading the data files in the cache memory to the backup memory, thereby saving the data files from the possibly volatile cache memory.    
     
     
         52 . The improved system as in  claim 50 , wherein the backup memory is part of the Flash EEprom memory.  
     
     
         53 . The improved system as in  claim 50 , wherein the cache memory has a significantly faster access time than that of the Flash EEprom memory.  
     
     
         54 . The improved system as in  claim 50 , including a controller circuit chip for controlling the operations of the Flash EEprom memory, wherein the improved system is part of the controller circuit chip.  
     
     
         55 . The improved system as in  claim 50 , including a microprocessor system and random access memory, wherein the improved system is implemented by software in the microprocessor system with random access memory.  
     
     
         56 . A memory card adapted to plug into a computer system in a manner to communicate with a system bus and a standard power supply, comprising the following mounted thereon: 
 a plurality of EEprom integrated circuit chips, each of said chips including: 
 a large number of individually addressable storage cells organized into a plurality of sectors, each sector containing a plurality of said storage cells,  
 a plurality of spare storage cells within any of said sectors,  
   means responsive to signals on said system bus for erasing all cells in one or more designated sectors without erasing cells in others of said sectors,    means responsive to signals on said system bus for reading the state of addressed storage cells,    means responsive to signals on said system bus for programming addressed storage cells to a predetermined state, and    means responsive to an unsuccessful attempt to either program or erase a storage cell within one of said sectors for substituting one of said spare storage cells therefore while maintaining operation of the remaining cells of said sector.    
     
     
         57 . The memory card according to  claim 56  which additionally comprises a cache memory mounted on said card, and wherein said programming means includes means for initially programming said cache memory rather than said EEprom memory, said reading means includes means for initially determining whether the cache memory contains data to be read, and said programming means additionally includes means responsive to said cache memory becoming full for writing its oldest unused block of data into said EEprom memory, thereby to make room for new data in said cache memory.  
     
     
         58 . The memory card as in  claim 56 , wherein each of said chips further includes a plurality of spare sectors, and wherein said substituting means also substitutes one of said spare sectors for one of said sectors when a predetermined number of cells in said one of said sector become defective.  
     
     
         59 . The memory card as in  claim 58 , including means for performing error correction using error correction codes.  
     
     
         60 . The memory card as in  claim 56 , including a controller and an interface connected to the system bus, said controller being adapted to be responsive to commands intended for a standard magnetic disk drive storage system connectable to the computer system, thereby emulating said disk drive system.  
     
     
         61 . The memory card as in  claim 56 , in which various operating voltages are required for various operations of the EEprom chips, including means for generating the various operating voltages from the standard power supply.  
     
     
         62 . A storage system incorporating therein the memory card of  claim 56 , comprising: 
 a controller for controlling the operation of the EEprom chips;    means for generating voltages for the operation of the EEprom chips;    means for error correction in the operation of the storage system; and    means for interfacing the storage system to a computer system.

Join the waitlist — get patent alerts

Track US2004080988A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.