KR102172893B1 - 판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스 - Google Patents

판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스 Download PDF

Info

Publication number
KR102172893B1
KR102172893B1 KR1020207006439A KR20207006439A KR102172893B1 KR 102172893 B1 KR102172893 B1 KR 102172893B1 KR 1020207006439 A KR1020207006439 A KR 1020207006439A KR 20207006439 A KR20207006439 A KR 20207006439A KR 102172893 B1 KR102172893 B1 KR 102172893B1
Authority
KR
South Korea
Prior art keywords
memory
read level
calibration
controller
memory device
Prior art date
Application number
KR1020207006439A
Other languages
English (en)
Other versions
KR20200028492A (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 KR20200028492A publication Critical patent/KR20200028492A/ko
Application granted granted Critical
Publication of KR102172893B1 publication Critical patent/KR102172893B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스들 및 시스템들의 여러 실시 예가 개시된다. 일 실시 예에서, 메모리 디바이스는 적어도 하나의 메모리 영역 및 캘리브레이션 회로를 갖는 메인 메모리에 작동 가능하게 결합되는 제어기를 포함한다. 캘리브레이션 회로는 적어도 하나의 메모리 영역에 작동 가능하게 결합되고 적어도 하나의 메모리 영역의 판독 레벨 신호에 대응하는 판독 레벨 오프셋 값을 결정하도록 구성된다. 일부 실시 예에서, 캘리브레이션 회로는 메인 메모리 내부에서 판독 레벨 오프셋 값을 획득하도록 구성된다. 캘리브레이션 회로는 판독 레벨 오프셋 값을 제어기에 출력하도록 더 구성된다.

Description

판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스
개시된 실시 예들은 메모리 디바이스들 및 시스템들, 그리고 특히 판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스들에 관한 것이다.
메모리 디바이스들은 플래시 매체를 채용하여 모바일 디바이스, 개인용 컴퓨터 또는 서버와 같은 호스트 디바이스에 대한 대용량 데이터를 지속적으로 저장할 수 있다. 플래시 매체에는 "NOR 플래시" 및 "NAND 플래시"매체가 포함된다. NAND 기반 매체는 통상적으로 NOR 매체보다 저장 용량이 높고 비용이 적으며 기록 속도가 빠르기 때문에 대용량 데이터 저장에 선호된다. NAND 플래시의 메모리 셀들은 전하를 저장하기 위한 전하 저장 구조(예를 들어, 플로팅 게이트 구조 또는 전하 트래핑 구조)를 채용하여 상이한 데이터 상태들을 나타낸다. 셀들은 전하 저장 구조 내에서 채널로부터 예를 들어, 플로팅 게이트 또는 전하 트래핑 층으로 얇은 유전체 층(예를 들어, 터널 산화물)을 통해 전자들을 전달함으로써 프로그래밍된다. 메모리 셀에 저장된 전하량은 (예를 들어, 플로팅 게이트 또는 전하 트래핑 층 상에 저장된 전자들의 양에 따라) 채널 내에 전도성 경로를 형성하는 데 필요한 전압(들)을 나타내는 하나 이상의 임계 전압을 나타낸다.
플래시 메모리 및 다른 비휘발성 메모리의 하나의 단점은 시간이 지남에 따라 메모리 디바이스가 데이터를 소거하고 메모리에 기록함에 따라 개별 메모리 셀들의 임계 전압들이 변할 수 있다는 것이다. 예를 들어, 다수의 소거 및 기록 사이클에 걸쳐, 전자들은 메모리 셀의 터널 산화물 내에 트래핑되어, 셀의 임계 전압(들)을 점차 증가시킬 수 있다. 이러한 현상은 정정되지 않으면, 메모리 셀에 저장된 데이터를 판독하는 동안 비트 에러들을 초래할 수 있다.
일부 상황에서, 비트 에러들의 수가 코드의 정정 용량을 초과하지 않는 경우, 에러 정정 코드(ECC) 기술들이 비트 에러를 검출 및 정정하기 위해 채용될 수 있다. 그러나, 결국, 메모리 디바이스에서 점점 더 많은 메모리 셀의 터널 산화물 층들 내에 더 많은 전자가 트래핑될 때, (예를 들어, 편이된 임계 전압들로 인해) 판독할 수 없는 데이터 상태들을 갖는 메모리 셀들의 수가 ECC의 정정 용량을 초과할 수 있다. 이럴 경우 메모리 제어기는 영향을 받은 메모리 영역들에서 더 이상 데이터를 효율적으로 또는 적절하게 판독할 수 없다.
도 1은 본 기술의 일 실시예에 따라 구성된 메모리 디바이스를 갖는 시스템의 블록도이다.
도 2는 본 기술의 일 실시 예에 따른 메모리 디바이스의 구성요소들 간 다양한 데이터 교환을 도시하는 메시지 흐름도이다.
도 3a 및 3b는 메모리 디바이스의 메모리 영역 내 메모리 셀의 인가된 전압에 대한 채널 전류의 도해들이다.
도 4a 내지 도 4e는 본 기술에 따른 메모리 영역의 판독 레벨 캘리브레이션을 도시하는 다양한 도해, 표 및 도표이다.
도 5a 및 도 5b는 본 기술의 일 실시 예에 따른 메모리 디바이스를 작동시키는 방법들을 도시하는 흐름도들이다.
도 6은 본 기술의 실시 예들에 따른 메모리 디바이스를 포함하는 시스템의 개략도이다.
아래에 더 상세히 설명될 바와 같이, 본 기술은 판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스들 및 관련 시스템들에 관한 것이다. 그러나, 해당 기술분야의 통상의 기술자는 본 기술이 추가 실시 예들을 가질 수 있고 본 기술은 도 1 내지 도 6을 참조하여 아래에 설명될 실시 예들의 세부 사항들 중 몇몇 없이도 실시될 수 있다는 것을 이해할 것이다. 아래에 예시된 실시 예들에서, 메모리 디바이스들은 NAND 기반 저장 매체(예를 들어, NAND 플래시)를 통합하는 디바이스들의 상황에서 설명된다. 그러나, 본 기술의 다른 실시 예들에 따라 구성된 메모리 디바이스들은 다른 유형들의 메모리 디바이스들을 포함할 수 있고/있거나 NAND 기반(예를 들어, NOR 기반)이 아니거나 단지 부분적으로 NAND 기반인 메인 메모리들을 포함할 수 있다.
본 기술의 일 실시 예는 제어기 및 메인 메모리를 포함하는 메모리 디바이스다. 메인 메모리는 복수의 메모리 셀을 갖는 메모리 영역을 포함한다. 메인 메모리는 또한 메모리 영역에 작동 가능하게 결합되는 캘리브레이션 회로를 포함한다. 캘리브레이션 회로는 (1) 메모리 영역의 부분들에 대응하는 복수의 판독 레벨 테스트 신호의 각각에 대한 성능 특성을 측정하도록; (2) 성능 특성들에 기초하여 판독 레벨 오프셋 값을 결정하도록; 그리고 (3) 판독 레벨 오프셋 값을 제어기에 출력하도록 구성된다.
판독 레벨 오프셋 값은 메모리 영역의 부분에 대한 대응하는 현재 판독 레벨 신호를 업데이트하는 데 사용될 수 있다. 이러한 방식으로, 메모리 디바이스의 메인 메모리에 대한 현재 판독 레벨 신호들은 메인 메모리의 메모리 셀들에서의 임계 전압들의 편이를 고려하기 위해 캘리브레이션될 수 있으며, 이 결과 비트 에러들의 발생을 감소시키고 메모리 디바이스의 수명을 증가시킨다.
도 1은 본 기술의 일 실시예에 따라 구성된 메모리 디바이스(100)를 갖는 시스템(101)의 블록도이다. 도시된 바와 같이, 메모리 디바이스(100)는 메인 메모리(102)(예를 들어, NAND 플래시) 및 메인 메모리(102)를 호스트 디바이스(108)(예를 들어, 업스트림 중앙 프로세서(CPU))에 작동 가능하게 결합시키는 제어기(106)를 포함한다. 메인 메모리(102)는 복수의 메모리 영역, 또는 각각이 복수의 메모리 셀(122)을 포함하는 메모리 유닛(120)을 포함한다. 메모리 유닛들(120)은 개개의 메모리 다이들, 단일 메모리 다이 내의 메모리 평면들, 실리콘 관통 비아들(TSV, through-silicon via)과 수직으로 연결되는 메모리 다이들의 스택 등일 수 있다. 일 실시 예에서, 메모리 유닛들(120)의 각각은 반도체 다이로 형성될 수 있고 다른 메모리 유닛 다이들과 단일 디바이스 패키지(도시되지 않음)에 배열될 수 있다. 다른 실시 예들에서, 메모리 유닛들(120)의 하나 이상은 단일 다이 상에 함께 위치될 수 있고/있거나 다수의 디바이스 패키지에 걸쳐 분산될 수 있다. 메모리 셀들(122)은 예를 들어, 플로팅 게이트, 전하 트랩, 상 변화, 강유전성, 자기 저항성 및/또는 데이터를 영구적으로 또는 반영구적으로 저장하도록 구성된 다른 적합한 저장 요소들을 포함할 수 있다. 메인 메모리(102) 및/또는 개개의 메모리 유닛들(120)은 또한 메모리 셀들(122)에 액세스 및/또는 프로그래밍(예를 들어, 기록)하기 위해 그리고 이를테면 정보 처리 및/또는 제어기(106)와의 통신을 위한 다른 기능을 위해, 멀티플렉서, 디코더, 버퍼, 판독/기록 드라이버, 어드레스 레지스터, 레지스터의 데이터 출력데이터 입력 등과 같은 다른 회로 구성요소들(도시되지 않음)을 포함할 수 있다.
메모리 셀들(122)은 로우들(124)(예를 들어, 각각 워드 라인에 대응) 및 컬럼들(126)(예를 들어, 각각 비트 라인에 대응)로 배열될 수 있다. 또한, 인접한 워드 라인들(124)은 메모리 블록(128)을 구성하는 하나 이상의 워드 라인 그룹으로 배열될 수 있다. 각 워드 라인(124)은 해당 워드 라인(124)의 메모리 셀들(122)이 저장하도록 구성되는 데이터 상태들의 수에 따라, 하나 이상의 메모리 페이지에 걸쳐 이어질 수 있다. 예를 들어, 각 메모리 셀(122)이 두 데이터 상태 중 하나를 저장하는 메모리 셀들(122)(예를 들어, 각각 1 비트를 저장하도록 구성된 SLC 메모리 셀들)의 단일 워드 라인(124)은 단일 메모리 페이지에 걸쳐 이어질 수 있다. 대안적으로, 각 메모리 셀(122)이 네 데이터 상태 중 하나를 저장하는 메모리 셀들(122)(예를 들어, 각각 2 비트를 저장하도록 구성된 MLC 메모리 셀들)의 단일 워드 라인(124)은 두 개의 메모리 페이지에 걸쳐 이어질 수 있다. 또한, 단일 워드 라인(124)의 홀수 번째 컬럼들(126)의 모든 메모리 셀(122)이 제1 메모리 페이지로 그룹화되고, 동일한 워드 라인(124)의 짝수 번째 컬럼들(126)의 모든 메모리 셀(122)이 제2 메모리 페이지로 그룹화되는 "짝수-홀수 비트 라인 아키텍처"에서, 메모리 페이지들은 인터리빙될 수 있어서 각 셀(예를 들어, SLC 메모리 셀들)에 두 데이터 상태 중 하나를 저장하도록 구성된 메모리 셀들(122)로 구성된 워드 라인(124)은 두 개의 메모리 페이지에 걸쳐 이어질 수 있다. 짝수-홀수 비트 라인 아키텍처가 각 셀(예를 들어, MLC, TLC, QLC 등으로 구성된 메모리 셀들)에 더 많은 수의 데이터 상태를 저장하는 메모리 셀들(122)의 워드 라인(124)에 이용될 때, 워드 라인 당(124) 메모리 페이지들의 수는 훨씬 더 높을 수 있다(예를 들어, 4, 6, 8 등).
각 컬럼(126)은 공통 소스에 일련의 직렬 결합 메모리 셀(122)을 포함할 수 있다. 각 스트링의 메모리 셀들(122)은 소스 선택 트랜지스터(예를 들어, 전계 효과 트랜지스터)와 드레인 선택 트랜지스터(예를 들어, 전계 효과 트랜지스터) 사이에 직렬로 연결될 수 있다. 소스 선택 트랜지스터들은 소스 선택 라인에 공통으로 결합될 수 있고, 드레인 선택 트랜지스터들은 드레인 선택 라인에 공통으로 결합될 수 있다.
다른 실시 예들에서, 메모리 셀들(122)은 도시된 실시 예들에 도시된 것들과 상이한 유형들의 그룹들 및/또는 계층들로 배열될 수 있다. 또한, 예시를 위해 도시된 실시 예들에서 특정 수의 메모리 셀, 로우, 컬럼, 블록 및 메모리 유닛으로 도시하였지만, 다른 실시 예들에서, 메모리 셀들, 로우들, 컬럼들, 블록들 및 메모리 유닛들의 수는 다양할 수 있고 도시된 예들에 도시된 것보다 규모가 더 크거나 작을 수 있다. 예를 들어, 일부 실시 예에서, 메모리 디바이스(100)는 단지 하나의 메모리 유닛(120)을 포함할 수 있다. 대안적으로, 메모리 디바이스(100)는 2, 3, 4, 8, 10 이상(예를 들어, 16, 12, 64 이상)의 메모리 유닛(120)을 포함할 수 있다. 메모리 유닛들(120)이 각각 두 개의 메모리 블록(128)을 포함하는 것으로 도 1에 도시되어 있지만, 다른 실시 예들에서, 각 메모리 유닛(120)은 1, 3, 4 8 이상(예를 들어, 16, 32, 64, 100, 128, 256 이상)의 메모리 블록을 포함할 수 있다. 일부 실시 예에서, 각 메모리 블록(128)은 예를 들어, 215개의 메모리 페이지를 포함할 수 있고, 블록 내의 각 메모리 페이지는 예를 들어, 212개의 메모리 셀(122)(예를 들어, "4k" 페이지)을 포함할 수 있다.
메인 메모리(102)는 메모리 유닛들(120) 중 적어도 하나에 작동 가능하게 결합되는 캘리브레이션 구성요소 또는 캘리브레이션 회로(110)를 더 포함한다. 일부 실시 예에서, 캘리브레이션 회로(110)는 개개의 메모리 유닛(120)과 동일한 메모리 다이 상에 위치될 수 있다. 이러한 그리고 다른 실시 예들에서, 캘리브레이션 회로(110)는 상이한 다이 상의 메모리 유닛들을 포함하여, 대응하는 메모리 유닛(120) 또는 다수의 메모리 유닛에 전용될 수 있다. 캘리브레이션 회로(110)는 멀티플렉서, 디코더, 버퍼, 판독/기록 드라이버, 어드레스 레지스터, 레지스터의 데이터 출력/데이터 입력 등과 같은 회로 구성요소들을 포함할 수 있다. 일부 실시 예에서, 캘리브레이션 회로(110)는 메모리 셀들(122)에 액세스 및/또는 프로그래밍(예를 들어, 판독 및/또는 기록)하기 위해 그리고/또는 이를테면 정보 처리 및/또는 제어기(106)와의 통신을 위한 다른 기능을 제공하기 위해 사용되는 다른 온-칩 회로와 별개의 회로 일 수 있다.
제어기(106)는 마이크로 제어기, 특수 목적 논리 회로(예를 들어, 필드 프로그램 가능 게이트 어레이(FPGA, field programmable gate array), 주문형 반도체ASIC, application specific integrated circuit) 등), 또는 다른 적합한 프로세서일 수 있다. 제어기(106)는 메모리에 저장된 지시들을 실행하도록 구성된 프로세서(130)를 포함할 수 있다. 예시된 예에서, 제어기(106)의 메모리는 메인 메모리(102)를 관리하고 메모리 디바이스(100)와 호스트 디바이스(108) 간 통신을 핸들링하는 것을 포함하여, 메모리 디바이스(100)의 동작을 제어하기 위한 다양한 프로세스, 논리 흐름 및 루틴을 수행하도록 구성된 내장 메모리(132)를 포함한다. 일부 실시 예에서, 내장 메모리(132)는 예를 들어, 메모리 포인터, 페치된 데이터 등을 저장하는 메모리 레지스터들을 포함할 수 있다. 내장 메모리(132)는 또한 마이크로 코드를 저장하기 위한 판독 전용 메모리(ROM)를 포함할 수 있다. 도 1에 도시된 예시적인 메모리 디바이스(100)는 제어기(106)를 포함하는 것으로 도시되었지만, 본 기술의 다른 실시 예에서, 메모리 디바이스는 제어기를 포함하지 않고 대신에 외부 제어(예를 들어, 외부 호스트에 의해, 또는 메모리 디바이스와 별개의 프로세서 또는 제어기에 의해 제공되는)에 의존할 수 있다.
동작 시, 제어기(106)는 이를테면 메모리 페이지들의 그룹들 및/또는 메모리 블록들(128)에 기록함으로써 메인 메모리(102)의 다양한 메모리 영역을 직접 기록하거나 그 외 프로그래밍(예를 들어, 소거)할 수 있다. NAND 기반 메모리에서, 기록 동작은 보통 선택된 메모리 페이지들의 메모리 셀들(122)을 특정 데이터 값들(예를 들어, 논리 0 또는 논리 1의 값을 갖는 데이터 비트들의 스트링)로 프로그래밍하는 것을 포함한다. 소거 동작은 소거 동작이 전체 메모리 블록(128) 또는 다수의 메모리 블록(128)을 동일한 데이터 상태(예를 들어, 논리 0)로 재프로그래밍하는 것을 제외하고는, 기록 동작과 유사하다.
제어기(106)는 호스트-디바이스 인터페이스(115)를 통해 호스트 디바이스(108)와 통신한다. 일부 실시 예에서, 호스트 디바이스(108) 및 제어기(106)는 직렬 인터페이스, 이를테면 직렬 연결 SCSI(SAS), 직렬 AT 연결(SATA) 인터페이스, 주변 구성요소 상호 연결 익스프레스(PCIe, peripheral component interconnect express) 또는 다른 적합한 인터페이스(예를 들어, 병렬 인터페이스)와 같은 직렬 인터페이스를 통해 통신할 수 있다. 호스트 디바이스(108)는 다양한 요청을 (예를 들어, 패킷 또는 패킷들의 스트림의 형태로) 제어기(106)에 송신할 수 있다. 요청은 정보를 기록, 소거, 반환하고/거나 특정 동작(예를 들어, TRIM 동작)을 수행하기 위한 명령을 포함할 수 있다.
제어기(106)는 또한 메인 메모리(102)로부터 프로그래밍 및 판독하는 데 사용되는 신호들을 캘리브레이션할 수 있다. 아래에 설명될 다양한 실시 예에서, 제어기(106)는 캘리브레이션 회로(110)에 메인 메모리(102)의 하나 이상의 메모리 영역을 자기 캘리브레이션할 것을 지시하기 위한 캘리브레이션 신호를 캘리브레이션 회로(110)에 송신할 수 있으며, 이는 개개의 메모리 셀들(122), 이를테면 선택된 메모리 셀들(122)의 그룹(예를 들어, 워드 라인과 연관된 다수의 메모리 페이지; 도시되지 않음)의 데이터 상태를 판독하는 데 사용되는 시그널링(예를 들어, 전압 시그널링)을 개선 또는 최적화할 수 있다.
도 2는 본 기술의 일 실시 예에 따른 메인 메모리(102)(도 1)와 메모리 디바이스(100)(도 1)의 제어기(106)(도 1) 및/또는 호스트 디바이스(108)(도 1)사이의 다양한 데이터 교환을 도시하는 메시지 흐름도이다. 제어기(106)는 메인 메모리(102)에 판독 요청(230)을 전송함으로써 메인 메모리(102)로부터 판독할 수 있다. 판독 요청(230)은 메인 메모리(102) 내의 하나 이상의 메모리 영역의 물리적 어드레스 및/또는 해당 메모리 영역들의 판독 레벨 신호들(예를 들어, 판독 레벨 전압들)을 포함할 수 있다. 판독 요청(230)에 응답하여, 메인 메모리(102)는 판독 레벨 신호들을 대응하는 메모리 영역들에 인가하고 메모리 영역들 내의 메모리 셀들(122)(도 1) 상에 저장된 데이터 상태들을 판독할 수 있다. 메인 메모리(102)는 판독 데이터 반환 메시지(231)에 메모리 셀들(122)의 데이터 상태들을 제어기(106)에 반환할 수 있다.
제어기(106)는 또한 메인 메모리(102) 내의 하나 이상의 선택 메모리 영역의 판독 레벨 신호들을 주기적으로 캘리브레이션할 수 있다. 판독 레벨 신호들은 예를 들어, 메모리 영역들 내의 메모리 셀들의 하나 이상의 임계 전압의 편이를 고려하기 위해 주기적으로 캘리브레이션될 수 있다. 메인 메모리(102) 내의 선택된 메모리 영역들의 판독 레벨 신호들을 캘리브레이션하기 위해, 제어기(106)는 캘리브레이션 명령(232)을 메인 메모리(102)에 송신할 수 있다. 캘리브레이션 명령(232)은 선택된 메모리 영역들의 물리적 어드레스들 및/또는 선택된 메모리 영역들의 현재 판독 레벨 신호들(예를 들어, 디폴트 판독 레벨 신호들 및/또는 이전에 캘리브레이션된 판독 레벨 신호들)을 포함할 수 있다. 본 기술의 일 실시 예에 따르면, 메인 메모리(102)는 캘리브레이션 명령(232)에 응답하여 선택된 메모리 영역들을 캘리브레이션할 수 있다. 캘리브레이션의 부분으로서, 메인 메모리(102)는 선택된 메모리 영역들의 현재 판독 레벨 신호들로부터 계산된 오프셋들을 나타낼 수 있는 하나 이상의 판독 레벨 오프셋 값(233)을 제어기(106)에 반환할 수 있다. 그 다음 제어기(106)는 선택된 메모리 영역들에 대해 개선된 판독 레벨 신호에 도달하도록 현재 판독 레벨 신호들을 업데이트하는 데 판독 레벨 오프셋 값들(233)을 사용할 수 있다. 그 다음 제어기(106) 및 호스트 디바이스(108)는 캘리브레이션된 판독 레벨 신호들을 사용하여 메인 메모리(102)를 계속해서 프로그래밍 및/또는 판독할 수 있다.
도 2에 도시된 바와 같이, 본 기술에 따른 판독 레벨 캘리브레이션은 메인 메모리(102) 내부에서 일어난다. 그에 따라, 본 기술은 제어기(106)와 메인 메모리(102) 사이에 다수의 메시지가 필요하지 않기 때문에 판독 레벨 캘리브레이션을 수행하는 데 필요한 시간을 크게 최소화시킨다. 예를 들어, 본 기술의 일 실시 예에 따르면, 제어기(106)는 단일 캘리브레이션 신호(232)를 메인 메모리(102)에 송신한다. 이에 응답하여, 메인 메모리(102)의 캘리브레이션 회로(110)는 내부적으로 판독 레벨 캘리브레이션을 수행하고(아래에 더 상세히 설명될 바와 같이) 판독 레벨 오프셋 값(233)을 제어기(106)에 출력한다. 그에 따라, 제어기(106)는 판독 레벨 캘리브레이션 동안 하나 이상의 선택된 메모리 영역을 캘리브레이션하기 위해 다수의 판독 신호를 메인 메모리(102)에 송신할 필요가 없다. 따라서, 본 기술에 따른 판독 레벨 캘리브레이션의 실행 시간이 감소되어, 다른 요청들 및/또는 작업들을 수행할 메모리 디바이스(100)를 확보한다.
도 3a 및 3b는 메인 메모리(102)(도 1)의 메모리 영역 내의 메모리 셀들(122)(도 1) 중 하나와 같은 메모리 셀의 인가된 전압에 대한 채널 전류의 도해들이다. 도 3a를 참조하면, 메모리 셀은 각각, 제1 데이터 상태(예를 들어,"0") 및 제2 데이터 상태(예를 들어, "1")로 프로그래밍된 메모리 셀의 채널에 전도성 경로를 생성하는 데 필요한 전압들을 나타내는 제1 데이터 상태 임계 전압(VT1) 및 제2 데이터 상태 임계 전압(VT2)을 갖는다. 메모리 셀을 포함하는 메모리 영역은 제1 데이터 상태 임계 전압(VT1)과 제2 데이터 상태 임계 전압(VT2) 사이의 판독 레벨 신호(Va)(예를 들어, 판독 레벨 전압)를 갖는다. 판독 레벨 신호(Va)가 메모리 영역에 인가됨에 따라, 메모리 셀 상에 저장된 데이터 상태는 메모리 셀로부터 결정(예를 들어, 판독)될 수 있다. 예를 들어, 판독 레벨 신호(Va)가 메모리 영역에인가되고 판독 레벨 신호(Va)에 응답하여 메모리 셀로부터 판독된 전류가 무시할 수 없는 경우(예를 들어, 0이 아니고/거나 임계값을 초과), 메모리 셀에 저장된 데이터 상태는 제1 데이터 상태(예를 들어, "0")인 것으로 결정된다. 그러나, 메모리 셀로부터 판독된 전류가 무시할 수 있는 경우(예를 들어, 0 및/또는 임계 값 미만), 도 3a에 도시된 메모리 셀 상에 저장된 데이터 상태는 제2 데이터 상태(예를 들어, "1")인 것으로 결정된다.
일부 메모리 디바이스에서, 메모리 영역의 판독 레벨 신호들은 메모리 디바이스의 제조사에 의해 초기에(예를 들어, 제조 또는 초기 구성 시) 프로그래밍되고 그 후 메모리 디바이스의 수명 동안 변경되지 않고 유지될 수 있다. 그러나, 메모리 영역이 반복적으로 프로그래밍 및/또는 소거될 때, 메모리 영역 내의 메모리 셀들의 임계 전압들은 변할 수 있다(예를 들어, 전자들의 터널 산화물들에의 트래핑으로 인해). 도 3b는 본 기술의 일 실시 예에 따른 메모리 셀의 임계 전압들에 대한 이러한 현상의 영향을 도시한다. 도 3b에 도시된 실시 예에서, 제1 데이터 상태 임계 전압(VT1) 및 제2 데이터 상태 전압(VT2)은 메모리 셀을 포함하는 메모리 영역의 판독 레벨 신호(Va)와 관련하여 증가되었다. 도시된 바와 같이, 판독 레벨 신호(Va)를인가하는 것은 메모리 셀이 제1 데이터 상태로 프로그래밍되었는지 또는 제2 데이터 상태로 프로그래밍되었는지에 관계 없이 메모리 셀로부터 무시할 수 있는 전류가 판독되게 할 것이다. 다시 말해, 메모리 영역의 판독 레벨 신호에 관한 메모리 셀의 임계 전압들의 편이는 해당 메모리 셀로부터의 비트 에러의 가능성을 증가시킨다. 비트 에러들의 발생이 메모리 영역 내의 다수의 메모리 셀에 걸쳐 점차 증가하기 시작함에 따라, 에러 코드 정정(ECC, error code correction) 기술들은 결국 효과적이지 못하게 되며, 이 시점에서 제어기(106)(도 1)는 메모리 영역에 저장된 데이터를 적절하게 판독할 수 없을 수 있다. 그에 따라, 메모리 디바이스 내의 메모리 영역들의 판독 레벨 신호들을 캘리브레이션하는 것은 메모리 디바이스의 수명을 상당히 증가시킬 수 있다.
도 3a 및 도 3b의 메모리 셀은 두 개의 임계 전압으로 도시되어 있지만, 메모리 셀들은 둘보다 많은 데이터 상태(예를 들어, 넷, 여덟 등의 데이터 상태)를 나타내는 상이한 수의 임계 전압(예를 들어, 4, 8개 등의 임계 전압)을 가질 수 있다. 유사하게, 이러한 메모리 셀들을 포함하는 메모리 영역들은 하나보다 많은 판독 레벨 신호(예를 들어, 3, 7개 등의 판독 레벨 신호)를 가질 수 있다. 더 많은 수의 임계 전압을 갖는 메모리 셀들(예를 들어, MLC 메모리 셀들 및 TLC 메모리 셀들)은 메모리 셀들 내의 데이터 상태들 간 공차들이 더 작기 때문에 비트 에러들이 발생하기 쉽다. 그에 따라, 이러한 메모리 셀들의 임계 전압들의 작은 편이조차도 더 적은 임계 전압을 갖는 메모리 셀들(예를 들어, SLC 메모리 셀들)에서보다 더 적은 기록 및 소거 사이클 내에서 비트 에러들을 유발하기 시작할 수 있다. 따라서, 더 많은 수의 임계 전압을 갖는 메모리 셀들을 포함하는 메모리 영역들은 판독 레벨 신호 캘리브레이션으로부터 더 큰 이득을 입을 수 있다.
도 4a 내지 도 4e는 본 기술의 실시 예들에 따른 메모리 영역의 판독 레벨 캘리브레이션을 도시하는 다양한 도해, 표 및 도표이다. 메인 메모리(102)(도 1)가 예를 들어, 메모리 영역의 물리 어드레스(들)를 포함하는 제어기(106)(도 1)로부터 캘리브레이션 명령(232)(도 2)을 수신한 후, 메인 메모리(102)의 캘리브레이션 회로(110)(도 1)는 메모리 영역의 현재 판독 레벨 신호들(예를 들어, 현재 판독 레벨 전압들) 중 하나 이상을 캘리브레이션하기 위해 메모리 영역에 다양한 테스트 신호(예를 들어, 테스트 전압)를 인가할 수 있다. 전류 판독 레벨 신호들은 제조사에 의해 초기에 프로그래밍된 디폴트 판독 레벨 신호들(예를 들어, 디폴트 판독 레벨 전압들)일 수 있고/있거나 현재 판독 레벨 신호들은 이전에 캘리브레이션된 판독 레벨 신호들일 수 있다. 도 4a 내지 도 4e에 도시된 실시 예에서, 메모리 영역의 현재 판독 레벨 신호(VA)(예를 들어, 판독 레벨 신호(Va);도 3a 및 도 3b)의 판독 레벨 캘리브레이션이 도시되어 있다. 도 4a의 도해(440)에 도시된 바와 같이, 캘리브레이션 회로(110)는 도시된 메모리 셀을 포함하는 메모리 영역에 다섯 개의 테스트 신호를 인가한다. 보다 구체적으로, 캘리브레이션 회로(110)는 현재 판독 레벨 신호(VA)(즉, 중앙 테스트 신호(VA)), 중앙 테스트 신호(VA)) 위로 오프셋된(예를 들어, 20 mV 간격들로) 두 개의 상측 테스트 신호(VU1, VU2) 및 중앙 테스트 신호(VA)) 아래로 오프셋된(예를 들어, 20 mV 간격들로) 두 개의 하측 테스트 신호(VL1, VL2)를 인가한다. 다른 실시 예들에서, 캘리브레이션 회로(110)는 상이한 수의 테스트 신호(예를 들어, 3, 7, 9개 등의 테스트 신호)를 메모리 영역에 인가할 수 있고/있거나 상이한 배열의 테스트 신호들(예를 들어, 세 개의 상측 테스트 신호 및 하나의 하측 테스트 신호 또는 그 반대)을 메모리 영역에 인가할 수 있다. 이러한 그리고 및 다른 실시 예들에서, 테스트 신호들은 균일하게 이격될 수 있고/있거나 테스트 신호들 간 간격이 달라질 수 있다.
도 4b 및 도 4c를 참조하면, 캘리브레이션 회로(110)가 테스트 신호들의 각각을 메모리 영역에 인가함에 따라, 캘리브레이션 회로(110)는 특정 데이터 상태(예를 들어, 임계값을 초과하는 전류 및/또는 임계값 미만의 전류)를 출력하는 메모리 영역 내의 메모리 셀들의 수(즉, 카운트)를 결정할 수 있다. 도 4b에 도시된 실시 예에서, 캘리브레이션 회로(110)는 테스트 신호들(VL2, VL1, VA, VU1, VU2)의 각각이 메모리 영역에 인가될 때 카운트를 결정한다. 도 4b의 표(450)에 제시된 바와 같이, 캘리브레이션 회로(110)가 하측 테스트 신호(VL2)를 메모리 영역에 인가할 때, 586개의 메모리 셀이 특정 데이터 상태를 출력한다. 유사하게, 캘리브레이션 회로(110)가 하측 테스트 신호(VL1)를 인가할 때, 534개의 메모리 셀이 특정 데이터 상태를 출력하고; 캘리브레이션 회로(110)가 중앙 테스트 신호(VA)를 인가할 때, 493개의 메모리 셀이 특정 데이터 상태를 출력하고; 캘리브레이션 회로(110)가 상측 테스트 신호(VU1)를 인가할 때, 467개의 메모리 셀이 특정 데이터 상태를 출력하며; 캘리브레이션 회로(110)가 상측 테스트 신호(VU2)를 메모리 영역에 인가할 때, 411개의 메모리 셀이 특정 데이터 상태를 출력한다.
캘리브레이션 회로(110)는 각 테스트 신호가 메모리 영역에 인가될 때 특정 데이터 상태를 출력하는 메모리 셀들의 수를 나타내는 카운트들을 획득 한 후, 캘리브레이션 회로(110)는 인접한 테스트 신호들에 대응하는 카운트들 간 카운트 차이들을 계산할 수 있다. 예를 들어,도 4b의 표(450)에 제시된 바와 같이, 캘리브레이션 회로(110)는 다음과 같이 네 개의 카운트 차이(cd1-cd4)를 계산한다: (1) 하측 테스트 신호(VL2)와 하측 테스트 신호(VL1) 간 카운트 차이; (2) 하측 테스트 신호(VL1)와 중앙 테스트 신호(VA) 간 카운트 차이; (3) 중앙 테스트 신호(VA)와 상측 테스트 신호(VU1) 간 카운트 차이; 및 (4) 상측 테스트 신호(VU1)와 상측 테스트 신호(VU2) 간 카운트 차이. 캘리브레이션 회로(110)는 카운트 차이들을 비교하여 최소 카운트 차이를 결정할 수 있다. 도 4b의 표(450) 및 도 4c의 히스토그램(460)에 제시된 바와 같이, 카운트 차이(cd3)(즉, 중앙 테스트 신호(VA)와 상측 테스트 신호(VU1) 간 차이)는 도 4a 내지 도 4e에 예시된 실시 예에서 최소 카운트 차이(m)인 것으로 결정된다.
이제 도 4d를 참조하면, 캘리브레이션 회로(110)가 최소 카운트 차이를 획득하면, 캘리브레이션 회로(110)는 다른 카운트 차이들과 최소 카운트 차이 간 차이들(즉, 최소 카운트 차이에 관한 차이들)을 계산할 수 있다. 예를 들어, 도 4d의 표(470)에 제시된 바와 같이, 캘리브레이션 회로(110)는 카운트 차이들(cd1, cd2, cd4)의 각각과 최소 카운트 차이(m)(즉, 카운트 차이(cd3)) 간 상대적인 차이들(rd1-rd3)을 계산할 수 있다. 도시된 실시 예에 도시된 바와 같이, 카운트 차이(cd1)와 최소 카운트 차이(m) 간 상대적인 차이(rd1)는 26이다. 유사하게, 카운트 차이(cd2)와 최소 카운트 차이(m) 간 상대적인 차이(rd2)는 15이고, 최소 카운트 차이(m)와 카운트 차이(cd4) 간 상대적인 차이(rd2)는 -29이다. 도시된 실시 예에서 상대적인 차이(rd3)는 음의 값으로 표현되는데, 이는 이러한 상대적인 차이가 최소 카운트 차이(m) 위로 그리고 그것의 오른쪽으로 오프셋된 테스트 신호들, 카운트들 및 카운트 차이에 대응하기 때문이다.
캘리브레이션 회로(110)가 다른 카운트 차이들과 최소 카운트 차이 간 상대적인 차이들을 계산한 후, 캘리브레이션 회로(110)는 반대 부호들을 갖는 인접한 상대적인 차이들 간(즉, 최소 카운트 차이에 인접한 그리고 그것 주변의 카운트 차이들에 대응하는 상대적인 차이들 간) 값을 외삽법으로 추정할 수 있다. 도 4e는 외삽법 계산을 그래프로 나타내는 도해(480)이다. 도시된 바와 같이, 상대적인 차이(rd2)의 그래프 표현과 상대적인 차이(rd3)의 그래프 표현 사이에서 부호 변화가 일어난다. 그에 따라, 상대적인 차이(rd2)와 상대적인 차이(rd3)는 최소 카운트 차이(m)에 인접하고 그것 주변의 카운트 차이들에 대응하는 상대적인 차이들이다. 그에 반해, 상대적인 차이(rd1)의 그래프 표현과 상대적인 차이(rd2)의 그래프 표현 사이에서는 부호 변화가 일어나지 않는다. 따라서, 캘리브레이션 회로(110)는 도시된 실시 예에서 상대적인 차이(rd2)와 상대적인 차이(rd3) 사이의 값(483)을 외삽법으로 추정한다. 도 4e의 도해(480)에서, 상대적인 차이(rd2)의 그래프 표현과 상대적인 차이(rd3)의 그래프 표현의 피크들을 가로지르는 외삽법 곡선(482)이 도시되어 있다. 이러한 실시 예에서, 외삽법으로 추정된 값(483)은 외삽법 곡선(492)이 도해(480)의 x-축과 교차하는 지점에 대응한다. 이러한 외삽법 추정 다음, 캘리브레이션 회로(110)는 현재 판독 레벨 신호(예를 들어, 중앙 테스트 전압(VA))과 외삽법으로 추정된 값 사이의 거리에 대응하는 판독 레벨 오프셋 값을 결정할 수 있다.
일부 실시 예에서, 판독 레벨 오프셋 값은 정수 값(예를 들어, 바이트 및/또는 부호 있는 정수 값)으로서의 더 용이한 저장을 가능하게 하기 위해 가장 가까운 오프셋 스텝 값(예를 들어, 가장 가까운 5 mV 또는 10 mV 오프셋 스텝 값)으로 반올림될 수 있다. 예를 들어, 중앙 테스트 신호(VA) 및 상측 테스트 신호(VU1)가 20 mV만큼 떨어져 있는 도 4e에 도시된 실시 예에서, 판독 레벨 오프셋 값은 중앙 테스트 신호(VA) 위 약 7 mV의 오프셋을 나타낼 수 있다. 메모리 디바이스가 판독 레벨 오프셋 값들을 가장 가까운 ±10 mV 오프셋 스텝 값으로 반올림하도록 구성된다면, +7 mV의 판독 레벨 오프셋 값은 +10 mV의 값으로 반올림될 것이다(예를 들어, 캘리브레이션 회로(110)는 판독 레벨 신호가 중앙 테스트 신호(VA) 위로 약 10 mV이어야 함을 나타내는 +10 mV의 값을 반환할 것이다). 유사하게, 판독 레벨 오프셋 값이 다른 메모리 영역에 대해 중앙 테스트 신호(VA) 위로 4 mV인 것으로 계산되고, 메모리 디바이스가 판독 레벨 오프셋 값을 가장 가까운 ±10 mV 오프셋 스텝 값으로 반올림하도록 구성된다면, +4 mV의 판독 레벨 오프셋 값은 0 mV의 값으로 반올림될 것이다(예를 들어, 캘리브레이션은 판독 레벨 신호가 오프셋될 필요가 없음을 나타내는 0 mV를 반환할 것이다).
일부 실시 예에서, 메모리 영역은 더 큰 메모리 영역(예를 들어, 메모리 블록, 메모리 유닛 등) 내의 메모리 페이지 및/또는 더 큰 메모리 영역(예를 들어, 메모리 유닛) 내의 메모리 블록일 수 있다. 이러한 그리고 다른 실시 예들에서, 판독 레벨 캘리브레이션은 더 큰 메모리 영역 내의 하나보다 많은 메모리 페이지 및/또는 하나보다 많은 메모리 블록에 관해 수행될 수 있다. 그에 따라, 캘리브레이션 회로(110)는 더 큰 메모리 영역(예를 들어, 더 큰 메모리 영역을 포함하여 메모리 페이지들의 전부 또는 서브 세트 및/또는 메모리 블록들의 전부 또는 서브 세트)에 관해 판독 레벨 캘리브레이션을 수행함으로써 다수의 판독 레벨 오프셋 값을 생성할 수 있다. 그러한 실시 예에서, 캘리브레이션 회로(110)는 아래, 도 5a 및 도 5b를 참조하여 더 상세히 설명될 방식으로 다수의 판독 레벨 오프셋 값으로부터 더 큰 메모리 영역에 대한 평균 판독 레벨 오프셋 값을 계산할 수 있다.
도 5a 및 도 5b는 본 기술의 일 실시 예에 따른 메모리 디바이스를 작동시키기 위한 루틴(570) 및 루틴(580)을 각각 도시하는 흐름도들이다. 루틴(570)은 예를 들어, 메모리 디바이스(100)(도 1)의 제어기(106)(도 1)에 의해 실행될 수 있고, 루틴(580)은 예를 들어, 메모리 디바이스(100)의 메인 메모리(102)(도 1)의 캘리브레이션 회로(110)(도 1)에 의해 실행될 수 있다. 일 실시 예에서, 루틴(570) 및 루틴(580)은 제어기(106)가 메인 메모리(102)의 하나 이상의 메모리 영역을 미리 정의된 횟수(예를 들어, 1, 25, 100, 400, 800, 1000, 10000회 등) 프로그래밍(예를 들어, 그것에 기록 및/또는 그것을 소거) 한 후 자동으로 수행될 수 있다. 다른 실시 예들에서, 루틴(570) 및 루틴(580)은 호스트 디바이스(108)(도 1)로부터 비롯되는 캘리브레션 명령에 응답하여 수행될 수 있다. 또 다른 실시 예들에서, 루틴(570) 및 루틴(580)은 다른 이벤트들의 발생 시, 예를 들어, 특정 시간량이 경과한 후, 메모리 디바이스(100)에 처음 전원이 들어오거나 호스트 디바이스에 연결된 후 그리고/또는 다른 명령들(예를 들어, 판독 명령들)의 완료 시 수행될 수 있다.
도 5a를 참조하면, 루틴(570)은 도 2의 캘리브레이션 명령(232)과 같은 캘리브레이션 명령을 예를 들어, 메인 메모리(102)의 선택된 메모리 영역들의(예를 들어, 하나 이상의 선택된 메모리 페이지, 블록, 논리 유닛 등의) 하나 이상의 논리 어드레스 및/또는 선택된 메모리 영역들의 하나 이상의 전류 판독 레벨 신호(예를 들어, 전류 판독 레벨 전압)를 포함하여 루틴(580)에 송신함으로써 시작된다(블록 571). 위에서 논의된 바와 같이, 전류 판독 레벨 신호들은 제조사에 의해 초기에 프로그래밍된 디폴트 판독 레벨 신호들(예를 들어, 디폴트 판독 레벨 전압들)일 수 있고/있거나 현재 판독 레벨 신호들은 본 기술에 따라 캘리브레이션된 판독 레벨 신호들(예를 들어, 판독 레벨 전압들)일 수 있다. 일부 실시 예에서, 캘리브레이션 명령(571)에 의해 하나 이상의 메모리 영역이 지시된다(예를 들어, 제어기(106) 또는 호스트 디바이스(108)에 의해 영역들이 선택될 수 있다). 다른 실시 예들에서, 캘리브레이션 회로(110)는 캘리브레이션 명령(571)에 응답하여 하나 이상의 메모리 영역을 선택하고/하거나 (예를 들어, 메인 메모리(102) 내에 저장된 표 및/또는 제어기(106)의 내장 메모리(132)로부터) 선택된 메모리 영역(들)에 대한 대응하는 현재 판독 레벨 신호(들)를 검색할 수 있다.
이제 도 5b를 참조하면, 루틴(580)은 캘리브레이션 명령을 수신한다(블록 581). 루틴(580)은 상기한 도 4a 내지도 4e에 대한 논의에 따라 하나 이상의 판독 레벨 오프셋 값을 생성하기 위해 선택된 메모리 영역들에 관해 판독 레벨 캘리브레이션을 수행하는 것으로 진행한다(블록 582). 예를 들어, 선택된 메모리 영역들은 하나 이상의 메모리 유닛 일 수 있고, 루틴(580)은 예를 들어, 각 메모리 블록의 워드 라인 그룹당 미리 정의된 수의 메모리 페이지(예를 들어, 워드 라인 그룹마다 두 개의 끝 메모리 페이지 및 중간 메모리 페이지)에 관해 판독 레벨 캘리브레이션을 수행을 수행함으로써, 각 메모리 유닛의 미리 정의된 수의 메모리 블록(예를 들어, 메모리 블록들의 샘플링된 메모리 블록 서브 세트)에 관해 판독 레벨 캘리브레이션을 수행할 수 있다. 다른 실시 예들에서, 선택된 메모리 영역들은 하나 이상의 메모리 블록일 수 있고, 루틴(580)은 선택된 메모리 블록들 내 워드 라인 그룹마다 미리 정의된 수의 메모리 페이지(예를 들어, 워드 라인 그룹마다 메모리 페이지들의 샘플링된 서브 세트)에 관해 판독 레벨 캘리브레이션을 수행할 수 있다.
루틴(580)이 선택된 메모리 영역(들)에 관해 판독 레벨 캘리브레이션을 수행함으로써 생성되는 하나 이상의 판독 레벨 오프셋 값을 획득 한 후(블록 582), 루틴(580)은 획득된 판독 레벨 오프셋 값(들)으로부터 평균 판독 레벨 오프셋 값을 계산할 수 있다(예를 들어, 메모리 페이지마다, 워드 라인 그룹마다, 메모리 블록마다, 메모리 유닛마다 등)(블록 583). 예를 들어, 루틴(580)은 획득된 판독 레벨 오프셋 값들의 메이단(예를 들어, 메디안 바이트 및/또는 부호가 있는 메디안 정수 값)을 취함으로써 평균 판독 레벨 오프셋 값을 계산할 수 있다. 다른 실시 예들에서, 루틴(580)은 다른 평균화 기술들(예를 들어, 평균, 모드 등)을 사용하여 평균 판독 레벨 오프셋 값을 계산할 수 있다. 이러한 그리고 다른 실시 예들에서, 루틴(580)은 평균 판독 레벨 오프셋 값을 계산하기 전에(블록 583) 선택된 메모리 영역(들)에 관해 판독 레벨 캘리브레이션을 수행함으로써 획득된 이상치 판독 레벨 오프셋 값들(예를 들어, 디지털 대 아날로그(DAC) 오프셋들보다 ±10 큰 값)을 제외할 수 있다(블록 582). 일부 실시 예에서, 루틴(580)은 가장 가까운 오프셋 스텝 값으로 반올림하기 전에 평균 판독 레벨 오프셋 값을 계산할 수 있다. 다른 실시 예들에서, 루틴(580)은 획득된 판독 레벨 오프셋 값들을 가장 가까운 오프셋 스텝 값으로 반올림하기 전에 평균 판독 레벨 오프셋 값을 계산할 수 있다. 또한, 선택된 메모리 영역(들)에 관해 판독 레벨 캘리브레이션을 수행한 후 단일 판독 레벨 오프셋 값을 생성하는 실시 예들에서는, 단일 판독 레벨 오프셋 값이 선택된 메모리 영역(들)에 대한 평균 판독 레벨 오프셋 값으로 취급될 수 있다. 그 다음 루틴(580)은 평균 판독 레벨 오프셋 값을 루틴(570)으로 출력할 수 있다(블록 584).
다시 도 5a를 참조하면, 루틴(570)은 루틴(580)으로부터 평균 판독 레벨 오프셋 값을 수신할 수 있다(블록 572). 루틴(570)은 평균 판독 레벨 오프셋 값을 사용하여 선택된 메모리 영역에 대한 현재 판독 레벨 신호를 업데이트할 수 있다(블록 573). 예를 들어, 루틴(570)은 평균 판독 레벨 오프셋 값을 사용하여(예를 들어, 평균 판독 레벨 오프셋 값이 바이트 및/또는 부호가 있는 정수 값으로 표현될 때) 선택된 메모리 영역의 판독 레벨 신호에 대한 저장된 캘리브레이션 값을 업데이트할 수 있다(블록 584). 이러한 실시 예들에서, 선택된 메모리 영역에 대한 현재 판독 레벨 신호는 예를 들어, 디폴트 판독 레벨 신호 + 캘리브레이션 값 + 다른 시스템 오프셋들로 표현될 수 있다. 캘리브레이션 값은 메모리 디바이스(100)가 초기에 구성될 때(예를 들어, 제조 시 또는 초기화 시) 0과 동일하게 초기에 설정될 수 있고, 루틴(570)은 예를 들어, 루틴(580)으로부터 수신된 평균 판독 레벨을 이전 캘리브레이션 값에 더함으로써, 캘리브레이션 값을 업데이트하여 새로운 캘리브레이션 값을 획득할 수 있다. 예를 들어, 일 실시 예에서, 이전 캘리브레이션 값이 +5 mV(예를 들어, 원래 판독 레벨 신호 위로 5 mV 오프셋됨을 나타냄)이고, 판독 레벨 캘리브레이션 동작에 의해 결정된 평균 판독 레벨 오프셋 값이 +10 mV(예를 들어, 판독 레벨 캘리브레이션의 중앙 테스트 신호 위로 10mV 오프셋됨을 나타냄)이라면, 루틴(580)은 저장된 캘리브레이션 값을 평균 판독 레벨 오프셋 값과 합산함으로써 저장된 캘리브레이션 값을 업데이트하여 업데이트된 캘리브레이션 값을 획득할 수 있다(예를 들어 +5 mV가 +10 mV와 합산되어 +15 mV를 반환한다).
따라서, 선택된 메모리 영역의 판독 레벨 캘리브레이션의 후속 반복들에서, 캘리브레이션 값은 루틴(580)으로부터 새로 획득된 평균 판독 레벨 오프셋 값(들)을 저장된 캘리브레이션 값에 더함으로써 업데이트될 수 있다. 그에 따라, 업데이트된 캘리브레이션 값(들)은 메모리 영역에 대해 개선된 판독 레벨 신호에 도달하기 위해 선택된 메모리 영역에 대한 이전 판독 레벨 신호에 관해 메모리 영역에 대한 현재 판독 레벨 신호를 증가 또는 감소(예를 들어, ±5 mV, ±10 mV, ±20 mV 및/또는 다른 전압 값들만큼)시키기 위한 지시들을 나타낼 수 있다. 이러한 그리고 다른 실시 예들에서, 루틴(570)은 업데이트된 캘리브레이션 값 및/또는 업데이트된 전류 판독 레벨 신호를 예를 들어, 메모리 디바이스(100)의 메인 메모리(102) 및/또는 제어기(106)의 내장 메모리(132) 상에 저장된 표에 저장할 수 있으며, 그에 따라 루틴(570)은 이러한 값들을 계속해서 추적할 수 있게 된다(예를 들어, 메모리 디바이스(100)의 각 전원 투입 시 로딩될 영구 데이터로서).
전술한 예시적인 실시 예들에서, 판독 레벨 캘리브레이션 동작들은 판독 레벨 신호들이 인덱싱될 수 있는 오프셋들을 나타내는 값들을 출력하는 것으로 설명되었지만, 본 기술은 이러한 배열로 제한되지 않는다. 다른 실시 예들에서, 루틴(570)은 개선된 판독 레벨 신호에 도달하기 위해 평균 판독 레벨 오프셋 값을 예를 들어, 메모리 영역에 대한 현재 판독 레벨 신호에 적용할 스케일 팩터를 나타낼 수 있는 스칼라 값으로 변환할 수 있다. 또 다른 실시 예들에서, 판독 레벨 캘리브레이션 동작은 현재 판독 레벨 신호를 업데이트 또는 그 외 변경하기 위해(예를 들어, 저장된 값에 대한 오프셋 대신 판독 레벨 신호 값으로서 등) 계산된 평균 판독 레벨 오프셋 값을 다른 지시들로 변환할 수 있다.
도 6은 본 기술의 실시 예들에 따른 메모리 디바이스를 포함하는 시스템의 개략도이다. 도 1 내지 도 5b를 참조하여 위에서 설명된 앞에서의 메모리 디바이스들 중 임의의 디바이스는 무수한 더 큰 그리고/또는 더 복잡한 시스템 중 임의의 시스템에 통합될 수 있으며, 이의 대표적인 예가 도 6에 개략적으로 도시된 시스템(690)이다. 시스템(690)은 반도체 디바이스 어셈블리(600), 전원(692), 드라이버(694), 프로세서(696) 및/또는 다른 서브 시스템들 및 구성요소들(698)을 포함할 수 있다. 반도체 디바이스 어셈블리(600)는 일반적으로 도 1 내지 도 5b를 참조하여 위에서 설명된 메모리 디바이스의 피처들과 유사한 피처들을 포함할 수 있고, 따라서, 판독 레벨 신호들을 캘리브레이션하는 다양한 피처를 포함할 수 있다. 그 결과 시스템(690)은 메모리 저장, 데이터 처리 및/또는 다른 적합한 기능들과 같은 광범위한 기능 중 임의의 기능을 수행할 수 있다. 따라서, 대표적인 시스템들(690)은 핸드헬드 디바이스들(예를 들어, 휴대 전화, 태블릿, 디지털 리더기 및 디지털 오디오 플레이어), 컴퓨터들, 차량들,가전 제품들 및 다른 제품들을 제한 없이 포함할 수 있다. 시스템(690)의 구성요소들은 단일 유닛에 수용되거나 다수의 상호 연결된 유닛에 걸쳐 분산될 수 있다(예를 들어, 통신 네트워크를 통해). 시스템(690)의 구성요소들은 또한 원격 디바이스들 및 광범위한 컴퓨터 판독 가능 매체 중 임의의 매체를 포함할 수 있다.
앞에서의 내용으로부터, 본 발명의 구체적인 실시 예들이 예시의 목적들을 위해 여기에 설명되었지만, 본 개시에서 벗어나지 않고 다양한 변경이 이루어질 수 있는 것으로 이해될 것이다. 예를 들어, 일 실시 예에서, 캘리브레이션 회로(110)(도 1)는 캘리브레이션 명령(예를 들어, 제어기(106) 및/또는 호스트 디바이스(108)로부터의 캘리브레이션 명령(232); 도 1 내지 도 2) 없이 캘리브레이션될 하나 이상의 메모리 영역을 선택할 수 있다. 캘리브레이션 회로(110)는 예를 들어, 메모리 영역이 판독, 소거 및/또는 기록된 횟수; 메모리 영역이 마지막으로 캘리브레이션된 때부터 경과한 시간량; 랜덤 샘플링(예를 들어, 메모리 블록 내의 하나 이상의 메모리 페이지의, 메모리 유닛 내의 하나 이상의 메모리 블록의 등)과 같은 요인들에 기초하여; 그리고/또는 메모리 영역들의 미리 정의된 순서에 따라 캘리브레이션될 메모리 영역들을 선택할 수 있다. 이러한 그리고 다른 실시 예들에서, 시스템(101)(도 1)의 단일 구성요소(예를 들어, 캘리브레이션 회로(110))는 도 5a 및 도 5b에 대하여 위에서 논의된 루틴(570) 및 루틴(580)의 단계들의 각각을 수행할 수 있다(예를 들어, 캘리브레이션 명령 없이). 또한, 특정 실시 예들의 상황에서 설명된 신규한 기술의 특정 양태들은 또한 다른 실시 예들에서 조합되거나 제거될 수 있다. 또한, 신규한 기술의 특정 실시 예들과 연관된 이점들이 그러한 실시 예들의 상황에서 설명되었지만, 다른 실시 예들 또한 그러한 이점들을 나타낼 수 있고 본 기술의 범위 내에 있기 위해 모든 실시 예가 반드시 그러한 이점들을 나타내야 하는 것은 아니다. 따라서, 본 개시 및 관련 기술은 명시적으로 도시되거나 설명되지 않은 다른 실시 예들을 포함할 수 있다.

Claims (29)

  1. 메모리 디바이스로서,
    제어기; 및
    상기 제어기에 작동 가능하게 결합되는 메인 메모리를 포함하고, 상기 메인 메모리는:
    복수의 메모리 셀을 갖는 메모리 영역, 및
    상기 메모리 영역에 작동 가능하게 결합되는 캘리브레이션 회로를 포함하며, 상기 캘리브레이션 회로는:
    상기 메모리 영역의 부분에 대해, 복수의 판독 레벨 테스트 신호의 각각에 대한 성능 특성을 측정하도록 - 상기 성능 특성은 대응하는 상기 판독 레벨 테스트 신호에 응답하여 미리 결정된 데이터 상태를 출력하는 메모리 셀들의 수를 포함함 - ,
    인접한 판독 레벨 테스트 신호에 대한 미리 결정된 데이터 상태를 출력하는 메모리 셀들의 수 사이의 차이에 적어도 부분적으로 기초하여 상기 복수의 판독 레벨 테스트 신호의 두 판독 레벨 테스트 신호 간 외삽된 레벨에 대응하는 판독 레벨 오프셋 값을 결정하도록, 그리고
    상기 판독 레벨 오프셋 값을 상기 제어기에 출력하도록 구성되는, 메모리 디바이스.
  2. 청구항 1에 있어서, 상기 메모리 영역은 복수의 워드 라인 그룹을 포함하는 메모리 블록을 포함하고, 상기 부분이 상기 복수의 워드 라인 그룹의 서브 세트를 포함하는, 메모리 디바이스.
  3. 청구항 1에 있어서, 상기 메모리 영역은 복수의 워드 라인 그룹을 포함하는 메모리 블록을 포함하고, 각 워드 라인 그룹은 복수의 메모리 페이지를 가지며, 상기 부분이 각 워드 라인 그룹으로부터 두 개의 맨 끝 메모리 페이지 및 안쪽 메모리 페이지를 포함하는, 메모리 디바이스.
  4. 청구항 3에 있어서, 상기 판독 레벨 오프셋 값은 상기 두 개의 맨 끝 메모리 페이지 및 중간 메모리 페이지에 대응하는 복수의 오프셋 값을 평균함으로써 결정되는, 메모리 디바이스.
  5. 청구항 1에 있어서, 상기 캘리브레이션 회로는 상기 제어기로부터 수신되는 캘리브레이션 명령에 응답하여 상기 판독 레벨 오프셋 값을 출력하도록 구성되는, 메모리 디바이스.
  6. 청구항 5에 있어서, 상기 제어기는 상기 메모리 영역이 제1 미리 결정된 수의 프로그램 사이클, 제2 미리 결정된 수의 소거 사이클 또는 제3 미리 결정된 수의 프로그램 또는 소거 사이클 중 어느 하나를 완료할 때 상기 캘리브레이션 명령을 송신하도록 구성되는, 메모리 디바이스.
  7. 청구항 5에 있어서, 상기 제어기는 상기 메모리 디바이스가 상기 캘리브레이션 명령이 마지막으로 송신된 때부터 미리 결정된 시간량이 경과된 후, 또는 상기 캘리브레이션 명령이 마지막으로 송신된 때부터 상기 메모리 영역에 관해 미리 결정된 수의 판독 사이클이 수행된 후, 상기 메모리 디바이스가 호스트에 연결될 때 상기 캘리브레이션 명령을 송신하도록 구성되는, 메모리 디바이스.
  8. 청구항 5에 있어서, 상기 제어기는 상기 메모리 디바이스에 작동 가능하게 연결된 호스트 디바이스로부터 수신되는 명령에 응답하여 상기 캘리브레이션 명령을 송신하도록 구성되는, 메모리 디바이스.
  9. 청구항 1에 있어서, 상기 제어기는 상기 판독 레벨 오프셋 값에 기초하여 상기 메모리 영역에 대응하는 판독 레벨을 업데이트하도록 구성되는, 메모리 디바이스.
  10. 청구항 1에 있어서, 상기 캘리브레이션 회로는 상기 메모리 영역과 동일한 메모리 다이 상에 위치되는, 메모리 디바이스.
  11. 메모리 디바이스의 메모리 영역을 캘리브레이션하기 위한 방법으로서,
    상기 메모리 영역의 부분에 대해, 복수의 판독 레벨 테스트 신호의 각각에 대한 성능 특성을 측정하는 단계 - 상기 성능 특성은 대응하는 상기 판독 레벨 테스트 신호에 응답하여 미리 결정된 데이터 상태를 출력하는 메모리 셀들의 수를 포함함 - ;
    인접한 판독 레벨 테스트 신호에 대한 미리 결정된 데이터 상태를 출력하는 메모리 셀들의 수 사이의 차이에 적어도 부분적으로 기초하여 상기 복수의 판독 레벨 테스트 신호의 두 판독 레벨 테스트 신호 간 외삽된 레벨에 대응하는 판독 레벨 오프셋 값을 결정하는 단계; 및
    상기 판독 레벨 오프셋 값을 출력하는 단계를 포함하는, 방법.
  12. 청구항 11에 있어서,
    상기 측정하는 단계 및 상기 결정하는 단계는 상기 메모리 영역을 포함하는 메인 메모리 내부에서 일어나는, 방법.
  13. 청구항 11에 있어서, 상기 메모리 영역은 복수의 워드 라인 그룹을 포함하는 메모리 블록을 포함하고, 상기 부분이 상기 복수의 워드 라인 그룹의 서브 세트를 포함하는, 방법.
  14. 청구항 11에 있어서, 상기 메모리 영역은 복수의 워드 라인 그룹을 포함하는 메모리 블록을 포함하고, 각 워드 라인 그룹은 복수의 메모리 페이지를 가지며, 상기 부분이 각 워드 라인 그룹으로부터 두 개의 맨 끝 메모리 페이지 및 중간 메모리 페이지를 포함하는, 방법.
  15. 청구항 14에 있어서, 상기 판독 레벨 오프셋 값을 결정하는 단계는 상기 두 개의 맨 끝 메모리 페이지 및 중간 메모리 페이지에 대응하는 복수의 판독 레벨 오프셋 값을 평균하는 단계를 포함하는, 방법.
  16. 청구항 15에 있어서, 상기 평균하는 단계는 상기 판독 레벨 오프셋 값을 결정하기 전 상기 복수의 판독 레벨 오프셋 값에서 이상치 판독 레벨 오프셋 값들을 제외하는 단계를 포함하는, 방법.
  17. 청구항 11에 있어서, 상기 측정하는 단계, 결정하는 단계 및 출력하는 단계는 상기 메모리 영역이 제1 미리 결정된 수의 프로그램 사이클, 제2 미리 결정된 수의 소거 사이클 또는 제3 미리 결정된 수의 프로그램 또는 소거 사이클 중 어느 하나를 거친 후 수행되도록 스케줄링되는, 방법.
  18. 청구항 11에 있어서, 상기 판독 레벨 오프셋 값을 사용하여 상기 메모리 영역의 판독 레벨 신호를 업데이트하는 단계를 더 포함하는, 방법.
  19. 청구항 18에 있어서, 상기 판독 레벨 신호를 업데이트하는 단계는 상기 판독 레벨 오프셋 값에 대응하여 캘리브레이션 값을 업데이트하는 단계를 포함하는, 방법.
  20. 청구항 19에 있어서, 업데이트된 상기 캘리브레이션 값을 상기 메모리 디바이스 상에 저장된 표에 영구 데이터로 저장하는 단계를 더 포함하고,
    상기 캘리브레이션 값은 상기 메모리 영역의 대응하는 판독 레벨 신호에 더하거나 상기 대응하는 판독 레벨 신호에서 뺄 전압 값을 나타내며, 그리고
    상기 영구 데이터는 상기 메모리 디바이스의 각 전원 투입 시 로딩되는, 방법.
  21. 시스템으로서,
    호스트 디바이스; 및
    메모리 디바이스를 포함하고, 상기 메모리 디바이스는:
    제어기; 및
    상기 제어기를 통해 상기 호스트 디바이스에 작동 가능하게 결합되는 메인 메모리를 포함하고,
    상기 메인 메모리는 복수의 메모리 셀을 포함하는 메모리 영역, 및 상기 메모리 영역에 작동 가능하게 결합되는 캘리브레이션 회로를 포함하며, 그리고
    상기 캘리브레이션 회로는:
    상기 메모리 영역의 부분에 대해, 복수의 판독 레벨 테스트 신호의 각각에 대한 성능 특성을 측정하도록 - 상기 성능 특성은 대응하는 상기 판독 레벨 테스트 신호에 응답하여 미리 결정된 데이터 상태를 출력하는 메모리 셀들의 수를 포함함 - ,
    인접한 판독 레벨 테스트 신호에 대한 미리 결정된 데이터 상태를 출력하는 메모리 셀들의 수 사이의 차이에 적어도 부분적으로 기초하여 상기 복수의 판독 레벨 테스트 신호의 두 판독 레벨 테스트 신호 간 외삽된 레벨에 대응하는 판독 레벨 오프셋 값을 결정하도록, 그리고
    상기 판독 레벨 오프셋 값을 상기 제어기에 출력하도록 구성되는, 시스템.
  22. 청구항 21에 있어서, 상기 캘리브레이션 회로는 상기 제어기로부터의 캘리브레이션 명령에 응답하여 상기 판독 레벨 오프셋 값을 출력하도록 구성되는, 시스템.
  23. 청구항 22에 있어서, 상기 제어기는 상기 호스트 디바이스로부터의 캘리브레이트 지시에 응답하여 상기 캘리브레이션 명령을 송신하도록 구성되는, 시스템.
  24. 청구항 21에 있어서, 상기 메모리 디바이스는 상기 캘리브레이션 회로가 상기 성능 특성을 측정하거나 상기 판독 레벨 오프셋 값을 결정하거나 상기 판독 레벨 오프셋 값을 출력하는 동안 상기 호스트 디바이스가 상기 메모리의 상기 메인 메모리를 판독, 프로그래밍 및 소거하는 것을 금지하도록 구성되는, 시스템.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
KR1020207006439A 2017-08-04 2018-07-26 판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스 KR102172893B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/669,055 US10199111B1 (en) 2017-08-04 2017-08-04 Memory devices with read level calibration
US15/669,055 2017-08-04
PCT/US2018/043876 WO2019027799A1 (en) 2017-08-04 2018-07-26 MEMORY DEVICES WITH READING LEVEL CALIBRATION

Publications (2)

Publication Number Publication Date
KR20200028492A KR20200028492A (ko) 2020-03-16
KR102172893B1 true KR102172893B1 (ko) 2020-11-03

Family

ID=65200351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207006439A KR102172893B1 (ko) 2017-08-04 2018-07-26 판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스

Country Status (6)

Country Link
US (2) US10199111B1 (ko)
EP (1) EP3662478A4 (ko)
KR (1) KR102172893B1 (ko)
CN (1) CN110998735B (ko)
TW (1) TWI688962B (ko)
WO (1) WO2019027799A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102347184B1 (ko) * 2017-05-23 2022-01-04 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10388394B2 (en) * 2017-07-25 2019-08-20 Apple Inc. Syndrome weight based evaluation of memory cells performance using multiple sense operations
US10347344B2 (en) 2017-08-29 2019-07-09 Micron Technology, Inc. Read voltage calibration based on host IO operations
KR102407571B1 (ko) * 2017-12-20 2022-06-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
JP2019164873A (ja) * 2018-03-20 2019-09-26 東芝メモリ株式会社 半導体記憶装置およびその制御方法
US10529433B1 (en) * 2018-08-13 2020-01-07 Micron Technology, Inc. Offset memory component automatic calibration (AUTOCAL) error recovery for a memory sub-system
US10936222B2 (en) 2019-06-19 2021-03-02 International Business Machines Corporation Hardware abstraction in software or firmware for hardware calibration
US11264103B2 (en) * 2019-08-28 2022-03-01 International Business Machines Corporation Hybrid read voltage calibration in non-volatile random access memory
US11056199B2 (en) * 2019-10-30 2021-07-06 International Business Machines Corporation Updating corrective read voltage offsets in non-volatile random access memory
US11237726B2 (en) 2019-12-13 2022-02-01 Micron Technology, Inc. Memory system performance enhancements using measured signal and noise characteristics of memory cells
KR20210083466A (ko) 2019-12-26 2021-07-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US11086572B1 (en) 2020-03-02 2021-08-10 Micron Technology, Inc. Self adapting iterative read calibration to retrieve data from memory cells
US11029890B1 (en) 2020-03-02 2021-06-08 Micron Technology, Inc. Compound feature generation in classification of error rate of data retrieved from memory cells
US11221800B2 (en) 2020-03-02 2022-01-11 Micron Technology, Inc. Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells
US12009034B2 (en) * 2020-03-02 2024-06-11 Micron Technology, Inc. Classification of error rate of data retrieved from memory cells
US11740970B2 (en) * 2020-03-02 2023-08-29 Micron Technology, Inc. Dynamic adjustment of data integrity operations of a memory system based on error rate classification
US11347434B2 (en) * 2020-04-21 2022-05-31 Micron Technology, Inc. Block family tracking for memory devices
US11200956B2 (en) * 2020-04-23 2021-12-14 Micron Technology, Inc. Read level calibration in memory devices using embedded servo cells
US11049582B1 (en) 2020-05-07 2021-06-29 Micron Technology, Inc. Detection of an incorrectly located read voltage
US11257546B2 (en) 2020-05-07 2022-02-22 Micron Technology, Inc. Reading of soft bits and hard bits from memory cells
US11562793B2 (en) 2020-05-07 2023-01-24 Micron Technology, Inc. Read soft bits through boosted modulation following reading hard bits
US11081200B1 (en) 2020-05-07 2021-08-03 Micron Technology, Inc. Intelligent proactive responses to operations to read data from memory cells
US11276473B2 (en) * 2020-08-07 2022-03-15 Micron Technology, Inc. Coarse calibration based on signal and noise characteristics of memory cells collected in prior calibration operations
US11355203B2 (en) * 2020-08-07 2022-06-07 Micron Technology, Inc. Determine optimized read voltage via identification of distribution shape of signal and noise characteristics
US11244729B1 (en) * 2020-08-07 2022-02-08 Micron Technology, Inc. Search for an optimized read voltage
US11211107B1 (en) 2020-09-01 2021-12-28 Avalanche Technology, Inc. Magnetic memory read circuit and calibration method therefor
US11289142B2 (en) 2020-09-01 2022-03-29 Avalanche Technology, Inc. Nonvolatile memory sensing circuit including variable current source
TWI768496B (zh) * 2020-10-07 2022-06-21 群聯電子股份有限公司 讀取電壓控制方法、記憶體儲存裝置及記憶體控制電路單元
US11830545B2 (en) 2020-12-16 2023-11-28 Micron Technology, Inc. Data programming techniques to store multiple bits of data per memory cell with high reliability
US11455109B2 (en) * 2021-01-27 2022-09-27 Micron Technology, Inc. Automatic wordline status bypass management
US11756630B2 (en) 2021-08-12 2023-09-12 Western Digital Technologies, Inc. Obtaining threshold voltage measurements for memory cells based on a user read mode

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130070524A1 (en) 2011-09-21 2013-03-21 Deepanshu Dutta On chip dynamic read for non-volatile storage
US20140101519A1 (en) 2012-10-08 2014-04-10 Samsung Electronics Co., Ltd. Non-volatile memory device having adjustable read voltage, memory system comprising same, and method of operating same
US20150085571A1 (en) 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
US20160148702A1 (en) 2014-11-20 2016-05-26 HGST Netherlands B.V. Calibrating optimal read levels
US9455001B1 (en) 2015-03-02 2016-09-27 Michael C. Stephens, Jr. Semiconductor memory device having calibration circuitry for dual-gate transistors associated with a memory array

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8273A (en) * 1851-08-05 Water-level indicator for steam-boilers
US6963505B2 (en) * 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
US7649793B1 (en) * 2006-05-04 2010-01-19 Marvell International Ltd. Channel estimation for multi-level memories using pilot signals
US20090002797A1 (en) * 2007-06-27 2009-01-01 Wah Yiu Kwong Multi-directional camera for a mobile device
US7916536B2 (en) * 2007-07-26 2011-03-29 Micron Technology, Inc. Programming based on controller performance requirements
KR20090117172A (ko) * 2008-05-08 2009-11-12 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
KR101423052B1 (ko) * 2008-06-12 2014-07-25 삼성전자주식회사 메모리 장치 및 읽기 레벨 제어 방법
US8713727B2 (en) * 2010-07-30 2014-05-06 Hill-Rom Services, Inc. Siderail assembly for patient support apparatus
JP2012195037A (ja) * 2011-03-17 2012-10-11 Toshiba Corp ワード線電位制御回路
US8456911B2 (en) * 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8937838B2 (en) * 2012-01-10 2015-01-20 Sk Hynix Memory Solutions Inc. Finding optimal read thresholds and related voltages for solid state memory
US9195586B2 (en) 2012-02-23 2015-11-24 Hgst Technologies Santa Ana, Inc. Determining bias information for offsetting operating variations in memory cells based on wordline address
US8934306B2 (en) * 2012-03-06 2015-01-13 Micron Technology, Inc. Memory and sense parameter determination methods
US9135106B2 (en) * 2012-05-22 2015-09-15 Hgst Technologies Santa Ana, Inc. Read level adjustment using soft information
US9147486B2 (en) 2013-09-05 2015-09-29 Micron Technology, Inc. Continuous adjusting of sensing voltages
KR101503822B1 (ko) * 2013-10-14 2015-03-18 주식회사 디에이아이오 비휘발성 메모리 장치
US9741431B2 (en) * 2014-11-10 2017-08-22 Sk Hynix Memory Solutions Inc. Optimal read threshold estimation
US9905302B2 (en) * 2014-11-20 2018-02-27 Western Digital Technologies, Inc. Read level grouping algorithms for increased flash performance
US9720754B2 (en) * 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
US9621160B2 (en) * 2015-03-05 2017-04-11 Micron Technology, Inc. Circuits for impedance adjustment having multiple termination devices with switchable resistances and methods of adjusting impedance
KR102295528B1 (ko) * 2015-08-25 2021-08-30 삼성전자 주식회사 메모리 장치, 메모리 시스템, 상기 메모리 장치의 동작 방법 및 상기 메모리 시스템의 동작 방법
US9761308B1 (en) * 2016-03-11 2017-09-12 Western Digital Technologies, Inc. Systems and methods for adaptive read level adjustment
US10008273B2 (en) * 2016-06-13 2018-06-26 Sandisk Technologies Llc Cell current based bit line voltage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130070524A1 (en) 2011-09-21 2013-03-21 Deepanshu Dutta On chip dynamic read for non-volatile storage
US20140101519A1 (en) 2012-10-08 2014-04-10 Samsung Electronics Co., Ltd. Non-volatile memory device having adjustable read voltage, memory system comprising same, and method of operating same
US20150085571A1 (en) 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
US20160148702A1 (en) 2014-11-20 2016-05-26 HGST Netherlands B.V. Calibrating optimal read levels
US9455001B1 (en) 2015-03-02 2016-09-27 Michael C. Stephens, Jr. Semiconductor memory device having calibration circuitry for dual-gate transistors associated with a memory array

Also Published As

Publication number Publication date
US10510422B2 (en) 2019-12-17
CN110998735B (zh) 2020-11-20
US20190043590A1 (en) 2019-02-07
CN110998735A (zh) 2020-04-10
US10199111B1 (en) 2019-02-05
TWI688962B (zh) 2020-03-21
US20190043592A1 (en) 2019-02-07
WO2019027799A1 (en) 2019-02-07
KR20200028492A (ko) 2020-03-16
EP3662478A1 (en) 2020-06-10
EP3662478A4 (en) 2021-04-28
TW201911326A (zh) 2019-03-16

Similar Documents

Publication Publication Date Title
KR102172893B1 (ko) 판독 레벨 캘리브레이션 기능을 갖는 메모리 디바이스
US11715530B2 (en) Offset memory component automatic calibration (autocal) error recovery for a memory sub-system
US9703698B2 (en) Data writing method, memory controller and memory storage apparatus
US20130135936A1 (en) Memory controller self-calibration for removing systemic influence
US11557345B2 (en) Dynamic memory programming voltage step for strenuous device conditions
US20100208519A1 (en) Semiconductor memory device and method of reading the same
JP2018160065A (ja) メモリシステム
US9583207B2 (en) Adaptive data shaping in nonvolatile memory
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
KR20180114746A (ko) 저장 장치 및 그 동작 방법
JP7353889B2 (ja) メモリシステムおよび方法
US11842774B2 (en) Memories for calibrating sensing of memory cell data states
CN112650442A (zh) 存储器系统、存储器控制器及操作方法
US8750045B2 (en) Experience count dependent program algorithm for flash memory
US8799748B2 (en) Non-volatile semiconductor memory device performing multi-level storage operation
US20170177494A1 (en) Data processing system and operation method thereof
US11216338B2 (en) Storage device that performs state shaping of data
US10446241B1 (en) Automatic calibration (autocal) error recovery for a memory sub-system
US10714169B1 (en) System and method for programming non-volatile memory during burst sequential write
US20240153576A1 (en) Memory system, memory controller and method for operating memory system
US20230006673A1 (en) Memory system and memory controller
CN116364155A (zh) 对存储器装置中的多个块的并发扫描操作

Legal Events

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