一种磁盘存储方法技术

技术编号:3061768 阅读:148 留言:0更新日期:2012-04-11 18:40
一种磁盘存储方法,其特征在于该方法包含以下步骤:    A、将存储区域划分为一个以上的块;    B、当前数据存储起始位置相对原数据存储位置偏移一个或一个以上的块作为当前偏移位置;    C、以所述当前偏移位置开始进行数据存储。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,特别是指。
技术介绍
目前,硬盘是计算机的主要存储介质之一。在通常的使用情况下,硬盘的使用寿命一般都在三年以上。如果将硬盘用于频繁存储设备时,例如一个嵌入式Linux系统采用硬盘作为存储介质,为实现系统易用性,需要设计系统可随时关机。为保证系统的可靠性,即在任何时候系统都不会遭到破坏,使整个Linux系统以只读方式启动,但一些关于应用的配置需要保存,因此通过直接存储访问硬盘扇区并进行双备份的方式存储这些数据。如果直接对硬盘扇区进行数据存储,则会导致每次存储于硬盘的同一区域,就会在短时间内对硬盘的同一扇区反复进行写操作,这样,大大增加硬盘磁道物理损坏的几率,大大缩短了硬盘的使用寿命。另外,对于软盘同样存在频繁写入同一扇区的问题。因此,如何防止对磁盘同一位置的反复写入,将成为有效延长磁盘使用寿命的首要问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供,实现对磁盘的均衡存储访问,从而有效延长磁盘的使用寿命。为了达到上述目的,本专利技术提供了,该方法包含以下步骤A、将存储区域划分为一个以上的块;B、当前数据存储起始位置相对原数据存储位置偏移一个或一个以上的块作为当前偏移位置;C、以所述当前偏移位置开始进行数据存储。所述步骤B进一步包括以下步骤B11、搜索用于标识数据存储起始位置的起始标志扇区,以起始标志扇区相对存储区域起始扇区偏移的位置作为原偏移位置;B12、当前数据存储起始位置在所述原偏移位置基础上,再偏移一个或一个以上的块。所述步骤B12之前进一步包括删除起始标志扇区中存储的起始标志。如果以顺序存储方式进行数据存储,则当前数据存储起始位置在原偏移位置基础上再偏移一个块。如果以随机存储方式进行数据存储,则当前数据存储起始位置在原偏移位置基础上再偏移k个块,k为系统随机生成的随机正整数。所述步骤B进一步包括步骤B21搜索用于标识数据存储起始位置的起始标志扇区,根据起始扇区中存储的数据长度找到数据存储结束位置所在的块,以该块相对存储区域起始扇区偏移的位置作为当前偏移位置。所述步骤B21之后进一步包括删除起始标志扇区中存储的起始标志。第一次进行数据存储时,所述起始标志扇区位于存储区域的起始扇区。第一次进行数据存储时,所述起始标志扇区位于存储区域中第1个块的第一个扇区,1为系统随机生成的随机正整数。所述步骤C之前进一步包括判断当前偏移位置是否已超过存储区域的结束扇区位置,如果是,令当前偏移位置为零,然后执行步骤C;否则,直接执行步骤C。所述步骤C进一步包括以下步骤C1、存储数据时,判断当前数据存储位置是否已超出存储区域结束扇区位置与当前偏移位置的和,如果是,向系统报错,结束当前数据存储流程,否则,执行步骤C2;C2、判断当前数据存储位置是否已超出存储区域结束扇区位置,如果是,令实际的当前数据存储位置为当前数据存储位置与存储区域的差,然后执行步骤C3,否则,直接执行步骤C3;C3、判断是否完成当前数据存储,如果是,将起始标志存储于偏移位置之后第一个块的第一个扇区,结束当前数据存储流程,否则,返回执行步骤C1。所述步骤C之后进一步包括步骤D读取存储的数据。所述步骤D进一步包括以下步骤D1、搜索用于标识数据存储起始位置的起始标志扇区,读取起始标志扇区中存储的起始标志和当前读取的数据长度;D2、读取存储的数据时,判断当前数据读取位置是否已超出存储区域结束扇区位置,如果是,令实际的当前数据读取位置为当前数据读取位置与存储区域的差,然后执行步骤D3,否则,直接执行步骤D3;D3、判断是否完成当前数据读取,如果是,结束当前数据读取流程,否则,返回执行步骤D1。所述起始标志扇区存储有用于标识起始标志的扇区识别字符串和当前存储数据的长度。所述步骤A包括将存储区域划分为20至200个块。根据本专利技术提出的方法,将存储有起始标志的扇区作为在磁盘中存储数据时的起始位置,通过不断改变磁盘的数据存储起始位置,保证对磁盘的存储操作不会总在同一扇区,实现对磁盘的均衡存储访问,从而有效延长磁盘的使用寿命。另外,读取数据时,通过搜索起始标志扇区,找到存储数据的起始位置,然后对数据进行读取,从而保证数据读取的正确性。附图说明图1为本专利技术中频繁存储区域结构示意图;图2为本专利技术中访问过程示意图;图3为本专利技术中存储数据流程图;图4为本专利技术中读取数据流程图。具体实施例方式为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术作进一步的详细描述。本专利技术提供了一种对磁盘均衡存储访问的方法,将存储有起始标志的扇区作为在磁盘中存储数据时的起始位置,通过不断改变磁盘的数据存储起始位置,保证对磁盘的存储操作不会总在同一扇区,从而有效延长磁盘的使用寿命。另外,读取数据时,通过搜索起始标志扇区,找到存储数据的起始位置,然后对数据进行读取,从而保证数据读取的正确性。由于随机在每一个可能的扇区中存储数据,会导致读取时的搜索效率过低,因此本专利技术中采用将存储数据的区域进行分块的方法,设置一个块的大小,每次的存储跳变都以设置的块为单位,这样,起始标志扇区就会出现在块的整数倍的位置;相应地,读取数据时,就能够很快搜索到起始标志扇区。例如,设置每个块的大小为100个扇区,存储数据时,起始标志扇区的位置就在1、2、3……等块的整数倍位置,即100、200、300……等100个扇区的整数倍位置;相应地,读取数据时,只需在1、2、3……等块的整数倍位置进行搜索就可找到起始标志扇区。图1为本专利技术中频繁存储区域结构示意图,如图1所示,DBeginPos是存储区域的起始扇区位置,DEndPos是存储区域的结束扇区位置,DBeginPos至DEndPos之间是存储区域(DSize),将DSize划分为n个块(Block),n为正整数。根据上次存储数据的位置,相对DBeginPos偏移JumpBlock进行数据存储,JumpBlock为m个Block,m为从0到n的正整数。通过不断改变JumpBlock,实现不断改变磁盘的数据存储位置。当前存储数据的第一个Block的起始位置是起始标志扇区,即相对DBeginPos偏移JumpBlock的位置为起始标志扇区。NowPos为当前访问位置,存储数据的大小为DataSize。在本专利技术中,每个块的大小的设置是非常重要的,分块的数量表示将一个存储区域划分成几个写交替。例如,如果设置分块大小为DSize,则每次的数据存储位置均为DSize的起始位置,即DBeginPos,此时根本没有达到改变磁盘数据存储起始位置的目的;如果设置分块大小为每个扇区的大小,则读取数据时,由于搜索起始标志扇区需要对每一个扇区进行搜索,会花费大量时间,导致读取效率下降。通常,分块大小由存储数据的频繁度和设置的存储区域的大小决定,可将DSize划分为20至200个块,例如,DSize为8000个扇区,则设置每个块的大小为80个扇区,将该DSize划分为100个块。存储数据的方式包括顺序存储和随机存储两种方式。顺序存储是指连续两次存储数据的起始位置是连续的,即上一次存储数据从第m个Block开始,则当前存储数据从第m+1个Block开始。随机存储是指连续两次存储数据的起始位置会随机跳过k个Block,即上一次存储数据从第m个Block开始,则当前存储本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种磁盘存储方法,其特征在于该方法包含以下步骤A、将存储区域划分为一个以上的块;B、当前数据存储起始位置相对原数据存储位置偏移一个或一个以上的块作为当前偏移位置;C、以所述当前偏移位置开始进行数据存储。2.根据权利要求1所述的方法,其特征在于,所述步骤B进一步包括以下步骤B11、搜索用于标识数据存储起始位置的起始标志扇区,以起始标志扇区相对存储区域起始扇区偏移的位置作为原偏移位置;B12、当前数据存储起始位置在所述原偏移位置基础上,再偏移一个或一个以上的块。3.根据权利要求2所述的方法,其特征在于,所述步骤B12之前进一步包括删除起始标志扇区中存储的起始标志。4.根据权利要求2所述的方法,其特征在于,如果以顺序存储方式进行数据存储,则当前数据存储起始位置在原偏移位置基础上再偏移一个块。5.根据权利要求2所述的方法,其特征在于,如果以随机存储方式进行数据存储,则当前数据存储起始位置在原偏移位置基础上再偏移k个块,k为系统随机生成的随机正整数。6.根据权利要求1所述的方法,其特征在于,所述步骤B进一步包括B21、搜索用于标识数据存储起始位置的起始标志扇区,根据起始扇区中存储的数据长度找到数据存储结束位置所在的块,以该块相对存储区域起始扇区偏移的位置作为当前偏移位置。7.根据权利要求6所述的方法,其特征在于,所述步骤B21之后进一步包括删除起始标志扇区中存储的起始标志。8.根据权利要求2或6所述的方法,其特征在于,第一次进行数据存储时,所述起始标志扇区位于存储区域的起始扇区。9.根据权利要求2或6所述的方法,其特征在于,第一次进行数据存储时,所述起始标志扇区位于存储区域中第1个块的第一个扇区,1为系统随机生成的随机正整数。10.根据权...

【专利技术属性】
技术研发人员:赵明陈卫华
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利