編者按:數(shù)字經(jīng)濟(jì)時(shí)代,隨著數(shù)據(jù)中心規(guī)模的不斷擴(kuò)大和數(shù)據(jù)量的爆發(fā)式增長(zhǎng),存儲(chǔ)技術(shù)的重要性日益顯著,?直接關(guān)系到數(shù)據(jù)中心的運(yùn)行性能、效率和安全可靠。?基于平頭哥在存儲(chǔ)主控芯片領(lǐng)域的創(chuàng)新實(shí)踐,策劃推出存儲(chǔ)技術(shù)專欄系列——【存儲(chǔ)技談】,共同探討存儲(chǔ)發(fā)展趨勢(shì)。
在上一篇存儲(chǔ)技談中,我們重點(diǎn)闡述了平頭哥技術(shù)團(tuán)隊(duì)通過(guò)軟硬件的合理分工和流程優(yōu)化等創(chuàng)新,在鎮(zhèn)岳510存儲(chǔ)主控芯片上實(shí)現(xiàn)了4μs的超低4K IO Write Latency,而在SSD(固態(tài)硬盤)主控芯片中,還有一個(gè)關(guān)于時(shí)延的重要性能指標(biāo)是E2E(End-to-End,端到端)時(shí)延,也能直接影響到SSD的響應(yīng)速度。
E2E時(shí)延統(tǒng)計(jì)一般用于測(cè)量數(shù)據(jù)從應(yīng)用程序發(fā)送請(qǐng)求,經(jīng)過(guò)SSD的處理,直到數(shù)據(jù)最終返回給應(yīng)用程序所需的時(shí)間。這一過(guò)程涉及多個(gè)階段,包括命令的接收、數(shù)據(jù)的讀取/寫入、以及結(jié)果的返回等,直接反映了用戶應(yīng)用在與存儲(chǔ)設(shè)備交互時(shí)所經(jīng)歷的實(shí)際延遲,幫助開發(fā)者和用戶直觀了解SSD在實(shí)際應(yīng)用中的表現(xiàn)。
不同階段的時(shí)延統(tǒng)計(jì),能很好的幫助定位系統(tǒng)QoS時(shí)延問(wèn)題,從而進(jìn)行針對(duì)性優(yōu)化提升。從主機(jī)Host抓取E2E時(shí)延,可以界定主機(jī)側(cè)發(fā)現(xiàn)的長(zhǎng)尾時(shí)延是否在盤內(nèi)產(chǎn)生。從SSD盤內(nèi)抓取E2E在IO處理路徑不同階段的分解時(shí)延,可以輔助性能調(diào)優(yōu)進(jìn)行問(wèn)題定位。E2E時(shí)延統(tǒng)計(jì)是SSD開發(fā)必不可少的一項(xiàng)功能。
01傳統(tǒng)E2E時(shí)延統(tǒng)計(jì)造成額外開銷和測(cè)量誤差
傳統(tǒng)方案中,E2E時(shí)延統(tǒng)計(jì)往往依賴于固件中的軟件實(shí)現(xiàn)。
當(dāng)一個(gè)I/O命令被提交給SSD時(shí),控制器會(huì)記錄一個(gè)時(shí)間戳;隨后,在各個(gè)處理階段,如命令解析、地址映射、實(shí)際讀寫操作等,可能會(huì)再次記錄時(shí)間戳以跟蹤進(jìn)度,以計(jì)算各個(gè)分段時(shí)延;最后,當(dāng)命令完成并發(fā)送CQE(Completion Queue Entry)回主機(jī)時(shí),再進(jìn)行總時(shí)延的計(jì)算。
這種統(tǒng)計(jì)方法不僅增加了額外的軟件開銷,并可能導(dǎo)致一定的測(cè)量誤差。軟件進(jìn)行時(shí)間戳抓取與硬件數(shù)據(jù)處理并不同步,如果硬件的數(shù)據(jù)處理和控制信息狀態(tài)更新異步,軟件統(tǒng)計(jì)的I/O命令完成時(shí)間就會(huì)存在較大誤差。
02基于硬件輔助的E2E時(shí)延統(tǒng)計(jì)更精準(zhǔn)高效
為了更精確且高效地進(jìn)行E2E時(shí)延統(tǒng)計(jì),平頭哥技術(shù)團(tuán)隊(duì)在鎮(zhèn)岳510主控芯片的設(shè)計(jì)中,引入了硬件級(jí)別支持來(lái)提升效能,也即利用專用硬件模塊來(lái)自動(dòng)捕獲和管理時(shí)間戳,從而避免了軟件干預(yù)帶來(lái)的額外延遲和資源消耗。
具體的系統(tǒng)方案包括以下四個(gè)步驟:
時(shí)間戳捕捉:
硬件可以在接收到來(lái)自主機(jī)的SQE(Submission Queue Entry)時(shí)立即記錄時(shí)間戳,并在最終將CQE送回主機(jī)之前再次記錄時(shí)間戳。
全局時(shí)間同步:
確保所有內(nèi)部處理單元使用同一基準(zhǔn)時(shí)間源,以便能夠準(zhǔn)確地比較不同階段的時(shí)間差。
分段時(shí)延測(cè)量:
除了整體E2E時(shí)延外,還可以針對(duì)SSD內(nèi)部的不同處理步驟(例如前端命令解析、FTL映射查詢、BE后端命令執(zhí)行等)硬件支持單獨(dú)進(jìn)行時(shí)延統(tǒng)計(jì),幫助識(shí)別性能瓶頸。
異常檢測(cè)與報(bào)告:
如果某個(gè)I/O命令的處理超過(guò)了預(yù)設(shè)的時(shí)延閾值,硬件可以觸發(fā)報(bào)警機(jī)制,將相關(guān)信息傳遞給固件進(jìn)行進(jìn)一步分析。
平頭哥鎮(zhèn)岳510時(shí)延統(tǒng)計(jì)方案示意圖
通過(guò)如上的硬件輔助方法,不僅可以獲得更加精確的E2E時(shí)延統(tǒng)計(jì)數(shù)據(jù),還能有效減少因頻繁時(shí)間戳記錄而造成的系統(tǒng)負(fù)擔(dān),同時(shí)提供足夠的靈活性用于后續(xù)的數(shù)據(jù)分析和性能調(diào)優(yōu),在精確性和時(shí)效性上實(shí)現(xiàn)了雙重提升。
03精準(zhǔn)的E2E時(shí)延統(tǒng)計(jì)可發(fā)揮重要價(jià)值
E2E時(shí)延統(tǒng)計(jì)的精確性和時(shí)效性,不僅影響著應(yīng)用程序的響應(yīng)速度,還可能對(duì)整體系統(tǒng)吞吐量產(chǎn)生重大影響。
在云計(jì)算環(huán)境中,大量用戶同時(shí)訪問(wèn)存儲(chǔ)資源,E2E時(shí)延統(tǒng)計(jì)可以幫助監(jiān)測(cè)數(shù)據(jù)傳輸?shù)男?,?duì)于平衡負(fù)載和保證響應(yīng)時(shí)間至關(guān)重要;在科學(xué)計(jì)算或模擬等高性能計(jì)算應(yīng)用中,E2E時(shí)延統(tǒng)計(jì)能夠確保數(shù)據(jù)交換的高效性,減少計(jì)算等待時(shí)間,從而加速整體計(jì)算效率;而在金融交易、視頻流處理和在線游戲等實(shí)時(shí)數(shù)據(jù)分析和處理的場(chǎng)景中,實(shí)時(shí)監(jiān)測(cè)E2E時(shí)延有助于確保系統(tǒng)的高可用性和快速響應(yīng)。
隨著應(yīng)用場(chǎng)景的不斷擴(kuò)展,通過(guò)優(yōu)化SSD主控產(chǎn)品中的E2E時(shí)延統(tǒng)計(jì),能夠顯著提升性能,同時(shí),基于這些數(shù)據(jù)的深入分析與應(yīng)用也可以為終端用戶帶來(lái)更優(yōu)質(zhì)的體驗(yàn)。因此,關(guān)注和優(yōu)化E2E時(shí)延統(tǒng)計(jì)不僅是提升系統(tǒng)性能的必要舉措,也是增強(qiáng)用戶體驗(yàn)的重要手段。
平頭哥鎮(zhèn)岳510通過(guò)創(chuàng)新的E2E時(shí)延統(tǒng)計(jì)方案,有效地提升了SSD在實(shí)際應(yīng)用中的響應(yīng)速度和性能表現(xiàn),從而為云計(jì)算、數(shù)據(jù)庫(kù)、人工智能等場(chǎng)景提供領(lǐng)先的存儲(chǔ)服務(wù)支持。
更多技術(shù)亮點(diǎn)和創(chuàng)新方案,后續(xù)我們將持續(xù)展開闡釋,敬請(qǐng)關(guān)注。
-
存儲(chǔ)技術(shù)
+關(guān)注
關(guān)注
5文章
744瀏覽量
45840 -
SSD
+關(guān)注
關(guān)注
21文章
2878瀏覽量
117652 -
固態(tài)硬盤
+關(guān)注
關(guān)注
12文章
1471瀏覽量
57480 -
平頭哥
+關(guān)注
關(guān)注
0文章
65瀏覽量
9100
原文標(biāo)題:【存儲(chǔ)技談】提升SSD響應(yīng)速度:硬件輔助實(shí)現(xiàn)E2E時(shí)延統(tǒng)計(jì)的精準(zhǔn)高效
文章出處:【微信號(hào):gh_65bdec3412bd,微信公眾號(hào):平頭哥半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論