A non-volatile memory system is formed of floating gate memory cells arranged in blocks as the smallest unit of memory cells that are erasable together. One feature is the storage in separate blocks of the characteristics of a large number of blocks of cells in which user data is stored. According to another feature, multiple sectors of user data are stored at one time by alternately streaming chunks of data from the sectors to multiple memory blocks. Yet another feature, for memory systems having multiple memory integrated circuit chips, provides a single system record that includes the capacity of each of the chips and assigned contiguous logical address ranges of user data blocks within the chips which the memory controller accesses when addressing a block, making it easier to manufacture a memory system with memory chips having different capacities.
Drawings
Claims8
In a memory system including re-programmable non-volatile memory cells organized into distinct blocks of a minimum number of memory cells that are simultaneously erasable and a buffer memory, the blocks of memory cells being further organized into a plurality of sub-arrays that individually have at least one storage register associated therewith, a method of operating the system, comprising:
receiving user data to be programmed into the memory system and temporarily storing the received user data in the buffer memory,
transferring user data from the buffer memory to the storage registers, a portion of the user data stored in the buffer memory being moved into one of the storage registers at a time,
storing in at least one of the blocks a record of the individual blocks that are identified for storing user data that includes logical addresses assigned to the individual blocks identified for storing user data,
accessing the record in response to receiving logical addresses by determining the physical addresses that correspond with the received logical addresses,
programming user data in parallel from their associated storage registers into a plurality of physical blocks within a plurality of sub-arrays in response to receiving logical addresses;
and
storing, in at least one other block different than the blocks identified for storing user data, information of physical characteristics of the blocks identified to store user data or their operation.
17 Feb 2020Estimated · howhide20 years from earliest known nonprovisional domestic filing plus recorded patent term adjustment. Maintenance-fee lapses, terminal disclaimers and statutory extensions have not been checked. The continuity chain may be incomplete; this is not an enforceability determination.
Arrangements for verifying correct programming or for detecting overprogrammed cells: circuits or methods to verify correct programming of…
Life of this patent
Term ended 17 Feb 2020 (estimated)
Priority17 Feb 2000
Filed23 Nov 2009
Granted15 Feb 2011
Term ended17 Feb 2020
Priority17 Feb 2000
Granted15 Feb 2011
Term ended17 Feb 2020
Priority claimedParent application 09/505,555
Application filedUS 12/624,258
PublishedUS 2010/0067298 A1
GrantedUS 7,889,554 B2
Assigned to Sandisk Technologies Inc.assignment of assignor's interest
Assigned to Sandisk Technologies LLCchange of name
Term endedEstimated
Description12,754 words
Summary2,237 words
#This invention relates to semiconductor memory systems, particularly to non-volatile memory systems, and have application to flash electrically-erasable and programmable read-only memories (EEPROMs).
#Flash EEPROM systems are being applied to a number of applications, particularly when packaged in an enclosed card that is removably connected with a host system. Current commercial memory card formats include that of the Personal Computer Memory Card International Association (PCMCIA), CompactFlash (CF), MultiMediaCard (MMC) and Secure Digital (SD). One supplier of these cards is SanDisk Corporation, assignee of this application. Host systems with which such cards are used include personal computers, notebook computers, hand held computing devices, cameras, audio reproducing devices, and the like. Flash EEPROM systems are also utilized as bulk mass storage embedded in host systems.
#Such non-volatile memory systems include an array of floating-gate memory cells and a system controller. The controller manages communication with the host system and operation of the memory cell array to store and retrieve user data. The memory cells are grouped together into blocks of cells, a block of cells being the smallest grouping of cells that are simultaneously erasable. Prior to writing data into one or more blocks of cells, those blocks of cells are erased. User data are typically transferred between the host and memory array in sectors. A sector of user data can be any amount that is convenient to handle, preferably less than the capacity of the memory block, often being equal to the standard disk drive sector size, 512 bytes. In one commercial architecture, the memory system block is sized to store one sector of user data plus overhead data, the overhead data including information such as an error correction code (ECC) for the user data stored in the block, a history of use of the block, defects and other physical information of the memory cell block. Various implementations of this type of non-volatile memory system are described in the following United States patents and pending applications assigned to SanDisk Corporation, each of which is incorporated herein in its entirety by this reference: U.S. Pat. Nos. 5,172,338, 5,602,987, 5,315,541, 5,200,959, 5,270,979, 5,428,621, 5,663,901, 5,532,962, 5,430,859 and 5,712,180, and application Ser. No. 08/910,947, filed Aug. 7, 1997, now U.S. Pat. No. 6,222,762, and Ser. No. 09/343,328, filed Jun. 30, 1999, now U.S. Pat. No. 6,151,248. Another type of non-volatile memory system utilizes a larger memory cell block size that stores multiple sectors of user data.
Brief description of the drawings19 figures
#FIG. 1 is a block schematic diagram of an example non-volatile memory system in which various aspects of the present invention may be implemented;
#FIG. 2 is a more detailed schematic diagram of one of the memory cell array units, with associated logic and buffers, of the system of FIG. 1;
#FIGS. 3A and 3B illustrate four state and two state operation, respectively, of the individual memory cells of the system of FIG. 1;
Detailed description10,075 words
#FIG. 1 provides a diagram of the major components of a non-volatile memory system that are relevant to the present invention. A controller 11 communicates with a host system over lines 13. The controller 11, illustrated to occupy one integrated circuit chip, communicates over lines 15 to one or more non-volatile memory cell arrays, three arrays 17, 19 and 21 being illustrated, each of the arrays usually formed on one or more separate integrated circuit chips. The illustrated controller is usually contained on a single integrated circuit chip, either without a flash EEPROM array (the example shown) or with a memory cell array. Even if a memory cell array is included on the controller circuit chip, an additional one or more chips that each contain only a memory array and associated circuitry will often be included in the system.
#User data is transferred between the controller 11 and multiple memory arrays 17, 19 and 21, in this example, over the lines 15. The memory arrays are individually addressed by the controller. Specifically, the data bus within the lines 15 can be one byte wide. The memory system shown in FIG. 1 can be embedded as part of a host system or packaged into a card, such as a card following one of the card standards previously mentioned. In the case of a card, the lines 13 terminate in external terminals on the card for mating with a complementary socket within a host system. Although use of one controller chip and multiple memory chips is typical, the trend is, of course, to use fewer separate chips for such a system by combining their circuits. An example capacity of one of the illustrated memory chips is 256 Mbits, thus requiring only two such memory chips, plus the controller chip, to form a non-volatile memory system having a data capacity of 64 megabytes. Use of a single smaller capacity memory chip results in a memory system of lesser capacity, an 8 megabyte system being a marketable example. Conversely, use of memory chips with a higher bit storage density and/or use of more memory array chips in a system will result in a higher capacity memory. Such memory systems up to 1.3 gigabyte and more are possible.
#The controller 11 includes a micro-processor or micro-controller 23 connected through controller interface logic 25 to internal memories and interfaces with external components. A program memory 27 stores the firmware and software accessed by the micro-controller 23 to control the memory system operation to read data from the connected memory array(s) and transmit that data to the host, to write data from the host to the memory chip(s), and to carry out numerous other monitoring and controlling functions. The memory 27 can be a volatile re-programmable random-access-memory (RAM), a non-volatile memory that is not re-programmable (ROM), a one-time programmable memory (OTP) or a re-programmable flash EEPROM system. If the memory 27 is re-programmable, the controller can be configured to allow the host system to program it. A random-access-memory (RAM) 29 is used to store, among other data, data from tables read from the non-volatile memory that are accessed during reading and writing operations.