KR101959567B1 - 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법 - Google Patents

비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법 Download PDF

Info

Publication number
KR101959567B1
KR101959567B1 KR1020120050959A KR20120050959A KR101959567B1 KR 101959567 B1 KR101959567 B1 KR 101959567B1 KR 1020120050959 A KR1020120050959 A KR 1020120050959A KR 20120050959 A KR20120050959 A KR 20120050959A KR 101959567 B1 KR101959567 B1 KR 101959567B1
Authority
KR
South Korea
Prior art keywords
data
signal
memory block
memory
page
Prior art date
Application number
KR1020120050959A
Other languages
English (en)
Other versions
KR20130127207A (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 KR1020120050959A priority Critical patent/KR101959567B1/ko
Priority to US13/722,932 priority patent/US8966163B2/en
Publication of KR20130127207A publication Critical patent/KR20130127207A/ko
Application granted granted Critical
Publication of KR101959567B1 publication Critical patent/KR101959567B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

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 메모리 블록의 제1 페이지에 제1 데이터를 기입하고, 제2 메모리 블록의 제1 페이지에 제2 데이터를 기입하는 데이터 기입부, 및 칩 아이들(chip idle) 신호 및 카피 백 제어 신호에 응답하여 제1 메모리 블록에 기입된 제1 데이터를 제2 메모리 블록의 제2 페이지에 기입하는 카피 백(copy back) 부를 포함한다.

Description

비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법 {non-volatile memory device and method of programming the same}
본 발명은 비휘발성 메모리 장치에 관한 것으로, 더욱 상세하게는 가상(pseudo) SLC(Single level cell) 버퍼 방식과 MLC(Multi level cell) 방식으로 데이터를 프로그램 하는 메모리 셀 어레이를 포함하는 비휘발성 메모리 장치 및 이의 프로그램 방법에 관한 것이다.
비휘발성 메모리의 한 종류인 플래시 메모리(Flash memory)는 하드디스크에 비하여 높은 안정성을 가지며 전력 소모도 적다는 장점이 있다. 이러한 장점은 최근 전자 기기의 소형화에 적합하여 플래시 메모리의 수요가 급격하게 증가하고 있다.
플래시 메모리는 읽기(read), 쓰기(write)와 소거(erase)의 세 가지 연산을 지원하는 데, 읽기와 쓰기는 페이지 단위로, 소거는 블록 단위로 수행된다. 이와 같이 동작 단위가 상이하고, 하나의 블록에 포함된 페이지는 순차적으로 사용되어야 하는 특징이 있다. 이와 같은 특성 때문에 플래시 메모리를 사용하는 시스템에서는 플래시 변환 계층(FTL, Flash translation layer)을 이용하여 상위 계층의 논리 주소를 실제 플래시 메모리의 물리 주소로 변환하여 데이터에 접근한다.
본 발명이 이루고자 하는 기술적 과제는 비휘발성 메모리 장치에 데이터를 기입하는 경우, 순차적으로 입력되는 데이터를 제1 영역에 미리 LSB(Least significant bit)로 기입한 이후, 백그라운드 동작(background operation) 동안에 LSB에 기입된 데이터들을 MSB(Most significant bit)로 이동시키는 카피 백(copy back) 동작을 통하여 실질적으로 사용자가 느끼는 프로그램 시간을 줄일 수 있다.
본 발명이 이루고자 하는 기술적 과제는 비휘발성 메모리 장치에 포함된 메모리 셀들에 순차적으로 데이터를 기입하는 과정에 있어서, 상대적으로 프로그램 시간이 짧은 SLC 방식으로 프로그램을 완료한 이후에, 사용자가 느끼지 못하는 백그라운드 동작 동안 MLC 방식으로 프로그램을 함으로써, MLC 방식에 따르는 메모리 집적도를 달성하는 동시에 외견 상 프로그램 시간을 단축할 수 있다.
또한, 본 발명이 이루고자 하는 기술적 과제는 비휘발성 메모리 장치에 대하여 사용자가 느끼는 동작 시간 동안에 MLC 방식으로 프로그램을 하는 메모리 셀과, 가상 SLC 버퍼 방식으로 프로그램 하는 메모리 셀을 일정한 비율로 할당하도록 하여 전체 비휘발성 메모리 장치의 동작 시간과 메모리 셀 어레이의 집적도 요구 정도를 제어할 수 있다.
본 발명의 일부 실시예들에 따른 비휘발성 메모리 장치는 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 제1 및 제2 메모리 블록, 기입 신호 및 어드레스 할당 신호에 응답하여 상기 제1 메모리 블록의 제1 페이지에 제1 데이터를 기입하고, 상기 제2 메모리 블록의 제1 페이지에 제2 데이터를 기입하는 데이터 기입부, 및 칩 아이들(chip idle) 신호 및 카피 백 제어 신호에 응답하여 상기 제1 메모리 블록에 기입된 제1 데이터를 상기 제2 메모리 블록의 제2 페이지에 기입하는 카피 백(copy back) 부를 포함한다.
본 발명의 일부 실시예들에 따른 비휘발성 메모리 장치는 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 제1 내지 제3 메모리 블록들, 기입 신호 및 어드레스 할당 신호에 응답하여 상기 제1 메모리 블록의 제1 페이지에 제1 데이터를 기입하고, 상기 제2 메모리 블록의 제1 페이지에 제2 데이터를 기입하는 데이터 기입부, 및 칩 아이들(chip idle) 신호 및 카피 백 제어 신호에 응답하여, 상기 제1 메모리 블록에 기입된 제1 데이터와 상기 제2 메모리 블록에 기입된 제2 데이터를 상기 제3 메모리 블록의 제1 및 제2 페이지들에 각각 기입하는 카피 백(copy back) 부를 포함한다.
본 발명의 일부 실시예들에 따른 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 복수의 메모리 블록들을 포함하는 비휘발성 메모리 장치의 프로그램 방법은 커맨드 신호 및 어드레스 신호에 기초하여 기입 신호 및 어드레스 할당 신호를 제공하는 단계, 상기 기입 신호 및 상기 어드레스 할당 신호에 응답하여 인접한 제1 메모리 블록과 제2 메모리 블록의 제1 페이지에 상기 데이터들을 순차적으로 기입하는 단계, 및 칩 아이들 신호 및 카피 백 제어 신호에 응답하여 상기 제1 메모리 블록의 제1 페이지에 기입된 데이터를 상기 제2 메모리 블록의 제2 페이지로 카피 백(Copy back) 하는 단계를 포함한다.
본 발명의 일부 실시예들에 따른 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 복수의 메모리 블록들을 포함하는 비휘발성 메모리 장치의 프로그램 방법은 커맨드 신호 및 어드레스 신호에 기초하여 기입 신호 및 어드레스 할당 신호를 제공하는 단계, 상기 기입 신호 및 상기 어드레스 할당 신호에 응답하여 인접한 제1 메모리 블록과 제2 메모리 블록의 제1 페이지에 상기 데이터들을 순차적으로 기입하는 단계, 및 칩 아이들 신호 및 카피 백 제어 신호에 응답하여 상기 제1 및 제2 메모리 블록들의 제1 페이지들에 기입된 데이터를 제3 메모리 블록의 제1 및 제2 페이지들로 카피 백(Copy back) 하는 단계를 포함한다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치는 순차적으로 제공되는 데이터를 기입(Sequential write) 하는 동작 동안에, 메모리 셀 어레이에 포함된 메모리 셀에 SLC 방식으로 데이터를 기입한 이후, 백그라운드 동작 동안에 MLC 방식으로 기입을 완료하여 메모리 셀 어레이를 SLC 버퍼처럼 사용함으로써, SLC 버퍼의 한정된 용량 제한을 극복할 수 있다.
본 발명의 일 실시예들에 따른 비휘발성 메모리 장치는 SLC 버퍼에 데이터를 저장하였다가 메모리 셀에 기입하는 등으로 SLC 버퍼의 용량에 따라서 데이터의 기입 시간이 제한되는 것을 극복하여 순차적 기입 성능을 3배 이상 향상시킬 수 있다.
본 발명의 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법은 메모리 셀 내부의 여유 공간에 기초하여 가상 SLC 버퍼 방식과 MLC 방식으로 프로그램 방식을 선택할 수 있기 때문에 프로그램 동작의 유연성을 기할 수 있다.
아울러 본 발명의 실시예는 예시를 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 페이지들에 대한 프로그램 방식을 설명하기 위한 메모리 셀들의 문턱 전압 분포도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 비휘발성 메모리의 프로그램 방법을 설명하기 위한 개념도들이고, 도 4는 도 3a 및 도 3b에 도시된 개념도들에 따른 비휘발성 메모리의 프로그램 방법을 나타내는 흐름도이다.
도 5a 및 도 5b는 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 설명하기 위한 개념도들이다.
도 6a 및 도 6b는 기입 모드 신호(Wmode)에 기초하여 MLC 방식과 가상 SLC 버퍼 방식을 함께 사용하는 경우의 프로그램 성능과 비휘발성 메모리 장치에 요구되는 집적도를 도시한 그래프들이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 비휘발성 메모리 장치를 나타내는 블록도이다.
도 1을 참조하면, 비휘발성 메모리 장치(10)는 기입 제어부(100), 데이터 기입부(200), 메모리 셀 어레이(300) 및 카피 백 부(400)를 포함할 수 있다.
기입 제어부(100)는 호스트와 같은 외부 장치로부터 커맨드 신호(CMD), 어드레스 신호(ADDR) 및 데이터 신호(DATA)를 수신하여 기입 모드 신호(Wmode), 어드레스 할당 신호(ALC)를 생성할 수 있다.
기입 모드 신호(Wmode)는 메모리 셀 어레이(300)에 포함된 메모리 블록들에 대하여 가상 SLC 버퍼 방식으로 프로그램을 수행할 것인지, MLC 방식으로 프로그램을 수행할 것인지, 실시예에 따라서는 SLC 방식으로 프로그램을 수행할 것인지에 대한 정보를 포함한다. 본 발명에서 설명하는 가상 SLC 버퍼 방식은 사용자가 인식하는 프로그램 시간, 즉 칩 활성화 구간 동안에는 비교적 기입 시간이 짧은 SLC 방식으로 프로그램을 수행하고, 이후에 칩 아이들 상태가 되면, 즉 사용자가 인식할 수 없는 동작 동안, SLC 방식으로 기입된 데이터들을 MLC 방식으로 카피 백하는 것이다. 여기서 SLC 방식으로 프로그램을 수행하는 것은 메모리 셀의 LSB 페이지와 MSB 페이지 중에서 LSB 페이지에 프로그램을 수행하는 것이다. 본 발명에서 비휘발성 메모리 장치는 칩 아이들 신호(chip_idle)에 응답하여 백그라운드 동작을 수행할 수 있으며, 읽기, 쓰기와 같은 커맨드 신호(CMD)에 응답하여 칩 활성화 구간으로 진입할 수 있다.
또한, 기입 모드 신호(Wmode)는 각 메모리 블록 마다 프로그램 방식을 설정할 수 있어, 결론적으로 복수의 메모리 블록에 대하여 프로그램을 수행할 때 특정한 프로그램 방식의 비율을 결정할 수 있다.
기입 모드 신호(Wmode)에 따라 결정되는 프로그램 방식의 비율은 외부에서 제어되거나, 메모리 셀 어레이(300)에 포함된 데이터 기입 여유 공간에 기초하여 결정될 수 있다. 예를 들어, MLC 방식과 SLC 방식은 기입 시간에 차이가 있기 때문에, 보다 빠른 프로그램을 수행하기 위해서는 가상 SLC 버퍼 방식에 따른 기입의 비율을 높일 수 있다. 이와는 달리, 칩 활성화 구간 동안에 메모리 셀 어레이(300)에 SLC 방식으로 데이터를 임시로 기입해 놓을 공간이 부족한 경우에는 가상 SLC 버퍼 방식을 줄이고 MLC 방식에 따른 프로그램의 비율을 높일 수 있다.
어드레스 할당 신호(ACL)는 어드레스 신호(ADDR)에 기초하여 가상 SLC 버퍼 방식으로 데이터를 기입할 메모리 블록을 할당할 수 있다. 예를 들어, 어드레스 할당 신호(ACL)는 칩 활성화 구간 동안에 임시로 데이터를 기입해 놓을 가상 SLC 버퍼로 사용되는 메모리 블록의 어드레스를 할당할 수 있다. 또한, 어드레스 할당 신호(ACL)는 칩 활성화 구간 동안에 일반적인 MLC 방식으로 데이터를 기입할 메모리 블록을 할당할 수도 있다
실시예에 따라, 기입 제어부(100)는 카피 백 제어 신호(CB_CON)를 생성할 수 있다. 카피 백 제어 신호(CB_CON)는 어드레스 할당 신호(ACL)에 기초하여 제1 페이지, 즉 LSB 페이지에 데이터가 기입된 메모리 블록들에 대하여, 특정 메모리 블록에 대해서 MSB 페이지로 데이터를 카피 백 하는 것을 지정할 수 있다. 예를 들어, 칩 활성화 구간 동안에 어드레스 할당 신호(ACL)에 기초하여 제1 메모리 블록의 제1 페이지, 즉 LSB 페이지와 제2 메모리 블록의 제1 페이지에 데이터들이 기입된 이후, 칩 아이들 신호(chip_idle)가 생성되어 백그라운드 동작이 수행되는 동안에, 카피 백 제어 신호(CB_CON)에 따라서 제1 메모리 블록에 기입되었던 데이터가 제2 메모리 블록의 제2 페이지, 즉 MSB 페이지로 카피 백 될 수 있다. 또는, 백그라운드 동작이 수행되는 동안에 카피 백 제어 신호(CB_CON)에 기초하여 제1 메모리 블록에 기입되었던 데이터와 제2 메모리 블록에 기입되었던 데이터가 제3 메모리 블록의 제1 페이지와 제2 페이지에 각각 카피 백 될 수 있다.
카피 백 동작은 LSB 페이지에 기입되어 있던 데이터를 독출하고, 이들을 기초로 하여 LSB 프로그램과 MSB 프로그램을 반복하여 최종적으로 MSB 페이지로 독출된 데이터를 이동시키는 동작이다. 또한, 카피 백 동작 동안에 LSB 페이지에 기입되어 있던 데이터가 독출되고, 이들이 임의의 저장 장치에 저장된 이후에 다른 메모리 블록에 프로그램 될 수 있다.
데이터 기입부(200)는 기입 모드 신호(Wmode), 어드레스 할당 신호(ALC) 및 데이터 신호(DATA)에 기초하여 메모리 셀 어레이(300)에 데이터를 기입하기 위한 기입 전압(Vw)을 생성할 수 있다. 기입 전압(Vw)은 프로그램 전압(Vpgm)과 패스 전압(Vpass) 등을 포함할 수 있으며, 어드레스 할당 신호(ALC)에 따라서 메모리 셀 어레이(300)에 포함된 워드 라인(WL)과 비트 라인(BL)에 상이한 전압들이 제공되어 데이터가 기입될 수 있다. 또한, 본 발명에 있어서, 순차적으로 제공되는 데이터들은 메모리 셀 어레이(300)에 포함된 각 블록들의 워드 라인(WL)을 순차적으로 활성화하면서 기입될 수 있다.
메모리 셀 어레이(300)는 복수의 메모리 블록들(BLK1, BLK2, ..., BLKn)로 이루어지며, 각 메모리 블록의 메모리 셀들은 LSB 페이지와 MSB 페이지를 포함할 수 있다. 구체적으로 설명하면, 메모리 셀 어레이(300)는 복수의 메모리 블록들로 구분되며, 각 메모리 블록들은 복수의 메모리 셀들을 포함한다. 각 메모리 셀은 적어도 하나 이상의 비트를 저장할 수 있는데, 본 발명에서는 2 비트를 저장하는 것을 기본으로 설명하도록 한다. 메모리 셀은 기입되는 비트 수에 기초하여 1 비트를 저장하는 SLC (Single level cell)와 2 비트를 저장하는 MLC (Multi level cell)로 구분하기도 한다. 본 발명에서는 1 비트를 기입하는 방식을 SLC 방식, 2 비트를 기입하는 방식을 MLC 방식이라고 설명한다. 데이터 기입 방식에 대해서는 도 2a 및 도 2b를 참조하여 후술하도록 한다.
카피 백 부(400)는 칩 아이들 신호(chip_idle)에 응답하여 메모리 블록의 제1 페이지에 기입되어 있던 데이터를 다른 메모리 블록의 제2 페이지로 카피 백 한다. 카피 백 동작은 메모리 블록의 제1 페이지에 기입된 데이터를 읽어 임시로 저장한 이후에 카피 백 제어 신호(CB_CON)에 의하여 지정된 다른 메모리 블록의 제2 페이지로 기입하는 방식으로 수행될 수 있다.
본 발명의 일 실시예에서는 카피 백 되는 메모리 블록이, 칩 활성화 구간 동안 제1 페이지에 데이터가 기입되어 있던 메모리 블록일 수 있으나, 다른 실시예에서는 칩 활성화 구간 동안 데이터가 전혀 기입되어 있지 않았던 메모리 블록에 상응할 수도 있다.
실시예에 따라, 칩 아이들 신호(chip_idle)는 커맨드 신호(CMD)에 포함되어 호스트와 같은 외부 장치로부터 제공될 수도 있으나, 기입 제어부(100)에 기설정된(predetermined) 시간 동안 커맨드 신호(CMD)가 제공되지 않는 경우에도 칩 아이들 신호(chip_idle)를 생성하여 제공할 수 있다.
또한, 실시예에 따라, 칩 활성화 구간 동안 SLC 방식으로 프로그램 되고, 칩 아이들 신호(chip_idle)에 응답하여 카피 백 된 데이터들은 본래 기입된 메모리 블록에서 소거될 수 있다.
도 2a 및 도 2b는 본 발명의 일 실시예에 따른 페이지들에 대한 프로그램 방식을 설명하기 위한 메모리 셀들의 문턱 전압 분포도이다.
도 2a는 하나의 메모리 셀에 하나의 비트를 저장하는 SLC 방식의 프로그램에 대한 메모리 셀들의 문턱 전압 분포도이다.
도 2a를 참조하면, 메모리 셀들은 S1 상태와 S2 상태의 문턱 전압 분포를 가진다. S1 상태는 메모리 셀이 소거 상태에 있는 것으로, 플래시 메모리와 같은 비휘발성 메모리 셀에 있어서 문턱 전압이 음의 값을 가지는 경우이다. S2 상태는 메모리 셀이 프로그램 상태에 있는 것으로 메모리 셀의 문턱 전압이 양의 값을 가지는 경우이다.
소거 상태와 프로그램 상태에 대하여 각각 데이터 '0'과 '1'을 할당하여, 하나의 메모리 셀이 1 비트를 저장할 수 있다. 이 경우, 메모리 셀을 프로그램 하는 경우에는 문턱 전압을 음의 값에서 양의 값으로 변화시키기만 하면 되기 때문에, 플래시 메모리 셀의 플로팅 게이트(Floating gate)에 전자를 트랩 시키기만 하는 과정으로 LSB 프로그램이 수행된다.
도 2b는 하나의 메모리 셀에 두 개의 비트를 저장하는 MLC 방식의 프로그램에 대한 메모리 셀들의 문턱 전압 분포도이다.
도 2b를 참조하면, MLC 방식의 프로그램에 있어서, 메모리 셀들은 S3 상태 내지 S6 상태의 4 가지 상태를 가진다.
MLC 방식의 프로그램에 있어서 하나의 메모리 셀은 각각 1 비트를 저장하는 LSB 페이지와 MSB 페이지를 포함한다. LSB 페이지를 프로그램 하는 과정은 도 2a에 도시한 SLC 방식의 프로그램과 실질적으로 동일할 수 있다.
예를 들어, LSB 페이지에 '1'을 기입한 것이 S3 상태와 S6 상태이고, LSB 페이지에 '0'을 기입한 것이 S4 상태와 S5 상태이다. 도 2a에서 S1 상태에 있던 메모리 셀들은 S3 상태, S1 상태에 있던 메모리 셀들에 대하여 MSB 프로그램을 수행하면 S6 상태가 된다.
S1 상태에 있던 메모리 셀들에 대하여 도 2a에 도시된 바와 같이 LSB 프로그램을 한 번 수행하여 S2 상태가 된 메모리 셀들은 S4 상태, S4 상태의 메모리 셀에 대하여 한 번의 MSB 프로그램을 더 수행하면 S5 상태가 된다.
따라서 MLC 방식의 프로그램을 위해서는 LSB 프로그램을 수행한 이후에 MSB 프로그램을 한 번 더 수행하는 것으로 이해할 수 있다.
결론적으로 SLC 방식과 MLC 방식에 있어서 SLC 방식은 프로그램을 위한 시간이 짧은 장점을 가지지만, 하나의 메모리 셀에 기입할 수 있는 데이터가 적기 때문에 메모리 집적도가 떨어진다. 다만, 본 발명의 일 실시예에 따른 비휘발성 메모리 장치 및 이들의 구동 방법은, 사용자가 기입 동작이라고 인식하는 칩 활성화 구간 동안에는 SLC 방식으로 순차적인 데이터를 프로그램 하여 한 번의 LSB 프로그램을 통하여 기입한 이후, 사용자가 동작 시간을 인식하지 못하는 백그라운드 동작 시간, 즉 칩 아이들 신호(chip_idle)에 응답한 이후에는 SLC 방식으로 프로그램 된 데이터들 중 일부에 대하여 다른 메모리 블록의 제2 페이지, 즉 MSB 페이지에 프로그램을 수행하는 카피 백 동작을 수행한다. 따라서 사용자가 인식하는 프로그램 시간은 단축시키면서도, 백그라운드 동작 시간 동안에 메모리의 집적도를 높일 수 있도록 카피 백을 수행하여 이후의 기입 동작에서 데이터의 기입 영역을 확보할 수 있다.
다만, 도 2a 및 도 2b를 참조하여 LSB 및 MSB 프로그램 방식을 설명한 것은 예시적인 것으로, 실시예에 따라서 다른 방식으로 프로그램을 수행할 수도 있다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 비휘발성 메모리의 프로그램 방법을 설명하기 위한 개념도들이고, 도 4는 도 3a 및 도 3b에 도시된 개념도들에 따른 비휘발성 메모리의 프로그램 방법을 나타내는 흐름도이다. 이하에서는 도 3a, 도 3b 및 도 4를 참조하여 본 발명의 일 실시예에 따른 비휘발성 메모리의 프로그램 방법을 설명하도록 한다.
도 3a 및 도 3b에서 하나의 메모리 셀(C0, ..., C11)에는 각각 LSB 페이지와 MSB 페이지가 포함될 수 있다.
도 1의 기입 제어부(100)는 외부로부터 순차적으로 데이터를 수신하고 커맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여 기입 신호(write) 및 어드레스 할당 신호(ALC)를 생성할 수 있다 (단계 S410). 기입 신호(write)는 커맨드 신호(CMD)에 포함될 수 있다. 어드레스 신호(ADDR)에는 제i 메모리 블록(BLKi)의 LSB 페이지와 MSB 페이지에 데이터를 기입하라는 정보가 포함되지만 칩 활성화 구간 동안에 MLC 방식으로 프로그램을 수행하는 경우, 프로그램에 소요되는 시간이 많기 때문에, 기입 제어부(100)는 제i 메모리 블록(BLKi), 제i 메모리 블록(BLKi)과 인접한 제k 메모리 블록(BLKk)을 할당하고 이들에 SLC 방식으로 프로그램을 수행하도록 하는 기입 모드 신호(Wmode)를 생성한다. 보다 구체적으로는 기입 모드 신호(Wmode)는 가상 SLC 버퍼 방식으로 프로그램을 수행하도록 하는 것이다.
위와 같은 과정을 거쳐, 도 3a에 도시된 바와 같이, 제k 메모리 블록(BLKk)의 LSB 페이지와 제i 메모리 블록(BLKi)의 LSB 페이지에 각각 제1 데이터와 제2 데이터가 SLC 방식으로 프로그램 된다 (단계 S420). 제1 데이터와 제2 데이터는 기입 제어부(100)에 수신된 데이터(DATA)에 포함된다.
LSB 프로그램이 완료된 이후, 도 1의 카피 백 부(400)는 칩 아이들 신호(chip_idle)에 응답하여, 제k 메모리 블록(BLKk)의 LSB 페이지에 프로그램 되었던 제1 데이터를 제i 메모리 블록(BLKi)의 MSB 페이지로 카피 백 한다 (단계 S430). 여기서 제i 메모리 블록(BLKi)의 데이터가 제k 메모리 블록(BLKk)으로 카피 백 되는 과정은 카피 백 제어 신호(CB_CON)에 의하여 제i 메모리 블록의 데이터를 독출하고, 독출된 데이터를 임시 저장한 이후에 제k 메모리 블록(BLKk)의 MSB 페이지에 기입하는 과정으로 이루어진다. 칩 활성화 구간과 비교하였을 때, 상대적으로 프로그램 시간이 긴 MSB 프로그램 방식에 의하기 때문에 프로그램 소요 시간이 길어질 수 있다.
따라서 최종적으로는 최초에 어드레스 신호(ADDR)와 데이터 신호(DATA)에 따른 바대로, 제i 메모리 블록(BLKi)에 데이터들이 LSB 페이지와 MSB 페이지에 각각 프로그램 된다.
결국 최종적으로는 MLC 방식을 따르지만, 칩 활성화 구간 동안에는 메모리 블록에 대하여 SLC 방식에 의하여 프로그램을 수행하여 이를 버퍼처럼 사용하기 때문에 이와 같은 프로그램 방식을 가상 SLC 버퍼 방식이라고 한다.
가상 SLC 버퍼 방식을 수행하는 경우, 최종적으로 데이터가 프로그램 되지 않는 메모리 블록이라고 하더라도 칩 활성화 구간 동안에는 SLC 방식으로 프로그램 되기 때문에 일정한 여유 공간이 필요하다. 예를 들어 도 3a, 도 3b 및 도 4에 기초하여 설명한 비휘발성 메모리 장치의 프로그램 방법에 있어서, 최종적으로 데이터를 프로그램 하는 메모리 블록보다 2 배의 메모리 블록이 필요하다. 이와 같이, 실제 데이터를 프로그램 하는 메모리 블록과 프로그램 과정에서 요구하는 메모리 블록의 비율을 WAF (Write amplification factor)라고 한다. 즉, 상술한 실시예에서 WAF 는 '2'에 상응한다.
다만, 프로그램 과정에서 여유 메모리 블록을 확보하지 못하는 경우가 있을 수 있다. 따라서 일부 실시예들에 있어서는 프로그램 시간을 줄이는 것과 여유 메모리 블록을 확보하는 것의 Trade-off를 위하여 기입 제어부(100)에서 각 메모리 블록에 대한 프로그램 방식을 결정하여 기입 모드 신호(Wmode)를 생성할 수 있다.
즉, 가상 SLC 버퍼 방식을 100% 사용하여, 칩 활성화 구간 동안에 순차적으로 수신되는 데이터들을 모든 메모리 블록들에 대하여 SLC 방식으로 프로그램 한다. 이후, 칩 아이들 신호(chip_idle)에 응답하여 SLC 방식으로 프로그램 된 데이터들을 MSB 프로그램을 통하여 카피 백 할 수 있다.
다만, 일부 메모리 셀들에 대해서는 칩 활성화 구간 동안에 LSB 프로그램 및 MSB 프로그램을 모두 수행하여 하나의 메모리 블록의 LSB 페이지 및 MSB 페이지에 MLC 방식으로 프로그램을 수행하고, 칩 아이들 신호(chip_idle)가 활성화되더라도 별도의 카피 백 동작을 수행하지 않을 수도 있다. 그리고 다른 일부 메모리 셀들에 대해서는 상술한 바와 같은 가상 SLC 버퍼 방식을 사용할 수도 있다.
이러한 방식은 여유 메모리 블록이 부족하거나, 칩 아이들 구간 동안에 카피 백에 소요되는 시간이 지나치게 길어져 전체 비휘발성 메모리 장치의 안정성이 저해되는 경우에 사용될 수 있다.
도 5a 및 도 5b는 본 발명의 다른 실시예에 따른 비휘발성 메모리 장치의 프로그램 방법을 설명하기 위한 개념도들이다. 도 5a 및 도 5b에서 하나의 메모리 셀(C0, ..., C11)에는 각각 LSB 페이지와 MSB 페이지가 포함될 수 있다.
도 5a를 참조하면, 도 1의 기입 제어부(100)는 외부로부터 순차적으로 데이터를 수신하고 커맨드 신호(CMD) 및 어드레스 신호(ADDR)에 기초하여 기입 신호(write) 및 어드레스 할당 신호(ALC)를 생성할 수 있다 (단계 S410). 기입 신호(write)는 커맨드 신호(CMD)에 포함될 수 있다. 어드레스 신호(ADDR)에는 제m 메모리 블록(BLKm)의 LSB 페이지와 MSB 페이지에 데이터를 기입하라는 정보가 포함되나, 칩 활성화 구간 동안에 MLC 방식으로 프로그램을 수행하는 경우에는 프로그램에 소요되는 시간이 많기 때문에, 기입 제어부(100)는 제i 메모리 블록(BLKi), 제i 메모리 블록(BLKi)과 인접한 제k 메모리 블록(BLKk)을 할당하고 이들에 SLC 방식으로 프로그램을 수행하도록 하는 기입 모드 신호(Wmode)를 생성한다. 보다 구체적으로는 기입 모드 신호(Wmode)는 가상 SLC 방식으로 프로그램을 수행하도록 하는 것이다.
위와 같은 과정을 거쳐, 도 5a에 도시된 바와 같이, 제k 메모리 블록(BLKk)의 LSB 페이지와 제i 메모리 블록(BLKi)의 LSB 페이지에 각각 제1 데이터와 제2 데이터가 프로그램 된다 (단계 S420). 제1 데이터와 제2 데이터는 기입 제어부(100)에 수신된 데이터(DATA)에 포함된다.
LSB 프로그램이 완료된 이후, 도 1의 카피 백 부(400)는 칩 아이들 신호(chip_idle)에 응답하여, 제k 메모리 블록(BLKk)의 LSB 페이지에 프로그램 되었던 제1 데이터와 제i 메모리 블록(BLKi)의 LSB 페이지에 프로그램 되었던 제2 데이터를 제m 메모리 블록(BLKm)의 LSB 페이지와 MSB 페이지로 카피 백 한다 (단계 S430). 여기서 도 1의 카피 백 부(400)는 카피 백 제어 신호(CB_CON)에 기초하여 제i 메모리 블록(BLKi)의 제1 데이터와 제k 블록(BLKk)의 제2 데이터를 독출하고, 독출된 제1 데이터와 제2 데이터를 각각 임시 저장한 이후에 제m 메모리 블록(BLKm)의 LSB 페이지와 MSB 페이지에 각각 기입하는 과정으로 이루어진다. 칩 활성화 구간과 비교하였을 때, 상대적으로 프로그램 시간이 긴 MSB 프로그램에 의하기 때문에 프로그램 소요 시간이 길어질 수 있다. 또한, 도 3a, 도 3b 및 도 4를 참조하여 설명한 프로그램 방법과 비교하였을 때, 데이터 독출 시간과 LSB 프로그램 시간이 더 소요될 수 있다. 또한, WAF 가 '3'에 상응할 수 있다.
도 5a 및 도 5b를 참조하여 설명한 비휘발성 메모리 장치의 프로그램 방법에 있어서도, 기입 제어부(100)의 기입 모드 신호(Wmode)에 기초하여 칩 활성화 구간 동안에 일반적인 MLC 방식과 가상 SLC 버퍼 방식을 혼합하여 프로그램 동작을 수행할 수 있다.
도 6a 및 도 6b는 기입 모드 신호(Wmode)에 기초하여 MLC 방식과 가상 SLC 버퍼 방식을 함께 사용하는 경우의 프로그램 성능과 비휘발성 메모리 장치에 요구되는 집적도를 도시한 그래프들이다.
도 6a에서 X 축은 MLC 방식과 가상 SLC 방식의 비율을 나타내고 Y 축은 프로그램 성능, 즉 프로그램 속도를 MBps로 나타낸 것이다.
MLC 방식으로만 프로그램 하였을 경우, 프로그램 성능은 20MBps 정도에 불과하지만, 가상 SLC 방식의 비율이 증가함에 따라 프로그램 성능은 서서히 증가한다. 가상 SLC 버퍼 방식으로만 프로그램 한 경우에는 프로그램 성능이 50MBps 정도가 되어 MLC 방식으로만 프로그램 한 경우보다 2배가 넘는 프로그램 성능의 향상을 보인다.
도 6b에서 X 축은 MLC 방식과 가상 SLC 방식의 비율을 나타내고 Y 축은 요구되는 집적도, 즉 프로그램을 위하여 필요로 하는 메모리 블록의 비율을 나타낸 것이다.
도 6b를 참조하면, MLC 방식만을 사용하였을 경우에는 메모리 블록이 1 배로, 전체 메모리 셀 어레이(300)의 집적도와 동일하다. 그러나 가상 SLC 버퍼 방식을 사용하는 비율이 높아짐에 따라서 추가로 요구되는 메모리 블록이 증가하고, 가상 SLC 버퍼 방식만을 사용하였을 경우에는 MLC 방식만을 사용한 경우보다 2 배의 메모리 블록을 필요로 한다.
가상 SLC 버퍼 방식을 사용하는 경우, 메모리 셀 어레이(300) 내부의 메모리 블록들을 SLC 버퍼처럼 사용하여 프로그램 속도를 향상시킬 수는 있으나, 실제로 메모리 셀 어레이(300)의 메모리 블록 또한 한정되어 있기 때문에 칩 활성화 구간 동안에는 MLC 방식으로 프로그램 하는 경우보다 2 배의 메모리 블록을 필요로 한다.
결론적으로 기입 제어부(100)는 도 6a 및 도 6b에서 나타낸 프로그램 성능과 메모리 셀 어레이의 집적도를 고려하여 기입 모드 신호(Wmode)를 생성할 수 있다.
설명한 바와 같이 본 발명의 일 실시예에 따른 비휘발성 메모리 장치는 칩 활성화 구간 동안에 메모리 셀 어레이에 대하여 LSB 프로그램을 수행하고, 칩 아이들 신호에 응답하여 LSB 프로그램 된 데이터들을 MSB 프로그램을 통하여 다른 메모리 셀들로 이동시킨다. 따라서 칩 활성화 구간 동안의 프로그램 속도를 향상시킬 수 있다.
나아가, 본 발명의 일 실시예들에 따른 비휘발성 메모리 장치의 프로그램 방법은 상술한 바와 같이 메모리 블록 중 일부를 가상 SLC 버퍼와 같이 사용하면서도, 이에 따르는 메모리 블록의 여유 공간을 고려하여 칩 활성화 구간에서도 MLC 방식으로 데이터를 프로그램 할 수 있도록 제어하여 비휘발성 메모리 장치의 프로그램 시간 및 메모리 블록의 공간 활용에 있어서 유연성을 가질 수 있다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
10 : 비휘발성 메모리 장치
100 : 기입 제어부
200 : 데이터 기입부
300 : 메모리 셀 어레이
400 : 카피 백 부

Claims (20)

  1. 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 제1 및 제2 메모리 블록;
    기입 신호 및 어드레스 할당 신호에 응답하여 상기 제1 메모리 블록의 제1 페이지에 제1 데이터를 기입하고, 상기 제2 메모리 블록의 제1 페이지에 제2 데이터를 기입하는 데이터 기입부; 및
    칩 아이들(chip idle) 신호 및 카피 백 제어 신호에 응답하여 상기 제1 메모리 블록에 기입된 제1 데이터를 상기 제2 메모리 블록의 제2 페이지에 기입하는 카피 백(copy back) 부를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  2. 청구항 1에 있어서,
    상기 제1 페이지는 LSB(Least significant bit) 영역에 상응하고, 상기 제2 페이지는 MSB(Most significant bit) 영역에 상응하는 것을 특징으로 하는 비휘발성 메모리 장치.
  3. 청구항 1에 있어서,
    상기 제1 메모리 블록과 상기 제2 메모리 블록은 서로 인접한 메모리 블록인 것을 특징으로 하는 비휘발성 메모리 장치.
  4. 청구항 1에 있어서,
    어드레스 신호에 기초하여 제1 데이터에 대하여 상기 제1 메모리 블록의 주소를 대응시키고, 상기 제2 데이터에 대하여 상기 제2 메모리 블록의 주소를 대응시키는 상기 어드레스 할당 신호를 생성하는 기입 제어부를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  5. 청구항 4에 있어서,
    상기 기입 제어부는,
    상기 기입 신호를 포함하는 커맨드 신호 및 상기 어드레스 신호를 수신하여 상기 메모리 블록들에 대한 기입 방법을 결정하는 기입 모드 신호를 생성하는 것을 특징으로 하는 비휘발성 메모리 장치.
  6. 청구항 5에 있어서,
    상기 기입 모드 신호는 상기 메모리 블록에 데이터가 기입되는 페이지 수를 결정하는 것을 특징으로 하는 비휘발성 메모리 장치.
  7. 청구항 6에 있어서,
    상기 데이터 기입부는 상기 메모리 블록에 대하여 단일 페이지로 데이터를 기입하는 경우는 상기 메모리 블록을 SLC 버퍼로, 상기 메모리 블록에 대하여 복수의 페이지들로 데이터를 기입하는 경우는 상기 메모리 블록을 MLC로 판단하여 기입 동작을 수행하는 것을 특징으로 하는 비휘발성 메모리 장치.
  8. 청구항 5에 있어서,
    상기 칩 아이들 신호는 상기 커맨드 신호에 포함되거나, 상기 커맨드 신호가 기설정된(predetermined) 시간 동안 수신되지 않을 경우, 상기 기입 제어부가 상기 칩 아이들 신호를 생성하는 것을 특징으로 하는 비휘발성 메모리 장치.
  9. 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 제1 내지 제3 메모리 블록들;
    기입 신호 및 어드레스 할당 신호에 응답하여 상기 제1 메모리 블록의 제1 페이지에 제1 데이터를 기입하고, 상기 제2 메모리 블록의 제1 페이지에 제2 데이터를 기입하는 데이터 기입부;
    칩 아이들(chip idle) 신호 및 카피 백 제어 신호에 응답하여, 상기 제1 메모리 블록에 기입된 제1 데이터와 상기 제2 메모리 블록에 기입된 제2 데이터를 상기 제3 메모리 블록의 제1 및 제2 페이지들에 각각 기입하는 카피 백(copy back) 부; 및
    어드레스 신호에 기초하여 상기 제1 데이터에 대하여 상기 제1 메모리 블록의 주소를 대응시키고, 상기 제2 데이터에 대하여 상기 제2 메모리 블록의 주소를 대응시키는 상기 어드레스 할당 신호를 생성하고, 읽기 신호를 포함하는 커맨드 신호 및 상기 어드레스 신호를 수신하여 상기 메모리 블록들에 대한 기입 방법을 결정하는 기입 모드 신호를 생성하며, 상기 어드레스 신호에 기초하여 상기 카피 백 제어 신호를 생성하는 기입 제어부를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치.
  10. 청구항 9에 있어서,
    상기 제1 페이지는 LSB(Least significant bit) 영역에 상응하고, 상기 제2 페이지는 MSB(Most significant bit) 영역에 상응하는 것을 특징으로 하는 비휘발성 메모리 장치.
  11. 삭제
  12. 청구항 9에 있어서,
    상기 기입 모드 신호는 상기 메모리 블록들을 가상 SLC 버퍼 방식 또는 MLC 방식으로 데이터를 기입하도록 결정하며,
    상기 기입 제어부는 상기 기입 모드 신호에 기초하여 상기 메모리 블록들에 대하여 상기 가상 SLC 버퍼 방식 및 MLC 방식의 비율을 결정하는 것을 특징으로 하는 비휘발성 메모리 장치.
  13. 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 복수의 메모리 블록들에 대한 구동 방법에 있어서,
    커맨드 신호 및 어드레스 신호에 기초하여 기입 신호 및 어드레스 할당 신호를 제공하는 제1 단계;
    상기 기입 신호 및 상기 어드레스 할당 신호에 응답하여 인접한 제1 메모리 블록과 제2 메모리 블록의 제1 페이지에 상기 데이터들을 순차적으로 기입하는 제2 단계; 및
    칩 아이들 신호 및 카피 백 제어 신호에 응답하여 상기 제1 메모리 블록의 제1 페이지에 기입된 데이터를 상기 제2 메모리 블록의 제2 페이지로 카피 백(Copy back) 하는 제3 단계를 포함하고,
    상기 제3 단계는,
    상기 제1 메모리 블록에 기입된 데이터를 독출하는 단계; 및
    상기 독출된 데이터를 상기 제2 메모리 블록의 제2 페이지에 MSB 프로그램 하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  14. 청구항 13에 있어서,
    상기 커맨드 신호에 기초하거나, 상기 커맨드 신호가 기설정된 시간 동안 수신되지 않는 경우, 상기 칩 아이들 신호를 생성하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  15. 청구항 13에 있어서,
    상기 메모리 블록들에 대한 데이터 기입 방식을 결정하여 기입 모드 신호를 생성하는 단계를 포함하며,
    상기 기입 모드 신호에 기초하여 상기 메모리 블록들을 가상 SLC 버퍼 방식으로 프로그램 하는 경우, 상기 제2 및 제3 단계를 수행하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  16. 삭제
  17. 복수의 페이지들을 포함하는 복수의 메모리 셀들을 포함하며 상기 페이지들에는 데이터들이 순차적으로 기입되는 복수의 메모리 블록들에 대한 구동 방법에 있어서,
    커맨드 신호 및 어드레스 신호에 기초하여 기입 신호 및 어드레스 할당 신호를 제공하는 단계;
    상기 기입 신호 및 상기 어드레스 할당 신호에 응답하여 인접한 제1 메모리 블록과 제2 메모리 블록의 제1 페이지에 상기 데이터들을 순차적으로 기입하는 단계;
    칩 아이들 신호 및 카피 백 제어 신호에 응답하여 상기 제1 및 제2 메모리 블록들의 제1 페이지들에 기입된 데이터를 제3 메모리 블록의 제1 및 제2 페이지들로 카피 백(Copy back) 하는 단계; 및
    상기 카피 백하는 단계가 완료된 이후, 상기 제1 메모리 블록 및 제2 메모리 블록에 기입된 상기 데이터들을 소거하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  18. 청구항 17에 있어서,
    상기 기입된 데이터를 카피 백하는 단계는,
    상기 제1 및 제2 메모리 블록들의 제1 페이지들에 기입된 데이터를 각각 독출하는 단계;
    상기 제1 메모리 블록들의 제1 페이지들로부터 독출한 데이터를 상기 제3 메모리 블록의 제1 페이지로 LSB 프로그램 하는 단계; 및
    상기 제2 메모리 블록들의 제1 페이지들로부터 독출한 데이터를 상기 제3 메모리 블록의 제2 페이지로 MSB 프로그램 하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
  19. 삭제
  20. 청구항 18에 있어서,
    상기 제1 페이지는 LSB(Least significant bit) 영역에 상응하고, 상기 제2 페이지는 MSB(Most significant bit) 영역에 상응하는 것을 특징으로 하는 비휘발성 메모리 장치의 프로그램 방법.
KR1020120050959A 2012-05-14 2012-05-14 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법 KR101959567B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120050959A KR101959567B1 (ko) 2012-05-14 2012-05-14 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US13/722,932 US8966163B2 (en) 2012-05-14 2012-12-20 Non-volatile memory device and method for programming the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120050959A KR101959567B1 (ko) 2012-05-14 2012-05-14 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20130127207A KR20130127207A (ko) 2013-11-22
KR101959567B1 true KR101959567B1 (ko) 2019-03-18

Family

ID=49549562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120050959A KR101959567B1 (ko) 2012-05-14 2012-05-14 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법

Country Status (2)

Country Link
US (1) US8966163B2 (ko)
KR (1) KR101959567B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9305655B2 (en) * 2013-09-27 2016-04-05 Virtium Technology, Inc. Solving MLC NAND paired page program using reduced spatial redundancy
US20160216910A1 (en) * 2013-09-27 2016-07-28 Virtium Llc Solving MLC NAND paired page program using reduced spatial redundancy
US9099185B2 (en) * 2013-12-20 2015-08-04 Seagate Technology Llc Using different programming modes to store data to a memory cell
US9972393B1 (en) * 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
KR20160074237A (ko) * 2014-12-18 2016-06-28 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10042575B2 (en) * 2015-03-06 2018-08-07 Toshiba Memory Corporation Memory system including a battery powered buffer with a storage capacity of that buffer dependent on the voltage level of the battery
US9378782B1 (en) * 2015-05-24 2016-06-28 Silicon Laboratories Inc. Apparatus with write-back buffer and associated methods
US9830108B2 (en) * 2015-10-12 2017-11-28 Sandisk Technologies Llc Write redirect
US10360973B2 (en) * 2016-12-23 2019-07-23 Western Digital Technologies, Inc. Data mapping enabling fast read multi-level 3D NAND to improve lifetime capacity
KR20180076605A (ko) * 2016-12-28 2018-07-06 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10153046B1 (en) * 2017-10-30 2018-12-11 Western DigitalTechnologies, Inc. Non-volatile memory with backing up of programmed data
DE102017221710A1 (de) * 2017-12-01 2019-06-06 Continental Automotive Gmbh Datenspeichervorrichtung für ein Kraftfahrzeug
US10614879B2 (en) * 2018-07-24 2020-04-07 Stmicroelectronics (Rousset) Sas Extended write modes for non-volatile static random access memory architectures having word level switches
JP2020035128A (ja) * 2018-08-29 2020-03-05 キオクシア株式会社 メモリシステム
TWI698749B (zh) * 2019-03-13 2020-07-11 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
US10949126B2 (en) * 2019-07-25 2021-03-16 ScaleFlux, Inc. Solid-state storage device speed performance and endurance through host-side data classification and embedded write caching
KR20210045029A (ko) 2019-10-16 2021-04-26 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 동작 방법
KR20210055514A (ko) 2019-11-07 2021-05-17 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
KR20210057254A (ko) 2019-11-11 2021-05-21 삼성전자주식회사 스토리지 장치 및 그 동작방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7453712B2 (en) 2006-10-25 2008-11-18 Samsung Electronics Co., Ltd. Hybrid flash memory device and method for assigning reserved blocks thereof
US20090248952A1 (en) * 2008-03-31 2009-10-01 Radke William H Data conditioning to improve flash memory reliability
WO2011071645A1 (en) 2009-12-07 2011-06-16 Sandisk Corporation Method and system for concurrent background and foreground operations in a non-volatile memory array
US8108595B2 (en) 2008-10-30 2012-01-31 Hitachi, Ltd. Storage apparatus and method of managing data storage area
US20130046920A1 (en) 2011-08-17 2013-02-21 Samsung Electronics Co., Ltd. Nonvolatile memory system with migration manager
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4376692B2 (ja) * 2004-04-30 2009-12-02 富士通株式会社 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US8301912B2 (en) * 2007-12-31 2012-10-30 Sandisk Technologies Inc. System, method and memory device providing data scrambling compatible with on-chip copy operation
US8595593B2 (en) * 2008-12-24 2013-11-26 Hynix Semiconductor Inc. Nonvolatile memory device having a copy back operation and method of operating the same
US20110208898A1 (en) * 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
KR101893143B1 (ko) * 2011-03-16 2018-08-31 삼성전자주식회사 비휘발성 메모리 장치, 그것의 프로그램 방법 및 읽기 방법, 및 그것을 포함하는 메모리 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7453712B2 (en) 2006-10-25 2008-11-18 Samsung Electronics Co., Ltd. Hybrid flash memory device and method for assigning reserved blocks thereof
US20090248952A1 (en) * 2008-03-31 2009-10-01 Radke William H Data conditioning to improve flash memory reliability
US8108595B2 (en) 2008-10-30 2012-01-31 Hitachi, Ltd. Storage apparatus and method of managing data storage area
WO2011071645A1 (en) 2009-12-07 2011-06-16 Sandisk Corporation Method and system for concurrent background and foreground operations in a non-volatile memory array
US20130046920A1 (en) 2011-08-17 2013-02-21 Samsung Electronics Co., Ltd. Nonvolatile memory system with migration manager
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory

Also Published As

Publication number Publication date
US20130304966A1 (en) 2013-11-14
KR20130127207A (ko) 2013-11-22
US8966163B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
KR101959567B1 (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
KR100875539B1 (ko) 프로그램 방식을 선택할 수 있는 메모리 시스템
KR100878479B1 (ko) 데이터 정보에 따라 프로그램 방식을 결정하는 메모리시스템
US7453712B2 (en) Hybrid flash memory device and method for assigning reserved blocks thereof
US20170160942A1 (en) Data storage device and flash memory control method
KR100894809B1 (ko) 메모리 시스템 및 그것의 프로그램 방법
KR102147359B1 (ko) 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
KR101434160B1 (ko) 애드 혹 플래시 메모리 기준 셀
US20080259708A1 (en) Memory controller
US20090089491A1 (en) Semiconductor memory device and data management method using semiconductor memory device
JP2008123330A (ja) 不揮発性半導体記憶装置
KR100823170B1 (ko) 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드
US8274840B2 (en) Nonvolatile memory devices having built-in memory cell recovery during block erase and methods of operating same
US8751735B2 (en) Protection against data corruption for multi-level memory cell (MLC) flash memory
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
US8694748B2 (en) Data merging method for non-volatile memory module, and memory controller and memory storage device using the same
CN101641679A (zh) 用于系统管理的多级单元选择的多程序
US20170364265A1 (en) Data storage device and data maintenance method thereof
CN111863077A (zh) 存储装置、控制器以及操作控制器的方法
JP2020086739A (ja) メモリコントローラ及びこれを備えるフラッシュメモリシステム
US20210026557A1 (en) Dynamic memory address write policy translation based on performance needs
KR20090020928A (ko) 복수개의 뱅크들을 동시에 프로그램할 수 있는 반도체메모리 장치 및 방법
KR20110001098A (ko) 불휘발성 메모리 소자의 프로그램 방법
KR101027687B1 (ko) 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

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