首页 > 硬件 > ssd盘的一些基本概念

ssd盘的一些基本概念

2013年5月8日 2,008 views 发表评论 阅读评论

ssd盘的一些基本概念

对于SSD盘,我们有必要了解一些基础的概念

SSD   
Solid State DiskSolid State Drive,简称SSD,俗称固态驱动器)是一种基于永久性存储器,如闪存,或非永久性存储器同步动态随机存取存储器(SDRAM)的计算机外部存储设备。固态硬盘用来在便携式计算机中代替常规硬盘。虽然在固态硬盘中已经没有可以旋转的盘状结构,但是依照人们的命名习惯,这类存储器仍然被称为“硬盘”。
由于固态硬盘技术与传统硬盘技术不同,所以产生了不少新兴的存储器厂商。厂商只需购买NAND内存,再配合适当的控制芯片,就可以制造固态硬盘了。新一代的固态硬盘普遍采用SATA-3接口。
  SSD的核心技术分为2块,一块是控制器,一块是Nand。(SOC和Nand相比,Nand的技术更难, 目前自己出Nand的公司有三星,东芝,美光,Intel等)
NAND 与 NOR
    Not AND ,与非,NAND 里面的单元是按照 与非 的方式连起来的.  一般我们是这种FLASH。
    NOR . 或非, NOR里面的单元是按照 或非的方式连起来的.
   
SLC 与 MLC
     传统上每个储存单元内储存1个资讯位元,称为单阶储存单元(single-level cell, SLC),使用这种储存单元的快闪存储器也称为单阶储存单元快闪存储器(SLC flash memory),或简称SLC快闪存储器。SLC快闪存储器的优点是传输速度更快,功率消耗更低和储存单元的寿命更长。然而,由于每个储存单元包含的资讯较少,其每百万字节需花费较高的成本来生产。由于快速的传输速度,SLC快闪存储器技术会用在高性能的记忆卡。
    多阶储存单元快闪存储器(Multi-level cell flash memory, MLC flash memory)可以在每个储存单元内储存2个以上的资讯位元,其“多阶”指的是电荷充电有多个能阶(即多个电压值),如此便能储存多个位元的值于每个储存单元中。借由每个储存单元可储存更多的位元,MLC快闪存储器可降低生产成本,但比起SLC快闪存储器,其传输速度较慢,功率消耗较高和储存单元的寿命较低,因此MLC快闪存储器技术会用在标准型的记忆卡。 一般我们用的是这种芯片的SSD盘.
    
    单级单元(SLC)和多级单元(MLC)。两者之间的差额是每单元存储的数据量,SLC每单元存储1比特而MLC每单元存储2比特
SLC和MLC的擦除性能是一样的,MLC闪存的读取性能需花费两倍长的时间,写入性能需花费四倍长的时间。
我们已经证实了一个闪存单元可以储存一个还是两个比特取决于它是SLC还是MLC设备。把一群单元聚集到一起,就得到了一个page。page是您可以编程(写入)NAND闪存装置最小的结构。
大部分MLC NAND闪存的每一page是4KB。一个block是由许多page组成的,在英特尔的MLC SSD中一个block包含128 pages(128 pages x 4KB/page = 512KB/block = 0.5MB。Block是您可以擦除的最小结构。
您将其删除时,SSD会标记pages为无效,但实际上并不会删除该block。SSD将等到block中一定比例的pages被标记为无效时,才会复制一些有效的数据到新的pages里去并擦除该block。SSD这样做是为了限制了每个block擦除的次数,从而延长驱动器寿命。
一般我们有两种接口的SSD,
1. sata ssds   : 由于sata接口的ssd,稳定性/安全性可能不够好, 对于数据库来说,推荐做raid。
2. PCIe Storage Devices  : In contrast to SATA SSDs, PCIe devices don’t try to emulate hard drives.  不推荐用raid   . 品牌有Fusion-io and Virident
区块抹除
    快闪存储器的一种限制在于即使它可以单一字节的方式读或写入,但是抹除一定是一整个区块(一个区块包括多个页Page)。
   覆写一个块的过程如下:
1. Reading all pages from a block#一个block 512KB ,包括128个Page(4KB), 设置的比较大是为了减少擦除次数提升寿命,但会影响数据写入速度.
2. ERASE the block                                           # 擦除块
3. Writing all data w/ new data into the block      #  写入块
因为erase操作代价很高,所以大量的erase会导致性能急剧下降.
如果一个SSD盘上大部分块都已经被使用,那么所有的新的写入都可以看作是覆写数据,一般需要擦除. 这也就是俗称的写放大.
所以需要一些技术来减少擦除次数. .
A write  to a free block takes a couple of hundred microseconds, but an erase is much slower—typically a few milliseconds.
Wear Leveling Wear Leveling
    均匀磨损. 它的基本思想就是利用算法保持所有的可擦写单位的次数是近似均匀的,这样就把写次数均匀的分散到各个 Cell 上。以提高寿命。
Write Amplification
    写放大. 参考 区块抹除
TRIM
    有必要了解下设备,文件系统,OS对trim的支持.
   TRIM是一个指令,它允许操作系统通知SSD哪些块不再使用,可以被回收. 它使SSD能预先处理垃圾回收(垃圾回收会影响性能),减少SSD盘写入提升SSD盘寿命.
    参考维基百科的解释.
    截至2012年1月,大多数RAID卡并不支持TRIM命令, Inter宣称以后会支持. 不过做Raid主要是为了数据的安全和扩容考虑,在, 库的应用一般是select,insert,update 而不是频繁的delete操作,SSD的垃圾回收(garbage collection)实现也越来越好,所以个人认为不必太过Care,提前做好扩容准备. 性能以实际的测试为准.
                       Intel RAID driver adds pass-through TRIM support
                       To TRIM or not to TRIM (OWC has the answer)
                       Intel plans to Add TRIM Support for RAID 0 
 AHCI
     进阶主机控制器接口(AHCI, Advanced Host Controller Interface). BIOS必须开启AHCI,  因为英特尔建议如果在其支援AHCI芯片组上使用RAID功能,采取AHCI模式组建RAID可以获得最大弹性,因为AHCI可在完成安装的操作系统中切换RAID组建模式。
   
Write Endurance
   写寿命,写的耐受性:  SLC比MLC好,但是MLC一直在改进,网上的数据:MLC Intel 320 可以每天写20GB,持续5年.对于大部分随机读写的应用,这已经足够了.  Intel 710 更佳. 而对于大量顺序读写的应用,传统的机械硬盘仍然是更好的选择.
FOB
    Fresh out of the box . 新开封状态
    处于新开封状态的SSD盘,性能可能远远高于稳定使用一段时间后的SSD盘. 所以SNIA(全球网络存储工业协会)为SSD设计了一项性能测试指标,可用于测试SSD的初始状态和稳定状态性能。
              SSD测试有据 企业级标准发布
对于 SATA SSDs 推荐使用raid.  虽然现在的raid卡还没有充分做好准备,Raid主要都还是针对机械硬盘做得读写优化。
sata ssd盘目前并没有sas硬盘那么可靠, 现在的ssd盘有写cache但可能没有电池来备份.  也有些配备了电容来保护数据,所有这些都不是很清楚,需要自己来进行破坏性试验来证明是否真的数据安全.
 » 转载保留版权:老陈 » 《ssd盘的一些基本概念》
 » 如果喜欢可以: 点此订阅本站
分类: 硬件 标签: ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.