The present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which exemplary embodiments are shown. This invention, however, may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, like numbers refer to like elements throughout.
A flash memory device of the present exemplary embodiment may be realized to include an automatic data backup function where a data backup operation is automatically carried out without data reloading and external control when programming is unsuccessful. With the automatic data backup function of the present invention, it is possible to reprogram data without lowering of the effective operating speed of a memory system including a flash memory device.
Referring to
The register block 150 may comprise of a plurality of page buffers, each of which may be configured to be connected to one column (or bit line) or either one of two columns (or bit lines). Each of the page buffers may operate a write driver or a sense amplifier according to a mode of operation. For example, each of the page buffers may operate as a write driver at a program operation and as a sense amplifier at a read operation. Each of the page buffers may include at least two registers REG1 and REG2 as illustrated in
Returning to
In particular, when a program operation is determined to be unsuccessful, the control block 130 may determine a reprogram operation according to backup parameter information stored in a backup parameter storage component 180. The backup parameter information in the backup parameter storage component 180 may include flag information indicating a reprogram operation, block address information, row/page address information, and the like. When the flag information indicates an on state of the reprogram operation, the reprogram operation may be carried out without external control and without reloading of program data under the control of the control block 130. When the flag information indicates an off state of the reprogram operation, the control block 130 may terminate a program operation and store a status value in the same manner as described above. The block address information is an address for designating a free memory block, and the row/page address information is an address for designating a page where data of an unsuccessfully programmed page is stored. When a reprogram operation is carried out, the block and page address information may be transferred to the row decoder circuit 120 under the control of the control block 130.
In accordance with a flash memory device of the present invention, backup parameter information may be stored in the backup parameter storage component 180 in various ways. For example, the backup parameter information may be stored in any region of the memory cell array 110. The backup parameter information thus stored may be sent to the backup parameter storage component 180 under the control of the control block 130 at power-up. Alternatively: the backup parameter information may be stored in the backup parameter storage component 180 under the control of a memory controller (200 in
In this embodiment, a flash memory device and a memory controller may include a memory system. For example, the memory system may include a memory card. The present exemplary embodiment is not limited to a memory system which includes a memory card.
As illustrated in the above description, a flash memory device according to an embodiment of the present invention performs a reprogram operation with respect to a failed page without external control and reloading of program data when a program operation is determined to have failed. Accordingly a flash memory device operates reliably without lowering of operation performance of a memory system including a flash memory device.
FIG, 5 is a flowchart for describing a program operation of a flash memory device according to an embodiment of the present invention. When a program operation is required from the external source (e.g. a host), data to be programmed may be stored in a buffer memory (201 in
In step S1000, a command and an address may be sent to the flash memory device from the memory controller 200 according to a given timing. The command may be sent to a control block 130 via an input/output buffer block 170, and the address is sent to row and column decoder circuits 120 and 160 via the input/output buffer block 170. In the next step S1100, data stored in the buffer memory 201 may be stored in a register block 150 through the input/output buffer block 170 and a column decoder circuit 160. As described above, loaded data may be retained in a register REG2 of each page buffer. At a program operation, data stored in the register REG2 may be transferred to a register REG1 under the control of the control block 130. Once data to be programmed is all sent to the register block 150, the control block 130 may output flag information of a busy state to the memory controller 200.
Afterwards, in step S1200, data loaded in the register block 150 may be programmed in memory cells of a selected page under the control of the control block 130. As above described: a program operation includes a program execution interval and a verify interval that constitute a program loop. Memory cells of a selected page are programmed during the program execution interval and during the verify interval, there is verified whether the memory cells of the selected page are successfully programmed. During the verify interval, data may be read from memory cells of the selected page via the registers REG1 in the register block 150. At this time, data stored in the registers REG2 of the register block 150 may be retained without change. The read data may be sent to the control block 130 via the column decoder circuit 160, and the control block 130 may verify whether the input data is program pass data. If the input data is determined to be successfully programmed data until page buffers in the register block 150 are all selected, the control block 130 may store a status value of program successful in a status register and terminate a program operation (S1400).
Alternatively, if the input data is determined to be unsuccessfully programmed, the control block 130 may repeat a program operation within a given program loop number. If the program operation is determined to be an unsuccessful program operation after the given program loop number, the control block 130 may check whether a reprogram operation is carried out based on backup parameter information in a backup parameter storage component 180 (S3400). If flag information of the backup parameter information indicates an off state of a reprogram operation, in step S1500, the control block 130 may store a status value of unsuccessful program operation in the status register and terminate a program operation.
If the flag information indicates an on state of the reprogram operation, the control block 130 makes block and page address information in the backup parameter storage component 180 be set to the row decoder circuit 120. Afterwards, the procedure goes to the step S1200. After the row decoder circuit 120 is newly set with the block and page address information, a program operation may be again performed in the same manner as above described The reprogram operation may be carried out automatically using data stored in the registers REG2 without external control and reloading of program data. Data stored in the registers REG1 is different from original data when a program operation is terminated. For this reason, a reprogram operation may be performed using original data stored in the registers REG2. The reprogram operation is substantially identical with the above-described program operation. When the reprogram operation is completed, in step S1500, the control block 130 may update the state register with a status value of program pass and terminate the program operation.
When a program operation is required, as illustrated in
When a program operation is determined to be unsuccessful, a flash memory device according to the present exemplary embodiment may perform a reprogram operation without external control and reloading of program data. This means that reliability of a flash memory device is improved without compromising the performance of a memory system including a flash memory device. Further, since a reload operation is not needed to perform a reprogram operation a memory controller needs no additional buffer memory to store data for a reprogram operation. This means that a reprogram operation is carried out without greater costs to the memory controller.
Flash memory devices are kinds of nonvolatile memories capable of keeping data stored therein even absent a power supply. With the increase in popularity of mobile devices such as cellular phones, personal digital assistants (PDA), digital cameras, portable gaming consoles, and MP3s, the flash memory devices are widely employed as code storage, as well as data storage. The flash memory devices may be also be used in home applications such as high-definition TVs, digital versatile disks (DVDs), routers, and global positioning systems (GPSs).
Although the present invention has been described in connection with the embodiments of the present invention illustrated in the accompanying drawings, it is not limited thereto.
| Number | Date | Country | Kind |
|---|---|---|---|
| 2006-70386 | Jul 2006 | KR | national |