极速体验 第11期

时间:2022-08-22 01:41:58

随着超极本的曝光率越来越高,SSD(固态硬盘)对于很多用户来说也不再是什么陌生的产品。超极本的优秀的性能表现,除了得益于新一代移动计算平台,SSD在其中也功不可没。虽然SSD是最近两年才被大多数人所熟知,但是SSD的历史足迹足以追述到上世纪70年代。

对复杂,出错的几率会增加,必须进行错误修正,这个动作导致其性能大幅落后于结构简单的SLC闪存。

因NAND闪存是一种电压元件,因此它以不同的电压范围来代表不同的数据。SLC就是在NAND闪存的每个存储单元里存储1bit的数据,存储的数据代表”0”还是”1”是由基于Vth电压阈值来判定,对于NAND闪存的写入(编程),就是对其充电,使得它的电压超过上图的电压判定点A,存储单元就表示0-已编程,如果没有充电或者电压阈值低于那个A点,就表示1-已擦除。

M L C则是每个存储单元里存储2 b i t的数据,存储的数据是”00”,”01”,”10”,”11”也是基于电压阈值的判定,当电压没到判定点B时,就代表”11”,当电压在B和C之间,则代表“10”,电压在C和D之间,则表示”01”,而电压达到D以上,则表示”00”。

SLC和MLC的擦除性能是一样的,MLC闪存的读取性能需花费两倍长的时间,写入性能需花费四倍长的时间。如果您以前听说过有人抱怨MLC写入速度,这就是部分原因。不过一定要记住,我们在这里谈论的这些数字低得离谱——甚至900微秒写入MLC闪存的速度都远远超过向普通机械硬盘的写入速度。

SLC的最大优势不在于它的性能好而在于它的使用寿命长。要了解闪存的耐用性,我们首先需要看看存储设备的内部构造。

我们已经证实了一个闪存单元可以储存一个还是两个比特取决于它是SLC还是MLC设备。把一群单元聚集到一起,就得到了一个page。page是您可以编程(写入)NAND闪存装置最小的结构。

大部分MLC NAND闪存的每一page是4KB。一个block是由许多page组成的,在STEC的MLC SSD中一个block包含128 pages(128 pages x 4KB/page = 512KB/ block = 0.5MB。Block是您可以擦除得最小结构。

因此,当您写入SSD时,您一次可写入4KB数据;但是当您从SSD擦除数据时,您一次不得不删除512KB。无论何时您将数据写入闪存,我们都会反复经历同样的编程过程。创建一个电场,电子穿过氧化物并储存电荷。擦除数据会导致同样的事情发生,但却向着相反的方向。问题是电子穿过氧化物的次数越多,就会变的越弱,最终将电压也不能再阻止电子的自由活动了。这时候,SSD的这个单元就发生故障了。

大约经过一万次擦除/编程周期后,MLC闪存才会最终出现那个问题。而SLC可使用十万次,这得益于它的简单设计。由于寿命有限,所以SSD必须非常小心地选择擦除/编程每个单元的时间和方式。请注意,您可以从一个单元里读取数据,多少次都行,这并不减少单元存储数据的能力。只有擦除/编程周期才会降低了寿命。

此外需要注意的是,因为SSD没有擦除block这个概念,唯一擦除block的时候就是写入新数据的时候。如果您删除Windows里的一个文件而没有创建新的文件,SSD实际上并没有从闪存中移走这个数据,除非您准备好写入新的数据。

大家应该已经知道,NAND颗粒的最小写入单位是页,而一般每个页的大小是4KB。在HDD时代,分区起始扇区的定义在第63个扇区,也就是31.5KB的位置,这里各位应该会发现问题了,31.5KB并不是4KB的整数倍,若继续使用这个分区方式,势必导致以后每写入一个页(4KB)的数据,都必须要横跨写入到2个页内,这样不单写入时间增加一倍,WA同样也增加了一倍(写一页实际变成写二页)。因此不管从任何方面来说,对SSD都不是一件好事,既影响性能表现(最显著的就是测试成绩低下),也影响SSD的寿命。

下图中SSD出现分区没对齐问题,读写正好在2个16KB边界,所以需要做2次读-改-写操作,那么我们说这时候的操作所需时间就 是原来的2倍。如果系统请求写入4KB,那么发生这种情况的概率就是25%(图中第一个4KB在边界,后面3个在16KB内,而第5个又到下个16KB边 界了),性能为原本的80%。如果把写入请求提升到32KB的话,发生的概率就是8/9了,随着请求容量的增大,差距就会缩小。所以对持续速度来说,分区不对齐并不会影响很大。想要做到4KB对齐其实也很简单,用Windows 7自带的分区软件进行分区格式化就可以,当然你也可以选择使用第三方磁盘工具,比如最新版的DiskGenius。在我们日常使用中,出现4KB不对齐大多数是因为使用镜像恢复系统造成的,如果是正常安装Windows很少会出现这种情况。

上一篇:大底魅力 第11期 下一篇:行走 ? 观心