增强的d3-cold和更快的恢复
1.相关申请的交叉引用
2.本专利申请要求2021年4月7日提交的美国专利申请17/224,732号的优先权,该美国专利申请转让给本文的受让人,并且全文以引用方式并入本文。
背景技术:
技术领域
3.本公开的实施方案整体涉及数据存储设备诸如固态驱动器(ssd)、以及功率状态转换操作。
4.相关领域的描述
5.在操作期间,数据存储设备具有各种功率状态,诸如活动功率状态和空闲功率状态。当数据存储设备进入空闲功率状态或关闭(即,没有功率被供应给数据存储设备)时,返回或复原到活动功率状态的初始化时间可取决于引导过程可能发生的速度。在引导过程已经完成之后,可执行第一主机命令。然而,在引导过程已经完成之前,第一主机命令保持在队列中并且不被服务。
6.在复原过程期间(即,用于空闲功率状态的唤醒或从关闭唤醒),引导过程可从内部介质诸如非易失性存储器、从主机存储器缓冲器(hmb)、或联合地从内部介质和hmb完成。然而,当从hmb引导时,hmb在主机设备提供作为非易失性存储器(nvm)express(nvme)初始化的一部分的地址之前是不可访问的。在接收地址之前,数据存储设备使其自身初始化,其中使其自身初始化包括在从主机设备接收hmb指针之前提供可能需要介质访问的标识信息。因此,初始化时间被确定为从数据存储设备被唤醒(即,从空闲功率状态或被关闭的引导)时到第一主机命令可被执行的时间。
7.因此,本领域中需要一种改进的初始化操作以减少初始化数据存储设备的时间。
技术实现要素:
8.本公开整体涉及数据存储设备诸如固态驱动器(ssd)、以及功率状态转换操作。数据存储设备包括存储器设备、常开(aon)专用集成电路(asic)、以及耦接到存储器设备和aon asic的控制器。当数据存储设备进入低功率状态时,控制器生成与上下文数据相关联的安全数据并将该安全数据存储在功率管理集成电路(pmic)中。上下文数据被存储在存储器设备和主机存储器缓冲器(hmb)两者中。上下文数据在hmb中的位置与安全数据一起被存储在pmic中。当数据存储设备退出低功率状态时,存储在pmic中的地址被用来从hmb检索上下文数据。由控制器对照安全数据来验证所检索的上下文数据。
9.在一个实施方案中,数据存储设备包括存储器设备和耦接到该存储器设备的控制器。控制器包括常开(aon)专用集成电路(asic)。控制器被配置为生成与上下文数据相关联的第一安全数据,将上下文数据存储在存储器设备和主机存储器缓冲器(hmb)两者中,将上下文数据的位置的地址和安全数据存储在功率管理集成电路(pmic)中,并且在数据存储设
备唤醒时使用安全数据来验证存储在hmb中的上下文数据。
10.在另一个实施方案中,数据存储设备包括存储器设备以及耦接到存储器设备的控制器。控制器包括常开(aon)专用集成电路(asic)。控制器被配置为确定功率禁用被断言,将上下文数据写入到主机存储器缓冲器(hmb)和存储器设备,将上下文数据的hmb地址和安全数据写入功率管理集成电路(pmic),使用hmb地址从hmb检索上下文数据,并且对照上下文数据验证安全数据。
11.在另一实施方案中,数据存储设备包括存储器装置以及耦接到存储器装置的控制器装置。控制器装置包括专用集成电路(asic)装置。asic装置常开(aon)。控制器装置被配置为生成安全数据,将上下文数据存储到主机存储器缓冲器(hmb),将安全数据和hmb中对应于上下文数据的位置数据存储到功率管理集成电路(pmic),确定存储在hmb中的上下文数据匹配存储在pmic中的安全数据,并且在对照安全数据验证上下文数据后从hmb引导数据存储设备。
附图说明
12.因此,通过参考实施方案,可以获得详细理解本公开的上述特征的方式、本公开的更具体描述、上述简要概述,所述实施方案中的一些在附图中示出。然而,应当注意的是,附图仅示出了本公开的典型实施方案并且因此不应视为限制其范围,因为本公开可以允许其他同等有效的实施方案。
13.图1示出了根据某些实施方案的数据存储系统的示意图。
14.图2示出了根据某些实施方案的数据存储设备的功率状态图的示意性流程图。
15.图3a示出了例示根据某些实施方案的从d3/l2功率状态的数据存储设备初始化操作的方法的流程图。
16.图3b示出了例示根据某些实施方案的数据存储设备d3/l2功率状态进入操作的方法的流程图。
17.为了有助于理解,在可能的情况下,使用相同的参考标号来表示附图中共有的相同元件。可以设想是,在一个实施方案中公开的元件可以有利地用于其他实施方案而无需具体叙述。
具体实施方式
18.在下文中,参考本公开的实施方案。然而,应当理解,本公开不限于具体描述的实施方案。相反,思考以下特征和元件的任何组合(无论是否与不同实施方案相关)以实现和实践本公开。此外,尽管本公开的实施方案可以实现优于其他可能j9九游会真人的解决方案和/或优于现有技术的优点,但是否通过给定实施方案来实现特定优点不是对本公开的限制。因此,以下方面、特征、实施方案和优点仅是说明性的,并且不被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。同样地,对
″
本公开
″
的引用不应当被解释为本文公开的任何发明主题的概括,并且不应当被认为是所附权利要求书的要素或限制,除非在权利要求书中明确地叙述。
19.本公开整体涉及数据存储设备诸如固态驱动器(ssd)、以及功率状态转换操作。数据存储设备包括存储器设备、常开(aon)专用集成电路(asic)、以及耦接到存储器设备和
express(pcie)(例如,pcie x1、x4、x8、x16、pcie mini卡、minipci等)。在一些示例中,数据存储设备104可以直接耦接(例如,直接焊接)到主机计算机系统102的母板。
26.在一些示例中,数据存储设备104可包括接口160,该接口可以包括用于与主机计算机系统102交换数据的数据总线(例如,进入总线和离开总线)和用于与主机计算机系统102交换命令的控制总线中的一者或两者。接口160可以根据任何合适的协议操作。例如,接口160可以根据以下协议中的一个或多个协议来操作:高级技术附件(ata)(例如,串行ata(sata)和并行ata(pata))、光纤信道协议(fcp)、小型计算机系统接口(scsi)、串行附接scsi(sas)、pci和pcie、非易失性存储器express(nvme)、opencapi、genz、高速缓存相干接口加速器(ccix)、开放信道ssd(ocssd)等。接口160的电连接(例如,数据总线、控制总线或两者)电连接到设备控制器106,从而提供主机计算机系统102与设备控制器106之间的电连接,允许在主机计算机系统102与设备控制器106之间交换数据。在一些示例中,接口160的电连接还可以允许数据存储设备104从主机计算机系统102接收功率。例如,电源可以经由接口160从主机计算机系统102接收功率。
27.一个或多个存储器阵列124可被配置为存储和/或检索数据。如本文所述,一个或多个存储器阵列124可以可互换地被称为nvm 124。例如,nvm 124的存储器单元可以从设备控制器106接收数据和指示存储器单元存储数据的消息。类似地,nvm 124的存储器单元可以从设备控制器106接收指示存储器单元检索数据的消息。在一些示例中,存储器单元中的每个存储器单元可以被称为裸片。在一些示例中,nvm 124可包括多个裸片(例如,多个存储器单元)。在一些示例中,每个存储器单元可以被配置成存储相对大量的数据(例如,128mb、256mb、512mb、1gb、2gb、4gb、8gb、16gb、32gb、64gb、128gb、256gb、512gb、1tb等)。在一些示例中,nvm 124的每个存储器单元可以包括任何类型的非易失性存储器设备,诸如闪存存储器设备、相变存储器(pcm)设备、电阻随机存取存储器(reram)设备、磁阻随机存取存储器(mram)设备、铁电随机存取存储器(f-ram)、全息存储器设备、以及任何其它类型的非易失性存储器设备。
28.nvm 124可以包括多个闪存存储器设备或存储器单元。闪存存储器设备可以包括基于nand或nor的闪存存储器设备,并且可以基于包含在用于每个闪存存储器单元的晶体管的浮栅中的电荷来存储数据。在nand闪存存储器设备中,闪存存储器设备可以被分成多个块,这些块可以被分成多个页面。特定存储器设备内的多个块中的每个块可以包括多个nand单元。nand单元的行可以使用字线来电连接以限定多个页面中的页面。多个页面中的每个页面中的相应单元可以电连接到相应位线。此外,nand闪存存储器设备可以是2d或3d设备,并且可以是单级单元(slc)、多级单元(mlc)、三级单元(tlc)或四级单元(qlc)。设备控制器106可能以页面级向nand闪存存储器设备写入数据以及从nand闪存存储器设备读取数据,并且以块级从nand闪存存储器设备擦除数据。
29.在一些示例性中,数据存储设备104包括可以向数据存储设备104的一个或多个部件提供电力的电源。当以标准模式操作时,电源可以使用由外部设备诸如主机计算机系统102提供的电力向一个或多个部件供电。例如,电源可以使用经由数据存储设备104的接口160从主机计算机系统接收的功率向一个或多个部件提供功率。在一些示例中,电源可以包括一个或多个电力存储部件,其被配置成当以关闭模式操作时向一个或多个部件供电,诸如在停止从外部设备接收电力的情况下。以这种方式,电源可以用作机载备用电源。一个或
多个电力存储部件的一些示例包括但不限于电容器、超级电容器、电池等。在一些示例中,可由一个或多个电力存储部件存储的电量可以是该等一个或多个电力存储部件的成本和/或尺寸(例如,面积/体积)的函数。换言之,随着由一个或多个电力存储部件存储的电量增加,一个或多个电力存储部件的成本和/或尺寸也增加。
30.设备控制器106可使用易失性存储器126诸如dram或静态ram(sram)来存储信息。此外,易失性存储器126可以是一个或多个易失性存储器。在一些示例中,设备控制器106可以使用易失性存储器126作为高速缓存。例如,设备控制器106可以将高速缓存的信息存储在易失性存储器126中,直到高速缓存的信息被写入到nvm 124。易失性存储器126的示例包括但不限于随机存取存储器(ram)、dram、sram和同步动态ram(sdram(例如,ddr1、ddr2、ddr3、ddr3l、lpddr3、ddr4、lpddr4等))。
31.设备控制器106可以管理数据存储设备104的一个或多个操作。例如,设备控制器106可以管理从nvm 124读取数据和/或将数据写入该nvm。在一些实施方案中,当数据存储设备104从主机计算机系统102接收写入命令时,设备控制器106可以发起数据存储命令以将数据写入该nvm 124并且监测数据存储命令的进度。设备控制器106可以确定数据存储系统100的至少一个操作特性,并且将该至少一个操作特性存储到该nvm 124。在一些实施方案中,当数据存储设备104从主机计算机系统102接收到写入命令时,控制器106在将与写入命令相关联的数据发送给nvm 124之前将该数据暂时存储在内部存储器中或写入缓冲器诸如易失性存储器126的写入高速缓存缓冲区中。
32.设备控制器106包括pcie mac phy 108、d3逻辑部件110、控制路径116、直接存储器访问(dma)118(其可以是一个或多个dma)、错误校正模块120、闪存接口模块(fim)122和一个或多个处理器128。一个或多个处理器128是响应并处理命令以操作计算系统诸如数据存储设备104的芯片或逻辑电路。一个或多个处理器128可执行所有数学操作并管理控制器操作。
33.从主机计算机系统102到数据存储设备104的数据的进入和离开可以通过pcie mac phy 108利用接口160用于设备控制器106和主机计算机系统102之间的数据的进入和离开来执行。如果设备控制器106已完成命令,则可通过pcie mac phy 108将与已完成命令相关联的数据传送至主机计算机系统102的一个或多个主机队列140。
34.数据从pcie mac phy 108传递到控制路径116和dma 118。dma 118可在主机计算机系统102和数据存储设备104之间执行数据传输,而无需主机计算机系统cpu的参与。控制路径116可用于获取物理页面区域(prp)、发布完成和中断,以及激活dma 118以用于主机计算机系统102和数据存储设备104之间的数据传输。错误校正模块120校正从存储器阵列124获取的数据以及生成针对被存储在存储器阵列124中的数据的错误校正码(ecc)。设备控制器106可利用fim 122与nvm 124进行交互以进行读写操作。
35.d3逻辑部件110包括处理器112、令牌生成器/恢复单元114和易失性存储器136。d3逻辑部件可以是常开(aon)专用集成电路(asic)。在一些示例中,处理器112可以是被配置为执行d3逻辑部件的一个或多个处理器128中的处理器。在其它示例中,处理器112与一个或多个处理器分开。令牌生成器/恢复单元114针对存储在易失性存储器136中的数据生成令牌或安全数据,该令牌或安全数据用于在数据存储设备104进入低功率状态模式时被存储在hmb中。令牌或安全数据可以包括密钥或散列。在一些示例中,令牌或安全数据包括循
环冗余码(crc)。易失性存储器136可包括负责将数据存储设备104从低功率状态模式唤醒的数据。该数据可以包括引导过程的所有所需信息。
36.数据存储设备104还包括pmic 130。pmic 130包括令牌区域132和hmb地址区域134。令牌区域132存储由令牌生成器/恢复单元114生成的令牌或安全数据。令牌或安全数据被用来验证上下文数据,诸如存储在hmb中的aon asic的数据(即,用于数据存储设备104初始化的存储在易失性存储器136中的数据)。类似地,hmb地址区域134存储aonasic的数据存储在hmb中的位置。
37.pmic 130和d3逻辑部件110是常开域150的一部分。常开域150描述数据存储设备104的区域或部件,诸如pmic 130和d3逻辑部件110,其在数据存储设备104的其他区域和部件不被供电时保持被供电。例如,当数据存储设备104进入d3
cold
功率状态时,如下所述,数据存储设备104部件诸如设备控制器106不被供电。然而,在其中d3/l2功率状态是d3
hot
功率状态与d3
cold
功率状态之间的附加状态或者是d3
cold
功率状态的子状态的d3/l2功率状态中,数据存储设备104的某些区域(诸如仅pmic 130)可被提供功率,而数据存储设备104的其余部分不被供电。
38.参照图1,d3逻辑部件110和pmic 130是常开域150的一部分。然而,作为d3/l2功率状态的一部分,pmic 130可保持被供电,而到d3逻辑部件110的功率被移除。因为pmic 130被供电而数据存储设备104的其余部分不被供电,所以设备控制器106在引导操作或初始化过程期间能够利用存储在hmb地址区域134中的地址从hmb检索上下文数据。在其它实施方案中,如果d3逻辑部件110保持被供电,则可利用存储在易失性存储器136中的地址从hmb检索上下文数据。不是等待主机计算机系统102发送一个或多个数据缓冲器142的hmb的指针或地址,而是使设备控制器106知道上下文数据被存储在何处。因此,设备控制器106能够先发地检索上下文数据,利用令牌或存储在令牌132中的安全数据验证上下文数据,并且利用上下文数据初始化数据存储设备104。
39.图2示出了根据某些实施方案的数据存储设备(诸如图1的数据存储设备104)的功率状态图200的示意性流程图。数据存储设备104在各种功率状态(诸如d0、d1、d2、d3
hot
和d3
cold
)下操作。此外,数据存储设备104可在附加功率状态d3/l2下操作,其中数据存储设备104的一部分保持被供电且另一部分不被供电。可以设想,其他功率状态以及少于或多于所述数量的功率状态适用于所述实施方案。主机(诸如图1的主机计算机系统102)可通过接口(诸如图1的接口160)上的一个或多个引脚向数据存储设备104提供合适的功率量。
40.该合适的功率量可大于或等于数据存储设备104操作所需的功率量。例如,数据存储设备104可从主机计算机系统102接收的功率可以为约5w。此外,数据存储设备104可从主机计算机系统102汲取约500mw至约15w的功率。先前提及的功率值并非旨在进行限制,而是旨在提供参考。
41.如前所述,数据存储设备104可具有若干功率状态,诸如d0、d1、d2、d3
hot
和d3
cold
。功率状态中的每个功率状态与不同的数据存储设备104操作相关联。功率状态的特性在于以下属性:功率消耗、数据存储设备上下文、数据存储设备驱动器行为、恢复时间和唤醒能力。功率状态被顺序地编号,其中较高的数字表示较低的功率需求和对应较高的退出延迟。此外,每个功率状态具有相关联的功率需求和退出延迟。如图2所示,数据存储设备可从d0转变到d1、d2或d3
hot
功率状态。当数据存储设备104关闭时,数据存储设备的功率状态从
d3
hot
退出并且进入d3
cold
。
42.d0功率状态被认为是完全可操作的功率状态,其中数据存储设备104完全接通并且可操作。可操作的功率状态是指主机计算机系统102与数据存储设备104通信以便执行输入/输出(i/o)操作的能力,并且数据存储设备104可生成中断。中断是由于系统定时器或用户命令导致的固件执行的自动传输。d0功率状态具有最高水平的数据存储设备104的连续功率消耗。在空闲时间段(例如,没有i/o操作等)之后,主机计算机系统102可指示数据存储设备104进入低功耗功率状态,诸如d1、d2和d3
hot
功率状态。当数据存储设备104不再使用时,主机计算机系统102可指示数据存储设备104从d3
hot
功率状态进入不可操作的功率状态d3
cold
以将空闲功率消耗限制到最小值。为了使i/o命令发生,数据存储设备从功率状态d1、d2、d3
hot
和d3
cold
唤醒并且置于功率状态d0。
43.数据存储设备104可转换到中间功率状态,d3/l2功率状态,而不是从d3
hot
功率状态转换到d3
cold
功率状态。d3/l2功率状态的特征在于主机计算机系统102继续向主电力轨提供功率。然而,在d3/l2功率状态中,功率禁用(pwrdis)信号被断言。当pwrdis信号被断言时,数据存储设备104被指示移除内部功率。然而,在d3/l2功率状态中,某些部件(例如,pmic 130)可连续地从主机计算机系统102接收功率,而数据存储设备104的其余部分被完全关闭。因为数据存储设备104的其余部分被完全关闭,所以用于恢复的默认行为可以与从d3
cold
功率状态的恢复行为相同。在一些示例中,数据存储设备104可在返回到d0功率状态之前从d3/l2功率状态转换到d3
cold
功率状态。在其它示例中,数据存储设备104可从d3/l2功率状态转换到d0功率状态。
44.图3a示出了根据某些实施方案例示从d3/l2功率状态的数据存储设备(诸如图1的数据存储设备104)初始化操作的方法300的流程图。在方法300的描述中可以参考数据存储系统100的方面。在框302处,功率禁用(pwrdis)被解除断言,使得将主机计算系统102的功率递送到数据存储设备104。因为数据存储设备104正在d3/l2功率状态下操作,所以某些区域(诸如pmic 130)已被供电,而数据存储设备104的其余部分在功率禁用解除断言时被断电。
45.在框304处,对设备控制器106复原功率。当对设备控制器106复原功率时,在框306处,从pmic 130检索hmb地址和令牌/安全数据。在框308处,初始化pcie,诸如pcie mac phy 108。利用从pmic 130检索的hmb地址,从对应于hmb地址的位置读取上下文数据(例如,初始化数据)。
46.在框312处,对照存储在pmic 130的令牌区域132中的令牌/安全数据来验证上下文数据。利用令牌/安全数据,由令牌生成器/恢复单元114验证上下文数据。如果验证失败,则在框314处,从nvm 124中的位置发生从低功率状态(即,d3/l2状态)的初始化或恢复,并且在框318处,设备进入d0状态。然而,如果验证通过,则在框316处,从主机存储器138的一个或多个数据缓冲器142的hmb发生从较低功率状态初始化或恢复,并且在框318处,设备进入d0状态。
47.图3b示出了根据某些实施方案例示数据存储设备(诸如图1的数据存储设备104)d3/l2功率状态进入操作的方法的流程图。在方法350的描述中可以参考数据存储系统100的方面。在框352处,pwrdis被断言。当pwrdis被断言时,主机计算系统102停止提供功率或向数据存储设备104提供最小量的功率。
48.在框354处,当设备控制器106检测到pwrdis已被断言使得数据存储设备104即将进入低功率状态模式时,位于aon asic(诸如d3逻辑部件110)的易失性存储器136中的上下文数据被写入主机存储器138的一个或多个数据缓冲器142的hmb。该检测可以是在空闲时间段之后来自主机计算机系统102的指令或指示。例如,空闲时间段可以是不接收或执行从主机设备接收的命令的时间段。此外,令牌生成器/恢复单元114生成对应于上下文数据的令牌或安全数据。在框356处,令牌或安全数据以及hmb中上下文数据的位置被记录在pmic寄存器中。例如,hmb中上下文数据的位置被存储在hmb地址区域134中,并且令牌或安全数据被存储在令牌区域132中。
49.在框348处,链路和设备控制器106(包括aon asic,诸如d3逻辑部件110)被关断。在框360处,数据存储设备进入d3/l2功率状态。在d3/l2功率状态中,某些常开域150部件(诸如,pmic130)仍被提供功率,使得当返回到活动功率状态时可发生较快初始化。
50.通过在数据存储设备的其余部分不被供电时向常开域部件提供功率,由于从功率禁用断言状态的退出延迟减小,所以可发生较快引导操作。
51.在一个实施方案中,数据存储设备包括存储器设备和耦接到该存储器设备的控制器。控制器包括常开(aon)专用集成电路(asic)。控制器被配置为生成与上下文数据相关联的第一安全数据,将上下文数据存储在存储器设备和主机存储器缓冲器(hmb)两者中,将上下文数据的位置的地址和安全数据存储在功率管理集成电路(pmic)中,并且在数据存储设备唤醒时使用安全数据来验证存储在hmb中的上下文数据。
52.当数据存储设备处于d3/l2功率状态时,pmic保持被供电。pmic包括第一存储位置和第二存储位置。第一存储位置包括存储在hmb中的上下文数据的位置,并且第二存储位置包括安全数据。控制器还被配置为在成功验证上下文数据后,从hmb引导数据存储设备。控制器还被配置为在验证上下文数据不成功时从存储器设备引导数据存储设备。控制器包括安全生成器。安全生成器被配置为生成与上下文数据相关联的安全数据。安全数据是密钥、散列或令牌,并且其中安全数据包括循环冗余码(crc)。控制器还被配置为接收断电指示。该生成发生在接收到断电指示之后。在预定的空闲时间段之后从主机设备接收该指示。预定的空闲时间段包括不接收和执行从主机设备接收的命令的时间段。
53.在另一个实施方案中,数据存储设备包括存储器设备以及耦接到存储器设备的控制器。控制器包括常开(aon)专用集成电路(asic)。控制器被配置为确定功率禁用被断言,将上下文数据写入主机存储器缓冲器(hmb)和存储器设备,将上下文数据的hmb地址和安全数据写入功率管理集成电路(pmic),利使用hmb地址从hmb检索上下文数据,并且对照上下文数据验证安全数据。
54.在移除对数据存储设备的功率之前发生写入上下文数据、安全数据和hmb地址。移除功率包括向pmic供应功率。控制器和存储器设备在从数据存储设备移除功率之后不接收功率。控制器包括d3逻辑部件。d3逻辑部件包括d3逻辑部件特有的一个或多个处理器以及令牌生成器/恢复单元。令牌生成器/恢复单元被配置为生成并验证安全数据。在功率被返回到控制器之后检索hmb地址。hmb地址用于确定上下文数据在hmb中的位置。控制器被配置为在确定上下文数据已经在hmb中被移动或无效时从存储器设备引导数据存储设备。数据存储设备还被配置为在验证安全数据匹配上下文数据时从hmb引导,或者在验证安全数据不匹配上下文数据时从存储器设备引导。控制器还被配置为将安全数据存储在hmb中。对照
存储在pmic中的安全数据来验证存储在hmb中的安全数据。
55.在另一实施方案中,数据存储设备包括存储器装置以及耦接到存储器装置的控制器装置。控制器装置包括专用集成电路(asic)装置。asic装置常开(aon)。控制器装置被配置为生成安全数据,将上下文数据存储到主机存储器缓冲器(hmb),将安全数据和hmb中对应于上下文数据的位置数据存储到功率管理集成电路(pmic),确定存储在hmb中的上下文数据匹配存储在pmic中的安全数据,并且在对照安全数据验证上下文数据时从hmb引导数据存储设备。
56.引导还包括在确定上下文数据不匹配安全数据或者确定位置数据不再有效时从存储器装置引导存储设备。在功率不被供应给控制器装置和存储器装置的时间期间,功率被供应给pmic。
57.虽然前述内容针对本公开的实施方案,但是可以在不脱离本公开的基本范围的情况下设想本公开的其他和另外的实施方案,并且本公开的范围由所附权利要求书确定。