首页> 中国专利> 动态调整固态硬盘带宽的方法及其固态硬盘

动态调整固态硬盘带宽的方法及其固态硬盘

摘要

本发明适用于存储技术领域,提供了一种动态调整固态硬盘带宽的方法及其固态硬盘,所述方法包括:A、设定所述固态硬盘的期望带宽值;B、计算所述期望带宽值与所述固态硬盘的实际带宽的误差及误差变化率;C、对所述误差及误差变化率进行模糊化后,查询预设的模糊控制表,获得所述固态硬盘的闪存命令之间的第一时间间隔值的变化量模糊化后的值;D、对所述第一时间间隔的变换量模糊化后的值进行去模糊化后,获得当前所述固态硬盘的闪存命令之间的第二时间间隔值,根据所述第二时间间隔值调整所述固态硬盘的带宽。借此,本发明实现动态调整固态硬盘的带宽与用户期望的带宽值一致。

著录项

  • 公开/公告号CN104360823A

    专利类型发明专利

  • 公开/公告日2015-02-18

    原文格式PDF

  • 申请/专利权人 记忆科技(深圳)有限公司;

    申请/专利号CN201410586706.0

  • 发明设计人 袁伟;方浩俊;徐伟华;

    申请日2014-10-28

  • 分类号G06F3/06;

  • 代理机构北京律诚同业知识产权代理有限公司;

  • 代理人刘健

  • 地址 518000 广东省深圳市南山区蛇口后海大道东角头厂房D13/F、D23/F、D14/F、D24/F、D15/F

  • 入库时间 2023-12-17 03:49:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-17

    授权

    授权

  • 2015-03-25

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20141028

    实质审查的生效

  • 2015-02-18

    公开

    公开

说明书

技术领域

本发明涉及存储技术领域,尤其涉及一种动态调整固态硬盘带宽的方法及 其固态硬盘。

背景技术

在现有的技术方案中,当固态硬盘工作在高温环境中或者硬盘老化后,一般 是通过降频即改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 then  t=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 then  t=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为常数。

根据上述任一项所述的固态硬盘,所述期望带宽值小于所述固态硬盘的极 限带宽值,

所述去模糊化模块根据所述第二时间间隔值调整所述固态硬盘的带宽至到 所述固态硬盘的带宽为所述期望带宽。

本发明通过在固态硬盘的极限带宽的内,设定一个用户期望的固态硬盘的 带宽值,然后计算出用户设定的期望带宽值和实际此时的带宽值之间的误差及 误差变化率;并对误差及误差变化率经模糊化后,查询模糊控制表,得到nand flash命令之间的时间间隔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 then  t=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 NM  and 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 then  t=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 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。模糊控制表是整个模糊控制算法的核 心,对于最终系统的调整时间和稳态精度等性能均有显著的影响。在实际的使 用的过程中需要根据系统的性能调整模糊控制规则。

在方法流程中,将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,使得固态 硬盘实际的工作带宽和用户期望的带宽基本一致。由此实现了动态调整固态硬 盘带宽的方法。当固态硬盘工作在高温环境时或者固态硬盘老化后,可以通过 动态调整固态硬盘的读写速度达到降低功耗,延长固态硬盘寿命的目的。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情 况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但 这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号