欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

开启TRIM功能后,如何使用工厂访问模式镜像固态硬盘驱动器

来源:本站整理 作者:佚名 时间:2019-03-17 TAG: 我要投稿

可以看出,TLC存储单元是最慢和最不可靠的。为了让基于TLC的固态硬盘驱动器提高存储效率并提高使用寿命,许多制造商已经试着将部分存储分配为专用SLC缓存。用作SLC高速缓存的数据块,仅仅需要较小的单元来放置一位信息。它们磨损较少,而且它们的写入速度比TLC单元更快。控制器维护用作SLC缓存的数据块列表。如果我们试图通过直接访问芯片来读取这些块,同时期望获得三位数据,那么这些所谓的SLC单元将返回毫无意义的信息。
小结
闪存芯片根据内部架构分为SLC、MLC、TLC等,闪存颗粒是由多层闪存芯片构成的方形体。
闪存芯片颗粒直接影响着固态硬盘的存取速率、使用寿命、生产成本等。
· SLC,英文全称Single-Level Cell,1bit/cell,单层式存储,仅允许在一个内存元素中存储1个比特位的信息。
· MLC,英文全称Multi-Level Cell,2bit/cell,多层式存储,允许在一个内存元素中存储2个比特位的信息。
· TLC,英文全称Trinary-Level Cell,3bit/cell,三层式存储,允许在一个内存元素中存储3个比特位的信息。
由此得出,闪存颗粒面积相同时,存储量由小到大:SLC
SLC、MLC、TLC闪存芯片颗粒的优缺点分析
· SLC,存取速率快,可擦写次数多(使用寿命长),但生产成本价格昂贵(至少为MLC的三倍)。
· MLC,存取速率较快,可擦写次数相对SLC少(使用寿命约为SLC的十分之一),价格一般。
· TLC,存取速率较慢,可擦写次数进一步减少(使用寿命约为SLC的二十分之一),价格相对便宜。
固态硬盘的加密方法
大多数固态硬盘驱动器都会提供一种或多种硬件加密方法,一些企业级固态硬盘甚至在用户不知情的情况下默认加密信息。在这种情况下,加密密钥是公开存储的,以便控制器可以从NAND芯片读取它以解密数据。如果用户加密这样的磁盘,则仅仅是对加密密钥的加密。
即使加密密钥存储不受保护,在没有固态硬盘控制器帮助的情况下,找到加密密钥也是非常困难的。
换句话说,我们需要固态硬盘控制器帮我们完成所有的相关工作。我们需要它来处理错误更正、地址转换和潜在的加密,然而,简单地将固态硬盘连接到闪存只读隔离保护器,然后打开电源并像以前一样对磁盘进行镜像,可能不是最好的方法。
固态硬盘是如何删除数据的?
我们认为NAND单元目前只支持有限数量的写入操作,这需要高级耗损均衡算法。但是,除了有限的使用寿命外,NAND单元还有另一个属性,即在写入新数据之前必须擦写非空单元。 由于NAND闪存提供快速读取,缓慢写入和低速擦写。因此,如果要重新编写已包含数据的存储单元,则必须首先擦写存储单元,然后才能接受新数据。虽然擦写NAND单元的操作速度非常慢,但擦写一个或两个单元却不是你想象的那么简单。因为,你将不得不处理页面和块。
那么什么是存储单元,为什么我们必须要用到页面和块?我们先来弄清楚这些术语吧。单元是用于存储信息的基本单元。根据闪存类型(SLC,MLC,TLC或QLC)和操作模式(例如MLC,TLC和QLC驱动器中的SLC缓存),单个单元可以记录一位数据(SLC),两位数据(MLC),三位数据(TLC)或四位数据(QLC)。例如,配备3D TLC NAND的Crucial MX550 固态硬盘可以在其每个单元中存储3位数据,除非其存储池的某些部分在SLC模式下作为动态写入被加速缓存运行。在SLC模式下写入TLC单元不仅速度更快,而且对存储单元的压力也明显减少,因此固态硬盘的整体寿命可以随着写入速度的提高而提高。
但这会带来了另一个问题,我们无法从从单个存储单元内读取数据或向单个单元写入数据。
曾经旋转存储(rotating storage)介质(如传统硬盘驱动器)提供的是512位扇区,作为可以读取或写入的最小数据单元。 FAT或NTFS等文件系统也可以在扇区中读写数据。自从固态存储被发明以来,这种情况已经发生了变化,NAND闪存不使用扇区,相反,它使用页面和块进行操作。页面是你可以从固态硬盘读取的最小数据,通常,固态硬盘驱动器可以在每个时钟周期读取一页。由于单个页面包含一定数量的物理字节(例如528,2112,4320,8640,9216,18592字节等),如果你只需要一个字节的数据,固态硬盘也会读取整个页面。
每个页面可以存储512,2048,4096,8192或16534字节的数据,可见页面可以存储的数据量与物理字节数不同。多余的字节是用于每页的标记和ECC校正码,如果我们将两个固态硬盘驱动器与包含8192字节数据的页面进行比较,我们可能会发现固态硬盘1每页使用8640个物理字节,而固态硬盘2每页有9216个物理字节。这两个固态硬盘之间的区别仅在于每个驱动器的ECC校正量不同。
既然现在已经搞清楚了存储单元和页面的作用,但我们还有一个疑问,为什么存储还需要数据块呢?虽然此时可以读取单页数据,但问题是我们只能一次写入(或擦写)一定数量的页面。写入(擦写)数据的最小单位就被称为数据块,而单个块则包含许多页面,事实上,通常有很多页面。典型的固态硬盘操作块由64,128,256或甚至512页组成,每次更改一位数据,都要擦写或写入大量数据!
由于NAND闪存可以支持的写入操作的数量是有限的,而且存储单元非常小,因此固态硬盘控制器将尽力减少对已经写入的块的重用。如果你只更改了1位数据,那么简单的固态硬盘(没有SLC缓存)就可以做到这一点。
1.在RAM中,控制器将从NAND闪存读取数据块;
2.NAND块被标记为被擦写(取决于固态硬盘和控制器,它可能稍后在后台擦写);
3. 控制器现在对存储在RAM中的数据块进行请求的更改;
4.最后,修改后的块将被写入NAND闪存。因为擦写操作比写入慢得多,为了耗损均衡和写入速度,固态硬盘将使用一组不同的物理存储单元来写入新数据。
写入数据时,固态硬盘控制器将尝试选择重新写入那些包含数据最少的块。这意味着,在现实的存储环境中,控制器将相同的数据集写入不同的块。为了使操作系统看起来一致,控制器将重新动态映射块的逻辑地址。 新的数据块将被分配一个特定地址,而旧的数据块将被移动到过载区域(Overprovisioned Area)中的保留池或被分配一个不同的地址。然后,固态硬盘将擦写该块的内容并增加其擦写计数(Erase Count)参数。
 

上一页  [1] [2] 

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载