Method and system for efficiently reading and programmming of dual cell memory elements
A memory system (e.g., memory card) for reading and programming (writing) of dual cell memory elements is disclosed. According to one aspect of the invention, all bit lines for the memory system can be productively used during reading or programming so as to achieve improved (e.g., maximum) parallelism of read and/or program operations. The memory system is typically a non-volatile memory product or device that provides binary or multi-state data storage.
Latest Patents:
This application is a continuation application of U.S. patent application Ser. No. 10/087,108, filed Feb. 28, 2002 and entitled “METHOD AND SYSTEM FOR EFFICIENTLY READING AND PROGRAMMING OF DUAL CELL MEMORY ELEMENTS,” the disclosure of which is incorporated herein by reference for all purposes.
This application is related to U.S. Pat. Nos. 6,151,248 and 6,091,633, each of which is hereby incorporated by reference herein.
BACKGROUND OF THE INVENTION1. Field of the Invention
The invention relates to a memory system for non-volatile data storage and, more particularly, to a memory system that provides reading and programming with high density.
1. Description of the Related Art
Memory cards are commonly used to store digital data for use with various products (e.g., electronic products). Typically, these memory cards are non-volatile memories which are very popular and useful because they retain data even after being powered-off. Examples of memory cards are flash cards that use Flash type or EEPROM type memory cells to store the data. Flash cards have a relatively small form factor and have been used to store digital data for products such as cameras, hand-held computers, set-top boxes, hand-held or other small audio players/recorders (e.g., MP3 devices), and medical monitors. A major supplier of flash cards is SanDisk Corporation of Sunnyvale, Calif.
These memory cards are increasingly called on to store greater and greater amounts of data. Consequently, individual storage elements within these memory cards have been developed to support multiple levels so as to effectively store multiple bits of data. Traditional storage elements store only two states, while multiple level or high density storage elements store more than two states (e.g., four states).
Besides increasing storage capacities of memory cards, there is also a continuing need to provide higher and higher performance operation. Namely, there is a need to improve the speed by which data can be read from or written to a memory card. Since the reading or programming of memory cells within memory is able to be performed with some degree of parallelism, the improved performance can come through increased parallelism. However, increased parallelism is not merely a matter of increasing hardware components, instead precise cells control and management of inter bit line interference must be considered. However, to obtain increased parallelism requires consideration of many complex characteristics of the memory cards, such as precise cell control and inter bit line interference.
Thus, there is a need for improved approaches to reading or writing data to a memory array with a greater degree of parallelism.
SUMMARY OF THE INVENTIONThe invention relates to a memory system (e.g., memory card) in which density for reading and programming (writing) of dual cell memory elements is enhanced. According to one aspect of the invention, all bit lines for the memory system can be productively used during reading or programming so as to achieve improved (e.g., maximum) parallelism of read and/or program operations. The memory system is typically a non-volatile memory product or device that provides binary or multi-state data storage.
The invention can be implemented in numerous ways. For example, the invention can be implemented as a system, device or method. Several embodiments of the invention are discussed below.
As a non-volatile semiconductor memory device, one embodiment of the invention includes at least: a plurality of bit lines; a plurality of word lines; and a plurality of dual cell storage elements. Each of the dual cell storage elements includes at least a source device, a drain device and a select device. Advantageously, two out of a total of six of the source devices and the drain devices in three adjacent dual cell memory units along a particular one of the word lines are able to be programmed or read simultaneously.
As a portable memory card, one embodiment of the invention includes at least a data storage array and a controller. The data storage array includes at least a plurality of bit lines, a plurality of word lines, and a plurality of dual cell storage elements. Each of the dual cell storage elements includes at least a source device, a drain device and a select device. The controller operates to control reading and writing to the data storage array. Two of the source devices and the drain devices in three adjacent dual cell storage elements along a particular one of the word lines are able to be programmed or read simultaneously.
As a method for reading data from a non-volatile memory, one embodiment of the invention includes at least: identifying three adjacent memory elements along a particular word line, each of the three adjacent memory elements being coupled between an adjacent pair of bit lines, each of the three adjacent memory elements including at least a pair of memory cells; coupling one of the bit lines in each of the adjacent pairs of the bit lines surrounding each of two of the three adjacent memory elements having a memory cell to be read to a low potential; coupling a read voltage to the memory cell to be read in each of two of the three adjacent memory elements having a memory cell to be read; coupling an overdrive voltage to the other memory cells in the three adjacent memory cells; and thereafter simultaneously reading data from one of the two memory cells in the two of the three adjacent memory elements having a memory cell to be read via another of the bit lines in each of the adjacent pairs of the bit lines surrounding each of two of the three adjacent memory elements having a memory cell to be read.
As another method for reading data from a non-volatile memory, one embodiment of the invention includes at least: providing a non-volatile memory having an array of memory elements, a plurality of bit lines, a plurality of word lines, and a plurality of gate control signals; identifying first, second and third memory elements that are adjacent one another along a particular word line, each of the first, second and third memory elements including at least a pair of memory cells and a select gate; identifying first, second, third and fourth bit lines that are adjacent one another along the particular word line, the first memory element being interposed between the first bit line and the second bit line, the second memory element being interposed between the second bit line and the third bit line, and the third memory element being interposed between the third bit line and the fourth bit line; identifying a first memory cell in the first memory element and a second memory element in the third memory element to be read; coupling the first bit line and the fourth bit line to a low potential; coupling the other memory cells in the first, second and third memory elements other than the first and second memory cells to a high potential; coupling the particular word line to the select gates for the each of the first, second and third memory elements; coupling a read voltage to the first and second memory cells to be read; and thereafter simultaneously reading data from one of the first and second memory cells via the second and third bit lines.
As a method for programming data to a non-volatile memory, one embodiment of the invention includes at least: identifying three adjacent memory elements along a particular word line, each of the three adjacent memory elements being coupled between an adjacent pair of bit lines, each of the three adjacent memory elements including at least a pair of memory cells; coupling one of the bit lines in each of the adjacent pairs of the bit lines surrounding each of two of the three adjacent memory elements having a memory cell to be programmed to a program level potential; coupling the other of the bit lines in each of the adjacent pairs of the bit lines surrounding each of two of the three adjacent memory elements having a memory cell to be programmed to a low potential; coupling a program gate voltage to the memory cell to be programmed in each of two of the three adjacent memory elements having a memory cell to be read; coupling an overdrive voltage to the other memory cells in the three adjacent memory cells; and thereafter simultaneously programming data to one of the two memory cells in the two of the three adjacent memory elements having a memory cell to be programmed.
As another method for programming data to a non-volatile memory, one embodiment of the invention includes at least: providing a non-volatile memory having an array of memory elements, a plurality of bit lines, a plurality of word lines, and a plurality of gate control signals; identifying first, second and third memory elements that are adjacent one another along a particular word line, each of the first, second and third memory elements including at least a pair of memory cells and a select gate; identifying first, second, third and fourth bit lines that are adjacent one another along the particular word line, the first memory element being interposed between the first bit line and the second bit line, the second memory element being interposed between the second bit line and the third bit line, and the third memory element being interposed between the third bit line and the fourth bit line; identifying a first memory cell in the first memory element and a second memory element in the third memory element to be programmed; coupling the first bit line and the fourth bit line to a program level potential; coupling the other memory cells in the first, second and third memory elements other than the first and second memory cells to a high potential; coupling the particular word line to the select gates for the each of the first, second and third memory elements; coupling a program voltage to the first and second memory cells to be programmed; and thereafter simultaneously programming data to the first and second memory cells.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGSThe invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
The invention relates to a memory system (e.g., memory card) in which density for reading and programming (writing) of dual cell memory elements is enhanced. According to one aspect of the invention, all bit lines for the memory system can be productively used during reading or programming so as to achieve improved (e.g., maximum) parallelism of read and/or program operations. The memory system is typically a non-volatile memory product or device that provides binary or multi-state data storage.
Embodiments of this aspect of the invention are discussed below with reference to
The memory array 14 includes binary or multi-state data storage elements that provide the data storage. The multi-state data storage elements provide higher density storage for data because each such data storage element is capable of storing more than two states. In other words, each multi-state data storage element is capable of storing more than one bit of data, whereas each binary data storage element is capable of storing only a single bit of data. The data storage elements are typically arranged in blocks, which can represent the smallest write unit in one embodiment. Further, each data storage element is a dual cell memory element, meaning that each data storage element includes two memory cells.
With the improved parallelism provided by the invention, the unit of reading or programming pertains to three adjacent data storage elements. In other words, the unit of reading or programming density is three adjacent memory elements. Since each data storage element is a dual cell device, there are six memory cells within the three adjacent memory elements. Two of the six memory cells within the three adjacent memory elements can be concurrently read or programmed. Hence, with three passes or phases, all data can be read from or programmed to each of the memory cells provided in three adjacent dual cell data storage elements. Since every three adjacent data storage elements in the memory array 14 or in a block thereof can be read in this manner, all data can be read from or programmed to the memory array 14 or a block thereof with three passes or phases.
Sense amplifiers are typically provided with the memory array to read out data from the memory elements. To read data with the improved parallelism, one (1) sense amplifier would be provided for the equivalent of one and a half (1½) bit lines in a virtual ground array architecture.
The memory system 10 can, for example, be associated with a memory card (such as a plug-in card), a memory stick, or some other semiconductor memory product. Examples of memory cards include PC Card (formerly PCMCIA device), Flash Card, Flash Disk, Multimedia Card, and ATA Card.
The memory block 200 includes a plurality of dual cell memory elements 202. The portion of the memory block 200 shown in
The memory block 200 permits data to be programmed to or read from the memory cells (C) through use of electrical signals supplied to the memory cells (C) by way of bit lines (BL), word lines (WL), and control signals (CS). These electrical signals operate to bias the memory cells (C) to program, read or isolate select memory cells (C). In addition, although not further discussed, typically, the electrical signals can also erase previously programmed data from memory cells (C) in an individual, group or bulk manner. Normally, the electrical signals are applied by a memory controller (e.g., memory controller 12).
According to the arrangement of the memory block 200 shown in
The operation of the memory block 200 is such that within three adjacent dual cell memory elements, such as the dual cell memory elements 202-1, 202-2 and 202-3 shown in
The memory block 300 includes dual cell memory elements 302 to implement the dual cell memory elements 202 illustrated in
The interconnections for the dual cell memory element 302-1 are as follows. The first terminal of the floating gate cell 304-1 is coupled to the bit line BL1, the second terminal of the floating gate cell 304-1 is connected to a first terminal of the select gate 308-1, and the third terminal of the floating gate cell 304-1 is connected to a control signal CS1. The first terminal of the floating gate cell 306-1 is coupled to the bit line BL2, the second terminal of the floating gate cell 306-1 is connected to the second terminal of the select gate 308-1, and the third terminal of the floating gate cell 306-1 is connected to a control signal CS2. The third terminal of the select gate 308-1 is coupled to the particular word line (WL).
The interconnections for the dual cell memory element 302-2 are as follows. The first terminal of the floating gate cell 304-2 is coupled to the bit line BL2, the second terminal of the floating gate cell 304-2 is connected to a first terminal of the select gate 308-2, and the third terminal of the floating gate cell 304-2 is connected to the control signal CS2. The first terminal of the floating gate cell 306-2 is coupled to the bit line BL3, the second terminal of the floating gate cell 306-2 is connected to the second terminal of the select gate 308-2, and the third terminal of the floating gate cell 306-2 is connected to a control signal CS3. The third terminal of the select gate 308-2 is coupled to the particular word line (WL).
The interconnections for the dual cell memory element 302-3 are as follows. The first terminal of the floating gate cell 304-3 is coupled to the bit line BL3, the second terminal of the floating gate cell 304-3 is connected to a first terminal of the select gate 308-3, and the third terminal of the floating gate cell 304-3 is connected to the control signal CS3. The first terminal of the floating gate cell 306-3 is coupled to the bit line BL4, the second terminal of the floating gate cell 306-3 is connected to the second terminal of the select gate 308-3, and the third terminal of the floating gate cell 306-3 is connected to a control signal CS4. The third terminal of the select gate 308-3 is coupled to the particular word line (WL).
The interconnections for other dual cell memory elements provided within the memory block 300 are similar to the three adjacent dual memory elements 302-1, 302-2 and 302-3 shown in
The dual cell memory element 202-2, however, operates to effectively isolate the dual cell memory element 202-1 from the dual cell memory element 202-3 during the read mode wherein the memory cells C1 and C6 are being read. Here, the biasing of the select gate S2 206-2 with respect to BL2 and BL3 is such that the select gate S2 206-2 is “off” (non-conductive) (S2 has high body bias). As a result, no current flows through the select gate S2 206-2. Hence, the currents i1 and i6 are not corrupted by charge that might be stored in the dual cell memory element 202-2 or current that might otherwise flow through the dual cell memory element 202-2 between the bit lines BL2 or BL3.
Accordingly, two memory cells of the six memory cells of three adjacent dual cell memory elements can be simultaneously read. Further, with three passes or phases, all six of the memory cells within the three adjacent dual cell memory elements can be read. Indeed, with three passes or phases, all the memory cells associated with a particular word line can be read because two of six adjacent memory cells can be read in each pass or phase.
In the particular configuration of the program mode shown in
Hence, two of the six memory cells in the three adjacent dual cell memory elements can be simultaneously programmed. Hence, in three passes or phases, all the memory cells within three adjacent memory elements can be programmed. For example, if a particular word line (WL) supported three-hundred (300) memory cells in the manner in which the memory cells C1 through C6 are represented in
To illustrate a program mode for the memory block 500 in additional detail,
The invention can further pertain to an electronic system that includes a memory system as discussed above. Memory systems (i.e., memory cards) are commonly used to store digital data for use with various electronic products. Often, the memory system is removable from the electronic system so that the stored digital data is portable. The memory systems according to the invention can have a relatively small form factor and be used to store digital data for electronic products such as cameras, hand-held or notebook computers, network cards, network appliances, set-top boxes, hand-held or other small audio players/recorders (e.g., MP3 devices), and medical monitors.
The advantages of the invention are numerous. Different embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that reading and/or programming can be performed with respect to a memory array with increased performance (i.e., increased parallelism). Another advantage of the invention is that inter bit line isolation during reading and/or programming is improved. Still another advantage of the invention is that during reading and/or programming current between adjacent bit lines can be essentially zero because parasitic currents are controlled, thereby allowing high accuracy operation.
The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be deemed limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents are included within the scope of the invention.
Claims
1. A non-volatile semiconductor memory device, comprising:
- a plurality of bit lines;
- a plurality of word lines; and
- a plurality of dual cell storage elements, each of said dual cell storage elements including at least a source device, a drain device and a select device,
- wherein two out of a total of six of said source devices and said drain devices in three adjacent dual cell memory units along a particular one of said word lines are able to be programmed or read simultaneously, and
- wherein said semiconductor memory device is provided on a single semiconductor chip.
Type: Application
Filed: Aug 31, 2004
Publication Date: Feb 3, 2005
Patent Grant number: 6934195
Applicant:
Inventor: Raul Cernea (Santa Clara, CA)
Application Number: 10/931,616