CN108885886B - 基于老化状况的存储器裸片温度调节 - Google Patents

基于老化状况的存储器裸片温度调节 Download PDF

Info

Publication number
CN108885886B
CN108885886B CN201680069355.3A CN201680069355A CN108885886B CN 108885886 B CN108885886 B CN 108885886B CN 201680069355 A CN201680069355 A CN 201680069355A CN 108885886 B CN108885886 B CN 108885886B
Authority
CN
China
Prior art keywords
memory
temperature
die
read
response
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.)
Active
Application number
CN201680069355.3A
Other languages
English (en)
Other versions
CN108885886A (zh
Inventor
P·亚达夫
P·D·S·瑞奥
S·阿加瓦尔
D·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sandisk Technology Co
Original Assignee
Western Digital Technologies Inc
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
Priority claimed from US14/867,999 external-priority patent/US9983922B2/en
Application filed by Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN108885886A publication Critical patent/CN108885886A/zh
Application granted granted Critical
Publication of CN108885886B publication Critical patent/CN108885886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles

Landscapes

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

Abstract

设备包括存储器设备和控制器。控制器经配置以,响应于确定存储设备具有特定特征,而通过在第一裸片上执行存储器操作来增加第一裸片的温度,直到检测到与温度有关的状况。

Description

基于老化状况的存储器裸片温度调节
相关申请的交叉引用
本申请要求2016年3月4日提交的美国非临时专利申请第15/061,702号和2015年9月28日提交的美国非临时专利申请第14/867,999号的优先权,其每一者的内容通过引用整体并入本文。
技术领域
本公开大体涉及电子设备,并且更具体地涉及基于老化状况的存储器裸片(die)温度调节。
背景技术
存储设备使用户能够存储和检索数据。存储设备的示例包括易失性存储器设备和非易失性存储器设备。存储设备通常包括随着时间推移而退化的具有编程/擦除周期的存储器裸片。例如,存储设备可以包括具有多个存储单元的存储器裸片。存储单元中的陷阱(trap)(例如,氧化层陷阱、界面陷阱或两者)的数量可以随着时间推移而增加。较高数量的陷阱可以增加用于编程存储单元的编程脉冲的数量、用于擦除存储单元的擦除脉冲的数量或两者。
响应于确定用于编程存储器裸片的存储单元的编程脉冲的数量大于编程阈值、用于擦除存储单元的擦除脉冲的数量大于擦除阈值或两者,存储器裸片可以被标记为错误且不可用。由于随着时间推移,存储设备中标记为错误的存储器裸片的数量的增加,存储设备的存储容量可以减少。
附图说明
图1是包括诸如数据存储设备的设备的系统的具体说明性示例的图表;
图2是可以被包括在图1的设备中的组件的具体说明性示例的图表;
图3是图1的设备的操作方法的具体说明性示例的图表;
图4是图1的设备的操作方法的另一具体说明性示例的图表;
图5是包括诸如数据存储设备的设备的系统的另一说明性示例的图表;
图6是由图5的设备检测到的状况的具体说明性示例的图表;
图7是由图5的设备检测到的状况的另一说明性示例的图表;
图8是图5的设备的操作方法的具体说明性示例的图表;以及
图9是图5的设备的操作方法的另一说明性示例的图表。
具体实施方式
本发明描述基于检测指示老化状况的特征来控制存储器裸片温度的系统和方法。例如,老化状况可以对应于存储器裸片的存储单元中的陷阱数量(例如氧化层陷阱、界面陷阱或两者)随时间推移的增加。大量的陷阱可以增加用于编程存储单元的编程脉冲的数量、用于擦除存储单元的擦除脉冲的数量或两者。控制器可以执行包括温度调节的存储器裸片恢复过程。温度调节可以减少存储器裸片的存储单元中的陷阱的数量。执行存储器裸片恢复过程可以限制由存储单元中的大量陷阱造成的存储器裸片的存储容量的损失。在具体方面中,控制器可以确定存储器设备的多个存储器裸片中的第一裸片的至少一个存储单元具有指示老化状况的特征。例如,响应于确定用于改变存储单元的状态的编程脉冲的数量不满足(例如,大于)编程阈值、用于擦除存储单元的擦除脉冲的数量不满足(例如,大于)擦除阈值或两者,控制器可以确定第一裸片的存储单元具有该特征。
控制器可以,响应于确定第一裸片的至少一个存储单元具有指示老化状况的特征,通过在第一裸片上执行存储器操作来执行恢复过程。例如,控制器可以通过执行存储器操作来增加第一裸片的温度,直到检测到与第一裸片的温度有关的温度状况。作为示例,检测温度状况可以包括检测第一裸片的温度超过第一温度阈值。作为另一示例,检测温度状况可以包括检测时间段的期满,在该时间段内第一裸片的温度保持在第二温度阈值以上。执行存储器操作可以包括向存储器设备发送请求以启动存储器操作序列。存储器设备的读/写电路可以经配置以响应于接收该请求而在第一裸片上执行多个读取操作。作为另一个示例,执行存储器操作可以包括向存储器设备发送多个读取请求。读/写电路可以经配置以响应于接收多个读取请求中的每个读取请求而在第一裸片上执行读取操作。每次读取操作可以升高第一裸片的温度。
响应于确定第一裸片的至少一个存储单元不再具有指示老化状况的特征,控制器可以确定恢复过程成功。例如,在执行恢复过程的存储器操作之后,用于改变第一裸片的存储单元的状态的编程脉冲的数量可以减少,用于擦除存储单元的擦除脉冲的数量可以减少,或者两者都减少。结果,存储单元可以不再具有指示老化状况的特征。例如,通过减少用于擦除存储单元的编程脉冲的数量、用于擦除存储单元的擦除脉冲的数量或两者,恢复过程可以至少部分地逆转第一裸片上的老化的影响。为了说明,存储单元可以包括在栅极和衬底之间具有绝缘氧化层的晶体管。在写入存储单元的过程中,电子可以被强制在一个方向上通过氧化层。在擦除存储单元的过程中,电子可以被强制在另一方向上通过氧化层。由于来自写入和擦除存储单元的重复电子隧穿,氧化层可以建立电荷陷阱。电荷陷阱可以引起存储单元中的电流退化。例如,捕获的电荷可以充当电流流动的障碍。电荷陷阱可以增加用于改变存储单元的状态的编程脉冲的数量、用于擦除存储单元的擦除脉冲的数量或两者。通过加热存储单元以从氧化层上夺取捕获的电子,恢复过程可以逆转老化的影响。在存储设备的存储器裸片上执行恢复过程可以随时间推移限制标记为错误的存储器裸片的数量和维持存储设备的存储容量。
下面参考附图描述本公开的具体方面。在描述中,共同或类似的特征或组件可以由共同的附图标记指定。如本文所使用的,“示例性”可以指示示例,实施方式和/或方面,并且不应该被解释为指示优选或优选实施方式。
参考图1,其描述了系统的具体说明性示例并且将其总体上指定为100。系统100包括设备102。在一些实施方式中,设备102对应于数据存储设备,诸如固态驱动器(SSD)数据存储设备或可移动闪存数据存储设备,固态驱动器(SSD)数据存储设备经配置以嵌入在设备(例如,主机设备、测试设备或访问设备)内,可移动闪存数据存储设备经配置以从设备(例如,主机设备、测试设备或访问设备)移除。在其他实施方式中,作为说明性示例,设备102对应于另一设备,诸如专用集成电路(ASIC)或片上系统(SoC)设备。
设备102包括存储器设备103。存储器设备103包括一个或更多个存储器裸片190(例如,一个存储器裸片、两个存储器裸片、六十四个存储器裸片或另一数量的存储器裸片)。例如,存储器裸片190可以包括第一存储器裸片104、一个或更多个备份存储器裸片106、一个或更多个次级存储器裸片124、一个或更多个其他存储器裸片或其组合。存储器设备103包括读/写(R/W)电路116和温度传感器108。
第一存储器裸片104包括存储器160,诸如存储单元阵列(例如,非易失性存储单元)。例如,存储单元阵列可以包括第一存储单元110、第二存储单元112、一个或更多个其他存储单元或其组合。作为说明性示例,存储器160可以包括闪存(例如,NAND闪存)或电阻式存储器,诸如电阻式随机访问存储器(ReRAM)。存储器160可以具有三维(3D)存储器配置。如本文所使用的,3D存储器设备可以包括多个物理层的存储单元(而不是如平面存储设器备中的具有单一物理层的存储单元)。作为示例,存储器160可以具有3D垂直位线(VBL)配置。在一个具体实施方式中,存储器160是具有3D存储器阵列配置的非易失性存储器,其在存储器单元阵列的一个或更多个物理层中以单片形成,该存储器单元阵列具有设置在硅衬底上方的有源区。可替换地,存储器160可以具有另一配置,例如二维(2D)存储器配置或非单片3D存储器配置(例如,堆叠裸片3D存储器配置)。
设备102可以进一步包括耦合到存储器设备103的控制器120。在一些实施方式中,控制器120对应于包括控制器120的组件的半导体裸片。控制器120可以包括到存储器设备103的接口118(例如,存储器接口)。控制器120可以包括恢复引擎122、存储器140(例如,随机访问存储器(RAM))或两者。恢复引擎122可以由处理器可执行的软件(例如,指令)来实现,以执行本文描述的操作。可替换地,恢复引擎122可以包括经配置以执行本文描述的操作的硬件。如本文所述,恢复引擎122可以经配置以通过在第一存储器裸片104上执行存储器操作来恢复(例如,减少存储器裸片中的陷阱的数量)存储器裸片(例如,第一存储器裸片104)。存储器140可以经配置以存储一个或更多个指令162。在一个具体实施方式中,指令162在由处理器执行时使处理器能够执行本文描述的操作。
系统100可以对应于固态驱动器(SSD),诸如在诸如膝上型计算机和平板电脑的计算设备中找到的固态驱动器(SSD)。在一些实施方式中,作为说明性示例,系统100、设备102、存储器设备103或存储器160可以集成在网络可访问的数据存储系统(诸如企业数据系统、网络附加存储(NAS)系统或云数据存储系统)中。
在操作期间,恢复引擎122可以确定第一存储器裸片104的至少一个存储单元是否具有指示老化状况128的特征。例如,基于用于改变第一存储单元110的状态的编程脉冲152的数量、用于擦除第一存储单元110的擦除脉冲154的数量或两者,恢复引擎122可以确定第一存储单元110具有指示老化状况128的特征。
在一个具体实施方式中,R/W电路116可以确定用于改变特定存储单元的状态的编程脉冲152的数量。例如,R/W电路116可以执行读取操作以确定第一存储单元110具有第一状态。为了说明,第一存储单元110的阈值电压可以指示第一状态。当第一存储单元110存储n位时,第一状态可以指示n-位的值。例如,当第一存储单元110存储1位时,第一状态可以指示1-位的值(例如,“0”)。可替换地,当第一存储单元110存储3位时,第一状态可以指示3-位的值(例如,“010”)。R/W电路116可以将编程脉冲施加到第一存储单元110,以将第一存储单元110的状态改变为第二状态。例如,R/W电路116可以用编程脉冲写入,然后执行读取/验证操作以检测第一存储单元110具有第二状态,其中第二状态指示第二n-位值(例如,“1”或“001”)。在将编程脉冲施加到第一存储单元110之前,R/W电路116可以将编程脉冲152的数量设置为默认值(例如,1)。在将每个编程脉冲施加到第一存储单元110之后(或之前),R/W电路116可以增加编程脉冲152的数量。因此,编程脉冲152的数量指示使用多少编程脉冲来改变第一存储单元110的状态。
另外地或者可替换地,R/W电路116可以确定用于擦除特定存储单元的擦除脉冲154的数量。例如,R/W电路116可以执行读取操作以确定第一存储单元110具有第一状态。为了说明,第一存储单元110的阈值电压可以指示第一状态。R/W电路116可以向第一存储单元110施加擦除脉冲,以将第一存储单元110的状态改变为擦除状态。例如,R/W电路116可以用擦除脉冲擦除第一存储单元110,然后执行读取/验证操作以检测第一存储单元110被擦除。第一存储单元110的特定阈值电压可以指示擦除状态。在将擦除脉冲施加到第一存储单元110之前,R/W电路116可以将擦除脉冲154的数量设置为默认值(例如,1)。在将每个擦除脉冲施加到第一存储单元110之后(或之前),R/W电路116可以增加擦除脉冲154的数量。因此,擦除脉冲154的数量指示使用多少擦除脉冲来擦除第一存储单元110。R/W电路116可以将编程脉冲152的数量、擦除脉冲154的数量或两者发送到控制器120。控制器120可以经由接口118接收编程脉冲152的数量、擦除脉冲154的数量或两者。
由于重复使用,存储单元(例如,第一存储单元110)中的陷阱(例如,氧化层陷阱、界面陷阱或两者)的数量可随时间推移而增加。较高数量的陷阱可以增加用于编程第一存储单元110的编程脉冲的数量、用于擦除第一存储单元110的擦除脉冲的数量或两者。因此,编程脉冲152的数量、擦除脉冲154的数量或两者可以指示第一存储器裸片104的老化(或使用水平)。响应于确定编程脉冲152的数量大于编程阈值142、擦除脉冲154的数量大于擦除阈值144或两者,恢复引擎122可以确定第一存储单元110具有指示老化状况128的特征。例如,响应于确定编程脉冲152的数量大于编程阈值142、擦除脉冲154的数量大于擦除阈值144或两者,恢复引擎122可以确定第一存储单元110具有指示老化状况128的特征。具有指示老化状况128的特征的至少一个存储单元可以指示第一存储器裸片104具有足够数量的陷阱以启动恢复过程。
恢复引擎122可以,响应于确定第一存储器裸片104的至少一个存储单元(例如,第一存储单元110)具有指示老化状况128的特征,而执行恢复过程。恢复过程可以包括在相对短的时间段内在第一存储器裸片104上执行存储器操作166(例如,读取操作、写入操作或两者),以增加第一存储器裸片104的温度。例如,执行存储器操作166可以包括,经由接口118,向存储器设备103发送序列请求136,以启动存储器操作序列。存储器操作序列可以包括一个或更多个读取操作、一个或更多个写入操作或其组合。存储器操作序列可以在第一存储单元110、另一个存储单元(例如,第二存储单元112)或两者上执行。
响应于接收序列请求136,R/W电路116可以经配置以在第一存储器裸片104上执行存储器操作序列。例如,序列请求136可以指示存储器裸片(例如,第一存储器裸片104)的至少一个存储单元(例如,第一存储单元110)具有指示老化状况128的特征。为了说明,序列请求136可以识别第一存储器裸片104、第一存储单元110或两者。响应于确定序列请求136识别第一存储器裸片104,R/W电路116可以在第一存储器裸片104上执行存储器操作序列。在一个具体实施方式中,响应于确定序列请求136识别第一存储单元110,R/W电路116可以在第一存储单元110上至少执行存储器操作序列的一部分。
作为另一个示例,执行存储器操作166可以包括,经由接口118,向存储器设备103发送多个操作请求134。操作请求134可以包括一个或更多个读取请求、一个或更多个写入请求或其组合。响应于接收操作请求134的每个操作请求,R/W电路116可以经配置以在第一存储器裸片104上执行存储器操作。例如,响应于接收一个或更多个读取请求中的每个读取请求,R/W电路116可以经配置以在第一存储器裸片104上执行读取操作。读取操作可以在第一存储单元110或第一存储器裸片104的另一个存储单元(例如,第二存储单元112)上执行。作为另一示例,响应于接收一个或更多个写入请求中的每个写入请求,R/W电路116可以经配置以在第一存储器裸片104上执行写入操作。写入操作可以在第一存储单元110或第一存储器裸片104的另一个存储单元(例如,第二存储单元112)上执行。
每个存储器操作(例如,读取操作或写入操作)的执行升高了第一存储器裸片104的温度。因此,第一存储器裸片104能在相对短的时间段内通过执行多个存储器操作来自加热。恢复引擎122可以引起存储器操作166被执行,直到检测到与第一存储器裸片104的温度有关的温度状况126。
温度传感器108可基于存储器设备103的温度产生信号或数据。温度传感器108的输出可作为传感器输入156提供给控制器120。温度传感器108可以包括在第一存储器裸片104内或位于第一存储器裸片104附近。传感器输入156指示在第一存储器裸片104处或其附近的存储器设备103的温度158。控制器120可以经由接口118接收传感器输入156。恢复引擎122可以确定由传感器输入156指示的温度158。
在一个具体方面中,检测温度状况126可以包括检测温度158超过第一温度阈值146。例如,温度158可以超过第一温度阈值146且持续相对短的时间(例如,五分钟)。在一个可替换的方面中,检测温度状况126可以包括检测时间段150的期满,在该时间段期间第一存储器裸片104的温度158保持在第二温度阈值176以上。例如,温度158可以超过第二温度阈值176且持续相对长的时间(例如19小时至3周)。存储器140可以包括指示时间段150的时间段数据148。第一温度阈值146可以大于或等于第二温度阈值176。恢复引擎122可以执行存储器操作166的第一子集,以将第一存储器裸片104的温度158增加到高于第一温度阈值146。在执行存储器操作166的第一子集之后,恢复引擎122可以在第一时间接收传感器输入156。传感器输入156可以指示温度158。恢复引擎122可以确定温度158超过第一温度阈值146。在一个具体示例中,响应于确定温度158超过第一温度阈值146,恢复引擎122可以检测温度状况126。
由于散热,第一存储器裸片104的温度可以随时间推移降低。恢复引擎122可以,在第二时间,接收指示第二温度的第二传感器输入。第二温度可以小于第一温度阈值146。恢复引擎122可以执行存储器操作166的第二子集,以使第一存储器裸片104的温度高于第一温度阈值146。例如,恢复引擎122可以,响应于确定第二温度小于第一温度阈值146,而执行存储器操作166的第二子集。恢复引擎122可以,在执行存储器操作166的第二子集之后,接收第三传感器输入。第三传感器输入可以指示第三温度。第三温度可以超过第一温度阈值146。
执行存储器操作166的子集可以临时增加第一存储器裸片104的温度。在执行存储器操作166的子集之后,由于散热,第一存储器裸片104的温度可以下降。响应于检测到第一存储器裸片104的温度已经下降到第二温度阈值176的范围内(例如,在5度内),通过执行存储器操作166的第二子集,可以将第一存储器裸片104的温度保持在第二温度阈值176以上。在一个具体实施方式中,第一温度阈值146(例如,120摄氏度)可以高于第二温度阈值176(例如,115摄氏度)。第一温度阈值146和第二温度阈值176之间的差值(例如,5摄氏度)可以对应于触发存储器操作166的后续子集的温度范围(例如,115摄氏度至120摄氏度)。从第一时间到加热结束时间,由温度传感器108测量的第一存储器裸片104的温度可以近似等于第一温度阈值146。例如,从第一时间到加热结束时间,第一存储器裸片104的温度可以在第一温度(例如,115摄氏度)和第二温度(例如125摄氏度)之间变化。第一温度和第二温度可以接近第一温度阈值146。从第一时间到加热结束时间,第一存储器裸片104的温度可以超过第二温度阈值176。响应于时间段150的期满,恢复引擎122可以检测温度状况126。例如,响应于在加热结束时间时确定第一时间和加热结束时间的差值大于或等于时间段150,恢复引擎122可以检测温度状况126。
在时间段150期间维持第一存储器裸片104的温度高于第二温度阈值176(例如,通过引起多个存储器操作被执行)可以恢复第一存储器裸片104。例如,在时间时段150后,用于改变第一存储单元110的状态的编程脉冲的数量可以减少,用于擦除第一存储单元110的擦除脉冲的数量可以减少,或二者兼有。为了说明,R/W电路116可以确定用于改变第一存储单元110的状态的编程脉冲的第二数量、用于擦除第一存储单元110的擦除脉冲的第二数量或两者。编程脉冲的第二数量可以小于编程脉冲152的数量。擦除脉冲的第二数量可以小于擦除脉冲154的数量。R/W电路116可以提供编程脉冲的第二数量、擦除脉冲的第二数量或两者至控制器120。
基于编程脉冲的第二数量、擦除脉冲的第二数量或两者,恢复引擎122可以确定第一存储器裸片104的至少一个存储单元(例如,第一存储单元110)是否具有指示老化状况128的特征。响应于确定第一存储单元110继续具有指示老化状况128的特征,恢复引擎122可以执行存储器操作166的子集(例如,第三子集),直到检测到温度状况126。例如,响应于确定第一存储单元110继续具有指示老化状况128的特征,恢复引擎122可以重复(一次或更多次)将第一存储器裸片104的温度升高的过程,直到检测到温度状况126。可替换地,响应于确定第一存储器裸片104的至少一个存储单元(例如,第一存储单元110)不再具有指示老化状况128的特征,恢复引擎122可以确定恢复过程成功。
在一个具体实施方式中,响应于确定恢复过程成功或者响应于确定恢复时间段已期满,恢复引擎122可以确定恢复过程完成。恢复时间段可以在恢复引擎122开始执行存储器操作166的开始时间时开始。响应于确定开始时间和结束时间之间的差值满足(例如,大于或等于)恢复时间阈值,恢复引擎122可以在结束时间时确定恢复时间段已经期满。响应于确定恢复过程不成功并且恢复时间段已经期满,恢复引擎122可以指定第一存储器裸片104为错误的。例如,在恢复时间段期满后,响应于确定第一存储器裸片104的至少一个存储单元(例如,第一存储单元110)继续具有指示老化状况128的特征,恢复引擎122可以指定第一存储器裸片104为错误的。
在一个特定实施方式中,在第一存储器裸片104上执行存储器操作166可以升高次级存储器裸片124的温度。举例来说,次级存储器裸片124可以接近第一存储器裸片104。在此示例中,响应于确定特定次级存储器裸片在距离第一存储器裸片104的第一存储器裸片距离内,恢复引擎122可以识别次级存储器裸片124中的特定次级存储器裸片。在一个具体方面中,响应于确定特定次级存储器裸片在第一方向(例如,水平方向、竖直方向或对角线方向)上与第一存储器裸片104相邻,恢复引擎122可以识别特定次级存储器裸片。
在执行存储器操作166之前,恢复引擎122可以将来自第一存储器裸片104的第一数据、来自次级存储器裸片124的第二数据或其组合复制到备份存储器裸片106。在执行存储器操作166之后,恢复引擎122可以将第一数据从备份存储器裸片106复制到第一存储器裸片104、将第二数据从备份存储器裸片106复制到次级存储器裸片124或其组合。第一数据可以被复制到次级存储器裸片124的第一子集。第二数据可以被复制到次级存储器裸片124的第二子集。第一子集可以与第二子集不同。在一个具体方面中,第一子集可以与第二子集重叠。第一存储器裸片104、次级存储器裸片124或其组合在恢复过程期间可能丢失数据。例如,加热第一存储器裸片104、次级存储器裸片124或其组合的存储单元可以使存储单元改变状态。通过将第一数据、第二数据或两者复制到备份存储器裸片106,可以在执行恢复过程之前保存第一数据、第二数据或两者的副本。在执行恢复过程之后,第一数据、第二数据或两者可以从备份存储器裸片106还原到第一存储器裸片104、次级存储器裸片124或其组合。
在一个具体实施中,恢复过程可以在后台执行。例如,在恢复过程期间,可以从备份存储器裸片106访问第一数据、第二数据或两者。在恢复过程期间,可以将第一数据、第二数据或两者的更新写入备份存储器裸片106。在恢复过程之后,可以将第一数据(例如,更新的第一数据)、第二数据(例如更新的第二数据)或两者从备份存储器裸片106复制到第一存储器裸片104、次级存储器裸片124或其组合。
编程阈值142、擦除阈值144、第一温度阈值146或时间段数据148中的至少一个可以包括默认值。在一个具体实施方式中,控制器120可以从另一个设备(例如,主机设备、测试设备或访问设备)接收编程阈值142、擦除阈值144、第一温度阈值146、时间段数据148或其组合。编程阈值142、擦除阈值144、第一温度阈值146、时间段数据148或其组合可被存储在存储器140中。
有利地,因为恢复过程,所以用于改变第一存储器裸片104的存储单元的状态的编程脉冲的数量、用于擦除第一存储器裸片104的存储单元的擦除脉冲的数量或两者可以减少。因此,在执行恢复过程之后,第一存储单元110可以不具有指示老化状况128的特征。在设备102的存储器裸片190上执行恢复过程可以随时间推移限制标记为错误的存储器裸片的数量和维持设备102的存储容量。
参考图2,其示出了存储器裸片190的说明性方面。存储器裸片190可以包括第一存储器裸片104、次级存储器裸片220、存储器裸片222、次级存储器裸片224、次级存储器裸片226、存储器裸片228、存储器裸片230,次级存储器裸片232或其组合。在一个具体方面中,次级存储器裸片124可以包括次级存储器裸片220、次级存储器裸片224、次级存储器裸片226、次级存储器裸片232或其组合。
通过在存储器裸片190的裸片的基于图案(例如,棋盘图案)的第一子集上执行存储器操作,图1的恢复引擎122可以在存储器裸片190上执行恢复过程。例如,存储器裸片190可以包括裸片的第一子集和裸片的第二子集。裸片的第一子集可以包括第一存储器裸片104、存储器裸片222、存储器裸片228、存储器裸片230或其组合。裸片的第二子集可以包括次级存储器裸片220、次级存储器裸片224、次级存储器裸片226、次级存储器裸片232或其组合。裸片的第一子集和裸片的第二子集可以交叉。例如,裸片的第一子集和裸片的第二子集可以包括交替裸片。为了说明,第一存储器裸片104可以位于次级存储器裸片220和次级存储器裸片226之间。
恢复引擎122可以选择存储器裸片190的裸片的第一子集,以执行图1的存储器操作166。恢复引擎122可以基于图案来选择裸片的第一子集。例如,恢复引擎122可以选择存储器裸片190的交替裸片。恢复引擎122可以生成指示所选裸片的列表。裸片的第一子集可以包括第一存储器裸片104。恢复引擎122可以在所选的裸片(例如裸片的第一子集)上执行存储器操作。例如,恢复引擎122可以维护指示列表的下一条目的计数器。恢复引擎122可以在对应于下一条目的下一裸片上执行存储器操作并且更新(例如,递增1)计数器。
在第一存储器裸片104上执行存储器操作可以升高接近第一存储器裸片104的裸片的第二子集的一个或更多个次级裸片(例如,次级存储器裸片220和次级存储器裸片226)的温度。升高次级裸片(例如,次级存储器裸片220和次级存储器裸片226)的温度可以恢复次级裸片。例如,在第一存储器裸片104上执行图1的存储器操作166之后,用于改变次级裸片(例如,次级存储器裸片220和次级存储器裸片226)的存储单元的状态的编程脉冲的数量可以减少,用于擦除次级裸片的存储单元的擦除脉冲的数量可以减少,或者二者兼有。类似地,在存储器裸片228上执行存储器操作166之后,用于改变次级裸片(例如,次级存储器裸片224、次级存储器裸片226和次级存储器裸片232)的存储单元的状态的编程脉冲的数量可以减少,用于擦除次级裸片的存储单元的擦除脉冲的数量可以减少,或者二者兼有。恢复引擎122因此可以通过在少于全部的存储器裸片190上执行存储器操作,来恢复每个存储器裸片190,从而省电。
参考图3,其描绘了方法的说明性示例并且总体上将其指定为300。方法300可以由设备102、控制器120、R/W电路116、图1的恢复引擎122或其组合执行。
方法300包括在302处的裸片老化确定。例如,通过确定擦除脉冲154的数量、编程脉冲152的数量或两者,图1的恢复引擎112可以执行第一存储器裸片104的裸片老化确定。例如,恢复引擎122可以从R/W电路116接收擦除脉冲154的数量、编程脉冲152的数量或两者(如参照图1中的描述)。
方法300还包括在304处确定是否跨越老化阈值。例如,通过确定第一存储器裸片104的至少一个存储单元(例如,第一存储单元110)是否具有指示老化状况128的特征,图1的恢复引擎122可以确定是否跨越老化阈值。为了说明,响应于确定擦除脉冲154的数量大于擦除阈值144、编程脉冲152的数量大于编程阈值142或两者,恢复引擎122可以确定跨越老化阈值(如参照图1中的描述)。
方法300还包括在306处启动自我恢复机制。例如,图1的恢复引擎122可以引起自我恢复机制(例如,恢复过程)的执行。自我恢复机制可以执行存储器操作166(如参照图1中的描述)。
方法300还包括在308处继续可用于分配。例如,图1的恢复引擎122可以在执行存储器操作166之后,响应于确定恢复过程成功,而确定第一存储器裸片104继续可用于分配(如参照图1中的描述)。为了说明,响应于确定在执行恢复过程之后,用于改变第一存储单元110的状态的编程脉冲的数量小于或等于编程阈值142、用于擦除第一存储单元110的擦除脉冲的数量小于或等于擦除阈值144或两者,恢复引擎122可以不将第一存储器裸片104标记为错误的。
方法300可以限制随时间推移标记为错误的存储设备的存储器裸片的数量和使存储设备的存储容量能够保持。
参考图4,其描述了方法的说明性示例并且总体上将其指定为400。方法400可以由设备102、控制器120、图1的恢复引擎122或其组合执行。
方法400包括在402处确定多个存储器裸片中的第一裸片的至少一个存储单元具有指示老化状况的特征。例如,图1的恢复引擎122可以确定第一存储器裸片104的第一存储单元110具有指示老化状况128的特征(如参照图1中的描述)。
方法400还包括在404处,通过在第一裸片上执行存储器操作来增加第一裸片的温度,直到检测到与温度有关的状况。例如,图1的恢复引擎122可以通过在第一存储器裸片104上执行存储器操作166来增加第一存储器裸片104的温度,直到检测到温度状况126(如参照图1中的描述)。温度状况126与第一存储器裸片104的温度有关。
方法400可以通过使用多个存储器操作来升高第一存储器裸片104的温度,使第一存储器裸片104恢复。恢复第一存储器裸片104可以使第一存储器裸片104可用于分配,并且可以使图1的设备100的存储容量随时间推移被保持。
参考图5,其描述了系统的具体说明性示例并且大体上将其指定为500。系统500包括图1的设备102的一个实施方式,设备102包括温度跨越引擎522。设备102可以耦合到、附接到或嵌入到一个或更多个访问设备(例如,设备504)内,诸如在设备504的外壳内。设备504可以对应于测试设备、主机设备或两者。
温度跨越引擎522可以通过由处理器可执行的软件(例如,指令)来实现,以执行本文描述的操作。可替换地,温度跨越引擎522可以包括经配置以执行本文描述的操作的硬件。如本文所述,温度跨越引擎522可以经配置以通过在存储器设备103上执行存储器操作,来减少与读取数据相关联的误码率。存储器操作可以在存储器访问(例如,写入访问或读取访问)之前执行以加热存储器设备103的裸片。例如,存储器操作可以响应于接收执行存储器访问的请求而执行。当对应于数据的读取温度(例如,在从存储器裸片读取数据时的存储器裸片的温度)与对应于数据的写入温度(例如,在向存储器裸片写入数据时的存储器裸片的温度)相似时,可以降低误码率。如本文所使用的,“温度跨越(temperature crossing)”是指读取温度与写入温度之间的、可能引起误码率的差值。例如,温度跨越可以指读取温度小于第一阈值并且写入温度大于第二阈值的情况。如本文所述,在存储器访问之前,温度跨越引擎522可检测指示温度跨越的状况。例如,温度跨越引擎522可以响应于接收执行存储器访问的请求而检测状况。温度跨越引擎522可以响应于检测到该状况而执行存储器操作166,以加热存储器设备103的裸片。
在操作期间,温度跨越引擎522可以确定将在存储器设备103上执行存储器访问(例如,写入请求534)。在一个具体方面中,设备102可从设备504接收写入请求532。温度跨越引擎522可以响应于接收写入请求532而确定将要执行写入请求534。
如本文所述,温度跨越引擎522可以,在执行写入请求534之前,确定存储器设备103是否具有指示温度跨越的特征。写入请求534可以对应于在第一存储器裸片104的一个或更多个存储单元(例如,第一存储单元110、第二存储单元112或两者)处写入数据的请求。温度传感器108的输出可以作为传感器输入156被提供给控制器120。在一个具体方面中,控制器120可以经配置以,响应于确定将要执行写入请求534、响应于接收写入请求532或两者,而检测(例如,接收)传感器输入156。传感器输入156可以指示在第一存储器裸片104处或其附近的存储器设备103的温度158。温度跨越引擎522可以基于由传感器输入156指示的温度158,确定写入温度546。例如,写入温度546可以指示温度158。
基于写入温度546,温度跨越引擎522可以确定第一存储器裸片104是否具有指示温度跨越状况528的特征(如参照图6的进一步描述)。例如,温度跨越引擎522可以,响应于确定写入温度546满足(例如,小于)第一温度(温度)阈值542,而确定第一存储器裸片104具有指示温度跨越状况528的特征。作为另一个示例,温度跨越引擎522可以,响应于确定写入温度546不满足(例如,大于或等于)第一温度阈值542,而确定第一存储器裸片104不具有指示温度跨越状况528的特征。
温度跨越引擎522可以,响应于确定第一存储器裸片104不具有指示温度跨越状况528的特征,而确定存储器设备103不具有指示温度跨越的特征。温度跨越引擎522可以,响应于确定存储器设备103不具有指示温度跨越的特征,而执行写入请求534。例如,温度跨越引擎522可以向R/W电路116提供数据。R/W电路116可以将数据写入第一存储器裸片104的第一存储单元110、第二存储单元112或两者中。
可替换地,温度跨越引擎522可以,响应于确定第一存储器裸片104具有指示温度跨越状况528的特征,确定存储设备103具有指示温度跨越的特征。温度跨越引擎522可以,响应于确定存储器设备103具有指示温度跨越的特征,通过在相对短的时间段内在第一存储器裸片104上执行存储器操作166(例如,读取操作、写入操作或两者),来增加存储器设备103(例如,第一存储器裸片104)的温度(如参照图1中的描述)。
执行存储器操作166可以包括,经由接口118,将指令(例如,序列请求136)发送到存储器设备103,以启动存储器操作序列(如参照图1中的描述)。存储器操作序列可以在第一存储单元110、另一存储单元(例如,第二存储单元112)或两者上执行。
R/W电路116可以经配置以响应于接收序列请求136而在第一存储器裸片104上执行存储器操作序列(如参照图1中的描述)。例如,序列请求136可以指示存储器裸片(例如,第一存储器裸片104)的至少一个存储单元(例如,第一存储单元110)具有指示温度跨越状况528的特征。为了说明,序列请求136可以包括识别第一存储器裸片104、第一存储单元110或两者的指令。响应于确定序列请求136识别第一存储器裸片104,R/W电路116可以在第一存储器裸片104上执行存储器操作序列。在一个具体实施方式中,响应于确定序列请求136识别第一存储单元110,R/W电路116可以在第一存储单元110上至少执行存储器操作序列的一部分。
作为另一示例,执行存储器操作166可以包括,经由接口118,将多个指令(例如,多个操作请求134)发送到存储器设备103(如参照图1中的描述)。R/W电路116可以经配置以响应于接收操作请求134的每个操作请求(例如,指令),而在第一存储器裸片104上执行存储器操作(例如,读取操作或写入操作)。存储器操作可以在第一存储单元110或第一存储器裸片104的另一个存储单元(例如,第二存储单元112)上执行。
每个存储器操作(例如,读取操作或写入操作)的执行升高第一存储器裸片104的温度(如参照图1中的描述)。温度跨越引擎522可以引起执行存储器操作166,直到检测到与第一存储器裸片104的温度有关的温度状况526。
在执行存储器操作166的至少一个子集之后,控制器120可以接收指示第一存储器裸片104处或其附近的温度158的传感器输入156。在一个具体方面中,检测温度状况526可以包括检测温度158大于或等于第一温度(温度)阈值542。温度跨越引擎522可以,响应于确定温度158小于第一温度阈值542,而执行存储器操作166的另一子集。控制器120可以响应于检测到温度状况526而执行写入请求534。例如,检测温度状况526可以包括接收指示温度158的传感器输入156并确定温度158满足(例如,大于)第一温度阈值542。
在一个具体实施方式中,写入温度546可以表示在执行写入请求534之前,对应于第一存储器裸片104的温度。当在确定写入温度546之后且在执行写入请求534之前执行存储器操作166时,将数据写入到第一存储器裸片104处的温度可以大于写入温度546。在一个可替换的实施方式中,温度跨越引擎522可以在执行存储器操作166之后,更新写入温度546。例如,温度跨越引擎522可以响应于确定温度158满足(例如,大于)第一温度阈值542,而更新写入温度546,以指示温度158。
温度跨越引擎522可以将写入温度546存储在控制器120的存储器140中。在一个具体方面中,响应于确定写入温度546满足(例如,大于)第二温度阈值544,温度跨越引擎522可以将写入温度546存储在存储器140中。响应于确定写入温度546不满足(例如,小于或等于)第二温度阈值544,温度跨越引擎522可以避免将写入温度546存储在存储器140中。写入温度546可以与存储在第一存储单元110、第二存储单元112或两者处的数据相关联。例如,写入温度546可以与数据的存储器地址相关联。为了说明,写入温度546可以参考数据的存储器位置(例如,存储器地址)而存储在存储器140中。
在一个具体方面中,温度跨越引擎522可以确定将要在存储器设备103上执行读取请求538。例如,设备102可以,响应于从设备504接收读取请求536,而确定读取请求538(例如,存储器访问)将要被执行。
如本文所述,温度跨越引擎522可以,在执行读取请求538之前,确定存储器设备103是否具有指示温度跨越的特征。例如,温度跨越引擎522可以,响应于接收读取请求536,而确定存储器设备103是否具有指示温度跨越的特征。读取请求538可以对应于读取存储在第一存储器裸片104的一个或更多个存储单元(例如,第一存储单元110、第二存储单元112或两者)处的数据的请求。控制器120可以接收传感器输入156,传感器输入156指示在第一存储器裸片104处或其附近的存储器设备103的温度158。例如,控制器120可以在确定读取请求538将要被执行之后,接收传感器输入156。在一个具体方面中,响应于确定读取请求538将要被执行、响应于接收读取请求536或两者,控制器120可经配置以检测(例如,接收)传感器输入156。温度跨越引擎522可以基于由传感器输入156指示的温度158来确定读取温度548。例如,读取温度548可以指示温度158。
基于读取温度548、写入温度546或两者,温度跨越引擎522可以确定第一存储器裸片104是否具有指示温度跨越状况528的特征(如参照图7的进一步描述)。温度跨越引擎522可以,响应于确定第一存储器裸片104不具有指示温度跨越状况528的特征,而确定存储器设备103不具有指示温度跨越的特征。响应于确定存储器设备103不具有指示温度跨越的特征,温度跨越引擎522可以执行读取请求538。例如,控制器120可以将读取请求538发送到R/W电路116。R/W电路116可以从第一存储器裸片104的第一存储单元110、第二存储单元112或两者读取数据。R/W电路116可以将数据提供给控制器120,并且控制器120可以将数据提供给设备504。
可替换地,温度跨越引擎522可以,响应于确定第一存储器裸片104具有指示温度跨越状况528的特征,而确定存储设备103具有指示温度跨越的特征。如本文所述,温度跨越引擎522可以,响应于确定存储器设备103具有指示温度跨越的特征,通过在相对短的时间段内在第一存储器裸片104上执行存储器操作166,来增加存储器设备103(例如,第一存储器裸片104)的温度。温度跨越引擎522可以引起执行存储器操作166,直到检测到与第一存储器裸片104的温度相关的温度状况526。
在执行存储器操作166的至少一个子集之后,控制器120可以接收指示第一存储器裸片104处或其附近的温度158的传感器输入156。在一个具体方面中,检测温度状况526可以包括检测温度158大于或等于第一温度阈值542(或第二温度阈值544)(如参照图7的进一步描述)。温度跨越引擎522可以,响应于确定温度158小于第一温度阈值542(或者第二温度阈值544),而执行存储器操作166的另一子集。温度跨越引擎522可以响应于检测到温度状况526而执行读取请求538。
读取温度548因此可以表示在执行读取请求538之前,对应于第一存储器裸片104的温度。当在确定读取温度548之后且在执行读取请求538之前执行存储器操作166时,从第一存储器裸片104读取数据处的温度可以大于读取温度548。
在一个具体实施方式中,在第一存储器裸片104上执行存储器操作166可以升高次级存储器裸片124的温度(如参照图1的描述)。温度跨越引擎522可以在一个或更多个次级存储器裸片124上执行后续写入。例如,控制器120可以从设备504接收第二请求,以在存储器设备103处执行写入访问。控制器120可以,响应于接收第二请求,而在对第一存储器裸片104执行存储器操作166之后,在次级存储器裸片124的第二裸片处执行写入访问。在一个具体方面中,第二裸片可以通过在第一存储器裸片104上执行的存储器操作166而被加热,并且温度跨越引擎522可以在对第二裸片执行写入访问之前,执行较少(例如,不执行)存储器操作。例如,在第一存储器裸片104上执行存储器操作166之后,第二裸片的写入温度可以更接近第一温度阈值542,并且可以使用较少的存储器操作来将第二裸片的温度至少升高到第一温度阈值542。在一个具体方面中,在对第一存储器裸片104执行存储器操作166之后,第二裸片的写入温度可以大于或等于第一温度阈值542,并且在没有先前执行存储器操作以增加第二裸片的温度的情况下,可以执行对第二裸片的写入访问。
在一个具体方面中,温度跨越引擎522可以在次级存储器裸片124的第二存储器裸片上执行存储器操作166,以升高第一存储器裸片104的温度。例如,温度跨越引擎522可以,响应于确定请求(例如,写入请求532或读取请求536)对应于第一存储器裸片104,而识别第二存储器裸片124中的第二存储器裸片。温度跨越引擎522可以在第二存储器裸片上执行存储器操作166,以增加第一存储器裸片104的温度。例如,响应于确定将要升高的包括第一存储器裸片104的多个存储器裸片的温度,可以在第二存储器裸片上执行存储器操作166以升高第一存储器裸片104的温度。如本文所述,为了说明,第二存储器裸片可以对应于图2的次级存储器裸片224,并且温度跨越引擎522可以确定将要升高的图2的第一存储器裸片104、存储器裸片222和存储器228的温度。
在次级存储器裸片224上执行存储器操作166以升高多个存储器裸片(例如,第一存储器裸片104、存储器裸片222和存储器裸片228)的温度,可以导致与在多个存储器裸片中的每一个(例如,第一存储器裸片104、存储器裸片222和存储器裸片228)上执行存储器操作相比,执行了较少的存储器操作。例如,在第一存储器裸片104上执行存储器操作增加的存储器裸片222或存储器裸片228的温度(与在次级存储器裸片224上执行存储器操作166而增加的温度相比)可能不会那么多,因为存储器裸片222和存储器裸片228比第一存储器裸片104更靠近次级存储器裸片224。在第一存储器裸片104上执行存储器操作,以将第一存储器裸片104的温度至少升高到第一温度阈值542,可以导致在存储器裸片222和存储器裸片228上执行额外的存储器操作,以将存储器裸片222和存储器裸片228的温度至少升高到第一温度阈值542。例如,可以执行第一数量的存储器操作以将第一存储器裸片104的温度至少升高到第一温度阈值542,可以执行第二数量的存储器操作以将存储器裸片222的温度至少升高到第一温度阈值542,并且可以执行第三数量的存储器操作以将存储器裸片228的温度至少升高到第一温度阈值542。第一数量、第二数量和第三数量的和可以大于在次级存储器裸片224上执行的存储器操作166的计数,所述在次级存储器裸片224上执行的存储器操作166将第一存储器裸片104、存储器裸片222和存储器裸片228中的每一个的温度至少升高到第一温度阈值542。温度跨越引擎522可因此减少经执行以加热多个裸片的存储器操作的数量。
如上所述,在一些实施方式中,控制器120将延迟写入数据到存储器设备103,直到第一存储器裸片104的温度满足温度状况526(例如,大于第一温度阈值542)。在其他实施方式中,在第一存储器裸片104包括多级单元(MLC)和单级单元(SLC)存储单元的情况下,控制器120可以在加热第一存储器裸片104之前,将数据写入SLC存储单元。在执行存储器操作166之前,将数据写入SLC存储单元可以减少与写入请求534相关联的延时,因为控制器120可以向设备504发信号通知在写入SLC存储单元时存储数据。在第一存储器裸片104的温度满足(例如,大于)第一温度阈值542之后,控制器120可以将数据从SLC存储单元复制或“折叠”到MLC存储单元。例如,根据MLC方案,第一存储单元110可以指示多个(例如三个)值。在一个具体的实施方式中,温度跨越引擎522可以,响应于确定存储设备103具有指示温度跨越的特征,将写入请求534的数据写入到存储器设备103的一个或更多个SLC存储单元。一个或更多个SLC存储单元中的每一个可以,根据SLC方案,指示单个值。第一存储器裸片104的一部分可以包括一个或更多个SLC存储单元。温度跨越引擎522可以,响应于检测到温度状况526,而将数据从一个或更多个SLC存储单元复制到MLC存储单元(例如,第一存储单元110)。
第一温度阈值542或第二温度阈值544中的至少一个可以包括默认值。在一个具体实施方式中,控制器120可以从设备504(例如主机设备、测试设备或访问设备)接收第一温度阈值542、第二温度阈值544或两者。第一温度阈值542、第二温度阈值544或两者可以存储在存储器140中。
有利地,温度跨越引擎522可以,在执行存储器访问之前,提高第一存储器裸片104的温度,以增加将数据写入第一存储器裸片104的写入温度与从第一存储器裸片104读取数据时的温度基本相似的可能性(如参照图6-图7的进一步描述)。当写入温度与读取温度基本相似时,可以减少在存储器设备103处的与数据读取相关联的误码数量。
参照图6,图表600包括可由设备102、图1的控制器120、温度跨越引擎522、图5的系统500或其组合检测的状况的具体说明性示例。
温度跨越引擎522可以,响应于确定将要执行的写入请求534,基于写入温度546,确定第一存储器裸片104是否具有指示温度跨越状况528的特征。图表600说明了第一情况602、第二情况604和第三情况606。应当理解的是,提供第一情况602、第二情况604和第三情况606作为说明性的、非限制性示例。在一些实施方式中,温度跨越引擎522可以使用其他情况来确定第一存储器裸片104是否具有指示温度跨越状况528的特征。
在第一情况602中,温度跨越引擎522可以,响应于确定写入温度546小于第一温度阈值542,而确定第一存储器裸片104具有指示温度跨越状况528的特征。温度跨越引擎522可以执行存储器操作166,直到检测到第一存储器裸片104处或其附近的温度158大于或等于第一温度阈值542(如参照图5的描述)。在检测到温度158大于或等于第一温度阈值542之后,温度跨越引擎522可以执行写入请求534。
在第二情况604中,温度跨越引擎522可以,响应于确定写入温度546大于或等于第一温度阈值542且小于或等于第二温度阈值544,而确定第一存储器裸片104不具有指示温度跨越状况528的特征。温度跨越引擎522可以响应于检测到第一存储器裸片104不具有指示温度跨越状况528的特征而执行写入请求534。
在第三情况606中,温度跨越引擎522可以,响应于确定写入温度546大于第二温度阈值544,而确定第一存储器裸片104不具有指示温度跨越状况528的特征。温度跨越引擎522可以执行写入请求534,并且响应于确定写入温度546大于第二温度阈值544,将写入温度546存储在存储器140中。
参考图7,图表700包括可由设备102、图1的控制器120、温度跨越引擎522、图5的系统500或其组合检测的状况的具体说明性示例。
温度跨越引擎522可以,响应于确定将要执行的读取请求538,而基于写入温度546、读取温度548或两者确定第一存储器裸片104是否具有指示温度跨越状况528的特征。图表700包括第一情况702、第二情况704、第三情况706和第四情况708。
如参考图6所述,温度跨越引擎522可以,在执行写入请求534之前在存储器设备103上执行存储器操作166,以将存储器设备103至少加热到第一温度阈值542。如本文所述,温度跨越引擎522可以在执行读取请求538之前,在存储器设备103上执行存储器操作166以将存储器设备103加热到第二温度(例如,大于或等于第一温度阈值542或大于第二温度阈值544)。第二温度可以基于写入温度546。温度跨越引擎522可以,响应于确定读取温度548不满足(例如,小于)第一温度阈值542,而执行存储器操作166以将存储器设备103加热到满足(例如,大于)第一温度阈值542的温度。在一个具体方面中,温度跨越引擎522可以,响应于确定读取温度548不满足(例如,小于或等于)第二温度阈值544并且写入温度546满足(例如,大于)第二温度阈值544,而执行存储器操作166以将存储器设备103加热至满足(例如,大于)第二温度阈值544的温度。
在第一情况702中,温度跨越引擎522可以,响应于确定读取温度548小于第一温度阈值542并且写入温度546没有存储在存储器140中或写入温度546小于或等于第二温度阈值544,而确定第一存储器裸片104具有指示温度跨越状况528的特征。温度跨越引擎522可以执行存储器操作166,直到检测到第一存储器裸片104处或其附近的温度158大于或等于第一温度阈值542(如参照图5的描述)。在检测到温度158大于或等于第一温度阈值542之后,温度跨越引擎522可以执行读取请求538。
在第二情况704中,温度跨越引擎522可以,响应于确定写入温度546没有存储在存储器140中或者写入温度546小于或等于第二温度阈值544,并且读取温度548大于或等于第一温度阈值542,而确定第一存储器裸片104不具有指示温度跨越状况528的特征。温度跨越状况528可以对应于状况,其中执行存储器操作166可以减少由温度跨越引起的误码。在一个具体方面中,在执行写入请求534时的第一存储器裸片104的温度(例如,暖)可以与读取温度548(例如,暖)基本相同,并且温度跨越引擎522可以确定第一存储器裸片104不指示指示温度跨越的特征,因此不具有指示温度跨越状况528的特征。在另一方面中,读取温度548(例如,热)可以大于在执行写入请求534时的第一存储器裸片104的温度(例如,暖)。在执行读取请求538之前,执行存储器操作166可以升高第一存储器裸片104的温度,因此由于增加了在执行写入请求534时的第一存储器裸片104的温度(例如,暖)与在执行读取请求538时的第一存储器裸片104的温度(例如,更热)之间的差值而引起更多的误码。温度跨越引擎522可以确定第一存储器裸片104指示指示温度跨越的特征。温度跨越引擎522可以,响应于确定执行存储器操作166将不会减少误码,而确定第一存储器裸片104不具有指示温度跨越状况528的特征。温度跨越引擎522可以执行读取请求538而不使用存储器操作166来加热第一存储器裸片104。
在第三情况706中,温度跨越引擎522可以,响应于确定写入温度546存储在存储器140中、写入温度546大于第二温度阈值544或两者,并且读取温度548小于或等于第二温度阈值544,而确定第一存储器裸片104具有指示温度跨越状况528的特征。温度跨越引擎522可以执行存储器操作166,直到检测到第一存储器裸片104处或其附近的温度158大于第二温度阈值544(如参照图5的描述)。在检测到温度158大于第二温度阈值544之后,温度跨越引擎522可以执行读取请求538。
在第四情况708中,温度跨越引擎522可以,响应于确定写入温度546存储在存储器140中、写入温度546大于第二温度阈值544或两者,并且读取温度548大于第二温度阈值544,而确定第一存储器裸片104不具有指示温度跨越状况528的特征。响应于检测到第一存储器裸片104不具有指示温度跨越状况528的特征,温度跨越引擎522可以执行读取请求538。温度跨越引擎522可以执行读取请求538而不使用存储器操作166来加热第一存储器裸片104。
在第一情况702中,温度跨越引擎522可以通过在执行读取请求538之前执行存储器操作166来减少与在存储器设备103处的数据读取相关联的误码率。在第一情况702中,写入温度546和读取温度548两者都可以小于第一温度阈值542(例如,冷)。温度跨越引擎522可以,在执行写入请求534之前并且还在执行读取请求538之前,执行存储器操作166,使得在执行读取请求538时的第一存储器裸片104的温度(例如,暖)与在执行写入请求534时的第一存储器裸片104的温度(例如,暖)基本相似。
可替换地,在第一情况702中,写入温度546(例如,暖)可以大于或等于第一温度阈值542并且小于或等于第二温度阈值544。温度跨越引擎522可以在执行写入请求534之前避免执行存储器操作166。读取温度548(例如,冷)可以小于第一温度阈值542。温度跨越引擎522可以在执行读取请求538之前执行存储器操作166,使得在执行读取请求538时的第一存储器裸片104的温度(例如,暖)与在执行写入请求534时的第一存储器裸片104的温度(例如,暖)基本相似。
在第二情况704中,在一个具体方面中,读取温度548(例如,暖)可以与在执行写入请求534时的第一存储器裸片104的温度基本相似,并且温度跨越引擎522可以,在执行读取请求538之前,避免执行存储器操作166。例如,写入温度546(例如,暖)可以大于或等于第一温度阈值542并且小于或等于第二温度阈值544。温度跨越引擎522可以,响应于确定写入温度546(例如,暖)大于或等于第一温度阈值542并且小于或等于第二温度阈值544,而确定第一存储器裸片104不具有指示温度跨越状况528的特征。温度跨越引擎522可以,响应于确定第一存储器裸片104不具有指示温度跨越状况528的特征,而在执行写入请求534之前避免执行存储器操作166。
读取温度548在执行写入请求534时可能是未知的。读取温度548小于或等于第二温度阈值544的第一可能性可以高于读取温度548大于第二温度阈值544的第二可能性。当第一可能性大于第二可能性时,响应于确定写入温度546(例如,暖)大于或等于第一阈值542并且小于或等于第二温度阈值544,避免执行存储器操作166可以减少所执行的存储器操作的总数量。例如,当读取温度548小于第一温度阈值542时,在执行写入请求534之前,避免执行存储器操作166以将第一存储器裸片104的温度升高至第二温度阈值544之上可以导致执行较少的存储器操作以将第一存储器裸片104的温度至少升高到第一温度阈值542。作为另一示例,当读取温度548大于或等于第一温度阈值542且小于或等于第二温度阈值544时,在执行写入请求534之前,避免执行存储器操作166以将第一存储器裸片104的温度升高到第二温度阈值544之上可以导致在执行读取请求538之前,不执行存储器操作。当读取温度548具有小于或等于第二温度阈值544的更大更能性时,在执行写入请求534之前,避免执行存储器操作166以将第一存储器裸片104的温度升高到第二温度阈值544之上可以导致在执行读取请求538之前执行较少的存储器操作。
作为另一示例,写入温度546(例如,冷)可以小于第一温度阈值542且温度跨越引擎522可以在执行写入请求534之前执行存储器操作166。读取温度548(例如,暖)可以大于或等于第一温度阈值542并且小于或等于第二温度阈值544。在执行写入请求534之前,执行存储器操作166可以引起在写入请求534被执行时的第一存储器裸片104的温度与读取温度548基本相同。在执行读取请求538时的第一存储器裸片104的温度(例如,暖)可以与在执行写入请求534时的第一存储器裸片104的温度(例如,暖)基本相似。在执行写入请求534之前执行存储器操作166可以导致第一存储器裸片104在执行读取请求538之前不具有指示温度跨越的特征。因此可以降低(例如,消除)与温度跨越相关联的误码。
在第二情况704中,在一个可替换的方面中,读取温度548(例如,热)可以高于在执行写入请求534时的第一存储器裸片104的温度。写入温度546(例如,冷)可以小于第一温度阈值542,并且温度跨越引擎522可以在执行写入请求534之前执行存储器操作166,由此至少减小执行写入请求534时的温度(例如,暖)与执行读取请求538时的温度(例如,热)之间的差值。对应于执行写入请求534时的温度(例如,暖)与执行读取请求538时的温度(例如,热)之间的较低差值的温度跨越,与对应于执行写入请求534时的温度(例如,冷)与执行读取请求538时的温度(例如,热)之间的较高差值的温度跨越相比,前者可以导致更少的误码。在执行写入请求534之前执行存储器操作166,可以因此减少与温度跨越相关联的误码。
可替换地,写入温度546(例如,暖)可以大于或等于第一温度阈值542并且小于或等于第二温度阈值544。温度跨越引擎522可以在执行写入请求534之前避免执行存储器操作166,因为在执行写入请求534时读取温度548(例如,热)是未知的。例如,当读取温度548小于或等于第二温度阈值544的第一可能性大于读取温度548大于第二温度阈值544的第二可能性时,温度跨越引擎522可以在执行写入请求534之前避免执行存储器操作166,以减少存储器操作的总数量。温度跨越引擎522可以在执行读取请求538之前避免执行存储器操作166,因为如果升高第一存储器裸片104的温度,执行写入请求534时的温度(例如,暖)与执行读取请求538时的温度(例如,热)之间的差值将会进一步增加。
在第三情况706中,通过在执行读取请求538之前执行存储器操作166,温度跨越引擎522可以减少与存储器设备103处的数据读取相关联的误码率。在第三情况706中,写入温度546(例如,热)可以大于第二温度阈值544,并且读取温度548(例如,冷或暖)可以小于第二温度阈值544。温度跨越引擎522可以在执行读取请求538之前执行存储器操作166,使得在执行读取请求538时的第一存储器裸片104的温度(例如,热)与在执行写入请求534时的第一存储器裸片104的温度(例如,热)基本相似。作为在执行读取请求538之前执行存储器操作166的结果,第一存储器裸片104可以不具有指示温度跨越的特征。因此可以降低(例如,消除)与温度跨越相关联的误码。
在第四情况708中,读取温度548可以与在执行写入请求534时的第一存储器裸片104的温度基本相似,并且温度跨越引擎522可以在执行读取请求538之前避免执行存储器操作166。在第四情况708中,写入温度546(例如,热)和读取温度548(例如,热)两者可以都大于第二温度阈值544。温度跨越引擎522可以在执行写入请求534之前避免执行存储器操作166,并且还可以在执行读取请求538之前避免执行存储器操作166。在执行读取请求538行时的第一存储器裸片104的温度(例如,热)与在执行写入请求534而不执行存储器操作166时的第一存储器裸片104的温度(例如,热)基本相似。
温度跨越引擎522可以通过在写入请求534之前执行存储器操作166、在读取请求538之前执行存储器操作166或两者来减少第一情况702、第二情况704或第三情况706中的至少一个的误码率。
应该理解的是,提供的第一情况702、第二情况704、或第三情况706和第四情况708作为说明性、非限制性示例。在一些实施方式中,温度跨越引擎522可以使用其他情况来确定第一存储器裸片104是否具有指示温度跨越状况528的特征。例如,温度跨越引擎522可以,在执行写入请求534之前,响应于确定写入温度546小于或等于第二温度阈值544,而确定第一存储器裸片104具有指示温度跨越状况528的特征。在该示例中,温度跨越引擎522可以,在执行读取请求538之前,响应于确定读取温度548小于或等于第二温度阈值544,而确定第一存储器裸片104具有指示温度跨越状况528的特征。在该示例中,在执行写入请求534时的第一存储器裸片104的温度(例如,热)与在执行读取请求538时的第一存储器裸片104的温度(例如,热)可以基本相似。温度跨越引擎522可以通过在写入请求534之前执行存储器操作166、在读取请求538之前执行存储器操作166或两者来降低误码率。
参考图8,其描述了方法的说明性示例并且总体上将其指定为800。方法800可以由设备102、图1的控制器120、温度跨越引擎522、图5的系统500或其组合执行。
方法800包括在802处检查裸片温度。例如,图5的温度跨越引擎522可以基于传感器输入156来确定写入温度546(如参照图5的描述)。传感器输入156可以指示第一存储器裸片104处或其附近的温度158。
方法800还包括在804处确定是否满足温度跨越状况。例如,图5的温度跨越引擎522可以确定是否检测到温度跨越状况528(如参照图5-图7的描述)。
方法800包括,响应于在804处确定满足温度跨越状况,在806处施加温度跨越缓解操作。例如,图5的温度跨越引擎522可以,响应于检测到温度跨越状况528,而执行存储器操作166直到检测到温度状况526(如参照图5-图6的进一步描述)。方法800包括,响应于在804处确定满足温度跨越状况,进行至808。
方法800还包括在不满足温度跨越状况时(例如,在执行806之后)执行一个或更多个存储器访问操作。例如,方法800可以包括在808处写入到裸片。例如,控制器120可以在第一存储器裸片104处执行写入请求534(如参照图5的描述)。
作为另一示例,方法800可以包括在810处读取裸片。例如,控制器120可以在第一存储器裸片104处执行读取请求538(如参照图5的描述)。
方法800可以,通过在写入数据之前、在读取数据之前或两者之前加热第一存储器裸片104,而减小从第一存储器裸片104读取数据时的第一温度与将数据写入到第一存储器裸片104时的第二温度之间的差值。例如,第一温度可以与第二温度基本相似(例如,暖)。减小(例如,消除)温度差值可以降低与在存储器设备103处执行数据读取相关联的误码率。
参考图9,描述了方法的说明性示例并且总体上将其指定为900。方法900可以由设备102、图1的控制器120、温度跨越引擎522、图5的系统500或其组合执行。
方法900包括,在902处,响应于接收在存储器设备处执行存储器访问的请求,而确定存储器设备具有指示温度跨越的特征。例如,图5的温度跨越引擎522可以,响应于接收执行存储器访问(例如,写入请求534或读取请求538)的请求(例如,读取请求536或写入请求532),而确定存储器设备103具有指示温度跨越的特征(如参照图5-图7的描述)。
方法900还包括,在904处,响应于该确定,通过在存储器设备上执行存储器操作来增加存储器设备的温度,直到检测到与温度有关的状况。例如,图5的温度跨越引擎522可以,响应于确定存储器设备103具有指示温度跨越的特征,而执行存储器操作166直到检测到温度状况526(如参照图5-图7的进一步描述)。
方法900可以对应于图6-图7中的一个或更多个情况。方法900可通过在数据写入之前、在数据读取之前或两者之前加热第一存储器裸片104来减小从第一存储器裸片104读取数据时的第一温度与将数据写入第一存储器裸片104时的第二温度之间的差值。例如第一温度与第二温度可以基本类似。减少(例如消除)温度差值可降低与在存储器设备103处执行数据读取相关联的误码率。
在一些实施方式中,计算机可读介质存储指令,该指令可以由处理模块执行以执行操作。例如,计算机可读介质可以对应于存储器140,指令可以对应于指令162,并且处理模块可以对应于恢复引擎122、温度跨越引擎522或两者。操作包括确定在由处理模块执行指令期间,存储器裸片(例如,第一存储器裸片104)的至少一个存储单元(例如,第一存储单元110)具有指示老化状况(例如,老化状况128)的特征。操作还包括,响应于确定至少一个存储单元(例如,第一存储单元110)具有指示老化状况(例如,老化状况128)的特征,而执行存储器操作(例如,存储器操作166)来增加存储器裸片(例如,第一存储器裸片104)的温度直到检测到与存储器裸片(例如,第一存储器裸片104)的温度有关的状况(例如,温度状况126)。
在一个具体方面中,操作包括,在存储器设备(例如,存储器设备103)处执行存储器访问(例如,写入请求534或读取请求538)之前,确定存储器设备(例如,存储器设备103)具有指示温度跨越的特征(例如,温度跨越状况528)。操作还包括响应于该确定,通过在存储器设备(例如存储器设备103)处执行存储器操作(例如,存储器操作166)来增加存储器设备(例如,存储器设备103)的温度(例如,温度158),直到检测到与温度有关的状况(例如,温度状况526)。
尽管本文描述的各种组件被说明为块组件并且以概括术语描述,但是这些组件可以包括经配置以使这些组件能够执行本文描述的一个或更多个操作的一个或更多个微处理器、状态机或其他电路。例如,温度状况126、老化状况128或两者可表示物理组件,诸如硬件控制器、状态机、逻辑电路或其他结构,以使得恢复引擎122能够检测温度状况126、老化状况128或两者。作为另一示例,恢复引擎122可以表示物理组件,诸如硬件控制器、状态机、逻辑电路或其他结构,以使得控制器120能够增加存储器裸片(例如,第一存储器裸片104)的温度,直到检测到温度状况126。响应于确定至少一个存储单元具有指示老化状况128的特征,可以增加第一存储器裸片104的温度。
在一个具体方面中,温度状况526、温度跨越状况528或两者可表示物理组件,诸如硬件控制器、状态机、逻辑电路或其他结构,以使温度跨越引擎522能够检测温度状况526、温度跨越状况528或两者。在一个具体方面中,温度跨越引擎522可以表示物理组件,诸如硬件控制器、状态机、逻辑电路或其他结构,以使控制器120能够增加存储器裸片(例如,第一存储器裸片104)的温度直到检测到温度状况526。响应于确定第一存储器裸片104具有指示温度跨越状况528的特征,可以在执行存储器访问(例如,写入请求534或读取请求538)之前增加第一存储器裸片104的温度。
可替换地或另外地,可以使用微处理器或微控制器来实现本文描述的一个或更多个组件,该微处理器或微控制器经编程以执行操作,例如图3的方法300、图4的方法400、图8的方法800、图9的方法900或其组合中的一个或更多个操作。由恢复引擎122、温度跨越引擎522、控制器120和/或设备102执行的指令可以从存储器140或者从不是存储器140的一部分的单独的存储器位置检索,例如从只读存储器(ROM)检索。
结合图1-图9中描述的一个或更多个方面,一种装置包括用于与包括多个存储器裸片的存储器设备通信的工具。例如,用于通信的工具可以包括或对应于图1的接口118、一个或更多个其他结构、设备、电路、模块或其组合。该装置还包括工具,其用于通过在第一裸片上执行存储器操作来提高多个存储器裸片中的第一裸片的温度,直到检测到与温度有关的状况。用于增加第一裸片的温度的工具可以包括图1的恢复引擎122、一个或更多个其他结构、设备、电路、模块、用于提高第一裸片温度的指令或其组合。响应于确定第一裸片的至少一个存储单元具有指示老化状况的特征,可以增加温度。
设备102可以耦合到、附接到或嵌入在一个或更多个访问设备内,诸如在设备504的外壳内。例如,设备102可以根据联合电子设备工程协会(JEDEC)的固态技术协会通用闪存(UFS)配置嵌入在设备504内。为了进一步说明,设备102可以被集成在电子设备内,例如移动电话、计算机(例如,膝上型计算机、平板电脑或笔记本电脑)、音乐播放器、视频播放器、游戏设备或者游戏控制台、交通工具组件(例如,交通工具控制台)、电子书阅读器、个人数字助理(PDA)、便携式导航设备或使用内部非易失性存储器的其他设备。
在一个或更多个其他实施方式中,设备102可以实现在经配置以选择性地耦合到一个或更多个外部设备,例如主机设备(例如,设备504),的便携式设备中。例如,设备102可以从设备504移除(即,“可移除”地耦合到设备504)。作为示例,设备102可以根据可移除通用串行总线(USB)配置可移除地耦合到设备504。
在一些实施方式中,作为说明性的示例,系统100、系统500、设备102或存储器140可以集成在网络可访问的数据存储系统中,诸如企业数据系统、NAS系统或云数据存储系统。
在一些实施方式中,设备102可以包括固态驱动器(SSD)。作为说明性的、非限制性示例,设备102可以用作嵌入式存储驱动器(例如,移动设备的嵌入式SSD驱动器)、企业存储驱动器(ESD)、云存储设备、网络附加存储(NAS)设备或客户端存储设备设备。在一些实施方式中,设备102可以经由网络耦合到另一个设备(例如,设备504)。例如,网络可以包括数据中心存储系统网络、企业存储系统网络、存储区域网络、云存储网络、局域网(LAN)、广域网(WAN)、因特网和/或另一个网络。
为了进一步说明,作为说明性示例,设备102可以经配置以作为嵌入式存储器耦合到另一个设备(例如,设备504),诸如结合嵌入式多媒体卡
Figure BDA0001674701290000281
(JEDEC固态技术协会,阿灵顿(Arlington),弗吉尼亚(Virginia)的商标)配置。设备102可以对应于eMMC设备。作为另一个示例,设备102可以对应于存储器卡,诸如安全数字
Figure BDA0001674701290000282
卡、
Figure BDA0001674701290000283
卡、miniSDTM卡(SD-3C有限责任公司(SD-3C LLC),威明顿(Wilmington),特拉华(Delaware)的商标)、MultiMediaCardTM(MMCTM)卡(JEDEC固态技术协会,阿灵顿(Arlington),弗吉尼亚(Virginia)的商标)或
Figure BDA0001674701290000284
(CF)卡(SanDisk公司(SanDisk Corporation),米尔皮塔斯(Milpitas),加利福尼亚州(California)的商标)。设备102可以按照JEDEC工业规范进行操作。例如,设备102可以按照JEDEC eMMC规范、JEDEC通用闪存(UFS)规范、一个或更多个其他规范或其组合来操作。
存储器140可以包括电阻式随机访问存储器(ReRAM)、闪存(例如,NAND存储器、NOR存储器、SLC闪存,MLC闪存、分位线NOR(DINOR)存储器、AND存储器、高电容耦合比(HiCR)设备、非对称非接触晶体管(ACT)设备或另一个闪存)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)\只读存储器(ROM)、一次性可编程存储器(OTP)、另一种类型的存储器或其组合。在一个具体实施例中,设备102经由网络间接耦合到访问设备。例如,设备102可以是数据中心存储系统、企业存储系统或存储区域网络的网络附加存储(NAS)设备或组件(例如,固态驱动器(SSD)组件)。存储器140可以包括半导体存储器设备。
半导体存储器设备包括诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)设备的易失性存储器设备、诸如电阻式随机访问存储器(“ReRAM”)之类的非易失性存储设备、磁性随机访问存储器(“MRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存(其也可以被认为是EEPROM的子集),铁电随机访问存储器(“FRAM”)和能够存储信息的其他半导体单元。每种类型的存储器设备可以有不同的配置。例如,闪存设备可以被配置为NAND或NOR配置。
存储器设备可以由无源和/或有源单元的任意组合形成。作为非限制性示例,无源半导体存储器单元包括ReRAM设备单元,其在一些实施例中包括诸如反熔丝、相变材料等的电阻率切换存储单元,以及可选地包括诸如二极管等的控制导引单元。进一步作为非限制性示例,有源半导体存储器单元包括EEPROM和快闪存储器设备单元,其在一些实施例中包括包含电荷区的单元,诸如浮栅、导电纳米颗粒或电荷存储介电材料。
多个存储器单元可以经配置以使得它们串联连接或者使得每个单元可单独访问。作为非限制性示例,NAND配置(NAND存储器)中的闪存设备通常包含串联连接的存储器单元。NAND存储器阵列可以经配置以使得该阵列由多个存储器串组成,其中一个串由共享单个位线并作为组被访问的的多个存储器单元组成。可替换地,存储器单元可以经配置以使得每个单元都是单独可访问的,例如,NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以另外配置存储器单元。
位于衬底内和/或上方的半导体存储器单元可以布置成二维或三维,诸如二维存储器结构或三维存储器结构。在二维存储器结构中,半导体存储器单元被布置在单个平面或单个存储器设备层中。通常地,在二维存储器结构中,存储器单元被布置在平面中(例如,在x-z方向平面中),该平面基本平行于支撑存储器单元的衬底的主表面而延伸。衬底可以是在其上或其中形成存储器单元层的晶片,或者可以是在存储器单元形成之后,附接到存储器单元的载体衬底。作为非限制性示例,衬底可以包括诸如硅的半导体。
存储器单元可以以有序阵列(例如多个行和/或列)布置在单个存储器设备层中。然而,存储器单元可以以非规则或非正交配置排列。存储单元可以各自具有两个或更多个电极或接触线,例如位线和字线。
三维存储器阵列被布置为使得存储器单元占据多个平面或多个存储器设备层,从而形成三维结构(即,在x、y和z方向上,其中在y方向基本上垂直并且在x和z方向上基本平行于衬底的主表面)。作为非限制性示例,三维存储器结构可以作为多个二维存储器设备层的堆叠而垂直布置。作为另一个非限制性示例,三维存储器阵列可以被布置为多个垂直列(例如,基本垂直于衬底的主表面而延伸的列,即,在y方向上),其中每个列具有在每个列中的多个存储器单元。列可以被布置为二维配置(例如,在x-z平面中),导致存储器单元的三维布置,存储器单元在多个垂直堆叠的存储器平面上具有单元。三维存储器单元的其他配置也能够构成三维存储器阵列。
作为非限制性示例,在三维NAND存储器阵列中,存储器单元可以耦合在一起在单个水平(例如,x-z)存储器设备层内形成NAND串。可替换地,存储器单元可以耦合在一起以形成横跨多个水平存储器设备层的垂直NAND串。可以设想其他三维配置,其中一些NAND串包含在单个存储器层中的存储器单元,而其他串包含跨越多个存储器层的存储器单元。三维存储器阵列也可以设计成NOR配置和ReRAM配置。
通常,在单片三维存储器阵列中,一个或更多个存储器设备层形成在单个衬底上方。可选地,单片三维存储器阵列还可以具有至少部分地位于单个衬底中的一个或更多个存储器层。作为非限制性示例,衬底可以包括诸如硅的半导体。在单片三维阵列中,构成阵列的每个存储器设备层的层通常形成在阵列的存储器设备层的下层上。然而,单片三维存储器阵列的相邻存储器设备层的层可以是共享的或具有在存储器设备层之间的中间层。
可替换地,可以单独形成二维阵列,然后将其封装在一起以形成具有多层存储器的非单片存储器设备。例如,可以通过在单独的衬底上形成存储器层,然后将存储器层堆叠在彼此之上来构建非单片堆叠存储器。在堆叠之前,衬底可以被薄化或从存储器设备层移除,但是由于存储器设备层最初形成在单独的衬底上,所以得到的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以形成在单独的芯片上,然后封装在一起以形成堆叠芯片存储器设备。
相关联电路通常用于存储器单元的操作和用于与存储器单元的通信。作为非限制性示例,存储器设备可以具有用于控制和驱动存储器单元以实现诸如编程和读取功能的电路。该相关联的电路可以与存储器单元位于相同的衬底上和/或位于单独的衬底上。例如,用于存储器读取-写入操作的控制器可以位于单独的控制器芯片上和/或位于与存储器单元相同的衬底上。
本领域的技术人员将认识到,本公开不限于所描述的二维和三维示例性结构,而是覆盖了在本文描述的公开的精神和范围内的,并且本领域技术人员理解的所有相关存储器结构。本文描述的实施例的说明意在提供对各种实施例的总体理解。其他实施例可以被利用并从本公开导出,使得可以在不脱离本公开的范围的情况下,进行结构和逻辑替换和改变。本公开意在覆盖各种实施例的任意和全部后续的修改或变化。本领域技术人员将认识到,这样的修改在本公开的范围内。
以上公开的主题应被认为是说明性的而非限制性的,并且所附权利要求意在覆盖落入本公开的范围内的所有这些修改、提高和其他实施例。因此,在法律允许的最大范围内,本公开的范围将由随附权利要求及其等同的最宽可允许的解释来确定,并且不应被前述详细描述约束或限制。

Claims (20)

1.一种设备,其包括:
存储器设备;以及
控制器,其耦合到所述存储器设备,所述控制器经配置以:
响应于接收在所述存储器设备处执行存储器访问的请求,而确定所述存储器设备具有指示温度跨越的特征;以及
响应于所述确定,通过在所述存储器设备上执行存储器操作来增加所述存储器设备的温度,直到检测到与所述温度有关的状况。
2.根据权利要求1所述的设备,其中所述控制器进一步经配置以在检测到与所述温度有关的所述状况之后,在所述存储器设备处执行所述存储器访问。
3.根据权利要求1所述的设备,其中执行所述存储器操作包括向所述存储器设备发送指令以启动存储器操作序列。
4.根据权利要求3所述的设备,其中所述存储器设备包括读取/写入电路以及多个存储器裸片,并且其中所述读取/写入电路经配置以响应于接收所述指令,在所述多个存储器裸片中的第一裸片处执行多个读取操作。
5.根据权利要求1所述的设备,其中所述存储器设备包括读取/写入电路以及多个存储器裸片,其中执行所述存储器操作包括将多个读取指令发送到所述存储器设备,并且其中所述读取/写入电路经配置以响应于接收所述多个读取指令中的每个读取指令,而在所述多个存储器裸片中的第一裸片处执行读取操作。
6.根据权利要求1所述的设备,其中所述存储器设备包括多个存储器裸片,其中所述请求对应于对所述多个存储器裸片中的第一裸片的多个存储单元中的第一存储单元的写入请求,以及其中所述控制器进一步经配置以响应于确定所述第一裸片的温度低于第一温度阈值,而确定所述存储器设备具有指示所述温度跨越的特征。
7.根据权利要求6所述的设备,其中所述第一存储单元对应于多级单元即MLC,其中所述控制器进一步经配置以:
响应于确定所述存储器设备具有指示所述温度跨越的特征,将所述写入请求的数据写入到所述存储器设备的单级单元即SLC中;以及
响应于检测到与所述温度有关的状况,将所述数据从所述SLC复制到所述MLC。
8.根据权利要求1所述的设备,其中所述存储器设备包括多个存储器裸片,其中所述请求对应于对所述多个存储器裸片中的第一裸片的多个存储单元中的第一存储单元的读取请求,并且其中所述控制器进一步经配置以响应于确定所述第一裸片的温度低于第一温度阈值而确定所述存储器设备具有指示所述温度跨越的特征。
9.根据权利要求1所述的设备,其中所述存储器设备包括多个存储器裸片,其中所述请求对应于读取存储于所述存储器设备的多个存储单元处的数据的读取请求,并且其中所述控制器进一步经配置以响应于确定对应于所述数据的写入温度大于第二温度阈值并且对应于所述数据的读取温度低于或等于所述第二温度阈值,而确定所述存储器设备具有指示所述温度跨越的特征。
10.根据权利要求9所述的设备,其中所述控制器进一步经配置以在接收所述读取请求之前,响应于接收将所述数据写入到所述多个存储单元的写入请求:
检测所述写入温度;以及
响应于确定所述写入温度大于第二温度阈值,将所述写入温度存储在所述控制器的存储器处。
11.根据权利要求9所述的设备,其中所述控制器进一步经配置以响应于接收所述读取请求而检测所述读取温度。
12.根据权利要求1所述的设备,其中所述存储器设备包括多个存储器裸片,其中所述请求对应于所述多个存储器裸片中的第一裸片,并且其中检测到所述状况包括检测到所述第一裸片的温度超过阈值。
13.根据权利要求1所述的设备,其中所述存储器设备包括多个存储器裸片,并且其中所述控制器进一步经配置以:
接收来自温度传感器的输入;
基于所述输入来确定所述多个存储器裸片中的第一裸片的温度;以及
响应于确定所述第一裸片的温度小于阈值,执行所述存储器操作的子集。
14.根据权利要求13所述的设备,其中所述第一裸片包括所述温度传感器。
15.根据权利要求1所述的设备,其中所述存储器设备包括第一裸片和所述第一裸片附近的多个次级裸片,并且其中所述控制器进一步经配置以,响应于确定所述请求对应于所述第一裸片,识别所述多个次级裸片中的第二裸片,其中所述存储器操作在所述第二裸片上执行以增加所述第一裸片的温度。
16.根据权利要求1所述的设备,其中所述存储器设备包括第一裸片和所述第一裸片附近的多个次级裸片,其中所述控制器进一步经配置以:
确定所述请求对应于所述第一裸片,其中所述存储器操作在所述第一裸片上执行;以及
响应于接收在所述存储器设备处执行写入访问的第二请求,在所述第一裸片执行所述存储器操作之后,在所述多个次级裸片中的第二裸片处执行所述写入访问。
17.一种设备,包括:
存储器设备;以及
控制器,其经配置以在执行写入操作之前在所述存储器设备上执行存储器操作以将所述存储器设备至少加热到第一温度,并且在执行读取操作之前将所述存储器设备至少加热到第二温度。
18.根据权利要求17所述的设备,其中所述第一温度对应于阈值,并且其中所述第二温度基于对应于将要读取的数据的写入温度。
19.一种方法,包括:
在包括控制器和存储器设备的设备中,执行:
响应于接收在所述存储器设备处执行存储器访问的请求,而确定所述存储器设备具有指示温度跨越的特征;以及
响应于所述确定,通过在所述存储器设备上执行存储器操作来增加所述存储器设备的温度,直到检测到与所述温度有关的状况。
20.根据权利要求19所述的方法,其中执行所述存储器操作包括向所述存储器设备发送指令以启动存储器操作序列。
CN201680069355.3A 2015-09-28 2016-06-10 基于老化状况的存储器裸片温度调节 Active CN108885886B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/867,999 2015-09-28
US14/867,999 US9983922B2 (en) 2015-09-28 2015-09-28 Memory die temperature adjustment based on aging condition
US15/061,702 2016-03-04
US15/061,702 US9875062B2 (en) 2015-09-28 2016-03-04 Memory die temperature adjustment based on aging condition
PCT/US2016/037015 WO2017058305A1 (en) 2015-09-28 2016-06-10 Memory die temperature adjustment based on aging condition

Publications (2)

Publication Number Publication Date
CN108885886A CN108885886A (zh) 2018-11-23
CN108885886B true CN108885886B (zh) 2022-05-31

Family

ID=56148754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680069355.3A Active CN108885886B (zh) 2015-09-28 2016-06-10 基于老化状况的存储器裸片温度调节

Country Status (4)

Country Link
US (2) US9875062B2 (zh)
EP (1) EP3357063B1 (zh)
CN (1) CN108885886B (zh)
WO (1) WO2017058305A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875062B2 (en) * 2015-09-28 2018-01-23 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
US10228872B2 (en) * 2016-03-10 2019-03-12 Toshiba Memory Corporation Semiconductor device, and information-processing device
US9891859B1 (en) * 2016-08-09 2018-02-13 Apple Inc. Systems and methods for managing non-volatile memory based on temperature
KR20190064033A (ko) * 2017-11-30 2019-06-10 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10535383B2 (en) * 2018-02-28 2020-01-14 Sandisk Technologies Llc Throughput performance for cross temperature handling scenarios
US11106391B2 (en) * 2018-04-25 2021-08-31 Micron Technology, Inc. Managing a memory system including memory devices with different characteristics
US10719271B2 (en) 2018-11-16 2020-07-21 Micron Technology, Inc. Temperature correction in memory sub-systems
US11211140B1 (en) * 2019-09-24 2021-12-28 Facebook Technologies, Llc Device authentication based on inconsistent responses
US11062756B2 (en) 2019-10-14 2021-07-13 Western Digital Technologies, Inc. Extending operating temperature of storage device
US11334251B2 (en) * 2019-11-11 2022-05-17 Western Digital Technologies, Inc. SSD operation in a nonoptimal memory environment
CN113448489B (zh) * 2020-03-25 2024-06-18 慧荣科技股份有限公司 控制闪存卡存取的计算机可读取存储介质、方法及装置
US11894071B2 (en) 2021-12-13 2024-02-06 Sandisk Technologies Llc Non-volatile memory with differential temperature compensation for bulk programming
US12094537B2 (en) * 2021-12-13 2024-09-17 Sandisk Technologies Llc Non-volatile memory with differential temperature compensation for super page programming

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0473193A2 (en) * 1990-08-30 1992-03-04 Nec Corporation Semiconductor device having a temperature detection circuit
CN103035282A (zh) * 2011-09-30 2013-04-10 群联电子股份有限公司 存储器储存装置、存储器控制器与温度管理方法
CN103811034A (zh) * 2012-11-07 2014-05-21 西部数据技术公司 磁盘驱动器通过相对温度评估电流预测主轴电机故障

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426649B2 (en) * 2005-02-09 2008-09-16 International Business Machines Corporation Power management via DIMM read operation limiter
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
US7765825B2 (en) * 2005-12-16 2010-08-03 Intel Corporation Apparatus and method for thermal management of a memory device
US20100025811A1 (en) 2006-11-29 2010-02-04 Gary Bronner Integrated circuit with built-in heating circuitry to reverse operational degeneration
US7996725B2 (en) * 2008-11-14 2011-08-09 Nokia Corporation Providing protection for a memory device
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
JP2011028827A (ja) 2009-06-25 2011-02-10 Toshiba Corp 半導体記憶装置
US8472274B2 (en) 2011-03-02 2013-06-25 Apple Inc. Using temperature sensors with a memory device
JP2013050818A (ja) * 2011-08-30 2013-03-14 Toshiba Corp メモリシステム
US8964482B2 (en) 2012-01-30 2015-02-24 Freescale Semiconductor, Inc. Dynamic healing of non-volatile memory cells
US9396755B2 (en) * 2013-02-20 2016-07-19 Kabushiki Kaisha Toshiba Temperature-defined data-storage policy for a hybrid disk drive
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
KR102507769B1 (ko) * 2015-11-04 2023-03-09 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0473193A2 (en) * 1990-08-30 1992-03-04 Nec Corporation Semiconductor device having a temperature detection circuit
CN103035282A (zh) * 2011-09-30 2013-04-10 群联电子股份有限公司 存储器储存装置、存储器控制器与温度管理方法
CN103811034A (zh) * 2012-11-07 2014-05-21 西部数据技术公司 磁盘驱动器通过相对温度评估电流预测主轴电机故障

Also Published As

Publication number Publication date
US10289343B2 (en) 2019-05-14
US9875062B2 (en) 2018-01-23
EP3357063A1 (en) 2018-08-08
US20180143788A1 (en) 2018-05-24
WO2017058305A1 (en) 2017-04-06
US20170090822A1 (en) 2017-03-30
CN108885886A (zh) 2018-11-23
EP3357063B1 (en) 2022-10-12

Similar Documents

Publication Publication Date Title
CN108885886B (zh) 基于老化状况的存储器裸片温度调节
US10379754B2 (en) Memory die temperature adjustment based on a power condition
US10643707B2 (en) Group write operations for a data storage device
US10304559B2 (en) Memory write verification using temperature compensation
US9741444B2 (en) Proxy wordline stress for read disturb detection
US9740425B2 (en) Tag-based wear leveling for a data storage device
US9626312B2 (en) Storage region mapping for a data storage device
US20160162215A1 (en) Meta plane operations for a storage device
US10642681B2 (en) Memory die temperature adjustment based on aging condition
US9251891B1 (en) Devices and methods to conditionally send parameter values to non-volatile memory
WO2017151474A1 (en) Temperature variation compensation of a memory
US9996486B2 (en) Data transfer rate adjustment
US9865360B2 (en) Burn-in memory testing
US9870174B2 (en) Multi-stage programming at a storage device using multiple instructions from a host
US11288201B2 (en) Techniques for performing a non-blocking control sync operation
US9824760B2 (en) Systems and methods of generating shaped random bits
US10372351B2 (en) Techniques for non-blocking control information and data synchronization by a data storage device
US20170090788A1 (en) Memory operation threshold adjustment based on bit line integrity data
US20160357471A1 (en) Scheduling scheme(s) for a multi-die storage device
US10579611B2 (en) Selective event logging
US20160093383A1 (en) Method and apparatus for relocating data in non-volatile memory

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240828

Address after: California, USA

Patentee after: SanDisk Technology Co.

Country or region after: U.S.A.

Address before: California, USA

Patentee before: Western Digital Technologies, Inc.

Country or region before: U.S.A.