用于在储存装置中调整跳闸点的系统和方法与流程

文档序号:11891133阅读:368来源:国知局
用于在储存装置中调整跳闸点的系统和方法与流程

公开的实施例一般地涉及存储器系统,并且具体地涉及调整储存装置中的跳闸点。



背景技术:

半导体存储器装置,包括闪速存储器,通常利用存储器单元来将数据储存为电的值,诸如电荷或电压。闪速存储器单元,例如包括具有被用于储存数据值的电荷表示的浮置栅极的单个晶体管。闪速存储器是可以被电擦除和重新编程的非易失性数据储存装置。更一般地,非易失性存储器(例如,闪速存储器,以及使用任何的多种技术实现的其它类型的非易失性存储器)即使在没有电源时保留储存的信息,与易失性存储器相反,易失性存储器需要电源来维持储存的信息。



技术实现要素:

在所附权利要求的范围中的系统、方法和装置的各种实现方式的每一个具有几个方面,没有其单个仅仅对这里所述的属性负责。在不限制所附权利要求的范围的情况下,在考虑本公开之后,并且特别是在考虑名称为“具体实施方式”的章节之后,人们将理解各种实现方式的方面如何被用于基于数据储存装置的一个或多个配置参数(例如,输入或电源电压)来调整用于触发电源故障过程的跳闸点。

附图说明

为了可以更加详细地理解本公开,可以具有参考各种实现方式的特征的更加特定的描述,一些实现方式在附图中说明。但是,附图仅示出了本公开的更加相关的特征并且从而不被认为是限制性的,因为说明书可能认可其他有效的特征。

图1是示出根据一些实施例的数据储存系统的实现方式的框图。

图2A是示出根据一些实施例的监测控制器的实现方式的框图。

图2B是示出根据一些实施例的储存控制器的实现方式的框图。

图2C是示出根据一些实施例的非易失性存储器(NVM)控制器的实现方式的框图。

图3是示出根据一些实施例的数据储存装置的一部分的框图。

图4A是示出根据一些实施例的电压监控电路的一部分的实现方式的框图。

图4B是示出根据一些实施例的电压监控电路的一部分的实现方式的框图。

图5是示出根据一些实施例的数据硬化模块的实现方式的框图。

图6A-6C示出了在根据一些实施例的数据储存装置中调整跳闸点的方法的流程图表示。

根据惯例,在附图中示出的各种特征可能未按比例绘制。相应地,为了清晰,各种特征的大小可以任意地扩大或减小。此外,一些附图可能没有绘制给定系统、方法或装置的所有组件。最后,贯穿说明书和附图,相似的附图标记可以被用于表示相似的特征。

具体实施方式

这里所述的各种实现方式包括用于基于储存装置的一个或多个配置参数调整触发电源故障过程的跳闸点的系统、方法和/或装置。例如,根据一些实施例,在被配置为与允许主机系统提供多个电源电压的一个到储存装置的接口标准(例如,DDR3)兼容的储存装置中,储存装置被配置为根据由主机系统提供的(一个或多个)电源电压调整触发电源故障过程的跳闸点。

更具体地,一些实施例包括,在储存装置中调整跳闸点的方法。在一些实施例中,方法在与主机系统可操作地耦接的储存装置中进行。方法包括:获得一个或多个配置参数;以及基于所述一个或多个配置参数,确定跳闸电压。方法还包括,将该跳闸电压与输入电压比较。方法还包括,根据该输入电压小于该跳闸电压(或在一些情形中,大于跳闸电压)的决定来触发电源故障条件。

一些实施例包括储存装置,该储存装置包括:主机接口,被配置为将储存装置与主机系统耦接;具有一个或多个处理器和存储器的监测控制器;用于检测电源故障条件的电源故障模块;以及用于管理一个或多个非易失性存储器装置的多个控制器。储存装置被配置为进行这里所述的任何方法的操作。

一些实施例包括储存装置,该储存装置包括:主机接口,被配置为将储存装置与主机系统耦接;以及用于进行这里所述的任何方法的操作的构件。

一些实施例包括,非瞬时性计算机可读储存介质,储存用于由储存装置的一个或多个处理器执行的一个或多个程序,一个或多个程序包括用于进行这里所述的任何方法的操作的指令。

在这里描述许多细节以便于提供对在附图中示出的示例实现方式的透彻理解。但是,可以不需要许多特定细节而实施一些实施例,并且权利要求的范围仅由在权利要求中特别记述的那些特征和方面限制。此外,没有以详尽的细节描述已知的方法、组件和电路,以便不必要地混淆这里所述的实现方式的更加相关的方面。

图1是示出根据一些实施例的数据储存系统100的实现方式的框图。尽管示出了一些示例特征,但是为了简洁性的原因各种其它特征没有被示出,并且从而不与这里所公开的示例实现方式的更加相关的方面混淆。为此,作为非限制性示例,数据储存系统100包括储存装置120,该储存装置120包括主机接口122、监测控制器124、电源故障模块126、电源控制127、储存控制器128(有时称为存储器控制器)、一个或多个非易失性存储器(NVM)控制器130(例如,NVM控制器130-1到NVM控制器130-m)以及非易失性存储器(NVM)(例如,一个或多个NVM装置140、142——诸如一个或多个闪速存储器装置),并且与计算机系统110结合使用。

计算机系统110通过数据连接101与储存装置120耦接。但是,在一些实施例中,计算机系统110包括作为组件和/或子系统的储存装置120。计算机系统110可以是任何合适的计算装置——诸如个人计算机、工作站、计算机服务器或者任何其它计算装置。计算机系统110有时被称为主机或主机系统。在一些实施例中,计算机系统110包括一个或多个处理器、一个或多个类型的存储器,可选地包括显示器和/或其它用户接口组件,诸如键盘、触摸屏、鼠标、触控板、数码相机和/或任何数量的补充装置以添加功能。此外,在一些实施例中,计算机系统110在控制线111上将一个或多个主机命令(例如,读取命令和/或写入命令)发送到储存装置120。在一些实施例中,计算机系统110是服务器系统——诸如数据中心中的服务器系统——并且不具有显示器以及其它用户接口组件。

在一些实施例中,储存装置120包括单个NVM装置,而在其它实现方式中,储存装置120包括多个NVM装置。在一些实施例中,NVM装置140、142包括NAND型闪速存储器或NOR型闪速存储器。此外,在一些实施例中,NVM控制器130是固态驱动器(SSD)控制器。但是,根据多种实现方式的方面,可以包括一个或多个其它类型的储存介质。在一些实施例中,储存装置120是或者包括双列直插式存储器模块(DIMM)装置。在一些实施例中,储存装置120与DIMM存储器槽兼容。例如,储存装置120与240-针DIMM存储器槽兼容并且与根据DDR3接口规格的信令兼容。

在一些实施例中,储存装置120包括NVM装置140、142(例如,NVM装置140-1到140-n和NVM装置142-1到142-k)以及NVM控制器130(例如,NVM控制器130-1到130-m)。在一些实施例中,NVM控制器130的每个NVM控制器包括一个或多个处理单元(有时称为CPU或处理器),该处理单元被配置为执行一个或多个程序(例如,在NVM控制器130中)中的指令。在一些实施例中,一个或多个处理器由NVM控制器130的功能中的、以及在一些情况中超过NVM控制器130的功能的一个或多个组件共享。NVM装置140、142通过连接与NVM控制器130耦接,该连接通常除了数据以外还传送命令,并且可选地,除了将被储存在NVM装置140、142中的数据值以及从NVM装置140、142读取的数据值以外,还传送元数据、误差校正信息和/或其它信息。例如,NVM装置140、142可以被配置为用于适用于诸如云计算的应用的企业储存、或用于缓存储存在(或将被储存在)诸如硬盘驱动器的二级储存中的数据。此外和/或可替换地,闪速存储器(例如,NVM装置140、142)还可以被配置为相对小规模的应用,诸如个人闪速驱动器或用于个人、膝上型和平板计算机的硬盘替换。尽管闪速存储器装置和闪速控制器被用作这里的示例,但在一些实施例中,储存装置120包括其它(一个或多个)非易失性存储器装置和相应的(一个或多个)非易失性储存控制器。

在一些实施例中,储存装置120还包括主机接口122、监测控制器124、电源故障模块126、电源控制127和储存控制器128。储存装置120可以包括为了简洁而没有示出各种附加的特征以便于不混淆这里公开的示例实现方式的更加相关的特征,并且特征的不同的布置是可能的。主机接口122通过数据连接101提供到计算机系统110的接口。

监测控制器124与主机接口122、电源故障模块126、电源控制127、储存控制器128和NVM控制器130(未示出连接)耦接,以便于协调这些组件的操作,包括监测和控制功能——诸如通电、断电、数据硬化、充电(一个或多个)能量储存装置、数据记录和储存装置120上的管理功能的其它方面。监测控制器124经由序列存在检测(SPD)总线154与主机接口122耦接并且从主机接口122接收电源电压线VSPD 156。VSPD 156是标准化的电压(例如,通常3.3V)。序列存在检测(SPD)指自动地访问关于计算机存储器模块(例如,储存装置120)的信息的标准化的方式。在一些实施例中,如果存储器模块具有故障,该故障可以经由SPD总线154与主机系统(例如,计算机系统110)通信。

电源故障模块126与主机接口122、监测控制器124和电源控制127耦接。电源故障模块126被配置为监控由主机系统(例如,计算机系统110)提供到储存装置120的一个或多个输入电压(例如,Vdd 152,并且可选地,VSPD 156)。响应于检测关于输入电压的电源故障条件(例如,电压不足或者电压过度的事件),电源故障模块126被配置为将PFAIL信号提供到监测控制器124,并且在一些情形中,放电能量储存装置以向储存控制器128和NVM控制器130提供电源。对于电源故障模块126的更加详细的描述,见图3-5的描述。响应于从电源故障模块126接收指示电源故障条件的PFAIL信号,监测控制器124进行电源故障过程的一个或多个操作,包括但不限于,经由控制线162在储存装置120(例如,储存控制器128和NVM控制器130)上向多个控制器发送电源故障条件的信号。

电源控制127与监测控制器124、电源故障模块126、储存控制器128和NVM控制器130(未示出连接)耦接以便于为这些组件提供电源。在一些实施例中,电源控制127包括经由控制线162由监测控制器124控制的一个或多个电压调节器。此外,在一些实现方式中,电源控制127被配置为响应于经由控制线162来自监测控制器124的命令,从指定的NVM控制器130移除电源。

储存控制器128与主机接口122、监测控制器124、电源控制127和NVM控制器130耦接。在一些实施例中,在写入操作期间,储存控制器128经由数据总线158从计算机系统110通过主机接口122接收数据,并且在读取操作期间,储存控制器128经由数据总线158通过主机接口122将数据发送到计算机系统110。此外,主机接口122提供在储存控制器128和计算机系统110之间的通信所需的附加的数据、信号、电压和/或其它信息。在一些实施例中,储存控制器128和主机接口122使用用于通信的限定的接口标准——诸如双数据率型三同步动态随机存取存储器(DDR3)。在一些实施例中,储存控制器128和NVM控制器130使用用于通信的限定的接口标准——诸如串行高级技术附件(SATA)。在一些其它实现方式中,由储存控制器128使用以与NVM控制器130通信的装置接口是SAS(串行附接的SCSI),或其它储存接口。在一些实施例中,储存控制器128将来自主机系统(例如,计算机系统1120)的DDR接口命令映射到用于多个控制器(例如,储存控制器128和NVM控制器130)的SATA或SAS接口命令。

图2A是示出根据一些实施例的监测控制器124的实现方式的框图。监测控制器124包括,用于执行储存在存储器206中的模块、程序和/或指令的一个或多个处理器202(有时称为CPU或处理单元),并且从而进行处理操作;序列存在检测(SPD)模块205(例如,非易失性存储器),储存与储存装置120(例如,序列号,存储器类型,支持的通信协议等)有关的信息;存储器206;可选地用于将数字值转换到模拟信号(例如,集成的或者部分集成的DAC/ADC的一部分)的数字到模拟转换器(DAC)204;以及一个或多个通信总线208,用于互联这些组件。通信总线208,可选地包括互联和控制在系统组件之间的通信的电路(有时称为芯片组)。监测控制器124通过通信总线208与主机接口122、电源故障模块126、电源控制127、储存控制器128和NVM控制器130(例如,NVM控制器130-1到130-m)耦接。

存储器206包括高速随机存取存储器——诸如DRAM、SRAM、DDR RAM,或者其它随机存取固态存储器装置,并且可以包括非易失性存储器——诸如一个或多个磁盘储存装置、光盘储存装置、闪速存储器装置、或者其它非易失性固态储存装置。存储器206,可选地包括位于远离(一个或多个)处理器202的一个或多个储存装置。存储器206,或者可替换地存储器206中的(一个或多个)非易失性存储器装置,包括非瞬时性计算机可读储存介质。在一些实施例中,存储器206或存储器206的计算机可读储存介质,储存以下程序、模块和数据结构或其子集或超集:

获得模块210,用于获得一个或多个配置参数,包括:

可选地,接收模块212,用于从计算机系统110接收一个或多个配置参数;以及

采样模块214,用于采样Vdd 152(未示出连接)以确定由计算机系统110供应的一个或多个配置参数(例如,默认的输入电压(Vdd));

决定模块216,用于基于一个或多个配置参数确定跳闸(trip)电压(有时称为“跳闸点”),可选地包括:

选择模块218,用于基于一个或多个配置参数从跳闸电压表220选择跳闸电压,其中跳闸电压表220包括多个预定的跳闸电压;

可选地,修改模块222,用于基于一个或多个配置参数修改一个或多个时间参数224,并且用于响应于来自计算机系统110的请求修改跳闸电压表220中的一个或多个跳闸电压;

电源故障模块226,用于响应于检测电源故障条件(或者其的触发)进行电源故障过程的一个或多个操作,包括:

锁存模块228,用于锁存、解锁存或者迫使(force)电源故障条件(例如,通过控制锁存机制412,图4A);

电源开关模块230,用于控制Vswitched 160(图1和5);

放电模块232,用于放电能量储存装置510(例如,一个或多个保持电容器)(见图5);

信号模块234,用于将电源故障条件的信号发送到在储存装置120上的多个控制器(例如,储存控制器128和NVM控制器130,图1);

电源移除模块236,用于从在储存装置120上的多个控制器移除电源(例如,通过控制电源控制127,图1);以及

重置模块238,用于重置在储存装置120上的多个控制器的一个或多个(例如,储存控制器128和NVM控制器130,图1);

控制模块240,用于协调储存装置120的操作,包括监测、控制和电源故障功能;以及

非易失性存储器242,用于储存与储存装置120的操作有关的信息,可选地包括:

事件日志244,用于储存事件的时间和出现(例如,电源故障条件的出现)。

上述识别的元件的每一个可以储存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的一组指令。上述识别的模块或程序(即,指令集)不需要实现为单独的软件程序、程式或模块,并且从而这些模块的各种子集可以组合或者在各种实施例中另外地重新布置。在一些实施例中,存储器206可以储存以上识别的模块和数据结构的子集。此外,存储器206可以储存以上未描述的附加的模块和数据结构。在一些实施例中,储存在存储器206中的程序、模块和数据结构,或者存储器206的计算机可读储存介质,提供用于实现参考图6A-6C在下面所述的任何方法的指令。

尽管图2A示出了监测控制器124,但是图2A相比于这里所述的实施例的结构性示意更倾向于作为可能出现在监测控制器124中的各种特征的功能性描述。实践中,并且如由本领域普通技术人员认识到的,单独示出的项目可以被组合并且一些项目可以被分开。

图2B是示出根据一些实施例的储存控制器128的实现方式的框图。储存控制器128,通常包括,一个或多个处理器252(有时称为CPU或处理单元),用于执行储存在存储器256中的模块、程序和/或指令并且从而进行处理操作;存储器256;以及用于互联这些组件的一个或多个通信总线258。通信总线258,可选地包括互联和控制在系统组件之间的通信的电路(有时称为芯片集)。储存控制器128通过通信总线258与主机接口122、监测控制器124、电源控制127和NVM控制器130(例如,NVM控制器130-1到130-m)耦接。

存储器256包括高速随机存取存储器——诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器装置,并且可以包括非易失性存储器——诸如一个或多个磁盘储存装置、光盘储存装置、闪速存储器装置或其它非易失性固态储存装置。存储器256,可选地包括位于远离(一个或多个)处理器252的一个或多个储存装置。存储器256,或者可替换的存储器256中的(一个或多个)非易失性存储器装置,包括非瞬时性计算机可读储存介质。在一些实施例中,存储器256或存储器256的计算机可读储存介质,储存以下程序、模块和数据结构,或其子集或超集:

接口模块260,用于与其它组件通信,该其它组件诸如主机接口122、监测控制器124、电源控制127和NVM控制器130;

重置模块262,用于重置储存控制器128;以及

电源故障模块264,用于响应于来自监测控制器124的电源故障条件的信号进行电源故障操作。

在一些实施例中,电源故障模块264,可选地包括用于将保持在易失性存储器268中的数据转移到非易失性存储器的转移模块266。

以上识别的元件的每一个可以储存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的一组指令。以上识别的模块或程序(即,指令集)不需要实现为单独的软件程序、程式或模块,并且从而这些模块的各种子集可以组合或者在各种实施例中另行重新布置。在一些实施例中,存储器256可以储存以上识别的模块和数据结构的子集。此外,存储器256可以储存以上未描述的附加的模块和数据结构。

尽管图2B示出了储存控制器128,但是图2B相比于这里所述的实施例的结构性示意更倾向于作为可能出现在储存控制器128中的各种特征的功能性描述。实践中,并且如由本领域普通技术人员认识到的,单独示出的项目可以被组合并且一些项目可以被分开。

图2C是示出根据一些实施例的代表性NVM控制器130-1的实现方式的框图。NVM控制器130-1通常包括,一个或多个处理器272(有时称为CPU或处理单元),其用于执行储存在存储器276中的模块、程序和/或指令的并且从而进行处理操作;存储器276;和用于互联这些组件的一个或多个通信总线278。通信总线278可选地包括互联和控制在系统组件之间的通信的电路(有时称为芯片集)。NVM控制器130-1通过通信总线278与监测控制器124、电源控制127、储存控制器128和NVM装置140(例如,NVM装置140-1到140-n)耦接。

存储器276包括高速随机存取存储器——诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器装置,并且可以包括非易失性存储器——诸如一个或多个磁盘储存装置、光盘储存装置、闪速存储器装置或其它非易失性固态储存装置。存储器276,可选地包括位于远离(一个或多个)处理器272的一个或多个储存装置。存储器276,或者可替换的存储器276中的(一个或多个)非易失性存储器装置,包括非瞬时性计算机可读储存介质。在一些实施例中,存储器276或者存储器276的计算机可读储存介质,储存以下程序、模块和数据结构,或其子集或超集:

接口模块280,用于与其它组件通信,该其它组件诸如监测控制器124、电源控制127、储存控制器128和NVM装置140;

重置模块282,用于重置NVM控制器130-1;以及

电源故障模块284,用于响应于来自监测控制器124的电源故障条件的信号进行电源故障操作。

在一些实施例中,电源故障模块284,可选地包括用于将保持在易失性存储器288中的数据转移到非易失性存储器的转移模块286。

以上识别的元件的每一个可以储存在之前提到的存储器装置的一个或多个中,并且对应于用于进行上述功能的一组指令。以上识别的模块或程序(即,指令集)不需要实现为单独的软件程序、程式或模块,并且从而这些模块的各种子集可以组合或者在各种实施例中另行重新布置。在一些实施例中,存储器276可以储存以上识别的模块和数据结构的子集。此外,存储器276可以储存以上未描述的附加的模块和数据结构。

尽管图2C示出了NVM控制器130-1,但是图2C相比于这里所述的实施例的结构性示意更倾向于作为可能出现在NVM控制器130-1中的各种特征的功能性描述。实践中,并且如由本领域普通技术人员认识到的,单独示出的项目可以被组合并且一些项目可以被分开。此外,尽管图2C示出了代表性NVM控制器130-1,图2C的说明类似地应用于储存装置120中的其它NVM控制器(例如,NVM控制器130-2到130-m),如图1中所示。

图3是示出根据一些实施例的储存装置120的一部分的实现方式的框图。尽管示出了一些示例特征,但是为了简洁性的原因,各种其它特征没有被示出,并且从而不与这里所公开的示例实现方式的更加相关的方面混淆。为此,作为非限制性示例,监测控制器124包括一个或多个处理器202和DAC 204,并且电源故障模块126包括电压监控电路302和数据硬化模块308。在一些实施例中,DAC 204是一个或多个处理器202的组件。在一些实施例中,Vdd152是由主机系统(例如,计算机系统110,图1)供应的电压并且具有1.5V或更小的目标值(例如,1.25V、1.35V或1.5V)。例如,对于双数据率型三(DDR3)接口规格,输入(或电源)电压为1.25V、1.35V或1.5V。在一些实施例中,VSPD 156是由主机系统供应的用于序列存在检测(SPD)功能的电压并且具有3.3V的目标值。

在一些实施例中,电压监控电路302被配置为检测关于由主机系统(例如,计算机系统110,图1)供应的输入电压(例如,Vdd 152或VSPD 156)的电源故障条件(例如,电压不足或者电压过度的事件)并且将电源故障条件的信号发送到监测控制器124。在一些实施例中,电压监控电路302包括,Vdd监控电路304,被配置为检测关于Vdd 152的电压不足或者电压过度的事件;以及VSPD监控电路306,被配置为检测关于VSPD 156的电压不足或者电压过度的事件。对于Vdd监控电路304的更加详细的描述,见图4A的描述。对于VSPD监控电路306的更加详细的描述,见图4B的描述。

在一些实施例中,数据硬化模块308被配置为互联能量储存装置以向储存控制器128和NVM控制器130提供电源。对于数据硬化模块308的更加详细的描述,见图5的描述。对于数据硬化模块308的进一步描述,见名称为“电源排序以及数据硬化电路架构(Power Sequencing and Data Hardening Circuitry Architecture)”的美国临时专利申请号61/887,910,其通过引用结合于此。

图4A是示出根据一些实施例的电压监控电路302(Vdd监控电路304)的一部分的实现方式的框图。尽管示出了一些示例特征,但是为了简洁性的原因,各种其它特征没有被示出,并且从而不与这里所公开的示例实现方式的更加相关的方面混淆。为此,作为非限制性示例,Vdd监控电路304包括参考信号调节模块402、输入信号调节模块404、比较器406和晶体管408。

在一些实施例中,如图3中所示,参考信号是来自监测控制器124的DAC输出312。例如,监测控制器124或其组件(例如,获得模块210,图2A)获得包括由主机系统供应到储存装置120的用于Vdd(例如,1.25V、1.35V或1.5V)的默认的值的指示的一个或多个配置参数。在该示例中,监测控制器124或其组件(例如,决定模块216,图2A)通过基于用于Vdd(例如,包含在一个或多个配置参数中)的默认的值的指示从跳闸电压表220选择多个预定的跳闸电压的一个而确定用于Vdd的跳闸电压。DAC 204将用于跳闸电压的数字值转换为模拟值,并且监测控制器124提供DAC输出312到Vdd监控电路304。

再次参考图4A,在一些实施例中,参考信号调节模块402被配置为在与该参考信号的比较操作之前调节DAC输出312(有时称为“参考信号”、“跳闸电压”或“跳闸点”)。在一些实施例中,调节包括对DAC输出312的缓冲、滤波、缩放和电平移动的一个或多个以产生参考比较信号418。在一些实施例中,调节模块402使用已知的电路组件(例如,单位增益放大器、低通RC滤波器、分压器等)实现,其确切配置取决于施加到DAC输出312的特定的调节。例如,该调节调整跳闸电压使得DAC值的整个范围映射到跳闸电压的实际范围。在一些实施例中,Vref 414是由比较器406供应并且由参考信号调节模块402使用以电平移动DAC输出312的电源电压独立的参考电压。例如,DAC输出312开始为低值(例如,1V)并且由参考信号调节模块402升高到适当的跳闸电压(例如,1.125V、1.215V或1.35V)。

在一些实施例中,输入信号调节模块404被配置为在与该输入信号的比较操作之前,调节由主机系统供应的Vdd 152(有时称为“输入信号”、“输入电压”或“电源电压”)。在一些实施例中,调节包括对Vdd 152缓冲、滤波和缩放的一个或多个以产生对应于Vdd 152的比较输入信号416。在一些实施例中,输入信号调节模块404使用已知的电路组件(例如,单位增益放大器、低通RC滤波器、分压器等)实现,其确切配置取决于施加到Vdd 152的特定的调节。

在一些实施例中,比较器406被配置为在调节的参考信号(例如,参考信号调节模块402的输出)和调节的输入信号(例如,输入信号调节模块404的输出)之间进行比较操作。如果调节的输入信号小于(或者可替换地,大于)调节的参考信号,则比较器406被配置为将PFAIL信号314输出到监测控制器124(例如,逻辑高)。例如,在图4A中,PFAIL信号314指示关于Vdd 152的电源故障条件的出现(例如,电压不足或者电压过度的事件)。此外,比较器406被配置为提供用于之后的比较(例如,3到10mV的反馈)的比较操作的结果的滞后410。在一些实施例中,比较器406还被配置为将Vref 414提供到储存装置120的一个或多个其它组件(例如,监测控制器124和VSPD监控电路306)。

在一些实施例中,锁存机制412被配置为锁存、解锁存或者迫使(例如,模拟)电源故障条件。在一些实施例中,当比较器406指示关于Vdd 152的电源故障条件的出现时,PFAIL信号314(例如,逻辑高)被提供到锁存机制412。PFAIL信号314使能将输入信号(例如,调整的电平以及缩放的对应于Vdd 152的比较输入信号416)短路到地的晶体管408(闭合状态),其锁存电源故障条件。

除了具有用于锁存电源故障条件的机制以外,在一些实施例中,监测控制器124或其组件(例如,锁存模块228,图2A)被配置为通过提供禁用晶体管408(开路状态)的PFAIL控制信号316(例如,逻辑低)解锁存电源故障条件,其通过允许比较输入信号416到达比较器406而不被短路到地来解锁存电源故障条件。在一些实施例中,监测控制器124或其组件(例如,锁存模块228,图2A)还被配置为通过提供使能晶体管408(闭合状态)——该晶体管408将比较输入信号416短路到地——的PFAIL控制信号316(例如,逻辑高)而迫使电源故障条件发生,其迫使比较器406产生PFAIL信号314。此外,在一些实现方式中,当监测控制器124既不解锁存电源故障条件也不迫使电源故障条件时,PFAIL控制信号316由监测控制器124三态化(tristated)(例如,置于高阻抗状态),其禁用晶体管408除非赋值(assert)PFAIL 314(例如,逻辑高)。对于关于迫使或模拟电源故障条件的进一步信息,见于2013年11月13日提交的、名称为“模拟的电源故障和数据硬化电路架构(Simulated Power Failure and Data Hardening Circuitry Architecture)”美国临时专利申请号61/903,895以及于2013年12月xx日提交的、美国申请号xxx的代理人案号058572-01-5124-US,两者的全部内容通过引用结合于此。

图4B是示出根据一些实施例的电压监控电路302(VSPD监控电路306)的一部分的实现方式的框图。尽管示出了一些示例特征,但是为了简洁性的原因,各种其它特征没有被示出,并且从而不与这里所公开的示例实现方式的更加相关的方面混淆。为此,作为非限制性示例,VSPD监控电路306包括参考信号调节模块422、输入信号调节模块424和比较器426。在一些实施例中,参考信号是来自Vdd监控电路304的比较器406的Vref 414,如图4A中所示。例如,Vref 414是电源电压独立的参考电压(例如,预定的电压——诸如1.23V)。在一些实施例中,输入信号是由主机系统供应的VSPD 156(例如,具有3.3V的目标电压)。

在一些实施例中,参考信号调节模块422被配置为在与该参考信号的比较操作之前调节Vref414(有时称为“参考信号”、“跳闸电压”或“跳闸点”)。在一些实施例中,调节包括用多个已知的电路组件(例如,单位增益放大器、低通RC滤波器等)对Vref 414缓冲和滤波的一个或多个以产生调节的Vref比较信号430。在一些实施例中,输入信号调节模块424被配置为在与该输入信号的比较操作之前调节由主机系统供应的VSPD 156(有时称为“输入信号”、“输入电压”或“电源电压”)。在一些实施例中,调节包括用多个已知的电路组件(例如,单位增益放大器、低通RC滤波器、分压器,等)对VSPD 156缓冲、滤波和缩放的一个或多个以产生调节的VSPD比较信号432。例如,如果Vref 414为1.23V并且用于VSPD 156的目标电压为3.3V,输入信号调节模块424包括低通RC滤波器以及还包括分压器,该低通RC滤波器滤出VSPD 156中的任何波纹或毛刺,并且该分压器缩小VSPD 156(例如,近似73%或2.7的因子)。

在一些实施例中,比较器426被配置为进行调节的参考信号430(例如,参考信号调节模块422的输出)和调节的输入信号432(例如,输入信号调节模块424的输出)之间的比较操作。如果调节的输入信号432小于(或者可替换地,大于)调节的参考信号430,比较器426被配置为将PFAIL信号314输出到监测控制器124(例如,逻辑高)。例如,在图4B中,PFAIL信号314指示关于VSPD 156的电源故障条件的出现(例如,电压不足或者电压过度的事件)。此外,比较器426被配置为提供用于之后的比较的比较操作的结果的滞后428。

图5是示出根据一些实施例的数据硬化模块308的实现方式的框图。尽管示出了一些示例特征,但是为了简洁性的原因,各种其它特征没有被示出,并且从而不与这里所公开的示例实现方式的更加相关的方面混淆。为此,作为非限制性示例,数据硬化模块308包括晶体管502和504、升压电路506、能量储存装置510、保持器电路512和逻辑块514。

在一些实施例中,Vholdup 508是升高的电压,高于Vdd 152,并且具有5.7V的目标值。在一些实施例中,Vholdup 508被用于充电能量储存装置510(例如,一个或多个保持电容器)。此外,在一些实施例中,仅晶体管502、504中的一个在任一时间被使能。在一些实施例中,紧接在电源故障条件被检测之前,数据硬化电路308的能量储存装置510按在储存装置120中每NVM控制器130储存至少近似30到70mJ的能量。

在一些实施例中,监测控制器124或其组件(例如,处理器202)监控并且管理数据硬化模块308的功能。例如,响应于从电压监控电路302接收指示电源故障条件的PFAIL信号314,监测控制器124或其组件(例如,处理器202)被配置为进行电源故障过程的一个或多个操作,包括控制晶体管502和504使得Vswitched 160是来自能量储存装置510的电压,并且能量储存装置510被用于(有时被称为“放电”)向储存装置120提供电源。

在一些实施例中,在储存装置120的常规操作期间,Vdd 152被用于向储存装置120供应电源。但是,在电源故障过程期间,能量储存装置510被用于向储存装置120提供电源。在一些实施例中,监测控制器124或其组件(例如,处理器202)经由控制线318控制晶体管502和504以控制Vswitched 160为来自Vdd 152的电压(例如,在常规操作期间)或者来自能量储存装置510的电压(例如,在电源故障过程期间)。例如,在储存装置120的常规操作期间,晶体管502被导通(例如,完成Vdd 152和Vswitched 160之间的连接)并且晶体管504被关断(例如,禁用能量储存装置510和Vswitched 160之间的连接),使得Vdd 152被用于向储存装置120供应电源。但是,在电源故障过程期间,晶体管502被关断(例如,禁用Vdd 152和Vswitched 160之间的连接)并且晶体管504被导通(例如,使能能量储存装置510和Vswitched 160之间的连接)使得能量储存装置510被用于向储存装置120提供电源。尽管在图5中示出了单个能量储存装置510,但是任何能量储存装置——包括一个或多个电容器,一个或多个电感器或者储存能量的一个或多个其它无源元件——可以被用于储存在电源故障过程期间将要使用的能量。

在一些实施例中,能量储存装置510使用Vholdup 508——高于Vdd 152的电压充电。在一些实施例中,Vdd 152使用升压电路506升高到Vholdup 508(例如,1.35V或1.5V被升高到5.7V)。在一些实施例中,升压电路506由监测控制器124控制并且使能(例如,经由处理器202)。

此外,在一些实施例中,Vswitched 160被用作到保持器电路512的输入,其中Vswitched160与VSPD 156一起向处理器202提供电源。在电源故障过程期间,Vswitched 160经由保持器电路512被提供到处理器202以便于向处理器202提供电源。在一些实施例中,VSPD 156向保持器电路512提供电源。在一些实施例中,逻辑块514(例如,OR或XOR)确定保持器电路512或VSPD 156的哪一个向监测控制器124(例如,处理器202)提供电源。

此外,在一些实施例中,在通电序列期间,VSPD 156在Vdd 152被提供到储存装置120之前被提供到储存装置120。这允许储存装置120中的装置(例如,监测控制器124,以及依次地,处理器202)在主电源Vdd 152被提供到储存装置120之前操作。在一些实施例中,监测控制器124或其组件(例如,处理器202)包括被用于监控并且控制储存装置120中的其它功能的一个或多个连接162。

图6A-6C示出了在根据一些实施例的数据储存装置中调整跳闸点(例如,触发电源故障过程的跳闸电压)的方法600的流程图表示。至少在一些实施例中,方法600由储存装置(例如,储存装置120,图1)或者储存装置的一个或多个组件(例如,监测控制器124、电源故障模块126、储存控制器128和/或NVM控制器130,图1)进行,其中储存装置与主机系统(例如,计算机系统110,图1)可操作地耦接。在一些实施例中,方法600由储存在非瞬时性计算机可读储存介质中的并且由装置的一个或多个处理器执行的指令来管理,该一个或多个处理器诸如监测控制器124的一个或多个处理器202、储存控制器128的一个或多个处理器252和/或NVM控制器130的一个或多个处理器272,如图2A-2C中所示。

储存装置(例如,储存装置120,图1)获得(602)一个或多个配置参数。在一些实施例中,监测控制器124或其组件(例如,获得模块210,图2A)被配置为获得与储存装置120相关联的一个或多个配置参数。

在一些实施例中,一个或多个配置参数包括(604)储存装置的默认的输入电压和配置信息的指示。例如,一个或多个配置参数包括,由主机系统(例如,计算机系统110,图1)供应到储存装置120的默认的输入电压(例如,Vdd)的指示或储存装置120的电压等级(例如,1.25V、1.35V或1.5V)和与储存装置120的当前配置相关联的信息。

在一些实施例中,从主机系统获得(606)识别默认的输入电压的信息。在一些实施例中,监测控制器124或其组件(例如,接收模块212,图2A)被配置为从主机系统(例如,计算机系统110,图1)接收默认的输入(或电源)电压(例如,Vdd)的指示。例如,接收模块212经由SPD总线154从主机系统接收默认的输入电压的指示。

在一些实施例中,储存装置采样(608)输入电压以确定默认的输入电压。在一些实施例中,监测控制器124或其组件(例如,采样模块214,图2A)被配置为采样输入电压(例如,Vdd)以确定默认的输入电压。例如,采样模块214在当通电和/或储存装置120的重新开始时采样Vdd以确定默认的输入电压。在另一示例中,采样模块214通过平均Vdd的多个采样测量而确定默认的输入电压。

在一些实施例中,储存装置基于一个或多个配置参数修改(610)与将储存装置与主机系统可操作性地耦接的通信总线相关联的一个或多个时间参数。在一些实施例中,监测控制器124或其组件(例如,修改模块222,图2A)被配置为基于一个或多个配置参数修改储存在非易失性存储器242中的一个或多个时间参数224。例如,修改模块222基于提供到储存装置120的默认的输入电压(例如,Vdd)或储存装置120的电压等级(例如,1.25V、1.35V或1.5V)来修改与通信总线(例如,DDR3)相关联的倾斜和时间参数,该通信总线将储存装置120与主机系统(例如,计算机系统110,图1)可操作地耦接。

储存装置基于一个或多个配置参数确定(612)跳闸电压。在一些实施例中,监测控制器124或其组件(例如,决定模块216,图2A)被配置为基于一个或多个配置参数来确定跳闸电压。例如,决定模块216基于提供到储存装置120的默认的输入电压(例如,Vdd)或储存装置120的电压等级(例如,1.25V、1.35V或1.5V)确定跳闸电压。在一些实施例中,跳闸电压取决于电压的目标值而变化。例如,如果输入电压的目标值为1.5V,跳闸电压可以是1.5V减去百分之5(即,1.425V)或者减去百分之10(即,1.35V)。

在一些实施例中,确定跳闸电压包括基于一个或多个配置参数选择(614)多个储存的预定的跳闸电压的一个。在一些实施例中,监测控制器或其组件(例如,选择模块218,图2A)被配置为基于一个或多个配置参数从储存在跳闸电压表220中的多个预定的跳闸电压选择跳闸电压。在一些实施例中,跳闸电压表220包括用于由主机系统供应的多个潜在的默认的输入电压或者储存装置120的电压等级(例如,1.25V、1.35V或1.5V)的每一个的预定的跳闸电压。例如,如果一个或多个配置参数指示默认的输入电压(例如,Vdd)为1.5V,选择模块218从对应于1.5V的默认的输入电压的跳闸电压表220选择跳闸电压。

在一些实施例中,在比较之前,储存装置通过缓冲跳闸电压调节(616)跳闸电压,并且在缓冲之后,电平移动并且缩放跳闸电压。在一些实施例中,在确定跳闸电压之后,对应于确定的跳闸电压的模拟参考信号(例如,DAC输出312,图3和4A)由监测控制器124或其组件(例如,DAC 204,图2A和3)产生并且被输入到电源故障模块126或其组件(例如,Vdd监控电路304,图4A)。在将参考信号(例如,DAC输出312,图3和4A)与输入信号(例如,Vdd 152)比较之前,参考信号调节模块402被配置为调节参考信号。在一些实施例中,调节包括缓冲、滤波、缩放和电平移动的一个或多个以调整跳闸电压使得DAC值的完整范围映射到电压跳闸点的实际范围。例如(在附图中未示出电路细节),首先,单位增益操作放大器缓冲参考信号(例如,DAC输出312)以稳定阻抗;其次,滤波器将噪声从参考信号滤出;第三,缩放参考信号;以及第四,利用电源电压独立的电压源(例如,Vref 414)电平移动参考信号。

在一些实施例中,在比较之前,储存装置通过缩放输入电压和滤波输入电压调节(618)输入电压(例如,Vdd 152或VSPD 156)。在将参考信号(例如,DAC输出312或Vref 414)与输入信号(例如,Vdd 152或VSPD 156)比较之前,电源故障模块126或其组件通过缩放和滤波输入信号而调节输入信号。例如,在图4A中,Vdd 152(例如,输入信号)由输入信号调节模块404调节。在该示例中,Vdd 152由分压器电路缩放并且用低通(例如,RC)滤波器(附图中未示出电路细节)从Vdd 152滤出噪声。在另一示例中,在图4B中,VSPD 156(例如,输入信号)由输入信号调节模块424调节。在该示例中,VSPD 156被缩小到Vref 414的值并且用低通(例如,RC)滤波器从VSPD 156滤出噪声。

储存装置将跳闸电压与输入电压比较(620)。例如,在图4A中,比较器306在调节的参考信号(例如,参考信号调节模块402的输出)和调节的输入信号(例如,输入信号调节模块404的输出)之间进行比较操作。

储存装置根据输入电压小于跳闸电压的决定触发(622)电源故障条件。例如,在图4A中,如果调节的输入信号小于调节的参考信号,则比较器406被配置为将PFAIL信号314输出到监测控制器124(例如,逻辑高)。在该示例中,在图4A中,PFAIL信号314指示关于Vdd 152的电源故障条件的出现(例如,电压不足事件)。例如,响应于从比较器406接收指示关于Vdd152的电源故障条件的PFAIL信号314,监测控制器124或其组件(例如,处理器202)被配置为进行电源故障过程的一个或多个操作,包括经由控制线162将电源故障条件的信号发送到在储存装置120上的多个控制器(例如,储存控制器128和NVM控制器130,图1),控制晶体管502、504使得Vswitched 160为来自能量储存装置510的电压。

在另一示例中,响应于检测关于Vdd 152的电源故障条件(例如,电压不足或者电压过度的事件),Vdd监控电路304或其组件(例如,比较器406)将输出PFAIL信号314赋值到储存装置120中的多个控制器(例如,储存控制器128和NVM控制器130,图1)。继续该示例,Vdd监控电路304还控制晶体管502、504使得Vswitched 160为来自能量储存装置510的电压。在该示例中,Vdd监控电路304直接地赋值PFAIL信号以便于减少经由能量储存装置510向控制器提供电源的PFAIL转变的延迟。

在一些实施例中,跳闸电压是第一跳闸电压并且输入电压是由主机系统提供的电源电压,储存装置将第二跳闸电压与由主机系统提供的序列存在检测(SPD)电压比较(624),并且根据SPD电压小于第二跳闸电压的决定,储存装置触发电源故障条件。在一些实施例中,第二跳闸电压不确定,因为VSPD是标准化的值(例如,3.3V)。例如,在图4B中,比较器426在调节的参考信号(例如,参考信号调节模块422的输出)和调节的输入信号(例如,输入信号调节模块424的输出)之间进行比较操作。在该示例中,在图4B中,如果调节的输入信号小于调节的参考信号,则比较器426被配置为将PFAIL信号314输出到监测控制器124(例如,逻辑高)。在该示例中,在图4B中,PFAIL信号314指示关于VSPD 156的电源故障条件的出现。例如,可选地,在一些情形中,响应于从比较器426接收指示关于VSPD 156的电源故障条件的PFAIL信号314,监测控制器124或其组件(例如,处理器202)被配置为进行电源故障过程的一个或多个操作,包括将电源故障条件的信号经由控制线162发送到在储存装置120上的多个控制器(例如,储存控制器128和NVM控制器130,图1),以及使得向监测控制器124(例如,Vswitched 160经由保持器电路512,如图5中所示)提供备用电源。

在另一示例中,响应于检测关于VSPD 156的电源故障条件(例如,电压不足或者电压过度的事件),VSPD监控电路306或其组件(例如,比较器426)将输出PFAIL信号314赋值到储存装置120中的多个控制器(例如,储存控制器128和NVM控制器130,图1)。继续该示例,VSPD监控电路306还控制晶体管502、504使得Vswitched160为来自能量储存装置510的电压。在该示例中,VSPD监控电路306直接地赋值PFAIL信号以便于减少经由能量储存装置510向控制器提供电源的PFAIL转变的延迟。

在一些实施例中,比较第二跳闸电压和由主机系统提供的SPD电压包括将电源电压独立的电压与从SPD电压得到的电压比较(626)。例如,Vref 414是由比较器406提供的电源电压独立的电压,如图4A中所示。例如,在图4B中,比较器426将Vref 414与VSPD 156的缩放的版本比较。在该示例中,如果Vref 414是1.23V并且用于VSPD 156的目标电压是3.3V,则输入信号调节模块424被配置为缩小VSPD 156(例如,例如,近似73%或2.7的因子)。

在一些实施例中,储存装置使用跳闸电压与输入电压的比较的反馈提供(628)相对于之后的比较的滞后。例如,在图4A中,比较器406被配置为提供用于之后的比较(例如,3到10mV的反馈)的DAC输出312和Vdd 152的比较操作的结果的滞后410。在另一示例中,在图4B中,比较器426被配置为提供用于之后的比较的Vref 414和VSPD 156的比较操作的结果的滞后428。

在一些实施例中,储存装置锁存(630)电源故障条件。例如,在图4A中,当比较器406指示关于Vdd 152的电源故障条件的出现时,PFAIL信号314(例如,逻辑高)被提供到锁存机制412。在该示例中,PFAIL信号314使能将输入信号(例如,Vdd 152)短路到地的晶体管408(闭合状态),并且转而锁存电源故障条件。

在一些实施例中,在锁存电源故障条件以及电源故障过程的完成之后,储存装置清除(632)锁存的电源故障条件。在一些实施例中,监测控制器124或其组件(例如,锁存模块228,图2A)被配置为在电源故障过程完成时,通过提供禁用晶体管408(开路状态)——该晶体管408从Vdd 152到地将电路断开——的PFAIL控制信号316(例如,逻辑低)而解锁存电源条件,并且转而解锁存电源故障条件。在一些实施例中,一旦多个控制器(例如,储存控制器128和NVM控制器130,图1)已经将保持在易失性存储器中的数据转移到非易失性存储器,电源故障过程完成。

在一些实施例中,储存装置根据由储存装置中的控制器执行的一个或多个程式确定的条件触发(634)电源故障条件。在一些实施例中,监测控制器124或其组件(例如,锁存模块228,图2A)被配置为通过提供使能晶体管408(闭合状态)——该晶体管408将输入信号(例如,Vdd 152)短路到地的——的PFAIL控制信号316(例如,逻辑高)而迫使电源故障条件,并且转而迫使电源故障条件发生。例如,迫使的或者模拟的电源故障条件被用于测试电源故障过程的一个或多个操作。

在一些实施例中,储存装置响应于来自主机系统的命令,修改(636)多个储存的预定的跳闸电压的一个。在一些实施例中,监测控制器124或其组件(例如,修改模块222,图2A)被配置为响应于来自主机系统(例如,计算机系统110)的请求或命令,修改储存在跳闸电压表220中的一个或多个跳闸电压。在一些实施例中,监测控制器124被配置为经由SPD总线154从主机系统(例如,计算机系统110)接收命令(或请求)。在一些实施例中,储存装置120包括耦接在主机接口122和储存控制器128之间的数据控制器,该数据控制器被配置为控制数据到一个或多个NVM装置的输入和输出。例如,数据控制器被配置为从主机系统(例如,计算机系统110)接收命令(或请求)并且将命令通信到监测控制器124(例如,经由信号量寄存器或I2C)。

应理解的是,尽管术语“第一”、“第二”等在这里可以被用于描述各种元件,但是这些元件不应由这些术语限制。这些术语仅被用于将一个元件与另一个区分。例如,第一NVM控制器可以被称为第二NVM控制器,并且类似地,第二NVM控制器可以被称为第一NVM控制器,而不改变说明书的含义,只要“第一NVM控制器”的所有出现被一致地重新命名并且“第二NVM控制器”的所有出现被一致地重新命名。第一NVM控制器和第二NVM控制器两者是NVM控制器,但是它们不是同一个NVM控制器。

这里使用的术语是仅是为了描述特定的实施例,而不是为了限制权利要求。如在对实施例的描述和所附权利要求中所使用的,单数形式“一”、“一个”和“该”意欲也包括复数形式,除非上下文另有清楚的指示。还可以理解的是,这里所使用的术语“和/或”是指并且包含一个或多个相关联的列出的项目的任意和所有可能组合。还可以理解的是,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元件和/或部件的存在,但是不排除一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组的存在或添加。

如这里所使用的,根据上下文,术语“如果”可以解释为意思是“当所述的先决条件为真时”或“在所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“响应于检测到所述的先决条件为真”。类似地,根据上下文,短语“如果确定[所述的先决条件为真]”或“如果[所述的先决条件为真]”或“当[所述的先决条件为真]时”可以解释为意思是“当确定所述的先决条件为真时”或“响应于确定所述的先决条件为真”或“根据所述的先决条件为真的确定”或“在检测到所述的先决条件为真时”或“响应于检测到所述的先决条件为真”。

为了解释的目的,已经参考了特定实施例描述了前述说明。但是,以上示意性的讨论不意欲是穷举性的或者将权利要求限制到公开的精确形式。鉴于以上教导许多修改和变化是可能的。实施例被选中并且描述以便于最好地解释操作的原理和实际应用,从而使能本领域其它技术人员。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1