KR20240028875A - 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법 - Google Patents

메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법 Download PDF

Info

Publication number
KR20240028875A
KR20240028875A KR1020220107180A KR20220107180A KR20240028875A KR 20240028875 A KR20240028875 A KR 20240028875A KR 1020220107180 A KR1020220107180 A KR 1020220107180A KR 20220107180 A KR20220107180 A KR 20220107180A KR 20240028875 A KR20240028875 A KR 20240028875A
Authority
KR
South Korea
Prior art keywords
read voltage
read
level
memory
offset
Prior art date
Application number
KR1020220107180A
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 KR1020220107180A priority Critical patent/KR20240028875A/ko
Priority to US18/137,036 priority patent/US20240069790A1/en
Priority to CN202310714447.4A priority patent/CN117631972A/zh
Priority to JP2023120076A priority patent/JP2024031843A/ja
Publication of KR20240028875A publication Critical patent/KR20240028875A/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR 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 or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for 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
    • 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
    • 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/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법이 개시된다. 본 개시의 기술적 사상에 따른 방법은, 호스트의 읽기 요청에 응답하여 제1 읽기 동작을 수행하는 단계, 및 제1 읽기 동작이 페일인 경우, 가중치 테이블, 오프셋 테이블, 및 변위 레벨을 기초로 열화 보상 레벨을 계산하고, 디폴트 읽기 전압과 열화 보상 레벨을 연산하여 히스토리 읽기 전압을 계산하고, 히스토리 읽기 전압을 기초로 데이터를 읽는 제2 읽기 동작을 수행하는 단계를 포함한다.

Description

메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법{MEMORY CONTROLLER, STORAGE DEVICE, AND METHOD OF STORAGE DEVICE}
본 개시의 기술적 사상은 전자 장치에 관한 것이며, 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법에 관한 것이다.
반도체 메모리 장치에는 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, Flash Memory 등과 같은 비휘발성 메모리로 구분될 수 있다. 휘발성 메모리 장치는 전원 공급이 차단되면 저장된 데이터를 잃는, 반면, 비휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다.
비휘발성 메모리를 사용하는 장치들로는, 예를 들어, MP3 플레이어, 디지털 카메라, 휴대전화, 캠코더, 플래시 카드 및 SSD(Solid State Disk) 등이 있다. 저장장치로 비휘발성 메모리를 사용하는 장치들이 증가하면서, 비휘발성 메모리의 용량도 급속히 증가하고 있다.
본 개시의 기술적 사상은, 읽기 전압을 보상하기 위한 보상 값을 워드 라인 별로 계산하는 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법을 제공한다.
본 개시의 기술적 사상에 따른 저장 장치의 동작 방법은, 호스트로부터 제공된 읽기 요청에 응답하여, 디폴트 읽기 전압 세트를 기초로 비휘발성 메모리에 저장된 데이터를 읽는 제1 읽기 동작을 수행하는 단계, 및 제1 읽기 동작이 페일인 경우, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 적어도 하나의 가중치 테이블, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 적어도 하나의 오프셋 테이블, 및 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨과 리텐션 시간에 따라 가변하는(variable) 최적 읽기 전압 세트의 최적 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 기초로 열화 보상 레벨을 계산하고, 디폴트 읽기 전압 세트와 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산하고, 히스토리 읽기 전압 세트를 기초로 데이터를 읽는 제2 읽기 동작을 수행하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 메모리 컨트롤러는, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 적어도 하나의 가중치 테이블, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 적어도 하나의 오프셋 테이블, 및 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨과 최적 읽기 전압 세트의 최적 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 저장하도록 구성된 메모리, 및 호스트로부터 제공된 읽기 요청에 응답하여 비휘발성 메모리에 저장된 데이터를 읽도록 비휘발성 메모리를 제어하도록 구성된 프로세서를 포함하고, 프로세서는, 적어도 하나의 가중치 테이블, 적어도 하나의 오프셋 테이블, 및 변위 레벨을 기초로 열화 보상 레벨을 계산하고, 디폴트 읽기 전압 세트와 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산하고, 히스토리 읽기 전압 세트를 기초로 데이터를 읽는 히스토리 읽기 동작을 수행하도록, 비휘발성 메모리를 제어한다.
또한, 본 개시의 기술적 사상에 따른 저장 장치는, 복수의 워드 라인들에 연결된 복수의 메모리 블록들을 포함하는 비휘발성 메모리, 및 호스트로부터 제공된 읽기 요청에 응답하여 비휘발성 메모리에 저장된 데이터를 읽도록 비휘발성 메모리를 제어하는 메모리 컨트롤러를 포함하고, 메모리 컨트롤러는, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 가중치 테이블, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 오프셋 테이블, 및 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨과 최적 읽기 전압 세트의 최적 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 기초로 열화 보상 레벨을 계산하고, 디폴트 읽기 전압 세트와 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산하고, 히스토리 읽기 전압 세트를 기초로 데이터를 읽도록 비휘발성 메모리를 제어한다.
또한, 본 개시의 기술적 사상에 따른 저장 장치의 동작 방법은, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 가중치 테이블, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 오프셋 테이블, 및 디폴트 읽기 전압 레벨과 최적 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 기초로 열화 보상 레벨을 계산하는 단계, 디폴트 읽기 전압 레벨과 열화 보상 레벨을 연산하여 히스토리 읽기 전압 레벨을 계산하는 단계, 및 히스토리 읽기 전압 레벨을 기초로 저장된 데이터를 읽는 히스토리 읽기 동작을 수행하는 단계를 포함한다.
또한, 본 개시의 기술적 사상에 따른 저장 장치의 동작 방법은, 저장 장치가 수행하는 방어 코드에 의해 검색된 최적 읽기 전압 레벨과 디폴트 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 계산하는 단계, 워드 라인 그룹과 상태 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 적어도 하나의 가중치 테이블, 워드 라인 그룹과 상태 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 적어도 하나의 오프셋 테이블, 및 변위 레벨을 기초로 열화 보상 레벨을 연산하는 단계, 및 디폴트 읽기 전압 레벨과 열화 보상 레벨을 기초로 데이터를 읽는 단계를 포함한다.
본 개시의 기술적 사상에 의하면, 읽기 전압을 보상하기 위한 보상 값을 워드 라인 별로 다르게 적용함으로써, 읽기 동작의 성공률, 장치의 신뢰성 및 성능을 증가시키는 효과가 있다.
또한, 본 개시의 기술적 사상에 의하면, 읽기 전압을 보상하기 위한 보상 값을 간단한 연산을 통해 계산함으로써, 장치의 리소스를 감소시키는 효과가 있다.
본 개시의 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 아니하며, 언급되지 아니한 다른 효과들은 이하의 기재로부터 본 개시의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시의 실시예들을 실시함에 따른 의도하지 아니한 효과들 역시 본 개시의 실시예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
도 1은 본 개시의 일 실시예에 따른 저장 장치를 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시예에 따른 비휘발성 메모리를 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시예에 따른 메모리 블록을 나타내는 회로도이다.
도 4는 본 개시의 일 실시예에 따른 메모리 블록을 나타내는 사시도이다.
도 5는 본 개시의 다른 실시예에 따른 메모리 블록을 나타내는 사시도이다.
도 6은 비휘발성 메모리에 포함된 메모리 셀들의 열화에 따른 문턱 전압 분포의 변화를 설명하기 위한 도면이다.
도 7은 도 6에 도시된 제6 프로그램 상태 및 제7 프로그램 상태 각각에 대응되는 문턱 전압 분포의 변화를 설명하기 위한 도면이다.
도 8은 워드 라인 별로 문턱 전압 분포의 변화를 설명하기 위한 도면이다.
도 9는 리텐션 시간 별 워드 라인에 따른 특정 최적 읽기 전압을 설명하기 위한 그래프이다.
도 10은 메모리 셀의 프로그램 상태에 따른 열화 패턴을 설명하기 위한 도면이다.
도 11은 리텐션 시간 별 워드 라인 간의 스큐(Skew)를 설명하기 위한 그래프이다.
도 12는 본 개시의 일 실시예에 따른 저장 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 13은 도 12에 도시된 제2 읽기 동작을 설명하기 위한 흐름도이다.
도 14a 및 도 14b는 본 개시의 일 실시예에 따른 가중치 테이블 및 오프셋 테이블을 설명하기 위한 도면이다.
도 15는 본 개시의 다른 실시예에 따른 가중치 테이블 및 오프셋 테이블을 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시예에 따라 가중치 테이블 및 오프셋 테이블을 선택하는 방법을 설명하기 위한 흐름도이다.
도 17은 도 12에 도시된 제3 읽기 동작을 설명하기 위한 흐름도이다.
도 18은 리텐션 열화에 따라 변화되는 읽기 패스 구간을 포함하는 리드 윈도우를 설명하기 위한 도면이다.
도 19a 및 도 19b는 메모리 블록 별로 저장된 변위 레벨에 따른 열화 보상 레벨을 개략적으로 나타낸 그래프이다.
도 20은 본 개시의 일 실시예에 따른 메모리 시스템을 보여주는 블록도이다.
도 21은 본 개시의 일 실시예에 따른 저장 장치가 적용된 시스템을 예시하는 블록도이다.
도 22는 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 23은 본 개시의 일 실시예에 따른 메모리 장치를 설명하기 위한 도면이다.
이하, 첨부한 도면을 참조하여 본 개시의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 저장 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 저장 장치(100)는 메모리 컨트롤러(110) 및 비휘발성 메모리(120)를 포함할 수 있다. 메모리 컨트롤러(110) 및 비휘발성 메모리(120)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 메모리 컨트롤러(110) 및 비휘발성 메모리(120)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들어, 비휘발성 메모리(120) 및 메모리 컨트롤러(110)는 하나의 반도체 장치로 집적되어 PC 카드, 컴팩트 플래시 카드, 스마트 미디어 카드, 메모리 스틱, 멀티미디어 카드, SD 카드, 유니버설 플래시 기억장치 등을 구성할 수 있다. 다른 예를 들면, 메모리 컨트롤러(110) 및 비휘발성 메모리(120)는 하나의 반도체 장치로 집적되어 SSD(Solid State Disk/Drive)를 구성할 수 있다.
메모리 컨트롤러(110)는 호스트로부터의 쓰기/읽기 요청에 응답하여 비휘발성 메모리(120)에 저장된 데이터를 읽거나, 비휘발성 메모리(120)에 데이터를 쓰도록(또는, 프로그램하도록) 비휘발성 메모리(120)를 제어할 수 있다. 구체적으로, 메모리 컨트롤러(110)는 비휘발성 메모리(120)에 커맨드/어드레스(CMD/ADD) 및 제어 신호(CTRL)를 제공함으로써, 비휘발성 메모리(120)에 대한 쓰기 동작(또는 프로그램 동작), 읽기 동작, 및 소거 동작을 제어할 수 있다. 또한, 기록될(to be written) 데이터와 독출된(to read) 데이터가 메모리 컨트롤러(110)와 비휘발성 메모리(120) 사이에서 송수신될 수 있다.
메모리 컨트롤러(110)는 외부의 호스트와 다양한 표준 인터페이스들을 통해 통신할 수 있다. 예컨대, 메모리 컨트롤러(110)는 인터페이스 회로(미도시)를 포함하고, 인터페이스 회로는 호스트와 메모리 컨트롤러(110) 사이의 각종 표준 인터페이스를 제공할 수 있다. 표준 인터페이스는, ATA(advanced technology attachment), SATA(serial ATA), e-SATA(external SATA), SCSI(small computer small interface), SAS(serial attached SCSI), PCI(peripheral component interconnection), PCI-E(PCI express), IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multimedia card), eMMC(embedded multimedia card), 유니버설 플래시 기억장치(UFS), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식들을 포함할 수 있다.
메모리 컨트롤러(110)는 캐시 메모리(111), 읽기 관리자(112), 및 에러 정정 코드 회로(113, Error Correction Code circuit, 이하 'ECC 회로')를 포함할 수 있다.
캐시 메모리(111)는 데이터를 임시로 저장할 수 있다. 저장 장치(100)가 부팅될 때, 비휘발성 메모리(120)에 저장된 메타 데이터가 캐시 메모리(111)에 로드될 수 있다. 캐시 메모리(111)는 SRAM, DRAM 등의 휘발성 메모리로 구현될 수 있다.
일 실시예에서, 캐시 메모리(111)는 적어도 하나의 가중치 테이블, 적어도 하나의 오프셋 테이블, 및 변위 레벨의 값을 저장할 수 있다. 가중치 테이블, 오프셋 테이블, 및 변위 레벨의 값은 읽기 패스를 위한 읽기 전압을 계산하는데 이용될 수 있다.
읽기 패스는 읽힌 데이터가 에러를 포함하지 않는 경우(또는 정상 데이터)에 해당되는 읽기 동작의 결과일 수 있다. 또는, 읽기 패스는 데이터가 ECC 회로(113)에 의해 정정 가능한 에러를 포함하는 경우에 해당되는 읽기 동작의 결과일 수 있다. 읽기 페일은, 읽힌 데이터가 ECC 회로(113)에 의해 정정 불가능한 에러를 포함하는 경우에 해당되는, 읽기 동작의 결과일 수 있다.
가중치 테이블은, 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 테이블일 수 있다. 워드 라인 그룹은 비휘발성 메모리(120)에 포함된 복수의 워드 라인들 중 적어도 일부를 포함하는 그룹일 수 있다. 읽기 전압은, 프로그램된 메모리 셀들에 저장된 데이터를 읽기 위해, 워드 라인에 인가되는 전압일 수 있다. 오프셋 테이블은 워드 라인 그룹과 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 테이블일 수 있다.
변위 레벨은, 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨과 최적 읽기 전압 세트의 최적 읽기 전압 레벨 간의 차이에 대응되는 값일 수 있다. 변위 레벨은 메모리 컨트롤러(110)에 의해 수행되는 방어 코드(recovery code)를 통해 계산될 수 있다. 변위 레벨은 읽기 동작이 완료되면 업데이트될 수 있다. 변위 레벨은 메모리 블록마다 설정 및 저장될 수 있다. 디폴트 읽기 전압 세트는, 메모리 셀 또는 메모리 셀들을 포함하는 메모리 블록의 열화도가 반영되지 않은 읽기 전압을 포함할 수 있다. 디폴트 읽기 전압 세트는 비휘발성 메모리(120) 또는 칩당 1개의 세트로 구성될 수 있으나 이에 한정되는 것은 아니다. 디폴트 읽기 전압 세트에 포함된 읽기 전압은 디폴트 읽기 전압으로 지칭되며, 디폴트 읽기 전압의 종류는 메모리 셀의 종류에 따라 달라질 수 있다. 최적 읽기 전압 세트는, 메모리 셀들의 서로 다른 문턱 전압 분포들이 교차하는 지점에 대응되는 읽기 전압을 포함할 수 있다. 또는 최적 읽기 전압 세트는, 방어 코드의 실행 결과 획득되는 읽기 전압을 포함할 수 있다. 최적 읽기 전압 세트에 포함된 읽기 전압은 최적 읽기 전압으로 지칭되며, 최적 읽기 전압의 종류는 메모리 셀의 종류에 따라 달라질 수 있다. 최적 읽기 전압 세트는 리텐션 시간에 따라 가변할 수 있다.
다른 실시예에서, 캐시 메모리(111)는 복수의 가중치 테이블들, 복수의 오프셋 테이블들, 및 열화 파라미터 테이블을 저장할 수 있다. 열화 파라미터 테이블은 복수의 메모리 블록들 각각에 열화 파라미터의 값들을 포함하는 데이터 구조일 수 있다.
캐시 메모리(111)는 방어 코드를 저장할 수 있다.
읽기 관리자(112)는, 호스트로부터 제공된 읽기 요청에 응답하여 비휘발성 메모리(120)에 저장된 데이터를 읽도록, 비휘발성 메모리(120)를 제어할 수 있다. 예를 들면, 읽기 관리자(112)는, 읽기 요청에 응답하여, 데이터를 읽을 것을 지시하는 커맨드/어드레스(CMD/ADD)를 비휘발성 메모리(120)에 제공할 수 있다. 이때, 데이터를 읽을 것을 지시하는 커맨드는 리드 커맨드로 지칭될 수 있다.
읽기 관리자(112)는 읽기 전압들을 관리하거나 조절할 수 있다. 예를 들어, 읽기 관리자(112)는, 읽힌 데이터가 ECC 회로(113)에 의해 정정되지 않는 경우, 비휘발성 메모리(120)에서 사용되는 읽기 전압을 조절할 수 있다. 조절된 읽기 전압은 제어 신호(CTRL)에 포함될 수 있다. 구체적으로, 읽힌 데이터가 ECC 회로(113)에 의해 정정되지 않는 경우, 읽기 관리자(112)는, 캐시 메모리(111)에 저장된 적어도 하나의 가중치 테이블, 적어도 하나의 오프셋 테이블, 및 변위 레벨을 기초로 열화 보상 레벨을 계산할 수 있다. 여기서, 열화 보상 레벨은, 열화에 의한 메모리 셀들의 문턱 전압 분포의 변경에 따라서 읽기 전압을 보상하기 위한 보정 값일 수 있다. 읽기 관리자(112)는, 디폴트 읽기 전압 세트와 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산할 수 있다. 히스토리 읽기 전압은 디폴트 읽기 전압과 열화 보상 레벨 간의 연산 결과에 대응되는 읽기 전압일 수 있다.
읽기 관리자(112)는, 관리된 읽기 전압 또는 조절된 읽기 전압을 기초로 데이터를 읽는 동작을 수행하도록, 비휘발성 메모리(120)를 제어할 수 있다. 예를 들어, 관리된 읽기 전압 또는 조절된 읽기 전압은 디폴트 읽기 전압 세트, 히스토리 읽기 전압 세트, 또는 최적 읽기 전압 세트일 수 있다. 일 실시예에서, 읽기 관리자(112)는 읽기 요청에 응답하여 디폴트 읽기 전압 세트를 이용할 수 있다. 디폴트 읽기 전압 세트에 의해 읽힌 데이터가 ECC 회로(113)에 의해 정정되지 않는 경우, 읽기 관리자(112)는 히스토리 읽기 전압 세트를 이용할 수 있다. 히스토리 읽기 전압 세트에 의해 읽힌 데이터가 ECC 회로(113)에 의해서도 정정되지 않는 경우, 읽기 관리자(112)는 최적 읽기 전압 세트를 이용할 수 있다. 본 명세서에서 읽기 전압 세트는, 디폴트 읽기 전압 세트, 최적 읽기 전압 세트, 또는 히스토리 읽기 전압 세트를 지칭할 수 있다.
ECC 회로(113)는 비휘발성 메모리(120)에 의해 읽힌 데이터의 에러를 검출하고 정정할 수 있다. 예를 들어, ECC 회로(113)는 비휘발성 메모리(120)에 저장될 데이터에 대하여 에러 정정 코드를 생성할 수 있다. 생성된 에러 정정 코드는 데이터와 함께 비휘발성 메모리(120)에 저장될 수 있다. ECC 회로(113)는 저장된 에러 정정 코드를 기반으로 비휘발성 메모리(120)에 의해 읽힌 데이터의 에러를 검출하고 정정할 수 있다. 예시적으로, ECC 회로(113)는 소정의 에러 정정 능력을 갖는다. ECC 회로(113)의 에러 정정 능력을 초과하는 에러 비트(또는 페일 비트)를 포함하는 데이터는 UECC(Uncorrectable ECC) 데이터로 지칭될 수 있다. 일 실시예에서, UECC 데이터는 디폴트 읽기 전압 세트, 히스토리 읽기 전압 세트, 및 최적 읽기 전압 세트 각각을 이용해 수행되는 읽기 동작이 페일인 경우에 발생할 수 있다. 읽힌 데이터(Read data)가 UECC 데이터인 경우, 읽기 관리자(112)는 읽기 동작에 이용된 적어도 하나의 읽기 전압을 조절하여 조절된 읽기 전압으로 읽기 동작을 다시 수행하도록 비휘발성 메모리(120)를 제어할 수 있다.
비휘발성 메모리(120)는 플래시 메모리 셀들을 포함하는 플래시 메모리 장치일 수 있다. 하지만, 이에 한정되는 것은 아니다. 이하에서 비휘발성 메모리(120)가 플래시 메모리 장치인 것으로 가정한다. 플래시 메모리 셀은 메모리 셀로 지칭될 수 있다.
비휘발성 메모리(120)는 메모리 셀 어레이(121)를 포함할 수 있다. 메모리 셀 어레이(121)는 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록은 복수의 워드 라인들과 복수의 비트 라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있다. 복수의 메모리 셀들은 프로그램된 데이터에 따라 다수의 문턱 전압 분포들을 가질 수 있다. 예컨대, 메모리 셀이 하나의 메모리 셀 당 하나의 비트를 저장하는 싱글 레벨 셀(이하, SLC)인 경우, 메모리 셀들은 프로그램 상태에 따라 2 개의 문턱 전압 분포들을 가질 수 있다. 다른 예를 들면, 메모리 셀이 하나의 메모리 셀 당 2 개의 비트를 저장하는 멀티 레벨 셀(이하, MLC)인 경우, 메모리 셀들은 프로그램 상태에 따라 4 개의 문턱 전압 분포들을 가질 수 있다. 또 다른 예를 들면, 또한, 메모리 셀이 하나의 메모리 셀 당 3 개의 비트를 저장하는 트리플 레벨 셀(이하, TLC)인 경우, 메모리 셀들은 프로그램 상태에 따라 8 개의 문턱 전압 분포들을 가질 수 있다. 이와 같이, 메모리 셀이 하나의 메모리 셀 당 4 개 이상의 비트를 저장하는 경우, 메모리 셀들은 프로그램 상태에 따라 16 개 이상의 문턱 전압 분포들을 가질 수 있다.
비휘발성 메모리(120)는 페이지 버퍼(122)를 포함할 수 있다. 페이지 버퍼(122)는 읽기 동작 시에 감지 증폭기(sense amplifier)로 동작할 수 있다. 즉, 페이지 버퍼(122)는 메모리 셀 어레이(121)에 저장된 데이터를 센싱할 수 있다.
비휘발성 메모리(120)는 제어 로직(123)을 포함할 수 있다. 제어 로직(123)은 데이터를 센싱하도록 페이지 버퍼(122)를 제어할 수 있다.
전술한 실시예에 의하면, 메모리 셀의 열화 정도에 따라 읽기 전압을 적절히 조절함으로써, 읽기 패스 확률을 향상시키고 저장 장치(100)의 성능을 향상시키며, 저장 장치(100)의 신뢰성을 향상시키는 효과가 있다.
도 2는 본 개시의 일 실시예에 따른 비휘발성 메모리를 설명하기 위한 도면이다.
도 2를 참조하면, 비휘발성 메모리(200)는 메모리 셀 어레이(210), 제어 로직(220), 전압 생성기(230), 로우 디코더(240) 및 페이지 버퍼 회로(250)를 포함할 수 있다. 다른 실시예에서는 비휘발성 메모리(200)는 데이터 입출력 회로 또는 입출력 인터페이스를 더 포함할 수 있다.
메모리 셀 어레이(210)는 복수의 메모리 셀들을 포함하고, 워드 라인들(word line, WL), 스트링 선택 라인들(string selection line, SSL), 그라운드 선택 라인들(ground selection line, GSL) 및 복수의 비트 라인들(bit line, BL)에 연결될 수 있다. 구체적으로, 메모리 셀 어레이(210)는 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 그라운드 선택 라인들(GSL)을 통해 로우 디코더(240)에 연결되고, 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(250)에 연결될 수 있다.
메모리 셀 어레이(210)는 복수의 블록들(BLK1 내지 BLKz)을 포함할 수 있다. 예를 들면, 복수의 블록들(BLK1 내지 BLKz) 각각은 3차원 구조(또는 수직 구조)를 가질 수 있다. 구체적으로, 각 블록은 제1 내지 제3 방향들을 따라 신장된 구조물들을 포함한다. 예를 들면, 각 블록은 제3 방향을 따라 신장된 복수의 낸드 스트링들(이하 '스트링들'이라 지칭함)을 포함한다. 이때, 복수의 스트링들은 제1 및 제2 방향들을 따라 특정 거리만큼 이격되어 제공될 수 있다. 블록들(BLK1 내지 BLKz)은 로우 디코더(240)에 의해 선택될 수 있다. 예를 들면, 로우 디코더(240)는 블록들(BLK1 내지 BLKz) 중 블록 어드레스에 대응하는 블록을 선택할 수 있다.
메모리 셀 어레이(210)에 포함되는 메모리 셀들 각각은 적어도 1개 이상의 비트들을 저장할 수 있다. 예를 들어, 메모리 셀은 1 비트의 데이터를 저장하는 SLC일 수 있다. 다른 예를 들어, 메모리 셀은 2 비트의 데이터를 저장하는 MLC일 수 있다. 또 다른 예를 들어, 메모리 셀은 3 비트의 데이터를 저장하는 TLC일 수 있다. 또 다른 예를 들어, 메모리 셀은 4 비트 데이터를 저장하는 쿼드 레벨 셀(또는 쿼드라플 레벨 셀, 이하 QLC)일 수도 있다. 그러나, 본 개시는 이에 한정되지 않는다.
복수의 메모리 블록(BLK1~BLKi)은 SLC들을 포함하는 싱글 레벨 셀 블록, MLC들을 포함하는 멀티 레벨 셀 블록, TLC들을 포함하는 트리플 레벨 셀 블록, 및 QLC들을 포함하는 쿼드 레벨 셀 블록 중 적어도 하나를 포함할 수 있다. 메모리 셀 어레이(210)에 포함된 복수의 메모리 블록들 중 일부 메모리 블록은 싱글 레벨 셀 블록일 수 있고, 다른 블록들은 멀티 레벨 셀 블록 또는 트리플 레벨 셀 블록일 수 있다.
메모리 셀 어레이(210)에 소거 전압이 인가되면 복수의 메모리 셀들은 소거 상태가 되며, 메모리 셀 어레이(210)에 프로그램 전압이 인가되면 복수의 메모리 셀들은 프로그램 상태가 될 수 있다. 이때, 각 메모리 셀은 문턱 전압(threshold voltage)에 따라 구분되는 소거 상태 및 적어도 하나의 프로그램 상태를 가질 수 있다.
제어 로직(220)은 비휘발성 메모리(200) 내의 각종 동작을 전반적으로 제어할 수 있다. 예를 들어, 제어 로직(220)은 메모리 컨트롤러(210)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여, 메모리 셀 어레이(210)에 데이터를 쓰거나 메모리 셀 어레이(210)로부터 데이터를 읽기 위한 각종 제어 신호를 출력할 수 있다.
제어 로직(220)에서 출력된 각종 제어 신호는 전압 생성기(230), 로우 디코더(240) 및 페이지 버퍼 회로(250)에 제공될 수 있다. 제어 로직(220)은 전압 생성기(230)에 전압 제어 신호(CTRL_vol)를 제공할 수 있다.
제어 로직(220)은 셀 카운터를 더 포함할 수 있다. 셀 카운터는 페이지 버퍼 회로(250)에 의해 센싱된 데이터로부터 특정 문턱 전압 범위에 해당하는 메모리 셀들의 개수를 카운트할 수 있다. 이때, 카운트되는 셀은 오프셀로 지칭될 수 있다.
전압 생성기(230)는 복수의 워드 라인들(WL)을 통해 메모리 셀 어레이(210)와 연결될 수 있다. 전압 생성기(230)는 전압 제어 신호(CTRL_vol)를 기초로 하여 메모리 셀 어레이(210)에 대한 프로그램 동작, 읽기 동작, 및 소거 동작을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 전압 생성기(230)는 워드 라인 전압(VWL), 예를 들어, 프로그램 전압, 검증 전압, 읽기 전압, 소거 전압 등을 생성할 수 있다.
전압 생성기(230)에 의해 생성된 프로그램 전압, 검증 전압, 읽기 전압, 소거 전압 등은, 복수의 워드 라인들(WL) 중 선택된 워드 라인에 제공될 수 있다. 선택된 워드 라인은 로우 어드레스(X-ADDR)에 의해 선택되는 적어도 하나의 워드 라인일 수 있다.
로우 디코더(240)는 제어 로직(220)으로부터 수신한 로우 어드레스(X-ADDR)에 응답하여 워드 라인들(WL) 중 특정 워드 라인을 선택할 수 있다. 구체적으로, 프로그램 동작 시에 로우 디코더(240)는 선택된 워드 라인에 프로그램 전압을 제공할 수 있다. 또한, 로우 디코더(240)는 제어 로직(220)으로부터 수신한 로우 어드레스(X-ARRD)에 응답하여 스트링 선택 라인들(SSL) 중 일부 스트링 선택 라인 또는 그라운드 선택 라인들(GSL) 중 일부 그라운드 선택 라인을 선택할 수 있다. 읽기 동작 시에 로우 디코더(240)는 선택된 워드 라인에 읽기 전압을 인가하고, 비선택 워드 라인에 리드 패스 전압을 인가할 수 있다.
페이지 버퍼 회로(250)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(210)에 연결될 수 있다. 페이지 버퍼 회로(250)는 제어 로직(220)으로부터 수신한 칼럼 어드레스(Y-ADDR)에 응답하여 복수의 비트 라인들(BL) 중 일부 비트 라인을 선택할 수 있다. 프로그램 동작(예를 들어, 검증 동작) 또는 읽기 동작 시에 페이지 버퍼 회로(250)는 감지 증폭기(sense amplifier)로 동작하여 선택된 메모리 셀에 저장된 데이터를 선택된 비트 라인을 통해서 센싱할 수 있다. 한편, 프로그램 동작 시에 페이지 버퍼 회로(250)는 기입 드라이버(write driver)로 동작하여 메모리 셀 어레이(210)에 저장하고자 하는 데이터를 입력시킬 수 있다. 페이지 버퍼 회로(250)가 복수의 페이지 버퍼들을 포함할 수 있다. 이 경우, 각 페이지 버퍼는 적어도 하나의 비트 라인에 연결될 수 있다.
페이지 버퍼 회로(250)는 메모리 셀 어레이(210)로부터 읽은 데이터를 저장하거나, 또는 메모리 셀 어레이(210)에 기입될 데이터를 저장할 수 있다.
페이지 버퍼 회로(250)는 복수의 비트 라인들(BL)에 각각 연결된 복수의 페이지 버퍼들을 포함할 수 있다. 복수의 페이지 버퍼들은 각각의 비트 라인에 대응하여 배치될 수 있으며, 각 페이지 버퍼는 복수의 래치들을 포함할 수 있다. 이하, 페이지 버퍼 회로가 각각의 비트 라인에 연결된 페이지 버퍼를 포함하는 것으로 정의될 것이다. 그러나, 본 개시의 실시예들은 그 용어가 다르게 정의될 수도 있을 것이며, 일 예로서 다수의 비트 라인들에 대응하여 하나의 페이지 버퍼가 구비되고, 각각의 비트 라인에 대응하여 배치되는 구성의 단위를 페이지 버퍼 유닛으로 정의할 수도 있을 것이다.
도 3은 본 개시의 일 실시예에 따른 메모리 블록을 나타내는 회로도이다.
도 3을 참조하면, 메모리 블록(BLK)은 낸드 스트링들(NS11 내지 NS33)을 포함하고, 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MCs) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 각 낸드 스트링에 포함된 트랜지스터들(SST, GST) 및 메모리 셀들(MCs)은 기판 상에서 수직 방향을 따라 적층된 구조를 형성할 수 있다.
비트 라인들(BL1 내지 BL3)은 제1 방향을 따라 연장될 있고, 워드 라인들(WL1 내지 WL8)은 제2 방향을 따라 연장될 수 있다. 제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 위치하고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 위치하고, 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 위치할 수 있다.
스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1 내지 SSL3)에 연결될 수 있다. 메모리 셀들(MCs)은 대응하는 워드 라인들(WL1 내지 WL8)에 각각 연결될 수 있다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 내지 GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
도 4는 본 개시의 일 실시예에 따른 메모리 블록을 나타내는 사시도이다.
도 4를 참조하면, 메모리 블록(BLKa)은 기판(SUB)의 상부에 수직 방향(VD)으로 신장되는 메모리 스택(ST)을 포함할 수 있다. 예를 들어, 메모리 블록(BLKa)은 기판(SUB)과 비트 라인들(BL1 내지 BL3) 사이에 단일 메모리 스택(ST)을 포함할 수 있다. 기판(SUB)에 공통 소스 라인들(CSL)이 배치될 수 있고, 인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제2 수평 방향(HD2)을 따라 신장되는 절연막들(IL)이 수직 방향(VD)을 따라 순차적으로 제공되며, 절연막들(IL)은 수직 방향(VD)을 따라 특정 거리만큼 이격된다. 인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 수직 방향(VD)을 따라 절연막들(IL)을 관통하는 필라들(P)이 제공된다. 필라(pillar)는 채널홀로 지칭될 수 있다. 필라들(P)은 수직 방향(VD)으로 연장되는 컵 형상(또는 바닥이 막힌 실린더 형상)으로 형성될 수 있다. 각 필라(P)의 표면층(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(CS)이 제공된다. 전하 저장층(CS)은 게이트 절연층, 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1 내지 WL8)과 같은 게이트 전극(GE)이 제공된다. 복수의 필라들(P) 상에는 드레인들(DR)이 각각 제공된다. 드레인들(DR) 상에, 제1 수평 방향(HD1)으로 신장되고 제2 수평 방향(HD2)을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1 내지 BL3)이 제공된다.
도 5는 본 개시의 다른 실시예에 따른 메모리 블록을 나타내는 사시도이다.
도 5를 참조하면, 메모리 블록(BLKb)은 도 4의 메모리 블록(BLKa)의 변형 예에 대응하며, 도 4를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다. 메모리 블록(BLKb)은 기판(SUB)의 상부에 수직 방향(VD)으로 적층된 제1 메모리 스택(ST1) 및 제2 메모리 스택(ST2)을 포함할 수 있다. 예를 들어, 메모리 블록(BLKb)은 기판(SUB)과 비트 라인들(BL1 내지 BL3) 사이에 두 개의 메모리 스택들(ST1, ST2)을 포함할 수 있고, 이에 따라, 멀티 스택 구조, 예를 들어, 2-스택 구조를 가질 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 실시예에 따라, 메모리 블록은 기판(SUB)과 비트 라인들(BL1 내지 BL3) 사이에 세 개 이상의 메모리 스택들을 포함할 수도 있다.
제조 공정 상의 이유로, 도 4 또는 도 5에 도시된 복수의 필라들(P)의 크기(또는 채널홀의 크기, 채널 길이)는 워드 라인의 위치에 따라 달라질 수 있다. 구체적으로 예를 들면, 워드 라인의 위치가 하단에 가까울수록 해당 워드 라인에 대응되는 필라의 크기가 작아질 수 있다. 필라의 크기가 작을수록 해당 워드 라인에서의 열화가 더 커질 수 있다. 따라서, 하단에 위치하는 워드 라인의 열화가 상단에 위치하는 워드 라인의 열화보다 더 클 수 있다. 따라서, 워드 라인의 위치에 따라 읽기 전압을 보상하기 위한 가중치 및 오프셋이 다르게 설정될 필요가 있다.
도 6은 비휘발성 메모리에 포함된 메모리 셀들의 열화에 따른 문턱 전압 분포의 변화를 설명하기 위한 도면이다.
이하에서, 설명의 편의를 위해, 비휘발성 메모리(120)에 포함된 메모리 셀들은 TLC인 것으로 가정한다. 메모리 셀들이 TLC이므로, 읽기 전압 세트는 7 가지의 읽기 전압을 포함할 수 있다. 그러나, 본 개가 이에 한정되는 것은 아니며, 본 개시의 기술적 사상은 유사한 기술 범위로 확장 및 변형될 수 있다.
도 6을 참조하면, 도 6에 도시된 그래프에서 가로축은 문턱 전압(Threshold voltage)을 나타내고, 세로축은 메모리 셀들의 개수(# of cells)를 나타낸다. 비휘발성 메모리(120)에 포함된 복수의 메모리 셀들 각각은 소거 상태(E), 및 제1 내지 제7 프로그램 상태들(P1~P7) 중 어느 하나의 상태를 가질 수 있다. 메모리 셀들에 대한 프로그램 완료 후, 복수의 메모리 셀들은 도 6의 (ⅰ)에 도시된 바와 같은 문턱 전압 분포를 가질 수 있다. 비휘발성 메모리(120)는 복수의 읽기 전압들(Vr1~Vr7)을 기초로 메모리 셀들의 상태를 판별함으로써 데이터를 읽을 수 있다.
그러나, 다양한 요인들로 인하여 메모리 셀들의 문턱 전압이 변화할 수 있다. 여기서, 다양한 요인들 중 하나는 프로그램 완료 후 경과 시간인 리텐션(retention) 시간에 해당될 수 있다. 리텐션 시간이 경과하면, 메모리 셀들이 트랩하는 전하량이 감소하면서, 복수의 메모리 셀들의 문턱 전하 분포가 변경 및 이동될 수 있다. 구체적으로, 리텐션 시간이 경과하면, 메모리 셀의 전하 저장층에 저장된 전하가 기판으로 누설될 수 있고, 이에 따라, 메모리 셀들의 문턱 전압이 감소하여 도 6의 (ⅱ)에 도시된 바와 같이 변경될 수 있다.
도 6의 (ⅱ)을 참조하면, 복수의 읽기 전압들(Vr1~Vr7)을 기반으로 읽힌 데이터는 에러를 포함할 수 있다. 메모리 컨트롤러(110)는 읽힌 데이터의 오류를 검출할 수 있다. 메모리 셀들의 문턱 전압 분포 변화량이 일정 크기 이상 커질 경우, 메모리 컨트롤러(110)(예를 들면, ECC 회로(113))의 에러 정정 능력 범위를 초과하는 에러가 데이터에 포함될 수 있다.
문턱 전압 분포의 변화 및 이동은 리텐션 시간뿐만 아니라 프로그램 및/또는 소거의 반복(예, P/E 싸이클), 인접 셀들의 간섭 등에 영향을 받을 수 있다. 예를 들어, 제1 메모리 블록 및 제2 메모리 블록에 대한 프로그램 완료 후 경과 시간이 동일하더라도, 제1 메모리 블록의 P/E 싸이클 및 제2 메모리 블록의 P/E 싸이클이 서로 다르면, 제1 메모리 블록에 대응되는 문턱 전압 분포의 변화 패턴과 제2 메모리 블록에 대응되는 문턱 전압 분포의 변화 패턴이 서로 다를 수 있다.
다른 일부 실시예들에서, 메모리 셀들이 QLC인 경우, 메모리 셀들 각각은 소거 상태(E)와 15개의 프로그램 상태들 중 어느 하나의 상태를 가질 수 있고, 읽기 전압 세트는 15 가지의 읽기 전압을 포함할 수 있다. 메모리 셀들이 QLC인 경우에도, 리텐션 시간이 경과됨에 따라 복수의 메모리 셀들의 문턱 전하 분포가 변경 및 이동되며, 읽기 전압들을 기반으로 읽힌 데이터는 에러를 포함할 수 있다.
이하에서는, 제6 프로그램 상태(P6) 및 제7 프로그램 상태(P7)를 기준으로 문턱 전압 분포가 변경됨에 따라 최적 읽기 전압을 찾는 방법을 설명한다.
도 7은 도 6에 도시된 제6 프로그램 상태 및 제7 프로그램 상태 각각에 대응되는 문턱 전압 분포의 변화를 설명하기 위한 도면이다.
도 7을 참조하면, 제6 프로그램 상태(P6)에 대응되는 문턱 전압 분포와 제7 프로그램 상태(P7)에 대응되는 문턱 전압 분포가 리텐션 시간의 경과 등으로 인해 변경될 수 있다. 이 경우, 제7 읽기 전압(Vr7)을 기초로 읽힌 데이터는 정정 불가능한 에러를 포함할 수 있다.
메모리 컨트롤러(110)는 펌웨어에 의한 방어 코드를 실행할 수 있다. 방어 코드는, 예를 들어, 리드 리트라이(read retry)를 포함할 수 있다. 리드 리트라이는, 최적의 읽기 전압을 찾고, 검색된 읽기 전압을 기초로 읽기 동작을 다시 수행하는 동작일 수 있다. 이때, 제6 프로그램 상태(P6)의 메모리 셀들의 문턱 전압 분포와 제7 프로그램 상태(P7)의 메모리 셀들의 문턱 전압 분포가 교차하는 지점에서 밸리(valley)가 형성될 수 있다. 밸리에 해당하는 레벨을 갖는 읽기 전압(Vr7')을 최적의 읽기 전압으로 하여 읽기 동작이 수행될 때, 읽기 동작의 에러가 최소화될 수 있다. 이렇게, 최적의 읽기 전압을 찾기 위해 밸리를 찾는 동작이 수행되고, 밸리를 찾는 동작은 밸리 서치(valley search)로 지칭될 수 있다.
밸리 서치는 밸리로 예상되는 레벨 주위의 레벨들을 이용하여 비트 라인을 센싱하고, 센싱 결과들을 기초로 메모리 셀들의 수를 카운트하며, 메모리 셀의 수를 이용해 밸리를 찾을 수 있다. 예를 들어, 비휘발성 메모리(120)는 제1 전압(V1)과 제2 전압(V2)을 비트 라인을 센싱하고, 제1 전압(V1)과 제2 전압(V2) 사이의 문턱 전압들을 갖는 메모리 셀들을 카운트하며, 카운트의 결과에 따라 밸리를 식별하여 밸리에 해당하는 레벨을 갖는 읽기 전압(Vr7')을 찾을 수 있다.
제7 읽기 전압(Vr7)은 디폴트 읽기 전압 세트에 포함되고, 읽기 전압(Vr7')은 최적 읽기 전압 세트에 포함될 수 있다. 읽기 전압(Vr7')은 제7 읽기 전압(Vr7)에서 일정한 레벨만큼 쉬프트된 전압일 수 있다. 이때, 쉬프트된 레벨은 전술한 변위 레벨에 대응될 수 있다. 변위 레벨은 디폴트 읽기 전압(예를 들어, 제7 읽기 전압(Vr7))에서 새로 검색된 최적 읽기 전압(예를 들어, 읽기 전압(Vr7'))으로 쉬프트된 값일 수 있다.
전술한 실시예에 의하면, 밸리에 해당하는 레벨을 갖는 읽기 전압(Vr7')을 기초로 읽기 동작이 수행될 때, 읽기 패스 확률이 증가할 수 있다.
도 8은 워드 라인 별로 문턱 전압 분포의 변화를 설명하기 위한 도면이다.
이하에서는 메모리 셀은 TLC이고, 도 8은 두 개의 프로그램 상태들(Pa, Pb)에 대응되는 문턱 전압 분포만을 도시한 것으로 가정한다.
도 8을 참조하면, 제i 워드 라인(WLi)에 연결된 메모리 셀들에 대한 문턱 전압 분포, 제j 워드 라인(WLj)에 연결된 메모리 셀들에 대한 문턱 전압 분포, 및 제k 워드 라인(WLk)에 연결된 메모리 셀들에 대한 문턱 전압 분포가 각각 도시된다. i, j, k는 자연수일 수 있다.
제i 워드 라인(WLi)에 연결된 메모리 셀들에 대하여, 두 개의 프로그램 상태들(Pa, Pb)은 읽기 전압(Vri)에 의해 식별될 수 있다. 제j 워드 라인(WLj)에 연결된 메모리 셀 들에 대하여, 두 개의 프로그램 상태들(Pa, Pb)은 읽기 전압(Vrj)에 의해 식별될 수 있다. 제k 워드 라인(WLk)에 연결된 메모리 셀들에 대하여, 두 개의 프로그램 상태들(Pa, Pb)은 읽기 전압(Vrk)에 의해 식별될 수 있다.
워드 라인의 위치에 따라, 특정 워드 라인에 연결된 메모리 셀들의 프로그램 상태를 식별하기 읽기 전압은, 다른 워드 라인에 연결된 메모리 셀들의 프로그램 상태를 식별하는데 이용되지 못할 수 있다. 예를 들면, 제k 워드 라인(WLk)에 연결된 메모리 셀들의 프로그램 상태들(Pa, Pb)은 읽기 전압(Vrj)에 식별되지 못할 수 있다.
메모리 셀의 위치에 따라 문턱 전압 분포는 서로 다를 수 있다. 예를 들어, 스트링(STR)의 제조 공정에서, 기판(SUB)의 상부 면과 평행한 단면적은, 필라의 폭가 고려될 때, 기판(SUB)과의 거리가 감소할수록 작게 형성될 수 있다. 따라서, 워드 라인을 통하여 기판(SUB)에 인접한 메모리 셀에 전압이 인가될 때, 기판(SUB)에 인접한 메모리 셀에 형성되는 전기장이 기판(SUB)과 먼 메모리 셀에 형성되는 전기장보다 클 수 있다. 이는 읽기 교란에 영향을 주게 되고, 워드 라인 단위로 서로 다른 열화 상태를 발생시킬 수 있다. 이외에도, 리텐션 시간, 프로그램/소거 사이클, 온도 등 다양한 열화 인자에 의한 열화 정도가 메모리 셀의 위치에 따라 다를 수 있다. 동일한 워드 라인에 연결된 메모리 셀들은 기판과의 거리, 인접한 필라의 폭 등이 거의 일정하므로, 서로 대체로 유사한 열화 상태를 가질 수 있다.
이와 같이, 프로그램 상태들(Pa, Pb)을 식별하기 위한 읽기 전압들(Vri, Vrj, Vrk)이 워드 라인의 위치에 따라 달라질 수 있고, 열화가 발생함에 따라 쉬프트되는 읽기 전압의 레벨도 워드 라인의 위치에 따라 달라질 수 있으며, 열화가 발생함에 따라 검색될 최적 읽기 전압들도 워드 라인의 위치에 따라 달라질 수 있다.
이하에서는 리텐션 시간의 경과 별 워드 라인에 따른 최적 읽기 전압의 경향이 후술될 것이다.
도 9는 리텐션 시간 별 워드 라인에 따른 특정 최적 읽기 전압을 설명하기 위한 그래프이다. 구체적으로, 도 9는 제6 프로그램 상태(P6)와 제7 프로그램 상태(P7)를 식별하기 위한 상태 읽기 전압(RP7)의 변화를 나타낸 것으로, 다른 프로그램 상태들을 식별하기 위한 최적 읽기 전압도 도 9에 도시된 바와 유사한 경향을 나타낼 수 있다.
도 9를 참조하면, 그래프에서 가로축은 최적 읽기 전압을 나타내고, 세로축은 워드 라인의 번호를 나타낼 수 있다. 그래프에서 "00M", "01M", "06M", "12M", "30M"은 각각 리텐션 시간이 메모리 셀들이 프로그램된 후 1개월 이내 경과, 1개월 경과, 6개월 경과, 12개월 경과, 30개월 경과된 것을 예시적으로 나타낸다. 그러나, 리텐션 시간은 이에 한정되는 것은 아니다. 리텐션 시간이 점점 경과할수록, 열화 정도(Degradation)가 점점 증가하며, 이에 따른 최적 읽기 전압이 도 9에 도시된 바와 같이 0보다 작은 값으로 점점 감소하는 경향이 있다(예를 들면, 음(negative)의 방향).
일 실시예에서 워드 라인의 번호가 클수록, 워드 라인이 기판(SUB)으로부터 멀리 떨어진 위치에 배치된 것을 나타낼 수 있다. 특정 리텐션 시간을 기준으로, 워드 라인의 위치가 기판(SUB)에 가까울수록, 즉 워드 라인의 번호가 작아질수록 열화 정도(Degradation)가 점점 증가하며, 이에 따른 최적 읽기 전압이 감소하되 최적 읽기 전압의 크기는 점점 증가하는 경향이 있다. 예를 들면, 제1 내지 제5 워드 라인 영역들(R1~R5) 중 제1 영역(R1)에 위치한 워드 라인들은 기판(SUB)에 상대적으로 가까운 위치에 배치된 하부 워드 라인이고, 제5 영역(R5)에 위치한 워드 라인들은 기판(SUB)으로부터 가장 멀리 위치한 상부 워드 라인일 수 있다. 이때, 제1 영역(R1)에 위치한 워드 라인에 연결된 메모리 셀의 열화 정도가 제5 영역(R5)에 위치한 워드 라인에 연결된 메모리 셀의 열화 정도보다 더 클 수 있다. 도 9의 그래프에서는 영역의 개수가 5개로 도시되어 있으나, 이에 한정되는 것은 아니다.
도 10은 메모리 셀의 프로그램 상태에 따른 열화 패턴을 설명하기 위한 도면이다.
도 6 및 도 10을 참조하면, 메모리 셀들은 TLC인 것을 가정한다. 리텐션 기간이 경과함에 따라, 프로그램 상태들(P1~P7)에 대응되는 문턱 전압 분포들은, 도 10에 도시된 화살표의 방향과 같이, 전반적으로 소거 상태(E)가 위치하는 쪽(또는 도면을 기준으로 왼쪽)으로 이동될 수 있다.
일 실시예에서, 프로그램 상태들(P1~P7) 중 적어도 일부는 유사한 열화 패턴을 가질 수 있다. 예를 들면, 프로그램 상태들(P1~P7) 중 제1 내지 제3 프로그램 상태들(P1~P3)은 제1 열화 패턴(Degradation pattern 1)을 갖고, 프로그램 상태들(P1~P7) 중 제5 내지 제7 프로그램 상태들(P5~P7)은 제2 열화 패턴(Degradation pattern 2)을 가질 수 있다. 제1 열화 패턴(Degradation pattern 1)은 제2 열화 패턴(Degradation pattern 2)보다 상대적으로 적은 열화 상태를 나타낼 수 있다. 예를 들면, 제1 내지 제3 프로그램 상태들(P1~P3)을 갖는 메모리 셀들은 제5 내지 제7 프로그램 상태들(P5~P7)을 갖는 메모리 셀들보다 더 적게 열화될 수 있다.
일 실시예에서, 상위 프로그램 상태를 갖는 메모리 셀들의 열화 정도가 하위 프로그램 상태를 갖는 메모리 셀들의 열화 정도보다 더 클 수 있다. 예를 들면, 제7 프로그램 상태(P7)를 갖는 메모리 셀들의 열화 정도가 제6 프로그램 상태(P6)를 갖는 메모리 셀들의 열화 정도보다 더 클 수 있다. 또는 제4 프로그램 상태(P4)를 갖는 메모리 셀들의 열화 정도가 제3 프로그램 상태(P3)를 갖는 메모리 셀들의 열화 정도보다 더 클 수 있다.
하위 프로그램 상태를 갖는 메모리 셀들의 열화 정도가 상위 프로그램 상태를 갖는 메모리 셀들의 열화 정도보다 더 작을 수 있으므로, 읽기 전압(예를 들면, 디폴트 읽기 전압)을 보상하기 위한 열화 보상 레벨이 프로그램 상태에 따라서 다르게 계산될 수 있다. 일 실시예에서, 디폴트 읽기 전압 세트가 제1 내지 제n 디폴트 읽기 전압들을 포함할 수 있다(n은 2 이상의 자연수). 예를 들면, 제1 내지 제n 디폴트 읽기 전압들은 도 6에 도시된 복수의 읽기 전압들(Vr1~Vr7)일 수 있다. 제i 디폴트 읽기 전압(i는 1 이상 n-1 이하의 정수)에 대응되는 열화 보상 레벨은 제j 디폴트 읽기 전압(j는 i보다 크고 n 이하의 정수)에 대응되는 열화 보상 레벨보다 작을 수 있다.
일부 실시예들에서, 메모리 셀들이 QLC인 경우에도, 15개의 프로그램 상태들 중 적어도 일부는 유사한 열화 패턴을 가질 수 있다. 15개의 프로그램 상태들은 2개 이상의 열화 패턴들로 구분될 수 있으며, 상위 프로그램 상태를 갖는 메모리 셀들의 열화 정도가 하위 프로그램 상태를 갖는 메모리 셀들의 열화 정도보다 더 클 수 있고, 읽기 전압을 보상하기 위한 열화 보상 레벨이 프로그램 상태에 따라서 다르게 계산될 수도 있다.
도 11은 리텐션 시간 별 워드 라인 간의 스큐(Skew)를 설명하기 위한 그래프이다. 구체적으로, 도 11은 상단 워드 라인과 하단 워드 라인 간의 스큐를 그래프이다. 여기서, 스큐는 특정 최적 읽기 전압(또는 디폴트 읽기 전압에 대한 읽기 전압의 쉬프트량)의 차이에 대응될 수 있다.
도 11을 참조하면, 특정 리텐션 시간에서, 상단 워드 라인에 대응되는 읽기 전압의 쉬프트량은 하단 워드 라인에 대응되는 읽기 전압의 쉬프트량보다 더 작을 수 있다. 예를 들면 제5 영역(R5)에서의 읽기 전압의 쉬프트량은 제1 영역(R1)에서의 읽기 전압의 쉬프트량보다 더 작을 수 있다. 즉, 하단 워드 라인에서의 스큐가 상단 워드 라인에서의 스큐보다 더 클 수 있다. 그 이유는 도 4 및 도 5를 참조하여 전술한 바와 같이, 워드 라인의 위치가 하단에 가까울수록 해당 워드 라인에 대응되는 필라의 크기가 작아지고, 필라의 크기가 작을수록 해당 워드 라인에서의 열화가 더 커지고 열화에 취약하기 때문이다. 이와 같은 스큐 차이는 리텐션 시간이 경과할수록 더 커지므로, 워드 라인의 위치와 무관하게 동일한 열화 보상 레벨이 읽기 전압에 적용될 경우, 읽기 패스 확률이 감소될 수 있다. 따라서, 일 실시예에서, 읽을 데이터가 저장된 물리 페이지에 대응되는 워드 라인의 위치가, 비휘발성 메모리의 하부 기판(예를 들어, 기판(SUB))을 기준으로, 높아질수록, 워드 라인에 대응되는 열화 보상 레벨이 감소할 수 있다. 전술한 실시예에 의하면, 읽기 패스 확률을 증가시키는 효과가 있다.
도 12는 본 개시의 일 실시예에 따른 저장 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 단계 S100에서, 호스트로부터 읽기 요청을 수신하는 단계가 수행된다.
단계 S110에서, 호스트로부터 제공된 읽기 요청에 응답하여 제1 읽기 동작을 수행하는 단계가 수행된다. 제1 읽기 동작은, 비휘발성 메모리(120)가 디폴트 읽기 전압 세트를 기초로 저장된 데이터를 읽는 동작일 수 있다. 제1 읽기 동작은 노멀 읽기 동작으로 지칭될 수 있다.
단계 S120에서, 제1 읽기 동작의 패스 여부를 확인하는 단계가 수행된다. 제1 읽기 동작의 패스 여부는, 읽힌 데이터가 정상 데이터 또는 ECC 회로(113)에 의해 정정 가능한 에러를 포함하는 데이터인 경우를 의미할 수 있다. 일 실시예에서, 읽기 관리자(112)는 읽힌 데이터의 에러가 ECC 회로(113)에 의해 정정되는지 여부에 따라 제1 읽기 동작의 패스 여부를 판단할 수 있다. 일부 실시예에서 단계 S120는 제1 읽기 동작에 따라 읽은 데이터의 에러를 검출하는 단계를 포함할 수 있다.
제1 읽기 동작이 페일이면(S120, 아니오), 단계 S130에서, 제2 읽기 동작을 수행하는 단계가 수행된다. 제2 읽기 동작은 히스토리 읽기 전압 세트를 기초로 데이터를 읽는 동작일 수 있다. 구체적으로, 제2 읽기 동작은, 적어도 하나의 가중치 테이블, 적어도 하나의 오프셋 테이블, 및 변위 레벨을 기초로 열화 보상 레벨을 계산하고, 디폴트 읽기 전압 세트와 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산하고, 히스토리 읽기 전압 세트를 기초로 데이터를 읽는 동작일 수 있다. 제2 읽기 동작은 히스토리 읽기 동작으로 지칭될 수 있다.
단계 S140에서, 제2 읽기 동작의 패스 여부를 확인하는 단계가 수행된다. 일 실시예에서, 읽기 관리자(112)는 읽힌 데이터의 에러가 ECC 회로(113)에 의해 정정되는지 여부에 따라 제2 읽기 동작의 패스 여부를 판단할 수 있다. 일부 실시예에서 단계 S140는 제2 읽기 동작에 따라 읽은 데이터의 에러를 검출하는 단계를 포함할 수 있다.
제2 읽기 동작이 페일이면(S140, 아니오), 단계 S150에서, 제3 읽기 동작을 수행하는 단계가 수행된다. 제3 읽기 동작은 새로운 최적 읽기 전압 세트를 기초로 데이터를 읽는 동작일 수 있다. 제3 읽기 동작은, 방어 코드를 실행하여 새로운 최적 읽기 전압 세트를 검색하고, 변위 레벨을 계산하여 저장하고, 새로운 최적 읽기 전압 세트를 기초로 데이터를 읽는 동작일 수 있다. 여기서, 변위 레벨은, 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨에서, 검색된 최적 읽기 전압 세트의 최적 읽기 전압 레벨로, 쉬프트된 값에 대응될 수 있다.
단계 S160에서, 제3 읽기 동작의 패스 여부를 확인하는 단계가 수행된다. 일 실시예에서, 읽기 관리자(112)는 읽힌 데이터의 에러가 ECC 회로(113)에 의해 정정되는지 여부에 따라 제3 읽기 동작의 패스 여부를 판단할 수 있다. 일부 실시예에서 단계 S160는 제3 읽기 동작에 따라 읽은 데이터의 에러를 검출하는 단계를 포함할 수 있다. 제3 읽기 동작이 페일이면(S160, 아니오), 단계 S170에서 읽기 동작을 읽기 실패로 처리하는 단계가 수행된다.
제1 읽기 동작이 패스이거나(S120, 예), 제2 읽기 동작이 패스이거나(S140, 예), 또는 제3 읽기 동작이 패스이면(S160, 예), 단계 S180에서 읽은 데이터를 호스트에 송신하는 단계가 수행된다.
전술한 바에 의하면, 워드 라인 별로 읽기 전압을 보상하기 위한 값을 다르게 계산함으로써, 읽기 패스 확률을 증가시키고, 저장 장치(100)의 성능 및 신뢰도를 향상시키는 효과가 있다.
도 13은 도 12에 도시된 제2 읽기 동작을 설명하기 위한 흐름도이고, 도 14a 및 도 14b는 본 개시의 일 실시예에 따른 가중치 테이블(α) 및 오프셋 테이블(β)을 설명하기 위한 도면이다.
도 13을 참조하면, 단계 S131에서, 가중치 테이블(α)에서 저장된 데이터의 물리 페이지에 대응되는 워드 라인에 따라 가중치를 선택하는 단계가 수행된다. 가중치 테이블(α)은 도 14a에 도시된 바와 같은 데이터 구조로 구성될 수 있다. 가중치 테이블(α)에서, 복수의 영역들(R1~RN) 각각은 소정의 워드 라인 그룹에 대응될 수 있다. 각 워드 라인 그룹은 적어도 하나의 워드 라인들을 포함할 수 있다. 제1 영역(R1)은 워드 라인 번호 0번(WL0) 내지 워드 라인 번호 11번(WL11)에 해당되는 제1 워드 라인 그룹에 대응될 수 있다. 하지만, 이에 한정되는 것은 아니다. 가중치 테이블(α)에서 복수의 상태 읽기 전압들(RP1~RP7)의 종류는 메모리 셀의 종류(예를 들면, SLC, MLC, TLC 등)에 따라 결정될 수 있다. 도 6 및 도 14a를 참조하여예를 들면, 메모리 셀이 TLC이면, TLC는 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1~P7) 중 어느 하나의 상태를 가질 수 있으므로, 가중치 테이블(α)에서 복수의 상태 읽기 전압들(RP1~RP7)의 종류는 도 14a에 도시된 바와 같이 7개일 수 있다. 하지만, 이에 한정되는 것은 아니며, 일부 실시예에서, 메모리 셀이 SLC이면, SLC는 소거 상태(E) 또는 제1 프로그램 상태(P1)를 가질 수 있으므로, 가중치 테이블(α)에서 복수의 상태 읽기 전압들의 종류는 1개일 수 있다. 메모리 셀이 MLC이면, MLC는 소거 상태(E) 및 제1 내지 제3 프로그램 상태들(P1~P3) 중 어느 하나의 상태를 가질 수 있으므로, 가중치 테이블(α)에서 복수의 상태 읽기 전압들의 종류는 3개일 수 있다. 메모리 셀이 QLC이면, QLC는 소거 상태(E) 및 15개의 프로그램 상태들 중 어느 하나의 상태를 가질 수 있으므로, 가중치 테이블(α)에서 복수의 상태 읽기 전압들의 종류는 15개일 수 있다.
가중치가 선택되는 기준은 비휘발성 메모리(120)에 제공되는 어드레스일 수 있다. 즉, 가중치 테이블(α)에서 어드레스에 의해 선택되는 선택 워드 라인을 포함하는 워드 라인 그룹에 매칭되는 가중치가 선택된다. 도 1 및 도 14a를 참조하여 예를 들면, 읽기 관리자(112)는 선택 워드 라인이 워드 라인 번호 0번(WL0)이면, 읽기 관리자(112)는 선택되는 가중치는 1.2, 1.3, 3.1, 3.9, 2, 1.6, 및/또는 1.4일 수 있다. 단계 S131는 읽기 관리자(112)에 의해 수행될 수 있다.
일 실시예에서, 가중치 테이블의 개수가 복수인 경우, 단계 S131에서 복수의 가중치 테이블들 중 열화 파라미터에 따라 가중치 테이블을 선택하는 단계가 수행된다. 이 단계에 대한 설명은 도 16을 참조하여 후술될 것이다.
단계 S132에서, 오프셋 테이블()에서 워드 라인에 따라 오프셋 레벨을 선택하는 단계가 수행된다. 오프셋 테이블(β)은 도 14b에 도시된 바와 같은 데이터 구조로 구성될 수 있다. 오프셋 테이블(β)에서, 복수의 영역들(R1~RN) 및 복수의 상태 읽기 전압들(RP1~RP7)이 정의될 수 있다. 오프셋 레벨(β)이 선택되는 기준은 비휘발성 메모리(120)에 제공되는 어드레스일 수 있다. 도 14b를 참조하여 예를 들면, 선택 워드 라인이 워드 라인 번호 12번(WL12)이면, 선택되는 오프셋 레벨은 -35, -20, -45, -45, -45, -45, -40일 수 있다. 단계 S132는 읽기 관리자(112)에 의해 수행될 수 있다.
일 실시예에서, 가중치 테이블의 개수가 복수인 경우, 단계 S132에서 복수의 오프셋 테이블들 중 열화 파라미터에 따라 오프셋 테이블을 선택하는 단계가 수행된다. 이 단계에 대한 설명은 도 16을 참조하여 후술될 것이다.
단계 S133에서, 선택된 가중치, 선택된 오프셋 레벨, 및 변위 레벨을 기초로, 열화 보상 레벨을 계산하는 단계가 수행된다.
일 실시예에서, 캐시 메모리(111)에 연산 함수를 나타내는 함수 데이터 및 변위 레벨의 값이 저장될 수 있다. 이 경우, 읽기 관리자(112)는 선택된 가중치, 선택된 오프셋 레벨, 및 변위 레벨을 미리 설정된 연산 함수에 대입하여, 연산 함수의 결과 값을 열화 보상 레벨로 계산할 수 있다. 구체적으로, 읽기 관리자(112)는 변위 레벨에 선택된 가중치를 적용하고, 적용된 값에 선택된 오프셋 레벨 및 변위 레벨을 연산하여 열화 보상 레벨을 계산할 수 있다. 연산 함수의 일 예는 [수학식 1]과 같다.
[수학식 1]
여기서, 은 열화 보상 레벨이고, Δ은 변위 레벨, 는 선택된 가중치, 는 선택된 오프셋 레벨일 수 있다. 도 14a 및 도 14b를 참조하여 구체적으로 예를 들면, 선택된 워드 라인의 번호가 0번이면(도 14a 및 도 14b에서 "R1" 참조), 제1 상태 읽기 전압(RP1)을 기준으로 선택된 가중치는 1.2이고 선택된 오프셋 레벨은 -30이다. 그리고, 변위 레벨(Δ)을 -100 [mV]로 가정하면, [수학식 1]을 통해 계산되는 열화 보상 레벨()은 -250 [mV]일 수 있다. 전술한 [수학식 1]은 본 개시의 일 예시일 뿐이고, 본 개시의 실시예가 [수학식 1]에 한정되는 것은 아니며, 변위 레벨, 가중치, 및/또는 오프셋이 2차 이상으로 이루어진 다항식이 본 개시의 실시예에 적용될 수 있다. 또는, 다항식 이외에 변위 레벨, 가중치, 및/또는 오프셋으로 이루어진 비선형 수학식도 본 개시의 실시예에 적용될 수 있다. [수학식 1]과 같은 상대적으로 간단한 수식에 의하면, 읽기 전압을 보상하기 위한 보상 레벨을 간단하게 계산함으로써, 실제 제품에 적용할 가능성(또는 양산 가능성)을 증대시키는 효과, 저장 장치(100)의 리소스를 감소시키는 효과, 읽기 성능의 저감 방지 효과, 및 상대적으로 적은 리소스에 따른 우수한 읽기 성능을 보장하는 효과가 있다. 한편, [수학식 1]과 같은 수식보다 상대적으로 정교한 수식에 의하면, 읽기 전압을 보상하기 위한 보상 레벨을 정확하게 계산함으로써, 읽기 성능을 증대시키는 효과가 있다.
다른 실시예에서, 메모리 컨트롤러(110)에 미리 학습된 머신 러닝 모델에 관한 데이터가 저장될 수 있다. 이 경우, 리드 관리자(112)는 선택된 가중치, 선택된 오프셋 레벨, 및 변위 레벨을 미리 학습된 머신 러닝 모델에 입력하여, 머신 러닝 모델로부터 출력된 값을 열화 보상 레벨로 계산할 수도 있다. 머신 러닝 모델은, 예를 들어, 딥 러닝(Deep learning), CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 등으로 구현될 수 있다.
단계 S134에서, 디폴트 읽기 전압 레벨과 열화 보상 레벨을 연산하여 히스토리 읽기 전압 레벨을 계산하는 단계가 수행된다. 예를 들면, 히스토리 읽기 전압 레벨()은 아래의 [수학식 2]와 같이 디폴트 읽기 전압 레벨()과 열화 보상 레벨()의 합과 동일할 수 있다.
[수학식 2]
단계 S135에서, 히스토리 읽기 전압 레벨을 기초로 저장된 데이터를 읽는 히스토리 읽기 동작을 수행하는 단계가 수행된다.
한편, 워드 라인의 전체 개수 및 상태 전압의 종류는 도 14a 및 도 14b에 도시된 바에 한정되는 것은 아니다.
전술한 실시예에 의하면, 읽기 전압을 보상하기 위한 보상 레벨을 간단한 1차 연산 함수를 이용해 계산함으로써, 실제 제품에 적용할 가능성(또는 양산 가능성)을 증대시키는 효과, 저장 장치(100)의 리소스를 감소시키는 효과, 및 상대적으로 적은 리소스에 따른 우수한 읽기 성능을 보장하는 효과가 있다.
또한, 전술한 실시예에 의하면, 읽기 전압을 보상하기 위한 보상 레벨을 상대적으로 정교한 연산 함수를 이용해 계산함으로써, 처리 속도 및 정확도를 향상시키는 효과 및 읽기 성능을 증대시키는 효과가 있다.
한편, 열화를 유발하는 열화 파라미터 중 하나로 P/E 싸이클은 메모리 블록마다 다르며, P/E 싸이클의 크기에 따라 열화 정도가 다르므로, 메모리 블록 별 열화 정도가 서로 다를 수 있다. 따라서, 메모리 블록 별 P/E 싸이클에 따라 적절한 가중치 테이블(α) 및 오프셋 테이블(β)을 선택적으로 적용할 필요가 있다.
도 15는 본 개시의 다른 실시예에 따른 가중치 테이블 및 오프셋 테이블을 설명하기 위한 도면이다.
도 1 및 도 15를 참조하면, P/E 횟수 테이블(P/E)은, 열화 파라미터 테이블의 일종으로, 메모리 블록들(BLK0~BLKm, m은 자연수) 각각에 대한 비휘발성 메모리(120)의 프로그램 및 소거 횟수(이하, P/E 횟수)를 포함하는 데이터 구조일 수 있다. P/E 횟수 테이블(P/E)은 메타 데이터로서 비휘발성 메모리(120)에 저장될 수 있다. 저장 장치(100)가 부팅되면, P/E 횟수 테이블(P/E)은 메모리 컨트롤러(110)에 로드될 수 있다. P/E 횟수 테이블(P/E)이 캐시 메모리(111)에 저장될 수 있다. P/E 횟수 테이블(P/E)의 크기를 절감하기 위해, P/E 횟수 테이블(P/E)은 P/E 횟수의 일정 범위를 나타내는 복수의 범위들(Range 1, Range 2)을 포함할 수 있다. 도 15에 도시된 복수의 범위들(Range 1, Range 2)은 2개일 수 있으나, 이에 한정되는 것은 아니며 3개 이상의 범위들이 P/E 횟수 테이블(P/E)에 포함될 수 있다. 예를 들면, 제1 범위(Range 1)는 0부터 3000까지이고, 제1 범위(Range 2)는 3000 이상일 수 있으나 이에 한정되는 것은 아니다. 예를 들면, 메모리 블록 0번(BLK0)의 P/E 횟수는 제1 범위(Range 1)에 포함되고, 메모리 블록 1번(BLK2)의 P/E 횟수는 제2 범위(Range 2)에 포함되며, 메모리 블록 m번(BLKm)의 P/E 횟수는 제1 범위(Range 1)에 포함될 수 있다. 각 메모리 블록의 P/E 횟수가 특정 범위에 포함되는 것이, P/E 횟수 테이블(P/E)에서 비트 값(예를 들면 "1" 또는 "1")으로 표시할 수 있다.
본 개시의 다른 실시예에 따른 가중치 테이블의 개수 및 오프셋 테이블의 개수는 각각 2 이상일 수 있다. 예를 들면, 제1 가중치 테이블(α1), 제2 가중치 테이블(α2), 제1 오프셋 테이블(β1), 제2 오프셋 테이블(β2)이 캐시 메모리(111)에 저장될 수 있다. 제1 가중치 테이블(α1) 및 제1 오프셋 테이블(β1)은, 예를 들어, 선택된 메모리 블록의 P/E 횟수가 제1 범위(Range 1)에 포함되는 경우에, 선택될 수 있다. 제2 가중치 테이블(α2) 및 제2 오프셋 테이블(β2)은, 예를 들어, 선택된 메모리 블록의 P/E 횟수가 제2 범위(Range 2)에 포함되는 경우에, 선택될 수 있다.
일 실시예에서, 제1 가중치 테이블(α1) 및 제1 오프셋 테이블(β1)이, 선택된 메모리 블록의 P/E 횟수가 제1 범위(Range 1)에 포함되는 경우에, 선택된 것으로 가정한다. 이 경우, 같은 워드 라인 그룹과 같은 읽기 전압을 기준으로, 제1 가중치 테이블(α1)의 가중치는 제2 가중치 테이블(α2)의 가중치보다 작을 수 있다. 그리고, 같은 워드 라인 그룹과 같은 읽기 전압을 기준으로, 제1 오프셋 테이블(β1)의 오프셋 레벨은 제2 오프셋 테이블(β2)의 오프셋 레벨보다 작을 수 있다. 예를 들면, 제1 영역(R1) 및 제1 읽기 전압(RP1)을 기준으로, 제1 가중치 테이블(α1)의 가중치(α11)는 제2 가중치 테이블(α2)의 가중치(α21)보다 작을 수 있다. 그리고, 제1 오프셋 테이블(β1)의 오프셋 레벨(β11)은 제2 오프셋 테이블(β21)의 오프셋 레벨보다 작을 수 있다.
도 15에 도시된 열화 파라미터는 P/E 횟수인 것으로 가정하였으나 이에 한정되는 것은 아니다. 다른 실시에에서, 열화 파라미터는, 최적 읽기 전압 세트를 기반으로 읽은 데이터의 에러 비트 수, 비휘발성 메모리의 온도, 및 비휘발성 메모리의 읽기 횟수 중 적어도 하나를 포함할 수 있다.
도 16은 본 개시의 일 실시예에 따라 가중치 테이블 및 오프셋 테이블을 선택하는 방법을 설명하기 위한 흐름도이다.
도 15 및 도 16을 참조하면, 단계 S1300에서, 선택 메모리 블록에 대응되는 열화 파라미터 값을 확인하는 단계가 수행된다. 그리고, 단계 S1310에서, 열화 파라미터 값이 제1 범위인지 여부를 확인하는 단계가 수행된다. 도 15를 참조하여 예를 들면, 선택 메모리 블록의 번호가 0번인 경우(예를 들어, BLK0), 읽기 관리자(112)는 P/E 횟수 테이블(P/E)에서 메모리 블록 번호 0번의 P/E 횟수가 제1 범위(Range 1)에 포함되는 것을 확인할 수 있다.
열화 파라미터 값이 제1 범위에 포함되면(S1310, 예), 단계 S1320에서, 제1 가중치 테이블을 선택하는 단계가 수행된다. 그리고, 단계 S1330에서, 제1 오프셋 테이블을 선택하는 단계가 수행된다.
열화 파라미터 값이 제1 범위에 포함되지 않으면, 예를 들면 열화 파라미터의 값이 제1 범위의 최댓값보다 큰 최솟값을 포함하는 제2 범위에 포함되는 경우(S1310, 아니오), 단계 S1340에서, 제2 가중치 테이블을 선택하는 단계가 수행된다. 그리고, 단계 S1350에서, 제2 오프셋 테이블을 선택하는 단계가 수행된다.
단계 S1300 내지 단계 S1350는 읽기 관리자(112)에 의해 수행될 수 있다. 구체적으로, 읽기 관리자(112)는 열화 파라미터 테이블에서 복수의 메모리 블록들 중 데이터가 저장된 물리 페이지에 대응되는 선택 워드 라인을 포함하는 선택 메모리 블록의 열화 파라미터를 검출할 수 있다(S1300 참조). 읽기 관리자(112)는 복수의 가중치 테이블들 중 선택 메모리 블록의 열화 파라미터에 따라 가중치 테이블을 선택할 수 있다(S1310 및 S131 참조). 읽기 관리자(112)는, 선택 메모리 블록의 열화 파라미터의 값이 제1 범위에 포함되는 경우(S1310, 예), 제1 가중치 테이블 및 제1 오프셋 테이블을 선택할 수 있다(S1310, S1320, S1330 참조). 읽기 관리자(112)는 복수의 오프셋 테이블들 중 선택 메모리 블록의 열화 파라미터에 따라 오프셋 테이블을 선택할 수 있다(S1310 및 S132 참조). 읽기 관리자는, 선택 메모리 블록의 열화 파라미터의 값이 제2 범위에 포함되는 경우, 제2 가중치 테이블 및 제2 오프셋 테이블을 선택할 수 있다(S1310, S1340, 및 S1350 참조).
전술한 바에 의하면, 열화 파라미터에 따라 열화 정도가 서로 다른 메모리 블록에 대하여 적절한 가중치 테이블 및 오프셋 테이블을 선택함으로써 저장 장치(100)의 성능 및 신뢰성을 개선하는 효과가 있다.
도시되지 않았지만, 일 실시예에서, 변위 레벨은 메모리 블록마다 설정될 수 있으며, 메모리 블록당 계산된 변위 레벨들이 캐시 메모리(111)에 저장될 수 있다.
도 17은 도 12에 도시된 제3 읽기 동작을 설명하기 위한 흐름도이다.
도 17을 참조하면, 단계 S1510에서, 방어 코드를 실행하여 새로운 최적 읽기 전압을 검색하는 단계가 수행된다. 최적 읽기 전압을 검색하는 방법은, 예를 들면, 도 7을 참조하여 전술한 밸리 서치일 수 있다.
단계 S1520에서, 디폴트 읽기 전압에서 검색된 최적 읽기 전압 레벨로 쉬프트된 값을 계산하는 단계가 수행된다. 도 7을 참조하여 예를 들면, 디폴트 읽기 전압은 제7 읽기 전압(Vr7)이고, 검색된 최적 읽기 전압 레벨은 밸리에 해당하는 레벨을 갖는 읽기 전압(Vr7')일 수 있다. 제7 읽기 전압(Vr7)에서 읽기 전압(Vr7')으로 쉬프트된 값은 변위 레벨에 대응될 수 있다.
단계 S1530에서, 계산된 변위 레벨을 저장하는 단계가 수행된다. 다른 실시예에서 계산된 변위 레벨은 캐시 메모리(111)에 저장될 수 있다. 단계 S1530는 계산된 변위 레벨을 업데이트하는 단계일 수 있다. 즉, 계산된 변위 레벨이 캐시 메모리(111)에 저장됨으로써 캐시 메모리(111)에 저장된 변위 레벨의 값이 업데이트될 수 있다. 구체적으로 예를 들면, 읽기 관리자(112)는, 방어 코드에 의해 계산된 변위 레벨을 캐시 메모리(111)에 업데이트할 수 있다.
단계 S1540에서, 검색된 최적 읽기 전압 레벨(또는 새로운 최적 읽기 전압 세트)을 기초로 저장된 데이터를 읽는 읽기 동작을 수행하는 단계가 수행된다.
도 18은 리텐션 열화에 따라 변화되는 리드 패스 구간을 포함하는 리드 윈도우를 설명하기 위한 도면이다.
도 18을 참조하면, 하단 워드 라인(WL_Bot)은 상단 워드 라인(WL_Top) 및 중단 워드 라인(WL_Mid)보다 상대적으로 기판(SUB)에 가까이 위치할 수 있다. 상단 워드 라인(WL_Top)은 하단 워드 라인(WL_Bot) 및 중단 워드 라인(WL_Mid)보다 상대적으로 기판(SUB)으로부터 멀리 위치할 수 있다. 중단 워드 라인(WL_Mid)은 하단 워드 라인(WL_Bot)의 위치와 상단 워드 라인(WL_Top)의 위치 사이에 위치할 수 있다.
리드 윈도우(Read window)에서 하단 워드 라인(WL_Bot), 중단 워드 라인(WL_Mid), 및 상단 워드 라인(WL_Top) 각각의 읽기 패스 영역은 서로 다를 수 있다. 여기서, 읽기 패스 영역은 읽기 패스 가능한 읽기 전압의 범위일 수 있다. 리드 윈도우(Read window)에서 읽기 패스 영역을 제외한 나머지 영역은 읽기 실패 영역일 수 있다.
읽기 전압(RPVLT_1), 읽기 전압(RPVLM_1), 및 읽기 전압(RPVLL_1)은 t1에서 형성된 읽기 패스 영역(Read pass region at t1)에 포함될 수 있다.
전술한 실시예에 의하면, 리텐션 시간이 경과함에 따라 읽기 패스 영역이 전체적으로 이동(shift)될 수 있다. 이때, 워드 라인 별로 열화 보상 레벨이 다르게 계산되므로, 읽기 패스 영역에 포함되는 읽기 전압의 쉬프트량이 달라질 수 있다. 예를 들면, 읽기 전압(RPVLT_1)에서 읽기 전압(RPVLT_2)으로 쉬프트되는 제1 쉬프트량이 가장 적고, 읽기 전압(RPVLM_1)에서 읽기 전압(RPVLM_2)으로 쉬프트되는 제2 쉬프트량이 제1 쉬프트량보다 크며, 읽기 전압(RPVLL_1)에서 읽기 전압(RPVLL_2)으로 쉬프트되는 제3 쉬프트량이 제2 쉬프트량보다 클 수 있다. 이에 따르면, 읽기 전압(RPVLT_2), 읽기 전압(RPVLM_2), 및 읽기 전압(RPVLL_2)은, t2에서 형성된 읽기 패스 영역(Read pass region at t2)에 포함될 수 있으므로, 리텐션 시간이 경과하더라도 임의의 워드 라인에서의 읽기 패스 확률이 증가할 수 있다.
도 19a 및 도 19b는 메모리 블록 별로 저장된 변위 레벨에 따른 열화 보상 레벨을 개략적으로 나타낸 그래프이다. 구체적으로, 도 19a는 하단 워드 라인(WL_Bot)에 제공되는 특정 상태 읽기 전압(예를 들면, 도 9에 도시된 상태 읽기 전압(RP7))에 대한 열화 보상 레벨을 나타낸 그래프이고, 도 19a는 상단 워드 라인(WL_Top)에 제공되는 특정 상태 읽기 전압(예를 들면, 도 9에 도시된 상태 읽기 전압(RP7))에 대한 열화 보상 레벨을 나타낸 그래프이다.
변위 레벨(Δ)은 메모리 셀의 열화 정도를 나타낼 수 있다. 변위 레벨(Δ)은 메모리 블록(BLK)마다 서로 다르게 발생할 수 있는데, 본 예시적 실시예들에 따른 저장 장치(100)는 방어 코드를 통해 메모리 블록(BLK) 별 대표적 변위 레벨(Δ)을 저장할 수 있다. 일부 실시예에서, 변위 레벨(Δ)은 하나의 메모리 블록(BLK)에서의 LSB(Least Significant Bit) 페이지, CSB(Central Significant Bit) 페이지, MSB(Most Significant Bit) 페이지마다 1개씩 저장될 수 있다. 본 예시적 실시예들에 따른 읽기 동작에서는 변위 레벨(Δ)이 방어 코드를 통해 계산 및 업데이트됨으로 인해, 워드 라인 별 열화 보상 레벨이 역추출(또는 역추적)될 수 있다. 이러한 워드 라인 별 열화 보상 레벨은 워드 라인 별 스큐량의 특징을 대변하는 수식을 통해 역추출될 수 있다.
도 19a를 참조하면, 본 예시적 실시예들의 경우, 메모리 블록(BLK) 별로 저장된 변위 레벨(Δ)이 증가할수록, 하단 워드 라인(WL_Bot)에 대한 열화 보상 레벨()도 전술한 수식 등에 의해 증가할 수 있다. 한편, 비교예에 따른 열화 보상 레벨은 사전 평가를 통해 일률적으로 결정되어 있기 때문에, 비교예에 따른 열화 보상 레벨은 메모리 블록(BLK) 별로 저장된 변위 레벨(Δ)과 무관하게 일정하다.
도 19b를 참조하면, 하단 워드 라인(WL_Bot)에 대한 열화 보상 레벨()도 메모리 블록(BLK) 별로 저장된 변위 레벨(Δ)에 따라 변경될 수 있다. 다만, 채널홀의 크기 차이로 인해, 상단 워드 라인(WL_Top)의 열화가 하단 워드 라인(WL_Bot)의 열화보다 상대적으로 작으므로, 상단 워드 라인(WL_Top)에 대한 열화 보상 레벨()은 전반적으로 하단 워드 라인(WL_Bot)에 대한 열화 보상 레벨()보다 낮은 경향이 있다. 한편, 비교예는 메모리 블록(BLK) 별로 저장된 변위 레벨(Δ)과 무관하게 일정하다.
도 20은 본 개시의 일 실시예에 따른 메모리 시스템을 보여주는 블록도이다.
도 20을 참조하면, 메모리 시스템(15)은 메모리 컨트롤러(16) 및 메모리 장치(17)를 포함할 수 있다. 메모리 시스템(15)은 복수의 채널들(CH1~CHm)을 지원할 수 있고, 메모리 컨트롤러(16)와 메모리 장치(17)는 복수의 채널들(CH1~CHm)을 통해 연결될 수 있다. 예를 들어, 메모리 시스템(15)은 SSD(Solid State Drive)와 같은 저장 장치로 구현될 수 있다. 메모리 시스템(15)은 방어 코드를 실행하도록 구현될 수 있다.
메모리 컨트롤러(16)는 복수의 채널들(CH1~CHm)을 통해 메모리 장치(17)와 신호들을 송수신할 수 있다. 예를 들어, 메모리 컨트롤러(16)는 채널들(CH1~CHm)을 통해 메모리 장치(17)로 커맨드들(CMDa~CMDm), 어드레스들(ADDRa~ADDRm), 및 데이터(DATAa~DATAm)를 메모리 장치(17)로 전송하거나, 메모리 장치(17)로부터 데이터(DATAa~DATAm)를 수신할 수 있다.
메모리 컨트롤러(16)는 각각의 채널을 통해 해당 채널에 연결된 비휘발성 메모리 장치들(NVM11~NVMmn) 중 하나를 선택하고, 선택된 비휘발성 메모리 장치와 신호들을 송수신할 수 있다. 예를 들어, 메모리 컨트롤러(16)는 제1 채널(CH1)에 연결된 비휘발성 메모리 장치들(NVM11~NVM1n) 중 비휘발성 메모리 장치(NVM11)를 선택할 수 있다. 메모리 컨트롤러(16)는 선택된 비휘발성 메모리 장치(NVM11)로 제1 채널(CH1)을 통해 커맨드(CMDa), 어드레스(ADDRa), 및 데이터(DATAa)를 전송하거나, 선택된 비휘발성 메모리 장치(NVM11)로부터 데이터(DATAa)를 수신할 수 있다.
메모리 컨트롤러(16)는 서로 다른 채널들을 통해 메모리 장치(17)와 신호들을 병렬적으로 송수신할 수 있다. 예를 들어, 메모리 컨트롤러(16)는 제1 채널(CH1)을 통해 메모리 장치(17)로 커맨드(CMDa)를 전송하는 동안 제2 채널(CH2)을 통해 메모리 장치(17)로 커맨드(CMDb)를 전송할 수 있다. 예를 들어, 메모리 컨트롤러(16)는 제1 채널(CH1)을 통해 메모리 장치(17)로부터 데이터(DATAa)를 수신하는 동안 제2 채널(CH2)을 통해 메모리 장치(100b)로부터 데이터(DATAb)를 수신할 수 있다.
메모리 컨트롤러(16)는 메모리 장치(17)의 전반적인 동작을 제어할 수 있다. 메모리 컨트롤러(16)는 채널들(CH1~CHm)로 신호를 전송하여 채널들(CH1~CHm)에 연결된 비휘발성 메모리 장치들(NVM11~NVMmn) 각각을 제어할 수 있다. 예를 들어, 메모리 컨트롤러(16)는 제1 채널(CH1)로 커맨드(CMDa) 및 어드레스(ADDRa)를 전송하여 비휘발성 메모리 장치들(NVM11~NVM1n) 중 선택된 하나를 제어할 수 있다.
메모리 장치(17)는 복수의 비휘발성 메모리 장치들(NVM11~NVMmn)을 포함할 수 있다. 비휘발성 메모리 장치들(NVM11~NVMmn) 각각은 대응하는 웨이(way)를 통해 복수의 채널들(CH1~CHm) 중 하나에 연결될 수 있다. 예를 들어, 비휘발성 메모리 장치들(NVM11~NVM1n)은 웨이들(W11~W1n)을 통해 제1 채널(CH1)에 연결되고, 비휘발성 메모리 장치들(NVM21~NVM2n)은 웨이들(W21~W2n)을 통해 제2 채널(CH2)에 연결될 수 있다. 예시적인 실시예에서, 비휘발성 메모리 장치들(NVM11~NVMmn) 각각은 메모리 컨트롤러(16)로부터의 개별적인 명령에 따라 동작할 수 있는 임의의 메모리 단위로 구현될 수 있다. 예를 들어, 비휘발성 메모리 장치들(NVM11~NVMmn) 각각은 칩(chip) 혹은 다이(die)로 구현될 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
비휘발성 메모리 장치들(NVM11~NVMmn) 각각은 메모리 컨트롤러(16)의 제어에 따라 동작할 수 있다. 예를들어, 비휘발성 메모리 장치(NVM11)는 제1 채널(CH1)로 제공되는 커맨드(CMDa), 어드레스(ADDRa), 및 데이터(DATAa)에 따라 데이터(DATAa)를 프로그램 할 수 있다. 예를 들어, 비휘발성 메모리 장치(NVM21)는 제2 채널(CH2)로 제공되는 커맨드(CMDb) 및 어드레스(ADDRb)에 따라 데이터(DATAb)를 읽고, 읽힌 데이터(DATAb)를 메모리 제어기(200b)로 전송할 수 있다.
도 20에서는 메모리 장치(17)가 m개의 채널을 통해 메모리 컨트롤러(16)와 통신하고, 메모리 장치(17)가 각각의 채널에 대응하여 n개의 비휘발성 메모리 장치를 포함하는 것으로 도시되나, 채널들의 개수와 하나의 채널에 연결된 비휘발성 메모리 장치의 개수는 다양하게 변경될 수 있다.
한편, 본 발명의 실시예에 따른 비휘발성 메모리 장치는 C2C(chip to chip) 구조로 구현될 수 있다. C2C 구조를 갖는 비휘발성 메모리 장치에 대한 설명은 도 23을 참조하여 후술될 것이다.
도 21은 본 개시의 일 실시예에 따른 저장 장치가 적용된 시스템을 예시하는 블록도이다.
도 21을 참조하면, 시스템(1000)은 기본적으로 휴대용 통신 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기 또는 IoT(internet of things) 기기와 같은 모바일(mobile) 시스템일 수 있다. 하지만 도 21의 시스템(1000)은 반드시 모바일 시스템에 한정되는 것은 아니고, 개인용 컴퓨터(personal computer), 랩탑(laptop) 컴퓨터, 서버(server), 미디어 재생기(media player) 또는 내비게이션(navigation)과 같은 차량용 장비(automotive device) 등이 될 수도 있다.
시스템(1000)은 메인 프로세서(main processor)(1100), 메모리(1200a, 1200b) 및 스토리지 장치(1300a, 1300b)를 포함할 수 있으며, 추가로 촬영 장치(image capturing device)(1410), 사용자 입력 장치(user input device)(1420), 센서(1430), 통신 장치(1440), 디스플레이(1450), 스피커(1460), 전력 공급 장치(power supplying device)(1470) 및 연결 인터페이스(connecting interface)(1480) 중 하나 이상을 포함할 수 있다.
메인 프로세서(1100)는 시스템(1000)의 전반적인 동작, 보다 구체적으로는 시스템(1000)을 이루는 다른 구성 요소들의 동작을 제어할 수 있다. 이와 같은 메인 프로세서(1100)는 범용 프로세서, 전용 프로세서 또는 애플리케이션 프로세서(application processor) 등으로 구현될 수 있다.
메인 프로세서(1100)는 하나 이상의 CPU 코어(1110)를 포함할 수 있으며, 메모리(1200a, 1200b) 및/또는 스토리지 장치(1300a, 1300b)를 제어하기 위한 컨트롤러(1120)를 더 포함할 수 있다. 실시예에 따라서는, 메인 프로세서(1100)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기(accelerator)(1130)를 더 포함할 수 있다. 이와 같은 가속기(1130)는 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 및/또는 DPU(Data Processing Unit) 등을 포함할 수 있으며, 메인 프로세서(1100)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다.
메모리(1200a, 1200b)는 시스템(1000)의 주기억 장치로 사용될 수 있으며, SRAM 및/또는 DRAM 등의 휘발성 메모리를 포함할 수 있으나, 플래시 메모리, PRAM 및/또는 RRAM 등의 비휘발성 메모리를 포함할 수도 있다. 메모리(1200a, 1200b)는 메인 프로세서(1100)와 동일한 패키지 내에 구현되는 것도 가능하다.
스토리지 장치(1300a, 1300b)는 전원 공급 여부와 관계 없이 데이터를 저장하는 비휘발성 저장 장치로서 기능할 수 있으며, 메모리(1200a, 1200b)에 비해 상대적으로 큰 저장 용량을 가질 수 있다. 스토리지 장치(1300a, 1300b)는 스토리지 컨트롤러(1310a, 1310b)와, 스토리지 컨트롤러(1310a, 1310b)의 제어 하에 데이터를 저장하는 비휘발성 메모리(non-volatile memory, NVM)(1320a, 1320b)를 포함할 수 있다. 비휘발성 메모리(1320a, 1320b)는 2D(2-dimensional) 구조 혹은 3D(3-dimensional) V-NAND(Vertical NAND) 구조의 플래시 메모리를 포함할 수 있으나, PRAM 및/또는 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다.
스토리지 장치(1300a, 1300b)는 메인 프로세서(1100)와는 물리적으로 분리된 상태로 시스템(1000)에 포함될 수도 있고, 메인 프로세서(1100)와 동일한 패키지 내에 구현될 수도 있다. 또한, 스토리지 장치(1300a, 1300b)는 SSD(solid state device) 혹은 메모리 카드(memory card)와 같은 형태를 가짐으로써, 후술할 연결 인터페이스(1480)와 같은 인터페이스를 통해 시스템(1000)의 다른 구성 요소들과 탈부착 가능하도록 결합될 수도 있다. 이와 같은 스토리지 장치(1300a, 1300b)는 UFS(Universal Flash Storage), eMMC(embedded multi-media card) 혹은 NVMe(non-volatile memory express)와 같은 표준 규약이 적용되는 장치일 수 있으나, 반드시 이에 한정되는 건 아니다.
촬영 장치(1410)는 정지 영상 또는 동영상을 촬영할 수 있으며, 카메라(camera), 캠코더(camcorder) 및/또는 웹캠(webcam) 등일 수 있다. 사용자 입력 장치(1420)는 시스템(1000)의 사용자로부터 입력된 다양한 유형의 데이터를 수신할 수 있으며, 터치 패드(touch pad), 키패드(keypad), 키보드(keyboard), 마우스(mouse) 및/또는 마이크(microphone) 등일 수 있다. 센서(1430)는 시스템(1000)의 외부로부터 획득될 수 있는 다양한 유형의 물리량을 감지하고, 감지된 물리량을 전기 신호로 변환할 수 있다. 이와 같은 센서(1430)는 온도 센서, 압력 센서, 조도 센서, 위치 센서, 가속도 센서, 바이오 센서(biosensor) 및/또는 자이로스코프(gyroscope) 센서 등일 수 있다. 통신 장치(1440)는 다양한 통신 규약에 따라 시스템(1000) 외부의 다른 장치들과의 사이에서 신호의 송신 및 수신을 수행할 수 있다. 이와 같은 통신 장치(1440)는 안테나, 트랜시버(transceiver) 및/또는 모뎀(MODEM) 등을 포함하여 구현될 수 있다.
디스플레이(1450) 및 스피커(1460)는 시스템(1000)의 사용자에게 각각 시각적 정보와 청각적 정보를 출력하는 출력 장치로 기능할 수 있다. 전력 공급 장치(1470)는 시스템(1000)에 내장된 배터리(도시 안함) 및/또는 외부 전원으로부터 공급되는 전력을 적절히 변환하여 시스템(1000)의 각 구성 요소들에게 공급할 수 있다. 연결 인터페이스(1480)는 시스템(1000)과, 시스템(1000)에 연결되어 시스템(1000과 데이터를 주고받을 수 있는 외부 장치 사이의 연결을 제공할 수 있다. 연결 인터페이스(1480)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe, IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC, UFS, eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다.
도 22는 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 22를 참조하면, 호스트-스토리지 시스템(2000)은 호스트(2100) 및 스토리지 장치(2200)를 포함할 수 있다. 또한, 스토리지 장치(2200)는 스토리지 컨트롤러(2210) 및 비휘발성 메모리(NVM)(2220)를 포함할 수 있다. 또한, 본 발명의 예시적인 실시예에 따라, 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 메모리(2120)를 포함할 수 있다. 호스트 메모리(2120)는 스토리지 장치(2200)로 전송될 데이터, 혹은 스토리지 장치(2200)로부터 전송된 데이터를 임시로 저장하기 위한 버퍼 메모리로서 기능할 수 있다.
스토리지 장치(2200)는 호스트(2100)로부터의 요청에 따라 데이터를 저장하기 위한 저장 매체들을 포함할 수 있다. 일 예로서, 스토리지 장치(2200)는 SSD(Solid State Drive), 임베디드(embedded) 메모리 및 탈착 가능한 외장(external) 메모리 중 적어도 하나를 포함할 수 있다. 스토리지 장치(2200)가 SSD인 경우, 스토리지 장치(2200)는 NVMe(non-volatile memory express) 표준을 따르는 장치일 수 있다. 스토리지 장치(2200)가 임베디드 메모리 혹은 외장(external) 메모리인 경우, 스토리지 장치(2200)는 UFS(universal flash storage) 혹은 eMMC(embedded multi-media card) 표준을 따르는 장치일 수 있다. 호스트(2100)와 스토리지 장치(2200)는 각각 채용된 표준 프로토콜에 따른 패킷을 생성하고 이를 전송할 수 있다.
스토리지 장치(2200)의 비휘발성 메모리(2220)가 플래시 메모리를 포함할 때, 플래시 메모리는 2D NAND 메모리 어레이나 3D(또는 수직형, Vertical) NAND(VNAND) 메모리 어레이를 포함할 수 있다. 다른 예로서, 스토리지 장치(2200)는 다른 다양한 종류의 비휘발성 메모리들을 포함할 수도 있다. 예를 들어, 스토리지 장치(2200)는 MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torgue MRAM), Conductive bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase RAM), 저항 메모리(Resistive RAM) 및 다른 다양한 종류의 메모리가 적용될 수 있다.
일 실시예에 따라, 호스트 컨트롤러(2110)와 호스트 메모리(2120)는 별도의 반도체 칩으로 구현될 수 있다. 또는, 일부 실시예들에서, 호스트 컨트롤러(2110)와 호스트 메모리(2120)는 동일한 반도체 칩에 집적될 수 있다. 일 예로서, 호스트 컨트롤러(2110)는 애플리케이션 프로세서(Application Processor)에 구비되는 다수의 모듈들 중 어느 하나일 수 있으며, 애플리케이션 프로세서는 시스템 온 칩(System on Chip, SoC)으로 구현될 수 있다. 또한, 호스트 메모리(2120)는 애플리케이션 프로세서 내에 구비되는 임베디드 메모리이거나, 또는 애플리케이션 프로세서의 외부에 배치되는 비휘발성 메모리 또는 메모리 모듈일 수 있다.
호스트 컨트롤러(2110)는 호스트 메모리(2120)의 버퍼 영역의 데이터(예컨대, 라이트(Write) 데이터)를 비휘발성 메모리(2220)에 저장하거나, 비휘발성 메모리(2220)의 데이터(예컨대, 리드(Read) 데이터)를 버퍼 영역에 저장하는 동작을 관리할 수 있다.
스토리지 컨트롤러(2210)는 호스트 인터페이스(2211), 메모리 인터페이스(2212) 및 CPU(central processing unit)(2213)를 포함할 수 있다. 또한, 스토리지 컨트롤러(2210)는 플래시 변환 레이어(Flash Translation Layer; FTL)(2214), 패킷 매니저(2215), 버퍼 메모리(2216), ECC(error correction code)(2217) 엔진 및 AES(advanced encryption standard) 엔진(2218)을 더 포함할 수 있다. 스토리지 컨트롤러(2210)는 플래시 변환 레이어(FTL)(2214)가 로딩되는 워킹 메모리(미도시)를 더 포함할 수 있으며, CPU(2213)가 플래시 변환 레이어를 실행하는 것에 의해 비휘발성 메모리(2220)에 대한 쓰기 동작 및 읽기 동작이 제어될 수 있다.
호스트 인터페이스(2211)는 호스트(2100)와 패킷(packet)을 송수신할 수 있다. 호스트(2100)로부터 호스트 인터페이스(2211)로 전송되는 패킷은 커맨드(command) 혹은 비휘발성 메모리(2220)에 저장될 데이터 등을 포함할 수 있으며, 호스트 인터페이스(2211)로부터 호스트(2100)로 전송되는 패킷은 커맨드에 대한 응답(response) 혹은 비휘발성 메모리(2220)로부터 리드된 데이터 등을 포함할 수 있다. 메모리 인터페이스(2212)는 비휘발성 메모리(2220)에 저장될 데이터를 비휘발성 메모리(2220)로 송신하거나, 비휘발성 메모리(2220)로부터 리드된 데이터를 수신할 수 있다. 이러한 메모리 인터페이스(2212)는 토글(Toggle) 혹은 온파이(Open NAND Flash Interface; ONFI)와 같은 표준 규약을 준수하도록 구현될 수 있다.
플래시 변환 계층(2214)은 어드레스 매핑(address mapping), 웨어-레벨링(wear-leveling), 가비지 콜렉션(garbage collection)과 같은 여러 기능을 수행할 수 있다. 어드레스 매핑 동작은 호스트(2100)로부터 수신한 논리 어드레스(logical address)를, 비휘발성 메모리(2220) 내에 데이터를 실제로 저장하는 데 사용되는 물리 어드레스(physical address)로 바꾸는 동작이다. 웨어-레벨링은 비휘발성 메모리(2220) 내의 블록(block)들이 균일하게 사용되도록 하여 특정 블록의 과도한 열화를 방지하기 위한 기술로, 예시적으로 물리 블록(physical block)들의 소거 카운트들을 밸런싱하는 펌웨어 기술을 통해 구현될 수 있다. 가비지 콜렉션은, 블록의 유효 데이터를 새 블록에 복사한 후 기존 블록을 소거(erase)하는 방식을 통해 비휘발성 메모리(2220) 내에서 사용 가능한 용량을 확보하기 위한 기술이다.
패킷 매니저(2215)는 호스트(2100)와 협의된 인터페이스의 프로토콜에 따른 패킷(Packet)을 생성하거나, 호스트(2100)로부터 수신된 패킷(Packet)으로부터 각종 정보를 파싱할 수 있다. 또한, 버퍼 메모리(2216)는 비휘발성 메모리(2220)에 저장될 데이터 혹은 비휘발성 메모리(2220)로부터 리드될 데이터를 임시로 저장할 수 있다. 버퍼 메모리(2216)는 스토리지 컨트롤러(2210) 내에 구비되는 구성일 수 있으나, 스토리지 컨트롤러(2210)의 외부에 배치되어도 무방하다.
ECC 엔진(2217)은 비휘발성 메모리(2220)로부터 리드되는 리드 데이터에 대한 오류 검출 및 정정 기능을 수행할 수 있다. 보다 구체적으로, ECC 엔진(2217)은 비휘발성 메모리(2220)에 저장될 라이트 데이터에 대하여 패리티 비트(parity bit)들을 생성할 수 있으며, 이와 같이 생성된 패리티 비트들은 라이트 데이터와 함께 비휘발성 메모리(2220) 내에 저장될 수 있다. 비휘발성 메모리(2220)로부터의 데이터 리드 시, ECC 엔진(2217)은 리드 데이터와 함께 비휘발성 메모리(2220)로부터 리드되는 패리티 비트들을 이용하여 리드 데이터의 에러를 정정하고, 에러가 정정된 리드 데이터를 출력할 수 있다.
AES 엔진(2218)은, 스토리지 컨트롤러(2210)로 입력되는 데이터에 대한 암호화(encryption) 동작과 복호화(decryption) 동작 중 적어도 하나를, 대칭 키 알고리즘(symmetric-key algorithm)를 이용하여 수행할 수 있다.
도 23은 본 개시의 일 실시예에 따른 메모리 장치를 설명하기 위한 도면이다.
도 23을 참조하면, 메모리 장치(500)는 C2C(chip to chip) 구조일 수 있다. 여기서, C2C 구조는 셀 영역(CELL)을 포함하는 적어도 하나의 상부 칩과 주변 회로 영역(PERI)을 포함하는 하부 칩을 각각 제작한 후, 적어도 하나의 상부 칩과 하부 칩을 본딩(bonding) 방식에 의해 서로 연결하는 것을 의미할 수 있다. 일 예로, 본딩 방식은 상부 칩의 최상부 메탈층에 형성된 본딩 메탈 패턴과 하부 칩의 최상부 메탈층에 형성된 본딩 메탈 패턴을 서로 전기적으로 또는 물리적으로 연결하는 방식을 의미할 수 있다. 예를 들어, 본딩 메탈 패턴들이 구리(Cu)로 형성된 경우, 본딩 방식은 Cu-Cu 본딩 방식일 수 있다. 다른 예로, 본딩 메탈 패턴들은 알루미늄(Al) 혹은 텅스텐(W)으로도 형성될 수 있다.
메모리 장치(500)는 셀 영역을 포함하는 상부 칩을 적어도 하나 이상 포함할 수 있다. 예를 들어, 메모리 장치(500)는 두 개의 상부 칩들을 포함하도록 구현될 수 있다. 다만, 이는 예시적인 것이며, 상부 칩의 개수는 이에 제한되지 않는다. 메모리 장치(500)가 두 개의 상부 칩들을 포함하도록 구현되는 경우, 제1 셀 영역(CELL1)을 포함하는 제1 상부 칩, 제2 셀 영역(CELL2)을 포함하는 제2 상부 칩 및 주변 회로 영역(PERI)을 포함하는 하부 칩을 각각 제조한 후에, 제1 상부 칩, 제2 상부 칩 및 하부 칩을 본딩 방식에 의해 서로 연결함으로써 메모리 장치(500)가 제조될 수 있다. 제1 상부 칩은 반전(反轉)하여 하부 칩에 본딩 방식으로 연결될 수 있고, 제2 상부 칩도 반전하여 제1 상부 칩에 본딩 방식으로 연결될 수 있다. 이하의 설명에서는, 제1 상부 칩 및 제2 상부 칩이 반전되기 전을 기준으로 제1 및 제2 상부 칩들의 상부와 하부가 정의된다. 즉, 도 23에서 하부 칩의 상부는 +Z축 방향을 기준으로 정의된 상부를 의미하고, 제1 및 제2 상부 칩들 각각의 상부는 -Z축 방향을 기준으로 정의된 상부를 의미한다. 다만 이는 예시적인 것이며, 제1 상부 칩 및 제2 상부 칩 중 어느 하나만이 반전되어 본딩 방식으로 연결될 수도 있다.
메모리 장치(500)의 주변 회로 영역(PERI)과 제1 및 제2 셀 영역(CELL1, CELL2) 각각은 외부 패드 본딩 영역(PA), 워드라인 본딩 영역(WLBA), 및 비트라인 본딩 영역(BLBA)을 포함할 수 있다.
주변 회로 영역(PERI)은 제1 기판(210) 및 제1 기판(210)에 형성되는 복수의 회로 소자들(220a, 220b, 220c)을 포함할 수 있다. 복수의 회로 소자들(220a, 220b, 220c) 상에는 하나 또는 그 이상의 절연층들을 포함하는 층간 절연층(215)이 제공될 수 있으며, 층간 절연층(215) 내에는 복수의 회로 소자들(220a, 220b, 220c)을 연결하는 복수의 메탈 배선들이 제공될 수 있다. 예를 들어, 복수의 메탈 배선들은 복수의 회로 소자들(220a, 220b, 220c) 각각과 연결되는 제1 메탈 배선(230a, 230b, 230c), 제1 메탈 배선(230a, 230b, 230c) 상에 형성되는 제2 메탈 배선(240a, 240b, 240c)을 포함할 수 있다. 복수의 메탈 배선들은 다양한 도전성 재료들 중 적어도 하나로 이루어질 수 있다. 예를 들어, 제1 메탈 배선(230a, 230b, 230c)은 상대적으로 전기적 비저항이 높은 텅스텐으로 형성될 수 있고, 제2 메탈 배선(240a, 240b, 240c)은 상대적으로 전기적 비저항이 낮은 구리로 형성될 수 있다.
본 명세서에서는 제1 메탈 배선(230a, 230b, 230c)과 제2 메탈 배선(240a, 240b, 240c)만 도시 되고 설명되나, 이에 한정되는 것은 아니고, 제2 메탈 배선(240a, 240b, 240c) 상에 적어도 하나 이상의 추가 메탈 배선이 더 형성될 수도 있다. 이 경우, 제2 메탈 배선(240a, 240b, 240c)은 알루미늄으로 형성될 수 있다. 그리고, 제2 메탈 배선(240a, 240b, 240c) 상에 형성된 추가 메탈 배선 중 적어도 일부는, 제2 메탈 배선(240a, 240b, 240c)의 알루미늄보다 더 낮은 전기적 비저항을 갖는 구리 등으로 형성될 수 있다.
층간 절연층(215)은 제1 기판(210) 상에 배치되며, 실리콘 산화물, 실리콘 질화물 등과 같은 절연 물질을 포함할 수 있다.
제1 및 제2 셀 영역(CELL1, CELL2)은 각각 적어도 하나의 메모리 블록을 포함할 수 있다. 제1 셀 영역(CELL1)은 제2 기판(310)과 공통 소스 라인(320)을 포함할 수 있다. 제2 기판(310) 상에는, 제2 기판(310)의 상면에 수직하는 방향(Z축 방향)을 따라 복수의 워드라인들(331-338; 330)이 적층될 수 있다. 워드라인들(330)의 상부 및 하부에는 스트링 선택 라인들과 접지 선택 라인이 배치될 수 있으며, 스트링 선택 라인들과 접지 선택 라인 사이에 복수의 워드라인들(330)이 배치될 수 있다. 마찬가지로, 제2 셀 영역(CELL2)은 제3 기판(410)과 공통 소스 라인(420)을 포함하며, 제3 기판(410)의 상면에 수직하는 방향(Z축 방향)을 따라 복수의 워드라인들(431-438: 430)이 적층될 수 있다. 제2 기판(310) 및 제3 기판(410)은, 다양한 재료로 이루어질 수 있으며, 예를 들어, 실리콘 기판, 실리콘-게르마늄 기판, 게르마늄 기판, 또는 단결정(monocrystalline) 실리콘 기판에 성장된 단결정 에피택시얼층(epitaxial layer)을 갖는 기판일 수 있다. 제1 및 제2 셀 영역(CELL1, CELL2) 각각에는 복수의 채널 구조체(CH)들이 형성될 수 있다.
일 실시예에 있어서, 도 23의 A1에 도시된 바와 같이, 채널 구조체(CH)는 비트라인 본딩 영역(BLBA)에 제공되며, 제2 기판(310)의 상면에 수직하는 방향으로 연장되어 워드라인들(330), 스트링 선택 라인들, 및 접지 선택 라인을 관통할 수 있다. 채널 구조체(CH)는 데이터 저장층, 채널층, 및 매립 절연층 등을 포함할 수 있다. 채널층은 비트라인 본딩 영역(BLBA)에서 제1 메탈 배선(350c) 및 제2 메탈 배선(360c)과 전기적으로 연결될 수 있다. 예를 들어, 제2 메탈 배선(360c)은 비트라인일 수 있으며, 제1 메탈 배선(350c)을 통해 채널 구조체(CH)에 연결될 수 있다. 비트라인(360c)은 제2 기판(310)의 상면에 평행한 제1 방향(Y축 방향)을 따라 연장될 수 있다.
일 실시예에 있어서, 도 23의 A2에 도시된 바와 같이, 채널 구조체(CH)는 서로 연결된 하부 채널(LCH) 및 상부 채널(UCH)을 포함할 수도 있다. 예를 들어, 채널 구조체(CH)는 하부 채널(LCH)에 대한 공정 및 상부 채널(UCH)에 대한 공정을 통해 형성될 수 있다. 하부 채널(LCH)은 제2 기판(310)의 상면에 수직하는 방향으로 연장되어 공통 소스 라인(320) 및 하부 워드라인들(331, 332)을 관통할 수 있다. 하부 채널(LCH)은 데이터 저장층, 채널층 및 매립 절연층 등을 포함할 수 있고, 상부 채널(UCH)과 연결될 수 있다. 상부 채널(UCH)은 상부 워드라인들(333~338)을 관통할 수 있다. 상부 채널(UCH)은 데이터 저장층, 채널층 및 매립 절연층 등을 포함할 수 있고, 상부 채널(UCH)의 채널층은 제1 메탈 배선(350c) 및 제2 메탈 배선(360c)과 전기적으로 연결될 수 있다. 채널의 길이가 길어질수록 공정 상의 이유로 인해 일정한 폭을 갖는 채널을 형성하는 것은 어려워질 수 있다. 본 발명의 실시예에 따른 메모리 장치(500)는 순차적인 공정으로 형성되는 하부 채널(LCH)과 상부 채널(UCH)을 통해 개선된 폭 균일성을 갖는 채널을 구비할 수 있다.
도 23의 A2에 도시된 바와 같이 채널 구조체(CH)가 하부 채널(LCH) 및 상부 채널(UCH)을 포함하도록 형성된 경우, 하부 채널(LCH) 및 상부 채널(UCH)의 경계 부근에 위치하는 워드라인은 더미 워드라인일 수 있다. 예를 들어, 하부 채널(LCH) 및 상부 채널(UCH)의 경계를 형성하는 워드라인(332) 및 워드라인(333)은 더미 워드라인일 수 있다. 이 경우, 더미 워드라인에 연결된 메모리 셀들에는 데이터가 저장되지 않을 수 있다. 또는, 더미 워드라인에 연결된 메모리 셀들에 대응하는 페이지들(page)의 개수는 일반적인 워드라인에 연결된 메모리 셀들에 대응하는 페이지들의 개수보다 적을 수 있다. 더미 워드라인에 인가되는 전압 레벨은 일반적인 워드라인에 인가되는 전압 레벨과 다를 수 있으며, 이에 따라 하부 채널(LCH)과 상부 채널(UCH) 간의 불균일한 채널 폭이 메모리 장치의 동작에 미치는 영향을 감소시킬 수 있다.
한편, A2에서, 하부 채널(LCH)이 관통하는 하부 워드라인들(331, 332)의 개수가 상부 채널(UCH)이 관통하는 상부 워드라인들(333~338)의 개수보다 적은 것으로 도시되어 있다. 다만, 이는 예시적인 것이며, 본 발명은 이에 제한되지 않는다. 다른 예로, 하부 채널(LCH)을 관통하는 하부 워드라인들의 개수가 상부 채널(UCH)이 관통하는 상부 워드라인들의 개수와 동일하거나 더 많도록 형성될 수도 있다. 또한, 이상에서 설명된 제1 셀 영역(CELL1)에 배치된 채널 구조체(CH)의 구조 및 연결 관계는 제2 셀 영역(CELL2)에 배치된 채널 구조체(CH)에도 동일하게 적용될 수 있다.
비트라인 본딩 영역(BLBA)에서, 제1 셀 영역(CELL1)에는 제1 관통 전극(THV1)이 제공되고, 제2 셀 영역(CELL2)에는 제2 관통 전극(THV2)이 제공될 수 있다. 제1 관통 전극(THV1)은 공통 소스 라인(320) 및 복수의 워드라인들(330)을 관통할 수 있다. 다만, 이는 예시적인 것이며, 제1 관통 전극(THV1)은 제2 기판(310)을 더 관통할 수도 있다. 제1 관통 전극(THV1)은 전도성 물질을 포함할 수 있다. 또는, 제1 관통 전극(THV1)은 절연 물질로 둘러 쌓인 전도성 물질을 포함할 수 있다. 제2 관통 전극(THV2)도 제1 관통 전극(THV1)과 동일한 형태 및 구조로 제공될 수 있다.
일 실시예에 있어서, 제1 관통 전극(THV1)과 제2 관통 전극(THV2)은 제1 관통 메탈 패턴(372d) 및 제2 관통 메탈 패턴(472d)을 통해 전기적으로 연결될 수 있다. 제1 관통 메탈 패턴(372d)은 제1 셀 영역(CELL1)을 포함하는 제1 상부 칩의 하단에 형성될 수 있고, 제2 관통 메탈 패턴(472d)은 제2 셀 영역(CELL2)을 포함하는 제2 상부 칩의 상단에 형성될 수 있다. 제1 관통 전극(THV1)은 제1 메탈 배선(350c) 및 제2 메탈 배선(360c)과 전기적으로 연결될 수 있다. 제1 관통 전극(THV1)과 제1 관통 메탈 패턴(372d) 사이에 하부 비아(371d)가 형성될 수 있고, 제2 관통 전극(THV2)과 제2 관통 메탈 패턴(472d) 사이에 상부 비아(471d)가 형성될 수 있다. 제1 관통 메탈 패턴(372d)과 제2 관통 메탈 패턴(472d)은 본딩 방식으로 연결될 수 있다.
또한, 비트라인 본딩 영역(BLBA)에서, 주변 회로 영역(PERI)의 최상부 메탈층에는 상부 메탈 패턴(252)이 형성되고, 제1 셀 영역(CELL1)의 최상부 메탈층에는 상부 메탈 패턴(252)과 동일한 형태의 상부 메탈 패턴(392)이 형성될 수 있다. 제1 셀 영역(CELL1)의 상부 메탈 패턴(392)과 주변 회로 영역(PERI)의 상부 메탈 패턴(252)은 본딩 방식에 의해 서로 전기적으로 연결될 수 있다. 비트라인 본딩 영역(BLBA)에서, 비트 라인(360c)은 주변 회로 영역(PERI)에 포함된 페이지 버퍼와 전기적으로 연결될 수 있다. 예를 들어, 주변 회로 영역(PERI)의 회로 소자들(220c) 중 일부는 페이지 버퍼를 제공할 수 있으며, 비트라인(360c)은 제1 셀 영역(CELL1)의 상부 본딩 메탈(370c)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270c)을 통하여 페이지 버퍼를 제공하는 회로 소자들(220c)과 전기적으로 연결될 수 있다.
워드라인 본딩 영역(WLBA)에서, 제1 셀 영역(CELL1)의 워드라인들(330)은 제2 기판(310)의 상면에 평행한 제2 방향(X축 방향)을 따라 연장될 수 있으며, 복수의 셀 컨택 플러그들(341-347; 340)과 연결될 수 있다. 워드라인들(330)에 연결되는 셀 컨택 플러그들(340)의 상부에는 제1 메탈 배선(350b)과 제2 메탈 배선(360b)이 차례로 연결될 수 있다. 셀 컨택 플러그들(340)은 워드라인 본딩 영역(WLBA)에서 제1 셀 영역(CELL1)의 상부 본딩 메탈(370b)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270b)을 통해 주변 회로 영역(PERI)과 연결될 수 있다.
셀 컨택 플러그들(340)은 주변 회로 영역(PERI)에 포함된 로우 디코더와 전기적으로 연결될 수 있다. 예를 들어, 주변 회로 영역(PERI)의 회로 소자들(220b) 중 일부는 로우 디코더를 제공하며, 셀 컨택 플러그들(340)은 제1 셀 영역(CELL1)의 상부 본딩 메탈(370b)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270b)을 통해 로우 디코더를 제공하는 회로 소자들(220b)과 전기적으로 연결될 수 있다. 일 실시예에서, 로우 디코더를 제공하는 회로 소자들(220b)의 동작 전압은, 페이지 버퍼를 제공하는 회로 소자들(220c)의 동작 전압과 다를 수 있다. 예를 들어, 페이지 버퍼를 제공하는 회로 소자들(220c)의 동작 전압이 로우 디코더를 제공하는 회로 소자들(220b)의 동작 전압보다 클 수 있다.
마찬가지로, 워드라인 본딩 영역(WLBA)에서, 제2 셀 영역(CELL2)의 워드라인들(430)은 제3 기판(410)의 상면에 평행한 제2 방향(X축 방향)을 따라 연장될 수 있으며, 복수의 셀 컨택 플러그들(441-447; 440)과 연결될 수 있다. 셀 컨택 플러그들(440)은 제2 셀 영역(CELL2)의 상부 메탈 패턴, 제1 셀 영역(CELL1)의 하부 메탈 패턴 및 상부 메탈 패턴, 그리고 셀 컨택 플러그(348)를 통하여 주변 회로 영역(PERI)과 연결될 수 있다.
워드라인 본딩 영역(WLBA)에서, 제1 셀 영역(CELL1)에는 상부 본딩 메탈(370b)이 형성되고, 주변 회로 영역(PERI)에는 상부 본딩 메탈(270b)이 형성될 수 있다. 1 셀 영역(CELL1)의 상부 본딩 메탈(370b)과 주변 회로 영역(PERI)의 상부 본딩 메탈(270b)은 본딩 방식에 의해 서로 전기적으로 연결될 수 있다. 상부 본딩 메탈(370b)과 상부 본딩 메탈(270b)은 알루미늄, 구리 또는 텅스텐 등으로 형성될 수 있다.
외부 패드 본딩 영역(PA)에서, 제1 셀 영역(CELL1)의 하부에는 하부 메탈 패턴(371e)이 형성될 수 있고, 제2 셀 영역(CELL2)의 상부에는 상부 메탈 패턴(472a)이 형성될 수 있다. 제1 셀 영역(CELL1)의 하부 메탈 패턴(371e) 및 제2 셀 영역(CELL2)의 상부 메탈 패턴(472a)은, 외부 패드 본딩 영역(PA)에서 본딩 방식에 의해 연결될 수 있다. 마찬가지로, 제1 셀 영역(CELL1)의 상부에는 상부 메탈 패턴(372a)이 형성될 수 있고, 주변 회로 영역(PERI)의 상부에는 상부 메탈 패턴(272a)가 형성될 수 있다. 제1 셀 영역(CELL1)의 상부 메탈 패턴(372a) 및 주변 회로 영역(PERI)의 상부 메탈 패턴(272a)은 본딩 방식에 의해 연결될 수 있다.
외부 패드 본딩 영역(PA)에는 공통 소스 라인 컨택 플러그들(380, 480)이 배치될 수 있다. 공통 소스 라인 컨택 플러그들(380, 480)은 금속, 금속 화합물, 또는 도핑된 폴리실리콘 등의 도전성 물질로 형성될 수 있다. 제1 셀 영역(CELL1)의 공통 소스 라인 컨택 플러그(380)는 공통 소스 라인(320)과 전기적으로 연결되고, 제2 셀 영역(CELL2)의 공통 소스 라인 컨택 플러그(480)는 공통 소스 라인(420)과 전기적으로 연결될 수 있다. 제1 셀 영역(CELL1)의 공통 소스 라인 컨택 플러그(380) 상부에는 제1 메탈 배선(350a)과 제2 메탈 배선(360a)이 차례로 적층되고, 제2 셀 영역(CELL2)의 공통 소스 라인 컨택 플러그(480) 상부에는 제1 메탈 배선(450a)과 제2 메탈 배선(460a)이 차례로 적층될 수 있다.
외부 패드 본딩 영역(PA)에는 입출력 패드들(205, 405, 406)이 배치될 수 있다. 하부 절연막(201)이 제1 기판(210)의 하면을 덮을 수 있으며, 하부 절연막(201) 상에 제1 입출력 패드(205)가 형성될 수 있다. 제1 입출력 패드(205)는 제1 입출력 컨택 플러그(203)를 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(220a) 중 적어도 하나와 연결되며, 하부 절연막(201)에 의해 제1 기판(210)과 분리될 수 있다. 또한, 제1 입출력 컨택 플러그(203)와 제1 기판(210) 사이에는 측면 절연막이 배치되어 제1 입출력 컨택 플러그(203)와 제1 기판(210)을 전기적으로 분리할 수 있다.
제3 기판(410)의 상부에는 제3 기판(410)의 상면을 덮는 상부 절연막(401)이 형성될 수 있다. 상부 절연막(401) 상에는 제2 입출력 패드(405) 및/ 또는 제3 입출력 패드(406)가 배치될 수 있다. 제2 입출력 패드(405)는 제2 입출력 컨택 플러그들(403, 303)을 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(220a) 중 적어도 하나와 연결되고, 제3 입출력 패드(406)는 제3 입출력 컨택 플러그들(404, 304)을 통해 주변 회로 영역(PERI)에 배치되는 복수의 회로 소자들(220a) 중 적어도 하나와 연결될 수 있다.
일 실시예에 있어서, 입출력 컨택 플러그가 배치되는 영역에는 제3 기판(410)이 배치되지 않을 수 있다. 예를 들어, 도 23의 B에 도시된 바와 같이, 제3 입출력 컨택 플러그(404)는 제3 기판(410)의 상면에 평행한 방향에서 제3 기판(410)과 분리되며, 제2 셀 영역(CELL2)의 층간 절연층(415)을 관통하여 제3 입출력 패드(406)에 연결될 수 있다. 이 경우, 제3 입출력 컨택 플러그(404)는 다양한 공정으로 형성될 수 있다.
예시적으로, 도 23의 B1에 도시된 바와 같이, 제3 입출력 컨택 플러그(404)는 제3 방향(Z축 방향)으로 연장되며, 상부 절연막(401)으로 갈수록 직경이 커지도록 형성될 수 있다. 즉, A1에서 설명된 채널 구조체(CH)의 직경은 상부 절연막(401)으로 갈수록 작아지도록 형성됨에 반하여, 제3 입출력 컨택 플러그(404)의 직경은 상부 절연막(401)으로 갈수록 커지도록 형성될 수 있다. 예를 들어, 제3 입출력 컨택 플러그(404)는 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)이 본딩 방식으로 결합된 후에 형성될 수 있다.
또한, 예시적으로, 도 23의 B2에 도시된 바와 같이, 제3 입출력 컨택 플러그(404)는 제3 방향(Z축 방향)으로 연장되며, 상부 절연막(401)으로 갈수록 직경이 작아지도록 형성될 수 있다. 즉, 제3 입출력 컨택 플러그(404)의 직경은 채널 구조체(CH)와 마찬가지로 상부 절연막(401)으로 갈수록 작아지도록 형성될 수 있다. 예를 들어, 제3 입출력 컨택 플러그(404)는 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)의 본딩 결합 전에 셀 컨택 플러그들(440)과 함께 형성될 수 있다.
다른 실시예에 있어서, 입출력 컨택 플러그는 제3 기판(410)과 오버랩 되도록 배치될 수도 있다. 예를 들어, 도 23의 C에 도시된 바와 같이, 제2 입출력 컨택 플러그(403)는 제2 셀 영역(CELL2)의 층간 절연층(415)을 제3 방향(Z축 방향)으로 관통하여 형성되되, 제3 기판(410)을 통하여 제2 입출력 패드(405)에 전기적으로 연결될 수 있다. 이 경우, 제2 입출력 컨택 플러그(403)와 제2 입출력 패드(405)의 연결 구조는 다양한 방식으로 구현될 수 있다.
예시적으로, 도 23의 C1에 도시된 바와 같이, 제3 기판(410)을 관통하는 개구부(408)가 형성되고, 제2 입출력 컨택 플러그(403)는 제3 기판(410)에 형성된 개구부(408)를 통하여 직접 제2 입출력 패드(405)에 연결될 수 있다. 이 경우, 도 23의 C1에서 도시된 바와 같이, 제2 입출력 컨택 플러그(403)의 직경은 제2 입출력 패드(405)로 갈수록 커지도록 형성될 수 있다. 다만, 이는 예시적인 것이며, 제2 입출력 컨택 플러그(403)의 직경은 제2 입출력 패드(405)로 갈수록 작아지도록 형성될 수도 있다.
예시적으로, 도 23의 C2에 도시된 바와 같이, 제3 기판(410)을 관통하는 개구부(408)가 형성되고, 개구부(408) 내에는 컨택(407)이 형성될 수 있다. 컨택(407)의 일 단부는 제2 입출력 패드(405)에 연결되고, 다른 단부는 제2 입출력 컨택 플러그(403)에 연결될 수 있다. 이에 따라, 제2 입출력 컨택 플러그(403)가 개구부(408) 내의 컨택(407)를 통하여 제2 입출력 패드(405)에 전기적으로 연결될 수 있다. 이 경우, 도 23의 C2에 도시된 바와 같이, 컨택(407)의 직경은 제2 입출력 패드(405)로 갈수록 커지고, 제2 입출력 컨택 플러그(403)의 직경은 제2 입출력 패드(405)로 갈수록 작아지도록 형성될 수도 있다. 예를 들어, 제3 입출력 컨택 플러그(403)는 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)의 본딩 결합 전에 셀 컨택 플러그들(440)과 함께 형성되고, 컨택(407)은 제2 셀 영역(CELL2)과 제1 셀 영역(CELL1)의 본딩 결합 후에 형성될 수 있다.
또한, 예시적으로, 도 23의 C3에 도시된 바와 같이, 제3 기판(410)의 개구부(408)의 상면에는 C2에 비하여 스토퍼(stopper, 409)가 더 형성될 수도 있다. 스토퍼(409)는 공통 소스 라인(420)과 동일한 층에 형성된 메탈 배선일 수 있다. 다만, 이는 예시적인 것이며, 스토퍼(409)는 워드라인들(430) 중 적어도 하나와 동일한 층에 형성된 메탈 배선일 수도 있다. 제2 입출력 컨택 플러그(403)는 컨택(407) 및 스토퍼(409)를 통하여 제2 입출력 패드(405)에 전기적으로 연결될 수 있다.
한편, 제2 셀 영역(CELL2)의 제2 및 제3 입출력 컨택 플러그(403, 404)와 유사하게, 제1 셀 영역(CELL1)의 제2 및 제3 입출력 컨택 플러그(303, 304)는 각각 하부 메탈 패턴(371e)으로 갈수록 직경이 작아지거나, 또는 하부 메탈 패턴(371e)으로 갈수록 직경이 커지도록 형성될 수 있다.
한편, 실시예들에 따라, 제3 기판(410)에는 슬릿(slit, 411)이 형성될 수 있다. 예를 들어, 슬릿(411)은 외부 패드 본딩 영역(PA)의 임의의 위치에 형성될 수 있다. 일 예로, 도 23의 D에 도시된 바와 같이, 슬릿(411)은 평면에서 봤을 때에 제2 입출력 패드(405)와 셀 컨택 플러그들(440) 사이에 위치할 수 있다. 다만, 이는 예시적인 것이며, 평면에서 봤을 때에, 제2 입출력 패드(405)가 슬릿(411)과 셀 컨택 플러그들(440) 사이에 위치하도록, 슬릿(411)이 형성될 수도 있다.
예시적으로, 도 23의 D1에 도시된 바와 같이, 슬릿(411)은 제3 기판(410)을 관통하도록 형성될 수 있다. 슬릿(411)은, 예를 들어, 개구부(408)를 형성할 때에 제3 기판(410)이 미세하게 갈라지는 것을 방지하는 용도로 사용될 수 있다. 다만, 이는 예시적인 것이며, 슬릿(411)은 제3 기판(410)의 두께에 대해 약 60~70% 정도의 깊이로 형성될 수도 있다.
또한, 예시적으로, 도 23의 D2에 도시된 바와 같이, 슬릿(411) 내에는 도전 물질(412)이 형성될 수도 있다. 도전 물질(412)은, 예를 들어, 외부 패드 본딩 영역(PA) 내의 회로 소자들의 구동 중에 발생한 누설 전류를 외부로 방전(discharge)하기 위한 용도로 사용될 수 있다. 이 경우, 도전 물질(412)은 외부의 접지 라인에 연결될 수도 있다.
또한, 예시적으로, 도 23의 D3에 도시된 바와 같이, 슬릿(411) 내에는 절연 물질(413)이 형성될 수도 있다. 절연 물질(413)은, 예를 들어, 외부 패드 본딩 영역(PA)에 배치된 제2 입출력 패드(405) 및 제2 입출력 컨택 플러그(403)를 워드라인 본딩 영역(WLBA)과 전기적으로 분리하기 위하여 형성될 수 있다. 슬릿(411) 내에 절연 물질(413)을 형성함으로써, 제2 입출력 패드(405)를 통하여 제공되는 전압이 워드라인 본딩 영역(WLBA) 내의 제3 기판(410) 상에 배치된 메탈층에 영향을 미치는 것을 차단할 수 있다.
한편, 실시예들에 따라, 제1 내지 제3 입출력 패드(205, 405, 406)는 선택적으로 형성될 수 있다. 예를 들어, 메모리 장치(500)는 제1 기판(201)의 상부에 배치되는 제1 입출력 패드(205)만을 포함하거나, 또는 제3 기판(410)의 상부에 배치되는 제2 입출력 패드(405)만을 포함하거나, 또는 상부 절연막(401)의 상부에 배치되는 제3 입출력 패드(406)만을 포함하도록 구현될 수 있다.
한편, 실시예들에 따라, 제1 셀 영역(CELL1)의 제2 기판(310) 및 제2 셀 영역(CELL2)의 제3 기판(410) 중 적어도 하나는 희생 기판으로 사용될 수 있으며, 본딩 공정 이전 또는 이후에 완전히 또는 일부만 제거될 수 있다. 기판 제거 이후에 추가막이 적층될 수 있다. 예를 들어, 제1 셀 영역(CELL1)의 제2 기판(310)은 주변 회로 영역(PERI)과 제1 셀 영역(CELL1)의 본딩 이전 또는 이후에 제거될 수 있으며, 공통 소스 라인(320)의 상면을 덮는 절연막 또는 연결을 위한 도전막이 형성될 수 있다. 이와 유사하게, 제2 셀 영역(CELL2)의 제3 기판(410)은 제1 셀 영역(CELL1)과 제2 셀 영역(CELL2)의 본딩 이전 또는 이후에 제거될 수 있으며, 공통 소스 라인(420)의 상면을 덮는 상부 절연막(401) 또는 연결을 위한 도전막이 형성될 수 있다.
본 개시의 범위 또는 기술적 사상을 벗어나지 않고 본 개시의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 개시의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 개시가 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 메모리 컨트롤러 및 비휘발성 메모리를 포함하는 저장 장치의 동작 방법에 있어서,
    호스트로부터 제공된 읽기 요청에 응답하여, 디폴트 읽기 전압 세트를 기초로 상기 비휘발성 메모리에 저장된 데이터를 읽는 제1 읽기 동작을 수행하는 단계; 및
    상기 제1 읽기 동작이 페일인 경우, 워드 라인 그룹과 상태 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 적어도 하나의 가중치 테이블, 상기 워드 라인 그룹과 상기 상태 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 적어도 하나의 오프셋 테이블, 및 상기 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨과 리텐션 시간에 따라 가변하는(variable) 최적 읽기 전압 세트의 최적 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 기초로 열화 보상 레벨을 계산하고, 상기 디폴트 읽기 전압 세트와 상기 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산하고, 상기 히스토리 읽기 전압 세트를 기초로 상기 데이터를 읽는 제2 읽기 동작을 수행하는 단계를 포함하는, 저장 장치의 동작 방법.
  2. 제1 항에 있어서,
    상기 제2 읽기 동작을 수행하는 단계는,
    상기 적어도 하나의 가중치 테이블에서, 상기 데이터가 저장된 물리 페이지에 대응되는 워드 라인에 따라 가중치를 선택하는 단계;
    상기 적어도 하나의 오프셋 테이블에서, 상기 워드 라인에 따라 오프셋 레벨을 선택하는 단계; 및
    선택된 가중치, 선택된 오프셋 레벨, 및 상기 변위 레벨을 기초로, 상기 열화 보상 레벨을 계산하는 단계를 포함하는 것을 특징으로 하는, 저장 장치의 동작 방법.
  3. 제2 항에 있어서,
    상기 열화 보상 레벨을 계산하는 단계는,
    상기 선택된 가중치, 상기 선택된 오프셋 레벨, 및 상기 변위 레벨을 미리 설정된 연산 함수에 대입하여 상기 열화 보상 레벨을 계산하는 것을 특징으로 하는, 저장 장치의 동작 방법.
  4. 제2 항에 있어서,
    상기 열화 보상 레벨을 계산하는 단계는,
    상기 선택된 가중치, 상기 선택된 오프셋 레벨, 및 상기 변위 레벨을 미리 학습된 머신 러닝 모델에 입력하여, 상기 머신 러닝 모델로부터 출력된 값을 상기 열화 보상 레벨로 계산하는 것을 특징으로 하는, 저장 장치의 동작 방법.
  5. 제1 항에 있어서,
    상기 적어도 하나의 가중치 테이블 및 상기 적어도 하나의 오프셋 테이블 각각의 개수는 2 이상이고,
    상기 제2 읽기 동작을 수행하는 단계는,
    복수의 가중치 테이블들 중 열화 파라미터에 따라 가중치 테이블을 선택하는 단계; 및
    복수의 오프셋 테이블들 중 상기 열화 파라미터에 따라 오프셋 테이블을 선택하는 단계를 포함하는 것을 특징으로 하는, 저장 장치의 동작 방법.
  6. 제5 항에 있어서,
    상기 복수의 가중치 테이블들은,
    제1 가중치 테이블 및 제2 가중치 테이블을 포함하고,
    같은 워드 라인 그룹과 같은 상태 읽기 전압을 기준으로, 제1 가중치 테이블의 가중치는 제2 가중치 테이블의 가중치보다 작고,
    상기 복수의 오프셋 테이블들은,
    제1 오프셋 테이블 및 제2 오프셋 테이블을 포함하고,
    상기 같은 워드 라인 그룹과 상기 같은 상태 읽기 전압을 기준으로, 제1 오프셋 테이블의 오프셋 레벨은 제2 오프셋 테이블의 오프셋 레벨보다 작고,
    상기 가중치 테이블을 선택하는 단계는,
    상기 열화 파라미터의 값이 제1 범위에 포함되는 경우, 상기 제1 가중치 테이블을 선택하고,
    상기 열화 파라미터의 값이 제1 범위의 최댓값보다 큰 최솟값을 포함하는 제2 범위에 포함되는 경우, 상기 제2 가중치 테이블을 선택하고,
    상기 오프셋 테이블을 선택하는 단계는,
    상기 열화 파라미터의 값이 상기 제1 범위에 포함되는 경우, 상기 제1 오프셋 테이블을 선택하고,
    상기 열화 파라미터의 값이 상기 제2 범위에 포함되는 경우, 상기 제2 오프셋 테이블을 선택하는 것을 특징으로 하는, 저장 장치의 동작 방법.
  7. 제1 항에 있어서,
    상기 제2 읽기 동작이 페일인 경우, 방어 코드를 실행하여 새로운 최적 읽기 전압 세트를 검색하고, 상기 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨에서 검색된 최적 읽기 전압 세트의 최적 읽기 전압 레벨로 쉬프트된 값을 상기 변위 레벨로 계산하여 저장하고, 상기 새로운 최적 읽기 전압 세트를 기초로 제3 읽기 동작을 수행하는 단계를 더 포함하는, 저장 장치의 동작 방법.
  8. 제1 항에 있어서,
    상기 디폴트 읽기 전압 세트는,
    제1 내지 제n 디폴트 읽기 전압들을 포함하고(n은 2 이상의 자연수),
    제i 디폴트 읽기 전압(i는 1 이상 n-1 이하의 정수)에 대응되는 열화 보상 레벨은 제j 디폴트 읽기 전압(j는 i보다 크고 n 이하의 정수)에 대응되는 열화 보상 레벨보다 작은 것을 특징으로 하는, 저장 장치의 동작 방법.
  9. 제1 항에 있어서,
    상기 데이터가 저장된 물리 페이지에 대응되는 워드 라인의 위치가 상기 비휘발성 메모리의 하부 기판을 기준으로 높아질수록, 상기 워드 라인에 대응되는 열화 보상 레벨이 감소하는 것을 특징으로 하는, 저장 장치의 동작 방법.
  10. 복수의 워드 라인들을 포함하는 비휘발성 메모리를 제어하는 메모리 컨트롤러에 있어서,
    워드 라인 그룹과 상태 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 적어도 하나의 가중치 테이블, 상기 워드 라인 그룹과 상기 상태 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 적어도 하나의 오프셋 테이블, 및 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨과 최적 읽기 전압 세트의 최적 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 저장하도록 구성된 메모리; 및
    호스트로부터 제공된 읽기 요청에 응답하여 상기 비휘발성 메모리에 저장된 데이터를 읽도록 상기 비휘발성 메모리를 제어하도록 구성된 읽기 관리자를 포함하고,
    상기 읽기 관리자는,
    상기 적어도 하나의 가중치 테이블, 상기 적어도 하나의 오프셋 테이블, 및 상기 변위 레벨을 기초로 열화 보상 레벨을 계산하고, 상기 디폴트 읽기 전압 세트와 상기 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산하고, 상기 히스토리 읽기 전압 세트를 기초로 상기 데이터를 읽는 히스토리 읽기 동작을 수행하도록, 상기 비휘발성 메모리를 제어하는 것을 특징으로 하는, 메모리 컨트롤러.
  11. 제10 항에 있어서,
    상기 읽기 관리자는,
    상기 적어도 하나의 가중치 테이블에서, 상기 복수의 워드 라인들 중 상기 데이터가 저장된 물리 페이지에 대응되는 선택 워드 라인에 따라 가중치를 선택하고,
    상기 적어도 하나의 오프셋 테이블에서, 상기 선택 워드 라인에 따라 오프셋 레벨을 선택하고,
    선택된 가중치, 선택된 오프셋 레벨, 및 상기 변위 레벨을 기초로, 상기 열화 보상 레벨을 계산하는 것을 특징으로 하는, 메모리 컨트롤러.
  12. 제10 항에 있어서,
    상기 메모리는,
    복수의 가중치 테이블들 및 복수의 오프셋 테이블들을 저장하고,
    복수의 메모리 블록들 각각에 열화 파라미터의 값들을 포함하는 열화 파라미터 테이블을 더 저장하고,
    상기 읽기 관리자는,
    상기 열화 파라미터 테이블에서 복수의 메모리 블록들 중 상기 데이터가 저장된 물리 페이지에 대응되는 선택 워드 라인을 포함하는 선택 메모리 블록의 열화 파라미터를 검출하고,
    상기 복수의 가중치 테이블들 중 상기 선택 메모리 블록의 열화 파라미터에 따라 가중치 테이블을 선택하고,
    상기 복수의 오프셋 테이블들 중 상기 선택 메모리 블록의 열화 파라미터에 따라 오프셋 테이블을 선택하는 것을 특징으로 하는, 메모리 컨트롤러.
  13. 제10 항에 있어서,
    상기 데이터의 에러를 검출하고, 상기 에러를 정정하도록 구성된 에러 정정 코드 회로를 더 포함하고,
    상기 메모리는,
    방어 코드를 더 저장하고,
    상기 읽기 관리자는,
    상기 에러가 정정되는지 여부에 따라 상기 히스토리 읽기 동작의 패스 여부를 판단하고,
    상기 히스토리 읽기 동작이 페일인 경우, 상기 방어 코드를 실행하여 새로운 최적 읽기 전압 세트를 검색하고, 상기 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨에서 검색된 최적 읽기 전압 세트의 최적 읽기 전압 레벨로 쉬프트된 값을 상기 변위 레벨로 계산하고, 상기 새로운 최적 읽기 전압 세트를 기초로 상기 데이터를 읽는 읽기 동작을 수행하도록, 상기 비휘발성 메모리를 제어하는 것을 특징으로 하는, 메모리 컨트롤러.
  14. 제13 항에 있어서,
    상기 읽기 관리자는,
    상기 방어 코드에 의해 계산된 변위 레벨을 상기 메모리에 업데이트하는 것을 특징으로 하는, 메모리 컨트롤러.
  15. 제10 항에 있어서,
    상기 디폴트 읽기 전압 세트는,
    제1 내지 제n 디폴트 읽기 전압들을 포함하고(n은 2 이상의 자연수),
    제i 디폴트 읽기 전압(i는 1 이상 n-1 이하의 정수)에 대응되는 열화 보상 레벨은 제j 디폴트 읽기 전압(j는 i보다 크고 n 이하의 정수)에 대응되는 열화 보상 레벨보다 작은 것을 특징으로 하는, 메모리 컨트롤러.
  16. 제10 항에 있어서,
    상기 데이터가 저장된 물리 페이지에 대응되는 워드 라인의 위치가 상기 비휘발성 메모리의 하부 기판을 기준으로 높아질수록, 상기 워드 라인에 대응되는 열화 보상 레벨이 감소하는 것을 특징으로 하는, 메모리 컨트롤러.
  17. 복수의 워드 라인들에 연결된 복수의 메모리 블록들을 포함하는 비휘발성 메모리; 및
    호스트로부터 제공된 읽기 요청에 응답하여 상기 비휘발성 메모리에 저장된 데이터를 읽도록 상기 비휘발성 메모리를 제어하는 메모리 컨트롤러를 포함하고,
    상기 메모리 컨트롤러는,
    워드 라인 그룹과 상태 읽기 전압에 따라 미리 설정된 가중치들을 포함하는 가중치 테이블, 상기 워드 라인 그룹과 상기 상태 읽기 전압에 따라 미리 설정된 오프셋 레벨들을 포함하는 오프셋 테이블, 및 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨과 최적 읽기 전압 세트의 최적 읽기 전압 레벨 간의 차이에 대응되는 변위 레벨을 기초로 열화 보상 레벨을 계산하고,
    상기 디폴트 읽기 전압 세트와 상기 열화 보상 레벨을 연산하여 히스토리 읽기 전압 세트를 계산하고,
    상기 히스토리 읽기 전압 세트를 기초로 상기 데이터를 읽도록 상기 비휘발성 메모리를 제어하는 것을 특징으로 하는, 저장 장치.
  18. 제17 항에 있어서,
    상기 메모리 컨트롤러는,
    상기 적어도 하나의 가중치 테이블에서, 상기 복수의 워드 라인들 중 상기 데이터가 저장된 물리 페이지에 대응되는 선택 워드 라인에 따라 가중치를 선택하고,
    상기 적어도 하나의 오프셋 테이블에서, 상기 선택 워드 라인에 따라 오프셋 레벨을 선택하고,
    선택된 가중치, 선택된 오프셋 레벨, 및 상기 변위 레벨을 기초로, 상기 열화 보상 레벨을 계산하는 것을 특징으로 하는, 저장 장치.
  19. 제18 항에 있어서,
    상기 메모리 컨트롤러는,
    상기 변위 레벨에 상기 선택된 가중치를 적용하고, 적용된 값에 상기 선택된 오프셋 레벨 및 상기 변위 레벨을 연산하여 상기 열화 보상 레벨을 계산하는 것을 특징으로 하는, 저장 장치.
  20. 제19 항에 있어서,
    상기 메모리 컨트롤러는,
    상기 데이터의 에러를 검출하고, 상기 에러를 정정하고,
    상기 에러가 정정되는지 여부에 따라 상기 비휘발성 메모리의 읽기 동작에 대한 패스 여부를 판단하고,
    상기 읽기 동작이 페일인 경우, 방어 코드를 실행하여 새로운 최적 읽기 전압 세트를 검색하고,
    상기 최적 읽기 전압 세트를 기초로 상기 데이터를 읽도록 상기 비휘발성 메모리를 제어하고,
    상기 디폴트 읽기 전압 세트의 디폴트 읽기 전압 레벨에서 검색된 최적 읽기 전압 세트의 최적 읽기 전압 레벨로 쉬프트된 값을 상기 변위 레벨로 계산하여, 상기 변위 레벨을 저장하는 것을 특징으로 하는, 저장 장치.
KR1020220107180A 2022-08-25 2022-08-25 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법 KR20240028875A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020220107180A KR20240028875A (ko) 2022-08-25 2022-08-25 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법
US18/137,036 US20240069790A1 (en) 2022-08-25 2023-04-20 Memory controller, a storage device, and an operating method of the storage device
CN202310714447.4A CN117631972A (zh) 2022-08-25 2023-06-15 存储器控制器、存储装置以及存储装置的操作方法
JP2023120076A JP2024031843A (ja) 2022-08-25 2023-07-24 メモリコントローラとストレージ装置及びその動作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220107180A KR20240028875A (ko) 2022-08-25 2022-08-25 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20240028875A true KR20240028875A (ko) 2024-03-05

Family

ID=89999692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220107180A KR20240028875A (ko) 2022-08-25 2022-08-25 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법

Country Status (4)

Country Link
US (1) US20240069790A1 (ko)
JP (1) JP2024031843A (ko)
KR (1) KR20240028875A (ko)
CN (1) CN117631972A (ko)

Also Published As

Publication number Publication date
JP2024031843A (ja) 2024-03-07
CN117631972A (zh) 2024-03-01
US20240069790A1 (en) 2024-02-29

Similar Documents

Publication Publication Date Title
US10467133B2 (en) Storage device including nonvolatile memory device and garbage collection method thereof
US8804422B2 (en) Nonvolatile memory device and related method of operation
US9256530B2 (en) Nonvolatile memory device and sub-block managing method thereof
KR102015906B1 (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 읽기 방법
KR102634700B1 (ko) 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 이의 동작 방법
KR101716713B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US20140056069A1 (en) Nonvolatile memory device having near/far memory cell groupings and data processing method
KR20150091665A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US11631466B2 (en) Storage device performing read operation by restoring ON cell count (OCC) from power loss protection area of non-volatile memory
KR20210078548A (ko) Slc 캐시 할당
KR20110096414A (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
US11250911B2 (en) Nonvolatile memory device and operating method of the same
EP4181135A1 (en) Nonvolatile memory device having multistack memory block and method of operating the same
KR20220060572A (ko) 비휘발성 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 저장 장치, 및 그것의 리드 방법
KR20220010210A (ko) 스토리지 장치 및 스토리지 장치의 읽기 동작 방법
KR20240028875A (ko) 메모리 컨트롤러, 저장 장치, 및 저장 장치의 동작 방법
US20240126453A1 (en) Non-volatile memory device, storage device, operating method of storage controller, and operating method of the storage device
US12094535B2 (en) Nonvolatile memory devices for reducing degradation due to difference of threshold voltage distributions between outer cells and inner cells
US11886747B2 (en) Controller, storage device and operation method of the storage device
US9620224B2 (en) Semiconductor device and operating method thereof
US20240272808A1 (en) Memory controller, memory system including the same, and operation method of memory controller
US12073887B2 (en) Semiconductor device performing block program and operating method thereof
US20230154551A1 (en) Semiconductor device for improving retention performance and operating method thereof
US20230112851A1 (en) Semiconductor memory device and method of operating the semiconductor memory device
KR20230069802A (ko) 리텐션 성능 개선을 위한 반도체 장치 및 그의 동작 방법