ReadyBoost

ReadyBoost

ReadyBoost是存在於Windows Vista中的一項新技術,在繼Vista的下一代作業系統Windows 7中,同樣包含著這項技術,它利用了快閃記憶體隨機讀寫及零碎檔案讀寫上的優勢來提高系統性能,是下一代快閃記憶體硬碟的臨時替代品。

基本要求

ReadyBoost ReadyBoost

這項技術可以支持USB2.0、USB3.0接口的隨身碟以及計算機內置讀卡器中的快閃記憶體。具體要求是,4k隨機讀取的速度大於3.5M/s,512k隨機寫入的速度大於2.5M/s。

此技術在2011年前還只是一種概念,當進入2011年後,隨身碟速度得到大幅提升,已經完全套用於現代生活。

可以支持Windows Vista、Windows7、Windows8、Windows10的各種版本。

技術作用

原理

ReadyBoost 功能允許使用者通過快閃記憶體來加速系統。ReadyBoost 由一個在 %SystemRoot%\System32\Emdmgmt.dll 中實現的運行於主機進程中的服務和一個卷過濾器驅動程式(%SystemRoot%\System32\Drivers\Ecache.sys) 組成。當快閃記憶體設備插入系統後,ReadyBoost服務會查看該設備以確定其性能特徵,並將測試結果存儲在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Currentversion\Emdmgmt 中。

並不是所有快閃記憶體設備都能夠支持 ReadyBoost 功能,在微軟的技術文檔中寫道:“當快閃記憶體設備容量介於 256MB 和 32GB 之間,對於 4KB 隨機讀取的傳輸率為 2.5MBps 或更高、對於 512KB 隨機寫入的傳輸率為 1.75MBps 或更高”時, ReadyBoost 才會將詢問用戶是否想要將部分存儲空間用於進行磁碟快取。

儘管 ReadyBoost 可以使用NTFS,它還是會將最大快取大小限制在4GB,以適應FAT32的限制。如果用戶同意使用 ReadyBoost 功能的話,那么該服務便會在該設備的根目錄下創建一個名為ReadyBoost.sfcache的快取檔案,並要求 SuperFetch 在後台預先填充快取。

在 ReadyBoost 服務對快取進行初始化之後,Ecache.sys設備驅動程式會將所有讀寫數據截取到本地硬碟卷(例如 C:\),並將要寫入的所有數據複製到該服務創建的快取檔案中。Ecache.sys 會將數據壓縮,壓縮比通常達到2:1。這樣,4GB 的快取檔案通常將包含 8GB 數據。驅動程式會聯合使用高級加密標準(AES) 和一個隨機生成的引導會話密鑰對其寫入的每個塊進行加密,以在將設備從系統移除的情況下保證快取中數據的保密性。

當 ReadyBoost 確定快閃記憶體內的快取比硬碟內的快取更能滿足隨機讀取需求時,它便會從閃盤介質內隨機讀取數據。而硬碟的有序讀取速度要明顯勝過快閃記憶體,因此,當 ReadyBoost 偵測到有系統需要有序訪問數據的時候,即使該數據同樣位於閃盤介質內的快取中,Windows 也將直接從磁碟讀取。

正是基於這個原理,ReadyBoost 可充當記憶體與硬碟之間的橋樑作用,從而加速系統性能。

作用

ReadyBoost 可以利用隨身碟高速隨機訪問能力,讓隨身碟作為 Windows Vista 的 SuperFetch 快取,從而讓低記憶體的 Windows Vista 也能獲得比較好的性能(SuperFetch 是 Windows Vista 引入的一種新型記憶體管理機制,ReadyBoost 把隨身碟虛擬成 SuperFetch 快取,從而提高系統性能)。隨著u盤性能不斷提升,好的u盤(usb2.0)存儲速度已經實際達到 8MB/s至20MB/S,已經可以讓 ReadyBoost 發揮明顯的作用。而隨著USB3.0的發展,隨身碟速度可以達到 30MB/s 至 60MB/S。

方法

複製大於 150MB 的單個檔案到u盤,usb2.0下如果持續顯示速度只有4MB/s,此類u盤便屬於低端u盤,不過已經達到 4MB 可以運用加速,只是加速不太明顯。

若 usb2.0 下複製速度超過 15MB/s,既是現代流行的u盤速度,屬於主流u盤,完全可以套用加速,且效果明顯。

實際套用

這項技術對於遊戲愛好者、設計工作者、程式設計師以及需要大記憶體工作者十分必要。當計算機記憶體被即將占滿,計算機運行緩慢,插上一個u盤就能臨時加速,非常值得,省去購買記憶體的必要。

Windows 7 RTM 中截圖 Windows 7 RTM 中截圖

前言:Windows Vista 發布後,其中有一項利用快閃記憶體(存儲卡、隨身碟)提升性能的 ReadyBoost 功能特別引人注意。但自己裝上 Vista 之後一直沒能成功啟用過(說性能不夠)。到底要什麼樣的快閃記憶體才能用?到底能在哪方面提升多少性能?抱著這些簡單的疑問,搜羅一遍,發現中文 Web 上 Google 搜尋得到的結果,大多你抄我我抄你,翻過好幾頁只看到一位業餘愛好者自己主觀評測了一下。雖然不得要領,但研究精神卻可嘉了——因為一大堆所謂的IT專業網站,還有一個首當其衝的“專業”論壇都沒有解答這些踏實問題,倒是開始趁機幫廠商放炮,推薦起 U 盤來……算了,不感嘆了。

其實即使選擇搜尋中文網頁,搜尋結果的第一條還是微軟程式設計師部落格上關於 ReadyBoost 的 FAQ。看完這篇英文的 FAQ,就解決問題了。

設計解釋

設計這個功能是為了幫助記憶體擴展插槽不夠用,資金或技術經驗限制,以至於不能加裝記憶體的人,幫助他們提升小量隨機讀寫性能(small random I/O)。正如大家所知,加裝記憶體是解決記憶體不足問題的最好辦法。

ReadyBoost ReadyBoost

如果您手邊有一個“高速 U 盤”,那么通過全新的 Windows ReadyBoost 技術,就可以用它來擴展您的系統記憶體。

1) 鑑別

ReadyBoost ReadyBoost

請參閱您的 U 盤說明書或者外包裝,一般都會標明是否為“ 高速U 盤”或者是否“支持 ReadyBoost 技術”;此外還要保證 U 盤至少還有256M 以上的空間——只有這樣,才能實現這個功能。之後將您的 U 盤插入電腦 USB 接口。

一般的隨身碟甚至手機記憶體卡也可以實現ReadyBoost功能,秘訣就是將存儲設備轉換成“NTFS"格式。(轉換為NTFS的記憶體卡,手機將無法讀取)

2) 加速

ReadyBoost ReadyBoost

電腦會彈出“自動播放”面板,選擇“加速我的系統”。

3) 設定

在彈出的屬性面板中,選擇“ReadyBoost”標籤,之後選擇“使用這個設備”和“用於加速系統的保留空間”(也就是選擇使用多少 U 盤空間作為記憶體來使用),點擊“確定”按鈕

4) 調整

ReadyBoost ReadyBoost

您在以後的使用過程中,如果需要調整 U 盤的加速空間,或者關閉 U 盤的 ReadyBoost 功能。只要打開“計算機”,然後滑鼠右鍵單擊隨身碟驅動器,在彈出選單中點擊“屬性”選項,就可以進行各種調整了!

在不久前發布的Windows 8 RTM中,ReadyBoost功能也得到保留。從Vista到Windows 8 ,這個功能沒有大的變化,只是Readyboost標籤中有了三個選項,第二項,“該設備專用於ReadyBoost ”,就是使用隨身碟中所有剩餘空間,供Readyboost使用。

FAQ

Q:USB3.0上可以套用嗎?

A:完全可以

Q:可以支持哪些系統?

A:支持Windows Vista、Windows 7、Windows 8和Windows 10四個系統。

Q:我們需要什麼樣的硬體配置(以使用ReadyBoost功能)?

A:隨機讀取4K速度達2.5MB/s,512K隨機寫入達1.75MB/s

Q:我的設備包裝上標明12MB/s(或133x),但Windows提示說它性能不足啟用ReadyBoost……為什麼?

A:兩種可能:

1.硬體標稱的是連續的數據讀寫速度,而ReadyBoost需要和考量的是隨機讀寫速度。

2.該硬體的速度指標不均衡。有些產品包含128M高速快閃記憶體,而其他部分的速度則非常慢。這種設計對一些程式沒有影響,但沒法滿足ReadyBoost的需要。

Q:ReadyBoost最大使用多大容量的快閃記憶體?

A:ReadyBoost最大可使用4GB快閃記憶體(通過壓縮功能,就是8GB高速快取)

(補充:Windows 7 當 U 盤使用 exFAT 檔案系統時可以設定高達 256GB 快取,即壓縮後 512GB)

Q:為什麼我不能使用超過4GB的快閃記憶體?

A:FAT32檔案系統將ReadyBoost.sfcache檔案的容量限制在4GB。

(補充:exFAT 檔案系統是 64 位的,在 Windows 7 上沒有 4GB 限制;Windows Vista 則不支持在 exFAT 上使用 ReadyBoost)

Q:可用ReadyBoost的最小快閃記憶體容量是多少?

A:最小256M(格式化之後也就只有250M了)。Beta2之後,我們可能還可以降低10MB左右。

Q:好了……256M到4GB可差距不小……推薦配置是多大?

A:沒錯。我們推薦最少配備跟記憶體容量1:1的快閃記憶體。最大達到2.5:1,更多的就沒有明顯收益了。

Q:其實就是把頁面檔案(虛擬記憶體)放到快閃記憶體盤上了吧?

A:不完全——頁面檔案還是在硬碟上。這(ReadyBoost檔案)是一個高速快取——如果在ReadyBoost Cache裡面找不到所需的數據,系統就會轉回到硬碟上讀取。

Q:硬碟不是比快閃記憶體快嗎?我的硬碟數據吞吐速度有80MB/s。

A:大量連續的讀寫硬碟更快。這種情況下,ReadyBoost不會參與。我們關注的是小量、隨機的數據吞吐性能,例如硬碟上頁面檔案的讀寫(paging to and from disk)。

Q:如果我們拔掉快閃記憶體盤,會不會影響系統?

A:如果快閃記憶體盤被意外拔除(指非正常下的突然移除),程式會轉向硬碟。再次說明一下,快閃記憶體盤上的所有頁面檔案都被備份到硬碟上的一個頁面檔案里。無一例外。這不是一個單獨的頁面檔案存儲空間,而是一個用於提高訪問速度的常用數據高速快取。

Q:用戶的數據在一個可隨時被拔走的快閃記憶體盤上,不會存在安全隱患嗎?

A:這是我們關注的首要問題之一,我們用AES-128加密了我們寫到快閃記憶體盤上的一切。

Q:這會不會縮短快閃記憶體盤的壽命?

A:不會。我們注意到了快閃記憶體使用壽命的問題,並在確定何時、如何在快閃記憶體上寫入數據方面找到了明智的辦法。我們的研究顯示,支持ReadyBoost功能的快閃記憶體盤可以使用至少10年以上。

Q:可以同時使用多個快閃記憶體盤作為EMD嗎?

A:不可以,我們已經限制每台使用Vista的電腦只能使用一個ReadyBoost設備。

(補充:Windows 7 已允許使用最多 8 個快閃記憶體盤作為快取。)

Q:為什麼只支持一個?(這是vista 的要求 windows 7 下不用考慮這點)

A:時間和質量不可兼得。考慮到這還是第一個版本,功能有限,我們決定專注於單個設備的傑出表現,暫不涉及多個高速快取管理的攻關難題。當然,我們喜歡這個主意,已經打算把它列入後續開發計畫。

Q:支持SD/CF/MS/MMC等快閃記憶體卡嗎?

A:大多數都支持。在Beta2中,我們加入了對內置USB2和PCIe匯流排上的一小部分SD/CF卡的支持。RC1會支持更多。

Q:為什麼不支持外置USB2.0讀卡器上的SD卡?

A:很不幸,不支持外置讀卡器——有些技術障礙我們沒有足夠的時間克服。總的說來,如果一個讀卡器當中沒有插卡,卻像軟碟機、光碟機一樣在Windows當中顯示出驅動器圖示,我們就無法使用它啟用ReadyBoost功能。

(補充:Win7下已經沒有這個限制,但是你必須先把記憶體卡插入讀卡器中)

Q:是不是所有的USB驅動器都支持,不論他們在系統裡面被識別為硬碟還是可移動的磁碟?

A:我們沒有辦法分辨USB連線線連線埠上連線的到底是什麼,所以我們做一些容量檢查(因為還沒有200GB的快閃記憶體設備),然後進行我們的速度測試。硬碟無法通過速度測試,而且用USB移動硬碟做ReadyBoost也沒有性能提升。

Q:可以用MP3播放器給系統提速嗎?

A:當前不行。MP3播放器使用“play for sure”接口與Windows聯繫。而我們需要的設備必須被Windows識別為一個磁碟卷。所以當前MP3播放器之類的設備還不能兼容。

Q:速度提升有多少?

A:嗯,這得看情況。按平均值估算,一次隨機4K的讀取速度,快閃記憶體大約比硬碟快10倍。那么,最終用戶會得到什麼好處呢?當記憶體空間壓力較大,而且硬碟讀寫頻繁的時候,系統回響會更迅速;如果是配了4GB記憶體,又沒有幾個應用程式在運行的電腦,ReadyBoost的效果就不明顯了。

Q:我的設備不能啟用ReadyBoost功能……我能降低性能要求么?

A:非常不幸,不能。我們制定的設備性能要求,已經是ReadyBoost能給你系統提速的最低要求。如果再降低標準,用ReadyBoost就沒有可見的性能提升了。記住,我們不是在添加記憶體,我們是在提升磁碟訪問效率。

Q:哪家快閃記憶體廠商支持ReadyBoost?

A:嗯,我當然希望他們全都支持。當前我們正在與廠商協做開發一個程式,讓他們去驗證他們的產品是否能支持ReadyBoost。

Q:為什麼快閃記憶體支持ReadyBoost,也無法啟用(性能達不到要求)?

A:這是禁用了高速寫入快取的情形。您需要在設備管理器中將它啟用,但這意味著數據在讀寫完畢之前拔掉快閃記憶體可能會造成數據損壞或丟失,以及設備(快閃記憶體)的損壞。

使用技巧

保證 Superfetch 服務已啟動:Superfetch 服務會自動計算將來會用到的記憶體數據或檔案數據,並將其載入 ReadyBoost 快取。若 Superfetch 被關閉,則僅當寫入磁碟時,寫入的內容會被載入 ReadyBoost 快取。ReadyBoost 的快取的主要功能是加速隨機讀取。如果只快取寫入內容的話,下次讀取的內容未必正好是上次寫入的內容。而 Superfetch 則能把將要讀取的內容放入 ReadyBoost 快取,從而使其真正有效。

ReadyBoost

該檔案安全,無病毒,在隨身碟根目錄,檔案大小看使用的大小

如果需要取消加速,可右擊打開隨身碟屬性 ,在 “ReadyBoost” 標籤下選擇 “不使用這個設備”。

相關詞條

相關搜尋

熱門詞條

聯絡我們