[go: up one dir, main page]

KR102644275B1 - 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법 - Google Patents

리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법 Download PDF

Info

Publication number
KR102644275B1
KR102644275B1 KR1020160061431A KR20160061431A KR102644275B1 KR 102644275 B1 KR102644275 B1 KR 102644275B1 KR 1020160061431 A KR1020160061431 A KR 1020160061431A KR 20160061431 A KR20160061431 A KR 20160061431A KR 102644275 B1 KR102644275 B1 KR 102644275B1
Authority
KR
South Korea
Prior art keywords
memory
read operation
refresh read
refresh
memory device
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020160061431A
Other languages
English (en)
Other versions
KR20170130788A (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 KR1020160061431A priority Critical patent/KR102644275B1/ko
Priority to US15/351,576 priority patent/US9984757B2/en
Priority to CN201710201596.5A priority patent/CN107403639B/zh
Publication of KR20170130788A publication Critical patent/KR20170130788A/ko
Application granted granted Critical
Publication of KR102644275B1 publication Critical patent/KR102644275B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • G11C5/144Detection of predetermined disconnection or reduction of power supply, e.g. power down or power standby
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0032Serial ATA [SATA]

Landscapes

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

Abstract

리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법에 대하여 개시된다. 메모리 콘트롤러는 불휘발성 메모리 장치의 파워 업 또는 파워 다운을 감지하여 리프레쉬 리드 커맨드를 발행한다. 리프레쉬 리드 커맨드를 수신하는 불휘발성 메모리 장치에서는 메모리 블록 각각에서 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작이 1회 수행되도록 제어된다.

Description

리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법 {Operation method of memory controller for controlling non-volatile memory device with refresh read}
본 발명은 반도체 장치에 관한 것으로서, 더욱 상세하게는 데이터 소실(data degradation)을 방지하기 위하여 리프레쉬 리드 동작을 수행하도록 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법에 관한 것이다.
반도체 메모리 장치의 집적도를 향상시키기 위하여, 3차원 구조를 갖는 반도체 메모리 장치가 연구되고 있다. 3차원 반도체 메모리 장치는 기존의 2차원 반도체 메모리 장치와는 다른 구조적 특징이 있다. 3차원 반도체 메모리 장치와 2차원 반도체 메모리 장치의 구조적 차이로 인해, 3차원 반도체 메모리 장치를 구동하기 위한 다양한 방법들이 연구되고 있다.
3차원 불휘발성 메모리 장치는 전원이 공급되지 않더라도 데이터를 유지하는(retain) 특성을 갖는다. 그런데, 불휘발성 메모리 장치의 메모리 셀은 메모리 셀에 저장된 전하가 시간의 흐름에 따라 소실되어(degrade) 데이터 리텐션을 잃어버릴 수 있다. 이에 따라, 불휘발성 메모리 장치의 데이터 소실을 방지하기 위한 방법이 필요하다.
본 발명의 목적은 불휘발성 메모리 장치의 리프레쉬 리드 동작을 통하여 데이터 소실을 방지하도록 하는 메모리 콘트롤러의 동작 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제공하는 것이다.
본 발명의 또다른 목적은 상기 불휘발성 메모리 장치를 기반으로 하고 사타(SATA: Serial AT Attachment) 방식의 인터페이스를 지원하는 데이터 저장 장치의 동작 방법을 제공하는 것이다.
본 발명의 실시예들에 따른 메모리 콘트롤러의 동작 방법은, 복수의 메모리 셀들을 포함하는 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 워드라인들에 연결되는 불휘발성 메모리 장치를 제어한다. 메모리 콘트롤러의 동작 방법은, 불휘발성 메모리 장치의 파워-업을 감지하여 리프레쉬 리드 커맨드를 발행하는 단계와, 리프레쉬 리드 커맨드를 수신하는 불휘발성 메모리 장치의 메모리 블록 각각에서 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계를 포함한다.
본 발명의 실시예들에 따라, 리프레쉬 리드 동작은 메모리 블록들 모두에 대하여 한 번에 연속적으로 수행된다. 리프레쉬 리드 동작에서, 메모리 블록들 각각의 읽기 동작이 수행되는 워드라인은 메모리 콘트롤러에서 제공되는 어드레스 신호에 의해 동일하거나 서로 다를 수 있다. 메모리 블록들을 소정의 그룹들로 나누어, 그룹별로 읽기 동작이 수행되는 워드라인은 어드레스 신호에 의해 서로 다를 수 있다.
본 발명의 실시예들에 따라, 메모리 블록들 각각의 읽기 동작에 따라 해당 메모리 블록의 비트라인들로 전달된 데이터는 페이지 버퍼로 제공되고, 페이지 버퍼에서 수행되는 비트라인들로 전달된 데이터의 전압 레벨을 판별하는 동작은 무시될 수 있다. 메모리 블록들 각각의 읽기 동작에 따라 해당 메모리 블록의 비트라인들로 전달된 데이터는 페이지 버퍼로 제공되지 않을 수 있다.
본 발명의 실시예들에 따라, 복수의 워드라인들 중 하나에 인가되는 선택 읽기 전압은, 메모리 셀들의 데이터를 판별하는데 이용되는 다수의 선택 읽기 전압들 중에서 선택적으로 인가될 수 있다. 복수의 워드라인들 중 하나에 인가되는 선택 읽기 전압은 메모리 블록들 모두에서 동일하거나, 메모리 블록들 마다 서로 다를 수 있다.
본 발명의 실시예들에 따른 메모리 콘트롤러의 동작 방법은, 불휘발성 메모리 장치의 파워-다운을 감지하여 리프레쉬 리드 커맨드를 발행하는 단계와, 리프레쉬 리드 커맨드를 수신하는 불휘발성 메모리 장치의 상기 메모리 블록 각각에서 복수의 워드라인들 중 하나에 대하여 읽기 동작을 수행하는 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계를 포함한다.
본 발명의 실시예들에 따라, 리프레쉬 리드 동작은 시스템 종료 커맨드에 따른 파워 다운시, 메모리 블록들 모두에 대하여 한 번에 연속적으로 수행될 수 있다. 서든 파워 오프에 따른 파워 다운시, 메모리 블록들 모두에 대하여 한 번에 연속적으로 수행될 수 있다. 서든 파워 오프 직전에 동작되었던 메모리 블록부터 시작하여 메모리 블록들 모두에 대하여 수행될 수 있으며, 불휘발성 메모리 장치에 연결되는 보조 전원부를 이용하여 수행될 수 있다.
본 발명의 실시예들에 따른 메모리 콘트롤러의 동작 방법은, 불휘발성 메모리 장치의 파워-온 후, 리프레쉬 리드 인터벌 마다 리프레쉬 리드 커맨드를 발행하는 단계와, 리프레쉬 리드 커맨드를 수신하는 불휘발성 메모리 장치에서, 리프레쉬 리드 인터벌 마다 메모리 블록들이 순차적으로 리프레쉬 리드 동작을 수행하고, 해당 메모리 블록마다 복수의 워드라인들 중 하나에 대하여 읽기 동작을 수행하는 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계를 포함한다.
본 발명의 실시예들에 따라, 리프레쉬 리드 인터벌은 불휘발성 메모리 장치의 온도에 따라 가변될 수 있고, 메모리 블록들의 전체 가용량, 유효 데이터량, 데이터 분포 상태 또는 프로그램 및 삭제(P/E) 동작에 따른 마모도에 따라 가변될 수 있다.
본 발명의 실시예들에 따라, 리프레쉬 리드 동작은 메모리 블록들을 소정의 그룹들로 나누어, 리프레쉬 리드 인터벌 마다 그룹별로 수행될 수 있다. 리프레쉬 리드 동작은 메모리 블록들의 제1 절반에 대하여 연속적으로 수행되고, 리프레쉬 인터벌 후 메모리 블록들의 제2 절반에 대하여 연속적으로 수행될 수 있다.
본 발명의 실시예들에 따른 불휘발성 메모리 장치는, 복수의 메모리 셀들을 포함하는 메모리 블록들을 포함하고 각 메모리 블록은 복수의 워드라인들에 연결되는 메모리 셀 어레이, 리프레쉬 리드 커맨드에 응답하여 메모리 블록 각각에 대하여 복수의 워드라인들 중 하나를 선택하고 선택된 워드라인에 대한 읽기 동작이 포함된 리프레쉬 리드 동작을 1회 수행하는 제어 로직부, 그리고 메모리 블록들의 비트라인들과 연결되고 비트라인들의 전압 레벨을 판별하고 저장하는 페이지 버퍼를 포함한다.
본 발명의 실시예들에 따라, 제어 로직부는 불휘발성 메모리 장치의 파워 업시 또는 파워 다운시 리프레쉬 리드 커맨드를 수신할 수 있다. 리프레쉬 리드 동작에서, 메모리 셀들의 데이터를 판별하는데 이용되는 다수의 선택 읽기 전압들 중 하나를 선택하여 선택된 워드라인에 선택 읽기 전압으로 인가할 수 있다. 선택된 워드라인에 인가되는 선택 읽기 전압은 메모리 블록들 모두에서 동일하거나, 메모리 블록들 마다 다를 수 있다. 메모리 블록들 각각에서 읽기 동작이 수행되는 선택된 워드라인이 동일하도록, 또는 서로 다르도록 제어할 수 있다. 메모리 블록들을 소정의 그룹들로 나누어, 그룹별로 읽기 동작이 수행되는 선택된 워드라인이 서로 다르도록 제어할 수 있다.
본 발명의 실시예들에 따라, 제어 로직부는 리프레쉬 리드 동작에서, 메모리 블록들 각각에서 읽기 동작이 수행되는 해당 메모리 블록의 비트라인들이 페이지 버퍼와 연결되고, 페이지 버퍼에서 수행되는 비트라인들의 전압 레벨을 판별하고 저장하는 동작을 무시할 수 있다. 메모리 블록들 각각의 읽기 동작이 수행되는 해당 메모리 블록의 비트라인들이 페이지 버퍼와 연결되지 않도록 제어할 수 있다.
본 발명의 실시예들에 따라, 제어 로직부는 리프레쉬 리드 인터벌마다 메모리 블록들이 순차적으로 리프레쉬 리드 동작을 수행하도록 제어할 수 있다. 불휘발성 메모리 장치의 온도에 따라 리프레쉬 리드 인터벌이 가변되도록 제어할 수 있다. 불휘발성 메모리 장치의 온도가 기준 온도 보다 높으면 리프레쉬 리드 인터벌을 길게 설정하고, 기준 온도 보다 낮으면 리프레쉬 리드 인터벌을 짧게 설정할 수 있다.
본 발명의 실시예들에 따라, 제어 로직부는 메모리 블록들을 소정의 그룹들로 나누어, 리프레쉬 리드 인터벌 마다 그룹별로 리프레쉬 리드 동작이 수행되도록 제어할 수 있다. 메모리 블록들의 제1 절반에 대하여 연속적으로 리프레쉬 리드 동작이 수행되고, 리프레쉬 리드 인터벌 후 메모리 블록들의 제2 절반에 대하여 연속적으로 리프레쉬 리드 동작이 수행되도록 제어할 수 있다.
본 발명의 실시예들에 따라, 메모리 셀 어레이는 3차원 메모리 어레이를 포함하고, 3차원 메모리 어레이는 복수의 메모리 셀을 포함하고, 복수의 메모리 셀은 각각 전하 트랩층을 포함할 수 있다. 3차원 메모리 어레이는 실리콘 기판 위에 배치되는 활성 영역을 가지는 메모리 셀들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된 불휘발성 메모리를 포함하고, 3차원 메모리 어레이에서 워드 라인들 및/또는 비트 라인들이 레벨들간에 공유될 수 있다.
본 발명의 실시예들에 따른 SATA 방식의 인터페이스를 지원하는 데이터 저장 장치의 동작 방법은, 호스트로부터 절전 모드 요청 신호를 수신하는 단계, 절전 모드 요청 신호에 응답하여 데이터 저장 장치의 메모리 블록들 각각은 해당 메모리 블록에 연결되는 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작을 1회 수행하는 단계, 그리고 리프레쉬 리드 동작 후, 절전 모드로 진입 가능하다는 응답 신호를 호스트로 전송하는 단계를 포함한다. 리프레쉬 리드 동작은 메모리 블록들 모두에 대하여 한 번에 연속적으로 수행된다.
본 발명의 실시예들에 따라, 데이터 저장 장치는 플래쉬 메모리를 기반으로 하는 UFS(Universal Flash Storage)이고, 절전 모드 요청 신호는 슬럼버(Slumber) 상태로의 진입을 요청할 수 있다.
본 발명의 실시예들에 따라, 데이터 저장 장치의 동작 방법은 리프레쉬 리드 동작이 시작될 때 리프레쉬 리드 동작이 우선적으로 수행됨을 알리는 웨이트 신호를 호스트로 전송할 수 있다.
본 발명의 실시예들에 따르면, 불휘발성 메모리 장치의 메모리 셀들의 데이터 손실을 방지하고 데이터 리텐션을 유지할 수 있다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1의 메모리 콘트롤러를 설명하는 블록도이다.
도 3은 도 1의 불휘발성 메모리 장치를 설명하는 블록도이다.
도 4는 도 3의 메모리 셀 어레이의 일 예를 나타내는 회로도이다.
도 5는 도 4의 메모리 블록에 대응하는 구조를 보여주는 사시도이다.
도 6은 도 5의 트랜지스터 구조를 보여주는 단면도이다.
도 7은 도 4의 메모리 셀들의 문턱 전압 분포를 설명하는 도면이다.
도 8은 메모리 셀들의 읽기 동작에서의 비트 에러율을 보여주는 그래프이다.
도 9는 도 1의 메모리 콘트롤러의 동작을 보여주는 순서도이다.
도 10 내지 도 13은 도 9에 도시된 불휘발성 메모리 장치에서 수행되는 리프레쉬 리드 동작을 설명하는 도면들이다.
도 14 내지 도 16은 본 발명의 실시예들에 따른 불휘발성 메모리 장치에서 수행되는 인텐시브 리프레쉬 리드 동작을 설명하는 도면들이다.
도 17 및 도 18은 도 14 내지 도 16의 인텐시브 리프레쉬 리드 동작을 설명하는 도면들이다.
도 19 내지 도 22는 본 발명의 실시예들에 따른 불휘발성 메모리 장치에서 수행되는 레귤러 리프레쉬 리드 동작을 설명하는 도면들이다.
도 23은 본 발명에 따른 리프레쉬 리드 동작을 수행하는 메모리 시스템이 적용된 SSD 시스템을 예시적으로 보여주는 블록도이다.
도 24는 본 발명에 따른 리프레쉬 리드 동작을 수행하는 메모리 시스템이 적용된 UFS 시스템을 예시적으로 보여주는 블록도이다.
도 25는 도 24의 UFS 인터페이스를 설명하는 도면이다.
도 26은 SATA 인터페이스의 차동 신호 전송 방법을 설명하는 도면이다.
도 27은 SATA 인터페이스의 전원 관리 방법을 보여주는 도면이다.
도 28은 도 24의 UFS 장치의 절전 모드에서 수행되는 인텐시브 리프레쉬 리드 동작을 설명하는 도면이다.
도 29는 도 24의 UFS 시스템에서 수행되는 리프레쉬 리드 동작이 수행되는 과정을 설명하는 도면이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다. 본 발명의 실시예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 보여주는 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 메모리 콘트롤러(110)와 불휘발성 메모리 장치(120)를 포함한다. 메모리 시스템(100)은 메모리 콘트롤러(110)와 불휘발성 메모리 장치(120)로 전원을 공급하는 파워 모듈(130)을 더 포함할 수 있다.
메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)에 데이터(DATA)를 기입하거나, 또는 불휘발성 메모리 장치(120)에 저장된 데이터(DATA)를 읽을 수 있다. 불휘발성 메모리 장치(120)는 낸드 플래시 메모리, 노어 플래시 메모리, 상 변화 메모리(PRAM), 저항 메모리(ReRAM), 자기 저항 메모리(MRAM) 등과 같은 불휘발성 메모리 소자들을 포함할 수 있다. 본 발명에서 불휘발성 메모리 장치(120)는 낸드 플래시 메모리를 기반으로 설명된다. 예시적으로, 불휘발성 메모리 장치(120)는 전하 포획 플래시(Charge Trap Flash) 메모리를 기반으로 설명될 것이다.
메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)에 데이터(DATA)를 기입하기 위하여, 커맨드(CMD), 어드레스(ADDR), 제어 신호(CTRL) 및 데이터(DATA)를 불휘발성 메모리 장치(120)로 전송한다. 메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)에 저장된 데이터(DATA)를 읽기 위하여, 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 불휘발성 메모리 장치(120)로 전송한다.
불휘발성 메모리 장치(120)는 메모리 콘트롤러(110)로부터 수신된 신호들에 응답하여 데이터(DATA)의 쓰기, 읽기, 소거 등의 동작을 수행할 수 있다. 불휘발성 메모리 장치(120)는 행들 (워드라인들) 및 열들 (비트라인들)로 배열된 메모리 셀들을 갖는 메모리 셀 어레이(122)를 포함한다. 각 메모리 셀은 1-비트 (싱글 비트) 데이터 또는 M-비트 (멀티-비트) 데이터 (M은 2 또는 그 보다 큰 수)를 저장할 수 있다. 각 메모리 셀은 플로팅 게이트 또는 전하 트랩층과 같은 전하 저장층을 갖는 메모리 셀, 또는 가변 저항 소자를 갖는 메모리 셀 등으로 구현될 수 있다.
메모리 셀 어레이(122)는 단층 어레이 구조(single-layer array structure, 또는 2차원 어레이 구조) 또는 다층 어레이 구조(multi-layer array structure, 또는 3 차원 (3D) 어레이 구조)를 갖도록 구현될 수 있다. 3D 메모리 어레이는 실리콘 기판 위에 배치되는 활성 영역과, 메모리 셀들의 동작과 관련된 회로로서 상기 기판 상에 또는 상기 기판 내에 형성된 회로를 가지는 메모리 셀 어레이들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된다. 상기 용어 "모놀리식"은 상기 어레이를 구성하는 각 레벨의 층들이 상기 어레이 중 각 하부 레벨의 층들의 바로 위에 적층되어 있음을 의미한다.
본 발명의 기술적 사상에 의한 일 실시예에서, 상기 3D 메모리 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 낸드 스트링들을 포함한다. 상기 적어도 하나의 메모리 셀은 전하 트랩층을 포함할 수 있다. 미국 특허공개공보 제7,679,133호, 동 제8,553,466호, 동 제8,654,587호, 동 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 3D 메모리 어레이가 복수 레벨로 구성되고 워드 라인들 및/또는 비트 라인들이 레벨들 간에 공유되어 있는 3D 메모리 어레이에 대한 적절한 구성들을 상술하는 것들로서, 본 명세서에 인용 형식으로 결합된다. 또한, 미국 특허출원공개공보 제2014-0334232호 및 미국특허공개공보 제8,488,381호는 본 명세서에 인용 형식으로 결합된다.
메모리 콘트롤러(110)는 리프레쉬 리드 제어부(111)를 포함한다. 리프레쉬 리드 제어부(111)는 불휘발성 메모리 장치(120)의 메모리 셀 어레이(122)에 대하여 리프레쉬 리드 동작이 수행되도록 제어한다. 리프레쉬 리드 동작은 메모리 셀 어레이(122)의 메모리 셀들이 프로그램 후, 시간 경과에 따라 유발되는 메모리 셀들의 전하 손실 현상을 방지하고 데이터 리텐션을 유지하기 위하여 수행된다.
리프레쉬 리드 제어부(111)는 메모리 셀 어레이(122)에 포함되는 복수의 메모리 블록들 각각에서, 해당 메모리 블록의 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작이 수행되도록 제어한다. 리프레쉬 리드 동작은 메모리 블록마다 1회 수행되도록 제어된다.
파워 모듈(130)은 메모리 시스템(100)의 각 구성 요소에 전원을 공급하는 파워 매니지먼트를 수행한다. 파워 모듈(130)에 PMIC(Power Management Integrated Circuit) 스킴이 적용되는 경우, 동적 전압 및 주파수 스케일링(Dynamic Voltage and Frequency Scaling, DVFS) 알고리즘에 따라 메모리 시스템(100)의 파워 세이빙 기능이 달성될 수 있다.
파워 모듈(130)은 메모리 시스템(100)으로 공급되는 전원 상태를 감지(detect)할 수 있다. 파워 모듈(130)은 전원 공급 상태의 변화를 감지하여 메모리 콘트롤러(110)에 전원 감지 신호(PDS)를 전송한다. 파워 모듈(130)은 메모리 시스템(100)이 파워 업 될 때 또는 파워 오프될 때 전원 감지 신호(PDS)를 전송할 수 있다. 파워 오프시, 파워 모듈(130)은 시스템 종료 커맨드에 따른 노멀 파워 오프 또는 서든 파워 오프에 응답하여 전원 감지 신호(PDS)를 전송할 수 있다.
메모리 콘트롤러(110)는 전원 감지 신호(PDS)에 응답하여 리프레쉬 리드 제어부(111)가 동작하게끔 제어할 수 있다. 리프레쉬 리드 제어부(111)는 전원 감지 신호(PDS)에 응답하여 메모리 셀 어레이(122)의 메모리 블록들 모두에 대하여 한 번에 연속적으로 리프레쉬 리드 동작이 수행되도록 제어할 수 있다. 리프레쉬 리드 제어부(111)는 전원 감지 신호(PDS)에 응답하여 리프레쉬 리드 인터벌 마다 메모리 셀 어레이(122)의 메모리 블록들이 순차적으로 리프레쉬 리드 동작을 수행하도록 제어할 수 있다.
도 2는 도 1의 메모리 콘트롤러를 설명하는 블록도이다.
도 2를 참조하면, 메모리 콘트롤러(110)는 리프레쉬 리드 제어부(111), CPU(112), RAM(113), ROM(114), ECC 엔진(115), 호스트 인터페이스(116) 그리고 플래시 인터페이스(117)를 포함한다.
리프레쉬 리드 제어부(111)는 도 1을 참조하여 설명된 바와 같이, 메모리 시스템(100)이 파워 업 될 때 또는 파워 오프될 때, 불휘발성 메모리 장치(120) 내 메모리 셀 어레이(122)의 메모리 블록들 모두에 대하여 한 번에 연속적으로 리프레쉬 리드 동작이 수행되도록 하는 인텐시브 리프레쉬 리드 동작을 제어할 수 있다. 리프레쉬 리드 제어부(111)는 메모리 시스템(100)의 파워 업 후, 리프레쉬 리드 인터벌 마다 메모리 셀 어레이(122)의 메모리 블록들이 순차적으로 리프레쉬 리드 동작을 수행하도록 하는 레귤러 리프레쉬 리드 동작을 제어할 수 있다.
CPU(112)는 메모리 콘트롤러(110)의 제반 동작을 제어할 수 있다.
RAM(113)은 CPU(112)의 제어에 따라 동작하며, 메모리 콘트롤러(110)의 캐시 메모리, 버퍼 메모리, 동작 메모리 등으로 사용될 수 있다. RAM(113)이 워크 메모리로 사용되는 경우, CPU(112)에 의해서 처리되는 데이터가 임시 저장된다. RAM(113)이 버퍼 메모리로 사용되는 경우, 호스트(HOST)에서 불휘발성 메모리 장치(120, 도 1)로 또는 불휘발성 메모리 장치(120)에서 호스트(HOST)로 전송될 데이터를 버퍼링하는 데 사용된다. RAM(113)이 캐시 메모리로 사용되는 경우, 불휘발성 메모리 장치(120)가 고속으로 동작되도록 한다.
ROM(114)은 메모리 콘트롤러(110)가 동작하는데 요구되는 다양한 정보들을 펌웨어 형태로 저장할 수 있다. 예를 들어, CPU(112)는 ROM(114)에 저장된 펌웨어를 읽고, 읽은 펌웨어를 구동할 수 있다.
예시적으로, 리프레쉬 리드 제어부(111)는 펌웨어로 구현되고, ROM(114) 또는 불휘발성 메모리 장치(120)의 일부에 저장되고, CPU(112)에 의해 구동될 수 있다. 또는 리프레쉬 리드 제어부(111)는 소프트웨어 계층으로 구현되고, RAM(113)에 저장되고, CPU(112)에 의해 구동될 수 있다.
ECC 엔진(115)은 불휘발성 메모리 장치(120)로부터 읽어낸 데이터에 대한 에러를 검출 및 정정할 수 있다. 예를 들어, ECC 엔진(115)은 패리티를 사용하여 에러를 정정할 수 있다. ECC 엔진(115)은 LDPC(low density parity check) code, BCH code, turbo code, 컨볼루션 코드(convolution code) 등의 코디드 모듈레이션(coded modulation)을 이용하여 읽혀진 데이터의 에러를 정정할 수 있다.
메모리 콘트롤러(110)는 호스트 인터페이스(116)를 통해 호스트(HOST)와 통신할 수 있다. 예시적으로, 호스트 인터페이스(115)는 USB(Universal Serial Bus), MMC(MultiMediaCard), PCI-E(PCIExpress), ATA(Advanced Technology Attachment), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SAS(Serial Attached Small Computer System), SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card), ESDI(Enhanced Small Disk Interface) 등과 같은 다양한 인터페이스들을 포함할 수 있다.
메모리 콘트롤러(110)는 플래시 인터페이스(117)를 통해 불휘발성 메모리 장치(120)와 통신할 수 있다. 예시적으로, 플래시 인터페이스(117)는 낸드 플래시 메모리, 멀티-레벨 플래시 메모리, 싱글-레벨 플래시 메모리를 지원하도록 구성될 수 있다.
도 3은 도 1의 불휘발성 메모리 장치를 설명하는 블록도이다.
도 3을 참조하면, 불휘발성 메모리 장치(120)는 메모리 셀 어레이(122), 어드레스 디코더(123), 제어 로직부(124) 그리고 입출력 회로(125)를 포함한다.
메모리 셀 어레이(122)는 워드 라인들(WL), 스트링 선택 라인들(SSL), 그라운드 선택 라인들(GSL) 및 비트 라인들(BL)에 연결될 수 있다. 메모리 셀 어레이(122)는 워드 라인들(WL), 스트링 선택 라인들(SSL) 및 그라운드 선택 라인들(GSL)을 통해 어드레스 디코더(123)에 연결되고, 비트 라인들(BL)을 통해 입출력 회로(125)에 연결될 수 있다. 메모리 셀 어레이(122)는 복수의 메모리 블록들(BLK1 내지 BLKn)을 포함할 수 있다.
각 메모리 블록(BLK1~BLKn)은 복수의 메모리 셀들 및 복수의 선택 트랜지스터들을 포함할 수 있다. 메모리 셀들은 워드라인들(WL)에 연결되고, 선택 트랜지스터들은 스트링 선택 라인들(SSL) 또는 그라운드 선택 라인들(GSL)에 연결될 수 있다. 각 메모리 블록(BLK1~BLKn)의 메모리 셀들은 1-비트 데이터를 저장하는 싱글 레벨 셀들 또는 멀티-비트 데이터를 저장하는 멀티 레벨 셀들로 구성될 수 있다. 각 메모리 블록(BLK1~BLKn)의 메모리 셀들은 기판과 수직인 방향으로 적층되어 3차원 구조를 형성할 수 있다. 메모리 블록의 구조는 도 4 및 도 5를 참조하여 상세하게 설명될 것이다.
어드레스 디코더(123)는 메모리 셀 어레이(122)의 워드라인들(WL)에 대한 선택 및 구동 동작들을 수행하도록 구성된다. 어드레스 디코더(123)는 메모리 콘트롤러(110)로부터 어드레스(ADDR)를 수신하고, 수신된 어드레스(ADDR)를 디코딩하여 복수의 워드라인들(WL)을 구동할 수 있다.
제어 로직부(124)는 메모리 콘트롤러(110)로부터 커맨드(CMD) 및 제어 신호(CTRL)를 수신하고, 수신된 신호들에 응답하여 어드레스 디코더(123)와 입출력 회로(125)를 제어할 수 있다. 예를 들어, 제어 로직부(124)는 커맨드(CMD) 및 제어 신호(CTRL)에 응답하여 데이터(DATA)가 메모리 셀 어레이(122)에 기입되도록 어드레스 디코더(123)와 입출력 회로(125)를 제어할 수 있다. 제어 로직부(124)는 커맨드(CMD) 및 제어 신호(CTRL)에 응답하여 메모리 셀 어레이(122)에 저장된 데이터(DATA)가 출력되도록 어드레스 디코더(123)와 입출력 회로(125)를 제어할 수 있다. 제어 로직부(124)는 커맨드(CMD) 및 제어 신호(CTRL)에 응답하여 메모리 셀 어레이(122)의 일부가 소거되도록 어드레스 디코더(123)와 입출력 회로(125)를 제어할 수 있다.
제어 로직부(124)는 불휘발성 메모리 장치(120)가 동작하는데 요구되는 다양한 전압들을 생성하는 전압 발생기를 제어할 수 있다. 예를 들어, 전압 생성기는 복수의 선택 읽기 전압들, 복수의 비션택 읽기 전압들, 복수의 프로그램 전압들, 복수의 패스 전압들, 복수의 소거 전압들과 같은 다양한 전압들을 생성하여 어드레스 디코더(123)와 메모리 셀 어레이(122)로 제공할 수 있다.
입출력 회로(125)는 복수의 비트라인들(BL)을 통하여 메모리 셀 어레이(122)와 연결된다. 입출력 회로(125)는 메모리 콘트롤러(110)로부터 수신된 데이터(DATA)가 메모리 셀 어레이(122)에 기입되도록 복수의 비트라인들(BL)을 제어할 수 있다. 입출력 회로(130)는 메모리 셀 어레이(122)에 저장된 데이터(DATA)가 출력되도록 복수의 비트라인들(BL)을 제어할 수 있다.
입출력 회로(125)는 페이지 버퍼(126)를 포함할 수 있다. 예시적으로, 입출력 회로(125)는 열 선택 회로, 쓰기 드라이버, 감지 증폭기, 데이터 버퍼 등과 같은 구성 요소들을 포함할 수 있다. 페이지 버퍼(126)는 읽기 동작에서, 메모리 블록들(BLK1~BLKn)에서 독출되는 메모리 셀들의 비트라인들(BL)과 연결될 수 있다. 페이지 버퍼(126)는 비트라인들(BL)의 전압 레벨을 소정의 기준 전압과 비교하고, 비교 결과에 따른 로직값을 해당 비트라인(BL)이 연결되는 래치에 저장할 수 있다.
페이지 버퍼(126)는 메모리 블록들(BLK1~BLKn)의 리프레쉬 리드 동작에서, 해당 메모리 블록의 비트라인들(BL)과 연결되고, 연결된 비트라인들(BL)의 전압 레벨을 소정의 기준 전압과 비교하고, 비교 결과를 래치에 저장할 수 있다. 실시예에 따라, 리프레쉬 리드 동작에서, 페이지 버퍼(126)는 해당 메모리 블록의 비트라인들(BL)과 연결되더라도, 연결된 비트라인들(BL)의 전압 레벨을 소정의 기준 전압과 비교하고 비교 결과를 저장하는 동작은 무시되거나 수행하지 않을 수 있다. 다른 실시예에 따라, 리프레쉬 리드 동작에서, 페이지 버퍼(126)는 해당 메모리 블록의 비트라인들(BL)과 연결되지 않을 수 있다.
도 4는 도 3의 메모리 셀 어레이의 일 예를 나타내는 회로도이다. 도 4는 도 3에서 설명된 메모리 블록들(BLK1~BLKn) 중에서 제1 메모리 블록(BLK1)의 일부분에 대하여 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니며, 다른 메모리 블록들(BLK2-BLKn) 또한 제1 메모리 블록(BLK1)과 동일한 구조를 가질 수 있다.
제1 메모리 블록(BLK1)은 복수의 낸드 스트링들(NS11 내지 NS22), 복수의 워드 라인들(WL1 내지 WL8), 복수의 비트 라인들(BL1, BL2), 그라운드 선택 라인들(GSL), 스트링 선택 라인(SSL) 및 공통 소스 라인(CSL)을 포함할 수 있다. 스트링 선택 라인(SSL)은 제1 및 제2 스트링 선택 라인들(SSL1, SSL2)로 분리될 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인의 개수는 실시예에 따라 다양하게 변경될 수 있다.
제1 메모리 블록(BLK1)은 분리된 스트링 선택 라인들(SSL1, SSL2)에 의해 오드-이븐 구조(odd-even architecture)로 구성될 수 있고, 비트라인들(BL1, BL2)은 이븐 비트라인들(BL1e, BL2e)과 오드 비트라인들(BL1o, BL2o)로 구분된다. 오드-이븐 비트라인 구조에 있어서, 공통 워드라인에 속하고 오드 비트라인들(BL1o, BL2o)과 연결된 메모리 셀들이 제1 시간에 프로그램 또는 독출되는 반면에, 공통 워드라인에 속하고 이븐 비트라인들(BL1e, BL2e)과 연결되는 메모리 셀들은 제2 시간에 프로그램 또는 독출될 수 있다.
예시적인 실시예에 있어서, 제1 메모리 블록(BLK1)은 하나의 스트링 선택 라인(SSL)에 의해 올 비트라인(all bit line: ABL) 구조로 구성될 수 있다. 올 비트라인 구조에 있어서, 모든 비트라인들(BL1, BL2)은 읽기 및 프로그램 동작을 동시에 선택할 수 있다. 공통 워드라인에 속하며 모든 비트라인들(BL1, BL2)에 연결된 메모리 셀들은 동시에 프로그램 또는 독출될 수 있다.
제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22)이 제공된다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다.
하나의 비트 라인에 공통으로 연결된 낸드 스트링들은 하나의 칼럼을 구성한다. 예를 들어, 제1 비트 라인(BL1)에 공통으로 연결된 낸드 스트링들(NS11, NS21)은 제1 칼럼에 대응되고, 제2 비트 라인(BL2)에 공통으로 연결된 낸드 스트링들(NS12, NS22)은 제2 칼럼에 대응될 수 있다.
하나의 스트링 선택 라인에 연결되는 낸드 스트링들은 하나의 로우를 구성한다. 예를 들어, 제1 스트링 선택 라인(SSL1)에 연결된 낸드 스트링들(NS11, NS12)은 제1 로우에 대응되고, 제2 스트링 선택 라인(SSL2)에 연결된 낸드 스트링들(NS21, NS22)은 제2 로우에 대응될 수 있다.
스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1, SSL2)에 연결된다. 복수의 메모리 셀들(MC1 내지 MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1, BL2)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
본 실시예에서, 동일 높이의 워드 라인(예를 들면, WL1)은 서로 공통으로 연결되어 있다. 예를 들어, 제 1 워드 라인(WL1)에 연결되어 있고 낸드 스트링(NS11, NS12)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 제1 워드 라인(WL1)과 제1 스트링 선택 라인(SSL1)이 선택된다.
낸드 스트링들의 칼럼들의 수는 증가 또는 감소할 수 있다. 낸드 스트링들의 칼럼들의 수가 변경됨에 따라, 낸드 스트링들의 칼럼들에 연결되는 비트라인들의 수, 그리고 하나의 스트링 선택 라인에 연결되는 낸드 스트링들의 수 또한 변경될 수 있다.
낸드 스트링들의 높이는 증가 또는 감소될 수 있다. 예를 들어, 낸드 스트링들 각각에 적층되는 메모리 셀들의 수는 증가 또는 감소될 수 있다. 낸드 스트링들 각각에 적층되는 메모리 셀들의 수가 변경됨에 따라, 워드라인들의 수 또한 변경될 수 있다. 예를 들어, 낸드 스트링들 각각에 제공되는 스트링 선택 트랜지스터 또는 접지 선택 트랜지스터의 수는 증가될 수 있다. 낸드 스트링들 각각에 제공되는 스트링 선택 트랜지스터 또는 접지 선택 트랜지스터의 수가 변경됨에 따라, 스트링 선택 라인 또는 접지 선택 라인의 수 또한 변경될 수 있다. 스트링 선택 트랜지스터 또는 접지 선택 트랜지스터의 수가 증가되면, 스트링 선택 트랜지스터들 또는 접지 선택 트랜지스터들은 메모리 셀들(MC1~MC8)과 같은 형태로 적층될 수 있다.
예시적으로, 프로그램 및 읽기 동작은 낸드 스트링들(NS11, NS12, NS21, NS22)의 로우 단위로 수행될 수 있다. 스트링 선택 라인들(SSL1, SSL2)에 의해 낸드 스트링들(NS11, NS12, NS21, NS22)이 하나의 로우 단위로 선택될 수 있다. 제1 스트링 선택 라인(SSL1)에 의해 낸드 스트링들(NS11, NS12)이 하나의 로우 단위로 선택되고, 제2 스트링 선택 라인(SSL2)에 의해 낸드 스트링들(NS21, NS22)이 하나의 로우 단위로 선택될 수 있다.
낸드 스트링들(NS11, NS12, NS21, NS22)의 선택된 로우에서, 프로그램 및 읽기 동작은 페이지 단위로 수행될 수 있다. 페이지는 하나의 워드라인에 연결된 메모리 셀들의 하나의 로우일 수 있다. 낸드 스트링들(NS11, NS21, NS21, NS22)의 선택된 로우에서, 메모리 셀들은 워드라인들(WL1-WL8)에 의해 페이지 단위로 선택될 수 있다.
도 5는 도 4의 메모리 블록에 대응하는 구조를 보여주는 사시도이다.
도 5를 참조하면, 메모리 블록(BLK1)는 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 도 5에서는, 메모리 블록(BLK1)이 2개의 선택 라인들(GSL, SSL), 8개의 워드 라인들(WL1 내지 WL8), 그리고 3개의 비트 라인들(BL1 내지 BL3)을 포함하는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다.
기판(SUB)은 제1 도전형(예를 들어, p-타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, Y 방향)을 따라 신장되고, 제2 도전형(예를 들어, n-타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공된다. 인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 신장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, Z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 복수의 필라들(pillars, P)이 제공된다. 예를 들어, 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 것이다. 구체적으로, 각 필라(P)의 표면층(surface layer, S)은 p-타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 전하 저장층(CS)은 게이트 절연층(또는 '터널링 절연층'이라고 지칭함), 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1 내지 WL8)과 같은 게이트 전극(GE)이 제공된다.
복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들(DR) 상에, 제2 방향(예를 들어, X 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1 내지 BL3)이 제공된다.
각 필라(P)는 절연막(IL) 및 제3 방향을 따라 신장되는 선택 라인들(CSL, SSL)과 워드라인들(WL1 내지 WL8)과 함께 낸드 스트링(NS)을 형성한다. 낸드 스트링(NS)은 복수의 트랜지스터 구조들(TS)을 포함한다. 트랜지스터 구조(TS)는 도 6을 참조하여 상세하게 설명된다.
도 6은 도 5의 트랜지스터 구조를 보여주는 단면도이다.
도 6을 참조하면, 트랜지스터 구조(TS)에서 필라(P)의 표면층(S)은 p-타입의 실리콘으로 바디(body)로 동작할 것이다. 전하 저장층(CS)은 터널링 절연층(17), 전하 트랩층(18) 및 블로킹 절연층(19)을 포함할 수 있다. 필라(P)에 인접한 터널링 절연층(17)은 실리콘 산화막을 포함하고, 전하 트랩층(18)은 실리콘 질화막을 포함하고, 블로킹 절연층(19)는 높은 유전 상수를 갖는 고유전막 또는 금속 산화막(예를 들면, 알루미늄 산화막, 하프늄 산화막)을 포함할 수 있다. 이하에서, 필라(P)의 p-타입 실리콘(S)을 바디라고 부르기로 한다.
게이트(GE) 및 바디(S) 사이의 전압 차이로 인해, 게이트(GE) 및 바디(S) 사이에 전계(electric field)가 형성된다. 형성된 전계는 터널링 절연층(17), 전하 트랩층(18) 및 블로킹 절연층(19)에 분배된다.
분배된 전계 중 터널링 절연층(17)에 분배되는 전계가 Fowler-Nordheim 터널링을 유발한다. 터널링 절연층(17)에 분배되는 전계에 의해, 메모리 셀(MC)이 프로그램 또는 소거된다. 즉, 터널링 절연층(17)에 분배되는 전계에 의해, 프로그램 동작시에 전하 트랩층(18)에 포획(trap)되는 전하의 양 또는 소거 동작시에 전하 트랩층(18)으로부터 유출되는 전하의 양이 결정될 것이다. 메모리 셀(MC)은 전하 포획 플래시(Charge Trap Flash: CTF) 메모리 셀로 구성될 수 있다.
전하 포획 플래시 메모리 셀(MC)은 프로그램된 후 시간에 경과함에 따라 전하 저장층(CS)에 저장된 전하가 빠져나올 수 있다. 또한, 전하 포획 플래시 메모리 셀(MC)은 프로그램 및 소거를 반복하는 회수가 증가하면 터널링 절연층(17)이 열화되어 전하 로스(charge loss) 현상이 더 심해질 수 있다. 이로 인하여, 메모리 셀들(MC)의 문턱 전압이 변화될 수 있다. 메모리 셀들의 문턱 전압 변화는 도 7을 참조하여 설명된다.
도 7은 도 4의 메모리 셀들의 문턱 전압 분포를 설명하는 도면이다. 간결한 설명을 위하여, 메모리 셀들은 삼중 레벨 셀(TLC: Triple Level Cell)인 것으로 가정한다. 본 발명의 범위는 이에 한정되는 것은 아니며, 메모리 셀들 각각은 하나의 비트를 저장하는 싱글 레벨 셀(SLC) 또는 적어도 두 비트를 저장하는 멀티 레벨 셀(MLC)로 제공될 수 있다. 또는 메모리 셀들 각각의 동작 모드는 SLC 또는 MLC로 가변적으로 바뀔 수 있다.
도 7을 참조하면, 메모리 셀들은 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1~P7) 중 어느 하나의 상태를 갖도록 프로그램될 수 있다. 예를 들어, 메모리 셀들은 제1 내지 제7 검증 전압(VP1~VP7)을 기반으로 소거 상태(E) 및 제1 내지 제7 프로그램 상태들(P1~P7) 중 어느 하나의 상태를 갖도록 프로그램될 수 있다.
메모리 셀들이 프로그램된 후 시간이 경과함에 따라, 메모리 셀들의 문턱 전압은 변화할 것이다. 예를 들면, 제7 프로그램 상태(P7)로 프로그램된 메모리 셀들은 프로그램된 후 시간이 경과함에 따라 프로그램 상태(P7`)를 가질 것이다. 즉, P7 상태를 갖도록 프로그램된 메모리 셀들은 제7 검증 전압(VP7) 보다 높은 문턱 전압을 가질 것이다. 프로그램된 후 시간이 경과함에 따라, P7 상태를 갖도록 프로그램된 메모리 셀들의 문턱 전압이 제7 검증 전압(VP7) 보다 낮아져서 P7 상태를 갖도록 프로그램된 메모리 셀이 P7` 상태를 가질 수 있다.
마찬가지로, 제1 내지 제6 프로그램 상태(P1~P6)로 프로그램된 메모리 셀들은 프로그램된 후 시간이 경과함에 따라 프로그램 상태(P1`~P6`)를 가질 것이다. 이는 메모리 셀들의 전하 저장층에 저장된 전하들이 시간이 경과함에 따라 채널층으로 이동하기 때문에 메모리 셀들의 문턱 전압이 낮아지는 것으로 이해할 수 있을 것이다. 메모리 셀들의 문턱 전압 변화를 전하 손실(charge loss) 현상이라 칭할 수 있다.
문턱 전압이 바뀐 메모리 셀들을 기반으로 데이터를 읽을 경우, 읽은 데이터에 에러가 포함된다. 예를 들어, 메모리 셀들은 제1 내지 제7 선택 읽기 전압(Vrd1~Vrd7)을 기반으로 메모리 셀들의 프로그램 상태를 판별할 수 있다. 제1 내지 제7 선택 읽기 전압(Vrd1~Vrd7)은 제1 내지 제7 프로그램 상태들(P1~P7)의 프로그램 상태를 판별하기 위한 전압 레벨을 가질 수 있다. 소정의 시간이 경과 후, 전하 손실 현상에 의해 메모리 셀들은 프로그램 상태(P1`~P7`)를 가질 수 있다. 이 때, 제1 내지 제7 선택 읽기 전압(Vrd1~Vrd7)을 기반으로 읽기 동작을 수행할 경우, 읽혀진 데이터는 에러를 포함할 것이다.
도 8은 메모리 셀들의 읽기 동작에서의 비트 에러율을 보여주는 그래프이다.
도 8을 참조하면, 불휘발성 메모리 장치(120)의 읽기 동작을 수행하는 경우, 첫번째 읽기 동작에서 읽힌 데이터에 포함된 비트 에러율(BER1)이 높은 것을 볼 수 있다. 이렇게 높은 비트 에러율(BER1)은 ECC 엔진(115, 도 2)을 이용하여 정정할 수 없다.
첫번째 읽기 동작은 메모리 셀들의 프로그램 후 수행될 수 있다. 프로그램 후 첫번째 읽기 동작까지 경과된 시간이 길수록, 비트 에러율은 더 높을 것으로 예상할 수 있다. 이는 시간 경과에 따른 메모리 셀들의 전하 손실 현상으로 인해 메모리 셀들이 문턱 전압이 바뀐 프로그램 상태(P1`~P7`, 도 7)를 가질 확률이 높아졌다고 이해할 수 있다.
두번째 읽기 동작에서의 비트 에러율(BER2)는 첫번째 읽기 동작의 비트 에러율(BER1)보다 크게 낮아지는 것을 볼 수 있다. 그리고 세번째 읽기 동작에서의 비트 에러율(BER3)도 두번째 읽기 동작에서의 비트 에러율(BER2) 보다 낮아지는 것을 볼 수 있다.
두번째 읽기 동작부터 비트 에러율(BER2)이 낮아지는 이유는 첫번째 읽기 동작으로 인해 메모리 셀들의 전하 손실이 어느 정도 보상되는 것으로 이해할 수 있다. 즉, 첫번째 읽기 동작에서 메모리 셀 어레이(122, 도 3)에 전압들이 인가됨에 따라 메모리 셀들의 문턱 전압 변화량이 보상될 수 있다. 예를 들어, 첫번째 읽기 동작에서, 선택 라인들(CSL, SSL)과 워드라인들(WL1 내지 WL8)에 인가되는 전압들에 의해 완전하게는 아니지만 채널 층으로 이동한 전하들이 전하 저장층으로 이동하기 때문에 메모리 셀들의 문턱 전압이 높아질 수 있다. 이렇게 읽기 동작으로 전하 손실을 보상하는 동작을 리프레쉬 리드 동작이라 칭한다.
불휘발성 메모리 장치(120)의 프로그램된 메모리 셀들의 전하 손실에 따른 에러를 방지하기 위하여, 불휘발성 메모리 장치(120)에서 리프레쉬 리드 동작이 수행되도록 설계될 수 있다. 그러나, 불휘발성 메모리 장치(120)의 프로그램 동작 후 얼마의 시간이 경과한 후에 읽기 동작이 수행되는지 알 수 없기 때문에, 최적의 리프레쉬 리드 동작을 수행하는데 어려움이 있다.
본 발명의 실시예들에 따르면, 메모리 콘트롤러(110)는 메모리 시스템(100)이 파워 온될 때 불휘발성 메모리 장치(120)의 리프레쉬 리드 동작을 제어할 수 있다. 또한, 메모리 콘트롤러(110)는 메모리 시스템(100)이 파워 오프될 때 불휘발성 메모리 장치(120)의 리프레쉬 리드 동작을 제어할 수 있다. 또한, 메모리 콘트롤러(100)는 메모리 시스템(100)이 구동 중일 때 불휘발성 메모리 장치(120)의 리프레쉬 리드 동작을 주기적으로 제어할 수 있다.
도 9는 도 1의 메모리 콘트롤러의 동작을 보여주는 순서도이다.
도 1 및 도 9를 참조하면, S910 단계에서 메모리 콘트롤러(110)는 메모리 시스템(100)의 파워 온 또는 파워 오프를 감지한다. 예를 들어, 메모리 콘트롤러(110)는 파워 모듈(130)에서 제공되는 전원 감지 신호(PDS)를 수신하여 메모리 시스템(100)의 파워 온 또는 파워 오프를 감지할 수 있다. 메모리 시스템(100)의 파워 오프에는 시스템 종료 커맨드에 따라 예측 가능한 노멀 파워 오프 또는 예측 불가능한 서든 파워 오프를 포함할 수 있다.
예시적으로, 파워 모듈(130)의 전원 감지 신호(PDS)는 불휘발성 메모리 장치(120)의 파워 온 또는 파워 오프를 감지함으로써 제공될 수 있다. 이에 따라, 메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)의 파워 온 또는 파워 오프를 감지할 수 있다.
S920 단계에서, 메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)가 파워 온 또는 파워 오프될 때, 리프레쉬 리드 커맨드(RRD CMD)를 발행한다. 예를 들어, 메모리 콘트롤러(110)는 파워 모듈(130)의 전원 감지 신호(PDS)에 응답하여 리프레쉬 리드 커맨드(RRD CMD)를 발행하고 불휘발성 메모리 장치(120)로 제공할 수 있다. 리프레쉬 리드 커맨드(RRD CMD)는 불휘발성 메모리 장치(120)의 메모리 셀 어레이(122) 내 모든 메모리 블록들(BLK1~BLKn, 도 3)에 대하여 한번에 연속적으로 리프레쉬 리드 동작이 수행되도록 하는 인텐시브 리프레쉬 리드 동작을 지시할 수 있다.
예시적으로, 메모리 콘트롤러(110)는 메모리 시스템(100)이 파워 온 후, 구동 중에도 리프레쉬 리드 커맨드(RRD CMD)를 발행할 수 있다. 리프레쉬 리드 커맨드(RRD CMD)는 불휘발성 메모리 장치(120)의 메모리 셀 어레이(122) 내 메모리 블록들(BLK1~BLKn, 도 3)이 리프레쉬 리드 인터벌로 순차적으로 리프레쉬 리드 동작이 수행되도록 하는 레귤러 리프레쉬 리드 동작을 지시할 수 있다.
S930 단계에서, 메모리 콘트롤러(110)는 리프레쉬 리드 커맨드(RRD CMD)를 수신하는 불휘발성 메모리 장치(120)에서 리프레쉬 리드 동작이 수행되도록 제어한다. 예를 들어, 불휘발성 메모리 장치(120)는 인텐시브 리프레쉬 리드 동작 또는 레귤러 리프레쉬 리드 동작을 수행할 것이다.
인텐시브 리프레쉬 리드 동작에 의해, 메모리 셀 어레이(122)의 메모리 블록들(BLK1~BLKn) 모두에 대하여 한 번에 연속적으로 리프레쉬 리드 동작을 수행함에 따라, 모든 메모리 블록들(BLK1~BLKn)의 메모리 셀들의 전하 소실에 따른 데이터 손실을 보상할 수 있을 것이다. 레귤러 리프레쉬 리드 동작에 의해, 리프레쉬 리드 인터벌 마다 메모리 블록들(BLK1~BLKn)이 순차적으로 리프레쉬 리드 동작을 수행함에 따라, 메모리 블록들(BLK1~BLKn)의 메모리 셀들의 데이터 리텐션을 유지할 수 있을 것이다.
여기에서, 리프레쉬 리드 동작은 불휘발성 메모리 장치(120)의 데이터 손실을 방지하고 데이터 리텐션을 유지하기 위하여 수행되기 때문에, 읽은 메모리 셀 데이터를 판별하는데 이용되는 메모리 블록(BLK1~BLkn)의 비트라인들(BL)의 전압 레벨은 중요하지 않다. 이에 따라, 메모리 블록(BLK1~BLkn)의 비트라인들(BL)은 입출력 회로(125, 도 3)의 페이지 버퍼(126)와 연결되지 않을 수 있다.
실시예에 따라, 메모리 블록(BLK1~BLkn)의 비트라인들(BL)이 페이지 버퍼(126)와 연결된다 하더라도, 페이지 버퍼(126)에서 이루어지는 비트라인들(BL)의 전압 레벨을 소정의 기준 전압과 비교하고 비교 결과를 저장하는 동작은 무시되거나 수행되지 않을 수 있다.
이 후, 불휘발성 메모리 장치(120)에서 수행된 리프레쉬 리드 동작의 결과는 메모리 콘트롤러(110)로 제공될 필요가 없을 것이다.
도 10 내지 도 13은 도 9에 도시된 불휘발성 메모리 장치에서 수행되는 리프레쉬 리드 동작을 설명하는 도면들이다.
도 1, 도 9 및 도 10을 참조하면, 메모리 콘트롤러(110)는 리프레쉬 리드 커맨드(RRD CMD)를 발행하여 불휘발성 메모리 장치(120)로 제공할 수 있다(S920). S1010 단계에서, 불휘발성 메모리 장치(120)는 리프레쉬 리드 커맨드(RRD CMD)에 응답하여 메모리 셀 어레이(122) 내 각각의 메모리 블록(BLK1~BLKn)에서 하나의 페이지(또는 워드라인)를 선택한다.
예를 들어, 메모리 블록들(BLK1~BLKn) 각각에서 선택되는 페이지는 메모리 콘트롤러(110)에서 제공되는 어드레스(ADDR)에 의해 동일하거나 서로 다를 수 있다. 실시예에 따라, 메모리 블록들(BLK1~BLKn)이 소정의 그룹들로 나뉘어지는 경우, 제1 그룹에서 선택되는 페이지는 제2 그룹에서 선택되는 페이지와 다를 수 있다.
S1020 단계에서, 불휘발성 메모리 장치(120)는 해당 메모리 블록(BLK1~BLKn)에서 선택된 페이지에 대하여 읽기 동작을 수행한다. 예를 들어, 선택된 페이지에 대한 읽기 동작은 선택된 페이지에 선택 읽기 전압을 인가하여 선택된 페이지에 연결된 메모리 셀들의 데이터를 읽을 것이다.
여기에서, 일반적인 읽기 동작에서는 메모리 셀의 문턱 전압 분포가 선택 읽기 전압을 기준으로 낮은지 또는 높은지를 판별하는 과정을 포함하여 메모리 셀 데이터를 읽기 때문에, 선택 읽기 전압의 선정이 중요하다. 그러나, 리프레쉬 리드 동작에서는 메모리 셀의 데이터 손실을 방지하고 데이터 리텐션을 유지하기 위하여 선택 읽기 전압이 선택된 워드라인에 인가되는 것이기 때문에, 선택 읽기 전압의 선정이 중요하지 않다. 이에 따라, 리프레쉬 리드 동작에서 선택된 워드라인에 인가되는 선택 읽기 전압은 다수의 선택 읽기 전압들(Vrd1~Vrd7, 도 7) 중에서 어느 하나로 설정되어도 상관없다.
도 11을 참조하면, 리프레쉬 리드 동작에서 메모리 셀 어레이(122)에 전압들이 인가되는 실시예를 보여준다. 예를 들어, 불휘발성 메모리 장치(120)의 메모리 셀 어레이(122) 내 다수개의 메모리 블록들(BLK1~BLKn) 중에서 제1 메모리 블록(BLK1)에 대하여 리프레쉬 리드 동작이 수행될 수 있다. 제1 메모리 블록(BLK1)의 리프레쉬 리드 동작은 복수의 워드라인들(WL1~WL8) 중에서 선택된 하나의 워드라인(WL1)에 대한 읽기 동작을 수행하는 것으로 설명된다.
제1 메모리 블록(BLK1)에서, 스트링 선택 트랜지스터(SST)와 접지 선택 트랜지스터(GST)가 턴온되도록, 스트링 선택 라인(SSL)에 스트링 선택 전압(VSSL)이 인가되고 접지 선택 라인(GSL)에 접지 선택 전압(VGSL)이 인가된다. 예컨대, 스트링 선택 전압(VSSL)과 접지 선택 전압(VGSL)은 읽기 전압(Vread), 전원 전압(VDD) 또는 그와 유사한 레벨을 갖는 전압일 수 있다.
제1 메모리 블록(BLK1)에서, 비선택 워드라인들(WL2~WL8)에 읽기 전압(Vread)이 인가되고, 선택된 워드라인(WL1)에 제1 선택 읽기 전압(Vrd1)이 인가될 수 있다. 읽기 전압(Vread)는 도 7에 도시된 바와 같이, 메모리 셀들의 문턱 전압(Vth) 산포 보다 높은 전압 레벨을 가질 수 있다. 이에 따라, 읽기 전압(Vread)이 인가되는 메모리 셀들(MC2~MC8)은 모두 턴온될 수 있다. 제1 선택 읽기 전압(Vrd1)은 도 7에 도시된 바와 같이, 제1 내지 제7 프로그램 상태들(P1~P7)의 프로그램 상태를 판별하기 위한 전압 레벨들(Vrd1~Vrd7) 중 가장 낮은 전압 레벨로 설정되어 있다.
제1 메모리 블록(BLK1)에서 비트라인들(BL1~BLn)은 예컨대, 전원 전압(VDD)으로 프리차아지될 수 있다.
선택된 워드라인(WL1)에 연결되는 메모리 셀들의 데이터에 따라 비트라인들(BL1~BLn)의 전압 레벨이 변화될 것이다. 예를 들어, 선택된 워드라인(WL1)에 연결된 메모리 셀들 중 제1 선택 읽기 전압(Vrd1) 이하의 문턱 전압을 갖는 메모리 셀들이 있다면, 대응하는 비트라인(BL)에 프리차아지된 전원 전압(VDD)이 공통 소스 라인(CSL)으로 방전되어 비트라인(BL)의 전압 레벨이 낮아질 것이다. 선택된 워드라인(WL1)에 연결된 메모리 셀들 중 제1 선택 읽기 전압(Vrd1) 보다 높은 문턱 전압을 갖는 메모리 셀이 있다면, 대응하는 비트라인(BL)은 프리차아지된 전원 전압(VDD) 레벨을 유지할 것이다.
비트라인들(BL1~BLn)은 입출력 회로(125, 도 3)의 페이지 버퍼(126)와 연결될 수 있다. 페이지 버퍼(126)는 비트라인들(BL1~BLn)의 전압 레벨이 소정의 기준 전압 보다 낮을 때, 예컨대 로직 로우를 해당 비트라인(BL)이 연결되는 래치에 저장할 수 있다. 페이지 버퍼(126)는 비트라인들(BL1~BLn)의 전압 레벨이 소정의 기준 전압 보다 높을 때, 예컨대 로직 하이를 해당 비트라인(BL)이 연결되는 래치에 저장할 수 있다.
실시예에 따라, 비트라인들(BL1~BLn)은 입출력 회로(125, 도 3)의 페이지 버퍼(126)와 연결되지 않을 수 있다. 이 경우, 스트링 선택 라인(SSL), 접지 선택 라인(GSL), 비선택 워드라인들(WL2~WL8)과 선택된 워드라인(WL1)에 전압 레벨들 만을 인가함으로써 리프레쉬 리드 동작을 수행할 수 있다.
실시예에 따라, 제1 메모리 블록(BLK1)의 리프레쉬 리드 동작은 복수의 워드라인들(WL1~WL8) 중에서 제1 워드라인(WL1) 대신에 나머지 워드라인들(WL2~WL8) 중에서 어느 하나에 대하여 읽기 동작을 수행하는 것으로 대체될 수 있다. 예를 들면, 제2 워드라인(WL2)을 선택 워드라인으로 설정하고 나머지 워드라인들(WL1, WL3~WL8)은 비선택 워드라인으로 설정하는 읽기 동작에 의거하여 제1 메모리 블록(BLK1)의 리프레쉬 리드 동작을 수행할 수 있다.
실시예에 따라, 제1 메모리 블록(BLK1)의 리프레쉬 리드 동작은 제1 선택 읽기 전압(Vrd1) 대신에 나머지 선택 읽기 전압들(Vrd2~Vrd7) 중 어느 하나를 선택하여 선택된 워드라인(WL1)에 인가할 수 있다. 예를 들면, 제2 선택 읽기 전압(Vrd2)이 선택된 워드라인(WL1)에 인가되어 제1 메모리 블록(BLK1)의 리프레쉬 리드 동작을 수행할 수 있다.
마찬가지로, 메모리 콘트롤러(110)는 제1 메모리 블록(BLK1) 이외의 나머지 메모리 블록들(BLK2~BLKn) 각각에 대해서도 해당 메모리 블록들(BLK2~BLKn) 내 복수의 워드라인들(WL1~WL8) 중에서 제1 워드라인(WL1)이 선택되고, 선택된 워드라인(WL1)에 제1 선택 읽기 전압(Vrd1)이 인가되고, 비선택 워드라인들(WL2~WL8)에 읽기 전압(Vread)이 인가되도록 하여 메모리 블록들(BLK2~BLKn) 각각의 리프레쉬 리드 동작을 수행할 수 있다. 해당 메모리 블록(BLK2~BLkn)의 비트라인들(BL1~BLn)은 전원 전압으로 프리차아지되고, 선택된 워드라인(WL1)에 연결되는 메모리 셀들의 데이터에 따라 변화된 전압 레벨을 가질 것이다. 해당 메모리 블록(BLK2~BLkn)의 비트라인들(BL1~BLn)의 전압 레벨들은 입출력 회로(125, 도 3)의 페이지 버퍼(126)에 제공될 수 있다. 실시예에 따라, 해당 메모리 블록(BLK2~BLkn)의 비트라인들(BL1~BLn)은 입출력 회로(125, 도 3)의 페이지 버퍼(126)에 제공되지 않을 수 있다.
실시예에 따라, 메모리 블록들(BLK2~BLKn) 각각의 리프레쉬 리드 동작은 복수의 워드라인들(WL1~WL8) 중에서 제1 워드라인(WL1) 대신에 나머지 워드라인들(WL2~WL8) 중에서 어느 하나에 대하여 읽기 동작을 수행하는 것으로 대체될 수 있다.
실시예에 따라, 메모리 블록들(BLK2~BLKn) 각각의 리프레쉬 리드 동작은 제1 선택 읽기 전압(Vrd1) 대신에 나머지 선택 읽기 전압들(Vrd2~Vrd7) 중 어느 하나를 선택하여 선택된 워드라인(WL1)에 인가할 수 있다.
도 12a를 참조하면, 메모리 셀 어레이(122)의 메모리 블록들(BLK1~BLKn) 각각은 서로 다른 워드라인을 선택하고, 해당 메모리 블록의 선택된 워드라인에 동일한 선택 읽기 전압(Vrd1)을 인가하는 읽기 동작에 의거하여 리프레쉬 리드 동작이 수행될 수 있다.
예를 들어, 제1 메모리 블록(BLK1)은 제1 워드라인(WL1)을 선택하고, 선택된 제1 워드라인(WL1)에 제1 선택 읽기 전압(Vrd1)을 인가하고, 비선택 워드라인들(WL2~WL8)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다. 제2 메모리 블록(BLK2)은 제2 워드라인(WL2)을 선택하고, 선택된 제2 워드라인(WL2)에 제1 선택 읽기 전압(Vrd1)을 인가하고, 비선택 워드라인들(WL1, WL3~WL8)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다. 제n 메모리 블록(BLKn)은 제8 워드라인(WL8)을 선택하고, 선택된 제8 워드라인(WL8)에 제1 선택 읽기 전압(Vrd1)을 인가하고, 비선택 워드라인들(WL1~WL7)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다.
실시예에 따라, 서로 다른 워드라인에 대하여 읽기 동작을 수행하는 메모리 블록들(BLK1~BLkn) 각각에서, 비트라인들(BL1~BLn)은 입출력 회로(125, 도 3)의 페이지 버퍼(126)에 연결되거나 연결되지 않을 수 있다.
도 12b를 참조하면, 메모리 셀 어레이(122)의 메모리 블록들(BLK1~BLKn) 각각은 서로 다른 워드라인을 선택하고, 해당 메모리 블록의 선택된 워드라인에 서로 다른 선택 읽기 전압(Vrd1~Vrd7)을 인가하는 읽기 동작에 의거하여 리프레쉬 리드 동작을 수행할 수 있다.
예를 들어, 제1 메모리 블록(BLK1)은 제1 워드라인(WL1)을 선택하고, 선택된 제1 워드라인(WL1)에 제1 선택 읽기 전압(Vrd1)을 인가하고, 비선택 워드라인들(WL2~WL8)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다. 제2 메모리 블록(BLK2)은 제2 워드라인(WL2)을 선택하고, 선택된 제2 워드라인(WL2)에 제2 선택 읽기 전압(Vrd2)을 인가하고, 비선택 워드라인들(WL1, WL3~WL8)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다. 제n 메모리 블록(BLKn)은 제8 워드라인(WL8)을 선택하고, 선택된 제8 워드라인(WL8)에 제7 선택 읽기 전압(Vrd7)을 인가하고, 비선택 워드라인들(WL1~WL7)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다.
도 13을 참조하면, 메모리 셀 어레이(122)의 메모리 블록들(BLK1~BLKn)은 소정의 그룹들로 나뉘어져 그룹별로 서로 다른 워드라인에 대한 읽기 동작에 의거하여 리프레쉬 리드 동작이 수행될 수 있다.
예를 들어, 제1 및 제2 메모리 블록들(BLK1, BLK2)은 제1 워드라인(WL1)을 선택하고, 선택된 제1 워드라인(WL1)에 제1 선택 읽기 전압(Vrd1)을 인가하고, 비선택 워드라인들(WL2~WL8)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다. 제i 및 제j 메모리 블록들(BLKi, BLKj)은 제2 워드라인(WL2)을 선택하고, 선택된 제2 워드라인(WL2)에 제1 선택 읽기 전압(Vrd1)을 인가하고, 비선택 워드라인들(WL1, WL3~WL8)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다. 제n-1 및 제n 메모리 블록들(BLKn-1, BLKn)은 제8 워드라인(WL8)을 선택하고, 선택된 제8 워드라인(WL8)에 제1 선택 읽기 전압(Vrd1)을 인가하고, 비선택 워드라인들(WL1~WL7)에 읽기 전압(Vread)을 인가하여 리프레쉬 리드 동작을 수행할 수 있다.
실시예에 따라, 소정의 그룹별로 서로 다른 워드라인에 대하여 리프레쉬 리드 동작을 수행하는 메모리 블록들(BLK1~BLkn) 각각에서, 비트라인들(BL1~BLn)은 입출력 회로(125, 도 3)의 페이지 버퍼(126)에 연결되거나 연결되지 않을 수 있다.
실시예에 따라, 소정의 그룹들끼리 서로 다른 워드라인에 대하여 리프레쉬 리드 동작을 수행하는 메모리 블록들(BLK1~BLKn) 각각의 리프레쉬 리드 동작은, 선택된 워드라인에 인가되는 제1 선택 읽기 전압(Vrd1) 대신에 나머지 선택 읽기 전압들(Vrd2~Vrd7) 중 어느 하나를 선택하여 선택된 워드라인에 인가할 수 있다.
도 14 내지 도 16은 본 발명의 실시예들에 따른 불휘발성 메모리 장치에서 수행되는 인텐시브 리프레쉬 리드 동작을 설명하는 도면들이다.
도 1 및 도 14를 참조하면, 메모리 콘트롤러(110)는 메모리 시스템(100)의 파워 온을 감지할 수 있다(S1410). 예를 들어, 메모리 콘트롤러(110)는 파워 모듈(130)에서 제공되는 전원 감지 신호(PDS)를 수신하여 메모리 시스템(100)의 파워 온을 감지할 수 있다.
메모리 콘트롤러(110)는 메모리 시스템(100)이 파워 온 될 때 불휘발성 메모리 장치(120)의 인텐시브 리프레쉬 리드 동작을 수행할 수 있다(S1420). 인텐시브 리프레쉬 리드 동작은 불휘발성 메모리 장치(120)의 메모리 셀 어레이(122) 내 모든 메모리 블록(BLK1~BLKn, 도 3)에 대하여 한 번에 연속적으로 수행되는 리프레쉬 리드 동작을 가리킨다. 예를 들어, 불휘발성 메모리 장치(120)가 파워 온 되면, 제1 메모리 블록(BLK1)부터 제n 메모리 블록(BLKn)까지의 리프레쉬 리드 동작이 한번에 연속적으로 수행될 수 있다.
실시예에 따라, 제1 메모리 블록(BLK1)부터 제n 메모리 블록(BLKn)까지 수행되는 인텐시브 리프레쉬 리드 동작은, 해당 메모리 블록 내 복수의 워드라인들 중 하나를 선택하여 선택된 워드라인(또는 페이지)에 대하여 읽기 동작을 수행하고, 읽기 동작시 선택된 워드라인에 인가되는 선택 읽기 전압은 다수의 선택 읽기 전압들(Vrd1~Vrd7) 중 어느 하나로 설정되고, 선택된 워드라인에 연결되는 메모리 셀들의 연결되는 비트라인들은 페이지 버퍼에 연결되거나 또는 연결되지 않도록 제어될 수 있다.
실시예에 따라, 인텐시브 리프레쉬 리드 동작에서, 제1 내지 제n 메모리 블록(BLK1~BLKn) 각각은 동일한 워드라인을 선택하여 읽기 동작을 수행하거나, 서로 다른 워드라인을 선택하여 읽기 동작을 수행할 수 있다. 인텐시브 리프레쉬 리드 동작에서, 제1 내지 제n 메모리 블록(BLK1~BLKn) 각각은 동일한 선택 읽기 전압을 이용하여 읽기 동작을 수행하거나, 서로 다른 선택 읽기 전압을 이용하여 읽기 동작을 수행할 수 있다.
도 1 및 도 15를 참조하면, 메모리 콘트롤러(110)는 메모리 시스템(100)의 노멀 파워 오프를 감지할 수 있다(S1510). 예를 들어, 메모리 콘트롤러(110)는 파워 모듈(130)에서 제공되는 전원 감지 신호(PDS)를 수신하여 메모리 시스템(100)이 정상적으로 파워 오프되는 노멀 파워 오프를 감지할 수 있다. 노멀 파워 오프는 메모리 시스템(100)의 시스템 종료 커맨드에 따라 수행될 수 있다.
메모리 콘트롤러(110)는 메모리 시스템(100)이 파워 오프될 때 불휘발성 메모리 장치(120)의 인텐시브 리프레쉬 리드 동작을 수행할 수 있다(S1520). 인텐시브 리프레쉬 리드 동작은 불휘발성 메모리 장치(120)의 메모리 셀 어레이(122) 내 모든 메모리 블록들(BLK1~BLKn, 도 3)에 대하여 한번에 연속적으로 수행될 수 있다.
도 1 및 도 16을 참조하면, 메모리 콘트롤러(110)는 메모리 시스템(100)의 서든 파워 오프를 감지할 수 있다(S1610). 예를 들어, 메모리 콘트롤러(110)는 파워 모듈(130)에서 제공되는 전원 감지 신호(PDS)를 수신하여 메모리 시스템(100)의 전원 공급이 갑자기 중단되는 서든 파워 오프를 감지할 수 있다.
메모리 콘트롤러(110)는 메모리 시스템(100)이 서든 파워 오프 될 때 불휘발성 메모리 장치(120)의 인텐시브 리프레쉬 리드 동작을 수행할 수 있다(S1620). 불휘발성 메모리 장치(120)는 보조 전원부를 더 포함할 수 있다. 보조 전원부는 메모리 시스템(100)으로 제공되는 전원을 입력받고 충전되는 커패시터로 구성될 수 있다. 서든 파워 오프시, 인텐시브 리프레쉬 리드 동작은 불휘발성 메모리 장치(120)의 보조 전원부에 충전된 보조 전원을 이용하여 메모리 셀 어레이(122) 내 모든 메모리 블록들(BLK1~BLKn, 도 3)에 대하여 한번에 연속적으로 수행될 수 있다.
도 17 및 도 18은 도 14 내지 도 16의 인텐시브 리프레쉬 리드 동작을 설명하는 도면들이다. 도 17은 인텐시브 리프레쉬 리드 동작을 설명하는 순서도이고, 도 18은 도 17의 인텐시브 리프레쉬 리드 동작을 수행하는 과정을 보여준다.
도 17을 참조하면, 도 1의 메모리 콘트롤러(110)는 메모리 시스템(100)의 파워 온/오프를 감지한 후 불휘발성 메모리 장치(120)의 인텐시브 리프레쉬 리드 동작을 수행할 수 있다.
S1710 단계에서, 메모리 콘트롤러(110)는 리프레쉬 리드 동작을 수행할 메모리 블록을 나타내는 메모리 블록 인덱스 j 를 설정한다. 예를 들어, 메모리 콘트롤러(110)는 메모리 시스템(100)이 파워 온 또는 파워 오프될 때 메모리 블록 인덱스 j=1 로 설정할 수 있다. 메모리 콘트롤러(110)는, 도 11에 도시된 바와 같이, 제1 메모리 블록(BLK1)에 대하여 리프레쉬 리드 동작을 진행할 것이다.
실시예에 따라, 메모리 콘트롤러(110)는 메모리 시스템(100)이 서든 파워 오프될 때에는 서든 파워 오프 직전에 동작되었던 메모리 블록을 메모리 블록 인덱스 j 로 설정할 수 있다.
실시예에 따라, 메모리 콘트롤러(110)는 메모리 블록들(BLK1~BLKn, 도 3) 중 리프레쉬 리드 동작이 먼저 필요하다고 판단되는 메모리 블록을 메모리 블록 인덱스 j 로 설정할 수 있다. 예시적으로, 메모리 콘트롤러(110)는 메모리 블록(BLK1~BLKn)의 상태 정보에 따라 리프레쉬 리드 동작의 진행 순서를 수립할 수 있다. 메모리 블록(BLK1~BLKn)의 상태 정보는 해당 메모리 블록(BLK1~BLKn)의 전체 가용량, 유효 데이터량, 데이터 분포 상태, 마모도(wearing level) 등을 포함할 수 있다. 전체 가용량은 데이터를 저장할 수 있는 전체 용량을 의미하고, 유효 데이터량은 현재 저장되어 있는 데이터의 양을 의미하고, 데이터 분포 상태는 데이터의 물리적 위치를 의미하고, 마모도는 프로그램 및 삭제(P/E) 동작에 따른 마모 정도를 의미한다.
S1720 단계에서, 메모리 콘트롤러(110)는 페이지 인덱스 i 를 설정한다. 메모리 콘트롤러(110)는 메모리 블록 인덱스 j 에 해당하는 메모리 블록 내 복수개의 페이지들 중 하나를 선택하고 선택된 페이지를 페이지 인덱스 i 로 설정할 수 있다. 예를 들어, 메모리 콘트롤러(110)는, 도 11에 도시된 바와 같이, 제1 메모리 블록(BLK1)의 제1 워드라인(또는 페이지, WL1)을 선택하는 경우 페이지 인덱스 i=1 로 설정할 수 있다. 설명의 편의를 위하여, 선택된 페이지 i가 제1 워드라인(WL1)이라 가정하자.
S1730 단계에서, 메모리 콘트롤러(110)는 선택된 페이지 i 에 대한 리프레쉬 리드 커맨드를 발행할 수 있다.
S1740 단계에서, 메모리 콘트롤러(110)는 페이지 i 에 대한 리프레쉬 리드 커맨드에 따른 읽기 동작이 완료되었는 지를 체크한다. 예를 들어, 불휘발성 메모리 장치(120)는, 도 11에 도시된 바와 같이, 제1 워드라인(WL1)에 제1 선택 읽기 전압(Vrd1)을 인가하고 비선택된 워드라인들(WL2~WL8))에 읽기 전압(Vread)을 인가하여 읽기 동작을 수행할 수 있다.
예시적으로, 제1 메모리 블록(BLK1)의 제1 워드라인(WL1)의 읽기 동작에서, 제1 워드라인(WL1)에 연결된 메모리 셀들의 데이터는 비트라인들(BL1~BLn)을 통해 입출력 회로(126, 도 3)의 페이지 버퍼(126)로 제공될 수 있다. 또는, 제1 워드라인(WL1)에 연결된 메모리 셀들의 데이터는 페이지 버퍼(126)로 제공되지 않을 수 있다.
S1750 단계에서, 메모리 콘트롤러(110)는 메모리 블록 인덱스 j 를 +1 증가시킨다.
S1760 단계에서, 메모리 콘트롤러(110)는 리프레쉬 리드 커맨드를 수행해야할 메모리 블록이 더 있는지 체크한다. 예를 들면, 메모리 블록 인덱스 j+1에 대응하는 메모리 블록이 제2 메모리 블록(BLK2)인 경우, S1730 단계로 돌아가서 제2 메모리 블록(BLK2)의 페이지 i 에 대한 읽기 동작을 반복할 수 있다. 메모리 블록 인덱스 j+1가 n 보다 큰 수에 대응하면 제1 내지 제n 메모리 블록(BLK1~BLKn) 모두의 리프레쉬 리드 동작이 수행된 것이므로, 메모리 콘트롤러(110)는 인텐시브 리프레쉬 리드 동작을 종료할 수 있다.
실시예에 따라, S1710 단계에서 서든 파워 오프 직전에 동작되었던 메모리 블록이 메모리 블록 인덱스 j 로 설정되었다면, S1750 단계 및 S1760 단계는 서든 파워 오프 직전에 동작되었던 메모리 블록의 다음 메모리 블록부터 마지막 메모리 블록까지 읽기 동작을 반복하여, 모든 메모리 블록들(BLK1~BLKn)이 리프레쉬 리드 동작을 수행하도록 실행될 수 있다.
도 18을 참조하면, 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온시, 메모리 콘트롤러(110)는 리프레쉬 리드 커맨드(RRD CMD)를 불휘발성 메모리 장치(120)로 제공하고, 불휘발성 메모리 장치(120)는 리프레쉬 리드 커맨드(RRD CMD)에 응답하여 제1 메모리 블록(BLK1)부터 제n 메모리 블록(BLKn)까지 연속적으로 리프레쉬 리드 동작을 수행한다. 그리고, 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 오프시, 메모리 콘트롤러(110)는 리프레쉬 리드 커맨드(RRD CMD)를 불휘발성 메모리 장치(120)로 제공하고, 불휘발성 메모리 장치(120)는 리프레쉬 리드 커맨드(RRD CMD)에 응답하여 제1 메모리 블록(BLK1)부터 제n 메모리 블록(BLKn)까지 연속적으로 리프레쉬 리드 동작을 수행한다.
도 19 내지 도 22는 본 발명의 실시예들에 따른 불휘발성 메모리 장치에서 수행되는 레귤러 리프레쉬 리드 동작을 설명하는 도면들이다. 도 19는 레귤러 리프레쉬 리드 동작을 설명하는 순서도이고, 도 20 내지 도 22는 도 19의 레귤러 리프레쉬 리드 동작을 수행하는 과정을 보여준다.
도 1, 도 9, 도 14 및 도 19를 참조하면, 메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온을 감지하고(S910, S1410), 불휘발성 메모리 장치(120)의 인텐시브 리프레쉬 리드 동작(S1420)을 수행할 수 있다. 이 후, S1910 단계에서, 메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)가 파워 온된 후 경과 시간(Time)을 판단할 수 있다.
S1920 단계에서, 경과 시간(Time)이 리프레쉬 리드 인터벌(RRD_I) 이상 인지를 판단할 수 있다. 판단 결과, 경과 시간(Time)이 리프레쉬 리드 인터벌(RRD_I) 이상이면 메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)의 리프레쉬 리드 동작을 수행한다(S1930). 판단 결과, 경과 시간(Time)이 리프레쉬 리드 인터벌(RRD_I)가 아니면 메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)의 리프레쉬 리드 동작을 수행하지 않는다(S1940).
예시적으로, 메모리 콘트롤러(110)는 메모리 시스템(100)의 온도 정보에 따라 리프레쉬 리드 인터벌(RRD_I)을 변경할 수 있다. 예를 들어, 메모리 콘트롤러(110)는 기준 온도일 때 소정의 리프레쉬 리드 인터벌(RRD_I)을 설정할 수 있다. 메모리 콘트롤러(110)는 메모리 시스템(100)의 온도 정보가 기준 온도 보다 높을 경우 리프레쉬 리드 인터벌(RRD_I)을 짧게 설정하고, 기준 온도 보다 낮을 경우 리프레쉬 리드 인터벌(RRD_I)을 길게 설정할 수 있다.
메모리 시스템(100)의 온도 정보는 메모리 시스템(100)에 내장되는 온도 센서에서 제공될 수 있다. 예를 들어, 온도 센서는 메모리 콘트롤러(110)에 내장되거나 불휘발성 메모리 장치(120)에 내장될 수 있다. 실시예에 따라, 메모리 시스템(100)의 온도 정보는 메모리 시스템(100) 외부에서 제공될 수 있다. 메모리 시스템(100)이 포함되는 전자 장치의 호스트에서 온도 정보를 메모리 콘트롤러(110)로 제공할 수 있다.
예시적으로, 메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)의 메모리 블록들(BLK1~BLKn)의 상태 정보에 따라 리프레쉬 리드 인터벌(RRD_I)을 변경할 수 있다. 메모리 블록(BLK1~BLKn)의 상태 정보는 해당 메모리 블록(BLK1~BLKn)의 전체 가용량, 유효 데이터량, 데이터 분포 상태, 프로그램 및 삭제(P/E) 동작에 따른 마모도(wearing level) 등을 포함할 수 있다.
S1930 단계에서, 불휘발성 메모리 장치의 리프레쉬 리드 동작은, 도 10에서 설명된 바와 같이, 메모리 콘트롤러(110)에서 발행된 리프레쉬 리드 커맨드에 응답하여 해당 메모리 블록(BLK1~BLKn) 내 하나의 페이지(또는 워드라인)를 선택하고, 해당 메모리 블록(BLK1~BLKn)에서 선택된 페이지에 대하여 읽기 동작을 수행하는 것으로 이루어질 수 있다.
도 20을 참조하면, 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온 후, 메모리 콘트롤러(110)는 리프레쉬 리드 커맨드(RRD CMD)를 발행하고, 불휘발성 메모리 장치(120)는 인텐시브 리프레쉬 리드 동작을 수행한다.
메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온 후, 소정의 리프레쉬 리드 인터벌(RRD_I)로 리프레쉬 리드 커맨드(RRD CMD)를 발행하고, 불휘발성 메모리 장치(120)는 리프레쉬 리드 커맨드(RRD CMD)에 응답하여 해당 메모리 블록(BLK1~BLKn, 도 3)에 대하여 리프레쉬 리드 동작을 수행한다.
불휘발성 메모리 장치(120)는 리프레쉬 리드 인터벌(RRD_I) 마다 제공되는 리프레쉬 리드 커맨드(RRD CMD)에 따라 제1 메모리 블록(BLK1)부터 제n 메모리 블록(BLKn)까지 순차적으로 리프레쉬 리드 동작을 수행할 수 있다. 즉, 매 리프레쉬 인터벌(RRD_I) 마다 제1 내지 제n 메모리 블록(BLK1~BLKn)이 순차적으로 리프레쉬 리드 동작을 수행할 수 있다. 이에 따라, 메모리 블록들(BLK1~BLKn) 각각은 리프레쉬 리드 주기(RP)로 리프레쉬 리드 동작을 수행할 수 있다.
도 21을 참조하면, 불휘발성 메모리 장치(120)에서 소정의 메모리 블록들(BLK1~BLKn)이 그룹화되고, 그룹화된 메모리 블록별로 레귤러 리프레쉬 리드 동작이 수행될 수 있다. 메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온 후, 리프레쉬 리드 커맨드(RRD CMD)를 발행하여 불휘발성 메모리 장치(120)의 인텐시브 리프레쉬 리드 동작을 제어한다.
메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온 후, 소정의 리프레쉬 리드 인터벌(RRD_I)로 리프레쉬 리드 커맨드(RRD CMD)를 발행하고, 불휘발성 메모리 장치(120)는 리프레쉬 리드 커맨드(RRD CMD)에 응답하여 메모리 블록 그룹별(BLK1-BLK2, BLK3-BLK4, … , BLKn-1-BLKn)로 리프레쉬 리드 동작을 수행할 수 있다.
도 22를 참조하면, 메모리 콘트롤러(110)는 불휘발성 메모리 장치(120)의 메모리 블록들(BLK1~BLKn)에 대하여 버스트 리프레쉬 리드 동작을 수행할 수 있다. 메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온 후, 리프레쉬 리드 커맨드(RRD CMD)를 발행하여 불휘발성 메모리 장치(120)의 인텐시브 리프레쉬 리드 동작을 제어한다.
메모리 콘트롤러(110)는 메모리 시스템(100) 또는 불휘발성 메모리 장치(120)의 파워 온 후, 소정의 리프레쉬 리드 인터벌(RRD_I)로 리프레쉬 리드 커맨드(RRD CMD)를 발행하고, 불휘발성 메모리 장치(120)는 리프레쉬 리드 커맨드(RRD CMD)에 응답하여 메모리 블록들(BLK1~BLKn)의 제1 절반에 대하여 연속적으로 리프레쉬 리드 동작을 수행하고, 리프레쉬 리드 주기(RP)의 절반(RP/2) 후 메모리 블록들(BLK1~BLKn)의 제2 절반에 대하여 연속적으로 리프레쉬 리드 동작을 수행할 수 있다.
도 23은 본 발명에 따른 리프레쉬 리드 동작을 수행하는 메모리 시스템이 적용된 SSD (Solid State Drive) 시스템을 예시적으로 보여주는 블록도이다.
도 23을 참조하면, SSD 시스템(2300)은 호스트(2100)와 SSD(2200)를 포함한다. SSD(2200)는 신호 커넥터(2001)를 통해 호스트(2100)와 신호(SIG)를 주고 받고, 전원 커넥터(2002)를 통해 전원(PWR)을 입력받는다. SSD(2200)는 SSD 콘트롤러(2210), 복수의 플래시 메모리들(2221~222n), 보조 전원 장치(2230) 그리고 버퍼 메모리(2240)를 포함한다.
SSD 콘트롤러(2210)는 호스트(2100)로부터 수신된 신호(SIG)에 응답하여 복수의 플래시 메모리들(2221~222n)을 제어할 수 있다. 예시적으로, SSD 콘트롤러(2210) 및 플래시 메모리들(2221~222n)은 도 1 내지 도 22를 참조하여 설명된 메모리 콘트롤러와 불휘발성 메모리 장치를 포함할 수 있다.
SSD 콘트롤러(2210)는 리프레쉬 리드 제어부(2212)와 SSD(2200)의 온도 정보를 제공하는 온도 센서(2214)를 포함할 수 있다. 리프레쉬 리드 제어부(2212)는 플래시 메모리들(2221~222n)에 포함되는 복수의 메모리 블록들 각각에서, 해당 메모리 블록의 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작이 수행되도록 제어할 수 있다.
리프레쉬 리드 제어부(2212)는 플래시 메모리들(2221~222n)에 포함되는 메모리 블록들 모두에 대하여 한 번에 연속적으로 리프레쉬 리드 동작이 수행되도록 하는 인텐시브 리프레쉬 리드 동작을 제어할 수 있다. 리프레쉬 리드 제어부(2212)는 리프레쉬 리드 인터벌 마다 플래시 메모리들(2221~222n)에 포함되는 메모리 블록들이 순차적으로 리프레쉬 리드 동작을 수행하도록 하는 레귤러 리프레쉬 리드 동작을 제어할 수 있다.
리프레쉬 리드 제어부(2212)는 온도 센서(2214)의 온도 정보에 따라 레귤러 리프레쉬 리드 동작의 리프레쉬 리드 인터벌을 가변시킬 수 있다. 또는, 리프레쉬 리드 제어부(2212)는 플래시 메모리들(2221~222n)에 포함되는 메모리 블록들의 전체 가용량, 유효 데이터량, 데이터 분포 상태 또는 프로그램 및 삭제(P/E) 동작에 따른 마모도에 따라 리프레쉬 리드 인터벌을 가변시킬 수 있다.
보조 전원 장치(2230)는 전원 커넥터(2002)를 통해 호스트(2100)와 연결된다. 보조 전원 장치(2230)는 호스트(2100)로부터 전원(PWR)을 입력 받고, 충전할 수 있다. 보조 전원 장치(2230)는 호스트(2100)로부터의 전원 공급이 원활하지 않을 경우, SSD 시스템(2300)의 전원을 제공할 수 있다. 예시적으로, 보조 전원 장치(2230)는 SSD(2200) 내부에 위치할 수도 있고, SSD(2200) 외부에 위치할 수도 있다. 예를 들면, 보조 전원 장치(2230)는 SSD 시스템(2300)의 메인 보드에 위치하며 SSD(2200)에 보조 전원을 제공할 수 있다.
SSD(2200)는 서든 파워 오프시 보조 전원 장치(2230)에 충전된 전원을 이용하여 플래시 메모리들(2221~222n)의 리프레쉬 리드 동작을 수행할 수 있다.
버퍼 메모리(2240)는 SSD(2200)의 버퍼 메모리로 동작한다. 예를 들어, 버퍼 메모리(2240)는 호스트(2100)로부터 수신된 데이터 또는 복수의 플래시 메모리들(2221~222n)로부터 수신된 데이터를 임시 저장하거나, 소프트웨어 계층으로 구현된 리프레쉬 리드 제어부(2214)를 임시 저장할 수 있다. 예시적으로, 리프레쉬 리드 제어부(111)는 펌웨어로 구현되고, 플래시 메모리(2221~222n)의 일부에 저장될 수 있다.
도 24는 본 발명에 따른 리프레쉬 리드 동작을 수행하는 메모리 시스템이 적용된 UFS(Universal Flash Storage) 시스템을 예시적으로 보여주는 블록도이다.
도 24를 참조하면, UFS 시스템(2400)은 UFS 호스트(2410)와 UFS 장치(2420)를 포함한다. UFS 호스트(2410)와 UFS 장치(2420)는 UFS 인터페이스(2430)를 통해 연결될 수 있다. UFS 시스템(2400)은 불휘발성 메모리 장치인 플래쉬 메모리를 기반으로 하고, 스마트 폰과 같은 모바일 장치에 주로 사용될 수 있다.
UFS 호스트(2410)는 어플리케이션(2412), 장치 드라이버(2414), 호스트 콘트롤러(2416), 그리고 호스트 인터페이스(2418)를 포함할 수 있다. 어플리케이션(2412)은 UFS 호스트(2410)에서 실행되는 다양한 응용 프로그램들이다. 장치 드라이버(2414)는 UFS 호스트(2410)에 연결되어 사용되는 주변 장치들을 구동하기 위한 것으로, UFS 장치(2420)를 구동할 수 있다. 어플리케이션(2412)과 장치 드라이버(2414)는 소프트웨어 또는 펌웨어 등을 통해 구현될 수 있다.
호스트 콘트롤러(2416)는 어플리케이션(2412)과 장치 드라이버(2414)의 요청에 따라 UFS 장치(2420)로 제공될 프로토콜 또는 명령으로 생성하고, 생성된 명령을 호스트 인터페이스(2418)를 통해 UFS 장치(2420)로 제공할 수 있다. 호스트 콘트롤러(2416)는 장치 드라이버(2414)로부터 쓰기 요청을 받으면 호스트 인터페이스(2418)를 통해 UFS 장치(2420)로 쓰기 명령과 데이터를 제공하고, 읽기 요청을 받으면 호스트 인터페이스(2418)를 통해 UFS 장치(2420)로 읽기 명령을 제공하고 UFS 장치(2420)로부터 데이터를 입력받는다.
UFS 장치(2420)는 장치 인터페이스(2421)를 통하여 UFS 호스트(2410)와 연결될 수 있다. 호스트 인터페이스(2418)와 장치 인터페이스(2421)는 데이터나 신호를 주고 받기 위한 데이터 라인과 전원을 제공하기 위한 전원 라인을 통하여 연결될 수 있다.
UFS 장치(2420)는 장치 콘트롤러(2422), 버퍼 메모리(2424), 그리고 불휘발성 메모리 장치(2426)를 포함할 수 있다. 장치 콘트롤러(2422)는 불휘발성 메모리 장치(2426)의 쓰기, 읽기, 소거 등과 같은 전반적인 동작을 제어할 수 있다. 장치 콘트롤러(2422)는 어드레스와 데이터 버스를 통하여 버퍼 메모리(2424) 또는 불휘발성 메모리 장치(2426)와 데이터를 주고 받을 수 있다. 장치 콘트롤러(2422)는 중앙 처리 장치(CPU), 장치 DMA(Direct Memory Access), 플래쉬 DMA, 명령 관리자, 버퍼 관리자, 플래쉬 변환 계층(Flash Translation Layer: FTL), 플래쉬 관리자 등을 포함할 수 있다.
UFS 장치(2420)는 UFS 호스트(2410)로부터 수신된 명령을 장치 인터페이스(2421)를 통하여 장치 DMA와 명령 관리자로 제공하고, 명령 관리자는 버퍼 관리자를 통해 데이터를 입력 받을 수 있도록 버퍼 메모리(2424)를 할당하고 데이터 전송 준비가 완료되면 UFS 호스트(2410)로 응답 신호를 보낼 수 있다.
UFS 호스트(2410)는 응답 신호에 대응하여 데이터를 UFS 장치(2420)로 전송할 수 있다. UFS 장치(2420)는 전송된 데이터를 장치 DMA와 버퍼 관리자를 통해 버퍼 메모리(2424)에 저장할 수 있다. 버퍼 메모리(2424)에 저장된 데이터는 플래쉬 DMA를 통해 플래쉬 관리자로 제공되고, 플래쉬 관리자는 플래쉬 변환 계층(FTL)의 어드레스 맵핑 정보를 참조하여 불휘발성 메모리 장치(2426)의 선택된 주소에 데이터를 저장할 수 있다.
UFS 장치(2420)는 UFS 호스트(2410)의 명령에 필요한 데이터 전송과 프로그램이 완료되면, 장치 인터페이스(2421)를 통해 UFS 호스트(2410)로 응답 신호를 보내고 명령 완료를 알릴 수 있다. UFS 호스트(2410)는 응답 신호를 전달받은 명령에 대한 완료 여부를 장치 드라이버(2414)와 어플리케이션(2412)에 알려주고, 해당 명령을 종료할 수 있다.
UFS 시스템(2400) 내 장치 콘트롤러(2422)와 불휘발성 메모리 장치(2326)은 도 1 내지 도 22를 참조하여 설명된 메모리 콘트롤러와 불휘발성 메모리 장치를 포함할 수 있다. 장치 콘트롤러(2422)는 리프레쉬 리드 제어부(2423)를 포함할 수 있다. 리프레쉬 리드 제어부(2423)는 불휘발성 메모리 장치(2326)에 포함되는 복수의 메모리 블록들 각각에서, 해당 메모리 블록의 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작이 수행되도록 제어할 수 있다.
리프레쉬 리드 제어부(2423)는 불휘발성 메모리 장치(2326)에 포함되는 메모리 블록들 모두에 대하여 한 번에 연속적으로 리프레쉬 리드 동작이 수행되도록 하는 인텐시브 리프레쉬 리드 동작을 제어할 수 있다. 리프레쉬 리드 제어부(2423)는 리프레쉬 리드 인터벌 마다 불휘발성 메모리 장치(2326)에 포함되는 메모리 블록들이 순차적으로 리프레쉬 리드 동작을 수행하도록 하는 레귤러 리프레쉬 리드 동작을 제어할 수 있다.
도 25는 도 24의 UFS 인터페이스를 설명하는 도면이다.
도 25를 참조하면, UFS 인터페이스(2430)는 SATA(Serial Advanced Technology Attachment) 인터페이스를 이용한다. SATA 인터페이스는 기능에 따라, 물리 레이어(physical layer), 링크 레이어(link layer) 그리고 트랜스포트 레이어(transport layer)로 크게 나뉘어진다.
링크 레이어와 트랜스포트 레이어는 데이터를 송신하기 위한 정보 데이터를 패킷화하여 물리 레이어로 전달한다. 또한, 링크 레이어와 트랜스포트 레이어는 물리 레이어로부터 전달된 신호에서 정보 데이터를 추출하여, 상위 레이어인 어플리케이션 레이어(application layer)에 전달한다. 물리 레이어는 링크 레이어로부터 전달된 패킷 데이터를 전기적인 신호로 변환하여 고속으로 외부로 송신한다. 또한, 물리 레이어는 외부로부터 수신된 신호를 링크 레이어로 전달한다. 이러한 동작을 위하여, 물리 레이어는 아날로그 회로들로 구성되고, 링크 레이어 및 트랜스포트 레이어는 디지털 회로들로 구성된다.
SATA 인터페이스의 물리 레이어, 즉, 아날로그 회로는 아날로그 프론트 엔드(analog front end)로 구분될 수 있다. SATA 인터페이스의 아날로그 프론트 엔드는 아날로그 신호를 디지털 신호로 또는 디지털 신호를 아날로그 신호로 변환하기 위한 물리 블록들로 구성될 수 있다.
도 25에서, 호스트 측 SATA 인터페이스(2418)는 송신기(2511)와 수신기(2514)를 포함하고, UFS 장치 측 SATA 인터페이스(2421)는 수신기(2512)와 송신기(2513)를 포함한다. 송신기들(2511, 2513)과 수신기들(2512, 2514)은 SATA 인터페이스의 물리 레이어에 해당한다. 호스트 측 SATA 인터페이스(2418)의 송신부(2511)는 UFS 장치 측 SATA 인터페이스(2421)의 수신부(2512)와 서로 연결되고, UFS 장치 측 SATA 인터페이스(2421)의 송신부(2513)는 호스트 측 SATA 인터페이스(2418)의 수신부(2514)와 서로 연결된다. 호스트 측 SATA 인터페이스(2418)와 UFS 장치 측 SATA 인터페이스(2421)는 차동 신호(Tx+와 Tx-, 또는 Rx+와 Rx-)를 전송하기 위한 2쌍의 단방향 데이터 라인들로 구성되는 SATA 케이블로 서로 연결된다.
도 26은 SATA 인터페이스의 차동 신호 전송 방법을 설명하는 도면이다.
도 26을 참조하면, SATA 인터페이스에서, 데이터 전송은 데이터 라인들을 통해 전송되는 두 신호(Rx+와 Rx-, 또는 Tx+와 Tx-)의 차로 데이터 값을 표현한다. 데이터를 전송하지 않는 구간에서는 두 신호 모두 중간 로직 상태 또는 플로팅 상태를 유지할 수 있다. 예를 들어, 데이터를 전송하지 않는 구간에서 두 신호 모두는 커먼 모드(common mode) 전압 레벨을 가질 수 있다.
도 27은 SATA 인터페이스의 전원 관리 방법을 보여주는 도면이다.
도 24 및 도 27을 참조하면, SATA 인터페이스의 프로토콜은 액티브 모드로 동작하기 위한 물리 레이어 레디 상태(physical layer ready state, 이하 `파이 레디(PHYRDY) 상태`라 칭함)를 정의한다. 또한, SATA 인터페이스의 프로토콜은 절전 모드로 동작하기 위한 파샬(Partial) 상태와 슬럼버(Slumber) 상태를 정의한다. 파이 레디(PHYRDY) 상태, 파샬(Partial) 상태, 그리고 슬럼버(Slumber) 상태는 SATA 사양서(Specification)에 정의된 전원 상태이다.
파이 레디(PHYRDY) 상태는 물리 레이어의 모든 물리 블록들이 활성화된 상태를 의미한다. 파샬(Partial) 상태와 슬럼버(Slumber) 상태는 SATA 인터페이스가 실질적으로 동작하지 않는 절전 상태를 의미한다. 즉, 파샬(Partial) 상태와 슬럼버(Slumber) 상태는 물리 레이어의 일부 물리 블록들에 전원이 공급되지 않는 상태를 의미한다.
파샬(Partial) 상태와 슬럼버(Slumber) 상태는 해당 모드로부터 파이 레디(PHYRDY) 상태로 복귀하는 웨이크-업(wake-up) 시간과 전력 소모의 차이로 구분할 수 있다. 파샬(Partial) 상태는 데이터 송수신에 관련되는 물리 블록에 전원이 공급되지 않고, 슬럼버(Slumber) 상태는 스켈치 회로를 제외한 모든 물리 블록들에 전원이 공급되지 않는다. 이에 따라, 파샬(Partial) 상태는 슬럼버(Slumber) 상태보다 파이 레디(PHYRDY) 상태로 복귀하는 웨이크-업(wake-up) 시간이 빠르다. 그리고, 슬럼버(Slumber) 상태는 파샬(Partial) 상태보다 전력 소모가 작다.
SATA 인터페이스(2430)는 전원을 관리하기 위한 방법으로, 아이피엠(IPM: Initiate Power Management: 이하 `IPM` 이라 칭함) 기능을 지원한다. IPM 기능은 HIPM(Host Initiate Power Management)과 DIPM(Device Initiate Power Management)으로 나뉜다. HIPM은 호스트측 SATA 인터페이스(2418)가 요청하여 호스트측 SATA 인터페이스(2418)와 장치측 SATA 인터페이스(2421)의 전원 상태가 변경되는 경우를 말한다. DIPM은 장치측 SATA 인터페이스(2421)가 요청하여 호스트측 SATA 인터페이스(2418)와 장치측 SATA 인터페이스(2421)의 전원 상태가 변경되는 경우를 말한다.
HIPM을 이용하여, 절전 모드로 동작하기를 원하는 호스트측 SATA 인터페이스(2418)는 절전 모드 요청 신호를 장치측 SATA 인터페이스(2421)로 전송한다. 절전 모드 요청 신호를 수신한 장치측 SATA 인터페이스(2421)는 절전 모드 진입이 가능한 경우 응답 신호를 호스트측 SATA 인터페이스(2418)로 전송한다. 이러한 과정을 통해서, 호스트측 SATA 인터페이스(2418)와 장치측 SATA 인터페이스(2421)는 절전 모드로 동작한다. 즉, 호스트측 SATA 인터페이스(2418)와 장치측 SATA 인터페이스(2421)는 파샬(Partial) 상태와 슬럼버(Slumber) 상태 중 어느 하나의 상태를 유지한다.
절전 모드로 동작 중에, 액티브 모드로 동작하기를 원하는 호스트측 SATA 인터페이스(2418)는 절전 모드를 빠져나오기 위한 요청 신호를 전송하고 SATA 인터페이스(2430) 간의 통신 링크를 형성하기 위한 OOB (Out Of Band) 시그널링을 수행할 수 있다. OOB 시그널링은 파워 온 시퀀스(power on sequence) 동작에서도 수행될 수 있다. 이러한 과정을 통해서, 호스트측 SATA 인터페이스(2418)와 장치측 SATA 인터페이스(2421)는 액티브 모드로 동작한다.
도 28은 도 24의 UFS 장치의 절전 모드에서 수행되는 인텐시브 리프레쉬 리드 동작을 설명하는 도면이다.
도 24, 도 27 및 도 28을 참조하면, 호스트측 SATA 인터페이스(2418)와 장치측 SATA 인터페이스(2421)는 커맨드가 전송되지 않는 아이들 구간을 검출할 수 있다. 커맨드 아이들 구간이 소정의 설정 시간, 예컨대 60ms 이상이 되면, 호스트측 SATA 인터페이스(2418)는 장치측 SATA 인터페이스(2421)에게 절전 모드, 예컨대 슬럼버(Slumber) 상태로 동작하기를 요청하는 신호(PMREQ)를 전송할 수 있다.
호스트측 SATA 인터페이스(2418)에서 절전 모드 요청 신호(PMREQ)를 장치측 SATA 인터페이스(2421)로 전송하면, 절전 모드 요청 신호(PMREQ)를 수신한 장치측 SATA 인터페이스(2421)는 절전 모드 진입이 가능한 경우 응답 신호(PMACK)를 호스트측 SATA 인터페이스(2418)로 전송할 것이다. UFS 장치(2420)는 슬럼버(Slumber) 상태로의 절전 모드 요청 신호(PMREQ)에 응답하여 불휘발성 메모리 장치(2426)의 인텐시브 리프레쉬 리드 동작을 수행한다. 장치측 SATA 인터페이스(2421)는 불휘발성 메모리 장치(2426)의 인텐시브 리프레쉬 리드 동작이 완료되면, 절전 모드로 진입 가능하다는 응답 신호(PMACK)를 호스트측 SATA 인터페이스(2418)로 전송한다.
예시적으로, 장치측 SATA 인터페이스(2421)는 불휘발성 메모리 장치(2426)의 인텐시브 리프레쉬 리드 동작이 시작될 때 호스트측 SATA 인터페이스(2418)로 웨이트 신호(WAIT)를 전송할 수 있다. 웨이트 신호(WAIT)는 호스트측 SATA 인터페이스(2418)에게 UFS 장치(2420)의 인텐시브 리프레쉬 리드 동작이 우선적으로 수행될 것임을 알려준다.
도 29는 도 24의 UFS 시스템에서 수행되는 리프레쉬 리드 동작이 수행되는 과정을 설명하는 도면이다.
도 24 및 도 29를 참조하면, UFS 시스템(2400)의 파워 온 시, UFS 장치(2420)는 불휘발성 메모리 장치(2426)의 모든 메모리 블록들이 한번에 연속적으로 리프레쉬 리드되는 인텐시브 리프레쉬 리드 동작을 수행한다.
UFS 장치(2420)는 파워 온 후 소정의 리프레쉬 리드 인터벌(RRD_I) 마다 불휘발성 메모리 장치(2426)의 메모리 블록이 순차적으로 리프레쉬 리드되는 레귤러 리프레쉬 리드 동작을 수행한다.
UFS 장치(2420)는 호스트(2410)의 절전 모드 요청에 따른 슬럼버(Slumber) 상태로의 절전 모드 요청 신호(PMREQ)에 응답하여 불휘발성 메모리 장치(2426)의 모든 메모리 블록들이 한번에 연속적으로 리프레쉬 리드되는 인텐시브 리프레쉬 리드 동작을 수행한다. UFS 장치(2420)는 불휘발성 메모리 장치(2426)의 인텐시브 리프레쉬 리드 동작이 완료되면, 절전 모드로 진입 가능하다는 응답 신호(PMACK)를 호스트(2410)로 전송한다. 이 후, UFS 장치(2420)는 구성 블록들에 전원이 공급되지 않는 디바이스 슬립(sleep) 상태로 빠져 전력 소모가 줄어든다.
UFS 시스템(2400)의 파워 오프 시, UFS 장치(2420)는 불휘발성 메모리 장치(2426)의 모든 메모리 블록들이 한번에 연속적으로 리프레쉬 리드되는 인텐시브 리프레쉬 리드 동작을 수행한다. 예를 들어, 서든 파워 오프시, UFS 장치(2420)는 UFS 장치(2420)의 보조 전원부에 충전된 보조 전원을 이용하여 인텐시브 리프레쉬 리드 동작을 수행할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다. 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 당업자라면 쉽게 구현할 수 있을 것이다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (20)

  1. 복수의 메모리 셀들을 포함하는 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 워드라인들에 연결되는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법에 있어서,
    상기 불휘발성 메모리 장치의 파워 업을 감지하여 리프레쉬 리드 커맨드를 발행하는 단계; 및
    상기 리프레쉬 리드 커맨드를 수신하는 상기 불휘발성 메모리 장치의 상기 메모리 블록 각각에서, 상기 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계를 포함하는 동작 방법.
  2. 제1항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 메모리 블록들 모두에 대하여 한 번에 연속적으로 상기 리프레쉬 리드 동작이 수행되는 것을 특징으로 하는 동작 방법.
  3. 제1항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 불휘발성 메모리 장치로 어드레스 신호를 제공하는 단계를 더 포함하고,
    상기 리프레쉬 리드 동작에서, 상기 메모리 블록들 각각의 상기 읽기 동작이 수행되는 워드라인은 상기 어드레스 신호에 의해 동일하거나 서로 다른 것을 특징으로 하는 동작 방법.
  4. 제1항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 불휘발성 메모리 장치로 어드레스 신호를 제공하는 단계를 더 포함하고,
    상기 리프레쉬 리드 동작에서, 상기 메모리 블록들을 소정의 그룹들로 나누어, 상기 그룹별로 상기 읽기 동작이 수행되는 워드라인은 상기 어드레스 신호에 의해 서로 다른 것을 특징으로 하는 동작 방법.
  5. 제1항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 리프레쉬 리드 동작에서, 상기 복수의 워드라인들 중 하나에 인가되는 선택 읽기 전압은, 상기 메모리 셀들의 데이터를 판별하는데 이용되는 다수의 선택 읽기 전압들 중에서 선택적으로 인가되는 것을 특징으로 하는 동작 방법.
  6. 복수의 메모리 셀들을 포함하는 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 워드라인들에 연결되는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법에 있어서,
    상기 불휘발성 메모리 장치의 파워 다운을 감지하여 리프레쉬 리드 커맨드를 발행하는 단계; 및
    상기 리프레쉬 리드 커맨드를 수신하는 상기 불휘발성 메모리 장치의 상기 메모리 블록 각각에서, 상기 복수의 워드라인들 중 하나에 대하여 읽기 동작을 수행하는 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계를 포함하는 메모리 콘트롤러의 동작 방법.
  7. 제6항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    시스템 종료 커맨드에 따른 상기 파워 다운시, 상기 메모리 블록들 모두에 대하여 상기 리프레쉬 리드 동작이 한 번에 연속적으로 수행되는 것을 특징으로 하는 동작 방법.
  8. 제6항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    서든 파워 오프에 따른 상기 파워 다운시, 상기 메모리 블록들 모두에 대하여 한 번에 연속적으로 상기 리프레쉬 리드 동작이 수행되는 것을 특징으로 하는 동작 방법.
  9. 제8항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 서든 파워 오프 직전에 동작되었던 메모리 블록부터 시작하여 상기 메모리 블록들 모두에 대하여 상기 리프레쉬 리드 동작이 수행되는 것을 특징으로 하는 동작 방법.
  10. 제8항에 있어서,
    상기 메모리 블록 각각에서 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 불휘발성 메모리 장치에 연결되는 보조 전원부를 이용하여 상기 리프레쉬 리드 동작이 수행되는 것을 특징으로 하는 동작 방법.
  11. 복수의 메모리 셀들을 포함하는 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 워드라인들에 연결되는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법에 있어서,
    상기 불휘발성 메모리 장치의 파워 온 후, 리프레쉬 리드 인터벌 마다 리프레쉬 리드 커맨드를 발행하는 단계; 및
    상기 리프레쉬 리드 커맨드를 수신하는 상기 불휘발성 메모리 장치에서, 상기 리프레쉬 리드 인터벌 마다 상기 메모리 블록들이 순차적으로 리프레쉬 리드 동작을 수행하고, 해당 메모리 블록마다 상기 복수의 워드라인들 중 하나에 대하여 읽기 동작을 수행하는 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계를 포함하는 메모리 콘트롤러의 동작 방법.
  12. 제11항에 있어서,
    상기 해당 메모리 블록마다 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 불휘발성 메모리 장치의 온도, 메모리 블록들의 전체 가용량, 유효 데이터량, 데이터 분포 상태 또는 프로그램 및 삭제(P/E) 동작에 따른 마모도에 따라 상기 리프레쉬 리드 인터벌이 가변되는 것을 특징으로 하는 동작 방법.
  13. 제11항에 있어서,
    상기 해당 메모리 블록마다 상기 리프레쉬 리드 동작이 1회 수행되도록 제어하는 단계는,
    상기 리프레쉬 리드 동작이 상기 메모리 블록들의 제1 절반에 대하여 연속적으로 수행되고, 상기 리프레쉬 리드 인터벌 후 상기 메모리 블록들의 제2 절반에 대하여 연속적으로 수행되는 것을 특징으로 하는 동작 방법.
  14. 복수의 메모리 셀들을 포함하는 메모리 블록들을 포함하고, 각 메모리 블록은 복수의 워드라인들에 연결되는 메모리 셀 어레이;
    리프레쉬 리드 커맨드에 응답하여, 상기 메모리 블록 각각에 대하여 상기 복수의 워드라인들 중 하나를 선택하고 선택된 워드라인에 대한 읽기 동작이 포함된 리프레쉬 리드 동작을 1회 수행하는 제어 로직부; 및
    상기 메모리 블록들의 비트라인들과 연결되고, 상기 비트라인들의 전압 레벨을 판별하고 저장하는 페이지 버퍼를 포함하는 불휘발성 메모리 장치.
  15. 제14항에 있어서,
    상기 제어 로직부는 상기 불휘발성 메모리 장치의 파워 업시 또는 파워 다운시 상기 리프레쉬 리드 커맨드를 수신하는 것을 특징으로 하는 불휘발성 메모리 장치.
  16. 제14항에 있어서,
    상기 제어 로직부는 상기 리프레쉬 리드 동작에서, 상기 메모리 블록들 각각의 상기 읽기 동작이 수행되는 해당 메모리 블록의 상기 비트라인들이 상기 페이지 버퍼와 연결되지 않도록 제어하는 것을 특징으로 하는 불휘발성 메모리 장치.
  17. 제14항에 있어서,
    상기 제어 로직부는 리프레쉬 리드 인터벌마다 상기 메모리 블록들이 순차적으로 상기 리프레쉬 리드 동작을 수행하도록 제어하는 것을 포함하는 불휘발성 메모리 장치.
  18. 사타(SATA: Serial AT Attachment) 방식의 인터페이스를 지원하는 데이터 저장 장치의 동작 방법에 있어서,
    호스트로부터 절전 모드 요청 신호를 수신하는 단계;
    상기 절전 모드 요청 신호에 응답하여, 상기 데이터 저장 장치의 메모리 블록들 각각은 해당 메모리 블록에 연결되는 복수의 워드라인들 중 하나에 대하여 읽기 동작을 포함하는 리프레쉬 리드 동작을 상기 메모리 블록들 모두에 대하여 한 번에 연속적으로 수행하는 단계; 및
    상기 리프레쉬 리드 동작 후, 절전 모드로 진입 가능하다는 응답 신호를 상기 호스트로 전송하는 단계를 포함하는 동작 방법.
  19. 제18항에 있어서,
    상기 데이터 저장 장치는 플래쉬 메모리를 기반으로 하는 UFS(Universal Flash Storage)이고, 상기 절전 모드 요청 신호는 슬럼버(Slumber) 상태로의 진입을 요청하는 것을 특징으로 하는 동작 방법.
  20. 제18항에 있어서,
    상기 데이터 저장 장치의 동작 방법은,
    상기 리프레쉬 리드 동작이 시작될 때 상기 리프레쉬 리드 동작이 우선적으로 수행됨을 알리는 웨이트 신호를 상기 호스트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 동작 방법.
KR1020160061431A 2016-05-19 2016-05-19 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법 Active KR102644275B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160061431A KR102644275B1 (ko) 2016-05-19 2016-05-19 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법
US15/351,576 US9984757B2 (en) 2016-05-19 2016-11-15 Operating method of memory controller controlling non-volatile memory device performing refresh read operation
CN201710201596.5A CN107403639B (zh) 2016-05-19 2017-03-30 存储器控制器的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160061431A KR102644275B1 (ko) 2016-05-19 2016-05-19 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법

Publications (2)

Publication Number Publication Date
KR20170130788A KR20170130788A (ko) 2017-11-29
KR102644275B1 true KR102644275B1 (ko) 2024-03-06

Family

ID=60330383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160061431A Active KR102644275B1 (ko) 2016-05-19 2016-05-19 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법

Country Status (3)

Country Link
US (1) US9984757B2 (ko)
KR (1) KR102644275B1 (ko)
CN (1) CN107403639B (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11955187B2 (en) * 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US10289341B2 (en) * 2017-06-30 2019-05-14 Western Digital Technologies, Inc. Operating parameter offsets in solid state memory devices
US10425260B2 (en) * 2017-08-07 2019-09-24 Micron Technology, Inc. Multi-level signaling in memory with wide system interface
US10530617B2 (en) 2017-08-07 2020-01-07 Micron Technology, Inc. Programmable channel equalization for multi-level signaling
US10403337B2 (en) 2017-08-07 2019-09-03 Micron Technology, Inc. Output driver for multi-level signaling
US10447512B2 (en) 2017-08-07 2019-10-15 Micron Technology, Inc. Channel equalization for multi-level signaling
US10277435B2 (en) 2017-08-07 2019-04-30 Micron Technology, Inc. Method to vertically align multi-level cells
KR102244921B1 (ko) * 2017-09-07 2021-04-27 삼성전자주식회사 저장 장치 및 그 리프레쉬 방법
JP6837419B2 (ja) * 2017-12-05 2021-03-03 ルネサスエレクトロニクス株式会社 半導体記憶装置、及び半導体記憶装置のリフレッシュ方法
CN109901785B (zh) * 2017-12-08 2022-04-05 华为云计算技术有限公司 命令排序方法、降低读时延方法及固态硬盘ssd控制器
KR102518370B1 (ko) * 2018-01-19 2023-04-05 삼성전자주식회사 저장 장치 및 이의 디버깅 시스템
KR20190106008A (ko) * 2018-03-07 2019-09-18 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작 방법 및 전자 장치
KR20190108788A (ko) * 2018-03-15 2019-09-25 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10128842B1 (en) 2018-03-23 2018-11-13 Micron Technology, Inc. Output impedance calibration for signaling
CN110838314A (zh) * 2018-08-17 2020-02-25 北京兆易创新科技股份有限公司 一种存储数据的加固方法及装置
KR102617411B1 (ko) * 2018-08-31 2023-12-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102645740B1 (ko) * 2018-10-30 2024-03-11 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102211122B1 (ko) * 2018-12-20 2021-02-02 삼성전자주식회사 스토리지 장치 및 스토리지 시스템
KR102683296B1 (ko) * 2019-05-17 2024-07-10 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
KR102629487B1 (ko) * 2019-05-28 2024-01-26 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11153231B2 (en) * 2019-07-19 2021-10-19 Arm Limited Apparatus and method for processing flush requests within a packet network
KR20210110071A (ko) * 2020-02-28 2021-09-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US11404127B1 (en) 2021-02-11 2022-08-02 Sandisk Technologies Llc Read refresh to improve power on data retention for a non-volatile memory
US12205627B2 (en) * 2021-08-04 2025-01-21 Micron Technology, Inc. Interface for refreshing non-volatile memory
US11687260B2 (en) 2021-08-10 2023-06-27 Micron Technology, Inc. Pre-shutdown media management operation for vehicle memory sub-system
CN114036096B (zh) * 2021-11-04 2024-05-03 珠海一微半导体股份有限公司 一种基于总线接口的读控制器
KR20230072336A (ko) 2021-11-17 2023-05-24 에스케이하이닉스 주식회사 반도체장치
US11797215B2 (en) 2021-12-09 2023-10-24 SK Hynix Inc. Memory device and memory system performing error check and scrub operation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100524059B1 (ko) 1998-10-01 2005-12-21 삼성전자주식회사 컴퓨터의 에스.티.알. 기능 지원장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5777923A (en) * 1996-06-17 1998-07-07 Aplus Integrated Circuits, Inc. Flash memory read/write controller
US7447096B2 (en) 2006-05-05 2008-11-04 Honeywell International Inc. Method for refreshing a non-volatile memory
US8938655B2 (en) 2007-12-20 2015-01-20 Spansion Llc Extending flash memory data retension via rewrite refresh
US8281061B2 (en) 2008-03-31 2012-10-02 Micron Technology, Inc. Data conditioning to improve flash memory reliability
US8243525B1 (en) * 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
US8443221B2 (en) 2011-03-04 2013-05-14 Sandisk Technologies Inc. Methods, systems, and computer readable media for advanced power management for serial advanced technology attachment (SATA)-based storage devices
KR101736457B1 (ko) * 2011-07-12 2017-05-17 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치의 소거 방법, 불휘발성 메모리 장치의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 시스템, 메모리 시스템의 동작 방법, 불휘발성 메모리 장치를 포함하는 메모리 카드 및 솔리드 스테이트 드라이브
US8972652B2 (en) 2012-11-19 2015-03-03 Spansion Llc Data refresh in non-volatile memory
US9627085B2 (en) 2012-11-29 2017-04-18 Silicon Motion Inc. Refresh method for flash memory and related memory controller thereof
KR102068342B1 (ko) * 2013-03-07 2020-01-20 삼성전자주식회사 메모리 제어기 및 그것을 포함하는 메모리 시스템
US9342401B2 (en) 2013-09-16 2016-05-17 Sandisk Technologies Inc. Selective in-situ retouching of data in nonvolatile memory
KR102110767B1 (ko) 2013-12-24 2020-06-09 삼성전자 주식회사 메모리 컨트롤러 구동방법 및 메모리 컨트롤러

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100524059B1 (ko) 1998-10-01 2005-12-21 삼성전자주식회사 컴퓨터의 에스.티.알. 기능 지원장치

Also Published As

Publication number Publication date
US9984757B2 (en) 2018-05-29
US20170337979A1 (en) 2017-11-23
KR20170130788A (ko) 2017-11-29
CN107403639B (zh) 2020-12-11
CN107403639A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
KR102644275B1 (ko) 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법
US9659658B2 (en) Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
CN107240418B (zh) 存储器系统及其操作方法
US9256530B2 (en) Nonvolatile memory device and sub-block managing method thereof
KR102139323B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
KR102782973B1 (ko) 스토리지 컨트롤러 및 이를 포함하는 스토리지 장치
KR102235516B1 (ko) 이레이즈 컨트롤 유닛을 포함하는 메모리 시스템 및 동작 방법
CN113994432A (zh) 快闪存储器块报废策略
US11688473B2 (en) SLC page read
KR102714985B1 (ko) 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템
KR102345597B1 (ko) 더미 워드 라인을 갖는 3차원 플래시 메모리 장치
CN107102815B (zh) 存储器系统及其操作方法
KR20120130588A (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
KR20180059208A (ko) 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법
US9589640B2 (en) Data storage device including nonvolatile memory device and operating method thereof
TWI699770B (zh) 記憶體系統及其操作方法
US11086540B2 (en) Memory system, memory controller and memory device for configuring super blocks
KR20150055445A (ko) 메모리 컨트롤러의 구동 방법 및 메모리 컨트롤러에 의해서 제어되는 비휘발성 메모리 장치
CN105551521A (zh) 存储系统及其操作方法
US20210004324A1 (en) Memory system, memory controller and operating method
US11656777B2 (en) Memory system and operating method thereof
CN107025177B (zh) 存储器系统及其操作方法
TW202324114A (zh) 記憶體系統和操作記憶體控制器的方法
US20240420794A1 (en) Non-volatile memory

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20160519

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20210423

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20160519

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230612

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20231204

PG1601 Publication of registration