KR101893145B1 - 메모리 시스템들 및 그것들의 블록 복사 방법들 - Google Patents

메모리 시스템들 및 그것들의 블록 복사 방법들 Download PDF

Info

Publication number
KR101893145B1
KR101893145B1 KR1020110129581A KR20110129581A KR101893145B1 KR 101893145 B1 KR101893145 B1 KR 101893145B1 KR 1020110129581 A KR1020110129581 A KR 1020110129581A KR 20110129581 A KR20110129581 A KR 20110129581A KR 101893145 B1 KR101893145 B1 KR 101893145B1
Authority
KR
South Korea
Prior art keywords
page
programming
data
buffer
word line
Prior art date
Application number
KR1020110129581A
Other languages
English (en)
Other versions
KR20130063191A (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 KR1020110129581A priority Critical patent/KR101893145B1/ko
Priority to US13/690,544 priority patent/US9032272B2/en
Priority to DE102012111829A priority patent/DE102012111829A1/de
Priority to JP2012267028A priority patent/JP6262426B2/ja
Priority to CN201210520121.XA priority patent/CN103151069B/zh
Publication of KR20130063191A publication Critical patent/KR20130063191A/ko
Priority to US14/695,375 priority patent/US9280420B2/en
Application granted granted Critical
Publication of KR101893145B1 publication Critical patent/KR101893145B1/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명에 따른 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 블록 복사 방법은, 상기 비휘발성 메모리 장치의 소스 블록으로부터 데이터를 읽는 단계, 상기 읽혀진 데이터의 에러를 정정하는 단계, 상기 에러 정정된 데이터를 버퍼링하는 단계, 및 상기 버퍼링된 데이터를 상기 비휘발성 메모리 장치의 타겟 블록으로 재프로그래밍 방식을 이용하여 프로그램 동작을 수행하는 단계를 포함하고, 상기 재프로그래밍 방식은 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록 복수의 프로그래밍들을 수행한다.

Description

메모리 시스템들 및 그것들의 블록 복사 방법들{MEMORY SYSTEMS AND BLOCK COPY METHODS THEREOF}
본 발명은 메모리 시스템들 및 그것들의 블록 복사 방법들에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 비휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 비휘발성 반도체 메모리 장치는 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 비휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다.
비휘발성 반도체 메모리 장치로는 마스크 롬(Mask read-only memory, MROM), 프로그램 가능한 롬(Programmable read-only memory, PROM), 소거 및 프로그램 가능한 롬(Erasable programmable read-only memory, EPROM), 전기적으로 소거 및 프로그램 가능한 롬(Electrically erasable programmable read-only memory, EEPROM) 등이 있다.
비휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 플래시 메모리 장치는 태블릿, 컴퓨터, 휴대폰, PDA, 디지털 카메라, 캠코더, 보이스 리코더, MP3 플레이어, 개인용 휴대 단말기(PDA), 휴대용 컴퓨터(Handheld PC), 게임기, 팩스, 스캐너, 프린터 등(이하, '호스트'라 함)과 같은 정보기기들의 음성 및 영상 데이터 저장 매체로서 널리 사용되고 있다.
최근 들어 메모리 장치에 대한 고용량화 요구의 증가에 따라, 하나의 메모리 셀에 멀티 비트를 저장하는 멀티 레벨 셀(Multi-Level Cell: MLC) 또는 멀티-비트 메모리 장치들이 보편화되고 있다.
본 발명의 목적은 신규한 메모리 시스템들 및 그것들의 블록 복사 방법들을 제공하는데 있다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 블록 복사 방법은,상기 비휘발성 메모리 장치의 소스 블록으로부터 데이터를 읽는 단계; 상기 읽혀진 데이터의 에러를 정정하는 단계; 상기 에러 정정된 데이터를 버퍼링하는 단계; 및 상기 버퍼링된 데이터를 상기 비휘발성 메모리 장치의 타겟 블록으로 재프로그래밍 방식을 이용하여 프로그램 동작을 수행하는 단계를 포함하고, 상기 재프로그래밍 방식은 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록 복수의 프로그래밍들을 수행한다.
실시 예에 있어서, 상기 복수의 프로그래밍들 중 적어도 2개는 동일한 멀티 비트 프로그램 동작이다.
실시 예에 있어서, 상기 복수의 프로그래밍들 중 적어도 1개는 상기 동일한 멀티 비트보다 낮은 멀티 비트 프로그램 동작을 수행한다.
실시 예에 있어서, 상기 복수의 프로그래밍들은 3 개의 동일한 멀티 비트 프로그램 동작을 수행한다.
실시 예에 있어서, 상기 비휘발성 메모리 장치는, 싱글 레벨 셀들로 구성된 제 1 영역; 및 멀티 레벨 셀들로 구성된 제 2 영역을 포함하고, 상기 제 2 영역은 상기 소스 블록과 상기 타겟 블록을 포함한다.
실시 예에 있어서, 상기 복수의 프로그래밍들은, 상기 버퍼링된 데이터를 3 비트 프로그램하는 제 1 프로그래밍; 상기 제 1 프로그래밍 이후에 상기 버퍼링된 데이터를 3 비트 프로그램하는 제 2 프로그래밍; 및 상기 제 2 프로그래밍 이후에 상기 버퍼링된 데이터를 3 비트 프로그램하는 제 3 프로그래밍을 포함한다.
실시 예에 있어서, 상기 1 프로그래밍에서 상기 제 2 프로그래밍으로 수행될 때 문턱전압의 산포들의 폭들이 좁혀지는 정도는, 상기 제 2 프로그래밍에서 상기 3 프로그래밍으로 수행될 때 문턱전압의 산포들의 폭들을 좁혀지는 정도보다 크다.
실시 예에 있어서, 상기 제 1 프로그래밍의 검증 전압들의 개수들은 상기 제 2 및 제 3 프로그래밍들의 검증 전압들의 개수보다 작다.
실시 예에 있어서, 제 1 워드라인에 대응하는 제 2 프로그래밍은, 제 2 워드라인에 대응하는 제 1 프로그래밍을 수행한 뒤 수행되고, 상기 제 1 워드라인에 대응하는 제 3 프로그래밍은, 상기 제 2 워드라인에 대응하는 제 2 프로그래밍을 수행한 뒤 수행된다.
실시 예에 있어서, 상기 에러를 정정하는 단계는, 상기 메모리 제어기의 에러 정정 회로에서 상기 읽혀진 데이터의 에러를 정정하는 단계를 포함한다.
실시 예에 있어서, 상기 데이터를 버퍼링하는 단계는, 상기 메모리 제어기의 버퍼 램에서 상기 에러 정정된 데이터를 저장하는 단계를 포함한다.
실시 예에 있어서, 상기 데이터를 버퍼링하는 단계는, 상기 비휘발성 메모리 장치의 상기 제 1 영역에 상기 에러 정정된 데이터를 버퍼 프로그램시키는 단계는 포함한다.
실시 예에 있어서, 상기 에러를 정정하는 단계는, 상기 비휘발성 메모리 장치의 에러 정정 회로에서 상기 읽혀진 데이터를 에러 정정하는 단계를 포함한다.
실시 예에 있어서, 상기 소스 블록은 적어도 2 개의 블록들을 포함하고, 상기 블록들의 머지 동작을 수행하기 위하여 상기 소스 블록의 데이터를 상기 타겟 블록으로 복사시킨다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 블록 복사 방법은, 소스 워드라인에 연결된 복수의 메모리 셀들로부터 하위비트 페이지를 읽고, 상기 읽혀진 하위비트 페이지의 에러를 정정하고, 상기 에러 정정된 하위비트 페이지를 제 1 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계; 상기 소스 워드라인에 연결된 복수의 메모리 셀들로부터 중간비트 페이지를 읽고, 상기 읽혀진 중간비트 페이지의 에러를 정정하고, 상기 에러 정정된 중간비트 페이지를 제 2 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계; 상기 소스 워드라인에 연결된 복수의 메모리 셀들로부터 상위비트 페이지를 읽고, 상기 읽혀진 상위비트 페이지의 에러를 정정하고, 상기 에러 정정된 상위비트 페이지를 제 3 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계; 및 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 및 상위비트 페이지를 타겟 워드라인에 연결된 복수의 메모리 셀들로 재프로그래밍 방식을 이용하여 프로그램하는 단계를 포함하고, 상기 재프로그래밍 방식은 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록 복수의 프로그래밍들을 수행한다.
실시 예에 있어서, 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들은 싱글 레벨 셀들이다.
실시 예에 있어서, 상기 제 1 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는, 상기 읽혀진 하위비트 페이지를 에러 정정 회로에 전송하는 단계; 상기 에러 정정 회로에서 상기 하위비트 페이지의 에러를 정정하는 단계; 및 상기 에러 정정된 하위비트 페이지를 페이지 버퍼에 전송하는 단계를 포함하고, 상기 제 2 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는, 상기 읽혀진 중간비트 페이지를 상기 에러 정정 회로에 전송하는 단계; 상기 에러 정정 회로에서 상기 중간비트 페이지의 에러를 정정하는 단계; 및 상기 에러 정정된 중간비트 페이지를 상기 페이지 버퍼에 전송하는 단계를 포함하고, 상기 제 3 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는, 상기 읽혀진 상위비트 페이지를 상기 에러 정정 회로에 전송하는 단계; 상기 에러 정정 회로에서 상기 상위비트 페이지의 에러를 정정하는 단계; 및 상기 에러 정정된 상위비트 페이지를 상기 페이지 버퍼에 전송하는 단계를 포함한다.
실시 예에 있어서, 상기 에러 정정 회로는 상기 메모리 제어기에 포함된다.
실시 예에 있어서, 상기 에러 정정 회로는 상기 비휘발성 메모리 장치에 포함된다.
실시 예에 있어서, 상기 복수의 프로그래밍들은, 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지를 상기 타겟 워드라인에 연결된 복수의 셀들로 프로그램하는 제 1 프로그래밍; 상기 제 1 프로그래밍 이후, 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지를 상기 타겟 워드라인에 연결된 복수의 셀들로 프로그램하는 제 2 프로그래밍; 및 상기 제 2 프로그래밍 이후, 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지를 상기 타겟 워드라인에 연결된 복수의 셀들로 프로그램하는 제 3 프로그래밍을 포함한다.
실시 예에 있어서, 상기 타겟 워드라인에 대응하는 상기 제 2 프로그래밍은, 다른 타겟 워드라인에 대응하는 제 1 프로그래밍을 수행한 뒤 수행되고, 상기 타겟 워드라인에 대응하는 상기 제 3 프로그래밍은, 상기 다른 타켓 워드라인에 대응하는 제 2 프로그래밍을 수행한 뒤 수행된다.
실시 예에 있어서, 상기 제 1, 제 2, 및 제 3 프로그래밍들 각각은, 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지들 각각을 읽어 페이지 버퍼에 저장하는 단계; 및 상기 페이지 버퍼에 저장된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지들을 상기 타겟 워드라인에 연결된 메모리 셀들로 프로그램하는 단계를 포함한다.
실시 예에 있어서, 상기 복수의 프로그래밍들 중 적어도 2개는 동일 비트 프로그램 동작을 수행한다.
본 발명의 실시 예에 따른 메모리 시스템은, 제 1 페이지, 제 2 페이지, 및 제 3 페이지들 각각이 대응하는 버퍼 워드라인들에 연결된 메모리 셀들로 프로그램되는 버퍼 영역; 상기 버퍼 영역으로부터 읽혀진 상기 제 1 페이지, 상기 제 2 페이지, 및 상기 제 3 페이지들이 하나의 워드라인에 연결된 메모리 셀들에 재프로그래밍 방식으로 프로그램되는 사용자 데이터 영역을 갖는 비휘발성 메모리 장치; 및 상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고, 상기 재프로그래밍 방식은, 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록 3 개의 프로그래밍들을 수행하고, 상기 사용자 데이터 영역의 소스 블록의 데이터를 타겟 블록으로 복사할 때, 상기 소스 블록의 데이터를 읽고, 상기 읽혀진 데이터를 에러 정정하고, 상기 에러 정정된 데이터를 버퍼링하고, 상기 버퍼링된 데이터를 이용하여 상기 프로그래밍들을 수행한다.
실시 예에 있어서, 상기 메모리 제어기는, 상기 소스 블록으로부터 읽혀진 데이터를 에러 정정하는 에러 정정 회로를 포함한다.
실시 예에 있어서, 상기 메모리 제어기는, 상기 버퍼링된 데이터를 저장하는 버퍼 램을 포함한다.
실시 예에 있어서, 상기 프로그래밍들은, 2-비트 프로그램 동작을 수행하는 제 1 프로그래밍; 상기 제 1 프로그래밍 이후에 3-비트 프로그램 동작을 수행하는 제 2 프로그래밍; 및 상기 제 2 프로그래밍 이후에, 상기 제 2 프로그래밍의 검증 전압들보다 높은 검증 전압들로 3-비트 프로그램 동작을 수행하는 제 3 프로그래밍을 포함한다.
실시 예에 있어서, 상기 프로그래밍들은, 3-비트 프로그램 동작을 수행하는 제 1 프로그래밍; 상기 제 1 프로그래밍 이후에 상기 제 1 프로그래밍의 검증 전압들보다 높은 검증 전압들로 3-비트 프로그램 동작을 수행하는 제 2 프로그래밍; 및 상기 제 2 프로그래밍 이후에, 상기 제 2 프로그래밍의 검증 전압들보다 높은 검증 전압들로 3-비트 프로그램 동작을 수행하는 제 3 프로그래밍을 포함한다.
실시 예에 있어서, 상기 비휘발성 메모리 장치의 상기 버퍼 영역은, 상기 버퍼링된 데이터가 버퍼 프로그램된다.
실시 예에 있어서, 상기 비휘발성 메모리 장치는, 상기 소스 블록으로부터 읽혀진 데이터를 에러 정정하는 에러 정정 회로를 포함한다.
본 발명의 실시 예에 따른 메모리 시스템의 블록 복사 방법은, 제 1 블록의 제 1 워드라인에 연결된 메모리 셀로부터 적어도 하나의 제 1 유효 페이지를 읽는 단계; 제 2 블록의 제 2 워드라인에 연결된 메모리 셀로부터 적어나 하나의 제 2 유효 페이지를 읽는 단계; 상기 읽혀진 제 1 및 제 2 유효 페이지들을 에러 정정하는 단계; 상기 에러 정정된 제 1 및 제 2 유효 페이지들을 버퍼링하는 단계; 및 상기 버퍼링된 제 1 및 제 2 유효 페이지들을 제 3 블록의 제 3 워드라인에 연결된 메모리 셀들로 프로그램하는 단계를 포함하고, 상기 제 3 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는, 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록 사전에 결정된 어드레스 스크램블링 순서에 따라 복수의 프로그래밍들을 수행하는 단계를 포함한다.
실시 예에 있어서, 상기 제 1 블록 및 상기 제 2 블록은 동일한 블록이다.
실시 예에 있어서, 상기 제 1 블록 및 상기 제 2 블록은 서로 다른 블록이다.
실시 예에 있어서, 상기 제 1 블록은 제 1 비휘발성 메모리 장치에 포함되고, 상기 제 2 블록은 상기 제 1 비휘발성 메모리 장치와 다른 상기 제 2 비휘발성 메모리 장치에 포함된다.
실시 예에 있어서, 상기 제 1 블록은 제 1 비휘발성 메모리 장치에 포함되고, 상기 제 2 블록은 제 2 비휘발성 메모리 장치에 포함되고, 상기 제 3 블록은 상기 제 1 비휘발성 메모리 장치와 다른 상기 제 3 비휘발성 메모리 장치에 포함된다.
실시 예에 있어서, 상기 제 2 비휘발성 메모리 장치는 상기 제 3 비휘발성 메모리 장치이다.
실시 예에 있어서, 상기 버퍼링하는 단계는, 상기 에러 정정된 제 1 및 제 2 유효 페이지들을 버퍼 램에 저장하는 단계를 포함한다.
실시 예에 있어서, 상기 버퍼링하는 단계는, 상기 에러 정정된 제 1 및 제 2 유효 페이지들을 싱글 레벨 셀들에 프로그램하는 단계를 포함한다.
실시 예에 있어서, 상기 어드레스 스크램블링 순서는, 어느 하나의 워드라인에 대응하는 상기 복수의 프로그래밍들 중 적어도 2개가 연속적으로 수행되지 않게 한다.
상술한 바와 같이 본 발명에 따른 메모리 시스템들 및 그것들의 블록 복사 방법들은, 재프로그래밍 방식을 이용하여 블록 복사를 수행한다.
도 1은 본 발명에 따른 재프로그래밍 방식으로 수행되는 프로그램 동작을 예시적으로 보여주는 도면이다.
도 2는 도 1에 도시된 프로그램 동작을 개념적으로 설명하기 위한 메모리 시스템을 예시적으로 보여주는 도면이다.
도 3은 도 2에 도시된 사용자 데이터 영역을 예시적으로 보여주는 도면이다.
도 4a는 도 3에 도시된 사용자 데이터 영역의 어느 하나의 메모리 셀에 저장되는 3-비트 데이터를 예시적으로 보여주는 문턱전압 산포이다.
도 4b는 도 3에 도시된 사용자 데이터 영역의 어느 하나의 메모리 셀에 저장되는 3-비트 데이터를 예시적으로 보여주는 문턱전압 산포이다.
도 4c는 도 3에 도시된 사용자 데이터 영역의 어느 하나의 메모리 셀에 저장되는 3-비트 데이터를 예시적으로 보여주는 문턱전압 산포이다.
도 5는 본 발명의 실시 예에 따른 사용자 데이터 영역의 프로그램 동작시 어드레스 스크램블링을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 비휘발성 메모리 장치의 머지 동작을 개념적으로 설명하기 위한 도면이다.
도 7은 도 2에 도시된 비휘발성 메모리 장치의 블록 복사 방법에 대한 제 1 실시 예를 보여주는 도면이다.
도 8a은 도 7에 도시된 블록 복사 방법을 이용하는 메모리 시스템에 대한 제 1 실시 예를 보여주는 블록도이다.
도 8b는 도 8a에 메모리 시스템에서 복사 방법에 대한 다른 실시 예를 보여주는 블록도이다.
도 8c는 도 8a에 메모리 시스템에서 복사 방법에 대한 또 다른 실시 예를 보여주는 블록도이다.
도 9는 도 7에 도시된 블록 복사 방법을 이용하는 메모리 시스템에 대한 제 2 실시 예를 보여주는 블록도이다.
도 10은 도 7에 도시된 블록 복사 방법을 이용하는 메모리 시스템에 대한 제 3 실시 예를 보여주는 블록도이다.
도 11은 도 7에 도시된 블록 복사 방법을 예시적으로 보여주는 흐름도이다.
도 12는 도 2에 도시된 비휘발성 메모리 장치의 블록 복사 방법에 대한 제 2 실시 예를 보여주는 도면이다.
도 13은 도 12에 도시된 블록 복사 방법을 이용하는 메모리 시스템에 대한 제 1 실시 예를 보여주는 블록도이다.
도 14는 도 12에 도시된 블록 복사 방법을 이용하는 메모리 시스템에 대한 제 2 실시 예를 보여주는 블록도이다.
도 15는 도 12에 도시된 블록 복사 방법을 이용하는 메모리 시스템에 대한 제 3 실시 예를 보여주는 블록도이다.
도 16는 도 12에 도시된 블록 복사 방법을 예시적으로 보여주는 흐름도이다.
도 17은 본 발명에 따른 재프로그래밍 방식으로 수행되는 멀티-비트 프로그램 동작에 대한 다른 실시 예를 예시적으로 보여주는 도면이다.
도 18은 본 발명에 따른 재프로그래밍 방식으로 수행되는 멀티-비트 프로그램 동작에 대한 또 다른 실시 예를 예시적으로 보여주는 도면이다.
도 19는 멀티-비트 프로그램 동작을 수행하는 메모리 시스템에 대한 다른 실시 예에서 블록 복사 방법을 개념적으로 보여주는 도면이다.
도 20은 멀티-비트 프로그램 동작을 수행하는 메모리 시스템에 대한 또 다른 실시 예에서 블록 복사 방법을 개념적으로 보여주는 도면이다.
도 21은 멀티-비트 프로그램 동작을 수행하는 메모리 시스템에 대한 또 실시 예에서 블록 복사 방법을 개념적으로 보여주는 도면이다.
도 22는 본 발명에 따른 블록 복사 동작을 수행하는 VNAND을 갖는 메모리 시스템을 예시적으로 보여주는 블록도이다.
도 23은 도 22에 도시된 VNAND의 어느 하나의 블록을 예시적으로 보여주는 도면이다.
도 24 내지 도 32는 본 발명의 다양한 응용 예들을 보여주는 도면들이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시 예를 첨부된 도면을 참조하여 설명할 것이다.
본 발명은 재프로그래밍(reprogramming) 방식으로 수행되는 멀티-비트 프로그램 동작을 개시한다. 여기서 재프로그래밍 방식은, 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록 복수의 프로그래밍들을 수행한다. 즉, 재프로그래밍 방식은, 이전 단계에서 프로그램 완료된 대략의(rough) 문턱전압 산포들을 정밀한(fine) 문턱전압 산포들로 다시 프로그램하는 것을 의미한다. 재프로그래밍 방식에 따른 좀 더 자세한 것은, 삼성전자에서 출원하였으며, 이 출원의 참고문헌으로 결합된 미국 공개 번호들 US 2011/0194346, US 2011/0205817, US 2011/0222342에서 설명될 것이다.
도 1은 본 발명에 따른 재프로그래밍 방식으로 수행되는 프로그램 동작을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 3 단계로 수행되는 재프로그래밍 방식(1st PGM, 2nd PGM, 3rd PGM)에 따라 3-비트 프로그램 동작이 수행된다.
제 1 프로그래밍(1st PGM)은 소거 상태(E)로부터 8개의 상태들(E, P11~P17)중에서 3-비트 데이터에 대응하는 어느 하나의 상태로 프로그램시킨다. 여기서, 8개의 상태들(E, P11~P17)은, 도 1에 도시된 바와 같이, 읽기 마진 없이 서로 인접할 수 있다. 즉, 제 1 프로그래밍(1st PGM)은 3-비트 데이터를 대략(rough) 프로그램한다.
실시 예에 있어서, 제 1 프로그래밍(1st PGM)은 ISPP(incremental step programming pulse) 방식으로 수행된다.
실시 예에 있어서, 제 1 프로그래밍(1st PGM)은 검증 동작시 적어도 하나의 프로그램 상태만 검증 동작을 수행할 수 있다. 예를 들어, 제 1 프로그래밍(1st PGM)은 짝수 프로그램 상태들(P12, P14, P16)의 검증 동작을 수행하고, 홀수 프로그램 상태들(P11, P13, P15, P17)의 검증 동작을 수행하지 않을 수 있다. 즉, 짝수 프로그램 상태들(P12, P14, P16)만 검증 패스되면, 제 1 프로그래밍(1st PGM)이 완료된다.
제 2 프로그래밍(2nd PGM)은 제 1 프로그래밍(1st PGM)이 완료된 상태들(P11~P17)을 좀더 세밀한 상태들(P21~P27)로 재프로그램한다. 여기서, 상태들(P21~P27)은, 도 1에 도시된 바와 같이, 소정의 읽기 마진을 갖도록 인접할 수 있다. 즉, 제 2 프로그래밍(2nd PGM)은 제 1 프로그래밍(1st PGM)에서 프로그램된 3-비트 데이터를 재프로그램한다. 예를 들어, 제 1 프로그래밍(1st PGM)의 상태(P11)는 제 2 프로그래밍(P21) 상태로 재프로그램되고, 그 결과로써, 제 2 프로그래밍(2nd PGM)의 상태(P21)에 대응하는 문턱전압 산포는, 제 1 프로그래밍(1st PGM)의 상태(P11)에 대응하는 문턱전압 산포보다 좁혀진다. 다른 말로, 제 2 프로그래밍(2nd PGM)의 상태(P21)를 검증하기 위한 검증 전압(VR21)이 제 1 프로그래밍(1st PGM)의 상태(P11)를 검증하기 위한 검증 전압(VR11)보다 높다.
실시 예에 있어서, 제 2 프로그래밍(2nd PGM)은 ISPP 방식으로 수행된다.
실시 예에 있어서, 제 2 프로그래밍(2nd PGM)은 검증 동작시 모든 프로그램 상태들에 대한 검증 동작을 수행할 수 있다. 모든 프로그램 상태들(P21~P27)의 검증 동작이 검증 패스되면, 제 2 프로그래밍(2nd PGM)이 완료된다.
제 3 프로그램 동작(3rd PGM)은 제 2 프로그래밍(2nd PGM)이 완료된 상태들(P21~P27)을 좀더 세밀한 상태들(P31~P37)로 재프로그램한다. 여기서, 상태들(P31~P37)은, 도 1에 도시된 바와 같이, 제 2 프로그래밍(2nd PGM)의 읽기 마진보다 큰 읽기 마진을 갖도록 인접할 수 있다. 즉, 제 3 프로그래밍(3rd PGM)은 제 2 프로그래밍(2nd PGM)에서 프로그램된 3-비트 데이터를 재프로그램한다. 예를 들어, 제 2 프로그래밍(2nd PGM)의 상태(P21)는 제 3 프로그래밍(3rd PGM)의 상태(P31)로 재프로그램되고, 그 결과로써, 제 3 프로그래밍(3rd PGM)의 상태(P31)에 대응하는 문턱전압 산포는, 제 2 프로그래밍(2nd PGM)의 상태(P21)에 대응하는 문턱전압 산포보다 좁혀진다. 다른 말로, 제 3 프로그래밍(3rd PGM)의 상태(31)를 검증하기 위한 검증 전압(VR31)이 제 2 프로그래밍(2nd PGM)의 상태(P21)를 검증하기 위한 검증 전압(VR21)보다 높다.
실시 예에 있어서, 제 3 프로그래밍(3rd PGM)은 ISPP 방식으로 수행된다.
실시 예에 있어서, 제 3 프로그래밍(3rd PGM)은 검증 동작시 모든 프로그램 상태들에 대한 검증 동작을 수행한다. 모든 프로그램 상태들(P31~P37)의 검증 동작이 검증 패스되면, 제 3 프로그래밍(3rd PGM)이 완료된다. 이로써, 최종적인 3-비트 프로그램 동작이 완료된다.
실시 예에 있어서, 제 2 프로그래밍(2nd PGM)의 검증 전압들에서 제 3 프로그래밍(3rd PGM)의 대응하는 검증 전압들로 증가하는 폭들(예를 들어, 'VR31-VR21')은, 제 1 프로그래밍(1st PGM)의 검증 전압들에서 제 2 프로그래밍(2nd PGM)의 대응하는 검증 전압들로 증가하는 폭들(예를 들어, 'VR21-VR11')보다 좁을 수 있다. 즉, 제 3 프로그래밍(3rd PGM)이 제 2 프로그래밍(2nd PGM) 보다 세밀하게 프로그램될 수 있다.
다른 실시 예에 있어서, 제 2 프로그래밍(2nd PGM)의 검증 전압들에서 제 3 프로그래밍(3rd PGM)의 대응하는 검증 전압들로 증가하는 폭들(예를 들어, 'VR31-VR21')은, 제 1 프로그래밍(1st PGM)의 검증 전압들에서 제 2 프로그래밍(2nd PGM)의 대응하는 검증 전압들로 증가하는 폭들(예를 들어, 'VR21-VR11')보다 넓을 수 있다. 즉, 제 2 프로그래밍(2nd PGM)이 제 3 프로그래밍(3rd PGM) 보다 세밀하게 프로그램될 수 있다.
도 1에 도시된 제 1 프로그래밍(1st PGM)은 3-비트 데이터를 프로그램한다. 하지만, 본 발명의 제 1 프로그래밍(1st PGM이 반드시 3-비트 데이터를 프로그램한다고 제한될 필요는 없다. 본 발명의 제 1 프로그래밍(1st PGM)은 2-비트 데이터를 프로그램할 수도 있다. 이후, 2-비트 데이터의 제 1 프로그래밍(1st PGM)이 완료 된 후, 제 2 프로그래밍(2nd PGM)은 3-비트 데이터를 프로그램할 것이다.
도 1에 도시된 3-비트 프로그램 동작은 3 단계로 수행되는 재프로그래밍 방식(1st PGM, 2nd PGM, 3rd PGM)으로 수행되었다. 하지만, 본 발명의 3-비트 프로그램 동작이 반드시 3 단계로 수행되는 재프로그래밍 방식으로 수행된다고 제한될 필요는 없다. 본 발명의 프로그램 동작은, 적어도 2 단계로 수행되는 재프로그래밍 방식으로 수행될 수 있다.
본 발명에 따른 재프로그래밍 방식으로 수행되는 프로그램 동작은 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록(혹은, 문턱전압 산포를 세밀하게) 하도록 3 단계로 수행되는 프로그래밍들로 구성된다.
도 2는 도 1에 도시된 프로그램 동작을 개념적으로 설명하기 위한 메모리 시스템을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 메모리 시스템(10)은 비휘발성 메모리 장치(110) 및 그것을 제어하는 메모리 제어기(120)를 포함한다.
본 발명에 따른 프로그램 동작은, 메모리 시스템(10)의 버퍼 램(112)에 입력된 데이터를 우선적으로 비휘발성 메모리 장치(120)의 SLC(single level cell) 버퍼 영역(122)에 프로그램한 뒤, 추후에 비휘발성 메모리 장치(120)의 MLC(Multi level cell) 사용자 데이터 영역(124, 이하 '사용자 데이터 영역')에 제 1 프로그래밍(1st PGM), 제 2 프로그래밍(2nd PGM), 및 제 3 프로그래밍(3rd PGM)을 순차적으로 프로그램한다. 여기서 버퍼 램(112)은 디램(DRAM) 혹은 에스램(SRAM) 등과 같은 휘발성 메모리 장치일 수 있다.
실시 예에 있어서, SLC 버퍼 영역(122)은 사용자 데이터 영역(124) 중 일부를 변경함으로써 구현될 수 있다.
도 3은 도 2에 도시된 비휘발성 메모리 장치(110)의 사용자 데이터 영역(124)을 예시적으로 보여주는 도면이다. 도 3을 참조하면, 사용자 데이터 영역(124)은 복수의 블록들(BLK0~BLKi, i는 자연수)을 포함한다. 아래에서는 제 1 블록(BLK0)만 설명하겠다.
블록(BLK0)은, 복수의 스트링들을 포함한다. 각각의 스트링들은, 스트링 선택 라인(string selection line; SSL)에 연결되는 스트링 선택 트랜지스터(SST), 복수의 워드라인들(WL0~WLm, m은 자연수)에 연결되는 복수의 메모리 셀들(MC0~MCm), 및 접지 선택 라인(ground selection line; GSL)에 연결되는 접지 선택 트랜지스터(GST)를 포함한다. 여기서 스트링 선택 트랜지스터(SST)는 복수의 비트라인들(BL0~BLn, n은 자연수)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(common source line; CSL)에 연결된다. 여기서, 공통 소스 라인(GSL)은 CSL 드라이버(도시되지 않음)로부터 접지 전압 혹은 CSL 전압(예를 들어, 전원전압)을 입력받을 수 있다.
워드라인들(WL0~WLm) 각각에 연결된 메모리 셀들을 페이지라고 부른다. 여기서 메모리 셀들 각각은 3-비트 데이터를 저장한다.
도 3에 도시된 블록(BLK0)은 올 비트라인 구조(all bitline architecture), 및 이브-오드 비트라인 구조(even odd bitline architecture) 중 어느 하나로 구현될 수 있다. 한편, 올 비트라인 및 이브-오드 비트라인 구조에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고문헌으로 결합된 미국 등록 번호 US 7,379,333에서 설명될 것이다.
도시되지 않았지만, 본 발명의 블록은 공유 비트라인 구조(shared bitline architecture)로 구현될 수도 있다. 여기서 공유 비트라인 구조는 하나의 비트라인에 적어도 두 개의 스트링들이 연결된다.
한편, 도 2에 도시된 SLC 버퍼 영역(122)은, 도 3에 도시된 블록(BLK0)와 동일한 구조로 구현된 적어도 하나의 블록을 포함한다. SLC 버퍼 영역(122)에서 메모리 셀들은 1-비트 데이터를 저장한다.
도 4a는 도 3에 도시된 사용자 데이터 영역(124)의 어느 하나의 메모리 셀에 저장되는 3-비트 데이터에 대한 제 1 실시 예를 보여주는 도면이다. 도 4a를 참조하면, 프로그래밍의 단계들(1st PGM, 2nd PGM, 3rd PGM)이 증가 될수록 프로그램 상태들(P1~P7)의 산포들은 좁혀진다.
소거 상태(E)에서 상위비트(most significant bit; MSB)는 데이터 '1'에 대응하고, 중간비트(center significant bit; CSB)는 데이터 '1'에 대응하고, 하위비트(least significant bit; LSB)는 데이터 '1'에 대응한다. 즉, 어느 하나의 메모리 셀이 소거 상태(E)에 있다면, 메모리 셀은 데이터 '1'의 상위비트(MSB)가 저장되고, 데이터 '1'의 중간비트(CSB)가 저장되고, 데이터 '1'의 하위비트(LSB)가 저장된 것이다.
제 1 프로그램 상태(P1)에서 상위비트(MSB)는 데이터 '0'에 대응하고, 중간비트(CSB)는 데이터 '1'에 대응하고, 하위비트(LSB)는 데이터 '1'에 대응한다.
제 2 프로그램 상태(P2)에서 상위비트(MSB)는 데이터 '0'에 대응하고, 중간비트(CSB)는 데이터 '0'에 대응하고, 하위비트(LSB)는 데이터 '1'에 대응한다.
제 3 프로그램 상태(P3)에서 상위비트(MSB)는 데이터 '1'에 대응하고, 중간비트(CSB)는 데이터 '0'에 대응하고, 하위비트(LSB)는 데이터 '1'에 대응한다.
제 4 프로그램 상태(P4)에서 상위비트(MSB)는 데이터 '1'에 대응하고, 중간비트(CSB)는 데이터 '0'에 대응하고, 하위비트(LSB)는 데이터 '0'에 대응한다.
제 5 프로그램 상태(P5)에서 상위비트(MSB)는 데이터 '0'에 대응하고, 중간비트(CSB)는 데이터 '0'에 대응하고, 하위비트(LSB)는 데이터 '0'에 대응한다.
제 6 프로그램 상태(P6)에서 상위비트(MSB)는 데이터 '0'에 대응하고, 중간비트(CSB)는 데이터 '1'에 대응하고, 하위비트(LSB)는 데이터 '0'에 대응한다.
제 7 프로그램 상태(P7)에서 상위비트(MSB)는 데이터 '1'에 대응하고, 중간비트(CSB)는 데이터 '1'에 대응하고, 하위비트(LSB)는 데이터 '0'에 대응한다.
도 4에 도시된 문턱 전압의 상태들(E, P1~P7)에 대응하는 상위비트(MSB), 중간비트(CSB), 하위비트(LSB)의 관계는 예시에 불과하다. 본 발명의 문턱 전압의 상태들(E, P1~P7)에 대응하는 상위비트(MSB), 중간비트(CSB), 하위비트(LSB)의 관계는 다양한 조합으로 구성될 수 있다.
도 4b는 도 3에 도시된 사용자 데이터 영역(124)의 어느 하나의 메모리 셀에 저장되는 3-비트 데이터에 대한 제 2 실시 예를 보여주는 도면이다. 도 4b를 참조하면, 소거 상태(E)는 데이터 '111'에 대응하고, 제 1 프로그램 상태(P1)는 데이터 '110'에 대응하고, 제 2 프로그램 상태(P2)는 데이터 '100'에 대응하고, 제 3 프로그램 상태(P3)는 데이터 '101'에 대응하고, 제 4 프로그램 상태(P4)는 데이터 '001'에 대응하고, 제 5 프로그램 상태(P5)는 데이터 '000'에 대응하고, 제 6 프로그램 상태(P6)는 데이터 '010'에 대응하고, 제 7 프로그램 상태(P7)는 데이터 '011'에 대응한다.
도 4c는 도 3에 도시된 사용자 데이터 영역(124)의 어느 하나의 메모리 셀에 저장되는 3-비트 데이터에 대한 제 3 실시 예를 보여주는 도면이다. 도 4c를 참조하면, 소거 상태(E)는 데이터 '111'에 대응하고, 제 1 프로그램 상태(P1)는 데이터 '011'에 대응하고, 제 2 프로그램 상태(P2)는 데이터 '001'에 대응하고, 제 3 프로그램 상태(P3)는 데이터 '000'에 대응하고, 제 4 프로그램 상태(P4)는 데이터 '010'에 대응하고, 제 5 프로그램 상태(P5)는 데이터 '110'에 대응하고, 제 6 프로그램 상태(P6)는 데이터 '100'에 대응하고, 제 7 프로그램 상태(P7)는 데이터 '101'에 대응한다.
도 4a, 도 4b, 도 4c에서 볼 수 있듯이, 사용자 데이터 영역(124)의 메모리 셀들 각각은 상위비트(MSB), 중간비트(CSB), 하위비트(LSB)를 저장한다. 따라서, 사용자 데이터 영역(124)에서 하나의 워드라인에 연결된 메모리 셀들(혹은, 페이지)이 프로그램될 경우, 3 개의 페이지들(LSB page, CSB page, MSB page)이 프로그램된다.
도 5는 본 발명의 실시 예에 따른 사용자 데이터 영역(124)의 프로그램 동작시 어드레스 스크램블링(address scrambling)을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 각 워드라인들(WL0, WL1, WL2, ...)에 대응하는 메모리 셀들에 3 개의 페이지들(MSB page, CSB page, LSB page)이 프로그램되고, 3 개의 페이지들(MSB page, CSB page, LSB page)은 3 단계로(1st PGM, 2nd PGM, 3rd PGM) 수행되는 프로그램 동작으로 프로그램된다.
도 5에 도시된 바와 같이, 어느 하나의 워드라인(예를 들어, WL0)에 대응하는 3 개의 페이지들(0,1,2)의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)은 연속적으로 수행되지 않고, 적어도 하나의 다른 워드라인(예를 들어, WL1 혹은 WL2)의 적어도 하나의 프로그래밍 이후에 다음 단계의 프로그래밍이 수행된다.
예를 들어, 제 1 워드라인(WL0)의 제 2 프로그래밍(2nd PGM)은, 제 1 워드라인(WL0)의 제 1 프로그래밍(1st PGM) 이후 연속적으로 수행되지 않고, 제 2 워드라인(WL1)의 제 1 프로그래밍(1st PGM)이 수행된 후에 수행된다. 또한, 제 1 워드라인(WL0)의 제 3 프로그래밍(3rd PGM)은, 제 1 워드라인(WL0)의 제 2 프로그래밍(2nd PGM) 이후 연속하여 수행되지 않고, 도 5에 도시된 바와 같이, 제 2 워드라인(WL1)의 제 2 프로그래밍(2nd PGM)이 수행된 후 수행된다.
도 5에 도시된 어드레스 스크램블링은 예시에 불과하다. 본 발명의 어드레스 스크램블링은 다양하게 구현될 수 있다. 한편, 어드레스 스크램블링에 대한 좀더 자세한 것은 삼성전자에서 출원되었으며, 이 출원의 참고 문헌으로 결합된 미국 등록 US 8,027,194 및 특허 미국 공개 특허 US 2011/020581, US 2011/022234에서 설명될 것이다.
본 발명의 실시 예에 따른 프로그램 동작은 블록 복사(block copy)에 이용될 수 있다. 여기서 블록 복사는 비휘발성 메모리 장치의 카피백(copyback) 동작 혹은 머지(merge) 동작에서 이용될 수 있다. 여기서 머지 동작은 적어도 두 개의 블록들의 유효한 페이지들을 새로운 블록으로 프로그램하는 것을 의미한다.
도 6은 본 발명의 실시 예에 따른 비휘발성 메모리 장치의 머지 동작을 개념적으로 설명하기 위한 도면이다. 도 6을 참조하면, 머지 동작은 다음과 같이 수행된다. 설명의 편의를 위하여, 블록들은 4개의 물리 페이지들로 구성된다고 가정하겠다. 본 발명의 비휘발성 메모리 장치(도 2의 120)의 사용자 데이터 영역(124)의 메모리 셀들에 저장된 데이터가 3-비트이기 때문에 물리 페이지들 각각에는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)를 포함한다. 또한, 설명의 편의를 위하여 제 1 소스 블록은 유효 데이터를 갖는 제 1, 제 2, 및 제 3 페이지(PPN11, PPN12, PPN13) 및 무효 데이터를 갖는 제 4 페이지(PPN14)를 갖고, 제 2 소스 블록은 유효 데이터를 갖는 제 1 페이지(PPN21) 및 무효 데이터를 갖는 제 2, 제 3, 및 제 4 페이지들(PPN22, PPN23, PPN24)을 갖는다고 가정하겠다. 아래에서는 유효 데이터를 갖는 페이지는 유효 페이지, 무효 데이터를 갖는 페이지는 무효 페이지라고 부르겠다.
머지 동작이 수행되면, 제 1 소스 블록의 유효 페이지들(PPN11, PPN12, PPN13) 및 제 2 소스 블록의 유효 페이지(PPN11)가 타겟 블록의 페이지들(PPN31, PPN32, PPN33, PPN34)로 각각 정해진 순서대로 프로그램된다. 타겟 블록의 프로그램 동작이 완료되면, 제 1 및 제 2 소스 블록들은 소거 동작이 수행된다.
도 6에서는 물리 페이지에 대한 머지 동작이 도시되었다. 하지만 본 발명의 머지 동작이 여기에 제한되지 않으며 논리 페이지에 대한 머지 동작도 유사할 것이다. 한편, 머지 동작에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며, 이 출원의 참고 문헌으로 결합된 미국 공개 특허 번호들 US 2006/0179212, US 2011/0099326에서 설명될 것이다.
도 7은 도 2에 도시된 비휘발성 메모리 장치(120)의 블록 복사 방법에 대한 제 1 실시 예를 보여주는 도면이다. 도 7을 참조하면, 블록 복사 방법은, 도 5에 도시된 어드레스 스크램블링과 동일한 순서로 프로그래밍이 수행된다.
블록 복사 방법은 다음과 같이 수행된다. 아래에서는 설명의 편의를 위하여 워드라인(WL0)에 제 1, 제 2, 제 3 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)이 완료될 때까지의 과정만을 기술하겠다.
적어도 하나의 소스 블록(Source BLK)으로 3 페이지들(3 pages; 0, 1, 2)이 읽혀진다(①). 여기서 0, 1, 2 각각은, 소스 블록의 적어도 하나의 워드라인에 연결된 메모리 셀들로부터 읽혀진 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)에 대응할 수 있다. 예를 들어, 0, 1, 2 페이지는, 소스 블록의 하나의 워드라인에 연결된 메모리 셀들로부터 읽혀진 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)에 대응할 수 있다.읽혀진 페이지들(0, 1, 2)은 각각 에러가 정정된 후 타겟 워드라인(WLj-1, j는 자연수)에 대응하는 버퍼 영역으로 버퍼링된다. 여기서 버퍼 영역은, 램이 되거나, 싱글 레벨 셀들이 될 수 있다. 이후, 버퍼링된 페이지들(0, 1, 2)이 워드라인(WL0)에 연결된 메모리 셀들로 프로그램되는, 제 1 프로그래밍(1st PGM)이 수행된다(②).
이후, 적어도 하나의 소스 블록(Source BLK)으로 다른 3 페이지들(3 pages; 3, 4, 5)이 읽혀진다(③). 읽혀진 페이지들(3, 4, 5)은 각각 에러가 정정된 후 타겟 워드라인(WLj)에 대응하는 버퍼 영역으로 버퍼링된다. 이후, 버퍼링된 페이지들(3, 4, 5)이 워드라인(WL1)에 연결된 메모리 셀들로 프로그램되는, 제 1 프로그래밍(1st PGM)이 수행된다(④).
이후, 타겟 워드라인(WLj-1)에 대응하는 버퍼 영역에 버퍼링된 페이지들(0, 1, 2)을 이용하여 워드라인(WL0)에 제 1 프로그래밍(1st PGM)이 수행된 메모리 셀들을 좀더 세밀하게 프로그램시키는 제 2 프로그래밍(2nd PGM)이 수행된다(⑤).
이후, 적어도 하나의 소스 블록(Source BLK)으로 또 다른 3 페이지들(3 pages; 6, 7, 8)이 읽혀진다(⑥). 읽혀진 페이지들(6, 7, 8)은 각각 에러가 정정된 후 타겟 워드라인(WLj+1)에 대응하는 버퍼 영역으로 버퍼링된다. 이후, 버퍼링된 페이지들(6, 7, 8)이 워드라인(WL2)에 연결된 메모리 셀들로 프로그램되는, 제 1 프로그래밍(1st PGM)이 수행된다(⑦).
이후, 타겟 워드라인(WLj)에 대응하는 버퍼 영역에 버퍼링된 페이지들(3, 4, 5)을 이용하여 워드라인(WL1)에 제 1 프로그래밍(1st PGM)이 수행된 메모리 셀들을 좀더 세밀하게 프로그램하는 제 2 프로그래밍(2nd PGM)이 수행된다(⑧).
이후, 타겟 워드라인(WLj-1)에 대응하는 버퍼 영역에 버퍼링된 페이지들(1, 2, 3)을 이용하여 워드라인(WL0)에 제 2 프로그래밍(2nd PGM)이 수행된 메모리 셀들을 좀더 세밀하게 프로그램시키는 제 3 프로그래밍(3rs PGM)이 수행된다(⑨). 이로써 워드라인(WL0)에 제 1, 제 2, 제 3 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)이 완료된다. 나머지 워드라인들(WL1, WL2, ....)도 유사한 방법으로 진행될 것이다.
도 7에 도시된 바와 같이, 하나의 워드라인에 관련된 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)이 연속적으로 수행되지 않는다.
본 발명의 블록 복사 방법은 불연속적으로 진행되는 3 단계의 프로그래밍(1st PGM, 2nd PGM, 3rd PGM)을 수행하기 위하여 에러 정정된 페이지들을 버퍼링해 놓는다.
도 8a는 도 7에 도시된 블록 복사 방법을 이용하는 메모리 시스템(10)에 대한 제 1 실시 예를 보여주는 블록도이다. 도 8a에서는 설명의 편의를 위하여, 하나의 소스 워드라인(124_1)에 대응하는 페이지들(LSB page, CSB page, MSB page)이 타겟 워드라인(124_2)에 대응하는 페이지들(LSB page, CSB page, MSB page)로 프로그램되는 과정을 도시한다.
도 8a를 참조하면, 블록 복사 방법은 다음과 같다. 소스 워드라인(124_1)에 연결된 메모리 셀들로부터 하위비트 페이지(LSB page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(①). 페이지 버퍼(126)에 저장된 하위비트 페이지(LSB page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(②). 에러 정정 회로(111)로부터 하위비트 페이지(LSB page)에 대한 에러가 정정되고, 에러 정정된 하위비트 페이지(LSB page)는 버퍼 램(112)에 전송된다(③).
다음으로, 소스 워드라인(124_1)에 연결된 메모리 셀들로부터 중간비트 페이지(CSB page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(④). 페이지 버퍼(126)에 저장된 중간비트 페이지(CSB page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(⑤). 에러 정정 회로(111)로부터 중간비트 페이지(CSB page)에 대한 에러가 정정되고, 에러 정정된 중간비트 페이지(CSB page)는 버퍼 램(112)에 전송된다(⑥).
다음으로, 소스 워드라인(124_1)에 연결된 메모리 셀들로부터 상위비트 페이지(MSB page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(⑦). 페이지 버퍼(126)에 저장된 상위비트 페이지(MSB page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(⑧). 에러 정정 회로(111)로부터 상위비트 페이지(MSB page)에 대한 에러가 정정되고, 에러 정정된 상위비트 페이지(MSB page)는 버퍼 램(112)에 전송된다(⑨).
이로써, 버퍼 램(112)에 최종적으로 정정된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)가 저장된다.
이후, 타겟 워드라인(124_2)에 연결된 메모리 셀들로, 버퍼 램(112)에 저장된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)를 이용하여 3 단계 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)로 수행되는 프로그램 동작이 수행된다.
먼저, 제 1 프로그래밍(1st PGM)이 시작된다. 버퍼 램(112)에 저장된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)는 차례로 페이지 버퍼(126)에 전송되고(⑩), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 1 프로그래밍(1st PGM)이 수행된다(⑪). 실시 예에 있어서, 페이지 버퍼(126)는 적어도 3 페이지의 데이터를 저장하도록 구현될 수 있다. 다음으로, 도 7에 도시된 어드레스 스크램블링에 따라 제 2 프로그래밍(2nd PGM)이 시작된다. 버퍼 램(112)에 저장된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)는 차례로 페이지 버퍼(126)에 전송되고(⑫), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 2 프로그래밍(2nd PGM)이 수행된다(⑬). 다음으로, 도 7에 도시된 어드레스 스크램블링에 따라 제 3 프로그래밍(3rd PGM)이 시작된다. 버퍼 램(112)에 저장된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)는 차례로 페이지 버퍼(126)에 전송되고(⑭), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 3 프로그래밍(3rd PGM)이 수행된다(⑮).
도 8a에 도시된 블록 복사 방법은, 하나의 소스 워드라인(224_1)에 대응하는 페이지들(LSB/CSB/MSB pages)이 하나의 타겟 워드라인(224_2)에 연결된 메모리 셀들로 프로그램되는 것을 도시한다. 하지만, 본 발명의 복사 방법이 반드시 여기에 제한될 필요는 없다. 본 발명의 복사 방법은, 적어도 하나의 소스 워드라인에 대응하는 적어도 하나의 페이지가 하나의 타겟 워드라인에 연결된 메모리 셀들로 프로그램될 수 있다. 예를 들어, 제 1 소스 워드라인에 대응하는 하위비트 페이지(LSB page), 제 2 소스 워드라인에 대응하는 하위비트 페이지(LSB page), 제 3 소스 워드라인에 대응하는 중간비트 페이지(CSB page)가 하나의 타겟 워드라인에 대응하는 메모리 셀들로 프로그램될 수 있다.
본 발명의 실시 예에 따른 블록 복사 방법은, 버퍼 램(112)에 에러 정정된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)를 저장해 두었다가, 재프로그래밍(제 1, 제 2, 및 제 3 프로그래밍(1st PGM, 2nd PGM, 3rd PGM))을 수행한다.
도 8a에서는 하나의 소스 워드라인(124_1)의 연결된 메모리 셀들에 저장된 데이터(LSB/CSB/MSB pages)가 하나의 타겟 워드라인(124_2)에 연결된 메모리 셀들로 복사된다. 하지만 본 발명의 복사 방법이 반드시 여기에 제한될 필요는 없다.
본 발명의 복사 방법은, 적어도 2개의 소스 워드라인들에 연결된 메모리 셀들에 저장된 데이터를 하나의 타겟 워드라인에 연결된 메모리 셀들로 복사될 수도 있다.
도 8b는 도 8a에 메모리 시스템(10)에서 복사 방법에 대한 다른 실시 예를 보여주는 블록도이다. 도 8b에서는 설명의 편의를 위하여, 제 1 소스 워드라인(124_1a)에 대응하는 제 1 및 제 2 페이지들(1st page, 2nd page) 및 제 2 소스 워드라인(124_1b)에 대응하는 제 3 페이지(3rd page)가 타겟 워드라인(124_2)에 대응하는 페이지들(LSB page, CSB page, MSB page)로 프로그램되는 과정을 도시한다.
도 8b를 참조하면, 블록 복사 방법은 다음과 같다. 제 1 소스 워드라인(124_1a)에 연결된 메모리 셀들로부터 제 1 페이지(1st page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(①). 여기서 제 1 페이지(1st page)는 제 1 소스 워드라인(124_1a)에 대응하는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 중 어느 하나이다. 페이지 버퍼(126)에 저장된 제 1 페이지(1st page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(②). 에러 정정 회로(111)로부터 제 1 페이지(1st page)에 대한 에러가 정정되고, 에러 정정된 제 1 페이지(1st page)는 버퍼 램(112)에 전송된다(③).
다음으로, 제 1 소스 워드라인(124_1a)에 연결된 메모리 셀들로부터 제 2 페이지(2nd page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(④). 여기서 제 2 페이지(2nd page)는, 제 1 소스 워드라인(124_1a)에 대응하는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 중 어느 하나이고, 제 1 페이지(1st page)와는 다른 것이다. 도시되지 않았지만, 제 2 페이지(2nd page)는 제 2 소스 워드라인(124_1b)에 대응하는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 중 어느 하나이고, 제 1 페이지(1st page)와는 다른 것일 수도 있다. 페이지 버퍼(126)에 저장된 제 2 페이지(2nd page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(⑤). 에러 정정 회로(111)로부터 제 2 페이지(2nd page)에 대한 에러가 정정되고, 에러 정정된 제 2 페이지(2nd page)는 버퍼 램(112)에 전송된다(⑥).
다음으로, 제 2 소스 워드라인(124_1b)에 연결된 메모리 셀들로부터 제 3 페이지(3rd page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(⑦). 여기서 제 3 페이지(3rd page)는 제 2 소스 워드라인(124_1b)에 대응하는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 중 어느 하나이다. 페이지 버퍼(126)에 저장된 제 3 페이지(3rd page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(⑧). 에러 정정 회로(111)로부터 제 3 페이지(3rd page)에 대한 에러가 정정되고, 에러 정정된 제 3 페이지(3rd page)는 버퍼 램(112)에 전송된다(⑨).
이로써, 버퍼 램(112)에 최종적으로 정정된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)가 저장된다.
이후, 타겟 워드라인(124_2)에 연결된 메모리 셀들로, 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)를 이용하여 3 단계 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)로 수행되는 프로그램 동작이 수행된다.
먼저, 제 1 프로그래밍(1st PGM)이 시작된다. 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)는 차례로 페이지 버퍼(126)에 전송되고(⑩), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 1 프로그래밍(1st PGM)이 수행된다(⑪). 실시 예에 있어서, 페이지 버퍼(126)는 적어도 3 페이지의 데이터를 저장하도록 구현될 수 있다.
다음으로, 도 7에 도시된 어드레스 스크램블링에 따라 제 2 프로그래밍(2nd PGM)이 시작된다. 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)는 차례로 페이지 버퍼(126)에 전송되고(⑫), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 2 프로그래밍(2nd PGM)이 수행된다(⑬).
다음으로, 도 7에 도시된 어드레스 스크램블링에 따라 제 3 프로그래밍(3rd PGM)이 시작된다. 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)는 차례로 페이지 버퍼(126)에 전송되고(⑭), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 3 프로그래밍(3rd PGM)이 수행된다(⑮).
본 발명의 블록 복사 방법은, 두 개의 소스 워드라인들(124_1a, 124_1b)에 연결된 제 1, 제 2, 및 제 3 페이지들(1st page, 2nd page, 3rd page)이 버퍼 램(112)에 버퍼링되었다가 하나의 타겟 워드라인(124)에 연결된 메모리 셀들로 재프로그램된다.
도 8c는 도 8a에 메모리 시스템(10)에서 복사 방법에 대한 또 다른 실시 예를 보여주는 블록도이다. 도 8c에서는 설명의 편의를 위하여, 제 1 소스 워드라인(124_1a)에 대응하는 제 1 페이지(1st page), 제 2 소스 워드라인(124_1b)에 대응하는 제 2 페이지(2nd page), 제 3 소스 워드라인(124_1c)에 대응하는 제 3 페이지(3rd page)가 타겟 워드라인(124_2)에 대응하는 페이지들(LSB page, CSB page, MSB page)로 프로그램되는 과정을 도시한다.
도 8c를 참조하면, 블록 복사 방법은 다음과 같다. 제 1 소스 워드라인(124_1a)에 연결된 메모리 셀들로부터 제 1 페이지(1st page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(①). 여기서 제 1 페이지(1st page)는 제 1 소스 워드라인(124_1a)에 대응하는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 중 어느 하나이다. 페이지 버퍼(126)에 저장된 제 1 페이지(1st page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(②). 에러 정정 회로(111)로부터 제 1 페이지(1st page)에 대한 에러가 정정되고, 에러 정정된 제 1 페이지(1st page)는 버퍼 램(112)에 전송된다(③).
다음으로, 제 2 소스 워드라인(124_1b)에 연결된 메모리 셀들로부터 제 2 페이지(2nd page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(④). 여기서 제 2 페이지(2nd page)는, 제 2 소스 워드라인(124_1b)에 대응하는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 중 어느 하나이다. 페이지 버퍼(126)에 저장된 제 2 페이지(2nd page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(⑤). 에러 정정 회로(111)로부터 제 2 페이지(2nd page)에 대한 에러가 정정되고, 에러 정정된 제 2 페이지(2nd page)는 버퍼 램(112)에 전송된다(⑥).
다음으로, 제 3 소스 워드라인(124_1c)에 연결된 메모리 셀들로부터 제 3 페이지(3rd page)가 읽혀진 뒤 페이지 버퍼(126)에 저장된다(⑦). 여기서 제 3 페이지(3rd page)는 제 3 소스 워드라인(124_1c)에 대응하는 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 중 어느 하나이다. 페이지 버퍼(126)에 저장된 제 3 페이지(3rd page)는 메모리 제어기(110)의 에러 정정 회로(111)로 전송된다(⑧). 에러 정정 회로(111)로부터 제 3 페이지(3rd page)에 대한 에러가 정정되고, 에러 정정된 제 3 페이지(3rd page)는 버퍼 램(112)에 전송된다(⑨).
이로써, 버퍼 램(112)에 최종적으로 정정된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)가 저장된다.
이후, 타겟 워드라인(124_2)에 연결된 메모리 셀들로, 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)를 이용하여 3 단계 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)로 수행되는 프로그램 동작이 수행된다.
먼저, 제 1 프로그래밍(1st PGM)이 시작된다. 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)는 차례로 페이지 버퍼(126)에 전송되고(⑩), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 1 프로그래밍(1st PGM)이 수행된다(⑪). 실시 예에 있어서, 페이지 버퍼(126)는 적어도 3 페이지의 데이터를 저장하도록 구현될 수 있다.
다음으로, 도 7에 도시된 어드레스 스크램블링에 따라 제 2 프로그래밍(2nd PGM)이 시작된다. 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)는 차례로 페이지 버퍼(126)에 전송되고(⑫), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 2 프로그래밍(2nd PGM)이 수행된다(⑬).
다음으로, 도 7에 도시된 어드레스 스크램블링에 따라 제 3 프로그래밍(3rd PGM)이 시작된다. 버퍼 램(112)에 저장된 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)는 차례로 페이지 버퍼(126)에 전송되고(⑭), 타겟 워드라인(124_2)에 연결된 메모리 셀들로 제 3 프로그래밍(3rd PGM)이 수행된다(⑮).
본 발명의 블록 복사 방법은, 세 개의 소스 워드라인들(124_1a, 124_1b, 124_1c)에 연결된 제 1, 제 2, 및 제 3 페이지들(1st page, 2nd page, 3rd page)이 버퍼 램(112)에 버퍼링되었다가, 하나의 타겟 워드라인(124)에 연결된 메모리 셀들로 재프로그램된다.
도 8a, 도 8b, 도 8c에서 에러 정정된 페이지들(LSB page, CSB page, MSB page)이 버퍼 램(122)에 저장되었다가, 재프로그래밍에 이용된다. 하지만 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 에러 정정된 페이지들(LSB page, CSB page, MSB page)를 비휘발성 메모리 장치의 SLC 버퍼 영역에 저장되도록 버퍼 프로그램 동작을 수행한 뒤, 재프로그래밍을 수행할 수 있다.
도 9는 도 7에 도시된 블록 복사 방법을 이용하는 메모리 시스템(20)에 대한 제 2 실시 예를 보여주는 블록도이다. 도 9를 참조하면, 아래와 같이 블록 복사가 수행된다.
소스 워드라인(224_1)에 연결된 메모리 셀들로부터 하위비트 페이지(LSB page)가 읽혀진 뒤 페이지 버퍼(226)에 저장된다(①). 페이지 버퍼(226)에 저장된 하위비트 페이지(LSB page)는 메모리 제어기(210)의 에러 정정 회로(211)로 전송된다(②). 에러 정정 회로(211)로부터 하위비트 페이지(LSB page)에 대한 에러가 정정되고, 에러 정정된 하위비트 페이지(LSB page)는 다시 페이지 버퍼(226)에 전송된다(③). 페이지 버퍼(226)에 전송된 하위비트 페이지(LSB page)는 SLC 버퍼 영역(222)의 제 1 버퍼 워드라인(222_1)에 연결된 메모리 셀들로 버퍼 프로그램된다(④).
다음으로, 소스 워드라인(224_1)에 연결된 메모리 셀들로부터 중간비트 페이지(CSB page)가 읽혀진 뒤 페이지 버퍼(226)에 저장된다(⑤). 페이지 버퍼(226)에 저장된 중간비트 페이지(CSB page)는 메모리 제어기(210)의 에러 정정 회로(211)로 전송된다(⑥). 에러 정정 회로(211)로부터 중간비트 페이지(CSB page)에 대한 에러가 정정되고, 에러 정정된 중간비트 페이지(CSB page)는 다시 페이지 버퍼(226)에 전송된다(⑦). 페이지 버퍼(226)에 전송된 중간비트 페이지(CSB page)는 SLC 버퍼 영역(222)의 제 2 버퍼 워드라인(222_2)에 연결된 메모리 셀들로 버퍼 프로그램된다(⑧).
다음으로, 소스 워드라인(224_1)에 연결된 메모리 셀들로부터 상위비트 페이지(MSB page)가 읽혀진 뒤 페이지 버퍼(226)에 저장된다(⑨). 페이지 버퍼(226)에 저장된 상위비트 페이지(MSB page)는 메모리 제어기(210)의 에러 정정 회로(211)로 전송된다(⑩). 에러 정정 회로(211)로부터 상위비트 페이지(CSB page)에 대한 에러가 정정되고, 에러 정정된 상위비트 페이지(MSB page)는 다시 페이지 버퍼(226)에 전송된다(⑪). 페이지 버퍼(226)에 전송된 상위비트 페이지(MSB page)는 SLC 버퍼 영역(222)의 제 3 버퍼 워드라인(222_3)에 연결된 메모리 셀들로 버퍼 프로그램된다(⑫).
이후, 비휘발성 메모리 장치(220)는, SLC 버퍼 영역(222)에 저장된 하위비트(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)를 읽고, 읽혀진 하위비트(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)들을 3 단계 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)으로 수행되는 프로그램 동작에 따라 사용자 데이터 영역(224)의 타겟 워드라인(224_2)에 연결된 메모리 셀들로 프로그램한다. 여기서 3 단계 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)은 도 7에 도시된 어드레스 스크램블링에 따라 수행된다.
본 발명의 실시 예에 따른 블록 복사 방법은, 에러 정정된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)를 SLC 버퍼 영역(222)에 저장해 두었다가, 재프로그래밍(제 1, 제 2, 및 제 3 프로그래밍(1st PGM, 2nd PGM, 3rd PGM))을 수행한다.
도 8 및 도 9는 읽혀진 페이지들(LSB page, CSB page, MSB page)을 메모리 제어기(110 혹은 210)의 에러 정정 회로(111 혹은 211)에서 에러 정정된다. 하지만 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 읽혀진 페이지들(LSB page, CSB page, MSB page)의 에러 정정 동작을 비휘발성 메모리 장치 내부에서 수행할 수 있다.
도 10은 도 7에 도시된 블록 복사 방법을 이용하는 메모리 시스템에 대한 제 3 실시 예를 보여주는 블록도이다. 도 10을 참조하면, 아래와 같이 블록 복사가 수행된다.
우선, 소스 워드라인(324_1)에 연결된 메모리 셀들로부터 하위비트 페이지(LSB page)가 읽혀진 뒤 페이지 버퍼(326)에 저장된다(①). 페이지 버퍼(226)에 저장된 하위비트 페이지(LSB page)는 비휘발성 메모리 장치(320)의 에러 정정 회로(328)에 의해 에러 정정되고(②), 에러 정정된 하위비트 페이지(LSB page)는 SLC 버퍼 영역(322)의 제 1 버퍼 워드라인(322_1)에 연결된 메모리 셀들로 프로그램된다(③).
다음으로, 소스 워드라인(324_1)에 연결된 메모리 셀들로부터 중간비트 페이지(CSB page)가 읽혀진 뒤 페이지 버퍼(326)에 저장된다(④). 페이지 버퍼(226)에 저장된 중간비트 페이지(CSB page)는 비휘발성 메모리 장치(320)의 에러 정정 회로(328)에 의해 에러 정정되고(⑤), 에러 정정된 하위비트 페이지(LSB page)는 SLC 버퍼 영역(322)의 제 2 버퍼 워드라인(322_2)에 연결된 메모리 셀들로 프로그램된다(⑥).
다음으로, 소스 워드라인(324_1)에 연결된 메모리 셀들로부터 상위비트 페이지(MSB page)가 읽혀진 뒤 페이지 버퍼(326)에 저장된다(⑦). 페이지 버퍼(226)에 저장된 중간비트 페이지(CSB page)는 비휘발성 메모리 장치(320)의 에러 정정 회로(328)에 의해 에러 정정되고(⑧), 에러 정정된 하위비트 페이지(LSB page)는 SLC 버퍼 영역(322)의 제 2 버퍼 워드라인(322_2)에 연결된 메모리 셀들로 프로그램된다(⑨).
상술 된 바와 같이, 에러 정정된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)가 SLC 버퍼 영역(322)에 저장되도록 버퍼 프로그램 동작이 수행된다.
이후, 비휘발성 메모리 장치(320)는 SLC 버퍼 영역(322)에 저장된 하위비트(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)를 읽고, 읽혀진 하위비트(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)들을 3 단계 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)으로 수행되는 프로그램 동작에 따라 사용자 데이터 영역(324)의 타겟 워드라인(324_2)에 연결된 메모리 셀들로 프로그램한다. 여기서 3 단계 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)은 도 7에 도시된 어드레스 스크램블링에 따라 수행된다.
본 발명의 실시 예에 따른 블록 복사 방법은, 비휘발성 메모리 장치(320) 내부에서 에러 정정된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)를 SLC 버퍼 영역(222)에 저장해 두었다가, 재프로그래밍(제 1, 제 2, 및 제 3 프로그래밍(1st PGM, 2nd PGM, 3rd PGM))을 수행한다.
도 11은 도 7에 도시된 블록 복사 방법을 예시적으로 보여주는 흐름도이다. 도 7 내지 도 11을 참조하면, 블록 복사 방법은 다음과 같다.
소스 블록으로부터 데이터가 읽혀진다(S110). 읽혀진 데이터의 에러가 정정된다(S120). 여기서 에러 정정 동작은 메모리 제어기의 에러 정정 회로(도 8a의 111, 도 9의 211) 혹은 비휘발성 메모리 장치의 에러 정정 회로(도 10의 328)에서 수행될 수 있다. 에러 정정된 데이터는 버퍼링된다(S130). 여기서 에러 정정된 데이터는 메모리 제어기의 버퍼 램(도 8의 112) 혹은 비휘발성 메모리 장치의 SLC 버퍼 영역(도 9의 222, 도 10의 322)에 버퍼링될 수 있다. 이후, 도 7에 도시된 어드레스 스크램블링에 따라 타겟 블록으로 버퍼링된 데이터가 재프로그램된다(S140). 이로써 블록 복사 동작이 완료된다.
본 발명의 블록 복사 방법은, 읽혀진 데이터를 버퍼링하고, 버퍼링된 데이터를 이용하여 재프로그래밍을 수행한다.
도 7 내지 도 11은 블록 복사 동작시 읽혀진 데이터를 버퍼링하고, 버퍼링된 데이터를 이용하여 재프로그래밍을 수행한다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 블록 복사 동작시 읽혀진 데이터의 버퍼링 없이 재프로그래밍을 수행할 수 있다.
도 12는 도 2에 도시된 비휘발성 메모리 장치(120)의 블록 복사 방법에 대한 제 2 실시 예를 보여주는 도면이다. 도 12를 참조하면, 블록 복사 방법은, 도 5에 도시된 어드레스 스크램블링과 동일한 순서로 프로그래밍이 수행된다.
블록 복사 방법은 다음과 같이 수행된다. 아래에서는 설명의 편의를 위하여 워드라인(WL0)에 제 1, 제 2, 제 3 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)이 완료될 때까지의 과정만을 기술하겠다.
적어도 하나의 소스 블록(Source BLK)으로 3 페이지들(3 pages; 0, 1, 2)이 읽혀진다(①). 여기서 0, 1, 2 각각은, 소스 블록의 적어도 하나의 워드라인에 연결된 메모리 셀들로부터 읽혀진 제 1 페이지(1st page), 제 2 페이지(2nd page), 제 3 페이지(3rd page)에 대응할 수 있다. 읽혀진 페이지들(0, 1, 2)은 에러 정정된다. 워드라인(WL0)에 연결된 메모리 셀들로 에러 정정된 페이지들(0, 1, 2)이 프로그램되는 제 1 프로그래밍(1st PGM)이 수행된다(②).
이후, 적어도 하나의 소스 블록(Source BLK)으로 다른 3 페이지들(3 pages; 3, 4, 5)이 읽혀진다(③). 읽혀진 페이지들(3, 4, 5)은 에러 정정된 후, 워드라인(WL1)에 연결된 메모리 셀들로 에러 정정된 페이지들(3, 4, 5)이 프로그램되는 제 1 프로그래밍(1st PGM)이 수행된다(④).
이후, 워드라인(WL0)의 제 2 프로그래밍(2nd PGM)을 위하여 적어도 하나의 소스 블록(Source BLK)으로 3 페이지들(3 pages; 0, 1, 2)이 다시 읽혀진다(⑤). 읽혀진 페이지들(0, 1, 2)은 에러 정정된 후, 제 1 프로그래밍(1st PGM)이 수행된 워드라인(WL0)의 연결된 메모리 셀들로 에러 정정된 페이지들(0, 1, 2)이 좀더 세밀하게 프로그램되는 제 2 프로그래밍(2nd PGM)이 수행된다(⑥).
이후, 적어도 하나의 소스 블록(Source BLK)으로 또 다른 3 페이지들(3 pages; 6, 7, 8)이 읽혀진다(⑦). 읽혀진 페이지들(6, 7, 8)은 에러 정정된 후, 워드라인(WL2)에 연결된 메모리 셀들로 에러 정정된 페이지들(6, 7, 8)이 프로그램되는 제 1 프로그래밍(1st PGM)이 수행된다(⑧).
이후, 워드라인(WL1)의 제 2 프로그래밍(2nd PGM)을 위하여 적어도 하나의 소스 블록(Source BLK)으로 3 페이지들(3 pages; 3, 4, 5)이 다시 읽혀진다(⑨). 읽혀진 페이지들(3, 4, 5)은 에러 정정된 후, 제 1 프로그래밍(1st PGM)이 수행된 워드라인(WL1)의 연결된 메모리 셀들로 에러 정정된 페이지들(3, 4, 5)이 좀더 세밀하게 프로그램되는 제 2 프로그래밍(2nd PGM)이 수행된다(⑩).
이후, 워드라인(WL0)의 제 3 프로그래밍(3rd PGM)을 위하여 적어도 하나의 소스 블록(Source BLK)으로 3 페이지들(3 pages; 0, 1, 2)이 또 다시 읽혀진다(⑪). 읽혀진 페이지들(0, 1, 2)은 에러 정정된 후, 제 2 프로그래밍(2nd PGM)이 수행된 워드라인(WL0)의 연결된 메모리 셀들로 에러 정정된 페이지들(0, 1, 2)이 좀더 세밀하게 프로그램되는 제 3 프로그래밍(3rd PGM)이 수행된다(⑫). 이로써 워드라인(WL0)에 제 1, 제 2, 제 3 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)이 완료된다. 나머지 워드라인들(WL1, WL2, ....)도 유사한 방법으로 진행될 것이다.
도 12에 도시된 바와 같이, 하나의 워드라인에 관련된 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)이 연속적으로 수행되지 않는다.
본 발명의 블록 복사 방법은 불연속적으로 진행되는 3 단계의 프로그래밍(1st PGM, 2nd PGM, 3rd PGM)을 수행하기 위하여 각 단계의 프로그래밍을 수행할 때마다 필요한 페이지들을 읽어와 에러 정정한다.
도 13은 도 12에 도시된 블록 복사 방법을 이용하는 메모리 시스템(40)에 대한 제 1 실시 예를 보여주는 블록도이다. 도 13을 참조하면, 블록 복사 방법은 다음과 같다.
첫째로, 제 1 프로그래밍(1st PGM)이 다음과 같이 수행된다. 소스 워드라인(424_1)에 연결된 메모리 셀들로부터 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)가 차례로 읽혀지고 에러 정정될 것이다. 예를 들어, 읽혀진 하위비트 페이지(LSB)는 페이지 버퍼(426)에 저장되고(①), 저장된 하위비트 페이지(LSB page)는 메모리 제어기(410)의 에러 정정 회로(411)로 전송된다(②). 에러 정정 회로(411)로부터 하위비트 페이지(LSB page)에 대한 에러가 정정되고, 에러 정정된 하위비트 페이지(LSB page)는 버퍼 램(412)에 전송된다(③). 중간비트 페이지(CSB page)도 유사한 방법으로 진행되고(④,⑤,⑥) 및 상위 비트 페이지(MSB page)도 유사한 방법으로 진행된다(⑦,⑧,⑨). 이로써, 에러 정정 된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)가 버퍼 램(412)에 저장된다.
이후, 타겟 워드라인(424_2)에 연결된 메모리 셀들로 버퍼 램(412)에 저장된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)가 페이지 버퍼(426)으로 전송되고(⑩), 이후 제 1 프로그래밍(1st PGM)이 진행된다(⑪). 이로써, 제 1 프로그래밍(1st PGM)이 완료된다.
둘째로, 도 12에 도시된 어드레스 스크램블링에 따라 제 2 프로그래밍(2nd PGM)이 제 1 프로그래밍(1st)와 유사한 방법으로 수행된다(
Figure 112011096811898-pat00001
). 여기서 제 2 프로그래밍(2nd)의 프로그램 상태들(도 1 참조, P21~P27)에 대응하는 검증 전압들은 제 1 프로그래밍(1st)의 프로그램 상태들(도 1참조, P11~P17)에 대응하는 검증 전압들보다 높다. 이로써, 제 2 프로그래밍(2nd PGM)이 완료된다.
셋째로, 도 12에 도시된 어드레스 스크램블링에 따라 제 3 프로그래밍(3rd PGM)이 다음과 같이 수행된다(
Figure 112011096811898-pat00002
). 여기서 제 3 프로그래밍(3rd)의 프로그램 상태들(도 1 참조, P31~P37)에 대응하는 검증 전압들은 제 2 프로그래밍(2nd)의 프로그램 상태들(P21~P27)에 대응하는 검증 전압들보다 높다. 이로써, 제 3 프로그래밍(3rd PGM)이 완료된다.
상술 된 바와 같이, 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)에 의하여 소스 워드라인(424_1)에 연결된 메모리 셀들에 대한 데이터가 타겟 워드라인(424_2)에 연결된 메모리 셀들에 대한 데이터 재프로그램된다.
본 발명의 블록 복사 방법은, 프로그래밍 단계 때마다 데이터를 읽고, 읽혀진 데이터를 에러 정정한 뒤 재프로그래밍에 이용한다.
도 13에서는 블록 복사 동작시, 데이터가 버퍼 램(412)을 경유한다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명의 블록 복사 동작은 데이터가 버퍼 램을 경유하지 않고 에러 정정한 뒤 곧바로 페이지 버퍼에 저장될 수 있다.
도 14는 도 12에 도시된 블록 복사 방법을 이용하는 메모리 시스템(50)에 대한 제 2 실시 예를 보여주는 블록도이다. 도 14를 참조하면, 블록 복사 방법은 다음과 같다.
첫째로, 제 1 프로그래밍(1st PGM)이 다음과 같이 수행된다. 소스 워드라인(524_1)에 연결된 메모리 셀들로부터 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)가 차례로 읽혀지고 에러 정정될 것이다. 예를 들어, 읽혀진 하위비트 페이지(LSB)는 페이지 버퍼(526)에 저장되고(①), 저장된 하위비트 페이지(LSB page)는 메모리 제어기(510)의 에러 정정 회로(511)로 전송된다(②). 에러 정정 회로(511)로부터 하위비트 페이지(LSB page)에 대한 에러가 정정되고, 에러 정정된 페이지 버퍼(526)에 전송된다(③). 중간비트 페이지(CSB page)도 유사한 방법으로 진행되고(④,⑤,⑥) 및 상위 비트 페이지(MSB page)도 유사한 방법으로 진행된다(⑦,⑧,⑨). 이로써, 에러 정정 된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page)가 페이지 버퍼 (526)에 저장된다. 이후, 이후 제 1 프로그래밍(1st PGM)이 진행된다(⑩). 이로써, 제 1 프로그래밍(1st PGM)이 완료된다.
둘째로, 도 12에 도시된 어드레스 스크램블링에 따라 제 2 프로그래밍(2nd PGM)이 제 1 프로그래밍(1st)와 유사한 방법으로 수행된다(
Figure 112011096811898-pat00003
). 이로써, 제 2 프로그래밍(2nd PGM)이 완료된다.
셋째로, 도 12에 도시된 어드레스 스크램블링에 따라 제 3 프로그래밍(3rd PGM)이 다음과 같이 수행된다(
Figure 112011096811898-pat00004
). 이로써, 제 3 프로그래밍(3rd PGM)이 완료된다.
상술 된 바와 같이, 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)에 의하여 소스 워드라인(524_1)에 연결된 메모리 셀들에 대한 데이터가 타겟 워드라인(524_2)에 연결된 메모리 셀들에 대한 데이터 재프로그램된다.
본 발명의 블록 복사 방법은, 프로그래밍 단계 때마다 데이터를 읽고, 읽혀진 데이터를 에러 정정한 뒤 재프로그래밍에 이용한다.
도 13 내지 도 14에서 도시된 블록 복사 방법은, 메모리 제어기에서 에러 정정을 수행한다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명의 블록 복사 방법은 비휘발성 메모리 장치 내에서 에러 정정을 수행할 수도 있다.
도 15는 도 12에 도시된 블록 복사 방법을 이용하는 메모리 시스템(60)에 대한 제 3 실시 예를 보여주는 블록도이다. 도 14를 참조하면, 블록 복사 방법은 다음과 같다.
첫째로, 제 1 프로그래밍(1st PGM)이 다음과 같이 수행된다. 소스 워드라인(624_1)에 연결된 메모리 셀들로부터 읽혀진 하위비트 페이지(LSB page)는 페이지 버퍼(626)에 저장되고(①), 이후에 하위비트 페이지(LSB page)는 비휘발성 메모리 장치(620)의 에러 정정 회로(628)에서 에러 정정된 후 다시 페이지 버퍼(626)에 저장된다(②). 다음으로, 소스 워드라인(624_1)에 연결된 메모리 셀들로부터 읽혀진 중간비트 페이지(LSB page)는 페이지 버퍼(626)에 저장되고(③), 이후에 중간비트 페이지(CSB page)는 에러 정정 회로(628)에서 에러 정정된 후 다시 페이지 버퍼(626)에 저장된다(④). 다음으로, 소스 워드라인(624_1)에 연결된 메모리 셀들로부터 읽혀진 상위비트 페이지(MSB page)는 페이지 버퍼(626)에 저장되고(⑤), 이후에 중간비트 페이지(CSB page)는 에러 정정 회로(628)에서 에러 정정된 후 다시 페이지 버퍼(626)에 저장된다(⑥). 이로써, 에러 정정된 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page) 모두가 페이지 버퍼(626)에 저장된다. 이후, 제 1 프로그래밍(1st PGM)이 수행된다(⑦). 이로써, 소스 워드라인(624_1)에 대한 제 1 프로그래밍(1st PGM)이 완료된다.
둘째로, 도 12에 도시된 어드레스 스크램블링에 따라 제 2 프로그래밍(2nd PGM)이 상술 된 제 1 프로그래밍(1st PGM)과 유사하게 수행된다(⑧~⑭).
셋째로, 도 12에 도시된 어드레스 스크램블링에 따라 제 3 프로그래밍(3rd PGM)이 상술 된 제 1 프로그래밍(1st PGM)과 유사하게 수행된다(
Figure 112011096811898-pat00005
).
본 발명의 블록 복사 방법은, 프로그래밍 단계 때마다 데이터를 읽고, 읽혀진 데이터를 비휘발성 메모리 장치(620) 내부에서 에러 정정한 뒤 재프로그래밍에 이용한다.
도 16은 도 12에 도시된 블록 복사 방법을 예시적으로 보여주는 흐름도이다. 도 12 내지 도 16을 참조하면, 블록 복사 방법은 다음과 같다.
소스 블록으로부터 데이터가 읽혀진다(S210). 읽혀진 데이터의 에러가 정정된다(S220). 여기서 에러 정정 동작은 메모리 제어기의 에러 정정 회로(도 13의 411, 도 14의 511) 혹은 비휘발성 메모리 장치의 에러 정정 회로(도 15의 528)에서 수행될 수 있다. 이후, 도 12에 도시된 어드레스 스크램블링에 따라 에러 정정된 데이터를 이용하여 재프로그래밍이 수행된다(S230). 이후 재프로그래밍이 마지막 단계인지가 판별된다(S240). 만일, 마지막 단계의 재프로그래밍이 아니라면, S210 단계로 진행된다. 반면에, 마지막 단계의 재프로그래밍이라면, 블록 복사 동작이 완료된다.
본 발명의 블록 복사 방법은, 각 프로그래밍 단계에서 데이터를 읽고, 읽혀진 데이터를 에러 정정한 뒤, 에러 정정된 데이터를 이용하여 재프로그래밍을 수행한다.
도 1 내지 도 16에서 도시된 재프로그래밍 방식으로 수행되는 3-비트 프로그램 동작은, 제 1, 제 2, 및 제 3 프로그래밍(1st PGM, 2nd PGM, 3rd PGM) 모두 3-비트 데이터를 프로그램한다. 이를 다른 말로, 8-8-8 방식의 재프로그래밍이라고 부른다. 하지만, 본 발명의 재프로그래밍 방식이 반드시 여기에 제한될 필요는 없다. 본 발명의 재프로그래밍 방식으로 수행되는 3-비트 프로그램 동작은, 2-비트 데이터를 프로그램하는 제 1 프로그래밍(1st PGM)과 3-비트 데이터를 프로그램하는 제 2 및 제 3 프로그래밍들(2nd PGM, 3rd PGM)로 구성될 수 있다.
도 17은 본 발명에 따른 재프로그래밍 방식으로 수행되는 3-비트 프로그램 동작에 대한 다른 실시 예를 예시적으로 보여주는 도면이다. 도 17을 참조하면, 3-비트 프로그램 동작은, 3 단계로 수행되는 재프로그래밍 방식(1st PGM, 2nd PGM, 3rd PGM)을 이용하되, 제 1 프로그래밍(1st PGM)은 2-비트 프로그램 동작이 수행되고, 제 2 프로그래밍(2nd PGM) 및 제 3 프로그래밍(3rd)은 3-비트 프로그램 동작이 수행된다.
첫째로, 제 1 프로그래밍(1st PGM)은 소거 상태(E)로부터 4개의 상태들(E, P11~P13)중에서 2-비트 데이터에 대응하는 어느 하나의 상태로 프로그램시킨다. 즉, 제 1 프로그래밍(1st PGM)은 제 1 및 제 2 페이지들(예를 들어, 하위비트 페이지(LSB page), 중간비트 페이지(CSB page))를 4 레벨(4-level) 상태들로 프로그램한다.
둘째로, 제 2 프로그래밍(2nd PGM)은 제 1 프로그래밍(1st PGM)이 완료된 상태들(P11~P13)을 이용하여 제 1, 제 2 및 제 3 페이지들(예를 들어, 하위비트 페이지(LSB page), 중간비트 페이지(CSB page), 상위비트 페이지(MSB page))를 8 레벨(8-level) 상태들로 대략적으로 프로그램한다. 예를 들어, 제 1 프로그래밍(1st PGM)의 상태(P11)는 제 2 프로그래밍의 상태(P22) 혹은 상태(023)로 프로그램된다.
셋째로, 제 3 프로그램 동작(3rd PGM)은 제 2 프로그래밍(2nd PGM)이 완료된 상태들(P21~P27)을 좀더 세밀한 8 레벨(8-level) 상태들(P31~P37)로 재프로그램한다. 제 3 프로그래밍(3rd PGM)은 제 2 프로그래밍(2nd PGM)에서 프로그램된 3-비트 데이터를 재프로그램한다. 예를 들어, 제 2 프로그래밍(2nd PGM)의 상태(P21)는 제 3 프로그래밍(P31) 상태로 재프로그램되고, 그 결과로써, 제 3 프로그래밍(3rd PGM)의 상태(P31)에 대응하는 문턱전압 산포는, 제 2 프로그래밍(2nd PGM)의 상태(P21)에 대응하는 문턱전압 산포보다 좁혀진다. 이로써, 최종적인 3-비트 프로그램 동작이 완료된다.
도 17에 도시된 프로그램 동작은, 4-8-8 방식의 재프로그래밍을 이용한다.
본 발명에 따른 3-비트 프로그램 동작은, 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)로 구성된 재프로그래밍 방식으로 수행되고, 각 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM) 중 적어도 하나는 다른 비트 프로그램 동작을 수행한다.
도 18은 본 발명에 따른 재프로그래밍 방식으로 수행되는 4-비트 프로그램 동작에 대한 실시 예를 예시적으로 보여주는 도면이다. 도 19을 참조하면, 4-비트 프로그램 동작은, 3 단계의 프로그래밍(1st PGM, 2nd PGM, 3rd PGM)으로 구성된 재프로그래밍 방식으로 수행되고, 각 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)은 모두 동일한 4-비트(혹은, 16 레벨) 프로그램 동작을 수행한다.
도 1 내지 도 18에 도시된 메모리 시스템은 비휘발성 메모리 장치에서 SLC 버퍼 영역과 사용자 데이터 영역을 포함한다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명에 따른 메모리 시스템은, 버퍼 프로그램 동작을 위한 SLC 버퍼 영역을 갖는 비휘발성 메모리 장치를 별도로 포함할 수 있다.
도 19는 멀티-비트 프로그램 동작을 수행하는 메모리 시스템에 대한 다른 실시 예에서 블록 복사 방법을 개념적으로 보여주는 도면이다. 도 19를 참조하면, 메모리 시스템(70)은 SLC 버퍼 영역(722)을 갖는 적어도 하나의 제 1 비휘발성 메모리 장치(720), 및 사용자 데이터 영역(734)을 갖는 적어도 하나의 제 2 비휘발성 메모리 장치(740)를 포함한다.
아래에서는 도 19에 도시된, 사용자 데이터 영역(734)의 재프로그래밍 방식으로 수행되는 블록 복사 방법을 설명하겠다. 우선적으로 소스 블록(743_1)으로부터 읽혀진 데이터는 에러 정정 회로(711)에 의해 정정된 후, 에러 정정된 데이터는 SLC 비휘발성 메모리 장치(720)의 SLC 버퍼 영역(722)에 버퍼 프로그램된다.
이후, 사전에 결정된 어드레스 스크램블링에 따라 SLC 버퍼 영역(722)에 저장된 데이터가 타겟 블록(734_2)으로 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)에 의하여 재프로그램방식으로 프로그램된다. 만약, 메모리 시스템(70)이 3-비트 프로그램 동작을 수행한다면, 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)은 4-8-8 혹은 8-8-8 방식으로 재프로그래밍될 수 있다.
본 발명의 블록 복사 방법은, 프로그램될 데이터를 제 1 비휘발성 메모리 장치(720)에 버퍼링해 두었다가, 제 2 비휘발성 메모리 장치(730)의 타겟 블록(734_2)으로 재프로그래밍 방식으로 프로그램시킨다.
도 19에서 소스 블록(734_1)과 타겟 블록(734_2)은 동일한 비휘발성 메모리 장치에 포함된다. 하지만 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 소스 블록과 타겟 블록이 서로 다른 비휘발성 메모리 장치들에 포함될 수도 있다.
도 20은 멀티-비트 프로그램 동작을 수행하는 메모리 시스템에 대한 또 다른 실시 예에서 블록 복사 방법을 개념적으로 보여주는 도면이다. 도 20을 참조하면, 메모리 시스템(80)은 SLC 버퍼 영역(822)을 갖는 적어도 하나의 제 1 비휘발성 메모리 장치(820), 소스 블록(834_1)을 갖는 제 2 비휘발성 메모리 장치(830), 타겟 블록(844_1)을 갖는 제 3 비휘발성 메모리 장치(840)를 포함한다.
아래에서는 도 20에 도시된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 설명하겠다. 우선적으로 제 2 비휘발성 메모리 장치(830)의 소스 블록(834_1)으로부터 읽혀진 데이터는 에러 정정 회로(811)에 의해 정정된 후, 에러 정정된 데이터는 제 1 비휘발성 메모리 장치(820)의 SLC 버퍼 영역(822)에 버퍼 프로그램된다. 이후, 사전에 결정된 어드레스 스크램블링에 따라 SLC 버퍼 영역(822)에 저장된 데이터가 제 3 비휘발성 메모리 장치(840)의 타겟 블록(844_1)으로 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)에 의하여 프로그램된다.
본 발명의 블록 복사 방법은, 제 2 비휘발성 메모리 장치(730)의 데이터를 제 1 비휘발성 메모리 장치(720)에 버퍼링해 두었다가, 제 3 비휘발성 메모리 장치(740)로 재프로그램 방식으로 프로그램한다.
도 20에서 데이터를 버퍼링하는 비휘발성 메모리 장치(820)와 재프로그래밍이 수행되는 비휘발성 메모리 장치(840)가 서로 다르다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 데이터를 버퍼링하는 비휘발성 메모리 장치와 재프로그래밍이 수행되는 비휘발성 메모리 장치가 동일할 수 있다.
도 21은 멀티-비트 프로그램 동작을 수행하는 메모리 시스템에 대한 또 실시 예에서 블록 복사 방법을 개념적으로 보여주는 도면이다. 도 21를 참조하면, 메모리 시스템(90)은 소스 블록(924_1)을 갖는 제 1 비휘발성 메모리 장치(920) 및 SLC 버퍼 영역(932) 및 타겟 블록(934_1)을 갖는 제 2 비휘발성 메모리 장치(930)를 포함한다.
아래에서는 도 21에 도시된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 설명하겠다. 우선적으로 제 1 비휘발성 메모리 장치(920)의 소스 블록(924_1)으로부터 읽혀진 데이터는 에러 정정 회로(911)에 의해 정정된 후, 에러 정정된 데이터는 제 2 비휘발성 메모리 장치(930)의 SLC 버퍼 영역(932)에 버퍼 프로그램된다. 이후, 사전에 결정된 어드레스 스크램블링에 따라 SLC 버퍼 영역(932)에 저장된 데이터가 제 2 비휘발성 메모리 장치(930)의 타겟 블록(934_1)으로 3 단계의 프로그래밍들(1st PGM, 2nd PGM, 3rd PGM)에 의하여 프로그램된다.
본 발명의 블록 복사 방법은, 제 1 비휘발성 메모리 장치(920)의 데이터를, 제 2 비휘발성 메모리 장치(930)의 SLC 버퍼 영역(932)에 버퍼링해 두었다가, 제 2 비휘발성 메모리 장치(930)의 사용자 데이터 영역(934)으로 재프로그램 방식으로 프로그램한다.
본 발명의 실시 예에 따른 블록 복사 방법은 VNAND(Vertical NAND)를 갖는 메모리 시스템에도 적용가능하다.
도 22는 본 발명에 따른 블록 복사 동작을 수행하는 VNAND을 갖는 메모리 시스템(10a)을 예시적으로 보여주는 블록도이다. 도 22를 참조하면, 메모리 시스템(10a)은 메모리 제어기(110a), 적어도 하나의 피램(PRAM; phase change memory, 120a), 및 적어도 하나의 VNAND(130a)을 포함한다.
피램(120a)은 상변화 물질의 상태(결정 상태 혹은 비결정 상태)에 따라 데이터를 저장하는 메모리 셀들을 포함한다. 피램(120a)에 대한 자세한 것은 삼성 전자에서 출원하였으며, 이 출원의 참고 문헌으로 결합된 미국 등록 특허 번호 US 7,085,154, US 7,227,776, US 7,304,886, US 8,040,720에서 설명될 것이다.
VNAND(130a)에 대한 자세한 것은, 삼성 전자에서 출원하였으며, 이 출원의 참고 문헌으로 결합된 미국 공개 번호들 US 2009/0310415, US 2010/0078701, US 2010/0117141, US 2010/0140685, US 2010/0213527, US 2010/0224929, US 2010/0315875, US 2010/0322000, US 2011/0013458, US 2011/0018036에 설명될 것이다.
아래에서는 소스 블록(134a-1)의 데이터를 타겟 블록(134a-2)으로 복사하는 방법을 설명하겠다. VNAND(130a)의 소스 블록(134a-1)으로부터 데이터가 읽혀지고, 읽혀진 데이터는 에러 정정 회로(111a)로 에러 정정되고, 에러 정정된 데이터는 피램(120a)에 버퍼 프로그램된다. 이후, 버퍼 프로그램된 데이터가 VNAND(130a)의 타겟 블록(134a-2)으로 프로그램된다. 여기서, 버퍼 프로그램된 데이터가 타겟 블록(134a-2)으로 프로그램될 때, 재프로그래밍 방식이 이용될 수도 있고, 그렇지 않을 수도 있다.
본 발명의 메모리 시스템(10a)의 블록 복사 방법은, VNAND(130a)의 소스 블록(134a-1)로부터 읽혀진 데이터를 피램(120a)에 버퍼링 해두었다가, VNAND(130a)의 타겟 블록(134a-2)으로 프로그램한다.
도 23은 도 22에 도시된 VNAND(130a)의 어느 하나의 블록을 예시적으로 보여주는 도면이다. 도 23을 참조하면, 기판 위에 4개의 서브 블록들이 하나의 블록을 구성된다. 각각의 서브 블록들은 기판 위에 워드라인 컷들 사이에 적어도 하나의 접지 선택 라인(GSL), 복수의 워드라인들(WL), 적어도 하나의 스트링 선택 라인(SSL)이 적층됨으로써 형성된다. 여기서 적어도 하나의 스트링 선택 라인(SSL)은 스트링 선택 라인 컷으로 분리된다. 여기서 각각의 워드라인 컷들은, 도시되지 않았지만 공통 소스 라인(Common Source Line: CSL)을 포함한다. 실시 예에 있어서, 각각의 워드라인 컷에 포함된 공통 소스 라인(CSL)은 공통으로 연결된다.
본 발명은 다양한 장치들에 응용 가능하다.
도 24는 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 24를 참조하면, 메모리 시스템(1000)은 적어도 하나의 비휘발성 메모리 장치(1100) 및 메모리 제어기(1200)를 포함한다. 메모리 시스템(1100)은 도 1 내지 도 23에 상술 된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 적용한다.
비휘발성 메모리 장치(1100)는 외부로부터 고전압(Vpp)을 옵션적으로 제공받을 수 있다. 메모리 제어기(1200)는 복수의 채널들을 통하여 비휘발성 메모리 장치(1100)에 연결된다. 메모리 제어기(1200)는 적어도 하나의 중앙처리장치(1210), 버퍼 메모리(1220), 에러 정정회로(1230), 롬(1240), 호스트 인터페이스(1250) 및 메모리 인터페이스(1260)를 포함한다. 도시되지 않았지만, 메모리 제어기(1200)는 데이터를 랜덤화시키거나 디랜덤화시키는 랜덤화 회로를 더 포함할 수 있다. 본 발명의 메모리 시스템(1000)은 PPN(Perfect Page New)에 적용가능하다. 비휘발성 메모리 장치(1110)은 도시되지 않았지만, 외부의 고전압을 선택적으로 입력받을 수 있다.
한편, 메모리 시스템에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 등록 특허번호 US 8,027,194, 미국 공개 번호 US 2010-0082890에서 설명될 것이다.
도 25는 본 발명의 실시 예에 따른 메모리 카드에 대한 블록도이다. 도 25를 참조하면, 메모리 카드(2000)는 적어도 하나의 플래시 메모리 장치(2100), 버퍼 메모리 장치(2200) 및 그것들을 제어하는 메모리 제어기(2300)를 포함한다. 메모리 카드(2000)는 도 1 내지 도 23에 상술 된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 적용한다.
버퍼 메모리 장치(2200)는 메모리 카드(2000)의 동작 중 생성되는 데이터를 임시로 저장하기 위한 장치이다. 버퍼 메모리 장치(2200)는 디램 혹은 에스램 등으로 구현될 수 있다. 메모리 제어기(2300)는 복수의 채널들을 통하여 플래시 메모리 장치(2100)에 연결된다. 메모리 제어기(2300)는 호스트 및 플래시 메모리 장치(2100)에 사이에 연결된다. 호스트로부터의 요청에 응답하여, 메모리 제어기(2300)는 플래시 메모리 장치(2100)를 억세스한다.
메모리 제어기(2300)는 적어도 하나의 마이크로 프로세서(2310), 호스트 인터페이스(2320), 플래시 인터페이스(2330)를 포함한다. 적어도 하나의 마이크로 프로세서(2310)는 펌웨어(firmware)를 동작하도록 구현된다. 호스트 인터페이스(2320)는 호스트와 메모리 카드(2000) 사이에 데이터 교환을 수행하기 위한 카드 프로토콜(예를 들어, SD/MMC)을 통해 호스트와 인터페이싱한다. 이러한 메모리 카드(2000)는 멀티미디어 카드(Multimedia Card: MMC), 보안 디지털(Security Digital: SD), miniSD, 메모리 스틱(Memory Stick), 스마트미디어(Smart Media), 트랜스플래시(TransFlash) 카드 등에 적용가능하다.
한편, 메모리 카드(2000)에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 공개 번호 US 2010-0306583에서 설명될 것이다.
도 26은 본 발명의 실시 예에 따른 모비낸드에 대한 블록도이다. 도 26을 참조하면, 모비낸드(3000)는 적어도 하나의 낸드 플래시 메모리 장치(3100) 및 제어기(3200)를 포함할 수 있다. 모비낸드(3000)는 MMC 4.4(다른 말로, eMMC) 규격을 지원한다. 모비낸드(3000)는 도 1 내지 도 23에 상술 된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 적용한다.
낸드 플래시 메모리 장치(3100)는 외부 고전압(Vpp)을 옵션적으로 제공받을 수 있다. 낸드 플래시 메모리 장치(3100)는 SDR(Sing Data Rate) 낸드 혹은 DDR(Double Data Rate) 낸드일 수 있다. 실시 예에 있어서, 낸드 플래시 메모리 장치(3100)는 단품의 낸드 플래시 메모리 장치들을 포함할 수 있다. 여기서, 단품의 낸드 플래시 메모리 장치들은 하나의 패키지(예를 들어, FBGA, Fine-pitch Ball Grid Array)에 적층되어 구현될 수 있다.
메모리 제어기(3200)는 복수의 채널들(CH1~CH4)을 통하여 플래시 메모리 장치(3100)에 연결된다. 한편, 채널들의 개수는 4개로 제한되지 않을 것이다. 제어기(3200)는 적어도 하나의 제어기 코어(3210), 호스트 인터페이스(3220) 및 낸드 인터페이스(3230)를 포함한다. 적어도 하나의 제어기 코어(3210)는 모비낸드(3000)의 전반적인 동작을 제어한다.
호스트 인터페이스(3220)는 제어기(3210)와 호스트의 인터페이싱을 수행한다. 낸드 인터페이스(3230)는 낸드 플래시 메모리 장치(3100)와 제어기(3200)의 인터페이싱을 수행한다. 실시 예에 있어서, 호스트 인터페이스(3220)는 병렬 인터페이스(예를 들어, MMC 인터페이스)일 수 있다. 다른 실시 예에 있어서, 모비낸드(3000)의 호스트 인터페이스(3220)는 직렬 인터페이스(예를 들어, UHS-II, UFS 인터페이스)일 수 있다.
모비낸드(3000)는 호스트로부터 전원전압들(Vcc, Vccq)을 제공받는다. 여기서, 제 1 전원전압(Vcc: 3.3V)은 낸드 플래시 메모리 장치(3100) 및 낸드 인터페이스(3230)에 제공되고, 제 2 전원전압(Vccq: 1.8V/3.3V)은 제어기(3200)에 제공된다. 실시 예에 있어서, 모비낸드(3000)는 외부 고전압(Vpp)을 옵션적으로 제공받을 수 있다.
본 발명의 실시 예에 따른 모비낸드(3000)는 대용량의 데이터를 저장하는 데 유리할 뿐 아니라, 향상된 읽기 동작 특성을 갖는다. 본 발명의 실시 예에 따른 모비낸드(3000)는 소형 및 저전력이 요구되는 모바일 제품(예를 들어, 갤럭시S, 아이폰 등)에 응용 가능하다.
도 26에 도시된 모비낸드(3000)는 복수의 전원전압들(Vcc, Vccq)을 제공받는다. 하지만 본 발명의 모비낸드가 반드시 여기에 제한될 필요는 없다. 본 발명의 모비낸드는 전원전압(Vcc)을 입력받아 내부에서 부스팅 혹은 레귤레이팅함으로써, 낸드 인터페이스 및 낸드 플래시 메모리에 적합한 전원전압(3.3V)을 발생하도록 구현될 수도 있다. 이러한 내부 부스팅 혹은 레귤레이팅 동작에 대한 자세한 것은 삼성전자에서 출원하였으며 참고문헌으로 결합된 미국 등록 특허 7,092,308에서 설명될 것이다.
한편, 본 발명은 솔리드 스테이트 드라이브(Solid State Drive: 이하, 'SSD'라고 함)에 적용가능하다.
도 27은 본 발명의 실시 예에 따른 SSD에 대한 블록도이다. 도 27을 참조하면, SSD(4000)는 복수의 플래시 메모리 장치들(4100) 및 SSD 제어기(4200)를 포함한다. SSD(4000)은 도 1 내지 도 23에 상술 된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 적용한다.
플래시 메모리 장치들(4100)은 옵션적으로 외부 고전압(Vpp)을 제공받도록 구현될 수 있다. SSD 제어기(4200)는 복수의 채널들(CH1~CHi,i는 2 이상의 정수)을 통하여 플래시 메모리 장치들(4100)에 연결된다. SSD 제어기(4200)는 적어도 하나의 중앙처리장치(4210), 호스트 인터페이스(4220), 버퍼 메모리(4230) 및 플래시 인터페이스(4240)를 포함한다.
호스트 인터페이스(4220)는 중앙처리장치(4210)의 제어에 따라 호스트와 통신 프로토콜 방식으로 데이터를 교환한다. 실시 예에 있어서, 통신 프로토콜은 ATA(Advanced Technology Attachment) 프로토콜일 수 있다. 이러한 ATA 프로토콜은 SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, ESATA(External SATA) 인터페이스 등을 포함한다. 다른 실시 예에 있어서, 통신 프로토콜은 USB(Universal Serial Bus) 프로토콜일 수 있다. 호스트 인터페이스(4220)를 통해 호스트로부터 입력되는 데이터나 호스트로 전송되어야 할 데이터는 중앙처리장치(4210)의 제어에 따라 CPU 버스를 경유하지 않고 버퍼 메모리(4220)를 통해 전송된다.
버퍼 메모리(4230)는 외부와 플래시 메모리 장치들(4100) 간의 이동 데이터를 임시로 저장한다. 또한, 버퍼 메모리(4230)는 중앙처리장치(4210)에 의해서 운용될 프로그램을 저장하는 데에도 사용된다. 버퍼 메모리(4230)는 디램(DRAM) 혹은 에스램(SRAM)으로 구현될 수 있다. 도 27에서 버퍼(4230)는 SSD 제어기(4200) 내부에 포함되지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명의 실시 예에 따른 버퍼 메모리는 SSD 제어기(4200)의 외부에 배치될 수 있다.
플래시 인터페이스(4240)는 저장 장치로 사용되는 플래시 메모리 장치들(4100)과 SSD 제어기(4200) 사이의 인터페이싱을 수행한다. 플래시 인터페이스(4260)는 낸드 플래시 메모리, 원내드(One-NAND) 플래시 메모리, 멀티 레벨 플래시 메모리, 싱글 레벨 플래시 메모리를 지원하도록 구성될 수 있다.
본 발명의 실시 예에 따른 SSD(4000)는 프로그램 동작시 랜덤 데이터를 저장함으로써, 데이터의 신뢰성을 향상시킨다. 그 결과로써 본 발명의 SSD(4000)는 저장된 데이터의 신뢰성을 향상시킬 수 있다. 한편, SSD(4000)에 대한 좀더 자세한 것은 삼성전자에서 출원하였으며 참고 문헌으로 결합된 미국 등록 특허 번호 US 8,027,194, 미국 공개 번호 US 2010-0082890에서 설명될 것이다.
도 28은 도 27에 도시된 SSD(4000)를 갖는 컴퓨팅 시스템에 대한 블록도이다. 도 28을 참조하면, 컴퓨팅 시스템(5000)은, 적어도 하나의 중앙처리장치(5100), 비휘발성 메모리 장치(5200), 램(5300), 입출력 장치(5400), 및 적어도 하나의 SSD(5500)를 포함한다.
적어도 하나의 중앙처리장치(5100)는 시스템 버스에 연결된다. 비휘발성 메모리 장치(5200)는 컴퓨팅 시스템(5000)을 동작하는데 필요한 데이터가 저장된다. 이러한 데이터에는 개시 명령 시퀀스, 혹은 기본적인 입/출력 동작 시스템(예를 들어, BIOS) 시퀀스 등이다. 램(5300)은 중앙처리장치(5100)가 실행될 때 생성되는 데이터가 임시로 저장된다. 입출력 장치(5400)는, 실시 예에 있어서, 키보드, 포인팅 장치(마우스), 모니터, 모뎀, 등이 입출력 장치 인터페이스를 통하여 시스템 버스에 연결된다. SSD(5500)는 읽기 가능한 저장 장치로써, 도 27에 도시된 SSD(4000)와 동일하게 구현된다.
도 29는 도 27에 도시된 SSD(4000)를 갖는 전자기기에 대한 블록도이다. 도 29를 참조하면, 전자기기(6000)는, 프로세서(6100), 롬(6200), 램(6300), 및 플래시 인터페이스(6400), 및 적어도 하나의 SSD(6500)을 포함한다.
프로세서(6100)는 펌웨어 코드 혹은 임의의 코드를 실행하기 위하여 램(6300)을 억세스한다. 또한, 프로세서(6100)는 개시 명령 시퀀스 혹은 기본 입출력 동작 시스템 시퀀스들과 같은 고정 명령 시퀀스들을 실행하기 위하여 롬(6200)에 억세스한다. 플래시 인터페이스(6400)는 전자기기(6000)와 SSD(6500) 사이의 인터페이싱을 수행한다. SSD(6500)는 전자기기(6000)에 착탈이 가능할 수 있다. SSD(6500)는, 도 27에 도시된 SSD(4000)와 동일하게 구현된다.
본 발명의 전자기기(6000)는 셀룰러 폰, 개인 디지털 보조기(Personal Digital Assistants: PDAs), 디지털 카메라, 캠코더, 및 휴대용 오디오 재생장치(예를 들어, MP3), PMP 등이 될 수 있다.
도 30은 도 27에 도시된 SSD(4000)를 이용하는 서버 시스템에 대한 블록도이다. 도 30을 참조하면, 서버 시스템(7000)은 서버(7100), 및 서버(7100)를 동작하는 데 필요한 데이터를 저장하는 적어도 하나의 SSD(7200)를 포함한다. 여기서 적어도 하나의 SSD(7200)는, 도 27에 도시된 SSD(4000)와 동일한 기능 혹은 동작을 갖도록 구현될 것이다.
서버(7100)는 응용 통신 모듈(7110), 데이터 처리 모듈(7120), 업그레이드 모듈(7130), 스케줄링 센터(7140), 로컬 리소스 모듈(7150), 및 리페어 정보 모듈(7160)을 포함한다. 응용 통신 모듈(7110)은 서버(7100)와 네트워크에 연결된 컴퓨팅 시스템과 통신하거나 혹은 서버(7100)와 SSD(7200)이 통신하도록 구현된다. 응용 통신 모듈(7110)은 사용자 인터페이스를 통하여 제공된 데이터 혹은 정보를 데이터 처리 모듈(7120)로 전송한다.
데이터 처리 모듈(7120)은 로컬 리소스 모듈(7150)에 링크된다. 여기서 로컬 리소스 모듈(7150)은 서버(7100)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 리페어 숍들(repair shops)/딜러들(dealers)/기술적인 정보의 목록을 제공한다. 업그레이드 모듈(7130)은 데이터 처리 모듈(7120)과 인터페이싱 한다. 업그레이드 모듈(7130)은 SSD(7200)로부터 전송된 데이터 혹은 정보를 근거로 하여 펌웨어, 리셋 코드, 진단 시스템 업그레이드 혹은 다른 정보들을 전자기기(appliance)에 업그레이드한다.
스케쥴링 센터(7140)는 서버(7100)에 입력된 데이터 혹은 정보를 근거로 하여 사용자에게 실시간의 옵션을 허용한다. 리페어 정보 모듈(7160)은 데이터 처리 모듈(7120)과 인터페이싱한다. 리페어 정보 모듈(7160)은 사용자에게 리페어 관련 정보(예를 들어, 오디오, 비디오, 혹은 문서 파일)를 제공하는데 이용된다. 데이터 처리 모듈(7120)은 SSD(7200)로부터 전송된 정보를 근거로 하여 관련된 정보를 패키징한다. 그 뒤, 이러한 정보는 SSD(7200)에 전송되거나 혹은 사용자에게 디스플레이된다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치는 모바일 장치(예를 들어, 갤럭시S, 아이폰 등)에도 적용가능하다.
도 31은 본 발명의 실시 예에 따른 모바일 장치(8000)를 예시적으로 보여주는 도면이다. 도 31을 참조하면, 모바일 장치(8000)는 통신 유닛(8100), 제어기(8200), 메모리 유닛(8300), 디스플레이 유닛(8400), 터치 스크린 유닛(8500), 및 오디오 유닛(8600)을 포함한다.
메모리 유닛(8300)은 적어도 하나의 디램(8310), 적어도 하나의 원낸드(8320), 및 적어도 하나의 모비낸드(8330)를 포함한다. 원낸드(8320) 및 모비 낸드(8330) 중 적어도 하나는 도 1 내지 도 23에 상술 된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 적용한다.
한편, 모바일 장치에 대한 좀더 자세한 것은, 삼성 전자에서 출원하였으며, 이 출원의 참고 문헌으로 결합된 미국 공개 번호들 US 2010/0010040, US 2010/0062715, US 2010/0309237, US 2010/0315325에서 설명될 것이다.
본 발명의 실시 예에 따른 비휘발성 메모리 장치는 태블릿(예를 들어, 갤럭시탭, 아이패드 등)에도 적용가능하다.
도 32는 본 발명의 실시 예에 따른 휴대용 전자 장치(9000)를 예시적으로 보여주는 도면이다. 도 32를 참조하면, 휴대용 전자 장치(9000)는 일반적으로 적어도 하나의 컴퓨터 판독 가능 매체(9020), 처리 시스템(9040), 입출력 서브시스템(9060), 무선 주파수 회로(9080) 및 오디오 회로(9100)를 포함한다. 각 구성요소들 적어도 하나의 통신 버스 혹은 신호선(9030)로 연결될 수 있다.
휴대용 전자 장치(9000)는, 제한되지 않는 핸드헬드 컴퓨터(handheld computer), 태블릿 컴퓨터, 이동 전화, 미디어 플레이어, PDA(personal digital assistant) 등과 이들 아이템 중 둘 이상의 조합을 포함하는 임의의 휴대용 전자 장치일 수 있다. 여기서 적어도 하나의 컴퓨터 판독 가능 매체(9020)는 메모리 시스템(1100)은 도 1 내지 도 23에 상술 된 재프로그래밍 방식으로 수행되는 블록 복사 방법을 적용한다. 한편, 휴대용 전자 장치(9000)에 대한 좀더 자세한 것은 참고 문헌으로 결합된 미국 등록 번호 US 7,509,588에서 설명될 것이다.
본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 실시 예에 있어서, 본 발명의 실시 예에 따른 메모리 시스템 혹은 저장 장치는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시 예에 제한되어 정해져서는 안되며 후술하는 특허 청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1st PGM: 제 1 프로그래밍
2nd PGM: 제 2 프로그래밍
3rd PGM: 제 3 프로그래밍
10, 20, 30, 40, 50, 60, 70, 80: 메모리 시스템
110, 210, 310, 410, 510, 610, 710, 810: 메모리 제어기
111, 528: 에러 정정 회로
112: 버퍼 램
120: 비휘발성 메모리 장치
122: SLC 버퍼 영역
124: 사용자 데이터
124_1: 소스 워드라인
124_2: 타겟 워드라인
126: 페이지 버퍼

Claims (39)

  1. 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 블록 복사 방법에 있어서:
    상기 비휘발성 메모리 장치의 소스 블록으로부터 데이터를 읽는 단계;
    상기 읽혀진 데이터의 에러를 정정하는 단계;
    상기 에러 정정된 데이터를 버퍼링하는 단계; 및
    상기 버퍼링된 데이터를 상기 비휘발성 메모리 장치의 타겟 블록으로 재프로그래밍 방식을 이용하여 프로그램 동작을 수행하는 단계를 포함하고,
    상기 프로그램 동작은, 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히기 위한 복수의 프로그래밍들을 포함하고,
    상기 버퍼링된 데이터는, 상기 복수의 프로그래밍들 각각을 위해 이용되는 블록 복사 방법.
  2. 제 1 항에 있어서,
    상기 복수의 프로그래밍들 중 적어도 2개는 동일한 멀티 비트 프로그램 동작인 블록 복사 방법.
  3. 제 2 항에 있어서,
    상기 복수의 프로그래밍들 중 적어도 1개는 상기 동일한 멀티 비트보다 낮은 멀티 비트 프로그램 동작을 수행하는 블록 복사 방법.
  4. 제 2 항에 있어서,
    상기 복수의 프로그래밍들은 3 개의 동일한 멀티 비트 프로그램 동작을 수행하는 블록 복사 방법.
  5. 제 4 항에 있어서,
    상기 비휘발성 메모리 장치는,
    싱글 레벨 셀들로 구성된 제 1 영역; 및
    멀티 레벨 셀들로 구성된 제 2 영역을 포함하고,
    상기 제 2 영역은 상기 소스 블록과 상기 타겟 블록을 포함하는 블록 복사 방법.
  6. 제 5 항에 있어서,
    상기 복수의 프로그래밍들은,
    상기 버퍼링된 데이터를 3 비트 프로그램하는 제 1 프로그래밍;
    상기 제 1 프로그래밍 이후에 상기 버퍼링된 데이터를 3 비트 프로그램하는 제 2 프로그래밍; 및
    상기 제 2 프로그래밍 이후에 상기 버퍼링된 데이터를 3 비트 프로그램하는 제 3 프로그래밍을 포함하는 블록 복사 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하는 메모리 시스템의 블록 복사 방법에 있어서:
    소스 워드라인에 연결된 복수의 메모리 셀들로부터 하위비트 페이지를 읽고, 상기 읽혀진 하위비트 페이지의 에러를 정정하고, 상기 에러 정정된 하위비트 페이지를 제 1 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계;
    상기 소스 워드라인에 연결된 복수의 메모리 셀들로부터 중간비트 페이지를 읽고, 상기 읽혀진 중간비트 페이지의 에러를 정정하고, 상기 에러 정정된 중간비트 페이지를 제 2 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계;
    상기 소스 워드라인에 연결된 복수의 메모리 셀들로부터 상위비트 페이지를 읽고, 상기 읽혀진 상위비트 페이지의 에러를 정정하고, 상기 에러 정정된 상위비트 페이지를 제 3 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계; 및
    상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 및 상위비트 페이지를 타겟 워드라인에 연결된 복수의 메모리 셀들로 재프로그래밍 방식을 이용하여 프로그램하는 단계를 포함하고,
    상기 재프로그래밍 방식은 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히도록 복수의 프로그래밍들을 수행하고,
    상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 상기 메모리 셀들에 프로그램된 상기 하위비트 페이지, 상기 중간비트 페이지, 및 상기 상위비트 페이지는 상기 복수의 프로그래밍들 각각을 위해 이용되는 블록 복사 방법.
  16. 제 15 항에 있어서,
    상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들은 싱글 레벨 셀들인 블록 복사 방법.
  17. 제 15 항에 있어서,
    상기 제 1 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는, 상기 읽혀진 하위비트 페이지를 에러 정정 회로에 전송하는 단계; 상기 에러 정정 회로에서 상기 하위비트 페이지의 에러를 정정하는 단계; 및 상기 에러 정정된 하위비트 페이지를 페이지 버퍼에 전송하는 단계를 포함하고,
    상기 제 2 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는, 상기 읽혀진 중간비트 페이지를 상기 에러 정정 회로에 전송하는 단계; 상기 에러 정정 회로에서 상기 중간비트 페이지의 에러를 정정하는 단계; 및 상기 에러 정정된 중간비트 페이지를 상기 페이지 버퍼에 전송하는 단계를 포함하고,
    상기 제 3 버퍼 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는, 상기 읽혀진 상위비트 페이지를 상기 에러 정정 회로에 전송하는 단계; 상기 에러 정정 회로에서 상기 상위비트 페이지의 에러를 정정하는 단계; 및 상기 에러 정정된 상위비트 페이지를 상기 페이지 버퍼에 전송하는 단계를 포함하는 블록 복사 방법.
  18. 삭제
  19. 삭제
  20. 제 15 항에 있어서,
    상기 복수의 프로그래밍들은,
    상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지를 상기 타겟 워드라인에 연결된 복수의 셀들로 프로그램하는 제 1 프로그래밍;
    상기 제 1 프로그래밍 이후, 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지를 상기 타겟 워드라인에 연결된 복수의 셀들로 프로그램하는 제 2 프로그래밍; 및
    상기 제 2 프로그래밍 이후, 상기 제 1, 제 2 및 제 3 버퍼 워드라인들에 연결된 메모리 셀들에 프로그램된 하위비트 페이지, 중간비트 페이지, 상위비트 페이지를 상기 타겟 워드라인에 연결된 복수의 셀들로 프로그램하는 제 3 프로그래밍을 포함하는 블록 복사 방법.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 제 1 페이지, 제 2 페이지, 및 제 3 페이지들 각각이 대응하는 버퍼 워드라인들에 연결된 메모리 셀들로 프로그램되는 버퍼 영역; 상기 버퍼 영역으로부터 읽혀진 상기 제 1 페이지, 상기 제 2 페이지, 및 상기 제 3 페이지들이 하나의 워드라인에 연결된 메모리 셀들에 재프로그래밍 방식으로 프로그램되는 사용자 데이터 영역을 갖는 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치를 제어하는 메모리 제어기를 포함하고,
    상기 재프로그래밍 방식은, 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히기 위한 제1프로그래밍, 제2프로그래밍, 및 제3프로그래밍을 수행하고,
    상기 사용자 데이터 영역의 소스 블록의 데이터를 타겟 블록으로 복사할 때, 상기 소스 블록의 데이터를 읽고, 상기 읽혀진 데이터를 에러 정정하고, 상기 에러 정정된 데이터를 버퍼링하고, 상기 버퍼링된 데이터를 이용하여 상기 제1프로그래밍을 수행하고, 상기 제1프로그래밍이 수행된 이후에 상기 버퍼링된 데이터를 재이용하여 상기 제2프로그래밍을 수행하고, 상기 제2프로그래밍이 수행된 이후에 상기 버퍼링된 데이터를 재이용하여 상기 제3프로그래밍을 수행하는 메모리 시스템.
  25. 제 24 항에 있어서,
    상기 메모리 제어기는,
    상기 소스 블록으로부터 읽혀진 데이터를 에러 정정하는 에러 정정 회로를 포함하는 메모리 시스템.
  26. 제 24 항에 있어서,
    상기 메모리 제어기는,
    상기 버퍼링된 데이터를 저장하는 버퍼 램을 포함하는 메모리 시스템.
  27. 제 24 항에 있어서,
    상기 제1프로그래밍은, 2-비트 프로그램 동작을 포함하고,
    상기 제2프로그래밍은, 3-비트 프로그램 동작을 포함하고,
    상기 제 3 프로그래밍은, 상기 제 2 프로그래밍의 검증 전압들보다 높은 검증 전압에 기초한 3-비트 프로그램 동작을 포함하는 메모리 시스템.
  28. 제 24 항에 있어서,
    상기 제1프로그래밍은, 3-비트 프로그램 동작을 포함하고,
    상기 제2프로그래밍은, 상기 제 1 프로그래밍의 검증 전압들보다 높은 검증 전압들에 기초한 3-비트 프로그램 동작을 포함하고,
    상기 제 3 프로그래밍은, 상기 제 2 프로그래밍의 검증 전압들보다 높은 검증 전압들에 기초한 3-비트 프로그램 동작을 포함하는 메모리 시스템.
  29. 삭제
  30. 삭제
  31. 메모리 시스템의 블록 복사 방법에 있어서:
    제 1 블록의 제 1 워드라인에 연결된 메모리 셀로부터 적어도 하나의 제 1 유효 페이지를 읽는 단계;
    제 2 블록의 제 2 워드라인에 연결된 메모리 셀로부터 적어나 하나의 제 2 유효 페이지를 읽는 단계;
    상기 읽혀진 제 1 및 제 2 유효 페이지들을 에러 정정하는 단계;
    상기 에러 정정된 제 1 및 제 2 유효 페이지들을 버퍼링하는 단계; 및
    상기 버퍼링된 제 1 및 제 2 유효 페이지들을 제 3 블록의 제 3 워드라인에 연결된 메모리 셀들로 프로그램하는 단계를 포함하고,
    상기 제 3 워드라인에 연결된 메모리 셀들로 프로그램하는 단계는,
    어드레스 스크램블링 순서에 기초하여, 저장될 데이터 값에 대응하는 문턱전압의 산포의 폭을 좁히기 위한 복수의 프로그래밍들을 수행하는 단계를 포함하고,
    상기 복수의 프로그래밍들은 제1프로그래밍 동작 및 제2프로그래밍 동작을 포함하고,
    상기 버퍼링된 제1 및 제2유효 페이지들을 이용하여 상기 제1프로그래밍 동작을 수행하고,
    상기 버퍼링된 제1 및 제2유효 페이지들을 재이용하여 상기 제2프로그래밍 동작을 수행하는 블록 복사 방법.
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 제 31 항에 있어서,
    상기 버퍼링하는 단계는,
    상기 에러 정정된 제 1 및 제 2 유효 페이지들을 버퍼 램에 저장하는 단계를 포함하는 블록 복사 방법.
  38. 제 31 항에 있어서,
    상기 버퍼링하는 단계는,
    상기 에러 정정된 제 1 및 제 2 유효 페이지들을 싱글 레벨 셀들에 프로그램하는 단계를 포함하는 블록 복사 방법.
  39. 삭제
KR1020110129581A 2011-12-06 2011-12-06 메모리 시스템들 및 그것들의 블록 복사 방법들 KR101893145B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020110129581A KR101893145B1 (ko) 2011-12-06 2011-12-06 메모리 시스템들 및 그것들의 블록 복사 방법들
US13/690,544 US9032272B2 (en) 2011-12-06 2012-11-30 Memory systems and block copy methods thereof
DE102012111829A DE102012111829A1 (de) 2011-12-06 2012-12-05 Speichersysteme und Blockkopierverfahren davon
JP2012267028A JP6262426B2 (ja) 2011-12-06 2012-12-06 メモリシステム及びそれのブロック複写方法
CN201210520121.XA CN103151069B (zh) 2011-12-06 2012-12-06 存储器***及其块复制方法
US14/695,375 US9280420B2 (en) 2011-12-06 2015-04-24 Memory systems and block copy methods thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110129581A KR101893145B1 (ko) 2011-12-06 2011-12-06 메모리 시스템들 및 그것들의 블록 복사 방법들

Publications (2)

Publication Number Publication Date
KR20130063191A KR20130063191A (ko) 2013-06-14
KR101893145B1 true KR101893145B1 (ko) 2018-10-05

Family

ID=48524902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110129581A KR101893145B1 (ko) 2011-12-06 2011-12-06 메모리 시스템들 및 그것들의 블록 복사 방법들

Country Status (4)

Country Link
US (2) US9032272B2 (ko)
JP (1) JP6262426B2 (ko)
KR (1) KR101893145B1 (ko)
CN (1) CN103151069B (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US9502349B2 (en) * 2014-01-17 2016-11-22 Macronix International Co., Ltd. Separated lower select line in 3D NAND architecture
KR102009437B1 (ko) * 2013-01-18 2019-08-13 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR102125376B1 (ko) 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
KR102096285B1 (ko) 2013-07-30 2020-04-02 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
KR102133362B1 (ko) 2013-08-14 2020-07-15 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 및 그것의 프로그램 방법
KR20150045747A (ko) * 2013-10-21 2015-04-29 에스케이하이닉스 주식회사 데이터 저장 시스템 및 그것의 동작 방법
KR102127105B1 (ko) * 2013-11-11 2020-06-29 삼성전자 주식회사 비휘발성 메모리 장치의 구동 방법
US9373632B2 (en) 2014-01-17 2016-06-21 Macronix International Co., Ltd. Twisted array design for high speed vertical channel 3D NAND memory
KR102192539B1 (ko) * 2014-05-21 2020-12-18 삼성전자주식회사 반도체 장치 및 이의 프로그램 방법
US9230664B2 (en) 2014-06-06 2016-01-05 Kabushiki Kaisha Toshiba Nonvolatile memory and data writing method
KR102293169B1 (ko) * 2014-06-25 2021-08-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
KR20160021654A (ko) 2014-08-18 2016-02-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작방법
US9349458B2 (en) * 2014-10-16 2016-05-24 Sandisk Technologies Inc. Biasing of unselected blocks of non-volatile memory to reduce loading
JP6158265B2 (ja) * 2015-09-16 2017-07-05 株式会社東芝 キャッシュメモリシステム
KR102511459B1 (ko) * 2016-03-17 2023-03-17 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
CN111679787B (zh) 2016-04-27 2023-07-18 慧荣科技股份有限公司 闪存装置、闪存控制器及闪存存储管理方法
US10110255B2 (en) 2016-04-27 2018-10-23 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
CN107391026B (zh) 2016-04-27 2020-06-02 慧荣科技股份有限公司 闪存装置及闪存存储管理方法
US10289487B2 (en) 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US10019314B2 (en) 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN107391296B (zh) 2016-04-27 2020-11-06 慧荣科技股份有限公司 存取闪存模块的方法及相关的闪存控制器与记忆装置
KR102636039B1 (ko) * 2016-05-12 2024-02-14 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법 및 카피백 방법
US10388351B2 (en) 2017-08-30 2019-08-20 Micron Technology, Inc. Wear leveling for random access and ferroelectric memory
US10153046B1 (en) * 2017-10-30 2018-12-11 Western DigitalTechnologies, Inc. Non-volatile memory with backing up of programmed data
KR102434986B1 (ko) 2018-03-30 2022-08-22 삼성전자주식회사 데이터 신뢰성이 개선된 메모리 장치 및 이의 동작방법
US11205485B2 (en) 2018-03-30 2021-12-21 Samsung Electronics Co., Ltd. Three-dimensional NAND flash memory device having improved data reliability by varying program intervals, and method of operating the same
US10762967B2 (en) 2018-06-28 2020-09-01 Apple Inc. Recovering from failure in programming a nonvolatile memory
US10755787B2 (en) 2018-06-28 2020-08-25 Apple Inc. Efficient post programming verification in a nonvolatile memory
US10942662B2 (en) 2018-11-30 2021-03-09 International Business Machines Corporation Relocating and/or re-programming blocks of storage space based on calibration frequency and resource utilization
US10936455B2 (en) 2019-02-11 2021-03-02 Apple Inc. Recovery of data failing due to impairment whose severity depends on bit-significance value
US10915394B1 (en) 2019-09-22 2021-02-09 Apple Inc. Schemes for protecting data in NVM device using small storage footprint
US11556267B2 (en) * 2020-08-31 2023-01-17 Micron Technology, Inc. Data management during a copyback operation
KR20220068541A (ko) 2020-11-19 2022-05-26 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
US20220171564A1 (en) * 2020-12-01 2022-06-02 SK Hynix Inc. Apparatus and method for maintaining data stored in a memory system
US11475969B2 (en) * 2020-12-18 2022-10-18 Micron Technology, Inc. Scan optimization using data selection across wordline of a memory array
US11550657B1 (en) 2021-09-01 2023-01-10 Apple Inc. Efficient programming schemes in a nonvolatile memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007157315A (ja) 2005-11-11 2007-06-21 Toshiba Corp 半導体記憶装置
JP2007305210A (ja) 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
US20080310224A1 (en) 2007-06-15 2008-12-18 Micron Technology, Inc. Coarse and fine programming in a solid state memory
JP2009301194A (ja) * 2008-06-11 2009-12-24 Toshiba Corp 半導体記憶装置の制御システム

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
KR100473308B1 (ko) 1995-01-31 2005-03-14 가부시끼가이샤 히다치 세이사꾸쇼 불휘발성 메모리 장치
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
JP2001006374A (ja) 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
TWI223244B (en) 2002-08-20 2004-11-01 Liteon It Corp Method for improving efficiency on read/write times on disk by reducing Mt. Rainier processing defects
KR100564567B1 (ko) 2003-06-03 2006-03-29 삼성전자주식회사 상 변화 메모리의 기입 드라이버 회로
US7085154B2 (en) 2003-06-03 2006-08-01 Samsung Electronics Co., Ltd. Device and method for pulse width control in a phase change memory device
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
KR101044796B1 (ko) 2004-01-13 2011-06-29 삼성전자주식회사 휴대용 데이터 저장 장치
US20050213393A1 (en) * 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7466597B2 (en) 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
US7379333B2 (en) 2004-10-28 2008-05-27 Samsung Electronics Co., Ltd. Page-buffer and non-volatile semiconductor memory including page buffer
KR100684942B1 (ko) 2005-02-07 2007-02-20 삼성전자주식회사 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템
KR100699848B1 (ko) 2005-06-21 2007-03-27 삼성전자주식회사 코어 구조가 개선된 상 변화 메모리 장치
US7180780B1 (en) * 2005-11-17 2007-02-20 Macronix International Co., Ltd. Multi-level-cell programming methods of non-volatile memories
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US7444461B2 (en) 2006-08-04 2008-10-28 Sandisk Corporation Methods for phased garbage collection
KR101518228B1 (ko) * 2007-03-07 2015-05-08 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리 및 캐시 페이지 카피를 위한 방법
WO2008121577A1 (en) * 2007-03-31 2008-10-09 Sandisk Corporation Soft bit data transmission for error correction control in non-volatile memory
JP5096847B2 (ja) 2007-09-10 2012-12-12 株式会社リコー アクセス制御装置、アクセス制御方法、アクセス制御プログラム、記録媒体、記憶装置および画像処理装置
TW200915339A (en) * 2007-09-28 2009-04-01 Super Talent Electronics Inc Electronic data flash card with various flash memory cells
KR100965768B1 (ko) 2007-12-26 2010-06-24 주식회사 하이닉스반도체 반도체 메모리 소자
KR101481401B1 (ko) 2008-05-19 2015-01-14 삼성전자주식회사 비휘발성 기억 장치
KR101434588B1 (ko) 2008-06-11 2014-08-29 삼성전자주식회사 반도체 장치 및 그 제조 방법
US8843691B2 (en) 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
KR101538803B1 (ko) 2008-09-09 2015-07-22 삼성전자주식회사 펜 테이블로서 기능 할 수 있는 휴대용 전자장치 및 펜 테이블을 사용하는 컴퓨터 시스템
US8130552B2 (en) 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
US8327066B2 (en) 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations
KR101498676B1 (ko) 2008-09-30 2015-03-09 삼성전자주식회사 3차원 반도체 장치
US20100110040A1 (en) 2008-10-30 2010-05-06 Samsung Electronics Co., Ltd. Touch controller having increased sensing sensitivity, and display driving circuit and display device and system having the touch controller
US20100117141A1 (en) 2008-11-13 2010-05-13 Samsung Electronics Co., Ltd. Memory cell transistors having limited charge spreading, non-volatile memory devices including such transistors, and methods of formation thereof
KR101527192B1 (ko) 2008-12-10 2015-06-10 삼성전자주식회사 불휘발성 메모리 소자 및 그의 제조방법
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8488381B2 (en) 2009-02-02 2013-07-16 Samsung Electronics Co., Ltd. Non-volatile memory device having vertical structure and method of operating the same
KR101532366B1 (ko) 2009-02-25 2015-07-01 삼성전자주식회사 반도체 기억 소자
KR101482639B1 (ko) 2009-03-06 2015-01-22 삼성전자주식회사 비휘발성 메모리 소자
KR101624969B1 (ko) 2009-05-26 2016-05-31 삼성전자주식회사 메모리 시스템 및 그것의 배드 블록 관리 방법
KR101573850B1 (ko) 2009-06-09 2015-12-02 삼성전자주식회사 마스킹 회로를 포함하는 데이터 처리 시스템과 그 방법
US20100315325A1 (en) 2009-06-16 2010-12-16 Samsung Electronics Co., Ltd. Light source unit and display apparatus including the same
KR101635504B1 (ko) 2009-06-19 2016-07-04 삼성전자주식회사 3차원 수직 채널 구조를 갖는 불 휘발성 메모리 장치의 프로그램 방법
KR101682662B1 (ko) 2009-07-20 2016-12-06 삼성전자주식회사 3차원 메모리 장치 및 그것의 프로그램 방법
KR101660944B1 (ko) 2009-07-22 2016-09-28 삼성전자 주식회사 수직형의 비휘발성 메모리 소자 및 그 제조 방법
KR101638061B1 (ko) 2009-10-27 2016-07-08 삼성전자주식회사 플래시 메모리 시스템 및 그것의 플래시 조각 모음 방법
US8423866B2 (en) 2009-10-28 2013-04-16 SanDisk Technologies, Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8054684B2 (en) * 2009-12-18 2011-11-08 Sandisk Technologies Inc. Non-volatile memory and method with atomic program sequence and write abort detection
JP2011128984A (ja) * 2009-12-18 2011-06-30 Toshiba Corp メモリシステム
KR101618311B1 (ko) * 2010-02-08 2016-05-04 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
KR101676816B1 (ko) 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
KR101620025B1 (ko) 2010-02-19 2016-05-24 삼성전자주식회사 데이터 저장 시스템 및 그것의 오픈 블록 관리 방법
US8355280B2 (en) * 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
JP5631750B2 (ja) * 2010-03-19 2014-11-26 株式会社東芝 複合メモリ
JP2012089085A (ja) 2010-10-22 2012-05-10 Toshiba Corp 半導体メモリ装置および半導体メモリシステム
US8886990B2 (en) 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
US9311969B2 (en) * 2011-07-22 2016-04-12 Sandisk Technologies Inc. Systems and methods of storing data
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007157315A (ja) 2005-11-11 2007-06-21 Toshiba Corp 半導体記憶装置
JP2007305210A (ja) 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
US20080310224A1 (en) 2007-06-15 2008-12-18 Micron Technology, Inc. Coarse and fine programming in a solid state memory
JP2009301194A (ja) * 2008-06-11 2009-12-24 Toshiba Corp 半導体記憶装置の制御システム

Also Published As

Publication number Publication date
US9280420B2 (en) 2016-03-08
CN103151069B (zh) 2018-04-10
JP2013120619A (ja) 2013-06-17
JP6262426B2 (ja) 2018-01-17
US20130145234A1 (en) 2013-06-06
KR20130063191A (ko) 2013-06-14
CN103151069A (zh) 2013-06-12
US20150248328A1 (en) 2015-09-03
US9032272B2 (en) 2015-05-12

Similar Documents

Publication Publication Date Title
KR101893145B1 (ko) 메모리 시스템들 및 그것들의 블록 복사 방법들
KR102025263B1 (ko) 메모리 시스템 및 그것의 읽기 교정 방법
JP6298249B2 (ja) 不揮発性メモリ装置とそれを含むメモリシステム及びそれらのメモリブロック管理、消去、及びプログラム方法
US10726932B2 (en) Storage device and method of operating the same
KR101572830B1 (ko) 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템
US8621266B2 (en) Nonvolatile memory system and related method of performing erase refresh operation
US9401214B2 (en) Three-dimensional memory device and operating method of a storage device including the same
KR101493873B1 (ko) 멀티-레벨 셀 플래시 메모리 장치 및 이의 독출 방법
TWI725296B (zh) 記憶體裝置及其操作方法
US9281068B2 (en) Nonvolatile memory and related reprogramming method
US10276245B2 (en) Semiconductor memory device and method of operating the same
KR20110099570A (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR102102171B1 (ko) 멀티 레벨 셀 메모리 시스템
KR20200008476A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
US20220189557A1 (en) Memory device and method of operating the same
US11061757B2 (en) Storage device and method of operating the same
CN111755061A (zh) 检查存储器***中的存储器装置的操作状态的设备及方法
KR102106959B1 (ko) 멀티 레벨 셀 비휘발성 메모리 시스템
US11056204B2 (en) Memory device and method of operating the same
KR101691097B1 (ko) 홀수의 매트들을 구비한 비휘발성 메모리 장치, 그것의 블록 설정 방법, 그것을 포함하는 메모리 시스템

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