KR20190088671A - Nand flash memory device - Google Patents
Nand flash memory device Download PDFInfo
- Publication number
- KR20190088671A KR20190088671A KR1020180007034A KR20180007034A KR20190088671A KR 20190088671 A KR20190088671 A KR 20190088671A KR 1020180007034 A KR1020180007034 A KR 1020180007034A KR 20180007034 A KR20180007034 A KR 20180007034A KR 20190088671 A KR20190088671 A KR 20190088671A
- Authority
- KR
- South Korea
- Prior art keywords
- nand flash
- flash memory
- memory
- score
- read disturbance
- Prior art date
Links
Images
Classifications
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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
- 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/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Description
본 발명은 반도체 메모리 장치에 관한 것이다. 보다 상세하게는, 본 발명은 읽기 동작이 수행됨에 따라 읽기 디스터번스가 발생하는 낸드 플래시 메모리 장치에 관한 것이다.The present invention relates to a semiconductor memory device. More particularly, the present invention relates to a NAND flash memory device in which a read disturbance occurs as a read operation is performed.
반도체 메모리 장치는 전원이 공급되지 않는 상태에서 데이터를 보존할 수 있는지에 따라 휘발성 메모리 장치와 비휘발성 메모리 장치로 구분될 수 있다. 최근에는, 반도체 메모리 장치의 소형화 및 대용량 추세에 따라, 비휘발성 메모리 장치 중에서 낸드 플래시 메모리 장치(NAND flash memory device)가 소형화 및 대용량에 적합하여 널리 사용되고 있다. 일반적으로, 낸드 플래시 메모리 장치는 낸드 플래시 메모리 및 이를 제어하는 메모리 컨트롤러를 포함하고, 읽기(read) 동작과 쓰기(write) 동작은 페이지(page) 단위로 수행하며, 소거(erase) 동작은 블록(block) 단위로 수행한다. 이 때, 낸드 플래시 메모리 장치는 읽기 동작을 수행함에 있어 선택된 메모리 셀이 연결된 워드라인에는 읽기 전압을 인가하고, 선택된 메모리 셀이 연결되지 않은 워드라인들에는 패스(pass) 전압을 인가하는데, 상기 읽기 동작이 반복적으로 수행됨에 따라 패스 전압 또는 읽기 전압에 의해 메모리 셀의 플로팅 게이트(floating gate)로 전자가 주입되어 메모리 셀의 문턱 전압이 상승하는 읽기 디스터번스가 발생하고, 그에 따라, 해당 메모리 셀의 데이터가 부정확하게 독출되는 에러(이하, 읽기 디스터번스 에러로 명명)가 발생한다. 이에, 종래의 낸드 플래시 메모리 장치는 에러 정정 코드(error correction code; ECC)를 이용하여 데이터 복구를 수행하고 있으나, 상기 에러 자체를 해소하는 것은 아니어서 그 한계가 있다.The semiconductor memory device can be divided into a volatile memory device and a nonvolatile memory device depending on whether data can be stored in a state in which power is not supplied. 2. Description of the Related Art In recent years, NAND flash memory devices have been widely used in nonvolatile memory devices because of miniaturization and large capacity of semiconductor memory devices. In general, a NAND flash memory device includes a NAND flash memory and a memory controller for controlling the same. A read operation and a write operation are performed on a page basis, and an erase operation is performed on a block block. At this time, in the NAND flash memory device, a read voltage is applied to a word line to which a selected memory cell is connected in order to perform a read operation, and a pass voltage is applied to a word line to which a selected memory cell is not connected. As the operation is repeatedly performed, electrons are injected into the floating gate of the memory cell due to the pass voltage or the read voltage, so that a read disturbance in which the threshold voltage of the memory cell rises is generated, (Hereinafter referred to as read disturbance error) occurs. Thus, although the conventional NAND flash memory device performs data recovery using an error correction code (ECC), it does not solve the error itself, which is a limitation.
본 발명의 일 목적은 기 설정된 조건에 따라 낸드 플래시 메모리 내에서 데이터 이동을 수행함으로써 읽기 디스터번스 에러를 효과적으로 방지할 수 있는 낸드 플래시 메모리 장치를 제공하는 것이다. 다만, 본 발명의 목적은 상기 목적으로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.It is an object of the present invention to provide a NAND flash memory device capable of effectively preventing a read disturbance error by performing data movement in a NAND flash memory according to predetermined conditions. However, the object of the present invention is not limited to the above objects, but may be variously modified without departing from the spirit and scope of the present invention.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 실시예들에 따른 낸드 플래시 메모리 장치는 복수의 메모리 셀들을 포함하는 낸드 플래시 메모리 및 상기 낸드 플래시 메모리를 제어하는 메모리 컨트롤러를 포함할 수 있다. 이 때, 상기 메모리 컨트롤러는 상기 낸드 플래시 메모리를 복수의 관리 영역들로 구분하여 관리하고, 상기 관리 영역들 각각의 읽기 디스터번스 스코어를 기입하기 위한 읽기 디스터번스 스코어 테이블을 포함할 수 있다. 또한, 상기 메모리 컨트롤러는 상기 관리 영역들 중 상기 읽기 디스터번스 스코어가 기준 스코어 이상인 대상(target) 관리 영역이 존재하면, 상기 대상 관리 영역의 페이지(page) 데이터들을 상기 낸드 플래시 메모리 내 빈(empty) 페이지들로 이동시킬 수 있다.In order to accomplish one object of the present invention, a NAND flash memory device according to embodiments of the present invention may include a NAND flash memory including a plurality of memory cells and a memory controller for controlling the NAND flash memory. At this time, the memory controller may include a read distances score table for managing the NAND flash memory into a plurality of management areas and writing the read disturbance scores of the respective management areas. The memory controller may store page data of the target management area in an empty page in the NAND flash memory if a target management area in which the read disturbance score is equal to or higher than a reference score exists, Lt; / RTI >
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 관리 영역들 중 상기 읽기 디스터번스 스코어가 상기 기준 스코어 미만인 비대상(non-target) 관리 영역에 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터들이 존재하면, 상기 대상 페이지 데이터들을 상기 빈 페이지들로 이동시킬 수 있다.According to an embodiment, when the target page data whose error correction level is equal to or higher than the reference level exists in the non-target management area having the read disturbance score less than the reference score among the management areas, The page data may be moved to the blank pages.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 관리 영역들 각각의 읽기 동작 횟수 정보에 상기 관리 영역들 각각의 데이터 레벨 정보, 상기 관리 영역들 각각의 페이지 특성 정보, 상기 관리 영역들 각각의 페이지 위치 정보 및 상기 관리 영역들 각각의 에러 정정 정보 중에서 적어도 하나 이상을 반영하여 상기 읽기 디스터번스 스코어를 계산할 수 있다.According to an embodiment of the present invention, the memory controller may further include, in the read operation frequency information of each of the management areas, data level information of each of the management areas, page characteristic information of each of the management areas, And error correction information of each of the management areas to reflect the read disturbance score.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 대상 관리 영역의 상기 페이지 데이터들을 상기 빈 페이지들로 이동시킨 후 상기 대상 관리 영역의 상기 읽기 디스터번스 스코어를 초기값으로 리셋(reset)시킬 수 있다.According to an embodiment, the memory controller may move the page data of the target management area to the blank pages, and then reset the read disturbance score of the target management area to an initial value.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 관리 영역들을 상기 낸드 플래시 메모리의 페이지(page) 그룹들, 블록(block)들, 블록 그룹들 또는 플레인(plane)들로 결정할 수 있다.According to one embodiment, the memory controller may determine the management areas as page groups, blocks, block groups, or planes of the NAND flash memory.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 기준 스코어를 상기 관리 영역들에 대해 공통으로 설정하고, 상기 기준 스코어를 상기 낸드 플래시 메모리의 특성 변화에 따라 가변시킬 수 있다.According to an embodiment, the memory controller may set the reference score to be common to the management areas, and may vary the reference score according to a characteristic change of the NAND flash memory.
일 실시예에 의하면, 상기 특성 변화는 상기 낸드 플래시 메모리의 프로그램/소거 사이클일 수 있다.According to an embodiment, the characteristic change may be a program / erase cycle of the NAND flash memory.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 기준 스코어를 상기 관리 영역들마다 독립적으로 설정하고, 상기 기준 스코어를 상기 관리 영역들 각각의 특성 변화에 따라 가변시킬 수 있다.According to an embodiment, the memory controller may independently set the reference score for each of the management areas, and may change the reference score according to a characteristic change of each of the management areas.
일 실시예에 의하면, 상기 특성 변화는 상기 관리 영역들 각각의 프로그램/소거 사이클일 수 있다.According to one embodiment, the characteristic change may be a program / erase cycle of each of the management areas.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 읽기 디스터번스 스코어 테이블을 상기 메모리 컨트롤러 내 비휘발성 메모리 또는 상기 낸드 플래시 메모리에 저장할 수 있다.According to one embodiment, the memory controller may store the read disturbance score table in the non-volatile memory or the NAND flash memory in the memory controller.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 읽기 디스터번스 스코어 테이블을 상기 메모리 컨트롤러 내 휘발성 메모리에 저장할 수 있다.According to one embodiment, the memory controller may store the read disturbance score table in a volatile memory in the memory controller.
일 실시예에 의하면, 상기 메모리 컨트롤러는 기 설정된 백업 시간이 경과할 때마다 상기 읽기 디스터번스 스코어 테이블을 상기 비휘발성 메모리 또는 상기 낸드 플래시 메모리에 백업할 수 있다.According to an embodiment, the memory controller can back up the read distances score table to the nonvolatile memory or the NAND flash memory every predetermined backup time elapses.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 백업 시간을 상기 낸드 플래시 메모리의 동작 환경에 따라 가변시킬 수 있다.According to one embodiment, the memory controller may vary the backup time according to the operating environment of the NAND flash memory.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 읽기 디스터번스 스코어의 증가량이 기준 증가량 이상이 될 때마다 상기 읽기 디스터번스 스코어 테이블을 상기 비휘발성 메모리 또는 상기 낸드 플래시 메모리에 백업할 수 있다.According to an embodiment, the memory controller may back up the read disturbance score table to the nonvolatile memory or the NAND flash memory whenever the increment of the read disturbance score becomes equal to or greater than the reference increment.
일 실시예에 의하면, 상기 메모리 컨트롤러는 상기 기준 증가량을 상기 낸드 플래시 메모리의 동작 환경에 따라 가변시킬 수 있다.According to an embodiment, the memory controller may vary the reference increment according to an operating environment of the NAND flash memory.
본 발명의 실시예들에 따른 낸드 플래시 메모리 장치는 메모리 셀들을 포함하는 낸드 플래시 메모리 및 낸드 플래시 메모리를 제어하는 메모리 컨트롤러를 포함하되, 메모리 컨트롤러로 하여금 낸드 플래시 메모리를 관리 영역들로 구분하여 관리하고, 관리 영역들 각각의 읽기 디스터번스 스코어를 기입하기 위한 읽기 디스터번스 스코어 테이블을 포함하며, 관리 영역들 중 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역이 존재하면 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리 내 빈 페이지들로 이동시킴으로써, 읽기 동작이 반복적으로 수행됨에 따라 패스 전압 또는 읽기 전압에 의해 메모리 셀의 플로팅 게이트로 전자가 주입되어 메모리 셀의 문턱 전압이 상승하는 읽기 디스터번스에 기인한 읽기 디스터번스 에러를 효과적으로 방지할 수 있다. 다만, 본 발명의 효과는 상기 효과로 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.The NAND flash memory device according to embodiments of the present invention includes a NAND flash memory including memory cells and a memory controller for controlling the NAND flash memory, wherein the memory controller divides the NAND flash memory into management areas, And a read disturbance score table for writing a read disturbance score of each of the management areas. If there is a target management area having a read disturbance score of a reference score or more among the management areas, The read disturbance error due to the read disturbance in which the electrons are injected into the floating gate of the memory cell due to the pass voltage or the read voltage and the threshold voltage of the memory cell rises due to the repetition of the read operation It can be effectively prevented. However, the effects of the present invention are not limited to the above effects, and may be variously expanded without departing from the spirit and scope of the present invention.
도 1은 본 발명의 실시예들에 따른 낸드 플래시 메모리 장치를 나타내는 블록도이다.
도 2는 도 1의 낸드 플래시 메모리 장치에 포함된 메모리 컨트롤러의 일 예를 나타내는 블록도이다.
도 3은 도 1의 낸드 플래시 메모리 장치에서 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터가 낸드 플래시 메모리 내 빈 페이지로 이동되는 일 예를 나타내는 순서도이다.
도 4는 도 1의 낸드 플래시 메모리 장치에서 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터가 낸드 플래시 메모리 내 빈 페이지로 이동되는 일 예를 나타내는 도면이다.
도 5는 도 1의 낸드 플래시 메모리 장치에서 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역의 페이지 데이터들이 낸드 플래시 메모리 내 빈 페이지들로 이동되는 일 예를 나타내는 순서도이다.
도 6은 도 1의 낸드 플래시 메모리 장치에서 대상 관리 영역의 페이지 데이터들이 이동된 후 대상 관리 영역의 읽기 디스터번스 스코어가 초기값으로 리셋되는 일 예를 나타내는 순서도이다.
도 7은 도 1의 낸드 플래시 메모리 장치에서 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역의 페이지 데이터들이 낸드 플래시 메모리 내 빈 페이지들로 이동되는 일 예를 나타내는 도면이다.
도 8은 도 1의 낸드 플래시 메모리 장치에서 읽기 디스터번스 스코어 테이블이 비휘발성 메모리 또는 낸드 플래시 메모리에 백업되는 일 예를 나타내는 순서도이다.1 is a block diagram illustrating a NAND flash memory device according to embodiments of the present invention.
2 is a block diagram illustrating an example of a memory controller included in the NAND flash memory device of FIG.
3 is a flowchart illustrating an example in which target page data whose error correction level is equal to or higher than a reference level is moved to a blank page in the NAND flash memory in the NAND flash memory device of FIG.
FIG. 4 is a diagram illustrating an example in which target page data whose error correction level is equal to or higher than a reference level in the NAND flash memory device of FIG. 1 is moved to a blank page in the NAND flash memory.
FIG. 5 is a flowchart illustrating an example in which page data of a target management area having a read disturbance score of a reference score or more is moved to empty pages in the NAND flash memory in the NAND flash memory device of FIG.
FIG. 6 is a flowchart illustrating an example in which the read disturbance score of the target management area is reset to an initial value after page data of a target management area is moved in the NAND flash memory device of FIG. 1;
FIG. 7 is a diagram illustrating an example in which page data of a target management area having a read disturbance score of a reference score or more is moved to empty pages in the NAND flash memory in the NAND flash memory device of FIG. 1;
8 is a flowchart showing an example in which a read disturbance score table is backed up to a nonvolatile memory or a NAND flash memory in the NAND flash memory device of FIG.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.
도 1은 본 발명의 실시예들에 따른 낸드 플래시 메모리 장치를 나타내는 블록도이고, 도 2는 도 1의 낸드 플래시 메모리 장치에 포함된 메모리 컨트롤러의 일 예를 나타내는 블록도이다.FIG. 1 is a block diagram illustrating a NAND flash memory device according to embodiments of the present invention, and FIG. 2 is a block diagram illustrating an example of a memory controller included in the NAND flash memory device of FIG.
도 1 및 도 2를 참조하면, 낸드 플래시 메모리 장치(100)는 메모리 셀들을 포함하는 낸드 플래시 메모리(120) 및 낸드 플래시 메모리를 제어하는 메모리 컨트롤러(140)를 포함할 수 있다.Referring to FIGS. 1 and 2, the NAND
낸드 플래시 메모리(120)는 메모리 셀들을 포함할 수 있다. 이 때, 낸드 플래시 메모리(120)의 물리적인 구성 상 메모리 셀들에 대한 쓰기 동작, 읽기 동작 및 소거 동작에는 제약이 있다. 예를 들어, 메모리 셀들에 대한 읽기 동작과 쓰기 동작은 페이지 단위로 수행되고, 메모리 셀들에 대한 소거 동작은 블록 단위로 수행될 수 있다. 메모리 컨트롤러(140)는 낸드 플래시 메모리(120)를 제어할 수 있다. 메모리 컨트롤러(140)는 플래시 변환 레이어(flash translation layer; FTL)를 이용하여 낸드 플래시 메모리(120)에 대한 읽기 동작, 쓰기 동작, 소거 동작, 병합 동작, 카피백 동작, 컴팩션 동작, 가비지 콜렉션 동작, 웨어 레벨링 동작 등을 수행할 수 있다. 이 때, 상기 동작들은 플래시 변환 레이어가 맵핑 테이블(미도시)을 이용하여 파일 시스템(예를 들어, 확장 파일 시스템(Extended File System; Ext4), NT 파일 시스템(New Technology File System; NTFS) 등)에서 생성되는 논리 어드레스(logical address)를 낸드 플래시 메모리(120)의 물리 어드레스(physical address)로 변환하는 어드레스 맵핑 동작을 수행함으로써 이루어질 수 있다. 한편, 메모리 컨트롤러(140)는 낸드 플래시 메모리(120)에 대한 읽기 동작을 수행함에 있어 선택된 메모리 셀이 연결된 워드라인에는 읽기 전압을 인가하고, 선택된 메모리 셀이 연결되지 않은 워드라인들에는 패스(pass) 전압을 인가한다. 이에, 상기 읽기 동작이 반복적으로 수행됨에 따라 패스 전압 또는 읽기 전압에 의해 메모리 셀의 플로팅 게이트로 전자가 주입되어 메모리 셀의 문턱 전압이 상승하는 읽기 디스터번스가 발생하고, 그에 따라, 해당 메모리 셀의 데이터가 부정확하게 독출되는 읽기 디스터번스 에러가 발생할 수 있다.The
이러한 읽기 디스터번스 에러를 방지하기 위해, 메모리 컨트롤러(140)는 기 설정된 조건에 따라 읽기 디스터번스 에러가 발생 가능한 메모리 셀들의 데이터들을 낸드 플래시 메모리(120)의 빈 공간들로 이동시킬 수 있다. 즉, 메모리 컨트롤러(140)가 낸드 플래시 메모리(120) 내 메모리 셀들에 대한 읽기 동작을 페이지 단위로 수행하기 때문에, 읽기 디스터번스 에러가 발생 가능한 메모리 셀들의 데이터들은 페이지 단위로 독출(즉, 페이지 데이터)되고, 이러한 페이지 데이터들이 낸드 플래시 메모리(120)의 빈 페이지들로 이동되는 것이다. 이를 위해, 메모리 컨트롤러(140)는 낸드 플래시 메모리(120)를 관리 영역들로 구분하여 관리하고, 관리 영역들 각각의 읽기 디스터번스 스코어를 기입하기 위한 읽기 디스터번스 스코어 테이블(160)을 포함할 수 있다. 일 실시예에서, 메모리 컨트롤러(140)는 관리 영역들을 낸드 플래시 메모리(120)의 페이지 그룹들로 결정할 수 있다. 이 경우, 2이상의 페이지들로 구성된 하나의 페이지 그룹이 하나의 관리 영역일 수 있다. 다른 실시예에서, 메모리 컨트롤러(140)는 관리 영역들을 낸드 플래시 메모리(120)의 블록들로 결정할 수 있다. 이 경우, 하나의 블록이 하나의 관리 영역일 수 있다. 또 다른 실시예에서, 메모리 컨트롤러(140)는 관리 영역들을 낸드 플래시 메모리(120)의 블록 그룹들로 결정할 수 있다. 이 경우, 2이상의 블록들로 구성된 하나의 블록 그룹이 하나의 관리 영역일 수 있다. 또 다른 실시예에서, 메모리 컨트롤러(140)는 관리 영역들을 낸드 플래시 메모리(120)의 플레인(plane)들로 결정할 수 있다. 이 경우, 하나의 플레인이 하나의 관리 영역일 수 있다. 실시예에 따라, 메모리 컨트롤러(140)가 하나의 페이지를 하나의 관리 영역으로 결정할 수도 있다. 다만, 이러한 경우에는 읽기 디스터번스 스코어 테이블(160)의 엔트리(entry)들이 과도하게 많아져 메모리 컨트롤러(140)가 관리 영역들을 관리함에 있어 부담이 클 수 있다.In order to prevent such a read disturbance error, the
구체적으로, 메모리 컨트롤러(140)는 읽기 디스터번스 스코어 테이블(160) 내 관리 영역들 각각의 읽기 디스터번스 스코어를 기준 스코어와 비교함으로써, 관리 영역들을 데이터 이동이 필요한 대상 관리 영역과 데이터 이동이 필요하지 않은 비대상 관리 영역으로 나눌 수 있다. 이 때, 메모리 컨트롤러(140)는 관리 영역들 각각의 읽기 동작 횟수 정보에 관리 영역들 각각의 데이터 레벨 정보, 관리 영역들 각각의 페이지 특성 정보, 관리 영역들 각각의 페이지 위치 정보 및 관리 영역들 각각의 에러 정정 정보 중에서 적어도 하나 이상을 반영하여 읽기 디스터번스 스코어를 계산할 수 있다. 즉, 관리 영역들 각각의 읽기 동작 횟수 정보만으로는 읽기 디스터번스로 인한 데이터 손상 수준을 판단하기 어려우므로, 관리 영역들 각각의 데이터 레벨 정보, 관리 영역들 각각의 페이지 특성 정보, 관리 영역들 각각의 페이지 위치 정보 및 관리 영역들 각각의 에러 정정 정보 중에서 적어도 하나 이상을 반영하여 읽기 디스터번스 스코어를 계산하는 것이다. 예를 들어, 메모리 컨트롤러(140)는 관리 영역들 각각의 읽기 동작 횟수 정보에 기초하여 기본적으로 관리 영역들 각각의 읽기 동작 횟수가 증가할수록 읽기 디스터번스 스코어를 증가시킬 수 있다. 이 때, 메모리 컨트롤러(140)는 관리 영역들 각각의 데이터 레벨 정보에 기초하여 관리 영역들 각각이 읽기 전압 및 패스 전압을 인가하는 횟수가 많은 읽기 동작을 요구하는 데이터 레벨(예를 들어, MSB, LSB, CSB에 따라)을 갖는 경우 읽기 디스터번스 스코어를 증가시키는 가중치를 부여할 수 있다. 또한, 메모리 컨트롤러(140)는 관리 영역들 각각의 페이지 특성 정보 및/또는 관리 영역들 각각의 페이지 위치 정보에 기초하여 관리 영역들 각각의 페이지들 즉, 워드라인들에 상응하는 위치가 에러 발생에 취약한 특성을 갖는 경우 읽기 디스터번스 스코어를 증가시키는 가중치를 부여할 수 있다. 나아가, 메모리 컨트롤러(140)는 관리 영역들 각각의 에러 정정 정보에 기초하여 관리 영역들 각각의 에러 정정 수준이 높은 경우 읽기 디스터번스 스코어를 증가시키는 가중치를 부여할 수 있다. 한편, 메모리 컨트롤러(140)는 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킨 후에는 대상 관리 영역의 읽기 디스터번스 스코어를 초기값으로 리셋시킬 수 있다.Specifically, the
메모리 컨트롤러(140)는 낸드 플래시 메모리(120) 내 관리 영역들 중 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역이 존재하면, 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킬 수 있다. 예를 들어, 낸드 플래시 메모리(120) 내 제1 내지 제n(단, n은 2이상의 정수) 관리 영역들이 존재하는 경우, 읽기 디스터번스 스코어 테이블(160)은 제1 내지 제n 읽기 디스터번스 스코어들을 포함할 수 있다. 따라서, 메모리 컨트롤러(140)는 읽기 디스터번스 스코어 테이블(160) 내 제k(단, k는 1이상 n이하의 정수) 읽기 디스터번스 스코어가 기준 스코어 이상인 경우, 제k 관리 영역을 대상 관리 영역으로 결정하고, 제k 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킬 수 있다. 예를 들어, 제1 내지 제n 관리 영역들이 낸드 플래시 메모리(120)의 블록들인 경우, 읽기 디스터번스 스코어 테이블(160) 내 제k 읽기 디스터번스 스코어가 기준 스코어 이상이면, 메모리 컨트롤러(140)는 제k 관리 영역을 대상 관리 영역으로 결정하고, 제k 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 임의의 프리 블록의 빈 페이지들로 이동시킬 있다. 한편, 메모리 컨트롤러(140)는 읽기 디스터번스 스코어와 비교되는 기준 스코어를 낸드 플래시 메모리(120)의 특성 변화에 따라 가변시킬 수 있다. 일 실시예에서, 메모리 컨트롤러(140)는 기준 스코어를 관리 영역들에 대해 공통으로 설정하고, 기준 스코어를 낸드 플래시 메모리의 특성 변화에 따라 가변시킬 수 있다. 이 경우, 관리 영역들 각각의 읽기 디스터번스 스코어는 동일한 기준 스코어와 비교될 수 있다. 이 때, 낸드 플래시 메모리의 특성 변화는 낸드 플래시 메모리(120)의 프로그램/소거(P/E) 사이클일 수 있다. 다른 실시예에서, 메모리 컨트롤러(140)는 기준 스코어를 관리 영역들마다 독립적으로 설정하고, 기준 스코어를 관리 영역들 각각의 특성 변화에 따라 가변시킬 수 있다. 이 경우, 관리 영역들 각각의 읽기 디스터번스 스코어는 관리 영역들 각각을 위해 설정된 기준 스코어와 비교될 수 있다. 이 때, 관리 영역들 각각의 특성 변화는 관리 영역들 각각의 P/E 사이클일 수 있다. 예를 들어, 낸드 플래시 메모리(120)의 특성 저하에 의해 에러 발생이 잦아지면, 메모리 컨트롤러(140)는 상기 기준 스코어를 낮춰 낸드 플래시 메모리(120)의 특성 저하에 대처할 수 있다.The
추가적으로, 메모리 컨트롤러(140)는 관리 영역들 중 읽기 디스터번스 스코어가 기준 스코어 미만인 비대상 관리 영역에 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터들이 존재하면, 비대상 관리 영역의 대상 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킬 수 있다. 즉, 메모리 컨트롤러(140)는 소정이 페이지 데이터를 독출할 때, 해당 페이지 데이터의 에러 정정 수준이 기준 수준 이상인 경우, 해당 페이지 데이터를 우선적으로 낸드 플래시 메모리(120) 내 빈 페이지로 이동시키는 것이다. 따라서, 메모리 컨트롤러(140)는 기본적으로 낸드 플래시 메모리(120) 내 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킴과 동시에, 에러 정정 수준이 기준 수준 이상이어서 계속적으로 에러 발생 가능성이 높은(즉, 데이터 이동이 시급한) 비대상 관리 영역의 대상 페이지 데이터들도 낸드 플래시 메모리(120) 내 빈 페이지들로 바로 이동시킬 수 있다. 그 결과, 읽기 동작이 반복적으로 수행됨에 따라 패스 전압 또는 읽기 전압에 의해 메모리 셀의 플로팅 게이트로 전자가 주입되어 메모리 셀의 문턱 전압이 상승하는 읽기 디스터번스에 기인한 읽기 디스터번스 에러가 효과적으로 방지될 수 있다. 일 실시예에서, 메모리 컨트롤러(140)는 호스트 장치로부터 읽기 동작을 요청하는 읽기 커맨드가 입력되면 상기 읽기 동작이 수행되는 어드레스들에 대해 상술한 동작들을 수행할 수 있다. 다른 실시예에서, 메모리 컨트롤러(140)는 호스트 장치로부터 읽기 동작을 요청하는 읽기 커맨드가 입력되면 상기 읽기 동작이 수행되는 어드레스들에 대해 상술한 동작들을 수행하고, 호스트 장치로부터 소정의 커맨드가 입력되지 않는 아이들(idle) 시간에는 임의의 어드레스들에 대해 임의의 읽기 동작을 수행함으로써 상술한 동작들을 추가적으로 수행할 수 있다. 또 다른 실시예에서, 메모리 컨트롤러(140)는 호스트 장치로부터 읽기 동작을 요청하는 읽기 커맨드가 입력되면 상기 읽기 동작이 수행되는 어드레스들에 대해 상술한 동작들을 수행함과 동시에, 임의의 어드레스들에 대해 임의의 읽기 동작을 수행함으로써 상술한 동작들을 추가적으로 수행할 수 있다. 이 경우, 임의의 읽기 동작에 따른 오버헤드가 발생할 수 있으므로, 낸드 플래시 메모리 장치(100)의 성능을 저하시키지 않는 선에서 임의의 읽기 동작이 수행될 수 있다.In addition, if the target page data whose error correction level is equal to or higher than the reference level exists in the non-target management area whose read disturbance score is less than the reference score among the management areas, the
도 2에 도시된 바와 같이, 메모리 컨트롤러(140)는 프로세서(142), 데이터 메모리(144), 에러 정정 코드(error correction code; ECC) 엔진(146) 및 버퍼 메모리(148)를 포함할 수 있다. 프로세서(142)는 메모리 컨트롤러(140)의 주요 동작을 수행한다. 예를 들어, 프로세서(142)는 플래시 변환 레이어를 실행하고, 읽기 디스터번스 에러를 방지하기 위한 상기 동작들을 수행하는 읽기 디스터번스 매니저를 실행할 수 있다. 데이터 메모리(142)는 읽기 디스터번스 스코어 테이블(160)을 저장할 수 있다. 또한, 실시예에 따라, 데이터 메모리(142)는 P/E 사이클 테이블을 더 포함할 수 있다. 일 실시예에서, 데이터 메모리(142)는 디램(dynamic random access memory; DRAM), 에스램(static random access memory; SRAM), 모바일 DRAM 등과 같은 휘발성 메모리 장치일 수 있다. 이 경우, 데이터 메모리(142)는 상대적으로 고속으로 동작할 수 있으나, 낸드 플래시 메모리 장치(100)가 파워 오프되는 경우 데이터 메모리(142) 내에 저장된 데이터가 유실될 수 있다. 따라서, 데이터 메모리(142)가 휘발성 메모리 장치로 구현되면, 낸드 플래시 메모리 장치(100)가 파워 오프될 것을 고려하여, 데이터 메모리(142) 내에 저장된 데이터가 기 설정된 조건에 따라 백업되는 백업 동작(또는, 동기화 동작)이 수행되어야 한다. 다른 실시예에서, 데이터 메모리(142)는 이피롬(erasable programmable read-only memory; EPROM), 이이피롬(electrically erasable programmable read-only memory; EEPROM), 피램(phase change random access memory; PRAM), 알램(resistance random access memory; RRAM), 엔에프지엠(nano floating gate memory; NFGM), 폴리머램(polymer random access memory; PoRAM), 엠램(magnetic random access memory; MRAM), 에프램(ferroelectric random access memory; FRAM) 등과 같은 비휘발성 메모리 장치일 수 있다. 이 경우, 낸드 플래시 메모리 장치(100)가 파워 오프되더라도 데이터 메모리(142) 내에 저장된 데이터가 유실되지 않지만, 데이터 메모리(142)는 상대적으로 저속으로 동작할 수 있다. ECC 엔진(146)은 낸드 플래시 메모리(120)에 대한 읽기 동작 수행 시에 에러 정정 코드를 이용하여 페이지 데이터에 대한 에러 정정을 수행할 수 있다. 버퍼 메모리(148)는 낸드 플래시 메모리(120) 내 데이터 이동을 수행하거나 또는 호스트 장치와의 데이터 전달을 수행함에 있어 페이지 데이터를 임시적으로 저장할 수 있다. 한편, 도 2에는 도시되지 않았지만, 메모리 컨트롤러(140)는 프로세서(142), 데이터 메모리(144), 에러 정정 코드 엔진(146) 및 버퍼 메모리(148) 외에 다른 구성 요소들(예를 들어, 호스트 장치와의 입출력 기능을 수행하는 호스트 인터페이스 및 낸드 플래시 메모리(120)와의 입출력 기능을 수행하는 메모리 인터페이스)을 더 포함할 수 있다.2,
상술한 바와 같이, 데이터 메모리(142)는 비휘발성 메모리 장치일 수 있다. 이 경우, 메모리 컨트롤러(140)는 읽기 디스터번스 스코어 테이블(160)을 데이터 메모리(142)에 저장하거나 및/또는 낸드 플래시 메모리(120)에 저장할 수 있다. 또는, 데이터 메모리(142)는 휘발성 메모리 장치일 수 있다. 이 경우, 메모리 컨트롤러(140)는 읽기 디스터번스 스코어 테이블(160)을 데이터 메모리(142)에 저장하되, 읽기 디스터번스 스코어 테이블(160)을 메모리 컨트롤러(140) 내 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 백업(또는, 동기화)할 수 있다. 일 실시예에서, 메모리 컨트롤러(140)는 기 설정된 백업 시간이 경과할 때마다 데이터 메모리(142)에 저장된 읽기 디스터번스 스코어 테이블(160)을 메모리 컨트롤러(140) 내 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 백업할 수 있다. 이 경우, 메모리 컨트롤러(140)는 상기 백업 시간을 낸드 플래시 메모리(120)의 동작 환경에 따라 가변시킬 수 있다. 예를 들어, 낸드 플래시 메모리(120)의 동작 환경이 전원 차단이 빈번한 환경인 경우 상기 백업 시간을 감소시킬 수 있고, 낸드 플래시 메모리(120)의 동작 환경이 전원 차단이 빈번하지 않은 환경인 경우 상기 백업 시간을 증가시킬 수 있다. 다만, 이것은 예시적인 것으로서, 상기 백업 시간의 증감이 이에 한정되지는 않는다. 다른 실시예에서, 메모리 컨트롤러(140)는 읽기 디스터번스 스코어 테이블(160) 내 읽기 디스터번스 스코어의 증가량이 기준 증가량 이상이 될 때마다 읽기 디스터번스 스코어 테이블(160)을 메모리 컨트롤러(140) 내 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 백업할 수 있다. 이 경우, 메모리 컨트롤러(140)는 상기 기준 증가량을 낸드 플래시 메모리(120)의 동작 환경에 따라 가변시킬 수 있다. 예를 들어, 낸드 플래시 메모리(120)의 동작 환경이 전원 차단이 빈번한 환경인 경우 상기 기준 증가량을 감소시킬 수 있고, 낸드 플래시 메모리(120)의 동작 환경이 전원 차단이 빈번하지 않은 환경인 경우 상기 기준 증가량을 증가시킬 수 있다. 다만, 이것은 예시적인 것으로서, 상기 기준 증가량의 증감이 이에 한정되지는 않는다. 한편, 데이터 메모리(142)에 저장된 읽기 디스터번스 스코어 테이블(160)은 온전한 형태의 읽기 디스터번스 스코어 테이블(160)이고, 이것이 메모리 컨트롤러(140) 내 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 그대로 저장되는 방식일 수 있다. 또는, 데이터 메모리(142)에 저장된 읽기 디스터번스 스코어 테이블(160)은 소정의 기간 동안의 읽기 디스터번스 스코어 테이블(160)이고, 이것이 메모리 컨트롤러(140) 내 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 저장된 온전한 형태의 읽기 디스터번스 스코어 테이블(160)에 반영되는 방식일 수도 있다.As described above, the
이와 같이, 낸드 플래시 메모리 장치(100)는 메모리 셀들을 포함하는 낸드 플래시 메모리(120) 및 낸드 플래시 메모리(120)를 제어하는 메모리 컨트롤러(140)를 포함하되, 메모리 컨트롤러(140)로 하여금 낸드 플래시 메모리(120)를 관리 영역들로 구분하여 관리하고, 관리 영역들 각각의 읽기 디스터번스 스코어를 기입하기 위한 읽기 디스터번스 스코어 테이블(160)을 포함하도록 할 수 있다. 이에, 낸드 플래시 메모리 장치(100)는 관리 영역들 중 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역이 존재하면 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킴으로써 읽기 디스터번스 에러를 효과적으로 방지할 수 있다. 나아가, 낸드 플래시 메모리 장치(100)는 관리 영역들 중 읽기 디스터번스 스코어가 기준 스코어 미만인 비대상 관리 영역에 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터들이 존재하면, 비대상 관리 영역의 대상 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 바로 이동시킴으로써 읽기 디스터번스 에러를 보다 효과적으로 방지할 수 있다. 그 결과, 낸드 플래시 메모리 장치(100)는 높은 동작 신뢰성 및 높은 동작 안정성을 확보할 수 있다. 한편, 도 1에서는 낸드 플래시 메모리 장치(100)가 하나의 낸드 플래시 메모리(120)를 포함하는 것으로 도시되어 있으나, 이것은 설명의 편의를 위한 것으로서, 낸드 플래시 메모리 장치(100)는 2이상의 낸드 플래시 메모리(120)들을 포함할 수 있다. 실시예에 따라, 낸드 플래시 메모리 장치(100)는 솔리드 스테이트 드라이브(solid state drive; SSD), 시큐어 디지털 카드(secure digital card; SDCARD), 유니버셜 플래시 스토리지(universal flash storage; UFS), 임베디드 멀티미디어 카드(embedded multi media card; EMMC), CF 카드(compact flash card), 메모리 스틱(memory stick), XD 픽쳐 카드(XD picture card) 등으로 구현될 수 있다. 다만, 이것은 예시적인 것으로서, 낸드 플래시 메모리 장치(100)의 구현이 이들에 한정되는 것은 아니다.The NAND
도 3은 도 1의 낸드 플래시 메모리 장치에서 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터가 낸드 플래시 메모리 내 빈 페이지로 이동되는 일 예를 나타내는 순서도이고, 도 4는 도 1의 낸드 플래시 메모리 장치에서 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터가 낸드 플래시 메모리 내 빈 페이지로 이동되는 일 예를 나타내는 도면이다.FIG. 3 is a flowchart showing an example in which target page data whose error correction level is equal to or higher than a reference level is moved to a blank page in the NAND flash memory in the NAND flash memory device of FIG. 1, FIG. And the target page data whose correction level is equal to or higher than the reference level is moved to a blank page in the NAND flash memory.
도 3 및 도 4를 참조하면, 도 1의 낸드 플래시 메모리 장치(100)에서 메모리 컨트롤러(140) 내 프로세서(142)는 읽기 디스터번스 에러를 방지하는 읽기 디스터번스 매니저(143)를 실행할 수 있다. 구체적으로, 읽기 디스터번스 매니저(143)는 페이지 데이터(123)가 독출될 때 페이지 데이터(123)의 에러 정정 수준을 확인(S110)할 수 있다. 예를 들어, 읽기 디스터번스 매니저(143)는 ECC 엔진(146)으로부터 에러 정정 정보(ECCI)를 수신하고, 에러 정정 정보(ECCI)로부터 페이지 데이터(123)의 에러 정정 수준을 확인할 수 있다. 이후, 읽기 디스터번스 매니저(143)는 페이지 데이터(123)의 에러 정정 수준이 기준 수준 이상인지 여부를 확인(S120)할 수 있다. 이 때, 페이지 데이터(123)의 에러 정정 수준이 기준 수준 미만인 경우, 읽기 디스터번스 매니저(143)는 페이지 데이터(123)를 포함하는 관리 영역(예를 들어, 블록(122-1)의 읽기 디스터번스 스코어를 갱신(즉, TU로 표시)할 수 있다. 이 때, 읽기 디스터번스 매니저(143)는 관리 영역들 각각의 읽기 동작 횟수 정보에 관리 영역들 각각의 데이터 레벨 정보, 관리 영역들 각각의 페이지 특성 정보, 관리 영역들 각각의 페이지 위치 정보 및 관리 영역들 각각의 에러 정정 정보 중에서 적어도 하나 이상을 반영하여 읽기 디스터번스 스코어를 계산할 수 있다. 반면에, 페이지 데이터(123)의 에러 정정 수준이 기준 수준 이상인 경우, 읽기 디스터번스 매니저(143)는 페이지 데이터(123)를 낸드 플래시 메모리(120) 내 빈 페이지로 이동(S130)시킬 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 읽기 디스터번스 매니저(143)는 낸드 플래시 메모리(120)에 대상 페이지 데이터(123)(즉, 에러 정정 수준이 기준 수준 이상인 페이지 데이터(123))의 이동을 위한 커맨드를 제공(즉, CMD로 표시)함으로써, 대상 페이지 데이터(123)를 블록(122-1)에서 다른 블록(122-2)으로 이동(즉, PMOV로 표시)시킬 수 있다. 다른 예를 들어, 읽기 디스터번스 매니저(143)는 낸드 플래시 메모리(120)에 대상 페이지 데이터(123)의 이동을 위한 커맨드를 제공함으로써, 대상 페이지 데이터(123)를 블록(122-1)에서 낸드 플래시 메모리(120) 내 프리 블록(122-4)으로 이동시킬 수 있다. 한편, 대상 페이지 데이터(123)는 블록(122-1)에서 다른 블록(122-2, 122-4)으로 이동된 이후에 관리 영역(예를 들어, 블록(122-1)) 내에서 무효(invalid) 처리될 수 있다. 이와 같이, 낸드 플래시 메모리 장치(100)는 관리 영역들 중 읽기 디스터번스 스코어가 기준 스코어 미만인 비대상 관리 영역에 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터(123)들이 존재하면, 비대상 관리 영역의 대상 페이지 데이터(123)들을 낸드 플래시 메모리(120) 내 빈 페이지들로 바로 이동시킴으로써 읽기 디스터번스 에러를 방지할 수 있다.Referring to FIGS. 3 and 4, in the NAND
도 5는 도 1의 낸드 플래시 메모리 장치에서 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역의 페이지 데이터들이 낸드 플래시 메모리 내 빈 페이지들로 이동되는 일 예를 나타내는 순서도이고, 도 6은 도 1의 낸드 플래시 메모리 장치에서 대상 관리 영역의 페이지 데이터들이 이동된 후 대상 관리 영역의 읽기 디스터번스 스코어가 초기값으로 리셋되는 일 예를 나타내는 순서도이며, 도 7은 도 1의 낸드 플래시 메모리 장치에서 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역의 페이지 데이터들이 낸드 플래시 메모리 내 빈 페이지들로 이동되는 일 예를 나타내는 도면이다.FIG. 5 is a flowchart showing an example in which page data of a target management area having a read disturbance score equal to or higher than a reference score is moved to empty pages in the NAND flash memory in the NAND flash memory device of FIG. 1. FIG. FIG. 7 is a flowchart showing an example in which a read disturbance score of a target management area is reset to an initial value after page data of a target management area is moved in the memory device. FIG. 7 is a flowchart showing an example of a read disturbance score in the NAND flash memory device of FIG. The page data of the target management area is shifted to the empty pages in the NAND flash memory.
도 5 내지 도 7을 참조하면, 도 1의 낸드 플래시 메모리 장치(100)에서 메모리 컨트롤러(140) 내 프로세서(142)는 읽기 디스터번스 에러를 방지하는 읽기 디스터번스 매니저(143)를 실행할 수 있다. 구체적으로, 읽기 디스터번스 매니저(143)는 관리 영역의 읽기 디스터번스 스코어를 확인(S210)할 수 있다. 예를 들어, 읽기 디스터번스 매니저(143)는 데이터 메모리(144) 내 읽기 디스터번스 스코어 테이블(160)로부터 관리 영역의 읽기 디스터번스 스코어를 독출(즉, RD로 표시)함으로써 읽기 디스터번스 스코어를 확인할 수 있다. 실시예에 따라, 읽기 디스터번스 매니저(143)는 데이터 메모리(144)가 아닌 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 저장된 읽기 디스터번스 스코어 테이블(160)로부터 읽기 디스터번스 스코어를 독출할 수도 있다. 이후, 읽기 디스터번스 매니저(143)는 관리 영역의 읽기 디스터번스 스코어가 기준 스코어 이상인지 여부를 확인(S220)할 수 있다. 한편, 실시예에 따라, 기준 스코어는 관리 영역들에 대해 공통으로 설정되거나 또는 관리 영역들 각각에 대해 독립적으로 설정될 수 있다. 이 때, 기준 스코어는 낸드 플래시 메모리의 특성 변화 또는 관리 영역들 각각의 특성 변화에 따라 가변될 수 있다. 예를 들어, 상기 특성 변화는 P/E 사이클일 수 있다. 따라서, 읽기 디스터번스 매니저(143)는 데이터 메모리(144) 내 P/E 사이클 테이블(170)로부터 낸드 플래시 메모리의 P/E 사이클 또는 관리 영역들 각각의 P/E 사이클을 독출(즉, RD로 표시)함으로써 기준 스코어를 결정할 수 있다. 다음, 관리 영역의 읽기 디스터번스 스코어가 기준 스코어 미만인 경우, 읽기 디스터번스 매니저(143)는 관리 영역의 페이지 데이터들의 데이터 이동을 수행하지 않을 수 있다. 반면에, 관리 영역의 읽기 디스터번스 스코어가 기준 스코어 이상인 경우, 읽기 디스터번스 매니저(143)는 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동(S130)시킬 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 읽기 디스터번스 매니저(143)는 낸드 플래시 메모리(120)에 대상 관리 영역(즉, 읽기 디스터번스 스코어가 기준 스코어 이상인 관리 영역)의 페이지 데이터들의 이동을 위한 커맨드를 제공(즉, CMD로 표시)함으로써, 대상 관리 영역의 페이지 데이터들을 블록(122-1)에서 프리 블록(122-2)으로 이동(즉, BMOV로 표시)시킬 수 있다. 이 때, 대상 관리 영역의 페이지 데이터들이 블록(122-1)에서 프리 블록(122-2)으로 이동된 이후에 블록(122-1) 내 페이지 데이터들은 무효 처리된 이후 소거될 수 있다. 한편, 읽기 디스터번스 매니저(143)는 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동(S310)시킨 후에 대상 관리 영역의 읽기 디스터번스 스코어를 초기값으로 리셋(S320)시킬 수 있다. 예를 들어, 읽기 디스터번스 매니저(143)는 대상 관리 영역의 읽기 디스터번스 스코어를 갱신(즉, RST로 표시)함으로써, 대상 관리 영역의 읽기 디스터번스 스코어를 초기값으로 리셋시킬 수 있다. 이와 같이, 낸드 플래시 메모리 장치(100)는 관리 영역들 중 읽기 디스터번스 스코어가 기준 스코어 이상인 대상 관리 영역이 존재하면 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킴으로써 읽기 디스터번스 에러를 방지할 수 있다.Referring to FIGS. 5 to 7, the
도 8은 도 1의 낸드 플래시 메모리 장치에서 읽기 디스터번스 스코어 테이블이 비휘발성 메모리 또는 낸드 플래시 메모리에 백업되는 일 예를 나타내는 순서도이다.8 is a flowchart showing an example in which a read disturbance score table is backed up to a nonvolatile memory or a NAND flash memory in the NAND flash memory device of FIG.
도 8을 참조하면, 도 1의 낸드 플래시 메모리 장치(100)에서 메모리 컨트롤러(140) 내 프로세서(142)는 읽기 디스터번스 에러를 방지하는 읽기 디스터번스 매니저를 실행할 수 있다. 상술한 바와 같이, 읽기 디스터번스 스코어 테이블(160)은 메모리 컨트롤러 내 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 저장되는 경우, 낸드 플래시 메모리 장치(100)가 파워 오프되더라도, 읽기 디스터번스 스코어 테이블(160)이 유실되지 않으므로, 읽기 디스터번스 매니저는 읽기 디스터번스 스코어 테이블(160)에 대한 백업(즉, 동기화) 동작을 수행하지 않을 수 있다. 반면에, 읽기 디스터번스 스코어 테이블(160)이 메모리 컨트롤러 내 휘발성 메모리에 저장되는 경우, 낸드 플래시 메모리 장치(100)가 파워 오프되면, 읽기 디스터번스 스코어 테이블(160)이 유실되므로, 읽기 디스터번스 매니저는 읽기 디스터번스 스코어 테이블(160)에 대한 백업(즉, 동기화) 동작을 수행할 수 있다. 구체적으로, 읽기 디스터번스 매니저는 휘발성 메모리 내 읽기 디스터번스 스코어 테이블(160)을 갱신(S410)할 수 있다. 이후, 읽기 디스터번스 매니저는 백업 동작이 수행되기 위한 기 설정된 조건이 만족되었는지 여부를 확인(S420)할 수 있다. 그 결과, 낸드 플래시 메모리 장치(100)가 파워 오프되더라도 읽기 디스터번스 스코어 테이블(160)은 유실되지 않을 수 있고, 소정의 기간 동안(예를 들어, 이전 백업 동작 이후 낸드 플래시 메모리 장치(100)의 파워 오프된 시점) 유실된 정보가 있다고 하더라도 그 유실량이 적기 때문에 관리 영역들 각각의 에러 정정 정보 등에 기초하여 읽기 디스터번스 스코어 테이블(160)은 복구될 수 있다. 일 실시예에서, 기 설정된 조건은 이전 백업 동작 이후 기 설정된 백업 시간이 경과하였는지 여부일 수 있다. 이 때, 상기 백업 시간은 낸드 플래시 메모리(120)의 동작 환경에 따라 가변될 수 있다. 다른 실시예에서, 기 설정된 조건은 이전 백업 동작 이후 읽기 디스터번스 스코어의 증가량이 기준 증가량 이상이 되었는지 여부일 수 있다. 이 때, 상기 기준 증가량은 낸드 플래시 메모리(120)의 동작 환경에 따라 가변될 수 있다. 다음, 백업 동작이 수행되기 위한 기 설정된 조건이 만족된 경우, 읽기 디스터번스 매니저는 메모리 컨트롤러(140) 내 휘발성 메모리에 저장된 읽기 디스터번스 스코어 테이블(160)을 메모리 컨트롤러(140) 내 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 백업할 수 있다. 반면에, 백업 동작이 수행되기 위한 기 설정된 조건이 만족되지 않은 경우, 읽기 디스터번스 매니저는 기 설정된 조건이 만족되었는지 여부를 계속적으로 모니터링할 수 있다. 한편, 메모리 컨트롤러(140) 내 비휘발성 메모리에 저장된 읽기 디스터번스 스코어 테이블(160)은 온전한 형태의 읽기 디스터번스 스코어 테이블(160)이고, 이것이 메모리 컨트롤러(140) 내 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 그대로 저장되는 방식일 수 있다. 또는, 메모리 컨트롤러(140) 내 비휘발성 메모리에 저장되는 읽기 디스터번스 스코어 테이블(160)은 소정의 기간 동안의 읽기 디스터번스 스코어 테이블(160)이고, 이것이 메모리 컨트롤러(140) 내 다른 비휘발성 메모리 또는 낸드 플래시 메모리(120)에 저장된 온전한 형태의 읽기 디스터번스 스코어 테이블(160)에 반영되는 방식일 수도 있다. 이상, 본 발명의 실시예들에 따른 낸드 플래시 메모리 장치(100)에 대해 도면을 참조하여 설명하였지만, 상기 설명은 예시적인 것으로서 본 발명의 기술적 사상을 벗어나지 않는 범위에서 해당 기술 분야에서 통상의 지식을 가진 자에 의하여 수정 및 변경될 수 있을 것이다.Referring to FIG. 8, in the NAND
본 발명은 낸드 플래시 메모리 장치 및 이를 포함하는 메모리 시스템에 적용될 수 있다. 예를 들어, 본 발명은 솔리드 스테이트 드라이브(SSD), 시큐어 디지털 카드(SDCARD), 유니버셜 플래시 스토리지(UFS), 임베디드 멀티미디어 카드(EMMC), CF 카드, 메모리 스틱, XD 픽쳐 카드 등에 적용될 수 있다.The present invention can be applied to a NAND flash memory device and a memory system including the NAND flash memory device. For example, the present invention can be applied to a solid state drive (SSD), a secure digital card (SDCARD), a universal flash storage (UFS), an embedded multimedia card (EMMC), a CF card, a memory stick, an XD picture card and the like.
이상에서는 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the following claims. It can be understood that it is possible.
100: 낸드 플래시 메모리 장치
120: 낸드 플래시 메모리
122: 블록
123: 페이지
140: 메모리 컨트롤러
142: 프로세서
143: 읽기 디스터번스 매니저
144: 데이터 메모리
146: ECC 엔진
148: 버퍼 메모리
160: 읽기 디스터번스 스코어 테이블
170: 프로그램/소거 사이클 테이블100: NAND flash memory device 120: NAND flash memory
122: Block 123: Page
140: memory controller 142: processor
143: Read disturbance manager 144: Data memory
146: ECC engine 148: buffer memory
160: Read disturbance score table
170: program / erase cycle table
Claims (15)
상기 낸드 플래시 메모리를 제어하는 메모리 컨트롤러를 포함하고,
상기 메모리 컨트롤러는 상기 낸드 플래시 메모리를 복수의 관리 영역들로 구분하여 관리하고, 상기 관리 영역들 각각의 읽기 디스터번스 스코어를 기입하기 위한 읽기 디스터번스 스코어 테이블을 포함하며,
상기 메모리 컨트롤러는 상기 관리 영역들 중 상기 읽기 디스터번스 스코어가 기준 스코어 이상인 대상(target) 관리 영역이 존재하면, 상기 대상 관리 영역의 페이지(page) 데이터들을 상기 낸드 플래시 메모리 내 빈(empty) 페이지들로 이동시키는 것을 특징으로 하는 낸드 플래시 메모리 장치.A NAND flash memory including a plurality of memory cells; And
And a memory controller for controlling the NAND flash memory,
Wherein the memory controller includes a read disturbance score table for managing the NAND flash memory by dividing the NAND flash memory into a plurality of management areas and writing a read disturbance score of each of the management areas,
Wherein the memory controller stores page data of the target management area in the NAND flash memory as empty pages if a target management area having the read disturbance score of the reference score or more is present among the management areas, Wherein the NAND flash memory device is a flash memory device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180007034A KR20190088671A (en) | 2018-01-19 | 2018-01-19 | Nand flash memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180007034A KR20190088671A (en) | 2018-01-19 | 2018-01-19 | Nand flash memory device |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190088671A true KR20190088671A (en) | 2019-07-29 |
Family
ID=67480549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180007034A KR20190088671A (en) | 2018-01-19 | 2018-01-19 | Nand flash memory device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190088671A (en) |
-
2018
- 2018-01-19 KR KR1020180007034A patent/KR20190088671A/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10783071B2 (en) | Data storage device and operating method thereof, wherein mapping table for valid data of source block that has not been copied to destination block has a higher priority than mapping information collected by reverse scanning from end of the destination block | |
US9507711B1 (en) | Hierarchical FTL mapping optimized for workload | |
US9996297B2 (en) | Hot-cold data separation method in flash translation layer | |
US9026764B2 (en) | Memory system performing wear leveling based on deletion request | |
US6711663B2 (en) | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof | |
US10776264B2 (en) | Data storage device with power recovery procedure and method for operating non-volatile memory | |
US9239785B2 (en) | Stochastic block allocation for improved wear leveling | |
WO2016069188A1 (en) | Processing of un-map commands to enhance performance and endurance of a storage device | |
US11386005B2 (en) | Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache | |
US10168940B2 (en) | Data storage using SLC and TLC memory banks and data maintenance method thereof | |
CN111755039A (en) | Apparatus and method for reducing cell disturb in a memory system during a recovery process | |
US20210157723A1 (en) | Memory system and operation method thereof | |
US10083181B2 (en) | Method and system for storing metadata of log-structured file system | |
US11150819B2 (en) | Controller for allocating memory blocks, operation method of the controller, and memory system including the controller | |
JP2009211215A (en) | Memory system | |
JP5300496B2 (en) | Semiconductor memory device, host device, and semiconductor memory system | |
CN107193485B (en) | Storage device, control unit thereof and data storage method for storage device | |
KR20210012123A (en) | Memory system, memory controller, and operating method | |
US11392322B2 (en) | Memory system for read operation and operating method thereof | |
KR20230049858A (en) | Memory controller and operating method of memory controller | |
KR20190088671A (en) | Nand flash memory device | |
CN114520013A (en) | Memory system and operating method thereof | |
KR20220005832A (en) | Apparatus and method for managing meta data | |
US20240070061A1 (en) | Logical to physical (l2p) address mapping with fast l2p table load times | |
JP2009211202A (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
X601 | Decision of rejection after re-examination |