一种基于温度的重要数据分配方法及其系统与流程

文档序号:11216199阅读:545来源:国知局
一种基于温度的重要数据分配方法及其系统与流程

本发明涉及数据存储领域,尤其涉及一种基于温度的重要数据分配方法及其系统。



背景技术:

3d闪存(three-dimensionalflashmemory)是一种新兴的前沿技术,具有极佳的发展前景。它突破了传统二维平面闪存(2d/planarflashmemory)的瓶颈,在保证容量和可靠性的前提下,不需要再耗费大成本和精力去提高制程工艺,而是考虑堆叠更多的层数来实现。平面nand闪存使用单层(singlelayer)的结构,存储单元的大小随着制程工艺的进步而逐步缩小,单位面积上的存储单元密度增大,相对地单元之间的干扰也就会越来越严重,从而导致nand闪存产品的可靠性降低。

3d闪存采用多层(multi-layer)的立体结构,各平面层堆叠在一起。对于闪存芯片的单个平面而言,可以放置在上面的存储单元的数量有限制,这就限制了设备的总体存储容量。而根据3d闪存的结构特点,可将其分为若干层,每层有若干行,每行有若干个物理块。基于这样的立体结构,3d闪存允许存储单元垂直堆叠,使得闪存器件容量能够以指数方式增加,在更小的物理空间中实现更高的容量。

现有物理空间分配的技术中,比如“干扰缓解分配方案”(y.-m.chang,y.-h.chang,t.-w.kuo,h.-p.li,andy.-c.li,“adisturb-alleviationschemefor3dflashmemory,”in2013ieee/acminternationalconferenceoncomputer-aideddesign(iccad),nov2013,pp.421–428)和“可靠性增强的地址映射策略”(y.wang,z.shao,h.chan,l.bathen,andn.dutt,“areliabilityenhancedaddressmappingstrategyforthree-dimensional(3-d)nandflashmemory,”ieeetransactionsonverylargescaleintegration(vlsi)systems,vol.22,no.11,pp.2402–2410,nov2014),并没有考虑到温度对芯片的影响。在物理空间和闪存芯片中实际地址空间的映射表采取顺序映射的方式,而且温度具有临近性,这样就会存在相邻物理块相互干扰的问题。

对于重要数据的物理块分配操作,在现有的3d闪存管理技术中,并没有很好的考虑到温度对闪存的影响。3d闪存芯片对温度十分敏感。事实上,高温会加速电荷的放射和移动,导致物理块上电压值发生变化(比如由01变化为11),这就使得存储数据出错了。对于类似于文件系统元数据和地址映射表一类的重要数据来说,这样的错误是致命的。倘若连文件系统的地址都无法找到,那么更加不可能去加载文件系统了。所以,对于此类重要数据写入块的分配,要求高稳定性和高完整性。但是,目前现有技术在这方面的数据稳定性和完整性普遍较低。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于温度的重要数据分配方法及其系统,旨在解决现有技术中对于重要数据的物理块分配操作时存在重要数据稳定性和完整性较低的问题。

本发明提出一种基于温度的重要数据分配方法,应用于三维闪存,其中,所述方法包括:

在所述三维闪存的操作系统发出写预设重要数据的请求时,监测所述三维闪存内芯片各部分的温度;

根据监测到芯片各部分温度分布的均匀性以及操作系统预设的降温模型选择预设的分配方式进行预设重要数据写入操作。

另一方面,本发明还提供一种基于温度的重要数据分配系统,应用于三维闪存,其特征在于,所述系统包括:

测温模块,用于在所述三维闪存的操作系统发出写预设重要数据的请求时,监测所述三维闪存内芯片各部分的温度;

分配模块,用于根据监测到芯片各部分温度分布的均匀性以及操作系统预设的降温模型选择预设的分配方式进行预设重要数据写入操作。

本发明提供的技术方案使用温度传感器或热感相机动态监测3d闪存芯片的温度,将预设重要数据分配到温度低的块区域,以保证预设重要数据的完整性和稳定性。本发明提供的技术方案根据温度分布均匀与否以及降温模型强劲与否,构建4种不同的块分配策略,保证了不同场景下用于存储的物理块有较高的稳定性,防止重要数据产生错误,同时使用四叉树和队列数据结构来辅助实现块的查找定位,可以定位到温度低的块区域,并且避免了在相同区域反复执行写操作的情况,减少热量的积累,提高磨损均衡。

附图说明

图1为本发明一实施方式中基于温度的重要数据分配方法流程图;

图2为本发明一实施方式中图1在监测到芯片各部分温度均匀分布且预设的降温模型为强降温模型时的预设重要数据分配方法流程图;

图3为本发明一实施方式中图1在监测到芯片各部分温度均匀分布且预设的降温模型为弱降温模型时的预设重要数据分配方法流程图;

图4为本发明一实施方式中图1在监测到芯片各部分温度非均匀分布且预设的降温模型为强降温模型时的预设重要数据分配方法流程图;

图5为本发明一实施方式中图1在监测到芯片各部分温度非均匀分布且预设的降温模型为弱降温模型时的预设重要数据分配方法流程图;

图6为本发明一实施方式中基于温度的重要数据分配系统10的内部结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下将对本发明所提供的一种基于温度的重要数据分配方法进行详细说明。

请参阅图1,为本发明一实施方式中基于温度的重要数据分配方法流程图。

在本实施方式中,基于温度的重要数据分配方法应用于三维闪存(three-dimensionalflashmemory),所述重要数据包括预设的操作系统元数据、地址映射表、包含特异性及排他性的数据、频繁访问或更新的数据等。

在步骤s1中,在所述三维闪存的操作系统发出写所述预设重要数据的请求时,监测所述三维闪存内芯片各部分的温度。

在本实施方式中,当操作系统发出写所述预设重要数据的请求时,表示有重要数据(例如:文件系统元数据、地址映射表等)需要写入三维闪存芯片,此时利用温度传感器或者热感相机动态监测三维闪存内芯片各部分的温度,然后检查一系列温度实测值或者直接分析热感图像,将预设重要数据分配到温度低的块区域,以保证预设重要数据的完整性和稳定性。

在步骤s2中,根据监测到芯片各部分温度分布的均匀性以及操作系统预设的降温模型选择预设的分配方式进行预设重要数据写入操作。

在本实施方式中,所述芯片各部分温度分布的均匀性包括温度均匀分布和温度非均匀分布,所述降温模型包括强降温模型和弱降温模型,因此,根据温度分布均匀与否以及降温模型强劲与否,构建4种不同的块分配策略,保证了不同场景下用于存储的物理块有较高的稳定性,防止预设重要数据产生错误。

在本实施方式中,鉴于三维闪存内芯片对温度的敏感性,高温会破坏预设重要数据的稳定性和完整性,所以对于一些预设重要数据,比如文件系统的元数据、地址映射文件等,需要采取某些策略分配到温度较低的物理块上,从而使其可靠性得到保证,其中对预设重要数据的分配策略中,就涉及到了以下两种数据结构:

(1)四叉树,是基于3d闪存芯片结构特性的四叉树,根据3d闪存芯片的结构特性,可以将3d闪存视作一个3d立方体,这个立方体包含α层layers,每层layer包含β个planes,而每个planes又由γ个物理块(block)连接而成,选择闪存芯片中的一层layer(比如layer_0),将其划分为2×2个dies,然后选择其中温度最低的die(比如die_2),继续将它划分为2×2个planes,选择温度最低的plane(比如plane_1),将它划分为2×2个blocks,并最终定位到温度最低的block区域,将预设重要数据写入,根据实际需要,可以进一步划分,继续生成更多层的子树,该预设重要数据结构应用于降温模型较弱的情况;

(2)队列,是针对物理块的温度临近性的队列,采用电荷撷取技术的3d闪存芯片,它对温度十分敏感,基于温度的临近性,相邻的物理块总是具有相似的温度,在为预设重要数据执行写入操作后,该块区域的温度会上升,当写操作十分频繁时,温度也会快速上升,每次写入时,在不同layer上为其分配写入块,可以避免热量的积累和提高磨损均衡,为了保证临近的n次写操作不重复写入同一层layer,可以采用队列结构,假设共有n层layer,队列q用于存放该次选定的layer,该layer在往后的n-size(q)次分配中不会被选择,其中size(q)指队列q中包含的layer数目,直至所有layer都被写过,再按照先进先出的原则使用layer,这样做的原因是在降温模型强劲的情况下,可以给上一个被写的块区域预留足够的时间降温,以便下次对该块执行写入,该预设重要数据结构应用于降温模型强劲的情况。

请参阅图2,为本发明一实施方式中图1在监测到芯片各部分温度均匀分布且预设的降温模型为强降温模型时的预设重要数据分配方法流程图。

在本实施方式中,倘若监测到芯片各部分温度分布均匀,说明芯片各部分温度较为接近,因此在为预设重要数据分配物理块时,可以降低块查找和定位的精度要求,比如仅使用两层的四叉树就完成写入块的定位,而温度分布不均匀时使用三层的四叉树完成块的定位。在本实施方式中,倘若预设的降温模型为强降温模型,则表明升温缓慢,降温快速。

在步骤s201中,判断写入操作是否频繁;

若不频繁,则在步骤s202中比较所述三维闪存内芯片上各层layer的温度,以得到温度最低的层low_temp_layer;

在步骤s203中,将温度最低的层low_temp_layer进行对半分以得到两个分区die;

在步骤s204中,比较两个分区die的温度,并定位到温度最低的分区low_temp_die;

在步骤s205中,将温度最低的分区low_temp_die划分为n*n的网格;

在步骤s206中,在n*n的网格中随机选择m个样本点,并比较m个样本点的温度,其中,n*n/2<m<n*n;

在步骤s207中,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

在写入操作频繁时,采用上述预设重要数据结构中的队列,每次在不同layer层写入,避免热量的积累和提高磨损均衡,同时给该次写入的块区域预留足够的时间降温,具体的,则在步骤s208中判断采用队列数据结构的数据队列大小size(q)是否等于所述三维闪存内芯片的层数layer_num;

若等于,则表明芯片中所有层layer都至少被写过一次,此时则在步骤s209中,取出队列中位于队首的层作为温度最低的层low_temp_layer,因为它已经充分降温了,然后转而执行步骤s203-s207,即将温度最低的层low_temp_layer进行对半分以得到两个分区die,比较两个分区die的温度,并定位到温度最低的分区low_temp_die,将温度最低的分区low_temp_die划分为n*n的网格,在n*n的网格中随机选择m个样本点,并比较m个样本点的温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据,其中,n*n/2<m<n*n;

若不等于,则在步骤s210中,比较除了队列q外芯片上各层layer的温度以得到温度最低的层low_temp_layer。

在步骤s211中,将温度最低的层low_temp_layer插入队列中的队尾,然后转而执行步骤s203-s207,即将温度最低的层low_temp_layer进行对半分以得到两个分区die,比较两个分区die的温度,并定位到温度最低的分区low_temp_die,将温度最低的分区low_temp_die划分为n*n的网格,在n*n的网格中随机选择m个样本点,并比较m个样本点的温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据,其中,n*n/2<m<n*n。

请参阅图3,为本发明一实施方式中图1在监测到芯片各部分温度均匀分布且预设的降温模型为弱降温模型时的预设重要数据分配方法流程图。

在本实施方式中,倘若预设的降温模型为弱降温模型,则表明升温快速,降温缓慢,此时使用两层的四叉树划分层layer和分区die。

在步骤s301中,使用温度传感器或者热感相机测温,比较所述三维闪存芯片上各层layer的温度。

在步骤s302中,获取温度最低的层low_temp_layer,并将温度最低的层low_temp_layer划分为n*n个分区die,其中,由于是四叉树,此时的n取2。

在步骤s303中,比较各个分区die的温度,并定位到温度最低的分区low_temp_die。

在步骤s304中,将温度最低的分区low_temp_die带状划分为m个子区。

在步骤s305中,利用等距取样法在m个子区中的每一个子区各取一个样本点,以形成m个样本点。在本实施方式中,采用等距取样法的原因是温度分布均匀,并且相邻物理块的温度具有临近性,可以隔一定距离取一个样本点,用该样本点的温度去代表该段距离的所有物理块的温度。

在步骤s306中,在m个样本点中随机取p个样本点进行比较温度,其中,m/2<p<m。

在步骤s307中,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

请参阅图4,为本发明一实施方式中图1在监测到芯片各部分温度非均匀分布且预设的降温模型为强降温模型时的预设重要数据分配方法流程图。

在本实施方式中,温度非均匀分布表明芯片各部分温度差异较大,预设的降温模型为强降温模型则表明升温缓慢,降温快速。

在步骤s401中,判断写入操作是否频繁;

若不频繁,则在步骤s402中,比较所述三维闪存芯片上各层layer的温度;

在步骤s403中,获取温度最低的层low_temp_layer,并将温度最低的层low_temp_layer划分为n*n个分区die;

在步骤s404中,比较各个分区die的温度,并定位到温度最低的分区low_temp_die;

在步骤s405中,将温度最低的分区low_temp_die划分为m*m的网格;

在步骤s406中,在m*m的网格中随机选取p个样本点进行比较温度,其中,m*m/2<p<m*m;

在步骤s407中,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

在写入操作频繁时,同样采用上述数据结构中的队列,每次在不同layer层写入,避免热量的积累和提高磨损均衡,同时给该次写入的块区域预留足够的时间降温,具体的,则在步骤s408中,判断采用队列数据结构的数据队列size(q)大小是否等于所述三维闪存内芯片的层数layer_num;

若等于,则在步骤s409中,取出队列中位于队首的层作为温度最低的层low_temp_layer,因为它已经充分降温了,然后执行步骤s403-s407,即将温度最低的层low_temp_layer划分为n*n个分区die,比较各个分区die的温度,并定位到温度最低的分区low_temp_die,将温度最低的分区low_temp_die划分为m*m的网格,在m*m的网格中随机选取p个样本点进行比较温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据,其中,m*m/2<p<m*m;

若不等于,则在步骤s410中,比较除了队列q外芯片上各层layer的温度以得到温度最低的层low_temp_layer。

在步骤s411中,将温度最低的层low_temp_layer插入队列中的队尾,然后执行步骤s403-s407,即将温度最低的层low_temp_layer划分为n*n个分区die,比较各个分区die的温度,并定位到温度最低的分区low_temp_die,将温度最低的分区low_temp_die划分为m*m的网格,在m*m的网格中随机选取p个样本点进行比较温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据,其中,m*m/2<p<m*m。

请参阅图5,为本发明一实施方式中图1在监测到芯片各部分温度非均匀分布且预设的降温模型为弱降温模型时的预设重要数据分配方法流程图。

在本实施方式中,温度非均匀分布表明芯片各部分温度差异较大,倘若预设的降温模型为弱降温模型,则表明升温快速,降温缓慢,此时使用两层的四叉树划分层layer和分区die。

在步骤s501中,使用温度传感器或者热感相机测温,比较所述三维闪存芯片上各层layer的温度;

在步骤s502中,获取温度最低的层low_temp_layer,并将温度最低的层low_temp_layer划分为n*n个分区die;

在步骤s503中,比较各个分区die的温度,并定位到温度最低的分区low_temp_die;

在步骤s504中,将温度最低的分区low_temp_die划分为n*n个子区plane;

在步骤s505中,比较各个子区plane的温度,并定位到温度最低的子区low_temp_plane;

在步骤s506中,利用随机取样法在温度最低的子区low_temp_plane中取m个样本点;

在步骤s507中,比较所有m个样本点的温度;

在步骤s508中,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。在本实施方式中,写入预设重要数据后,将该块区域标记为last_access,表示该块区域最近被访问过,下次选择块时先直接忽略它,而在下次选择时,使用last_access标记下一个被选择块区域,取消原选择块区域的标记,因为某一块被选择并进行写入后,温度会上升,由于温度的临近性,会影响到该块的上下左右一整个区域,在降温模型较弱的情况下,不重复写同一块区域可以给被写入块预留降温的时间。

本发明提供的一种基于温度的重要数据分配方法,使用温度传感器或热感相机动态监测3d闪存芯片的温度,将预设重要数据分配到温度低的块区域,以保证预设重要数据的完整性和稳定性。本发明提供的技术方案根据温度分布均匀与否以及降温模型强劲与否,构建4种不同的块分配策略,保证了不同场景下用于存储的物理块有较高的稳定性,防止预设重要数据产生错误,同时使用四叉树和队列数据结构来辅助实现块的查找定位,可以定位到温度低的块区域,并且避免了在相同区域反复执行写操作的情况,减少热量的积累,提高磨损均衡,也延长了芯片的寿命。

请参阅图6,所示为本发明一实施方式中基于温度的重要数据分配系统10的结构示意图。

在本实施方式中,基于温度的重要数据分配系统10,应用于三维闪存,主要包括测温模块11、分配模块12。其中,分配模块12具体包括第一分配子模块121、第二分配子模块122、第三分配子模块123以及第四分配子模块124。

测温模块11,用于在所述三维闪存的操作系统发出写预设重要数据的请求时,监测所述三维闪存内芯片各部分的温度;

分配模块12,用于根据监测到芯片各部分温度分布的均匀性以及操作系统预设的降温模型选择预设的分配方式进行预设重要数据写入操作。

在本实施方式中,利用温度传感器或者热感相机动态监测芯片各部分的温度,所述芯片各部分温度分布的均匀性包括温度均匀分布和温度非均匀分布,所述降温模型包括强降温模型和弱降温模型。

在本实施方式中,在监测到芯片各部分温度均匀分布且预设的降温模型为强降温模型时,所述第一分配子模块121用于:

判断写入操作是否频繁;

若不频繁,则比较所述三维闪存内芯片上各层的温度,以得到温度最低的层;

将温度最低的层进行对半分以得到两个分区;

比较两个分区的温度,并定位到温度最低的分区;

将温度最低的分区划分为n*n的网格;

在n*n的网格中随机选择m个样本点,并比较m个样本点的温度;

获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

在本实施方式中,所述第一分配子模块121还用于:

在写入操作频繁时,判断采用队列数据结构的数据队列大小是否等于所述三维闪存内芯片的层数;

若等于,则取出队列中位于队首的层作为温度最低的层,将温度最低的层进行对半分以得到两个分区,比较两个分区的温度,并定位到温度最低的分区,将温度最低的分区划分为n*n的网格,在n*n的网格中随机选择m个样本点,并比较m个样本点的温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据;

若不等于,则比较除了队列外芯片上各层的温度以得到温度最低的层,将温度最低的层插入队列中的队尾,并将温度最低的层进行对半分以得到两个分区,比较两个分区的温度,并定位到温度最低的分区,将温度最低的分区划分为n*n的网格,在n*n的网格中随机选择m个样本点,并比较m个样本点的温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

在本实施方式中,在监测到芯片各部分温度均匀分布且预设的降温模型为弱降温模型时,所述第二分配子模块122用于:

使用温度传感器或者热感相机测温,比较所述三维闪存芯片上各层的温度;

获取温度最低的层,并将温度最低的层划分为n*n个分区;

比较各个分区的温度,并定位到温度最低的分区;

将温度最低的分区带状划分为m个子区;

利用等距取样法在m个子区中的每一个子区各取一个样本点,以形成m个样本点;

在m个样本点中随机取p个样本点进行比较温度;

获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

在本实施方式中,在监测到芯片各部分温度非均匀分布且预设的降温模型为强降温模型时,所述第三分配子模块123用于:

判断写入操作是否频繁;

若不频繁,则比较所述三维闪存芯片上各层的温度;

获取温度最低的层,并将温度最低的层划分为n*n个分区;

比较各个分区的温度,并定位到温度最低的分区;

将温度最低的分区划分为m*m的网格;

在m*m的网格中随机选取p个样本点进行比较温度;

获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

在本实施方式中,所述第三分配子模块123还用于:

在写入操作频繁时,判断采用队列数据结构的数据队列大小是否等于所述三维闪存内芯片的层数;

若等于,则取出队列中位于队首的层作为温度最低的层,将温度最低的层划分为n*n个分区,比较各个分区的温度,并定位到温度最低的分区,将温度最低的分区划分为m*m的网格,在m*m的网格中随机选取p个样本点进行比较温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据;

若不等于,则比较除了队列外芯片上各层的温度以得到温度最低的层,将温度最低的层插入队列中的队尾,并将温度最低的层划分为n*n个分区,比较各个分区的温度,并定位到温度最低的分区,将温度最低的分区划分为m*m的网格,在m*m的网格中随机选取p个样本点进行比较温度,获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

在本实施方式中,在监测到芯片各部分温度非均匀分布且预设的降温模型为弱降温模型时,所述第四分配子模块124用于:

使用温度传感器或者热感相机测温,比较所述三维闪存芯片上各层的温度;

获取温度最低的层,并将温度最低的层划分为n*n个分区;

比较各个分区的温度,并定位到温度最低的分区;

将温度最低的分区划分为n*n个子区;

比较各个子区的温度,并定位到温度最低的子区;

利用随机取样法在温度最低的子区中取m个样本点;

比较所有m个样本点的温度;

获取温度最低的样本点,并在温度最低的样本点所在的区域内写入预设重要数据。

本发明提供的一种基于温度的重要数据分配系统10,使用温度传感器或热感相机动态监测3d闪存芯片的温度,将预设重要数据分配到温度低的块区域,以保证预设重要数据的完整性和稳定性。本发明提供的技术方案根据温度分布均匀与否以及降温模型强劲与否,构建4种不同的块分配策略,保证了不同场景下用于存储的物理块有较高的稳定性,防止预设重要数据产生错误,同时使用四叉树和队列数据结构来辅助实现块的查找定位,可以定位到温度低的块区域,并且避免了在相同区域反复执行写操作的情况,减少热量的积累,提高磨损均衡,也延长了芯片的寿命。

值得注意的是,上述实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如rom/ram、磁盘或光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1