KR20220163444A - 메모리 셀에 액세스하기 위한 카운터 기반 방법 및 시스템 - Google Patents

메모리 셀에 액세스하기 위한 카운터 기반 방법 및 시스템 Download PDF

Info

Publication number
KR20220163444A
KR20220163444A KR1020227038423A KR20227038423A KR20220163444A KR 20220163444 A KR20220163444 A KR 20220163444A KR 1020227038423 A KR1020227038423 A KR 1020227038423A KR 20227038423 A KR20227038423 A KR 20227038423A KR 20220163444 A KR20220163444 A KR 20220163444A
Authority
KR
South Korea
Prior art keywords
user data
read
bits
counter
memory
Prior art date
Application number
KR1020227038423A
Other languages
English (en)
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 KR20220163444A publication Critical patent/KR20220163444A/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
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/5678Digital 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 amorphous/crystalline phase transition storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • 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/24Bit-line control 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
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • 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/5644Multilevel memory comprising counting devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/71Three dimensional array

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Semiconductor Memories (AREA)

Abstract

본 개시는 메모리 셀들의 어레이에 액세스하는 방법으로서, 메모리 어레이의 복수의 메모리 셀들에 사용자 데이터를 저장하는 단계, 메모리 셀들의 어레이에 연관된 카운터에, 미리 결정된 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 카운트 데이터를 저장하는 단계, 메모리 셀들의 어레이에 저장된 사용자 데이터를 판독하기 위해 메모리 셀들에 판독 전압을 인가하는 단계, 카운터에 저장된 카운트 데이터를 판독하고 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 타겟 값을 제공하기 위해 카운터의 셀들에 판독 전압을 인가하는 단계 ― 판독 전압의 인가 동안, 카운트 데이터는 사용자 데이터의 판독 동안 타겟 값이 제공되도록 하는 방식으로 사용자 데이터와 동시에 판독되고, 카운터의 타겟 값에 기초함 ―, 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수가 타겟 값에 대응할 때 판독 전압의 인가를 중단하는 단계를 포함하는, 방법에 관한 것이다. 관련 메모리 디바이스 및 관련 시스템이 또한 개시된다.

Description

메모리 셀에 액세스하기 위한 카운터 기반 방법 및 시스템
본 개시는 일반적으로 메모리 셀들의 어레이 메모리를 동작시키는 것에 관한 것으로, 특히 메모리 셀들에 액세스하기 위한 카운터 기반 방법들 및 시스템들에 관한 것이다.
메모리 디바이스들은 모바일 폰들, 개인 휴대 정보 단말기들, 랩톱 컴퓨터들, 디지털 카메라들 등과 같은 많은 전자 시스템들에서 사용된다. 자기 하드 디스크들, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 동적 RAM(DRAM), 동기식 동적 RAM(SDRAM), 강유전 RAM(FeRAM), 자기 RAM(MRAM), 저항 RAM(RRAM), 플래시 메모리, 상 변화 메모리(PCM) 등을 비롯하여, 다양한 유형의 메모리 디바이스가 존재한다. 메모리 디바이스들은 휘발성 또는 비휘발성일 수 있다. 비휘발성 메모리들은 전력이 스위치 오프될 때 자신들의 콘텐츠를 유지하여, 시스템 전력 사이클 후에 검색될 정보를 저장하기 위한 메모리 디바이스들에서 좋은 선택을 하게 만든다. 특히, 비휘발성 메모리 셀들은 외부 전원이 없을 때에도 장시간 그것들의 저장된 논리 상태를 유지할 수 있다. 휘발성 메모리 셀들은 외부 전원에 의해 주기적으로 리프레시되지 않는 한 시간이 지남에 따라 그것들의 저장된 상태가 손실될 수 있다.
정보는 메모리 디바이스의 상이한 상태들을 프로그래밍함으로써 저장된다. 예를 들어, 이진 디바이스들은 보통 논리 "1" 또는 논리 "0"에 의해 표기되는 두 개의 상태들을 가진다. 다른 시스템들에서는, 두 가지보다 많은 상태들이 저장될 수도 있다. 저장된 정보에 액세스하기 위해, 메모리 디바이스의 구성요소는 저장된 상태를 판독, 또는 감지할 수 있다. 정보를 저장하기 위해, 메모리 디바이스의 구성요소는 논리 상태를 기록, 또는 프로그래밍할 수 있다.
메모리 디바이스들을 개선하는 것은 일반적으로, 다른 지표들 중에서도, 메모리 셀 밀도를 증가시키는 것, 판독/기록 속도를 증가시키는 것, 신뢰도를 증가시키는 것, 데이터 유지력을 증가시키는 것, 전력 소비를 감소시키는 것, 제조 비용을 감소시키는 것뿐만 아니라, 전통적인 디바이스들보다 더 작게 스케일링하는 것(이는 상대적으로 높은 에러율을 초래할 수 있음) 등을 포함할 수 있다.
메모리 셀들, 특히 메모리 셀들의 3차원(3D) 어레이를 갖는 메모리 디바이스들이 가변 전기적 특성들을 나타낼 때 메모리 디바이스들의 성능 및 신뢰성을 증가시키기 위해 더 강건한 판독 기술이 요구될 수 있다.
도 1은 본 개시의 실시예들에 따라 판독될 수 있는 예시적인 메모리 셀을 도시한 예시적인 블록 방식이다;
도 2는 예시적인 메모리 셀 어레이의 일부를 개략적으로 도시한다;
도 3a 및 도 3b는 본 개시의 실시예들에 따라 메모리 셀들을 판독하기 위한 카운터 기반 방법을 지원하는 데이터 패턴들의 예들을 도시한다;
도 4a 및 도 4b는 본 개시의 실시예에 따라 판독 단계 동안 메모리 셀들에 의해 나타나는 논리 상태들의 분포들을 개략적으로 도시한다;
도 5는 본 개시의 방법에 따라 동작하는 판독 알고리즘의 논리 블록들을 개략적으로 도시한다;
도 6은 본 개시에 따른 방법의 단계들을 나타내는 흐름도이다; 그리고
도 7은 본 개시에 따른 메모리 디바이스를 포함하는 시스템의 개략적인 블록도를 도시한다.
이들 도면들을 참조하여, 메모리 셀들의 개선된 판독 동작을 위한 방법들 및 시스템들이 본원에서 개시될 것이다.
이하의 상세한 설명에서, 청구된 주제에 대한 완전한 이해를 제공하기 위해 많은 구체적인 세부 사항이 제시된다. 그러나, 해당 기술분야에서의 통상의 기술자들에 의해 청구된 주제가 이러한 구체적인 세부사항들 없이 실시될 수 있다는 것이 이해될 것이다. 다른 사례들에서, 통상의 기술자에 의해 알게 될 방법들, 장치들, 또는 시스템들은 청구된 주제를 모호하게 하지 않기 위해 상세하게 설명되지 않았다.
비휘발성 메모리들은 전력이 스위치 오프될 때 자신들의 콘텐츠를 유지하여, 시스템 전력 사이클 후에 검색될 정보를 저장하기 위한 좋은 선택을 하게 만든다. 플래시 메모리는 저장된 데이터를 유지하고 매우 빠른 액세스 시간을 특징으로 하는 비휘발성 메모리의 유형이다. 또한, 한 번에 1 바이트가 아니라 블록 단위로 소거될 수 있다. 메모리의 각 소거가능 블록은 로우들 및 컬럼들의 행렬로 배열된 복수의 비휘발성 메모리 셀들을 포함한다. 각 셀은 액세스 라인 및/또는 데이터 라인에 결합된다. 셀들은 액세스 및 데이터 라인들 상의 전압들을 조작함으로써 프로그래밍 및 소거된다. 플래시 메모리들은 대용량 저장 적용예들에 잘 확립되고 적절하지만, 이들의 성능은 오늘날 가장 요구되는 적용예들을 충족시키지 못한다. 새로운 기술들, 예를 들어, 3D 크로스 포인트(3DXPoint) 메모리들 및 자기 선택 메모리들(Self-Selecting Memories, SSM)은 예를 들어, 액세스 시간 및 액세스 입도의 관점들에서 더 양호한 성능을 갖는다(데이터가 페이지, 워드로 또는 - 주로 ― 비트 입도로도 프로그래밍 및 판독될 수 있다). 판독 동작 동안 데이터에 액세스하는 것은 스케일링 기술들로 점점 더 어려워지고 있다.
도 1은 본 개시에 따라 어레이로 배열되고 이어서 프로그래밍 및 판독될 수 있는 메모리 셀(100')을 포함하는 예시적인 어셈블리(100)의 블록 방식을 도시한다.
도 1에 도시된 실시예에서, 메모리 셀(100)은 액세스 라인들(104와 106) 사이에 저장 물질(102)을 포함한다. 액세스 라인들(104, 106)은 메모리 셀(100')을, 메모리 셀(100')에 기록하고 이로부터 판독하는 회로(142)와 전기적으로 결합시킨다. 용어 "결합된"은 직접 또는 간접 중 어느 하나로, 물리적으로, 전기적으로, 그리고/또는 통신 가능하게 연결되는 요소들을 지칭할 수 있고, 본원에서 용어 "연결된"과 상호교환적으로 사용될 수 있다. 물리적 결합은 직접 접촉을 포함할 수 있다. 전기적 결합은 구성요소들 사이의 전기적 흐름 및/또는 시그널링을 가능하게 하는 인터페이스 또는 상호연결을 포함한다. 통신가능 결합은 구성요소들이 데이터를 교환할 수 있게 하는 유선 및 무선 연결들을 포함하는 연결들을 포함한다.
일 실시예에서, 저장 물질(102)은 메모리 효과들을 나타내는 자기 선택 물질을 포함한다. 자기 선택 물질은 별개의 선택기 요소를 필요로 하지 않고 어레이 내의 메모리 셀의 선택을 가능하게 하는 물질이다. 이에 따라, 도 1은 저장 물질(102)을 "선택기/저장 물질"로서 도시한다. 메모리 셀들에 액세스하기 위한 회로가 그 물질이 (예를 들어, 기록 동작을 통해) 다수의 상태들 중 하나에 있게 하고, 나중에 (예를 들어, 판독 동작을 통해) 프로그래밍된 상태를 결정하게 할 수 있다면, 물질은 메모리 효과들을 나타낸다. (예를 들어, 판독 및 기록 동작들을 통해) 메모리 셀들에 액세스하기 위한 회로는 일반적으로 "액세스 회로"로서 지칭되고, 액세스 회로(143)를 참조하여 이하에서 더 논의된다. 액세스 회로는 저장 물질(102)이 특정 상태에 있게 함으로써 메모리 셀(100')에 정보를 저장할 수 있다. 저장 물질(102)은 예를 들어, Te―Se 합금, As―Se 합금, Ge―Te 합금, As―Se―Te 합금, Ge―As―Se 합금, Te―As―Ge 합금, Si―Ge―As―Se 합금, Si―Te―As―Ge과 같은 칼코게나이드 물질, 또는 특정 메모리 셀을 어드레싱하고 메모리 셀의 상태가 무엇인지를 결정하는 것을 가능하게 하기 위해, 저장 요소 및 선택기 양자로서 기능하는 것이 가능한 다른 물질을 포함할 수 있다. 이에 따라, 일 실시예에서, 메모리 셀(100')은 메모리 셀을 선택하기 위한 선택기 요소 및 논리 상태, 즉 셀의 소정의 극성과 관련된 상태를 저장하기 위한 메모리 요소 양자로서 작용하는 물질의 단일 층을 포함하는 자기 선택 메모리 셀이다.
일 실시예에서, 저장 물질(102)은 상 변화 물질이다. 상 변화 물질은 완전한 비정질 상태와 완전한 결정질 상태 사이의 전체 스펙트럼에 걸쳐 대체로 비정질인 상태와 대체로 결정질인 상태 사이에서 전기적으로 스위칭될 수 있다. 메모리 셀(100')은 액세스 라인들(104와 106) 사이에 선택 디바이스(도시되지 않음)를 더 포함할 수 있으며; 선택 디바이스는 저장 물질(102)에 직렬로 결합될 수 있다. 다른 실시예에서, 저장 물질(102)은 상 변화 물질이 아니다. 저장 물질(102)이 상 변화 물질이 아닌 일 실시예에서, 저장 물질은 상 변화 없이 둘 이상의 안정한 상태들 사이에서 스위칭하는 것이 가능하다. 액세스 회로(143)는 저장 물질(102)이 원하는 안정한 상태에 있게 하기 위해 특정 극성을 갖는 전압을 인가함으로써 메모리 셀(100')을 프로그래밍할 수 있다.
이러한 일 실시예에서, 메모리 셀(100')을 프로그래밍하는 것은 메모리 셀(100')이 "임계화"하거나 "임계 이벤트"를 겪게 한다. (예를 들어, 프로그램 전압 펄스 동안) 메모리 셀이 임계화할 때, 메모리 셀은 메모리 셀이 후속 전압(예를 들어, 특정 크기 및 극성을 갖는 판독 전압)의 인가에 응답하여 특정 임계 전압을 나타내게 하는 물리적 변화를 겪는다. 이에 따라, 메모리 셀(100')을 프로그래밍하는 것은 프로그래밍 임계 이벤트를 유도하기 위해 소정의 극성의 전압을 인가하는 것을 수반할 수 있으며, 이는 메모리 셀들(100')이 동일한 또는 상이한 극성의 후속 판독 전압에서 특정 임계 전압을 나타내게 한다. 이러한 일 실시예에서, 저장 물질(102)은 임계 이벤트를 유도함으로써 프로그래밍될 수 있는 자기 선택 물질(예를 들어, 비-상 변화 칼코게나이드 물질 또는 다른 자기 선택 물질)이다.
아래에서 더 상세히 설명되는 바와 같이, 판독할 때 이러한 메모리 셀의 출력은 메모리 셀을 프로그래밍하는 데 사용되는 극성과 메모리 셀을 판독하는 데 사용되는 극성의 함수로서 상이하다. 예를 들어, 저장 물질(102)은 프로그래밍 전압 및 판독 전압 양자의 극성에 기초한 판독 전압에 응답하여 "더 낮은 임계 전압" 또는 "더 높은 임계 전압"을 나타낼 수 있다. 본 개시와 관련해서, 임계 전압을 나타내는 것은 메모리 셀의 단자들에 대한 특정 크기 및 극성을 갖는 전압의 인가에 응답하여 메모리 셀에 걸쳐 임계 전압과 대략 동일한 전압이 존재한다는 것을 의미한다. 이에 따라, 임계 전압은 출력(들)을 생성하기 위해, 즉 셀의 결정된 전기적 응답을 보기 위해 입력(들)에 인가될 필요가 있는 최소 전압에 대응한다. 다시 말해서, 본 개시와 관련해서, 동사 "임계화"는 셀들이 임계 이벤트를 겪는다는 것, 즉 셀들이 소정의 임계를 초과하는 인가된 전압에 응답하여 전기적 응답을 가지며, 이에 따라 특유의 임계 전압을 나타낸다는 것을 의미한다.
위에서 언급된 바와 같이, 액세스 라인들(104, 106)은 메모리 셀(100')을 회로(142)와 전기적으로 결합시킨다. 액세스 라인들(104, 106)은 각각, 비트라인들 및 워드라인들로서 지칭될 수 있다. 워드라인은 메모리 어레이 내의 특정 워드에 액세스하기 위한 것이고, 비트라인은 워드 내의 특정 비트에 액세스하기 위한 것이다. 일 실시예에서, 액세스 라인들(104, 106)은 Al, Cu, Ni, Cr, Co, Ru, Rh, Pd, Ag, Pt, Au, Ir, Ta, 및 W를 포함하는 하나 이상의 적합한 금속; TiN, TaN, WN, 및 TaCN을 포함하는 전도성 금속 질화물; 탄탈륨 실리사이드, 텅스텐 실리사이드, 니켈 실리사이드, 코발트 실리사이드 및 티타늄 실리사이드를 포함하는 전도성 금속 실리사이드; TiSiN 및 WSiN을 포함하는 전도성 금속 실리사이드 질화물; TiCN 및 WCN을 포함하는 전도성 금속 카바이드 질화물, 또는 임의의 다른 적합한 전기적 전도성 물질로 제조될 수 있다.
일 실시예에서, 전극들(108)이 저장 물질(102)과 액세스 라인들(104, 106) 사이에 배치된다. 전극들(108)은 액세스 라인들(104, 106)을 저장 물질(102)과 전기적으로 결합시킨다. 전극들(108)은 예를 들어, 탄소(C), 탄소 질화물(CxNy); n 도핑 폴리실리콘 및 p 도핑 폴리실리콘; Al, Cu, Ni, Cr, Co, Ru, Rh, Pd, Ag, Pt, Au, Ir, Ta, 및 W를 포함하는 금속; TiN, TaN, WN, 및 TaCN을 포함하는 전도성 금속 질화물; 탄탈륨 실리사이드, 텅스텐 실리사이드, 니켈 실리사이드, 코발트 실리사이드 및 티타늄 실리사이드를 포함하는 전도성 금속 실리사이드; TiSiN 및 WSiN을 포함하는 전도성 금속 실리사이드 질화물; TiCN 및 WCN을 포함하는 전도성 금속 카바이드 질화물, RuO2를 포함하는 전도성 금속 산화물, 또는 다른 적합한 전도성 물질과 같은 하나 이상의 전도성 및/또는 반전도성 물질로 제조될 수 있다.
전극들(108) 및 저장 물질(102)로 이루어진 스택은 본 개시의 범위를 제한하지 않고, 이하에서 메모리 셀(100')로서 지칭된다. 다양한 실시예들에서, 메모리 셀(100')은 더 많거나 더 적은 요소들을 포함할 수 있다. 이에 따라, 메모리 셀(100')은 메모리 셀의 일례이다. 다른 실시예들은 도 1에 도시된 것들보다 추가적인, 더 적은, 또는 상이한 물질의 층들(예를 들어, 저장 물질과 액세스 라인들 사이의 얇은 유전체 물질 등)을 갖는 메모리 셀들을 포함할 수 있다.
회로(142)를 다시 참조하면, 액세스 라인들(104, 106)은 실시예에 따라, 회로(142)를 메모리 셀(100')에 통신가능하게 결합시킨다. 회로(142)는 액세스 회로(143) 및 감지 회로(145)를 포함한다. 회로는 수신 또는 저장된 정보에 대해 아날로그 또는 논리 동작들을 수행, 정보를 출력, 그리고/또는 정보를 저장하기 위해 전기적으로 결합되는 전자 구성요소들을 포함한다. 하드웨어 로직은 데이터 처리에 수반되는 논리 동작들과 같은 논리 동작들을 수행하는 회로이다. 일 실시예에서, 액세스 회로(143)는 메모리 셀(100')에 기록하거나 이를 판독하기 위해 액세스 라인들(104, 106)에 전압 펄스들을 인가한다. 용어들 "기록" 및 "프로그래밍"은 메모리 셀에 정보를 저장하는 작용을 설명하기 위해 상호교환적으로 사용된다. 메모리 셀(100')에 기록하기 위해, 액세스 회로는 특정 크기 및 극성을 갖는 전압 펄스를 액세스 라인들(104, 106)에 인가하며, 이는 메모리 셀(100')을 선택하고 메모리 셀(100')을 프로그래밍할 수 있다.
예를 들어, 액세스 회로(143)는 메모리 셀(100')을 하나의 논리 상태에 있도록 프로그래밍하기 위해 하나의 극성을 갖는 판독 전압을 인가하고, 메모리 셀(100')을 상이한 논리 상태에 있도록 프로그래밍하기 위해 상이한 극성을 갖는 펄스를 인가한다. 이어서, 액세스 회로(143)는 메모리 셀의 프로그래밍 극성의 결과로서 상이한 논리 상태들을 구별할 수 있다. 예를 들어, 메모리 판독의 경우에, 액세스 회로(143)는 액세스 라인들(104, 106)에 특정 크기 및 극성을 갖는 전압 펄스를 인가하며, 이는 감지 회로(145)가 검출할 수 있는 전기적 응답을 초래한다. 전기적 응답들을 검출하는 것은 예를 들어, 어레이의 소정의 메모리 셀의 단자들에 걸친 전압 강하(예를 들어, 임계 전압), 소정의 메모리 셀을 통한 전류, 및 소정의 메모리 셀의 임계 이벤트 중 하나 이상을 검출하는 것을 포함할 수 있다. 일부 경우들에서, 메모리 셀에 대한 임계 전압을 검출하는 것은 셀의 임계 전압이 기준 전압, 예를 들어, 판독 전압보다 낮거나 높다고 결정하는 것을 포함할 수 있다. 액세스 회로(143)는 판독 시퀀스에서의 전압 펄스들 중 하나 이상에 대한 전기적 응답들에 기초하여 메모리 셀(100')의 논리 상태를 결정할 수 있다.
이에 따라, 판독 전압의 인가시에 생성되는 전류는 논리 상태 저장 요소의 전기적 저항에 의해 결정되는 메모리 셀의 임계 전압에 의존한다. 예를 들어, 제1 논리 상태(예를 들어, 셋 상태)는 유한한 양의 전류에 대응할 수 있는 반면, 제2 논리 상태(예를 들어, 리셋 상태)은 전류가 없거나 무시할 수 있을 정도로 작은 전류에 대응할 수 있다. 대안적으로, 제1 논리 상태는 전류 임계치보다 더 높은 전류에 대응할 수 있는 반면, 제2 논리 상태는 현재 임계치보다 더 낮은 전류에 대응할 수 있다.
도 2는 실시예에 따른, 도 1의 메모리 셀(100')과 같은 복수의 메모리 셀들을 포함할 수 있는 메모리 셀 어레이(200)의 일부를 도시한다. 메모리 셀 어레이(200)는 3차원 크로스 포인트 메모리 구조(3D X 포인트)의 예이다. 메모리 셀 어레이(200)는 도 1과 관련하여 설명된 액세스 라인들(104, 106)과 동일하거나 유사할 수 있는 복수의 액세스 라인들(204, 206)을 포함한다. 액세스 라인들(204, 206)은 비트 라인들 및 워드 라인들로서 지칭될 수 있다. 도 2에 도시된 실시예에서, 비트 라인들(예를 들어, 액세스 라인들(204))은 워드 라인들(예를 들어, 액세스 라인들(206))에 직교한다. 저장 물질(202)(예를 들어, 도 1의 저장 물질(102))은 액세스 라인들(204, 206) 사이에 배치된다. 도 1과 관련하여 개시된 바와 같이, 저장 물질(202)은 일부 예들에서, 자기 선택 저장 물질일 수 있고; 저장 물질(202)은 다른 예들에서, 선택 디바이스(도시되지 않음)에 직렬로 결합될 수 있다. 일 실시예에서, "교차점"은 비트 라인과 워드 라인 사이의 교차점에 형성된다. 비트 라인과 워드 라인이 교차하는 비트 라인과 워드 라인 사이의 저장 물질(202)로부터 메모리 셀이 생성된다(도 2에서, 전극들과 같은 추가적인 층들이 도시되지 않으며, 이에 따라 셀이 본 개시의 범위를 제한하지 않고 저장 물질(202)에 의해 개략적으로 표현되고, 추가적인 층들이 존재할 수 있다는 점에 유의한다). 일반적으로 말하면, 교차점은 메모리 셀의 어드레스를 정의한다. 저장 물질(202)은 도 1과 관련하여 위에서 설명된 저장 물질(102)과 같은 칼코게나이드 물질일 수 있다. 일 실시예에서, 액세스 라인들(204, 206)은 도 1과 관련하여 위에서 설명된 액세스 라인들(104, 106)과 같은 하나 이상의 전도성 물질로 제조된다. 도 2에서 메모리 셀들의 단일 레벨 또는 층이 도시되지만, 메모리 셀 어레이(200)는 (예를 들어, z 방향으로) 메모리 셀들의 다수의 레벨들 또는 층들을 포함할 수 있다.
이에 따라, "크로스 포인트"는 액세스 라인들이 메모리 셀의 상이한 노드들에 연결함에 따라 메모리 셀과 연관된 액세스 라인들이 토폴로지적으로 서로 "교차"하도록 메모리 셀이 형성되는 위치를 지칭한다. 크로스 포인트 아키텍처는 액세스 라인들의 최소 피치에 의해 결정되는 이론적 최소 셀 영역에 도달하는 것을 가능하게 한다.
도 1 및 도 2는 메모리 셀 및 어레이의 예를 도시한다. 그러나, 메모리 셀들이 프로그래밍 및 판독 극성의 함수로서 변화하는 전기적 응답들을 나타내는 다른 메모리 셀 구조들 및 어레이들이 사용될 수 있다. 메모리 셀(도시되지 않음)은 예를 들어, 3D 메모리 어레이에서, 워드 라인들로서 작용하는 수평 전도성 평면들과 교차하는, 비트 라인들로서 작용하는 수직 전도성 필라들 사이의 교차 위치들에서 형성될 수 있다. 이러한 및 다른 어레이 조직들은 또한 상술한 바와 같은 교차점 아키텍처를 초래할 수 있다.
이상적으로, 메모리 디바이스의 모든 메모리 셀들은 동일한 논리 상태에 대해 동일한 (공칭) 비저항 그리고 이에 따라 동일한 임계 전압을 특징으로 해야 하며, 여기서 임계 전압은 메모리 셀들이 전류를 전도하게 하기 위해 메모리 셀들에 인가될 전압, 즉, 위에서 정의된 바와 같이, 단자들 사이에 전도 경로를 생성하는 데 필요한 전압의 최소 값이다. 그러나, 동일한 논리 상태로 프로그래밍된 상이한 셀들은 (예를 들어, 다수의 판독-기록 동작들의 실행에 의해 그리고/또는 제조 공차들에 의해 야기되는 상 변화 물질의 전기적 특성들의 변화와 같은) 여러 요인들로 인해 실제로는 상이한 비저항 값들을 나타내기 때문에, 각 논리 상태는 실제로 각 비저항 분포(전형적으로 가우스형 분포)에, 그리고 이에 따라 각 임계 전압 분포에 연관된다.
셀의 논리 상태를 평가하기 위해, 셀의 임계 전압이 어느 임계 전압 분포에 속하는지를 평가하기 위해 판독 동작이 수행된다. 예를 들어, 판독 전압은 액세스 라인들을 통해 셀에 인가될 수 있고, 셀의 논리 상태는 상기의 판독 전압에 응답하는 전류(의 존재 또는 부재)에 기초하여 평가되고, 전류(의 부재 또는 존재)는 셀의 임계 전압에 의존한다. 셀은 셀의 두 개의 단자들 사이에 적합한 전압 차이가 인가될 때 셀을 임계화한다(예를 들어, 이는 전도성이 된다); 이러한 전압 차이는 상이한 방식들로, 예를 들어, 워드 라인 단자와 같은 하나의 단자를 음의 전압(예를 들어, 선택 전압)으로, 그리고 비트 라인 단자와 같은 다른 단자를 양의 전압(예를 들어, 판독 전압)으로 바이어싱하는 것으로 얻어질 수 있다. 다른 바이어싱 구성들은 동일한 효과들(예를 들어, 워드 라인과 비트 라인 단자 양자가 양의 전압으로 바이어싱되거나, 워드 라인 단자가 기준 전압, 예를 들어, 접지 전압으로 바이어싱되고, 비트 라인 단자가 양의 전압으로 바이어싱되는 것)을 초래할 수 있다.
다시 말해서, 액세스 동작들로서 지칭될 수 있는 판독 및 기록과 같은 동작들은 워드 라인(206) 및 비트 라인(204)을 활성화 또는 선택함으로써 메모리 셀들에 대해 수행될 수 있다. 본 분야에서 알려져 있는 바와 같이, 워드 라인들(206)은 또한 로우 라인들, 감지 라인들, 및 액세스 라인들로서 알려져 있을 수 있다. 비트 라인들(204)은 또한 디지트 라인들, 컬럼 라인들, 데이터 라인들뿐만 아니라, 액세스 라인들로도 알려져 있다. 워드 라인들 및 비트 라인들, 또는 이들의 유사체들에 대한 지칭들은 이해 또는 운용 손실 없이 상호교환가능하다. 예를 들어, 액세스 라인들은 워드 라인들일 수 있고, 데이터 라인들은 비트 라인들일 수 있다. 워드 라인들(206) 및 비트 라인들(204)은 도 2를 참조하여 이전에 도시된 바와 같이, 어레이를 생성하기 위해 서로 수직(또는 거의 수직)일 수 있다. 메모리 셀의 유형(예를 들어, FeRAM, RRAM 등)에 따라, 예를 들어, 플레이트 라인들과 같은 다른 액세스 라인들(도면들에 도시되지 않음)이 존재할 수 있다. 메모리 디바이스의 정확한 동작은 메모리 셀 및/또는 메모리 디바이스에 사용되는 특정 액세스 라인들의 유형에 기초하여 대체될 수 있는 것으로 이해되어야 한다. 워드 라인(206) 또는 비트 라인(204)을 활성화 또는 선택하는 것은 전용 드라이버를 통해 각 라인에 전압을 인가하는 것을 포함할 수 있다. 하나의 워드 라인 및 하나의 비트 라인을 활성화함으로써, 이들의 교차점에서 단일 메모리 셀(202)이 액세스될 수 있다. 메모리 셀에 액세스하는 것은 메모리 셀을 판독 또는 기록하는 것을 포함할 수 있다.
메모리 셀들에 액세스하는 것은 로우 디코더 및 컬럼 디코더(도시되지 않음)를 통해 제어될 수 있다. 예를 들어, 로우 디코더는 메모리 제어기로부터 로우 어드레스를 수신하고, 수신된 로우 어드레스에 기초하여 적절한 워드 라인을 활성화시킬 수 있다. 유사하게, 컬럼 디코더는 메모리 제어기로부터 컬럼 어드레스를 수신하고, 적절한 비트 라인을 활성화시킬 수 있다.
전술한 바와 같이, 일부 경우들에서, 메모리 셀들(202)은 다수의 사이클링 동작들(예를 들어, 일련의 판독 또는 기록 동작들) 후에 상이한 전기적 특성들을 나타낼 수 있다. 예를 들어, 논리 상태 1에 대응하는 메모리 셀(202)(예를 들어, PCM 셀)의 임계 전압은 논리 상태 1을 저장하기 위해 동일한 프로그래밍 펄스(예를 들어, 셋 프로그래밍 펄스)를 수신한 후에, 메모리 셀이 광범위한 수의 판독 또는 기록 동작들을 통해 사이클링된 메모리 셀과 비교하여 상대적으로 신규하다면(예를 들어, PCM 셀이 적은 수의 기록 또는 판독 동작을 가짐) 상이할 수 있다. 또한, 일부 경우들에서, 메모리 셀들(예를 들어, 논리 저장 요소(102 또는 202)) 내의 칼코게나이드 물질은 기록 동작 동안 칼코게나이드 물질의 프로그래밍(예를 들어, 결정화 또는 퀀칭) 후에 그 저항의 변화(드리프트라고도 지칭될 수 있음)를 경험할 수 있다. 이러한 저항의 변화는 메모리 셀의 임계 전압의 변화를 초래할 수 있고, 특정 시구간이 경과한 후에 메모리 셀들(예를 들어, PCM 셀들)로부터 정보를 정확하게 판독하는 것을 저해할 수 있다. 일부 실시예들에서, 변화량은 주위 온도의 함수일 수 있다. 많은 경우들에서, 에러들을 핸들링하기 위해 에러 정정 메커니즘들에 의존하는 것은 비현실적일 수 있다.
본 개시는 또한, 메모리 셀들(예를 들어, PCM 셀들 또는 SSM 셀들)이 위에서 설명된 바와 같이, 다른 것들 중에서도, 통계적 프로세스 변화, 사이클링 이벤트들(예를 들어, 메모리 셀들에 대한 판독 또는 기록 동작들), 또는 드리프트(예를 들어, 칼코게나이드 합금의 저항의 변화)를 포함하는 다양한 요인들로부터 비롯될 수 있는 상이한, 불균일한, 가변 전기적 특성들을 나타낼 때, 강건하고 신뢰성 있는 판독 기술을 제공한다.
더 구체적으로, 본 개시의 메모리 셀 판독 기술에 따르면, 사용자 데이터의 세트(예를 들어, 코드워드, 페이지)의 판독은 메모리 셀들의 어레이와 연관된 메모리 부분(이하, 카운터로서 지칭됨)에 저장된 데이터의 판독과 동시에 수행되며, 카운터의 데이터는 사용자 데이터를 적절히 판독하기 위해 사용된다. 이에 따라, 본 개시는 매우 효과적인 판독 동작을 통해 소정의 논리 상태와 연관된 메모리 셀들의 총 수를 결정하여, 특히 3D 메모리 디바이스들에서, 메모리 셀들을 판독하기 위한 카운터 기반 감지 증폭기 방법에 기초하여 신규하고 더 효율적인 솔루션을 제공할 수 있다.
도 3a는 예시적인 사용자 데이터 패턴 도해(301)를 도시한다. 사용자 데이터 패턴 도해(301)는 사용자 데이터(310a) 및 인코딩된 사용자 데이터(315a)를 포함한다. 메모리 셀들의 어레이의 프로그래밍 단계에서 수행되는 인코딩 프로세스(320a)는 사용자 데이터(310a)를 인코딩된 사용자 데이터(315a)로 변환할 수 있다. 인코딩된 사용자 데이터(315a)는 예를 들어, 도 1 및 도 2를 참조하여 설명된 메모리 셀들(100' 또는 202)일 수 있는 메모리 셀들의 세트에 저장될 수 있다. 인코딩된 사용자 데이터(315a)의 각 박스는 논리 상태 1 또는 논리 상태 0을 나타낼 수 있는 메모리 셀에 대응할 수 있다. 인코딩 프로세스(320a) 동안, 다수의 패리티 비트들이 사용자 데이터(310a)에 추가되어, 소정의 논리 값(예를 들어, 논리 값 1)을 갖는 인코딩된 사용자 데이터(315a)의 비트들의 미리 결정된 수를 확립할 수 있다. 그 결과, 인코딩된 사용자 데이터(315a) 내의 비트들의 수는 사용자 데이터(310a) 내의 비트들의 수보다 클 수 있다(예를 들어, 몇몇 비트들, 예를 들어, 패리지 비트들이 추가된다면 n이 m보다 크다). 프로세스(325)는 인코딩된 사용자 데이터(315a)가 정확하게 판독된 후에 인코딩된 사용자 데이터(315a)를 다시 사용자 데이터(310a)로 변환할 수 있다.
실시예에서, 판독될 복수의 인코딩된 비트들은 코드워드(CW)를 나타낸다. 코드워드는 판독 단계 동안 사용될 다양한 정보를 포함할 수 있다.
일부 실시예들에서, 사용자 데이터(310a)의 각 세트에 대해, 대응하는 인코딩된 사용자 데이터(315a)는 논리 상태 1 및 논리 상태 0를 나타내는 메모리 셀들의 동일한 수를 가질 수 있다(이는 밸런싱 인코딩 방식 ― 인코딩된 사용자 데이터 비트들의 절반은 논리 값 1을 갖고, 다른 절반은 논리 값 0을 갖는다 ― 이라고도 지칭될 수 있다). 이와 같이, 인코딩된 사용자 데이터는 50% 가중치를 갖는 것으로 나타내어질 수 있다. 일부 실시예들에서, 각 사용자 데이터(310a)에 대해, 대응하는 인코딩된 사용자 데이터(315a)는 소정의 논리 상태(예를 들어, 논리 상태 1)를 나타내는 메모리 셀들의 미리 결정된 수를 가질 수 있으며, 이로 인해 일정 가중치 ― 50%와 상이할 수 있음 ― 를 초래한다(이는 일정 가중치 인코딩 방식이라고도 지칭될 수 있다). 일반적으로, 인코딩 프로세스(320a)의 결과는 인코딩된 사용자 데이터(315a)에서 소정의 논리 상태(예를 들어, 논리 상태 1)를 나타내는 메모리 셀들의 미리 결정된 수가 확립되는 것일 수 있다.
다시 말해서, 본 개시의 실시예에 따르면, 코드워드는 몇몇 가외 비트들의 정보를 추가함으로써, 소정의 논리 값(예를 들어, 논리 값 1)을 나타내는 비트들의 수를, 알려진 원하는 미리 결정된 값, 일반적으로 최소 값과 최대 값 사이(예를 들어, {Min1, Max1} 사이 또는 일정 범위 내)으로 제한하도록 조작될 수 있다. 이에 따라, 일부 실시예들에서, 어레이의 메모리 셀들은 수정된 사용자 데이터(또는 일부 경우들에서, 원래의 사용자 데이터) 및 이에 추가될 수 있는 비트들의 수를 포함하는 인코딩된 사용자 데이터를 저장하도록 구성될 수 있는데, 즉 데이터 조작은 코드워드 내의 말단 전 논리 값을 갖는 비트들의 수(예를 들어, 1들의 수)를 소수(예를 들어, 2-4)의 패리티 또는 반전 비트들에 의해 제한하도록 수행된다. 이러한 방식으로, 코드워드의 통계는 소정의 논리 값의 비트들의 적정한 수를 갖는, 특히 논리 값 1을 갖는 비트들의 미리 결정된 수를 갖는, 또는 소정의 범위에서 논리 값 1을 갖는 비트들의 수를 갖는 분포들을 사용함으로써 개선되어, 판독 동작을 용이하게 하고, 매우 소수의 비트들이 제1 논리 값을 나타내는 단적인 경우들을 방지한다. 이는 또한 소수의 가외 비트들로 코드워드의 사용(예를 들어, 드리프트 및 사이클링)을 통계적으로 추적할 수 있게 할 뿐만 아니라, 속도를 개선한다.
본 개시와 관련해서, (예를 들어, 논리 상태 1의 셀에 대응하는) 논리 값 1을 갖는 비트가 제1 논리 상태의 비트로서 식별되는 반면, (예를 들어, 논리 상태 0의 셀에 대응하는) 논리 값 0을 갖는 비트가 제2 논리 상태의 비트로서 식별되지만, 다른 정의들이 사용될 수 있다.
이에 따라, 본 개시는 프로그래밍 단계에서, 메모리 어레이의 복수의 메모리 셀들에의 (인코딩된 사용자 데이터(315a)와 같은) 사용자 데이터의 저장을 제공하며, 상기의 데이터는 전술한 바와 같은 인코딩 방식들을 거친다. 더 구체적으로, 사용자 데이터는 제1 논리 값을 나타내는 비트들의 미리 결정된 수를 갖는 코드워드로 인코딩될 수 있다. 예를 들어, 실시예에서, 인코딩된 사용자 데이터는 논리 값 1 및 논리 값 0을 갖는 비트들의 동일한 수를 가질 수 있는데, 즉 인코딩된 사용자 데이터는 제1 논리 값 및 제2 논리 값을 나타내는 비트들의 실질적으로 동일한 수를 갖지만, 인코딩된 사용자 데이터가 제1 논리 값의 비트들의 알려진 미리 결정된 수를 갖는 다른 구성들이 사용될 수 있다.
또한, 본 개시의 방법들 및 시스템들은 ECC 및/또는 보팅(voting) 방식과 같은 다른 메커니즘들로 보호되는 비트들을 갖는 코드워드 부분, 즉 상술한 카운터를 사용한다. 이에 따라, 어레이의 메모리 셀들의 세트는 사용자 데이터를 저장하도록 구성되는 한편, 메모리 셀들의 추가적인 세트는 카운터에 카운팅 정보를 저장하도록 구성된다. 실시예에서, 카운팅 정보는 논리 상태 1을 갖는 사용자 데이터 내의 비트들의 수를 나타낼 수 있다. 카운팅 정보는 이하에서 카운트 데이터로서 지칭된다.
도 3b는 본 개시의 메모리 셀 판독 기술들을 지원하는 사용자 데이터 패턴 도해(302)의 예를 도시한다. 사용자 데이터 패턴 도해(302)는 사용자 데이터(310b) 및 인코딩된 데이터(315b)를 포함한다. 인코딩 프로세스(320b)는 사용자 데이터(310b)를 인코딩된 데이터(315b)로 인코딩할 수 있다. 인코딩된 사용자 데이터는 카운트 데이터(330) 외에 사용자 데이터(310b)를 포함할 수 있다. 도 3a를 참조하여 이미 논의된 바와 같이, 인코딩 방식은 인코딩 프로세스 동안 사용자 데이터에 다수의 가외 비트들(패리티 비트들 또는 반전 비트들이라고도 지칭될 수 있음)을 추가하는 것을 포함할 수 있어서, 인코딩된 사용자 데이터(310b)는 프로세스(320b)의 결과로서 시작 사용자 데이터와 상이할 수 있다.
일부 실시예들에서, 인코딩 방식은 다수의 메모리 셀들에서 소정의 논리 상태(예를 들어, 논리 상태 1)를 갖는 사용자 데이터 내의 비트들의 총 수에 대응하는 카운트 데이터(330)의 형태로 카운팅 정보를 저장하기 위해 사용된다. 카운팅 정보는 소정의 논리 상태를 갖는 사용자 데이터 내의 비트들의 총 수를 나타내는 이진수로서 저장될 수 있다. 다른 경우들에서, 카운팅 정보는 하기에서 상세히 설명될 바와 같이, 소정의 가중치(예를 들어, 20%, 30%, 50% ― 즉, 카운팅 정보를 저장하는 메모리 셀들의 절반이 소정의 논리 상태를 가짐 ―, 75% 기타)의 가중치 패턴을 갖도록 인코딩될 수 있다. 일부 경우들에서, 인코딩 방식은 소정의 논리 상태(예를 들어, 논리 상태 1)를 갖는 사용자 데이터 내의 비트들의 총 수가 정확한 미리 결정된 가중치보다는, 미리 결정된 가중치 범위(예를 들어, 48%-50%, 40%-48%, 40%-45%, 또는 20%-25%) 내에 있게 할 수 있다. 일부 경우들에서, 정확한 가중치를 얻기 위해 몇몇 추가 비트들이 프로그래밍될 수 있다.
실시예에서, 카운트 데이터(330)의 메모리 셀들의 수는 사용자 데이터(310b)의 길이에 의해 결정될 수 있다. 일부 경우들에서, 카운트 데이터(330)는 사용자 데이터가 2k 비트 길이일 때 k개의 메모리 셀들을 포함한다. 다른 경우들에서, 카운트 데이터(330)는 사용자 데이터가 2k 비트 길이일 때 2×k개의 메모리 셀들을 포함할 수 있다. 즉, k는 2k 코드워드 길이를 갖는 완벽한 밸런싱된 코드를 얻기 위해 사용되는 비트들의 수일 수 있으며, 이때 보통 값 1을 갖는 비트들의 수는 소정의 간격 [x; 2k/ 2] 내에서 유지되며, k보다 더 적은 수의 가외 비트들을 갖는다.
일부 실시예들에서, 인코딩 프로세스(320b) 동안, 사용자 데이터(310b)의 소정의 논리 값(예를 들어, 논리 값 1)을 갖는 비트들의 총 수가 식별될 수 있고, 상기의 총 수는 카운트 데이터(330)에 (예를 들어, 이진수로서) 저장될 수 있다. 예로서, 사용자 데이터(310b) 가 16 비트 길이(예를 들어, 24 비트 길이)이고 16 비트 중 논리 상태 1을 갖는 9 비트를 가질 때, 카운트 데이터(330)는 4 비트 길이를 갖고 이진수 1001에 대응한다. 다른 실시예들에서, 인코딩 프로세스(320b) 동안, 사용자 데이터(310b)의 소정의 논리 값(예를 들어, 논리 값 1)을 나타내는 비트들의 총 수가 식별될 수 있고, 총 수는 이진수(예를 들어, 1001)의 각 디지트를 디지트들의 쌍으로(예를 들어, 이진 디지트 1을 10으로 그리고 이진 디지트 0를 01로) 변환함으로써 카운트 데이터(330)에 인코딩될 수 있다. 상술한 동일한 예를 사용하여, 사용자 데이터(310b)가 16 비트 길이(예를 들어, 24 비트 길이)이고 논리 값 1을 나타내는 9 비트(예를 들어, 이진수 1001)를 가질 때, 카운트 데이터(330)는 8 비트 길이일 수 있고 10010110에 대응할 수 있다. 이러한 인코딩은 50%의 밸런싱된 가중치를 갖도록 카운트 데이터(330)를 제공하며, 이는 하기에서 또한 논의될 것이다.
이에 따라, 인코딩 프로세스(320b)의 결과는 사용자 데이터(310b)에서 소정의 논리 상태(예를 들어, 논리 상태 1)를 나타내는 메모리 셀들의 알려진 수가 확립되고 이어서 카운트 데이터(330)에 저장되는 것일 수 있다. 어느 경우든, 본 개시에 따르면, 카운터에 저장된 값은 사용자 데이터(310b)를 정확하게 판독하기 위해 사용된다.
이에 따라, 본 개시는 메모리 셀들의 어레이와 연관된 카운터에, 소정의 논리 값(예를 들어, 제1 논리 값 1)을 갖는 사용자 데이터 내의 비트들의 총 수에 대응하는 정보(즉, 카운트 데이터)를 저장하는 것을 제공한다. 더 구체적으로, 실시예에서, 카운트 데이터를 카운터에 저장하는 것은 제1 논리 값, 즉 1들의 타겟을 갖는 비트들의 타겟 수를 코드워드로 저장하는 것을 포함할 수 있다.
또한, 본 개시의 실시예에 따르면, 카운터 비트들은 최대 1들만큼 클 수 있는 비트들의 타겟 수, 즉 제1 논리 값을 갖는 비트들의 최대 수만을 저장하는 것이 아니라, 제1 논리 값을 갖는 비트들의 타겟(총) 수와 상기의 제1 논리 값을 갖는 예상되는 비트들의 최소 수 간의 차이의 결과이다(즉, 카운터 비트들 = 타겟 1들-최소 1들). 이 방식은 저장된 카운터 비트들의 수를 감소시키므로 유익하다. 다시 말해서, 카운트 데이터를 저장하는 것은 코드워드에 저장되어야 하는 소정의 논리 값, 특히 제1 논리 값 1을 갖는 사용자 데이터의 비트들의 타겟 값과 최소 값 간의 차이를 저장하는 것을 포함할 수 있다.
대안적으로, 비트들의 타겟 수의 2의 보수가 저장된다.
어느 경우든, 본 개시에 따르면, 코드워드(CW)는 도 3b에 도시된 바와 같이, 사용자 데이터(예를 들어, 코드워드 사용자 데이터 부분(310b)) + 카운트 데이터(예를 들어, 코드워드 카운트 데이터 부분(330))를 포함한다.
상술한 바와 같이, 본 개시의 실시예는 제1 논리 값을 갖는 비트들의 알려진 미리 결정된 수를 포함하도록 하는 방식으로 카운터를 밸런싱하는 것을 제공한다. 다시 말해서, 카운터는 소정의 논리 값을 갖는 비트들의 제어되는 수(예를 들어, 제1 논리 값 1을 갖는 비트들의 제어되는 수)를 포함하도록 정보의 가외 비트들로 조작될 수 있다. 예로서, 카운터는 (이전에 도시된 바와 같이) 50% 밸런싱된 방식을 가질 수 있거나, 또는 50%와 상이한 제1 논리 값 1을 갖는 비트들의 미리 결정된 고정된 수를 가질 수 있다.
이는 제1 논리 값을 갖는 카운터 비트들의 알려진 수가 이의 판독 동작 동안 판독될 때 타겟 값을 얻을 수 있게 한다(그리고 이어서 카운터의 판독을 중단한다). 다시 말해서, 제1 논리 값을 갖는 비트들의 미리 설정된 예상되는 수가 판독될 때, 카운터 비트들의 판독은 종료된 것으로 고려될 것이고, 타겟 값은 코드워드의 사용자 데이터를 적절히 판독하기 위한 판독 알고리즘에서 사용될 수 있다. 예를 들어, 카운터가 50% 밸런싱된 방식을 갖는 경우에서, 카운터 비트들의 절반이 판독될 때 카운터의 판독 동작이 종료된다.
이에 따라, 실시예에서, 본 개시는 1들의 예상되는 수에 도달할 때 카운터의 판독을 중단하기 위해 밸런싱 방식을 제공한다. 이는 카운터가 1들의 제어되는 수로 될 때까지 카운터를 가외 정보로 조작함으로써 얻어진다. 카운터의 타겟 값은 제1 논리 값 1을 갖는 카운터 내의 비트들의 미리 결정된 수가 판독될 때 제공되고 사용된다.
이는 카운터가 타겟에 도달할 때 카운터 DL 방전을 가능하게 하여, 카운터 셀들 상의 리셋 판독 교란(reset read disturb, RRD)을 최소화하는데, 이는 스위칭 직후에 비트 라인들을 스위칭 오프하는 것이 상기의 교란을 감소시키기 때문이다.
감지 단계는 사용자 데이터의 모든 논리 값들 "1"을 카운트하고, 이들을 카운터 부분(330)에 포함된 비트들에 의해 주어지는 값, 즉 타겟 값과 비교할 수 있다. 이어서, 셀 에러가 없다면 판독 단계가 중단될 수 있다.
코드워드의 판독은 본 개시에 따라 더 개선될 수 있다. 더 구체적으로, 본 개시는 카운트 데이터를 통해, 소정의 논리 상태, 특히 제1 논리 상태 1을 갖는 메모리 셀들의 정확한 수를 제공하는 인코딩 방식들에 의존하며, 이는 메모리 셀들의 상이한 전기적 특성들에 관계없이 사용자 데이터를 정확하게 판독하는 것을 가능하게 한다. 적합하게는, 본 개시에 따르면, 카운트 데이터는 사용자 데이터가 판독되는 동안 결정된다.
도 4a는 본 개시의 실시예에 따라 판독 단계 동안 메모리 셀들에 의해 나타나는 논리 상태들의 분포들을 개략적인 방식으로 도시한다. 예를 들어, 도시된 분포들은 어레이의 셀들의 가변 전기적 특성들로부터 비롯될 수 있다. 셀 분포 곡선들은 수직 축 "셀 #" 및 수평 축 "임계 전압"에 대해 나타내어진다. 판독 전압은 수직 축 "판독 전압" 및 수평 축 "시간"에 대해 나타내어진다.
인가된 판독 전압과 프로그래밍 전압이 동일한 극성을 가질 때, 임계 전압의 크기는 낮다는 것에 주목할 가치가 있다. 예를 들어, (예를 들어, 논리 상태 "1"에 대응하는) 양의 프로그래밍 전압은 더 낮은 임계 전압을 초래한다. 논리 상태 "1"은 양의 판독 전압을 인가함으로써 결정될 수 있으며, 이는 상기의 더 낮은 임계 전압을, 도 4a에 도시된 분포(401)로서 초래한다. 인가된 판독 전압과 프로그래밍 전압이 상이한 극성들을 가질 때, 임계 전압의 크기는 높다. 예를 들어, (예를 들어, 논리 상태 "0"에 대응하는) 음의 프로그래밍 전압은 도 4a에 도시된 분포(402)와 같이, 양의 극성으로 판독될 때 더 높은 임계 전압을 초래한다. 이에 따라, 논리 상태 "0"의 셀들은 양의 낮은 판독 전압으로 바이어싱될 때 임계화되지 않는다. 액세스 회로는 판독 전압의 인가에 대한 메모리 셀들의 전기적 응답들에 기초하여 메모리 셀들의 논리 상태를 결정할 수 있다.
도 4a에서, 카운터 비트들의 분포들은 403 및 404로서 나타내어지고, (카운터가 비트들의 더 낮은 수를 포함하기 때문에) 분포들(401 및 402)보다 더 좁고, 통계적으로 상기의 분포들의 피크 주위에 실질적으로 중심을 둔다. 도 4a의 분포들(401 및 402)은 도 3b의 코드워드 부분(310b)에 포함된 비트들에 대응할 수 있고, 도 4a의 분포들(403 및 404)은 도 3b의 코드워드 부분(330)에 포함된 비트들에 대응한다.
이어서, 판독 전압(405)이 어레이의 메모리 셀들에 저장된 사용자 데이터를 판독하기 위해 어레이의 메모리 셀들에 인가된다. 동시에, 상기의 판독 전압은 제1 논리 값, 예를 들어, 실시예에서, 논리 값 1을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 타겟 값을 제공하기 위해, 카운터에 저장된 카운트 데이터를 판독하기 위해 카운터의 셀들에 또한 인가된다. 이러한 방식으로, 판독 전압(405)의 인가 동안, 카운트 데이터는 사용자 데이터의 판독 동안 타겟 값이 제공되도록 하는 방식으로 사용자 데이터와 동시에 판독된다. 다시 말해서, 바람직하게는, 본 개시에 따르면, 카운터들의 비트들이 어레이에 저장된 사용자 데이터를 포함하는 메인 코드워드의 비트들과 동시에 판독된다.
감지 회로는 인가된 판독 전압(405)(예를 들어, 셀들의 단자들에 걸친 임계 전압)에 대한 복수의 메모리 셀들의 전기적 응답을 검출하고, 임계 전압들에 기초하여, 복수의 메모리 셀들 중 하나 이상의 셀에 대한 논리 상태가 연관된다. 도 4a의 실시예에서 도시된 바와 같이, 메모리 셀들은 메모리 셀들이 제1 논리 상태 1에 있을 때 더 낮은 크기를 갖는 임계 전압을 나타내고, 메모리 셀들이 제2의 반대 논리 상태 0에 있을 때 더 높은 크기를 갖는 임계 전압을 나타낸다.
본 개시의 실시예에서, 판독 전압(405)은 전압 램프이고, 바람직하게는, 상기의 전압 램프는 가변 계단 전압 램프이다.
실시예에서, 도 4a에 도시된 바와 같이, 사용자 데이터를 포함하는 어레이의 셀들에 인가되는 판독 전압(405)(즉, 판독 분포들(401 및 402)에 인가되는 판독 전압)은 카운트 데이터를 포함하는 셀들에 인가되는 판독 전압(예를 들어, 판독 분포들(403 및 404)에 인가되는 판독 전압)과 동일하다. 다시 말해서, 사용자 데이터를 저장하는 메모리 셀들에 대한 제1 판독 전압과 카운트 데이터를 저장하는 메모리 셀들에 대한 제2 판독 전압은 어레이의 셀들에 동시에 인가되는 동일한 전압(즉, 단지 하나의 전압)일 수 있다. 판독 전압(들)은 예를 들어, 계단 전압 램프(들)와 같은 전압 램프(들)일 수 있다.
도 4b에 도시된 다른 실시예에 따르면, 전압 램프(405), 예를 들어, 제1 전압 램프(405)(수직 축 "판독 전압" 및 수평 축 "시간"에 대해 나타내어짐)가 사용자 데이터를 포함하는 셀들에(즉, 판독 분포들(401 및 402) ― 수직 축 "셀 #" 및 수평 축 "임계 전압"에 대해 나타내어짐 ― 로) 인가되고, 오프셋 전압 램프(405'), 예를 들어, 제2 전압 램프(405')가 카운터의 셀들에(즉, 판독 분포들(403' 및 404')로, 이에 따라 이들은 시간적으로 시프트된 것으로 보인다) 인가된다. 이 실시예에서, 제2 판독 전압(405')은 제1 판독 전압(405)에 대해 미리 결정된 전압 오프셋만큼 전압 오프셋된다. 예를 들어, 오프셋은 250 mV일 수 있다(오프셋은 논리 상태 1로 프로그래밍된 메모리 셀들의 분포에서의 예상되는 최소 임계 전압에 의해 제한될 수 있다).
오프셋 판독 전압(405')은 예를 들어, 다이오드 또는 전압 분배기와 같은 하드웨어 구성요소들에 의해, 판독 전압(405)으로부터 생성될 수 있거나, 그 반대일 수 있다.
카운터 셀들에 인가되는 오프셋 판독 전압(405')은 도 4b에 개략적으로 도시된 바와 같이, 이중 분포 경우들을 다루고, 메인 코드워드가 실제로 필요로 하기 전에 카운터 준비를 제공한다. 도 4b를 참조하면, 카운트 데이터가 t0에서 준비되고, t1 이후에(즉, 분포의 종료에 접근하여) 실제로 필요하며, 이에 따라 카운터의 타겟 값이 판독 동작 동안 더 일찍 이용가능하고, 이어서 판독 알고리즘에서 적절하게 사용될 수 있다. 이러한 방식으로, 카운터 비트들의 판독에서 유용한 시간 마진이 달성된다. 다시 말해서, 관련 감지 회로들에 대한 전압을 생성하기 위해 사용되는 공급 전압을 수정함으로써 카운터 셀들에 전압 오프셋을 인가하는 것으로 인해, 카운터 비트들은 시간 마진에 의해 예상되는데, 즉 카운터 비트들은 램프가 오프셋을 갖지 않는 조건에 대해 더 일찍 판독되어, 판독 동작 동안 실제로 보여지는 카운터 분포들은 도 4b의 분포들(403' 및 404')이다. 이는 판독 전압의 인가의 시작시 카운트 데이터가 아직 이용가능하지 않으므로, 오프셋이 상기의 데이터를 미리 갖고 사용할 수 있게 한다는 점에서 유리하다. 다시 말해서, 제1 판독 전압은 사용자 데이터를 저장하는 메모리 셀들을 판독하기 위해 인가될 수 있고, 제2 판독 전압은 함께, 예를 들어, 동시에, 카운트 데이터를 저장한 메모리 셀들을 판독하기 위해 인가될 수 있다. 제2 판독 전압은 제1 판독 전압에 대한 전압 오프셋일 수 있다. 오프셋은 제1 제2 판독 전압의 순간 진폭이 제1 판독 전압의 동시 순간 진폭보다 크도록 할 수 있다. 제1 및 제2 판독 전압들은 전압 램프들, 예를 들어, 계단 전압 램프들일 수 있다.
이전에 개시된 바와 같이, 사용자 데이터 및 카운트 데이터는 동시에 판독되고, 판독 전압(제1 판독 전압 및 제2 판독 전압 중 어느 하나 또는 양자)의 인가의 시작에서, 카운트 데이터(이의 분포는 사용자 데이터 분포의 피크 주위에 중심을 두고 더 좁음)는 판독 알고리즘에서 사용되는 데 여전히 이용가능하지 않다. 예를 들어, (사용자 데이터 비트들의 특정 수, 즉 분포의 피크까지 판독하는 것을 가능하게 하는) 제1 판독 펄스의 인가 후에, 후속 판독 펄스의 인가에 관한 명령어가 판독 카운트 데이터에 기초하여 제공되어야 하지만; 판독 동작의 시작에서, 카운트 데이터는 여전히 판독되지 않고 카운트된 사용자 데이터 비트들은 카운터 비트들보다 크며, 이는 판독 동작의 원치 않는 중단을 초래할 것이다.
이러한 이유로, 본 개시의 실시예에서는, 모든 카운터 비트들이 판독되고 타겟 값이 제공될 때까지 사용자 데이터를 판독하기 위한 판독 전압, 예를 들어, 제1 판독 전압의 인가를 가능하게 하기 위한 커맨드가 생성되는데, 즉 이러한 커맨드는 사용자 데이터를 판독하기 위한 판독 전압이 카운터로부터의 카운트 데이터의 부족으로 인해 중단되는 것을 방지한다. 카운트 데이터가 판독되면, 활성화 커맨드는 더 이상 생성되지 않고, 상기의 카운트 데이터가 사용자 데이터의 적절한 판독을 수행하기 위해 판독 알고리즘에서 사용된다. 판독 카운트 데이터에 기초하여, 이어서, (제1) 판독 전압은 판독 동작 동안 제1 논리 값을 갖는 비트들의 결정론적 수에 대응하는 전압으로서 선택되며, 판독 전압은 제1 논리 값 내의 카운트된 사용자 데이터 비트들의 수가 카운트 데이터에 의해 제공되는 타겟 값에 도달할 때까지 증가된다.
이에 따라, 카운터에 의해 제공되는 타겟 값은 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수가 상기의 타겟 값과 같을 때 사용자 데이터의 판독을 중단하기 위해 사용된다.
다시 말해서, 활성화 커맨드의 생성은 가장 가능성 있는 코드워드를 가리키는 페이크 카운터(즉, 판독 전압의 중단을 방지하기 위해 가장 가능성 있는 코드워드를 가라키는 비트들의 페이크 수를 가짐)의 사용에 대응하고, 이 페이크 카운터는 실제 카운터의 밸런싱된 판독이 도달된 타겟 값을 트리거링하고 페이크 카운터를 실제 카운터와 스와핑할 때까지 사용된다. 이에 따라, 실제 카운터의 값(즉, 밸런싱된 값) 이 판독되고 타겟 활성화 커맨드가 생성되어 판독 알고리즘에서 사용될 때까지 페이크 카운터가 사용된다.
앞서 살펴본 바와 같이, 카운터는 밸런싱 방식으로 확립된 바와 같이, 제1 논리 값을 나타내는 카운터의 비트들이 모두 판독될 때 판독되는 것으로서 고려될 수 있다. 예를 들어, 카운트 데이터가 50% 가중치(즉, 1들 및 0들의 동일한 수)를 갖는 밸런싱 방식에 따라 인코딩되었다면, 카운트 데이터는 카운터 비트들의 절반이 판독되었을 때 판독된 것으로서 고려되고, 이어서 카운트 데이터는 나머지 사용자 데이터 셀들의 적절한 판독을 수행하기 위한 활성화 커맨드로 대체될 수 있다.
도 5는 본 개시에 따라 동작하는 판독 알고리즘의 논리 블록들을 도시한다. 카운트 데이터는 카운터로부터 판독되고, 사용자 데이터 판독 알고리즘의 실행 동안 "온 더 플라이(on the fly)"로 사용되는데, 즉 판독 블록들(501 및 502)이 병렬로 수행된다. 판독 카운트 데이터는 사용자 데이터가 판독되는 동안 알고리즘에 도입되어, 판독 성능을 개선한다. 카운트 데이터가 여전히 완전히 판독되지 않은 시간 프레임에서, 카운터의 판독 동작이 완료되고 타겟 값이 최종적으로 제공될 때까지 사용자 데이터의 판독을 활성화하기 위해 활성화 커맨드(즉, 페이크 카운터)가 사용된다.
블록 501에서, 카운터가 밸런싱되므로, 가장 가능성 있는 코드워드를 가리키는 활성화 커맨드(즉, 페이크 카운터)는 카운터가 밸런싱된 값에 도달하고 타겟 값이 준비되고 카운터 기반 판독 알고리즘에서 사용될 수 있음을 나타내는 신호를 생성할 때까지 사용되고, 이에 따라 블록 502에서 사용자 데이터의 적절한 판독이 수행된다.
카운터의 타겟 값이 판독될 때, 상기의 값은 적절한 판독 전압의 생성을 위해, 특히 어레이의 메모리 셀들에 인가될 모든 후속 판독 전압 펄스들의 정의를 위해 룩업 테이블(LUT)에 사용된다. 이에 따라, 카운터의 값은 룩업 테이블로 송신되고, 판독 전압 생성기(예를 들어, 램프 DAC 생성기)는 램프의 생성을 위한 모든 정보를 수신한다.
이에 따라, 본 개시는 카운터 비트들 및 데이터 비트들의 동시 판독을 제공하며, 카운터 비트들은 마치 메인 코드워드의 비트들인 것처럼 판독되어, 먼저 카운터를 판독하고 이어서 그것을 판독 전압 생성기로 다운로드하는 것이 아닌 새로운 접근법을 제공한다.
이전에 도시된 바와 같이, 판독 전압의 인가의 시작에서, 카운터 비트들은 여전히 판독되어야 한다(이는 판독 동작의 원치 않는 중단을 초래할 것이다). 본 개시의 대안적인 실시예에서, 이러한 문제를 해결하기 위해, 카운터 비트들은 카운터 비트들의 최대 수로부터 시작하여 카운트되고, 이어서 상기의 최대 수는 모든 카운터 비트들이 판독될 때까지 감분된다. 이에 따라, 이 실시예에서, 카운터의 비트가 판독 전압의 인가로 인해 스위칭될 때마다, 카운트된 값은 최대 값으로부터 감분된다.
이러한 방식으로, 카운트 데이터가 이미 판독된 데이터로서 초기에 저장되도록(즉, 상기의 데이터가 데이터의 비트들의 최대 수로부터 시작하여 카운트되고 카운트가 감분되도록) 디코딩 로직 방식이 카운터 비트들에 적용된다. 이에 따라, 이 실시예에 따르면, 판독 동작의 시작에서, 카운터 비트들의 수는 사용자 데이터에서 판독된 미리 결정된 논리 값을 갖는 비트들의 수보다 크고, 판독 동작은 중단 없이 계속될 수 있으며, 이어서 카운터 비트들의 수는 판독 동작 동안 감분된다.
판독 전압의 인가로 인해 카운터 내의 모든 비트들이 스위칭(판독)될 때, 타겟 값은 스위칭된 카운터 비트들의 수로서 제공되고, 판독 동작은 판독된 사용자 데이터 비트들의 수가 상기의 스위칭된 카운트 데이터 비트들의 수에 대응할 때, 즉 타겟 값과 일치할 때 중단될 수 있다. 도 4a 및 도 4b를 참조하여 논의된 바와 같은 분포 형상으로 인해, 사용자 데이터 및 카운트 데이터의 판독 동작이 병렬로 발생하므로, 카운터로부터의 데이터는 실제로 필요한 시간 t1 전에 판독된다.
다시 말해서, 이 실시예에서, 카운터의 비트들은 판독 동작의 시작에서, 카운터 비트들이 카운터 비트들의 최대 값으로부터 카운트됨에 따라 판독 펄스의 인가가 중단되지 않는 방식으로 (예를 들어, 논리적으로 또는 인버터에 의해) 반전된다. 이 실시예에서, 카운터에 대한 밸런싱 방식을 사용할 필요는 없다.
이 경우에서, 전술한 바와 같이, 비트들의 타겟 수의 2의 보수가 저장되는데, 즉 최대 타겟이 저장되고, 최대 값으로 시작하고 이를 감분시키기 위해 최대 타겟의 보수가 얻어진다.
일반적으로, 판독 전압의 인가는 카운터의 판독 타겟 값에 기초하고, 미리 결정된 논리 값(예를 들어, 제1 논리 값 1)을 갖는 사용자 데이터의 비트들의 수가 상기의 카운터에 저장된 값에 대응할 때 중단된다.
본 개시의 실시예에 따르면, 사용자 데이터는 판독 전압의 인가 동안 런타임에 평가된다. 대안적으로, 사용자 데이터는 타겟 값이 판독된 후에 평가되는데, 즉 사용자 데이터 비트들은 카운터가 적절하게 판독된 것을 나타내는 타겟 신호가 생성된 후에 평가된다.
본 개시의 실시예에 따르면, 카운터의 비트들은 다수결 보팅 방식, 예를 들어, 3X 보팅 방식에 따라 저장 및 판독되며, 이 방식은 카운터의 N개의 어레이 셀들에 적용될 수 있더라도, 하나의 카운터 비트가 세 개의 어레이 셀들에 대응한다. 일반적으로, 보팅의 수는 원시 BER에 따라 선택된다. 이에 따라, 본 개시는 카운터 셀들에 대한 보팅 방식을 갖는 밸런싱된 코드의 사용을 제공하며, 이에 따라 카운트 데이터가 밸런싱된 데이터(예를 들어, 타겟으로서 네 개의 1들)이고 각 비트가 보팅 방식(예를 들어, 3X 보팅 방식)에 의해 보호된다.
이에 따라, 카운터는 신뢰성 문제들에 대해 보호되고, BER은 리던던트 정보 또는 정정 방식들, 또는 이들의 조합, 예를 들어, 하나의 카운터 비트가 N개의 어레이 셀들(예를 들어, N=3)에 대응하도록 하는 보팅 방식, 하나의 카운터 비트가 0의 하나의 어레이 셀 및 1의 하나의 어레이 셀에 대응하도록 하는 차동 셀들, 뿐만 아니라 각 비트가 보팅 또는 차동 이외인 카운터 패리티 비트들을 사용하는 에러 정정 방식들을 적용함으로써 감소된다. 모든 이들 방식은 또한 서로 조합될 수 있다.
또한, 카운터 비트들의 보호 레벨을 구별하는 것도 가능하다. 예를 들어, 본 개시의 실시예에서, 카운터의 LSB는 MSB보다 더 보호된다(예를 들어, 보팅 5X를 갖는 LSB 및 보팅 3X을 갖는 MSB). 이에 따라, LSB 비트들은 가장 가능성 있는 CW에 관련되기 때문에 더 강한 보호를 가질 수 있다.
실시예에서, 사용자 데이터는 에러 정정 코드(ECC) 및/또는 차동 셀 방식을 사용하여 보호된다.
요약하면, 본 개시에 따르면, 사용자 데이터 비트들 및 카운터 데이터 비트들이 동시에 판독되어, 카운터 값이 사용자 데이터 전에 판독되지 않고 사용자 데이터로 판독되어 사용자 데이터를 판독하는 동안 온 더 플라이로 사용된다.
개시된 카운터 기반 판독 알고리즘은 카운터가 메인 코드워드와 병렬로 판독되기 때문에 다운로드 오버헤드 레이턴시가 없는 매우 빠른 자기 참조(3 또는 4 단계들)를 포함하여, 많은 이점들을 갖는다. 또한, 사용자 데이터 셀들 및 카운터 셀들은 동일한 설계 아키텍처(예를 들어, 동일한 감지 증폭기들, 디코더들, 어레이들 등)를 필요로 하는데, 이는 카운터가 메인 코드워드와 동일한 방식으로 판독되어 시스템 아키텍처를 단순화하기 때문이다.
또한, 카운터에 저장된 데이터는 타겟 값과, 타겟 값만이 아니라 제1 논리 값(즉, 코드워드에 저장될 1들의 최소 수인 Min1)을 갖는 예상되는 비트들의 최소 수 간의 차이에 대응할 수도 있으므로, 카운터는 메인 코드워드보다 훨씬 더 적은 비트들의 감소된 수를 갖는다. 이에 따라, 본 개시는 또한 신뢰성 있는 카운팅에 요구되는 셀들의 감소된 수를 초래한다(감소된 전력, 감소된 영역을 가짐).
도 6은 본 개시에 따른 방법(600)의 단계들을 나타내는 흐름도이다. 설명되는 프로세스들은 하드웨어 로직 및 회로에 의해 수행될 수 있다. 예를 들어, 다음의 프로세스들은 본원에서서 개시된 바와 같이, 액세스 회로 및 감지 회로에 의해 수행되는 것으로서 설명된다. 그러나, 다른 실시예들은 프로세스들을 수행하기에 적합한 상이한 회로 구성들을 포함할 수 있다.
본 개시의 방법은 메모리 셀들의 판독 동작들을 개선하기 위한 방법이다. 메모리 셀들을 판독하기 전에, 액세스 회로는 복수의 메모리 셀들에 데이터를 기록한다. 예를 들어, 액세스 회로는 논리 0들 및 논리 1들을 도 1의 메모리 셀(100')과 같은 복수의 메모리 셀들에 기록한다. 일 실시예에서, 액세스 회로는 음의 극성을 갖는 프로그래밍 펄스들을 인가함으로써 논리 0들을 기록하고 양의 극성을 갖는 프로그래밍 펄스들을 인가함으로써 논리 1들을 기록할 수 있다. 반대의 관례가 또한 채택될 수 있다. 복수의 메모리 셀들에 데이터를 기록한 후에, 액세스 회로는 본 개시의 판독 시퀀스를 사용하여 복수의 메모리 셀들을 판독할 수 있다.
더 구체적으로, 단계 610에서, 사용자 데이터는 메모리 어레이의 복수의 메모리 셀들에 저장되고, 단계 620에서, 미리 결정된 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 카운트 데이터가 메모리 셀의 어레이에 연관된 카운터에 저장된다. 일부 경우들에서, 사용자 데이터는 예를 들어, 일정 범위 내의 비트들의 수를 갖도록 저장하기 전에 인코딩될 수 있다. 일부 예들에서, 카운트 데이터는 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 타겟 값과 상기의 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 최소 값 간의 차이를 나타낼 수 있다.
단계 630에서, 메모리 셀들의 어레이에 저장된 사용자 데이터를 판독하기 위해 판독 전압이 메모리 셀들에 인가된다. 사용자 데이터를 저장하는 메모리 셀들에 인가되는 판독 전압은 제1 판독 전압일 수 있다. 동시에, 판독 전압은 카운터에 저장된 카운트 데이터를 판독하고 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 타겟 값을 제공하기 위해 카운터의 셀들에 인가된다. 카운터 데이터를 저장하는 메모리 셀들에 인가되는 판독 전압은 제2 판독 전압일 수 있다. 제2 판독 전압은 일부 실시예들에서, 제1 판독 전압에 대한 오프셋일 수 있다. 본 개시에 따르면, 판독 전압(들)의 인가 동안, 카운트 데이터는 사용자 데이터의 판독 동안 타겟 값이 제공되도록 하는 방식으로 사용자 데이터와 동시에 판독된다.
단계 640에서, (전용 카운터를 증분시킴으로써 카운트되는) 판독된 사용자 데이터 비트들의 수가 타겟 값과 비교된다.
카운터의 타겟 값에 기초하여, 판독 전압, 예를 들어, 제1 논리 값의 인가는 사용자 데이터 내의 비트들의 수가 타겟 값에 대응할 때 단계 650에서 중단된다. 대안적으로, 방법(600)은 (예를 들어, 증가된 판독 전압(들)으로, 단계 630으로부터) 계속된다. 일부 예들에서, 제1 및 제2 판독 전압들은 전압 램프들, 예를 들어, 계단 전압 램프들일 수 있다.
도 7은 본 개시의 판독 알고리즘을 수행할 수 있는 시스템(700)의 상위 레벨 방식이다. 시스템(700)은 메모리 디바이스(710)를 포함하며, 차례로 이는 메모리 셀들의 어레이(720), 및 메모리 셀들(720)에 동작 가능하게 결합된 회로(730)를 포함하는 며; 메모리 셀들(720) 및 회로(730)는 본원에서 메모리 부분(700')으로서 지칭되는 메모리 부분을 형성한다.
메모리 디바이스(710)는 예를 들어, 호스트(750)에 의한 커맨드에 응답하여, 메모리 액세스 커맨드를 생성하는 제어 로직을 나타내는 메모리 제어기(740)를 포함한다. 메모리 제어기(740)는 메모리 부분(700')에 액세스한다. 일 실시예에서, 메모리 제어기(740)는 또한, 본 개시가 특정 아키텍처에 의해 제한되지 않더라도, 호스트(750)에서, 특히 호스트 프로세서(760)의 일부로서 구현될 수 있다. 제어기(740)는 임베디드 펌웨어를 포함할 수 있고, 메모리 부분(700')의 동작을 관리 및 제어하도록 적응된다.
일반적으로, 메모리 제어기(740)는 입/출력 IO를 통해 사용자 데이터를 수신할 수 있다. 이전에 도시된 바와 같이, 일부 실시예들에서, 메모리 제어기는 사용자 데이터를 메모리 셀들에 저장하기 전에 사용자 데이터를 조건을 만족시키도록 인코딩한다. 조건은 인코딩된 사용자 데이터가 소정의 논리 값(예를 들어, 논리 값 1)을 나타내는 비트들의 미리 결정된 수를 가질 때 만족될 수 있다. 예로서, 인코딩된 사용자 데이터는 인코딩된 사용자 데이터를 저장하는 메모리 셀들의 50%가 논리 상태 1을 나타내는 한편 메모리 셀들의 다른 50%는 논리 상태 0을 나타내도록 구성될 수 있다(즉, 인코딩된 사용자 데이터 비트들의 절반이 논리 상태 1을 갖고, 다른 절반이 논리 상태 0을 갖는 밸런싱된 인코딩 방식). 인코딩 프로세스 동안, 메모리 제어기(140)는 소정의 논리 상태를 나타내기 위해 메모리 셀들의 미리 결정된 수를 확립하기 위해 사용자 데이터에 비트들(예를 들어, 패리티 비트들)의 특정 수를 추가할 수 있다. 패리티 비트들을 추가한 결과로서, 인코딩된 사용자 데이터는 사용자 데이터보다 더 많은 비트들을 가질 수 있다. 일부 실시예들에서, 논리 상태 1을 나타내는 메모리 셀들의 상이한 백분율 값(예를 들어, 40%, 60% 및 75%)이 인코딩 프로세스 동안 채용될 수 있다.
카운트 데이터는 소정의 논리 상태(예를 들어, 논리 상태 1)를 갖는 인코딩된 사용자 데이터의 비트들의 수로서 정의될 수 있고, 카운트 데이터의 값은 메모리 제어기(740)에 의해 어레이에 코드워드 부분으로서 인코딩되고 저장될 수 있다.
제어기(740)는 사용자 데이터 및 카운트 데이터의 동시 판독을 관리하도록 구성될 수 있고, 타겟 값에 기초하여, 제1 논리 값을 갖는 사용자 데이터의 비트들의 수가 타겟 값과 같을 때 사용자 데이터의 판독을 중단하도록 구성될 수 있다.
메모리 디바이스(710)는 또한, 제어기(740)에 결합된 프로세서 유닛들, 안테나들, 호스트 디바이스와의 연결 수단들(도시되지 않음) 등과 같은 다른 구성요소들을 포함할 수 있다.
다수의 신호 라인들은 메모리 제어기(740)를 메모리 부분(700')과 결합시킨다. 예를 들어, 이러한 신호 라인들은 클록, 커맨드/어드레스 및 기록 데이터(DQ), 판독 DQ, 및 0개 이상의 다른 신호 라인을 포함할 수 있다. 이에 따라, 메모리 제어기(740)는 적절한 버스들을 통해 메모리 부분(700')에 동작가능하게 결합된다.
메모리 부분(700')은 시스템(700)에 대한 메모리 자원을 나타낸다. 일 실시예에서, 메모리 셀들의 어레이(720)는 워드 라인(로우들) 및 비트 라인(로우 내의 개별 비트들) 제어를 통해 액세스되는 데이터의 로우들로서 관리된다. 일 실시예에서, 메모리 셀들의 어레이(720)는 도 2의 메모리 셀 어레이(200)와 같은 3D 크로스 포인트 어레이를 포함한다. 메모리 셀들의 어레이(720)는 메모리의 개별 채널들, 랭크들, 및 뱅크들로서 구성될 수 있다. 채널들은 메모리 부분 내의 저장 위치들에 대한 독립적인 제어 경로들이다. 랭크들은 다수의 메모리 디바이스들에 걸친 공통 위치들(예를 들어, 상이한 디바이스들 내의 동일한 로우 어드레스들)을 나타낸다. 뱅크들은 메모리 디바이스 내의 메모리 위치들의 어레이들을 지칭한다. 일 실시예에서, 메모리의 뱅크들은 서브 뱅크들에 대한 공유 회로(예를 들어, 드라이버들, 신호 라인들, 제어 로직)의 적어도 일부를 갖는 서브 뱅크들로 나뉜다. 메모리 위치들의 채널들, 랭크들, 뱅크들, 또는 다른 조직들, 및 조직들의 조합들이 물리적 자원들과 오버랩될 수 있다는 것이 이해될 것이다. 예를 들어, 동일한 물리적 메모리 위치들이 특정 채널을 통해 특정 뱅크로서 액세스될 수 있으며, 이는 또한 랭크에 속할 수 있다. 이에 따라, 메모리 자원들의 조직은 배타적인 방식보다는 포괄적인 방식으로 이해될 것이다.
일 실시예에서, 메모리 제어기(740)는 리프레시(REF) 로직(741)을 포함한다. 일 실시예에서, 리프레시 로직(741)은 리프레시를 위한 위치, 및 수행할 리프레시의 유형을 나타낸다. 리프레시 로직(741)은 메모리 내에서 자기 리프레시를 트리거할 수 있고, 리프레시 동작의 실행을 트리거하기 위한 리프레시 커맨드들을 발신함으로써 외부 리프레시를 발행할 수 있다.
일 실시예에서, 회로(730)의 액세스 회로(731)는 판독 시퀀스 동안 리프레시되지 않은 임의의 액세스된 메모리 셀들의 리프레시(예를 들어, 재프로그래밍)를 수행한다. 이에 따라, 메모리 셀들의 완전한 리프레시는 최소의 추가 리프레시 동작들을 갖는 메모리 판독 시퀀스의 부작용으로서 대부분 이루어질 수 있다.
실시예에서, 본 개시가 특정 아키텍처에 의해 제한되지 않더라도, 회로는 또한 메모리 제어기에 임베드될 수 있다.
도 7에 도시된 예시적인 실시예에서, 메모리 제어기(740)는 에러 정정 회로(742)를 포함한다. 에러 검출/정정 회로(742)는 메모리 부분으로부터 판독된 데이터에서 발생하는 에러들을 검출하기 위해 에러 정정 코드(ECC)를 구현하는 하드웨어 로직을 포함할 수 있다. 일 실시예에서, 에러 검출/정정 회로(742)는 또한 (구현된 ECC 코드에 기초하여 특정 에러 레이트까지) 에러들을 정정한다. 그러나, 다른 실시예들에서, 에러 검출/정정 회로부(742)는 에러들을 검출할 뿐 정정하지는 않는다.
도시된 실시예에서, 메모리 제어기(740)는 메모리 부분으로 발신할 커맨드들을 생성하는 로직 또는 회로를 나타내는 커맨드(CMD) 로직(743)을 포함한다. 메모리 제어기(740)는 또한, 위에서 개시된 코드워드별 카운터와 같은 카운터(744)를 포함하고 판독 동작 동안 스위칭되는 비트들의 수를 카운트하도록 구성될 수 있다. 분명히, 다른 아키텍처들도 채용될 수 있는데, 예를 들어, 카운터는 호스트(750) 또는 또한 회로(730)에 임베드될 수 있다.
수신된 커맨드 및 어드레스 정보에 기초하여, 회로(730)의 액세스 회로(731)는 본 개시의 판독 동작과 같은 커맨드들을 실행하기 위한 동작들을 수행한다. 이러한 일 실시예에서, 회로(730)는 인가된 판독 전압에 대한 하나 이상의 메모리 셀의 전기적 응답을 검출하기 위한 감지 회로(732)를 포함한다. 일 실시예에서, 감지 회로(732)는 감지 증폭기들을 포함한다. 도 7은 액세스 회로(731) 및 감지 회로(732)를 메모리 부분(700')에 임베드된 것으로서 도시하지만, 다른 실시예들은 메모리 부분(700')과 별개인 액세스 회로 및/또는 감지 회로를 포함할 수 있다. 예를 들어, 액세스 회로 및 감지 회로는 메모리 제어기(740)와 같은 메모리 제어기에 포함될 수 있다.
감지 회로는 판독 전압에 응답하여 소정의 메모리 셀을 통해 전류를 검출하도록 구성되고, 액세스 회로는 전류의 크기가 임계 전류 이상이라는 검출에 기초하여 소정의 메모리 셀이 제1 논리 상태에 있다고 결정하도록 구성될 수 있다.
일 실시예에서, 메모리 부분(700')은 하나 이상의 레지스터(733)를 포함한다. 레지스터들(733)은 메모리 부분의 동작을 위한 구성 또는 설정들을 제공하는 하나 이상의 저장 디바이스 또는 저장 위치를 나타낸다. 또한, 일 실시예에서, 회로(730)는 또한 디코드 회로(734)를 포함한다.
호스트 디바이스(750)는 본원에서서 설명된 임의의 실시예에 따른 컴퓨팅 디바이스이고, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게이밍 또는 엔터테인먼트 제어 시스템, 스캐너, 복사기, 프린터, 라우팅 또는 스위칭 디바이스, 임베디드 컴퓨팅 디바이스, 또는 스마트폰과 같은 다른 전자 디바이스일 수 있다. 메모리 디바이스(710)는 또한 호스트 디바이스(750)에 임베드될 수 있다.
일 실시예에서, 시스템(700)은 프로세서(760)에 결합된 인터페이스(770)를 포함하며, 이는 더 높은 대역폭 연결을 필요로 하는 시스템 구성요소들, 및/또는 그래픽 인터페이스 구성요소들에 대한 보다 고속 인터페이스 또는 고처리율 인터페이스를 나타낼 수 있다. 그래픽 인터페이스는 시스템(700)의 사용자에게 시각적 디스플레이를 제공하기 위해 그래픽 구성요소들에 인터페이싱한다. 일 실시예에서, 그래픽 인터페이스는 메모리 디바이스에 저장된 데이터에 기초하여 또는 프로세서에 의해 실행되는 동작들에 기초하여 또는 양자에 기초하여 디스플레이를 생성한다.
시스템은 또한, 예를 들어, 다른 시스템들과 연결하기 위해 호스트 또는 메모리 디바이스에 통신 가능하게 결합된 네트워크 인터페이스(780), 및/또는 상기의 시스템에 전력을 제공하도록 결합된 배터리를 포함할 수 있다.
결론적으로, 본 개시는 코드워드의 카운터 비트들 및 다른 비트들의 동시 판독을 제공하여, 어레이의 성능을 개선한다.
예시적인 실시예에 따르면, 메모리 셀들의 어레이를 동작시키는(에 액세스하는) 방법은, 메모리 어레이의 복수의 메모리 셀들에 사용자 데이터를 저장하는 단계, 메모리 셀들의 어레이에 연관된 카운터에, 미리 결정된 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 카운트 데이터를 저장하는 단계, 메모리 셀들의 어레이에 저장된 사용자 데이터를 판독하기 위해 메모리 셀들에 판독 전압(예를 들어, 제1 판독 전압)을 인가하는 단계, 카운터에 저장된 카운트 데이터를 판독하고 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 타겟 값을 제공하기 위해 카운터의 셀들에 판독 전압(예를 들어, 제2 판독 전압)을 인가하는 단계 ― 판독 전압들의 인가 동안, 카운트 데이터는 사용자 데이터의 판독 동안 타겟 값이 제공되도록 하는 방식으로 사용자 데이터와 동시에 판독되고, 카운터의 타겟 값에 기초함 ―, 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수가 타겟 값과 같을 때 판독 전압의 인가를 중단하는 단계를 포함한다.
다른 예시적인 실시예에 따르면, 하나 이상의 메모리 어레이를 포함하는 수직 3D 메모리 디바이스들에서 메모리 셀들을 프로그래밍 및 판독하는 방법은, 사용자 데이터 및 카운트 데이터를 포함하는 코드워드를 메모리 어레이에 저장하는 단계 ― 카운트 데이터는 미리 결정된 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응함 ―, 타겟 값과, 코드워드에 저장될 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 최소 값 간의 차이를 카운터에 저장하는 단계, 메모리 셀들의 어레이에 저장된 사용자 데이터를 판독하기 위해 메모리 셀들에 (제1) 판독 전압을 인가하는 단계, 카운터에 저장된 카운트 데이터를 판독하고 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 타겟 값을 제공하기 위해 카운터의 셀들에 (제2) 판독 전압을 인가하는 단계 ― 판독 전압들의 인가 동안, 카운트 데이터는 사용자 데이터의 판독 동안 타겟 값이 제공되도록 하는 방식으로 사용자 데이터와 동시에 판독되고, 카운터의 타겟 값에 기초함 ―, 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수가 타겟 값과 같을 때 판독 전압의 인가를 중단하는 단계를 포함한다.
본 개시는 또한 메모리 셀들의 하나 이상의 어레이, 사용자 데이터 및 카운트 데이터를 포함하는 메모리 어레이 내의 적어도 코드워드 ― 카운트 데이터는 미리 결정된 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응함 ―, 메모리 셀들을 판독하기 위한 카운터 기반 방법을 지원하는 메모리 제어기, 및 메모리 셀들을 판독하기 위한 회로를 포함하며, 회로는 메모리 셀들의 어레이와 동작 가능하게 결합되고, 적어도, 액세스 회로로서, 메모리 셀들의 어레이에 저장된 사용자 데이터를 판독하기 위해 메모리 셀들에 제1 판독 전압을 인가하도록, 그리고 카운터에 저장된 카운트 데이터를 판독하고 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수에 대응하는 타겟 값을 제공하기 위해 카운터의 셀들에 제2 판독 전압을 인가하도록 ― 판독 전압들의 인가 동안, 카운트 데이터는 사용자 데이터의 판독 동안 타겟 값이 제공되도록 하는 방식으로 사용자 데이터와 동시에 판독됨 ― 구성된, 액세스 회로뿐만 아니라, 감지 회로로서, 판독 전압의 인가에 응답하여 복수의 메모리 셀들에 의해 나타나는 임계 전압들을 검출하도록 구성된, 감지 회로를 포함하되, 카운터의 타겟 값에 기초하여, 제어기는 제1 논리 값을 갖는 사용자 데이터 내의 비트들의 수가 타겟 값과 같을 때 판독 전압의 인가를 중단하도록 구성되는 것인, 메모리 디바이스를 개시한다. 실시예에서, 메모리 셀들의 어레이는 자기 선택 메모리(Self-Selecting Memory, SSM) 또는 3D 크로스 포인트(3D X 포인트) 메모리를 포함한다.
호스트 디바이스 및 상기한 바와 같은 메모리 디바이스를 포함하는 관련 시스템으로서, 예를 들어, 메모리 디바이스 또는 호스트에 통신 가능하게 결합된 디스플레이, 메모리 디바이스 또는 호스트에 통신 가능하게 결합된 네트워크 인터페이스, 및 시스템에 전력을 제공하도록 결합된 배터리 중 임의의 것을 포함하는, 시스템이 또한 개시된다.
전술한 상세한 설명에서, 이의 부분을 형성하고 예로서 구체적인 예들이 도시되는 첨부 도면들이 참조된다. 도면들에서 같은 부호들은 몇몇 도면 전반에 걸쳐 실질적으로 유사한 구성요소들을 기술한다. 본 개시의 범위에서 벗어나지 않고 다른 예들이 이용될 수 있고 구조적, 논리적 그리고/또는 전기적 변경이 이루어질 수 있다. 덧붙여, 인식될 바와 같이, 도면들에 제공된 요소들의 비율 및 상대 축적은 본 개시의 실시예들을 예시하도록 의도되고 제한적인 의미로 취해져서는 안 된다.
본원에서 사용될 때, "하나의", "한", 또는 "다수의" 어떤 것은 하나 이상의 그러한 것을 지칭할 수 있다. "복수"의 어떤 것은 둘 이상을 의도한다. 여기서 사용될 때, "결합된(coupled)"이라는 용어는 전기적으로 결합, 개재 요소 없이(예를 들어, 직접 물리적 접촉에 의해) 직접 결합 및/또는 직접 연결되거나 개재 요소들로 간접 결합 및/또는 연결되는 것을 포함할 수 있다. 결합된이라는 용어는 서로 협력하거나 상호 작용하는(예를 들어, 원인 및 결과 관계와 같이) 둘 이상의 요소를 더 포함할 수 있다.
여기에 구체적인 예들이 도시되고 설명되었지만, 해당 기술분야의 통상의 기술자들은 동일한 결과들을 달성하도록 계산된 배열이 제시된 구체적인 실시 예들을 대체할 수 있음을 이해할 것이다. 본 개시는 본 개시의 하나 이상의 실시예의 개조 또는 변형을 포괄하는 것으로 의도된다. 상기한 설명은 제한적인 방식이 아니라, 예시적인 방식으로 이루어진 것으로 이해되어야 한다. 본 개시의 하나 이상의 예의 범위는 첨부된 청구범위를 참조하여, 그러한 청구범위가 권리를 가지는 균등물들의 전체 범위와 함께 결정되어야 한다.

Claims (26)

  1. 메모리 셀들의 어레이에 액세스하는 방법으로서,
    - 메모리 어레이의 복수의 메모리 셀들에 사용자 데이터를 저장하는 단계;
    - 상기 메모리 셀들의 어레이에 연관된 카운터에, 미리 결정된 제1 논리 값을 갖는 상기 사용자 데이터 내의 비트들의 수에 대응하는 카운트 데이터를 저장하는 단계;
    - 상기 메모리 셀들의 어레이에 저장된 상기 사용자 데이터를 판독하기 위해 상기 메모리 셀들에 제1 판독 전압을 인가하는 단계;
    - 상기 카운터에 저장된 상기 카운트 데이터를 판독하고 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 상기 비트들의 수에 대응하는 타겟 값을 제공하기 위해 상기 카운터의 상기 셀들에 제2 판독 전압을 인가하는 단계 ― 상기 판독 전압들의 인가 동안, 상기 카운트 데이터는 상기 사용자 데이터의 판독 동안 상기 타겟 값이 제공되도록 하는 방식으로 상기 사용자 데이터와 동시에 판독됨 ―; 및
    - 상기 카운터의 상기 타겟 값에 기초하여, 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 상기 비트들의 수가 상기 타겟 값에 대응할 때 상기 제1 판독 전압의 인가를 중단하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 사용자 데이터는 일정 범위 내의 제1 논리 상태를 나타내는 비트들의 수의 코드워드로 인코딩되며, 인코딩하는 단계는 상기 범위 내의 상기 논리 값을 나타내는 상기 비트들의 수를 제한하도록 상기 코드워드를 조작하는 단계를 포함하는 것인, 방법.
  3. 제2항에 있어서, 상기 인코딩된 사용자 데이터는 상기 제1 논리 값 및 제2 논리 값을 나타내는 실질적으로 동일한 수의 비트들을 갖는 것인, 방법.
  4. 제1항에 있어서, 상기 카운트 데이터를 저장하는 단계는 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 비트들의 상기 타겟 값과, 코드워드에 저장될 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 비트들의 최소 값 간의 차이를 저장하는 단계를 포함하는 것인, 방법.
  5. 제1항에 있어서, 상기 카운터에 저장된 상기 비트들은 다수결 보팅 방식에 따라 저장되고 판독되는 것인, 방법.
  6. 제1항에 있어서, 상기 카운터가 상기 제1 논리 값을 나타내는 비트들의 알려진 미리 결정된 수를 포함하도록 밸런싱 방식에 따라 상기 카운터를 밸런싱하는 단계를 포함하며, 상기 밸런싱 방식은 상기 카운터를 가외 비트들로 조작하는 단계를 포함하는 것인, 방법.
  7. 제6항에 있어서, 상기 제1 논리 값을 나타내는 상기 카운터 내의 비트들의 상기 미리 결정된 수가 판독될 때 상기 제2 판독 전압을 인가하는 것이 중단되고 상기 타겟 값이 제공되는 것인, 방법.
  8. 제7항에 있어서, 상기 제1 논리 값을 나타내는 상기 카운터 내의 상기 비트들의 미리 결정된 수가 판독되고 상기 타겟 값이 제공될 때까지 상기 제2 판독 전압의 인가를 활성화하기 위한 커맨드를 생성하는 단계를 포함하며, 이어서 상기 타겟 값은 상기 사용자 데이터 내의 상기 비트들의 수가 상기 타겟 값에 대응할 때 상기 사용자 데이터의 판독을 중단하기 위해 사용되는 것인, 방법.
  9. 제1항에 있어서, 상기 카운터 비트들은 상기 카운터 비트들의 최대 수로부터 시작하여 카운트되며, 상기 최대 수는 상기 카운터 비트들이 모두 판독될 때까지 카운터 비트가 판독될 때마다 감분되는 것인, 방법.
  10. 제1항에 있어서, 상기 제2 판독 전압은 상기 제1 판독 전압에 대해 오프셋된 전압인 것인, 방법.
  11. 제1항에 있어서, 상기 사용자 데이터는 에러 정정 코드(Error Correction Code, ECC) 및/또는 차동 셀 방식을 사용하여 보호되는 것인, 방법.
  12. 제1항에 있어서, 상기 메모리 셀들은 상기 메모리 셀들이 상기 제1 논리 상태에 있을 때 더 낮은 크기를 갖는 임계 전압, 및 상기 메모리 셀들이 제2 논리 상태에 있을 때 더 높은 크기를 갖는 임계 전압을 나타내고, 소정의 셀의 논리 상태는 상기 메모리 셀이 상기 인가된 제1 판독 전압에 응답하여 더 높은 크기의 임계 전압을 나타내는지 또는 더 낮은 크기의 임계 전압을 나타내는지에 기초하여 결정되는 것인, 방법.
  13. 제1항에 있어서, 상기 사용자 데이터는 상기 제1 판독 전압의 인가 동안 런타임에 평가되는 것인, 방법.
  14. 제1항에 있어서, 상기 사용자 데이터는 상기 타겟 값이 판독된 후에 평가되는 것인, 방법.
  15. 제1항에 있어서, 상기 메모리 셀들에 인가될 상기 제1 판독 전압의 생성을 위해 상기 타겟 값을 룩업 테이블(Lookup Table, LUT)에 송신하고 상기 룩업 테이블로부터 데이터를 수신하는 단계를 포함하는, 방법.
  16. 메모리 디바이스로서,
    - 메모리 셀들의 어레이;
    - 사용자 데이터 및 카운트 데이터를 포함하는 메모리 어레이 내의 적어도 코드워드 ― 상기 카운트 데이터는 미리 결정된 제1 논리 값을 갖는 상기 사용자 데이터 내의 비트들의 수에 대응함 ―;
    - 상기 메모리 셀들을 판독하기 위한 카운터 기반 방법을 지원하는 메모리 제어기; 및
    - 상기 메모리 셀들을 판독하기 위한 회로를 포함하며, 상기 회로는 상기 메모리 셀들의 어레이와 동작 가능하게 결합되고, 적어도:
    - 액세스 회로로서:
    - 상기 메모리 셀들의 어레이에 저장된 상기 사용자 데이터를 판독하기 위해 상기 메모리 셀들에 제1 판독 전압을 인가하도록; 그리고
    - 상기 카운터에 저장된 상기 카운트 데이터를 판독하고 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 상기 비트들의 수에 대응하는 타겟 값을 제공하기 위해 상기 카운터의 상기 셀들에 제2 판독 전압을 인가하도록 ― 상기 판독 전압들의 인가 동안, 상기 카운트 데이터는 상기 사용자 데이터의 판독 동안 상기 타겟 값이 제공되도록 하는 방식으로 상기 사용자 데이터와 동시에 판독됨 ― 구성된, 상기 액세스 회로; 및
    - 감지 회로로서:
    - 상기 제1 판독 전압의 인가에 응답하여 사용자 데이터를 저장하는 메모리 셀들에 의해 나타나는 임계 전압들을 검출하도록 구성된, 상기 감지 회로를 포함하되,
    상기 카운터의 상기 타겟 값에 기초하여, 상기 제어기는 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 상기 비트들의 수가 상기 타겟 값에 대응할 때 상기 제1 판독 전압의 인가를 중단하도록 구성되는 것인, 메모리 디바이스.
  17. 제16항에 있어서, 상기 감지 회로는 상기 제1 판독 전압에 응답하여 소정의 메모리 셀을 통해 제1 전류를 검출하도록 구성되고, 상기 액세스 회로는 상기 제1 전류의 크기가 제1 임계 전류 이상이라는 검출에 기초하여 상기 소정의 메모리 셀이 상기 제1 논리 상태에 있다고 결정하도록 구성된 것인, 메모리 디바이스.
  18. 제16항에 있어서, 상기 제1 판독 전압은 계단 전압 램프인 것인, 메모리 디바이스.
  19. 제18항에 있어서, 상기 제2 판독 전압은 상기 계단 전압 램프에 대해 오프셋된 제2 전압 램프인 것인, 메모리 디바이스.
  20. 제16항에 있어서, 상기 제어기는 상기 카운터의 상기 타겟 값이 판독될 때까지 상기 사용자 데이터의 판독을 활성화하기 위한 커맨드를 생성하도록 구성되고, 상기 타겟 값에 기초하여, 상기 제어기는 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 상기 비트들의 수가 상기 타겟 값에 대응할 때 상기 사용자 데이터의 판독을 중단하도록 구성된 것인, 메모리 디바이스.
  21. 제16항에 있어서, 상기 카운터의 상기 비트들은 반전되고 상기 회로는 상기 카운터 비트들의 최대 수로부터 상기 카운터 비트들을 카운트하도록 구성되며, 상기 최대 수는 상기 카운터 비트들이 모두 판독될 때까지 카운터 비트가 판독될 때마다 감분되는 것인, 메모리 디바이스.
  22. 제16항에 있어서, 상기 제1 판독 전압의 생성을 위한 정보를 포함하는 룩업 테이블(LUT)을 저장하도록 구성된 것인, 메모리 디바이스.
  23. 제16항에 있어서, 상기 메모리 셀들의 어레이는 자기 선택 메모리(Self-Selecting Memory, SSM) 또는 3D 크로스 포인트(3D X 포인트) 메모리를 포함하는 것인, 메모리 디바이스.
  24. 시스템으로서,
    - 호스트 디바이스; 및
    - 제16항에 따른 메모리 디바이스를 포함하는, 시스템.
  25. 제24항에 있어서, 상기 메모리 디바이스 또는 상기 호스트에 통신 가능하게 결합된 디스플레이, 상기 메모리 디바이스 또는 상기 호스트에 통신 가능하게 결합된 네트워크 인터페이스, 및 상기 시스템에 전력을 제공하도록 결합된 배터리 중 임의의 것을 더 포함하는, 시스템.
  26. 메모리 어레이를 포함하는 수직 3D 메모리 디바이스들에서 메모리 셀들을 프로그래밍 및 판독하는 방법으로서,
    - 사용자 데이터 및 카운트 데이터를 포함하는 코드워드를 상기 메모리 어레이에 저장하는 단계 ― 상기 카운트 데이터는 미리 결정된 제1 논리 값을 갖는 상기 사용자 데이터 내의 비트들의 수에 대응함 ―;
    - 상기 타겟 값과, 상기 코드워드에 저장될 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 비트들의 최소 값 간의 차이를 상기 카운터에 저장하는 단계;
    - 상기 메모리 셀들의 어레이에 저장된 상기 사용자 데이터를 판독하기 위해 상기 메모리 셀들에 판독 전압을 인가하는 단계;
    - 상기 카운터에 저장된 상기 카운트 데이터를 판독하고 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 상기 비트들의 수에 대응하는 타겟 값을 제공하기 위해 상기 카운터의 상기 셀들에 오프셋 판독 전압을 인가하는 단계 ― 상기 판독 전압들의 인가 동안, 상기 카운트 데이터는 상기 사용자 데이터의 판독 동안 상기 타겟 값이 제공되도록 하는 방식으로 상기 사용자 데이터와 동시에 판독됨 ―; 및
    - 상기 카운터의 상기 타겟 값에 기초하여, 상기 제1 논리 값을 갖는 상기 사용자 데이터 내의 상기 비트들의 수가 상기 타겟 값에 대응할 때 상기 판독 전압의 인가를 중단하는 단계를 포함하는, 방법.
KR1020227038423A 2020-05-13 2020-05-13 메모리 셀에 액세스하기 위한 카운터 기반 방법 및 시스템 KR20220163444A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2020/020022 WO2021229260A1 (en) 2020-05-13 2020-05-13 Counter-based methods and systems for accessing memory cells

Publications (1)

Publication Number Publication Date
KR20220163444A true KR20220163444A (ko) 2022-12-09

Family

ID=78525375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227038423A KR20220163444A (ko) 2020-05-13 2020-05-13 메모리 셀에 액세스하기 위한 카운터 기반 방법 및 시스템

Country Status (6)

Country Link
US (2) US11880571B2 (ko)
JP (1) JP2023525118A (ko)
KR (1) KR20220163444A (ko)
CN (1) CN115485776A (ko)
DE (1) DE112020007189T5 (ko)
WO (1) WO2021229260A1 (ko)

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9099174B2 (en) 2012-10-09 2015-08-04 Micron Technology, Inc. Drift acceleration in resistance variable memory
US7414883B2 (en) 2006-04-20 2008-08-19 Intel Corporation Programming a normally single phase chalcogenide material for use as a memory or FPLA
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US8407400B2 (en) 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
KR101861084B1 (ko) 2011-07-11 2018-05-28 삼성전자주식회사 비휘발성 메모리 장치, 이의 동작 방법, 및 비휘발성 메모리 장치를 포함하는 전자 장치
US8693252B2 (en) 2011-07-12 2014-04-08 Samsung Electronics Co., Ltd. Method and system for adjusting read voltage in flash memory device
US8406053B1 (en) 2011-09-21 2013-03-26 Sandisk Technologies Inc. On chip dynamic read for non-volatile storage
US9645177B2 (en) 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
KR20140064434A (ko) 2012-11-20 2014-05-28 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US8995184B2 (en) 2012-12-06 2015-03-31 Sandisk Technologies Inc. Adaptive operation of multi level cell memory
KR20150047821A (ko) 2013-10-25 2015-05-06 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
CN103854700B (zh) 2014-02-28 2018-05-01 北京兆易创新科技股份有限公司 一种非易失性存储器的擦除方法和装置
US9275730B2 (en) 2014-04-11 2016-03-01 Micron Technology, Inc. Apparatuses and methods of reading memory cells based on response to a test pulse
KR20160044923A (ko) 2014-10-16 2016-04-26 에스케이하이닉스 주식회사 복수의 메모리 셀들을 포함하는 반도체 메모리 장치 및 그것의 동작 방법
KR102239868B1 (ko) 2014-11-28 2021-04-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US9613691B2 (en) 2015-03-27 2017-04-04 Intel Corporation Apparatus and method for drift cancellation in a memory
CN107615249B (zh) 2015-05-14 2020-11-27 爱德斯托科技有限公司 存储器装置和控制存储器装置的方法
KR102530071B1 (ko) 2016-03-02 2023-05-08 삼성전자주식회사 페이지 버퍼를 포함하는 불휘발성 메모리 장치 및 그 동작방법
US10446226B2 (en) 2016-08-08 2019-10-15 Micron Technology, Inc. Apparatuses including multi-level memory cells and methods of operation of same
KR20180027710A (ko) 2016-09-06 2018-03-15 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 액세스 방법
US10026486B1 (en) 2017-03-06 2018-07-17 Sandisk Technologies Llc First read countermeasures in memory
IT201700034719A1 (it) 2017-03-29 2018-09-29 Sk Hynix Inc Metodo per controllare le operazioni di verifica di programmazione di una memoria non volatile e relativo circuito
US10229749B2 (en) 2017-03-31 2019-03-12 Samsung Electronics Co., Ltd. Nonvolatile memory storage system
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US11049009B2 (en) 2017-06-12 2021-06-29 Western Digital Technologies, Inc. Identifying memory block write endurance using machine learning
US10347344B2 (en) 2017-08-29 2019-07-09 Micron Technology, Inc. Read voltage calibration based on host IO operations
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
KR102395196B1 (ko) 2017-10-17 2022-05-06 삼성전자주식회사 파라미터 교정 기능을 갖는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10566052B2 (en) 2017-12-22 2020-02-18 Micron Technology, Inc. Auto-referenced memory cell read techniques
US10431301B2 (en) * 2017-12-22 2019-10-01 Micron Technology, Inc. Auto-referenced memory cell read techniques
US10354729B1 (en) 2017-12-28 2019-07-16 Micron Technology, Inc. Polarity-conditioned memory cell write operations
US11087849B2 (en) 2018-05-08 2021-08-10 Sandisk Technologies Llc Non-volatile memory with bit line controlled multi-plane mixed sub-block programming
CN110473581B (zh) 2018-05-09 2020-12-29 建兴储存科技(广州)有限公司 固态储存装置及其相关控制方法
TWI655576B (zh) 2018-06-20 2019-04-01 深圳大心電子科技有限公司 記憶體管理方法以及儲存控制器
US10607693B2 (en) 2018-06-29 2020-03-31 Micron Technology, Inc. Misplacement mitigation algorithm
US10866763B2 (en) * 2018-10-30 2020-12-15 Western Digital Technologies, Inc. Dynamic read based on read statistics
US10658047B1 (en) 2018-10-31 2020-05-19 Micron Technology, Inc. Implementing sticky read using error control success rate associated with a memory sub-system
KR20200054537A (ko) 2018-11-12 2020-05-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11704178B2 (en) 2019-05-14 2023-07-18 Micron Technology, Inc. Estimating a bit error rate of data stored by a memory subsystem using machine learning
US10892029B1 (en) 2019-07-12 2021-01-12 Micron Technology, Inc. Self-adaptive read voltage adjustment using directional error statistics for memories with time-varying error rates
US11455194B2 (en) 2019-07-12 2022-09-27 Micron Technology, Inc. Management of unmapped allocation units of a memory sub-system
US11249679B2 (en) 2019-07-31 2022-02-15 Micron Technology, Inc. Selecting a write operation mode from multiple write operation modes
US10861537B1 (en) 2019-10-30 2020-12-08 Sandisk Technologies Llc Countermeasures for first read issue
US10950315B1 (en) 2019-12-16 2021-03-16 Micron Technology, Inc. Preread and read threshold voltage optimization
US11177009B2 (en) 2019-12-30 2021-11-16 Micron Technology, Inc. Multi-state programming of memory cells
US11315633B2 (en) 2019-12-30 2022-04-26 Micron Technology, Inc. Three-state programming of memory cells
US11199999B2 (en) 2020-01-30 2021-12-14 Micron Technology, Inc. Management of write operations in a non-volatile memory device using a variable pre-read voltage level
JP2023516346A (ja) 2020-03-03 2023-04-19 マイクロン テクノロジー,インク. メモリセルのためのカウンタベースのセンス増幅器の方法
US11139016B1 (en) 2020-04-07 2021-10-05 Micron Technology, Inc. Read refresh operation
US11355209B2 (en) 2020-07-10 2022-06-07 Micron Technology, Inc. Accessing a multi-level memory cell
US11302390B2 (en) 2020-07-10 2022-04-12 Micron Technology, Inc. Reading a multi-level memory cell
US11139034B1 (en) 2020-07-15 2021-10-05 Micron Technology, Inc. Data-based polarity write operations
US11295822B2 (en) 2020-08-14 2022-04-05 Micron Technology, Inc. Multi-state programming of memory cells
US11295811B2 (en) 2020-08-27 2022-04-05 Micron Technology, Inc. Increase of a sense current in memory
US11238945B1 (en) 2020-08-28 2022-02-01 Micron Technology, Inc. Techniques for programming self-selecting memory
US11423988B2 (en) 2020-08-28 2022-08-23 Micron Technology, Inc. Programming techniques for polarity-based memory cells
US11367484B1 (en) 2021-01-21 2022-06-21 Micron Technology, Inc. Multi-step pre-read for write operations in memory devices
US11514983B2 (en) 2021-04-02 2022-11-29 Micron Technology, Inc. Identify the programming mode of memory cells based on cell statistics obtained during reading of the memory cells
US11615854B2 (en) 2021-04-02 2023-03-28 Micron Technology, Inc. Identify the programming mode of memory cells during reading of the memory cells
US11664073B2 (en) 2021-04-02 2023-05-30 Micron Technology, Inc. Adaptively programming memory cells in different modes to optimize performance

Also Published As

Publication number Publication date
WO2021229260A1 (en) 2021-11-18
DE112020007189T5 (de) 2023-04-20
CN115485776A (zh) 2022-12-16
US20230110946A1 (en) 2023-04-13
US20240134533A1 (en) 2024-04-25
US11880571B2 (en) 2024-01-23
JP2023525118A (ja) 2023-06-14

Similar Documents

Publication Publication Date Title
US9881671B2 (en) Resistive memory device, resistive memory system, and method of operating the resistive memory system
US11705211B2 (en) Methods and systems for improving access to memory cells
US20240194272A1 (en) Method and system for accessing memory cells
US11830548B2 (en) Systems and methods for stabilizing cell threshold voltage
US11302391B2 (en) System and method for reading memory cells
US11880571B2 (en) Counter-based methods and systems for accessing memory cells
US11164626B2 (en) Methods and systems for accessing memory cells
US12027230B2 (en) Methods and systems for improving read and write of memory cells
US20220068335A1 (en) Methods and Systems for Improving Read and Write of Memory Cells
US11694748B2 (en) System and method for reading memory cells
US11670368B2 (en) Methods and systems for accessing memory cells
US11769566B2 (en) Programming codewords for error correction operations to memory
US20240038322A1 (en) Performing sense operations in memory
US20230176747A1 (en) Memory device with data scrubbing capability and methods
CN118266027A (en) Cross-point array refresh scheme