CN104360823A - 动态调整固态硬盘带宽的方法及其固态硬盘 - Google Patents
动态调整固态硬盘带宽的方法及其固态硬盘 Download PDFInfo
- Publication number
- CN104360823A CN104360823A CN201410586706.0A CN201410586706A CN104360823A CN 104360823 A CN104360823 A CN 104360823A CN 201410586706 A CN201410586706 A CN 201410586706A CN 104360823 A CN104360823 A CN 104360823A
- Authority
- CN
- China
- Prior art keywords
- solid state
- hard disc
- state hard
- value
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 239000007787 solid Substances 0.000 title claims abstract description 169
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000003750 conditioning effect Effects 0.000 claims description 17
- 230000008859 change Effects 0.000 abstract description 21
- 230000015654 memory Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 6
- 230000032683 aging Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明适用于存储技术领域,提供了一种动态调整固态硬盘带宽的方法及其固态硬盘,所述方法包括:A、设定所述固态硬盘的期望带宽值;B、计算所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率;C、对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得所述固态硬盘的闪存命令之间的第一时间间隔值的变化量模糊化后的值;D、对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前所述固态硬盘的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整所述固态硬盘的带宽。借此,本发明实现动态调整固态硬盘的带宽与用户期望的带宽值一致。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种动态调整固态硬盘带宽的方法及其固态硬盘。
背景技术
在现有的技术方案中,当固态硬盘工作在高温环境中或者硬盘老化后,一般是通过降频即改CPU、DDR(Double Data Rate,双倍速率同步动态随机存储器)或者NAND FLASH(flash内存的一种)工作频率的方式调整固态硬盘带宽降低固态硬盘速度。然而在实际固态硬盘的主控中,CPU、DDR或者NAND FLASH的分频系数是固定可选的诺干个值。调整分频系数所得到的频率也是固定的。
该方案的缺点在于调整频率只能得到诺干固定的频率值,也直接导致实际得到的带宽是离散的诺干值。这样用户实际可以选择的带宽有限,灵活性差。在实际的使用的过程中,用户所期望的带宽会根据实际的使用需求变化,这就会导致频率的切换会频繁的发生,客观上对固态硬盘主控中的时钟稳定性提出更高要求,同时也会给固态硬盘的软件设计带来挑战。而且有时用户所期望的带宽并不能通过频率的切换得到。
综上可知,现有固态硬盘带宽调整的技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种动态调整固态硬盘带宽的方法及其固态硬盘,以实现动态调整固态硬盘的带宽与用户期望的带宽值一致。
为了实现上述目的,本发明提供一种动态调整固态硬盘带宽的方法,所述方法包括:
A、设定所述固态硬盘的期望带宽值;
B、计算所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率;
C、对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得所述固态硬盘的闪存命令之间的第一时间间隔值的变化量模糊化后的值;
D、对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前所述固态硬盘的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整所述固态硬盘的带宽。
根据所述的方法,所述步骤B包括:
B1、设置初始时间,并计算所述固态硬盘的实际带宽值;
B2、在所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率不为0时,对所述误差及误差变化率进行模糊化。
根据所述的方法,所述方法还包括:
将所述误差在[-300,+300]之间的连续的区间分为多个档次获得所述误差的模糊化表;
将所述误差变化率在[-200,+200]之间的连续的区间分为多个档次获得所述误差变化率的模糊化表;
选用所述误差和所述误差变化率作为输入变量,选用所述第二时间间隔值作为输出变量,并根据模糊控制原则获得所述输入变量和输出变量的隶属函数关系,并通过最大隶属度关系获得所述模糊控制表;
所述模糊控制原则包括:(1)if E=NB OR NM and EC=NB OR NM thent=PB;
(2)if E=NB OR NM and EC=NS OR O then t=PB;
(3)if E=NB OR NM and EC=PS then u=PM;
其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。
根据所述的方法,所述对所述第一时间间隔的变换量模糊化后的值进行去模糊化的步骤包括:
根据去模糊化规则对所述第一时间间隔的变换量模糊化后的值进行去模糊化;
所述去模糊化的规则包括t=t_fuzzy*k,其中k为常数。
根据上述任一项所述的方法,所述期望带宽值小于所述固态硬盘的极限带宽值,
在所述步骤D中,根据所述第二时间间隔值调整所述固态硬盘的带宽至到所述固态硬盘的带宽为所述期望带宽。
为了实现本发明的另一发明目的,本发明还提供了一种固态硬盘,所述固态硬盘包括:
设定模块,用于设定所述固态硬盘的期望带宽值;
计算模块,用于计算所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率;
模糊化模块,用于对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得所述固态硬盘的闪存命令之间的第一时间间隔值的变化量模糊化后的值;
去模糊化模块,用于对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前所述固态硬盘的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整所述固态硬盘的带宽。
根据所述的固态硬盘,所述模糊化模块包括:
设置子模块,用于设置初始时间,并计算所述固态硬盘的实际带宽值;
模糊化子模块,用于在所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率不为0时,对所述误差及误差变化率进行模糊化。
根据所述的固态硬盘,所述固态硬盘还包括:
第一获得模块,用于将所述误差在[-300,+300]之间的连续的区间分为多个档次获得所述误差的模糊控制表;
第二获得模块,用于将所述误差变化率在[-200,+200]之间的连续的区间分为多个档次获得所述误差变化率的模糊化表;
第三获得模块,用于选用所述误差和所述误差变化率作为输入变量,选用所述第二时间间隔值作为输出变量,并根据模糊控制原则获得所述输入变量和输出变量的隶属函数关系,并通过最大隶属度关系获得所述模糊控制表;
所述模糊控制原则包括:(1)if E=NB OR NM and EC=NB OR NM thent=PB;
(2)if E=NB OR NM and EC=NS OR O then t=PB;
(3)if E=NB OR NM and EC=PS then u=PM;
其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。
根据所述的固态硬盘,所述去模糊化模块根据去模糊化规则对所述第一时间间隔的变换量模糊化后的值进行去模糊化;
所述去模糊化的规则包括t=t_fuzzy*k,其中k为常数。
根据上述任一项所述的固态硬盘,所述期望带宽值小于所述固态硬盘的极限带宽值,
所述去模糊化模块根据所述第二时间间隔值调整所述固态硬盘的带宽至到所述固态硬盘的带宽为所述期望带宽。
本发明通过在固态硬盘的极限带宽的内,设定一个用户期望的固态硬盘的带宽值,然后计算出用户设定的期望带宽值和实际此时的带宽值之间的误差及误差变化率;并对误差及误差变化率经模糊化后,查询模糊控制表,得到nandflash命令之间的时间间隔t的变化量,经对该去时间间隔t模糊化后,确定此时t的值。经过诺干次上述的调整过程后,得到一个合理的t,使得固态硬盘实际的工作带宽和用户期望的带宽基本一致。由此实现了动态调整固态硬盘带宽的方法。当固态硬盘工作在高温环境时或者固态硬盘老化后,可以通过动态调整固态硬盘的读写速度达到降低功耗,延长固态硬盘寿命的目的。
附图说明
图1是本发明第一实施例提供的固态硬盘结构示意图;
图2是本发明第二、三实施例提供的固态硬盘结构示意图;
图3是本发明一个实施例提供的计算固态硬盘的带宽的方法流程图;
图4是本发明第四实施例提供的动态调整固态硬盘带宽的方法流程图;
图5是本发明一个实施提供的动态调整固态硬盘带宽的方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,在本发明的第一实施例中,提供了一种固态硬盘,固态硬盘100包括:
设定模块10,用于设定固态硬盘100的期望带宽值;
计算模块20,用于计算所述期望带宽值与固态硬盘100的实际带宽的误差及误差变化率;
模糊化模块30,用于对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得固态硬盘100的闪存命令之间的第一时间间隔值的变化量模糊化后的值;
去模糊化模块40,用于对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前固态硬盘100的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整固态硬盘100的带宽。
在该实施例中,首先通过设定模块10设定固态硬盘100的期望带宽值;所述期望带宽值小于固态硬盘100的极限带宽值;另外,可以还根据实际的使用需求,例如固态硬盘100的老化程度和固态硬盘100的实际的工作环境温度设定期望的带宽值。接着固态硬盘100通过计算模块20计算所述期望带宽值与固态硬盘100的实际带宽的误差及误差变化率;模糊化模块30则对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得固态硬盘100的闪存命令之间的第一时间间隔值的变化量模糊化后的值;最后,去模糊化模块40对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前固态硬盘100的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整固态硬盘100的带宽。去模糊化模块40将反复的进行固态硬盘100的带宽调整,直至根据调整后的第二时间间隔值调整固态硬盘100的带宽至到所述固态硬盘100的带宽为所述期望带宽为止。由此,在该实施例中基于模糊控制算法。在固态硬盘100的整个架构中,在影响固态硬盘带宽的因素众多中,通过改变固态硬盘100的闪存命令(nand flash)之间的第二时间间隔(t)即可显著的改变固态硬盘100的带宽。即是基于模糊控制算法动态的改变第二时间间隔(t),以达到动态调整固态硬盘(SSD)带宽,降低功耗,延长固态硬盘寿命的目的。
参见图2,在本发明的第二实施例中,模糊化模块30包括:
设置子模块31,用于设置初始时间,并计算所述固态硬盘100的实际带宽值;
模糊化子模块32,用于在所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率不为0时,对所述误差及误差变化率进行模糊化。
在该实施例中,设置子模块31设置初始时间,并计算所述固态硬盘100的实际带宽值;当初始的t值设定后,固态硬盘100的带宽就唯一确定,但确定的带宽和用户期望的带宽之间是有一定的误差的。则模糊化子模块32在所述期望带宽值与固态硬盘100的实际带宽的误差及误差变化率不为0时,对所述误差及误差变化率进行模糊化。在实际计算时,选取误差E和误差的变化量(变换率)EC作为输入变量,时间t作为输出变量。误差E=B1–B2;误差的变化率EC=(E-Ep)/t0;Ep为上一次计算所得的误差,t0为单位时间。当E和EC均为0时,表示用户期望的带宽和实际的工作带宽是一致的,不需要调整t。当E和EC不等于0时,就需要对E和EC进行模糊化。在本发明的实施例中,采用e_fuzzy和ec_fuzzy分别代表误差e及误差的变化率EC模糊化后的值。在本发明中,根据误差的大小,动态的调整t,使固态硬盘的实际带宽和用户期望的带宽基本一致。
参见图3,在本发明的一个实施例中,提供了计算固态硬盘带宽的方法,具体包括:
步骤S301中,首先判断固态硬盘中连续的50个命令是否都为读命令;是则执行步骤S302,否则执行步骤S304;
步骤S302中,开始计时;
步骤S303中,判断接下来10000个命令是否都为读命令,是则执行步骤S305,否则执行步骤S304;
步骤S304中,计时清零;
步骤S305中,停止计时;
步骤S306中,计算实际的固态硬盘的带宽。
在该实施例中,计算固态硬盘100的带宽可以使用单位时间内传输的数据量来表示。固态硬盘100的数据传输量可以通过nand flash读写命令的个数来表示。现以连续读为例进行说明如何通过计算固态硬盘100的带宽,如流程图3所示,计算模块20首先判断当前的50个命令是否均为读,如果是就表明连续读的操作已经开始,通过计时器开始计时。然后判断后续的10000个命令是否均为读,如果是,便停止计时。这样便可以得到在一段时间内,读的命令的个数。而每次读命令所操作的数据量是受限制于NAND FLASH颗粒的page大小及读取方式,可以认为是一个固定的值。由此可以得到固态硬盘100连续读的带宽。在计算固态硬盘100的实际带宽后,即可实现根据用户期望的带宽值和固态硬盘100实际工作的带宽值之间的差值,动态调整NAND FLASH命令之间的时间间隔t,使得固态硬盘100实际工作的带宽基本等于用户期望的带宽值。从而降低固态硬盘的功耗,延长硬盘的使用寿命。
参见图2,在本发明的第三实施例中,固态硬盘100还包括:
第一获得模块50,用于将所述误差在[-300,+300]之间的连续的区间分为多个档次获得所述误差的模糊控制表;
第二获得模块60,用于将所述误差变化率在[-200,+200]之间的连续的区间分为多个档次获得所述误差变化率的模糊化表;
第三获得模块70,用于选用所述误差和所述误差变化率作为输入变量,选用所述第二时间间隔值作为输出变量,并根据模糊控制原则获得所述输入变量和输出变量的隶属函数关系,并通过最大隶属度关系获得所述模糊控制表;
所述模糊控制原则包括:(1)if E=NB OR NM and EC=NB OR NM thent=PB;
(2)if E=NB OR NM and EC=NS OR O then t=PB;
(3)if E=NB OR NM and EC=PS then u=PM;
其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。
在该实施例中,模糊化的规则是将精确量离散化。将误差E在[-300,+300]和误差的变化EC在[-200,+200]之间的连续的区间分为9个档次,每个档次对应一个模糊化后的值,这样处理可以简化模糊化过程。
上述这些值的范围是根据实际的测试得到的。[-300,+300]表明误差E(即期望的带宽和实际的带宽之间的差值)最大值为300MB/s,最小值为-300MB/s。
[-200,+200]表明误差的变化EC(即不同时刻的误差E之间的差值)最大值为+200,最小值为-200。
下面的表2表明的是误差E和e_fuzzy之间的对应关系,即表2是误差的模糊化表。表3表明的是误差的变化率EC和ec_fuzzy之间的对应关系,即表3是误差变换率的模糊化表。
表1
E | (-300,-150) | (-149,-100) | (-99,-50) | (-49,-10) | (-9,+5) | (+6,+10) | (+11,+100) | (+101,+150) | (+151,+300) |
e_fuzzy | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 |
表2
EC | (-200,-150) | (-149,-100) | (-99,-50) | (-49,-10) | (-9,+5) | (+6,+10) | (+50+100) | (+101,+150) | (+151,+200) |
e_fuzzy | -4 | -3 | -2 | -1 | 0 | 1 | 2 | 3 | 4 |
表3
模糊控制规则一般根据实际经验确定。现列举在本实施例中,中使用到的3条规则即(1)if E=NB OR NM and EC=NB OR NM then t=PB;(2)if E=NB OR NMand EC=NS OR O then t=PB;(3)if E=NB OR NM and EC=PS then t=PM;其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。由模糊控制规则可以得到输出变量和输入变量之间的隶属函数关系,再通过最大隶属度的方法可得到模糊控制表即表1。模糊控制表是整个模糊控制算法的核心,对于最终系统的调整时间和稳态精度等性能均有显著的影响。在实际的使用的过程中需要根据系统的性能调整模糊控制规则。
并且,去模糊化模块40根据去模糊化规则对所述第一时间间隔的变换量模糊化后的值进行去模糊化;所述去模糊化的规则包括t=t_fuzzy*k,其中k为常数。
在该实施例中,将E和EC模糊化后,通过查询表1,得到时间t的变化量模糊化后的值,再经过去模糊化后便可得到时间t的增量。去模糊化的规则是t=t_fuzzy*k,其中k为常数。从表1可以得到当e_fuzzy=0 ec_fuzzy=0时,t_fuzzy=0,即表明当实际的带宽和用户的期望的带宽基本一致时,时间t的增量亦为0。当e_fuzzy=4,ec_fuzzy=4时,t_fuzzy=-7,即表明当实际的带宽比用户所期望的带宽小很多,并且有越来越小的趋势时,时间t的增量为最大负值。时间t的大小会影响到固态硬盘的实际工作带宽,进一步导致E和EC发生变化。E和EC的变化会导致t的改变,这样便形成了t的动态调整直到实际的带宽和用户期望的带宽基本一致。
在上述多个实施例中,固态硬盘100的多个模块可以是内置于固态硬盘100的软件单元,硬件单元或软硬件结合单元。
参见图4,在本发明的第四实施例中,提供了一种动态调整固态硬盘带宽的方法,所述方法包括:
步骤S401中,设定固态硬盘100的期望带宽值;该步骤由设定模块10实现;
步骤S402中,计算所述期望带宽值与固态硬盘100的实际带宽的误差及误差变化率;该步骤由计算模块20实现;
步骤S403中,对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得固态硬盘100的闪存命令之间的第一时间间隔值的变化量模糊化后的值;该步骤由模糊化模块30实现;
步骤S404中,对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前固态硬盘100的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整所述固态硬盘100的带宽。该步骤由去模糊化模块40实现。
在该实施例中,所述期望带宽值小于固态硬盘100的极限带宽值,在固态硬盘100的极限带宽的内,用户通过设定模块10设定一个期望的带宽值。计算模块20计算出用户设定的期望带宽值和实际此时的带宽值之间的误差及误差的变化率,并经模糊化模块30模糊化后,查询模糊控制表,得到nand flash命令之间的时间间隔t的变化量。经去模糊化模块40去模糊化后,确定此时t的值。在所述步骤S404中,模糊化模块40根据所述第二时间间隔值调整固态硬盘100的带宽至到固态硬盘100的带宽为所述期望带宽。即经过诺干次上述的调整过程后,得到一个合理的t,模糊化模块40使得固态硬盘100实际的工作带宽和用户期望的带宽基本一致。能动态的调整固态硬盘100的带宽,使固态硬盘100的带宽达到用户的期望值,从而降低功耗,延长固态硬盘100的使用寿命。
在本发明的第四实施例中,所述步骤S402包括:
设置初始时间,并计算固态硬盘100的实际带宽值;该步骤由设置子模块31实现;
在所述期望带宽值与固态硬盘100的实际带宽的误差及误差变化率不为0时,对所述误差及误差变化率进行模糊化。该步骤由模糊化子模块32实现。
在本发明的第五实施例中,所述方法还包括:
将所述误差在[-300,+300]之间的连续的区间分为多个档次获得所述误差的模糊化表;该步骤由第一获得模块50实现;
将所述误差变化率在[-200,+200]之间的连续的区间分为多个档次获得所述误差变化率的模糊化表;该步骤由第二获得模块60实现;
选用所述误差和所述误差变化率作为输入变量,选用所述第二时间间隔值作为输出变量,并根据模糊控制原则获得所述输入变量和输出变量的隶属函数关系,并通过最大隶属度关系获得所述模糊控制表;该步骤由第三获得模块70实现;
所述模糊控制原则包括:(1)if E=NB OR NM and EC=NB OR NM thent=PB;
(2)if E=NB OR NM and EC=NS OR O then t=PB;
(3)if E=NB OR NM and EC=PS then u=PM;
其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。其中,规则(1)的具体的含义:如果误差为负大或者负中并且误差的变化为负大或者负中,则t为正大。通俗的理解为如果实际的带宽大于期望的带宽,并且实际的带宽值有接近期望的带宽值的趋势,则增大时间间隔t。另外,时间间隔t越大则实际的带宽值越小,增大时间间隔t会降低实际的带宽值。
在本发明的第六实施例中,所述对所述第一时间间隔的变换量模糊化后的值进行去模糊化的步骤包括:
去模糊化模块40根据去模糊化规则对所述第一时间间隔的变换量模糊化后的值进行去模糊化;其中,所述去模糊化的规则包括t=t_fuzzy*k,其中k为常数。
在本发明的一个实施例中,为了阐述本实施例的技术要点,以固态硬盘100的极限带宽为B0,用户期望带宽为B1,实际的工作带宽为B2为例进行说明。本实施例的技术要点基于模糊控制算法。模糊控制算法一般包括以下内容:(1)确定模糊控制器的输入变量和输出变量;(2)设计模糊控制器的控制规则;(3)确立模糊化和非模糊化方法;(4)选择模糊控制器的输入变量及输出变量的论域并确定模糊控制器的参数(如量化因子,比例因子).
根据上述模糊控制算法的整体的流程如图5所示,具体描述如下:
步骤S501中,获取用户期望的固态硬盘100的带宽值;
步骤S502中,设置初始时间t,计算固态硬盘100的实际带宽值;
步骤S503中,判断根据期望带宽值和实际带宽值计算出误差和误差变化率;误差和误差变化率不为0时,则执行步骤S504;误差和误差变化率为0时,则结束流程;
步骤S504中,对误差和误差变化率模糊化;
步骤S505中,查询模糊控制表得到模糊化后的时间t的变化量;
步骤S506中,对时间t变化量去模糊化;
步骤S507中,得到下一次时间t。
在该实施例中,首先获取用户期望的带宽值,该带宽值应小于固态硬盘100的极限带宽。用户可以根据实际的使用需求例如固态硬盘100的老化程度和固态硬盘的实际的工作环境温度设定期望的带宽值。设定初始时间t;t代表的是nand flash命令之间的时间间隔。t越大,单位时间内nand flash读写数据量越少,即带宽越低。当初始的t值设定后,固态硬盘100的带宽就唯一确定,但确定的固态硬盘100的带宽和用户期望的带宽之间是有一定的误差的。整个方法流程的核心便是根据误差的大小,动态的调整t,使固态硬盘100的实际带宽和用户期望的带宽基本一致。
实际计算时,选取误差E和误差的变化量EC作为输入变量,时间t作为输出变量。误差E=B1–B2;误差的变化率EC=(E-Ep)/t0;Ep为上一次计算所得的误差,t0为单位时间。当E和EC均为0时,表示用户期望的带宽和实际的工作带宽是一致的,不需要调整t。当E和EC不等于0时,就需要对E和EC进行模糊化。现在用e_fuzzy和ec_fuzzy分别代表误差e及误差的变化率EC模糊化后的值。
模糊化的规则是将精确量离散化。将误差E在[-300,+300]和误差的变化EC在[-200,+200]之间的连续的区间分为9个档次,每个档次对应一个模糊化后的值,这样处理可以简化模糊化过程。表2表明的是误差E和e_fuzzy之间的对应关系。表3表明的是误差的变化率EC和ec_fuzzy之间的对应关系。
模糊控制规则一般根据实际经验确定。现列举在本实施例中使用到的3条规则即(1)if E=NB OR NM and EC=NB OR NM then t=PB;(2)if E=NB OR NMand EC=NS OR O then t=PB;(3)if E=NB OR NM and EC=PS then u=PM;其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。由模糊控制规则可以得到输出变量和输入变量之间的隶属函数关系,再通过最大隶属度的方法可得到模糊控制表即表1。模糊控制表是整个模糊控制算法的核心,对于最终系统的调整时间和稳态精度等性能均有显著的影响。在实际的使用的过程中需要根据系统的性能调整模糊控制规则。
在方法流程中,将E和EC模糊化后,通过查询表1,得到时间t的变化量模糊化后的值,再经过去模糊化后便可得到时间t的增量。去模糊化的规则是t=t_fuzzy*k,其中k为常数。从表1可以得到当e_fuzzy=0 ec_fuzzy=0时,t_fuzzy=0,即表明当实际的带宽和用户的期望的带宽基本一致时,时间t的增量亦为0。当e_fuzzy=4,ec_fuzzy=4时,t_fuzzy=-7,即表明当实际的带宽比用户所期望的带宽小很多,并且有越来越小的趋势时,时间t的增量为最大负值。时间t的大小会影响到固态硬盘的实际工作带宽,进一步导致E和EC发生变化。E和EC的变化会导致t的改变,这样便形成了t的动态调整直到实际的带宽和用户期望的带宽基本一致。
综上所述,本发明通过在固态硬盘的极限带宽的内,设定一个用户期望的固态硬盘的带宽值,然后计算出用户设定的期望带宽值和实际此时的带宽值之间的误差及误差变化率;并对误差及误差变化率经模糊化后,查询模糊控制表,得到nand flash命令之间的时间间隔t的变化量,经对该去时间间隔t模糊化后,确定此时t的值。经过诺干次上述的调整过程后,得到一个合理的t,使得固态硬盘实际的工作带宽和用户期望的带宽基本一致。由此实现了动态调整固态硬盘带宽的方法。当固态硬盘工作在高温环境时或者固态硬盘老化后,可以通过动态调整固态硬盘的读写速度达到降低功耗,延长固态硬盘寿命的目的。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种动态调整固态硬盘带宽的方法,其特征在于,所述方法包括:
A、设定所述固态硬盘的期望带宽值;
B、计算所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率;
C、对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得所述固态硬盘的闪存命令之间的第一时间间隔值的变化量模糊化后的值;
D、对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前所述固态硬盘的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整所述固态硬盘的带宽。
2.根据权利要求1所述的方法,其特征在于,所述步骤B包括:
B1、设置初始时间,并计算所述固态硬盘的实际带宽值;
B2、在所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率不为0时,对所述误差及误差变化率进行模糊化。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述误差在[-300,+300]之间的连续的区间分为多个档次获得所述误差的模糊化表;
将所述误差变化率在[-200,+200]之间的连续的区间分为多个档次获得所述误差变化率的模糊化表;
选用所述误差和所述误差变化率作为输入变量,选用所述第二时间间隔值作为输出变量,并根据模糊控制原则获得所述输入变量和输出变量的隶属函数关系,并通过最大隶属度关系获得所述模糊控制表;
所述模糊控制原则包括:(1)if E=NB OR NM and EC=NB OR NM thent=PB;
(2)if E=NB OR NM and EC=NS OR O then t=PB;
(3)if E=NB OR NM and EC=PS then u=PM;
其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。
4.根据权利要求3所述的方法,其特征在于,所述对所述第一时间间隔的变换量模糊化后的值进行去模糊化的步骤包括:
根据去模糊化规则对所述第一时间间隔的变换量模糊化后的值进行去模糊化;
所述去模糊化的规则包括t=t_fuzzy*k,其中k为常数。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述期望带宽值小于所述固态硬盘的极限带宽值,
在所述步骤D中,根据所述第二时间间隔值调整所述固态硬盘的带宽至到所述固态硬盘的带宽为所述期望带宽。
6.一种固态硬盘,其特征在于,所述固态硬盘包括:
设定模块,用于设定所述固态硬盘的期望带宽值;
计算模块,用于计算所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率;
模糊化模块,用于对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得所述固态硬盘的闪存命令之间的第一时间间隔值的变化量模糊化后的值;
去模糊化模块,用于对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前所述固态硬盘的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整所述固态硬盘的带宽。
7.根据权利要求6所述的固态硬盘,其特征在于,所述模糊化模块包括:
设置子模块,用于设置初始时间,并计算所述固态硬盘的实际带宽值;
模糊化子模块,用于在所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率不为0时,对所述误差及误差变化率进行模糊化。
8.根据权利要求7所述的固态硬盘,其特征在于,所述固态硬盘还包括:
第一获得模块,用于将所述误差在[-300,+300]之间的连续的区间分为多个档次获得所述误差的模糊控制表;
第二获得模块,用于将所述误差变化率在[-200,+200]之间的连续的区间分为多个档次获得所述误差变化率的模糊化表;
第三获得模块,用于选用所述误差和所述误差变化率作为输入变量,选用所述第二时间间隔值作为输出变量,并根据模糊控制原则获得所述输入变量和输出变量的隶属函数关系,并通过最大隶属度关系获得所述模糊控制表;
所述模糊控制原则包括:(1)if E=NB OR NM and EC=NB OR NM thent=PB;
(2)if E=NB OR NM and EC=NS OR O then t=PB;
(3)if E=NB OR NM and EC=PS then u=PM;
其中NB为负大,NM为负中,NS为负小,O为0,PS为正小,PM为正中,PB为正大。
9.根据权利要求8所述的固态硬盘,其特征在于,所述去模糊化模块根据去模糊化规则对所述第一时间间隔的变换量模糊化后的值进行去模糊化;
所述去模糊化的规则包括t=t_fuzzy*k,其中k为常数。
10.根据权利要求6~9任一项所述的固态硬盘,其特征在于,所述期望带宽值小于所述固态硬盘的极限带宽值,
所述去模糊化模块根据所述第二时间间隔值调整所述固态硬盘的带宽至到所述固态硬盘的带宽为所述期望带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410586706.0A CN104360823B (zh) | 2014-10-28 | 2014-10-28 | 动态调整固态硬盘带宽的方法及其固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410586706.0A CN104360823B (zh) | 2014-10-28 | 2014-10-28 | 动态调整固态硬盘带宽的方法及其固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104360823A true CN104360823A (zh) | 2015-02-18 |
CN104360823B CN104360823B (zh) | 2018-08-17 |
Family
ID=52528087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410586706.0A Expired - Fee Related CN104360823B (zh) | 2014-10-28 | 2014-10-28 | 动态调整固态硬盘带宽的方法及其固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104360823B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107422995A (zh) * | 2017-08-08 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种固态硬盘写带宽调整方法及装置 |
CN107507636A (zh) * | 2017-08-25 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种磁盘的温度控制方法及装置 |
CN107861692A (zh) * | 2017-11-24 | 2018-03-30 | 苏州韦科韬信息技术有限公司 | 动态调整固态硬盘带宽的方法 |
CN111796986A (zh) * | 2020-07-13 | 2020-10-20 | 深圳忆联信息系统有限公司 | 固态硬盘临界温度过热保护方法、装置、计算机设备及存储介质 |
CN112631512A (zh) * | 2020-12-11 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种ssd的自适应稳态的方法和设备 |
CN113608671A (zh) * | 2021-06-19 | 2021-11-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种提高固态硬盘读性能的方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080183642A1 (en) * | 2007-01-08 | 2008-07-31 | Jens-Peter Akelbein | Method for threshold migration based on fuzzy logic triggers |
CN101587745A (zh) * | 2009-06-23 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 数据读写方法和非易失性存储介质 |
CN103870203A (zh) * | 2012-12-11 | 2014-06-18 | 威刚科技(苏州)有限公司 | 便携储存装置及动态调整其工作模式的方法 |
-
2014
- 2014-10-28 CN CN201410586706.0A patent/CN104360823B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080183642A1 (en) * | 2007-01-08 | 2008-07-31 | Jens-Peter Akelbein | Method for threshold migration based on fuzzy logic triggers |
CN101587745A (zh) * | 2009-06-23 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 数据读写方法和非易失性存储介质 |
CN103870203A (zh) * | 2012-12-11 | 2014-06-18 | 威刚科技(苏州)有限公司 | 便携储存装置及动态调整其工作模式的方法 |
Non-Patent Citations (2)
Title |
---|
汪惊奇: "基于USB接口的光盘驱动器技术研究", 《万方学术论文数据库》 * |
高昂 等: "基于自适应模糊控制的Web带宽区分服务", 《计算机科学》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107422995A (zh) * | 2017-08-08 | 2017-12-01 | 郑州云海信息技术有限公司 | 一种固态硬盘写带宽调整方法及装置 |
CN107422995B (zh) * | 2017-08-08 | 2020-06-19 | 苏州浪潮智能科技有限公司 | 一种固态硬盘写带宽调整方法及装置 |
CN107507636A (zh) * | 2017-08-25 | 2017-12-22 | 郑州云海信息技术有限公司 | 一种磁盘的温度控制方法及装置 |
CN107861692A (zh) * | 2017-11-24 | 2018-03-30 | 苏州韦科韬信息技术有限公司 | 动态调整固态硬盘带宽的方法 |
CN111796986A (zh) * | 2020-07-13 | 2020-10-20 | 深圳忆联信息系统有限公司 | 固态硬盘临界温度过热保护方法、装置、计算机设备及存储介质 |
CN112631512A (zh) * | 2020-12-11 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种ssd的自适应稳态的方法和设备 |
CN112631512B (zh) * | 2020-12-11 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种ssd的自适应稳态的方法和设备 |
CN113608671A (zh) * | 2021-06-19 | 2021-11-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种提高固态硬盘读性能的方法、系统、设备及介质 |
CN113608671B (zh) * | 2021-06-19 | 2024-05-17 | 山东云海国创云计算装备产业创新中心有限公司 | 一种提高固态硬盘读性能的方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104360823B (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104360823A (zh) | 动态调整固态硬盘带宽的方法及其固态硬盘 | |
CN102997374B (zh) | 一种空调负荷预测方法,装置及空调 | |
US9557804B2 (en) | Dynamic power limit sharing in a platform | |
CN103197717B (zh) | 自适应电压调整方法、芯片以及系统 | |
WO2015074573A1 (zh) | 一种控制风量输出的方法及装置、存储介质 | |
CN106797179A (zh) | 一种芯片供电方法及芯片 | |
CN112235835A (zh) | 一种时变移动边缘计算网络的动态卸载方法 | |
CN106325464A (zh) | 调整风扇转速的方法和设备 | |
CN104747295A (zh) | 燃气轮机功率控制方法及装置 | |
CN114060102B (zh) | 一种导叶叶片的出口金属角确定方法、确定装置 | |
CN105242967A (zh) | 一种基于dvfs技术的多核系统内混合内存上数据迁移的方法 | |
CN102184005B (zh) | 一种动态电压和频率调节方法及装置 | |
CN112865326B (zh) | 无线充电功率调节方法、计算机装置及计算机可读存储介质 | |
CN117830033A (zh) | 区域供冷供热系统调控方法、装置、电子设备及存储介质 | |
CN113868580A (zh) | 抽凝供热机组工业供汽工况最小调峰出力的确定方法 | |
CN104467701B (zh) | 一种功率放大器的电压校正方法及电子终端 | |
CN108917090B (zh) | 一种空调机组性能测试方法 | |
CN111798060A (zh) | 一种基于机组爬坡率估计的功率指令优化分配方法 | |
CN112366733B (zh) | 水电机组调速器pid参数优化方法、装置、系统及介质 | |
CN116243783A (zh) | 芯片智能控制方法和相关装置及存储介质和计算机程序 | |
CN107861692A (zh) | 动态调整固态硬盘带宽的方法 | |
CN113988560A (zh) | 一种参与需求侧响应的空调机组可调节能力评估方法 | |
CN102158164B (zh) | 一种磁控式并联电抗器的梯形变权回归控制方法 | |
Nazir et al. | Performance limits of thermostatically controlled loads under probabilistic switching | |
CN111176835B (zh) | 基于分级控制的软件自适应方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180817 |