Source: http://taiwan.cnet.com/computer/systems/features/0,2000068557,20099168,00.htm
利用高容量非揮發性記憶體 NVRAM 作為硬碟的緩衝區,原始的設計概念是利用他來暫存資料,減少硬碟啟動,在這裡,我看到幾個自己不清楚答案的問題:
1. NVARM 的讀寫次數是否能承受的起目前電腦對硬碟讀取的需求
2. 目前程式設計以執行特定功能時才載入對應的 DLL,原始設計是否能應付隨安裝軟體增加,需要更多 DLL,當 NVRAM 被 DLL 佔滿,對硬碟依賴性再度提高的可能?
3. 假設資料已經存在於 NVRAM 的狀況下當機或斷電,重新啟動之後,是否能將 NVRAM 的資料完整寫回 HD 中?這牽扯到作業系統層級的檔案系統 File System 設計
我對這些問題的想法是:
1. 以同樣是 NVRAM 的 Flash 來思考,讀寫次數恐怕經不起 Swap 的使用。如果是特定儲存區僅處理文件類型,那又牽扯到如何判斷為文件與應用程式的問題,何不乾脆使用現有的 Flash 隨身碟即可?
2. 若是要硬碟廠商設計讓 NVRAM 僅處理文件類型資料,這又會可能造成硬碟與作業系統,應用程式的相容性問題
3. 學過 C 語言,我們知道 fopen() 之後要搭配 fclose() 才會把檔案完整關閉,當資料僅是暫時儲存於 NVRAM,重開機之後還要做一次 NVRAM 與 HD Sync 的動作,也可能因為 NVRAM 的資料不完全造成 HD File System 的損毀。
如果是資料庫類型的檔案系統,那可以考慮以 commit roll back 的方式。將所有應用軟體讀寫檔案時,都只是針對資料庫的一筆記錄作新增,修改的動作。而 NVRAM 僅存放 SQL Statement,開機後遇到的問題會容易許多
沒有留言:
張貼留言