KR101674225B1 - 플래시 메모리에서 데이터를 고속의 낮은 전력으로 판독하는 방법 - Google Patents

플래시 메모리에서 데이터를 고속의 낮은 전력으로 판독하는 방법 Download PDF

Info

Publication number
KR101674225B1
KR101674225B1 KR1020117001408A KR20117001408A KR101674225B1 KR 101674225 B1 KR101674225 B1 KR 101674225B1 KR 1020117001408 A KR1020117001408 A KR 1020117001408A KR 20117001408 A KR20117001408 A KR 20117001408A KR 101674225 B1 KR101674225 B1 KR 101674225B1
Authority
KR
South Korea
Prior art keywords
cells
bit
bit line
memory
delete delete
Prior art date
Application number
KR1020117001408A
Other languages
English (en)
Other versions
KR20110033222A (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 KR20110033222A publication Critical patent/KR20110033222A/ko
Application granted granted Critical
Publication of KR101674225B1 publication Critical patent/KR101674225B1/ko

Links

Images

Classifications

    • 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/26Sensing or reading circuits; Data output circuits
    • 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/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

메모리는 워드 라인 및 비트 라인의 교차점에 있는 셀을 포함하고, 워드 및 비트 라인 선택 메커니즘, 및 프로그래밍 메커니즘을 포함한다. 각각의 비트 라인 상의 셀은 직렬로 접속된다. 워드 라인의 셀은 동시에 프로그램된다. 낮은 전력 판독을 위해, 프로그램된 셀에 있는 워드 라인과 교차하는 비트 라인의 일부만이 선택되고 상기 교차점에서의 셀만이 감지된다. 다른 유형의 메모리는 셀의 물리적 페이지, 감지 메커니즘 및 선택 메커니즘을 포함한다. 하드 비트는 물리적 페이지의 모든 셀로부터 감지된다. 상기 셀의 일부만이 소프트 비트를 감지하기 위해 선택된다. 다른 메모리는 복수의 메모리 셀, 감지 메커니즘, 익스포트 메커니즘 및 선택 메커니즘을 포함한다. 하드 및 소프트 비트는 복수의 모든 셀로부터 감지된다. 소프트 비트의 일부만이 익스포트를 위해 선택된다.

Description

플래시 메모리에서 데이터를 고속의 낮은 전력으로 판독하는 방법{FAST, LOW-POWER READING OF DATA IN A FLASH MEMORY}
본 특허 출원은 2008년 6월 23일에 출원된 미국 가출원 번호 제 61/074,684의 이점을 주장한다.
본 발명은 플래시 메모리에 관한 것이고, 보다 구체적으로는, 에러 정정에 이용되는 소프트 비트(soft bit)에 특정 적용하는, 플래시 메모리에 저장되는 데이터를 고속의 낮은 전력으로 판독하는 방법에 관한 것이다.
일부 플래시 메모리 저장 시스템은 메모리로부터 판독되는 데이터에서 에러를 정정하고자 시도할 때 "소프트 비트"를 이용한다. 용어 "소프트 비트"는 이는 메모리 셀 내에 저장되는 데이터의 정확한 해상도를 초과하는, 메모리 셀로부터의 고-해상도 판독을 칭한다. 예를 들어, 2-비트-퍼-셀(two-bits-per-cell) 메모리에서 셀의 임계 전압 윈도는 네 비-중첩 영역으로 분할되고, 각각은 셀 내에 저장되는 네 개의 가능한 데이터 값 - {"00", "01", "10", "11"}- 중 하나에 대응한다. 각각의 영역은 셀의 하나의 상태에 대응한다.
정상적인 판독(소프트 비트가 없는)은 각각의 판독 셀(read cell)을 네 상태 중 하나로 식별함으로써, 네 데이터 값 중 하나를 셀과 연관시킨다. 메모리로부터 소프트 비트를 판독하는 것은 (본 예에서) 각각의 셀을 넷 이상의 상태로 - 예를 들어, 여덟 개의 상태로 식별하는 것을 의미하고, 여기서 네 개의 원래 상태의 각각은 두 개의 상위-해상도 상태로 분리된다.
이를 행하는 가장 간단하고 가장 통상적인 방식(그러나 유일한 방식은 아님)은 네 개의 비-중첩 임계 전압 영역들 각각의 중간에 기준 판독 전압을 배치함으로써, 상기 영역의 상부 또는 하부 절반 내에 있는지를 식별하는 것이다.
일부 저장 시스템은 하나 이상의 소프트 비트를 이용, - 예를 들어, 각각의 원래의 상태를 네 개의 새로운 상태로 분할하는 두 소프트 비트를 이용한다. 또한, 소프트 비트의 이용은 2-비트-퍼-셀 플레시 메모리로 제한되지 않는다 - 4-비트-퍼-셀 메모리(원래 16개의 상태를 갖는)를 이용하여 16개의 상태의 상부에 하나 이상의 소프트 비트를 적용하여 32개 이상의 새로운 상태를 생성할 수 있다.
플래시 메모리로부터 데이터를 판독할 때 소프트 비트를 이용하는 장점은 데이터에서 에러를 정정해야만 할 때, 특히 다수의 에러가 상대적으로 높을 때 효력을 본다.
소프트 비트는, 상이한 에러가 데이터에 나타날 확률들을 토대로 소프트 비트가 플래시 디바이스에 저장되는 각각의 비트의 신뢰도에 대한 더 양호한 추정이 가능하므로, 데이터에 원래-기록된 데이터를 재구성하고자 시도하는 디코더에 유용한 정보를 제공한다.
이 소프트 비트의 이용은 소프트 디코더(soft decoder)들(소프트 비트와 혼동되어서는 안 된다)과 함께 이용하는 것이 특히 유용하고 편리하다. 소프트 디코더는 각각의 데이터 비트에 신뢰도 계량기를 부착함으로써 데이터에서의 에러를 정정하는 디코더이다. 각각의 데이터 비트에 신뢰도 계량기를 부착함으로써 소프트 디코더를 동작하기 위한 여러 선택사항이 존재한다. 대중적인 전략 중에서:
· 성공 테스트(또는 실패 테스트)가 디코딩 프로세스를 종료할 때까지, 통상적으로 반복해서, 신뢰도 값들에서 동작하고, 상기 값을 리파인(refine)하고 개선한다.
· 어떤 가장 가능한 프로그램된 코드 워드(code word)가 판독 데이터에 적합한지를 결정하는 메트릭(metric)을 계산한다.
· 전체 판독 데이터에 따라, 판독 워드의 각각에 비트에 대한 메트릭을 개별적으로 계산하고나서, 상기 메트릭들을 이용하여 각각의 값을 독자적으로 정한다.
소프트 비트는 소프트 디코더이 초기 신뢰도 측정치들을 이용할 수 있기 때문에 자연히 소프트 디코더와 매칭(matching)되므로, 일부 경우들에서, 전체 디코딩 프로세스의 성공 및 실패 사이의 차를 제공한다. 일부 경우들에서 소프트 비트의 이용은 또한 디코딩 계산의 수렴 속도를 증가시킨다.
그러나, 소프트 비트는 또한 하드 디코더(hard decoder)(소프트 디코더이 아닌 디코더들)들과 함께 이용될 수 있어서 본원에서 서술되는 기술이 마찬가지로 에러 정정 디코더들의 양 유형들에 적용된다.
저장된 데이터에서 에러를 정정하는데 매우 유용할지라도, 소프트 비트는 높은 가격을 동반한다. 소프트 비트를 판독하는 것은 메모리 셀로부터 추가 판독 동작을 행할 필요가 있으므로, 판독 속도를 느리게 한다. 이는 용이하게 이해된다 - 판독 기준 전압들이 메모리 셀에서 행해져야만 하고, 그 후에 검출된 값이 메모리 다이(memory die)로부터 ECC 디코더를 포함하는 플래시 제어기로 전송되어야만 하는 추가 비교. 때로는 소프트 비트판독의 동작은 "하드 비트들"만을 판독하는 것보다 더 길고 전력에서도 더 많은 비용이 들고, 이는 소프트 비트 판독의 수에 좌우된다.
또한 디코딩 외에 이 소프트 비트들(더 높은 해상도 비트들)의 이용들이 있다. 예를 들어, 데이터에 대한 통계적 파라미터들이 이용되는 판독 임계 파라미터들을 개선하기 위해 이용될 수 있다.
다른 시나리오에서(예를 들어, 통신 채널에서의 ECC) 어쨌든 모든 소프트 비트가 통상적으로 판독될지라도, 전형적으로 메모리로부터 데이터를 판독하기 위해 소프트 비트를 이용하는 디코더에서의 경우 초기에 "하드" 비트만이 판독이다. 그리고나서, 원 데이터(raw data)가 너무 잡음이 많아 디코딩이 성공하지 않는다고 밝혀지면, 소프트 비트가 판독되고 디코딩 계산에 추가된다. 심지어 이 "시행 착오(trial and error)" 방법이 다수의 단계를 갖는 것이 가능하다 - 우선 하나의 소프트 비트를 판독하고나서 디코딩이 여전히 실패하면, 제 2 소트트 비트를 판독하는 것 등등. 이 방식은 소프트 비트 없이는 성공적인 디코딩이 달성될 수 없을 때까지 소프트 비트를 판독하는데 시간을 소비하지 않는다. 그러나, 기본적인 문제는 여전히 남는다 - 소프트 비트를 판독하는 것이 필요한 것으로 증명되면, 시간에 있어서 많은 희생이 따른다.
게다가, 실제로 필요하지 않은 소프트 비트를 감지하여 셀의 어레이로부터 플래시 데이터 레지스터로 이들의 값을 판독하는데 불필요한 전력이 소비된다. 데이터 레지스터로부터 플래시 제어기로 실제로 필요하지 않은 소프트 비트를 전달할 때 추가적인 불필요한 전력이 소비된다.
본원에 제공된 하나의 실시예는, (a) 워드 라인의 셀의 적어도 일부를 실질적으로 동시에 프로그래밍하는 단계, (b) 실질적으로 동시에 프로그램되었던 셀의 적어도 일부에서 단지 상기 워드 라인과 교차하는 비트 라인의 부분만을 선택하는 단계; 및 (c) 워드 라인과 비트 라인의 부분과의 교차점에 있는 워드 라인의 셀만을 감지하는 단계를 포함하는 복수의 워드 라인 및 복수의 순서화된 비트 라인의 교차점에서 셀의 어레이를 포함하는 메모리에서, 직렬로 접속되어 있는 공통 비트를 공유하는 셀을 구비하고, 워드 라인을 공유하는 셀을 판독하는 방법이다.
본원에 제공된 다른 실시예는, (a) 복수의 워드 라인 및 복수의 비트 라인의 교차점에 있는 복수의 셀로서, 상기 셀은 직렬로 접속되어 있는 공통 비트를 공유하는, 복수의 셀; (b) 워드 라인 중 하나를 선택하기 위한 워드 라인 선택 메커니즘, (c) 선택된 워드 라인의 셀의 적어도 일부를 실질적으로 동시에 프로그래밍하기 위한 프로그래밍 메커니즘, 및 (d) 실질적으로 동시에 프로그램되었던 셀의 적어도 일부에서 선택된 워드 라인과 교차하는 비트 라인의 부분만을 선택하고, 선택된 워드 라인의 셀 중 적어도 일부이며 선택된 워드 라인과 비트 라인의 선택된 부분과의 교차점에 있는 셀만을 감지하기 위한 비트 라인 선택 메커니즘을 포함하는 메모리이다.
본원에 제공된 다른 실시예는, (a) (i) 복수의 워드 라인 및 복수의 비트 라인의 교차점에 있는 복수의 셀로서, 상기 셀은 직렬로 접속되어 있는 공통 비트 라인을 공유하는, 복수의 셀, (ii) 워드 라인 중에서 하나를 선택하기 위한 워드 라인 선택 메커니즘, (iii) 선택된 워드 라인의 셀의 적어도 일부를 실질적으로 동시에 프로그램하기 위한 프로그래밍 메커니즘, 및 (iv) 실질적으로 동시에 프로그램되었던 셀의 적어도 일부에서 선택된 워드 라인과 교차하는 비트 라인의 부분만을 선택하고, 선택된 워드 라인의 셀 중 적어도 일부이며 선택된 워드 라인과 비트 라인의 선택된 부분과의 교차점에 있는 셀만을 감지하기 위한 비트 라인 선택 메커니즘을 포함하는 메모리; 및 (b) 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위한, 상기 메모리의 제어기를 포함하는 메모리 디바이스이다.
본원에 제공된 다른 실시예는, (a) (i) 복수의 워드 라인 및 복수의 비트 라인의 교차점에 있는 복수의 셀로서, 상기 셀은 직렬로 접속되어 있는 공통 비트 라인을 공유하는, 복수의 셀, (ii) 워드 라인 중에서 하나를 선택하기 위한 워드 라인 선택 메커니즘, (iii) 선택된 워드 라인의 셀의 적어도 일부를 실질적으로 동시에 프로그램하기 위한 프로그래밍 메커니즘, 및 (iv) 실질적으로 동시에 프로그램되었던 셀의 적어도 일부에서 선택된 워드 라인과 교차하는 비트 라인의 부분만을 선택하고, 선택된 워드 라인의 셀 중 적어도 일부이며 선택된 워드 라인과 비트 라인의 선택된 부분과의 교차점에 있는 셀만을 감지하기 위한 비트 라인 선택 메커니즘을 포함하는 제 1 메모리; 및 (b) 상기 제 1 메모리의 호스트로서, (i) 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위한 코드를 저장하기 위한 제 2 메모리, 및 (ii) 상기 코드를 수행하기 위한 프로세서를 포함하는, 호스트를 포함하는 시스템이다.
본원에 제공된 다른 실시예는, (a) 복수의 워드 라인 및 복수의 비트 라인의 교차점에 있는 복수의 셀로서, 상기 셀은 직렬로 접속되어 있는 공통 비트 라인을 공유하는, 복수의 셀, (b) 워드 라인 중에서 하나를 선택하기 위한 워드 라인 선택 메커니즘, (c) 선택된 워드 라인의 셀의 적어도 일부를 실질적으로 동시에 프로그램하기 위한 프로그래밍 메커니즘, 및 (d) 실질적으로 동시에 프로그램되었던 셀의 적어도 일부에서 선택된 워드 라인과 교차하는 비트 라인의 부분만을 선택하고, 선택된 워드 라인의 셀 중 적어도 일부이며 선택된 워드 라인과 비트 라인의 선택된 부분과의 교차점에 있는 셀만을 감지하기 위한 비트 라인 선택 메커니즘을 포함하는 메모리를 관리하기 위해 컴퓨터 판독 가능 코드를 내부에 구현한 컴퓨터-판독 가능 저장 매체이며, 상기 컴퓨터-판독 가능 코드는 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위한 프로그램 코드를 포함한다.
본원에 제공된 다른 실시예는 메모리의 셀의 물리적 페이지(page)를 판독하는 방법이고, 상기 방법은, (a) 물리적 페이지의 모든 셀로부터 하드 비트를 감지하는 단계; (b) 소프트 비트를 감지하도록 물리적 페이지의 셀의 부분만을 선택하는 단계; 및 (c) 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지하는 단계를 포함한다.
본원에 제공된 다른 실시예는, (a) 셀의 물리적 페이지, (b) 셀을 감지하기 위한 감지 메커니즘, 및 (c) 물리적 페이지의 셀을 감지를 위해 선택하기 위한 선택 메커니즘을 포함하는 메모리에 대한 제어기이고, 상기 제어기는: (i) 감지 메커니즘을 이용하여 물리적 페이지의 모든 셀로부터 하드 비트를 감지하고; (ii) 선택 메커니즘을 이용하여 소프트 비트를 감지하도록 단지 물리적 페이지의 셀만을 선택하고, (iii) 감지 메커니즘을 이용하여 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지하도록 동작한다.
본원에 제공된 다른 실시예는, (a) (i) 셀의 물리적 페이지, (ii) 셀을 감지하기 위한 감지 메커니즘, 및 (iii) 물리적 페이지의 셀을 감지를 위해 선택하기 위한 선택 메커니즘을 포함하는 메모리, 및 (b) (i) 감지 메커니즘을 이용하여 물리적 페이지의 모든 셀로부터 하드 비트를 감지하고; (ii) 선택 메커니즘을 이용하여 소프트 비트를 감지하도록 단지 물리적 페이지의 셀만을 선택하고, (iii) 감지 메커니즘을 이용하여 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지하기 위한 제어기를 포함하는 메모리 디바이스이다.
본원에 제공된 다른 실시예는, (a) (i) 셀의 물리적 페이지, (ii) 셀을 감지하기 위한 감지 메커니즘, 및 (iii) 물리적 페이지의 셀을 감지를 위해 선택하기 위한 선택 메커니즘을 포함하는 제 1 메모리; 및 (b) 제 1 메모리의 호스트를 포함하는 시스템이고, 상기 호스트는: (i): (A) 감지 메커니즘을 이용하여 물리적 페이지의 모든 셀로부터 하드 비트를 감지하고; (B) 선택 메커니즘을 이용하여 소프트 비트를 감지하도록 단지 물리적 페이지의 셀만을 선택하고, (C) 감지 메커니즘을 이용하여 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지하기 위한 코드를 저장하기 위한 제 2 메모리, 및 (ii) 상기 코드를 수행하기 위한 프로세서를 포함한다.
본원에 제공된 다른 실시예는, (a) 셀의 물리적 페이지, (b) 셀을 감지하기 위한 감지 메커니즘, 및 (c) 물리적 페이지의 셀을 감지를 위해 선택하기 위한 선택 메커니즘을 포함하는 메모리를 관리하기 위하여 컴퓨터-판독 가능 코드를 내부에 구현한 컴퓨터-판독 가능 저장 매체이고, 상기 컴퓨터-판독 가능 코드는 (a) 감지 메커니즘을 이용하여 물리적 페이지의 모든 셀로부터 하드 비트를 감지하기 위한 프로그램 코드; (b) 선택 메커니즘을 이용하여 소프트 비트를 감지하도록 단지 물리적 페이지의 셀만을 선택하기 위한 프로그램 코드; 및 (c) 감지 메커니즘을 이용하여 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지하기 위한 프로그램 코드를 포함한다.
본원에 제공된 다른 실시예는 메모리의 복수의 셀을 판독하는 방법이고, 상기 방법은, (a) 복수의 모든 셀로부터 하드 비트를 감지하는 단계, (b) 복수의 모든 셀로부터 소프트 비트를 감지하는 단계, (c) 메모리로부터 익스포트(export)되는 소프트 비트의 부분만을 선택하는 단계를 포함한다.
본원에 제공된 다른 실시예는, (a) 복수의 셀, (b) 복수의 셀로부터 하드 및 소프트 비트를 감지하기 위한 감지 메커니즘, (c) 감지된 비트를 익스포트하기 위한 익스포트 메커니즘, 및 (d) 어떤 비트를 익스포트할지 선택하기 위한 선택 메커니즘을 포함하는 메모리에 대한 제어기이고, 상기 제어기는: (i) 감지 메커니즘을 이용하여 하드 비트 및 소프트 비트를 감지하고; (ii) 익스포트 메커니즘을 이용하여 메모리로부터 모든 하드 비트를 수신하고, (iii) 선택 메커니즘을 이용하여 메모리로부터 수신되는 소프트 비트의 부분만을 선택하고; 그리고 (iv) 익스포트 메커니즘을 이용하여 소프트 비트의 선택된 부분을 수신하도록 동작한다.
본원에 제공된 다른 실시예는, (a) (i) 복수의 셀, (ii) 복수의 셀로부터 하드 및 소프트 비트를 감지하기 위한 감지 메커니즘, (iii) 감지된 비트를 익스포트하기 위한 익스포트 메커니즘, 및 (iv) 어떤 비트를 익스포트할지 선택하기 위한 선택 메커니즘을 포함하는 메모리, 및 (b) (i) 감지 메커니즘을 이용하여 하드 비트 및 소프트 비트를 감지하고; (ii) 익스포트 메커니즘을 이용하여 메모리로부터 모든 하드 비트를 수신하고, (iii) 선택 메커니즘을 이용하여 메모리로부터 수신되는 소프트 비트의 부분만을 선택하고; 그리고 (iv) 익스포트 메커니즘을 이용하여 소프트 비트의 선택된 부분을 수신하기 위한 제어기를 포함하는 메모리 디바이스이다.
본원에 제공된 다른 실시예는, (a) (i) 복수의 셀, (ii) 복수의 셀로부터 하드 및 소프트 비트를 감지하기 위한 감지 메커니즘, (iii) 감지된 비트를 익스포트하기 위한 익스포트 메커니즘, 및 (iv) 어떤 비트를 익스포트할지 선택하기 위한 선택 메커니즘을 포함하는 제 1 메모리; 및 상기 제 1 메모리의 호스트를 포함하는 시스템이고, 상기 호스트는: (i): (A) 감지 메커니즘을 이용하여 하드 비트 및 소프트 비트를 감지하고; (B) 익스포트 메커니즘을 이용하여 메모리로부터 모든 하드 비트를 수신하고, (C) 선택 메커니즘을 이용하여 메모리로부터 수신되는 소프트 비트의 부분만을 선택하고; 그리고 (D) 익스포트 메커니즘을 이용하여 소프트 비트의 선택된 부분을 수신하기 위한 코드를 저장하기 위한 제 2 메모리, 및 (ii) 상기 코드를 수행하기 위한 프로세서를 포함한다.
본원에 제공된 다른 실시예는, (a) 복수의 셀, (b) 복수의 셀로부터 하드 및 소프트 비트를 감지하기 위한 감지 메커니즘, (c) 감지된 비트를 익스포트하기 위한 익스포트 메커니즘, 및 (d) 어떤 비트를 익스포트할지 선택하기 위한 선택 메커니즘을 포함하는 메모리를 관리하기 위하여 컴퓨터-판독 가능 코드를 내부에 구형한 컴퓨터-판독 가능 저장 매체이고, 상기 컴퓨터-판독 가능 코드는: (a) 감지 메커니즘을 이용하여 하드 비트 및 소프트 비트를 감지하기 위한 프로그램 코드, (b) 익스포트 메커니즘을 이용하여 메모리로부터 모든 하드 비트를 수신하기 위한 프로그램 코드, (c) 선택 메커니즘을 이용하여 메모리로부터 수신되는 소프트 비트의 부분만을 선택하기 위한 프로그램 코드; 그리고 (d) 익스포트 메커니즘을 이용하여 소프트 비트의 선택된 부분을 수신하기 위한 프로그램 코드를 포함한다.
플래시 메모리와 같은 메모리를 판독하는데 전력을 절약하기 위한 두 개의 일반적인 방법 및 플래시 메모리와 같은 메모리를 판독하는데 시간을 절약하기 위한 일반적인 방법이 제공된다.
전력을 절약하기 위한 제 1 일반적인 방법은 복수의 워드 라인 및 복수의 순서화된 비트 라인의 교차점에서 셀의 어레이를 포함하는 메모리에서 이용하도록 의도되고, 상기 셀은 직렬로 접속되어 있는 공통 비트 라인을 공유한다. 워드 라인의 셀의 일부 또는 전부(즉, 워드 라인을 공유한 셀)는 실질적으로 동시에 프로그램된다. 셀이 "실질적으로 동시에" 프로그램된다는 것은 셀이 함께 온(on)으로 동작하여 셀이 각각의 물리적 상태로 진입되어 상기 셀이 자체 내에 저장되는 데이터를 나타내도록 하는 것을 의미한다. 플래시 셀의 경우에, 셀을 프로그램하기 위한 전형적인 물리적 동작은 전자를 셀의 부동 게이트로 주입하는 것이다. 동시에 프로그램되었던 셀에서 워드 라인과 교차하는 비트 라인의 부분만이 판독하는데 선택된다. 단지 상기 셀만 감지된다.
상기 방법의 일부 실시예에서, 감지되는 비트 라인을 선택하는 단계는 비트 라인의 선택된 부분의 시작하는 비트 라인을 지정하는 단계를 포함하는 단계에 의해 달성된다. 그리고나서 비트 라인의 선택된 부분은 시작하는 비트 라인 및 실질적으로 동시에 프로그램되는 셀에서 워드 라인과 교차하는 모든 상위의(즉, 비트 라인 순서에서 후속하는) 비트 라인을 포함한다.
상기 방법의 다른 실시예에서, 감지되는 비트 라인을 선택하는 단계는 비트 라인의 선택된 부분의 종료하는 비트 라인을 지정하는 단계를 포함하는 단계에 의해 달성된다. 그리고나서 비트 라인의 선택된 부분은 종료하는 비트 라인 및 실질적으로 동시에 프로그램되는 셀에서 워드 라인과 교차하는 모든 하위의(즉, 비트 라인 순서에서 선행하는) 비트 라인을 포함한다.
상기 방법의 또 다른 실시예에서, 감지되는 비트 라인을 선택하는 단계는 비트 라인의 선택된 부분에서 시작하는 비트 라인 및 종료하는 비트 라인을 지정하는 단계를 포함하는 단계에 의해서 달성된다. "시작하는" 비트 라인이 비트 라인 순서에서 "종료하는" 비트 라인에 선행하는 경우, 비트 라인의 선택된 부분은 시작하는 비트 라인부터 종료하는 비트 라인까지 실질적으로 동시에 프로그램되는 셀에서 워드 라인과 교차하는 모든 비트 라인을 포함한다. "시작하는" 비트 라인이 비트 라인 순서에서 "종료하는" 비트 라인에 후속하는 경우, 비트 라인의 선택된 부분은 제 1 비트 라인부터 종료하는 비트 라인까지 실질적으로 동시에 프로그램되는 셀에서 워드 라인과 교차하는 모든 비트 라인 및 시작하는 비트 라인부터 최종 비트 라인까지 실질적으로 동시에 프로그램되는 셀에서 워드 라인과 교차하는 모든 비트 라인을 포함한다.
상기 방법의 일부 실시예에서, 비트 라인은 복수의 디스조인트 세트(disjoint set)로 그룹화된다. 원칙적으로, 각각의 세트는 단 하나의 비트 라인을 포함할 수 있으나, 보통 각각의 세트는 여러 비트 라인을 포함한다. 상기 선택 단계는 하나 이상의 디스조인트 세트를 지정하는 단계에 의해 달성된다. 그러면 비트 라인의 선택된 부분은 실질적으로 동시에 프로그램된 셀에서 워드 라인과 교차하는 지정된 세트(들)의 비트 라인(들)을 포함한다.
전력을 절약하는 제 1 일반적인 방법에 대응하는 메모리는 복수의 워드 라인 및 복수의 비트 라인의 교차점에 있는 복수의 셀을 포함하고, 상기 셀은 직렬로 접속되어 있는 공통 비트 라인을 공유한다. 상기 메모리는 또한 워드 라인 중 하나를 선택하기 위한 워드 라인 선택 메커니즘, 선택된 워드 라인의 셀의 적어도 일부를 실질적으로 동시에 프로그램하기 위한 프로그래밍 메커니즘, 및 워드 라인이 실질적으로 동시에 프로그램되었던 선택된 워드 라인과 교차하는 비트 라인의 부분만을 선택하기 위해 그리고 워드 라인 및 비트 라인의 선택된 부분의 교차점에서 단지 동시에 프로그램된 셀만을 감지하기 위한 비트 라인 선택 메커니즘을 포함한다.
상기 메모리의 일부 실시예에서, 비트 라인 선택 메커니즘은 비트 라인을 그룹보다, 개별적으로 선택한다.
상기 메모리의 일부 실시예에서, 비트 라인 선택 메커니즘은 비트 라인의 선택된 부분을 나타내기 위한 복수의 비트를 포함하는 레지스터(register)를 포함한다.
전력을 절약하는 제 1 일반적인 방법에 대응하는 메모리 디바이스는 전력을 절약하는 제 1 일반적인 방법에 대응하는 메모리, 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위한 메모리 제어기를 포함한다. 상기 메모리 디바이스의 일부 실시예에서, 비트 라인 선택 메커니즘에 비트 라인의 일부를 선택하라고 지시하기 위해, 상기 제어기는 비트 라인의 부분 중 시작하는 비트 라인 또는 비트 라인의 부분 중 종료하는 비트 라인 중 하나를 지정하는 단일 비트 라인 선택 파라미터 값을 포함하는 명령을 발행한다. 상기 메모리 디바이스의 다른 실시예에서, 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위해, 상기 제어기는 비트 라인의 범위를 지정하는 두 개의 비트 라인 선택 파라미터 값을 포함하는 명령을 발행한다. 예를 들어, 상기 명령은 제 1 비트 선택 파라미터가 시작하는 비트 라인의 지수가 되고 제 2 비트 선택 파라미터 값이 종료하는 비트 라인의 지수가 되도록 정의될 수 있다. 제 1 비트 선택 파라미터의 값이 제 2 비트 선택 파라미터의 값 미만인 경우 비트 라인의 선택된 부분은 시작하는 비트 라인부터 종료하는 비트 라인까지 실질적으로 동시에 프로그램된 셀에서 워드 라인과 교차하는 모든 비트 라인이다. 제 1 비트 선택 파라미터의 값이 제 2 비트 선택 파라미터의 값을 초과하는 경우, 비트 라인의 선택된 부분은 제 1 비트 라인으로부터 종료하는 비트 라인까지 실질적으로 동시에 프로그램된 셀에서 워드 라인과 교차하는 모든 비트 라인 및 시작하는 비트 라인부터 최종 비트 라인까지 실질적으로 동시에 프로그램된 셀에서 워드 라인과 교차하는 모든 비트 라인이다.
상기 메모리 디바이스의 일부 실시예에서, 비트 라인은 복수의 디스조인트 세트로 그룹화된다. 비트 라인 선택 메커니즘은 감지를 위해 디스조인트 세트 중 적어도 하나를 선택된 것으로 프래깅(flagging)하기 위한 레지스터를 포함한다. 바람직하게도, 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위해서, 상기 제어기는 레지스터에 프래깅된 복수의 디스조인트 세트 중 적어도 하나의 세트를 지정하는 비트 라인 선택 명령을 발행한다.
상기 메모리 디바이스의 일부 실시예에서, 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위해, 제어기는 선택된 비트 라인이 선택된 워드 라인과 교차하는 실질적으로 동시에 프로그램된 셀을 감지하기 위해서 비트 라인의 부분을 상기 제어기에 의해 발행되는 단일 명령에 대하여 비트 라인의 일부를 지정하는 명령을 발행한다. 지정 명령은 단 하나의 후속 판독 명령에 유효한 비트 라인 선택 명령 또는 자체의 비트 라인 선택이 그 자체로서만 유효한 결합된 판독 및 비트 라인 선택 명령 중 하나이다. 두 경우들에서, 후속 판독 명령이 또한 비트 라인을 선택하지 않고 비트 라인을 선택한 명령에 후속하지 않으면, 상기 후속 판독 명령은 워드 라인의 모든 동시에 프로그램된 셀을 감지한다.
상기 메모리 디바이스의 다른 실시예에서, 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위해, 상기 제어기는 선택된 비트 라인이 선택된 워드 라인과 교차하는 실질적으로 동시에 프로그램된 셀을 감지하기 위해서, 상기 제어기가 비트 라인의 부분을 지정하는 다른 명령을 발행할 때까지, 제어기에 의해 후속해서 발행되는 만일 있다면 모든 명령에 대하여 비트 라인의 부분을 지정하는 명령을 발행한다. (제 2 지정 명령은 제 1 지정 명령보다 우선한다.) 지정 명령은 지정 명령이 우선되지 않을 때까지 모든 후속 판독 명령에 대해 유효한 비트 라인 선택 명령 또는 자체의 비트 라인 선택이 우선되지 않을 때까지 유효한 결합된 판독 및 비트 라인 선택 명령 중 하나일 수 있다.
전력을 절약하는 제 1 일반적인 방법에 대응하는 시스템은 전력을 절약하는 제 1 일반적인 방법에 대응하는 제 1 메모리, 및 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위한 코드를 저장하기 위한 제 2 메모리 및 코드를 수행하기 위한 프로세서를 포함하는 제 1 메모리의 호스트를 포함한다.
상기 시스템의 일부 실시예에서, 상기 코드는 비트 라인 선택 메커니즘에 비트 라인의 부분의 시작하는 비트 라인 또는 비트 라인의 부분의 종료하는 비트 라인 중 하나를 지정하는 단일 비트 라인 선택 파라미터 값을 포함하는 명령을 비트 라인 선택 메커니즘에 발행하기 위한 코드를 포함한다. 상기 시스템의 다른 실시예에서, 상기 코드는 비트 라인의 범위를 지정하는 2개의 비트 라인 선택 파라미터 값을 포함하는 명령을 비트 라인 선택 메커니즘에 발행하기 위한 코드를 포함한다. 예를 들어, 상기 명령은 제 1 비트 선택 파라미터가 시작하는 비트 라인의 지수가 되고 제 2 비트 선택 파라미터 값이 종료하는 비트 라인의 지수가 되도록 정의될 수 있다. 제 1 비트 선택 파라미터의 값이 제 2 비트 선택 파라미터의 값 미만인 경우 비트 라인의 선택된 부분은 시작하는 비트 라인부터 종료하는 비트 라인까지 실질적으로 동시에 프로그램된 셀에서 워드 라인과 교차하는 모든 비트 라인이다. 제 1 비트 선택 파라미터의 값이 제 2 비트 선택 파라미터의 값을 초과하는 경우, 비트 라인의 선택된 부분은 제 1 비트 라인으로부터 종료하는 비트 라인까지 실질적으로 동시에 프로그램된 셀에서 워드 라인과 교차하는 모든 비트 라인 및 시작하는 비트 라인부터 최종 비트 라인까지 실질적으로 동시에 프로그램된 셀에서 워드 라인과 교차하는 모든 비트 라인이다.
상기 시스템의 일부 실시예에서, 비트 라인은 복수의 디스조인트 세트로 그룹화된다. 비트 라인 선택 메커니즘은 감지를 위해 디스조인트 세트 중 적어도 하나를 선택된 것으로 프래깅하기 위한 레지스터를 포함한다. 바람직하게도, 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위해서, 상기 코드는 레지스터에 프래깅된 복수의 디스조인트 세트 중 적어도 하나의 세트를 지정하는 비트 라인 선택 명령을 비트 라인 선택 메커니즘으로 발행하기 위한 코드를 포함한다.
상기 시스템의 일부 실시예에서, 상기 코드는 선택된 비트 라인이 선택된 워드 라인과 교차하는 실질적으로 동시에 프로그램된 셀의 단일 감지를 위해 비트 라인의 부분을 지정하는 명령을 비트 라인 선택 메커니즘에 발행한다. 명령은 단 하나의 후속 판독 명령에 유효한 비트 라인 선택 명령 또는 자체의 비트 라인 선택이 그 자체로서만 유효한 결합된 판독 및 비트 라인 선택 명령 중 하나이다. 두 경우에서, 후속 판독 명령이 또한 비트 라인을 선택하지 않고 비트 라인을 선택한 명령에 후속하지 않으면, 상기 후속 판독 명령은 워드 라인의 모든 동시에 프로그램된 셀을 감지한다.
상기 시스템의 다른 실시예에서, 상기 코드는 비트 라인의 부분을 지정하는 다른 명령이 발행될 때까지, 선택된 비트 라인이 선택된 워드 라인과 교차하는 실질적으로 동시에 프로그램된 셀의 모든 후속 감지를 위해 비트 라인의 부분을 지정하는 명령을 비트 라인 선택 메커니즘에 발행하기 위한 코드를 포함한다. (제 2 지정 명령은 제 1 지정 명령보다 우선한다.) 지정 명령은 지정 명령이 우선되지 않을 때까지 모든 후속 판독 명령에 대해 유효한 비트 라인 선택 명령 또는 자체의 비트 라인 선택이 우선되지 않을 때까지 유효한 결합된 판독 및 비트 라인 선택 명령 중 하나일 수 있다.
전력을 절약하는 제 1 일반적인 방법에 대응하는 컴퓨터-판독 가능 저장 매체는 전력을 절약하는 제 1 일반적인 방법에 대응하는 메모리의 비트 라인 선택 메커니즘에 비트 라인의 부분을 선택하라고 지시하기 위한 프로그램 코드를 포함하는 컴퓨터-판독 가능 코드를 내부에 구현하였다.
전력을 절약하는 제 2 일반적인 방법은 메모리의 셀의 물리적 페이지를 판독하기 위한 것이다. 물리적 페이지의 모든 셀로부터 하드 비트가 감지된다. 물리적 페이지의 셀의 부분만이 소프트 비트를 감지하도록 선택된다. 소프트 비트는 단지 물리적 페이지의 셀의 선택된 부분으로부터 감지된다.
바람직하게도, 하드 비트에서의 에러는 소프트 비트에 따라 정정된다. 가장 바람직하게도, 에러의 정정은 하나 이상의 소프트 비트가 감지되었던 하나 이상의 셀의 각각에 대해, 소프트 비트(들)에 따라 상기 셀로부터 감지되는 적어도 하나의 하드 비트의 신뢰성 측정을 계산하는 것을 포함한다.
바람직하게도, 물리적 페이지의 셀의 부분은 하드 비트에 따라 선택된다.
바람직하게도, 물리적 페이지의 셀의 선택된 부분은 물리적 페이지에 저장되는 코드 워크의 단일 선택 서브-워드(sub-word)를 내부에 저장했던 물리적 페이지의 셀만을 포함한다.
바람직하게도, 상기 선택은 물리적 페이지의 셀의 선택된 부분으로부터, 하나 이상의 코드 워드가 저장된 물리적 페이지의 셀을 제외한다.
바람직하게도, 소프트 비트에 기초하여, 전체 물리적 페이지의 적어도 하나의 통계 파라미터의 값이 추정된다.
전력을 저장하는 제 2 일반적인 방법에 대응하는 제어기는 셀의 물리적 페이지, 셀을 감지하기 위한 감지 메커니즘, 및 물리적 페이지의 셀을 감지를 위해 선택하기 위한 선택 메커니즘을 포함하는 메모리를 제어한다. 상기 제어기는 감지 메커니즘을 이용하여 물리적 페이지의 모든 셀로부터 하드 비트를 감지한다. 제어기는 선택 메커니즘을 이용하여 소프트 비트를 감지하도록 단지 물리적 페이지의 셀만을 선택한다. 제어기는 감지 메커니즘을 이용하여 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지한다. 전력을 절약하는 제 2 일반적인 방법에 대응하는 메모리 디바이스는 메모리 및 제어기 이 둘 모두를 포함한다.
전력을 절약하는 제 2 일반적인 방법에 대응하는 시스템은 제 1 메모리 및 제 1 메모리의 호스트를 포함한다. 제 1 메모리는 셀의 물리적 페이지, 셀을 감지하기 위한 감지 메커니즘, 및 물리적 페이지의 셀을 감지를 위해 선택하기 위한 선택 메커니즘을 포함한다. 호스트는 제 2 메모리 및 프로세서를 포함한다. 제 2 메모리는 코드를 저장하기 위한 것이다. 상기 코드는 감지 메커니즘을 이용하여 물리적 페이지의 모든 셀로부터 하드 비트를 감지하고, 선택 메커니즘을 이용하여 소프트 비트를 감지하기 위하여 물리적 페이지의 셀의 부분만을 선택하고, 감지 메커니즘을 이용하여 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지하기 위한 것이다. 상기 프로세서는 코드를 수행하기 위한 것이다.
전력을 절약하기 위한 제 2 일반적인 방법에 대응하는 컴퓨터-판독 가능 저장 매체는 셀의 물리적 페이지, 셀을 감지하기 위한 감지 메커니즘, 및 물리적 페이지의 셀을 감지를 위해 선택하기 위한 선택 메커니즘을 포함하는 메모리를 관리하기 위한 컴퓨터-판독 가능 코드를 내부에 구현하였다. 상기 컴퓨터-판독 가능 코드는 감지 메커니즘을 이용하여 물리적 페이지의 모든 셀로부터 하드 비트를 감지하기 위한 프로그램 코드, 선택 메커니즘을 이용하여 소프트 비트를 감지하도록 단지 물리적 페이지의 셀만을 선택하기 위한 프로그램 코드, 및 감지 메커니즘을 이용하여 물리적 페이지의 셀의 단지 선택된 부분으로부터 소프트 비트를 감지하기 위한 프로그램 코드를 포함한다.
전력을 절약하는 일반적인 방법은 메모리의 복수의 셀을 판독하기 위한 것이다. 하드 비트 및 소프트 비트 이 둘 모두는 복수의 셀 모두로부터 감지된다. 단지 소프트 비트의 부분만이 메모리로부터 익스포트되도록 선택된다.
바람직하게도, 소프트 비트의 부분은 하드 비트에 따라 선택된다.
바람직하게도, 하드 비트에서의 에러는 소프트 비트에 따라 정정된다.
바람직하게도, 선택된 소프트 비트는 복수의 셀 내에 저장되는 코드 워크의 단일 서브-워드의 소프트 비트이다.
바람직하게도, 선택은 복수의 셀 내에 저장되는 하나 이상의 코드 워드의 소프트 비트를 제외한다.
시간을 절약하는 일반적인 방법에 대응하는 제어기는 복수의 셀, 복수의 셀로부터 하드 및 소프트 비트를 감지하기 위한 감지 메커니즘, 감지된 비트를 익스포트하기 위한 익스포트 메커니즘, 및 어떤 비트가 익스포트되는지를 선택하기 위한 선택 메커니즘을 포함하는 메모리를 제어한다. 상기 제어기는 감지 메커니즘을 이용하여 하드 비트 및 소프트 비트를 감지한다. 상기 제어기는 익스포트 메커니즘을 이용하여 메모리로부터 모든 하드 비트를 감지한다. 상기 제어기는 선택 메커니즘을 이용하여 메모리로부터 수신되는 소프트 비트의 부분만을 선택한다. 상기 제어기는 익스포트 메커니즘을 이용하여 소프트 비트의 선택된 부분을 수신한다. 시간을 절약하는 일반적인 방법에 대응하는 메모리 디바이스는 메모리 및 제어기 이 둘 모두를 포함한다.
시간을 절약하는 일반적인 방법에 대응하는 시스템은 제 1 메모리 및 제 1 메모리의 호스트를 포함한다. 제 1 메모리는 복수의 셀, 복수의 셀로부터 하드 및 소프트 비트를 감지하기 위한 감지 메커니즘, 선택된 비트를 익스포트하기 위한 익스포트 메커니즘, 및 어느 비트가 익스포트되는지를 선택하기 위한 선택 메커니즘을 포함한다. 호스트는 제 2 메모리 및 프로세서를 포함한다. 제 2 메모리는 코드를 저장하기 위한 것이다. 상기 코드는 감지 메커니즘을 이용하여 하드 비트 및 소프트 비트를 감지하고, 익스포트 메커니즘을 이용하여 메모리로부터 모든 하드 비트를 수신하고, 선택 메커니즘을 이용하여 메모리로부터 수신되는 소프트 비트의 부분만을 선택하고, 익스포트 메커니즘을 이용하여 소프트 비트의 선택된 부분을 수신하기 위한 것이다. 상기 프로세서는 코드를 수행하기 위한 것이다.
시간을 절약하기 위한 일반적인 방법에 대응하는 컴퓨터-판독 가능 저장 매체는 복수의 셀, 복수의 셀로부터 하드 및 소프트 비트를 감지하기 위한 감지 메커니즘, 감지된 비트를 익스포트하기 위한 익스포트 메커니즘 및 어느 비트가 익스포트되는지를 선택하기 위한 선택 메커니즘을 포함하는 메모리를 관리하기 위한 컴퓨터-판독 가능 코드를 내부에 구현하였다. 상기 컴퓨터-판독 가능 코드는 감지 메커니즘을 이용하여 하드 비트 및 소프트 비트를 감지하기 위한 프로그램 코드, 익스포트 메커니즘을 이용하여 메모리로부터 모든 하드 비트를 수신하기 위한 프로그램 코드, 선택 메커니즘을 이용하여 메모리로부터 수신되는 소프트 비트의 부분만을 선택하기 위한 프로그램 코드, 및 익스포트 메커니즘을 이용하여 소프트 비트의 선택된 부분을 수신하기 위한 프로그램 코드를 포함한다.
상술한 바와 같이, 본 발명에 의해 시간이 절약되고 셀의 어레이로부터 플래시 데이터 레지스터로 소프트 비트를 값을 판독하는데 소비되는 불필요한 전력의 낭비가 방지된다.
다양한 실시예는 본원에서 단지 예로서, 첨부 도면을 참조하여 기술된다:
도 1은, 플래시 메모리의 예시적인 내부 아키텍처를 도시한 도면.
도 2는, 도 1의 플래시 메모리의 메모리 제어 회로의 간소화된 블록도.
도 3은, 도 1의 플래시 메모리 및 제어기를 포함하는 플래시 메모리 디바이스의 고-레벨 개략 블록도.
도 4는, 도 3의 제어기의 대부분의 기능이 소프트웨어에 의해 에뮬레이팅(emulating)되는 메모리 시스템의 고-레벨 블록도.
플래시 메모리의 고속, 낮은 전력 판독의 상기 원리 및 동작은 도면 및 수반하는 설명을 참조하여 더 양호하게 이해될 것이다.
도 1은 플래시 메모리(100)에 대한 예시적인 내부 아키텍처를 도시한다. 주요 피쳐(feature)는 입력/출력(I/O) 버스(102) 및 외부 제어기와 인터페이스하기 위한 제어 신호(104), 명령, 어드레스, 및 상태 신호를 위한 레지스터와의 내부 메모리 동작을 제어하기 위한 메모리 제어 회로(106)를 포함한다. 플래시 EEPROM 셀의 하나 이상의 어레이(108)가 포함되고, 각각의 어레이는 자기 자신의 행 검출기(XDEC)(110) 및 열 검출기(YDEC)(112), 감지 증폭기 및 프로그램 제어 회로 소자(SA/PROG)(114) 및 데이터 레지스터(116)의 그룹을 갖는다. 현재, 메모리 셀은 통상적으로 저장 요소로서 하나 이상의 도전성 부동 게이트를 포함하고, 다른 장기간(long-term) 전자 전하 저장 요소가 대신 사용될 수 있다. 메모리 셀 어레이는 전하의 두 레벨이 각각의 저장 요소로 규정되어 동작할 수 있으므로 하나의 데이터의 비트를 각각의 요소로 저장할 수 있다. 대안적으로, 둘 이상의 저장 상태는 각각의 저장 요소로 정의될 수 있고, 이와 같은 경우 하나 이상의 데이터의 비트는 각각의 요소에 저장된다.
외부 인터페이스 I/O 버스(102) 및 제어 신호(104)는 다음을 포함한다:
CS -- Chip Select(칩 선택). 플래시 메모리 인터페이스를 활성화하는데 사용됨.
CLE -- 메모리 제어 회로(106)의 명령 레지스터로 송신되는 명령에 대한 활성 경로를 제어한다.
ALE -- 메모리 제어 회로(106)의 어드레스 레지스터로의 어드레스에 대한 활성 경로를 제어한다.
RE -- 일련 데이터-출력 제어. 활동할 때, 데이터를 I/O 버스(102) 상으로 구동.
WE -- I/O 포트로의 기록들을 제어.
AD[7:0] -- 어드레스/ 이 I/O 버스는 데이터 버스 제어기 및 메모리 제어기(106)의 플래시 메모리 명령, 어드레스 및 데이터 레지스터들 사이에서 데이터를 전송하는데 사용된다.
이 신호 외에도, 또한 전형적으로 메모리는 수단을 갖는데, 상기 수단에 의해 저장 서브시스템 제어기는 상기 메모리가 분주하게 어떤 임무를 실행하고 있다고 결정할 수 있다. 그와 같은 수단은 메모리가 분주한 동안 액세스 가능한 내부 메모리 레지스터에 전용 신호 또는 상태 비트를 포함할 수 있다.
이 인터페이스는 단지 예로서 제공되어, 따라서 다른 신호 구성들이 동일한 기능을 제공하는데 사용될 수 있다. 도 1은 단지 자체의 관련된 구성요소들을 갖는 하나의 플래시 메모리 어레이(108)만을 도시하지만, 단일 플래시 메모리 칩 상에 공통 인터페이스 및 메모리 제어 회로소자를 공유하지만 병렬 판독 및 프로그램 동작들이 가능하도록 개별 XDEC(110), YDEC(112), SA/PROG(14), 및 데이터 레지스터(116) 회로 소자를 갖는 그와 같은 다수의 어레이들이 존재할 수 있다.
데이터는 메모리 어레이로부터 데이터 레지스터(116)를 통하여 외부 제어기로, 데이터 레지스터의 I/O 버스 AD[7:0](102)로의 커플링(coupling)을 경유하여 전송된다. 이 데이터 전송은 첨부된 청구항들에서는 플래시 메모리(100)로부터 데이터를 "익스포트한다"고 칭해진다. 데이터 레지스터(116)는 또한 감지 증폭기/프로그래밍 회로(114)에 연결된다. 각각의 감지 증폭기/프로그래밍 회로 소자에 연결되는 데이터 레지스터(116)의 요소의 수는, 메모리 셀, 각각 저장 요소로서 하나 이상의 부동 게이트를 포함하는 플래시 EEPROM 셀의 각각의 저장 요소에 저장되는 비트의 수에 좌우될 수 있다. 각각의 저장 요소는 메모리 셀이 다중-상태 모드에서 동작하는 경우, 복수의 비트들, 예를 들어, 2 또는 4를 저장할 수 있다. 대안적으로, 메모리 셀은 이진 모드에서 동작되어 저장 요소당 하나의 데이터의 비트를 저장할 수 있다.
행 디코더(110)는 액세스될 물리적 페이지를 선택하기 위해 어레이(108)에 대한 행 어드레스를 디코딩한다. 행 디코더(110)는 메모리 제어 논리(106)로부터 내부 행 어드레스 라인(118)을 경유하여 행 어드레스를 수신한다. 열 디코더(112)는 메모리 제어 논리(106)로부터 내부 열 어드레스 라인(120)을 경유하여 열 어드레스를 수신한다. 어레이(108)의 행(124)은 본원에서 "워드 라인(word line)"으로 칭해진다. 어레이(108)의 열(126)은 본원에서 "비트 라인"으로 칭해진다. 설명의 간소화를 위해, 단지 어레이(108)의 처음 네 행(124), 최종 네 행(124), 처음 네 열(126) 및 최종 네 열(126)만이 어레이(108)에서 명확하게 도시된다.
어레이(108)의 셀은 워드 라인(124) 및 비트 라인(126)의 교차점에 있다. 각각의 비트 라인(126)에서, 셀은 NOR 플래시 메모리에서와 같이 병렬이라기 보다는, NAND 플래시 메모리에서와 같이 직렬로 접속된다. 비트 라인(126)은 예를 들어, 가장 좌측의 비트 라인(126)에 서수 "1"을 할당하고, 그 다음 가장 좌측의 비트 라인(126)에 서수 "2"를 할당하고 기타 같은 방식으로 하기 위해서 좌측에서 우측으로 순서화된다.
플래시 메모리 어레이(108)로부터 데이터를 판독하고 데이터를 플래시 메모리 어레이(108)에 기록할 때 메모리 제어 회로(106)의 동작이 이제 서술될 것이다.
도 2는 메모리 제어 회로(106)의 간소화된 블록도이다. 레지스터 인에이블 회로(register enable circuit)(204)는 어드레스 레지스터(206), 명령 레지스터(202) 및 래치 인에이블 회로(latch enable circuit)(210)에 연결된 입력을 갖는다. 어드레스 기술자(descriptor)가 따라야만 하는 것을 나타내는 ALE 제어 신호(104)를 외부 제어기로부터 수신하자마자, 레지스터 인에이블 회로(204)는 인에이블 라인(PADR)을 활성화하고, 이 인에이블 라인(PADR)은 I/O 버스(102) 상의 외부 제어기로부터의 후속 천크(chunk) 어드레스 기술자로 하여금 어드레스 레지스터(206)로 래치되도록 한다. 자체 상에서 어드레스 레지스터(206)에 연결되는 래치 인에이블 회로(210)는 래치 인에이블 라인(X 및 Y)을 활성화하여 어드레스 레지스터(206)에 저장된 천크 어드레스를 어드레스 래치들(212)의 적절한 행 및 열 래치로 래칭한다. 그리고나서 어드레스 래치들(212) 내에 저장되는 천크 어드레스는 내부 행 어드레스 라인(118) 중 적절한 라인을 통하여 행 디코더(110)로 내부 열 어드레스 라인(120)을 통하여 열 디코더(112)로 제공된다.
외부 제어기로부터 데이터가 따라야만 하는 것을{왜냐하면 외부 제어기는 데이터를 플래시 메모리 어레이(108)에 기록하고자 한다} 나타내는 제어 신호(104)를 수신하자마자, 레지스터 인에이블 회로(204)는 I/O 버스(102) 상의 데이터의 천크로 하여금 데이터 레지스터(116)로 래칭되도록 하는 인에이블 라인(PDAT)을 활성화한다.
외부 제어기로부터 명령이 따라야만 하는 것을 나타내는 CLE 제어 신호(104)를 수신하자마자, 레지스터 인에이블 회로(204)는 인에이블 라인(PCMD)를 활성화하고, 이 인에이블 라인(PCMD)은 I/O 버스(102) 상의 외부 제어기로부터의 후속 판독 또는 기록 명령으로 하여금 명령 레지스터(202)로 래칭되도록 한다. 명령 레지스터와 접한 명령 디코더(208)는 명령 레지스터(202)에 저장된 명령을 판독한다.
명령이 기록 명령인 경우, 명령 검출기(208)는 명령을 디코딩하여 프로그램 라인(PGM)을 활성화한다. 프래그램 인에이블 회로(216)는 어드레스 레지스터(206)에 저장된 천크 어드레스로부터 가장 중요한 비트 및 프로그램 라인(PGM)을 수신하고, 이에 응답하여, 감지 증폭기/프로그램 회로들(114)에 제공되는 프로그램 인에이블 라인(123)을 활성화하여 데이터 레지스터(116) 내의 데이터를 플래시 메모리 어레이(108)에 프로그램하는 자체의 프로그램 /검증 모드들을 선택적으로 활성화한다.
명령이 판독 명령인 경우, 명령 검출기(208)는 명령을 검출하여 감지 인에이블 회로(214)를 활성화하고 감지 인에이블 회로(214)는 순서대로 감지 증폭기/프로그래밍 회로들(114)에 제공되는 감지 인에이블 라인(122)을 활성화하여 플래시 메모리 어레이(108)의 래칭된 행(124) 및 래칭된 열(126)의 교차점에 있는 셀에 저장된 임계 전압을 감지하는 동작의 자체의 감지 모드를 선택적으로 활성화한다. 감지 결과는 이후에 외부 제어기에 의해 판독되는 데이터 레지스터(116) 내에 로딩된다.
외부 제어기로부터의 각각의 판독 명령은 데이터로 하여금 천크 어드레스 기술자에 의해 지정되는 플래시 메모리 어레이(108)의 단일 행(124)으로부터 판독되도록 한다. 그러므로, 어드레스 래치(212)의 각각의 행 값은 플래시 메모리 어레이(108)의 각각의 행(124)에 대한 것이다. 어드레스 래치(212)의 열 래치는 플래시 메모리 어레이(108)의 열(126)의 그룹에 대한 것으로서, 열(126)은 종래대로 소프트 비트를 감지하는데 소비되는 전력을 절약하는 방식을 열에 대해 그룹화된다.
종래에, 열 래치의 각각의 그룹은 플래시 메모리 어레이(108)의 각각의 행(124) 상에서의 전체 물리적 페이지에 대응한다. 메모리(100)가 어떻게 구성되느냐에 따라, 셀의 각각의 행(124)은 자체가 단일 물리적 페이지이거나, 대안으로 셀의 각각의 행(124)은 둘, 셀 이상의 물리적 페이지를 포함할 수 있다. 데이터를 물리적 페이지에 기록하기 위한 외부 제어기로부터의 명령은 감지 증폭기/프로그래밍 회로(114)로 하여금 목표하는 물리적 페이지의 모든 셀을 프로그램하도록 한다. 물리적 페이지의 하드 비트를 판독하기 위한 외부 제어기로부터의 명령은 감지 증폭기/프로그래밍 회로(114)로 하여금 목표하는 물리적 페이지의 모든 셀의 하드 비트를 감지하도록 한다. 물리적 페이지의 소프트 비트를 판독하기 위한 외부 제어기로부터의 명령은 감지 증폭기/프로그래밍 회로들(114)로 하여금 목표하는 물리적 페이지의 모든 셀의 소프트 비트를 판독하도록 한다.
도 3은 외부 제어기(302)에 의해 플래시 메모리(100)가 제어되는 플래시 메모리 디바이스(300)의 고-레벨 개략 블록도이다. 제어기(302)는 개인용 컴퓨터, 디지털 카메라, 휴대용 개인정보 단말기(personal digital assistant)와 같은 호스트 시스템과 접속되거나 접속 가능하다. 데이터를 메모리 어레이(108)로 그리고 메모리 어레이(108)로부터 기록하고 판독하라는 것과 같은 명령을 개시하고 그와 같은 데이터를 각각 제공하고 수신하는 것은 호스트이다. 제어기(302)는 그와 같은 명령을 메모리 제어 회로(106)에 의해 해석되고 수행될 수 있는 명령 신호로 변환한다. 제어기(302)는 또한 전형적으로 기록되어 있고 메모리 어레이(108)로부터 판독되는 사용자 데이터를 위한 버퍼 메모리(buffer memory)를 포함한다. 전형적인 메모리 디바이스(300)는 제어기(302)를 포함하는 하나의 집적 회로 칩(304), 각각 메모리(100)를 포함하는 하나 이상의 집적 회로 칩들(306)을 포함한다. 물론 상기 경향은 그와 같은 메모리 디바이스의 메모리 어레이 및 제어 회로를 하나 이상의 집적 회로 칩들에 집적하는 것이다. 메모리 디바이스(300)는 호스트 시스템의 일부로 임베딩(embedding)될 수 있거나, 호스트 시스템의 메이팅(mating)하는 소켓으로 제거 가능하게 삽입될 수 있는 메모리 카드에 포함될 수 있다. 그와 같은 카드는 전체 메모리 디바이스를 포함할 수 있거나, 또는 제어기 및 메모리 어레이는 연관된 주변 회로를 가지므로 개별 카드들 내에 제공될 수 있다.
하드 및 소프트 비트를 감지하고 판독하는데 소비되는 전력은 두 부분으로 구성된다 - 제 1 부분은 데이터 레지스터(116) 내에서 메모리 셀을 감지하는데 걸리는(즉, 기준 전압을 셀로 인가하고 이들에 대해 행해지는 비교 결과를 감지하는데 전력을 소비하는) 전력이고, 그리고 제 2 부분은 판독 값을 데이터 레지스터(116)로부터 버스(102)를 통해 외부 제어기(302)로 전송("익스포트")하는데(여기서 에러 정정 디코더 및 다른 추정 기능은 전형적으로 위치된다) 걸리는 전력이다. 본원에시 기술되는 플래시 메모리 어레이(108)의 열의 열 래치에 대한 그룹화는 제 1 부분 - 메모리 셀의 감지의 전력을 감소시킨다.
상술한 바와 같이, 종래에는, 물리적 페이지의 소프트 비트를 판독하기 위한 외부 제어기(302)로부터의 명령은 감지 증폭기/프로그래밍 회로(114)로 하여금 목표하는 물리적 페이지의 모든 셀의 소프트 비트를 판독하도록 한다. 물리적 페이지의 메모리 셀 모두에 대한 소프트 비트 값을 실제로 필요로 하지 않고, 단지 메모리 셀의 일부에 대한 소프트 비트 값만이 필요로 하는 경우가 존재한다. 그렇지만, 종래에는, 판독되는 물리적 페이지의 모든 셀의 모든 소프트 비트 값이 데이터 레지스터(116) 내로 감지된다. 그러나, 상기 값 모두가 필요하지 않은 경우, 이는 전력을 불필요하게 소비하지 않는다.
예를 들어, 플래시 메모리 셀이 감지될 때 100 [나노 암페어]의 전류를 소비하는 경우, 그리고 디코딩 계산에 참여하는 셀의 수가 16K인 경우(간소화를 위해 패리티 비트 및 관리 비트를 무시한다), 그리고나서 감지된 비트의 절반만이 디코더에 의해 필요해진 경우, 플래시 메모리는 감지 동작(임계 전압 비교)이 단일 소프트 비트 감지에 대해 행해질 때마다 8K × 100 = 800K[나노 암페어] = 0.8[밀리 암페어]를 소비한다.
일부 소프트 비트는 각각의 셀에 대한 하나 이상의 감지 동작을 필요로 하는 것이 주목되어야 한다. 전형적으로 제 1 소프트 비트는 셀 상태에 대해 하나의 임계 전압 비교를 필요로 하고, 제 2 소프트 비트는 셀 상태에 대해 두 개 더 임계 전압 비교를 필요로 하고, 제 3 소프트 비트는 셀 상태에 대해 네 개 더 전압 비교를 필요로 하고 기타 마찬가지이다.
물리적 페이지의 셀의 단지 일부만의 소프트 비트를 감지하는 것은 다음 중 어느 하나가 발생하는 셀에 필요할 있다:
· 셀의 하드 비트는 이미 이전에 감지되었고, 셀의 일부의 소프트 비트만이 필요하다.
· 일부 셀의 데이터는 하드 비트 또는 소프트 비트 어느 쪽을 판독하는 동안 전혀 필요하지 않다.
본원에 기술되는 소프트 비트의 선택적인 감지의 유용성을 확인하기 위해 논의할 유일한 나머지 포인트는 모든 소프트 비트 값을 필요로 하지 않고 그것들의 일부만을 필요로 하는 것이 언제 그렇게 될 수 있는지를 설명하는 것이다. 이는 실제로 다음의 네 예에서의 경우이다:
A. 플래시 메모리 셀에서 에러를 발생시키는 물리적 현상은 셀의 상이한 상태에 대해 상이할 수 있다. 예를 들어, 에러의 주요 소스(source)는 셀의 부동 게이트로부터의 전자의 유출로 인한 시간에 따른 메모리 셀의 임계 전압의 드리프팅(drifting)이다. 하이(high) 상태(즉, 높은 임계 전압에 대응하는 상태)에 있는 셀은 로(low) 상태(즉, 낮은 임계 전압에 대응하는 상태)에 있는 셀보다 드리프트 현상에 의해 훨씬 더 많이 영향을 받는 것이 전형적으로 그러하다. 이 드리프트 현상은 때때로 데이터 보존(Data Retention)으로 칭해진다.
그러므로, 로 상태에서 상주하는 셀이 상당히 신뢰 가능하고 추가 소프트 비트 또는 비트들로부터 이익을 크게 얻지 못할 것임을 기대하는 것이 합리적이다. 한편, 하이 상태에서 상주하는 셀은 덜 신뢰 가능하고 (a) 소프트 비트(들)에 의해 제공되는 추가 정보로부터 이익을 얻을 수 있다. 그러므로 디코더 설계자는 다음의 규칙을 구현한다 - 소프트 비트를 판독할 때(디코딩이 실패하거나 하드 비트만을 사용하고 있을 때 지정된 시간에 수렴되었기 때문에), 상태의 그룹의 상위 절반에 있는 셀(예를 들어, 4-비트-퍼-셀(four-bit-per-cell) 플래시 메모리에서의 16개의 상태 중에서 8개의 가장 높은 상태)에 대응하는 소프트 비트 값만을 감지한다.
B. 하나의 유형의 디코더는 완전한 워드의 서브-워드를 디코딩함으로써 코드 워드의 디코딩의 특성을 갖는다. 하나의 그와 같은 서브-워드가 스스로 디코딩에 실패하면, 단지 그때에만 다른 서브-워드(성공적으로 디코딩하지 않는 서브-워드 및 서브-코드, 즉, 성공적으로 디코딩되는 서브-워드 이 둘 모두)로부터의 정보가 상기 서브-워드를 디코딩하는데 원조하도록 한다.
소프트 비트는 서브-워드 디코딩 시도의 실패 이후에 그리고 다른 서브-워드로부터의 정보가 이용되기 전에 그와 같은 디코더와 같이 사용될 수 있다. 소프트 비트는 다른 서브-워드로부터의 외부 정보와는 관계없이 실패한 서브-워드를 디코딩하고자 시도하기 위해 실패하는 서브-워드에 대해 판독될 수 있다. 그러나 단 하나의 서브-워드가 실패하고 소프트 비트를 필요로 하면, 모든 다른 서브-워드, 특히 성공적으로 디코딩된 다른 서브-워드의 소프트 비트를 감지하고 전송할 필요가 없다. 그러므로 그와 같은 디코더의 설계자는 본원에서 기술되고 실제로 이들을 필요로 하는 서브-워드들의 소프트 비트 값만을 감지하는 플래시 메모리 어레이(108)의 열(126)의 열 래치에 대한 그룹화를 이용할 수 있다.
C. 일부 플래시 저장 시스템에서 메모리로부터 유닛으로 판독되는 데이터의 천크(플래시 메모리의 용어에서는 "페이지")는 에러 정정 프로세스에 사용되는 데이터의 천크보다 더 크다. 즉, 데이터의 천크는 메모리의 물리적 페이지에 대응하는 셀의 그룹(각각의 셀은 하나 이상의 데이터 비트를 저장한다)에 저장되고, 그러나 데이터를 디코딩하기 위해 천크는 개별 코드 워드로 분할된다.
전형적인 예는 32K 셀의 물리적 페이지이고, 여기서 각각의 셀은 각각 8K 셀에 저장되는 16K를 포함하는 네 코드 워드로 분할되는 2개의 데이터 비트를(총 64K 비트에 대한) 저장한다. 각각 그와 같은 코드 워드는 독자적으로 디코딩된다. 그러므로, 코드 워드 중 하나가 성공적인 디코딩을 위해 소프트 비트를 필요로 하고 반면에 다른 코드 워드들은 그러하지 않는 것이 그러한 경우일 수 있다. 그와 같은 경우에서 저장 시스템 설계자는 본원에 기술되고 초기에 실패된 코드 워드를 저장하는 셀에 대응하는 소프트 비트 값들만을 데이터 레지스터(116)에 감지하는 플래시 메모리 어레이(108)의 열(126)의 열 래치에 대한 그룹화를 이용할 수 있다.
D. 일부 플래시 저장 시스템에서 메모리로부터 유닛으로 판독되는 데이터의 천크(플래시 메모리의 용어에서는 "페이지")는 예를 들어, 셀 간 크로스 커플링(corss coupling)의 통계 추정을 위해 사용되는 데이터의 천크보다 더 크다. 충분히 정확한 크로스 커플링 계수의 추정의 경우 단지 페이지의 일부분만이 필요할 수 있다. 상기 경우 "C"의 전형적인 경우에 대해, 32K 셀로부터 단 10K 셀만이 크로스 커플링 계수를 추정하는데 사용될 수 있고 추정된 커플링 계수는 이후에 워드 라인의 모든 32K 셀에 대해 사용될 수 있다.
이 경우에 워드 라인 n에서 그리고 워드 라인 n+1에서 셀당 두 소프트 비트 및 하드 비트 이 둘에 대해 단지 첫 번째 10K 셀만이 감지된다. 이 비트를 토대로, 크로스 커플링 계수가 생성된다. 후속해서, 단지 워드 라인 n+1의 하드 비트 및 워드 라인 n의 셀 당 하나의 소프트 비트 및 하드 비트만이 생성된 크로스 커플링 계수를 이용하여 크로스 커플링을 보상하는데 이용된다. 상기 결과는 워드 라인 n+1의 소프트 비트 및 워드 라인 n의 최종 22K 셀의 각각의 제 2 소프트 비트는 감지되지 않고 반면에 전력 및 아마도 이 감지와 연관되는 시간이 절약된다.
원칙적으로, 어드레스 래치(212)는 비트-라인(126) 당 하나의 열 래치를 포함할 수 있다. 각각의 열 래치는 자체의 대응하는 비트-라인(126)이 판독 감지 위상 동안 동작하는지 그리고 상기 비트-라인(126)을 통해 전류가 흐르고 있는지를 결정할 것이다.그러나, 그와 같은 설계는 제어기(302)가 각각의 래치의 바람직한 상태를 지정해야만 하기 때문에, 많은 래치를 필요로 하는 면에서 가격이 비쌀 뿐만 아니라 또한 플래시 메모리(100) 및 외부 플래시 제어기(302)의 상호 동작 면에서 복잡하다.
훨씬 바람직한 설계는 하나의 신호에서 많은 비트-라인(126)의 그룹의 전력 소비를 인에이블하고 디세이블(disable)한다. 예를 들어, 예 B의 서브-워드 중 하나에 대응하는 비트-라인(126)의 각각의 그룹은 어드레스 래치(212)의 단일의 각각의 열 래치에 의해 제어될 수 있다. 대안적으로, 예 C의 코드 워드에 대응하는 비트-라인(126)의 각각의 그룹, 또는 예 D의 그룹은 어드레스 래치(212)의 단일 열 래치에 의해 제어될 수 있다.
비록 예 A가 이 바람직한 구현예에 의해 충분히 지원되지 않을지라도, 그렇지만 이 예에 대해서 또한 일부 전력 절약이 달성된다. 4-비트-퍼-셀 P의 하드 비트 중 하나가 셀이 8개의 상위 상태 또는 8개의 하위 상태에 속하는지를 나타낸다고 가정하면, 단일 감지 동작에서 셀이 상위 또는 하위의 8개의 상태에 속하는지가 결정된다. 이 비트는 VBL(비트 라인 드레인 측 전압)을 영(0)으로 변경함으로써 모든 비-관련 비트 라인을 억제하는데 이용될 수 있다. 그러나 이는 이 경우에 하드 비트 이후에 그러나 하드 비트와 별개로 소프트 비트가 판독되어야 함을 의미하는데, 왜냐하면 하드 비트가 판독되기 전에 상위 및 하위 8개의 레벨들 사이를 구별할 수 없기 때문이다. 비록 이것이 제한적인 것처럼 보일지라도, 이는 소프트 비트가 에러 정정과 함께 고려될 때의 전형적인 경우이다.
외부 제어기(302)가 비트-라인(126)의 각각의 그룹을 인에이블 또는 디세이블해야만 할 때, 메모리 제어 회로(106)에 의해 어드레스 기술자들에 대해 다음의 선택사항이 이용 가능하다:
1. 플래시 메모리의 전형적인 판독 명령은 특정 바이트(또는 워드, 보다 덜 공통적인 16-비트 플래시 메모리에서의)를 지정하는 어드레스를 포함한다. 어드레스의 가장 중요한 비트는 판독되고 있는 페이지를 정의하고 가장 적게 중요한 바이트는 순차적인 판독이 바람직한 바이트를 규정한다. 판독 명령이 예를 들어, 페이지 내의 4096 바이트 중 3027 바이트로 지적되는 경우, 이는 제어기(302)가 페이지의 가장 높은 쿼터만을 판독하려고 한다는 표시로서 취해질 수 있다. 플래시 메모리(100)는 이와 같은 경우(판독 어드레스가 어드레스된 페이지 내에서 오프셋 N을 지적하는)에 N보다 적은 오프셋을 갖는 모든 비트-라인의 감지를 방지하도록 구성될 수 있다.
2. 이전의 선택사항은 감지를 위해 시작 오프셋을 설정하지만, 종료 오프셋을 설정하지 않는다. 시작 오프셋 및 종료 오프셋 이 둘의 설정을 원하는 경우, 플래시 메모리(100)는 명시적으로 두 개의 수를 설정하는 명령(판독 명령 이전에 발행되는)을 지원할 수 있다 - 하나는 하위의 감지된 어드레스에 대한 것이고 하나는 상위의 감지된 어드레스에 관한 것이다.
3, 외부 제어기(302)에 의해, 셀이 감지되는 미세한 해상도 조정을 원한다면, 플래시 메모리(100)는 여러 비트의 "감지 제어 레지스터"를 포함하도록 구성될 수 있고, 각각의 비트는 페이지의 하나의 섹션을 제어한다. 예를 들어, 4 KB 페이지는 8개의 512 바이트의 섹터로 분할될 수 있고, 각각은 8-비트 레지스터로부터의 하나의 비트에 의해 제어된다. 플래시 메모리(100)가 만일 그렇게 구성되면, 감지 제어 레지스터를 임의의 원하는 비트 패턴으로 설정하는 명령(판독 명령 이전에 발행되는)을 지원함으로써, 섹터들의 임의의 결합이 감지되도록 하고 반면에 다른 섹터들이 감지되지 않는다.
방법 2에서의 한계의 설정 및 방법 3에서의 레지스터의 설정은 하나의 판도만을 위한 것이고 각각의 판독된 페이지에 대해 반복될 수 있거나, 디폴트 값(default value)으로 변하거나 재설정될 때까지 실질적으로 유지될 수 있다.
플래시 메모리(100) 및 외부 제어기(302)에 의해 하드 및 소프트 비트를 감지하고 판독하는데 소비되는 전력과 같이, 외부 제어기(302)가 플래시 메모리(100)로부터 소프트 비트를 판독하는데 소비되는 시간은 두 부분들로 구성된다 - 제 1 부분은 메모리 셀을 데이터 레지스터(116)로 감지하는데 걸리는 시간(즉, 기준 전압을 셀에 적용하고 이들에 대하여 행해진 비교 결과를 감지하는 시간)이고, 제 2 부분은 판독 값을 데이터 레지스터(116)로부터 버스(102)를 통해 외부 제어기(302)로 전송하는데("익스포트") 걸리는 시간이다.
실제로 물리적 페이지의 모든 메모리 셀에 대한 소프트 비트 값을 필요로 하지 않고, 단지 이들 중 일부만을 필요로 하는 경우들이 존재한다. 그렇지만, 종래의 시스템은 항상 모든 셀의 모든 소프트 비트 값을 외부 제어기(302)로 전송한다. 그러나, 상기 값 모두가 필요하지 않은 경우, 이는 전력을 불필요하게 소비하지 않는다. 전형적인 플래시 버스 사이클은 30 내지 50 나노초 사이에 있을 수 있는데, 이 시간에서 8비트가 전송된다(또는 16 비트 플래시 디바이스들의 보다 덜 일반적인 경우에서의 16 비트). 디코딩 계산에 참여하는 셀의 수가 16K인 경우(간소화를 위해 패리티 비트 및 관리 비트를 무시한다), 그러나 비트의 절반만이 디코더에 의해 필요해진 경우, 50 나노초의 버스 사이클을 갖는 8-비트 플래시 디바이스는 소프트 비트가 판독될 때마다 8 × 1024 × 50 / 8 = 51,200 나노초 = 51.2 마이크로초를 소비한다.
NAND 플래시 메모리의 데이터 레지스터(예를 들어, 플래시 메모리(100)의 데이터 레지스터(116))에 상주하는 데이터의 일부분만을 전송하는 것은 플래시 메모리에서의 임의의 추가 회로소자 또는 명령을 필요로 하지 않는다 - 소프트 비트의 판독을 지원하는 모든 플래시 메모리는 데이터 레지스터에서의 어떤 임의의 어드레스로부터 데이터 전송을 시작하고, 순차적으로 시작하는 어드레스로부터 임의의 원하는 수의 바이트를 전송하고, 그리고나서 전송 포인터(pointer)를 데이터 레지스터에서 임의의 원하는 제 2 어드레스로 재-위치시키고, 순차적으로 임의의 수의 바이트를 전송하고 등등의 케이퍼빌리티(표준 이용 가능 명령을 사용하는)를 갖는다.
데이터 레지스터(116)와 같은 데이터 레지스터로부터 부분적인 데이터 전송의 가능성 및 유용성을 확인하기 위해 논의할 유일한 나머지 포인트는 모든 소프트 비트 값을 필요로 하지 않고 그것들의 일부만을 필요로 하는 것이 언제 그렇게 될 수 있는지를 설명하는 것이다. 이는 실제로 다음의 예에서의 경우이다:
A. 플래시 메모리 셀에서 에러를 발생시키는 물리적 효과는 셀의 상이한 상태에 대해 상이하게 영향을 미친다. 예를 들어, 에러의 주요 소스는 셀의 부동 게이트로부터의 전자의 유출로 인한 시간에 따른 메모리 셀의 임계 전압의 드리프팅이다. 전형적으로 하이 상태(즉, 높은 임계 전압에 대응하는 상태)에 있는 셀은 로 상태(즉, 낮은 임계 전압에 대응하는 상태)에 있는 셀들보다 드리프트 현상에 의해 훨씬 더 많이 영향을 받는 것이 그러하다. 그러므로 로 상태에서 판독되는(하드 비트만을 사용하여) 셀이 상당히 신뢰 가능하고 추가 소프트 비트 또는 비트들로부터 이익을 크게 얻지 못할 것임을 기대하는 것이 합리적이다. 한편, 하이 상태에서 판독되는(하드 비트만을 사용하여) 셀은 덜 신뢰 가능하고 (a) 소프트 비트(들)에 의해 제공되는 추가 정보로부터 이익을 얻을 수 있다. 그러므로 디코더 설계자는 다음의 규칙을 구현한다 - 소프트 비트를 판독할 때(하드 비트들만을 사용하고 있을 때 디코딩이 실패하기 때문에), 상태의 그룹의 상위 절반에 있는 셀(예를 들어, 4-비트-퍼-셀 플래시 메모리에서의 16개의 상태 중에서 8개의 가장 높은 상태)에 대응하는 소프트 비트 값만을 판독한다.
B. 상술한 바와 같이, 하나의 유형의 디코더는 완전한 코드 워드의 서브-워드에서 코드 워드의 디코딩을 시작하는 특성을 갖는다. 하나의 그와 같은 서브-워드가 스스로 디코딩에 실패하면, 단지 그때에만 다른 서브-워드(성공적으로 디코딩하지 않는 서브-워드 및 서브-코드, 즉, 성공적으로 디코딩되는 서브-워드 이 둘 모두)로부터의 정보가 상기 서브-워드를 디코딩하는데 원조하도록 한다. 소프트 비트는 서브-워드 디코딩 시도의 실패 이후에 그리고 다른 서브-워드로부터의 정보가 이용되기 전에 그와 같은 디코더와 같이 사용될 수 있다. 소프트 비트는 다른 서브-워드로부터의 외부 정보 없이 실패한 서브-워드를 국지적으로 디코딩하고자 시도하기 위해 실패하는 서브-워드에 대해 판독될 수 있다. 그러나 단 하나의 서브-워드가 실패하고 소프트 비트를 필요로 하면, 다른(실패하지 않은) 서브-워드의 소프트 비트를 전송할 필요가 없다. 그러므로 그와 같은 디코더의 설계자는 본원에서 기술되고 실제로 이들을 필요로 하는 서브-워드들의 소프트 비트 값만을 전송한다.
C. 일부 플래시 저장 시스템에서 메모리로부터 유닛으로 판독되는 데이터의 천크(플래시 메모리의 용어에서는 "페이지")는 에러 정정 프로세스에 사용되는 데이터의 천크보다 더 크다. 즉, 데이터의 천크는 메모리의 물리적 페이지에 대응하는 셀의 그룹(각각의 셀은 하나 이상의 데이터 비트를 저장한다)에 저장되고, 그러나 데이터를 디코딩하기 위해 천크는 개별 코드 워드로 분할된다. 전형적인 예는 32K 셀의 물리적 페이지이고, 여기서 각각의 셀은 각각 8K 셀에 저장되는 16K를 포함하는 네 코드 워드로 분할되는 2개의 데이터 비트를(총 64K 비트에 대한) 저장한다. 각각 그와 같은 코드 워드는 독자적으로 디코딩된다. 그러므로, 코드 워드 중 하나가 성공적인 디코딩을 위해 소프트 비트를 필요로 하고 반면에 다른 코드 워드들은 그러하지 않는 것이 그러한 경우가 있을 것이다. 그와 같은 경우에서 저장 시스템 설계자는, 심지어 전체 물리적 페이지의 소프트 비트가 메모리 셀로부터 데이터 레지스터로 동시에 판독되고 제어기로 전송될 준비가 된 경우조차도, 초기에 실패된 코드 워드를 저장하는 셀에 대응하는 소프트 비트 값만을 데이터 레지스터(116)로 전송할 수 있다.
도 4는 제어기(302)의 기능의 대부분이 소프트웨어에 의해 달성되는 시스템(400)의 고-레벨 블록도이다. 시스템(400)은 프로세서(402) 및 네 메모리 디바이스들: RAN(404), 부트 ROM(406), 대용량 저장 디바이스(하드 디스크)(408) 및 플래세 메모리 디바이스(412)로서 도 3의 수정된 플래시 메모리 디바이스를 포함하고, 모두는 공통 버스(414)를 통해 통신한다. 도 3의 플래시 메모리 디바이스(300) 및 플래시 메모리 디바이스(412) 사이의 차이는 플래시 메모리 디바이스(412)의 제어기가 버스(414)로의 인터페이스로서만 기능을 한다는 점이다: 상술한 바와 같은 도 3의 제어기(302)의 나머지 기능은, 대용량 저장 디바이스(408)에 저장되고, 프로세서(402) 및 플래시 메모리 디바이스(412)에 의해 수행되는 사용자 어플리케이션들 사이에서 인터페이스하고 플래시 메모리 디바이스(412)의 플래시 메모리를 관리하기 위해 프로세서(402)에 의해 수행되는 플래시 메모리 드라이버 코드(410)에 의해 에뮬레이팅된다. 그와 같은 플래시 관리 드라이버 코드의 종래의 기능 외에, 드라이버 코드(410)는 상술한 바와 같이, 플래시 메모리 디바이스(412)의 플래시 셀을 판독할 때 전력 및 시간을 절약하는 것에 관하여 도 3의 제어기(302)의 기능을 에뮬레이팅한다. 드라이버 코드(410)는 전형적으로 시스템(400)에 대한 운영 시스템에 포함되지만 또한 독립 코드일 수 있다.
플래시 메모리 디바이스(412) 이외의 시스템(400)의 구성요소들은 플래시 메모리 디바이스(412)의 호스트(420)를 구성한다. 대용량 저장 디바이스(408)는 사용을 위한 컴퓨터-판독 가능 드라이버 코드를 플래시 메모리 어레이의 기준 셀로서 지니는 컴퓨터-판독 가능 저장 매체의 예이고, 플래시 메모리 어레이의 셀은 어떤 목적을 위해 달리 사용되지 않을 것이다. 그와 같은 컴퓨터-판독 가능 저장 매체는 그와 같은 코드를 지니는 CD들과 같은 판독-전용 메모리들을 포함한다.
플래시 메모리, 그리고 메모리의 셀, 및 상기 방법들을 사용하는 디바이스 및 시스템을 판독하는데 시간 및 전력을 절약하기 위한 방법의 제한된 수의 실시예가 기술되었다. 상기 방법, 디바이스 및 시스템의 많은 수정, 변형 및 다른 용도가 행해질 수 있음이 인식될 것이다.

Claims (47)

  1. 복수의 워드 라인들 및 복수의 순서화된 비트 라인들의 교차점들에 있고 직렬로 접속되어 있는 공통 비트 라인을 공유하는 셀들의 어레이를 포함하는 메모리의 데이터 판독 모드에서, 워드 라인을 공유하는 셀들을 판독하는 방법에 있어서,
    (a) 상기 워드 라인의 셀들의 일부 또는 전체를 동시에 프로그래밍하는 단계,
    (b) 감지하는 단계 이전에, 상기 셀들을 감지하기 위한 제어기에 의해 나중에 실행되는 모든 명령에 대해 상기 비트 라인들의 일부를 지정하는 명령을 실행하는 제어기에 의해, 동시에 프로그램되는 상기 셀들의 일부 또는 전체에서 상기 워드 라인과 교차하는 상기 비트 라인들의 일부만을 선택하는 단계 - 상기 셀들의 일부는 상기 메모리의 물리적 페이지에서의 모든 셀들보다 적음 -,
    (c) 상기 (b)의 선택하는 단계를 기초로 하여, 상기 비트 라인들의 일부와 상기 워드 라인의 교차점들에 있는 상기 워드 라인의 셀들만을 선택적으로 감지하는 단계, 및
    (d) 상기 비트 라인들을 복수의 상기 비트 라인들의 디스조인트 세트(disjoint set)들로 그룹화하는 단계
    를 포함하고,
    상기 선택하는 단계는 상기 비트 라인들의 일부인 시작하는 비트 라인을 지정하고 상기 비트 라인들의 일부인 종료하는 비트라인을 지정함으로써 상기 디스조인트 세트들 중 적어도 하나를 지정하는 단계에 의해 달성되는, 셀 판독 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제 1항에 있어서, 상기 메모리는 호스트와 인터페이스되는, 셀 판독 방법.
  7. 메모리에 있어서,
    (a) 복수의 워드 라인들 및 복수의 비트 라인들의 교차점들에 있는 복수의 셀들로서, 상기 셀들은 직렬로 접속되어 있는 공통 비트 라인을 공유하는, 복수의 셀들,
    (b) 상기 워드 라인들 중 하나를 선택하기 위한 워드 라인 선택부,
    (c) 상기 선택된 워드 라인의 셀들의 일부 또는 전체를 동시에 프로그래밍하기 위한 프로그래밍부,
    (d) 동시에 프로그램되는 셀들의 일부 또는 전체에서 상기 선택된 워드 라인과 교차하는 비트 라인들의 일부만을 선택하고, 상기 선택된 워드 라인과 선택된 일부의 상기 비트 라인들의 교차점들에 있는 상기 선택된 워드 라인의 셀들 중 일부 또는 전체인 셀들만을 감지하기 위한 비트 라인 선택부 - 상기 셀들의 일부는 상기 메모리의 물리적인 페이지에서의 모든 셀들보다 적음 -, 및
    (e) 메모리 디바이스의 데이터 판독 모드에서 감지하기 이전에, 상기 셀들을 감지하기 위한 제어기에 의해 나중에 실행되는 모든 명령에 대해 비트 라인들의 일부를 지정하는 명령을 실행함으로써 상기 비트 라인들의 일부를 선택하기 위해 상기 비트 라인 선택부에 명령하도록 구성된 제어기
    를 포함하고,
    상기 비트 라인들은 복수의 디스조인트 세트들로 그룹화되고, 상기 비트 라인 선택부는 상기 비트 라인들의 일부인 시작하는 비트 라인을 지정하고 상기 비트 라인들의 일부인 종료하는 비트라인을 지정함으로써 상기 디스조인트 세트들 중 적어도 하나를 감지하기 위해 선택되는 것으로 프래깅(flag)하기 위한 레지스터를 포함하는, 메모리.
  8. 제 7항에 있어서, 상기 비트 라인 선택부는 상기 비트 라인들을 개별적으로 선택하는, 메모리.
  9. 제 7항에 있어서, 상기 비트 라인 선택부는 상기 비트 라인들의 선택된 일부를 나타내기 위한 복수의 비트들을 포함하는 레지스터를 포함하는, 메모리.
  10. 제 7항에 있어서, 상기 제어기로 하여금 상기 비트 라인들의 일부를 선택하도록 상기 비트 라인 선택부를 명령하기 위해, 상기 제어기는 단일 비트 라인 선택 파라미터 값을 포함하는 명령을 실행하는, 메모리.
  11. 삭제
  12. 삭제
  13. 제 7항에 있어서, 상기 제어기로 하여금 상기 비트 라인들의 일부를 선택하도록 상기 비트 라인 선택부를 명령하기 위해, 상기 제어기는 2개의 비트 라인 선택 파라미터 값을 포함하는 명령을 실행하는, 메모리.
  14. 삭제
  15. 제 7항에 있어서, 상기 비트 라인들의 일부를 선택하도록 상기 비트 라인 선택부를 명령하기 위해, 상기 제어기는 상기 복수의 디스조인트 세트들 중 적어도 하나의 세트를 상기 레지스터에서 프래깅되도록 지정하는 비트 라인 선택 명령을 실행하는, 메모리.
  16. 시스템에 있어서,
    (a) 제1 메모리, 및
    (b) 상기 제1 메모리의 호스트
    를 포함하고,
    상기 제1 메모리는,
    (i) 복수의 워드 라인들 및 복수의 비트 라인들의 교차점들에 있는 복수의 셀들로서, 상기 셀들은 직렬로 접속되어 있는 공통 비트 라인을 공유하는, 상기 복수의 셀들,
    (ii) 상기 워드 라인들 중에서 하나를 선택하기 위한 워드 라인 선택부,
    (iii) 상기 선택된 워드 라인의 셀들의 일부 또는 전체를 동시에 프로그램하기 위한 프로그래밍부,
    (iv) 동시에 프로그램되는 셀들의 일부 또는 전체에서 상기 선택된 워드 라인과 교차하는 비트 라인들의 일부만을 선택하고, 상기 비트 라인들의 선택된 일부와 상기 선택된 워드 라인의 교차점들에 있는 상기 선택된 워드 라인의 셀들의 일부 또는 전체의 셀들만 감지하기 위한 비트 라인 선택부 - 상기 셀들의 일부는 상기 메모리의 물리적인 페이지에서의 모든 셀들보다 적음 -, 및
    (v) 메모리 디바이스의 데이터 판독 모드에서 감지하기 이전에, 상기 셀들을 감지하기 위한 제어기에 의해 나중에 실행되는 모든 명령에 대해 상기 비트 라인들의 일부를 지정하는 명령을 실행함으로써 상기 비트 라인들의 일부를 선택하도록 상기 비트 라인 선택부에 명령하도록 구성된 제어기
    를 포함하고,
    상기 제1 메모리의 호스트는
    (i) 상기 비트 라인들의 일부를 선택하도록 상기 비트 라인 선택부에 명령하기 위한 코드를 저장하기 위한 제 2 메모리, 및
    (ii) 상기 코드를 수행하기 위한 프로세서
    를 포함하고,
    상기 비트 라인들은 복수의 디스조인트 세트들로 그룹화되고, 상기 비트 라인 선택부는 상기 디스조인트 세트들 중 적어도 하나를 감지를 위해 선택되는 것으로 프래깅(flag)하기 위한 레지스터를 포함하며,
    상기 코드는, 상기 비트 라인 선택부로, 시작하는 비트 라인 및 종료하는 비트 라인을 위한 2개의 비트 라인 선택 파라미터 값을 포함하는 명령을 실행하기 위한 코드를 포함하는, 시스템.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 제 16항에 있어서, 상기 코드는, 상기 비트 라인 선택부로, 상기 복수의 디스조인트 세트 중 적어도 하나의 세트를 상기 레지스터에서 프래깅되도록 지정하는 비트 라인 선택 명령을 실행하기 위한 코드를 포함하는, 시스템.
  23. 제 16항에 있어서, 상기 코드는, 상기 비트 라인 선택부로, 상기 비트 라인들의 선택된 일부와 상기 선택된 워드 라인의 교차점들에 있는, 상기 선택된 워드 라인의 셀들의 적어도 일부인 셀들의 단일 감지를 위한 비트 라인들의 일부를 지정하는 명령을 실행하기 위한 코드를 포함하는, 시스템.
  24. 제 16항에 있어서, 상기 코드는, 상기 비트 라인 선택부로, 상기 비트 라인들의 일부를 지정하는 또 다른 명령이 실행될 때까지, 상기 비트 라인들의 선택된 일부와 상기 선택된 워드 라인의 교차점들에 있는, 상기 선택된 워드 라인의 셀들의 적어도 일부인 셀들의 모든 후속 감지를 위한 상기 비트 라인들의 일부를 지정하는 명령을 실행하기 위한 코드를 포함하는, 시스템.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
KR1020117001408A 2008-06-23 2009-05-05 플래시 메모리에서 데이터를 고속의 낮은 전력으로 판독하는 방법 KR101674225B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7468408P 2008-06-23 2008-06-23
US61/074,684 2008-06-23
PCT/IB2009/051833 WO2009156876A1 (en) 2008-06-23 2009-05-05 Fast, low-power reading of data in a flash memory

Publications (2)

Publication Number Publication Date
KR20110033222A KR20110033222A (ko) 2011-03-30
KR101674225B1 true KR101674225B1 (ko) 2016-11-08

Family

ID=40821833

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117001408A KR101674225B1 (ko) 2008-06-23 2009-05-05 플래시 메모리에서 데이터를 고속의 낮은 전력으로 판독하는 방법

Country Status (7)

Country Link
US (1) US8433980B2 (ko)
EP (1) EP2301034B1 (ko)
JP (1) JP5559778B2 (ko)
KR (1) KR101674225B1 (ko)
CN (1) CN102132354B (ko)
TW (1) TWI489483B (ko)
WO (1) WO2009156876A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI413897B (zh) * 2010-01-20 2013-11-01 Silicon Motion Inc 快閃記憶體之資料存取方法以及快閃記憶體裝置
US8578246B2 (en) * 2010-05-31 2013-11-05 International Business Machines Corporation Data encoding in solid-state storage devices
US8446786B2 (en) 2011-01-20 2013-05-21 Micron Technology, Inc. Outputting a particular data quantization from memory
JP2012248110A (ja) * 2011-05-30 2012-12-13 Toshiba Corp マルチチャネルを有するメモリ装置及び同装置における誤り訂正チャネル決定を含む書き込み制御方法
US8700972B2 (en) * 2011-08-17 2014-04-15 Broadcom Corporation Adaptive ultra-low voltage memory
US9058880B2 (en) * 2013-02-04 2015-06-16 National Tsing Hua University Unequal bit reliability information storage method for communication and storage systems
US9256276B2 (en) * 2013-09-27 2016-02-09 Intel Corporation Utilization of processor capacity at low operating frequencies
US8988946B1 (en) 2014-07-07 2015-03-24 Sandisk Technologies Inc. Selective sense amplifier enablement
US9594615B2 (en) 2014-09-30 2017-03-14 Apple Inc. Estimating flash quality using selective error emphasis
US9406377B2 (en) * 2014-12-08 2016-08-02 Sandisk Technologies Llc Rewritable multibit non-volatile memory with soft decode optimization
US11115062B2 (en) * 2018-03-16 2021-09-07 SK Hynix Inc. Memory system with adaptive threshold decoding and method of operating such memory system
US10860918B2 (en) * 2018-08-21 2020-12-08 Silicon Storage Technology, Inc. Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components
US11257546B2 (en) * 2020-05-07 2022-02-22 Micron Technology, Inc. Reading of soft bits and hard bits from memory cells
KR20220000576A (ko) 2020-06-26 2022-01-04 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768215A (en) 1995-09-28 1998-06-16 Samsung Electronics Co., Ltd. Integrated circuit memory devices having interleaved read capability and methods of operating same
US20040060031A1 (en) 2002-09-24 2004-03-25 Sandisk Corporation Highly compact non-volatile memory and method thereof
US20040109362A1 (en) 2002-12-05 2004-06-10 Gongwer Geoffrey S. Smart verify for multi-state memories

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149486A (ja) * 1991-12-19 2002-05-24 Toshiba Corp メモリシステム
JP3348248B2 (ja) * 1992-04-22 2002-11-20 富士通株式会社 半導体記憶装置及びその情報の消去・書き込み方法
US6621739B2 (en) * 2002-01-18 2003-09-16 Sandisk Corporation Reducing the effects of noise in non-volatile memories through multiple reads
US7099179B2 (en) * 2003-12-22 2006-08-29 Unity Semiconductor Corporation Conductive memory array having page mode and burst mode write capability
US7095644B2 (en) * 2003-12-22 2006-08-22 Unity Semiconductor Corporation Conductive memory array having page mode and burst mode read capability
KR100590219B1 (ko) * 2004-12-01 2006-06-19 삼성전자주식회사 프로그램 시간을 줄일 수 있는 불 휘발성 메모리 장치
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7502254B2 (en) * 2006-04-11 2009-03-10 Sandisk Il Ltd Method for generating soft bits in flash memories
JP4874721B2 (ja) * 2006-06-23 2012-02-15 株式会社東芝 半導体記憶装置
JP4896605B2 (ja) * 2006-07-04 2012-03-14 株式会社東芝 不揮発性半導体記憶システム
US20080157169A1 (en) * 2006-12-28 2008-07-03 Yuan Jack H Shield plates for reduced field coupling in nonvolatile memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768215A (en) 1995-09-28 1998-06-16 Samsung Electronics Co., Ltd. Integrated circuit memory devices having interleaved read capability and methods of operating same
US20040060031A1 (en) 2002-09-24 2004-03-25 Sandisk Corporation Highly compact non-volatile memory and method thereof
US20040109362A1 (en) 2002-12-05 2004-06-10 Gongwer Geoffrey S. Smart verify for multi-state memories

Also Published As

Publication number Publication date
JP5559778B2 (ja) 2014-07-23
CN102132354B (zh) 2015-08-26
JP2011525681A (ja) 2011-09-22
EP2301034A1 (en) 2011-03-30
TW201003666A (en) 2010-01-16
EP2301034B1 (en) 2014-06-11
US20090319872A1 (en) 2009-12-24
KR20110033222A (ko) 2011-03-30
TWI489483B (zh) 2015-06-21
US8433980B2 (en) 2013-04-30
WO2009156876A1 (en) 2009-12-30
CN102132354A (zh) 2011-07-20

Similar Documents

Publication Publication Date Title
KR101674225B1 (ko) 플래시 메모리에서 데이터를 고속의 낮은 전력으로 판독하는 방법
TWI389121B (zh) 具有改良程式化準確性之快閃記憶體及相關方法
KR101736792B1 (ko) 플래시 메모리 및 그것의 셀프 인터리빙 방법
US7406649B2 (en) Semiconductor memory device and signal processing system
US9281068B2 (en) Nonvolatile memory and related reprogramming method
US20100208519A1 (en) Semiconductor memory device and method of reading the same
US7885141B2 (en) Non-volatile memory device and method for setting configuration information thereof
CN111667868A (zh) 通过平衡格雷编码的多阶段编程
US10658047B1 (en) Implementing sticky read using error control success rate associated with a memory sub-system
CN113168862A (zh) 执行存储器子系统的按需刷新操作
US11081171B2 (en) Nonvolatile memory device including a fast read page and a storage device including the same
US11562792B2 (en) Memory system having a non-volatile memory and a controller configured to switch a mode for controlling an access operation to the non-volatile memory
KR20130084901A (ko) 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법
US11854623B2 (en) Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
US7684239B2 (en) Flash memory device for over-sampling read and interfacing method thereof
JP2011044200A (ja) 不揮発性半導体記憶装置
JP2009003569A (ja) 半導体記憶装置
JP2023002208A (ja) メモリシステム及びリード方法
US10725862B2 (en) Data recovery method to error correction code in memory
JP2009003995A (ja) 半導体記憶装置
JP2004039055A (ja) 不揮発性半導体記憶装置
EP3783614B1 (en) Nonvolatile memory device including a fast read page and a storage device including the same
JP2009003994A (ja) 半導体記憶装置
JP2009003571A (ja) 半導体記憶装置
JP2009003570A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
N231 Notification of change of applicant
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant