KR20180003713A - 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 - Google Patents

불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 Download PDF

Info

Publication number
KR20180003713A
KR20180003713A KR1020160082774A KR20160082774A KR20180003713A KR 20180003713 A KR20180003713 A KR 20180003713A KR 1020160082774 A KR1020160082774 A KR 1020160082774A KR 20160082774 A KR20160082774 A KR 20160082774A KR 20180003713 A KR20180003713 A KR 20180003713A
Authority
KR
South Korea
Prior art keywords
read
memory
controller
memory cells
memory block
Prior art date
Application number
KR1020160082774A
Other languages
English (en)
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 KR1020160082774A priority Critical patent/KR20180003713A/ko
Publication of KR20180003713A publication Critical patent/KR20180003713A/ko

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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/08Address circuits; Decoders; Word-line control 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
    • 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
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • 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
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Abstract

본 발명은 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치에 관한 것이다. 본 발명의 스토리지 장치는 불휘발성 메모리 장치 및 컨트롤러를 포함한다. 불휘발성 메모리 장치는 복수의 메모리 블록들을 포함하고, 각 메모리 블록은 메모리 셀들을 포함한다. 컨트롤러는 읽기 동작 시에 읽기 대상으로 선택된 메모리 블록에서 읽기 대상으로 선택된 워드 라인 및 스트링 선택 라인에 대응하는 선택된 메모리 셀들로부터 데이터를 읽는다. 컨트롤러는 선택된 메모리 블록의 선택된 스트링 선택 라인 및 선택된 워드 라인에 대응하는 읽기 가중치만큼 읽기 카운트를 증가시키고, 그리고 읽기 카운트가 문턱 값에 도달하면 선택된 메모리 블록에 대해 리프레시를 수행한다. 선택된 메모리 블록에서, 복수의 스트링 선택 라인들 및 복수의 워드 라인들의 위치들에 따라 둘 이상의 읽기 가중치들이 할당된다.

Description

불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치{STORAGE DEVICE INCLUDING NONVOLATILE MEMORY DEVICE AND CONTROLLER}
본 발명은 반도체 장치에 관한 것으로, 더 상세하게는 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치에 관한 것이다.
스토리지 장치는 컴퓨터, 스마트 폰, 스마트 패드 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 스토리지 장치는 하드 디스크 드라이브(HDD, Hard Disk Drive)와 같이 자기 디스크에 데이터를 저장하는 장치, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 메모리 카드 등과 같이 반도체 메모리, 특히 불휘발성 메모리에 데이터를 저장하는 장치를 포함한다.
불휘발성 메모리는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등을 포함한다.
반도체 제조 기술이 발전하면서, 스토리지 장치의 고집적화 및 그에 따른 대용량화가 지속적으로 진행되고 있다. 스토리지 장치의 고집적화는 스토리지 장치의 생산 비용을 감소시킨다는 장점을 갖는다. 그러나 스토리지 장치의 고집적화로 인해 스토리지 장치의 스케일이 감소하고 구조가 변화하면서, 기존에 발견되지 않은 새로운 문제들이 발견되고 있다.
본 발명은 위에서 설명한 기술적 과제를 해결하기 위한 것으로, 본 발명은 향상된 속도 및 향상된 신뢰성을 갖는 스토리지 장치를 제공할 수 있다.
본 발명의 실시 예에 따른 스토리지 장치는 불휘발성 메모리 장치 및 컨트롤러를 포함할 수 있다. 불휘발성 메모리 장치는 복수의 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 스트링 선택 라인들에 연결된 스트링 선택 트랜지스터들, 복수의 접지 선택 라인들에 연결된 접지 선택 트랜지스터들 및 복수의 워드 라인들에 연결된 메모리 셀들을 포함할 수 있다. 컨트롤러는, 읽기 동작 시에, 읽기 대상으로 선택된 메모리 블록에서 읽기 대상으로 선택된 워드 라인 및 스트링 선택 라인에 대응하는 선택된 메모리 셀들로부터 데이터를 읽을 수 있다. 컨트롤러는, 선택된 메모리 블록의 선택된 스트링 선택 라인 및 선택된 워드 라인에 대응하는 읽기 가중치만큼 읽기 카운트를 증가시키고, 그리고 읽기 카운트가 문턱 값에 도달하면 선택된 메모리 블록에 대해 리프레시를 수행할 수 있다. 선택된 메모리 블록에서, 복수의 스트링 선택 라인들 및 복수의 워드 라인들의 위치들에 따라 둘 이상의 읽기 가중치들이 할당될 수 있다.
본 발명의 실시 예에 따른 스토리지 장치는 불휘발성 메모리 장치 및 컨트롤러를 포함할 수 있다. 불휘발성 메모리 장치는 복수의 메모리 블록들을 포함하고, 각 메모리 블록은 기판과 수직인 방향으로 적층되며 복수의 워드 라인들과 연결되는 복수의 메모리 셀들을 포함할 수 있다. 컨트롤러는, 읽기 동작 시에, 읽기 대상으로 선택된 메모리 블록에서 읽기 대상으로 선택된 워드 라인에 대응하는 선택된 메모리 셀들에 기입된 복수의 페이지 데이터들 중 선택된 페이지 데이터를 읽을 수 있다. 컨트롤러는, 선택된 메모리 블록의 선택된 워드 라인 및 선택된 페이지 데이터에 대응하는 읽기 가중치만큼 읽기 카운트를 증가시키고, 그리고 읽기 카운트가 문턱 값에 도달하면 선택된 메모리 블록에 대해 리프레시를 수행할 수 있다. 선택된 메모리 블록에서, 복수의 워드 라인들 및 복수의 페이지 데이터들의 위치들에 따라 둘 이상의 읽기 가중치들이 할당될 수 있다.
본 발명의 실시 예에 따른 스토리지 장치는 불휘발성 메모리 장치 및 컨트롤러를 포함할 수 있다. 불휘발성 메모리 장치는 복수의 메모리 블록들을 포함하고, 각 메모리 블록은 기판과 수직인 방향으로 적층되며 복수의 워드 라인들과 연결되는 복수의 메모리 셀들을 포함할 수 있다. 컨트롤러는, 읽기 동작 시에, 읽기 대상으로 선택된 메모리 블록에서 읽기 대상으로 선택된 워드 라인에 대응하는 선택된 메모리 셀들로부터 데이터를 읽을 수 있다. 컨트롤러는, 선택된 메모리 블록의 선택된 워드 라인에 대응하는 읽기 가중치만큼 읽기 카운트를 증가시키고, 그리고 읽기 카운트가 문턱 값에 도달하면 선택된 메모리 블록에 대해 리프레시를 수행할 수 있다. 선택된 메모리 블록에서, 선택된 워드 라인에 대응하는 선택된 메모리 셀들과 기판 사이의 거리가 증가할수록, 컨트롤러는 읽기 가중치를 감소시킬 수 있다.
본 발명의 실시 예에 따른 스토리지 장치는 읽기 대상인 메모리 셀들의 위치에 따라 읽기 카운트를 증가시키고, 읽기 카운트에 따라 리프레시를 수행할 수 있다. 읽기 동작에 의해 발생하는 읽기 교란은 리프레시에 의해 보상되고, 메모리 셀들의 위치에 따라 읽기 가중치를 다르게 함으로써 리프레시가 수행되는 빈도가 감소된다. 따라서, 본 발명의 실시 예에 따르면, 향상된 속도 및 향상된 신뢰성을 갖는 스토리지 장치가 제공된다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 스토리지 장치의 동작 방법을 보여주는 순서도이다.
도 3은 본 발명의 실시 예에 따른 메모리 블록의 예를 보여준다.
도 4는 도 3의 메모리 블록의 하나의 셀 스트링의 구조의 예를 보여준다.
도 5는 본 발명의 실시 예들에 따라 읽기 가중치들이 설정되는 예를 보여준다.
도 6은 메모리 셀들의 문턱 전압들 및 그에 대응하는 데이터 비트들의 예를 보여준다.
도 7은 기판과 선택된 메모리 셀들 사이의 거리 및 선택된 메모리 셀들에 기입된 데이터들 중 목표 데이터의 위치에 따라 읽기 가중치들이 할당되는 예를 보여준다.
도 8은 메모리 블록에서 스트링 선택 라인들을 고려하여 할당되는 읽기 가중치들의 예를 보여준다.
도 9는 읽기 동작이 수행되는 빈도에 따라 읽기 가중치를 조절하는 예를 보여주는 순서도이다.
도 10은 읽기 동작과 연관된 온도를 더 반영하여 읽기 가중치를 조절하는 예를 보여주는 순서도이다.
도 11은 본 발명의 실시 예에 따른 컨트롤러를 보여주는 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재된다.
도 1은 본 발명의 실시 예에 따른 스토리지 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 스토리지 장치(100)는 불휘발성 메모리 장치(110), 컨트롤러(120), 그리고 버퍼 메모리(130)를 포함한다.
불휘발성 메모리 장치(110)는 컨트롤러(120)의 제어에 따라 쓰기 동작, 읽기 동작 및 소거 동작을 수행할 수 있다. 불휘발성 메모리 장치(110)는 컨트롤러(120)로부터 쓰기 커맨드, 어드레스 및 데이터를 수신하고, 어드레스에 의해 식별되는 저장 공간에 데이터를 기입할 수 있다. 불휘발성 메모리 장치(110)는 컨트롤러(120)로부터 읽기 커맨드 및 어드레스를 수신하고, 어드레스에 의해 식별되는 저장 공간으로부터 데이터를 읽고, 읽혀진 데이터를 컨트롤러(120)로 출력할 수 있다. 불휘발성 메모리 장치(110)는 컨트롤러(120)로부터 소거 커맨드 및 어드레스를 수신하고, 어드레스에 의해 식별되는 저장 공간의 데이터를 소거할 수 있다.
불휘발성 메모리 장치(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함할 수 있다. 복수의 메모리 블록들 각각은 복수의 메모리 셀들을 포함할 수 있다. 복수의 메모리 셀들은 불휘발성 메모리 장치(110)의 저장 공간을 형성할 수 있다. 복수의 메모리 블록들 각각은 복수의 메모리 셀들을 개별적으로 선택하는 것을 지원하는 선택 트랜지스터들을 더 포함할 수 있다. 메모리 블록들(BLK1~BLKz)은 불휘발성 메모리 장치(110)의 동작상의 특징에 따라 또는 구조적 특징에 따라 구별될 수 있다. 메모리 블록들(BLK1~BLKz)이 구별되는 예는 도 3을 참조하여 더 상세하게 설명된다.
불휘발성 메모리 장치(110)는 플래시 메모리, 상 변화 랜덤 액세스 메모리(PRAM, Phase-change Random Access Memory), 강유전체 랜덤 액세스 메모리(FeRAM, Ferroelectric RAM), 자기 랜덤 액세스 메모리(MRAM, Magnetic RAM), 저항성 랜덤 액세스 메모리(RRAM, Resistive RAM) 등을 포함할 수 있다.
컨트롤러(120)는 불휘발성 메모리 장치(110) 및 버퍼 메모리(130)를 액세스할 수 있다. 컨트롤러(120)는 외부의 호스트 장치의 요청에 따라 쓰기, 읽기 및 소거를 수행할 수 있다. 컨트롤러(120)는 쓰기 요청된 데이터를 불휘발성 메모리 장치(110)에 기입하고, 읽기 요청된 데이터를 불휘발성 메모리 장치(110)로부터 읽어 출력할 수 있다.
컨트롤러(120)는 버퍼 메모리(130)를 이용하여 스토리지 장치(100)를 관리할 수 있다. 예를 들어, 컨트롤러(120)는 불휘발성 메모리 장치(110)에 기입될 데이터 또는 불휘발성 메모리 장치(110)로부터 읽히는 데이터를 버퍼 메모리(130)에 임시로 저장할 수 있다. 컨트롤러(120)는 불휘발성 메모리 장치(110)를 관리하는 데에 필요한 메타 데이터를 버퍼 메모리(130)에 로드할 수 있다.
컨트롤러(120)는 외부의 호스트 장치로부터 논리 어드레스에 기반한 요청을 수신할 수 있다. 컨트롤러(120)에서 구동되는 플래시 변환 계층(FTL)은 논리 어드레스를 불휘발성 메모리 장치(110)의 물리 어드레스로 변환할 수 있다. 컨트롤러(120)는 변환된 물리 어드레스를 불휘발성 메모리 장치(110)로 전달할 수 있다. 논리 어드레스 및 물리 어드레스 사이의 변환에 필요한 사상 데이터(MD)는 불휘발성 메모리 장치(100)에 보관되며, 버퍼 메모리(130)에 로드되어 사용될 수 있다. 플래시 변환 계층(FTL)은 버퍼 메모리(130)에 로드된 사상 데이터(MD)를 참조하여 논리 어드레스와 물리 어드레스의 변환을 수행할 수 있다.
컨트롤러(120)는 불휘발성 메모리 장치(110)에서 수행되는 읽기 동작들을 카운트할 수 있다. 예를 들어, 컨트롤러(120)는 불휘발성 메모리 장치(110)의 각 메모리 블록에 대해 또는 각 소거 단위에 대해 읽기 카운트를 관리할 수 있다. 소거 단위는 각 메모리 블록의 일부 또는 둘 이상의 메모리 블록들의 조합일 수 있으며, 한 번의 소거 동작 시에 동시에 소거되는 메모리 셀들의 집합을 가리킬 수 있다. 이하에서, 간결한 설명을 위하여, 각 메모리 블록과 연관된 설명은 각 메모리 블록 또는 각 소거 단위에 연관된 것으로 간주된다.
읽기 카운터와 연관되어, 컨트롤러(120)는 가중 모듈(WM) 및 카운터(CNT)를 포함할 수 있다. 가중 모듈(WM)은 불휘발성 메모리 장치(110)에서 물리 어드레스에 의해 선택된 읽기 대상에 따라, 또는 읽기 대상의 위치에 따라, 읽기 가중치를 검출 또는 계산할 수 있다. 카운터(CNT)는 각 메모리 블록에서 읽기 동작이 수행되고 읽기 가중치가 검출 또는 계산될 때, 읽기 가중치만큼 읽기 카운트를 증가시킬 수 있다. 예를 들어, 카운터(CNT)는 각 메모리 블록에 데이터가 기입된 때부터 읽기 가중치를 읽기 카운트에 합할 수 있다. 읽기 가중치는 각 메모리 블록에서 선택된 읽기 대상에 따라 또는 읽기 대상의 위치에 따라 둘 이상의 값들 중에서 선택될 수 있다. 컨트롤러(120)는 읽기 카운트에 따라, 각 메모리 블록의 리프레시의 수행 여부를 결정할 수 있다.
예시적으로, 컨트롤러(120)의 플래시 변환 계층(FTL), 가중 모듈(WM) 및 카운터(CNT) 각각은 회로, 상태 기계, 소프트웨어, 펌웨어, 또는 이들 중 적어도 두 개가 조합된 형태로 구현될 수 있다.
도 2는 본 발명의 실시 예에 따른 스토리지 장치(100)의 동작 방법을 보여주는 순서도이다. 도 1 및 도 2를 참조하면, S110 단계에서, 컨트롤러(120)는 외부의 호스트 장치로부터 읽기 커맨드 및 어드레스를 수신할 수 있다. 예를 들어, 컨트롤러(120)는 외부의 호스트 장치로부터 논리 어드레스를 포함하는 읽기 요청을 수신할 수 있다.
S120 단계에서, 컨트롤러(120)는 읽기 동작을 수행할 수 있다. 예를 들어, 플래시 변환 계층(FTL)은 사상 데이터(MD)를 참조하여 논리 어드레스를 불휘발성 메모리 장치(110)의 물리 어드레스로 변환할 수 있다. 컨트롤러(120)는 읽기 커맨드 및 물리 어드레스를 불휘발성 메모리 장치(110)로 전송할 수 있다. 읽기 커맨드에 응답하여, 불휘발성 메모리 장치(110)는 물리 어드레스에 의해 식별되는 메모리 셀들로부터 데이터를 읽고, 읽혀진 데이터를 컨트롤러(120)로 출력할 수 있다. 컨트롤러(120)는 불휘발성 메모리 장치(110)로부터 수신된 데이터를 외부의 호스트 장치로 출력할 수 있다. 불휘발성 메모리 장치(110)로부터 읽혀진 데이터는 외부의 호스트 장치로 출력되기 전에 버퍼 메모리(130)에 의해 버퍼링될 수 있다.
S130 단계에서, 컨트롤러(130)는 물리 어드레스에 따라 읽기 가중치를 검출할 수 있다. 예를 들어, 물리 어드레스에 따라 읽기 동작의 대상으로 선택된 메모리 셀들이 식별될 수 있다. 가중 모듈(WM)은 선택된 메모리 셀들의 위치(예를 들어, 물리 어드레스)에 대응하는 읽기 가중치를 검출할 수 있다. 예를 들어, 메모리 셀들의 위치들(예를 들어, 어드레스들)에 따른 읽기 가중치들은 컨트롤러(120)의 내부에 불휘발성으로 미리 저장될 수 있다. 또한, 읽기 가중치들은 사상 데이터(MD)와 같이 불휘발성 메모리 장치(110)에 미리 보관되며 버퍼 메모리(130)에 로드되어 참조될 수 있다.
S140 단계에서, 컨트롤러(120)는 검출된 읽기 가중치만큼 읽기 카운트를 증가시킬 수 있다. 예를 들어, 카운터(CNT)는 가중 모듈(WM)에 의해 검출되는 읽기 가중치를 기존 읽기 카운트에 합할 수 있다.
S130 단계 내지 S140 단계는 S120 단계의 읽기 동작과 병렬적으로 수행될 수 있다.
S150 단계에서, 컨트롤러(120)는 읽기 카운트가 문턱 값에 도달하는지 판별할 수 있다. 읽기 카운트가 문턱 값에 도달하지 않으면, 프로세스는 종료된다. 읽기 카운트가 문턱 값에 도달하면, S160 단계가 수행된다. S160 단계에서, 컨트롤러(120)는 리프레시를 수행한다. 예를 들어, 컨트롤러(120)는 물리 어드레스에 의해 선택된 메모리 블록의 리프레시를 스케줄 할 수 있다.
각 메모리 블록에서 읽기 동작이 수행될 때마다, 읽기 교란이 발생한다. 읽기 교란은 읽기 대상으로 선택되지 않은 메모리 셀들에 스트레스를 줄 수 있다. 예를 들어, 일기 교란은 선택되지 않은 메모리 셀들의 문턱 전압을 변화시킬 수 있다. 읽기 교란이 누적되면, 선택되지 않은 메모리 셀들에 저장된 데이터의 변경이 발생할 수 있다.
리프레시는 메모리 블록의 메모리 셀들로부터 유효 데이터를 읽고, 읽혀진 데이터를 다른 메모리 블록의 메모리 셀들에 기입하는 것을 포함한다. 리프레시가 수행되면, 메모리 블록에 기입되고 읽기 교란들을 경험한 데이터가 다른 메모리 블록에 새로이 기입된다. 데이터가 다른 메모리 블록에 새로이 기입될 때, 읽기 교란의 영향은 제거된다. 따라서, 리프레시가 수행되면, 읽기 교란의 영향이 제거되고, 데이터의 신뢰성이 복원된다.
본 발명의 실시 예에 따른 스토리지 장치(100)는 읽기 교란이 누적되어 각 메모리 블록에 저장된 데이터가 복구 불가능하게 손상되기 전에, 리프레시를 통해 데이터의 신뢰성을 복원할 수 있다.
본 발명의 실시 예에 따른 가중 모듈(WM)은 각 메모리 블록에서 읽기 동작이 수행되는 메모리 셀들의 물리 어드레스, 즉 물리적 위치에 따라 읽기 가중치를 검출한다. 읽기 가중치는 각 메모리 블록에서 읽기 동작이 수행됨에 따라 발생하는 읽기 교란을 계량화한 값으로 이해될 수 있다.
본 발명의 실시 예에 따른 카운터(CNT)는 각 메모리 블록에서 검출되는 읽기 가중치를 읽기 카운트로 누적한다. 읽기 카운트는 각 메모리 블록에 누적된 읽기 교란을 계량화한 것으로 이해될 수 있다.
즉, 본 발명의 실시 예에 따른 스토리지 장치(100)는, 도 2를 참조하여 설명된 바와 같이, 가중 모듈(WM) 및 카운터(CNT)에 의해 관리되는 읽기 카운트에 따라 리프레시를 수행한다. 즉, 각 메모리 블록에서 읽기 대상으로 선택되는 메모리 셀들의 위치에 따라 달라지는 읽기 교란의 영향이 리프레시를 수행할지를 결정하는 데에 반영된다. 리프레시가 수행됨에 따라, 불휘발성 메모리 장치(110)에 기입된 데이터의 신뢰성이 보정된다. 또한, 스토리지 장치(100)에서 리프레시가 수행되는 빈도가 감소하고, 스토리지 장치(100)의 속도가 향상된다.
도 3은 본 발명의 실시 예에 따른 메모리 블록(BLKa)의 예를 보여준다. 도 3을 참조하면, 복수의 셀 스트링들(CS)이 기판(SUB) 위에서 행들 및 열들로 배치될 수 있다. 복수의 셀 스트링들(CS)은 기판(SUB) 상에 형성되는 공통 소스 라인(CSL)에 공통으로 연결될 수 있다. 도 3에서, 메모리 블록(BLKa)의 구조의 이해를 돕기 위하여, 기판(SUB)의 위치가 예시적으로 표시되어 있다. 도 3에서, 셀 스트링들(CS)의 하단에 공통 소스 라인(CSL)이 연결되는 것으로 도시되어 있다. 그러나 공통 소스 라인(CSL)은 셀 스트링들(CS)의 하단에 전기적으로 연결되는 것으로 충분하며, 물리적으로 셀 스트링들(CS)의 하단에 위치하는 것으로 한정되지 않는다. 예시적으로, 도 3에서 셀 스트링들(CS)은 4X4로 배열되는 것으로 도시되나 본 발명의 기술적 사상은 한정되지 않는다.
각 행의 셀 스트링들은 제1 내지 제4 접지 선택 라인들(GSL1~GSL4) 중 대응하는 접지 선택 라인 또는 제1 내지 제4 스트링 선택 라인들(SSL1~SSL4) 중 대응하는 스트링 선택 라인에 연결될 수 있다. 각 열의 셀 스트링들은 제1 내지 제4 비트 라인들(BL1~BL4) 중 대응하는 비트 라인에 연결될 수 있다. 도면이 복잡해지는 것을 방지하기 위하여, 제2 및 제3 접지 선택 라인들(GSL2, GSL3) 또는 제2 및 제3 스트링 선택 라인들(SSL2, SSL3)에 연결된 셀 스트링들은 옅게 도시되어 있다.
각 셀 스트링은 대응하는 접지 선택 라인에 연결되는 적어도 하나의 접지 선택 트랜지스터(GST), 복수의 워드 라인들(WL1~WL8)에 각각 연결되는 복수의 메모리 셀들(MC), 그리고 대응하는 스트링 선택 라인에 연결되는 적어도 하나(또는 두 개)의 스트링 선택 트랜지스터(SST)를 포함할 수 있다. 각 셀 스트링에서, 접지 선택 트랜지스터(GST), 메모리 셀들(MC) 및 스트링 선택 트랜지스터(SST)는 기판과 수직인 방향을 따라 직렬 연결되고, 기판과 수직인 방향을 따라 순차적으로 적층될 수 있다.
기판(SUB) 또는 접지 선택 트랜지스터(GST)로부터 동일한 높이(또는 순서)에 위치한 셀 스트링들(CS)의 메모리 셀들은 동일한 워드 라인에 공통으로 연결될 수 있다. 기판(SUB) 또는 접지 선택 트랜지스터(GST)로부터 상이한 높이(또는 순서)에 위치한 셀 스트링들(CS)의 메모리 셀들은 상이한 워드 라인들에 연결될 수 있다.
메모리 블록(BLKa)은 3차원 메모리 어레이로 제공된다. 3차원 메모리 어레이는, 실리콘 기판(SUB) 및 메모리 셀들(MC)의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들(MC)의 어레이들의 하나 또는 그 이상의 물리 레벨들에 획일적으로(monolithically) 형성될 수 있다. 메모리 셀들(MC)의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 획일적으로 형성되는 것은, 3차원 어레이의 각 레벨의 레이어들이 3차원 어레이의 하위 레벨의 레이어들 위에 직접 증착됨을 의미한다.
본 발명의 기술적 사상에 따른 일 예로서, 3차원 메모리 어레이는 수직의 방향성을 가져, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 셀 스트링들(CS)(또는 NAND 스트링들)을 포함한다. 적어도 하나의 메모리 셀은 전하 포획 레이어를 포함한다. 각 셀 스트링은 메모리 셀들(MC) 위에 위치하는 적어도 하나의 선택 트랜지스터를 더 포함한다. 적어도 하나의 선택 트랜지스터는 메모리 셀들(MC)과 동일한 구조를 갖고, 메모리 셀들(MC)과 함께 획일적으로 형성된다.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에서 워드 라인들 또는 비트 라인들이 공유되는 구성은 미국등록특허공보 제7,679,133호, 미국등록특허공보 제8,553,466호, 미국등록특허공보 제8,654,587호, 미국등록특허공보 제8,559,235호, 그리고 미국공개특허공보 제2011/0233648호에 개시되어 있으며, 본 발명의 레퍼런스로 포함된다.
도 4는 도 3의 메모리 블록(BLKa)의 하나의 셀 스트링(CS)의 구조의 예를 보여준다. 도 3 및 도 4를 참조하면, 기판(SUB) 위에 기판과 수직인 방향으로 신장되어 기판(SUB)과 접촉하는 필라(PL)가 제공될 수 있다. 도 4에 도시된 접지 선택 라인(GSL), 워드 라인들(WL1~WL8), 그리고 스트링 선택 라인들(SSL)은 각각 기판(SUB)과 평행한 도전 물질들, 예를 들어 금속 물질들로 형성될 수 있다. 필라(PL)는 접지 선택 라인(GSL), 워드 라인들(WL1~WL8), 그리고 스트링 선택 라인들(SSL)을 형성하는 도전 물질들을 관통하여 기판(SUB)과 접촉할 수 있다.
도 4에서, 절단 선(A-A')에 따른 단면도가 함께 도시되어 있다. 예시적으로, 제1 워드 라인(WL1)에 대응하는 제1 메모리 셀(MC1)의 단면도가 도시된다. 필라(PL)는 원통형의 바디(BD)를 포함할 수 있다. 바디(BD)의 내부에 에어갭(AG)이 제공될 수 있다. 바디(BD)는 P-타입 실리콘을 포함하며, 채널이 형성되는 영역일 수 있다. 필라(PL)는 바디(BD)를 둘러싸는 원통형의 터널 절연막(TI) 및 터널 절연막(TI)을 둘러싸는 원통형의 전하 포획 막(CT)을 더 포함할 수 있다. 제1 워드 라인(WL1) 및 필라(PL)의 사이에 블로킹 절연막(BI)이 제공될 수 있다. 바디(BD), 터널 절연막(TI), 전하 포획 막(CT), 블로킹 절연막(BI), 그리고 제1 워드 라인(WL1)은 기판(SUB) 또는 기판(SUB)의 상부 면과 수직인 방향으로 형성된 전하 포획형 트랜지스터일 수 있다. 스트링 선택 트랜지스터(SST), 접지 선택 트랜지스터(GST) 및 다른 메모리 셀들은 제1 메모리 셀(MC1)과 동일한 구조를 가질 수 있다.
셀 스트링(CS)의 제조 공정에서, 필라(PL)의 폭 또는 기판(SUB)의 상부 면과 평행한 단면적은 기판(SUB)과의 거리가 감소할수록 작게 형성될 수 있다. 따라서, 접지 선택 트랜지스터(GST), 메모리 셀들(MC) 및 스트링 선택 트랜지스터들(SST)의 바디들에 동일한 전압이 인가되고 그리고 접지 선택 라인(GSL), 워드 라인들(WL1~WL8) 및 스트링 선택 라인들(SSL)에 동일한 전압이 인가될 때에, 기판(SUB)에 인접한 메모리 셀 또는 접지 선택 트랜지스터(GST)에 형성되는 전기장은 기판(SUB)과 먼 메모리 셀 또는 스트링 선택 트랜지스터(SST)에 형성되는 전기장보다 크다. 이러한 특징은 읽기 동작이 수행되는 동안에 발생하는 읽기 교란에 영향을 준다.
예시적으로, 읽기 동작 시에, 읽기 대상으로 선택된 메모리 셀들에 연결된 워드 라인에 선택 읽기 전압이 인가된다. 선택 읽기 전압은 메모리 셀들의 문턱 전압 범위 내의 레벨을 갖는다. 선택된 메모리 셀들에서 발생하는 전기장의 세기가 작으므로, 선택된 메모리 셀들에서 읽기 교란은 발생하지 않거나 매우 적게 발생한다. 읽기 동작 시에, 읽기 대상으로 선택되지 않은 메모리 셀들에 연결된 워드 라인들에 비선택 읽기 전압이 인가된다. 비선택 읽기 전압은 메모리 셀들의 문턱 전압 범위보다 높은 레벨을 갖는다. 비선택된 메모리 셀들에서 발생하는 전기장의 세기가 상대적으로 크므로, 비선택된 메모리 셀들에서 읽기 교란이 발생할 수 있다.
특히, 선택된 워드 라인에 바로 인접한 비선택된 워드 라인들에 인가되는 비선택 읽기 전압의 레벨은 다른 비선택된 워드 라인들에 인가되는 비선택 읽기 전압의 레벨보다 높다. 따라서, 인접한 비선택 워드 라인들에 연결된 메모리 셀들에서 발생하는 읽기 교란은 다른 비선택 워드 라인들에 연결된 메모리 셀들에서 발생하는 읽기 교란보다 클 수 있다. 인접한 비선택 워드 라인들에 연결된 메모리 셀들에서 발생하는 읽기 교란은 제1 읽기 교란일 수 있다.
또한, 도 4를 참조하여 설명된 바와 같이, 기판(SUB) 또는 접지 선택 트랜지스터(GST)와의 거리가 가까울수록 메모리 셀에 형성되는 전기장의 세기가 커진다. 따라서, 기판(SUB) 또는 접지 선택 트랜지스터(GST)와의 거리가 가까울수록 메모리 셀들에서 발생하는 읽기 교란이 크다. 기판(SUB)에 가까운 하위 워드 라인들, 예를 들어, 제1 내지 제4 워드 라인들(WL1~WL4)에 연결된 메모리 셀들에서 발생하는 읽기 교란은 제2 읽기 교란일 수 있다.
읽기 동작이 하위(또는 기판(SUB)과 인접한) 워드 라인들 중 하나에서 수행되면, 하위(또는 기판(SUB)과 인접한) 워드 라인들에 연결된 메모리 셀들 중 제1 읽기 교란 및 제2 읽기 교란을 모두 경험하는 메모리 셀들이 발생할 수 있다. 제1 읽기 교란 및 제2 읽기 교란이 중첩되어 제3 읽기 교란이 발생할 수 있다. 제3 읽기 교란은 메모리 블록(BLKa)에서 읽기 동작이 수행될 때에 발생하는 가장 강한 읽기 교란일 수 있다.
도 1 및 도 2를 참조하여 설명된 바와 같이, 메모리 셀들에 누적되는 읽기 교란을 해소하기 위해 리프레시가 사용될 수 있다. 예를 들어, 메모리 블록(BLKa)에서 메모리 셀들에 견딜 수 있는 읽기 교란의 양이 계산, 측정 또는 예측될 수 있다. 또한, 메모리 블록에서 수행되는 각 읽기 동작 시에 발생하는 읽기 교란의 양이 계산, 측정 또는 예측될 수 있다. 견딜 수 있는 읽기 교란의 양 및 각 읽기 동작의 읽기 교란의 양에 기반하여, 메모리 블록(BLKa)이 견딜 수 있는 읽기 동작의 횟수, 즉 문턱값이 계산될 수 있다.
한 번의 읽기 동작 시에 발생하는 읽기 교란의 양을 제3 읽기 교란으로 설정하면, 메모리 블록(BLKa)에 기입된 데이터가 손상되기 전에 리프레시가 수행된다. 따라서, 메모리 블록(BLKa)에 기입된 데이터의 신뢰성이 유지된다. 그러나 메모리 블록(BLKa)에서 리프레시를 유발하는 읽기 동작의 횟수가 감소하므로, 리프레시를 수행하는 빈도가 증가하고, 스토리지 장치(100)의 동작 속도가 저해되는 문제가 있다.
반면, 한 번의 읽기 동작 시에 발생하는 읽기 교란의 양을 제3 읽기 교란보다 낮게 설정하면, 메모리 블록(BLKa)에서 리프레시가 발생하는 빈도는 감소할 수 있다. 그러나 메모리 블록(BLKa)에서 제3 읽기 교란을 유발하는 읽기 동작들이 반복적으로 발생하면, 리프레시가 수행되기 전에 메모리 블록(BLKa)에 기입된 데이터가 제3 읽기 교란에 의해 소실될 수 있는 문제가 있다.
본 발명의 실시 예에 따른 스토리지 장치(100)는 읽기 동작 시에 읽기 대상으로 선택된 메모리 셀들 또는 워드 라인들의 위치를 가리키는 어드레스에 따라 읽기 가중치를 검출하고, 읽기 가중치에 따라 읽기 카운트를 증가할 수 있다. 읽기 가중치는 각 워드 라인에 대한 읽기 동작 시에 실제 읽기 교란이 발생하는 양을 고려하여 설정될 수 있다. 따라서, 메모리 블록(BLKa)에 기입된 데이터가 읽기 교란에 의해 소실되는 것을 방지하면서, 리프레시가 발생하는 빈도가 감소한다. 즉, 향상된 속도 및 향상된 신뢰성을 갖는 스토리지 장치가 제공된다. 이하에서, 기판(SUB)에 인접한 또는 기판(SUB)으로부터의 거리는 기판(SUB) 또는 접지 선택 트랜지스터(GST)에 인접한 또는 기판(SUB) 또는 접지 선택 트랜지스터(GST)로부터의 거리를 의미하는 것으로 해석된다.
도 5는 본 발명의 실시 예들에 따라 읽기 가중치들이 설정되는 예를 보여준다. 도 3, 도 4 및 도 5를 참조하면, 읽기 대상으로 선택되는 메모리 셀들이 기판(SUB)에 인접할수록, 제1 읽기 교란과 제2 읽기 교란이 더 중첩된다. 읽기 대상으로 선택되는 메모리 셀들이 기판(SUB)으로부터 멀어질수록, 제1 읽기 교란과 제2 읽기 교란이 더 분리된다. 제1 읽기 교란과 제2 읽기 교란이 더 중첩될수록, 메모리 블록(BLKa)에서 한 번의 읽기 동작에 의해 발생하는 읽기 교란의 최대량이 증가한다. 제1 읽기 교란과 제2 읽기 교란이 더 분리될수록, 메모리 블록(BLKa)에서 한 번의 읽기 동작에 의해 발생하는 읽기 교란의 최대량이 감소한다.
이와 같은 특징에 따라, 메모리 블록(BLKa)의 워드 라인들(WL1~WL8)이 제1 내지 제4 워드 라인 그룹들(WLG1~WLG4)로 그룹화될 수 있다. 예를 들어, 워드 라인들(WL1~WL8)은 기판(SUB)으로부터의 거리에 따라 그룹화될 수 있다. 기판(SUB)과의 거리가 가장 짧은 제1 워드 라인 그룹(WLG1)의 제1 및 제2 워드 라인들(WL1, WL2)에 제1 읽기 가중치(W_1)가 할당될 수 있다. 제1 및 제2 워드 라인들(WL1, WL2) 중 하나에 연결된 메모리 셀들에서 읽기 동작이 수행될 때에, 제1 읽기 가중치(W_1)만큼 읽기 카운트가 증가할 수 있다.
기판(SUB)과의 거리에 따라, 제3 및 제4 워드 라인들(WL3, WL4)을 포함하는 제2 워드 라인 그룹(WLG2)에 제2 읽기 가중치(W_2)가 할당되고, 제5 및 제6 워드 라인들(WL5, WL6)을 포함하는 제3 워드 라인 그룹(WLG3)에 제3 읽기 가중치(W_3)가 할당되고, 그리고 제7 및 제8 워드 라인들(WL7, WL8)을 포함하는 제4 워드 라인 그룹(WLG4)에 제4 읽기 가중치(W_4)가 할당될 수 있다. 기판(SUB)과의 거리가 증가함에 따라, 메모리 셀들의 읽기 가중치, 다시 말하면 메모리 셀들에 대응하는(또는 연결된) 워드 라인 그룹(또는 워드 라인)과 연관된 읽기 가중치는 감소할 수 있다. 예를 들어, 제2 읽기 가중치(W_2)는 제1 읽기 가중치(W_1)보다 작고, 제3 읽기 가중치(W_3)는 제2 읽기 가중치(W_2)보다 작고, 그리고 제4 읽기 가중치(W_4)는 제3 읽기 가중치(W_3)보다 작을 수 있다.
상술된 바와 같이, 읽기 대상으로 선택되는 메모리 셀들과 기판(SUB) 사이의 거리에 따라 읽기 가중치가 조절되면, 특히 기판(SUB)과 선택된 메모리 셀들 사이의 거리가 증가할수록 읽기 가중치가 감소하면, 향상된 신뢰성 및 속도를 갖는 스토리지 장치(100)가 제공된다.
도 6은 메모리 셀들(MC)의 문턱 전압들 및 그에 대응하는 데이터 비트들의 예를 보여준다. 도 6에서, 가로축은 메모리 셀들(MC)의 문턱 전압(Vth)을 가리키고, 세로축은 메모리 셀들(MC)의 수를 가리킨다. 예시적으로, 메모리 셀들(MC) 각각에 3개의 비트들이 기입되는 예가 도 6에 도시된다.
도 3, 도 4 및 도 6을 참조하면, 메모리 셀들(MC) 각각에 3개의 비트들(B1, B2, B3)이 기입되면, 메모리 셀들(MC)은 3개의 비트들(B1, B2, B3)의 값들에 따라 8개의 논리 상태들, 즉 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1~P7)을 가질 수 있다. 예를 들어, 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '111'의 값을 가질 때, 메모리 셀들(MC)은 소거 상태(E)에 대응하며 제1 전압(V1)보다 낮은 문턱 전압을 갖도록 프로그램될 수 있다. 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '011'의 값을 가질 때, 메모리 셀들(MC)은 제1 프로그램 상태(P1)에 대응하며 제1 전압(V1) 및 제2 전압(V2) 사이의 문턱 전압을 갖도록 프로그램될 수 있다. 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '001'의 값을 가질 때, 메모리 셀들(MC)은 제2 프로그램 상태(P2)에 대응하며 제2 전압(V2) 및 제3 전압(V3) 사이의 문턱 전압을 갖도록 프로그램될 수 있다. 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '000'의 값을 가질 때, 메모리 셀들(MC)은 제3 프로그램 상태(P3)에 대응하며 제3 전압(V3) 및 제4 전압(V4) 사이의 문턱 전압을 갖도록 프로그램될 수 있다. 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '010'의 값을 가질 때, 메모리 셀들(MC)은 제4 프로그램 상태(P4)에 대응하며 제4 전압(V4) 및 제5 전압(V5) 사이의 문턱 전압을 갖도록 프로그램될 수 있다. 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '110'의 값을 가질 때, 메모리 셀들(MC)은 제5 프로그램 상태(P5)에 대응하며 제5 전압(V5) 및 제6 전압(V6) 사이의 문턱 전압을 갖도록 프로그램될 수 있다. 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '100'의 값을 가질 때, 메모리 셀들(MC)은 제6 프로그램 상태(P6)에 대응하며 제6 전압(V6) 및 제7 전압(V7) 사이의 문턱 전압을 갖도록 프로그램될 수 있다. 메모리 셀들(MC)에 기입되는 비트들(B1~B3)이 '101'의 값을 가질 때, 메모리 셀들(MC)은 제7 프로그램 상태(P7)에 대응하며 제7 전압(V7)보다 큰 문턱 전압을 갖도록 프로그램될 수 있다.
읽기 동작 시에, 제1 내지 제7 전압들(V1~V7)을 이용하여, 메모리 셀들(MC)의 문턱 전압들이 식별되고, 메모리 셀들(MC)에 기입된 데이터가 판별될 수 있다.
컨트롤러(120)는 메모리 셀들(MC)에 기입된 비트들(B1~B3)을 서로 독립적으로 읽을 수 있다. 예를 들어, 읽기 동작 시에, 컨트롤러(120)는 읽기 대상으로 선택된 메모리 셀들에서 제1 비트들(B1)을 포함하는 제1 데이터, 제2 비트들(B2)을 포함하는 제2 데이터, 그리고 제3 비트들(B3)을 포함하는 제3 데이터 중 하나를 선택하여 읽을 수 있다.
그런데 도 6에 도시된 바와 같이, 제1 데이터, 제2 데이터 및 제3 데이터 각각의 읽기 동작 시에 수행되는 읽기 횟수는 다를 수 있다. 예를 들어, 제1 비트들(B1)을 포함하는 제1 데이터를 읽을 때에, 읽기 대상으로 선택된 메모리 셀들에 기입된 제1 비트들(B1)이 '1'인지 '0'인지 식별되어야 한다. 도 6에서 굵은 선으로 표시된 바와 같이, 불휘발성 메모리 장치(110)는 제1 전압(V1) 및 제5 전압(V1)을 이용한 읽기, 즉 2회의 읽기들을 통해 제1 데이터를 읽을 수 있다. 제2 비트들(B2)을 포함하는 제2 데이터를 읽을 때에, 불휘발성 메모리 장치(110)는 제2 전압(V2), 제4전압(V4) 및 제6 전압(V6)을 이용한 읽기, 즉 3회의 읽기들을 통해 제2 데이터를 읽을 수 있다. 제3 비트들(B3)을 포함하는 제3 데이터를 읽을 때에, 불휘발성 메모리 장치(110)는 제3 전압(V3) 및 제7 전압(V7)을 이용한 읽기, 즉 2회의 읽기들을 통해 제3 데이터를 읽을 수 있다.
읽기 동작 시에 수행되는 읽기들의 횟수(또는 비선택 읽기 전압이 인가되는 총 시간)가 증가할수록, 읽기 동작 시에 발생하는 읽기 교란의 양이 증가한다. 따라서, 선택된 메모리 셀들(MC)에 기입된 제1 내지 제3 데이터 각각의 읽기 동작의 읽기 횟수들이 다른 경우, 어느 데이터가 읽기 대상인지에 따라 읽기 가중치가 더 조절될 수 있다.
도 6에 도시된 논리 상태들 및 그들에 대응하는 비트 값들은 예시적인 것이며, 본 발명의 기술적 사상을 한정하지 않는다.
도 7은 기판(SUB)과 선택된 메모리 셀들 사이의 거리 및 선택된 메모리 셀들에 기입된 데이터들 중 목표 데이터의 위치에 따라 읽기 가중치들이 할당되는 예를 보여준다. 도 3, 도 4 및 도 7을 참조하면, 메모리 블록(BLKa)의 메모리 셀들에 제1 내지 제7 읽기 가중치들(W_1~W_7)이 할당될 수 있다. 제1 내지 제7 읽기 가중치들(W_1~W_7)은 순차적으로 감소하는 값들을 가질 수 있다. 제1 읽기 가중치(W_1)의 값이 가장 크고, 제7 읽기 가중치(W_7)의 값이 가장 작을 수 있다.
도 5를 참조하여 설명된 바와 같이, 읽기 대상으로 선택된 메모리 셀들과 기판(SUB)과의 거리가 증가할수록, 읽기 교란을 나타내는 읽기 가중치는 감소할 수 있다. 예를 들어, 제1 비트들(B1)을 포함하는 제1 데이터의 읽기 동작 시에, 선택된 메모리 셀들과 기판(SUB) 사이의 거리가 증가할수록 읽기 가중치는 제3, 제5, 제6 및 제7 가중치들(W_3, W_5, W_6, W_7)의 순서로 감소할 수 있다. 제2 비트들(B2)을 포함하는 제2 데이터의 읽기 동작 시에, 선택된 메모리 셀들과 기판(SUB) 사이의 거리가 증가할수록 읽기 가중치는 제1, 제2, 제4 및 제6 가중치들(W_1, W_2, W_4, W_6)의 순서로 감소할 수 있다. 제3 비트들(B3)을 포함하는 제3 데이터의 읽기 동작 시에, 선택된 메모리 셀들과 기판(SUB) 사이의 거리가 증가할수록 읽기 가중치는 제3, 제5, 제6 및 제7 읽기 가중치들(W_3, W_5, W_6, W_7)의 순서로 감소할 수 있다.
도 6을 참조하여 설명된 바와 같이, 읽기 동작 시에 수행되는 읽기 횟수들이 증가함에 따라, 읽기 가중치가 증가할 수 있다. 예를 들어, 제1 워드 라인 그룹(WLG1)에 속한 메모리 셀들에서, 2회의 읽기들을 수반하는 제1 데이터 또는 제3 데이터의 읽기 동작 시에 제3 읽기 가중치(W_3)가 읽기 카운트에 더해지고 3회의 읽기들을 수반하는 제2 데이터의 읽기 동작 시에 제1 읽기 가중치(W_1)가 읽기 카운트에 더해진다. 제2 워드 라인 그룹(WLG2)에 속한 메모리 셀들에서, 2회의 읽기들을 수반하는 제1 데이터 또는 제3 데이터의 읽기 동작 시에 제5 읽기 가중치(W_5)가 읽기 카운트에 더해지고 3회의 읽기들을 수반하는 제2 데이터의 읽기 동작 시에 제2 읽기 가중치(W_2)가 읽기 카운트에 더해진다. 제3 워드 라인 그룹(WLG3)에 속한 메모리 셀들에서, 2회의 읽기들을 수반하는 제1 데이터 또는 제3 데이터의 읽기 동작 시에 제6 읽기 가중치(W_6)가 읽기 카운트에 더해지고 3회의 읽기들을 수반하는 제2 데이터의 읽기 동작 시에 제4 읽기 가중치(W_4)가 읽기 카운트에 더해진다. 제4 워드 라인 그룹(WLG4)에 속한 메모리 셀들에서, 2회의 읽기들을 수반하는 제1 데이터 또는 제3 데이터의 읽기 동작 시에 제7 읽기 가중치(W_7)가 읽기 카운트에 더해지고 3회의 읽기들을 수반하는 제2 데이터의 읽기 동작 시에 제6 읽기 가중치(W_6)가 읽기 카운트에 더해진다.
상술된 바와 같이, 선택된 메모리 셀들과 기판(SUB) 사이의 거리, 즉 선택된 메모리 셀들(또는 선택된 워드 라인)의 위치뿐 아니라 선택된 메모리 셀들에 기입된 데이터들 중 선택된 데이터의 위치까지 고려하여 읽기 가중치가 계산되면, 스토리지 장치(100)의 신뢰성 및 속도가 더 향상될 수 있다.
예시적으로, 읽기 동작 시에 메모리 셀들(MC)에 기입된 데이터들(또는 데이터들의 위치들)에 따른 읽기들의 횟수는 도 6 및 도 7에 도시된 것으로 한정되지 않는다.
예시적으로, 읽기 동작 시에 메모리 셀들(MC)에 기입된 데이터들(또는 데이터들의 위치들)에 따른 읽기들의 횟수 정보(또는 횟수 정보에 따른 읽기 가중치들)는 스토리지 장치(100)의 제조 시에 컨트롤러(120)에 미리 불휘발성으로 저장될 수 있다. 다른 예로서, 읽기들의 횟수 정보(또는 횟수 정보에 따른 읽기 가중치들)는 스토리지 장치(100)의 제조 시에 불휘발성 메모리(110)에 미리 불휘발성으로 저장되며, 스토리지 장치(100)에 전원이 공급될 때 불휘발성 메모리 장치(110)가 컨트롤러(120)로 전달할 수 있다.
도 8은 메모리 블록(BLKa)에서 스트링 선택 라인들(SSL1~SSL4)을 고려하여 할당되는 읽기 가중치들의 예를 보여준다. 도 3, 도 4, 도 7 및 도 8을 참조하면, 읽기 대상으로 선택되는 메모리 셀들에 따라 제1 내지 제9 읽기 가중치들(W_1~W_9)이 설정될 수 있다. 제1 내지 제9 읽기 가중치들(W_1~W_9)은 순차적으로 감소하는 값들을 가질 수 있다.
제1 스트링 선택 라인(SSL1)에 대응하는 메모리 셀들에 대해 읽기 동작이 수행될 때, 읽기 가중치들은 도 7을 참조하여 설명된 것과 동일하게 설정될 수 있다.
제1 내지 제3 워드 라인 그룹들(WLG1~WLG3)에 속한 메모리 셀들에 대해 읽기 동작이 수행될 때, 제1 스트링 선택 라인(SSL1)에 대응하는 메모리 셀들이 선택될 때와 제2 스트링 선택 라인(SSL2)에 대응하는 메모리 셀들이 선택될 때의 읽기 가중치들은 동일하다. 그러나 제4 워드 라인 그룹(WLG4)에 속한 메모리 셀들에 대해 읽기 동작이 수행될 때, 점으로 채워진 것과 같이, 제2 스트링 선택 라인(SSL2)에 대응하는 메모리 셀들이 선택될 때의 읽기 가중치는 제1 스트링 선택 라인(SSL2)에 대응하는 메모리 셀들이 선택될 때의 읽기 가중치보다 작다.
제1 및 제2 워드 라인 그룹들(WLG1~WLG2)에 속한 메모리 셀들에 대해 읽기 동작이 수행될 때, 제1 스트링 선택 라인(SSL1)에 대응하는 메모리 셀들이 선택될 때와 제3 또는 제4 스트링 선택 라인(SSL3 또는 SSL4)에 대응하는 메모리 셀들이 선택될 때의 읽기 가중치들은 동일하다. 그러나 제3 및 제4 워드 라인 그룹들(WLG3, WLG4)에 속한 메모리 셀들에 대해 읽기 동작이 수행될 때, 점으로 채워진 것과 같이, 제3 또는 제4 스트링 선택 라인(SSL3 또는 SSL4)에 대응하는 메모리 셀들이 선택될 때의 읽기 가중치는 제1 스트링 선택 라인(SSL2)에 대응하는 메모리 셀들이 선택될 때의 읽기 가중치보다 작다.
도 8을 참조하여 설명된 바와 같이, 선택된 메모리 셀들에 대응하는 스트링 선택 라인(또는 스트링 선택 라인의 위치)에 따라 읽기 가중치가 다르게 설정되면, 스토리지 장치(100)의 신뢰성 및 속도가 더 향상될 수 있다.
읽기 교란이 발생하면, 메모리 셀들(MC)의 전하 포획 막으로부터 전하가 유출되거나 전하 포획 막에 전하가 포획된다. 즉, 메모리 셀들(MC)의 전하 포획 막에서 전하 이동이 발생한다. 전하 이동이 발생하면, 전하 포획 막의 전하들이 안정화될 때까지 안정화 시간이 필요하다. 메모리 셀들(MC)에서 읽기 교란이 발생한 후 안정화 시간이 경과하기 전에 읽기 동작이 더 수행되고 읽기 교란이 더 발생할 수 있다. 메모리 셀들(MC)에 포획된 전하들이 안정화되기 전에 읽기 교란이 더 발생하면, 읽기 교란의 영향이 더 크게 적용된다. 따라서, 읽기 동작(또는 읽기 교란)이 발생하는 간격, 다시 말하면 읽기 동작이 발생하는 빈도 또한 총 읽기 교란에 영향을 줄 수 있으며, 읽기 가중치를 산정하는 데에 반영될 수 있다.
도 9는 읽기 동작이 수행되는 빈도에 따라 읽기 가중치를 조절하는 예를 보여주는 순서도이다. 도 1, 도 3 및 도 9를 참조하면, S210 단계에서, 컨트롤러(120)는 제1 임계 시간(Tcr1) 이내에 동일 메모리 블록(BLKa)에 대한 읽기 동작이 수행되는지 판별한다. 예를 들어, 컨트롤러(120)는 메모리 블록(BLKa)에서 현재 수행되는 읽기 동작 및 바로 이전에 수행된 읽기 동작 사이의 시간 간격이 제1 임계 시간(Tcr1) 이내인지 판별할 수 있다. 시간 간격이 제1 임계 시간(Tcr1) 이상이면, 읽기 가중치는 추가 조정되지 않는다. 시간 간격이 제1 임계 시간(Tcr1) 이내이면, 메모리 블록(BLKa)에서 이전 읽기 동작의 제2 읽기 교란이 발생한 후 메모리 셀들(MC)의 전하들이 안정화되기 전에, 현재 읽기 동작에 의해 제2 읽기 교란이 더 발생한 것으로 식별될 수 있다. 따라서, S220 단계에서, 제1 반복 가중치가 읽기 가중치에 더해지고, 읽기 가중치가 증가할 수 있다.
S230 단계에서, 컨트롤러(120)는 제2 임계 시간(Tcr2) 이내에 동일 워드 라인에 대한 읽기 동작이 수행되는지 판별한다. 예를 들어, 컨트롤러(120)는 메모리 블록(BLKa)에서 현재 수행되는 읽기 동작 및 바로 이전에 수행된 읽기 동작이 메모리 블록(BLKa)의 동일한 워드 라인에 대한 것이며, 읽기 동작들 사이의 시간 간격이 제2 임계 시간(Tcr2) 이내인지 판별할 수 있다. 시간 간격이 제2 임계 시간(Tcr2) 이상이면, 읽기 가중치는 추가 조정되지 않는다. 시간 간격이 제2 임계 시간(Tcr2) 이내이면, 메모리 블록(BLKa)에서 이전 읽기 동작의 제1 읽기 교란이 발생한 후 메모리 셀들(MC)의 전하들이 안정화되기 전에, 현재 읽기 동작에 의해 제1 읽기 교란이 더 발생한 것으로 식별될 수 있다. 따라서, S240 단계에서, 제2 반복 가중치가 읽기 가중치에 더해지고, 읽기 가중치가 증가할 수 있다.
예시적으로, 반복 가중치는 구간별로 세분화될 수 있다. 예를 들어, 컨트롤러(120)는 각 메모리 블록에서 제1 반복 가중치(또는 제2 반복 가중치)가 연속적으로 더해지는 횟수를 카운트하고, 카운트가 증가할수록 제1 반복 가중치(또는 제2 반복 가중치)를 증가시킬 수 있다. 또한, 컨트롤러(120)는 각 메모리 블록에서 미리 정해진 시간 동안 제1 반복 가중치(또는 제2 반복 가중치)가 더해지지 않으면, 제1 반복 가중치(또는 제2 반복 가중치)의 카운트를 리셋할 수 있다.
예시적으로, 컨트롤러(120)는 제1 임계 시간(또는 제2 임계 시간)을 복수의 구간들로 세분화할 수 있다. 컨트롤러(120)는 이전 읽기 동작과 현재 읽기 동작 사이의 시간 간격이 제1 임계 시간(또는 제2 임계 시간)의 어느 구간에 속하는지에 따라, 제1 반복 가중치(또는 제2 반복 가중치)를 다르게 선택할 수 있다. 예를 들어, 시간 간격이 감소할수록, 제1 반복 가중치(또는 제2 반복 가중치)가 증가할 수 있다.
예시적으로, 읽기 동작이 수행되는 때의 온도가 낮을수록, 그리고 읽기 동작이 수행되는 때의 온도와 읽기 대상으로 선택된 메모리 셀들에 데이터가 기입된 때의 온도 사이의 차이가 클수록, 읽기 교란이 클 수 있다. 따라서, 읽기 동작과 연관된 온도를 반영하여, 읽기 가중치가 더 조절될 수 있다.
도 10은 읽기 동작과 연관된 온도를 더 반영하여 읽기 가중치를 조절하는 예를 보여주는 순서도이다. 도 1, 도 3 및 도 10을 참조하면, S310 단계에서, 컨트롤러(120)는 읽기 동작이 수행되는 때의 온도(TEMP)가 임계 온도(TPcr)보다 낮은지 판별한다. 온도(TEMP)가 임계 온도(TPcr)보다 낮으면, S320 단계에서 컨트롤러(120)는 제1 온도 가중치를 읽기 가중치에 더하여 읽기 가중치를 증가시킬 수 있다. 예를 들어, 임계 온도(TPcr)는 섭씨 영하 10도일 수 있다.
S330 단계에서, 컨트롤러(120)는 읽기 동작이 수행되는 온도 및 읽기 대상으로 선택된 메모리 셀들에 데이터가 기입된 때의 온도 사이의 온도 차이(TEMP_D)가 임계 온도 차이(TDcr)보다 높은지 판별한다. 온도 차이(TEMP_D)가 임계 온도 차이(TDcr)보다 높으면, S340 단계에서 컨트롤러(120)는 제2 온도 가중치를 읽기 가중치에 더하여 읽기 가중치를 증가시킬 수 있다.
예시적으로, 도 9를 참조하여 설명된 바와 같이, 임계 온도(TPcr) 또는 임계 온도 차이(TDcr)의 구간들에 따라 제1 온도 가중치 또는 제2 온도 가중치가 세분화될 수 있다.
상술된 바와 같이, 본 발명의 실시 예에 따른 스토리지 장치(100)는 읽기 동작의 대상인 메모리 셀들, 읽기 동작의 대상인 데이터, 읽기 동작이 수행되는 빈도, 읽기 동작과 연관된 환경(예를 들어, 온도) 파라미터를 고려하여, 읽기 동작 시에 실제 발생하는 읽기 교란을 추정하고, 추정 결과를 읽기 가중치로 반영하고, 읽기 가중치에 따라 읽기 카운트를 증가시킨다. 읽기 카운트는 리프레시를 수행할지를 판별하는 기준으로 사용된다. 따라서, 읽기 동작들이 수행될 때 실제 발생하는 읽기 교란을 반영하여 리프레시가 수행되므로, 스토리지 장치(100)의 신뢰성 및 속도가 향상된다.
도 11은 본 발명의 실시 예에 따른 컨트롤러(120)를 보여주는 블록도이다. 도 1 및 도 11을 참조하면, 컨트롤러(120)는 버스(121), 프로세서(122), RAM (123), 에러 정정 블록(124), 호스트 인터페이스(125), 버퍼 제어 회로(126), 그리고 메모리 인터페이스(127)를 포함한다.
버스(121)는 컨트롤러(120)의 구성 요소들 사이에 채널을 제공하도록 구성된다.
프로세서(122)는 컨트롤러(120)의 제반 동작을 제어하고, 논리 연산을 수행할 수 있다. 프로세서(122)는 호스트 인터페이스(125)를 통해 외부의 호스트 장치와 통신하고, 메모리 인터페이스(127)를 통해 불휘발성 메모리 장치(110)와 통신하고, 그리고 버퍼 제어 회로(126)를 통해 RAM (130)과 통신할 수 있다. 프로세서(122)는 RAM (123)을 동작 메모리, 캐시 메모리 또는 버퍼 메모리로 사용하여 스토리지 장치(100)를 제어할 수 있다.
플래시 변환 계층(FTL), 가중 모듈(WM), 그리고 카운터(CNT) 중 적어도 하나는 프로세서(122)에 의해 구동되는 펌웨어, 운영 체제, 응용과 같은 소프트웨어의 형태로 구현될 수 있다. 다른 예로서, 플래시 변환 계층(FTL), 가중 모듈(WM), 그리고 카운터(CNT) 중 적어도 하나는 프로세서(122)의 내부에서 회로망(circuitry) 또는 지식 자산(IP, Intellectual Property)과 같은 하드웨어로 구현될 수 있다. 다른 예로서, 플래시 변환 계층(FTL), 가중 모듈(WM), 그리고 카운터(CNT) 중 적어도 하나는 프로세서(122)와 연관되어 하드웨어 및 소프트웨어가 조합된 형태로 구현될 수 있다. 다른 예로서, 플래시 변환 계층(FTL), 가중 모듈(WM), 그리고 카운터(CNT) 중 적어도 하나는 프로세서(122)와 분리된 별도의 모듈로 제공될 수 있다.
RAM (123)은 프로세서(122)의 동작 메모리, 캐시 메모리 또는 버퍼 메모리로 사용될 수 있다. RAM (123)은 프로세서(122)가 실행하는 코드들 및 명령들을 저장할 수 있다. RAM (123)은 프로세서(122)에 의해 처리되는 데이터를 저장할 수 있다. RAM (123)은 SRAM (Static RAM)을 포함할 수 있다.
에러 정정 블록(124)은 에러 정정을 수행할 수 있다. 에러 정정 블록(124)은 메모리 인터페이스(127)를 통해 불휘발성 메모리 장치(110)에 기입될 데이터에 기반하여 에러 정정 인코딩을 수행할 수 있다. 에러 정정 인코딩된 데이터는 메모리 인터페이스(127)를 통해 불휘발성 메모리 장치(110)로 전달될 수 있다. 에러 정정 블록(124)은 불휘발성 메모리 장치(110)로부터 메모리 인터페이스(127)를 통해 수신되는 데이터에 대해 에러 정정 디코딩을 수행할 수 있다. 예시적으로, 에러 정정 블록(124)은 메모리 인터페이스(127)의 구성 요소로서 메모리 인터페이스(127)에 포함될 수 있다.
호스트 인터페이스(125)는 프로세서(122)의 제어에 따라, 외부의 호스트 장치와 통신하도록 구성된다. 호스트 인터페이스(125)는 USB (Universal Serial Bus), SATA (Serial AT Attachment), SAS (Serial Attached SCSI), HSIC (High Speed Interchip), SCSI (Small Computer System Interface), PCI (Peripheral Component Interconnection), PCIe (PCI express), NVMe (NonVolatile Memory express), UFS (Universal Flash Storage), SD (Secure Digital), MMC (MultiMedia Card), eMMC (embedded MMC), DIMM (Dual In-line Memory Module), RDIMM (Registered DIMM), LRDIMM (Load Reduced DIMM) 등과 같은 다양한 통신 방식들 중 적어도 하나를 이용하여 통신하도록 구성될 수 있다.
버퍼 제어 회로(126)는 프로세서(122)의 제어에 따라, 버퍼 메모리(130)를 제어하도록 구성된다.
메모리 인터페이스(127)는 프로세서(122)의 제어에 따라, 불휘발성 메모리 장치(110)와 통신하도록 구성된다. 도 1을 참조하여 설명된 바와 같이, 메모리 인터페이스(127)는 입출력 채널을 통해 커맨드, 어드레스 및 데이터를 불휘발성 메모리 장치(110)와 통신할 수 있다. 메모리 인터페이스(127)는 제어 채널을 통해 제어 신호를 불휘발성 메모리 장치(110)와 통신할 수 있다.
예시적으로, 스토리지 장치(100)에 RAM (130)이 제공되지 않는 경우, 컨트롤러(120)에 버퍼 제어 회로(126)가 제공되지 않을 수 있다.
예시적으로, 프로세서(122)는 코드들을 이용하여 컨트롤러(120)를 제어할 수 있다. 프로세서(122)는 컨트롤러(120)의 내부에 제공되는 불휘발성 메모리 장치(예를 들어, Read Only Memory)로부터 코드들을 로드할 수 있다. 다른 예로서, 프로세서(122)는 불휘발성 메모리 장치(110)로부터 메모리 인터페이스(127)를 통해 코드들을 로드할 수 있다.
예시적으로, 컨트롤러(120)의 버스(121)는 제어 버스 및 데이터 버스로 구분될 수 있다. 데이터 버스는 컨트롤러(120) 내에서 데이터를 전송하고, 제어 버스는 컨트롤러(120) 내에서 커맨드, 어드레스와 같은 제어 정보를 전송하도록 구성될 수 있다. 데이터 버스와 제어 버스는 서로 분리되며, 상호 간에 간섭하거나 영향을 주지 않을 수 있다. 데이터 버스는 호스트 인터페이스(125), 버퍼 제어 회로(126), 에러 정정 블록(124) 및 메모리 인터페이스(127)에 연결될 수 있다. 제어 버스는 호스트 인터페이스(125), 프로세서(122), 버퍼 제어 회로(126), RAM (123) 및 메모리 인터페이스(127)에 연결될 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 상술한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100; 스토리지 장치
BLK1~BLKz; 메모리 블록들
110; 불휘발성 메모리 장치
FTL; 플래시 변환 계층
WM; 가중 모듈
CNT; 카운터
120; 컨트롤러
130; 버퍼 메모리
MD; 사상 데이터
121; 버스
122; 프로세서
123; 랜덤 액세스 메모리
124; 에러 정정 블록
125; 호스트 인터페이스
126; 버퍼 제어 회로
127; 메모리 인터페이스

Claims (20)

  1. 복수의 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 스트링 선택 라인들에 연결된 스트링 선택 트랜지스터들, 복수의 접지 선택 라인들에 연결된 접지 선택 트랜지스터들 및 복수의 워드 라인들에 연결된 메모리 셀들을 포함하는 불휘발성 메모리 장치; 그리고
    읽기 동작 시에, 읽기 대상으로 선택된 메모리 블록에서 읽기 대상으로 선택된 워드 라인 및 스트링 선택 라인에 대응하는 선택된 메모리 셀들로부터 데이터를 읽도록 구성되는 컨트롤러를 포함하고,
    상기 컨트롤러는, 상기 선택된 메모리 블록의 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 읽기 가중치만큼 읽기 카운트를 증가시키고, 그리고 상기 읽기 카운트가 문턱 값에 도달하면 상기 선택된 메모리 블록에 대해 리프레시를 수행하도록 구성되고,
    상기 선택된 메모리 블록에서, 상기 복수의 스트링 선택 라인들 및 상기 복수의 워드 라인들의 위치들에 따라 둘 이상의 읽기 가중치들이 할당되는 스토리지 장치.
  2. 제1 항에 있어서,
    각 메모리 블록의 상기 메모리 셀들은 기판과 수직인 방향으로 적층되는 스토리지 장치.
  3. 제2 항에 있어서,
    상기 선택된 워드 라인에 연결된 상기 선택된 메모리 셀들과 상기 기판 사이의 거리가 증가할수록, 상기 읽기 가중치가 감소하는 스토리지 장치.
  4. 제2 항에 있어서,
    각 메모리 블록에서 상기 복수의 스트링 선택 라인들은 셀 스트링들의 행들에 연결되고, 각 셀 스트링은 접지 선택 트랜지스터, 메모리 셀들 및 스트링 선택 트랜지스터를 포함하는 스토리지 장치.
  5. 제4 항에 있어서,
    상기 복수의 스트링 선택 라인들은 제1 스트링 선택 라인, 제2 스트링 선택 라인, 그리고 상기 제1 및 제2 스트링 선택 라인들 사이에 배치되는 중간 스트링 선택 라인들을 포함하고,
    상기 선택된 스트링 선택 라인이 상기 제1 스트링 선택 라인과 가까울수록 상기 읽기 가중치가 감소하는 스토리지 장치.
  6. 제1 항에 있어서,
    상기 선택된 메모리 셀들 각각은 복수의 페이지 데이터들을 저장하도록 구성되고,
    상기 복수의 페이지 데이터들 중 어느 페이지 데이터가 읽기 대상인지에 따라, 상기 컨트롤러는 상기 읽기 가중치를 더 조절하도록 구성되는 스토리지 장치.
  7. 제6 항에 있어서,
    상기 읽기 대상인 페이지 데이터를 판별하기 위한 읽기 횟수가 증가할수록, 상기 컨트롤러는 상기 읽기 가중치를 증가시키는 스토리지 장치.
  8. 제7 항에 있어서,
    상기 불휘발성 메모리 장치는 상기 복수의 페이지 데이터들을 각각 판별하기 위한 읽기 횟수들의 정보를 상기 컨트롤러로 전송하도록 구성되는 스토리지 장치.
  9. 제1 항에 있어서,
    상기 컨트롤러는 상기 읽기 동작이 수행되는 빈도에 따라 상기 읽기 가중치를 조절하도록 구성되는 스토리지 장치.
  10. 제9 항에 있어서,
    상기 컨트롤러는 상기 선택된 메모리 블록에 대한 이전 읽기 동작이 상기 읽기 동작이 수행된 때로부터 제1 임계 시간 내에 수행되었으면, 상기 읽기 가중치를 증가시키는 스토리지 장치.
  11. 제10 항에 있어서,
    상기 컨트롤러는 상기 선택된 워드 라인에 대한 이전 읽기 동작이 상기 읽기 동작이 수행된 때로부터 제2 임계 시간 내에 수행되었으면, 상기 읽기 가중치를 더 증가시키는 스토리지 장치.
  12. 제1 항에 있어서,
    상기 컨트롤러는 상기 읽기 동작이 수행되는 때의 온도에 따라 상기 읽기 가중치를 조절하도록 구성되는 스토리지 장치.
  13. 제12 항에 있어서,
    상기 컨트롤러는 상기 읽기 동작이 수행되는 때의 온도가 임계 온도보다 낮을 때, 상기 읽기 가중치를 증가시키는 스토리지 장치.
  14. 제12 항에 있어서,
    상기 컨트롤러는 상기 읽기 동작이 수행되는 때의 온도 및 상기 선택된 메모리 셀들에 데이터가 기입된 때의 온도 사이의 온도 차이가 임계 온도 차이보다 클 때, 상기 읽기 가중치를 증가시키는 스토리지 장치.
  15. 제1 항에 있어서,
    상기 리프레시는, 상기 컨트롤러가 상기 선택된 메모리 블록의 메모리 셀들에 기입된 데이터 중 유효 데이터를 읽고, 상기 읽혀진 데이터를 다른 메모리 블록이 기입하는 것을 포함하는 스토리지 장치.
  16. 제1 항에 있어서,
    상기 컨트롤러는 읽기 커맨드 및 논리 어드레스를 수신하고, 상기 논리 어드레스를 상기 불휘발성 메모리 장치의 물리 어드레스로 변환하고, 상기 읽기 커맨드에 응답하여 상기 물리 어드레스가 가리키는 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 상기 선택된 메모리 셀들에 대해 상기 읽기 동작을 수행하도록 구성되는 스토리지 장치.
  17. 복수의 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 스트링 선택 라인들에 연결된 스트링 선택 트랜지스터들, 복수의 접지 선택 라인들에 연결된 접지 선택 트랜지스터들 및 복수의 워드 라인들에 연결된 메모리 셀들을 포함하는 불휘발성 메모리 장치
    읽기 동작 시에, 읽기 대상으로 선택된 메모리 블록에서 읽기 대상으로 선택된 워드 라인 및 스트링 선택 라인에 대응하는 선택된 메모리 셀들로부터 데이터를 읽도록 구성되는 컨트롤러를 포함하고,
    상기 컨트롤러는, 상기 선택된 메모리 블록의 상기 선택된 스트링 선택 라인 및 상기 선택된 워드 라인에 대응하는 읽기 가중치만큼 읽기 카운트를 증가시키고, 그리고 상기 읽기 카운트가 문턱 값에 도달하면 상기 선택된 메모리 블록에 대해 리프레시를 수행하도록 구성되고,
    상기 선택된 메모리 블록에서, 상기 선택된 워드 라인에 대해 상기 복수의 스트링 선택 라인들 중 어느 스트링 선택 라인이 선택되는지에 따라 읽기 가중치가 달라지는 스토리지 장치.
  18. 제17 항에 있어서,
    상기 컨트롤러는 상기 선택된 메모리 셀들에 기입된 복수의 페이지 데이터들 중 선택된 페이지 데이터를 읽고, 그리고 상기 선택된 스트링 선택 라인, 상기 선택된 워드 라인 및 상기 선택된 페이지 데이터에 대응하는 값을 상기 읽기 가중치로 선택하도록 구성되고,
    상기 선택된 워드 라인에 대응하는 상기 선택된 메모리 셀들과 상기 기판 사이의 거리가 증가할수록, 그리고 상기 선택된 페이지 데이터를 판별하기 위한 읽기 횟수가 감소할수록, 상기 컨트롤러는 상기 읽기 가중치를 감소시키는 스토리지 장치.
  19. 복수의 메모리 블록들을 포함하고, 각 메모리 블록은 기판과 수직인 방향으로 적층되며 복수의 워드 라인들과 연결되는 복수의 메모리 셀들을 포함하는 불휘발성 메모리 장치; 그리고
    읽기 동작 시에, 읽기 대상으로 선택된 메모리 블록에서 읽기 대상으로 선택된 워드 라인에 대응하는 선택된 메모리 셀들로부터 데이터를 읽도록 구성되는 컨트롤러를 포함하고,
    상기 컨트롤러는, 상기 선택된 메모리 블록의 상기 선택된 워드 라인에 대응하는 읽기 가중치만큼 읽기 카운트를 증가시키고, 그리고 상기 읽기 카운트가 문턱 값에 도달하면 상기 선택된 메모리 블록에 대해 리프레시를 수행하도록 구성되고,
    상기 선택된 메모리 블록에서, 상기 선택된 워드 라인에 대응하는 상기 선택된 메모리 셀들과 상기 기판 사이의 거리가 증가할수록, 상기 컨트롤러는 상기 읽기 가중치를 감소시키는 스토리지 장치.
  20. 제19 항에 있어서,
    상기 컨트롤러는 상기 읽기 동작이 수행되는 빈도 및 온도에 따라, 상기 읽기 가중치를 조절하도록 구성되는 스토리지 장치.
KR1020160082774A 2016-06-30 2016-06-30 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 KR20180003713A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160082774A KR20180003713A (ko) 2016-06-30 2016-06-30 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020160082774A KR20180003713A (ko) 2016-06-30 2016-06-30 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치
US15/423,629 US10049755B2 (en) 2016-06-30 2017-02-03 Storage device including nonvolatile memory device and controller with varied read weights
CN201710521176.5A CN107564562B (en) 2016-06-30 2017-06-30 Storage device including non-volatile memory device and controller

Publications (1)

Publication Number Publication Date
KR20180003713A true KR20180003713A (ko) 2018-01-10

Family

ID=60807024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160082774A KR20180003713A (ko) 2016-06-30 2016-06-30 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치

Country Status (3)

Country Link
US (1) US10049755B2 (ko)
KR (1) KR20180003713A (ko)
CN (1) CN107564562B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020028781A1 (en) * 2018-08-03 2020-02-06 Micron Technology, Inc. Methods for row hammer mitigation and memory devices and systems employing the same
WO2020036721A1 (en) * 2018-08-17 2020-02-20 Micron Technology, Inc. Access schemes for activity-based data protection in a memory device
US10665285B2 (en) 2018-08-17 2020-05-26 Micron Technology, Inc. Access schemes for section-based data protection in a memory device
US10817371B2 (en) 2018-12-31 2020-10-27 Micron Technology, Inc. Error correction in row hammer mitigation and target row refresh

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10802907B2 (en) 2018-03-20 2020-10-13 Micron Technology, Inc. Hierarchical buffering scheme to normalize non-volatile media raw bit error rate transients
US10381073B1 (en) 2018-03-20 2019-08-13 Micron Technology, Inc. Converged structure supporting buffering of recent writes and overwrite disturb remediation
US20200111525A1 (en) * 2018-10-09 2020-04-09 Micron Technology, Inc. Methods for row hammer mitigation and memory devices and systems employing the same

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007047863A (ja) 2005-08-05 2007-02-22 Hitachi Ltd 記憶装置の記憶領域を構成する各記憶領域単位毎にアクセス排他制御を行うストレージシステム及び記憶制御方法
KR100829790B1 (ko) * 2006-10-20 2008-05-19 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 독출방법
JP2008181380A (ja) 2007-01-25 2008-08-07 Toshiba Corp メモリシステムおよびその制御方法
JP5661227B2 (ja) 2007-02-07 2015-01-28 株式会社メガチップス メモリコントローラ
JP5073402B2 (ja) 2007-07-31 2012-11-14 パナソニック株式会社 メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
KR20090014036A (ko) 2007-08-03 2009-02-06 삼성전자주식회사 읽기 디스터번스로 인한 에러를 방지하는 메모리 시스템 및그 방법
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
JP4267682B1 (ja) 2008-06-04 2009-05-27 株式会社ハギワラシスコム Nandフラッシュメモリのリフレッシュ方法
JP5185156B2 (ja) 2009-02-24 2013-04-17 株式会社東芝 メモリコントローラおよび半導体記憶装置
US8189379B2 (en) 2009-08-12 2012-05-29 Texas Memory Systems, Inc. Reduction of read disturb errors in NAND FLASH memory
US7818525B1 (en) 2009-08-12 2010-10-19 Texas Memory Systems, Inc. Efficient reduction of read disturb errors in NAND FLASH memory
JP5788183B2 (ja) * 2010-02-17 2015-09-30 三星電子株式会社Samsung Electronics Co.,Ltd. 不揮発性メモリ装置、それの動作方法、そしてそれを含むメモリシステム
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
CN102376362B (zh) * 2010-08-24 2017-08-11 晨星软件研发(深圳)有限公司 应用于快闪存储器的方法与相关的控制器
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8510528B2 (en) 2010-12-29 2013-08-13 Teradata Us, Inc. Differential data storage based on predicted access frequency
JP5604313B2 (ja) 2011-01-12 2014-10-08 株式会社メガチップス メモリアクセス制御装置
US9257169B2 (en) * 2012-05-14 2016-02-09 Samsung Electronics Co., Ltd. Memory device, memory system, and operating methods thereof
US9240245B1 (en) * 2012-09-11 2016-01-19 Sk Hynix Memory Solutions Inc. Memory efficient triggers of read disturb checks in solid state storage
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
US9171620B2 (en) * 2012-11-29 2015-10-27 Sandisk Technologies Inc. Weighted read scrub for nonvolatile memory
US20140173239A1 (en) 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
US9552288B2 (en) 2013-02-08 2017-01-24 Seagate Technology Llc Multi-tiered memory with different metadata levels
US9558108B2 (en) 2013-04-15 2017-01-31 Macronix International Co., Ltd. Half block management for flash storage devices
CN104934066B (zh) 2014-03-19 2018-03-27 安华高科技通用Ip(新加坡)公司 Nand闪存中的读取干扰处理
US9330790B2 (en) * 2014-04-25 2016-05-03 Seagate Technology Llc Temperature tracking to manage threshold voltages in a memory
US9570198B2 (en) * 2014-05-16 2017-02-14 SK Hynix Inc. Read disturb detection
US9361182B2 (en) * 2014-05-20 2016-06-07 Transcend Information, Inc. Method for read disturbance management in non-volatile memory devices
US9612957B2 (en) 2014-07-30 2017-04-04 Qualcomm Innovation Center, Inc. Read disturb and data retention handling for NAND devices
US9244858B1 (en) 2014-08-25 2016-01-26 Sandisk Technologies Inc. System and method of separating read intensive addresses from non-read intensive addresses
US20160118132A1 (en) * 2014-10-27 2016-04-28 Sandisk Enterprise Ip Llc Low Impact Read Disturb Handling
US9552171B2 (en) * 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
CN106257594B (zh) * 2015-06-16 2021-01-05 爱思开海力士有限公司 读取干扰收回策略
US9711234B1 (en) * 2016-03-17 2017-07-18 EMC IP Holding Co., LLC Non-volatile memory read/write disturb monitoring

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020028781A1 (en) * 2018-08-03 2020-02-06 Micron Technology, Inc. Methods for row hammer mitigation and memory devices and systems employing the same
US11037617B2 (en) 2018-08-03 2021-06-15 Micron Technology, Inc. Methods for row hammer mitigation and memory devices and systems employing the same
WO2020036721A1 (en) * 2018-08-17 2020-02-20 Micron Technology, Inc. Access schemes for activity-based data protection in a memory device
US10665285B2 (en) 2018-08-17 2020-05-26 Micron Technology, Inc. Access schemes for section-based data protection in a memory device
US10855295B2 (en) 2018-08-17 2020-12-01 Micron Technology, Inc. Access schemes for section-based data protection in a memory device
US10991411B2 (en) 2018-08-17 2021-04-27 Micron Technology, Inc. Method and apparatuses for performing a voltage adjustment operation on a section of memory cells based on a quantity of access operations
US10817371B2 (en) 2018-12-31 2020-10-27 Micron Technology, Inc. Error correction in row hammer mitigation and target row refresh

Also Published As

Publication number Publication date
CN107564562A (zh) 2018-01-09
US20180004415A1 (en) 2018-01-04
US10049755B2 (en) 2018-08-14
CN107564562B (en) 2021-07-06

Similar Documents

Publication Publication Date Title
EP3158454B1 (en) Sub-block garbage collection
KR20180003713A (ko) 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치
KR20180001711A (ko) 저장 장치
TWI574270B (zh) 記憶體裝置之平均抹寫
US9552171B2 (en) Read scrub with adaptive counter management
US10114575B2 (en) Storage device and operating method thereof
KR20140060809A (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 읽기 방법
KR102128406B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR102222463B1 (ko) 저장 장치 및 그것의 타이머 설정 방법 및 구동 방법들
CN105718381B (zh) 存储设备、非易失性存储器以及操作其的方法
KR20160087430A (ko) 불휘발성 메모리 시스템 및 그것의 동작 방법
US20150347040A1 (en) Using History of I/O Sizes and I/O Sequences to Trigger Coalesced Writes in a Non-Volatile Storage Device
KR20180061557A (ko) 컨트롤러 및 컨트롤러와 불휘발성 메모리 장치들을 포함하는 스토리지 장치
KR20170051841A (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 동작 방법
KR20190066469A (ko) 데이터 신뢰성을 향상한 불휘발성 메모리 장치 및 그 동작방법
US9589640B2 (en) Data storage device including nonvolatile memory device and operating method thereof
KR20200138894A (ko) 메모리 시스템, 메모리 컨트롤러 및 메모리 장치
KR20200019385A (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
US20210109675A1 (en) Memory system, memory controller and operating method
KR102277652B1 (ko) 워드 라인 불량 검출 회로를 포함하는 메모리 장치 및 그 구동 방법
KR102272248B1 (ko) 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination