The present application claims priority under 35 U.S.C. § 119(a) to Korean Patent Application Number 10-2018-0048046, filed on Apr. 25, 2018, in the Korean Intellectual Property Office, which is incorporated herein by reference in its entirety.
Various embodiments of the present disclosure generally relate to a memory system, and more particularly, to a memory system including a resistive variable memory device, and an operating method thereof.
As memory devices with high performance and low power consumption have been demanded, research is being conducted on next-generation semiconductor memory devices that are non-volatile and that do not require refresh operations.
Next-generation memory devices generally require the high capacity of a dynamic random access memory (DRAM), the non-volatile characteristic of a flash memory, the high speed of a static RAM (SRAM), and the like. The next-generation memory devices may include a phase-change random access memory device (PRAM), a nano-floating gate memory (NFGM), a polymer RAM (PoRAM), a magnetic RAM (MRAM), a ferroelectric RAM (FeRAM), a resistive RAM (ReRAM), and the like.
Embodiments of the present disclosure relate to a memory system capable of preventing degradation of a memory cell and reducing power consumption in operations thereof, and an operating method thereof.
In an embodiment of the present disclosure, a memory system may include: a memory device including a plurality of cell regions; and a memory controller configured to control an operation of the memory device. The memory controller may include: a random access memory (RAM) that stores an address mapping table, of the address mapping table including physical block addresses for the plurality of cell regions, logical block addresses mapped with the physical block addresses, and status values corresponding to the physical block addresses; and a cell region management unit configured to determine whether there is a first cell region to be cleared among the plurality of cell regions, based on the status values, generate a cell clear command when there is the first cell region, and transmit the cell clear command to the memory device. The memory device may perform a clear operation for programming memory cells in the first cell region to a first resistance state or a second resistance state in response to the cell clear command.
In an embodiment of the present disclosure, a method for operating a memory system, the method may include: determining whether there is a first cell region to be cleared based on status values in an address mapping table, the first cell region being one of a plurality of cell regions in a memory device, the address mapping table including physical block addresses for the plurality of cell regions, logical block addresses mapped with the physical block addresses, and the status values corresponding to the physical block addresses; and performing a clear operation on the first cell region, such that memory cells in the first cell region are programmed to a first resistance state or a second resistance state.
According to embodiments, in a write operation for programming memory cells to a reset state, a memory cell having a reset state may be prevented from being programmed to the reset state again and thus the deterioration of the memory cell may be suppressed and the power consumed in a write operation of the memory cell may be reduced.
These and other features, aspects, and embodiments are described below in the section entitled “DETAILED DESCRIPTION”.
The above and other aspects, features and advantages of the subject matter of the present disclosure will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
Various embodiments of the present disclosure will be described in greater detail with reference to the accompanying drawings. The drawings are schematic illustrations of various embodiments. As such, embodiments include variations with respect to the configurations and shapes of the illustrations. Thus, the described embodiments should not be construed as being limited to the particular configurations and shapes illustrated herein but may include deviations in configurations and shapes which do not depart from the spirit and scope of the present invention as defined in the appended claims.
Referring to
The memory controller 200 may control the memory device 100 to read out data stored in the memory device 100 or write data in the memory device 100, in response to a read or write request from a host, respectively. For example, the memory controller 200 may control program (or write), read, and erase operations of the memory device 100 by providing an address ADDR, a command CMD, and a control signal CTRL to the memory device 100. Data DATA including write data and read data may be transmitted between the memory controller 200 and the memory device 100.
Although not shown in
The memory cell array 110 may include a plurality of memory cells (not shown) arranged in regions in which a plurality of first signal lines and a plurality of second signal lines cross each other. For example, the plurality of first signal lines may be a plurality of word lines and the plurality of second signal lines may be a plurality of bit lines. In another example, the plurality of first signal lines may be a plurality of bit lines and the plurality of second signal lines may be a plurality of word lines.
In an embodiment, each of the plurality of memory cells may be a multi-level cell (MLC) configured to store 2 or more bits of data. In another embodiment, the memory cell array 110 may include single level cells (SLC) configured to store 1-bit data and MLCs. When 1-bit data is written in a single memory cell, the memory cell may have one of two resistance states according to data written therein. When 2-bit data is written in a single memory cell, the memory cell may have one of four resistance states according to data written therein. In still another embodiment, when a memory cell in the memory cell array 110 is a triple level cell (TLC) in which 3-bit data is written, the memory cell may have one of eight resistance states according to data written therein. However, the memory cell array 110 is not limited thereto and the memory cell array 110 may include memory cells, each of which stores four or more bits of data.
The memory cell array 110 may include memory cells arranged in a two-dimensional (2D) horizontal structure or memory cells arranged in a 3D vertical structure.
According to an embodiment, the memory cell array 110 may include a plurality of cell regions. Each of the cell regions may be defined in various manners. For example, a cell region may be a page unit including a plurality of memory cells coupled to the same word line. In another example, a cell region may be a unit in which a plurality of memory cells are coupled to word lines and bit lines, the word lines being coupled to one row decoder, the bit lines being coupled to one column decoder. Such a cell region may be defined as a tile (or block). Hereinafter, an example having a cell region that is a block will be described.
The memory cell array 110 may include a plurality of resistive variable memory cells. A resistive variable memory cell may include a variable resistance element (not shown) having a variable resistance. For example, the resistive variable memory device 100 may be a PRAM when the variable resistance element includes a phase-change material of which a resistance is changed according to temperature. The phase-change material may include a compound in which two or more elements are combined. For example, the compound may be a compound in which two elements are combined, such as any of GaSb, InSb, InSe, Sb2Te3, and GeTe; a compound in which three elements are combined, such as any of GeSbTe, GaSeTe, InSbTe, SnSb2Te4, and InSbGe; a compound in which four elements are combined, such as any of AgInSbTe, (GeSn)SbTe, GeSb(SeTe), and Te81Ge15Sb2S2; or the like.
The phase-change material may have an amorphous state having a relatively high resistance and a crystalline state having a relatively low resistance. A phase of the phase-change material may be changed according to Joule heating, which is generated by passing a current through the phase-change material, and a time that the phase-change material is cooled. The temperature of the phase-change material may be based on an amount of current flowing through the phase-change material.
The resistive variable memory device 100 may be an ReRAM when the variable resistance element includes an upper electrode, a lower electrode, and a complex metal oxide layer formed between the upper and lower electrodes. The resistive variable memory device 100 may be an MRAM when the variable resistance element includes a magnetic upper electrode, a magnetic lower electrode, and a dielectric layer formed between the upper and lower electrodes. Hereinafter, the memory cell array 110 will be described under the assumption that the plurality of resistive variable memory cells are PRAM cells.
The write/read circuit 120 may perform write and read operations on each memory cell of the memory cell array 110. The write/read circuit 120 may be coupled to the memory cells in the memory cell array 110 through a plurality of bit lines, and may include a write driver configured to write data in the memory cells and a sense amplifier configured to amplify data read out from the memory cells. The write/read circuit 120 may perform the write and read operations on a memory cell, which is selected by a row decoder (not shown) and a column decoder (not shown), by providing a current pulse or a voltage pulse to the selected memory cell.
The control logic 130 may control an overall operation of the memory device 100. The control logic 130 may control the write/read circuit 120 to perform a memory operation such as the write or read operation. The memory device 100 may further include a power generation circuit (not shown) configured to generate various voltages and currents used in the write and read operations and levels of the voltages and currents may be controlled by the control logic 130.
In the write operation of the memory device 100, a resistance level of a variable resistance element in a selected memory cell of the memory cell array 110 may be increased or reduced according to write data to be written therein. For example, each of the memory cells in the memory cell array 110 may have a resistance level corresponding to data currently stored therein, and the resistance level of the memory cell may be increased or reduced according to write data to be written therein. The write operation may include a reset write operation and a set write operation. In the set write operation, data corresponding to a set state is written in a resistive variable memory cell, and the set state may have a relatively low resistance level that corresponds to a low resistance state. In the reset write operation, data corresponding to a reset state is written in a resistive variable memory cell, and the reset state may have a relatively high resistance level that corresponds to a high resistance state.
The memory controller 200 and the memory device 100 may be integrated in a single semiconductor device. For example, the memory controller 200 and the memory device 100 may be integrated in a single semiconductor device to implement a memory card. For example, the memory controller 200 and the memory device 100 may be integrated in a single semiconductor device to implement a personal computer (PC) card (PCMCIA), a compact flash card (CFC), a smart media card (SM/SMC), a memory stick, a multimedia card (MMC, RS-MMC, micro-MMC), a secure digital card (SD, mini-SD, micro-SD), a universal flash storage device (UFS), or the like. In another example, the memory controller 200 and the memory device 100 may be integrated in a single semiconductor device to implement a solid state disc/drive (SSD).
Referring to
The CPU 210 may control an overall operation of the memory controller 200. For example, the CPU 210 may control various functional blocks related to a memory operation of a memory device, e.g., the memory device 100 shown in
The RAM 220 may be a DRAM or an SRAM. The RAM 220 may temporarily store data which is to be written in the memory device 100 or data read out from the memory device 100. For example, the RAM 220 may operate as a buffer memory of the memory controller 200. The RAM 220 may store firmware driven by the CPU 210. The RAM 220 may store data required for driving the firmware, for example, meta data. For example, the RAM 220 may operate as a working memory of the CPU 210. Although
The RAM 220 may store an address mapping table AMT. The address mapping table AMT may include mapping information between a logical block address LBA received from a host and a physical block address PBA of the memory device 100 corresponding to the logical block address LBA. The address mapping table AMT may further include status information for a memory region designated by the physical block address PBA. The address mapping table AMT will be described below in detail with reference to the drawings.
The wear-level management unit 230 may be configured to manage a wear level for each of a plurality of memory blocks (e.g., B1 to Bk shown in
When data that have been stored in the first memory block are moved to the second memory block, the data stored in the first memory block may be invalid, and the data moved to and stored in the second memory block may be valid data. The invalid data stored in the first memory block are useless data. In an embodiment, a memory block in which invalid data are stored may be referred to as a ‘clear target block.’
When data are moved from the first memory block to the second memory block and stored in the second memory block, a logical block address LBA, which has been mapped with a physical block address PBA of the first memory block, may be re-mapped with a physical block address PBA of the second memory block. Accordingly, although the access to the same logical block address LBA is requested from the host, the memory controller 200 may access not the physical block address PBA of the previously mapped first memory block but the physical block address PBA of the re-mapped second memory block.
The cell region management unit 240 may check statuses of cell regions, for example, the memory blocks B1 to Bk of the memory cell array 110, and determine whether or not to perform a cell region clear operation on the memory blocks B1 to Bk according to the statuses of the memory blocks B1 to Bk. In an embodiment, the cell region clear operation may allow all memory cells in a memory block to have a value corresponding to the same resistance state. Accordingly, in an embodiment, all memory cells in a cleared memory block (for example, a free block) on which the cell region clear operation has been performed may have a first resistance state or a second resistance state. In an embodiment, the first resistance state is one of the set state and the reset state, and the second resistance state is the other one of the set state and the reset state.
The cell region management unit 240 may check status values for physical block addresses PBAs stored in a status value field of the address mapping table AMT and determine whether there is a target memory block to be cleared among the plurality of memory blocks B1 to Bk based on the status values. When there is the target memory block, the cell region management unit 240 may generate a cell clear command CMD_cc for performing a cell region clear operation on the target memory block and provide the cell clear command CMD_cc to the memory device 100 through the memory interface 270. The cell region management unit 240 may operate under the control of the CPU 210.
The host interface 250 may provide an interface between the host and the memory controller 200 and receive a request for a memory operation from the host. For example, the host interface 250 may receive various requests such as a data write request, a data read request, and the like from the host, and the memory controller 200 may generate various internal signals corresponding to memory operations to be performed in the memory device 100 in response to the received requests. For example, the memory controller 200 may communicate with the host through various standard interfaces, and the standard interfaces may include an advanced technology attachment (ATA) interface, a serial ATA (SATA) interface, an external SATA (e-SATA) interface, a parallel ATA (PATA) interface, a small computer system interface (SCSI), a serial attached SCSI (SAS) interface, a peripheral component interconnect (PCI) interface, a peripheral component interconnect-express (PCI-E) interface, an IEEE 1934 interface, a universal serial bus (USB) interface, an integrated device electronics (IDE) interface, a secure digital (SD) card interface, a multimedia card (MMC) interface, an embedded MMC (eMMC) interface, a compact flash (CF) card interface, and so on.
The ECC unit 260 may perform ECC encoding on write data and ECC decoding on read data. The ECC unit 260 may generate an error detection result for the data read out from the memory device 100 and perform an ECC operation on the read-out data. The ECC unit 260 may perform the ECC encoding and the ECC decoding in preset units. The ECC unit 260 may perform the ECC encoding and the ECC decoding using algorithms such as a Reed-Solomon (RS) code, a Hamming code, a cyclic redundancy code (CRC), and the like. The ECC encoding may include an operation of generating parity bits for data to be written in the memory device 100 and the ECC decoding may include an operation of detecting an error bit from data read out from the memory device 100 using the parity bits and correcting the detected error bit.
The ECC unit 260 may be set to have preset error correction capacity. As the error correction capacity is increased, the number of parity bits generated per data having the same size may be increased. For example, as the error correction capacity is increased, the ECC unit 260 can correct more error bits per preset number of data or per ECC unit. Although
The memory interface 270 may provide an interface between the memory controller 200 and the memory device 100. The memory controller 200 may provide a command corresponding to a request from the host, commands corresponding to background operations, and the like to the memory device 100 through the memory interface 270. Write data and read data may be transmitted between the memory controller 200 and the memory device 100 through the memory interface 270.
Referring to
The memory cell array 110 may be coupled to a plurality of first signal lines and a plurality of second signal lines. The memory cell array 110 may include a plurality of memory cells arranged in regions in which the plurality of first signal lines and the plurality of second signal lines cross each other. In an embodiment, the plurality of first signal lines are word lines WL, and the plurality of second lines are bit lines BL.
The memory device 100 may receive an address ADDR for accessing a selected memory cell and a command CMD, and the address ADDR may include a row address X_ADDR for selecting word lines WL and a column address Y_ADDR for selecting bit lines BL. The row decoder 150 may be coupled to the memory cell array 110 through the word lines WL and select at least one of the word lines WL based on the row address X_ADDR. The column decoder 160 may be coupled to the memory cell array 110 through the bit lines BL and select at least one of the bit lines BL based on the column address Y_ADDR.
The write/read circuit 120 may write data DATA received from the outside in the memory cell array 110 or may sense data read out of the memory cell array 110 and output the sensed data to the outside, under the control of the control logic 130. The write/read circuit 120 may provide a write result or a read result to the control logic 130. For example, the write/read circuit 120 may perform a verify operation for verifying a result of a write operation and provide a verify result signal (for example, a pass or fail (P/F) signal) to the control logic 130 in the write operation.
The write/read circuit 120 may be selectively coupled to the row decoder 150 or the column decoder 160. Accordingly, the write/read circuit 120 may be selectively coupled to the word lines WL or the bit lines BL to write data in a selected memory cell or to read out data from the selected memory cell.
The write/read circuit 120 may include the write circuit 121 and the read circuit 122. The write circuit 121 may be coupled to a bit line BL selected by the column decoder 160 and perform a program operation (or a write operation) by providing a program pulse to the selected memory cell. Accordingly, the write circuit 121 may input write data DATA to the memory cell array 110. The program pulse may refer to a write pulse. The program pulse may be a current pulse or a voltage pulse.
For example, the write circuit 121 may perform a set write operation to program a selected memory cell MC in such a manner that a resistance level of the selected memory cell MC is reduced. The write circuit 121 may also perform a reset write operation to program the selected memory cell MC in such a manner that the resistance level of the selected memory cell MC is increased.
The read circuit 122 may be coupled to the bit line BL selected by the column decoder 160 to read out data DATA stored in the selected memory cell MC by determining a resistance level of the selected memory cell MC. The read circuit 122 may sense a voltage of the selected bit line BL to which the selected memory cell MC is coupled and comparing the sensed voltage with a reference voltage. When the selected memory cell MC is an MLC, the read circuit 122 may determine the resistance level of the selected memory cell MC by comparing the sensed voltage of the selected bit line BL with a plurality of reference voltages.
When a normal read command CMD_op is received from the memory controller 200, the read circuit 122 may perform a normal read operation for corresponding memory cells MC. When the cell clear command CMD_cc is received from the memory controller 200, the read circuit 122 may perform a pre-read operation which reads resistance states of the corresponding memory cells MC. The read circuit 122 may also perform a verify operation for determining whether or not a write operation for the memory cell MC is correctly performed after the write operation is performed.
The read circuit 122 may provide the read data DATA to the outside of the memory device 100, for example, to the memory controller 200, in the normal read operation. In the pre-read operation, the read circuit 122 may provide the read data DATA to the control logic 130.
Although
The voltage generation unit 140 may generate various voltages for performing write, read, and erase operations on the memory cell array 110, based on a voltage control signal CTRL_vol provided by the control logic 130. The voltage generation unit 140 may generate driving voltages Vop for driving the plurality of word lines WL and the plurality of bit lines BL. The voltage generation unit 140 may generate one or more reference voltages for reading data stored in a memory cell MC. The voltage generation unit 140 may generate a plurality of reference voltages to read out data from an MLC, and may sequentially provide the plurality of reference voltages to the read circuit 122.
The control logic 130 may output various control signals for writing data DATA in the memory cell array 110, reading out data DATA from the memory cell array 110, and clearing a specific cell region of the memory cell array 110, based on the commands CMD_op and CMD_cc, addresses ADDR_op and ADDR_cc, and the control signal CTRL received from the memory controller 200. The specific cell region to be cleared may be the whole or a portion of a memory block. The various control signals output from the control logic 130 may be provided to the write/read circuit 120, the voltage generation unit 140, the row decoder 150, and the column decoder 160. Accordingly, the control logic 130 may control an overall operation of the memory device 100.
For example, the control logic 130 may generate normal operation control signals CTRL_op based on the normal read command CMD_op and the control signal CTRL and provide the generated normal operation control signals CTRL_op to the write/read circuit 120. The control logic 130 may provide the row address X_ADDR to the row decoder 150 and the column address Y_ADDR to the column decoder 160 based on the addresses ADDR_op and ADDR_cc. The control logic 130 may generate clear operation control signals CTRL_cc based on the cell clear command CMD_cc and the control signal CTRL and provide the generated clear operation control signals CTRL_cc to the write/read circuit 120.
Referring to
For example, in the memory cell array 110, the first region 112 may include j memory blocks B1 to Bj, and the second region 114 may include (k-j) memory blocks Bj+1 to Bk. Here, i, j, and k may be natural numbers and k may be larger than j. The host may transmit logical block addresses LBA to the memory system 10, the logical block addresses LBA corresponding to physical block addresses PBA for accessing the first region 112 in the memory cell array 110.
Referring to
According to an embodiment, each of the plurality of memory cells MC may include a variable resistance element R and a selection element S. The variable resistance element R may include a variable resistance material, and the selection element S may be referred to as a ‘switching element.’
For example, the selection element S may be coupled between one of the plurality of word lines WL1 to WLn and the variable resistance element R, and the variable resistance element R may be coupled between the selection element S and one of the plurality of bit lines BL1 to BLm. However, embodiments are not limited thereto. In another embodiment, the variable resistance element R may be coupled between one of the plurality of word lines WL1 to WLn and the selection element S, and the selection element S may be coupled to the variable resistance element R and one of the plurality of bit lines BL1 to BLm.
The variable resistance element R may be changed to one state among a plurality of resistance states according to an applied electrical pulse. The variable resistance element R may include a phase-change material layer, which has a resistance state changing according to an amount of current applied thereto. The phase-change material layer may include a compound in which two or more elements are combined. For example, the compound may be a compound in which two elements are combined, such as any of GaSb, InSb, InSe, Sb2Te3, and GeTe; a compound in which three elements are combined, such as any of GeSbTe, GaSeTe, InSbTe, SnSb2Te4, and InSbGe; a compound in which four elements are combined, such as any of AgInSbTe, (GeSn)SbTe, GeSb(SeTe), Te81Ge15Sb2S2; or the like. The phase-change material layer may have an amorphous state having a relatively high resistance and a crystalline state having a relatively low resistance. A phase of the phase-change material layer may be changed according to Joule heating, which is generated by passing a current through the phase-change material layer, and a time that the phase-change material layer is cooled. The temperature of the phase-change material layer may be based on an amount of current flowing through the phase-change material layer. Data may be written in the memory cell array 110 using the phase-change of the phase-change material layer.
The selection element S may be coupled between any one of the plurality of word lines WL1 to WLn and the variable resistance element R and control a current supplied to the variable resistance element R according to voltages applied to the coupled word line and bit line. The selection element S may be a diode having a PN junction or a PIN junction. An anode of the diode may be coupled to the variable resistance element R and a cathode of the diode may be coupled to one of the plurality of word lines WL1 to WLn. When a voltage difference between the anode and cathode of the diode is larger than a threshold voltage of the diode, the diode may be turned on and the current may be applied to the variable resistance element R. Although
Referring to
Referring to
Referring to
Referring to
Referring to
The free area may refer to a cleared cell region. The allocated area may refer to a cell region in the first region 112 of the memory cell array 110, which is used by the host. The non-allocated area may refer to a cell region in the first region 112 of the memory cell array 110, which is not used by the host. The spare area may refer to a cell region that cannot be recognized by the host, for example, the second region 114 of the memory cell array 110.
The non-used allocated area may refer to a cell region on which a write operation requested by the host has not been performed yet. Thus, there is no data stored in the non-used allocated area. The allocated area in which valid data are stored may refer to a cell region on which a write operation requested by the host has been performed. The allocated area in which invalid data are stored may refer to a cell region in which data stored therein have been moved to another cell region, e.g., the allocated area or the spare area.
The non-used spare area may refer to a cell region in which no data is stored. The spare area in which valid data are stored may refer to a cell region that stores data moved from another cell region (for example, a cell region in the allocated area). For example, when a write count of a specific cell region, in which valid data are stored, in the allocated area is equal to or larger than a preset threshold count, the memory controller 200 may control the memory device 100 to move the data stored in the specific cell region to the spare area. The spare area in which invalid data are stored may refer to a cell region from which data stored therein have been moved to another cell region.
In an embodiment, the allocated area in which invalid data are stored, the spare area in which invalid data are stored, and the non-allocated area may correspond to a cell region to be cleared, i.e., a clear target cell region. For example, in the memory cell array 110, cell regions in which useless data are stored and cell regions which are not used by the host may correspond to the clear target cell region. The memory controller 200 may determine whether there is a clear target cell region corresponding to the allocated area in which invalid data are stored, the spare area in which invalid data are stored, or the non-allocated area with reference to the status values stored in the status value fields of the address mapping table AMT, and may control the memory device 100 to perform a cell region clear operation on the clear target cell region.
Referring to
When a write count of the first memory block B1 is equal to or larger than a preset threshold count, a wear-level management unit (e.g., the wear-level management unit 230 of
Referring to
A cell region management unit (e.g., the cell region management unit 240 of
A control logic (e.g., the control logic 130 of
The control logic 130 may control the write/read circuit 120 to perform a write operation for programming all memory cells in the cell region corresponding to the physical block addresses 1 to 3 of the first memory block B1 to the set state or the reset state. For example, when the set state and the reset state are mixed in the read-out data and when the cell region clear operation is performed to allow the memory cells in the cell region to have the set state, the control logic 130 may control the write/read circuit 120 to perform the write operation for programming only memory cells having the reset state, among the memory cells in the cell region corresponding to the physical block addresses 1 to 3 of the first memory block B1, to the set state. In another example, when the cell region clear operation is performed to allow the memory cells in the cell region to have the reset state, the control logic 130 may control the write/read circuit 120 to perform the write operation for programming only memory cells having the set state, among the memory cells in the cell region corresponding to the physical block addresses 1 to 3 of the first memory block B1, to the reset state.
Accordingly, after the cell region clear operation is performed on the cell region corresponding to the physical block addresses 1 to 3 of the first memory block B1, all the memory cells in the cell region corresponding to the physical block addresses 1 to 3 of the first memory block B1 may have the set state or the reset state. The memory cell array 110 in which the first memory block B1 is cleared is illustrated in
As described above, the first region 112 may include a non-allocated area that is not used by the host. The memory controller 200 may recognize that the first region 112 includes the non-allocated area by receiving information indicating that a specific cell region in the first region 112 is not used by the host. For example, information indicating that the second memory block B2 of the first region 112 is not used may be received from the host, which will be described with reference to
As illustrated in
Accordingly, the cell region management unit 240 may determine the cell region corresponding to the physical block addresses 4 to 6 of the second memory block B2 as a clear target cell region that is to be cleared, and may provide the cell clear command CMD_cc for performing the cell region clear operation on the second memory block B2 and the address ADDR_cc corresponding to the physical block addresses 4 to 6 of the second memory block B2 to the memory device 100 through the memory interface 270. The cell region clear operation for clearing a cell region has been described above and thus detailed description for clearing the second memory block B2 will be omitted.
After the cell region clear operation is performed on the second memory block B2, all memory cells in the cell region corresponding to the physical block addresses 4 to 6 of the cleared second memory block B2 may have the set state or the reset state. The memory cell array 110 in which the second memory block B2 is cleared is illustrated in
As described above, since all the memory cells in the free area have the same resistance state, e.g., the set state or the reset state, the memory controller 200 may control the memory device 100 to program only memory cells, which should be programmed to a different resistance state from a current resistance state, in a first write operation for programming the free area. For example, when all the memory cells in the free area have been cleared to the set state, the memory controller 200 may control the memory device 100 to program only memory cells, which should be programmed to the reset state, in the first write operation for programming the free area. In another example, when all the memory cells in the free area have been cleared to the reset state, the memory controller 200 may control the memory device 100 to program only memory cells, which should be programmed to the set state, in the first write operation for programming the free area.
When the write request received from the host is a write request for programming all the memory cells in the free area to the set state in a state that all the memory cells in the free area have been cleared to the set state, the memory controller 200 may not process the write request received from the host and may discard the write request since all the memory cells in the free area already have the set state. Similarly, when the write request received from the host is a write request for programming all the memory cells in the free area to the reset state in a state that all the memory cells in the free area have been cleared to the reset state, the memory controller 200 may not process the write request received from the host and may discard the write request since all the memory cells in the free area already have the reset state.
Accordingly, a memory cell having the reset state can be prevented from being programmed to the reset state again and thus deterioration of memory cell characteristics due to an excessive current flowing to the memory cell may be improved and the power consumption in the write operation may be reduced.
In S1110, the cell region management unit 240 of the memory controller 200 may determine whether there is a first cell region to be cleared in the memory device 100 with reference to status value fields for the memory cell array 110 in the address mapping table AMT. A cell region may include a plurality of physical block addresses corresponding to pages of the cell region, and status values corresponding to the plurality of physical block addresses may be stored in the status value fields of the address mapping table AMT. The status values for the physical block addresses may be updated according to statuses of the pages corresponding to the physical block addresses. The status values stored in the state value fields of the address mapping table AMT have been described above and thus detailed description therefor will be omitted.
Referring to
In S1120, the memory controller 200 may control the memory device 100 to perform the cell region clear operation for allowing all memory cells in the first cell region to be cleared to have a first resistance state or a second resistance state. For example, the first resistance state may refer to the set state and the second resistance state may refer to the reset state. The memory controller 200 may generate the cell clear command CMD_cc for clearing the first cell region and provide the memory device 100 with the generated cell clear command CMD_cc and the address ADDR_cc indicating the first cell region.
The control logic 130 of the memory device 100 may read out data stored in the memory cells in the first cell region based on the cell clear command CMD_cc and the address ADDR_cc received from the memory controller 200, compare each bit of the read-out data with a reference voltage using the comparison unit 131, and determine whether each bit of the read-out data corresponds to the set state or the reset state using the set/reset determination unit 132. Subsequently, the control logic 130 may control the write/read circuit 120 to perform a write operation for programming all the memory cells in the first cell region to the set state or the reset state.
For example, when the cell region clear operation is performed to allow all the memory cells in the first cell region to have the set state, the control logic 130 may control the write/read circuit 120 to perform the write operation for programming only memory cells having the reset state, among the memory cells in the first cell region, to the set state. In another example, when the cell region clear operation is performed to allow all the memory cells in the first cell region to have the reset state, the control logic 130 may control the write/read circuit 120 to perform the write operation for programming only memory cells having the set state, among the memory cells in the first cell region, to the reset state. Accordingly, all the memory cells in the first cell region may be programmed to have the set state or the reset state in the cell region clear operation.
In S1130, when the write request for programming the cleared first cell region, for example, the free area, to the first state or the second state is received from the host, the memory controller 200 may not process the write request and may discard the write request. For example, when the write request received from the host is a write request for programming all the memory cells in the free area to the set state in a state that all the memory cells in the free area have been cleared to the set state, the memory controller 200 may not process the write request received from the host and may discard the write request. Similarly, when the write request received from the host is a write request for programming all the memory cells in the free area to the reset state in a state that all the memory cells in the free area have been cleared to the reset state, the memory controller 200 may not process the write request received from the host and may discard the write request.
Although not shown in drawings, the memory controller 200 may control the memory device 100 to program only memory cells, which should be programmed to a different resistance state from a current resistance state, in a first write operation for programming the first cell region that is now the free area. For example, when all the memory cells in the first cell region have been cleared to the set state, the memory controller 200 may control the memory device 100 to program only memory cells, which should be programmed to the reset state, in the first write operation for programming the first cell region. In another example, when all the memory cells in the first cell region have been cleared to the reset state, the memory controller 200 may control the memory device 100 to program only memory cells, which should be programmed to the set state, in the first write operation for programming the first cell region.
Referring to
The host 1100 may write data in the memory card 1200 and read out data stored in the memory card 1200. The host controller 1110 may transmit a command CMD, a clock signal CLK generated by a clock generator (not shown) in the host 1100, and data DATA to the memory card 1200 through the host connection unit 1120.
The card controller 1220 may store the data DATA in the memory device 1230 in synchronization with a clock signal generated by a clock generator (not shown) in the card controller 1220 in response to the command CMD received through the card connection unit 1210. The memory device 1230 may store the data DATA transmitted from the host 1100.
The memory card 1200 may be implemented with a Compact Flash card (CFC), a microdrive, a smart media card (SMC), a multimedia card (MMC), a secure digital card (SDC), a memory stick, a USB flash memory driver, or the like.
The control chip 2100 may control the memory devices 2210 to 2240 in response to various signals transmitted from an external memory controller. For example, the control chip 2100 may control write and read operations by selectively activating the memory devices 2210 to 2240 based on various commands and addresses transmitted from the external memory controller. The control chip 2100 may perform various post-processing operations on read data DATA output from the memory devices 2210 to 2240. For example, the control chip 2100 may perform an error detection and correction operation on the read data DATA. The control chip 2100 may control the memory devices 2210 to 2240 to control the number of cut-off voltages generated in each of the memory devices 2210 to 2240 or voltage differences between the cut-off voltages.
Referring to
Referring to
The processor 4200 may perform specific calculations or tasks. According to an embodiment, the processor 4200 may be a microprocessor or a central processing unit (CPU). The processor 4200 may communicate with the RAM 4300, the I/O device 4400, and the memory system 4100 through buses 4600 such as an address bus, a control bus, a data bus, and the like. The memory system 4100 may be implemented using any of the memory systems according to the embodiments illustrated in
According to an embodiment, the processor 4200 may be coupled to an expansion bus such a peripheral component interconnection (PCI) bus.
The RAM 4300 may store data required for an operation of the computing system 4000. For example, the RAM 4300 may be implemented with one or more of a DRAM, a mobile DRAM, an SRAM, a PRAM, an FRAM, a ReRAM, an MRAM, and so on.
The I/O device 4400 may include an input unit, such as one or more of a key board, a key pad, a mouse, and so on, and an output unit, such as one or more of a printer, a display, and so on. The power supply 4500 may supply an operation voltage required for an operation of the computing system 4000.
The above described embodiments of the present invention are intended to illustrate and not to limit the present invention. Various alternatives and equivalents are possible. The invention is not limited by the embodiments described herein. Nor is the invention limited to any specific type of semiconductor device. Other additions, subtractions, or modifications are obvious in view of the present disclosure and are intended to fall within the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2018-0048046 | Apr 2018 | KR | national |