[] Li-Pin Chang,Li-Chun Huang.A low-cost wear-leveling algorithm for block-mapping solid-state disks.ACM SIGPLAN Notices,2011,Vol.46(5):31~40

[1] LI-PIN CHANG,CHUN-DA DU. Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers. ACM Transactions on Design Automation of Electronic Systems.2010, Vol.15(1):1~36.

[2] D. Jung, Y.-H. Chae, H. Jo, J.-S. Kim, and J. Lee. A group-based wearleveling algorithm for large-capacity flash memory storage systems.In CASES ’07: Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems, pages 160–164. ACM, 2007.

 

摘要

1.介绍

  固态硬盘是以flash为存储介质的存储设备,由于物理特性的原因,SSD与HDD进行读取的方式是不同的。SSD通过隐藏flash的特性来模拟HDD的方式以便于操作系统无需改变软件或硬件来把一个SSD设备当做HDD来识别。固态硬盘是优于传统的硬盘驱动器的,无论是耐冲击性、节能、随机访问性能、散热,这些都吸引供应商使用其作为存储设备广泛应用于笔记本电脑、智能手机和便携式媒体播放器等。

  flash是一种必须在写之前擦除的存储介质。每个闪存单元只能承受有限次的擦写次数,大约在100k次左右,频繁地擦写操作可能导致某些闪存颗粒比其余的闪存颗粒提前退休。特别是现在,随着MLC和TLC的出现,单个闪存单元可以保存二个或更多的电位,这降低的单位容量的成本,但是相比SLC来说,他们的寿命却是大打折扣。

  有数据访问的地方就不可避免磨损的存在,一部分闪存颗粒的提前不能使用不仅导致设备容量的降低,同时也会加剧剩余闪存颗粒的磨损程度。所以SSD需要磨损均衡的管理来保持SSD内所有闪存颗粒的整体擦除次数的平均,但是磨损管理不是没有代价的,它会做一些额外的数据移动来保证磨损均衡的实现,这些额外的数据移动有利于整体的平衡。

  磨损均衡操作包括数据移动的时机和数据移动的位置,这些操作监视整个flash的磨损情况以及在磨损不均衡的时候进行一些操作来保持平衡。

  在资源紧张的情况下,挑战有三个:一是监视整个flash的磨损,需要相当多的时间和空间资源;二是算法优化需要根据flash的访问模式和在线人员的访问来决定;三是高复杂阻碍使用先进的WL算法

  一般的SSD主控没有足够的RAM空间来存放SSD盘内flash所有的磨损信息,chang等人提出只将部分信息保存在RAM中,然而周期性的RAM和flash之间磨损信息的交互会导致额外的写操作[1];june提出了一种基于大范围的平均擦写次数的low-resolution磨损信息方法,但是这种方法在磨损差异比较大的时候无法很好地工作[2];

A low-cost wear-leveling algorithm for block-mappingsolid-state disks的更多相关文章

  1. PatentTips - Wear Leveling for Erasable Memories

    BACKGROUND Erasable memories may have erasable elements that can become unreliable after a predeterm ...

  2. PatentTips - Solid State Memory Wear Leveling

    BACKGROUND OF THE INVENTION Solid-state memory devices encompass rewritable non-volatile memory devi ...

  3. Variability aware wear leveling

    Techniques are presented that include determining, for data to be written to a nonvolatile memory, a ...

  4. UVa1048 Low Cost Air Travel——最短路

    很好的一道题呀 思路 状态\(d(i,j)\)表示已经经过了行程单中的\(i\)个城市,目前在城市\(j\)的最小代价,直接建边跑最短路就行了 比如机票为\(ACBD\),行程单为\(CD\),那么对 ...

  5. L147 Low Cost Study Has High Impact Results For Premature Babies

    No one knows exactly why some babies are born prematurely(早产), but some of the smallest premature ba ...

  6. WL(Wear leveling)磨损平衡

    前面说过,闪存寿命是以P/E次数来计算的,而WL就是确保闪存内每个块被写入的次数相等的一种机制.若没有这个机制,SSD内的闪存颗粒就无法在同一时间内挂掉,那对用户来说就是灾难.       会出现这种 ...

  7. File System Design Case Studies

    SRC=http://www.cs.rutgers.edu/~pxk/416/notes/13-fs-studies.html Paul Krzyzanowski April 24, 2014 Int ...

  8. Durable NAND flash memory management

    词条积累 1.NAND flash memory http://www.searchstorage.com.cn/whatis/word_6052.htm http://baike.baidu.com ...

  9. SSD 相关基础知识

    SDD 基础知识 SSD(Solid State Drives)是固态硬盘,使用闪存颗粒来存储数据,闪存又可分为NAND Flash和NOR Flash,通常所说的SSD硬盘都使用NAND Flash ...

  10. MySQL Disk--SSD 特性

    ======================================================================= SSD 特性 .随机读能力非常好,连续读性能一般,但比普 ...

随机推荐

  1. 201521123065《java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 finally 题目4-2 1.1 截图你的提交结果(出现学 ...

  2. foreach_and_函数

    foreach(对集合每个元素的引用 in 集合){}例: int[] a = new int[5]{1,2,3,4,5,}; foreach(int b in a) { //b就是a中的每个元素 } ...

  3. JavaScript随笔

    文档模式 主要模式2中混杂模式和标准模式. 1混杂模式,混杂模式会让IE的行为与(包含非标准特性的)IE5相同. 2标准模式,标准模式让IE的行为更接近标准行为. 准标准模式:通过过渡型或框架集型触发 ...

  4. 代码的完整性:打印1到最大的n位数

    输入数字n,按顺序打印出从1到最大的n位十进制数. 比如,输入3,则打印出1,2,3,.....,一直到最大的3位数即999. 全排列打印 public class Main { public sta ...

  5. JDBC操作数据库之删除数据

    删除数据使用的SQL语句为delete语句,如果删除图书id为1的图书信息,其SQL语句为: delete from book where id=1 在实际开发中删除数据通常使用PreparedSta ...

  6. Matlab入门学习(矩阵、函数、绘图的基本使用)

    一.矩阵 1.定义和简单使用(一般的编程语言,数组下标都是从0开始的,但是MATLAB是从1开始的) >> a=[ ; ; ] a = >> b=[ ; ; ]; >&g ...

  7. angular 自定义指令详解 Directive

    在angular中,Directive,自定义指令的学习,可以更好的理解angular指令的原理,当angular的指令不能满足你的需求的时候,嘿嘿,你就可以来看看这篇文章,自定义自己的指令,可以满足 ...

  8. oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  9. python pyinstaller打包exe暗坑1

    环境 python2.7.9 win-xp 今天打包了一个小脚本,结果打开报错

  10. 第一个asp.net MVC5+ExtJS6入门案例项目

    最近在学习asp.net MVC,结合前段时间学习的ExtJS,做了一个入门示例.不过还有一个json日期显示的问题没有解决. [思路] 1.先搭建一个asp.net MVC项目. 2.将MVC项目的 ...