KR20190108423A - 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치 - Google Patents

메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치 Download PDF

Info

Publication number
KR20190108423A
KR20190108423A KR1020180029926A KR20180029926A KR20190108423A KR 20190108423 A KR20190108423 A KR 20190108423A KR 1020180029926 A KR1020180029926 A KR 1020180029926A KR 20180029926 A KR20180029926 A KR 20180029926A KR 20190108423 A KR20190108423 A KR 20190108423A
Authority
KR
South Korea
Prior art keywords
read voltage
memory device
memory
voltage
test
Prior art date
Application number
KR1020180029926A
Other languages
English (en)
Other versions
KR102617350B1 (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 KR1020180029926A priority Critical patent/KR102617350B1/ko
Priority to US16/299,348 priority patent/US10748642B2/en
Priority to CN201910193672.1A priority patent/CN110277132A/zh
Publication of KR20190108423A publication Critical patent/KR20190108423A/ko
Application granted granted Critical
Publication of KR102617350B1 publication Critical patent/KR102617350B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing 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/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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0405Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals comprising complete test loop
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5004Voltage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

본 개시에 따르면, 선택 워드 라인에 연결된 복수의 메모리 셀들을 포함하는 메모리 장치에 대한 메모리 컨트롤러의 독출 전압 설정 방법은, 테스트 독출 전압을 선택 워드 라인에 인가함으로써 복수의 메모리 셀들의 데이터를 독출하도록 메모리 장치를 제어하는 단계, 메모리 장치의 독출 동작에 대응되는 셀 카운트 정보를 상기 메모리 장치로부터 수신함으로써, 최적의 독출 전압을 찾기 위해 독출 전압 레벨 별로 결정되는 비용 함수 및 셀 카운트 정보를 이용해 테스트 독출 전압을 갱신하는 단계 및 메모리 장치를 제어하는 단계 및 테스트 독출 전압을 갱신하는 단계를 적어도 한 번 수행함으로써 메모리 장치의 독출 전압을 결정하는 단계를 포함할 수 있다.

Description

메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치{MEMORY CONTROLLER, OPERATING METHOD THEREOF AND STORAGE DEVICE INCLUDING THE SAME}
본 개시의 기술적 사상은 메모리 컨트롤러 및 저장 장치에 관한 것으로서, 자세하게는 메모리 컨트롤러의 독출 전압 설정 방법, 메모리 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치에 관한 것이다.
반도체 메모리 장치는 전원 공급 중단 시 저장된 데이터를 상실하는 휘발성 메모리 장치(volatile memory device)와 저장된 데이터를 상실하지 않는 비휘발성 메모리 장치(non-volatile memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버린다. 반면, 비휘발성 메모리 장치는 읽고 쓰는 속도가 휘발성 메모리 장치에 비해 느리지만 외부 전원 공급이 중단되더라도 그 내용을 보존한다.
메모리 장치 중 비휘발성 메모리 장치의 일 예로서, 플래시 메모리 장치에서, 하나의 메모리 셀이 저장하는 데이터의 비트 수가 증가함에 따라 메모리 장치에 포함된 메모리 셀들의 문턱 전압 산포를 보다 정교하게 형성할 필요가 있다. 문턱 전압 산포가 예측된 문턱 전압 산포와 상이한 위치에 형성되는 경우, 독출 오류 등의 문제가 발생할 수 있기 때문이다. 문턱 전압 산포를 정교하게 형성함으로써 데이터 독출 동작의 신뢰성을 향상시키는 방법 이외에, 메모리 셀들의 문턱 전압 산포가 열화 되는 경우, 그 문턱전압 산포의 열화를 인정한 뒤, 열화 된 상황 하에서 신뢰성 높은 데이터 독출 동작을 수행하기 위한 다양한 방안들이 제안된다.
본 개시의 기술적 사상은 메모리 컨트롤러의 독출 전압 설정 방법, 메모리 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치에 있어서, 메모리 셀들의 문턱 전압 산포가 열화된 상황 하에서도 신뢰성 높은 독출 동작을 수행하기 위한 방법 및 장치를 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 선택 워드 라인에 연결된 복수의 메모리 셀들을 포함하는 메모리 장치에 대한 메모리 컨트롤러의 독출 전압 설정 방법은, 테스트 독출 전압을 선택 워드 라인에 인가함으로써 복수의 메모리 셀들의 데이터를 독출하도록 메모리 장치를 제어하는 단계, 메모리 장치의 독출 동작에 대응되는 셀 카운트 정보를 상기 메모리 장치로부터 수신함으로써, 최적의 독출 전압을 찾기 위해 독출 전압 레벨 별로 결정되는 비용 함수 및 셀 카운트 정보를 이용해 테스트 독출 전압을 갱신하는 단계 및 메모리 장치를 제어하는 단계 및 테스트 독출 전압을 갱신하는 단계를 적어도 한 번 수행함으로써 메모리 장치의 독출 전압을 결정하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 복수의 워드 라인들에 연결된 복수의 메모리 셀들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법은, 복수의 워드라인들 중 선택 워드라인에 발생한 에러 정정 코드에 의해 정정할 수 없는 오류를 감지하는 단계, 임의의 초기 독출 전압을 기초로 반복 중단 조건이 발생할 때까지 적어도 하나의 반복 루프를 수행하는 단계 및 적어도 하나의 반복 루프를 수행에 따른 결과를 이용해 최적의 독출 전압을 결정함으로써, 메모리 장치가 결정된 최적의 독출 전압을 기초로 독출 동작을 수행하도록 메모리 장치를 제어하는 단계를 포함할 수 있고, 적어도 하나의 반복 루프는, 메모리 장치가 선택 워드 라인에 테스트 독출 전압을 인가함으로써 테스트 독출 동작을 수행하도록 메모리 장치를 제어하는 단계, 메모리 장치로부터 테스트 독출 동작에 따른 셀 카운트 정보를 수신하는 단계 및 선택 워드라인에 연결된 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수 및 셀 카운트 정보를 이용해 상기 테스트 독출 전압을 갱신하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 저장 장치는, 메모리 장치로부터 수신되는 독출 커맨드 신호에 기초해 테스트 독출 전압을 선택 워드라인에 인가함으로써 테스트 독출 동작하고, 테스트 독출 동작의 수행에 따른 셀 카운트 동작을 수행함으로써 셀 카운트 정보를 메모리 컨트롤러에 송신하도록 구성되는 메모리 장치 및 선택 워드라인에 연결된 복수의 메모리 셀들의 최적의 독출 전압을 설정하는 동작 모드에서, 메모리 장치의 최적의 독출 전압을 찾기 위해 독출 전압 레벨 별로 결정되는 비용 함수 및 메모리 장치로부터 수신되는 셀 카운트 정보를 기초로 테스트 독출 전압을 갱신하는 동작 및 갱신된 테스트 독출 전압을 기초로 메모리 장치의 테스트 독출 동작을 제어하는 동작을 포함하는 동작 셋을 재귀적으로 수행함으로써 복수의 메모리 셀들의 최적의 독출 전압을 설정하도록 구성되는 메모리 컨트롤러를 포함할 수 있다.
본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 독출 전압 설정 방법, 메모리 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치에 의하면, 메모리 컨트롤러는 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수의 특성을 이용해 재귀적으로 테스트 독출 전압을 갱신함으로써 최적의 독출 전압을 설정할 수 있고, 메모리 장치는 최적의 독출 전압을 이용해 독출 동작을 수행함으로써 독출 동작의 신뢰성을 높일 수 있다. 또한, 반복 루프(iteration loop)를 1회 이상만 수행하면 되기 때문에, 주어진 상황에 따라 유연하게 독출 전압 설정 동작을 수행할 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 시스템을 나타낸다.
도 2는 본 개시의 예시적 실시예에 따른 메모리 컨트롤러를 나타낸다.
도 3은 본 개시의 예시적 실시예에 따른 메모리 장치를 나타낸다.
도 4a 및 4b는 본 개시의 예시적 실시예에 따른 메모리 블록을 나타낸다.
도 5는 본 개시의 예시적 실시예에 따른 메모리 셀들의 문턱 전압 산포를 나타낸다.
도 6은 본 개시의 예시적 실시예에 따른 산포 열화 전후의 메모리 셀들의 문턱 전압 산포를 나타낸다.
도 7은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 독출 전압 설정 방법 순서도를 나타낸다.
도 8은 본 개시의 예시적 실시예에 따른 독출 동작 매니저를 나타낸다.
도 9a는 본 개시의 예시적 실시예에 따른 메모리 셀들의 문턱 전압 산포 및 비용 함수를 나타낸다.
도 9b는 본 개시의 예시적 실시예에 따른 독출 전압 레벨 별로 결정된 비용 함수를 나타낸다.
도 10은 본 개시의 예시적 실시예에 따른 테스트 독출 전압에 대한 비용 함수를 나타낸다.
도 11은 본 개시의 예시적 실시예에 따른 독출 전압 옵티마이져를 나타낸다.
도 12a 및 12b는 본 개시의 초기 문턱 전압 산포 정보를 나타낸다.
도 13은 본 개시의 예시적 실시예에 따른 테스트 독출 전압 갱신 방법 순서도를 나타낸다.
도 14는 본 개시의 예시적 실시예에 따른 반복 중단 조건이 발생한 경우 메모리 컨트롤러의 동작 순서도를 나타낸다.
도 15는 본 개시의 예시적 실시예에 따른 반복 중단 조건을 설명하기 위한 테스트 독출 전압에 대한 비용 함수를 나타낸다.
도 16은 본 개시의 예시적 실시예에 따른 테스트 독출 전압에 대한 비용 함수를 나타낸다.
도 17은 본 개시의 예시적 실시예에 따른 기울기 정보를 나타낸다.
도 18은 본 개시의 예시적 실시예에 따른 SSD 시스템을 나타낸다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시예에 따른 시스템(10)을 나타낸다. 시스템(10)은 호스트(100) 및 메모리 시스템(200)을 포함할 수 있고, 메모리 시스템(200)은 메모리 컨트롤러(300) 및 메모리 장치(400)를 포함할 수 있다. 시스템(10)은 UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net_book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 테블릿(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트 폰(smart phone), e-북(e-book), PMP(Portable Multimedia Player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙 박스(black box) 및 디지털 카메라(digital camera) 등과 같은 다양한 컴퓨팅 시스템들 중 하나로 제공될 수 있다.
호스트(100), 메모리 컨트롤러(300) 및 메모리 장치(400) 각각은 하나의 칩, 하나의 패키지 또는 하나의 모듈 등으로 제공될 수 있다. 하지만 이에 제한되는 것은 아니며, 예를 들어, 메모리 컨트롤러(300)는 호스트(100)와 함께 어플리케이션 프로세서(Application Processor)의 형태로 제공될 수 있다. 또한 예를 들어, 메모리 컨트롤러(300)는 메모리 장치(400)와 함께 메모리 시스템(200) 또는 저장 장치로서 제공될 수 있다.
호스트(100)는 메모리 컨트롤러(300)에 데이터 동작 요청(REQ) 및 어드레스(ADDR)를 송신할 수 있으며, 메모리 컨트롤러(300)와 데이터(DATA)를 주고 받을 수 있다. 예시적으로, 호스트(100)는 메모리 컨트롤러(300)와 USB(Universal Serial Bus) 프로토콜, MMC(Multi Media Card) 프로토콜, PCI(Peripheral Component Interconnection) 프로토콜, PCI-E(PCI-Express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI(Small Computer Small Interface) 프로토콜, ESDI(Enhanced Small Disk Interface) 프로토콜, IDE(Integrated Drive Electronics) 프로토콜, MIPI(Mobile Industry Processor Interface) 프로토콜 및 UFS(Universal Flash Storage) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나에 기반하여 데이터를 교환할 수 있다.
메모리 컨트롤러(300)는 메모리 장치(400)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(300)는 호스트(100)로부터 수신된 데이터 동작 요청(REQ)에 응답하여 메모리 장치(400)에 저장된 데이터(DATA)를 독출(read)하거나, 메모리 장치(400)에 데이터(DATA)를 기입(write)하도록 메모리 장치(400)를 제어할 수 있다. 메모리 컨트롤러(300)는 메모리 장치(400)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호 등을 제공함으로써 메모리 장치(400)의 기입, 독출 및 소거 동작을 제어할 수 있다. 또한, 상기 동작들을 위한 데이터(DATA)가 메모리 컨트롤러(300)와 메모리 장치(400) 사이에서 송수신 될 수 있다. 메모리 컨트롤러(300)는 메모리 장치(400)로부터 셀 카운트 정보(Cell Count information; CC)를 수신할 수 있다. 셀 카운트 정보(CC)는 메모리 장치(400)가 테스트 독출 전압을 이용해 데이터를 독출한 결과에 대한 정보를 나타낼 수 있다.
메모리 컨트롤러(300)는 독출 동작 매니저(320) 및 ECC 엔진(370)을 포함할 수 있다. ECC 엔진(370)은 에러의 정정을 수행할 수 있는데, ECC 엔진(370)의 에러 정정 능력을 초과하는 에러 비트는 정정할 수 없는 에러(UECC error; Uncorrectable Error Correction Code error)라 불리며, 정정할 수 없는 에러를 포함하는 데이터는 UECC 데이터라 불린다. ECC 엔진(370)이 정정할 수 없는 에러를 포함하는 데이터를 감지한 경우, 독출 동작 매니저(320)는 최적의 독출 전압 설정 동작을 수행할 수 있다. 예를 들어, 독출 동작 매니저(320)는 메모리 장치(400)가 테스트 독출 전압을 이용해 테스트 독출 동작을 수행하도록 메모리 장치(400)를 제어할 수 있고, 메모리 장치(400)로부터 셀 카운트 정보(CC)를 수신함으로써 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수(cost function) 및 셀 카운트 정보를 이용해 테스트 독출 전압을 갱신할 수 있다. 독출 동작 매니저(320)는 위와 같은 동작을 적어도 1회 수행하거나, 반복(iteration) 중단 조건이 발생할 때까지 재귀적으로 수행함으로써 최적의 독출 전압을 결정할 수 있다.
비용 함수(cost function)이란, 최적의 독출 전압을 찾기 위해 정의되는 함수로서, 테스트 독출 전압에 대한 알려지지 않은 함수(unknown function)일 수 있다. 비용 함수는, 특정 레벨의 최적의 독출 전압을 찾기 위한 함수로서, 독출 전압의 레벨에 따라 달리 결정될 수 있다. 일 실시예에서, 비용 함수는 메모리 셀들의 문턱 전압 산포의 누적 분포 함수 및 초기 문턱 전압 산포를 기초로 독출 전압 레벨 별로 결정될 수 있다.
독출 동작 매니저(320)는 회로 등을 포함하는 하드웨어로 구현될 수 있으며, 다수의 프로그램들을 포함하는 소프트웨어로 구현되어 메모리 컨트롤러(300) 내부에 저장될 수 있다. 또한 독출 동작 매니저(320)가 소프트웨어로 구현되는 경우, 독출 동작 매니저(320)는 FTL의 기능의 일부로 구현되어, 프로세서에 의해 실행될 수 있다. 하지만 이에 제한되는 것은 아니며, 예를 들어, 독출 동작 매니저(320)는 하드웨어 및 소프트웨어의 조합으로 구현될 수도 있다.
메모리 컨트롤러(300)는 독출 동작 매니저(320)가 비용 함수를 결정하는 데 이용하는 초기 문턱 전압 산포 정보(ITD_INFO)를 저장할 수 있다. 독출 동작 매니저(320)는 메모리 컨트롤러(300)에 저장된 초기 문턱 전압 산포 정보(ITD_INFO)를 기초로 비용 함수를 결정할 수 있다.
메모리 장치(400)는 적어도 하나의 메모리 셀 어레이를 포함할 수 있다. 메모리 셀 어레이는 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있고, 복수의 메모리 셀들은 비휘발성 메모리 셀들일 수 있다. 각각의 메모리 셀은 2비트 이상의 데이터를 저장하는 멀티 레벨 셀일 수 있다. 예를 들어, 각각의 메모리 셀은 2비트의 데이터를 저장하는 2비트 멀티 레벨 셀일 수 있으며, 3비트의 데이터를 저장하는 트리플 레벨 셀(TLC)일 수 있으며, 4비트의 데이터를 저장하는 쿼드러플 레벨 셀(QLC)일 수 있으며, 그 이상의 비트 데이터를 저장하는 멀티 레벨 셀일 수 있다. 하지만 본 개시는 이에 한정되지 않으며, 예를 들어, 일부 메모리 셀들은 1비트 데이터를 저장하는 싱글 레벨 셀(SLC)이고, 다른 일부 메모리 셀들은 멀티 레벨 셀일 수 있다. 메모리 장치(400)는 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory; RRAM), 상변화 메모리(Phase-Change Random Access Memory; PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory; MRAM), 강유전체 메모리(Ferroelectric Random Access Memory; FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory; STT-RAM) 등을 포함할 수 있으며, 이들의 조합을 포함할 수 있다. 메모리 장치(400)는 메모리 컨트롤러(300)로부터 수신된 신호들에 응답하여 데이터(DATA)의 기입, 독출 및 소거 등의 동작들을 수행할 수 있다.
메모리 장치(400)는 메모리 컨트롤러(300)의 제어에 따라 테스트 독출 전압을 이용해 테스트 독출 동작을 수행할 수 있고, 테스트 독출 동작의 수행에 의해 독출된 데이터들을 이용해 생성된 셀 카운트 정보(CC)를 메모리 컨트롤러(300)에 송신할 수 있다. 예를 들어, 메모리 장치(400)는 메모리 컨트롤러(300)로부터 수신되는 상태 커맨드(Status Command) 신호에 대한 응답 신호에 셀 카운트 정보(CC)를 실어 송신할 수 있다. 이와 같은 메모리 장치(400)의 송신 방식을 상태 커맨드(Status Command) 방식이라 칭하기로 한다.
본 개시의 예시적 실시예에 따르면, 메모리 컨트롤러(300)는 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수의 특성을 이용해 재귀적으로 테스트 독출 전압을 갱신함으로써 최적의 독출 전압을 설정할 수 있고, 이후에 메모리 장치(400)는 최적의 독출 전압을 이용해 독출 동작을 수행함으로써 독출 동작의 신뢰성을 높일 수 있다.
또한, 메모리 컨트롤러(300)는 테스트 독출 전압을 갱신하는 반복 루프(iteration loop)를 1회 이상만 수행하면 되기 때문에, 주어진 상황에 따라 유연하게 독출 전압 설정 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(300)의 독출 전압 설정 동작 수행에 주어진 시간이 길지 않은 경우, 메모리 컨트롤러(300)는 반복 루프를 적은 횟수 만을 수행함으로써 독출 전압을 설정할 수 있다. 또한 예를 들어, 메모리 컨트롤러(300)의 독출 전압 설정 동작 수행에 주어진 시간이 충분한 경우, 메모리 컨트롤러(300)는 반복 루프를 상대적으로 많은 횟수 만큼 수행함으로써 보다 신뢰성 높게 독출 전압을 설정할 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 메모리 컨트롤러(300)를 나타낸다. 메모리 컨트롤러(300)는 버스(310), 독출 동작 매니저(320), 내부 메모리(340), 프로세서(350), 호스트 인터페이스(360), ECC 엔진(370), 랜더마이져(380) 및 메모리 인터페이스(390)를 포함할 수 있다. 메모리 컨트롤러(300)는 이외에도 다양한 구성들을 더 포함할 수 있으며, 예를 들어, 메모리 동작을 제어하기 위한 커맨드(CMD)를 생성하는 커맨드 생성 모듈 등을 더 포함할 수 있다. 메모리 컨트롤러(300)에 관한 도 1과 중복되는 설명은 생략한다.
버스(310)는 메모리 컨트롤러(300) 내부 구성 요소들 사이에 채널을 제공할 수 있다. 버스(310)는 다양한 버스 프로토콜들 중 하나에 기반하여 동작할 수 있다.
독출 동작 매니저(320)는 메모리 장치의 독출 동작을 관리할 수 있다. 예를 들어, ECC 엔진(370)에 의해 정정할 수 없는 에러를 포함하는 데이터가 감지된 경우, 독출 동작 매니저(320)는 최적의 독출 전압 설정 동작을 수행할 수 있다. 독출 동작 매니저(320)는 최적의 독출 전압을 설정할 수 있고, 메모리 장치가 이후의 독출 동작에서 최적의 독출 전압을 이용하여 독출 동작을 수행하도록 메모리 장치를 제어함으로써 메모리 장치의 독출 동작의 신뢰성을 향상시킬 수 있다.
독출 동작 매니저(320)는 테스트 독출 전압을 이용해 메모리 장치가 테스트 독출 동작을 수행하도록 메모리 장치를 제어하는 제1 동작 및 메모리 장치로부터 셀 카운트 정보(CC)를 수신함으로써 메모리 산포의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수 및 셀 카운트 정보(CC)를 이용해 테스트 독출 전압을 갱신하는 제2 동작을 포함하는 동작 셋을 적어도 1회 수행하거나, 상기 동작 셋을 재귀적으로 수행함으로써 최적의 독출 전압을 설정할 수 있다. 최적의 독출 전압을 설정하는 구체적인 방식에 대해서는 이하의 도면들을 통해 보다 자세히 설명된다.
내부 메모리(340)는 메모리 컨트롤러(300)의 동작에 필요한 다양한 정보를 저장할 수 있다. 이를 위해, 내부 메모리(340)는 각종 메모리를 이용해 구현될 수 있으며, 예컨대 캐시(cache) 메모리, DRAM, SRAM, PRAM 및 플래시 메모리 장치들 중 적어도 하나를 이용해 구현될 수 있다. 내부 메모리(340)는 초기 문턱 전압 산포 정보(ITD_INFO)를 저장할 수 있다. 초기 문턱 전압 산포 정보(ITD_INFO)에 대해서는 도 12a 및 도 12b를 참조하여 보다 자세히 설명될 수 있다.
프로세서(350)는 메모리 컨트롤러(3000의 전반적이 동작을 제어할 수 있다. 프로세서(350)는 중앙 처리 장치(Central Processing Unit; CPU) 혹은 마이크로 프로세서(Micro-Processing Unit)를 포함할 수 있다. 프로세서(350)는 메모리 컨트롤러(300)를 제어하기 위한 펌웨어(Firmware)를 구동할 수 있고, 펌웨어는 내부 메모리(340)에 로딩되어 구동될 수 있다.
호스트 인터페이스(360)는 호스트와 메모리 컨트롤러(300) 사이의 인터페이스를 제공할 수 있다. 호스트와 메모리 컨트롤러(300)는 다양한 표준 인터페이스들(standardized interfaces) 중 하나를 통해 데이터를 주고 받을 수 있다. 혹은, 호스트와 메모리 컨트롤러(300)는 다양한 표준 인터페이스들 중 복수의 인터페이스들을 통해 데이터를 주고 받을 수 있다. 메모리 컨트롤러(300)는 호스트 인터페이스(360)를 통해 호스트로부터 데이터 동작 요청(REQ) 및 주소(ADDR) 등을 수신할 수 있으며, 호스트와 데이터(DATA)를 주고 받을 수 있다.
ECC 엔진(370)은 메모리 장치로부터 수신되는 데이터(DATA)에 대해 에러 정정 동작을 수행할 수 있다. 예를 들어, ECC 엔진(370)은 RS(Reed Solomon) 코드, 해밍 코드(Hamming Code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 ECC 인코딩 처리 및 ECC 디코딩 처리를 수행할 수 있다. ECC 인코딩 처리는 프로그램 할 데이터에 근거하여 패리티(parity) 비트를 생성하는 동작을 포함할 수 있고, ECC 디코딩 처리는 메모리 장치로부터 독출된 데이터로부터 에러 비트를 검출하고, 검출된 에러 비트를 정정하는 동작을 포함할 수 있다.
랜더마이져(380)는 메모리 장치에 저장되는 데이터(DATA)를 랜더마이징 할 수 있다. 예를 들어, 랜더마이져(380)는 메모리 장치에 저장될 데이터(DATA)를 워드 라인 단위로 랜더마이징 할 수 있다. 예를 들어, 랜더마이져(380)는 하나의 워드 라인에 연결된 메모리 셀들이 동일한 비율의 프로그램 상태를 갖도록 데이터(DATA)를 처리할 수 있다. 예를 들어, 하나의 워드 라인에 연결된 메모리 셀들이 각각 4비트의 데이터를 저장하는 쿼드러플 레벨 셀(QLC)인 경우, 메모리 셀들 각각은 소거 상태 및 제1 내지 제15 프로그램 상태들 중 어느 하나의 상태를 가지도록 랜더마이져(380)는 데이터(DATA)를 랜더마이징 할 수 있다.
메모리 인터페이스(390)는 메모리 장치와 메모리 컨트롤러(300) 사이의 인터페이스를 제공할 수 있다. 예를 들어, 프로세서(350)에 의해 처리된 데이터(DATA)는 메모리 인터페이스(390)를 통해 메모리 장치에 기입될 수 있다. 혹은, 메모리 장치에 저장된 데이터(DATA)는 메모리 인터페이스(390)를 통해 프로세서(350)에 제공될 수 있다. 메모리 컨트롤러(300)는 메모리 인터페이스(390)를 통해 메모리 장치에 커맨드(CMD) 및 주소(ADDR) 등을 송신할 수 있고, 메모리 장치로부터 셀 카운트 정보(CC)를 수신할 수 있으며, 데이터(DATA)를 주고 받을 수 있다. 예를 들어, 메모리 컨트롤러(300)는 메모리 인터페이스(390)를 통해 메모리 장치로부터 상태 커맨드 방식에 의해 산포 판단 결과(CC)를 수신할 수 있다.
본 개시의 예시적 실시예에 따르면, 메모리 컨트롤러(300)는 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수의 특성을 이용해 재귀적으로 테스트 독출 전압을 갱신함으로써 최적의 독출 전압을 설정할 수 있고, 이후에 메모리 장치(400)는 최적의 독출 전압을 이용해 독출 동작을 수행함으로써 독출 동작의 신뢰성을 높일 수 있다.
또한, 메모리 컨트롤러(300)는 테스트 독출 전압을 갱신하는 반복 루프(iteration loop)를 1회 이상만 수행하면 되기 때문에, 주어진 상황에 따라 유연하게 독출 전압 설정 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(300)의 독출 전압 설정 동작 수행에 주어진 시간이 길지 않은 경우, 메모리 컨트롤러(300)는 반복 루프를 적은 횟수 만을 수행함으로써 독출 전압을 설정할 수 있다. 또한 예를 들어, 메모리 컨트롤러(300)의 독출 전압 설정 동작 수행에 주어진 시간이 충분한 경우, 메모리 컨트롤러(300)는 반복 루프를 상대적으로 많은 횟수 만큼 수행함으로써 보다 신뢰성 높게 독출 전압을 설정할 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 메모리 장치(400)를 나타낸다. 메모리 장치(400)에 관한 도 1과 중복되는 설명은 생략한다.
메모리 장치(400)는 메모리 셀 어레이(410), 페이지 버퍼 회로(420), 로우 디코더(430), 전압 발생기(440), 제어 로직(450), 데이터 입출력 회로(460) 및 셀 카운터(470)를 포함할 수 있다.
메모리 셀 어레이(410)는 복수의 메모리 블록들(BLK1~BLKz)을 포함할 수 있다. 각각의 메모리 블록들(BLK1~BLKz)은 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(410)는 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 접지 선택 라인들(GSL)을 통해 로우 디코더(430)와 연결될 수 있고, 비트 라인들(BL)을 통해 페이지 버퍼 회로(420)와 연결될 수 있다. 메모리 셀 어레이(410)는 비트 라인들(BL) 각각에 연결된 스트링들을 포함할 수 있다. 여기서 스트링들 각각은 비트 라인과 공통 소스 라인(Common Source Line) 사이에 직렬 연결된 적어도 하나의 스트링 선택 트랜지스터, 복수의 메모리 셀들, 적어도 하나의 접지 선택 트랜지스터를 포함할 수 있다.
페이지 버퍼 회로(420)는 비트 라인들(BL)을 통해 메모리 셀 어레이(410)에 연결될 수 있고, 제어 로직(450)으로부터 수신된 페이지 버퍼 제어 신호(CTRL_PB)에 응답하여 데이터 기입 동작 또는 데이터 독출 동작을 수행할 수 있다. 페이지 버퍼 회로(420)는 디코딩 된 컬럼 어드레스를 이용하여 비트 라인을 선택함으로써 데이터 라인에 연결될 수 있다.
로우 디코더(430)는 로우 어드레스(X-ADDR)를 기초로 워드 라인들(WL) 중 일부 워드 라인을 선택할 수 있다. 로우 디코더(430)는 워드 라인에 워드 라인 인가 전압을 전달할 수 있다. 데이터 기입 동작 시, 로우 디코더(430)는 선택된 워드 라인에 프로그램 전압과 검증 전압을, 비선택된 워드 라인에는 프로그램 인히빗(inhibit) 전압을 인가할 수 있다. 데이터 독출 동작 시, 로우 디코더(430)는 선택된 워드 라인에 독출 전압을, 비선택된 워드 라인에는 독출 인히빗 전압을 인가할 수 있다. 데이터 소거 동작 시, 로우 디코더(430)는 워드 라인에 워드 라인 소거 전압을 인가할 수 있다. 또한, 로우 디코더(430)는 로우 어드레스(X-ADDR)를 기초로 스트링 선택 라인들(SSL) 중 일부 스트링 선택 라인을, 또는 접지 선택 라인들(GSL) 중 일부 접지 선택 라인을 선택할 수 있다.
전압 발생기(440)는 제어 로직(450)으로부터 수신되는 전압 제어 신호(CTRL_vol)를 기초로 메모리 셀 어레이(410)에 대한 기입, 독출 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 예를 들어, 전압 발생기(440)는 워드 라인들(WL)을 구동하기 위한 워드 라인 구동 전압(VWL)을 생성할 수 있다. 이 때, 워드 라인 구동 전압(VWL)은 기입 전압, 독출 전압, 워드 라인 소거 전압 및 기입 검증 전압 등을 포함할 수 있다. 또한, 전압 발생기(440)는 스트링 선택 라인들(SSL)을 구동하기 위한 스트링 선택 라인 구동 전압 및 접지 선택 라인들(GSL)을 구동하기 위한 접지 선택 라인 구동 전압을 더 생성할 수 있다.
제어 로직(450)은 메모리 컨트롤러로부터 수신된 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 메모리 셀 어레이(410)에 데이터를 기입하거나 메모리 셀 어레이(410)로부터 데이터를 독출하기 위한 각종 내부 제어 신호를 생성할 수 있다. 즉, 제어 로직(450)은 메모리 장치(400) 내의 각종 동작을 전반적으로 제어할 수 있다. 제어 로직(450)에서 생성된 각종 내부 제어 신호는 페이지 버퍼 회로(420), 로우 디코더(430) 및 전압 발생기(440) 등에 제공될 수 있다. 예를 들어, 제어 로직(450)은 페이지 버퍼 회로(420)에 페이지 버퍼 제어 신호(CTRL_PB)를 제공할 수 있고, 로우 디코더(430)에 로우 어드레스(X-ADDR)를 제공할 수 있고, 전압 발생기(440)에 전압 제어 신호(CTRL_vol)를 제공할 수 있다. 하지만 제어 신호의 종류가 이에 제한되지는 않으며, 제어 로직(450)은 다른 내부 제어 신호들을 더 제공할 수 있다. 예를 들어, 제어 로직(450)은 컬럼 디코더에 컬럼 어드레스를 제공할 수도 있다.
메모리 컨트롤러의 최적의 전압 설정 동작 수행 중에, 제어 로직(450)은 메모리 컨트롤러의 제어에 따라 테스트 독출 전압을 선택 워드 라인에 인가함으로써 테스트 독출 동작을 수행하도록 메모리 장치(400)를 제어할 수 있다. 예를 들어, 제어 로직(450)은 전압 발생기(440)가 테스트 독출 전압을 생성하도록 전압 발생기(440)를 제어할 수 있고, 로우 어드레스(X-ADDR)를 로우 디코더(430)에 제공할 수 있다.
데이터 입출력 회로(460)는 페이지 버퍼 회로(420)와 데이터 라인들을 통해 연결될 수 있으며, 입력 받은 데이터(DATA)를 페이지 버퍼 회로(420)에 제공하거나, 페이지 버퍼 회로(420)로부터 제공되는 데이터(DATA)를 외부로 출력할 수 있다.
셀 카운터(470)는 페이지 버퍼 회로(420)로부터 페이지 버퍼 신호들을 수신할 수 있고, 수신된 페이지 버퍼 신호들을 기초로 셀 카운팅 동작을 수행할 수 있다. 예를 들어, 메모리 컨트롤러의 최적의 전압 설정 동작 수행 중에, 워드 라인에 테스트 독출 전압이 인가된 뒤 셀 카운팅 동작을 수행할 수 있다. 셀 카운터(470)는 셀 카운팅 동작 수행에 따른 결과물을 나타내는 셀 카운트 정보(CC)를 메모리 장치(400) 외부의 메모리 컨트롤러에 제공할 수 있다. 셀 카운터(470)는 제어 로직(450)과 별도의 구성으로 구현될 수도 있고, 제어 로직(450)의 일부로서 구현될 수도 있다.
본 개시의 예시적 실시예에 따르면, 메모리 컨트롤러의 최적의 독출 전압 설정 동작 수행 중에, 메모리 장치(400)는 테스트 독출 전압을 이용해 테스트 독출 동작을 수행할 수 있고, 테스트 독출 동작의 수행에 따라 읽어진 데이터에 대해 셀 카운팅 동작을 수행함으로써 셀 카운트 정보(CC)를 메모리 장치(400) 외부의 메모리 컨트롤러에 제공할 수 있다.
도 4a 및 4b는 본 개시의 예시적 실시예에 따른 메모리 블록(BLKa)을 나타낸다. 도 3의 메모리 셀 어레이(410)에 포함된 복수의 메모리 블록들(BLK1~BLKz) 각각은 도 4a 내지 도 4b에 개시된 메모리 블록(BLKa)일 수 있다.
도 4a를 참조하면, 메모리 블록(BLKa)은 비트라인(BL0~BLd-1) 방향으로, 8개의 메모리 셀(MCEL)들이 직렬로 연결되는 d(d는 2 이상의 자연수)개의 셀 스트링(CSTR)들을 포함할 수 있다. 각 셀 스트링(CSTR)은 각각 직렬로 연결되는 메모리 셀(MCEL)들의 양 끝에 연결되는 스트링 선택 트랜지스터(SST) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 또한, 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)과 연결될 수 있고, 그라운드 선택 트랜지스터(GST)는 그라운드 선택 라인(GSL)과 연결될 수 있다.
도 4a와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거가 수행될 수 있고, 각 워드 라인(WL0~WL7)에 대응되는 물리 페이지(PAG) 단위로 기입 동작을 수행할 수 있다. 도 4a는 하나의 블록에 8개의 워드 라인(WL0~WL7)들에 대한 8개의 페이지(PAG)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이의 블록들은 도 4a에 도시되는 메모리 셀(MCEL) 및 물리 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다.
도 4b를 참조하면, 메모리 블록(BLKa)은 복수의 낸드 스트링들(NS11~NS33), 복수의 그라운드 선택 라인들(GLS1~GSL3), 복수의 스트링 선택 라인들(SSL1~SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
제1 비트라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 제공될 수 있다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다.
스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1 내지 SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결될 수 있다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 내지 GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1 내지 BL3)에 연결될 수 있고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다.
도 4b에서, 각 스트링은 하나의 스트링 선택 트랜지스터(SST)를 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않으며, 각 스트링은 직렬 연결된 상부 스트링 선택 트랜지스터 및 하부 스트링 선택 트랜지스터를 포함할 수 있다. 또한, 도 4b에서, 각 스트링은 하나의 그라운드 선택 트랜지스터(GST)를 포함하는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않으며, 각 스트링은 직렬 연결된 상부 그라운드 선택 트랜지스터 및 하부 그라운드 선택 트랜지스터를 포함할 수 있다. 이때, 상부 그라운드 선택 트랜지스터는 대응하는 그라운드 선택 라인(GSL1 내지 GSL3)에 연결될 수 있고, 하부 그라운드 선택 트랜지스터는 공통 그라운드 선택 라인에 공통으로 연결될 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 메모리 셀들의 문턱 전압 산포를 나타낸다. 특히, 도 5는 메모리 셀이 4비트 데이터를 저장하는 쿼드러플 레벨 셀(QLC)인 경우의 문턱 전압 산포를 나타낸다.
도 5를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 메모리 셀은 소거 상태(E) 및 제1 내지 제15 프로그램 상태(P1~P15) 중 하나의 상태를 가질 수 있다. 소거 상태(E)에서 제15 프로그램 상태(P15)로 갈수록 메모리 셀의 플로팅 게이트에 더 많은 전자가 주입된 상태일 수 있다.
제1 독출 전압(Vr1)은 소거 상태를 가지는 메모리 셀들의 산포와 제1 프로그램 상태(P1)를 가지는 메모리 셀들의 산포 사이의 전압 레벨을 가질 수 있다. 마찬가지로, 제i 독출 전압(Vri)(단, i는 2이상 15이하의 자연수)은 제i-1 프로그램 상태(Pi-1)를 가지는 메모리 셀들의 산포와 제i 프로그램 상태(Pi)를 가지는 메모리 셀들의 산포 사이의 전압 레벨을 가질 수 있다.
제1 독출 전압(Vr1) 내지 제15 독출 전압(Vr15)은 서로 다른 프로그램 상태의 메모리 셀들을 구별해내기 위한 독출 전압들로서, 설명의 편의상, 제1 독출 전압(Vr1) 내지 제15 독출 전압(Vr15)은 서로 레벨이 상이한 독출 전압이라 칭하기로 한다. 다시 말해, 제1 독출 전압(Vr1) 내지 제15 독출 전압(Vr15)는 서로 다른 독출 전압 레벨을 갖는 독출 전압들이다.
도 6은 본 개시의 예시적 실시예에 따른 산포 열화 전후의 메모리 셀들의 문턱 전압 산포를 나타낸다. 설명의 편의를 위해 도 5와 같은 복수의 프로그램 상태들 중 임의의 연속한 세 개의 프로그램 상태의 문턱 전압 산포들에 대해 설명한다.
산포의 열화가 일어나기 전, 메모리 셀들은 제1 상태(ST_1), 제2 상태(ST_2) 및 제3 상태(ST_3)와 같은 문턱 전압 산포를 형성할 수 있다. 제1 상태(ST_1), 제2 상태(ST_2) 및 제3 상태(ST_3)는 각각 연속된 세 개의 프로그램 상태들을 나타낸다. 예를 들어, 제2 상태(ST_2)가 제k 프로그램 상태인 경우, 제2 상태(ST_2)의 메모리 셀들을 구별해내기 위한 독출 전압은 제k 독출 전압(Vr_k)일 수 있고, 제3 상태(ST_3)의 메모리 셀들을 구별해내기 위한 독출 전압은 제k+1 독출 전압(Vr_k+1)일 수 있다. 일 실시예에서, 프로그램 된 직후 메모리 셀들은 제1 상태(ST_1), 제2 상태(ST_2) 및 제3 상태(ST_3)와 같은 프로그램 상태들의 문턱 전압 산포를 형성할 수 있다.
다양한 원인에 의해 산포의 열화가 일어난 경우, 메모리 셀들은 열화된 제1 상태(ST_1'), 열화된 제2 상태(ST_2') 및 열화된 제3 상태(ST_3')와 같은 문턱 전압 산포를 형성할 수 있다. 열화된 문턱 전압 산포 하에서, 제2 상태(ST_2')를 구별해내기 위해 워드 라인에 제k 독출 전압(Vr_k)을 인가하는 경우, 올바른 독출 동작이 수행되는 것을 기대하기 어렵다. 따라서, 이러한 경우 독출 전압을 제k 독출 전압(Vr_k)에서 변경된 제k 독출 전압(Vr_k')으로 새롭게 설정할 필요가 있다. 마찬가지로, 제3 상태(ST_3')를 구별해내기 위해서는, 독출 전압을 제k+1 독출 전압(Vr_k+1)에서 변경된 제k+1 독출 전압(Vr_k+1')으로 새롭게 설정할 필요가 있다. 이와 같이, 메모리 셀들의 변경된 문턱 전압 산포 하에서 적절한 독출 동작이 수행되도록 하기 위해 독출 전압을 새롭게 설정하는 동작을 최적의 독출 전압 설정 동작이라 칭할 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 독출 전압 설정 방법 순서도를 나타낸다. 도 7은 도 1 및 도 2를 함께 참조하여 설명된다.
메모리 컨트롤러(300)는 메모리 장치(400)가 테스트 독출 전압을 이용해 데이터를 독출하도록 메모리 장치(400)를 제어할 수 있다(S120). 일 실시예에서, 최초의 테스트 독출 전압 값은 임의의 값이어도 무방하다. 하지만 비제한적인 일 실시예에서, 도 6에서와 같이 제2 상태(ST_2)를 구별해내기 위한 독출 전압을 새롭게 설정하는 경우, 최초의 테스트 독출 전압 값은 산포 변화 전의 독출 전압인 제k 독출 전압(Vr_k)일 수 있다.
메모리 컨트롤러(300)는 메모리 장치(400)로부터 셀 카운트 정보(CC)를 수신함으로써, 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수(cost function) 및 셀 카운트 정보(CC)를 이용해 테스트 독출 전압을 갱신할 수 있다(S140). 일 실시예에서, 메모리 컨트롤러(300)는 전압에 대한 비용 함수의 기울기 값을 기초로, 셀 카운트 정보(CC) 및 비용 함수를 이용해 산출한 함수 값에 수치 해석(numerical analysis)을 수행함으로써 테스트 독출 전압을 갱신할 수 있다. 테스트 독출 전압의 갱신에 대해서는 이하의 도면들을 이용해 보다 자세히 설명된다.
메모리 컨트롤러(300)는 S120 단계 및 S140 단계를 포함하는 S100 단계를 적어도 한 번 수행할 수 있다. 또한, 메모리 컨트롤러(300)는 S100 단계를 재귀적으로(recursively) 복수 회 수행할 수도 있다. 이 때, 1회의 S100 단계를 반복 루프(iteration loop)라 칭할 수 있다. 메모리 컨트롤러(300)가 S100 단계를 복수 회 수행하는 경우, 제i+1 반복 루프의 S120 단계에서 이용하는 테스트 독출 전압은 제i 반복 루프의 S140 단계에서 갱신된 테스트 독출 전압일 수 있다. 메모리 컨트롤러(300)는 반복 중단 조건이 발생할 때까지 S100 단계를 반복할 수 있다.
메모리 컨트롤러(300)는 반복 중단 조건이 발생했는지 판단할 수 있다(S200). 일 실시예에서, 반복 중단 조건은 S100 단계의 반복 수행 횟수가 소정의 목표 횟수와 같아진 경우를 포함할 수 있고, 이에 대한 실시예는 도 14를 참조해 설명된다. 일 실시예에서, 반복 중단 조건은 갱신되기 전의 테스트 독출 전압과 갱신된 후의 테스트 독출 전압을 비교한 결과, 갱신되기 전의 테스트 독출 전압과 갱신된 후의 테스트 독출 전압의 차이가 임계값 미만이 된 경우를 포함할 수 있고, 이에 대한 실시예는 도 15를 참조해 설명된다. 일 실시예에서, 반복 중단 조건은, S100 단계의 반복 수행 횟수가 소정의 목표 횟수와 같아지거나, 갱신되기 전의 테스트 독출 전압과 갱신된 후의 테스트 독출 전압 사이의 차이가 임계값 미만이 된 경우를 포함할 수 있다. 반복 중단 조건이 발생하지 않은 경우, S100 단계가 다시 수행되며, 반복 중단 조건이 발생한 경우에는, S300 단계가 수행된다.
반복 중단 조건이 발생한 경우, 메모리 컨트롤러(300)는 테스트 독출 전압 갱신 결과를 기초로 독출 전압을 새롭게 설정할 수 있다(S300). 예를 들어, 메모리 컨트롤러(300)는 반복 중단 조건이 발생한 때의 테스트 독출 전압을 독출 전압으로서 결정할 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 독출 동작 매니저(320)를 나타낸다. 독출 동작 매니저(320)는 독출 전압 옵티마이져(321) 및 독출 동작 제어기(326)를 포함할 수 있다. 독출 동작 매니저(320)에 관한 도 1 및 도 2와 중복되는 설명은 생략한다. 도 8은 도 1 및 도 2를 함께 참조하여 설명된다.
독출 전압 옵티마이져(321)는 트리거 신호(TRIG)를 기초로 최적의 독출 전압 설정 동작을 수행할 수 있다. 트리거 신호(TRIG)는 메모리 컨트롤러(300)가 최적의 독출 전압 설정 동작을 수행하도록 만드는 신호이다. 예를 들어, ECC 엔진(370)이 정정할 수 없는 에러를 포함하는 데이터를 감지한 경우, ECC 엔진(370)은 독출 전압 옵티마이져(321)에 트리거 신호(TRIG)를 제공할 수 있다. 독출 전압 옵티마이져(321)는 독출 동작 제어기(326)가 메모리 장치(400)의 테스트 독출 동작을 제어하도록 테스트 독출 전압에 관한 정보를 전압 제어 신호(V_CTRL)로서 독출 동작 제어기(326)에 제공할 수 있다. 독출 전압 옵티마이져(321)는 메모리 장치(400)의 테스트 독출 동작 수행에 따라 셀 카운트 정보(CC)를 메모리 장치(400)로부터 수신함으로써, 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수 및 셀 카운트 정보(CC)를 이용해 테스트 독출 전압(V_TEST)을 갱신할 수 있다. 독출 전압 옵티마이져(321)는 반복 중단 조건의 발생을 감지할 수 있고, 반복 중단 조건이 발생한 경우, 독출 전압 옵티마이져(321)는 독출 전압을 새롭게 설정할 수 있고, 새롭게 설정된 독출 전압에 관한 정보를 전압 제어 신호(V_CTRL)로서 독출 동작 제어기(326)에 제공할 수 있다.
독출 동작 제어기(326)는 메모리 장치(400)의 독출 동작을 제어할 수 있다. 예를 들어, 독출 동작 제어기(326)는 독출 커맨드(CMD_r)를 메모리 장치(400)에 제공함으로써 메모리 장치(400)가 독출 동작을 수행하도록 할 수 있다. 독출 커맨드(CMD_r)의 생성이 이에 제한되는 것은 아니며, 메모리 컨트롤러(300)는 별도의 커맨드 생성 모듈을 포함하고, 독출 동작 제어기(326)는 커맨드 생성 모듈이 독출 커맨드(CMD_r)를 생성하도록 커맨드 생성 모듈을 제어할 수도 있다. 테스트 독출 전압을 갱신하는 반복 루프에서, 독출 동작 제어기(326)는 독출 전압 옵티마이져(321)로부터 제공되는 테스트 독출 전압에 관한 정보를 포함한 전압 제어 신호(V_CTRL)를 기초로 메모리 장치(400)의 테스트 독출 동작을 제어할 수 있다. 메모리 컨트롤러(300)의 최적의 독출 전압 설정 동작의 수행이 끝난 후, 독출 동작 제어기(326)는 독출 전압 옵티마이져(321)로부터 제공되는 새롭게 설정된 독출 전압에 관한 정보를 포함한 전압 제어 신호(V_CTRL)를 기초로 메모리 장치(400)의 독출 동작을 제어할 수 있다.
도 9a는 본 개시의 예시적 실시예에 따른 메모리 셀들의 문턱 전압 산포 및 비용 함수(Cost Function)를 나타낸다. 설명의 편의를 위해, 도 9a는 제1 상태(ST_1) 및 제2 상태(ST_2)를 포함한 이웃한 세 개의 프로그램 상태를 도시한다. 도 9a는 도 1 및 도 2를 함께 참조하여 설명된다.
제1 상태(ST_1) 및 제2 상태(ST_2)의 초기 문턱 전압 산포를 형성하던 메모리 셀들은, 문턱 전압 산포의 열화에 따라, 열화된 제1 상태(ST_1') 및 열화된 제2 상태(ST_2')의 문턱 전압 산포를 형성할 수 있다. 이에 따라 제2 상태(ST_2)를 제1 상태(ST_1)과 구별하기 위한 초기 독출 전압(Vr_INIT)과 상이한 최적의 독출 전압(Vr_OPT)을 새롭게 설정할 필요가 있을 수 있다. 이를 위해, 메모리 컨트롤러(300)는 최적의 독출 전압 설정 동작을 수행할 수 있다.
메모리 컨트롤러(300)는 최적의 독출 동작 전압 설정 동작에서, 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수(cost function)를 이용할 수 있다. 설명의 편의를 위해 이하에서, 열화된 제2 상태(ST_2')를 열화된 제1 상태(ST_1')로부터 구별해내기 위한 최적의 독출 전압(Vr_OPT)을 설정하기 위한 비용 함수에 대해 설명한다.
최적의 독출 전압(Vr_OPT)을 설정하기 위한 비용 함수는 테스트 독출 전압(V_TEST) 내지는 전압에 대한 함수일 수 있다. 예를 들어, 비용 함수는 메모리 장치(400)의 테스트 독출 전압을 이용한 테스트 독출 동작 수행에 따른 셀 카운트 정보(CC)에서 초기 문턱 전압 산포상 제1 상태(ST_1) 이하의 프로그램 상태를 갖는 메모리 셀들의 개수를 감산한 함수일 수 있다. 셀 카운트 정보(CC)는 메모리 장치(400)가 워드 라인에 테스트 독출 전압을 인가한 후 카운트 된 온-셀의 개수를 나타낼 수 있다. 셀 카운트 정보(CC)가 테스트 독출 전압에 따라 달라지는 값이므로, 비용 함수 또한 테스트 독출 전압을 변수로 한 함수가 된다. 예를 들어, 제1 상태(ST_1)가 도 5의 제7 프로그램 상태(P7)인 경우, 최적의 독출 전압(Vr_OPT)을 설정하기 위한 비용 함수는 셀 카운트 정보(CC)에서 초기 문턱 전압 산포상 소거 상태(E) 및 제1 내지 제7 프로그램 상태(P1~P7)의 프로그램 상태를 갖는 메모리 셀들의 개수를 감산한 함수일 수 있다.
이와 같이 정의된 비용 함수의 그래프는 도 9a의 하단부의 비용 함수 곡선(COST FUNCTION CURVE)을 나타낼 수 있다. 즉, 테스트 독출 전압(V_TEST)이 최적의 독출 전압(Vr_OPT)과 같아지는 경우, 비용 함수의 함수 값(function value)은 0이거나, 실질적으로 0 근방의 값을 가질 수 있다. 이에 따라, 최적의 독출 전압(Vr_OPT)을 결정하는 것은 알려지지 않은 함수(unknown function)인 비용 함수의 함수 값이 0이 되는 테스트 독출 전압(V_TEST)의 해를 구하는 문제로 귀결되게 된다. 메모리 컨트롤러(300)는 전압에 대한 비용 함수의 기울기 값을 기초로, 셀 카운트 정보(CC) 및 비용 함수를 이용해 산출한 함수 값에 수치 해석을 수행함으로써 테스트 독출 전압을 갱신할 수 있다. 비용 함수의 기울기 값은 비용 함수 곡선(COST FUNCTION CURVE)의 추세선 곡선(TREND CURVE)의 기울기를 나타낼 수 있다. 다시 말해, 비용 함수의 기울기 값은 비용 함수 곡선(COST FUNCTION CURVE)의 평균 기울기(SLP_AVG)를 나타낼 수 있다. 비용 함수의 기울기 값을 기초로 테스트 독출 전압을 갱신하는 방법에 대해서는 이하의 도 10을 통해 보다 자세히 설명된다.
도 9b는 본 개시의 예시적 실시예에 따른 독출 전압 레벨 별로 결정된 비용 함수를 나타낸다.
도 9a를 참조하여 설명되었듯이, 최적의 독출 전압(Vr_OPT)을 결정하기 위한 비용 함수는 테스트 독출 전압(V_TEST)에 대한 함수로서, 테스트 독출 전압(V_TEST)이 최적의 독출 전압(Vr_OPT)과 같아질 때 그 함수 값이 '0'의 값을 가질 수 있다.
도 9b를 참조하면, 비용 함수는 찾고자 하는 최적의 독출 전압의 독출 전압 레벨 별로 결정될 수 있다. 예를 들어, 최적의 제k 독출 전압(Vr_k_OPT)을 결정하기 위한 비용 함수는, 테스트 독출 전압(V_TEST)이 최적의 제k 독출 전압(Vr_k_OPT)과 같아질 때 그 함수 값이 '0'의 값을 가질 수 있다. 또한 예를 들어, 최적의 제k+1 독출 전압(Vr_k+1_OPT)을 결정하기 위한 비용 함수는, 테스트 독출 전압(V_TEST)이 최적의 제k+1 독출 전압(Vr_k+1_OPT)과 같아질 때 그 함수 값이 '0'의 값을 가질 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 테스트 독출 전압(V_TEST)에 대한 비용 함수(Cost Function)를 나타낸다. 도 10은 도 1, 도 2 및 도 9a를 함께 참조하여 설명된다.
도 9a의 열화된 제2 상태(ST_2')를 열화된 제1 상태(ST_1')로부터 구별하기 위한 최적의 독출 전압(Vr_OPT)을 설정하기 위한 동작 중 테스트 독출 전압을 갱신하는 동작에 대해 설명한다.
메모리 컨트롤러(300)는 메모리 장치(400)가 제1 테스트 독출 전압(Vtest_1)을 이용해 테스트 독출 동작을 수행하도록 메모리 장치(400)를 제어할 수 있다. 메모리 컨트롤러(300)는 메모리 장치(400)로부터 테스트 독출 동작에 따른 셀 카운트 정보(CC)를 수신할 수 있다. 메모리 컨트롤러(300)는 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수 셀 카운트 정보(CC)를 이용해 제1 함수 값(FV_1)을 산출해낼 수 있다. 예를 들어, 메모리 컨트롤러(300)는 셀 카운트 정보(CC)를 비용 함수에 대입함으로써 제1 함수 값(FV_1)을 산출해낼 수 있다. 예를 들어, 메모리 컨트롤러(300)는 셀 카운트 정보(CC)에서 초기 문턱 전압 산포상 제1 상태(ST_1) 이하의 프로그램 상태를 갖는 메모리 셀들의 개수를 감산함으로써 제1 함수 값(FV_1)을 산출해낼 수 있다.
메모리 컨트롤러(300)는 전압에 대한 비용 함수의 기울기 값을 기초로 제1 함수 값(FV_1)에 수치 해석을 수행할 수 있다. 예를 들어, 메모리 컨트롤러(300)는 제1 함수 값(FV_1)에 Newton-Raphson 방식의 수치 해석을 수행할 수 있다. Newton-Raphson 방식의 수치 해석이란, 알려지지 않은 함수(unknown function) 또는 비선형 방정식(nonlinear equation)의 해를 구하는 수학적 알고리즘으로서, 임의의 초기값을 변수에 대입함으로써 함수 값을 찾아낸 뒤, 함수 값 및 함수의 기울기 값을 이용해 새로운 변수 값을 찾아가는 반복(iteration) 동작을 수행함으로써 해에 근사한 값을 찾는 방법이다. 도 10을 참조하면, 메모리 컨트롤러(300)는 제1 함수 값(FV_1) 및 비용 함수 곡선(COST FUNCTION CURVE)의 평균 기울기(SLP_AVG)를 기초로 테스트 독출 전압을 갱신할 수 있다. 메모리 컨트롤러(300)는 제1 함수 값(FV_1)을 평균 기울기(SLP_AVG)로 나눈 값을 제1 테스트 독출 전압(Vtest_1)에서 감산함으로써 제2 테스트 독출 전압(Vtest_2)을 얻어낼 수 있다.
이와 같은 테스트 독출 전압의 갱신 동작을 반복함으로써, 메모리 컨트롤러(300)는 최적의 독출 전압(Vr_OPT) 값을 얻어낼 수 있고, 메모리 장치(400)가 최적의 독출 전압(Vr_OPT)을 이용해 독출 동작을 수행하도록 메모리 장치(400)를 제어함으로써 열화된 문턱 전압 산포 하에서도 열화된 제2 상태(ST_2')를 열화된 제1 상태(ST_1')로부터 구별해낼 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 독출 전압 옵티마이져(321)를 나타낸다. 독출 전압 옵티마이져(321)는 비용 함수 값 계산기(322), 테스트 독출 전압 갱신기(323) 및 중단 조건 감지기(324)를 포함할 수 있다. 독출 전압 옵티마이져(321)에 관한 도 8과 중복되는 설명은 생략한다. 도 11은 도 1 및 도 2를 함께 참조하여 설명된다.
비용 함수 값 계산기(322)는 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수 및 셀 카운트 정보(CC)를 기초로 함수 값(FV)을 생성해낼 수 있다. 예를 들어, 비용 함수 값 계산기(322)는 비용 함수에 셀 카운트 정보(CC)를 대입함으로써 함수 값(FV)을 생성해낼 수 있다. 비용 함수 값 계산기(322)는 생성해낸 함수 값(FV)을 테스트 독출 전압 갱신기(323)에 제공할 수 있다. 비용 함수를 결정하고 함수 값(FV)을 생성함에 있어서, 비용 함수 값 계산기(322)는 초기 문턱 전압 산포 정보(ITD_INFO)를 이용할 수 있다. 초기 문턱 전압 산포 정보(ITD_INFO)에 대해서는 도 12a 및 도 12b를 참조하여 보다 자세히 설명된다.
테스트 독출 전압 갱신기(323)는 비용 함수 값 계산기(322)로부터 수신된 함수 값(FV)에 수치 해석을 수행함으로써 테스트 독출 전압(V_TEST)을 갱신할 수 있다. 예를 들어, 테스트 독출 전압 갱신기(323)는 함수 값(FV)에 Newton-Raphson 방식의 수치 해석을 수행함으로써 테스트 독출 전압(V_TEST)을 갱신할 수 있다. 테스트 독출 전압 갱신기(323)는 갱신된 테스트 독출 전압(V_TEST)에 관한 정보를 포함하는 내부 전압 제어 신호(V_CTRL_IN)를 중단 조건 감지기(324)에 제공할 수 있다.
중단 조건 감지기(324)는 메모리 컨트롤러(300)의 최적의 독출 전압 설정 동작 중 반복 중단 조건이 발생했는지 여부를 판단할 수 있다. 반복 중단 조건이 발생한 경우, 중단 조건 감지기(324)는 테스트 독출 전압(V_TEST)을 최적의 독출 전압(Vr)으로서 결정할 수 있고, 최적의 독출 전압(Vr)을 독출 동작 제어기에 제공할 수 있다. 반복 중단 조건이 발생하지 않은 경우, 중단 조건 감지기(324)는 테스트 독출 전압(V_TEST)을 독출 동작 제어기에 제공함으로써 독출 동작 제어기가 메모리 장치의 테스트 독출 동작을 제어하도록 할 수 있다. 중단 조건 감지기(324)는 결정된 전압에 관한 정보를 전압 제어 신호(V_CTRL)로서 생성해낼 수 있다.
도 12a 및 12b는 본 개시의 초기 문턱 전압 산포 정보(ITD_INFO)를 나타낸다. 초기 문턱 전압 산포 정보(ITD_INFO)는 산포의 열화가 일어나기 전 초기 상태의 메모리 셀들이 형성하는 문턱 전압 산포에 관한 정보를 포함할 수 있다. 도 12a 및 도 12b는 도 1 및 도 2를 함께 참조하여 설명된다.
도 12a를 참조하면, 초기 문턱 전압 산포 정보(ITD_INFO)는 복수의 프로그램 상태들(STATE)에 대응되는 기준 셀 카운트 정보(REFERENCE CELL COUNT)의 룩업 테이블(lookup table)을 포함할 수 있다. 일 실시예에서, 기준 셀 카운트 정보(REFEFENCE CELL COUNT)는 각각의 프로그램 상태를 갖는 메모리 셀들의 개수를 나타낼 수 있다. 이 경우, 예를 들어, 제7 프로그램 상태(P7)를 제6 프로그램 상태(P6)로부터 구별하기 위한 최적의 독출 전압 설정 동작에서, 도 11의 비용 함수 값 계산기(322)는 셀 카운트 정보(CC)에서 제6 프로그램 상태(P6) 이하의 프로그램 상태를 갖는 메모리 셀들의 개수인, 제1 기준 셀 카운트(CC_REF_1) 내지 제7 기준 셀 카운트(CC_REF_7)의 합을 감산함으로써 함수 값(FV)을 계산해낼 수 있다. 하지만 이에 제한되지 않으며, 일 실시에에서, 기준 셀 카운트 정보(REFERENCE CELL COUNT)는 각각의 프로그램 상태 이하의 프로그램 상태를 갖는 메모리 셀들의 개수를 나타낼 수 있다. 이 경우, 예를 들어, 제7 프로그램 상태(P7)를 제6 프로그램 상태(P6)로부터 구별하기 위한 최적의 독출 전압 설정 동작에서, 도 11의 비용 함수 값 계산기(322)는 셀 카운트 정보(CC)에서 제6 프로그램 상태(P6) 이하의 프로그램 상태를 갖는 메모리 셀들의 개수인, 제7 기준 셀 카운트(CC_REF_7)를 감산함으로써 함수 값(FV)을 계산해낼 수 있다.
도 12b를 참조하면, 초기 문턱 전압 산포 정보(ITD_INFO)는 복수의 워드 라인들에 대응되는 기준 셀 카운트 정보(REFERENCE CELL COUNT)의 룩업 테이블(lookup table)을 포함할 수 있다. 각각의 워드 라인들에 대해 랜더마이져(380)가 랜더마이징 동작을 수행한 경우, 각각의 워드 라인들에 연결된 메모리 셀들은 소거 상태 및 복수의 프로그램 상태를 균일하게 형성할 수 있다. 따라서, 메모리 컨트롤러(300)는 각 프로그램 상태들에 놓여진 메모리 셀들의 개수 만을 저장할 수 있다. 이 경우, 예를 들어, 제2 워드 라인(WL2)에 대한 제7 프로그램 상태(P7)를 제6 프로그램 상태(P6)로부터 구별하기 위한 최적의 독출 전압 설정 동작에서, 도 11의 비용 함수 값 계산기(322)는 셀 카운트 정보(CC)에서 제6 프로그램 상태(P6) 이하의 프로그램 상태를 갖는 메모리 셀들의 개수인, 제2 기준 셀 카운트(CC_REF_2)에 7을 곱한 값을 감산함으로써 함수 값(FV)을 계산해낼 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 테스트 독출 전압 갱신 방법 순서도를 나타낸다. 도 13은 도 7의 S140 단계의 순서도를 나타낼 수 있다. 도 13은 도 1 및 도 2를 함께 참조하여 설명된다.
메모리 컨트롤러(300)는 메모리 장치(400)로부터 온-셀의 개수를 셀 카운트 정보(CC)로서 수신할 수 있다(S142). 예를 들어, 메모리 컨트롤러(300)는, 메모리 장치(400)가 테스트 독출 전압을 이용해 테스트 독출 동작을 수행함으로써 읽어진 데이터들에 대해 셀 카운팅 동작을 수행한 결과 온-셀의 개수를 셀 카운트 정보(CC)로서 수신할 수 있다.
메모리 컨트롤러(300)는 수신된 셀 카운트 정보(CC)를 비용 함수에 대입함으로써 비용 함수의 함수 값을 산출할 수 있다(S144). 예를 들어, 도 9a의 열화된 제2 상태(ST_2')를 열화된 제1 상태(ST_1')로부터 구별해내기 위한 최적의 독출 전압 설정 동작에서, 도 11의 비용 함수 값 계산기(322)는 셀 카운트 정보(CC)에서 도 9a의 제1 상태(ST_1) 이하의 프로그램 상태를 갖는 메모리 셀들의 개수를 감산함으로써 함수 값(FV)을 계산해낼 수 있다.
메모리 컨트롤러(300)는 산출된 함수 값을 비용 함수의 기울기로 나눈 값을 테스트 독출 전압에서 감산함으로써 테스트 독출 전압을 갱신할 수 있다. 예를 들어, 비용 함수의 기울기는 비용 함수 곡선의 평균 기울기를 나타낼 수 있다. 하지만, 이에 제한되지 않으며, 메모리 컨트롤러(300)는 반복 루프의 반복 횟수에 기초하여 비용 함수의 기울기에 다른 값을 적용할 수 있다. 예를 들어, 메모리 컨트롤러(300)는 반복 횟수가 클수록 비용 함수의 기울기에 작은 기울기 값을 적용할 수 있으며, 메모리 컨트롤러(300)는 반복 횟수에 대응되는 비용 함수의 기울기 정보를 저장하고 있을 수 있다.
도 14는 본 개시의 예시적 실시예에 따른 반복 중단 조건이 발생한 경우 메모리 컨트롤러의 동작 순서도를 나타낸다. 특히, 도 14는 반복 루프의 반복 중단 조건에 대한 일 실시예를 나타낸다. 도 14는 도 1 및 도 2를 함께 참조하여 설명된다.
일 실시예에서, 반복 중단 조건은 반복 루프의 반복 수행 횟수가 목표 횟수와 같아진 경우를 포함할 수 있다. 목표 횟수는 고정 값일 수도 있고, 메모리 컨트롤러의 여건에 따라 달리 결정될 수 있는 값일 수도 있다. 예를 들어, 메모리 컨트롤러가 최적의 독출 전압 설정 동작에 할당 가능한 시간이 클수록 목표 횟수는 더 큰 값을 가질 수 있다. 목표 횟수가 N(N은 자연수)인 것을 가정하여 설명한다.
도 7의 S100 단계를 하나의 반복 루프라 할 때, 메모리 컨트롤러(300)는 반복 루프의 반복 횟수가 N회가 될 때까지 S100 단계를 재귀적으로 수행할 수 있다. 즉, 도 14와 같이, 제1 반복 루프(S100_1) 내지 제N 반복 루프(S100_N)를 수행할 수 있다. 제N 반복 루프(S100_N)의 수행 이후, 메모리 컨트롤러(300)는 반복 중단 조건의 발생을 감지할 수 있다. 반복 중단 조건의 발생을 감지함에 따라 메모리 컨트롤러(300)는 반복 중단 조건 발생시의 테스트 독출 전압을 독출 전압으로서 결정할 수 있다(S300).
도 15는 본 개시의 예시적 실시예에 따른 반복 중단 조건을 설명하기 위한 테스트 독출 전압(V_TEST)에 대한 비용 함수(Cost Function)를 나타낸다. 특히, 도 15는 반복 루프의 반복 중단 조건에 대한 일 실시예를 나타낸다. 도 15는 도 1 및 도 2를 함께 참조하여 설명된다.
일 실시예에서, 반복 중단 조건은 갱신되기 전의 테스트 독출 전압과 갱신된 후의 테스트 독출 전압 사이의 차이가 임계값 미만이 된 경우를 포함할 수 있다. 도 15는 비용 함수 곡선(COST FUNCTION CURVE)에서 최적의 독출 전압(Vr_OPT) 근방에서의 그래프를 확대한 곡선을 함께 도시한다. 설명의 편의를 위해 예를 들어, 도 15가, 도 7의 S140 단계에 따라 제1 테스트 독출 전압(Vtest_1)을 제2 테스트 독출 전압(Vtest_2)으로 갱신한 경우를 가정한다.
메모리 컨트롤러(300)는 갱신되기 전의 테스트 독출 전압인 제1 테스트 독출 전압(Vtest_1)과 갱신된 후의 테스트 독출 전압인 제2 테스트 독출 전압(Vtest_2) 사이의 차를 나타내는 테스트 독출 차이 전압(Vtest_diff; test read differential voltage)을 계산해낼 수 있다. 메모리 컨트롤러(300)는 테스트 독출 차이 전압(Vtest_diff)이 임계값 미만인지 여부를 판단할 수 있다. 테스트 독출 차이 전압(Vtest_diff)이 임계값 미만인 경우, 메모리 컨트롤러(300)는 반복 루프를 중단할 수 있고, 그 때의 갱신된 테스트 독출 전압을 독출 전압으로서 결정할 수 있다.
도 16은 본 개시의 예시적 실시예에 따른 테스트 독출 전압(V_TEST)에 대한 비용 함수(Cost Function)를 나타낸다. 도 16은 도 1 및 도 2를 함께 참조하여 설명된다.
설명의 편의를 위해 예를 들어, 도 16은, 도 7의 S140 단계에 따라 비용 함수 곡선(COST FUNCTION CURVE)의 평균 기울기(SLP_AVG)를 이용해 제1 테스트 독출 전압(Vtest_1)을 제2 테스트 독출 전압(Vtest_2)으로 갱신한 경우를 가정한다. 테스트 독출 전압이 제2 테스트 독출 전압(Vtest_2)으로 갱신된 경우, 테스트 독출 전압은 최적의 독출 전압(Vr_OPT)과 그 값이 가까워질 수 있다. 이에 따라, 테스트 독출 전압을 갱신하는 동작에 있어서, 비용 함수의 기울기 값을 평균 기울기(SLP_AVG)가 아닌 최적값 근방 기울기(SLP_VIC)로서 이용한다면 최적의 독출 전압(Vr_OPT)을 보다 정확히 찾아낼 수 있다. 다시 말해, 메모리 컨트롤러(300)는 반복 루프의 반복 횟수에 기초하여 비용 함수의 기울기 값을 달리 적용함으로써 테스트 독출 전압을 갱신할 수 있다. 이 때, 메모리 컨트롤러(300)는, 반복 횟수가 클수록 비용 함수의 기울기 값에 작은 기울기 값을 적용할 수 있다. 또한, 메모리 컨트롤러(300)는 복수의 반복 횟수 값들에 대응되는 복수의 기울기 값들을 포함하는 룩업 테이블을 저장하고 있을 수 있는데, 이에 대해서는 도 17을 참조해 설명된다.
도 17은 본 개시의 예시적 실시예에 따른 기울기 정보(SLP_INFO)를 나타낸다. 도 17은 도 1 및 도 2를 함께 참조하여 설명된다.
메모리 컨트롤러(300)는 반복 루프의 반복 횟수에 따라 비용 함수의 기울기 값을 달리 적용하기 위해 기울기 정보(SLP_INFO)를 저장하고 있을 수 있다. 기울기 정보(SLP_INFO)는 복수의 반복 횟수 값들에 대응되는 복수의 기울기 값들을 포함하는 룩업 테이블을 포함할 수 있다.
예를 들어, 반복 횟수가 0회인 경우, 즉 최초의 반복 루프에서, 메모리 컨트롤러(300)는 비용 함수의 기울기 값에 제1 기울기(SLP_1)를 적용할 수 있다. 비제한적인 예시로서, 제1 기울기(SLP_1)는 비용 함수 곡선의 평균 기울기(SLP_AVG)일 수 있다. 마찬가지로, 반복 횟수가 1회인 경우, 메모리 컨트롤러(300)는 비용 함수의 기울기 값에 제2 기울기(SLP_2)를 적용할 수 있다. 또한 기울기(SLOPE)는 제1 기울기(SLP_1)에서 제4 기울기(SLP_4)로 갈수록 작은 값을 가질 수 있다.
도 18은 본 개시의 예시적 실시예에 따른 SSD 시스템(1000)을 나타낸다.
SSD 시스템(1000)은 호스트(1100) 및 SSD(1200)를 포함할 수 있다. SSD(1200)는 신호 커넥터(signal connector)를 통해 호스트(1100)와 신호를 주고 받을 수 있으며, 전원 커넥터(power connector)를 통해 전원을 입력 받을 수 있다. SSD(1200)는 SSD 컨트롤러(1210), 보조 전원 장치(1220) 및 복수의 메모리 장치들(1230, 1240, 1250)을 포함할 수 있다. 이 때, SSD(1200)는 도 1 내지 도 17에 도시된 실시예들을 이용하여 구현될 수 있다.
구체적으로 도 1 내지 도 17에 도시된 실시예들에 따라, SSD 컨트롤러(1210)는 독출 동작 매니저(1212)를 포함할 수 있다. SSD 컨트롤러(1210)가 복수의 메모리 장치들(1230,1240, 1250) 중 하나의 메모리 장치에 대해 정정할 수 없는 에러를 포함하는 데이터를 감지한 경우, 독출 동작 매니저(1212)는 최적의 독출 동작 설정 동작을 수행할 수 있다. 이를 위해, 독출 동작 매니저(1212)는 메모리 장치가 테스트 독출 전압을 이용해 테스트 독출 동작을 수행하도록 메모리 장치를 제어할 수 있고, 메모리 장치로부터 셀 카운트 정보를 수신함에 따라, 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수 및 셀 카운트 정보를 기초로 테스트 독출 전압을 갱신할 수 있다. 이와 같은 동작들로 이루어진 반복 루프를 적어도 1회 수행함으로써 독출 동작 매니저(1212)는 최적의 독출 동작을 설정할 수 있다. 이에 따라, 메모리 장치는 최적의 독출 전압을 이용해 독출 동작을 수행함으로써 독출 동작의 신뢰성을 높일 수 있다. 또한, SSD 컨트롤러(1210)는 반복 루프(iteration loop)를 1회 이상만 수행하면 되기 때문에, 주어진 상황에 따라 유연하게 독출 전압 설정 동작을 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 선택 워드 라인에 연결된 복수의 메모리 셀들을 포함하는 메모리 장치에 대한 메모리 컨트롤러의 독출 전압 설정 방법에 있어서,
    테스트 독출 전압을 상기 선택 워드 라인에 인가함으로써 상기 복수의 메모리 셀들의 데이터를 독출하도록 상기 메모리 장치를 제어하는 단계;
    상기 메모리 장치의 독출 동작에 대응되는 셀 카운트 정보를 상기 메모리 장치로부터 수신함으로써, 최적의 독출 전압을 찾기 위해 독출 전압 레벨 별로 결정되는 비용 함수(cost function) 및 상기 셀 카운트 정보를 이용해 상기 테스트 독출 전압을 갱신하는 단계; 및
    상기 메모리 장치를 제어하는 단계 및 상기 테스트 독출 전압을 갱신하는 단계를 적어도 한 번 수행함으로써 상기 메모리 장치의 독출 전압을 결정하는 단계를 포함하는 메모리 컨트롤러의 독출 전압 설정 방법.
  2. 제1항에 있어서,
    상기 메모리 장치를 제어하는 단계 및 상기 테스트 독출 전압을 갱신하는 단계는, 반복(iteration) 중단 조건이 발생할 때까지 재귀적으로(recursively) 수행되고,
    상기 독출 전압을 결정하는 단계는,
    상기 반복 중단 조건이 발생했을 때 상기 테스트 독출 전압을 상기 독출 전압으로서 결정하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  3. 제2항에 있어서,
    상기 반복 중단 조건은,
    상기 메모리 장치를 제어하는 단계 및 상기 테스트 독출 전압을 갱신하는 단계의 반복 수행 횟수가 소정의 목표 횟수와 같아진 경우를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  4. 제2항에 있어서,
    상기 반복 중단 조건은,
    갱신되기 전의 테스트 독출 전압과 갱신된 후의 테스트 독출 전압 사이의 차이가 임계값 미만이 된 경우를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  5. 제1항에 있어서,
    상기 테스트 독출 전압을 갱신하는 단계는,
    전압에 대한 상기 비용 함수의 기울기 값을 기초로, 상기 셀 카운트 정보 및 상기 비용 함수를 이용해 산출한 함수 값에 수치 해석(numerical analysis)을 수행함으로써 상기 테스트 독출 전압을 갱신하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  6. 제5항에 있어서,
    상기 비용 함수는,
    상기 메모리 장치에서 상기 테스트 독출 전압을 상기 선택 워드 라인에 인가한 후 카운트 된 온-셀의 개수에서 상기 복수의 메모리 셀들의 초기 문턱 전압 산포상 제1 상태 이하의 프로그램 상태를 갖는 셀들의 개수를 감산한 함수이고,
    상기 독출 전압을 결정하는 단계는,
    상기 메모리 장치에서 상기 제1 상태보다 높은 문턱 전압을 갖고 상기 제1 상태와 이웃한 프로그램 상태인 제2 상태를 상기 제1 상태와 구별하기 위한 독출 전압을 결정하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  7. 제6항에 있어서,
    상기 테스트 독출 전압을 갱신하는 단계는,
    상기 선택 워드 라인에 상기 테스트 독출 전압이 인가된 뒤 카운트 된 온-셀의 개수를 상기 메모리 장치로부터 상기 셀 카운트 정보로서 수신하는 단계;
    상기 셀 카운트 정보를 상기 비용 함수에 대입함으로써 비용 함수 값을 산출하는 단계; 및
    산출된 상기 비용 함수 값을 전압에 대한 상기 비용 함수의 기울기로 나눈 값을 상기 테스트 독출 전압에서 감산함으로써 상기 테스트 독출 전압을 갱신하는 단계를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  8. 제5항에 있어서,
    상기 테스트 독출 전압을 갱신하는 단계는,
    상기 메모리 장치를 제어하는 단계 및 상기 테스트 독출 전압을 갱신하는 단계의 반복 횟수에 기초하여 상기 비용 함수의 상기 기울기 값을 달리 적용하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  9. 제8항에 있어서,
    상기 테스트 독출 전압을 갱신하는 단계는,
    상기 반복 횟수가 클수록 상기 비용 함수의 상기 기울기 값에 작은 기울기 값을 적용하는 것을 특징으로 하는 메모리 컨트롤러의 독출 전압 설정 방법.
  10. 복수의 워드 라인들에 연결된 복수의 메모리 셀들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러의 동작 방법에 있어서,
    상기 복수의 워드 라인들 중 선택 워드 라인에 발생한 에러 정정 코드에 의해 정정할 수 없는 오류를 감지하는 단계;
    임의의 초기 독출 전압을 기초로 반복 중단 조건이 발생할 때까지 적어도 하나의 반복 루프(iteration loop)를 수행하는 단계; 및
    상기 적어도 하나의 반복 루프를 수행에 따른 결과를 이용해 최적의 독출 전압을 결정함으로써, 상기 메모리 장치가 결정된 상기 최적의 독출 전압을 기초로 독출 동작을 수행하도록 상기 메모리 장치를 제어하는 단계를 포함하고,
    상기 적어도 하나의 반복 루프는,
    상기 메모리 장치가 상기 선택 워드 라인에 테스트 독출 전압을 인가함으로써 테스트 독출 동작을 수행하도록 상기 메모리 장치를 제어하는 단계;
    상기 메모리 장치로부터 상기 테스트 독출 동작에 따른 셀 카운트 정보를 수신하는 단계; 및
    상기 선택 워드 라인에 연결된 메모리 셀들의 초기 문턱 전압 산포를 기초로 결정되는 비용 함수 및 상기 셀 카운트 정보를 이용해 상기 테스트 독출 전압을 갱신하는 단계를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 동작 방법.
KR1020180029926A 2018-03-14 2018-03-14 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치 KR102617350B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020180029926A KR102617350B1 (ko) 2018-03-14 2018-03-14 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US16/299,348 US10748642B2 (en) 2018-03-14 2019-03-12 Memory controller, method of operating the same and storage device including the memory controller
CN201910193672.1A CN110277132A (zh) 2018-03-14 2019-03-14 存储器控制器、其操作方法以及包括其的存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180029926A KR102617350B1 (ko) 2018-03-14 2018-03-14 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치

Publications (2)

Publication Number Publication Date
KR20190108423A true KR20190108423A (ko) 2019-09-24
KR102617350B1 KR102617350B1 (ko) 2023-12-26

Family

ID=67906072

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180029926A KR102617350B1 (ko) 2018-03-14 2018-03-14 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치

Country Status (3)

Country Link
US (1) US10748642B2 (ko)
KR (1) KR102617350B1 (ko)
CN (1) CN110277132A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI736225B (zh) * 2020-04-20 2021-08-11 瑞昱半導體股份有限公司 影像處理晶片測試方法
US11355203B2 (en) * 2020-08-07 2022-06-07 Micron Technology, Inc. Determine optimized read voltage via identification of distribution shape of signal and noise characteristics

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110182118A1 (en) * 2007-04-23 2011-07-28 Ramot At Tel Aviv University Ltd. Adaptive dynamic reading of flash memories
KR20140020041A (ko) * 2012-08-07 2014-02-18 삼성전자주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR20150123057A (ko) * 2014-04-24 2015-11-03 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
US9368225B1 (en) * 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US20170125089A1 (en) * 2015-10-30 2017-05-04 Seagate Technology Llc Adaptive read threshold voltage tracking with gap estimation between default read threshold voltages
KR20170066084A (ko) * 2015-12-04 2017-06-14 삼성전자주식회사 비휘발성 메모리 장치, 메모리 시스템, 비휘발성 메모리 장치의 동작 방법 및 메모리 시스템의 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100888842B1 (ko) 2007-06-28 2009-03-17 삼성전자주식회사 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
KR101005188B1 (ko) * 2009-02-26 2011-01-04 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
KR101578511B1 (ko) * 2009-05-20 2015-12-18 삼성전자주식회사 리드 전압 설정 방법
KR101578518B1 (ko) 2009-07-07 2015-12-17 삼성전자주식회사 불휘발성 메모리 장치의 읽기 방법 및 그것을 포함하는 메모리 시스템
KR101845510B1 (ko) 2011-10-25 2018-04-05 삼성전자주식회사 반도체 저장 장치 및 시스템
US20130343131A1 (en) 2012-06-26 2013-12-26 Lsi Corporation Fast tracking for flash channels
KR102038408B1 (ko) 2012-10-25 2019-10-30 삼성전자주식회사 회귀 분석법을 사용하는 메모리 시스템 및 그것의 읽기 방법
US8804421B2 (en) 2012-10-31 2014-08-12 Intel Corporation Center read reference voltage determination based on estimated probability density function
CN103971724B (zh) * 2013-02-06 2018-09-18 三星电子株式会社 存储器、存储控制器、存储***、及其操作方法
US9542258B1 (en) 2013-03-15 2017-01-10 Western Digital Technologies, Inc. System and method for error-minimizing voltage threshold selection
US9812223B2 (en) * 2013-06-21 2017-11-07 SK Hynix Inc. Semiconductor memory device and method of operating the same
CN105453053B (zh) 2013-08-13 2018-10-09 英派尔科技开发有限公司 存储器***
KR102397016B1 (ko) 2014-11-24 2022-05-13 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법
US10347343B2 (en) 2015-10-30 2019-07-09 Seagate Technology Llc Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110182118A1 (en) * 2007-04-23 2011-07-28 Ramot At Tel Aviv University Ltd. Adaptive dynamic reading of flash memories
KR20140020041A (ko) * 2012-08-07 2014-02-18 삼성전자주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
US9368225B1 (en) * 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
KR20150123057A (ko) * 2014-04-24 2015-11-03 삼성전자주식회사 메모리 시스템 및 상기 메모리 시스템의 동작 방법
US20170125089A1 (en) * 2015-10-30 2017-05-04 Seagate Technology Llc Adaptive read threshold voltage tracking with gap estimation between default read threshold voltages
KR20170066084A (ko) * 2015-12-04 2017-06-14 삼성전자주식회사 비휘발성 메모리 장치, 메모리 시스템, 비휘발성 메모리 장치의 동작 방법 및 메모리 시스템의 동작 방법

Also Published As

Publication number Publication date
US10748642B2 (en) 2020-08-18
US20190287643A1 (en) 2019-09-19
KR102617350B1 (ko) 2023-12-26
CN110277132A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
KR102302187B1 (ko) 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치
KR102392056B1 (ko) 메모리 장치의 데이터 독출 방법, 메모리 컨트롤러의 제어 방법 및 이들을 포함하는 저장 장치
US10573389B2 (en) Storage device having parameter calibration function, and operating method thereof
KR102402668B1 (ko) 비휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 저장 장치
KR102634700B1 (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
CN107403636B (zh) 读取非易失性存储设备的方法
KR20170097267A (ko) 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치
KR102284658B1 (ko) 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 상기 비휘발성 메모리 장치의 동작 방법
US10672476B2 (en) Storage device using program speed and method of operating the same
KR102452994B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR20140031556A (ko) 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법
KR102178141B1 (ko) 비휘발성 메모리 장치의 동작 방법
CN111564173A (zh) 存储器***及其操作方法
KR102267046B1 (ko) 스토리지 장치 및 배드 블록 지정 방법
KR102375751B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR20190094968A (ko) 메모리 컨트롤러 및 그 동작 방법
CN115910171A (zh) 存储器控制器、存储器***以及存储器控制器的操作方法
KR102617350B1 (ko) 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US20220165338A1 (en) Controller and operation method thereof
KR20100045739A (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR20190111608A (ko) 반도체 메모리 장치 및 그 동작 방법
US11817170B2 (en) Storage controller determining error count, method of operating the same, and method of operating storage device including the same
KR20230000690A (ko) 적응적인 기록/독출 제어를 수행하는 스토리지 장치 및 스토리지 장치의 동작방법
KR20230090598A (ko) 히스토리 데이터를 사용하는 스토리지 컨트롤러, 그것의 동작하는 방법, 및 그것을 포함하는 스토리지 장치의 동작하는 방법
CN112086111A (zh) 非易失性存储器设备及其编程方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant