掌桥专利:专业的专利平台
掌桥专利
首页

闪存系统离线状态下数据块数据保存时长获取系统和方法

文献发布时间:2024-04-18 19:52:40


闪存系统离线状态下数据块数据保存时长获取系统和方法

技术领域

本发明涉及半导体领域,具体涉及一种闪存系统离线状态下数据块数据保存时长获取系统和方法。

背景技术

Nand flash是flash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand-flash具有容量大、改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如数码相机、MP3随身听记忆卡、体积小巧的U盘等。Nand flash作为一种存储介质,其缺点是:写之前必须先擦、擦必须按照块为单位、易受操作环境温度等因素影响,数据可读性较差,导致数据容易丢失,存在存储不可靠的缺陷。

针对Nand flash存储不可靠的缺陷,一个重要的解决方式是使用原厂提供的retry参数组对Nand flash中出错的页面使用不同的读电压进行重读,有一定概率可以恢复数据,但由于Nand flash的型号及品质差异,以及可能存在超标的高低温使用场景,所以该方案无法完全满足高低温度使用场景确保数据正确可读性的要求。

决定读电压的一个很重要的因素是Nand flash中各个数据块的数据保存(DataRetention,简称DR)时间。在闪存系统上电时,可以通过内置于闪存控制模块中的时钟信号模块采集相应的时间来计算各个数据块的DR时长。而在闪存系统即处于离线状态时,该时钟信号模块通常无法正常工作。因此,现有方案无法准确计算闪存系统处于离线状态下的Nand flash各个数据块的DR时长。在长时间离线情况下,闪存系统再次上电后,由于无法获取较优的读电压,会引起闪存系统上电时间过长以及由于频繁重读,导致Nandflash的性能大幅下降等问题。

发明内容

本发明实施例提供了一种闪存系统离线状态下数据块DR时长获取系统、方法及Nand flash内数据获取方法,用以解决现有技术存在的缺陷。

为了实现上述目的,本发明实施例提供的闪存系统离线状态下数据块DR时长获取系统包括以下技术方案:

第一方面,本发明实施例提供的闪存系统离线状态下数据块DR时长获取系统包括:

闪存控制模块,用于实时判断闪存系统是否处于离线状态,若确定所述闪存系统处于离线状态,则向电源开关模块发出指令,控制所述电源开关模块接通独立电源模块与独立时钟信号模块之间的电路。

所述电源开关模块,用于根据所述闪存控制模块发出的指令,接通或断开所述独立电源模块与所述独立时钟信号模块之间的电路。

所述独立电源模块,用于为所述独立时钟信号模块供电。

所述独立时钟信号模块,用于当所述闪存系统处于离线状态时,记录所述闪存系统的掉电时间。

所述闪存控制模块,还用于当所述闪存系统上电时,计算所述闪存系统的掉电时间与上电时间之间的时间间隔,得到所述闪存系统的离线时长。

所述闪存控制模块,还用于当所述闪存系统上电时,分别计算所述Nand flash中各个数据块的数据写满时间与所述掉电时间之间的时间间隔,得到各个所述数据块的初始数据保存时长。

所述闪存控制模块,还用于分别计算所述闪存系统的离线时长与各个所述数据块的初始数据保存时长的和,得到各个所述数据块的最终数据保存时长。

作为第一方面一个优选的实施方式,所述闪存控制模块,还用于获取所述Nandflash 的型号及当前的操作环境温度。

作为第一方面一个优选的实施方式,所述闪存控制模块,还用于根据所述最终数据保存时长、所述Nand flash的型号及当前的操作环境温度,从预先创建的写入次数与重读电压映射表中,获取各个所述数据块的各个页面对应的重读电压集合。

作为第一方面一个优选的实施方式,所述闪存控制模块,还用于根据所述重读电压集合,读取各个所述数据块的各个页面的数据。

作为第一方面一个优选的实施方式,所述闪存控制模块,还用于当检测到所述闪存系统上电时,控制电源开关模块断开所述独立电源模块与所述独立时钟信号模块之间的电路。

第二方面,本发明实施例提供了一种闪存系统离线状态下数据块数据保存时长获取方法,该方法包括以下步骤:

当闪存系统处于离线状态时,记录所述闪存系统的掉电时间。

当闪存系统上电时,根据所述闪存系统的掉电时间及上电时间,计算所述闪存系统的离线时长。

分别计算Nand flash中各个数据块的数据写满时间与所述掉电时间之间的时间间隔,得到各个所述数据块的初始DR时长。

分别计算所述离线时长与各个所述数据块的初始数据保存时长的和,得到各个所述数据块的最终DR时长。

第三方面,本发明实施例提供了一种闪存系统离线状态下Nand flash内数据获取方法,该方法包括以下步骤:

当闪存系统处于离线状态时,记录所述闪存系统的掉电时间。

当闪存系统上电时,根据所述闪存系统的掉电时间及上电时间,计算所述闪存系统的离线时长。

分别计算Nand flash中各个数据块的数据写满时间与所述掉电时间之间的时间间隔,得到各个所述数据块的初始DR时长。

分别计算所述离线时长与各个所述数据块的初始数据保存时长的和,得到各个所述数据块的最终DR时长。

获取所述Nand flash的型号及当前的操作环境温度。

根据所述最终数据保存时长、所述Nand flash的型号及当前的操作环境温度,从预先创建的写入次数与重读电压映射表中,获取各个所述数据块的各个页面对应的重读电压集合。

根据所述重读电压集合,读取各个所述数据块的各个页面的数据。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第二方面或第三方面所述的方法。

第五方面,本发明实施例提供了一种电子设备,所述电子设备包括:

处理器;

用于存储所述处理器可执行指令的存储器;

所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述第二方面或第三方面所述的方法。

本发明实施例提供的闪存系统离线状态下数据块DR时长获取系统及获取Nandflash 内数据的方法具有以下有益效果:

(1)在闪存系统离线状态下,能够正常记录Nand flash各个数据块的掉电时间,从而使得闪存系统再次上电时可准确计算闪存系统离线状态时的各个数据块的最终DR时长,从而获取最优的读电压,提高了Nand flash的性能;

(2)易于实现,仅需基于现有闪存系统的方案上即可,无需对当前闪存系统的实现方式作较大的改动;

(3)独立电源模块仅在闪存系统离线状态下对独立时钟信号模块供电,能够节独立电源模块的电能,使得纽扣电池电量尽可能支持闪存系统的整个生命周期。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的闪存系统离线状态下数据块DR时长获取系统结构示意图。

图2为本发明实施例提供的获取Nand flash内数据的方法流程示意图。

图3为本发明实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,本发明实施例提供的闪存系统离线时长获取系统包括Nand flash、闪存控制模块、电源开关模块、独立电源模块及独立时钟信号模块,其中:

闪存控制模块用于实时判断闪存系统是否处于离线状态,若确定所述闪存系统处于离线状态,则向电源开关模块发出指令,控制所述电源开关模块接通独立电源模块与独立时钟信号模块之间的电路。

电源开关模块用于根据所述闪存控制模块发出的指令,接通或断开所述独立电源模块与所述独立时钟信号模块之间的电路。

独立电源模块用于为所述独立时钟信号模块供电。

独立时钟信号模块用于当所述闪存系统处于离线状态时,记录所述闪存系统的掉电时间。

闪存控制模块还用于当所述闪存系统上电时,计算所述闪存系统的掉电时间与上电时间之间的时间间隔,得到所述闪存系统的离线时长。

具体地,闪存系统的上电时间是通过集成于闪存控制模块中的时钟信号模块记录得到的。

闪存控制模块还用于当所述闪存系统上电时,分别计算所述Nand flash中各个数据块的数据写满时间与所述掉电时间之间的时间间隔,得到各个所述数据块的初始DR时长。

闪存控制模块还用于分别计算所述闪存系统的离线时长与各个所述数据块的初始数据保存时长的和,得到各个所述数据块的最终DR时长。

可选地,闪存控制模块还用于获取所述Nand flash的型号及当前的操作环境温度。

可选地,闪存控制模块还用于根据所述最终DR时长、所述Nand flash的型号及当前的操作环境温度,从预先创建的写入次数与重读电压映射表中,获取各个所述数据块的各个页面对应的重读电压集合。

具体地,由于各种因素的影响,该读电压会出现整体向左偏移或向右偏移。如表1所示,数据块的各个页面对应的重读电压不仅与该数据块的写入次数有关,还与Nandflash 的型号、操作环境温度有关。

表1

其中,表1为针对ToshibaBICS系列NandFlash中的一款Nand flash中一个数据块在最终DR时长为8个小时、操作环境温度在70°及不同的写入次数下,该数据块的各个页面相对于默认的读电压的偏移量,根据该偏移量,即可得到该数据块的各个页面R1-R7当前的最优读电压(重读电压)。根据该表,即可明确在最终DR时长为8个小时、操作环境温度为70°时,该数据块的写入次数与各个页面的重读电压之间的映射关系。

特别地,本发明实施例默认在闪存系统上电时,即向Nand flash的各个数据块读取数据。

具体地,写入次数为Nand flash中各个数据块的写入次数,该写入次数是通过集成于闪存控制模块中的时钟信号模块记录得到的。

可选地,闪存控制模块还用于根据所述重读电压集合,读取各个所述数据块的各个页面的数据。

可选地,闪存控制模块还用于当检测到所述闪存系统上电时,控制电源开关模块断开所述独立电源模块与所述独立时钟信号模块之间的电路。

实施例2

本发明实施例提供的获取Nand flash内数据的方法,该方法包括以下步骤:

S201,当闪存系统处于离线状态时,记录所述闪存系统的掉电时间。

S202,当闪存系统上电时,根据所述闪存系统的掉电时间及上电时间,计算所述闪存系统的离线时长。

S203,分别计算Nand flash中各个数据块的数据写满时间与所述掉电时间之间的时间间隔,得到各个所述数据块的初始DR时长。

S204,分别计算所述离线时长与各个所述数据块的初始数据保存时长的和,得到各个所述数据块的最终DR时长。

实施例3

如图2所示,本发明实施例提供的闪存系统离线状态下Nand flash内数据获取方法包括以下步骤:

S201,当闪存系统处于离线状态时,记录所述闪存系统的掉电时间。

S202,当所述闪存系统上电时,根据所述闪存系统的掉电时间及上电时间,计算所述闪存系统的离线时长。

具体地,该离线时长为闪存系统的上电时间与掉电时间之间的时间间隔,其中,上电时间可以通过集成于闪存控制模块中的时钟信号模块记录获得。

S203,分别计算Nand flash中各个数据块的数据写满时间与闪存系统的掉电时间之间的时间间隔,得到各个数据块的初始DR时长。

其中,当闪存系统处于离线状态时,通过独立时钟信号模块记录获取闪存系统的掉电时间。

具体地,当检测到闪存系统处于离线状态时,通过闪存控制模块控制独立电源模块(纽扣电池)单独给独立时钟信号模块供电且仅在闪存系统离线状态下使用,在闪存系统上电时,断开独立电源模块与独立时钟信号模块之间的供电连接,所以功耗极低。因此,闪存系统预装的纽扣电池即可支持闪存系统整个生命周期的使用,使用过程中间无需更换电池。

具体地,各个数据块的数据写满时间由集成于闪存控制器中的时钟信号模块记录获取。

S204,分别计算该离线时长与各个数据块的初始数据保存时长的和,得到各个所述数据块的最终数据保存时长。

S205,获取所述Nand flash的型号及当前的操作环境温度。

S206,根据所述最终DR时长、Nand flash的型号及当前的操作环境温度,从预先创建的写入次数与重读电压映射表中,获取各个数据块的各个页面对应的重读电压集合。

S207,根据所述重读电压集合,读取各个数据块的各个页面的数据。

具体地,将数据块擦一次后写一次的过程记为该数据块写入一次,即在当前的写入次数上加一。

特别地,在闪存系统上电过程中,根据闪存控制模块计算得到离线时长后,需要有检测机制确保该离线时长合法,对于明显非法的离线时长进行丢弃处理。检测离线时长是否合法的方法包括且不限于以下过程:

(1)独立时钟信号模块在没有电能供应的时候,设置特殊值标志非法,可在独立电源模块电量用尽或独立电源模块故障而无法为独立时钟信号模块供电的情况下使用。

(2)闪存系统在上电时,获取的系统离线时间应该在一个范围内,具体范围本专利不做定义,可根据需求自行定义,如0-5年之内,对于超过范围的离线时间也应做丢弃处理。

实施例3

图3是本发明一示例性实施例提供的电子设备的结构。如图3所示,该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。图3图示了根据本发明公开实施例的电子设备的框图。如图3所示,电子设备包括一个或多个处理器401和存储器402。

处理器401可以是中央处理单元(CPU)或者具有渗透数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。

存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所述的被公开的各个实施例的软件程序的对历史变更记录进行信息挖掘的方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出) 互连。

此外,该输入装置403还可以包括例如键盘、鼠标等等。

该输出装置404可以向外部输出各种信息。该输出设备404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。

当然,为了简化,图3中仅示出了该电子设备中与本发明公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。

实施例4

除了上述方法和设备以外,本发明公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明公开各种实施例的渗透数据标注、封装及获取方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本发明公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明公开各种实施例的渗透数据标注、封装及获取方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本发明公开的基本原理,但是,需要指出的是,在本发明公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明公开为必须采用上述具体的细节来实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

技术分类

06120116334142