一种利用假数据的闪存数据保护方法与流程

文档序号:14481252阅读:162来源:国知局

本发明涉及数据保护技术领域,具体为一种利用假数据的闪存数据保护方法。



背景技术:

闪存是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256kb到20mb。闪存是电子可擦除只读存储器(eeprom)的变种,闪存与eeprom不同的是,eeprom能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的bios(基本程序)、pda(个人数字助理)、数码相机中保存资料等;闪存正朝大容量、低功耗、低成本的方向发展。与传统硬盘相比,闪存的读写速度高、功耗较低,市场上已经出现了闪存硬盘,也就是ssd硬盘,该硬盘的性价比进一步提升。随着制造工艺的提高、成本的降低,闪存将更多地出现在日常生活之中。

闪存为非消失性的存储器装置,随者制造工艺提升,越先进的工艺闪存执行动作时会产生高温,因此闪存数据的错误比特会上升,导致数据错误。因此能增加数据正确性,成为一个重要的议题。

最常利用错误检查和纠正技术(例如:二元线性循环码或低密度奇偶校验码)作为错误修正的方法。错误检查和纠正技术可以在一定的区域内保护n个比特错误,要保护这特定区域,需要产生由错误检查和纠正技术运算出的保护数据。由保护数据和数据两者可以建构成为一个码字。当保护越多比特的错误检查和纠正技术,需要产生更大的码字。以二元线性循环码60和70比特错误检查和纠正技术为例子,每1024字节都要产生72和92字节的保护数据,当能修正的比特数越多,需要的保护数据就越多。更不幸的是要修正越多错误比特的错误检查和纠正技术硬件需要花费更多的制造成本。因此本发明提出一个新构想,适用于各种错误检查和纠正技术装置,并且提升错误检查和纠错的能力。



技术实现要素:

本发明的目的在于提供一种利用假数据的闪存数据保护方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种利用假数据的闪存数据保护方法,包括闪存控制装置和多个闪存芯片,所述闪存控制装置内设有数据缓冲区、闪存指令控制装置和闪存错误和纠正装置,所述闪存控制装置通过总线连接多个闪存芯片。

优选的,多个闪存芯片包括第一闪存芯片、第二闪存芯片、第三闪存芯片和第n闪存芯片,n为大于3的整数;所述闪存芯片内有1024个块,每个块有256个页,每个页有32个扇形组合而成。

优选的,数据写入包括以下步骤:

a、数据缓冲区切割成多个码字,每个码字可分为数据和错误检查和纠正装置产生的保护数据;

b、通过闪存指令控制装置发出写入指令到闪存,接者将数据缓冲区的数据传输到闪存错误和纠正装置产生一组对应的保护数据;

c、最后将数据和保护数据一起写入闪存;

d、读取时从闪存读出数据,透过保护数据修正数据中错误的比特,产生正确的数据。

优选的,错误检查和纠正装置修正方法包括如下步骤:

a、从外部装置或装置内存将要储存到内存的数据放置在数据缓冲区;

b、产生假数据,在数据缓冲区内的每个码字,只填入部分的数据;

c、剩下的数据使用假数据代替到数据缓冲区;

d、错误纠错和纠正装置依照数据内容产生保户数据;

e、通过闪存指令装置发出写入指令,将数据、假数据和保护数据一起写入闪存内;

f、当读取时会从闪存控制装置内的闪存指令装置对闪存发出读取指令,数据从闪存内经由总线传输到数据缓冲区,读取时忽略假数据部分,取用有效数据。

与现有技术相比,本发明的有益效果是:本发明利用在数据缓冲区填入假数据且适用于各种错误检查和纠正技术装置,提升错误检查和纠错的能力。

附图说明

图1为本发明整体结构示意图;

图2为本发明数据写入流程图;

图3为本发明错误检查和纠正装置修正流程图。

具体实施方式

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

请参阅图1-3,本发明提供一种技术方案:一种利用假数据的闪存数据保护方法,包括闪存控制装置1和多个闪存芯片,所述闪存控制装置1内设有数据缓冲区2、闪存指令控制装置3和闪存错误和纠正装置4,所述闪存控制装置1通过总线连接多个闪存芯片;多个闪存芯片包括第一闪存芯片5、第二闪存芯片6、第三闪存芯片7和第n闪存芯片,n为大于3的整数;所述闪存芯片内有1024个块,每个块有256个页,每个页有32个扇形组合而成。

本发明中,数据写入包括以下步骤:

a、数据缓冲区切割成多个码字,每个码字可分为数据和错误检查和纠正装置产生的保护数据;

b、通过闪存指令控制装置发出写入指令到闪存,接者将数据缓冲区的数据传输到闪存错误和纠正装置产生一组对应的保护数据;

c、最后将数据和保护数据一起写入闪存;

d、读取时从闪存读出数据,透过保护数据修正数据中错误的比特,产生正确的数据。

以二元线性循环码70比特错误检查和纠正技术为例子,每1024字节都有92字节的保护数据,依靠保护数据最多可以修正70字节,这种方式完全依靠错误检查和纠正技术。

本发明还提供一个提升错误检查和纠正装置修正能力,并且适用于各种错误检查和纠正装置;错误检查和纠正装置修正方法包括如下步骤:

a、从外部装置或装置内存将要储存到内存的数据放置在数据缓冲区;

b、产生假数据,在数据缓冲区内的每个码字,只填入部分的数据;

c、剩下的数据使用假数据代替到数据缓冲区;

d、错误纠错和纠正装置依照数据内容产生保户数据;

e、通过闪存指令装置发出写入指令,将数据、假数据和保护数据一起写入闪存内;

f、当读取时会从闪存控制装置内的闪存指令装置对闪存发出读取指令,数据从闪存内经由总线传输到数据缓冲区,读取时忽略假数据部分,取用有效数据。

假设使用二元线性循环码70比特错误检查和纠正技术,每1024字节有效数据为512字节,剩下的为假数据,一样产生92字节的保护数据,依靠保护数据最多可以修正70字节,相较于1024字节只能修正70字节,本发明可以使有效数据能容忍更多的错误比特。错误检查和纠正装置提升2倍强度。

综上所述,本发明利用在数据缓冲区填入假数据且适用于各种错误检查和纠正技术装置,提升错误检查和纠错的能力。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1