固态存储设备温度控制的方法及数据处理系统与流程
- 国知局
- 2024-07-31 19:49:44
本技术涉及存储,特别地,涉及固态存储设备温度控制的方法、数据处理系统、固态存储设备及存储介质。
背景技术:
1、图1展示了固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如sata(serial advanced technology attachment,串行高级技术附件)、scsi(small computer system interface,小型计算机系统接口)、sas(serial attachedscsi,串行连接scsi)、ide(integrated drive electronics,集成驱动器电子)、usb(universal serial bus,通用串行总线)、pcie(peripheral component interconnectexpress,pcie,高速外围组件互联)、nvme(nvm express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个nvm芯片105以及dram(dynamic random access memory,动态随机访问存储器)110。
2、nand闪存、相变存储器、feram(ferroelectric ram,铁电存储器)、mram(magneticrandom access memory,磁阻存储器)、rram(resistive random access memory,阻变存储器)、xpoint存储器等是常见的nvm。
3、接口103可适配于通过例如sata、ide、usb、pcie、nvme、sas、以太网、光纤通道等方式与主机交换数据。
4、控制部件104用于控制在接口103、nvm芯片105以及dram 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是fpga(field-programmable gate array,现场可编程门阵列)、asic(application specificintegrated circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理io(input/output)命令。控制部件104还可以耦合到dram 110,并可访问dram 110的数据。在dram可存储ftl表和/或缓存的io命令的数据。
5、控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到nvm芯片105,并以遵循nvm芯片105的接口协议的方式向nvm芯片105发出命令,以操作nvm芯片105,并接收从nvm芯片105输出的命令执行结果。已知的nvm芯片接口协议包括“toggle”、“onfi”等。
6、控制部件104操作nvm芯片105,或者nvm芯片105处理控制部件104所发送的命令均会产生热量,使得固态存储设备的温度发生变化;例如,随着处理时长的增加固态存储设备的温度也会随之增加;又例如,随着对nvm芯片操作的数目增加,也会使得固态存储设备的温度增加。而温度对固态存储设备的读写及正常运行都有比较大的影响,如果固态存储设备的存储芯片温度过高或者控制部件温度过高,将使固态存储设备处于一些非预期的状态,比如读取数据异常,控制部件跑飞等问题,从而影响固态存储设备的正常使用。
7、在申请号为201610886067.9的中国专利申请中,提供了一种固态存储设备温度控制方法。固态存储设备(如固态存储设备)的功耗主要来源于对nvm芯片进行读操作、编程操作以及擦除操作,而每种操作所消耗的能量不同。该专利通过控制功率额度池的功率额度,进而来控制对访问nvm芯片的不同操作执行,例如,温度过高减少功率额度池的功率额度,使得访问nvm芯片的操作无法申请所需要数目的功率额度而暂停执行,进而使得在温度过高时减少对读操作、编程操作以及擦除操作的处理,使得固态存储设备的温度降下来。又例如,当温度正常增加功率额度池的功率额度,以保证对nvm芯片进行读操作、编程操作以及擦除操作,进而保证固态存储设备的性能。
8、上述专利虽然提供了可以通过控制功率额度池的功率额度,来控制固态存储设备的温度。但是,在固态存储设备中对于温度的控制需要通过控制部件中固件(firware,fw)来实现,而固件一般是由研发控制部件的厂商所提供以及研发,而不同的厂商控制中的固件的架构可能也不尽相同,上述专利并未提供如何在特定固件结构下实现对于固态存储设备温度的控制。
技术实现思路
1、为此,本技术提供了一种固态存储设备温度控制的方法、系统、设备及存储介质,以力图解决或者至少缓解上面存在的至少一个问题。
2、根据本技术的第一方面,提供了一种固态存储设备温度控制的方法,所述方法包括:
3、读温度单元周期性地生成读温度命令,通过下行数据通路提供给子命令处理单元;
4、子命令处理单元响应于从下行数据通路获取所述读温度命令,基于所述读温度命令获取固态存储设备的温度信息;
5、命令传输单元响应于接收到io命令生成一个或多个子命令,并通过下行数据通路提供给子命令处理单元;
6、子命令处理单元响应于从下行数据通路所述子命令,根据所述温度信息来控制处理所述子命令的带宽。
7、在另一个实施例中,基于所述读温度命令获取固态存储设备的温度信息,包括:子命令处理单元获取所述固态存储设备的控制部件的温度信息或固态存储设备的存储芯片温度信息。
8、在另一个实施例中,子命令处理单元记录从一个或多个存储芯片的温度传感器读取的温度信息;获取设定时长内所记录的温度信息的平均值作为所述存储芯片的温度信息。
9、在另一个实施例中,子命令处理单元响应于收到根据读温度命令获取了温度信息,根据所述温度信息与预设的温度阈值之间的关系,将当前时间段内可用的信用额度设置为同预设的温度阈值对应的值。
10、在另一个实施例中,子命令处理单元响应于有待处理的所述子命令,获取所述子命令所需的信用额度;
11、响应于当前可用的信用额度小于所述子命令所需的信用额度,暂停对所述子命令的处理。
12、在另一个实施例中,响应于当前可用的信用额度不小于所述子命令所需的信用额度,将当前可用的信用额度减少所述子命令所需的信用额度,以及获取所述子命令并根据所述子命令访问nvm芯片。
13、在另一个实施例中,子命令处理单元响应于收到根据读温度命令获取了温度信息,若固态存储设备的温度高于预设的第一温度阈值,减少当前时间段内可用的信用额度,以减少指定时间段内处理的子命令数量。
14、在另一个实施例中,响应于固态存储设备的温度低于预设的第一温度阈值,增加当前时间段内可用的信用额度。
15、在另一个实施例中,响应于固态存储设备的温度高于预设的第二温度阈值,则将所述当前时间段内可用的信用额度清零,以使得所述固态存储设备进入锁盘状态,其中,所述第二温度阈值大于所述第一温度阈值,锁盘状态是指固态存储设备不处理子命令的状态。
16、在另一个实施例中,基于所述存储芯片温度信息比较存储芯片温度与预设的存储芯片温度阈值和/或基于所述控制部件的温度信息比较控制部件温度与预设的控制部件温度阈值;
17、响应于存储芯片温度超过预设的存储芯片温度阈值,根据所述存储芯片温度来设置可用的信用额度;
18、响应于存储芯片温度未超过预设的存储芯片温度阈值,且控制部件温度超过预设的控制部件温度阈值,根据所述控制部件温度来设置可用的信用额度。
19、在另一个实施例中,基于pid算法将所述可用的信用额度与预设的参考值进行比对,获取所述可用的信用额度与预设的参考值之间的误差值;
20、基于所述误差值调整所述可用的信用额度。
21、在另一个实施例中,所述pid算法包括:
22、设置所述固态存储设备的控制部件或存储芯片在执行读操作、写操作或者擦除操作时的参考带宽资源数据的参考值,并收集设定时间内所述固态存储设备的控制部件或存储芯片在执行读操作、写操作或者擦除操作时的带宽资源的实时数据;
23、比较所述实时数据和所述参考值,获取所述实时数据与所述参考值的误差值;
24、依据所述误差值,调整所述固态存储设备的控制部件或存储芯片在执行读操作、写操作或者擦除操作时的带宽资源的实时数据,使所述实时数据达到或保持在所述参考值。
25、在另一个实施例中,所述误差值包括:
26、当前误差,为当前所述固态存储设备的控制部件或存储芯片在执行读操作、写操作或者擦除操作时的带宽资源的实时数据与所述参考值的差值;
27、过去累计误差,为设置时间范围内所述固态存储设备的控制部件或存储芯片在执行读操作、写操作或者擦除操作时的带宽资源的实时数据与所述参考值的差值的累计值;
28、未来误差,为设置时间范围后所述固态存储设备的控制部件或存储芯片在执行读操作、写操作或者擦除操作时的带宽资源的实时数据与所述参考值的差值的预期值。
29、在另一个实施例中,所述可用的信用额度包括为读命令设置的第一可用信用额度和为写命令设置的第二可用信用额度;
30、响应于固态存储设备的温度高于预设的第一温度阈值,减少第一可用信用额度以及第二可用信用额度,其中,第一可用信用额度的减少量大于第二可用信用额度的减少量。
31、在另一个实施例中,响应于所述子命令处理单元识别有待处理的指示编程操作的子命令,获取所述指示编程操作的子命令所需的信用额度;
32、响应于当前可用的信用额度小于所述指示编程操作的子命令所需的信用额度,暂停对所述指示编程操作的子命令的处理。
33、在另一个实施例中,响应于当前可用的信用额度不小于所述指示编程操作的子命令所需的信用额度,从当前可用的信用额度减少所述指示编程操作的子命令所需的信用额度,获取所述指示编程操作的子命令并根据所述指示编程操作的子命令对nvm芯片执行编程操作。
34、在另一个实施例中,响应于所述子命令处理单元识别有待处理的指示读操作的子命令,获取所述指示读操作的子命令所需的信用额度;
35、响应于当前可用的信用额度小于所述指示读操作的子命令所需的信用额度,暂停对所述指示读操作的子命令的处理。
36、在另一个实施例中,响应于当前可用的信用额度不小于所述指示读操作的子命令所需的信用额度,从当前可用的信用额度减少所述指示读操作的子命令所需的信用额度,获取所述指示读操作的子命令并根据所述指示读操作的子命令对nvm芯片执行读操作
37、在另一个实施例中,所述下行数据通路包括一个或多个任务处理单元;
38、所述下行数据通路与所述命令传输单元耦合;
39、所述命令传输单元为要处理的一个或多个子命令设置任务处理单元来承载子命令,以及将承载了所述子命令的任务处理单元提供给所述下行数据通路,并通过所述下行数据通路提供给子命令处理单元。
40、根据本技术的第二方面,公开了一种数据处理系统,所述系统包括:
41、命令传输单元、数据通路、子命令处理单元以及读温度单元,其中,数据通路包括下行数据通路;
42、读温度单元周期性地生成读温度命令,通过下行数据通路提供给子命令处理单元;
43、子命令处理单元响应于从下行数据通路获取所述读温度命令,基于所述读温度命令获取固态存储设备的温度信息;
44、命令传输单元响应于接收到io命令生成一个或多个子命令,并通过下行数据通路提供给子命令处理单元;
45、子命令处理单元响应于从下行数据通路所述子命令,根据所述温度信息来控制处理所述子命令的带宽。
46、根据本技术的又一方面,提供了一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得计算设备执行如上所述固态存储设备温度控制的方法中的任一方法。
47、根据本技术的又一方面,提供了一种固态存储设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中所述一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述固态存储设备温度控制的方法中的任一方法的指令。
48、根据本技术的固态存储设备温度控制的方法的方案,通过读温度单元周期性地生成读温度命令,通过下行数据通路提供给子命令处理单元;子命令处理单元响应于从下行数据通路获取所述读温度命令,基于所述读温度命令获取固态存储设备的温度信息;命令传输单元响应于接收到io命令生成一个或多个子命令,并通过下行数据通路提供给子命令处理单元;子命令处理单元响应于从下行数据通路所述子命令,根据所述温度信息来控制处理所述子命令的带宽。本技术能够实时读取固态存储设备控制部件和存储芯片的温度,并根据温度信息提供对固态存储设备的读写速度控制,从而实现对固态存储设备温度的控制。
本文地址:https://www.jishuxx.com/zhuanli/20240731/184216.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。