提升车载DVR文件系统性能

提升车载数字视频录像机的文件系统性能与可靠性

摘要

车载数字视频录像机(DVR)在闪存存储设备上存储实时音视频数据。车载DVR需要以高可靠性处理大量高质量的多媒体数据。然而,当前的文件系统容易受到突然断电和闪存错误的影响。本文提出了一种闪存感知的簇分配技术和一种闪存感知的日志技术。闪存感知的簇分配技术可以降低文件系统损坏和文件碎片化的概率。闪存感知的日志技术能够在没有显著开销的情况下确保文件系统一致性。在模拟器和实际系统上的实验表明,所提出的技术能够防止文件碎片和文件系统损坏,并且可以显著提高SD卡的写入性能和寿命。

索引术语

— FAT文件系统,车载数字视频录像机,簇分配,闪存感知日志技术。

一、引言

车载数字视频录像机(DVR),也称为汽车黑匣子或行车记录仪,可记录驾驶过程中每一时刻的实时音视频数据。它还可以记录停放车辆发生意外或可疑事件时的音视频数据。通常,捕获的多媒体数据保存在使用NAND闪存作为存储介质的安全数字(SD)卡中。该SD卡采用PC兼容的FAT文件系统进行格式化。由于车载DVR的数据可作为法律诉讼的证据,并且可能面临突然断电(SPO)等系统故障,因此必须具备高可靠性。然而,当前车载DVR所使用的文件系统在设计时并未充分考虑所需的高可靠性。

首先,现有的汽车DVR系统的FAT文件系统频繁更新元数据。FAT文件系统元数据包括文件分配表(FAT)和目录项(DE)。FAT文件系统以簇为单位管理存储空间,簇是空间分配的基本单位。FAT由一系列条目组成,每个条目表示相应簇的分配状态。FAT条目还包含簇链信息。创建的文件。每当簇被分配或释放时,文件分配表(FAT)就会被修改。目录项(DE)包含文件名、文件大小、首簇编号、日期/时间等文件信息。当文件被创建、追加或删除时,目录项(DEs)会被修改。由于车载DVR在每个预设时间间隔都会创建新文件并持续记录行驶数据,导致元数据频繁更新。如果元数据因突然断电或闪存错误而损坏,则录制的数据无法访问。频繁的元数据更新增加了文件系统损坏的概率。

特别是,FAT条目大小与闪存页大小之间存在不匹配。虽然一个FAT条目为4字节,但闪存页通常为4千字节或8千字节。由于闪存只能以页为单位进行编程,即使文件系统仅需修改一个4字节的FAT条目,也必须重新编程整个闪存页。此外,文件系统与存储设备之间的最小数据传输单元本质上是512字节的扇区。由于闪存不允许就地更新,因此要更新部分页时需要执行读‐改‐写(RMW)操作,即首先将旧的闪存页读取到主机缓冲区中,在缓冲区中修改若干个扇区,然后将修改后的页数据写入一个新的闪存页中。SD卡中的嵌入式固件,称为闪存转换层(FTL),负责执行RMW操作。RMW会增加FAT更新操作的延迟。此外,SD卡的编程/擦除(P/E)周期有限。需要RMW操作的小写请求会迅速耗尽SD卡的P/E周期。一些闪存设备允许部分页编程,从而可以减少更新FAT所需的RMW操作次数。然而,当发生SPO或闪存页编程错误时,部分页编程可能会破坏先前已写入目标闪存页的其他FAT条目。

第二个问题是文件碎片化。车载DVR生成多种不同类型的数据,并将其放置在不同的目录中。这些数据可以根据生成时间进行分类。例如,驾驶过程中持续录制的视频/音频文件被存放到“行车”目录中;由内置陀螺仪触发的车辆事故和驾驶事件则被存放到“行车事件”目录中;停车期间由移动检测和碰撞检测触发的视频分别存储到“泊车移动”和“泊车碰撞”目录中。每个目录都有其有限的目录空间,当目录空间满时会自动循环使用,最旧的文件将被优先覆盖。因此,不同目录中的文件具有不同的寿命和文件大小。虽然这些目录在逻辑上是分离的,但文件的数据可以写入文件系统中的任意簇,而不管文件类型如何。通常,FAT文件系统会分配第一个空闲簇。由于已记录文件的寿命不同,空闲簇变得碎片化,新创建的文件将被写入多个碎片化簇中。

文件碎片化会导致SD卡上的随机写入操作。由于闪存在随机写入方面的性能比顺序写入更差,因此文件碎片化会降低文件系统的写入性能,在最坏情况下可能导致丢帧。此外,由于随机写入请求会在闪存设备内部引发显著的写入放大,因此碎片化的写入请求将缩短SD卡的寿命。然而,任何碎片整理技术都无法成为解决方案。由于车载DVR需要持续不断地将采集的数据写入SD卡,因此没有空闲时间可用于执行碎片整理任务。

Kim和Shin提出了一种可解决碎片化问题的分区技术。然而,该技术无法在系统故障时保证文件系统的一致性。本文对该分区技术进行了扩展,并提出了一种新的日志技术,以实现高性能和高可靠性车载DVR系统。首先,分区分簇分配(PCA)技术将存储空间划分为多个区域,并从同一区域按顺序分配同类型文件的簇,以防止文件碎片化。其次,页面对齐预分配(PAPA)技术通过预先分配所创建文件的簇,避免为文件分配表(FAT)分配的闪存页被多次覆写。通过预分配,元数据更新的次数也得以减少,从而使文件系统不易处于故障关键情况。第三,闪存感知日志(FAJ)通过在日志区域记录元数据变更来确保文件系统一致性。FAJ设计时考虑了闪存的特性,且在日志管理方面开销极小。实验在汽车DVR模拟器和实际车载DVR系统上进行。通过所提出的这些技术,文件碎片几乎被完全消除,元数据更新也显著减少。

本文的其余部分组织如下。第2节介绍相关工作。第3节详细说明所提出的技术。第4节展示实验结果。最后,第5节总结全文。

II. 相关工作

人们提出了多种优化技术来提高FAT文件系统的性能。全簇预分配(ACPA)技术会为创建的文件一次性分配所有簇。因此,它可以在文件进行追加操作期间避免对文件分配表(FAT)的更新。由于在文件创建时文件大小未知,ACPA会为所创建的文件预先分配系统中所有的空闲簇,并在文件关闭时释放未使用的簇。因此,大量的FAT条目会被反复地分配和释放,从而导致大量写入操作被发送到闪存中更新文件分配表。此外,ACPA未考虑部分页编程问题,也无法处理文件碎片问题。

基于闪存感知扩展的簇分配(FECA)是一种抗碎片化技术。FECA将存储空间划分为多个簇组,其中每个簇组的大小与闪存块的大小相同。FECA根据文件大小从不同的簇组中分配空闲簇,因此大文件和小文件不会混合在同一簇组内。由于不同大小的文件通常具有不同的寿命,FECA能够减轻文件系统碎片化。然而,当文件系统利用率较高时,碎片化不可避免。大文件可能被分割到多个分离的簇组中,并与小文件混合。

FAT文件系统规范未包含用于提高文件系统一致性的日志方案。因此,系统崩溃可能会破坏文件系统一致性。金和余提出了一种针对FAT文件系统的日志技术,称为HFAT。该技术动态地分配日志区域,以分散对日志的频繁写入访问。日志区域的总大小也可以动态调整。然而,分布式的日志区域会加剧文件碎片问题。此外,HFAT需要较大的存储空间开销用于日志区域。

Alei et al. 提出了元数据延迟顺序写入技术,该技术收集一定数量的元数据更新并一次性记录。这种延迟顺序写入技术可以在不破坏文件系统一致性的前提下减少元数据更新的次数。然而,在延迟写入技术下,最新的未写入数据将在SPO时丢失。此外,该技术无法在系统突然崩溃时保证文件系统的一致性。

还有一些FTL层优化技术用于提升闪存存储设备的性能。Ryu提出了过滤型FTL技术(FFTL),该技术对元数据更新进行过滤,并将其与普通数据写入分开管理。FFTL减少了块擦除次数,提高了元数据更新的写入性能。然而,它既不能减少元数据更新的数量,也不能降低文件系统损坏的概率。Kim et al. 提出了页面填充技术,以在碎片化情况下仍能提供稳定的写入性能。该技术通过在FTL层填充现有数据,将碎片化写入模式转变为顺序写入模式。然而,页面填充技术仅在碎片化簇彼此靠近时才有效。

因此,以往的技术只能处理FAT文件系统问题的一部分,且未考虑车载DVR系统的工作负载。

III. 优化技术

A. 分区簇分配

当FAT文件系统中的空闲簇出现碎片化时,新创建的文件将被分配到这些碎片化的簇中。碎片化的空闲簇是由于车载DVR文件的寿命和大小不同而产生的。当两种不同类型的文件被分配到相邻的簇时,如果仅删除其中一个并释放其簇,则会产生碎片化的空闲簇。文件碎片问题可以通过碎片整理技术解决,该技术将碎片化簇中的数据移动到连续簇中。然而,由于碎片整理技术会引入运行时开销,因此无法应用于车载DVR系统。为了移动碎片化簇中的数据,需要向SD卡发送额外的读写操作。由于车载DVR需要持续将采集的数据写入SD卡,而存储的I/O带宽有限,这些额外的操作将导致丢帧。此外,SD卡的寿命也会缩短。因此,车载DVR系统需要一种抗碎片化技术,而非碎片整理技术。

所提出的分区簇分配(PCA)技术是一种抗碎片化技术,通过将存储空间划分为多个区域,并在每个区域中仅存储相同类型的文件,从而防止文件碎片化。PCA方法不同于传统的逻辑或物理存储分区技术。由文件系统管理的逻辑分区无法解决文件碎片问题,因为不同的分区共享物理簇。而物理分区虽然可以分离不同分区的簇,但每个分区必须挂载独立的文件系统,且每个分区大小无法动态更改。此外,某些操作系统不允许在一个可移动存储设备上创建多个分区。

尽管所提出的分区簇分配采用了一种特殊的簇分配技术以消除文件碎片化,但它仍然与现有的FAT文件系统保持兼容。图1展示了PCA技术下的簇分配情况。存储空间被划分为多个区域,每个区域都指定了起始簇号、结束簇号、最后分配的簇号、区域大小以及目标文件类型。起始和结束簇号决定了一个区域的大小和位置。根据每个区域的预定义空间比例和总存储容量,在文件系统挂载过程中由文件系统计算出各个区域的起始簇号和结束簇号。各区域的信息保存在一个由车载DVR应用创建的特殊配置文件中。文件系统在运行时将区域信息维护在主内存中。

每个区域只能用于单一类型的文件,因此不同类型的文件不会混合。文件类型可以从文件的目录信息中识别。当文件的簇分配请求发送到文件系统时,PCA会从该文件类型对应的区域分配空闲簇。空闲簇可以以其所在区域的循环方式分配。由于汽车DVR系统每隔一定时间间隔生成一个新的多媒体文件,因此SD卡上仅保存最近创建的文件,当目录空间满时,目标目录中的旧文件将被删除。因此,每个区域均可按循环方式管理。因此,最后分配的簇的下一个簇始终是一个空闲簇。从该位置开始,PCA为新文件分配连续簇,不会产生碎片。因此,PCA可以消除空闲簇搜索开销。例如,在图1中,当创建一个类型为编号1的文件时,可以在常数时间内找到连续的空闲簇,而无需从簇号编号1扫描到簇号编号12的目标区域。

示意图0

PCA不会改变FAT文件系统的存储格式。因此,采用PCA技术生成的文件可以被其他系统(如主机PC)访问。PCA技术通过减少存储上的写入请求次数,能够延长SD卡寿命并提升写入性能。

B. 页面对齐预分配

通常,汽车DVR系统将捕获的数据缓冲在主内存中,并定期将其刷新到存储中。如图2(a)所示,每次缓冲刷新操作都会更新目标文件的元数据(如FAT和DE),因为分配了新的簇且文件大小被修改。因此,FAT和目录项被频繁更新。

示意图1

所提出的页面对齐预分配(PAPA)技术,无论数据刷新次数多少,仅需一到两次元数据更新,如图2(b)所示。在车载DVR系统中,每种文件的最大文件大小可根据系统配置等信息预先知晓录制时间和文件格式。因此,当文件创建时,PAPA会根据最大文件大小预分配该文件的簇,并修改相应的FAT条目。由于文件大小已确定,目标文件的目录项也在文件创建时固定。随后,在文件追加操作期间无需更新元数据。由于相同类型的文件的文件大小差异不大,最大文件大小与实际文件大小之间的差距不会太大。PAPA使用一个特殊文件来存储不同类型文件的最大文件大小。当文件关闭时,可以根据预分配簇中已使用簇的数量来更新元数据。为了减少元数据更新次数,仅当未使用簇的数量大于预定义阈值时才修改元数据。

图3展示了PAPA的详细簇分配过程。在FAT32文件系统中,FAT中的每个条目为4字节,用于表示相应簇的分配状态以及簇链。例如,如果第n个FAT条目的值为m,则表示簇号为n的簇已被分配给某个文件,并且簇号为m的簇是下一个已分配的簇。对于一个文件的最后一个条目,会写入一个特殊的预定义值(如0x0FFFFFFF)以表示文件结束(EOF)。FAT区域被分配在与普通数据簇分离的地址空间中,并存储在多个连续的逻辑页上。在图3的示例中,FAT存储在逻辑页号(LPNs)从0到3的四个逻辑页上。

FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
缓存的FAT 缓存的FAT 缓存的FAT
为文件1创建簇链 为文件1创建簇链 为文件1创建簇链
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 10 20 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 10 20 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 10 20
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40

| FAT
| FAT | FAT | FAT |
| — | — | — |
| 1. 初始 | 2. 文件1 FAT分配完成 | 3. 文件2 FAT分配完成 |
| LPN 0 LPN 1 LPN 2 LPN 3 | LPN 0 LPN 1 LPN 2 LPN 3 | LPN 0 LPN 1 LPN 2 LPN 3 |
| 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 | 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 | 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 |

FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3 LPN 0 LPN 1 LPN 2 LPN 3
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 37 38 39 10 20 30 40
FAT FAT FAT
1. 初始 2. 文件1 FAT分配完成 3. 文件2 FAT分配完成
LPN 0 LPN 1 LPN 2 LPN 3 LPN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值