KR20120131487A - 플래시 메모리 장치 및 그것의 프로그램 방법 - Google Patents
플래시 메모리 장치 및 그것의 프로그램 방법 Download PDFInfo
- Publication number
- KR20120131487A KR20120131487A KR1020110049688A KR20110049688A KR20120131487A KR 20120131487 A KR20120131487 A KR 20120131487A KR 1020110049688 A KR1020110049688 A KR 1020110049688A KR 20110049688 A KR20110049688 A KR 20110049688A KR 20120131487 A KR20120131487 A KR 20120131487A
- Authority
- KR
- South Korea
- Prior art keywords
- latch
- memory cell
- data
- memory device
- state
- 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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 플래시 메모리 장치의 프로그램 방법에 관한 것이다. 본 발명의 실시 예에 따른 플래시 메모리 장치의 프로그램 방법은 메모리 셀의 타깃 상태와 래치의 참조 상태를 비교하여 래치에 데이터를 저장하는 단계 및 래치에 저장된 데이터를 참조하여 메모리 셀을 프로그램하거나 검증하는 단계를 포함한다. 본 발명에 의하면 메모리 셀을 프로그램할 때 수행되는 단계의 수가 줄어들고, 메모리 셀의 프로그램에 필요한 동작 시간 및 소모 전력이 감소한다.
Description
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 실리콘, 게르마늄, 비화 갈륨, 인화인듐 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리 장치는 일반적으로 DRAM, DRAM 등과 같은 휘발성 메모리 장치와 EEPROM, FRAM, PRAM, MRAM, 플래시 메모리 등과 같은 불휘발성 메모리 장치로 구분될 수 있다.
휘발성 메모리 장치는 전원이 차단될 때 저장된 데이터가 소실되지만, 불휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다. 특히, 플래시 메모리는 높은 프로그래밍 속도, 낮은 전력 소비, 대용량 데이터 저장 등의 장점을 갖는다. 따라서 플래시 메모리를 포함하는 플래시 메모리 시스템이 데이터 저장 매체로 광범위하게 사용되고 있다. 플래시 메모리의 성능을 향상시키기 위해 추가적인 로직 회로들이 개발되어 오고 있다.
본 발명은 동작 시간을 줄이고 성능을 향상시킨 플래시 메모리 장치 및 그것의 프로그램 방법을 제공하기 위한 것이다.
본 발명은 플래시 메모리 장치의 프로그램 방법에 관한 것이다. 본 발명의 실시 예에 따른 플래시 메모리 장치는 타깃 상태들 중 어느 하나가 참조 상태로서 정의된 래치를 포함한다. 상기 플래시 메모리 장치의 프로그램 방법은 메모리 셀의 타깃 상태와 상기 참조 상태의 일치 여부에 따라 상기 래치에 데이터를 저장하는 단계; 및 상기 데이터를 참조하여 상기 메모리 셀을 프로그램하거나 검증하는 단계를 포함한다.
본 발명은 플래시 메모리 장치에 관한 것이다. 본 발명의 실시 예에 따른 플래시 메모리 장치는 메모리 셀; 타깃 상태들 중 어느 하나가 참조 상태로서 정의된 래치; 및 상기 메모리 셀의 타깃 상태와 상기 참조 상태의 일치 여부에 따라 상기 래치에 데이터를 저장하는 제어 로직을 포함한다.
본 발명에 의한 플래시 메모리 장치 및 그것의 프로그램 방법에 의하면, 메모리 셀을 프로그램할 때 수행되는 단계의 수가 감소하므로 동작 시간이 줄어들고 전체 성능이 향상된다.
도 1은 일반적인 비휘발성 반도체 메모리 장치를 개략적으로 보여주는 블록도이다.
도 2는 본 발명에 따른 플래시 메모리 장치를 보여주는 블록도이다.
도 3a, 도 3b 및 도 3c는 본 발명에 따른 멀티-비트 프로그램 동작을 개략적으로 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 프로그램 동작의 데이터 로드 과정을 설명하는 흐름도이다.
도 5는 본 발명의 실시 예에 따른 검증 동작을 설명하는 흐름도이다.
도 6은 검증 동작시 워드 라인에 인가되는 제 1 및 제 2 검증 전압을 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 패스/페일 점검 동작을 설명하는 흐름도이다.
도 8은 검증 결과를 "01" 래치에 직접 저장하는 프로그램 방법을 설명하는 흐름도이다.
도 9는 본 발명의 실시 예에 따른 솔리드 스테이트 디스크(SSD) 시스템을 보여주는 블록도이다.
도 10은 본 발명에 따른 메모리 시스템(2000)을 간략히 보여주는 블록도이다.
도 11은 본 발명의 프로그램 방법을 사용자 장치에 적용한 예를 보여주는 블록도이다.
도 2는 본 발명에 따른 플래시 메모리 장치를 보여주는 블록도이다.
도 3a, 도 3b 및 도 3c는 본 발명에 따른 멀티-비트 프로그램 동작을 개략적으로 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 프로그램 동작의 데이터 로드 과정을 설명하는 흐름도이다.
도 5는 본 발명의 실시 예에 따른 검증 동작을 설명하는 흐름도이다.
도 6은 검증 동작시 워드 라인에 인가되는 제 1 및 제 2 검증 전압을 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 패스/페일 점검 동작을 설명하는 흐름도이다.
도 8은 검증 결과를 "01" 래치에 직접 저장하는 프로그램 방법을 설명하는 흐름도이다.
도 9는 본 발명의 실시 예에 따른 솔리드 스테이트 디스크(SSD) 시스템을 보여주는 블록도이다.
도 10은 본 발명에 따른 메모리 시스템(2000)을 간략히 보여주는 블록도이다.
도 11은 본 발명의 프로그램 방법을 사용자 장치에 적용한 예를 보여주는 블록도이다.
불휘발성 반도체 메모리 장치에 있어서, MROM, PROM 및 EPROM은 시스템 자체적으로 소거 및 쓰기가 자유롭지 않아서 일반 사용자들이 기억 내용을 새롭게 하기가 용이하지 않다. 이에 반해 EEPROM은 전기적으로 소거 및 쓰기가 가능하므로 계속적인 갱신이 필요한 시스템 프로그래밍(system programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시 EEPROM (이하, 플래시 메모리라 칭함)은 기존의 EEPROM에 비해 집적도가 높아 대용량 보조 기억 장치로의 응용에 매우 유리하다. 플래시 메모리들 중에서도 낸드형(NAND-type) 플래시 메모리는 NOR 플래시 메모리에 비해 집적도가 매우 높다.
낸드 플래시 메모리는 정보를 저장하기 위한 저장 영역으로서 메모리 셀 어레이를 포함하며, 메모리 셀 어레이는 복수 개의 셀 스트링들 (또는 낸드 스트링(NAND string)이라 불림)로 이루어져 있다. 메모리 셀 어레이에 데이터를 저장하거나, 그것으로부터 데이터를 읽기 위해서 플래시 메모리에는 페이지 버퍼 회로가 제공된다. 잘 알려진 바와 같이, 낸드형 플래시 메모리의 메모리 셀은 F-N 터널링 전류(Fowler-Nordheim tunneling current)를 이용하여 소거 및 프로그램된다.
도 1은 일반적인 비휘발성 메모리 장치를 개략적으로 보여주는 블록도이다. 도 1에 도시된 바와 같이, 플래시 메모리 장치(10)는 메모리 셀 어레이(11), 행 디코더 회로(12), 그리고 페이지 버퍼 회로(13)로 구성된다. 메모리 셀 어레이(11)는 행들(워드 라인들 및 선택 라인들(SSL, GSL)을 포함함)과 열들(또는, 비트 라인들)로 배열된 메모리 셀들을 포함하며, 메모리 셀들은 낸드 스트링 구조를 갖도록 구성된다. 메모리 셀 어레이(11)의 행들은 행 디코더 회로(12)에 의해서 구동되고, 열들은 페이지 버퍼 회로(13)에 의해서 구동된다.
메모리 셀들 각각은 1-비트 데이터 또는 멀티-비트 데이터를 저장한다. 예를 들면, 메모리 셀들 각각에는 2-비트 데이터가 저장될 수 있다. 각각의 메모리 셀에 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치는 다중 셀(Multi Level Cell) 플래시 메모리 장치라고 불린다. 각 메모리 셀에 2-비트 데이터를 저장하기 위한 페이지 버퍼 회로는 1-비트 데이터를 저장하기 위한 페이지 버퍼 회로와 다르게 설계되어야 한다. 잘 알려진 바와 같이, 1-비트 데이터는 적어도 하나의 래치를 갖는 페이지 버퍼 회로에 의해서 메모리 셀에 저장되는 반면에, 2-비트 데이터는 적어도 2개의 래치들을 갖는 페이지 버퍼 회로에 의해서 메모리 셀에 저장된다.
도 2는 본 발명에 따른 플래시 메모리 장치를 보여주는 블록도이다. 도 2를 참조하면, 본 발명에 따른 플래시 메모리 장치(1000)는 데이터를 저장하기 위한 메모리 셀 어레이(100)를 포함한다. 메모리 셀 어레이(100)는 행들(또는, 워드 라인들)과 열들(또는, 비트 라인들)의 매트릭스 형태로 배열된 복수 개의 메모리 셀들을 포함한다. 각 메모리 셀은 1-비트 데이터를 저장하거나 멀티-비트 데이터(예를 들면, 2-비트 데이터)를 저장할 수 있다. 행 디코더 회로(200)는 메모리 셀 어레이(100)의 행들을 선택하고, 선택된 행 및 비선택된 행들을 대응하는 워드 라인 전압들로 각각 구동한다. 예를 들면, 프로그램 동작시, 행 디코더 회로(200)는 선택된 행을 프로그램 전압으로 그리고 비선택된 행들을 패스 전압으로 각각 구동한다. 읽기 동작시, 행 디코더 회로(200)는 선택된 행을 읽기 전압으로 그리고 비선택된 행들을 패스 전압으로 각각 구동한다.
계속해서 도 2를 참조하면, 본 발명에 따른 플래시 메모리 장치(1000)는 비트 라인 바이어스 회로(300), 페이지 버퍼 블록(400), 제어 로직 블록(500), 그리고 열 디코더 블록(600)을 더 포함한다.
비트 라인 바이어스 회로(300)는 제어 로직 블록(500)에 의해서 제어된다. 비트 라인 바이어스 회로(300)는 당해 기술 분야에 널리 알려져 있으므로, 그것에 대한 설명은 생략된다.
페이지 버퍼 블록(400)은 동작 모드에 따라 감지 증폭기(sense amplifier)로서 또는 기입 드라이버(write driver)로서 동작한다. 예를 들면, 프로그램 동작 모드시, 페이지 버퍼 블록(400)은 열 디코더 블록(600)을 통해 입력되는 데이터를 저장하고, 저장된 데이터에 따라 비트 라인들을 프로그램 전압(예를 들면, 접지 전압) 또는 프로그램 금지 전압(예를 들면, 전원 전압)으로 구동한다. 읽기 동작 모드시, 페이지 버퍼 블록(400)은 비트 라인들을 통해 메모리 셀들로부터 데이터를 감지한다. 감지된 데이터는 열 디코더 블록(600)을 통해 데이터 라인 버스(또는 외부)로 출력된다. 페이지 버퍼 블록(400)은 제어 로직 블록(500)에 의해서 제어된다. 페이지 버퍼들이 서로 동일하게 구성되기 때문에, 이하에서는 하나의 페이지 버퍼와 관련된 설명만이 제공될 것이다.
본 발명의 실시 예에 따른 플래시 메모리 장치는 하나의 메모리 셀에 2-비트 데이터를 저장하기 위해서 프로그램 동작을 2번 수행한다. 이하, 첫 번째 프로그램 동작은 "LSB 프로그램 동작"이라 칭하고, 두 번째 프로그램 동작은 "MSB 프로그램 동작"이라 칭한다. 하나의 메모리 셀은 "11", "10", "00" 및 "01" 상태들 중 어느 하나를 갖도록 프로그램된다.
실시 예로서, "11" 상태를 갖는 메모리 셀은 소거된 메모리 셀이며, "10" 상태를 갖는 메모리 셀은 "11" 상태의 메모리 셀의 문턱 전압보다 높다.
실시 예로서, "00" 상태를 갖는 메모리 셀은 "10" 상태의 메모리 셀의 문턱 전압보다 높고, "01" 상태를 갖는 메모리 셀은 "00" 상태의 메모리 셀의 문턱 전압보다 높다.
이러한 조건 하에서, LSB 프로그램 동작이 수행되면, 도 3a에 도시된 바와 같이, 메모리 셀은 소거된 상태 또는 "10" 상태를 갖는다. LSB 프로그램 동작 다음에 이어지는 MSB 프로그램 동작이 수행되면, 도 3b에 도시된 바와 같이, "11" 상태를 갖는 메모리 셀은 소거된 상태 또는 "01" 상태를 갖는 반면에, "10" 상태의 메모리 셀은 "00" 상태를 갖는다. 도 3c에서는 LSB 및 MSB 프로그램 동작에 의해 메모리 셀의 상태가 천이되는 관계를 보여준다.
본 발명에서는 MSB 프로그램을 수행함에 있어서 동작 시간을 단축시키고, 성능을 향상시키는 플래시 메모리 장치가 제안된다. 본 발명을 설명함에 있어서, LSB 프로그램 동작은 이미 완료된 것으로 전제한다. LSB 프로그램 동작은 당해 기술 분야에서 널리 알려져 있으므로, 그에 대한 설명은 생략된다.
실시 예로서, 본 발명의 래치들은 '0' 데이터만 전달 가능한 단방향 래치일 수 있다. 이러한 경우, 전달하려는 데이터가 '1'이면, 데이터 전달 동작을 수행하여도 데이터를 수신하는 래치가 저장하는 데이터는 변화되지 않는다. 단, 센스 래치(S, 도 4 내지 도 8 참조)는 '1' 및 '0' 데이터를 모두 전달 가능한 래치일 수 있다.
설명에 앞서, MSB 프로그램 동작은 메모리 셀을 프로그램하기 위해서 프로그램 루프들의 반복에 의해서 수행된다. 각 프로그램 루프는 프로그램 구간과 검증 구간으로 구성된다. 이하에서는 그에 대한 구체적인 설명이 도 4 및 도 5을 참조하여 제공된다.
도 4는 본 발명의 실시 예에 따른 프로그램 동작의 데이터 로드 과정을 설명하는 흐름도이다. 도 4를 참조하면, 본 발명에 따른 페이지 버퍼는 4개의 래치들(S, 01, 00, C)을 포함한다. 실시 예로서, 각 래치들(S, 01, 00, C)은 1비트 데이터를 저장할 수 있다. 각 래치들(S, 01, 00, C)은 공통 노드를 통해 서로에게 데이터를 전달할 수 있다. 각 래치들(S, 01, 00, C)은 공통 노드를 통해 비트 라인(BL)과 연결될 수 있다.
센스 래치(S)는 초기 읽기(initial read) 결과를 저장한다.
캐시 래치(C)는 페이지 버퍼 디코더 블록(600)으로부터 프로그램 데이터를 입력받는다.
"01" 및 "00" 래치(01, 00)는 메모리 셀의 타깃 상태들 중 어느 하나를 자신의 참조 상태로 갖는다. 본 발명의 실시 예에서, "01" 및 "00" 래치(01, 00)의 참조 상태는 각각 "01" 및 "00" 상태가 된다.
"01" 및 "00" 래치(01, 00)는 자신의 참조 상태와 메모리 셀에 프로그램될 타깃 상태와의 일치 여부에 따라 "01" 및 "00" 래치(01, 00)에 저장되는 값을 결정한다. 이러한 과정들은 센스 래치(S) 및 캐시 래치(C)에 저장된 값을 참조하여 수행된다. 예시적으로, 타깃 상태와 "01" 래치(01)의 참조 상태가 일치하면 "01" 래치에는 '1'이 저장된다. 반대로, 타깃 상태와 "01" 래치(01)의 참조 상태가 일치하지 않으면 "01" 래치(01)에는 '0'이 저장된다. "00" 래치(00)의 경우에도 동일한 방식으로 타깃 상태에 따라 '0' 또는 '1'이 저장된다. 이에 대한 구체적인 내용은 이후에 상세히 설명될 것이다.
한편, 각 래치들(S, 01, 00, C)이 '0' 또는 '1' 데이터를 저장한다는 말은 각 래치들(S, 01, 00, C)에 포함된 래치들이 각각 로직 로우 레벨 또는 로직 하이 레벨이 된다는 것을 의미한다. 예를 들어 "01" 래치(01)가 '1'을 저장하면 "01" 래치의 래치는 로직 하이 레벨이 된다. "01" 래치(01)가 '0'을 저장하면 "01" 래치의 래치는 로직 로우 레벨이 된다.
도 4의 S100 단계를 참조하면, 프로그램될 MSB 데이터가 캐시 래치(C)에 저장된다. 먼저 캐시 래치(C)가 초기화된다. 도 4를 참조할 때, 이때, 캐시 래치(C)는 로직 하이 레벨로 설정된다.
캐시 래치(C)의 초기화 후에, 프로그램될 MSB 데이터가 캐시 래치(C)에 저장된다. MSB 데이터 '1'은 캐시 래치(C)를 로직 하이 레벨로 설정한다. MSB 데이터 '0'은 캐시 래치(C)를 로직 로우 레벨로 설정한다
S110 단계에서는 LSB 데이터를 센스 래치(S)에 저장하기 위한 읽기 동작이 수행된다. 이하, 이러한 읽기 동작을 "초기 읽기 동작(initial read operation)"이라 칭한다.
초기 읽기 동작에 따르면, 센스 래치(S)가 초기화된다. 이때, 센스 래치(S)는 로직 하이 레벨로 설정된다. 그 다음에 메모리 셀의 LSB 데이터가 센스 래치(S)에 저장된다. 이를 위해 읽기 전압(예를 들면, "11" 문턱 전압 분포와 "10" 문턱 전압 분포 사이의 전압)이 워드 라인에 인가된 상태에서 비트 라인의 전압 변화가 공통 노드에 반영된다. 공통 노드의 전압 변화에 따라, 센스 래치(S) 저장되는 데이터가 변화한다.
실시 예로서, LSB 데이터가 '1'이면, 센스 래치(S)는 초기화 상태로 유지된다. LSB 데이터가 '0'이면, 센스 래치(S)는 로직 로우 레벨로 설정된다. 전자의 경우 메모리 셀은 소거된 상태로서 "11"상태를 갖는다. 후자의 경우, 메모리 셀은 "10" 상태를 갖는다.
S120 단계에서는 "00" 래치(00)에 데이터가 저장된다. 먼저, "00" 래치(00)가 초기화된다. 이때, "00" 래치(00)는 로직 하이 레벨로 설정된다.
"00" 래치(00)의 초기화 후에, 센스 래치(S) 및 캐시 래치(C)에 저장된 데이터들에 따라 "00" 래치(00)에 저장되는 값이 결정된다. 이때, 센스 래치(S)와 캐시 래치(C)에 저장된 데이터들 중 어느 하나가 하이이면, "00" 래치(00)는 초기화 상태로 유지된다. 센스 래치(S)와 캐시 래치(C)에 저장된 데이터들이 모두 로우이면, "00" 래치(00)는 로직 로우 레벨로 설정된다. 즉, 타깃 상태가 "00" 일 때, "00" 래치(00)에 저장되는 데이터는 '0' 이 된다.
S130 및 S140 단계에서는 "01" 래치(01)에 데이터가 저장된다. 순서대로 살펴보면, S130 단계에서 "00" 래치(00)가 초기화된다. 이때, "01" 래치(00)는 로직 하이 레벨로 설정된다.
다음으로, 캐시 래치(C)에 저장된 데이터가 "01" 래치(01)로 전달된다. 이때, 캐시 래치(C)에 저장된 데이터가 로직 하이이면, "01" 래치(01)는 초기화 상태로 유지된다. 캐시 래치(C)에 저장된 데이터가 로직 로우이면, "01" 래치(01)는 로직 로우 레벨로 설정된다.
위와 같이 S130 단계에서는, 프로그램될 데이터의 MSB 데이터가 '0'이면 "01" 래치(01)에 '0' 데이터를 저장한다("01" 래치(01)가 로직 로우 레벨이 된다). MSB 데이터가 '0'인 타깃 상태는 "00"과 "01"이 있다. "01" 래치(01)는 타깃 상태가 "01"일 때만 '0'을 저장하도록 제어되어야 한다. 따라서, 타깃 상태가 "00"일 때는, "01" 래치(01)를 다시 로직 하이 레벨로 바꾸는 단계가 필요하다.
S140 단계에서는 타깃 상태가 "00"일 때, "01" 래치(01)를 다시 로직 하이 레벨로 바꾸는 동작이 수행된다. 이를 위해, "00" 래치(00)에 저장된 데이터가 이용된다.
앞서 설명한 바와 같이, 타깃 상태가 "00"이면, "00" 래치(00)에 저장된 데이터는 '0'이다("00" 래치(00)가 로직 로우 레벨이다). S140 단계에서 "00" 래치(00)에 저장된 데이터가 반전되어 "01" 래치(01)에 전달된다. 따라서, "00" 래치(00)가 로직 로우 레벨일 때, "01" 래치(01)는 로직 하이 레벨이 된다. 반면에, "00" 래치(00)에 저장된 데이터가 '1'이면, 타깃 상태는 "00"이 아니다. 즉, 이때 타깃 상태는 "01"이다. "00" 래치(00)는 단 방향 래치이므로, 데이터'1'은 "01" 래치(01)에 전달되지 못한다. 따라서, 이 경우 "01" 래치는 로직 로우 상태를 유지한다.
위와 같은 데이터 로드 동작에 따르면, "01" 래치(01)는 타깃 상태가 "01" 이면 '0'을 저장하고, 타깃 상태가 "01"이 아니면 '1'을 저장한다. "00" 래치(00)는 타깃 상태가 "00"이면 '0'을 저장하고, 타깃 상태가 "00"이 아니면 '1'을 저장한다.
일단, 데이터 로드 동작이 완료되면, 페이지 버퍼에 저장된 프로그램 데이터에 따라 메모리 셀이 프로그램될 것이다. 프로그램 동작이 수행될 때 비트 라인의 전압은 "01" 또는 "00" 래치(01, 00)에 저장된 데이터들에 따라 결정될 수 있다. 메모리 셀을 프로그램하는 방법은 이 분야에 잘 알려져 있으므로, 그것에 대한 설명은 생략된다.
도 5는 본 발명의 실시 예에 따른 검증 동작을 설명하는 흐름도이다. 예시적으로 MSB 프로그램 동작의 각 프로그램 루프는 "00" 및 "01" 검증 동작들을 포함할 수 있다. "00" 검증 동작은 메모리 셀이 "10" 상태에서 "00" 상태로 프로그램되었는 지의 여부를 판별하기 위한 것이다. "01" 검증 동작은 메모리 셀이 "11" 상태에서 "01" 상태로 프로그램되었는 지의 여부를 판별하기 위한 것이다. 여기서는 "01" 검증 동작에 대한 설명만이 예시적으로 제공된다. "01" 검증 동작은 다중 검증 동작들을 포함할 수 있다. 여기서는 예시적으로 2 단계 검증(2-step verify) 동작이 설명된다. 2 단계 검증 동작은 제 1 검증 동작 및 제 2 검증 동작을 포함한다.
S200 단계에서, 센스 래치(S)는 로직 로우 레벨로 초기화된다. 다음으로, "01" 래치(01)에 저장된 데이터가 반전되어 센스 래치(S)로 전달된다. 이때, 타깃 상태가 "01"이면, "01" 래치(01)에는 '0'이 저장되어 있을 것이다. 타깃 상태가 "01"이 아니면, "01" 래치(01)에는 '1'이 저장되어 있을 것이다.
"01" 래치(01)에 저장된 데이터가 "1" 이면, 센스 래치(S)를 로직 로우 레벨로 유지시킨다. "01" 래치(01)에 저장된 데이터가 '0'이면, 센스 래치(S)가 로직 하이 레벨이 되게 한다.
위와 같은 동작에 의해, 타깃 상태가 "01" 일 때 센스 래치(S)는 로직 하이 레벨이 된다. 본 발명에서는 전력 손실을 줄이기 위해, 래치(S)가 로직 하이인 경우에만 비트 라인에 전하가 충전되도록 한다. 한편, 모든 비트 라인에 전하를 충전하는 검증 방식에서는, S200 단계는 생략될 수 있다.
S210 단계에서는, 제 1 검증 동작이 수행된다(S210). 예시적으로, 제 1 검증 전압(Vvfy1, 도 6참조)이 워드 라인에 인가된 상태에서 비트 라인의 전압 변화가 공통 노드에 반영된다. 메모리 셀이 제 1 검증 전압(Vvfy1)보다 낮은 문턱 전압을 가지면(해당 메모리 셀이 프로그램되어 있지 않으면), 공통 노드의 전압은 접지 전압을 향해 낮아진다. 이에 반해서, 메모리 셀이 제 1 검증 전압(Vvfy1)보다 높은 문턱 전압을 가지면(해당 메모리 셀이 프로그램되어 있으면), 공통 노드의 전압은 전원 전압을 향해 높아진다. 검증 동작은 당해 기술 분야에 널리 알려져 있으므로, 그에 대한 구체적인 설명은 생략된다.
제 1 검증 동작에서 해당 메모리 셀에 대한 검증 결과는 센스 래치(S)에 저장된다. 만일 메모리 셀이 타겟 상태로 프로그램되었으면, 센스 래치(S)에는 '0'이 저장된다. 메모리 셀이 타겟 상태로 프로그램되지 않았으면, 센스 래치(S)에는 '1'이 저장된다.
제 1 검증 동작에 이어서, 데이터 조작(Data Cooking) 동작이 수행된다. 이것은 제 1 검증 동작에서는 프로그램된 것으로 판단되지 않았으나, 제 2 검증 동작에서는 프로그램된 것으로 판단되는 메모리 셀을 찾기 위한 것이다. 데이터 조작 동작은 S220 및 S230 단계로 이루어진다.
S220 단계에서, 센스 래치(S) 및 "01" 래치(01)에 저장된 데이터를 참조하여 센스 래치(S)에 데이터를 다시 저장한다. 센스 래치(S)에 저장된 데이터와 "01" 래치(01)에 저장된 데이터가 모두 '0'일 때, 센스 래치(S)에 저장되는 데이터는 '0'에서 '1'로 바뀐다. 반면에, 센스 래치(S)에 저장된 데이터와 "01" 래치(01)에 저장된 데이터중 어느 하나가 '1'이면, 센스 래치(S)는 종전 데이터를 유지한다.
앞서 살펴본 바와 같이, 제 1 검증 동작에서 메모리 셀이 프로그램되지 않은 것으로 판단되면, 센스 래치(S)에 저장된 데이터는 '1'이다. 제 1 검증 동작에서 메모리 셀이 프로그램된 것으로 판단되면, 센스 래치(S)에 저장된 데이터는 '0'이다. 한편, 타깃 상태가 "01" 인 경우를 가정하면, "01" 래치(01)에 저장된 데이터는 '0'일 것이다. 그러므로, S210 단계에서 센스 래치(S)에 저장된 데이터가 '0'이었을 때만, S220 단계에서는 센스 래치(S)에 저장된 데이터를 '0'에서 '1'로 반전시킨다.
S230 단계에서, 센스 래치(S)에 저장된 데이터가 "01" 래치(01)로 전달된다. 센스 래치(S)에 저장된 데이터가 '0'이면, "01" 래치(01)는 로직 로우 상태를 유지한다. 센스 래치(S)에 저장된 데이터가 '1'이면, "01" 래치(01)는 로직 하이 상태가 된다.
S220 및 S230 단계에 따르면, "01" 래치(01)에는 '0' 또는 '1'이 저장될 수 있다. 구체적으로, 제 1 검증 동작 결과 메모리 셀이 프로그램되었으면, "01" 래치(01)에는 '1'이 저장된다. 한편, 제 1 검증 동작 결과 메모리 셀이 프로그램되지 않았더라도, 최종적으로 "01" 래치(01)에는 '1'이 저장된다.
데이터 조작 동작에 이어서, 제 2 검증 동작이 수행된다(S260). 실시 예로서, 제 2 검증 동작에서는 전력 손실을 줄이기 위해, 센스 래치(S)가 로직 하이 레벨인 경우에만 선택적으로 비트 라인(BL)에 전하가 충전될 수 있다. 제 2 검증 동작에서는 제 2 검증 전압(Vvfy2, 도 6참조)이 워드 라인에 인가된 상태에서 비트 라인의 전압 변화가 공통 노드에 반영된다. 제 2 검증 전압은 제 1 검증 전압보다 낮거나 같을 수 있다. 제 2 검증 동작의 내용은 제 1 검증 동작의 그것과 동일하므로, 그에 대한 설명은 생략된다.
제 2 검증 동작에서 해당 메모리 셀에 대한 검증 결과는 센스 래치(S)에 저장된다. 제 2 검증 동작 결과 메모리 셀이 프로그램되었다면, 센스 래치(S)의 래치(S)는 로직 로우 레벨이 된다. 제 2 검증 동작 결과 메모리 셀이 프로그램되지 않았다면, 래치(S)는 로직 하이 레벨이 유지된다.
S250 단계에서는, 센스 래치(S)에 저장된 검증 결과가 반전되어 "01" 래치(01)로 전달된다. 센스 래치(S)의 래치(S)가 로직 하이 레벨이면, "01" 래치(01)의 래치(01)는 로직 로우 레벨이 된다. 센스 래치(S)의 래치(S)가 로직 로우 레벨이면, "01" 래치(01)의 래치(01)는 로직 하이 레벨을 유지한다. 즉, 제 2 검증 동작 결과 메모리 셀이 프로그램되었다면, "01" 래치(01)는 '1'을 저장한다. 반면에, 제 2 검증 동작 결과 메모리 셀이 프로그램되지 않았다면, "01" 래치(01)는 '0'을 저장한다.
이후, "01" 래치(01)에 저장된 데이터에 따라 프로그램 루프의 동작이 결정된다. 구체적으로, "01" 래치(01)에 저장된 데이터가 '1'이면, 메모리 셀은 다음 프로그램 루프에서 프로그램 금지(inhibit)된다. 실시 예로서, 제 1 검증 결과가 페일로 판정된 메모리 셀에 대해서는, 비록 "01" 래치(01)에 저장된 데이터가 '1'이라도 프로그램 루프가 반복될 수 있다. 이는 문턱 전압 분포의 폭을 줄이기 위함이다. 이 경우 메모리 셀은 종전 스텝 바이어스보다 낮은 스텝 바이어스에 의해 프로그램된다. 한편, "01" 래치(01)에 저장된 데이터가 '0'이면, 메모리 셀을 프로그램하기 위해서 종전 스텝 바이어스와 동일한 스텝 바이어스에 의해 프로그램 루프가 반복하여 수행된다.
이상의 도 5에서 설명된 본 발명의 실시 예에 따르면, 프로그램 동작시 수행되는 단계의 수를 감소시킬 수 있다. 구체적으로, 종전 기술에서는 프로그램 데이터를 MSB 데이터와 LSB 데이터로 나누어 저장하므로 센스 래치(S)와 데이터를 주고 받는 과정이 복잡하였다. 이는 플래시 메모리 장치의 동작 시간이 길어지게 한다. 또한, 공통 노드에 전하를 충전하여야 하는 과정들이 늘어나므로 그에 따른 전력 소모도 컸다. 본 발명에 따르면, 프로그램 동작시 수행되는 단계의 수가 감소되므로 종전 기술에 비해 동작 시간 및 전력소모가 감소한다. 그 결과 플래시 메모리 장치의 전체 성능도 향상된다.
도 7은 본 발명의 실시 예에 따른 패스/페일 점검 동작을 설명하는 흐름도이다.
S300 단계에서, "01" 래치(01)에 저장된 데이터가 반전되어 센스 래치(S)로 전달된다. 위에서 설명한 바와 같이, 검증 동작 결과 메모리 셀이 프로그램 되었으면, "01" 래치(01)에는 '1'이 저장되고 센스 래치(S)에는 '0'이 저장된다. 검증 동작 결과 메모리 셀이 프로그램 되지 않았으면, "01" 래치(01)에는 '0'이 저장되고 센스 래치(S)에는 '1'이 저장된다.
"01" 래치(01)에 '1'이 저장되면, "01" 래치(01)는 로직 하이 레벨이다. "01" 래치(01)는 단방향 래치이므로, "01" 래치(01)가 로직 하이 레벨이면, 센스 래치(S)는 종전과 같이 로직 로우 레벨을 유지한다.
반면에, "01" 래치(01)에 '0'이 저장되면, "01" 래치(01)는 로직 로우 레벨이다. "01" 래치(01)가 로직 로우 레벨이면, 센스 래치(S)는 로직 하이 레벨이 된다.
S310 단계에서는, 센스 래치(S)에 저장된 데이터가 패스/페일 점검 회로(미도시)로 전달된다. 프로그램된 메모리 셀들에 대응하는 센스 래치(S)들에 '1' 데이터가 남아있으면 패스/페일 점검 회로는 페일을 판정한다. 모든 센스 래치(S)가 '0' 데이터를 저장하면 패스/페일 점검 회로는 패스를 판정한다. MSB 프로그램 동작이 패스로 판정되면, 프로그램 루프는 종료된다.
도 7에서 설명된 본 발명의 실시 예에 따르면, 종전 기술에 비해 패스/페일 점검 동작시 수행되는 단계의 수가 감소된다. 따라서, 동작 시간 및 전력소모가 줄어들어 플래시 메모리 장치의 전체 성능이 향상될 수 있다.
도 8은 검증 결과를 "01" 래치에 직접 저장하는 프로그램 방법을 설명하는 흐름도이다.
S400, S410 및 S420 단계는 도 6에서 설명한 S200 내지 S220 단계와 동일하므로, 그에 대한 구체적인 설명은 생략된다.
S430 단계에서는 제 2 검증 동작이 수행된다. 앞에서와 마찬가지로 제 2 검증 동작에서는 전력 손실을 줄이기 위해, 센스 래치(S)가 로직 하이 레벨인 경우에만 선택적으로 비트 라인(BL)에 전하가 충전된다. 제 2 검증 동작에서는 제 2 검증 전압(Vvfy2, 도 6참조)이 워드 라인에 인가된 상태에서 비트 라인의 전압 변화가 공통 노드에 반영된다. 제 2 검증 전압은 제 1 검증 전압보다 낮거나 같을 수 있다.
제 2 검증 동작에서 해당 메모리 셀에 대한 검증 결과는 "01" 래치(01)에 직접 저장된다. "01" 래치(01)는 비트 라인의 전압 변화를 직접 감지하여, 데이터를 저장한다. 제 2 검증 동작 결과 메모리 셀이 프로그램 되었으면, "01"래치(01)는 로직 하이 레벨을 저장한다. 제 2 검증 동작 결과 메모리 셀이 프로그램되지 않았으면, "01" 래치(01)는 로직 로우 레벨을 유지된다.
이상의 도 8에서 설명된 본 발명의 실시 예에 따르면, 프로그램 동작시 수행되는 단계의 수를 추가적으로 감소시킬 수 있다. 구체적으로, 도 5의 검증 방법에서 S230 단계 및 S250 단계가 추가적으로 생략될 수 있다. 이는 동작 시간 및 전력 소모를 추가적으로 감소시킨다.
도 9는 본 발명의 실시 예에 따른 솔리드 스테이트 디스크(SSD) 시스템을 보여주는 블록도이다. 도 9를 참조하면, SSD 시스템(2000)은 호스트(2100)와 SSD(2200)를 포함한다. SSD(2200)는 SSD 컨트롤러(2210), 버퍼 메모리(2220), 그리고 불휘발성 메모리 장치(2230)를 포함한다.
SSD 컨트롤러(2210)는 호스트(2100)와 SSD(2200)와의 물리적 연결을 제공한다. 즉, SSD 컨트롤러(2210)는 호스트(2100)의 버스 포맷(Bus format)에 대응하여 SSD(2200)와의 인터페이싱을 제공한다. 특히, SSD 컨트롤러(2210)는 호스트(2100)로부터 제공되는 명령어를 디코딩한다. 디코딩된 결과에 따라, SSD 컨트롤러(2210)는 불휘발성 메모리 장치(2230)를 액세스한다. 호스트(2100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
버퍼 메모리(2220)에는 호스트(2100)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치(2230)로부터 읽혀진 데이터가 일시 저장된다. 호스트(2100)의 읽기 요청시에 불휘발성 메모리 장치(1230)에 존재하는 데이터가 캐시되어 있는 경우에는, 버퍼 메모리(2220)는 캐시된 데이터를 직접 호스트(2100)로 제공하는 캐시 기능을 지원한다. 일반적으로, 호스트(2100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(2200)의 메모리 채널의 전송 속도보다 월등히 빠르다. 즉, 호스트(2100)의 인터페이스 속도가 월등히 높은 경우, 대용량의 버퍼 메모리(2220)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다.
버퍼 메모리(2220)는 대용량의 보조 기억 장치로 사용되는 SSD(2200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다. 하지만, 버퍼 메모리(2220)가 여기의 개시에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
불휘발성 메모리 장치(2230)는 SSD(2200)의 저장 매체로서 제공된다. 예를 들면, 불휘발성 메모리 장치(2230)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 불휘발성 메모리 장치(2230)는 복수의 메모리 장치로 구성될 수 있다. 이 경우, 각각의 메모리 장치들은 채널 단위로 SSD 컨트롤러(2210)와 연결된다. 저장 매체로서 불휘발성 메모리 장치(2230)가 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템도 적용될 수 있다. 그리고 저장 매체로서 휘발성 메모리 장치(예를 들면, DRAM)이 포함될 수도 있다.
불휘발성 메모리 장치(2230)는 본 발명을 적용하였을 때 프로그램 동작시 동작 시간 및 소모 전력이 감소될 수 있다. 따라서, 전체 시스템의 성능이 향상될 수 있다.
도 10은 본 발명에 따른 메모리 시스템(3000)을 간략히 보여주는 블록도이다. 도 10을 참조하면, 본 발명에 따른 메모리 시스템(3000)은 불휘발성 메모리 장치(3200)와 메모리 컨트롤러(3100)를 포함한다.
메모리 컨트롤러(3100)는 불휘발성 메모리 장치(3200)를 제어하도록 구성될 것이다. 불휘발성 메모리 장치(3200)와 메모리 컨트롤러(3100)의 결합에 의해 메모리 카드로 제공될 수 있을 것이다. SRAM(3110)은 프로세싱 유닛(3120)의 동작 메모리로 사용된다. 호스트 인터페이스(3130)는 메모리 시스템(3000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비한다. 에러 정정 블록(3140)은 불휘발성 메모리 장치(3200)로부터 독출된 데이터에 포함되는 에러를 검출 및 정정한다. 메모리 인터페이스(3150)는 본 발명의 불휘발성 메모리 장치(3200)와 인터페이싱 한다. 프로세싱 유닛(3120)은 메모리 컨트롤러(3100)의 데이터 교환을 위한 제반 제어 동작을 수행한다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템(3000)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
불휘발성 메모리 장치(3200)는 복수의 플래시 메모리 칩들로 구성되는 멀티-칩 패키지로 제공될 수도 있다. 이상의 본 발명의 메모리 시스템(3000)은 동작 시간 및 소모 전력이 줄어든 고성능의 저장 매체로 제공될 수 있다.
이 경우, 메모리 컨트롤러(3100)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다. 또한, 메모리 시스템(3100)은 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS) 등을 구성할 수 있다.
도 11은 본 발명의 프로그램 방법을 사용자 장치에 적용한 예를 보여주는 블록도이다. 도 11을 참조하면, 플래시 메모리 장치(4120)를 포함한 컴퓨팅 시스템(4000)이 개략적으로 도시되어 있다. 본 발명에 따른 컴퓨팅 시스템(4000)은 시스템 버스(4600)에 전기적으로 연결된 마이크로프로세서(4200), 램(4300), 사용자 인터페이스(4400), 베이스밴드 칩셋(Baseband chipSet)과 같은 모뎀(4500) 및 메모리 시스템(4100)을 포함한다.
컨트롤러(4110)는 호스트(Host) 및 불휘발성 메모리 장치(4120)에 연결된다. 컨트롤러(4110)는 불휘발성 메모리 장치(4120)로부터 읽은 데이터를 호스트(Host)에 전달하고, 호스트(Host)로부터 전달되는 데이터를 불휘발성 메모리 장치(4120)에 저장한다.
컨트롤러(4110)는 램, 프로세싱 유닛, 호스트 인터페이스, 그리고 메모리 인터페이스와 같은 잘 알려진 구성 요소들을 포함할 것이다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 것이다. 프로세싱 유닛은 컨트롤러(4110)의 제반 동작을 제어할 것이다. 호스트 인터페이스는 호스트(Host) 및 컨트롤러(4110) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 것이다. 예시적으로, 컨트롤러(4110)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(호스트)와 통신하도록 구성될 것이다. 메모리 인터페이스는 불휘발성 메모리 장치(4120)와 인터페이싱할 것이다. 컨트롤러(4110)는 오류 정정 블록을 추가적으로 포함할 수 있다. 오류 정정 블록은 불휘발성 메모리 장치(4120)로부터 읽어진 데이터의 오류를 검출하고, 정정할 것이다.
본 발명에 따른 컴퓨팅 시스템(4000)이 모바일 장치인 경우, 컴퓨팅 시스템(4000)의 동작 전압을 공급하기 위한 배터리(미도시됨)가 추가적으로 제공될 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(4000)에는 응용 칩세트(Application chipSet), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
메모리 시스템(4100)은, 예를 들면, 데이터를 저장하는 데 불휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다. 또는, 메모리 시스템(4100)은, 퓨전 플래시 메모리(예를 들면, 원낸드 플래시 메모리)로 제공될 수 있다. 여기서, 불휘발성 메모리 장치(4120)는 메모리 셀을 프로그램할 때 메모리 셀의 타깃 상태를 저장하는 래치를 포함할 수 있다. 따라서, 본 발명의 불휘발성 메모리 장치(4120)를 통해서 고속의 퍼포먼스를 제공하면서도 저전력의 컴퓨팅 시스템(4000)을 구성할 수 있다.
본 발명에 따른 불휘발성 메모리 장치 또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), BGAs(Ball grid arrays), CSPs(Chip scale packages), PLCC(Plastic Leaded Chip Carrier), PDIP(Plastic Dual In-Line Package), Die in Waffle Pack, Die in Wafer Form, COB(Chip On Board), CERDIP(Ceramic Dual In-Line Package), MQFP(Plastic Metric Quad Flat Pack), TQFP(Thin Quad Flatpack), SOIC(Small Outline Integrated Circuit), SSOP(Shrink Small Outline Package), TSOP(Thin Small Outline), TQFP(Thin Quad Flatpack), SIP(System In Package), MCP(Multi Chip Package), WFP(Wafer-level Fabricated Package), WSP(Wafer-Level Processed Stack Package) 등과 같은 패키지들을 이용하여 실장될 수 있다.
Claims (10)
- 플래시 메모리 장치의 프로그램 방법에 있어서,
상기 플래시 메모리 장치는,
타깃 상태들 중 어느 하나가 참조 상태로서 정의된 래치를 포함하고,
상기 플래시 메모리 장치의 프로그램 방법은,
메모리 셀의 타깃 상태와 상기 참조 상태의 일치 여부에 따라 상기 래치에 데이터를 저장하는 단계; 및
상기 데이터를 참조하여 상기 메모리 셀을 프로그램하거나 검증하는 단계를 포함하는 프로그램 방법. - 제 1 항에 있어서,
상기 타깃 상태들은 "11", "10", "01" 및 "00"인 프로그램 방법. - 제 2 항에 있어서,
상기 데이터는 '0' 또는 '1'인 프로그램 방법. - 제 3 항에 있어서,
상기 메모리 셀의 타깃 상태와 상기 참조 상태가 일치하면 상기 데이터는 '0'이 되고, 상기 메모리 셀의 타깃 상태와 상기 참조 상태가 일치하지 않으면 상기 데이터는 '1'이 되는 프로그램 방법. - 제 4 항에 있어서,
상기 래치는 1-비트 데이터를 저장하는 래치를 포함하는 프로그램 방법. - 제 5 항에 있어서,
상기 검증하는 단계는 제 1 검증 단계 및 제 2 검증 단계를 포함하는 프로그래 방법. - 제 6 항에 있어서,
상기 제 2 검증 단계에서 상기 메모리 셀과 연결된 워드 라인에 인가되는 전압은 상기 제 1 검증 단계에서 상기 메모리 셀과 연결된 워드 라인에 인가되는 전압보다 낮거나 같은 프로그램 방법. - 제 7 항에 있어서,
상기 제 2 검증 단계가 수행된 결과,
상기 메모리 셀이 타깃 상태로 프로그램되어 있으면 상기 래치에 '1'이 저장되고, 상기 메모리 셀이 타깃 상태로 프로그램되어 있지 않으면 상기 래치에 '0'이 저장되는 프로그램 방법. - 제 8 항에 있어서,
상기 검증 결과를 수신하고, 상기 메모리 셀의 프로그램 결과가 패스 또는 페일인지 여부를 점검하는 단계를 더 포함하는 프로그램 방법. - 메모리 셀;
타깃 상태들 중 어느 하나가 참조 상태로서 정의된 래치; 및
상기 메모리 셀의 타깃 상태와 상기 참조 상태의 일치 여부에 따라 상기 래치에 데이터를 저장하는 제어 로직을 포함하는 플래시 메모리 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110049688A KR20120131487A (ko) | 2011-05-25 | 2011-05-25 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110049688A KR20120131487A (ko) | 2011-05-25 | 2011-05-25 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120131487A true KR20120131487A (ko) | 2012-12-05 |
Family
ID=47515302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110049688A KR20120131487A (ko) | 2011-05-25 | 2011-05-25 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20120131487A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160012300A (ko) * | 2014-07-23 | 2016-02-03 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
CN105632555A (zh) * | 2014-11-07 | 2016-06-01 | 中国科学院微电子研究所 | 一种闪存式存储器及其读取电路及其读取方法 |
CN113782081A (zh) * | 2020-06-10 | 2021-12-10 | 爱思开海力士有限公司 | 半导体存储器装置及其操作方法以及半导体存储器系统 |
-
2011
- 2011-05-25 KR KR1020110049688A patent/KR20120131487A/ko not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160012300A (ko) * | 2014-07-23 | 2016-02-03 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
CN105632555A (zh) * | 2014-11-07 | 2016-06-01 | 中国科学院微电子研究所 | 一种闪存式存储器及其读取电路及其读取方法 |
CN113782081A (zh) * | 2020-06-10 | 2021-12-10 | 爱思开海力士有限公司 | 半导体存储器装置及其操作方法以及半导体存储器系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073643B2 (en) | Method of initializing storage device including one or more interface chips and nonvolatile memory devices connected to the one or more interface chips | |
KR102179270B1 (ko) | 불휘발성 메모리 장치 및 그것의 동작 방법 | |
KR101975406B1 (ko) | 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들 | |
US9773557B2 (en) | Multi-plane data order | |
US9281068B2 (en) | Nonvolatile memory and related reprogramming method | |
US8164952B2 (en) | Nonvolatile memory device and related method of programming | |
KR101895605B1 (ko) | 플래시 메모리 장치 및 그것의 프로그램 방법 | |
KR101716716B1 (ko) | 플래그 셀들을 갖는 플래시 메모리 장치 및 그것의 프로그램 동작 방법 | |
US11989082B2 (en) | Non-volatile memory device, method of operating the device, and memory system including the device | |
KR101636248B1 (ko) | 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법 | |
US8498160B2 (en) | Nonvolatile memory device and related programming method using selective bit line precharging | |
US9524781B2 (en) | Nonvolatile memory device and operating method thereof | |
JP2012507070A (ja) | データをメモリ装置に再入力することなくページをプログラムするためのページバッファプログラムコマンド及び方法 | |
KR20180083975A (ko) | 트레이닝 동작을 수행하는 메모리 시스템 | |
KR102532563B1 (ko) | 메모리 장치 및 그것의 동작방법 | |
US20210366562A1 (en) | Memory system processing request based on inference and operating method of the same | |
KR101949987B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR102102171B1 (ko) | 멀티 레벨 셀 메모리 시스템 | |
US9147475B2 (en) | Data storage device comprising nonvolatile memory chips and control method thereof | |
KR20160063493A (ko) | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법 | |
KR20120076083A (ko) | 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 동작 방법 | |
US11990191B2 (en) | Apparatus and method for programming data in a non-volatile memory device | |
US20100195418A1 (en) | Semiconductor memory device and system | |
US20180157415A1 (en) | Apparatus and method for controlling memory device | |
KR20120131487A (ko) | 플래시 메모리 장치 및 그것의 프로그램 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |