菜单
  
    11

    2.7.1  NF_ReadSector 11

    2.7.2 NF_WriteSector 14

    2.7.3  两个基本扇区读写函数中调用到的函数概述 17

    2.8  逻辑读写的实现 18

    2.8.1  缓存块时间戳 18 

    2.8.2  LDT_UpdateEarlyOneBlock 18

    2.8.3  LDT_SuperUpdate 18

    2.8.4  LDT_WritePage 20

    2.8.5 LDT_ReadPage 25

    3 简单评估所分析的源代码 25

    3.1 假设模拟写操作,分析负载均衡效果 26

    3.2 简单做比较 28

    结  论 29

    致  谢 30

    参考文献 31

     1  绪论

    闪存( flash memory)已经成为当今最为流行的存储介质之一,大有要超越硬盘的趋势。它具有许多有非易失、防震、节能、体积小、容量大等等有点,但也有其局限性。闪存块的读写单位是页,擦除单位是块,一个块包含很多页,要写一个页,就必须先擦除该页所在的块。而闪存的瓶颈就在块擦除操作上,不仅耗时长,更重要的是擦除次数有限。

    因此闪存多采用异地更新策略,需要维护物理地址和逻辑地址的映射表关系,并且尽可有分散擦除操作到每个块上,以延长使用寿命。作者主要查看各种相关资料,然后对导师给的一个u盘固件代码中的flash管理模块进行剖析,并分析使用的负载均衡方法,简单与资料中的方法进行比较。

    1.1  背景

    U盘的存储体主要使用NAND Flash memory(闪存),它具有许多优点,存储容量大、体积小、掉电数据不易丢失以及可多次擦写等,但也有其自身的限制。

    闪存由若干个闪存块(block)组成,每个闪存块又分为若干个物理页(page)。闪存块是擦除操作的最小单位,而读和写都是以页为单位的。

    闪存采取异地更新的策略,更新的数据会被放到别的物理页上,而不是覆盖原来的数据。包含新版本数据的页被称为有效页,新版本数据被称为有效数据。包含旧版本数据的页被称为无效页,或称为脏页,脏页经过擦除操作后成为空闲页,才可以重新写入数据。因为闪存是以块为单位执行擦除的,因此需要将脏页所在块上的所有的物理页都擦除, 在擦除之前需要检查此块上是否存在有效页,如果存在就必须先转移到其他块上。因为每个闪存块的擦除次数有限,一般是在10万次到100万次之间,只要有块的擦除次数达到了上限,闪存数据存储就会变得不可靠。

    由于闪存采用异地更新的缘故,逻辑页与物理页的对应关系一直在改变,所以要正确存取数据就必须建立一个物理页和逻辑页的映射表。这样,数据更新后只需改变映射表中物理页的地址,并将原版本数据所在的物理页标示为无效。

    综上说述,就需要用一个算法来维护映射表,并使得擦除操作均匀地发生在每个块上。

    这一类算法叫做磨损均衡(wear-leveling)算法,用字来实现闪存页面置换,和块擦除维护工作。

    2  算法综述

    磨损均衡算法按照处理过程中是否带有随机性可以分成两类。

    2.1  随机性磨损均衡算法

    这类算法在以下几个策略中体现随机性:均衡处理触发条件,处理块的选择,转移有

  1. 上一篇:基于组合导航系统的地图创建技术
  2. 下一篇:Android微博手机客户端软件的设计与实现
  1. 基于MATLAB的图像增强算法设计

  2. 基于Kinect的手势跟踪与识别算法设计

  3. JAVA+MYSQL《算法与数据结构...

  4. 神经网络算法在核素识别中的应用研究

  5. 人脸图像品质评估算法设计与实现

  6. 基于RGB-D摄像机的图像分割算法研究与实现

  7. 云虚拟环境下资源分配优化算法的研究

  8. 分光光度法测定水溶液中有机酸含量的研究

  9. 带式输送机技术英文文献和中文翻译

  10. 合肥老乡鸡连锁餐饮企业的经营策略探析

  11. 新生代农民工培训现状分析

  12. 机器人摩擦焊机头设计

  13. 《简爱》女性主义的象征

  14. 公共服务均等化文献综述和参考文献

  15. 文化旅游主题展示设计广富林十里长街设计

  16. 圆柱绕流国内外研究现状

  17. 探讨“绿色生态”在都市设计中的体现

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回