0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于用闪存为储存的固态硬盘

SSDFans 来源:未知 作者:李倩 2018-03-27 14:31 次阅读

基于用闪存为储存的固态硬盘(Solid State Drive,SSD),与基于用磁性盘片为储存的传统硬盘(Hard Disk Drive,HDD)相比较,固态硬盘具有:(1)无噪音(2)耐震动(3)数据读写速度快(4)低耗电等等的优势。又随着各家闪存制造商陆续推出更多更便宜且高容量的闪存内存,在未来传统硬盘被固态硬盘所取代将是趋势。

然因闪存内存不像磁性盘片具有可重复覆写的好处,因此固态硬盘装置内都需要执行一个所谓的FTL(Flash Translation Layer)程序,以维持随时都有闲置的区块(free blocks)可以储存新写入的数据。而在一个闲置区块被用于储存客户端的写入数据时,又必须检查闲置区块数量是否足够。如果不足,则又需要进行所谓的垃圾回收(Garbage Collection,GC)让闲置区块个数,得以足够以应付未来从客户端写入的新数据。

我们知道,较早期的计算机文件系统(File System)对于被删除的文件之处理,仅仅在文件配制表(File Allocation Table)上,将被删除文件所使用的丛集(cluster),标示成「未使用状态」,这些丛集所相对应的逻辑区块地址(Logic Block Address,LBA)上所储存之数据并未被移除,这样的操作方式对可重复覆写的传统硬盘而言是合理适当的,但对不可重复覆写固态硬盘而言却是不适当的,而且会需要垃圾回收之处理。因此在较新ATAPI(ATA Packet Interface)命令规范标准,或是NVMe(NVM express)规范标准里,都加入了数据集管理(Dataset Management)命令,让较先进的计算机文件系统,可以对固态硬盘下达「将某些逻辑区块地址上的数据丢弃」,以减少固态硬盘垃圾回收的处理。不但如此,数据集管理命令也降低了固态硬盘的写入放大值(Write Amplification Index),使得固态硬盘的使用寿命得以延长。

然则,数据集管理命令为固态硬盘带来了好处,但也带来了不易被察觉的严重问题-逻辑物理块映射表不正确!底下让我们来描述逻辑物理块映射表不正确的问题,是如何发生及问题发生时的症状。

为了简化问题的描述,我们假设

1 一个物理块区块拥有4个页面

2 逻辑区块地址(LBA)和物理区块地址(PBA)的映射表,内容为一个数对,分别代表物理区块码(block number)与页码(page number),数对(0,0)则代表无数据

3 固态硬盘有16个逻辑区块地址

因为闪存内存不具有「重复覆写」的特性,一个逻辑区块地址的数据,存放在闪存内存的哪个位置是不固定的,因此固态硬盘里,皆存在着逻辑物理映射表(L2P Table)。这个映像表的功能,是让FTL程序查出某个逻辑区块地址之数据被储存在闪存的哪个位置(包含闪存物理区块码(block number)、页码(page number)、偏移量(offset)等)。这一个映像表需要储存一份在闪存内存里,让固态硬盘在断电后再次供电运作时,才能得知最新数据在哪里。对读写速度要求高的固态硬盘,会配置足够的动态随机存取内存(Dynamic Random Access Memory,DRAM)存放这个映像表,让FTL程序可以更快速查询或更新映射表。因此固态硬盘在开始供电当下,会将储存在闪存内存里的逻辑物理映射表读到DRAM,如 Fig. 1 所示。(图中,页面标示为FFFFFFFF代表此页面处于抹除状态;页面标示为XXXXXXXX代表此页面曾经被写入数据但事后被其他实体地址数据所取代或被数据集管理指令所丢弃而成为无效数据)

接下来,客户端删除文件,下达了数据集管理指令给固态硬盘,指示将 LBA1~2的数据删除,并且又下了写LBA13的指令。一般做法,固态硬盘将会执行下列步骤(Fig. 2、Fig. 3 图示说明):

1. 将LBA1、2 在映射表 (DRAM) 里更新为 (0,0)

2. 要求一个闲置的物理块区块,假设取物理区块4, 将LBA13的数据写入物理块区4,更新LBA13的逻辑物理块映像表格。

3. 发现闲置的物理块区块个数不足(少于3),启动垃圾回收,将物理区块3上的有效数据(LBA3 数据)写至物理区块4,更新LBA3的逻辑物理块映像表格,并将物理区块3 回收为闲置块(Free Block)。

如果在固态硬盘执行垃圾回收之后,计算机系统出现不稳状况突然间失去电源供应,固态硬盘将在下次电源恢复时,执行下列步骤(Fig. 4、Fig. 5 图式说明):

1. 将储存在闪存内存里的逻辑物理块映射表读到DRAM。

2. 读取区块4每一页面内容,并根据页面内容所纪录对应的逻辑区块地址,更改DRAM上的逻辑物理块映射表。

比较 Fig. 5 与Fig. 3 映射表(DRAM) 的内容会发现,逻辑区块地址1、2上的物理块对应地址有差异。也就是逻辑物理块映射表的正确性以经有错误了(Fig. 5标示为红色部分)!

Fig. 5 的逻辑物理块映射表显示,逻辑区块地址1、2数据存在于物理块区块3。实际上物理区块3已经是一个闲置区块,不存在任何数据。这样子的错误映像对FTL程序而言是一种严重的错误。事后,如果固态硬盘继续使用下去,当别的逻辑区块数据写入物理区块3之后,读取逻辑区块地址1、2会读到别的逻辑区块地址之数据。随着时间的经过,不同时间读又会有不同数据写入物理区块3,读取逻辑区块地址1、2数据还会随着时间的不同而改变。或许读者会问,既然逻辑区块地址1、2的数据已经被客户端下达数据集管理指令删除了,读到甚么数据并不重要。但读者要知道,一个储存装置必须要有数据完整(data integrity)的特性,读取的数据如果会随着时间的变动而变动,该装置就称不上拥有数据完整的特性。读者也许还会续问,既然逻辑区块地址1、2的数据已经被客户端下达数据集管理指令给删除了,客户端就不会再去读取这些地址的数据了。要知道,客户端系统不胜枚举,客户端的程序不会再去读取这些地址的数据是无法保证的。例如储存装置被用于组成独立硬盘冗余阵列(Redundant Array of Independent Disks, RAID),其中一个硬盘发生了我们所描述的问题,这些被数据集管理指令删除的数据就会被读取.

逻辑物理块映射表与数据的一致性一直都是固态硬盘设计上存在的问题。市场上充斥着成千成百的固态硬盘产品,对那些不曾思考过这个问题的设计商,质量堪忧。一般的固态硬盘买家多以访问速度快慢做为购买的考虑因素。但聪明的读者在选购固态硬盘时应该花点时间了解该产品的设计商,是否如大心电子,有固态硬盘领先的技术质量。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 闪存
    +关注

    关注

    16

    文章

    1688

    浏览量

    114224
  • 固态硬盘
    +关注

    关注

    11

    文章

    1356

    浏览量

    56494

原文标题:一种引发固态硬盘映射表不正确的情境

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [灌水]闪存时代来临 固态硬盘占领服务器市场

    闪存时代来临 固态硬盘占领服务器市场  百度公司早已在去年,宣布已实现了网页检索平台上全部服务器 “告别”硬盘而迈向闪存时代。通俗
    发表于 02-10 08:50

    固态硬盘应用攻略

    同样可以进行应用,目前许多主板都已经支持RAID0,如果两块32GB组成RAID,那么您将感受的是什么呢?   通过Windows设备属性可以看出,两块魔典64GB固态硬盘组成RAID 0模式后可用
    发表于 02-23 15:08

    图示固态硬盘加电容

    。下面就让我们一起来看看解决方案。固态硬盘固态硬盘固态硬盘里面写入数据,首先存储到的并不是不怕
    发表于 06-09 16:26

    固态硬盘的基本常识以及选购、使用和维护

    ,和我们平时的U盘一样,是闪存芯片加上主控和缓存组成的。和优盘的不同点 在于,U盘一般只用一两颗闪存芯片,平时读写都集中在上面,所以U盘寿命不是很长,特别是买到劣质产品;而固态
    发表于 08-05 11:14

    工业级固态硬盘和商业级固态硬盘大有区别

    们做分析诊断,但是因为供应商是美国企业,时差的问题,让沟通的效率很差。2个月后,我们得到答案,说是固态硬盘因未知原因,持续的写入一个小范围的固定位置导致该位置的闪存被写穿,然后固态
    发表于 04-20 23:47

    固态硬盘SSD的保护等级

    虽然闪存设备或固态硬盘(SSD)比机械硬盘(HDD)功能更强大,但是在发生电源故障时,SSD硬盘仍然会丢失数据。因此,当人们将
    发表于 08-02 07:08

    ICMAX盘点固态硬盘SDD和机械硬盘HDD的前世今生

    。(机械硬盘内部结构图,图片来源百度)固态硬盘固态硬盘其内部构造十分简单,固态
    发表于 08-03 13:38

    东莞回收固态硬盘

    SSD固态硬盘,高价求购内存:内存芯片,内存条,内存颗粒,内存FLASH,闪存,显存,TF卡,SD卡,cf卡,MINI卡,MMC卡,SSD硬盘...回收闪迪、镁光、东芝、金士顿、威刚、
    发表于 12-12 15:55

    什么是固态硬盘固态硬盘有什么优势?

    什么是固态硬盘固态硬盘有什么优势?
    发表于 06-18 06:53

    高价收购固态硬盘,长期回收固态硬盘

    高价收购固态硬盘,长期回收固态硬盘。深圳帝欧专业回收电子物料。帝欧赵生***QQ1816233102/879821252/1714434248邮箱dealic@163.com专业收购S
    发表于 07-08 19:18

    高价回收SSD固态硬盘 收购固态硬盘价格高

    深圳帝欧回收固态硬盘,长期高价收购SSD一条龙服务(热线:135-3012-2202,QQ:8798-21252) 高价回收SSD固态硬盘,全新二手均可,2.5寸,M-SATA,M.2
    发表于 11-03 14:57

    固态硬盘闪存种类介绍

    SLC全称是单层式储存 (Single Level Cell),因为结构简单,在写入数据时电压变化的区间小,所以寿命较长,传统的SLC NAND闪存可以经受10万次的读写。而且因为一组电压即可驱动,所以其速度表现更好,目前很多高端固态
    的头像 发表于 01-17 16:24 2.1w次阅读

    固态硬盘掉速的原因和分析

    现在的闪存已经发展到96层3D TLC工艺,固态硬盘的成本也日益下降,现在的新电脑都会配置一块固态硬盘提升电脑的运行效率。但无论
    的头像 发表于 06-27 14:38 2.1w次阅读
    <b class='flag-5'>固态</b><b class='flag-5'>硬盘</b>掉速的原因和分析

    固态硬盘和机械硬盘,谁才是安防储存的未来?

    固态硬盘诞生以来,有关于储存方面的争端便愈演愈烈。伴随着技术的成熟,在PC端上,原本机械硬盘还可以靠大容量以及低价格来争夺市场,但现在固态
    的头像 发表于 10-19 14:40 4896次阅读

    aigo国民好物移动固态硬盘S7 Pro评测:移动储存界的六边形战士

    aigo国民好物移动固态硬盘S7 Pro评测:移动储存界的六边形战士 随着科技的进步,储存设备也不断地进步,从最初U盘到移动机械硬盘以及现在
    的头像 发表于 08-16 11:19 1148次阅读
    aigo国民好物移动<b class='flag-5'>固态</b><b class='flag-5'>硬盘</b>S7 Pro评测:移动<b class='flag-5'>储存</b>界的六边形战士