首页> 中国专利> 面向非易失性内存的磨损均衡及访问方法、设备和存储介质

面向非易失性内存的磨损均衡及访问方法、设备和存储介质

摘要

本发明公开了一种面向非易失性内存的磨损均衡及访问方法、设备和存储介质,该方法包括:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p‑1级别的物理单位包括多个第p级别的物理单位;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位。根据本发明的技术方案,能够实际将同一逻辑地址的数据均衡分散在各个物理地址,使得对同一固定的逻辑地址的无意或恶意集中访问,分散到多个物理地址上,而对于传统的查表式的地址转换方法,无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-26

    授权

    授权

  • 2018-12-25

    实质审查的生效 IPC(主分类):G06F12/02 申请日:20180725

    实质审查的生效

  • 2018-11-30

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及一种面向非易失性内存的磨损均衡及访问方法、设备和存储介质。

背景技术

非易失性内存(NVM,Non-Volatile Memory)因其兼具传统外存的持久性和传统内存的高性能,近年来迎来了飞速的发展。与固态硬盘(SSD,Solid State Drives)相似,非易失性内存具有有限次的擦写次数。面对该种特性,必须支持磨损均衡。否则,无意的热点访问,或恶意的反复擦写攻击,都会导致某些物理地址(页、块、段)首先达到擦写次数上限,造成负面影响——轻者降低可用容量,重者导致全盘报废。

固态硬盘通过硬件映射表的方法完成磨损均衡的工作,即通过FTL(FlashTranslation Layer,闪存转换层)中的映射表完成逻辑地址与物理地址的映射。FTL统计物理地址的访问次数,对于访问频率高的物理地址,只需要改变映射表,将该逻辑地址映射的物理地址改为访问频率低的物理地址。除了地址映射、磨损均衡之外,FTL还承担了垃圾回收、ECC(Error Correcting Code,错误检查和纠正)校验、坏块管理等工作。

然而,非易失性内存的磨损均衡不能照搬传统的硬件映射表方法,原因在于:(1)非易失性内存无FTL硬件。FTL凝结了固态硬盘厂商的核心技术,其集成在硬件设备中。但是非易失性内存并无FTL硬件,如果仅仅为了磨损均衡增加硬件设计上的开销和成本,难以得到硬件厂商的支持。(2)非易失性内存对性能要求高。采用软件的查表操作效率低下,并且,增加了“统计擦写次数”的步骤,这样的性能损害对于固态硬盘不足1%(基本可以忽略),但是非易失性内存的访问时延低于固态硬盘1-2个数量级,这样的性能损害将产生30%以上的性能损害(十分显著)。(3)非易失性内存的价格高昂。如果采用软件的方式实现映射表,记录“逻辑地址、物理地址、擦写次数”的映射关系,则会占据宝贵的内存空间,大大降低了可用容量。综上所述,不论是照搬传统的硬件的映射表方法,还是通过软件改进的映射表方法,均不适用于非易失性内存。

因此,本发明提出一种面向非易失性内存的磨损均衡方案,以解决非易失性内存内部的微观磨损均衡问题。

发明内容

本发明实施例的主要目的在于提出一种面向非易失性内存的磨损均衡及访问方法、设备和存储介质,旨在解决非易失性内存内部的微观磨损均衡问题。

为实现上述目的,本发明提供了一种面向非易失性内存的磨损均衡及访问方法,包括:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。

为实现上述目的,本发明提供了一种面向非易失性内存的磨损均衡及访问设备,包括非易失性内存、处理器;所述处理器用于执行面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。

为实现上述目的,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:将非易失性内存在逻辑上划分为p个级别的物理单位,所述非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数;在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。

根据以上技术方案,可知本发明的面向非易失性内存的磨损均衡及访问方法、设备和存储介质至少具有以下优点:

根据本发明的技术方案,能够实际将同一逻辑地址的数据均衡分散在各个物理地址,使得对同一固定的逻辑地址的无意或恶意集中访问,分散到多个物理地址上,而对于传统的查表式的地址转换方法,则无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。

附图说明

图1是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的流程图;

图2是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的示意图;

图3是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的流程图;

图4是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问方法的示意图;

图5是根据本发明的一个实施例的面向非易失性内存的磨损均衡及访问设备的框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特有的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

如图1所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问方法,包括:

步骤S110,将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。

在本实施例中,例如,将非易失性内存从逻辑上划分为n个第一物理单位,其尺寸为N;每个第一物理单位划分为m个第二物理单位其尺寸为M;每个第二物理单位划分为k个第三物理单位,其尺寸为K……以此类推。

在本实施例中,进一步对步骤S110的触发条件进行限制,典型的触发条件举例:(1)用户手动触发。(2)CPU检测到在过去一段时间,例如,1小时之内对非易失性内存某个固定地址的写入次数超过预设阈值,例如,10万次。在步骤S110触发前,采用传统映射表方法。

步骤S120,在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。

在本实施例中,进一步对步骤S120的终止条件进行限制。典型的终止条件举例:(1)用户手动触发。(2)CPU检测到在过去一段时间内,例如,7天之内的任一时间间隔,例如,1小时中未出现对非易失性内存某个固定地址的写入次数超过预设阈值,例如,10万次。(3)检测到该非易失性内存已到达预设寿命值,濒临寿命极限,此时已无磨损均衡的必要了。(4)该非易失性内存的若干地址已达写入次数上限。在步骤S120终止后,采用传统映射表方法。

在本实施例中,设置第一物理单位的轮换时间周期为A,第二物理单位的轮换时间周期为B,第三物理单位的轮换时间周期为C……以此类推。在本实施例中,例如,当时间周期A到达时,将n个第一物理单位进行换位;当时间周期B到达时,将每个第一物理单位中的m个第二物理单位进行轮换;当时间周期C到达时,将每个第二物理单位中的k个第三物理单位进行轮换……以此类推,轮换后的数据位置发生变化,具体如图2所示。

在本实施例中,轮换的物理单位包括但不限于:(1)段;(2)块;(3)页;(4)若干字节(B);(5)若干千字节(KB);(6)若干兆字节(MB);(7)若干吉字节(GB);(8)以及其他内存容量单位。轮换的时间单位包括但不限于:(1)若干年;(2)若干季度;(3)若干月;(4)若干周;(5)若干日;(6)若干小时;(7)若干分钟;(8)若干秒;(9)及其他农历、藏历时间单位。轮换的方式包括但不限于:(1)顺序式逐一轮换;(2)逆序式逐一轮换;(3)顺序式跳跃轮换;(4)逆序式跳跃轮换;(5)伪随机轮换;(6)其他轮换方式。

根据本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果,与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。

如图3所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问方法,包括:

步骤S310,将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。

步骤S320,根据当前的工作场景,设置第q级别的物理单位对应的时间周期。

在本实施例中,优选地,各轮换物理单位各自独立地同时进行轮换。当然,仅进行段的轮换或仅进行块的轮换能够在一定程度上达到磨损均衡,但对同一逻辑地址的访问固定分散在某几个物理地址上,无法做到将该逻辑地址分散到全体物理地址上。本发明需将保护全部步骤或若干步骤组合。轮换的时间间隔越短,磨损的均衡性也就越强,迁移的次数也就越频繁,会暂时性地停止对外服务,因此轮换的时间既不能太久、也不能太短,需要实施用例时根据实际情况确定。优选地,迁移时间应选在系统低谷时段。优选地,在系统受到攻击时,或其他有需要的场景中,可将时间周期A、B、C缩短,由用户触发或系统自动触发。

步骤S330,在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并按每个第q级别的物理单位的数据轮换后的位置,从非易失性内存的其他空闲位置或其他内外存拷贝至非易失性内存,q为1至p中任一正整数。

在本实施例中,还提供一种轮换的方式:将一个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并逐个将其他第q级别的物理单位的数据拷贝至非易失性内存中上一拷贝数据的位置,以及将非易失性内存的其他空闲位置或其他内外存中的数据拷贝至非易失性内存中上一拷贝数据的位置。

在本实施例中,(1)将该非易失性内存全部数据拷贝至其他内存或外存,随后将数据按照新的位置拷贝至该非易失性内存;(2)将该非易失性内存的最后一个段(或块)拷贝至其他内存或外存,随后将非易失性内存中的数据逐段(块)拷贝至新的位置,最后将暂存在其他内存或外存的最后一个段(块)拷贝至非易失性内存中的新位置。

步骤S340,在用户访问非易失性内存时,将第q级别的n个物理单位中的第a个物理单位的逻辑地址设置为(x/Q+y/A)%n,其中x为非易失性内存的逻辑地址,Q为每个第q级别的物理单位的尺寸,y为用户的访问时间,A为第q级别的物理单位对应的时间周期。

在本实施例中,例如,用户在y时间,访问逻辑地址为x的内存时,通过本方法计算其物理地址Z,计算在第a个第一物理单位中,Z=(x/N+y/A)%n;计算在第b个第二物理单位中,Z=(x/M+y/B)%m;计算在第c个第三物理单位中,Z=(x/K+y/C)%k……以此类推。a、b、c……即可确定物理地址Z。以上的访问方法既可以由用户进行,也可以不由用户进行。前者,由用户负责执行上述步骤,在访问时先将逻辑地址转换成物理地址。后者,物理地址轮换对用户透明,用户仅在访问时始终以逻辑地址进行访问,由驱动程序(或操作系统、或容器)将其转换为物理地址。

采用本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果。与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。

如图4所示为本实施例的一个具体示例:

(1)轮换周期A为月。轮换周期B为年。该非易失性内存从逻辑上被划分为3个段,每个段有10个块。轮换方式为顺序式逐一轮换。

(2)在每个月的最后1秒,对非易失性内存中的3个段进行轮换,即将段3的内容暂存写入其他内存,段2的内容写入段3的位置,段1的内容写入段2的位置,其他内存中的暂存内容写入段1的位置。

(3)在每年的最后1秒,对非易失性内存中的3个段,逐个进行块的轮换:将块1的内容写入块2的位置、块2的内容写入块3的位置……以此类推。

(4)下述步骤展示了具体的时间对于逻辑地址向物理地址的转化。

(5)用户在2017年3月时,访问逻辑地址为第16号块,其为第2号段内的第7个块。由于是3月,因此段号向后移3次,即仍为2号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第2号段内的第4号块,即为13号块。

(6)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。

(7)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。

(8)用户在2017年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第1号段内的第4号块,即为3号块。

(9)用户在2018年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2018年,因此块号向后移2018次,即为段内的5号块。综合以上,该块的物理地址为第1号段内的第5号块,即为4号块。

(10)类似地,逻辑地址为22的块,其在2017年3月时的物理地址为29号块,在2017年4月时的物理地址为9号块,在2017年5月时的物理地址为19号块,在2018年6月时的物理地址为10号块。

如图5所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问设备,包括非易失性内存510、处理器520

处理器520用于执行面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:

将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。

在本实施例中,例如,将非易失性内存从逻辑上划分为n个第一物理单位,其尺寸为N;每个第一物理单位划分为m个第二物理单位其尺寸为M;每个第二物理单位划分为k个第三物理单位,其尺寸为K……以此类推。

在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。

在本实施例中,设置第一物理单位的轮换时间周期为A,第二物理单位的轮换时间周期为B,第三物理单位的轮换时间周期为C……以此类推。在本实施例中,例如,当时间周期A到达时,将n个第一物理单位进行换位;当时间周期B到达时,将每个第一物理单位中的m个第二物理单位进行轮换;当时间周期C到达时,将每个第二物理单位中的k个第三物理单位进行轮换……以此类推,轮换后的数据位置发生变化,具体如图2所示。

在本实施例中,轮换的物理单位包括但不限于:(1)段;(2)块;(3)页;(4)若干字节(B);(5)若干千字节(KB);(6)若干兆字节(MB);(7)若干吉字节(GB);(8)以及其他内存容量单位。轮换的时间单位包括但不限于:(1)若干年;(2)若干季度;(3)若干月;(4)若干周;(5)若干日;(6)若干小时;(7)若干分钟;(8)若干秒;(9)及其他农历、藏历时间单位。轮换的方式包括但不限于:(1)顺序式逐一轮换;(2)逆序式逐一轮换;(3)顺序式跳跃轮换;(4)逆序式跳跃轮换;(5)伪随机轮换;(6)其他轮换方式。

根据本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果,与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。

如图5所示,本发明的一个实施例中提供了一种面向非易失性内存的磨损均衡及访问设备,包括非易失性内存510、处理器520

处理器520用于执行面向非易失性内存的磨损均衡及访问程序,以实现以下步骤:

将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。

根据当前的工作场景,设置第q级别的物理单位对应的时间周期。

在本实施例中,优选地,各轮换物理单位各自独立地同时进行轮换。当然,仅进行段的轮换或仅进行块的轮换能够在一定程度上达到磨损均衡,但对同一逻辑地址的访问固定分散在某几个物理地址上,无法做到将该逻辑地址分散到全体物理地址上。本发明需将保护全部步骤或若干步骤组合。轮换的时间间隔越短,磨损的均衡性也就越强,迁移的次数也就越频繁,会暂时性地停止对外服务,因此轮换的时间既不能太久、也不能太短,需要实施用例时根据实际情况确定。优选地,迁移时间应选在系统低谷时段。优选地,在系统受到攻击时,或其他有需要的场景中,可将时间周期A、B、C缩短,由用户触发或系统自动触发。

在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并按每个第q级别的物理单位的数据轮换后的位置,从非易失性内存的其他空闲位置或其他内外存拷贝至非易失性内存,q为1至p中任一正整数。

在本实施例中,还提供一种轮换的方式:将一个第q级别的物理单位的数据拷贝至非易失性内存的其他空闲位置或其他内外存,并逐个将其他第q级别的物理单位的数据拷贝至非易失性内存中上一拷贝数据的位置,以及将非易失性内存的其他空闲位置或其他内外存中的数据拷贝至非易失性内存中上一拷贝数据的位置。

在本实施例中,(1)将该非易失性内存全部数据拷贝至其他内存或外存,随后将数据按照新的位置拷贝至该非易失性内存;(2)将该非易失性内存的最后一个段(或块)拷贝至其他内存或外存,随后将非易失性内存中的数据逐段(块)拷贝至新的位置,最后将暂存在其他内存或外存的最后一个段(块)拷贝至非易失性内存中的新位置。

在用户访问非易失性内存时,将第q级别的n个物理单位中的第a个物理单位的逻辑地址设置为(x/Q+y/A)%n,其中x为非易失性内存的逻辑地址,Q为每个第q级别的物理单位的尺寸,y为用户的访问时间,A为第q级别的物理单位对应的时间周期。

在本实施例中,例如,用户在y时间,访问逻辑地址为x的内存时,通过本方法计算其物理地址Z,计算在第a个第一物理单位中,Z=(x/N+y/A)%n;计算在第b个第二物理单位中,Z=(x/M+y/B)%m;计算在第c个第三物理单位中,Z=(x/K+y/C)%k……以此类推。a、b、c……即可确定物理地址Z。以上的访问方法既可以由用户进行,也可以不由用户进行。前者,由用户负责执行上述步骤,在访问时先将逻辑地址转换成物理地址。后者,物理地址轮换对用户透明,用户仅在访问时始终以逻辑地址进行访问,由驱动程序(或操作系统、或容器)将其转换为物理地址。

采用本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果。与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。

如图4所示为本实施例的一个具体示例:

(1)轮换周期A为月。轮换周期B为年。该非易失性内存从逻辑上被划分为3个段,每个段有10个块。轮换方式为顺序式逐一轮换。

(2)在每个月的最后1秒,对非易失性内存中的3个段进行轮换,即将段3的内容暂存写入其他内存,段2的内容写入段3的位置,段1的内容写入段2的位置,其他内存中的暂存内容写入段1的位置。

(3)在每年的最后1秒,对非易失性内存中的3个段,逐个进行块的轮换:将块1的内容写入块2的位置、块2的内容写入块3的位置……以此类推。

(4)下述步骤展示了具体的时间对于逻辑地址向物理地址的转化。

(5)用户在2017年3月时,访问逻辑地址为第16号块,其为第2号段内的第7个块。由于是3月,因此段号向后移3次,即仍为2号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第2号段内的第4号块,即为13号块。

(6)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。

(7)用户在2017年4月时,同样访问逻辑地址为第16号块。由于是4月,因此段号循环后移4次,为3号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第3号段内的第4号块,即为23号块。

(8)用户在2017年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2017年,因此块号向后移2017次,即为段内的4号块。综合以上,该块的物理地址为第1号段内的第4号块,即为3号块。

(9)用户在2018年5月时,同样访问逻辑地址为第16号块。由于是5月,因此段号循环后移5次,为1号段。由于是2018年,因此块号向后移2018次,即为段内的5号块。综合以上,该块的物理地址为第1号段内的第5号块,即为4号块。

(10)类似地,逻辑地址为22的块,其在2017年3月时的物理地址为29号块,在2017年4月时的物理地址为9号块,在2017年5月时的物理地址为19号块,在2018年6月时的物理地址为10号块。

本发明的一个实施例中提供了一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:

将非易失性内存在逻辑上划分为p个级别的物理单位,非易失性内存包括多个第1级别的物理单位,每个第p-1级别的物理单位包括多个第p级别的物理单位,p为大于1的正整数。

在本实施例中,例如,将非易失性内存从逻辑上划分为n个第一物理单位,其尺寸为N;每个第一物理单位划分为m个第二物理单位其尺寸为M;每个第二物理单位划分为k个第三物理单位,其尺寸为K……以此类推。

在第q级别的物理单位对应的时间周期到达时,将每个第q级别的物理单位的数据更换至其他第q级别的物理单位,q为1至p中任一正整数。

在本实施例中,设置第一物理单位的轮换时间周期为A,第二物理单位的轮换时间周期为B,第三物理单位的轮换时间周期为C……以此类推。在本实施例中,例如,当时间周期A到达时,将n个第一物理单位进行换位;当时间周期B到达时,将每个第一物理单位中的m个第二物理单位进行轮换;当时间周期C到达时,将每个第二物理单位中的k个第三物理单位进行轮换……以此类推,轮换后的数据位置发生变化,具体如图2所示。

在本实施例中,轮换的物理单位包括但不限于:(1)段;(2)块;(3)页;(4)若干字节(B);(5)若干千字节(KB);(6)若干兆字节(MB);(7)若干吉字节(GB);(8)以及其他内存容量单位。轮换的时间单位包括但不限于:(1)若干年;(2)若干季度;(3)若干月;(4)若干周;(5)若干日;(6)若干小时;(7)若干分钟;(8)若干秒;(9)及其他农历、藏历时间单位。轮换的方式包括但不限于:(1)顺序式逐一轮换;(2)逆序式逐一轮换;(3)顺序式跳跃轮换;(4)逆序式跳跃轮换;(5)伪随机轮换;(6)其他轮换方式。

根据本实施例的技术方案,使得对同一固定的逻辑地址的无意或恶意集中访问,能够实际均衡分散在各个物理地址,从而达到了磨损均衡的效果,与传统映射表的方法相比较,本发明的方法无需额外长期占用内存空间,并且通过简单计算即可完成逻辑地址和物理地址的转换,避免了低效的查表操作,达到了节约空间和节约时间的效果。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号