The inventive concept relates to semiconductor memory devices and methods of programming same. More particularly, the inventive concept relates to semiconductor memory devices incorporating multi-level, nonvolatile memory cells and programming methods for same. In certain embodiments, the inventive concept relates to semiconductor memory devices having three-dimensional (3D) memory cell arrays of nonvolatile memory cells and programming methods for same.
Semiconductor memory devices may be generally classified as volatile or nonvolatile according to their operative nature. Volatile memory devices lose stored data in the absence of applied power, while nonvolatile memory devices are able to retain stored data even when power is no longer applied.
There are different kinds of nonvolatile memory devices, including for example, the mask read-only memory (MROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), and electrically erasable programmable read-only memory (EEPROM).
Flash memory is a particular type of EEPROM that has been adopted for use in a great variety of digital systems, such as computers, cellular phones, PDAs, digital cameras, camcorders, voice recorders, MP3 players, handheld PCs, games, facsimiles, scanners, printers, and the like. One factor recommending the wide spread use of flash memory in contemporary electronic devices is its high data density. Data density may be understood as the number of digital data bits capable of being stored per unit area occupied by a memory device, or memory system.
Recent attempts to further increase the data density of nonvolatile memory devices such as flash memory devices have resulted in the development and use of multi-level (or multi-bit) memory cells (MLC) along with related programming techniques. The term “multi-level memory cell(s)” or “MLC” has been used to generally denote a class of nonvolatile memory cells capable of storing more than one bit of binary data. In contrast, “single-level memory cells” or “SLC” are intended to store only a single bit of binary data (e.g., a “1” or “0”). In most applications, the distinction between MLC or SLC in relation to a memory cell (or group of memory cells) has more to do with the particular programming, erase, and/or read techniques applied to the memory cells, rather than the physical or material structure of the memory cell(s). Nonetheless, the provision of nonvolatile memory cell arrays with MLC rather than SLC has resulted in dramatic increases in overall data density.
Other recent attempts to further increase the data density of nonvolatile memory devices such as flash memory devices, have resulted in the development of the three-dimension (3D) memory cell arrays. Historically, memory cell arrays have been implemented in planer (2D) arrangements of memory cells.