KR101394691B1 - 메모리 디바이스에서의 온도 센서들의 이용 - Google Patents

메모리 디바이스에서의 온도 센서들의 이용 Download PDF

Info

Publication number
KR101394691B1
KR101394691B1 KR1020120021984A KR20120021984A KR101394691B1 KR 101394691 B1 KR101394691 B1 KR 101394691B1 KR 1020120021984 A KR1020120021984 A KR 1020120021984A KR 20120021984 A KR20120021984 A KR 20120021984A KR 101394691 B1 KR101394691 B1 KR 101394691B1
Authority
KR
South Korea
Prior art keywords
temperature
data
memory cells
volatile memory
nvm
Prior art date
Application number
KR1020120021984A
Other languages
English (en)
Other versions
KR20120100826A (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 KR20120100826A publication Critical patent/KR20120100826A/ko
Application granted granted Critical
Publication of KR101394691B1 publication Critical patent/KR101394691B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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

Abstract

일 구현에 있어서, 메모리 동작들을 수행하는 방법은, 메모리 디바이스에서, 하나 이상의 비휘발성 메모리 셀들로부터 데이터를 판독하라는 요청을 수신하는 단계; 및 비휘발성 메모리 셀들과 연관되는 저장된 온도 정보를 검색하는 단계를 포함하며, 온도 정보는, 대략 데이터가 비휘발성 메모리 셀들에 기입된 시간의 온도와 연관된다. 이 방법은, 메모리 디바이스에 의해, 비휘발성 메모리 셀들로부터 데이터를 판독하는 단계를 더 포함할 수 있다. 또한, 이 방법은, 적어도 검색된 온도 정보에 기초하여 판독된 데이터를 처리하는 단계; 및 처리된 데이터를 제공하는 단계를 포함할 수 있다.

Description

메모리 디바이스에서의 온도 센서들의 이용{USING TEMPERATURE SENSORS WITH A MEMORY DEVICE}
본 문헌은 온도 정보를 이용하여 메모리 동작들을 수행하는 것에 관한 것이다.
플래시 메모리(예를 들면 NAND 플래시 메모리, NOR 플래시 메모리)와 같은 각종 유형의 비휘발성 메모리(NVM)는 대용량 저장을 위해 사용될 수 있다. 예를 들면, 가전 제품들(예를 들면, 휴대용 미디어 플레이어)은 음악, 비디오, 이미지 및 다른 미디어 또는 정보의 유형을 비롯한 데이터를 저장하기 위해 플래시 메모리를 사용한다.
온도 센서들은 랩탑 컴퓨터 시스템과 같은 각종 시스템들과 함께 사용되어, 프로세서 등의 시스템 컴포넌트들에 손상을 줄 수 있는 이러한 시스템들에 존재하는 온도 상태를 식별한다. 예를 들면, 온도 센서들은 프로세서 내에 위치되거나 프로세서 주변에 위치되어 프로세서에 손상을 유발할 수 있는 온도 상태를 식별하고/하거나 냉각 시스템(예를 들면, 팬)이나 시스템 동작(예를 들면, 프로세서 속도 또는 액티비티의 레벨)을 제어하기 위해 사용된다.
본 문헌은 일반적으로 NVM과 연관된 온도 정보를 이용하여 메모리 동작을 수행하는데 관련된 기술을 설명한다. NVM와 연관된 온도 정보는 메모리 디바이스의 다른 컴포넌트들(예를 들면, 메모리 제어기, 주변 온도 센서)과 연관되고, NVM 내부와 주변에 위치된(예를 들면, NVM 다이에 임베딩된) 온도 센서들로부터의 온도 측정치들 및/또는 다른 온도 센서들로부터의 온도 측정치들을 포함할 수 있다.
온도 정보는 메모리 동작을 수행하기 위한 메모리 디바이스에 의해 다양한 방식으로 이용될 수 있다. 예를 들면, 데이터가 프로그래밍될 때의 NVM의 온도를 NVM에게 나타내는 정보가 저장되어 추후에 프로그래밍된 데이터를 판독하는데 적절한 기술을 선택하기 위해 이용될 수 있다. 예를 들면, NVM으로부터 데이터를 판독하기 위해 하나 이상의 전압 임계치를 조정하는데 온도 정보가 이용될 수 있다. 다른 예에서, 온도 정보는 데이터를 하나의 저장 위치에 기입하는 대신에 여러 저장 위치에 중복 기입하는 등의 데이터가 저장되는 방법을 조정하는데 이용될 수 있다. 메모리 동작에서의 온도 정보의 이용에 관한 여러 기타 특징은 이하에 개시된다.
일 구현예에서는, 메모리 동작을 수행하는 방법은, 메모리 디바이스에서, 하나 이상의 비휘발성 메모리 셀로부터 데이터를 판독하라는 요청을 수신하는 단계; 및 비휘발성 메모리 셀과 연관되는 저장된 온도 정보를 검색하는 단계를 포함하는데, 여기서 온도 정보는 대략적으로 데이터가 비휘발성 메모리 셀에 기입된 시간에서의 온도와 연관된다. 이 방법은, 메모리 디바이스에 의해 비휘발성 메모리 셀로부터 데이터를 판독하는 단계를 더 포함할 수 있다. 이 방법은, 적어도 검색된 온도 정보에 기초하여, 판독 데이터를 처리하는 단계; 및 처리된 데이터를 제공하는 단계를 더 포함할 수 있다.
다른 구현예에서는, 메모리 동작을 수행하는 방법은, 메모리 디바이스에서, 하나 이상의 비휘발성 메모리 셀에 데이터를 기입하라는 요청을 수신하는 단계; 및 메모리 디바이스에 의해, 비휘발성 메모리 셀과 연관된 현재 온도를 나타내는 하나 이상의 온도 센서로부터 온도 정보를 획득하는 단계를 포함한다. 이 방법은 온도 정보에 기초하여 기입 동작에 대해 수행할 조정을 결정하는 단계를 더 포함할 수 있다. 이 방법은, 온도 정보에 기초하여 결정된 기입 동작에 대한 조정을 이용하여 비휘발성 메모리 셀에 데이터를 기입하는 단계를 더 포함할 수 있다.
다른 구현예에서는, 메모리 디바이스는, 하나 이상의 비휘발성 메모리 셀, 및 비휘발성 메모리 셀과 연관된 온도 측정치를 제공하도록 구성된 하나 이상의 온도 센서를 포함한다. 이 디바이스는 비휘발성 메모리 셀에 대해 메모리 동작을 수행하도록 구성된 제어기를 더 포함할 수 있는데, 여기서 메모리 동작은 온도 센서들에 의해 제공된 온도 측정치에 기초하여 조정된다.
다른 구현예에서는, 시스템은, 하나 이상의 비휘발성 메모리 셀, 및 비휘발성 메모리 셀과 연관된 온도 측정치를 제공하도록 구성된 하나 이상의 온도 센서를 포함한다. 이 시스템은 비휘발성 메모리 셀에 대해 메모리 동작들을 수행하도록 구성된 제어기를 더 포함할 수 있는데, 여기서 메모리 동작은 온도 센서들에 의해 제공된 온도 측정치에 기초하여 조정된다.
본 명세서에 기술된 요지들의 특정 실시예는 이하의 장점들 중 하나 이상을 실현하고자 구현될 수 있다. NVM의 온도 변화에도 불구하고 NVM에 저장된 데이터의 무결성이 보존될 수 있다. 다른 예로서, NVM 내부와 주변에 위치된 온도 센서들을 사용함으로써 NVM의 온도가 보다 정확하게 결정될 수 있다. 또 다른 예로서, NVM에 저장된 데이터의 무결성을 증가시키기 위해, 메모리 동작은 NVM 내의 현재 온도 상태에 기초하여 변경(예를 들면, 데이터를 중복 프로그래밍하도록 스위칭)될 수 있다.
하나 이상의 실시예의 세부사항이 첨부된 도면 및 이하의 설명에 개시된다. 본 발명의 다른 특징들, 목적들 및 장점들은 명세서와 도면, 및 청구항으로부터 이해될 것이다.
도 1은 메모리 동작을 수행하기 위해 온도 정보를 이용하도록 구성된 NVM 패키지 및 호스트 제어기를 포함하는 예시적인 시스템을 도시하는 도면.
도 2는 메모리 동작을 수행하기 위해 온도 정보를 이용하도록 구성된 메모리 디바이스를 포함하는 예시적인 시스템을 도시하는 도면.
도 3a 및 도 3b는 단일-레벨 셀 및 멀티-레벨 셀 모드들에서 메모리 셀을 위해 셀 전압과 디지털 데이터 값들 간의 예시적인 매핑을 도시하는 도면.
도 4는 예시적인 메모리 온도 특성을 도시하는 그래프.
도 5는 온도 정보에 기초하여 메모리 디바이스로부터 데이터를 판독하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 6은 온도 정보에 기초하여 메모리 디바이스에 데이터를 기입하기 위한 예시적인 프로세스를 도시하는 흐름도.
각종 도면들에서 동일한 참조 번호는 동일한 요소들을 가리킨다.
메모리 동작은 NVM과 연관된 온도 정보를 이용하여 수행될 수 있다. 온도 정보는 NVM의 온도를 나타낼 수 있다. NVM에 대한 온도 정보는 NVM에서 수행되는 메모리 동작을 조정하는데 이용될 수 있다. 온도 정보는 NVM 내부 또는 주변에 위치된(예를 들면, NAND 플래시 메모리 다이에 위치된) 온도 센서들을 비롯한 메모리 디바이스 주변에 위치된 온도 센서들로부터 획득될 수 있다.
NVM에 저장된 데이터의 무결성은 NVM의 온도에 의해 영향을 받을 수 있다. 예를 들면, NVM으로부터 판독된 데이터의 정확성은 NVM의 온도가 증가함에 따라 감소할 수 있다. 예를 들면, 메모리 셀에 저장된 전압은 NVM 온도의 변화에 따라 상향으로 또는 하향으로 드리프트할 수 있다. 이는 NVM에 저장된 전압이 저장된 전압의 다양한 범위에 대응하는 디지털 데이터 값으로 해석될 때에 문제가 될 수 있다. 예를 들면, "단일-레벨 셀(SLC; single-level cell)"은 단일 비트의 데이터를 저장하고, 여기서 제1 전압 범위는 데이터 값 '1'에 대응하고 제2 전압 범위는 데이터 값 '0'에 대응한다. NVM의 온도 변화 때문에 저장된 전압이 제1 범위에서 제2 범위로 드리프트하면, 메모리 셀로부터의 데이터 값은 '1' 대신에 '0'으로 오판독될 수 있다.
이들 및 기타 이슈들을 다루기 위해, NVM에 대한 온도 정보가 획득되어, 저장되고, 메모리 동작을 조정하는데 이용될 수 있다. NVM에 대한 온도 정보는 NVM 자체 내와 그 주변에 위치된(예를 들어, NVM 다이에 위치된) 온도 센서를 비롯한 메모리 디바이스 전체에 위치된 각종 온도 센서들을 사용하여 획득될 수 있다. NVM 외부에 위치된 온도 센서의 경우(예를 들면, 메모리 제어기에 위치된 온도 센서), NVM의 외부에 있는 이러한 온도 센서들로부터의 측정치에 기초하여 NVM의 온도를 추론하는데 온도 특성이 이용될 수 있다. 온도 특성은, 메모리 제어기의 온도 센서와 같이 메모리 디바이스의 외부 및/또는 메모리 디바이스 내의 하나 이상의 온도 센서들로부터의 온도 측정치들과 NVM과 같은 메모리 디바이스의 다른 컴포넌트들의 대략적인 온도 간의 관계를 매핑한다.
NVM을 프로그래밍할 때에 NVM에 대한 온도 정보가 획득되어 프로그래밍 동작을 조정하는데 이용될 수 있다. 예를 들면, 프로그래밍 시점에 또는 그 즈음에 메모리 셀에 대한 온도 정보는 프로그래밍 동작에 대한 전압 임계치를 조정하는데 이용될 수 있고/있거나, 다수의 저장 위치에 데이터가 중복 기입될 수 있고/있거나 SLC 모드로부터 "멀티-레벨 셀(MLC; multi-level cell)" 모드(메모리 셀에 저장되는 멀티 비트의 데이터)로 또는 그 반대로 메모리 셀이 변경될 수 있다.
프로그래밍 시점에 또는 그 즈음에 NVM 셀들에 대한 온도 정보가 저장되어 추후에 NVM 셀들에 대한 판독 동작을 수행하는데 이용될 수 있다. 예를 들면, NVM으로부터 데이터를 판독하라는 커맨드를 수신한 것에 응답하여, 요청된 데이터가 프로그래밍된 시점에서 NVM의 온도가 검색되어 NVM의 현재 온도와 비교될 수 있다. 이러한 비교는 NVM에 대한 전압 드리프트를 근사시키고, 적절하다면, NVM에 저장된 데이터 값들을 판독하여 해석하기 위해 이용되는 전압 임계치를 조정하는데 이용될 수 있다. NVM에 대한 개선된 데이터 무결성과 같은 NVM에 대한 각종 개선을 제공하기 위해 이들 및 기타 기술들이 이용될 수 있다.
도 1은 메모리 동작들을 수행하기 위해 온도 정보를 이용하도록 구성된 NVM 패키지(104) 및 호스트 제어기(102)를 포함하는 예시적인 시스템(100)을 도시하는 도면이다. 예를 들어, NVM 패키지(104)는 NVM의 온도를 나타내는 온도 정보를 이용하여 데이터 무결성에 영향을 미치는 온도 변화들에 적응하는 방식으로 NVM에 데이터를 프로그램하고 NVM으로부터 데이터를 판독할 수 있다. 호스트 제어기(102) 및/또는 NVM 패키지(104)는 여러 호스트 디바이스들 및/또는 시스템들("호스트들"), 예를 들어, 몇몇 가능한 예들을 나열하자면, 휴대용 미디어 플레이어, 셀룰러 전화기, 포켓 크기의 개인용 컴퓨터, PDA(personal digital assistant), 데스크탑 컴퓨터, 랩탑 컴퓨터 및/또는 태블릿 컴퓨팅 디바이스 등 중 어느 것에 포함될 수 있다.
호스트 제어기(102)는 소프트웨어 및/또는 펌웨어 명령어들의 실행에 기초하여 동작들을 수행하도록 구성되는 하나 이상의 프로세서 및/또는 마이크로프로세서를 포함할 수 있다. 추가적으로 그리고/또는 대안적으로, 호스트 제어기(102)는 하드웨어 기반 컴포넌트들, 예를 들어 여러 동작들을 수행하도록 구성되는 ASIC 등을 포함할 수 있다. 호스트 제어기(102)에 의해 수행되는 동작들은 NVM 패키지(104)의 NVM으로부터의 데이터의 검색 및/또는 NVM으로의 데이터 기입을 포함할 수 있다. 예를 들어, 호스트 제어기(102)는 NVM 패키지(104)에 대해 미디어 파일(예를 들어, 오디오 파일)에 대한 요청을 제공할 수 있다. 호스트 제어기(102)에 의해 제공되는 이러한 요청은 미디어 파일에 대응하는 하나 이상의 논리 어드레스를 포함할 수 있다.
호스트 제어기(102)는 호스트 제어기(102) 내에 또는 주위에 배치되고 호스트 제어기(102)에 대해 온도 측정치들을 제공하는 하나 이상의 온도 센서(106)를 포함할 수 있다. 예를 들어, 온도 센서(106)는 호스트 제어기(102)가 호스트 제어기(102)에 대한 허용가능한 온도 범위(예를 들어, 호스트 제어기(102)에 대하여 미리 설정된 온도 규격) 내에서 동작하는지를 판정하기 위하여 (호스트 제어기(102) 및/또는 호스트 시스템의 다른 컴포넌트에 의해) 이용될 수 있는 온도 측정치들을 제공할 수 있다.
호스트 제어기(102)는 호스트 시스템 내에 그리고 호스트 시스템 주위에 배치되는 하나 이상의 주변 온도 센서(108)로부터 호스트 시스템에 대한 온도 측정치들을 획득할 수 있다. 예를 들어, 주변 온도 센서들(108)은 기판 상과 같이 호스트 시스템의 여러 위치들에 배치될 수 있고/있거나 호스트 시스템의 하우징에 부착될 수 있고, 호스트 제어기(102)(또는 호스트 시스템의 다른 컴포넌트)에 의해 이용되어 호스트 디바이스 외부 온도 및/또는 시스템이 허용가능한 온도 범위(예를 들어, 호스트 시스템에 대하여 미리 설정된 온도 규격) 내에서 동작하는지를 판정할 수 있다.
호스트 제어기(102)는 호스트 통신 채널(110)을 통해 NVM 패키지(104)와 통신할 수 있다. 호스트 제어기(102)와 NVM 패키지(104) 사이의 호스트 통신 채널(110)은 고정될 수 있고/있거나(예를 들어, 고정된 통신 채널), 분리가능하다(예를 들어, 범용 직렬 버스(USB) 포트). NVM 패키지(104)와의 상호작용들은 NVM 패키지(104)에 메모리 관련 요청들, 예를 들어, NVM 패키지(104)에 저장된 데이터를 검색하고/하거나 NVM 패키지(104)에 데이터를 저장하는 요청들 등을 제공하는 것을 포함할 수 있다. 호스트 제어기(102)는 또한 메모리 동작들을 수행하기 위해 NVM 패키지(104)에 의해 이용하기 위하여 NVM 패키지(104)에, 온도 센서들(106-108)로부터 획득된 온도 측정치들 및/또는 도시되지 않은 다른 온도 센서들로부터의 측정치를 제공할 수 있다.
NVM 패키지(104)는 호스트 인터페이스(112) 및 메모리 제어기(114)를 이용하여 호스트 통신 채널(110)을 통해 호스트 제어기(102)와 상호작용할 수 있다. 호스트 제어기(102)와 마찬가지로, 메모리 제어기(114)는 소프트웨어 및/또는 펌웨어 명령어들의 실행에 기초하여 동작들을 수행하도록 구성되는 하나 이상의 프로세서 및/또는 마이크로프로세서(116)를 포함할 수 있다. 추가적으로 그리고/또는 대안적으로, 메모리 제어기(114)는 여러 동작들을 수행하도록 구성되는 ASIC 등과 같은 하드웨어 기반 컴포넌트들을 포함할 수 있다. 메모리 제어기(114)는 호스트 제어기(102)에 의해 요청된 메모리 동작들을 포함한 여러 동작들을 수행할 수 있다. 예를 들어, 검색될 미디어 파일의 논리 어드레스를 지정하는 요청을 수신하는 것에 응답하여, 메모리 제어기(114)는 하나 이상의 대응하는 물리 어드레스(예를 들어, 다이, 블록 및/또는 페이지를 식별하는 정보)를 식별하고, 식별된 물리 어드레스들을 이용하여 요청된 데이터를 검색하고, 요청된 데이터를 호스트 인터페이스(112)를 이용하여 호스트 통신 채널(110)을 통해 호스트 제어기(102)에 전송할 수 있다.
예를 들어, 웨어 레벨링(wear leveling)과 같은 여러 메모리 관리 기능들이 호스트 제어기(102) 및 메모리 제어기(114)에 의해 단독으로 또는 결합하여 수행될 수 있다. 메모리 제어기(114)가 적어도 일부 메모리 관리 기능들을 수행하도록 구성되는 구현들에서, NVM 패키지(104)는 "관리 NVM(managed NVM)"(또는 NAND 플래시 메모리에 대한 "관리 NAND")라고 명명지어질 수 있다. 이는 "미가공 NVM(raw NVM)"(또는 NAND 플래시 메모리에 대한 "미가공 NAND")에 반대되며, 여기서, NVM 패키지(104) 외부의 호스트 제어기(102)는 NVM 패키지(104)에 대한 메모리 관리 기능들을 수행한다.
호스트 제어기(102) 및 NVM 패키지(104)는 동일한 메모리 디바이스의 일부일 수 있다. 일부 중첩이 있을 수 있지만, 호스트 제어기(102) 및 NVM 패키지(104)는 메모리 디바이스 상에서 상이한 역할들을 수행할 수 있다. 예를 들어, 호스트 제어기(102)는 사용자 인터페이스(예를 들어, 그래픽 사용자 인터페이스, 텍스트 기반 사용자 인터페이스, 오디오 사용자 인터페이스)를 제공하는 동작들을 수행하고 사용자 입력(예를 들어, 특정 미디어 파일을 재생하라는 요청들)에 응답하는 등의 메모리 디바이스에 대한 사용자 대면 기능을 수행하고 제공할 수 있다. NVM 패키지(104)는 호스트 제어기(102)로부터의 메모리 액세스 요청들을 구현하는 것(예를 들어, 논리 어드레싱으로부터 물리 어드레싱으로의 변환), 메모리 관리 동작들을 수행하는 것, 및/또는 에러 정정 동작들을 수행하는 것 등과 같이 메모리 디바이스에 대한 메모리 기반 기능을 수행하고 제공할 수 있다. 이들 역할들 중 일부는 호스트 제어기(102)가 메모리 관리 동작들과 같은 일부 메모리 동작들을 수행하는 등과 같이 공유될 수 있다.
예시적인 시스템(100)에서, 메모리 제어기(114)는 하나 이상의 온도 센서(118), 휘발성 메모리(120) 및 비휘발성 메모리(122)를 포함하는 것으로서 도시되어 있다. 온도 센서들(118)은 메모리 제어기(114) 내에 또는 그 주위에 배치될 수 있고, 메모리 제어기(114)에 대해 온도 측정치들을 제공할 수 있다. 이들 온도 측정치들은 메모리 제어기(114) 및/또는 NVM 패키지(104)의 다른 컴포넌트에 의해 이용되어 메모리 제어기(114)(또는 하나 이상의 다른 컴포넌트)가 허용가능한 온도 범위 내(예를 들어, 메모리 제어기(114)에 대한 온도 규격 내)에서 동작하는지를 판정할 수 있다. 이하 상술되는 바와 같이, 메모리 제어기(114)는 온도 센서들(118)로부터의 온도 측정치들을 이용하여, NVM 패키지(104)에 대한 메모리 동작들을 수행하고 조정할 수 있다.
휘발성 메모리(120)는 캐시 메모리 및 랜덤 액세스 메모리(RAM) 등과 같은 여러 휘발성 메모리 중 임의의 것일 수 있다. 휘발성 메모리(120)는 메모리 제어기(114)에 의해 이용되어 메모리 동작들(메모리 동작들에 대한 온도 기반 조정들 포함)을 수행하고, NVM으로부터 판독되고/되거나 NVM에 기입되는 데이터를 저장하고, NVM과 연관된 온도 정보를 저장할 수 있다.
NVM(122)은 여러 타입의 NVM 중 임의의 것일 수 있으며, 이하 더욱 상술되는 바와 같이, 메모리 제어기(114)가 메모리 동작들에 대한 온도 기반 조정들을 포함한 여러 동작들을 수행하도록 이용하는 명령어들(124)을 저장할 수 있다. NVM(112)은 또한 NVM과 연관된 메타데이터(126)를 저장할 수 있다. 메타데이터는 NVM 패키지(104)의 NVM에 저장된 데이터를 여러 방식들로 기술하는 정보를 포함한다. 예를 들어, 메타데이터(126)는 메모리 셀들이 프로그램되었을 때 하나 이상의 메모리 셀(예를 들어, 메모리 셀들의 블록)의 온도를 나타내는 온도 정보(128)를 포함할 수 있다. 온도 정보(128) 및/또는 메타데이터(126)의 다른 부분들은 NVM 패키지(104)의 NVM에 관한 여러 추가 정보, 예를 들어 타임스탬프 정보(예를 들어 메모리 셀이 이전에 프로그램된 시간) 및/또는 웨어 정보(예를 들어, NVM의 여러 부분들이 프로그램된 여러 시간들을 나타내는 정보) 등을 포함할 수 있다. 온도 정보(128)는 여러 온도 스케일들, 예를 들어, Fahrenheit, Celsius, Kelvin, 및 미가공 디지털/아날로그 온도 센서 출력 등 중 임의의 것을 이용하여 저장될 수 있다.
메모리 제어기(114)의 NVM(122)은 또한 온도 알고리즘들(130) 및/또는 메모리 온도 특성들(132)을 포함할 수 있다. 온도 알고리즘들(130)은 NVM의 온도(또는 온도의 변화들)(가능하게는 다른 입력 데이터)를 NVM에 저장된 전하의 레벨 또는 변화들에 매핑하는 알고리즘들이다. 예를 들어, 온도 알고리즘들(130)은 NVM 메모리 셀들의 전압 드리프트의 양 및 방향을 NVM 메모리 셀들의 온도 변화들에 매핑할 수 있다. 온도 알고리즘들(130)은 온도 정보(예를 들어, 프로그래밍 시의 NVM의 온도, NVM의 현재 온도, 프로그래밍 이후 경과된 시간) 및 다른 검출된 상태들 및/또는 메타데이터를 입력으로서 취할 수 있고, 특히, 메모리 동작들에 행하는 여러 조정들(예를 들어, 기입 및/또는 판독 전압 임계치들의 조정, MLC 모드로부터 SLC 모드로의 변화, 데이터의 중복 프로그래밍)을 나타내는 정보를 출력으로서 제공할 수 있다.
메모리 제어기(114)의 NVM(122)은 또한 온도 알고리즘들(130)과 관련하여 이용될 수 있는 메모리 온도 특성들(132)을 포함할 수 있다. 메모리 온도 특성들(132)은 온도 센서들(106, 108, 118 등)과 같은 여러 온도 센서들로부터의 온도 측정치들에 기초하여 NVM의 일부(예를 들어, NVM 다이, NVM 페이지, NVM 블록, 하나 이상의 NVM 셀)의 온도를 추론하는데 이용될 수 있다. 메모리 온도 특성들은 하나 이상의 온도 센서로부터의 온도 측정치를 NVM의 일부의 온도에 매핑할 수 있다. NVM의 일부에 대한 추론된 온도는 메타데이터(예를 들어, 온도 정보(128))로서 저장될 수 있고/있거나 온도 알고리즘들(130)에 대한 입력으로서 이용될 수 있다. 일부 구현들에서, 이하 더 상술되는 바와 같이, 온도 센서들은 NVM 내에 또는 그 주위에 배치될 수 있고, 온도 특성들이 이러한 NVM의 온도를 추론하는데 이용될 필요는 없을 수 있다 - 대신에, 이러한 온도 센서들로부터의 측정치들이 이러한 NVM의 온도의 충분히 정확한 표시를 제공할 수 있다.
메모리 제어기(114)는 공유 내부 버스(134)를 이용하여 집적 회로(IC) 다이들일 수 있는 복수의 메모리 다이(136a-n)에 액세스할 수 있다. NVM 패키지(104)에 대해 단일 공유 버스(134)만이 도시되어 있지만, NVM 패키지는 하나보다 많은 공유 내부 버스를 포함할 수 있다. 각각의 내부 버스는 복수의 메모리 다이(136a-n)에 의해 도시된 바와 같이, 복수(예컨대, 2개, 3개, 4개, 8개, 32개 등)의 메모리 다이에 접속될 수 있다. 메모리 다이(136a-n)는 물리적으로 다양한 구성들(예컨대, 스택형)로 배열될 수 있다. 메모리 다이(136a-n)는 NVM(138a-n)을 포함하는 것으로 도시되어 있다. NVM(138a-n)은 각종 타입의 서로 다른 NVM, 예컨대 플로팅 게이트 또는 전하 트래핑 기술에 기초하는 NAND 플래시 메모리, NOR 플래시 메모리, EPROM(erasable programmable read only memory), EEPROM(electrically erasable programmable read only memory), FRAM(ferroelectric RAM), MRAM(magnetoresistive RAM), PCM(phase change memory), 또는 이들의 조합 중 임의의 것일 수 있다. 일부 구현에서, NVM(122)은 메모리 다이(136a-n) 중 하나 이상으로 구현될 수 있다.
NVM(138a-n)은 NVM의 하나 이상의 서브유닛, 예컨대 블록들(140) 및 페이지들(142) 등으로 (물리적으로/가상적으로) 조직화될 수 있다. 예시적인 시스템(100)에 도시된 바와 같이, 블록들(140) 각각은 복수의 페이지(142)를 포함한다. 블록들(140) 및/또는 페이지들(142)은 프로그래밍, 판독, 및/또는 소거가 함께 행해지는 NVM(138a-n)의 부분들에 대응할 수 있다. 예를 들어, (NVM(138a-n)의 일례로서) NAND 플래시 메모리에서, 페이지들(142)은 판독 및/또는 프로그래밍이 함께 (동시에) 행해지는 메모리 셀들의 그룹에 대응할 수 있으며, 블록들(140)은 함께 소거되는 페이지들의 그룹에 대응할 수 있다. 블록들(140) 및 페이지들(142)의 크기 및 구성은 변할 수 있다. 예를 들어, 블록들(140)의 각각은 임의의 수의 페이지들(예컨대, 32 페이지, 64 페이지, 수천 페이지)을 포함할 수 있으며, 각각의 페이지는 수 바이트(예컨대, 512 바이트)로부터 그 이상의 연관된 저장 용량을 가질 수 있다. NVM(138a-n)의 서브유닛으로의 다른 분할도 역시 가능하다.
메모리 다이(136a-n)는 또한 NVM(138a-n)의 내부 또는 그 주위에 위치하는 하나 이상의 온도 센서들(144a-n)을 각각 포함할 수 있다. 예를 들어, 메모리 다이(136a)는 다이(136a)의 내부, 상부, 또는 전체에 걸쳐 일정 간격으로 포함되어, NVM(138a-n)에 대응하는 온도 측정치를 제공하는 하나 이상의 온도 센서를 포함할 수 있다. 온도 센서들(144a-n)로부터의 온도 측정치는 메모리 다이(136a-n)와 메모리 제어기(114) 사이의 내부 버스(134) 및/또는 하나 이상의 다른 내부 채널들(미도시)을 통해 메모리 제어기(114)에 제공될 수 있다. 온도 센서들(144a-n)로부터의 온도 측정치는, 다양한 방식, 예컨대 온도 정보(128)를 저장하고/하거나 메모리 동작(예컨대, 프로그래밍, 판독, 소거)의 각종 파라미터들(예컨대, 임계 전압 레벨)을 조정하는데 이용될 수 있는 NVM의 일부분의 온도를 결정하는데 이용될 수 있다.
온도 정보(128)는 NVM(138a-n), 블록들(140), 페이지들(142), 및/또는 개별 메모리 셀들 등의 메모리 다이들(136a-n)의 다양한 부분들의 온도를 나타내는 데이터를 포함할 수 있다. 예를 들어, (온도 센서(144a)가 표시하는 바와 같이) 페이지의 온도가 90°F인 동안에 NVM(138a)의 페이지들 중 하나가 프로그래밍되는 경우, 메모리 제어기(114)는 이러한 온도 정보를 프로그래밍된 페이지에 대응하는 메타데이터(128)로서 기록할 수 있다. 예를 들어, 프로그래밍된 페이지에 대한 온도 정보(128)는 온도(90°F), 프로그래밍된 페이지에 대한 식별자(예컨대, 페이지에 대한 물리 어드레스, 페이지에 대응하는 논리 어드레스 범위), 및/또는 페이지가 프로그래밍된 시간에 대응하는 타임스탬프를 포함할 수 있다.
또한, NVM 패키지(104)는 메모리 제어기(114) 및/또는 메모리 다이들(136a-n)과의 특정 연관성이 없는 패키지(104)의 일부인 하나 이상의 온도 센서(146)를 포함할 수 있다. 온도 센서들(146)은 NVM 패키지(104)의 다른 컴포넌트들과 연관될 수 있고/있거나, NVM 패키지(104)에 대한 주변 온도 센서들로서 기능할 수 있다. NVM(138a-n)과 특별히 연관되어 있지 않은 다른 온도 센서들(예컨대, 주변 온도 센서들(108), 온도 센서들(106), 온도 센서들(118))로부터의 온도 측정치와 같이, 온도 센서들(146)로부터의 온도 측정치는, 다양한 방식, 예컨대 온도 정보(128)를 저장하고/하거나 메모리 동작(예컨대, 프로그래밍, 판독, 소거)의 각종 파라미터들(예컨대, 임계 전압 레벨)을 조정하는데 이용될 수 있는 NVM의 일부분의 온도를 결정하는데 이용될 수 있다.
또한, NVM 패키지(104)는 NVM(138a-n)으로부터 판독된 데이터 내의 에러들을 정정하기 위한 에러 정정 엔진(148)(예컨대, 에러-정정 코드 엔진)을 포함할 수 있다. 에러 정정 엔진(148)은 하드웨어 및/또는 소프트웨어로 구현될 수 있으며, 또한 메모리 제어기(114)의 일부이거나 또는 분리될 수도 있다. 에러 정정 엔진(148)은, 온도 알고리즘(130)이, NVM(138a-n) 내에 검출되는 전압 레벨들을 해석하는데 이용되는 전압 임계치에 대해 정확한 온도-기반 조정을 제공하고 있는지의 여부를 판정하는데 이용될 수 있다. 메모리 제어기(114)는 에러 정정 엔진(148)에 의해 에러들이 검출되는지의 여부에 기초하여 온도 알고리즘(130)을 조정할 수 있다. 일부 실시예에서, 에러 정정 엔진(148)(또는 분리된 에러 정정 엔진)은 다른 타입의 에러 정정 동작들을 수행하는데 이용될 수 있다.
예를 들어, NVM(138a)의 페이지가 제1 온도에서 프로그래밍되고, 그 후 제2 온도에서 판독되는 경우, 메모리 제어기(114)는 하나 이상의 온도 알고리즘(130), 및 제1 및 제2 온도에 기초하여, 페이지 내에 디지털 데이터 값들(예컨대, 0, 1)로서 저장된 전압 레벨들을 해석하는데 이용되는 하나 이상의 전압 임계치들을 조정할 수 있다. 에러 정정 엔진(148)은 전압 임계치들에 대한 조정을 이용하여 페이지 내에 저장된 전압들의 해석으로부터 얻어지는 디지털 데이터 값들에 대해 임의의 에러가 존재하는지의 여부를 판정할 수 있다. 적어도 임계 개수의 에러(예컨대, 미가공의 수, 퍼센트)가 존재하는 경우, 그리고/또는 정정 불가능한 에러들(예컨대, 에러 정정 엔진(148)이 올바른 데이터 값을 결정할 수 없는 에러들)이 존재하는 경우, 메모리 제어기(114)는 (예를 들어, 메모리로 데이터를 프로그래밍하는 시간과 메모리로부터 데이터를 판독하는 시간 간의 온도 변동에 기초하여 검출된 값들에 대해 조정량을 변경하기 위해서) 페이지를 판독하는데 이용되는 하나 이상의 온도 알고리즘(130)을 조정할 수 있으며, 그 후 판독 및 에러 체킹 동작을 다시 수행하여 발생한 에러들이 해결되었는지의 여부를 판정할 수 있다. 온도 알고리즘(130)의 이러한 동적 조정은 적어도 임계 개수의 검출 에러들이 해결될 때까지 그리고/또는 임계 횟수의 반복에 도달할 때까지 반복적으로 수행될 수 있다.
도시되지 않았지만, 메모리 제어기(114)와 연계하여 설명된 다양한 기법들 및/또는 컴포넌트들이 호스트 제어기(102)에 의해 수행되고/되거나 그에 포함될 수 있다. 예를 들어, 메타데이터(126) 및/또는 온도 정보(128)의 일부 또는 전부가 호스트 제어기(102)와 연관된 NVM(미도시)에 저장될 수 있다. 이러한 구현에서, 호스트 제어기(102)는 메모리 동작(예컨대, 프로그래밍, 판독, 소거)과 연관된 관련 온도 정보를 NVM 패키지(104)에 제공하고/하거나 그로부터 수신할 수 있다.
도 2는 메모리 동작들을 수행하기 위해 온도 정보를 이용하도록 구성된 메모리 디바이스(202)를 포함하는 예시적인 시스템(200)을 도시한 다이어그램이다. 메모리 디바이스(202)는 임의의 각종 메모리 디바이스, 예컨대 휴대용 미디어 플레이어, 셀룰러 전화기, 포켓 크기의 개인용 컴퓨터, PDA(personal digital assistant), 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨팅 디바이스, 및/또는 착탈식/휴대용 저장 디바이스(예컨대, 플래시 메모리 카드, USB 플래시 메모리 드라이브) 등일 수 있다.
예시적인 메모리 디바이스(202)는 호스트 제어기(204) 및 NVM(206)을 포함하는 것으로 도시되어 있다. 호스트 제어기(204)는 도 1과 연계하여 전술한 호스트 제어기(102)와 유사할 수 있다. 호스트 제어기(204)는 하나 이상의 프로세서(208), 휘발성 메모리(210), 및 하나 이상의 온도 센서(211)를 포함한다. 프로세서들(208)은 임의의 각종 프로세서들, 예컨대 마이크로프로세서, CPU(central processing unit), GPU(graphics processing unit), 또는 이들의 임의의 조합일 수 있다. 휘발성 메모리(210)는 도 1과 연계하여 전술한 휘발성 메모리(120)와 유사할 수 있다. 휘발성 메모리(210)는 NVM(206)에 저장된 데이터를 검색하고 처리하는 등의 다양한 동작들을 수행하도록 프로세서들(208)에 의해 이용될 수 있다. 온도 센서들은 도 1과 연계하여 전술된 온도 센서들(106)과 유사할 수 있다.
NVM(206)은 하나 이상의 NVM 패키지(212a-b)를 포함할 수 있다. NVM 패키지(212a-b)는 도 1과 연계하여 전술된 NVM 패키지(104)와 각각 유사할 수 있다. 예를 들어, NVM 패키지(212a-b)는 NVM을 갖는 복수의 메모리 다이들(예컨대, 메모리 다이들(138a-n) 및 NVM(140a-n)) 및 메모리 동작들을 수행하기 위해 NVM 패키지들(212a-b)과 연관된 온도 정보를 이용하도록 구성되는 하나 이상의 메모리 제어기들(예컨대, 메모리 제어기(114))를 각각 포함할 수 있다. NVM 패키지들(212a-b)의 각각(단독으로, 또는 서로 및/또는 호스트 제어기(204)와 연관하여)은 온도 정보를 수집, 유지, 및 이용하여 각각의 개별 패키지와 연관된 메모리 동작들을 수행할 수 있다. NVM(206)은 임의의 수(예컨대, 2개, 3개, 4개, 8개, 16개 등)의 NVM 패키지를 포함할 수 있다.
도 1과 연계하여 전술한 바와 같이, NVM의 관리는 호스트 제어기(204) 및/또는 NVM 패키지들(212a-b)의 제어기들에 의해 수행될 수 있다. 예를 들어, 호스트 제어기(204)는 호스트 제어기(204)에 제공되고/되거나 이 호스트 제어기에 의해 저장된 온도 정보에 기초하여 NVM 패키지들(212a-b)의 동작을 조정(예컨대, MLC 모드로부터 SLC 모드로 스위칭)하도록 구성될 수 있다. NVM 패키지들(212a-b)의 제어기들이 메모리 관리 동작들(예컨대, 에러 정정, 웨어 레벨링 등)의 적어도 일부를 제어하는 구현에서, NVM 패키지들(212a-b)은 "관리" NVM인 것으로 간주될 수 있다.
또한, 메모리 디바이스(202)는 하나 이상의 주변 온도 센서들(213)을 포함할 수 있다. 주변 온도 센서들(213)은 도 1과 연계하여 전술된 주변 온도 센서들(108)과 유사할 수 있다.
시스템(200)은 메모리 디바이스(202)에 (직접적으로 그리고/또는 간접적으로) 통신가능하게 접속될 수 있는 외부 디바이스(214)도 포함하는 것으로 도시되어 있다. 외부 디바이스(214)와 메모리 디바이스(202) 간의 통신은 2개의 디바이스 간의 데이터 및/또는 명령어들의 전송을 포함할 수 있다. 외부 디바이스(214)는 데스크탑 컴퓨터, 랩탑 컴퓨터, 및 미디어 컴퓨팅 디바이스(예를 들어, 미디어 서버, 텔레비전, 스테레오 시스템)와 같은 각종 전자 디바이스 중 어느 것이라도 될 수 있다. 메모리 디바이스(202)는 외부 디바이스 인터페이스(216)(예를 들어, 무선 칩, USB 인터페이스 등)를 이용하여 물리 및/또는 무선 접속을 통해 외부 디바이스(214)와 통신할 수 있다.
예를 들어, 일 구현예에서는, 메모리 디바이스(202)는 휴대용 미디어 플레이어일 수 있고, 외부 디바이스(214)는 미디어 파일(예를 들면, 오디오 파일, 비디오 파일 등)을 물리 접속(예를 들어, USB 케이블)을 통해 서로에게 송신할 수 있는 데스크탑 컴퓨터일 수 있다.
도 3a 및 도 3b는 각각 메모리 셀에 대한 SLC 및 MLC 모드에서의 디지털 데이터 값과 셀 전압 간의 예시적인 매핑을 도시한다. 도 1에 관련하여 상술한 바와 같이, 온도 정보는 메모리 셀들을 SLC 모드와 MLC 모드 간에 스위칭할지 여부를 판정하는데 이용될 수 있다.
도 3a는 SLC 모드(메모리 셀마다 한 비트의 데이터가 저장됨)에서 동작하는 메모리 셀에 대한 예시적인 디지털 데이터 값 분포(300)를 도시한다. 이 예에서, 전압 분포 곡선(302)은 디지털 값 0을 나타내고 전압 분포 곡선(304)은 디지털 값 1을 나타낸다. 예를 들면, 전압 분포 곡선(302)에 의해 경계지어진 범위 내에 있는 메모리 셀로부터의 전압 판독은 디지털 데이터 값 0으로서 해석될 것이다. 분포 곡선(302 및 304)의 경계를 결정하는데 전압 임계치가 이용될 수 있다. 예를 들면, 분포 곡선(302)은 (분포 곡선(302)의 최소 전압을 정의하는) 하부 전압 임계치 및 (분포 곡선(302)의 최대 전압을 정의하는) 상부 전압 임계치에 의해 경계지어질 수 있다.
분포 곡선들(302 및 304) 사이의 영역이 그레이 공간(306)으로 도시되어 있다. 그레이 공간(306) 내에 있는 전압은 불특정 데이터 값으로서 해석될 수 있는데, 이에 대해서는 올바른 데이터 값을 결정하는데 에러 정정 코드(ECC)를 이용하는 것과 같은 각종 기술들이 이용될 수 있다.
도 3a에 도시된 예시적인 메모리 셀에 저장된 전압은 메모리 셀의 온도의 변동(fluctuation)에 응답하여 드리프트(변경)될 수 있다. 전압 분포 곡선(308 및 310)은, 각각, 전압 분포 곡선(302 및 304)에 대응하는 예시적인 전압 드리프트를 도시한다. 예를 들면, 본래부터 분포 곡선(304) 내에 있는 전압 값은 메모리 셀에서의 온도 변화(예를 들어, 온도 증가, 온도 감소)에 기초하여 상향 드리프트되어, 이들 전압 값이 현재 분포 곡선(310) 내에 있도록 한다. 이 예에서의 전압 드리프트는 △V0(312) 및 △V1(314)로서 도시되어 있다. 전압 드리프트는 메모리 셀에 저장된 전압 범위에 걸쳐 균일할 수도 있고/있거나 균일하지 않을 수도 있다. 이 예에서, 전압 드리프트는 균일하지 않은 것으로서 도시되어 있다 - △V1(314)은 △V0(312)보다 큰 것으로 제시된다. 전압 분포 곡선 시프팅 이외에도, 이 예에서의 그레이 공간(306)은 그레이 공간'(316)으로 드리프트한다.
온도-기반 전압 드리프트에 비추어 볼 때, 분포 곡선(302 및 304)에 대응하는 전압 임계치가, 각각, 분포 곡선(308 및 310)에 (임계 마진 내에) 대응하도록 조정되지 않는다면, 이 예시적인 메모리 셀 내에 저장된 전압 레벨은 오해석될 수 있다. 예를 들어, 저장된 전압(318)은 전압(320)으로 드리프트될 수 있고, 분포 곡선(302 및 304)을 정의하는 전압 임계치를 이용하여, 전압(320)은 불특정 데이터 값으로서 해석될 것이다. 이러한 불특정성은 관련 프로세서/마이크로프로세서(예를 들면, 프로세서/마이크로프로세서(316))로부터의 싸이클을 소모할 수 있는, 에러 정정과 같은 다양한 동작을 트리거할 수 있다. 그러나, 본 문헌에 기술된 기술을 이용하면, 프로그래밍 시의 온도를 알고 있고, 판독 시의 온도를 알고 있고/있거나, 전압(318)이 프로그래밍되었을 때의 온도와 전압(320)을 판독할 때의 온도를 비교한다면 분포 곡선(302 및 304)에 대응하는 전압 임계치는 각각 분포 곡선(308 및 310)에 대응하도록 조정될 수 있다.
도 3b는 MLC 모드(메모리 셀마다 1비트가 넘는 데이터가 저장됨)에서 동작하는 메모리 셀에 대한 예시적인 디지털 데이터 값 분포(350)를 도시한다. 이 예에서, 메모리 셀은 전압 분포 곡선(352-362)에 의해 나타난 바와 같이, 4-비트의 데이터를 저장하도록 구성된다. MLC 모드에서의 전압 분포 곡선(352-362)은 도 3a에 도시된 바와 같이 SLC 모드에서의 전압 분포 곡선(302-304)보다 작아질 수 있다 - 소량의 전압 드리프트가 SLC 모드에서보다 MLC 모드에서 데이터 값을 오판독되게 할 가능성이 더 높을 수 있다. 온도 정보는 언제 MLC 모드와 SLC 모드 간에 스위칭할지를 결정하는데 이용될 수 있다. 예를 들면, MLC 모드에서 메모리 셀에 대한 큰 온도 변화가 검출되고, 이 온도 변화를 입력으로 하는 대응 온도 알고리즘(예를 들면, 온도 알고리즘(130))이, 메모리 셀에 저장된 전압은 적어도 임계 양만큼 드리프트될 수 있음을 나타내는 출력을 제공한다면, 메모리 셀은 MLC모드에서 SLC 모드로 스위칭될 수 있다.
도 4는 예시적인 메모리 온도 특성(402-406)을 도시하는 그래프(400)이다. 도 1 및 메모리 온도 특성(132)에 관련하여 상술한 바와 같이, 메모리 온도 특성(402-406)은 NVM의 일부(예를 들면, NVM 다이, NVM 블록, NVM 페이지) 온도를, NVM의 일부 내에, 주위에, 그리고/또는 외부에 위치한 온도 센서로부터의 온도 측정치에 기초하여 추론하는데 이용될 수 있다.
예를 들면, 온도 특성(402)은 NVM 패키지(104)의 일부인 온도 센서(146)에 대응할 수 있고, NVM(138a-n)의 온도, NVM(138a-n) 간의 서로 다른 온도, 또는 블록(140) 및 페이지(142)와 같은 NVM(138a-n)의 각종 서브유닛의 서로 다른 온도를, 온도 센서(146)에서의 온도 측정치에 기초하여 추론하는데 이용될 수 있다.
온도 특성(402-406)은 각종 온도 센서 측정치와 NVM 온도를 상관시키는 경험적인 징표(empirical evidence)의 분석과 같은 다양한 기술을 통해 개발될 수 있다. 각각의 NVM(138a-n)의 거동은 프로그래밍 시점에서의 온도, 판독 시점에서의 온도, 및/또는 프로그래밍 시점 온도와 판독 시점 온도 사이의 차이에 기초하여 데이터를 해석하는데 이용되는 온도 알고리즘에 의해 모델링되거나 그렇지 않다면 표시될 수 있는 방식으로 측정된 온도 또는 추론된 온도에 따라 달라질 수 있다.
도 5는 온도 정보에 기초하여 메모리 디바이스로부터 데이터를 판독하기 위한 예시적인 프로세스(500)를 도시하는 흐름도이다. 프로세스(500)는 도 1에 관련하여 기술된 NVM 패키지(104) 및/또는 호스트 제어기(102), 및/또는 도 2에 관련하여 기술된 메모리 디바이스(202)와 같은 각종 메모리 디바이스에 의해 수행될 수 있다.
502에서 NVM으로부터 데이터를 판독하라는 요청이 수신된다. 예를 들면, 호스트 제어기(102)는 호스트 통신 채널(110)을 통해 NVM(138a-n)으로부터 NVM 패키지(104)로 데이터를 판독하라는 커맨드를 전송할 수 있다. 이러한 커맨드는 NVM(138a-n)으로부터 판독되는 하나 이상의 논리 어드레스를 포함할 수 있는데, NVM 패키지(104)는 이 어드레스를 NVM(138a-n)의 대응하는 물리 어드레스로 변환할 수 있다.
이러한 요청을 수신하는 것에 응답하여, 504에서 NVM 및 요청된 데이터와 연관되는 저장된 온도 정보가 검색된다. 도 1에 관련하여 상술한 바와 같이, 저장된 온도 정보는 NVM의 하나 이상의 부분들(예를 들면, 다이, 블록, 페이지, 메모리 셀)의, 이 NVM의 부분들에 데이터가 가장 최근에 기입되었던 시점에서의 또는 대략적인 시점에서의 온도를 기술하는 메타데이터일 수 있다. 예를 들면, 메모리 제어기(114)는 온도 정보(128)로부터 요청된 데이터를 저장하고 있는 NVM의 일부와 연관된 온도 정보를 검색할 수 있다.
506에서 NVM에 대한 현재의 온도 정보가 하나 이상의 온도 센서로부터 수신될 수 있다. 예를 들면, 요청된 데이터가 NVM(138a)에 저장된다면, NVM(138a)에 또는 그 주변에 위치한 온도 센서(들)(144a)로부터 온도 측정치를 구할 수 있다. 다른 예에서, 온도 측정치는 NVM 패키지(104)의 일부인 온도 센서(들)(148) 및/또는 주변 온도 센서(들)(108)와 같은 다른 온도 센서로부터 구할 수 있다. 이 온도 측정치는, 각종 온도 센서의 온도 측정치를 NVM의 일부에 대한 온도 값에 매핑하는 메모리 온도 특성(예를 들면, 메모리 온도 특성(132))에 관련하여 수신된 온도 측정치로부터 NVM에 대한 현재 온도를 결정하는데 이용될 수 있다.
508에서 NVM에 저장된 전압 레벨을 해석하는데 이용되는 전압 임계치가 저장된 온도 정보 및 현재의 온도 정보에 기초하여 조정될 수 있다. 이러한 조정은 온도 변화를 NVM에서의 전압 드리프트에 매핑하는 하나 이상의 온도 알고리즘(예를 들면, 온도 알고리즘(130))을 이용하여 행해질 수 있다.
예를 들면, 도 3a를 참조하여 보면, 메모리 셀이 제1 온도일 때에는, 메모리 셀은, (전압 분포(302 및 304)를 이용하여 해석되는 바와 같이) 데이터 값 0에 대응하는 전압 레벨(318)까지 충전된다. 메모리 셀이 온도를 변경함에 따라, 저장된 전압 레벨(318)은 드리프트 업(drift up) 또는 드리프트 다운(drift down)될 수 있다. 도 3a의 예에서 도시된 바와 같이, 온도 변화는 전압(318)이 (전압 분포(302 및 304)를 이용한다면) 그레이 공간(306) 내에 있는 전압(320)으로 드리프트하게 할 수 있다. 메모리 셀 내에 저장된 데이터 값이 적절하게 해석될 수 있도록 전압 분포(302 및 304)에 대한 전압 임계치를 조정하는 방식을 결정하는데, 메모리 셀 내의 온도 변화와 메모리 셀 내의 전압 드리프트 간의 관계를 상관시키는 하나 이상의 온도 알고리즘이 이용될 수 있다. 이러한 알고리즘을 메모리 셀의 상태(예를 들어, 프로그래밍 시의 이전 온도, 판독 시의 현재 온도)에 적용하는 것에 기초하여, 전압 임계치가 조정될 수 있고 전압 분포(308 및 310)를 발생시킬 수 있다. 이러한 온도 알고리즘은, 프로그래밍 시의 메모리 셀의 온도, 판독 시의 메모리 셀의 온도, 이 두 온도의 차, 메모리 셀에 대한 웨어(예를 들면, 프로그래밍 횟수, 삭제 횟수, 및 판독 횟수), 메모리 셀 타입(예를 들면, NOR 플래시 메모리 셀, NAND 플래시 메모리 셀), 및/또는 셀과 연관된 이전의 에러와 같은 다양한 정보를 입력으로 할 수 있다.
510에서, 요청된 데이터는 조정된 전압 임계치들을 이용하여 판독될 수 있다. 예를 들어, 도 3a를 참조하면, (전압 분포(308 및 310)의 한계를 정의할 수 있는) 조정된 전압 임계치들은 저장된 전압(320)을 판독하고 해석하는데 이용될 수 있다.
512에서 판독 데이터에 대해 하나 이상의 에러 체킹 동작이 수행될 수 있다. 예를 들어, NVM 패키지(104)는 에러 정정 엔진(148)을 이용하여 판독 데이터 내에 에러가 있는지의 여부를 판정할 수 있다. 데이터가 올바르게 판독되었다고 결정되면(514), 516에서 판독 데이터는 요청 엔티티에 의해 이용되고/되거나 요청 엔티티에 제공될 수 있다. 예를 들어, 호스트 제어기(102)가 NVM 패키지(104)로부터의 데이터를 요청한 경우, 올바르게 판독된 데이터는 호스트 제어기(102)에 제공될 수 있다.
데이터가 올바르게 판독되지 못하면(514), 520에서 전압 임계치들을 조정하는데 이용된 온도 알고리즘이 변경될 수 있다(예를 들어, 상이한 알고리즘에 의해 대체되고, 온도와 전압 드리프트 간의 관계를 정의하는 계수들을 조정함). 변경된 알고리즘으로, NVM의 현재 온도를 획득하는 것(506), 전압 임계치들을 조정하는 것(508), 조정된 임계치들을 이용하여 데이터를 판독하는 것(510), 및/또는 에러 체킹 동작을 수행하는 것(512)의 또 다른 반복이 수행될 수 있다. 이러한 반복적인 프로세스는, 514에서 (예를 들어, 올바른 임계 마진 내에서) 요청된 데이터가 올바르게 판독될 때까지, 그리고/또는 518에서 반복의 임계 횟수에 도달할 때까지 계속될 수 있다. 온도 알고리즘들에 대한 이러한 반복적인 조정은, 온도 알고리즘들로 하여금 시간이 지남에 따른 열화와 같은 NVM의 변화들에 동적으로 적응하게 할 수 있다.
저장된 데이터 값을 올바르게 식별하지 못하고 반복의 임계 횟수에 도달한 경우, 522에서 에러가 보고되고/되거나 기록될 수 있다. 예를 들어, 메모리 제어기(114)는 NVM(138a-n)의 하나 이상의 부분들과 연관된 메타데이터(126)의 부분으로서 예를 들어 에러를 기록할 수 있다. 다른 예에서, 판독된 에러는 호스트 제어기(102)로부터의 데이터 요청에 응답하여 호스트 제어기(102)에 제공될 수 있다.
도 6은 온도 정보에 기초하여 메모리 디바이스에 데이터를 기입하기 위한 예시적인 프로세스(600)를 도시한 흐름도이다. 프로세스(600)는 도 1과 관련하여 상술한 NVM 패키지(104) 및/또는 호스트 제어기(102)와 같은 다양한 메모리 디바이스들, 및/또는 도 2와 관련하여 상술한 메모리 디바이스(202)에 의해 수행될 수 있다.
602에서, NVM에 데이터를 기입하라는 요청이 수신된다. 예를 들어, 호스트 제어기(102)는 호스트 통신 채널(110)을 통해 NVM 패키지(104)에 기입 커맨드를 전송할 수 있다.
604에서, 요청된 데이터가 기입될 NVM과 연관된 온도 정보가 획득된다. 예를 들어, 메모리 제어기(114)가 NVM(138a)에 충분한 이용가능한 저장 용량이 있다고 판정한 경우, NVM(138a)과 연관된 온도 정보가 획득될 수 있다. 예를 들어, 온도 센서들(144a) 및/또는 NVM 패키지(104)의 온도 센서들(146)과 같은 다른 온도 센서들로부터 온도 측정치들이 수신될 수 있다.
606에서, 획득된 온도 정보에 기초하여 요청된 기입 동작을 조정할지 여부가 결정될 수 있다. 기입 동작에 대한 다양한 조정이 행해질 수 있다. 예를 들어, 획득된 온도 정보에 기초하여, 데이터 값들에 대응하는 전압 분포들을 정의하는데 이용되는 전압 임계치들이 조정될 수 있다. 도 5 및 단계(508)와 관련하여 상술한 조정들과 유사하게, 하나 이상의 온도 알고리즘이 전압 임계치들에 대한 조정들을 결정하는데 이용될 수 있다.
다른 예에서, 획득된 온도 정보가 임계 레벨을 초과하면(또는 임계 레벨보다 낮으면), 데이터는 NVM 내의 다수의 위치들에 과다하게 기입될 수 있다. 예를 들어, NVM이 NVM의 부정확한 프로그래밍으로 잠재적으로 귀결될 수 있는 높은 온도를 갖는 경우, 데이터는 NVM의 다수의 위치들에 과다하게 기입되어, 이 위치들 중 하나 이상이 정확하게 프로그래밍될 확률을 증가시킬 수 있다.
다른 예에서, 데이터는 획득된 온도에 기초하여 SLC 모드 또는 MLC에서 기입될 수 있다. 예를 들어, NVM의 온도가 임계 레벨(이 임계 레벨을 초과하면 MLC 모드는 신뢰도가 감소한다)을 초과하면, 데이터는 SLC 모드에서 기입될 수 있다. 반대로, NVM의 온도가 임계 레벨(이 임계 레벨에서 MLC 프로그래밍은 충분히 신뢰할 만하다) 미만이면, 데이터는 MLC 모드에서 기입될 수 있다.
다른 예에서, 요청된 데이터의 프로그래밍은, 데이터가 기입될 NVM의 온도가 임계 레벨 미만으로 떨어지고/떨어지거나 임계 레벨을 초과하여 상승할 때까지 지연될 수 있다. 예를 들어, NVM의 온도가 매우 뜨거워서 데이터가 정확하게 프로그래밍될 수 없는 경우, 프로그래밍 정확도가 수용가능한 레벨까지 개선되는 임계 레벨 미만으로 온도가 떨어질 때까지 기입 동작은 지연될 수 있다. 또 다른 예에서, 요청된 데이터의 프로그래밍은, 전류 및/또는 타이밍과 같은 다양한 프로그래밍 매개변수들을 조정함으로써 변경될 수 있다.
608에서, 요청된 데이터는 조정된 기입 동작을 이용하여 NVM에 기입될 수 있다. 610에서, 프로그래밍 시에 NVM에 대한 온도 정보가 저장될 수 있다. 이러한 저장된 온도 정보는, 도 5와 관련하여 상술한 바와 같이, 나중에 검색되어 프로그래밍된 메모리 셀들로부터 데이터를 판독하는데 이용될 수 있다.
본 명세서에서 설명된 대상 및 동작들의 실시예들은 디지털 전자 회로에서, 또는 본 명세서에서 개시한 구조물들 및 이 구조물들의 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서, 또는 이들의 하나 이상의 결합들에서 구현될 수 있다. 본 명세서에서 설명된 대상의 실시예들은, 데이터 처리 장치에 의해 실행되기 위해 또는 이 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체에 인코딩된 하나 이상의 컴퓨터 프로그램으로서, 즉, 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 추가적으로, 프로그램 명령어들은, 데이터 처리 장치에 의해 실행되기 위해 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하도록 생성되는 인공적으로 생성된 전파 신호, 예를 들어, 머신-생성된 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터-판독가능 저장 디바이스, 컴퓨터-판독가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 어레이 또는 디바이스, 또는 이들의 하나 이상의 결합이거나, 이들 내에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파 신호 내에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한, 하나 이상의 분리된 물리 컴포넌트 또는 매체(예를 들어, 다수의 CD, 디스크 또는 다른 저장 디바이스)이거나, 이들 내에 포함될 수 있다.
본 명세서에서 설명된 동작들은, 데이터 처리 장치에 의해, 하나 이상의 컴퓨터-판독가능 저장 디바이스 상에 저장되거나 다른 소스들로부터 수신된 데이터에 대해 수행되는 동작들로서 구현될 수 있다.
용어 "데이터 처리 장치"는 예를 들어, 프로그램가능한 프로세서, 컴퓨터, 칩 또는 복수의 칩들 상의 시스템, 또는 이들의 결합들을 포함하여, 모든 종류의 장치, 디바이스 및 데이터 처리를 위한 머신을 포함한다. 장치는 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 논리 회로를 포함할 수 있다. 장치는 또한, 하드웨어 뿐만 아니라, 해당 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 머신, 또는 이들 중 하나 이상의 결합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라구조와 같은 여러 가지 서로 다른 컴퓨팅 모델 인프라구조를 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로서 알려짐)은, 컴파일 또는 인터프리트 언어, 선언 또는 절차 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 예를 들어, 독립형 프로그램으로서, 또는 모듈, 컴포넌트, 서브루틴, 객체 또는 컴퓨팅 환경에서 이용하기에 적합한 다른 유닛으로서 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 반드시 그럴 필요는 없지만, 파일 시스템 내의 파일에 대응할 수 있다. 프로그램은 해당 프로그램에 전용인 단일 파일 내에, 또는 복수의 조합된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 부분들을 저장하는 파일들) 내에 다른 프로그램 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 유지하는 파일의 일부분 내에 저장될 수 있다. 컴퓨터 프로그램은, 한 컴퓨터 상에서, 또는 한 사이트에 위치하거나 복수의 사이트들에 걸쳐 분산되고 통신 네트워크에 의해 상호접속되는 복수의 컴퓨터들 상에서 실행되도록 배치될 수 있다.
본 명세서에서 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 동작들을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능한 프로세서에 의해 수행될 수 있다. 이 프로세스 및 논리 흐름은 또한, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치도 이러한 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어, 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들에 따라 동작들을 수행하기 위한 프로세서, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기 디스크, 자기 광학 디스크 또는 광학 디스크들을 포함할 것이고, 또는 이러한 대용량 저장 디바이스에 대해 데이터를 수신하거나 전송하거나 또는 이 둘 다를 수행하기 위해 동작적으로 결합될 것이다. 그러나, 컴퓨터는 이러한 디바이스들을 구비할 필요는 없다. 또한, 컴퓨터는 예를 들어 모바일 전화기, PDA(personal digital assistant), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(Global Positioning System) 수신기, 또는 휴대용 저장 디바이스(예를 들어, USB(universal serial bus) 플래시 드라이브)와 같은 다른 디바이스에 임베딩될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하는데 적합한 디바이스들은 일 예로서, 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 착탈식 디스크); 자기 광학 디스크; 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 미디어 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 전용 논리 회로에 의해 보충되거나, 전용 논리 회로에 통합될 수 있다.
이와 유사하게, 도면에는 동작들이 특정 순서로 도시되어 있지만, 그러한 동작들이 그 도시된 특정 순서 또는 순차적인 순서로 수행되어야 하는 것은 아니고, 모든 도시된 동작들은 원하는 결과를 달성하기 위해 수행될 수 있다. 어떤 경우에는, 멀티태스킹 및 병렬 처리가 바람직할 수 있다. 또한, 상기 설명된 실시예들에서 여러 시스템 컴포넌트들의 분리는 그러한 분리가 모든 실시예에서 필요한 것은 아니고, 설명된 프로그램 컴포넌트 및 시스템들은 통상 단일 소프트웨어 제품에 함께 통합되거나, 다수의 소프트웨어 제품에 패키지화될 수 있다.
이와 같이, 본 발명의 특정 실시예들을 설명하였다. 다른 실시예들은 다음 특허청구범위의 범위 내에 있다. 또한, 온도 정보를 이용하여 메모리 동작을 수행하는 다른 메커니즘이 이용될 수 있다. 몇몇 경우에 있어서, 특허청구범위에 기재된 동작들은 상이한 순서로 수행될 수 있지만, 계속 원하는 결과를 달성할 수 있다. 또한, 첨부된 도면에 설명된 프로세스들은 원하는 결과를 달성하기 위하여, 반드시 도시된 특정 순서 또는 순차적인 순서를 필요로 하는 것은 아니다. 특정 구현예에 있어서, 멀티태스킹 및 병렬 처리가 바람직할 수 있다.

Claims (20)

  1. 메모리 동작들을 수행하기 위한 장치로서,
    메모리 디바이스에서, 하나 이상의 비휘발성 메모리 셀들로부터 데이터를 판독하라는 요청을 수신하는 수단;
    상기 비휘발성 메모리 셀들과 연관되는 저장된 온도 정보를 검색하는 수단 - 상기 온도 정보는 상기 데이터가 상기 비휘발성 메모리 셀들에 기입된 시간의 온도를 나타냄 -;
    상기 메모리 디바이스에 의해, 상기 비휘발성 메모리 셀들로부터 상기 데이터를 판독하는 수단;
    적어도 상기 검색된 온도 정보에 기초하여 상기 판독된 데이터를 처리하는 수단 - 상기 검색된 온도 정보에 기초하여 상기 비휘발성 메모리 셀들로부터 상기 판독된 데이터를 처리하는 수단은, 상기 검색된 온도 정보에 기초하여 상기 비휘발성 메모리 셀들에 저장된 데이터를 해석하는데 이용되는 하나 이상의 전압 임계치들을 조정하는 수단을 포함하고, 상기 전압 임계치들은, 온도에 기초하여 상기 비휘발성 메모리 셀들에서의 전압 드리프트(voltage drift)를 매핑하는 알고리즘을 이용하여 조정됨 - ;
    상기 비휘발성 메모리 셀들로부터 판독된 상기 데이터에 대해 에러 체킹 동작을 수행하는 수단;
    상기 에러 체킹 동작에 기초하여, 상기 전압 임계치들에 대한 조정으로 인해 상기 데이터의 해석이 허용가능하게 되는지 여부를 판정하는 수단;
    상기 조정으로 인해 상기 데이터가 올바르게 해석되었는지 여부의 판단에 기초하여 상기 알고리즘을 갱신하는 수단;
    상기 비휘발성 메모리 셀들로부터 상기 데이터를 재판독 및 재처리하는 수단; 및
    상기 처리된 데이터를 제공하는 수단
    을 포함하는, 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 비휘발성 메모리 셀들과 연관된 현재 온도를 나타내는 하나 이상의 온도 센서들로부터 현재의 온도 정보를 수신하는 수단을 더 포함하며, 상기 데이터는 추가적으로 상기 현재의 온도 정보에 기초하여 상기 비휘발성 메모리 셀들로부터 판독되는 장치.
  6. 제5항에 있어서,
    상기 현재 온도와, 상기 데이터가 상기 비휘발성 메모리 셀들에 기입된 때의 온도 사이의 차이를 결정하는 수단을 더 포함하며, 상기 비휘발성 메모리 셀들로부터 판독된 데이터는, 상기 현재 온도와, 상기 데이터가 상기 비휘발성 메모리 셀들에 기입된 때의 온도 사이의 결정된 차이에 기초하여 처리되는 장치.
  7. 메모리 동작들을 수행하는 방법으로서,
    메모리 디바이스에서, 하나 이상의 비휘발성 메모리 셀들에 데이터를 기입하라는 요청을 수신하는 단계;
    상기 메모리 디바이스에 의해, 상기 비휘발성 메모리 셀들과 연관된 현재 온도를 나타내는 하나 이상의 온도 센서들로부터의 온도 정보를 획득하는 단계;
    상기 현재 온도가 허용가능한 온도의 범위 바깥에 있다는 판단에 기초하여, 상기 온도 센서들이 상기 현재 온도가 상기 허용가능한 온도의 범위 내에 있음을 나타낼 때까지 프로그래밍을 지연시키는 단계;
    상기 온도 정보에 기초하여 기입 동작에 대해 수행할 조정을 결정하는 단계; 및
    상기 온도 정보에 기초하여 결정된 상기 기입 동작에 대한 조정을 이용하여 상기 비휘발성 메모리 셀들에 상기 데이터를 기입하는 단계
    를 포함하는 방법.
  8. 제7항에 있어서,
    상기 기입 동작에 대한 조정은, 상기 비휘발성 메모리 셀들에 저장된 데이터 값들의 표현들을 정의하는 하나 이상의 전압 임계치들에 대한 조정을 포함하는 방법.
  9. 제8항에 있어서,
    상기 전압 임계치들에 대한 조정은, 상기 비휘발성 메모리 셀들과 연관된 현재 온도에 따라 상기 비휘발성 메모리 셀들에서의 전압 드리프트에 매핑하는 알고리즘을 이용하여 결정되는 방법.
  10. 제7항에 있어서,
    상기 기입 동작에 대한 조정은, 상기 온도 정보에 의해 지시되는 상기 현재 온도가 임계 레벨을 초과하는 경우에 상기 데이터를 중복 기입하는 것을 포함하는 방법.
  11. 제7항에 있어서,
    상기 기입 동작에 대한 조정은, 각각의 비휘발성 메모리 셀에 저장된 비트 수를 조정하는 것을 포함하는 방법.
  12. 메모리 디바이스에서 온도 센서들을 이용하는 방법으로서,
    하나 이상의 비휘발성 메모리 셀들에 대한 메모리 동작의 요청을 수신하는 단계;
    상기 하나 이상의 비휘발성 메모리 셀들과 연관된 현재 온도를 나타내는 하나 이상의 온도 센서들로부터의 온도 정보를 획득하는 단계;
    상기 현재 온도가 허용가능한 온도의 범위 바깥에 있다는 판단에 기초하여, 상기 온도 센서들이 상기 현재 온도가 상기 허용가능한 온도의 범위 내에 있음을 나타낼 때까지 상기 메모리 동작을 지연시키는 단계;
    상기 획득된 온도 정보에 기초하여 상기 메모리 동작의 요청에 대해 수행할 조정을 결정하는 단계; 및
    상기 결정된 조정을 이용하여 상기 메모리 동작을 수행하는 단계
    를 포함하는 방법.
  13. 제12항에 있어서,
    상기 메모리 동작은 판독 동작이고,
    상기 온도 정보는, 데이터가 프로그래밍된 시간에 상기 하나 이상의 메모리 셀들과 연관된 온도를 포함하며,
    상기 결정된 조정은, 상기 온도 정보에 기초하여 상기 비휘발성 메모리 셀들의 부분으로부터 판독된 데이터를 해석하는데 이용되는 하나 이상의 전압 임계치들의 조정을 포함하는 방법.
  14. 제12항에 있어서,
    상기 메모리 동작은 기입 동작이고,
    상기 온도 정보는, 상기 하나 이상의 비휘발성 메모리 셀들과 연관된 현재 온도 측정치를 포함하며,
    상기 결정된 조정은, 상기 현재 온도 측정치에 기초하여 상기 하나 이상의 비휘발성 메모리 셀들에 데이터를 기입하는데 이용되는 하나 이상의 전압 임계치들의 조정을 포함하는 방법.
  15. 제14항에 있어서,
    상기 현재 온도 측정치가 임계 레벨을 초과하는 경우에 상기 데이터를 중복 기입하는 단계;
    상기 기입 동작을, 메모리 셀마다 1보다 많은 비트의 데이터를 기입하는 것으로부터 메모리 셀마다 1 비트의 데이터를 기입하는 것으로 변경하는 단계;
    상기 기입 동작을, 메모리 셀마다 1 비트의 데이터를 기입하는 것으로부터 메모리 셀마다 1보다 많은 비트의 데이터를 기입하는 것으로 변경하는 단계; 및
    상기 현재 온도 측정치가 적어도 임계 양만큼 시간 기간에 걸쳐 변경될 때까지, 상기 기입 동작을 수행하는 것을 대기하는 단계
    중 적어도 하나를 더 포함하는 방법.
  16. 하나 이상의 비휘발성 메모리 셀들;
    상기 비휘발성 메모리 셀들과 연관된 온도 측정치들을 제공하도록 구성된 하나 이상의 온도 센서들; 및
    제어기를 포함하고,
    상기 제어기는
    상기 비휘발성 메모리 셀들에 대해 메모리 동작들을 수행하고 - 상기 메모리 동작들은 상기 온도 센서들에 의해 제공된 온도 측정치들에 기초하여 조정됨 -,
    현재 온도가 허용가능한 온도의 범위 바깥에 있음을 나타내는 가장 최근의 온도 측정에 기초하여, 상기 하나 이상의 온도 센서들이 현재 온도가 상기 허용가능한 온도의 범위 내에 있음을 나타낼 때까지 하나 이상의 메모리 동작을 지연시키도록 구성된,
    시스템.
  17. 제16항에 있어서,
    적어도 상기 메모리 셀들의 부분으로부터 데이터를 판독하는 메모리 동작들을 위하여, 상기 제어기는, 상기 데이터가 상기 비휘발성 메모리 셀들의 부분에 프로그래밍된 시간에 상기 비휘발성 메모리 셀들의 부분과 연관된 온도를 나타내는 온도 정보를 검색하도록 구성되는 시스템.
  18. 제17항에 있어서,
    상기 비휘발성 메모리 셀들의 부분과 관련하여 상기 온도 정보를 저장하는 비휘발성 메모리를 더 포함하는 시스템.
  19. 제16항에 있어서,
    적어도 상기 비휘발성 메모리 셀들의 부분에 데이터를 기입하는 동작들을 위하여, 상기 제어기는, 상기 비휘발성 메모리 셀들의 부분과 연관된 현재 온도 측정치를 획득하며, 상기 현재 온도 측정치에 기초하여 상기 기입 동작들을 조정하도록 구성되는 시스템.
  20. 제19항에 있어서,
    상기 기입 동작들을 조정하는 것은,
    상기 비휘발성 메모리 셀들에 저장된 데이터 값들의 표현들을 정의하는 하나 이상의 전압 임계치들을 조정하는 것,
    상기 현재 온도 측정치가 임계 레벨을 초과하는 경우에 상기 데이터를 중복 기입하는 것,
    기입 동작을, 메모리 셀마다 1보다 많은 비트의 데이터를 기입하는 것으로부터 메모리 셀마다 1 비트의 데이터를 기입하는 것으로 변경하는 것, 또는
    기입 동작을, 메모리 셀마다 1 비트의 데이터를 기입하는 것으로부터 메모리 셀마다 1보다 많은 비트의 데이터를 기입하는 것으로 변경하는 것
    중 하나 이상을 포함하는 시스템.
KR1020120021984A 2011-03-02 2012-03-02 메모리 디바이스에서의 온도 센서들의 이용 KR101394691B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/038,860 US8472274B2 (en) 2011-03-02 2011-03-02 Using temperature sensors with a memory device
US13/038,860 2011-03-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020120054813A Division KR20120100844A (ko) 2011-03-02 2012-05-23 메모리 디바이스에서의 온도 센서들의 이용

Publications (2)

Publication Number Publication Date
KR20120100826A KR20120100826A (ko) 2012-09-12
KR101394691B1 true KR101394691B1 (ko) 2014-05-14

Family

ID=45851378

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020120021984A KR101394691B1 (ko) 2011-03-02 2012-03-02 메모리 디바이스에서의 온도 센서들의 이용
KR1020120054813A KR20120100844A (ko) 2011-03-02 2012-05-23 메모리 디바이스에서의 온도 센서들의 이용

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020120054813A KR20120100844A (ko) 2011-03-02 2012-05-23 메모리 디바이스에서의 온도 센서들의 이용

Country Status (8)

Country Link
US (1) US8472274B2 (ko)
EP (1) EP2495728B1 (ko)
JP (1) JP2014509769A (ko)
KR (2) KR101394691B1 (ko)
CN (1) CN102682841B (ko)
HK (1) HK1175020A1 (ko)
TW (2) TWI540575B (ko)
WO (1) WO2012118732A1 (ko)

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542537B2 (en) * 2011-04-29 2013-09-24 Spansion Llc Method and apparatus for temperature compensation for programming and erase distributions in a flash memory
KR101872297B1 (ko) * 2011-05-11 2018-07-02 에스케이하이닉스 주식회사 반도체 메모리 장치
US8971123B2 (en) * 2012-01-13 2015-03-03 Sandisk Il Ltd Memory system temperature calibration
US8873323B2 (en) * 2012-08-16 2014-10-28 Transcend Information, Inc. Method of executing wear leveling in a flash memory device according to ambient temperature information and related flash memory device
US9355024B2 (en) * 2012-10-10 2016-05-31 Apple Inc. Systems and methods for nonvolatile memory performance throttling
JP2014098978A (ja) * 2012-11-13 2014-05-29 Sony Corp メモリ制御装置、メモリシステム、情報処理システムおよびメモリ制御方法
US9323499B2 (en) 2012-11-15 2016-04-26 Elwha Llc Random number generator functions in memory
US20140137119A1 (en) * 2012-11-15 2014-05-15 Elwha LLC, a limited liability corporation of the State of Delaware Multi-core processing in memory
US9442854B2 (en) 2012-11-15 2016-09-13 Elwha Llc Memory circuitry including computational circuitry for performing supplemental functions
US9582465B2 (en) 2012-11-15 2017-02-28 Elwha Llc Flexible processors and flexible memory
US9285278B2 (en) 2013-05-09 2016-03-15 Apple Inc. System and methods for thermal control using sensors on die
CN104346230B (zh) * 2013-07-29 2017-08-29 联想(北京)有限公司 一种存储芯片门限电压调节方法、装置以及存储芯片
CN104346236B (zh) 2013-08-06 2018-03-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
US9513692B2 (en) 2013-09-18 2016-12-06 Intel Corporation Heterogenous memory access
US20150092488A1 (en) * 2013-09-27 2015-04-02 Yogesh Wakchaure Flash memory system endurance improvement using temperature based nand settings
US9535614B2 (en) * 2013-11-21 2017-01-03 Sandisk Technologies Llc Temperature based flash memory system maintenance
TWI517181B (zh) * 2013-12-20 2016-01-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US9959936B1 (en) * 2014-03-12 2018-05-01 Marvell International Ltd. Temperature-based memory access
US20150279472A1 (en) * 2014-03-26 2015-10-01 Intel Corporation Temperature compensation via modulation of bit line voltage during sensing
US9330790B2 (en) * 2014-04-25 2016-05-03 Seagate Technology Llc Temperature tracking to manage threshold voltages in a memory
KR102210964B1 (ko) * 2014-05-13 2021-02-03 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치를 액세스하는 액세스 방법
US9652415B2 (en) 2014-07-09 2017-05-16 Sandisk Technologies Llc Atomic non-volatile memory data transfer
US9904621B2 (en) 2014-07-15 2018-02-27 Sandisk Technologies Llc Methods and systems for flash buffer sizing
US9645744B2 (en) 2014-07-22 2017-05-09 Sandisk Technologies Llc Suspending and resuming non-volatile memory operations
US20160062656A1 (en) * 2014-08-28 2016-03-03 Freescale Semiconductor, Inc. Command Set Extension for Non-Volatile Memory
US9275741B1 (en) 2014-09-10 2016-03-01 Western Digital Technologies, Inc. Temperature compensation management in solid-state memory
TWI493162B (zh) * 2014-09-12 2015-07-21 Jogtek Corp 無線溫度記錄器校正裝置及無線溫度記錄器校正系統
US10078546B2 (en) * 2014-10-24 2018-09-18 Micron Technology, Inc. Temperature related error management
US9952978B2 (en) 2014-10-27 2018-04-24 Sandisk Technologies, Llc Method for improving mixed random performance in low queue depth workloads
US9753649B2 (en) 2014-10-27 2017-09-05 Sandisk Technologies Llc Tracking intermix of writes and un-map commands across power cycles
US9824007B2 (en) 2014-11-21 2017-11-21 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9817752B2 (en) 2014-11-21 2017-11-14 Sandisk Technologies Llc Data integrity enhancement to protect against returning old versions of data
US9489146B2 (en) * 2014-12-09 2016-11-08 Sandisk Technologies Llc Memory system and method for selecting memory dies to perform memory access operations in based on memory die temperatures
KR102282947B1 (ko) * 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9644831B2 (en) * 2015-01-15 2017-05-09 Heraeus Noblelight America Llc Intelligent manifold assemblies for a light source, light sources including intelligent manifold assemblies, and methods of operating the same
KR102349422B1 (ko) 2015-01-28 2022-01-10 삼성전자 주식회사 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 반도체 저장장치
US9786356B2 (en) * 2015-01-30 2017-10-10 Qualcomm Incorporated Memory device with adaptive voltage scaling based on error information
US9653156B2 (en) * 2015-02-20 2017-05-16 Kabushiki Kaisha Toshiba Memory controller, nonvolatile semiconductor memory device and memory system
US9647697B2 (en) 2015-03-16 2017-05-09 Sandisk Technologies Llc Method and system for determining soft information offsets
KR102339779B1 (ko) 2015-04-06 2021-12-15 삼성전자주식회사 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 상기 시스템의 작동 방법
US9652175B2 (en) 2015-04-09 2017-05-16 Sandisk Technologies Llc Locally generating and storing RAID stripe parity with single relative memory address for storing data segments and parity in multiple non-volatile memory portions
US9864545B2 (en) 2015-04-14 2018-01-09 Sandisk Technologies Llc Open erase block read automation
US10372529B2 (en) 2015-04-20 2019-08-06 Sandisk Technologies Llc Iterative soft information correction and decoding
US9778878B2 (en) 2015-04-22 2017-10-03 Sandisk Technologies Llc Method and system for limiting write command execution
US9870149B2 (en) 2015-07-08 2018-01-16 Sandisk Technologies Llc Scheduling operations in non-volatile memory devices using preference values
JP2017027541A (ja) * 2015-07-28 2017-02-02 株式会社東芝 半導体装置及び電子機器
JP2017027540A (ja) * 2015-07-28 2017-02-02 株式会社東芝 半導体装置及び電子機器
US9639128B2 (en) * 2015-08-04 2017-05-02 Qualcomm Incorporated System and method for thermoelectric memory temperature control
US9715939B2 (en) 2015-08-10 2017-07-25 Sandisk Technologies Llc Low read data storage management
US20170053714A1 (en) * 2015-08-19 2017-02-23 Micron Technology, Inc. Read voltage offset
US9983922B2 (en) 2015-09-28 2018-05-29 Western Digital Technologies, Inc. Memory die temperature adjustment based on aging condition
US9880752B2 (en) 2015-09-28 2018-01-30 Western Digital Technologies, Inc. Memory die temperature adjustment based on a power condition
US9875062B2 (en) 2015-09-28 2018-01-23 Western Digital Technologies, Inc. Memory die temperature adjustment based on aging condition
US9857999B2 (en) * 2015-11-09 2018-01-02 Western Digital Technologies, Inc. Data retention charge loss sensor
US10228990B2 (en) 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
US10126970B2 (en) 2015-12-11 2018-11-13 Sandisk Technologies Llc Paired metablocks in non-volatile storage device
US9837146B2 (en) * 2016-01-08 2017-12-05 Sandisk Technologies Llc Memory system temperature management
KR102528558B1 (ko) 2016-01-15 2023-05-04 삼성전자주식회사 스토리지 장치, 호스트, 스토리지 시스템, 스토리지 장치의 전원 전압 수신 방법, 및 스토리지 시스템의 전원 전압 제공 방법
TWI595492B (zh) * 2016-03-02 2017-08-11 群聯電子股份有限公司 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US9996281B2 (en) 2016-03-04 2018-06-12 Western Digital Technologies, Inc. Temperature variation compensation
US10446242B2 (en) 2016-05-27 2019-10-15 Western Digital Technologies, Inc. Temperature variation compensation
US10564900B2 (en) 2016-03-04 2020-02-18 Western Digital Technologies, Inc. Temperature variation compensation
CN107179877B (zh) * 2016-03-09 2019-12-24 群联电子股份有限公司 数据传输方法、存储器控制电路单元与存储器存储装置
US10019158B2 (en) 2016-03-15 2018-07-10 Toshiba Memory Corporation Determination of a read voltage to be applied to a page based on read voltages of other pages
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
KR102647418B1 (ko) 2016-06-23 2024-03-13 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
US10481830B2 (en) 2016-07-25 2019-11-19 Sandisk Technologies Llc Selectively throttling host reads for read disturbs in non-volatile memory system
US10007311B2 (en) * 2016-08-15 2018-06-26 Sandisk Technologies Llc Adaptive temperature and memory parameter throttling
US10373656B2 (en) * 2016-09-26 2019-08-06 Toshiba Memory Corporation Memory system that carries out temperature-based access to a memory chip
US9811267B1 (en) 2016-10-14 2017-11-07 Sandisk Technologies Llc Non-volatile memory with intelligent temperature sensing and local throttling
US9971530B1 (en) * 2016-11-09 2018-05-15 Sandisk Technologies Llc Storage system and method for temperature throttling for block reading
CN108109660A (zh) * 2016-11-24 2018-06-01 北京兆易创新科技股份有限公司 一种存储单元的读取方法及装置
KR20180064617A (ko) 2016-12-05 2018-06-15 삼성전자주식회사 메모리의 온도에 따라 상이하게 동작하는 스토리지 장치
US10304559B2 (en) 2016-12-30 2019-05-28 Western Digital Technologies, Inc. Memory write verification using temperature compensation
US11069418B1 (en) 2016-12-30 2021-07-20 EMC IP Holding Company LLC Method and system for offline program/erase count estimation
US10255000B2 (en) * 2017-01-18 2019-04-09 Western Digital Technologies, Inc. Delayed data release after programming to reduce read errors in memory
JP6779816B2 (ja) 2017-03-21 2020-11-04 キオクシア株式会社 半導体記憶装置
JP6779822B2 (ja) * 2017-03-24 2020-11-04 キオクシア株式会社 メモリシステム
US11016545B2 (en) * 2017-03-29 2021-05-25 Western Digital Technologies, Inc. Thermal throttling for memory devices
US10403366B1 (en) * 2017-04-28 2019-09-03 EMC IP Holding Company LLC Method and system for adapting solid state memory write parameters to satisfy performance goals based on degree of read errors
KR20180130872A (ko) * 2017-05-30 2018-12-10 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
US10013194B1 (en) * 2017-06-02 2018-07-03 Western Digital Technologies, Inc. Handling thermal shutdown for memory devices
US20190050153A1 (en) * 2017-08-08 2019-02-14 Western Digital Technologies, Inc. Routing data blocks during thermal throttling
US10354732B2 (en) * 2017-08-30 2019-07-16 Micron Technology, Inc. NAND temperature data management
US10522229B2 (en) 2017-08-30 2019-12-31 Micron Technology, Inc. Secure erase for data corruption
US10545685B2 (en) 2017-08-30 2020-01-28 Micron Technology, Inc. SLC cache management
US10572388B2 (en) 2017-08-30 2020-02-25 Micron Technology, Inc. Managed NVM adaptive cache management
US10579288B2 (en) 2017-08-31 2020-03-03 Micron Technology, Inc. Prioritized security
US10096380B1 (en) 2017-08-31 2018-10-09 Micron Technology, Inc. Erase page check
US10360947B2 (en) * 2017-08-31 2019-07-23 Micron Technology, Inc. NAND cell encoding to improve data integrity
JP2019057194A (ja) 2017-09-22 2019-04-11 東芝メモリ株式会社 メモリシステム、及び不揮発性メモリの制御方法
KR20190036893A (ko) 2017-09-28 2019-04-05 삼성전자주식회사 메모리 장치 및 그것의 제어 방법
US10802457B2 (en) 2017-10-23 2020-10-13 Schneider Electric USA, Inc. Centralized motor thermal memory management
KR102447602B1 (ko) 2017-10-25 2022-09-26 삼성전자주식회사 메모리 장치 및 그 동적 가비지 컬렉션 방법
US10908832B2 (en) 2017-10-31 2021-02-02 Micron Technology, Inc. Common pool management
US10331377B2 (en) * 2017-11-01 2019-06-25 Micron Technology, Inc. NAND flash thermal alerting
US10521146B1 (en) 2017-11-09 2019-12-31 Micron Technology, Inc. UFS based idle time garbage collection management
KR20190064033A (ko) * 2017-11-30 2019-06-10 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
CN108052414B (zh) * 2017-12-28 2021-09-17 湖南国科微电子股份有限公司 一种提升ssd工作温度范围的方法及系统
US10339983B1 (en) * 2017-12-29 2019-07-02 Micron Technology, Inc. Temperature-based memory operations
US10963340B2 (en) * 2018-01-24 2021-03-30 Micron Technology, Inc. Storing critical data at a memory system
JP2019164858A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム
TWI659311B (zh) * 2018-05-14 2019-05-11 慧榮科技股份有限公司 資料儲存系統以及非揮發式記憶體操作方法
US10636488B2 (en) * 2018-06-05 2020-04-28 Western Digital Technologies, Inc. Multi-sensing scan for cross-temperature mitigation
TWI686691B (zh) 2018-08-16 2020-03-01 緯穎科技服務股份有限公司 電子裝置及被動元件
KR102653147B1 (ko) * 2018-08-21 2024-04-02 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 모듈 및 불휘발성 메모리를 액세스하는 방법
JP7091203B2 (ja) * 2018-09-19 2022-06-27 キオクシア株式会社 メモリシステムおよび制御方法
JP7055084B2 (ja) * 2018-09-20 2022-04-15 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の制御方法
US10852953B2 (en) * 2018-10-25 2020-12-01 Micron Technology, Inc. Dynamic temperature compensation in a memory component
US11341048B2 (en) 2018-10-29 2022-05-24 Micron Technology, Inc. SLC cache allocation
JP2020077443A (ja) 2018-11-05 2020-05-21 キオクシア株式会社 メモリシステム
US11321008B2 (en) * 2018-11-15 2022-05-03 Micron Technology, Inc. Temperature-based memory management
CN109582248B (zh) * 2018-12-14 2022-02-22 深圳市硅格半导体有限公司 闪存数据的写入方法、装置及计算机可读存储介质
TWI797408B (zh) 2018-12-28 2023-04-01 美商美光科技公司 具有改善之跨溫度可靠度與讀取性能之記憶體
EP3903312A4 (en) * 2018-12-28 2022-08-24 Micron Technology, Inc. MEMORY WITH ENHANCED TEMPERATURE RELIABILITY AND CROSS READ PERFORMANCE
CN111415692B (zh) * 2019-01-04 2022-03-15 群联电子股份有限公司 解码方法、存储器控制电路单元以及存储器存储装置
KR20200095903A (ko) * 2019-02-01 2020-08-11 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11150844B2 (en) 2019-02-21 2021-10-19 Micron Technology, Inc. Reflow endurance improvements in triple-level cell NAND flash
US11042208B2 (en) 2019-03-08 2021-06-22 Micron Technology, Inc. Thermal leveling
JP2020155167A (ja) 2019-03-19 2020-09-24 キオクシア株式会社 不揮発性メモリ
CN109992525A (zh) * 2019-04-01 2019-07-09 合肥沛睿微电子股份有限公司 快闪存储器控制器
US11017864B2 (en) * 2019-06-26 2021-05-25 Seagate Technology Llc Preemptive mitigation of cross-temperature effects in a non-volatile memory (NVM)
US10956064B2 (en) 2019-06-28 2021-03-23 Seagate Technology Llc Adjusting code rates to mitigate cross-temperature effects in a non-volatile memory (NVM)
US11416048B2 (en) * 2019-07-22 2022-08-16 Micron Technology, Inc. Using a thermoelectric component to improve memory sub-system performance
US11017850B2 (en) 2019-08-22 2021-05-25 Seagate Technology Llc Master set of read voltages for a non-volatile memory (NVM) to mitigate cross-temperature effects
JP7381269B2 (ja) 2019-09-20 2023-11-15 キオクシア株式会社 ストレージコントローラ、ストレージ装置及びストレージ装置の制御方法
US11435811B2 (en) * 2019-12-09 2022-09-06 Micron Technology, Inc. Memory device sensors
US11036413B1 (en) 2019-12-17 2021-06-15 Micron Technology, Inc. Memory sub-system temperature regulation
JP2021111427A (ja) * 2020-01-15 2021-08-02 キオクシア株式会社 記憶装置及びその制御方法
US11243711B2 (en) 2020-02-05 2022-02-08 Micron Technology, Inc. Controlling firmware storage density based on temperature detection
US11144452B2 (en) 2020-02-05 2021-10-12 Micron Technology, Inc. Temperature-based data storage processing
US11385984B2 (en) * 2020-02-24 2022-07-12 Western Digital Technologies, Inc. Variable read scan for solid-state storage device quality of service
US11188244B2 (en) * 2020-04-14 2021-11-30 Micron Technology, Inc. Adjusting trim settings to improve memory performance or reliability
US11467729B2 (en) 2020-06-29 2022-10-11 Microsoft Technology Licensing, Llc Allocating memory and redirecting memory writes in a cloud computing system based on temperature of memory modules
JP2022038392A (ja) * 2020-08-26 2022-03-10 キオクシア株式会社 半導体記憶装置及び半導体記憶装置におけるコマンド処理方法
US11886313B2 (en) * 2020-09-21 2024-01-30 Innogrit Technologies Co., Ltd. Temperature assisted NAND flash management
US11892928B2 (en) 2020-12-28 2024-02-06 Western Digital Technologies, Inc. Delayed thermal throttling and associated data routing techniques
US11681469B2 (en) * 2021-02-22 2023-06-20 Micron Technology, Inc. Storing and recovering critical data in a memory device
US11705203B2 (en) 2021-06-18 2023-07-18 Sandisk Technologies Llc Digital temperature compensation filtering
TWI780810B (zh) * 2021-07-08 2022-10-11 力晶積成電子製造股份有限公司 非揮發性記憶體裝置及其讀取驗證電壓的決定方法
CN113656216A (zh) * 2021-07-21 2021-11-16 深圳市宏旺微电子有限公司 一种闪存稳定性运行的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1403874A1 (en) * 2002-09-03 2004-03-31 Hewlett-Packard Development Company, L.P. Memory device
US20090091979A1 (en) 2007-10-08 2009-04-09 Anobit Technologies Reliable data storage in analog memory cells in the presence of temperature variations

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08339693A (ja) * 1995-06-15 1996-12-24 Nippondenso Co Ltd 不揮発性半導体記憶装置
JP3549712B2 (ja) * 1997-07-01 2004-08-04 株式会社日立製作所 自動車用制御装置のメモリ書込み方法及び自動車用制御装置
JPH11297084A (ja) * 1998-04-08 1999-10-29 Hitachi Ltd 半導体装置
JP2001006374A (ja) * 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
JP2002367382A (ja) * 2001-06-12 2002-12-20 Matsushita Electric Ind Co Ltd 半導体集積回路書き換えシステム
US7129560B2 (en) 2003-03-31 2006-10-31 International Business Machines Corporation Thermal memory cell and memory device including the thermal memory cell
US20050041453A1 (en) 2003-08-22 2005-02-24 Brazis Paul W. Method and apparatus for reading and writing to solid-state memory
US7340366B2 (en) 2004-03-04 2008-03-04 Atmel Corporation Method and apparatus of temperature compensation for integrated circuit chip using on-chip sensor and computation means
US7957189B2 (en) 2004-07-26 2011-06-07 Sandisk Il Ltd. Drift compensation in a flash memory
US7260007B2 (en) * 2005-03-30 2007-08-21 Intel Corporation Temperature determination and communication for multiple devices of a memory module
US7184313B2 (en) 2005-06-17 2007-02-27 Saifun Semiconductors Ltd. Method circuit and system for compensating for temperature induced margin loss in non-volatile memory cells
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
JP4660353B2 (ja) * 2005-11-01 2011-03-30 株式会社東芝 記憶媒体再生装置
DE102005058438B4 (de) 2005-12-07 2008-09-11 Qimonda Ag Integrierter Halbleiterspeicher mit Ermittelung einer Chiptemperatur
US7702935B2 (en) 2006-01-25 2010-04-20 Apple Inc. Reporting flash memory operating voltages
JP4726696B2 (ja) * 2006-05-18 2011-07-20 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 携帯電話端末及びデータ書き込み方法
US7342831B2 (en) 2006-06-16 2008-03-11 Sandisk Corporation System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
JP2008123330A (ja) * 2006-11-14 2008-05-29 Toshiba Corp 不揮発性半導体記憶装置
JP2008196531A (ja) * 2007-02-08 2008-08-28 Hitachi Ltd 自動変速機用制御装置の動作制御装置
US7743203B2 (en) 2007-05-11 2010-06-22 Spansion Llc Managing flash memory based upon usage history
US7755946B2 (en) 2008-09-19 2010-07-13 Sandisk Corporation Data state-based temperature compensation during sensing in non-volatile memory
WO2010076826A1 (en) * 2008-12-30 2010-07-08 Emanuele Confalonieri Temperature alert and low rate refresh for a non-volatile memory
JP2010198252A (ja) * 2009-02-24 2010-09-09 Nec Corp 不揮発メモリ装置、不揮発メモリの書込み方法、及び不揮発メモリ書込みプログラム
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8248856B2 (en) * 2010-10-20 2012-08-21 Seagate Technology Llc Predictive read channel configuration
KR20120045197A (ko) 2010-10-29 2012-05-09 에스케이하이닉스 주식회사 온도에 의존하는 저장 매체를 포함하는 메모리 장치 및 그 구동방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1403874A1 (en) * 2002-09-03 2004-03-31 Hewlett-Packard Development Company, L.P. Memory device
US20090091979A1 (en) 2007-10-08 2009-04-09 Anobit Technologies Reliable data storage in analog memory cells in the presence of temperature variations

Also Published As

Publication number Publication date
EP2495728A1 (en) 2012-09-05
US8472274B2 (en) 2013-06-25
CN102682841A (zh) 2012-09-19
KR20120100826A (ko) 2012-09-12
TW201303871A (zh) 2013-01-16
TWI562146B (en) 2016-12-11
KR20120100844A (ko) 2012-09-12
JP2014509769A (ja) 2014-04-21
TWI540575B (zh) 2016-07-01
TW201306032A (zh) 2013-02-01
HK1175020A1 (zh) 2013-06-21
US20120224425A1 (en) 2012-09-06
CN102682841B (zh) 2017-03-01
EP2495728B1 (en) 2016-04-27
WO2012118732A1 (en) 2012-09-07

Similar Documents

Publication Publication Date Title
KR101394691B1 (ko) 메모리 디바이스에서의 온도 센서들의 이용
US11024396B2 (en) Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory
US10734087B2 (en) Retention-drift-history-based non-volatile memory read threshold optimization
US10446242B2 (en) Temperature variation compensation
US9595320B2 (en) Optimization of read thresholds for non-volatile memory
US10002046B2 (en) Zero-one balance management in a solid-state disk controller
US9329948B2 (en) Measuring cell damage for wear leveling in a non-volatile memory
US9355024B2 (en) Systems and methods for nonvolatile memory performance throttling
US11921629B1 (en) Method and device for data storage
US20210109660A1 (en) Operation method of a storage controller configured to control a nonvolatile memory device
CN116954491A (zh) 用于存储控制器的操作方法和包括存储控制器的存储系统
CN114706529A (zh) 存储器自适应温控方法、存储装置及控制电路单元
KR20220072153A (ko) 저장 시스템 및 저장 시스템의 동작 방법
US20240160511A1 (en) Failure prediction apparatus and method for storage devices

Legal Events

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

Payment date: 20170420

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190417

Year of fee payment: 6