KR20180039802A - Data storage device and operating method thereof - Google Patents
Data storage device and operating method thereof Download PDFInfo
- Publication number
- KR20180039802A KR20180039802A KR1020160130857A KR20160130857A KR20180039802A KR 20180039802 A KR20180039802 A KR 20180039802A KR 1020160130857 A KR1020160130857 A KR 1020160130857A KR 20160130857 A KR20160130857 A KR 20160130857A KR 20180039802 A KR20180039802 A KR 20180039802A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- memory area
- memory cells
- refresh operation
- reference memory
- Prior art date
Links
- 238000013500 data storage Methods 0.000 title abstract description 20
- 238000011017 operating method Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 9
- 230000006866 deterioration Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0035—Evaluating degradation, retention or wearout, e.g. by counting writing cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0033—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
본 발명은 데이터 저장 장치에 관한 것으로, 더욱 상세하게는 비휘발성 메모리 장치를 포함하는 데이터 저장 장치에 관한 것이다.BACKGROUND OF THE
데이터 저장 장치는 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치는 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다. 외부 장치는 데이터를 처리할 수 있는 전자 장치로서, 컴퓨터, 디지털 카메라 또는 휴대폰 등을 포함할 수 있다. 데이터 저장 장치는 외부 장치에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 외부 장치에 연결됨으로써 동작할 수 있다.The data storage device may be configured to store data provided from an external device in response to a write request of the external device. In addition, the data storage device may be configured to provide stored data to an external device in response to a read request of the external device. An external device is an electronic device capable of processing data, and may include a computer, a digital camera, a cellular phone, or the like. The data storage device may be built in an external device or operated in a detachable form and connected to an external device.
데이터 저장 장치는 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어 카드, 메모리 스틱, 다양한 멀티 미디어 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 SSD(Solid State Drive) 등으로 구성될 수 있다.The data storage device may be a personal computer memory card (PCMCIA) card, a CF (compact flash) card, a smart media card, a memory stick, various multimedia cards (MMC, eMMC, RS-MMC, MMC- Digital (SD), Mini-SD, Micro-SD, Universal Flash Storage (UFS), or Solid State Drive (SSD).
데이터 저장 장치는 데이터를 저장하기 위해 비휘발성 메모리 장치를 포함할 수 있다. 비휘발성 메모리 장치는 전원이 인가되지 않더라도 저장된 데이터를 유지할 수 있다. 비휘발성 메모리 장치는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등을 포함할 수 있다.The data storage device may include a non-volatile memory device for storing data. A non-volatile memory device can retain stored data even when power is not applied. The non-volatile memory device may be a flash memory device such as NAND Flash or NOR Flash, a Ferroelectrics Random Access Memory (FeRAM), a Phase-Change Random Access Memory (PCRAM), a Magnetic Random Access Memory (MRAM) A Resistive Random Access Memory (ReRAM), and the like.
본 발명의 실시 예는 리프레시 동작을 수행하는데 소모되는 전력 및 시간을 절감할 수 있는 데이터 저장 장치 및 그것의 동작 방법을 제공하는 데 있다.An embodiment of the present invention is to provide a data storage device and a method of operation thereof that can save power and time consumed in performing a refresh operation.
본 발명의 실시 예에 따른 데이터 저장 장치는 참조 메모리 영역 및 노멀 메모리 영역을 포함하고, 상기 참조 메모리 영역에 근거하여 리프레시 동작을 수행할 것인지 여부를 판단하도록 구성된 비휘발성 메모리 장치; 및 상기 비휘발성 메모리 장치의 판단 결과에 따라 웨어 레벨링 동작의 수행 이력에 근거하여 상기 노멀 메모리 영역 중 제1 메모리 영역을 결정하고, 상기 노멀 메모리 영역 중 상기 제1 메모리 영역을 제외한 제2 메모리 영역에 대해 상기 리프레시 동작을 수행하도록 상기 비휘발성 메모리 장치를 제어하도록 구성된 컨트롤러를 포함할 수 있다.A data storage device according to an embodiment of the present invention includes a nonvolatile memory device configured to include a reference memory area and a normal memory area and configured to determine whether to perform a refresh operation based on the reference memory area; And a controller for determining a first memory area of the normal memory area on the basis of a history of a wear leveling operation according to a result of the determination of the nonvolatile memory device and determining a first memory area in a second memory area excluding the first memory area And a controller configured to control the nonvolatile memory device to perform the refresh operation for the nonvolatile memory device.
본 발명의 실시 예에 따른 데이터 저장 장치의 동작 방법은 참조 메모리 영역에 근거하여 리프레시 동작을 수행할 것인지 여부를 판단하는 단계; 판단 결과에 따라, 웨어 레벨링 동작의 수행 이력에 근거하여 노멀 메모리 영역 중 제1 메모리 영역을 결정하는 단계; 및 노멀 메모리 영역 중 상기 제1 메모리 영역을 제외한 제2 메모리 영역에 대해 상기 리프레시 동작을 수행하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method of operating a data storage device including: determining whether to perform a refresh operation based on a reference memory area; Determining a first memory area of a normal memory area based on a history of a wear leveling operation in accordance with a determination result; And performing the refresh operation on a second memory area of the normal memory area except for the first memory area.
본 발명의 실시 예에 따른 데이터 저장 장치 및 그것의 동작 방법은 리프레시 동작을 수행하는데 소모되는 전력 및 시간을 절감할 수 있다.The data storage device and the operation method thereof according to the embodiment of the present invention can save power and time consumed in performing the refresh operation.
도1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치를 도시한 블록도,
도2a 및 도2b는 메모리 셀들의 드리프트 현상을 설명하기 위한 도면,
도3a 및 도3b는 참조 메모리 영역에 대한 상태 모니터부의 동작 방법을 설명하기 위한 도면,
도4는 도1의 비휘발성 메모리 장치의 동작을 도시한 순서도,
도5는 도1의 상태 모니터부의 동작을 도시한 순서도,
도6은 본 발명의 실시 예에 따른 데이터 저장 장치를 도시한 블록도,
도7은 도6의 데이터 저장 장치에서 웨어 레벨링 동작 및 리프레시 동작이 수행되는 방법을 설명하기 위한 도면,
도8은 도6의 데이터 저장 장치에서 웨어 레벨링 동작 및 리프레시 동작이 수행되는 방법을 설명하기 위한 도면,
도9는 도6의 컨트롤러의 동작 방법을 도시하는 순서도이다.1 is a block diagram illustrating a non-volatile memory device in accordance with an embodiment of the present invention.
FIGS. 2A and 2B are diagrams for explaining a drift phenomenon of memory cells,
FIGS. 3A and 3B are diagrams for explaining a method of operating the state monitor unit for the reference memory area,
FIG. 4 is a flowchart showing the operation of the nonvolatile memory device of FIG. 1,
FIG. 5 is a flowchart showing the operation of the status monitor unit of FIG. 1,
6 is a block diagram illustrating a data storage device in accordance with an embodiment of the present invention.
FIG. 7 is a diagram for explaining how a wear leveling operation and a refresh operation are performed in the data storage device of FIG. 6;
FIG. 8 is a diagram for explaining how a wear leveling operation and a refresh operation are performed in the data storage device of FIG. 6;
9 is a flowchart showing an operation method of the controller of Fig.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
도1은 본 발명의 실시 예에 따른 비휘발성 메모리 장치(100)를 도시한 블록도이다. 1 is a block diagram illustrating a
비휘발성 메모리 장치(100)는 외부의 컨트롤러(미도시)의 제어에 따라 데이터를 저장할 수 있고, 외부로부터 파워를 공급받지 않아도 저장된 데이터를 유지할 수 있다. 이하에서, 비휘발성 메모리 장치(100)는 ReRAM(Resistive Random Access Memory)일 수 있다. 그러나, 본 발명의 실시 예는 이에 제한되지 않고, 비휘발성 메모리 장치(100)는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory) 및 MRAM(Magnetic Random Access Memory) 등으로 구현될 수도 있다.The
비휘발성 메모리 장치(100)는 제어부(110), 참조 메모리 영역(120) 및 노멀 메모리 영역(130)을 포함할 수 있다.The
제어부(110)는 컨트롤러의 제어에 따라 참조 메모리 영역(120) 및 노멀 메모리 영역(130)에 대해 라이트 동작 및 리드 동작을 수행할 뿐만 아니라, 비휘발성 메모리 장치(100)의 데이터 신뢰성을 보장하고 수명을 연장시킬 수 있는 기타 관리 동작들을 수행할 수 있다. 관리 동작들은 후술될 바와 같이 상태 모니터 동작 및 리프레시 동작을 포함할 수 있다.The
제어부(110)는 상태 모니터부(111) 및 리프레시부(112)를 포함할 수 있다.The
상태 모니터부(111)는 노멀 메모리 영역(130)에 대해 리프레시 동작이 수행되어야 하는지 여부를 판단하기 위해서 참조 메모리 영역(120)의 상태 악화를 모니터할 수 있다. 상태 모니터부(111)는, 소정 상태로 존재하도록 라이트되었던 참조 메모리 영역(120)의 참조 메모리 셀들이 드리프트 현상에 의해 임계 상태로 변화하였는지를 판단할 수 있다. 즉, 참조 메모리 영역(120)의 참조 메모리 셀들은 노멀 메모리 영역(130)의 노멀 메모리 셀들과 동일한 구조를 가지므로, 상태 모니터부(111)는 참조 메모리 영역(120)의 상태 악화를 모니터함으로써 노멀 메모리 영역(130)의 상태 악화를 추정할 수 있다.The
구체적으로, 상태 모니터부(111)는 소정 상태로 존재하도록 라이트되었던 참조 메모리 셀들 중 타겟 참조 메모리 셀들을 카운트하고, 카운트된 개수가 임계 개수를 초과할 때, 노멀 메모리 영역(130)에 대해 리프레시 동작이 수행되어야 할 것으로 결정할 수 있다. 이때, 상태 모니터부(111)는 참조 메모리 셀들 중 임계 저항값보다 큰 저항값을 가지는 참조 메모리 셀을 타겟 참조 메모리 셀로서 카운트할 수 있다.Specifically, the
리프레시부(112)는 상태 모니터부(111)의 판단에 따라 노멀 메모리 영역(130)에 대해 리프레시 동작을 수행할 수 있다. 리프레시부(112)는 기존에 공지된 다양한 방법에 따라 리프레시 동작을 수행할 수 있다. 노멀 메모리 영역(130)의 노멀 메모리 셀들의 상태는 라이트 동작이 수행된 이후 시간의 흐름에 따라 드리프트 현상에 의해 악화될 수 있지만, 리프레시 동작을 통해 회복될 수 있다.The
제어부(110)는 노멀 메모리 영역(130)에 대해 리프레시 동작을 수행한 후에, 참조 메모리 영역(120)의 참조 메모리 셀들이 소정 상태로 존재하도록 참조 메모리 영역(120)에 대해 라이트 동작을 수행할 수 있다. 따라서, 참조 메모리 영역(120)은 노멀 메모리 영역(130)의 상태 악화를 다시 반영할 수 있다.The
상술한 바와 같이, 참조 메모리 영역(120)은 상태 모니터부(111)에 의해 상태 악화가 모니터될 수 있다. 참조 메모리 영역(120)은 저장된 데이터의 변경을 통해 상태 악화가 판단될 수 있도록, 미리 정해진 데이터를 저장할 수 있다. 예를 들어, 참조 메모리 영역(120)에 포함된 참조 메모리 셀들은 모두 소정 상태로 존재하도록 라이트될 수 있다.As described above, the deterioration of the state of the
노멀 메모리 영역(130)은 컨트롤러로부터 전송된 데이터를 포함한 다양한 데이터를 저장하고, 리프레시부(112)에 의해 리프레시 동작이 수행될 수 있다.The
도2a 및 도2b는 메모리 셀들의 드리프트 현상을 설명하기 위한 도면이다. 도2a 및 도2b에서 가로축(R)은 메모리 셀의 저항값을 의미하고, 세로축(Cell #)은 메모리 셀들의 개수를 의미할 수 있다. FIGS. 2A and 2B are diagrams for explaining the drift phenomenon of memory cells. In FIGS. 2A and 2B, the horizontal axis R indicates a resistance value of a memory cell, and the vertical axis Cell # indicates a number of memory cells.
우선, 참조 메모리 영역(120) 및 노멀 메모리 영역(130)의 메모리 셀은 라이트 동작을 통해 저장되는 데이터 값에 따라 셋 상태 또는 리셋 상태로 존재할 수 있다. 셋 상태와 리셋 상태는 메모리 셀의 저항값에 따라 구분될 수 있다. 즉, 리드 저항값(Rrd)보다 작은 저항값을 가진 메모리 셀은 셋 상태로 존재하고, 리드 저항값(Rrd)보다 큰 저항값을 가진 메모리 셀은 리셋 상태로 존재할 수 있다. 도2a에서 상태 분포(D1)는 셋 상태에 있는 메모리 셀들을 포함하고, 상태 분포(D2)는 리셋 상태에 있는 메모리 셀들을 포함할 수 있다.First, the memory cells of the
메모리 셀에 대한 리드 동작은 메모리 셀로 소정 전류를 통과시켜, 메모리 셀을 통과한 전류량을 기준 전류량과 비교함으로써 수행될 수 있다. 기준 전류량은 리드 저항값(Rrd)에 대응하는 전류량, 즉, 리드 저항값(Rrd)을 가진 메모리 셀을 통과한 전류량일 수 있다. 따라서, 메모리 셀의 저항값이 리드 저항값(Rrd)보다 작을 때, 즉, 메모리 셀을 통과한 전류량이 기준 전류량보다 클 때 메모리 셀은 셋 상태에 있는 것으로 판단되고, 셋 상태에 대응하는 데이터, 즉, 셋 데이터가 리드될 수 있다. 그리고, 메모리 셀의 저항값이 리드 저항값(Rrd)보다 클 때, 즉, 메모리 셀을 통과한 전류량이 기준 전류량보다 작을 때 메모리 셀은 리셋 상태에 있는 것으로 판단되고, 리셋 상태에 대응하는 데이터, 즉, 리셋 데이터가 리드될 수 있다.The read operation for the memory cell can be performed by passing a predetermined current through the memory cell and comparing the amount of current passing through the memory cell with the amount of reference current. The reference current amount may be an amount of current corresponding to the lead resistance value Rrd, that is, an amount of current passing through the memory cell having the lead resistance value Rrd. Therefore, when the resistance value of the memory cell is smaller than the read resistance value Rrd, that is, when the amount of current passing through the memory cell is larger than the reference current amount, it is determined that the memory cell is in the set state, That is, the set data can be read. When the resistance value of the memory cell is larger than the read resistance value Rrd, that is, when the amount of current passing through the memory cell is smaller than the reference current amount, it is determined that the memory cell is in the reset state, That is, the reset data can be read.
도2b를 참조하면, 시간의 흐름에 따라 메모리 셀의 저항값이 증가하는 드리프트 현상(201)이 발생하면, 상태 분포(D1)는 상태 분포(D3)로 이동할 수 있다. 이때, 리드 저항값(Rrd)을 기준으로 리드 동작이 수행되면 셋 데이터가 라이트되었던 메모리 셀들(202)로부터 리셋 데이터가 리드될 수 있으므로, 리드 에러가 발생할 수 있다. 드리프트 현상(201)은 참조 메모리 영역(120) 및 노멀 메모리 영역(130)에서 동일하게 발생할 수 있다.Referring to FIG. 2B, when the
도3a 및 도3b는 참조 메모리 영역(120)에 대한 상태 모니터부(111)의 동작 방법을 설명하기 위한 도면이다.FIGS. 3A and 3B are diagrams for explaining a method of operating the
도3a를 참조하면, 우선, 참조 메모리 영역(120)의 참조 메모리 셀들은 셋 상태로 존재하도록 라이트될 수 있다. 따라서, 참조 메모리 셀들은 상태 분포(D1)를 형성할 수 있다. 이후, 도2b를 참조하여 설명한 바와 같이 드리프트 현상에 의해 참조 메모리 셀들의 저항값들은 증가할 수 있고, 상태 분포(D1)는 상태 분포(D4)로 이동할 수 있다.Referring to FIG. 3A, first, reference memory cells in the
상태 모니터부(111)는 참조 메모리 셀들 중 임계 저항값(Rth1)을 기준으로 상태가 악화된 참조 메모리 셀들, 즉, 임계 저항값(Rth1)보다 큰 저항값을 가지는 타겟 참조 메모리 셀들(302)을 카운트할 수 있다. The
구체적으로, 상태 모니터부(111)는 임계 저항값(Rth1)에 대응하는 임계 전류량에 근거하여 참조 메모리 셀들에 대해 리드 동작을 수행할 수 있다. 임계 전류량은 임계 저항값(Rth1)에 대응하는 전류량, 즉, 임계 저항값(Rth1)을 가진 메모리 셀을 통과한 전류량일 수 있다. 즉, 상태 모니터부(111)는 참조 메모리 셀들로 전류를 각각 통과시켜, 참조 메모리 셀들을 통과한 전류량들을 임계 전류량과 각각 비교하고, 임계 전류량보다 작은 전류량에 대응하는 참조 메모리 셀들을 타겟 참조 메모리 셀들(302)로서 카운트할 수 있다. 다른 말로 하면, 상태 모니터부(111)는 임계 저항값(Rth1)에 대응하는 임계 전류량에 근거한 리드 동작에서 리셋 데이터가 리드되는 참조 메모리 셀들을 타겟 참조 메모리 셀들(302)로서 카운트할 수 있다.Specifically, the
그리고, 상태 모니터부(111)는 카운트된 개수가 임계 개수를 초과할 때, 노멀 메모리 영역(130)에 대해 리프레시 동작을 수행할 것으로 결정할 수 있다.When the counted number exceeds the threshold number, the
한편, 임계 저항값(Rth1)은 리드 저항값(Rrd)보다 작은 값으로 설정되고, 임계 개수는 마진(301)을 고려하여 설정될 수 있다.On the other hand, the threshold resistance value Rth1 is set to a value smaller than the lead resistance value Rrd, and the threshold number can be set in consideration of the
도3b는 도3a와 다르게 설정된 임계 저항값(Rth2)과 임계 개수에 따라 상태 모니터 동작이 수행되는 경우를 도시한다. FIG. 3B shows a case where a status monitoring operation is performed according to the threshold resistance value Rth2 and the threshold number set differently from FIG. 3A.
도3b에서도 참조 메모리 영역(120)의 참조 메모리 셀들은 셋 상태로 존재하도록 라이트되고, 참조 메모리 셀들은 상태 분포(D1)를 형성할 수 있다.In FIG. 3B, the reference memory cells of the
상태 모니터부(111)는 모든 참조 메모리 셀들이 임계 저항값(Rth2)보다 큰 저항값들을 가질 때, 즉, 참조 메모리 셀들의 상태 분포(D1)가 상태 분포(D5)로 이동할 때, 리프레시 동작을 수행할 것으로 결정할 수 있다. 다른 말로 하면, 상태 모니터부(111)는 임계 저항값(Rth2)에 대응하는 임계 전류량에 근거한 리드 동작에서 모든 참조 메모리 셀들로부터 리셋 데이터가 리드될 때, 리프레시 동작을 수행할 것으로 결정할 수 있다.The
임계 저항값(Rth2)은 마진(303)을 고려하여 설정될 수 있다. The threshold resistance value Rth2 may be set in consideration of the
한편, 상태 모니터 동작은, 셋 상태로 라이트된 메모리 셀의 저항값이 리드 저항값(Rrd)까지 증가하는데 걸리는 시간, 즉, 드리프트 시간을 실험적으로 산출하고, 산출된 시간 내에서 주기적으로 수행되도록 설정될 수 있다. 드리프트 시간은 메모리 셀에 셋 데이터를 라이트한 후, 리셋 데이터로 리드될 때까지 리드 동작을 반복하는 테스트를 통해 산출될 수 있다.On the other hand, the state monitoring operation is performed such that the time required for the resistance value of the memory cell written in the set state to increase to the lead resistance value Rrd, i.e., the drift time is experimentally calculated and set to be performed periodically within the calculated time . The drift time can be calculated through a test in which the set data is written to the memory cell and then the read operation is repeated until the reset data is read.
도4는 도1의 비휘발성 메모리 장치(100)의 동작을 도시한 순서도이다. 4 is a flowchart showing the operation of the
도4를 참조하면, 단계(S110)에서, 제어부(110)는 참조 메모리 영역(120)의 참조 메모리 셀들이 소정 상태, 예를 들어, 셋 상태로 존재하도록 참조 메모리 셀들에 대해 라이트 동작을 수행할 수 있다.4, in step S110, the
단계(S120)에서, 상태 모니터부(111)는 참조 메모리 영역(120)에 근거하여 리프레시 동작을 수행할 것인지 여부를 판단할 수 있다. 상태 모니터부(111)의 구체적인 동작은 도5를 통해 상세히 설명될 것이다. 리프레시 동작을 수행할 것으로 판단될 때, 절차는 단계(S130)로 이동할 수 있다. 리프레시 동작을 수행하지 않을 것으로 판단될 때, 절차는 종료할 수 있다.In step S120, the
단계(S130)에서, 리프레시부(112)는 노멀 메모리 영역(130)에 대해 리프레시 동작을 수행할 수 있다.In step S130, the
도5는 도1의 상태 모니터부(111)의 동작을 도시한 순서도이다. 도5에 도시된 절차는 도4의 단계(S120)의 실시 예일 수 있다.5 is a flowchart showing the operation of the status monitor 111 of FIG. The procedure shown in Fig. 5 may be the embodiment of step S120 of Fig.
단계(S210)에서, 상태 모니터부(111)는 참조 메모리 영역(120)에 포함된 하나 이상의 참조 메모리 셀들 중 타겟 참조 메모리 셀들을 카운트할 수 있다. 타겟 참조 메모리 셀들 각각은 임계 저항값보다 큰 저항값을 가질 수 있다. 상태 모니터부(111)는 참조 메모리 셀들로 전류를 각각 통과시키고, 참조 메모리 셀들을 통과한 전류량들을 임계 저항값에 대응하는 임계 전류량과 각각 비교하고, 임계 전류량보다 작은 전류량에 대응하는 참조 메모리 셀들을 타겟 참조 메모리 셀들로서 카운트할 수 있다. The
단계(S220)에서, 상태 모니터부(111)는 카운트된 개수가 임계 개수를 초과하는지 여부를 판단할 수 있다. 카운트된 개수가 임계 개수를 초과하는 것으로 판단될 때, 절차는 단계(S230)로 이동할 수 있다. 카운트된 개수가 임계 개수를 초과하지 않는 것으로 판단될 때, 절차는 종료할 수 있다.In step S220, the
단계(S230)에서, 상태 모니터부(111)는 리프레시 동작을 수행할 것으로 결정할 수 있다.In step S230, the
도6은 본 발명의 실시 예에 따른 데이터 저장 장치(1)를 도시한 블록도이다.6 is a block diagram illustrating a
데이터 저장 장치(1)는 컨트롤러(10)와 비휘발성 메모리 장치(200)를 포함할 수 있다. The
컨트롤러(10)는 비휘발성 메모리 장치(200)의 라이트 동작 및 리드 동작을 제어할 수 있다. 또한, 컨트롤러(10)는 비휘발성 메모리 장치(200)의 데이터 신뢰성을 보장하기 위해서 리프레시 관리부(11)를 통해 비휘발성 메모리 장치(200)의 리프레시 동작을 제어하고, 비휘발성 메모리 장치(200)의 수명을 연장하기 위해서 웨어 레벨링부(12)를 통해 웨어 레벨링 동작을 수행할 수 있다.The
리프레시 관리부(11)는 비휘발성 메모리 장치(200)가 리프레시 동작을 보다 효율적으로 수행하도록 제어할 수 있다. 구체적으로, 상술한 방법에 따라 상태 모니터부(211)에 의해 리프레시 동작이 수행되어야 할 것으로 판단될 때, 리프레시 관리부(11)는 웨어 레벨링 동작의 수행 이력에 근거하여 노멀 메모리 영역(230)에서 제1 메모리 영역(231)을 결정하고, 노멀 메모리 영역(230) 중 제1 메모리 영역(231)을 제외한 제2 메모리 영역(232)에 대해 리프레시 동작을 수행하도록 비휘발성 메모리 장치(200)를 제어할 수 있다. 제1 메모리 영역(231)은, 이전 리프레시 동작이 수행된 후부터 현재 리프레시 동작을 수행할 것으로 결정된 때까지, 웨어 레벨링 동작이 수행된 메모리 유닛들을 포함할 수 있다. 후술될 바와 같이, 제1 메모리 영역(231)은 웨어 레벨링 동작을 통해 드리프트 효과가 제거된 적이 있으므로 리프레시 동작을 필요로 하지 않을 수 있다. 따라서, 불필요한 리프레시 동작이 수행되지 않음으로써 리프레시 동작에 소모되는 전력 및 시간이 감소할 수 있다.The
웨어 레벨링부(12)는 비휘발성 메모리 장치(200)의 노멀 메모리 영역(230)이 고르게 마모되도록 웨어 레벨링 동작을 수행할 수 있다. 한편, 웨어 레벨링 동작은 라이트 동작을 수반할 수 있다. 따라서, 웨어 레벨링 동작이 수행된 제1 메모리 영역(231)은 드리프트 효과가 일단 제거된 적이 있으므로 리프레시 동작을 필요로 하지 않을 수 있다. 웨어 레벨링부(12)는 웨어 레벨링 동작이 수행된 메모리 영역에 관한 정보를 저장할 수 있다.The
비휘발성 메모리 장치(200)는 도1의 비휘발성 메모리 장치(100)와 실질적으로 유사하게 구성되고 동작할 수 있다. 구체적으로, 비휘발성 메모리 장치(200)는 상태 모니터부(211) 및 리프레시부(212)를 포함하는 제어부(210), 참조 메모리 영역(220) 및 노멀 메모리 영역(230)을 포함할 수 있다. 다만, 상태 모니터부(211)는 참조 메모리 영역(220)의 상태 변화를 모니터함으로써 리프레시 동작이 수행되어야 할 것으로 판단될 때, 리프레시 동작이 수행되지 않을 제1 메모리 영역(231)을 결정하도록 컨트롤러(200)의 리프레시 관리부(11)로 보고할 수 있다. 리프레시부(212)는 리프레시 관리부(11)의 제어에 따라 노멀 메모리 영역(230)에서 제1 메모리 영역(231)을 제외한 제2 메모리 영역(232)에 대해 리프레시 동작을 수행할 수 있다.
도7은 도6의 데이터 저장 장치(1)에서 웨어 레벨링 동작 및 리프레시 동작이 수행되는 방법을 설명하기 위한 도면이다. 도7은, 설명의 간편화를 위해, 어드레스 "0"부터 "7"까지에 대응하는 메모리 유닛들을 포함하는 노멀 메모리 영역(230)을 도시한다.FIG. 7 is a diagram for explaining how a wear leveling operation and a refresh operation are performed in the
설명을 시작하기 전에, 도7에서 웨어 레벨링 동작은 스왑 알고리즘에 따라 선택된 제1 및 제2 메모리 유닛들에 대해 수행될 수 있다. 구체적으로, 웨어 레벨링부(12)는 웨어 레벨링 동작을 수행할 때마다 메모리 유닛들 중 제1 메모리 유닛을 순차적으로, 예를 들어, 어드레스를 증가시키면서 선택할 수 있다. 또한, 웨어 레벨링부(12)는 웨어 레벨링 동작을 수행할 때마다 제1 메모리 유닛에 대해 그 다음 어드레스의 메모리 유닛을 제2 메모리 유닛으로 선택할 수 있다. 그리고, 웨어 레벨링부(12)는 웨어 레벨링 동작을 수행할 때마다 제1 메모리 유닛에 저장된 데이터와 제2 메모리 유닛에 저장된 데이터를 서로 교환하여 저장할 수 있다. 따라서, 메모리 유닛들은 고르게 액세스될 수 있고, 웨어 레벨링될 수 있다. 한편, 실시 예에 따라, 제2 메모리 유닛은 제1 메모리 유닛에 대해 그 다음 어드레스의 메모리 유닛이 아닌, 소정 규칙에 따라 선택된 다른 메모리 유닛일 수도 있다.Before starting the description, the wear leveling operation in Fig. 7 may be performed for the first and second memory units selected according to the swap algorithm. Specifically, the
도7을 참조하면, 시간대(T1)에, 상태 모니터부(211)에 의해 리프레시 동작이 필요하다고 판단되면, 리프레시 관리부(11)는 어드레스 "0"부터 "7"까지의 모든 메모리 유닛들에 대해 리프레시 동작을 수행하도록 비휘발성 메모리 장치(200)를 제어할 수 있다.Referring to FIG. 7, when it is determined in the time zone T1 that the refresh operation is necessary by the
그리고, 시간대(T1) 및 시간대(T2) 사이에서 호스트 장치의 제어에 따라 라이트 동작 및 리드 동작과 같은 다양한 호스트 동작들이 수행될 수 있다. 한편, 웨어 레벨링 동작은 주기적으로, 예를 들어, 호스트 장치에 의한 라이트 동작이 소정 횟수만큼 수행될 때마다 수행될 수 있다. 그러한 결과, 시간대들(T2~T4)에 웨어 레벨링 동작이 스왑 알고리즘에 따라 수행될 수 있다.Various host operations such as a write operation and a read operation can be performed under the control of the host device between the time zone T1 and the time zone T2. On the other hand, the wear leveling operation may be performed periodically, for example, every time the write operation by the host device is performed a predetermined number of times. As a result, a wear leveling operation can be performed according to the swap algorithm in the time zones T2 to T4.
구체적으로, 시간대(T2)에 웨어 레벨링부(12)는 제1 및 제2 메모리 유닛들, 즉, 어드레스 "0" 및 "1"의 메모리 유닛들에 저장된 데이터를 서로 교환하여 저장할 수 있다. 그리고, 시간대(T3)에 웨어 레벨링부(12)는 어드레스 "1" 및 "2"의 메모리 유닛들에 저장된 데이터를 서로 교환하여 저장할 수 있다. 그리고, 시간대(T4)에 웨어 레벨링부(12)는 어드레스 "2" 및 "3"의 메모리 유닛들에 저장된 데이터를 서로 교환하여 저장할 수 있다.Specifically, in the time zone T2, the
그리고, 시간대(T5)에, 상태 모니터부(211)에 의해 리프레시 동작이 필요하다고 판단되면, 리프레시 관리부(11)는 이전 리프레시 동작이 수행되었던 시간대(T1)부터 시간대(T5) 사이에 웨어 레벨링 동작이 수행된 어드레스 "0"부터 "3"까지의 메모리 유닛들을 제외한 어드레스 "4"부터 "7"까지의 메모리 유닛들에 대해서만 리프레시 동작을 수행하도록 비휘발성 메모리 장치(200)를 제어할 수 있다.When it is determined in the time zone T5 that the refresh operation is required by the
즉, 예를 들어, 어드레스 "0"의 메모리 유닛에서는 시간대(T2)에 웨어 레벨링 동작을 통해 라이트 동작이 수행되면, 그전에 발생한 드리프트 효과는 제거될 것이다. 그리고, 어드레스 "0"의 메모리 유닛에서는 시간대(T2)부터 시간대(T5)까지 미약한 드리프트 효과만 발생했을 뿐이므로, 리프레시 동작이 생략될 수 있다. 이와 유사하게, 어드레스 "1"부터 "3"까지의 메모리 유닛들에서도 드리프트 효과가 제거된 바 있으므로 리프레시 동작이 생략될 수 있고, 따라서, 리프레시 동작에 소모되는 전력 및 시간이 감소될 수 있다.That is, for example, in the memory unit of the address "0", if the write operation is performed through the wear leveling operation in the time zone T2, the drift effect generated before will be removed. In the memory unit at the address "0 ", since only a weak drift effect occurs from the time zone T2 to the time zone T5, the refresh operation can be omitted. Similarly, the refresh operation can be omitted because the drift effect is eliminated even in the memory units from addresses "1" to "3 ", so that the power and time consumed in the refresh operation can be reduced.
도8은 도6의 데이터 저장 장치에서 웨어 레벨링 동작 및 리프레시 동작이 수행되는 방법을 설명하기 위한 도면이다. 도7에서 웨어 레벨링 동작으로 스왑 알고리즘이 적용되었던 것과 달리, 도8에서 웨어 레벨링 동작은 갭 지정 알고리즘에 따라 수행될 수 있다.FIG. 8 is a diagram for explaining how a wear leveling operation and a refresh operation are performed in the data storage device of FIG. 6. FIG. In Fig. 8, the wear leveling operation can be performed according to the gap specification algorithm, unlike the swap algorithm applied in the wear leveling operation in Fig.
갭 알고리즘에서도 웨어 레벨링 동작이 수행될 2개의 메모리 유닛들, 즉, 갭으로 지정될 메모리 유닛과 이전에 갭으로 지정되었던 메모리 유닛이 선택될 수 있다. 웨어 레벨링부(12)는 웨어 레벨링 동작을 수행할 때마다 메모리 유닛들 중 갭으로 지정될 메모리 유닛을 순차적으로, 예를 들어, 어드레스를 증가시키면서 선택할 수 있다. 갭으로 지정된 메모리 유닛은 데이터를 저장하는 용도로 사용되지 않을 수 있다. 그리고, 웨어 레벨링부(12)는 웨어 레벨링 동작을 수행할 때마다 갭으로 지정될 메모리 유닛에 저장된 데이터를 이전에 갭으로 지정되었었던 메모리 유닛에 카피할 수 있다. 즉, 웨어 레벨링부(12)는 웨어 레벨링 동작을 수행할 때마다 어드레스를 증가시키면서 갭을 교체할 수 있다. 결과적으로, 메모리 유닛들은 고르게 액세스될 수 있다.In the gap algorithm, two memory units to be subjected to the wear leveling operation, that is, a memory unit to be designated as a gap and a memory unit previously designated as a gap, can be selected. The
구체적으로, 시간대(T11)에서, 상태 모니터부(211)에 의해 리프레시 동작이 필요하다고 판단됨에 따라 어드레스 "1"부터 "7"까지의 메모리 유닛들에 대해 리프레시 동작이 수행될 수 있다. 어드레스 "0"의 메모리 유닛은 갭으로 지정된 영역이고 데이터를 저장하기 위해 사용되지 않는 영역일 수 있다.Specifically, in the time zone T11, the refresh operation can be performed on the memory units at addresses "1" to "7" as the
그리고, 호스트 장치에 의한 라이트 동작이 시간대(T11)부터 소정 횟수만큼 수행된 이후, 시간대(T12)에서 웨어 레벨링부(12)는 어드레스 "1"의 메모리 유닛에 저장된 데이터를 어드레스 "0"의 메모리 유닛으로 카피하고, 갭을 어드레스 "0"의 메모리 유닛으로부터 어드레스 "1"의 메모리 유닛으로 교체할 수 있다. 유사하게, 호스트 장치에 의한 라이트 동작이 시간대(T12)부터 소정 횟수만큼 수행된 이후, 시간대(T13)에서 웨어 레벨링부(12)는 어드레스 "2"의 메모리 유닛에 저장된 데이터를 어드레스 "1"의 메모리 유닛으로 카피하고, 갭을 어드레스 "1"의 메모리 유닛으로부터 어드레스 "2"의 메모리 유닛으로 교체할 수 있다. 또한, 호스트 장치에 의한 라이트 동작이 시간대(T13)부터 소정 횟수만큼 수행된 이후, 시간대(T14)에서 웨어 레벨링부(12)는 어드레스 "3"의 메모리 유닛에 저장된 데이터를 어드레스 "2"의 메모리 유닛으로 카피하고, 갭을 어드레스 "2"의 메모리 유닛으로부터 어드레스 "3"의 메모리 유닛으로 교체할 수 있다.After the write operation by the host apparatus is performed a predetermined number of times from the time period T11, the
그리고, 시간대(T15)에, 상태 모니터부(211)에 의해 판단에 따라 리프레시 동작이 수행될 수 있다. 이때, 리프레시 관리부(11)는 이전 리프레시 동작이 수행되었던 시간대(T11)부터 시간대(T15) 사이에 웨어 레벨링 동작이 수행된 메모리 유닛들, 즉, 갭이었던 어드레스 "0"부터 "3"까지의 메모리 유닛들을 제외한 어드레스 "4"부터 "7"까지의 메모리 유닛들에 대해서만 리프레시 동작이 수행되도록 비휘발성 메모리 장치(200)를 제어할 수 있다. 즉, 시간대들(T11, T15) 사이에서 갭이었던 어드레스 "0"부터 "2"까지의 메모리 유닛들은 라이트 동작을 통해 드리프트 효과가 제거된 적이 있고 현재 갭인 어드레스 "3"의 메모리 유닛은 데이터를 저장하지 않으므로, 리프레시 동작을 필요로 하지 않을 것이다.Then, in the time period T15, the
도9는 도6의 컨트롤러(10)의 동작 방법을 도시하는 순서도이다. 도9의 절차를 시작하기에 앞서 컨트롤러(10)는 상태 모니터부(211)의 보고에 따라 비휘발성 메모리 장치(200)의 리프레시 동작을 제어할 것으로 결정할 수 있다. 9 is a flowchart showing an operation method of the
단계(S310)에서, 컨트롤러(10)는 웨어 레벨링 동작의 수행 이력에 근거하여 노멀 메모리 영역(230) 중 제1 메모리 영역(231)을 결정할 수 있다. 실시 예에 따라, 컨트롤러(10)는 이전 리프레시 동작이 수행된 후부터 스왑 동작이 수행된 메모리 유닛들을 제1 메모리 영역(231)으로 결정할 수 있다. 실시 예에 따라, 컨트롤러(10)는 이전 리프레시 동작이 수행된 후부터 갭으로 지정된 메모리 유닛들을 제1 메모리 영역(231)으로 결정할 수 있다.In step S310, the
단계(S320)에서, 비휘발성 메모리 장치(200)는 컨트롤러(10)의 제어에 따라 노멀 메모리 영역(230) 중 제1 메모리 영역(231)을 제외한 제2 메모리 영역(232)에 대해 리프레시 동작을 수행할 수 있다.In step S320, the
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the appended claims rather than by the foregoing description, It should be understood as. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
100: 비휘발성 메모리 장치
110: 제어부
111: 상태 모니터부
112: 리프레시부
120: 참조 메모리 영역
130: 노멀 메모리 영역100: Nonvolatile memory device
110:
111:
112: Refresh portion
120: Reference memory area
130: Normal memory area
Claims (12)
상기 비휘발성 메모리 장치의 판단 결과에 따라 웨어 레벨링 동작의 수행 이력에 근거하여 상기 노멀 메모리 영역 중 제1 메모리 영역을 결정하고, 상기 노멀 메모리 영역 중 상기 제1 메모리 영역을 제외한 제2 메모리 영역에 대해 상기 리프레시 동작을 수행하도록 상기 비휘발성 메모리 장치를 제어하도록 구성된 컨트롤러를 포함하는 데이터 저장 장치.A nonvolatile memory device including a reference memory area and a normal memory area, the nonvolatile memory device being configured to determine whether to perform a refresh operation based on the reference memory area; And
Determining a first memory area of the normal memory area on the basis of a history of a wear leveling operation according to a result of the determination of the nonvolatile memory device and determining a first memory area of the normal memory area excluding the first memory area And a controller configured to control the non-volatile memory device to perform the refresh operation.
상기 비휘발성 메모리 장치는, 상기 참조 메모리 영역에 포함된 하나 이상의 참조 메모리 셀들 중 타겟 참조 메모리 셀들을 카운트하고, 카운트된 개수가 임계 개수를 초과할 때 상기 리프레시 동작을 수행할 것으로 결정하고,
상기 타겟 참조 메모리 셀들 각각은 임계 저항값보다 큰 저항값을 가지는 데이터 저장 장치.The method according to claim 1,
Wherein the nonvolatile memory device counts target reference memory cells among one or more reference memory cells included in the reference memory area and determines to perform the refresh operation when the counted number exceeds a threshold number,
Wherein each of the target reference memory cells has a resistance value greater than a threshold resistance value.
상기 비휘발성 메모리 장치는, 상기 참조 메모리 셀들로 전류를 각각 통과시키고, 상기 참조 메모리 셀들을 통과한 전류량들을 상기 임계 저항값에 대응하는 임계 전류량과 각각 비교하고, 상기 임계 전류량보다 작은 전류량에 대응하는 참조 메모리 셀들을 상기 타겟 참조 메모리 셀들로서 카운트하는 데이터 저장 장치.3. The method of claim 2,
The nonvolatile memory device according to claim 1, wherein the nonvolatile memory device is configured to pass a current through each of the reference memory cells, compare amounts of currents passing through the reference memory cells with a threshold current amount corresponding to the threshold resistance value, And counting the reference memory cells as the target reference memory cells.
상기 비휘발성 메모리 장치는, 상기 리프레시 동작을 수행한 후에, 상기 참조 메모리 셀들이 소정 상태로 존재하도록 상기 참조 메모리 셀들에 대해 라이트 동작을 수행하는 데이터 저장 장치.3. The method of claim 2,
Wherein the nonvolatile memory device performs a write operation on the reference memory cells such that the reference memory cells are in a predetermined state after performing the refresh operation.
상기 컨트롤러는, 상기 웨어 레벨링 동작의 수행 이력에 근거하여, 이전 리프레시 동작이 수행된 후부터 스왑 동작이 수행된 메모리 유닛들을 상기 제1 메모리 영역으로 결정하는 데이터 저장 장치.The method according to claim 1,
Wherein the controller determines the memory units in which the swap operation has been performed to be the first memory area after the previous refresh operation is performed based on the execution history of the wear leveling operation.
상기 컨트롤러는, 상기 웨어 레벨링 동작의 수행 이력에 근거하여, 이전 리프레시 동작이 수행된 후부터 갭으로 지정된 메모리 유닛들을 상기 제1 메모리 영역으로 결정하는 데이터 저장 장치.The method according to claim 1,
Wherein the controller determines the memory units designated as gaps to be the first memory area after the previous refresh operation is performed based on the execution history of the wear leveling operation.
판단 결과에 따라, 웨어 레벨링 동작의 수행 이력에 근거하여 노멀 메모리 영역 중 제1 메모리 영역을 결정하는 단계; 및
노멀 메모리 영역 중 상기 제1 메모리 영역을 제외한 제2 메모리 영역에 대해 상기 리프레시 동작을 수행하는 단계를 포함하는 데이터 저장 장치의 동작 방법.Determining whether to perform a refresh operation based on a reference memory area;
Determining a first memory area of a normal memory area based on a history of a wear leveling operation in accordance with a determination result; And
And performing the refresh operation on a second memory area of the normal memory area excluding the first memory area.
상기 리프레시 동작을 수행할 것인지 여부를 판단하는 단계는,
상기 참조 메모리 영역에 포함된 하나 이상의 참조 메모리 셀들 중 타겟 참조 메모리 셀들을 카운트하되, 상기 타겟 참조 메모리 셀들 각각은 임계 저항값보다 큰 저항값을 가지는, 카운트하는 단계;
카운트된 개수가 임계 개수를 초과할 때, 상기 리프레시 동작을 수행할 것으로 결정하는 단계를 포함하는 데이터 저장 장치의 동작 방법.8. The method of claim 7,
Wherein the step of determining whether to perform the refresh operation comprises:
Counting target reference memory cells of one or more reference memory cells included in the reference memory region, each of the target reference memory cells having a resistance value greater than a threshold resistance value;
And when the counted number exceeds a threshold number, determining to perform the refresh operation.
상기 타겟 참조 메모리 셀들을 카운트하는 단계는,
상기 참조 메모리 셀들로 전류를 각각 통과시키는 단계;
상기 참조 메모리 셀들을 통과한 전류량들을 상기 임계 저항값에 대응하는 임계 전류량과 각각 비교하는 단계; 및
상기 임계 전류량보다 작은 전류량에 대응하는 참조 메모리 셀들을 상기 타겟 참조 메모리 셀들로서 카운트하는 단계를 포함하는 데이터 저장 장치의 동작 방법.9. The method of claim 8,
Wherein counting the target reference memory cells comprises:
Passing current through the reference memory cells, respectively;
Comparing the amounts of current passing through the reference memory cells with a threshold current amount corresponding to the threshold resistance value, respectively; And
And counting reference memory cells corresponding to an amount of current less than the threshold current amount as the target reference memory cells.
상기 리프레시 동작을 수행한 후에, 상기 참조 메모리 셀들이 소정 상태로 존재하도록 상기 참조 메모리 셀들에 대해 라이트 동작을 수행하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.9. The method of claim 8,
Further comprising performing a write operation on the reference memory cells such that the reference memory cells are in a predetermined state after performing the refresh operation.
상기 제1 메모리 영역을 결정하는 단계는,
상기 웨어 레벨링 동작의 수행 이력에 근거하여, 이전 리프레시 동작이 수행된 후부터 스왑 동작이 수행된 메모리 유닛들을 상기 제1 메모리 영역으로 결정하는 단계를 포함하는 데이터 저장 장치의 동작 방법.8. The method of claim 7,
Wherein determining the first memory area comprises:
And determining the memory units in which the swap operation has been performed as the first memory area after the previous refresh operation is performed, based on the execution history of the wear leveling operation.
상기 제1 메모리 영역들을 결정하는 단계는,
상기 웨어 레벨링 동작의 수행 이력에 근거하여, 이전 리프레시 동작이 수행된 후부터 갭으로 지정된 메모리 유닛들을 상기 제1 메모리 영역으로 결정하는 단계를 포함하는 데이터 저장 장치의 동작 방법.8. The method of claim 7,
Wherein determining the first memory areas comprises:
Determining a memory unit designated as a gap as the first memory area after a previous refresh operation is performed, based on the execution history of the wear leveling operation.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160130857A KR102634813B1 (en) | 2016-10-10 | 2016-10-10 | Data storage device and operating method thereof |
US15/427,221 US9966135B2 (en) | 2016-10-10 | 2017-02-08 | Data storage device and operating method thereof |
CN201710189261.6A CN107919152B (en) | 2016-10-10 | 2017-03-27 | Data storage device and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160130857A KR102634813B1 (en) | 2016-10-10 | 2016-10-10 | Data storage device and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180039802A true KR20180039802A (en) | 2018-04-19 |
KR102634813B1 KR102634813B1 (en) | 2024-02-13 |
Family
ID=61830072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160130857A KR102634813B1 (en) | 2016-10-10 | 2016-10-10 | Data storage device and operating method thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US9966135B2 (en) |
KR (1) | KR102634813B1 (en) |
CN (1) | CN107919152B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210046252A (en) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | Phase change memory system and phase change memory device refresh method |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10789179B1 (en) * | 2017-10-06 | 2020-09-29 | EMC IP Holding Company LLC | Decentralized access management in information processing system utilizing persistent memory |
CN109192236A (en) * | 2018-07-27 | 2019-01-11 | 深圳市泰芯微科技有限公司 | A kind of production method of non-volatility memorizer (NVM) adaptive reference electric current |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100028022A (en) * | 2007-03-28 | 2010-03-11 | 쌘디스크 코포레이션 | Flash memory refresh techniques triggered by controlled scrub data reads |
KR20100097041A (en) * | 2009-02-24 | 2010-09-02 | 가부시끼가이샤 도시바 | Memory controller, semiconductor memory device and control method thereof |
KR20120128014A (en) * | 2011-05-16 | 2012-11-26 | 삼성전자주식회사 | Operating method of nonvolatile memory device and operating method of memory system including nonvolatile memory device |
KR20180045091A (en) * | 2016-10-24 | 2018-05-04 | 에스케이하이닉스 주식회사 | Memory system and method of wear-leveling for the same |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100273111B1 (en) | 1998-08-19 | 2000-12-01 | 윤종용 | Refresh control method and circuit of graphic memory device |
WO2011067795A1 (en) * | 2009-12-02 | 2011-06-09 | Ferdinando Bedeschi | Refresh architecture and algorithm for non-volatile memories |
US20120243299A1 (en) * | 2011-03-23 | 2012-09-27 | Jeng-Jye Shau | Power efficient dynamic random access memory devices |
KR101586723B1 (en) * | 2012-10-12 | 2016-02-02 | 주식회사 솔루엠 | Electron tag device, electron shelf label system, and display reflesh method of electron tag device |
KR102107470B1 (en) | 2013-02-07 | 2020-05-07 | 삼성전자주식회사 | Memory devices and method of refreshing memory devices |
KR20160056056A (en) * | 2014-11-11 | 2016-05-19 | 삼성전자주식회사 | Semiconductor memory device and memory system including the same |
KR102405054B1 (en) * | 2015-11-27 | 2022-06-08 | 에스케이하이닉스 주식회사 | Memory device and method for operating memory device |
-
2016
- 2016-10-10 KR KR1020160130857A patent/KR102634813B1/en active IP Right Grant
-
2017
- 2017-02-08 US US15/427,221 patent/US9966135B2/en active Active
- 2017-03-27 CN CN201710189261.6A patent/CN107919152B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100028022A (en) * | 2007-03-28 | 2010-03-11 | 쌘디스크 코포레이션 | Flash memory refresh techniques triggered by controlled scrub data reads |
KR20100097041A (en) * | 2009-02-24 | 2010-09-02 | 가부시끼가이샤 도시바 | Memory controller, semiconductor memory device and control method thereof |
KR20120128014A (en) * | 2011-05-16 | 2012-11-26 | 삼성전자주식회사 | Operating method of nonvolatile memory device and operating method of memory system including nonvolatile memory device |
KR20180045091A (en) * | 2016-10-24 | 2018-05-04 | 에스케이하이닉스 주식회사 | Memory system and method of wear-leveling for the same |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210046252A (en) * | 2019-10-18 | 2021-04-28 | 삼성전자주식회사 | Phase change memory system and phase change memory device refresh method |
Also Published As
Publication number | Publication date |
---|---|
US9966135B2 (en) | 2018-05-08 |
KR102634813B1 (en) | 2024-02-13 |
CN107919152A (en) | 2018-04-17 |
CN107919152B (en) | 2021-03-02 |
US20180102169A1 (en) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI420303B (en) | Method, non-transistory computer readable medium and apparatus for writing data to different portions of memory based on write frequency | |
TWI474335B (en) | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory | |
US8452913B2 (en) | Semiconductor memory device and method of processing data for erase operation of semiconductor memory device | |
KR102275094B1 (en) | Method and device for writing stored data to a storage medium based on flash memory | |
US8347024B2 (en) | Memory system monitoring data erasing time or writing time | |
KR101687502B1 (en) | Memory controller, data storage device, and memory control method | |
KR102351660B1 (en) | Solid state memory system with power management mechanism and method of operation thereof | |
US10289317B2 (en) | Memory apparatus and methods thereof for write amplification aware wear leveling | |
US9424177B2 (en) | Clock switching method, memory controller and memory storage apparatus | |
TW201802683A (en) | Method of wear leveling for data storage device | |
TWI436369B (en) | Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same | |
US9400746B2 (en) | Data storage device and flash memory control method | |
CN108897492B (en) | Data writing method and device | |
US9361201B2 (en) | Memory system and memory controller | |
KR102634813B1 (en) | Data storage device and operating method thereof | |
CN107958690B (en) | Data storage device and operation method thereof | |
KR20210006121A (en) | Memory system and operation method thereof | |
US9588695B2 (en) | Memory access bases on erase cycle time | |
KR20170052172A (en) | Data storage device and operating method thereof | |
KR20160129418A (en) | Data storage device and operating method thereof | |
CN112204514B (en) | Techniques for preserving life expectancy of non-volatile memory | |
CN107346216B (en) | Storage device and data processing method thereof | |
KR102678654B1 (en) | Nonvolatile memory device, data storage device and operating method thereof | |
CN115509447A (en) | Method and device for realizing dynamic SLC mechanism of solid state disk and computer equipment | |
CN112204514A (en) | Techniques for preserving life expectancy of non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |