ubi 文件系统的fastmap启用

这篇具有很好参考价值的文章主要介绍了ubi 文件系统的fastmap启用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

fastmap是一项实验性和可选的UBI功能,可以启用 通过kernel中将配置项CONFIG_MTD_UBI_FASTMAP设置为“y”。启用后,同时,设置UBI模块的参数“fm_autoconvert”。为 1(默认值为 0),则可以启用 UBI的fatmap。UBI会创建一个新的内部 具有fatmap数据的卷,以便下次启动镜像时, 可以使用fastmap模式,从而提高系统加载文件系统的速度。

在默认配置中,UBI将使用存储在此 fatmap卷以加速加载过程。如果你想测试 fatmap,将fm_autoconvert设置为 1 后启动。

设置结果:

CONFIG_MTD_UBI_FASTMAP fm_autoconvert 结果
n 0 fastmap已完全禁用
y 0 UBI将使用fastmap数据(如果图像上存在), 但不会在尚未安装fastmap的图像上安装
y 1 UBI 将使用fastmap数据(如果图像上存在)和fastmap 在所有附加的图像上自动创建

1.1 向后兼容性

fatmap磁盘数据结构利用删除兼容卷, 因此,启用fastmap的图像与UBI完全向后版本兼容 不支持fatmap的实现。内核将删除 fatmap卷并继续扫描。kernel v3.7+都可以使用fastmap启动。

1.2 fastmap 的存储过程

磁盘上的fastmap包含加载整个镜像所需的所有信息,
包括:
所有擦除块计数器值、
所有 PEB (physical eraseblock)及其状态的列表、
所有卷及其当前 EBA(eraseblock address) 列表
等…
为了避免fatmap过多的写入,它还包含一个可能已经更改并需要完全扫描的 PEB 列表。 此列表称为“fastmap pool”,固定大小为总数的 5% PEB 的数量。根据设计,UBI 仅在池中不包含空闲的 PEB才需要写入fastmap数据 。否则,它必须每次EBA发生改变时,就必须写入fastmap。

fatmap由超级块(也称为锚点 PEB)和可在任何PEB上存储的有效数据组成。 锚点 PEB 必须位于 MTD 设备上的前 64 个 PEB 内。 它包含指向带有实际的fastmap 数据其余PEB的指针。在现代 NAND 芯片上,整个fatmap适合单个 PEB。 因此,锚点 PEB 指向自身。 加载fastmap数据后,从中将创建 UBI 附加信息结构 。

附加过程的工作方式如下:

  1. UBI试图找到fastmap锚点PEB, 如果未找到锚点 PEB,UBI 将执行传统的完全扫描
  2. 它遵循存储在锚点 PEB 中的指针并读取 fastmap有效负载数据
  3. 然后,它仅对池中的 PEB 执行传统扫描 而不是所有 PEB
  4. 如果UBI检测到fastmap数据无效或损坏 自动回退到扫描模式并执行完全扫描。使用 内部UBI结构的CRC32校验和和一致性检查UBI是 能够检测fastmap数据是否无效。

fastmap数据写入设备:每次fastmap池已满时 (即没有可用的免费 PEB)、卷布局更改或图像被取消挂载,就会写入。为什么需要在取消挂载时将fastmap数据写入,因为不这样的话,自上次fatmap写入以来的所有擦除计数器修改将丢失。

1.3 fastmap 的时间和空间开销

支持fastmap的UBI将保留足够的PEB来携带两个完整的PEB fastmap。在实践中,在现代NAND芯片上,需要为fatmap保留两个PEB。

还有一些运行时开销。为了保证新的fastmap有效 并且一致,UBI需要确保在加载过程中阻止所有可能导致EBA更改的I / O。 连接时被阻止。可能长达1s。因此,fastmap仅在快速和大型闪存设备上有意义 否则完全扫描会花费太长时间。例如:在 4GiB NAND 上 芯片 完全扫描需要几秒钟,而快速连接需要不到 一秒钟。

备注

启用fatmap并不能保证每个加载过程都会在最佳时间内完成 。在某些情况下,仍然需要完全扫描。 这可能在两种情况下发生:
(i) 如果在fastmap时发生意外重新启动 写入flash
(ii) UBI 在写入fatmap时用完 PEB。 如果写入时发生大量 I/O 错误,则可能会发生后一种情况, UBI找不到足够的可用PEB。文章来源地址https://www.toymoban.com/news/detail-453782.html

到了这里,关于ubi 文件系统的fastmap启用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文件系统模拟实验

    摘 要         文件系统作为操作系统中最为重要的组成部分之一,它的主要功能就是对文件进行管理。文件系统位于操作系统的顶层。在操作系通的接口中文件系统扮演着十分重要的地位,他把我们使用计算机操作的抽象数据转换为能够在计算机物理设备上存放的具体数据,并

    2024年02月03日
    浏览(36)
  • 信息系统安全实验之文件上传漏洞导致主页篡改实验

    一、实验目的 1.了解文件上传漏洞的原理和攻击方式。 2.在学习该漏洞的出现原因的过程中了解该漏洞的防范和加固方式。 二、实验环境 1.操作系统:Windows 7(虚拟机环境)。 2.工具:phpStudy、Burp Suite、中国蚁剑、Firefox浏览器。 三、实验步骤和结果 (1)在虚拟机上安装好

    2024年02月04日
    浏览(70)
  • 操作系统期末实验:多用户二级文件系统

    期末实验不是python写的,所以很可能是当时在github上找了一个,然后改了改hhh 如果后续找到了链接就放过来 设计一个多用户的二级文件系统,能够实现简单的文件操作。具体包括如下几条命令: (1)Dir 列文件目录; (2)Create 创建文件 (3)Delete 删除文件 (4)Deldir 删除

    2024年01月18日
    浏览(42)
  • 操作系统实验之文件管理

    目录 一、实验目的 二、实验内容 三、实验思路 四、主要数据结构 五、实验流程图 六、实现代码 七、运行结果 通过这次实验,掌握文件系统的用户管理,掌握普通文件、目录文件管理的基本原理。 1、通过初始化操作建立一个模拟外存空间的虚拟磁盘文件,在该文件中保存

    2024年02月05日
    浏览(49)
  • 操作系统 | 实验八 文件管理

    掌握文件的存取方法;掌握文件的逻辑结构和物理结构;掌握存储空间的分配和回收;掌握磁盘管理与调度。 用程序模拟磁盘的调度过程,并计算各磁盘调度算法包括先来先服务算法、最短寻道时间优先算法、扫描算法和循环扫描算法的平均寻道长度。 本实验是模拟操作系

    2024年02月06日
    浏览(47)
  • 实验四 文件系统原理与模拟实现

    代码资源地址 Java实现的混合索引和成组链接法算法资源-CSDN文库 了解操作系统中文件系统的结构和管理过程,掌握经典的算法:混合索引与成组链接法等方法。 编程模拟实现混合索引和成组链接法算法;         1.模拟混合索引的原理;         假设每个盘块16字节

    2024年02月16日
    浏览(37)
  • Cinder对接NFS文件系统实验详解

    2、对接NFS(Network File System:网络文件系统)实验 实验前的准备: 完整克隆一台虚拟机作为Cinder的后端存储(IP为192.168.100.40) Cinder节点作为服务端,把Controller作为客户端 Controller节点对接NFS 在Cinder节点添加一个30G的磁盘,分区为30G的sdb1然后进行格式化为xfs文件系统 (1)安

    2024年01月19日
    浏览(42)
  • Linux操作系统实验三 文件管理(一)

      1.实验目的与要求 了解Linux文件系统目录结构 掌握目录管理的相关操作 掌握文件管理的相关操作 2.实验平台 实验室安装的实验环境(Linux操作系统)和头歌(www.educoder.net)实验平台(课程实验) 3.实验内容 文件系统目录结构理论知识练习 linux 下目录的创建、应用、查看、

    2024年02月03日
    浏览(54)
  • 【Linux操作系统】【综合实验三 用户帐号、文件系统与系统安全管理】

    要求掌握Linux系统用户的创建、删除与管理操作;熟悉Linux文件系统的管理模式,学会创建用户文件系统并装载和卸载文件系统;掌握超级用户的管理方式与权限,并实施对普通用户的管理;熟悉Linux系统安全机制与相关管理方法。 通过这个第三阶段实验,要求掌握以下操作与

    2023年04月14日
    浏览(38)
  • 【Linux操作系统】【综合实验三 用户帐号、文件系统与系统安全管理】【未整理】

    要求掌握Linux系统用户的创建、删除与管理操作;熟悉Linux文件系统的管理模式,学会创建用户文件系统并装载和卸载文件系统;掌握超级用户的管理方式与权限,并实施对普通用户的管理;熟悉Linux系统安全机制与相关管理方法。 通过这个第三阶段实验,要求掌握以下操作与

    2024年02月06日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包