KR20200040873A - Nand 온도 데이터 관리 - Google Patents

Nand 온도 데이터 관리 Download PDF

Info

Publication number
KR20200040873A
KR20200040873A KR1020207008679A KR20207008679A KR20200040873A KR 20200040873 A KR20200040873 A KR 20200040873A KR 1020207008679 A KR1020207008679 A KR 1020207008679A KR 20207008679 A KR20207008679 A KR 20207008679A KR 20200040873 A KR20200040873 A KR 20200040873A
Authority
KR
South Korea
Prior art keywords
temperature
nand
data
representation
memory
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020207008679A
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 마이크론 테크놀로지, 인크.
Priority to KR1020227015563A priority Critical patent/KR20220066189A/ko
Publication of KR20200040873A publication Critical patent/KR20200040873A/ko
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • 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
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

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

Abstract

NAND 온도 데이터 관리를 위한 디바이스 및 기법이 본 명세서에 개시된다. 데이터를 NAND 디바이스 내 NAND 구성 요소에 기입하기 위한 명령어는 NAND 디바이스의 NAND 제어기에서 수신된다. NAND 구성 요소에 대응하는 온도는 명령어를 수신하는 것에 응답하여 획득된다. 이어서 명령어가 실행되어 데이터를 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입한다. 데이터는 사용자 부분에 기입되고 그리고 온도의 표현은 제어기에만 액세스 가능하고 그리고 사용자 부분으로부터 분리되는 관리 부분에 기입된다.

Description

NAND 온도 데이터 관리
우선권 출원
본 출원은 미국 출원 일련번호 제15/690,920호(출원일: 2017년 8월 30일)에 대한 우선권의 이득을 주장하고, 상기 기초출원은 전문이 참조에 의해 본 명세서에 원용된다.
메모리 디바이스는 전형적으로 컴퓨터 또는 다른 전자 디바이스에서 내부 반도체 집적 회로로서 제공된다. 휘발성 및 비휘발성 메모리를 포함하여 다양한 유형의 메모리가 있다.
휘발성 메모리는 그 데이터를 유지하기 위해 전력을 필요로 하며, 특히 랜덤 액세스 메모리(random-access memory: RAM), 동적 랜덤 액세스 메모리(dynamic random-access memory: DRAM) 또는 동기식 동적 랜덤 액세스 메모리(synchronous dynamic random-access memory: SDRAM)를 포함한다.
비휘발성 메모리는 전력이 공급되지 않을 때 저장된 데이터를 보유할 수 있으며, 특히 플래시 메모리, 판독 전용 메모리(read-only memory: ROM), 전기 소거 가능한 프로그램 가능 ROM(electrically erasable programmable ROM: EEPROM), 정적 RAM(static RAM: SRAM), 소거 가능한 프로그램 가능 ROM(erasable programmable ROM: EPROM), 상 변화 랜덤 액세스 메모리(phase-change random-access memory: PCRAM), 저항성 랜덤 액세스 메모리(resistive random-access memory: RRAM), 자기 저항 랜덤 액세스 메모리(magnetoresistive random-access memory: MRAM), 또는 3D XPoint™ 메모리와 같은 저항 가변 메모리를 포함한다.
플래시 메모리는 광범위한 전자 기기 적용을 위한 비휘발성 메모리로서 이용된다. 플래시 메모리 디바이스는 전형적으로 높은 메모리 밀도, 높은 신뢰성 및 낮은 전력 소비를 허용하는 하나의 트랜지스터, 부동 게이트 또는 전하 트랩 메모리 셀의 하나 이상의 그룹을 포함한다.
2개의 일반적인 유형의 플래시 메모리 어레이 아키텍처는 이후에 각각의 기본 메모리 셀 구성이 배열되는 논리 형태로 명명되는 NAND 및 NOR 아키텍처를 포함한다. 메모리 어레이의 메모리 셀은 전형적으로 매트릭스로 배열된다. 실시예에서, 어레이의 행에서의 각각의 부동 게이트 메모리 셀의 게이트는 액세스 라인(예를 들어, 워드 라인)에 결합된다. NOR 아키텍처에서, 어레이의 열에서의 각각의 메모리 셀의 드레인은 데이터 라인(예를 들어, 비트 라인)에 결합된다. NAND 아키텍처에서, 어레이의 스트링에서의 각각의 메모리 셀의 드레인은 소스 라인과 비트 라인 사이에서 직렬로 소스 대 드레인으로 함께 결합된다.
NOR 및 NAND 아키텍처 반도체 메모리 어레이 모두는 이들의 게이트에 결합된 워드 라인을 선택하는 것에 의해 특정 메모리 셀을 활성화시키는 디코더를 통해 액세스된다. NOR 아키텍처 반도체 메모리 어레이에서, 활성화되면, 선택된 메모리 셀은 이것들의 데이터 값을 비트 라인에 배치하고, 특정 셀이 프로그래밍되는 상태에 의존하여 상이한 전류가 흐르게 한다. NAND 아키텍처 반도체 메모리 어레이에서, 높은 바이어스 전압이 드레인측 선택 게이트(SGD) 라인에 인가된다. 각각의 그룹의 선택되지 않은 메모리 셀의 게이트에 결합된 워드 라인은 각각의 그룹의 선택되지 않은 메모리 셀을 패스 트랜지스터(예를 들어, 이것들의 저장된 데이터 값에 의해 제한되지 않는 방식으로 전류를 통과시키는)로서 작동시키도록 특정 통과 전압(예를 들어, Vpass)에서 구동된다. 전류는 이어서 소스 라인으로부터 각각의 직렬 결합 그룹을 통해 비트 라인으로 흐르고, 각각의 그룹의 선택된 메모리 셀에 의해서만 제한되며, 선택된 메모리 셀의 현재 인코딩된 데이터 값을 비트 라인에 배치한다.
NOR 또는 NAND 아키텍처 반도체 메모리 어레이에서 각각의 플래시 메모리 셀은 하나 또는 복수의 프로그래밍된 상태로 개별적으로 또는 집합적으로 프로그래밍될 수 있다. 예를 들어, 싱글-레벨 셀(single-level cell: SLC)은 1 비트의 데이터를 나타내는, 2개의 프로그래밍된 상태(예를 들어, 1 또는 0) 중 하나를 나타낼 수 있다.
그러나, 플래시 메모리 셀이 또한 2개보다 많은 프로그래밍된 상태 중 하나를 나타낼 수 있어서, 각각의 셀이 하나보다 많은 2진 숫자(예를 들어, 1보다 많은 비트)를 나타낼 수 있으므로, 메모리 셀의 수를 증가시키는 일 없이 더 높은 밀도의 메모리의 제작을 허용한다. 이러한 셀은 멀티 스테이트 메모리 셀, 멀티 디지트 셀, 또는 멀티-레벨 셀(multi-level cell: MLC)로서 지칭될 수 있다. 특정한 실시예에서, MLC는 셀당 2 비트의 데이터(예를 들어, 4개의 프로그래밍된 상태 중 하나)를 저장할 수 있는 메모리 셀로 지칭될 수 있고, 트리플-레벨 셀(triple-level cell: TLC)은 셀당 3 비트의 데이터(예를 들어, 8개의 프로그래밍된 상태 중 하나)를 저장할 수 있는 메모리 셀로 지칭될 수 있으며, 쿼드-레벨 셀(quad-level cell: QLC)은 셀당 4 비트의 데이터를 저장할 수 있다. MLC는 셀당 하나보다 많은 비트의 데이터를 저장할 수 있는(즉, 2개보다 많은 프로그래밍된 상태를 나타낼 수 있는) 임의의 메모리 셀을 지칭하기 위해 본 명세서에서 보다 넓은 맥락에서 사용된다.
종래의 메모리 어레이는 반도체 기판의 표면 상에 배열된 2차원(2D) 구조이다. 주어진 영역에 대한 메모리 용량을 증가시키고 비용을 감소시키기 위해, 개별 메모리 셀의 크기는 감소되었다. 그러나, 개별 메모리 셀의 크기의 감소, 따라서 2D 메모리 어레이의 메모리 밀도에 대한 기술적 한계가 존재한다. 이에 응답하여, 메모리 밀도를 더 증가시키고 메모리 비용을 더 낮추기 위해 3D NAND 아키텍처 반도체 메모리 디바이스와 같은 3-차원(3D) 메모리 구조가 개발되고 있다.
이러한 3D NAND 디바이스는 소스에 근접한 하나 이상의 소스측 선택 게이트(SGS)와 비트 라인에 근접한 하나 이상의 드레인측 선택 게이트(SGD) 사이에 직렬로 결합된(예를 들어, 드레인 대 소스) 기억 셀(storage 셀)의 스트링을 종종 포함한다. 실시예에서, SGS 또는 SGD는 하나 이상의 전계 효과 트랜지스터(FET) 또는 금속 산화물 반도체(MOS) 구조 디바이스 등을 포함할 수 있다. 일부 실시예에서, 스트링은 각각의 워드 라인을 포함하는 다수의 수직 이격 계층을 통해 수직으로 연장될 것이다. 반도체 구조(예를 들어, 폴리실리콘 구조)는 스트링의 기억 셀을 위한 채널을 형성하기 위해 기억 셀의 스트링에 인접하여 연장될 수 있다. 수직 스트링의 실시예에서, 폴리실리콘 구조는 수직으로 연장되는 필라(vertically extending pillar)의 형태일 수도 있다. 일부 실시예에서, 스트링은 "접힐" 수 있으며, 그러므로 U자 형상 필라에 대하여 배열될 수 있다. 다른 실시예에서, 다수의 수직 구조는 기억 셀 스트링의 적층된 어레이를 형성하도록 서로 적층될 수도 있다.
메모리 어레이 또는 디바이스는 솔리드 스테이트 드라이브(SSD), 범용 플래시 스토리지(UFS™) 디바이스, 멀티미디어 카드(MMC) 솔리드 스테이트 기억 장치, 임베디드 MMC 디바이스(eMMC™) 등과 같은 메모리 시스템의 저장 볼륨을 형성하도록 함께 조합될 수 있다. SSD는 특히 예를 들어 성능, 크기, 중량, 견고성, 작동 온도 범위 및 전력 소비에 대하여 가동성 부품을 갖는 종래의 하드 드라이브 이상의 장점을 갖는 컴퓨터의 주 기억 장치로서 사용될 수 있다. 예를 들어, SSD는 탐색 시간, 대기 시간, 또는 자기 디스크 드라이브(예를 들어, 전자 기계 등)와 관련된 다른 지연 시간을 감소시켰을 수 있다. SSD는 플래시 메모리 셀과 같은 비휘발성 메모리 셀을 사용하여, 내부 배터리 공급 요건을 제거하고, 따라서 드라이브를 보다 다양하고 콤팩트하게 하는 것이 가능하다.
SSD는 다수의 다이 또는 논리 유닛(예를 들어, 논리 유닛 번호 또는 LUN)을 포함하는 다수의 메모리 디바이스를 포함할 수 있고, 그리고 메모리 디바이스를 작동시키거나 또는 외부 시스템과 접속하는데 필요한 논리 기능을 수행하는 하나 이상의 프로세서 또는 다른 제어기를 포함할 수 있다. 이러한 SSD는 다수의 메모리 어레이 및 그 위의 주변 회로망을 포함하여 하나 이상의 플래시 메모리 다이를 포함할 수도 있다. 플래시 메모리 어레이는 다수의 물리적 페이지로 조직된 메모리 셀의 다수의 블록을 포함할 수 있다. 많은 실시예에서, SSD는 또한 DRAM 또는 SRAM(또는 다른 형태의 메모리 다이 또는 다른 메모리 구조)을 포함할 것이다. SSD는 메모리 디바이스와 호스트 간에서 데이터(예를 들어, 사용자 데이터와, 오류 데이터 및 어드레스 데이터 등과 같은 관련 무결성 데이터)를 전송하기 위한 판독 작동(operation) 또는 기입 작동, 또는 메모리 디바이스로부터 데이터를 소거하는 소거 작동과 같은 메모리 작동과 관련하여 호스트로부터 명령어를 수신할 수 있다.
반드시 축척대로 도시된 것은 아닌 도면에서, 유사한 도면 부호는 상이한 도면에서 유사한 구성 요소를 설명할 수도 있다. 다른 문자 접미사를 갖는 유사한 도면 부호는 유사한 구성 요소의 다른 실시예를 나타낼 수도 있다. 도면은 일반적으로 본 문서에서 논의된 다양한 실시형태를 실시예로서 제한없이 도시한다.
도 1은 메모리 디바이스를 포함하는 환경의 예를 도시하는 도면.
도 2는 NAND 온도 데이터 관리를 위한 시스템의 예시적인 블록도.
도 3은 상이한 온도 기입 조건 동안 셀 전압 드리프트의 예를 도시하는 도면.
도 4a 및 도 4b는 NAND 온도 데이터를 위한 저장 구성을 도시하는 도면.
도 5 및 도 6은 3D NAND 아키텍처 반도체 메모리 어레이의 예의 개략도.
도 7은 메모리 모듈의 예시적인 블록도.
도 8은 NAND 온도 데이터 관리를 위한 방법의 흐름도.
도 9는 하나 이상의 실시형태가 구현될 수도 있는 기계의 예를 도시하는 블록도.
플래시 디바이스는 제어 게이트에 의해 채널을 개방하는 것을 방해하는 셀 내(예를 들어, 전하 트랩 또는 부동 게이트 내) 전하의 트랩핑에 의해 작동된다. 제어 게이트 판독 전압은 2개의 트랩핑된 전하 상태 간에 있도록 캘리브레이팅된다(calibrated). 따라서, 채널이 개방된다면(예를 들어, 제어 게이트 전압이 트랩핑된 전하를 무시할 수 있다면), 셀은 하나의 값(예를 들어, 싱글 레벨 셀(SLC)에서 '1')을 갖고 그리고 채널이 개방되지 않는다면 상이한 값(예를 들어, SLC에서 '0')을 갖는다. 따라서, 트랩핑된 전하가 판독 전압에 의해 캘리브레이팅되는 것이 중요하다.
트랩핑된 전하 및 판독 전압의 캘리브레이션은 수개의 환경에 의해 영향받을 수도 있다. 예를 들어, 트랩핑된 전하는 시간에 걸쳐 소멸될 수도 있다. 이것이 검출될 수도 있고 그리고 셀이 리프레시될 수도 있다. 리프레시는 셀 자체의 마모의 대가로 데이터 무결성을 보존하는 것을 돕는다. 따라서, 시스템 레벨에서, 플래시 블록은 셀 전압 마진이 블록에서 감소될 때마다 리프레시된다. 마진은 전하 이득과 전하 손실의 다양한 조합에 기인하여 악화될 수 있다. 그러나, 너무 많은 리프레시 활동은 셀 기입 사이클과 소거 사이클 및 처리 둘 다의 낭비를 발생시킨다(예를 들어, 자원이 리프레시를 수행하도록 사용될 때 플래시 디바이스에 대한 성능 영향을 초래함).
트랩핑된 전하 및 판독 전압의 캘리브레이션에 대한 또 다른 문제는 온도이다. 일반적으로, 플래시 트랜지스터의 문턱값 전압은 온도에 따라 변경된다. NAND 제어기는 보통 주위 온도에 기초하여 판독 전압을 보상한다. 문턱값 전압 및 판독 전압 조정은 NAND 패키지에 수백만개의 트랜지스터가 있고 그리고 온도에 대한 문턱값 전압 이동에 대하여 트랜지스터-대-트랜지스터 차가 있을 수도 있기 때문에 관련되지 않을 수도 있다. 따라서, 하나의 온도에서 프로그래밍 및 상이한 온도에서 판독은 마진을 악화시키는 경향이 있지만, 마진 손실은 일시적이다(예를 들어, 마진은 판독 온도가 기입 온도와 유사해질 때까지 판독 전압을 조정하거나 또는 대기함으로써 치유 가능하다).
이 문제를 해결하기 위해서 -예를 들어, 교차 온도 관련된 높은 실패 비트수 시나리오에 기인한 불필요한 리프레시를 최소화하기 위해서- 기입 온도는 기입된 데이터와 함께 저장된다. 미관리된 플래시 디바이스에서, 호스트는 보통 플래시 온도를 끊임없이 모니터링할 것이고 그리고 호스트에 액세스 가능한 사용자 데이터 영역에 기입 온도를 포함할 것이다. 기입 온도가 이제 데이터와 함께 저장되지만, 이것은 다시 수개의 문제를 제기한다. 예를 들어, 이 온도에 대한 플래시 구성 요소를 폴링하고(poll) 그리고 이어서 이 온도를 다시 플래시 디바이스에 재기입할 때 상당한 시그널링 오버헤드가 있다. 이 경우에, 호스트(예를 들어, 펌웨어)가 온도를 실시간으로 추적해야 해서, 추가 자원 사용(예를 들어, 호스트의 메모리 제어기의 히트)을 발생시킨다.
이 문제를 처리하기 위해서, NAND 제어기 관리된 온도 추적이 제안된다. NAND 제어기는 제어기 데이터(예를 들어, 오류 정정 또는 다른 메타데이터)를 위해 비축된 페이지 내 플래시 셀과 같은, 플래시 디바이스의 보조 바이트에 온도 정보를 기입한다. 제어기가 온도 측정 및 기입을 관리하기 때문에, 호스트(예를 들어, 메모리 제어기 또는 펌웨어)는 온도 판독 및 기입 오버헤드에 대해 부담을 지지 않는다.
NAND 제어기는 또한 유지보수 절차를 관리하도록, 이제 NAND 제어기에 액세스 가능한, 저장된 온도를 사용할 수도 있다. 예를 들어, 제어기는 기입 오류가 불량한 구성 요소(예를 들어, 온도가 서로의 문턱값 내에 있을 때)에 기인하거나 또는 교차-온도 효과(예를 들어, 기입 온도가 현재의 온도보다 더 높은 문턱값을 넘었음)에 기인하는지를 결정하도록 저장된 온도와 현재의 온도를 비교할 수 있다. 후자의 경우라면, 제어기는 블록을 리프레시하는 것, 블록을 불량으로 마킹하는 것(예를 들어, 블록을 폐기) 등을 삼갈 수 있다. 실시예에서, 제어기가 심지어 저장된 온도를 사용하여 판독 전압을 정정해서 제1 장소의 오류를 방지할 수도 있다. 실시예에서, 페이지가 일반적으로 플래시 어레이의 가장 작은 어드레스 호출 가능 부분이기 때문에, 제어기는 시동 시 각각의 페이지를 판독할 수도 있고, 오류 정정을 수행하여 온도 정보를 복구시킬 수도 있고, 그리고 각각의 블록의 온도를 저장하여 판독 전압을 정정할 수도 있거나 또는 온도를 호스트에 제공하여 판독 전압을 정정할 수도 있다. 저장을 위해 또는 제한된 수의 보조 바이트의 페이지 저장을 위해 온도 데이터를 관리하기 위해서, 제어기는 온도 판독값을 양자화할 수도 있다. 여기서, 온도 판독값의 양자화는 온도 측정 미만의 레졸루션(resolution)에서 온도의 표현을 저장하는 것을 수반한다. 따라서, 온도는 5 정도의 증분으로 저장될 수도 있거나 또는 간단히 라벨링될 수도 있고, 너무 저온이 될 수도 있고, 너무 고온이 될 수도 있고 그리고 적당할 수도 있다. 양자화는 오류 정정이 초기의 판독을 위해 필요할 수도 있는 비트의 수를 감소시킴으로써 온도 데이터가 더 쉽게 판독되게 하는 추가의 이득을 가질 수도 있다. 추가의 상세사항 및 실시예가 아래에 설명된다.
모바일 전자 디바이스(예를 들어, 스마트 폰, 태블릿 등)와 같은 전자 디바이스, 자동차 애플리케이션(예를 들어, 자동차 센서, 제어 유닛, 운전자 보조 시스템, 승객 안전 또는 안락 시스템 등)에서 사용하기 위한 전자 디바이스, 및 인터넷에 연결된 전자 기기 또는 디바이스(예를 들어, 사물 인터넷(internet-of-things: IoT) 디바이스 등)는 특히 전자 디바이스의 유형, 사용 환경, 성능 기대치 등에 따라 변하는 스토리지 요구를 가진다.
전자 디바이스는 몇몇 주요 구성 요소로 분류될 수 있다: 프로세서(예를 들어, 중앙 처리 유닛(CPU) 또는 다른 메인 프로세서); 메모리(예를 들어, 동적 RAM(DRAM), 모바일 또는 저전력 2배속 동기식 DRAM(DDR SDRAM) 등과 같은 하나 이상의 휘발성 또는 비휘발성 랜덤 액세스 메모리(RAM) 메모리 디바이스); 및 기억 장치(예를 들어, 플래시 메모리, 판독 전용 메모리(ROM), SSD, MMC, 또는 다른 메모리 카드 구조 또는 조립체 등과 같은 비휘발성 메모리(NVM) 디바이스). 특정 실시예에서, 전자 디바이스는 사용자 인터페이스(예를 들어, 디스플레이, 터치 스크린, 키보드, 하나 이상의 버튼 등), 그래픽 처리 유닛(graphics processing unit: GPU), 전력 관리 회로, 기저 대역 프로세서 또는 하나 이상의 트랜시버 회로 등을 포함할 수 있다.
도 1은 통신 인터페이스를 통해 통신하도록 구성된 호스트 디바이스(105) 및 메모리 디바이스(110)를 포함하는 환경(100)의 예를 도시한다. 호스트 디바이스(105) 또는 메모리 디바이스(110)는 제품(150)의 처리, 통신 또는 제어를 지원하도록 사물 인터넷(IoT) 디바이스(예를 들어, 냉장고 또는 다른 전자 기기, 센서, 모터 또는 액추에이터, 이동 통신 디바이스, 자동차, 드론 등)와 같은 다양한 제품(150)에 포함될 수 있다.
메모리 디바이스(110)는 메모리 제어기(115), 및 예를 들어 다수의 개별 메모리 다이(예를 들어, 3-차원(3D) NAND 다이의 스택)를 포함하는 메모리 어레이(120)를 포함한다. 3D 아키텍처 반도체 메모리 기술에서, 수직 구조는 적층되어, 계층의 수, 물리적 페이지, 따라서 메모리 디바이스(예를 들어, 기억 장치)의 밀도를 증가시킨다. 실시예에서, 메모리 디바이스(110)는 호스트 디바이스(105)의 이산 메모리 또는 기억 장치 구성 요소일 수 있다. 다른 실시예에서, 메모리 디바이스(110)는 적층된 또는 그렇지 않으면 호스트 디바이스(105)의 하나 이상의 다른 구성 요소가 포함된 집적 회로(예를 들어, 시스템 온 칩(SOC) 등)일 수 있다.
하나 이상의 통신 인터페이스는 메모리 디바이스(110)와, SATA(Serial Advanced Technology Attachment) 인터페이스, PCIe(Peripheral Component Interconnect Express) 인터페이스, 범용 직렬 버스(USB) 인터페이스, 범용 플래시 스토리지(UFS) 인터페이스, eMMC™ 인터페이스 또는 하나 이상의 다른 커넥터 또는 인터페이스와 같은 호스트 디바이스(105)의 하나 이상의 다른 구성 요소 사이에서 데이터를 전송하도록 사용될 수 있다. 호스트 디바이스(105)는 호스트 시스템, 전자 디바이스, 프로세서, 메모리 카드 리더, 또는 메모리 디바이스(110)의 외부에 있는 하나 이상의 다른 전자 디바이스를 포함할 수 있다. 일부 실시예에서, 호스트(105)는 도 9의 기계(900)를 참조하여 논의된 구성 요소의 일부 또는 전부를 갖는 기계일 수 있다.
메모리 제어기(115)는 호스트(105)로부터 명령을 수신할 수 있고, 메모리 어레이의 메모리 셀, 플레인(plane), 서브 블록, 블록, 또는 페이지 중 하나 이상에(예를 들어, 기입 또는 소거) 또는 이로부터(예를 들어, 판독) 데이터를 전송하는 것과 같이 메모리 어레이와 통신할 수 있다. 메모리 제어기(115)는 특히 하나 이상의 구성 요소 또는 집적 회로를 포함하여 회로망 또는 펌웨어를 포함할 수 있다. 예를 들어, 메모리 제어기(115)는, 메모리 어레이(120)에 걸친 액세스를 제어하고 호스트(105)와 메모리 디바이스(110) 사이에 변환 계층(translation layer)을 제공하도록 구성된 하나 이상의 메모리 제어 유닛, 회로 또는 구성 요소를 포함할 수 있다. 메모리 메모리(115)는 메모리 어레이(120)로 또는 이로부터 데이터를 전송하도록 하나 이상의 입력/출력(I/O) 회로, 라인 또는 인터페이스를 포함할 수 있다. 메모리 제어기(115)는 메모리 관리자(125) 및 어레이 제어기(135)를 포함할 수 있다.
메모리 관리자(125)는 특히 다양한 메모리 관리 기능과 관련된 다수의 구성 요소 또는 집적 회로와 같은 회로망 또는 펌웨어를 포함할 수 있다. 본 설명의 목적을 위해, 예시적인 메모리 작동 및 관리 기능은 NAND 메모리와 관련하여 설명될 것이다. 당업자는 다른 형태의 비휘발성 메모리가 유사한 메모리 작동 또는 관리 기능을 가질 수 있다는 것을 인식할 것이다. 이러한 NAND 관리 기능은 웨어 레벨링(예를 들어, 가비지 컬렉션(garbage collection) 또는 매립(reclamation)), 오류 검출 또는 정정, 블록 폐기, 또는 하나 이상의 다른 메모리 관리 기능을 포함한다. 메모리 관리자(125)는 호스트 명령(예를 들어, 호스트로부터 수신된 명령)을 디바이스 명령(예를 들어, 메모리 어레이의 작동과 관련된 명령 등)으로 분석하거나 또는 포맷할 수 있거나, 또는 메모리 디바이스(110)의 어레이 제어기(135) 또는 하나 이상의 다른 구성 요소를 위한 디바이스 명령(예를 들어, 다양한 메모리 관리 기능을 달성하는)을 생성할 수 있다.
메모리 관리자(125)는 메모리 디바이스(110)의 하나 이상의 구성 요소와 관련된 다양한 정보(예를 들어, 메모리 제어기(115)에 결합된 메모리 어레이 또는 하나 이상의 메모리 셀과 관련된 다양한 정보)를 유지하도록 구성된 관리 테이블(130)의 세트를 포함할 수 있다. 예를 들어, 관리 테이블(130)은 메모리 제어기(115)에 결합된 메모리 셀의 하나 이상의 블록에 대한 블록 에이지(block age), 블록 소거 카운트, 오류 이력, 또는 하나 이상의 오류 카운트(예를 들어, 기입 작동 오류 카운트, 판독 비트 오류 카운트, 판독 작동 오류 카운트, 소거 오류 카운트 등)에 관한 정보를 포함할 수 있다. 특정 실시예에서, 오류 카운트 중 하나 이상에 대해 검출된 오류의 수가 임계치보다 높으면, 비트 오류는 정정 불가능한 비트 오류로서 지칭될 수 있다. 관리 테이블(130)은 특히 정정 가능하거나 정정 불가능한 비트 오류의 카운트를 유지할 수 있다.
어레이 제어기(135)는 특히 메모리 제어기(115)에 결합된 메모리 디바이스(110)의 하나 이상의 메모리 셀에 데이터를 기입하거나, 이로부터 데이터를 판독하거나, 또는 이를 소거하는 것과 관련된 메모리 작동을 제어하도록 구성된 회로망 또는 구성 요소를 포함할 수 있다. 메모리 작동은 예를 들어 (예를 들어, 웨어 레벨링, 오류 검출 또는 정정 등과 관련하여) 호스트(105)로부터 수신되거나 또는 메모리 관리자(125)에 의해 내부적으로 생성된 호스트 명령에 기초할 수 있다.
어레이 제어기(135)는 오류 정정 코드(ECC) 구성 요소(140)를 포함할 수 있으며, 이는 특히 메모리 제어기(115)에 결합된 메모리 디바이스(110)의 하나 이상의 메모리 셀에 데이터를 기입하거나 또는 이로부터 데이터를 판독하는 것과 관련된 오류를 검출하거나 또는 정정하도록 구성된 ECC 엔진 또는 다른 회로망을 포함할 수 있다. 메모리 제어기(115)는 다양한 작동 또는 데이터의 저장과 관련된 오류 발생(예를 들어, 비트 오류, 작동 오류 등)을 능동적으로 검출하고 이로부터 복구되는 동시에, 호스트(105)와 메모리 디바이스(110) 사이에서 전송되는 데이터의 무결성을 유지하거나, 또는 저장된 데이터의 무결성을 유지하도록(예를 들어, 중복 RAID 스토리지 등을 사용하여) 구성될 수 있으며, 추후 오류를 방지하도록 결함 메모리 리소스(예를 들어, 메모리 셀, 메모리 어레이, 페이지, 블록 등)을 제거(예를 들어, 폐기)할 수 있다.
메모리 어레이(120)는 예를 들어 다수의 디바이스, 플레인, 서브 블록, 블록 또는 페이지에 배열된 몇몇 메모리 셀을 포함할 수 있다. 하나의 실시예로서, 48 GB TLC NAND 메모리 디바이스는 페이지당 18,592바이트(B)의 데이터(16,684 + 5208바이트), 블록당 1536 페이지, 플레인당 548 블록, 및 디바이스당 4 이상의 플레인을 포함할 수 있다. 다른 실시예로서, 32GB MLC 메모리 디바이스(셀당 2비트의 데이터를 저장하는(즉, 4개의 프로그램 가능 상태))는 페이지당 18,592바이트(B)의 데이터(16,684 + 5208바이트), 블록당 1024 페이지, 플레인당 548 블록, 디바이스당 4 플레인을 포함할 수 있지만, 대응하는 TLC 메모리 디바이스로서 절반의 필요한 기입 시간과 2배의 프로그램/소거(P/E) 사이클을 가진다. 다른 실시예는 다른 수 또는 배열을 포함할 수 있다. 일부 실시예에서, 메모리 디바이스 또는 그 일부는 SLC 모드 또는 원하는 MLC 모드(예를 들어, TLC, QLC 등)로 선택적으로 작동될 수 있다.
작동 시에, 데이터는 전형적으로 페이지에서 NAND 메모리 디바이스(110)에 기입되거나 이로부터 판독되고, 블록에서 소거된다. 그러나, 하나 이상의 메모리 작동(예를 들어, 판독, 기입, 소거 등)은 필요에 따라 메모리 셀의 더 크거나 더 작은 메모리 그룹에서 수행될 수 있다. NAND 메모리 디바이스(110)의 데이터 전송 크기는 전형적으로 페이지로서 지칭되는데 반하여, 호스트의 데이터 전송 크기는 일반적으로 섹터로서 지칭된다.
데이터의 페이지가 사용자 데이터의 다수의 바이트(예를 들어, 데이터의 다수의 섹터를 포함하는 데이터 페이로드) 및 이것들의 대응하는 메타데이터를 포함할 수 있을지라도, 페이지의 크기는 종종 사용자 데이터를 저장하도록 사용된 바이트의 수만을 지칭한다. 실시예로서, 4KB의 페이지 크기를 갖는 데이터의 페이지는 4KB의 사용자 데이터(예를 들어, 512B의 섹터 크기를 가정하는 8개의 섹터)뿐만 아니라, 무결성 데이터(예를 들어, 오류 검출 또는 정정 코드 데이터), 어드레스 데이터(예를 들어, 논리 어드레스 데이터 등)과 같은 사용자 데이터에 대응하는 메타데이터, 또는 사용자 데이터와 관련된 다른 메타데이터의 다수의 바이트(예를 들어, 32B, 54B, 524B 등)를 포함할 수 있다.
상이한 유형의 메모리 셀 또는 메모리 어레이(120)는 상이한 페이지 크기를 제공할 수 있거나, 또는 이와 관련된 상이한 양의 메타데이터를 요구할 수 있다. 예를 들어, 상이한 메모리 디바이스 유형은 상이한 비트 오류율을 가질 수 있으며, 이는 데이터의 페이지의 무결성을 보장하기 위해 필요한 상이한 양의 메타데이터로 이어질 수 있다(예를 들어, 보다 높은 비트 오류율을 갖는 메모리 디바이스는 보다 낮은 비트 오류율을 갖는 메모리 디바이스보다 많은 바이트의 오류 정정 코드 데이터를 요구할 수 있다). 실시예로서, 멀티-레벨 셀(MLC) NAND 플래시 디바이스는 대응하는 싱글-레벨 셀(SLC) NAND 플래시 디바이스보다 높은 비트 오류율을 가질 수 있다. 이와 같이, MLC 디바이스는 오류 데이터에 대해 대응하는 SLC 디바이스보다 보다 많은 메타데이터 바이트를 요구할 수 있다.
도 2는 NAND 온도 데이터 관리를 위한 시스템의 예시적인 블록도를 도시한다. 시스템은 작동 중일 때 인터링크(예를 들어, 버스)를 통해 호스트에 연결된 관리된 메모리 디바이스(205)(예를 들어, NAND 디바이스, 또는 NAND 플래시 디바이스)를 포함한다. 관리된 메모리 디바이스(205)는 버스 인터페이스(215), 메모리 제어 유닛(210)(예를 들어, 제어기) 및 NAND 플래시 어레이(220)를 포함한다. 제어기(210)는 명령어를 수신하여 데이터를 인터페이스(215)를 통해 NAND 구성 요소(예를 들어, 각각의 어레이(220) 내 페이지)에 기입하도록 배열된다. 제어기(210)는 명령어를 수신하는 것에 응답하여 NAND 구성 요소에 대응하는 온도를 획득하도록 배열된다. 따라서, 제어기(210)가 기입이 수신될 때 페이지에 대응하는 다이 온도를 측정할 수도 있어서, 기입과 함께 동시에 발생하는 온도 측정을 보장한다. 실시예에서, 온도를 획득하는 것은 명령어를 수신하는 것에 응답하여 온도계로부터 온도를 획득하는 것을 포함한다. 실시예에서, 온도를 획득하는 것은 버퍼로부터 온도를 획득하는 것을 포함한다. 실시예에서, 온도계는 온도를 주기적으로 측정하고 그리고 온도를 버퍼에 저장한다. 이 최근의 몇몇의 실시예에서, 제어기(210)는 구성 요소에 대응하는 온도계를 직접적으로 폴링하지 않지만, 오히려 온도계(또는 예를 들어, 유휴 기간 동안 제어기(210) 또는 다른 구성 요소)에 의해 제공된 최근의 알려진 우수한 판독을 사용한다.
제어기(210)는 명령어를 실행시켜서 데이터를 NAND 구성 요소에 기입하도록 배열된다. 게다가, 제어기(210)는 또한 데이터 기입과 함께 온도의 표현을 동시에 기입한다. 여기서, 데이터는 NAND 디바이스의 사용자 부분에 기입되고 그리고 온도의 표현은 관리 부분에 기입된다. 사용자 부분과 달리, 관리 부분은 오직 제어기에 대해 액세스 가능하고 따라서 사용자 부분으로부터 분리된다. 실시예에서, 관리 부분은 NAND 구성 요소에 있다. 실시예에서, NAND 구성 요소는 페이지이다. 실시예에서, 관리 부분은 페이지의 보조 바이트이다.
실시예에서, 온도의 표현은 획득된 온도보다 더 낮은 레졸루션에서 온도의 양자화이다. 실시예에서, 양자화는 온도 범위의 세트로부터 선택된다. 실시예에서, 온도의 표현은 온도 범위의 세트의 멤버의 식별자이다. 따라서, 이 최근의 실시예에서, 제어기(210)는 대응하는 인덱스를 각각 가진, 온도 엔트리의 맵을 가질 수도 있다. 그래서 온도의 표현은 맵 엔트리에 대응하는(예를 들어, 맵 엔트리에 의해 규정된 바와 같은 온도의 범위 내) 인덱스일 수도 있다. 이러한 구성은 온도의 압축 표현을 복잡한 시나리오에 제공할 수도 있다. 예를 들어, 온도 범위에 대한 비-선형 정정(예를 들어, 기입 온도가 증가될 때 비-선형 방식이 안 좋기 때문에 교차-온도 문제)이 있다면, 더 고온의 온도와 연관된 엔트리는 더 좁은 범위를 가질 수도 있고 반면에 최적의 작동 온도와 가까운 범위가 넓어진다.
제어기(210)는 NAND 구성 요소로부터 데이터를 판독하도록 배열되고 그리고 또한 데이터가 판독될 때 온도의 표현을 판독하도록 배열된다. 실시예에서, 데이터의 판독은 관리된 메모리 디바이스(205)의 전력 켜짐 상태의 응답이다. 실시예에서, 온도의 표현은 미래의 판독 작동을 위해 휘발성 메모리에 저장된다. 이 실시예는 데이터와 함께 온도를 저장하는 판독 이득을 획득하도록 종종 사용되는 성능 개선을 예시한다. 따라서, 일단 판독되고 그리고 저장된다면, 온도는 판독 전압이 기입으로부터 셀 전압 분포에 의해 캘리브레이팅되게 함으로써 미래의 판독에 유용할 수도 있다.
실시예에서, 데이터는 제어기(210)에서 판독 명령어를 수신하는 것에 응답하여 판독된다. 실시예에서, 온도의 표현은 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용된다. 실시예에서, 온도의 표현은 판독 명령어를 호출하는 호스트(225)에 제공된다. 실시예에서, 호스트(225)는 온도의 표현을 사용하여 판독 전압을 정정한다. 실시예에서, 제어기(210)는 온도의 표현을 사용하여 판독 전압을 정정한다.
제어기(210)는 관리 부분에 저장된 온도의 표현에 기초하여 NAND 구성 요소의 유지보수 작동을 변경하도록 배열된다. 실시예에서, 유지보수 작동은 NAND 구성 요소의 리프레시이다. 실시예에서, 유지보수 작동의 변경은 온도의 표현에 기초하여 리프레시를 수행하도록 문턱값을 조정하는 것을 포함한다. 이 실시예에서, 리프레시를 트리거링할 정상 전압 마진은 기입 온도를 처리하도록 변경될 수도 있다. 이것은 불필요한 리프레시를 감소시킬 수도 있어서, 셀의 마모를 방지하고 그리고 제어기(210)에 의한 처리를 감소시킨다. 실시예에서, 유지보수 작동은 NAND 구성 요소의 폐기이다(예를 들어, 블록을 불량으로서 마킹함). 실시예에서, 유지보수 작동의 변경은 온도의 표현에 기초하여 폐기를 수행하도록 문턱값을 조정하는 것을 포함한다. 다시, 판독 오류는 교차-온도 상태에 기여할 수도 있고 그리고 블록이 불량인지를 결정할 때 무시될 수도 있다. 실시예에서, 유지보수 작동은 판독 명령어를 NAND에 발행하기 전에 수행된 판독 전압 조정이다. 이것은 판독 오류를 최소화할 수 있어서 데이터가 제1 판독 시도 내에서 손쉽게 복구 가능할 수 있다.
도 3은 상이한 온도 기입 조건 동안 셀 전압 드리프트의 예를 도시한다. 예를 들어, 문턱값 전압(Vt) 재분포(305 및 310)는 판독 전압(315)이 캘리브레이팅되는 특정한 기입 온도 내 2개의 상태이다. 따라서, 전압(315)이 제어 게이트에 인가된다면, 재분포(305) 내에서 트랩핑된 전하를 가진 셀은 개방된 채널을 가질 것이고, 그리고 트랩핑된 전하가 재분포(310)에 있다면 셀은 폐쇄된 채널을 가질 것이다. 파선의 재분포는 고온에서 기입의 교차-온도 결과를 예시한다. 여기서, 초기의 전압 재분포(320)는 재분포(305)에 대응하지만, 판독 전압(315)을 가로지른다. 따라서, 재분포(320)에서 판독 전압(315)의 인가는 셀에 대한 폐쇄된 채널을 발생시킬 수도 있다. 이것은 오류이다. 그러나, 제어기가 교차-온도 재분포를 안다면, 판독 전압(315)은 2개의 상이한 재분포 간에 다시 속하도록 상향으로 조정될 수도 있다.
도 4a 및 도 4b는 NAND 온도 데이터를 위한 저장 구성을 도시한다. 도 4a는 페이지의 전용 부분이 제어기 메타데이터를 위해 확보되는 구성을 도시한다. 따라서, 페이지는 사용자 데이터 부분(405) 및 보조 바이트 부분(410)으로 분할된다. 온도 데이터는 보조 바이트 부분에, 예컨대, "INFO"로 마킹된 세그먼트에 저장될 수도 있다. 대조적으로, 도 4b는 보조 바이트가 사용 데이터 세그먼트 전반에 걸쳐 산재되어, 이종 부분(415)을 발생시키는 대안적인 구성을 도시한다. 그러나, "INFO" 보조 바이트(420)가 여전히 페이지에 저장되고 그리고 페이지의 온도 데이터가 마지막에 기입될 때 페이지의 온도 데이터를 저장할 수 있다.
도 5는 블록(예를 들어, 블록 A(501A), 블록 B(501B) 등) 및 서브 블록(예를 들어, 서브 블록 A0(501A0), 서브 블록 An(501An), 서브 블록 B0(501B0), 서브 블록 Bn(501Bn) 등)에서 조직된, 메모리 셀의 다수의 스트링(예를 들어, 제1 내지 제3 A0 메모리 스트링(505A0 내지 507A0), 제1 내지 제3 An 메모리 스트링(505An 내지 507An), 제1 내지 제3 B0 메모리 스트링(505B0 내지 507B0), 제1 내지 제3 Bn 메모리 스트링(505Bn 내지 507Bn) 등)을 포함하는 3D NAND 아키텍처 반도체 메모리 어레이(500)의 예시적인 개략도를 도시한다. 메모리 어레이(500)는 블록, 디바이스 또는 메모리 디바이스의 다른 유닛에서 전형적으로 발견되곤 하는 더 많은 수의 유사한 구조의 일부를 나타낸다.
메모리 셀의 각각의 스트링은 소스 라인(SRC)(535) 또는 소스측 선택 게이트(SGS)(예를 들어, 제1 내지 제3 A0 SGS(531A0 내지 533A0), 제1 내지 제3 An SGS(531An 내지 533An), 제1 내지 제3 B0 SGS(531B0 내지 533B0), 제1 내지 제3 Bn SGS(531Bn 내지 533Bn) 등)과 드레인측 선택 게이트(SGD)(예를 들어, 제1 내지 제3 A0 SGD(526A0 내지 528A0), 제1 내지 제3 An SGD(526An 내지 528An), 제1 내지 제3 B0 SGD(526B0 내지 528B0), 제1 내지 제3 Bn SGD(526Bn 내지 528Bn) 등) 사이에서 소스로부터 드레인으로 Z 방향으로 적층된 다수의 계층의 전하 저장 트랜지스터(예를 들어, 부동 게이트 트랜지스터, 전하 트랩 구조 등)를 포함한다. 3D 메모리 어레이에서의 메모리 셀의 각각의 스트링은 데이터 라인(예를 들어, 비트 라인(BL) BL0 내지 BL2(520 내지 522))으로서 X 방향을 따라서, 그리고 물리적 페이지로서 Y 방향을 따라서 배열될 수 있다.
물리적 페이지 내에서, 각각의 계층은 메모리 셀의 행을 나타내고, 메모리 셀의 각각의 스트링은 열을 나타낸다. 서브 블록은 하나 이상의 물리적 페이지를 포함할 수 있다. 블록은 다수의 서브 블록(또는 물리적 페이지)(예를 들어, 128, 556, 684 등)을 포함할 수 있다. 비록 본 명세서에서 2개의 블록을 갖는 것으로 도시되어 있을지라도, 각각의 블록은 2개의 서브 블록을 가지며, 각각의 서브 블록은 단일 물리적 페이지를 가지며, 각각의 물리적 페이지는 메모리 셀의 3개의 스트링을 가지며, 각각의 스트링은 메모리 셀의 8개의 계층을 가지며, 다른 실시예에서, 메모리 어레이(500)는 더 많거나 더 적은 블록, 서브 블록, 물리적 페이지, 메모리 셀의 스트링, 메모리 셀 또는 계층을 포함할 수 있다. 예를 들어, 메모리 셀의 각각의 스트링은 필요에 따라 더 많거나 더 적은 계층(예를 들어, 16, 32, 64, 128 등)뿐만 아니라 전하 저장 트랜지스터(예를 들어, 선택 게이트, 데이터 라인 등)를 포함할 수 있다. 실시예로서, 48GB TLC NAND 메모리 디바이스는 페이지당 18,592바이트(B)의 데이터(16,684 + 5208바이트), 블록당 1536 페이지, 플레인당 548 블록 및 디바이스당 4 이상의 플레인을 포함할 수 있다.
메모리 어레이(500)에서의 각각의 메모리 셀은 액세스 라인(예를 들어, 워드 라인(WL) WL00 내지 WL70(510A 내지 517A), WL01 내지 WL71(510B 내지 517B) 등)에 결합된(예를 들어, 전기적으로 또는 달리 작동 가능하게 접속된) 제어 게이트(CG)를 포함하며, 액세스 라인은 필요에 따라 특정 계층 또는 계층의 일부에 걸쳐 제어 게이트(CG)를 집합적으로 결합한다. 3D 메모리 어레이에서의 특정 계층, 따라서 스트링에서의 특정 메모리 셀은 각각의 액세스 라인을 사용하여 액세스되거나 제어될 수 있다. 선택 게이트의 그룹은 다양한 선택 라인을 사용하여 액세스될 수 있다. 예를 들어, 제1 내지 제3 A0 SGD(526A0 내지 528A0)은 A0 SGD 라인 SGDA0(525A0)을 사용하여 액세스될 수 있으며, 제1 내지 제3 An SGD(526An 내지 528An)은 An SGD 라인 SGDAn(525An)을 사용하여 액세스될 수 있으며, 제1 내지 제3 B0 SGD(526B0 내지 528B0)는 B0 SGD 라인 SGDB0(525B0)을 사용하여 액세스될 수 있으며, 제1 내지 제3 Bn SGD(526Bn 내지 528Bn)는 Bn SGD 라인 SGDBn(525Bn)을 사용하여 액세스될 수 있다. 제1 내지 제3 A0 SGS(531A0 내지 533A0) 및 제1 내지 제3 An SGS(531An 내지 533An)은 게이트 선택 라인 SGS0(530A)을 사용하여 액세스될 수 있고, 제1 내지 제3 B0 SGS(531B0 내지 533B0) 및 제1 내지 제3 Bn SGS(531Bn 내지 533Bn)는 게이트 선택 라인 SGS1(530B)을 사용하여 액세스될 수 있다.
실시예에서, 메모리 어레이(500)는 각각의 메모리 셀의 제어 게이트(CG) 또는 어레이의 각각의 계층의 선택 게이트(또는 CG 또는 선택 게이트의 일부)를 결합하도록 구성된 다수의 레벨의 반도체 재료(예를 들어, 폴리실리콘 등)를 포함할 수 있다. 어레이에서의 메모리 셀의 특정 스트링은 비트 라인(BL) 및 선택 게이트 등의 조합을 사용하여 액세스되거나, 선택되거나 또는 제어될 수 있고, 특정 스트링에서의 하나 이상의 계층에 있는 특정 메모리 셀은 하나 이상의 액세스 라인(예를 들어, 워드 라인)을 사용하여 액세스되거나, 선택되거나 또는 제어될 수 있다.
도 6은 스트링(예를 들어, 제1 내지 제3 스트링(605 내지 607)) 및 계층(예를 들어, 각각의 워드라인(WL) WL0 내지 WL7(610 내지 617), 드레인측 선택 게이트(SGD) 라인(625), 소스측 선택 게이트(SGS) 라인(630) 등)의 2차원 어레이에 배열된 복수의 메모리 셀(602), 및 감지 증폭기 또는 디바이스(660)를 포함하는 NAND 아키텍처 반도체 메모리 어레이(600)의 일부의 예시적인 개략도를 도시한다. 예를 들어, 메모리 어레이(600)는 도 5에 도시된 바와 같이 3D NAND 아키텍처 반도체 메모리 디바이스의 메모리 셀의 하나의 물리적 페이지의 일부의 예시적인 개략도를 예시할 수 있다.
메모리 셀의 각각의 스트링은 각각의 소스측 선택 게이트(SGS)(예를 들어, 제1 내지 제3 SGS(631 내지 633))를 사용하여 소스 라인(SRC)에, 그리고 각각의 드레인측 선택 게이트(SGD)(예를 들어, 제1 내지 제3 SGD(626 내지 628))를 사용하여 각각의 데이터 라인(예를 들어, 제1 내지 제3 비트 라인(BL) BL0 내지 BL2(620 내지 622))에 결합된다. 도 6의 실시예에서 8개의 계층(예를 들어, 워드 라인(WL) WL0 내지 WL7(610 내지 617)을 사용하는) 및 3개의 데이터 라인(BL0 내지 BL2(626 내지 628))으로 도시되었을지라도, 다른 실시예는 필요에 따라 더 많거나 더 적은 계층 또는 데이터 라인을 갖는 메모리 셀의 스트링을 포함할 수 있다.
예시적인 메모리 어레이(600)와 같은 NAND 아키텍처 반도체 메모리 어레이에서, 선택된 메모리 셀(602)의 상태는 선택된 메모리 셀을 포함하는 특정 데이터 라인과 관련된 전류 또는 전압 변동을 감지하는 것에 의해 액세스될 수 있다. 메모리 어레이(600)는 하나 이상의 드라이버를 사용하여 (예를 들어, 제어 회로, 하나 이상의 프로세서, 디지털 논리 등에 의해) 액세스될 수 있다. 실시예에서, 하나 이상의 드라이버는 특정 메모리 셀 또는 메모리 셀의 세트에서 수행되고자 하는 작동의 유형에 의존하여 하나 이상의 데이터 라인(예를 들어, 비트 라인(BL0 내지 BL2)), 액세스 라인(예를 들어, 워드 라인(WL0 내지 WL7)), 또는 선택 게이트에 특정 전위를 구동하는 것에 의해 특정 메모리 셀 또는 메모리 셀의 세트를 활성화시킬 수 있다.
데이터를 메모리 셀에 기입(예를 들어, 프로그래밍)하기 위해, 프로그래밍 전압(Vpgm)(예를 들어, 하나 이상의 프로그래밍 펄스 등)은 선택된 워드 라인(예를 들어, WL4)에, 그러므로 선택된 워드 라인에 결합된 각각의 메모리 셀의 제어 게이트(예를 들어, WL4에 결합된 메모리 셀의 제1 내지 제3 제어 게이트(CG)(641 내지 643))에 인가될 수 있다. 프로그래밍 펄스는 예를 들어 15V 또는 그 부근에서 시작될 수 있으며, 특정 실시예에서 각각의 프로그래밍 펄스 인가 동안 크기가 증가할 수 있다. 기입 전압이 선택된 워드 라인에 인가되는 동안, 접지 전위(예를 들어, Vss)와 같은 전위는 프로그래밍을 위해 표적화된 메모리 셀의 데이터 라인(예를 들어, 비트 라인) 및 기판(그러므로 소스와 드레인 사이의 채널)에 인가되어, 채널로부터 표적 메모리 셀의 부동 게이트로의 전하 이동(예를 들어, 직접 주입 또는 FN(Fowler-Nordheim) 터널링 등)을 초래한다.
대조적으로, 통과 전압(Vpass)은 프로그래밍을 위해 표적화되지 않은 메모리 셀을 갖는 하나 이상의 워드 라인에 인가될 수 있거나, 또는 금지 전압(예를 들어, Vcc)은 예를 들어, 채널로부터 이러한 비표적 메모리 셀의 부동 게이트로 전하가 이동되는 것을 방지하도록 프로그래밍을 위해 표적화되지 않은 메모리 셀을 갖는 데이터 라인(예를 들어, 비트 라인)에 인가될 수 있다. 통과 전압은, 예를 들어, 프로그래밍을 위해 표적화된 워드 라인에 인가된 통과 전압의 근접성에 따라 변할 수 있다. 금지 전압은 접지 전위(예를 들어, Vss)에 대한 외부 소스 또는 공급원(예를 들어, 배터리, AC-DC 컨버터 등)으로부터의 전압과 같은 공급 전압(Vcc)을 포함할 수 있다.
실시예로서, 프로그래밍 전압(예를 들어, 15V 이상)이 WL4와 같은 특정 워드 라인에 인가되면, 10V의 통과 전압은 비표적 메모리 셀의 프로그래밍을 금지하거나, 또는 프로그래밍을 위해 표적화되지 않은 이러한 메모리 셀에 저장된 값을 유지하도록 WL3, WL5 등과 같은 하나 이상의 다른 워드 라인에 인가될 수 있다. 인가된 기입 전압과 비표적 메모리 셀 사이의 거리가 증가함에 따라서, 비표적 메모리 셀의 프로그래밍을 억제하는데 필요한 통과 전압은 감소될 수 있다. 예를 들어, 15V의 프로그래밍 전압이 WL4에 인가되는 경우에, 10V의 통과 전압이 WL3 및 WL5에 인가될 수 있고, 8V의 통과 전압이 WL2 및 WL6에 인가될 수 있고, 7V의 통과 전압이 WL1 및 WL7 등에 인가될 수 있다. 다른 실시예에서, 통과 전압 또는 워드 라인의 수 등은 더 높거나 더 낮거나, 또는 더 많거나 더 적을 수 있다.
데이터 라인(예를 들어, 제1, 제2 또는 제3 비트 라인(BL0 내지 BL2)(620 내지 622))에 결합된 감지 증폭기(660)는 특정 데이터 라인에서의 전압 또는 전류를 감지하는 것에 의해 각각의 데이터 라인에 있는 각각의 메모리 셀의 상태를 검출할 수 있다.
하나 이상의 프로그래밍 펄스(예를 들어, Vpgm)의 인가 사이에서, 선택된 메모리 셀이 그 의도된 프로그래밍된 상태에 도달하였는지를 결정하기 위해 검증 작동이 수행될 수 있다. 선택된 메모리 셀은 그 의도된 프로그래밍된 상태에 도달하였으면 추가 프로그래밍으로부터 금지될 수 있다. 선택된 메모리 셀이 그 의도된 프로그래밍된 상태에 도달하지 않으면, 추가 프로그래밍 펄스가 인가될 수 있다. 선택된 메모리 셀이 특정 수(예를 들어, 최대 수)의 프로그래밍 펄스 후에 그 의도된 프로그래밍된 상태에 도달하지 않았으면, 선택된 메모리 셀, 또는 이러한 선택된 메모리 셀과 관련된 스트링, 블록, 또는 페이지는 결함으로서 마킹될 수 있다.
메모리 셀 또는 메모리 셀의 그룹을 소거하기 위해(예를 들어, 소거는 전형적으로 블록 또는 서브 블록에서 수행된다), 소거 전압(Vers)(예를 들어, 전형적으로 Vpgm)이 소거(예를 들어, 하나 이상의 비트 라인, 선택 게이트 등을 사용하여)를 위해 표적화된 메모리 셀의 기판(그러므로, 소스와 드레인 사이의 채널)에 인가될 수 있는 반면에, 표적 메모리 셀의 워드 라인은 접지 전위(예를 들어, Vss)와 같은 전위에서 유지되어, 표적 메모리 셀의 부동 게이트로부터 채널로의 전하 이동(예를 들어, 직접 주입 또는 FN(Fowler-Nordheim) 터널링 등)을 초래한다.
도 7은 복수의 메모리 셀(704)을 갖는 메모리 어레이(702), 및 메모리 어레이(702)와의 통신을 제공하거나 메모리 어레이 상에서 하나 이상의 메모리 작동을 수행하기 위한 하나 이상의 회로 또는 구성 요소를 포함하는 메모리 디바이스(700)의 예시적인 블록도를 도시한다. 메모리 디바이스(700)는 행 디코더(712), 열 디코더(714), 감지 증폭기(720), 페이지 버퍼(722), 선택기(724), 입력/출력(I/O) 회로(726) 및 메모리 제어 유닛(730)을 포함할 수 있다.
메모리 어레이(702)의 메모리 셀(704)은 제1 블록 및 제2 블록(702A, 702B)과 같은 블록에 배열될 수 있다. 각각의 블록은 서브 블록을 포함할 수 있다. 예를 들어, 제1 블록(702A)은 제1 서브 블록 및 제2 서브 블록(702A0, 702An)을 포함할 수 있고, 제2 블록(702B)은 제1 서브 블록 및 제2 서브 블록(702B0, 702Bn)을 포함할 수 있다. 각각의 서브 블록은 다수의 물리적 페이지를 포함할 수 있고, 각각의 페이지는 다수의 메모리 셀(704)을 포함한다. 비록 여기에서 2개의 블록을 갖는 것으로 도시되었을지라도, 각각의 블록은 2개의 서브 블록을 가지며, 각각의 서브 블록은 다수의 메모리 셀(704)을 가지며, 다른 실시예에서, 메모리 어레이(702)는 더 많거나 더 적은 블록, 서브 블록, 메모리 셀 등을 포함할 수 있다. 다른 실시예에서, 메모리 셀(704)은 다수의 행, 열, 페이지, 서브 블록 등에 배열될 수 있고, 예를 들어, 액세스 라인(706), 제1 데이터 라인(710), 또는 하나 이상의 선택 게이트, 소스 라인 등을 사용하여 액세스될 수 있다.
메모리 제어 유닛(730)은, 예를 들어, 원하는 작동(예를 들어, 기입, 판독, 소거 등)을 나타내는 하나 이상의 클록 신호 또는 제어 신호를 포함하는, 제어 라인(732)에서 수신된 하나 이상의 신호 또는 명령, 또는 하나 이상의 어드레스 라인(716)에서 수신된 어드레스 신호(A0 내지 AX)에 따라서 메모리 디바이스(700)의 메모리 작동을 제어할 수 있다. 메모리 디바이스(700)의 외부에 있는 하나 이상의 디바이스는 제어 라인(732)에 대한 제어 신호, 또는 어드레스 라인(716)에 대한 어드레스 신호의 값을 제어할 수 있다. 메모리 디바이스(700)의 외부에 있는 디바이스의 예는 호스트, 메모리 제어기, 프로세서, 또는 도 7에 도시되지 않은 하나 이상의 회로 또는 구성 요소를 포함할 수 있지만 이에 제한되지는 않는다.
메모리 디바이스(700)는 액세스 라인(706) 및 제1 데이터 라인(710)을 사용하여, 메모리 셀(704) 중 하나 이상에(예를 들어, 기입 또는 소거) 또는 이로부터(예를 들어, 판독) 데이터를 전송할 수 있다. 행 디코더(712) 및 열 디코더(714)는 어드레스 라인(716)으로부터 어드레스 신호(A0 내지 AX)를 수신하여 디코딩할 수 있고, 어느 메모리 셀(704)이 액세스될지를 결정할 수 있고, 전술한 바와 같이 액세스 라인(706)(예를 들어, 복수의 워드 라인(WL0 내지 WLm) 중 하나 이상) 또는 제1 데이터 라인(710)(예를 들어, 복수의 비트 라인(BL0 내지 BLn) 중 하나 이상) 중 하나 이상에 신호를 제공할 수 있다.
메모리 디바이스(700)는 제1 데이터 라인(710)을 사용하여 메모리 셀(704)에 대한 데이터의 값을 결정(예를 들어, 판독)하거나 또는 메모리 셀에 기입될 데이터의 값을 결정하도록 구성된 감지 증폭기(720)와 같은 감지 회로망을 포함할 수 있다. 예를 들어, 메모리 셀(704)의 선택된 스트링에서, 감지 증폭기(720) 중 하나 이상은 선택된 스트링을 통하여 데이터 라인(710)으로 메모리 어레이(702)에서 흐르는 판독 전류에 응답하여 선택된 메모리 셀(704)에서의 논리 레벨을 판독할 수 있다.
메모리 디바이스(700)의 외부에 있는 하나 이상의 디바이스는 I/O 라인(DQ0 내지 DQN)(708), 어드레스 라인(716)(A0 내지 AX) 또는 제어 라인(732)을 사용하여 메모리 디바이스(700)와 통신할 수 있다. 출력(I/O) 회로(726)는 예를 들어 제어 라인(732) 및 어드레스 라인(716)에 따라서 I/O 라인(708)을 사용하여 페이지 버퍼(722) 또는 메모리 어레이(702) 안 또는 밖으로와 같은 메모리 디바이스(700)의 안 또는 밖으로 데이터의 값을 전송할 수 있다. 페이지 버퍼(722)는 데이터가 메모리 어레이(702)의 관련 부분으로 프로그래밍되기 전에 메모리 디바이스(700)의 외부에 있는 하나 이상의 디바이스로부터 수신 데이터를 저장할 수 있거나, 또는 데이터가 메모리 디바이스(700)의 외부에 있는 하나 이상의 디바이스로 전송되기 전에 메모리 어레이(702)로부터 판독된 데이터를 저장할 수 있다.
열 디코더(714)는 어드레스 신호(A0 내지 AX)를 수신하여 하나 이상의 열 선택 신호(CSEL1 내지 CSELn)로 디코딩할 수 있다. 선택기(724)(예를 들어, 선택 회로)는 열 선택 신호(CSEL1 내지 CSELn)를 수신하고, 메모리 셀(704)로부터 판독되거나 메모리 셀로 프로그래밍될 데이터의 값을 나타내는 데이터를 페이지 버퍼(722)에서 선택할 수 있다. 선택된 데이터는 제2 데이터 라인(718)을 사용하여 페이지 버퍼(722)와 I/O 회로(726) 사이에서 전송된다.
메모리 제어 유닛(730)은 외부 소스 또는 공급원(예를 들어, 내부 또는 외부 배터리, AC-DC 컨버터 등)으로부터 공급 전압(Vcc)(734) 및 음의 공급 전압(Vss)(736)(예를 들어, 접지 전위)과 같은 양 및 음의 공급 신호를 수신할 수 있다. 특정 실시예에서, 메모리 제어 유닛(730)은 양 또는 음의 공급 신호를 내부적으로 제공하는 조정기(728)를 포함할 수 있다.
도 8은 NAND 온도 데이터 관리를 위한 방법(800)의 흐름도를 도시한다. 방법(800)의 작동은 하드웨어, 예컨대, 위에서 또는 아래에서 설명된 하드웨어(예를 들어, 처리 회로망)에 의해 수행된다.
작동(805)에서, NAND 디바이스의 제어기가 명령어를 수신하여 데이터를 NAND 디바이스 내 NAND 구성 요소에 기입한다.
작동(810)에서, NAND 구성 요소에 대응하는 온도는 명령어를 수신하는 것에 응답하여 획득된다. 실시예에서, 온도를 획득하는 것은 명령어를 수신하는 것에 응답하여 온도계로부터 온도를 획득하는 것을 포함한다. 실시예에서, 온도를 획득하는 것은 버퍼로부터 온도를 획득하는 것을 포함한다. 실시예에서, 온도계는 온도를 주기적으로 측정하고 그리고 온도를 버퍼에 저장한다.
작동(815)에서, 명령어가 실행되어 데이터를 NAND 구성 요소에 기입한다. 게다가, 온도의 표현은 또한 데이터 기입과 동시에 기입된다. 여기서, 데이터는 NAND 디바이스의 사용자 부분에 기입되고 그리고 온도의 표현은 관리 부분에 기입된다. 사용자 부분과 달리, 관리 부분은 오직 제어기에 대해 액세스 가능하고 따라서 사용자 부분으로부터 분리된다. 실시예에서, 관리 부분은 NAND 구성 요소에 있다. 실시예에서, NAND 구성 요소는 페이지이다. 실시예에서, 관리 부분은 페이지의 보조 바이트이다.
실시예에서, 온도의 표현은 획득된 온도보다 더 낮은 레졸루션에서 온도의 양자화이다. 실시예에서, 양자화는 온도 범위의 세트로부터 선택된다. 실시예에서, 온도의 표현은 온도 범위의 세트의 멤버의 식별자이다.
방법(800)은 NAND 구성 요소로부터 데이터를 판독하도록 그리고 또한 데이터가 판독될 때 온도의 표현을 판독하도록 연장될 수도 있다. 실시예에서, 데이터의 판독은 NAND 디바이스의 전력 켜짐 상태의 응답이다. 실시예에서, 온도의 표현은 미래의 판독 작동을 위해 휘발성 메모리에 저장된다.
실시예에서, 데이터는 제어기에서 판독 명령어를 수신하는 것에 응답하여 판독된다. 실시예에서, 온도의 표현은 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용된다. 실시예에서, 온도의 표현은 판독 명령어를 호출하는 호스트에 제공된다. 실시예에서, 호스트는 온도의 표현을 사용하여 판독 전압을 정정한다.
방법(800)은 관리 부분에 저장된 온도의 표현에 기초하여 NAND 구성 요소의 유지보수 작동을 변경함으로써 연장될 수도 있다. 실시예에서, 유지보수 작동은 NAND 구성 요소의 리프레시이다. 실시예에서, 유지보수 작동의 변경은 온도의 표현에 기초하여 리프레시를 수행하도록 문턱값을 조정하는 것을 포함한다. 실시예에서, 유지보수 작동은 NAND 구성 요소의 폐기이다. 실시예에서, 유지보수 작동의 변경은 온도의 표현에 기초하여 폐기를 수행하도록 문턱값을 조정하는 것을 포함한다.
도 9는 본 명세서에서 논의된 임의의 하나 이상의 기술(예를 들어, 방법론)이 수행될 수도 있는 예시적인 기계(900)의 블록도를 도시한다. 대안적인 실시형태에서, 기계(900)는 독립형 디바이스로서 작동할 수 있거나, 또는 다른 기계에 접속(예를 들어, 네트워킹)될 수 있다. 네트워크 전개에서, 기계(900)는 서버 클라이언트 네트워크 환경에서 서버 기계, 클라이언트 기계, 또는 둘 모두의 능력으로 작동할 수 있다. 실시예에서, 기계(900)는 피어 투 피어(P2P)(또는 다른 분포된) 네트워크 환경에서 피어 기계로서 작동할 수 있다. 기계(900)는 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인용 정보 단말기(PDA), 이동 전화, 웹 기기, IoT 디바이스, 자동차 시스템, 또는 그 기계에 의해 취해지는 작동을 지정하는 명령(순차적 또는 다른 방식)을 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계만이 도시되어 있지만, "기계"라는 용어는 클라우드 컴퓨팅, 서비스형 소프트웨어(software as a Service: SaaS), 기타 컴퓨터 클러스터 구성과 같은 본 명세서에서 논의된 방법론의 하나 이상을 수행하기 위해 명령의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 기계의 임의의 집합체를 포함하는 것으로 또한 취해질 것이다.
본 명세서에 기술된 바와 같은 실시예는 논리, 구성 요소, 디바이스, 패키지 또는 메커니즘을 포함하거나 이에 의해 작동할 수 있다. 회로망은 하드웨어(예를 들어, 단순 회로, 게이트, 논리 등)를 포함하는 유형의 엔티티에서 구현된 회로의 집합체(예를 들어, 세트)이다. 회로망 자격은 시간이 지남에 따라 유연하고 기본 하드웨어 변동이 있을 수 있다. 회로망은 작동할 때 단독으로 또는 조합하여 특정 과제를 수행할 수 있는 부재를 포함한다. 실시예에서, 회로망의 하드웨어는 특정 작동(예를 들어, 하드웨어에 내장된)을 수행하도록 불변적으로 설계될 수 있다. 실시예에서, 회로망의 하드웨어는 특정 동업의 명령을 인코딩하도록 물리적으로 변경된 컴퓨터 판독 가능 매체(예를 들어, 변치않는 대량 입자의 자기적으로, 전기적으로, 이동 가능한 배치, 등)를 포함하는 가변적으로 접속된 물리적 구성 요소(예를 들어, 실행 유닛, 트랜지스터, 단순 회로 등)을 포함할 수 있다. 물리적 구성 요소를 접속하는데 있어서, 하드웨어 구성의 기본적인 전기적 특성은 예를 들어 절연체에서 도체로 또는 그 반대로 변경된다. 명령은 참여 하드웨어(예를 들어, 실행 유닛 또는 로딩 메커니즘)가 작동하고 있을 때 특정 과제의 일부를 수행하기 위해 가변적인 접속을 통해 하드웨어에서 회로망의 부재를 생성하는 것을 가능하게 한다. 따라서, 컴퓨터 판독 가능 매체는 디바이스가 작동할 때 회로망의 다른 구성 요소와 통신 가능하게 결합된다. 실시예에서, 임의의 물리적 구성 요소는 하나보다 많은 회로망의 하나보다 많은 부재에서 사용될 수 있다. 예를 들어, 작동 하에서, 실행 유닛은 한 시점에서 제1 회로망의 제1 회로에서 사용될 수 있고, 다른 시점에서 제1 회로망의 제2 회로에 의해 또는 제2 회로망의 제3 회로에 의해 재사용될 수 있다.
기계(예를 들어, 컴퓨터 시스템)(900)(예를 들어, 호스트 디바이스(105), 메모리 디바이스(110) 등)는 하드웨어 프로세서(902)(예를 들어, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 하드웨어 프로세서 코어, 또는 예를 들어 메모리 제어기(115), 또는 이것들의 임의의 조합 등), 주 메모리(904) 및 정적 메모리(906)를 포함할 수 있으며, 이들 중 일부 또는 전부는 인터링크(예를 들어, 버스)(908)를 통해 서로 통신할 수 있다. 기계(900)는 디스플레이 유닛(910), 영숫자 입력 디바이스(912)(예를 들어, 키보드) 및 사용자 인터페이스(UI) 내비게이션 디바이스(914)(예를 들어, 마우스)를 더 포함할 수 있다. 실시예에서, 디스플레이 유닛(910), 입력 디바이스(912) 및 UI 내비게이션 디바이스(914)는 터치 스크린 디스플레이일 수 있다. 기계(900)는 기억 장치(예를 들어, 드라이브 유닛)(916), 신호 생성 디바이스(918)(예를 들어, 스피커), 네트워크 인터페이스 디바이스(920), 및 위성 위치 확인 시스템(GPS) 센서, 나침반, 가속도계 또는 기타 센서와 같은 하나 이상의 센서(916)를 추가로 포함할 수 있다. 기계(900)는 하나 이상의 주변 디바이스(예를 들어, 프린터, 카드 리더기 등)와 통신하거나 이를 제어하기 위해 직렬(예를 들어, 범용 직렬 버스(USB), 병렬 또는 다른 유선 또는 무선(예를 들어, 적외선(IR), 근거리 통신(NFC) 등)) 접속과 같은 출력 제어기(928)를 포함할 수 있다.
기억 장치(916)는 본 명세서에 설명된 기술 또는 기능 중 임의의 하나 이상에 의해 구현되거나 이용되는 데이터 구조 또는 명령(924)(예를 들어, 소프트웨어)의 하나 이상의 세트가 저장되는 기계 판독 가능 매체(922)를 포함할 수 있다. 명령(924)은 또한 기계(900)에 의한 그 실행 동안 주 메모리(904) 내에, 정적 메모리(906) 내에, 또는 하드웨어 프로세서(902) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 실시예에서, 하드웨어 프로세서(902), 주 메모리(904), 정적 메모리(906), 또는 기억 장치(916)의 하나 또는 임의의 조합이 기계 판독 가능 매체(922)를 구성할 수 있다.
기계 판독 가능 매체(922)가 단일 매체로서 도시되어 있지만, "기계 판독 가능 매체"라는 용어는 하나 이상의 명령(924)을 저장하도록 구성된 단일 매체 또는 다수의 매체(예를 들어, 중앙 집중형 또는 분산형 데이터베이스, 또는 관련 캐시 및 서버)를 포함할 수 있다.
"기계 판독 가능 매체"라는 용어는, 기계(900)에 의한 실행을 위해 명령을 저장하거나, 인코딩하거나 또는 운반할 수 있거나, 기계(900)가 본 개시 내용의 기술 중 임의의 하나 이상을 수행하게 하거나, 또는 이러한 명령에 의해 사용되거나 이와 관련된 데이터 구조를 저장하거나, 인코딩하거나 또는 운반할 수 있는 임의의 매체를 포함할 수 있다. 비제한적 기계 판독 가능 매체의 예는 솔리드 스테이트 메모리, 및 광학 및 자기 매체를 포함할 수 있다. 실시예에서, 대량 기계 판독 가능 매체는 불변(예를 들어, 휴지) 질량을 갖는 복수의 입자를 구비한 기계 판독 가능 매체를 포함한다. 따라서, 대량 기계 판독 가능 매체는 일시적 전파 신호가 아니다. 대량 기계 판독 가능 매체의 특정 예는 반도체 메모리 디바이스(예를 들어, 전기 프로그램 가능 판독 전용 메모리(EPROM), 전기 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM))) 및 플래시 메모리 디바이스와 같은 비휘발성 메모리; 내부 하드 디스크 및 착탈식 디스크와 같은 자기 디스크; 광 자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.
명령(924)(예를 들어, 소프트웨어, 프로그램, 운영 체제(OS) 등) 또는 다른 데이터는 기억 장치(921)에 저장되고, 프로세서(902)에 의한 사용을 위해 메모리(904)에 의해 액세스될 수 있다. 메모리(904)(예를 들어, DRAM)는 전형적으로 빠르지 만 휘발성이며, 그러므로 "오프" 상태에 있는 동안을 포함하여 장기 저장에 적합한 기억 장치(921)(예를 들어, SSD)와는 다른 유형의 기억 장치이다. 사용자 또는 기계(900)에 의해 사용되는 명령(924) 또는 데이터는 전형적으로 프로세서(902)에 의한 사용을 위해 메모리(904)에 로딩된다. 메모리(904)가 충만되었을 때, 기억 장치(921)로부터의 가상 공간이 메모리(904)를 보충하기 위해 할당될 수 있으며; 그러나, 기억 장치(921)가 전형적으로 메모리(904)보다 느리고 기입 속도가 전형으로 판독 속도보다 적어도 2배 느리기 때문에, 가상 메모리의 사용은 기억 장치 대기 시간으로 인해 사용자 경험을 (메모리(904)(예를 들어 DRAM)와 대비하여) 크게 감소시킬 수 있다. 또한, 가상 메모리를 위한 기억 장치(921)의 사용은 기억 장치(921)의 가용 수명을 크게 감소시킬 수 있다.
가상 메모리와 대조적으로, 가상 메모리 압축(예를 들어, Linux(등록상표) 커널 특징 "ZRAM")은 기억 장치(921)로의 페이징을 피하도록 메모리의 일부를 압축된 블록 스토리지로서 사용한다. 페이징은 기억 장치(921)에 이러한 데이터를 기입하는 것이 필요할 때까지 압축 블록에서 일어난다. 가상 메모리 압축은 메모리(904)의 사용 가능한 크기를 증가시키는 동시에 기억 장치(921)에서의 웨어(wear)를 감소시킨다.
모바일 전자 디바이스 또는 모바일 스토리지에 최적화된 기억 장치는 전통적으로 MMC 솔리드 스테이트 기억 장치(예를 들어, Micro Secure Digital(micro SD™) 카드 등)를 포함한다. MMC 디바이스는 호스트 디바이스와의 다수의 병렬 인터페이스(예를 들어, 8 비트 병렬 인터페이스)를 포함하며, 종종 호스트 디바이스로부터 구성 요소를 제거 가능하고 분리 가능하다. 반대로 eMMC™ 디바이스는 회로 보드에 부착되며, 직렬 ATA™(Serial AT(Advanced Technology) Attachment 또는 SATA) 기반 SSD 디바이스에 필적하는 판독 속도를 갖는, 호스트 디바이스의 구성 요소로 간주된다. 그러나, 모바일 디바이스 성능에 대한 요구는 가상 또는 증강 현실 디바이스를 완전히 활성화하고 증가하는 네트워크 속도를 이용하는 것 등과 같이 계속 증가하고 있다. 이러한 요구에 부응하여, 기억 장치는 병렬로부터 직렬 통신 인터페이스로 시프팅되었다. 제어기 및 펌웨어를 포함하는 범용 플래시 스토리지(UFS) 디바이스는 전용 판독/기입 경로를 갖는 저전압 차동 신호(LVDS) 직렬 인터페이스를 사용하여 호스트 디바이스와 통신하여, 판독/기입 속도를 더 빠르게 향상시킨다.
명령(924)은 다수의 전송 프로토콜(예를 들어, 프레임 릴레이, 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 하이퍼텍스트 전송 프로토콜(HTTP) 등) 중 임의의 하나를 이용하여 네트워크 인터페이스 디바이스(920)를 통해 전송 매체를 사용하여 통신 네트워크(926)를 통해 전송되거나 수신될 수 있다. 예시적인 통신 네트워크는 특히 근거리 통신망(LAN), 광역 통신망(WAN), 패킷 데이터 네트워크(예를 들어, 인터넷), 이동 전화 네트워크(예를 들어, 셀룰러 네트워크), 기존 전화 서비스(POTS) 네트워크, 무선 데이터 네트워크(예를 들어, Wi-Fi(등록상표)로서 알려진 전기 전자 기술자 협회(IEEE) 802.11 표준 계열, WiMax(등록상표)로서 공지된 IEEE 802.16 표준 계열), IEEE 802.15.4 표준 계열, P2P 네트워크를 포함할 수 있다. 실시예에서, 네트워크 인터페이스 디바이스(920)는 통신 네트워크(926)에 접속하기 위한 하나 이상의 물리적 잭(예를 들어, 이더넷, 동축, 또는 전화 잭) 또는 하나 이상의 안테나를 포함할 수 있다. 실시예에서, 네트워크 인터페이스 디바이스(920)는 단일 입력 다중 출력(SIMO), 다중 입력 다중 출력(MIMO), 또는 다중 입력 단일 출력(MISO) 기술 중 적어도 하나를 사용하여 무선으로 통신하기 위해 복수의 안테나를 포함할 수 있다. "전송 매체"라는 용어는 기계(900)에 의한 실행을 위해 명령을 저장하거나, 인코딩하거나 또는 운반할 수 있는 임의의 무형 매체를 포함하도록 취해질 것이, 이러한 소프트웨어의 통신을 용이하게 하기 위해 디지털 또는 아날로그 통신 신호 또는 다른 무형 매체를 포함한다.
추가의 실시예:
실시예 1은 NAND 온도 데이터 관리를 위한 NAND 디바이스이고, NAND 디바이스는 NAND 구성 요소; 및 명령어를 수신하여 데이터를 NAND 구성 요소에 기입하고; 명령어를 수신하는 것에 응답하여 NAND 구성 요소에 대응하는 온도를 획득하고; 명령어를 실행하여 데이터를 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입하기 위한 NAND 제어기를 포함하고, 데이터는 사용자 부분에 기입되고 그리고 온도의 표현은 NAND 제어기에만 액세스 가능하고 그리고 사용자 부분으로부터 분리된 관리 부분에 기입된다.
실시예 2에서, 실시예 1의 주제는, 관리 부분이 NAND 구성 요소에 있다는 것을 포함한다.
실시예 3에서, 실시예 2의 주제는, NAND 구성 요소가 페이지인 것을 포함한다.
실시예 4에서, 실시예 3의 주제는, 관리 부분이 페이지의 보조 바이트인 것을 포함한다.
실시예 5에서, 실시예 1 내지 실시예 4의 주제는, 온도의 표현이 획득된 온도보다 더 낮은 레졸루션에서 온도의 양자화인 것을 포함한다.
실시예 6에서, 실시예 5의 주제는, 양자화가 온도 범위의 세트로부터 선택되고, 그리고 온도의 표현이 온도 범위의 세트의 멤버의 식별자인 것을 포함한다.
실시예 7에서, 실시예 1 내지 실시예 6의 주제는, 온도를 획득하기 위해서, NAND 제어기가 명령어를 수신하는 것에 응답하여 온도계로부터 온도를 획득하는 것을 포함한다.
실시예 8에서, 실시예 1 내지 실시예 7의 주제는, 온도를 획득하기 위해서, NAND 제어기가 버퍼로부터 온도를 획득하고, 디바이스의 온도계가 온도를 주기적으로 측정하고 그리고 온도를 버퍼에 저장하도록 배열된다는 것을 포함한다.
실시예 9에서, 실시예 1 내지 실시예 8의 주제는, NAND 제어기가 NAND 구성 요소로부터 데이터를 더 판독하는 것 및 온도의 표현을 판독하기 위한 것을 포함한다.
실시예 10에서, 실시예 9의 주제는, NAND 제어기가 판독 명령어를 수신하는 것에 응답하여 데이터를 판독하고, 그리고 온도의 표현이 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용된다는 것을 포함한다.
실시예 11에서, 실시예 10의 주제는, 온도의 표현이 판독 명령어를 호출하는 호스트에 제공되고, 그리고 호스트가 온도의 표현을 사용하여 판독 전압을 정정하는 것을 포함한다.
실시예 12에서, 실시예 9 내지 실시예 11의 주제는, NAND 제어기가 NAND 디바이스의 전력 켜짐 상태에 응답하여 데이터를 판독하고, 그리고 온도의 표현이 미래의 판독 작동을 위해 휘발성 메모리에 저장되는 것을 포함한다.
실시예 13에서, 실시예 1 내지 실시예 12의 주제는, NAND 제어기가 관리 부분에 저장된 온도의 표현에 기초하여 NAND 구성 요소의 유지보수 작동을 더 변경한다는 것을 포함한다.
실시예 14에서, 실시예 13의 주제는, 유지보수 작동이 NAND 구성 요소의 리프레시이고, 그리고 유지보수 작동을 변경하기 위해서, NAND 제어기가 온도의 표현에 기초하여 리프레시를 수행하도록 문턱값을 조정한다는 것을 포함한다.
실시예 15에서, 실시예 13과 실시예 14의 주제는, 유지보수 작동이 NAND 구성 요소의 폐기이고, 그리고 유지보수 작동을 변경하기 위해서, NAND 제어기가 온도의 표현에 기초하여 폐기를 수행하도록 문턱값을 조정한다는 것을 포함한다.
실시예 16은 NAND 온도 데이터 관리를 위한 방법이고, 방법은, NAND 디바이스의 제어기에서, 명령어를 수신하여 데이터를 NAND 디바이스 내 NAND 구성 요소에 기입하는 단계; 명령어를 수신하는 것에 응답하여 NAND 구성 요소에 대응하는 온도를 획득하는 단계; 명령어를 실행하여 데이터를 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입하는 단계를 포함하되, 데이터는 사용자 부분에 기입되고 그리고 온도의 표현은 제어기에만 액세스 가능하고 그리고 사용자 부분으로부터 분리되는 관리 부분에 기입된다.
실시예 17에서, 실시예 16의 주제는, 관리 부분이 NAND 구성 요소에 있다는 것을 포함한다.
실시예 18에서, 실시예 17의 주제는, NAND 구성 요소가 페이지인 것을 포함한다.
실시예 19에서, 실시예 18의 주제는, 관리 부분이 페이지의 보조 바이트인 것을 포함한다.
실시예 20에서, 실시예 16 내지 실시예 19의 주제는, 온도의 표현이 획득된 온도보다 더 낮은 레졸루션에서 온도의 양자화인 것을 포함한다.
실시예 21에서, 실시예 20의 주제는, 양자화가 온도 범위의 세트로부터 선택되고, 그리고 온도의 표현이 온도 범위의 세트의 멤버의 식별자인 것을 포함한다.
실시예 22에서, 실시예 16 내지 실시예 21의 주제는, 온도를 획득하는 것이 명령어를 수신하는 것에 응답하여 온도계로부터 온도를 획득하는 것을 포함하는 것을 포함한다.
실시예 23에서, 실시예 16 내지 실시예 22의 주제는, 온도를 획득하는 것이 버퍼로부터 온도를 획득하는 것을 포함하고, 온도계가 온도를 주기적으로 측정하고 그리고 온도를 버퍼에 저장하는 것을 포함한다.
실시예 24에서, 실시예 16 내지 실시예 23의 주제는, NAND 구성 요소로부터 데이터를 판독하는 것 및 온도의 표현을 판독하는 것을 포함한다.
실시예 25에서, 실시예 24의 주제는, 데이터를 판독하는 것이 제어기에서 판독 명령어를 수신하는 것에 응답하고, 그리고 온도의 표현이 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용되는 것을 포함한다.
실시예 26에서, 실시예 25의 주제는, 온도의 표현이 판독 명령어를 호출하는 호스트에 제공되고, 그리고 호스트가 온도의 표현을 사용하여 판독 전압을 정정하는 것을 포함한다.
실시예 27에서, 실시예 24 내지 실시예 26의 주제는, 데이터를 판독하는 것이 NAND 디바이스의 전력 켜짐 상태에 응답하고, 그리고 온도의 표현이 미래의 판독 작동을 위해 휘발성 메모리에 저장되는 것을 포함한다.
실시예 28에서, 실시예 16 내지 실시예 27의 주제는, 관리 부분에 저장된 온도의 표현에 기초하여 NAND 구성 요소의 유지보수 작동을 변경하는 것을 포함한다.
실시예 29에서, 실시예 28의 주제는, 유지보수 작동이 NAND 구성 요소의 리프레시이고, 그리고 유지보수 작동을 변경하는 것이 온도의 표현에 기초하여 리프레시를 수행하도록 문턱값을 조정하는 것을 포함하는 것을 포함한다.
실시예 30에서, 실시예 28과 실시예 29의 주제는, 유지보수 작동이 NAND 구성 요소의 폐기이고, 그리고 유지보수 작동을 변경하는 것이 온도의 표현에 기초하여 폐기를 수행하도록 문턱값을 조정하는 것을 포함하는 것을 포함한다.
실시예 31은 처리 회로망에 의해 실행될 때, 처리 회로망이 실시예 16 내지 실시예 30의 임의의 방법을 수행하게 하는 명령을 포함하는 적어도 하나의 기계 판독 가능 매체이다.
실시예 32는 실시예 16 내지 실시예 30의 임의의 방법을 수행하기 위한 수단을 포함하는 시스템이다.
실시예 33은 처리 회로망에 의해 실행될 때, 처리 회로망이 작동을 수행하게 하는 명령을 포함하는 적어도 하나의 기계 판독 가능 매체이고, 작동은, NAND 디바이스의 제어기에서, 명령어를 수신하여 데이터를 NAND 디바이스 내 NAND 구성 요소에 기입하는 것; 명령어를 수신하는 것에 응답하여 NAND 구성 요소에 대응하는 온도를 획득하는 것; 명령어를 실행하여 데이터를 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입하는 것을 포함하되, 데이터는 사용자 부분에 기입되고 그리고 온도의 표현은 제어기에만 액세스 가능하고 그리고 사용자 부분으로부터 분리되는 관리 부분에 기입된다.
실시예 34에서, 실시예 33의 주제는, 관리 부분이 NAND 구성 요소에 있다는 것을 포함한다.
실시예 35에서, 실시예 34의 주제는, NAND 구성 요소가 페이지인 것을 포함한다.
실시예 36에서, 실시예 35의 주제는, 관리 부분이 페이지의 보조 바이트인 것을 포함한다.
실시예 37에서, 실시예 33 내지 실시예 36의 주제는, 온도의 표현이 획득된 온도보다 더 낮은 레졸루션에서 온도의 양자화인 것을 포함한다.
실시예 38에서, 실시예 37의 주제는, 양자화가 온도 범위의 세트로부터 선택되고, 그리고 온도의 표현이 온도 범위의 세트의 멤버의 식별자인 것을 포함한다.
실시예 39에서, 실시예 33 내지 실시예 38의 주제는, 온도를 획득하는 것이 명령어를 수신하는 것에 응답하여 온도계로부터 온도를 획득하는 것을 포함하는 것을 포함한다.
실시예 40에서, 실시예 33 내지 실시예 39의 주제는, 온도를 획득하는 것이 버퍼로부터 온도를 획득하는 것을 포함하고, 온도계가 온도를 주기적으로 측정하고 그리고 온도를 버퍼에 저장하는 것을 포함한다.
실시예 41에서, 실시예 33 내지 실시예 40의 주제는, 작동이 NAND 구성 요소로부터 데이터를 판독하는 것 및 온도의 표현을 판독하는 것을 포함하는 것을 포함한다.
실시예 42에서, 실시예 41의 주제는, 데이터를 판독하는 것이 제어기에서 판독 명령어를 수신하는 것에 응답하고, 그리고 온도의 표현이 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용되는 것을 포함한다.
실시예 43에서, 실시예 42의 주제는, 온도의 표현이 판독 명령어를 호출하는 호스트에 제공되고, 그리고 호스트가 온도의 표현을 사용하여 판독 전압을 정정하는 것을 포함한다.
실시예 44에서, 실시예 41 내지 실시예 43의 주제는, 데이터를 판독하는 것이 NAND 디바이스의 전력 켜짐 상태에 응답하고, 그리고 온도의 표현이 미래의 판독 작동을 위해 휘발성 메모리에 저장되는 것을 포함한다.
실시예 45에서, 실시예 33 내지 실시예 44의 주제는, 작동이 관리 부분에 저장된 온도의 표현에 기초하여 NAND 구성 요소의 유지보수 작동을 변경하는 것을 포함하는 것을 포함한다.
실시예 46에서, 실시예 45의 주제는, 유지보수 작동이 NAND 구성 요소의 리프레시이고, 그리고 유지보수 작동을 변경하는 것이 온도의 표현에 기초하여 리프레시를 수행하도록 문턱값을 조정하는 것을 포함하는 것을 포함한다.
실시예 47에서, 실시예 45와 실시예 46의 주제는, 유지보수 작동이 NAND 구성 요소의 폐기이고, 그리고 유지보수 작동을 변경하는 것이 온도의 표현에 기초하여 폐기를 수행하도록 문턱값을 조정하는 것을 포함하는 것을 포함한다.
실시예 48은 NAND 온도 데이터 관리를 위한 시스템이고, 시스템은, NAND 디바이스의 제어기에서, 명령어를 수신하여 데이터를 NAND 디바이스 내 NAND 구성 요소에 기입하기 위한 수단; 명령어를 수신하는 것에 응답하여 NAND 구성 요소에 대응하는 온도를 획득하기 위한 수단; 명령어를 실행하여 데이터를 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입하기 위한 수단을 포함하되, 데이터는 사용자 부분에 기입되고 그리고 온도의 표현은 제어기에만 액세스 가능하고 그리고 사용자 부분으로부터 분리되는 관리 부분에 기입된다.
실시예 49에서, 실시예 48의 주제는, 관리 부분이 NAND 구성 요소에 있다는 것을 포함한다.
실시예 50에서, 실시예 49의 주제는, NAND 구성 요소가 페이지인 것을 포함한다.
실시예 51에서, 실시예 50의 주제는, 관리 부분이 페이지의 보조 바이트인 것을 포함한다.
실시예 52에서, 실시예 48 내지 실시예 51의 주제는, 온도의 표현이 획득된 온도보다 더 낮은 레졸루션에서 온도의 양자화인 것을 포함한다.
실시예 53에서, 실시예 52의 주제는, 양자화가 온도 범위의 세트로부터 선택되고, 그리고 온도의 표현이 온도 범위의 세트의 멤버의 식별자인 것을 포함한다.
실시예 54에서, 실시예 48 내지 실시예 53의 주제는, 온도를 획득하기 위한 수단이 명령어를 수신하는 것에 응답하여 온도계로부터 온도를 획득하기 위한 수단을 포함하는 것을 포함한다.
실시예 55에서, 실시예 48 내지 실시예 54의 주제는, 온도를 획득하기 위한 수단이 버퍼로부터 온도를 획득하기 위한 수단을 포함하고, 온도계가 온도를 주기적으로 측정하고 그리고 온도를 버퍼에 저장하는 것을 포함한다.
실시예 56에서, 실시예 48 내지 실시예 55의 주제는, NAND 구성 요소로부터 데이터를 판독하기 위한 수단 및 온도의 표현을 판독하기 위한 수단을 포함한다.
실시예 57에서, 실시예 56의 주제는, 데이터를 판독하기 위한 수단이 제어기에서 판독 명령어를 수신하는 것에 응답하고, 그리고 온도의 표현이 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용되는 것을 포함한다.
실시예 58에서, 실시예 57의 주제는, 온도의 표현이 판독 명령어를 호출하는 호스트에 제공되고, 그리고 호스트가 온도의 표현을 사용하여 판독 전압을 정정하는 것을 포함한다.
실시예 59에서, 실시예 56 내지 실시예 58의 주제는, 데이터를 판독하는 것이 NAND 디바이스의 전력 켜짐 상태에 응답하고, 그리고 온도의 표현이 미래의 판독 작동을 위해 휘발성 메모리에 저장되는 것을 포함한다.
실시예 60에서, 실시예 48 내지 실시예 59의 주제는, 관리 부분에 저장된 온도의 표현에 기초하여 NAND 구성 요소의 유지보수 작동을 변경하기 위한 수단을 포함한다.
실시예 61에서, 실시예 60의 주제는, 유지보수 작동이 NAND 구성 요소의 리프레시이고, 그리고 유지보수 작동을 변경하기 위한 수단이 온도의 표현에 기초하여 리프레시를 수행하도록 문턱값을 조정하기 위한 수단을 포함하는 것을 포함한다.
실시예 62에서, 실시예 60과 실시예 61의 주제는, 유지보수 작동이 NAND 구성 요소의 폐기이고, 그리고 유지보수 작동을 변경하기 위한 수단이 온도의 표현에 기초하여 폐기를 수행하도록 문턱값을 조정하기 위한 수단을 포함하는 것을 포함한다.
실시예 63은 처리 회로망에 의해 실행될 때, 처리 회로망이 작동을 수행하여 실시예 1 내지 실시예 62 중 임의의 실시예를 구현하게 하는 명령을 포함하는 적어도 하나의 기계 판독 가능 매체이다.
실시예 64는 실시예 1 내지 실시예 62 중 임의의 실시예를 구현하기 위한 수단을 포함하는 장치이다.
실시예 65는 실시예 1 내지 실시예 62 중 임의의 실시예를 구현하기 위한 시스템이다.
실시예 66은 실시예 1 내지 실시예 62 중 임의의 실시예를 구현하기 위한 방법이다.
상기 상세한 설명은 상세한 설명의 일부를 형성하는 첨부 도면에 대한 참조를 포함한다. 도면은 예시로서 본 발명이 실시될 수 있는 특정 실시형태를 도시한다. 이들 실시형태는 본 명세서에서 "실시예"로서 또한 지칭된다. 이러한 예는 도시되거나 설명된 것 외에 소자를 포함할 수 있다. 그러나, 본 발명자들은 또한 도시되거나 설명된 소자들만이 제공되는 예를 고려한다. 더욱이, 본 발명자들은 또한 특정 예(또는 하나 이상의 그 양상)에 대하여 또는 본 명세서에 도시되거나 기술된 다른 예(또는 그 하나 이상의 양상)에 대하여 도시되거나 설명된 소자(또는 하나 이상의 그 양상)의 임의의 조합 또는 순열을 사용하는 예를 고려한다.
이 문서에서, 단수 표현 용어는 특허 문서에서 공통적으로 사용되는 바와 같이 "적어도 하나" 또는 "하나 이상의" 임의의 다른 예 또는 사용과 무관하게 하나 또는 하나보다 많은 것을 포함하도록 사용된다. 이 문서에서, "또는"이라는 용어는 달리 명시되지 않는 한 비배타적이거나, 또는 "A 또는 B"가 "A는 아니지만 B", "B는 아니지만 A" 및 "A 및 B"를 포함할 수 있도록 사용된다. 첨부된 청구범위에서, "구비하는" 및 "여기에서(in which)"라는 용어는 각각의 용어 "포함하는" 및 "여기에서(wherein)"라는 각각의 용어의 평범한 영어의 동등한 의미로서 사용된다. 또한, 다음의 청구범위에서, "구비하는" 및 "포함하는"이라는 용어는 개방형이며, 즉 청구범위에서 이러한 용어 뒤에 열거된 것 외에 소자를 포함하는 시스템, 디바이스, 물품 또는 프로세스는 그 청구항의 범위에 속하는 것으로 여전히 간주된다. 또한, 다음의 청구범위에서, "제1", "제2" 및 "제3" 등의 용어는 단지 라벨로서 사용되며, 이들의 물체에 수치적 요건을 부과하도록 의도되지 않는다.
다양한 실시예에서, 본 명세서에 설명된 구성 요소, 제어기, 프로세서, 유닛, 엔진, 또는 테이블은 특히 물리적 디바이스에 저장된 물리적 회로 또는 펌웨어를 포함할 수 있다. 본 명세서에 사용된 "프로세서"는 프로세서 또는 멀티 코어 디바이스의 그룹을 포함하여, 마이크로프로세서, 마이크로제어기, 그래픽 프로세서, 디지털 신호 프로세서(DSP), 또는 임의의 다른 유형의 프로세서 또는 처리 회로와 같은, 그러나 이에 제한되지 않는 임의의 유형의 컴퓨터의 회로를 의미한다.
이 문서에서 사용된 "수평"이라는 용어는 임의의 시점에 기판의 실제 배향에 관계없이, 웨이퍼 또는 다이 밑에 있는 것과 같은 기판의 통상적인 평면 또는 표면에 평행한 평면으로서 정의된다. "수직"이라는 용어는 상기 정의된 바와 같이 수평에 직각인 방향을 지칭한다. "온(on)", "오버(over)" 및 "언더(under)"와 같은 전치사는 기판의 배향에 관계없이 기판의 상단 또는 노출된 표면 상에 있는 통상적인 평면 또는 표면에 대하여 정의되며; "온"은 "~상에" 있는 다른 구조에 대한 하나의 구조의 직접적인 접촉을 제안하도록 의도된 반면에(반대되는 설명적 표시가 없는 경우에); "오버" 및 "언더"라는 용어는 구체적으로 식별되지 않으면 식별된 구조 사이의 직접적인 접촉을 명시적으로 포함하지만 이에 한정되지 않는 구조(또는 층, 특징 등)의 상대적 배치를 식별하도록 의도된다. 유사하게, "오버" 및 "언더"라는 용어는, 이러한 구조가 수평 배향이 아니라 언급된 구조에 대해 수직으로 연장되더라도, 구조가 언급된 구조, 그렇다면 일부 시점에 논의중인 구성의 최외측 부분 "위에" 있을 수 있음에 따라서 수평 배향으로 제한되지 않는다.
"웨이퍼" 및 "기판"이라는 용어는 본 명세서서, 일반적으로 집적 회로가 형성되는 임의의 구조 및 집적 회로 제조의 다양한 단계 동안 이러한 구조를 지칭하기 위해 사용된다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 취해지지 않아야 하며, 다양한 실시형태의 범위는 이러한 청구범위가 부여되는 등가물의 전체 범위와 함께 첨부된 청구범위에 의해서만 한정된다.
본 개시 내용에 따르고 본 명세서에 기술된 다양한 실시형태는 메모리 셀의 수직 구조(예를 들어, 메모리 셀의 NAND 스트링)를 이용하는 메모리를 포함한다. 본 명세서에서 사용되는 바와 같이, 방향성 형용사는 메모리 셀이 그 위에 형성되는 기판의 표면에 대해 취해질 것이다(즉, 수직 구조는 기판 표면으로부터 멀어지게 연장되는 것으로서 취해질 것이고, 수직 구조의 하단부는 기판 표면에 가장 가까운 단부로서 취해질 것이며, 수직 구조의 상단부는 기판 표면으로부터 가장 먼 단부로서 간주될 것이다).
본 명세서에서 사용되는 바와 같이, 수평, 수직, 법선, 평행, 직각 등과 같은 방향성 형용사는 상대적 배향을 지칭할 수 있고, 달리 언급되지 않는 한 특정 기하학적 특성에 대한 엄격한 준수를 요구하도록 의도되지 않는다. 예를 들어, 본 명세서에서 사용되는 바와 같이, 수직 구조는 기판의 표면에 엄격하게 직각일 필요는 없지만, 대신 기판의 표면에 대체로 직각일 수 있고, 기판의 표면과 예각(예를 들어, 60 내지 120°등)을 형성할 수 있다.
본 명세서에 설명된 일부 실시형태에서, 상이한 도핑 구성이 소스측 선택 게이트(SGS), 제어 게이트(CG), 및 드레인측 선택 게이트(SGD)에 도포될 수 있으며, 이들 각각은 이러한 실시예에서 폴리실리콘으로 형성되거나 적어도 폴리실리콘을 포함할 수 있어서, 그 결과, 에칭 용액에 노출될 때 이러한 계층(예를 들어, 폴리실리콘 등)이 상이한 에칭 속도를 가질 수 있다. 예를 들어, 3D 반도체 디바이스에서 모놀리식 필라를 형성하는 프로세스에서, SGS 및 CG는 오목부를 형성할 수 있는 반면에, SGD는 덜 오목화되거나 심지어 오목화되지 않을 수 있다. 그러므로, 이러한 도핑 구성은 에칭 용액(예를 들어, 테트라메틸암모늄 하이드록사이드(TMCH))을 사용하는 것에 의해 3D 반도체 디바이스에서 별개의 계층(예를 들어, SGS, CG 및 SGD)으로의 선택적 에칭을 가능하게 할 수 있다.
본 명세서에서 사용된 바와 같이, 메모리 셀을 작동시키는 것은 메모리 셀로부터의 판독, 메모리 셀에의 기입 또는 메모리 셀로부터의 소거를 포함한다. 의도된 상태로 메모리 셀을 배치하는 작동은 본 명세서에서 "프로그래밍"으로서 지칭되며, 메모리 셀에 기입하거나 이로부터 소거하는 것을 포함할 수 있다(예를 들어, 메모리 셀은 소거된 상태로 프로그래밍될 수 있다).
본 개시 내용의 하나 이상의 실시형태에 따르면, 메모리 디바이스의 내부 또는 외부에 위치된 메모리 제어기(예를 들어, 프로세서, 제어기, 펌웨어 등)는 웨어 사이클의 양, 또는 웨어 상태(예를 들어, 이러한 것이 발생함에 따라서 메모리 디바이스의 웨어 사이클의 기록, 작동의 카운팅, 초기화하는 메모리 디바이스의 작동의 추적, 웨어 상태에 대응하는 메모리 디바이스 특성의 평가 등)를 결정(예를 들어, 선택, 설정, 조정, 컴퓨팅, 변경, 제거, 통신, 적응, 도출, 한정, 활용, 변경. 적용 등)할 수 있다.
본 개시 내용의 하나 이상의 실시형태에 따르면, 메모리 액세스 디바이스는 각각의 메모리 작동마다 메모리 디바이스에 웨어 사이클 정보를 제공하도록 구성될 수 있다. 메모리 디바이스 제어 회로망(예를 들어, 제어 논리)은 웨어 사이클 정보에 대응하는 메모리 디바이스 성능 변화를 보상하도록 프로그래밍될 수 있다. 메모리 디바이스는 웨어 사이클 정보를 수신하고, 웨어 사이클 정보에 응답하여 하나 이상의 작동 파라미터(예를 들어, 값, 특성)를 결정할 수 있다.
소자가 다른 소자 "상에 있거나", "에 접속되거나" 또는 "결합된" 것으로 언급되는 경우, 이는 다른 소자에 상에 있거나, 직접 접속되거나, 결합될 수 있거나, 또는 중간 소자가 존재할 수 있다는 것을 이해할 것이다. 대조적으로, 소자가 다른 소자 "바로 위에 있거나" 또는 이에 "직접 접속되거나" 또는 "직접 결합되었다"고 언급되는 경우, 중간 소자 또는 층이 존재하지 않는다. 2개의 소자가 도면에서 이들을 접속하는 선으로 도시되었으면, 달리 지시되지 않는 한, 2개의 소자는 결합되거나 직접 결합될 수 있다.
본 명세서에 기술된 방법 예는 적어도 부분적으로 구현된 기계 또는 컴퓨터일 수 있다. 일부 예는 상기 실시예에서 설명된 바와 같은 방법을 수행하도록 전자 디바이스를 구성하기 위해 작동 가능한 명령으로 인코딩된 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체를 포함할 수 있다. 이러한 방법의 구현은 마이크로코드, 어셈블리 언어 코드, 고급 언어 코드 등과 같은 코드를 포함할 수 있다. 이러한 코드는 다양한 방법을 수행하기 위한 컴퓨터 판독 가능 명령을 포함할 수 있다. 코드는 컴퓨터 프로그램 제품의 일부를 형성할 수 있다. 또한, 코드는 실행 동안 또는 다른 시간과 같은 하나 이상의 휘발성 또는 비휘발성 유형의 컴퓨터 판독 가능 매체에 유형적으로 저장될 수 있다. 이러한 유형의 컴퓨터 판독 가능 매체의 예는 하드 디스크, 착탈식 자기 디스크, 착탈식 광 디스크(예를 들어, 콤팩트 디스크 및 디지털 비디오 디스크), 자기 카세트, 메모리 카드 또는 스틱, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 솔리드 스테이트 드라이브(SSD), 범용 플래시 스토리지(UFS) 디바이스, 임베디드 MMC(eMMC) 디바이스 등을 포함할 수 있지만 이에 제한되지 않는다.
상기 설명은 예시적인 것이며 제한적인 것은 아니다. 예를 들어, 전술한 실시예(또는 그 하나 이상의 양상)는 서로 조합하여 사용될 수 있다. 상기 설명을 검토할 때 당업자에 의한 것과 같은 다른 실시형태가 사용될 수 있다. 이러한 것이 청구항의 범위 또는 의미를 해석하거나 제한하도록 사용되지 않을 것이라는 것이 양해와 함께 제출된다. 또한, 상기 상세한 설명에서, 다양한 특징이 함께 그룹화되어 본 개시 내용을 간소화할 수 있다. 이러한 것은 미청구된 개시 특징이 모든 청구항에 필수적이라는 것을 의도하는 것으로 해석되어서는 안된다. 오히려, 본 발명의 주제는 특정 개시된 실시형태의 모든 특징보다 적을 수 있다. 그러므로, 이하의 청구범위는 상세한 설명에 통합되며, 각각의 청구항은 그 자체가 별도의 실시형태에 기초하고, 이러한 실시형태는 다양한 조합 또는 순열로 서로 조합될 수 있는 것으로 고려된다. 본 발명의 범위는 이러한 청구범위가 부여되는 등가물의 전체 범위와 함께 첨부된 청구범위를 참조하여 결정되어야 한다.

Claims (30)

  1. NAND 온도 데이터 관리를 위한 NAND 디바이스로서,
    NAND 구성 요소; 및
    NAND 제어기를 포함하되, NAND 제어기는,
    명령어를 수신하여 데이터를 상기 NAND 구성 요소에 기입하고;
    상기 명령어를 수신하는 것에 응답하여 상기 NAND 구성 요소에 대응하는 온도를 획득하고; 그리고
    상기 명령어를 실행하여 데이터를 상기 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입하기 위한 것이고, 상기 데이터는 사용자 부분에 기입되고 그리고 상기 온도의 표현은 상기 NAND 제어기에만 액세스 가능하고 그리고 상기 사용자 부분으로부터 분리되는 관리 부분에 기입되는, NAND 디바이스.
  2. 제1항에 있어서, 상기 관리 부분은 상기 NAND 구성 요소에 있는, NAND 디바이스.
  3. 제2항에 있어서, 상기 NAND 구성 요소는 페이지인, NAND 디바이스.
  4. 제3항에 있어서, 상기 관리 부분은 상기 페이지의 보조 바이트인, NAND 디바이스.
  5. 제1항에 있어서, 상기 온도의 표현은 획득된 온도보다 더 낮은 레졸루션(resolution)에서 상기 온도의 양자화인, NAND 디바이스.
  6. 제1항에 있어서, 상기 온도를 획득하기 위해서, 상기 NAND 제어기는 상기 명령어를 수신하는 것에 응답하여 온도계로부터 상기 온도를 획득하는, NAND 디바이스.
  7. 제1항에 있어서, 상기 NAND 제어기는 상기 NAND 구성 요소로부터 상기 데이터를 더 판독하고 그리고 상기 온도의 표현을 판독하는, NAND 디바이스.
  8. 제7항에 있어서, 상기 NAND 제어기는 판독 명령어를 수신하는 것에 응답하여 상기 데이터를 판독하고, 그리고 상기 온도의 표현은 상기 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용되는, NAND 디바이스.
  9. 제8항에 있어서, 상기 온도의 표현은 상기 판독 명령어를 호출하는 호스트에 제공되고, 그리고 상기 호스트는 상기 온도의 표현을 사용하여 상기 판독 전압을 정정하는, NAND 디바이스.
  10. 제7항에 있어서, 상기 NAND 제어기는 상기 NAND 디바이스의 전력 켜짐 상태에 응답하여 상기 데이터를 판독하고, 그리고 상기 온도의 표현은 미래의 판독 작동(operation)을 위해 휘발성 메모리에 저장되는, NAND 디바이스.
  11. NAND 온도 데이터 관리를 위한 방법으로서,
    NAND 디바이스의 제어기에서, 명령어를 수신하여 데이터를 상기 NAND 디바이스 내 NAND 구성 요소에 기입하는 단계;
    상기 명령어를 수신하는 것에 응답하여 상기 NAND 구성 요소에 대응하는 온도를 획득하는 단계; 및
    상기 명령어를 실행하여 데이터를 상기 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입하는 단계를 포함하되, 상기 데이터는 사용자 부분에 기입되고 그리고 상기 온도의 표현은 상기 제어기에만 액세스 가능하고 그리고 상기 사용자 부분으로부터 분리되는 관리 부분에 기입되는, NAND 온도 데이터 관리를 위한 방법.
  12. 제11항에 있어서, 상기 관리 부분은 상기 NAND 구성 요소에 있는, NAND 온도 데이터 관리를 위한 방법.
  13. 제12항에 있어서, 상기 NAND 구성 요소는 페이지인, NAND 온도 데이터 관리를 위한 방법.
  14. 제13항에 있어서, 상기 관리 부분은 상기 페이지의 보조 바이트인, NAND 온도 데이터 관리를 위한 방법.
  15. 제11항에 있어서, 상기 온도의 표현은 획득된 온도보다 더 낮은 레졸루션에서 상기 온도의 양자화인, NAND 온도 데이터 관리를 위한 방법.
  16. 제11항에 있어서, 상기 온도를 획득하는 것은 상기 명령어를 수신하는 것에 응답하여 온도계로부터 상기 온도를 획득하는 것을 포함하는, NAND 온도 데이터 관리를 위한 방법.
  17. 제11항에 있어서, 상기 NAND 구성 요소로부터 상기 데이터를 판독하고 그리고 상기 온도의 표현을 판독하는 단계를 포함하는, NAND 온도 데이터 관리를 위한 방법.
  18. 제17항에 있어서, 상기 데이터를 판독하는 것은 상기 제어기에서 판독 명령어를 수신하는 것에 응답하고, 그리고 상기 온도의 표현은 상기 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용되는, NAND 온도 데이터 관리를 위한 방법.
  19. 제18항에 있어서, 상기 온도의 표현은 상기 판독 명령어를 호출하는 호스트에 제공되고, 그리고 상기 호스트는 상기 온도의 표현을 사용하여 상기 판독 전압을 정정하는, NAND 온도 데이터 관리를 위한 방법.
  20. 제17항에 있어서, 상기 데이터를 판독하는 것은 상기 NAND 디바이스의 전력 켜짐 상태에 응답하고, 그리고 상기 온도의 표현은 미래의 판독 작동을 위해 휘발성 메모리에 저장되는, NAND 온도 데이터 관리를 위한 방법.
  21. 처리 회로망에 의해 실행될 때, 상기 처리 회로망이 작동을 수행하게 하는 명령을 포함하는 적어도 하나의 기계 판독 가능 매체로서, 상기 작동은,
    NAND 디바이스의 제어기에서, 명령어를 수신하여 데이터를 상기 NAND 디바이스 내 NAND 구성 요소에 기입하는 것;
    상기 명령어를 수신하는 것에 응답하여 상기 NAND 구성 요소에 대응하는 온도를 획득하는 것; 및
    상기 명령어를 실행하여 데이터를 상기 NAND 구성 요소에 기입하고 그리고 온도의 표현을 기입하는 것을 포함하되, 상기 데이터는 사용자 부분에 기입되고 그리고 상기 온도의 표현은 상기 제어기에만 액세스 가능하고 그리고 상기 사용자 부분으로부터 분리되는 관리 부분에 기입되는, 기계 판독 가능 매체.
  22. 제21항에 있어서, 상기 관리 부분은 상기 NAND 구성 요소에 있는, 기계 판독 가능 매체.
  23. 제22항에 있어서, 상기 NAND 구성 요소는 페이지인, 기계 판독 가능 매체.
  24. 제23항에 있어서, 상기 관리 부분은 상기 페이지의 보조 바이트인, 기계 판독 가능 매체.
  25. 제21항에 있어서, 상기 온도의 표현은 획득된 온도보다 더 낮은 레졸루션에서 상기 온도의 양자화인, 기계 판독 가능 매체.
  26. 제21항에 있어서, 상기 온도를 획득하는 것은 상기 명령어를 수신하는 것에 응답하여 온도계로부터 상기 온도를 획득하는 것을 포함하는, 기계 판독 가능 매체.
  27. 제21항에 있어서, 상기 작동은 상기 NAND 구성 요소로부터 상기 데이터를 판독하는 것 및 상기 온도의 표현을 판독하는 것을 포함하는, 기계 판독 가능 매체.
  28. 제27항에 있어서, 상기 데이터를 판독하는 것은 상기 제어기에서 판독 명령어를 수신하는 것에 응답하고, 그리고 상기 온도의 표현은 상기 데이터에 대한 판독 전압을 정정하여 판독 오류를 감소시키도록 사용되는, 기계 판독 가능 매체.
  29. 제28항에 있어서, 상기 온도의 표현은 상기 판독 명령어를 호출하는 호스트에 제공되고, 그리고 상기 호스트는 상기 온도의 표현을 사용하여 상기 판독 전압을 정정하는, 기계 판독 가능 매체.
  30. 제27항에 있어서, 상기 데이터를 판독하는 것은 상기 NAND 디바이스의 전력 켜짐 상태에 응답하고, 그리고 상기 온도의 표현은 미래의 판독 작동을 위해 휘발성 메모리에 저장되는, 기계 판독 가능 매체.
KR1020207008679A 2017-08-30 2018-08-29 Nand 온도 데이터 관리 Ceased KR20200040873A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227015563A KR20220066189A (ko) 2017-08-30 2018-08-29 Nand 온도 데이터 관리

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/690,920 2017-08-30
US15/690,920 US10354732B2 (en) 2017-08-30 2017-08-30 NAND temperature data management
PCT/US2018/048452 WO2019046370A1 (en) 2017-08-30 2018-08-29 MANAGEMENT OF NAND TEMPERATURE DATA

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227015563A Division KR20220066189A (ko) 2017-08-30 2018-08-29 Nand 온도 데이터 관리

Publications (1)

Publication Number Publication Date
KR20200040873A true KR20200040873A (ko) 2020-04-20

Family

ID=65437633

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227015563A Ceased KR20220066189A (ko) 2017-08-30 2018-08-29 Nand 온도 데이터 관리
KR1020207008679A Ceased KR20200040873A (ko) 2017-08-30 2018-08-29 Nand 온도 데이터 관리

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227015563A Ceased KR20220066189A (ko) 2017-08-30 2018-08-29 Nand 온도 데이터 관리

Country Status (5)

Country Link
US (4) US10354732B2 (ko)
EP (1) EP3676843B1 (ko)
KR (2) KR20220066189A (ko)
CN (1) CN111183483B (ko)
WO (1) WO2019046370A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10553301B2 (en) * 2017-06-03 2020-02-04 Sandisk Technologies Llc Dynamic read table block filter
US10354732B2 (en) 2017-08-30 2019-07-16 Micron Technology, Inc. NAND temperature data management
CN111951867B (zh) * 2019-05-14 2022-11-01 兆易创新科技集团股份有限公司 一种控制读操作的方法和装置
US20210056391A1 (en) * 2019-08-20 2021-02-25 Mind Machine Learning, Inc. Systems and Methods for Simulating Sense Data and Creating Perceptions
US11062756B2 (en) 2019-10-14 2021-07-13 Western Digital Technologies, Inc. Extending operating temperature of storage device
KR102830262B1 (ko) 2020-11-17 2025-07-03 삼성전자주식회사 스토리지 장치, 스토리지 장치를 포함하는 서버 장치 및 스토리지 장치의 구동 방법
US20220229580A1 (en) * 2021-01-20 2022-07-21 Micron Technology, Inc. Temperature tracking for a memory system
US11520661B1 (en) 2021-07-12 2022-12-06 Apple Inc. Scheduling of data refresh in a memory based on decoding latencies
US12067290B2 (en) * 2021-08-31 2024-08-20 Micron Technology, Inc. On-die cross-temperature management for a memory device
CN115410640B (zh) * 2022-09-15 2026-03-27 长鑫存储技术有限公司 测试方法、装置、设备及存储介质
JP7848092B2 (ja) * 2022-09-20 2026-04-20 キオクシア株式会社 メモリシステム
CN118445216B (zh) * 2023-11-28 2025-03-25 荣耀终端股份有限公司 一种数据读写方法、电子设备、存储介质及芯片

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366819B2 (en) * 2004-02-11 2008-04-29 Infineon Technologies Ag Fast unaligned cache access system and method
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US8248856B2 (en) 2010-10-20 2012-08-21 Seagate Technology Llc Predictive read channel configuration
US8737138B2 (en) * 2010-11-18 2014-05-27 Micron Technology, Inc. Memory instruction including parameter to affect operating condition of memory
US8472274B2 (en) * 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
JP5624510B2 (ja) * 2011-04-08 2014-11-12 株式会社東芝 記憶装置、記憶システム及び認証方法
KR20120125791A (ko) 2011-05-09 2012-11-19 삼성전자주식회사 플래시 메모리 장치 및 이를 포함하는 메모리 시스템
JP5740296B2 (ja) 2011-12-16 2015-06-24 株式会社東芝 半導体記憶装置、半導体記憶装置の制御方法、制御プログラム
JP6443794B2 (ja) * 2013-08-16 2018-12-26 エルエスアイ コーポレーション ホストとコントローラとの間でパーティション化された変換レイヤ
KR102211126B1 (ko) 2014-04-17 2021-02-02 삼성전자주식회사 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
KR20150121562A (ko) 2014-04-21 2015-10-29 삼성전자주식회사 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법
KR102248276B1 (ko) * 2014-05-26 2021-05-07 삼성전자주식회사 스토리지 장치의 동작 방법
US10078546B2 (en) * 2014-10-24 2018-09-18 Micron Technology, Inc. Temperature related error management
KR20160073868A (ko) 2014-12-17 2016-06-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10446242B2 (en) * 2016-05-27 2019-10-15 Western Digital Technologies, Inc. Temperature variation compensation
US9996281B2 (en) * 2016-03-04 2018-06-12 Western Digital Technologies, Inc. Temperature variation compensation
KR102512448B1 (ko) 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10115458B2 (en) * 2016-03-30 2018-10-30 Toshiba Memory Corporation Perform read or write on a non-volatile memory having a pending read or write based on temperature thereof
US10354732B2 (en) 2017-08-30 2019-07-16 Micron Technology, Inc. NAND temperature data management

Also Published As

Publication number Publication date
EP3676843A1 (en) 2020-07-08
US20200258578A1 (en) 2020-08-13
WO2019046370A1 (en) 2019-03-07
US20190333585A1 (en) 2019-10-31
US11037630B2 (en) 2021-06-15
US20190066792A1 (en) 2019-02-28
CN111183483B (zh) 2023-09-29
US11610632B2 (en) 2023-03-21
KR20220066189A (ko) 2022-05-23
EP3676843B1 (en) 2024-10-02
US10354732B2 (en) 2019-07-16
CN111183483A (zh) 2020-05-19
US10679704B2 (en) 2020-06-09
US20210287748A1 (en) 2021-09-16
EP3676843A4 (en) 2021-06-23

Similar Documents

Publication Publication Date Title
US10529434B2 (en) Detecting power loss in NAND memory devices
US11610632B2 (en) NAND temperature data management
US11688473B2 (en) SLC page read
CN112424865B (zh) Nand温度感知操作
US10522229B2 (en) Secure erase for data corruption
US11456037B2 (en) Block read count voltage adjustment
US10891072B2 (en) NAND flash thermal alerting
KR20210014209A (ko) 온도 감응 nand 프로그래밍
US10325670B2 (en) Erase page check
KR20200036050A (ko) 리플로우-보호
US20190065108A1 (en) Correcting power loss in nand memory devices
US20210264988A1 (en) Charge loss compensation
US10437734B2 (en) Memory constrained translation table management
US20240354005A1 (en) Managed non-volatile memory device with data verification

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20200325

Patent event code: PA01051R01D

Comment text: International Patent Application

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20200408

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210223

Patent event code: PE09021S01D

AMND Amendment
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20210810

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20220214

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20210810

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

Patent event date: 20210223

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

X091 Application refused [patent]
AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20220214

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20211012

Comment text: Amendment to Specification, etc.

Patent event code: PX09012R01I

Patent event date: 20210421

Comment text: Amendment to Specification, etc.

PX0601 Decision of rejection after re-examination

Comment text: Decision to Refuse Application

Patent event code: PX06014S01D

Patent event date: 20220407

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20220316

Comment text: Decision to Refuse Application

Patent event code: PX06011S01I

Patent event date: 20220214

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20211012

Comment text: Notification of reason for refusal

Patent event code: PX06013S01I

Patent event date: 20210810

Comment text: Amendment to Specification, etc.

Patent event code: PX06012R01I

Patent event date: 20210421

Comment text: Notification of reason for refusal

Patent event code: PX06013S01I

Patent event date: 20210223

X601 Decision of rejection after re-examination
A107 Divisional application of patent
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20220509