KR101160761B1 - 메모리 셀에서 분수 비트 - Google Patents

메모리 셀에서 분수 비트 Download PDF

Info

Publication number
KR101160761B1
KR101160761B1 KR1020107011764A KR20107011764A KR101160761B1 KR 101160761 B1 KR101160761 B1 KR 101160761B1 KR 1020107011764 A KR1020107011764 A KR 1020107011764A KR 20107011764 A KR20107011764 A KR 20107011764A KR 101160761 B1 KR101160761 B1 KR 101160761B1
Authority
KR
South Korea
Prior art keywords
cells
programmed
state
bits
memory
Prior art date
Application number
KR1020107011764A
Other languages
English (en)
Other versions
KR20100083833A (ko
Inventor
윌리암 에이치 래드케
Original Assignee
마이크론 테크놀로지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20100083833A publication Critical patent/KR20100083833A/ko
Application granted granted Critical
Publication of KR101160761B1 publication Critical patent/KR101160761B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 메모리 셀을 프로그래밍하기 위한 방법, 장치, 모듈 및 시스템을 포함한다. 하나의 방법 실시예는 메모리 셀의 세트의 비트의 정수를 표시하는 데이터 상태에 상응하는 전하를 저장하는 단계를 포함한다. 상기 방법은 상기 세트의 셀에 전하를 저장하는 단계를 또한 포함하는 바, 상기 전하는 프로그램된 상태에 상응하고, 상기 프로그램된 상태는 비트의 분수를 표시하고, 상기 프로그램된 상태는 N진수로 표현되는 상기 데이터 상태의 디지트를 나타낸다 (N은 정수로 올림한 2B 와 동일하고, B는 상기 프로그램된 상태로 표시되는 상기 비트의 분수와 동일함).

Description

메모리 셀에서 분수 비트{FRACTIONAL BITS IN MEMORY CELLS}
메모리 장치는 전형적으로 컴퓨터 또는 다른 전자 장치에서 내부적, 반도체, 집적회로로서 전형적으로 제공된다. 다른 것 중에서, RAM(random-access memory), ROM(read only memory), DRAM(dynamic random access memory), SDRAM(synchronous dynamic random access memory), 및 플래시(flash) 메모리를 포함하는 많은 상이한 유형의 메모리가 있다.
플래시 메모리 장치는 전자 어플리케이션의 넓은 범위에 대하여 비휘발성 메모리로서 사용된다. 플래시 메모리 장치는 높은 메모리 밀도, 높은 신뢰성, 및 낮은 전력 소비가 가능한 단일 트랜지스터를 전형적으로 사용한다.
플래시 메모리에 대한 사용은 개인용 컴퓨터, PDA(personal digital assistants), 디지털 카메라 및 이동 전화에 대한 메모리를 포함한다. BIOS (basic input/output system)과 같은 프로그램 코드 및 시스템 데이터는 전형적으로 플래시 메모리 장치에 저장된다. 이 정보는 다른 것 중에서, 개인용 컴퓨터 시스템에서 사용될 수 있다.
어레이 아키텍처에서 메모리 셀은 바람직한 상태로 프로그램될 수 있다. 즉, 전하(electric charge)는 셀을 많은 저장된 상태로 들어가게 하기 위해 메모리 셀의 플로팅 게이트상에 배치될 수 있거나, 그로부터 제거될 수 있다. 예를 들어, SLC(single level cell)은 이진 디지트 1 또는 0으로 표시되는 두 개의 데이터 상태를 표시할 수 있다. 플래시 메모리 셀은 2개 이상의 데이터 상태, 예를 들어, 1111, 0111,0011, 1011, 1001, 0001, 0101, 1101, 1100, 0100, 0000, 1000, 1010, 0010, 0110 및 1110를 또한 저장할 수 있다. 이러한 셀은 다중 상태(multi state) 메모리 셀, 멀티디지트(multidigit) 셀, 또는 MLC(multilevel cells)로 불리울 수 있다. MLC는 메모리 셀의 수를 증가시키지 않고 더 높은 밀도 메모리의 제조가 가능하도록 할 수 있는데, 각 셀이 하나의 디지트(digit) 이상, 예를 들어, 하나 이상의 비트를 표시할 수 있기 때문이다.
MLC는 하나 이상의 프로그램된 상태를 가질 수 있는데, 예를 들어, 두 개의 디지트를 표시할 수 있는 셀은 4개의 프로그램된 상태를 가질 수 있고, 3개의 디지트를 표시할 수 있는 셀은 8개의 프로그램 상태를 가질 수 있고, 4개의 디지트를 표시할 수 있는 셀은 16개의 프로그램된 상태를 가질 수 있다. 따라서, MLC는 2B 개의 프로그램된 상태를 가질 수 있다 (여기서, B는 셀에 저장될 수 있는 이진 디지트의 수와 동일). 종래적으로, 프로그램된 상태는 데이터 상태를 직접적으로 표시한다. 예를 들어, 두 개의 이진 디지트를 저장할 수 있는 셀은 11, 01, 10 및 00과 같은 4개의 데이터 상태의 하나에 직접적으로 상응하는 4개의 프로그램된 상태의 하나로 프로그램될 수 있다.
도 1은 본 발명의 하나 이상의 실시예에 따른 비휘발성 메모리 어레이의 부분의 개략도이다.
도 2는 본 발명의 하나 이상의 실시예에 따른 메모리 장치에 대한 많은 임계 전압 수준의 다이어그램을 도시한다.
도 3A는 몇몇 이전 접근법(previous approaches)에 따른 두 개의 2 비트 메모리 셀의 세트에 대한 데이터 변환(conversion)표를 도시한다.
도 3B는 본 발명의 하나 이상의 실시예에 따른 두 개의 2.5 비트 메모리 셀의 세트에 대한 데이터 변환표를 도시한다.
도 4A는 본 발명의 하나 이상의 실시예에 따라 동작되는 적어도 하나의 메모리 장치를 갖는 전자 메모리 시스템의 기능적 블록도이다.
도 4B는 본 발명의 하나 이상의 실시예에 따른 분수 비트 제어기의 기능적 블록도이다.
도 5는 본 발명의 하나 이상의 실시예에 따른 적어도 하나의 메모리 장치를 갖는 메모리 모듈의 기능적 블록도이다.
하나의 방법 실시예는 메모리 셀의 세트에서 비트의 정수로서 표시되는 데이터 상태에 상응하는 전하(charges)를 저장하는 단계를 포함한다. 상기 방법은 세트의 셀에 전하를 저장하는 단계를 또한 포함하는 바, 전하는 프로그램된 상태에 상응하고, 프로그램된 상태는 비트의 분수를 표시하고, 프로그램된 상태는 N진수(base)로 표시되는 데이터 상태의 디지트를 나타낸다 (N은 정수로 올림한 2B 와 동일하고, B는 프로그램된 상태로 표시되는 비트의 분수와 동일함).
다음의 본 발명의 상세한 설명에서, 본 발명의 부분을 형성하는 첨부된 도면을 참조하고, 도면에서 어떻게 본 발명의 하나 이상의 실시예가 실행될 수 있는지 도시하는 방법에 의해 도시된다. 이러한 실시예는 당업자가 본 발명의 실시예를 실행할 수 있도록 충분히 상세히 설명되고, 다른 실시예가 사용될 수 있다는 것과, 공정, 전기적 및/또는 구조적 변경이 본 발명의 범위를 벗어나지 않고 행해질 수 있다는 것이 이해되어야 한다.
도 1은 비휘발성 메모리 어레이(100)의 부분의 개략도이다. 도 1의 실시예는 낸드(NAND) 아키텍처 비휘발성 메모리를 도시한다. 그러나, 본원에 기재된 실시예는 이 예시에 한정되지 않는다. 도 1에 도시된 바와 같이, 메모리 어레이(100)은 선택 라인(105-1, ..., 105-N) 및 교차하는(intersecting) 감지 라인(107-1, ..., 107-M)을 포함한다. 디지털 환경에서 어드레싱(addressing)의 용이를 위하여, 선택 라인(105-1, ..., 105-N)의 수 및 감지 라인(107-1, ..., 107-M)의 수는 2의 각 소정 제곱, 예를 들어, 4,096개 감지 라인에 의한 256개 선택 라인이다.
메모리 어레이(100)는 낸드 스트링(string)(109-1, ..., 109-M)을 포함한다. 각 낸드 스트링은, 각각이 선택 라인(105-1, ..., 105-N)과 로컬 감지 라인(107-1, ..., 107-M)의 교차점(intersection)에 위치하는 비휘발성 메모리 셀(111-1, ..., 111-N)을 포함한다. 각 낸드 스트링(string)(109-1, ..., 109-M)의 비휘발성 메모리 셀(111-1, ..., 111-N)은 소스 선택 게이트(source select gate, SGS), 예를 들어, 전계효과(field-effect) 트랜지스터 (FET, 113)와 드레인 선택 게이트(drain select gate, SGD), 예를 들어, FET(119) 사이에서 직렬로 소스가 드레인에 접속된다. 소스 선택 게이트(113)은 로컬 감지 라인(107-1)과 소스 선택 라인(117)의 교차점에 위치되는 반면 드레인 선택 게이트(119)는 로컬 감지 라인(107-1)과 드레인 선택 라인(115)의 교차점에 위치된다.
도 1에 도시된 실시예에서 도시된 바와 같이, 소스 선택 게이트(113)의 소스는 공통(common) 소스 라인(123)에 접속된다. 소스 선택 게이트(113)의 드레인은 상응하는 낸드 스트링(109-1)의 메모리 셀(111-1)의 소스에 접속된다. 드레인 선택 게이트(119)의 드레인은 드레인 접촉(contact)(121-1)에서 상응하는 낸드 스트링(109-1)에 대한 로컬 감지 라인(107-1)에 접속된다. 드레인 선택 게이트(119)의 소스는 상응하는 낸드 스트링(109-1)의 마지막 메모리 셀(111-N)의 드레인, 예를 들어, 플로팅 게이트 트랜지스터,에 접속된다.
하나 이상의 실시예에서, 비휘발성 메모리 셀(111-1, ..., 111-N)의 구조(construction)는 소스, 드레인, 플로팅 게이트 또는 다른 전하 스토리지(storage) 층, 및 제어 게이트를 포함한다. 비휘발성 메모리 셀(111-1, ..., 111-N)은 선택 라인(105-1, ..., 105-N)에 각각 결합된 그들의 제어 게이트를 갖는다. 비휘발성 메모리 셀(111-1, ..., 111-N)의 열은 주어진 로컬 감지 라인, 예를 들어, 107-1, ..., 107-M에 각각 결합된 낸드 스트링, 예를 들어, 109-1, ..., 109-M를 구성한다. 비휘발성 메모리 셀의 행은 대체로 주어진 선택 라인, 예를 들어, 105-1, ..., 105-N에 결합된다. 노어(NOR) 어레이 아키텍처는, 메모리 셀의 스트링이 선택 게이트 사이에 병렬로 결합되는 것을 제외하고, 유사하게 레이아웃(laid out)될 것이다.
당업자가 이해할 것인 바와 같이, 선택된 선택 라인, 예, 105-1, ..., 105-N에 결합된 셀의 서브세트(subsets)는 하나의 그룹으로서 함께 프로그램될 수 있고/있거나 감지(sense)될 수 있다. 프로그램 동작, 예를 들어, 기록(write) 동작은 선택된 셀의 임계 전압(Vt)을 바람직한 프로그램 상태에 상응하는 바람직한 프로그램 전압 수준으로 증가시키기 위하여, 많은 프로그램 펄스, 예를 들어, 16V-20V를 선택된 선택 라인에 인가하는 단계를 포함한다.
판독 또는 프로그램 검증(verify) 동작과 같은 감지 동작은, 선택된 셀의 상태를 결정하기 위하여 선택된 셀에 결합된 감지 라인의 전압 및/또는 전류 변화를 감지하는 단계를 포함할 수 있다. 본 발명의 하나 이상의 실시예에서, 감지 동작은 메모리 셀의 세트의 각 셀에 저장되는 전하를 결정하기 위하여 사용될 수 있는 바, 전하는 프로그램된 상태에 상응하고, 프로그램된 상태는 비트의 분수를 나타낸다. 감지 동작은 선택된 메모리 셀에 연관된 소스 라인, 예를 들어 소스 라인(123),에 대한 바이어스 전압 위의 전압에서 선택된 메모리 셀에 연관된 감지 라인, 예를 들어 감지 라인(107-1),을 바이어스하는 단계를 포함할 수 있다. 감지 동작은, 선택된 셀이 도전(conduct)하기 시작할 때 방전(discharge)이 뒤따르는, 감지 라인(107-1)을 프리차지(precharging)하는 단계, 및 상기 방전을 감지하는 단계를 교대로(alternatively) 포함할 수 있다.
선택된 셀의 상태를 감지하는 단계는, 선택되지 않은 셀의 임계 전압에 독립적인 도전 상태에서 선택되지 않은 셀을 위치(place)시키기에 충분한 전압에서 스트링의 선택되지 않은 셀을 바이어스 하면서, 선택된 선택 라인에 감지 전압을 인가하는 단계를 포함할 수 있다. 판독 및/또는 검증(verified)될 선택된 셀에 상응하는 감지 라인은, 선택된 셀이 선택된 선택 라인에 인가되는 특정 감지 전압에 반응하여 도전되는지를 결정하기 위해 감지될 수 있다. 예를 들어, 선택된 셀의 상태는 감지 라인 전류가 특정 상태에 연관된 특정 기준(reference) 전류에 도달하는 선택 라인 전류에 의해 결정될 수 있다. 특정 기준 전류에 도달하는 단계는, 감지 라인 전류가 특정 전하(예, 프로그램된 상태)에 대하여 감지 증폭기를 작동시킬(trip) 때 결정될 수 있다.
당업자가 이해할 바와 같이, 낸드 스트링에서 선택된 메모리 셀위에서 수행되는 감지 동작에서, 스트링의 선택되지 않은 메모리 셀은 도전 상태에 있도록 바이어스된다. 이러한 감지 동작에서, 선택된 셀에 저장되는 데이터는 스트링에 상응하는 감지 라인상에서 감지되는 전류 및/또는 전압에 기반될 수 있다. 예를 들어, 선택된 셀에 저장되는 데이터는, 감지 라인 전류가 소정량에 의해 변하는지 또는 주어진 지속 시간에서 소정 수준에 도달하는지 여부에 기반될 수 있다.
선택된 셀이 도전 상태에 있을 때, 전류는 스트링의 일단(one end)의 소스 라인 접촉과 스트링의 타단(the other end)의 감지 라인 접촉 사이를 흐른다. 이와 같이, 선택된 셀을 감지하는데 연관된 전류는 스트링의 다른 셀, 셀 스택(stacks) 사이의 분산된(diffused) 영역, 및 선택 트랜지스터의 각각을 통하여 이송된다.
본 발명의 하나 이상의 실시예에서, 메모리 셀은 비트의 정수 또는 분수 어느 하나에 상응하는 많은 임계 전압 수준의 하나로 프로그램될 수 있다. 셀은 12개의 프로그램된 상태의 하나로 프로그램됨으로써 3½ 비트를 저장할 수 있다. 비트의 정수를 출력하기 위하여, 3½ 비트를 저장하는 셀의 짝수로부터의 데이터는 제어 회로, 예를 들어 분수 비트 제어기에서 논리(logic)에 의해 결합될 수 있다. 예를 들어, 도 1에 도시된 실시예에서, 감지 라인(107-1 및 107-2)에 결합된 ½ 분수 나머지(remainder) (예, 3½ 비트)를 갖는 각각 많은 비트를 저장하는 셀(111-1 및 112-1)로부터의 데이터는 비트의 정수를 출력하도록 제어 회로에서 논리에 의해 결합될 수 있다.
도 2는 본 발명의 하나 이상의 실시예에 따른 메모리 장치에 대한 많은 임계 전압 수준의 다이어그램(200)을 도시한다. 표시된 바와 같이, 수직 축은 증가하는 전압 수준을 나타낸다. 본 발명의 실시예는 메모리 장치에 대한 특정 전압 범위에 한정되지 않는다. 예를 들어, 몇몇 플래시 메모리 장치는 -2V 내지 +3V의 전압 범위에서 동작한다.
행(210)은 메모리 셀에 저장될 수 있는 비트의 수를 가리킨다. 행(220)은 메모리 셀이 프로그램될 수 있는 프로그램된 상태의 수를 나타낸다. 1 비트 셀은 전하, 예를 들어 임계 전압 수준(Vt)으로서 두 개의 상이한 프로그램된 상태의 하나를 저장할 수 있다. 1½ 비트 셀은 3개의 프로그램된 상태를 저장할 수 있고; 2 비트 셀은 4개의 프로그램된 상태를 저장할 수 있다. 당업자가 이해할 바와 같이, 몇몇 메모리 장치에 대하여, 특정 메모리 셀상에 저장가능한 최하위 프로그램된 상태는 소거(erased) 상태라고 불리울 수 있는데, 셀이 소거 동작 이후에 최하위 상태에 있을 수 있기 때문이다. 하나 이상의 프로그래밍하는 동작은 셀을 더 높은 Vt 수준으로 충전하기 위하여 수행될 수 있다. 따라서, 도 2의 도시에서, 각 열에 대한 최하위 프로그램된 상태는 수평 라인 아래에 나타나는데, 이것은 소거 상태일 수 있다는 것을 가리키는 것이다. 그러나, 이 도시는 일 예일 뿐이고 본 발명의 실시예는 소거 상태로서 취하위 상태를 갖는 셀에 한정되지 않는다.
도 2의 도시는, 셀 내의 저장가능한 프로그램된 상태의 수가 정수치, 예를 들어 2, 3, 4, ..., 16, 만큼 증가함에 따라, 상응하는 비트의 수도 분수치, 예를 들어 1, 1½, 2, 2¼, 2½, ..., 4, 만큼 증가하는 것을 나타낸다. 예로서, 1 비트 셀에 대한 열은 이진에서 0 및 1로서 나타낼 수 있는 두 개의 프로그램된 상태를 포함할 수 있다. 2 비트 셀에 대한 열은 이진에서 00, 01, 10 및 11로 표시낼 수 있는 4개의 프로그램된 상태를 포함한다. 그러나, 행(230)은 이진에 직접 상응하지 않는 2½ 비트 셀에 대하여 6개의 프로그램된 상태를 포함한다. 즉, 단일 2½ 비트 셀에 저장된 데이터의 이진 수적(numerical) 표시가 없다. 그러나, 비트의 분수를 개별적으로 저장하는 셀의 세트에 저장되는 이진 데이터는 수적으로 표시될 수 있다. 도 3B와 관련하여 아래에서 더 상세히 설명되는 바와 같이, 비트의 분수를 저장하는 셀은 적어도 저장된 비트의 수의 분수 나머지의 역수(inverse)에 상응하는 셀의 수와 결합되어 세트로서 판독될 수 있다. 예를 들어, 두 개의 2½ 비트 셀은 함께 판독되어 5비트 출력을 생성할 수 있고, 4개의 3¼ 비트 셀은 함께 판독되어 13 비트 출력을 생성할 수 있다. 이의 이진값에 상응하는 소정 분수 비트 셀에 저장된 예를 들어 임계 전압 수준으로 표시되는 이의 프로그램된 상태의 고려사항(consideration)이 도 3B와 관련하여 아래에서 논의된다.
도 2에 도시된 바와 같이, 임계 전압 분포(distribution), 즉, 소정 Vt 수준내 전압의 범위는 주어진 전압 범위를 갖는 소정 메모리 셀에 저장된 Vt 수준의 증가되는 수에 대해 비례하여 감소할 수 있다. 예를 들어, 셀이 0V-1V 전압 범위를 갖고 2개의 프로그램된 상태를 저장할 수 있다면, 더 큰 범위의 전압이 각 Vt 수준(예, 0.5V)에 대하여 사용가능할 수 있다. 그러나, 동일한 셀이 10개의 프로그램된 상태를 저장한다면, 더 작은 범위의 전압이 각 Vt 수준(예, 0.1V)에 대하여 사용가능할 수 있다. 다단계 셀에 대한 전압 범위의 부분(portions)은, 다른 이유중에서도 정확한 프로그래밍 및/또는 감지의 정확성을 향상시키기 위하여 Vt 수준 사이의 차(differentials)에 대하여 보류(reserved)될 수 있다. 당업자가 이해할 바와 같이, 본원에 주어진 예시는 본 발명의 측면을 강조하기 위하여 상세함의 감소된 수준을 갖는다.
특정 셀에 대한 프로그램된 상태(예, Vt 수준)는 번호를 매길 수 있다. 예를 들어, 2½ 비트 셀에 대한 6개의 프로그램된 상태는 행(230)에 도시된 바와 같이 0, 1, 2, 3, 4 및 5로 번호를 매길 수 있다. 이러한 번호 매긴 프로그램된 상태는 도 3B와 관련하여 아래에서 더 상세히 설명될 바와 같이 데이터 상태의 디지트를 나타낼 수 있다. 또한, 특정 프로그램된 상태에 상응하는 전하, 예를 들어 전압 수준,은 프로그램된 상태에 대하여 정규화(normalized) 값으로 불리울 수 있다. 특정 메모리 셀은 전압의 주어진 범위내에서 전하를 저장할 수 있다. 메모리 장치는 특정 셀에 대한 전압 범위로부터의 특정 메모리 셀에 저장가능한 프로그램된 상태의 수에 의해 프로그램된 상태를 정규화할 수 있다.
도 3A는 몇몇 이전 접근법에 따른 두 개의 2 비트 메모리 셀의 세트에 대한 데이터 변환표(301)를 도시한다. 표(301)는 0V-1V의 범위를 갖는 두 개의 2 비트 메모리 셀의 세트에 대한 데이터 변환표를 도시한다. 행(311)은 데이터 상태를 셀의 세트에 저장되는 전하로 표시될 수 있는 이진 값의 형태로 나타낸다. 이 경우에, 행(311)은 이러한 두 개의 메모리 셀이 16개의 데이터 상태를 표시하는데 사용될 수 있다는 것은 나타낸다. 도 2와 관련하여 위에서 주목된 바와 같이, 각 2 비트 셀은 4개의 프로그램된 상태의 하나를 저장할 수 있다. 행(321)은 행(311)의 이진 값에 대한 십진 등가치(equivalent)를 표시한다. 행(331)은 십진 및 이진 값에 대한 4진수 등가치(equivalent)를 표시한다. 표(301)은 4진수 등가치를 포함하는데, 각 셀이 4개의 프로그램된 상태의 하나를 저장할 수 있는 2 비트 셀이기 때문이다. 도 4B와 관련하여 아래에서 설명되는 바와 같이, 세트의 각 셀이 저장할 수 있는 프로그램된 상태의 수에 상응하는 진수로 표시되는 데이터는 데이터를 표시하기 위해 하나 이상의 셀상에 전하를 저장하는데 유용할 수 있다. 세트의 특정 셀에 대하여 프로그램된 상태의 수에 상응하는 진수로 표시되는 데이터는 데이터를 출력하기 위해 하나 이상의 셀을 감지할 때 또한 유용할 수 있다.
행(341)은 두 개의 셀 세트에 저장될 이진 값(데이터 상태를 표시하는)에 상응하는 십진수로 표시되는 바와 같은 프로그램된 상태를 나타낸다. 독자가 이해할 바와 같이, 프로그램된 상태는 행(331)에서 세트의 두 개의 셀 사이의 4진수의 스플리트(split)을 나타낸다. 행(341)의 셀 십진수는 도 2와 관련하여 역시 상술된 바와 같이, 각 셀이 프로그램될 수 있는 번호를 매긴 프로그램된 상태(예, Vt 수준)를 나타낼 수 있다.
행(351)은 행(311)에서 이진 값을 표시하기 위해 세트의 각 셀이 프로그램될 수 있는 전압을 나타낸다. 위에서 주목된 바와 같이, 표(301) 각각에 대하여 예시로 사용된 세트의 메모리 셀은 0V-1V의 전압 범위를 갖는다. 각 셀은 4개의 프로그램된 상태를 갖고 상태당 전압 증분(increment)은 .025이다. 따라서, 프로그램된 상태(0)은 0V에 상응하고, 프로그램된 상태(1)은 0.25V에, 프로그램된 상태(2)는 0.50V에, 프로그램된 상태(3)는 0.75V 에 상응한다. 전압 범위 및 리스트된 이러한 범위의 분포는 예시이다. 당업자는 상이한 전압 범위를 사용할 수 있거나, 범위를 상이하게 분포할 수 있다. 독자가 이해할 바와 같이, 각 셀에 저장된 전하, 예를 들어 전압,은 프로그램된 상태에 직접적으로 상응하고, 이는 데이터 상태에 직접적으로 상응한다. 즉, 비트의 정수를 표시하는 프로그램된 상태에 상응하는 전하를 저장하는 메모리 셀은 의미있는 데이터를 출력하기 위해 개별적으로 감지될 수 있다. 대조적으로, 비트의 분수를 표시하는 프로그램된 상태에 상응하는 전하를 저장하는 메모리 셀은, 도 3B와 관련하여 아래에 설명될 바와 같이, 의미있는 데이터를 출력하기 위하여 세트에서 감지되어야 한다.
도 3B는 본 발명의 하나 이상의 실시예에 따른 두 개의 2.5 비트 메모리 셀의 세트에 대한 데이터 변환표(302)를 도시한다. 표(302)는 0V-1V의 범위를 갖는 2.5 비트 메모리 셀에 대한 데이터 변환 표를 도시한다. 행(312)은 데이터 상태를 셀의 세트에 저장되는 전하에 상응할 수 있는 이진 값의 형태로 표시한다. 이 경우에, 행(312)은 이러한 두 개의 메모리 셀이 아래에 설명된 바와 같이 4개의 여분의(extra) 결합을 갖는 32개의 데이터 상태를 표시하는데 사용될 수 있다는 것을 나타낸다. 두 개의 2½ 비트 셀의 세트는 5 비트를 저장할 수 있다. 행(322)는 행(311)의 이진 값에 대한 십진 등가치를 표시한다. 행(332)은 십진 및 이진 값에 대한 6진수 등가치를 표시한다. 표(302)는 6진수 등가치를 포함하는데, 이는 각 셀이 6개의 프로그램된 상태의 하나를 저장할 수 있는 2½ 비트 셀이기 때문이다.
행(342)는 각 셀에 대하여 번호를 매긴 프로그램된 상태를 표시한다. 독자가 이해할 바와 같이, 프로그램된 상태는 행(332)에서 세트의 두 개의 셀 사이의 6진수의 스플리트를 표시한다. 행(342)에서 각각의 번호를 매긴 프로그램된 상태는 행(332)의 6진수로 표시되는 데이터 상태의 디지트를 나타낸다.
행(352)은 세트의 각 셀이 프로그램될 수 있는 전하, 예를 들어 전압,이 행(342)의 프로그램된 상태에 상응하다는 것을 가리킨다. 위에서 주목된 바와 같이, 표(302)에 대한 예시로 사용되는 세트의 메모리 셀은 0V-1V의 전압 범위를 갖는다. 각 셀은 6개의 프로그램된 상태를 갖기 때문에 상태당 전압 증분은
Figure 112010034314213-pct00001
이다. 따라서, 프로그램된 상태(0)은 0V에 상응하고, 프로그램된 상태(1)은 0.17에, 프로그램된 상태 2는 0.34V에, 프로그램된 상태(3)은 0.51V에, 프로그램된 상태(4)는 0.68V에, 프로그램된 상태(5)는 0.85V에 상응한다. 전압 범위 및 리스트된 이러한 범위의 분포는 예시이다. 당업자는 상이한 전압 범위를 사용할 수 있거나, 범위를 상이하게 분포할 수 있다.
독자가 이해할 바와 같이, 두 개의 2½ 비트 셀의 세트는 상이한 5 비트 결합으로 표시되는 각 데이터 상태를 갖는 각 가능한 데이터 상태를 저장하는데 필요한 것보다 4개 더 많은 프로그램된 상태의 결합을 야기한다. 이러한 결합은 표(302) 362에서 '무효(invalid)'로 표시된다. 즉, 프로그램된 상태의 결합(362)은 무효 결합인데, 그들이 데이터 상태에 상응하지 않기 때문이다. 도 4B와 관련하여 아래에서 설명되는 바와 같이, 오류 수정 코드(error correction code, ECC)는 프로그램된 상태의 무효 결합(362)으로 프로그램되는 셀의 세트에 연관되는 오류를 수정하는데 사용될 수 있다. 당업자가 이해할 바와 같이, 표(302)에 비교가능한 표는 2½ 이외의 비트의 분수를 저장하는 각 셀을 갖는 메모리 셀의 세트에 대하여 생성될 수 있다.
도 4A는 본 발명의 하나 이상의 실시예에 따라 동작되는 적어도 하나의 메모리 장치(420)를 갖는 전자 메모리 시스템의 기능적 블록도이다. 메모리 시스템(400)은 다단계 비휘발성 셀의 메모리 어레이(430)를 포함하는 비휘발성 메모리 장치(420)에 결합되는 프로세서(410)를 포함한다. 메모리 시스템(400)은 별개 집적 회로를 포함할 수 있거나, 프로세서(410) 및 메모리 장치(420) 모두가 동일한 집적 회로상에 있을 수 있다. 프로세서(410)는 마이크로프로세서일 수 있거나 어플리케이션-특정 집적 회로(application-specific integrated circuit, ASIC)와 같은 회로를 제어하는 다른 유형일 수 있다.
메모리 장치(420)는 도 1에 도시된 동일한 것과 같은, 플로팅 게이트 플래시 메모리 셀일 수 있는 비휘발성 메모리 셀(430)의 어레이를 포함한다.
도 4A의 실시예는 I/O 회로(460)를 통해 I/O 접속(462) 위에 제공되는 어드레스 신호를 래치하는 어드레스 회로(440)를 포함한다. 어드레스 신호는 메모리 어레이(430)에 엑세스하기 위해 행 디코더(decorder, 444) 및 행 디코더(646)에 의해 수신되고 디코드된다. 당업자는 어드레스 입력 접속의 수는 메모리 어레이(430)의 밀도 및 아키텍처에 따라 다르다는 것 및, 어드레스의 수는 메모리 셀의 증가되는 수 및 메모리 블록 및 어레이의 증가된 수 모두와 함께 증가된다는 것을 이해할 것이다.
비휘발성 셀의 메모리 어레이(430)는 본원에 설명된 실시예에 따른 Vt 수준, 감지 전압 및 비트의 수의 상이한 수를 갖는 비휘발성 다단계 메모리 셀을 포함할 수 있다. 메모리 장치(420)는 이 실시예에서 판독될 수 있고/회로(450)를 래치(latch)할 수 있는 감지/버퍼(buffer) 회로를 사용하여 메모리 어레이 열에서 전압 및/또는 전류 변화를 감지함으로써 메모리 어레이(430)에서 데이터를 감지한다. 판독/래치 회로(450)은 메모리 어레이(430)로부터 데이터의 페이지를 판독 및 래치할 수 있다. I/O 회로(460)는 프로세서(410) 및 제어 회로(470)와 I/O 접속(462) 위의 양방향(bi-directional) 데이터 통신을 위하여 포함된다. 기록 회로(455)는 데이터를 메모리 어레이(430)에 기록하기 위해 포함된다.
제어 회로(470)는 프로세서(410)로부터의 제어 접속(472)에 의해 제공되는 신호를 디코드하고, I/O 회로(460)와 양방향 통신에 있다. 이 신호는 칩(chip) 신호, 기록가능(write enable) 신호, 및 데이터 감지, 데이터 기록 및 데이터 소거 동작을 포함하는 메모리 어레이(430)상 동작을 제어하는데 사용되는 어드레스 래치 신호를 포함할 수 있다. 하나 이상의 실시예에서, 제어 회로(470)는 프로세서(410)로부터 지시를 수행하여 본 발명의 실시예를 따른 동작을 수행하는데 책임이 있다. 제어 회로(470)은 상태 머신(state machine), 순서기(sequencer), 또는 제어기의 몇몇 다른 유형일 수 있다. 당업자는 추가적 회로 및 제어 신호가 제공될 수 있다는 것 및 도 4A의 메모리 장치의 상세함은 도시의 용이를 촉진하기 위하여 축소된 것을 이해할 것이다. 제어 회로(470)는 본 발명의 하나 이상의 실시예를 수행하는데 사용될 수 있는 분수 비트 제어기(480)를 포함한다. 선택적으로(optionally), 분수 비트 제어기(480)는 제어 회로(470)로부터 분리된 요소(component)일 수 있다.
도 4B는 본 발명의 하나 이상의 실시예에 따른 분수 비트 제어기(480)의 기능적 블록도이다. 분수 비트 제어기(480)은 도 4A와 관련하여 상술된 바와 같이 프로세서(410) 및 I/O 회로(460)과 양방향 통신에 있는 것으로 도시된다. 독자가 이해할 바와 같이, 분수 비트 제어기(480)는 제어 회로, 예를 들어 도 4A의 제어 회로(470)의 부분일 수 있거나, 메모리 장치의 독립적 요소일 수 있다.
분수 비트 제어기(480)는 메모리 셀에 저장될 다른 데이터에 오류 수정 정보를 첨가하기 위한 외부 오류 수정 코드(ECC) 인코더(encoder, 481)를 포함할 수 있다. 비트의 정수를 출력하기 위해 세트에서 함께 판독되는 메모리 셀에서 비트의 분수를 저장하는 것은 비트의 정수내 값의 모든 결합을 출력하기 위해 필요한 것보다 더 많은 비트 결합을 야기할 수 있다. 예시가 도 3B 및 요소(element, 362)와 관련하여 위에서 설명된다. 요소(362)에서 표시된 이러한 비트 결합은 '무효 결합(invalid combinations)'으로 불리울 수 있다. 독자가 이해할 바와 같이, 도 3B에 도시된 특정 무효 결합은 예시이다. 다른 실시예에서, 도 3B에 나타난 무효 결합(362)은 데이터를 나타낼 수 있는 반면, 도 3B에서 데이터를 표시하는 특정 유효 결합은 무효 결합으로 나타낼 수 있다.
외부 ECC 인코더(481)은 오류 수정 정보를 표시하는 적어도 하나의 데이터 상태를 가리키는 분수 비트 패커(packer)에 신호를 보낼 수 있다. 외부 ECC 인코더(481)는 당업자가 이해할 바와 같이 오류 수정 정보, 예를 들어 블록 코드(block code),에 따라 또한 인코드할 수 있다. 외부 ECC 인코더(481)은 메모리 셀의 세트에 대한 프로그램된 상태 결합이 무효 결합을 야기하는 것을 가리키는 논리를 포함할 수 있다. 외부 ECC 인코더(481)상 논리는 오류를 더 잘 수정하기 위해 무효 결합의 이러한 표시를 사용할 수 있다. 또한, 어떤 프로그램된 상태의 결합이 무효 결합을 야기하는지의 선택(choice)은 오류 수정을 촉진하기 위해 변경될 수 있다. 외부 ECC 인코더(481)은 오류 수정 정보로 인코드될 데이터를 수신하기 위한 프로세서(410)와 인터페이스를 가질 수 있다. 외부 ECC 인코더(481)는, 데이터가 ECC 정보로 인코드된 후에 전송하기 위해 분수 비트 패커(483)와 인터페이스를 또한 가질 수 있다.
분수 비트 제어기(480)는 외부 ECC 인코더(481)로부터 및 내부 ECC 인코더(485)로의 인터페이스를 갖는 분수 비트 패커(483)을 포함할 수 있다. 몇몇 실시예에서, 분수 비트 패커(483)는 비트의 정수를 표시하는 적어도 하나의 데이터 상태를 나타내는 적어도 하나의 신호를 수신할 수 있고, 비트의 분수를 표시하는 프로그램된 각 상태의 수를 나타내는 적어도 하나의 신호를 보낼 수 있는데, 여기서 프로그램된 상태의 수는 N진수로 표시되는 데이터 상태의 디지트를 나타내는 바, 여기서 N은 정수로 올림한 2B 와 동일하고, 여기서 B는 비트의 분수와 동일하다.
분수 비트 패커(483)는 셀의 세트에 저장되는 비트의 수를 표시하는 데이터 상태로 이진 데이터를 파싱(parse)할 수 있다. 메모리 셀의 세트는, 세트의 각 셀에 저장되는 비트가 결합될 때, 비트의 정수를 생성하는데 필요한 셀의 수에 기반하여 선택될 수 있다. 예를 들어, '00100100100000010000100101'과 같은 이진 데이터의 특정 스트링은 4개의 3¼ 비트 셀의 세트 (즉, 세트의 각 셀이 10개의 프로그램된 상태의 하나로 프로그램될 수 있는 곳)에 저장될 수 있다. 분수 비트 패커(483)상 논리는 데이터를 '0010010010000_0010000100101'과 같은 13 비트의 두 개 그룹으로 표시되는 두 개의 데이터 상태로 나눌 수 있고, 여기서 두 데이터 상태의 각각은 213 (8192)개 가능한 데이터 상태의 하나이고, 여기서 각 데이터 상태는 4개의 3¼ 비트 셀의 세트에 저장될 수 있다 (즉, 데이터 상태는 셀의 세트에 저장될 수 있는 프로그램된 상태의 104 (10,000)개 가능한 결합의 각자 하나로 고유하게(uniquely) 표시될 수 있음).
분수 비트 패커(483)는 N진수에 대한 이진으로부터 각 데이터 상태를 또한 변환시킬 수 있는데, 여기서 N은 정수로 올림한 2B 와 동일하고, B는 특정 셀에 저장되는 비트의 수와 동일하다. 상기 예시를 계속하면, 13 비트의 그룹에 의한 각 데이터 상태의 표시는 (이진 표기(notation))로부터) 진수 (2^3¼ = 9.51, 정수 10으로 올림) 표기로 전환될 수 있다. 이 예시에서, 이진 디지트(비트) '0010010010000_0010000100101'로 표시되는 데이터는 10진수 표기에서 디지트 '1168_1061'로 나타낼 수 있다.
또한, 분수 비트 패커(483)는 N, 예를 들어 이 계속적 예시에서 10으로 N진수의 각 디지트를 나눌 수 있다. 이 계속적 예시에서 이 나뉨 동작의 결과는 0.1, 0.1, 0.6, 0.8_0.1, 0, 0.6, 0.1이다. N으로 디지트를 나누는 것은 메모리 셀로 프로그래밍하는 것에 대한 값을 준비할 수 있다. 이 공정은 데이터 상태를 프로그램된 상태로 패킹(packing)하는 것으로 설명될 수 있다. 따라서, 두 개의 데이터 상태의 각각이 상술한 알고리즘(algorithm)에 따라 결정되는 기저 표기에서 4 디지트, 즉, 프로그램된 상태로 표시될 수 있기 때문에, 분수 비트 패커는 4개의 셀의 세트를 선택할 수 있고, 상기 세트는 각 데이터 상태를 저장하는데 사용된다. 독자가 이해할 바와 같이, 분수 비트 패커(483)의 기능성은 비트의 수의 이 예시에 한정되지 않는다. 프로그램된 상태의 각각을 메모리 셀이 프로그램될 수 있는 전하로 연관시키는 공정은 기록 스케일러(scaler)(487)와 관련하여 아래에 설명된다.
계속적 예시의 외부에서, 이제 일반적으로 비트 패커(483)에 관하여, 비트 패커(483)는 상술한 패킹 동작을 수행하기 위해 많은 분할된 회로(divide-by circuit)를 포함할 수 있다. 예를 들어, 비트 패커(483)는 5로 분할된 회로, 6으로 분할된 회로, 7로 분할된 회로, 및 ¼ 분수 나머지를 갖는 비트를 저장하는 메모리 셀로 사용하기 위한 감산기(subtractor) 회로를 포함할 수 있다. 2¼ 비트 셀은 5개 프로그램된 상태의 하나를 저장할 수 있고, 2½ 비트 셀은 6개의 프로그램된 상태의 하나를 저장할 수 있고, 2¾ 비트 셀은 7개 프로그램된 상태의 하나를 저장할 수 있다. 따라서, 상술한 분할된 회로는 ¼ 비트 분수 나머지를 저장하는 셀에 대하여 프로그램된 상태로 데이터 상태를 패킹하기 위하여 비트 패커(483)에 의해 사용될 수 있다. 비록 3¼ 비트 셀이 프로그램된 상태의 더 많은 수의 하나로 프로그램될 수 있지만, 각각에 대한 프로그램된 상태의 수는 2¼ 비트 셀의 수의 정확히 2배이다. 이 경향은 모든 ¼ 비트 셀, 예를 들어, 4¼, 5¼ 등에 대하여 계속한다. 따라서, 동일한 회로가 당업자가 이해할 바와 같은 적절한 변형을 갖는 임의의 이러한 장치에 대하여 사용될 수 있다.
유사하게, 비트 패커(483)는 9로 분할된 회로, 10으로 분할된 회로, 11로 분할된 회로, 12로 분할된 회로, 13으로 분할된 회로, 14로 분할된 회로, 15로 분할된 회로, 및 1/8 분수 나머지를 갖는 비트를 저장하는 메모리 셀로 사용하기 위한 감산기 회로를 포함할 수 있다. 분할된 회로의 수는 특정 셀에 대하여 프로그램된 상태로 데이터 상태를 패킹하기 위해 비트 패커(483)에 의해 사용될 수 있다.
분수 비트 패커(483)는 비트의 상이한 수를 저장하는 메모리 셀에 저장되는 데이터로 또한 동작할 수 있다. 예를 들어, 사용되는 세트에서 셀의 수는 셀에 저장될 수 있는 비트의 분수 나머지에 대한 최소 공통 분모(least common denominator)에 기반하여 또한 선택될 수 있다. 예를 들어, 메모리 장치는 3 비트, 3¼ 비트, 3½ 비트 및 3¾ 비트를 저장하는 셀을 포함할 수 있다. 이 예시에서, 4개의 셀의 세트 크기는 4개에 대한 최소 공통 분모에 기반하여 선택될 수 있다. 또한, 세트 크기는 비트의 분수의 분수 나머지의 분모와 동등할 수 있다.4개의 세트 크기는, 두 개의 셀의 세트 크기는 그렇지 않으면 결합될 때 비트의 정수를 얻기에 충분할 수 있을지라도, 3½ 비트를 포함하는 셀에 데이터를 저장할 때 사용될 수 있다. 본원에 사용된 바와 같이, '분수 나머지'는 임의의 정수를 차감(discount)한, 메모리 셀에 저장되는 비트의 분수 값을 뜻한다. 예를 들어, 3¼ 비트를 저장한 셀은 분수 나머지 ¼을 갖는다. 따라서, 메모리 셀의 세트는 C셀을 포함할 수 있는데, C는 셀에 저장되는 비트의 수의 분수 나머지의 역과 같다.
분수 비트 제어기(480)는 분수 비트 패커(483)로부터의 인터페이스 및 기록 스케일러(487)로의 인터페이스를 갖는 내부 ECC 인코더(485)를 포함할 수 있다. 내부 ECC 인코더는 오류 수정 정보를 표시하는 적어도 하나의 프로그램된 상태를 가리키는 기록 스케일러(487)로 신호를 보낼 수 있다. 비트의 정수를 출력하기 위해 세트로서 함께 판독되는 메모리 셀에서 비트의 분수를 저장하는 것은, 비트의 정수내에서 모든 값의 결합을 출력하는데 필요한 것보다 패킹된 프로그램된 상태의 더 많은 결합을 야기할 수 있다. 도 3B 및 요소(362)에 관한 예시가 위에서 설명된다. 내부 ECC 인코더(485)는 오류 수정 정보, 예를 들어 길쌈 코드(convolutional code),를 당업자가 이해할 바와 같이 예를 들어 사용자 데이터를 저장하지 않는 셀의 블록에서 인코드할 수 있다. 외부 ECC 인코더(481)에 관하여 상술한 바와 같이, 내부 ECC 인코더(485)는 오류를 더 잘 수정하기 위하여 프로그램된 상태의 무효 결합의 지시를 사용할 수 있다. 내부 ECC 인코더(481)상 논리는 프로그램된 상태의 유효 결합을 사용하여 정보를 인코드하도록 기능할 수 있고, 프로그램된 상태의 무효 결합을 사용하여 정보를 인코딩하는 것을 피할 수 있다.
분수 비트 제어기(480)는 내부 ECC 인코더(485)로부터의 인터페이스를 갖는 기록 스케일러(487)를 포함할 수 있다. 몇몇 실시예에서, 기록 스케일러(487)는 셀의 세트가 프로그램될, 프로그램된 상태의 수를 가리키는 적어도 하나의 신호를 수신할 수 있고, 세트의 셀에 저장될, 셀의 세트에 대한 전압 범위로부터의 N에 의해 정규화되는 많은 전하를 가리키는 적어도 하나의 신호를 보낼 수 있다 (N은 위에서 정의됨).
기록 스케일러(487)은 메모리 셀에서 데이터를 저장, 예를 들어 프로그래밍,하기 위한 I/O 회로(460)을 갖는 인터페이스를 또한 가질 수 있다. 기록 스케일러(487)는 특정 셀에 대한 전압 범위로부터 N에 의해 정규화된 전하로서 분수 비트 패커(483)에 의해 변환된 수로 표시되는 데이터를 분포할 수 있다. 기록 스케일러(487)는 프로그램된 상태를 셀에 대한 전압 범위로 축소(scaling)함으로써 특정 프로그램된 상태에 상응하는 셀상에 전하를 저장하는데 사용될 수 있다. 본 발명의 하나 이상의 실시예에 따라, 특정 메모리 장치는 임의의 전압 범위를 가질 수 있다. 몇몇 플래시 메모리 셀은 -2V 내지 +3V 전압 범위에서 동작한다. 예시를 목적으로, 0V 내지 +1V의 전압 범위가 사용될 것이다. 위에서 정의된 바와 같이, N은 정수로 올림한 2B 와 동일한 진수이고 여기서 B는 특정 셀에 저장되는 비트의 수와 동일하다.
분수 비트 패커(483)에 관해 위에서 시작된 예시를 계속하여, 기록 스케일러(487)는 수 '1168_1061'로 표현되는 데이터를 10으로 정규화된 0V 내지 +1V의 예시 전압 범위를 가로질러 분포할 수 있다. 즉, 3¼ 비트를 저장하는 셀은 예를 들어 임계 전압 수준으로 표현되는 10개의 프로그램된 상태를 가질 수 있다. 이 예시에서, 1V/10 상태 = .1V/상태이다. 전압 수준은 그 후에 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8 및 0.9 볼트일 수 있다. 이 예시에서, 데이터 스트링은 언더스코어(underscore, _)로 가리키는 4개 셀의 세트에서 '0.1, 0.1, 0.6, 0.8_0.1, 0, 0.6, 0.1'로 분포될 것이다. 즉, 그룹의 각 디지트는 각 셀의 10개의 임계 전압 수준의 하나로 표시될 수 있다. 따라서, '1168'로 표시되는 데이터의 그룹은 4개의 셀로 표시될 수 있는데, 각각은 셀의 하나를 0.1V의 임계 전압 수준으로, 4개의 셀의 두번째를 0.1V 임계 전압 수준으로, 4개의 셀의 세번째를 0.6V의 임계 전압 수준으로, 및 4개의 셀의 네번째를 0.8V의 임계 전압 수준으로 프로그램함으로써와 같이, 3¼ 비트에 상응하는 프로그램된 상태의 수를 저장할 수 있다.
분수 비트 제어기(480)는 판독 스케일러(488)를 포함할 수 있다. 판독 스케일러(488)은 메모리 셀의 세트의 셀의 수에 저장된 전하의 수를 가리키는 적어도 하나의 신호를 수신할 수 있고, 전하의 수에 상응하는 프로그램된 상태의 수를 가리키는 적어도 하나의 신호를 보낼 수 있다.
판독 스케일러(488)는 제어 회로에 의해 제어되는 바와 같이, 감지 회로에 의해 감지되는 신호를 특정 셀이 저장할 수 있는 상태의 수에 따른 정규화된 값으로 변환하는데 사용될 수 있다. 새로운 예로서, OV 내지 1V의 전압 범위를 갖는 각 세트에 대하여 결합된 7 비트에 대하여 각각이 3½ 비트를 저장하는, 두 개의 셀의 두 세트를 고려한다. 각 셀은 12개 임계 전압 수준으로 표시되는 12개의 프로그램된 상태를 저장할 수 있다. 감지 회로는 예를 들어, 0.16V, 0.08V_0.32V, 0.40V의 전압을 감지할 수 있다. 판독 스케일러(488)상 논리는 전하를 정규화된 값으로 변환할 수 있다. 상술한 바와 같이, 값은 N에 의해 정규화될 수 있는데, 이 경우에 예를 들어 프로그램된 상태의 수 12, 정수로 올림된 2^(3½)이다. 따라서, 0.16V, 0.08V, 0.32V, 0.40V의 전압은 십진수 2, 1, 4, 5로 표시되는 프로그램 상태로 변환될 수 있다. 판독 스케일러(488)는 감지, 예를 들어 메모리 셀로부터 데이터를 판독하기 위한 I/O 회로를 갖는 인터페이스를 가질 수 있다. 판독 스케일러(488)은 내부 ECC 디코더(486)에 대한 인터페이스를 또한 가질 수 있다.
분수 비트 제어기(480)은 이 도면 및 도 3B와 관련하여 상술된 바와 같이, 데이터 상태의 하나를 표시하는데 사용되지 않는 프로그램 상태로서 저장되는 오류 수정 정보를 디코딩하기 위한 내부 ECC 디코더(486)을 포함할 수 있다. 내부 ECC 디코더(486)는 당업자가 이해할 바와 같이, 예를 들어 길쌈 코드로서 사용하기 위한 오류수정 정보를 디코드할 수 있다. 내부 ECC 디코더(486)는 판독 스케일러(488)로부터 인터페이스 및 분수 비트 언패커(unpacker)(484)로의 인터페이스를 가질 수 있다.
분수 비트 제어기(480)은 분수 비트 언패커(484)를 가질 수 있다. 분수 비트 언패커(484)는 프로그램된 상태의 수를 가리키는 적어도 하나의 신호를 수신할 수 있는데, 여기서 각 프로그램된 상태는 비트의 분수를 표시하고, 각 프로그램된 상태는 N진수로 표현되는 데이터 상태의 디지트를 나타내는데, 여기서 N은 정수로 올린 2B 와 동일하고, 여기서 B는 비트의 분수와 동일하다. 분수 비트 언패커(484)는 비트의 정수를 표시하는 데이터 상태를 가리키는 신호를 또한 보낼 수 있다.
분수 비트 언패커(484)는 프로그램된 상태가 N진수(N은 정수로 올림된 2B 와 동일하고, B는 비트의 분수와 동일함)로 표시되는 데이터 상태의 디지트를 나타내는 알고리즘에 따라 셀의 세트의 프로그램된 상태를 멀티플렉스(multiplex)하는데 사용될 수 있다. 분수 비트 언패커(484)는 세트의 각 셀로부터 정규화된 값을 결합할 수 있고 결합된 정규화된 값을 이진 값으로 변환할 수 있다. 판독 스케일러(488)와 관련하여 시작된 예시를 계속하여, 값 2, 1, 4, 5는 두 그룹으로 결합될 것인데, 이 예시에서, '21_45'를 얻는다. 이 결합된 정규화된 값은 이후에 이진 값으로 변환될 것이다. 상술한 바와 같이, 3½ 비트 셀에 대한 정규화된 값은 12진수에 있고, 분수 비트 언패커(484)에 의해 이진수로 변환될 것이다. 이 예시에서, 그 변환의 결과는 데이터의 7 이진 비트로서 0011001이다. 분수 비트 언패커(484)는 내부 ECC 디코더(486)으로부터 및 외부 ECC 디코더(482)로의 인터페이스를 가질 수 있다.
분수 비트 제어기(480)는 이 도면 및 도 3B와 관련하여 상술한 바와 같이, 데이터 상태를 표시하는데 사용되지 않는 비트 결합으로서 저장되는 오류 수정 정보를 디코딩하기 위한 외부 ECC 디코더(482)를 포함할 수 있다. 외부 ECC 디코더(482)는 당업자가 이해할 바와 같이 블록 코드로서 사용하기 위한 오류 수정 정보를 디코드할 수 있다. 외부 ECC 디코더(482)는 분수 비트 언패커(484)로부터의 인터페이스 및, 다른 동작 중에서 오류 수정 정보 및 데이터를 프로세스하기 위한 프로세서(410)을 갖는 인터페이스를 가질 수 있다.
당업자가 이해할 바와같이, 분수 비트 제어기(480)는 도 4B에 도시된 예시 실시예에 설명된 오류 수정 프로세싱의 모든 요소를 포함하지 않고 본 발명의 다양한 실시예에 따라 동작할 수 있다. 도 4B와 관련하여 본원에 제공되는 설명은 하나의 예시적 실시예를 도시하고, 본 발명에 따라 당업자에 의해 실행될 수 있는 다른 실시예의 한정이 아니다. 예를 들어, 요소 사이의 인터페이스의 상이한 결합 및/또는 정렬이 실행될 수 있다.
도 5는 본 발명의 하나 이상의 실시예에 따른 적어도 하나의 메모리 장치를 갖는 메모리 모듈(500)의 기능적 블록도이다. 메모리 모듈(500)은 메모리 카드로서 도시되지만, 메모리 모듈(500)을 참조로 논의된 개념은 제거가능하거나 휴대가능한 메모리 (예, USB 플래시 드라이브)의 다른 유형에 적용가능하고 본원에 사용된 '메모리 모듈'의 범위안에 속하도록 의도된다. 또한, 하나의 예시 형태 요소가 도 5에 도시되지만, 이러한 개념은 다른 형태 요소에도 또한 적용가능하다.
하나 이상의 실시예에서, 메모리 모듈(500)은 하나 이상의 메모리 장치(510)을 둘러싸는(enclose) 하우징(505)를 포함할 것이지만, 이러한 하우징은 모든 장치 또는 장치 어플리케이션에 필수적인 것은 아니다. 적어도 하나의 메모리 장치(510)는 본원에 설명된 실시예에 따라 프로그램 되고/되거나 판독될 수 있는 비휘발성 다단계 메모리 셀의 어레이를 포함한다. 여기서 현재, 하우징(505)는 호스트 장치와 통신을 위한 하나 이상의 접촉(515)을 포함한다. 호스트 장치의 예시는 디지털 카메라, 디지털 리코딩 및 재생(playback) 장치, PDA, 개인용 컴퓨터, 메모리 카드 리더, 인터페이스 허브(hubs) 등을 포함한다. 하나 이상의 실시예에 대하여, 접촉(515)은 표준화된(standardized) 인터페이스의 형태에 있다. 예를 들어, USB 플래시 드라이브로, 접촉(515)는 USB 유형-A 수형(male) 커넥터의 형태로 있을 수 있다. 하나 이상의 실시예에 대하여, 접촉(515)은 샌디스크 코포레이션에 의해 라이센스된 CompactFlashTM 메모리 카드, 소니 코포레이션에 의해 라이센스된 Memory StickTM, 도시바 코포레이션에 의해 라이센스된 SD Secure DigitalTM 등에서 발견될 수 있는 반-특허(semi-proprietary) 인터페이스 형태에 있을 수 있다. 그러나, 일반적으로, 접촉(515)은 메모리 모듈(500)과 접촉(515)에 대한 호환가능한(compatible) 수용기(receptors)를 갖는 호스트 사이의 출입(passing) 제어, 어드레스 및/또는 데이터 신호에 대한 인터페이스를 제공한다.
메모리 모듈(500)은 하나 이상의 집적 회로 및/또는 별개 부품(components)일 수 있는 추가적 회로(520)를 선택적으로(optionally) 포함할 수 있다. 하나 이상의 실시예에 대하여, 추가적 회로(520)는 다중 메모리 장치(510)를 가로지로는 액세스를 제어하고/제어하거나 외부 호스트와 메모리 장치(510) 사이의 병진(translation) 층을 제공하기 위한 메모리 제어와 같은 제어 회로를 포함할 수 있다. 예를 들어, 접촉(515)의 수와 하나 이상의 메모리 장치(510)에 510개의 접속의 수 사이에 일대일(one-to-one) 대응(correspondence)이 없을 수 있다. 따라서, 메모리 제어기는 메모리 장치(510)의 I/O 접속 (도 5에 도시되지 않음)을 선택적으로(selectively) 결합하여 적절한 시간에 적절한 I/O 접속에서 적절한 신호를 수신하거나 적절한 시간에 적절한 접속(515)에서 적절한 신호를 제공한다. 유사하게, 호스트 및 메모리 모듈(500) 사이의 통신 프로토콜(protocol)은 메모리 장치(510)의 액세스를 위해 필요한 것과 상이할 수 있다. 그 후에, 메모리 제어기는 호스트로부터 수신된 명령(command) 시퀀스를 적절한 명령 시퀀스로 병진할 수 있어 메모리 장치(510)에 대하여 바람직한 액세스를 달성한다. 이러한 병진은 명령 시퀀스에 더하여 신호 전압 수준에서 변화를 더 포함할 수 있다.
추가적 회로(520)는 ASIC에 의해 수행될 수 있는 논리 기능과 같은 메모리 장치(510)의 제어와 관련없는 기능성을 더 포함할 수 있다. 또한, 추가적 회로(520)는 패스워드 보호, 생체인식(biometrics) 등과 같은 메모리 모듈(500)에 판독 또는 기록 액세스를 제한하는 회로를 포함할 수 있다. 추가적 회로(520)는 접촉(515) 대신에 사용될 호스트 장치와 무선 통신을 위한 수단을 포함할 수 있다. 추가 회로(520)는 메모리 모듈(500)의 상태를 표시하는 회로를 포함할 수 있다. 예를 들어, 추가적 회로(520)는 전력(power)이 메모리 모듈(500)에 제공되는지 여부 및, 메모리 모듈(500)이 현재 액세스되는지 여부를 결정하고, 전력이 공급되는 동안은 점멸하지 않는 광(solid light), 액세스되는 동안에는 점멸하는 광과 같은, 그 상태의 표시를 디스플레이하기 위한 기능성을 포함할 수 있다. 추가적 회로(520)은 메모리 모듈(500)내의 전력 필요(requirements) 규제(regulate)를 돕는 분리(decoupling) 커패시터(capacitor)와 같은 수동(passive) 장치를 더 포함할 수 있다.
본 발명은 메모리 셀을 프로그래밍하기 위한 방법, 장치, 모듈 및 시스템을 포함한다. 하나의 방법 실시예는 메모리 셀의 세트에서 비트의 정수를 표시하는 데이터 상태에 상응하는 전하를 저장하는 단계를 포함한다. 방법은 세트의 셀에 전하를 저장하는 단계를 또한 포함하는데, 전하는 프로그램된 상태에 상응하고, 프로그램된 상태는 비트의 분수를 표시하고, 프로그램된 상태는 N진수 (N은 정수로 올림한 2B 와 동일하고, B는 프로그램된 상태로 표시되는 비트의 분수와 동일함)로 표시되는 데이터 상태의 디지트를 나타낸다.
본원에 특정 실시예가 도시되고 설명되었지만, 당업자는 동일한 결과를 달성하도록 계산된 배열(arrangement)이 도시된 특정 실시예에 대하여 대신될 수(substituted) 있다는 것을 이해할 것이다. 본 발명은 본 발명의 하나 이상의 실시예들의 적응(adaptations) 또는 변형(variations)을 포함시키도록(cover) 의도된다. 상기 설명은 예시적(illustrative) 방식(fashion)으로 설명되고 제한적 방식으로 설명되지 않는다는 것이 이해된다. 상기 실시예의 결합, 및 본원에 특정하게 설명되지 않은 다른 실시예는 상기 설명을 검토하면 동업자에게 명확할 것이다. 본 발명의 하나 이상의 실시예의 범위는 상기 구조 및 방법이 사용되는 다른 어플리케이션을 포함한다. 따라서, 본 발명의 하나 이상의 실시예의 범위는 첨부된 청구항을 참조하여, 이러한 청구항에 동등한 전체(full) 범위을 따라 결정되어야 한다.
상기 상세한 설명에서, 본 발명을 간소화(streamlining)할 목적으로 단일 실시예에 몇몇 특징이 함께 그룹화(grouped)된다. 발명의 이 방법은 본 발명의 설명된 실시예가 각 청구항에서 표현적으로 열거된 이상의 더 많은 특징을 사용해아만 한다는 의도를 반영한다고 의도되지 않는다. 오히려, 다음 청구항이 반영하는 바와 가이, 발명적 주제(inventive subject matter)는 단일의 설명된 실시예의 모든 특징보다 적게 있다. 따라서, 다음의 청구항은 자체의 별개 실시예에 기초하는 각 청구항으로 상세한 설명에 혼입된다.

Claims (25)

  1. 메모리 셀(111-1, ..., 111-N)을 프로그래밍하기 위한, 메모리 장치(420)에 의해 수행되는 방법에 있어서,
    메모리 셀(111-1, ..., 111-N)의 세트에서 비트의 정수를 표시하는 데이터 상태(312)에 상응하는 전하를 저장하는 단계; 및
    상기 세트의 셀(111-1, ..., 111-N)에 전하(352)를 저장하는 단계를 포함하되, 상기 전하(352)는 프로그램된 상태(342)에 상응하고, 상기 프로그램된 상태(342)는 비트의 분수(210)를 표시하고, 상기 프로그램된 상태(342)는 N진수로 표현되는 상기 데이터 상태(312)의 디지트를 나타내고, 상기 N은 정수로 올림한 2B 와 동일하고, 상기 B는 상기 프로그램된 상태(342)로 표시되는 비트의 분수(210)와 동일한 메모리 셀을 프로그래밍하기 위한 방법.
  2. 청구항 1에 있어서, 상기 세트의 각 셀(111-1, ..., 111-N)에 전하(352)를 저장하는 단계를 포함하되, 상기 세트의 각 셀(111-1, ..., 111-N)에 저장되는 상기 전하(352)에 상응하는 상기 프로그램 상태(342)에 의해 표시되는 비트의 분수(210)의 총계가 상기 비트의 정수와 동일한 메모리 셀을 프로그래밍하기 위한 방법.
  3. 청구항 1에 있어서, 메모리 셀(111-1, ..., 111-N)의 상기 세트에 전하(352)를 저장하는 단계를 포함하되, 메모리 셀(111-1, ..., 111-N)의 상기 세트는 비트의 분수(210)의 분수 나머지의 분모와 동일한 셀(111-1, ..., 111-N)의 수를 포함하는 메모리 셀을 프로그래밍하기 위한 방법.
  4. 청구항 1에 있어서, 프로그램된 상태(342)의 무효(362) 결합으로 프로그램된 셀(111-1, ..., 111-N)의 세트에 연관된 오류를 수정하기 위하여 ECC를 사용하는 단계를 포함하는 메모리 셀을 프로그래밍하기 위한 방법.
  5. 청구항 1에 있어서, 상이한 메모리 셀(111-1, ..., 111-N)의 상이한 비트의 분수(210)에 상응하는 전하(352)를 저장하는 단계를 포함하는 메모리 셀을 프로그래밍하기 위한 방법.
  6. 청구항 1에 있어서, 상기 프로그램된 상태(342)에 상응하는 상기 세트의 셀(111-1, ..., 111-N)에 상기 전하(352)를 저장하는 단계는 상기 프로그램된 상태(342)를 상기 세트의 셀(111-1, ..., 111-N)에 대한 전압 범위로 스케일링(scaling)하는 단계를 포함하는 메모리 셀을 프로그래밍하기 위한 방법.
  7. 메모리 셀(111-1, ..., 111-N)을 감지하기 위한, 메모리 장치(420)에 의해 수행되는 방법에 있어서,
    메모리 셀(111-1, ..., 111-N)의 세트의 각 셀(111-1, ..., 111-N)에 저장된 전하(352)를 결정하는 단계를 포함하되, 상기 전하(352)는 프로그램된 상태(342)에 상응하고, 상기 프로그램된 상태(342)는 비트의 분수(210)를 표시하고;
    프로그램된 상태(342)가 N진수(332)로 표시되는 데이터 상태(312)의 디지트를 나타내는 알고리즘에 따라 셀(111-1, ..., 111-N)의 상기 세트의 상기 프로그램된 상태(342)를 멀티플렉싱하는 단계를 포함하되, 상기 N은 정수로 올림한 2B 와 동일하고, 상기 B는 비트의 분수(210)와 동일하고; 및
    상기 데이터 상태(312)를 출력하는 단계를 포함하되, 상기 데이터 상태(312)는 비트의 정수를 표시하고, 상기 데이터 상태(312)는 이진으로 표현되는 N진수를 나타내는 메모리 셀을 감지하기 위한 방법.
  8. 청구항 7에 있어서, 상기 세트의 셀(111-1, ..., 111-N)에서 상기 프로그램된 상태(342)로 표시되는 비트의 분수(210)의 총계가 비트의 정수와 동일하도록 상기 프로그램된 상태(342)를 멀티플렉싱하는 단계를 포함하는 메모리 셀을 감지하기 위한 방법.
  9. 청구항 7에 있어서, 상기 데이터 상태(312)를 출력하는 단계를 포함하되, 상기 데이터 상태(312)는,
    사용자 데이터; 및
    오류 수정 정보를 포함하는 그룹으로부터 선택되는 하나를 포함하는 메모리 셀을 감지하기 위한 방법.
  10. 청구항 7에 있어서, 비트의 분수(210)의 분수 나머지의 최소 공통 분모와 동일한 셀(111-1, ..., 111-N)의 수를 포함하는 상기 세트의 각 셀(111-1, ..., 111-N)에 저장되는 상기 전하(352)를 결정하는 단계를 포함하는 메모리 셀을 감지하기 위한 방법.
  11. 청구항 7에 있어서, 메모리 셀(111-1, ..., 111-N)의 세트의 각 셀(111-1, ..., 111-N)에 저장되는 상기 전하(352)를 결정하는 단계는,
    임계 전압 수준(200): 및
    특정 전하(352)에 대한 감지 증폭기(sense amplifier)를 작동시키는(trip) 전류를 포함하는 그룹으로부터 선택되는 하나를 감지하는 단계를 포함하는 메모리 셀을 감지하기 위한 방법.
  12. 메모리 장치(420)에 있어서,
    메모리 셀(111-1, ..., 111-N)의 어레이(100,430); 및
    상기 어레이(100,430)에 결합된 분수 비트 제어기(480)를 포함하고,
    상기 제어기(480)는 분수 비트 패커(fractional bit packer) 및 기록 스케일러(write scaler)를 포함하되:
    상기 분수 비트 패커는:
    비트의 정수를 표시하는 적어도 하나의 데이터 상태(312)를 가리키는 적어도 하나의 신호를 수신하고; 및
    각각 비트의 분수(210)를 표시하는 프로그램된 상태(342)의 수를 가리키는 적어도 하나의 신호를 보내도록 동작하며, 상기 프로그램된 상태(342)의 수는 N진수(332)로 표현되는 상기 데이터 상태(312)의 디지트를 가리키고, N은 정수로 올림한 2B 와 동일하고, B는 상기 비트의 분수(210)와 동일하며,
    상기 기록 스케일러는:
    셀(111-1, ..., 111-N)의 세트가 프로그램될 상기 프로그램된 상태(342)의 수를 나타내는 상기 적어도 하나의 신호를 수신하고; 및
    상기 세트의 상기 셀(111-1, ..., 111-N)에 저장되는 셀(111-1, ..., 111-N)의 상기 세트에 대한 전압 범위로부터 N으로 정규화되는(normalized) 전하(352)의 수를 가리키는 적어도 하나의 신호를 보내는 메모리 장치.
  13. 청구항 12에 있어서, 상기 장치(420)는 셀(111-1, ..., 111-N)의 상기 세트에 전하(352)의 상기 수를 저장하도록 기능하는 메모리 장치.
  14. 청구항 12에 있어서, 상기 세트의 셀(111-1, ..., 111-N)은, 각 상이한 전하(352)가 프로그램된 상태(342)에 상응하는 N개의 상이한 전하(352) 중 하나를 저장할 수 있는 메모리 장치.
  15. 청구항 12에 있어서, 상기 제어기(480)는 오류 수정 정보를 표시하는 적어도 하나의 데이터 상태(312)를 나타내는 상기 분수 비트 패커(483)로 신호를 보내기 위하여 외부 ECC 인코더(481)를 포함하는 메모리 장치.
  16. 청구항 12에 있어서, 상기 제어기(480)는 오류 수정 정보를 표시하는 적어도 하나의 프로그램된 상태(342)를 가리키는 상기 기록 스케일러(487)로 신호를 보내기 위하여 내부 ECC 인코더(485)를 포함하는 메모리 장치.
  17. 청구항 12에 있어서, 상기 분수 비트 패커(483)는 5로 분할된 회로, 6으로 분할된 회로, 7로 분할된 회로, 및, 상기 비트의 분수(210)가 X/4 분수 나머지를 포함할 때 사용하기 위한 감산기 회로를 포함하고, 상기 X는 정수인 메모리 장치.
  18. 청구항 12에 있어서, 상기 분수 비트 패커(483)는 9로 분할된 회로, 10으로 분할된 회로, 11로 분할된 회로, 12로 분할된 회로, 13으로 분할된 회로, 14로 분할된 회로, 15로 분할된 회로, 및, 상기 비트의 분수(210)가 X/8 분수 나머지를 포함할 때 사용하기 위한 감산기 회로를 포함하고, 상기 X는 정수인 메모리 장치.
  19. 메모리 장치(420)에 있어서,
    메모리 셀(111-1, ..., 111-N)의 어레이(100,430); 및
    상기 어레이(100,430)에 결합된 분수 비트 제어기(480)를 포함하고,
    상기 제어기(480)는 판독 스케일러(read scalar)(488) 및 분수 비트 언패커(fractional bit unpacker)(484)를 포함하되:
    상기 판독 스케일러(488)는:
    메모리 셀(111-1, ..., 111-N)의 세트의 셀(111-1, ..., 111-N)의 수에 저장되는 전하(352)의 수를 가리키는 적어도 하나의 신호를 수신하고;
    전하(352)의 수에 상응하는 프로그램된 상태(342)의 수를 가리키는 적어도 하나의 신호를 보내고;
    상기 분수 비트 언패커(484)는:
    상기 프로그램된 상태(342)의 수를 가리키는 적어도 하나의 신호를 수신하되, 각 프로그램된 상태(342)는 비트의 분수(210)를 표시하고, 각 프로그램된 상태(342)는 N진수(332)로 표현되는 데이터 상태(312)의 디지트를 나타내고, 상기 N은 정수로 올림한 2B 와 동일하고, 상기 B는 상기 비트의 분수(210)와 동일하고;
    비트의 정수를 표시하는 상기 데이터 상태(312)를 나타내는 신호를 보내는 메모리 장치.
  20. 청구항 19에 있어서, 상기 세트의 메모리 셀(111-1, ..., 111-N)에 저장되는 전하는 데이터 상태(312)에 상응하지 않는 메모리 장치.
  21. 청구항 19에 있어서, 상기 제어기(480)는 상기 판독 스케일러(488)로부터 상기 적어도 하나의 신호를 수신하고, 프로그램된 상태(342)의 상기 수로부터 오류 수정 정보를 디코딩하기 위해 내부 ECC 디코더(486)를 포함하는 메모리 장치.
  22. 청구항 19에 있어서, 상기 제어기(480)는 상기 분수 비트 언패커(484)로부터 상기 신호를 수신하고,상기 데이터 상태(312)로부터 오류 수정 정보를 디코딩하기 위해 외부 ECC 디코더(482)를 포함하는 메모리 장치.
  23. 청구항 19에 있어서,
    블록 코드; 및
    길쌈 코드(convolutional code)를 포함하는 그룹으로부터 선택된 코드에 대한 ECC 디코더(482,486)를 포함하는 메모리 장치.
  24. 청구항 19에 있어서, 분수 비트(210)의 제1 수를 표시하는 프로그램된 상태에 상응하는 전하(352)를 저장하는 셀(111-1, ..., 111-N)의 제1 수 및 분수 비트(210)의 제2 수를 표시하는 프로그램된 상태(342)에 상응하는 전하(352)를 저장하는 셀(111-1, ..., 111-N)의 제2 수를 포함하되, 상기 분수 비트의 제1 및 제2 수는 상이한 메모리 장치.
  25. 메모리 장치(420)에 있어서,
    메모리 셀(111-1, ..., 111-N)의 어레이(100,430) 및
    상기 어레이(100,430)에 결합되는 논리(480)를 포함하고,
    상기 논리는:
    데이터를 비트의 정수를 포함하는 이진 데이터 상태로 파싱(parse)하고;
    상기 이진 데이터 상태를 N진수로 변환하고, 상기 N은 세트의 셀(111-1, ..., 111-N)이 프로그램될 수 있는 프로그램된 상태(342)의 수와 동일하고, 상기 N은 2의 제곱과 동일하지 않고, 프로그램된 상태(342)의 상기 수는 O 내지 N까지 수를 매길 수 있으며; 및
    상기 세트의 각 셀(111-1, ..., 111-N)을 상기 변환된 데이터의 디지트를 나타내는 프로그램된 상태(342)로 프로그램하도록 기능을 하는 메모리 장치.
KR1020107011764A 2007-10-31 2008-10-23 메모리 셀에서 분수 비트 KR101160761B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/932,287 US7848142B2 (en) 2007-10-31 2007-10-31 Fractional bits in memory cells
US11/932,287 2007-10-31
PCT/US2008/012065 WO2009058218A1 (en) 2007-10-31 2008-10-23 Fractional bits in memory cells

Publications (2)

Publication Number Publication Date
KR20100083833A KR20100083833A (ko) 2010-07-22
KR101160761B1 true KR101160761B1 (ko) 2012-06-28

Family

ID=40582607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107011764A KR101160761B1 (ko) 2007-10-31 2008-10-23 메모리 셀에서 분수 비트

Country Status (5)

Country Link
US (5) US7848142B2 (ko)
KR (1) KR101160761B1 (ko)
CN (1) CN101842847B (ko)
TW (1) TWI401682B (ko)
WO (1) WO2009058218A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190134096A (ko) * 2018-05-24 2019-12-04 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176401B1 (en) 2007-02-09 2012-05-08 Marvell International Ltd. Decoding methods and apparatus for fractional multidimensional trellis coded modulation systems
US7742335B2 (en) 2007-10-31 2010-06-22 Micron Technology, Inc. Non-volatile multilevel memory cells
US7848142B2 (en) * 2007-10-31 2010-12-07 Micron Technology, Inc. Fractional bits in memory cells
US7852671B2 (en) * 2008-10-30 2010-12-14 Micron Technology, Inc. Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array
US8077515B2 (en) 2009-08-25 2011-12-13 Micron Technology, Inc. Methods, devices, and systems for dealing with threshold voltage change in memory devices
US8429391B2 (en) 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
US8451664B2 (en) 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
JP5143203B2 (ja) * 2010-09-24 2013-02-13 株式会社東芝 メモリシステム
KR20120119779A (ko) * 2011-04-22 2012-10-31 삼성전자주식회사 불휘발성 메모리 장치
US8711617B2 (en) * 2011-06-03 2014-04-29 Micron Technology, Inc. Data modulation for groups of memory cells
WO2013134890A1 (en) 2012-03-13 2013-09-19 Micron Technology, Inc. Nonconsecutive sensing of multilevel memory cells
US8788743B2 (en) 2012-04-11 2014-07-22 Micron Technology, Inc. Mapping between program states and data patterns
US8984369B2 (en) 2012-11-21 2015-03-17 Micron Technology, Inc. Shaping codes for memory
US9190174B2 (en) 2012-11-30 2015-11-17 Micron Technology, Inc. Determining soft data from a hard read
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US9229848B2 (en) 2013-01-21 2016-01-05 Micron Technology, Inc. Determining soft data for fractional digit memory cells
US9065483B2 (en) 2013-01-21 2015-06-23 Micron Technology, Inc. Determining soft data using a classification code
US9081674B2 (en) 2013-02-28 2015-07-14 Micron Technology, Inc. Dual mapping between program states and data patterns
US20140281842A1 (en) * 2013-03-14 2014-09-18 Fusion-Io, Inc. Non-Volatile Cells Having a Non-Power-of-Two Number of States
US9171624B2 (en) 2013-12-20 2015-10-27 Apple Inc. Management of data storage in analog memory cells using a non-integer number of bits per cell
WO2015116136A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Data storing in memory arrays
US9786335B2 (en) * 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10032493B2 (en) * 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10474525B2 (en) * 2015-08-11 2019-11-12 Sandisk Technologies Llc Soft bit techniques for a data storage device
US10290346B2 (en) 2016-12-22 2019-05-14 Western Digital Technologies, Inc. Method and apparatus for low-latency read of flash storage devices using fractional bits per cell
US10175890B2 (en) 2016-12-22 2019-01-08 Western Digital Technologies, Inc. Non-binary ECCs for low latency read, fractional bits per cell of NAND flash
US10360947B2 (en) * 2017-08-31 2019-07-23 Micron Technology, Inc. NAND cell encoding to improve data integrity
US10910044B2 (en) * 2018-09-28 2021-02-02 Sandisk Technologies Llc State coding for fractional bits-per-cell memory
US11061617B2 (en) * 2019-02-20 2021-07-13 Marvell Asia Pte, Ltd. High density fractional bit solid state drives using coded set partitions
US11237906B1 (en) 2020-07-28 2022-02-01 Micron Technology, Inc. Generating a balanced codeword protected by an error correction code
US11494264B2 (en) 2020-07-28 2022-11-08 Micron Technology, Inc. Generating a protected and balanced codeword
US11567831B2 (en) 2020-07-28 2023-01-31 Micron Technology, Inc. Generating a protected and balanced codeword

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779073B2 (en) 1993-10-15 2004-08-17 Image Telecommunications Corporation Memory device having a systematic arrangement of logical data locations and having plural data portals
US6868008B2 (en) 2002-03-18 2005-03-15 Seiko Epson Corporation Non-volatile semiconductor memory device
US6963507B2 (en) 2000-10-02 2005-11-08 Renesas Technology Corp. Nonvolatile memory, semiconductor device, and method of programming to nonvolatile memory

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218569A (en) 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
KR0172408B1 (ko) 1995-12-11 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 및 그의 구동방법
US6363008B1 (en) * 2000-02-17 2002-03-26 Multi Level Memory Technology Multi-bit-cell non-volatile memory with maximized data capacity
US7251270B2 (en) * 2000-06-20 2007-07-31 Paradyne Corporation Systems and methods for fractional bit rate encoding in a communication system
US6587372B2 (en) * 2001-01-11 2003-07-01 Micron Technology, Inc. Memory device with multi-level storage cells and apparatuses, systems and methods including same
JP2002319286A (ja) * 2001-04-19 2002-10-31 Hitachi Ltd 不揮発性記憶装置および記憶システム
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
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
EP1298670B1 (en) 2001-09-28 2007-03-07 STMicroelectronics S.r.l. Method for storing and reading data in a multilevel nonvolatile memory with a non-binary number of levels, and architecture therefor
US6967872B2 (en) 2001-12-18 2005-11-22 Sandisk Corporation Method and system for programming and inhibiting multi-level, non-volatile memory cells
US6847550B2 (en) 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
US6807610B2 (en) * 2002-11-01 2004-10-19 Silicon Storage Technology, Inc. Method and apparatus for virtually partitioning an integrated multilevel nonvolatile memory circuit
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US7043089B2 (en) * 2003-02-27 2006-05-09 Hewlett-Packard Development Company, L.P. Overflow error diffusion
JP2005092923A (ja) 2003-09-12 2005-04-07 Renesas Technology Corp 半導体記憶装置
US20050213393A1 (en) 2004-03-14 2005-09-29 M-Systems Flash Disk Pioneers, Ltd. States encoding in multi-bit flash cells for optimizing error rate
US7071849B2 (en) 2004-04-04 2006-07-04 Guobiao Zhang Fractional-Bit Systems
US7057939B2 (en) 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
US7243193B2 (en) * 2004-05-27 2007-07-10 Silverbrook Research Pty Ltd Storage of program code in arbitrary locations in memory
US7180775B2 (en) 2004-08-05 2007-02-20 Msystems Ltd. Different numbers of bits per cell in non-volatile memory devices
US7212436B2 (en) 2005-02-28 2007-05-01 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
JP4768298B2 (ja) 2005-03-28 2011-09-07 株式会社東芝 不揮発性半導体記憶装置
US7167109B2 (en) * 2005-03-31 2007-01-23 Chenming Hu Hybrid fractional-bit systems
US7457178B2 (en) 2006-01-12 2008-11-25 Sandisk Corporation Trimming of analog voltages in flash memory devices
US7613883B2 (en) * 2006-03-10 2009-11-03 Rambus Inc. Memory device with mode-selectable prefetch and clock-to-core timing
US7286409B1 (en) * 2006-05-09 2007-10-23 Macronix International Co., Ltd. Method and apparatus to improve nonvolatile memory data retention
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US7352628B2 (en) 2006-06-19 2008-04-01 Sandisk Corporation Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7518914B2 (en) 2006-08-07 2009-04-14 Micron Technology, Inc. Non-volatile memory device with both single and multiple level cells
US7457155B2 (en) 2006-08-31 2008-11-25 Micron Technology, Inc. Non-volatile memory device and method having bit-state assignments selected to minimize signal coupling
US7911835B2 (en) 2006-10-04 2011-03-22 Samsung Electronics Co., Ltd. Programming and reading five bits of data in two non-volatile memory cells
US7545681B2 (en) * 2006-11-27 2009-06-09 Sandisk Corporation Segmented bitscan for verification of programming
US7518923B2 (en) 2006-12-29 2009-04-14 Sandisk Corporation Margined neighbor reading for non-volatile memory read operations including coupling compensation
US7619918B2 (en) * 2006-12-29 2009-11-17 Intel Corporation Apparatus, method, and system for flash memory
US7489543B1 (en) * 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
US7912883B2 (en) * 2007-08-02 2011-03-22 Via Technologies, Inc. Exponent processing systems and methods
KR20090017270A (ko) 2007-08-14 2009-02-18 삼성전자주식회사 멀티 비트 프로그래밍 장치 및 방법
US7848142B2 (en) * 2007-10-31 2010-12-07 Micron Technology, Inc. Fractional bits in memory cells
US7668012B2 (en) 2007-10-31 2010-02-23 Micron Technology, Inc. Memory cell programming
US7742335B2 (en) 2007-10-31 2010-06-22 Micron Technology, Inc. Non-volatile multilevel memory cells
US7813212B2 (en) 2008-01-17 2010-10-12 Mosaid Technologies Incorporated Nonvolatile memory having non-power of two memory capacity
US8098530B2 (en) * 2008-11-14 2012-01-17 Micron Technology, Inc. Systems and methods for erasing a memory
US7936610B1 (en) * 2009-08-03 2011-05-03 Micron Technology, Inc. Selective refresh of single bit memory cells
US8144516B2 (en) * 2009-12-03 2012-03-27 Micron Technology, Inc. Dynamic pass voltage for sense operation in a memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6779073B2 (en) 1993-10-15 2004-08-17 Image Telecommunications Corporation Memory device having a systematic arrangement of logical data locations and having plural data portals
US6963507B2 (en) 2000-10-02 2005-11-08 Renesas Technology Corp. Nonvolatile memory, semiconductor device, and method of programming to nonvolatile memory
US6868008B2 (en) 2002-03-18 2005-03-15 Seiko Epson Corporation Non-volatile semiconductor memory device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190134096A (ko) * 2018-05-24 2019-12-04 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR102616813B1 (ko) 2018-05-24 2023-12-26 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법

Also Published As

Publication number Publication date
CN101842847B (zh) 2013-06-05
US9349441B2 (en) 2016-05-24
TWI401682B (zh) 2013-07-11
US20150206579A1 (en) 2015-07-23
US20120147672A1 (en) 2012-06-14
US20140003143A1 (en) 2014-01-02
KR20100083833A (ko) 2010-07-22
US20090109747A1 (en) 2009-04-30
US7848142B2 (en) 2010-12-07
CN101842847A (zh) 2010-09-22
US8964465B2 (en) 2015-02-24
US8531877B2 (en) 2013-09-10
TW200926174A (en) 2009-06-16
US8125826B2 (en) 2012-02-28
US20110063907A1 (en) 2011-03-17
WO2009058218A1 (en) 2009-05-07

Similar Documents

Publication Publication Date Title
KR101160761B1 (ko) 메모리 셀에서 분수 비트
US9070450B2 (en) Non-volatile multilevel memory cells
EP2227812B1 (en) Sensing memory cells
KR101071019B1 (ko) 비휘발성 메모리 디바이스의 다중레벨 셀 판독 방법
US8154926B2 (en) Memory cell programming
US7518914B2 (en) Non-volatile memory device with both single and multiple level cells
KR101485727B1 (ko) 메모리로부터의 특정 데이터 양자화의 출력
US9230661B2 (en) Determining soft data for combinations of memory cells
US8264879B2 (en) Sensing memory cells

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190618

Year of fee payment: 8