KR20090097107A - 불휘발성 메모리 소자와 그 동작 방법 및 컨트롤러 장치 - Google Patents
불휘발성 메모리 소자와 그 동작 방법 및 컨트롤러 장치 Download PDFInfo
- Publication number
- KR20090097107A KR20090097107A KR1020090010586A KR20090010586A KR20090097107A KR 20090097107 A KR20090097107 A KR 20090097107A KR 1020090010586 A KR1020090010586 A KR 1020090010586A KR 20090010586 A KR20090010586 A KR 20090010586A KR 20090097107 A KR20090097107 A KR 20090097107A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- input
- random
- setting
- program
- Prior art date
Links
Images
Classifications
-
- 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
- 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/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
- 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
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 불휘발성 메모리 소자에 관한 것으로, 랜덤 데이터를 워드라인별로 설정하고, 상기 워드라인별로 설정된 설정 데이터와, 프로그램을 위해 입력되는 제 1 데이터를 논리 연산하여 메모리 셀에 프로그램될 제 2 데이터로 만드는 인코더와, 상기 메모리 셀로부터 독출 되는 상기 제 2 데이터와 상기 설정 데이터를 논리 연산하여 상기 제 1 데이터로 만드는 디코더를 포함하는 데이터 변환부를 포함하는 것을 특징으로 한다.
랜덤 데이터, XOR 백 패턴 디펜던시, 컨트롤러 장치
Description
본 발명은 불휘발성 메모리 소자에 관한 것으로, 프로그램 및 독출을 수행할 때 실제 데이터와 랜덤 데이터를 이용하여 디코딩된 데이터를 프로그램하도록 하는 불휘발성 메모리 소자와 그 동작 방법 및 컨트롤러 장치에 관한 것이다.
불휘발성 메모리인 플래시 메모리는 일반적으로 NAND 플래시 메모리와, NOR 플래시 메모리로 구분된다. NOR 플래시 메모리는 메모리 셀들이 각각 독립적으로 비트 라인과 워드 라인에 연결되는 구조를 가지므로 랜덤 액세스 시간 특성이 우수한 반면에, NAND 플래시 메모리는 복수개의 메모리 셀들이 직렬로 연결되어 셀 스트링 당 한 개의 컨택만을 필요로 하므로 집적도면에서 우수한 특성을 갖는다. 따라서 고집적 플래시 메모리에는 주로 NAND 구조가 사용되고 있다.
최근에는 이러한 플래시 메모리의 집적도를 더욱 향상시키기 위해 한 개의 메모리 셀의 복수개의 데이터를 저장할 수 있는 다중 비트 셀에 대한 연구가 활발히 진행되고 있다. 이러한 방식의 메모리 셀을 통상 멀티 레벨 셀(Multi Level Cell; MLC)라고 한다. 이와 대비되는 단일 비트의 메모리 셀을 싱글 레벨 셀(Single Level Cell; SLC)이라 한다.
상기한 MLC는 상술한 바와 같이 복수 비트의 데이터를 저장하기 위해 복수의 셀 전압 레벨을 가지게 되며, 각각의 셀 문턱전압에 따라 데이터가 다르게 저장됨을 의미한다.
도 1은 불휘발성 메모리 소자의 메모리 셀 어레이 구조를 나타낸 도면이다.
도 1을 참조하면, 불휘발성 메모리 소자의 메모리 셀들을 포함하는 메모리 셀 어레이(110)는 다수의 셀 스트링을 포함한다. 그리고 각각의 셀 스트링은 비트라인(BL)에 연결된다.
또한 각각의 셀 스트링은 드레인 선택 트랜지스터(Drain Select Transistor; DST)와 소오스 선택 트랜지스터(Source Select Transistor; SST) 사이에 다수의 메모리 셀(C)이 직렬로 연결된 형태로 구성된다.
또한 메모리 셀들의 게이트는 비트라인에 직교하여 다수의 워드라인(WL)에 연결된다. 상기 도 1의 메모리 셀 어레이(110)는 제 1 내지 제 32 워드라인(WL<0> 내지 WL<31>)을 포함한다.
그리고 프로그램을 위해 선택된(select; sel) 워드라인이 제 30 워드라인(WL<29>)이라 할 때, 나머지 워드라인들은 선택되지 않은(unselect; unsel) 워드라인이 된다.
또한 한 쌍의 비트라인마다 각각 페이지 버퍼(120)에 연결된다. 상기의 메모리 셀 어레이(110)의 제 30 워드라인(WL<29>)을 프로그램할 때, 제 30 워드라인(WL<29>)에는 프로그램 전압이 인가되고, 나머지 워드라인들에는 패스(Pass) 전 압이 인가된다.
이때, 상기 메모리 셀(C) 들이 MLC라면, 하나의 메모리 셀이 복수개의 비트를 저장하게 되므로, 메모리 셀 주변의 스트링의 셀이 프로그램되어 있는지 아닌지의 여부(Back Pattern Dependancy; 이하 BPD라 함)에 의해 독출시의 문턱전압이 변경될 수 있다.
이러한 BPD를 줄이기 위해서 실제로 프로그램되는 순서를 제 1 워드라인(WL<0>)에서 제 32 워드라인(WL<31>)의 방향으로 수행하는 방법이 사용되고 있다.
도 2는 BPD의 영향으로 인한 메모리 셀의 문턱전압 분포를 나타낸다.
도 2를 참조하면, 주변에 프로그램된 메모리 셀들의 영향으로 오버 프로그램(Over Program; OP)되거나, 언더 프로그램(Under Program; UP)되는 메모리 셀들이 발생하여 메모리 셀들의 문턱전압 분포의 폭이 넓어질 수 있다. 문턱전압 분포의 폭이 넓어지면 MLC와 같이 다수의 문턱전압 분포 상태가 만들어지는 경우 문턱전압간의 마진이 좁아지는 문제도 발생된다.
이러한 BPD의 문제를 줄이기 위해서 프로그램된 메모리 셀들이 연결되는 선택되지 않은 워드라인의 패스전압을 과도하게 높이면 원치 않는 메모리 셀이 프로그램되는 디스터번스(Disturbance) 현상이 발생될 수 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 메모리 셀들에 프로그램할 데이터를 랜덤화하여 저장할 수 있는 불휘발성 메모리 소자와 그 동작 방법 및 컨트롤러 장치를 제공하는데 있다.
본 발명의 특징에 따른 불휘발성 메모리 소자는,
랜덤 데이터를 워드라인별로 설정하고, 상기 워드라인별로 설정된 설정 데이터와, 프로그램을 위해 입력되는 제 1 데이터를 논리 연산하여 메모리 셀에 프로그램될 제 2 데이터로 만드는 인코더와, 상기 메모리 셀로부터 독출 되는 상기 제 2 데이터와 상기 설정 데이터를 논리 연산하여 상기 제 1 데이터로 만드는 디코더를 포함하는 데이터 변환부를 포함하는 것을 특징으로 한다.
상기 설정 데이터는 '1' 또는 '0'이 상기 워드라인별로 랜덤하게 설정되는 것을 특징으로 한다.
상기 데이터 변환부는, 상기 설정 데이터를 각각의 워드라인 어드레스에 따라 저장하는 저장부를 더 포함하는 것을 특징으로 한다.
상기 데이터 변환부는, 상기 설정 데이터를 위하여 '1' 또는 '0'을 랜덤하게 생성하는 랜덤 데이터 생성기를 더 포함하는 것을 특징으로 한다.
상기 인코더 및 디코더는, 각각 상기 제 1 데이터와 상기 설정 데이터 또는 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 한다.
본 발명의 다른 특징에 따른 불휘발성 메모리 소자는,
복수개의 메모리 셀들이 워드라인과 비트라인으로 연결된 메모리 셀 어레이;
상기 메모리 셀들에 데이터를 프로그램하거나, 상기 메모리 셀에 저장된 데이터를 독출하기 위한 페이지 버퍼 회로들을 포함하는 페이지 버퍼부; 프로그램을 위해 입력되는 입력 데이터를 설정된 데이터를 이용하여 프로그램 데이터로 인코딩하거나, 저장된 데이터를 독출 하여 해당 데이터의 입력시의 데이터 상태로 디코딩하는 데이터 변환부; 입력되는 어드레스 정보에 따라 상기 데이터 변환부와 상기 페이지 버퍼부를 연결하는 Y 디코더; 및 상기 어드레스 정보에 따라 상기 데이터 변환부가 인코딩 또는 디코딩을 위한 설정 데이터를 선택할 수 있도록 제어하는 제어부를 포함한다.
상기 데이터 변환부는, 상기 워드라인별로 설정된 설정 데이터와, 프로그램을 위해 입력되는 제 1 데이터를 논리 연산하여 메모리 셀에 프로그램될 제 2 데이터로 인코딩하는 인코더; 및 상기 메모리 셀로부터 독출 되는 상기 제 2 데이터와 상기 설정 데이터를 논리 연산하여 상기 제 1 데이터로 디코딩 하는 디코더를 포함한다.
상기 설정 데이터는 제 1 논리 레벨 데이터 또는 제 2 논리 레벨 데이터를 상기 워드라인별로 랜덤하게 설정하는 것을 특징으로 한다.
상기 데이터 변환부는, 상기 설정 데이터를 각각의 워드라인 어드레스에 따라 저장하는 저장부를 더 포함하는 것을 특징으로 한다.
상기 데이터 변환부는, 상기 설정 데이터를 위하여 제 1 논리 레벨 데이터 또는 제 2 논리 레벨 데이터를 랜덤하게 생성하는 랜덤 데이터 생성기를 더 포함하는 것을 특징으로 한다.
상기 인코더 및 디코더는, 각각 상기 제 1 데이터와 상기 설정 데이터 또는 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따른 불휘발성 메모리 소자는,
복수개의 메모리 셀들이 워드라인과 비트라인으로 연결된 메모리 셀 어레이; 상기 메모리 셀들에 데이터를 프로그램하거나, 상기 메모리 셀에 저장된 데이터를 독출하기 위한 페이지 버퍼 회로들을 포함하는 페이지 버퍼부; 및 프로그램을 위해 입력되는 입력 데이터를 설정된 데이터를 이용하여 프로그램 데이터로 인코딩하거나, 저장된 데이터를 독출 하여 해당 데이터의 입력시의 데이터 상태로 디코딩하여 출력하는 Y 디코더를 포함한다.
본 발명의 또 다른 특징에 따른 불휘발성 메모리 소자는,
복수개의 메모리 셀들이 워드라인과 비트라인으로 연결된 메모리 셀 어레이;
상기 메모리 셀들에 데이터를 프로그램하거나, 상기 메모리 셀에 저장된 데이터를 독출하기 위한 페이지 버퍼 회로들을 포함하는 페이지 버퍼부; 입력되는 어드레스 정보에 따라 상기 페이지 버퍼부의 데이터 입출력 경로를 제공하는 Y 디코더; 및 상기 Y 디코더와 연결되어, 프로그램을 위해 입력되는 입력 데이터를 설정된 데이터를 이용하여 프로그램 데이터로 인코딩하거나, 저장된 데이터를 독출 하여 해당 데이터의 입력시의 데이터 상태로 디코딩하여 출력하는 데이터 입출력부를 포함한다.
본 발명의 특징에 따른 불휘발성 메모리 소자의 동작 방법은,
제 1 논리 레벨 데이터 또는 제 2 논리레벨 데이터를 랜덤하게 생성하여 각각의 워드라인의 설정 데이터로 저장하는 단계; 프로그램을 위해 입력되는 제 1 데이터와 상기 프로그램을 위해 선택된 워드라인에 설정된 상기 설정 데이터를 논리 연산하여 제 2 데이터로 만드는 단계; 및 상기 제 2 데이터를 상기 선택된 워드라인의 메모리 셀들에 프로그램하는 단계를 포함한다.
상기 제 2 데이터는, 상기 설정 데이터와 상기 제 1 데이터를 XOR 연산하여 만드는 것을 특징으로 한다.
상기 메모리 셀들을 소거함에 따라 각각의 워드라인의 설정 데이터를 새로 설정하는 것을 특징으로 한다.
상기 저장된 제 2 데이터를 독출 하는 단계; 및 상기 독출된 제 2 데이터와 상기 설정 데이터를 논리 연산하여 상기 제 1 데이터를 생성하는 단계를 포함한다.
상기 제 1 데이터를 생성하는 것은, 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 한다.
본 발명의 다른 특징에 따른 불휘발성 메모리 소자는,
입력되는 어드레스에 따라 랜덤 데이터를 생성하는 랜덤 데이터 생성기; 상기 랜덤 데이터 생성기가 생성한 랜덤 데이터와, 프로그램을 위해 입력되는 제 1 데이터를 논리 연산하여 메모리 셀에 프로그램될 제 2 데이터로 만드는 인코더와, 상기 메모리 셀로부터 독출 되는 상기 제 2 데이터와 상기 랜덤 데이터를 논리 연산하여 상기 제 1 데이터로 만드는 디코더를 포함하는 데이터 변환부를 포함하는 것을 특징으로 한다.
상기 랜덤 데이터 생성기는 입력되는 어드레스에 따라 제 1 논리 레벨 또는 제 2 논리 레벨을 갖는 고유의 랜덤 데이터를 생성하는 것을 특징으로 한다.
본 발명의 특징에 따른 컨트롤러 장치는,
불휘발성 메모리 소자를 제어하기 위한 컨트롤러 장치에 있어서, 호스트로부터 입력되는 어드레스에 따라 랜덤 데이터를 생성하는 랜덤 데이터 생성기; 상기 랜덤 데이터 생성기가 생성한 랜덤 데이터와, 상기 호스트에서 입력되는 제 1 데이터를 논리 연산하여 제 2 데이터로 만들고, 상기 제 2 데이터를 상기 불휘발성 메모리 소자에 입력하는 인코더와, 상기 불휘발성 메모리 소자에서 독출 되는 상기 제 2 데이터와 상기 랜덤 데이터를 논리 연산하여 상기 제 1 데이터로 만들어 상기 호스트로 전송하는 디코더를 포함하는 데이터 변환부를 포함한다.
상기 랜덤 데이터 생성기는 입력되는 어드레스에 따라 제 1 논리 레벨 또는 제 2 논리 레벨을 갖는 고유의 랜덤 데이터를 생성하는 것을 특징으로 한다.
상기 인코더 및 디코더는, 각각 상기 제 1 데이터와 상기 설정 데이터 또는 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 한다.
본 발명의 다른 특징에 따른 불휘발성 메모리 소자의 동작 방법은,
제 1 논리 레벨 데이터 또는 제 2 논리레벨 데이터를 랜덤하게 생성하여 각각의 워드라인의 설정 데이터로 저장하는 단계; 프로그램을 위해 입력되는 제 1 데이터와 상기 프로그램을 위해 선택된 워드라인에 설정된 상기 설정 데이터를 논리 연산하여 제 2 데이터로 만들어 프로그램하는 단계; 및 독출 명령에 따라 상기 제 2 데이터를 독출 하여, 상기 설정 데이터와 논리 연산하여 제 1 데이터로 만들어 출력하는 단계를 포함한다.
본 발명의 다른 특징에 따른 불휘발성 메모리 소자의 동작 방법은,
프로그램 또는 독출 명령과 함께 입력되는 어드레스를 이용하여 랜덤 데이터를 생성하는 단계; 프로그램 명령이 입력되는 경우, 프로그램을 위해 입력되는 제 1 데이터와 상기 랜덤 데이터를 논리연산하여 제 2 데이터로 만들어 상기 어드레스에 해당하는 메모리 셀에 프로그램하는 단계; 및 독출 명령이 입력되는 경우, 상기 입력 어드레스에 해당하는 메모리 셀에 저장된 상기 제 2 데이터를 독출하고, 상기 제 2 데이터와 상기 랜덤 데이터를 논리연산하여 제 1 데이터로 만들어 출력하는 단계를 포함한다.
이상에서 설명한 바와 같이, 본 발명에 따른 불휘발성 메모리 소자와 그 동작 방법 및 컨트롤러 장치는 데이터의 랜덤화를 이용해서 프로그램되는 셀과 프로그램되지 않은 셀들의 확률을 비슷하게 만들어 주변의 프로그램된 메모리 셀들로 인해 받는 영향을 최소화 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공 되는 것이다.
도 3a는 불휘발성 메소자의 구조를 나타내는 블록도이다.
도 3a를 참조하면, 불휘발성 메모리 소자(300)는 메모리 셀 어레이(310)와, 페이지 버퍼부(320)와, Y 디코더(330)와, X 디코더(340)와 전압 제공부(3350)와 제어부(360)와, 데이터 입출력부(370)와 데이터 변환부(380)를 포함한다.
메모리 셀 어레이(310)는 데이터 저장을 위한 메모리 셀들이 직렬로 연결된 셀 스트링들이 복수개 포함되고, 각각의 셀 스트링들은 비트라인(BL)에 연결된다. 또한 상기 비트라인과 직교하는 방향으로 메모리 셀들의 게이트가 워드라인(WL)으로 연결된다.
상기 메모리 셀 어레이(310)에 포함된 메모리 셀들은 메모리 블록을 구성하여, 다수의 메모리 블록들이 상기 메모리 셀 어레이(310)에 포함된다.
페이지 버퍼부(320)는 상기 메모리 셀 어레이(310)의 비트라인에 연결되는 페이지 버퍼가 복수개 포함되는데, 각각의 페이지 버퍼는 선택된 메모리 셀에 프로그램할 데이터를 임시 저장하였다가 비트라인을 통해 메모리 셀에 전달하거나, 메모리 셀에 저장된 데이터를 독출 하여 저장한다.
상기 페이지 버퍼는 다수의 래치 회로를 포함하고 있으며, 하나의 래치 회로를 이용해서 프로그램을 수행하는 동안 다른 하나의 래치 회로에는 캐시 프로그램할 데이터를 입력받을 수 있다.
Y 디코더(330)는 입력 어드레스에 따라 페이지 버퍼부(320)의 페이지 버퍼에 입출력 경로를 제공하고, X 디코더(340)는 입력 어드레스에 따라 메모리 셀 어레 이(310)의 워드라인을 선택한다.
전압 제공부(350)는 제어부(360)의 제어에 따라 상기 X 디코더(340)가 연결하는 워드라인에 제공할 동작 전압을 생성하고, 제어부(360)는 동작 명령에 따른 제어신호를 출력하며, 메모리 셀 어레이(310)의 데이터 프로그램 정도에 따라 설정되어 있는 패스전압을 제공할 수 있도록 전압 제공부(350)를 제어한다.
데이터 입출력부(370)는 IO 패드를 통해서 입력되는 프로그램할 데이터를 데이터 변환부(380)로 전달하거나, 데이터 변환부(380)에서 디코딩 되어 출력되는 데이터를 IO 패드로 전달한다.
데이터 변환부(380)는 데이터 입출력부(370)가 전달하는 프로그램할 데이터와 랜덤하게 발생된 데이터를 이용한 인코딩 과정을 수행하여 인코딩된 데이터를 Y 디코더(330)를 통해 페이지 버퍼부(320)로 전달하여 프로그램할 수 있게 한다.
또한 데이터 독출시에 페이지 버퍼부(320)에 독출된 데이터를 인코딩 과정과 반대되게 디코딩 하여 원래의 입력 데이터로 만들어 데이터 입출력부(370)로 출력한다.
상기 데이터 변환부(380)는 다음과 같이 구성된다.
도 3b는 본 발명의 제 1 실시 예에 따른 도 3a의 데이터 변환부의 구조를 나타낸 블록도이다.
도 3b를 참조하면, 데이터 변환부(380)는 랜덤 데이터 생성기(Random Data Generator)(381)와, 저장부(382)와 인코더(383) 및 디코더(384)를 포함한다.
랜덤 데이터 생성기(381)는 불휘발성 메모리 소자(300)의 초기 동작시에 메 모리 셀 어레이(310)의 각각의 워드라인에 대한 랜덤 데이터를 생성한다. 저장부(382)는 생성된 랜덤 데이터를 저장한다. 저장부(382)에 저장된 랜덤 데이터는 메모리 블록 어드레스에 따라 구분되며, 또한 각각의 메모리 블록의 워드라인마다 하나의 비트씩 대응된다.
상기 랜덤 데이터 생성기(381)는 수도 랜덤 넘버 생성기(Pseudo Random Number Generator) 등을 이용해서 구현할 수 있다.
메모리 셀 어레이(310)에 포함된 다수의 메모리 블록들 중, 하나의 메모리 블록을 예로 들 때, 상기 메모리 블록이 32개의 워드라인을 포함하는 경우 상기 메모리 블록에 대응되는 랜덤 데이터는 워드라인마다 1비트씩 대응되어, 총 32 비트가 된다.
인코더(384)는 데이터 입출력부(370)로부터 입력 데이터를 전달받고, 제어부(370)의 제어에 따라 프로그램할 워드라인에 대응되는 랜덤 데이터를 저장부(382)에서 로딩한다. 그리고 상기 입력 데이터와 상기 로딩된 랜덤 데이터를 이용해서 실제로 메모리 셀에 프로그램할 데이터를 만든다. 이때 로딩되는 랜덤 데이터는 프로그램할 워드라인에 설정된 1비트 데이터이다.
상기 프로그램할 데이터는 입력 데이터의 각각의 비트와 랜덤 데이터를 XOR 연산하여 만들고, 상기 만들어진 프로그램할 데이터는 Y 디코더(330)를 통해 페이지 버퍼부(320)로 입력된다.
디코더(383)는 저장된 데이터를 디코딩 하여 출력 데이터로 만든다. 이를 위해 디코더(383)는 데이터 독출 동작에 의해 페이지 버퍼부(320)에 저장된 독출 데 이터를 전달받고, 제어부(370)의 제어에 따라 상기 데이터 독출을 수행한 워드라인에 대응되는 랜덤 데이터를 저장부(382)에서 로딩한다.
그리고 상기 로딩된 랜덤 데이터와 독출 데이터를 XOR 연산하여 실제로 출력할 데이터로 만든다. 상기 실제로 출력할 데이터는 독출 데이터의 각각의 비트와 랜덤 데이터를 XOR 연산하여 만든다.
도 3c는 상기 도 3b의 랜덤 데이터의 인코딩과 디코딩 모습을 도시한 도면이다.
상기 도 3c에서는 하나의 메모리 블록(BL)을 예로 나타낸 것으로 각각의 워드라인에 대응되는 랜덤 데이터가 랜덤 데이터 생성기(381)와 저장부(382)를 하나의 블록으로 표시하였다.
도 3c를 참조하면, 메모리 블록(BL)의 각각의 워드라인(또는 페이지)에 대응되는 랜덤 데이터가 입력되는 데이터와 XOR 연산되어 프로그램되는 것이 나타난다. 그리고 출력되는 데이터의 경우 상기 랜덤 데이터와 XOR 연산을 수행한 후 출력된다.
상기 랜덤 데이터 생성기(381)가 생성한 랜덤 데이터는 메모리 블록별로 관리되고, 해당 메모리 블록이 전체 소거되면 저장된 랜덤 데이터가 삭제되고 새로운 랜덤 데이터가 생성되어 저장될 수 있다.
상기와 같이 각각의 워드라인별로 랜덤 데이터를 할당한 후, 프로그램을 위해 입력되는 데이터와 랜덤 데이터를 XOR 연산한 후, 그 결과를 프로그램하거나, 저장되어 있는 데이터를 랜덤 데이터와 XOR 연산한 후 출력하는 방법에 의해 스트 링 방향으로 프로그램이 수행되는 셀과, 프로그램이 수행되지 않는 메모리 셀의 비율이 각각 최대 50%를 차지한다. 따라서 백 패턴 디펜던시 영향을 방지할 수 있다.
상기 불휘발성 메모리 소자(300)의 프로그램과 독출 동작을 다시 설명하면 다음과 같다.
도 3d는 본 발명의 제 2 실시 예에 따른 데이터 변환부의 구조를 나타낸다.
도 3d를 참조하면, 본 발명의 제2 실시 예에 따른 데이터 변환부(380)는 랜덤 데이터 생성기(381)와, 디코더(383) 및 인코더(384)를 포함한다. 제 2 실시 예는 별도의 저장부를 포함하지 않는다.
랜덤 데이터 생성기(381)는 데이터 입출력부(370)에서 전달되는 어드레스에서프로그램 또는 데이터 독출을 수행해야 하는 메모리 블록 및 워드라인의 어드레스를 이용하여 랜덤 데이터를 생성한다.
이때, 본 발명의 제 2 실시 예에 따른 랜덤 데이터 생성기(381)가 생성하는 랜덤 데이터는 동일한 어드레스에 대해서는 동일하게 생성되기 때문에 별도의 저장부를 필요로 하지 않는다.
그리고 디코더(383)와 인코더(384)는 본 발명의 제 1 실시 예에서와 동일하게 랜덤 데이터 생성기(381)가 생성하는 랜덤 데이터와, 입출력되는 데이터를 논리조합을 통해서 변환하여 Y 디코더(330)로 입출력한다.
도 4는 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 소자의 프로그램 동작 순서도이다.
도 4를 참조하면, 먼저 프로그램을 위한 명령과 함께 프로그램할 데이터가 IO 패드를 통해 데이터 입출력부(370)로 입력된다(S401). 데이터 입출력부(370)는 IO 패드로부터 입력되는 입력 데이터를 데이터 변환부(370)의 인코더(384)로 전달한다.
인코더(384)는 제어부(360)의 제어신호에 따라 프로그램할 워드라인에 설정된 랜덤 데이터를 저장부(382)로부터 로딩한다(S403). 상기 랜덤 데이터는 앞서 도 3a 내지 도 3c에서 설명한 바와 같이 데이터 변환부(380)의 랜덤 데이터 생성기(381)가 메모리 블록별로 생성하여 저장부(382)에 저장해 놓은 데이터이다.
인코더(383)는 입력 데이터와 로딩한 랜덤 데이터를 이용하여 프로그램할 데이터를 생성하고(S405), 생성된 프로그램할 데이터는 페이지 버퍼부(320)의 페이지 버퍼에 입력된다(S407).
상기 프로그램할 데이터는 앞서 설명한 바와 같이 랜덤 데이터와 입력 데이터의 XOR 연산에 의해 만들어진다.
예를 들어 프로그램하기 위해 입력되는 데이터가 '111001'이라고 가정하고, 해당 데이터가 프로그램될 워드라인에 설정된 랜덤 데이터가 '1'이라고 할 때, 프로그램할 데이터는 '000110'이 된다.
상기 프로그램할 데이터는 페이지 버퍼부(320)가 페이지 버퍼에 입력되고, 메모리 셀들에 프로그램된다(S409).
상기와 같이 랜덤 데이터를 이용해서 변경된 데이터가 프로그램되면, 스트링에 메모리 셀들이 프로그램 셀인 경우와 소거셀인 경우의 확률이 각각 최대 50%를 넘지 않게 조절될 수 있다. 따라서 주변 셀의 프로그램 정도에 따라 발생되는 백 패턴 디펜던시가 해소될 수 있다.
한편, 상기와 같이 프로그램된 데이터를 독출 하는 방법은 다음과 같다.
도 5는 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 소자의 독출 동작 순서도이다.
도 5를 참조하면, 독출 명령에 의해 제어부(370)는 메모리 셀 어레이(310)의 선택된 워드라인(또는 페이지)의 데이터를 페이지 버퍼부(320)로 독출해 온다(S501).
페이지 버퍼부(320)로 독출된 데이터는 Y 디코더(330)를 통해서 디코더(383)로 전달된다. 또한 디코더(383)는 제어부(360)의 제어에 따라 상기 데이터를 독출한 워드라인에 설정된 랜덤 데이터를 로딩한다(S503).
그리고 디코더(383)는 로딩한 랜덤 데이터와 상기 페이지 버퍼부(320)로부터 전달받은 독출 데이터를 이용해서 IO 패드로 출력할 데이터를 생성한다(S505). 상기 출력할 데이터는 앞서 언급한 바와 같이 랜덤 데이터와 독출 데이터를 XOR 연산하여 만든다.
도 4의 예를 들면, 프로그램된 데이터는 '000110'이다. 따라서 페이지 버퍼부(320)에 독출 되는 데이터는 '000110'이 된다. 그리고 해당 워드라인에 설정된 랜덤 데이터는 '1'이므로, 디코더는 독출 데이터와 랜덤 데이터를 XOR 연산하여 '111001'의 출력 데이터를 만든다. 이는 상기 도 4에서 예로든 입력 데이터와 같은 데이터임을 확인할 수 있다.
상기 디코더(383)가 만든 출력 데이터는 데이터 입출력부(370)를 통해서 IO 패드로 출력된다(S507).
따라서 상기의 동작에 의해 입력 데이터와 출력 데이터의 변동이 없으면서, 메모리 셀 어레이(310)에 프로그램되는 셀과 프로그램되지 않는 셀의 비율을 최대 50%까지 만들어 백 패턴 디펜던시에 영향을 줄일 수 있다.
한편, 상기 도 3d와 같은 본 발명의 제 2 실시 예와 같은 데이터 변환부(380)를 포함하는 불휘발성 메모리 소자의 프로그램과 독출 동작은 다음과 같다.
도 6은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 소자의 프로그램 동작 순서도이다.
도 6을 참조하면, 본 발명의 제 2 실시 예에 따라 프로그램 명령이 입력되고(S601), 프로그램을 수행하기 위한 어드레스와 데이터가 데이터 입출력부(370)를 통해서 입력된다(S603).
상기 어드레스와 데이터는 데이터 변환부(380)로 전달된다. 데이터 변환부(380)의 랜덤 데이터 생성기(381)는 상기 어드레스를 이용해서 랜덤 데이터를 생성한다(S605). 이때 랜덤 데이터는 도 3d에서 설명한 바와 같이 메모리 블록과 워드라인 어드레스에 의해서 생성되고, 입력되는 어드레스 같은 경우에는 같은 랜덤 데이터가 생성된다.
상기 생성된 랜덤 데이터는 인코더(383)으로 제공된다. 인코더(383)는 랜덤 데이터 생성기(381)에서 전달하는 랜덤 데이터를 이용해서 데이터 입출력부(370)에서 입력되는 데이터를 인코딩한다(S607). 본 발명에서는 데이터 인코딩을 위해 랜덤 데이터와 데이터 입출력부(370)에서 입력되는 데이터를 익스클루시브 오아(XOR) 한다.
상기 인코딩된 인코딩 데이터가 Y 디코더(330)로 전달되고, Y 디코더(330)는 제어부(360)의 제어신호에 따라 인코딩 데이터를 페이지 버퍼부(320)에 전달한다. 그리고 페이지 버퍼부(320)는 저장된 인코딩 데이터를 선택된 메모리 셀에 프로그램한다(S609).
상기와 같이 프로그램된 데이터를 독출하는 방법은 다음과 같다.
도 7은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 소자의 독출 동작 순서도이다.
도 7을 참조하면, 본 발명의 제 2 실시 예에 따라 프로그램된 데이터를 독출하기 위하여 독출 명령과 데이터 독출을 수행할 어드레스가 입력된다(S701, S703).
독출을 수행할 어드레스는 데이터 입출력부(370)를 통해서 데이터 변환부(380)로 전달된다.
데이터 변환부(380)의 랜덤 데이터 생성기(381)는 입력되는 어드레스를 이용해서 랜덤 데이터를 생성한다(S705). 이때의 랜덤 데이터는 앞서 언급한 바와 같이 동일한 어드레스에 대해서는 같은 랜덤 데이터가 생성된다. 즉, 도 6에서 프로그램된 어드레스가 독출 어드레스로 입력되었다면 도 6에서 생성되었던 랜덤 데이터가 동일하게 생성된다.
상기 단계 S705에서 생성된 랜덤 데이터는 디코더(384)로 전달된다.
그리고 제어부(360)는 독출 명령에 따라, 상기 독출 어드레스에 해당하는 메모리 셀들의 데이터를 독출하여 페이지 버퍼부(320)에 래치되도록 한다(S707).
페이지 버퍼부(320)에 패치된 독출 데이터는 Y 디코더(330)를 통해서 데이터 변환부(380)의 디코더(384)로 전달된다.
디코더(384)는 단계S705에서 전달받은 랜덤 데이터와 Y 디코더(330)에서 전달되는 독출 데이터를 디코딩하여 데이터 입출력부(370)로 출력한다. 상기 디코더(384)도 제 1 실시 예와 같이 익스클루시브 오아(XOR)를 수행하여 독출 데이터를 원래의 데이터로 디코딩한다.
상기와 같이 랜덤 데이터 생성기(381)가 특정 어드레스에 대해서 생성하는 램덤 데이터가 동일한 경우에는 별도로 랜덤 데이터를 생성하여 저장하기 위한 저장부가 필요없으며 랜덤 데이터를 생성해서 저장하거나 로딩해서 사용하는 과정이 필요하지 않다.
또한 제 1 및 제 2 실시예와 다르게 데이터 변환을 수행하는 기능을 불휘발성 메모리 소자 이외의 외부 컨트롤러 장치에에 부가할 수도 있다.
도 8은 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 소자의 컨트롤러 장치를 나타낸다.
도 8은 불휘발성 메모리 소자(830)의 외부에 연결되는 외부 컨트롤러(820)를 나타내었다. 외부 컨트롤러(820)는 호스트와 연결되어 호스트(810)에서 입출력되는 데이터와 명령들을 불휘발성 메모리 소자(830)로 그대로 전달하거나 가공하여 전달한다.
도 8을 참조하면, 외부 컨트롤러(820)는 제 2 실시예와 유사한 데이터 변환부(824)를 포함하고, 호스트(810)에서 입력되는 어드레스에 따른 랜덤 데이터 생성 과, 데이터 디코딩 및 인코딩을 수행하여 불휘발성 메모리 소자(830)로 입출력한다.
제 3 실시예와 같이 외부 컨트롤러(820)에 데이터 변환부(821)를 추가하는 경우에는 불휘발성 메모리 소자(830)의 변경이 없이 랜덤 데이터를 이용하여 프로그램셀과 소거 셀의 비율을 조정함으로써 백 패턴 디펜던시에 영향을 줄이는 것이 가능하며, 셀의 비율 조절을 위하여 외부 컨트롤러(820)를 변경하는 것이 더욱 자유로울 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
도 1은 불휘발성 메모리 소자의 메모리 셀 어레이 구조를 나타낸 도면이다.
도 2는 BPD의 영향으로 인한 메모리 셀의 문턱전압 분포를 나타낸다.
도 3a는 불휘발성 메모리 소자의 구조를 나타내는 블록도이다.
도 3b는 도 3a의 데이터 변환부의 구조를 나타낸 블록도이다.
도 3c는 상기 도 3b의 랜덤 데이터의 인코딩과 디코딩 모습을 도시한 도면이다.
도 3d는 본 발명의 제 2 실시 예에 따른 데이터 변환부의 구조를 나타낸다.
도 4는 본 발명의 실시 예에 따른 불휘발성 메모리 소자의 프로그램 동작 순서도이다.
도 5는 본 발명의 실시 예에 따른 불휘발성 메모리 소자의 독출 동작 순서도이다.
도 6은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 소자의 프로그램 동작 순서도이다.
도 7은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 소자의 독출 동작 순서도이다.
도 8은 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 소자의 컨트롤러 장치를 나타낸다.
*도면의 주요 부분의 간단한 설명*
300 : 불휘발성 메모리 소자 310 : 메모리 셀 어레이
320 : 페이지 버퍼부 330 : Y 디코더
340 : X 디코더 350 : 전압 제공부
360 : 제어부 370 : 데이터 입출력부
380 : 데이터 변환부
Claims (25)
- 랜덤 데이터를 워드라인별로 설정하고, 상기 워드라인별로 설정된 설정 데이터와, 프로그램을 위해 입력되는 제 1 데이터를 논리 연산하여 메모리 셀에 프로그램될 제 2 데이터로 만드는 인코더와,상기 메모리 셀로부터 독출 되는 상기 제 2 데이터와 상기 설정 데이터를 논리 연산하여 상기 제 1 데이터로 만드는 디코더를 포함하는 데이터 변환부를 포함하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 1항에 있어서,상기 설정 데이터는 '1' 또는 '0'이 상기 워드라인별로 랜덤하게 설정되는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 1항에 있어서,상기 데이터 변환부는,상기 설정 데이터를 각각의 워드라인 어드레스에 따라 저장하는 저장부를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 1항에 있어서,상기 데이터 변환부는,상기 설정 데이터를 위하여 '1' 또는 '0'을 랜덤하게 생성하는 랜덤 데이터 생성기를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 1항에 있어서,상기 인코더 및 디코더는, 각각상기 제 1 데이터와 상기 설정 데이터 또는 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 복수개의 메모리 셀들이 워드라인과 비트라인으로 연결된 메모리 셀 어레이;상기 메모리 셀들에 데이터를 프로그램하거나, 상기 메모리 셀에 저장된 데이터를 독출하기 위한 페이지 버퍼 회로들을 포함하는 페이지 버퍼부;프로그램을 위해 입력되는 입력 데이터를 설정된 데이터를 이용하여 프로그램 데이터로 인코딩하거나, 저장된 데이터를 독출 하여 해당 데이터의 입력시의 데이터 상태로 디코딩 하는 데이터 변환부;입력되는 어드레스 정보에 따라 상기 데이터 변환부와 상기 페이지 버퍼부를 연결하는 Y 디코더; 및상기 어드레스 정보에 따라 상기 데이터 변환부가 인코딩 또는 디코딩을 위한 설정 데이터를 선택할 수 있도록 제어하는 제어부를 포함하는 불휘발성 메모리 소자.
- 제 6항에 있어서,상기 데이터 변환부는,상기 워드라인별로 설정된 설정 데이터와, 프로그램을 위해 입력되는 제 1 데이터를 논리 연산하여 메모리 셀에 프로그램될 제 2 데이터로 인코딩하는 인코더; 및상기 메모리 셀로부터 독출 되는 상기 제 2 데이터와 상기 설정 데이터를 논리 연산하여 상기 제 1 데이터로 디코딩 하는 디코더를 포함하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 7항에 있어서,상기 설정 데이터는 제 1 논리 레벨 데이터 또는 제 2 논리 레벨 데이터를 상기 워드라인별로 랜덤하게 설정하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 7항에 있어서,상기 데이터 변환부는,상기 설정 데이터를 각각의 워드라인 어드레스에 따라 저장하는 저장부를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 7항에 있어서,상기 데이터 변환부는,상기 설정 데이터를 위하여 제 1 논리 레벨 데이터 또는 제 2 논리 레벨 데이터를 랜덤하게 생성하는 랜덤 데이터 생성기를 더 포함하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 7항에 있어서,상기 인코더 및 디코더는, 각각상기 제 1 데이터와 상기 설정 데이터 또는 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 복수개의 메모리 셀들이 워드라인과 비트라인으로 연결된 메모리 셀 어레이;상기 메모리 셀들에 데이터를 프로그램하거나, 상기 메모리 셀에 저장된 데이터를 독출하기 위한 페이지 버퍼 회로들을 포함하는 페이지 버퍼부; 및프로그램을 위해 입력되는 입력 데이터를 설정된 데이터를 이용하여 프로그램 데이터로 인코딩하거나, 저장된 데이터를 독출 하여 해당 데이터의 입력시의 데이터 상태로 디코딩하여 출력하는 Y 디코더를 포함하는 불휘발성 메모리 소자.
- 복수개의 메모리 셀들이 워드라인과 비트라인으로 연결된 메모리 셀 어레이;상기 메모리 셀들에 데이터를 프로그램하거나, 상기 메모리 셀에 저장된 데이터를 독출하기 위한 페이지 버퍼 회로들을 포함하는 페이지 버퍼부;입력되는 어드레스 정보에 따라 상기 페이지 버퍼부의 데이터 입출력 경로를 제공하는 Y 디코더; 및상기 Y 디코더와 연결되어, 프로그램을 위해 입력되는 입력 데이터를 설정된 데이터를 이용하여 프로그램 데이터로 인코딩하거나, 저장된 데이터를 독출 하여 해당 데이터의 입력시의 데이터 상태로 디코딩하여 출력하는 데이터 입출력부;를 포함하는 불휘발성 메모리 소자.
- 입력되는 어드레스에 따라 랜덤 데이터를 생성하는 랜덤 데이터 생성기;상기 랜덤 데이터 생성기가 생성한 랜덤 데이터와, 프로그램을 위해 입력되는 제 1 데이터를 논리 연산하여 메모리 셀에 프로그램될 제 2 데이터로 만드는 인코더와,상기 메모리 셀로부터 독출 되는 상기 제 2 데이터와 상기 랜덤 데이터를 논리 연산하여 상기 제 1 데이터로 만드는 디코더를 포함하는 데이터 변환부를 포함하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 14항에 있어서,상기 랜덤 데이터 생성기는 입력되는 어드레스에 따라 제 1 논리 레벨 또는 제 2 논리 레벨을 갖는 고유의 랜덤 데이터를 생성하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 제 14항에 있어서,상기 인코더 및 디코더는, 각각상기 제 1 데이터와 상기 설정 데이터 또는 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 하는 불휘발성 메모리 소자.
- 불휘발성 메모리 소자를 제어하기 위한 컨트롤러 장치에 있어서,호스트로부터 입력되는 어드레스에 따라 랜덤 데이터를 생성하는 랜덤 데이터 생성기;상기 랜덤 데이터 생성기가 생성한 랜덤 데이터와, 상기 호스트에서 입력되는 제 1 데이터를 논리 연산하여 제 2 데이터로 만들고, 상기 제 2 데이터를 상기 불휘발성 메모리 소자에 입력하는 인코더와,상기 불휘발성 메모리 소자에서 독출 되는 상기 제 2 데이터와 상기 랜덤 데이터를 논리 연산하여 상기 제 1 데이터로 만들어 상기 호스트로 전송하는 디코더를 포함하는 데이터 변환부를 포함하는 컨트롤러 장치.
- 제 17항에 있어서,상기 랜덤 데이터 생성기는 입력되는 어드레스에 따라 제 1 논리 레벨 또는 제 2 논리 레벨을 갖는 고유의 랜덤 데이터를 생성하는 것을 특징으로 하는 컨트롤러 장치.
- 제 17항에 있어서,상기 인코더 및 디코더는, 각각상기 제 1 데이터와 상기 설정 데이터 또는 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 하는 컨트롤러 장치.
- 제 1 논리 레벨 데이터 또는 제 2 논리레벨 데이터를 랜덤하게 생성하여 각각의 워드라인의 설정 데이터로 저장하는 단계;프로그램을 위해 입력되는 제 1 데이터와 상기 프로그램을 위해 선택된 워드라인에 설정된 상기 설정 데이터를 논리 연산하여 제 2 데이터로 만드는 단계; 및상기 제 2 데이터를 상기 선택된 워드라인의 메모리 셀들에 프로그램하는 단계를 포함하는 불휘발성 메모리 소자의 동작 방법.
- 제 20항에 있어서,상기 제 2 데이터는, 상기 설정 데이터와 상기 제 1 데이터를 XOR 연산하여 만드는 것을 특징으로 하는 불휘발성 메모리 소자의 동작 방법.
- 제 20항에 있어서,상기 메모리 셀들을 소거함에 따라 각각의 워드라인의 설정 데이터를 새로 설정하는 것을 특징으로 하는 불휘발성 메모리 소자의 동작 방법.
- 제 20항에 있어서,상기 저장된 제 2 데이터를 독출 하는 단계; 및상기 독출된 제 2 데이터와 상기 설정 데이터를 논리 연산하여 상기 제 1 데이터를 생성하는 단계를 포함하는 불휘발성 메모리 소자의 동작 방법.
- 제 20항에 있어서,상기 제 1 데이터를 생성하는 것은, 상기 제 2 데이터와 상기 설정 데이터를 XOR 연산하는 것을 특징으로 하는 불휘발성 메모리 소자의 동작 방법.
- 프로그램 또는 독출 명령과 함께 입력되는 어드레스를 이용하여 랜덤 데이터를 생성하는 단계;프로그램 명령이 입력되는 경우, 프로그램을 위해 입력되는 제 1 데이터와 상기 랜덤 데이터를 논리연산하여 제 2 데이터로 만들어 상기 어드레스에 해당하는 메모리 셀에 프로그램하는 단계; 및독출 명령이 입력되는 경우, 상기 입력 어드레스에 해당하는 메모리 셀에 저장된 상기 제 2 데이터를 독출하고, 상기 제 2 데이터와 상기 랜덤 데이터를 논리연산하여 제 1 데이터로 만들어 출력하는 단계를 포함하는 불휘발성 메모리 소자의 동작 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/400,847 US7986552B2 (en) | 2008-03-10 | 2009-03-10 | Nonvolatile memory device and method of operation to program/read data by encoding/decoding using actual data and random data for program/read operation |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080021942 | 2008-03-10 | ||
KR20080021942 | 2008-03-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090097107A true KR20090097107A (ko) | 2009-09-15 |
KR101015731B1 KR101015731B1 (ko) | 2011-02-22 |
Family
ID=41053435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090010586A KR101015731B1 (ko) | 2008-03-10 | 2009-02-10 | 불휘발성 메모리 소자와 그 동작 방법 및 컨트롤러 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7826277B2 (ko) |
KR (1) | KR101015731B1 (ko) |
CN (1) | CN101533671B (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8743604B2 (en) | 2010-02-08 | 2014-06-03 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices having improved read reliability |
KR20150048425A (ko) * | 2013-10-28 | 2015-05-07 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
KR20160123765A (ko) * | 2015-04-17 | 2016-10-26 | 경희대학교 산학협력단 | 메모리 장치 및 그 동작 방법 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7986552B2 (en) * | 2008-03-10 | 2011-07-26 | Hynix Semiconductor Inc. | Nonvolatile memory device and method of operation to program/read data by encoding/decoding using actual data and random data for program/read operation |
KR20100111990A (ko) * | 2009-04-08 | 2010-10-18 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 데이터 랜덤화 방법 |
KR101211042B1 (ko) * | 2010-11-23 | 2012-12-13 | 에스케이하이닉스 주식회사 | 고장 정보 저장장치 및 저장방법 |
KR102083271B1 (ko) * | 2012-07-31 | 2020-03-02 | 삼성전자주식회사 | 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법 |
JP5940704B1 (ja) * | 2015-03-26 | 2016-06-29 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
WO2020094072A1 (en) | 2018-11-08 | 2020-05-14 | Changxin Memory Technologies, Inc. | Semiconductor memory |
JP2021033687A (ja) * | 2019-08-26 | 2021-03-01 | キオクシア株式会社 | メモリシステム |
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 |
US11462265B2 (en) * | 2020-12-18 | 2022-10-04 | Micron Technology, Inc. | Reading 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 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279133B1 (en) * | 1997-12-31 | 2001-08-21 | Kawasaki Steel Corporation | Method and apparatus for significantly improving the reliability of multilevel memory architecture |
DE69932962T2 (de) * | 1998-01-21 | 2007-02-01 | Sony Corp. | Kodierungsverfahren und Speicheranordnung |
EP1130600A1 (en) * | 2000-03-01 | 2001-09-05 | Hewlett-Packard Company, A Delaware Corporation | Data balancing scheme in solid state storage devices |
JP4004811B2 (ja) * | 2002-02-06 | 2007-11-07 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2005100527A (ja) * | 2003-09-25 | 2005-04-14 | Matsushita Electric Ind Co Ltd | 半導体不揮発性記憶装置 |
FR2885709A1 (fr) * | 2005-05-10 | 2006-11-17 | St Microelectronics Sa | Controle d'integrite d'une memoire externe a un processeur |
KR100706816B1 (ko) * | 2006-03-10 | 2007-04-12 | 삼성전자주식회사 | 프로그램 속도를 향상시킬 수 있는 불휘발성 메모리 장치및 그것의 프로그램 방법 |
CN101067972B (zh) * | 2007-04-23 | 2012-04-25 | 北京兆易创新科技有限公司 | 一种存储器检错纠错编码电路及利用其读写数据的方法 |
CN100468576C (zh) * | 2007-05-30 | 2009-03-11 | 忆正存储技术(深圳)有限公司 | 闪存数据读写处理方法 |
KR100898673B1 (ko) * | 2007-08-08 | 2009-05-22 | 주식회사 하이닉스반도체 | 플래시 메모리 소자 및 그 동작 방법 |
-
2008
- 2008-06-13 US US12/138,503 patent/US7826277B2/en active Active
- 2008-06-27 CN CN200810127539.8A patent/CN101533671B/zh active Active
-
2009
- 2009-02-10 KR KR1020090010586A patent/KR101015731B1/ko active IP Right Grant
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8743604B2 (en) | 2010-02-08 | 2014-06-03 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices having improved read reliability |
KR20150048425A (ko) * | 2013-10-28 | 2015-05-07 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
KR20160123765A (ko) * | 2015-04-17 | 2016-10-26 | 경희대학교 산학협력단 | 메모리 장치 및 그 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN101533671B (zh) | 2013-03-13 |
CN101533671A (zh) | 2009-09-16 |
KR101015731B1 (ko) | 2011-02-22 |
US20090225596A1 (en) | 2009-09-10 |
US7826277B2 (en) | 2010-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101015731B1 (ko) | 불휘발성 메모리 소자와 그 동작 방법 및 컨트롤러 장치 | |
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 | |
KR100885783B1 (ko) | 플래시 메모리 장치 및 동작 방법 | |
US7082054B2 (en) | Semiconductor storage device having page copying function | |
KR101082650B1 (ko) | 불휘발성 메모리 장치 및 그 동작 방법 | |
US7916534B2 (en) | Semiconductor memory device | |
JP4970834B2 (ja) | 奇数状態メモリセルを用いて仮想的ページ記憶を支援する集積回路デバイスとフラッシュメモリアレイ | |
US8897066B2 (en) | Method of programming nonvolatile memory device | |
US7907446B2 (en) | Nonvolatile semiconductor memory device and method of driving the same | |
KR102140784B1 (ko) | 비휘발성 메모리 장치의 데이터 기록 방법 | |
JP2011044200A (ja) | 不揮発性半導体記憶装置 | |
KR20110001571A (ko) | 불휘발성 메모리 장치의 동작 방법 및 이를 구현하는 불휘발성 메모리 장치 | |
KR100953065B1 (ko) | 불휘발성 메모리 소자 | |
KR20100004771A (ko) | 공통 소스 라인 전압을 제어하는 플래시 메모리 장치,그것의 프로그램 검증 방법, 그리고 그것을 포함하는메모리 시스템 | |
US7551481B2 (en) | User configurable commands for flash memory | |
JP5731622B2 (ja) | フラッシュメモリ、バッドブロックの管理方法および管理プログラム | |
KR101739431B1 (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
JP2009015977A (ja) | 不揮発性半導体メモリとそれを用いた記憶装置 | |
KR20240124563A (ko) | 프로그램 동작을 수행하는 메모리 장치 및 그 동작 방법 | |
KR20090056780A (ko) | 불휘발성 메모리 소자의 동작 방법 | |
KR20080084024A (ko) | 불휘발성 메모리 장치의 카피백 프로그램 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140122 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150121 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160121 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170124 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180122 Year of fee payment: 8 |