一种固态存储设备温控方法与流程
- 国知局
- 2024-07-31 19:13:31
本发明涉及一种固态存储设备温控方法,属于固态硬盘。
背景技术:
1、固态存储设备具有io响应速度快的优点被广泛应用于高速频繁读写的存储系统中,而其功耗通常也与性能成正相关,固态硬盘在一些高负载读写场景下长时间工作往往会导致其温度快速上升(尤其是散热条件有限的情况下),当超过一定温度后,其内部闪存颗粒中存储的数据稳定性就会下降,其他部件的寿命也可能受到影响,因此需要温控措施来限制固态硬盘的性能和功耗,保证其工作在安全的温度范围内。
2、固态硬盘各组成部件中,通常运行功耗最大的部分是闪存颗粒,因为其在固态硬盘内部集成的数量较多、工作并发度高,单片耗电也较多(特别是执行写命令时),对固态硬盘升温速度贡献较大。因此,需要一种通过让固件后端程序限制闪存颗粒的并发度来实现对温度的控制的方法。
技术实现思路
1、本发明目的是提供了一种固态存储设备温控方法,节省算力提高输入输出性能,确保在限制固态硬盘温度、功耗的同时不损失过多的性能,保证最大逻辑单元号并发数计算结果的准确性和实时性。
2、本发明为实现上述目的,通过以下技术方案实现:
3、包括多cpu核心架构的固态硬盘主控芯片,所述多中央处理器核心架构的固态硬盘主控芯片包括四个大核:core0、core1、core2、core3,两个小核:mcore4、mcore5;所述core0为前端核,所述core1、core2为算法核,所述core3为后端核,所述core2也为后端核,所述mcore4为辅助核;
4、所述前端核core0周期性采样固态硬盘盘各部位传感器温度值,并计算复合温度,将复合温度发送给辅助核mcore4;
5、所述后端核core2、core3实时采集各自的工作中逻辑单元号数量,并反馈给辅助核mcore4;
6、辅助核mcore4对采样数据做累加和平均,并检测复合温度是否超过条件阈值,若超过阈值,则根据实际负载水平和温度档位调整逻辑单元号最大并发数限值;
7、后端核core2、core3从辅助核mcore4上得到并发数限值,调整闪存控制器。
8、优选的,所述条件阈值为68-70℃。
9、优选的,每个逻辑单元号设置一个逻辑单元号控制块数据结构,管理该逻辑单元号的状态和当前执行及后续待执行的闪存命令;
10、闪存控制器每个通道设置一个通道管理块数据结构,按优先级保存正在执行命令的逻辑单元号控制块句柄及该通道的属性参数;
11、所述算法核core1发送至后端核core2、core3的消息根据其闪存物理地址分配到对应通道下属逻辑单元号的命令执行列表中;
12、优选的,所述后端核core2、core3实时采集各自的工作中逻辑单元号数量具体方式如下:
13、在逻辑单元号控制块中添加一个属性成员,用于反应每个逻辑单元号上执行命令的数量;在通道管理块中添加一个属性成员,表示一个通道下当前正在执行命令的逻辑单元号的数量;在固件程序的全局范围内增设一个各核均可访问计数值,表示所有通道下正在执行命令的逻辑单元号数量总和;实现对逻辑单元号并发数的计数;
14、定义两个多核间共享的全局变量,分别表示每个通道下允许执行命令的最大逻辑单元号数量和固态硬盘整盘所有通道下允许执行命令的最大逻辑单元号数量,实现对逻辑单元号并发数的限制;所述全局变量通过辅助核mcore4计算并赋值,后端核core2、core 3使用全局变量判断逻辑单元号数量。
15、优选的,所述后端核core2、core 3使用全局变量判断逻辑单元号数量具体方式如下:
16、当固件后端程序准备给闪存控制器发送新的读写擦等命令时,分别检查全局及新命令所在通道正在工作中的逻辑单元号数量是否均未达到上限,若满足条件则将新命令发给闪存控制器,并更新工作中的逻辑单元号计数值,否则新命令暂缓执行,保证同一时刻并发的逻辑单元号数量不超过上限;
17、逻辑单元号中命令成功执行后,固件首先将该逻辑单元号控制块中用于反应每个逻辑单元号上执行命令的数量的属性增加1,若增加后此值为1,则该逻辑单元号刚好由空闲状态转执行命令的状态,该逻辑单元号所属通道管理块的表示一个通道下当前正在执行命令的逻辑单元号的数量的属性成员及表示固态硬盘整盘所有通道下允许执行命令的最大逻辑单元号数量的全局变量也分别加1;
18、当逻辑单元号中的命令执行结束后,逻辑单元号控制块中用于反应每个逻辑单元号上执行命令的数量的属性减1,若其变为0,则说明该逻辑单元号所有命令完成进入空闲状态,此时该逻辑单元号所属通道管理块的表示一个通道下当前正在执行命令的逻辑单元号的数量的属性成员及表示固态硬盘整盘所有通道下允许执行命令的最大逻辑单元号数量的全局变量也分别减1。
19、优选的,所述辅助核mcore4根据实际负载水平和温度档位调整逻辑单元号最大并发数限值具体方式如下:
20、若复合温度达到或超过进入温控的条件阈值,则进入温控状态,停止对逻辑单元号平均负载的采样,根据逻辑单元号数量的上限值和温度等级确定限制比例;
21、所述限制比例p是与负载水平l0和复合温度与温控阈值温度差△t均相关的一个变量,l0、△t越高,p越小即限制幅度越大,所述负载水平l0为进入温控前采样的平均逻辑单元号数量;
22、所述限制比例计算公式如下:
23、p = α * l0 + β * △t + γ,
24、其中,α、β、γ表示比例系数,所述比例系数根据限制比例p、负载水平l0和复合温度与温控阈值温度差△t通过最小二乘法计算;
25、并由此计算进入温控后的所有通道和每个通道下最大允许的逻辑单元号并发数量,并同步给后端核core2、core3;
26、若复合温度低于退出温控的条件阈值,且固态硬盘当前处于温控状态,则分别将所有通道和单个通道的最大逻辑单元号并发数量均还原为正常的无限制状态,并恢复对各后端核逻辑单元号负载的采样过程。
27、优选的,所述逻辑单元号数量的上限值具体如下:固态硬盘未进入温控状态,且检测到复合温度低于进入温控的条件阈值,则对采样的后端核逻辑单元号瞬时负载水平进行累积和平均,获取最近一段时间内逻辑单元号实际负载情况,作为进入温控后逻辑单元号数量的上限值。
28、优选的,未进入和初次进入温控时,逻辑单元号平均负载的采样周期为固定值两秒一次;
29、辅助核mcore4完成一次温控状态后,再次进入温控状态根据本次复合温度相对上次的变化幅度调整采样周期,设置下次采样和处理的时间点;
30、根据复合温度相对上次进入温控状态波动状况,调整采样周期。
31、优选的,所述根据复合温度相对上次进入温控状态波动状况,调整采样周期具体方式如下:
32、计算温度变化率绝对值,所述温度变化率绝对值等于两次采样温度差/上次的采样周期;
33、当温度变化率绝对值大于等于0.5℃/s则波动很大,采样周期直接设为最小值;
34、当温度变化率绝对值为0.2~0.5℃/s则波动较大,采样周期相比上次缩短25%;
35、当温度变化率绝对值0.03~0.2℃/s则波动较小,采样周期相比上次延长30%;
36、当温度变化率绝对值小于0.03℃/s则波动很小,采样周期直接设为固定值。
37、本发明的优点在于:固态硬盘固件中温控功能的复合温度采样、闪存负载水平采样、逻辑单元号命令并发控制等各子步骤实现拆分到多个cpu核上实现,相比于在同一个核上实现全部过程对cpu运算的压力开支更小,有利于节省算力提高io性能。
38、后端核限制逻辑单元号并发数基于软件逻辑单元号管理的程序架构,当固态硬盘使用的闪存控制器模块不具备硬件直接控制逻辑单元号并发数的功能时,本实现方案可以解决这一问题。
39、在进入温控前,采样后端正在执行命令的平均逻辑单元号数量来确定负载类型,在进入温控后针对不同压力强度的负载采取与之匹配的限制策略,可以确保在限制固态硬盘温度、功耗的同时不损失过多的性能。
40、根据温度变化幅度动态调整辅助核上采样和处理的周期有利于保证最大逻辑单元号并发数计算结果的准确性和实时性。
本文地址:https://www.jishuxx.com/zhuanli/20240731/181928.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
上一篇
半导体存储装置的制作方法
下一篇
返回列表