本帖最后由 hhdjz13813 于 2022-10-28 19:49 编辑
上一期向大家分享了一部分我搜集到的TF卡的跑分数据以及读取S.M.A.R.T.信息的方法,详情请跳转至:【分享一下收集的十多款TF卡的跑分数据以及读取TF卡S.M.A.R.T.信息的方法】
本期由于新收集到了一些市面上能买得到的顶级好卡,因此做一期工业级TF卡评测的专辑,顺便修正一下上一篇贴子中S.M.A.R.T.信息解析方式中存在的错误。
在上一篇帖子中详细介绍了如何用单片机读取TF卡的S.M.A.R.T.信息的方式,本期不再赘述,如需了解请访问上一篇帖子。
虽然上篇帖子里介绍的用单片机读取TF卡S.M.A.R.T.信息的方式兼容性强,但是需要依赖特定的硬件才能实现,因此仅适用于传统软件读不出的新卡,部分较老的工业卡可以使用以下几款软件尝试读取。
1. Hard Disk Sentinel:https://www.hdsentinel.com/download.php
如上图所示,卡通过读卡器接入电脑后,点击该磁盘的【控制设备特定检测】-【自动侦测】即可尝试读取TF卡的S.M.A.R.T.信息,该软件只适用于比较早的工业卡,较新的工业卡比如江波龙工业系列、金士顿SDCIT2系列等无法使用此软件进行读取。
2. 对于宇瞻工业Apacer的卡,可以通过官方软件SMART for SD and microSD Products进行读取。
3. 对于广颖电通SP的卡,可以通过官方软件SP ToolBox进行读取。
//****************************************************分隔符****************************************************
由于工程师们在工业应用中通常需要使用工业级的TF卡,因此本期只评测工业级TF卡而不评测消费级TF卡。
工业级TF卡相对于消费级TF卡的优势在于以下几个方面:
1.全局均衡写入/擦除技术【用户往TF卡指定区域写入数据时,如果主控只是机械性的往对应的闪存地址内部写入数据而没有任何写入均衡技术,对于一些需要经常修改的日志文件,一天可能就需要修改好几百次,TF卡几天就会因为该区块寿命耗尽而损坏报废。因此除了非常早期的TF卡以外,后期的TF卡或多或少都具备一定的均衡擦写功能,如果不断地往同一个地址写入数据,实际写入的闪存数据会均匀地分散在区块上从而增加了使用寿命。消费级TF卡的均衡写入方式大部分只是局部均衡,举个例子就是TF卡容量有16G,用户不断往0地址写入数据,数据写入只是均衡地分散在0-1G范围内,虽然相比没有均衡措施增加了一定寿命,但是对于树莓派等经常需要在特定位置写入日志文件的应用,也只不过是将TF卡的寿命从3天提高到了30天而已。而工业级的TF卡拥有全局均衡写入技术,用户不断往0地址写入数据时,数据会均衡分散在整个闪存区域内,从而大大缓解了闪存的写入磨损。由于全局均衡技术需要的运算量更大,因此通常工业级TF卡在随机4K写入性能方面不是很出众,脏盘跑分时可能会出现掉速情况】【此外说明一下,TF卡中的全局均衡写入/擦除技术在闪存转换层多数是采用区块映射的方式,内存需求较小,但是均衡效果不是非常理想。宇瞻工业的部分TF卡可以支持到4K页面映射的级别,关于宇瞻的Page Mapping可参考:宇瞻工业 Page Mapping】
2.坏块自动管理技术【TF卡内的闪存芯片的最小擦除单位是block,一个block下又分为很多个page即最小写入单位。使用过程中某些block由于制造工艺缺陷或过度磨损损坏无法被擦除,就需要使用一个好的block进行替换,工业级TF卡便具备此项功能,当卡出现坏块时,主控会自动屏蔽此坏块,并在备用区中启用一个好的块以替代损坏的块】
3.较宽的工作温度区间【消费级TF卡的工作温度通常为0~70℃,工业级应用中的温度条件通常更加恶劣,因此对于工业级TF卡的耐受温度会提出更高的要求。普通工业级TF卡的工作温度区间为-25~85℃,部分宽温卡的工作温度区间为-40~85℃,这保证了即使是在冰冷的南极或者火热的赤道,TF卡都能正常工作】
4.数据自动/手动刷新技术【闪存的数据存储方式类似于电容,如果充满电代表数据0,放完电代表数据1,那么数据写入/擦除就是一个电容充放电的过程。既然是电容,那么就会遇到漏电问题,当充满电的电容放置很长时间电漏光了,那存储的数据0也就变成错误的数据1了。因此闪存中的数据是有保存时间限制的。根据JEDEC标准,闪存在寿命终止时应该满足25℃温度数据至少能保存1年。工业级TF卡由于工作环境比较恶劣,很多都工作于高温环境,而高温会导致电容漏电加快,如果没有足够的措施解决电容漏电的问题,那么存储于卡中的数据可能几个月就出错了。因此工业级TF卡通常具备数据自动/手动刷新技术,手动刷新技术即读取数据时检测到漏电达到快要出错的阈值,就将数据读出重新写入,自动刷新技术即卡在空闲时会自动扫描内部的数据,如果有数据快要达到出错的阈值,就自动将数据读出重新写入】
5.更为强大的ECC检测以及纠错技术【存储于TF卡中的数据受温度、高能粒子、制造缺陷影响,一定时间后必然会出现数据出错的情况,这时就需要一定的检测与纠错技术来对错误的发生进行检测,对于发生的错误进行纠正。相关技术可以参考汉明码的介绍,该介绍中阐述了计算机如何检测以及纠正内存以及闪存中的错误。目前最新的3D Nand一般配套采用LDPC纠错码,该纠错码比普通BCH纠错码纠错能力更强。工业级TF卡存储数据时通常具备更多的校验位,或者采用更先进的纠错码,从而使得容错率增大,减少数据丢失的风险】
6.健康监测技术S.M.A.R.T.【闪存都有使用寿命限制,擦除次数达到耐久上限后闪存的数据保存期限便会降低至1年@25℃以下,而且当坏块数量增多,备用块用尽时TF卡也就寿终正寝了,因此工业应用需要能够实时检测卡的健康情况,以便在寿命快要结束时及时提醒用户更换新的卡,本帖以及上一篇帖子中的介绍重点便是这一项技术如何使用。关于各种类型的闪存(如SLC、MLC、TLC、QLC)的使用寿命以及和温度的关系,可以参考美国国家仪器有限公司的技术文献】
7.使用优质稳定可靠的闪存颗粒【由于工业级TF卡对于故障率、可靠性、耐久性、耐高低温等方面要求较高,因此工业级TF卡一般都是采用成熟制程,经过市场检验稳定可靠的闪存颗粒以及主控方案。同时由于工业级TF卡一般采用优质闪存,所以耐久性也比消费级TF卡高出许多,通常消费级TF卡采用3DTLC闪存时标称寿命只有500PE,而采用3DTLC闪存的工业级TF卡通常具备3K PE的寿命】
讲了这么多,先请出上一期已经出镜的工业级TF卡并做简单介绍。
左上:威刚工业IDU3A-16G,SM2702主控,镁光20nm 2DMLC,标称寿命3K PE;
中上:威刚工业IDU3A-32G,SM2702主控,闪迪15nm 2DMLC,标称寿命3K PE;
右上:广颖电通SDT530-16G,未知型号群联主控,闪迪15nm 2DMLC@pSLC,标称寿命20K PE;
左下:江波龙工业M9H 64G,主控型号未知,Hynix 36L 3DMLC,标称寿命7K PE;
中下:宇瞻工业H2-M 16G,主控型号未知,东芝19/15nm 2DMLC,标称寿命3K PE;
右下:江波龙工业MPS 64G,主控型号未知,未知型号3DMLC,标称寿命3K PE;
接下来请出本季的新选手。
No.1 闪迪工业SDSDQAF-016G-I 官网信息:https://www.westerndigital.com/zh-cn/products/memory-cards/industrial-microsd#SDSDQAF3-008G-I
根据官方数据手册,该卡可以工作于-25~85℃的宽温范围内,采用2DMLC闪存,闪存擦除寿命3K PE,保修写入量32TBW。
No.2 星火工业MITF-256G 官网信息:https://cn.metorage.com/microSD-in02.html
该卡可以工作于-25~85℃的温度范围,采用B27A 3DTLC闪存,闪存擦除寿命3K PE。根据读取出的信息来看,该卡应该是宇瞻工业代工的。
No.3 江波龙工业55A 256G(海康威视logo)
该卡官网无相关信息,根据SMART数据可知,闪存擦除寿命3K PE。
No.4 金士顿SDCIT2-16G(戴尔logo) 官网信息:https://www.kingston.com.cn/cn/support/technical/products/sdcit2
该卡可以工作于-40~85℃的宽温范围,采用东芝15nm 2DMLC@pSLC颗粒,闪存擦除寿命30K PE。
根据读取出来的信息可知,该卡其实用的是宇瞻的技术,宇瞻给金士顿贴牌,金士顿又给戴尔贴牌...
No.5 金士顿SDCIT2-64G(戴尔logo)
该卡可以工作于-40~85℃的宽温范围,采用东芝BICS3 3DTLC@pSLC颗粒,闪存擦除寿命30K PE。
No.6 闪迪SDSDQEC-016G QD513(戴尔logo) 官网信息:SDSDQEC-016G
该卡可以称之为一代神卡,根据官方资料来看,64G的卡可以写入3200TB的数据量,换算下来就是51200PE的寿命,51.2K PE的寿命简直就是秒天秒地秒空气,一天擦除一次可以连续使用140年,自己重孙过世了这张卡都还没写坏。根据PE寿命推断应该是采用了原生SLC颗粒,至于这张卡的工作温度我觉得是可以到-40℃的,之所以标到-25是为了给下一代产品SDSDQED留点面子,不然下一代产品采用3DTLC@pSLC颗粒都只有30K PE,岂不是样样都干不过自家前辈?
以上工业卡数据汇总:
序号 | 产品型号 | 主控型号 | 闪存颗粒 | 标称寿命 | 点评 | 1 | 威刚工业IDU3A-16G 写25 读95 | SM2702AB | 镁光20nm 2DMLC | 3K PE | 4K性能较差,20nm MLC颗粒倒是可以保证3K PE寿命
不推荐 型号老旧 | 2 | 威刚工业IDU3A-32G 写86 读95 | SM2702AB | 闪迪15nm 2DMLC | 3K PE | 4K性能较差,15nm MLC颗粒寿命能不能达到3K PE存疑
不推荐 型号老旧 | 3 | 广颖电通SDT530-16G 写86 读97 | 群联 | 闪迪15nm 2DMLC@pSLC | 20K PE | 4K性能良好,pSLC颗粒寿命长
推荐 但性价比没有SDCIT2和QD513高 | 4 | 江波龙工业M9H 64G 写57 读96 | SM2702AB | Hynix 36L 3DMLC CTF工艺 | 7K PE | 4K性能较差,闪存颗粒采用CTF工艺的海力士二代3DMLC,寿命还行,只可惜SM2702主控只支持BCH纠错,性能也一般,鲜花插在牛粪上
推荐 适用于性能要求不高寿命和性价比要求高的场合 | 5 | 宇瞻工业H2-M 16G 写48 读93 | 群联? | 东芝19/15nm 2DMLC | 3K PE | 4K性能较差,产品较老不推荐
不推荐 型号老旧 | 6 | 江波龙工业MPS 64G 写55 读97 | 得一微? | 未知型号3DMLC
怀疑镁光浮栅工艺B17A | 3K PE | 4K性能优秀,持续写入速度一般
推荐 但是持续写入性能只有50+M/s | 7 | 闪迪工业SDSDQAF-016G-I 写68 读95 | 闪迪自研主控 | 闪迪2DMLC | 3K PE | 4K性能良好,中规中矩
推荐 闪迪工业白卡容易买到 | 8 | 星火工业MITF-256G 写59 读95 | 群联? | 镁光B27A 3DTLC | 3K PE | 4K性能良好,容量大,3DTLC的数据保存期可能不够长
推荐 适用于大容量,数据保存期限要求不高的场合 | 9 | 江波龙工业55A 256G 写89 读97 | 得一微? | 未知型号3DMLC
怀疑镁光浮栅工艺B27A | 3K PE | 4K性能优秀,应该是目前容量最大的3DMLC颗粒的工业卡了
推荐 适用于大容量,数据保存期限要求高的场合 | 10 | 金士顿SDCIT2-16G 写78 读95 | 群联? | 东芝15nm 2DMLC@pSLC | 30K PE | 4K性能良好,pSLC颗粒寿命长
推荐 但是容量小 | 11 | 金士顿SDCIT2-64G 写86 读97 | 群联? | 东芝BICS3 3DTLC@pSLC | 30K PE | 4K性能良好,pSLC颗粒寿命长,容量大
推荐 容量大,1920TBW的写入量挺不错 | 12 | 闪迪SDSDQEC-016G QD513 写90 读97 | 闪迪自研主控 | 闪迪原生SLC颗粒 | 51.2K PE | 4K性能良好,神一般的51.2K PE寿命
强烈推荐 用到天荒地老也用不坏,树莓派配这张卡再也不用担心卡会损坏的问题了 |
以上推荐的工业卡购买渠道:
广颖电通SDT530-16G 闲鱼直接搜(SDT530) 零售价目前119,但是我买的时候是89 江波龙工业M9H 64G 闲鱼搜(宇视 SD卡) 零售价30 江波龙工业MPS 64G 闲鱼偶尔有售 零售价45 闪迪工业SDSDQAF-016G-I 闲鱼搜(闪迪 TF 工业级) 零售价25 星火工业MITF-256G 闲鱼搜(星火工业 TF卡) 零售价119
江波龙工业55A 256G 闲鱼搜(海康威视 MLC TF) 零售价119 金士顿SDCIT2-16G 闲鱼搜(SDCIT2)零售价300 或者闲鱼搜(戴尔 iDSDM / 戴尔 iDRAC / 戴尔 vFlash / 戴尔 TF卡)零售价大概70元左右需要和卖家谈 金士顿SDCIT2-64G 闲鱼搜(戴尔 iDSDM / 戴尔 iDRAC / 戴尔 vFlash / 戴尔 TF卡) 偶尔有售 零售价200 闪迪SDSDQEC-016G QD513 闲鱼搜(SDSDQEC) 零售价89,卖家名称(万事顺利)的那家私聊告诉他是数码之家的还可以再便宜10块钱,剩余数量不多欲购速从
//****************************************************分隔符****************************************************
关于上一期帖子中S.M.A.R.T.原始数据解码的勘误: 1.江波龙MPS系列,主机数据写入量计算方式更正为: unsigned long long WriteKB=(((unsigned long long)BlackBox.CMD56[31])<<56)|\
(((unsigned long long)BlackBox.CMD56[30])<<48)|\
(((unsigned long long)BlackBox.CMD56[29])<<40)|\
(((unsigned long long)BlackBox.CMD56[28])<<32)|\
(((unsigned long long)BlackBox.CMD56[27])<<24)|\
(((unsigned long long)BlackBox.CMD56[26])<<16)|\
(((unsigned long long)BlackBox.CMD56[25])<<8)|\
((unsigned long long)BlackBox.CMD56[24]);
WriteKB/=2;
原来除以2的地方有错误,只是除以第24字节而不是除以整个unsigned long long的数据,24L-31H是已写入的扇区数,一个扇区512Bytes,所以需要除以2得到已写入的KB数。
2.江波龙MPS系列,12L-15H的数据名称变更为:未知数据,该数据作用是什么未知,默认都是60,偶尔见过59的。
3.江波龙MPS系列,32L-35H的数据名称变更为:剩余备用块数量
4.江波龙MPS系列,48L-51H的数据名称变更为:闪存剩余可写入的数据量,单位GB
5.江波龙MPS系列,56L-59H的数据名称变更为:闪存实际已写入的数据量,单位GB 1.闪迪工业,相比于数据手册,增加26L-24H,数据名称:上电次数 2.闪迪工业,相比于数据手册,增加405-424,20Bytes,数据名称:产品代号,ASCII格式 3.闪迪工业,相比于数据手册,增加426-431,6Bytes,数据名称:产品序列号,HEX格式
//****************************************************分隔符****************************************************
最后再来秀一波部分存货拉个仇恨,我的每个小格子里其实堆叠了2张卡,所以实际卡的数量是目视数量*2
|