高可靠排序管理扇区的存储结构制造技术

技术编号:3083117 阅读:137 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种提升闪存性能以及加强数据保护的数据存储结构以及数据处理方式。其特征在于将数据与序号码混合编码,其中序号码是用来表示数据是否是最新的数据,并避免经常要擦除数据所在的区块,造成性能的浪费。此外,对重要的表格数据区块增加一组区块做备份的动作,表格数据在此两个区块中依序往下一页写入,如此当区块中重要数据区块的数据消失时,还可以依据另外一个区块中最新的表格数据,将被删除的数据救回。在数据的最后端,将所有剩余可用的区域作为ECC(Error  Correction  Code)数据的储存区域。采用本发明专利技术的方法可以同时提升闪存记忆体的效能,加强重要表格数据的备份以及保护数据的内容。

【技术实现步骤摘要】

本专利技术属于闪存记忆体存储领域。采用特定的存储结构,并通过排序管理扇区的方式,提升闪存记忆体的存储性能,实现对重要表格资料的备份和保护。
技术介绍
闪存记忆体和硬盘是目前市场上两个主流的数据存储媒介,其中闪存记忆体最主要的好处在于省电以及具有较小的体积。目前市场上的USB存储盘、MP3播放器、PMP个人多媒体播放器以及SD/MMC/MS等存储卡绝大部分都是以闪存记忆体作为存储的媒介。在可以预见的未来几年内,闪存依旧将是小型数据储存的主流媒介。闪存记忆体本身有一些先天性的特性,在写入的过程中其数据内容只能由‘1’变成‘0’,而无法将‘0’变成‘1’。举例来说,如果闪存记忆体上已经有数据0x86,而我们现在想要写入一个新的数据0x11,则结果会变成0x00(0x86交集0x11)。所以在某一个位置上的数据如果重复写入时,会无法保证数据的正确性。如果我们想要重复使用某一个位置时,我们必须对某一个位置所在的区块进行擦除的动作。因为一个区块的大小(以三星的为例,此大小为128K字节)通常远大于写入数据(通常是512字节)的大小,所以为了写入一笔数据,抹除的动作会花费许多时间。从而成为性能上的瓶颈。当数据要写入闪存记忆体超过一定次数时,闪存记忆体无法保证写入数据的正确性。根据目前市场上MLC(多层次细胞)闪存记忆体的要求,当读写超过1000次,再写入每一个512字节的数据时,可能会发生3个字节的错误。所以我们每一次写入数据时,每一笔数据需要加入错误修正码,来保证数据读取时的正确性。在系统运行时,因为某些数据表格非常重要,不能丢失,否则此闪存记忆体上的数据将会没有意义,比如系统的启动扇区(Boot sector),文件分配表(FAT)等等。所以要加强重要数据表格的保护与备份。要同时解决上面所提到的问题,即为从事此行业之相关厂商所亟欲研究改善之方向。
技术实现思路
本专利技术的主要目的是提升闪存记忆体的性能,加强重要表格数据的备份以及保护数据的内容。将经常使用的表格数据,利用标记序号的方法,将数据与序号以及ECC错误修正码混合编码,其中序号是用来表示数据是否是最新的数据,并且独立出两个区块给此数据表格使用,表格数据在此两个区块中依序往下一页写入,如此当区块中重要数据区块的数据消失时,还可以依据另外一个区块中最新的表格数据,将被删除的数据救回。而且只有当两个区块完全使用完时,才需要做擦除的动作。如此可以避免每次更新数据,就需要使用擦除的指令,也可以增加系统性能以及延长闪存记忆体的使用寿命。因为表格数据的内容不容许发生错误,所以我们利用所有闪存记忆体扇区的剩余空间放置ECC错误修正码,将对此表格数据的保护修正程度发挥到最强,当然也可以只利用其中一些空间放置错误码,其它空间以作他用。表格的内容也不允许消失,但有可能当其中一个表格因为电源稳定的问题或因为其它原因,造成闪存记忆体数据总线发生位置的取样错误,删除重要表格数据的内容。所以利用两个表格,当发生一个表格数据消失时,还有另外一个区块的资料可以使用。此时便可以使用该区块的数据,利用序号找出最新的表格数据,并重建此两个区块内的表格数据。附图说明图1数据表格存入两个区块的流程图。图2数据、序号以及ECC错误修正码摆放的方式。图3数据初始的配置。图4在初始之后,写入下一笔数据。图5数据已经写到第一区块的最后一页。图6将第二区块先擦除。图7将新资料写入第二区块的第一页。图8将第一区块擦除。图9将第二区块的第一页拷贝到第一区块的第一页。图10找最新资料的流程图。图11将第一区块擦除。图12将第二区块最新的数据拷贝到第一区块的第一页。图13将第二区块擦除。图14第一区块的第一页拷贝到第二区块的第一页。图15序号可以放在任意数据区段中,将数据区段切割。主要组件符号说明200存放数据的区域。在一般的操作系统此区域大小为512字节。210序号。此序号代表此资料的新旧程度。数字越大表示此数据越新。一般此序号的位置在第513字节处,也可以在第1到第512字节之间任何位置。当数据被写到第一区块第一页时,序号为0;接着数据被备份到第二区块的第一页时,序号为1。220存放数据的ECC错误修正码之处,此处错误修正码的大小可以介于1到528减去数据长度再减去数据序号长度(1)之间。具体实施例方式为进一步的阐明本专利技术的流程以及所使用的方法,将本方法的过程以及使用的方法,利用下方面的流程图加以说明。本专利技术将数据、序号以及ECC错误修正码放在同一个闪存记忆体的页面上(图1)。并另外利用两组区块170,180来储存一组数据,如图1所示。为了方便计算此两个区块的位置,一般此两个区块是相连的,且第一个区块的号码是偶数,另外一个区块180为在此区块170的下一个区块。当其中的某区块中数据因为电压不稳定或是程控出问题而不小心损坏或消失时,可以利用另一个区块的数据,将消失的数据救回,而此闪存记忆体还可以继续使用。当读取资料时,便可以利用此ECC错误修正码来检查数据是否错误,假设发生错误时,则可以依据此错误修正码来修正错误。所以我们需要在数据的尾端加入ECC错误修正码保护数据。系统格式初始化完成时,将需要保护的重要表格数据写入两个区块的第一页,如图1所示。如果在第一次写入时就有某区块发生误擦除的情况时,此机制可以增加系统程序的稳定性。系统重新启动时,系统会搜寻整个闪存空间,找寻最新的表格数据,并且将此位置记录在系统的变量上,可以避免每次都要重新搜寻数据的时间,提升性能。当系统在找寻数据的过程中,发现错误时,便会重建数据表格,回到图3的状态。如图3,系统将会搜寻到数据130为最新的数据。当数据写入时,系统会写入400第二区块的下一页410,并将序号加一,如图4所示。依此类推,依序写到第一区块的最后一页。当还有新数据需要更新时,如图5所示,此时先抹除第二区块,如图6所示,此时之前最新的数据还存在第一区块的最后一页上。因为序号只有一个字节大小,而在市场上高容量的闪存中,两个区块总共有256页,超过序号所能代表的范围。因此,当我们写入第一区块的最后一页时,就必须重新建立表格。第二区块擦除动作完成之后,将新的数据写入第二区块的第一页并且给予一个最新的序号,如图7所示。最后擦除第一区块,如图8所示,并将第二区块的第一页,拷贝到第一区块的第一页,如图9所示。在搜寻数据过程中,依次搜寻第一区块的每一页,如果发现数据表格错误,发生的原因可能是因为上次写入时突然断电,我们需要重建表格。以图10为例,当发现第一区块的第三页有错误时,我们可以知道第二区块第二页是最可信的资料。所以根据此页重新建立表格。因为第一区块中第三页发生错误,所以先擦除第一区块如图11所示。将第二区块第二页的数据拷贝到第一区块第一页,并且给予一个初始化的序号,此序号为0,如图12所示。然后抹除第二区块,如图13所示。将第一区块第一页的数据拷贝到第二区块第一页,并给予一个适当的序号,如图14所示,如此便可以完成错误修正的动作。本文档来自技高网
...

【技术保护点】
一种高可靠性的排序管理扇区的数据存储结构以及处理方式,将数据、数据序号以及ECC修正码按特定的方式混合编码放在一个区域内,并利用闪存记忆体中的两个连续的区块,将混合编码后的数据按特定的方式写入、修正、读出以完成重要表格资料的修复与备份工作。

【技术特征摘要】
1.一种高可靠性的排序管理扇区的数据存储结构以及处理方式,将数据、数据序号以及ECC修正码按特定的方式混合编码放在一个区域内,并利用闪存记忆体中的两个连续的区块,将混合编码后的数据按特定的方式写入、修正、读出以完成重要表格资料的修复与备份工作。2.如权利要求1所述的数据存储结构,其特征在于数据资料放在前面,后面接着放数据序号,最后剩余的位置放ECC修正码,ECC错误修正码可以保护数据及数据序号的正确性。3.如权利要求1所述的数据存储结构,其特征在于数据序号可以放在数据资料存储区的任一位置,最后剩余的位置放ECC修正码,ECC错误修正码可以保护数据及数据序号的正确性。4.如权利要求1所述的将数据,数据序号以及ECC修正码按特定的方式混合编码,其特征在于在WINDOWS操作系统中,数据资料大小为512字节,数据序号为1个字节,可以放在0~512字节之间的任何位置,闪存记忆体中的一个扇区的物理空间有528字节,所以其中还有15字节存储ECC错误修正码,最多可以修正包含数据资料和数据序号在内的6个字节的错误。5.如权利要求4所述,当数据序号为2个字节时,ECC错误修正码为14字节,其最多能修正包含数据资料和数据序号在内的5个字节的错误;当数据序号为3或4个字节时,ECC错误修正码为13或12个字节,其最多...

【专利技术属性】
技术研发人员:林清益
申请(专利权)人:福昭科技深圳有限公司
类型:发明
国别省市:94[中国|深圳]

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

1