2008年8月14日 星期四

Dopod 818 SD記憶卡內容突然消失問題之初探與對策

Dopod 818 SD記憶卡內容突然消失問題之初探與對策


這篇文章是針對在Dopod 818或者其他PocketPC在使用上遇到SD記憶卡內容突然消失的因應之道。如果你從來沒有遇到這個問題,那麼非常恭喜你,你不需要往下看了。
緣起
自從改用Dopod 818幾個月下來,大致上說來是愉快的。只不過有一個讓人無法忍受的嚴重缺陷,那就是SD記憶卡裡的內容會突然整個消失。這種情況在我以往的Palm使用經驗來說是前所未聞的。如果SD卡裡的資料會莫名其妙的消失,那麼誰還敢把重要(或不重要)的資料放在記憶卡內,而這本來就是這類記憶卡存在的主要目的?
說實在的,如果這個問題不能解決,那麼818對我來說就是一台不折不扣的垃圾,而且還是一部造價昂貴的垃圾。因為如果它連「穩定可靠」這個最基本的要求都做不到,那麼其他再酷再炫的功能都毫無意義。
很遺憾的,這篇文章並沒有就這個問題提供任何真正的解決之道,因為真正的原因仍無法確定。但我還是在此提出一些經驗分享與可能的應對之策,讓各位在使用上可以安心一些。換言之,我們雖然無法拆除地雷,卻可以藉由一些蛛絲馬跡來避開一些可能埋設的地點,以降低粉身碎骨的風險。
Okay,為什麼資料會消失?
我們知道動態記憶體(Dynamic RAM,DRAM)的內容需要持續的電力來維持其內容,換句話說,一旦電力耗盡或者其他原因導致無法持續提供電力,那麼DRAM裡頭的資料就會消失。
SD記憶卡則不然。它採用了所謂快閃記憶體(Flash Memory)作為其儲存媒介,這類記憶體也被稱做「非揮發性記憶體」(Non-Volatile Memory)。這類記憶體與DRAM最大的不同就是,其內容並不需要靠電力來維持。換句話說,除非SD記憶卡本身存有瑕疵,否則資料絕對不會「突然」消失,一定是產生了「清除資料」的動作,只是這個動作不在我們預料之中,而是突發性的,當然,同樣也是災難性的。
症狀
1.系統出現不穩定(變慢,或者當機),在soft-reset後,發現記憶卡內容變成空白。這是最常見的情況。
2.記憶卡中的某些檔案或者目錄突然消失。
可以排除SD卡本身的問題嗎?
在花了不少時間搜尋國內外相關問題的討論資料後,我認為可以排除。或許有記憶卡瑕疵的可能性,但這絕對不是主要的原因。理由是這個問題普遍發生在任何廠牌的PocketPC以及SD記憶卡。另外,這個問題與FAT16或FAT32的儲存格式無關,因為兩者都會發生同樣的問題。

問題發生可能的原因
因為資料幾乎是在瞬間或短時間內消失不見,所以應該可以排除系統執行了整體刪除(del *.*)的可能性,因為那需要比較多的時間來完成。快速刪除SD卡內容的可能方法有quick format、直接寫入FAT/FDB,以及更低階的初始化作業。
據此推斷,問題發生的原因可能為:
1.因為某些不明的原因,系統對記憶卡下達了quick format動作
2.在存取FAT/FDB時出現錯誤,或者系統在處理上存有缺陷,導致此區域資料損毀
3.SD卡初始化作業有瑕疵,導致reset時資料消失
4.對SD卡的錯誤處理程序(error handling procedure)可能有瑕疵。由於NAND Flash允許某些壞區塊(Bad Blocks)的存在,若BIOS或
作業系統或對此類錯誤問題的處理不夠完善,就有可能會出現問題。
5.作業系統對高容量的SD記憶卡(256M+)的支援可能有瑕疵。
對策
1.不要安裝任何today plugin到SD記憶卡中
所謂today plugin就是會出現於Today主畫面的擴充型程式,例如spb PocketPlus。這類特殊的程式由於需要經常性的更新畫面,若安裝於記憶卡中,可能會造成頻繁的記憶卡讀寫。此外,系統工具及開機時自動載入的程式也建議安裝在主記憶體中。
2.在SD卡建立一個My Documents的目錄,並且刪除ignore_my_docs檔案
在國外的討論區中發現了一篇有趣的文章。如果SD卡中沒有My Docuemnts這個目錄,系統會在SD卡的根目錄下產生一個名為ignore_my_docs的檔案。當執行Excel或Word等程式時會偵測這個檔案的存在,若存在就會由掃瞄My Documents目錄的方式變改為掃瞄整個SD卡的所有目錄。對於存放大量資料的SD卡而言,這不是件好事。
所以請在SD卡的根目錄下建立一個My Documents目錄,並且刪除igmore_my_docs這個檔案(如果有的話)吧。

3.設法降低SD卡deinitialize/initialize的頻率
這是什麼意思?簡單來說,移除SD卡就會作一次deinitialize(解除裝置),插入SD卡則會作initialize(啟動)作業。那麼,是不是只要不拔除SD卡就好了?並不盡然。為了安全及電力等因素,818的設計在電力低於10%時,會自動解除SD裝置。之所以會有這樣的建議,是因為有幾次資料消失恰巧是發生在充電過程中。假使你在電力低於10%時開始充電,那麼當電力一旦超過10%時就會再次啟動SD卡,萬一此時系統在電量偵測作業上出現瑕疵,就可能會反覆啟動/關閉SD裝置,而導致SD卡出現預期外的錯誤。
4..將不需要更新的檔案屬性設定為唯讀
如果檔案是被作業系統不當刪除的,那麼這個方法可能有用。最簡單的方法就是把SD卡拿到PC的讀卡機去全部先設定為唯讀,之後再將必要的檔案調整為可讀寫。
5.打開SD記憶卡的防寫開關,需要寫入資料時再打開
不消多說,這當然是個下下之策。消極卻有效。
6.定時備份SD記憶卡
呃,備份SD卡聽起來實在有些可笑。可是不備份的話,「災後重建」可是十分耗日費時的。算是無計可施下的自保之道。
7.終極絕招:停止使用SD記憶卡
怎麼樣?夠「絕」吧?
後記

在此要感謝在Mobile Life朋友們提供的協助及回應。文章大部分都是個人自己的推斷,很可能不盡正確,歡迎大家給我指正。拋磚引玉,希望有天可以見到這個惱人的問題被徹底解決。

附錄
以下是在Mobile Life網站的提問以及回應:
All,
我已經遇到好幾次這種情況了,通常都是在系統出現有點不穩定後soft-reset後發生,整張SD變成空白。因為不確定倒底是SD卡的問題還是818的問題(因為有幾次是連系統記憶體內容都憑空消失),所以想請問大家在使用上是否曾經遇到類似的情況?謝謝。
ps.
SD卡是Zynet 1G SD。
==========
拍狼:
我的記憶卡跟你同一張 同牌也是1G
我用倚天P700 一樣也有這問題
開始懷疑............是卡
==========
2001sam:
我的威岡MYFlash 1G 也出現過一次,
更新4/29版本後,來電大頭貼失效,趴文依照修改字型時很久無回應,按Reset 後,SD卡內資料全沒了
==========
tsou1120:
我有一次系統不穩,reset後也發生sd卡資料全無,我四用創見1G 40X
==========
herolio:
1.
我的是kingston 1G
最切買回來也發生過一次
但不是資料不見
而家全都變了做一堆亂碼
soft reset也不行
要format sd卡
但後來 我的818升級了任體後就沒有發生過此問題
但有時候亂碼也會跑出來 soft reset後又沒問題了
2.
sd卡不見資料我發生過四次
但第(三,四)次發生時,我發現一個共通點
第二次時,當我把my documents內的一檔案移至sd卡時
第三次時,當我聽完mp3,再進去sd卡找檔案時
發覺有一些檔案不見了,及檔名變為空白
熱插x後又回復了
再聽mp3後,我的software及遊戲所安裝的資料夾就不見了
第四次,看完*.wmv 的MV後,熱插x也沒有用,這次是所有東西都不見了
總結:一是windows media player 的問題,
二是可能運行較大容量的檔案時會發生此問題(可我看100MB的rm也沒發生過)
三因為二,三,四次發生的日子為一星期內,可能我的sd卡快掛了
天呀,我的是1G的kingston,只的這麼爛,用不到4個月


為了不斷提升Yahoo! Mail,雅虎香港誠邀你參與意見調查。請前往http://surveylink.yahoo.com/wix/p5429076.aspx 發表你的意見!

沒有留言:

張貼留言