KR101544607B1 - 메모리 장치 및 그 프로그램 방법 - Google Patents
메모리 장치 및 그 프로그램 방법 Download PDFInfo
- Publication number
- KR101544607B1 KR101544607B1 KR1020080105759A KR20080105759A KR101544607B1 KR 101544607 B1 KR101544607 B1 KR 101544607B1 KR 1020080105759 A KR1020080105759 A KR 1020080105759A KR 20080105759 A KR20080105759 A KR 20080105759A KR 101544607 B1 KR101544607 B1 KR 101544607B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- present
- memory cells
- memory cell
- bit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/146—Write once memory, i.e. allowing changing of memory content by writing additional bits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 플래시 메모리 시스템 및 그 구동방법에 관한 것이다. 본 발명에 따른 플래시 메모리 장치는 멀티 레벨 셀을 포함하는 메모리 셀 어레이; 및 상기 멀티 레벨 셀에 한 비트의 정보가 저장하도록 제어하는 컨트롤 로직을 포함하되, 상기 컨트롤 로직은 상기 멀티 레벨 셀이 소거 동작없이 프로그램 동작되도록 제어한다. 따라서, 본 발명에 따른 플래시 메모리 장치는 소거 동작을 실행하지 않으므로, 동작 속도를 향상하는 효과가 있다.
Description
본 발명은 비휘발성 메모리에 관한 것으로, 좀 더 구체적으로는 멀티 프로그램이 가능한 비휘발성 메모리 및 그 구동방법에 관한 것이다.
플래시 메모리는 일반적으로 NAND 플래시 메모리와 NOR 플래시 메모리로 구분된다. NOR 플래시 메모리는 메모리 셀들이 각각 독립적으로 비트 라인과 워드 라인에 연결되는 구조를 가진다. 따라서, NOR 플래시 메모리는 우수한 랜덤 억세스 시간 특성을 갖는다.
NAND 플래시 메모리는 복수의 메모리 셀들이 직렬로 연결되어 셀 스트링당 한 개의 콘택트만을 필요로 한다. 따라서, NAND 플래시 메모리는 집적도면에서 우수한 특성을 갖는다.
최근에, 플래시 메모리의 집적도를 더욱 향상시키기 위해 한 개의 메모리 셀에 복수의 데이타를 저장할 수 있는 다중 비트 셀에 대한 연구가 진행된다. 이러한 방식의 메모리 셀을 통상 멀티 레벨 셀(Multi-Level Cell;MLC)이라고 하고, 이와 대비되는 단일 비트의 메모리 셀을 싱글 레벨 셀(Single-Level Cell;SLC)이라 한 다. 일반적으로, 멀티 레벨 셀(MLC)은 일반적으로 2개 이상의 드레솔드(Threshold) 전압분포를 가진다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적은 호스트 중앙처리장치의 로드를 저감할 수 있는 플래시 메모리 장치 및 그 구동방법을 제공한다.
본 발명의 실시예에 따른 비휘발성 메모리 장치는 멀티 레벨 셀을 포함하는 메모리 셀 어레이; 및 상기 멀티 레벨 셀에 한 비트의 정보가 저장하도록 제어하는 컨트롤 로직을 포함하되, 상기 컨트롤 로직은 상기 멀티 레벨 셀이 소거 동작없이 프로그램 동작되도록 제어한다.
실시예에 있어서, 상기 멀티 레벨 셀은 프로그램 레벨에 따라 데이터를 저장하되, 상기 프로그램 레벨은 복수의 검증 전압에 의하여 구분된다.
실시예에 있어서, 상기 컨트롤 로직은 상기 프로그램 레벨을 확인하기 위하여 상기 멀티 레벨 셀을 상기 복수의 검증 전압들을 기준으로 독출하도록 제어한다.
실시예에 있어서, 상기 멀티 레벨 셀은 업데이트될 데이터가 저장된 데이터와 다르면, 상기 업데이트될 데이터로 상기 프로그램 레벨에 따라 프로그램된다.
실시예에 있어서, 상기 멀티 레벨 셀은 업데이트될 데이터가 저장된 데이터 와 동일하면 현 상태를 유지한다.
실시예에 있어서, 상기 컨트롤 로직은 더 이상 프로그램이 불가능한 경우 에러 신호를 발생한다.
본 발명의 또 다른 실시예에 따른 비휘발성 메모리 장치는 복수의 메모리 셀을 포함하는 메모리 셀 어레이; 및 상기 메모리 셀 어레이의 덮어쓰기 동작을 제어하는 컨트롤 로직을 포함하되, 상기 복수의 메모리 셀은 그룹을 형성하여 하나의 비트를 구성한다.
본 발명의 실시예에 따른 메모리 시스템는 비휘발성 메모리 장치; 및 상기 비휘발성 메모리 장치를 제어하는 중앙 처리 장치를 포함하되, 상기 비휘발성 메모리 장치는, 복수의 메모리 셀을 갖는 메모리 셀 어레이; 및 상기 메모리 셀에 한 비트의 정보가 저장하도록 제어하는 컨트롤 로직을 포함하되, 상기 메모리 셀 각각은 소거 동작없이 연속적으로 프로그램된다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.
본 발명은 플래시 메모리 장치에 있어서, 멀티 프로그램(Multi-Programmable)이 가능한 플래시 메모리 장치를 제공합니다.
도 1은 본 발명의 실시예에 따른 멀티 프로그램이 가능한 플래시 메모리를 도시한다.
도 1을 참조하면, 일반적으로, 플래시 메모리 장치의 하나의 메모리 셀은 단일한 레벨을 가지는 싱글 레벨 셀(Single-Level Cell;SLC)과 2개 이상의 드레솔드(Threshold) 전압분포를 가지는 멀티 레벨 셀(MLC)로 나뉠 수 있다.
일반적으로, 멀티 레벨 셀(MLC)를 포함하는 플래시 메모리 장치는 멀티 비트를 저장하도록 사용될 수 있다. 또한, 본 발명의 실시예에 따른 멀티 레벨 셀(MLC)를 포함하는 플래시 메모리 장치는 멀티 프로그램을 지원할 수 있다.
플래시 메모리 장치에 있어서 멀티 프로그램이란 소거 동작을 수행하지 않고, 플래시 메모리 장치의 메모리 셀에 데이터를 업데이트하는 것이다. 즉, 멀티 프로그램을 지원하는 플래시 메모리 장치는 소거 동작을 수행하지 않고, 프로그램 동작을 연속적으로 수행할 수 있다.
본 발명의 실시예에 따른 멀티 레벨 셀(MLC)를 포함하는 플래시 메모리 장치는 A 경우와 같이, 각각의 메모리 셀들마다 멀티 프로그램을 지원하도록 할 수 있고, B 경우와 같이, 동일한 페이지 버퍼(Page buffer)를 공유하는 메모리 셀들을 묶어서 멀티 프로그램을 지원하도록 할 수 있다.
멀티 레벨 셀(MLC)를 포함하는 플래시 메모리 장치가 멀티 프로그램을 실행하기 위해서는 플래시 메모리 장치의 메모리 셀이 저장하고 있는 데이터가 '0'이지 '1'인지에 상관없이 새로운 데이터로 업데이트할 수 있어야 한다.
도 3 및 도 4에서 각각의 메모리 셀들마다 멀티 프로그램을 실행하는 방법이 설명되고, 도 9에서 스테이트 모델을 이용한 멀티 프로그램 방법이 설명되고, 그리고 도 14 내지 도 17에는 동일한 페이지 버퍼(Page buffer)를 공유하는 메모리 셀 들을 묶어서 멀티 프로그램 실행하는 방법이 설명된다.
Ⅰ. 유한 상태(Finite state)를 가지는 멀티 프로그램 방법
본 발명은 도 2에 도시된 바와 같은 조건을 모두 만족하여야 할 것이다. 즉, 본 발명의 실시예에 따른 메모리 셀은 이전 데이터에 대한 모든 조합에 대하여 멀티 프로그램이 가능해야 할 것이다.
도 2를 참조하면, P는 메모리 셀의 현재 데이터이고, p'는 메모리 셀에 업데이트될 데이터이다. 만약 P가 0인 경우 P'는 0 또는 1이 업데이트될 수 있다. 또한, P가 1인 경우 P'는 0 또는 1이 업데이트될 수 있다.
본 발명의 실시예에 따른 멀티 프로그램 방법은 플래시 메모리 장치의 메모리 셀에 저장된 데이터와 상기 데이터를 업데이트할 수 있는 모든 조합(Combination)에 대하여 멀티 프로그램이 가능할 것이다.
도 3은 본 발명의 제1 실시예에 따른 플래시 메모리 장치의 멀티 프로그램방법을 도시한 그래프이고, 도 4는 도 3에 도시된 메모리 셀의 멀티 프로그램 방법을 도시한다.
본 발명의 제1 실시예에 따른 플래시 메모리 장치는 멀티 레벨 셀을 포함하되, LSB/MSB 페이지를 나누지 않고, 하나의 상태(state)로 인식하여 소거 동작을 수행하지 않고, 멀티 프로그램을 지원할 수 있다.
도 3에 도시된 메모리 셀은 4개의 전압분포를 가지는 것을 가정한다. 즉, 4개의 전압분포는 소거상태(E), 제1 프로그램 상태(P1), 제2 프로그램 상태(P2), 제 3 프로그램 상태(P3)로 구성된다. 4개 전압분포는 제1 내지 제3 검증 전압(Vver1,Vver2,Vver3)에 의하여 각각 구분될 것이다.
본 발명은 일반적인 멀티 레벨 셀을 포함하는 플래시 메모리 기술을 활용한 것이다. 즉, 본 발명은 하나의 메모리 셀에 멀티 프로그램이 가능하게 됨으로, 웨어아웃(wear-out) 카운트를 줄일 수 있다. 따라서, 본 발명은 효율적이고, 고성능의 메모리 스토리지 시스템을 구현할 수 있다.
도 3 및 도 4를 참조하면, 메모리 셀의 초기 상태가 소거 상태(E)라고 가정한다.
제1 프로그램 단계에서 상기 메모리 셀의 업데이트될 데이터가 '1'인 경우, 상기 메모리 셀은 소거 상태(E)를 그대로 유지하고, 상기 메모리 셀에 업데이트될 데이터가 '0'인 경우 상기 메모리 셀은 소거 상태(E)에서 제1 프로그램 상태(P1)로 프로그램된다.
제2 프로그램 단계에서 상기 메모리 셀의 이전 데이터가 '1'이고, 상기 메모리 셀에 업데이트될 데이터가 '1'인 경우, 상기 메모리 셀은 소거 상태(E)를 그대로 유지하고, 상기 메모리 셀은 상기 메모리 셀의 업데이트될 데이터가 '0'인 경우 소거 상태(E)에서 제2 프로그램 상태(P2)로 프로그램된다.
제2 프로그램 단계에서 상기 메모리 셀의 이전 데이터가 '0'이고, 상기 메모리 셀에 업데이트될 데이터가 '1'인 경우, 상기 메모리 셀은 제1 프로그램 상태(P1)를 그대로 유지하고, 상기 메모리 셀은 상기 메모리 셀의 업데이트될 데이터가 '0'인 경우 제1 프로그램 상태(P1)에서 제2 프로그램 상태(P2)로 프로그램된다.
제3 프로그램 단계에서 상기 메모리 셀의 이전 데이터가 '1'이고, 상기 메모리 셀에 업데이트될 데이터가 '1'인 경우, 상기 메모리 셀은 소거 상태(E) 또는 제1 프로그램 상태(P1)를 그대로 유지하고, 상기 메모리 셀은 상기 메모리 셀의 업데이트될 데이터가 '0'인 경우 소거 상태(E)에서 제3 프로그램 상태(P3)로 프로그램되거나 제1 프로그램 상태(P1)에서 제3 프로그램 상태(P3)로 프로그램된다.
제3 프로그램 단계에서 상기 메모리 셀의 이전 데이터가 '0'이고, 상기 메모리 셀에 업데이트될 데이터가 '1'인 경우, 상기 메모리 셀은 제2 프로그램 상태(P2)를 그대로 유지하고, 상기 메모리 셀은 상기 메모리 셀의 업데이트될 데이터가 '0'인 경우 제2 프로그램 상태(P2)에서 제3 프로그램 상태(P3)로 프로그램된다.
제1 프로그램 단계에서 상기 메모리 셀의 프로그램은 제1 검증 전압(Vver1)을 기준으로 검증하고, 제2 프로그램 단계에서 상기 메모리 셀의 프로그램은 제2 검증 전압(Vver2)을 기준으로 검증하고, 제3 프로그램 단계에서 상기 메모리 셀의 프로그램은 제3 검증 전압(Vver3)을 기준으로 검증한다.
따라서, 본 발명의 실시예에 따른 플래시 메모리 장치는 2 비트(bit)를 나타내는 멀티 레벨 셀을 포함하는 경우 3회까지 멀티 프로그램이 가능하다. 즉, n 비트(bit)를 나타내는 멀티 레벨 셀을 포함하는 본 발명의 실시예에 따른 플래시 메모리 장치는 2n - 1회까지 멀티 프로그램할 수 있다.
본 발명의 실시예에 따른 멀티 프로그램이 적용되는 경우 본 발명의 실시예에 따른 플래시 메모리 장치는 독출 동작 또는 프로그램 동작 이전에 검증 전압 레 벨을 결정하여야 할 것이다.
예를 들면, 첫째, 각각의 페이지마다 프로그램 카운트 비트를 설정하고, 상기 프로그램 카운트 비트를 체크하여 독출 동작시 전압 레벨을 결정하는 방법이 있다. 각각의 페이지에 대응하는 프로그램 카운트 비트는 플래시 메모리 장치의 내부 또는 외부에 저장될 수 있다. 둘째, 각각의 페이지에 해당하는 프로그램 레벨을 검색하기 위하여, 가장 높은 검증 전압부터 순차적으로 스캔닝(Scanning)하여 독출하는 방법이 있다.
본 발명의 실시예에 따른 플래시 메모리 장치의 독출 동작은 도 3에 도시된 제1 내지 제3 검증 전압들 중 어느 하나를 기준으로 수행된다.
예를 들면, 멀티 프로그램을 지원하는 메모리 셀이 소거 상태(E)이면, 상기 메모리 셀은 제1 검증 전압(Vver1)을 기준으로 독출될 것이다. 상기 메모리 셀이 제1 프로그램 상태(P1)이면, 상기 메모리 셀은 제2 검증 전압(Vver2)을 기준으로 독출될 것이다. 상기 메모리 셀이 제2 프로그램 상태(P2)이면, 상기 메모리 셀은 제3 검증 전압(Vver3)을 기준으로 독출될 것이다.
상기 메모리 셀의 전압 분포가 검증 전압의 왼쪽이 위치하면, 상기 메모리 셀의 데이터는 '1'을 나타낼 것이고, 상기 메모리 셀의 전압 분포가 검증 전압의 오른쪽이 위치하면, 상기 메모리 셀의 데이터는 '0'을 나타낼 것이다.
도 3 및 도 4에 도시된 제1 및 제3 참조 전압(Vver1,Vver2,Vver3)은 인디케이터(indicator)로 사용된다. 즉, 본 발명에 따른 인디케이터는 메모리 셀의 프로그램 레벨을 나타낸다.
도 5 및 도 6은 메모리 셀의 상태 정보(즉, 인디케이터)를 메모리 셀 어레이 내부에 저장하는 경우를 설명한다. 도 7 및 도 8은 메모리 셀의 상태 정보를 메모리 셀 어레이 외부에 저장하는 경우를 설명한다.
도 5은 도 4에 도시된 본 발명의 제1 실시예에 따른 멀티 프로그램 방법을 도시한 순서도이다.
도 5을 참조하면, 본 발명의 실시예에 따른 멀티 프로그램 방법은 임의의 페이지에 대한 인디케이터를 위하여 스페어 영역(spare area)를 독출하고(S11), 프로그램이 가능한지를 판단하고(S12), 프로그램이 가능하지 않으면 종료하고, 프로그램이 가능하면, 데이터와 인디케이터를 프로그램하고(S13), 프로그램 동작이 완료되었는지 판단하고(S14), 그리고 완료되었다면 종료합니다.
도 6은 도 5에 도시된 멀티 프로그램 방법에 따른 메모리 셀을 독출하는 방법을 도시한 순서도이다.
도 6을 참조하면, 본 발명의 실시예에 따른 독출 방법은 임의의 페이지에 대한 인디케이터를 위하여 스페어 영역(spare area)를 독출하고(S21), 상기 인디케이터에 대응하는 참조 전압에 따라 독출하고(S22), 그리고 종료합니다.
도 7은 도 4에 도시된 본 발명의 제2 실시예에 따른 멀티 프로그램 방법을 도시한 순서도이다.
도 7을 참조하면, 본 발명의 실시예에 따른 멀티 프로그램 방법은 인디케이터를 로딩하고(S31), 프로그램이 가능한지를 판단하고(S32), 프로그램이 가능하지 않으면 종료하고, 프로그램이 가능하면, 데이터를 프로그램하고(S33), 프로그램 동 작이 완료되었는지 판단하고(S34), 완료되었다면 인디케이터를 외부에 저장하고(S35), 그리고 종료합니다.
도 8은 도 7에 도시된 멀티 프로그램 방법에 따른 메모리 셀을 독출하는 방법을 도시한 순서도이다.
도 8을 참조하면, 본 발명의 실시예에 따른 독출 방법은 인디케이터를 로딩하고(S41), 상기 인디케이터에 대응하는 참조 전압에 따라 독출하고(S42), 그리고 종료합니다.
Ⅱ. 스테이트 모델을 이용한 멀티 프로그램 방법
도 9는 본 발명의 제2 실시예에 따른 프로그램 방법을 도시한 그래프이다.
즉, 도 9는 도 4에 도시된 그래프를 하나의 메모리 셀에 다수의 상태가 하나의 비트로 나타낸 것이다. 상기 메모리 셀은 4개의 전압분포를 가질 수 있다고 가정한다. 상기 메모리 셀의 플로팅 게이트(floating gate)가 소거된 상태이면 '1'을 나타내고, 전자가 조금 들어간 상태가 '0', 그보다 더 많이 들어간 상태가 '1' 그리고 가장 많이 전자가 들어간 상태는 '0'을 나타낼 것이다.
표 1은 본 발명의 실시예에 따른 플래시 메모리 장치에 대해 기입 요청이 있는 경우 처리 방법을 나타낸다.
Current state | Current Bit | Bit to program | Program? | Verify Volt |
A | 1 | 1 | No | - |
A | 1 | 0 | Yes | 0.3 V |
B | 0 | 1 | Yes | 1.5 V |
B | 0 | 0 | No | - |
C | 1 | 1 | No | - |
C | 1 | 0 | Yes | 2.8 V |
D | 0 | 1 | Error | - |
D | 0 | 0 | No | - |
표 1 및 도 9를 참조하면, 먼저, 아무것도 쓰여지지 않은 상태는 “State A”이고,“State A”는 비트(bit) “1”을 나타낸다. 본 발명의 실시예에 따른 플래시 메모리 장치의 메모리 셀이“State A”인 것을 확인하는 방법은 상기 메모리 셀의 컨트롤 게이트(control gate)에 0V 전압을 인가할 때, 전류가 흐르면 “State A”인 것을 알 수 있다. “State A”에 있을 때 “1” 쓰기 요청이 오면 프로그램을 하지 않고, “0” 쓰기 요청이 오면 “State B”로 넘어가도록 프로그램을 한다. 이때 제1 검증 전압(Vver1)은 0.3 V이다.
“State B”는 비트(bit) “0”을 나타낸다. 본 발명의 실시예에 따른 플래시 메모리 장치의 메모리 셀이“State B”인 것을 확인하는 방법은 상기 메모리 셀의 컨트롤 게이트(control gate)에 0 V를 인가할 때 전류가 안 흐르되, 1.1 V를 인가할 때, 전류가 흐르면 “State B”인 것을 알 수 있다. “State B”에 있을 때 “0” 쓰기 요청이 오면 프로그램을 하지 않고, “1” 쓰기 요청이 오면 “State C”로 넘어가도록 프로그램을 한다. 이때 제2 검증 전압(Vver1)은 1.5 V이다.
“State C”는 비트(bit) “1”을 나타낸다. 본 발명의 실시예에 따른 플래시 메모리 장치의 메모리 셀이“State C”인 것을 확인하는 방법은 상기 메모리 셀의 컨트롤 게이트(control gate)에 1.1 V를 인가할 때 전류가 안 흐르되, 2.3 V를 인가할 때, 전류가 흐르면 “State C”인 것을 알 수 있다. “State C”에 있을 때 “1” 쓰기 요청이 오면 프로그램을 하지 않고, “0” 쓰기 요청이 오면 “State D”로 넘어가도록 프로그램을 한다. 이때 제3 검증 전압(Vver1)은 2.8 V이다.
“State D”는 비트(bit) “0”을 나타낸다. 본 발명의 실시예에 따른 플래시 메모리 장치의 메모리 셀이“State D”인 것을 확인하는 방법은 상기 메모리 셀의 컨트롤 게이트(control gate)에 2.3 V를 인가할 때, 전류가 흐르지 않으면 “State D”인 것을 알 수 있다. “State D”에 있을 때 “0” 쓰기 요청이 오면 프로그램을 하지 않고, “1” 쓰기 요청이 오면 “Error”를 발생한다.
앞에서 상술한 바에 따라, 본 발명의 실시예에 따른 멀티 프로그램 방법은 하나의 메모리 셀에 대하여 먼저 '0'으로 제1 프로그램하고, 제2 프로그램시에 '1'을 프로그램하고, 그리고 제3 프로그램시에 '0'을 프로그램한다. 즉, 본 발명의 실시예에 따른 멀티 프로그램 방법은 3회의 멀티 프로그램이 가능하다.
하나의 메모리 셀은 3회의 멀티 프로그램이 가능하므로, 덮어쓰기가 동일한 메모리 셀에만 반복되지 않고 전체 페이지(2KB크기)에 퍼져있다면, 총 덮어쓰기가 가능한 횟수는 더 많아질 것이다.
또한, 하나의 메모리 셀이 가질 수 있는 스테이트(state)가 많아지면, 가능한 덮어쓰기 횟수도 늘어날 것이다. 즉, 앞에서 상술한 방법에 따라, 본 발명의 실시예에 따른 플래시 메모리 장치의 메모리 셀이 4개보다 더 많은 N개의 스테이트(state)를 가지는 경우 N-1번 멀티 프로그램이 가능할 것이다.
본 발명의 실시예에 따른 플래시 메모리 장치는 덮어 쓰기(Overwrite) 동작이 가능한 것이외에 두 가지의 특징을 더 포함한다.
첫째로, 본 발명의 실시예에 따른 플래시 메모리 장치는 기입 시간이 싱글 레벨 셀(SLC)과 동일한 200 us으로 단축될 수 있다. 일반적으로, 2bit를 저장하는 멀티 레벨 셀(MLC)의 경우 여러 스테이트을 건너뛰는 프로그램이 될 수 있으므로 워스트 케이스(Worst case)에는 800 us까지 시간이 걸린다. 이에 반하여, 본 발명의 실시예에 따른 벌티 프로그램 방법은 언제나 한 단계의 프로그램이거나 프로그램을 안 함으로 짧은 프로그램 시간을 보장할 수 있다.
둘째로, 본 발명의 실시예에 따른 멀티 프로그램 동작은 독출 동작을 선행하여 현재 프로그램 할 메모리 셀의 상태를 확인한다. 본 발명의 실시예에 따른 멀티 프로그램 동작은 독출 동작을 선행하여 프로그램 레벨에 관한 정보와 프로그램을 하고자 하는 데이터를 비교한다. 비교 결과에 따라 도 9에 도시된 바와 같이, 본 발명의 실시예에 따른 플래시 메모리 장치에 업데이트한다.
본 발명의 실시예에 따른 플래시 메모리 장치가 4 개의 상태를 가지는 것을 가정하면, 본 발명의 실시예에 따른 플래시 메모리 장치는 각각의 메모리 셀마다 3개의 레지스터(register)를 필요로 한다. 즉, 메모리 셀의 4개의 상태를 판독하기 위하여 2개의 레지스터가 필요하고, 새로 업데이트할 데이터를 저장할 1개의 레지스터가 필요하다.
또한, 본 발명의 실시예에 따른 플래시 메모리 장치가 8 개의 상태를 가지는 것을 가정하면, 본 발명의 실시예에 따른 플래시 메모리 장치는 각각의 메모리 셀마다 4개의 레지스터(register)를 필요로 한다. 즉, 메모리 셀의 8개의 상태를 판독하기 위하여 3개의 레지스터가 필요하고, 새로 업데이트할 데이터를 저장할 1개의 레지스터가 필요하다. 캐쉬 프로그램(cache program)을 지원하는 2 비트 멀티 레벨 셀은 하나의 메모리 셀마다 3 개의 레지스터를 가지고 있으므로, 저장된 비트들을 조합하는 로직 회로(logic circuit)만이 추가될 것이다.
도 10은 도 9에 도시된 멀티 프로그램 방법을 도시한 순서도이다.
도 10을 참조하면, 본 발명의 실시예에 따른 멀티 프로그램 방법은 멀티 프로그램 셀의 현재 상태를 검출하기 위하여 디폴트 참조 전압을 설정하고(S51), 설정된 참조 전압에 따라 독출 동작을 실행하고(S52), 독출 동작이 성공했는지 판단하고(S53), 만약 독출 동작이 실패한 경우 참조 전압을 변환하고(S54), 그렇지 않으면, 프로그램이 가능한지를 판단하고(S55), 프로그램이 가능하지 않으면 종료하고, 프로그램이 가능하면, 프로그램하고(S56), 프로그램 동작이 완료되었는지 판단하고(S57), 그리고 완료되었다면 프로그램 동작을 종료합니다.
본 발명의 실시예에 따른 참조 전압은 현재 메모리 셀의 상태를 빠르게 검출하기 위하여 복수의 참조 전압들 중 중간 레벨을 디폴트 참조 전압으로 설정된다.
즉, 중간 레벨의 디폴트 참조 전압에 따라 독출 동작이 실행되면, 현재 메모리 셀의 상태는 '1' 또는 '0'이 독출될 것이다. '1'이 독출되는 경우 참조 전압은 더 낮은 참조 전압으로 설정되고, '0'이 독출되는 경우 참조 전압은 더 높은 참조 전압으로 설정된다. 따라서, 현재 메모리 셀의 구체적인 상태가 검출될 것이다. 따라서, 참조 전압을 낮은 전압부터 높은 전압까지 순차적으로 적용하는 경우에 비하여 본 발명의 실시예에 따른 메모리 셀의 상태를 검출하는 시간은 줄어들 것이다.
도 11은 도 9에 도시된 멀티 프로그램 방법에 따른 메모리 셀을 독출하는 방법을 도시한 순서도이다.
도 11을 참조하면, 본 발명의 실시예에 따른 독출 방법은 멀티 프로그램 셀의 현재 상태를 검출하기 위하여 디폴트 참조 전압을 설정하고(S61), 설정된 참조 전압에 따라 독출 동작을 실행하고(S62), 독출 동작이 성공했는지 판단하고(S63), 만약 독출 동작이 실패한 경우 참조 전압을 변환하고(S64), 그렇지 않으면, 랜덤화된 데이터를 디랜덤화(Derandomize)하고(S85), 그리고 종료합니다.
Ⅲ. 다수의 셀을 하나의 비트로 표현하는 멀티 프로그램 방법
본 발명의 실시예에 따른 플래시 메모리 장치는 다수의 메모리 셀을 외부에서 한 비트로 표현하여 멀티 프로그램을 구현한다.
도 12은 본 발명의 제3 실시예에 따른 메모리 장치의 블록도이다.
도 12을 참조하면, 본 발명의 실시예에 따른 메모리 장치(100)은 메모리 셀 어레이(110), 컬럼 디코더(120), 로우 디코더(130), 선택 회로(140), 페이지 버퍼 회로(150) 및 컨트롤 회로(160)을 포함한다. 예시적인 실시한 예들에 있어서, 메모리 장치(110)는 플래시 메모리 장치일 것이다.
계속해서 도 12을 참조하면, 메모리 장치(100)는 N(N은 1 또는 그보다 큰 정수) 개의 스테이트를 저장하기 위한 메모리 셀 어레이(110)를 포함한다. 메모리 셀 어레이(110)는 복수의 영역들로 구분될 수 있다. 그러한 영역들은 일반 데이터를 저장하는 데이터 영역과 스페어 영역을 포함할 것이다. 메모리 셀 어레이(110)의 영역들 각각은 복수의 메모리 블록들로 구성될 것이다. 메모리 블록의 구성은 이 분야의 통상적인 지식을 습득한 자들에게 잘 알려져 있으며, 그것에 대한 설명은 그러므로 생략될 것이다.
본 발명의 실시예에 따른 메모리 장치(100)는 도시되지는 않았으나, 전압 발생 회로, 제어 회로, 그리고 입출력 인터페이스 회로를 더 포함할 것이다. 페이지 버퍼 회로(150)는 제어 회로의 제어에 따라 메모리 셀 어레이(110)로부터/에 데이터를 선택 회로(140)를 통하여 읽도록/프로그램하도록 구성될 것이다. 컬럼 디코더 회로(120) 및 로우 디코더 회로(130)은 제어 회로(160)에 의해서 제어되며, 메모리 셀 어레이(110)의 메모리 블록을 선택하도록 그리고 선택된 메모리 블록의 워드 라인을 선택하도록 구성될 것이다. 선택된 워드 라인은 전압 발생 회로로부터의 워드 라인 전압으로 구동될 것이다.
도 12에 도시된 바와 같이, 메모리 셀 어레이(110) 내 제n 블록은 복수의 셀 스트링을 포함한다. 복수의 셀 스트링은 세 개씩 짝을 이루고 있다. 세 개의 셀 스트링은 하나의 선택 회로를 공유하며, 동일한 페이지 버퍼 회로(150)에 연결된다.
즉, 도 12에 도시된 바와 같이, 하나의 선택 회로(141)에 연결되고, 세 개의 셀 스트링에서 공통의 워드라인에 연결되는 메모리 셀들은 한 비트의 정보를 저장한다고 가정한다.
독출 동작에 있어서, 상기 메모리 셀들에 저장된 해당되는 페이지의 비트에 대한 정보는 독출되고, 페이지에 기록될 것이다. 또한, 기입 동작에 있어서, 업데이트될 새로운 정보는 한 페이지의 한 비트로 상기 메모리 셀들에 기입될 것이다.
본 발명의 실시예에 따른 멀티 프로그램 방법에 있어서, 독출 동작은 한 페이지를 독출하기 위하여 세 개의 셀 스트링에 나뉘어져 있는 메모리 셀을 모두 독출하여야 할 것이다. 또한, 한 페이지에 기입하기 위하여 세 개의 셀 스트링에 나뉘어져 있는 메모리 셀을 먼저 독출하고, 현재의 기록된 정보(즉, 프로그램 레벨)을 확인한 후에 새로운 정보를 업데이트하여야 할 것이다. 프로그램 레벨이란 임의의 메모리 셀에 대하여 본 발명의 실시예에 따른 프로그램된 횟수이다.
도 13은 도 12에 도시된 메모리 셀 어레이를 본 발명의 실시예에 따른 프로그램 동작에 따라 도시한 그래프이다.
도 12 및 도 13을 참조하면, 도 12에 도시된 메모리 셀 어레이는 SLC인 것을 가정한다. 본 발명의 실시예에 따른 플래시 메모리 장치는 도 12에 도시된 바와 같이, 3개의 플래시 메모리 셀을 묶어서 하나의 비트로 표현한다.
3개의 플래시 메모리 셀을 묶은 하나의 비트는 3개의 메모리 셀이 모두 소거된 상태인 경우 '1'을 나타낸다. 3개의 메모리 셀들 중 첫번째 메모리 셀(1st Cell)이 프로그램되어 상태가 '0'인 경우 대표 비트(Represented Bit)를 '0'로 표현된다. 또한, 첫 번째와 두 번째의 메모리 셀(1st Cell, 2nd Cell)이 프로그램이 되는 경우 대표 비트는 '1'로 표현되고, 모든 메모리 셀(1st Cell, 2nd Cell, 3rd Cell)이 프로그램되는 경우 대표 비트는 '0'으로 표현된다.
도 12 및 도 13에 도시된 메모리 셀은 3개의 2가지 상태를 가지는 메모리 셀을 이용하여 총 4개의 상태를 만든 것이다. 만약 메모리 셀이 모두 독립적이라면 8개 (즉, 2*2*2)의 상태를 가져야 한다. 그러나, 도 12 내지 도 13에서 도시된 메모리 셀은 소거되지 않고는 다시 돌아갈 수 없는 상태가 있다. 예를 들어, 첫 번째 메모리 셀(1st Cell)을 프로그램을 한 이 후에는 지우기 전까지는 첫 번째 메모리 셀(1st Cell)은 프로그램이 안 되어있고 두 번째 및 세 번째 메모리 셀(2nd Cell, 3rd Cell)이 프로그램되는 상태에 도달할 수 없다. 즉, 만일 n 개의 k상태를 가지는 플래시 메모리 셀들을 이용한다면, 총 프로그램 가능한 상태는 첫 메모리 셀의 k개에, n-1개의 메모리 셀들은 k-1개의 state을 더해주는, k + (n *1) (k *1) 만큼의 상태들이 있고, k + (n - 1) (k - 1) - 1 만큼의 erase 없이 다중으로 덮어쓰기가 가능할 것이다.
도 14은 본 발명의 제4 실시예에 따른 메모리 장치의 블록도이다.
도 14은 도 12에 도시된 메모리 장치의 실시예와 메모리 셀 어레이(210)을 제외하고 모두 동일하다. 따라서, 중복되는 설명은 생략한다.
도 14에 도시된 바와 같이, 메모리 셀 어레이(210) 내 제n 블록은 복수의 셀 스트링을 포함한다. 복수의 셀 스트링은 두 개씩 짝을 이루고 있다. 두 개의 셀 스트링은 하나의 센스 앰프를 공유하며, 동일한 페이지 버퍼 회로(250)에 연결된다. 즉, 도 14에 도시된 바와 같이, 하나의 선택회로(241)에 연결되고, 두 개의 셀 스트링에서 공통의 워드라인에 연결되는 메모리 셀들은 한 비트의 정보를 저장한다고 가정한다.
도 15은 도 14에 도시된 메모리 셀 어레이가 4-상태를 가지는 MLC인 경우 본 발명의 실시예에 따른 프로그램 동작을 도시한 그래프이다. 즉, 도 15에는 4-상태를 가지는 메모리 셀을 2개 이용하여 7가지의 상태 또는 6번의 프로그램이 가능한 방법이 설명된다.
4-상태 메모리 셀은 2번의 독출 동작을 통하여 4가지 상태 중 어느 하나를 판별할 수 있을 것이다. 2개의 4-상태 메모리 셀들이 하나로 묶어 표현될 때는 3번의 읽기 동작이 필요할 것이다. 즉, 다수의 플래시 메모리 셀을 이용하여 한 비트를 표현할 때, 메모리 셀당 필요한 최소 읽기 작업의 합보다 적은 읽기가 필요할 것이다. 즉, 이미 정해진 비트 패턴(bit pattern)을 통해서 프로그램하고 읽는다는 전제 조건이 필요하다. 따라서, 첫 번째 읽기에서 전류가 흘렀는가 안 흘렀는가에 따라서 다음 읽기 전압 값을 정하며, 이미 쓰여진 상태에 따라 다음 프로그램 레벨이 정해질 것이다.
최근의 플래시 메모리 장치는 하나의 워드(word) 당 짝수(even) 과 홀수(odd) 페이지(page)로 나뉘어져 있다. 짝수 및 홀수 페이지의 각각의 메모리 셀들은 동일한 페이지 버퍼(page buffer)를 공유한다. 따라서, 짝수와 홀수에 있는 2개의 4-상태 플래시 메모리 셀을 하나의 비트로 묶어 사용하는 것은 종래의 플래시 메모리 장치에 있어 간단한 확장이 될 것이다. 이 경우, 각각의 짝수 및 홀수 페이지의 페이지의 내용을 독출하여 도 15에 도시된 바와 같이, 판별할 것이다. 독출 동작을 통하여 판별한 결과를 바탕으로, 각각의 메모리 셀들은 새롭게 멀티 프로그램될 것이다.
IV. 입력 데이터의 랜덤화
본 발명은 입력 데이터를 랜덤화하여 임의의 메모리 셀이 프로그램되는 횟수를 균등하게 분포하도록 조절한다. 따라서, 본 발명은 입력된 데이터를 랜덤화하는 랜덤부를 추가적으로 포함할 것이다.
도 16은 본 발명의 바람직한 실시예에 따른 메모리 시스템(300)을 도시한 블록도이다.
도 16을 참조하면, 본 발명의 실시예에 따른 메모리 시스템(300)은 메모리 장치(310-350)와 메모리 컨트롤러(또는 플래시 컨트롤러)(360)를 포함할 것이다. 예시적인 실시한 예들에 있어서, 메모리 장치(110)는 플래시 메모리 장치일 것이다.
계속해서 도 16을 참조하면, 본 발명에 따른 메모리 장치(310-350)는 메모리 셀 어레이(310), 페이지 버퍼 회로(미도시), 컬럼 디코더 회로(311), 로두 디코더 회로(312), 전압 발생 회로(미도시), 제어 회로(350), 그리고 입출력 인터페이스 회로(340)를 포함할 것이다. 이러한 장치들은 도 12에서 설명된 바와 동일하다. 따라서, 중복되는 설명은 생략한다.
또한, 본 발명의 실시예에 따른 메모리 시스템(300)은 랜덤부(Randomization unit;330)를 더 포함할 것이다. 랜덤부(330)는 인터페이스부(340)과 캐시 레지스터(321) 사이에 연결된다. 랜덤부(330)는 인터페이스부(340)으로부터 입력된 데이터를 랜덤화하여 캐시 레지스터(321)에 저장할 것이다.
계속해서 도 16을 참조하면, 본 발명에 따른 메모리 컨트롤러(360)는 외부(예를 들면, 호스트)로부터의 요청에 응답하여 메모리 장치를 제어하도록 구성될 것이다. 비록 도면에는 도시되지 않았지만, 메모리 컨트롤러(360)는 중앙처리장치 또는 마이크로프로세서와 같은 프로세싱 유니트, ECC, 버퍼 메모리 등을 포함하며, 이는 이 분야에 잘 알려져 있다.
본 발명에 따른 실시예는 페이지 전체의 덮어쓰기 횟수가 제약되는 것을 방지하기 위하여 도 16에 도시된 바와 같이, 입력되는 데이터에 특정한 순열(permutation)을 적용한다. 즉, 본 발명의 실시예에 따른 랜덤화는 특정한 순열을 통하여 프로그램하고자 하는 데이터를 골고루 스프레딩(spreading)한다.
따라서, 본 발명의 실시예에 따른 랜덤화는 전체 페이지에 대한 각 메모리 셀의 덮어쓰기 횟수의 제약을 효과적으로 방지할 것이다. 또한, 본 발명에 따른 메모리 장치는 메모리 셀의 프로그램되는 횟수를 균일하게 조절하므로, 수명이 향상될 것이다.
Write count | After Erase | 1st Write | 2nd Write | 3rd Write |
2 | 1 | 1 | 0 | 1 |
0 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 |
3 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 | 0 |
0 | 1 | 1 | 1 | 1 |
표 2는 한 바이트(byte)의 특정한 비트에 덮어쓰기가 계속 요청되는 경우를 나타낸다. 한 바이트 내 4번째 비트에 계속 '0'과 '1'의 반복되는 쓰기 요청이 있는 경우 상기 바이트 전체는 3번 밖에 사용될 수 없을 것이다. 반면에 다른 비트들은 대부분 프로그램 된 적이 없는 상태이므로, 이러한 경우 본 발명의 실시예에 따른 멀티 프로그램의 효율은 떨어질 것이다.
Write count | After Erase | 1st Write | 2nd Write | 3rd Write | 4th Write | 5th Write |
2 | 1 | 1 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 0 |
2 | 1 | 1 | 1 | 1 | 0 | 1 |
2 | 1 | 0 | 1 | 1 | 1 | 1 |
2 | 1 | 1 | 1 | 0 | 1 | 1 |
2 | 1 | 1 | 0 | 1 | 1 | 1 |
3 | 1 | 1 | 0 | 1 | 1 | 0 |
2 | 1 | 1 | 1 | 1 | 0 | 1 |
표 3은 덮어쓰기가 요청된 경우 랜덤화를 통해 기입된 메모리 셀들을 레벨링한 결과를 도시한다. 본 발명의 실시예에 따른 랜덤화는 한 바이트 전체에 대한 덮어쓰기 횟수가 균등해 진다. 따라서, 본 발명의 실시예에 따른 멀티 프로그램의 효율은 향상될 것이다.
표 2 및 표 3을 참조하면, 본 발명의 실시예에 따른 랜덤화는 랜덤화 시드(randomization seed)에 대한 추가적인 정보를 필요로 한다. 랜덤화 시드는 메모리 장치에 저장된 데이터를 독출할 때 올바르게 해독하기 위하여 사용될 것이다.
또한, 1 바이트를 순열(permutation)을 통해서 랜덤화할 때, 총 가능한 경우수는 8!(즉, 40,320)개이다. 이 경우, 랜덤화 시드는 16비트 또는 2 바이트가 필요할 것이다. 한 페이지, 2KByte 또는 4KByte를 위해서 16bit의 추가 정보는 많은 데이터 양이 아닐 것이다. 전체 페이지를 8조각으로 순열(permutation)에 따라 랜덤화하고, 각 조각(128 바이트나 256 바이트)들에 대하여 다시 같은 순열(permutation)로 랜덤화한다. 따라서, 본 발명의 실시예는 적은 데이터 양의 랜덤화 시드를 이용하여 입력되는 데이터를 랜덤화할 수 있다.
도 17은 본 발명의 실시예에 따른 멀티 스테이지 랜덤화를 도시한다.
도 17을 참조하면, 한 페이지를 8조각으로 임의의 순열에 따라 랜덤화하고, 다시 조각중 어느 하나의 데이터를 동일한 순열에 따라 랜덤화한다. 추가된 순열 정보는 페이지마다 할당된 스페어(spare) 영역에 기록되고, 스페어 영역 역시 덮어쓰기 형식으로 업데이트될 것이다. 덮어쓰기가 불가능한 경우 추가된 순열 정보는 남은 스페어 영역에 기록될 것이다.
도 18은 도 16 및 도 17에 도시된 입력 데이터의 랜덤화된 경우 본 발명의 실시예에 따른 멀티 프로그램 방법을 도시한 순서도이다.
도 18을 참조하면, 본 발명의 실시예에 따른 멀티 프로그램 방법은 멀티 프로그램 셀의 현재 상태를 검출하기 위하여 디폴트 참조 전압을 설정하고(S71), 설정된 참조 전압에 따라 독출 동작을 실행하고(S72), 독출 동작이 성공했는지 판단하고(S73), 만약 독출 동작이 실패한 경우 참조 전압을 변환하고(S74), 그렇지 않으면, 입력된 데이터를 랜덤화하기 위한 시드(Seed)를 결정하고(S75), 결정된 시드에 따라 입력된 데이터를 랜덤화한다(S76).
본 발명의 실시예에 따른 참조 전압은 현재 메모리 셀의 상태를 빠르게 검출하기 위하여 복수의 참조 전압들 중 중간 레벨을 디폴트 참조 전압으로 설정된다.
즉, 중간 레벨의 디폴트 참조 전압에 따라 독출 동작이 실행되면, 현재 메모리 셀의 상태는 '1' 또는 '0'이 독출될 것이다. '1'이 독출되는 경우 참조 전압은 더 낮은 참조 전압으로 설정되고, '1'이 독출되는 경우 참조 전압은 더 높은 참조 전압으로 설정된다. 따라서, 현재 메모리 셀의 구체적인 상태가 검출될 것이다. 따라서, 참조 전압을 낮은 전압부터 높은 전압까지 순차적으로 적용하는 경우에 비하여 본 발명의 실시예에 따른 메모리 셀의 상태를 검출하는 시간은 줄어들 것이다.
계속해서, 본 발명의 실시예에 따른 멀티 프로그램 방법은 랜덤화된 입력 데이터가 프로그램이 가능한지를 판단하고(S77), 프로그램이 가능하지 않으면 종료하고, 프로그램이 가능하면, 상기 시드에 따라 랜덤화된 입력 데이터를 프로그램하고(S78), 프로그램 동작이 완료되었는지 판단하고(S79), 완료되었다면 본 발명의 실시예에 따른 프로그램 동작을 종료합니다.
도 19은 도 16 및 도 17에 도시된 입력 데이터의 랜덤화된 경우 본 발명의 실시예에 따른 독출 방법을 도시한 순서도이다.
도 19을 참조하면, 본 발명의 실시예에 따른 독출 방법은 멀티 프로그램 셀의 현재 상태를 검출하기 위하여 디폴트 참조 전압을 설정하고(S81), 설정된 참조 전압에 따라 독출 동작을 실행하고(S82), 독출 동작이 성공했는지 판단하고(S83), 만약 독출 동작이 실패한 경우 참조 전압을 변환하고(S84), 그렇지 않으면, 랜덤화된 데이터를 디랜덤화(Derandomize)하고(S85), 종료합니다.
도 20는 본 발명의 또 다른 실시예에 따른 플래시 메모리 장치를 도시한다.
도 20를 참조하면, A1,A2,A3,B1,B2,B3,C1 및 C2는 메모리 셀 어레이를 예시한다. A1,A2 및 A3 각각은 전체 영역을 싱글 레벨 셀, 멀티 레벨 셀 및 멀티 프로그램 셀(MPC : Multi-programmable Cell)로 사용된다. B1,B2 및 B3 각각은 2가지를 조합하여 사용된다. 또한, C1 및 C2는 전체영역을 나누어 3가지 방식의 메모리 셀이 모두 사용된다.
본 발명의 실시예에 따른 메모리 장치는 자주 업데이트되지 않으나 빠른 기입 성능이 필요한 경우 SLC 영역을 사용할 것이다. 본 발명의 실시예에 따른 메모리 장치는 상대적으로 빠르지 않은 기입성능이 필요하며 대용량의 데이터를 기입해야 할 경우 1개의 cell에 LSB/MSB 정보를 담을 수 있는 MLC 영역을 사용할 것이다. 또한, 본 발명의 실시예에 따른 메모리 장치는 빈번한 업데이트가 요청되는 부분을 MPC 영역으로 사용하여 메모리 장치의 성능을 효율적으로 운용할 것이다.
본 발명의 실시예에 따른 메모리 셀 어레이에 있어서, 메모리 셀 어레이의 영역은 다음과 같은 방식으로 분리할 수 있다. 첫째로, 블록 바운더리(Block boundary)로 영역을 분리하여 운용하는 방법이 있고, 둘째로, 페이지 바운더리(Page boundary)로 영역을 분리하여 운용하는 방법이 있다.
페이지 바운더리로 영역을 분리하여 운용할 경우 블록 바운더리로 영역을 분리하여 운용하는 방법에 비해 유지해야 할 정보의 양이 다소 증가할 수 있으나, 세분화된 관리가 가능하다. 따라서, 메모리 영역이 효율적으로 사용될 수 있다.
본 발명의 실시예에 따른 메모리 장치는 프로그램 동작 및 독출 동작시 프로그램 횟수에 따라 동작에 필요한 전압 레벨을 조절해야 한다. 또한, 본 발명의 실시예에 따른 메모리 장치는 영역을 필요에 따라 분리하여 운용할 수 있어야 한다.
본 발명의 실시예에 따른 메모리 장치의 멀티 프로그램 방법은 크게 두가지가 있다. 하나는 종래의 명령어 셋(command set)을 활용하는 방식과 그리고, 새로운 명령어 셋(command set)을 활용하는 방식이 있다.
종래의 명령어 셋(command set)을 활용하는 방식은 종래의 프로그램 명령어 셋을 그대로 이용한다. 종래의 명령어 셋(command set)을 활용하는 방식은 플래시 메모리 장치 내부에서는 프로그램 카운터(program counter)를 통해 몇 번째 전압 레벨(voltage level)로 프로그램해야 할지 판단한다. 또한, 종래의 명령어 셋(command set)을 활용하는 방식은 종래의 독출 명령어 셋을 그대로 이용한다. 종래의 명령어 셋(command set)을 활용하는 방식은 플래시 메모리 장치 내부에서는 프로그램 카운터(program counter)를 통해 몇 번째 전압 레벨(voltage level)로 독출해야 할지 판단한다. 종래의 명령어 셋(command set)을 활용하는 방식은 종래의 프로그램 명령어 셋에서 어드레스 싸이클(address cycle) 중 사용되지 않은 비트를 이용하여 프로그램 동작시 전압 레벨을 지정할 수 있도록 한다. 종래의 명령어 셋(command set)을 활용하는 방식은 종래의 독출 명령어 셋에서 어드레스 싸이클(address cycle) 중 사용되지 않은 비트를 이용하여 독출 동작시 전압 레벨을 지정할 수 있도록 한다. 종래의 명령어 셋(command set)을 활용하는 방식은 프로그램 동작 완료 후 상태 독출 명령어(status read command)를 이용하여 사용되지 않은 비트를 통해 해당 페이지가 몇 번 프로그램되었는지를 확인할 수 있도록 한다. 종래의 명령어 셋(command set)을 활용하는 방식은 독출 동작 완료 후 상태 독출 명령어(status read command)를 이용하여 사용되지 않은 비트를 통해 해당 페이지를 몇 번째 전압 레벨에서 독출했는지 확인할 수 있도록 한다. 종래의 명령어 셋(command set)을 활용하는 방식은 상태 독출 명령어(status read command)를 이용하여 사용되지 않은 비트를 통해 지정된 페이지가 SLC, MLC 혹은 MPC로 설정되어 있는지를 확인할 수 있도록 한다. 종래의 명령어 셋(command set)을 활용하는 방식은 tR busy 구간에 상태 독출 명령어(status read command)를 이용하여 사용되지 않은 비트를 통해 현재 독출 동작이 어떤 전압 레벨에서 독출했는지 확인할 수 있도록 한다. 종래의 명령어 셋(command set)을 활용하는 방식은 tPROG busy 구간에 상태 독출 명령어(status read command)를 이용하여 사용되지 않은 비트를 통해 현재 기입 동작이 어떤 전압 레벨에서 진행되고 있는지를 확인할 수 있도록 한다.
새로운 명령어 셋(command set)을 활용하는 방식은 지정된 블록을 SLC, MLC 혹은 MPC로 설정하기 위한 명령어 셋을 추가한다. 새로운 명령어 셋(command set)을 활용하는 방식은 지정된 페이지를 SLC, MLC 혹은 MPC로 설정하기 위한 명령어 셋을 추가한다. 새로운 명령어 셋(command set)을 활용하는 방식은 지정된 블록이 SLC, MLC, MPC중 어떤 영역으로 사용되고 있는지를 확인할 수 있는 명령어 셋을 추가한다. 새로운 명령어 셋(command set)을 활용하는 방식은 지정된 page가 SLC, MLC, MPC중 어떤 영역으로 사용되고 있는지를 확인할 수 있는 명령어 셋을 추가한다. 새로운 명령어 셋(command set)을 활용하는 방식은 페이지별로 프로그램 카운터(program counter)를 유지할 경우 이를 확인하기 위한 명령어 셋을 추가한다. 새로운 명령어 셋(command set)을 활용하는 방식은 프로그램 동작시 추가적인 싸이클(additional cycle)을 통해 프로그램 전압 레벨(programming voltage level)을 지정할 수 있도록 한다. 새로운 명령어 셋(command set)을 활용하는 방식은 프로그램 동작시 전압 레벨(voltage level)마다 각기 다른 명령어 셋을 마련하여 운용한다. 새로운 명령어 셋(command set)을 활용하는 방식은 독출 동작시 추가적인 싸이클(additional cycle)을 통해 독출 전압 레벨(read voltage level)을 지정할 수 있도록 한다. 새로운 명령어 셋(command set)을 활용하는 방식은 독출 동작시 전압 레벨( voltage level)마다 각기 다른 명령어 셋을 마련하여 운용한다.
일반적으로, 플래시 메모리 장치는 하나의 페이지에 기입할 수 있는 횟수는 싱글 레벨 셀(SLC)에서 부분 기입(partial write operation)하는 경우 4회이고, 멀티 레벨 셀(MLC)의 경우 1회이다. 또한, 싱글 레벨 셀(SLC)에서 부분 기입(partial write operation)하는 경우 동일 메모리 셀의 프로그램 횟수는 1회이다.
플래시 메모리 장치에서 소거 동작(Erase operation)을 하지 않고, 동일한 페이지에 여러 번의 기입 동작(Write operation)이 가능하게 되면,
본 발명의 실시예에 따른 플래시 메모리 장치는 소거 동작을 하지 않고, 기입 동작을 수행하는 만큼의 소거 동작 횟수가 감소될 수 있다. 따라서, 본 발명의 실시예에 따른 플래시 메모리 장치는 신뢰성(Reliablity)을 향상시킬 수 있다.
본 발명의 실시예에 따른 플래시 메모리 장치는 동일 메모리 셀에 대한 중복 기입(Overwrite)이 허용되므로, 자주 업데이트되는 데이터에 대하여 적용하면, 플래시 메모리 장치의 공간 효율성을 향상시킬 수 있다.
또한, 본 발명의 실시예에 따른 플래시 메모리 장치는 데이터의 이동을 감소시켜 플래시 메모리 장치를 포함하는 시스템의 성능을 향상시킬 수 있다.
플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 불 휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 보다 널리 사용된다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다. 본 발명에 따른 메모리 시스템을 포함한 컴퓨팅 시스템이 도 21에 개략적으로 도시되어 있다. 즉, 도 21에서 멀티 프로그램가능한 메모리 장치를 적용한 다양한 스토리지 시스템의 구성이 예시된다.
도 21은 본 발명의 실시예에 따른 멀티 프로그램 플래시 메모리 시스템을 도시한 블록도이다. 도 21을 참조하면, 본 발명에 따른 컴퓨팅 시스템(400)은 버스에 전기적으로 연결된 중앙처리장치(460), 호스트(470)와 연결된 호스트 인터페이스(450), 중앙처리 장치에 비휘발성 캐쉬(420) 및 메인 스토리지 영역(410)의 데이터를 전송하는 버퍼 회로(440) 및 비휘발성 캐쉬(420) 및 메인 스토리지 영역(410)을 인터페이스하는 플래시 인터페이스(430)을 포함한다. 비휘발성 캐쉬(420) 및 메인 스토리지 영역(410) 중 멀티 프로그램 셀(414)은 본 발명의 실시예에 따른 메모리 장치이다.
본 발명의 실시예에 따른 메모리 장치는 소거 동작을 하지 않고 업데이트가 가능하므로 상대적으로 빈번히 업데이트되는 영역에 적용하면 기존 SLC 혹은 MLC 만으로 이루어진 스토리지 시스템(storage system)에 비하여 보다 좋은 성능을 기대할 수 있다.
또한, 본 발명의 실시예에 따른 메모리 장치는 업데이트가 가능한 특성으로 인하여 일반적인 스토리지 이외에 기입 캐쉬(write cache)로 활용하면 스토리지 시스템의 성능을 보다 향상시킬 수 있다.
본 발명의 실시예에 따른 메모리 장치는 종래의 낸드 플래시 메모리 장치를 이용한 비휘발성 캐쉬보다 유연한 캐쉬 구조를 적용시킬 수 있다. 따라서, 본 발명의 실시예에 따른 메모리 장치는 스토리지 시스템의 성능 향상에 더 많은 기여를 할 수 있을 것이다.
비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램(Mobile DRAM) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
도 1은 본 발명의 실시예에 따른 멀티 프로그램이 가능한 플래시 메모리.
도 2는 본 발명의 실시예에 따른 멀티 프로그램 조건.
도 3은 본 발명의 제1 실시예에 따른 플래시 메모리 장치의 멀티 프로그램방법을 도시한 그래프.
도 4는 도 3에 도시된 메모리 셀의 멀티 프로그램 방법.
도 5은 도 4에 도시된 본 발명의 제1 실시예에 따른 멀티 프로그램 방법을 도시한 순서도.
도 6은 도 5에 도시된 멀티 프로그램 방법에 따른 메모리 셀을 독출하는 방법을 도시한 순서도.
도 7은 도 4에 도시된 본 발명의 제2 실시예에 따른 멀티 프로그램 방법을 도시한 순서도.
도 8은 도 7에 도시된 멀티 프로그램 방법에 따른 메모리 셀을 독출하는 방법을 도시한 순서도.
도 9는 본 발명의 제2 실시예에 따른 프로그램 방법을 도시한 그래프.
도 10은 도 9에 도시된 멀티 프로그램 방법을 도시한 순서도.
도 11은 도 9에 도시된 멀티 프로그램 방법에 따른 메모리 셀을 독출하는 방법을 도시한 순서도.
도 12은 본 발명의 제3 실시예에 따른 메모리 장치의 블록도.
도 13은 도 12에 도시된 메모리 셀 어레이를 본 발명의 실시예에 따른 프로 그램 동작에 따라 도시한 그래프.
도 14은 본 발명의 제4 실시예에 따른 메모리 장치의 블록도.
도 15은 도 14에 도시된 메모리 셀 어레이가 4-상태를 가지는 MLC인 경우 본 발명의 실시예에 따른 프로그램 동작을 도시한 그래프.
도 16은 본 발명의 바람직한 실시예에 따른 메모리 시스템(300)을 도시한 블록도.
도 17은 본 발명의 실시예에 따른 멀티 스테이지 랜덤화.
도 18은 도 16 및 도 17에 도시된 입력 데이터의 랜덤화된 경우 본 발명의 실시예에 따른 멀티 프로그램 방법을 도시한 순서도.
도 19은 도 16 및 도 17에 도시된 입력 데이터의 랜덤화된 경우 본 발명의 실시예에 따른 독출 방법을 도시한 순서도.
도 20는 본 발명의 또 다른 실시예에 따른 플래시 메모리 장치.
도 21은 본 발명의 실시예에 따른 멀티 프로그램 플래시 메모리 시스템.
Claims (10)
- 복수의 멀티 레벨 메모리 셀들을 포함하는 메모리 셀 어레이; 및상기 멀티 레벨 메모리 셀들의 프로그램 카운트에 따라 상기 멀티 레벨 메모리 셀들에 저장된 1-비트의 구 정보를 1-비트의 새 정보로 덮어쓰기하고, 상기 프로그램 카운트를 업데이트하는 컨트롤 로직을 포함하되,상기 덮어쓰기는 상기 멀티 레벨 메모리 셀에 대한 소거 동작 없이 수행되고, 상기 한 비트의 새 정보는 상기 업데이트된 프로그램 카운트를 기초로 결정된 1회의 읽기 동작에 의하여 독출되는 비휘발성 메모리 장치.
- 제 1 항에 있어서,상기 덮어쓰기에서 이용되는 검증 전압의 레벨은 상기 프로그램 카운트에 따라 결정되는 비휘발성 메모리 장치.
- 제 2 항에 있어서,상기 컨트롤 로직은 상기 업데이트된 프로그램 카운트에 따라 상기 1-비트의 새 정보를 독출하기 위한 읽기 전압의 레벨을 결정하는 비휘발성 메모리 장치.
- 제 2 항에 있어서,상기 컨트롤 로직은, 상기 멀티 레벨 메모리 셀들에 덮어쓰기될 상기 1-비트의 새 정보가 상기 1-비트의 구 정보와 다르면, 상기 멀티 레벨 메모리 셀들을 상기 1-비트의 새 정보로 상기 검증 전압을 이용하여 프로그램하는 비휘발성 메모리 장치.
- 제 4 항에 있어서,상기 컨트롤 로직은, 상기 멀티 레벨 메모리 셀에 덮어쓰기될 상기 1-비트의 새 정보가 상기 1-비트의 구 정보와 동일하면 상기 멀티 레벨 메모리 셀들을 현 상태로 유지시키는 비휘발성 메모리 장치.
- 제 5 항에 있어서,상기 컨트롤 로직은 더 이상 프로그램이 불가능한 경우 에러 신호를 발생하는 비휘발성 메모리 장치.
- 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;상기 복수의 메모리 셀들에 데이터를 기입하거나 센싱하는 페이지 버퍼; 그리고상기 복수의 메모리 셀들 중에서 적어도 2개의 메모리 셀 단위로 1-비트의 데이터를 덮어쓰기 하도록 상기 페이지 버퍼를 제어하는 컨트롤 로직을 포함하되,상기 컨트롤 로직은 상기 적어도 2개의 메모리 셀들에 대한 소거 동작 없이 상기 적어도 2개의 메모리 셀들 각각의 프로그램 상태에 따라 1-비트를 덮어쓰기 하는 비휘발성 메모리 장치.
- 제 7 항에 있어서,상기 적어도 2개의 메모리 셀들은 하나의 페이지 버퍼 회로에 연결되는 비휘발성 메모리 장치.
- 제 8 항에 있어서,상기 적어도 2개의 메모리 셀들은 동일한 워드라인에 연결되는 비휘발성 메모리 장치.
- 제 7 항에 있어서,상기 1-비트의 덮어쓰기는 상기 적어도 2개의 메모리 셀들 중 어느 하나의 문턱전압 상승하는 프로그램 동작에 의해서 수행되는 비휘발성 메모리 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080105759A KR101544607B1 (ko) | 2008-10-28 | 2008-10-28 | 메모리 장치 및 그 프로그램 방법 |
US12/580,579 US8493782B2 (en) | 2008-10-28 | 2009-10-16 | Memory device and program method thereof |
CN200910208176.5A CN101727983B (zh) | 2008-10-28 | 2009-10-28 | 存储设备及其编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080105759A KR101544607B1 (ko) | 2008-10-28 | 2008-10-28 | 메모리 장치 및 그 프로그램 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100046757A KR20100046757A (ko) | 2010-05-07 |
KR101544607B1 true KR101544607B1 (ko) | 2015-08-17 |
Family
ID=42117353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080105759A KR101544607B1 (ko) | 2008-10-28 | 2008-10-28 | 메모리 장치 및 그 프로그램 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8493782B2 (ko) |
KR (1) | KR101544607B1 (ko) |
CN (1) | CN101727983B (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5204186B2 (ja) * | 2010-09-24 | 2013-06-05 | 株式会社東芝 | メモリシステム |
DE102013100596B4 (de) * | 2012-01-27 | 2023-09-07 | Samsung Electronics Co. Ltd. | Nichtflüchtiges Speichersystem mit Programmier- und Löschverfahren und Blockverwaltungsverfahren |
US8917559B2 (en) * | 2012-04-04 | 2014-12-23 | Sandisk Technologies Inc. | Multiple write operations without intervening erase |
CN102682087B (zh) * | 2012-04-23 | 2014-03-12 | 华为技术有限公司 | 一种缓存结果集的管理方法、装置及系统 |
KR20130134186A (ko) | 2012-05-30 | 2013-12-10 | 삼성전자주식회사 | 메모리 장치의 리라이트 방법 |
KR102180595B1 (ko) | 2014-02-06 | 2020-11-19 | 삼성전자주식회사 | 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 시스템 |
KR20160072706A (ko) * | 2014-12-15 | 2016-06-23 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
JP5940705B1 (ja) * | 2015-03-27 | 2016-06-29 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
US9734912B2 (en) | 2015-11-25 | 2017-08-15 | Macronix International Co., Ltd. | Reprogramming single bit memory cells without intervening erasure |
KR102474937B1 (ko) * | 2016-03-21 | 2022-12-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102409791B1 (ko) * | 2017-12-27 | 2022-06-16 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
CN110211622A (zh) * | 2019-06-14 | 2019-09-06 | 山东大学 | 提高多值nand闪存存储器数据存储总量的数据擦写方法 |
KR20220113199A (ko) | 2021-02-05 | 2022-08-12 | 에스케이하이닉스 주식회사 | 가변 저항 소자를 포함하는 비휘발성 메모리 장치의 프로그램 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070002613A1 (en) | 2005-06-30 | 2007-01-04 | Intel Corporation | Memory array with pseudo single bit memory cell and method |
US20080158990A1 (en) | 2006-12-28 | 2008-07-03 | Jun Wan | Retention margin program verification |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5815434A (en) | 1995-09-29 | 1998-09-29 | Intel Corporation | Multiple writes per a single erase for a nonvolatile memory |
CN1114214C (zh) | 1995-09-29 | 2003-07-09 | 英特尔公司 | 对非易失存储器的每单次擦除的多重写入 |
JP3785667B2 (ja) | 1996-02-21 | 2006-06-14 | ソニー株式会社 | 半導体不揮発性記憶装置 |
DE60102203D1 (de) * | 2000-12-15 | 2004-04-08 | St Microelectronics Srl | Programmierverfahren für eine Mehrpegelspeicherzelle |
US7315655B2 (en) * | 2004-06-30 | 2008-01-01 | Comet Technologies Llc | Method of data compression including compression of video data |
JP4233563B2 (ja) * | 2005-12-28 | 2009-03-04 | パナソニック株式会社 | 多値データを記憶する不揮発性半導体記憶装置 |
JP4810350B2 (ja) * | 2006-08-14 | 2011-11-09 | 株式会社東芝 | 半導体記憶装置 |
KR100771882B1 (ko) * | 2006-09-06 | 2007-11-01 | 삼성전자주식회사 | 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법 |
US7426139B2 (en) * | 2006-11-02 | 2008-09-16 | Macronix International Co., Ltd. | Dynamic program and read adjustment for multi-level cell memory array |
US7548462B2 (en) * | 2007-06-29 | 2009-06-16 | Macronix International Co., Ltd. | Double programming methods of a multi-level-cell nonvolatile memory |
-
2008
- 2008-10-28 KR KR1020080105759A patent/KR101544607B1/ko active IP Right Grant
-
2009
- 2009-10-16 US US12/580,579 patent/US8493782B2/en active Active
- 2009-10-28 CN CN200910208176.5A patent/CN101727983B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070002613A1 (en) | 2005-06-30 | 2007-01-04 | Intel Corporation | Memory array with pseudo single bit memory cell and method |
US7272041B2 (en) | 2005-06-30 | 2007-09-18 | Intel Corporation | Memory array with pseudo single bit memory cell and method |
US20080158990A1 (en) | 2006-12-28 | 2008-07-03 | Jun Wan | Retention margin program verification |
Also Published As
Publication number | Publication date |
---|---|
CN101727983B (zh) | 2016-06-01 |
US20100103735A1 (en) | 2010-04-29 |
CN101727983A (zh) | 2010-06-09 |
US8493782B2 (en) | 2013-07-23 |
KR20100046757A (ko) | 2010-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101544607B1 (ko) | 메모리 장치 및 그 프로그램 방법 | |
KR100805840B1 (ko) | 캐시를 이용한 플래시 메모리 장치 및 그것의 프로그램방법 | |
KR101572830B1 (ko) | 비휘발성 메모리 장치의 프로그램 방법, 비휘발성 메모리 장치 및 비휘발성 메모리 시스템 | |
US8082382B2 (en) | Memory device with user configurable density/performance | |
JP5660615B2 (ja) | マルチビットメモリ装置を含んだデータ格納システム及びそれの動作方法 | |
US7660160B2 (en) | Flash memory device and method of operating the same | |
EP2126923B1 (en) | Non-volatile memory with dynamic multi-mode operation | |
US7697359B2 (en) | Flash memory device and refresh method thereof | |
US8902653B2 (en) | Memory devices and configuration methods for a memory device | |
US8897066B2 (en) | Method of programming nonvolatile memory device | |
US7701775B2 (en) | Flash memory device utilizing multi-page program method | |
JP5311081B2 (ja) | 固体記憶装置におけるデータ収集および圧縮 | |
US7782667B2 (en) | Method of operating a flash memory device | |
US7986552B2 (en) | Nonvolatile memory device and method of operation to program/read data by encoding/decoding using actual data and random data for program/read operation | |
KR100764750B1 (ko) | 유연한 어드레스 맵핑 스킴을 갖는 플래시 메모리 장치 | |
CN110795270A (zh) | 固态储存装置及其读取重试方法 | |
JP2020086739A (ja) | メモリコントローラ及びこれを備えるフラッシュメモリシステム | |
US8040730B2 (en) | Nonvolatile memory device | |
US11881265B2 (en) | Memory system and read method | |
KR20100022229A (ko) | 불휘발성 메모리 소자 및 그 동작 방법 | |
KR20110065757A (ko) | 불휘발성 메모리 장치 및 이것의 카피백 방법 | |
JP2020160871A (ja) | 半導体記憶装置 | |
KR100719381B1 (ko) | 어드레스 설정 플래그를 갖는 멀티 레벨 셀 낸드형 플래시메모리 | |
JPH1173785A (ja) | 多重レベルメモリ装置及びデータ書込方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180731 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190731 Year of fee payment: 5 |