KR20180055297A - 언맵 리드를 수행하는 메모리 장치 및 메모리 시스템 - Google Patents

언맵 리드를 수행하는 메모리 장치 및 메모리 시스템 Download PDF

Info

Publication number
KR20180055297A
KR20180055297A KR1020160152966A KR20160152966A KR20180055297A KR 20180055297 A KR20180055297 A KR 20180055297A KR 1020160152966 A KR1020160152966 A KR 1020160152966A KR 20160152966 A KR20160152966 A KR 20160152966A KR 20180055297 A KR20180055297 A KR 20180055297A
Authority
KR
South Korea
Prior art keywords
unmapped
read
data
read command
memory device
Prior art date
Application number
KR1020160152966A
Other languages
English (en)
Inventor
허영회
정성원
권문상
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160152966A priority Critical patent/KR20180055297A/ko
Priority to US15/624,009 priority patent/US10545880B2/en
Publication of KR20180055297A publication Critical patent/KR20180055297A/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • 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
    • G06F13/1673Details of memory controller using buffers
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/656Address space sharing

Abstract

언맵 리드를 수행하는 메모리 장치 및 메모리 시스템이 개시된다. 본 개시에 따른 메모리 장치는 호스트로부터 리드 커맨드를 수신하여 상기 리드 커맨드가 언맵(Unmapped) 리드 커맨드인지 판단하고, 상기 언맵 리드 커맨드인 경우 멤셋(memset) 커맨드를 출력하는 언맵 리드 제어모듈 및 상기 멤셋 커맨드에 대응하여 멤셋 동작을 수행하여 언맵 데이터를 생성하는 페이지 버퍼를 포함하고, 상기 멤셋 동작은 메모리 셀 어레이에 대한 리드를 포함하지 않는 것을 특징으로 할 수 있다.

Description

언맵 리드를 수행하는 메모리 장치 및 메모리 시스템{MEMORY DEVICE AND MEMORY SYSTEM PERFORMING UNMAP READ}
본 개시의 기술적 사상은 메모리 장치 및 메모리 시스템에 관한 것으로서, 자세하게는 언맵 리드를 수행하는 메모리 장치 및 메모리 시스템에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화 인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억 장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile Memory Device) 및 비휘발성 메모리 장치(Nonvolatile Memory Device)로 구분될 수 있다.
비휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터가 소멸하지 않는 메모리 장치이다. 비휘발성 메모리 장치에는 ROM, PROM, EPROM, EEPROM, 플래시 메모리장치, PRAM, MRAM, RRAM, FRAM 등이 있다. 플래시 메모리 장치는 크게 노어 타입과 낸드 타입으로 구분될 수 있다.
본 개시의 기술적 사상이 해결하고자 하는 과제는 언맵 리드 커맨드를 판별하고, 메모리 셀 어레이에 대한 리드 동작을 수행하지 않고 페이지 버퍼에서 언맵 데이터를 생성하는 메모리 장치 및 시스템을 제공하는데 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 호스트로부터 리드 커맨드를 수신하여 상기 리드 커맨드가 언맵(Unmapped) 리드 커맨드인지 판단하고, 상기 언맵 리드 커맨드인 경우 멤셋(memset) 커맨드를 출력하는 언맵 리드 제어모듈 및 상기 멤셋 커맨드에 대응하여 멤셋 동작을 수행하여 언맵 데이터를 생성하는 페이지 버퍼를 포함하고, 상기 멤셋 동작은 메모리 셀 어레이에 대한 리드를 포함하지 않는 것을 특징으로 할 수 있다.
본 개시의 기술적 사상의 또 다른 측면에 따른 메모리 시스템은 호스트로부터 리드 커맨드를 수신하여 상기 리드 커맨드가 언맵(Unmapped) 리드 커맨드인지 판단하고, 상기 언맵 리드 커맨드인 경우 멤셋(memset) 커맨드를 출력하는 언맵 리드 제어모듈 및 상기 멤셋 커맨드에 대응하여 멤셋 동작을 수행하여 언맵 데이터를 생성하는 페이지 버퍼를 포함하고, 상기 멤셋 동작은 메모리 셀 어레이에 대한 리드를 포함하지 않는 것을 특징으로 할 수 있다.
본 개시의 기술적 사상에 따르면, 호스트의 리드 커맨드가 언맵 리드 커맨드인지 판단하고, 언맵 리드 커맨드인 경우 페이지 버퍼에서 자동으로 언맵 데이터를 생성함으로써, 빠른 언맵 리드가 가능하고, 이를 실현하기 위한 비용이 감소할 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치의 일부를 나타내는 블록도이다.
도 3은 본 개시의 예시적 실시예에 따른 메모리 블록을 나타내는 회로도이다.
도 4는 본 개시의 예시적 실시예들에 따른 메모리 셀 어레이에 포함된 메모리 블록의 다른 예(BLK0’)를 나타내는 회로도이다.
도 5은 도 4의 메모리 블록(BLK0’)을 나타내는 사시도이다.
도 6은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치의 동작을 나타내는 순서도이다.
도 7은 본 개시의 예시적 실시예에 따른 언맵 리드 판단부의 동작을 나타내는 순서도이다.
도 8은 본 개시의 예시적 실시예에 따른 매핑 테이블을 나타내는 표이다.
도 9는 본 개시의 예시적 실시예에 따른 언맵 데이터 판단부의 동작을 나타내는 순서도이다.
도 10은 본 개시의 예시적 실시예에 따른 언맵 데이터 테이블을 나타내는 표이다.
도 11 및 도 12는 본 개시의 예시적 실시예에 따른 언맵 데이터를 나타내는 도면이다.
도 13은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치의 일부를 나타내는 블록도이다.
도 14은 본 개시의 예시적 실시예에 따른 언맵 리드 제어 모듈 및 페이지 버퍼의 동작을 나타내는 순서도이다.
도 15는 본 개시의 예시적 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 16은 본 개시의 일 실시예에 따른 메모리 카드 시스템을 나타내는 블록도이다.
도 1은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 1을 참조하면, 비휘발성 메모리 장치(10)는 제어 로직(110), 페이지 버퍼(120), 메모리 셀 어레이(130) 및 로우 디코더(140)를 포함할 수 있다. 예시적으로, 비휘발성 메모리 장치(10)는 플래시 메모리 장치인 것으로 도시되어 있으나, 본 발명의 기술적 사상은 플래시 메모리 장치에만 적용되는 것으로 한정되지 않고 모든 형태의 비휘발성 메모리 장치들(예를 들면, ROM, PROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등)에 적용될 수 있음은 이해되어야 할 것이다.
제어 로직(110)은 리드 커맨드(CMD)에 응답하여 리드 동작을 수행하도록 페이지 버퍼(120) 및 로우 디코더(140)를 제어하기 위한 각종 제어신호들을 출력할 수 있다. 리드 커맨드(CMD)는 노멀 리드 커맨드와 언맵 리드 커맨드를 포함할 수 있다. 노멀 리드는 메모리 셀 어레이(130)의 어드레스 중 실질적인 데이터가 존재하는 어드레스에 대한 리드를 말할 수 있다. 즉, 사용자가 비휘발성 메모리 장치(10)에 입력한 데이터에 대한 리드를 말할 수 있다. 노멀 리드를 수행하기 위해 호스트가 출력하는 커맨드가 노멀 리드 커맨드일 수 있다. 반면, 언맵 리드(Unmap Read)는 메모리 셀 어레이(130)의 어드레스 중 실질적인 데이터가 존재하지 않는 어드레스에 대한 리드를 말할 수 있다. 즉, 데이터가 매핑(mapping) 되어 있지 않은 어드레스에 대한 리드를 말할 수 있다. 호스트는 특정한 목적에 의해 언맵 리드를 수행하여 언맵 데이터를 추출하는 언맵 리드 커맨드를 비휘발성 메모리 장치(10)에 출력할 수 있다.
제어 로직(110)은 언맵 리드 제어 모듈(112)을 포함할 수 있다. 언맵 리드 제어 모듈(112)은 리드 커맨드(CMD)가 언맵 리드 커맨드인지 노멀 리드 커맨드인지 판단하고, 언맵 리드 커맨드인 경우 페이지 버퍼에 멤셋 커맨드(MS)를 출력할 수 있다. 비록 도 1에서 언맵 리드 제어 모듈(112)은 제어 로직(110)에 포함되게 도시되었으나, 본 발명의 기술적 사상은 이에 한정되지 않고, 언맵 리드 제어 모듈(112)은 별도의 블록이나 칩으로 구성될 수 있다.
페이지 버퍼(120)는 동작 모드에 따라 라이트 드라이버로서 또는 감지 증폭기로서 동작할 수 있다. 라이트 동작시, 페이지 버퍼(120)는 메모리 셀 어레이(130)의 비트 라인으로 라이트될 데이터에 대응하는 비트 라인 전압을 전달할 수 있다. 리드 동작시, 페이지 버퍼(120)는 선택된 메모리 셀에 저장된 데이터를 비트 라인을 통해서 감지할 수 있다. 페이지 버퍼(120)는 감지된 데이터를 래치하여 외부로 출력할 수 있다. 또한, 페이지 버퍼(120)는 언맵 데이터 생성부(122)를 포함할 수 있다. 언맵 데이터 생성부(122)는 언맵 리드 제어 모듈(112)로부터 멤셋 커맨드(MS)를 수신하고, 메모리 셀 어레이(130)에 대한 리드 동작 없이 멤셋 동작을 수행하여 언맵 데이터를 생성할 수 있다. 즉, 멤셋 동작은 페이지 버퍼(120)가 메모리 셀 어레이(130)에 대한 리드 동작을 수행하지 않고, 언맵 리드 제어 모듈(112)로부터 멤 셋 커맨드(MS)를 수신하여 언맵 데이터를 생성하는 동작을 의미할 수 있다.
메모리 셀 어레이(130)는 워드 라인들(WLs), 스트링 선택 라인(SSL) 및 접지 선택 라인(GSL)을 통해 로우 디코더(140)에 연결될 수 있다. 메모리 셀 어레이(130)는 비트 라인들(BL0~BLm-1)을 통해서 페이지 버퍼(120)에 연결될 수 있다. 메모리 셀 어레이(130)는 복수의 낸드형 셀 스트링들(NAND Cell Strings)을 포함할 수 있다. 각각의 셀 스트링들은 스트링 선택 트랜지스터(SST)를 통해서 비트 라인과 연결될 수 있다. 메모리 셀 어레이(130)는 복수의 메모리 블록들을 포함하는 플레인들로 구성될 수 있고, 복수의 메모리 블록들은 복수의 페이지들로 구성될 수 있다. 복수의 페이지들은 복수의 메모리 셀들을 포함할 수 있다.
본 발명의 기술적 사상에 의한 일 실시예에서, 3 차원 (3D) 메모리 어레이가 제공된다. 상기 3D 메모리 어레이는 실리콘 기판 위에 배치되는 활성 영역과, 메모리 셀들의 동작과 관련된 회로로서 상기 기판상에 또는 상기 기판 내에 형성된 회로를 가지는 메모리 셀 어레이들의 적어도 하나의 물리적 레벨에 모놀리식으로 형성된다. 상기 용어 “모놀리식”은 상기 어레이를 구성하는 각 레벨의 층들이 상기 어레이 중 각 하부 레벨의 층들의 바로 위에 적층되어 있음을 의미한다.
본 발명의 기술적 사상에 의한 일 실시예에서, 상기 3D 메모리 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 버티칼 NAND 스트링들을 포함한다. 상기 적어도 하나의 메모리 셀은 전하 트랩층을 포함할 수 있다.
미국 특허공개공보 제7,679,133호, 동 제8,553,466호, 동 제8,654,587호, 동 제8,559,235호, 및 미국 특허출원공개공보 제2011/0233648호는 3D 메모리 어레이가 복수 레벨로 구성되고 워드 라인들 및/또는 비트 라인들이 레벨들간에 공유되어 있는 3D 메모리 어레이에 대한 적절한 구성들을 상술하는 것들로서, 본 명세서에 인용 형식으로 결합된다. 메모리 셀 어레이(130)는 도 3 내지 5 참조하여 더욱 상세하게 설명한다.
로우 디코더(140)는 어드레스(ADDR)에 응답하여 메모리 셀 어레이(130)의 메모리 블록들 중 어느 하나를 선택할 수 있다. 로우 디코더(140)는 선택된 메모리 블록의 워드 라인들 중 어느 하나를 선택할 수 있다. 로우 디코더(140)는 선택된 메모리 블록의 워드 라인에 전압 발생기(미도시)로부터의 워드 라인 전압을 전달할 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치의 일부를 나타내는 블록도이다. 도 1과 중복되는 내용은 생략한다.
도 1 및 도 2를 참조하면, 비휘발성 메모리 장치(10)는 언맵 리드 제어 모듈(210), 페이지 버퍼(220) 및 다이렉트 메모리 억세스(Direct Memory Access;DMA)(230)을 포함할 수 있다. 또한, 언맵 리드 제어 모듈(210)은 언맵 리드 판단부(212) 및 언맵 데이터 판단부(214)를 포함할 수 있고, 페이지 버퍼(220)는 언맵 데이터 생성부(222)를 포함할 수 있다.
언맵 리드 판단부(212)는 호스트로부터 리드 커맨드(CMD)를 수신할 수 있다. 리드 커맨드(CMD)에는 리드 대상이 되는 메모리 셀에 대한 목표 어드레스(ADDR)가 포함되어 있을 수 있다. 언맵 리드 판단부(212)는 수신한 리드 커맨드(CMD)가 언맵 리드 커맨드인지 노멀 리드 커맨드인지 판단할 수 있다. 본 발명의 일 실시예에 따르면, 언맵 리드 판단부(212)는 별도의 메모리 장치 혹은 메모리 셀 어레이(130)로부터 매핑 테이블을 더 수신하고, 매핑 테이블과 목표 어드레스(ADDR)를 비교하여 리드 커맨드(CMD)가 언맵 리드 커맨드인지 여부를 판단할 수 있다. 이에 관해서는 도 7 및 도 8에서 후술한다.
수신한 리드 커맨드(CMD)가 언맵 리드 커맨드라면, 언맵 리드 판단부(212)는 언맵 데이터 판단부(214)에 리드 커맨드(CMD)에 포함된 목표 어드레스(ADDR)를 언맵 데이터 판단부(214)에 출력할 수 있다. 수신한 리드 커맨드(CMD)가 언맵 리드 커맨드가 아닌 노멀 리드 커맨드라면(미도시), 언맵 리드 판단부(212)는 언맵 데이터 판단부(214)에 목표 어드레스(ADDR)를 출력하지 않고 페이지 버퍼(220)에 노멀 리드 커맨드를 출력함으로써 통상의 메모리 리드 동작을 수행할 수 있다.
언맵 데이터 판단부(214)는 수신한 목표 어드레스(ADDR) 등을 기초로 언맵 데이터를 판단할 수 있다. 호스트는 특정한 데이터 시퀀스를 갖는 언맵 데이터(UMD)를 요구할 수 있다. 본 발명의 일 실시예에 따르면, 호스트는 비휘발성 메모리 장치(10)에 미리 약속된 한 종류 이상의 언맵 데이터(UMD) 중 어느 한 언맵 데이터(UMD)를 요구할 수 있다. 언맵 데이터 판단부(214)는 호스트가 요구하는 언맵 데이터(UMD)가 무엇인지 판단할 수 있다. 또한 언맵 데이터 판단부(214)는 언맵 데이터(UMD)를 분석하여 씨드(Sd) 및 패턴(Pt) 중 적어도 하나를 멤셋 커맨드(MS)로서 생성할 수 있다. 본 발명의 일 실시예에 따르면, 언맵 데이터 판단부(214)는 별도의 메모리 장치 혹은 메모리 셀 어레이(130)로부터 어드레스 매칭 테이블을 수신하고, 목표 어드레스(ADDR) 및 어드레스 매칭 테이블을 비교하여 언맵 데이터(UMD)를 판단할 수 있다. 그 다음 언맵 데이터 판단부(214)는 별도의 메모리 장치 혹은 메모리 셀 어레이(130)로부터 언맵 데이터 테이블을 더 수신하여 언맵 데이터(UMD) 및 언맵 데이터 테이블을 비교하고, 대응되는 씨드(Sd) 및 패턴(Pt)을 생성할 수 있다. 본 발명의 또 다른 실시예에서, 언맵 데이터 판단부(214)는 언맵 데이터(UMD)를 판단하지 않고, 목표 어드레스(ADDR)와 언맵 데이터 테이블만으로 씨드(Sd) 및 패턴(Pt)을 생성할 수 있다. 이 경우 언맵 데이터 테이블은 어드레스에 따른 씨드(Sd) 및 패턴(Pt)에 대한 정보를 포함할 수 있다. 언맵 데이터 판단부(214)는 생성한 씨드(Sd) 및 패턴(Pt)을 페이지 버퍼(220)의 언맵 데이터 생성부(222)에 출력할 수 있다.
도 2에서는 호스트가 요구하는 언맵 데이터(UMD)를 확인하기 위해, 언맵 리드 판단부(212)가 목표 어드레스(ADDR)를 언맵 데이터 판단부(214)에 출력하고, 언맵 데이터 판단부(214)가 목표 어드레스(ADDR)를 이용하여 언맵 데이터(UMD)를 판단하는 것으로 도시되어 있으나, 이는 일 예시일 뿐이고, 언맵 리드 판단부(212)는 언맵 데이터 판단부(214)에 목표 어드레스(ADDR)가 아닌 언맵 데이터를 확인할 수 있는 다른 정보를 출력할 수도 있다. 또 다른 예시로서, 호스트와 비휘발성 메모리 장치(10) 사이의 약속된 언맵 데이터(UMD)가 한 종류라면, 언맵 리드 판단부(212)는 언맵 데이터 판단부(214)에 데이터 ‘1’을 갖는 플래그 신호만을 출력하고, 언맵 데이터 판단부(214)는 미리 약속된 한 종류의 언맵 데이터(UMD)에 기초하여 멤셋 커맨드(MS)를 출력할 수 있다.
언맵 데이터 생성부(222)는 수신한 씨드(Sd) 및 패턴(Pt)을 기초로 언맵 데이터(UMD)를 생성할 수 있다. 씨드(Sd)는 작은 단위의 데이터 일 수 있고, 패턴(Pt)은 씨드(Sd)를 이용하여 수행가능한 특정한 알고리즘일 수 있다. 본 발명의 일 실시예에서, 씨드(Sd)는 1byte의 데이터이고 패턴(Pt)은 씨드(Sd)를 페이지 버퍼(220)의 용량만큼 단순히 복사하는 것일 수 있다. 이에 관하여는 도 9 내지 12에서 후술한다. 언맵 데이터 생성부(222)는 생성한 언맵 데이터(UMD)를 다이렉트 메모리 억세스(230)에 출력할 수 있다.
다이렉트 메모리 억세스(230)는 페이지 버퍼(220)와 호스트 사이의 데이터 전송을 담당할 수 있다. 예를 들어, 리드 동작 시에, 다이렉트 메모리 억세스(230)는 비휘발성 메모리 장치(10)에 리드 요청된 데이터를 메모리 컨트롤러(미도시)를 통해 호스트에 전송할 수 있다. 이 경우, 다이렉트 메모리 억세스(230)는 비휘발성 메모리 장치(10)로부터 리드한 데이터를 메모리 컨트롤러에 전송함과 동시에, 해당 데이터에 대응하는 섹터들에 대하여 "해당 섹터가 버퍼 메모리에 전송되었음"에 대한 정보를 메타 영역에 기록할 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 메모리 블록을 나타내는 회로도이다.
도 3을 참조하면, 메모리 셀 어레이(예를 들어, 도 1의 100)는 수평 낸드 플래시 메모리의 메모리 셀 어레이일 수 있고, 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록(BLK0)은 비트 라인(BL0 ~ BLn-1) 방향으로, 다수 개의 메모리 셀(MC)들이 직렬로 연결되는 n(n는 2 이상의 정수)개의 스트링(STR)들을 포함할 수 있다. 일 예로서, 도 3에는 각각의 스트링(STR)이 8 개의 메모리 셀들을 포함하는 예가 도시된다.
도 3와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거가 수행되고, 각 워드 라인(WL0 ~ WL7)에 대응되는 페이지(PAGE) 단위로 프로그램을 수행한다. 도 3는 하나의 블록에 n개의 워드 라인들(WL1 ~ WLn)에 대한 n개의 페이지들이 구비되는 예를 도시한다. 또한, 도 1의 비휘발성 메모리 장치(10)는 이상에서 설명된 메모리 셀 어레이(130)와 동일한 구조로 동일한 동작을 수행하는 복수의 메모리 셀 어레이들을 포함할 수도 있다.
도 4는 본 개시의 예시적 실시예들에 따른 메모리 셀 어레이에 포함된 메모리 블록의 다른 예(BLK0’)를 나타내는 회로도이다.
도 4를 참조하면, 메모리 셀 어레이(예를 들어, 도 1의 130)는 수직 낸드 플래시 메모리의 메모리 셀 어레이일 수 있고, 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록(BLK0’)은 복수의 낸드 스트링들(NS11 ~ NS33), 복수의 워드 라인들(WL1 ~ WL8), 복수의 비트 라인들(BL1 ~ BL3), 복수의 그라운드 선택 라인들(GSL1 ~ GSL3), 복수의 스트링 선택 라인들(SSL1 ~ SSL3) 및 공통 소스 라인(CSL)을 포함할 수 있다. 여기서, 낸드 스트링들의 개수, 워드 라인들의 개수, 비트 라인들의 개수, 그라운드 선택 라인의 개수 및 스트링 선택 라인들의 개수는 실시예에 따라 다양하게 변경될 수 있다.
제1 비트 라인(BL1)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS11, NS21, NS31)이 제공되고, 제2 비트 라인(BL2)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS12, NS22, NS32)이 제공되고 제3 비트 라인(BL3)과 공통 소스 라인(CSL) 사이에 낸드 스트링들(NS13, NS23, NS33)이 제공된다. 각 낸드 스트링(예를 들면, NS11)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1 내지 MC8) 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다.
하나의 비트 라인에 공통으로 연결된 스트링들은 하나의 칼럼을 구성한다. 예를 들어, 제1 비트 라인(BL1)에 공통으로 연결된 스트링들(NS11, NS21, NS31)은 제1 칼럼에 대응되고, 제2 비트 라인(BL2)에 공통으로 연결된 스트링들(NS12, NS22, NS32)은 제2 칼럼에 대응되며, 제3 비트 라인(BL3)에 공통으로 연결된 스트링들(NS13, NS23, NS33)은 제3 칼럼에 대응될 수 있다.
하나의 스트링 선택 라인에 연결되는 스트링들은 하나의 로우를 구성한다. 예를 들어, 제1 스트링 선택 라인(SSL1)에 연결된 스트링들(NS11, NS12, NS13)은 제1 로우에 대응되고, 제2 스트링 선택 라인(SSL2)에 연결된 스트링들(NS21, NS22, NS23)은 제2 로우에 대응되며, 제3 스트링 선택 라인(SSL3)에 연결된 스트링들(NS31, NS32, NS33)은 제3 로우에 대응될 수 있다.
스트링 선택 트랜지스터(SST)는 대응하는 스트링 선택 라인(SSL1 ~ SSL3)에 연결된다. 복수의 메모리 셀들(MC1 ~ MC8)은 각각 대응하는 워드 라인(WL1 내지 WL8)에 연결된다. 그라운드 선택 트랜지스터(GST)는 대응하는 그라운드 선택 라인(GSL1 ~ GSL3)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1 ~ BL3)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
동일 높이의 워드 라인(예를 들면, WL1)은 서로 공통으로 연결되어 있고, 스트링 선택 라인들(SSL1 ~ SSL3)은 서로 분리되어 있고, 그라운드 선택 라인들(GSL1 ~ GSL3)도 서로 분리되어 있다. 예를 들어, 제 1 워드 라인(WL1)에 연결되어 있고 스트링(NS11, NS12, NS13)에 속해 있는 메모리 셀들을 프로그램하는 경우에는, 제1 워드 라인(WL1)과 제1 스트링 선택 라인(SSL1)이 선택된다. 그라운드 선택 라인들(GSL1 ~ GSL3)은 서로 공통으로 연결될 수도 있다.
도 5은 도 4의 메모리 블록(BLK0’)을 나타내는 사시도이다.
도 5를 참조하면, 메모리 셀 어레이(예를 들어, 도 1의 130)에 포함된 각 메모리 블록은 기판(SUB)에 대해 수직 방향으로 형성되어 있다. 도 6에서는, 메모리 블록이 2개의 선택 라인들(GSL, SSL), 8개의 워드 라인들(WL1 ~ WL8), 그리고 3개의 비트 라인들(BL1 ~ BL3)을 포함하는 것으로 도시되어 있으나, 실제로는 이것들보다 더 많거나 적을 수 있다.
기판(SUB)은 제1 도전형(예를 들어, p 타입)을 가지며, 기판(SUB) 상에 제1 방향(예를 들어, Y 방향)을 따라 신장되고, 제2 도전형(예를 들어, n 타입)의 불순물들이 도핑된 공통 소스 라인(CSL)이 제공된다. 인접한 두 공통 소스 라인(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 신장되는 복수의 절연막들(IL)이 제3 방향(예를 들어, Z 방향)을 따라 순차적으로 제공되며, 복수의 절연막들(IL)은 제3 방향을 따라 특정 거리만큼 이격된다. 예를 들어, 복수의 절연막들(IL)은 실리콘 산화물과 같은 절연 물질을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 기판(SUB)의 영역 상에, 제1 방향을 따라 순차적으로 배치되며, 제3 방향을 따라 복수의 절연막들(IL)을 관통하는 복수의 필라들(pillars)(P)이 제공된다. 예를 들어, 복수의 필라들(P)은 복수의 절연막들(IL)을 관통하여 기판(SUB)과 컨택할 것이다. 구체적으로, 각 필라(P)의 표면층(surface layer)(S)은 제1 타입을 갖는 실리콘 물질을 포함할 수 있고, 채널 영역으로 기능할 수 있다. 한편, 각 필라(P)의 내부층(I)은 실리콘 산화물과 같은 절연 물질 또는 에어 갭(air gap)을 포함할 수 있다.
인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 절연막들(IL), 필라들(P) 및 기판(SUB)의 노출된 표면을 따라 전하 저장층(charge storage layer, CS)이 제공된다. 전하 저장층(CS)은 게이트 절연층(또는 '터널링 절연층'이라고 지칭함), 전하 트랩층 및 블로킹 절연층을 포함할 수 있다. 예를 들어, 전하 저장층(CS)은 ONO(oxide-nitride-oxide) 구조를 가질 수 있다. 또한, 인접한 두 공통 소스 라인들(CSL) 사이의 영역에서, 전하 저장층(CS)의 노출된 표면 상에, 선택 라인들(GSL, SSL) 및 워드 라인들(WL1 ~ WL8)과 같은 게이트 전극(GE)이 제공된다.
복수의 필라들(P) 상에는 드레인들 또는 드레인 컨택들(DR)이 각각 제공된다. 예를 들어, 드레인들 또는 드레인 컨택들(DR)은 제2 도전형을 갖는 불순물들이 도핑된 실리콘 물질을 포함할 수 있다. 드레인들(DR) 상에, 제2 방향(예를 들어, X 방향)으로 신장되고 제1 방향을 따라 특정 거리만큼 이격되어 배치된 비트 라인들(BL1 내지 BL3)이 제공된다.
도 6은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치의 동작을 나타내는 순서도이다.
도 1 및 도 6을 참조하면, 비휘발성 메모리 장치(10)가 호스트로부터 리드 커맨드(CMD)를 수신하면(S10), 언맵 리드 제어 모듈(112)이 수신한 리드 커맨드(CMD)가 언맵 리드 커맨드인지 판단할 수 있다(S30). 수신한 리드 커맨드(CMD)가 언맵 리드 커맨드 인 경우에는, 페이지 버퍼(120)에서 언맵 리드를 수행하고(S51), 리드 동작을 수행한 결과 생성한 언맵 데이터를 호스트에 출력할 수 있다(S53). 수신한 리드 커맨드(CMD)가 언맵 리드 커맨드 인 경우에는, 페이지 버퍼(120)에서 메모리 셀 어레이(130)를 리드하고(S71), 리드 동작을 수행한 결과 생성한 노멀 데이터를 호스트에 출력할 수 있다(S73).
도 7은 본 개시의 예시적 실시예에 따른 언맵 리드 판단부의 동작을 나타내는 순서도이다.
도 2 및 도 7을 참조하면, 언맵 리드 판단부(212)는 목표 어드레스(ADDR)가 포함된 리드 커맨드(CMD) 및 매핑 테이블을 수신할 수 있다(S110). 매핑 테이블은 별도의 메모리 장치에 저장되어 있을 수도 있고, 본 발명에 따른 비휘발성 메모리 장치(예를 들면, 도 1의 10)에 저장되어 있을 수도 있다. 언맵 리드 판단부(212)는 수신한 목표 어드레스(ADDR) 및 맵핑 테이블을 이용하여 목표 어드레스(ADDR)에 데이터가 기입되어 있는지 여부를 확인할 수 있다(S130). 목표 어드레스(ADDR)에 데이터가 기입되어 있는 경우(S150), 언맵 리드 판단부(212)는 페이지 버퍼(220)에 노멀 리드 커맨드를 출력하여 노멀 리드 동작을 수행할 수 있다(S170). 목표 어드레스(ADDR)에 데이터가 기입되어 있지 않는 경우(S150), 언맵 리드 판단부(212)는 언맵 데이터 판단부(214)에 목표 어드레스(ADDR)를 출력하여 언맵 리드를 수행할 수 있다(S190).
도 8은 본 개시의 예시적 실시예에 따른 매핑 테이블을 나타내는 표이다.
도 2 및 도 8을 참조하면, 리드 커맨드(CMD)가 언맵 리드 커맨드인지 판단하기 위해 언맵 리드 판단부(212)는 매핑 테이블을 수신할 수 있다. 매핑 테이블에는 로직 어드레스(Logic Address)와 물리 어드레스(Physical Address)간의 매핑 관계가 포함되어 있을 수 있다. 또한, 물리 어드레스(Physical Address)에 데이터(Data)가 라이트 되어 있는지 여부가 더 포함되어 있을 수 있다. 도 8의 표에서 데이터(Data) 항목의 ‘O’표시는 데이터가 라이트되어 있다는 정보를 뜻할 수 있고, ‘X’표시는 데이터가 라이트되어 있지 않다는 정보를 뜻할 수 있다.
본 발명의 일 실시예에서, 호스트로부터의 리드 커맨드(CMD)가 제2 로직 어드레스(LAddr2)에 대한 리드 커맨드(CMD)인 경우, 언맵 리드 판단부(212)는 매핑 테이블을 통해 제2 로직 어드레스(LAddr2)와 매핑된 제2 물리 어드레스(PAddr2) 및 제2 물리 어드레스(PAddr2)에 데이터(Data)가 라이트 되어있다는 정보를 확인할 수 있다. 따라서, 제2 로직 어드레스(LAddr2)에 대한 리드 커맨드(CMD)는 데이터(Data)가 라이트 되어 있는 목표 어드레스(ADDR)에 대한 리드 커맨드(CMD)므로 노멀 리드 커맨드일 수 있다. 본 예에서 상기 같은 판단에 따라 언맵 리드 판단부(212)는 페이지 버퍼(220)에 노멀 리드 커맨드를 출력하여 노멀 리드를 수행할 수 있다.
본 발명의 또 다른 실시예에서, 호스트로부터의 리드 커맨드(CMD)가 제4 로직 어드레스(LAddr4)에 대한 리드 커맨드(CMD)인 경우, 언맵 리드 판단부(212)는 매핑 테이블을 통해 제4 로직 어드레스(LAddr4)와 매핑된 제4 물리 어드레스(PAddr4) 및 제4 물리 어드레스(PAddr4)에 데이터(Data)가 라이트 되어있지 않다는 정보를 확인할 수 있다. 따라서, 제4 로직 어드레스(LAddr4)에 대한 리드 커맨드(CMD)는 데이터(Data)가 라이트 되어 있지 않은 목표 어드레스(ADDR)에 대한 리드 커맨드(CMD)므로 언맵 리드 커맨드일 수 있다. 본 예에서 상기 같은 판단에 따라 언맵 리드 판단부(212)는 언맵 데이터 판단부(214)에 목표 어드레스(ADDR)를 출력하여 언맵 리드를 수행할 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 언맵 데이터 판단부의 동작을 나타내는 순서도이다.
도 2 및 도 9를 참조하면, 언맵 데이터 판단부(214)는 언맵 리드 판단부(212)로부터 목표 어드레스(ADDR)를 수신할 수 있다(S210). 언맵 데이터 판단부(214)는 수신한 목표 어드레스(ADDR)를 기초로 호스트가 요구한 언맵 데이터(ADDR)가 무엇인지 판단할 수 있다(S230). 본 발명의 일 실시예에 따르면, 언맵 데이터 판단부(214)는 목표 어드레스(ADDR)와 언맵 데이터(UMD)에 대한 매칭 정보가 담긴 어드레스 매칭 테이블을 수신하고, 이를 이용하여 호스트가 요구하는 언맵 데이터(UMD)가 무엇인지 판단할 수 있다.
언맵 데이터 판단부(214)는 언맵 데이터 테이블을 더 수신하고, 판단한 언맵 데이터(UMD) 및 언맵 데이터 테이블을 기초로 대응하는 씨드(Sd) 및 패턴(Pt)을 생성할 수 있다(S250). 본 발명의 일 실시예에 따르면, 언맵 데이터 테이블은 언맵 데이터(UMD)와 씨드(Sd) 및 패턴(Pt)간의 매칭 관계를 포함할 수 있다. 본 발명의 또 다른 실시예에 따르면, 언맵 데이터 테이블은 목표 어드레스(ADDR)와 씨드(Sd) 및 패턴(Pt)간의 매칭 정보를 포함할 수 있다. 언맵 데이터 판단부(214)는 생성한 씨드(Sd) 및 패턴(Pt)을 페이지 버퍼(220)에 출력할 수 있다. 또 다른 실시예에서, 언맵 데이터 판단부(214)는 씨드(Sd) 만을 페이지 버퍼(220)에 출력할 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 언맵 데이터 테이블을 나타내는 표이다.
도 2, 도 9 및 도 10을 참조하면, 언맵 데이터 테이블은 언맵 데이터(Unmap Data)와 씨드(Seed) 및 패턴(Pattern)의 매칭 정보를 포함할 수 있다. 씨드(Seed) 및 패턴(Pattern)은 언맵 데이터(Unmap Data)를 생성하기 위한 정보를 포함할 수 있다. 본 발명의 일 실시예에서 언맵 리드 판단부(212)로부터 수신한 목표 어드레스(ADDR)를 분석한 결과, 언맵 데이터 판단부(214)는 호스트가 요구하는 언맵 데이터(Unmap Data)가 제3 언맵 데이터(UMD3)라고 판단할 수 있다. 본 발명의 일 실시예에 따르면, 언맵 데이터 판단부(214)는 별도의 메모리 장치 또는 본 발명의 비휘발성 메모리 장치의 메모리 셀 어레이(예를 들면, 도 1의 130)로부터 어드레스 매칭 테이블을 수신할 수 있다. 언맵 데이터 판단부(214)는 수신한 어드레스 매칭 테이블에서 목표 어드레스(ADDR)에 대응되어 있는 언맵 데이터(UMD)가 제3 언맵 데이터(UMD3)인 경우, 제3 언맵 데이터(UMD3)를 호스트가 요구하는 언맵 데이터(Unmap Data)로 판단할 수 있다. 언맵 데이터 판단부(214)는 언맵 데이터 테이블을 수신하고, 제3 언맵 데이터(UMD3)에 매칭되는 제2 씨드(Sd2) 및 제1 패턴(Pt1)을 생성할 수 있다. 그 후 언맵 데이터 판단부(214)는 생성한 제2 씨드(Sd2) 및 제1 패턴(Pt1)을 페이지 버퍼(220)에 출력할 수 있다.
도 11 및 도 12는 본 개시의 예시적 실시예에 따른 언맵 데이터를 나타내는 도면이다.
도 2, 도 11 및 도 12를 참조하면, 언맵 데이터 생성부(222)는 언맵 데이터 판단부(214)로부터 씨드(Sd) 및 패턴(Pt)을 수신할 수 있다. 씨드(Sd)는 작은 단위의 데이터 일 수 있고, 패턴(Pt)은 씨드(Sd)를 이용하여 수행가능한 일정한 알고리즘일 수 있다. 언맵 데이터 생성부(222)는 씨드(Sd) 및 패턴(Pt)을 수신하여 페이지 버퍼(220)의 용량을 갖는 언맵 데이터(UMD)를 메모리 셀 어레이에 대한 리드 없이 자동으로 생성할 수 있다. 이에 따라 메모리 셀 어레이에 대한 리드 시간이 줄어들기 때문에 본 발명에 따른 비휘발성 메모리 장치는 좀 더 빠른 시간에 언맵 리드를 수행할 수 있다.
도 11과 같이 씨드(Sd)가 0x01이고, 패턴(Pt)은 카피(Copy)인 예시에서는, 언맵 데이터 생성부(222)는 0x01를 페이지 버퍼(220)의 용량만큼 복사하여 0x01이 반복되는 언맵 데이터(UMD)를 생성할 수 있다. 또한, 도 12와 같이 씨드(Sd)가 0x01이고, 패턴(Pt)이 인크리먼트(Increment)인 예시에서는, 언맵 데이터 생성부(222)는 0x01를 페이지 버퍼(220)의 용량만큼 1씩 증가시켜 도 12와 같은 언맵 데이터(UMD)를 생성할 수 있다.
도 11 및 도 12에서는 씨드(Sd)가 0x01이고 패턴(Pt)이 카피(Copy) 및 인크리먼트(Increment)인 예시만을 도시하였으나, 본 발명의 기술적 사상은 이에 한정되지 않고, 페이지 버퍼(220)가 자동으로 호스트가 요구하는 언맵 데이터를 생성하는데 필요한 작은 단위의 데이터를 갖는 씨드(Sd) 및 특정 알고리즘을 갖는 패턴(Pt)이면 모두 본 발명의 기술적 사상에 해당될 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치의 일부를 나타내는 블록도이다. 도 2와 중복되는 내용은 생략한다.
도 2 및 도 13을 참조하면, 비휘발성 메모리 장치는 언맵 리드 제어 모듈(310), 페이지 버퍼(320) 및 다이렉트 메모리 억세스(330)를 포함할 수 있다. 도 13의 비휘발성 메모리 장치는 도 1의 비휘발성 메모리 장치에 비해페이지 버퍼(320)가 스테이터스 레지스터(324)를 더 포함할 수 있고, 이 외의 특성은 실질적으로 동일하거나 유사할 수 있다. 따라서, 도 13에서는 스테이터스 레지스터(324)의 추가로 인한 동작 차이에 대해서만 설명한다.
언맵 리드 판단부(312)는 리드 커맨드(CMD)를 수신하고, 스테이터스 레지스터(324)에 스테이터스 체크 신호(StCk)를 출력할 수 있다. 스테이터스 레지스터(324)는 페이지 버퍼(320)의 동작 상황에 대한 정보를 포함할 수 있다. 따라서 스테이터스 레지스터(324)는 스테이터스 체크 신호(StCk)에 대응하여, 페이지 버퍼(320)의 상태를 나타내는 비지 신호(Bs) 또는 사용가능 신호(Av)를 언맵 리드 판단부(312)에 출력할 수 있다. 즉, 스테이터스 레지스터(324)는 페이지 버퍼(320)가 다른 커맨드에 의해 특정 동작을 수행하고 있는 경우에는 언맵 리드 판단부(312)에 비지 신호(Bs)를 출력할 수 있고, 페이지 버퍼(320)가 다른 커맨드에 의한 특정 동작을 수행하지 않고 사용 가능한 경우에는 언맵 리드 판단부(312)에 사용가능 신호(Av)를 출력할 수 있다.
언맵 리드 판단부(312)는 스테이터스 레지스터(324)로부터 사용가능 신호(Av)를 수신한 경우에만 언맵 리드 혹은 노멀 리드를 수행할 수 있다. 언맵 리드 판단부(312)는 스테이터스 레지스터(324)로부터 비지 신호(Bs)를 수신한 경우에는 언맵 리드 혹은 노멀 리드를 수행하지 않을 수 있고, 그 후 사용가능 신호(Av)를 수신하고 나서 언맵 리드 혹은 노멀 리드를 수행할 수 있다.
도 14은 본 개시의 예시적 실시예에 따른 언맵 리드 제어 모듈 및 페이지 버퍼의 동작을 나타내는 순서도이다.
도 13 및 도 14를 참조하면, 언맵 리드 판단부(312)가 호스트로부터 리드 커맨드(CMD)를 수신하면(S310), 언맵 리드 판단부(312)는 수신한 리드 커맨드(CMD)가 언맵 리드 커맨드인지 판단할 수 있다(S330). 수신한 리드 커맨드(CMD)가 언맵 리드 커맨드라면, 언맵 리드 판단부(312)는 스테이터스 레지스터(324)에 스테이터스 체크 신호(StCk)를 출력할 수 있다(S351). 스테이터스 레지스터(324)는 이에 대응하여, 페이지 버퍼(320)의 상태를 확인하고, 비지 신호(Bs) 혹은 사용 가능 신호(Av)를 언맵 리드 판단부(312)에 출력할 수 있다(S353).
언맵 리드 판단부(312)가 스테이터스 레지스터(324)로부터 비지 신호(Bs)를 수신하는 경우에는(S353), 소정의 시간이 흐른 뒤 다시 스테이터스 레지스터(324)에 스테이터스 체크 신호(StCk)를 출력할 수 있다(S351). 언맵 리드 판단부(312)가 스테이터스 레지스터(324)로부터 사용 가능 신호(Av)를 수신하는 경우에는, 언맵 리드 판단부(312)는 언맵 데이터 판단부(314)에 목적 어드레스(ADDR)를 출력함으로 언맵 리드를 수행할 수 있다(S355).
언맵 리드 판단부(312)가 리드 커맨드(CMD)를 판단한 결과 언맵 리드 커맨드가 아닌 경우에는(S330), 언맵 리드 판단부(312)는 페이지 버퍼(320)에 노멀 리드 커맨드를 출력하여 노멀 리드를 수행할 수 있다(S370).
도 15는 본 개시의 예시적 실시예에 따른 메모리 시스템을 나타내는 블록도이다.
도 1 및 도 15를 참조하면, 메모리 시스템(1)은 비휘발성 메모리 장치(20), 휘발성 메모리 장치(30) 및 호스트(40)를 포함할 수 있다. 도시되지는 않았으나, 메모리 시스템(1)은 비휘발성 메모리 장치(20) 및 휘발성 메모리 장치(30)를 제어할 수 있는 컨트롤러가 더 포함될 수 있다. 비휘발성 메모리 장치(20)는 도 1 내지 도 14를 참조하여 설명한 비휘발성 메모리 장치(10)와 동일하거나 유사할 수 있다.
비휘발성 메모리 장치(20)는 언맵 리드 제어 모듈(410) 및 페이지 버퍼(420)를 포함할 수 있다. 언맵 리드 제어 모듈(410)은 리드 커맨드(CMD)에 대응하여 페이지 버퍼(420)에 멤셋 신호로서 씨드(Sd) 및 패턴(Pt) 중 적어도 하나를 출력할 수 있고, 페이지 버퍼(420)는 이에 대응하여 멤셋 동작을 수행할 수 있다. 페이지 버퍼(420)는 멤셋 동작을 수행한 결과 생성한 언맵 리드 데이터(UMD)를 휘발성 메모리 장치(30)에 출력할 수 있다. 도시되지는 않았으나 상술한 바와 같이, 비휘발성 메모리 장치(20)는 다이렉트 메모리 억세스(DMA)를 더 포함할 수 있고, 페이지 버퍼(420)는 다이렉트 메모리 억세스를 통해서 휘발성 메모리 장치(30)에 언맵 데이터(UMD)를 출력할 수 있다.
비휘발성 메모리 장치(20)는 SSD로 도시되었으나 이에 한정되지 않고, 예컨대 EEPROM (non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM (Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등과 같은 비휘발성 반도체 메모리 장치를 포함할 수도 있고, 자기 디스크 등을 포함할 수도 있다.
휘발성 메모리 장치(30)는 수신한 언맵 데이터(UMD)를 호스트(40)에 출력할 수 있다. 휘발성 메모리 장치(30)는 비휘발성 메모리 장치(20)에 비해 데이터 입출입 속도가 빠를 수 있기 때문에, 휘발성 메모리 장치(30)를 이용한 언맵 데이터(UMD)의 전송이 비휘발성 메모리 장치(20)를 이용한 언맵 데이터(UMD) 전송보다 더 효율적일 수 있다.
휘발성 메모리 장치(30)는 랜덤 억세스 메모리(Random Access Memory;RAM)로 도시되었으나, 정적 랜덤 억세스 메모리(Static Random Access Memory;SRAM), 동적 랜덤 억세스 메모리(Dynamic Random Access Memory;DRAM)에 한정되지 않고, 래치(Latch), 플립플롭(Flip-Flop), 레지스터(Register)를 포함할 수 있다.
도 16은 본 개시의 예시적 실시예에 따른 비휘발성 메모리 장치를 구비하는 컴퓨팅 시스템 장치를 나타내는 도면이다.
도 16을 참조하면, 상기 컴퓨팅 시스템 장치(900)는 버스(960)에 전기적으로 연결된 마이크로프로세서(930), 사용자 인터페이스(950), 그리고 메모리 컨트롤러(912) 및 비휘발성 메모리 장치(911)를 구비하는 비휘발성 메모리 시스템(910)을 포함할 수 있다. 비휘발성 메모리 장치(911)에는 마이크로프로세서(930)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 메모리 컨트롤러(912)를 통해 저장될 수 있다. 또한 비휘발성 메모리 장치(911)는 도 1 내지 도 14에서 설명한 비휘발성 메모리 장치를 포함할 수 있다. 컴퓨팅 시스템 장치(900)는 나아가, 램(940) 및 파워 공급 장치(920)를 더 구비할 수 있다.
컴퓨팅 시스템 장치(900)가 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리 및 베이스밴드 칩셋(baseband chipset)과 같은 모뎀이 추가적으로 제공될 수 있다. 또한, 컴퓨팅 시스템 장치(900)에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다.
바람직하게는, 메모리 컨트롤러(912)와 비휘발성 메모리 장치(911)는, 예를 들면, 데이터를 저장하는 데 비휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 호스트로부터 리드 커맨드를 수신하여 상기 리드 커맨드가 언맵(Unmapped) 리드 커맨드인지 판단하고, 상기 언맵 리드 커맨드인 경우 멤셋(memset) 커맨드를 출력하는 언맵 리드 제어모듈; 및
    상기 멤셋 커맨드에 대응하여 멤셋 동작을 수행하여 언맵 데이터를 생성하는 페이지 버퍼를 포함하고,
    상기 멤셋 동작은 메모리 셀 어레이에 대한 리드를 포함하지 않는 것을 특징으로 하는 메모리 장치.
  2. 제1항에 있어서,
    상기 리드 커맨드는 리드 대상이 되는 목표 어드레스에 대한 정보를 포함하고,
    상기 언맵 리드 제어모듈은,
    상기 목표 어드레스를 분석하여 상기 리드 커맨드가 언맵 리드 커맨드인지 판단하는 언맵 리드 판단부; 및
    상기 리드 커맨드가 언맵 리드 커맨드인 경우 상기 목표 어드레스에 의해 요구되는 상기 언맵 데이터를 판단하는 언맵 데이터 판단부를 포함하는 것을 특징으로 하는 메모리 장치.
  3. 제1항에 있어서,
    상기 페이지 버퍼는,
    상기 멤셋 커맨드로 씨드(Seed) 및 패턴(Pattern)을 수신하고, 상기 멤셋 동작으로 상기 씨드(Seed) 및 상기 패턴(Pattern)을 활용하여 상기 언맵 데이터를 생성하는 것을 특징으로 하는 메모리 장치.
  4. 제3항에 있어서,
    상기 언맵 데이터의 용량은 상기 페이지 버퍼의 용량과 동일한 것을 특징으로 하는 메모리 장치.
  5. 제4항에 있어서,
    상기 패턴(Pattern)은 카피(Copy) 동작을 포함하고,
    상기 언맵 데이터는, 상기 씨드(Seed)를 상기 페이지 버퍼의 용량만큼 카피한 데이터인 것을 특징으로 하는 메모리 장치.
  6. 제1항에 있어서,
    상기 페이지 버퍼는 상기 페이지 버퍼의 상태를 나타내는 스테이터스 레지스터를 포함하고,
    상기 언맵 리드 제어모듈은,
    상기 리드 커맨드가 언맵 리드 커맨드인 경우 상기 스테이터스 레지스터를 확인하고, 상기 스테이터스 레지스터가 비지(Busy) 상태가 아닌 경우에만 상기 페이지 버퍼에 상기 멤셋 커맨드를 출력하는 것을 특징으로 하는 메모리 장치.
  7. 제1항에 있어서,
    상기 언맵 리드 제어모듈은,
    상기 리드 커맨드가 맵핑 페이지에 대한 노멀 리드 커맨드인 경우, 상기 페이지 버퍼에 노멀 리드 커맨드를 출력하는 것을 특징으로 하는 메모리 장치.
  8. 비휘발성의 메모리 셀 어레이, 호스트로부터 리드 커맨드를 수신하여 상기 리드 커맨드가 언맵(Unmapped) 리드 커맨드인지 판단하고, 상기 언맵 리드 커맨드인 경우 멤셋(memset) 커맨드를 출력하는 언맵 리드 제어모듈 및 상기 멤셋 커맨드에 대응하여 멤셋 동작을 수행하여 언맵 데이터를 생성하는 페이지 버퍼를 포함하는 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치 및 상기 호스트와 통신 가능하게 연결되어 있는 휘발성 메모리 장치를 포함하고,
    상기 멤셋 동작은 상기 메모리 셀 어레이에 대한 리드를 포함하지 않는 것을 특징으로 하는 메모리 시스템.
  9. 제8항에 있어서,
    상기 비휘발성 메모리 장치는 다이렉트 메모리 억세스(DMA)를 더 포함하고,
    상기 다이렉트 메모리 억세스(DMA)는 상기 페이지 버퍼로부터 상기 언맵 데이터를 수신하고, 상기 언맵 데이터를 상기 휘발성 메모리 장치에 출력하는 것을 특징으로 하는 메모리 시스템.
  10. 제8항에 있어서,
    상기 휘발성 메모리 장치는 수신한 상기 언맵 데이터를 상기 호스트에 출력하는 것을 특징으로 하는 메모리 시스템.
KR1020160152966A 2016-11-16 2016-11-16 언맵 리드를 수행하는 메모리 장치 및 메모리 시스템 KR20180055297A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160152966A KR20180055297A (ko) 2016-11-16 2016-11-16 언맵 리드를 수행하는 메모리 장치 및 메모리 시스템
US15/624,009 US10545880B2 (en) 2016-11-16 2017-06-15 Memory device and memory system performing an unmapped read

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160152966A KR20180055297A (ko) 2016-11-16 2016-11-16 언맵 리드를 수행하는 메모리 장치 및 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20180055297A true KR20180055297A (ko) 2018-05-25

Family

ID=62107185

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160152966A KR20180055297A (ko) 2016-11-16 2016-11-16 언맵 리드를 수행하는 메모리 장치 및 메모리 시스템

Country Status (2)

Country Link
US (1) US10545880B2 (ko)
KR (1) KR20180055297A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US9417998B2 (en) 2012-01-26 2016-08-16 Memory Technologies Llc Apparatus and method to provide cache move with non-volatile mass memory system
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231199B2 (en) * 2004-02-27 2007-06-12 Research In Motion Limited Data protection for applications on a mobile electronic device
US20080229325A1 (en) 2007-03-15 2008-09-18 Supalov Alexander V Method and apparatus to use unmapped cache for interprocess communication
KR101529290B1 (ko) 2008-10-02 2015-06-17 삼성전자주식회사 반도체 디스크 장치 및 그것의 데이터 처리 방법
US8671258B2 (en) 2009-03-27 2014-03-11 Lsi Corporation Storage system logical block address de-allocation management
US8230159B2 (en) 2009-03-27 2012-07-24 Lsi Corporation System, method, and computer program product for sending logical block address de-allocation status information
US8898417B1 (en) 2009-10-20 2014-11-25 Micron Technology, Inc. Block-based storage device with a memory-mapped interface
US9582431B2 (en) 2010-03-22 2017-02-28 Seagate Technology Llc Storage address space to NVM address, span, and length mapping/converting
US20130103889A1 (en) 2011-10-25 2013-04-25 Ocz Technology Group Inc. Page-buffer management of non-volatile memory-based mass storage devices
KR101295784B1 (ko) 2011-10-31 2013-08-12 삼성에스디에스 주식회사 목표 유전체 서열 내의 신규서열 생성 장치 및 방법
KR101767359B1 (ko) 2011-12-29 2017-08-10 인텔 코포레이션 다이렉트 액세스를 갖는 다중-레벨 메모리
US8966132B2 (en) 2012-11-16 2015-02-24 International Business Machines Corporation Determining a mapping mode for a DMA data transfer
US9513822B2 (en) 2014-09-26 2016-12-06 Hewlett Packard Enterprise Development Lp Unmap storage space
US10157012B2 (en) * 2015-09-29 2018-12-18 Sandisk Technologies Llc Zero read on trimmed blocks in a non-volatile memory system

Also Published As

Publication number Publication date
US10545880B2 (en) 2020-01-28
US20180137058A1 (en) 2018-05-17

Similar Documents

Publication Publication Date Title
US9659658B2 (en) Nonvolatile memory device, storage device including the nonvolatile memory device, and operating method of the storage device
KR102294172B1 (ko) 3d 메모리에서 서브 블록 비활성화
US10366769B2 (en) Nonvolatile memory device and programming method for fast and slow cells thereof
KR102015906B1 (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 읽기 방법
CN108399931B (zh) 非易失性存储装置
KR20180057431A (ko) 비휘발성 메모리 장치
CN108630254B (zh) 提供降低的数据线负载的非易失性存储设备
KR102154499B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20130037554A (ko) 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 제어하는 방법
KR102458312B1 (ko) 스토리지 장치 및 이의 동작 방법
KR20120100247A (ko) 비휘발성 메모리 장치 및 그것의 읽기 방법
KR102608958B1 (ko) 스토리지 장치 및 이의 동작 방법
KR20180135576A (ko) 비휘발성 메모리 장치
US9804785B2 (en) Nonvolatile memory adaptive to host boot up routine
KR102635683B1 (ko) 비휘발성 메모리 장치
KR102127296B1 (ko) 메모리 시스템 및 그것의 동작 방법
US10545880B2 (en) Memory device and memory system performing an unmapped read
KR20160150554A (ko) 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법
US20170153814A1 (en) Access method of a storage device having a heterogeneous nonvolatile memory
KR20140075949A (ko) 불휘발성 메모리 장치 및 메모리 시스템
KR20100097457A (ko) 플래시 메모리 장치 및 그것의 프로그램 방법 그리고 그것을 포함하는 메모리 시스템
KR20150127419A (ko) 반도체 메모리 장치 및 그것의 읽기 방법
KR102432795B1 (ko) 반도체 장치 및 그 동작 방법
KR20190122366A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
CN109524045B (zh) 非易失性存储器器件及其操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal