KR20090025631A - 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법 - Google Patents
멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법 Download PDFInfo
- Publication number
- KR20090025631A KR20090025631A KR1020070090618A KR20070090618A KR20090025631A KR 20090025631 A KR20090025631 A KR 20090025631A KR 1020070090618 A KR1020070090618 A KR 1020070090618A KR 20070090618 A KR20070090618 A KR 20070090618A KR 20090025631 A KR20090025631 A KR 20090025631A
- Authority
- KR
- South Korea
- Prior art keywords
- memory cell
- data
- selected memory
- state
- read
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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
- 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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
여기에는 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 메모리 시스템의 읽기 방법이 제공되며, 이 읽기 방법은 선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하고, 판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 것을 포함한다.
Description
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 멀티-비트 데이터를 저장할 수 있는 메모리 시스템에 관한 것이다.
최근, 휘발성 메모리들과 불 휘발성 메모리들과 같은 저장 장치들의 응용들이 MP3 플레이어, PMP, 휴대전화, 노트북 컴퓨터, PDA, 등과 같은 모바일 기기들에 급속히 확산되고 있다. 그러한 모바일 기기들은 다양한 기능들(예를 들면, 동영상 재상 기능)을 제공하기 위해서 점차적으로 대용량의 저장 장치들을 필요로 하고 있다. 그러한 요구를 충족하기 위한 다양한 노력들이 행해져오고 있다. 그러한 노력들 중 하나로서 하나의 메모리 셀에 2-비트 데이터 또는 그 보다 많은 데이터 비트들을 저장하는 멀티-비트 메모리 장치가 제안되어 오고 있다. 하나의 메모리 셀에 멀티-비트 데이터를 저장하는 예시적인 멀티-비트 메모리 장치들이 U.S. Patent No. 6,122,188에 "NON-VOLATILE MEMORY DEVICE HAVING MULTI-BIT CELL STRUCTURE AND A METHOD OF PROGRAMMING SAME"라는 제목으로, U.S. Patent No. 6,075,734에 "INTEGRATED CIRCUIT MEMORY DEVICE FOR STORING A MULTI-BIT DATA AND A METHOD FOR READING STORED DATA IN THE SAME"라는 제목으로, 그리고 U.S. Patent No. 5,923,587에 "MULTI-BIT MEMORY CELL ARRAY OF A NON-VOLATILE SEMICONDUCTOR MEMORY DEVICE AND METHOD FOR DRIVING THE SAME"라는 제목으로 각각 게재되어 있으며, 이 출원의 레퍼런스로 포함된다.
하나의 메모리 셀에 1-비트 데이터를 저장하는 경우, 메모리 셀은 2개의 문턱 전압 분포들 중 어느 하나에 속하는 문턱 전압을 갖는다. 즉, 메모리 셀은 데이터 '1'과 데이터 '0'을 각각 나타내는 2개의 상태들 중 하나를 갖는다. 이에 반해서, 하나의 메모리 셀에 2-비트 데이터를 저장하는 경우, 메모리 셀은 4개의 문턱 전압 분포들 중 어느 하나에 속하는 문턱 전압을 갖는다. 즉, 하나의 메모리 셀은 데이터 '11', 데이터 '10', 데이터 '00', 그리고 데이터 01'을 각각 나타내는 4개의 상태들 중 하나를 갖는다. 도 1에는 4개의 상태들에 대응하는 문턱 전압 분포들이 도시되어 있다.
4개의 상태들에 대응하는 문턱 전압 분포들이 각각 정해진 문턱 전압 윈도우 내에 존재하기 위해서는 문턱 전압 분포를 조밀하게 제어하여야 한다. 이를 위해서, ISPP(Incremental Step Pulse Programming) 스킴을 이용한 프로그램 방법이 제안되어 오고 있다. ISPP 스킴에 따르면, 문턱 전압이 프로그램 루프들의 반복에 따라 프로그램 전압의 증가분만큼 이동된다. 프로그램 전압의 증가분을 작게 설정함으로써 문턱 전압 분포를 보다 조밀하게 제어하는 것이 가능하다. 이는 상태들 간의 마진을 충분히 확보하는 것이 가능함을 의미한다. 이에 반해서, 프로그램 전압의 증가분을 작게 설정하는 경우, 메모리 셀을 원하는 상태로 프로그램하는 데 필 요한 시간이 증가될 것이다. 따라서, 프로그램 시간을 고려하여 프로그램 전압의 증가분이 결정될 것이다.
그러한 ISPP 스킴에도 불구하고, 각 상태의 문턱 전압 분포는 다양한 원인들로 인해서 원하는 윈도우보다 더 넓게 형성된다. 예를 들면, 도 1의 점선들(10, 11, 12, 13)로 도시된 바와 같이, 문턱 전압 분포는 프로그래밍시 인접한 메모리 셀들 간의 커플링으로 인해 넓어진다. 그러한 커플링은 "전계 커플링(electric field coupling)" 또는 "F-poly 커플링"이라 불린다. 예를 들면, 도 2를 참조하면, 메모리 셀(MCA)은 4개의 상태들 중 어느 하나의 상태를 갖도록 프로그램된 셀이고 메모리 셀은(MCB)은 4개의 상태들 중 어느 하나의 상태를 갖도록 프로그램될 셀이라 가정하자. 이러한 가정에 따르면, 메모리 셀(MCB)이 프로그램됨에 따라 플로팅 게이트(FG)에는 전하들이 축적될 것이다. 이때, 인접한 메모리 셀(MCA)의 플로팅 게이트(FG)의 전위는 메모리 셀(MCB)을 프로그램할 때 메모리 셀(MCB)의 플로팅 게이트(FG)와의 커플링으로 인해 높아질 것이다. 그렇게 증가된 문턱 전압은 프로그래밍 이후에도 플로팅 게이트들 간의 커플링으로 인해 계속해서 유지될 것이다. 여기서, 메모리 셀(MCB)은 메모리 셀(MCA)에 대해 워드 라인 방향 그리고/또는 비트 라인 방향에 위치한 메모리 셀들을 포함한다. 이러한 커플링으로 인해 프로그램된 메모리 셀(MCA)의 문턱 전압이 높아지며, 그 결과 문턱 전압 분포가 도 1의 점선들(10, 11, 12, 13)로 도시된 바와 같이 넓어질 것이다. 각 상태의 문턱 전압 분포가 넓어짐에 따라, 도 1에서 알 수 있듯이, 상태들 간의 마진이 감소하게 된다. 이는 읽기 마진이 감소함을 의미한다.
그러한 커플링 현상으로 인한 문턱 전압 분포의 넓어짐을 해결하기 위한 기술이 U.S. Patent No. 5,867,429에 "HIGH DENSITY NON-VOLATILE FLASH MEMORY WITHOUT ADVERSE EFFECTS OF ELECTRIC FIELD COUPLING BETWEEN ADJACENT FLOATING GATES"라는 제목으로 게재되어 있다. 도 1 및 도 2는 대한민국 특허공고 제0683858호 (2007.02.09)에 게재되어 있다.
따라서, 전계 커플링/F-poly 커플링으로 인한 문턱 전압의 증가로 인해 상태들 사이의 읽기 마진을 확보하는 것이 어렵다. 이는 메모리 셀이 어느 상태로 프로그램되었는 지의 여부를 판별하는 것이 어려움을 의미한다. 이러한 문제는 제조 공정이 미세화됨에 따라 더욱 심각해지고 있다.
본 발명의 목적은 신뢰성을 향상시킬 수 있는 메모리 시스템 및 그것의 읽기 방법을 제공하는 것이다.
본 발명의 예시적인 실시예들은 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 메모리 시스템의 읽기 방법을 제공하며, 이 읽기 방법은 선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하고, 판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 것을 포함한다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화된 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 상기 다른 상태보다 낮은 상태를 갖도록 보정된다.
예시적인 실시예에 있어서, 이 읽기 방법은 상기 보정된 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하는 것을 더 포함한다.
예시적인 실시예에 있어서, 상기 보정된 데이터에 대한 에러가 정정 가능한 것으로 판별될 때, 상기 보정된 데이터는 외부로 출력된다.
예시적인 실시예에 있어서, 이 읽기 방법은 상기 보정된 데이터에 대한 에러 가 정정 가능하지 않은 것으로 판별될 때, 읽기 페일이 발생하였음을 외부로 통보하는 것을 더 포함한다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되지 않은 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 보정없이 외부로 출력된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부는 상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값과 상기 선택된 메모리 셀의 상태를 정의하는 데 사용되는 전압들의 평균값을 계산하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 지의 여부를 판별하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 것으로 판별될 때, 상기 선택된 메모리 셀의 상태보다 낮은 문턱 전압의 상태를 갖도록 상기 선택된 메모리 셀의 데이터를 결정하는 것에 의해서 판별된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값은 으로 결정되며, 여기서, i는 상기 인접한 메모리 셀들의 수를 나타내고, α는 상기 인접한 메모리 셀들 각각과 상기 선택된 메모리 셀 사이의 커플링 비율을 나타내며, △V는 상기 인접한 메모리 셀들 각각이 정해진 상태로 프로그램될 때 야기되는 전압 변화량을 나타낸다.
본 발명의 다른 예시적인 실시예들은 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 메모리 시스템의 읽기 방법을 제공하며, 이 읽기 방법은 선택된 메모리 셀로부터 읽혀진 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하고, 상기 읽혀진 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별되면, 상기 선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 데이터를 읽고, 상기 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하고, 판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 것을 포함한다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화된 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 상기 다른 상태보다 낮은 상태를 갖도록 보정된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되지 않은 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 보정없이 외부로 출력된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀의 문턱 전압은 상기 인접한 메모리 셀들이 프로그램될 때 F-poly 커플링/전계 커플링으로 인해 증가된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부는 상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값과 상기 선택된 메모리 셀의 상태를 정의하는 데 사용되는 전압들의 평균값을 계산하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 지의 여부를 판별하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 것으로 판별될 때, 상기 선택된 메모리 셀의 상태보다 낮은 문턱 전압의 상태를 갖도록 상기 선택된 메모리 셀의 데이터를 결정하는 것에 의해서 판별된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값은 으로 결정되며, 여기서, i은 상기 인접한 메모리 셀들의 수를 나타내고, α는 상기 인접한 메모리 셀들 각각과 상기 선택된 메모리 셀 사이의 커플링 비율을 나타내며, △V는 상기 인접한 메모리 셀들 각각이 정해진 상태로 프로그램될 때 야기되는 전압 변화량을 나타낸다.
예시적인 실시예에 있어서, 이 읽기 방법은 상기 보정된 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하는 것을 더 포함한다.
예시적인 실시예에 있어서, 상기 보정된 데이터에 대한 에러가 정정 가능한 것으로 판별될 때, 상기 보정된 데이터는 외부로 출력된다.
예시적인 실시예에 있어서, 이 읽기 방법은 상기 보정된 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별될 때, 읽기 페일이 발생하였음을 외부로 통보하는 것을 더 포함한다.
본 발명의 또 다른 예시적인 실시예들은 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 메모리 시스템의 읽기 방법을 제공하며, 이 읽기 방법은 선택된 메모리 셀 및 상기 선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 데이터를 읽고, 상기 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 변화되었는 지의 여부를 판별하고, 판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 것을 포함한다.
예시적인 실시예에 있어서, 이 읽기 방법은 상기 선택된 메모리 셀로부터 읽혀진 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하는 것을 더 포함한다.
예시적인 실시예에 있어서, 상기 읽혀진 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별될 때 읽기 페일이 발생하였음이 외부로 알려지는 반면에, 상기 읽혀진 데이터에 대한 에러가 정정 가능한 것으로 판별될 때 상기 읽혀진 데이터가 외부로 출력된다.
본 발명의 또 다른 예시적인 실시예들은 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 불 휘발성 메모리 장치와; 그리고 상기 불 휘발성 메모리 장치를 제어하도록 구성된 메모리 컨트롤러를 포함하며, 읽기 동작시, 상기 메모리 컨트롤러는 선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하도록 구성되는 메모리 시스템을 제공한다.
예시적인 실시예에 있어서, 상기 메모리 컨트롤러는 상기 판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하도록 구성된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화된 것으로 판별되면, 상기 메모리 컨트롤러는 상기 다른 상태보다 낮은 상태를 갖도록 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정한다.
예시적인 실시예에 있어서, 상기 메모리 컨트롤러는 상기 보정된 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하도록 구성된다.
예시적인 실시예에 있어서, 상기 보정된 데이터에 대한 에러가 정정 가능한 것으로 판별될 때, 상기 메모리 컨트롤러는 상기 보정된 데이터를 외부로 출력하도록 구성된다.
예시적인 실시예에 있어서, 상기 보정된 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별될 때, 상기 메모리 컨트롤러는 읽기 페일이 발생하였음을 외부로 통보하도록 구성된다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되지 않은 것으로 판별되면, 상기 메모리 컨트롤러는 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정없이 외부로 출력하도록 구성된다.
예시적인 실시예에 있어서, 상기 메모리 컨트롤러는 상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값과 상기 선택된 메모리 셀의 상태를 정의하는 데 사용되는 전압들의 평균값을 계산하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 지의 여부를 판별하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 것으로 판별될 때 상기 선택된 메모리 셀의 상태보다 낮은 문턱 전압의 상태를 갖도록 상기 선택된 메모리 셀의 데이터를 결정하는 것을 통해, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별한다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값은 으로 결정되며, 여기서, i는 상기 인접한 메모리 셀들의 수를 나타내고, α는 상기 인접한 메모리 셀들 각각과 상기 선택된 메모리 셀 사이의 커플링 비율을 나타내며, △V는 상기 인접한 메모리 셀들 각각이 정해진 상태로 프로그램될 때 야기되는 전압 변화량을 나타낸다.
예시적인 실시예에 있어서, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부는 상기 선택된 메모리 셀로부터 읽혀진 데이터의 에러가 정정 가능하지 않을 때 수행된다.
본 발명에 따르면, 전계 커플링/F-poly 커플링으로 인한 문턱 전압의 증가로 인해 인접한 상태들 사이의 읽기 마진을 확보하는 것이 어렵더라도, 멀티-비트 데이터를 저장하는 메모리 셀이 어느 상태로 프로그램되었는 지의 여부를 판별하는 것이 가능하다.
본 발명에 따른 메모리 시스템은 멀티-비트(또는 멀티-레벨) 데이터를 저장할 것이다. 예시적인 실시예에 있어서, 설명의 편의상, 본 발명의 메모리 시스템은 메모리 셀 당 2-비트 데이터를 저장할 것이다. 하지만, 본 발명의 사상이 여기에 개시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자에게 자명하다. 메모리 셀 당 2-비트 데이터가 저장되는 경우, 도 3a에 도시된 바와 같이, 각 메모리 셀은 4개의 가능한 상태들(ST0, ST1, ST2, ST3) 중 어느 하나를 가질 것이다. 이러한 문턱 전압 분포/산포는 각 메모리 셀이 전계 커플링/F-poly 커플링을 받지 않은 이상적인 경우에 얻어질 것이다. 실질적으로, 메모리 셀들이 프로그램됨에 따라, 도 3b에 도시된 바와 같이, 각 메모리 셀의 문턱 전압(각 상태의 문턱 전압 분포)은 전계 커플링/F-poly 커플링으로 인해 증가될 것이다(점선 참조). 메모리 셀의 문턱 전압이 인접한 메모리 셀들과의 전계 커플링/F-poly 커플링으로 인해 증가되는 경우, 앞서 언급된 바와 같이, 읽기 에러가 발생할 확률이 증가될 것이다. 이를 해결하기 위해서, 선택된 메모리 셀로부터 데이터를 읽고자 하는 경우, 도 3c에 도시된 바와 같이, 본 발명에 따른 메모리 시스템은 선택된 메모리 셀에 전계 커플링/F-poly 커플링 영향을 미치는 인접한 메모리 셀들로부터 각각 데이터를 읽고, 인접한 메모리 셀들로부터 각각 읽혀진 데이터를 기초로 하여 선택된 메모리 셀로부터 읽혀진 데이터를 보정하도록 구성될 것이다. 이는 이후 상세히 설명될 것이다. 따라서, 전계 커플링/F-poly 커플링으로 인한 문턱 전압의 증가로 인해 인접한 상태들 사이의 읽기 마진을 확보하는 것이 어렵더라도, 메모리 셀이 어느 상태로 프로그램되었는 지의 여부를 판별하는 것이 가능하다.
도 4는 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 4를 참조하면, 본 발명에 따른 메모리 시스템(1000)은 불 휘발성 메모리(1100)와 메모리 컨트롤러(1200)를 포함할 것이다. 불 휘발성 메모리(1100)는 N-비트 데이터(N은 2 또는 그 보다 큰 정수)를 각각 저장하는 메모리 셀들을 포함할 것이다. 불 휘발성 메모리(1100)는 자기 메모리(MRAM), 강유전체 메모리(FeRAM), 상변화 메모리(PRAM), 저항형 메모리(ReRAM), 유기 메모리(PoRAM), 플래시 메모리, 전하트랩플래시(CTF) 메모리, 등 중 어느 하나일 것이다. 하지만, 불 휘발성 메모리(1100)가 여기에 개시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 컨트롤러(1200)는 외부(예를 들면, 호스트)로부터의 요청에 응답하여 불 휘발성 메모리(1100)를 제어할 것이다.
메모리 컨트롤러(1200)는 프로세싱 유니트(1210), 에러검사정정(Error Checking and Correction, ECC) 블록(1220), 버퍼 블록(1230), 그리고 제 1 및 제 2 인터페이스 블록들(1240, 1250)을 포함할 것이다. 프로세싱 유니트(1210)는 제 1 인터페이스 블록(1240)을 통해 제공되는 호스트의 액세스 요청에 응답하여 동작할 것이다. 프로세싱 유니트(1210)는 액세스 요청에 따라 제 2 인터페이스 블록(1250)을 통해 불 휘발성 메모리(1100)를 제어할 것이다. 버퍼 블록(1230)은 불 휘발성 메모리(1100)로부터/에 읽혀진/쓰여질 데이터를 임시 저장하는 데 사용될 것이다. 버퍼 블록(1230)은, 또한, 프로세싱 유니트(1210)의 워크 메모리로서 사용될 것이 다. ECC 블록(1240)은 쓰기(또는, 프로그램) 동작시 불 휘발성 메모리(1100)에 저장될 데이터에 대한 ECC 데이터를 생성할 것이다. ECC 블록(1240)은 읽기 동작시 불 휘발성 메모리(1100)로부터 읽혀진 데이터에 대한 에러 검출 및 정정 동작을 수행할 것이다. 프로세싱 유니트(1210), 에러검사정정(Error Checking and Correction, ECC) 블록(1220), 버퍼 블록(1230), 그리고 제 1 및 제 2 인터페이스 블록들(1240, 1250)은 이 분야의 통상적인 지식을 습득한 자들에게 잘 알려져 있다.
이 실시예에 있어서, 제 1 인터페이스 블록(1240)은 SATA, PATA, USB, SCSI, ESDI, 또는 IDE 인터페이스로 구현될 수 있다. 하지만, 제 1 인터페이스 블록(1240)이 여기에 개시된 것에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명에 따른 메모리 컨트롤러(1200)는 전계 커플링/F-poly 커플링 영향을 고려하여 액세스-요청된(또는 선택된) 메모리 셀로부터 읽혀진 데이터를 보정할 것이다. 액세스-요청된 메모리 셀은 인접한 메모리 셀들이 프로그램될 때 전계 커플링/F-poly 커플링 영향을 받을 것이다. 그러한 까닭에, 본 발명에 따른 메모리 컨트롤러(1200)는 액세스-요청된 메모리 셀 뿐만 아니라 액세스-요청된 메모리 셀에 전계 커플링/F-poly 커플링 영향을 주는 인접한 메모리 셀들로부터 데이터를 읽을 것이다(이후 "F-poly 커플링 읽기 동작"이라 칭함). 이는 이후 상세히 설명될 것이다. 따라서, 액세스-요청된 메모리 셀로부터 읽혀진 데이터는 인접한 메모리 셀들로부터 읽혀진 데이터에 따라 보정없이 또는 보정 후에 외부(예를 들면, 호스트)로 출력될 것이다. 이러한 읽기 방식에 따르면, 전계 커플링/F-poly 커플링으로 인한 문턱 전압의 증가로 인해 인접한 상태들 사이의 읽기 마진을 확보하는 것이 어렵더라도, 메모리 셀이 어느 상태로 프로그램되었는 지의 여부를 판별하는 것이 가능하다.
도 5는 본 발명에 따른 메모리 시스템의 읽기 동작을 설명하기 위한 흐름도이다. 이하, 본 발명에 따른 메모리 시스템의 읽기 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
읽기 동작을 위한 요청이 입력되면(100), 메모리 컨트롤러(1200)는 요청에 대응하는 데이터를 읽도록 불 휘발성 메모리(1100)를 제어할 것이다. 불 휘발성 메모리(1100)는 메모리 컨트롤러(1200)의 제어에 응답하여 읽기 동작을 수행할 것이다. 읽기 동작의 결과로서, 읽혀진 데이터는 불 휘발성 메모리(1100)에서 메모리 컨트롤러(1200)로 전송될 것이다(110). 그렇게 전송된 데이터는 메모리 컨트롤러(1200)의 버퍼 블록(1230)에 임시 저장될 것이다. 설명의 편의상, 도 6에 도시된 바와 같이, 하나의 메모리 셀(2)에 대한 읽기 절차가 설명될 것이다. 메모리 셀(2)에는 N-비트 데이터(N은 2 또는 그 보다 큰 정수)가 저장될 것이다. 예시적인 실시예에 있어서, 메모리 셀(2)에는 2-비트 데이터가 저장될 것이다. 2-비트 데이터가 이 분야에 잘 알려진 읽기 방식들을 통해 읽혀질 수 있음은 자명하며, 그것에 대한 설명은 그러므로 생략될 것이다. 그 다음에, ECC 블록(1220)은 버퍼 블록(1230)에 저장된 데이터 즉, 읽혀진 데이터에 대한 에러 검출 및 정정 동작을 수행할 것이다(120). 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능한 지의 여부가 판별될 것이다(130). 만약 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능한 것으로 판별되면, 읽혀진 데이터는 호스트로 전송될 것이다(140). 여기서, 읽혀진 데이터 즉, 2개의 데이터 비트들 모두 또는 어느 하나만이 호스트로 전송될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
만약 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능하지 않은 것으로 판별되면, 절차는 150 블록으로 진행할 것이다. 150 블록에서, 메모리 컨트롤러(1200)는 F-poly 커플링 읽기 동작을 수행하도록 불 휘발성 메모리(1100)를 제어할 것이다. F-poly 커플링 읽기 동작은 선택된 메모리 셀에 전계 커플링/F-poly 커플링 영향을 주는 주변 메모리 셀들(예를 들면, 3, 4, 5, 6, 7) (도 6참조)로부터 데이터를 읽기 위한 것이다. F-poly 커플링 읽기 동작은 메모리 컨트롤러(1200)에서 불 휘발성 메모리(1100)로 F-poly 커플링 읽기 동작을 위한 특정 읽기 명령을 어드레스 정보과 함께 제공함으로써 수행될 수 있다. 또는, F-poly 커플링 읽기 동작은 메모리 컨트롤러(1200)에서 불 휘발성 메모리(1100)로 주변 메모리 셀들 각각의 읽기 동작을 위한 읽기 명령을 어드레스 정보와 함께 제공함으로써 수행될 수 있다. F-poly 커플링 읽기 동작을 통해 읽혀진 주변 메모리 셀들의 데이터는 메모리 컨트롤러(1200)로 전송될 것이다. 그렇게 전송된 데이터는 메모리 컨트롤러(1200)의 버퍼 블록(1230)에 저장될 것이다. 그 다음에, 메모리 컨트롤러(1200)는 F-poly 커플링 읽기 동작을 통해 읽혀진 일련의 데이터(주변 메모리 셀들(예를 들면, 3, 4, 5, 6, 7)에 대응함)에 의거하여 선택된 메모리 셀의 읽혀진 데이터를 변경/보정할 것이다(160). 이는 이하 상세히 설명될 것이다.
도 7을 참조하면, 선택된 메모리 셀(2)로부터 읽혀진 데이터가 ST2 상태를 갖는다고 가정하자. 선택된 메모리 셀(2)이 실질적으로 ST2 상태로 프로그램되었는 지 아니면 전계 커플링/F-poly 커플링으로 인해 변화된 문턱 전압 분포때문에 ST2 상태로 읽혀졌는 지의 여부는 앞서 언급된 F-poly 커플링 읽기 동작을 통해 읽혀진 일련의 데이터에 의거하여 결정될 것이다. 이를 위해서, 먼저, 도 8에 도시된 바와 같이, 프로세싱 유니트(1210)는 선택된 메모리 셀(2)에 대한 F-poly 커플링 드리프트 값(Vdrift)을 계산할 것이다(161). F-poly 커플링 드리프트 값(Vdrift)은 각 주변 메모리 셀들(3, 4, 5, 6, 7)에 대한 상태들 및 커플링 비율들에 의해서 결정될 것이다. 다시 말해서, 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값은 으로 결정될 것이다. 여기서, i는 주변/인접한 메모리 셀들의 수를 나타내고, α는 인접한 메모리 셀들 각각과 선택된 메모리 셀 사이의 커플링 비율을 나타내며, △V는 인접한 메모리 셀들 각각이 정해진 상태로 프로그램될 때 야기되는 전압 변화량을 나타낼 것이다. 좀 더 구체적으로는, 메모리 셀(3)로 인해 생기는 메모리 셀(2)의 F-poly 커플링 드리프트 값(Vdrift)은 메모리 셀들(2, 3) 사이의 커플링 비율(α1)과 메모리 셀(3)이 임의의 상태로 프로그램될 때 야기되는 전압 변화량(△V)의 곱으로 결정될 것이다. 마찬가지로, 나머지 메모리 셀들(4, 5, 6, 7) 각각으로 인해 생기는 메모리 셀(2)의 F-poly 커플링 드리프트 값(Vdrift) 역시 동일한 방식으로 결정될 것이다. 따라서, 선택된 메모리 셀(2)에 대한 F-poly 커플링 드리프트 값(Vdrift)은 주변 메모리 셀들(3, 4, 5, 6, 7)로 인해 생기는 선택된 메모리 셀(2)의 드리프트 값들의 합이다.
이 실시예에 있어서, 커플링 비율들(α1∼α5) 및 상태들(ST0∼ST3)에 각각 대응하는 전압 변화량들(△V)은 테이블 형식으로 버퍼 블록(1230)에 저장될 것이다. 그러한 테이블은 파워-업시 불 휘발성 메모리(1100)에서 버퍼 블록(1230)으로 로드될 것이다.
도 8의 161 블록에서, 또한, 메모리 컨트롤러(1200)는 선택된 메모리 셀(2)로부터 읽혀진 데이터의 상태(예를 들면, ST2)를 정의하는 데 필요한 전압들(예를 들면, 읽기 전압들)(VRa, VRb) (도 7 참조)의 평균값((VRa+VRb)/2)을 계산할 것이다. 각 상태의 평균값 역시 앞서 언급된 테이블에 저장될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 그 다음에, 프로세싱 유니트(1210)는 결정된 F-poly 커플링 드리프트 값(Vdrift)이 평균값보다 큰 지의 여부를 판별할 것이다(162, 도 8 참조). 만약 결정된 F-poly 커플링 드리프트 값(Vdrift)이 평균값보다 큰 것으로 판별되면, 선택된 메모리 셀(2)로부터 읽혀진 데이터는 ST2 상태보다 낮은 문턱 전압 분포를 갖는 ST1 상태로 변경/보정될 것이다(163, 도 8 참조). 다시 말해서, 결정된 F-poly 커플링 드리프트 값(Vdrift)이 평균값보다 크다는 것은 선택된 메모리 셀(2)이 본래 ST1 상태로 프로그램되었을 가능성이 높다는 것을 의미한다. 그러한 까닭에, 선택된 메모리 셀(2)로부터 읽혀진 데이터는 ST2 상태보다 낮은 문턱 전압 분포를 갖는 ST1 상태로 변경/보정될 것이다. 만약 결정된 F-poly 커플링 드리프트 값(Vdrift)이 평균값보다 작은 것으로 판별되면, 선택된 메 모리 셀(2)로부터 읽혀진 데이터는 변경/보정없이 ST2 상태로 결정될 것이다. 다시 말해서, 결정된 F-poly 커플링 드리프트 값(Vdrift)이 평균값보다 작다는 것은 선택된 메모리 셀(2)이 본래 ST2 상태로 프로그램되었을 가능성이 높다는 것을 의미한다. 그러한 까닭에, 선택된 메모리 셀(2)로부터 읽혀진 데이터는 변경/보정없이 ST2 상태로 결정될 것이다.
일단 F-poly 커플링 읽기 동작을 통해 읽혀진 일련의 데이터에 의거하여 선택된 메모리 셀의 읽혀진 데이터가 변경/보정되면, 메모리 컨트롤러(1200)의 ECC 블록(1220)은 보정된 데이터에 대한 에러 검출 및 정정 동작을 수행할 것이다. 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능한 지의 여부가 판별될 것이다(180). 만약 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능한 것으로 판별되면, 절차는 읽혀진 데이터는 호스트로 전송되는 140 블록으로 진행할 것이다. 만약 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능하지 않은 것으로 판별되면, 메모리 컨트롤러(1200)는 외부(예를 들면, 호스트)로 읽기 페일이 발생하였음을 알려주고, 읽기 동작은 종료될 것이다(190).
이 실시예에 있어서, 결정된 F-poly 커플링 드리프트 값(Vdrift)이 평균값의 2배 즉, 읽기 전압들 사이의 전압차 이상인 경우가 발생할 수 있다. 이러한 경우, 읽혀진 데이터의 상태는 바로 아래의 상태가 아니라 2개의 상태들만큼 변경/보정될 것이다.
도 9는 본 발명의 다른 실시예에 따른 메모리 시스템의 읽기 동작을 설명하기 위한 흐름도이다. 이하, 본 발명의 다른 실시예에 따른 메모리 시스템의 읽기 동작이 참조 도면들에 의거하여 상세히 설명될 것이다.
연속적인 읽기 동작을 위한 요청이 입력되면(200), 메모리 컨트롤러(1200)는 연속적으로 데이터를 읽도록 불 휘발성 메모리(1100)를 제어할 것이다. 불 휘발성 메모리(1100)는 메모리 컨트롤러(1200)의 제어에 응답하여 읽기 동작을 수행할 것이다. 읽기 동작의 결과로서, 연속적으로 읽혀진 데이터는 불 휘발성 메모리(1100)에서 메모리 컨트롤러(1200)로 전송될 것이다(210). 그렇게 전송된 데이터는 메모리 컨트롤러(1200)의 버퍼 블록(1230)에 임시 저장될 것이다. F-poly 커플링을 고려하여 읽혀진 데이터의 상태가 변경/보정될 것이다(220). 이는 도 7에서 설명된 것과 실질적으로 동일하며, 그것에 대한 설명은 그러므로 생략될 것이다.
그 다음에, ECC 블록(1220)은 버퍼 블록(1230)에 저장된 데이터 즉, 읽혀진 데이터에 대한 에러 검출 및 정정 동작을 수행할 것이다(230). 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능한 지의 여부가 판별될 것이다(240). 만약 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능한 것으로 판별되면, 읽혀진 데이터는 호스트로 전송될 것이다(250). 메모리 컨트롤러(1200)는 요청된 데이터가 모두 전송되었는 지의 여부를 판별할 것이다(260). 만약 그렇다면, 절차는 종료될 것이다. 이에 반해서, 만약 그렇지 않으면, 요청된 데이터가 모두 전송될 때까지 앞서의 동작들은 반복적으로 수행될 것이다. 만약 에러 검출 및 정정 동작의 결과로서 읽혀진 데이터가 정정 가능하지 않은 것으로 판별되면, 절차는 270 블록으로 진행할 것이다. 270 블록에서, 메모리 컨트롤러(1200)는 외부(예를 들면, 호스트)로 읽기 페일이 발생하였음을 알려주고, 읽기 동작은 종료될 것이 다.
플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 불 휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지 뿐만 아니라 코드 스토리지로서 보다 널리 사용된다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 어플리케이션에 사용될 수 있다. 본 발명에 따른 메모리 시스템을 포함한 컴퓨팅 시스템이 도 10에 개략적으로 도시되어 있다. 본 발명에 따른 컴퓨팅 시스템은 버스(2001)에 전기적으로 연결된 마이크로프로세서(2100), 사용자 인터페이스(2200), 베이스밴드 칩셋(baseband chipset)과 같은 모뎀(2300), 메모리 컨트롤러(2400), 그리고 플래시 메모리 장치(2500)를 포함한다. 메모리 컨트롤러(2400)와 플래시 메모리 장치(2500)는 메모리 시스템을 구성하며, 도 4에 도시된 것과 실질적으로 동일하게 구성될 것이다. 플래시 메모리 장치(2500)에는 마이크로프로세서(2100)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그 보다 큰 정수)가 메모리 컨트롤러(2400)를 통해 저장될 것이다. 본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(2300)가 추가적으로 제공될 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 플래시 메모리 장치와 메모리 컨트롤러가 메모리 시스템으로서 메모리 카드 형태로 구성될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
본 발명의 예시적인 실시예들이 2-비트 데이터를 기준으로 설명되었지만, 본 발명의 기술적 사상이 3-비트 데이터, 4-비트 데이터 등에도 적용될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다.
참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
아래에서, 메모리 시스템이 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 1은 전계 커플링/F-poly 커플링으로 인한 문턱 전압 분포들의 넓어짐을 설명하기 위한 도면이다.
도 2는 메모리 셀들 사이에 생기는 전계 커플링/F-poly 커플링을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 메모리 시스템의 개략적인 읽기 스킴을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 메모리 시스템을 개략적으로 보여주는 블록도이다.
도 5는 본 발명에 따른 메모리 시스템의 읽기 동작을 설명하기 위한 흐름도이다.
도 6 및 도 7은 본 발명에 따른 메모리 시스템의 읽기 동작을 설명하기 위한 도면들이다.
도 8은 도 5에 도시된 F-poly 커플링 읽기 절차를 설명하기 위한 흐름도이다.
도 9는 본 발명의 다른 실시예에 따른 메모리 시스템의 읽기 동작을 설명하기 위한 흐름도이다.
도 10은 본 발명에 따른 메모리 시스템을 포함한 컴퓨팅 시스템을 개략적으로 보여주는 블록도이다.
Claims (30)
- 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 메모리 시스템의 읽기 방법에 있어서:선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하고,판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 것을 포함하는 것을 특징으로 하는 읽기 방법.
- 제 1 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화된 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 상기 다른 상태보다 낮은 상태를 갖도록 보정되는 것을 특징으로 하는 읽기 방법.
- 제 2 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하는 것을 더 포함하는 것을 특징으로 하는 읽기 방법.
- 제 3 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능한 것으로 판별될 때, 상기 보정된 데이터는 외부로 출력되는 것을 특징으로 하는 읽기 방법.
- 제 3 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별될 때, 읽기 페일이 발생하였음을 외부로 통보하는 것을 더 포함하는 것을 특징으로 하는 읽기 방법.
- 제 1 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되지 않은 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 보정없이 외부로 출력되는 것을 특징으로 하는 읽기 방법.
- 제 1 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부는상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값과 상기 선택된 메모리 셀의 상태를 정의하는 데 사용되는 전압들의 평균값을 계산하고,상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 지의 여부를 판별하고,상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 것으로 판별될 때, 상기 선택된 메모리 셀의 상태보다 낮은 문턱 전압의 상태를 갖도록 상기 선택된 메모리 셀의 데이터를 결정하는 것에 의해서 판별되는 것을 특징으로 하는 읽기 방법.
- 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 메모리 시스템의 읽기 방법에 있어서:선택된 메모리 셀로부터 읽혀진 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하고,상기 읽혀진 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별되면, 상 기 선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 데이터를 읽고,상기 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하고,판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 것을 포함하는 것을 특징으로 하는 읽기 방법.
- 제 9 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화된 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 상기 다른 상태보다 낮은 상태를 갖도록 보정되는 것을 특징으로 하는 읽기 방법.
- 제 9 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되지 않은 것으로 판별되면, 상기 선택된 메모리 셀로부터 읽혀진 데이터는 보정없이 외부로 출력되는 것을 특징으로 하는 읽기 방법.
- 제 9 항에 있어서,상기 선택된 메모리 셀의 문턱 전압은 상기 인접한 메모리 셀들이 프로그램될 때 F-poly 커플링/전계 커플링으로 인해 증가되는 것을 특징으로 하는 읽기 방법.
- 제 9 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부는상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값과 상기 선택된 메모리 셀의 상태를 정의하는 데 사용되는 전압들의 평균값을 계산하고,상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 지의 여부를 판별하고,상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 것으로 판별될 때, 상기 선택된 메모리 셀의 상태보다 낮은 문턱 전압의 상태를 갖도록 상기 선택된 메모리 셀의 데이터를 결정하는 것에 의해서 판별되는 것을 특징으로 하는 읽기 방법.
- 제 9 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하는 것을 더 포함하는 것을 특징으로 하는 읽기 방법.
- 제 15 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능한 것으로 판별될 때, 상기 보정된 데이터는 외부로 출력되는 것을 특징으로 하는 읽기 방법.
- 제 15 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별될 때, 읽기 페일이 발생하였음을 외부로 통보하는 것을 더 포함하는 것을 특징으로 하는 읽기 방법.
- 선택된 메모리 셀 및 상기 선택된 메모리 셀의 인접한 메모리 셀들로부터 각각 데이터를 읽고,상기 인접한 메모리 셀들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택 된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 변화되었는 지의 여부를 판별하고,판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 것을 포함하는 것을 특징으로 하는 읽기 방법.
- 제 18 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하는 것을 더 포함하는 것을 특징으로 하는 읽기 방법.
- 제 18 항에 있어서,상기 읽혀진 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별될 때 읽기 페일이 발생하였음이 외부로 알려지는 반면에, 상기 읽혀진 데이터에 대한 에러가 정정 가능한 것으로 판별될 때 상기 읽혀진 데이터가 외부로 출력되는 것을 특징으로 하는 읽기 방법.
- 멀티-비트 데이터를 각각 저장하는 메모리 셀들을 갖는 불 휘발성 메모리 장치와; 그리고상기 불 휘발성 메모리 장치를 제어하도록 구성된 메모리 컨트롤러를 포함하며,읽기 동작시, 상기 메모리 컨트롤러는 선택된 메모리 셀의 인접한 메모리 셀 들로부터 각각 읽혀진 데이터에 의거하여, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하도록 구성되는 메모리 시스템.
- 제 21 항에 있어서,상기 메모리 컨트롤러는 상기 판별 결과에 따라 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하도록 구성되는 메모리 시스템.
- 제 21 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화된 것으로 판별되면, 상기 메모리 컨트롤러는 상기 다른 상태보다 낮은 상태를 갖도록 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정하는 메모리 시스템.
- 제 21 항에 있어서,상기 메모리 컨트롤러는 상기 보정된 데이터에 대한 에러가 정정 가능한 지의 여부를 판별하도록 구성되는 메모리 시스템.
- 제 24 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능한 것으로 판별될 때, 상기 메 모리 컨트롤러는 상기 보정된 데이터를 외부로 출력하도록 구성되는 메모리 시스템.
- 제 24 항에 있어서,상기 보정된 데이터에 대한 에러가 정정 가능하지 않은 것으로 판별될 때, 상기 메모리 컨트롤러는 읽기 페일이 발생하였음을 외부로 통보하도록 구성되는 메모리 시스템.
- 제 21 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되지 않은 것으로 판별되면, 상기 메모리 컨트롤러는 상기 선택된 메모리 셀로부터 읽혀진 데이터를 보정없이 외부로 출력하도록 구성되는 메모리 시스템.
- 제 21 항에 있어서,상기 메모리 컨트롤러는상기 선택된 메모리 셀에 대한 F-poly 커플링 드리프트 값과 상기 선택된 메모리 셀의 상태를 정의하는 데 사용되는 전압들의 평균값을 계산하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 지의 여부를 판별하고, 상기 F-poly 커플링 드리프트 값이 상기 평균값보다 큰 것으로 판별될 때 상기 선택된 메모리 셀 의 상태보다 낮은 문턱 전압의 상태를 갖도록 상기 선택된 메모리 셀의 데이터를 결정하는 것을 통해, 상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부를 판별하는 메모리 시스템.
- 제 21 항에 있어서,상기 선택된 메모리 셀로부터 읽혀진 데이터의 상태가 상기 인접한 메모리 셀들이 프로그램될 때 다른 상태로 변화되었는 지의 여부는 상기 선택된 메모리 셀로부터 읽혀진 데이터의 에러가 정정 가능하지 않을 때 수행되는 메모리 시스템.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070090618A KR101425958B1 (ko) | 2007-09-06 | 2007-09-06 | 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법 |
JP2008226200A JP5376872B2 (ja) | 2007-09-06 | 2008-09-03 | マルチ−ビットデータを格納するメモリシステム及びその読み出し方法 |
US12/204,860 US7898853B2 (en) | 2007-09-06 | 2008-09-05 | Multi-bit data memory system and read operation |
CN2008101911887A CN101458954B (zh) | 2007-09-06 | 2008-09-08 | 多位数据存储系统和读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070090618A KR101425958B1 (ko) | 2007-09-06 | 2007-09-06 | 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090025631A true KR20090025631A (ko) | 2009-03-11 |
KR101425958B1 KR101425958B1 (ko) | 2014-08-04 |
Family
ID=40431657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070090618A KR101425958B1 (ko) | 2007-09-06 | 2007-09-06 | 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7898853B2 (ko) |
JP (1) | JP5376872B2 (ko) |
KR (1) | KR101425958B1 (ko) |
CN (1) | CN101458954B (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110036398A (ko) * | 2009-10-01 | 2011-04-07 | 삼성전자주식회사 | 불안정 메모리 셀 산포를 검출하는 메모리 시스템 및 상기 불안정 메모리 셀 산포 검출방법 |
US8284599B2 (en) | 2009-06-23 | 2012-10-09 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related programming method |
US8310876B2 (en) | 2009-04-17 | 2012-11-13 | Samsung Electronics Co., Ltd. | Methods of accessing storage devices |
KR20150119169A (ko) * | 2013-03-15 | 2015-10-23 | 마이크론 테크놀로지, 인크. | 메모리 디바이스에서의 에러 정정 동작들 |
KR20160088494A (ko) * | 2015-01-15 | 2016-07-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4999921B2 (ja) * | 2006-05-12 | 2012-08-15 | アノビット テクノロジーズ リミテッド | メモリ素子用の歪み推定と誤り訂正符号化の組み合せ |
KR101466698B1 (ko) * | 2008-02-19 | 2014-11-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 읽기 방법 |
CN102132348B (zh) * | 2008-07-01 | 2015-06-17 | Lsi公司 | 用于闪存存储器中写入端单元间干扰减轻的方法和装置 |
EP2340541A1 (en) | 2008-09-30 | 2011-07-06 | LSI Corporation | Method and apparatus for soft data generation for memory devices using decoder performance feedback |
KR101642465B1 (ko) * | 2008-12-12 | 2016-07-25 | 삼성전자주식회사 | 불휘발성 메모리 장치의 액세스 방법 |
US8291297B2 (en) * | 2008-12-18 | 2012-10-16 | Intel Corporation | Data error recovery in non-volatile memory |
US8499227B2 (en) * | 2010-09-23 | 2013-07-30 | Micron Technology, Inc. | Memory quality monitor based compensation method and apparatus |
US9898361B2 (en) * | 2011-01-04 | 2018-02-20 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories |
US8467234B2 (en) | 2011-02-08 | 2013-06-18 | Crocus Technology Inc. | Magnetic random access memory devices configured for self-referenced read operation |
US9502117B2 (en) | 2011-03-14 | 2016-11-22 | Seagate Technology Llc | Cell-level statistics collection for detection and decoding in flash memories |
CN102693758B (zh) * | 2011-03-22 | 2015-05-06 | 群联电子股份有限公司 | 数据读取方法、存储器储存装置及其存储器控制器 |
US8488372B2 (en) | 2011-06-10 | 2013-07-16 | Crocus Technology Inc. | Magnetic random access memory devices including multi-bit cells |
US8576615B2 (en) | 2011-06-10 | 2013-11-05 | Crocus Technology Inc. | Magnetic random access memory devices including multi-bit cells |
US9030870B2 (en) | 2011-08-26 | 2015-05-12 | Micron Technology, Inc. | Threshold voltage compensation in a multilevel memory |
US9076547B2 (en) | 2012-04-05 | 2015-07-07 | Micron Technology, Inc. | Level compensation in multilevel memory |
US9093154B2 (en) * | 2012-01-16 | 2015-07-28 | Silicon Motion, Inc. | Method, memory controller and system for reading data stored in flash memory |
US9218890B2 (en) * | 2013-06-03 | 2015-12-22 | Sandisk Technologies Inc. | Adaptive operation of three dimensional memory |
US9146850B2 (en) * | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
JP6405612B2 (ja) | 2013-10-03 | 2018-10-17 | 富士通セミコンダクター株式会社 | 強誘電体メモリ装置及びメモリ書き込み方法 |
US9672102B2 (en) * | 2014-06-25 | 2017-06-06 | Intel Corporation | NAND memory devices systems, and methods using pre-read error recovery protocols of upper and lower pages |
US10049733B2 (en) | 2014-10-31 | 2018-08-14 | Hewlett Packard Enterprise Development Lp | Reusing sneak current in accessing memory cells |
CN104766627B (zh) * | 2015-04-21 | 2018-05-08 | 中国科学院微电子研究所 | 一种抗读干扰的阻变存储器读方法 |
KR20170076883A (ko) * | 2015-12-24 | 2017-07-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR20190022987A (ko) * | 2017-08-25 | 2019-03-07 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI695386B (zh) | 2018-07-17 | 2020-06-01 | 旺宏電子股份有限公司 | 半導體電路及其操作方法 |
US11557350B2 (en) * | 2020-10-16 | 2023-01-17 | Western Digital Technologies, Inc. | Dynamic read threshold calibration |
US11393540B2 (en) * | 2020-10-26 | 2022-07-19 | Western Digital Technologies, Inc. | Adjacent memory cell interference mitigation |
KR20220058127A (ko) | 2020-10-30 | 2022-05-09 | 에스케이하이닉스 주식회사 | 컴퓨팅 시스템 및 그 동작 방법 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100206709B1 (ko) | 1996-09-21 | 1999-07-01 | 윤종용 | 멀티비트 불휘발성 반도체 메모리의 셀 어레이의 구조 및 그의 구동방법 |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
KR100266745B1 (ko) | 1997-12-29 | 2000-09-15 | 윤종용 | 멀티-비트 데이터를 저장하기 위한 반도체 메모리 장치 |
KR100295135B1 (ko) | 1997-12-31 | 2001-07-12 | 윤종용 | 멀티-비트 셀 구조를 갖는 비휘발성 메모리 장치 |
TWI243986B (en) * | 2001-06-01 | 2005-11-21 | Winbond Electronics Corp | Data transmission method |
US6522580B2 (en) | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6542407B1 (en) | 2002-01-18 | 2003-04-01 | Sandisk Corporation | Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells |
US6956770B2 (en) * | 2003-09-17 | 2005-10-18 | Sandisk Corporation | Non-volatile memory and method with bit line compensation dependent on neighboring operating modes |
US7012835B2 (en) * | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7372730B2 (en) | 2004-01-26 | 2008-05-13 | Sandisk Corporation | Method of reading NAND memory to compensate for coupling between storage elements |
KR100645058B1 (ko) * | 2004-11-03 | 2006-11-10 | 삼성전자주식회사 | 데이터 신뢰성을 향상시킬 수 있는 메모리 관리 기법 |
US7196946B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling in non-volatile storage |
US7196928B2 (en) * | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
EP1947855A4 (en) | 2005-10-07 | 2010-09-01 | Sharp Kk | RECEIVING DEVICE, SERVER, TELEVISION RECEIVER, MOBILE DEVICE, SYSTEM, RECEIVING METHOD, INFORMATION PROCESSING AND RECORDING MEDIUM |
US7289344B2 (en) * | 2005-11-10 | 2007-10-30 | Sandisk Corporation | Reverse coupling effect with timing information for non-volatile memory |
JP4575288B2 (ja) * | 2005-12-05 | 2010-11-04 | 株式会社東芝 | 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム |
KR100683858B1 (ko) | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
KR100833600B1 (ko) * | 2006-08-25 | 2008-05-30 | 삼성전자주식회사 | 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치 |
US7865797B2 (en) * | 2006-11-16 | 2011-01-04 | Freescale Semiconductor, Inc. | Memory device with adjustable read reference based on ECC and method thereof |
KR100907218B1 (ko) * | 2007-03-28 | 2009-07-10 | 삼성전자주식회사 | 읽기 레벨 제어 장치 및 그 방법 |
-
2007
- 2007-09-06 KR KR1020070090618A patent/KR101425958B1/ko active IP Right Grant
-
2008
- 2008-09-03 JP JP2008226200A patent/JP5376872B2/ja active Active
- 2008-09-05 US US12/204,860 patent/US7898853B2/en active Active
- 2008-09-08 CN CN2008101911887A patent/CN101458954B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8310876B2 (en) | 2009-04-17 | 2012-11-13 | Samsung Electronics Co., Ltd. | Methods of accessing storage devices |
US8284599B2 (en) | 2009-06-23 | 2012-10-09 | Samsung Electronics Co., Ltd. | Nonvolatile memory device and related programming method |
KR20110036398A (ko) * | 2009-10-01 | 2011-04-07 | 삼성전자주식회사 | 불안정 메모리 셀 산포를 검출하는 메모리 시스템 및 상기 불안정 메모리 셀 산포 검출방법 |
KR20150119169A (ko) * | 2013-03-15 | 2015-10-23 | 마이크론 테크놀로지, 인크. | 메모리 디바이스에서의 에러 정정 동작들 |
KR20160088494A (ko) * | 2015-01-15 | 2016-07-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN101458954A (zh) | 2009-06-17 |
US7898853B2 (en) | 2011-03-01 |
CN101458954B (zh) | 2013-11-06 |
JP2009064440A (ja) | 2009-03-26 |
JP5376872B2 (ja) | 2013-12-25 |
KR101425958B1 (ko) | 2014-08-04 |
US20090067237A1 (en) | 2009-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101425958B1 (ko) | 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법 | |
US10854285B2 (en) | Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell | |
CN105097028B (zh) | 包括非易失性存储器件的存储装置和该器件的读取方法 | |
US8621266B2 (en) | Nonvolatile memory system and related method of performing erase refresh operation | |
US9159440B2 (en) | Read method for nonvolatile memory device, and data storage system using the same | |
KR101516577B1 (ko) | 비휘발성 반도체 메모리 장치, 그를 포함하는 메모리 카드와 메모리 시스템 및 그의 리드 전압 추정 방법 | |
KR100889781B1 (ko) | 멀티-비트 데이터를 저장하는 메모리 시스템, 그것의프로그램 방법, 그것을 포함한 컴퓨팅 시스템 | |
US8284599B2 (en) | Nonvolatile memory device and related programming method | |
JP5280757B2 (ja) | フラッシュメモリシステム及びそのエラー訂正方法 | |
US8059467B2 (en) | Memory device and memory programming method | |
US8179718B2 (en) | Memory device and memory programming method | |
US8788908B2 (en) | Data storage system having multi-bit memory device and on-chip buffer program method thereof | |
US8971110B2 (en) | Nonvolatile memory device and programming method of the same | |
US7864574B2 (en) | Memory device and memory programming method | |
US8503231B2 (en) | Multi-level cell flash memory device and read method | |
US20100195387A1 (en) | Non-volatile memory device and ispp programming method | |
US9478298B2 (en) | Memory system and method of reading data thereof | |
KR101468099B1 (ko) | 불휘발성 메모리 장치의 프로그램 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
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: 20170630 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180629 Year of fee payment: 5 |