当前位置:主页 > 科技论文 > 计算机论文 >

SA-YAFFS:支持交换系统的YAFFS闪存文件系统的设计与实现

发布时间:2020-10-25 02:54
   闪存自其诞生,便以其功耗低、体积小、抗震性强而受到广泛关注。如今,随着闪存进入G容量时代,闪存必然会被使用在计算复杂性更高、任务更繁复的系统中。而在这些操作系统中,几乎无一例外地都使用了交换系统,以牺牲一定性能的代价来扩展内存空间容量,增加系统的并行执行度和吞吐量。当闪存被应用在了这些系统中,由于闪存在I/O接口和寻址方式与传统磁盘的巨大差别,使得交换系统无法直接在闪存上建立交换区域。 工程上惯用NFTL/FTL层来屏蔽闪存设备与磁盘设备的不兼容性。NFTL/FTL层是一种设备转换层。借助该层,操作系统便可以把闪存当作磁盘块设备一样来使用,并在其上建立FAT、NTFS、EXT2、EXT3等之类的磁盘文件系统。甚至于在NFTL/FTL层的帮助下,交换系统也得以简介地建立在闪存上。然而,NFTL/FTL层除了因为在设备转换过程中损失性能外,严重的“伪有效chunk”问题还会导致大幅增加交换系统的读写开销,于是有人提出了闪存专用交换系统FASS,解决了上述NFTL/FTL的两个缺陷。FASS大幅度降低了交换系统对交换区域的读写开销。 然而FASS延续了传统交换系统静态分配交换区域的惯性思维,将交换系统的读写磨损限制在了闪存固定的某个区域,就有可能会造成闪存局部过度磨损,本质上并不适用于闪存场合。 基于上述的思考,本课题认为闪存交换系统必须动态分配交换区域的存储空间。因此,本课题将交换系统的支持性融入闪存文件系统YAFFS中,提出了支持交换系统的闪存文件系统SA-YAFFS(Swap-Aware YAFFS)。 在SA-YAFFS文件系统中,文件系统和交换系统各自都具有可用的闪存空间逻辑配额,但实际的物理存储空间只有发生写操作时,才动态地由统一的闪存分配器分配出去。考虑到文件系统数据和交换系统数据的具有不同的有效周期,SA-YAFFS将闪存block按功能分为文件系统block和交换系统block,这一方面有利于提高闪存垃圾回收器的效率,另一方面可以节省内存开销。考虑到交换系统block中的内存页的内核对象与文件系统block中的数据内核对象不兼容,SA-YAFFS为交换系统设计了专门的垃圾回收器。另外,SA-YAFFS采用异步方式读写交换区域,以提高系统吞吐率。 实验表明,相对于NFTL/FTL层,SA-YAFFS由于避免了“伪有效chunk”的现象,可以大幅度降低交换系统对于闪存交换区域的读写次数。同时,由于采用动态分配交换区域,SA-YAFFS文件系统可以调动分区中所有空闲block共同承担交换系统导致的闪存磨损。相对于FASS,SA-YAFFS在交换系统逻辑配额一定的前提下,可以将交换系统对于闪存的磨损分摊在更多的物理block上。当“文件系统逻辑配额的剩余空闲空间+交换系统逻辑配额”增加到n倍,交换系统对于其使用过的每个block的磨损次数降低为原来的1/n。
【学位单位】:上海交通大学
【学位级别】:硕士
【学位年份】:2008
【中图分类】:TP333.2
【部分图文】:

内存管理,内存管理器,进程,释放内存


Figure2-3 The memory management of IBM OS/360 OS/360 被配置成 MVT(Multiprogramming with a Variable 2]时,内存管理器便采用动态方法为进程分配内存。为了跟操作系统用表来记录内存块是否被占用或空闲。初始时,整闲内存块,当用户或者系统进程不断地向内存管理器提出分存管理器就按照该进程申请的大小从这一大块内存中划分出用。一旦使用完毕,则释放内存块返还给内存管理器。当系存,并且还没有发生任何内存块返还给内存管理器时,此时一大块连续的内存。当逐渐出现有进程释放内存时,由于内机的,系统中便开始出现多个不连续的空闲内存块。内存管闲块表”将这些分散的空闲内存块的信息组织起来,以备需今后回收内存块时会首先考虑是否可以和当前的其他空闲块个不连续的空闲内存块时,最先匹配、最优匹配和最差匹配经典的三种策略。采用分页技术的系统而言,进程只能使用连续的物理内存空

闪存,文件系统,擦除,大容量


而 YAFFS 在擦除 block 时又不采用 Suspend Erase 技遇到正在进行中的擦除 block 操作,则读写闪存会被合用在 NOR Flash 上。相对 JFFS 而言,YAFFS 的内存计得更简单快速、挂载大容量 NAND Flash Memory 所耗常适合使用在大容量的 NAND Flash Memory 上。而 JF NAND Flash,以及 NOR Flash 上。

示意图,换页,策略,示意图


他们提出了一种改良的 LRU 换页策略——CFLRU 策略。法中不区分“脏页”和“干净页”,这样会增加闪存写操作,存的擦除操作。闪存的写操作比起读操作满了不少,擦除就更增加对“页”是“脏”还是“干净”的考虑,尽可能把脏页保,CFLRU 算法选择换出页的顺序如下:未使用了的干净页未使用了的脏页使用了的干净页或脏页

本文编号:2855353

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2855353.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户4ff08***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com