KR20130010343A - 플래시 메모리 장치 - Google Patents

플래시 메모리 장치 Download PDF

Info

Publication number
KR20130010343A
KR20130010343A KR1020110071088A KR20110071088A KR20130010343A KR 20130010343 A KR20130010343 A KR 20130010343A KR 1020110071088 A KR1020110071088 A KR 1020110071088A KR 20110071088 A KR20110071088 A KR 20110071088A KR 20130010343 A KR20130010343 A KR 20130010343A
Authority
KR
South Korea
Prior art keywords
page
pages
lsb
block
flash memory
Prior art date
Application number
KR1020110071088A
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 KR1020110071088A priority Critical patent/KR20130010343A/ko
Priority to US13/551,640 priority patent/US20130024608A1/en
Publication of KR20130010343A publication Critical patent/KR20130010343A/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Abstract

플래시 메모리 장치가 개시된다. 본 발명의 실시예에 따른 플래시 메모리 장치는, 복수의 블록을 포함하는 플래시 메모리 및 상기 플래시 메모리를 제어하는 제어부를 포함하고, 상기 복수의 블록 각각은 복수의 워드 라인에 대응되고, 상기 복수의 워드 라인 각각은 제1 비트 페이지 및 적어도 하나의 제2 비트 페이지에 대응되고, 상기 제어부는, 호스트의 기입 요청에 포함되는 논리 주소를 상기 복수의 블록 중 하나인 제1 블록 내 복수의 페이지 중 하나인 제1 페이지에 맵핑하고, 상기 제1 페이지를 프로그램하되, 상기 제1 페이지는 오직 상기 제1 비트 페이지이다.

Description

플래시 메모리 장치{FLASH MEMORY APPARATUS}
본 발명은 플래시 메모리 장치에 관한 것이다.
플래시 메모리를 포함하는 플래시 메모리 장치는 플래시 메모리에 데이터를 기입(write)하거나, 플래시 메모리에 저장되어 있는 데이터를 독출(read)할 수 있다.
그런데 플래시 메모리에 정상적으로 데이터가 기입된 이후에도, 플래시 메모리의 특성으로 인해 데이터가 손상될 수 있다. 데이터가 손상되면, 오류가 있는 데이터가 독출되므로 플래시 메모리 장치의 신뢰성(reliability)이 보장될 수 없다.
따라서 데이터 손상을 방지하여 신뢰성을 보장할 수 있는 플래시 메모리 장치가 요구된다.
본 발명이 해결하고자 하는 기술적 과제는, 신뢰성을 보장할 수 있는 플래시 메모리 장치를 제공하는 것에 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 플래시 메모리 장치는, 복수의 블록을 포함하는 플래시 메모리 및 상기 플래시 메모리를 제어하는 제어부를 포함하고, 상기 복수의 블록 각각은 복수의 워드 라인에 대응되고, 상기 복수의 워드 라인 각각은 제1 비트 페이지 및 적어도 하나의 제2 비트 페이지에 대응되고, 상기 제어부는, 호스트의 기입 요청에 포함되는 논리 주소를 상기 복수의 블록 중 하나인 제1 블록 내 복수의 페이지 중 하나인 제1 페이지에 맵핑하고, 상기 제1 페이지를 프로그램하되, 상기 제1 페이지는 오직 상기 제1 비트 페이지이다.
상기 제어부는, 메타 데이터가 로딩되는 휘발성 메모리 및 상기 메타 데이터를 기반으로 상기 논리 주소를 상기 제1 페이지로 맵핑하는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는, 상기 논리 주소에 맵핑되는 상기 제1 페이지가 상기 제2 비트 페이지가 되지 않도록 상기 메타 데이터를 관리할 수 있다.
상기 호스트의 상기 기입 요청은, 프로그램 데이터를 더 포함하고, 상기 프로그램 데이터는 상기 휘발성 메모리에 저장되고, 상기 메모리 컨트롤러는, 상기 프로그램 데이터를 상기 제1 페이지에 프로그램할 수 있다.
상기 제1 비트 페이지는, LSB(least significant bit) 페이지이고, 상기 적어도 하나의 제2 비트 페이지 중 하나의 비트 페이지는 MSB(most significant bit) 페이지일 수 있다.
상기 제어부는, 상기 복수의 블록 중 하나인 제2 블록에 포함되는 n(n은 1보다 큰 정수)개의 유효 페이지들을 상기 복수의 블록 중 하나인 제3 블록 내 연속하는 n개의 제2 페이지들인 i(i는 0 이상의 정수)번 페이지 내지 i+n-1번 페이지에 복사할 수 있다.
상기 제어부는, i+n번 페이지부터 k(k는 i+n-1보다 큰 정수)번 페이지까지를 간섭 방지 페이지로 설정하고, 상기 n개의 제2 페이지들에 대응하는 복수의 워드 라인들 중 m(m은 0 이상의 정수)번 워드 라인은 상기 복수의 워드 라인들 중 워드 라인 번호가 가장 큰 워드 라인이고, 상기 k번 페이지는 m+1번 워드 라인에 대응되는 MSB 페이지일 수 있다.
상기 제어부는, 상기 간섭 방지 페이지를 프로그램하지 않을 수 있다
상기 제어부는, 상기 간섭 방지 페이지 중 LSB 페이지인 페이지에는 더미 데이터를 프로그램할 수 있다.
상기 제어부는, 상기 간섭 방지 페이지를 설정한 후, 상기 제2 블록을 이레이즈할 수 있다.
상기 제어부는, 상기 복수의 블록 중 하나인 제4 블록에 포함되는 복수의 유효 페이지들을 상기 제3 블록에 복사하되, 상기 제4 블록의 상기 복수의 유효 페이지들은 상기 제3 블록의 k+1번 페이지부터 프로그램될 수 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 전자 장치는, N비트(N은 1보다 큰 정수) MLC(Multi-Level Cell)인 복수의 메모리 셀을 포함하는 플래시 메모리 및 상기 플래시 메모리를 제어하는 제어부를 포함하고, 상기 제어부는, M(M은 0보다 큰 정수)개의 호스트의 기입 요청에 응답하여 상기 플래시 메모리에 포함되는 M개의 제1 페이지를 프로그램하고, 상기 복수의 메모리 셀 중 상기 M개의 제1 페이지에 대응되는 복수의 제1 메모리 셀은 각각 1비트의 정보를 나타내고, 상기 M개의 제1 페이지와 상기 복수의 제1 메모리 셀을 공유하는 M*(N-1)개의 페이지들은 프로그램되지 않을 수 있다.
상기 플래시 메모리는 제1 소스 블록 및 타깃 블록을 포함하고, 상기 제어부는, 상기 제1 소스 블록에 포함되는 복수의 유효 페이지를 상기 타깃 블록에 포함되는 연속하는 복수의 제2 페이지에 복사하되, 상기 복수의 메모리 셀 중 상기 복수의 제2 페이지에 대응되는 복수의 제2 메모리 셀 각각은 p(p=1, 2, ..., N)비트의 정보를 나타낼 수 있다.
상기 제어부는, 상기 복수의 제2 메모리 셀에 프로그램을 완료한 후, 상기 타깃 블록 내 상기 복수의 제2 페이지에 인접하는 복수의 페이지를 간섭 방지 페이지로 설정할 수 있다.
상기 제어부는, 상기 간섭 방지 페이지를 프로그램하지 않거나, 상기 간섭 방지 페이지 중 LSB 페이지에는 더미 데이터를 프로그램 할 수 있다.
상기 플래시 메모리는, 솔리드 스테이트 드라이브(Solid State Drive)에 포함될 수 있다.
본 발명의 실시예에 따르면, 신뢰성을 보장할 수 있는 플래시 메모리 장치가 제공될 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시예에 따른 플래시 메모리 장치의 블록도이다.
도 2는 본 발명의 실시예에 따라 호스트의 기입 요청에 응답하여 프로그램을 수행하는 도 1의 플래시 메모리 장치를 나타내는 도면이다.
도 3은 도 2의 플래시 메모리 장치에서 프로그램을 수행하는 방법의 일 예를 나타내는 순서도이다.
도 4는 도 1의 플래시 메모리의 메모리 셀 어레이를 나타내는 도면이다.
도 5는 도 4의 복수의 블록들 중 하나의 블록의 구현 예를 나타내는 도면이다.
도 6은 도 5의 블록 내 복수의 워드 라인에 대응되는 LSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 7은 도 1의 플래시 메모리의 메모리 셀의 산포를 나타내는 도면이다.
도 8은 2비트 MLC에서 LSB 페이지가 프로그램된 메모리 셀들의 산포 및 MSB 페이지가 프로그램된 메모리 셀들의 산포를 나타내는 도면이다.
도 9는 도 2의 플래시 메모리 장치에서 호스트의 복수의 기입 요청에 응답하여 프로그램을 수행하는 방법의 일 예를 나타내는 표이다.
도 10은 도 9의 표에 의해 프로그램된 페이지를 포함하는 제1 블록을 나타내는 도면이다.
도 11은 본 발명의 실시예에 따라 가비지 컬렉션을 수행하는 도 1의 플래시 메모리 장치를 나타내는 도면이다.
도 12는 도 11의 플래시 메모리 장치에서 가비지 컬렉션의 수행 방법의 일 예를 나타내는 순서도이다.
도 13은 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 일 예를 나타내는 도면이다.
도 14는 도 13의 소스 블록의 유효 페이지와 타깃 블록의 페이지와의 대응 관계를 나타내는 표이다.
도 15 내지 도 17은 도 14의 표에 따라 타깃 블록의 페이지가 프로그램되는 과정을 나타내는 표이다.
도 18은 가비지 컬렉션 이후 간섭 방지 페이지 중 LSB 페이지에 대응되는 메모리 셀들의 산포의 일 예를 나타내는 도면이다.
도 19는 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 다른 예를 나타내는 도면이다.
도 20은 도 19의 타깃 블록의 일 예를 나타내는 표이다.
도 21은 가비지 컬렉션 이후 간섭 방지 페이지 중 LSB 페이지에 대응되는 메모리 셀들의 산포의 다른 예를 나타내는 도면이다.
도 22는 본 발명의 다른 실시예에 따라 가비지 컬렉션을 수행하는 도 1의 플래시 메모리 장치를 나타내는 도면이다.
도 23은 도 22의 플래시 메모리 장치에서 가비지 컬렉션의 수행 방법의 일 예를 나타내는 순서도이다.
도 24는 도 22의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 일 예를 나타내는 도면이다.
도 25는 도 24의 타깃 블록 내 복수의 워드 라인에 대응되는 LSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 26은 본 발명의 또 다른 실시예에 따라 동작하는 도 1의 플래시 메모리 장치를 나타내는 도면이다.
도 27은 도 26의 플래시 메모리 장치에서 수행되는 동작 방법의 일 예를 나타내는 순서도이다.
도 28은 도 26의 플래시 메모리 장치의 동작이 수행되는 블록들의 일 예를 나타내는 도면이다.
도 29는 도 28의 타깃 블록 내 복수의 워드 라인에 대응되는 LSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 30은 도 2의 플래시 메모리 장치에서 호스트의 복수의 기입 요청에 응답하여 프로그램된 페이지를 포함하는 제1 블록과 제1 블록 내 복수의 워드 라인에 대응되는 LSB 페이지, CSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 31은 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 또 다른 예를 나타내는 도면이다.
도 32는 도 31의 타깃 블록 내 복수의 워드 라인에 대응되는 LSB 페이지, CSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 33은 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 또 다른 예를 나타내는 도면이다.
도 34는 본 발명의 실시예에 따른 플래시 메모리 장치를 포함하는 컴퓨팅 시스템 장치를 나타내는 블록도이다.
도 35는 본 발명의 실시예에 따른 메모리 카드를 나타내는 블럭도이다.
도 36은 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
도 37은 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 아래의 실시예들은 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 아래의 실시예들로 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하며 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는 "포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 제1, 제2 등의 용어가 다양한 부재, 영역 및/또는 부위들을 설명하기 위하여 사용되지만, 이들 부재, 부품, 영역, 층들 및/또는 부위들은 이들 용어에 의해 한정되어서는 안됨은 자명하다. 이들 용어는 특정 순서나 상하, 또는 우열의 의미하지 않으며, 하나의 부재, 영역 또는 부위를 다른 부재, 영역 또는 부위와 구별하기 위하여만 사용된다. 따라서, 이하 상술할 제1 부재, 영역 또는 부위는 본 발명의 가르침으로부터 벗어나지 않고서도 제2 부재, 영역 또는 부위를 지칭할 수 있다.
이하, 본 발명의 실시예들은 본 발명의 실시예들을 개략적으로 도시하는 도면들을 참조하여 설명한다. 도면들에 있어서, 예를 들면, 제조 기술 및/또는 공차에 따라, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 되며, 예를 들면 제조상 초래되는 형상의 변화를 포함하여야 한다.
도 1은 본 발명의 실시예에 따른 플래시 메모리 장치의 블록도이다.
도 1을 참고하면, 플래시 메모리 장치(MEMA)는 플래시 메모리(MEM) 및 제어부(CTR)를 포함한다. 플래시 메모리(MEM)는 낸드 플래시(NAND flash) 메모리일 수 있다.
제어부(CTR)는 플래시 메모리(MEM)를 제어한다. 즉, 제어부(CTR)는 플래시 메모리(MEM)에 수행되는 전반적인 동작을 제어하거나 관리한다. 제어부(CTR)는 버스(BUS)로 연결되는 호스트 인터페이스(HOST I/F), 메모리 컨트롤러(Mctr) 및 휘발성 메모리(VLM)를 포함할 수 있다.
호스트 인터페이스(HOST I/F)는 호스트의 요청을 수신하여 메모리 컨트롤러(Mctr)에 전달할 수 있다. 호스트의 요청은 기입(write) 요청 또는 독출(read) 요청일 수 있다.
메모리 컨트롤러(Mctr)는 플래시 메모리(MEM)에 접근(access)하고, 플래시 메모리(MEM)에 프로그램, 이레이즈, 독출 등의 동작이 수행되도록 제어한다. 프로그램, 이레이즈, 독출 등은 호스트의 요청에 응답하여 수행되거나, 가비지 컬렉션(garbage collection)에 의해 수행될 수 있다. 가비지 컬렉션은 이레이즈된 자유 블록(free block)이 부족한 경우에 수행될 수 있다.
휘발성 메모리(VLM)에는 플래시 메모리(MEM)에 기입될 프로그램 데이터나 플래시 메모리(MEM)로부터 독출될 프로그램 데이터가 임시로 저장될 수 있다. 또한 휘발성 메모리(VLM)에는 메모리 컨트롤러(Mctr)의 동작에 필요한 정보가 로딩(loading)될 수 있다. 예를 들어, 메타 데이터 등이 로딩될 수 있다. 메타 데이터란 플래시 메모리(MEM) 관리에 필요한 정보이다.
다음 도 2 및 도 3을 참고하여 호스트의 요청이 기입 요청인 경우에 대하여 설명한다.
도 2는 본 발명의 실시예에 따라 호스트의 기입 요청에 응답하여 프로그램을 수행하는 도 1의 플래시 메모리 장치를 나타내는 도면이고, 도 3은 도 2의 플래시 메모리 장치에서 프로그램을 수행하는 방법의 일 예를 나타내는 순서도이다.
도 2 및 도 3을 참고하면, 제어부(CTR)의 메모리 컨트롤러(Mctr)는 호스트의 기입 요청(HWR)에 포함된 논리 주소(LADR)를 제1 블록(BK1) 내 LSB(Least Significant Bit) 페이지(이하, 제1 비트 페이지라고도 함)인 제1 페이지(PG1)에 맵핑한다(S110). 메모리 컨트롤러(Mctr)는 제1 페이지(PG1)를 프로그램한다(S120). 프로그램을 통해, 제1 페이지(PG1)에는 호스트의 기입 요청(HWR)에 포함되는 프로그램 데이터(PDTA)가 저장된다.
도 4는 도 1의 플래시 메모리의 메모리 셀 어레이를 나타내는 도면이다.
도 1 및 도 4를 참고하면, 플래시 메모리 장치(MEMA)의 플래시 메모리(MEM)는 메모리 셀 어레이(MA)를 포함할 수 있다. 메모리 셀 어레이(MA)는 a(a는 1보다 큰 정수)개의 블록들(BLK0~BLKa-1)을 구비하고, 각 블록들(BLK0~BLKa-1)은 b(b는 1보다 큰 정수)개의 페이지들(PAG0~PAGb-1)을 구비하며, 각 페이지들(PAG0~PAGb-1)은 c(c는 1보다 큰 정수)개의 섹터들(SEC0~SECc-1)을 포함할 수 있다. 도 4에서는 도시의 편의를 위해, 0번 블록(BLK0)에 대하여만 페이지들(PAG0~PAGb-1) 및 섹터들(SEC0~SECc-1)을 도시하였으나, 다른 블록들(BLK1~BLKa-1)도 0번 블록(BLK0)과 동일한 구조를 가질 수 있다.
도 1의 플래시 메모리(MEM)는 도 4에서 설명된 메모리 셀 어레이(MA)와 동일한 구조로 동일한 동작을 수행하는 복수의 메모리 셀 어레이들을 구비할 수도 있다.
메모리 셀 어레이(MA)는 복수의 메모리 셀을 포함하는데, 각 메모리 셀은 SLC(Single-Level Cell)이거나, 1비트보다 큰 비트의 MLC(Multi-Level Cell)일 수 있다.
도 5는 도 4의 복수의 블록들 중 하나의 블록의 구현 예를 나타내는 도면이다. 도 5는 도 4의 메모리 셀 어레이(MA)의 메모리 셀이 2비트 MLC라고 가정한 것이다.
도 5를 참고하면, 블록(BLK)은 복수의 워드 라인(WL0~WL7) 및 복수의 비트 라인(BL0~BLd-1)에 대응된다. 블록(BLK)은 비트 라인(BL0~BLd-1) 방향으로, 8개의 메모리 셀(MCEL)들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들로 구비될 수 있다. 각 스트링(STR)은 또한, 각각 직렬로 연결되는 메모리 셀(MCEL)들의 양 끝에 연결되는, 드레인(drain) 선택 트랜지스터(Str1) 및 소스(source) 선택 트랜지스터(Str2)를 포함할 수 있다.
각 메모리 셀(MCEL)이 2비트 MLC인 경우, 각 워드 라인(WL0~WL7)은 LSB(Least Significant Bit) 페이지(LSB PAG) 및 MSB(Most Significant Bit) 페이지(MSB PAG)에 대응된다. 즉, 2비트 MLC인 경우, 블록(BLK) 내 하나의 워드 라인은 2개의 페이지(LSB PAG, MSB PAG)에 대응된다. LSB 페이지(LSB PAG)는 제1 비트 페이지, MSB 페이지(MSB PAG)는 제2 비트 페이지라고도 할 수 있다. 한 쌍의 LSB 페이지(LSB PAG) 및 MSB 페이지(MSB PAG)는 d개의 메모리 셀(MCEL)을 공유한다.
도 6은 도 5의 블록 내 복수의 워드 라인에 대응되는 LSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 5 및 도 6을 참고하면, 블록(BLK) 내 복수의 워드 라인(WL0~WL7) 각각은 한 쌍의 LSB 페이지(LSB PAG) 및 MSB 페이지(MSB PAG)에 대응된다. 각 워드 라인(WL0~WL7)에 대응되는 LSB 페이지(LSB PAG)의 페이지 번호는 MSB 페이지(MSB PAG)의 페이지 번호보다 작다. 예를 들어, 0번 워드 라인(WL0)에는 LSB 페이지(LSB PAG)로 페이지 번호가 0인 0번 페이지(PAG0)와 MSB 페이지(MSB PAG)로 페이지 번호가 2인 2번 페이지(PAG2) 한 쌍이 대응된다.
다만, 도 6은 하나의 예시일 뿐 복수의 워드 라인(WL0~WL7)에 대응되는 LSB 페이지(LSB PAG)의 페이지 번호 및 MSB 페이지(MSB PAG)의 페이지 번호를 제한하는 것은 아니다.
도 1의 플래시 메모리 장치(MEMA)의 플래시 메모리(MEM)가 낸드 플래시 메모리인 경우, 플래시 메모리 장치(MEMA)는 도 5와 같은 구조로 구현될 수 있다.
도 5와 같은 구조를 갖는 플래시 메모리 장치(MEMA)는 블록(BLK) 단위로 이레이즈가 수행되고, 페이지(PAG) 단위로 프로그램이 수행된다. 도 5 및 도 6은 하나의 블록에 8개의 워드 라인들(WL0~WL7)에 대응되는 16개의 페이지(PAG)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이(MA)의 블록(BLK)은 도 5 및 도 6에 도시되는 메모리 셀(MCEL) 및 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다.
또한, 도 5 및 도 6은 2비트 MLC를 가정한 것이나, 메모리 셀(MCEL)은 SLC이거나, 2비트보다 큰 비트의 MLC일 수도 있다. SLC인 경우, 블록(BLK) 내 복수의 워드 라인(WL0~WL7) 각각은 하나의 페이지에 대응된다. 3비트 MLC인 경우, 복수의 워드 라인(WL0~WL7) 각각은 LSB 페이지, CSB(Center Significant bit) 페이지, MSB 페이지에 대응된다. 메모리 셀(MCEL)의 종류에 따라 각 워드 라인(WL0~WL7)에 대응되는 페이지의 개수가 달라지는 점을 제외하면, SLC 및 2비트보다 큰 비트의 MLC에도 도 5의 블록 구조가 동일하게 적용될 수 있다.
도 7은 도 1의 플래시 메모리의 메모리 셀의 산포를 나타내는 도면이다. 도 1의 플래시 메모리(MEM)가 도 5와 같은 구조의 메모리 셀(MCEL)들을 포함하는 경우, 도 5의 메모리 셀(MCEL)들은 각각 프로그램되어 있는 프로그램 데이터의 비트의 개수에 따라, 도 7과 같은 산포 중 하나의 산포에 포함되는 문턱 전압(Vth)을 가질 수 있다.
도 7의 (a)는 메모리 셀(MCEL)들이 각각 하나의 비트로 프로그램되는 SLC인 경우의 셀 산포를 나타내고, 도 7의 (b)는 메모리 셀(MCEL)들이 각각 2비트로 프로그램되는 2비트 MLC인 경우의 셀 산포를 나타내며, 도 7의 (c)는 메모리 셀(MCEL)들이 각각 3비트로 프로그램되는 3비트 MLC인 경우의 셀 산포를 나타낸다.
메모리 셀(MCEL)들 각각은, 프로그램된 데이터의 값에 따라, SLC인 경우 이레이즈 상태(E) 및 프로그램 상태(P) 중 하나의 상태에 포함되는 문턱 전압을 갖고, 2비트 MLC인 경우 이레이즈 상태(E) 및 제1 프로그램 상태(P1) 내지 제3 프로그램 상태(P3) 중 하나의 상태에 포함되는 문턱 전압을 가지며, 3비트 MLC인 경우 이레이즈 상태(E) 및 제1 프로그램 상태(P1) 내지 제7 프로그램 상태(P7) 중 하나의 상태에 포함되는 문턱 전압을 갖는다.
그러나, 이에 한정되는 것은 아니고, 메모리 셀(MCEL)들 각각은 3비트보다 큰 비트로 프로그램될 수 있다. 또한, 도 1의 플래시 메모리(MEM)는 서로 다른 개수의 비트로 프로그램되는 메모리 셀(MCEL)들을 포함할 수도 있다.
본 발명의 실시예에 따른 플래시 메모리 장치의 플래시 메모리는 MLC를 포함한다. 다만, 본 발명의 실시예에 따른 플래시 메모리는 SLC 및 MLC를 모두 포함할 수 있다. 또한, 본 발명의 실시예에 따른 플래시 메모리(MEM)는 서로 다른 개수의 비트의 MLC를 포함할 수도 있다.
이하, 본 발명의 실시예에 따른 플래시 메모리 장치의 플래시 메모리는 2비트 MLC를 포함하는 경우를 위주로 설명한다. 다만, 이는 설명의 편의를 위해서이고, 본 발명의 실시예에 따른 플래시 메모리 장치는 2비트 보다 큰 비트의 MLC를 포함하는 경우에도 적용될 수 있다.
다시 도 5를 참고하면, 먼저 LSB 페이지(LSB PAG)가 프로그램되어 하나의 메모리 셀(MCEL)에는 1비트의 정보가 구현된다. 다음 MSB 페이지(MSB PAG)가 프로그램되어 하나의 메모리 셀(MCEL)에는 2비트의 정보가 구현될 수 있다. 이를 통해, 2비트 MLC인 하나의 메모리 셀(MCEL)에는 2개의 비트가 할당될 수 있다.
2보다 큰 N비트 MLC인 하나의 메모리 셀(MCEL)에는 N비트가 할당될 수 있다. 하나의 LSB 페이지, 적어도 하나(N-2)의 CSB 페이지 및 MSB 페이지의 순서로 프로그램되어 하나의 메모리 셀(MCEL)에는 N비트의 정보가 구현될 수 있다. 이하, LSB 페이지(LSB PAG)는 제1 비트 페이지, 적어도 하나(N-2)의 CSB 페이지 및 MSB 페이지는 제2 비트 페이지라고도 할 수 있다.
도 8은 2비트 MLC에서 LSB 페이지가 프로그램된 메모리 셀들의 산포 및 MSB 페이지가 프로그램된 메모리 셀들의 산포를 나타내는 도면이다.
도 8을 참고하면, LSB 페이지가 프로그램된 메모리 셀들은 이레이즈 상태(E) 및 프로그램 상태(P) 중 하나의 상태로 프로그램된다. 이레이즈 상태(E)의 메모리 셀 및 프로그램 상태(P)의 메모리 셀은 각각 1비트 정보인 "1" 및 "0"을 나타낼 수 있다.
LSB 페이지를 프로그램한 후 MSB 페이지가 프로그램된 경우, MSB 페이지가 프로그램된 메모리 셀들은 이레이즈 상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2) 및 제3 프로그램 상태(P3) 중 하나의 상태로 프로그램된다.
이레이즈 상태(E)의 메모리 셀, 제1 내지 제3 프로그램 상태(P1~P3)의 메모리 셀은 각각 2비트 정보인 "11", "10", "00" 및 "01"을 나타낼 수 있다. 예를 들어, 메모리 셀이 "10"을 나타내는 경우, LSB인 "1"은 LSB 페이지에 대한 정보이고, MSB인 "0"은 MSB 페이지에 대한 정보이다.
만일 LSB 페이지를 프로그램한 후 MSB 페이지를 프로그램하지 않는다면, LSB 페이지만 프로그램된 메모리 셀들의 산포 특성은 도 7의 (a)의 SLC의 셀 산포의 특성을 나타낸다.
다시 도 2 및 도 3을 참고하여, 호스트의 기입 요청에 응답하여 프로그램을 수행하는 방법을 상술한다.
다시 도 2 및 도 3을 참고하면, 호스트 인터페이스(HOST I/F)는 호스트로부터 호스트의 기입 요청(HWR)을 수신하여 메모리 컨트롤러(Mctr)로 전송한다. 호스트의 기입 요청(HWR)은 논리 주소(LADR) 및 프로그램 데이터(PDTA)를 포함할 수 있다.
메모리 컨트롤러(Mctr)는 프로그램 데이터(PDTA)를 휘발성 메모리(VLM)에 임시로 저장할 수 있다. 또한, 휘발성 메모리(VLM)에는 메타 데이터(MD)가 로딩될 수 있다.
메모리 컨트롤러(Mctr)는 호스트의 기입 요청(HWR)에 포함된 논리 주소(LADR)를 제1 블록(BK1) 내 LSB 페이지인 제1 페이지(PG1)에 맵핑한다(S110). 즉, 메모리 컨트롤러(Mctr)은 논리 주소(LADR)를 제1 블록(BK1) 내 제1 페이지(PG1)를 지시하는 물리 주소(BK1-PG1)로 변환할 수 있다.
제1 블록(BK1)은 플래시 메모리(MEM)에 포함되는 복수의 블록(도 4의 BLK0~BLKa-1) 중 하나이다. 제1 블록(BK1)은 도 5의 블록(BLK)과 같은 구조를 가질 수 있다.
제1 페이지(PG1)는 제1 블록(BK1)에 포함되는 복수의 페이지(도 4의 PAG0~PAGb-1) 중 하나이다. 또한, 제1 페이지(PG1)는 LSB 페이지이다. 제1 블록(BK1)이 도 5 및 도 6의 구조를 갖는 경우, 제1 블록(BK1)은 16개의 페이지(PAG0~PAG15)를 포함하고, 16개의 페이지(PAG0~PAG15) 중 LSB 페이지는 0, 1, 3, 5, 7, 9, 11, 13번 페이지(PAG0, PAG1, PAG3, PAG7, PAG9, PAG11, PAG13)이다. 따라서 LSB 페이지인 제1 페이지(PG1)는 0, 1, 3, 5, 7, 9, 11, 13번 페이지(PAG0, PAG1, PAG3, PAG7, PAG9, PAG11, PAG13) 중 하나일 수 있다.
메모리 컨트롤러(Mctr)의 논리 주소(LADR)-물리 주소(BK1-PG1) 변환 동작은 휘발성 메모리(VLM)에 로딩된 메타 데이터(MD)를 기반으로 수행될 수 있다. 이때, 메모리 컨트롤러(Mctr)는 논리 주소(LADR)에 대응되는 제1 블록(BK1)의 제1 페이지(PG1)가 MSB 페이지가 되지 않도록 메타 데이터(MD)를 관리할 수 있다. 즉, 제1 블록(BK1)이 도 5 및 도 6의 구조를 갖는 경우, 메모리 컨트롤러(Mctr)는 제1 페이지(PG1)가 MSB 페이지(MSB PAG)인 2, 4, 6, 8, 10, 12, 14, 15번 페이지(PAG2, PAG4, PAG6, PAG8, PAG10, PAG12, PAG14, PAG15)가 되지 않도록 메타 데이터(MD)를 관리할 수 있다.
메모리 컨트롤러(Mctr)는 호스트의 기입 요청(HWR)에 응답하여 기입 제어 신호(WCON)을 생성할 수 있다. 기입 제어 신호(WCON)는 제1 블록(BK1) 내 제1 페이지(PG1)를 지시하는 물리 주소(BK1-PG1) 및 프로그램 데이터(PDTA)를 포함할 수 있다.
메모리 컨트롤러(Mctr)는 기입 제어 신호(WCON)를 기반으로 플래시 메모리(MEM) 내 제1 블록(BK1) 내 제1 페이지(PG1)에 접근할 수 있다. 메모리 컨트롤러(Mctr)는 제1 페이지(PG1)에 프로그램 데이터(PDTA)가 저장되도록 제1 페이지(PG1)를 프로그램한다(S120).
도 9는 도 2의 플래시 메모리 장치에서 호스트의 복수의 기입 요청에 응답하여 프로그램을 수행하는 방법의 일 예를 나타내는 표이고, 도 10은 도 9의 표에 의해 프로그램된 페이지를 포함하는 제1 블록을 나타내는 도면이다.
도 9 및 도 10은 도 2의 제1 블록(BK1)이 도 5 및 도 6의 2비트 MLC인 복수의 메모리 셀(MCEL)을 포함하는 블록(BLK)과 같은 구조인 것으로 가정한 것이다. 또한, 도 9 및 도 10은 호스트의 복수의 기입 요청(HWR1~HWR6)에 응답하여 복수의 페이지(PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)가 프로그램된 것으로 가정한 것이다.
도 9 및 도 10을 참고하면, 호스트의 제1 기입 요청(HWR1)의 제1 페이지(PG1)는 제1 블록(BK1) 내 LSB 페이지(LSB PAG)인 0번 페이지(PAG0)이다. 0번 페이지(PAG0)는 0번 워드 라인(WL1)에 대응되는 LSB 페이지(LSB PAG)이다. 호스트의 제1 기입 요청(HWR1)에 포함되는 논리 주소는 제1 블록(BK1) 내 LSB 페이지(LSB PAG)인 0번 페이지(PAG0)에 맵핑된다. 호스트의 제1 기입 요청(HWR1)에 포함되는 0번 프로그램 데이터(PDTA0)는 4비트 정보인 "1000"일 수 있다.
0번 페이지(PAG0)는 0번 워드 라인(WL0)에 대응되는 LSB 페이지(LSB PAG)이다. 0번 페이지(PAG0)는 호스트의 제1 기입 요청(HWR1)에 응답하여 "1000"의 정보가 저장되도록 프로그램된다. 0번 페이지(PAG0)에 대응되는 메모리 셀(MCEL)이 4개라고 가정할 경우, 0번 페이지(PAG0)의 프로그램을 통해 4개의 메모리 셀(MCEL)은 각각 1비트의 정보(1, 0, 0, 0)를 나타낼 수 있다.
호스트의 제2 기입 요청(HWR2)의 제1 페이지(PG1)는 1번 워드 라인(WL1)에 대응되는 LSB 페이지(LSB PAG)인 1번 페이지(PAG1)이고, 호스트의 제2 기입 요청(HWR2)의 1번 프로그램 데이터(PDTA1)는 4비트 정보인 "1001"일 수 있다. 1번 페이지(PAG1)는 "1000"의 정보가 저장되도록 프로그램되고, 1번 페이지(PAG1)에 대응되는 4개의 메모리 셀은 각각 1비트의 정보(1, 0, 0, 1)를 나타낼 수 있다.
호스트의 제3 기입 요청(HWR3)의 제1 페이지(PG1)는 2번 워드 라인(WL2)에 대응되는 LSB 페이지(LSB PAG)인 3번 페이지(PAG3)이고, 호스트의 제3 기입 요청(HWR3)의 3번 프로그램 데이터(PDTA3)는 4비트 정보인 "1010"일 수 있다. 3번 페이지(PAG3)는 "1010"의 정보가 저장되도록 프로그램되고, 3번 페이지(PAG3)에 대응되는 4개의 메모리 셀은 각각 1비트의 정보(1, 0, 1, 0)를 나타낼 수 있다.
호스트의 제3 기입 요청(HWR3)에 의해 0번 워드 라인(WL0)에 대응되는 MSB 페이지(MSB PAG)인 2번 페이지(PAG2)는 프로그램되지 않고 스킵(skip)된다. 따라서 제1 블록(BK1)은 2비트 MLC인 복수의 메모리 셀(MCEL)을 포함하나, 0번 페이지에 대응되는 메모리 셀(MCEL)들은 각각 1비트의 정보만을 나타내게 된다.
이와 같은 방식으로 호스트의 제4 내지 제6 기입 요청(HWR4~HWR6)에 대해서도 LSB 페이지(LSB PAG)인 5번, 7번, 9번 페이지(PAG5, PAG7, PAG9)에 각각 프로그램 데이터(PDTA5, PDTA7, PDTA9)가 프로그램된다.
정리하면, N비트(N은 1보다 큰 정수) MLC인 복수의 메모리 셀을 포함하는 플래시 메모리에서, 호스트의 M(M은 0보다 큰 정수)개의 기입 요청(HWR1~HWR6)에 응답하여 M개의 제1 페이지들(PAG1; PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)이 프로그램된다. M개의 제1 페이지들(PAG1; PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)은 모두 LSB 페이지이다. 이하, N비트 MLC인 복수의 메모리 셀(MCEL) 중 M개의 제1 페이지들(PAG1; PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)에 대응되는 메모리 셀들을 복수의 제1 메모리 셀(MCEL1)이라 한다.
복수의 제1 메모리 셀(MCEL1)은 각각 1비트의 정보를 나타낸다. M개의 제1 페이지들(PAG1; PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)과 제1 메모리 셀(MCEL1)을 공유하는 M*(N-1)개의 페이지들(PAG2, PAG4, PAG6, PAG8, PAG10, PAG12)이 프로그램되지 않기 때문이다.
제1 블록(BK1)은 호스트의 복수의 요청(HWR1~HWR6)에 응답하여 LSB 페이지인 복수의 제1 페이지(PAG1; PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)만이 프로그램된다. 제1 블록(BK1)의 복수의 제1 페이지들(PAG1; PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)이 프로그램되는 순서는 페이지 번호가 증가하는 순서일 수 있다. 다만, 복수의 제1 페이지(PAG1; PAG0, PAG1, PAG3, PAG5, PAG7, PAG9)가 프로그램되는 순서는 페이지 번호가 불연속적으로 증가하는 순서일 수 있다.
만일, 제1 블록(BK1)이 0번 페이지(PAG0), 1번 페이지(PAG1), 2번 페이지(PAG2), 3번 페이지(PAG3)의 순서로 프로그램된다면, 제1 블록(BK1)의 페이지들이 프로그램되는 순서는 페이지 번호가 연속적으로 증가하는 순서이다. 그러나 제1 블록(BK1)에서는 MSB 페이지(MSB PAG)인 2번 페이지(PAG2)가 프로그램되지 않으므로, 제1 블록(BK1)의 페이지들이 프로그램되는 순서는 페이지 번호가 불연속적으로 증가하는 순서일 수 있다.
제1 블록(BK1)은 페이지 번호가 불연속적으로 증가하도록 프로그램되나, 제1 블록(BK1)은 워드 라인 번호가 증가하는 순서, 즉, 0번 워드 라인(WL0), 1번 워드 라인(WL1), 2번 워드 라인(WL2)의 순서로 프로그램될 수 있다.
호스트의 기입 요청(HWR)에 응답하여 MSB 페이지(MSB PAG)를 프로그램하지 않는 경우의 효과를 설명하기 위해, 호스트의 기입 요청(HWR)에 응답하여 MSB 페이지(MSB PAG)가 프로그램되는 경우를 가정하여 설명한다.
호스트의 기입 요청(HWR)에 응답하여 MSB 페이지(MSB PAG)의 프로그램 수행 중 갑작스런 파워 오프(power off)가 발생하면, MSB 페이지(MSB PAG)에 저장될 프로그램 데이터뿐 아니라 LSB 페이지(LSB PAG)에 이미 저장된 프로그램 데이터가 손상될 수 있다. 따라서 LSB 페이지(LSB PAG)를 독출(read)할 때 LSB 페이지(LSB PAG)에 기입된 프로그램 데이터와는 다른 프로그램 데이터가 읽힐 수 있다. 이를 MSB 페이지-LSB 페이지 간섭 현상이라 한다.
예를 들어, LSB 페이지(LSB PAG)인 0번 페이지(PAG0)에 프로그램 데이터(PDTA0)를 프로그램한 후, 0번 페이지(PAG0)와 쌍을 이루는 MSB 페이지(MSB PAG)인 2번 페이지(PAG2)의 프로그램이 수행 중 파워 오프가 발생한다고 가정한다. 이 경우, 2번 페이지(PAG2)에 저장하려고 했던 프로그램 데이터뿐만 아니라 이미 0번 페이지(PAG0)에 저장된 프로그램 데이터(PDTA0)가 손상될 수 있다.
또한 호스트의 기입 요청(HWR)에 포함되는 프로그램 데이터(PDTA)는 휘발성 메모리(도 1의 VLM)에 임시 저장되므로, 파워 오프 시에는 휘발성 메모리(도 1의 VLM)에 저장된 프로그램 데이터(PDTA)는 지워진다. 따라서 MSB 페이지-LSB 페이지 간섭 현상에 의해 LSB 페이지(LSB PAG)에 저장된 프로그램 데이터(PDTA)가 손상되면 복구할 수 없는 문제가 발생한다.
이런 MSB 페이지-LSB 페이지 간섭 현상을 해결하기 위해, MSB 페이지(MSB PAG)가 프로그램되기 전 LSB 페이지(LSB PAG)에 저장된 프로그램 데이터가 다른 블록에 백업(back up)될 수도 있다. 그러나 백업은 플래시 메모리 장치에 불필요한 동작의 오버헤드를 발생시킨다.
본 발명의 실시예에 따라 호스트의 기입 요청(HWR)에 응답하여 LSB 페이지(LSB PAG)만을 프로그램하고, MSB 페이지(MSB PAG)는 프로그램하지 않을 경우, 백업과 같은 불필요한 동작 없이도 MSB 페이지-LSB 페이지 간섭 현상을 해결할 수 있다. 따라서 데이터 완전성(data integrity)이 보장될 수 있다. 즉, 본 발명의 실시예에 따르면, 동작의 오버헤드 없이 플래시 메모리 장치(MEMA)의 신뢰성이 보장될 수 있다.
다음 도 11 및 도 12를 참고하여 가비지 컬렉션에 대하여 설명한다.
도 11은 본 발명의 실시예에 따라 가비지 컬렉션을 수행하는 도 1의 플래시 메모리 장치를 나타내는 도면이고, 도 12는 도 11의 플래시 메모리 장치에서 가비지 컬렉션의 수행 방법의 일 예를 나타내는 순서도이다.
도 11 및 도 12를 참고하면, 제어부(CTR)의 메모리 컨트롤러(Mctr)는 플래시 메모리(MEM) 내 소스 블록(SBL)에 포함되는 n(n은 1보다 큰 정수)개의 유효 페이지들을 타깃 블록(TBL)에 복사한다(S210). 이때, 소스 블록(SBL)에 포함되는 n개의 유효 페이지들은 타깃 블록(TBL) 내 연속하는 n개의 제2 페이지들에 복사한다.
메모리 컨트롤러(Mctr)는 타깃 블록(TBL)에 간섭 방지 페이지를 설정한다(S220). 타깃 블록(TBL)에 간섭 방지 페이지가 설정되면, 메모리 컨트롤러(Mctr)는 소스 블록(SBL)을 이레이즈할 수 있다(S230). 소스 블록(SBL)의 유효 페이지들이 복사된 타깃 블록(TBL) 내 연속하는 n개의 제2 페이지들은 간섭 방지 페이지에 의해 보호될 수 있기 때문이다.
이레이즈된 소스 블록(SBL)은 자유 블록이 된다. 소스 블록(SBL)은 제2 블록, 타깃 블록(TBL)은 제3 블록이라고도 한다.
가비지 컬렉션 동작은 가비지 컬렉션 제어 신호(GCON)를 기반으로 수행될 수 있다. 가비지 컬렉션 제어 신호(GCON)는 소스 블록(SBL) 및 타깃 블록(TBL)을 지시하는 정보를 포함할 수 있다.
도 13은 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 일 예를 나타내는 도면이고, 도 14는 도 13의 소스 블록의 유효 페이지와 타깃 블록의 페이지와의 대응 관계를 나타내는 표이고, 도 15 내지 도 17은 도 14의 표에 따라 타깃 블록의 페이지가 프로그램되는 과정을 나타내는 표이다.
도 13 내지 도 17에서는 도 11의 소스 블록(SBL) 및 타깃 블록(TBL)이 도 5 및 도 6의 2비트 MLC인 복수의 메모리 셀(MCEL)을 포함하는 블록(BLK)과 같은 구조인 것으로 가정한 것이다.
도 13을 참고하면, 소스 블록(SBL)은 복수의 프로그램된 페이지들(PAG0, PAG1, PAG3, PAG5, PAG7, PAG9, PAG11)을 포함한다. 소스 블록(SBL) 내 복수의 프로그램된 페이지들(PAG0, PAG1, PAG3, PAG5, PAG7, PAG9, PAG11)은 유효한 프로그램 데이터(PDTA0s, PDTA7s, PDTA11s)가 저장되어 있는 유효(valid) 페이지(PAG0, PAG7, PAG11)이거나, 무효 데이터(INVD)가 저장되어 있는 무효(invalid) 페이지(PAG1, PAG3, PAG5, PAG9)일 수 있다.
무효 페이지란 무효 데이터(INVD)가 저장되어 있어 새로운 프로그램 데이터가 기입될 수 없는 페이지이다. 소스 블록(SBL)의 무효 페이지(PAG1, PAG3, PAG5, PAG9)는 플래시 메모리의 특성으로 인해 발생할 수 있다. 예를 들어, 소스 블록(SBL)의 1번 페이지(PAG1)에 초기(primary) 프로그램 데이터가 프로그램된 이후, 초기 프로그램 데이터가 업데이트된 업데이트 데이터의 기입을 지시하는 호스트의 요청이 발생할 수 있다. 이때, 초기 프로그램 데이터가 저장되어 있는 1번 페이지(PAG1)가 이레이즈되지 않으면, 1번 페이지(PAG1)에 업데이트 데이터가 기입될 수 없다. 이레이즈는 블록 단위로 수행되므로, 플래시 메모리 장치는 소스 블록(SBL)을 바로 이레이즈하지 않고, 1번 페이지(PAG1) 대신 새로운 페이지를 할당하고, 새로운 페이지에 업데이트 데이터를 프로그램할 수 있다. 이때, 1번 페이지(PAG1)에 저장되어 있는 초기 프로그램 데이터는 무효 데이터(INVD)가 된다.
소스 블록(SBL) 내 프로그램된 페이지들(PAG0, PAG1, PAG3, PAG5, PAG7, PAG9, PAG11)은 호스트의 기입 요청에 응답하여 프로그램된 페이지들일 수 있다. 이 경우, 소스 블록(SBL) 내 프로그램된 페이지들(PAG0, PAG1, PAG3, PAG5, PAG7, PAG9, PAG11)은 모두 LSB 페이지(LSB PAG, 도 6 참조)이다. 다만, 도 13은 예시일 뿐, 소스 블록(SBL) 내 프로그램된 페이지들이 모두 LSB 페이지(LSB PAG)로 제한되는 것은 아니다.
타깃 블록(TBL)은 가비지 컬렉션 수행 전, 즉 소스 블록(SBL)의 유효 페이지(PAG0, PAG7, PAG11)가 복사되기 전에는 이레이즈된 블록일 수 있다.
소스 블록(SBL)에 포함되는 n개의 유효 페이지들(PAG0, PAG7, PAG11)에 저장된 프로그램 데이터(PDTA0s, PDTA7s, PDTA11s)는 타깃 블록(TBL) 내 연속하는 n개의 페이지들(PAG0~PAG2)에 복사된다. 타깃 블록(TBL) 내 연속하는 n개의 페이지들(PAG0~PAG2)은 페이지 번호가 연속하는 페이지들이고, LSB 페이지(LSB PAG; PAG0, PAG1) 및 MSB 페이지(MSB PAG; PAG2)를 포함할 수 있다. 즉, 가비지 컬렉션의 타깃 블록(TBL)은 LSB 페이지(LSB PAG; PAG0, PAG1) 및 MSB 페이지(MSB PAG; PAG2)가 모두 프로그램될 수 있다. 이하, 타깃 블록(TBL) 내 연속하는 n개의 페이지들(PAG0~PAG2)을 복수의 제2 페이지(PG2)라고도 한다.
도 13 및 도 14를 참고하면, 소스 블록(SBL)에 포함되는 n개의 유효 페이지들(PAG0, PAG7, PAG11)은 각각 타깃 블록(TBL) 내 연속하는 복수의 제2 페이지(PG2; PAG0~PAG2)에 대응된다. 예를 들어, 소스 블록(SBL)의 7번 페이지(PAG7)에는 프로그램 데이터(PDTA7s) "1100"이 저장되어 있다. 소스 블록(SBL)의 7번 페이지(PAG7)에 저장되어 있는 프로그램 데이터(PDTA7s) "1100"은 타깃 블록(TBL)의 1번 페이지(PAG1)에 복사되어야 한다.
다만 도 13 및 14는 예시일 뿐 소스 블록(SBL)에 포함되는 n개의 유효 페이지들(PAG0, PAG7, PAG11)과 타깃 블록(TGL) 내 연속하는 n개의 제2 페이지(PG2; PAG0~PAG2)의 대응 관계를 제한하는 것은 아니다. 또한, 도 13 및 도 14는 소스 블록(SBL)의 유효 페이지들(PAG0, PAG7, PAG11)이 모두 타깃 블록(TBL)으로 복사되는 것으로 나타내었으나, 소스 블록(SBL)의 유효 페이지들은 서로 다른 타깃 블록들에 복사될 수도 있다.
도 13 내지 도 17 참고하면, 타깃 블록(TBL)의 복수의 제2 페이지(PG2; PAG0~PAG2)는 페이지 번호가 연속적으로 증가하는 순서로 프로그램된다. 따라서 타깃 블록(TBL)은 0번, 1번, 2번 페이지(PAG0, PAG1, PAG2)의 순서로 프로그램된다. 프로그램 전의 타깃 블록(TBL)은 이레이즈 상태이므로 타깃 블록(TBL)의 모든 메모리 셀(MCEL)은 "1"의 정보를 나타낸다.
먼저 도 15와 같이, 타깃 블록(TBL)의 LSB 페이지(LSB PAG)인 0번 페이지(PAG0)에는 소스 블록(SBL)의 0번 페이지(PAG0)에 저장되어 있는 프로그램 데이터(PDTA0s) "1001"의 정보가 저장되도록 프로그램된다. 타깃 블록(TBL)의 0번 페이지(PAG0)에 대응되는 메모리 셀(MCEL)이 4개라고 가정할 경우, 0번 페이지(PAG0)의 프로그램을 통해 4개의 메모리 셀(MCEL)은 각각 1비트의 정보(1, 0, 0, 1)를 나타낼 수 있다.
다음 도 16과 같이, 타깃 블록(TBL)의 LSB 페이지(LSB PAG)인 1번 페이지(PAG1)에는 소스 블록(SBL)의 7번 페이지(PAG7)에 저장되어 있는 프로그램 데이터(PDTA7s) "1100"의 정보가 저장되도록 프로그램된다. 타깃 블록(TBL)의 1번 페이지(PAG1)에 대응되는 4개의 메모리 셀(MCEL)은 각각 1비트의 정보(1, 1, 0, 0)를 나타낼 수 있다.
다음 도 17과 같이, 타깃 블록(TBL)의 MSB 페이지(MSB PAG)인 2번 페이지(PAG2)에는 소스 블록(SBL)의 11번 페이지(PAG11)에 저장되어 있는 프로그램 데이터(PDTA11s) "1100"의 정보가 저장되도록 프로그램되어야 한다. 이때, MSB 페이지(MSB PAG)인 2번 페이지(PAG2)는 LSB 페이지(LSB PAG)인 0번 페이지(PAG0)와 한 쌍을 이루며 0번 워드 라인(WL0)에 대응된다. 타깃 블록(TBL)의 0번 페이지(PAG0)의 프로그램(도 15) 후 2번 페이지(PAG2)의 프로그램을 통해, 타깃 블록(TBL)의 0번 및 2번 페이지(PAG0, PAG2)에 대응되는 4개의 메모리 셀(MCEL)은 각각 2비트의 정보(10, 00, 01, 10)를 나타낼 수 있다. "01"을 나타내는 메모리 셀(MCEL)에서, LSB인 "0"은 LSB 페이지인 0번 페이지(PAG0)에 대한 정보이고, MSB인 "1"은 MSB 페이지인 2번 페이지(PAG2)에 대한 정보일 수 있다.
타깃 블록(TBL)에 포함되는 복수의 메모리 셀(MCEL) 중 복수의 제2 페이지(PG2; PAG0~PAG2)에 대응되는 복수의 메모리 셀들을 복수의 제2 메모리 셀(MCEL2)이라 한다. 2비트 MLC인 복수의 메모리 셀(MCEL)을 포함하고, 가비지 컬렉션이 수행된 타깃 블록(TBL)에서, 복수의 제2 메모리 셀(MCEL2) 각각은 1비트 또는 2비트의 정보를 나타낸다.
정리하면, N비트(N은 1보다 큰 정수) MLC인 복수의 메모리 셀(MCEL)을 포함하고, 가비지 컬렉션이 수행된 타깃 블록(TBL)에서, 복수의 제2 메모리 셀(MCEL2) 각각은 p(p=1, 2, ..., N)비트의 정보를 나타낼 수 있다.
가비지 컬렉션에 의한 프로그램의 경우, 호스트의 기입 요청과 달리 타깃 블록(TBL) 내 MSB 페이지(PAG2)도 프로그램된다. 가비지 컬렉션의 경우, 소스 블록(SBL)의 유효 페이지들(PAG0, PAG7, PAG11)이 타깃 블록(TBL)에 복사되는 동안에는 MSB 페이지-LSB 페이지 간섭 현상이 발생하더라도 원본 프로그램 데이터(PDTA0s, PDTA7s, PDTA11s)가 소스 블록(SBL)에 저장되어 있다.
예를 들어, 타깃 블록(TBL) 내 LSB 페이지(LSB PAG)인 0번 페이지(PAG0)에 프로그램 데이터(PDTA0s)가 프로그램된 후, 타깃 블록(TBL) 내 MSB 페이지(MSB PAG)인 2번 페이지(PAG2)의 프로그램 수행 중 0번 페이지(PAG0)에 저장된 프로그램 데이터(PDTA0s)가 손상될 수 있다. 그런데, 타깃 블록(TBL)에서 손상된 프로그램 데이터(PDTA0s)는 소스 블록(SBL)의 0번 페이지(PAG0)에 남아 있으므로 다시 복구될 수 있다.
또한, 소스 블록(SBL) 내 프로그램된 페이지들(PAG0, PAG1, PAG3, PAG5, PAG7, PAG9, PAG11)이 모두 LSB 페이지(LSB PAG)라 하더라도, 가비지 컬렉션을 통해 타깃 블록(TBL)에는 연속하는 복수의 제2 페이지(PG2)가 프로그램되므로, LSB 페이지(LSB PAG) 및 MSB 페이지(MSB PAG)가 모두 프로그램될 수 있다. 따라서 호스트의 기입 요청에 응답하여 LSB 페이지(LSB PAG)만이 프로그램되더라도, 가비지 컬렉션을 통해 LSB 페이지(LSB PAG) 및 MSB 페이지(MSB PAG)가 모두 사용될 수 있다. 이를 통해, MLC 저장 용량의 효율성이 유지될 수 있다.
소스 블록(SBL)에 포함되는 n개의 유효 페이지들(PAG0, PAG7, PAG11)이 타깃 블록(TBL) 내 연속하는 n개의 제2 페이지(PAG2; PAG0~PAG2)에 복사된 이후, 타깃 블록(TBL)의 3번 내지 6번 페이지들(PAG3~PAG6)은 간섭 방지 페이지(IBPAG)로 설정될 수 있다. 타깃 블록(TBL) 내 간섭 방지 페이지(IBPAG)로 설정되는 3번 내지 6번 페이지들(PAG3~PAG6)은 프로그램되지 않을 수 있다.
타깃 블록(TBL) 내 연속하는 n개의 제2 페이지(PAG2)인 i(i는 0 이상의 정수)번 페이지(PAG0) 내지 i+n-1번 페이지[PAG2(i=0, n=3)]에 대응되는 복수의 워드 라인들(WL0~WL2) 중 워드 라인 번호가 가장 높은 워드 라인을 m(m은 0 이상의 정수)번 워드 라인(WL1)이라고 한다.
간섭 방지 페이지(IBPAG)는 i+n번 페이지(PAG3)부터 m+1번 워드 라인(WL2)에 대응되는 MSB 페이지인 k(k는 i+n-1보다 큰 정수)번 페이지(PAG6)를 포함할 수 있다.
소스 블록(SBL)과 타깃 블록(TBL) 사이에 가비지 컬렉션이 완료된 이후, 타깃 블록(TBL)은 간섭 방지 페이지(IBPAG; PAG3~PAG6)의 다음 페이지인 k+1번 페이지(PAG7)부터 프로그램될 수 있다.
간섭 방지 페이지(IBPAG; PAG3~PAG6)가 설정되는 이유는 인접하는 워드 라인 간 워드 라인 브리지(word line bridge)로 인해 프로그램 데이터가 손상되는 것을 방지하기 위해서이다.
간섭 방지 페이지(IBPAG; PAG3~PAG6) 설정으로 인한 효과를 설명하기 위해, 간섭 방지 페이지(IBPAG; PAG3~PAG6)가 설정되지 않는 경우를 가정하여 설명한다. 간섭 방지 페이지(IBPAG; PAG3~PAG6)가 설정되지 않으면, 소스 블록(SBL)과 타깃 블록(TBL) 사이에 가비지 컬렉션이 완료된 이후, 소스 블록(SBL)은 이레이즈되고, 타깃 블록(TBL)은 3번 페이지(PAG3)부터 프로그램이 가능하다. 타깃 블록(TBL)의 MSB 페이지(MSB PAG)인 4번 페이지(PAG4)의 프로그램 도중, MSB 페이지-LSB 페이지 간섭 현상에 의해 1번 페이지(PAG1)의 프로그램 데이터가 손상될 수 있다. 또한, 1번 워드 라인(WL1)의 4번 페이지(PAG4)의 프로그램 도중, 워드 라인 브리지에 의해 인접하는 0번, 2번 워드 라인(WL0, WL2)에 대응되는 페이지(PAG0, PAG2, PAG3)의 프로그램 데이터가 손상될 수 있다. 특히, 타깃 블록(TBL)의 0번, 2번 페이지(PAG0, PAG2)에는 소스 블록(SBL)의 유효 페이지(PAG0, PAG11)의 프로그램 데이터(PDTA0s, PDTA11s)가 저장되어 있다. 그런데, 소스 블록(SBL)은 가비지 컬렉션 완료로 이레이즈되므로, 타깃 블록(TBL)의 0번, 2번 페이지(PAG0, PAG2)가 가비지 컬렉션 이후 워드 라인 브리지로 손상되면 복구될 수 없는 문제가 발생한다.
본 발명의 실시예에 따라 간섭 방지 페이지(IBPAG; PAG3~PAG6)를 설정하면, 소스 블록(SBL)의 유효 페이지들(PAG0, PAG7, PAG11)이 복사된 타깃 블록(TBL)의 제2 페이지들(PAG2: PAG0~PAG2)이 손상되는 것을 방지할 수 있다. 타깃 블록(TBL)은 간섭 방지 페이지(IBPAG; PAG3~PAG6)의 다음 페이지인 7번 페이지(PAG7)부터 프로그램되고, 3번 워드 라인(WL3)에 대응되는 MSB 페이지(MSB PAG)인 8번 페이지(PAG8)가 프로그램될 때, 제2 페이지들(PAG2: PAG0~PAG2)은 워드 라인 브리지로 인해 손상되지 않는다. 8번 페이지(PAG8)에 대응되는 3번 워드 라인(WL3)은 제2 페이지들(PAG2: PAG0~PAG2)에 대응되는 0 내지 1번 워드 라인(WL0~WL1)과 인접하지 않기 때문이다.
도 18은 가비지 컬렉션 이후 간섭 방지 페이지 중 LSB 페이지에 대응되는 메모리 셀들의 산포의 일 예를 나타내는 도면이다. 도 18은 도 17의 타깃 블록(TBL) 내 간섭 방지 페이지(IBPAG)로 설정되는 페이지(PAG3~PAG6)가 프로그램되지 않는 경우를 가정한 것이다.
도 17 및 도 18을 참고하면, 간섭 방지 페이지(IBPAG)가 프로그램되지 않으므로, 간섭 방지 페이지(IBPAG) 중 LSB 페이지(LSB PAG; PAG3, PAG5)에 대응되는 메모리 셀들은 모두 이레이즈 상태(E)를 나타낸다.
이와 같이, 간섭 방지 페이지(IBPAG; PAG3~PAG6)를 프로그램하지 않는 경우, 타깃 블록(TBL)에서 2번 워드 라인(WL2)이 프로그램되지 않는다. 즉, 간섭 방지 페이지(IBPAG; PAG3~PAG6) 설정으로 타깃 블록(TBL) 내 프로그램되지 않고 스킵(skip)되는 워드 라인(WL2)이 발생하게 된다.
도 19는 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 다른 예를 나타내는 도면이고, 도 20은 도 19의 타깃 블록의 일 예를 나타내는 표이다.
도 19 및 도 20을 참고하면, 간섭 방지 페이지(IBPAG; PAG3~PAG6) 중 LSB 페이지(LSB PAG)인 3번 페이지(PAG3) 및 5번 페이지(PAG5)에는 더미 데이터(DDTA)가 프로그램된다. 더미 데이터(DDTA)를 제외하면, 도 19 및 도 20은 각각 도 13 및 도 17과 관련하여 설명한 내용이 적용될 수 있다. 따라서 도 13 및 도 17과 중복되는 내용은 생략한다.
더미 데이터(DDTA)는 메모리 컨트롤러(Mctr)에서 미리 설정된 데이터로, 예를 들어 "1010"일 수 잇다. 간섭 방지 페이지(IBPAG; PAG3~PAG6) 중 LSB 페이지(LSB PAG)인 3번 페이지(PAG3) 및 5번 페이지(PAG5)에는 더미 데이터(DDTA) "1010"의 정보가 저장되도록 프로그램된다. 간섭 방지 페이지(IBPAG; PAG3~PAG6) 중 LSB 페이지(LSB PAG; PAG3, PAG5)에 대응되는 4개의 메모리 셀(MCEL)은 각각 1비트의 정보(1, 0, 1, 0)를 나타낼 수 있다.
도 21은 가비지 컬렉션 이후 간섭 방지 페이지 중 LSB 페이지에 대응되는 메모리 셀들의 산포의 다른 예를 나타내는 도면이다. 도 21은 도 19의 타깃 블록(TBL) 내 간섭 방지 페이지(IBPAG; PAG3~PAG6) 중 LSB 페이지(LSB PAG; PAG3, PAG5)에 더미 데이터(DDTA)가 프로그램된 경우를 가정한 것이다.
도 19 내지 도 21을 참고하면, 간섭 방지 페이지(IBPAG; PAG3~PAG6) 중 LSB 페이지(LSB PAG; PAG3, PAG5)에 더미 데이터(DDTA)가 프로그램됨으로써, 간섭 방지 페이지(IBPAG) 중 LSB 페이지(LSB PAG; PAG3, PAG5)에 대응되는 메모리 셀들은 각각 이레이즈 상태(E) 또는 프로그램 상태(P)의 셀 산포를 나타낼 수 있다.
이와 같이, 간섭 방지 페이지(IBPAG; PAG3~PAG6) 중 LSB 페이지(LSB PAG; PAG3, PAG5)에 더미 데이터(DDTA)가 프로그램되면, 타깃 블록(TBL)에서 프로그램되지 않고 스킵(skip)되는 워드 라인이 발생하지 않는다.
도 22는 본 발명의 다른 실시예에 따라 가비지 컬렉션을 수행하는 도 1의 플래시 메모리 장치를 나타내는 도면이고, 도 23은 도 22의 플래시 메모리 장치에서 가비지 컬렉션의 수행 방법의 일 예를 나타내는 순서도이다.
도 22 및 도 23을 참고하면, 플래시 메모리 장치(MEMA)의 메모리 컨트롤러(Mctr)는 플래시 메모리(MEM) 내 제1 소스 블록(SBL1)에 포함되는 n(n은 1보다 큰 정수)개의 유효 페이지들을 타깃 블록(TBL)에 복사한다(S310). 이때, 소스 블록(SBL)에 포함되는 n개의 유효 페이지들은 타깃 블록(TBL) 내 연속하는 n개의 제2 페이지들에 복사한다. 메모리 컨트롤러(Mctr)는 타깃 블록(TBL)에 제1 간섭 방지 페이지를 설정한다(S320). 단계 S310 및 S320은 도 11의 단계 S210 및 S220과 관련하여 설명한 내용이 적용될 수 있다. 따라서 도 11과 중복되는 내용은 생략한다.
메모리 컨트롤러(Mctr)는 제2 소스 블록(SBL2)에 포함되는 유효 페이지들을 타깃 블록(TBL)에 복사한다(S330). 메모리 컨트롤러(Mctr)는 타깃 블록(TBL)에 제2 간섭 방지 페이지를 설정한다(S340). 타깃 블록(TBL)에 제1 간섭 방지 페이지가 설정되면, 메모리 컨트롤러(Mctr)는 제1 소스 블록(SBL1)을 이레이즈할 수 있다. 또한, 타깃 블록(TBL)에 제2 간섭 방지 페이지가 설정되면, 메모리 컨트롤러(Mctr)는 제2 소스 블록(SBL2)을 이레이즈할 수 있다.
가비지 컬렉션 동작은 가비지 컬렉션 제어 신호(GCON)를 기반으로 수행될 수 있다. 가비지 컬렉션 제어 신호(GCON)는 제1 및 제2 소스 블록(SBL1, SBL2) 및 타깃 블록(TBL)을 지시하는 정보를 포함할 수 있다. 제1 소스 블록(SBL1)은 제2 블록, 타깃 블록(TBL)은 제3 블록, 제2 소스 블록(SBL2)은 제4 블록이라고도 한다.
도 22에서는 가비지 컬렉션 동작이 하나의 가비지 컬렉션 제어 신호(GCON)를 기반으로 수행되는 것으로 나타내었으나, 이는 예시에 불과하다. 다른 예로, 먼저, 제1 소스 블록(SBL1) 및 타깃 블록(TBL)을 지시하는 정보를 포함하는 제1 가비지 컬렉션 제어 신호에 의해 제1 소스 블록(SBL1) 및 타깃 블록(TBL) 사이에 가비지 컬렉션이 수행될 수 있다. 다음, 제2 소스 블록(SBL2) 및 타깃 블록(TBL)을 지시하는 정보를 포함하는 제2 가비지 컬렉션 제어 신호에 의해 제2 소스 블록(SBL2) 및 타깃 블록(TBL) 사이에 가비지 컬렉션이 수행될 수 있다.
도 24는 도 22의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 일 예를 나타내는 도면이고, 도 25는 도 24의 타깃 블록 내 복수의 워드 라인에 대응되는 LSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 24 및 도 25는 도 22의 제1 및 제2 소스 블록(SBL1, SBL2) 및 타깃 블록(TBL)이 도 5 및 도 6의 2비트 MLC인 복수의 메모리 셀(MCEL)을 포함하는 블록(BLK)과 같은 구조인 것으로 가정한 것이다.
도 24 및 도 25를 참고하면, 제1 소스 블록(SBL1)에 포함되는 n개의 유효 페이지들(PAG0, PAG7, PAG11)에 저장된 프로그램 데이터(PDTA0s, PDTA7s, PDTA11s)는 타깃 블록(TBL) 내 연속하는 n개의 페이지들(PAG0~PAG2)에 복사된다. 제1 소스 블록(SBL1)에 대한 복사 이후, 타깃 블록(TBL)의 3번 내지 6번 페이지들(PAG3~PAG6)은 제1 간섭 방지 페이지(IBPAG1)로 설정된다. 제1 간섭 방지 페이지(IBPAG1)의 설정까지는 도 13과 관련하여 설명한 내용이 적용될 수 있다. 따라서 도 13과 중복되는 내용은 생략한다.
제2 소스 블록(SBL2)에 포함되는 유효 페이지들(PAG3, PAG13)에 저장된 프로그램 데이터(PDTA3-2, PDTA13-2)는 타깃 블록(TBL) 내 연속하는 페이지들(PAG7, PAG8)에 복사된다. 이때, 제2 소스 블록(SBL2)의 유효 페이지들(PAG3, PAG13)에 대해서는 타깃 블록(TBL) 내 제1 간섭 방지 페이지(IBPAG1; PAG3~PAG6)의 다음 페이지인 7번 페이지(PAG7)부터 복사될 수 있다.
제2 소스 블록(SBL2)에 대한 복사 이후, 타깃 블록(TBL)의 9번 내지 12번 페이지들(PAG9~PAG12)은 제2 간섭 방지 페이지(IBPAG2)로 설정된다. 제2 소스 블록(SBL2)의 유효 페이지들이 복사된 타깃 블록(TBL)의 7번, 8번 페이지(PAG7, PAG8)에 대응되는 복수의 워드 라인들(WL3, WL4) 중 워드 라인 번호가 가장 높은 워드 라인은 4번 워드 라인(WL4)이다. 따라서 9번 페이지(PAG9)부터 5번 워드 라인(WL5)의 MSB 페이지(MSB PAG)인 12번 페이지(PAG12)까지 제2 간섭 방지 페이지(IBPAG2)로 설정될 수 있다.
제1 및 제2 소스 블록(SBL1, SBL2)과 타깃 블록(TBL) 사이에 가비지 컬렉션이 완료된 이후, 타깃 블록(TBL)은 제2 간섭 방지 페이지(IBPAG2; PAG9~PAG12)의 다음 페이지인 13번 페이지(PAG13)부터 프로그램될 수 있다.
도 26은 본 발명의 또 다른 실시예에 따라 동작하는 도 1의 플래시 메모리 장치를 나타내는 도면이고, 도 27은 도 26의 플래시 메모리 장치에서 수행되는 동작 방법의 일 예를 나타내는 순서도이다.
도 26 및 도 27을 참고하면, 플래시 메모리 장치(MEMA)의 메모리 컨트롤러(Mctr)는 플래시 메모리(MEM) 내 소스 블록(SBL)에 포함되는 n(n은 1보다 큰 정수)개의 유효 페이지들을 타깃 블록(TBL)에 복사한다(S410). 메모리 컨트롤러(Mctr)는 타깃 블록(TBL)에 간섭 방지 페이지를 설정한다(S420). 단계 S410 및 S420은 도 11의 단계 S210 및 S220과 관련하여 설명한 내용이 적용될 수 있다. 따라서 도 11과 중복되는 내용은 생략한다.
메모리 컨트롤러(Mctr)는 호스트의 기입 요청(HWR)에 포함된 논리 주소(LADR)를 타깃 블록(TBL) 내 LSB 페이지인 제1 페이지(PG1)에 맵핑한다(S430). 이때, 제1 페이지(PG1)는 타깃 블록(TBL) 내 간섭 방지 페이지보다 페이지 번호가 큰 LSB 페이지이다. 메모리 컨트롤러(Mctr)는 제1 페이지(PG1)를 프로그램한다(S440). 도 27에서는 단계 S430 및 단계 S440은 도 3의 단계 S110 및 단계 S120과 관련하여 설명한 내용이 적용될 수 있다. 따라서 도 3과 중복되는 내용은 생략한다.
다만, 도 27은 제1 블록(BK1)이 타깃 블록(TBL)이라는 점과 타깃 블록(TBL)의 제1 페이지(PG1)의 페이지 번호가 간섭 방지 페이지보다 크다는 점이 도 3과 다르다.
도 28은 도 26의 플래시 메모리 장치의 동작이 수행되는 블록들의 일 예를 나타내는 도면이고, 도 29는 도 28의 타깃 블록 내 복수의 워드 라인에 대응되는 LSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 28 및 도 29는 도 26의 소스 블록(SBL) 및 타깃 블록(TBL)이 도 5 및 도 6의 2비트 MLC인 복수의 메모리 셀(MCEL)을 포함하는 블록(BLK)과 같은 구조인 것으로 가정한 것이다.
도 28 및 도 29를 참고하면, 소스 블록(SBL)에 포함되는 n개의 유효 페이지들(PAG0, PAG7, PAG11)에 저장된 프로그램 데이터(PDTA0s, PDTA7s, PDTA11s)는 타깃 블록(TBL) 내 연속하는 n개의 페이지들(PAG0~PAG2)에 복사된다. 소스 블록(SBL)에 대한 복사 이후, 타깃 블록(TBL)의 3번 내지 6번 페이지들(PAG3~PAG6)은 간섭 방지 페이지(IBPAG)로 설정된다. 간섭 방지 페이지(IBPAG)의 설정까지는 도 13과 관련하여 설명한 내용이 적용될 수 있다. 따라서 도 13과 중복되는 내용은 생략한다.
타깃 블록(TBL)은 간섭 방지 페이지(IBPAG; PAG3~PAG6)의 다음 페이지인 7번 페이지(PAG7)부터 프로그램될 수 있다. 타깃 블록(TBL)에서는 호스트의 복수의 기입 요청(HWR)에 응답하여, LSB 페이지(LSB PAG)인 7번, 9번, 11번 페이지(PAG7, PAG9, PAG11)에 각각 프로그램 데이터(PDTA7-3, PDTA9-3, PDTA11-3)가 프로그램된다. 호스트의 복수의 기입 요청(HWR)에 대한 복수의 제1 페이지(도 26의 PG1)에 해당하는 7번, 9번, 11번 페이지(PAG7, PAG9, PAG11)는 모두 간섭 방지 페이지(IBPAG; PAG3~PAG6)보다 페이지 번호가 크다.
지금까지 본 발명의 실시예에 따른 플래시 메모리 장치의 플래시 메모리는 2비트 MLC를 포함하는 경우를 위주로 설명하였다. 그러나, 지금까지 설명된 본 발명의 실시예에 따른 플래시 메모리 장치 및 플래시 메모리 장치에서 수행되는 동작 방법은 플래시 메모리 장치가 2비트 보다 큰 비트의 MLC를 포함하는 경우에도 적용될 수 있다.
도 30은 도 2의 플래시 메모리 장치에서 호스트의 복수의 기입 요청에 응답하여 프로그램된 페이지를 포함하는 제1 블록과 제1 블록 내 복수의 워드 라인에 대응되는 LSB 페이지, CSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다. 도 30은 도 2의 제1 블록(BK1)이 8개의 워드 라인(WL0~WL7)에 대응되고, 제1 블록(BK1)이 3비트 MLC인 복수의 메모리 셀을 포함하는 것으로 가정한 것이다.
도 30을 참고하면, 제1 블록(BK1) 내 하나의 워드 라인은 3개의 페이지(LSB PAG, CSB PAG, MSB PAG)에 대응된다. 즉, 하나의 워드 라인에는 3개의 페이지(LSB PAG, CSB PAG, MSB PAG)를 포함하는 페이지 그룹에 대응된다. 예를 들어, 제1 블록(BK1)의 2번 워드 라인(WL2)은 LSB 페이지(LSB PAG)로 4번 페이지(PAG4)와, CSB 페이지(CSB PAG)로 8번 페이지(PAG8)와, MSB 페이지(MSB PAG)로 9번 페이지(PAG9)를 포함하는 하나의 페이지 그룹이 대응된다. LSB 페이지(LSB PAG)는 제1 비트 페이지, MSB 페이지(MSB PAG) 및 CSB 페이지(CSB PAG)는 제2 비트 페이지라고도 할 수 있다. 즉, 하나의 워드 라인은 하나의 제1 비트 페이지 및 적어도 하나의 제2 비트 페이지에 대응된다.
다만, 도 30은 하나의 예시일 뿐 복수의 워드 라인(WL0~WL7)에 대응되는 LSB 페이지(LSB PAG), CSB 페이지(CSB PAG) 및 MSB 페이지(MSB PAG)를 제한하는 것은 아니다.
제1 블록(BK1)은 호스트의 복수의 기입 요청에 응답하여 프로그램된 복수의 페이지들(PAG0, PAG1, PAG4, PAG7, PAG10, PAG13, PAG16)을 포함한다. 따라서 프로그램된 페이지들(PAG0, PAG1, PAG4, PAG7, PAG10, PAG13, PAG16)은 모두 LSB 페이지(LSB PAG)이다.
제1 블록(BK1) 내 복수의 프로그램된 페이지들(PAG1, PAG4, PAG7, PAG10, PAG16)은 유효한 프로그램 데이터(PDTA1a, PDTA4a, PDTA7a, PDTA10a, PDTA16a)가 저장되어 있는 유효 페이지(PAG1, PAG4, PAG7, PAG10, PAG16)이거나, 무효 데이터(INVD)가 저장되어 있는 무효 페이지(PAG0, PAG13)일 수 있다.
도 31은 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 또 다른 예를 나타내는 도면이고, 도 32는 도 31의 타깃 블록 내 복수의 워드 라인에 대응되는 LSB 페이지, CSB 페이지 및 MSB 페이지의 일 예를 나타내는 도면이다.
도 31 및 도 32는 도 11의 소스 블록(SBL) 및 타깃 블록(TBL)이 3비트 MLC인 복수의 메모리 셀을 포함하는 것으로 가정한 것이다. 또한, 도 31의 소스 블록(SBL)은 도 30의 제1 블록(BK1)과 동일한 것으로 가정한 것이다. 다만, 이는 설명의 편의를 위해서일 뿐, 도 31의 소스 블록(SBL)이 제한되는 것은 아니다.
도 31 및 도 32를 참고하면, 소스 블록(SBL)에 포함되는 n개의 유효 페이지들(PAG1, PAG4, PAG7, PAG10, PAG16)에 저장된 유효한 프로그램 데이터(PDTA1a, PDTA4a, PDTA7a, PDTA10a, PDTA16a)는 타깃 블록(TBL) 내 연속하는 n개의 제2 페이지들(PG2; PAG0~PAG4)에 복사된다.
소스 블록(SBL)에 대한 복사 이후, 타깃 블록(TBL)의 5번 내지 12번 페이지들(PAG5~PAG12)은 간섭 방지 페이지(IBPAG)로 설정된다. 타깃 블록(TBL)의 제2 페이지들(PG2; PAG0~PAG4)에 대응되는 복수의 워드 라인들(WL0~WL2) 중 워드 라인 번호가 가장 높은 워드 라인은 2번 워드 라인(WL2)이다. 따라서 5번 페이지(PAG5)부터 3번 워드 라인(WL3)의 MSB 페이지(MSB PAG)인 12번 페이지(PAG12)까지 간섭 방지 페이지(IBPAG)로 설정된다. 간섭 방지 페이지(IBPAG; PAG5~PAG12)는 프로그램되지 않을 수 있다.
타깃 블록(TBL)에 간섭 방지 페이지(IBPAG)가 설정된 이후, 소스 블록(SBL)은 이레이즈될 수 있다. 또한, 타깃 블록(TBL)은 간섭 방지 페이지(IBPAG; PAG5~PAG12)의 다음 페이지인 13번 페이지(PAG13)부터 프로그램될 수 있다.
도 33은 도 11의 플래시 메모리 장치에서 가비지 컬렉션이 수행되는 블록들의 또 다른 예를 나타내는 도면이다.
도 33을 참고하면, 간섭 방지 페이지(IBPAG; PAG5~PAG12) 중 LSB 페이지(LSB PAG, 도 32 참조)인 7번 페이지(PAG7) 및 10번 페이지(PAG10)에는 더미 데이터(DDTA)가 프로그램된다. 더미 데이터(DDTA)를 제외하면, 도 33은 도 31과 동일하다. 따라서 더미 데이터(DDTA)를 제외하면, 도 33에는 도 31과 관련하여 설명한 내용이 적용될 수 있다. 따라서 도 31과 중복되는 내용은 생략한다.
이와 같이 본 발명의 실시예에 따르면, 신뢰성을 보장할 수 있는 플래시 메모리 장치가 제공될 수 있다.
본 발명의 실시예에 따른 플래시 메모리 장치에서, 호스트의 기입 요청에 응답하여 LSB 페이지만을 프로그램하고, CSB 페이지 및 MSB 페이지는 프로그램하지 않는다. 따라서, 백업과 같은 불필요한 동작 없이도 MSB 페이지-LSB 페이지 간섭 현상이 해결될 수 있어, 데이터 완전성이 보장될 수 있다. 즉, 본 발명의 실시예에 따르면, 플래시 메모리 장치에서 동작의 오버헤드 없이 신뢰성이 보장될 수 있다.
또한, 본 발명의 실시예에 따른 플래시 메모리 장치에서, 가비지 컬렉션을 통해 타깃 블록에는 LSB 페이지, CSB 페이지 및 MSB 페이지가 모두 프로그램된다. 따라서 호스트의 기입 요청에 응답하여 LSB 페이지만을 프로그램하더라도, 가비지 컬렉션을 통해 페이지들이 효율적으로 사용될 수 있다.
또한, 본 발명의 실시예에 따른 플래시 메모리 장치에서는 타깃 블록에 간섭 방지 페이지가 설정된다. 간섭 방지 페이지를 통해 워드 라인 브리지로 인해 프로그램 데이터의 손상이 방지될 수 있다.
지금까지 설명한 플래시 메모리 장치는 전자 장치(electronic apparatus)이거나, 전자 장치에 포함될 수 있다. 전자 장치는 컴퓨팅 시스템 장치, 메모리 카드, 서버 컴퓨터, 디지털 카메라, 캠코더, 휴대 전화 등과 같이 다양하게 구현될 수 있다.
도 34는 본 발명의 실시예에 따른 플래시 메모리 장치를 포함하는 컴퓨팅 시스템 장치를 나타내는 블록도이다.
도 34를 참고하면, 컴퓨팅 시스템 장치(CSYS)는 버스(BUS)에 전기적으로 연결된 프로세서(CPU), 사용자 인터페이스(UI) 및 플래시 메모리 장치(MEMA)를 구비한다. 플래시 메모리 장치(MEMA)는 플래시 메모리(MEM) 및 제어부(CTR)를 포함한다. 플래시 메모리(MEM)에는 프로세서(CPU)에 의해서 처리된 또는 처리될 프로그램 데이터가, 제어부(CTR)를 통해, 저장될 것이다. 도 34의 플래시 메모리 장치(MEMA)는 도 1의 플래시 메모리 장치(MEMA)와 같을 수 있다. 따라서, 컴퓨팅 시스템 장치(CSYS)에 의하면, 부가적인 모듈의 추가 등이 수반되지 아니하고도 간단한 제어로 플래시 메모리 장치(MEMA)의 신뢰성이 보장될 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)는 파워 공급 장치(PS) 및 휘발성 메모리 장치(예를 들어, RAM)를 더 구비할 수 있다.
본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)가 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리 및 베이스밴드 칩셋(baseband chipset)과 같은 모뎀이 추가적으로 제공될 수 있다. 또한, 본 발명의 실시예에 따른 컴퓨팅 시스템 장치(CSYS)에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램(DRAM) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명한 사항인 바, 더 자세한 설명은 생략한다.
도 35는 본 발명의 실시예에 따른 메모리 카드를 나타내는 블럭도이다.
도 35를 참조하면, 본 발명의 실시예에 따른 메모리 카드(MCRD)는, 제어부(CTR) 및 플래시 메모리(MEM)를 구비한다. 제어부(CTR)는 입출력 수단(I/O)를 통해 수신되는 외부의 호스트(미도시)의 요청에 응답하여 플래시 메모리(MEM)로의 프로그램 데이터 기입 또는 플래시 메모리(MEM)로부터의 프로그램 데이터 독출을 제어한다. 또한, 제어부(CTR)는 플래시 메모리(MEM)에 대한 이레이즈 동작을 제어한다. 본 발명의 실시예에 따른 메모리 카드(MCRD)는 도 1의 플래시 메모리 장치(MEMA)로 구현될 수 있다.
도 35의 메모리 카드(MCRD)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card), 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick) 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다. 따라서, 도 35의 메모리 카드(MCRD)에 의하면, 부가적인 모듈의 추가 등이 수반되지 아니하고도 간단한 제어로 플래시 메모리 장치(MEMA)의 신뢰성이 보장될 수 있다.
도 36은 본 발명의 실시예에 따른 솔리드 스테이트 드라이브(SSD: Solid State Drive)를 나타내는 도면이다.
도 36을 참고하면, 본 발명의 실시예에 따른 SSD는 SSD 컨트롤러(SCTL) 및 플래시 메모리(MEM)를 포함한다. SSD 컨트롤러(SCTL)는 버스(BUS)로 연결되는 프로세서(PROS), 램(RAM), 캐쉬 버퍼(CBUF) 및 메모리 컨트롤러(Ctrl)를 구비할 수 있다. 프로세서(PROS)는 호스트(미도시)의 요청에 응답하여 메모리 컨트롤러(Ctrl)가 플래시 메모리(MEM)와 프로그램 데이터를 송수신하도록 제어한다. 본 발명의 실시예에 따른 SSD의 프로세서(PROS) 및 메모리 컨트롤러(Ctrl)는 하나의 ARM 프로세서로 구현될 수도 있다. 프로세서(PROS)의 동작에 필요한 정보는 램(RAM)에 로딩될 수 있다.
호스트 인터페이스(HOST I/F)는 호스트의 요청을 수신하여 프로세서(PROS)로 전송하거나, 플래시 메모리(MEM)로부터 전송된 데이터를 호스트로 전송한다. 호스트 인터페이스(HOST I/F)는 USB(Universal Serial Bus), MMC(Man Machine Communication), PCI-E(Peripheral Component Interconnect-Express), SATA(Serial Advanced Technology Attachment), PATA(Parallel Advanced Technology Attachment), SCSI(Small Computer System Interface), ESDI(Enhanced Small Device Interface), 그리고 IDE(Intelligent Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜로, 호스트와 인터페이스 할 수 있다. 플래시 메모리(MEM)로 전송하고자 하거나, 플래시 메모리(MEM)로부터 전송된 프로그램 데이터는 캐쉬 버퍼(CBUF)에 임시로 저장될 수 있다. 캐쉬 버퍼(CBUF)는 SRAM 등일 수 있다.
본 발명의 실시예에 따른 SSD는 도 1의 플래시 메모리 장치(MEMA)로 구현될 수 있다. 도 1의 메모리 컨트롤러(Mctr)는 도 36의 프로세서(PROS) 및 메모리 컨트롤러(Ctrl)로 구현되고, 도 1의 휘발성 메모리(VLM)는 도 36의 램(RAM) 및 캐쉬 버퍼(CBUF)로 구현될 수 있다.
도 36의 SSD에 의하면, 부가적인 모듈의 추가 등이 수반되지 아니하고도 간단한 제어로 플래시 메모리 장치(MEMA)의 신뢰성이 보장될 수 있다.
도 37은 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 도면이다.
도 37을 참고하면, 본 발명의 실시예에 따른 네트워크 시스템(NSYS)은 네트워크를 통해 연결되는 서버 시스템(SSYS) 및 다수의 단말들(TEM1~TEMn)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(SSYS)은 네트워크에 연결되는 다수의 단말들(TEM1~TEMn)로부터 수신되는 요청을 처리하는 서버(SERVER) 및 단말들(TEM1~TEMn)로부터 수신되는 요청에 대응되는 프로그램 데이터를 저장하는 SSD를 포함하는 구비할 수 있다. 이때, 도 37의 SSD는 도 36의 SSD일 수 있다. 즉, 도 37의 SSD는 SSD 컨트롤러(SCTL) 및 플래시 메모리(MEM)를 포함하고, SSD는 도 1의 플래시 메모리 장치(MEMA)로 구현될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 복수의 블록을 포함하는 플래시 메모리; 및
    상기 플래시 메모리를 제어하는 제어부를 포함하고,
    상기 복수의 블록 각각은 복수의 워드 라인에 대응되고, 상기 복수의 워드 라인 각각은 제1 비트 페이지 및 적어도 하나의 제2 비트 페이지에 대응되고,
    상기 제어부는,
    호스트의 기입 요청에 포함되는 논리 주소를 상기 복수의 블록 중 하나인 제1 블록 내 복수의 페이지 중 하나인 제1 페이지에 맵핑하고,
    상기 제1 페이지를 프로그램하되,
    상기 제1 페이지는 오직 상기 제1 비트 페이지인 것을 특징으로 하는 플래시 메모리 장치.
  2. 제1 항에 있어서, 상기 제어부는,
    메타 데이터가 로딩되는 휘발성 메모리; 및
    상기 메타 데이터를 기반으로 상기 논리 주소를 상기 제1 페이지로 맵핑하는 메모리 컨트롤러를 포함하고,
    상기 메모리 컨트롤러는,
    상기 논리 주소에 맵핑되는 상기 제1 페이지가 상기 제2 비트 페이지가 되지 않도록 상기 메타 데이터를 관리하는 하는 것을 특징으로 하는 플래시 메모리 장치.
  3. 제2 항에 있어서, 상기 호스트의 상기 기입 요청은, 프로그램 데이터를 더 포함하고,
    상기 프로그램 데이터는 상기 휘발성 메모리에 저장되고,
    상기 메모리 컨트롤러는,
    상기 프로그램 데이터를 상기 제1 페이지에 프로그램하는 것을 특징으로 하는 플래시 메모리 장치.
  4. 제1 항에 있어서, 상기 제1 비트 페이지는 LSB(least significant bit) 페이지이고,
    상기 적어도 하나의 제2 비트 페이지 중 하나의 비트 페이지는 MSB(most significant bit) 페이지인 것을 특징으로 하는 플래시 메모리 장치.
  5. 제4 항에 있어서, 상기 제어부는,
    상기 복수의 블록 중 하나인 제2 블록에 포함되는 n(n은 1보다 큰 정수)개의 유효 페이지들을 상기 복수의 블록 중 하나인 제3 블록 내 연속하는 n개의 제2 페이지들인 i(i는 0 이상의 정수)번 페이지 내지 i+n-1번 페이지에 복사하는 것을 특징으로 하는 플래시 메모리 장치.
  6. 제5 항에 있어서, 상기 제어부는,
    i+n번 페이지부터 k(k는 i+n-1보다 큰 정수)번 페이지까지를 간섭 방지 페이지로 설정하고,
    상기 n개의 제2 페이지들에 대응하는 복수의 워드 라인들 중 m(m은 0 이상의 정수)번 워드 라인은 상기 복수의 워드 라인들 중 워드 라인 번호가 가장 큰 워드 라인이고,
    상기 k번 페이지는 m+1번 워드 라인에 대응되는 MSB 페이지인 것을 특징으로 하는 플래시 메모리 장치.
  7. 제6 항에 있어서, 상기 제어부는,
    상기 간섭 방지 페이지를 프로그램하지 않는 것을 특징으로 하는 플래시 메모리 장치.
  8. 제6 항에 있어서, 상기 제어부는,
    상기 간섭 방지 페이지 중 LSB 페이지인 페이지에는 더미 데이터를 프로그램하는 것을 특징으로 하는 플래시 메모리 장치.
  9. 제6 항에 있어서, 상기 제어부는,
    상기 간섭 방지 페이지를 설정한 후,
    상기 제2 블록을 이레이즈하는 것을 특징으로 하는 플래시 메모리 장치.
  10. 제6 항에 있어서, 상기 제어부는,
    상기 복수의 블록 중 하나인 제4 블록에 포함되는 복수의 유효 페이지들을 상기 제3 블록에 복사하되,
    상기 제4 블록의 상기 복수의 유효 페이지들은 상기 제3 블록의 k+1번 페이지부터 프로그램되는 것을 특징으로 하는 플래시 메모리 장치.
KR1020110071088A 2011-07-18 2011-07-18 플래시 메모리 장치 KR20130010343A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110071088A KR20130010343A (ko) 2011-07-18 2011-07-18 플래시 메모리 장치
US13/551,640 US20130024608A1 (en) 2011-07-18 2012-07-18 Flash memory apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110071088A KR20130010343A (ko) 2011-07-18 2011-07-18 플래시 메모리 장치

Publications (1)

Publication Number Publication Date
KR20130010343A true KR20130010343A (ko) 2013-01-28

Family

ID=47556621

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110071088A KR20130010343A (ko) 2011-07-18 2011-07-18 플래시 메모리 장치

Country Status (2)

Country Link
US (1) US20130024608A1 (ko)
KR (1) KR20130010343A (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104425019B (zh) 2013-08-23 2018-07-06 慧荣科技股份有限公司 存取快闪存储器中存储单元的方法以及使用该方法的装置
TWI649760B (zh) * 2013-08-23 2019-02-01 慧榮科技股份有限公司 存取快閃記憶體中儲存單元的方法以及使用該方法的裝置
CN107632904B (zh) 2013-08-23 2020-12-22 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN110175088B (zh) * 2013-08-23 2022-11-11 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN104424127A (zh) 2013-08-23 2015-03-18 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN107341071A (zh) * 2013-08-23 2017-11-10 慧荣科技股份有限公司 存取快闪存储器中储存单元的方法以及使用该方法的装置
US20150170747A1 (en) * 2013-12-17 2015-06-18 Skymedi Corporation Method and system for programming a multi-bit per cell non-volatile memory
TWI545571B (zh) * 2014-02-18 2016-08-11 慧榮科技股份有限公司 存取快閃記憶體的方法及相關的控制器與記憶裝置
CN105260325A (zh) * 2014-07-17 2016-01-20 广明光电股份有限公司 固态硬盘搜集垃圾区块的方法
US10073685B2 (en) * 2015-01-19 2018-09-11 SK Hynix Inc. Methods of system optimization by over-sampling read
CN114035749B (zh) * 2018-01-12 2023-02-28 珠海极海半导体有限公司 电子设备和Flash存储器
CN112835517B (zh) * 2021-01-22 2022-11-25 珠海妙存科技有限公司 提升mlc nand性能的方法、装置及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101515098B1 (ko) * 2008-11-20 2015-04-24 삼성전자주식회사 플래시 메모리 장치 및 이의 독출 방법

Also Published As

Publication number Publication date
US20130024608A1 (en) 2013-01-24

Similar Documents

Publication Publication Date Title
KR20130010343A (ko) 플래시 메모리 장치
US9043517B1 (en) Multipass programming in buffers implemented in non-volatile data storage systems
US9239782B2 (en) Nonvolatile memory device and program method thereof
KR100823170B1 (ko) 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드
US9478298B2 (en) Memory system and method of reading data thereof
KR20170120738A (ko) 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치를 액세스하는 액세스 방법
US11593258B2 (en) Enhanced filesystem support for zone namespace memory
KR20160074237A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11776615B2 (en) Sequential SLC read optimization
US20170255523A1 (en) Non-volatile memory devices and controllers
US8352807B2 (en) Semiconductor memory device, host device and semiconductor memory system
KR20210038692A (ko) 비휘발성 메모리를 위한 멀티-레벨 웨어 레벨링
KR101270685B1 (ko) 비휘발성 메모리의 데이터 처리 장치 및 방법
US11664079B2 (en) Intervallic dynamic start voltage and program verify sampling in a memory sub-system
US11836377B2 (en) Data transfer management within a memory device having multiple memory regions with different memory densities
US8885406B2 (en) Memory device, memory control device, and memory control method
US20200183828A1 (en) Data relocation in memory having two portions of data
CN111475426B (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
CN106959822B (zh) 数据储存装置及其数据写入方法
TWI823649B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及電子裝置
US11508448B2 (en) Memory system including memory device and operating method thereof
US20240143216A1 (en) Storage device managing metadata memory blocks each storing metadata units, and method of operating the same
US20240071462A1 (en) Efficient periodic backend refresh reads for reducing bit error rate in memory devices
TWI769100B (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
US20220310158A1 (en) All levels dynamic start voltage programming of a memory device in a memory sub-system

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid