admin管理员组

文章数量:1567539


2024年7月4日发(作者:)

龙源期刊网

基于NAND闪存的YAFFS2文件恢复技术

研究

作者:范道睿 李平安

来源:《电子技术与软件工程》2016年第04期

摘 要 随着经济及技术的迅猛发展,智能移动终端应用逐步普及,NAND闪存技术取得了

长足的发展,基于NAND闪存的YAFFS2数据恢复技术显得日益重要。本文主要从YAFFS2

简介入手,重点对文件恢复技术进行了分析和阐述,并有针对性地进行模拟实验分析,以供同

行参考。

【关键词】NAND 闪存 YAFFS2 文件恢复

1 引言

NAND闪存与以往磁存储器比较,其在硬件上具有耐擦写次数低且不支持异地存储等特

点;在软件上则具有磨损均衡、按块擦写以及垃圾回收等特殊性能。就目前而言,普遍使用的

Android智能手机,其内核存储器采用的就是基于NAND闪存的YAFFS2数据恢复技术。

2 YAFFS2简介

2.1 NAND闪存

2.1.1 物理特性

NAND拥有质量轻、功耗低、存储成本低等优势,常被用于手机、数码相机等移动设备领

域。同时,NAND闪存具有未被擦除和擦除两个状态,且属于非易失性存储器,即便是掉电后

仍能够对内部存储数据加以保存。

2.1.2 逻辑结构

由小到大,NAND闪存的逻辑结构依次排列为页、块、可擦除区域。一般来说,块是可擦

除的最小单位(由32或者64个页组成),多个可擦除块可以组成一个可擦除区域(256或者

1024个块组成)。每个NAND闪存的存储能力决定了其包含块的数目。

2.1.3 操作特性

通常情况下,可在NAND闪存中分别进行对块擦除操作、写操作以及对单页面进行读操

作等三种操作方式,其中以单页面读的操作速度最快。同时,为有效延长NAND闪存的使用

寿命,通常会使用磨损均衡机制。

龙源期刊网

2.2 YAFFS2文件系统

就目前而言,1KB或者2KB页面大小的闪存为YAFFS2的主要服务对象。加上当前

NAND对一次性写入有着较高的要求,因此YAFFS2中已删除标志位已经被淘汰。与传统的

YAFFS1比较,YAFFS2具有较大的容量,且具有较为先进的文件存储方式。

2.3 YAFFS2垃圾回收机制

受NAND自身因素的影响,通常采用日志型结构对YAFFS2进行设计,在对过时但未被

擦除的数据块进行管理时需要实现垃圾回收机制。通常情况下,YAFFS2文件系统的垃圾回收

机制是一种被动的垃圾回收服务,其只在更新对象头、数据写入NAND闪存以及对文件大小

予以改变时会被触发。一旦出现上述问题,首先应精准判断当前可分配的块数量,然后寻找适

合垃圾回收的块,如果有满足条件的块,则可以对其进行擦除操作。

3 文件恢复技术

3.1 基本原理

本文提出了一种基于NAND闪存的YAFFS2数据恢复方法,即运用YAFFS2合理实现

NAND闪存要求的磨损均衡以及无重复写操作方式,并通过对标志位、对象头、NAND块序

号等信息的有效利用,实现数据资料的恢复。具体步骤如下:

(1)基于NAND创建一个新的空文件,且NAND具有足够的存储空间。然后对该文件

写入多个页面数据,YAFFS2会依次为该文件进行存储空间的分配。

(2)关闭文件时,YAFFS2会在NAND闪存上形成新的对象头打开文件后,第一个数据

页面就会被修改,并相应增加了新的数据页。

(3)将文件截断为0KB,此时文件内容仍旧在芯片上存储,同时YAFFS2会存储一个新

的对象头,对象头对用户看到文件的内容具有决定性作用。

3.2 文件恢复算法

通常情况下,对NAND闪存的文件进行恢复时,需要对以下两种情况予以综合考虑:

(1)YAFFS2并未实现对NAND闪存的垃圾回收,此时NAND闪存的所有页面和块在分

配时会严格依据空间顺序进行;

(2)YAFFS2已经实现对NAND闪存的垃圾回收,此时数据块将不会严格依据空间位置

进行分配,部分文件分片甚至出现顺序错乱的情况。

龙源期刊网

4 实验与分析

4.1 实验环境搭建

本文中的试验环境是在Ubuntu Linux下利用nandsim对NAND闪存进行模拟,并融入相

应的YAFFS2文件系统。在具体的模拟试验中,需要人工创建数据集,并通过Post Mark有效

实现对分片数据集的构造,并在这两个数据集中应用相应的算法进行数据恢复操作。

4.2 实验一:对多个数据库,依次执行删除操作(最好场景分析)

在本次实验中,首先需要依次创建五个数据库文件,并插入二十条记录。针对五个数据库

进行删除操作,每次操作完成之后,获取镜像备份,最后一次需要对五个镜像进行数据库删除

记录恢复操作。

在人工数据集上,具有出色的表现,且精准率高达100%。无论数据库文件是否出现分片

都不影响删除记录的恢复。这主要是由于NAND闪存的最大容量远超于数据量,文件虽然也

存在失序的情况出现,但是不会因垃圾回收而丢失。

4.3 实验二:公开数据集实验

本次实验主要依赖于2011年DFRWS公布公布的数据集,在数据集中文件是

/system镜像,大小为144M。同样也把该镜像导入nandsim模拟出的NAND闪存。具体来说,

在本次公开数据集实验中,共发现分属于62个具有不同应用的120个数据库文件,其中有对

应日志文件的一共有48个,具有上一版本数据库文件的一共有54个。本实验最终恢复了43

个文件夹,共计550个文件,在磁盘上共占用120M的空间。

5 结语

与传统的磁存储器件相比,NAND闪存在存储方式上给文件恢复工作带来了一种新的突

破。所以,未来几年,如何在Hash芯片进行相应的数据恢复工作将成为NAND闪存的研究方

向。

参考文献

[1]郑光.NANDFlash存储数据逻辑销毁技术研究[D].解放军信息工程大学,2013.

[2]云应用导致NAND闪存需求下降[J].电子产品世界,2013(12):36-38.

[3]NAND闪存闪现光芒,今年营业收入有望大增[J].今日电子,2013(07):79-80.

作者单位

龙源期刊网

湖北武汉理工大学 湖北省武汉市 430070


本文标签: 文件闪存进行数据具有