作者riderider (來...)
看板Storage_Zone
標題Re: [請益] PChome上兩款TDK Trans-it mini 8G有差 …
時間Tue Aug 26 01:09:40 2008
※ 引述《airpet (呸呸呸:])》之銘言:
: 前文吃吃吃光光!!
: 前幾天看到版上推薦的這支C/P值很高的隨身碟
: 看著好久之前的512mb的隨身碟 心想也該讓他退休了XD
: 上個禮拜馬上上PCHOME訂了TDK 8G的這支!
: 而且原價666元還用信用卡紅利抵掉了120元 \(╯▽╰)∕
: 而且隔天早上八點多就收到了
: 經過測試後!
: 數據有圖有真相!
: http://0rz.tw/134F4
: 奇怪的是我測出來的數據比前面幾位大大好像還高一點XD
: 大約是寫18mb/sec 讀32mb/sec
: 總之感覺就是太划算啦!!
: 唯一的小缺點就是外觀了啦! ╮(﹋﹏﹌)╭
: 總之啊! 這支隨身碟真的很適合對外觀不是很要求的人喔!!
當隱性板友很久,在此板受益良多,碰巧對這個東西有點熟,
來獻醜一下,在盡量避免涉及專業術語的前提下,說明為啥讀取速度會不穩定...
對於大部分的使用者來說,Flash Disk是種有點像是硬碟的東西。
不像硬碟,有穩定的讀取和寫入速度,
但卻不怕震動,也不需要任何的機械結構,
和硬碟相同的是,它們都可以在失去電源時保存資料。
然而,Flash Disk和硬碟在存取行為上,
有著一個很大很大的差別...
今天,你開啟了一份文件,做了修改,然後再回存。
對於硬碟來說,就是從某個地方讀了筆資料,在修改之後,存回硬碟同樣的地方。
但對於Flash Disk來說,卻是從某個A區域讀出資料,在修改後,
把A區域標為"Invalid"(可以想是:標記A區域"死"了),
然後將修改後的資料寫到另一個B區域。
也就是說,並非"回存"於同樣的地方。
這主要是因為,Flash的"寫入",
只能把某個bit由0變1,或是只能把某個bit由1變0。
以某個只能把bit由0變1的Flash為例,
當Flash要寫入資料時,
需要找到一塊全部都是0的區域,
再依照要寫入的資料內容,
把某些bits"寫"成1。
不過如同大家所知的,
Flash不是可以重複寫入嗎?
那些Invalid,"死"掉的區域怎麼辦?
直接把那塊區域清空,在寫回去,不是很簡單嗎?
這部分則牽涉到了Flash Disk的結構...
一塊Flash Memory,可以切分成數百個Blocks,
每個Block包含一定數量的Pages。
每個Page可以單獨被直行"寫入"的動作,
並可被標記成"Blank"(空白)、"Valid"或"Invalid"。
"Blank"代表可以被執行"寫入"的Page,
"Valid"代表存有有用資料的Page,
"Invalid"代表因為資料修改或刪除,已經沒用的Page。
一個新的隨身碟,所有的Page都是"Blank",
可以快速的不斷寫入。
但隨著長時間的使用,"Blank"的pages會愈來愈少,
"Invalid"的pages愈來愈多,
到最後根本沒有"Blank"的pages可用。
此時,便需要做Erase的動作。
Erase會把一個Block內所有的pages都做清乾淨,
讓這些pages都變回"Blank"的pages。
但是,要被Erase的Block,
裡面可能包含部分Pages是"Valid"的,
存有有用的資料,如果被清掉就沒了。
所以,一個要被Erase的Block,
必須先把所有包含的"Valid" pages寫到其他地方去,
才能做Erase。
想想看寫入時可能會發生的情形吧~
也許運氣很好,有很多"Blank"的Pages可寫,則可快速寫入...
也許所剩的"Blank" pages不夠,要做Block Erase,
如果恰巧有個Block包含的pages全部都是"Invalid"的,
那也很簡單,把該Block直接Erase,
然後得到一整個Block的"Blank" pages,來作寫入用;
不過如果運氣不太好,
要被Erase的Block有不少"Valid" pages,
則還要做pages搬移,也就是一連串的寫入動作,
才能開始Erase,Erase完成在正式執行要做的"寫入"...
從上面可發現...
Flash Disk的寫入時間,是非常非常不穩定的!
當然,要寫入哪個page,Erase時要選哪個Block,
都有一些演算法的技巧可以去加強,不過一般來說還是有很大的不穩定性。
至於為啥一次一定要Erase一個Block,
而不能只Erase一個page,
這和Flash Memory的整個結構以及控制訊號有關,
便不多作介紹了。
另外...
Flash的先天限制,不論是多麼新多麼好的技術,
都是適合讀取(有穩定速度)而不適合寫入。
如果你的資料是要不斷更新的,
像是寫程式,不斷的修改、存檔,
請在硬碟上執行吧~
每一次的Erase都是在減少Flash的壽命。
現在的存取壽命,都是以能"正確存取"作為評估。
但在仍能正確存取資料時,
漏電流,每次寫入所需要的電壓和打電壓的次數都會增高,
而和全新的Flash Disk有些效能和耗電量的差異...
(相信有人有些經驗... MP3用久了以後,續航力愈來愈差,
原以為是電池老化,但換了新電池卻沒有太大改善,這就是Flash Gate的"老化")
而組電腦只用SSD也是種極端且不是很正確的做法。
SSD拿來作系統碟,大部分時間在讀取,對效能有正面效果沒錯。
但若因為某些應用程式(Ex: PhotoShop)或是用途,常有大量寫入的動作,
以Flash的特性實在不太合適。
當然,如果因環境因素,有時SSD也是不得已的唯一選擇...
或者... 某日SSD實在太過便宜,可以讓大家豪不皺眉頭的抽換,
那基於SSD的高效能,也是個合理的作法。
不過... 我會更期待M-RAM...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.216.160
1F:推 tamato9519 :好文推~ 難懂 推~ XD 08/26 01:34
2F:推 coolcliff01 :好文推 08/26 01:43
3F:推 wowside :P公司有分ff0x...就是這樣. 各種不同演算方法. 08/26 02:06
4F:推 Evanny :認真文推 08/26 03:54
5F:推 wulaitra :push~~~ 08/26 09:24
6F:推 cap0111 :好文推~ 08/26 10:02
7F:推 sai25 :推 優質文章 所以SSD寫入平均會比一般硬碟慢嗎? 08/26 10:10
8F:推 ChampionHare:往前爬文就會看到有人狂推Mtron SSD .. 08/26 10:38
9F:→ riderider :SSD寫入到不一定會比較慢。有些廠商會利用多塊Flash 08/26 10:55
10F:→ riderider :作平行寫入來加速,並在平時閒置時就自動執行Block 08/26 10:56
11F:→ riderider :Erase,以確保平常有足夠的Blank Page可用,但在頻繁 08/26 10:57
12F:→ riderider :且連續的寫入時,還是會遇到瓶頸... 08/26 10:57
13F:→ riderider :另外... 這批TDK,有需要就快買吧~ 注意看他包裝, 08/26 11:02
14F:→ riderider :完全沒有提及存取速度的規格,也就是說,以後的貨並 08/26 11:03
15F:推 pipi5867 :一般人使用 讀取時間遠大於寫入時間 ssd當然好用 08/26 11:04
16F:→ riderider :"不保證"有這樣的品質... 以這樣的價錢和表現來看, 08/26 11:04
17F:→ riderider :比較像是TDK向某廠訂了批顆粒,結果因為廠商交不出貨 08/26 11:05
18F:→ riderider :而只好先用較好一批的顆粒交貨... 08/26 11:06
19F:推 k222ing :好文推 (雖然我直接按 End) 08/26 11:23
20F:推 ddtgin :推一個~! 08/26 13:02
21F:推 JeffMcBride :k大是推推文嗎:p 08/26 17:37
22F:推 Foxly :難得一見的專業文 SSD只適合用完就丟的大戶... ~_~ 08/26 23:43
23F:推 ccbbaa :邦推一個 09/04 23:59
24F:推 omyg0d2007 :謝謝說明 明白了^^ 09/06 12:43
25F:推 IWE :雖然看不是很懂,但是格式化之後會跟剛買來一樣快嗎? 09/09 07:27
26F:→ IWE :還是一定只會越來越慢?謝謝高手說明^^ 09/09 07:28
27F:→ IWE :剛剛才下訂單,雖然16G今天1300開賣,但是我沒空去搶 09/09 07:28
28F:→ IWE :以往都是買記憶卡,現在覺得隨身碟應該比較實用:) 09/09 07:29
29F:推 pttresident :push 11/03 16:20
30F:推 stja : 09/24 21:11