首页 > 范文大全 > 正文

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

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于NAND闪存的YAFFS2文件恢复技术研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 随着经济及技术的迅猛发展,智能移动终端应用逐步普及,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公布公布的数据集,在数据集中文件mtd6.dd是/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