其实在于操作格式化的过程,对于记忆卡寿命的估计其实是有理可循,
先从硬盘及Nand Flash(快闪存储器,记忆卡内的储存元件)说起
我们知道硬盘储存资料是靠磁头读写臂在磁盘表面上飞快的穿梭并留下磁痕来纪录资料
这就好比我们在吃喜酒时,中间旋转圆桌就像磁盘,我们的筷子就像磁头,想吃哪道菜就
转阿转阿转到我们面前就夹。
而磁痕在纪录上的特色,就是可以以磁区(Sector,约512字节)为单位进行存取,感觉
上硬盘就像是很大的黑板,用粉笔写下新的资料,如果在同样位置要加上新的资料,只要
拿板擦把原来资料擦除,就可以再把新资料写在上面。
快闪存储器则完全不相同,快闪存储器是透过将电荷锁在电晶体的绝缘夹层来记忆资料。
一个快闪存储器单元是由许多的块(Block)构成,而块又分成许多的页(Page),页才分成
许多的磁区。而快闪存储器有一个非常GY的限制,就是在写入时必须以"页"为单位,而
删除时又必须以整个"块"为单位。
所以快闪存储器就好比排满一本本装订好无法拆页的书的书架,而你想写字上去但手上拿
的不是笔,而是活字版...必须将所有要写的资料排成一整页,再把资料一次"盖"在其中
一页上。而要删除怎么办?抱歉这是用墨水印上去的,除非把整本订好的书丢了,再拿一本
来印。可是你可能会想说,阿奇怪我在拍照的时候想删就删,想拍就拍,哪有这么多毛?
没错,为了让电脑及相机在操作Flash时能像硬盘一样直觉,记忆卡的另外一个元件~记忆
卡控制器,会提供FTL(快闪存储器转换层)的功能。透过大量的算法,让Flash假装自己
是颗硬盘一样以磁区为基本单元来做操作。用上面的比喻就像另外做了一些索引的书、放
了一些书签来查找资料所在的书目及页面,所以我要删除资料时,只要去修改索引指向的
书目,等到那本书上的资料全都不要时再将书丢弃即可。但是假装的终究还是没有办法突
破,有一些规则还是要注意:1.不管写入多少资料,若长度小于一个页,仍需要占一个页
的空间。2.在连续的写入上透过FTL算法是可以忽略制作索引的。
快闪存储器最大的优点就是在查找资料时,能够非常快速的做反应。相对于硬盘物理的移
动悬臂,是完全不同等级的(在书架上抽一本书下来看,并翻到指定的页面vs在摊开所有
资料的广大黑板花一段时间跑到想找的资料前)。所以最近越来越多人喜欢用SSD来当系统
碟或在上面灌数位暗房软件来修图就是这个原因。但是快闪存储器不是没有缺点,最为人
所诟病的,就是有寿命限制,一般市面上流行、成熟的颗粒每个块大约有5000~8000次的
写入/删除寿命,这是不是在说如果我格式化5000次后卡就会爆掉?不是,我们刚提到的
记忆卡控制器会将所有的块写入做一个最佳化,让所有块平均写入以达到最大的使用寿命
。如果真的有块坏掉了,记忆卡控制器也有办法将其上面的资料重建至其他块,之后会避
开操作那个块直到系统最低需要的总块数为止才会挂。所以网络上有人一知半解的说用久
了会变唯读、用久了容量会变小都是不可信之谣言。一张16GB的记忆卡透过记忆卡控制器
的规划,若平均寿命8000次则至少有128TB的写入总资料量的寿命。所以不用担心,在用坏
之前,你就会想换更大、更高容量的记忆卡了。
再来聊聊档案系统,在刚刚介绍的实体记忆空间上系统会规划磁区以方便储存管理档案,
一般记忆卡最普遍的档案系统是FAT32及EXFAT(在格式化的时候通常会看到这些选项),这
些档案系统会将数个磁区绑成一个簇(Cluster,默认32个磁区),在档案系统的前方会有
一个档案表,纪录所有的簇分配的情况,举例来说;记忆卡中目前有两张照片,相片X放
在簇A、簇B、簇C...;相片Y放在簇D、簇E、簇F...。透过这个档案表,电脑就可以将磁
区与档案做一个关连。FAT32对于每个簇,需要花四个BYTE(32bit)来做纪录。
如果我按下删除相片X,那会发生什么事呢?首先A7ii会先找到相片X的起始簇A,簇A会纪
录档名及基本档案资讯,对记忆卡下指令盖上一个删除标志(只占一个字节),这时就完
成删除了,A7ii只操作了一个字节档案就不见了。你或许会想说,不对呀档案还是在那
里阿,没错,下次A7ii或电脑读到删除标志时就会忽略这个档案了。这也就是为什么许多
相片救援软件可以把被删除的照片救回来的原因。阿你又会想,那这样删除只动一个位元
,那有什么伤卡的?不要忘了我们在FTL上所有的操作都是以页为单位...
最后回到主题,一张存满照片的记忆卡(以16G记忆卡A7ii一张RAW档25MB,约600张相片)
一张一张删除,会更动600次档案表,写入600次页资料(实际上还有FTL工作时要写入的索
引资料,总共约是1200次,我们先暂且不计)假设内存一个块有256个页,这样就必须抹
除三个块了。而格式化只需初始化档案表,约 16G(总容量,单位Byte) / 16K(每个簇有32
个磁区,一个磁区有512Byte,所以一个簇是16KB) * 4(每个簇花4Byte纪录) = 4MB的档案
表,由于是连续的,主流的内存页容量大概是32KB,所以会写入128个页资料(实际上档
案表有备份,还要加上开机磁区跟磁盘标签的簇及FTL索引资料,但同样由于是连续的,
最多只会再多129个),所以只会抹除一个块,这样一张一张的删除和格式化比起来,优胜
劣败应该见真章了。
虽然说差两三个块好像差不多,但是好的使用习惯就是这样培养起来的。遵循下列原则,
一张记忆卡只有一唯一用途(相机用的归相机,手机归手机)、拍完照插电脑把档案复制出
来后,再插回相机格式化。有好习惯照片自然不容易消失。
(说完这篇这么长,感觉这样说起来记忆卡不容易嗝屁阿,为什么还是容易挂(我没有刻意
指某牌),这要牵扯到内存颗粒的体质及厂商的良心(和自己的人品),待以后有机会再分
享吧)
作者:
rextem (热血熊宝贝)
2016-03-13 09:29:00字好多..所以结论是 格式化比档案逐一删除好吗?
作者:
Rogozov (哥发的不是冗是寂寞)
2016-03-13 09:55:00推,后来都会乖乖格式化
作者:
Aza (㊣阿炸)
2016-03-13 10:22:00好文推!!!
作者:
qq750717 (SeanWang)
2016-03-13 12:30:00推专业
作者:
joe3477 (joe1234)
2016-03-13 13:02:00flash 推
作者:
danisaku (对不起我又自私了)
2016-03-13 13:19:00真是专业
作者: Dryduckboy (我的名字叫做Do) 2016-03-13 13:51:00
优良好文
作者:
james1986 (不要再叫我好人了.....)
2016-03-13 14:06:00用久了 真的会唯读啊.. 当年拿一张sd来当vista的readyb用久了 真的会唯读啊.. 当年拿一张sd来当vista的readyboost 就是这样死的..
作者:
wu1990 (小卤泡芙forever)
2016-03-13 16:49:00请问如果把记忆卡容量塞满再一起格式化会比较好吗?谢谢QAQ
作者:
s155083 (Enzo)
2016-03-13 17:57:00黑灯神
作者: jjchen425 2016-03-13 19:28:00
推专业
作者:
ds1441 (wildfire)
2016-03-13 21:38:00我比较想问终身保固的记忆卡用到卡外壳硬化坏了还保固吗
作者: kiffy (kk) 2016-03-13 22:15:00
推一个!
作者:
festa (谅)
2016-03-14 00:27:00好文推!!
作者:
ligacul (真假仙)
2016-03-14 02:11:00格式化系好哭~~这篇太专业了
作者:
vutsix (香肠)
2016-03-14 10:54:00塞满卡对wearleveling跟gc不会造成影响吗?
作者:
mkym (小铭4ni)
2016-03-14 11:35:00专业给推!
作者: s8704112003 2016-03-18 23:31:00
超专业解说! 大推