固态存储设备及其温度控制方法与流程

文档序号:14195878阅读:160来源:国知局
固态存储设备及其温度控制方法与流程
本申请涉及固态存储
技术领域
,具体涉及一种固态存储设备及其控制方法。
背景技术
:图1是现有技术的固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如sata(serialadvancedtechnologyattachment,串行高级技术附件)、scsi(smallcomputersysteminterface,小型计算机系统接口)、sas(serialattachedscsi,串行连接scsi)、ide(integrateddriveelectronics,集成驱动器电子)、usb(universalserialbus,通用串行总线)、pcie(peripheralcomponentinterconnectexpress,pcie,高速外围组件互联)、nvme(nvmexpress,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个nvm芯片105以及dram(dynamicrandomaccessmemory,动态随机访问存储器)110。nand闪存、相变存储器、feram(ferroelectricram,铁电存储器)、mram(magneticrandomaccessmemory,磁阻存储器)、rram(resistiverandomaccessmemory,阻变存储器)等是常见的nvm。接口103可适配于通过例如sata、ide、usb、pcie、nvme、sas、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、nvm芯片105以及固件存储器110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是fpga(field-programmablegatearray,现场可编程门阵列)、asic(applicationspecificintegratedcircuit,应用专用集成电路)或者其组合的形式;控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理io(input/output)命令;控制部件104还可以耦合到dram110,并可访问dram110的数据;在dram可存储ftl表和/或缓存的io命令的数据。控制部件104包括闪存接口控制器(或称为闪存通道控制器),闪存接口控制器耦合到nvm芯片105,并以遵循nvm芯片105的接口协议的方式向nvm芯片105发出命令,以操作nvm芯片105,并接收从nvm芯片105输出的命令执行结果。nvm芯片105的接口协议包括“toggle”、“onfi”等公知的接口协议或标准。存储器目标(target)是nand闪存封装内的共享芯片使能信号(ce,chipenable)的一个或多个逻辑单元(logicunit)。每个逻辑单元具有逻辑单元号(lun,logicunitnumber)。nand闪存封装内可包括一个或多个管芯(die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(plane)。逻辑单元内的多个平面可以并行存取,而nand闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在固态存储设备中,访问nvm芯片105的不同操作所消耗的能量不同对应不同的功耗。nvme协议中定义了固态存储设备的功耗状态(参看表1)。表1中定义了多种功耗状态,以及每种功耗状态具有不同的最大功耗。固态存储设备的工作温度也需要被有效的控制。温度过高或过低都会影响电子器件的工作。温度受固态存储设备的功耗、环境散热能力等因素影响。固态存储设备的温度温度过高或者过低都会影响电子器件的工作。表1功耗状态最大功耗进入延迟退出延迟025w5μs5μs118w5μs7μs218w5μs8μs315w20μs15μs410w20μs30μs58w20μs50μs65w20μs5000μ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的功率额度值,则实施对功率额度值的削减,而不实施对功率额度值的增加,以保障固态存储设备的安全性。本发明的实施例使得固态存储设备的温度和功率得到控制,对固态存储设备的功耗管理更合理,提升了固态存储设备的可靠性和寿命。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1