隨著最新版本的Raspberry Pi OS的發布,Raspberry Pi 5可以利用Class A2 SD卡提供的額外性能;為了幫助您充分利用這一點,我們推出了我們自己的一系列高品質、低成本的Raspberry Pi SD卡。我們還發布了Raspberry Pi保護套,這是一個可愛的小硅膠套,用來保護您的Raspberry Pi 5的底部和邊緣。
Raspberry Pi SD卡正如你們中的許多人親身體驗過的,您選擇的SD卡對您的Raspberry Pi體驗有著巨大的影響。從歷史上看,我們與我們的認證轉售商合作伙伴合作,測試并認可第三方SD卡。但隨著SD卡變得更加復雜,特別是隨著Class A2卡的出現,這個過程變得越來越繁瑣。為了確保您以盡可能低的成本獲得盡可能好的體驗,我們與我們的合作伙伴Longsys合作開發了一系列品牌的Raspberry Pi SD卡。這些Class A2卡在所有Raspberry Pi計算機上提供了卓越的隨機讀寫吞吐量,并且在Raspberry Pi 5上使用時支持命令隊列,以實現更高的性能。從今天起,我們的認證轉售商將只在Raspberry Pi計算機旁邊推廣Raspberry Pi SD卡,您可以確信它們的質量。Class A2 SD卡:更硬、更好、更快、更強支持應用程序性能等級A2的SD卡,比如我們的新Raspberry Pi SD卡,可以實現更快的讀寫操作,Raspberry Pi 5包含了允許它充分利用這種額外性能的硬件特性。要啟用這些特性,您將需要使用最新版本的Raspberry Pi OS,或者用最新的軟件包更新您的Raspberry Pi OS安裝。運行以下命令進行更新:
sudo apt update && sudo apt full-upgrade
Class A2卡是如何實現更好的性能的呢?繼續閱讀!什么是CQHCI?SD主機控制器接口(SDHCI)規范標準化了控制與SD卡通信的硬件(主機控制器)。在Raspberry Pi計算機上,主機控制器位于Broadcom應用程序處理器內部。命令隊列主機控制器接口(CQHCI)擴展了SDHCI,增加了一組額外的控制寄存器,以及一個CQ引擎,在檢測到合適的卡時,它將接管傳統的主機控制器。必須明確地將卡置于命令隊列(CQ)模式,之后一組新的SD命令變得可用,許多現有的SD命令變得無效。新的命令將讀取或寫入卡扇區的_請求_與卡的_響應_解耦。每個讀寫操作都被標記,讀寫操作總共可以使用多達32個標簽??梢赃x擇它返回命令響應的順序,并且可以選擇緩沖寫入數據而不是立即將其提交到閃存。通過允許它有效地“看到未來”,命令隊列讓閃存控制器隱藏了更多與訪問不同NAND閃存頁面相關的延遲。這至少在理論上——在Raspberry Pi OS生成的隨機I/O工作負載中實現了更好的吞吐量。
CQ支持首次出現在2015年的JEDEC規范JESD84-B51中的eMMC設備中。SD規范的等效版本在2017年的SD v6.00中出現。然而,在2023年Raspberry Pi 5發布時,Linux只支持eMMC設備上的CQHCI——所以我們沒有充分利用性能。在2024年初,我開始實現SD卡上缺失的CQ支持。如何使用CQHCI?仔細解析SD規范讓我開發了一個可選卡特性的依賴鏈,如果使用CQ模式,所有這些特性都需要得到支持。這些按順序是:- 卡必須支持擴展寄存器訪問,這是一種通用方法,通過512字節的頁面訪問可選特性,每個頁面都有一個類型標識它指的是哪個特性擴展- 卡必須支持性能增強擴展寄存器- 在性能增強擴展中,卡必須支持寫入緩存- 由于支持寫入緩存,卡還必須支持電源擴展寄存器,并至少支持電源關閉通知
- 卡必須聲明滿足Class A2性能所需的隊列深度——從2到32個標簽
由于Linux已經支持eMMC卡上的CQ,我所要做的就是找出SD實現的不同之處——確實有幾種這樣的情況。在正常操作中,主機操作系統有時需要發出“元操作”,這些操作不直接傳輸數據,但做相關的事情,比如重新校準主機到卡的數據路徑延遲,請求卡狀態作為卡移除的代理,以及執行閃存維護操作,比如信號塊丟棄。對于eMMC設備,大多數元操作是通過發出帶有32位參數的命令CMD6來執行的。CQHCI支持在CQ模式下注入這些操作,通過指定控制器中的“頂部”標簽來執行DCMDs(直接命令)。然而,對于SD卡,執行元操作的命令集通常需要我們停止CQ引擎,并使用常規SD主機控制器寄存器發出非CQ命令。一旦這些差異被解決,我就有了一個可用的Linux驅動程序,它被推送到`rpi-update`。我在論壇上為冒險者創建了一個測試線程,并開始評估我大量的零售卡收藏。

SD卡如何實現CQ模式?以一種非常偶然的方式。SanDisk卡,特別是Extreme和Extreme Pro產品線,是我的第一選擇——它們的表現很好。然而,其他制造商的產品由于一個或多個常見缺陷而受到影響,這些缺陷排除了CQ模式操作,或者導致它們在使用中出現問題:- 盡管實現了擴展,但沒有聲明電源關閉通知支持- 在CQ模式被激活然后停用后,接收到緩存刷新請求時掛起
- 卡沒有正確實現“CQ啟用”擴展寄存器位——如果我寫入1,我將永遠讀回0
甚至有一種類型的卡聲稱支持Class A2,但忽略了任何讀取擴展寄存器以探測這些特性的請求!Raspberry Pi內核在功能探測期間或使用與卡標識符匹配的顯式quirk時過濾掉這些測試失敗的卡。如果您發現A2品牌卡在Raspberry Pi 5上表現不正常,那么請在上述論壇線程中報告。
寫入緩存+意外移除=壞事
啟用CQ模式的一個潛在陷阱是,它為卡提供了新的機會,在電源意外移除時破壞您的文件系統。在CQ模式下,主機應該遵守維持卡的電源供應的要求,只有在發送了電源關閉通知后才移除它;這為閃存控制器提供了一個機會,將所有未完成的寫入提交到閃存。對于像手機這樣有隱藏SD插槽的電池供電主機來說,這是一個容易履行的合同——請求設備關閉或揭開插槽可以觸發電源關閉通知。Raspberry Pi,有暴露的SD插槽和可插拔的PSU,很難提供這種保證。有多個寫入在飛行,或者有多個待處理寫入的通知,我們不能再保證寫入提交到閃存的順序。如果電源意外移除,最近的任意集合的寫入可能沒有被提交,而不是嚴格按照最近的_n_次寫入;這極大地復雜化了使文件系統對腐敗有彈性的任務。Raspberry Pi內核通過將CQ模式下的最大發布寫入數量限制為一個來規避這個問題。雖然理論上這可能會導致順序寫入吞吐量降低,但我測試的卡在性能上最多只有2-3%的降低。
介紹Longsys
一旦很明顯Class A2 SD卡在Raspberry Pi 5上運行CQ模式時提供了顯著的性能提升,我們就開始與幾家卡OEM討論,目標是驗證一個成本效益高的報價,它將在每一代Raspberry Pi計算機上都很好用。在與他們的工程團隊合作,使他們的卡的聲明特性集與我們的要求一致;通過在I/O重負載下自動執行超過100,000次意外斷電循環來證明這些卡的魯棒性;并調整這些卡以充分利用Raspberry Pi 5之后,我們選擇了Longsys作為我們的供應商。雖然在Raspberry Pi 5上的最佳性能是我們的主要目標,但這些卡的非CQ性能仍然非??欤ǔ谂f的Raspberry Pi計算機上看到顯著的性能提升。
Raspberry Pi 5的Raspberry Pi保護套

今天的另一個配件發布為您帶來了Raspberry Pi保護套:這個簡單的外殼解決方案你從未意識到你需要,已經成為Pi Towers的最愛。這是一個即插即用的硅膠底座,它可以輕松地保護您的Raspberry Pi5的底部和邊緣,以及您放置它的表面,還可以使電源按鈕更容易使用。它與Raspberry Pi Active Cooler兼容,并且只需3美元。就是這樣。兩個不起眼的,但極好的配件,我們想知道我們沒有它們是怎么過的。我們希望你們喜歡它們。
-
SD卡
+關注
關注
2文章
573瀏覽量
64521 -
Raspberry Pi
+關注
關注
2文章
613瀏覽量
22539 -
樹莓派
+關注
關注
118文章
1881瀏覽量
106243
發布評論請先 登錄
相關推薦
新品來襲!Raspberry Pi Compute Module 5

Raspberry Pi Pico 2 W 發布

Raspberry Pi Pico 2

Banana Pi M5 與 Raspberry Pi 4 – 基準測試

評論