KR20190088671A - Nand flash memory device - Google Patents

Nand flash memory device Download PDF

Info

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
Application number
KR1020180007034A
Other languages
Korean (ko)
Inventor
한승현
나안수
Original Assignee
주식회사 디에이아이오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디에이아이오 filed Critical 주식회사 디에이아이오
Priority to KR1020180007034A priority Critical patent/KR20190088671A/en
Publication of KR20190088671A publication Critical patent/KR20190088671A/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing 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

Provided is a NAND flash memory device, comprising a NAND flash memory including memory cells and a memory controller controlling the NAND flash memory. At this time, the memory controller includes a read disturbance score table for dividing the NAND flash memory into management areas to manage the management areas, and for storing a read disturbance score of each management area. In addition, the memory controller moves page data of a target management area to empty pages in the NAND flash memory when a target management area in which the read disturbance score is greater than or equal to the reference score among the management areas.

Description

낸드 플래시 메모리 장치{NAND FLASH MEMORY DEVICE}[0001] NAND FLASH MEMORY DEVICE [0002]

본 발명은 반도체 메모리 장치에 관한 것이다. 보다 상세하게는, 본 발명은 읽기 동작이 수행됨에 따라 읽기 디스터번스가 발생하는 낸드 플래시 메모리 장치에 관한 것이다.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 flash memory device 100 may include a NAND flash memory 120 including memory cells and a memory controller 140 for controlling the NAND flash memory.

낸드 플래시 메모리(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 NAND flash memory 120 may include memory cells. At this time, there are restrictions on the write operation, the read operation, and the erase operation for the memory cells in the physical configuration of the NAND flash memory 120. For example, a read operation and a write operation for memory cells are performed page by page, and an erase operation for memory cells may be performed block by block. The memory controller 140 may control the NAND flash memory 120. [ The memory controller 140 may perform a read operation, a write operation, an erase operation, a merge operation, a copyback operation, a compaction operation, a garbage collection operation, and a read operation on the NAND flash memory 120 using a flash translation layer (FTL) , Wear leveling operation, and the like. At this time, the above operations are performed by the flash conversion layer using a file system (for example, an extended file system (Ext4), an NT file system (NTFS), or the like) using a mapping table By performing an address mapping operation to convert a logical address generated in the NAND flash memory 120 into a physical address of the NAND flash memory 120. [ The memory controller 140 applies a read voltage to the word line to which the selected memory cell is connected in order to perform a read operation on the NAND flash memory 120, ) Voltage. As the read operation is repeatedly performed, electrons are injected into the floating gate of the memory cell due to the pass voltage or the read voltage to generate a read disturbance in which the threshold voltage of the memory cell rises. As a result, A read disturbance error may be generated.

이러한 읽기 디스터번스 에러를 방지하기 위해, 메모리 컨트롤러(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 memory controller 140 may move the data of the memory cells in which the read disturbance error may occur to the empty spaces of the NAND flash memory 120 according to a predetermined condition. That is, since the memory controller 140 performs a read operation on the memory cells in the NAND flash memory 120 on a page-by-page basis, the data of the memory cells in which a read disturbance error may occur is read out (i.e., page data) And the page data is moved to the blank pages of the NAND flash memory 120. [ To this end, the memory controller 140 may include a read disturbance score table 160 for managing the NAND flash memory 120 into management areas and writing the read disturbance scores of the respective management areas. In one embodiment, the memory controller 140 may determine the management regions as page groups of the NAND flash memory 120. [ In this case, one page group composed of two or more pages may be one management area. In another embodiment, the memory controller 140 may determine the management areas as blocks of the NAND flash memory 120. [ In this case, one block may be one management area. In yet another embodiment, the memory controller 140 may determine the management regions as block groups of the NAND flash memory 120. [ In this case, one block group composed of two or more blocks may be one management area. In yet another embodiment, the memory controller 140 may determine the management areas as the planes of the NAND flash memory 120. [ In this case, one plane may be one management area. According to the embodiment, the memory controller 140 may determine one page as one management area. However, in this case, the entries of the read disturbance score table 160 become excessively large, so that the memory controller 140 may be burdened in managing the management areas.

구체적으로, 메모리 컨트롤러(140)는 읽기 디스터번스 스코어 테이블(160) 내 관리 영역들 각각의 읽기 디스터번스 스코어를 기준 스코어와 비교함으로써, 관리 영역들을 데이터 이동이 필요한 대상 관리 영역과 데이터 이동이 필요하지 않은 비대상 관리 영역으로 나눌 수 있다. 이 때, 메모리 컨트롤러(140)는 관리 영역들 각각의 읽기 동작 횟수 정보에 관리 영역들 각각의 데이터 레벨 정보, 관리 영역들 각각의 페이지 특성 정보, 관리 영역들 각각의 페이지 위치 정보 및 관리 영역들 각각의 에러 정정 정보 중에서 적어도 하나 이상을 반영하여 읽기 디스터번스 스코어를 계산할 수 있다. 즉, 관리 영역들 각각의 읽기 동작 횟수 정보만으로는 읽기 디스터번스로 인한 데이터 손상 수준을 판단하기 어려우므로, 관리 영역들 각각의 데이터 레벨 정보, 관리 영역들 각각의 페이지 특성 정보, 관리 영역들 각각의 페이지 위치 정보 및 관리 영역들 각각의 에러 정정 정보 중에서 적어도 하나 이상을 반영하여 읽기 디스터번스 스코어를 계산하는 것이다. 예를 들어, 메모리 컨트롤러(140)는 관리 영역들 각각의 읽기 동작 횟수 정보에 기초하여 기본적으로 관리 영역들 각각의 읽기 동작 횟수가 증가할수록 읽기 디스터번스 스코어를 증가시킬 수 있다. 이 때, 메모리 컨트롤러(140)는 관리 영역들 각각의 데이터 레벨 정보에 기초하여 관리 영역들 각각이 읽기 전압 및 패스 전압을 인가하는 횟수가 많은 읽기 동작을 요구하는 데이터 레벨(예를 들어, MSB, LSB, CSB에 따라)을 갖는 경우 읽기 디스터번스 스코어를 증가시키는 가중치를 부여할 수 있다. 또한, 메모리 컨트롤러(140)는 관리 영역들 각각의 페이지 특성 정보 및/또는 관리 영역들 각각의 페이지 위치 정보에 기초하여 관리 영역들 각각의 페이지들 즉, 워드라인들에 상응하는 위치가 에러 발생에 취약한 특성을 갖는 경우 읽기 디스터번스 스코어를 증가시키는 가중치를 부여할 수 있다. 나아가, 메모리 컨트롤러(140)는 관리 영역들 각각의 에러 정정 정보에 기초하여 관리 영역들 각각의 에러 정정 수준이 높은 경우 읽기 디스터번스 스코어를 증가시키는 가중치를 부여할 수 있다. 한편, 메모리 컨트롤러(140)는 대상 관리 영역의 페이지 데이터들을 낸드 플래시 메모리(120) 내 빈 페이지들로 이동시킨 후에는 대상 관리 영역의 읽기 디스터번스 스코어를 초기값으로 리셋시킬 수 있다.Specifically, the memory controller 140 compares the read disturbance score of each of the management areas in the read distances score table 160 with the reference score so that the management areas are divided into a target management area requiring data movement and a non- Target management area. At this time, the memory controller 140 stores 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 management area, page position information of each management area, And the error correction information of the read disturbance score. That is, since it is difficult to determine the level of data damage due to the read disturbance only by the read operation frequency information of each of the management areas, data level information of each management area, page characteristic information of each management area, And calculates a read disturbance score by reflecting at least one of error correction information of each of the information and management areas. For example, the memory controller 140 can basically increase the read disturbance score as the number of read operations of each of the management areas increases, based on the read operation frequency information of each of the management areas. At this time, the memory controller 140 controls the data levels (for example, MSB, and MSB) that require a read operation in which the number of times that the management areas each apply the read voltage and the pass voltage based on the data level information of the management areas, LSB, CSB), a weight that increases the read disturbance score can be given. In addition, the memory controller 140 determines whether the position corresponding to each page of the management areas, that is, the word lines, based on the page characteristic information of each management area and / or the page position information of each management area, If it has weak characteristics, weights can be given to increase the read disturbance score. Further, the memory controller 140 may assign a weight for increasing the read disturbance score when the error correction level of each of the management areas is high, based on the error correction information of each of the management areas. After moving the page data of the target management area to the blank pages in the NAND flash memory 120, the memory controller 140 may reset the read standby score of the target management area to an initial value.

메모리 컨트롤러(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 memory controller 140 moves the page data of the target management area to the empty pages in the NAND flash memory 120 if there is a target management area having a read disturbance score of the reference score or more among the management areas in the NAND flash memory 120 . For example, when there are first to nth management areas in the NAND flash memory 120 (where n is an integer equal to or greater than 2), the read distances score table 160 includes first through nth read distances scores can do. Accordingly, when the kth (k is an integer equal to or greater than 1 and equal to or less than n) read distances score in the read distances score table 160 is equal to or greater than the reference score, the memory controller 140 determines the kth management region as the object management region , The page data of the kth management area may be moved to the empty pages in the NAND flash memory 120. [ For example, if the first through nth management areas are blocks of the NAND flash memory 120, if the kth read disturbance score in the read distances score table 160 is equal to or greater than the reference score, The management area is determined as the target management area and the page data of the kth management area is moved to the empty pages of any free block in the NAND flash memory 120. [ On the other hand, the memory controller 140 may vary the reference score compared with the read disturbance score according to the characteristic change of the NAND flash memory 120. In one embodiment, the memory controller 140 may set a reference score common to the management areas, and may vary the reference score in accordance with the characteristic change of the NAND flash memory. In this case, the read distances score of each of the management areas can be compared with the same reference score. At this time, the characteristic change of the NAND flash memory may be a program / erase (P / E) cycle of the NAND flash memory 120. [ In another embodiment, the memory controller 140 may set the reference score independently for each of the management areas, and may vary the reference score according to the property change of each of the management areas. In this case, the read distances score of each of the management areas may be compared with a reference score set for each of the management areas. At this time, the characteristic change of each of the management areas may be a P / E cycle of each of the management areas. For example, if errors occur frequently due to the degradation of the characteristics of the NAND flash memory 120, the memory controller 140 can lower the reference score to cope with the deterioration of the characteristics of the NAND flash memory 120. [

추가적으로, 메모리 컨트롤러(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 memory controller 140 writes the target page data of the non- To the empty pages in the buffer 120. That is, when the predetermined page data is read, the memory controller 140 moves the page data to a blank page in the NAND flash memory 120, if the error correction level of the page data is equal to or higher than the reference level. Accordingly, the memory controller 140 basically moves the page data of the target management area in the NAND flash memory 120 to the empty pages in the NAND flash memory 120, and at the same time, the error correction level is higher than the reference level, It is possible to directly move the target page data of the non-target management area having a high possibility of error occurrence (that is, urgent data movement) to blank pages in the NAND flash memory 120. [ As a result, a read disturbance error due to a read disturbance in which 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 is increased can be effectively prevented . In one embodiment, the memory controller 140 may perform the operations described above with respect to the addresses where the read operation is performed when a read command for requesting a read operation from the host device is input. In another embodiment, when a read command for requesting a read operation is input from the host device, the memory controller 140 performs the operations described above with respect to the addresses where the read operation is performed, and when a predetermined command is not input from the host device The above-described operations can be additionally performed by performing an arbitrary read operation with respect to arbitrary addresses at idle times. In another embodiment, the memory controller 140 performs the above-described operations on the addresses on which the read operation is performed when a read command for requesting a read operation is input from the host device, The above-described operations can be additionally performed. In this case, since an overhead due to an arbitrary read operation may occur, an arbitrary read operation can be performed in a line that does not deteriorate the performance of the NAND flash memory device 100.

도 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, memory controller 140 may include a processor 142, a data memory 144, an error correction code (ECC) engine 146, and a buffer memory 148 . The processor 142 performs the main operation of the memory controller 140. For example, the processor 142 may execute a read disturbance manager that executes the flash conversion layer and performs the operations to prevent read disturbance errors. The data memory 142 may store the read distances score table 160. Further, according to the embodiment, the data memory 142 may further include a P / E cycle table. In one embodiment, the data memory 142 may be a volatile memory device such as a dynamic random access memory (DRAM), a static random access memory (SRAM), a mobile DRAM, or the like. In this case, the data memory 142 can operate at a relatively high speed, but data stored in the data memory 142 may be lost when the NAND flash memory device 100 is powered off. Therefore, when the data memory 142 is implemented as a volatile memory device, the data stored in the data memory 142 is backed up according to predetermined conditions , Synchronization operation) must be performed. In another embodiment, the data memory 142 may be an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a phase change random access memory (PRAM) a random access memory (RRAM), a nano floating gate memory (NFGM), a polymer random access memory (PoRAM), a magnetic random access memory (MRAM), a ferroelectric random access memory FRAM), and the like. In this case, even if the NAND flash memory device 100 is powered off, data stored in the data memory 142 is not lost, but the data memory 142 can operate at a relatively low speed. The ECC engine 146 can perform error correction on page data using an error correction code when performing a read operation on the NAND flash memory 120. [ The buffer memory 148 may temporarily store page data in performing data movement in the NAND flash memory 120 or performing data transfer with the host device. 2, the memory controller 140 may include other components besides the processor 142, the data memory 144, the error correction code engine 146, and the buffer memory 148 (e.g., A host interface that performs an input / output function with the device, and a memory interface that performs an input / output function with the NAND flash memory 120).

상술한 바와 같이, 데이터 메모리(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 data memory 142 may be a non-volatile memory device. In this case, the memory controller 140 may store the read disturbance score table 160 in the data memory 142 and / or in the NAND flash memory 120. Alternatively, the data memory 142 may be a volatile memory device. In this case, the memory controller 140 stores the read distances score table 160 in the data memory 142, while the read distances score table 160 is stored in another non-volatile memory or NAND flash memory 120 (Or synchronized) with the user. In one embodiment, the memory controller 140 stores the read distances score table 160 stored in the data memory 142 to another non-volatile memory or NAND flash memory (not shown) in the memory controller 140 120). In this case, the memory controller 140 may vary the backup time according to the operating environment of the NAND flash memory 120. [ For example, if the operating environment of the NAND flash memory 120 is an environment in which frequent power shutdown is frequent, the backup time may be reduced. If the operating environment of the NAND flash memory 120 is an environment where power shutoff is not frequent, The backup time can be increased. However, this is only an example, and the increase / decrease of the backup time is not limited thereto. In another embodiment, the memory controller 140 updates the read disturbance score table 160 every time the increment of the read disturbance score in the read distances score table 160 is greater than or equal to the reference increment, Or to the NAND flash memory 120. FIG. In this case, the memory controller 140 may vary the reference increment according to the operating environment of the NAND flash memory 120. [ For example, if the operating environment of the NAND flash memory 120 is an environment in which the power supply is interrupted frequently, the reference increase amount may be reduced. In a case where the operating environment of the NAND flash memory 120 is an environment in which power supply interruption is not frequent, The reference increase amount can be increased. However, this is merely an example, and the increase or decrease of the reference increase amount is not limited thereto. Meanwhile, the read disturbance score table 160 stored in the data memory 142 is a read disturbance score table 160 of a full type and is stored in the nonvolatile memory or the NAND flash memory 120 in the memory controller 140 as it is Lt; / RTI > Alternatively, the read disturbance score table 160 stored in the data memory 142 is a read disturbance score table 160 for a predetermined period, which is stored in another nonvolatile memory or the NAND flash memory 120 in the memory controller 140 Or may be reflected in the stored readability scores table 160 of the stored form.

이와 같이, 낸드 플래시 메모리 장치(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 flash memory device 100 includes a NAND flash memory 120 including memory cells and a memory controller 140 for controlling the NAND flash memory 120. The memory controller 140 controls the NAND flash memory 120, And a read disturbance score table 160 for managing the memory 120 into management areas and writing the read disturbance scores of the respective management areas. The NAND flash memory device 100 moves the page data of the target management area to the empty pages in the NAND flash memory 120 when there is a target management area having a read disturbance score of the reference score or more among the management areas, Can be effectively prevented. Furthermore, 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 having the read disturbance score of less than the reference score among the management areas, the NAND flash memory device 100 writes the target page data of the non- It is possible to more effectively prevent a read disturbance error by directly moving to blank pages in the flash memory 120. [ As a result, the NAND flash memory device 100 can secure high operation reliability and high operation stability. 1, the NAND flash memory device 100 includes a single NAND flash memory 120. However, the NAND flash memory device 100 may include two or more NAND flash memory devices 120, (Not shown). According to an embodiment, the NAND flash memory device 100 may include a solid state drive (SSD), a secure digital card (SDCARD), a universal flash storage (UFS), an embedded multimedia card an embedded multi media card (EMMC), a compact flash card (CF), a memory stick, an XD picture card, and the like. However, this is an example, and the implementation of the NAND flash memory device 100 is not limited thereto.

도 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 flash memory device 100 of FIG. 1, the processor 142 in the memory controller 140 may execute a read disturbance manager 143 that prevents a read disturbance error. Specifically, the read disturbance manager 143 can check the error correction level of the page data 123 (S110) when the page data 123 is read. For example, the read disturbance manager 143 can receive the error correction information ECCI from the ECC engine 146 and check the error correction level of the page data 123 from the error correction information ECCI. Thereafter, the read disturbance manager 143 may check whether the error correction level of the page data 123 is equal to or higher than the reference level (S120). At this time, when the error correction level of the page data 123 is lower than the reference level, the read disturbance manager 143 reads the read disturbance score of the management area including the page data 123 (for example, The read disturbance manager 143 reads the data level information of each of the management areas, the page characteristic information of each of the management areas, , The page position information of each of the management areas, and the error correction information of each of the management areas, to calculate the read disturbance score. On the other hand, when the error correction level of the page data 123 is equal to or higher than the reference level The read disturbance manager 143 may move the page data 123 to a blank page in the NAND flash memory 120 in step 130. For example, The read disturbance manager 143 provides a command for moving the target page data 123 (that is, the page data 123 whose error correction level is equal to or higher than the reference level) to the NAND flash memory 120 The read disturbance manager 143 can move the target page data 123 from the block 122-1 to another block 122-2 (that is, by PMOV) The target page data 123 is transferred from the block 122-1 to the free block 122-4 in the NAND flash memory 120 by providing a command for moving the target page data 123 to the NAND flash memory 120. [ The target page data 123 is moved from the block 122-1 to the other blocks 122-2 and 122-4 and then moved to the management area 1) of the NAND flash memory device 100. Thus, the NAND flash memory device 100 If the target page data 123 whose error correction level is equal to or higher than the reference level exists in the non-target management area where the read disturbance score is less than the reference score, the target page data 123 of the non-target management area is stored in the NAND flash memory 120 Quot;) < / RTI > to avoid the read disturbance error.

도 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 processor 142 in the memory controller 140 in the NAND flash memory device 100 of FIG. 1 may execute a read disturbance manager 143 that prevents a read disturbance error. Specifically, the read disturbance manager 143 can confirm the read disturbance score of the management area (S210). For example, the read disturbance manager 143 can verify the read disturbance score by reading the read disturbance score of the management area from the read disturbance score table 160 in the data memory 144 (that is, by displaying it as RD). The read disturbance manager 143 may read the read disturbance score from the read disturbance score table 160 stored in a non-volatile memory other than the data memory 144 or the NAND flash memory 120. [ Thereafter, the read disturbance manager 143 may check whether the read disturbance score of the management area is equal to or greater than the reference score (S220). On the other hand, according to the embodiment, the reference score may be commonly set for the management areas or independently set for each of the management areas. At this time, the reference score may vary depending on the characteristic change of the NAND flash memory or the characteristic change of each of the management areas. For example, the characteristic change may be a P / E cycle. The read disturbance manager 143 reads the P / E cycle of the NAND flash memory or the P / E cycle of each of the management areas from the P / E cycle table 170 in the data memory 144 ), The reference score can be determined. Next, when the read disturbance score of the management area is less than the reference score, the read disturbance manager 143 may not perform the data movement of the page data of the management area. On the other hand, if the read disturbance score of the management area is equal to or greater than the reference score, the read disturbance manager 143 may move the page data of the management area to the empty pages in the NAND flash memory 120 (S130). 7, the read disturbance manager 143 writes a command for moving page data of the object management area (that is, the management area whose read disturbance score is equal to or higher than the reference score) to the NAND flash memory 120 (That is, represented by BMOV) from the block 122-1 to the free block 122-2 by providing the target management area (i.e., CMD). At this time, after the page data of the object management area is moved from the block 122-1 to the free block 122-2, the page data in the block 122-1 may be erased after being invalidated. On the other hand, the read disturbance manager 143 moves the page data of the target management area to the empty pages in the NAND flash memory 120 (S310), and then resets the read disturbance score of the target management area to the initial value (S320) have. For example, the read disturbance manager 143 can reset the read disturbance score of the target management area to the initial value by updating the read disturbance score of the target management area (that is, indicated by RST). In this way, when there is a target management area having a read disturbance score of a reference score or more among the management areas, the NAND flash memory device 100 moves page data of the target management area to blank pages in the NAND flash memory 120, Errors can be prevented.

도 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 flash memory device 100 of FIG. 1, the processor 142 in the memory controller 140 may execute a read disturbance manager that prevents a read disturbance error. As described above, when the read disturbance score table 160 is stored in the non-volatile memory or the NAND flash memory 120 in the memory controller, even if the NAND flash memory device 100 is powered off, the read disturbance score table 160, The read disturbance manager may not perform a backup (i.e., synchronization) operation on the read disturbance score table 160. In this case, On the other hand, when the read disturbance score table 160 is stored in the volatile memory in the memory controller, the read disturbance score table 160 is lost when the NAND flash memory device 100 is powered off, To perform a backup (i.e., synchronization) operation on the score table 160. Specifically, the read disturbance manager may update the read disturbance score table 160 in the volatile memory (S410). Thereafter, the read disturbance manager can check whether the predetermined condition for performing the backup operation is satisfied (S420). As a result, even if the NAND flash memory device 100 is powered off, the read disturbance score table 160 may not be lost, and the power of the NAND flash memory device 100 may be maintained for a predetermined period of time (for example, The read disturbance score table 160 can be recovered based on the error correction information and the like of each of the management areas since the amount of lost data is small even if there is lost information. In one embodiment, the predetermined condition may be whether or not a predetermined backup time has elapsed since the previous backup operation. In this case, the backup time may vary depending on the operating environment of the NAND flash memory 120. [ In another embodiment, the predetermined condition may be whether or not the amount of increase in the read disturbance score after the previous backup operation is equal to or greater than the reference increase amount. At this time, the reference increase amount may vary depending on the operating environment of the NAND flash memory 120. [ The read disturbance manager then stores the read disturbance score table 160 stored in the volatile memory in the memory controller 140 in the nonvolatile memory or the NAND flash memory 140 in the memory controller 140. When the predetermined condition for performing the backup operation is satisfied, It can be backed up in the memory 120. [ On the other hand, if the predetermined condition for performing the backup operation is not satisfied, the read disturbance manager can continuously monitor whether or not the predetermined condition is satisfied. The read disturbance score table 160 stored in the non-volatile memory in the memory controller 140 is a read destructive score table 160 of the full type and is stored in the non-volatile memory or the NAND flash memory 120 As shown in FIG. Alternatively, the read disturbance score table 160 stored in the non-volatile memory in the memory controller 140 is a read disturbance score table 160 for a predetermined period, which is stored in the non-volatile memory or the NAND flash memory 140 in the memory controller 140 And may be reflected in the read disturbance score table 160 of the full form stored in the memory 120. [ Although the NAND flash memory device 100 according to the embodiments of the present invention has been described above with reference to the drawings, the above description is illustrative and not restrictive within the scope of the present invention. And can be modified and changed by those skilled in the art.

본 발명은 낸드 플래시 메모리 장치 및 이를 포함하는 메모리 시스템에 적용될 수 있다. 예를 들어, 본 발명은 솔리드 스테이트 드라이브(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.
제 1 항에 있어서, 상기 메모리 컨트롤러는 상기 관리 영역들 중 상기 읽기 디스터번스 스코어가 상기 기준 스코어 미만인 비대상(non-target) 관리 영역에 에러 정정 수준이 기준 수준 이상인 대상 페이지 데이터들이 존재하면, 상기 대상 페이지 데이터들을 상기 빈 페이지들로 이동시키는 것을 특징으로 하는 낸드 플래시 메모리 장치.The apparatus of claim 1, wherein if the target page data whose error correction level is equal to or higher than a reference level exist in a non-target management area having the read disturbance score less than the reference score among the management areas, And moves the page data to the blank pages. 제 1 항에 있어서, 상기 메모리 컨트롤러는 상기 관리 영역들 각각의 읽기 동작 횟수 정보에 상기 관리 영역들 각각의 데이터 레벨 정보, 상기 관리 영역들 각각의 페이지 특성 정보, 상기 관리 영역들 각각의 페이지 위치 정보 및 상기 관리 영역들 각각의 에러 정정 정보 중에서 적어도 하나 이상을 반영하여 상기 읽기 디스터번스 스코어를 계산하는 것을 특징으로 하는 낸드 플래시 메모리 장치.2. The apparatus of claim 1, wherein the memory controller further comprises: a memory for storing data level information of each of the management areas, page characteristic information of each of the management areas, page position information of each of the management areas, And calculating the read disturbance score by reflecting at least one of error correction information of each of the management areas. 제 3 항에 있어서, 상기 메모리 컨트롤러는 상기 대상 관리 영역의 상기 페이지 데이터들을 상기 빈 페이지들로 이동시킨 후 상기 대상 관리 영역의 상기 읽기 디스터번스 스코어를 초기값으로 리셋시키는 것을 특징으로 하는 낸드 플래시 메모리 장치.4. The NAND flash memory device according to claim 3, wherein the memory controller moves the page data of the target management area to the blank pages and then resets the read disturbance score of the target management area to an initial value. . 제 1 항에 있어서, 상기 메모리 컨트롤러는 상기 관리 영역들을 상기 낸드 플래시 메모리의 페이지(page) 그룹들, 블록(block)들, 블록 그룹들 또는 플레인(plane)들로 결정하는 것을 특징으로 하는 낸드 플래시 메모리 장치.The method of claim 1, wherein the memory controller determines the management areas as page groups, blocks, block groups, or planes of the NAND flash memory. Memory device. 제 5 항에 있어서, 상기 메모리 컨트롤러는 상기 기준 스코어를 상기 관리 영역들에 대해 공통으로 설정하고, 상기 기준 스코어를 상기 낸드 플래시 메모리의 특성 변화에 따라 가변시키는 것을 특징으로 하는 낸드 플래시 메모리 장치.6. The NAND flash memory device according to claim 5, wherein the memory controller sets the reference score to be common to the management areas, and varies the reference score according to a characteristic change of the NAND flash memory. 제 6 항에 있어서, 상기 특성 변화는 상기 낸드 플래시 메모리의 프로그램/소거 사이클인 것을 특징으로 하는 낸드 플래시 메모리 장치.7. The NAND flash memory device of claim 6, wherein the characteristic change is a program / erase cycle of the NAND flash memory. 제 5 항에 있어서, 상기 메모리 컨트롤러는 상기 기준 스코어를 상기 관리 영역들마다 독립적으로 설정하고, 상기 기준 스코어를 상기 관리 영역들 각각의 특성 변화에 따라 가변시키는 것을 특징으로 하는 낸드 플래시 메모리 장치.6. The NAND flash memory device according to claim 5, wherein the memory controller independently sets the reference score for each of the management areas, and varies the reference score according to a characteristic change of each of the management areas. 제 8 항에 있어서, 상기 특성 변화는 상기 관리 영역들 각각의 프로그램/소거 사이클인 것을 특징으로 하는 낸드 플래시 메모리 장치.9. The NAND flash memory device of claim 8, wherein the characteristic change is a program / erase cycle of each of the management areas. 제 1 항에 있어서, 상기 메모리 컨트롤러는 상기 읽기 디스터번스 스코어 테이블을 상기 메모리 컨트롤러 내 비휘발성 메모리 또는 상기 낸드 플래시 메모리에 저장하는 것을 특징으로 하는 낸드 플래시 메모리 장치.The NAND flash memory device of claim 1, wherein the memory controller stores the read disturbance score table in a non-volatile memory or the NAND flash memory in the memory controller. 제 1 항에 있어서, 상기 메모리 컨트롤러는 상기 읽기 디스터번스 스코어 테이블을 상기 메모리 컨트롤러 내 휘발성 메모리에 저장하는 것을 특징으로 하는 낸드 플래시 메모리 장치.The NAND flash memory device of claim 1, wherein the memory controller stores the read disturbance score table in a volatile memory in the memory controller. 제 11 항에 있어서, 상기 메모리 컨트롤러는 기 설정된 백업 시간이 경과할 때마다 상기 읽기 디스터번스 스코어 테이블을 상기 비휘발성 메모리 또는 상기 낸드 플래시 메모리에 백업하는 것을 특징으로 하는 낸드 플래시 메모리 장치.12. The NAND flash memory device of claim 11, wherein the memory controller backs up the read disturbance score table to the nonvolatile memory or the NAND flash memory whenever a preset backup time elapses. 제 12 항에 있어서, 상기 메모리 컨트롤러는 상기 백업 시간을 상기 낸드 플래시 메모리의 동작 환경에 따라 가변시키는 것을 특징으로 하는 낸드 플래시 메모리 장치.13. The NAND flash memory device of claim 12, wherein the memory controller varies the backup time according to an operating environment of the NAND flash memory. 제 11 항에 있어서, 상기 메모리 컨트롤러는 상기 읽기 디스터번스 스코어의 증가량이 기준 증가량 이상이 될 때마다 상기 읽기 디스터번스 스코어 테이블을 상기 비휘발성 메모리 또는 상기 낸드 플래시 메모리에 백업하는 것을 특징으로 하는 낸드 플래시 메모리 장치.12. The NAND flash memory device of claim 11, wherein the memory controller backs 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 a reference increment, . 제 14 항에 있어서, 상기 메모리 컨트롤러는 상기 기준 증가량을 상기 낸드 플래시 메모리의 동작 환경에 따라 가변시키는 것을 특징으로 하는 낸드 플래시 메모리 장치.15. The NAND flash memory device of claim 14, wherein the memory controller varies the reference increment according to an operating environment of the NAND flash memory.
KR1020180007034A 2018-01-19 2018-01-19 Nand flash memory device KR20190088671A (en)

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)

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