闪存中索引机制的研究---综述

来源:互联网 发布:数据如何用图表表示 编辑:程序博客网 时间:2024/06/06 02:45

闪存(flash memory)是一种广泛应用在诸如PDA,MP3和移动手机等电子设备中的非易失的存储

媒介。随着这几年存储容量的增大和价格也在平稳下降,闪存逐渐成为了一种传统的曼彻斯特盘

的替代存储媒介。全球主要的电子设备生产商早在2006年就已经发布了装配闪存以替代传统硬盘

的笔记本。闪存的容量正以两倍的速度逐年增长,这个速度已经超过了摩尔定律。这就预示着

128G的闪存产品已经发布。而闪存的广泛应用,存储在这种媒介中的数据量也在激增此时,如何

管理基于闪存中的数据成为了一个很重要的问题。
与传统的曼彻斯特盘相比,闪存有着如下优点:抗震(shock resistant),更快的访问(读)速

度(faster access speed),省电(power saving),尺寸小(small size),更轻(lighter

weight)并且噪音更小(less noise)。因此,闪存在很多环境下都优于地段的满侧斯特盘。然后,因为闪存的局限性(写前先擦除,非对称的读写速度),应用于曼彻斯特盘的传统软件并不能很好的发挥出闪存的优势性能。所以存储和索引技术需要重新设计。
为了克服这些局限性,许多针对于闪存的技术被研发出来,比如FTL。FTL是一个软件抽象层,它可以隔离下方存储媒介的差别,让上方看起来如同曼彻斯特盘一样。同时,传统的软件可以再无修改的情况下,直接移植过来。另一种方案成为(本地闪存文件系统--native flash file systems),它是用来使得闪存的特殊性质达到其最佳性能状态的。比如,JFFS,YFFS和TrueFFS。其思想源于LFS,它将整个闪存看做是一个大的日志文件。任何文件系统的修改都会附加到日志中。“Design of flash-based DBMS : an in-page logging approach”一文中提出了一个名为IPL的新的设计。其可以较好的支持交互式数据库的恢复。
如何索引闪存中的数据时另一个难题。散列和树是两个主要的散列技术。目前都是使用B+树来应用到NAND flash中。一个树查询一个记录往往需要访问好几次,而散列索引平均只需要一次。因为硬件平台从曼彻斯特盘到闪存发生了转变,树的索引性能在急剧下降(因为其为了维持一个层次关系,需要很多附加操作)。这种情况在写前需擦除的闪存中会更加糟糕。在这种情况下,我们相信散列是一种更合适的技术。
“MicroHash: An Efficient Index Structure for Flash-Based Sensor Devices”一文中设计了一专用于传感器网络的散列索引(MicroHash),然而,它并不适用于其他环境。本文中,我们设计了一个通用的索引结构。并会测试其性能。

原创粉丝点击