发明名称 一种闪存存储器等概率连续空间存储文件的方法
摘要 本发明提供一种闪存存储器等概率连续空间存储文件的方法,通过对存储次数排序控制存储单元的存储次数,在此基础上对相同存储次数连续空间排序从而控制文件存储的连续性,实现连续存储单元数量由多至少排序。该方法包括管理序列存储区格式化、文件存储和文件删除。本方法实现了在对存储次数排序的基础上对相同存储次数的存储单元进行排序,克服了传统文件存储操作不均衡和闪存文件存储系统速度慢的缺陷,提高了文件存储空间的使用寿命和访问效率,具有良好的性能和实用性。
申请公布号 CN102253894A 申请公布日期 2011.11.23
申请号 CN201110159866.3 申请日期 2011.06.14
申请人 沈阳建筑大学 发明人 白乐强
分类号 G06F12/02(2006.01)I 主分类号 G06F12/02(2006.01)I
代理机构 沈阳东大专利代理有限公司 21109 代理人 李运萍
主权项 一种闪存存储器等概率连续空间存储文件的方法,其特征在于该方法包括以下步骤:步骤1:管理序列存储区格式化;步骤2:文件存储;步骤3:文件删除; 所述步骤1管理序列存储区格式化,基于闪存存储器的大小和存储单元的大小设置专用的管理序列存储区,如果闪存存储器已格式化,把管理序列存储区数据读到RAM,等待文件操作命令;否则,按以下步骤执行管理序列存储区格式化:步骤1‑1:分配专用的管理序列存储区,管理序列存储区只限存储管理序列和空闲单元长度,管理序列包括存储单元序号、存储次数和状态位;步骤1‑2:设置闪存存储器大小为FlashSize,存储单元的大小为UnitSize;步骤1‑3:计算空闲单元长度NullSize=|FlashSize/UnitSize|,状态位USEState=0表示存储单元空闲,USEState=1表示存储单元使用中;步骤1‑4:计算管理序列大小ArraySize=|FlashSize/UnitSize|×3;步骤1‑5:按升序初始化管理序列的存储单元序号;步骤1‑6:设置所有存储单元的存储次数为0;步骤1‑7:设置状态位USEState=0;步骤1‑8:把管理序列和空闲单元长度存储到管理序列存储区;所述步骤2文件存储,基于空闲存储单元的序列ArrayNULL存储文件,具体步骤如下:设文件File的大小为NFile个存储单元,步骤2‑1:存储文件到ArrayNULL前NFile个元素指定的空闲存储单元;步骤2‑2:设置NFile个对应的空闲存储单元的存储次数NUSE=NUSE+1;步骤2‑3:设置NFile个对应空闲存储单元的状态位USEState=1;步骤2‑4:把NFile个对应空闲存储单元从ArrayNULL移到ArrayUSE;步骤2‑5: NullSize = NullSize‑NFile;步骤2‑6:用存储次数排序算法排序ArrayNULL,存储次数排序基于存储次数将管理序列由低至高排序;步骤2‑7:用相同存储次数连续空间算法排序ArrayNULL,相同存储次数连续空间排序算法基于具有相同存储次数的连续存储单元数量将空闲单元管理序列由多至少排序;步骤2‑8:Array={ArrayNULL,ArrayUSE};步骤2‑9:把管理序列Array和空闲单元长度NullSize存储到管理序列存储区;所述步骤3文件删除,基于ArrayUSE删除文件,具体步骤如下:    设文件File的大小为NFile个存储单元,    步骤3‑1:确定文件File使用的NFile个存储单元;    步骤3‑2:设置NFile个对应使用存储单元的状态位USEState=0;    步骤3‑3:把NFile个对应使用存储单元从ArrayUSE移到ArrayNULL;    步骤3‑4:NullSize= NullSize +NFile;    步骤3‑5:用存储次数排序算法排序ArrayNULL;    步骤3‑6:相同存储次数连续空间算法排序ArrayNULL;    步骤3‑7:Array={ArrayNULL,ArrayUSE}; 步骤3‑8:把管理序列Array和空闲单元长度NullSize存储到管理序列存储区。
地址 110168 辽宁省沈阳市浑南新区浑南东路9号