KR20240082907A - 비휘발성 메모리 장치 및 스토리지 장치 - Google Patents

비휘발성 메모리 장치 및 스토리지 장치 Download PDF

Info

Publication number
KR20240082907A
KR20240082907A KR1020220167031A KR20220167031A KR20240082907A KR 20240082907 A KR20240082907 A KR 20240082907A KR 1020220167031 A KR1020220167031 A KR 1020220167031A KR 20220167031 A KR20220167031 A KR 20220167031A KR 20240082907 A KR20240082907 A KR 20240082907A
Authority
KR
South Korea
Prior art keywords
block
sub
erase
memory
erase mode
Prior art date
Application number
KR1020220167031A
Other languages
English (en)
Inventor
오은주
신범규
Original Assignee
삼성전자주식회사
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20240082907A publication Critical patent/KR20240082907A/ko

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/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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

Abstract

본 개시의 기술적 사상에 따른 스토리지 장치는 비휘발성 메모리 및 스토리지 컨트롤러를 포함하고, 비휘발성 메모리는 복수의 블록들을 포함하고 각 블록은 독립적으로 소거 가능한 복수의 서브 블록들을 포함한다. 스토리지 컨트롤러는 제1 서브 블록 소거 모드 및 제2 서브 블록 소거 모드를 포함하는 복수의 소거 모드들 중 소거 모드를 선택하고, 선택된 소거 모드에 따라 비휘발성 메모리에 대한 소거 동작을 제어한다. 스토리지 컨트롤러는 비휘발성 메모리의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 소거 모드를 선택하고, 제1 서브 블록 소거 모드에서, 복수의 블록들 중 선택 블록의 서브 블록들 중 하나의 선택 서브 블록에 대한 소거 동작을 제어하며, 제2 서브 블록 소거 모드에서, 선택 블록의 서브 블록들 중 둘 이상의 선택 서브 블록들에 대한 소거 동작을 제어한다.

Description

비휘발성 메모리 장치 및 스토리지 장치{Non-volatile memory device and Storage Device}
본 개시의 기술적 사상은 메모리 장치에 관한 것이며, 더욱 상세하게는, 서브 블록들을 포함하는 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 포함하는 스토리지 장치에 관한 것이다.
비휘발성 메모리 장치가 핸드폰과 같은 모바일 장치에 사용되는 경우 피크 파워(peak power) 이슈가 있고, 비휘발성 메모리 장치가 SSD(Solid State Drive)와 같은 스토리지 장치에 사용되는 경우 파워 스펙에 따른 최대 소비 전력이 감소되는 추세이다. 이해 반해, 모바일 장치 또는 스토리지 장치의 스루풋(throughput) 증가로 인해 비휘발성 메모리의 소비 전력은 증가하는 추세이다. 이에 따라, 전력 제한(constraint)을 만족하기 위하여 비휘발성 메모리에 대한 일부 동작이 디스에이블될 수 있고, 이로써, 스토리지 장치의 성능이 저하될 수 있다.
본 개시의 기술적 사상은 전력 소모량을 조절함과 동시에 성능을 향상시킬 수 있는 비휘발성 메모리 장치 및 스토리지 장치를 제공한다.
본 개시의 기술적 사상에 따른 스토리지 장치는 복수의 블록들을 포함하고 각 블록은 독립적으로 소거 가능한 복수의 서브 블록들을 포함하는, 비휘발성 메모리, 및 제1 서브 블록 소거 모드 및 제2 서브 블록 소거 모드를 포함하는 복수의 소거 모드들 중 소거 모드를 선택하고, 선택된 상기 소거 모드에 따라 상기 비휘발성 메모리에 대한 소거 동작을 제어하는 스토리지 컨트롤러를 포함하고, 상기 스토리지 컨트롤러는, 상기 비휘발성 메모리의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 상기 소거 모드를 선택하고, 상기 제1 서브 블록 소거 모드에서, 상기 복수의 블록들 중 선택 블록의 서브 블록들 중 하나의 선택 서브 블록에 대한 소거 동작을 제어하며, 상기 제2 서브 블록 소거 모드에서, 상기 선택 블록의 상기 서브 블록들 중 둘 이상의 선택 서브 블록들에 대한 소거 동작을 제어한다.
본 개시의 기술적 사상에 따른 스토리지 장치는 각각 복수의 블록들을 포함하고 각 블록은 독립적으로 소거 가능한 복수의 서브 블록들을 포함하는, 복수의 비휘발성 메모리들; 및 상기 복수의 비휘발성 메모리들의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 상기 복수의 비휘발성 메모리들에 각각 대응하는 소거 모드들을 선택하고, 선택된 상기 소거 모드들에 따라 상기 복수의 비휘발성 메모리들에 대한 소거 동작들을 각각 제어하는 스토리지 컨트롤러를 포함하고, 상기 스토리지 컨트롤러는, 상기 전력 소모량이 임계 값 이상이면, 상기 복수의 비휘발성 메모리들 중 적어도 하나의 소거 모드를 서브 블록 소거 모드로 결정하고, 상기 서브 블록 소거 모드에서, 상기 복수의 비휘발성 메모리들 중 상기 적어도 하나에 포함된 적어도 하나의 서브 블록에 대한 소거 동작을 제어한다.
본 개시의 기술적 사상에 따른 비휘발성 메모리는 본 개시의 기술적 사상에 따른 비휘발성 메모리는 복수의 블록들을 포함하고, 각 블록은 기판의 상부에서 수직 방향으로 적층된 메모리 스택들을 포함하는, 메모리 셀 어레이; 및 스토리지 컨트롤러로부터 수신한 커맨드를 기초로 복수의 소거 모드들 중 소거 모드를 선택하고, 선택된 상기 소거 모드에 따라 상기 메모리 셀 어레이에 대한 소거 동작을 제어하는 소거 모드 선택기를 포함하고, 상기 소거 모드가 블록 소거 모드이면, 상기 복수의 블록들 중 선택 블록에 대한 소거 동작을 수행하고, 상기 소거 모드가 제1 서브 블록 소거 모드이면, 상기 선택 블록의 메모리 스택들 중 하나의 메모리 스택에 대한 소거 동작을 수행하며, 상기 소거 모드가 제2 서브 블록 소거 모드이면, 상기 선택 블록의 상기 메모리 스택들 중 둘 이상의 메모리 스택들에 대한 소거 동작을 수행한다.
본 개시의 기술적 사상에 따르면, 전력 소모량 또는 동작 스케쥴을 기초로 비휘발성 메모리에 대한 소거 동작을 블록 단위 또는 서브 블록 단위로 수행함으로써, 저전력 모드에서 전력 스로틀링을 적용하여 스토리지 장치 또는 비휘발성 메모리 장치의 전력 소모량을 조절할 수 있다. 또한, 본 개시의 기술적 사상에 따르면, 저전력 모드에서 적어도 하나의 서브 블록에 대해 소거 동작을 수행함으로써 프리 블록을 확보하고, 확보된 프리 블록에 대해 프로그램 동작을 수행할 수 있고, 이로써, 스토리지 장치 또는 비휘발성 메모리 장치의 성능 저하를 방지할 수 있다.
도 1은 본 개시의 일 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 비휘발성 메모리를 나타내는 블록도이다.
도 3은 본 개시의 일 실시예에 따른 메모리 블록을 예시적으로 나타내는 회로도이다.
도 4a 및 도 4b는 본 개시의 일부 실시예들에 따른 메모리 블록을 각각 예시적으로 나타내는 사시도들이다.
도 5 내지 도 7은 본 개시의 일부 실시예들에 따른 비휘발성 메모리를 각각 개략적으로 나타낸다.
도 8은 본 개시의 일 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 9는 본 개시의 일 실시예에 따라 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 10a는 본 개시의 일 실시예에 따른 블록 소거 모드를 나타내고, 도 10b는 본 개시의 일 실시예에 따른 서브 블록 소거 모드를 나타낸다.
도 11은 본 개시의 일 실시예에 따라 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 12a는 본 개시의 일 실시예에 따른 제1 서브 블록 소거 모드를 나타내고, 도 12b는 본 개시의 일 실시예에 따른 제2 서브 블록 소거 모드를 나타낸다.
도 13은 본 개시의 일 실시예에 따라 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 14a는 본 개시의 일 실시예에 따른 제3 서브 블록 소거 모드를 나타내고, 도 14b는 본 개시의 일 실시예에 따른 제4 서브 블록 소거 모드를 나타낸다.
도 15는 본 개시의 일 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 16 및 도 17은 본 개시의 일부 실시예들에 따라 메모리 다이 별로 소거 모드를 제어하는 스토리지 장치를 각각 나타낸다.
도 18 및 도 19는 본 개시의 일부 실시예들에 따라 메모리 칩 별로 소거 모드를 제어하는 스토리지 장치를 각각 나타낸다.
도 20 및 도 21은 본 개시의 일부 실시예들에 따라 메모리 플레인 별로 소거 모드를 제어하는 스토리지 장치를 각각 나타낸다.
도 22는 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 23은 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 24는 본 개시의 일 실시예에 따른 스토리지 장치가 적용된 시스템을 나타낸다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 일 실시예에 따른 호스트-스토리지 시스템(SS)을 나타내는 블록도이다.
도 1을 참조하면, 호스트-스토리지 시스템(SS)은 스토리지 장치(10) 및 호스트(20)를 포함할 수 있고, 스토리지 장치(10)는 스토리지 컨트롤러(11) 및 비휘발성 메모리(NVM)(12)를 포함할 수 있다. 실시예에 따라, 스토리지 컨트롤러(11)는 메모리 컨트롤러 또는 비휘발성 메모리 컨트롤러라고 지칭할 수 있다. 비휘발성 메모리(12)는 복수의 블록들(BLKs)을 포함할 수 있고, 각 블록(BLK)은 독립적으로 소거 가능한 복수의 서브 블록들을 포함할 수 있다. 일 실시예에서, 복수의 서브 블록들은 서로 다른 블록 사이즈를 가질 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 다른 실시예에서, 복수의 서브 블록들은 서로 같은 블록 사이즈를 가질 수 있다. 예를 들어, 블록 사이즈는 각 서브 블록에 연결되는 워드 라인들의 개수에 대응할 수 있다. 예를 들어, 블록 사이즈는 각 서브 블록의 수직 방향(예를 들어, 도 4a의 VD)의 길이에 대응할 수 있다.
일 실시예에서, 복수의 서브 블록들은 제1 및 제2 서브 블록들(SUB_BLK1, SUB_BLK2)을 포함할 수 있다. 일 실시예에서, 비휘발성 메모리(12)에 대한 소거 동작은 소거 모드에 따라 블록 단위 또는 서브 블록 단위로 수행될 수 있다. 예를 들어, 블록 소거 모드 또는 풀(full) 블록 소거 모드에서, 복수의 블록들(BLKs) 각각에 대해 소거 동작이 독립적으로 수행될 수 있고, 다시 말해, 블록 단위로 소거 동작이 수행될 수 있다. 예를 들어, 서브 블록 소거 모드에서, 복수의 서브 블록들 각각에 대해 소거 동작이 독립적으로 수행될 수 있고, 다시 말해, 서브 블록 단위로 소거 동작이 수행할 수 있다. 예를 들어, 디폴트(default) 소거 모드는 서브 블록 소거 모드일 수 있으나, 본 발명은 이에 한정되지 않는다.
일 실시예에서, 비휘발성 메모리(12)에 대한 소거 동작은 소거 모드에 따라 전체 블록 단위 또는 서브 블록 단위로 수행될 수 있다. 예를 들어, 전체 블록 소거 모드에서, 전체 블록들, 즉, 복수의 블록들(BLKs)을 모두 소거하는 전체 블록 소거 동작이 수행될 수 있다. 예를 들어, 서브 블록 소거 모드에서, 복수의 서브 블록들 각각에 대해 소거 동작이 독립적으로 수행될 수 있고, 다시 말해, 서브 블록 단위로 소거 동작이 수행할 수 있다. 예를 들어, 디폴트 소거 모드는 서브 블록 소거 모드일 수 있으나, 본 발명은 이에 한정되지 않는다.
일 실시예에서, 제1 및 제2 서브 블록들(SUB_BLK1, SUB_BLK2)은 기판의 상부에 수직 방향으로 배치된 제1 및 제2 메모리 스택들(예를 들어, 도 6의 ST1, ST2)에 각각 대응할 수 있고, 블록 사이즈는 스택 사이즈에 대응할 수 있다. 예를 들어, 제1 메모리 스택의 사이즈는 제1 메모리 스택의 수직 방향의 길이에 대응하고, 제2 메모리 스택의 사이즈는 제2 메모리 스택의 수직 방향의 길이에 대응할 수 있다. 일 실시예에서, 비휘발성 메모리(12)에 대한 소거 동작은 소거 모드에 따라 블록 단위 또는 메모리 스택 단위로 수행될 수 있다. 예를 들어, 블록 소거 모드에서, 복수의 블록들(BLKs) 각각에 대해 소거 동작이 독립적으로 수행될 수 있고, 다시 말해, 블록 단위로 소거 동작이 수행될 수 있다. 예를 들어, 전체 블록 소거 모드에서, 복수의 블록들(BLKs) 모두에 대해 소거 동작이 동시에 수행될 수 있고, 다시 말해, 전체 블록 단위로 소거 동작이 수행될 수 있다. 예를 들어, 서브 블록 소거 모드에서, 복수의 메모리 스택들 각각에 대해 소거 동작이 독립적으로 수행될 수 있고, 다시 말해, 메모리 스택 단위로 소거 동작이 수행될 수 있다.
일 실시예에서, 서브 블록 소거 모드는 복수의 서브 블록 소거 모드들을 포함할 수 있다. 예를 들어, 제1 서브 블록 소거 모드 또는 스택 소거 모드에서, 각 블록(BLK)에 포함된 각 메모리 스택에 대해 소거 동작이 독립적으로 수행될 수 있고, 제2 서브 블록 소거 모드 또는 멀티 스택 소거 모드에서, 각 블록(BLK)에 포함된 적어도 두 개의 메모리 스택들에 대해 소거 동작이 독립적으로 수행될 수 있다. 예를 들어, 제3 서브 블록 소거 모드 또는 서브 스택 소거 모드에서, 각 메모리 스택에 포함된 복수의 그룹들 각각에 대해 소거 동작이 독립적으로 수행될 수 있고, 제4 서브 블록 소거 모드 또는 크로스(cross) 스택 소거 모드에서, 복수의 메모리 스택들에 각각 포함된 복수의 그룹들에 대해 소거 동작이 독립적으로 수행될 수 있다.
스토리지 컨트롤러(11)는 비휘발성 메모리(12)와 통신할 수 있고, 비휘발성 메모리(12)에 대한 소거 모드를 관리할 수 있다. 구체적으로, 스토리지 컨트롤러(11)는 프로세서(111), 소거 모드 매니저(112), 호스트 인터페이스(113), 버퍼 메모리(114), 및 비휘발성 메모리 인터페이스(115)를 포함할 수 있고, 이들은 버스(116)를 통해 서로 통신할 수 있다. 이하에서는, 스토리지 컨트롤러(11)의 구성 요소들에 대해 상술하기로 한다.
소거 모드 매니저(112)는 비휘발성 메모리(12)의 동작 스케쥴 및 전력 소모량 중 적어도 하나를 기초로 복수의 소거 모드들 중 하나를 선택하고, 선택된 소거 모드에 따라 비휘발성 메모리(12)에 대한 소거 동작을 제어할 수 있다. 예를 들어, 복수의 소거 모드들은 블록 소거 모드, 전체 블록 소거 모드, 및 서브 블록 소거 모드 중 적어도 두 개를 포함할 수 있다. 예를 들어, 서브 블록 소거 모드는 스택 소거 모드 및 멀티 스택 소거 모드를 포함할 수 있다. 예를 들어, 서브 블록 소거 모드는 서브 스택 소거 모드 및 크로스 스택 소거 모드를 더 포함할 수 있다.
일 실시예에서, 비휘발성 메모리(12)의 동작 스케쥴의 체크 결과, 비휘발성 메모리(12)에 대해 집중적인(intensive) 독출 동작 또는 프로그램 동작이 수행될 경우, 소거 모드 매니저(112)는 복수의 소거 모드들 중 서브 블록 소거 모드를 선택할 수 있다. 한편, 비휘발성 메모리(12)의 동작 스케쥴의 체크 결과, 비휘발성 메모리(12)에 대해 집중적인 독출 동작 또는 프로그램 동작이 수행되지 않을 경우, 소거 모드 매니저(112)는 복수의 소거 모드들 중 블록 소거 모드 또는 전체 블록 소거 모드를 선택할 수 있다.
일 실시예에서, 비휘발성 메모리(12) 또는 스토리지 장치(10)의 전력 소모량의 체크 결과, 전력 소모량이 임계 값 이상이면, 소거 모드 매니저(112)는 복수의 소거 모드들 중 서브 블록 소거 모드를 선택할 수 있다. 한편, 비휘발성 메모리(12) 또는 스토리지 장치(10)의 전력 소모량의 체크 결과, 전력 소모량이 임계 값 보다 크지 않으면, 소거 모드 매니저(112)는 복수의 소거 모드들 중 블록 소거 모드를 선택할 수 있다.
일 실시예에서, 전력 소모량이 임계 값 이상인 저전력 모드에서, 소거 모드 매니저(112)는 서브 블록 소거 모드를 선택할 수 있고, 이에 따라, 비휘발성 메모리(12)에 포함된 복수의 블록들(BLKs) 중 선택 블록의 복수의 서브 블록들 중 적어도 하나에 대한 소거 동작을 제어할 수 있다. 일 실시예에서, 전력 소모량이 임계 값보다 크지 않은 일반 전력 모드에서, 소거 모드 매니저(112)는 블록 소거 모드를 선택할 수 있고, 이에 따라, 비휘발성 메모리(12)의 복수의 블록들(BLKs) 중 선택 블록에 대한 소거 동작을 제어할 수 있다. 일 실시예에서, 전력 소모량이 임계 값보다 크지 않은 일반 전력 모드에서, 소거 모드 매니저(112)는 전체 블록 소거 모드를 선택할 수 있고, 이에 따라, 비휘발성 메모리(12)의 복수의 블록들(BLKs) 전체에 대한 소거 동작을 제어할 수 있다.
일 실시예에서, 소거 모드 매니저(112)는 소거 동작에 대한 요청이 발생할 경우, 소거 모드 선택 동작을 수행할 수 있다. 예를 들어, 소거 모드 매니저(112)는 프로그램 동작의 수행 전에 복수의 소거 모드들 중 하나를 선택할 수 있고, 스토리지 컨트롤러(11)는 선택된 소거 모드를 비휘발성 메모리(12)에 전달할 수 있다. 예를 들어, 소거 모드 매니저(112)는 프리 블록을 확보하기 위하여 복수의 소거 모드들 중 하나를 선택할 수 있고, 스토리지 컨트롤러(11)는 선택된 소거 모드를 비휘발성 메모리(12)에 전달할 수 있다. 기본적으로 서브 블록 소거 모드에 따라 비휘발성 메모리(12)에 대한 소거 동작을 수행할 경우, 블록 단위에 해당하는 프리 공간이 필요한 경우에는, 복수의 블록들 또는 복수의 비휘발성 메모리들에 대해 서브 블록 소거 동작을 수행할 수 있다.
일 실시예에서, 소거 모드 매니저(112)는 소거 시간, 레이턴시(latency) 및.또는 스루풋(throughput)을 더 고려하여 소거 모드 선택 동작을 수행할 수 있다. 예를 들어, 소거 모드 매니저(112)는 복수의 메모리 블록들(BLKs)에 대한 소거-프로그램 간격(Erase-Program Interval, EPI)들이 일정 시간 이내로 유지되도록, 특정 블록에 대한 EPI가 기준 시간을 초과하는 경우 서브 블록 소거 모드를 선택할 수 있고, 스토리지 컨트롤러(11)는 선택된 서브 블록 소거 모드를 비휘발성 메모리(12)에 전달할 수 있다. 예를 들어, 소거 모드 매니저(112)는 프로그램 동작에 대한 레이턴시를 만족하기 위하여, 프로그램 커맨드들의 개수가 기준 개수를 초과하는 경우 서브 블록 소거 모드를 선택할 수 있고, 스토리지 컨트롤러(11)는 선택된 서브 블록 소거 모드를 비휘발성 메모리(12)에 전달할 수 있다. 예를 들어, 소거 모드 매니저(112)는 스루풋이 기준 값을 초과하는 경우 서브 블록 소거 모드를 선택할 수 있고, 스토리지 컨트롤러(11)는 선택된 서브 블록 소거 모드를 비휘발성 메모리(12)에 전달할 수 있다.
실시예에 따라, 소거 모드 매니저(112)는 소프트웨어, 펌웨어 및/또는 하드웨어로 구현될 수 있다. 일 실시예에서, 소거 모드 매니저(112)는 소프트웨어로 구현될 수 있고, 스토리지 컨트롤러(11)는 소거 모드 매니저(112)가 로딩되는 워킹 메모리를 더 포함할 수 있으며, 프로세서(111)가 소거 모드 매니저(112)를 실행하는 것에 의해 비휘발성 메모리(12)에 대한 소거 모드 선택 동작을 제어할 수 있다. 예를 들어, 워킹 메모리는 SRAM, DRAM 등과 같은 휘발성 메모리 또는 플래시 메모리, PRAM 등과 같은 비휘발성 메모리로 구현될 수 있다.
일 실시예에서, 소거 모드 매니저(112)는 FTL(Flash Translation Layer)에 구현될 수 있고, 프로세서(111)가 FTL을 실행하는 것에 의해 비휘발성 메모리(12)에 대한 소거 모드 선택 동작을 제어할 수 있다. 이때, 프로세서(111)가 FTL을 실행하는 것에 의해 비휘발성 메모리(12)에 대한 데이터 기록 및 독출 동작도 제어될 수 있다. 또한, FTL은 웨어-레벨링(wear-leveling) 및 가비지 콜렉션(garbage collection)과 같은 다양한 기능을 수행할 수 있다. 웨어-레벨링은 비휘발성 메모리(12) 내의 블록들이 균일하게 사용되도록 하여 특정 블록의 과도한 열화를 방지하기 위한 기술로, 예시적으로 물리 블록들의 소거 카운트들을 밸런싱하는 펌웨어 기술을 통해 구현될 수 있다. 가비지 콜렉션은 비휘발성 메모리(12) 내에서 사용 가능한 용량을 확보하기 위하여, 비휘발성 메모리(12)의 복수의 서브 블록들 중 희생(victim) 서브 블록을 선택하고, 희생 서브 블록의 유효 데이터를 새 서브 블록, 즉, 대상(target) 서브 블록에 복사한 후, 희생 서브 블록을 소거하는 기술이다.
프로세서(111)는 CPU나 마이크로 프로세서 등을 포함할 수 있으며, 스토리지 컨트롤러(11)의 전반적인 동작을 제어할 수 있다. 일 실시예에서, 프로세서(111)는 멀티 코어 프로세서로 구현될 수 있고, 예를 들어, 듀얼 코어 프로세서 또는 쿼드(quad) 코어 프로세서로 구현될 수 있다. 버퍼 메모리(114)는 비휘발성 메모리(12)에 기록될 데이터 혹은 비휘발성 메모리(12)로부터 독출될 데이터를 임시로 저장할 수 있다. 버퍼 메모리(114)는 스토리지 컨트롤러(11) 내에 구비되는 구성일 수 있으나, 스토리지 컨트롤러(11)의 외부에 배치되어도 무방하다. 예를 들어, 스토리지 컨트롤러(11)는 버퍼 메모리(114)와 통신하기 위한 버퍼 메모리 매니저 또는 버퍼 메모리 인터페이스를 더 포함할 수 있다.
호스트 인터페이스(113)는 호스트(20)와 패킷(packet)을 송수신할 수 있다. 호스트(20)로부터 호스트 인터페이스(113)로 전송되는 패킷은 커맨드 혹은 비휘발성 메모리(12)에 기록될 데이터 등을 포함할 수 있으며, 호스트 인터페이스(113)로부터 호스트(20)로 전송되는 패킷은 커맨드에 대한 응답(response) 혹은 비휘발성 메모리(12)로부터 독출된 데이터 등을 포함할 수 있다. 메모리 인터페이스(115)는 비휘발성 메모리(12)에 기록될 데이터를 비휘발성 메모리(12)로 송신하거나, 비휘발성 메모리(12)로부터 독출된 데이터를 수신할 수 있다. 이러한 메모리 인터페이스(115)는 토글(Toggle) 혹은 온파이(Open NAND Flash Interface; ONFI)와 같은 표준 규약을 준수하도록 구현될 수 있다.
스토리지 장치(10)는 호스트(20)로부터의 요청에 따라 데이터를 저장하기 위한 저장 매체들을 포함할 수 있다. 일 예로서, 스토리지 장치(10)는 SSD(Solid State Drive), 임베디드(embedded) 메모리 및 착탈 가능한 외장(external) 메모리 중 적어도 하나를 포함할 수 있다. 스토리지 장치(10)가 SSD인 경우, 스토리지 장치(10)는 NVMe(non-volatile memory express) 표준을 따르는 장치일 수 있다. 스토리지 장치(10)가 임베디드 메모리 혹은 외장(external) 메모리인 경우, 스토리지 장치(10)는 UFS(universal flash storage) 혹은 eMMC(embedded multi-media card) 표준을 따르는 장치일 수 있다. 호스트(20)와 스토리지 장치(10)는 각각 채용된 표준 프로토콜에 따른 패킷을 생성하고 이를 전송할 수 있다.
일 실시예에서, 호스트(20)는 호스트 컨트롤러(21) 및 호스트 메모리(22)를 포함할 수 있다. 호스트 컨트롤러(21)는 호스트 메모리(22)의 버퍼 영역의 데이터를 비휘발성 메모리(12)에 저장하거나, 비휘발성 메모리(12)의 데이터를 버퍼 영역에 저장하는 동작을 관리할 수 있다. 호스트 메모리(22)는 스토리지 장치(10)로 전송될 데이터, 혹은 스토리지 장치(10)로부터 전송된 데이터를 임시로 저장하기 위한 버퍼 메모리로서 기능할 수 있다. 일 예로서, 호스트 컨트롤러(21)는 애플리케이션 프로세서에 구비되는 다수의 모듈들 중 어느 하나일 수 있으며, 상기 애플리케이션 프로세서는 시스템 온 칩(System on Chip, SoC)으로 구현될 수 있다. 또한, 호스트 메모리(22)는 상기 애플리케이션 프로세서 내에 구비되는 임베디드 메모리이거나, 또는 상기 애플리케이션 프로세서의 외부에 배치되는 비휘발성 메모리 또는 메모리 모듈일 수 있다.
도 2는 본 개시의 일 실시예에 따른 비휘발성 메모리(12)를 나타내는 블록도이다. 도 2를 참조하면, 비휘발성 메모리(12)는 메모리 셀 어레이(121), 제어 로직 회로(122), 전압 생성기(123), 로우 디코더(124), 및 페이지 버퍼 회로(125)를 포함할 수 있다. 비휘발성 메모리(120)는 도 1의 비휘발성 메모리(12)의 일 구현 예에 대응할 수 있다.
메모리 셀 어레이(121)는 복수의 메모리 블록들(BLK1 내지 BLKz)을 포함할 수 있고, 복수의 메모리 블록들(BLK1 내지 BLKz) 각각은 복수의 페이지들(PG1 내지 PGc)을 포함할 수 있고, z와 c은 양의 정수일 수 있고, 실시예에 따라 다양하게 변경될 수 있다. 예를 들어, 복수의 페이지들(PG1 내지 PGc) 중 일부 페이지들(PG1 내지 PGb)은 제1 서브 블록(SUB_BLK1)에 포함되고, 복수의 페이지들(PG1 내지 PGc) 중 나머지 페이지들(PGb+1 내지 PBc)은 제2 서브 블록(SUB_BLK2)에 포함될 수 있고, b는 c보다 작은 양의 정수일 수 있다. 예를 들어, 메모리 블록 또는 서브 블록은 소거의 단위이고, 페이지는 프로그램 및 독출의 단위일 수 있다. 메모리 셀 어레이(121)는 비트 라인들(BL)을 통해 페이지 버퍼 회로(125)에 연결될 수 있고, 워드 라인들(WL), 스트링 선택 라인들(SSL), 및 그라운드 선택 라인들(GSL)을 통해 로우 디코더(124)에 연결될 수 있다.
일 실시예에서, 메모리 셀 어레이(121)는 3차원 메모리 셀 어레이를 포함할 수 있고, 3차원 메모리 셀 어레이는 복수의 낸드 스트링들을 포함할 수 있다. 각 낸드 스트링은 기판 위에 수직으로 적층된 워드 라인들에 각각 연결된 메모리 셀들을 포함할 수 있다. 미국 특허공개공보 제7,679,133호, 미국 특허공개공보 제8,553,466호, 미국 특허공개공보 제8,654,587호, 미국 특허공개공보 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 본 명세서에 인용 형식으로 결합된다.
일 실시예에서, 메모리 셀 어레이(121)는 플래시 메모리를 포함할 수 있고, 플래시 메모리는 2D NAND 메모리 어레이 또는 3D(Vertical) NAND(VNAND) 메모리 어레이를 포함할 수 있다. 일 실시예에서, 스토리지 장치(10)는 다른 다양한 종류의 비휘발성 메모리들을 포함할 수도 있다. 예를 들어, 메모리 셀 어레이(121)는 MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torgue MRAM), Conductive bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase RAM), 저항 메모리(Resistive RAM) 및 다른 다양한 종류의 메모리를 포함할 수도 있다.
제어 로직 회로(122)는 비휘발성 메모리(12) 내의 각종 동작을 전반적으로 제어할 수 있다. 제어 로직 회로(122)는 커맨드(CMD) 및/또는 어드레스(ADDR)에 응답하여 각종 제어 신호들을 출력할 수 있다. 예를 들어, 제어 로직 회로(122)는 전압 제어 신호(CTRL_vol), 로우 어드레스(X_ADDR), 및 컬럼 어드레스(Y_ADDR)를 출력할 수 있다. 일 실시예에서, 제어 로직 회로(122)는 소거 모드 선택기(1221)를 포함할 수 있다. 소거 모드 선택기(1221)는 스토리지 컨트롤러(11)로부터 수신한 커맨드(CMD)를 기초로 메모리 셀 어레이(121)에 대한 소거 모드를 선택할 수 있다. 예를 들어, 커맨드(CMD)는 소거 커맨드에 대응할 수 있고, 소거 커맨드는 소거 모드에 대한 정보를 포함할 수 있다. 예를 들어, 커맨드(CMD)는 소거 모드를 지시하는 전용 커맨드, 즉, 소거 모드 커맨드에 대응할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에서, 소거 모드 선택기(1221)는 제어 로직 회로(122)의 외부에 배치될 수 있다. 예를 들어, 소거 모드 선택기(1221)는 커맨드 디코더에 포함될 수 있다. 예를 들어, 소거 모드 선택기(1221)는 커맨드 디코더와 제어 로직 회로(122) 사이에 배치될 수 있다.
전압 생성기(123)는 전압 제어 신호(CTRL_vol)를 기반으로 프로그램, 독출, 및 소거 동작들을 수행하기 위한 다양한 종류의 전압들을 생성할 수 있다. 예를 들어, 전압 생성기(123)는 워드 라인 전압(VWL)으로서 프로그램 전압, 독출 전압, 프로그램 검증 전압, 소거 전압 등을 생성할 수 있다. 로우 디코더(124)는 로우 어드레스(X_ADDR)에 응답하여 복수의 워드 라인들(WL) 중 하나를 선택할 수 있고, 복수의 스트링 선택 라인들(SSL) 중 하나를 선택할 수 있다. 예를 들어, 프로그램 동작 시, 로우 디코더(124)는 선택된 워드 라인으로 프로그램 전압 및 프로그램 검증 전압을 인가하고, 독출 동작 시, 선택된 워드 라인으로 독출 전압을 인가할 수 있다. 페이지 버퍼 회로(125)는 컬럼 어드레스(Y_ADDR)에 응답하여 비트 라인들(BL) 중 적어도 하나의 비트 라인을 선택할 수 있다. 페이지 버퍼 회로(125)는 동작 모드에 따라 기입 드라이버 또는 감지 증폭기로서 동작할 수 있다.
도 3은 본 개시의 일 실시예에 따른 메모리 블록(BLK)을 예시적으로 나타내는 회로도이다.
도 3을 참조하면, 메모리 블록(BLK)은 도 2의 복수의 메모리 블록들(BLK1 내지 BLKz) 중 하나에 대응할 수 있다. 메모리 블록(BLK)은 낸드 스트링들(NS11 내지 NS33)을 포함하고, 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MCs) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 각 낸드 스트링에 포함된 트랜지스터들(SST, GST) 및 메모리 셀들(MCs)은 기판 상에서 수직 방향을 따라 적층된 구조를 형성할 수 있다.
비트 라인들(BL1 내지 BL3)은 제1 방향을 따라 연장될 있고, 워드 라인들(WL1 내지 WL8)은 제2 방향을 따라 연장될 수 있다. 제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 위치하고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 위치하고, 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 위치할 수 있다.
스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1 내지 SSL3)에 연결될 수 있다. 메모리 셀들(MCs)은 대응하는 워드 라인들(WL1 내지 WL8)에 각각 연결될 수 있다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 내지 GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
도 4a는 본 개시의 일 실시예에 따른 메모리 블록(BLKa)을 예시적으로 나타내는 사시도이다.
도 4a를 참조하면, 메모리 블록(BLKa)은 도 2의 복수의 메모리 블록들(BLK1 내지 BLKz) 중 하나에 대응할 수 있다. 메모리 블록(BLKa)은 기판(SUB)의 상부에 수직 방향(VD)으로 신장되는 메모리 스택(ST)을 포함할 수 있다. 예를 들어, 메모리 블록(BLKa)은 기판(SUB)과 비트 라인들(BL1 내지 BL3) 사이에 단일 메모리 스택(ST)을 포함할 수 있다. 기판(SUB)에 공통 소스 라인들(CSL)이 배치될 수 있고, 인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제2 수평 방향(HD2)을 따라 신장되는 절연막들(IL)이 수직 방향(VD)을 따라 순차적으로 제공되며, 절연막들(IL)은 수직 방향(VD)을 따라 특정 거리만큼 이격된다. 인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 수직 방향(VD)을 따라 절연막들(IL)을 관통하는 필라들(P)이 제공된다. 각 필라(P)의 표면층(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(CS)이 제공된다. 전하 저장층(CS)은 게이트 절연층, 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 예를 들어, 전하 저장층(CS)은 ONO 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1 내지 WL8)과 같은 게이트 전극(GE)이 제공된다. 복수의 필라들(P) 상에는 드레인들(DR)이 각각 제공된다. 드레인들(DR) 상에, 제1 수평 방향(HD1)으로 신장되고 제2 수평 방향(HD2)을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1 내지 BL3)이 제공된다.
도 4b는 본 개시의 일 실시예에 따른 메모리 블록(BLKb)을 예시적으로 나타내는 사시도이다.
도 4b를 참조하면, 메모리 블록(BLKb)은 도 2의 복수의 메모리 블록들(BLK1 내지 BLKz) 중 하나에 대응할 수 있다. 또한, 메모리 블록(BLKb)은 도 4a의 메모리 블록(BLKa)의 변형 예에 대응하며, 도 4a를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다. 메모리 블록(BLKb)은 기판(SUB)의 상부에 수직 방향(VD)으로 적층된 제1 메모리 스택(ST1) 및 제2 메모리 스택(ST2)을 포함할 수 있다. 예를 들어, 메모리 블록(BLKb)은 기판(SUB)과 비트 라인들(BL1 내지 BL3) 사이에 두 개의 메모리 스택들, 즉, 제1 및 제2 메모리 스택들(ST1, ST2)을 포함할 수 있고, 이에 따라, 멀티 스택 구조, 예를 들어, 2-스택 구조를 가질 수 있다. 이때, 제1 및 제2 메모리 스택들(ST1, ST2)의 수직 방향의 길이는 서로 다를 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 실시예에 따라, 메모리 블록은 기판(SUB)과 비트 라인들(BL1 내지 BL3) 사이에 세 개 이상의 메모리 스택들을 포함할 수도 있다.
도 5는 본 개시의 일 실시예에 따른 비휘발성 메모리(50)를 개략적으로 나타낸다.
도 5를 참조하면, 비휘발성 메모리(50)는 제1 수평 방향(HD1)으로 연장되는 공통 소스 라인(CSL) 및 비트 라인(BL)을 포함하고, 수직 방향(VD)으로 연장되는 메모리 스택(ST)을 포함할 수 있다. 이때, 메모리 스택(ST)은 드레인(DR)을 통해 비트 라인(BL)에 연결될 수 있다. 예를 들어, 비휘발성 메모리(50)는 도 4a의 일 예에 대응하며, 메모리 스택(ST)은 도 4a의 필라(P)에 대응할 수 있고, 도 3의 제1 셀 스트링(NS11)에 대응할 수도 있다.
비휘발성 메모리(50)는 수직 방향(VD)으로 적층된 복수의 워드 라인들(WL1 내지 WLn)을 더 포함하고, 공통 소스 라인(CSL)과 워드 라인(WL1) 사이에는 적어도 하나의 그라운드 선택 라인(GSL)이 배치되고, 비트 라인(BL)과 워드 라인(WLn) 사이에는 적어도 하나의 스트링 선택 라인(SSL)이 배치될 수 있다. 도시되지는 않았으나, 스트링 선택 라인(SSL)과 비트 라인(BL) 사이에는 소거 제어 라인(예를 들어, GIDL_SS)이 더 배치되고, 그라운드 선택 라인(GSL)과 공통 소스 라인(CLS) 사이에는 소거 제어 라인(예를 들어, GIDL_GS)이 더 배치될 수 있다.
일 실시예에서, 복수의 워드 라인들(WL1 내지 WLn)은 제1 워드 라인 그룹(WGR1) 및 제2 워드 라인 그룹(WGR2)을 포함하는 복수의 그룹들로 그룹핑될 수 있다. 제1 워드 라인 그룹(WGR1)은 기판에 상대적으로 가까운 워드 라인들(WL1 내지 WLd)을 포함하고, 제2 워드 라인 그룹(WGR2)은 기판에 상대적으로 먼 워드 라인들(WLd+1 내지 WLn)을 포함할 수 있다. 이때, d는 1과 n 사이의 양의 정수이다. 실시예에 따라, 복수의 워드 라인들(WL1 내지 WLn)은 3개 이상의 그룹들로 그룹핑될 수 있다. 일 실시예에서, 제1 워드 라인 그룹(WGR1)에 포함되는 워드 라인들의 개수와 제2 워드 라인 그룹(WGR2)에 포함되는 워드 라인들의 개수는 서로 다를 수 있다. 예를 들어, 제1 워드 라인 그룹(WGR1)에 포함되는 워드 라인들의 개수는 제2 워드 라인 그룹(WGR2)에 포함되는 워드 라인들의 개수보다 많을 수 있다. 다시 말해, d은 n/2보다 클 수 있다.
도 1 및 도 5를 함께 참조하면, 제1 워드 라인 그룹(WGR1)에 포함되는 워드 라인들(WL1 내지 WLd)은 제1 서브 블록(SUB_BLK1)에 연결될 수 있고, 제2 워드 라인 그룹(WGR2)에 포함되는 워드 라인들(WLd+1 내지 WLn)은 제2 서브 블록(SUB_BLK2)에 연결될 수 있다. 스토리지 컨트롤러(11)는 비휘발성 메모리(12)의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 복수의 소거 모드들 중 하나를 선택할 수 있다. 블록 소거 모드에서, 제1 및 제2 서브 블록들(SUB_BLK1, SUB_BLK2)을 포함하는 블록(BLK)에 대해 소거 동작을 수행할 수 있다. 서브 블록 소거 모드에서, 제1 서브 블록(SUB_BLK1)에 대해 소거 동작을 수행하거나, 또는 제2 서브 블록(SUB_BLK2)에 대해 소거 동작을 수행할 수 있다. 서브 블록 소거 모드에 따른 소거 동작으로 인한 전력 소모량은, 블록 소거 모드에 따른 소거 동작으로 인한 전력 소모량보다 낮을 수 있다. 따라서, 저전력 모드에서, 스토리지 컨트롤러(11)는 서브 블록 소거 동작을 제어함으로써 전력 소모량을 조절함과 동시에 스토리지 장치(10)의 성능 저하를 방지할 수 있다.
도 6은 본 개시의 일 실시예에 따른 비휘발성 메모리(60)를 개략적으로 나타낸다. 비휘발성 메모리(60)는 도 5의 비휘발성 메모리(50)의 변형 예에 대응하며, 중복된 설명은 생략하기로 한다.
도 6을 참조하면, 비휘발성 메모리(60)는 제1 수평 방향(HD1)으로 연장되는 공통 소스 라인(CSL) 및 비트 라인(BL)을 포함하고, 수직 방향(VD)으로 연장되는 제1 메모리 스택(ST1) 및 제2 메모리 스택(ST2)을 포함할 수 있다. 이때, 제1 메모리 스택(ST1)은 공통 소스 라인(CSL)의 상부에 배치되고, 제2 메모리 스택(ST2)은 제1 메모리 스택(ST1)의 상부에 배치되며 드레인(DR)을 통해 비트 라인(BL)에 연결될 수 있다. 예를 들어, 비휘발성 메모리(60)는 도 4b의 일 예에 대응하며, 제1 메모리 스택(ST1) 및 제2 메모리 스택(ST2)은 도 4b의 제1 메모리 스택(ST1) 및 제2 메모리 스택(ST2)에 각각 대응할 수 있다.
또한, 비휘발성 메모리(60)는 제1 메모리 스택(ST1)과 제2 메모리 스택(ST2)의 접합부에 대응하는 제1 및 제2 접합 더미 워드 라인들(CDL1, CDL2)을 더 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 접합부에 대응하는 접합 더미 워드 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다. 또한, 실시예에 따라, 접합 더미 워드 라인이 배치되지 않을 수도 있다. 일 실시예에서, 제1 메모리 스택(ST1)은 제1 워드 라인 그룹(WGR1)에 연결되고, 제2 메모리 스택(ST2)은 제2 워드 라인 그룹(WGR2)에 연결될 수 있다.
도 1 및 도 6을 함께 참조하면, 제1 워드 라인 그룹(WGR1)에 포함되는 워드 라인들(WL1 내지 WLd)은 제1 서브 블록(SUB_BLK1)에 연결될 수 있고, 제2 워드 라인 그룹(WGR2)에 포함되는 워드 라인들(WLd+1 내지 WLn)은 제2 서브 블록(SUB_BLK2)에 연결될 수 있다. 스토리지 컨트롤러(11)는 비휘발성 메모리(12)의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 복수의 소거 모드들 중 하나를 선택할 수 있다. 블록 소거 모드에서, 제1 및 제2 메모리 스택들(ST1, ST2)을 포함하는 블록(BLK)에 대해 소거 동작을 수행할 수 있다. 스택 소거 모드에서, 제1 메모리 스택(ST1)에 대해 소거 동작을 수행하거나, 또는 제2 메모리 스택(ST2)에 대해 소거 동작을 수행할 수 있다. 스택 소거 모드에 따른 소거 동작으로 인한 전력 소모량은, 블록 소거 모드에 따른 소거 동작으로 인한 전력 소모량보다 낮을 수 있다. 따라서, 저전력 모드에서, 스토리지 컨트롤러(11)는 스택 소거 동작을 제어함으로써 전력 소모량을 조절함과 동시에 스토리지 장치(10)의 성능 저하를 방지할 수 있다.
도 7은 본 개시의 일 실시예에 따른 비휘발성 메모리(70)를 개략적으로 나타낸다. 비휘발성 메모리(70)는 도 6의 비휘발성 메모리(60)의 변형 예에 대응하며, 중복된 설명은 생략하기로 한다.
도 7을 참조하면, 비휘발성 메모리(70)는 수직 방향(VD)으로 연장되는 제1 내지 제3 메모리 스택들(ST1, ST2, ST3)을 포함할 수 있다. 이때, 제1 메모리 스택(ST1)은 공통 소스 라인(CSL)의 상부에 배치되고, 제2 메모리 스택(ST2)은 제1 메모리 스택(ST1)의 상부에 배치되고, 제3 메모리 스택(ST3)은 제2 메모리 스택(ST2)의 상부에 배치되며 드레인(DR)을 통해 비트 라인(BL)에 연결될 수 있다. 비휘발성 메모리(70)는 제1 및 제2 메모리 스택들(ST1, ST2)의 접합부에 대응하는 제1 및 제2 접합 더미 워드 라인들(CDL1, CDL2) 및 제2 및 제3 메모리 스택들(ST2, ST3)의 접합부에 대응하는 제3 및 제4 접합 더미 워드 라인들(CDL3, CDL4)을 더 포함할 수 있다.
일 실시예에서, 제1 메모리 스택(ST1)은 제1 워드 라인 그룹(WGR1)에 연결되고, 제2 메모리 스택(ST2)은 제2 워드 라인 그룹(WGR2)에 연결되며, 제3 메모리 스택(ST3)은 제3 워드 라인 그룹(WGR3)에 연결될 수 있다. 제1 워드 라인 그룹(WGR1)은 워드 라인들(WL1 내지 WLd)을 포함하고, 제2 워드 라인 그룹(WGR2)은 워드 라인들(WLd+1 내지 WLe)을 포함하며, 제3 워드 라인 그룹(WGR3)은 워드 라인들(WLe+1 내지 WLn)을 포함할 수 있다. 이때, e는 d와 n 사이의 양의 정수이다. 일부 실시예들에서, 제1 내지 제3 메모리 스택들(ST1, ST2, ST3) 중 적어도 하나에 연결되는 워드 라인들은 복수의 그룹들로 그룹핑될 수 있고, 각 그룹 별로 소거 동작을 독립적으로 수행할 수 있다.
도 1 및 도 7을 함께 참조하면, 각 블록(BLK)은 제3 서브 블록을 더 포함할 수 있고, 제1 워드 라인 그룹(WGR1)에 포함되는 워드 라인들(WL1 내지 WLd)은 제1 서브 블록(SUB_BLK1)에 연결될 수 있고, 제2 워드 라인 그룹(WGR2)에 포함되는 워드 라인들(WLd+1 내지 WLe)은 제2 서브 블록(SUB_BLK2)에 연결될 수 있고, 제3 워드 라인 그룹(WGR3)에 포함되는 워드 라인들(WLe+1 내지 WLn)은 제3 서브 블록에 연결될 수 있다. 스토리지 컨트롤러(11)는 비휘발성 메모리(12)의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 복수의 소거 모드들 중 하나를 선택할 수 있다. 블록 소거 모드에서, 제1 내지 제3 메모리 스택들(ST1, ST2, ST3)을 포함하는 블록(BLK)에 대해 소거 동작을 수행할 수 있다. 스택 소거 모드에서, 제1 메모리 스택(ST1)에 대해 소거 동작을 수행하거나, 제2 메모리 스택(ST2)에 대해 소거 동작을 수행하거나, 또는 제3 메모리 스택(ST3)에 대해 소거 동작을 수행할 수 있다. 멀티 스택 소거 모드에서, 제1 내지 제3 메모리 스택들(ST1, ST2, ST3) 중 두 개에 대해 소거 동작을 수행할 수 있다. 이때, 스택 소거 모드에 따른 소거 동작으로 인한 전력 소모량은, 블록 소거 모드에 따른 소거 동작으로 인한 전력 소모량보다 낮을 수 있다. 또한, 스택 소거 모드에 따른 소거 동작으로 인한 전력 소모량은, 멀티 스택 소거 모드에 따른 소거 동작으로 인한 전력 소모량보다 낮을 수 있다. 따라서, 저전력 모드에서, 스토리지 컨트롤러(11)는 스택 소거 동작 또는 멀티 스택 소거 동작을 제어함으로써 전력 소모량을 조절함과 동시에 스토리지 장치(10)의 성능 저하를 방지할 수 있다.
일부 실시예들에서, 비휘발성 메모리는 수직 방향(VD)으로 연장되는 제1 내지 제4 메모리 스택들을 포함하는 네 개 이상의 메모리 스택들을 포함할 수도 있다. 예를 들어, 멀티 스택 소거 모드에서, 네 개 이상의 메모리 스택들 중 적어도 두 개의 메모리 스택들에 대한 소거 동작을 동시에 수행할 수 있다. 예를 들어, 2-스택 소거 모드에서, 제1 및 제4 메모리 스택들을 동시에 소거하거나, 제2 및 제3 메모리 스택들을 동시에 소거하거나, 제2 및 제4 메모리 스택들을 동시에 소거하거나, 제1 및 제3 메모리 스택들을 동시에 소거하거나, 제1 및 제2 메모리 스택들을 동시에 소거하거나, 또는 제3 및 제4 메모리 스택들을 동시에 소거할 수 있다. 예를 들어, 3-스택 소거 모드에서, 제1, 제2 및 제4 메모리 스택들을 동시에 소거하거나, 제2 내지 제4 메모리 스택들을 동시에 소거하거나, 또는 제1, 제3 및 제4 메모리 스택들을 동시에 소거할 수 있다.
도 8은 본 개시의 일 실시예에 따른 스토리지 장치(80)를 나타내는 블록도이다.
도 8을 참조하면, 스토리지 장치(80)는 스토리지 컨트롤러(11a) 및 비휘발성 메모리(12a)를 포함할 수 있고, 도 1의 스토리지 장치(10)의 일 구현 예에 대응할 수 있다. 비휘발성 메모리(12a)는 복수의 블록들(BLKs)을 포함하고, 각 블록(BLK)은 제1 내지 제3 메모리 스택들(ST1, ST2, ST3)을 포함하는 복수의 메모리 스택들을 포함할 수 있다. 제1 내지 제3 메모리 스택들(ST1, ST2, ST3) 각각은 수직 방향을 따라 배치된 복수의 메모리 셀들을 포함할 수 있다. 예를 들어, 제1 내지 제3 메모리 스택들(ST1, ST2, ST3)은 도 7의 제1 내지 제3 워드 라인 그룹들(WGR1, WGR2, WGR3)에 각각 연결될 수 있다.
스토리지 컨트롤러(11a)는 소거 동작 요청부(1121), 전력 소비량 예측부(1122) 및 소거 모드 선택기(1123)를 포함할 수 있다. 예를 들어, 소거 동작 요청부(1121), 전력 소비량 예측부(1122) 및 소거 모드 선택기(1123)는 도 1의 소거 모드 매니저(112)에 포함될 수 있으나, 본 발명은 이에 한정되지 않는다. 예를 들어, 소거 동작 요청부(1121), 전력 소비량 예측부(1122) 및 소거 모드 선택기(1123)는 스토리지 컨트롤러(11a) 내의 동작 메모리, 예를 들어, SRAM 또는 DRAM에 로딩될 수 있다.
소거 동작 요청부(1121)는 호스트(20)로부터 수신한 요청에 따른 동작 또는 스토리지 컨트롤러(11a)의 백그라운드 동작에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 요청할 수 있다. 일 실시예에서, 소거 동작 요청부(1121)는 스토리지 컨트롤러(11a)로부터 수신한 커맨드들이 큐잉된 커맨드 큐(que)를 확인하고, 커맨드 큐에 큐잉된 커맨드를 기초로 소거 동작을 요청할 수 있다. 예를 들어, 호스트(20)로부터 수신한 요청은 기입 요청, 독출 요청 및 소거 요청을 포함할 수 있다. 예를 들어, 스토리지 컨트롤러(11a)의 백그라운드 동작은 가비지 콜렉션 동작을 포함할 수 있다.
일 실시예에서, 소거 동작 요청부(1121)는 호스트(20)로부터 수신한 기입 요청에 따른 프로그램 동작을 수행하기 전에, 비휘발성 메모리(12a)에 대한 소거 동작을 요청할 수 있다. 일 실시예에서, 소거 동작 요청부(1121)는 호스트(20)로부터 수신한 소거 요청에 따라, 비휘발성 메모리(12a)에 대한 소거 동작을 요청할 수 있다. 일 실시예에서, 소거 동작 요청부(1121)는 비휘발성 메모리(12a)에서 프리 블록을 확보하기 위하여, 비휘발성 메모리(12a)에 대한 소거 동작을 요청할 수 있다. 일 실시예에서, 소거 동작 요청부(1121)는 가비지 콜렉션 동작에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 요청할 수 있다.
전력 소모량 예측부(1122)는 소거 동작 요청이 발생하면, 다시 말해, 소거 동작 요청부(1121)로부터 소거 동작 요청이 수신되면, 전력 소모량을 예측할 수 있다. 예를 들어, 전력 소모량은 스토리지 장치(80)의 전력 소모량, 비휘발성 메모리(12a)의 전력 소모량, 현재 전력 소모량, 미래 전력 소모량 등을 포함할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 일부 실시예들에서, 전력 소모량 예측부(1122)는 스토리지 장치(80)의 발열량, 비휘발성 메모리(12a)의 발열량, 현재 발열량, 미래 발열량 등을 예측할 수도 있다. 또한, 일부 실시예들에서, 전력 소모량 예측부(1122)는 스토리지 장치(80)의 온도, 비휘발성 메모리(12a)의 온도, 현재 온도, 미래 온도 등을 예측할 수도 있다.
일 실시예에서, 전력 소모량 예측부(1122)는 비휘발성 메모리(12a)의 동작 스케쥴을 체크하고, 체크된 동작 스케쥴을 기초로 전력 소모량을 예측할 수 있다. 전력 소모량 예측부(1122)는 스토리지 컨트롤러(11a)의 커맨드 큐로부터 비휘발성 메모리(12a)의 동작 스케쥴을 체크할 수 있다. 또한, 전력 소모량 예측부(1122)는 커맨드 큐에 큐잉된 커맨드들의 종류 및 개수를 기초로 전력 소모량을 예측할 수 있다. 예를 들어, 비휘발성 메모리(12a)에 대해 집중적인 독출 동작 또는 프로그램 동작이 수행될 경우, 전력 소모량 예측부(1122)는 전력 소모량이 높은 것으로, 예를 들어, 임계 값 이상인 것으로 판단할 수 있다.
소거 모드 선택기(1123)는 전력 소모량을 기초로 복수의 소거 모드들 중 하나를 선택할 수 있다. 구체적으로, 소거 모드 선택기(1123)는 소거 동작 요청이 발생한 경우, 전력 소모량 예측부(1122)로부터 수신한 전력 소모량을 임계 값과 비교할 수 있고, 비교 결과에 따라 복수의 소거 모드들 중 하나를 선택할 수 있다. 소거 모드 선택기(1123)는 전력 소모량이 임계 값보다 크지 않으면 풀 블록 소거 모드 또는 블록 소거 모드를 선택할 수 있다. 블록 소거 모드에서, 비휘발성 메모리(12a)의 복수의 블록들(BLKs) 중 선택 블록에 대해 소거 동작을 제어할 수 있다.
한편, 소거 모드 선택기(1123)은 전력 소모량이 임계 값 이상이면 서브 블록 소거 모드를 선택할 수 있다. 서브 블록 소거 모드가 스택 소거 모드인 경우, 비휘발성 메모리(12a)의 선택 블록에 포함된 제1 내지 제3 메모리 스택들(ST1, ST2, ST3) 중 하나에 대해 소거 동작을 제어할 수 있다. 서브 블록 소거 모드가 멀티 스택 소거 모드인 경우, 비휘발성 메모리(12a)의 선택 블록에 포함된 제1 내지 제3 메모리 스택들(ST1, ST2, ST3) 중 두 개에 대해 소거 동작을 제어할 수 있다.
상술한 바와 같이, 스토리지 컨트롤러(11a)는 비휘발성 메모리(12a)의 동작 스케쥴 및 전력 소모량을 확인함으로써, 전력 모드를 일반 전력 모드 또는 저 전력 모드로 결정할 수 있다. 스토리지 컨트롤러(11a)는 일반 전력 모드에서는 블록 소거 모드를 선택하고, 선택된 블록 소거 모드에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 제어할 수 있다. 한편, 스토리지 컨트롤러(11a)는 저 전력 모드에서는 서브 블록 소거 모드를 선택하고, 선택된 서브 블록 소거 모드에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 제어할 수 있다.
구체적으로, 스토리지 컨트롤러(11a)는 전력 소모량이 임계 값 이상인 저 전력 모드에서, 블록 소거 모드 대신 서브 블록 소거 모드를 선택하고, 선택된 서브 블록 소거 모드에 따라 비휘발성 메모리(12a)에 포함된 적어도 하나의 서브 블록 또는 메모리 스택에 대한 소거 동작을 제어할 수 있다. 이와 같이, 스토리지 컨트롤러(11a)는 저 전력 모드에서 비휘발성 메모리(12a)를 아이들(idle) 상태로 결정하지 않고, 전력 스토틀링(power throttling)을 적용하여 비휘발성 메모리(12a)의 일부 메모리 칩, 메모리 다이 또는 메모리 플레인에 대해 서브 블록 소거 동작을 수행함으로써, 스토리지 장치(10a)의 성능을 향상시킬 수 있다.
도 9는 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 10a는 본 개시의 일 실시예에 따른 블록 소거 모드(100a)를 나타내고, 도 10b는 본 개시의 일 실시예에 따른 서브 블록 소거 모드(100b)를 나타낸다.
도 9 내지 도 10b를 함께 참조하면, 본 실시예에 따른 동작 방법은 비휘발성 메모리에 대한 소거 동작이 요구되는 경우 스토리지 장치의 동작 방법에 대응한다. 예를 들어, 도 8의 스토리지 장치(80)에서 시계열적으로 수행되는 단계들을 포함할 수 있고, 도 8을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다.
단계 S100에서, 스토리지 컨트롤러(11a)는 전력 소모량을 체크한다. 단계 S110에서, 스토리지 컨트롤러(11a)는 전력 소모량이 제1 임계 값(TH1) 이상인지 판단한다. 예를 들어, 제1 임계 값(TH1)은 미리 결정될 수 있다. 예를 들어, 제1 임계 값(TH1)은 스토리지 장치(80)의 동작 중에 변경될 수도 있다.
판단 결과, 전력 소모량이 제1 임계 값(TH1) 이상이면, 단계 S120에서, 스토리지 컨트롤러(11a)는 서브 블록 소거 모드(100b)를 선택하고, 서브 블록 소거 모드(100b)에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 서브 블록 별로 제어한다. 예를 들어, 비휘발성 메모리(12a)는 서브 블록 소거 모드(100b)에 따라, 제1 내지 제3 메모리 스택들(ST1, ST2, ST3) 중 제3 메모리 스택(ST3)에 대해 소거 동작을 수행할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 비휘발성 메모리(12a)는 서브 블록 소거 모드(100b)에 따라, 제1 내지 제3 메모리 스택들(ST1, ST2, ST3) 중 제1 메모리 스택(ST1) 또는 제2 메모리 스택(ST2)에 대해 소거 동작을 수행할 수도 있다.
한편, 판단 결과, 전력 소모량이 제1 임계 값(TH1) 보다 작으면, 단계 S130에서, 스토리지 컨트롤러(11a)는 블록 소거 모드(100a)를 선택하고, 블록 소거 모드(100a)에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 블록 별로 제어한다. 예를 들어, 비휘발성 메모리(12a)는 블록 소거 모드(100a)에 따라, 제1 내지 제3 메모리 스택들(ST1, ST2, ST3)을 포함하는 블록에 대해 소거 동작을 수행할 수 있다. 일부 실시예들에서, 판단 결과, 전력 소모량이 제1 임계 값(TH1) 보다 작으면, 단계 S130에서, 스토리지 컨트롤러(11a)는 전체 블록 소거 모드를 선택하고, 전체 블록 소거 모드에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 전체 블록에 대해 제어할 수 있다.
도 11은 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 12a는 본 개시의 일 실시예에 따른 제1 서브 블록 소거 모드(120a)를 나타내고, 도 12b는 본 개시의 일 실시예에 따른 제2 서브 블록 소거 모드(120b)를 나타낸다.
도 11 내지 도 12b를 함께 참조하면, 본 실시예에 따른 동작 방법은 도 9의 방법 동작의 변형 예에 대응할 수 있고, 중복된 설명은 생략하기로 한다. 단계 S140에서, 스토리지 컨트롤러(11a)는 전력 소모량이 제2 임계 값(TH2) 이상인지 판단한다. 이때, 제2 임계 값(TH2)은 제1 임계 값(TH1)보다 클 수 있다. 예를 들어, 제2 임계 값(TH2)은 미리 결정될 수 있다. 예를 들어, 제2 임계 값(TH2)은 스토리지 장치(80)의 동작 중에 변경될 수도 있다.
판단 결과, 전력 소모량이 제2 임계 값(TH2) 이상이면, 단계 S150에서, 스토리지 컨트롤러(11a)는 제1 서브 블록 소거 모드(120a)를 선택하고, 제1 서브 블록 소거 모드(120a)에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 서브 블록 별로 제어한다. 이때, 제1 서브 블록 소거 모드(120a)는 스택 소거 모드에 대응할 수 있다. 예를 들어, 비휘발성 메모리(12a)는 제1 서브 블록 소거 모드(120a)에 따라, 제1 메모리 스택(ST1)에 대해 소거 동작을 수행할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 비휘발성 메모리(12a)는 제1 서브 블록 소거 모드(120a)에 따라, 제2 메모리 스택(ST2) 또는 제3 메모리 스택(ST3)에 대해 소거 동작을 수행할 수도 있다.
한편, 판단 결과, 전력 소모량이 제2 임계 값(TH2) 보다 작으면, 단계 S160에서, 스토리지 컨트롤러(11a)는 제2 서브 블록 소거 모드(120b)를 선택하고, 제2 서브 블록 소거 모드(120b)에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 복수의 서브 블록들 별로 제어한다. 이때, 제2 서브 블록 소거 모드(120b)는 멀티 스택 소거 모드에 대응할 수 있다. 예를 들어, 비휘발성 메모리(12a)는 제2 서브 블록 소거 모드(120b)에 따라, 제2 및 제3 메모리 스택들(ST2, ST3)에 대해 소거 동작을 수행할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 비휘발성 메모리(12a)는 제2 서브 블록 소거 모드(120b)에 따라, 제1 및 제3 메모리 스택들(ST1, ST3) 또는 제1 및 제2 메모리 스택들(ST1, ST2)에 대해 소거 동작을 수행할 수도 있다.
도 13은 본 개시의 일 실시예에 따라 스토리지 장치의 동작 방법을 나타내는 흐름도이다. 도 14a는 본 개시의 일 실시예에 따른 제3 서브 블록 소거 모드를 나타내고, 도 14b는 본 개시의 일 실시예에 따른 제4 서브 블록 소거 모드를 나타낸다.
도 13 내지 도 14b를 함께 참조하면, 본 실시예에 따른 동작 방법은 도 11의 방법 동작의 변형 예에 대응할 수 있고, 중복된 설명은 생략하기로 한다. 단계 S170에서, 스토리지 컨트롤러(11a)는 전력 소모량이 제3 임계 값(TH3) 이상인지 판단한다. 이때, 제3 임계 값(TH3)은 제2 임계 값(TH2)보다 클 수 있다. 예를 들어, 제3 임계 값(TH3)은 미리 결정될 수 있다. 예를 들어, 제3 임계 값(TH3)은 스토리지 장치(80)의 동작 중에 변경될 수도 있다.
판단 결과, 전력 소모량이 제3 임계 값(TH3) 이상이면, 단계 S180에서, 스토리지 컨트롤러(11a)는 제3 서브 블록 소거 모드(140a)를 선택하고, 제3 서브 블록 소거 모드(140a)에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 메모리 스택 내의 그룹 별로 제어한다. 이때, 제3 서브 블록 소거 모드(140a)는 서브 스택 소거 모드에 대응할 수 있다. 예를 들어, 비휘발성 메모리(12a)는 제3 서브 블록 소거 모드(140a)에 따라, 제3 메모리 스택(ST3)에 포함된 적어도 하나의 그룹에 대해 소거 동작을 수행할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 비휘발성 메모리(12a)는 제3 서브 블록 소거 모드(140a)에 따라, 제2 메모리 스택(ST2)에 포함된 적어도 하나의 그룹 또는 제1 메모리 스택(ST1)에 포함된 적어도 하나의 그룹에 대해 소거 동작을 수행할 수도 있다.
한편, 판단 결과, 전력 소모량이 제3 임계 값(TH3) 보다 작으면, 단계 S190에서, 스토리지 컨트롤러(11a)는 제4 서브 블록 소거 모드(140b)를 선택하고, 제4 서브 블록 소거 모드(140b)에 따라 비휘발성 메모리(12a)에 대한 소거 동작을 서로 다른 메모리 스택들에 각각 포함된 그룹들 별로 제어한다. 이때, 제4 서브 블록 소거 모드(140b)는 크로스 스택 소거 모드에 대응할 수 있다. 예를 들어, 비휘발성 메모리(12a)는 제4 서브 블록 소거 모드(140b)에 따라, 제2 및 제3 메모리 스택들(ST2, ST3)에 각각 포함된 그룹들에 대해 소거 동작을 수행할 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 비휘발성 메모리(12a)는 제4 서브 블록 소거 모드(140b)에 따라, 제1 및 제3 메모리 스택들(ST1, ST3)에 각각 포함된 그룹들 또는 제1 및 제2 메모리 스택들(ST1, ST2)에 각각 포함된 그룹들에 대해 소거 동작을 수행할 수도 있다.
도 15는 본 개시의 일 실시예에 따른 스토리지 장치(150)를 나타내는 블록도이다.
도 15를 참조하면, 스토리지 장치(150)는 스토리지 컨트롤러(11a) 및 비휘발성 메모리(12b)를 포함할 수 있다. 스토리지 장치(150)는 도 8의 스토리지 장치(80)의 변형 예에 대응할 수 있고, 도 8 내지 도 14b를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있다. 비휘발성 메모리(12b)는 제1 및 제2 메모리 그룹들(MG1, MG2)을 포함하는 복수의 메모리 그룹들을 포함할 수 있다. 실시예에 따라, 복수의 메모리 그룹들은 복수의 비휘발성 메모리들이라고 지칭할 수도 있다. 제1 메모리 그룹(MG1)은 제1 내지 제3 메모리 스택들(1211, 1212, 1213)을 포함하는 복수의 메모리 스택들을 포함할 수 있고, 제2 메모리 그룹(MG2)은 제1 내지 제3 메모리 스택들(1214, 1215, 1216)을 포함하는 복수의 메모리 스택들을 포함할 수 있다.
스토리지 컨트롤러(11a)는 제1 및 제2 메모리 그룹들(MG1, MG2) 각각에 대응하는 소거 모드들을 선택할 수 있고, 제1 및 제2 메모리 그룹들(MG1, MG2)에 대한 소거 동작을 독립적으로 제어할 수 있다. 구체적으로, 스토리지 컨트롤러(11a)는 제1 소거 모드에 따라 제1 메모리 그룹(MG1)에 대한 소거 동작을 제어하고, 제2 소거 모드에 따라 제2 메모리 그룹(MG2)에 대한 소거 동작을 제어할 수 있다. 기본적으로 서브 블록 소거 모드에 따라 비휘발성 메모리(12b)에 대한 소거 동작을 수행할 경우, 블록 단위에 해당하는 프리 공간이 필요한 경우에는, 복수의 블록들 또는 복수의 메모리 그룹들에 대해 서브 블록 소거 동작을 수행할 수 있다.
예를 들어, 제1 및 제2 메모리 그룹들(MG1, MG2) 각각은 제1 및 제2 메모리 칩들에 대응할 수 있고, 스토리지 컨트롤러(11a)는 제1 및 제2 메모리 칩들 각각에 대응하는 소거 모드들에 따라 메모리 칩 별로 소거 동작을 제어할 수 있다. 예를 들어, 제1 및 제2 메모리 그룹들(MG1, MG2) 각각은 제1 및 제2 메모리 다이들에 대응할 수 있고, 스토리지 컨트롤러(11a)는 제1 및 제2 메모리 다이들 각각에 대응하는 소거 모드들에 따라 메모리 다이 별로 소거 동작을 제어할 수 있다. 이때, 메모리 칩은 복수의 메모리 다이들을 포함할 수 있다. 예를 들어, 제1 및 제2 메모리 그룹들(MG1, MG2) 각각은 제1 및 제2 메모리 플레인들에 대응할 수 있고, 스토리지 컨트롤러(11a)는 제1 및 제2 메모리 플레인들 각각에 대응하는 소거 모드들에 따라 메모리 플레인 별로 소거 동작을 제어할 수 있다. 이때, 메모리 다이는 복수의 메모리 플레인들을 포함할 수 있고, 복수의 메모리 플레인들에 대한 동작들은 독립적으로 수행될 수 있다.
도 16은 본 개시의 일 실시예에 따라 메모리 다이 별로 소거 모드를 제어하는 스토리지 장치(160)를 나타낸다.
도 16을 참조하면, 스토리지 장치(160)는 스토리지 컨트롤러(161) 및 비휘발성 메모리(162)를 포함할 수 있다. 스토리지 컨트롤러(161)는 도 15의 스토리지 컨트롤러(11a)의 일 예에 대응할 수 있고, 비휘발성 메모리(162)는 도 15의 비휘발성 메모리(12b)의 일 예에 대응할 수 있다. 예를 들어, 비휘발성 메모리(162)는 제1 내지 제8 메모리 다이들(DIE1 내지 DIE8)을 포함할 수 있다. 이때, 제1 내지 제8 메모리 다이들(DIE1 내지 DIE8)은 도 15의 복수의 메모리 그룹들의 일 예에 대응할 수 있다. 예를 들어, 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4)은 제1 채널(CH1)을 통해 스토리지 컨트롤러(161)와 통신할 수 있고, 제5 내지 제8 메모리 다이들(DIE5 내지 DIE8)은 제2 채널(CH2)을 통해 스토리지 컨트롤러(161)와 통신할 수 있다.
예를 들어, 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4) 및 제6 내지 제8 메모리 다이들(DIE6 내지 DIE8)에 대해 독출 동작(RD_op)이 수행되는 경우, 스토리지 컨트롤러(161)는 비휘발성 메모리(162), 즉, 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4) 및 제6 내지 제8 메모리 다이들(DIE6 내지 DIE8)에 대해 집중적인 독출 동작이 수행되는 것으로 판단할 수 있다. 이때, 스토리지 컨트롤러(161)는 제5 메모리 다이(DIE5)의 소거 모드를 서브 블록 소거 모드(SUB-BLK ERS)로 결정하고, 제5 메모리 다이(DIE5)에 포함된 선택 블록의 적어도 하나의 서브 블록에 대해 소거 동작을 수행할 수 있다.
그러나, 본 발명은 이에 한정되지 않으며, 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4) 및 제6 내지 제8 메모리 다이들(DIE6 내지 DIE8)에 대해 프로그램 동작이 수행되는 경우, 스토리지 컨트롤러(161)는 비휘발성 메모리(162), 즉, 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4) 및 제6 내지 제8 메모리 다이들(DIE6 내지 DIE8)에 대해 집중적인 프로그램 동작이 수행되는 것으로 판단할 수 있다. 이때, 스토리지 컨트롤러(161)는 제5 메모리 다이(DIE5)의 소거 모드를 서브 블록 소거 모드(SUB-BLK ERS)로 결정하고, 제5 메모리 다이(DIE5)에 포함된 선택 블록의 적어도 하나의 서브 블록에 대해 소거 동작을 수행할 수 있다.
도 17은 본 개시의 일 실시예에 따라 메모리 다이 별로 소거 모드를 제어하는 스토리지 장치(170)를 나타낸다.
도 17을 참조하면, 스토리지 장치(170)는 스토리지 컨트롤러(171) 및 비휘발성 메모리(172)를 포함할 수 있다. 스토리지 장치(170)는 도 16의 스토리지 장치(160)의 변형 예에 대응하며, 중복된 설명은 생략하기로 한다. 예를 들어, 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4), 제7 및 제8 메모리 다이들(DIE7, DIE8)에 대해 독출 동작(RD_op)이 수행되는 경우, 스토리지 컨트롤러(171)는 비휘발성 메모리에 대해 집중적인 독출 동작이 수행되는 것으로 판단할 수 있다. 이때, 스토리지 컨트롤러(171)는 제5 메모리 다이(DIE5)의 소거 모드를 서브 블록 소거 모드(SUB-BLK ERS)로 결정하고, 제5 메모리 다이(DIE5)에 포함된 선택 블록의 적어도 하나의 서브 블록에 대해 소거 동작을 수행할 수 있다. 또한, 스토리지 컨트롤러(171)는 제6 메모리 다이(DIE6)의 소거 모드를 풀 블록 소거 모드(FULL-BLK ERS) 또는 전체 블록 소거 모드로 결정하고, 제6 메모리 다이(DIE6)에 포함된 선택 블록 또는 전체 블록들에 대해 소거 동작을 수행할 수 있다.
도 18은 본 개시의 일 실시예에 따라 메모리 칩 별로 소거 모드를 제어하는 스토리지 장치(180)를 나타낸다.
도 18을 참조하면, 스토리지 장치(180)는 스토리지 컨트롤러(181) 및 비휘발성 메모리(182)를 포함할 수 있다. 스토리지 컨트롤러(181)는 도 15의 스토리지 컨트롤러(11a)의 일 예에 대응할 수 있고, 비휘발성 메모리(182)는 도 15의 비휘발성 메모리(12b)의 일 예에 대응할 수 있다. 예를 들어, 비휘발성 메모리(182)는 제1 메모리 칩(CHIP1) 및 제2 메모리 칩(CHIP2)을 포함할 수 있다. 이때, 제1 및 제2 메모리 칩들(CHIP1, CHIP2)은 도 15의 복수의 메모리 그룹들의 일 예에 대응할 수 있다. 예를 들어, 제1 메모리 칩(CHIP1)은 제1 채널(CH1)을 통해 스토리지 컨트롤러(181)와 통신할 수 있고, 제2 메모리 칩(CHIP2)은 제2 채널(CH2)을 통해 스토리지 컨트롤러(181)와 통신할 수 있다. 예를 들어, 제1 메모리 칩(CHIP1)은 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4)을 포함할 수 있고, 제2 메모리 칩(CHIP2)은 제5 내지 제8 메모리 다이들(DIE5 내지 DIE8)을 포함할 수 있다.
제1 메모리 칩(CHIP1)에 대해 집중적인 독출 동작 또는 프로그램 동작이 수행되는 경우, 예를 들어, 제1 메모리 칩(CHIP1)의 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4)에 대해 독출 동작(RD_op)이 수행되는 경우, 스토리지 컨트롤러(181)는 비휘발성 메모리(182), 즉, 제1 메모리 칩(CHIP1)에 대해 집중적인 독출 동작이 수행되는 것으로 판단할 수 있다. 이때, 스토리지 컨트롤러(181)는 제2 메모리 칩(CHIP2)의 소거 모드를 서브 블록 소거 모드(SUB-BLK ERS)로 결정하고, 제2 메모리 칩(CHIP2)에 포함된 제5 내지 제8 메모리 다이들(DIE5 내지 DIE8)에 대해 서브 블록 별로 소거 동작을 제어할 수 있다.
그러나, 본 발명은 이에 한정되지 않으며, 제1 메모리 칩(CHIP1)의 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4)에 대해 프로그램 동작이 수행되는 경우, 스토리지 컨트롤러(181)는 비휘발성 메모리(182), 즉, 제1 메모리 칩(CHIP1)에 대해 집중적인 프로그램 동작이 수행되는 것으로 판단할 수 있다. 이때, 스토리지 컨트롤러(181)는 제2 메모리 칩(CHIP2)의 소거 모드를 서브 블록 소거 모드(SUB-BLK ERS)로 결정하고, 제2 메모리 칩(CHIP2)에 포함된 제5 내지 제8 메모리 다이들(DIE5 내지 DIE8)에 대해 서브 블록 별로 소거 동작을 제어할 수 있다.
도 19는 본 개시의 일 실시예들에 따라 메모리 칩 별로 소거 모드를 제어하는 스토리지 장치(190)를 나타낸다.
도 19를 참조하면, 스토리지 장치(190)는 스토리지 컨트롤러(191) 및 비휘발성 메모리(192)를 포함할 수 있다. 스토리지 장치(190)는 도 18의 스토리지 장치(180)의 변형 예에 대응하며, 중복된 설명은 생략하기로 한다. 예를 들어, 제1 메모리 칩(CHIP1)의 제3 및 제4 메모리 다이들(DIE3, DIE4)에 대해 독출 동작(RD_op)또는 프로그램 동작이 수행되는 경우, 스토리지 컨트롤러(191)는 제1 메모리 칩(CHIP1)에 대해서는 풀 블록 소거 모드(FULL-BLK ERS) 또는 전체 블록 소거 모드를 결정하고, 제2 메모리 칩(CHIP2)에 대해서는 서브 블록 소거 모드(SUB-BLK ERS)를 결정할 수 있다. 이에 따라, 스토리지 컨트롤러(191)는 제1 메모리 칩(CHIP1)의 제1 및 제2 메모리 다이들(DIE1, DIE2)에 대해 블록 별로 소거 동작을 제어할 수 있다. 또한, 스토리지 컨트롤러(191)는 제2 메모리 칩(CHIP2)의 제5 내지 제8 메모리 다이들(DIE5 내지 DIE8)에 대해 서브 블록 별로 소거 동작을 제어할 수 있다.
도 20은 본 개시의 일 실시예에 따라 메모리 플레인 별로 소거 모드를 제어하는 스토리지 장치(200)를 나타낸다.
도 20을 참조하면, 스토리지 장치(200)는 스토리지 컨트롤러(201) 및 비휘발성 메모리(202)를 포함할 수 있다. 스토리지 컨트롤러(201)는 도 15의 스토리지 컨트롤러(11a)의 일 예에 대응할 수 있고, 비휘발성 메모리(202)는 도 15의 비휘발성 메모리(12b)의 일 예에 대응할 수 있다. 예를 들어, 비휘발성 메모리(202)는 제1 내지 제8 메모리 다이들(DIE1 내지 DIE8)을 포함할 수 있고, 제1 내지 제8 메모리 다이들(DIE1 내지 DIE8) 각각은 제1 메모리 플레인(PL1) 및 제2 메모리 플레인(PL2)을 포함할 수 있다. 이때, 제1 및 제2 메모리 플레인들(PL1, PL2)은 도 15의 복수의 메모리 그룹들의 일 예에 대응할 수 있다. 예를 들어, 제1 내지 제4 메모리 다이들(DIE1 내지 DIE4)은 제1 채널(CH1)을 통해 스토리지 컨트롤러(201)와 통신할 수 있고, 제5 내지 제8 메모리 다이들(DIE5 내지 DIE8)은 제2 채널(CH2)을 통해 스토리지 컨트롤러(201)와 통신할 수 있다.
제1 및 제2 메모리 플레인들(PL1, PL2) 중 하나에 대해 독출 동작 또는 프로그램 동작이 수행되는 경우, 예를 들어, 제2 메모리 플레인(PL2)에 대해 독출 동작(RD_op)이 수행되는 경우, 스토리지 컨트롤러(201)는 제5 메모리 다이(DIE5)의 제2 메모리 플레인(PL2)에 대해 집중적인 독출 동작이 수행되는 것으로 판단할 수 있다. 이때, 스토리지 컨트롤러(201)는 제1 메모리 플레인(PL1)의 소거 모드를 서브 블록 소거 모드(SUB-BLK ERS)로 결정하고, 제1 메모리 플레인(PL1)에 대해 서브 블록 별로 소거 동작을 제어할 수 있다.
도 21은 본 개시의 일 실시예에 따라 메모리 플레인 별로 소거 모드를 제어하는 스토리지 장치(210)를 나타낸다.
도 21을 참조하면, 스토리지 장치(210)는 스토리지 컨트롤러(211) 및 비휘발성 메모리(212)를 포함할 수 있다. 스토리지 장치(210)는 도 20의 스토리지 장치(200)의 변형 예에 대응하며, 중복된 설명은 생략하기로 한다. 예를 들어, 제1 내지 제4 메모리 다이들(DIE1 내지 DI4) 및 제6 내지 제8 메모리 다이들(DIE6 내지 DIE8)에 대해 독출 동작(RD_op)이 수행되는 경우, 스토리지 컨트롤러(211)는 제5 메모리 다이(DIE5)의 제1 및 제2 메모리 플레인들(PL1, PL2)에 대응하는 소거 모드들을 각각 결정할 수 있다. 예를 들어, 스토리지 컨트롤러(211)는 제5 메모리 다이(DIE5)의 제1 메모리 플레인(PL1)에 대해서는 서브 블록 소거 모드(SUB-BLK ERS)를 결정하고, 제5 메모리 다이(DIE5)의 제2 메모리 플레인(PL2)에 대해서는 풀 블록 소거 모드(FULL-BLK ERS) 또는 전체 블록 소거 모드를 결정할 수 있다. 이에 따라, 스토리지 컨트롤러(211)는 제5 메모리 다이(DIE5)의 제1 메모리 플레인(PL1)에 대해 서브 블록 별로 또는 전체 블록 별로 소거 동작을 제어할 수 있다. 또한, 스토리지 컨트롤러(211)는 제5 메모리 다이(DIE5)의 제2 메모리 플레인(PL2)에 대해 블록 별로 소거 동작을 제어할 수 있다.
도 22는 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 22를 참조하면, 본 실시예에 따른 동작 방법은 예를 들어, 도 1의 스토리지 컨트롤러(11) 및 비휘발성 메모리(12)에서 수행될 수 있다. 도 1 내지 도 21을 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다. 단계 S200에서, 스토리지 컨트롤러(11)는 소거 동작 요청을 생성한다. 단계 S210에서, 스토리지 컨트롤러(11)는 전력 소모량을 체크한다. 단계 S220에서, 스토리지 컨트롤러(11)는 소거 모드를 선택한다. 단계 S230에서, 스토리지 컨트롤러(11)는 소거 커맨드를 생성한다. 단계 S240에서, 스토리지 컨트롤러(11)는 소거 모드 정보(EM)를 포함하는 소거 커맨드(E_CMD)를 비휘발성 메모리(12)에 전송한다. 단계 S270에서, 비휘발성 메모리(12)는 소거 커맨드(E_CMD)에 응답하여, 소거 모드를 기초로 소거 동작을 수행한다. 단계 S280에서, 비휘발성 메모리(12)는 소거 동작의 완료를 나타내는 응답을 스토리지 컨트롤러(11)에 전송한다.
도 23은 본 개시의 일 실시예에 따른 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 23을 참조하면, 본 실시예에 따른 동작 방법은 예를 들어, 도 1의 스토리지 컨트롤러(11) 및 비휘발성 메모리(12)에서 수행될 수 있고, 도 22의 동작 방법의 변형 예에 대응할 수 있다. 이에 따라, 도 1 내지 도 22를 참조하여 상술된 내용은 본 실시예에도 적용될 수 있고, 중복된 설명은 생략하기로 한다. 단계 S200에서, 스토리지 컨트롤러(11)는 소거 동작 요청을 생성한다. 단계 S210에서, 스토리지 컨트롤러(11)는 전력 소모량을 체크한다. 단계 S220에서, 스토리지 컨트롤러(11)는 소거 모드를 선택한다. 단계 S235에서, 스토리지 컨트롤러(11)는 소거 커맨드를 생성한다. 단계 S245에서, 스토리지 컨트롤러(11)는 소거 커맨드(E_CMD)를 비휘발성 메모리(12)에 전송한다. 단계 S250에서, 스토리지 컨트롤러(11)는 소거 모드 커맨드를 생성한다. 단계 S260에서, 스토리지 컨트롤러(11)는 소거 모드 커맨드(EM_CMD)를 비휘발성 메모리(12)에 전송한다. 단계 S270에서, 비휘발성 메모리(12)는 소거 커맨드(E_CMD)에 응답하여, 소거 모드를 기초로 소거 동작을 수행한다. 단계 S280에서, 비휘발성 메모리(12)는 소거 동작의 완료를 나타내는 응답을 스토리지 컨트롤러(11)에 전송한다.
도 24는 본 개시의 일 실시예에 따른 스토리지 장치가 적용된 시스템(1000)을 나타낸다. 도 24의 시스템(1000)은 기본적으로 휴대용 통신 단말기(mobile phone), 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 웨어러블 기기, 헬스케어 기기 또는 IOT(internet of things) 기기와 같은 모바일(mobile) 시스템일 수 있다. 하지만 도 24의 시스템(1000)은 반드시 모바일 시스템에 한정되는 것은 아니고, 개인용 컴퓨터(personal computer), 랩탑(laptop) 컴퓨터, 서버(server), 미디어 재생기(media player) 또는 내비게이션(navigation)과 같은 차량용 장비(automotive device) 등이 될 수도 있다.
도 24를 참조하면, 시스템(1000)은 메인 프로세서(main processor)(1100), 메모리(1200a, 1200b) 및 스토리지 장치(1300a, 1300b)를 포함할 수 있으며, 추가로 촬영 장치(image capturing device)(1410), 사용자 입력 장치(user input device)(1420), 센서(1430), 통신 장치(1440), 디스플레이(1450), 스피커(1460), 전력 공급 장치(power supplying device)(1470) 및 연결 인터페이스(connecting interface)(1480) 중 하나 이상을 포함할 수 있다.
메인 프로세서(1100)는 시스템(1000)의 전반적인 동작, 보다 구체적으로는 시스템(1000)을 이루는 다른 구성 요소들의 동작을 제어할 수 있다. 이와 같은 메인 프로세서(1100)는 범용 프로세서, 전용 프로세서 또는 애플리케이션 프로세서(application processor) 등으로 구현될 수 있다.
메인 프로세서(1100)는 하나 이상의 CPU 코어(1110)를 포함할 수 있으며, 메모리(1200a, 1200b) 및/또는 스토리지 장치(1300a, 1300b)를 제어하기 위한 컨트롤러(1120)를 더 포함할 수 있다. 실시예에 따라서는, 메인 프로세서(1100)는 AI(artificial intelligence) 데이터 연산 등 고속 데이터 연산을 위한 전용 회로인 가속기(accelerator)(1130)를 더 포함할 수 있다. 이와 같은 가속기(1130)는 GPU(Graphics Processing Unit), NPU(Neural Processing Unit) 및/또는 DPU(Data Processing Unit) 등을 포함할 수 있으며, 메인 프로세서(1100)의 다른 구성 요소와는 물리적으로 독립된 별개의 칩(chip)으로 구현될 수도 있다.
메모리(1200a, 1200b)는 시스템(1000)의 주기억 장치로 사용될 수 있으며, SRAM 및/또는 DRAM 등의 휘발성 메모리를 포함할 수 있으나, 플래시 메모리, PRAM 및/또는 RRAM 등의 비휘발성 메모리를 포함할 수도 있다. 메모리(1200a, 1200b)는 메인 프로세서(1100)와 동일한 패키지 내에 구현되는 것도 가능하다.
스토리지 장치(1300a, 1300b)는 전원 공급 여부와 관계 없이 데이터를 저장하는 비휘발성 저장 장치로서 기능할 수 있으며, 메모리(1200a, 1200b)에 비해 상대적으로 큰 저장 용량을 가질 수 있다. 스토리지 장치(1300a, 1300b)는 스토리지 컨트롤러(1310a, 1310b)와, 스토리지 컨트롤러(1310a, 1310b)의 제어 하에 데이터를 저장하는 비휘발성 메모리(non-volatile memory, NVM)(1320a, 1320b)를 포함할 수 있다. 비휘발성 메모리(1320a, 1320b)는 2D(2-dimensional) 구조 혹은 3D(3-dimensional) V-NAND(Vertical NAND) 구조의 플래시 메모리를 포함할 수 있으나, PRAM 및/또는 RRAM 등의 다른 종류의 비휘발성 메모리를 포함할 수도 있다.
스토리지 장치(1300a, 1300b)는 메인 프로세서(1100)와는 물리적으로 분리된 상태로 시스템(1000)에 포함될 수도 있고, 메인 프로세서(1100)와 동일한 패키지 내에 구현될 수도 있다. 또한, 스토리지 장치(1300a, 1300b)는 SSD(solid state device) 혹은 메모리 카드(memory card)와 같은 형태를 가짐으로써, 후술할 연결 인터페이스(1480)와 같은 인터페이스를 통해 시스템(1000)의 다른 구성 요소들과 탈부착 가능하도록 결합될 수도 있다. 이와 같은 스토리지 장치(1300a, 1300b)는 UFS(Universal Flash Storage), eMMC(embedded multi-media card) 혹은 NVMe(non-volatile memory express)와 같은 표준 규약이 적용되는 장치일 수 있으나, 반드시 이에 한정되는 건 아니다.
촬영 장치(1410)는 정지 영상 또는 동영상을 촬영할 수 있으며, 카메라(camera), 캠코더(camcorder) 및/또는 웹캠(webcam) 등일 수 있다. 사용자 입력 장치(1420)는 시스템(1000)의 사용자로부터 입력된 다양한 유형의 데이터를 수신할 수 있으며, 터치 패드(touch pad), 키패드(keypad), 키보드(keyboard), 마우스(mouse) 및/또는 마이크(microphone) 등일 수 있다. 센서(1430)는 시스템(1000)의 외부로부터 획득될 수 있는 다양한 유형의 물리량을 감지하고, 감지된 물리량을 전기 신호로 변환할 수 있다. 이와 같은 센서(1430)는 온도 센서, 압력 센서, 조도 센서, 위치 센서, 가속도 센서, 바이오 센서(biosensor) 및/또는 자이로스코프(gyroscope) 센서 등일 수 있다.
통신 장치(1440)는 다양한 통신 규약에 따라 시스템(1000) 외부의 다른 장치들과의 사이에서 신호의 송신 및 수신을 수행할 수 있다. 이와 같은 통신 장치(1440)는 안테나, 트랜시버(transceiver) 및/또는 모뎀(MODEM) 등을 포함하여 구현될 수 있다. 디스플레이(1450) 및 스피커(1460)는 시스템(1000)의 사용자에게 각각 시각적 정보와 청각적 정보를 출력하는 출력 장치로 기능할 수 있다. 전력 공급 장치(1470)는 시스템(1000)에 내장된 배터리(도시 안함) 및/또는 외부 전원으로부터 공급되는 전력을 적절히 변환하여 시스템(1000)의 각 구성 요소들에게 공급할 수 있다.
연결 인터페이스(1480)는 시스템(1000)과, 시스템(1000)에 연결되어 시스템(1000과 데이터를 주고받을 수 있는 외부 장치 사이의 연결을 제공할 수 있다. 연결 인터페이스(1480)는 ATA(Advanced Technology Attachment), SATA(Serial ATA), e-SATA(external SATA), SCSI(Small Computer Small Interface), SAS(Serial Attached SCSI), PCI(Peripheral Component Interconnection), PCIe(PCI express), NVMe, IEEE 1394, USB(universal serial bus), SD(secure digital) 카드, MMC(multi-media card), eMMC, UFS, eUFS(embedded Universal Flash Storage), CF(compact flash) 카드 인터페이스 등과 같은 다양한 인터페이스 방식으로 구현될 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 복수의 블록들을 포함하고, 각 블록은 독립적으로 소거 가능한 복수의 서브 블록들을 포함하는, 비휘발성 메모리; 및
    제1 서브 블록 소거 모드 및 제2 서브 블록 소거 모드를 포함하는 복수의 소거 모드들 중 소거 모드를 선택하고, 선택된 상기 소거 모드에 따라 상기 비휘발성 메모리에 대한 소거 동작을 제어하는 스토리지 컨트롤러를 포함하고,
    상기 스토리지 컨트롤러는,
    상기 비휘발성 메모리의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 상기 소거 모드를 선택하고,
    상기 제1 서브 블록 소거 모드에서, 상기 복수의 블록들 중 선택 블록의 서브 블록들 중 하나의 선택 서브 블록에 대한 소거 동작을 제어하며,
    상기 제2 서브 블록 소거 모드에서, 상기 선택 블록의 상기 서브 블록들 중 둘 이상의 선택 서브 블록들에 대한 소거 동작을 제어하는 것을 특징으로 하는 스토리지 장치.
  2. 제1항에 있어서,
    상기 복수의 소거 모드들은 블록 소거 모드를 더 포함하고,
    상기 스토리지 컨트롤러는,
    상기 전력 소모량이 임계 값보다 크지 않은 일반 전력 모드에서 상기 블록 소거 모드를 선택하며,
    상기 블록 소거 모드에서, 상기 선택 블록에 대한 소거 동작을 제어하는 것을 특징으로 하는 스토리지 장치.
  3. 제1항에 있어서,
    상기 스토리지 컨트롤러는,
    상기 비휘발성 메모리에 대한 프로그램 동작의 수행 전에, 상기 소거 모드에 따라 상기 소거 동작을 제어하거나, 또는
    상기 비휘발성 메모리에서 프리 블록을 확보하기 위하여, 상기 소거 모드에 따라 상기 소거 동작을 제어하는 것을 특징으로 하는 스토리지 장치.
  4. 제1항에 있어서,
    상기 복수의 서브 블록들은,
    기판의 상부에서 수직 방향을 따라 배치되고, 각각 수직 방향으로 연장된 복수의 메모리 스택들에 각각 대응하는 것을 특징으로 하는 스토리지 장치.
  5. 제1항에 있어서,
    상기 제1 및 제2 서브 블록 소거 모드들은 저 전력 모드에 대응하는 것을 특징으로 하는 스토리지 장치.
  6. 제1항에 있어서,
    상기 복수의 소거 모드들은 블록 소거 모드를 더 포함하고,
    상기 스토리지 컨트롤러는,
    호스트로부터 수신한 커맨드들이 큐잉된 커맨드 큐(queue)로부터 상기 동작 스케쥴을 확인하고,
    상기 비휘발성 메모리에 대한 독출 커맨드 및 기입 커맨드의 개수가 기준 개수 이상이면, 상기 소거 모드를 상기 제1 서브 블록 소거 모드 또는 상기 제2 서브 블록 소거 모드로 결정하며,
    상기 비휘발성 메모리에 대한 상기 독출 커맨드 및 상기 기입 커맨드의 개수가 상기 기준 개수보다 많지 않으면, 상기 소거 모드를 상기 블록 소거 모드로 결정하는 것을 특징으로 하는 스토리지 장치.
  7. 제1항에 있어서,
    상기 복수의 소거 모드들은 블록 소거 모드를 더 포함하고,
    상기 스토리지 컨트롤러는,
    상기 전력 소모량이 제1 임계 값보다 크지 않으면, 상기 소거 모드를 상기 블록 소거 모드로 결정하며,
    상기 전력 소모량이 상기 제1 임계 값과 제2 임계 값 사이이면, 상기 소거 모드를 상기 제2 서브 블록 소거 모드로 결정하고,
    상기 전력 소모량이 상기 제2 임계 값 이상이면, 상기 소거 모드를 상기 제1 서브 블록 소거 모드로 결정하는 것을 특징으로 하는 스토리지 장치.
  8. 제1항에 있어서,
    상기 복수의 소거 모드들은 제3 서브 블록 소거 모드 및 제4 서브 블록 소거 모드를 더 포함하고,
    상기 복수의 서브 블록들 각각은, 독립적으로 소거 가능한 복수의 그룹들로 그룹핑되며,
    상기 제3 서브 블록 소거 모드에서, 상기 한의 선택 서브 블록에 포함된 적어도 하나의 그룹에 대한 소거 동작이 수행되고,
    상기 제4 서브 블록 소거 모드에서, 상기 둘 이상의 선택 서브 블록들에 각각 포함된 그룹들에 대한 소거 동작이 수행되는 것을 특징으로 하는 스토리지 장치.
  9. 각각 복수의 블록들을 포함하고, 각 블록은 독립적으로 소거 가능한 복수의 서브 블록들을 포함하는, 복수의 비휘발성 메모리들; 및
    상기 복수의 비휘발성 메모리들의 동작 스케쥴 및 전력 소모량 중 적어도 하나에 따라 상기 복수의 비휘발성 메모리들에 각각 대응하는 소거 모드들을 선택하고, 선택된 상기 소거 모드들에 따라 상기 복수의 비휘발성 메모리들에 대한 소거 동작들을 각각 제어하는 스토리지 컨트롤러를 포함하고,
    상기 스토리지 컨트롤러는,
    상기 전력 소모량이 임계 값 이상이면, 상기 복수의 비휘발성 메모리들 중 적어도 하나의 소거 모드를 서브 블록 소거 모드로 결정하고,
    상기 서브 블록 소거 모드에서, 상기 복수의 비휘발성 메모리들 중 상기 적어도 하나에 포함된 적어도 하나의 서브 블록에 대한 소거 동작을 제어하는 것을 특징으로 하는 스토리지 장치.
  10. 제9항에 있어서,
    상기 복수의 비휘발성 메모리들은 복수의 메모리 칩들, 복수의 메모리 다이들, 및 복수의 메모리 플레인들 중 적어도 하나를 포함하는 것을 특징으로 하는 스토리지 장치.
KR1020220167031A 2022-12-02 비휘발성 메모리 장치 및 스토리지 장치 KR20240082907A (ko)

Publications (1)

Publication Number Publication Date
KR20240082907A true KR20240082907A (ko) 2024-06-11

Family

ID=

Similar Documents

Publication Publication Date Title
US9256530B2 (en) Nonvolatile memory device and sub-block managing method thereof
KR20160110596A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법
US9898423B2 (en) Memory swapping method, and host device, storage device, and data processing system using the same
US9257192B2 (en) Memory system performing multi-step erase operation based on stored metadata
CN111554339A (zh) 控制暂停模式的存储器控制器和方法
US11567685B2 (en) Storage controller and storage device including the same
KR20200033460A (ko) 메모리 시스템 및 그것의 동작방법
US11922037B2 (en) Controller, storage device and operation method of storage device
US20230221875A1 (en) Method of operating a storage device, and storage device
US20220238170A1 (en) Memory system and operating method thereof
CN114546903A (zh) 存储装置和包括其的存储系统
KR20240082907A (ko) 비휘발성 메모리 장치 및 스토리지 장치
US20240184458A1 (en) Non-volatile memory device and storage device
EP4332778A1 (en) Storage device and operating method of storage controller
EP4372749A1 (en) Non-volatile memory device and storage device
CN118136076A (zh) 非易失性存储器装置和存储装置
US20230147882A1 (en) Memory controller for controlling allocation ratio of buffer memory, memory system including the same, and method of operating memory controller
US20240170072A1 (en) Storage device and storage system including the same
US20230297505A1 (en) Storage device, system including storage device and method operating storage device
US12001349B2 (en) Storage device including regions of different densities and operation method thereof
US11592982B2 (en) Memory storage device and electronic device including nonvolatile memory
US20240126453A1 (en) Non-volatile memory device, storage device, operating method of storage controller, and operating method of the storage device
US20230195333A1 (en) Storage device and operation method of electronic system
US20230221885A1 (en) Storage system and computing system including the same
US20230131466A1 (en) Storage device and operation method thereof