数据写入控制装置及方法

文档序号:10624521阅读:180来源:国知局
数据写入控制装置及方法
【专利摘要】一种数据写入控制装置及方法,当所述写入控制装置处于所述回写模式时,所述处理器侦测所述第一存储器中脏块的数量,当所述脏块的数量达到第一预设阈值时,分别预测在两种写入模式下,所述处理器所运行程序在一危险时间段内的执行进度,当预测在通写模式下所述处理器所运行程序在所述危险时间段内的执行进度大于在所述回写模式下所述处理器所运行程序在所述危险时间段内的执行进度时,将当前的数据写入模式转换为通写模式;当所述写入控制装置处于所述通写模式时,侦测所述脏块数量,当所述脏块的数量降至第二预设阈值时,则将当前的数据写入模式转换为所述回写模式。
【专利说明】
数据写入控制装置及方法
技术领域
[0001] 本发明设及数据写入控制技术领域,特别设及数据写入控制装置及方法。
【背景技术】 阳00引非易失SRAM (NV-SRAM) -种同时包括SRAM和NVM的存储结构,电子装置在工作模 式下采用SRAM进行数据的存储,在电子装置掉电后,NV-SRAM能够将数据备份到NVM单元 中。然而,在电子装置掉电后,非易失SRAM需要一个较大的片上储能电容供电W进行数据 的备份,该电容会引入较大的忍片面积开销和成本开销。如果采用较小的片上储能电容,贝U 由于电能不足,会引起备份失败。在备份失败后只能回退到上一次成功备份点,而回到上一 次成功备份点会造成一定的性能开销,影响程序的执行进度。

【发明内容】

[0003] 本发明实施例提供数据写入控制装置及方法,通过两种不同写入模式的转换,提 高写入装置及方法的程序执行效率。
[0004] 本发明实施例的第一方面提供一种数据写入控制装置,包括一级存储器、二级存 储器及处理器,所述一级存储器包括易失存储单元,所述二级存储器为非易失存储单元,所 述数据写入控制装置的数据写入模式包括回写模式及通写模式,在所述回写模式下,所述 处理器将接收到的数据写入所述一级存储器中,在所述通写模式下,所述处理器将接收到 的数据写入所述一级存储器及所述二级存储器中; 阳〇化]当所述写入控制装置处于所述回写模式时,所述处理器侦测所述第一存储器中脏 块的数量,当所述脏块的数量达到第一预设阔值时,分别预测在两种写入模式下,所述处理 器所运行程序在一危险时间段内的执行进度,当预测在通写模式下所述处理器所运行程序 在所述危险时间段内的执行进度大于在所述回写模式下所述处理器所运行程序在所述危 险时间段内的执行进度时,将当前的数据写入模式转换为通写模式;
[0006] 当所述写入控制装置处于所述通写模式时,侦测所述脏块数量,当所述脏块的数 量降至第二预设阔值时,则将当前的数据写入模式转换为所述回写模式。
[0007] 进一步地,在本发明实施例的第一方面中,所述一级存储器还包括非易失存储单 元,在所述数据写入控制装置掉电后,所述易失存储单元中的数据被备份至所述非易失存 储单元中,所述第一预设阔值为所述第一存储器可支持备份的脏块的最大数量。
[0008] 进一步地,在本发明实施例的第一方面中,所预测采用回写模式时写入控制装置 程序执行的进度的计算公式为:
[0009]
[0010] 其中,k为在回写模式下,所述处理器所运行程序在单位时间内的执行进度,L为 预设的所述危险时间段的长度,tg为若W所述脏块的数量达到所述第一预设阔值时为时间 零点,最近开始供电时间,1/λ为预先统计的所述数据写入控制装置的平均供电时间。
[0011] 所预测采用通写模式时写入控制装置程序执行的进度的计算公式为: 阳 01引 E(G,)=k,L
[0013] 其中,k '为在通写模式下,所述处理器所运行程序在单位时间内的执行进度。
[0014] 进一步地,在本发明实施例的第一方面中,所述第二预设阔值为所述第一预设阔 值减一。
[0015] 本发明实施例的第二方面提供一种应用于一数据写入控制装置的数据写入控制 方法,所述数据写入控制装置包括一级存储器、二级存储器及处理器,所述一级存储器包括 易失存储单元,所述二级存储器为非易失存储单元,所述数据写入控制装置的数据写入模 式包括回写模式及通写模式,在所述回写模式下,所述处理器将接收到的数据写入所述一 级存储器中,在所述通写模式下,所述处理器将接收到的数据写入所述一级存储器及所述 二级存储器中,所述方法包括:
[0016] 当所述写入控制装置处于所述回写模式时,所述处理器侦测所述第一存储器中脏 块的数量;
[0017] 当所述脏块的数量达到第一预设阔值时,分别预测在两种写入模式下,所述处理 器所运行程序在一危险时间段内的执行进度;
[0018] 当预测在通写模式下所述处理器所运行程序在所述危险时间段内的执行进度大 于在所述回写模式下所述处理器所运行程序在所述危险时间段内的执行进度时,将当前的 数据写入模式转换为通写模式;
[0019] 当所述写入控制装置处于所述通写模式时,侦测所述脏块数量,当所述脏块的数 量降至第二预设阔值时,则将当前的数据写入模式转换为所述回写模式。
[0020] 进一步地,在本发明实施例的第二方面中,所述一级存储器还包括非易失存储单 元,在所述数据写入控制装置掉电后,所述易失存储单元中的数据被备份至所述非易失存 储单元中,所述第一预设阔值为所述第一存储器可支持备份的脏块的最大数量。
[0021] 进一步地,在本发明实施例的第二方面中,所预测采用回写模式时写入控制装置 程序执行的进度的计算公式为:
[0022]
[0023] 其中,k为在回写模式下,所述处理器所运行程序在单位时间内的执行进度,L为 预设的所述危险时间段的长度,tg为若W所述脏块的数量达到所述第一预设阔值时为时间 零点,在危险时间段内,所述数据写入控制装置开始供电的时间,1/λ为预先统计的所述数 据写入控制装置的平均供电时间。
[0024] 所预测采用通写模式时写入控制装置程序执行的进度的计算公式为: 阳0 巧]E(G,)=k,L
[00%] 其中,k '为在通写模式下,所述处理器所运行程序在单位时间内的执行进度。
[0027] 进一步地,在本发明实施例的第二方面中,所述第二预设阔值为所述第一预设阔 值减一。
[0028] 可见本发明实施例的数据写入控制装置及方法,在所述数据写入控制装置的数据 写入模式为回写模式时,侦测易失存储单元中脏块的数量,当脏块的数量达到一预设阔值 时,根据预设的条件确定是否将所述数据写入控制装置转换至通写模式,当达到预设的条 件将所述数据写入控制装置转换至通写模式时,继续侦测脏块的数量吗,当脏块的数量小 于第二预设阔值时,再将所述数据写入控制装置的数据写入模式转换为回写模式,如此,可 提供数据写入控制装置的程序执行性能。
【附图说明】
[0029] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 W根据运些附图获得其他的附图。
[0030] 图1为本发明第一实施例所提供的数据写入装置的结构图。
[0031] 图2为所述数据写入装置两种数据写入模式进行装换的示意图。
[0032] 图3为第二实施例所提供的数据写入方法的流程图
【具体实施方式】
[0033] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0034] 本发明实施例所提供的技术方案主要应用于同时具有非易失存储单元与易失 存储单元的存储器,如非易失静态随机存储器(Nonvolatile Static Random Access Memo巧,NV-SRAM),在使用运种结构的存储器作为内存的电子装置掉电后,可通过存储器上 的备用电源给存储器供电,W将易失存储单元中的数据备份至非易失存储单元中。为了方 便描述,在W下实施例中W NV-SRAM为例对本发明进行说明,但需要说明的是,本发明所应 用的存储器并不限于NV-SRAM,其他具有相同结构的存储器也包含在本发明所掲露的范围 内。
[0035] NV-SRAM中的易失存储单元为静态随机存储器(Static Random Access Memoir, SRAM),非易失存储单元为相变存储器(Phase-change Random Access memoir, PCM),备用 电源为片上储能电容。
[0036] 下面将通过不同的实施例对本发明所提供的技术方案从不同的方面进行描述。
[0037] 第一实施例
[0038] 第一实施例提供一种数据写入控制装置10。所述数据写入控制装置10包括一级 存储器11、二级存储器12及处理器13,所述一级存储器11包括易失存储单元111及非易 失存储单元112。所述二级存储器12为非易失存储单元。
[0039] 所述写入控制装置10包括两种数据写入模式,即回写模式及通写模式。所述回写 (write-back)模式为将接收到的数据写入请求中的数据写入所述一级存储器中。所述通写 模式(throu曲-write)将接收到的数据写入请求中的数据同时写入所述一级存储器11及 二级存储器12中。
[0040] 本实施例中,所述一级存储器11为非易失静态随机存储器(Nonvolatile static Random Access Memoir,NV-SRAM),所述易失存储单元111为静态随机存储器(Static Random Access Memory, SRAM),所述非易失存储单元112为相变存储器(F*hase-change Random Access memcxry, PCM),在所述数据写入控制装置10掉电后,可通过所述一级存储器 11上的备用电源113给所述一级存储器11供电,W将所述易失存储单元111中的数据备份 至非易失存储单元112中。
[0041] 所述回写模式为在处理器13接收到数据写入指令时,将数据直接写入所述易失 存储单元111的存储块113中,被写入所述易失存储单元111中的数据,只有在需要被替换 出所述易失存储单元111时,才写入所述二级存储器12。被写入所述易失存储单元111的 存储块113中,而未被写入所述二级存储器12的存储块113为脏块,每个存储块113有个 脏块标记,用来标识所述存储块113否为脏块。由于所述易失存储单元111具有比较快的 数据读写速度,所W当所述数据写入控制装置10采用回写模式时,具有更快的程序处理进 度。但当所述数据写入控制装置10掉电时,所述易失存储单元12中的所有脏块的数据需 要全部备份至所述非易失存储单元112,但由于备用电源113的电能有效,当脏块的数量超 过备用电源113所能支持备份的脏块的数量时,就会造成备份失败,当备份失败时,程序就 需要回退到上一次成功备份的点,运样就会造成大的性能开销,影响程序执行的进度。
[0042] 所述通写模式为所述处理器13接收到数据写入指令时,将数据写入所述易失存 储单元111的存储块113的同时,还写入所述二级存储器12,运样就不会有脏块的产生。从 而不会发生备份失败的情况,但是,由于所述非易失存储单元112具有对数据的读写的速 度比较慢,所W当所述数据写入控制装置10采用通写模式时,相对于所述回写模式,具有 比较慢的程序处理进度。
[0043] 所W为了提高所述数据写入控制装置10的性能,本实施例提供的数据写入控制 装置10可在两种数据写入模式下转换,提升整体的程序处理进度。
[0044] 当所述写入控制装置10处于所述回写模式时,所述处理器13侦测所述第一存储 器11中脏块的数量,当所述脏块的数量达到第一预设阔值时,或者当所述脏块的数量达到 第一预设阔值时,预测两种写入模式下程序的执行进度,当所预测的通写模式下程序的执 行进度大于所述回写模式下程序的执行进度时,将当前的数据写入模式转换为通写模式;
[0045] 当所述写入控制装置10处于所述通写模式时,所述处理器13侦测所述脏块数量, 当所述脏块的数量达到第二预设阔值时,则将当前的数据写入模式转换为回写模式。
[0046] 所述第一预设阔值即为所述第一存储器11可支持备份的脏块的最大数量。
[0047] 本实施例中,在一种实现方式中,当所述处理器13所侦测的所述脏块的数量达到 所述第一预设阔值时,即将当前的数据写入模式转换为通写模式。
[0048] 在另外一种实现方式中,当所述处理器13所侦测的所述脏块的数量达到所述第 一预设阔值时,预测两种写入模式下程序的执行进度,此时所预测的程序的执行进度为所 述脏块的数量达到所述第一预设阔值开始,到所述脏块的数量小于所述第一预设阔值的危 险时间段L内程序的执行进度。
[0049] 本实施例中的数据写入控制装置10 -般为一种特定的检测装置,如穿戴式设备 中用于测量人体健康状况的感应器等,所W-般只运行一个特定的程序,而所运行程序的 脏块数量达到且大于所述第一预设阔值的危险时间段L也基本上是不变的,所W对于特定 程序而言,所述危险时间段L可W预先得到。
[0050] 本实施中程序的执行进度用进度百分比表示,由于所述数据写入控制装置10运 行的是特定程序,所W程序的总指令数时一定的,则根据公式(1)可W计算出程序被执行 的进度
阳05U 其中,Npxwuted(t)是已经执行完成的指令数量,Ntuhi是总指令数量。如果忽略由于 流水线停顿造成的时间开销,可W近似认为G(t)是线性增长的。
[0052] 首先,计算在危险时间段L内采用回写模式时,程序的进度。
[0053] 如图2所示,曲线C1为采用回写模式时,程序的进度曲线,曲线C2为采用通写模 式时,程序的进度曲线。
[0054] 在程序开始运行后,所述数据写入控制装置10采用回写模式进行数据的写入,并 开始侦测脏块的数量,当脏块的数量达到第一预设阔值时,获取预设的危险时间段以并预 测在所述事件段L内两种写入模式的程序处理的进度。
[0055] 当脏块的数量达到第一预设阔值时,没有将回写模式转换至通写模式时,所执行 程序的处理进度的计算过程为:
[0056] 首先,计算所述数据写入控制装置10的掉电概率,由于实际当中,掉电会在不同 的情形下发生。比如,若所述数据写入控制装置10使用的是太阳能供电的系统,在太阳被 遮挡的情况下、太阳角度变化、天气变化等情况下都会发生被动掉电。运种特征体现在供电 特点上即供电时间的无记忆性,即每次的供电时间长度直接无关联。所W,可W用指数分布 对供电时间建模:
[0057]
[005引其中,f(tj是供电时间长度的概率密度,一是供电时间长度的期望。 乂
[0059] 然后,计算在危险时间段L内发生掉电的概率是:
[0060]
[0061] 对于一段连续的供电时间t,采用两种策略的计算进度百分比分别为:
[0062] G(t) = kt
[0063] G < (t) = k' t
[0064] 其中,k为采用回写模式时,单位时间内的程序进度,k'为采用通写模式时,单位时 间内的程序进度。 阳0化]若在危险时间段L内发生了掉电,即会发生备份失败,在备份失败后,则会发生备 份的回退,如图2所示,若在时间Te处发生掉电,会发生备份失败,则程序需要回退到本次 供电开始的时刻Ts处的程序进度。如果W危险时间段L的起始点,即转换点P为时间零点, 则退回的程序进度为:
[0066]
阳067] 其中,Te<L表示在危险时间段L内发生了掉电,而Te乂表示在危险时间段L内未 发生掉电,则程序无需回退。 W側如此,在危险时间段L内,若在转换点不将写策略切换至通写策略,则实际的计算 进度百分比G-R的期望为:
[0069]
[0070] 而如果脏块数量达到所述第一预设值时,即在所述转换点将所述数据写入模式转 换为通写模式,贝U
[007U 则实际的计算进度百分比G-R的期望为:
[0072] E 胆)=k' L (7)
[0073] 则只有当E (G-R) <E(G')的时候,才切换至通写策略,即:
[0077] 即满足上面的公式时,将所述数据写入控制装置10的数据写入模式切换至通写 模式。
[0078] 进入通写模式后,脏块的数量不再增加,但由于新数据的写入,原来的脏块的数据 被替换写入所述第二存储器12,运样脏块的数量就会减少,在脏块的数量减少到所述第二 预设值时,则所述处理器13将所述数据写入控制装置10的数据写入模式切换至通写模式。
[0079] 由于所述回写模式的程序执行性能比较高,所W所述第二预设阔值优选为所述第 一预设阔值减一。如此,可快速的使所述数据写入控制装置10进入回写模式。当然在其他 实施例中,也可根据具体设置不同的第二预设阔值。
[0080] 第二实施例
[0081] 第二实施例提供一种应用于第一实施例所提供的所述数据写入装置的数据写入 方法。如图3所示,为所述数据写入方法的流程图。
[0082] 步骤S301,当所述写入控制装置处于所述回写模式时,所述处理器侦测所述第一 存储器中脏块的数量;
[0083] 步骤S302,当所述脏块的数量达到第一预设阔值时,分别预测在两种写入模式下, 所述处理器所运行程序在一危险时间段内的执行进度;
[0084] 步骤S303,当预测在通写模式下所述处理器所运行程序在所述危险时间段内的执 行进度大于在所述回写模式下所述处理器所运行程序在所述危险时间段内的执行进度时, 将当前的数据写入模式转换为通写模式;
[0085] 步骤S304,当所述写入控制装置处于所述通写模式时,侦测所述脏块数量,当所述 脏块的数量达到第二预设阔值时,则将当前的数据写入模式转换为所述回写模式。
[0086] 本实施例中,所述一级存储器还包括非易失存储单元,在所述数据写入控制装置 掉电后,所述易失存储单元中的数据被备份至所述非易失存储单元中,所述第一预设阔值 为所述第一存储器可支持备份的脏块的最大数量。
[0087] 本实施例中,所预测采用回写模式时写入控制装置程序执行的进度的计算公式 为:
[0088]
[0089] 其中,k为在回写模式下,所述处理器所运行程序在单位时间内的执行进度,L为 预设的所述危险时间段的长度,tg为若W所述脏块的数量达到所述第一预设阔值时为时间 零点,在危险时间段内,所述数据写入控制装置掉电的时间,1/λ为预先统计的所述数据写 入控制装置的平均供电时间。
[0090] 所预测采用通写模式时写入控制装置程序执行的进度的计算公式为: W91] E(G')=k'L
[0092] 其中,k '为在通写模式下,所述处理器所运行程序在单位时间内的执行进度。
[0093] 本实施例中,所述第二预设阔值为所述第一预设阔值减一。
[0094] 本领域普通技术人员可W理解上述实施例的各种方法中的全部或部分步骤是可 W通过程序来指令相关的硬件来完成,该程序可W存储于一计算机可读存储介质中,存储 介质可W包括:ROM、RAM、磁盘或光盘等。
[0095] W上对本发明实施例所提供的数据写入装置及方法进行了详细介绍,本文中应用 了具体个例对本发明的原理及实施方式进行了阐述,W上实施例的说明只是用于帮助理解 本发明的方法及其核屯、思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具 体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明 的限制。
【主权项】
1. 一种数据写入控制装置,包括一级存储器、二级存储器及处理器,所述一级存储器包 括易失存储单元,所述二级存储器为非易失存储单元,所述数据写入控制装置的数据写入 模式包括回写模式及通写模式,在所述回写模式下,所述处理器将接收到的数据写入所述 一级存储器中,在所述通写模式下,所述处理器将接收到的数据写入所述一级存储器及所 述二级存储器中; 当所述写入控制装置处于所述回写模式时,所述处理器侦测所述第一存储器中脏块的 数量,当所述脏块的数量达到第一预设阔值时,分别预测在两种写入模式下,所述处理器所 运行程序在一危险时间段内的执行进度,当预测在通写模式下所述处理器所运行程序在所 述危险时间段内的执行进度大于在所述回写模式下所述处理器所运行程序在所述危险时 间段内的执行进度时,将当前的数据写入模式转换为通写模式; 当所述写入控制装置处于所述通写模式时,侦测所述脏块数量,当所述脏块的数量降 至第二预设阔值时,则将当前的数据写入模式转换为所述回写模式。2. 如权利要求1所述的数据写入控制装置,其特征在于,所述一级存储器还包括非易 失存储单元,在所述数据写入控制装置掉电后,所述易失存储单元中的数据被备份至所述 非易失存储单元中,所述第一预设阔值为所述第一存储器可支持备份的脏块的最大数量。3. 如权利要求1所述的数据写入控制装置,其特征在于,所预测采用回写模式时,在所 述危除时间採內.所沐写入梓制据晋所执斤賴序进度的计算公式为:其中,k为在回写模式下,所述处理器所运行程序在单位时间内的执行进度,L为预设 的所述危险时间段的长度,tg为若W所述脏块的数量达到所述第一预设阔值时为时间零 点,最近开始供电的时刻,IM为预先统计的所述数据写入控制装置的平均供电时间。 所预测采用通写模式时写入控制装置程序执行的进度的计算公式为: E(G')= k' L 其中,k '为在通写模式下,所述处理器所运行程序在单位时间内的执行进度。4. 如权利要求1所述的数据写入控制装置,其特征在于,所述第二预设阔值为所述第 一预设阔值减一。5. -种应用于数据写入控制装置的数据写入控制方法,所述数据写入控制装置包括一 级存储器、二级存储器及处理器,所述一级存储器包括易失存储单元,所述二级存储器为非 易失存储单元,所述数据写入控制装置的数据写入模式包括回写模式及通写模式,在所述 回写模式下,所述处理器将接收到的数据写入所述一级存储器中,在所述通写模式下,所述 处理器将接收到的数据写入所述一级存储器及所述二级存储器中,所述方法包括: 当所述写入控制装置处于所述回写模式时,所述处理器侦测所述第一存储器中脏块的 数量; 当所述脏块的数量达到第一预设阔值时,分别预测在两种写入模式下,所述处理器所 运行程序在一危险时间段内的执行进度; 当预测在通写模式下所述处理器所运行程序在所述危险时间段内的执行进度大于在 所述回写模式下所述处理器所运行程序在所述危险时间段内的执行进度时,将当前的数据 写入模式转换为通写模式; 当所述写入控制装置处于所述通写模式时,侦测所述脏块数量,当所述脏块的数量降 至第二预设阔值时,则将当前的数据写入模式转换为所述回写模式。6. 如权利要求5所述的数据写入控制方法,其特征在于,所述一级存储器还包括非易 失存储单元,在所述数据写入控制装置掉电后,所述易失存储单元中的数据被备份至所述 非易失存储单元中,所述第一预设阔值为所述第一存储器可支持备份的脏块的最大数量。7. 如权利要求5所述的数据写入控制方法,其特征在于,所预测采用回写模式时写入 控制装置程序执行的进度的计算公式为:其中,k为在回写模式下,所述处理器所运行程序在单位时间内的执行进度,L为预设 的所述危险时间段的长度,tg为若W所述脏块的数量达到所述第一预设阔值时为时间零 点,在危险时间段内,所述数据写入控制装置掉电前开始供电的时间,IM为预先统计的所 述数据写入控制装置的平均供电时间。所预测采用通写模式时写入控制装置程序执行的进 度的计算公式为: E(G')= k' L 其中,k '为在通写模式下,所述处理器所运行程序在单位时间内的执行进度。8. 如权利要求5所述的数据写入控制方法,其特征在于,所述第二预设阔值为所述第 一预设阔值减一。
【文档编号】G06F11/14GK105988735SQ201510101154
【公开日】2016年10月5日
【申请日】2015年3月6日
【发明人】李和和, 刘勇攀, 赵庆行, 罗嵘, 杨华中
【申请人】华为技术有限公司, 清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1