KR20190064965A - 메모리 컨트롤러 및 그것의 제어 방법 - Google Patents

메모리 컨트롤러 및 그것의 제어 방법 Download PDF

Info

Publication number
KR20190064965A
KR20190064965A KR1020170164336A KR20170164336A KR20190064965A KR 20190064965 A KR20190064965 A KR 20190064965A KR 1020170164336 A KR1020170164336 A KR 1020170164336A KR 20170164336 A KR20170164336 A KR 20170164336A KR 20190064965 A KR20190064965 A KR 20190064965A
Authority
KR
South Korea
Prior art keywords
information
offset level
memory
suspend
read
Prior art date
Application number
KR1020170164336A
Other languages
English (en)
Other versions
KR102420161B1 (ko
Inventor
이경덕
심영섭
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170164336A priority Critical patent/KR102420161B1/ko
Priority to US16/050,110 priority patent/US10620833B2/en
Priority to CN201811446549.8A priority patent/CN110033808A/zh
Publication of KR20190064965A publication Critical patent/KR20190064965A/ko
Application granted granted Critical
Publication of KR102420161B1 publication Critical patent/KR102420161B1/ko

Links

Images

Classifications

    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • 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
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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

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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 개시의 기술적 사상의 일측면에 따른 복수의 워드라인들 각각에 연결된 복수의 메모리 페이지들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러의 독출 제어 방법은, 복수의 메모리 페이지들 중 선태 워드라인에 연결된 선택 메모리 페이지의 서스펜드 동작의 경험 여부를 판단하는 단계, 판단 결과에 따라, 선택 메모리 페이지의 서스펜드 동작 정보에 기초하여 선택 메모리 페이지의 독출 오프셋 레벨을 결정하는 단계 및 결정된 독출 오프셋 레벨을 기초로 독출 전압을 보상하도록 메모리 장치의 독출 동작을 제어하는 단계를 포함할 수 있다.

Description

메모리 컨트롤러 및 그것의 제어 방법{MEMORY CONTROLLER AND CONTROL METHOD THEREOF}
본 개시의 기술적 사상은 메모리 컨트롤러에 관한 것으로서, 자세하게는 메모리 컨트롤러의 제어 방법에 관한 것이다.
반도체 메모리 장치는 전원 공급 중단 시 저장된 데이터를 상실하는 휘발성 메모리 장치(volatile memory device)와 저장된 데이터를 상실하지 않는 비휘발성 메모리 장치(non-volatile memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버린다. 반면, 비휘발성 메모리 장치는 읽고 쓰는 속도가 휘발성 메모리 장치에 비해 느리지만 외부 전원 공급이 중단되더라도 그 내용을 보존한다.
메모리 장치 중 비휘발성 메모리 장치의 일 예로서, 플래시 메모리 장치에서, 하나의 메모리 셀이 저장하는 데이터의 비트 수가 증가함에 따라 메모리 장치에 포함된 메모리 셀들의 문턱 전압 산포를 보다 정교하게 형성할 필요가 있다. 문턱 전압 산포가 예측된 문턱 전압 산포보다 넓게 형성되거나 평행이동 된 위치에 형성되는 경우 독출 오류 등의 문제가 발생할 수 있기 때문이다. 문턱 전압 산포의 형성 측면 이외에도, 메모리 셀들의 문턱 전압 산포가 바뀌는 경우 바뀐 문턱 전압 산포에서 신뢰성 높은 데이터 독출 동작을 수행하기 위한 다양한 방안들이 제안된다.
본 개시의 기술적 사상은 메모리 컨트롤러 및 그것의 제어 방법에 있어서, 프로그램 동작 중 서스펜드 동작을 경험한 메모리 페이지에 대한 독출 동작의 신뢰성을 향상시키기 위한 방법 및 장치를 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 복수의 워드라인들 각각에 연결된 복수의 메모리 페이지들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러의 독출 제어 방법은, 복수의 메모리 페이지들 중 선태 워드라인에 연결된 선택 메모리 페이지의 서스펜드 동작의 경험 여부를 판단하는 단계, 판단 결과에 따라, 선택 메모리 페이지의 서스펜드 동작 정보에 기초하여 선택 메모리 페이지의 독출 오프셋 레벨을 결정하는 단계 및 결정된 독출 오프셋 레벨을 기초로 독출 전압을 보상하도록 메모리 장치의 독출 동작을 제어하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 복수의 워드라인들 각각에 연결된 복수의 메모리 페이지들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러의 프로그램 제어 방법은, 메모리 장치의 선택 워드라인에 연결된 선택 메모리 페이지에 대한 프로그램 동작 중 외부 호스트로부터 우선순위가 더 높은 데이터 동작의 요청을 수신하고, 메모리 장치에 서스펜드 커맨드를 송신하는 단계, 메모리 장치로부터 프로그램 동작이 중단되었음을 나타내는 신호를 수신하고, 메모리 장치에 우선순위가 높은 데이터 동작의 요청에 대응되는 커맨드를 송신하는 단계, 메모리 장치가 프로그램 동작을 재개하도록 메모리 장치에 리줌 커맨드를 송신하는 단계 및 선택 메모리 페이지의 서스펜드 동작 경험을 나타내는 서스펜드 플래그 정보 및 선택 메모리 페이지의 서스펜드 동작 정보를 저장하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 복수의 워드라인들 각각에 연결된복수의 메모리 페이지들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러는, 프로세서 및 복수의 메모리 페이지들의 메모리 페이지 별로 서스펜드 동작의 수행 여부를 나타내는 서스펜드 플래그 정보 및 서스펜드 동작 정보를 저장하고, 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함하는 오프셋 레벨 정보를 저장하는 내부 메모리를 포함할 수 있고, 프로세서는, 메모리 컨트롤러의 외부의 호스트로부터 수신된 독출 요청에 응답하여, 내부 메모리에 저장된 선택 워드라인에 연결된 선택 메모리 페이지의 서스펜드 플래그 정보에 따라 선택 메모리 페이지가 서스펜드 동작을 경험한 것으로 판단한 경우, 내부 메모리에 저장된 선택 메모리 페이지의 서스펜드 정보 및 오프셋 레벨 정보를 기초로 메모리 장치에 독출 커맨드 신호를 송신하도록 메모리 컨트롤러를 제어할 수 있다.
본 개시의 예시적 실시예에 따른 메모리 컨트롤러 및 그것의 제어 방법에 의하면, 서스펜드 동작을 경험한 메모리에 대해 서스펜드 동작 정보를 기초로 독출 오프셋 레벨을 제어함으로써 메모리 페이지에 대한 독출 동작의 신뢰성을 향상시킬 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 시스템을 나타낸다.
도 2는 본 개시의 예시적 실시예에 따른 메모리 컨트롤러를 나타낸다.
도 3은 본 개시의 예시적 실시예에 따른 프로그램 동작 및 서스펜드 동작의 순서도를 나타낸다.
도 4는 본 개시의 예시적 실시예에 따른 메모리 셀들의 문턱 전압 산포를 나타낸다.
도 5는 본 개시의 예시적 실시예에 따른 데이터 동작 관리부를 나타낸다.
도 6은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 프로그램 동작 제어 방법의 순서도를 나타낸다.
도 7a 및 7b는 본 개시의 예시적 실시예에 따른 서스펜드 정보를 나타낸다.
도 8은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 독출 동작 제어 방법의 순서도를 나타낸다.
도 9는 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보를 나타낸다.
도 10은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 독출 오프셋 레벨 결정 방법의 순서도를 나타낸다.
도 11은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러가 송신하는 커맨드 신호를 나타낸다.
도 12a 및 12b는 본 개시의 예시적 실시예에 따른 ISPP 동작 및 오프셋 레벨 정보를 나타낸다.
도 13은 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보를 나타낸다.
도 14는 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보를 나타낸다.
도 15a 및 15b는 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보를 나타낸다.
도 16은 본 개시의 예시적 실시예에 따른 메모리 셀 어레이 및 오프셋 레벨 정보를 나타낸다.
도 17은 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보를 나타낸다.
도 18은 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보를 나타낸다.
도 19는 본 개시의 예시적 실시예에 따른 SSD 시스템을 나타낸다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시예에 따른 시스템(10)을 나타낸다. 시스템(10)은 호스트(100) 및 메모리 시스템(200)을 포함할 수 있고, 메모리 시스템(200)은 메모리 컨트롤러(300) 및 메모리 장치(400)를 포함할 수 있다. 시스템(10)은 UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net_book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 태블릿(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트 폰(smart phone), e-북(e-book), PMP(Portable Multimedia Player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box) 및 디지털 카메라(digital camera 등과 같은 다양한 컴퓨팅 시스템들 중 하나로 제공될 수 있다.
호스트(100), 메모리 컨트롤러(300) 및 메모리 장치(400) 각각은 하나의 칩, 하나의 패키지, 하나의 모듈 등으로 제공될 수 있다. 하지만 이에 제한되는 것은 아니며, 예를 들어, 메모리 컨트롤러(300)는 호스트(100)와 함께 어플리케이션 프로세서(Application Processor)의 형태로 제공될 수 있다. 또한 예를 들어, 메모리 컨트롤러(300)는 메모리 장치(400)와 함께 메모리 시스템(200)으로서 제공될 수 있다.
호스트(100)는 메모리 컨트롤러(300)에 데이터 동작 요청(REQ) 및 어드레스(ADDR)를 송신할 수 있으며, 메모리 컨트롤러(300)와 데이터(DATA)를 주고 받을 수 있다. 예시적으로, 호스트(100)는 메모리 컨트롤러(300)와 USB(Universal Serial Bus) 프로토콜, MMC(Multi Media Card) 프로토콜, PCI(Peripheral Component Interconnection) 프로토콜, PCI-E(PCI-Express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI(Small Computer Small Interface) 프로토콜, ESDI(Enhanced Small disk Interface) 프로토콜, IDE(Integrated Drive Electronics) 프로토콜, MIPI(Mobile Industry Processor Interface) 프로토콜 및 UFS(Universal Flash Storage) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나에 기반하여 데이터를 교환할 수 있다.
메모리 컨트롤러(300)는 호스트(100)의 요청에 응답하여 메모리 장치(400)를 제어할 수 있다. 예를 들어, 메모리 컨트롤러(300)는 호스트(100)로부터 수신한 데이터 동작 요청(REQ)에 응답하여 메모리 장치(400)에 저장된 데이터(DATA)를 독출하거나, 메모리 장치(400)에 데이터(DATA)를 기입하도록 메모리 장치(400)를 제어할 수 있다. 메모리 컨트롤러(300)는 메모리 장치(400)에 어드레스(ADDR), 커맨드(CMD) 및 제어 신호 등을 제공함으로써, 메모리 장치(400)에 대한 기입, 독출 및 소거 동작을 수행할 수 있다. 기입 동작은 프로그램 동작이라 부를 수 있다. 또한, 상기 동작들을 위한 데이터(DATA)가 메모리 컨트롤러(300)와 메모리 장치(400) 사이에서 송수신 될 수 있다. 메모리 컨트롤러(300)는 메모리 장치(400)로부터 레디 및 비지 신호(RNB)를 수신할 수 있다. 레디 및 비지 신호(RNB)는 메모리 장치(400)의 동작 유무를 나타내는 신호일 수 있다.
메모리 컨트롤러(300)는 데이터 동작 관리부(320)를 포함할 수 있고, 서스펜드 정보(PSR_INFO) 및 오프셋 레벨 정보(OL_INFO)를 저장할 수 있다. 데이터 동작 관리부(320)는 메모리 장치(400)의 데이터 동작을 전반적으로 제어할 수 있다. 예를 들어, 메모리 장치(400)가 선택 워드라인에 연결된 선택 메모리 페이지에 프로그램 동작을 수행하던 중 메모리 컨트롤러(300)가 우선순위가 더 높은 데이터 동작의 요청(REQ)을 호스트(100)로부터 수신한 경우, 데이터 동작 관리부(320)는 메모리 장치(400)에 서스펜드 커맨드 신호를 송신함으로써 메모리 장치(400)가 수행중인 프로그램 동작을 중단할 수 있도록 할 수 있다. 이후, 데이터 동작 관리부(320)는 메모리 장치(400)에 리줌 커맨드 신호를 송신함으로써 메모리 장치(400)가 중단된 프로그램 동작을 재개할 수 있도록 할 수 있다. 이와 같이 메모리 장치(400)가 우선순위가 더 높은 다른 데이터 동작의 수행을 위해 수행 중이던 프로그램 동작을 중단하고, 이후에 다시 프로그램 동작을 재개하는 것을 일컬어 서스펜드 동작의 수행이라고 칭할 수 있다. 메모리 장치(400)의 서스펜드 동작의 수행은 메모리 장치(400)의 서스펜드 동작의 경험이라 칭할 수 있다. 메모리 장치(400)의 선택 메모리 페이지에 서스펜드 동작이 수행된 경우, 데이터 동작 관리부(320)는 상기 선택 메모리 페이지가 서스펜드 동작을 경험했음을 나타내는 서스펜드 플래그 정보를 서스펜드 정보(PSR_INFO)의 일부로서 메모리 컨트롤러(300)에 저장할 수 있다. 또한, 메모리 장치(400)의 선택 메모리 페이지에 서스펜드 동작이 수행된 경우, 데이터 동작 관리부(320)는 선택 메모리 페이지의 서스펜드 동작의 동작 변수, 리줌 시간, 진입 시점 및 누적 횟수 등과 같은 서스펜드 동작에 관한 다양한 정보들 중 적어도 하나를 포함하는 서스펜드 동작 정보를 서스펜드 정보(PSR_INFO)의 일부로서 메모리 컨트롤러(300)에 저장할 수 있다. 서스펜드 정보(PSR_INFO)는 메모리 컨트롤러(300)의 내부 메모리에 저장될 수 있다. 하지만 이에 제한되는 것은 아니며, 도 1에 도시된 바와 상이하게, 서스펜드 정보(PSR_INFO)는 메모리 컨트롤러(300)가 포함된 메모리 시스템(200) 내의 다른 메모리에 저장될 수도 있다.
데이터 동작 관리부(320)는 호스트(100)로부터 데이터 독출 요청(REQ)을 수신한 경우, 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 플래그 정보를 기초로 선택 메모리 페이지의 서스펜드 동작 경험 여부를 판단할 수 있다. 데이터 동작 관리부(320)는 선택 메모리 페이지가 서스펜드 동작을 경험한 경우, 서스펜드 정보(PSR_INFO)에 포함된 선택 메모리 페이지의 서스펜드 동작 정보 및 오프셋 레벨 정보(OL_INFO)를 기초로 독출 전압의 오프셋 레벨을 나타내는 독출 오프셋 레벨을 결정할 수 있다. 오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함할 수 있다. 데이터 동작 관리부(320)는 결정된 독출 오프셋 레벨을 기초로 메모리 장치(400)의 독출 동작을 제어할 수 있다. 예를 들어, 데이터 동작 관리부(320)는 서스펜드 동작에 의해 프로그램이 중단되는 기간의 시간 간격을 나타내는 리줌 시간에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함하는 오프셋 레벨 정보(OL_INFO) 및 선택 메모리 페이지의 리줌 시간을 비교하여 독출 오프셋 레벨을 결정할 수 있고, 결정된 독출 오프셋 레벨을 기초로 메모리 장치(400)의 독출 동작을 제어할 수 있다. 데이터 동작 관리부(320)의 구체적 동작에 관해서는, 이하의 도면들을 참조해 보다 자세히 설명된다.
데이터 동작 관리부(320)는 데이터 동작을 관리하는 회로 등을 포함하는 하드웨어로 구현될 수 있으며, 다수의 프로그램들을 포함하는 소프트웨어로 구현되어 메모리 컨트롤러(300) 내부에 저장될 수 있다. 또한 데이터 동작 관리부(320)가 소프트웨어로 구현되는 경우, 데이터 동작 관리부(320)는 FTL의 기능의 일부로 구현되어, 프로세서에 의해 실행될 수 있다. 하지만 이에 제한되는 것은 아니며, 예를 들어, 데이터 동작 관리부(320)는 하드웨어 및 소프트웨어의 조합으로 구현될 수도 있다.
메모리 장치(400)는 적어도 하나의 메모리 셀 어레이를 포함할 수 있다. 메모리 셀 어레이는 복수의 워드라인들과 복수의 비트라인들이 교차하는 영역들에 배치되는 복수의 메모리 셀들을 포함할 수 있고, 복수의 메모리 셀들은 비휘발성 메모리 셀들일 수 있다. 각가의 메모리 셀은 2비트 이상의 데이터를 저장하는 멀티 레벨 셀(MLC)일 수 있다. 예를 들어, 각각의 메모리 셀은 2비트의 데이터를 저장하는 2비트 멀티 레벨 셀일 수 있으며, 3비트의 데이터를 저장하는 트리플 레벨 셀(TLC)일 수 있으며, 4비트의 데이터를 저장하는 쿼드러플 레벨 셀(QLC)일 수 있으며, 그 이상의 비트 데이터를 저장하는 멀티 레벨 셀일 수 있다. 하지만 본 개시는 이에 한정되지 않으며, 예를 들어, 일부 메모리 셀들은 1비트 데이터를 저장하는 싱글 레벨 셀(SLC)이고, 다른 일부 메모리 셀들은 멀티 레벨 셀일 수 있다. 메모리 장치(400)는 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory; RRAM), 상변화 메모리(Phase-Change Memory; PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory; MRAM), 강유전체 메모리(Ferroelectric Random Access Memory; FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory; STT-RAM) 등을 포함할 수 있으며, 이들의 조합을 포함할 수 있다. 메모리 장치(400)는 메모리 컨트롤러(300)로부터 수신된 신호들에 응답하여 데이터(DATA)의 기입, 독출 및 소거 등의 동작들을 수행할 수 있다. 기입, 독출 및 소거 동작을 일컬어 데이터 동작이라 칭할 수 있다.
메모리 장치(400)는 메모리 컨트롤러(300)에 레디 및 비지 신호(RNB)를 송신할 수 있다. 레디 및 비지 신호(RNB)는 메모리 장치(400)의 동작 유무를 가리키는 신호일 수 있다. 예를 들어, 메모리 장치(400)가 프로그램 동작을 수행하는 경우, 레디 및 비지 신호(RNB)는 비지 상태(예를 들어, 로직 로우)를 나타낼 수 있다. 이 경우, 설명의 편의상, 레디 및 비지 신호(RNB)가 'B'를 나타내는 것으로 이하에서 설명한다. 메모리 장치(400)가 데이터 동작을 수행하지 않는 경우 레디 및 비지 신호(RNB)는 레디 상태(예를 들어, 로직 하이)를 나타낼 수 있다. 이 경우, 설명의 편의상, 레디 및 비지 신호(RNB)가 'R'을 나타내는 것으로 이하에서 설명한다.
본 개시의 예시적 실시예에 따르면, 메모리 컨트롤러(300)는 서스펜드 동작을 경험한 선택 메모리 페이지에 대한 독출 동작 시, 서스펜드 동작 정보를 기초로 독출 오프셋 레벨을 결정하여 메모리 장치(400)의 독출 동작을 제어함으로써 메모리 페이지에 대한 독출 동작의 신뢰성 및 메모리 장치(400)의 성능을 향상시킬 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 메모리 컨트롤러(300)를 나타낸다. 메모리 컨트롤러(300)는 버스(310), 데이터 동작 관리부(320), 내부 메모리(340), 프로세서(360), 호스트 인터페이스(380) 및 메모리 인터페이스(390)를 포함할 수 있다. 메모리 컨트롤러(300)는 이외에도 다양한 구성들을 더 포함할 수 있으며, 예컨대 메모리 동작을 제어하기 위한 커맨드(CMD)를 생성하는 커맨드 생성 모듈 등을 더 포함할 수 있다. 메모리 컨트롤러(300)에 관한 도 1과 중복되는 설명은 생략한다.
버스(310)는 메모리 컨트롤러(300) 내부 구성 요소들 사이에 채널을 제공할 수 있다. 버스(310)는 다양한 버스 프로토콜들 중 하나에 기반하여 동작할 수 있다.
데이터 동작 관리부(320)는 독출 동작 관리부(321) 및 기입 동작 관리부(325)를 포함할 수 있다. 독출 동작 관리부(321)는 메모리 장치의 독출 동작을 제어할 수 있고, 기입 동작 관리부(325)는 메모리 장치의 기입 동작을 제어할 수 있다. 독출 동작 관리부(321)는 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 플래그 정보를 기초로 선택 메모리 페이지의 서스펜드 동작 경험 여부를 판단할 수 있다. 선택 메모리 페이지의 서스펜드 동작 경험에 응답하여, 독출 동작 관리부(321)는 오프셋 레벨 정보(OL_INFO) 및 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 동작 정보를 기초로 독출 오프셋 레벨을 결정할 수 있다. 메모리 컨트롤러(300)는 결정된 독출 오프셋 레벨을 기초로 메모리 장치의 독출 동작을 제어할 수 있다. 기입 동작 관리부(325)는 메모리 장치가 프로그램 동작을 수행하던 중 우선순위가 더 높은 데이터 동작의 요청이 수신된 경우, 메모리 장치의 수행 중인 프로그램 동작을 중단시키도록 제어 동작을 수행할 수 있다. 우선순위가 더 높은 데이터 동작이 완료된 뒤, 기입 동작 관리부(325)는 메모리 장치가 중단된 프로그램 동작을 재개하도록 제어 동작을 수행할 수 있다. 기입 동작 관리부(325)는 메모리 장치가 이와 같은 서스펜드 동작을 수행하는 경우, 서스펜드 동작이 수행된 메모리 페이지에 대한 서스펜드 동작 경험 여부를 나타내는 서스펜드 플래그 정보 및 서스펜드 동작 정보를 서스펜드 정보(PSR_INFO)로서 저장할 수 있다. 예를 들어, 기입 동작 관리부(325)의 타이머는 메모리 컨트롤러(300)의 내부 클락 또는 외부 클락을 카운트 함으로써 서스펜드 동작에 의해 프로그램이 중단된 기간의 시간 간격을 나타내는 리줌 시간을 측정할 수 있고, 리줌 시간을 서스펜드 정보(PSR_INFO)의 일부로서 저장할 수 있다. 데이터 동작 관리부(320)에 관해서는 도 5를 참조하여 보다 자세히 설명된다.
내부 메모리(340)는 메모리 컨트롤러(300)의 동작에 필요한 다양한 정보를 저장할 수 있다. 이를 위해, 내부 메모리(340)는 각종 메모리로 구현될 수 있으며, 예컨대 캐시(cache) 메모리, DRAM, SRAM, PRAM, 플래시 메모리 장치들 중 적어도 하나로 구현될 수 있다. 내부 메모리(340)는 서스펜드 정보(PSR_INFO) 및 오프셋 레벨 정보(OL_INFO)를 저장할 수 있다. 서스펜드 정보(PSR_INFO)는 메모리 장치의 각 메모리 페이지에 대응하는 서스펜드 동작 경험 여부를 나타내는 서스펜드 플래그 정보 및 서스펜드 동작에 관한 다양한 정보들 중 적어도 하나를 포함하는 서스펜드 동작 정보를 포함할 수 있다. 서스펜드 정보(PSR_INFO)에 관해서는 도 7a 및 7b를 참조하여 보다 자세히 설명된다. 오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)에 관해서는 도 9 및 도 12a 내지 도 18을 참조하여 보다 자세히 설명된다.
프로세서(360)는 메모리 컨트롤러(300)의 전체적인 동작을 제어할 수 있다. 프로세서(360)는 중앙 처리 장치(CPU; Central Processing Unit) 혹은 마이크로프로세서(MCU; Micro-Processing Unit)를 포함할 수 있다. 프로세서(360)는 메모리 컨트롤러(300)를 제어하기 위한 펌웨어(Firmware)를 구동할 수 있고, 펌웨어는 내부 메모리(340)에 로딩되어 구동될 수 있다.
호스트 인터페이스(380)는 호스트와 메모리 컨트롤러(300) 사이의 인터페이스를 제공할 수 있다. 호스트와 메모리 컨트롤러(300)는 다양한 표준 인터페이스들(standardized interfaces) 중 하나를 통해 데이터를 주고 받을 수 있따. 혹은, 호스트와 메모리 컨트롤러(300)는 다양한 표준 인터페이스들 중 복수의 인터페이스들을 통해 데이터를 주고받을 수 있다. 메모리 컨트롤러(300)는 호스트 인터페이스(380)를 통해 호스트로부터 데이터 동작 요청(REQ) 및 주소(ADDR) 등을 수신할 수 있으며, 호스트와 데이터(DATA)를 주고 받을 수 있다.
메모리 인터페이스(390)는 메모리 장치와 메모리 컨트롤러(300) 사이의 인터페이스를 제공할 수 있다. 예를 들어, 프로세서(360)에 의해 처리된 데이터(DATA)는 메모리 인터페이스(390)를 통해 메모리 장치에 저장될 수 있다. 혹은, 메모리 장치에 저장된 데이터(DATA)는 메모리 인터페이스(390)를 통해 프로세서(360)에 제공될 수 있다. 메모리 컨트롤러(300)는 메모리 인터페이스(390)를 통해 메모리 장치에 커맨드(CMD) 및 주소(ADDR) 등을 송신할 수 있고, 메모리 장치로부터 레디 및 비지 신호(RNB)를 수신할 수 있으며, 데이터(DATA)를 주고 받을 수 있다.
본 개시의 예시적 실시예에 따르면, 메모리 컨트롤러(300)는 서스펜드 동작을 경험한 선택 메모리 페이지에 대한 독출 동작 시, 서스펜드 동작 정보를 기초로 독출 오프셋 레벨을게 결정하여 메모리 장치(400)의 독출 동작을 제어함으로써 메모리 페이지에 대한 독출 동작의 신뢰성 및 메모리 장치(400)의 성능을 향상시킬 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 프로그램 동작 및 서스펜드 동작의 순서도를 나타낸다. 호스트(100), 메모리 컨트롤러(300) 및 메모리 장치(400)에 관한 도 1 및 도 2와 중복되는 설명은 생략한다.
호스트(100)는 메모리 컨트롤러(200)에 기입 요청(REQ_w)을 송신할 수 있다(S110). 이하의 설명에서 '기입 동작'과 '프로그램 동작'은 같은 동작을 뜻한다.
메모리 컨트롤러(300)는 기입 요청(REQ_w)의 수신에 따라 메모리 장치(400)에 기입 커맨드(CMD_w)를 송신할 수 있다(S120). 메모리 장치(400)는 기입 커맨드(CMD_w)의 수신에 따라 프로그램 동작을 수행할 수 있다.
메모리 장치(400)가 프로그램 동작을 수행하는 동안, 메모리 장치(400)는 메모리 장치(400)가 데이터 동작을 수행하고 있음을 메모리 컨트롤러(300)에 알리기 위해 레디 및 비지 신호(RNB)를 비지 상태를 나타내는 'B'로서 메모리 컨트롤러(300)에 송신할 수 있다(S130). 비제한적인 예시로서, 메모리 장치(400)는 레디 및 비지 신호(RNB)를 로직 로우로서 메모리 컨트롤러(300)에 송신할 수 있다.
메모리 장치(400)가 프로그램 동작을 수행하는 도중, 호스트(100)는 우선순위가 더 높은 데이터 기입 또는 독출 요청(REQ_w/REQ_r)을 메모리 컨트롤러(300)에 송신할 수 있다(S140).
우선순위가 더 높은 데이터 기입 또는 독출 요청(REQ_w/REQ_r)의 수신에 따라 메모리 컨트롤러(300)는 메모리 장치(400)에 서스펜드 커맨드(CMD_spd)를 송신할 수 있다. 메모리 장치(400)는 서스펜드 커맨드(CMD_spd) 수신에 따라 수행중이던 프로그램 동작을 중단할 수 있다.
메모리 장치(400)는 프로그램 동작을 중단한 뒤, 프로그램 동작이 중단되었음을 메모리 컨트롤러(300)에 알리기 위해 레디 및 비지 신호(RNB)를 레디 상태를 나타내는 'R'로서 메모리 컨트롤러(300)에 송신할 수 있다(S160). 비제한적인 예시로서, 메모리 장치(400)는 레디 및 비지 신호(RNB)를 로직 하이로서 메모리 컨트롤러(300)에 송신할 수 있다.
메모리 컨트롤러(300)는 레디 및 비지 신호(RNB)의 수신에 따라 우선순위가 더 높은 데이터 기입 또는 독출 요청(REQ_w/REQ_r)에 대응하는 기입 또는 독출 커맨드(CMD_w/CMD_r)를 메모리 장치(400)에 송신할 수 있다(S170). 메모리 장치(400)는 우선순위가 더 높은 데이터 기입 또는 독출 동작을 수행할 수 있다.
메모리 장치(400)가 우선순위가 더 높은 데이터 기입 또는 독출 동작을 완료한 뒤, 메모리 컨트롤러(300)는 메모리 장치(400)에 리줌 커맨드(CMD_rsm)를 송신할 수 있다(S180). 메모리 장치(400)는 리줌 커맨드(CMD_rsm)의 수신에 따라 중단된 프로그램 동작을 재개할 수 있다.
상기 도 3을 참조한 설명과 같이, 메모리 장치(400)가 프로그램 동작을 수행하던 중 호스트(100)에 의한 우선순위가 더 높은 데이터 기입 또는 독출 요청(REQ_w/REQ_r)에 따라 수행 중이던 프로그램 동작을 중단하고, 이후에 중단된 프로그램 동작을 재개하는 일련의 과정을 프로그램 서스펜드 리줌 동작이라 칭할 수 있다. 프로그램 서스펜드 리줌 동작은 편의상 서스펜드 동작이라 칭하기로 한다.
도 4는 본 개시의 예시적 실시예에 따른 메모리 셀들의 문턱 전압 산포를 나타낸다. 특히, 도 4는 메모리 셀이 3비트 멀티 레벨 셀인 트리플 레벨 셀(TLC)인 경우의 산포를 나타내지만, 메모리 셀의 문턱 전압 산포는 이에 제한되지 않는다.
도 4를 참조하면, 가로축은 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. 메모리 셀이 3비트로 프로그램 되는 트리플 레벨 셀인 경우, 메모리 셀은 소거 상태(E), 제1 내지 제7 프로그램 상태(P1~P7) 중 하나의 상태를 가질 수 있다. 소거 상태(E)에서 제7 프로그램 상태(P7)로 갈수록 메모리 셀의 플로팅 게이트에 더 많은 전자가 주입된 상태일 수 있다. 제 4 독출 전압(Vr4)은 제3 프로그램 상태(P3)와 제4 프로그램 상태(P4)를 가지는 메모리 셀의 문턱 전압 산포 사이의 전압 레벨을 가질 수 있다.
메모리 장치에 포함된 복수의 메모리 페이지들 중 선택 메모리 페이지가 서스펜드 동작을 경험한 경우에 대해 설명한다. 서스펜드 동작은 수행 중이던 프로그램 동작을 중단하고, 중단된 프로그램 동작을 재개하는 과정을 거치게 되는데, 상기 과정에서 선택 메모리 페이지에 포함된 메모리 셀들의 문턱 전압 산포가 이상적인 문턱 전압 산포와 다르게 형성될 수 있다. 예를 들어, 제3 프로그램 상태(P3)는 변경된 제3 프로그램 상태(P3')으로, 제4 프로그램 상태(P4)는 변경된 제4 프로그램 상태(P4')의 산포를 가질 수 있다. 설명의 편의를 위해, 제3 프로그램 상태(P3)와 제4 프로그램 상태(P4)의 산포가 바뀌는 것으로 도시하였지만, 서스펜드 동작에 의해 나머지 프로그램 상태들의 산포도 바뀔 수 있다. 또한, 서스펜드 동작에 의해 제3 프로그램 상태(P3)와 제4 프로그램 상태(P4)의 문턱 전압 산포가 그래프 상에서 오른쪽으로 이동하는 것으로 도시되었지만, 이에 제한되지는 않는다. 예를 들어, 경우에 따라 서스펜드 동작에 의해 제3 프로그램 상태(P3) 및/또는 제4 프로그램 상태(P4)의 문턱 전압 산포가 그래프 상에서 왼쪽으로 이동할 수도 있다.
서스펜드 동작에 따라 메모리 셀들이 변경된 제3 프로그램 상태(P3')와 변경된 제4 프로그램 상태(P4')의 문턱 전압 산포를 갖는 경우, 제4 독출 전압(Vr4)을 워드라인에 인가하여 독출 동작을 수행하게 되는 경우 독출 에러가 발생할 수 있다. 따라서 이 경우, 신뢰성 높은 독출 동작을 위해서는, 워드라인에 제4 독출 전압(Vr4)이 아닌 변경된 제4 독출 전압(Vr4')을 인가하는 것이 바람직할 것이다.
한편, 프로그램 상태의 문턱 전압 산포의 이동 정도는 서스펜드에 따라 프로그램이 중단된 기간의 시간 간격을 나타내는 리줌 시간, ISPP 동작의 경우 진입 시점, 서스펜드 경험 횟수 및 온도 등과 같은 변수의 영향에 따라 상이할 수 있다. 따라서 메모리 컨트롤러는 선택 메모리 페이지에 서스펜드 동작이 수행될 때 상기 변수들 중 적어도 하나를 서스펜드 동작 정보로서 저장할 수 있고, 독출 동작 시 저장된 서스펜드 정보를 기초로 독출 오프셋 레벨을 결정하여 독출 전압을 변경할 수 있다. 예를 들어, 도 4를 참조하면, 독출 오프셋 레벨은 변경된 제4 독출 전압(Vr4')에서 제4 독출 전압(Vr4)을 감산한 값일 수 있다.
본 개시의 예시적 실시예에 따르면, 메모리 컨트롤러가 메모리 장치의 독출 동작을 제어할 때, 선택 메모리 페이지가 서스펜드 동작을 경험한 경우, 서스펜드 동작 정보에 기초하여 독출 전압을 보상함으로써 메모리 장치의 독출 동작의 신뢰성을 높일 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 데이터 동작 관리부(320)를 나타낸다. 데이터 동작 관리부(320)는 독출 동작 관리부(321) 및 기입 동작 관리부(325)를 포함할 수 있다. 독출 동작 관리부(321) 및 기입 동작 관리부(325)에 관한 도 2와 중복되는 설명은 생략한다.
독출 동작 관리부(321)는 서스펜드 체크부(322) 및 오프셋 레벨 조정부(323)를 포함할 수 있다.
서스펜드 체크부(322)는 저장된 서스펜드 정보(PSR_INFO)를 수신할 수 있다. 서스펜드 체크부(322)는 수신된 서스펜드 정보(PSR_INFO)를 기초로 독출의 대상이 되는 선택 메모리 페이지가 서스펜드 동작을 경험했는지 여부를 판단할 수 있다. 예를 들어, 서스펜드 체크부(322)는 수신된 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 플래그 정보를 기초로 선택 메모리 페이지의 서스펜드 동작 경험 여부를 판단할 수 있다.
오프셋 레벨 조정부(323)는 저장된 서스펜드 정보(PSR_INFO) 및 오프셋 레벨 정보(OL_INFO)를 수신할 수 있다. 오프셋 레벨 조정부(323)는 선택 메모리 페이지가 서스펜드 동작을 경험한 경우, 독출 전압을 보상하는 값인 독출 오프셋 레벨을 결정할 수 있다. 예를 들어, 오프셋 레벨 조정부(323)는 수신된 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 동작 정보 및 수신된 오프셋 레벨 정보(OL_INFO)를 기초로 독출 오프셋 레벨을 결정할 수 있다. 오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함할 수 있고, 오프셋 레벨 조정부(323)는 선택 메모리 페이지의 서스펜드 동작 정보와 오프셋 레벨 정보(OL_INFO)를 비교함으로써 독출 오프셋 레벨을 결정할 수 있다.
기입 동작 관리부(325)는 타이머(326) 및 플래그 레코더(327)를 포함할 수 있다.
메모리 장치의 선택 메모리 페이지가 프로그램 동작 수행 중 서스펜드 동작을 경험하는 경우, 플래그 레코더(327)는 선택 메모리 페이지가 서스펜드 동작을 경험했음을 나타내는 서스펜드 플래그 정보(PSR_FLAG)를 메모리 컨트롤러의 내부 메모리에 송신하여 저장할 수 있다.
또한, 기입 동작 관리부(325)는 서스펜드 동작에 관한 다양한 정보를 나타내는 서스펜드 동작 정보를 내부 메모리에 송신하여 저장할 수 있다. 예를 들어, 타이머(326)는 메모리 컨트롤러 내부의 클락 또는 외부의 클락을 카운트함으로써 리줌 시간(tRES)을 측정할 수 있고, 측정된 리줌 시간(tRES)을 메모리 컨트롤러의 내부 메모리에 송신하여 저장할 수 있다.
본 개시의 예시적 실시예에 따르면, 독출 동작 관리부(321)가 서스펜드 동작을 경험한 메모리 페이지의 독출 동작시 서스펜드 동작 정보를 기초로 독출 오프셋 레벨을 결정함으로써 메모리 장치의 독출 동작의 신뢰성을 높일 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 프로그램 동작 제어 방법의 순서도를 나타낸다. 도 6은 도 1을 함께 참조하여 설명될 수 있다.
메모리 장치(400)는 복수의 메모리 페이지들 중 선택 워드라인에 연결된 선택 메모리 페이지에 프로그램 동작을 수행할 수 있다(S210).
메모리 컨트롤러(300)는 메모리 장치(400)의 프로그램 동작 수행 중 호스트(100)로부터 우선순위가 더 높은 데이터 동작의 요청을 나타내는 서스펜드 요청이 수신되는지 여부를 판단할 수 있다(S220). 서스펜드 요청이 수신되지 않은 경우, 메모리 장치(400)는 계속해서 프로그램 동작을 수행할 수 있다(S210).
서스펜드 요청이 수신된 경우, 메모리 컨트롤러(300)는 제1 시점에 타이머를 셋 할 수 있다(S230). 제1 시점은 메모리 컨트롤러(300)가 메모리 장치(400)에 서스펜드 커맨드를 송신한 시점일 수 있다. 하지만 이에 제한되는 것은 아니며, 메모리 컨트롤러(300)가 메모리 장치(400)에 우선순위가 더 높은 데이터 동작 커맨드 신호를 송신한 시점일 수 있다. 도 5의 타이머(326)는 메모리 컨트롤러(300) 내부의 클락 또는 외부의 클락을 카운트함으로써 제1 시점부터 시간을 측정할 수 있다.
메모리 장치(400)가 우선순위가 더 높은 데이터 동작을 완료한 경우, 메모리 컨트롤러(300)는 메모리 장치(400)에 리줌 커맨드를 송신할 수 있다(S240). 메모리 장치(400)는 리줌 커맨드의 수신에 따라 중단된 프로그램 동작을 재개할 수 있다.
메모리 컨트롤러(300)는 제2 시점에 리줌 시간(tRES)을 기록할 수 있다(S250). 제2 시점은 메모리 컨트롤러(300)가 메모리 장치(400)에 리줌 커맨드를 송신한 시점일 수 있다. 예를 들어, 메모리 컨트롤러(300)는 제1 시점부터 제2 시점까지 내부 클락을 이용해 측정한 리줌 시간(tRES)를 서스펜드 정보의 일부로서 내부 메모리에 저장할 수 있다.
메모리 장치(400)는 중단된 프로그램 동작을 재개한 뒤, 남은 프로그램 동작을 완료할 수 있다(S260).
메모리 컨트롤러(300)는 선택 메모리 페이지가 서스펜드 동작을 경험했음을 나타내는 서스펜드 플래그 정보(PSR_FLAG)를 기록할 수 있다(S270). 예를 들어, 메모리 컨트롤러(300)는 서스펜드 플래그 정보(PSR_FLAG)를 서스펜드 정보의 일부로서 내부 메모리에 저장할 수 있다. 도 6에 도시된 바와 달리, 서스펜드 플래그 정보(PSR_FLAG)의 기록은 메모리 컨트롤러(300)가 메모리 장치(400)에 서스펜드 커맨드를 송신한 뒤, 메모리 장치(400)가 프로그램 동작을 완료하기 전에 이루어질 수 있다. 즉, 도 6에 개시된 순서도가 시간적 순서까지 포함하는 것은 아니다.
도 7a 및 7b는 본 개시의 예시적 실시예에 따른 서스펜드 정보(PSR_INFO)를 나타낸다.
도 7a를 참조하면, 서스펜드 정보(PSR_INFO)는 각각의 메모리 페이지에 대응되는 서스펜드 플래그 정보(PSR_FLAG) 및 서스펜드 동작 정보를 포함할 수 있다. 서스펜드 동작 정보는 리줌 시간(tRES)을 포함할 수 있다. 메모리 페이지는 메모리 페이지에 연결된 워드라인의 어드레스에 의해 구분될 수 있고, 서스펜드 정보(PSR_INFO)는 어드레스(ADDR)에 대응되는 서스펜드 플래그 정보(PSR_FLAG) 및 리줌 시간(tRES)의 매칭 정보를 포함할 수 있다. 설명의 편의상, 비제한적인 예시로서, 서스펜드 동작을 경험한 메모리 페이지에 대응되는 서스펜드 플래그 정보(PSR_FLAG)는 로직 하이('1') 값을 가지고, 서스펜드 동작을 경험하지 않은 메모리 페이지에 대응되는 서스펜드 플래그 정보(PSR_FLAG)는 로직 로우('0') 값을 가지는 것으로 설명된다.
예를 들어, 제1 어드레스(ADDR_1)에 연결된 메모리 페이지가 제1 리줌 시간(tRES_1) 동안 서스펜드 동작을 경험한 경우, 제1 어드레스(ADDR_1)에 대응되는 서스펜드 플래그 정보(PSR_FLAG)는 로직 하이('1') 값을 가질 수 있고, 제1 어드레스(ADDR_1)에 대응되는 리줌 시간(tRES)은 제1 리줌 시간(tRES_1)일 수 있다.
제3 어드레스(ADDR_3)에 연결된 메모리 페이지가 서스펜드 동작을 경험하지 않은 경우, 제3 어드레스(ADDR_3)에 대응되는 서스펜드 플래그 정보(PSR_FLAG)는 로직 로우('0') 값을 가질 수 있다.
제2 어드레스(ADDR_2) 및 제k 어드레스(ADDR_k)(k는 자연수)의 서스펜드 플래그 정보(PSR_FLAG) 및 리줌 시간(tRES)도 같은 방식에 의해 서스펜드 정보(PSR_INFO)의 일부로서 저장될 수 있다.
도 7b를 참조하면, 서스펜드 정보(PSR_INFO)는 각각의 메모리 페이지 별 서스펜드 플래그 정보(PSR_FLAG) 및 서스펜드 동작 정보를 포함할 수 있다. 서스펜드 동작 정보는 서스펜드 동작 경험 횟수(N_PSR), 누적 서스펜드 경험 시간을 나타내는 누적 리줌 시간(tRES_ACC), ISPP(Incremental Step Pulse Program) 동작에서 서스펜드 동작의 진입 시점을 나타내는 진입 구간 정보(SECTION) 및 서스펜드 동작 당시의 온도(TEMPERATURE)를 포함할 수 있다. 메모리 페이지는 메모리 페이지에 연결된 워드라인의 어드레스에 의해 구분될 수 있고, 서스펜드 정보(PSR_INFO)는 어드레스(ADDR)에 대응되는 서스펜드 플래그 정보(PSR_FLAG), 서스펜드 동작 경험 횟수(N_PSR), 누적 리줌 시간(tRES_ACC), 진입 구간 정보(SECTION) 및 온도(TEMPERATURE)의 매칭 정보를 포함할 수 있다.
예를 들어, 제1 어드레스(ADDR_1)에 연결된 메모리 페이지가 제1 횟수(N_1) 서스펜드 동작을 경험했고, 누적 리줌 시간(tRES_ACC)이 제1 누적 리줌 시간(tRES_ACC_1)이고, ISPP 동작 중 제1 구간(SEC_1)에 진입되었으며, 진입 당시 온도(TEMPERATURE)가 제1 온도(TEMP_1)인 경우, 제1 어드레스(ADDR_1)에 대응되는 서스펜드 플래그 정보(PSR_FLAG)는 로직 하이('1') 값을 가질 수 있고, 제1 어드레스(ADDR_1)에 대응되는 서스펜드 동작 경험 횟수(N_PSR)는 제1 횟수(N_1) 값을 가질 수 있고, 제1 어드레스(ADDR_1)에 대응되는 누적 리줌 시간(tRES_ACC)은 제1 누적 리줌 시간(tRES_ACC_1)일 수 있고, 제1 어드레스(ADDR_1)에 대응되는 진입 구간 정보(SECTION)는 제1 구간(SEC_1)일 수 있으며, 제1 어드레스(ADDR_1)에 대응되는 온도(TEMPERATURE)는 제1 온도(TEMP_1)일 수 있다.
또한 예를 들어, 제3 어드레스(ADDR_3)에 연결된 메모리 페이지가 서스펜드 동작을 경험하지 않은 경우, 제3 어드레스(ADDR_3)에 대응되는 서스펜드 플래그 정보(PSR_FLAG)는 로직 로우('0') 값을 가질 수 있다.
제2 어드레스(ADDR_2) 및 제k 어드레스(ADDR_k)(k는 자연수)의 서스펜드 플래그 정보(PSR_FLAG) 및 리줌 시간(tRES)도 같은 방식에 의해 서스펜드 정보(PSR_INFO)의 일부로서 저장될 수 있다.
도 7a 및 7b를 참조한 예시적 실시예에 따라, 메모리 컨트롤러는 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 플래그 정보(PSR_FLAG)를 기초로 메모리 페이지의 서스펜드 동작 경험 여부를 판단할 수 있고, 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 동작 정보를 기초로 독출 오프셋 레벨을 결정할 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 독출 동작 제어 방법의 순서도를 나타낸다. 도 8은 도 1을 함께 참조하여 설명된다. 메모리 장치(400)는 복수의 워드라인들 각각에 연결된 복수의 메모리 페이지들을 포함할 수 있다.
메모리 컨트롤러(300)는 복수의 메모리 페이지들 중 선택 워드라인에 연결된 선택 메모리 페이지의 서스펜드 동작의 경험 여부를 판단할 수 있다(S320). 예를 들어, 메모리 컨트롤러(300)는 저장된 서스펜드 정보(PSR_INFO)에 포함된 서스펜드 플래그 정보를 기초로 선택 메모리 페이지가 서스펜드 동작을 경험했는지 여부를 판단할 수 있다.
선택 메모리 페이지의 서스펜드 동작 경험 여부에 따라 다음 동작이 나뉠 수 있다(S330). 선택 메모리 페이지가 서스펜드 동작을 경험하지 않은 경우(S330, NO), 메모리 컨트롤러(300)는 독출 전압의 보상 없이 메모리 장치(400)가 독출 동작을 수행하도록 메모리 장치(400)를 제어할 수 있다.
선택 메모리 페이지가 서스펜드 동작을 경험한 경우(S330, YES), 메모리 컨트롤러(300)는 선택 메모리 페이지의 서스펜드 동작 정보에 기초하여 선택 메모리 페이지의 독출 오프셋 레벨을 결정할 수 있다(S340). 예를 들어, 서스펜드 동작 정보는 리줌 시간을 포함할 수 있다. 또한 예를 들어, 메모리 컨트롤러는 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨의 매칭 정보인 오프셋 레벨 정보와 메모리 페이지의 서스펜드 동작 정보를 비교함으로써 메모리 페이지의 독출 오프셋 레벨을 결정할 수 있다. 오프셋 레벨 정보에 관한 다양한 실시예는 이하의 도면들을 참조하여 설명된다.
메모리 컨트롤러(300)는 결정된 독출 오프셋 레벨을 기초로 메모리 장치(400)의 독출 동작을 제어할 수 있다(S360). 예를 들어, 메모리 컨트롤러(300)는 독출 오프셋 레벨을 기초로 메모리 장치(400)에 독출 커맨드를 송신할 수 있다. 결정된 독출 오프셋 레벨을 기초로 독출 커맨드를 송신하는 실시예는 도 11을 참조하여 설명된다.
도 9는 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보(OL_INFO)를 나타낸다. 오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 서스펜드 동작 정보는 리줌 시간(tRES)을 포함할 수 있다. 즉, 오프셋 레벨 정보(OL_INFO)는 리줌 시간(tREF)에 대응되는 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다. 리줌 시간(tREF)에 따라 메모리 셀들의 문턱 전압 산포 변화가 상이할 수 있다. 따라서, 리줌 시간(tREF)에 따라 독출 오프셋 레벨(ROL)을 상이하게 제어할 필요가 있을 수 있다.
예를 들어, 리줌 시간(tRES)이 0 이상 제1 기준 시간(tREF_1) 미만인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제1 독출 오프셋 레벨(ROL_1)일 수 있다. 마찬가지로, 리줌 시간(tRES)이 제k-1 기준 시간(tREF_k-1) 이상 제k 기준 시간(tREF_k) 미만인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제k 독출 오프셋 레벨(ROL_k)일 수 있다. 리줌 시간(tRES)이 제k 기준 시간(tREF_k) 이상인 경우, 메모리 컨트롤러는 메모리 장치가 리드 리클레임(Read Reclaim)을 수행하도록 제어할 수 있다. 리드 리클레임 동작은 선택 메모리 페이지가 포함된 메모리 블록, 또는 메모리 블록의 일부의 데이터를 다른 메모리 블록으로 이동시키는 동작을 포함할 수 있다. 이 때, 제k 기준 시간(tREF_k)을 임계 시간이라 칭할 수 있다. 즉, 리줌 시간(tRES)이 임계 시간 이상인 경우, 메모리 컨트롤러는 메모리 장치가 리드 리클레임을 수행하도록 제어할 수 있다.
제1 독출 오프셋 레벨(ROL_1) 내지 제k 독출 오프셋 레벨(ROL_k)은 모두 다른 값을 가질 수도 있고, 일부가 서로 같은 값을 가질 수도 있다. 또한 비제한적인 예시로서, 제1 독출 오프셋 레벨(ROL_1) 내지 제k 독출 오프셋 레벨(ROL_k) 중 적어도 하나는 음수 값을 가질 수 있으며, 적어도 하나는 양수 값을 가질 수 있으며, 적어도 하나는 ‘0’의 값을 가질 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러의 독출 오프셋 레벨 결정 방법의 순서도를 나타낸다. 도 10은 도 1을 함께 참조하여 설명된다.
메모리 컨트롤러(300)는 독출의 대상이 되는 선택 메모리 페이지의 서스펜드 동작 정보와 오프셋 레벨 정보(OL_INFO)를 비교할 수 있다(S342). 예를 들어, 오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함할 수 있고, 서스펜드 정보(PSR_INFO)에 포함된 선택 메모리 페이지의 서스펜드 동작 정보와 오프셋 레벨 정보(OL_INFO)에 포함된 서스펜드 동작 정보를 비교할 수 있다.
메모리 컨트롤러(300)는 비교 결과를 기반으로 독출 오프셋 레벨을 결정할 수 있다(S344). 예를 들어, 메모리 컨트롤러(300)는 오프셋 레벨 정보(OL_INFO)에서 선택 메모리 페이지의 서스펜드 동작 정보에 대응되는 독출 오프셋 레벨을 검색함으로써 독출 오프셋 레벨을 결정할 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 메모리 컨트롤러가 송신하는 커맨드 신호를 나타낸다. 도 11은 도 9를 함께 참조하여 설명된다.
도 9를 참조하면, 메모리 컨트롤러는 선택 메모리 페이지의 리줌 시간(tRES)에 대응되는 독출 오프셋 레벨(ROL)을 기초로 메모리 장치의 독출 동작을 제어할 수 있다. 독출 오프셋 레벨(ROL)은 제1 독출 오프셋 레벨(ROL_1) 내지 제k 독출 오프셋 레벨(ROL_k) 중 하나일 수 있다. 상이한 독출 오프셋 레벨(ROL)을 기초로 메모리 장치의 독출 동작을 제어하기 위해, 메모리 컨트롤러는 메모리 장치에 독출 커맨드를 송신할 때, 모드 신호를 함께 송신할 수 있다. 도 11은 독출 커맨드(READ) 앞에 모드 신호가 포함되는 것을 도시하지만, 이에 제한되지 않는다. 예를 들어, 모드 신호는 독출 커맨드(READ) 뒤에 포함될 수도 있고, 중간에 포함될 수도 있다.
예를 들어, 메모리 장치가 제1 독출 오프셋 레벨(ROL_1)을 기초로 독출 동작을 수행하는 모드를 제1 모드(MODE_1)라 칭할 수 있고, 메모리 컨트롤러는 메모리 장치에 독출 커맨드(READ)와 제1 모드(MODE_1)를 나타내는 모드 신호를 포함하는 제1 독출 커맨드(READ_1)를 메모리 장치에 송신할 수 있다. 메모리 장치는 제1 독출 커맨드(READ_1)의 수신을 기초로 제1 독출 오프셋 레벨(ROL_1) 만큼 독출 전압을 보상할 수 있다. 제2 독출 커맨드(READ_2) 내지 제k 독출 커맨드(READ_k) 역시 같은 방식에 의해 모드 신호와 독출 커맨드(READ)를 포함할 수 있다.
도 12a 및 12b는 본 개시의 예시적 실시예에 따른 ISPP(Incremental Step Pulse Program) 동작 및 오프셋 레벨 정보(OL_INFO)를 나타낸다.
ISPP 동작은 워드라인에 점점 증가하는 크기의 프로그램 전압 펄스를 인가하는 프로그램 동작을 나타낸다. 예를 들어, ISPP 동작은 복수의 루프들(LOOP_1~LOOP_m)을 포함할 수 있고, 루프들(LOOP_1~LOOP_m) 각각은 프로그램 구간과 검증 구간을 포함할 수 있다. 예를 들어, 제1 루프(LOOP_1)는 제1 프로그램 전압 펄스(VPGM_1)로 프로그램 되는 제1 프로그램 구간(PR_1) 및 제1 검증 구간(VFY_1)을 포함할 수 있고, 제m 루프(LOOP_m)는 제m 프로그램 전압 펄스(VPGM_m)로 프로그램 되는 제m 프로그램 구간(PR_m) 및 제m 검증 구간(VFY_m)을 포함할 수 있다. 프로그램 전압의 크기는 제1 프로그램 펄스(VPGM_1)에서 제m 프로그램 펄스(VPGM_m)로 갈수록 더 커질 수 있다.
서스펜드 동작은 복수의 루프들(LOOP_1~LOOP_m) 사이의 구간들에서 수행될 수 있다. 예를 들어, 제1 루프(LOOP_1)와 제2 루프(LOOP_2) 사이의 구간을 제1 진입 구간(SEC_1)이라 칭할 수 있고, 제1 진입 구간(SEC_1)에서 메모리 장치가 서스펜드 동작을 경험한 경우를 서스펜드 동작이 제1 진입 구간(SEC_1)에서 시작 또는 진입했다고 칭할 수 있다. ISPP 동작 중 서스펜드 동작이 수행되는 경우, 서스펜드 동작의 진입 시점에 따라 메모리 셀들의 문턱 전압 산포 변화가 상이할 수 있다. 따라서, 서스펜드 동작의 진입 시점에 따라 독출 오프셋 레벨(ROL)을 상이하게 제어할 필요가 있다.
도 12a를 참조하면, 서스펜드 동작 정보는 서스펜드 동작의 진입 시점을 나타내는 진입 구간 정보(SECTION)를 포함할 수 있다. 즉, 오프셋 레벨 정보(OL_INFO)는 진입 구간 정보(SECTION)에 따른 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
예를 들어, 진입 구간 정보(SECTION)가 제1 진입 구간(SEC_1)인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제1 독출 오프셋 레벨(ROL_1)일 수 있다. 마찬가지로, 진입 구간 정보(SECTION)가 제m-1 진입 구간(SEC_m-1)인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제m-1 독출 오프셋 레벨(ROL_m-1)일 수 있다.
제1 독출 오프셋 레벨(ROL_1) 내지 제m-1 독출 오프셋 레벨(ROL_m-1)은 모두 다른 값을 가질 수도 있고, 일부는 서로 같은 값을 가질 수도 있다. 또한 비제한적인 예시로서, 제1 독출 오프셋 레벨(ROL_1) 내지 제m-1 독출 오프셋 레벨(ROL_m-1) 중 적어도 하나는 음수 값을 가질 수 있으며, 적어도 하나는 양수 값을 가질 수 있으며, 적어도 하나는 ‘0’의 값을 가질 수 있다.
도 12b를 참조하면, 서스펜드 동작 정보는 리줌 시간(tRES) 및 진입 구간 정보(SECTION)를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 리줌 시간(tRES)과 독출 오프셋 레벨(ROL)의 진입 구간 정보(SECTION) 별 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
메모리 컨트롤러는 선택 메모리 페이지의 진입 구간 정보(SECTION) 및 리줌 시간(tRES)을 오프셋 레벨 정보(OL_INFO)와 비교함으로써 독출 오프셋 레벨(ROL)을 결정할 수 있다. 예를 들어, 선택 메모리 페이지의 진입 구간 정보(SECTION)는 제1 진입 구간(SEC_1)이고, 리줌 시간(tRES)이 제k-1 기준 시간(tREF_k-1) 이상 제k 기준 시간(tREF_k) 이하인 경우, 독출 오프셋 레벨(ROL)은 제k 독출 오프셋 레벨(ROL_k)로 결정될 수 있다. 또한 예를 들어, 선택 메모리 페이지의 진입 구간 정보(SECTION)는 제m-1 진입 구간(SEC_m-1)이고, 리줌 시간(tRES)이 제1 기준 시간(tREF_1’) 이상 제2 기준 시간(tREF_2’) 이하인 경우, 독출 오프셋 레벨(ROL)은 제2 독출 오프셋 레벨(ROL_2’)로 결정될 수 있다. 각각의 구간 진입 정보(SECTION) 별로 기준 시간들은 상이할 수 있으며, 모두 같을 수도 있고, 일부만 같을 수도 있다.
도 13은 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보(OL_INFO)를 나타낸다. 서스펜드 동작 정보는 서스펜드 동작 경험 횟수(N_SPD)를 포함할 수 있다. 즉, 오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 경험 횟수(N_SPD)에 따른 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
예를 들어, 서스펜드 동작 경험 횟수(N_SPD)가 제1 기준 횟수(NREF_1)이상 제2 기준 횟수(NREF_2) 미만인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제2 독출 오프셋 레벨(ROL_2)일 수 있다. 서스펜드 동작 경험 횟수(N_SPD)가 제m 기준 횟수(NREF_m) 이상인 경우, 메모리 컨트롤러는 메모리 장치가 리드 리클레임(Read Reclaim)을 수행하도록 제어할 수 있다. 이 때, 제m 기준 횟수(NREF_m)을 임계 횟수라 칭할 수 있다. 즉, 서스펜드 동작 경험 횟수(N_SPD)가 임계 횟수 이상인 경우, 메모리 컨트롤러는 메모리 장치가 리드 리클레임을 수행하도록 제어할 수 있다.
제1 독출 오프셋 레벨(ROL_1) 내지 제m 독출 오프셋 레벨(ROL_m)은 모두 다른 값을 가질 수도 있고, 일부는 서로 같은 값을 가질 수도 있다. 또한 비제한적인 예시로서, 제1 독출 오프셋 레벨(ROL_1) 내지 제m 독출 오프셋 레벨(ROL_m) 중 적어도 하나는 음수 값을 가질 수 있으며, 적어도 하나는 양수 값을 가질 수 있으며, 적어도 하나는 ‘0’의 값을 가질 수 있다.
도 14는 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보(OL_INFO)를 나타낸다. 서스펜드 동작 정보는 누적 리줌 시간(tRES_ACC)을 포함할 수 있다. 즉, 오프셋 레벨 정보(OL_INFO)는 누적 리줌 시간(tRES_ACC)에 따른 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
예를 들어, 누적 리줌 시간(tRES_ACC)이 제2 기준 시간(tREF_2)이상 제3 기준 시간(tREF_3) 미만인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제3 독출 오프셋 레벨(ROL_3)일 수 있다. 누적 리줌 시간(tRES_ACC)이 제m 기준 시간(tREF_m) 이상인 경우, 메모리 컨트롤러는 메모리 장치가 리드 리클레임(Read Reclaim)을 수행하도록 제어할 수 있다. 이 때, 제m 기준 시간(tREF_m)을 임계 시간이라 칭할 수 있다. 즉, 누적 리줌 시간(tRES_ACC)이 임계 시간 이상인 경우, 메모리 컨트롤러는 메모리 장치가 리드 리클레임을 수행하도록 제어할 수 있다.
제1 독출 오프셋 레벨(ROL_1) 내지 제m 독출 오프셋 레벨(ROL_m)은 모두 다른 값을 가질 수도 있고, 일부는 서로 같은 값을 가질 수도 있다. 또한 비제한적인 예시로서, 제1 독출 오프셋 레벨(ROL_1) 내지 제m 독출 오프셋 레벨(ROL_m) 중 적어도 하나는 음수 값을 가질 수 있으며, 적어도 하나는 양수 값을 가질 수 있으며, 적어도 하나는 ‘0’의 값을 가질 수 있다.
도 15a 및 15b는 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보(OL_INFO)를 나타낸다. 서스펜드 동작이 수행될 당시의 온도(TEMPERATURE)에 따라 메모리 셀들의 문턱 전압 산포 변화가 상이할 수 있다. 따라서, 서스펜드 동작 당시의 온도(TEMPERATURE)에 따라 독출 오프셋 레벨(ROL)을 상이하게 제어할 필요가 있을 수 있다.
도 15a를 참조하면, 서스펜드 동작 정보는 서스펜드 동작 당시의 온도(TEMPERATURE)를 포함할 수 있다. 즉, 오프셋 레벨 정보(OL_INFO)는 온도(TEMPERATURE)에 따른 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
예를 들어, 온도(TEMPERATURE)가 제1 기준 온도(TEMP_REF_1) 이상 제2 기준 온도(TEMP_REF_2) 미만인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제2 독출 오프셋 레벨(ROL_2)일 수 있다. 마찬가지로, 온도(TEMPERATURE)가 제m-1 기준 온도(TEMP_REF_m-1) 이상 제3 기준 온도(TEMP_REF_m) 미만인 경우에 대응되는 독출 오프셋 레벨(ROL)은 제m 독출 오프셋 레벨(ROL_m)일 수 있다.
제1 독출 오프셋 레벨(ROL_1) 내지 제m 독출 오프셋 레벨(ROL_m)은 모두 다른 값을 가질 수도 있고, 혹은 일부가 서로 같은 값을 가질 수도 있다. 또한 비제한적인 예시로서, 제1 독출 오프셋 레벨(ROL_1) 내지 제m 독출 오프셋 레벨(ROL_m) 중 적어도 하나는 음수 값을 가질 수 있으며, 적어도 하나는 양수 값을 가질 수 있으며, 적어도 하나는 ‘0’의 값을 가질 수 있다.
도 15b를 참조하면, 서스펜드 동작 정보는 리줌 시간(tRES) 및 온도(TEMPERATURE)를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 리줌 시간(tRES)과 독출 오프셋 레벨(ROL)의 온도(TEMPERATURE) 별 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
메모리 컨트롤러는 선택 메모리 페이지의 온도(TEMPERATURE) 및 리줌 시간(tRES)을 오프셋 레벨 정보(OL_INFO)와 비교함으로써 독출 오프셋 레벨(ROL)을 결정할 수 있다. 예를 들어, 선택 메모리 페이지의 서스펜드 동작 당시의 온도(TEMPERATURE)는 제1 기준 온도(TEMP_REF_1) 이상 제2 기준 온도(TEMP_REF_2) 미만이고, 리줌 시간(tRES)이 제k-1 기준 시간(tREF_k-1) 이상 제k 기준 시간(tREF_k) 미만인 경우, 독출 오프셋 레벨(ROL)은 제k 독출 오프셋 레벨(ROL_k)로 결정될 수 있다. 또한 예를 들어, 선택 메모리 페이지의 서스펜드 동작 당시의 온도(TEMPERATURE)는 제m-1 기준 온도(TEMP_REF_m-1) 이상 제m 기준 온도(TEMP_REF_m) 미만이고, 리줌 시간(tRES)이 제1 기준 시간(tREF_1’) 이상 제2 기준 시간(tREF_2’) 이하인 경우, 독출 오프셋 레벨(ROL)은 제2 독출 오프셋 레벨(ROL_2’)로 결정될 수 있다. 각각의 온도(TEMPERATURE) 별로 기준 시간들은 상이할 수 있으며, 모두 같을 수도 있고, 일부만 같을 수도 있다.
도 16은 본 개시의 예시적 실시예에 따른 메모리 셀 어레이(420) 및 오프셋 레벨 정보(OL_INFO)를 나타낸다.
메모리 셀 어레이(420)는 복수의 메모리 영역들(ZONE_1~ZONE_m)을 포함할 수 있으며, 메모리 영역들(ZONE_1~ZONE_m) 각각은 복수의 메모리 페이지들(PAG_1~PAG_n)을 포함할 수 있다. 메모리 영역은 메모리 블록일 수 있으며, 메모리 서브 블록일 수 있다. 하지만 이에 제한되지 않으며, 메모리 영역들(ZONE_1~ZONE_m) 중 일부는 서로 상이한 개수의 메모리 페이지를 포함할 수 있다. 서스펜드 동작이 수행되는 경우, 메모리 영역 별로 리줌 시간(tRES)에 따른 메모리 셀들의 문턱 전압 산포 변화가 상이할 수 있다. 따라서, 메모리 영역에 따라 독출 오프셋 레벨(ROL)을 상이하게 제어할 필요가 있다.
오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보는 리줌 시간(tRES)을 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 리줌 시간(tRES)과 독출 오프셋 레벨(ROL)의 메모리 영역(MEMORY_ZONE) 별 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
메모리 컨트롤러는 선택 메모리 페이지의 포함된 메모리 영역(MEMORY_ZONE) 및 리줌 시간(tRES)을 오프셋 레벨 정보(OL_INFO)와 비교함으로써 독출 오프셋 레벨(ROL)을 결정할 수 있다. 예를 들어, 선택 메모리 페이지의 메모리 영역(MEMORY_ZONE)은 제1 영역(ZONE_1)이고, 리줌 시간(tRES)이 제k-1 기준 시간(tREF_k-1) 이상 제k 기준 시간(tREF_k) 미만인 경우, 독출 오프셋 레벨(ROL)은 제k 독출 오프셋 레벨(ROL_k)로 결정될 수 있다. 또한 예를 들어, 선택 메모리 페이지의 메모리 영역(MEMORY_ZONE)은 제m 영역(ZONE_m)이고, 리줌 시간(tRES)이 제1 기준 시간(tREF_1’) 이상 제2 기준 시간(tREF_2’) 이하인 경우, 독출 오프셋 레벨(ROL)은 제2 독출 오프셋 레벨(ROL_2’)로 결정될 수 있다. 각각의 메모리 영역(MEMORY_ZONE) 별로 기준 시간들은 상이할 수 있으며, 모두 같을 수도 있고, 일부만 같을 수도 있다.
도 17은 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보(OL_INFO)를 나타낸다.
메모리 셀 어레이에 포함된 메모리 셀들 각각은 최하위 비트(Least Significant Bit; LSB), 중간 비트(Central Significant Bit; CSB) 및 최상위 비트(Most Significant Bit; MSB)를 저장할 수 있다. 메모리 셀들 각각이 저장하는 비트들의 수는 이에 한정되지 않는다. 워드라인에 연결된 메모리 셀들 중 최하위 비트들(LSB)은 최하위 비트 페이지를 형성할 수 있고, 중간 비트들(CSB)은 중간 비트 페이지를 형성할 수 있으며, 최상위 비트들(MSB)은 최상위 비트 페이지를 형성할 수 있다. 즉, 메모리 페이지의 페이지 유형(PAGE TYPE)은 최하위 비트 페이지, 중간 비트 페이지 및 최상위 비트 페이지를 포함할 수 있다. 서스펜드 동작이 수행되는 경우, 메모리 페이지의 유형 별로 리줌 시간(tRES)에 따른 메모리 셀들의 문턱 전압 산포 변화가 상이할 수 있다. 따라서, 메모리 페이지의 유형에 따라 독출 오프셋 레벨(ROL)을 상이하게 제어할 필요가 있다.
오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보에 따른 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 서스펜드 동작 정보는 리줌 시간(tRES)을 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 리줌 시간(tRES)과 독출 오프셋 레벨(ROL)의 페이지 유형(PAGE TYPE) 별 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
메모리 컨트롤러는 선택 메모리 페이지의 페이지 유형(PAGE TYPE) 및 리줌 시간(tRES)을 오프셋 레벨 정보(OL_INFO)와 비교함으로써 독출 오프셋 레벨(ROL)을 결정할 수 있다. 예를 들어, 선택 메모리 페이지의 페이지 유형(PAGE TEYPE)은 최하위 비트(LSB) 페이지이고, 리줌 시간(tRES)이 제k-1 기준 시간(tREF_k-1) 이상 제k 기준 시간(tREF_k) 미만인 경우, 독출 오프셋 레벨(ROL)은 제k 독출 오프셋 레벨(ROL_k)로 결정될 수 있다. 또한 예를 들어, 선택 메모리 페이지의 페이지 유형(PAGE TYPE)은 최상위 비트(MSB) 페이지이고, 리줌 시간(tRES)이 제1 기준 시간(tREF_1") 이상 제2 기준 시간(tREF_2") 이하인 경우, 독출 오프셋 레벨(ROL)은 제2 독출 오프셋 레벨(ROL_2")로 결정될 수 있다. 각각의 페이지 유형(PAGE TYPE) 별로 기준 시간들은 상이할 수 있으며, 모두 같을 수도 있고, 일부만 같을 수도 있다.
도 18은 본 개시의 예시적 실시예에 따른 오프셋 레벨 정보(OL_INFO)를 나타낸다. 서스펜드 동작이 수행되는 경우, 메모리 페이지의 프로그램 및 소거 사이클 횟수 별로 리줌 시간(tRES)에 따른 메모리 셀들의 문턱 전압 산포 변화가 상이할 수 있다. 따라서, 메모리 페이지의 프로그램 및 소거 사이클 횟수에 따라 독출 오프셋 레벨(ROL)을 상이하게 제어할 필요가 있다.
오프셋 레벨 정보(OL_INFO)는 서스펜드 동작 정보에 따른 독출 오프셋 레벨(ROL)의 매칭 정보를 포함할 수 있다. 서스펜드 동작 정보는 리줌 시간(tRES)을 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 리줌 시간(tRES)과 독출 오프셋 레벨(ROL)의 프로그램 및 소거 사이클 횟수 별 매칭 정보를 포함할 수 있다. 오프셋 레벨 정보(OL_INFO)는 사전에 결정된 정보로서 메모리 컨트롤러에 저장되어 있을 수 있다.
메모리 컨트롤러는 선택 메모리 페이지의 프로그램 및 소거 사이클 횟수 및 리줌 시간(tRES)을 오프셋 레벨 정보(OL_INFO)와 비교함으로써 독출 오프셋 레벨(ROL)을 결정할 수 있다. 예를 들어, 선택 메모리 페이지의 프로그램 및 소거 사이클 횟수는 0 이상 제1 기준 횟수(NREF_1) 이하이고, 리줌 시간(tRES)이 제k-1 기준 시간(tREF_k-1) 이상 제k 기준 시간(tREF_k) 미만인 경우, 독출 오프셋 레벨(ROL)은 제k 독출 오프셋 레벨(ROL_k)로 결정될 수 있다. 또한 예를 들어, 선택 메모리 페이지의 프로그램 및 소거 사이클 횟수는 제m-1 기준 횟수(NREF_m-1) 이상 제m 기준 횟수(NREF_m) 미만이고, 리줌 시간(tRES)이 제1 기준 시간(tREF_1') 이상 제2 기준 시간(tREF_2') 미만인 경우, 독출 오프셋 레벨(ROL)은 제2 독출 오프셋 레벨(ROL_2')로 결정될 수 있다. 각각의 프로그램 및 소거 사이클 횟수 별로 기준 시간들은 상이할 수 있으며, 모두 같을 수도 있고, 일부만 같을 수도 있다.
도 19는 본 개시의 예시적 실시예에 따른 SSD 시스템(1000)을 나타낸다.
SSD 시스템(1000)은 호스트(1100) 및 SSD(1200)를 포함할 수 있다. SSD(1200)는 신호 커넥터(signal connector)를 통해 호스트(1100)와 신호를 주고 받을 수 있으며, 전원 커넥터(power connector)를 통해 전원을 입력 받을 수 있다. SSD(1200)는 SSD 컨트롤러(1110), 보조 전원 장치(1220) 및 복수의 메모리 장치들(1230, 1240, 1250)을 포함할 수 있다. 이 때, SSD(1200)는 도 1 내지 도 18에 도시된 실시예들을 이용하여 구현될 수 있다.
구체적으로 도 1 내지 도 18에 도시된 실시예들에 따라, SSD 컨트롤러(1210)는 데이터 동작 관리부(1212)를 포함할 수 있다. 데이터 동작 관리부(1212)는 복수의 메모리 장치들(1230, 1240, 1250) 각각의 데이터 동작을 제어할 수 있다. SSD 컨트롤러(1210)의 데이터 동작 관리부(1212)는 독출 동작 제어 시, 독출 대상이 되는 선택 메모리 페이지의 서스펜드 동작 경험 여부를 판단할 수 있고, 선택 메모리 페이지의 서스펜드 동작 정보 및 오프셋 레벨 정보를 기초로 독출 오프셋 레벨을 결정할 수 있다. SSD 컨트롤러(1210)는 독출 오프셋 레벨을 기초로 메모리 장치들(1230, 1240, 1250)의 독출 동작을 제어함으로써 독출 동작의 신뢰성을 높일 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 복수의 워드라인들 각각에 연결된 복수의 메모리 페이지들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러의 독출 제어 방법에 있어서,
    상기 복수의 메모리 페이지들 중 선택 워드라인에 연결된 선택 메모리 페이지의 서스펜드 동작의 경험 여부를 판단하는 단계;
    판단 결과에 따라, 상기 선택 메모리 페이지의 서스펜드(suspend) 동작 정보에 기초하여 상기 선택 메모리 페이지의 독출 오프셋 레벨(Read Offset Level)을 결정하는 단계; 및
    상기 결정된 독출 오프셋 레벨을 기초로 독출 전압을 보상하도록 상기 메모리 장치의 독출 동작을 제어하는 단계를 포함하는 메모리 컨트롤러의 독출 제어 방법.
  2. 제1항에 있어서,
    상기 서스펜드 동작 정보는, 상기 서스펜드 동작에 의해 프로그램이 중단된 기간의 시간 간격(time interval)을 나타내는 리줌(resume) 시간을 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  3. 제2항에 있어서,
    상기 독출 동작을 제어하는 단계는,
    상기 선택 메모리 페이지의 상기 리줌 시간이 임계 시간 이상인 경우, 상기 메모리 장치가 리드 리클레임을 수행하도록 제어하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  4. 제1항에 있어서,
    상기 독출 오프셋 레벨을 결정하는 단계는,
    서스펜드 동작 정보에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함하는 오프셋 레벨 정보 및 선택 메모리 페이지에 대응하는 상기 서스펜드 동작 정보를 이용하여 상기 선택 메모리 페이지의 상기 독출 오프셋 레벨을 결정하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  5. 제4항에 있어서,
    상기 선택 메모리 페이지의 상기 서스펜드 동작 정보는,
    상기 선택 메모리 페이지의 ISPP(Incremental Step Pulse Program) 동작 중 상기 서스펜드 동작의 진입 시점을 나타내는 진입 구간 정보; 및
    상기 서스펜드 동작에 의해 상기 ISPP 동작이 중단된 구간의 시간 간격을 나타내는 리줌 시간를 포함하고,
    상기 오프셋 레벨 정보는, 리줌 시간에 대응되는 독출 오프셋 레벨의 매칭 정보를 진입 구간 정보 별로 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  6. 제4항에 있어서,
    상기 선택 메모리 페이지의 상기 서스펜드 동작 정보는, 상기 선택 메모리 페이지의 서스펜드 동작 경험 횟수를 포함하고,
    상기 오프셋 레벨 정보는, 서스펜드 동작 경험 횟수에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  7. 제4항에 있어서,
    상기 선택 메모리 페이지의 상기 서스펜드 동작 정보는, 상기 서스펜드 동작에 의해 프로그램이 중단된 구간의 누적 시간을 나타내는 누적 리줌 시간을 포함하고,
    상기 오프셋 레벨 정보는, 누적 리줌 시간에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  8. 제4항에 있어서,
    상기 선택 메모리 페이지의 상기 서스펜드 동작 정보는, 상기 서스펜드 동작의 수행 시 상기 메모리 장치의 온도를 포함하고,
    상기 오프셋 레벨 정보는, 상기 메모리 장치의 온도에 대응되는 독출 오프셋 레벨의 매칭 정보를 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  9. 제4항에 있어서,
    상기 메모리 장치는,
    적어도 하나의 메모리 페이지를 포함하는 복수의 메모리 영역(Memory Zone)들을 포함하고,
    상기 선택 메모리 페이지의 상기 서스펜드 동작 정보는,
    상기 복수의 메모리 영역들 중 상기 선택 메모리 페이지가 속한 선택 메모리 영역; 및
    상기 서스펜드 동작에 의해 프로그램 동작이 중단된 구간의 시간 간격을 나타내는 리줌 시간을 포함하고,
    상기 오프셋 레벨 정보는, 리줌 시간에 대응되는 독출 오프셋 레벨의 매칭 정보를 메모리 영역 별로 포함하는 것을 특징으로 하는 메모리 컨트롤러의 독출 제어 방법.
  10. 복수의 워드라인들 각각에 연결된 복수의 메모리 페이지들을 포함하는 메모리 장치를 제어하는 메모리 컨트롤러의 프로그램 제어 방법에 있어서,
    상기 메모리 장치의 선택 워드라인에 연결된 선택 메모리 페이지에 대한 프로그램 동작 중 외부 호스트로부터 우선순위가 더 높은 데이터 동작의 요청을 수신하고, 상기 메모리 장치에 서스펜드 커맨드를 송신하는 단계;
    상기 메모리 장치로부터 상기 프로그램 동작이 중단되었음을 나타내는 신호를 수신하고, 상기 메모리 장치에 상기 우선순위가 높은 데이터 동작의 요청에 대응되는 커맨드를 송신하는 단계;
    상기 메모리 장치가 상기 프로그램 동작을 재개하도록 상기 메모리 장치에 리줌 커맨드를 송신하는 단계; 및
    상기 선택 메모리 페이지의 서스펜드 동작 경험을 나타내는 서스펜드 플래그 정보 및 상기 선택 메모리 페이지의 서스펜드 동작 정보를 저장하는 단계를 포함하는 메모리 컨트롤러의 프로그램 제어 방법.
KR1020170164336A 2017-12-01 2017-12-01 메모리 컨트롤러 및 그것의 제어 방법 KR102420161B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170164336A KR102420161B1 (ko) 2017-12-01 2017-12-01 메모리 컨트롤러 및 그것의 제어 방법
US16/050,110 US10620833B2 (en) 2017-12-01 2018-07-31 Memory controller and control method thereof
CN201811446549.8A CN110033808A (zh) 2017-12-01 2018-11-29 存储器控制器、其读取控制方法及其编程控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170164336A KR102420161B1 (ko) 2017-12-01 2017-12-01 메모리 컨트롤러 및 그것의 제어 방법

Publications (2)

Publication Number Publication Date
KR20190064965A true KR20190064965A (ko) 2019-06-11
KR102420161B1 KR102420161B1 (ko) 2022-07-12

Family

ID=66658032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170164336A KR102420161B1 (ko) 2017-12-01 2017-12-01 메모리 컨트롤러 및 그것의 제어 방법

Country Status (3)

Country Link
US (1) US10620833B2 (ko)
KR (1) KR102420161B1 (ko)
CN (1) CN110033808A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102088944B1 (ko) * 2019-10-01 2020-05-26 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US11216208B1 (en) 2020-06-15 2022-01-04 SK Hynix Inc. Memory system, memory controller, and operation method of memory system
US11244736B2 (en) 2020-02-19 2022-02-08 SK Hynix Inc. Memory device and method of operating the same

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200057311A (ko) 2018-11-16 2020-05-26 삼성전자주식회사 통신되는 데이터의 양을 동작의 중단 빈도에 따라 스로틀링하는 스토리지 장치
US11087847B2 (en) * 2019-02-27 2021-08-10 Intel Corporation Program suspend-resume techniques in non-volatile storage
US11264103B2 (en) * 2019-08-28 2022-03-01 International Business Machines Corporation Hybrid read voltage calibration in non-volatile random access memory
JP2021174564A (ja) * 2020-04-24 2021-11-01 キオクシア株式会社 半導体記憶装置
KR20210135376A (ko) 2020-05-04 2021-11-15 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치, 그리고 불휘발성 메모리 장치의 동작 방법
CN113454722B (zh) 2020-05-19 2022-08-19 长江存储科技有限责任公司 存储器器件及其编程操作
CN114758707A (zh) * 2020-05-19 2022-07-15 长江存储科技有限责任公司 用于存储器的程序暂停和恢复的控制方法与控制器
US11455109B2 (en) * 2021-01-27 2022-09-27 Micron Technology, Inc. Automatic wordline status bypass management

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120167100A1 (en) * 2010-12-23 2012-06-28 Yan Li Manual suspend and resume for non-volatile memory
KR20120092561A (ko) * 2009-08-28 2012-08-21 마이크로소프트 코포레이션 인터럽트 가능한 낸드 플래시 메모리
KR20120120214A (ko) * 2009-12-18 2012-11-01 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리 및 원자 프로그램 순서와 기입 중단 검출을 가진 방법
US8614919B2 (en) * 2008-06-13 2013-12-24 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US20150117113A1 (en) * 2013-10-24 2015-04-30 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
US20150186042A1 (en) * 2014-01-02 2015-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device, nonvolatile memory system including the same, and method of operating the same
KR20170035976A (ko) * 2014-07-22 2017-03-31 샌디스크 테크놀로지스 엘엘씨 비-휘발성 메모리 동작들을 중단 및 재개하는 기술
KR20170141468A (ko) * 2016-06-15 2017-12-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148360A (en) 1996-09-20 2000-11-14 Intel Corporation Nonvolatile writeable memory with program suspend command
KR20000004733A (ko) 1998-06-30 2000-01-25 김영환 플래쉬 메모리의 서스팬드(suspend)-리줌(resume) 신호 발생회로
US6930925B2 (en) 2003-10-14 2005-08-16 Atmel Corporation Suspend-resume programming method for flash memory
KR100673027B1 (ko) * 2006-01-31 2007-01-24 삼성전자주식회사 고온 스트레스로 인해 감소된 읽기 마진을 보상할 수 있는불 휘발성 메모리 장치
US7817467B2 (en) * 2007-09-07 2010-10-19 Micron Technology, Inc. Memory controller self-calibration for removing systemic influence
US8059475B2 (en) * 2009-06-19 2011-11-15 Taiwan Semiconductor Manufacturing Company, Ltd. Reference voltage regulator for eDRAM with VSS-sensing
KR102083490B1 (ko) 2012-08-08 2020-03-03 삼성전자 주식회사 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 커맨드 실행 제어 방법
KR20140140438A (ko) 2013-05-29 2014-12-09 삼성전자주식회사 Usb 유휴 상태 대기 시간을 동적으로 조절하는 usb 시스템 및 그 동작방법
KR20150008671A (ko) 2013-07-15 2015-01-23 에스케이하이닉스 주식회사 반도체 장치
KR102187637B1 (ko) 2014-02-03 2020-12-07 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
US10540115B2 (en) 2015-04-21 2020-01-21 SK Hynix Inc. Controller adaptation to memory program suspend-resume
JP6453718B2 (ja) 2015-06-12 2019-01-16 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
KR102423291B1 (ko) * 2016-01-15 2022-07-20 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8614919B2 (en) * 2008-06-13 2013-12-24 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
KR20120092561A (ko) * 2009-08-28 2012-08-21 마이크로소프트 코포레이션 인터럽트 가능한 낸드 플래시 메모리
KR20120120214A (ko) * 2009-12-18 2012-11-01 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리 및 원자 프로그램 순서와 기입 중단 검출을 가진 방법
US20120167100A1 (en) * 2010-12-23 2012-06-28 Yan Li Manual suspend and resume for non-volatile memory
US20150117113A1 (en) * 2013-10-24 2015-04-30 Western Digital Technologies, Inc. Programming scheme for improved voltage distribution in solid-state memory
US20150186042A1 (en) * 2014-01-02 2015-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device, nonvolatile memory system including the same, and method of operating the same
KR20150080819A (ko) * 2014-01-02 2015-07-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 불휘발성 메모리 시스템
KR20170035976A (ko) * 2014-07-22 2017-03-31 샌디스크 테크놀로지스 엘엘씨 비-휘발성 메모리 동작들을 중단 및 재개하는 기술
KR20170141468A (ko) * 2016-06-15 2017-12-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102088944B1 (ko) * 2019-10-01 2020-05-26 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스
US11244736B2 (en) 2020-02-19 2022-02-08 SK Hynix Inc. Memory device and method of operating the same
US11216208B1 (en) 2020-06-15 2022-01-04 SK Hynix Inc. Memory system, memory controller, and operation method of memory system

Also Published As

Publication number Publication date
US10620833B2 (en) 2020-04-14
US20190171360A1 (en) 2019-06-06
KR102420161B1 (ko) 2022-07-12
CN110033808A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
KR102420161B1 (ko) 메모리 컨트롤러 및 그것의 제어 방법
JP7348325B2 (ja) フラッシュメモリのためのリフレッシュの管理
US10241701B2 (en) Solid state memory system with power management mechanism and method of operation thereof
US9465539B2 (en) Operation management in a memory device
EP3703056A1 (en) Program suspend-resume techniques in non-volatile storage
US20230060312A1 (en) Continuous memory programming operations
KR102375060B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US11574690B2 (en) Sequential wordline erase verify schemes
US11735272B2 (en) Noise reduction during parallel plane access in a multi-plane memory device
US11494084B2 (en) Managing dielectric stress of a memory device using controlled ramping slopes
US20230395098A1 (en) Tracking the effects of voltage and temperature on a memory device using an internal oscillator
US20240176508A1 (en) Reliability gain in memory devices with adaptively selected erase policies
US20230401007A1 (en) Prioritization of background media management operations in memory systems
US20230289306A1 (en) Data burst suspend mode using multi-level signaling
US20220415414A1 (en) Partial block erase operations in memory devices

Legal Events

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