KR20130036851A - 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 - Google Patents

불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20130036851A
KR20130036851A KR20110101037A KR20110101037A KR20130036851A KR 20130036851 A KR20130036851 A KR 20130036851A KR 20110101037 A KR20110101037 A KR 20110101037A KR 20110101037 A KR20110101037 A KR 20110101037A KR 20130036851 A KR20130036851 A KR 20130036851A
Authority
KR
South Korea
Prior art keywords
memory
program
data
memory area
flag
Prior art date
Application number
KR20110101037A
Other languages
English (en)
Other versions
KR101903091B1 (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 KR1020110101037A priority Critical patent/KR101903091B1/ko
Priority to US13/547,441 priority patent/US9129709B2/en
Publication of KR20130036851A publication Critical patent/KR20130036851A/ko
Application granted granted Critical
Publication of KR101903091B1 publication Critical patent/KR101903091B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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/26Sensing or reading circuits; Data output circuits
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • 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
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명의 실시 예에 따른 메모리 시스템은, 제 1 메모리 영역과 제 2 메모리 영역을 갖는 메모리 셀 어레이를 갖는 불 휘발성 메모리 장치, 그리고 쓰기 요청시, 외부로부터 제공되는 데이터를 상기 제 1 메모리 영역에 저장하고, 상기 저장된 데이터를 코어스 프로그램 동작 및 파인 프로그램 동작에 따라 상기 제 2 메모리 영역에 프로그램하도록 상기 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 상기 데이터에 대한 읽기 요청이 발생하면 상기 데이터에 대한 파인 프로그램 동작의 완료 여부를 지시하는 파인 프로그램 플래그를 참조하여 상기 제 1 메모리 영역과 상기 제 2 메모리 영역 중 어느 하나에 액세스하도록 상기 불휘발성 메모리 장치를 제어한다.

Description

불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법{MEMORY SYSTEM COMPRISING A NON-VOLATILE MEMORY DEVICE AND OPERATING METHOD 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) 또는 멀티-비트 메모리 장치들이 보편화되고 있다. 멀티 레벨 셀(MLC)의 신뢰도를 높이기 위해서는 메모리 셀들의 문턱 전압 산포 관리가 필수적이다.
본 발명의 목적은 어떤 상황에서도 신뢰성 높은 데이터를 제공할 수 있는 메모리 시스템 및 그것의 동작 방법을 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 메모리 시스템은, 제 1 메모리 영역과 제 2 메모리 영역을 갖는 메모리 셀 어레이를 갖는 불 휘발성 메모리 장치, 그리고 쓰기 요청시, 외부로부터 제공되는 데이터를 상기 제 1 메모리 영역에 저장하고, 상기 저장된 데이터를 코어스 프로그램 동작 및 파인 프로그램 동작에 따라 상기 제 2 메모리 영역에 프로그램하도록 상기 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되, 상기 메모리 컨트롤러는 상기 데이터에 대한 읽기 요청이 발생하면 상기 데이터에 대한 파인 프로그램 동작의 완료 여부를 지시하는 파인 프로그램 플래그를 참조하여 상기 제 1 메모리 영역과 상기 제 2 메모리 영역 중 어느 하나에 액세스하도록 상기 불휘발성 메모리 장치를 제어한다.
상술한 목적을 달성하기 위한 본 발명의 다른 실시 예에 따른, 제 1 메모리 영역과 제 2 메모리 영역을 가지며, 상기 제 2 메모리 영역에는 코어스 프로그램 동작 및 파인 프로그램 동작에 따라 데이터를 기입하는 불휘발성 메모리 장치의 동작 방법은, 읽기 요청을 수신하는 단계; 상기 읽기 요청에 대응하는 메모리 영역에 대한 파인 프로그램 실시 여부를 나타내는 파인 프로그램 플래그를 읽어오는 단계, 상기 파인 프로그램 플래그에 따라 상기 읽기 요청된 데이터를 상기 제 1 메모리 영역과 상기 제 2 메모리 영역 중 어느 하나로부터 읽어낸다.
본 발명의 불휘발성 메모리 장치를 포함하는 메모리 시스템에 따르면 읽기 동작시 제공되는 데이터의 신뢰성을 획기적으로 높일 수 있다.
도 1은 본 발명의 실시 예에 따른 멀티-레벨 메모리 장치에 적용되는 어드레스 스크램블 방식의 일 예를 보여주는 도면이다.
도 2는 메모리 셀이 3-비트 데이터를 저장하고, 3 스텝 프로그램 방식에 따라 프로그램 동작이 수행될 때 변화되는 문턱 전압 분포를 예시적으로 보여주는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 메모리 시스템의 구성을 보여주는 블록도이다.
도 4는 메모리 셀들의 프로그램 상태를 보여주는 도면이다.
도 5a 및 도 5b는 각각 본 발명의 실시 예에 따른 파인 프로그램 정보 테이블의 예시를 보여주는 도면들이다.
도 6은 본 발명의 실시 예에 따른 읽기 방법을 간략히 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 읽기 방법을 보여주는 순서도이다.
도 8은 본 발명의 다른 실시 예에 따른 메모리 시스템의 구성을 보여주는 블록도이다.
도 9는 본 발명의 또 다른 실시 예에 따른 메모리 시스템의 구성을 보여주는 블록도이다.
도 10은 본 발명의 다른 실시 예에 따른 읽기 방법을 보여주는 순서도이다.
도 11은 본 발명의 실시 예에 따른 파인 프로그램 정보를 저장하는 방법을 보여주는 도면이다.
도 12는 도 3의 메모리 영역을 보여주는 블록도이다.
도 13은 도 12의 메모리 영역의 구조를 보여주는 평면도이다.
도 14는 도 13의 메모리 블록의 Ⅰ-Ⅰ' 선의 절단면과 측면을 동시에 보여주는 사시 단면도이다.
도 15는 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브를 보여주는 블록도이다.
도 16은 본 발명의 실시 예에 따른 데이터 저장 장치를 예시적으로 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 메모리 카드를 예시적으로 보여주는 블록도이다.
도 18은 본 발명에 따른 플래시 메모리 장치 및 그것을 포함하는 컴퓨팅 시스템의 개략적인 구성을 보여주는 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조번호들을 이용하여 인용될 것이다. 아래에서 설명될 본 발명에 따른 플래시 메모리 장치의 회로 구성과, 그것에 의해 수행되는 읽기 동작은 예를 들어 설명한 것에 불과하며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다.
도 1은 본 발명의 실시 예에 따른 멀티-레벨 불휘발성 메모리 장치에 적용되는 어드레스 스크램블 방식을 예시적으로 보여주는 도면이다. 메모리 셀에 저장되는 데이터 비트들의 수가 증가함에 따라, 멀티-레벨(또는, 멀티-비트) 데이터를 저장하는 메모리 장치(이하, 멀티-레벨 메모리 장치라 칭함)의 신뢰성을 확보하는 것이 점차적으로 어려워지고 있다. 신뢰성을 떨어뜨리는 요인들 중 대표적인 하나는 인접 메모리 셀들 사이의 커플링으로 인한 문턱 전압들의 변화일 것이다. 예를 들면, 이전에 프로그램된 메모리 셀의 문턱 전압은 인접한 메모리 셀이 프로그램될 때 발생하는 커플링으로 인해서 변화될 수 있다. 그러한 커플링을 효율적으로 관리하기 위해서 어드레스 스크램블 방식이 멀티-레벨 메모리 장치에 적용될 수 있다.
설명의 간략화를 위해서, 하나의 메모리 셀에 3-비트 데이터가 저장된다는 가정하에 어드레스 스크램블 방식이 설명될 것이다. 또한, 도시의 편의상, 도 1에는 단지 4개의 워드 라인들(WL0~WL3)이 도시되어 있다. 복수의 메모리 셀들(MC)이 워드 라인들(WL0~WL3) 각각에 연결될 것이다.
먼저, 하위 2-비트 데이터가 첫 번째 워드 라인(WL0)에 연결된 메모리 셀들 각각에 저장되는 제 1 스텝(step_1) 프로그램 동작이 수행될 것이다. 즉, 제 1 스텝(step_1) 프로그램 동작 동안, 2개의 페이지 데이터가 첫 번째 워드 라인(WL0)에 연결된 메모리 셀들에 저장될 것이다. 이는 도 1에서 ①로 표기되어 있다. 그 다음에, 두 번째 워드 라인(WL1)에 연결된 메모리 셀들에 대해서 제 1 스텝(step_1) 프로그램 동작이 수행될 것이다. 이는 도 1에서 ②로 표기되어 있다.
두 번째 워드 라인(WL1)에 대한 제 1 스텝(step_1) 프로그램 동작이 수행된 후, 두 번째 워드 라인(WL1)의 아래에 위치하고 하위 2-비트 데이터가 프로그램된 첫 번째 워드 라인(WL0)에 연결된 메모리 셀들에 하위 2-비트와 상위 1-비트 데이터가 저장되는 제 2 스텝(step_2) 프로그램 동작이 수행될 것이다. 이는 도 1에서 ③으로 표기되어 있다. 첫 번째 워드 라인(WL0)에 연결된 메모리 셀들에 대해서 제 2 스텝(step_2) 프로그램 동작이 수행된 후, 세 번째 워드 라인(WL2)에 연결된 메모리 셀들에 대해서 제 1 스텝(step_1) 프로그램 동작이 수행될 것이다. 이는 도 1에서 ④로 표기되어 있다.
세 번째 워드 라인(WL2)에 연결된 메모리 셀들에 대해서 제 1 스텝(step_1) 프로그램 동작이 수행된 후, 하위 2-비트 데이터가 프로그램된 두 번째 워드 라인(WL1)에 연결된 메모리 셀들에 하위 2-비트와 상위 1-비트 데이터가 저장되는 제 2 스텝(step_2) 프로그램 동작이 수행될 것이다. 이는 도 1에서 ⑤로 표기되어 있다.
두 번째 워드 라인(WL1)에 연결된 메모리 셀들에 대해서 제 2 스텝(step_2) 프로그램 동작이 수행된 후, 첫 번째 워드 라인(WL0)에 연결된 메모리 셀들에 대해서 제 3 스텝(step_3) 프로그램 동작이 수행될 것이다. 이는 도 1에서 ⑥으로 표기되어 있다. 이 후, 제 1 스텝(step_1) 프로그램 동작, 제 2 스텝(step_2) 프로그램 동작, 제 3 스텝(step_3) 프로그램 동작들이 앞서 설명된 순서(도 1 참조)에 따라 순차적으로 수행될 것이다. 이렇게, 도 1에서 설명된 프로그램 순서에 따라 워드 라인들(WL0~WL3)이 선택되는 방식을 어드레스 스크램블 방식이라 칭한다.
제 1 스텝(step_1) 프로그램 동작과 제 2 스텝(step_2) 프로그램 동작이 완료되면, N-비트 데이터(N은 2 또는 그 보다 큰 정수)에 대응하는 문턱 전압 분포들(예를 들면, 2N개의 문턱 전압 분포들)이 모두 형성될 것이다. 제 2 스텝(step_2) 프로그램 동작이 완료됨에 따라 모든 문턱 전압 분포들이 형성되더라도, 문턱 전압 분포들 사이의 마진(즉, 간격)은 문턱 전압 분포들을 명확하게 구분하기에 충분하지 않을 것이다. 문턱 전압 분포들을 명확하게 구분하기에 충분한 마진을 확보하기 위해서 제 3 스텝(step_3) 프로그램 동작이 수행될 것이다. 제 3 스텝(step_3) 프로그램 동작은 문턱 전압 분포들 각각의 폭을 좁히기 위해서 수행된다. 이를 위해서, 제 2 스텝(step_2) 프로그램 동작에서 사용되는 문턱 전압 분포들의 검증 전압들보다 소정의 전압만큼 각각 높은 검증 전압들이 제 3 스텝(step_3) 프로그램 동작에서 사용될 것이다. 이러한 프로그램 방식을 통해서 인접한 메모리 셀들 사이의 커플링을 줄이는 것이 가능하다. 이러한 프로그램 방법(또는 알고리즘)을 재프로그램 방법(또는 재프로그램 알고리즘)이라 칭한다.
예시적으로, 3-비트 데이터를 메모리 셀에 저장하기 위한 재프로그램 방법, 즉, 제 1 스텝 프로그램, 제 2 스텝 프로그램, 제 3 스텝 프로그램이 2-비트 데이터 또는 4-비트 데이터를 메모리 셀에 저장하기 위한 재프로그램 방법에도 모두 적용될 수 있음은 잘 이해될 것이다.
앞서 설명된 재프로그램 방법을 통해 멀티-비트 데이터를 저장하기 위해서는, 선택된 메모리 셀들에 대한 제 3 스텝(step_3) 프로그램 동작이 종료될 때까지 해당 데이터를 다른 메모리 셀들에 유지할 필요가 있다. 예를 들면, 제 1 스텝(step_1) 프로그램 동작은 메모리 컨트롤러에서 멀티-레벨 메모리 장치에 제공되는 데이터에 의거해서 수행될 수 있다. 제 2 스텝(step_2) 프로그램 동작은 제 1 스텝(step_1) 프로그램 동작을 통해 메모리 셀에 저장된 데이터와 메모리 컨트롤러에서 후속하여 제공되는 데이터에 의거해서 수행될 것이다. 그리고 제 3 스텝(step_3) 프로그램 동작은 제 1 스텝(step_1) 프로그램 동작과 제 2 스텝(step_2) 프로그램 동작을 통해 메모리 셀에 저장된 데이터에 의거해서 수행될 것이다.
하지만, 앞서 설명된 바와 같이, 제 1 스텝(step_1) 프로그램 동작과 제 2 스텝(step_2) 프로그램 동작을 통해 메모리 셀에 저장된 데이터를 정확하게 읽는 것은 어려울 것이다. 이는 제 3 스텝(step_3) 프로그램 동작에 필요한 데이터는 메모리 컨트롤러에서 멀티-레벨 메모리 장치로 제공되어야 함을 의미한다. 그러한 까닭에, 임의의 워드 라인에 대한 제 3 스텝(step_3) 프로그램 동작이 종료될 때까지 임의의 워드 라인의 메모리 셀들에 저장된 데이터가 메모리 컨트롤러에 의해서 유지될 것이다. 이는 제 3 스텝(step_3) 프로그램 동작에 필요한 데이터를 유지하기 위한 큰 용량의 버퍼 메모리가 메모리 컨트롤러에 포함됨을 의미한다.
도 2는 메모리 셀이 3-비트 데이터를 저장하고, 제 3 스텝(step_3) 프로그램 방식에 따라 프로그램 동작이 수행될 때 변화되는 문턱 전압 분포를 예시적으로 보여주는 도면이다.
먼저, 선택된 워드 라인(예를 들면, 도 1의 첫 번째 워드 라인(WL0))의 메모리 셀들에는 2개의 페이지 데이터(즉, 제 1 및 제 2 페이지 데이터)가 저장될 것이다. 이때, 도 2의 박스(11)에 도시된 바와 같이, 소거 상태(E)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(Q1, Q2, Q3)에 각각 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다.
앞서 설명된 바와 같이, 선택된 워드 라인(WL0)에 속한 제 1 스텝(step_1) 프로그램된 메모리 셀들에 대한 제 2 스텝(step_2) 프로그램 동작은 인접한 워드 라인(예를 들면, WL1)에 속한 메모리 셀들에 대한 제 1 스텝(step_1) 프로그램 동작 이후에 수행될 것이다. 이때, 도 2의 박스(12)에 도시된 바와 같이, 선택 워드 라인(WL0)에 속한 제 1 스텝(step_1) 프로그램된 메모리 셀들의 산포들이 인접한 워드 라인(예를 들면, WL1)에 속한 메모리 셀들이 프로그램될 때 생기는 커플링으로 인해 넓어질 것이다.
그 다음에, 선택된 워드 라인(WL0)의 메모리 셀들에는 상위 1개의 페이지 데이터(즉, 제 3 페이지 데이터)가 더 저장될 것이다. 이때, 도 2의 박스(13)에 도시된 바와 같이, 이전 상태에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다. 예를 들면, 소거 상태(E)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태(P1')에 대응하는 문턱 전압 분포에 속한 문턱 전압을 갖도록 프로그램될 것이다. 프로그램 상태(Q1)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(P2'~P3') 각각에 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다. 프로그램 상태(Q2)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(P4'~P5') 각각에 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다. 프로그램 상태(Q3)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(P6'~P7') 각각에 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다.
앞서 설명된 바와 같이, 선택 워드 라인(WL0)에 속한 제 2 스텝(step_2) 프로그램된 메모리 셀들에 대한 제 3 스텝(step_3) 프로그램 동작은 인접한 워드 라인들(예를 들면, WL1 및 WL2)에 대한 제 2 스텝(step_2) 프로그램 동작 및 제 1 스텝(step_1) 프로그램 동작 이후에 수행될 것이다. 이때, 도 2의 박스(14)에 도시된 바와 같이, 선택 워드 라인(WL0)에 속한 제 2 스텝(step_2) 프로그램된 메모리 셀들의 산포들이 인접한 워드 라인들(예를 들면, WL1 및 WL2)에 속한 메모리 셀들이 프로그램될 때 생기는 커플링으로 인해서 넓어질 것이다. 이러한 이유로, 제 2 스텝(step_2) 프로그램된 메모리 셀들에 저장된 데이터들을 정확하게 읽는 것이 어렵다.
도 2의 박스(15)에 도시된 바와 같이, 선택 워드 라인(WL0)에 속한 메모리 셀들은 최종 문턱 전압 분포들(P1~P7)을 갖도록 프로그램될 것이다. 이러한 동작은 제 3 스텝(step_3) 프로그램 동작을 통해 수행된다. 앞서 설명된 바와 같이, 제 3 스텝(step_3) 프로그램 동작은 이전에 프로그램된 데이터(예를 들면, 제 1 내지 제 3 페이지 데이터)를 필요로 한다. 제 3 스텝(step_3) 프로그램 동작은 선택 워드 라인(WL0)에 속한 메모리 셀들에 저장된 이전에 프로그램된 데이터를 정확하게 읽는 것이 어렵기 때문에 메모리 컨트롤러로부터 제공되는 데이터(또는, 메모리 장치에 의해서 유지되는 데이터)에 의거해서 수행될 것이다.
도 2의 박스(16)에 도시된 바와 같이, 제 3 스텝(step_3) 프로그램된 메모리 셀들의 문턱 전압 분포들 역시 인접한 워드 라인들에 속한 메모리 셀들이 프로그램될 때 생기는 커플링으로 인해 넓어질 수 있다. 이후, 각 워드 라인에 대한 제 1 스텝(step_1) 프로그램 동작, 제 2 스텝(step_2) 프로그램 동작, 제 3 스텝(step_3) 프로그램 동작이 도 1에서 설명된 프로그램 순서에 따라 수행되며, 이는 도 2에서 설명된 것과 동일한 방식으로 수행될 것이다.
여기서, 제 1 스텝(step_1) 및 제 2 스텝(step_2) 프로그램을 산포의 확장을 고려하여 개략적으로 프로그램하는 코어스 프로그램(Coarse program)이라고 한다. 반면, 제 3 스텝(step_3)에서 수행되는 프로그램의 목적은 메모리 셀들의 산포를 협소(Tight)하게 관리하기 위한 파인 프로그램(Fine program)이라고 한다. 코어스 프로그램 과정과 파인 프로그램과정에서 사용되는 프로그램 전압(예를 들면, 증가 전압 ΔV)이나 검증 전압의 레벨은 달라질 수 있다.
도 3은 본 발명의 실시 예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다. 도 3을 참조하면, 메모리 시스템(100)은 메모리 컨트롤러(110) 및 불휘발성 메모리 장치(120)를 포함할 수 있다.
메모리 컨트롤러(110)는 호스트(Host)의 요청에 응답하여 불휘발성 메모리 장치(120)를 제어하도록 구성될 것이다. 메모리 컨트롤러(110)는 버퍼 메모리(115)를 포함할 것이다. 버퍼 메모리(115)는 호스트(Host)로부터 전송된 데이터를 임시 저장하는 데 그리고 불휘발성 메모리 장치(120)로부터 읽혀진 데이터를 임시 저장하는 데 사용될 것이다.
특히, 버퍼 메모리(115)는 불휘발성 메모리 장치(120)의 메인 메모리 영역(122)의 프로그램 상태 정보를 저장할 수 있다. 좀더 구체적으로, 버퍼 메모리(115)는 파인 프로그램 플래그(FPGM flag)를 저장한다. 파인 프로그램 플래그(FPGM flag)는 대응하는 메모리 셀들의 제반 프로그램 동작이 완료되었음을 나타낼 수 있다. 따라서, 파인 프로그램 플래그(FPGM flag)가 설정되면, 대응하는 메모리 셀들에 기입될 데이터가 다른 메모리 영역에 더 이상 유지될 필요가 없다. 메모리 컨트롤러(110)는 호스트(Host)로부터의 읽기 요청이 전달되면, 파인 프로그램 플래그(FPGM flag)를 참조하여 온칩 버퍼 메모리 영역(123) 또는 메인 메모리 영역(122)을 액세스한다.
더불어, 메모리 컨트롤러(110)는 정적 스케쥴링 방식(Static Scheduling Manner)으로 불휘발성 메모리 장치(120)의 프로그램 동작을 제어할 수 있다. 예를 들면, 불휘발성 메모리 장치(120)의 온칩 버퍼 메모리 영역(123)에 대한 최소 프로그램 단위의 데이터(예를 들면, 페이지 데이터)가 버퍼 메모리(115)에 저장되면, 메모리 컨트롤러(110)는 최소 프로그램 단위의 데이터가 온칩 버퍼 메모리 영역(123)에 저장되도록 불휘발성 메모리 장치(120)를 제어할 것이다. 이러한 동작을 버퍼 프로그램(Buffer Program) 동작이라 칭하기로 한다.
버퍼 프로그램 동작은 버퍼 메모리(115)에 저장된 데이터와 관련된 어드레스 정보에 따라 수행될 것이다. 메인 메모리 영역(122)에 대한 최소 프로그램 단위의 데이터가 온칩 버퍼 메모리 영역(123)에 저장되면, 메모리 컨트롤러(110)는 메인 메모리 영역(122)에 대한 최소 프로그램 단위의 데이터가 메인 메모리 영역(122)에 저장되도록 불휘발성 메모리 장치(120)를 제어할 것이다. 이러한 동작을 메인 프로그램(Main Program) 동작이라 칭하기로 한다.
메인 프로그램 동작은 온칩 버퍼 메모리 영역(123)에 저장된 데이터와 관련된 어드레스 정보에 따라 수행될 것이다. 버퍼 프로그램 동작과 메인 프로그램 동작은 이후 상세히 설명될 것이다. 예시적으로, 온칩 버퍼 메모리 영역(123)에 대한 최소 프로그램 단위와 메인 메모리 영역(122)에 대한 최소 프로그램 단위는 프로그램 방식, 셀 당 저장되는 데이터 비트 수 등에 따라 다양하게 결정될 수 있다. 본 발명의 실시 예에 따르면, 온칩 버퍼 메모리 영역(123)에 대한 최소 프로그램 단위와 메인 메모리 영역(122)에 대한 최소 프로그램 단위는 서로 다를 것이다.
예시적으로, 버퍼 프로그램 동작을 통해 온칩 버퍼 메모리 영역(123)에 데이터를 저장하고, 메인 프로그램 동작을 통해 메인 메모리 영역(122)에 데이터를 저장함으로써 메모리 컨트롤러(110)의 버퍼 메모리(115)의 크기를 최소화시킬 수 있다. 다시 말해서, 버퍼 메모리(115)에 앞서 설명된 제 3 스텝(step_3) 프로그램 동작을 위한 데이터를 유지할 필요가 없다. 그러한 까닭에, 메모리 컨트롤러(110)의 버퍼 메모리(115)의 크기를 최소화시킬 수 있다.
불휘발성 메모리 장치(120)는 하나 또는 그보다 많은 메모리 장치들로 구성될 수 있다. 불휘발성 메모리 장치(120)와 메모리 컨트롤러(110)는, 메모리 카드, 솔리드 스테이트 드라이브(Solid State Drive: SSD), 메모리 스틱, 또는 그와 같은 것으로 구성될 수 있다. 불휘발성 메모리 장치(120)는 복수의 메모리 블록들을 포함하며, 메모리 블록들 각각은 행들과 열들로 배열된 복수의 메모리 셀들을 포함할 것이다. 메모리 셀들 각각은 멀티-레벨(또는, 멀티-비트) 데이터를 저장할 것이다. 메모리 셀들은 2차원 어레이 구조를 갖도록 또는 3차원(또는, 수직) 어레이 구조를 갖도록 배열될 수 있다.
본 발명의 실시 예에 따르면, 불휘발성 메모리 장치(120)의 메모리 블록들은 적어도 온칩 버퍼 메모리 영역(123)과 메인 메모리 영역(122)으로 구분될 것이다. 여기에서, 메모리 영역들(123 및 122)은 물리적인 것이 아니라 논리적으로 구분될 수 있음은 잘 이해될 것이다. 즉, 메모리 영역들(123 및 122)은 논리적으로 가변 가능할 것이다.
온칩 버퍼 메모리 영역(123)에 속한 메모리 블록들은 메인 메모리 영역(122)에 속한 메모리 블록들과 다른 방식으로 프로그램될 것이다. 예를 들면, 온칩 버퍼 메모리 영역(123)에 속한 메모리 블록들은 싱글-비트 프로그램 방식(이하, SLC 프로그램 방식이라 칭함)에 따라 프로그램되고, 메인 메모리 영역(122)에 속한 메모리 블록들은 멀티-비트 프로그램 방식(이하, MLC 프로그램 방식이라 칭함)에 따라 프로그램될 것이다.
다른 예로써, 온칩 버퍼 메모리 영역(123)에 속한 메모리 블록들과 메인 메모리 영역(122)에 속한 메모리 블록들은 MLC 프로그램 방식에 따라 프로그램될 것이다. 예를 들면, 메인 메모리 영역(122)에 속한 메모리 블록들은 앞서 설명된 N-스텝 프로그램 방식에 따라 프로그램될 수 있다. 다시 말해서, 온칩 버퍼 메모리 영역(123)에 속한 메모리 셀들 각각은 1-비트 데이터를 저장하고, 메인 메모리 영역(122)에 속한 메모리 셀들 각각은 N-비트 데이터들(N은 3 또는 그보다 큰 정수)을 저장할 것이다. 또한, 온칩 버퍼 메모리 영역(123)에 속한 메모리 셀들 각각은 메인 메모리 영역(122)에 속한 메모리 셀들 각각에 저장되는 N-비트(N은 3 또는 그보다 큰 정수)보다 작은 수의 데이터 비트들을 저장할 것이다.
온칩 버퍼 메모리 영역(123)에 포함되는 메모리 블록의 수는 메인 메모리 영역(122)에 속한 메모리 셀들이 저장하는 데이터 비트 수에 따라 가변될 것이다. 예를 들면, 메인 메모리 영역(122)에 속한 메모리 셀들이 N-비트 데이터들(N은 3 또는 그보다 큰 정수)을 저장하는 경우, 온칩 버퍼 메모리 영역(123)은 적어도 N개의 메모리 블록들을 포함할 것이다. 그리고 메인 메모리 영역(122)에 속한 메모리 셀들에 저장될 N-비트 데이터들(N은 3 또는 그보다 큰 정수)은 대응되는 온칩 버퍼 메모리 영역(123)의 메모리 블록들에 각각 저장될 것이다.
조금 더 구체적으로 설명하면 다음과 같다. 메인 메모리 영역(122)에 속한 메모리 셀들 각각에 3-비트 데이터가 저장될 수 있다고 가정하자. 이 경우, 온칩 버퍼 메모리 영역(123)은 적어도 3개의 메모리 블록들을 포함할 것이다. 메인 메모리 영역(122)에 속한 메모리 셀들의 최하위 비트(즉, 첫 번째 비트) 데이터들은 온칩 버퍼 메모리 영역(123)의 첫 번째 메모리 블록에 저장될 것이다. 메인 메모리 영역(122)에 속한 메모리 셀들의 중간 비트(즉, 두 번째 비트) 데이터들은 온칩 버퍼 메모리 영역(123)의 두 번째 메모리 블록에 저장될 것이다. 그리고 메인 메모리 영역(122)에 속한 메모리 셀들의 최상위 비트(즉, 세 번째 비트) 데이터들은 온칩 버퍼 메모리 영역(123)의 세 번째 메모리 블록에 저장될 것이다. 이러한 저장 동작은 이후 상세히 설명될 것이다.
상술한 구성에서, 메모리 컨트롤러(110)는 프로그램 동작시에 메인 메모리 영역(122)의 각 워드 라인 단위의 메모리 셀들에 대해서 파인 프로그램의 수행 여부를 지시하는 파인 프로그램 플래그(FPGM flag)를 가진다. 그리고 읽기 요청이 발생하면, 메모리 컨트롤러(110)는 읽기 요청된 메모리 영역의 파인 프로그램의 수행 여부를 참조하여 온칩 버퍼 메모리 영역(123) 또는 메인 메모리 영역(122)을 액세스한다. 읽기 요청된 메모리 영역에 대한 제반 프로그램 동작이 완료된 경우, 메모리 컨트롤러(110)는 메인 메모리 영역(122)을 액세스하여 선택된 워드 라인에 연결된 메모리 셀들로부터 데이터를 출력하도록 불휘발성 메모리 장치(120)를 제어한다. 반면, 읽기 요청된 메모리 영역에 대한 프로그램이 완료되지 못한 경우(예를 들면, 파인 프로그램이 수행되지 않은 경우), 메모리 컨트롤러(110)는 온칩 버퍼 메모리 영역(123)을 액세스하여 읽기 요청된 데이터를 출력하도록 불휘발성 메모리 장치(120)를 제어한다.
도 4는 도 3의 메인 메모리 영역을 보여주는 도면이다. 도 4를 참조하면, 코어스 프로그램과 파인 프로그램 동작에 따라 프로그램되는 메모리 셀들이 간략히 도시되어 있다.
워드 라인(WLj)에 연결된 메모리 셀들에 대한 코어스 프로그램이 수행되면, 이어서 워드 라인(WLj+1)에 대한 코어스 프로그램 동작이 실시될 것이다. 이어서, 워드 라인(WLj)에 대한 파인 프로그램이 수행된다. 이 순간에 워드 라인(WLj)에 연결된 메모리 셀들에 대한 파인 프로그램 플래그(FPGM flag)가 저장될 것이다. 따라서, 어느 하나의 워드 라인(예를 들면, WLj)에 연결되는 메모리 셀들의 파인 프로그램 플래그(FPGM flag)가 등록되면, 그 이하의 워드 라인들(WL0~WLj-1)에 연결되는 메모리 셀들의 파인 프로그램이 완료된 것으로 판단할 수 있다.
도 5a 및 도 5b는 각각 본 발명의 실시 예에 따른 파인 프로그램 플래그(FPGM flag)의 실시 예를 보여주는 도면들이다.
도 5a를 참조하면, 어느 하나의 메모리 블록 및 메모리 블록에 포함되는 워드 라인 단위의 메모리 셀들에 대한 파인 프로그램 플래그(FPGM flag)가 테이블로 제공될 수 있다. 도 4에서, 메모리 블록에 포함되는 모든 메모리 셀들에 대한 파인 프로그램은 완료되지 못한 상태이다. 즉, 메모리 블록에서 적어도 워드 라인(WLj+1)과 프로그램 순서에서 후 순위의 해당되는 워드 라인들에 연결되는 메모리 셀들에 대한 파인 프로그램은 미실시된 상태이다. 따라서, 메모리 블록(BLK)에 대한 파인 프로그램 플래그(FPGM flag) 비트는 논리 '1'로 설정되어 있다. 만일, 메모리 블록(BLK)에 포함되는 모든 메모리 셀들에 대한 파인 프로그램이 완료되었다면, 메모리 블록(BLK)에 대한 파인 프로그램 플래그(FPGM flag) 비트는 논리 '0'으로 전환될 것이다.
워드 라인(WLj+1) 각각에 연결된 메모리 셀들에 대한 파인 프로그램 플래그(FPGM flag) 비트는 도시된 바와 같다. 워드 라인들(WL0~WLj)에 연결되는 메모리 셀들은 파인 프로그램이 완료되어 있는 상태이다. 따라서, 각각의 워드 라인들(WL0~WLj)에 대한 파인 프로그램 플래그(FPGM flag) 비트는 논리 '0'으로 설정되어 있다.
반면, 코어스 프로그램만이 진행되었거나, 전혀 프로그램이 적용되지 않은 메모리 셀들의 워드 라인에 대한 파인 프로그램 플래그(FPGM flag) 비트는 논리 '1'으로 설정되어 있다. 만일, 읽기 동작시에 선택된 메모리 셀들이 워드 라인(WLj+1)에 연결된 메모리 셀들인 경우, 온칩 버퍼 메모리 영역(123)에 대한 액세스가 발생할 것이다.
도 5b는 어느 하나의 메모리 블록 및 메모리 블록에 포함되는 워드 라인 단위의 메모리 셀들에 대한 파인 프로그램 플래그(FPGM flag)가 코드로 제공될 수 있다. 도 4에서 도시된 최종적으로 파인 프로그램이 완료된 메모리 셀들에 해당하는 워드 라인(WLj)이 아래로부터 20번째(j=19)라 가정하자. 그러면, 파인 프로그램이 완료된 메모리 셀들의 최상위 워드 라인의 위치 정보(WL flag)에 해당하는 코드 값은 '010011'로 인코딩될 수 있다. 또한, 메모리 블록(BLK)에 포함된 모든 메모리 셀들에 대한 파인 프로그램이 완료되지 못했기 때문에, 메모리 블록(BLK)에 대한 파인 프로그램 플래그(FPGM flag) 비트는 논리 '1'로 설정되어 있다. 만일, 메모리 블록(BLK)에 포함되는 모든 메모리 셀들에 대한 파인 프로그램이 완료되었다면, 메모리 블록(BLK)에 대한 파인 프로그램 플래그(FPGM flag) 비트는 논리 '0'으로 전환될 것이다.
도 6은 본 발명의 실시 예에 따른 읽기 방법을 간략히 보여주는 도면이다. 도 6을 참조하면, 읽기 요청이 발생하면 메모리 컨트롤러(110)는 선택된 메모리 영역과 현재 테이블로 저장된 파인 프로그램 플래그(FPGM flag)를 비교한다. 만일, 읽기 요청된 메모리 영역에 대한 제반 프로그램 동작이 완료된 것으로 판단되면, 메모리 컨트롤러(110)는 메인 메모리 영역(122)을 액세스하게 될 것이다.
반면, 읽기 요청된 읽기 요청된 메모리 영역에 대한 파인 프로그램이 완료되지 못한 것으로 판단되면, 메모리 컨트롤러(110)는 온칩 버퍼 메모리 영역(123)을 액세스하게 될 것이다. 메모리 컨트롤러(110)는 온칩 버퍼 메모리 영역(123)을 액세스하여, 버퍼 프로그램에 의해서 저장된 하나 이상의 페이지 데이터를 독출하도록 페이지 버퍼(121)를 제어할 것이다. 이러한 데이터의 출력 경로가 (①→②)의 화살표 방향으로 나타나 있다.
도 7은 본 발명의 실시 예에 따른 읽기 방법을 간략히 보여주는 순서도이다. 이하에서는, 본 발명의 예시적인 실시 예에 따른 메모리 시스템의 읽기 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
S110 단계에서, 외부(예를 들면, 호스트)로부터 읽기 요청이 전달되면, 메모리 컨트롤러(110)는 읽기 요청을 수신할 것이다. 읽기 요청에는 데이터에 대한 어드레스 정보가 포함될 것이다.
S120 단계에서, 메모리 컨트롤러(110)는 읽기 요청에 대응하는 파인 프로그램 플래그(FPGM)를 검출한다. 읽기 요청시 제공되는 어드레스 정보를 참조하여 메모리 컨트롤러(110)는 버퍼 메모리(115)에 저장된 파인 프로그램 플래그(FPGM flag)를 검출할 수 있다. 메모리 컨트롤러(110)는 테이블이나 코드 형식으로 업데이트되는 파인 프로그램 플래그(FPGM flag)를 참조하여 읽기 요청되는 데이터가 저장되는 메모리 셀들에 대한 파인 프로그램 여부를 확인할 수 있다.
S130 단계에서, 메모리 컨트롤러(110)는 각 워드 라인에 대한 파인 프로그램 동작이 완료되었는 지의 여부는 어드레스 맵핑 정보에 의거하여 판별할 것이다. 만약 읽기 요청이 파인 프로그램 동작이 완료된 워드 라인과 관련된 것으로 판별되면, 절차는 S140 단계로 분기한다. 반면, 읽기 요청이 파인 프로그램 동작이 완료되지 않은 워드 라인과 관련된 것으로 판별되면, 절차는 S150 단계로 분기할 것이다.
S140 단계에서, 메모리 컨트롤러(110)는 메인 메모리 영역(122)으로부터 요청된 데이터가 읽혀지도록 불휘발성 메모리 장치(120)를 제어할 것이다. 메인 메모리 영역(122)에 대한 읽기 동작은 MLC 읽기 동작일 것이다. 메인 메모리 영역(122)으로부터 읽혀진 데이터는 메모리 컨트롤러(110)의 버퍼 메모리(115)에 임시 저장될 것이다. 이후, 절차는 S160 단계로 진행할 것이다.
S150 단계에서, 읽기 요청이 파인 프로그램 동작이 완료되지 않은 워드 라인과 관련된 것으로 판별되면, 메모리 컨트롤러(110)는 온칩 버퍼 메모리 영역(123)으로부터 요청된 데이터가 읽혀지도록 불휘발성 메모리 장치(120)를 제어할 것이다. 온칩 버퍼 메모리 영역(123)에 대한 읽기 동작은 SLC 읽기 동작일 것이다. 온칩 버퍼 메모리 영역(123)으로부터 읽혀진 데이터는 메모리 컨트롤러(110)의 버퍼 메모리(115)에 임시 저장될 것이다. 이후, 절차는 S160 단계로 진행할 것이다. S160 단계에서는 버퍼 메모리(115)에 저장된 읽기 데이터가 호스트로 전송될 것이다.
이상의 절차를 통해서, 파인 프로그램 플래그(FPGM flag)를 사용하여 파인 프로그램이 완료되지 않은 데이터 영역으로부터 데이터가 독출되는 것이 차단될 수 있다. 즉, 버퍼 프로그램을 통해서 유지되는 데이터를 제공할 수 있어 고신뢰도의 데이터를 제공하는 메모리 시스템을 구현할 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다. 도 8을 참조하면, 메모리 시스템(200)은 메모리 컨트롤러(210) 및 불휘발성 메모리 장치(220)를 포함할 수 있다. 여기서, 파인 프로그램 플래그(FPGM flag)는 불휘발성 메모리 장치(220)의 메인 메모리 영역(222)의 특정 영역(224)에 저장될 수 있다.
메모리 컨트롤러(210)는 호스트(Host)의 요청에 응답하여 불휘발성 메모리 장치(220)를 제어하도록 구성될 것이다. 메모리 컨트롤러(210)는 버퍼 메모리(215)를 포함할 것이다. 그러나, 파인 프로그램 플래그(FPGM flag)는 버퍼 메모리(215)에서 유지되는 것이 아니라, 불휘발성 메모리 장치(220)에 저장된다. 프로그램 동작시, 메모리 컨트롤러(210)는 각각의 워드 라인 단위의 메모리 셀들에 대한 파인 프로그램의 실시 여부를 메인 메모리 영역(222)의 특정 영역(224)에 기입할 수 있다. 예를 들면, 특정 영역(224)은 각각의 워드 라인 단위의 메모리 셀들에 대한 제어 정보가 저장되는 스페어 영역(Spare area)일 수 있다. 특정 영역(224)은 제어 정보가 기록되는 스페어 영역(Spare area)뿐 아니라, 별도로 구비되는 메모리 영역으로 할당될 수 있음은 잘 이해될 것이다.
메모리 컨트롤러(210)는 읽기 요청이 발생하면, 읽기 요청에 대응하는 어드레스의 파인 프로그램 플래그(FPGM flag)를 특정 영역(224)으로부터 읽어낸다. 그리고, 메모리 컨트롤러(210)는 읽어낸 파인 프로그램 플래그(FPGM flag)를 참조하여, 읽기 요청된 메모리 영역에 대한 파인 프로그램의 실시 여부를 판단한다. 만일, 읽기 요청된 메모리 영역에 대한 파인 프로그램이 실시되지 않은 경우, 메모리 컨트롤러(210)는 온칩 버퍼 메모리 영역(223)을 액세스할 것이다. 반면, 읽기 요청된 메모리 영역에 대한 파인 프로그램이 완료된 것으로 판단되면, 메모리 컨트롤러(210)는 메인 메모리 영역(222)을 액세스할 것이다.
도 9는 본 발명의 또 다른 실시 예에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다. 도 9를 참조하면, 메모리 시스템(300)은 메모리 컨트롤러(310) 및 불휘발성 메모리 장치(320)를 포함할 수 있다. 여기서, 파인 프로그램 플래그(FPGM flag)는 불휘발성 메모리 장치(320)에 별도로 구비되는 파인 프로그램 플래그 영역(324)에 저장된다.
메모리 컨트롤러(310)는 호스트(Host)의 요청에 응답하여 불휘발성 메모리 장치(320)를 제어하도록 구성될 것이다. 메모리 컨트롤러(310)는 버퍼 메모리(315)를 포함할 것이다. 파인 프로그램 플래그(FPGM flag)는 불휘발성 메모리 장치(320)에 구비되는 파인 프로그램 플래그 영역(324)에 저장된다. 파인 프로그램 플래그 영역(324)은 별도의 메모리 블록으로 구성될 수 있다. 프로그램 동작시, 메모리 컨트롤러(310)는 각각의 워드 라인 단위의 메모리 셀들에 대한 파인 프로그램의 실시 여부를 버퍼 메모리(315)에 저장할 수 있다. 그리고 메모리 컨트롤러(310)는 매 프로그램 동작의 실시 후에, 버퍼 메모리(315)에 저장된 파인 프로그램 플래그(FPGM flag)를 파인 프로그램 플래그 영역(324)에 업데이트할 수 있다.
메모리 컨트롤러(310)는 읽기 요청이 발생하면, 읽기 요청에 대응하는 어드레스의 파인 프로그램 플래그(FPGM flag)를 파인 프로그램 플래그 영역(324)으로부터 읽어낸다. 그리고, 메모리 컨트롤러(310)는 읽어낸 파인 프로그램 플래그(FPGM flag)를 참조하여, 읽기 요청된 메모리 영역에 대한 파인 프로그램의 실시 여부를 판단한다. 만일, 읽기 요청된 메모리 영역에 대한 파인 프로그램이 실시되지 않은 경우, 메모리 컨트롤러(310)는 온칩 버퍼 메모리 영역(323)을 액세스할 것이다. 반면, 읽기 요청된 메모리 영역에 대한 파인 프로그램이 완료된 것으로 판단되면, 메모리 컨트롤러(310)는 메인 메모리 영역(322)을 액세스할 것이다.
파인 프로그램 플래그 영역(324)은 상대적으로 고속의 액세스가 가능한 메모리 영역으로 구성될 수 있다. 예를 들면, 하나의 메모리 셀에 단일 비트(Single bit)의 데이터가 저장되는 SLC 영역을 파인 프로그램 플래그 영역(324)에 할당할 수 있다. 앞서 설명한 바와 같이, 상술한 도 8 내지 9의 메모리 컨트롤러들(210, 310)은 각각 정적 스케쥴링 방식(Static Scheduling Manner)으로 불휘발성 메모리 장치(220, 320)의 프로그램 동작을 제어할 수 있다.
도 10은 도 8 또는 도 9의 실시 예들에 대한 읽기 방법을 간략히 보여주는 순서도이다. 이하에서는, 본 발명의 예시적인 실시 예에 따른 메모리 시스템의 읽기 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
S210 단계에서, 외부(예를 들면, 호스트)로부터 읽기 요청이 전달되면, 메모리 컨트롤러(210, 310)는 읽기 요청을 수신할 것이다.
S220 단계에서, 메모리 컨트롤러(210, 310)는 읽기 요청에 대응하는 파인 프로그램 플래그(FPGM)를 검출한다. 메모리 컨트롤러(210, 310)는 버퍼 메모리(215, 315)에 업데이트되는 파인 프로그램 플래그를 참조하여 읽기 요청되는 데이터가 저장되는 메모리 셀들에 대한 파인 프로그램 여부를 확인할 수 있다. 하지만, 버퍼 메모리(215, 315)에 읽기 요청에 대응하는 파인 프로그램 플래그(FPGM flag)가 존재하지 않는 경우, 메모리 컨트롤러(210, 310)는 불휘발성 메모리 장치(220, 320)로부터 파인 프로그램 플래그(FPGM flag) 읽어낸다.
S230 단계에서, 메모리 컨트롤러(210, 310)는 각 워드 라인에 대한 파인 프로그램 동작이 완료되었는 지의 여부는 어드레스 맵핑 정보에 의거하여 판별할 것이다. 만약 읽기 요청이 파인 프로그램 동작이 완료된 워드 라인과 관련된 것으로 판별되면, 절차는 S240 단계로 분기한다. 반면, 읽기 요청이 파인 프로그램 동작이 완료되지 않은 워드 라인과 관련된 것으로 판별되면, 절차는 S250 단계로 분기할 것이다.
S240 단계에서, 메모리 컨트롤러(210, 310)는 메인 메모리 영역(222, 322)으로부터 요청된 데이터가 읽혀지도록 불휘발성 메모리 장치(220, 320)를 제어할 것이다. 메인 메모리 영역(222, 322)에 대한 읽기 동작은 MLC 읽기 동작일 것이다. 메인 메모리 영역(222, 322)으로부터 읽혀진 데이터는 메모리 컨트롤러(210, 310)의 버퍼 메모리(215, 315)에 임시 저장될 것이다. 이후, 절차는 S260 단계로 진행할 것이다.
S250 단계에서, 읽기 요청이 파인 프로그램 동작이 완료되지 않은 워드 라인과 관련된 것으로 판별되면, 메모리 컨트롤러(210, 310)는 온칩 버퍼 메모리 영역(223, 323)으로부터 데이터가 읽혀지도록 불휘발성 메모리 장치(220, 320)를 제어할 것이다. 제 1 메모리 영역(223, 323)에 대한 읽기 동작은 SLC 읽기 동작일 것이다. 온칩 버퍼 메모리 영역(223, 323)으로부터 읽혀진 데이터는 메모리 컨트롤러(210, 310)의 버퍼 메모리(215, 315)에 임시 저장될 것이다. 이후, 절차는 S260 단계로 진행할 것이다. S260 단계에서는 버퍼 메모리(215, 315)에 저장된 읽기 데이터가 호스트로 전송될 것이다.
도 11은 파인 프로그램 플래그(FPGM flag)가 저장되는 메모리 셀들의 프로그램 절차를 보여주는 도면이다. 도 11을 참조하면, 메인 메모리 셀에는 3-비트 데이터가 저장되고, 3 스텝 프로그램 방식에 따라 프로그램 동작이 수행될 때 변화되는 문턱 전압 분포를 예시적으로 보여주는 도면이다. 그리고 파인 프로그램 플래그 영역(FPGM flag area)에는 싱글 비트 데이터로 파인 프로그램 플래그(FPGM flag)가 저장된다.
선택된 워드 라인의 메모리 셀들에는 2개의 페이지 데이터(즉, 제 1 및 제 2 페이지 데이터)를 저장하기 위한 제 1 스텝(step_1) 프로그램이 진행된다. 이때, 소거 상태(E)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(Q1, Q2, Q3)에 각각 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다. 제 1 스텝(step_1) 프로그램이 완료된 상태에서, 파인 프로그램 플래그(FPGM flag)를 저장하는 메모리 셀은 소거 상태(E) 또는 논리 '1'을 유지할 것이다.
선택된 워드 라인의 메모리 셀들에는 상위 1개의 페이지 데이터(즉, 제 3 페이지 데이터)가 더 저장될 것이다. 즉, 선택된 메모리 셀들에 대한 제 2 스텝(step_2) 프로그램 동작이 실시된다. 이때, 이전 상태에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다. 예를 들면, 소거 상태(E)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태(P1')에 대응하는 문턱 전압 분포에 속한 문턱 전압을 갖도록 프로그램될 것이다.
프로그램 상태(Q1)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(P2', P3') 각각에 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다. 프로그램 상태(Q2)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(P4', P5') 각각에 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다. 프로그램 상태(Q3)에 대응하는 문턱 전압 분포에 속한 메모리 셀들은 프로그램될 데이터에 따라 프로그램 상태들(P6', P7') 각각에 대응하는 문턱 전압 분포들에 속한 문턱 전압을 갖도록 프로그램될 것이다.
제 2 스텝(step_2) 프로그램이 완료되면, 여전히 파인 프로그램이 진행되지 못한 상태이다. 따라서, 파인 프로그램 플래그(FPGM flag)를 저장하는 메모리 셀은 소거 상태(E) 또는 논리 '1'을 유지할 것이다.
앞서 설명된 바와 같이, 선택 워드 라인에 속한 제 2 스텝(step_2) 프로그램된 메모리 셀들에 대한 제 3 스텝(step_3) 프로그램 동작은 인접한 워드 라인들에 대한 제 2 스텝(step_2) 프로그램 동작 또는 제 1 스텝(step_1) 프로그램 동작 이후에 수행될 것이다. 제 3 스텝(step_3) 프로그램에 의해서 선택 워드 라인에 속한 메모리 셀들은 최종 문턱 전압 분포들(P1~P7)을 갖도록 프로그램될 것이다. 앞서 설명된 바와 같이, 제 3 스텝(step_3) 프로그램 동작은 이전에 프로그램된 데이터(예를 들면, 제 1 내지 제 3 페이지 데이터)를 필요로 한다. 즉, 제 1 메모리 영역(123, 223, 323)으로부터 제공되는 프로그램 데이터를 참조하여 제 3 스텝(step_3) 프로그램 동작이 실시될 것이다.
제 3 스텝(step_3) 프로그램 동작, 즉, 파인 프로그램 동작이 완료되면, 파인 프로그램 플래그(FPGM flag)를 저장하는 메모리 셀은 프로그램 상태(P) 또는 논리 '0'로 프로그램될 것이다. 여기서, 제 1 스텝(step_1) 및 제 2 스텝(step_2) 프로그램을 산포의 확장을 고려하여 개략적으로 프로그램하는 코어스 프로그램(Coarse program)이라고 한다. 반면, 제 3 스텝(step_3)에서 수행되는 프로그램의 목적은 메모리 셀들의 산포를 협소(Tight)하게 관리하기 위한 파인 프로그램(Fine program)이라고 한다. 코어스 프로그램 과정과 파인 프로그램 과정에서 사용되는 프로그램 전압(예를 들면, 증가 전압 ΔV)이나 검증 전압의 레벨은 달라질 수 있다.
도 12는 도 3의 메인 메모리 영역(122)의 예시를 보여주는 블록도이다. 도 12를 참조하면, 메인 메모리 영역(122)은 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 하지만, 복수의 메모리 블록들(BLK1~BLKz)은 도 8 내지 도 9의 메인 메모리 영역들(222, 322)에 대응할 수도 있다. 각 메모리 블록(BLK)은 3차원 구조(또는, 수직 구조)를 갖는다. 예를 들면, 각 메모리 블록(BLK)은 제 1 내지 제 3 방향들(x, y, z)을 따라 신장된 구조물들을 포함한다. 예를 들면, 각 메모리 블록(BLK)은 제 3 방향(z)을 따라 신장된 복수의 낸드 셀 스트링들(NAND Cell Strings)을 포함할 수 있다. 물론, 도 3의 온칩 버퍼 메모리 영역(123)도 메인 메모리 영역(122)과 동일한 구조를 포함할 수 있다.
각각의 낸드 셀 스트링들은 비트 라인(BL), 스트링 선택 라인(SSL), 접지 선택 라인(GSL), 워드 라인들(WL), 그리고 공통 소스 라인(CSL)에 연결된다. 즉, 각 메모리 블록은 복수의 비트 라인들(BL), 복수의 스트링 선택 라인들(SSL), 복수의 접지 선택 라인들(GSL), 복수의 워드 라인들(WL), 그리고 공통 소스 라인(CSL)에 연결될 것이다. 메모리 블록들(BLK1~BLKz)은 도 13을 참조하여 더 상세하게 설명된다.
도 13 내지 14는 도 12의 메모리 블록들(BLK1~BLKz) 중 하나의 메모리 블록(BLKa)의 구조를 보여주는 평면도 및 사시 단면도 들이다. 예시적으로, 메모리 블록(BLKa)의 도전층들의 평면도가 도 13에 도시되어 있다. 도 14는 도 13의 메모리 블록(BLKa)의 Ⅰ-Ⅰ' 선에 따른 사시 단면도의 예를 보여준다.
도 13 내지 14를 참조하면, 메모리 블록(BLKa)은 제 1 내지 제 3 방향들을 따라 신장된 구조물들을 포함한다.
기판(111)이 제공된다. 예시적으로, 기판(111)은 제 1 도전형(Conductive type)을 갖는 웰(Well) 일 수 있다. 예를 들면, 기판(111)은 붕소(B, Boron)와 같은 3족 원소가 주입되어 형성된 P 웰 일 수 있다. 예를 들면, 기판(111)은 N 웰 내에 제공되는 포켓 P 웰 일 수 있다. 이하에서, 기판(111)은 P 웰(또는 포켓 P 웰)인 것으로 가정한다. 그러나 기판(111)은 P 도전형을 갖는 것으로 한정되지 않는다.
기판(111) 상에, 제 1 방향을 따라 신장된 복수의 도핑 영역들(411~413)이 제공된다. 복수의 도핑 영역들(411~413)은 기판(111) 상에서 제 3 방향을 따라 특정 거리만큼 이격되어 제공된다. 도 13 내지 도 14에 도시된 복수의 도핑 영역들(411~413)은 순차적으로 제 1 도핑 영역(411), 제 2 도핑 영역(412), 그리고 제 3 도핑 영역(413)으로 정의된다.
제 1 내지 제 3 도핑 영역들(411~413)은 기판(111)과 상이한 제 2 도전형(conductive type)을 갖는다. 예를 들면, 제 1 내지 제 3 도핑 영역들(411~413)은 N 도전형을 가질 수 있다. 이하에서, 제 1 내지 제 3 도핑 영역들(411~413)은 N 도전형을 갖는 것으로 가정한다. 그러나, 제 1 내지 제 3 도핑 영역들(411~413)은 N 도전형을 갖는 것으로 한정되지 않는다.
제 1 내지 제 3 도핑 영역들(411~413) 중 인접한 두 개의 도핑 영역들 사이에서, 복수의 절연 물질들(112, 112a)이 제 2 방향(즉, 기판과 수직한 방향)을 따라 기판(111) 상에 순차적으로 제공된다. 복수의 절연 물질들(112, 112a)은 제 2 방향을 따라 특정 거리만큼 이격되어 제공된다. 복수의 절연 물질들(112, 112a)은 제 1 방향을 따라 신장된다. 예시적으로, 복수의 절연 물질들(112, 112a)은 실리콘 산화막과 같은 절연 물질을 포함할 수 있다. 예시적으로, 복수의 절연 물질들(112, 112a) 중 기판(111)과 접촉하는 절연 물질(112a)의 두께는 다른 절연 물질들(112)의 두께보다 얇을 수 있다.
제 1 내지 제 3 도핑 영역들(411~413) 중 인접한 두 개의 도핑 영역들 사이에서, 제 1 방향을 따라 순차적으로 배치되며 제 2 방향을 따라 복수의 절연 물질들(112, 112a)을 관통하는 복수의 필라들(PL11, PL12, PL21, PL22)이 제공된다. 예시적으로, 복수의 필라들(PL11, PL12, PL21, PL22)은 절연 물질들(112)을 관통하여 기판(111)과 접촉할 수 있다.
예시적으로, 복수의 필라들(PL11, PL12, PL21, PL22) 각각은 다층으로 구성될 수 있다. 복수의 필라들(PL11, PL12, PL21, PL22)은 채널막들(114) 및 내부 물질들(117)을 포함할 수 있다. 복수의 필라들(PL11, PL12, PL21, PL22) 각각에서, 내부 물질 및 내부 물질을 둘러싸는 채널막이 제공될 수 있다.
채널막들(114)은 제 1 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예를 들면, 채널막들(114)은 기판(111)과 동일한 도전형 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 이하에서, 채널막들(114)은 P 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 채널막들(114)은 P 타입 실리콘을 포함하는 것으로 한정되지 않는다. 예를 들면, 채널막들(114)은 도전형을 갖지 않는 진성 반도체(Intrinsic Semiconductor)를 포함할 수 있다.
내부 물질들(117)은 절연 물질을 포함한다. 예를 들면, 내부 물질들(117)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 수 있다. 예를 들면, 내부 물질들(117)은 에어 갭(Air gap)을 포함할 수 있다.
제 1 내지 제 3 도핑 영역들(411~413) 중 인접한 두 개의 도핑 영역들 사이에서, 복수의 절연 물질들(112, 112a) 및 복수의 필라들(PL11, PL12, PL21, PL22)의 노출된 표면들 상에 정보 저장막들(116)이 제공된다. 예시적으로, 정보 저장막들(116)의 두께는 절연 물질들(112, 112a) 사이의 거리보다 작을 수 있다.
제 1 내지 제 3 도핑 영역들(411~413) 중 인접한 두 개의 도핑 영역들 사이에서, 정보 저장막들(116)의 노출된 표면들 상에 도전 물질들(CM1~CM8)이 제공된다. 더 상세하게는, 절연 물질들(112, 112a) 중 상층의 절연 물질의 하부면에 제공된 정보 저장막과 하층의 절연 물질의 상부면에 제공된 정보 저장막 사이에, 제 1 방향을 따라 신장되는 도전 물질들(CM1~CM8)이 제공된다.
도핑 영역들(411~413) 상에서, 도전 물질들(CM1~CM8) 및 절연 물질들(112, 112a)은 워드 라인 컷(WL cut)에 의해 분리될 수 있다. 예시적으로, 도전 물질들(CM1~CM8)은 금속성 도전 물질을 포함 수 있다. 도전 물질들(CM1~CM8)은 폴리 실리콘 등과 같은 비금속성 도전 물질을 포함할 수 있다.
예시적으로, 절연 물질들(112, 112a) 중 최상부에 위치한 절연 물질의 상부면에 제공되는 정보 저장막은 제거될 수 있다. 예시적으로, 절연 물질들(112, 112a)의 측면들 중 필라들(PL11, PL12, PL21, PL22)과 대향하는 측면에 제공되는 정보 저장막은 제거될 수 있다.
복수의 필라들(PL11, PL12, PL21, PL22) 상에 복수의 드레인들(420)이 제공된다. 예시적으로, 드레인들(420)은 제 2 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예를 들면, 드레인들(420)은 N 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 이하에서, 드레인들(420)은 N 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 드레인들(420)은 N 타입 실리콘을 포함하는 것으로 한정되지 않는다. 예시적으로, 드레인들(420)은 필라들(PL11, PL12, PL21, PL22)의 채널막들(114)의 상부로 확장될 수 있다.
드레인들(420) 상에, 제 3 방향으로 신장되며, 제 1 방향을 따라 특정 거리만큼 이격된 비트 라인들(BL1, BL2)이 제공된다. 비트 라인들(BL1, BL2)은 드레인들(420)과 연결된다. 예시적으로, 드레인들(420) 및 비트 라인들(BL1, BL2)은 콘택 플러그들(미도시)을 통해 연결될 수 있다. 예시적으로, 비트 라인들(BL1, BL2)은 금속성 도전 물질들을 포함할 수 있다. 예시적으로, 비트 라인들(BL1, BL2)은 폴리 실리콘 등과 같은 비금속성 도전 물질들을 포함할 수 있다.
이하에서, 메모리 블록(BLKa)의 필라들(PL11, PL12, PL21, PL22)의 행들 및 열들이 정의된다. 예시적으로, 도전 물질들(CM1~CM8)의 분리 여부에 따라, 필라들(PL11, PL12, PL21, PL22)의 행들이 정의된다. 도 4 내지 도 6에서, 도전 물질들(CM1~CM8)은 제 2 도핑 영역(412)을 중심으로 분리되어 있다.
제 1 도핑 영역(411) 및 제 2 도핑 영역(412) 사이에 제공되는 도전 물질들(CM1~CM8)과 정보 저장막들(116)을 통해 결합된 필라들(PL11, PL12)이 제 1 행의 필라들로 정의된다. 제 2 도핑 영역(412) 및 제 3 도핑 영역(413) 사이에 제공되는 도전 물질들(CM1~CM8)과 정보 저장막들(116)을 통해 결합된 필라들(PL21, PL22)이 제 2 행의 필라들로 정의된다.
비트 라인들(BL1, BL2)에 따라, 필라들(PL11, PL12, PL21, PL22)의 열들이 정의된다. 제 1 비트 라인(BL1)과 드레인(420)을 통해 연결된 필라들(PL11, PL21)이 제 1 열의 필라들로 정의된다. 제 2 비트 라인(BL2)과 드레인(420)을 통해 연결된 필라들(PL12, PL22)이 제 2 열의 필라들로 정의된다.
이하에서, 도전 물질들(CM1~CM8)의 높이들이 정의된다. 도전 물질들(CM1~CM8)은 기판(111)으로부터의 순서에 따라, 제 1 내지 제 8 높이를 갖는 것으로 정의된다. 기판(111)과 가장 인접한 제 1 도전 물질들(CM1)은 제 1 높이를 갖는다. 비트 라인들(BL1, BL2)과 가장 인접한 제 8 도전 물질들(CM8)은 제 8 높이를 갖는다.
필라들(PL11, PL12, PL21, PL22) 각각은 인접한 정보 저장막들(116), 그리고 인접한 도전 물질들(CM1~CM8)과 함께 하나의 셀 스트링을 구성한다. 즉, 필라들(PL11, PL12, PL21, PL22)은 정보 저장막들(116) 및 복수의 도전 물질들(CM1~CM8)과 함께 복수의 셀 스트링들을 형성한다.
도 15는 본 발명의 실시 예에 따른 솔리드 스테이트 디스크(이하, SSD)를 포함하는 사용자 장치를 보여주는 블록도이다. 도 15를 참조하면, 사용자 장치(1000)는 호스트(1100)와 SSD(1200)를 포함한다. SSD(1200)는 SSD 컨트롤러(1210), 버퍼 메모리(1220), 그리고 불휘발성 메모리 장치(1230)를 포함한다.
SSD 컨트롤러(1210)는 호스트(1100)와 SSD(1200)와의 물리적 연결을 제공한다. 즉, SSD 컨트롤러(1210)는 호스트(1100)의 버스 포맷(Bus format)에 대응하여 SSD(1200)와의 인터페이싱을 제공한다. 특히, SSD 컨트롤러(1210)는 호스트(1100)로부터 제공되는 명령어를 디코딩한다. 디코딩된 결과에 따라, SSD 컨트롤러(1210)는 불휘발성 메모리 장치(1230)를 액세스한다. 호스트(1100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
버퍼 메모리(1220)에는 호스트(1100)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치(1230)로부터 읽혀진 데이터가 일시 저장된다. 호스트(1100)의 읽기 요청시에 불휘발성 메모리 장치(1230)에 존재하는 데이터가 캐시되어 있는 경우에는, 버퍼 메모리(1220)는 캐시된 데이터를 직접 호스트(1100)로 제공하는 캐시 기능을 지원한다. 일반적으로, 호스트(1100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(1200)의 메모리 채널의 전송 속도보다 월등히 빠르다. 즉, 호스트(1100)의 인터페이스 속도가 월등히 높은 경우, 대용량의 버퍼 메모리(1220)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다.
버퍼 메모리(1220)는 대용량의 보조 기억 장치로 사용되는 SSD(1200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다. 하지만, 버퍼 메모리(1220)가 여기의 개시에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
불휘발성 메모리 장치(1230)는 SSD(1200)의 저장 매체로서 제공된다. 예를 들면, 불휘발성 메모리 장치(1230)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 불휘발성 메모리 장치(1230)는 복수의 메모리 장치로 구성될 수 있다. 이 경우, 각각의 메모리 장치들은 채널 단위로 SSD 컨트롤러(1210)와 연결된다. 저장 매체로서 불휘발성 메모리 장치(1230)가 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템도 적용될 수 있다.
불휘발성 메모리 장치(1230)는 버퍼 프로그램 동작을 위한 온칩 버퍼 메모리 영역과 메인 프로그램 동작을 위한 메인 메모리 영역을 포함한다. 메인 프로그램 동작시, 코어스 프로그램과 파인 프로그램에 의해서 메인 메모리 영역의 메모리 셀들이 프로그램될 수 있다. 그리고 파인 프로그램의 완료 여부를 지시하는 파인 프로그램 플래그(FPGM flag)가 불휘발성 메모리 장치(1230) 또는 SSD 컨트롤러(1210)에 저장 및 업데이트될 것이다.
SSD 컨트롤러(1210)는 읽기 요청의 발생시에 파인 프로그램의 완료 여부를 나타내는 파인 프로그램 플래그(FPGM flag)를 참조하여, 온칩 버퍼 메모리 영역 또는 메인 메모리 영역을 액세스하도록 구성될 수 있다.
도 16은 본 발명의 다른 실시 예에 따른 메모리 시스템(2000)을 예시적으로 보여주는 블록도이다. 도 16을 참조하면, 본 발명에 따른 메모리 시스템(2000)은 메모리 컨트롤러(2200)와 불휘발성 메모리 장치(2100)를 포함할 수 있다.
불휘발성 메모리 장치(2100)는 도 3의 불휘발성 메모리 장치(120)와 실질적으로 동일하게 구성될 수 있다. 따라서, 불휘발성 메모리 장치(2100)에 대한 구체적인 설명은 생략하기로 한다.
메모리 컨트롤러(2200)는 불휘발성 메모리 장치(2100)를 제어하도록 구성될 수 있다. SRAM(2230)은 CPU(2210)의 워킹 메모리로 사용될 수 있다. 호스트 인터페이스(2220)는 메모리 시스템(2000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 컨트롤러(2200)에 구비된 에러 정정 회로(2240)는 불휘발성 메모리 장치(2100)로부터 읽어 온 읽기 데이터에 포함되어 있는 에러를 검출 및 정정할 수 있다. 메모리 인터페이스(2260)는 본 발명의 불휘발성 메모리 장치(2100)와 인터페이싱 할 수 있다. CPU(2210)는 메모리 컨트롤러(2200)의 데이터 교환을 위한 제반 제어 동작을 수행할 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템(2000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
메모리 컨트롤러(2200)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다.
본 발명에 따른 메모리 시스템(2000)은, 컴퓨터, 휴대용 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 사용자 장치들 중 하나에 적용될 수 있다.
불휘발성 메모리 장치(2100)는 버퍼 프로그램 동작을 위한 온치버 버퍼 메모리 영역과 메인 프로그램 동작을 위한 메인 메모리 영역을 포함한다. 메인 프로그램 동작시, 코어스 프로그램과 파인 프로그램에 의해서 메인 메모리 영역의 메모리 셀들이 프로그램될 수 있다. 그리고 파인 프로그램의 완료 여부를 지시하는 파인 프로그램 플래그(FPGM flag)가 불휘발성 메모리 장치(2100) 또는 메모리 컨트롤러(2200)에 저장 및 업데이트될 것이다.
메모리 컨트롤러(2200)는 읽기 요청의 발생시에 파인 프로그램 플래그(FPGM flag)를 참조하여, 불휘발성 메모리 장치(2100)의 온칩 버퍼 메모리 영역 또는 메인 메모리 영역을 액세스하도록 구성될 수 있다.
도 17은 본 발명의 다른 실시 예에 따른 데이터 저장 장치(3000)를 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 본 발명에 따른 데이터 저장 장치(3000)는 플래시 메모리(3100)와 플래시 컨트롤러(3200)를 포함할 수 있다. 플래시 컨트롤러(3200)는 데이터 저장 장치(3000) 외부로부터 수신된 제어 신호들에 기초하여 플래시 메모리(3100)를 제어할 수 있다.
또한, 플래시 메모리(3100)의 구성은 도 3, 도 8, 및 도 9에 도시된 불휘발성 메모리 장치(120, 220, 320)와 실질적으로 동일하며, 발명의 플래시 메모리는 어레이들이 다층으로 적층된 스택 플래시 구조, 소스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조, 및 3차원 플래시 구조 중 어느 하나로 구성될 수 있다.
본 발명의 데이터 저장 장치(3000)는 메모리 카드 장치, SSD 장치, 멀티미디어 카드 장치, SD 장치, 메모리 스틱 장치, 하드 디스크 드라이브 장치, 하이브리드 드라이브 장치, 또는 범용 직렬 버스 플래시 장치를 구성할 수 있다. 예를 들면, 본 발명의 데이터 저장 장치(3000)는 디지털, 카메라, 개인 컴퓨터 등과 같은 사용자 장치를 사용하기 위한 산업 표준을 만족하는 카드를 구성할 수 있다.
플래시 메모리(3100)는 버퍼 프로그램 동작을 위한 온칩 버퍼 메모리 영역과 메인 프로그램 동작을 위한 메인 메모리 영역을 포함한다. 메인 프로그램 동작시, 코어스 프로그램과 파인 프로그램에 의해서 메인 메모리 영역의 메모리 셀들이 프로그램될 수 있다. 그리고 파인 프로그램의 완료 여부를 지시하는 파인 프로그램 플래그(FPGM flag)가 플래시 메모리(3100) 또는 플래시 컨트롤러(3200)에 저장 및 업데이트될 것이다.
플래시 컨트롤러(3200)는 읽기 요청의 발생시에 파인 프로그램 플래그(FPGM flag)를 참조하여, 플래시 메모리(3100)의 온칩 버퍼 메모리 영역 또는 메인 메모리 영역을 액세스하도록 구성될 수 있다.
도 18은 본 발명에 따른 플래시 메모리 장치(4100) 및 그것을 포함하는 컴퓨팅 시스템(4000)의 개략적인 구성을 보여주는 도면이다. 도 18을 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 버스(4400)에 전기적으로 연결된 플래시 메모리(4100), 메모리 컨트롤러(4200), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(4300), 마이크로프로세서(4500), 그리고 사용자 인터페이스(4600)를 포함할 수 있다.
도 18에 도시된 플래시 메모리(4100)는 구성은 도 3에 도시된 불휘발성 메모리 장치(100)와 실질적으로 동일하며, 본 발명의 플래시 메모리는 어레이들이 다층으로 적층된 스택 플래시 구조, 소스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조, 및 3차원 플래시 구조 중 어느 하나로 구성될 수 있다.
본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(4700)가 추가적으로 제공될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있다. 메모리 컨트롤러(4200)와 플래시 메모리 장치(4100)는, 예를 들면, 데이터를 저장하는 데 불 휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
플래시 메모리(4100)는 버퍼 프로그램 동작을 위한 온칩 버퍼 메모리 영역과 메인 프로그램 동작을 위한 메인 메모리 영역을 포함한다. 메인 프로그램 동작시, 코어스 프로그램과 파인 프로그램에 의해서 메인 메모리 영역의 메모리 셀들이 프로그램될 수 있다. 그리고 파인 프로그램의 완료 여부를 지시하는 파인 프로그램 플래그(FPGM flag)가 플래시 메모리(4100) 또는 메모리 컨트롤러(4200)에 저장 및 업데이트될 것이다.
메모리 컨트롤러(4200)는 읽기 요청의 발생시에 파인 프로그램 플래그(FPGM flag)를 참조하여, 플래시 메모리(4100)의 온칩 버퍼 메모리 영역 또는 메인 메모리 영역을 액세스하도록 구성될 수 있다.
본 발명에 따른 불휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 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), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110, 210, 310 : 메모리 컨트롤러
115, 215, 315 : 버퍼 메모리
120, 220, 320 : 불휘발성 메모리 장치
121, 221, 321 : 페이지 버퍼
122, 222, 322 : 메인 메모리 영역
123, 223, 323 : 온칩 버퍼 메모리 영역
224, 324 : 파인 프로그램 플래그 영역
1100 : 호스트 1200 : SSD
1210 : SSD 컨트롤러 1220 : 버퍼 메모리
1230 : 불휘발성 메모리 장치 2100 : 플래시 메모리
2200 : 메모리 컨트롤러 2210 : CPU
2220 : 호스트 인터페이스 2230 : SRAM
2240 : ECC 2260 : 메모리 인터페이스
3100 : 플래시 메모리 3200 : 플래시 인터페이스
4100 : 플래시 메모리 4200 : 메모리 컨트롤러
4300 : 모뎀 4400 : 시스템 버스
4500 : 마이크로 프로세서 4600 : 유저 인터페이스
4700 : 배터리

Claims (10)

  1. 제 1 메모리 영역과 제 2 메모리 영역을 갖는 메모리 셀 어레이를 갖는 불 휘발성 메모리 장치; 그리고
    쓰기 요청시, 외부로부터 제공되는 데이터를 상기 제 1 메모리 영역에 저장하고, 상기 저장된 데이터를 코어스 프로그램 동작 및 파인 프로그램 동작에 따라 상기 제 2 메모리 영역에 프로그램하도록 상기 불휘발성 메모리 장치를 제어하는 메모리 컨트롤러를 포함하되,
    상기 메모리 컨트롤러는 상기 데이터에 대한 읽기 요청이 발생하면 상기 데이터에 대한 상기 파인 프로그램 동작의 완료 여부를 지시하는 파인 프로그램 플래그를 참조하여 상기 제 1 메모리 영역과 상기 제 2 메모리 영역 중 어느 하나에 액세스하도록 상기 불휘발성 메모리 장치를 제어하는 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 파인 프로그램 플래그는 상기 메모리 컨트롤러에 구비되는 버퍼 메모리에 저장되는 메모리 시스템.
  3. 제 2 항에 있어서,
    상기 파인 프로그램 플래그는 상기 제 2 메모리 영역의 메모리 블록 단위 또는 워드 라인 단위의 메모리 셀들에 대한 상기 파인 프로그램 동작의 완료 여부를 나타내는 룩업 테이블로 구성되는 메모리 시스템.
  4. 제 2 항에 있어서,
    상기 파인 프로그램 플래그는 상기 제 2 메모리 영역에서 상기 파인 프로그램 동작이 완료된 워드 라인 단위의 메모리 셀들의 위치를 나타내는 코드로 제공되는 메모리 시스템.
  5. 제 2 항에 있어서,
    상기 파인 프로그램 플래그는 상기 버퍼 메모리로부터 상기 불휘발성 메모리의 특정 메모리 영역에 주기적으로 또는 실시간으로 업데이트되는 메모리 시스템.
  6. 제 1 항에 있어서,
    상기 파인 프로그램 플래그는 상기 제 2 메모리 영역의 제어 정보가 저장되는 스페어 영역에 저장되는 메모리 시스템.
  7. 제 6 항에 있어서,
    상기 파인 프로그램 플래그는 상기 스페어 영역에서 싱글 레벨 셀(SLC) 프로그램 방식으로 프로그램되는 메모리 시스템.
  8. 제 1 항에 있어서,
    상기 파인 프로그램 플래그가 상기 파인 프로그램 동작이 완료되지 않은 것으로 검출되면, 상기 메모리 컨트롤러는 상기 제 1 메모리 영역을 액세스하도록 상기 불휘발성 메모리 장치를 제어하는 메모리 시스템.
  9. 제 1 항에 있어서,
    상기 제 1 메모리 영역에는 싱글 레벨 셀(SLC) 프로그램 방식으로 상기 데이터가 기입되고, 상기 제 2 메모리 영역에는 멀티 레벨 셀(MLC) 방식으로 상기 데이터가 기입되는 메모리 시스템.
  10. 제 1 메모리 영역과 제 2 메모리 영역을 가지며, 상기 제 2 메모리 영역에는 코어스 프로그램 동작 및 파인 프로그램 동작에 따라 데이터를 기입하는 불휘발성 메모리 장치의 동작 방법에 있어서:
    읽기 요청을 수신하는 단계;
    상기 읽기 요청에 대응하는 메모리 영역에 대한 파인 프로그램 실시 여부를 나타내는 파인 프로그램 플래그를 읽어오는 단계; 그리고
    상기 파인 프로그램 플래그에 따라 상기 읽기 요청된 데이터를 상기 제 1 메모리 영역과 상기 제 2 메모리 영역 중 어느 하나로부터 읽어내는 동작 방법.
KR1020110101037A 2011-10-05 2011-10-05 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 KR101903091B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110101037A KR101903091B1 (ko) 2011-10-05 2011-10-05 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
US13/547,441 US9129709B2 (en) 2011-10-05 2012-07-12 Memory system comprising non-volatile memory device and related method of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110101037A KR101903091B1 (ko) 2011-10-05 2011-10-05 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
KR20130036851A true KR20130036851A (ko) 2013-04-15
KR101903091B1 KR101903091B1 (ko) 2018-10-02

Family

ID=48041985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110101037A KR101903091B1 (ko) 2011-10-05 2011-10-05 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9129709B2 (ko)
KR (1) KR101903091B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140139335A (ko) * 2013-05-27 2014-12-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 재프로그램 방법
KR20150003969A (ko) * 2013-07-01 2015-01-12 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
KR20160016037A (ko) * 2014-08-01 2016-02-15 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
KR20190118030A (ko) * 2018-04-09 2019-10-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10733056B2 (en) 2017-10-25 2020-08-04 SK Hynix Inc. Data processing system for securing atomicity of transactions without generating separate commit command, and operating method thereof
US10854263B2 (en) 2018-12-19 2020-12-01 SK Hynix Inc. Storage device and method of operating the same

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10522226B2 (en) * 2018-05-01 2019-12-31 Silicon Storage Technology, Inc. Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
KR20210108692A (ko) 2020-02-26 2021-09-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11137944B1 (en) * 2020-03-13 2021-10-05 Western Digital Technologies, Inc. Combined QLC programming method
US11430526B2 (en) * 2020-12-18 2022-08-30 Micron Technology, Inc. Interleaved two-pass data programming techniques with reduced write amplification
US11335407B1 (en) 2020-12-18 2022-05-17 Micron Technology, Inc. One-ladder read of memory cells coarsely programmed via interleaved two-pass data programming techniques
US11456038B2 (en) 2020-12-18 2022-09-27 Micron Technology, Inc. Simplified operations to read memory cells coarsely programmed via interleaved two-pass data programming techniques
US11462265B2 (en) * 2020-12-18 2022-10-04 Micron Technology, Inc. Reading memory cells coarsely programmed via interleaved two-pass data programming techniques

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305210A (ja) 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
KR100799688B1 (ko) * 2007-01-03 2008-02-01 삼성전자주식회사 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법
US7508715B2 (en) 2007-07-03 2009-03-24 Sandisk Corporation Coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
US7599224B2 (en) 2007-07-03 2009-10-06 Sandisk Corporation Systems for coarse/fine program verification in non-volatile memory using different reference levels for improved sensing
KR100923818B1 (ko) 2007-08-22 2009-10-27 주식회사 하이닉스반도체 퓨즈 회로와 이를 구비한 플래시 메모리 소자
US8130552B2 (en) 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
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
KR101653262B1 (ko) * 2010-04-12 2016-09-02 삼성전자주식회사 멀티-비트 메모리의 프로그램 방법 및 그것을 이용한 데이터 저장 시스템
KR20120126389A (ko) * 2011-05-11 2012-11-21 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온칩 버퍼 프로그램 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140139335A (ko) * 2013-05-27 2014-12-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 재프로그램 방법
KR20150003969A (ko) * 2013-07-01 2015-01-12 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
KR20160016037A (ko) * 2014-08-01 2016-02-15 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
US10733056B2 (en) 2017-10-25 2020-08-04 SK Hynix Inc. Data processing system for securing atomicity of transactions without generating separate commit command, and operating method thereof
KR20190118030A (ko) * 2018-04-09 2019-10-17 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10854263B2 (en) 2018-12-19 2020-12-01 SK Hynix Inc. Storage device and method of operating the same

Also Published As

Publication number Publication date
US20130088928A1 (en) 2013-04-11
US9129709B2 (en) 2015-09-08
KR101903091B1 (ko) 2018-10-02

Similar Documents

Publication Publication Date Title
KR101903091B1 (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법
JP6742964B2 (ja) 不揮発性メモリ装置、メモリシステム、及びそれのプログラム方法
CN107093465B (zh) 包括电压搜索单元的数据存储器装置
US10467133B2 (en) Storage device including nonvolatile memory device and garbage collection method thereof
US9256530B2 (en) Nonvolatile memory device and sub-block managing method thereof
US8990483B2 (en) Nonvolatile memory device, memory system, and program method therof
TWI587131B (zh) 包含非揮發性記憶體元件之記憶體系統及其程式化方法
US10622040B2 (en) Three-dimensional semiconductor device with top dummy cells and bottom dummy cells and operating method thereof
KR102245822B1 (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
KR20130060795A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US8861276B2 (en) Nonvolatile memory device, memory system comprising same, and method of operating same
KR20120140508A (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
KR20130135621A (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 리페어 방법
US20130286747A1 (en) Nonvolatile memory device and related method of operation
KR20130016619A (ko) 불휘발성 메모리 장치의 프로그램 방법
US9147475B2 (en) Data storage device comprising nonvolatile memory chips and control method thereof
KR20170076883A (ko) 메모리 시스템 및 그의 동작방법
US9251904B2 (en) Nonvolatile memory device and memory system including the same
US9720624B2 (en) Method of controlling a memory system
KR20130079853A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant