SSD
文章平均质量分 66
cyh183269855
呵呵呵
展开
-
ECC(Error Checking and Correction)校验和纠错
ECC的全称是 Error Checking and Correction or Error correction Coding,是一种用于差错检测和修正的算法。上一节的BBM中我们提到过,NAND闪存在生产和使用中都会产生坏块,BBM就是坏块的管理机制,而要有效管理坏块的首要前提就是有可靠的坏块检测手段。如果操作时序和电路稳定性不存在问题,NAND闪存出错的时候一般不会造成整个Block或Pag转载 2016-12-21 10:30:03 · 2393 阅读 · 0 评论 -
给SSD(固态硬盘)编程
简介我想为我的键值对存储项目弄一个固态硬盘(SSD)最佳存储解决方案。为此,我必须确保我完全了解SSD是如何工作的,这样就可以优化我的hash表实例来适合SSD的内部特征。网上有很多不完全和相悖的的信息,找到关于SSD的可靠信息并不简单。为了找到适当的文献和基准以说服自己,我必须要进行大量的阅读。如果我要为SSD编程,我需要知道我在做什么。研究完之后我搞明白了,相信将我所得到的结论转载 2017-02-08 09:29:34 · 7319 阅读 · 0 评论 -
nor flash和nand flash的区别
一、NAND flash和NOR flash的性能比较1、NOR的读速度比NAND稍快一些。2、NAND的写入速度比NOR快很多。3、NAND的4ms擦除速度远比NOR的5s快。4、大多数写入操作需要先进行擦除操作。5、NAND的擦除单元更小,相应的擦除电路更少。二、NAND flash和NOR flash的接口差别NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容原创 2017-02-07 09:54:01 · 347 阅读 · 0 评论 -
WL(Wear leveling)磨损平衡
闪存寿命是以P/E次数来计算的,而WL就是确保闪存内每个块被写入的次数相等的一种机制。若没有这个机制,SSD内的闪存颗粒就无法在同一时间内挂掉,那对用户来说就是灾难。 会出现这种情况的原因在于,用户在LBA空间里的数据更新速度是不同的,有部分是经常需要更新,而有些却长期不需要变更,因此若没有WL,很显然那些经常被更新的数据所在的闪存寿命会首先被消耗完毕,而不怎么需要变更的数据所在的转载 2016-12-21 11:21:02 · 1227 阅读 · 0 评论 -
SSD性能(跑分)下降的主要原因
对于接触SSD不久的人,经常都会产生一种疑问,那就是当SSD使用过一段时间后,再运行测试软件,得到的成绩几乎都肯定要比刚买回来时差,而且时间越长,差距就越明显,这是为什么呢? 大家从阅读论坛里的内容已经了解SSD的工作原理及特点,相比传统HDD,SSD最大的差异就在于其使用的NAND闪存无法进行覆盖操作,在已经被写入数据的位置,要重复写入的话,SSD就必须先对该位置进行擦除的操作,转载 2016-12-21 11:25:20 · 6861 阅读 · 0 评论 -
使用BT下载是否会损毁SSD?
问:BT等P2P下载方式是不是会减少SSD固态硬盘寿命? 答:首先揭晓答案:基本不会有什么影响。 我们先来看看SSD固态硬盘与传统机械硬盘的区别。通过下图可以看到,传统机械硬盘由盘片、磁头、转轴、控制电机等部分组成,工作时盘片转动、磁头定位在盘片的指定位置上进行读写操作,从某种意义上与老式留声机的结构相似。传统硬盘的优势在于容量大、成本低,寿命也相对较长,适合进行转载 2016-12-21 11:24:27 · 4256 阅读 · 0 评论 -
SSD为何必须分区对齐,原理是什么
通过本版SSD相关知识的介绍,大家应该已经知道,NAND颗粒的最小写入单位是页,而一般每个页的大小是4KB。在HDD时代,分区起始扇区的定义在第63个扇区,也就是31.5KB的位置,这里各位应该会发现问题了,31.5KB并不是4KB的整数倍,若继续使用这个分区方式,势必导致以后每写入一个页(4KB)的数据,都必须要横跨写入到2个页内,这样不单写入时间增加一倍,WA同样也增加了一倍(写一页实际变成写转载 2016-12-21 11:23:07 · 1565 阅读 · 0 评论 -
FTL(Flash translation layer)闪存转换层
闪存的读写单位为页,而页的大小一般为4KB或8KB,但我们的操作系统读写数据是按HDD的扇区尺寸进行的(512Byte(字节)),更麻烦的是闪存擦除以块作单位,而且未擦除就无法写入,这导致操作系统现在使用的文件系统根本无法管理SSD,需要更换更先进、复杂的文件去解决这个问题,但这样就会加重操作系统的负担。 而为了不加重操作系统的负担,SSD采用软件的方式把闪存的操作虚拟成磁盘的独立转载 2016-12-21 11:19:29 · 1275 阅读 · 0 评论 -
GC(Garbage collection)垃圾回收
在前面向大家讲解FTL时,我们提到了GC的操作,所谓GC就是把一个闪存块里的‘有效’页数据复制到一个‘空白’块里,然后把这个块完全擦除。GC是SSD里的一个非常关键的操作,其效率对性能有决定性影响。闪存块里‘有效’页的数量对GC效率有决定性的影响,因数量越少,需要复制的页就越少, 花费的时间也越少,效率就高了。(GC操作参考下图)请看下图,把X块和Y块里的“有效”页复制到N块里,然后擦转载 2016-12-21 11:17:42 · 518 阅读 · 0 评论 -
Trim(有翻译为:修剪,但非正式翻译)
Trim,其实是一个ATA指令,并无正式中文名称,操作系统发送此指令给SSD主控,以通知它哪些数据占用的地址是‘无效’的。 在讲解Trim的重要性前,先说一点文件系统的相关知识。当我们在操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。但这只是在文件系统层面的操作,硬盘本身并不知道那些地址的数据已经‘无效’,除非系统转载 2016-12-21 11:16:26 · 803 阅读 · 0 评论 -
OP(Over-provisioning)预留空间
SSD上的OP指的是用户不可操作的容量,大小为实际容量减去用户可用容量,OP区域一般被用于优化操作如:WL,GC和坏块映射等。 OP一般分三层(见下图)。第一层容量固定为SSD标称容量的7.37%,这是因为标称容量采用千进制为单位,而NAND颗粒容量单位为1024进制,两者正好相差约7.37%。这部分空间被默认用于作OP。第二层OP是否存在及容量大小取决于厂商设置。第三层OP是用户转载 2016-12-21 11:15:27 · 1511 阅读 · 0 评论 -
WA(Write Amplification)写入放大
WA是闪存及SSD相关的一个极为重要的属性。由于闪存必须先擦除才能再写入的特性,在执行这些操作时,数据都会被移动超过1次。这些重复的操作不单会增加写入的数据量,还会减少闪存的寿命,更吃光闪存的可用带宽而间接影响随机写入性能。WA这个术语在2008年被Intel公司和SiliconSystems公司(于2009 年被西部数据收购)第一次提出并在公开稿件里使用。 举个最简单的例子:转载 2016-12-21 11:14:20 · 1477 阅读 · 0 评论 -
CRC32
CRC32:CRC本身是“冗余校验码”的意思,CRC32则表示会产生一个32bit(8位十六进制数)的校验值。由于CRC32产生校验值时源数据块的每一个bit(位)都参与了计算,所以数据块中即使只有一位发生了变化,也会得到不同的CRC32值.CRC是一种数据错误检查技术,它可以确保最初写入镜像文件的数据与从镜像文件中使用的数据保持一致。CRC32表示使用32位来保存错误检查信息,在创建镜像文件原创 2016-08-18 14:01:11 · 1752 阅读 · 0 评论 -
RS16
Reed Solomon Codec C code implement!//this code is from Internet, not mine. thank for the author//C code begin//////////////////////////////////////////////////////////////////////////////** Reed转载 2016-11-14 13:41:54 · 948 阅读 · 0 评论 -
LDPC
SSD控制器芯片中采用的纠错编码(ECCs)的类型正在发生一场演变,相信许多这篇博文的读者对此都有所了解。传统上采用的纠错码是基于群变换的博斯-查德胡里-霍昆格母(BCH)码,对于大尺寸的NAND闪存而言完全胜任。然而,对更为廉价及密度更高的NAND闪存的需求意味着BCH不再够用,为了寻求替代方法,多数人目前都选择了低密度奇偶校验码(LDPC)。 本篇博文将讲述这场演变的意义所在及其对我们P转载 2016-12-16 17:32:56 · 8488 阅读 · 0 评论 -
BBM(Bad Block Management)坏块管理
不管WL算法如何高明,在使用中都会碰到一个头痛的问题,那就是坏块,所以一个SSD必须要有坏块管理机制。何谓坏块?一个闪存块里包含有不稳定的地址,不能保证读/写/擦时数据的准确性。 坏块分出厂坏块和使用过程中出现的坏块,SSD有坏块表来管理坏块。出厂坏块在上面会有标记,所以很容易就能被识别,而使用中出现的坏块就要靠主控的能力了。一般来说,越到闪存生命的后期(P/E数开始接近理论最转载 2016-12-21 11:11:03 · 983 阅读 · 0 评论 -
SSD性能评判
技巧一:核心部件/固件决定品质 对于固态硬盘来说,影响其性能的主要有3个部分,一是主控,这是SSD最核心的部件;二是NAND Flash闪存芯片;三是固件的开发。其中主控和闪存对SSD性能的影响最大。 1、主控芯片解析 主控芯片实际是一个处理器,主要分为压缩性算法和非压缩性算法两种。它是固态硬盘的心脏和发动机。 其中非压缩性算法的主控处于主流地位,涵盖高/中/低端三原创 2017-05-19 11:26:19 · 574 阅读 · 0 评论