KR20170005285A - 불휘발성 메모리 시스템 및 그것의 프로그램 방법 - Google Patents

불휘발성 메모리 시스템 및 그것의 프로그램 방법 Download PDF

Info

Publication number
KR20170005285A
KR20170005285A KR1020150094804A KR20150094804A KR20170005285A KR 20170005285 A KR20170005285 A KR 20170005285A KR 1020150094804 A KR1020150094804 A KR 1020150094804A KR 20150094804 A KR20150094804 A KR 20150094804A KR 20170005285 A KR20170005285 A KR 20170005285A
Authority
KR
South Korea
Prior art keywords
nonvolatile memory
memory device
data
page data
signals
Prior art date
Application number
KR1020150094804A
Other languages
English (en)
Other versions
KR102527961B1 (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 KR1020150094804A priority Critical patent/KR102527961B1/ko
Priority to US15/083,834 priority patent/US9799402B2/en
Publication of KR20170005285A publication Critical patent/KR20170005285A/ko
Application granted granted Critical
Publication of KR102527961B1 publication Critical patent/KR102527961B1/ko

Links

Images

Classifications

    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 불휘발성 메모리 시스템은 제1 및 제2 불휘발성 메모리 장치들, 및 하나의 채널을 통해 제1 및 제2 불휘발성 메모리 장치들을 제어하는 메모리 컨트롤러를 포함한다. 프로그램 동작시, 메모리 컨트롤러는 제1 페이지 데이터를 제1 불휘발성 메모리 장치에 셋업하기 위한 제1 신호들을 하나의 채널을 통해 제1 불휘발성 메모리 장치로 전송한다. 제1 불휘발성 메모리 장치가 제1 신호들에 응답하여 제1 페이지 데이터를 셋업하는 동안, 메모리 컨트롤러는 제2 페이지 데이터를 제2 불휘발성 메모리장치에 셋업하기 위한 제2 신호들 중 적어도 하나를 제2 불휘발성 메모리 장치로 전송한다.

Description

불휘발성 메모리 시스템 및 그것의 프로그램 방법{NONVOLATILE MEMORY DEVICE AND PROGRAM METHOD THEREOF}
본 발명은 반도체 메모리에 관한 것으로서 더욱 상세하게는 불휘발성 메모리 시스템 및 그것의 프로그램 방법에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile memory device)로 구분된다.
불휘발성 메모리 장치의 일종인 플래시 메모리는 대용량, 저소음 등의 장점으로 인하여 대용량 저장 매체로서 널리 사용된다. 하나의 플래시 메모리의 동작 속도는 다른 저장 매체에 비하여 느리나, 복수의 플래시 메모리들을 병렬적으로 사용함으로써 동작 속도를 향상시킬 수 있다. 예를 들어, 플래시 메모리를 기반으로 하는 솔리드 스테이트 드라이브(SSD; solid state drive)는 하나의 채널을 통해 복수의 플래시 메모리 장치들과 통신한다. 복수의 플래시 장치들 각각은 "웨이(WAY)"라 불린다. SSD는 상술된 채널과 동일한 복수의 채널들을 통해 프로그램 또는 읽기 동작 성능을 향상시킨다. 최근에는 인터페이스 속도, 프로세서의 데이터 처리 속도가 증가함에 따라 플래시 메모리의 성능을 향상시키기 위한 다양한 기법들이 개발되고 있다.
본 발명의 목적은 불휘발성 메모리 시스템의 프로그램 동작시, 페이지 데이터를 복수의 불휘발성 메모리 장치들에 교대로 셋업하여 더미 비지 타임에 의한 시간 지연을 단축시킴으로써 향상된 성능을 갖는 불휘발성 메모리 시스템 및 그것의 프로그램 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 시스템은 제1 및 제2 불휘발성 메모리 장치들; 및 하나의 채널을 통해 상기 제1 및 제2 불휘발성 메모리 장치들을 제어하는 메모리 컨트롤러를 포함하고, 프로그램 동작시, 상기 메모리 컨트롤러는 제1 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하기 위한 제1 신호들을 상기 하나의 채널을 통해 상기 제1 불휘발성 메모리 장치로 전송하고, 상기 제1 불휘발성 메모리 장치가 상기 제1 신호들에 응답하여 상기 제1 페이지 데이터를 셋업하는 동안, 상기 메모리 컨트롤러는 제2 페이지 데이터를 상기 제2 불휘발성 메모리장치에 셋업하기 위한 제2 신호들 중 적어도 하나를 상기 제2 불휘발성 메모리 장치로 전송한다.
실시 예로서, 상기 메모리 컨트롤러는 제1 칩 활성화 신호를 상기 제1 불휘발성 메모리 장치로 전송하고, 제2 칩 활성화 신호를 상기 제2 불휘발성 메모리 장치로 전송하고, 데이터 신호들 및 제어 신호들을 상기 제1 및 제2 불휘발성 메모리 장치들로 전송하고, 상기 제1 불휘발성 메모리 장치는 제1 레디 및 비지 신호를 상기 메모리 컨트롤러로 전송하고, 상기 제2 불휘발성 메모리 장치는 제2 레디 및 비지 신호를 상기 메모리 컨트롤러로 전송한다.
본 발명의 다른 실시 예에 따른 불휘발성 메모리 시스템은 제1 및 제2 불휘발성 메모리 장치들 및 제1 채널을 통해 상기 제1 및 제2 불휘발성 메모리 장치들을 제어하는 메모리 컨트롤러를 포함한다. 상기 불휘발성 메모리 시스템의 프로그램 방법은 제1 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하는 단계; 제2 페이지 데이터를 상기 제2 불휘발성 메모리 장치에 셋업하는 단계; 제3 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하는 단계; 제4 페이지 데이터를 상기 제2 불휘발성 메모리 장치에 셋업하는 단계; 제5 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하는 단계; 상기 제5 페이지 데이터가 상기 제1 불휘발성 메모리 장치에 셋업된 이후에 상기 제1 불휘발성 메모리 장치에 대한 프로그램 동작을 수행하는 단계; 제6 페이지 데이터를 상기 제2 불휘발성 메모리 장치에 셋업하는 단계; 및 상기 제6 페이지 데이터가 상기 제2 불휘발성 메모리 장치에 셋업된 이후에 상기 제2 불휘발성 메모리 장치에 대한 프로그램 동작을 수행하는 단계를 포함한다.
본 발명의 또 다른 실시 예에 따른 불휘발성 메모리 시스템은 제1 및 제2 불휘발성 메모리 장치들; 및 하나의 채널을 통해 상기 제1 및 제2 불휘발성 메모리 장치들을 제어하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는 제1 칩 활성화 신호를 활성화하여 상기 제1 불휘발성 메모리 장치로 신호들을 전송하고, 제2 칩 활성화 신호를 활성화하여 상기 제2 불휘발성 메모리 장치로 신호들을 전송하되, 프로그램 동작시, 상기 메모리 컨트롤러는 복수의 페이지 데이터를 상기 제1 및 제2 불휘발성 메모리 장치들에 교대로 셋업한다.
본 발명에 따르면, 불휘발성 메모리 시스템은, 프로그램 동작시, 하나의 채널을 통해 통신하는 복수의 불휘발성 메모리 장치들에 페이지 데이터를 교대로 셋업함으로써 페이지 데이터 덤프 또는 멀티 플레인 프로그램시 플레인 변경을 위한 더미 비지 타임에 의한 시간 지연이 단축된다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템 및 그것의 프로그램 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1의 메모리 컨트롤러를 상세하게 보여주는 블록도이다.
도 3은 도 1의 복수의 불휘발성 메모리 장치들 중 제1 불휘발성 메모리 장치를 보여주는 블록도이다.
도 4는 도 3의 제1 불휘발성 메모리 장치를 상세하게 보여주는 블록도이다.
도 5는 도 1의 불휘발성 메모리 시스템을 좀 더 상세하게 설명하기 위한 블록도이다.
도 6은 도 4의 불휘발성 메모리 시스템의 프로그램 동작을 보여주는 순서도이다.
도 7은 도 6의 프로그램 동작을 설명하기 위한 도면이다.
도 8 및 도 9는 도 6의 프로그램 동작을 상세하게 보여주는 타이밍도들이다.
도 10은 도 5의 불휘발성 메모리 시스템의 다른 프로그램 동작을 보여주는 순서도이다.
도 11은 도 10의 프로그램 동작을 설명하기 위한 도면이다.
도 12 내지 도 14는 도 10의 프로그램 동작을 상세하게 설명하기 위한 타이밍도들이다.
도 15은 본 발명의 다른 실시 예에 따른 불휘발성 메모리 시스템을 보여주는 블록도이다.
도 16은 본 발명의 실시 예들에 따른 불휘발성 메모리 시스템이 적용된 메모리 카드 시스템을 보여주는 블록도이다.
도 17은 본 발명에 따른 스토리지 장치가 적용된 SSD(Solid State Drive) 시스템을 예시적으로 보여주는 블록도이다.
도 18는 본 발명에 따른 불휘발성 메모리 시스템이 적용된 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다.
도 19은 도 18의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다.
도 20은 도 18의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다.
도 21는 본 발명에 따른 불휘발성 메모리 모듈이 적용된 컴퓨팅 시스템의 다른 예를 예시적으로 보여주는 블록도이다.
도 22은 도 21의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 23는 도 21의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 24는 도 21의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다.
도 25은 본 발명의 실시 예에 따른 불휘발성 메모리 시스템이 적용된 서버 시스템을 예시적으로 보여주는 도면이다.
이하에서, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세하게 설명하기 위하여 본 발명의 실시 예들을 첨부된 도면들을 참조하여 설명하기로 한다.
본 발명에 따른 불휘발성 메모리 시스템은 메모리 컨트롤러 및 복수의 불휘발성 메모리 장치들을 포함한다. 프로그램 동작시, 메모리 컨트롤러는 동일한 채널을 통해 통신하는 복수의 불휘발성 메모리 장치들에 페이지 데이터를 순차적으로 전송한다. 이에 따라 불휘발성 메모리 장치가 페이지 데이터를 덤프하는데 요구되는 소정의 시간(예를 들어, 더미 비지 시간)에 대한 시간 지연을 단축시킬 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 시스템을 보여주는 블록도이다. 불휘발성 메모리 시스템(100)은 메모리 컨트롤러(110) 및 복수의 불휘발성 메모리 장치들(120)을 포함한다. 메모리 컨트롤러(110)는 외부 장치(예를 들어, 호스트, 프로세서, 애플리케이션 프로세서 등)로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신하고, 수신된 신호들에 응답하여 복수의 불휘발성 메모리 장치들(120)을 각각 제어할 수 있다. 예를 들어, 메모리 컨트롤러(110)는 외부 장치로부터 수신된 신호들에 응답하여 복수의 불휘발성 메모리 장치들(120)에 저장된 데이터(DATA)를 읽거나 또는 복수의 불휘발성 메모리 장치들(120)에 데이터(DATA)를 저장할 수 있다.
예시적으로, 메모리 컨트롤러(110) 및 외부 장치는 미리 정해진 인터페이스를 기반으로 서로 통신할 수 있다. 미리 정해진 인터페이스는 DDR(Double Data Rate), DDR2, DDR3, DDR4, LPDDR(Low Power DDR), USB (Universal Serial Bus), MMC (multimedia card), embedded MMC, PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), 파이어와이어(Firewire), UFS(Universal Flash Storage), NVMe (Nonvolatile Memory express) 등과 같은 다양한 인터페이스들 중 적어도 하나를 포함할 수 있다.
복수의 불휘발성 메모리 장치들(120) 각각은 복수의 채널들(CH1~CHn)을 통해 메모리 컨트롤러(110)와 통신할 수 있다. 복수의 불휘발성 메모리 장치들(120)은 메모리 컨트롤러(110)의 제어에 따라 저장된 데이터를 읽거나 또는 데이터를 저장할 수 있다. 예를 들어, 제1 내지 제m 불휘발성 메모리 장치들(NVM1~NVMm)은 제1 채널(CH1)을 통해 메모리 컨트롤러(110)와 통신할 수 있다. 이 때, 제1 내지 제m 불휘발성 메모리 장치들(NVM1~NVMm) 각각은 반도체 칩 또는 다이(die)로 각각 구현되며, 제1 내지 제m 불휘발성 메모리 장치들(NVM1~NVMm)은 멀티 칩 패키지(MCP; Multi Chip Package) 방식을 기반으로 하나의 반도체 패키지로 구현되거나 또는 각각 별도의 반도체 패키지로 구현될 수 있다. 예시적으로, 제1 내지 제m 불휘발성 메모리 장치들(NVM1~NVMm) 각각은 "웨이(way)"라 불리며, 제1 채널(CH1)을 통해 수신되는 복수의 칩 활성화 신호들에 의해 각각 동작할 수 있다.
복수의 불휘발성 메모리 장치들(120) 각각은 EEPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 불휘발성 메모리 소자들로 구현될 수 있다. 간결한 설명을 위하여 복수의 불휘발성 메모리 장치들(NVM_1~NVM_nm) 각각은 낸드 플래시 메모리인 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 2는 도 1의 메모리 컨트롤러를 상세하게 보여주는 블록도이다. 도 1 및 도 2를 참조하면, 메모리 컨트롤러(110)는 CPU(111), SRAM(112), ROM(113), 버퍼 메모리(114), 호스트 인터페이스(115), 및 플래시 인터페이스(116)를 포함할 수 있다.
CPU(111)는 메모리 컨트롤러(110)의 제반 동작을 제어할 수 있다. SRAM(112)은 메모리 컨트롤러(110)의 캐시 메모리, 동작 메모리 등으로 사용될 수 있다. ROM(113)은 메모리 컨트롤러(110)가 동작하는데 요구되는 다양한 정보를 펌웨어 형태로 저장할 수 있다. 예시적으로, SRAM(112) 또는 ROM(113)에 저장된 정보 또는 펌웨어는 CPU(111)에 의해 구동되거나 또는 관리될 수 있다.
버퍼 메모리(114)는 외부 장치로부터 수신된 데이터를 임시 저장하거나 또는 복수의 불휘발성 메모리 장치들(120)로부터 읽은 데이터를 임시 저장할 수 있다. 버퍼 메모리(114)에 저장된 데이터는 CPU(111)의 관리에 따라 페이지 단위로 관리될 수 있다. 예시적으로, 페이지 단위는 복수의 불휘발성 메모리 장치들(120)의 읽기 또는 쓰기 단위를 가리킨다.
메모리 컨트롤러(110)는 호스트 인터페이스(115)를 통해 외부 장치와 통신할 수 있다. 예시적으로, 호스트 인터페이스(115)는 불휘발성 메모리 시스템(100)과 외부 장치가 통신하는데 요구되는 물리 계층을 포함할 수 있다. 메모리 컨트롤러(110)는 플래시 인터페이스(116)를 통해 복수의 불휘발성 메모리 장치들(120)과 통신할 수 있다.
도 3은 도 1의 복수의 불휘발성 메모리 장치들 중 제1 불휘발성 메모리 장치를 보여주는 블록도이다. 도 4는 도 3의 제1 불휘발성 메모리 장치를 상세하게 보여주는 블록도이다. 먼저 도 1 및 도 3을 참조하면, 제1 불휘발성 메모리 장치(NVM1)는 메모리 셀 어레이(121) 및 주변 회로(122)를 포함한다.
메모리 셀 어레이(121)는 워드 라인들(WL), 스트링 선택 라인들(SSL), 접지 선택 라인들(GSL), 및 비트 라인들(BL1, BL2)을 통해 주변 회로(122)와 연결된다. 메모리 셀 어레이(121)는 제1 및 제2 플레인들(PL1, PL2)(first and second planes)을 포함한다. 제1 및 제2 플레인들(PL1, PL2) 각각은 복수의 메모리 블록들을 포함한다. 복수의 메모리 블록들 각각은 복수의 메모리 셀들을 포함하고, 복수의 메모리 셀들 각각은 복수의 워드 라인들(WL)과 연결될 수 있다. 복수의 메모리 셀들 각각은 1-비트를 저장하는 싱글 레벨 셀(SLC; Single Level Cell) 또는 적어도 2-비트를 저장하는 멀티 레벨 셀(MLC; Multi-Level Cell)일 수 있다.
예시적으로, 제1 플레인(PL1)에 포함된 복수의 메모리 블록들은 복수의 제1 비트 라인들(BL1)을 공유할 수 있다. 제2 플레인(PL2)에 포함된 복수의 메모리 블록들은 제1 비트 라인들(BL1)과 다른 복수의 제2 비트 라인들(BL2)을 공유할 수 있다. 즉, 제1 플레인(PL1) 및 제2 플레인(PL2)은 비트 라인에 의해 서로 구분될 수 있다.
주변 회로(122)는 제1 칩 활성화 신호(CE1), 제어 신호(CTRL), 및 데이터 신호(DQ)를 메모리 컨트롤러(110)로부터 수신한다. 주변 회로(122)는 수신된 신호들에 응답하여 데이터 신호(DQ)를 통해 수신된 데이터를 메모리 셀 어레이(121)에 프로그램하거나 또는 메모리 셀 어레이(121)에 프로그램된 데이터를 읽고, 읽은 데이터를 데이터 신호(DQ)를 통해 메모리 컨트롤러(110)로 전송할 수 있다. 예시적으로, 주변 회로(122)는 제1 불휘발성 메모리 장치(NVM_1)가 동작하는 동안 제1 레디/비지 신호(R/B1)를 활성화시킬 수 있다. 예시적으로, 제1 레디/비지 신호(R/B1)가 활성화된 경우, 메모리 컨트롤러(110)는 제1 불휘발성 메모리 장치(110)로 별도의 커맨드 또는 데이터를 전송할 수 없다.
예시적으로, 제어 신호(CTRL)는 커맨드 래치 활성화 신호(CLE; Command Latch Enable Signal), 어드레스 래치 활성화 신호(ALE; Address Latch Enable Signal), 쓰기 활성화 신호(WEB; Write Enable Signal), 읽기 활성화 신호(REB; Read Enable Signal), 데이터 스트로브 신호(DQS; Data Strobe Signal) 등과 같은 제어 신호들을 포함할 수 있다. 제어 신호(CTRL)에 따라 데이터 신호(DQ)에 포함된 정보는 커맨드, 어드레스, 또는 데이터로 구분될 수 있다.
다음으로, 도 1, 도 3, 및 도 4를 참조하면, 제1 불휘발성 메모리 장치(NVM1)는 메모리 셀 어레이(121) 및 주변 회로(122)를 포함한다. 주변 회로(122)는 어드레스 디코더(122a), 제어 로직 및 전압 발생 회로(122b), 페이지 버퍼(122c), 및 입출력 회로(122d)를 포함한다.
메모리 셀 어레이(121)는 도 3을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
어드레스 디코더(122a)는 메모리 컨트롤러(110)로부터 어드레스(ADDR)를 수신하고, 수신된 어드레스(ADDR)를 디코딩할 수 있다. 어드레스 디코더(122a)는 디코딩된 어드레스(ADDR)를 기반으로 복수의 워드 라인들(WL) 중 적어도 하나를 선택하고, 선택된 워드 라인을 구동할 수 있다.
제어 로직 및 전압 발생 회로(122b)는 메모리 컨트롤러(110)로부터 제1 칩 활성화 신호(CEB1), 커맨드(CMD), 제어 신호(CTRL)를 수신하고, 수신된 신호들에 응답하여 어드레스 디코더(122a), 페이지 버퍼(122c), 및 입출력 회로(122d)를 제어할 수 있다. 예를 들어, 제어 로직 및 전압 발생 회로(122b)는 메모리 컨트롤러(110)로부터 수신된 신호들에 응답하여 메모리 컨트롤러(110)로부터 수신된 데이터(DATA)가 메모리 셀 어레이(121)에 기입되도록 어드레스 디코더(122a), 페이지 버퍼(122c), 및 입출력 회로(122d)를 제어할 수 있다. 또는 제어 로직 및 전압 발생 회로(122b)는 메모리 컨트롤러(110)로부터 수신된 신호들에 응답하여 메모리 셀 어레이(121)에 저장된 데이터(DATA)가 메모리 컨트롤러(110)로 전송되도록 어드레스 디코더(122a), 페이지 버퍼(122c), 및 입출력 회로(122d)를 제어할 수 있다.
제어 로직 및 전압 발생 회로(122b)는 제1 불휘발성 메모리 장치(NVM_1)가 동작하는데 요구되는 다양한 전압들을 생성할 수 있다. 예를 들어, 제어 로직 및 전압 발생 회로(122b)는 복수의 프로그램 전압들, 복수의 패스 전압들, 복수의 검증 전압들, 복수의 선택 읽기 전압들, 복수의 비선택 읽기 전압들, 복수의 소거 전압들 등과 같은 다양한 전압들을 생성할 수 있다. 예시적으로, 제어 로직 및 전압 발생 회로(122b)에 의해 생성된 전압들은 복수의 워드 라인들(WL)로 제공될 수 있다. 예시적으로, 메모리 셀 어레이(121)에 포함된 복수의 메모리 셀들의 크기, 또는 물리적 특성에 따라 복수의 워드 라인들(WL) 각각에 제공되는 전압이 서로 다를 수 있다.
페이지 버퍼 회로(122c)는 복수의 비트 라인들(BL1, BL2)을 통해 메모리 셀 어레이(121)와 연결된다. 페이지 버퍼 회로(122c)는 입출력 회로(122d)로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)가 메모리 셀 어레이(121)에 프로그램되도록 복수의 비트 라인들(BL1, BL2)을 제어할 수 있다. 또는 페이지 버퍼(122c)는 메모리 셀 어레이(121)에 저장된 데이터(DATA)가 독출되도록 복수의 비트 라인들(BL1, BL2)을 제어할 수 있다.
예시적으로, 페이지 버퍼 회로(122c)는 제1 플레인(PL1)과 복수의 제1 비트 라인들(BL1)을 통해 연결된 제1 페이지 버퍼(PB1) 및 제2 플레인(PL2)과 복수의 제2 비트 라인들(BL2)과 연결된 제2 페이지 버퍼(PB2)를 포함할 수 있다.
제1 페이지 버퍼(PB1)는 입출력 회로(122d)로부터 제1 플레인(PL1)에 기입될 데이터를 수신하여 임시 저장하거나 또는 제1 플레인(PL1)에 기입된 데이터(DATA)를 읽고, 읽은 데이터를 임시 저장할 수 있다. 제2 페이지 버퍼(PB2)는 입출력 회로(122d)로부터 제2 플레인(PL2)에 기입될 데이터를 수신하여 임시 저장하거나 또는 제2 플레인(PL2)에 기입된 데이터를 읽고, 읽은 데이터를 임시 저장할 수 있다.
입출력 회로(122d)는 페이지 버퍼 회로(122c)로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)를 제어 신호(CTRL)에 동기화시켜 메모리 컨트롤러(110)로 전송할 수 있다. 또는 입출력 회로(122d)는 메모리 컨트롤러(110)로부터 데이터(DATA)를 수신하고, 수신된 데이터(DATA)를 페이지 버퍼 회로(122c)로 전달할 수 있다. 예시적으로, 입출력 회로(122d)는 제어 로직 및 전압 발생 회로(122b)의 제어에 따라 데이터(DATA)를 제1 페이지 버퍼(PB1) 또는 제2 페이지 버퍼(PB2)로 전달할 수 있다. 예시적으로, 데이터(DATA)는 데이터 신호(DQ)를 통해 메모리 컨트롤러(110)로 전송되거나 또는 메모리 컨트롤러(110)로부터 수신될 수 있다.
예시적으로, 커맨드(CMD), 어드레스(ADDR), 및 데이터(DATA)는 데이터 신호(DQ)를 통해 메모리 컨트롤러(110)로부터 수신될 수 있고, 제어 로직 및 전압 발생 회로(122b)는 제어 신호(CTRL)를 기반으로 데이터 신호(DQ)를 통해 수신된 커맨드(CMD), 어드레스(ADDR), 및 데이터(DATA)를 구분할 수 있다. 구분된 신호들은 제어 로직 및 전압 발생 회로(122b)의 제어에 따라 어드레스 디코더(122a), 제어 로직 및 전압 발생 회로(122b), 또는 페이지 버퍼(122c)로 전달될 수 있다.
예시적으로, 본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 제1 불휘발성 메모리 장치(NVM_1)는 3차원 메모리 어레이를 포함할 수 있다. 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.
본 발명의 기술적 사상에 따른 예시적인 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가지며, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 또는 비트 라인들을 갖고, 3차원 메모리 어레이에 적합한 구성은 미국등록특허공보 제7,679,133호, 미국등록특허공보 제8,553,466호, 미국등록특허공보 제8,654,587호, 미국등록특허공보 제8,559,235호, 그리고 미국공개특허공보 제2011/0233648호에 개시되어 있으며, 본 발명의 레퍼런스로 포함된다.
도 5는 도 1의 불휘발성 메모리 시스템을 좀 더 상세하게 설명하기 위한 블록도이다. 도면의 간결성 및 설명의 편의를 위하여 제1 채널(CH1)을 통해 연결된 제1 및 제2 불휘발성 메모리 장치들(NVM_1, NVM_2)이 도 5에 도시되며, 다른 구성 요소들은 생략된다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 1 및 도 5를 참조하면, 불휘발성 메모리 시스템(100)은 메모리 컨트롤러(110) 및 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)을 포함한다. 메모리 컨트롤러(110)는 제1 채널(CH1)을 통해 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)과 통신할 수 있다.
예를 들어, 메모리 컨트롤러(110) 및 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2) 각각은 제1 채널(CH1)을 통해 제1 및 제2 레디/비지 신호들(R/B1, R/B2), 제1 및 제2 칩 활성화 신호들(CEB1, CEB2), 데이터 신호(DQ), 및 제어 신호(CTRL)를 주고 받는다.
좀 더 상세한 예로서, 메모리 컨트롤러(110)는 제어 신호(CTRL)를 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)로 전송한다. 메모리 컨트롤러(110)는 제1 및 제2 불휘발성 메모리 장치들(NVM1, NMV2)과 데이터 신호(DQ)를 주고 받을 수 있다. 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 제2 불휘발성 메모리 장치(NVM_2)로 전송할 수 있다. 제1 불휘발성 메모리 장치(NVM_1)는 제1 레디/비지 신호(RB1)를 메모리 컨트롤러(110)로 전송할 수 있다. 제2 불휘발성 메모리 장치(NVM_2)는 제2 레디/비지 신호(RB2)를 메모리 컨트롤러(110)로 전송할 수 있다. 상술된 바와 같이, 메모리 컨트롤러(110)는 제1 채널(CH1)을 통해 다양한 신호들을 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)과 주고 받을 수 있다.
예시적으로, 메모리 컨트롤러(110)는 제1 및 제2 칩 활성화 신호들(CEB1, CEB2)를 사용하여 데이터 신호(DQ) 및 제어 신호(CTRL)를 제1 불휘발성 메모리 장치(NVM_1) 또는 제2 불휘발성 메모리 장치(NVM_2)로 제공할 수 있다. 예를 들어, 메모리 컨트롤러(110)는 데이터 신호(DQ) 및 제어 신호(CTRL)를 사용하여 커맨드, 어드레스, 및 데이터를 제1 불휘발성 메모리 장치(NVM_1) 또는 제2 불휘발성 메모리 장치(NVM_2)로 제공할 수 있다. 이 때, 메모리 컨트롤러(110)에 의해 제1 칩 활성화 신호(CEB1)가 활성화된 경우, 데이터 신호(DQ) 및 제어 신호(CTRL)는 제1 불휘발성 메모리 장치(NVM1)로 제공되고, 제1 불휘발성 메모리 장치(NVM1)는 수신된 데이터 신호(DQ) 및 제어 신호들(CTRL)에 응답하여 동작할 수 있다.
마찬가지로, 메모리 컨트롤러(110)에 의해 제2 칩 활성화 신호(CEB2)가 활성화된 경우, 데이터 신호(DQ) 및 제어 신호(CTRL)는 제2 불휘발성 메모리 장치(NVM_2)로 제공되고, 제2 불휘발성 메모리 장치(NVM2)는 수신된 데이터 신호(DQ) 및 제어 신호들(CTRL)에 응답하여 동작할 수 있다. 다시 말해서, 메모리 컨트롤러(110)는 제1 및 제2 칩 활성화 신호들(CEB1, CEB2)를 사용하여 제1 불휘발성 메모리 장치(NVM_1) 또는 제2 불휘발성 메모리 장치(NVM2)를 선택할 수 있다.
예시적으로, 제1 불휘발성 메모리 장치(NVM_1)가 메모리 컨트롤러(110)의 제어에 따라 동작하는 동안, 제1 불휘발성 메모리 장치(NVM_1)는 제1 레디/비지 신호(RB1)를 활성화시킬 수 있다. 활성화된 제1 레디/비지 신호(R/B1)에 의해 메모리 컨트롤러(110)는 제1 불휘발성 메모리 장치(NVM_1)가 동작 중임을 인지할 수 있다. 마찬가지로, 제2 불휘발성 메모리 장치(NVM_2)가 메모리 컨트롤러(110)의 제어에 따라 동작하는 동안 제2 불휘발성 메모리 장치(NVM_2)는 제2 레디/비지 신호(R/B2)를 활성화시킬 수 있다. 활성화된 제2 레디/비지 신호(RB2)에 의해 메모리 컨트롤러(110)는 제2 불휘발성 메모리 장치(NVM_2)가 동작 중임을 인지할 수 있다.
제1 레디/비지 신호(R/B1)가 비지 상태(즉, 활성화 상태)인 경우, 메모리 컨트롤러(110)는 제1 불휘발성 메모리 장치(NVM1)로 데이터 신호(DQ) 및 제어 신호(CTRL)를 전송하지 않을 것이다. 마찬가지로, 제2 레디/비지 신호(R/B2)가 비지 상태(즉, 활성화 상태)인 경우, 메모리 컨트롤러(110)는 제2 불휘발성 메모리 장치(NVM2)로 데이터 신호(DQ) 및 제어 신호(CTRL)를 전송하지 않을 것이다.
도 6은 도 4의 불휘발성 메모리 시스템의 프로그램 동작을 보여주는 순서도이다. 도 7은 도 6의 프로그램 동작을 설명하기 위한 도면이다. 이하에서, 간결한 설명을 위하여, 제1 채널(CH1)을 통해 메모리 컨트롤러(110)와 통신하는 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)을 참조하여 프로그램 동작이 설명된다. 또한, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2) 각각은 제1 및 제2 플레인들(PL1, PL2) 및 제3 및 제4 플레인들(PL3, PL4)을 포함하고, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)에 포함된 복수의 메모리 셀들은 셀당 3-비트를 저장하는 삼중 레벨 셀(TLC; Triple Level Cell)인 것으로 가정한다.
또한, 설명의 편의를 위하여, 페이지 데이터가 특정 플레인과 연결된 특정 페이지 버퍼로 덤프되거나 또는 로드되는 것은 '페이지 데이터 셋업'이라 칭한다. 즉, 페이지 데이터가 특정 플레인에 셋업된다 함은 페이지 데이터가 특정 플레인과 대응하는 특정 페이지 버퍼에 로드되거나 또는 덤프되는 것을 의미한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 특정 페이지 버퍼는 캐시 래치 및 데이터 래치를 포함할 수 있다. 이 때, 캐시 래치는 메모리 컨트롤러(110)로부터 수신된 데이터를 임시 저장할 수 있고, 메모리 컨트롤러(110)로부터 수신된 덤프 커맨드에 응답하여 캐시 래치의 데이터는 데이터 래치로 덤프될 수 있다. 이 때, 페이지 데이터 셋업은 캐시 래치에 데이터가 임시 저장되거나 또는 캐시 래치의 데이터가 데이터 래치로 덤프되는 것을 가리킬 수 있다.
또한, 간결한 설명을 위하여, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)은 TLC 프로그램 방식을 기반으로 프로그램 동작을 수행하는 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)은 원샷 프로그램 방식, 쉐도우 프로그램 방식, 재프로그램 방식 등 다양한 프로그램 방식들을 기반으로 프로그램 동작을 수행할 수 있다.
도 5 내지 도 7을 참조하면, S111 단계에서, 메모리 컨트롤러(110)는 제1 페이지 데이터(PD1)를 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업한다. (도 7의 ①) 예를 들어, 메모리 컨트롤러(110)는 제1 페이지 데이터(PD1)가 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업되도록, 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ) 및 제어 신호(CTRL)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 제1 불휘발성 메모리 장치(110)는 수신된 신호들에 응답하여 제1 페이지 데이터(PD1)를 제1 페이지 버퍼(PB1)로 덤프할 수 있다.
S112 단계에서, 메모리 컨트롤러(110)는 제2 페이지 데이터(PD2)를 제2 불휘발성 메모리 장치(NVM1)의 제3 플레인(PL3)에 셋업한다. (도 7의 ②) 예를 들어, 메모리 컨트롤러(110)는 제2 페이지 데이터(PD2)가 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 셋업되도록, 제2 칩 활성화 신호(CEB2)를 활성화하여 데이터 신호(DQ) 및 제어 신호(CTRL)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제2 불휘발성 메모리 장치(110)는 수신된 신호들에 응답하여 제2 페이지 데이터(PD2)를 제3 페이지 버퍼(PB3)로 덤프할 수 있다.
예시적으로, S112 단계에서, 제1 불휘발성 메모리 장치(110)가 제1 페이지 데이터(PD1)를 제1 페이지 버퍼(PB1)로 덤프하는 동안 제1 레디/비지 신호(R/B1)는 소정의 시간(즉, 더미 비지 타임)동안 비지 상태일 것이다. 이 경우, 더미 비지 타임이 경과한 이 후에, 메모리 컨트롤러(110)는 나머지 페이지 데이터를 셋업하기 위한 신호들을 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있을 것이다.
종래의 메모리 컨트롤러는 페이지 데이터를 셋업하기 위한 신호들을 제1 불휘발성 메모리 장치로 전송하고, 더미 비지 타임이 경과한 이후에, 나머지 페이지 데이터를 셋업하기 위한 신호들을 제1 불휘발성 메모리 장치로 전송한다. 즉, 더미 비지 타임동안 제1 불휘발성 메모리 장치는 페이지 데이터를 덤프하고, 메모리 컨트롤러는 더미 비지 타임동안 다른 동작을 수행하지 않는다. 이로 인하여, 페이지 데이터 셋업시, 더미 비지 타임에 의한 시간 지연이 발생한다.
그러나, 본 발명에 따르면, 제1 불휘발성 메모리 장치(NVM1)가 제1 페이지 데이터(PD1)를 덤프하는 동안, 메모리 컨트롤러(110)는 제2 페이지 데이터(PD2)를 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 셋업하기 위한 신호들을 제2 불휘발성 메모리 장치(NVM2)로 전송한다. 즉, 본 발명에 따라 2개 페이지 데이터를 셋업할 경우, 더미 비지 타임에 의한 시간 지연이 감소될 것이다. 다시 말해서, S112 단계의 동작이 수행되는 동안 제1 불휘발성 메모리 장치(NVM1)는 제1 페이지 데이터(PD1)를 제1 페이지 버퍼(PB1)로 덤프할 수 있다.
S121 단계에서, 메모리 컨트롤러(110)는 제3 페이지 데이터(PD3)를 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업한다. (도 7의 ③) 마찬가지로, S121 단계의 동작이 수행되는 동안 제2 불휘발성 메모리 장치(NVM2)는 제2 페이지 데이터(PD2)를 제3 페이지 버퍼(PB3)로 덤프할 수 있다.
S122 단계에서, 메모리 컨트롤러(110)는 제4 페이지 데이터(PD4)를 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 셋업한다. (도 7의 ④) 마찬가지로, S122 단계의 동작이 수행되는 동안 제1 불휘발성 메모리 장치(NVM1)는 제3 페이지 데이터(PD3)를 제1 페이지 버퍼(PB1)로 덤프할 수 있다.
S131 단계에서, 메모리 컨트롤러(110)는 제5 페이지 데이터(PD5)를 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업한다. (도 7의 ⑤) 예시적으로, 제5 페이지 데이터(PD5)가 제1 플레인(PL1)에 셋업된 경우, 3개의 페이지 데이터(즉, 제1, 제3, 및 제5 페이지 데이터)가 제1 플레인(PL1)과 대응되는 제1 페이지 버퍼(PB1)에 셋업된 상태일 것이다. 즉, 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 대한 프로그램 동작을 수행하기 위한 페이지 데이터가 셋업된 상태일 것이다.
S131 단계가 수행된 이후에, S141 단계에서, 메모리 컨트롤러(110)는 제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 수행하도록 프로그램 확인 커맨드를 제1 불휘발성 메모리 장치(NVM1)로 전송한다. 예시적으로, 제1 불휘발성 메모리 장치(NVM1)는 수신된 프로그램 확인 커맨드에 응답하여 셋업된 페이지 데이터를 제1 플레인(PL1)에 프로그램할 수 있다.
S132 단계에서, 메모리 컨트롤러(110)는 제6 페이지 데이터(PD6)를 제2 불휘발성 메모리 장치(NVM2)의 제2 플레인(PL2)에 셋업한다. (도 7의 ⑥) 예시적으로, S132 단계의 동작은 제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 수행하는 도중에 수행될 수 있다.
제6 페이지 데이터(PD6)가 제3 플레인(PL3)에 셋업된 경우, 3개의 페이지 데이터(즉, 제2, 제4, 및 제6 페이지 데이터)가 제3 플레인과 대응되는 제3 페이지 버퍼(PB3)에 셋업된 상태일 것이다. S132 단계가 수행된 이후에, S142 단계에서, 메모리 컨트롤러(110)는 제2 불휘발성 메모리 장치(NVM2)가 프로그램 동작을 수행하도록 프로그램 확인 커맨드를 제2 불휘발성 메모리 장치(NVM2)로 전송한다. 제2 불휘발성 메모리 장치(NVM2)는 수신된 프로그램 확인 커맨드에 응답하여 프로그램 동작을 수행할 수 있다.
예시적으로, S111 단계 및 S112 단계의 동작들은 각각 제1 및 제3 플레인들(PL1, PL3)의 LSB(Least Significant Bit) 페이지 데이터를 셋업하는 동작일 수 있고, S121 단계 및 S122 단계의 동작들은 각각 제1 및 제3 플레인들(PL1, PL3)의 CSB(Central Significant Bit) 페이지 데이터를 셋업하는 동작일 수 있고, S131 단계 및 S132 단계의 동작들은 각각 제1 및 제3 플레인들(PL1, PL3)의 MSB(Most Significant Bit) 페이지 데이터를 셋업하는 동작일 수 있다.
상술된 바와 같이, 본 발명에 따른 메모리 컨트롤러(110)는, 프로그램 동작시, 제1 채널(CH1)을 통해 통신하는 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)에 페이지 데이터를 교대로 셋업함으로써 페이지 데이터 덤프로 인한 더미 비지 타임에 의한 시간 지연을 감소시킬 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.
도 8 및 도 9는 도 6의 프로그램 동작을 상세하게 보여주는 타이밍도들이다. 간결한 설명을 위하여, 앞서 언급된 바와 마찬가지로, 제1 불휘발성 메모리 장치(NVM1)는 제1 및 제2 플레인들(PL1, PL2)을 포함하고, 제2 불휘발성 메모리 장치(NVM2)는 제3 및 제4 플레인들(PL3, PL4)을 포함하는 것으로 가정한다.
또한, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)은 셀당 3-비트를 저장하는 삼중 레벨 셀들(TLC; Triple Level Cells)을 포함하고, 메모리 컨트롤러(110)의 제어에 따라 TLC 프로그램을 수행하는 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)은 재프로그램 방식, 쉐도우 프로그램 방식과 같은 다양한 프로그램 방식을 기반으로 프로그램 동작을 수행할 수 있다.
또한, 제1 및 제2 칩 활성화 신호들(CEB1, CEB2) 및 제1 및 제2 레디/비지 신호들(RB1, RB2)은 로우 활성화 신호(low level active signal)인 것으로 가정한다. 즉, 로직 로우의 제1 및 제2 칩 활성화 신호들(CEB1, CEB2)에 응답하여 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)이 각각 동작하고, 로직 로우인 제1 및 제2 레디/비지 신호들(RB1, RB2) 각각은 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)의 비지 상태를 가리킨다.
또한, 메모리 컨트롤러(110)는 데이터 신호(DQ)를 통해 커맨드, 어드레스, 및 페이지 데이터를 제1 또는 제2 불휘발성 메모리 장치들(NVM1, NVM2)로 전송하되, 커맨드, 어드레스, 및 페이지 데이터 각각은 다양한 제어 신호(CTRL)에 의해 구분 또는 식별될 수 있다.
또한, 도면에서 도시된 커맨드, 어드레스, 페이지 데이터에 대한 참조 번호들은 예시적인 것이며, 본 발명의 기술적 사상이 이에 한정되는 것은 아니다. 또한, 도면에서 도시된 커맨드 및 어드레스가 동일한 참조번호에 의해 도시되나 각 동작 구간, 타겟 장치(예를 들어, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2))에 따라 다른 의미를 갖음은 잘 이해될 것이다.
또한, 도면의 간결성을 위하여, 본 발명의 기술적 특징을 설명하는데 불필요한 구성들, 예를 들어, 어드레스 데이터 로딩 타임(tADL), 쓰기 활성화 신호 비지 타임(tWB) 등과 같은 구성들은 타이밍도들에서 생략된다. 또한, 각 구간들에서의 어드레스들(ADD) 각각은 각 구간에서 셋업되는 페이지 데이터가 저장되는 물리적 위치를 가리키며, 서로 다른 어드레스일 것이다.
또한, 이하에서, 간결한 설명을 위하여 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2) 각각은 수신된 페이지 데이터(PD)를 덤프 명령(C0h) 및 덤프 지정 명령(11h, 12h, 13h)에 응답하여, 대응하는 페이지 버퍼 회로들에 각각 덤핑하는 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다.
또한, 간결한 설명을 위하여, 메모리 컨트롤러(110)는 페이지 프로그램 방식을 기반으로 커맨드, 어드레스, 및 페이지 데이터를 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)로 전송하는 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 6 내지 도 9를 참조하면, 제1 구간(T01)에서, 메모리 컨트롤러(110)는 제1 커맨드(80h), 어드레스(ADD), 제1 페이지 데이터(PD1), 제2 커맨드(C0h), 및 제3 커맨드(11h)를 제1 불휘발성 메모리 장치(NVM1)로 순차적으로 전송한다. 예를 들어, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하고, 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제1 페이지 데이터(PD1), 제2 커맨드(C0h), 및 제3 커맨드(11h)를 제1 불휘발성 메모리 장치(NVM1)로 전송한다.
예시적으로, 제1 커맨드(80h)는 페이지 프로그램 시작 커맨드이고, 어드레스(ADD)는 제1 페이지 데이터(PD1)가 저장될 물리적 위치를 가리키는 어드레스이고, 제2 커맨드(C0h)는 덤프 커맨드이고, 제3 커맨드(11h)는 덤프 지정 커맨드일 수 있다. 예시적으로, 제3 커맨드(11h)는 제1 플레인(PL1)과 대응되는 제1 페이지 버퍼(PB1)의 LSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다. 제1 불휘발성 메모리 장치(NVM1)는 제2 및 제3 커맨드들(C0h, 11h)에 응답하여 수신된 제1 페이지 데이터(PD1)를 제1 플레인(PL1)과 대응되는 제1 페이지 버퍼(PB1)로 더미 비지 타임(tDBSY2) 동안 덤프할 수 있다.
제2 구간(T02)에서, 메모리 컨트롤러(110)는 제1 커맨드(80h), 어드레스(ADD), 제2 페이지 데이터(PD2), 제2 커맨드(C0h), 및 제3 커맨드(11h)를 제2 불휘발성 메모리 장치(NVM2)로 순차적으로 전송한다. 앞서 예를 들어, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하고, 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제1 페이지 데이터(PD1), 제2 커맨드(C0h), 및 제3 커맨드(11h)를 제2 불휘발성 메모리 장치(NVM2)로 전송한다. 예시적으로, 제2 구간(T02)에서의 제3 커맨드(11h)는 제3 플레인(PL3)과 대응하는 제3 페이지 버퍼(PB3)의 LSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다.
예시적으로, 도 8에 도시된 바와 같이, 제2 구간(T02)은 제1 레디/비지 신호(R/B1)가 비지 상태인 더미 비지 타임(tDBSY2)의 구간을 포함한다. 즉, 메모리 컨트롤러(110)가 제1 커맨드(80h), 어드레스(ADD), 제2 페이지 데이터(PD2), 제2 커맨드(C0h), 및 제3 커맨드(11h)를 제2 불휘발성 메모리 장치(NVM2)로 순차적으로 전송하는 동안, 제1 불휘발성 메모리 장치(NVM1)는 제1 페이지 데이터(PD1)를 제1 페이지 버퍼(PB1)로 덤프할 수 있다. 다시 말해서, 제1 레디/비지 신호(R/B1)가 비지 상태이더라도, 메모리 컨트롤러(110)는 제2 불휘발성 메모리 장치(NVM2)로 제2 페이지 데이터(PD2)를 셋업하기 위한 신호들을 전송할 수 있다. 즉, 더미 비지 타임(tDBSY2)에 의한 시간 지연이 단축되므로, 페이지 데이터 셋업 시간이 감소된다.
제3 구간(T03)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여, 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADDR), 제3 페이지 데이터(PD3), 제2 커맨드(C0h), 및 제4 커맨드(12h)를 순차적으로 제1 불휘발성 메모리 장치(NVM1)로 전송한다. 앞서 설명된 바와 같이, 제3 구간(T03)은 제2 불휘발성 메모리 장치(NVM2)가 제2 페이지 데이터(PD2)를 제3 페이지 버퍼(PB3)로 덤프하는 더미 비지 타임(tDBSY2)의 구간을 포함한다. 더미 비지 타임(tDBSY2) 동안 제2 레디/비지 신호(R/B2)는 비지 상태이다. 즉, 메모리 컨트롤러(110)가 제1 커맨드(80h), 어드레스(ADD), 제3 페이지 데이터(PD3), 제2 커맨드(C0h), 및 제4 커맨드(12h)를 제2 불휘발성 메모리 장치(NVM2)로 순차적으로 전송하는 동안, 제1 불휘발성 메모리 장치(NVM1)는 제3 페이지 데이터(PD3)를 제1 페이지 버퍼(PB1)로 덤프할 수 있다. 예시적으로, 제4 커맨드(12h)는 제1 페이지 버퍼(PB1)의 CSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다.
제4 구간(T04)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여, 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제4 페이지 데이터(PD4), 제2 커맨드(C0h), 및 제4 커맨드(12h)를 순차적으로 제2 불휘발성 메모리 장치(NVM2)로 전송한다. 앞서 설명된 바와 같이, 제4 구간(T04)은 제1 불휘발성 메모리 장치(NVM1)가 제3 페이지 데이터(PD3)를 제1 페이지 버퍼(PB1)로 덤프하는 더미 비지 타임(tDBSY2)의 구간을 포함한다. 예시적으로, 제4 구간(T04)의 제4 커맨드(12h)는 제3 페이지 버퍼(PB3)의 CSB 페이지 데이터를 가리키는 페이지 버퍼 어드레스일 수 있다.
제5 구간(T05)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여, 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제4 페이지 데이터(PD4), 제2 커맨드(C0h), 및 제5 커맨드(13h)를 순차적으로, 제1 불휘발성 메모리 장치(NVM1)로 전송한다. 앞서 설명된 바와 같이, 제5 구간(T05)은 제2 불휘발성 메모리 장치(NVM2)가 제4 페이지 데이터(PD4)를 제3 페이지 버퍼(PB3)로 덤프하는 더미 비지 타임(tDBSY2)의 구간을 포함한다. 예시적으로, 제5 구간(T05)의 제5 커맨드(13h)는 제1 플레인(PL1)과 대응하는 제1 페이지 버퍼(PB1)의 MSB 페이지 데이터를 가리키는 페이지 버퍼 어드레스일 수 있다.
제6 구간(T06) 이전에 제1 불휘발성 메모리 장치(NVM1)는 더미 비지 타임(tDBSY2) 동안 제5 페이지 데이터(PD5)를 제1 페이지 버퍼(PB1)로 덤프할 수 있다. 이 후, 제6 구간(T06)에서, 메모리 컨트롤러(110)는 제6 커맨드(8Bh), 프로그램 명령 어드레스(PO; program order address), 및 제7 커맨드(10h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제5 구간(T05)부터 제6 구간(T06)까지 제1 칩 활성화 신호(CEB1)는 활성화 상태일 수 있다. 예시적으로, 제6 커맨드(8Bh) 및 제 7 커맨드(10h)는 TLC 프로그램 커맨드 세트일 수 있다. 프로그램 명령 어드레스(PO)는 셋업된 페이지 데이터의 프로그램 순서를 가리킬 수 있다.
제1 불휘발성 메모리 장치(NVM1)는 제6 구간(T06)동안 수신된 신호들에 응답하여 셋업된 페이지 데이터(PD1, PD3, PD5)에 대하여 프로그램 동작을 수행할 수 있다. 예를 들어, 제1 불휘발성 메모리 장치(NVM1)는 프로그램 시간(tPROG) 동안 프로그램 동작을 수행할 수 있다. 이 때, 제1 레디/비지 신호(R/B1)는 프로그램 시간(tPROG)동안 비지 상태일 것이다.
제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 수행하는 동안, 제7 구간(T07)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 제1 커맨드(80h), 어드레스(ADD), 제6 페이지 데이터(PD6), 제2 커맨드(C0h), 및 제5 커맨드(13h)를 순차적으로 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제7 구간(T07) 이후에, 제2 불휘발성 메모리 장치(NVM2)는 제6 페이지 데이터(PD6)를 더미 비지 타임(tDBSY2) 동안 제3 페이지 버퍼(PB3)로 덤프할 수 있다.
이 후, 제8 구간(T08)에서, 메모리 컨트롤러(110)는 제6 커맨드(8Bh), 프로그램 명령 어드레스(PO; program order address), 및 제7 커맨드(10h)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 예시적으로, 제7 구간(T07)부터 제 구간(T08)까지 제2 칩 활성화 신호(CEB2)는 활성화 상태일 수 있다. 예시적으로, 제6 커맨드(8Bh) 및 제 7 커맨드(10h)는 TLC 프로그램 커맨드 세트일 수 있다. 프로그램 명령 어드레스(PO)는 셋업된 페이지 데이터의 프로그램 순서를 가리킬 수 있다.
제2 불휘발성 메모리 장치(NVM2)는 제8 구간(T08) 동안 수신된 신호들에 응답하여, 프로그램 시간(tPROG) 동안 셋업된 페이지 데이터에 대한 프로그램 동작을 수행할 수 있다.
제1 불휘발성 메모리 장치(NVM1)의 프로그램 동작이 완료된 이 후에, (즉, 제6 구간(T06) 이후에 제1 레디/비지 신호(R/B1)가 비지 상태에서 레디 상태로 바뀐 이 후에) 제9 구간(T09)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 제8 커맨드(70h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 제1 불휘발성 메모리 장치(NVM1)는 제8 커맨드(70h)에 응답하여 상태 정보(SR)를 데이터 신호(DQ)를 통해 메모리 컨트롤러(110)로 전송할 수 있다. 예시적으로, 제8 커맨드(70h)는 상태 레지스터 읽기 커맨드일 수 있고, 상태 정보(SR)는 상태 레지스터에 기입된 프로그램 패스 여부에 대한 정보일 수 있다.
제2 불휘발성 메모리 장치(NVM2)의 프로그램 동작이 완료된 이 후에, (즉, 제8 구간(T08) 이후에 제2 레디/비지 신호(R/B2)가 비지 상태에서 레디 상태로 바뀐 이 후에) 제10 구간(T10)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 제8 커맨드(70h)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제2 불휘발성 메모리 장치(NVM2)는 제8 커맨드(70h)에 응답하여 상태 정보(SR)를 데이터 신호(DQ)를 통해 메모리 컨트롤러(110)로 전송할 수 있다. 예시적으로, 제8 커맨드(70h)는 상태 레지스터 읽기 커맨드일 수 있고, 상태 정보(SR)는 상태 레지스터에 기입된 프로그램 패스 여부에 대한 정보일 수 있다.
상술된 바와 같이, 본 발명에 따른 메모리 컨트롤러(110)는 제1 채널(CH1)을 통해 통신하는 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)에 페이지 데이터를 교대로 셋업함으로써 더미 비지 타임에 의한 시간 지연을 감소시킬 수 있다. 따라서, 페이지 데이터 셋업 시간이 단축되므로, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.
도 10은 도 5의 불휘발성 메모리 시스템의 다른 프로그램 동작을 보여주는 순서도이다. 도 11은 도 10의 프로그램 동작을 설명하기 위한 도면이다. 예시적으로, 도 6 내지 도 9를 참조하여, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2) 각각에서 하나의 플레인에 페이지 데이터가 셋업되는 프로그램 방식이 설명되었다.
이하에서, 도 10 및 도 11을 참조하여, 멀티 플레인 프로그램 방식을 기반으로 하는 프로그램 동작이 설명된다. 멀티 플레인 프로그램 방식은 하나의 불휘발성 메모리 장치에 포함된 적어도 두개의 플레인들에 페이지 데이터를 셋업하고, 적어도 두개의 플레인들을 동시에 프로그램하는 프로그램 방식을 가리킨다. 이하에서, 간결한 설명을 위하여, 앞서 설명되었거나 또는 중복되는 구성 요소들에 대한 상세한 설명은 생략된다.
또한, 제1 및 제2 불휘발성 메모리 장치들(NVM_1, NVM_2) 각각은 제0 채널(CH0)을 통해 메모리 컨트롤러(110)와 통신하며, 삼중 레벨 셀들(TLC)을 포함하는 것으로 가정한다. 또한, 제1 불휘발성 메모리 장치(NVM_1)는 제1 칩 활성화 신호(CEB1)에 응답하여 동작하고, 제1 및 제2 플레인들(PL1, PL2)을 포함하는 것으로 가정한다. 제1 및 제2 플레인들(PL1, PL2) 각각은 제1 및 제2 페이지 버퍼 회로(PB1, PB2)들 각각과 연결되는 것으로 가정한다. 예시적으로, 제1 및 제2 페이지 버퍼 회로들(PB1, PB2)은 도 4를 참조하여 설명된 페이지 버퍼(122c)에 포함될 수 있다. 마찬가지로, 제2 불휘발성 메모리 장치(NVM_2)는 제2 칩 활성화 신호(CEB2)에 응답하여 동작하고, 제3 및 제4 플레인들(PL3, PL4)을 포함하며, 제3 및 제4 플레인들(PL3, PL4) 각각은 제3 및 제4 페이지 버퍼 회로들(PB3, PB4) 각각과 연결되는 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다.
앞서 설명된 바와 유사하게, 페이지 데이터 셋업은 페이지 데이터가 특정 플레인과 대응하는 특정 페이지 버퍼로 로드되거나 또는 덤프되는 것을 가리킨다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 특정 페이지 버퍼는 캐시 래치 및 데이터 래치를 포함할 수 있다. 이 때, 캐시 래치는 메모리 컨트롤러(110)로부터 수신된 데이터를 임시 저장할 수 있고, 메모리 컨트롤러(110)로부터 수신된 덤프 커맨드에 응답하여 캐시 래치의 데이터는 데이터 래치로 덤프될 수 있다. 이 때, 페이지 데이터 셋업은 캐시 래치에 데이터가 임시 저장되거나 또는 캐시 래치의 데이터가 데이터 래치로 덤프되는 것을 가리킬 수 있다.
도 5, 도 10, 및 도 11을 참조하면, S211 단계에서, 메모리 컨트롤러(110)는 제1 페이지 데이터(PD1)를 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업한다. (도 11의 ①) 예를 들어, 메모리 컨트롤러(110)는 제1 페이지 데이터(PD1)가 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업되도록, 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ) 및 제어 신호(CTRL)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 도 6의 S111 단계와 달리, S211 단계에서, 제1 불휘발성 메모리 장치(NVM1)는 제1 페이지 데이터(PD1)를 제1 페이지 버퍼(PB1)의 캐시 래치(미도시)로 로드할 수 있다.
S212 단계에서, 메모리 컨트롤러(110)는 제2 페이지 데이터(PD2)를 제2 불휘발성 메모리 장치(NVM1)의 제3 플레인(PL3)에 셋업한다. (도 11의 ②) 예를 들어, 메모리 컨트롤러(110)는 제2 페이지 데이터(PD2)가 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 셋업되도록, 제2 칩 활성화 신호(CEB2)를 활성화하여 데이터 신호(DQ) 및 제어 신호(CTRL)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 예시적으로, 제2 불휘발성 메모리 장치(110)는 수신된 신호들에 응답하여 제2 페이지 데이터(PD2)를 제3 페이지 버퍼(PB3)의 캐시 래치로 로드할 수 있다.
예시적으로, 멀티 플레인 프로그램 방식에서, 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 제1 페이지 데이터(PD1)가 셋업된 이후, 제1 더미 비지 타임(tDBSY)의 시간 동안 제1 불휘발성 메모리 장치(NVM1)의 제1 레디/비지 신호(R/B1)가 비지 상태가 된다. 예시적으로, 제1 더미 비지 타임(tDBSY)은 멀티 플레인 프로그램 방식에서 페이지 데이터 셋업시 플레인 변경을 위한 시간을 가리킨다.
즉, 메모리 컨트롤러(110)는 제1 플레인(PL1)에 제1 페이지 데이터(PD1)가 셋업되고 제1 더미 비지 타임(tDBSY)의 시간이 경과한 이후에 제2 플레인(PL2)에 다른 페이지 데이터를 셋업할 수 있다. 종래의 메모리 컨트롤러는 하나의 불휘발성 메모리 장치(NVM1)에 포함된 2개의 플레인들에 대하여 페이지 데이터를 셋업하기 때문에, 하나의 플레인에 페이지 데이터를 셋업한 이후에 제1 더미 비지 타임(tDBSY)의 시간 대기 후에 다른 플레인에 페이지 데이터를 셋업한다. 이로 인하여 제1 더미 비지 타임(tDBSY)으로 인한 시간 지연이 발생한다.
그러나, 본 발명에 따른 메모리 컨트롤러(110)는 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 제1 페이지 데이터(PD1)를 셋업한 이후에, 제1 더미 비지 타임(tDBSY)의 시간 대기 없이 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 제2 페이지 데이터(PD2)를 셋업하기 때문에, 제1 더미 비지 타임(tDBSY)으로 인한 시간 지연이 발생하지 않는다.
S213 단계에서, 메모리 컨트롤러(110)는 제3 페이지 데이터(PD3)를 제1 불휘발성 메모리 장치(NVM1)의 제2 플레인(PL2)에 셋업한다. (도 11의 ③) 예시적으로, S213 단계의 동작이 수행되는 도중에, 제2 레디/ 비지 신호(R/B2)는 제1 더미 비지 타임(tDBSY) 동안 비지 상태일 것이다. 예를 들어, 메모리 컨트롤러(110)는 제3 페이지 데이터(PD3)가 제1 불휘발성 메모리 장치(NVM1)의 제2 플레인(PL2)에 셋업되도록, 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ) 및 제어 신호(CTRL)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제1 불휘발성 메모리 장치(NVM1)는 수신된 신호들에 응답하여, S211 단계의 캐시 래치에 로드된 제1 페이지 데이터(PD1)를 제1 페이지 버퍼(PB1)의 데이터 래치로 덤프하고, 제3 페이지 데이터(PB3)를 제2 페이지 버퍼(PB2)의 데이터 래치로 덤프할 수 있다. 예시적으로, 제1 불휘발성 메모리 장치(NVM1)의 데이터 덤프 동작은 제2 더미 비지 타임(tDBSY2) 동안 수행될 수 있다. 이 때, 제1 레디/비지 신호(R/B1)는 제2 더미 비지 타임(tDBSY2) 동안 비지 상태일 수 있다. 예시적으로, 제2 더미 비지 타임(tDBSY2)은 제1 더미 비지 타임(tDBSY)보다 길 수 있다.
S214 단계에서, 메모리 컨트롤러(110)는 제4 페이지 데이터(PD4)를 제2 불휘발성 메모리 장치(NVM2)의 제4 플레인(PL4)에 셋업 한다. (도 11의 ④) 예시적으로, S214 단계의 동작이 수행되는 도중에, 제1 레디/비지 신호(R/B1)는 제2 더미 비지 타임(tDBSY2) 동안 비지 상태일 것이다. 예를 들어, 메모리 컨트롤러(110)는 제4 페이지 데이터(PD4)가 제2 불휘발성 메모리 장치(NVM2)의 제4 플레인(PL4)에 셋업되도록, 제2 칩 활성화 신호(CEB2)를 활성화하여 데이터 신호(DQ) 및 제어 신호(CTRL)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 예시적으로, 제2 불휘발성 메모리 장치(NVM2)는 수신된 신호들에 응답하여, S212 단계의 캐시 래치에 로드된 제2 페이지 데이터(PD2)를 제3 페이지 버퍼(PB3)의 데이터 래치로 덤프하고, 제4 페이지 데이터(PB4)를 제4 페이지 버퍼(PB4)의 데이터 래치로 덤프할 수 있다. 예시적으로, 제2 불휘발성 메모리 장치(NVM2)의 데이터 덤프 동작은 제2 더미 비지 타임(tDBSY2) 동안 수행될 수 있다. 이 때, 제2 레디/비지 신호(R/B2)는 제2 더미 비지 타임(tDBSY2) 동안 비지 상태일 수 있다.
S221 단계에서, 메모리 컨트롤러(110)는 제5 페이지 데이터(PD5)를 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업한다. (도 11의 ⑤) S222 단계에서, 메모리 컨트롤러(110)는 제6 페이지 데이터(PD6)를 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 셋업한다. (도 11의 ⑥) S223 단계에서, 메모리 컨트롤러(110)는 제7 페이지 데이터(PD7)를 제1 불휘발성 메모리 장치(NVM1)의 제2 플레인(PL2)에 셋업한다. (도 11의 ⑦) S224 단계에서, 메모리 컨트롤러(110)는 제8 페이지 데이터(PD8)를 제2 불휘발성 메모리 장치(NVM2)의 제4 플레인(PL4)에 셋업한다. (도 11의 ⑧) 예시적으로, S221 단계 내지 S224 단계의 동작들은 S211 단계 내지 S214 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.
S231 단계에서, 메모리 컨트롤러(110)는 제9 페이지 데이터(PD9)를 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 셋업한다. (도 11의 ⑨) S232 단계에서, 메모리 컨트롤러(110)는 제10 페이지 데이터(PD10)를 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 셋업한다. (도 11의 ⑩) S233 단계에서, 메모리 컨트롤러(110)는 제11 페이지 데이터(PD11)를 제1 불휘발성 메모리 장치(NVM1)의 제2 플레인(PL2)에 셋업한다. (도 11의 ⑪) S231 단계 내지 S233 단계의 동작들은 S211 단계 내지 S213 단계의 동작들과 유사하므로 이에 대한 상세한 설명은 생략된다.
S233 단계의 동작이 완료된 이후에, 제1 불휘발성 메모리 장치(NVM1)의 제1 및 제2 플레인들(PL1, PL2) 각각에 제1, 제5, 및 제9 페이지 데이터(PD1, PD5, PD9) 및 제3, 제7, 및 제11 페이지 데이터(PD3, PD7, PD11)가 셋업된 상태일 것이다. S233 단계의 동작이 완료된 이후에, S241 단계에서, 메모리 컨트롤러(110)는 제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 수행하도록 제1 불휘발성 메모리 장치(NVM1)로 프로그램 확인 커맨드를 전송한다. 예시적으로, 제1 불휘발성 메모리 장치(NVM1)는 프로그램 확인 커맨드에 응답하여 제1 및 제2 플레인들(PL1, PL2)에 셋업된 페이지 데이터를 프로그램할 수 있다.
제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 수행하는 도중에, S234 단계에서, 메모리 컨트롤러(110)는 제12 페이지 데이터(PD12)를 제2 불휘발성 메모리 장치(NVM2)의 제4 플레인(PL4)에 셋업한다. (도 11의 ⑫) S234 단계의 동작은 S214 단계의 동작과 유사하므로, 이에 대한 상세한 설명은 생략된다.
S234 동작이 완료된 이후에, 제2 불휘발성 메모리 장치(NVM2)의 제3 및 제4 플레인들(PL3, PL4) 각각에 제2, 제6, 및 제10 페이지 데이터(PD2, PD6, PD10) 및 제4, 제8, 및 제12 페이지 데이터(PD4, PD8, PD12)가 셋업된 상태일 것이다. S234 단계의 동작이 완료된 이후에, S242 단계에서, 메모리 컨트롤러(110)는 제2 불휘발성 메모리 장치(NVM2)가 프로그램 동작을 수행하도록 제2 불휘발성 메모리 장치(NVM2)로 프로그램 확인 커맨드를 전송한다. 예시적으로, 제2 불휘발성 메모리 장치(NVM2)는 프로그램 확인 커맨드에 응답하여 제3 및 제4 플레인들(PL3, PL4)에 셋업된 페이지 데이터를 프로그램할 수 있다.
예시적으로, S211 단계 내지 S214 단계의 동작들은 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)의 LSB 페이지 데이터를 셋업하기 위한 동작들이고, S221 단계 내지 S224 단계의 동작들은 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)의 CSB 페이지 데이터를 셋업하기 위한 동작들이고, S231 단계 내지 S234 단계의 동작들은 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)의 MSB 페이지 데이터를 셋업하기 위한 동작들일 수 있다.
상술된 바와 같이, 멀티 플레인 프로그램 방식에서, 메모리 컨트롤러(110)는 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)에 페이지 데이터를 교대로 셋업함으로써 제1 및 제2 더미 비지 타임들(tDBSY, tDBSY2)에 의한 시간 지연을 감소킬 수 있다. 따라서, 페이지 데이터 셋업 시간이 단축되고, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다. 10)PTD4)FPD11)ALCess
도 12 내지 도 14는 도 10의 프로그램 동작을 상세하게 설명하기 위한 타이밍도들이다. 간결한 설명을 위하여, 앞서 언급된 구성에 대한 구체적인 설명은 생략된다. 도면에서 도시된 커맨드, 어드레스, 페이지 데이터에 대한 참조 번호들은 예시적인 것이며, 본 발명의 기술적 사상이 이에 한정되는 것은 아니다. 또한, 도면에서 도시된 커맨드 및 어드레스가 동일한 참조번호에 의해 도시되나 각 동작 구간, 타겟 장치(예를 들어, 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2))에 따라 다른 의미를 갖음은 잘 이해될 것이다.
또한, 도면의 간결성을 위하여, 본 발명의 기술적 특징을 설명하는데 불필요한 구성들, 예를 들어, 어드레스 데이터 로딩 타임(tADL), 쓰기 활성화 신호 비지 타임(tWB) 등과 같은 구성들은 타이밍도들에서 생략된다. 또한, 각 구간들에서의 어드레스들(ADD) 각각은 각 구간에서 셋업되는 페이지 데이터가 저장되는 물리적 위치를 가리키며, 서로 다른 어드레스일 것이다.
또한, 이하에서, 간결한 설명을 위하여 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2) 각각은 커맨드 세트(80h-11h)에 응답하여, 수신된 페이지 데이터(PD)를 대응하는 페이지 버퍼(PB)의 캐시 래치(미도시)에 로드하고, 덤프 커맨드(C0h)에 응답하여 수신된 페이지 데이터(PD)를 대응하는 페이지 버퍼(PB)의 데이터 래치(미도시)에 덤프하는 것으로 가정한다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 커맨드 세트 또는 페이지 데이터의 덤프 또는 로드는 다양한 방식으로 변형될 수 있다.
도 11 내지 도 도 14를 참조하면, 제11 구간(T11)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제1 페이지 데이터(PD1), 및 제2 커맨드(11h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제1 및 제2 커맨드들(80h, 11h)은 멀티 플레인 프로그램에서 제1 불휘발성 메모리 장치(NVM1)의 제1 플레인(PL1)에 페이지 데이터를 셋업하기 위한 커맨드 세트일 수 있다. 예시적으로, 제1 불휘발성 메모리 장치(NVM1)는 제1 구간에서 수신된 신호들에 응답하여 제1 페이지 데이터(PD1)를 제1 페이지 버퍼(PB1)로 로드한다.
제12 구간(T12)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 제1 커맨드(80h), 어드레스(ADD), 제2 페이지 데이터(PD2), 및 제2 커맨드(11h)를 제2 불휘발성 메모리 장치(NVM2)로 전송한다. 제12 구간(T12)의 제1 및 제2 커맨드들(80h, 11h)은 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 제2 페이지 데이터(PD2)를 셋업하기 위한 커맨드 세트일 수 있다.
예시적으로, 앞서 설명된 바와 같이 제12 구간(T12)에서 제2 페이지 데이터(PD2)를 제3 플레인(PL3)에 셋업하기 위한 신호들이 제2 불휘발성 메모리 장치(NVM2)로 전송되는 동안 제1 레디/비지 신호(R/B1)는 제1 더미 비지 타임(tDBSY)동안 비지 상태일 수 있다. 제1 더미 비지 타임(tDBSY)은 멀티 플레인 프로그램 방식에서 페이지 데이터를 셋업하기 위한 플레인을 변경하기 위한 시간일 수 있다. 예시적으로, 제1 레디/비지 신호(R/B1)가 제1 더미 비지 타임(tDBSY)동안 비지 상태이더라도, 메모리 컨트롤러(110)는 제2 페이지 데이터(PD2)를 제2 불휘발성 메모리 장치(NVM2)의 제3 플레인(PL3)에 셋업할 수 있다.
마찬가지로, 제13 구간(T13)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 제3 커맨드(81h), 어드레스(ADDR), 제3 페이지 데이터(PD3), 및 제4 커맨드(C0h), 및 제5 커맨드(31h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제3 커맨드(81h)는 멀티 플레인 프로그램 시작 커맨드일 수 있다. 제4 및 제5 커맨드들(C0h, 31h)은 덤프 커맨드일 수 있다. 예시적으로, 제5 커맨드(31h)는 제1 및 제2 플레인들(PL1, PL2)과 각각 대응하는 제1 및 제2 페이지 버퍼들(PB1, PB2)의 LSB 페이지 데이터를 가리키는 페이지 버퍼 어드레스일 수 있다. 제1 불휘발성 메모리 장치(NVM1)는 제13 구간(T13)에서 수신된 신호들에 응답하여 제1 페이지 데이터(PD1) 및 제3 페이지 데이터(PD3)를 각각 제1 페이지 버퍼(PB1) 및 제2 페이지 버퍼(PB2)로 덤프할 수 있다. 예시적으로, 덤프 동작은 제14 구간(T14)의 제2 더미 비지 타임(tDBSY2) 동안 수행될 수 있다. 제1 불휘발성 메모리 장치(NVM1)의 덤프 동작 동안 제1 레디/비지 신호(R/B1)는 비지 상태일 수 있다.
앞서 설명된 바와 같이, 제13 구간(T13)에서, 제2 레디/비지 신호(R/B2)는 제1 더미 비지 타임(tDBSY) 동안 비지 상태일 수 있다. 그러나, 본 발명에 따른 메모리 컨트롤러(110)는 제13 구간(T13)에서 제1 불휘발성 메모리 장치(NVM1)로 신호들을 전송하기 때문에, 제2 레디/비지 신호(R/B2)와 무관하게 신호들을 전송할 수 있다.
제14 구간(T14)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 제3 커맨드(81h), 어드레스(ADD), 제4 페이지 데이터(PD4), 제4 커맨드(C0h), 및 제5 커맨드(31h)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제3 내지 제5 커맨드들(81h, C0h, 31h)은 앞서 설명된 바와 유사하므로 이에 대한 상세한 설명은 생략된다. 예시적으로, 제14 구간(T14)의 제5 커맨드(31h)는 제2 불휘발성 메모리 장치(NVM2)의 제3 및 제4 플레인들(PL3, PL4)과 대응하는 제3 및 제4 페이지 버퍼들(PB3, PB4)의 LSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다. 제2 불휘발성 메모리 장치(NVM2)는 제14 구간(T14)에서 수신된 신호들에 응답하여 제2 페이지 데이터(PD2) 및 제4 페이지 데이터(PD4)를 각각 제3 페이지 버퍼(PB3) 및 제4 페이지 버퍼(PB4)로 덤프할 수 있다. 예시적으로, 덤프 동작은 제15 구간(T15)의 제2 더미 비지 타임(tDBSY2) 동안 수행될 수 있고, 제1 불휘발성 메모리 장치(NVM1)의 덤프 동작 동안 제2 레디/비지 신호(R/B2)는 비지 상태일 수 있다.
예시적으로, 메모리 컨트롤러(110)는 제11 구간(T11) 내지 제14 구간(T14)의 동작들을 통해 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)에 LSB 페이지 데이터를 셋업할 수 있다.
제15 구간(T15)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제5 페이지 데이터(PD5), 및 제2 커맨드(11h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제15 구간(T15)에서, 제2 레디/비지 신호(R/B2)는 제2 더미 비지 타임(tDBSY2) 동안 비지 상태일 수 있다. 제15 구간(T15)의 동작은 제11 구간(T11)의 동작과 유사하므로 이에 대한 상세한 설명은 생략된다.
제16 구간(T16)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제6 페이지 데이터(PD6), 및 제2 커맨드(11h)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제16 구간(T16)의 동작은 제12 구간(T12)의 동작과 유사하므로, 이에 대한 상세한 설명은 생략된다.
S17 구간(T17)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ)를 통해 제3 커맨드(81h), 어드레스(ADD), 제7 페이지 데이터(PD7), 제4 커맨드(C0h), 및 제6 커맨드(32h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 제17 구간(T17)의 동작은 제13 구간(T13)의 동작과 유사하므로, 이에 대한 상세한 설명은 생략된다. 예시적으로, 제17 구간(T17)의 제6 커맨드(32h)는 제1 불휘발성 메모리 장치(NVM1)의 제1 및 제2 플레인들(PL1, PL2)에 대응하는 제1 및 제2 페이지 버퍼들(PB1, PB2)의 CSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다.
S18 구간(T18)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 데이터 신호(DQ)를 통해 제3 커맨드(81h), 어드레스(ADD), 제8 페이지 데이터(PD8), 제4 커맨드(C0h), 및 제6 커맨드(32h)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제18 구간(T18)의 동작은 제14 구간(T1)의 동작과 유사하므로, 이에 대한 상세한 설명은 생략된다. 예시적으로, 제18 구간(T18)의 제6 커맨드(32h)는 제2 불휘발성 메모리 장치(NVM2)의 제3 및 제4 플레인들(PL3, PL4)에 대응하는 제3 및 제4 페이지 버퍼들(PB3, PB4)의 CSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다.
예시적으로, 메모리 컨트롤러(110)는 제15 구간(T15) 내지 제18 구간(T18)의 동작들을 통해 제1 및 제2 불휘발성 메모리 장치들(NVM1, NVM2)에 CSB 페이지 데이터를 셋업할 수 있다.
제19 구간(T19)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제9 페이지 데이터(PD9), 및 제2 커맨드(11h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 제15 구간(T15)의 동작은 제11 구간(T11)의 동작과 유사하므로 이에 대한 상세한 설명은 생략된다.
제20 구간(T20)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 데이터 신호(DQ)를 통해 제1 커맨드(80h), 어드레스(ADD), 제10 페이지 데이터(PD10), 및 제2 커맨드(11h)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제20 구간(T20)의 동작은 제12 구간(T12)의 동작과 유사하므로, 이에 대한 상세한 설명은 생략된다.
S21 구간(T21)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 데이터 신호(DQ)를 통해 제3 커맨드(81h), 어드레스(ADD), 제11 페이지 데이터(PD11), 제4 커맨드(C0h), 및 제7 커맨드(33h)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 제21 구간(T21)의 동작은 제13 구간(T13)의 동작과 유사하므로, 이에 대한 상세한 설명은 생략된다. 예시적으로, 제21 구간(T21)의 제7 커맨드(33h)는 제1 불휘발성 메모리 장치(NVM1)의 제1 및 제2 플레인들(PL1, PL2)에 대응하는 제1 및 제2 페이지 버퍼들(PB1, PB2)의 MSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다.
예시적으로, 제1 불휘발성 메모리 장치(NVM1)가 제11 페이지 데이터(PD11)에 대한 덤프 동작을 완료한 이후에, 제1, 제5, 및 제9 페이지 데이터(PD1, PD5, PD9) 및 제3, 제7, 및 제11 페이지 데이터(PD3, PD7, PD11)가 각각 제1 및 제2 페이지 버퍼들(PB1, PB2)에 셋업된 상태일 것이다.
메모리 컨트롤러(110)는 제22 구간(T22)에서, 제1 칩 활성화 신호(CEB1)를 활성화하여 프로그램 확인 커맨드를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예를 들어, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 제1 프로그램 확인 커맨드 세트(8Bh, 11h) 및 프로그램 확인 어드레스(PO)를 제1 불휘발성 메모리 장치(NVM1)로 전송하고, 제2 프로그램 확인 커맨드 세트(8Bh, 10h) 및 프로그램 확인 어드레스(PO)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제1 프로그램 확인 커맨드 세트(8Bh, 11h) 및 프로그램 확인 어드레스(PO)이 전송된 이후에, 제1 레디/비지 신호(R/B1)는 제1 더미 비지 타임(tDBSY)동안 비지 상태일 수 있다. 즉, 메모리 컨트롤러(110)는 1 프로그램 확인 커맨드 세트(8Bh, 11h) 및 프로그램 확인 어드레스(PO)를 제1 불휘발성 메모리 장치(NVM1)로 전송하고, 제1 더미 비지 타임(tDBSY)이 경과한 이후에 제2 프로그램 확인 커맨드 세트(8Bh, 10h) 및 프로그램 확인 어드레스(PO)를 제1 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제1 불휘발성 메모리 장치(NVM1)는 제22 구간(T22)에서 수신된 프로그램 확인 커맨드에 응답하여 셋업된 페이지 데이터를 각각 제1 및 제2 플레인들(PL1, PL2)에 프로그램할 수 있다.
예시적으로, 제1 불휘발성 메모리 장치(NVM1)는 프로그램 시간(tPROG)동안 프로그램 동작을 수행할 수 있고, 제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 수행하는 동안 제1 레디/비지 신호(R/B1)는 비지 상태일 것이다.
제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 수행하는 동안(즉, 제1 레디/비지 신호(R/B1)가 비지 상태인 동안), 제23 구간(T23)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 데이터 신호(DQ)를 통해 제3 커맨드(81h), 어드레스(ADD), 제12 페이지 데이터(PD8), 제4 커맨드(C0h), 및 제7 커맨드(33h)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 제23 구간(T23)의 동작은 제18 구간(T18)의 동작과 유사하므로, 이에 대한 상세한 설명은 생략된다. 예시적으로, 제23 구간(T23)의 제7 커맨드(33h)는 제2 불휘발성 메모리 장치(NVM2)의 제3 및 제4 플레인들(PL3, PL4)에 대응하는 제3 및 제4 페이지 버퍼들(PB3, PB4)의 MSB 페이지를 가리키는 페이지 버퍼 어드레스일 수 있다.
제2 불휘발성 메모리 장치(NVM2)가 제12 페이지 데이터(PD12)에 대한 덤프 동작을 완료한 이후에, 제2, 제6, 및 제10 페이지 데이터(PD2, PD6, PD10) 및 제4, 제8, 및 제12 페이지 데이터(PD4, PD8, PD12)가 각각 제3 및 제4 페이지 버퍼들(PB3, PB4)에 셋업된 상태일 것이다.
제24 구간(T24)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 프로그램 확인 커맨드를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 예를 들어, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 제1 프로그램 확인 커맨드 세트(8Bh, 11h) 및 프로그램 확인 어드레스(PO)를 제2 불휘발성 메모리 장치(NVM2)로 전송하고, 제2 프로그램 확인 커맨드 세트(8Bh, 10h) 및 프로그램 확인 어드레스(PO)를 제2 불휘발성 메모리 장치(NVM2)로 전송할 수 있다. 예시적으로, 제1 프로그램 확인 커맨드 세트(8Bh, 11h) 및 프로그램 확인 어드레스(PO)이 전송된 이후에, 제2 레디/비지 신호(R/B2)는 제1 더미 비지 타임(tDBSY)동안 비지 상태일 수 있다. 즉, 메모리 컨트롤러(110)는 1 프로그램 확인 커맨드 세트(8Bh, 11h) 및 프로그램 확인 어드레스(PO)를 제2 불휘발성 메모리 장치(NVM2)로 전송하고, 제1 더미 비지 타임(tDBSY)이 경과한 이후에 제2 프로그램 확인 커맨드 세트(8Bh, 10h) 및 프로그램 확인 어드레스(PO)를 제2 불휘발성 메모리 장치(NVM1)로 전송할 수 있다. 예시적으로, 제2 불휘발성 메모리 장치(NVM2)는 제22 구간(T22)에서 수신된 프로그램 확인 커맨드에 응답하여 셋업된 페이지 데이터를 각각 제3 및 제4 플레인들(PL3, PL4)에 프로그램할 수 있다.
제1 불휘발성 메모리 장치(NVM1)가 프로그램 동작을 완료한 이후에, (즉, 제1 레디/비지 신호(R/B1)가 비지 상태에서 레디 상태로 변경된 이후에,) 제25 구간(T25)에서, 메모리 컨트롤러(110)는 제1 칩 활성화 신호(CEB1)를 활성화하여 제8 커맨드(70h)를 제1 불휘발성 메모리 장치(NVM1)로 전송한다. 제1 불휘발성 메모리 장치(NVM1)는 제25 구간(T25)의 제8 커맨드(70h)에 응답하여, 상태 정보(SR)를 메모리 컨트롤러(110)로 전송한다. 제8 커맨드(70h)는 상태 레지스터 읽기 커맨드일 수 있고, 상태 정보(SR)는 상태 레지스터에 기입된 프로그램 패스 여부에 대한 정보일 수 있다.
제2 불휘발성 메모리 장치(NVM2)가 프로그램 동작을 완료한 이후에, (즉, 제2 레디/비지 신호(R/B2)가 비지 상태에서 레디 상태로 변경된 이후에,) 제26 구간(T26)에서, 메모리 컨트롤러(110)는 제2 칩 활성화 신호(CEB2)를 활성화하여 제8 커맨드(70h)를 제2 불휘발성 메모리 장치(NVM2)로 전송한다. 제2 불휘발성 메모리 장치(NVM2)는 제26 구간(T25)의 제8 커맨드(70h)에 응답하여, 상태 정보(SR)를 메모리 컨트롤러(110)로 전송한다. 제8 커맨드(70h)는 상태 레지스터 읽기 커맨드일 수 있고, 상태 정보(SR)는 상태 레지스터에 기입된 프로그램 패스 여부에 대한 정보일 수 있다.
상술된 바와 같이, 본 발명에 따른 불휘발성 메모리 시스템(100)은, 프로그램 동작시, 하나의 채널을 통해 통신하는 복수의 불휘발성 메모리 장치들에 대하여 페이지 데이터를 교대로 셋업한다. 따라서, 데이터 덤프 또는 플레인 변경에 의한 더미 비지 타임의 지연이 감소되므로, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.
예시적으로, 상술된 예시적인 실시 예들에서 TLC 프로그램 또는 멀티 플레인 프로그램 방식을 기반으로 본 발명이 설명되었다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니며, 다양한 프로그램 방식들에 본 발명의 기술적 사상이 적용될 수 있다.
도 15은 본 발명의 다른 실시 예에 따른 불휘발성 메모리 시스템을 보여주는 블록도이다. 도 15을 참조하면, 불휘발성 메모리 시스템(200)은 메모리 컨트롤러(210) 및 복수의 불휘발성 메모리 장치들(220)을 포함한다. 메모리 컨트롤러(210)는 복수의 채널들(CH1~CHn)을 통해 복수의 불휘발성 메모리 장치들(220)과 통신한다. 예를 들어, 메모리 컨트롤러(210)는 제1 채널(CH1)을 통해 제1 내지 제m 불휘발성 메모리 장치들(NVM1~NVMm)과 통신한다.
메모리 컨트롤러(210) 및 복수의 불휘발성 메모리 장치들(220)은 도 1 내지 도 14를 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
메모리 컨트롤러(210)는 데이터 관리부(211)를 포함한다. 데이터 관리부(211)는 도 1 내지 도 14를 참조하여 설명된 바와 같이 복수의 페이지 데이터가 동일한 채널을 통해 연결되는 복수의 불휘발성 메모리 장치들(예를 들어, 제1 내지 제m 불휘발성 메모리 장치들(NVM1~NVMm))에 각각 교대로 셋업되도록 페이지 데이터를 재배열할 수 있다. 예를 들어, 데이티 관리부(211)는 외부 장치(예를 들어, 호스트, 프로세서 등)로부터 수신된 쓰기 데이터를 페이지 단위로 분류하고, 동일한 채널을 통해 연결되는 복수의 불휘발성 메모리 장치들(예를 들어, 제1 내지 제m 불휘발성 메모리 장치들(NVM1~NVMm))에 각각 교대로 셋업되도록 페이지 데이터를 관리 또는 재배열할 수 있다. 예시적으로, 데이터 관리부(211)는 소프트웨어 형태로 제공되며, 메모리 컨트롤러(210)의 SRAM(도 2 참조) 또는 버퍼 메모리(도 2 참조)에 저장되며, CPU(도 2 참조)에 의해 구동될 수 있다.
예시적으로, 데이터 관리부(211)는 복수의 불휘발성 메모리 장치들(220) 각각의 읽기 또는 쓰기 단위에 따라 데이터를 관리할 수 있다. 예를 들어, 복수의 불휘발성 메모리 장치들(220) 각각의 쓰기 단위가 페이지 단위이며, 복수의 불휘발성 메모리 장치들(220) 각각이 2개의 플레인들을 포함하고, 하나의 플레인의 하나의 페이지의 단위가 8KB이고, 복수의 불휘발성 메모리 장치들(220) 각각에 포함된 메모리 셀들이 삼중 레벨 셀(TLC)인 경우, 데이터 관리부(211)는 8*3*4 KB 단위로 데이터를 관리할 수 있다. 이 경우, 관리되는 단위의 데이터는 제1 내지 제12 페이지 데이터를 포함하고, 제1 내지 제12 페이지 데이터는 각각 제1 채널(CH1)을 통해 통신하는 제1 불휘발성 메모리 장치(NVM1) 및 제2 불휘발성 메모리 장치(NVM2)에 교대로 셋업될 수 있다.
상술된 바와 같이, 본 발명에 따른 불휘발성 메모리 시스템은, 프로그램 동작시, 하나의 채널을 통해 통신하는 복수의 불휘발성 메모리 장치들에 교대로 페이지 데이터를 셋업함으로써, 더미 비지 타임에 의한 시간 지연을 단축할 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.
도 16은 본 발명의 실시 예들에 따른 불휘발성 메모리 시스템이 적용된 메모리 카드 시스템을 보여주는 블록도이다. 도 16을 참조하면, 메모리 카드 시스템(1000)은 컨트롤러(1100), 불휘발성 메모리(1200), 및 커넥터(1300)를 포함한다.
컨트롤러(1100)는 불휘발성 메모리(1200)와 연결된다. 컨트롤러(1100)는 불휘발성 메모리(1200)를 액세스하도록 구성된다. 예를 들어, 컨트롤러(1200)는 불휘발성 메모리(1100)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다. 배경(background) 동작은 마모도 관리, 가비지 콜렉션 등과 같은 동작들을 포함한다.
컨트롤러(1200)는 불휘발성 메모리(1100) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 컨트롤러(1200)는 불휘발성 메모리(1100)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다.
예시적으로, 컨트롤러(2100)는 램(RAM, Random Access Memory), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface), 메모리 인터페이스(memory interface), 에러 정정부와 같은 구성 요소들을 포함할 수 있다.
컨트롤러(1100)는 커넥터(1300)를 통해 외부 장치와 통신할 수 있다. 컨트롤러(1100)는 특정한 통신 규격에 따라 외부 장치(예를 들어, 호스트)와 통신할 수 있다. 예시적으로, 컨트롤러(2200)는 DDR(Double Data Rate) interface, USB (Universal Serial Bus), MMC (multimedia card), eMMC(embeded MMC), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), 파이어와이어(Firewire), UFS(Universal Flash Storage), NVMe (Nonvolatile Memory express) 등과 같은 다양한 통신 규격들 중 적어도 하나를 통해 외부 장치와 통신하도록 구성된다.
불휘발성 메모리(1200)는 EPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 다양한 불휘발성 메모리 소자들로 구현될 수 있다.
예시적으로, 컨트롤러(1100) 및 불휘발성 메모리(1200)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(1200) 및 불휘발성 메모리(1100)는 하나의 반도체 장치로 집적되어 솔리드 스테이트 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 컨트롤러(1100) 및 불휘발성 메모리(1100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(1100) 및 불휘발성 메모리(1200)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro, eMMC), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 수 있다.
불휘발성 메모리(1200) 또는 메모리 카드 시스템(1000)은 다양한 형태의 패키지로 실장될 수 있다. 예를 들면, 불휘발성 메모리(1200) 또는 메모리 카드 시스템(1000)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
예시적으로, 불휘발성 메모리(1200)는 복수의 불휘발성 메모리 장치들을 포함할 수 있고, 컨트롤러(1100)는 도 1 내지 도 15을 참조하여 설명된 동작 방법을 기반으로 프로그램 동작을 수행하거나 또는 페이지 데이터를 셋업할 수 있다.
도 17은 본 발명에 따른 스토리지 장치가 적용된 SSD(Solid State Drive) 시스템을 예시적으로 보여주는 블록도이다. 도 17을 참조하면, SSD 시스템(2000)은 호스트(2100) 및 SSD(2200)를 포함한다. SSD(2200)는 신호 커넥터(2001)를 통해 호스트(2100)와 신호(SIG)를 주고 받고, 전원 커넥터(2002)를 통해 전원(PWR)을 입력받는다. SSD(2200)는 SSD 컨트롤러(2210), 복수의 플래시 메모리들(2221~222n), 보조 전원 장치(2230), 및 버퍼 메모리(2240)를 포함한다.
SSD 컨트롤러(2210)는 호스트(2100)로부터 수신된 신호(SIG)에 응답하여 복수의 채널들(CH1~CHn)을 통해 복수의 플래시 메모리들(2221~222n)을 제어할 수 있다. 복수의 플래시 메모리들(2221~222n)은 SSD 컨트롤러(2210)의 제어에 따라 프로그램 동작을 수행할 수 있다. 예시적으로, SSD 컨트롤러(2210)는 도 1 내지 도 15을 참조하여 설명된 동작 방법을 기반으로 복수의 플래시 메모리들(2221~222n)을 제어할 수 있다.
보조 전원 장치(2230)는 전원 커넥터(2002)를 통해 호스트(2100)와 연결된다. 보조 전원 장치(2230)는 호스트(2100)로부터 전원(PWR)을 입력받고, 충전할 수 있다. 보조 전원 장치(2230)는 호스트(2100)로부터의 전원 공급이 원활하지 않을 경우, SSD 시스템(2000)의 전원을 제공할 수 있다. 예시적으로, 보조 전원 장치(2230)는 SSD(2200) 내에 위치할 수도 있고, SSD(2200) 밖에 위치할 수도 있다. 예를 들면, 보조 전원 장치(2230)는 메인 보드에 위치하며, SSD(2200)에 보조 전원을 제공할 수도 있다.
버퍼 메모리(2240)는 SSD(3200)의 버퍼 메모리로 동작한다. 예를 들어, 버퍼 메모리(2240)는 호스트(2100)로부터 수신된 데이터 또는 복수의 플래시 메모리들(2221~222n)로부터 수신된 데이터를 임시 저장하거나, 플래시 메모리들(2221~222n)의 메타 데이터(예를 들어, 매핑 테이블)를 임시 저장할 수 있다. 버퍼 메모리(2240)는 DRAM, SDRAM, DDR SDRAM, LPDDR SDRAM, SRAM 등과 같은 휘발성 메모리 또는 FRAM ReRAM, STT-MRAM, PRAM 등과 같은 불휘발성 메모리들을 포함할 수 있다.
도 18는 본 발명에 따른 불휘발성 메모리 시스템이 적용된 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다. 도 18를 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), 불휘발성 메모리 모듈들(3200, 3300), 램 모듈들(3400, 3401), 칩셋(3500), GPU(3600), 입출력 장치(3700), 및 스토리지 장치(3800)를 포함한다.
프로세서(3100)는 컴퓨팅 시스템(3000)의 제반 동작을 제어할 수 있다. 프로세서(3100)는 컴퓨팅 시스템(3000)에서 수행되는 다양한 연산을 수행할 수 있다.
불휘발성 메모리 모듈들(3200, 3300) 및 램 모듈들(3400, 3401)은 프로세서(3100)와 직접적으로 연결될 수 있다. 예를 들어, 불휘발성 메모리 모듈들(3200, 3300) 및 램 모듈들(3400, 3401) 각각은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module) 형태를 가질 수 있고, 불휘발성 메모리 모듈들(3200, 3300) 및 램 모듈들(3400, 3401) 각각은 프로세서(3100)와 직접적으로 연결된 DIMM 소켓에 장착되어 프로세서(3100)와 통신할 수 있다.
불휘발성 메모리 모듈들(3200, 3300) 및 램 모듈들(3400, 3401)은 동일한 인터페이스(3001)를 통해 프로세서(3100)와 통신할 수 있다. 예를 들어, 불휘발성 메모리 모듈들(3200, 3300) 및 램 모듈들(3400, 3401)은 DDR(Double Data Rate) 인터페이스(3001)를 통해 통신할 수 있다. 예시적으로, 프로세서(3100)는 불휘발성 메모리 모듈들(3200, 3300)을 컴퓨팅 시스템(3000)의 대용량 저장 매체로서 사용할 수 있다. 램 모듈들(3300, 3400)을 컴퓨팅 시스템(3000)의 동작 메모리, 버퍼 메모리, 또는 캐시 메모리로서 사용할 수 있다.
칩셋(3500)은 프로세서(3100)와 전기적으로 연결되고, 프로세서(3100)의 제어에 따라 컴퓨팅 시스템(3000)의 하드웨어를 제어할 수 있다. 예를 들어, 칩셋(3500)은 주요 버스들을 통해 GPU(3600), 입출력 장치(3700), 및 스토리지 장치(3800) 각각과 연결되고, 주요 버스들에 대한 브릿지 역할을 수행할 수 있다.
GPU(3600)는 컴퓨팅 시스템(3000)의 영상 데이터를 출력하기 위한 일련의 연산 동작을 수행할 수 있다. 예시적으로 GPU(3600)는 시스템-온-칩 형태로 프로세서(3100) 내에 실장될 수 있다.
입출력 장치(3700)는 컴퓨팅 시스템(3000)으로 데이터 또는 명령어를 입력하거나 또는 외부로 데이터를 출력하는 다양한 장치들을 포함한다. 예르르 들어, 입출력 장치(3700)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서, 압전 소자 등과 같은 사용자 입력 장치들 및 LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) 표시 장치, AMOLED (Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등과 같은 사용자 출력 장치들을 포함할 수 있다.
스토리지 장치(3800)는 컴퓨팅 시스템(3000)의 저장 매체로서 사용될 수 있다. 스토리지 장치(3800)는 하드 디스크 드라이브, SSD, 메모리 카드, 메모리 스틱 등과 같은 대용량 저장 매체들을 포함할 수 있다.
예시적으로, 불휘발성 메모리 모듈들(3200, 3300)은 프로세서(3100)에 의해 컴퓨팅 시스템(3000)의 대용량 저장 매체로서 사용될 수 있다. 불휘발성 메모리 모듈들(3200, 3300) 및 프로세서(3100) 사이의 인터페이스(3001)는 스토리지 장치(3800) 및 프로세서(3100) 사이의 인터페이스보다 고속 인터페이스일 수 있다. 즉, 프로세서(3100)가 불휘발성 메모리 모듈들(3200, 3300)을 저장 매체로서 사용함으로써 컴퓨팅 시스템의 성능이 향상된다.
예시적으로, 불휘발성 메모리 모듈들(3200, 3300)은 복수의 불휘발성 메모리 장치들을 포함할 수 있고, 도 1 내지 도 15을 참조하여 설명된 동작 방법에 따라 복수의 불휘발성 메모리 장치들에 페이지 데이터를 셋업하거나 또는 프로그램 동작을 수행할 수 있다.
도 19은 도 18의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다. 예시적으로, 도 18는 LRDIMM(Load Reduced DIMM) 형태를 갖는 불휘발성 메모리 모듈(3200)의 블록도이다. 예시적으로, 도 에 도시된 불휘발성 메모리 모듈(3200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 갖고, DIMM 소켓에 장착되어 프로세서(3100)와 통신할 수 있다.
도 19을 참조하면, 불휘발성 메모리 모듈(3200)은 장치 컨트롤러(3210), 버퍼 메모리(3220), 불휘발성 메모리 장치(3230), 및 직렬 프레즌스 검출 칩(3240)(SPD; Serial Presence Detect chip)를 포함한다. 장치 컨트롤러(3210)는 램(3211)을 포함할 수 있다. 예시적으로, 불휘발성 메모리 장치(3230)는 복수의 불휘발성 메모리들(NVM)을 포함할 수 있다. 불휘발성 메모리 장치(3230)에 포함된 복수의 불휘발성 메모리들 각각은 별도의 칩, 별도의 패키지, 별도의 장치, 또는 별도의 모듈로 각각 구현될 수 있다. 또는 불휘발성 메모리 장치(3230)는 하나의 칩 또는 하나의 패키지로 구현될 수 있다.
복수의 불휘발성 메모리들(NVM)은 복수의 채널들을 통해 장치 컨트롤러(3210)와 통신할 수 있다. 예시적으로, 장치 컨트롤러(3210)는 도 1 내지 도 15을 참조하여 설명된 동작 방법을 기반으로 복수의 불휘발성 메모리들(NVM)을 제어할 수 있다.
장치 컨트롤러(3210)는 프로세서(3100)와 복수의 데이터 신호들(DQ) 및 복수의 데이터 스트로브 신호들(DQS)을 송수신할 수 있고, 별도의 신호 라인들을 통해 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)을 수신할 수 있다.
장치 컨트롤러(3210)는 프로세서(3100)로부터 수신된 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 정보 또는 데이터를 램(3211)에 저장하거나 또는 램(3211)에 저장된 정보 또는 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(3100)로 제공할 수 있다. 예시적으로, 램(3211)은 듀얼 포트 SRAM(Dual Port SRAM), 공유 램(shared RAM) 등과 같은 다중 포트 램을 포함할 수 있다. 즉, 프로세서(3100) 또는 장치 컨트롤러(3110)는 각각 독립적인 포트를 통해 램(3211)을 엑세스할 수 있다.
예시적으로, 장치 컨트롤러(3210) 및 프로세서(3100)는 불휘발성 메모리 장치(3230)에 데이터를 기입하거나 또는 불휘발성 메모리 장치(3230)에 기입된 데이터를 읽기 위한 스토리지 커맨드(CMD_S), 스토리지 어드레스(ADDR_S), 및 데이터(DATA)를, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 송수신한다. 예를 들어, 장치 컨트롤러(3210)는 프로세서(3100)로부터 수신된 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 스토리지 커맨드(CMD_)를 램(3211)에 저장한다. 장치 컨트롤러(3210)는 램(3211)에 저장된 스토리지 커맨드(CMD_S)를 기반으로 불휘발성 메모리 장치(3230)를 제어할 수 있다. 장치 컨트롤러(3210)는 동작 결과에 따른 정보(예를 들어, 쓰기 완료 정보 또는 읽기 데이터 등)를 램(3211)에 기입하고, 프로세서(3100)로부터의 램 커맨드(CMD_R), 램 어드레스(ADDR_R), 및 클럭(CK)에 응답하여 램(3211)에 기입된 정보를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(3100)로 전송한다.
버퍼 메모리(3220)는 장치 컨트롤러(3210)의 버퍼 메모리, 동작 메모리, 또는 캐시 메모리로서 사용될 수 있다. 버퍼 메모리(3220)는 불휘발성 메모리 모듈(3200)이 동작하는데 요구되는 다양한 정보를 포함할 수 있다. 예시적으로, 버퍼 메모리(3220)는 불휘발성 메모리 장치(3230)를 관리하기 위한 데이터를 포함할 수 있다. 예를 들어, 버퍼 메모리(3220)는 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(3100)로부터 수신되는 스토리지 어드레스(ADDR_S)와 불휘발성 메모리 장치(3230)의 물리 어드레스 사이의 맵핑 테이블을 포함할 수 있다. 예시적으로, 버퍼 메모리(120)는 SRAM, DRAM, SDRAM, MRAM, ReRAM, PRAM, FRAM 등과 같은 랜덤 엑세스 메모리를 포함할 수 있다.
SPD(3240)는 프로그램 가능 읽기 전용 기억 장치(EEPROM)일 수 있다. SPD(3240)는 불휘발성 메모리 모듈(3200)의 초기 정보 또는 장치 정보를 포함할 수 있다. 예시적으로, SPD(3240)는 불휘발성 메모리 모듈(3200)의 모듈 형태, 모듈 구성, 저장 용량, 모듈 종류, 실행 환경 등과 같은 초기 정보 또는 장치 정보를 포함할 수 있다. 불휘발성 메모리 모듈(3200)이 포함된 컴퓨팅 시스템이 부팅될 때, 컴퓨팅 시스템의 프로세서(3100)는 SPD(3240)를 읽고, 이를 기반으로 불휘발성 메모리 모듈(3200)을 인식할 수 있다. 프로세서(3100)는 SPD(3240)를 기반으로 불휘발성 메모리 모듈(1200)을 저장 매체로서 사용할 수 있다.
예시적으로, SPD(3240)는 직렬 버스(SB)를 통해 프로세서(3100)와 통신할 수 있다. 프로세서(3100)는 직렬 버스(SB)를 통해 SPD(3240)와 신호(SBS)를 주고 받을 수 있다. 예시적으로, SPD(3240)는 직렬 버스(SB)를 통해 장치 컨트롤러(3210)와 통신할 수 있다. 예시적으로, 직렬 버스(SB)는 I2C, SMBus, PMBus, IPMI, MCTP 등과 같은 2라인 직렬 버스들 중 적어도 하나를 포함할 수 있다.
도 20은 도 18의 불휘발성 메모리 모듈들 중 어느 하나를 예시적으로 보여주는 블록도들이다. 예시적으로, 도 20은 RDIMM(Registered DIMM) 형태를 갖는 불휘발성 메모리 모듈(3300)의 블록도이다. 예시적으로, 도 20에 도시된 불휘발성 메모리 모듈(3300)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 갖고, DIMM 소켓에 장착되어 프로세서(3100)와 통신할 수 있다.
도 20을 참조하면, 불휘발성 메모리 모듈(3300)은 장치 컨트롤러(3310), 버퍼 메모리(3320), 불휘발성 메모리 장치(3330), 직렬 프레즌스 검출 칩(3340)(SPD; Serial Presence Detect chip), 및 데이터 버퍼 회로(3350)를 포함한다. 장치 컨트롤러(3310)는 램(3311)을 포함한다. 장치 컨트롤러(3310), 램(3311), 불휘발성 메모리 장치(3330), 및 SPD(3340)는 도 19을 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
데이터 버퍼 회로(3350)는 프로세서(3100)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 정보 또는 데이터를 수신하고, 수신된 정보 또는 데이터를 장치 컨트롤러(3310)로 전달할 수 있다. 또는 데이터 버퍼 회로(3350)는 장치 컨트롤러(3310)로부터 정보 또는 데이터를 수신하고, 수신된 정보 또는 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(3100)로 전달할 수 있다.
예시적으로, 데이터 버퍼 회로(3350)는 복수의 데이터 버퍼들(Data Buffer)을 포함할 수 있다. 복수의 데이터 버퍼들(Data Buffer) 각각은 프로세서(3100)와 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 주고 받을 수 있다. 또는 복수의 데이터 버퍼들 각각은 장치 컨트롤러(3310)와 신호를 주고 받을 수 있다. 예시적으로, 복수의 데이터 버퍼들 각각은 장치 컨트롤러(3310)의 제어에 따라 동작할 수 있다.
예시적으로, 장치 컨트롤러(3310)는 도 1 내지 도 15을 참조하여 설명된 동작 방법에 불휘발성 메모리 장치(3330)에 페이지 데이터를 셋업하거나 또는 프로그램 동작을 수행할 수 있다.
도 21는 본 발명에 따른 불휘발성 메모리 모듈이 적용된 컴퓨팅 시스템의 다른 예를 예시적으로 보여주는 블록도이다. 간결한 설명을 위하여, 앞서 설명된 구성 요소들에 대한 상세한 설명은 생략된다. 도 21를 참조하면, 컴퓨팅 시스템(4000)은 프로세서(4100), 불휘발성 메모리 모듈(4200), 칩셋(4400), GPU(4500), 입출력 장치(4600), 및 스토리지 장치(4700)를 포함한다. 프로세서(4100), 칩셋(4400), GPU(4500), 입출력 장치(4600), 및 스토리지 장치(4700)는 도 18를 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.
불휘발성 메모리 모듈(4200)은 프로세서(4100)와 직접적으로 연결될 수 있다. 예를 들어, 불휘발성 메모리 모듈(4200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module)의 형태를 갖고, DIMM 소켓에 장착되어 프로세서(4100)와 통신할 수 있다.
불휘발성 메모리 모듈(4200)은 제어 회로(4210), 불휘발성 메모리 장치(4220), 및 램 장치(4230)를 포함할 수 있다. 도 18 내지 도 20을 참조하여 설명된 불휘발성 메모리 모듈들(3200, 3300)과 달리, 프로세서(4100)는 불휘발성 메모리 모듈(4200)의 불휘발성 메모리 장치(4220) 및 램 장치(4230)를 각각 엑세스할 수 있다. 좀 더 상세한 예로서, 제어 회로(4210)는 프로세서(4100)의 제어에 따라 수신된 데이터를 불휘발성 메모리 장치(4210)에 저장하거나 또는 램 장치(4220)에 저장할 수 있다. 또는 제어 회로(4210)는 프로세서(4100)의 제어에 따라 불휘발성 메모리 장치(4210)에 저장된 데이터를 프로세서(4100)로 전송하거나 또는 램 장치(4220)에 저장된 데이터를 프로세서(4100)로 전송할 수 있다. 즉, 프로세서(4100)는 불휘발성 메모리 모듈(4200)에 포함된 불휘발성 메모리 장치(4210) 및 램 장치(4220)를 각각 인식할 수 있다. 프로세서(4100)는 불휘발성 메모리 모듈(4200)의 불휘발성 메모리 장치(4220)에 데이터를 저장하거나 또는 저장된 데이터를 읽을 수 있다. 또는 프로세서(4100)는 램 장치(4230)에 데이터를 저장하거나 또는 저장된 데이터를 읽을 수 있다.
예시적으로, 프로세서(4100)는 불휘발성 메모리 모듈(4200)의 불휘발성 메모리 장치(4220)을 컴퓨팅 시스템(4000)의 스토리지 매체로서 사용할 수 있고, 프로세서(4100)는 불휘발성 메모리 모듈(4200)의 램 장치(4220)를 컴퓨팅 시스템(4000)의 메인 메모리로서 사용할 수 있다. 즉, 프로세서(4100)는 하나의 DIMM 소켓에 장착된 하나의 불휘발성 메모리 모듈에 포함된 불휘발성 메모리 장치 또는 램 장치를 각각 선택적으로 엑세스할 수 있다.
예시적으로, 프로세서(4100)는 DDR(Double Data Rate) 인터페이스(4001)를 통해 불휘발성 메모리 모듈(4200)과 통신할 수 있다.
예시적으로, 불휘발성 메모리 모듈(4200)는 도 1 내지 도 15을 참조하여 설명된 방법을 기반으로 불휘발성 메모리 장치(4220)에 페이지 데이터를 셋업하거나 또는 프로그램 동작을 수행할 수 있다.
도 22은 도 21의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다. 예시적으로, 도 22의 불휘발성 메모리 모듈(4200)은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module) 형태를 갖고, DIMM 소켓에 장착되어 프로세서(4100)와 통신할 수 있다.
도 21 및 도 22을 참조하면, 불휘발성 메모리 모듈(4200)은 제어 회로(4210), 불휘발성 메모리 장치(4220), 및 램 장치(4220)를 포함한다. 예시적으로, 불휘발성 메모리 장치(4220)는 복수의 불휘발성 메모리들을 포함할 수 있고, 램 장치(4230)는 복수의 DRAM들을 포함할 수 있다. 예시적으로, 복수의 불휘발성 메모리들은 프로세서(4100)에 의해 컴퓨팅 시스템(4000)의 스토리지로서 사용될 수 있다. 예시적으로, 복수의 불휘발성 메모리들 각각은 EEPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin-Torque Magnetic RAM) 등과 같은 불휘발성 메모리 소자들을 포함할 수 있다.
복수의 DRAM들은 프로세서(4100)에 의해 컴퓨팅 시스템(4000)의 메인 메모리로서 사용될 수 있다. 예시적으로, 램 장치(4230)는 DRAM, SRAM, SDRAM, PRAM, ReRAM, FRAM, MRAM 등과 같은 랜덤 엑세스 메모리 소자들을 포함할 수 있다.
제어 회로(4210)는 장치 컨트롤러(4211) 및 SPD(4212)를 포함한다. 장치 컨트롤러(4211)는 프로세서(4100)로부터 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 수신할 수 있다. 장치 컨트롤러(4211)는 프로세서(4100)로부터 수신된 신호들에 응답하여, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신된 데이터를 불휘발성 메모리 장치(4220) 또는 램 장치(4230)에 선택적으로 저장할 수 있다. 또는 장치 컨트롤러(4211)는 프로세서(4100)로부터 수신된 신호들에 응답하여, 불휘발성 메모리 장치(4220) 또는 램 장치(4230)에 저장된 데이터를 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 프로세서(4100)로 선택적으로 전송할 수 있다.
예시적으로, 프로세서(4100)는 커맨드(CMD), 어드레스(ADDR), 또는 별도의 신호 또는 별도의 정보를 통해 불휘발성 메모리 장치(4220) 또는 램 장치(4230)를 선택적으로 엑세스할 수 있다. 즉, 프로세서(4100)는 불휘발성 메모리 모듈(4200)에 포함된 불휘발성 메모리 장치(4220) 또는 램 장치(4230)를 선택적으로 엑세스할 수 있다. 예시적으로, 장치 컨트롤러(3211)는 도 1 내지 도 15을 참조하여 설명된 방법을 기반으로 불휘발성 메모리 장치(4220)에 페이지 데이터를 셋업하거나 또는 프로그램 동작을 수행할 수 있다.
도 23는 도 21의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다. 예시적으로, 도 23의 불휘발성 메모리 모듈(4200')은 듀얼 인-라인 메모리 모듈(DIMM; Dual In-line Memory Module) 형태를 갖고, DIMM 소켓에 장착되어 프로세서(4100)와 통신할 수 있다.
도 21 및 도 23를 참조하면, 불휘발성 메모리 모듈(4200`)은 제어 회로(4210`), 불휘발성 메모리 장치(4220`), 및 램 장치(4230`)을 포함한다. 제어 회로(4210`)는 장치 컨트롤러(4211`), SPD(4212`), 및 데이터 버퍼 회로(4213`)를 포함한다.
장치 컨트롤러(4211`)는 프로세서(4100)로부터 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 수신한다. 장치 컨트롤러(4211`)는 수신된 신호들에 응답하여 불휘발성 메모리 장치(4220`) 또는 램 장치(4230`)를 제어할 수 있다. 예를 들어, 도 22을 참조하여 설명된 바와 같이, 프로세서(4100)는 불휘발성 메모리 장치(4220`) 또는 램 장치(4230`) 각각을 선택적으로 엑세스할 수 있다. 장치 컨트롤러(4211`)는 프로세서(4100)의 제어에 따라 불휘발성 메모리 장치(4220`) 또는 램 장치(4230`)를 제어할 수 있다.
데이터 버퍼 회로(4213`)는 프로세서(4100)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 수신하고, 수신된 신호들을 장치 컨트롤러(4211`) 및 램 장치(4230`)로 제공할 수 있다. 또는 데이터 버퍼 회로(4213`)는 장치 컨트롤러(4211`) 또는 램 장치(4230`)로부터 수신된 데이터를, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(4100)로 제공할 수 있다.
예시적으로, 프로세서(4100)가 불휘발성 메모리 장치(4220`)에 데이터를 저장하는 경우, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신되는 데이터는 장치 컨트롤러(4211`)로 제공되고, 장치 컨트롤러(4211`)는 수신된 데이터를 가공하여 불휘발성 메모리 장치(4220`)로 제공할 수 있다. 이 때, 장치 컨트롤러(4211`)는 도 1 내지 도 15을 참조하여 설명된 동작 방법을 기반으로 불휘발성 메모리 장치(4220`)로 데이터를 제공할 수 있다.
또는 프로세서(4100)가 불휘발성 메모리 장치(4220`)에 저장된 데이터를 읽는 경우, 데이터 버퍼 회로(4213`)는 장치 컨트롤러(4211`)로부터 제공되는 데이터를, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(3100`)로 제공할 수 있다.
또는 프로세서(4100)가 램 장치(4230`)에 데이터를 저장하는 경우, 데이터 버퍼 회로(4213`)로 수신된 데이터는 램 장치(4230`)로 제공되고, 장치 컨트롤러(4231`)는 수신된 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 램 장치(4230`)로 전달할 수 있다.
또는 프로세서(4100)가 램 장치(4230`)에 저장된 데이터를 읽는 경우, 장치 컨트롤러(4231`)는 수신된 커맨드(CMD), 어드레스(ADDR), 및 클럭(CK)을 램 장치(4230`)로 전달하고, 램 장치(4230`)는 전달된 신호들에 응답하여, 데이터를 데이터 버퍼 회로(4213`)로 제공하고, 데이터 버퍼 회로(4213`)는, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 데이터를 프로세서(4100)로 제공할 수 있다.
도 24는 도 21의 불휘발성 메모리 모듈을 예시적으로 보여주는 블록도이다. 도 21 및 도 24를 참조하면, 불휘발성 메모리 모듈(4200")은 제어 회로(4210"), 불휘발성 메모리 장치(4220"), 및 램 장치(4230")를 포함한다. 제어 회로(4210")는 장치 컨트롤러(4211") 및 SPD(4212")를 포함한다.
도 24의 불휘발성 메모리 모듈(4200")은 도 23의 불휘발성 메모리 모듈(4200`)과 유사하게 동작할 수 있다. 다만, 도 24의 불휘발성 메모리 모듈(4200")은 도 23의 불휘발성 메모리 모듈(4200`)과 달리 데이터 버퍼 회로(4213')를 포함하지 않는다. 즉, 도 24의 불휘발성 메모리 모듈(4200")은 프로세서(4100)로부터 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해 수신된 데이터를 장치 컨트롤러(4211") 또는 램 장치(4230")로 직접 제공할 수 있다. 또는 불휘발성 메모리 모듈(4200")의 장치 컨트롤러(4211")로부터의 데이터 또는 램 장치(4230")로부터의 데이터는, 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)를 통해, 프로세서(4100)로 직접 제공할 수 있다.
예시적으로, 도 23의 불휘발성 메모리 모듈(4200`)은 LRDIMM(Load Redued DIMM) 형태의 메모리 모듈이고, 도 24의 불휘발성 메모리 모듈(4200")은 RDIMM(Registered DIMM) 형태의 메모리 모듈일 수 있다.
예시적으로, 장치 컨트롤러(4211)는 도 1 내지 도 15을 참조하여 설명된 동작 방법에 따라 불휘발성 메모리 장치(4220")에 페이지 데이터를 셋업하거나 또는 프로그램 동작을 수행할 수 있다.
도 25은 본 발명의 실시 예에 따른 불휘발성 메모리 시스템이 적용된 서버 시스템을 예시적으로 보여주는 도면이다. 도 25을 참조하면, 서버 시스템(5000)은 복수의 서버 랙들(5110~51n0)을 포함할 수 있다. 복수의 서버 랙들(5110~51n0) 각각은 복수의 불휘발성 메모리 모듈들(5200)을 포함할 수 있다. 복수의 불휘발성 메모리 모듈들(5200)은 복수의 서버 랙들(5110~51n0) 각각에 포함된 프로세서들과 직접적으로 연결될 수 있다. 예를 들어, 복수의 불휘발성 메모리 모듈들(5200) 듀얼 인-라인 메모리 모듈의 형태를 갖고, 프로세서와 전기적으로 연결된 DIMM 소켓에 장착되어 프로세서와 서로 통신할 수 있다. 예시적으로, 복수의 불휘발성 메모리 모듈들(5200)은 서버 시스템(5000)의 스토리지로서 사용될 수 있다. 예시적으로, 복수의 불휘발성 메모리 모듈들(5200)은 도 18 내지 도 24를 참조하여 설명된 불휘발성 메모리 모듈들일 수 있고, 복수의 불휘발성 메모리 모듈들(5200)은 도 1 내지 도 15을 참조하여 설명된 동작 방법을 기반으로 페이지 데이터를 셋업하거나 또는 프로그램 동작을 수행할 수 있다.
상술된 본 발명의 실시 예들에 따르면, 불휘발성 메모리 시스템은, 프로그램 동작시, 하나의 채널을 통해 통신하는 복수의 불휘발성 메모리 장치들에 페이지 데이터를 교대로 셋업한다. 이에 따라, 페이지 데이터 덤프 또는 멀티 플레인 프로그램시의 플레인 변경에 의한 더미 비지 타임에 의한 시간 지연을 감소시킬 수 있다. 따라서, 향상된 성능을 갖는 불휘발성 메모리 시스템이 제공된다.
본 발명의 상세한 설명에서는 구체적인 실시 예들에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능하다. 그러므로, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
100 : 불휘발성 메모리 시스템 110 : 메모리 컨트롤러
NVM1 : 제1 불휘발성 메모리 장치 NVM2 : 제2 불휘발성 메모리 장치
CH1~CHn : 복수의 채널들 DQ : 데이터 신호
R/B1 : 제1 레디/비지 신호 R/B2 : 제2 레디/비지 신호
CEB1 : 제1 칩 활성화 신호 CEB2 : 제2 칩 활성화 신호

Claims (10)

  1. 제1 및 제2 불휘발성 메모리 장치들; 및
    하나의 채널을 통해 상기 제1 및 제2 불휘발성 메모리 장치들을 제어하는 메모리 컨트롤러를 포함하고,
    프로그램 동작시, 상기 메모리 컨트롤러는 제1 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하기 위한 제1 신호들을 상기 하나의 채널을 통해 상기 제1 불휘발성 메모리 장치로 전송하고,
    상기 제1 불휘발성 메모리 장치가 상기 제1 신호들에 응답하여 상기 제1 페이지 데이터를 셋업하는 동안, 상기 메모리 컨트롤러는 제2 페이지 데이터를 상기 제2 불휘발성 메모리장치에 셋업하기 위한 제2 신호들 중 적어도 하나를 상기 제2 불휘발성 메모리 장치로 전송하는 불휘발성 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 메모리 컨트롤러는 제1 칩 활성화 신호를 상기 제1 불휘발성 메모리 장치로 전송하고, 제2 칩 활성화 신호를 상기 제2 불휘발성 메모리 장치로 전송하고, 데이터 신호들 및 제어 신호들을 상기 제1 및 제2 불휘발성 메모리 장치들로 전송하고,
    상기 제1 불휘발성 메모리 장치는 제1 레디 및 비지 신호를 상기 메모리 컨트롤러로 전송하고,
    상기 제2 불휘발성 메모리 장치는 제2 레디 및 비지 신호를 상기 메모리 컨트롤러로 전송하는 불휘발성 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 메모리 컨트롤러는 상기 제1 칩 활성화 신호를 활성화하여 상기 제1 신호들을 상기 제1 불휘발성 메모리 장치들로 전송하고, 상기 제2 칩 활성화 신호를 활성화하여 상기 제2 신호들을 상기 제2 불휘발성 메모리 장치들로 전송하는 불휘발성 메모리 시스템.
  4. 제 2 항에 있어서,
    상기 제1 불휘발성 메모리 장치가 상기 제1 신호들에 응답하여 상기 제1 페이지 데이터를 셋업하는 동안 상기 제1 레디 및 비지 신호는 비지 상태인 불휘발성 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 제1 신호들은 제1 커맨드 세트, 제1 어드레스, 및 상기 제1 페이지 데이터를 포함하고, 상기 제2 신호들은 제2 커맨드 세트, 제2 어드레스, 및 상기 제2 페이지 데이터를 포함하는 불휘발성 메모리 시스템.
  6. 제 5 항에 있어서,
    상기 제1 및 제2 커맨드 세트들 각각은 프로그램 시작 커맨드, 덤프 커맨드, 및 덤프 지정 커맨드를 포함하고,
    상기 제1 어드레스는 상기 제1 페이지 데이터가 기입될 물리적 위치를 가리키고, 상기 제2 어드레스는 사익 제2 페이지 데이터가 프로그램될 물리적 위치를 가리키는 불휘발성 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 제2 불휘발성 메모리 장치가 상기 제2 신호들에 응답하여 상기 제2 페이지 데이터를 셋업하는 동안, 상기 메모리 컨트롤러는 제3 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하기 위한 제3 신호들을 상기 제1 불휘발성 메모리 장치로 전송하고,
    상기 제1 불휘발성 메모리 장치가 상기 제3 신호들에 응답하여 상기 제3 페이지 데이터를 셋업하는 동안, 상기 메모리 컨트롤러는 제4 페이지 데이터를 상기 제2 불휘발성 메모리 장치에 셋업하기 위한 제4 신호들을 상기 제2 불휘발성 메모리 장치로 전송하고,
    상기 제2 불휘발성 메모리 장치가 상기 제4 신호들에 응답하여 상기 제4 페이지 데이터를 셋업하는 동안 상기 메모리 컨트롤러는 제5 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하기 위한 제5 신호들을 상기 제1 불휘발성 메모리 장치로 전송하는 불휘발성 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 제1 불휘발성 메모리 장치가 상기 제5 신호들에 응답하여 상기 제5 페이지 데이터의 셋업을 완료한 이후에, 상기 메모리 컨트롤러는 상기 제1 불휘발성 메모리 장치로 프로그램 확인 커맨드를 전송하고,
    상기 제1 불휘발성 메모리 장치는 상기 프로그램 확인 커맨드에 응답하여 상기 제1, 제3, 및 제5 페이지 데이터에 대한 프로그램 동작을 수행하는 불휘발성 메모리 시스템.
  9. 제 1 항에 있어서,
    상기 제1 및 제2 불휘발성 메모리 장치들 각각은 3차원 셀 어레이를 포함하는 불휘발성 메모리 시스템.
  10. 제1 및 제2 불휘발성 메모리 장치들 및 제1 채널을 통해 상기 제1 및 제2 불휘발성 메모리 장치들을 제어하는 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템의 프로그램 방법에 있어서,
    제1 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하는 단계;
    제2 페이지 데이터를 상기 제2 불휘발성 메모리 장치에 셋업하는 단계;
    제3 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하는 단계;
    제4 페이지 데이터를 상기 제2 불휘발성 메모리 장치에 셋업하는 단계;
    제5 페이지 데이터를 상기 제1 불휘발성 메모리 장치에 셋업하는 단계;
    상기 제5 페이지 데이터가 상기 제1 불휘발성 메모리 장치에 셋업된 이후에 상기 제1 불휘발성 메모리 장치에 대한 프로그램 동작을 수행하는 단계;
    제6 페이지 데이터를 상기 제2 불휘발성 메모리 장치에 셋업하는 단계; 및
    상기 제6 페이지 데이터가 상기 제2 불휘발성 메모리 장치에 셋업된 이후에 상기 제2 불휘발성 메모리 장치에 대한 프로그램 동작을 수행하는 단계를 포함하는 프로그램 방법.
KR1020150094804A 2015-06-08 2015-07-02 불휘발성 메모리 시스템 및 그것의 프로그램 방법 KR102527961B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150094804A KR102527961B1 (ko) 2015-07-02 2015-07-02 불휘발성 메모리 시스템 및 그것의 프로그램 방법
US15/083,834 US9799402B2 (en) 2015-06-08 2016-03-29 Nonvolatile memory device and program method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150094804A KR102527961B1 (ko) 2015-07-02 2015-07-02 불휘발성 메모리 시스템 및 그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20170005285A true KR20170005285A (ko) 2017-01-12
KR102527961B1 KR102527961B1 (ko) 2023-05-04

Family

ID=57811499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150094804A KR102527961B1 (ko) 2015-06-08 2015-07-02 불휘발성 메모리 시스템 및 그것의 프로그램 방법

Country Status (1)

Country Link
KR (1) KR102527961B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190034052A (ko) * 2017-09-22 2019-04-01 삼성전자주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 프로그래밍 방법
KR20190110181A (ko) * 2018-03-20 2019-09-30 도실리콘 씨오., 엘티디. 낸드 플래쉬 메모리 장치의 프로그램 방법
US10635349B2 (en) 2017-07-03 2020-04-28 Samsung Electronics Co., Ltd. Storage device previously managing physical address to be allocated for write data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787039A (en) * 1997-03-06 1998-07-28 Macronix International Co., Ltd. Low current floating gate programming with bit-by-bit verification
US20090150751A1 (en) * 2007-10-23 2009-06-11 Samsung Electronics Co., Ltd. Memory system that uses an interleaving scheme and a method thereof
US20110222342A1 (en) * 2010-03-09 2011-09-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
US20130166825A1 (en) * 2011-12-27 2013-06-27 Jin Yeong Kim Method Of Controlling Non-Volatile Memory, Non-Volatile Memory Controller Therefor, And Memory System Including The Same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787039A (en) * 1997-03-06 1998-07-28 Macronix International Co., Ltd. Low current floating gate programming with bit-by-bit verification
US20090150751A1 (en) * 2007-10-23 2009-06-11 Samsung Electronics Co., Ltd. Memory system that uses an interleaving scheme and a method thereof
US20110222342A1 (en) * 2010-03-09 2011-09-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
US20130166825A1 (en) * 2011-12-27 2013-06-27 Jin Yeong Kim Method Of Controlling Non-Volatile Memory, Non-Volatile Memory Controller Therefor, And Memory System Including The Same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10635349B2 (en) 2017-07-03 2020-04-28 Samsung Electronics Co., Ltd. Storage device previously managing physical address to be allocated for write data
KR20190034052A (ko) * 2017-09-22 2019-04-01 삼성전자주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 프로그래밍 방법
KR20190110181A (ko) * 2018-03-20 2019-09-30 도실리콘 씨오., 엘티디. 낸드 플래쉬 메모리 장치의 프로그램 방법

Also Published As

Publication number Publication date
KR102527961B1 (ko) 2023-05-04

Similar Documents

Publication Publication Date Title
US11614866B2 (en) Nonvolatile memory device and operation method thereof
US9767903B2 (en) Nonvolatile memory module having dual-port DRAM
US9799402B2 (en) Nonvolatile memory device and program method thereof
KR102465321B1 (ko) 데이터 저장 장치
KR20170016548A (ko) 백업 기능을 갖는 메모리 모듈
US11307803B2 (en) Storage device for suspending program operation and performing read operation and operating method thereof
US10296233B2 (en) Method of managing message transmission flow and storage device using the method
KR20190142416A (ko) 버퍼 상에서 메모리 동작을 제어하기 위한 장치 및 방법
US11494106B2 (en) Memory controller and method of ordering sequential data and random data
KR20220082509A (ko) 저장 장치 및 그 동작 방법
CN112783433A (zh) 存储装置及其操作方法
CN114443507A (zh) 存储器系统及其操作方法
KR20160144577A (ko) 불휘발성 메모리 모듈 및 그것의 포함하는 사용자 장치
KR102527961B1 (ko) 불휘발성 메모리 시스템 및 그것의 프로그램 방법
US11361803B2 (en) Memory device and operating method of the memory device
KR102513903B1 (ko) 불휘발성 메모리 모듈 및 메모리 시스템
CN113299332A (zh) 存储器控制器及其操作方法
KR20210033719A (ko) 메모리 장치 및 그 동작 방법
US11055011B2 (en) Storage device
KR20220055302A (ko) 메모리 장치 및 이를 포함하는 메모리 시스템
KR20210111107A (ko) 데이터 전송 회로 및 그 동작 방법
KR20210085499A (ko) 저장 장치 및 그 동작 방법
KR20200136183A (ko) 스토리지 장치 및 그것의 동작 방법
CN112527189B (zh) 存储器装置及其操作方法
US20230116063A1 (en) Storage device based on daisy chain topology

Legal Events

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