PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

(补浴室档)Crucial M500 480GB评测(不完整版)

[复制链接]
跳转到指定楼层
1#
灰之影 发表于 2014-8-1 13:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:7653|回复数:0
本帖最后由 灰之影 于 2014-8-1 13:07 编辑

包装外观及拆解
时间过的非常快,从我写 m4测试至今已经有超过2年的时间了,而我那块被折磨的凄惨无比的m4 256GB虽然Smart难看了点但依然稳健,本次测试的主角就是m4的后继者M500了。

首先M500的固件开发团队并不是之前开发m4的那队人马,因此在各方面的表现上都会完全不同,另外本次M500的产品侧重点是高容量下的低价格,而不是之前大多数用户期望的以高性能取代m4的产品,可能美光会出个X500之类的性能级?谁知道呢,反正我觉得在SATA 3接口没有被淘汰前是没啥必要,消费级市场最看重的还是价格和稳定。


蓝色包装盒,画面上盘的贴纸要是不写M500还真像新版m4贴纸。背面标注了一些基本信息,底下有序列号。

开盖后,包装一如既往的简洁。

包装里就块7mm的盘和转换9.5mm的架子。

果然像极了新版m4贴纸,这个贴纸比较容易刮花,不过无所谓啦,又不是买贴纸。

盘体标贴上有型号,固件版本等信息,注意型号下方480GB SATA 6Gb/s SED ,这个SED代表此系列SSD支持加密, M500的硬件加密是本次的一大卖点,硬件数据加密上支持 TCG Opal 2.0 and IEEE 1667工业标准。支持微软Windows 8的Bitlocker,保证了开启此功能下后SSD的性能完全不受到影响。5V 1.7安培旁边的PSID信息则是给用户忘记加密的密码时用的,可以靠专用的软件在输入这串代码清空盘内所有数据后解锁。


拆开盘发现PCB正反面一共有16个BGA封装的颗粒,主控旁边只有1颗缓存,不过可以看到有很多小电容,主控和缓存靠外壳部分有散热贴,PCB整理体来说也很工整。

Marvell 88SS9187我们已经在很多SSD里看到过了,它的主机接口支持最新的SATA 6Gbps Rev 3.1规范,业内最低运行/待机功耗。
SATA 3.1规范相比早先的规范主要有如下改进:
1. mini SATA接口支持的改进,增加了自动检测能力,去掉了原本专用的mSATA连接器,增加了互通性,例如支持在Mini PCIE上走SATA协议。
2. Zero-Power Optical Disk Drive(ODD)技术支持,减少了闲置光驱的耗电量。
3. 硬件控制加强,让主机增加识别硬件设备的能力并做出优化。
4. LPM电源管理技术支持为必备条件,此技术针对SATA总线上的设备实行更好的降低能耗的优化。
5. Queued Trim Command的支持:
这条对Trim的改进非常重要,很多人都知道Trim指令能够帮助保持SSD性能,降低写入放大,提高SSD耐久度,但是之前的Trim指令被ATA协议 层定义为一条non-queued command,那个意味着在发送Trim指令到设备之前,操作系统需要等待SSD上的IO操作全部完成,然后在SSD执行Trim指令并结束前,将不能接受任何的IO操作,所以每次发送Trim指令前都需要清空队列中的操作,间接的影响性能。现在如果固件支持这个技术,则在Trim的时候可以queue 起来一起发送Trim指令,大大提高效率,甚至做得好能够和原本queue里的Read和Write操作一起执行。

另外Marvell 88ss9187还支持内部硬件RAID数据冗余支持,依靠特定固件可以在NAND出现问题的情况下恢复数据。
这个技术类似于SandForce的RAISE,Intel 320或者710的XOR,主要用于在某个颗粒里出现严重坏块的时候甚至坏整个Die的时候恢复出数据用的。在颗粒制程越来越新,稳定性越来越差的未来,这类技术是必须要拥有的。在之前的所有采用Marvell 88ss9187主控的消费产品中,我都没见到过采用类似技术的固件,但是这次Crucial M500却带来了它的冗余算法,美光把这个算法叫做RAIN。

主控的闪存接口支持8通道,每通道200MT/s带宽,每根通道硬件支持4CE。
虽然依然是8根8bit数据通道,不过接口带宽从之前88SS9174的166MT/s最大提高到了200MT/s,这样在持续写入上可以表现得更加出色,而随机性能上也会有稍许提高。每通道硬件支持4CE,则保证了SATA接口支持的最大QD32 (8通道X 4CE)下的性能发挥。

ECC错误校验引擎能力提高(比新制程颗粒需求更高),元数据支持独立ECC。
ECC提高是意料之中的事,随着制程的改进,这个不提高就没法支持更先进的颗粒,如何降低成本呢?元数据支持独立ECC是个比较重要的功能,因为 Marvell支持的缓存容量普遍比较大,而大部分缓存存放的是映射表,也就是用户数据的元数据,众所周知内存也会出错,所以针对元数据进行独立的ECC 非常关键,不然会因为内存出个错造成整个盘都不认的情况哦。

针对映射表的需求,缓存容量最大支持到DDR3 1GB,支持适应性读写机制。

SSD的容量越来越大,需要的映射表容量也越来越大,随机性能要快,那么需要把映射表做到很详细,其他的功能表也一概不能少,在自检前把颗粒上的映射表第一时间加载到缓存里,需要更新的时候再回写回颗粒上来提速是个比较有效率的提速方式,前提是固件内的映射表掉电后的反推修复算法要做的好,不然只会是造成丢盘的隐患。

持续读取性能封顶SATA 6Gbps,在稳定态下也保证最大约500MB/s的持续写入性能。
读取性能在上一代的主控上表现就非常不错了,不过还是在520MB/s附近,搭配新主控后做到550MB/s以上成为可能,写入性能增强需要SSD的容量要大,或者颗粒写入原本比较强(ABL架构),又或者采用SLC Cache模式的操作方式,不然不可能做到。

D9GLJ的缓存颗粒,查出来型号是:MT41K256M16HA-125 M:E。属于低功耗1.35V DDR3 1600 CL11  (0~95工作温度) 512MB容量。

NW526闪存颗粒,查出来型号是:MT29F256G08CECABH6-6Q:A。 美光20nm L85A,每个Die容量为128Gb,这里每个颗粒内部封装了2个Die,因此容量为32GB单个颗粒,颗粒支持ONFI 3.0,同步模式下单通道下可提供最大333MB/s的接口速率,当主控ECC能力超过40bit/1KB时,P/E能保证至少3000次。

美光L85A 20nm MLC颗粒的一些指标:

Page size x8: 17,552 bytes (16,384 + 1168 bytes)
Block size: 512 pages (8192K + 584K bytes)
Plane size: 2 planes x 1024 blocks per plane
Device size: 128Gb: 2048 blocks;
256Gb: 4096 blocks;
512Gb: 8192 blocks;
1024Gb: 16,384 blocks

NV-DDR I/O performance
– Up to NV-DDR timing mode 5
– Clock rate: 10ns (NV-DDR)
– Read/write throughput per pin: 200 MT/s (颗粒有支持333MT/s,不过主控只支持到200MT/s)

Array performance
– Read page: 90μs (MAX)
– Program page: 1600μs (TYP)
– Erase block: 3ms (TYP)

我们来做个简单粗略的计算,页编程时间为1600μs = 1.6ms,数据输入时间为5ns/byte(200MT/s) = 1s传输200 * 10^6次方个byte,
16k byte就需要16 * 1000 * 5ns = 80, 000ns = 80μs
1个page为16k byte,2个plane可以协同工作我们算32k byte。
80μs -> 16KB
160μs -> 32KB (2 plane并行)
----
160μs -> 32KB (2 plane并行) = 120GB M500 的情况  ,全盘8个颗粒(每个颗粒1个Die和1个CE)8通道
320μs -> 64K (2 CE 并行) = 240GB M500 的情况 ,全盘16个颗粒(每个颗粒1个Die和1个CE)8通道
640μs -> 128K (4 CE 并行) = 480GB M500 的情况 ,全盘16个颗粒(每个颗粒2个Die和2个CE)8通道

由于本次测试的是480GB,我这里以这个480GB容量为例: 传输128KB需要(640μs 传输时间 + 1600μs tPROG时间) = 57MB/s 每根通道
57MB/s * 8 = 457MB/s 全盘速率,这个就是理论速度。考虑到读写干扰,磨损平衡,冗余保护等等消耗之后标称在400MB/s就合乎情理了
我觉得这个写入速度家用足够了,毕竟没有另一块有500MB/s读取能力的SSD在一旁拷贝数据,需要超过400MB/s的写入干啥。

: 对于960GB的M500算法  - 由于Marvell 88ss9187最大支持单通道4CE,因此960GB M500有被限制,全盘16个颗粒(每个颗粒4个Die和4个CE)8通道每通道拿到8Die但被限制4CE。
80μs -> 16KB
160μs -> 32KB (2 plane并行)
320μs -> 64KB (Multi-LUN - 2die per CE)
1280μs -> 256KB (4 CE 并行)
256 * 1000 / (1280μs + 1600μs) = 88MB/s ,每个通道
88MB/s * 8 = 711MB/s 全盘速率
这里明显是被美光做了限制400MB/s的处理,但是Busy time和延迟肯定会比480GB的更低就是了。
M500新技术特性及架构

DEVSLP电源管理介绍:

Crucial M500 SSD支持DEVSLP 超低功耗模式,在SSD待机时能够完全切断SATA物理总线,相比之前的SATA低功耗模式(Slumber)更省电,进入真正的超低功耗模式,对移动平台电池的持久时间起到添砖加瓦的作用。(注:此功能同时也需要主板芯片组支持,当前主要面向超极本等)

美光专利数据冗余保护RAIN(Redundant array of independent NAND)技术的应用:

大家都知道RAID 5能够在损坏1颗硬盘的情况下保护数据,因此成为了最普遍的廉价数据保护做法,在讲解前我们先来看下RAID 5的实施。

如图所示,这是机械硬盘上的RAID 5 模型,4块硬盘上有一块做了冗余校验,因此容量只有3块盘,接下来我们开始想像在SSD里实施类似的保护技术,由于冗余校验数据是分散保存的,因此SSD比机械盘在原始设计架构上更有优势。

只靠ECC已经无法保护SSD上的闪存颗粒了

和机械盘一样,SSD内部也有数据丢失甚至挂盘的风险,原始的保护数据方法是靠着单纯的增加所要求的标称ECC能力来纠错,类似早期的机械硬盘产品一样,早期的SSD确实光靠简单的ECC纠错就足够了。但是随着闪存颗粒做的越来越小和控制器的复杂度越来越高,为了数据安全则必须要超越简单的ECC纠错,就像机械硬盘的RAID使用一样。

机械硬盘的RAID发展从0开始,2,3,4紧随其后,却一直没有发现更好的保护方式,以至于RAID 5成为了当今最普遍的保护措施。日渐成熟的SSD市场也采用了类似的解决方案,但没有像机械硬盘那样采用特定的RAID形态,目前市场上不同的SSD解决方案采用的RAIN技术由于各自算法架构导致互相不通用的局面。

SSD架构介绍

为了显示SSD的设计对RAIN技术实施有利和它与RAID 5的相关性,需要先了解下SSD内部数据是如何分配存储的。SSD不像传统机械盘拥有磁头,磁道,扇区,SSD内部使用闪存存储数据,因此设计上复杂的多。

上图中,一块SSD PCB上包含了许多的颗粒,因此给只靠单盘即做成类似RAID 5数据保护架构成为了可能。SSD主控制器在操作中靠着尽可能的使用并行模式来提升整体的性能,就类似RAID 0架构使用的条带数据。

知道了外部架构后,我们再来看颗粒的内部数据架构,不同的控制器架构和固件设计也会带来完全不同的数据架构,而设计中的关键点之一就是尽可能最少的移动数据,这样会带来整体性能的提升,吸引更多的用户。

上图中展示的就是数据是如何存储进颗粒的,基本上所有的SSD,内部都是设计成类似RAID 0的条带架构。如图所示,主控把SSD分解成以LUN为单位,然后数个LUN组合成一个超级LUN。(在SSD中,LUN为最小的可操作单位)

如图所示,主控再把超级LUN里面的Block条带起来(RAID 0)并组合成超级Block,然后再把超级Block里的Page条带起来(RAID 0)并组合成超级Page。

另外要使用RAIN技术,则必须牺牲一部分容量做校验位,取决于保护数据的多少和算法。美光在M500上选择了1/16的全盘容量。也就是512GB的颗粒容量需要32GB用做保护,下面来说说RAIN技术是如何恢复数据的。

为了保证数据的可管理性,必须是固定通道数的设计,绿色代表校验位数据。

当数据写入颗粒时,新的校验位就会被生成,如果读取的时候只靠ECC即可纠错的话,则无需使用校验位纠错,RAIN的数据恢复操作也就不必要实施。

当数据从闪存中读取出,经过RAIN引擎后,如果发现这个超级Block发生错误,RAIN引擎就会执行并靠着校验位来恢复数据(XOR),而此时这个数据错误只是读取错误而已,而新恢复出来的数据会写入到新的超级Block中去(为了避免不必要的磨损,新超级Block中的其他数据则会是正常磨损平衡需要消耗的数据)。

为了避免不必要的磨损浪费和写放大(影响性能),错误的超级块并不会在恢复完后立马擦除并换个地方重新写入,而是在内部逻辑上做个标记,并完全锁住(擦写保护)直到下一次最合理的时机上再次完整擦写。(这样即可保证RAIN恢复操作带来的性能损耗降到最低)

虽然RAIN技术不能拯救整个Die挂掉的情况,但是足够让用户感觉到此次M500对数据完整性和安全性的重视。另方面我们也看到PCB上排满了很多小电容,这些电容是当出现意外掉电时候提供主控和DDR3供电的。由于美光的专利算法在缓存中只会放入极少的用户数据(一般来说主要是补TPROG - tXFER 这段时间里存放的用户数据),加上最后几笔映射表的关键数据,因此这些小电容支撑那么几毫秒的供电还是够的。

至此在进入测试环节前,我们其实已经了解到了M500相比m4提高的几点:
1. 大容量型号的价格优势
2. 内部数据冗余保护。
3. 突发掉电的保护。
4. 支持硬件级加密,支持微软eDrive,开启Windows 8 BitLocker不牺牲性能。
5. 支持高温保护,还记得m4 512GB的标称写入速度为何不做高(260MB/s)?为了满足OEM温度标准而做了限速,而M500搭配了热敏电阻和固件后可以在温度超过65度时自动做限速。
这篇文章我只保留了技术部分,剩下的测试部分浴室说他补


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部