KR20240079877A - 불휘발성 메모리 장치 및 그것의 동작 방법 - Google Patents

불휘발성 메모리 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20240079877A
KR20240079877A KR1020220163261A KR20220163261A KR20240079877A KR 20240079877 A KR20240079877 A KR 20240079877A KR 1020220163261 A KR1020220163261 A KR 1020220163261A KR 20220163261 A KR20220163261 A KR 20220163261A KR 20240079877 A KR20240079877 A KR 20240079877A
Authority
KR
South Korea
Prior art keywords
read
temperature
memory device
voltage
level offset
Prior art date
Application number
KR1020220163261A
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 KR1020220163261A priority Critical patent/KR20240079877A/ko
Priority to US18/223,783 priority patent/US20240177764A1/en
Priority to CN202311462210.8A priority patent/CN118116439A/zh
Publication of KR20240079877A publication Critical patent/KR20240079877A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • 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
    • 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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

본 개시의 실시 예에 따른 불휘발성 메모리 장치는, 복수의 워드라인들과 연결된 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 제1 온도 센서를 포함하는 외부 장치로부터 수신된 어드레스에 기초하여, 복수의 워드라인들 중 선택 워드라인을 제어하는 어드레스 디코더, 복수의 메모리 셀들 중 선택 워드라인과 연결된 제1 메모리 셀들에 대한 읽기 온도를 측정하도록 구성된 제2 온도 센서, 및 읽기 온도 및 제1 온도 센서에 의해 측정된 제1 메모리 셀들에 대한 프로그램 온도에 기초하여 읽기 레벨 오프셋을 연산하고, 그리고 읽기 레벨 오프셋에 기초하여 보상 읽기 전압을 생성하도록 구성된 온도 보상 회로를 포함할 수 있다. 어드레스 디코더는 보상 읽기 전압을 선택 워드라인으로 제공할 수 있다.

Description

불휘발성 메모리 장치 및 그것의 동작 방법{NONVOLATILE MEMORY DEVICE AND OPEATION METHOD THEREOF}
본 개시는 반도체 메모리에 관한 것으로, 좀 더 상세하게는 불휘발성 메모리 장치 및 그것의 동작 방법에 관한 것이다.
플래시 메모리 장치는 컴퓨팅 시스템의 대용량 스토리지로서 널리 사용된다. 플래시 메모리 장치는 복수의 메모리 셀들과 연결된 복수의 워드라인들의 전압을 제어함으로써, 읽기 동작 또는 프로그램 동작을 수행할 수 있다. 보다 상세하게는, 플래시 메모리 장치는 동일한 워드라인을 공유하는 페이지 단위로 읽기 동작 또는 프로그램 동작을 수행할 수 있다.
플래시 메모리 장치는 메모리 셀들의 문턱 전압(threshold voltage)에 기초하여 데이터를 저장할 수 있다. 메모리 셀들에 저장된 데이터는 읽기 전압을 통해 메모리 셀들의 문턱 전압을 판별함으로써 독출될 수 있다.
플래시 메모리 장치는 프로그램 동작을 통해 메모리 셀들의 문턱 전압(threshold voltage)을 변경할 수 있다. 그러나, 메모리 셀들의 문턱 전압은, 복수의 메모리 셀들이 프로그램된 시점의 온도 및 읽기 되는 시점의 온도에 따라 달라질 수 있다.
본 개시는 상술된 기술적 과제를 해결하기 위한 것이다. 보다 상세하게는, 본 개시의 목적은 프로그램 동작이 수행되는 시점의 온도 및 읽기 동작이 수행되는 시점의 온도에 따라 읽기 전압이 변동되는 불휘발성 메모리 장치 및 그것의 동작 방법을 제공하는 것에 있다.
본 개시의 실시 예에 따른 불휘발성 메모리 장치는, 복수의 워드라인들과 연결된 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 제1 온도 센서를 포함하는 외부 장치로부터 수신된 어드레스에 기초하여, 상기 복수의 워드라인들 중 선택 워드라인을 제어하는 어드레스 디코더, 상기 복수의 메모리 셀들 중 상기 선택 워드라인과 연결된 제1 메모리 셀들에 대한 읽기 온도를 측정하도록 구성된 제2 온도 센서, 및 상기 읽기 온도 및 상기 제1 온도 센서에 의해 측정된 상기 제1 메모리 셀들에 대한 프로그램 온도에 기초하여 읽기 레벨 오프셋을 연산하고, 그리고 상기 읽기 레벨 오프셋에 기초하여 보상 읽기 전압을 생성하도록 구성된 온도 보상 회로를 포함할 수 있다. 이 경우, 상기 어드레스 디코더는 상기 보상 읽기 전압을 상기 선택 워드라인으로 제공할 수 있다.
본 개시의 실시 예에 따른, 제1 온도 센서를 포함하는 불휘발성 메모리 장치의 동작 방법은, 제2 온도 센서를 포함하는 외부 장치로부터, 제1 페이지에 대한 읽기 커맨드 및 상기 제2 온도 센서에 의해 측정된 상기 제1 페이지에 대한 프로그램 온도를 수신하는 단계, 상기 읽기 커맨드에 응답하여 상기 제1 온도 센서를 사용하여 상기 제1 페이지에 대한 읽기 온도를 측정하는 단계, 상기 프로그램 온도 및 상기 읽기 온도에 기초하여 읽기 레벨 오프셋을 연산하는 단계, 상기 읽기 레벨 오프셋에 기초하여 보상 읽기 전압을 생성하는 단계, 및 상기 보상 읽기 전압에 기초하여 상기 제1 페이지에 대한 읽기 동작을 수행하는 단계를 포함할 수 있다.
본 개시의 실시 예에 따른, 제1 페이지를 포함하는 불휘발성 메모리 장치, 휘발성 메모리 장치, 및 상기 불휘발성 메모리 장치 및 상기 휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하는 스토리지 장치의 동작 방법은, 상기 메모리 컨트롤러가, 상기 제1 페이지에 대한 프로그램 동작이 수행될 때 제1 프로그램 온도를 상기 휘발성 메모리 장치에 저장하는 단계, 상기 메모리 컨트롤러가, 상기 제1 페이지에 대한 읽기 커맨드 및 상기 제1 프로그램 온도를 상기 불휘발성 메모리 장치로 전송하는 단계, 상기 불휘발성 메모리 장치가, 상기 제1 읽기 온도를 측정하는 단계, 상기 불휘발성 메모리 장치가, 상기 제1 프로그램 온도 및 상기 제1 읽기 온도에 기초하여 제1 읽기 레벨 오프셋을 연산하는 단계, 및 상기 불휘발성 메모리 장치가, 상기 제1 읽기 레벨 오프셋에 기초하여 상기 제1 페이지에 대한 읽기 동작을 수행하는 단계를 포함할 수 있다.
본 개시의 실시 예에 따르면, 프로그램 동작이 수행되는 시점의 온도 및 읽기 동작이 수행되는 시점의 온도에 따라 읽기 전압이 변동되는 불휘발성 메모리 장치 및 그것의 동작 방법이 제공될 수 있다.
도 1은 본 개시의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 2는 도 1의 메모리 컨트롤러를 보다 상세하게 보여주는 블록도이다.
도 3은 도 1의 불휘발성 메모리 장치를 보여주는 블록도이다.
도 4는 도 3의 메모리 셀 어레이에 포함된 복수의 메모리 블록들 중 하나의 메모리 블록(BLK)을 예시적으로 보여주는 회로도이다.
도 5a 및 도 5b는 도 4의 메모리 블록에 포함된 복수의 메모리 셀들의 문턱 전압 산포를 보여주는 산포도이다.
도 6a 및 도 6b는 선택 읽기 전압, 프로그램 온도, 읽기 온도, 및 읽기 레벨 오프셋의 관계를 보여주는 도면이다.
도 7은 도 3의 온도 보상 회로를 보다 상세하게 보여주는 블록도이다.
도 8은 도 1의 스토리지 장치의 동작 방법을 보여주는 흐름도이다.
도 9은 도 8의 S120 단계를 보다 상세하게 보여주는 흐름도이다.
도 10는 도 8의 S130 단계를 보다 상세하게 보여주는 흐름도이다.
도 11는 도 8의 S140 단계를 보다 상세하게 보여주는 흐름도이다.
도 12는 도 8의 S150 단계를 보다 상세하게 보여주는 흐름도이다.
도 13는 일 실시 예에 따른 읽기 커맨드의 커맨드 시퀀스를 보여준다.
도 14은 본 개시의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 15는 도 14의 불휘발성 메모리 장치를 보여주는 블록도이다.
도 16은 도 15의 온도 보상 회로를 보다 상세하게 보여주는 블록도이다.
도 17는 도 14의 스토리지 장치의 동작 방법을 보여주는 흐름도이다.
도 18은 도 17의 S240 단계를 보다 상세하게 보여주는 흐름도이다.
도 19은 도 17의 S250 단계를 보다 상세하게 보여주는 흐름도이다.
도 20은 본 개시의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 21은 도 20의 불휘발성 메모리 장치를 보여주는 블록도이다.
이하에서, 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 용이하게 실시할 수 있을 정도로, 본 개시의 실시 예들이 명확하고 상세하게 기재될 것이다. 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 개시의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 개시의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 당업자에 의해 수행될 수 있다. 더욱이, 잘 알려진 기능들 및 구조들에 대한 설명들은 명확성 및 간결성을 위하여 생략된다. 이하의 도면들 또는 상세한 설명에서의 구성들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 본문에서 사용된 용어들은 본 개시의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.
상세한 설명에서 사용되는 드라이버(driver) 또는 블록(block) 등의 용어를 참조하여 설명되는 구성 요소들은 소프트웨어, 또는 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 예시적으로, 소프트웨어는 기계 코드, 펌웨어, 임베디드 코드, 및 어플리케이션 소프트웨어일 수 있다. 예를 들어, 하드웨어는 전기 회로, 전자 회로, 프로세서, 컴퓨터, 집적 회로 코어들, 압력 센서, 관성 센서, 멤즈(Micro Electro Mechanical System; MEMS), 수동 소자, 또는 그것들의 조합을 포함할 수 있다.
도 1은 본 개시의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다. 도 1을 참조하면, 스토리지 장치(100; storage device)는 불휘발성 메모리 장치(110; nonvolatile memory device), 메모리 컨트롤러(120; memory controller), 및 휘발성 메모리 장치(130; volatile memory device)를 포함할 수 있다.
메모리 컨트롤러(120)는 불휘발성 메모리 장치(110)에 데이터(DATA)를 저장하거나 또는 불휘발성 메모리 장치(110)에 저장된 데이터(DATA)를 독출할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 커맨드(CMD; command), 및 어드레스(ADDR; address)를 불휘발성 메모리 장치(110)로 전송하여, 불휘발성 메모리 장치(110)에 데이터(DATA)를 저장하거나 또는 불휘발성 메모리 장치(110)에 저장된 데이터(DATA)를 읽을 수 있다.
불휘발성 메모리 장치(110)는 메모리 컨트롤러(120)로부터 커맨드(CMD), 및 어드레스(ADDR)를 수신할 수 있다. 불휘발성 메모리 장치(110)는 수신된 신호들에 응답하여 동작할 수 있다. 예를 들어, 메모리 컨트롤러(120)로부터 수신된 커맨드(CMD)가 읽기 커맨드인 경우, 불휘발성 메모리 장치(110)는 메모리 컨트롤러(120)로 데이터(DATA)를 반환할 수 있다. 메모리 컨트롤러(120)로부터 수신된 커맨드(CMD)가 프로그램 커맨드인 경우, 불휘발성 메모리 장치(110)는 메모리 컨트롤러(120)로부터 수신된 데이터(DATA)를 저장할 수 있다.
이하에서는, 불휘발성 메모리 장치(110)가 플래시 메모리 장치이고, 스토리지 장치(100)가 SSD(solid state drive)인 실시 예가 대표적으로 설명될 것이다. 그러나 본 개시의 범위는 이에 한정되지 않는다.
일 실시 예에서, 메모리 컨트롤러(120)는 커맨드(CMD), 어드레스(ADDR), 및 데이터(DATA)를 불휘발성 메모리 장치(110)의 DQ 핀(DQ pins; data inputs/outputs pins)들로 제공할 수 있다.
불휘발성 메모리 장치(110)는 복수의 메모리 셀들을 포함할 수 있다. 복수의 메모리 셀들은 복수의 워드라인들을 통해 읽기 또는 프로그램 될 수 있다. 보다 상세하게는, 복수의 메모리 셀들 각각은 페이지 단위로 읽기 또는 프로그램 될 수 있다. 따라서, 서로 다른 페이지의 메모리 셀들의 데이터는, 서로 다른 시점에 프로그램 될 수 있고, 서로 다른 시점에 독출될 것이다.
불휘발성 메모리 장치(110)는 제1 온도 센서(111; temperature sensor #1)를 포함할 수 있다. 제1 온도 센서(111)는 불휘발성 메모리 장치(110)의 온도를 측정할 수 있다. 보다 상세하게는, 제1 온도 센서(111)는 불휘발성 메모리 장치(110)의 읽기 온도(이하의 도면들에서, 참조기호 'TRD'로 지칭된다.)를 측정할 수 있다. 이 경우, 읽기 온도(TRD; read temperature)는, 불휘발성 메모리 장치(110)에 대한 읽기 동작이 수행되는 동안의 불휘발성 메모리 장치(110)의 온도를 지칭할 수 있다.
메모리 컨트롤러(120)는 제2 온도 센서(121; temperature sensor #2)를 포함할 수 있다. 제2 온도 센서(121)는 불휘발성 메모리 장치(110)의 온도를 측정할 수 있다. 보다 상세하게는, 제2 온도 센서(121)는 불휘발성 메모리 장치(110)의 프로그램 온도(TPGM; program temperature)을 측정할 수 있다. 이 경우, 프로그램 온도(TPGM)는 불휘발성 메모리 장치(110)에 대한 프로그램 동작이 수행되는 동안의 불휘발성 메모리 장치(110)의 온도를 지칭할 수 있다.
일 실시 예에서, 읽기 온도가 제1 온도 센서(111)에 의해 측정되는 경우, 읽기 온도가 제2 온도 센서(121)에 의해 측정되는 경우에 비해 정확하게 측정될 수 있다.
메모리 컨트롤러(120)는 측정된 프로그램 온도(TPGM)을 휘발성 메모리 장치(130)에 저장할 수 있다. 휘발성 메모리 장치(130)는 프로그램 온도(TPGM)를 페이지 별로 저장할 수 있다. 예를 들어, 휘발성 메모리 장치(130)는 제1 페이지에 대한 프로그램 온도(TPGM) 및 제2 페이지에 대한 프로그램 온도(TPGM)를 별도로 저장할 수 있다.
일 실시 예에서, 휘발성 메모리 장치(130)은 DRAM(dynamic random access memory) 장치일 수 있다. 그러나 본 개시의 범위는 이에 한정되지 않고, 휘발성 메모리 장치(130)는 SRAM(Static random access memory) 장치 또는 SDRAM (Synchronous dynamic random access memory) 장치일 수 있다. 즉, 본 개시의 범위는 휘발성 메모리 장치(130)의 유형에 한정되지 않는다.
불휘발성 메모리 장치(110)는 온도 보상 회로(112; temperature compensation circuit)를 포함할 수 있다. 온도 보상 회로(112)는 프로그램 온도(TPGM) 및 읽기 온도(TRD)에 기초하여 보상 읽기 전압(compensation read voltage)를 생성할 수 있다.
이하에서는 보다 간결한 설명을 위해, 메모리 컨트롤러(120)가 불휘발성 메모리 장치(110)로 제1 페이지에 대한 읽기 커맨드를 송신한 경우에 대한 실시 예가 대표적으로 설명된다. 따라서, 문맥상 명백히 달리 설명되지 않는 한, 프로그램 온도(TPGM)은 제1 페이지에 대한 프로그램 온도를 지칭할 수 있고, 읽기 온도(TRD)는 제1 페이지에 대한 읽기 온도를 지칭할 수 있다.
불휘발성 메모리 장치(110)에 대한 읽기 동작이 수행되는 경우, 메모리 컨트롤러(120)는 이에 대응되는 프로그램 온도(TPGM)를 불휘발성 메모리 장치(110)로 제공할 수 있다. 예를 들어, 불휘발성 메모리 장치(110)의 제1 페이지에 대한 읽기 동작이 수행되는 경우, 메모리 컨트롤러(120)는 제1 페이지에 대한 프로그램 온도(TPGM)을 휘발성 메모리 장치(130)로부터 읽을 수 있다. 이후, 메모리 컨트롤러(120)는 제1 페이지에 대한 프로그램 온도(TPGM)를 불휘발성 메모리 장치(110)로 제공할 수 있다. 메모리 컨트롤러(120)로부터 수신된 커맨드(CMD) 및 어드레스(ADDR)가 제1 페이지에 대한 읽기 동작을 가리키는 경우, 제1 온도 센서(111)는 제1 페이지에 대한 읽기 온도(TRD)를 측정할 수 있다. 이 경우, 온도 보상 회로(112)는 제1 페이지에 대한 읽기 온도(TRD)(즉, 제1 온도 센서(111)에 의해 측정된 온도) 및 제1 페이지에 대한 프로그램 온도(TPGM)(즉, 제2 온도 센서(121)에 의해 측정된 온도)에 기초하여 보상 읽기 전압을 생성할 수 있다. 일 실시 예에서, 보상 읽기 전압은 선택 읽기 전압(selected read voltage) 및 읽기 레벨 오프셋(read level offset)의 합일 수 있다.
일 실시 예에서, 선택 읽기 전압은, 소정의 온도(predetermined temperature)에서 프로그램 및 읽기 동작이 수행되는 경우, 불휘발성 메모리 장치(110)의 메모리 셀들의 문턱 전압을 판별하는데 사용되는 복수의 읽기 전압들 중 하나를 지칭할 수 있다. 읽기 전압은 이하의 도 3, 도 4, 및 도 5a 내지 도 5b를 참조하여 보다 상세하게 설명될 것이다.
일 실시 예에서, 읽기 레벨 오프셋은, 프로그램 동작 및 읽기 동작 중 하나 이상이 소정의 온도에서 수행되지 않는 경우, 정확한 읽기 동작 수행을 위해 보정되는 선택 읽기 전압의 전압 레벨을 지칭할 수 있다.
일 실시 예에서, 읽기 레벨 오프셋은 선택 읽기 전압에 따라 달라질 수 있다. 선택 읽기 전압에 따른 읽기 레벨 오프셋의 차이는 이하의 도 6a 및 도 6b를 참조하여 상세하게 설명된다.
일 실시 예에서, 읽기 레벨 오프셋은 프로그램 온도(TPGM) 및 읽기 온도(TRD)에 따라 달라질 수 있다. 예를 들어, 온도 보상 회로(112)는 프로그램 온도(TPGM) 및 선택 읽기 전압에 기초하여, 측정된 읽기 온도(TRD)와 대응되는 읽기 레벨 오프셋을 연산할 수 있다. 읽기 전압, 프로그램 온도(TPGM), 읽기 온도(TRD), 및 읽기 레벨 오프셋의 관계는 이하의 도면들을 참조하여 상세하게 설명된다.
일 실시 예에서, 온도 보상 회로(112)는 프로그램 온도(TPGM) 및 선택 읽기 전압에 따라 결정되는, 읽기 온도(TRD) 및 읽기 레벨 오프셋에 대한 관계식에 기초하여 동작할 수 있다. 예를 들어, 온도 보상 회로(112)는 읽기 전압 및 프로그램 온도(TPGM) 별로 모델링된 읽기 온도(TRD) 및 읽기 레벨 오프셋에 대한 복수의 관계식들을 저장할 수 있다. 온도 보상 회로(112)는 선택 읽기 전압 및 수신된 프로그램 온도(TRGM)에 기초하여, 복수의 관계식들 중 하나를 선택할 수 있다. 온도 보상 회로(112)는 선택된 관계식을 이용하여, 읽기 온도(TRD)에 기초하여 읽기 레벨 오프셋을 연산할 수 있다.
즉, 본 개시의 실시 예에 따르면, 메모리 컨트롤러(120) 내부의 SRAM(static random access memory)에 저장된 TBT(temperature bump table)을 통해 읽기 레벨 오프셋을 결정하는 대신, 불휘발성 메모리 장치(110) 내에서 읽기 레벨 오프셋이 연산(calculate)될 수 있다. 따라서, 본 개시의 실시 예에 따르면, 메모리 컨트롤러(120) 내부의 SRAM(static random access memory)에 저장되는 데이터의 용량이 감소될 수 있다.
도 2는 도 1의 메모리 컨트롤러를 보다 상세하게 보여주는 블록도이다. 도 1 및 도 2를 참조하면, 메모리 컨트롤러(120)는 제2 온도 센서(121), 프로세서(122; processor), SRAM(static random access memory)(123), 호스트 장치 인터페이스(124; host device interface), 휘발성 메모리 장치 인터페이스(125; volatile memory device interface), 및 불휘발성 메모리 장치 인터페이스(126; nonvolatile memory device interface)를 포함할 수 있다. 제2 온도 센서(121), 프로세서(122), SRAM(123), 호스트 장치 인터페이스(124), 휘발성 메모리 장치 인터페이스(125), 및 불휘발성 메모리 장치 인터페이스(126)는 버스를 통해 서로 연결될 수 있다.
프로세서(122)는 메모리 컨트롤러(120)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(122)는 메모리 컨트롤러(120)에서 실행되는 다양한 어플리케이션(예를 들어, 플래시 변환 레이어(FTL; flash translation layer))을 실행할 수 있다.
SRAM(123)는 메모리 컨트롤러(120)의 버퍼 메모리, 동작 메모리, 또는 캐시 메모리로서 사용될 수 있다.
일 실시 예에서, SRAM(123)의 용량은 제한적일 수 있다. 그러나, 본 개시의 실시 예에 따르면, 읽기 레벨 오프셋을 결정하기 위해 SRAM(123)에 저장되는, 읽기 온도, 프로그램 온도, 및 읽기 레벨 오프셋에 대한 테이블(즉, TBT(temperature bump table))의 용량이 감소할 수 있다.
메모리 컨트롤러(120)는 호스트 장치 인터페이스(124)를 통해 호스트 장치(미도시)와 통신할 수 있다. 예를 들어, 호스트 장치 인터페이스(124)는 PCI-express(Peripheral Component Interconnect express) 인터페이스, NVMe(nonvolatile memory express) 인터페이스, SATA(Serial ATA) 인터페이스, SAS(Serial Attached SCSI) 인터페이스, UFS(Universal Flash Storage) 인터페이스 등과 같은 다양한 호스트 장치 인터페이스들 중 적어도 하나를 포함할 수 있다.
메모리 컨트롤러(120)는 휘발성 메모리 장치 인터페이스(125)를 통해 휘발성 메모리 장치(130)과 통신할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 휘발성 메모리 장치 인터페이스(125)를 통해, 제2 온도 센서(121)가 측정한 프로그램 온도(TPGM)을 휘발성 메모리 장치(130)에 저장하거나, 휘발성 메모리 장치(130)에 저장된 프로그램 온도(TPGM)을 독출할 수 있다.
메모리 컨트롤러(120)는 불휘발성 메모리 장치 인터페이스(126)를 통해 불휘발성 메모리 장치(110)와 통신할 수 있다. 예를 들어, 불휘발성 메모리 장치 인터페이스(126)는 낸드(NAND) 인터페이스일 수 있다.
도 3은 도 1의 불휘발성 메모리 장치를 보여주는 블록도이다. 도 1 내지 도 3을 참조하면, 불휘발성 메모리 장치(110)는 제1 온도 센서(111), 온도 보상 회로(112), 메모리 셀 어레이(113; memory cell array), 어드레스 디코더(114; address decoder), 제어 로직 회로(115; control logic circuit), 페이지 버퍼(116; page buffer), 및 입출력 회로(117; I/O circuit)를 포함할 수 있다. 이하에서 보다 간결한 설명을 위해, 도 2에서는 커맨드(CMD), 어드레스(ADDR), 데이터(DATA), 프로그램 온도(TPGM) 등의 다양한 신호들이 다양한 기능 블록들로 직접 제공되는 것으로 도시되지만, 본 개시의 범위는 이에 한정되지 않는다.
메모리 셀 어레이(113)는 복수의 메모리 블록들을 포함할 수 있다. 복수의 메모리 블록들 각각의 구성은 도 4를 참조하여 좀 더 상세하게 설명될 것이다.
어드레스 디코더(114)는 스트링 선택 라인들(SSL), 워드라인들(WL), 및 접지 선택 라인들(GSL)을 통해 메모리 셀 어레이(113)와 연결될 수 있다. 어드레스 디코더(114)는 메모리 컨트롤러(120)로부터 어드레스(ADDR)를 수신할 수 있다. 어드레스 디코더(114)는 어드레스(ADDR)를 디코딩하고, 디코딩된 결과를 기반으로 스트링 선택 라인들(SSL), 워드라인들(WL), 및 접지 선택 라인들(GSL)의 전압을 제어할 수 있다.
페이지 버퍼(116)는 비트라인들(BL)을 통해 메모리 셀 어레이(113)와 연결될 수 있다. 페이지 버퍼(116)는 메모리 셀 어레이(113)로부터 읽은 데이터를 임시 저장하거나 또는 메모리 셀 어레이(113)에 저장될 데이터를 임시 저장하도록 구성될 수 있다.
입출력 회로(117)는 메모리 컨트롤러(120)로부터 수신된 데이터(DATA)를 데이터 라인(DL)을 통해 페이지 버퍼(116)로 제공하거나 또는 데이터 라인(DL)을 통해 수신된 데이터(DATA)를 메모리 컨트롤러(120)로 제공할 수 있다.
제어 로직 회로(115)는 메모리 컨트롤러(120)로부터 커맨드(CMD)를 수신할 수 있다. 제어 로직 회로(115)는 수신된 커맨드(CMD)에 기초하여 불휘발성 메모리 장치(110)의 제반 동작을 제어할 수 있다.
제어 로직 회로(115)는 메모리 컨트롤러(120)로부터 읽기 커맨드를 수신할 수 있다. 이 경우, 제어 로직 회로(115)는 수신된 읽기 커맨드와 대응되는 프로그램 온도(TPGM)를 메모리 컨트롤러(120)로부터 수신할 수 있다. 예를 들어, 제어 로직 회로(115)가 제1 페이지에 대한 읽기 커맨드를 수신한 경우, 제어 로직 회로(115)는 메모리 컨트롤러(120)로부터 제1 페이지에 대한 프로그램 온도(TPGM)를 수신할 수 있다. 이하에서는 수신된 커맨드(CMD)가 제1 페이지에 대한 읽기 커맨드인 경우에 대한 실시 예가 상세하게 설명될 것이다.
일 실시 예에서, 프로그램 온도(TPGM)는 메모리 컨트롤러(120)로부터 제공된 커맨드(CMD)의 커맨드 시퀀스에 포함될 수 있다. 프로그램 온도(TPGM)가 읽기 커맨드의 커맨드 시퀀스에 포함되는 구체적인 실시 예는 이하의 도 13을 참조하여 상세하게 설명된다.
제어 로직 회로(115)는 메모리 컨트롤러(120)로부터 수신된 읽기 커맨드에 응답하여, 제1 온도 센서(111)로부터 읽기 온도(TRD)를 수신할 수 있다. 예를 들어, 제어 로직 회로(115)가 제1 페이지에 대한 읽기 커맨드를 수신한 경우, 제어 로직 회로(115)는 제1 온도 센서(111)로부터 제1 페이지에 대한 읽기 온도(TRD)를 수신할 수 있다.
제어 로직 회로(115)는 수신된 읽기 커맨드에 대한 프로그램 온도(TPGM) 및 읽기 온도(TRD)를 온도 보상 회로(112)로 제공할 수 있다. 예를 들어, 제어 로직 회로(115)가 제1 페이지에 대한 읽기 커맨드를 수신한 경우, 제어 로직 회로(115)는 제1 페이지에 대한 프로그램 온도(TPGM) 및 제1 페이지에 대한 읽기 온도(TRD)를 온도 보상 회로(112)로 제공할 수 있다.
제어 로직 회로(115)는 온도 보상 회로(112)로 선택 읽기 전압 신호(Sig_VRD)를 제공할 수 있다. 이 경우, 선택 읽기 전압 신호(Sig_VRD)는 이산적으로 정의된 복수의 읽기 전압들 중 하나인 선택 읽기 전압(VRD; selected read voltage)를 지칭하는 신호일 수 있다. 예를 들어, 선택 읽기 전압 신호(Sig_VRD)는 선택 읽기 전압(VRD)에 대한 식별자(identifier)를 포함할 수 있다. 복수의 읽기 전압들은 이하의 도 5a를 참조하여 상세하게 설명된다.
온도 보상 회로(112)는 선택 읽기 전압 신호(Sig_VRD)에 응답하여 선택 읽기 전압(VRD)에 대응되는 보상 읽기 전압(VRD_COM; compensation read voltage)를 생성할 수 있다. 이 경우, 보상 읽기 전압(VRD_COM)은 선택 읽기 전압(VRD) 및 읽기 레벨 오프셋(RLO; read level offset)의 합일 수 있다.
온도 보상 회로(112)는 선택 읽기 전압(VRD), 읽기 전압(VRD), 프로그램 온도(TPGM), 및 읽기 온도(TRD)에 기초하여 읽기 레벨 오프셋(RLO)을 결정할 수 있다. 예를 들어, 온도 보상 회로(112)는 서로 다른 복수의 읽기 전압들 및 프로그램 온도에 대해 모델링된, 읽기 온도 및 읽기 레벨 오프셋에 대한 복수의 관계식들을 저장할 수 있다. 온도 보상 회로(112)는 저장된 복수의 관계식들 중, 선택 읽기 전압(VRD) 및 수신된 프로그램 온도(TPGM)에 대응되는 관계식을 선택할 수 있다. 온도 보상 회로(112)는 선택된 관계식에 기초하여 수신된 읽기 온도(TRD)에 대응되는 읽기 레벨 오프셋(RLO)을 연산할 수 있다.
온도 보상 회로(112)는 연산된 읽기 레벨 오프셋(RLO) 및 선택 읽기 전압(VRD)에 기초하여 보상 읽기 전압(VRD_COM)을 생성할 수 있다. 온도 보상 회로(112)는 생성된 보상 읽기 전압(VRD_COM)을 어드레스 디코더(114)를 통해 '선택 워드라인(selected word line)'으로 제공할 수 있다. 이 경우, 선택 워드라인은 어드레스 디코더(114)로 수신된 어드레스(ADDR)과 대응되는 워드라인을 지칭할 수 있다. 예를 들어, 선택 워드라인은 제1 페이지와 연결된 제1 워드라인을 지칭할 수 있다.
도 4는 도 3의 메모리 셀 어레이에 포함된 복수의 메모리 블록들 중 하나의 메모리 블록(BLK)을 예시적으로 보여주는 회로도이다. 도 4를 참조하여 하나의 메모리 블록(BLK)이 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 메모리 셀 어레이(113)에 포함된 복수의 메모리 블록들은 도 4의 메모리 블록(BLK)과 동일하거나 또는 유사한 구조를 가질 수 있다.
도 3 및 도 4를 참조하면, 메모리 블록(BLK)은 복수의 셀 스트링들(CS11, CS12, CS21, CS22)을 포함할 수 있다. 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각은 행 방향(Row Direction) 및 열 방향(Column Direction)으로 배열될 수 있다.
복수의 셀 스트링들(CS11, CS12, CS21, CS22) 중 동일한 열에 위치한 셀 스트링들은 동일한 비트라인과 연결될 수 있다. 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 중 동일한 행에 위치한 셀 스트링들은 서로 다른 비트라인과 연결될 수 있다. 예를 들어, 셀 스트링들(CS11, CS21)은 제1 비트라인(BL1)과 연결될 수 있고, 셀 스트링들(CS12, CS22)은 제2 비트라인(BL2)과 연결될 수 있다.
복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각은 복수의 셀 트랜지스터들을 포함할 수 있다. 복수의 셀 트랜지스터들 각각은 전하 트랩형 플래시(CTF; charge trap flash) 메모리 셀일 수 있다. 복수의 셀 트랜지스터들은 행 방향 및 열 방향에 의해 형성된 평면(예를 들어, 반도체 기판(미도시))과 수직한 방향인 높이 방향(height direction)으로 적층될 수 있다.
복수의 셀 트랜지스터들은 대응하는 비트라인(예를 들어, 제1 비트라인(BL1) 또는 제2 비트라인(BL2)) 및 공통 소스 라인(CSL) 사이에 직렬 연결될 수 있다. 예를 들어, 복수의 셀 트랜지스터들은 스트링 선택 트랜지스터들(SSTb, SSTa), 더미 메모리 셀들(DMC1, DMC2), 메모리 셀들(MC1~MC8), 및 접지 선택 트랜지스터들(GSTa, GSTb)을 포함할 수 있다. 직렬 연결된 스트링 선택 트랜지스터들(SSTb, SSTa)은 직렬 연결된 메모리 셀들(MC1~MC8) 및 대응하는 비트 라인(예를 들어, BL1 또는 BL2) 사이에 제공될 수 있다. 직렬 연결된 접지 선택 트랜지스터들(GSTa, GSTb)은 직렬 연결된 메모리 셀들(MC1~MC8) 및 공통 소스 라인(CSL) 사이에 제공될 수 있다.
예시적인 실시 예에서, 직렬 연결된 스트링 선택 트랜지스터들(SSTb, SSTa) 및 직렬 연결된 메모리 셀들(MC1~MC8) 사이에 제2 더미 메모리 셀(DMC2)이 제공될 수 있고, 직렬 연결된 메모리 셀들(MC1~MC8) 및 직렬 연결된 접지 선택 트랜지스터들(GSTb, GSTa) 사이에 제1 더미 메모리 셀(DMC1)이 제공될 수 있다.
복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 메모리 셀들(MC1~MC8) 중 동일한 높이에 위치한 메모리 셀들은 서로 동일한 워드라인을 공유할 수 있다. 예를 들어, 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 제1 메모리 셀들(MC1)은 기판(미도시)으로부터 동일한 높이에 위치할 수 있고, 제1 워드라인(WL1)을 공유할 수 있다. 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 제2 메모리 셀들(MC2)은 기판(미도시)으로부터 동일한 높이에 위치할 수 있고, 제2 워드라인(WL2)을 공유할 수 있다. 마찬가지로, 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 제3 내지 제8 메모리 셀들(MC3~MC8) 각각은 기판(미도시)으로부터 동일한 높이에 위치할 수 있고, 각각 제3 내지 제8 워드라인들(WL3~WL8)을 공유할 수 있다.
일 실시 예에서, 동일한 높이에 위치한 메모리 셀들 중 동일한 행에 위치한 셀 스트링에 포함된 메모리 셀들은 하나의 페이지를 포함할 수 있다. 예를 들어, 제1 메모리 셀들(MC1) 중, 셀 스트링들(CS11, CS12)에 포함된 메모리 셀들은 제1 페이지를 포함할 수 있다. 이 경우, 제1 페이지의 메모리 셀들은 서로 동일한 워드라인에 연결될 수 있고, 서로 다른 비트라인에 대응될 수 있다. 이 경우, 제1 페이지의 메모리 셀들은 동시에 프로그램되고 동시에 읽어질 것이다.
이와 유사하게, 제1 메모리 셀들(MC1) 중, 셀 스트링들(CS21, CS22)에 포함된 메모리 셀들은 제2 페이지를 포함할 수 있다. 제2 페이지의 메모리 셀들의 구성 및 동작은 앞서 설명된 제1 페이지의 메모리 셀들의 구성 및 동작과 유사하므로 상세한 설명은 생략될 것이다.
복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 더미 메모리 셀들(DMC1, DMC2) 중 동일한 높이에 위치한 더미 메모리 셀들은 서로 동일한 더미 워드라인을 공유할 수 있다. 예를 들어, 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 제1 더미 메모리 셀들(DMC1)은 제1 더미 워드라인(DWL1)을 공유할 수 있고, 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 제2 더미 메모리 셀들(DMC2)은 제2 더미 워드라인(DWL2)을 공유할 수 있다.
복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 스트링 선택 트랜지스터들(SSTa, SSTb) 중 동일한 행 및 동일한 높이에 위치한 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인과 연결될 수 있다. 예를 들어, 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL1b)과 연결될 수 있고, 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)과 연결될 수 있다. 셀 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL2b)과 연결될 수 있고, 셀 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL2a)과 연결될 수 있다.
비록 도면에 도시되지는 않았으나, 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 스트링 선택 트랜지스터들(SSTb, SSTa) 중 동일한 행에 위치한 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인을 공유할 수 있다. 예를 들어, 셀 스트링들(CS11, CS12)의 스트링 선택 트랜지스터들(SSTb, SSTa)은 제1 스트링 선택 라인을 공유할 수 있고, 셀 스트링들(CS21, CS22)의 스트링 선택 트랜지스터들(SSTb, SSTa)은 제1 스트링 선택 라인과 다른 제2 스트링 선택 라인을 공유할 수 있다.
복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각의 접지 선택 트랜지스터들(GSTb, GSTa) 중 동일한 행 및 동일한 높이에 위치한 접지 선택 트랜지스터들은 동일한 접지 선택 라인과 연결될 수 있다.
도 4에 도시된 메모리 블록(BLK)은 예시적인 것이며, 셀 스트링들의 개수는 증가 또는 감소될 수 있고, 셀 스트링들의 개수에 따라 셀 스트링을 구성하는 행들 및 열들의 개수가 증가 또는 감소될 수 있다. 또한, 메모리 블록(BLK)의 셀 트랜지스터들(GST, MC, DMC, SST 등)의 개수들은 각각 증가 또는 감소될 수 있으며, 셀 트랜지스터들의 개수들에 따라 메모리 블록(BLK)의 높이가 증가 또는 감소할 수 있다. 또한, 셀 트랜지스터들의 개수들에 따라 셀 트랜지스터들과 연결된 라인들(GSL, WL, DWL, SSL 등)의 개수들이 증가 또는 감소될 수 있다.
도 5a 및 도 5b는 도 4의 메모리 블록에 포함된 복수의 메모리 셀들의 문턱 전압 산포를 보여주는 산포도이다. 도 5a 내지 도 5b의 산포도들의 가로축들은 메모리 셀들의 문턱 전압(Vth)을 가리키고, 세로축들은 메모리 셀들의 수를 가리킨다. 이하에서, 보다 간결한 설명을 위해, 복수의 메모리 셀들 각각은 셀 당 3비트를 저장하도록 구성된 TLC(Triple Level Cell)인 것으로 가정한다. 그러나 본 개시의 범위는 이에 한정되지 않고, 복수의 메모리 셀들 각각은 SLC(single level cell), MLC(multi-level cell), QLC(quad level cell), PLC(penta-level cell) 등과 같은 다양한 형태로 구현될 수 있다.
먼저, 도 3 내지 도 4, 및 도 5a를 참조하면, 불휘발성 메모리 장치(110)는 복수의 메모리 셀들의 문턱 전압을 제어함으로써, 메모리 셀들에 데이터를 저장할 수 있다. 예를 들어, 복수의 메모리 셀들 각각은 소거 상태(E) 또는 제1 내지 제7 프로그램 상태들(P1~P7) 중 하나의 상태를 갖도록 프로그램(program)될 수 있다.
불휘발성 메모리 장치(110)는 메모리 셀들의 프로그램 상태를 감지함으로써, 메모리 셀들에 저장된 데이터를 읽을 수 있다. 예를 들어, 불휘발성 메모리 장치(110)는 제1 내지 제7 읽기 전압들(VRD1~VRD7)을 사용하여, 메모리 셀들의 문턱 전압을 감지함으로써, 메모리 셀들에 저장된 데이터를 읽을 수 있다.
일 실시 예에서, 프로그램된 복수의 메모리 셀들의 문턱 전압은 온도에 따라 달라질 수 있다. 온도에 따라 달라지는 복수의 메모리 셀들의 문턱 전압은 이하의 도 5b를 참조하여 보다 상세하게 설명된다.
이하에서는 보다 간결한 설명을 위해, 제1 내지 제7 프로그램 상태들(P1~P7) 중, 제k-1 프로그램 상태(Pk-1) 및 제k 프로그램 상태(Pk)에 대한 메모리 셀들의 문턱 전압 산포가 대표적으로 설명될 것이다. 그러나 본 개시의 범위는 이에 한정되지 않는다.
도 3 내지 도 4, 및 도 5a 내지 도 5b를 참조하면, 제1 온도(T1)에서, 불휘발성 메모리 장치(110)는 제k 읽기 전압(VRDk)을 사용하여, 메모리 셀들 각각이 제k 읽기 전압(VRDk)보다 높은 문턱 전압과 대응되는 프로그램 상태에 있는지, 또는 제k 읽기 전압(VRDk)보다 낮은 문턱 전압과 대응되는 프로그램 상태에 있는지 여부를 판별할 수 있다. 이 경우, 제k 읽기 전압(VRDk)은 앞서 도 3을 참조하여 설명된 선택 읽기 전압(VRD)에 대응될 수 있다.
그러나, 제1 온도(T1)보다 높은 제2 온도(T2)에서의 메모리 셀들의 산포는, 제1 온도(T1)에서의 메모리 셀들의 산포와 다를 수 있다. 예를 들어, 제2 온도(T2)에서, 메모리 셀들의 문턱 전압은 제1 온도(T1)의 메모리 셀들의 문턱 전압보다 높을 수 있다. 이 경우, 불휘발성 메모리 장치(110)는 제k 읽기 전압(VRDk)를 사용하여, 메모리 셀들 각각이 제k 읽기 전압(VRDk)보다 높은 문턱 전압과 대응되는 프로그램 상태에 있는지, 또는 제k 읽기 전압(VRDk)보다 낮은 문턱 전압과 대응되는 프로그램 상태에 있는지 여부를 판별하지 못할 수 있다. 보다 상세하게는, 불휘발성 메모리 장치(110)가 제k 읽기 전압(VRDk)를 사용하는 경우, 제k-1 프로그램 상태(Pk-1)를 갖는 메모리 셀들 중 일부는 제k 읽기 전압(VRDk)보다 높은 문턱 전압을 갖고, 다른 일부는 제k 읽기 전압(VRDk)보다 낮은 문턱 전압을 갖는 것으로 판별될 수 있다. 이 경우, 메모리 셀들로부터 읽어지는 데이터에 에러가 발생할 수 있다.
일 실시 예에서, 제2 온도(T2)에서, 불휘발성 메모리 장치(110)가 제k 읽기 전압(VRDk)보다 높은 제k 보상 읽기 전압(VRDk_COM_T2)를 사용하는 경우, 메모리 셀들 각각이 제k 보상 읽기 전압(VRDk_COM_T2)보다 높은 문턱 전압과 대응되는 프로그램 상태에 있는지, 또는 제k 보상 읽기 전압(VRDk_COM_T2) 보다 낮은 문턱 전압과 대응되는 프로그램 상태에 있는지 여부가 판별될 수 있다. 즉, 불휘발성 메모리 장치(110)는 제k 읽기 전압(VRDk) 대신, 제k 읽기 전압(VRDk)에 제k 읽기 레벨 오프셋(RLOk_T2)를 더한 제k 보상 읽기 전압(VRDk_COM_T2)을 사용하여 읽기 동작을 수행할 수 있을 것이다. 즉, 이 경우, 제k 읽기 레벨 오프셋(RLOk)은 앞서 도 3을 참조하여 설명된 읽기 레벨 오프셋(RLO)에 대응될 수 있고, 제k 보상 읽기 전압(VRDk_COM_T2)은 앞서 도 3을 참조하여 보상 읽기 전압(VRD_COM)에 대응될 수 있을 것이다.
반대로, 제1 온도(T1) 보다 낮은 제3 온도(T3)에서, 메모리 셀들의 문턱 전압은 제1 온도(T1)의 메모리 셀들의 문턱 전압보다 낮을 수 있다. 이 경우, 불휘발성 메모리 장치(110)는 제k 읽기 전압(VRDk) 대신, 제k 읽기 전압(VRDk) 보다 낮은 제k 보상 읽기 전압(VRDk_COM_T3)을 사용하여 읽기 동작을 수행할 수 있을 것이다.
즉, 본 개시의 실시 예에 따르면, 제k 읽기 레벨 오프셋(RLOk)는 읽기 온도(TRD)에 기초하여 달라질 수 있다. 읽기 온도(TRD)에 따른 “적절한 제k 읽기 레벨 오프셋(RLOk)”은 사전에(예를 들어, 읽기 동작이 수행되기 이전에) 테스트될 수 있다. (이 경우, “적절한 제k 읽기 레벨 오프셋(RLOk)”은 제k 보상 읽기 전압(VRDk_COM_T2 또는 VRDk_COM_T3)이 제k-1 프로그램 상태(Pk-1) 및 제k 프로그램 상태(Pk) 사이의 전압 레벨에 대응되도록 하는 제k 읽기 레벨 오프셋(RLOk)을 지칭할 수 있다.) 온도 보상 회로(112)는, 테스트된 읽기 온도(TRD)별 “적절한 제k 읽기 레벨 오프셋(RLOk)”에 기초하여 모델링된 관계식들을 저장할 수 있다.
즉, 온도 보상 회로(112)는 저장된 관계식들에 기초하여 읽기 온도(TRD)에 대한 적절한 읽기 레벨 오프셋(RLO)을 연산하고, 보상 읽기 전압(VRD_COM)을 생성할 수 있다. 따라서, 본 개시의 실시 예에 따르면, 읽기 동작이 수행되는 시점의 불휘발성 메모리 장치(110)의 온도가 높아지는 경우, 상대적으로 높은 보상 읽기 전압(VRD_COM)을 사용하여 읽기 동작이 수행될 수 있다. 반대로, 읽기 동작이 수행되는 시점의 불휘발성 메모리 장치(110)의 온도가 낮아지는 경우, 상대적으로 낮은 보상 읽기 전압(VRD_COM)을 사용하여 읽기 동작이 수행될 수 있다.
도 6a 및 도 6b는 선택 읽기 전압, 프로그램 온도, 읽기 온도, 및 읽기 레벨 오프셋의 관계를 보여주는 도면이다. 도 6a 및 도 6b의 가로축은 온도를 나타내고, 세로축은 전압을 나타낼 수 있다. 이하에서는 보다 간결한 설명을 위해, 도 6a를 참조하여 선택 읽기 전압(VRD)이 도 5a의 제1 읽기 전압(VRD1)인 실시 예가 대표적으로 설명될 것이고, 도 6b를 참조하여 선택 읽기 전압(VRD)이 도 6a의 제7 읽기 전압(VRD7)인 실시 예가 대표적으로 설명될 것이다.
먼저, 도 3, 도 4, 도 5a 내지 도 5b, 및 도 6a를 참조하면, 선택 읽기 전압(VRD)이 제1 읽기 전압(VRD1)이고, 프로그램 온도(TPGM)가 제1 온도(T1)인 경우에 대하여 사전 테스트된, 읽기 온도(TRD)별 적절한 읽기 레벨 오프셋(이하에서는 보다 간결한 설명을 위해, 선택 읽기 전압(VRD)이 제1 읽기 전압(VRD1)인 경우의 적절한 읽기 레벨 오프셋은 제1 읽기 레벨 오프셋(RLO1)로 지칭될 것이다.)가 동그라미들(black circles)로 도시된다. 이와 유사하게, 선택 읽기 전압(VRD)가 제1 읽기 전압(VRD1)이고, 프로그램 온도(TPGM)가 제1 온도(T1) 보다 높은 제2 온도(T2)인 경우에 대하여 사전 테스트된 제1 읽기 레벨 오프셋(RLO1)이 “X”들로 도시된다.
제1 읽기 레벨 오프셋(RLO1)은 읽기 온도(TRD)에 대하여 임의의 수학적 관계를 가질 수 있다. 예를 들어, 제1 읽기 레벨 오프셋(RLO1)은 읽기 온도(TRD)에 대해 선형성(linearity)을 가질 수 있다. 이하에서는 보다 간결한 설명을 위해 사전 테스트된 제1 읽기 레벨 오프셋(RLO1)이 읽기 온도(TRD)에 대해 선형성을 가지는 실시 예가 대표적으로 설명될 것이다. 그러나 본 개시의 범위는 이에 한정되지 않으며, 사전 테스트된 제1 읽기 레벨 오프셋(RLO1)은 읽기 온도(TRD)에 대해 비선형적(예를 들어, 다항 함수, 로그 함수 관계, 지수 함수 관계 등)일 수 있다.
일 실시 예에서, 선형 회귀(linear regression)를 통해, 읽기 온도(TRD) 및 제1 읽기 레벨 오프셋(RLO1) 사이의 선형 관계식(relation equation)이 모델링 될 수 있다. 보다 상세하게는, 프로그램 온도(TPGM)가 제1 온도(T1)인 경우(즉, 동그라미들로 도시됨), 읽기 온도(TRD) 및 제1 읽기 레벨 오프셋(RLO1)의 관계식은 실선으로 도시될 수 있다. 이와 유사하게, 프로그램 온도(TPGM)가 제2 온도(T2)인 경우(즉, “X”들로 도시됨), 읽기 온도(TRD) 및 제1 읽기 레벨 오프셋(RLO1)의 관계식은 점선으로 도시될 수 있다.
계속해서, 도 3, 도 4, 도 5a 내지 도 5b, 및 도 6a 내지 도 6b를 참조하면, 선택 읽기 전압(VRD)가 제7 읽기 전압(VRD7)이고, 프로그램 온도(TPGM)가 제1 온도(T1)인 경우에 대하여 사전 테스트된 읽기 온도(TRD)별 적절한 읽기 레벨 오프셋(이하에서는 보다 간결한 설명을 위해, 선택 읽기 전압(VRD)이 제7 읽기 전압(VRD7)인 경우의 적절한 읽기 레벨 오프셋은 제7 읽기 레벨 오프셋(RLO7)로 지칭될 것이다.)이 동그라미들(black circles)로 도시된다. 이와 유사하게, 선택 읽기 전압(VRD)가 제7 읽기 전압(VRD7)이고, 프로그램 온도(TPGM)가 제1 온도(T1) 보다 높은 제2 온도(T2)인 경우에 대하여 사전 테스트된 제7 읽기 레벨 오프셋(RLO7)은 “X”들로 도시된다.
앞서 도 6a를 참조하여 설명된 것과 유사하게, 선형 회귀(linear regression)를 통해, 읽기 온도(TRD) 및 제7 읽기 레벨 오프셋(RLO7) 사이의 선형 관계식(relation equation)이 모델링 될 수 있다. 보다 상세하게는, 프로그램 온도(TPGM)가 제1 온도(T1)인 경우, 읽기 온도(TRD) 및 제1 읽기 레벨 오프셋(RLO1)의 관계식은 실선으로 도시될 수 있다. 이와 유사하게, 프로그램 온도(TPGM)가 제2 온도(T2)인 경우, 읽기 온도(TRD) 및 제7 읽기 레벨 오프셋(RLO7)의 관계식은 점선으로 도시될 수 있다.
일 실시 예에서, 도 6a 및 도 6b를 비교하면, 읽기 레벨 오프셋(RLO)는 대응되는 선택 읽기 전압(VRD)에 따라 변경될 수 있다. 예를 들어, 제1 읽기 전압(VRD1)에 대응되는 제1 읽기 레벨 오프셋(RLO1)은 제7 읽기 전압(VRD7)에 대응되는 제7 읽기 레벨 오프셋(RLO7)과 다를 수 있다. 즉, 본 개시의 실시 예에 따르면, 온도 보상 회로(112)는 제1 내지 제7 읽기 전압들(VRD1~VRD7) 별로, 그리고 서로 다른 프로그램 온도(TPGM) 별로, 읽기 온도(TRD) 및 읽기 레벨 오프셋(RLO)에 대한 서로 다른 관계식들을 저장할 수 있다. 이 경우, 저장된 관계식들에 기초하여 읽기 온도(TRD)에 기초하여 읽기 레벨 오프셋(RLO)가 연산될 수 있으므로, 제1 온도 센서(111)의 분해능(resolution)보다 작은 단위로 읽기 레벨 오프셋(RLO)가 조정(adjust)될 수 있다. 따라서, 본 개시의 실시 예에 따르면 보다 정확한 읽기 레벨 오프셋(RLO)가 결정될 수 있다.
일 실시 예에서, 읽기 레벨 오프셋(RLO)는 프로그램 온도(TPGM)와도 선형적일 수 있다. 그러나 본 개시의 범위는 이에 한정되지 않는다.
도 7은 도 3의 온도 보상 회로를 보다 상세하게 보여주는 블록도이다. 도 3 내지 도 7을 참조하면, 온도 보상 회로(112)는 보상 연산 회로(112a; compensation calculate circuit) 및 전압 생성 회로(112b; voltage generate circuit)를 포함할 수 있다.
보상 연산 회로(112a)는 제어 로직 회로(115)로부터 읽기 온도(TRD), 프로그램 온도(TPGM), 및 선택 읽기 전압 신호(Sig_VRD)를 수신할 수 있다. 보상 연산 회로(112a)는 수신된 프로그램 온도(TPGM) 및 선택 읽기 전압 신호(Sig_VRD)에 기초하여 복수의 관계식들 중 하나를 선택할 수 있다. 보상 연산 회로(112a)는 선택된 관계식에 기초하여 읽기 레벨 오프셋(RLO)를 연산할 수 있다. 예를 들어, 보상 연산 회로(112a)는 선택된 관계식에 수신된 읽기 온도(TRD)를 대입하여 읽기 레벨 오프셋(RLO)를 연산할 수 있다.
보상 연산 회로(112a)는 연산된 읽기 레벨 오프셋에 기초하여 전압 생성 회로(112b)를 제어할 수 있다. 즉, 보상 연산 회로(112a)는 전압 생성 회로(112b)로 제어 신호(CS)를 제공할 수 있다. 전압 생성 회로(112b)는 제어 신호(CS)에 응답하여, 연산된 읽기 레벨 오프셋(RLO)에 대응되는 보상 읽기 전압(VRD_COM)을 생성할 수 있다. 이 경우, 보상 읽기 전압(VRD_COM)은 선택 읽기 전압 신호(Sig_VRD)와 대응되는 선택 읽기 전압(VRD) 및 연산된 읽기 레벨 오프셋(RLO)의 합일 수 있다.
일 실시 예에서, 제어 신호(CS)는 디지털 코드 형태일 수 있다. 예를 들어, 제어 신호(CS)는 1-바이트 디지털 코드일 수 있다. 그러나 본 개시의 범위는 이에 한정되지 않는다.
도 8은 도 1의 스토리지 장치의 동작 방법을 보여주는 흐름도이다. 도 1 내지 도 8을 참조하면, S110 단계에서, 스토리지 장치(100)는 복수의 읽기 전압들 및 복수의 프로그램 온도들에 대응되는, 읽기 온도 및 읽기 레벨 오프셋에 대한 복수의 관계식들을 모델링할 수 있다. 예를 들어, 스토리지 장치(100)는 각 프로그램 온도(TPGM) 및 선택 읽기 전압(VRD) 별로, 읽기 온도(TRD) 및 읽기 레벨 오프셋(RLO)의 관계식(relation equation)을 모델링할 수 있다. 즉, 복수의 관계식들은 복수의 프로그램 온도 및 복수의 읽기 전압들의 임의의 조합에 각각 대응될 수 있다. 이 경우, 온도 보상 회로(112)는 각 선택 읽기 전압(VRD) 및 프로그램 온도(TPGM) 별로 모델링된, 읽기 온도(TRD) 및 읽기 레벨 오프셋(RLO)의 관계식들을 저장할 수 있다.
일 실시 예에서, S110 단계는 스토리지 장치(100)의 생산 단계에서 수행될 수 있다. 그러나 본 개시의 범위는 이에 한정되지 않는다.
일 실시 예에서, S110 단계는 머신 러닝(machine learning)에 기초하여 수행될 수 있다.
일 실시 예에서, 모델링된 복수의 관계식들은, 불휘발성 메모리 장치(110)에대한 읽기 동작이 수행될 때 에러가 발생하는 비율에 기초하여 조정될 수 있다. 예를 들어, 불휘발성 메모리 장치(110)에대한 읽기 동작이 수행될 때 에러가 발생하는 비율이 임의의 임계 값을 넘는 경우, 머신 러닝에 기초하여 모델링된 복수의 관계식들의 계수들(coefficients)이 조정될 수 있다.
S120 단계에서, 스토리지 장치(100)은 프로그램 동작이 수행될 때 측정된 프로그램 온도(TPGM)를 저장할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 제1 페이지에 대한 프로그램 동작이 수행될 때, 제2 온도 센서(121)를 사용하여 제1 페이지에 대한 프로그램 온도(TPGM)를 측정할 수 있다. 이 경우, 측정된 프로그램 온도(TPGM)는 휘발성 메모리 장치(130)에 저장될 수 있다.
S130 단계에서, 스토리지 장치(100)는 읽기 동작이 수행될 때 읽기 온도를 측정할 수 있다. 예를 들어, 불휘발성 메모리 장치(110)는 제1 페이지에 대한 읽기 커맨드에 응답하여, 제1 온도 센서(111)를 사용하여 제1 페이지에 대한 읽기 온도(TREAD)를 측정할 수 있다.
S140 단계에서, 스토리지 장치(100)는 프로그램 온도(TPGM) 및 선택 읽기 전압(VRD)에 대응되는 관계식에 기초하여, 읽기 온도(TRD)와 대응되는 읽기 레벨 오프셋(RLO)을 결정할 수 있다. 예를 들어, 온도 보상 회로(112)는 S110 단계에서 모델링 된 복수의 관계식들 중, 프로그램 온도(TPGM) 및 선택 읽기 전압(VRD)와 대응되는 관계식에, S130 단계에서 측정된 읽기 온도(TRD)를 대입하여 읽기 레벨 오프셋을 연산할 수 있다. S140 단계는 이하의 도 11을 참조하여 보다 상세하게 설명된다.
S150 단계에서, 스토리지 장치(100)는 연산된 읽기 레벨 오프셋(RLO)에 기초하여 읽기 동작을 수행할 수 있다. 예를 들어, 온도 보상 회로(112)는 선택 읽기 전압(VRD) 및 연산된 읽기 레벨 오프셋(RLO)에 기초하여, 보상 읽기 전압(VRD_COM)를 생성할 수 있다. 온도 보상 회로(112)는 생성된 보상 읽기 전압(VRD_COM)을 어드레스 디코더(114)를 통해 선택 워드라인으로 제공할 수 있다. S150 단계는 이하의 도 12을 참조하여 보다 상세하게 설명된다.
도 9은 도 8의 S120 단계를 보다 상세하게 보여주는 흐름도이다. 도 1 내지 도 9을 참조하면, S120 단계는 S121 단계 내지 S123 단계를 포함할 수 있다.
S121 단계에서, 메모리 컨트롤러(120)는 불휘발성 메모리 장치(110)로 프로그램 커맨드를 송신할 수 있다. 예를 들어, 프로그램 커맨드는 불휘발성 메모리 장치(110)의 제1 페이지에 대한 프로그램 동작을 나타내는 커맨드일 수 있다.
S122 단계에서, 메모리 컨트롤러(120)는 제2 온도 센서(121)로 프로그램 온도(TPGM)를 측정할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 제2 온도 센서(121)를 통해 제1 페이지에 대한 프로그램 동작이 수행되는 동안의 불휘발성 메모리 장치(110)의 온도를 측정할 수 있다.
S123 단계에서, 메모리 컨트롤러(120)는 프로그램 온도(TPGM)를 휘발성 메모리 장치(130)에 저장할 수 있다. 이 경우, 휘발성 메모리 장치(130)는 복수의 페이지들에 대한 프로그램 온도(TPGM)를 개별적으로 저장할 수 있다. 예를 들어, 휘발성 메모리 장치(130)는 제1 페이지에 대한 프로그램 온도 및 제2 페이지에 대한 프로그램 온도를 개별적으로 저장할 수 있다.
일 실시 예에서, S121 내지 S123 단계의 순서는 서로 변경될 수 있다. 예를 들어, S121 단계는 S122 단계 또는 S123 단계 후에 수행될 수도 있다. 즉 본 개시의 범위는 S121 내지 S123 단계의 순서에 한정되지 않는다.
도 10는 도 8의 S130 단계를 보다 상세하게 보여주는 흐름도이다. 도 1 내지 도 10을 참조하면, S130 단계는 S131 단계 내지 S133 단계를 포함할 수 있다.
S131 단계에서, 메모리 컨트롤러(120)는 읽을 페이지에 대한 프로그램 온도(TPGM)을 휘발성 메모리 장치(130)로부터 독출할 수 있다. 예를 들어, 메모리 컨트롤러(120)가 불휘발성 메모리 장치(110)로부터 제1 페이지의 데이터를 독출할 경우, 메모리 컨트롤러(120)는 제1 페이지에 대한 읽기 커맨드를 불휘발성 메모리 장치(110)로 송신하기 앞서, 제1 페이지에 대한 프로그램 온도(TPGM)을 휘발성 메모리 장치(130)로부터 독출할 수 있다.
S132 단계에서, 메모리 컨트롤러(120)는 독출된 프로그램 온도(TPGM) 및 읽기 커맨드를 불휘발성 메모리 장치(110)로 전송할 수 있다. 예를 들어, 메모리 컨트롤러(120)는 제1 페이지에 대한 읽기 커맨드 및 제1 페이지에 대한 프로그램 온도(TPGM)을 불휘발성 메모리 장치(110)로 전송할 수 있다. 일 실시 예에서, 제1 페이지에 대한 프로그램 온도(TPGM)는 제1 페이지에 대한 읽기 커맨드의 커맨드 시퀀스에 포함될 수 있다.
S133 단계에서, 불휘발성 메모리 장치(110)는 제1 온도 센서(111)로 읽기 온도(TRD)를 측정할 수 있다. 즉, 불휘발성 메모리 장치(110)는 제1 페이지에 대한 읽기 커맨드에 응답하여, 제1 온도 센서(111)를 통해 불휘발성 메모리 장치(110)의 온도를 측정할 수 있다. 이 경우, 측정된 온도는 제1 페이지에 대한 읽기 온도(TRD)로 지칭될 수 있다.
도 11는 도 8의 S140 단계를 보다 상세하게 보여주는 흐름도이다. 도 1 내지 도 11을 참조하면, S140 단계는 S141 단계 내지 S143 단계를 포함할 수 있다.
S141 단계에서, 불휘발성 메모리 장치(110)는 복수의 읽기 전압들 중 하나를 선택할 수 있다. 예를 들어, 제어 로직 회로(115)는 사전에 정의된 복수의 읽기 전압들 중, 하나의 읽기 전압을 선택할 수 있다. 이 경우, 선택된 읽기 전압은 선택 읽기 전압(VRD)로 지칭될 수 있다. 제어 로직 회로(115)는 선택 읽기 전압(VRD)과 대응되는 선택 읽기 전압 신호(Sig_VRD)을 온도 보상 회로(112)로 제공할 수 있다.
일 실시 예에서, 선택 읽기 전압 신호(Sig_VRD)는 선택 읽기 전압(VRD)에 대한 식별자(identifier)를 포함할 수 있다.
S142 단계에서, 불휘발성 메모리 장치(110)는 선택 읽기 전압(VRD) 및 프로그램 온도(TPGM)에 대응되는 관계식을 판별할 수 있다. 예를 들어, 온도 보상 회로(112)는 S110 단계에서 모델링된 복수의 관계식들 중, 선택 읽기 전압(VRD) 및 제1 페이지에 대한 프로그램 온도(TPGM)에 대응되는 관계식을 판별할 수 있다.
S143 단계에서, 불휘발성 메모리 장치(110)는 판별된 관계식에 기초하여, 읽기 온도(TRD)에 대응되는 읽기 레벨 오프셋(RLO)를 연산할 수 있다. 예를 들어, 온도 보상 회로(112)는 S142 단계에서 판별된 관계식에, 제1 페이지에 대한 읽기 온도(TRD)를 대입하여 제1 페이지에 대한 읽기 레벨 오프셋(RLO)를 연산할 수 있다.
도 12는 도 8의 S150 단계를 보다 상세하게 보여주는 흐름도이다. 도 1 내지 도 12을 참조하면, S150 단계는 S151 단계 내지 S153 단계를 포함할 수 있다.
S151 단계에서, 불휘발성 메모리 장치(110)는 읽기 레벨 오프셋(RLO)에 기초하여 보상 읽기 전압(VRD_COM)을 생성할 수 있다. 예를 들어, 온도 보상 회로(112)는, 읽기 레벨 오프셋(RLO) 및 선택 읽기 전압(VRD)의 합에 대응되는 보상 읽기 전압(VRD_COM)을 생성할 수 있다.
S152 단계에서, 불휘발성 메모리 장치(110)는 대응되는 페이지로 보상 읽기 전압(VRD_COM)을 제공할 수 있다. 예를 들어, 온도 보상 회로(112)는 제1 페이지로 보상 읽기 전압(VRD_COM)을 제공할 수 있다. 보다 상세하게는, 온도 보상 회로(112)는 어드레스 디코더(114)를 통해, 제1 페이지의 메모리 셀들과 연결된 제1 워드라인(즉, 선택 워드라인)으로 보상 읽기 전압(VRD_COM)을 제공할 수 있다.
S153 단계에서, 불휘발성 메모리 장치(110)는 메모리 컨트롤러(120)로 읽어진 데이터를 반환할 수 있다. 예를 들어, 읽어진 데이터는 제1 페이지에 대한 데이터일 수 있다.
일 실시 예에서, S152 단계 및 S153 단계 사이에서, 불휘발성 메모리 장치(110)는 S141 단계에서 선택된 읽기 전압과 다른 읽기 전압을 선택하여, 상술된 S142 단계 내지 S143 단계, 및 S151 단계 및 S152 단계를 더 수행할 수 있다. 즉, 본 개시의 범위는 읽기 커맨드에 응답하여 선택 워드라인으로 순차적으로 제공되는 서로 다른 보상 읽기 전압의 수에 한정되지 않는다.
도 13는 일 실시 예에 따른 읽기 커맨드의 커맨드 시퀀스를 보여준다. 이하에서는 도 13를 참조하여, 불휘발성 메모리 장치(110)의 DQ 핀들을 통해 전송되는 읽기 커맨드에 대한 커맨드 시퀀스가 설명될 것이다. 그러나 본 개시의 범위는 이에 한정되지 않는다.
도 1 및 도 13를 참조하면, 읽기 커맨드의 커맨드 시퀀스는 DQ 핀들(DQ)을 통해 메모리 컨트롤러(120)로부터 불휘발성 메모리 장치(110)로 전송되는 “00h” 커맨드 및 “30h” 커맨드에 기초하여 결정될 수 있다. 예를 들어, 읽기 커맨드의 커맨드 시퀀스는 메모리 컨트롤러(120)로부터 불휘발성 메모리 장치(110)로 “00h” 커맨드가 제공되는 시점부터, 메모리 컨트롤러(120)로부터 불휘발성 메모리 장치(110)로 “30h” 커맨드가 제공되는 시점까지를 지칭할 수 있다.
“00h” 커맨드 및 “30h” 커맨드 사이에는 어드레스(ADDR)이 포함될 수 있다. 예를 들어, 어드레스(ADDR)는 도 1의 커맨드(CMD)에 대응되는 불휘발성 메모리 장치(110)의 어드레스를 지칭할 수 있다. 어드레스(ADDR)는 제1 및 제2 컬럼 어드레스(C1, C2) 및 제1 내지 제3 로우 어드레스(R1~R3)를 포함할 수 있다.
일 실시 예에서, “00h” 커맨드 및 “30h” 커맨드 사이에는 서브 데이터(SD; sub data)가 포함될 수 있다. 서브 데이터(SD)는 도 1의 커맨드(CMD) 및 어드레스(ADDR)이 아닌 부수적인 정보를 지칭할 수 있다. 예를 들어, 서브 데이터(SD)는 제1 내지 제n 데이터(D1~Dn)를 포함할 수 있다. 이 경우, 제1 내지 제n 데이터(D1~Dn)의 적어도 일부는 도 1의 프로그램 온도(TPGM)와 대응되는 정보를 포함할 수 있다.
즉, 본 개시의 실시 예에 따르면, 제1 페이지에 대한 읽기 커맨드의 커맨드 시퀀스는 제1 페이지에 대한 어드레스 및 제1 페이지에 대한 프로그램 온도를 포함할 수 있다.
도 14은 본 개시의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다. 도 14을 참조하면, 스토리지 장치(200)는 불휘발성 메모리 장치(210), 메모리 컨트롤러(220), 및 휘발성 메모리 장치(230)를 포함할 수 있다. 메모리 컨트롤러(220)는 커맨드(CMD) 및 어드레스(ADDR)를 불휘발성 메모리 장치(210)로 전송하여, 불휘발성 메모리 장치(210)에 데이터(DATA)를 저장하거나 또는 불휘발성 메모리 장치(210)에 저장된 데이터(DATA)를 읽을 수 있다. 불휘발성 메모리 장치(210), 메모리 컨트롤러(220), 및 휘발성 메모리 장치(230)의 기능은 도 1을 참조하여 설명된 불휘발성 메모리 장치(110), 메모리 컨트롤러(120), 및 휘발성 메모리 장치(130)의 기능과 유사하므로 상세한 설명은 생략된다.
메모리 컨트롤러(220)는 온도 센서(221)를 포함할 수 있다. 온도 센서(221)는 불휘발성 메모리 장치(210)의 온도를 측정할 수 있다. 보다 상세하게는, 온도 센서(221)는 불휘발성 메모리 장치(210)의 프로그램 온도를 측정할 수 있다. 이 경우, 프로그램 온도는 불휘발성 메모리 장치(110)에 대한 프로그램 동작이 수행되는 동안의 불휘발성 메모리 장치(110)의 온도를 지칭할 수 있다. 또한, 온도 센서(221)는 불휘발성 메모리 장치(210)의 읽기 온도를 측정할 수 있다. 이 경우, 읽기 온도는 불휘발성 메모리 장치(210)에 대한 읽기 동작이 수행되는 동안의 불휘발성 메모리 장치(210)의 온도를 지칭할 수 있다.
일 실시 예에서, 메모리 컨트롤러(220)는 프로그램 온도를 휘발성 메모리 장치(230)에 저장할 수 있다.
메모리 컨트롤러(220)는 프로세서(222)를 포함할 수 있다. 프로세서(222)는 읽어질 페이지로 제공될 읽기 전압들을 식별할 수 있다. 예를 들어, 메모리 컨트롤러(220)가 불휘발성 메모리 장치(210)의 제1 페이지에 대한 읽기 동작을 수행하는 경우, 프로세서(222)는 제1 페이지로 제공될 읽기 전압들을 식별할 수 있다.
프로세서(222)는 식별된 복수의 읽기 전압들 각각에 기초하여, 복수의 읽기 레벨 오프셋들을 연산할 수 있다. 예를 들어, 프로세서(222)는 도 3 내지 도 8을 참조하여 설명된 온도 보상 회로(112)의 동작과 유사한 방식으로, 각 읽기 전압 및 프로그램 온도 별로 모델링된 복수의 관계식들에 기초하여, 복수의 읽기 레벨 오프셋들을 연산할 수 있다.
즉, 프로세서(222)는 측정된 제1 페이지에 대한 프로그램 온도 및 식별된 읽기 전압들과 대응되는 복수의 관계식들에 기초하여 복수의 읽기 레벨 오프셋들을 연산할 수 있다. 보다 상세한 예를 들면, 프로세서(222)는 측정된 제1 페이지에 대한 프로그램 온도 및 식별된 제1 읽기 전압과 대응되는 제1 관계식에, 측정된 제1 페이지에 대한 읽기 온도를 대입하여 제1 읽기 레벨 오프셋을 연산할 수 있다. 이와 유사하게, 프로세서(222)는 측정된 제1 페이지에 대한 프로그램 온도 및 식별된 제2 읽기 전압과 대응되는 제2 관계식에, 측정된 제1 페이지에 대한 읽기 온도를 대입하여 제2 읽기 레벨 오프셋을 연산할 수 있다. 그러나 본 개시의 범위는 식별된 읽기 전압들의 수에 한정되지 않는다.
프로세서(222)는 복수의 읽기 레벨 오프셋들에 기초하여, 읽기 레벨 오프셋 데이터(RLOD; read level offset data)를 생성할 수 있다. 이 경우, 읽기 레벨 오프셋 데이터(RLOD)는, 읽기 동작이 수행될 페이지에 대한 복수의 읽기 전압들과 각각 대응되는 복수의 읽기 레벨 오프셋들을 포함할 수 있다. 프로세서(222)는 읽기 레벨 오프셋 데이터(RLOD) 불휘발성 메모리 장치(210)로 제공할 수 있다.
일 실시 예에서, 읽기 레벨 오프셋 데이터(RLOD)는 읽기 커맨드(CMD)의 커맨드 시퀀스에 포함될 수 있다.
불휘발성 메모리 장치(210)는 온도 보상 회로(212)를 포함할 수 있다. 온도 보상 회로(212)는 읽기 레벨 오프셋 데이터(RLOD)에 기초하여 보상 읽기 전압들을 생성할 수 있다. 예를 들어, 온도 보상 회로(212)는 읽기 레벨 오프셋 데이터(RLOD)에 포함된 복수의 읽기 레벨 오프셋들에 기초하여, 보상 읽기 전압들을 생성할 수 있다. 온도 보상 회로(212)는 보상 읽기 전압들을 선택 워드라인으로 제공할 수 있다. 온도 보상 회로(212)의 기능 및 동작은 이하의 도 15 내지 도 19을 참조하여 보다 상세하게 설명된다.
일 실시 예에서, 메모리 컨트롤러(220)는 도 2를 참조하여 설명된 SRAM(123), 호스트 장치 인터페이스(124), 휘발성 메모리 장치 인터페이스(125), 및 불휘발성 메모리 장치 인터페이스(126)와 대응되는 구성요소들을 포함할 수 있다.
도 15는 도 14의 불휘발성 메모리 장치를 보여주는 블록도이다. 도 3, 및 도 14 내지 도 15을 참조하면, 불휘발성 메모리 장치(210)는 온도 보상 회로(212), 메모리 셀 어레이(213), 어드레스 디코더(214), 제어 로직 회로(215), 페이지 버퍼(216), 및 입출력 회로(217)를 포함할 수 있다. 메모리 셀 어레이(213), 어드레스 디코더(214), 페이지 버퍼(216), 및 입출력 회로(217)의 구성 및 기능은 앞서 도 3을 참조하여 설명된 것과 유사하므로 상세한 설명은 생략된다.
제어 로직 회로(215)는 메모리 컨트롤러(220)로부터 커맨드(CMD)를 수신할 수 있다. 제어 로직 회로(215)는 수신된 커맨드(CMD)에 기초하여 불휘발성 메모리 장치(210)의 제반 동작을 제어할 수 있다. 이하에서는 수신된 커맨드(CMD)가 읽기 커맨드인 경우에 대한 실시 예가 상세하게 설명될 것이다.
제어 로직 회로(215)는 메모리 컨트롤러(120)로부터 읽기 커맨드를 수신할 수 있다. 이 경우, 제어 로직 회로(215)는 수신된 읽기 커맨드와 대응되는 읽기 레벨 오프셋 데이터(RLOD)를 메모리 컨트롤러(220)로부터 수신할 수 있다. 예를 들어, 제어 로직 회로(215)가 제1 페이지에 대한 읽기 커맨드를 수신한 경우, 제어 로직 회로(215)는 메모리 컨트롤러(220)로부터 제1 페이지에 대한 읽기 레벨 오프셋 데이터(RLOD)를 수신할 수 있다.
제어 로직 회로(215)는 제1 페이지에 대한 읽기 동작을 위한 복수의 읽기 전압들 중 하나를 선택할 수 있다. 이 경우, 선택된 읽기 전압은 선택 읽기 전압(VRD)로 지칭될 수 있다. 제어 로직 회로(215)는 선택 읽기 전압(VRD)과 대응되는 선택 읽기 전압 신호(Sig_VRD)를 온도 보상 회로(212)로 제공할 수 있다.
제어 로직 회로(215)는 선택 읽기 전압(VRD)에 대응되는 읽기 레벨 오프셋 신호(Sig_RLO)를 온도 보상 회로(212)로 제공할 수 있다. 이 경우, 읽기 레벨 오프셋 신호(Sig_RLO)는 읽기 레벨 오프셋 데이터(RLOD)에 포함된 복수의 읽기 레벨 오프셋들 중 선택 읽기 전압(VRD)과 대응되는 읽기 레벨 오프셋(RLO)을 지칭할 수 있다. 예를 들어, 읽기 레벨 오프셋 신호(Sig_RLO) 선택 읽기 전압(VRD)과 대응되는 읽기 레벨 오프셋(RLO)의 식별자를 포함할 수 있다.
온도 보상 회로(212)는 선택 읽기 전압 신호(Sig_VRD) 및 읽기 레벨 오프셋 신호(Sig_RLO)에 응답하여, 선택 읽기 전압(VRD)에 대응되는 보상 읽기 전압(VRD_COM)을 생성할 수 있다. 이 경우, 보상 읽기 전압(VRD_COM)은 선택 읽기 전압(VRD) 및 이에 대응되는 읽기 레벨 오프셋(RLO)의 합으로 결정될 수 있다.
선택 읽기 전압 신호(Sig_VRD)는 도 3을 참조하여 설명된 것과 유사하고, 보상 읽기 전압(VRD_COM)에 기초한 읽기 동작은 앞서 도 1 내지 도 13를 참조하여 설명된 것과 유사하므로, 상세한 설명은 생략된다.
도 15의 실시 예에 따르면, 도 1 내지 도 12을 참조하여 설명된 실시 예와 달리, 프로그램 온도(TPGM) 및 읽기 온도(TRD)에 대응되는 읽기 레벨 오프셋(RLO)이 메모리 컨트롤러(220)에서 연산될 수 있다. 그러나 이 경우에도, 메모리 컨트롤러(220) 내부의 SRAM(static random access memory)에 저장된 TBT(temperature bump table)을 통해 읽기 레벨 오프셋이 결정되는 대신, 메모리 컨트롤러(220) 내에서 읽기 레벨 오프셋이 연산(calculate)될 수 있다. 이 경우, 메모리 컨트롤러(220) 내부의 SRAM(static random access memory)에 저장되는 데이터의 용량이 감소될 수 있다.
도 16은 도 15의 온도 보상 회로를 보다 상세하게 보여주는 블록도이다. 도 14 내지 도 16을 참조하면, 온도 보상 회로(212)는 보상 제어 회로(212a; compensation control circuit) 및 전압 생성 회로(212b)를 포함할 수 있다.
보상 제어 회로(212a)는 제어 로직 회로(115)로부터 선택 읽기 전압 신호(Sig_VRD) 및 읽기 레벨 오프셋 신호(Sig_RLO)를 수신할 수 있다. 보상 제어 회로(212a)는 선택 읽기 전압 신호(Sig_VRD) 및 읽기 레벨 오프셋 신호(Sig_RLO)에 기초하여 보상 읽기 전압(VRD_COM)의 전압 레벨을 결정할 수 있다. 즉, 보상 연산 회로(212a)는 전압 생성 회로(212b)로 제어 신호(CS)를 제공할 수 있다.
전압 생성 회로(212b)는 제어 신호(CS)에 응답하여, 선택 읽기 전압 신호(Sig_VRD)에 대응되는 선택 읽기 전압(VRD) 및 읽기 레벨 오프셋 신호(Sig_RLO)와 대응되는 읽기 레벨 오프셋(RLO)의 합과 대응되는 보상 읽기 전압(VRD_COM)을 생성할 수 있다. 전압 생성 회로(212b)의 동작은 도 7을 참조하여 설명된 전압 생성 회로(112b)의 동작과 유사하므로 상세한 설명은 생략된다. 도 17는 도 14의 스토리지 장치의 동작 방법을 보여주는 흐름도이다. 도 14 내지 도 17을 참조하면, S210 단계에서, 스토리지 장치(200)는 복수의 읽기 전압들 및 복수의 프로그램 온도들에 대응되는, 읽기 온도 및 읽기 레벨 오프셋에 대한 복수의 관계식들을 모델링할 수 있다.
S220 단계에서, 스토리지 장치(200)는 프로그램 동작이 수행될 때 프로그램 온도를 측정할 수 있다. 예를 들어, 제1 페이지에 대한 프로그램 동작이 수행될 때, 메모리 컨트롤러(220)는 온도 센서(221)를 사용하여 불휘발성 메모리 장치(210)의 온도를 측정할 수 있다. 이 경우, 측정된 온도는 프로그램 온도로 지칭될 수 있다.
S210 단계 및 S220 단계는, 도 8 내지 도 9을 참조하여 설명된 S110 단계 및 S120 단계와 유사하므로 상세한 설명은 생략된다.
S230 단계에서, 스토리지 장치(200)는 읽기 동작이 수행되기 앞서 읽기 온도를 측정할 수 있다. 예를 들어, 제1 페이지에 대한 읽기 동작을 수행하기 전에(즉, 메모리 컨트롤러(220)가 제1 페이지에 대한 읽기 커맨드를 불휘발성 메모리 장치(210)로 제공하기 전에), 메모리 컨트롤러(220)는 온도 센서(221)를 사용하여 불휘발성 메모리 장치(210)의 온도를 측정할 수 있다. 이 경우, 측정된 온도는 읽기 온도로 지칭될 수 있다.
S240 단계에서, 스토리지 장치(200)는 모델링된 관계식들에 기초하여, 읽기 온도, 프로그램 온도, 및 읽을 페이지와 대응되는 하나 이상의 읽기 전압들에 대한 읽기 레벨 오프셋 데이터(RLOD)를 생성할 수 있다. 이 경우, 읽기 레벨 오프셋 데이터(RLOD)는, 프로그램 온도, 읽기 온도, 및 읽을 페이지와 대응되는 하나 이상의 읽기 전압들과 각각 대응되는 복수의 읽기 레벨 오프셋들을 포함할 수 있다. 메모리 컨트롤러(220)가 읽기 레벨 오프셋 데이터(RLOD)를 생성하는 방식은 이하의 도 18을 참조하여 상세하게 설명될 것이다.
S250 단계에서, 스토리지 장치(200)는 결정된 읽기 레벨 오프셋 데이터(RLOD)에 기초하여 읽기 동작을 수행할 수 있다. 예를 들어, 온도 보상 회로(212)는 읽기 레벨 오프셋 데이터(RLOD)에 포함된 읽기 레벨 오프셋들에 기초하여, 복수의 보상 읽기 전압들을 생성할 수 있다. 온도 보상 회로(212)는 생성된 복수의 보상 읽기 전압들을 어드레스 디코더(214)를 통해 선택 워드라인으로 순차적으로 제공할 수 있다. 복수의 보상 읽기 전압들이 선택 워드라인으로 제공되는 방식은 이하의 도 19을 참조하여 보다 상세하게 설명될 것이다.
도 18은 도 17의 S240 단계를 보다 상세하게 보여주는 흐름도이다. 도 14 내지 도 18을 참조하면, S240 단계는 S241 단계 내지 S244 단계를 포함할 수 있다. 이하에서는 메모리 컨트롤러(220)가 제1 페이지에 대한 읽기 커맨드를 발행하기 앞서 수행되는 동작이 대표적으로 설명될 것이다.
S241 단계에서, 메모리 컨트롤러(220)는 읽을 페이지에 대응되는 읽기 전압들을 식별할 수 있다. 예를 들어, 프로세서(222)는, 제1 페이지를 읽기 위해 불휘발성 메모리 장치(210)내에서 사용될 복수의 읽기 전압들을 식별할 수 있다.
S242 단계에서, 메모리 컨트롤러(220)는 식별된 복수의 읽기 전압들 및 프로그램 온도에 대응되는 관계식들을 판별할 수 있다. 예를 들어, 프로세서(222)는, S220 단계에서 측정된 프로그램 온도 및 S241 단계에서 식별된 복수의 읽기 전압들 각각과 대응되는 복수의 관계식들을 판별할 수 있다.
S243 단계에서, 메모리 컨트롤러(220)는 판별된 복수의 관계식들에 기초하여, 복수의 읽기 레벨들과 각각 대응되는 복수의 읽기 레벨 오프셋들을 연산할 수 있다. 예를 들어, 프로세서(222)는 S242 단계에서 판별된 복수의 관계식들에, S230 단계에서 측정된 읽기 온도를 각각 대입하여, 복수의 읽기 레벨 오프셋들을 연산할 수 있다.
S244 단계에서, 메모리 컨트롤러(220)는 연산된 읽기 레벨 오프셋들을 포함하는 읽기 레벨 오프셋 데이터(RLOD)를 생성할 수 있다. 생성된 읽기 레벨 오프셋 데이터(RLOD)는 읽기 커맨드와 함께 불휘발성 메모리 장치(210)로 제공될 것이다.
도 19은 도 17의 S250 단계를 보다 상세하게 보여주는 흐름도이다. 도 14 내지 도 19을 참조하면, S250 단계는 S251 단계 내지 S257 단계를 포함할 수 있다.
S251 단계에서, 메모리 컨트롤러(220)는 불휘발성 메모리 장치(210)로 읽기 커맨드 및 읽기 레벨 오프셋 데이터(RLOD)를 전송할 수 있다. 이하에서 보다 간결한 설명을 위해, S251 단계에서 전송되는 읽기 커맨드는 제1 페이지에 대한 읽기 커맨드인 것으로 가정된다.
일 실시 예에서, 도 13를 참조하여 설명된 것과 유사한 방식으로, 읽기 레벨 오프셋 데이터(RLOD)는 읽기 커맨드의 커맨드 시퀀스에 포함될 수 있다.
S252 단계에서, 불휘발성 메모리 장치(210)는 복수의 읽기 전압들 중 하나를 선택할 수 있다. 예를 들어, 제어 로직 회로(215)는 제1 페이지를 읽기 위한 복수의 읽기 전압들 중 하나를 선택할 수 있다. 이 경우, 선택된 읽기 전압은 선택 읽기 전압(VRD)로 지칭된다.
S253 단계에서, 불휘발성 메모리 장치(210)는 읽기 레벨 오프셋 데이터(RLOD)에 기초하여, 선택 읽기 전압(VRD)에 대응되는 보상 읽기 전압(VRD_COM)를 생성할 수 있다. 예를 들어, 제어 로직 회로(215)는, 읽기 레벨 오프셋 데이터(RLOD)에 포함된 복수의 읽기 레벨 오프셋들 중, 선택 읽기 전압(VRD)과 대응되는 읽기 레벨 오프셋을 판별할 수 있다. 제어 로직 회로(215)는 판별된 읽기 레벨 오프셋에 대한 읽기 레벨 오프셋 신호(Sig_RLO) 및 선택 읽기 전압 신호(Sig_VRD)를 온도 보상 회로(212)로 제공할 수 있다. 이 경우, 온도 보상 회로(212)는 선택 읽기 전압(VRD) 및 이에 대응되는 읽기 레벨 오프셋(RLO)에 기초하여 보상 읽기 전압(VRD_COM)를 생성할 수 있다.
S254 단계에서, 불휘발성 메모리 장치(210)는 대응되는 페이지로 보상 읽기 전압(VRD_COM)을 제공할 수 있다. 예를 들어, 온도 보상 회로(212)는 제1 페이지로 보상 읽기 전압(VRD_COM)을 제공할 수 있다. 보다 상세하게는, 온도 보상 회로(212)는 어드레스 디코더(214)를 통해, 제1 페이지의 메모리 셀들과 연결된 제1 워드라인(즉, 선택 워드라인)으로 보상 읽기 전압(VRD_COM)을 제공할 수 있다.
S255 단계에서, 불휘발성 메모리 장치(210)는 읽기 동작이 완료되었는지 여부를 판별할 수 있다. 예를 들어, 제어 로직 회로(215)는, 제1 페이지의 메모리 셀들의 프로그램 상태를 판별하기 위한 모든 읽기 전압들에 각각 대응되는 보상 읽기 전압들이, 선택 워드라인으로 제공 되었는지 여부를 판별할 수 있다. S255 단계에서 일부 읽기 전압에 대응되는 보상 읽기 전압이 선택 워드라인으로 제공되지 않은 것으로 판별된 경우, 이하의 S256 단계가 진행될 수 있다. S255 단계에서 모든 읽기 전압들에 각각 대응되는 보상 읽기 전압들이 선택 워드라인으로 제공 되었다고 판별된 경우, 이하의 S257 단계가 진행될 수 있다.
S256 단계에서, 불휘발성 메모리 장치(210)는 다른 읽기 전압을 선택할 수 있다. 예를 들어, 제어 로직 회로(215)는 제1 페이지를 읽기 위한 복수의 읽기 전압들 중 새로운 하나의 읽기 전압을 선택할 수 있다. 이 경우, 새롭게 선택된 읽기 전압이 선택 읽기 전압(VRD)로 지칭된다. 이 후, 불휘발성 메모리 장치(210)는 상술된 S253 내지 S255 단계를 수행할 수 있다.
S257 단계에서, 불휘발성 메모리 장치(210)는 메모리 컨트롤러(220)로 읽어진 데이터를 반환할 수 있다. 예를 들어, 읽어진 데이터는 제1 페이지에 대한 데이터일 수 있다.
도 20은 본 개시의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다. 도 20을 참조하면, 스토리지 장치(200)는 불휘발성 메모리 장치(310), 및 메모리 컨트롤러(320))를 포함할 수 있다. 메모리 컨트롤러(320)는 커맨드(CMD) 및 어드레스(ADDR)를 불휘발성 메모리 장치(310)로 전송하여, 불휘발성 메모리 장치(310)에 데이터(DATA)를 저장하거나 또는 불휘발성 메모리 장치(310)에 저장된 데이터(DATA)를 읽을 수 있다. 불휘발성 메모리 장치(310) 및 메모리 컨트롤러(320)의 기능은 도 1을 참조하여 설명된 불휘발성 메모리 장치(110) 및 메모리 컨트롤러(120)의 기능과 유사하므로 상세한 설명은 생략된다.
불휘발성 메모리 장치(310)는 온도 센서(311)를 포함할 수 있다. 온도 센서(311)는 불휘발성 메모리 장치(310)의 온도를 측정할 수 있다. 보다 상세하게는, 온도 센서(321)는 불휘발성 메모리 장치(310)의 프로그램 온도 및 읽기 온도를 측정할 수 있다. 온도 센서(311)의 기능은 앞서 도 14를 참조하여 설명된 것과 유사하므로 상세한 설명은 생략된다.
불휘발성 메모리 장치(310)는 온도 보상 회로(312)를 포함할 수 있다. 온도 보상 회로(312)의 기능은 앞서 도 1 내지 도 13을 참조하여 설명된 온도 보상 회로(112)의 기능과 유사하므로 상세한 설명은 생략된다.
도 21은 도 20의 불휘발성 메모리 장치를 보여주는 블록도이다. 도 20 및 도 21을 참조하면, 불휘발성 메모리 장치(310)는 온도 센서(311), 온도 보상 회로(312), 메모리 셀 어레이(313), 어드레스 디코더(314), 제어 로직 회로(315), 페이지 버퍼(316), 및 입출력 회로(317)를 포함할 수 있다. 메모리 셀 어레이(313), 어드레스 디코더(314), 페이지 버퍼(316), 및 입출력 회로(317)의 구성 및 기능은 앞서 도 3을 참조하여 설명된 것과 유사하므로 상세한 설명은 생략된다.
제어 로직 회로(315)는 메모리 컨트롤러(320)로부터 프로그램 커맨드를 수신할 수 있다. 예를 들어, 제어 로직 회로(315)는 메모리 컨트롤러(320)로부터 제1 페이지에 대한 프로그램 커맨드를 수신할 수 있다. 이 경우, 제어 로직 회로(315)는 온도 센서(311)를 사용하여 제1 페이지에 대한 프로그램 온도(TPGM)를 측정할 수 있다. 제어 로직 회로(315)는 측정된 프로그램 온도(TPGM)을 불휘발성 메모리 장치(310)에 저장할 수 있다.
일 실시 예에서, 측정된 프로그램 온도(TPGM)은 메모리 셀 어레이(313)에 저장될 수 있다. 그러나 본 개시의 범위는 이에 한정되지 않는다.
제어 로직 회로(315)는 메모리 컨트롤러(320)로부터 읽기 커맨드를 수신할 수 있다. 예를 들어, 제어 로직 회로(315)는 메모리 컨트롤러(320)로부터 제1 페이지에 대한 읽기 커맨드를 수신할 수 있다. 이 경우, 제어 로직 회로(315)는 온도 센서(311)를 사용하여 제1 페이지에 대한 읽기 온도(TRD)를 측정할 수 있다.
제어 로직 회로(315)는 온도 보상 회로(312)로 프로그램 온도(TPGM), 읽기 온도(TRD) 및 선택 읽기 전압 신호(Sig_VRD)를 제공할 수 있다. 온도 보상 회로(312)는 프로그램 온도(TPGM), 읽기 온도(TRD) 및 선택 읽기 전압 신호(Sig_VRD)에 기초하여, 도 1을 참조하여 설명된 온도 보상 회로(112)의 동작과 유사한 방식으로 동작할 수 있다.
상술된 내용은 본 개시를 실시하기 위한 구체적인 실시 예들이다. 본 개시는 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 개시는 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 개시의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 본 개시의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100: 스토리지 장치
110: 불휘발성 메모리 장치
111: 제1 온도 센서
112: 온도 보상 회로
120: 메모리 컨트롤러
121: 제2 온도 센서
130: 휘발성 메모리 장치

Claims (10)

  1. 복수의 워드라인들과 연결된 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    제1 온도 센서를 포함하는 외부 장치로부터 수신된 어드레스에 기초하여, 상기 복수의 워드라인들 중 선택 워드라인을 제어하는 어드레스 디코더;
    상기 복수의 메모리 셀들 중 상기 선택 워드라인과 연결된 제1 메모리 셀들에 대한 읽기 온도를 측정하도록 구성된 제2 온도 센서; 및
    상기 읽기 온도 및 상기 제1 온도 센서에 의해 측정된 상기 제1 메모리 셀들에 대한 프로그램 온도에 기초하여 읽기 레벨 오프셋을 연산하고, 그리고 상기 읽기 레벨 오프셋에 기초하여 보상 읽기 전압을 생성하도록 구성된 온도 보상 회로를 포함하고,
    상기 어드레스 디코더는 상기 보상 읽기 전압을 상기 선택 워드라인으로 제공하는 불휘발성 메모리 장치.
  2. 제1 항에 있어서,
    상기 프로그램 온도는 상기 제1 메모리 셀들에 대한 프로그램 동작이 수행되는 제1 시점의 상기 불휘발성 메모리 장치의 온도이고, 그리고
    상기 읽기 온도는 상기 제1 메모리 셀들에 대한 읽기 동작이 수행되는 제2 시점의 상기 불휘발성 메모리 장치의 온도인 불휘발성 메모리 장치.
  3. 제1 항에 있어서,
    상기 온도 보상 회로는:
    상기 읽기 온도 및 상기 프로그램 온도에 기초하여 상기 읽기 레벨 오프셋을 연산하는 보상 연산 회로; 및
    상기 보상 연산 회로의 제어에 응답하여 상기 보상 읽기 전압을 생성하는 전압 생성 회로를 포함하는 불휘발성 메모리 장치.
  4. 제3 항에 있어서,
    상기 보상 읽기 전압은 선택 읽기 전압 및 상기 읽기 레벨 오프셋의 합인 불휘발성 메모리 장치.
  5. 제3 항에 있어서,
    상기 보상 연산 회로는:
    상기 프로그램 온도에 대해 모델링된 관계식(relation equation)에 기초하여 상기 읽기 레벨 오프셋을 연산하도록 구성되는 불휘발성 메모리 장치.
  6. 제5 항에 있어서,
    상기 관계식은 상기 읽기 온도 및 상기 읽기 레벨 오프셋에 대한 선형식(linear equation)인 불휘발성 메모리 장치.
  7. 제1 항에 있어서,
    상기 프로그램 온도가 제1 온도인 경우:
    상기 읽기 온도가 제2 온도일 때 상기 읽기 레벨 오프셋은 제1 전압이고, 그리고
    상기 읽기 온도가 상기 제2 온도보다 높은 제3 온도일 때 상기 읽기 레벨 오프셋은 상기 제1 전압보다 높은 제2 전압인 불휘발성 메모리 장치.
  8. 제1 항에 있어서,
    상기 읽기 온도가 제4 온도인 경우:
    상기 프로그램 온도가 제5 온도일 때 상기 읽기 레벨 오프셋은 제3 전압이고, 그리고
    상기 프로그램 온도가 상기 제5 온도보다 높은 제6 온도일 때 상기 읽기 레벨 오프셋은 상기 제3 전압보다 낮은 제4 전압인 불휘발성 메모리 장치.
  9. 제1 항에 있어서,
    상기 프로그램 온도는 상기 외부 장치로부터 수신된 읽기 커맨드의 커맨드 시퀀스에 포함되는 불휘발성 메모리 장치.
  10. 제1 온도 센서를 포함하는 불휘발성 메모리 장치의 동작 방법에 있어서,
    제2 온도 센서를 포함하는 외부 장치로부터, 제1 페이지에 대한 읽기 커맨드 및 상기 제2 온도 센서에 의해 측정된 상기 제1 페이지에 대한 프로그램 온도를 수신하는 단계;
    상기 읽기 커맨드에 응답하여 상기 제1 온도 센서를 사용하여 상기 제1 페이지에 대한 읽기 온도를 측정하는 단계;
    상기 프로그램 온도 및 상기 읽기 온도에 기초하여 읽기 레벨 오프셋을 연산하는 단계;
    상기 읽기 레벨 오프셋에 기초하여 보상 읽기 전압을 생성하는 단계; 및
    상기 보상 읽기 전압에 기초하여 상기 제1 페이지에 대한 읽기 동작을 수행하는 단계를 포함하는 동작 방법.
KR1020220163261A 2022-11-29 2022-11-29 불휘발성 메모리 장치 및 그것의 동작 방법 KR20240079877A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220163261A KR20240079877A (ko) 2022-11-29 2022-11-29 불휘발성 메모리 장치 및 그것의 동작 방법
US18/223,783 US20240177764A1 (en) 2022-11-29 2023-07-19 Nonvolatile memory device and opeation method thereof
CN202311462210.8A CN118116439A (zh) 2022-11-29 2023-11-06 非易失性存储器装置及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220163261A KR20240079877A (ko) 2022-11-29 2022-11-29 불휘발성 메모리 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20240079877A true KR20240079877A (ko) 2024-06-05

Family

ID=91192157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220163261A KR20240079877A (ko) 2022-11-29 2022-11-29 불휘발성 메모리 장치 및 그것의 동작 방법

Country Status (3)

Country Link
US (1) US20240177764A1 (ko)
KR (1) KR20240079877A (ko)
CN (1) CN118116439A (ko)

Also Published As

Publication number Publication date
CN118116439A (zh) 2024-05-31
US20240177764A1 (en) 2024-05-30

Similar Documents

Publication Publication Date Title
US10573389B2 (en) Storage device having parameter calibration function, and operating method thereof
US10607708B2 (en) Operation method of nonvolatile memory device and storage device
US10229749B2 (en) Nonvolatile memory storage system
CN112771613B (zh) 存储器***中的温度补偿
KR102192910B1 (ko) 반도체 장치, 메모리 시스템 및 이의 동작 방법
US11557345B2 (en) Dynamic memory programming voltage step for strenuous device conditions
CN110751970B (zh) 控制器及操作控制器的方法
KR20190052436A (ko) 반도체 메모리 장치 및 그 동작 방법
US11301146B2 (en) Storing page write attributes
KR102617350B1 (ko) 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 저장 장치
US20230197175A1 (en) Source bias temperature compensation for read and program verify operations on a memory device
US11817170B2 (en) Storage controller determining error count, method of operating the same, and method of operating storage device including the same
KR20240079877A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US10998057B2 (en) Storage device and method of operating the same
CN114999538A (zh) 基于阈值电压漂移调整直通电压
US11815409B2 (en) Temperature sensor, memory device and method for controlling the temperature sensor
US20240249782A1 (en) Memory system and operating method thereof
US11775203B2 (en) Storage device including nonvolatile memory device and method of operating the same
US20240078018A1 (en) Storage devices calculating a wordline gap value, and methods of operating the same
US20230384970A1 (en) Storage device and operating method thereof
US20230144376A1 (en) Performance optimization device of memory system and operating method thereof
KR20240117456A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN116778998A (zh) 动态调整编程目标电压的装置和方法