一种数据存储方法

文档序号:6612528阅读:135来源:国知局
专利名称:一种数据存储方法
技术领域
本发明涉及一种数据存储方法。
背景技术
数据存储在各个领域都有着广泛的应用, 一般都是将需要存储的数据根 据存储单元的大小来分割成多个分割数据,然后将所述多个分割数据存储在 存储器中。
然而,对于某些需要较高的安全性和可靠性的数据,则需要根据所述多 个分割数据来计算一个校验数据,并将该校验数据与所述多个分割数据一起 存储到存储器中,从而当某个分割数据损坏时,可以根据所述校验数据和其 他未损坏的分割数据来恢复所述损坏的分割数据。
现有技术中的校验数据通常为所述多个分割数据的按位异或结果或者 校验和,此种校验数据虽然能够在某个分割数据损坏时恢复该损坏的分割数 据,但当多个分割数据均发生损坏时,该校验数据则显得无能为力。因此, 此种数据存储方法安全性较低。

发明内容
本发明的目的是为了克服现有技术中的数据存储方法安全性较低的缺 陷,提供了一种存储方法简单、数据可靠性高的数据存储方法。
本发明提供的数据存储方法包括以下步骤(a)将待存储的数据分割成 多个分割数据;(b)生成与所述多个分割数据相对应的校验数据,该校验数 据包括所述多个分割数据的校验和以及所述多个分割数据与所述校验和的 按位异或结果;以及(c)将所述多个分割数据与所生成的校验数据存储到
4存储区中。
使用本发明提供的数据存储方法进行数据存储时,由于所生成的校验数 据包括了多个分割数据的校验和以及所述多个分割数据与所述校验和的按 位异或结果,因此,当所述多个分割数据中的某两个分割数据被损坏时,可 以根据其他正确的数据、所述校验和以及按位异或结果来恢复所述被损坏的 两个分割数据,相比于现有技术中只能恢复一个分割数据,本发明可以恢复 两个分割数据,数据安全性和可靠性得到了很大的提高。


图1为本发明的数据存储方法的流程图2为本发明的实施方式中的数据存储方法的流程图;
图3为本发明的数据更新方法的流程图4为本发明的数据更新方法中的一个步骤的流程图。
具体实施例方式
下面结合附图详细描述本发明。
如图1所示,本发明提供了一种数据存储方法,该方法包括以下步骤 (a)将待存储的数据分割成多个分割数据;(b)生成与所述多个分割数据 相对应的校验数据,该校验数据包括所述多个分割数据的校验和、以及所述 多个分割数据与所述校验和的按位异或结果;以及(c)将所述多个分割数 据与所生成的校验数据存储到存储区中。
其中,可以根据存储单元的大小来分割需要存储的数据。例如, 一般情 况下,存储单元的大小为8个比特,即一个字节,因此可以将数据以字节为 单位来进行分割。
其中所述步骤(c)中的存储区的个数为多个,将所述多个分割数据与
5所生成的校验数据分别存储到每个存储区中。这样相同的数据被存储到多个 存储区中,即使某一个存储区中的数据损坏,还可以使用其他存储区中的数 据进行恢复,从而提高了数据的安全性。
如图2所示,在将所述分割数据和校验数据存储到多个存储区之后,所
述方法还包括(d)在步骤(C)后,从所述多个存储区中读取数据,并对 所读取的数据进行解校验,比较解校验通过的存储区中的数据,确定在解校 验通过的存储区中的数据中单独占有最大比例的一类数据作为可信数据,并 使用该可信数据覆盖其他存储区中与该可信数据不相同的数据。
其中,在步骤(d)中,如果存在至少两类占有最大比例的数据,则显 示存取失败的信息。
下面详细描述该步骤的具体实施方式

从所述多个存储区中读取数据,并对所读取的数据进行解校验,
(1) 如果所述多个存储区中的数据均通过解校验,则比较所述多个存 储区中的数据并使用在所述多个存储区中单独占有最大比例的一类数据作 为可信数据,并使用该可信数据覆盖其他存储区中与该可信数据不相同的数 据,若无法得出所述可信数据,则将所述多个存储区中的数据都丢弃,并显 示存取失败的信息;
(2) 如果所述多个存储区中的部分存储区中的数据未通过解校验,则 将该部分存储区中的数据丢弃,比较校验通过的各个存储区中的数据并使用 在该解校验通过的存储区中单独占有最大比例的一类数据作为可信数据,并 使用该可信数据覆盖其他存储区中与该可信数据不相同的数据,若无法得出 所述可信数据,则将所述多个存储区中的数据都丢弃,并显示存取失败的信 息;
(3) 如果所有存储区的数据均未通过解校验,则将所述多个存储区的 数据都丢弃,并显示存取失败的信息。所述解校验的过程实际上就是根据所存储的多个分割数据来重新计算 校验数据,并将计算得到的校验数据与所存储的校验数据进行比较,如果两 者相同,则表示所存储的数据通过解校验。
下面通过所述存储区的个数为3个的例子来对上述存储完数据后进行解 校验、比较解校验通过的存储区中的数据、并根据比较结果来更正存储数据 的步骤进行示例性说明。
分别从3个存储区中读取数据,并对所读取的数据进行解校验,
(1) 三个存储区中的数据均通过解校验,
A、 如果三个存储区中的数据均相同,则不进行任何操作;
B、 如果三个存储区中有两个存储区中的数据相同,则丢弃不相同的那 个存储区中的数据,在所述两个相同数据中任取一个来覆盖所述被丢弃的数 据;
C、 如果三个存储区中的数据均不相同,则全部丢弃,并显示存取失败 的信息。
(2) 如果三个存储区中仅有两个存储区中的数据通过解校验,则将未 通过解校验的数据丢弃,再分以下两种情况进行处理,
A、 如果所述解校验通过的两个存储区中的数据相同,则在该相同的两 个数据中任取一个来覆盖所述被丢弃的数据;
B、 如果所述解校验通过的两个存储区中的数据不相同,则将该两个存 储区中的数据都丢弃,并显示存取失败的信息。
(3) 如果三个存储区中仅有一个存储区中的数据通过解校验,则以该 存储区中的数据来覆盖其他两个未通过解校验的存储区中的数据。
(4) 如果三个存储区中的数据均未通过解校验,则将他们全部丢弃, 并显示存取失败的信息。
其中,如图3所示,所述方法还包括(e)在步骤(d)后,当对存储
7在所述多个存储区中的数据以新数据进行更新时,从所述多个存储区中读取 数据,并对所读取的数据进行解校验,比较解校验通过的存储区中的数据, 确定在解校验通过的存储区中单独占有最大比例的一类可信数据,判断该可 信数据与将更新成的新数据之间是否满足更新条件,如果满足,则将新数据 覆盖所述多个存储区中的数据;否则,显示更新失败的信息。
其中,在步骤(e)中,如果存在至少两类占有最大比例的数据,则显 示更新失败的信息。
下面以存储区的个数为3个、可信数据为G、将更新的新数据为K、更 新条件为K=G+1的例子对数据更新步骤进行详细说明。
分别从3个存储区中读取数据,并对所读取的数据进行解校验,
(1) 三个存储区中的数据均通过解校验,
A、 如果三个存储区中的数据均相同,则从该三个存储区中任取一个数 据作为可信数据G;
B、 如果三个存储区中有两个存储区中的数据相同,则在所述两个相同 数据中任取一个作为可信数据G;
C、 如果三个存储区中的数据均不相同,则显示更新失败的信息。
(2) 如果三个存储区中仅有两个存储区中的数据通过解校验,则分以 下两种情况进行处理,
A、 如果所述解校验通过的两个存储区中的数据相同,则在该相同的两 个数据中任取一个作为可信数据G;
B、 如果所述通过解校验的两个存储区中的数据不相同,则将显示更新 失败的信息。
(3) 如果三个存储区中仅有一个存储区中的数据通过解校验,则以该 存储区中的数据作为可信数据G。
(4) 如果三个存储区中的数据均未解校验,则显示更新失败的信息。
8将根据上述步骤获取的可信数据G与将更新的新数据K进行比对,判 断是否满足更新条件K-G+1,如果满足更新条件,则将新数据K覆盖三个 存储区中与该新数据不相同的数据,否则,丢弃新数据K并显示更新失败的
"(曰息。
为了确保新数据被正确地存储,其中,如图4所示,所述方法还包括
(f)在步骤(e)后,从所述多个存储区中读取数据,并对所读取的数据进 行解校验,比较解校验通过的存储区中的数据,再次确定在解校验通过的存 储区中单独占有最大比例的一类可信数据并使用该可信数据覆盖其他存储 区中与该可信数据不相同的数据,并且在能够确定可信数据的情况下将该可 信数据与步骤(e)中的用于更新的新数据进行比较,如果两者不相同或者 在无法确定可信数据的情况下,则使用所述步骤(e)中的用于更新的新数 据覆盖其他存储区中与该新数据不相同的数据。此过程与上述存储完数据后 进行解校验、比较解校验通过的存储区中的数据、并根据比较结果来更正存 储数据的步骤比较类似,这里不再举例描述。
其中,所述存储区可以由非易失性铁电存储器来提供。该铁电存储器基 本没有写入等待延迟,其写入速度比普通的存储器快500倍左右,从而即使 是立即断电,也有足够的时间来将数据完整无误地存储到该存储器中,避免 了数据丢失。而且该铁电存储器的可擦写次数为一亿亿次,极大地增强了该 存储器的使用寿命,从而也保证存储在该存储器中的数据的安全性。同时, 该铁电存储器的抗干扰能力也很强,从而大大减小了数据在存取过程中由于 干扰造成的数据错误,增强了数据的可靠性。
使用本发明提供的数据存储方法进行数据存储时,由于本发明所使用的 校验数据比现有技术中的校验数据多一层校验,从而更能确保数据被准确无 误地存储到存储区中,而在将数据存储到存储区之后,还进行一次读取解校 验处理,这也在一定程度上保证了所存储的数据的正确性。在对所存储的数
9据进行更新时,首先通过解校验处理获取可信数据,然后进行更新条件的判 断,接着将更新的新数据覆盖存储区中与该新数据不相同的数据,最后再次 对覆盖到存储区中的新数据进行解校验以及与更新时的新数据进行比对的 处理。这些步骤针对在更新过程中可能出现错误的各个环节均采取了严密地 防错措施,确保了数据的正确更新。因此,本发明的数据存储方法使得数据 安全性和可靠性得到了很大的提高。
权利要求
1、一种数据存储方法,该方法包括以下步骤(a)将待存储的数据分割成多个分割数据;(b)生成与所述多个分割数据相对应的校验数据,该校验数据包括所述多个分割数据的校验和以及所述多个分割数据与所述校验和的按位异或结果;以及(c)将所述多个分割数据与所生成的校验数据存储到存储区中。
2、 根据权利要求1所述的方法,其中所述步骤(c)中的存储区的个数 为多个,将所述多个分割数据与所生成的校验数据分别存储到每个存储区 中。
3、 根据权利要求2所述的方法,其中,该方法还包括(d) 在步骤(c)后,从所述多个存储区中读取数据,并对所读取的数 据进行解校验,比较解校验通过的存储区中的数据,确定在解校验通过的存 储区中的数据中单独占有最大比例的一类数据作为可信数据,并使用该可信 数据覆盖其他存储区中与该可信数据不相同的数据。
4、 根据权利要求3所述的方法,其中,在步骤(d)中,如果存在至少 两类占有最大比例的数据,则显示存取失败的信息。
5、 根据权利要求3所述的方法,其中,该方法还包括(e) 在步骤(d)后,当对存储在所述多个存储区中的数据以新数据进 行更新时,从所述多个存储区中读取数据,并对所读取的数据进行解校验, 比较解校验通过的存储区中的数据,确定在解校验通过的存储区中单独占有 最大比例的一类可信数据,判断该可信数据与将更新成的新数据之间是否满足更新条件,如果满足,则将新数据覆盖所述多个存储区中与该新数据不相 同的数据;否则,丢弃新数据并显示更新失败的信息。
6、 根据权利要求5所述的方法,其中,在步骤(e)中,如果存在至少 两类占有最大比例的数据,则显示更新失败的信息。
7、 根据权利要求5所述的方法,其中,该方法还包括(f)在步骤(e)后,从所述多个存储区中读取数据,并对所读取的数 据进行解校验,比较解校验通过的存储区中的数据,再次确定在解校验通过 的存储区中单独占有最大比例的一类可信数据,并使用该可信数据覆盖其他 存储区中与该可信数据不相同的数据;并且在能够确定可信数据的情况下将 该可信数据与步骤(e)中的用于更新的新数据进行比较,如果两者不相同 或者在无法确定可信数据的情况下,则使用所述步骤(e)中的用于更新的 新数据覆盖其他存储区中与该新数据不相同的数据。
8、 根据权利要求1-7中任意一项所述的方法,其中,所述存储区由非 易失性铁电存储器来提供。
全文摘要
本发明提供了一种数据存储方法,该方法包括以下步骤(a)将待存储的数据分割成多个分割数据;(b)生成与所述多个分割数据相对应的校验数据,该校验数据包括所述多个分割数据的校验和以及所述多个分割数据与所述校验和的按位异或结果;以及(c)将所述多个分割数据与所生成的校验数据存储到存储区中。使用本发明提供的数据存储方法进行数据存储时,由于本发明的方法所使用的校验数据比现有技术中的校验数据多一层校验,从而更能确保数据被准确无误地存储到存储区中。
文档编号G06F12/06GK101470666SQ200710161059
公开日2009年7月1日 申请日期2007年12月24日 优先权日2007年12月24日
发明者波 周, 徐循进, 波 祖 申请人:比亚迪股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1