本发明专利技术涉及一种确定Flash存储器的存储区中最后写入位置的方法,包括:设置存储区的第一位置和第二位置,将存储区规划为多个搜索区段;分别采用不同遍历方法依次检查各搜索区段内至少一个位置的可写入状态,以确定最后写入位置。其不仅能够促进数据的存储、查找及删除操作,还能够有助于延长Flash存储器使用寿命。
【技术实现步骤摘要】
确定Flash存储器的存储区中最后写入位置的方法
本专利技术涉及Flash存储器
,更具体地说,涉及一种确定Flash存储器的存储区中最后写入位置的方法。
技术介绍
Flash存储器是一种常用的大容量数据存储芯片,内部空间以扇区为存储单位,以字节为写入单位。其中,数据擦除不能单字节来进行,擦写次数有限,过于频繁的擦写会造成其使用寿命降低。此外,Flash中无数据索引结构。常规的Flash存储器写入方法是写满一个扇区再擦除重写,按这种方式,长期频繁存储大量数据对存储器会造成较大磨损,减少使用寿命。现有技术中,还可能采用一个专门的扇区空间维护一个索引数据结构,但是这样不但会消耗有限的空间资源,而且这个扇区也同样需要经受频繁的擦写,造成局部磨损严重。因此,在存储区域内有效地保存一定量的数据记录,而同时兼顾Flash存储器使用寿命、数据存取方便的考量,是本领域技术人员关注的目标。
技术实现思路
本专利技术的目的之一在于提供一种确定存储区中最后写入位置的方法,其能够促进对Flash存储器的高效读写,有助于克服现有技术中的缺陷。为实现上述目的,本专利技术提供一种技术方案如下:一种确定Flash存储器的存储区中最后写入位置的方法,包括:a)、设置存储区的第一位置和第二位置,将存储区规划为多个搜索区段;b)、分别采用不同遍历方法依次检查各搜索区段内至少一个位置的可写入状态,以确定最后写入位置。优选地,遍历方法包括:顺序遍历;倒序遍历;以及,二分法遍历。优选地,步骤b)具体包括:b1)、检查第一位置的可写入状态,若第一位置为可写入状态,则在第一搜索区段查找最后写入位置;其中,第一搜索区段位于存储区的起始位置与第一位置之间;b2)、检查第二位置的可写入状态,若第二位置为不可写入状态,则在第二搜索区段查找最后写入位置;其中,第二搜索区段位于存储区的第二位置与终止位置之间;以及b3)、在第三搜索区段查找最后写入位置;其中,第三搜索区段位于第一位置与第二位置之间。本专利技术另一目的在于提供一种高效地写入数据的方法。为实现上述目的,本专利技术提供一种技术方案如下:一种在Flash存储器写入新数据的方法,包括:步骤一、在Flash存储器中规划多个存储区;步骤二、将多个存储区其中之一确定为当前操作的存储区;步骤三、利用如上所述确定存储区中最后写入位置的方法在当前操作的存储区中查找最后写入位置;以及步骤四、基于确定当前操作的存储区的最后写入位置,在不同的存储区之间循环地写入新数据。本专利技术又一目的在于提供一种在存储区中高效地查找数据项的方法,其能够促进降低对Flash存储器的磨损。为实现上述目的,本专利技术还提供一种技术方案如下:一种在Flash存储器的存储区中查找数据项的方法,包括:a)、设置存储区的第一位置和第二位置,将存储区规划为多个搜索区段;b)、分别采用不同遍历方法依次在各搜索区段内进行查找,以确定数据项是否存储于该搜索区段内。本专利技术还公开一种从Flash存储器的存储区中删除数据的方法,包括:a)、根据如上所述确定存储区中最后写入位置的方法确定存储区的最后写入位置;b)、自最后写入位置起,基于存储区中各存储位置对应的存储先后顺序关系在存储区中查找待删除数据中的第一待删除数据项,以确定第一删除位置;其中,第一待删除数据项为待删除数据所包含的至少一个待删除数据项中的任一个;以及c)、基于至少一个待删除数据项的条目,为在存储先后顺序关系上处于第一删除位置之前和/或之后的各待删除数据项分别添加删除标记。本专利技术各实施例分别提供在存储器/存储区中写入数据的方法、查找数据项的方法、以及删除数据的方法,这些方法不仅能够促进对数据的高效存储、定位,或查找、修改及删除操作,还能够有助于延长Flash存储器使用寿命。附图说明图1示出根据本专利技术一实施例的利用二分法在当前操作的存储区中查找最后写入位置的流程示意图。图2示出根据本专利技术一实施例的在Flash存储器的存储区中查找数据项的方法的流程示意图。图3示出根据本专利技术一实施例的Flash存储器的存储区中的存储位置示意图。具体实施方式在以下描述中提出具体细节,以便提供对本专利技术的透彻理解。然而,本领域的技术人员将清楚地知道,即使没有这些具体细节也可实施本专利技术的实施例。在本专利技术中,可进行具体的数字引用,例如“第一元件”、“第二装置”等。但是,具体数字引用不应当被理解为必须服从于其字面顺序,而是应被理解为“第一元件”与“第二元件”不同。本专利技术所提出的具体细节只是示范性的,具体细节可以变化,但仍然落入本专利技术的精神和范围之内。术语“耦合”定义为表示直接连接到组件或者经由另一个组件而间接连接到组件。以下通过参照附图来描述适于实现本专利技术的方法、系统和装置的优选实施例。虽然各实施例是针对元件的单个组合来描述,但是应理解,本专利技术包括所公开元件的所有可能组合。因此,如果一个实施例包括元件A、B和C,而第二实施例包括元件B和D,则本专利技术也应被认为包括A、B、C或D的其他剩余组合,即使没有明确公开。需要说明的是,根据本专利技术各实施例,存储器可以包括一个或多个存储区,各存储区可以具有相同或不同的存储容量,可以在其中任一个存储区上应用本专利技术所提供的写入数据的方法。本专利技术中的术语“位置”能够理解为物理位置,映射位置,以及,逻辑位置。本专利技术第一实施例提供一种确定Flash存储器的存储区中最后写入位置的方法,其包括如下各步骤。步骤一、设置存储区的第一位置和第二位置,进而将存储器规划为多个搜索区段。步骤二、分别采用不同遍历方法依次检查各搜索区段内至少一个位置的可写入状态,以确定最后写入位置。作为示例,在步骤一,将存储区的起始位置与第一位置之间确定为第一搜索区段,将存储区的第二位置与终止位置之间确定为第二搜索区段,将第一位置与第二位置之间确定为第三搜索区段。作为一种更优选的实施例,第一位置位于存储区的25%处(起始位置与第一位置之间的存储容量占全部存储容量的25%),第二位置位于存储区的75%处(起始位置与第二位置之间的存储容量占全部存储容量的75%)。作为示例,在步骤二的第一阶段,首先检查第一位置的可写入状态,若其为可写入状态(最后写入位置位于第一位置之前),这意味着第一搜索区段未写满,则在第一搜索区段查找最后写入位置;若其为不可写入状态,这意味着第一搜索区段已写满,则进行第二阶段的检查。在步骤二的第二阶段,检查第二位置的可写入状态,若第二位置为不可写入状态(第二位置之前已写满,最后写入位置应在第二位置之后),这表示第二搜索区段可能未写满,则在第二搜索区段查找最后写入位置;若第二位置为可写入状态(最后写入位置在第二位置之前),这表示第三搜索区段可能未写满,则进行第三阶段的检查。在步骤二的第三阶段,在第三搜索区段内查找最后写入位置。作为对上述第一实施例的一种改进,在上述步骤二中,在第一、第二搜索区段内采用顺序遍历方法或倒序遍历方法来查找最后位置,而在第三搜索区段内采用二分法遍历方法来查找。这种二分法与顺序(倒序)遍历相结合的查找方法能够避免二分法的局限性,同时促进对Flash存储器(及其中的存储区)的高效读写。本专利技术第二实施例提供一种在Flash存储器中写入数据的方法,其包括如下各步骤。步骤一、在Flash存储器中规划多个存储区,例如,第一、第二存储区本文档来自技高网...
【技术保护点】
1.一种确定Flash存储器的存储区中最后写入位置的方法,包括:a)、设置所述存储区的第一位置和第二位置,将所述存储区规划为多个搜索区段;b)、分别采用不同遍历方法依次检查各所述搜索区段内至少一个位置的可写入状态,以确定所述最后写入位置。
【技术特征摘要】
1.一种确定Flash存储器的存储区中最后写入位置的方法,包括:a)、设置所述存储区的第一位置和第二位置,将所述存储区规划为多个搜索区段;b)、分别采用不同遍历方法依次检查各所述搜索区段内至少一个位置的可写入状态,以确定所述最后写入位置。2.根据权利要求1所述的方法,其特征在于,所述遍历方法包括:顺序遍历;倒序遍历;以及,二分法遍历。3.根据权利要求2所述的方法,其特征在于,步骤b)具体包括:b1)、检查所述第一位置的可写入状态,若所述第一位置为可写入状态,则在第一搜索区段查找所述最后写入位置;其中,所述第一搜索区段位于所述存储区的起始位置与所述第一位置之间;b2)、检查所述第二位置的可写入状态,若所述第二位置为不可写入状态,则在第二搜索区段查找所述最后写入位置;其中,所述第二搜索区段位于所述存储区的所述第二位置与终止位置之间;以及b3)、在第三搜索区段查找所述最后写入位置;其中,所述第三搜索区段位于所述第一位置与所述第二位置之间。4.根据权利要求3所述的方法,其特征在于,在所述第一搜索区段以及所述第二搜索区段内采用顺序遍历方法或倒序遍历方法来查找所述最后写入位置,在所述第三搜索区段内采用二分法遍历方法来查找所述最后写入位置。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述位置包括:物理位置;映射位置;以及,逻辑位置。6.一种在Flash存储器写入新数据的方法,包括:步骤一、在所述Flash存储器中规划多个存储区;步骤二、将所述多个存储区其中之一确定为当前操作的存储区;步骤三、利用权利要求1-5中任一项所述的方法在所述当前操作的存储区中查找最后写入位置;以及步骤四、基于确定所述当前操作的存储区的所述最后写入位置,在不同的所述存储区之间循环地写入新数据。7.根据权利要求6所述的方法,其特征在于,步骤四包括:在所述当前操作的存储区的所述最后写入位置的下一个位置起写入新数据;其中,若所述最后写入位置不是所述当前操作的存储区的终止位置,则所述下一个位置为在所述当前操作的存储区中在位置上紧邻于所述最后写入位置的下一个位置;若所述最后写入位置为所述当前操作的存储区的所述终止位置,所述下一个位置为:(1)、空白的所述存储区的第一个位置;(2)、另一个所述存储区的最后写入位置的下一个位置;或(3)、另一个所述存储区的第一个位置。8.根据权利要求6所述的方法,其特征在于,在步骤四中:若所述新数据的写入部分抵达所述当前操作的存储区的所述终止位置,则将所述新数据的...
【专利技术属性】
技术研发人员:张英舟,张琪,高欣,张占鹏,雷刚,于吉祥,林迪,曹光杰,许佳佳,
申请(专利权)人:霍尼韦尔环境自控产品天津有限公司,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。