iT邦幫忙

1

有關SD卡使用上的疑問

想問一張SD卡(如64Gb), 放了10Gb資料後再刪除, 再寫入其他資料時(如相機), 卡內部是會由10Gb後的空間開始寫入, 還是從頭開始再寫入? 因為怕刪寫的重複動作, 因前部分的損耗大大減低它的壽命。

sd 1.0 的標準是邏輯位址,所以,會從頭開始寫,但這樣非常沒有效率,於是 sd 2.0 以後都是採用跟標準儲存方式來規劃,不在使用邏輯位址,而是使用 區塊,而區塊又有分 SLC、MLC、TLC 的規格,所以,理論上,從 2.0 之後 是採用隨機寫入的方式,跟 1.0 是不同的,但如果你希望從頭寫入,可以使用 SSD TRIM 來處理,清空區塊之後,SD控制器就會認為該區塊是可以寫入資料的,否則要等 垃圾機制排除完畢之後才能夠寫入資料
CalvinKuo iT邦大師 7 級 ‧ 2017-04-26 17:05:52 檢舉
http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=404234343&idx=1&sn=b297b01ee7c656b900417f14a2a0ccae&scene=1&srcid=0303BU3EwbivPegIi6O1cj2K#wechat_redirect

>假如现在我要向磁盘中写入一张图片的数据,这个图片的数据大小刚好为一个 Page。最坏的情况就是,内存中恰好只有一个 Block 恰好有一个 Page 的无效数据可以擦除。为了存下这张图片,于是主控就把这个 Block 的所有数据读至缓存,擦除Block上的内容,再向缓存中加上这个4KB 新数据后最后写回 Block 中。
>我的天啊,其实想存储的就是1个 Page 的图片内容,但是实际上确造成了整个 Block 的内容都被重新写入,同时原本简单一步搞定的事情被还被分成了前后四步执行(闪存读取、缓存改、闪存擦除、闪存写入)造成延迟大大增加,速度变慢。这就是传说中的“写入放大”(Write Amplification)问题。
CalvinKuo iT邦大師 7 級 ‧ 2017-04-26 17:08:05 檢舉
>TRIM 是一条 ATA 指令,由操作系统发送给闪存主控制器,告诉它哪些数据占的地址是“无效”的。在 TRIM 的帮助下,闪存主控制器就可以提前知道哪些 Page 是“无效”的,便可以在适当的时机做出优化,从而改善性能。
>基于 TRIM 技术,目前常见有两种方案可以解决“写入放大”的问题:

> 1. discard 选项。该方案将在挂载 ext4 分区时加上 discard 选项,此后操作系统在执行每一个磁盘操作时同时都会执行 TRIM 指令。该方案的优点是总体耗时短,但影响会到删除文件时的性能。

> 2. fstrim 命令。该方案将选择合适的时机对整个分区执行 TRIM 操作。相对于方案一,该方案总体耗时较长,但不会影响正常操作时的磁盘性能。

2 個回答

WilliamHuang
iT邦研究生 1 級 ‧ 2017-04-24 12:25:35
【**此則訊息已被站方移除**】
0
kolom
iT邦好手 1 級 ‧ 2017-04-24 13:00:38

你就 放心的用吧!
因為現在的SD卡 除非一天就不斷的做 抹除
寫入的動作!
不然可以用到你淘汰了,還沒壞!
像現在的 2G以下的SD卡 我還很多沒甚麼用!
買也很便宜 就當消耗品用!
不用太在意!

perry168 iT邦新手 2 級 ‧ 2017-04-28 12:58:29 檢舉

因為工作, 經常要用相機影相及拍短片, 每次用後都會移檔案去NAS中, 我只是擔心如每次都是從頭寫入, 多寫及刪前段的記錄硬件當然快損壞, 不就很不經濟~ 所以問一下實際是如何運作。

kolom iT邦好手 1 級 ‧ 2017-05-01 08:47:26 檢舉

你放心 一般 SD卡的電子特性,最爛的還可以一千次的抹除。
正常都是十萬次。除非是拿來當Bt不斷的寫入,不然一般而言,
都是因升級而丟棄。很少壞掉。
當然早年的 幾M幾十幾百M那種的 那時的產品比較容易故障。
現在幾G幾十G的 因為容量也大 技術也較好。
價格也便宜。安心用,用壞再買就好。

perry168 iT邦新手 2 級 ‧ 2017-05-09 07:52:59 檢舉

/images/emoticon/emoticon12.gif

我要發表回答

立即登入回答