一种基于NAND FLASH的数据存储方法、终端设备及存储介质技术

技术编号:20362389 阅读:20 留言:0更新日期:2019-02-16 16:18
本申请适用于数据处理技术领域,提供了一种基于NAND FLASH的数据处理方法、终端设备及计算机可读存储介质,所述方法包括:获取分配的存储空间,所述存储空间包括至少两个存储块,每个存储块包括至少两个存储页,每个存储页的大小相等,将获取的每条待存储数据依次写入所述存储空间的存储页中,所述存储空间中写入的数据形成数据队列,基于所述存储空间中写入的数据队列进行数据处理,所述数据处理包括:循环追加写入处理、标记式删除处理、开机检索整理处理、缓冲索引读取处理,通过本申请可以提高数据的存储写入速度、降低内存的开销。

【技术实现步骤摘要】
一种基于NANDFLASH的数据存储方法、终端设备及存储介质
本申请属于数据处理
,尤其涉及一种基于NANDFLASH的数据存储方法、终端设备及计算机可读存储介质。
技术介绍
在金融支付设备中,通常需要安全的存储多个密钥,这些密钥往往以密文的形式存储在基于FLASH的文件系统中,并且这些密钥还会定期或不定期的更新。然而,在实际应用中,FLASH文件系统需要为众多文件的访问服务,密钥写入的速度较慢,并且FLASH文件系统开销较大,若金融支付设备内存资源不充足的时候,就会无法支持文件系统。
技术实现思路
有鉴于此,本申请实施例提供了一种基于NANDFLASH的数据存储方法、终端设备及计算机可读存储介质,以解决目前数据的存储写入速度慢、内存开销大的问题。本申请实施例的第一方面提供了一种基于NANDFLASH的数据存储方法,应用于终端设备,所述方法包括:获取分配的存储空间,所述存储空间包括至少两个存储块,每个存储块包括至少两个存储页,每个存储页的大小相等;将获取的每条待存储数据依次写入所述存储空间的存储页中,所述存储空间中写入的数据形成数据队列;基于所述存储空间中写入的数据队列进行数据处理,所述数据处理包括:循环追加写入处理、标记式删除处理、开机检索整理处理、缓冲索引读取处理。本申请实施例的第二方面提供了一种终端设备,包括:获取模块,用于获取分配的存储空间,所述存储空间包括至少两个存储块,每个存储块包括至少两个存储页,每个存储页的大小相等;存储模块,用于将获取的每条待存储数据依次写入所述存储空间的存储页中,所述存储空间中写入的数据形成数据队列;处理模块,用于基于所述存储空间中写入的数据队列进行数据处理,所述数据处理包括:循环追加写入处理、标记式删除处理、开机检索整理处理、缓冲索引读取处理。本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面提供的所述方法的步骤。本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。本申请实施例的第五方面提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。本申请实施例是在FLASH存储空间中分配一段存储空间专门用于存储特定的数据,首先需要获取分配的存储空间,存储中间中包括多个存储块,每个存储块又包括了多个存储页,每个存储页大小相等,然后将获取的每条待存储数据依次写入所述存储空间的存储页中,存储空间中存储的数据会形成数据队列,可以对所述数据队列进行相关的数据处理,由于这一段存储空间是专门分配用于存储特定的数据,所以,不会产生众多文件的访问服务、因为能够提高数据的写入速度,而且,存储空间的大小有限,不会造成过大的内存开销。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种基于NANDFLASH的数据存储方法的实现流程示意图;图2是本申请实施例提供的一种循环追加写入处理方法的实现流程示意图;图3是本申请实施例提供的一种标记式删除处理方法的实现流程示意图;图4是本申请实施例提供的一种开机检索整理处理方法的实现流程示意图;图5是本申请实施例提供的一种终端设备的示意框图;图6是本申请实施例提供的另一种终端设备的示意框图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。图1是本申请实施例提供的一种基于NANDFLASH的数据存储方法的实现流程示意图,应用于终端设备,如图所示该方法可以包括以下步骤:步骤S101,获取分配的存储空间,所述存储空间包括至少两个存储块,每个存储块包括至少两个存储页,每个存储页的大小相等。在本申请实施例中,所述存储空间可以是NANDFLASH中的一段存储空间,FLASH是一种固态、电可擦除可写入、掉电不丢失信息的计算机存储介质,按实现结构,FLASH分为NORFLASH和NANDFLASH两种,其中,NANDFLASH是指以“与非门”为存储单元结构的FLASH。本方案是针对NANDFLASH的实施方案。NANDFLASH的特点是:由多个存储块组成,而每个存储块又均由相同数目的存储页组成,每个存储页由数据区和冗余区组成,所述数据区用于存储当前写入的数据;所述冗余区包括用于标记坏块的坏块标记和用于校验数据区的数据正确性的ECC码。每个存储页大小为相同数目的若干字节;以存储页为单位读写数据;只能以存储块为单位进行擦除,存储块只有被擦除后才能写入任意的新数据;不可以对同一存储页进行多于一次的写入;容易出现比特位翻转和坏块,所谓坏块,是指该存储块里面存在一个或几个位元经擦除后仍为0的情况。本申请实施例中分配的存储空间为一段独立的、物理地址连续的NANDFLASH存储空间,作为数据的存储载体。步骤S102,将获取的每条待存储数据依次写入所述存储空间的存储页中,所述存储空间中写入的数据形成数据队列。在本申请实施例中,所述数据可以是密钥记录,相应的,所述终端设备可以是金融支付设备。每条待存储数据可以是每条密钥记录,本申请实施例后续以密钥记录作为数据进行举例。作为本申请又一实施例,所述将获取的每条待存储数据依次写入所述存储空间的存储页中包括:在接收到存储第一条待存储数据的指令后,将第一条待存储数据写入所述存储空间的有效存本文档来自技高网...

【技术保护点】
1.一种基于NAND FLASH的数据存储方法,其特征在于,应用于终端设备,所述方法包括:获取分配的存储空间,所述存储空间包括至少两个存储块,每个存储块包括至少两个存储页,每个存储页的大小相等;将获取的每条待存储数据依次写入所述存储空间的存储页中,所述存储空间中写入的数据形成数据队列;基于所述存储空间中写入的数据队列进行数据处理,所述数据处理包括:循环追加写入处理、标记式删除处理、开机检索整理处理、缓冲索引读取处理。

【技术特征摘要】
1.一种基于NANDFLASH的数据存储方法,其特征在于,应用于终端设备,所述方法包括:获取分配的存储空间,所述存储空间包括至少两个存储块,每个存储块包括至少两个存储页,每个存储页的大小相等;将获取的每条待存储数据依次写入所述存储空间的存储页中,所述存储空间中写入的数据形成数据队列;基于所述存储空间中写入的数据队列进行数据处理,所述数据处理包括:循环追加写入处理、标记式删除处理、开机检索整理处理、缓冲索引读取处理。2.如权利要求1所述的数据存储方法,其特征在于,每条数据不跨页存储,所述存储页在被擦除数据前允许写入一次数据;所述存储页包括数据区和冗余区,所述数据区用于存储当前写入的数据;所述冗余区包括用于标记坏块的坏块标记和用于校验数据区的数据正确性的ECC码。3.如权利要求2所述的数据存储方法,其特征在于,所述将获取的每条待存储数据依次写入所述存储空间的存储页中包括:在接收到存储第一条待存储数据的指令后,将第一条待存储数据写入所述存储空间的有效存储页中,所述有效存储页为非坏存储块中的存储页;在接收到存储第N条待存储数据的指令后,将第N条待存储数据写入所述数据队列的队尾的下一个有效存储页,其中,N为大于1的自然数,当所述数据队列的队尾在所述存储空间的最后一个有效存储页时,所述数据队列的队尾的下一个有效存储页为所述存储空间的第一个有效存储页。4.如权利要求3所述的数据存储方法,其特征在于,所述循环追加写入处理包括:在将第N条待存储数据写入所述数据队列的队尾的下一个有效存储页时,将所述第N条待存储数据、第N条待存储数据的标识号和第N条待存储数据的数据长度生成第N条数据记录,并将所述第N条数据记录存储在预设的缓存空间;从所述数据队列的队头依次回收有效数据记录,并将回收的有效数据记录存储在所述预设的缓存空间;在达到预设的触发机制后,停止回收有效数据记录,生成环形队列描述表,并将所述环形队列描述表存储在所述预设的缓存空间;生成ECC码,并根据所述ECC码生成三个备份,将所述ECC码的备份存储在所述预设的缓存空间;将所述预设的缓存空间当前存储的所有数据写入所述数据队列的队尾的下一个有效存储页,其中第N条数据记录、回收的有效数据记录、环形队列描述表存储在数据区,且排列顺序为:环形队列描述表、第N条数据记录、回收的有效数据记录,所述ECC码的备份存储在冗余区;在写入完成后,若所述数据队列的队头跨入新的存储块,则将跨过的存储块进行数据擦除处理,并检测擦除处理的存储块是否为坏块;若擦除处理的存储块为坏块,则将擦除处理的存储块标记为坏块。5.如权利要求2所述的数据存储方法,其特征在于,所述标记式删除处理包括:在接收到删除一条数据的指令时,根据待删除数据的标识号生成一条记录长度字段为零的数据记录,并将所述记录长度字段为零的数据记录存储在预设的缓存空间;从所述数据队列的队头依次回收有效数据记录,并将回收的有效数据记录存储在所述预设的缓存空间;在达到预设的触发机制后,停止回收有效数据记录,生成环形队列描述表,并将所述环形队列描述表存储在所述预设的缓存空间;生成ECC码,并根据所述ECC码生成三个备份,将所述ECC码的备份存储在所述预设的缓存空间;将所述预设的缓存空间当前存储的所有数据写入所述数据队列的队尾的下一个有效存储页,其中记录长度字段为零的数据记录、回收的有效数据记录、环形队列描述表存储在数据区,且排列顺序为:环形队列描述表、记录长度字段为零的数据记录、回收的有效数据记录,所述ECC码的备份存储在冗余区;在写入完成后,若所述数据队列的队头跨入新的存储块,则将跨过的存储块进行数据擦除处理,并检测擦除处理的存储块是否为坏块;若擦除处理的存储块为坏块,则将擦除处理的存储块标记为坏块。6.如权利要求4或5任一项所述的数据存储方法,其特征在于,所述预设的触发机制包括:当前回收的有效数据记录的大小导致所述数据队列的队尾的下一个有效存储页无法容纳下一个有效数据记录;或,所述数据队列中的有效数据记录全部被回收。7.如权利要求4或5任一项所述的数据存储方法,其特征在于,所述环形队列描述表存储在数据区的起始位置,且所述环形队列描述表包括:写操作序号、当前环形队列的队头的位置和当前环形队列的队尾的位置。8.如权利要求...

【专利技术属性】
技术研发人员:董时舫
申请(专利权)人:百富计算机技术深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1