具有可配置的性能及缺陷管理的存储器装置的制作方法

文档序号:24159382发布日期:2021-03-05 14:28阅读:110来源:国知局
具有可配置的性能及缺陷管理的存储器装置的制作方法

[0001]
本发明的实施例涉及受管存储器装置,且更具体地涉及一种可提供多种配置以解决存储器系统的多个竞争要求的存储器装置。


背景技术:

[0002]
存储器装置通常经提供作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力来维持数据且包含随机存取存储器(ram)、动态随机存取存储器(dram)或同步动态随机存取存储器(sdram)以及其它存储器。非易失性存储器可通过在未供电时留存所存储数据而提供永久数据,且可包含nand快闪存储器、nor快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、可擦除可编程rom(eprom)及电阻可变存储器,例如相变随机存取存储器(pcram)、电阻式随机存取存储器(rram)及磁阻式随机存取存储器(mram)、3d xpoint
tm
存储器以及其它存储器。
[0003]
存储器单元通常布置成矩阵或阵列。可将多个矩阵或阵列组合到存储器装置中,且可将多个装置组合以形成存储器系统的存储卷,例如固态驱动器(ssd)、通用快闪存储(ufs
tm
)装置、多媒体卡(mmc)固态存储装置,嵌入式mmc装置(emmc
tm
)等,如下文进一步所论述。
[0004]
具有存储器装置的电子系统的实施方案具有不同的要求。例如,可能期望对一个系统的存储器装置的性能予以重视,而可能期望对另一系统的存储器装置的存储器阵列的耐久性予以重视。存储器系统的不同要求之间可能会存在折衷。通常,给定存储器装置专门设计用于在竞争需求之间提供所要折衷。很难提供一种能够满足不同系统需求的存储器装置产品。将从当前已知系统的操作及互操作性中的一个或两个方面的改进中受益。


技术实现要素:

[0005]
本发明的一个方面涉及一种存储器装置,其包括:存储器阵列,其包含存储器单元;接口,其经配置以接收存储器存取请求;及存储器控制单元,其可操作地耦合到所述存储器阵列及所述接口,所述存储器控制单元包括处理器,所述处理器经配置以执行存储在所述存储器装置上的指令,所述指令在由所述处理器执行时致使所述处理器执行以下操作:根据用于存储器存取操作的第一存储器管理协议来控制所述存储器阵列的操作,所述第一存储器管理协议包含用于多个操作条件的边界条件,所述多个操作条件包括编程/擦除(p/e)周期、错误管理操作、每天驱动器写入(dwpd)及功耗;监视所述存储器阵列对所述p/e周期、错误管理操作、dwpd及功耗的操作条件;确定何时满足用于所述多个操作条件中的一个的边界条件;及响应于确定满足用于第一监视操作条件的第一边界条件,改变所述第一存储器管理协议的一或多个操作条件以建立用于所述存储器存取操作的第二存储器管理协议,所述第二存储器管理协议包含第二监视操作条件的改变边界条件。
[0006]
本发明的另一方面涉及一种操作存储器装置的方法,所述方法包括:接收来自主
机装置的对所述存储器装置的存储器阵列的存储器存取请求;根据第一存储器管理协议存取所述存储器装置的所述存储器阵列,所述第一存储器管理协议包含用于多个操作条件的边界条件,所述多个操作条件包括编程/擦除(p/e)周期、错误管理操作、每天驱动器写入(dwpd)及功耗;监视所述存储器阵列对所述p/e周期、错误管理操作、dwpd及功耗的操作条件;确定何时满足用于所述多个操作条件中的一个的边界条件;及响应于确定满足用于第一监视操作条件的第一边界条件,改变所述第一存储器管理协议的一或多个操作条件以建立用于所述存储器存取操作的第二存储器管理协议,所述第二存储器管理协议包含第二监视操作条件的改变边界条件。
[0007]
本发明的又一方面涉及一种系统,其包括:主机装置;及存储器装置,所述存储器装置包含:存储器阵列,其包含存储器单元;接口,其经配置以接收来自所述主机装置的存储器存取请求;存储器控制单元,其可操作地耦合到所述存储器阵列及所述接口,所述存储器控制单元包括处理器,所述处理器经配置以执行存储在所述存储器装置上的指令,所述指令在由所述处理器执行时致使所述处理器执行以下操作:根据用于存储器存取操作的第一存储器管理协议来控制所述存储器阵列的操作,所述第一存储器协议包含用于多个操作条件的边界条件,所述多个操作条件包括编程/擦除(p/e)周期、错误管理操作、每天驱动器写入(dwpd)及功耗;监视所述存储器阵列对所述p/e周期、错误管理操作、dwpd及功耗的操作条件;确定何时满足用于所述多个操作条件中的一个的边界条件;及响应于确定满足用于第一监视操作条件的第一边界条件,改变所述第一存储器管理协议的一或多个操作条件以建立用于所述存储器存取操作的第二存储器管理协议,所述第二存储器管理协议包含第二监视操作条件的改变边界条件。
附图说明
[0008]
在图式(其未必按比例绘制)中,相似编号可在不同视图中描述类似组件。具有不同字母后缀的相似编号可表示类似组件的不同例子。图式通常以实例方式而非限制方式说明本文件中所论述的各种实施例。
[0009]
图1说明根据本文中所描述的一些实例的包含主机及存储器装置的实例系统。
[0010]
图2为根据本文中所描述的一些实例的包含非易失性存储器单元的存储器装置形式的设备的框图。
[0011]
图3为根据本文中所描述的一些实例的操作存储器装置的方法的实例的流程图。
[0012]
图4为根据本文中所描述的一些实例的操作存储器装置的方法的另一实例的流程图。
[0013]
图5为根据本文中所描述的一些实例的操作存储器装置的方法的另一实例的流程图。
[0014]
图6说明根据本文中所描述的一些实例的实例机器的框图。
具体实施方式
[0015]
存储器装置可包含存储器单元阵列。受管存储器装置可包含存储器控制单元,以根据多种存储器管理协议来控制或管理对存储器阵列的存取。这些协议可在安装在存储器控制单元中的固件中实施,且可使用处理电路系统来执行。所述协议中的许多协议可互连,
以使得改变一个协议会影响一或多个其它协议。改变或限制任何一个协议将会对其它因素及系统行为产生影响。常规方法是为特定实施方案开发特定存储器系统。更好的方法为根据实施方案自我调整的存储器管理协议。自调整可响应于存储器系统的所检测到操作状况。
[0016]
存储器装置包含单独的存储器裸片,其可例如包含包含存储区域,所述存储区域包括实施一个(或多个)所选择存储技术的一或多个存储器单元阵列。此类存储器裸片通常将包含用于操作存储器阵列的支持电路系统。有时通常被称为“受管存储器装置”的其它实例包含与控制器功能性相关联的一或多个存储器裸片的组合件,所述控制器功能性经配置以控制一或多个存储器裸片的操作。此类控制器功能性可简化与外部装置的互操作性,如本文中稍后所论述的“主机”装置。在此类受管存储器装置中,控制器功能性可在也併入存储器阵列的一或多个裸片上或在单独的裸片上实施。在其它实例中,一或多个存储器装置可与控制器功能性组合以形成固态驱动器(ssd)存储卷。
[0017]
在实施被称为“受管nand”装置的nand快闪存储器单元的受管存储器装置的实例中描述本发明的实施例。然而,这些实例不限制本发明的范围,本发明的范围可以其它形式的存储器装置及/或以其它形式的存储技术来实施。
[0018]“或非”及“与非”快闪架构半导体存储器阵列两者均通过解码器进行存取,所述解码器通过选择耦合到其栅极的字线来激活特定存储器单元。在“或非”架构半导体存储器阵列中,一旦被激活,所选择存储器单元将其数据值放置在位线上,从而取决于特定单元经编程的状态导致不同电流流动。在“与非”架构半导体存储器阵列中,高偏压被施加到漏极侧选择栅极(sgd)线。以规定通过电压(例如,vpass)驱动耦合到每一组的未选择存储器单元的栅极的字线以操作每一组的未选择存储器单元作为通过晶体管(例如,以未受其所存储数据值限制的方式通过电流)。电流然后通过每一串联耦合组从源极线流动到位线,仅受每一组的选定存储器单元的限制,将选定存储器单元的当前编码数据值放置在位线上。
[0019]“或非”或“与非”架构半导体存储器阵列中的每一快闪存储器单元均可单独或共同经编程为一或多个编程状态。例如,单层级单元(slc)可表示两个编程状态(例如,1或0)中的一个,表示一个数据位。快闪存储器单元也可表示多于两个编程状态,从而允许在不增加存储器单元数目的情况下制造更高密度的存储器,因为每一单元可表示多于一个二进制数字(例如,多于一个位)。此类单元可被称为多状态存储器单元、多位单元或多层级单元(mlc)。在某些实例中,mlc可指代可每单元存储两个数据位(例如,四个编程状态中的一个)的存储器单元,三级单元(tlc)可指代可每单元存储三个数据位(例如,八个编程状态中的一个)的存储器单元,且四级单元(qlc)可每单元存储四个数据位。mlc在本文中在更广泛的上下文中用于指代可每单元存储多于一个数据位(即,其可以表示多于两个编程状态)的任何存储器单元。
[0020]
可根据公认的行业标准来配置及操作受管存储器装置。例如,受管nand装置可为(作为非限制性实例),通用快闪存储(ufs
tm
)装置或嵌入式mmc装置(emmc
tm
)等。例如,在以上实例的状况下,ufs装置可根据联合电子装置工程理事会(jedec)标准(例如,标题为jedec ufs快闪存储3.0等的jedec标准jesd223d)及/或此类标准的更新或后续版本。类似地,可再次根据标题为“jedec emmc标准5.1”的jedec标准jesd84-a51及/或此类标准的更新或后续版本来配置所识别emmc装置。
[0021]
除其它存储装置外,ssd还可用作计算机的主存储装置,相对于具有移动部件的传统硬盘驱动器,例如,在性能、大小、重量、坚固性、操作温度范围及功耗方面具有优势。例如,ssd可减少寻道时间、等待时间或与磁盘驱动器(例如,机电等)相关联的其它延迟。ssd使用非易失性存储器单元(例如,快闪存储器单元)来消除内部电池供电要求,因此允许驱动器更通用及更紧凑。受管存储器装置(例如,受管nand装置)可用作各种形式的电子装置中的主存储器或辅助存储器,且通常在移动装置中使用。
[0022]
ssd及受管存储器装置两者可包含多个存储器装置,包含多个裸片或逻辑单元(例如,逻辑单元号或lun),且可包含执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。此类ssd及受管存储器装置可包含一或多个快闪存储器裸片,其上包含多个存储器阵列及外围电路系统。快闪存储器阵列可以包含组织成多个物理页的多个存储器单元块。在一些实例中,ssd也可包含dram或sram(或其它形式的存储器裸片或其它存储器结构)。类似地,受管nand装置可包含与nand存储阵列分离且在控制器内或与控制器分离的易失性及/或非易失性存储器的一或多个阵列。ssd及受管nand装置两者可从主机接收与存储操作相关联的命令,例如用以在存储器装置与主机之间传送数据(例如,用户数据以及相关联完整性数据,例如错误数据及地址数据等)的读取或写入操作,或用以从存储器装置擦除数据的擦除操作。
[0023]
图1说明包含主机105及存储器装置110的实例系统100。主机105可包含主机处理器、中央处理单元或一或多个其它计算装置、处理器、或控制器。存储器装置110可包含以下装置:通用快闪存储(ufs)装置、嵌入式mmc(emmc
tm
)装置或一或多个其它存储器装置。主机105及存储器装置110可使用通信接口(i/f)115(例如,双向并行或串行通信接口)进行通信。
[0024]
在一实例中,存储器装置110可包含ufs装置,且通信接口115可包含串行双向接口,例如在一或多个联合电子装置工程委员会(jedec)标准(例如,jedec标准d223d(jesd223d),通常被称为jedec ufs主机控制器接口(ufshci)3.0等)中所定义的接口。在另一实例中,存储器装置110可包含emmc
tm
装置,且通信接口115可包含多条并行双向数据线(例如,dat[7:0])及一或多个命令线,例如在一或多个jedec标准(例如,jedec标准d84-b51(jesd84-a51),通常被称为jedec emmc标准5.1等)中所定义的。在其它实例中,存储器装置110可包含一或多个其它存储器装置,或通信接口115可包含一或多个其它接口,此取决于主机105及存储器装置110。所识别标准仅提供作为可利用所描述的方法及结构的实例环境;但此类方法及结构可在已识别标准(或任何实际或建议标准)之外的各种环境中被利用。
[0025]
主机105及存储器装置110中的每一个可包含多个接收器或驱动器电路,其经配置以通过通信接口115发送或接收信号;或包含接口电路,例如数据控制单元、采样电路,或其它中间电路,其经配置以处理待通过通信接口115进行通信的数据或以其它方式处理从通信接口115接收的数据以供主机105、存储器装置110或一或多个其它电路或装置使用。
[0026]
存储器装置110可包含存储器阵列(例如,一或多个存储器单元阵列,例如nand快闪存储器阵列,或一或多个其它存储器阵列)、存储器控制单元,及在某些实例中,包含在存储器阵列及存储器控制单元之间的接口电路。在某些实例中,存储器阵列可包含多个存储器裸片,每一存储器裸片具有与存储器控制单元分离的控制逻辑。存储器控制单元可包含
专用集成电路(asic),现场可编程门阵列(fpga)或一或多个其它处理电路,其经布置或编程以管理去往、来自存储器阵列或在存储器阵列内的数据传送或操作。
[0027]
图2展示适合用作存储器装置(图1中的存储器装置110)的实例存储器装置200的框图。根据本文中所描述的一些实例,存储器装置可包含具有集成在同一集成电路(ic)芯片中的混合存储器单元类型的非易失性存储器单元。存储器装置200可包含含有存储器单元210及285的存储器阵列(或多个存储器阵列)201。在存储器装置200的物理结构中,存储器单元210及285可垂直地布置(例如,彼此堆叠)在存储器装置200的衬底(例如,包含存储器装置200的ic芯片的半导体衬底)上方。存储器单元210及285可包含非易失性单元。存储器单元210及285可具有不同的非易失性存储器单元类型。例如,存储器单元210可包含浮动栅极存储器单元,电荷陷阱存储器单元或其它类型的非易失性存储器单元。存储器单元285可包含铁电存储器单元、相变存储器单元、电阻存储器单元、传导桥存储器单元及自旋转移力矩磁性随机存取存储器(stt-mram)单元,或其它类型的非易失性存储器内存单元。
[0028]
如图2中所展示,存储器单元210及285可布置在例如块290及291的块(存储器单元块)中。块290及291中的每一个可包含子块。例如,块290可包含子块2900及290
n
,且块291可包含子块2910及291
n
。子块2900、290
n
、2910及291
n
中的每一个可包含存储器单元210及285的组合。作为实例,图2展示具有两个块290及291以及每一块中的两个子块的存储器装置200。存储器装置200可具有多于两个块及在每一块中多于两个子块。
[0029]
如在图2中所展示,存储器装置200可包含存取线(其可包含字线)250及数据线(可包含位线)270。接入线250可载运信号(例如,字线信号)wl0至wlm。数据线270可载运信号(例如,位线信号)bl0至bln。存储器装置200可使用存取线250来选择性地存取块290及291的子块2900、290
n
、2910及291
n
,及使用数据线270与块290及291的存储器单元210选择性地交换信息(例如,数据)。
[0030]
存储器装置200可包含地址寄存器207,以在线(例如,地址线)203上接收地址信息(例如,地址信号)addr。存储器装置200可包含可对来自地址寄存器207的地址信息进行解码的行存取电路系统208及列存取电路系统209。基于经解码地址信息,存储器装置200可确定在存储操作期间将存取块290及291的哪些子块中的哪些存储器单元210。存储器装置200可执行读取操作以读取(例如,感测)存储器单元210中的信息(例如,先前所存储的信息),或执行写入(例如,编程)操作以将信息存储(例如,编程)在存储器单元210中。存储器装置200可使用与信号bl0至bln相关联的数据线270,以提供待存储在存储器单元210中的信息,或获得从存储器单元210读取(例如,所感测)的信息。存储器装置200还可执行擦除操作,以擦除来自块290及291的部分或全部存储器单元210的信息。
[0031]
存储器装置200可包含存储器控制单元218(其可包含处理电路系统组件,例如处理器219、状态机(例如,有限状态机)、寄存器电路及其它组件),其经配置以基于线204上的控制信号控制存储器装置200的存储器操作(例如,读取、写入及擦除操作)。线204上的控制信号的实例包含一或多个时钟信号及其它信号(例如,芯片使能信号ce#,写入使能信号we#),以指示存储器装置200可执行哪种操作(例如,读取、写入或擦除操作)。
[0032]
存储器装置200可包含感测及缓冲电路系统220,其可包含例如感测放大器及页缓冲电路(例如,数据锁存器)的组件。感测及缓冲电路系统220可响应于来自列存取电路系统209的信号bl_sel0至bl_seln。感测及缓冲电路系统220可经配置以确定(例如,通过感测)
从块290及291的存储器单元210读取的信息的值(例如,在读取操作期间),并将所述信息的值提供到线(例如,全局数据线)275。传感及缓冲电路系统220也可经配置以使用线275上的信号来基于线275上的信号的值(例如电压值)(例如,在写入操作期间)确定待存储(例如,编程)在块290及291的存储器单元210中的信息的值(例如,在写入操作期间)。
[0033]
存储器装置200可包含输入/输出(i/o)电路系统217,以在块290及291的存储器单元210与线(例如,i/o线)205之间交换信息。在线205上的信号dq0到dqn可表示从块290及291的存储器单元210读取或存储于其中的信息。线205可包含存储器装置200内的节点或存储器装置200可驻存的封装上的引脚(或焊料球)。存储器装置200外部的其它装置(例如,存储控制器、存储器控制单元或处理器)可通过线203、204及205与存储器装置200通信。
[0034]
存储器装置200可接收包含供应电压vcc及vss的供应电压。供应电压vss可以接地电势操作(例如,具有大约零伏的值)。供应电压vcc可包含从外部电源(例如,电池)或交流电到直流(ac-dc)转换器电路系统提供到存储器装置200的外部电压。
[0035]
存储器单元210中的每一个可被单独地或共同地编程为一或多个编程状态。例如,单层级单元(slc)可表示两个编程状态(例如,1或0)中的一个,表示一个数据位。然而,快闪存储器单元也可为表示多于两个编程状态中的一个的多层级单元(mlc),从而允许在不增加存储器单元数目的情况下制造更高密度的存储器,因为每一单元可表示多于一个二进制数字(例如,多于一个位)。
[0036]
在另一实例中,每一存储器单元210可经编程以存储表示多个位的值的信息,例如两个位的四个可能值“00”、“01”、“10”及“11”中的一个,三个位的八个可能值“000”、“001”、“010”、“011”、“100”、“101”、“110”及“111”中的一个,或另一数目的多个位的其它值中的一个。具有存储多个位的能力的单元有时被称为多层级单元(或多状态单元)。mlc在本文中在其更广泛的上下文中用于指代每单元可存储多于一个数据位的任何存储器单元(即,其可表示多于两个的编程状态,包含三级单元(tlc)可指代可每单元可存储三个数据位的存储器单元(八个编程状态中的一个),且四级单元(qlc)可每单元存储四个数据位)。
[0037]
存储器装置200可包含非易失性存储器装置,使得当功率(例如,电压vcc、vss或两者)从存储器装置200断开时,存储器单元210及285可保留存储在其上的信息。例如,存储器装置200可为快闪存储器装置,例如nand快闪(例如,3维(3d)nand)或nor快闪存储器装置,或另一种类存储器装置,例如可变电阻存储器装置(例如,相变存储器装置或电阻式ram(随机存取存储器)装置)。所属领域的普通技术人员可认识到,存储器装置200可包含图2中未展示的其它组件,以便不模糊本文中所描述的实例实施例。
[0038]
存储器装置可会随着时间及/或用途而劣化,此可限制其有效使用寿命。例如,在例如nand存储器的快闪存储装置的状况下,存储器装置可仅被写入有限次数。如果未主动采取措施来管理装置的使用寿命,那么在快闪装置的使用寿命到期时,数据可能会被损坏,或装置可能变得不可用。在nand快闪存储器单元中,每当写入数据时(例如,经由编程操作),电子被俘获到存储器单元,且当数据被移除时(例如,经由擦除操作),电子被取出。每当在编程/擦除(p/e)周期中电子通过隧道氧化物进出时,可能会耗尽隧道氧化物,且因此减少装置的使用寿命。
[0039]
p/e周期可用于量化快闪装置的耐久性。耐久性可表达为每天驱动器写入(dwpd),其测量主机在其生命周期中每天可覆盖写驱动器整个大小的次数。例如,对于大小为200gb
且保修期为5年的ssd,如果dwpd为1,那么在接下来的五年中每天可将200gb写入到装置中。这对应于在预期所述装置故障之前200gb
×
365天
×
5年=365tb累积写入如果dwpd为10,那么每天可将10
×
200gb=2tb写入到装置中。耐久性可替代地表达为已写入的太字节(tbw),其测量整个驱动器使用寿命内可写入到所述驱动器的总数据。例如,对于额定值为365tbw的ssd,在驱动器设置为可更换之前可写入多达365tb数据。厂商可在其规格中提供保证的tbw。可使用tbw及目标使用寿命(例如,目标使用寿命的保修期,例如3到5年)来计算每天的目标写入。例如,对于tbw为120tb且保修期为3年的ssd,目标每日写入可计算为120tb/3年/365天/1024=110gb/天。
[0040]
快闪存储器的正常操作可能涉及存储器单元的大量写入(编程)及擦除。无用信息收集(gc)为一种管理快闪存储器中的存储器利用率的操作。当快闪存储器中的空闲物理空间变小时,gc可恢复存储装置上的可用空间以允许写入新的主机数据。在gc期间,读取含有具有有效数据的页及具有过期数据(无用信息)的页的快闪块。通过写入到另一新块来保留具有有效数据的页。然后,用新位置更新逻辑块地址。标有要删除的过期数据的页保留在旧块中的位置上。然后,将擦除整个旧块(其含有带有过期数据的页)。可将已擦除块添加到空闲块池中,并用于新的传入写入。写入到页及块擦除的此类数据可能导致写入放大(wa)。可使用物理写入到快闪存储器的数据量(物理写入)与主机最初打算写入的数据量(主机写入)之比来确定wa数值度量。实际的物理写入通常比主机写入大,从而导致wa度量大于1。
[0041]
gc操作会消耗快闪存储器中的大量读取/写入带宽。由于gc使用主机已写入的有效日期并再次重写它们,因此可能会导致较大的wa。重复移动数据的物理动作可能会使隧道氧化物的绝缘层降级或磨损,减少nand快闪的使用寿命,并减慢装置的擦除过程。当块擦除失败时,需要使用备用块。最终,当备件用完时,ssd可能会发生故障。
[0042]
另外,如果与主机操作同时执行,gc可大大降低装置性能及用户体验。此外,如果一直执行gc操作,那么存储装置将非常快地消耗掉其所有可用使用寿命,从而导致异常较短使用寿命。替代地,如果装置未充分使用(包含较少装置存取,例如经历dwpd较低),且gc引擎不适应此类未充分使用的装置,那么可能会执行保守的gc活动,这可能会降低装置性能及用户体验。因此,本发明解决实例性存储器管理解决方案,其可在装置耐久性及用户体验的潜在竞争关注之间进行平衡。
[0043]
一个存储器装置很难满足所有使用存储器装置的系统的要求。不同电子系统可具有相互竞争的要求。对存储器装置的要求的一些实例包含高度的存储器单元耐久性或长的装置使用寿命、高性能或速度、低功耗以及保护免受存储器缺陷或从存储缺陷恢复。表1展示可针对存储器装置进行调整的相对存储器能力的实例。
[0044]
表1
[0045][0046]
常规方法为根据特定电子系统的要求定制存储器装置。例如,第一存储器装置(包含已建立的控制器功能性)以用于移动电话或类似应用中;而第二存储器装置可经配置用
于汽车应用。在移动电话应用中,与低功耗(及/或其它考虑因素,例如表1的那些考虑因素)相比,缺陷保护的关注程度可能更低;而在汽车应用中,与例如功耗相比,保护不良可能为主要问题。然而,所需的存储器装置可能具有复杂的架构,所述复杂架构涉及较长的开发时间。另外,开发此类专用存储器装置使制造商及客户两者的存储器装置库存的管理变得复杂,且因此对两者都不利。此外,此类专用存储器装置仍无法解决由于不同使用特性而导致的装置性能及耐久性(例如,相对不频繁使用的移动电话,与例如“高级用户”大量使用的移动电话,两者均需要较大且更频繁的存储器存取)。
[0047]
代替定制存储器装置,本发明解决可配置存储器装置的实例。存储器装置可执行多种存储器管理协议。例如,一种协议可用于设置缺陷保护级别,例如通过存储奇偶性或冗余数据。另一协议可通过设置存储器单元的层级数目(例如,slc、mlc、tlc等)来改变存储器单元的耐久性。在一些实施例中,协议被包含在存储器控制单元的固件的子模块中。在可配置的存储器装置中,可改变固件以实现所需的一组存储器装置要求。更好方法为使存储器管理协议进行自我调整。
[0048]
图3为例如通过相对于图1所描述的存储器装置110或相对于图2所描述的存储器装置200来操作存储器装置的方法300的实例的流程图。在305处,存储器装置接收来自主机装置的对存储器装置的存储器阵列的存储器存取请求。
[0049]
在310处,存储器装置根据第一存储器管理协议存取存储器装置的存储器阵列。第一存储器管理协议可为包含在存储器装置的固件中的多个存储器管理协议中的一个。存储器装置可包含处理器,以执行包含在存储器装置的固件中的指令。执行(executing或performing)指令使处理器执行用于存储器存取操作的存储器管理协议。例如,第一存储器管理协议包含用于多个操作条件的边界条件,例如编程/擦除(p/e)周期,错误管理操作,每天驱动器写入(dwpd)及功耗。边界条件为超出指定性能范围或阈值的条件。其它实例包含用于存储器单元缺陷的数目、存储器错误的数目、存储器阵列或存储器阵列的部分的存取速率的边界条件,以及与存储器单元的耐久性相关联的操作条件的边界条件。
[0050]
在315处,存储器装置监视与响应于存储器存取请求相关联的存储器阵列的操作条件,例如编程/擦除(p/e)周期、错误管理操作,每天驱动器写入(dwpd)以及功耗等。如果存储器控制单元在320处确定一或多个操作条件已满足边界条件中的一或多个,所述存储器控制单元在325处改变第一存储器管理协议的一或多个操作条件以建立存储器存取操作的第二存储器管理协议。第二存储器管理协议包含第二监视操作条件的改变边界条件。
[0051]
例如,存储器控制单元可执行存储器单元缺陷协议作为第一协议。存储器单元缺陷协议可管理在存储器系统的操作期间发生的存储器单元的缺陷。存储器单元缺陷协议可响应于所检测到的存储器单元缺陷来执行错误检测及错误校正中的一或多个。存储器控制单元的处理器可监视激活存储器单元缺陷协议的速率作为第一操作条件。激活速率的改变可指示存储器单元中的缺陷数目的改变。响应于确定存储器单元缺陷协议的激活速率满足边界条件,存储器控制单元可改变一或多个其它(即,第二)操作条件。例如,存储器控制单元可改变针对存储器存取请求经受错误检测的多个存储器单元的数目,对存储器存取请求而存储的奇偶性位的数目以及作为存储器存取请求的一部分所写入的重复数据的量中的一或多个。处理器改变此第二操作条件的边界条件。边界条件的改变可增加或减少针对缺陷的保护级别,以建立调整后的存储器单元缺陷协议作为第二存储器管理协议。如果激活
速率低,那么可降低缺陷保护级别,以释放资源用于其它目的。如果激活速率较高,那么可提高或维持保护级别。
[0052]
如本文中先前所解释,存储器管理协议可为互连的。例如,存储器单元缺陷协议的操作条件可与协议的操作条件互连以管理系统性能。存储器单元缺陷协议可使用独立nand冗余阵列(rain)技术。rain添加扩展超出ecc的用户数据保护。在rain保护中,存储器控制单元可使用并行性以便提高存储器装置的性能并跨一组快闪装置定位所存储数据,此可实现为许多相对较小的快闪装置,以获得与其它存储装置相关联的大容量。此并行性可横跨所述组的多个快闪装置扩散。此可被称为没有奇偶性的条带化数据。不同存储器装置中存储分裂数据的部分统称为条带。rain还可包含镜像,镜像可包含将数据的重复副本存储在多于一个装置的多于一页上。rain阵列中的多个装置可能会对用户及主机装置的操作系统来说好像为单个存储器装置。具有高度的并行性,添加奇偶性保护体系结构增加另一保护层。
[0053]
因为rain条带可为用户数据、其它数据及奇偶性数据的组合,所以奇偶性数据可降低存储器装置存储用户数据的容量,且可影响存储器装置的性能。用于管理系统性能的协议可响应于存储器存取请求来监视存储器装置的操作条件,且可变更rain保护的参数以调整性能。
[0054]
图4为例如通过相对于图1所描述的存储器装置110或相对于图2所描述的存储器装置200来操作存储器装置的方法400的另一实例的流程图。存储器控制单元可以硬件或固件来实施定时器。当在405处定时间隔期满时,在410处,存储器控制单元检查与存储器单元中剩余的使用寿命有关的操作条件是否满足边界条件(例如,如果所述操作条件指示剩余使用寿命大于阈值)。如果在存储器的使用寿命中足够早,那么存储器控制单元可检查是否有机会调整rain保护协议的一或多个操作条件。rain保护协议可具有多种保护模式(例如,保护模式1及保护模式2)。模式1可防止大量故障,且比模式2更为严格。
[0055]
例如,存储器控制单元可检查例如故障计数或故障率之类的故障度量作为与剩余使用寿命有关的操作条件。在415处,如果来自编程的故障大于指定的阈值,那么存储器控制单元在420处将rain保护保持在保护模式1,即较高保护模式。如果在425处读取故障计数也大于指定阈值,那么存储器控制单元可在430处改变数据保留扫描模式。如果在415处来自编程的故障不大于指定阈值,那么在435处存储器控制单元可将rain保护切换到保护模式2,即较低保护模式。在440处,复位定时器,且当定时间隔期满时,再次重新评估rain保护。
[0056]
因为保护模式1更严格,所以模式1可使用更多的系统资源。通过改变为保护模式2,可释放更多资源以用于其它操作。例如,改变保护模式可改变奇偶性数据的位数(改变存储的奇偶性位数或使用奇偶性检查的位数),改变所写入的重复数据量或改变提供到条带的保护。因此,存储器控制单元可自我调整以改变存储器单元缺陷参数以达到所期望的系统性能水平。
[0057]
作为另一实例,用以管理存储器系统性能的存储器管理协议的操作条件可与用以管理存储器耐久性的存储器管理协议的操作条件互连。系统性能管理协议可实施slc高速缓存以调整存储器装置的性能。如先前所描述,存储器装置的存储器单元可经布置为slc或mlc(例如,mlc、tlc、qlc等)。与mlc存储相比,slc单元通常存储较少数据,且以适合用作仅
使用slc存储器单元的存储装置的容量制造存储器装置较不具成本效益。然而,slc存储器单元可提供具有更佳性能及更高的可靠性。例如,可用更少的编程脉冲来写入slc单元,从而减少在编程期间由于意外的功率损耗而损坏的机会。存储器管理的折衷解决方案为使用slc高速缓冲存储器,其中一些单元可经配置为slc,且其它单元经配置为mlc。例如,当存储器装置不忙时(例如,空闲状态),可先将数据写入到slc,且稍后传送到mlc。
[0058]
slc高速缓冲存储器机制可在slc存储器单元的速度及可靠性与mlc存储器单元的存储容量之间取得平衡。存储器单元可通过slc及mlc之间的系统性能协议重新配置,且高速缓冲存储器大小在使用期间可发生变化(动态大小slc高速缓冲存储器)。例如,slc高速缓冲存储器大小可基于存储器装置的容量(装置利用率)而有所不同。随着装置装满,配置为slc高速缓冲存储器的存储器单元将迁移到mlc,以增加总数据存储容量。
[0059]
在设置slc高速缓冲存储器大小时监视主机存取模式允许系统性能管理协议增加slc高速缓冲存储器,以为轻型工作负载用户提供更高的突发性能及更好的用户体验。更轻的工作负荷通常对应于主机装置存取模式,所述主机装置存取模式指示存储器装置未得到充分利用,例如通过不频繁的输入输出(i/o)存取或活动i/o存取状态与空闲状态之间的低转换速率。相比之下,较重的工作负荷通常对应于以更频繁的i/o存取或活动i/o存取状态及空闲状态之间的更高转换速率为特征的主机存取模式在此状况下,系统性能协议可减少slc高速缓冲存储器大小,例如通过将更多slc存储器单元重新分配到mlc存储。通过将大多数主机数据直接写入mlc存储,可减少写入到物理媒体的总数据。
[0060]
用以管理存储器耐久性的协议可监视与存储器单元耐久性有关的操作条件,并基于存储器单元耐久性参数的值来调整与系统性能有关的操作条件。与存储器单元耐久性有关的操作条件的实例为对存储器单元执行的编程周期及擦除周期的数目,或主机装置正在请求p/e周期的速率。基于所请求的p/e周期数目,存储器管理协议可通过改变slc高速缓冲存储器的操作条件进行自我调整,以满足存储器耐久性目标。因此,存储器控制单元可降低系统性能以增加装置使用寿命。
[0061]
图5为例如通过相对于图1所描述的存储器装置110或相对于图2所描述的存储器装置200来操作存储器装置的方法500的另一实例的流程图。在505处,存储器装置接收主机写入请求。响应于写入请求,在510处,存储器控制单元检查系统平均擦除计数的值。平均擦除计数可为指定时间段内取得的平均值。如果平均擦除计数超过指定的平均计数,那么擦除计数可指示存储器单元接近其使用寿命的期限。为了延长使用寿命,可改变一或多个slc高速缓冲存储器参数,以使得降低擦除消耗速率,以实现装置的存储器耐久性目标。
[0062]
在515处,如果系统平均擦除计数小于第一阈值计数(阈值1),那么存储器控制单元不对高速缓存操作进行任何改变。如果系统平均擦除计数大于第一阈值计数,那么在520处,存储器控制单元将系统平均擦除计数检查为第二阈值(阈值2)。如果系统平均擦除计数大于两个阈值计数,那么在525处,存储器控制单元改变一或多个高速缓存操作条件以降低或“节流”擦除速率(节流i)。可通过改变高速缓冲存储器分配来降低擦除速率。例如,可为存储器中的slc分配更少的存储器单元,且可为mlc(或tlc、qlc等)分配更多单元。在另一实例中,可改变对slc高速缓冲存储器的存取策略,以便允许更少的存取请求以使用slc高速缓冲存储器。如果系统平均擦除计数大于第一阈值但小于第二阈值,在530处,存储器控制单元改变一或多个高速缓冲存储器参数以将擦除降低到第二擦除速率(节流ii),所述第二
擦除率可高于节流i率但小于原始擦除速率。在535处,实施新的高速缓冲存储器分配策略,且写入序列在540处继续。
[0063]
可看出,存储器管理协议可尝试通过改变slc高速缓冲存储器分配来达到存储器装置的耐久性目标。因此,存储器装置延长存储器的使用寿命的尝试可与存储器装置的系统性能互连。存储器管理协议可响应于主机的行为(例如,存储器的过度使用或使用不足)而进行自我调整,以提高存储器系统的使用寿命。
[0064]
在另一实例中,用以管理存储器耐久性的协议的操作条件可与用以管理存储器单元缺陷性的协议的操作条件互连。基于存储器单元耐久性有关的操作条件满足边界条件,存储器控制单元可改变以下中的一或多个:针对存储器存取请求经受错误检测的存储器单元的数目、针对所述存储器存取请求所存储的奇偶性位的数目,以及作为存储器存取请求的一部分所写入的重复数据的量。通过减少用于检查存储器单元缺陷性的存储器单元的数目,此可增加存储器使用寿命。
[0065]
在又一实例中,用以管理存储器装置的功耗的协议的操作条件可与用以管理系统性能及存储器单元缺陷协议的操作条件的协议的操作条件互连。功耗管理协议可响应于存储器存取请求来监视与存储器阵列所消耗的功率有关的操作条件。如果与所消耗功率有关的操作条件满足边界条件,那么存储器控制单元可改变以下中的一或多个:经受错误检测的存储器单元的数目、写入到存储器阵列的重复数据的量、所存储的奇偶性位的数目,以及授予存储器存取请求的对存储器单元高速缓冲存储器的存取策略。
[0066]
本文中所描述的方法、装置及系统可减少存储器装置开发的成本及时间。存储器装置通过学习主机装置在存取存储器时的行为来进行自我调整或自我协调。通过存储器装置在存储器装置的整个使用寿命中通过监视操作条件,收集关于系统性能的数据以及使用操作条件及数据作为自调整内存管理协议的输入来优化其存储器管理协议来优化内存系统。
[0067]
图6说明实例机器600的框图,本文中所论述的任何一或多种技术(例如,方法)可在所述机器上执行,例如所描述的用于例如极端操作温度的更精细的编程操作。在替代实例中,机器600可作为独立装置操作,或可连接(例如,联网)到其它机器。在网络部署中,机器600可在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在实例中,机器600可在对等(p2p)(或其它分布式)网络环境中充当对等机器。机器600可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、web器具、iot装置、汽车系统或规定欲由所述机器执行的动作的任何能够执行指令(顺序的或其它方式)的机器。此外,尽管说明仅单个机器,但还应将术语“机器”视为包含个别地或联合地执行一组(或多组)指令以执行本文中所论述的方法(例如,云计算、软件即服务(saas)、其它计算机群集配置)中的任一或多个的任何机器集合。
[0068]
如本文中所描述,实施例及实例可包含逻辑、组件、装置、封装或机制,或可由其操作。电路系统为在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的集合(例如,组)。电路系统隶属关系可随着时间及基础硬件可变性而为灵活的。电路系统包含可在操作时单独或组合地执行特定任务的成员。在实例中,电路系统的硬件可经不变地设计为执行特定操作(例如,硬连线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),包含经物理修改(例如,磁性地、电气地、不变质量
粒子的可移动放置)以对特定操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件构成的基础电性质例如从绝缘体改变成导体,或反之亦然。指令使得参与的硬件(例如,执行单元或加载机制)能够经由变量连接在硬件中创建电路系统的成员,以在操作时执行特定任务的部分。因此,当装置正在操作时,计算机可读媒体通信地耦合到电路系统的其它组件。在实例中,物理组件中的任何一个可在多于一个电路系统的多于一个成员中使用。例如,在操作中,执行单元可在一个时间点在第一电路系统的第一电路中使用,且可在不同时间被第一电路系统中的第二电路或第二电路系统中的第三电路重新使用。
[0069]
机器(例如,计算机系统)600(例如,主机105、图1的存储器装置110等)可包含处理装置602(例如,硬件处理器、中央处理器(cpu)、图形处理单元(gpu)、硬件处理器核心或其任意组合,例如存储器装置110的存储控制单元等)、主存储器604(例如只读存储器(rom)、快闪存储器、动态随机存取存储器(dram)(例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器606(例如,快闪存储器、静态随机存取存储器(sram)等),以及数据存储系统618,其中一些或全部可经由互连链路(例如,总线)630彼此通信。
[0070]
处理装置602可表示一或多个通用处理装置,例如微处理器、中央处理单元,等等。更具体地,处理装置602可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集组合的处理器。处理装置602还可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器,等等。处理装置602可经配置以执行用于执行本文中所论述的操作及步骤的指令626。机器600可进一步包含网络接口装置608以经由网络620进行通信。
[0071]
数据存储系统618可包含机器可读存储媒体624(也被称作为计算机可读媒体),其上存储体现本文中所描述的方法或功能中的任何一或多者的一或多个集合的指令626或软件。指令626还可在机器600执行所述指令期间完全或至少部分地驻留在主存储器604内及/或处理装置602内,主存储器604及处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618或主存储器604可对应于图1的存储器装置60。在一个实施方案中,指令626包含指令611,以实施与自调整存储器管理协议相对应的功能性(例如,图3的操作)。
[0072]
虽然机器可读存储媒体624在实例实施方案中被展示为单个媒体,但是术语“机器可读存储媒体”应被视为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码指令集以供机器执行且使机器执行本发明的方法的任何一或多者的任何媒体。因此,术语“机器可读存储媒体”应被视为包含但不限于固态存储器、光学媒体及磁媒体。在实例中,有质量的机器可读媒体包括具有多个具有不变(例如,静止)质量的粒子的机器可读媒体。因此,有质量的机器可读媒体不是暂时性传播信号。有质量的机器可读媒体的特定实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom))及快闪存储器装置;磁盘,例如内部硬盘及可移动磁盘;磁光盘;以及cd-rom及dvd-rom磁盘。
[0073]
机器600可进一步包含显示单元、字母数字输入装置(例如,键盘)及用户界面(ui)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或ui导航装置中的一或多个可为触摸屏显示器。所述机器为信号生成装置(例如,扬声器)或一或多个传感器,例如全球定位系
统(gps)传感器、指南针、加速度计或一或多个其它传感器。机器600可包含输出控制器,例如串行(例如,通用串行总线(usb)、并行或其它有线或无线(例如,红外线(ir)、近场通信(nfc)等)连接以与一或多个外围装置(例如,打印机、读卡器等)进行通信或控制所述一或多个外围装置。
[0074]
可通过主存储器604存取存储在数据存储装置618上的指令626(例如,软件、程序、操作系统(os)等)或其它数据,以供由处理装置602使用。主存储器604(例如,dram)通常较快速但易失的,且因此与数据存储装置618(例如,ssd)不同类型的存储,其适合于长期存储,包含处于“关闭”状态时。用户或机器600正在使用的指令626或数据通常被加载到主存储器604中,以供由处理装置602使用。当主存储器604已满时,可分配来自数据存储装置618的虚拟空间以补充主存储器604;然而,由于数据存储装置618装置通常比主存储器604慢,且写入速度通常比读取速度慢至少两倍,因此,使用虚拟存储器可能由于存储装置等待时间而大大降低用户体验(与主存储器604,例如dram相比)。此外,将数据存储装置618用于虚拟存储器可大大地减少存储装置618的可用使用寿命。
[0075]
与虚拟存储器相比,虚拟存储器压缩(例如,linux
tm
内核特征“zram”)使用存储器的一部分作为压缩块存储,以避免分页到数据存储装置618。在压缩块中进行分页,直到有必要将此类数据写入到数据存储装置618。虚拟存储器压缩增加主存储器604的可用大小,同时减少数据存储装置618上的磨损。
[0076]
针对移动电子装置或移动存储进行优化的存储装置,传统上包含mmc固态存储装置(例如,微型安全数字(microsd
tm
)卡等)。mmc装置包含与主机(例如,主机装置)的许多并行接口(例如,8位并行接口),且通常为可移动的且与主机分离的组件。相反,emmc
tm
装置附接到电路板上并被视为主机的组件,其中读取速度可与基于串行ata
tm
(串行at(高级技术)附件或sata)的ssd装置相媲美。然而,对移动装置性能的需求不断提高,例如为完全启用虚拟或增强现实装置,利用不断增长的网络速度等。响应于此需求,存储装置已从并行通信接口转换为串行通信接口。通用快闪存储(ufs)装置(包含控制器及固件)使用具有专用读取/写入路径的低压差分信号(lvds)串行接口与主机进行通信,从而进一步提高读取/写入速度。
[0077]
可进一步使用传输媒体经由利用多种传送协议(例如,帧中继、互联网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传送协议(http)等)中的任何一个的网络接口装置608在网络620上传输或接收指令624。实例通信网络可包含局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(pots)网络,及无线数据网络(例如,被称为的电气及电子工程师协会(ieee)802.11标准系列,被称为的ieee 802.16标准系列),ieee 802.15.4标准系列,对等(p2p)网络,以及其它网络。在实例中,网络接口装置608可包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线以连接到网络620。在实例中,网络接口装置608可包含多个天线,以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一个进行无线通信。术语“传输媒体”应被视为包含能够存储、编码或运载由机器600执行的指令的任何无形媒体,且包含数字或模拟通信信号或其它无形媒体以促进此类软件的通信。
[0078]
以上详细描述包含对形成所述详细描述的部分的附图的参考。所述图式以说明方
式展示其中可实践本发明的具体实施例。这些实施例在本文中也被称为“实例”。除了所展示或所描述的那些元素之外,这些实例还可包含若干元素。然而,本发明者还设想其中仅提供了所展示或描述的那些元件的实例。此外,本发明者还预期使用关于特定实例(或其一或多个方面)或关于本文中所展示或所描述的其它实例(或其一或多个方面)所展示或所描述的那些元素的任何组合或排列的实例(或其一或多个方面)。
[0079]
在本文件中,如在专利文件中常见,使用术语“一(a或an)”来包含一个或多于一个,独立于任何其它例子或“至少一个(at least one)”或“一或多个(one or more)”的使用。在此文件中,除非另有指示,否则使用术语“或”来指代非排他性,或使得“a或b”可包含“a但非b”、“b但非a”以及“a及b”。在所附权利要求书中,将术语“包含(including)”及“其中(in which)”用作相应术语“包括(comprising)”及“其中(wherein)”的普通英语等效形式。另外,在以下权利要求中,术语“包含”及“包括”是开放式的。在权利要求中除列于此术语之后的那些元素以外还包含若干元素的系统、装置、物品或进程仍被视为归属于所述权利要求的范围内。此外,在下文权利要求书中,术语“第一”、“第二”及“第三”等仅用作标记,且并不打算对其对象施加数字要求。
[0080]
在各种实例中,本文中所描述的组件、控制器、处理器、单位、引擎或表除其它外还可以包含存储在物理装置上的物理电路或固件。如本文中所使用,“处理器”意指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(dsp)或者任何其它类型的处理器或处理电路,包含一组处理器或多核装置。
[0081]
如本文中所使用,操作存储器单元包含从存储器单元读取,写入到存储器单元或擦除存储器单元。将存储器单元置于预期状态的操作在本文中被称为“编程”,且可以包含写入到存储器单元或从存储器单元擦除(例如,存储器单元可以被编程为擦除状态)两者。
[0082]
根据本发明的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、通信、调适、派生、定义、利用、修改、应用等)一定数量的磨损周期或磨损状态(例如,记录磨损周期、在发生存储器装置的操作时对其进行计数,追踪其启动的存储器装置的操作,评估与磨损状态相对应的存储器装置特性,等)。
[0083]
根据本发明的一或多个实施例,一种存储器存取装置可以经配置以随每一存储器操作向所述存储器装置提供磨损周期信息。存储器装置控制电路(例如,控制逻辑)可以经编程以补偿与磨损周期信息相对应的存储器装置性能改变。存储器装置可接收磨损周期信息并响应于所述磨损周期信息来确定一或多个操作参数(例如,值、特性)。
[0084]
本文中所描述的方法实例可为至少部分地机器、装置或计算机实施。一些实例可包含用指令编码的计算机可读媒体、装置可读媒体,或机器可读媒体,其中所述指令可操作以配置电子装置以执行如在以上实例中所描述的方法。此类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等。此类代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,例如在执行期间或在其它时间,所述代码可有形地存储在一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可能包含(但不限于)硬盘、可移移动磁盘、可移动式光盘(例如,压缩磁盘及数字视频磁盘)、磁带盒、存储卡或存储条、随机存取存储器(ram)、只读存储器(rom)、固态驱动器(ssd)、通用快闪存储器(ufs)、嵌入式mmc(emmc)装置,等等。
[0085]
其它说明及实例
[0086]
实例1可包含标的物(例如,存储器装置),所述标的物包括存储器阵列,其包含存储器单元;接口,其经配置以接收存储器存取请求;及存储器控制单元,其可操作地耦合到所述存储器阵列及所述接口。所述存储器控制单元包含处理器,所述处理器经配置以执行存储在所述存储器装置上的指令,所述指令在由所述处理器执行时致使所述处理器执行以下操作:根据用于存储器存取操作的第一存储器管理协议控制所述存储器阵列的操作,所述第一存储器管理协议包含用于多个操作条件的边界条件,所述操作条件包括编程/擦除(p/e)周期、错误管理操作、每天驱动器写入(dwpd)及功耗;监视所述存储器阵列对所述p/e周期、错误管理操作、dwpd及功耗的操作条件;确定何时满足用于所述多个操作条件中的一个的边界条件;及响应于确定满足用于第一监视操作条件的第一边界条件,改变所述第一存储器管理协议的一或多个操作条件以建立用于所述存储器存取操作的第二存储器管理协议,所述第二存储器管理协议包含第二监视操作条件的改变边界条件。
[0087]
在实例2中,实例1的标的物任选地包含第一存储器管理协议,所述第一存储器管理协议包含存储器单元缺陷协议。处理器任选地经配置以执行使所述处理器执行以下操作的指令:监视激活所述存储器单元缺陷协议的激活速率;及通过响应于所确定存储器单元缺陷协议激活速率而改变以下各项中的一或多个来建立所述第二存储器管理协议:针对存储器存取请求经受错误检测的多个存储器单元的数目,针对存储器存取请求所存储的奇偶性位的数目以及作为所述存储器存取请求的一部分所写入的重复数据的量。
[0088]
在实例3中,实例1及2中的一个或两个的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:监视响应于所述存储器存取请求而执行的所述存储器阵列的p/e周期的速率;及通过根据p/e周期的所确定速率改变所述存储器存取请求对存储器单元高速缓冲存储器的存取策略,建立所述第二存储器管理协议。
[0089]
在实例4中,实例3的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:通过根据所述p/e周期的所述所确定速率将单层级单元(slc)高速缓冲存储器中所包含的存储器单元重新分配到多层级单元(mlc),建立所述第二存储器管理协议。
[0090]
在实例5中,实例1到4中的一个或任何组合的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:监视所述存储器阵列对存储器单元耐久性的操作条件;及通过根据所述存储器阵列对存储器单元耐久性的所确定操作条件改变赋予所述存储器存取请求对多个单层级单元(slc)及多层级单元(mlc)的存取,建立所述第二存储器管理协议。
[0091]
在实例6中,实例1到5中的一个或任何组合的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:监视所述存储器阵列对存储器单元耐久性的操作条件;及通过根据所述存储器阵列对存储器单元耐久性的所确定操作条件改变以下各项中的一或多个来建立所述第二存储器管理协议:针对存储器存取请求经受错误校正的存储器单元的数目、针对所述存储器存取请求所存储的奇偶性位的数目及作为所述存储器存取请求的一部分所写入的重复数据的量。
[0092]
在实例7中,实例1到6中的一个或任何组合的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:通过根据所述存储器阵列对功耗的所确定操
作条件改变以下各项中的一或多个来建立所述第二存储器管理协议:经受错误检测的存储器单元的数目、写入到所述存储器阵列的重复数据的量、所存储的奇偶性位的数目以及授予所述存储器存取请求的对存储器单元高速缓冲存储器的存取策略。
[0093]
实例8可包含标的物(例如,操作存储器装置的方法),或可任选地与实例1到7中的一个或任何组合的标的物组合以包含此类标的物,所述标的物包括:接收来自主机装置的对所述存储器装置的存储器阵列的存储器存取请求;根据第一存储器管理协议存取所述存储器装置的所述存储器阵列,所述第一存储器管理协议包含用于多个操作条件的边界条件,所述操作条件包括编程/擦除(p/e)周期、错误管理操作、每天驱动器写入(dwpd)及功耗;监视所述存储器阵列对所述p/e周期、错误管理操作、dwpd及功耗的操作条件;确定何时满足用于所述多个操作条件中的一个的边界条件;及响应于确定满足第一监视操作条件的第一边界条件,改变所述第一存储器管理协议的一或多个操作条件以建立用于所述存储器存取操作的第二存储器管理协议,所述第二存储器管理协议包含第二监视操作条件的改变边界条件。
[0094]
在实例9中,实例8的标的物任选地包含监视存储器单元缺陷的水平;及根据存储器单元缺陷的所确定水平,改变存储在所述存储器阵列中的奇偶性位的数目,及改变存储在所述存储器阵列中的重复数据的量。
[0095]
在实例10中,实例8及9中的一个或两个的标的物任选地包含确定存储器单元缺陷的水平;及根据存储器单元缺陷的所确定水平,改变经受错误检测的存储器单元的数目。
[0096]
在实例11中,实例8到10中的一个或任何组合的标的物任选地包含监视存储器单元存取速率;及根据所确定存储器单元存取速率,改变所述存储器存取请求对存储器单元缓存的存取策略。
[0097]
在实例12中,实例8到11中的一个或任何组合的标的物任选地包含监视存储器单元存取速率;及将单层级单元(slc)高速缓冲存储器中的存储器单元重新分配到多层级单元(mlc)存储。
[0098]
在实例13中,实例8到12中的一个或任何组合的标的物任选地包含:监视对存储器单元耐久性的所述操作条件;及根据所述存储器阵列对存储器单元耐久性的所确定操作条件改变赋予所述存储器存取请求对多个单层级单元(slc)及多层级单元(mlc)的存取。
[0099]
在实例14中,实例8到13的一个或任何组合的标的物任选地包含:监视对存储器单元耐久性的所述操作条件;及根据所述存储器阵列对存储器单元耐久性的所确定操作条件改变以下各项中的一或多个:针对所述存储器存取请求经受错误校正的存储器单元的数目、针对所述存储器存取请求所存储的奇偶性位的数目及作为所述存储器存取请求的一部分所写入的重复数据的量。
[0100]
在实例15中,实例8到14中的一个或任何组合的标的物任选地包含:响应于所述存储器存取请求而确定所述存储器阵列的功耗;及根据所确定功耗改变以下各项中的一或多个:经受错误检测的存储器单元的数目、写入到所述存储器阵列的重复数据的量、所存储的奇偶性位的数目以及授予所述存储器存取请求的对存储器单元高速缓冲存储器的存取策略。
[0101]
实例16可包含标的物(例如系统),或可任选地与实例1到15的一个或任意组合组合以包含此类标的物,包含主机装置及存储器装置。存储器装置包含:存储器阵列,其包含
存储器单元;接口,其经配置以接收来自主机装置的存储器存取请求;及存储器控制单元,其可操作地耦合到存储器阵列及接口。存储器控制单元包含处理器,所述处理器经配置以执行存储在所述存储器装置上的指令,所述指令在由所述处理器执行时致使所述处理器执行以下操作:根据用于存储器存取操作的第一存储器管理协议控制所述存储器阵列的操作,所述第一存储器协议包含用于多个操作条件的边界条件,所述操作条件包括编程/擦除(p/e)周期、错误管理操作、每天驱动器写入(dwpd)及功耗;监视所述存储器阵列对所述p/e周期、错误管理操作、dwpd及功耗的操作条件;确定何时满足用于所述多个操作条件中的一个的边界条件;及响应于确定满足第一监视操作条件的第一边界条件,改变所述第一存储器管理协议的一或多个操作条件以建立用于所述存储器存取操作的第二存储器管理协议,所述第二存储器管理协议包含第二监视操作条件的改变边界条件。
[0102]
在实例17中,实例16的标的物任选地包含第一存储器管理协议,所述第一存储器管理协议包含存储器单元缺陷协议。处理器任选地经配置以执行使所述处理器执行以下操作的指令:监视激活所述存储器单元缺陷协议的激活速率;及通过响应于所确定存储器单元缺陷协议激活速率而改变以下各项中的一或多个来建立所述第二存储器管理协议:针对存储器存取请求经受错误检测的多个存储器单元的数目,针对存储器存取请求所存储的奇偶性位的数目以及作为所述存储器存取请求的一部分所写入的重复数据的量。
[0103]
在实例18中,实例16及17中的一个或两个的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:监视由所述主机装置所请求的p/e周期的速率;及通过根据p/e周期的所确定速率改变所述存储器存取请求对存储器单元高速缓冲存储器的存取策略,建立所述第二存储器管理协议。
[0104]
在实例19中,实例16到18中的一个或任何组合的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:监视所述存储器阵列对存储器单元耐久性的操作条件;及通过根据所述存储器阵列对存储器单元耐久性的所确定操作条件改变赋予所述存储器存取请求对多个单层级单元(slc)及多层级单元(mlc)的存取,建立所述第二存储器管理协议。
[0105]
在实例20中,实例16到19中的一个或任何组合的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:监视所述存储器阵列对存储器单元耐久性的操作条件;及通过根据所述存储器阵列对存储器单元耐久性的所确定操作条件改变以下各项中的一或多个来建立所述第二存储器管理协议:针对存储器存取请求经受错误校正的存储器单元的数目、针对所述存储器存取请求所存储的奇偶性位的数目及作为所述存储器存取请求的一部分所写入的重复数据的量。
[0106]
在实例21中,实例16到20中的一个或任何组合的标的物任选地包含处理器,其经配置以执行致使所述处理器执行以下操作的指令:通过根据所述存储器阵列对功耗的所确定操作条件改变以下各项中的一或多个来建立所述第二存储器管理协议:经受错误检测的存储器单元的数目、写入到所述存储器阵列的重复数据的量、所存储的奇偶性位的数目以及授予所述存储器存取请求的对存储器单元高速缓冲存储器的存取策略。
[0107]
这些非限制性实例可以任何排列或组合来组合。上文描述打算为说明性而非限制性。举例来说,上文所描述的实例(或者其一或多个方面)可以彼此组合方式使用。例如,所属领域的技术人员可在审阅上文描述后即刻使用其它实施例。提交本摘要是基于以下理
解:其将不被用于解释或限制权利要求书的范围或含义。此外,在以上具体实施方式中,各种特征可分组在一起以简化本发明。此不应解释为意指未主张的所揭示特征对任一权利要求为必要的。而是,发明性标的物可在于少于特定所揭示实施例之所有特征。因此,以下权利要求书特此并入到详细描述中,其中每一权利要求独立地作为单独的实施例,且可以预期,此类实施例可以各种组合或排列彼此组合。本发明的范围应参考所附权利要求书连同此权利要求书授权的等效物的全部范围来确定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1