G11C5/14 G11C7/04
1.一种固态存储设备的控制方法,其特征在于,包括如下步骤:
步骤S1、测量出当前温度值;
步骤S2、依据当前温度值与目标温度值的差,更新功率额度池的值;
步骤S3、响应于存在访问NVM芯片的操作,从功率额度池申请功率额度;
步骤S4、根据申请到的功率额度,执行访问NVM芯片的操作;
步骤S5、响应于访问NVM芯片的操作的执行完成,归还功率额度。
2.如权利要求1所述的固态存储设备的控制方法,其特征在于,若当前温度值大于目标 温度值,则降低额定功率池的值;若当前温度值小于目标温度值,则提高功率额度池的值。
3.如权利要求1-2任一项所述的固态存储设备的控制方法,其特征在于,依据当前温度 值与目标温度值的差,更新功率额度池的值包括:
判断固态存储设备当前是否为功率无限制模式;
若是,则将功率额度池的功率可使用额度设定为最大值,并更新功率额度池的值。
6.如权利要求1-5任一项所述的固态存储设备的控制方法,其特征在于,响应于出现突 发的访问NVM芯片的操作,调低目标功率值。
4.一种固态存储设备的控制方法,其特征在于,包括如下步骤:
测量当前功率值,依据当前功率值与目标功率值的差,更新功率额度池的功率可使用 额度;
测量出当前温度值;
依据当前温度值与目标温度值的差,计算功率额度池的第二功率可使用额度;
若第二功率可使用额度小于功率额度池的功率可使用额度,用第二功率可使用额度更 新功率额度池的功率可使用额度。
5.根据权利要求4所述的固态存储设备的控制方法,其特征在于,还包括:
响应于存在访问NVM芯片的操作,从功率额度池申请功率额度;
根据申请到的功率额度,执行访问NVM芯片的操作;
响应于访问NVM芯片的操作的执行完成,归还功率额度。
7.一种固态存储设备,其特征在于,包括:NVM芯片、控制管理器和温度传感器,NVM芯片 和控制管理器耦合,温度传感器和控制管理系统相耦合;
温度传感器用于测量固态存储设备的当前温度;
控制管理器用于依据温度传感器测量的固态存储设备的当前温度与目标温度的差,调 度访问NVM芯片的IO操作。
8.如权利要求7所述的固态存储设备,其特征在于,控制管理器包括:功率控制单元、功 率额度池和功率额度管理器,功率额度池分别和功率额度管理器、功率控制单元相耦合,功 率额度管理器和NVM芯片相耦合,功率控制单元耦合到温度传感器,其中,
功率控制单元用于根据当前温度值及目标温度值,根据当前温度值及目标温度值,设 置功率额度池的功率额度值;
功率额度管理器用于向功率额度池申请功率额度,允许执行访问NVM芯片的操作,并在 操作执行完成后,向功率额度池归还功率额度。
9.如权利要求7或8所述的固态存储设备,其特征在于,功率控制单元还用于识别突发 的访问NVM芯片的IO操作,并调低目标功率值。
10.根据权利要求7-9之一所述的固态存储设备,还包括功率传感器,功率传感器用于 测量固态存储设备的当前功率,并耦合到功率控制单元820;
所述功率控制单元依据当前功率与目标功率的差计算基于功率的功率可使用额度,以 及依据当前温度与目标温度的差计算基于温度的功率可使用额度,以及依据基于功率的功 率可使用额度与基于温度的功率可使用额度中较小的一个更新功率额度池的功率额度值。
本申请涉及固态存储技术领域,具体涉及一种固态存储设备及其控制方法。
图1是现有技术的固态存储设备的框图。固态存储设备102同主机相耦合,用于为 主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但 不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、 SCSI(Small Computer System Interface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB (Universal Serial Bus,通用串行总线)、PCIE(Peripheral Component Interconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通 道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设 备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换 机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多 个NVM芯片105以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)110。
NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储 器)等是常见的NVM。
接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方 式与主机交换数据。
控制部件104用于控制在接口103、NVM芯片105以及固件存储器110之间的数据传 输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件 104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA (Field-programmable gate array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,应用专用集成电路)或者其组合的形式;控制部件104也可以包括处 理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO (Input/Output)命令;控制部件104还可以耦合到DRAM 110,并可访问DRAM 110的数据;在 DRAM可存储FTL表和/或缓存的IO命令的数据。
控制部件104包括闪存接口控制器(或称为闪存通道控制器),闪存接口控制器耦 合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作 NVM芯片105,并接收从NVM芯片105输出的命令执行结果。NVM芯片105的接口协议包括 “Toggle”、“ONFI”等公知的接口协议或标准。
存储器目标(Target)是NAND闪存封装内的共享芯片使能信号(CE,Chip Enable) 的一个或多个逻辑单元(Logic Unit)。每个逻辑单元具有逻辑单元号(LUN,Logic Unit Number)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管 芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存 芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。
在固态存储设备中,访问NVM芯片105的不同操作所消耗的能量不同对应不同的功 耗。NVMe协议中定义了固态存储设备的功耗状态(参看表1)。表1中定义了多种功耗状态,以 及每种功耗状态具有不同的最大功耗。固态存储设备的工作温度也需要被有效的控制。温 度过高或过低都会影响电子器件的工作。温度受固态存储设备的功耗、环境散热能力等因 素影响。固态存储设备的温度温度过高或者过低都会影响电子器件的工作。
表1
功耗状态 最大功耗 进入延迟 退出延迟
0 25W 5μs 5μs
1 18W 5μs 7μs
2 18W 5μs 8μs
3 15W 20μs 15μs
4 10W 20μs 30μs
5 8W 20μs 50μs
6 5W 20μs 5000μs
符合NVMe协议的固态存储设备需要实现多种功耗状态。为实现NVMe协议要求的功 耗状态,需要将固态存储设备的温度和功耗控制在指定的值或范围内。本发明的目的在于 提供一种固态存储设备及其控制方法。用于对固态存储设备的功率和温度进行控制。
根据本发明的第一方面,提供根据本发明第一方面的第一固态存储设备的控制方 法,包括如下步骤:步骤S1、测量出当前温度值;步骤S2、依据当前温度值与目标温度值的 差,更新功率额度池的值;步骤S3、响应于存在访问NVM芯片的操作,从功率额度池申请功率 额度;步骤S4、根据申请到的功率额度,执行访问NVM芯片的操作;步骤S5、响应于访问NVM芯 片的操作的执行完成,归还功率额度。
根据本发明的第一方面的第一固态存储设备的控制方法,提供了根据本发明第一 方面的第二固态存储设备的控制方法,若当前温度值大于目标温度值,则降低额定功率池 的值;若当前温度值小于目标温度值,则提高功率额度池的值。
根据本发明的第一方面的第二固态存储设备的控制方法,提供了根据本发明第一 方面的第三固态存储设备的控制方法,功率额度池的值的降低或者提高的量,正比于当前 温度值与目标温度值的差。
根据本发明的第一方面的第二固态存储设备的控制方法,提供了根据本发明第一 方面的第四固态存储设备的控制方法,依据当前温度值与目标温度值的差,获取功率额度 池的值的降低或者提高的量。
根据本发明的第一方面的第一至第四固态存储设备的控制方法之一,提供了根据 本发明第一方面的第五固态存储设备的控制方法,还包括:测量当前功率值,若当前功率值 大于目标功率值,则降低额定功率池的值;若当前功率值小于目标功率值,则提高功率额度 池的值。
根据本发明的第一方面的第一至第五固态存储设备的控制方法之一,提供了根据 本发明第一方面的第六固态存储设备的控制方法,所述从功率额度池申请功率额度还包 括:响应于功率额度申请成功,执行步骤S4。
根据本发明的第一方面的第一至第六固态存储设备的控制方法之一,提供了根据 本发明第一方面的第七固态存储设备的控制方法,周期性地执行步骤S2。
根据本发明的第一方面的第一至第七固态存储设备的控制方法之一,提供了根据 本发明第一方面的第八固态存储设备的控制方法,依据当前温度值与目标温度值的差,更 新功率额度池的值包括:判断固态存储设备当前是否为功率无限制模式;若是,则将功率额 度池的功率可使用额度设定为最大值,并更新功率额度池的值。
根据本发明的第一方面的第一至第八固态存储设备的控制方法之一,提供了根据 本发明第一方面的第九固态存储设备的控制方法,若固态存储设备当前非处于功率无限制 模式;则判断是否到了获取温度值的周期;若是,读取当前温度值,并依据当前温度值与目 标温度值的差,更新功率额度池的功率可使用额度,并更新功率额度池的值。
根据本发明的第一方面的第一至第九固态存储设备的控制方法之一,提供了根据 本发明第一方面的第十固态存储设备的控制方法,响应于出现突发的访问NVM芯片的操作, 调低目标功率值。
根据本发明的第一方面的第十固态存储设备的控制方法,提供了根据本发明第一 方面的第十一固态存储设备的控制方法,出现突发的访问NVM芯片的操作包括,在单位时间 内存在超过第一阈值的读操作、写操作或擦除操作,或者三种操作的总量超过第二阈值。
根据本发明的第一方面的第十固态存储设备的控制方法,提供了根据本发明第一 方面的第十二固态存储设备的控制方法,突发的访问NVM芯片的操作指在单位时间内访问 NVM芯片的操作的增量超过第三阈值。
根据本发明的第一方面的第十至第十二固态存储设备的控制方法之一,提供了根 据本发明第一方面的第十三固态存储设备的控制方法,固态存储设备包括多个命令队列, 一个命令队列中的访问NVM芯片的操作访问与该命令队列对应的逻辑单元。
根据本发明的第一方面的第十三固态存储设备的控制方法,提供了根据本发明第 一方面的第十四固态存储设备的控制方法,若功率额度池的值不够分配给多个访问NVM芯 片的操作,将额度值轮流分配给不同命令队列中的访问NVM芯片的操作。
根据本发明的第一方面的第一至第十四固态存储设备的控制方法之一,提供了根 据本发明第一方面的第十五固态存储设备的控制方法,执行读操作、编程操作或擦除操作 所需的额度值不同。
本发明的固态存储设备的控制方法,使得固态存储设备的温度和功率得到控制, 对固态存储设备的功耗管理更合理,延长了固态存储设备的使用次数和使用寿命。
根据本发明的第二方面,提供了根据本发明的第二方面的第一固态存储设备的控 制方法,包括如下步骤:测量当前功率值,依据当前功率值与目标功率值的差,更新功率额 度池的功率可使用额度;测量出当前温度值;依据当前温度值与目标温度值的差,计算功率 额度池的第二功率可使用额度;若第二功率可使用额度小于功率额度池的功率可使用额 度,用第二功率可使用额度更新功率额度池的功率可使用额度。
根据本发明的第二方面的第一固态存储设备的控制方法,提供了根据本发明第二 方面的第二固态存储设备的控制方法,响应于存在访问NVM芯片的操作,从功率额度池申请 功率额度;根据申请到的功率额度,执行访问NVM芯片的操作;响应于访问NVM芯片的操作的 执行完成,归还功率额度。
根据本发明的第二方面的第一至第二固态存储设备的控制方法之一,提供了根据 本发明第二方面的第三固态存储设备的控制方法,响应于出现突发的访问NVM芯片的操作, 调低目标功率值。
根据本发明的第二方面的第三固态存储设备的控制方法,提供了根据本发明第二 方面的第四固态存储设备的控制方法,出现突发的访问NVM芯片的操作包括,在单位时间内 存在超过第一阈值的读操作、写操作或擦除操作,或者三种操作的总量超过第二阈值。
根据本发明的第二方面的第三固态存储设备的控制方法,提供了根据本发明第二 方面的第五固态存储设备的控制方法,突发的访问NVM芯片的操作指在单位时间内访问NVM 芯片的操作的增量超过第三阈值。
根据本发明的第二方面的第三至第五固态存储设备的控制方法之一,提供了根据 本发明第二方面的第六固态存储设备的控制方法,固态存储设备包括多个命令队列,一个 命令队列中的访问NVM芯片的操作访问与该命令队列对应的逻辑单元。
根据本发明的第二方面的第六固态存储设备的控制方法,提供了根据本发明第二 方面的第七固态存储设备的控制方法,若功率额度池的值不够分配给多个访问NVM芯片的 操作,将额度值轮流分配给不同命令队列中的访问NVM芯片的操作。
根据本发明的第二方面的第一至第七固态存储设备的控制方法之一,提供了根据 本发明第二方面的第八固态存储设备的控制方法,访问NVM芯片的操作包括读操作、编程操 作或擦除操作。
根据本发明的第二方面的第八固态存储设备的控制方法,提供了根据本发明第二 方面的第九固态存储设备的控制方法,执行读操作、编程操作或擦除操作所需的额度值不 同。
本发明的固态存储设备的控制方法,使得固态存储设备的温度和功率得到控制, 对固态存储设备的功耗管理更合理,延长了固态存储设备的使用次数和使用寿命。
根据本发明的第三方面,提供了根据本发明第三方面的第一固态存储设备,包括: NVM芯片、控制管理系统、功率传感器和温度传感器,NVM芯片和控制管理系统耦合,功率传 感器与温度传感器均和控制管理系统相相耦合;功率传感器用于测量固态存储设备的当前 功率值;温度传感器用于测量固态存储设备的当前温度值;控制管理系统用于通过功率传 感器测量的固态存储设备的当前功率值,通过温度传感器测量的固态存储设备的当前温度 值,调度访问NVM芯片的操作。
根据本发明的第三方面的第一固态存储设备,提供了根据本发明第三方面的第二 固态存储设备,控制管理系统包括:功率控制单元、功率额度池和功率额度管理器,功率额 度池分别和功率额度管理器、功率控制单元相耦合,功率额度管理器和NVM芯片相耦合,功 率控制单元耦合到功率传感器以及温度传感器,其中,功率控制单元用于根据当前温度值 及目标温度值,在满足目标功率值的同时,将当前温度值控制在目标温度值以下;根据当前 功率值及目标功率值,设置功率额度池的值;功率额度管理器用于向功率额度池申请额度, 允许执行访问NVM芯片的操作,并在操作执行完成后,向功率额度池归还额度。
根据本发明的第三方面的第二固态存储设备,提供了根据本发明第三方面的第三 固态存储设备,功率额度管理器向功率额度池申请额度失败时,暂停访问NVM芯片的操作, 直到向功率额度池申请额度成功。
根据本发明的第三方面的第一或第二固态存储设备,提供了根据本发明第三方面 的第四固态存储设备,功率控制单元还用于识别突发的访问NVM芯片的操作,并调低目标功 率值。
本发明的固态存储设备,使得固态存储设备的温度和功率得到控制,对固态存储 设备的功耗管理更合理,延长了固态存储设备的使用次数和使用寿命。
根据本发明的第四方面,提供根据本发明第四方面的第一固态存储设备的功率控 制方法,包括如下步骤:步骤S1、响应于存在访问NVM芯片的操作,从功率额度池申请功率额 度;步骤S2、根据申请到的功率额度,执行访问NVM芯片的操作;步骤S3、响应于访问NVM芯片 的操作的执行完成,向功率额度池归还功率额度。
根据本发明的第四方面的第一固态存储设备的功率控制方法,提供了根据本发明 第四方面的第二固态存储设备的功率控制方法,还包括:步骤R1、获取固态存储设备的当前 功率值;步骤R2、依据当前功率值与目标功率值的差,更新功率额度池的值。
根据本发明的第四方面的第一至第二固态存储设备的功率控制方法之一,提供了 根据本发明的第四方面的第三固态存储设备的功率控制方法,所述从功率额度池申请功率 额度还包括:响应于功率额度申请成功,执行步骤S2。
根据本发明的第四方面的第一至第二固态存储设备的功率控制方法之一,提供了 根据本发明的第四方面的第四固态存储设备的功率控制方法,所述从功率额度池申请功率 额度还包括,响应于功率额度申请失败,暂定对所述访问NVM芯片的操作的处理,直到功率 额度申请成功。
根据本发明的第四方面的第一至第三固态存储设备的功率控制方法之一,提供了 根据本发明的第四方面的第五固态存储设备的功率控制方法,周期性地执行步骤R2。
根据本发明的第四方面的第一至第三固态存储设备的功率控制方法之一,提供了 根据本发明的第四方面的第六固态存储设备的功率控制方法,步骤R2中,依据当前功率值 与目标功率值的差,更新功率额度池的值包括:判断固态存储设备当前是否为功率无限制 模式;若是,则将功率额度池的功率可使用额度设定为最大值,并更新功率额度池的值。
根据本发明的第四方面的第一至第六固态存储设备的功率控制方法之一,提供了 根据本发明的第四方面的第七固态存储设备的功率控制方法,依据当前功率值与目标功率 值的差,更新功率额度池的值包括:若当前功率值大于目标功率值,则降低功率额度池的 值;若当前功率值小于目标功率值,则提高功率额度池的值。
根据本发明的第四方面的第七固态存储设备的功率控制方法,提供了根据本发明 的第四方面的第八固态存储设备的功率控制方法,功率额度池的值的降低或者提高的量, 正比于当前功率值与目标功率值的差。
根据本发明的第四方面的第一至第八固态存储设备的功率控制方法之一,提供了 根据本发明的第四方面的第九固态存储设备的功率控制方法,还包括:响应于出现突发的 访问NVM芯片的操作,调低目标功率值。
根据本发明的第四方面的第九固态存储设备的功率控制方法,提供了根据本发明 的第四方面的第十固态存储设备的功率控制方法,出现突发的访问NVM芯片的操作包括:在 单位时间内存在超过第一阈值的读操作、写操作或擦除操作,或者三种操作的总量超过第 二阈值。
根据本发明的第四方面的第九固态存储设备的功率控制方法,提供了根据本发明 的第四方面的第十一固态存储设备的功率控制方法,突发的访问NVM芯片的操作指在单位 时间内访问NVM芯片的操作的增量超过第三阈值。
根据本发明的第四方面的第九至第十一固态存储设备的功率控制方法之一,提供 了根据本发明的第四方面的第十二固态存储设备的功率控制方法,固态存储设备包括多个 命令队列,一个命令队列中的访问NVM芯片的操作访问与该命令队列对应的逻辑单元。
根据本发明的第四方面的第十二固态存储设备的功率控制方法,提供了根据本发 明的第四方面的第十三固态存储设备的功率控制方法,若功率额度池的值不够分配给多个 访问NVM芯片的操作,将额度值轮流分配给不同命令队列中的访问NVM芯片的操作。
根据本发明的第四方面的第一至第十三固态存储设备的功率控制方法之一,提供 了根据本发明的第四方面的第十四固态存储设备的功率控制方法,访问NVM芯片的操作包 括读操作、编程操作或擦除操作。
根据本发明的第四方面的第十四固态存储设备的功率控制方法,提供了根据本发 明的第四方面的第十五固态存储设备的功率控制方法,执行读操作、编程操作或擦除操作 所需的额度值不同。
本发明的固态存储设备的功率控制方法,使得固态存储设备的功率得到控制,对 固态存储设备的功耗管理更合理,延长了固态存储设备的使用次数和使用寿命。
根据本发明的第五方面,提供了根据本发明的第五方面的第一固态存储设备,包 括:NVM芯片、功率管理系统和功率传感器,NVM芯片和功率管理系统耦合,功率传感器和功 率管理系统相相耦合;功率传感器用于测量固态存储设备的当前功率值;功率管理系统用 于通过功率传感器测量的固态存储设备的当前功率值,调度访问NVM芯片的操作。
根据本发明的第五方面的第一固态存储设备,提供了根据本发明的第五方面的第 二固态存储设备,功率管理系统包括:功率控制单元、功率额度池和功率额度管理器,功率 额度池分别和功率额度管理器、功率控制单元相耦合,功率额度管理器和NVM芯片相耦合, 功率控制单元耦合到功率传感器,其中,功率控制单元用于根据当前功率值及目标功率值, 设置功率额度池的值;功率额度管理器用于向功率额度池申请额度,允许执行访问NVM芯片 的操作,并在操作执行完成后,向功率额度池归还额度。
根据本发明的第五方面的第二固态存储设备,提供了根据本发明的第五方面的第 三固态存储设备,功率额度管理器向功率额度池申请额度失败时,功率额度池中的额度值 用光时,暂停访问NVM芯片的操作,直到向功率额度池申请额度成功。
根据本发明的第五方面的第二或第三固态存储设备,提供了根据本发明的第五方 面的第四固态存储设备,功率控制单元还用于识别突发的访问NVM芯片的操作,并调低目标 功率值。
本发明的固态存储设备的功率控制方法,使得固态存储设备的功率得到控制,对 固态存储设备的功耗管理更合理,延长了固态存储设备的使用次数和使用寿命。
根据本发明的第六方面,提供了根据本发明的第六方面的第一固态存储设备的功 率控制装置,包括:功率额度申请模块,用于响应于存在访问NVM芯片的操作,从功率额度池 申请功率额度;执行模块,用于根据申请到的功率额度,执行访问NVM芯片的操作;以及功率 额度归还模块,用于响应于访问NVM芯片的操作的执行完成,向功率额度池归还功率额度。
根据本发明的第六方面的第一固态存储设备的功率控制装置,提供了根据本发明 的第六方面的第二固态存储设备的功率控制装置,功率获取模块,用于获取固态存储设备 的当前功率值;功率额度更新模块,用于依据当前功率值与目标功率值的差,更新功率额度 池的值。
根据本发明的第六方面的第一或第二固态存储设备的功率控制装置,提供了根据 本发明的第六方面的第三固态存储设备的功率控制装置,响应于功率额度申请模块申请功 率额度成功,执行模块执行访问NVM芯片的操作。
根据本发明的第六方面的第一或第二固态存储设备的功率控制装置,提供了根据 本发明的第六方面的第四固态存储设备的功率控制装置,响应于功率额度申请模块申请功 率额度失败,执行模块暂停对所述访问NVM芯片的操作的处理,直到功率额度申请模块申请 功率额度成功。
根据本发明的第六方面的第一至第三固固态存储设备的功率控制装置之一,提供 了根据本发明的第六方面的第五固态存储设备的功率控制装置,功率额度更新模块周期性 地更新功率额度池的值。
根据本发明的第六方面的第一至第三固固态存储设备的功率控制装置之一,提供 了根据本发明的第六方面的第六固态存储设备的功率控制装置,功率额度更新模块依据当 前功率值与目标功率值的差,更新功率额度池的值包括:判断固态存储设备当前是否为功 率无限制模式;若是,则将功率额度池的功率可使用额度设定为最大值,并更新功率额度池 的值。
根据本发明的第六方面的第一至第六固态存储设备的功率控制装置之一,提供了 根据本发明的第六方面的第七固态存储设备的功率控制装置,功率额度更新模块依据当前 功率值与目标功率值的差,更新功率额度池的值包括:若当前功率值大于目标功率值,则降 低额定功率池的值;若当前功率值小于目标功率值,则提高额定功率额度池的值。
根据本发明的第六方面的第七固态存储设备的功率控制装置,提供了根据本发明 的第六方面的第八固态存储设备的功率控制装置,功率额度池的值的降低或者提高的量, 正比于当前功率值与目标功率值的差。
根据本发明的第六方面的第一至第八固态存储设备的功率控制装置之一,提供了 根据本发明的第六方面的第九固态存储设备的功率控制装置,功率额度更新模块响应于出 现突发的访问NVM芯片的操作,调低目标功率值。
根据本发明的第六方面的第一至第九固态存储设备的功率控制装置之一,提供了 根据本发明的第六方面的第十固态存储设备的功率控制装置,固态存储设备包括多个命令 队列,一个命令队列中的访问NVM芯片的操作访问与该命令队列对应的逻辑单元。
根据本发明的第六方面的第十固态存储设备的功率控制装置,提供了根据本发明 的第六方面的第十一固态存储设备的功率控制装置,若功率额度池的值不够分配给多个访 问NVM芯片的操作,将额度值轮流分配给不同命令队列中的访问NVM芯片的操作。
本发明的固态存储设备的功率控制装置,使得固态存储设备的功率得到控制,对 固态存储设备的功耗管理更合理,延长了固态存储设备的使用次数和使用寿命。
根据本发明的第七方面,提供一种包括程序代码的程序,当被载入存储设备并在 存储设备上执行时,所述程序代码使所述存储设备执行根据本发明的第一方面、第二方面 或第四方面的方法。
本发明的固态存储设备的程序代码的程序,使得固态存储设备的温度和功率得到 控制,对固态存储设备的功耗管理更合理,延长了固态存储设备的使用次数和使用寿命。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他 的附图。
图1是现有技术的固态存储设备的框图;
图2是根据本发明实施例的功率管理系统的框图;
图3是根据本发明又一实施例的功率管理系统的框图;
图4是根据本发明又一实施例的功率控制过程的流程图;
图5是根据本发明又一实施例的功率控制过程的流程图;
图6是根据本发明又一实施例的功率管理系统的框图;
图7是根据本发明又一实施例的功率管理系统的框图;
图8是根据本发明另一实施例的功率管理系统的框图;
图9是根据本发明另一实施例的温度-功率控制过程的流程图;
图10根据本发明又一实施例的温度-功率控制过程的流程图;
图11是根据本发明另一实施例的功率管理系统的框图;以及
图12是根据本发明依然又一实施例的温度-功率控制过程的流程图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例,都属于本发明保护的范围。
固态存储设备的功耗主要来源于对NVM芯片进行读操作、编程操作与擦除操作。每 种操作消耗的能量不同。例如,在一种配置(时钟频率、物理页大小等)下,单一NVM读操作的 功耗约90mW(毫瓦)、单一编程操作的功耗约150mW,单一擦除操作的功耗约180mW。固态存储 设备中可包括多个NVM芯片,而NVM芯片的逻辑单元(LUN)可以并行访问,因而在固态存储设 备的多个逻辑单元上可并行执行读操作、编程操作或擦除操作。在多个逻辑单元上并行执 行的操作数量,也直接影响了固态存储设备的功耗。
在根据本发明的实施例中,通过控制发出的NVM芯片的读操作、编程操作、擦除操 作等操作的数量,来实现所需要的功耗状态。
实施例1
图2是根据本发明实施例1的功率管理系统的框图。固态存储设备在不同的功率状 态下具有不同的目标功率值,如25瓦。如图2所示,固态存储设备的功率管理系统200包括功 率管理器210与功率传感器230。功率管理器210耦合到NVM芯片105(也参看图1),用于依据 功耗控制目标控制是否将命令队列240中的访问NVM芯片的IO操作发送给NVM芯片105。功率 传感器230检测或采集固态存储设备的功率,例如通过检测固态存储设备电源的电流和/或 电压来得到功率值。功率管理系统200还维护目标功率220。目标功率220指示当前功率状态 下固态存储设备的功率上限。在一个例子中,功率管理器210从功率传感器230获得固态存 储设备的当前功率,与目标功率220指示的值相比较。若当前功率小于目标功率,功率管理 器210允许将命令队列240中的IO操作发送给NVM芯片105;若当前功率不小于目标功率,功 率管理器210实施功率控制,并禁止将命令队列240中的IO操作发送给NVM芯片105。功率管 理器210可实现于固态存储设备的控制部件104(也参看图1),或由控制部件104中的CPU通 过执行程序来实现。
图3是根据本发明又一实施例的功率管理系统的框图。如图3所示,功率管理系统 300包括:功率控制单元320、功率额度池330和功率额度管理器310。功率额度管理器310依 据功率额度池330提供的功率额度,控制是否将命令队列240中的访问NVM芯片IO操作发送 给NVM芯片105。响应于命令队列240中有待处理的访问NVM芯片105(也参看图1)的操作,功 率额度管理器310从功率额度池330申请功率额度。不同类型的IO操作所需的功率额度值不 同。
功率控制单元320耦合到功率传感器230,比较功率传感器230提供的当前功率与 目标功率220,来更新功率额度池330的功率额度值。例如,在当前功率小于目标功率220时, 向功率额度池330提供更多的功率额度,而在当前功率大于目标功率时,削减功率额度池 330的值。功率额度池330的功率额度值决定了固态存储设备中可并发运行的IO操作的数 量。在命令队列240中有要发送给NVM芯片105的IO操作时,功率额度管理器310向功率额度 池330申请功率额度,IO操作完成后将申请的功率额度归还功率额度池330。
在一个例子中,功率额度池330的初始额度值为100,每条NVM芯片读操作需要的额 度值为3,每条NVM芯片编程操作需要的额度值为14,每条NVM芯片擦除操作需要的额度值为 15。在命令队列240中有读操作要处理时,功率额度管理器310向功率额度池330申请额度值 3。响应于功率额度管理器310申请了额度值3,功率额度池330的额度值从100变为97。响应 于该读命令执行完成,功率额度管理器310将值为3的额度归还给功率额度池330。以功率额 度池330的初始值为100为例,固态存储设备可以并行处理33条读操作,7条编程操作或6条 擦除操作。
可选地,当功率额度池330的功率额度用光时,功率额度管理器310将暂停处理命 令队列240中的IO操作。
例如,功率额度池330的功率额度值为7,而命令队列240中有编程操作需要处理, 需要的额度值为14。由于功率额度池330的剩余额度值小于14,表明剩余额度值不够支持编 程操作。功率额度管理器310无法得到对该编程操作的额度值,因而暂定对命令队列240的 编程操作的处理,直到功率额度池330中出现了足够分配给编程操作的功率额度值。可选 地,功率额度管理器310调度命令队列240中的读操作。读操作需要的额度值为3,小于功率 额度池330的剩余额度值7,因而功率额度管理器310能够从功率额度池330获得足够用于读 操作的功率额度,并将读操作发送给NVM芯片105。
可选地,在固态存储设备的功率控制的过程中,周期性地从功率传感器230获取当 前功率,与目标功率220进行比较,并对功率额度池330的功率额度值进行更新。
图4是根据本发明又一实施例的功率控制过程的流程图。如图4所示,对固态存储 设备的功率进行控制的过程包括:功率控制单元320从功率传感器230获得当前功率值,以 及获得目标功率220。功率控制单元320依据当前功率值与目标功率值的差,更新功率额度 池330的功率额度值。响应于访问NVM芯片的IO操作,功率额度管理器310向功率额度池330 申请功率额度。对于不同类型的IO操作,需要的功率额度可能不同。一般地,若功率额度池 330的功率额度值不小于IO操作所需的功率额度,则功率额度申请会成功,以及功率额度池 330的功率额度值相应地减少被申请的额度值。若功率额度申请成功,功率额度管理器310 允许将IO操作发送给NVM芯片105;若功率额度申请不成功,则暂时停止对该IO操作的处理, 功率额度管理器310继续为该IO操作申请功率额度,直至功率额度申请成功。响应于访问 NVM芯片的IO操作执行完成,向功率额度池330归还功率额度。响应于归还功率额度,功率额 度池330的值增加被归还的额度值。
图5是根据本发明又一实施例的功率控制过程的流程图。如图5所示,对固态存储 设备的功率进行控制的过程包括:功率控制单元320判断当前是否是功率无限制的功率状 态,在功率无限制的功率状态下,则设置功率额度池330的功率可使用额度为最大值,并更 新功率额度池330的功率额度值。主机可将固态存储设备设置为功率无限制的功率状态。在 一个例子中,即使在功率无限制的功率状态下,功率控制单元320与功率额度管理器310依 然工作。功率控制单元320依据功率额度池330的功率可使用额度,更新功率额度池330的 值。例如,功率额度池330的功率可使用额度的最大值为210,当前的功率可使用额度为100, 而由于部分功率额度值被申请来处理IO操作,当前功率额度值为50。那么响应于功率额度 池330的可使用额度从当前值100被修改为最大值210,使当前功率额度值增加相同的幅度, 即从50增加到160。
主机还可将固态存储设备设置为其他功率状态。对应于各功率状态,具有各自的 目标功率220。可选地,目标功率220也由主机指定。
若不是在功率无限制的功率状态下,则周期性地从功率传感器230获取当前功率 值,并周期性地更新功率额度池330的功率额度值。例如,响应于定时器事件或者中断,或者 对定时器的轮询,在获取功率的周期开始或结束时,功率控制单元320从功率传感器230读 取当前功率值,而在控制周期的开始或结束时依据当前功率值与目标功率220的差计算功 率额度池320的功率可使用额度,更新功率额度池330的功率额度值。获取功率的周期与控 制周期可以相同或不同。降低获取功率的周期和/或控制周期,有助于提高功率控制的灵敏 度或精度。
作为举例,在获取功率的周期内,不从功率传感器230获取当前功率值。因而在获 取功率的周期内,若控制周期到时,功率控制单元320依据上一次从功率传感器230获取的 功率值计算功率可使用额度。
作为举例,功率控制单元320在更新功率额度池330的额度值时,若当前功率值大 于目标功率值,则降低功率额度池330的功率额度值;若当前功率值小于目标功率值,则提 高功率额度池330的功率额度值。功率额度池330的功率额度值增加或减少的量,正比于当 前功率值与目标功率值的差。
在另一个例子中,功率控制单元320依据当前功率值与目标功率值的差,计算功率 可使用额度的增量。例如,若当前功率值小于目标功率值,功率可使用额度增加;而若当前 功率值大于目标功率值,功率可使用额度降低。以及依据功率可使用额度的增量,相应更新 功率额度池330的功率额度值。
作为举例,令功率可使用额度为P,P(t0)是上一时刻(t0时刻)的功率可使用额度, 而P(t1)是当前要更新的功率可使用额度,令功率额度池的功率额度值为Pc,功率额度池的 值是功率额度池所实际拥有的额度的指示,则:
P(t1)=P(t0)-f(Pm-Pt) 公式(1)
Pm是从功率传感器230获取的当前功率值,Pt是目标功率220,f表示函数,例如f (Pm-Pt)=(Pm-Pt)*k,k为系数。
在申请功率额度(例如10)时,只有Pc大等于要申请的功率额度(例如,10),才能申 请成功,而当Pc小于10时,申请失败。
功率额度池330维护功率额度池330的功率可使用额度P和功率额度池330的功率 额度值Pc。
为了更新功率额度值Pc,在一个例子中,功率控制单元320从功率额度池330读出 功率可使用额度P(t0),通过公式(1)计算得到P(t1);将功率可使用额度P(t1)提供给功率额 度池330。功率额度池330基于接收的功率可使用额度P(t1),用P(t1)与P(t0)的差作为功率 额度值Pc的增量。
作为更新功率额度值Pc的另一个例子,功率控制单元320从功率额度池330读出功 率可使用额度P(t0),通过公式(1)计算得到P(t1),将P(t1)与P(t0)的差值提供给功率额度 池330。而功率额度池330基于所接收的差值,更新功率额度池330的功率额度值(Pc=Pc+(P (t1)-P(t0)))。以及功率额度池330还通过差值得到并记录更新后的功率可使用额度(P (t1)。
在申请额度时,若功率额度池330的功率额度值Pc不小于所申请的功率额度值 credit,则额度申请成功,并更新功率额度池的功率额度值(Pc=Pc–credit)。在释放额度 时,更新功率额度池的功率额度值(Pc=Pc+credit),其中,credit为一条IO操作所需的功 率额度值。
在根据本发明的另一个实施例中,对访问NVM芯片105的读操作、编程操作和擦除 操作进行统计,来识别IO操作的突发。IO操作的突发是指在单位时间内存在超过阈值的读 操作、写操作或擦除操作,或者三种IO操作的总量/加权总量超过阈值,还可以指在单位时 间内IO操作的增量超过阈值。可选地,为每种操作指定不同的阈值来识别IO操作的突发。
响应于识别出IO操作的突发,功率控制单元320降低目标功率220的值,从而抑制 突发大量操作造成的固态存储设备功率大幅上升。
图6是根据本发明又一实施例的功率管理系统的框图。如图6所示的功率管理系统 600同图3中示出的功率管理系统300相似,区别在于功率额度管理器610还对IO操作进行统 计,并向功率控制单元620提供对读操作、编程操作和/或擦除操作的统计结果。基于对IO操 作的统计结果,功率控制单元620识别IO操作的突发,并响应于IO操作的突发,修改(降低) 目标功率220。
根据本发明的依然又一个实施例,利用功率管理系统控制固态存储设备的温度, 避免固态存储设备在过高的温度下工作。温度是功耗的副产品,因而通过管理固态存储设 备的功耗来控制固态存储设备的发热。
图7是根据本发明又一实施例的功率管理系统的框图,功率管理系统700包括功率 管理器710与温度传感器730。功率管理器710耦合到NVM芯片105(也参看图1),用于依据温 度控制目标控制是否将命令队列240中的访问NVM芯片的IO操作发送给NVM芯片105。温度传 感器730检测或采集固态存储设备的温度,例如通过布置固态存储设备的一个或多个位置 的温度传感器来获取温度值。功率管理系统700还维护目标温度720。目标温度720指示固态 存储设备的工作温度上限。
在一个例子中,功率管理器710从温度传感器730获得固态存储设备的当前温度, 与目标温度720指示的值相比较。若当前温度小于目标温度720,功率管理器710允许将命令 队列240中的IO操作发送给NVM芯片105;若当前温度不小于目标温度720,功率管理器710实 施功率控制,并禁止将命令队列240中的IO操作发送给NVM芯片105。
图8是根据本发明另一实施例的功率管理系统的框图。如图8所示,功率管理系统 800包括:功率控制单元820、功率额度池830和功率额度管理器810。功率额度管理器810依 据功率额度池830提供的功率额度,控制是否将命令队列240中的访问NVM芯片的IO操作发 送给NVM芯片105。响应于命令队列240中有待处理的访问NVM芯片105(也参看图1)的操作, 功率额度管理器810从功率额度池830申请功率额度。
功率控制单元820耦合到温度传感器840,比较温度传感器840提供的当前温度与 目标温度842,来更新功率额度池830的功率额度值。例如,在当前温度小于目标温度842时, 向功率额度池830提供更多的功率额度,而在当前温度大于目标温度时,削减功率额度池 830的值。在命令队列240中有要发送给NVM芯片105的IO操作时,功率额度管理器810向功率 额度池830申请功率额度,IO操作完成后将申请的功率额度归还功率额度池830。
当功率额度池830的功率额度用光时,功率额度管理器810将暂停处理命令队列 240中的IO操作。
进一步地,功率控制单元820还耦合到功率传感器850,比较功率传感器850提供的 当前功率与目标功率852,来更新功率额度池830的功率额度值。例如,在当前功率小于目标 功率852时,向功率额度池830提供更多的功率额度,而在当前功率大于目标功率852时,削 减功率额度池830的值。
可选地,在固态存储设备的功率控制的过程中,功率控制单元820周期性地从功率 传感器850获取当前功率,与目标功率852进行比较,并对功率额度池830的功率额度值进行 更新。
依然进一步地,若功率控制单元820依据温度或功率之一,认为要向功率额度池 830增加功率额度值,而依据温度或功率的另一者,认为要削减功率额度池830的功率额度 值,则实施对功率额度值的削减,而不实施对功率额度值的增加,以保障固态存储设备的安 全性。
可选地,主机可向固态存储设备设置不同的目标温度值,以使固态存储设备适应 不同的工作环境,例如散热能力较强的主机或散热能力一般的主机。
图9是根据本发明另一实施例的温度-功率控制过程的流程图。如图9所示,对固态 存储设备的温度和功率进行控制的过程包括:功率控制单元820从温度传感器840获得当前 温度值,以及获得目标温度842。功率控制单元820依据温度传感器840提供的当前温度值与 目标温度值的差,更新功率额度池830的功率额度值。响应于命令队列240中存在访问NVM芯 片的IO操作,功率额度管理器810向功率额度池830申请功率额度。若功率额度申请成功,功 率额度管理器810允许将IO操作发送给NVM芯片105;若功率额度申请不成功,则暂时停止对 该IO操作的处理,功率额度管理器810继续为该IO操作申请功率额度,直至功率额度申请成 功。响应于访问NVM芯片的操作执行完成,向功率额度池830归还功率额度。响应于归还功率 额度,功率额度池830的值增加被归还的额度值。
可选地,依据当前温度值与目标温度值的差,更新功率额度池830的值为:若当前 温度值大于目标温度值,降低额定功率池830的值;若当前温度值小于目标温度值,则提高 功率额度池830的值。例如,功率额度池830的值降低或者提高的量正比于当前温度值与目 标温度值的差。在另一例子中,依据当前温度值与目标温度值的差,获取功率额度池830的 值的降低或者提高的量。例如,将当前温度值与目标温度值的差对时间做积分,来获得功率 额度池830的增量。使得若固态存储设备的温度长期低于目标温度值,可对功率额度值830 的值有较大的增加。
可选地,在固态存储设备的功率控制的过程中,周期性地对功率额度池22的功率 额度值进行更新。
图10根据本发明又一实施例的温度-功率控制过程的流程图。如图10所示,对固态 存储设备的温度和功率进行控制的过程包括:功率控制单元820判断当前是否是功率无限 制的功率状态。在功率无限制的功率状态下,则设置功率额度池830的功率可使用额度为最 大值,并更新功率额度池830的功率额度值。主机可将固态存储设备设置为功率无限制的功 率状态,主机还可将固态存储设备设置为其他功率状态,对应于各功率状态,具有各自的目 标温度842和/或目标功率852。可选地,目标功率852和/或目标温度842也由主机指定。
若不是在功率无限制的功率状态,则周期性地从温度传感器840获取当前温度值, 并基于温度的功率可使用额度,更新功率额度池830的功率额度值。例如,响应于定时器事 件或者中断,或者对定时器的轮询,在获取温度的周期开始或结束时,功率控制单元820从 温度传感器840读取当前温度值,依据当前温度值与目标温度842的差,计算基于温度的功 率可使用额度,并更新功率额度池830的功率额度值。
进一步地,在基于温度的功率可使用额度小于基于功率的功率可使用额度时,才 更新功率额度池830的功率额度值,以避免固态存储设备的功率超过目标功率。其中,依据 当前功率值与目标功率852的差,计算基于功率的功率可使用额度。可选地,在控制周期的 开始或结束,依据基于温度的功率可使用额度与基于功率的功率可使用额度二者中较小的 一个来更新功率额度池830的功率额度值。若二者中较小的一个增高,则增加功率额度池 830的功率额度值;若二者中较小的一个降低,则减少功率额度池830的功率额度值。
图11是根据本发明另一实施例的功率管理系统的框图,如图11所示的功率管理系 统1100同图8中示出的功率管理系统800相似,区别在于功率额度管理器1110对多个命令队 列,即命令队列240、命令队列250和命令队列260进行控制,控制是否将命令队列240、命令 队列250和命令队列260中的访问NVM芯片的IO操作发送给NVM芯片105。功率额度管理器 1110还对IO操作进行统计,并向功率控制单元1120提供读操作、编程操作和/或擦除操作的 统计结果。基于IO操作的统计结果,功率控制单元1120识别IO操作的突发,并响应于IO操作 的突发,修改(降低)目标温度842和目标功率852。
进一步地,功率额度管理器1110选择多个命令队列之一并处理选中的命令队列的 IO操作,以避免某一命令队列中的IO操作等待处理的时间过长。例如,在功率额度池830的 功率额度值不足以支持同时处理多个IO操作时,功率额度管理器1110轮流为多个命令队列 中的IO操作申请功率额度。
图12是根据本发明依然又一实施例的温度-功率控制过程的流程图。如图12所示 (也参看图11),对固态存储设备的温度和功率进行控制的过程包括:功率控制单元1120判 断当前是否是功率无限制的功率状态,在功率无限制的功率状态下,则设置功率额度池830 的功率可使用额度为最大值,并更新功率额度池830的功率额度值。主机可将固态存储设备 设置为功率无限制的功率状态。在一个例子中,即使在功率无限制的功率状态下,功率控制 单元1120与功率额度管理器1110依然工作。功率控制单元1120依据功率额度池830的功率 可使用额度,更新功率额度池830的功率额度值。
若不是在功率无限制的功率状态下,则功率控制单元1120周期性地从温度传感器 840获取当前温度值,并周期性地更新功率额度池830的功率额度值。例如,响应于定时器事 件或者中断,或者基于对定时器的轮询,在获取温度的周期开始或结束时,功率控制单元 1120从温度传感器840读取当前温度值,而在控制周期的开始或结束时依据当前温度值与 目标温度842,来更新功率额度池830的功率额度值。
进一步地,在控制周期的开始或结束时,功率控制单元1120更新对在命令队列 240、命令队列250和/或命令队列260中访问NVM芯片105的读操作、编程操作和/或擦除操作 的统计,来识别是否出现IO操作的突发。响应于识别到IO操作的突发,控制单元1120调低目 标功率值。而在没有出现IO操作的突发情况下,略过对目标功率值的调整。
功率控制单元1120根据从功率传感器850获得的当前功率值与目标功率值,和/或 从温度传感器840获得的当前温度值与目标温度值,来更新功率额度池830的功率额度值。 例如,基于当前功率值与目标功率值的差计算基于功率的功率可使用额度,以及基于当前 温度值与目标温度值的差计算基于温度的功率可使用额度。并根据基于温度的功率可使用 额度与基于功率的功率可使用额度二者中较小一个的变化,来更新功率额度池830的功率 额度值。
在另一个例子中,若功率控制单元1120依据温度或功率之一,认为要增加功率额 度池830的功率额度值,而依据温度或功率的另一者,认为要削减功率额度池830的功率额 度值,则实施对功率额度值的削减,而不实施对功率额度值的增加,以保障固态存储设备的 安全性。
本发明的实施例使得固态存储设备的温度和功率得到控制,对固态存储设备的功 耗管理更合理,提升了固态存储设备的可靠性和寿命。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优 选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请 进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型 属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在 内。
本文发布于:2023-04-15 04:57:21,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/87591.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |