91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用內(nèi)存加速存儲(chǔ)訪問速度

SSDFans ? 來源:SSDFans ? 2024-12-19 10:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本篇文章是首爾大學(xué)發(fā)表在FAST 2023上的文章。隨著閃存容量的增加,邏輯地址到物理地址的映射表項(xiàng)也相應(yīng)增加。映射表項(xiàng)通常存放在設(shè)備控制器中的SRAM來加速訪問。然而由于成本問題SRAM一直無法增長,這使得其中只能存放很少量的數(shù)據(jù)表項(xiàng)。而為了解決這一問題,現(xiàn)有工作使用部分主機(jī)端內(nèi)存(high performance booster, HPB)來緩存映射表項(xiàng)。然而文章中發(fā)現(xiàn),現(xiàn)有的HPB管理策略并不能夠很好的提升用戶體驗(yàn)。這是因?yàn)楝F(xiàn)有的管理策略通??赡軙?huì)將前臺(tái)應(yīng)用的表項(xiàng)剔除。而為了解決這一問題,本文設(shè)計(jì)提出HPBvalve技術(shù)來盡量緩存前臺(tái)應(yīng)用的映射表項(xiàng)。通過在搭建的真實(shí)平臺(tái)上的驗(yàn)證,該技術(shù)能夠很好的提升用戶體驗(yàn)。

背景

當(dāng)主機(jī)下發(fā)請求時(shí)會(huì)附上邏輯地址,UFS收到請求后會(huì)在閃存轉(zhuǎn)換層(FTL)進(jìn)行地址轉(zhuǎn)換,將邏輯地址轉(zhuǎn)換為物理地址,如圖1所示。記錄從邏輯地址到物理地址映射信息的稱之為映射表項(xiàng)。而為了加速這一過程,UFS中通常配備一個(gè)較小的SRAM用于緩存常用的映射表項(xiàng)。然而隨著閃存的迅速發(fā)展,SRAM空間越發(fā)不夠存儲(chǔ)經(jīng)常訪問的表項(xiàng)。例如對于1TB的UFS設(shè)備配備512KB SRAM,則只有0.0005%的表項(xiàng)能夠緩存在其中。顯然這遠(yuǎn)遠(yuǎn)不夠。而為了緩解這一問題,現(xiàn)有工作提出使用部分主機(jī)內(nèi)存(HPB)來緩存映射表項(xiàng)。相較于SRAM來說,主機(jī)能夠提供較大的內(nèi)存,從而緩存更多的映射表項(xiàng)來加速訪問。

067d3f74-bccf-11ef-8732-92fbcf53809c.png

動(dòng)機(jī)

為了展示映射表項(xiàng)對用戶體驗(yàn)的影響,文章中在搭建的平臺(tái)上做了很多實(shí)驗(yàn)。平臺(tái)將在實(shí)驗(yàn)部分介紹。其中設(shè)備容量為1TB,設(shè)備SRAM為512KB,HPB大小為256MB。OPTIMAL為所有映射表項(xiàng)都命中在設(shè)備SRAM的情況。應(yīng)用啟動(dòng)時(shí)間和加載時(shí)間作為衡量用戶體驗(yàn)的指標(biāo)。

圖2展示了映射表項(xiàng)訪問確實(shí)對用戶感知延遲的影響。從中我們可以得出三個(gè)結(jié)論:

通過對比OPTIMAL和其他兩個(gè)可以看出,啟動(dòng)延遲和加載延遲都得到了較為明顯的提升。從絕對值來看,分別是220ms和183ms,已經(jīng)是用戶可感知的延遲。

通過比較UFS和UFS+HPB可以發(fā)現(xiàn),盡管HPB能夠提供較大的容量,然而現(xiàn)有的管理策略并不能夠利用其很好的提升用戶體驗(yàn)。

HPB從主機(jī)端借用了較多的內(nèi)存反而會(huì)使得主機(jī)內(nèi)存壓力增加。

0699eba6-bccf-11ef-8732-92fbcf53809c.png

圖3中進(jìn)一步分析了HPB中前臺(tái)應(yīng)用和后臺(tái)應(yīng)用中映射表項(xiàng)的命中情況。從圖中我們可以看出前臺(tái)應(yīng)用的映射表項(xiàng)缺失情況比后臺(tái)應(yīng)用更加嚴(yán)重,這是因?yàn)椋?)傳統(tǒng)HPB采用基于計(jì)數(shù)的取映射表項(xiàng)策略。而后臺(tái)應(yīng)用比前臺(tái)應(yīng)用會(huì)下發(fā)更多的讀請求,這使得后臺(tái)應(yīng)用的映射表項(xiàng)的讀取計(jì)數(shù)通常比前臺(tái)應(yīng)用的高。因此會(huì)更傾向于將后臺(tái)應(yīng)用的映射表項(xiàng)取到HPB中。2)傳統(tǒng)HPB采用基于時(shí)間的映射表項(xiàng)剔除策略。然而當(dāng)用戶切換應(yīng)用并使用一段時(shí)間后,剛才使用應(yīng)用的映射表項(xiàng)也將會(huì)被剔除。這導(dǎo)致用戶再切換回來后映射表項(xiàng)缺失,影響用戶體驗(yàn)。

074513be-bccf-11ef-8732-92fbcf53809c.png

圖4和圖5分析了HPB無法很好預(yù)測哪些表項(xiàng)會(huì)被使用的原因。這是因?yàn)樵趹?yīng)用啟動(dòng)的時(shí)候,會(huì)有大量隨機(jī)的I/O請求,并且覆蓋很大的邏輯地址空間。這使得很難提高表項(xiàng)命中率。

075ee44c-bccf-11ef-8732-92fbcf53809c.png

0781ec9e-bccf-11ef-8732-92fbcf53809c.png

圖6探索了HPB大小對用戶體驗(yàn)的影響。從中我們可以發(fā)現(xiàn)最佳的HPB大小隨著應(yīng)用不同而不同。同時(shí)隨著HPB的大小增加,前臺(tái)應(yīng)用下發(fā)的讀取請求也在增加。這是因?yàn)镠PB分配過多內(nèi)存導(dǎo)致內(nèi)存壓力過大,會(huì)殺掉一些應(yīng)用。當(dāng)這些應(yīng)用(cold state)之后再被訪問的時(shí)候不僅啟動(dòng)時(shí)間增加,而且需要下發(fā)更多的讀取請求,如表1所示。圖7展示的是隨著HPB大小的增加,越來越多的應(yīng)用會(huì)被殺掉。

079311a4-bccf-11ef-8732-92fbcf53809c.png

07ac2a5e-bccf-11ef-8732-92fbcf53809c.png

07c98e82-bccf-11ef-8732-92fbcf53809c.png

設(shè)計(jì)

為了解決上述問題,文章中提出了HPBvalve(Hvalve),如圖8所示。Hvalve包含了五個(gè)部分。其中app-detector和mem-detector分別用于判斷應(yīng)用是否為前臺(tái)應(yīng)用、應(yīng)用狀態(tài)變化和內(nèi)存壓力情況。FG profiler維護(hù)了近期使用應(yīng)用會(huì)訪問的映射表項(xiàng),用于預(yù)取映射表項(xiàng)。L2P manager用于單獨(dú)管理前臺(tái)應(yīng)用的映射表項(xiàng)。HPB regulator用于根據(jù)內(nèi)存壓力情況調(diào)整HPB大小,避免過多應(yīng)用被殺掉。

087704f4-bccf-11ef-8732-92fbcf53809c.png

1. 前臺(tái)/后臺(tái)應(yīng)用識(shí)別:Hvalve在bio結(jié)構(gòu)體中創(chuàng)建新的變量UID,用于記錄下發(fā)請求所屬的應(yīng)用。當(dāng)bio創(chuàng)建請求的時(shí)候,UID也會(huì)集成在請求中。同時(shí)app detector會(huì)通過安卓活動(dòng)任務(wù)管理器(android activity task manager)來檢測是否有新的前臺(tái)應(yīng)用啟動(dòng)。如果有一個(gè)新的前臺(tái)應(yīng)用啟動(dòng)時(shí),將該應(yīng)用的UID傳遞給HPB。這樣HPB可以將該UID與請求中攜帶的UID進(jìn)行比較,從而判斷應(yīng)用是否為前臺(tái)應(yīng)用。

2. L2P management:Hvalve維護(hù)了三個(gè)LRU鏈表,分別用戶記錄活躍前臺(tái)應(yīng)用、非活躍前臺(tái)應(yīng)用和后臺(tái)應(yīng)用的映射表項(xiàng)。當(dāng)新的前臺(tái)應(yīng)用啟動(dòng)時(shí),會(huì)將之前的前臺(tái)應(yīng)用表項(xiàng)降級到非活躍前臺(tái)應(yīng)用鏈表中。當(dāng)需要剔除表項(xiàng)的時(shí)候優(yōu)先提出后臺(tái)應(yīng)用表項(xiàng),然后是非活躍前臺(tái)應(yīng)用表項(xiàng)。而前臺(tái)應(yīng)用表項(xiàng)不會(huì)被剔除。

09208e34-bccf-11ef-8732-92fbcf53809c.png

3. Hvalve緩存策略:1)其中依舊延續(xù)傳統(tǒng)的基于訪問計(jì)數(shù)的方式來緩存經(jīng)常被訪問的表項(xiàng)。2)對于前臺(tái)應(yīng)用緩存表項(xiàng)未命中時(shí),立即將該表項(xiàng)取到HPB中。3)根據(jù)FG profiler預(yù)取表項(xiàng)。

4. 前臺(tái)應(yīng)用分析和預(yù)?。簣D9展示了FG-profiler中記錄的信息。FG-profiler記錄近期訪問應(yīng)用的映射表項(xiàng)。同時(shí)根據(jù)app detector基于安卓活躍任務(wù)管理器發(fā)出的應(yīng)用啟動(dòng)開始和啟動(dòng)結(jié)束信號(hào),可以將映射表項(xiàng)分為啟動(dòng)表項(xiàng)和運(yùn)行表項(xiàng)。當(dāng)一個(gè)應(yīng)用被切換為前臺(tái)應(yīng)用的時(shí)候,hvalve會(huì)先判斷該應(yīng)用對應(yīng)的映射表項(xiàng)是否記錄在FG-profiler中。如果在,則將記錄的映射表項(xiàng)預(yù)取到HPB中,以加速訪問,如圖10所示。

09429542-bccf-11ef-8732-92fbcf53809c.png

096086e2-bccf-11ef-8732-92fbcf53809c.png

5. HPB大小動(dòng)態(tài)調(diào)整:mem-detector時(shí)刻監(jiān)測LMKD。當(dāng)內(nèi)存不足激活LMKD殺進(jìn)程時(shí),mem-detector會(huì)將將要?dú)⒌舻倪M(jìn)程UID傳送給HPB-regulator。HPB-regulator會(huì)判斷該應(yīng)用在FG-profiler中是否有記錄,如果沒有說明不是近期訪問過的應(yīng)用,則直接殺掉。如果有,則會(huì)根據(jù)LMKD需要釋放內(nèi)存的大小剔除HPB中的表項(xiàng)。優(yōu)先提出后臺(tái)應(yīng)用表項(xiàng),然后是非活躍應(yīng)用表項(xiàng)。如果剔除之后內(nèi)存仍然不足,則需要重新喚醒LMKD選取應(yīng)用殺掉。該過程如圖11所示。

0977b42a-bccf-11ef-8732-92fbcf53809c.png

實(shí)驗(yàn)

該文章為了探尋HPB不同方面的影響,自己搭建了一個(gè)平臺(tái),如圖12所示。其中使用高性能SSD作為主要存儲(chǔ),同時(shí)簡單實(shí)現(xiàn)了HPB的管理策略,來進(jìn)行映射表項(xiàng)的存取。應(yīng)用場景也如圖12所示。

09949a18-bccf-11ef-8732-92fbcf53809c.png

性能:性能提升如圖13所示。Hvalve相較于UFS和UFS+HPB均有所改善,并且接近OPTIMAL的場景。

09b6379a-bccf-11ef-8732-92fbcf53809c.png

表項(xiàng)未命中模式:圖14展示了前臺(tái)應(yīng)用表項(xiàng)缺失隨著運(yùn)行時(shí)間的分布??梢钥闯鯤valve很好的控制住了在應(yīng)用剛運(yùn)行時(shí)候的缺失率高的問題。

09d18ce8-bccf-11ef-8732-92fbcf53809c.png

命中率:圖15展示了Hvalve的命中率情況。相較于HPB-only,Hvalve很好的提升了應(yīng)用冷啟動(dòng)時(shí)的映射表項(xiàng)命中率。

09fccba6-bccf-11ef-8732-92fbcf53809c.png

HPB大小動(dòng)態(tài)調(diào)整效果:圖16展示了Hvalve動(dòng)態(tài)調(diào)整對前臺(tái)應(yīng)用的影響??梢钥闯鯤valve相較于傳統(tǒng)的HPB管理策略減少了被殺掉的應(yīng)用,同時(shí)很好的保護(hù)了高優(yōu)先級的應(yīng)用,減少了應(yīng)用下發(fā)的讀請求數(shù)量。圖17可以觀察到HPB大小動(dòng)態(tài)調(diào)整的過程。

0a0ff2c6-bccf-11ef-8732-92fbcf53809c.png

0a286ebe-bccf-11ef-8732-92fbcf53809c.png

總結(jié)

為了提高HPB的使用效率從而提升用戶體驗(yàn),本文在自己搭建的平臺(tái)上深入的分析了當(dāng)前HPB管理策略存在的問題,并在此基礎(chǔ)上設(shè)計(jì)了Hvalve。Hvalve通過對前臺(tái)應(yīng)用映射表項(xiàng)的識(shí)別和管理,提高了前臺(tái)應(yīng)用的訪問速度,提升用戶體驗(yàn)。同時(shí)根據(jù)內(nèi)存壓力動(dòng)態(tài)調(diào)整HPB大小,避免導(dǎo)致內(nèi)存壓力過大而殺掉過多的應(yīng)用,影響用戶體驗(yàn)。實(shí)驗(yàn)結(jié)果顯示,Hvalve提升了用戶前臺(tái)應(yīng)用表項(xiàng)的命中率,減少了被殺掉的應(yīng)用,提升了用戶體驗(yàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4808

    瀏覽量

    90118
  • sram
    +關(guān)注

    關(guān)注

    6

    文章

    821

    瀏覽量

    117532
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    9

    文章

    3215

    瀏覽量

    76404

原文標(biāo)題:手機(jī)訪問卡頓,看如何使用內(nèi)存加速存儲(chǔ)訪問速度!

文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【「Linux 設(shè)備驅(qū)動(dòng)開發(fā)(第 2 版)」閱讀體驗(yàn)】+讀深入理解Linux內(nèi)核內(nèi)存分配

    每個(gè)內(nèi)存地址是虛擬的,不是直接指向RAM中的任何地址。當(dāng)用戶訪問內(nèi)存中的存儲(chǔ)單元時(shí),都會(huì)進(jìn)行地址轉(zhuǎn)換以匹配相應(yīng)的物理內(nèi)存。書籍的第10章討論
    發(fā)表于 01-16 20:05

    C語言訪問某特定內(nèi)存位置

    嵌入式系統(tǒng)經(jīng)常具有要求程序員去訪問某特定的內(nèi)存位置的特點(diǎn)。在某工程中,要求設(shè)置一絕對地址為0x67a9的整型變量的值為0xaa66。編譯器是一個(gè)純粹的ANSI編譯器。寫代碼去完成這一任務(wù)。 考察點(diǎn)
    發(fā)表于 12-22 15:42

    加速度計(jì)都有哪些分類?

    加速度計(jì)的分類主要依據(jù)其工作原理和測量維度(軸數(shù)),以下是詳細(xì)的分類:按工作原理分類(這是最核心的分類方式)這是根據(jù)加速度計(jì)內(nèi)部如何感知和轉(zhuǎn)換加速度信號(hào)來劃分的。
    的頭像 發(fā)表于 12-04 15:55 ?568次閱讀
    <b class='flag-5'>加速度</b>計(jì)都有哪些分類?

    使用直接尋址方式提高速度

    允許編譯器生成更高效的代碼,因?yàn)?b class='flag-5'>訪問變量時(shí)不需要額外的地址計(jì)算。這樣可以減少指令周期,提高執(zhí)行速度。直接尋址通常用于內(nèi)存限制較小的存儲(chǔ)區(qū)域,如8051微控制器的內(nèi)部數(shù)據(jù)
    發(fā)表于 12-04 06:28

    加速度計(jì)伺服電路模塊原理與應(yīng)用

    在慣性導(dǎo)航與姿態(tài)控制這一尖端技術(shù)領(lǐng)域,系統(tǒng)感知運(yùn)動(dòng)狀態(tài)的能力直接決定了其精度與可靠性。而將物理世界的加速度精確轉(zhuǎn)換為可用電信號(hào)的關(guān)鍵,在于一個(gè)核心部件——加速度計(jì)伺服電路模塊。該模塊專為光電加速度
    的頭像 發(fā)表于 11-28 15:43 ?428次閱讀

    內(nèi)存與數(shù)據(jù)處理優(yōu)化藝術(shù)

    內(nèi)存訪問是程序運(yùn)行的瓶頸之一。減少內(nèi)存訪問次數(shù)可以顯著提高程序的運(yùn)行速度。 在C語言中,指針是直接操作內(nèi)
    發(fā)表于 11-14 07:46

    芯源的片上存儲(chǔ)器介紹

    ,在芯片出廠時(shí)已編程,用戶不可更改。 FLASH 控制器實(shí)現(xiàn)對FLASH 的各種操作(擦除、寫、讀?。?,內(nèi)部的預(yù)取緩存機(jī)制可加速CPU 代碼執(zhí)行速度。 FLASH 支持以字節(jié)(8bit)、半字
    發(fā)表于 11-12 07:34

    加速度傳感器可以測量物體的垂直移動(dòng)速度嗎?

    有客戶提問到是否可以通過加速度的數(shù)據(jù)算出物體垂直移動(dòng)的速度?簡短的回答是:不能直接測量,但可以通過間接計(jì)算來估算,不過這種方法通常誤差較大,不太適合精確測量。下面我們來詳細(xì)解釋為什么,以及如何估算
    的頭像 發(fā)表于 10-31 13:09 ?1179次閱讀
    <b class='flag-5'>加速度</b>傳感器可以測量物體的垂直移動(dòng)<b class='flag-5'>速度</b>嗎?

    一些神經(jīng)網(wǎng)絡(luò)加速器的設(shè)計(jì)優(yōu)化方案

    問題介紹 1.利用本地存儲(chǔ) 參考 CPU 的多級存儲(chǔ),在片內(nèi)增加多級存儲(chǔ),類似于 Cache ,利用片上 Memory 存儲(chǔ)部分?jǐn)?shù)據(jù),做到數(shù)據(jù)復(fù)用,減少
    發(fā)表于 10-31 07:14

    石英加速度計(jì)如何成為航空航天測量線性加速度的核心器件?

    在航空航天領(lǐng)域,精準(zhǔn)的線性加速度測量是飛行器導(dǎo)航、控制與安全的核心基礎(chǔ)。ER-QA-03C系列小型石英加速度計(jì)憑借其卓越的性能和緊湊的設(shè)計(jì),成為這一關(guān)鍵任務(wù)中不可或缺的測量器件。該產(chǎn)品不僅適用于
    的頭像 發(fā)表于 09-23 16:27 ?576次閱讀
    石英<b class='flag-5'>加速度</b>計(jì)如何成為航空航天測量線性<b class='flag-5'>加速度</b>的核心器件?

    MEMS加速度計(jì)與石英加速度計(jì)的發(fā)展現(xiàn)狀與水平對比

    在工程測量與慣性導(dǎo)航領(lǐng)域,加速度計(jì)是感知運(yùn)動(dòng)與振動(dòng)的核心傳感器。其中,微機(jī)電系統(tǒng)(MEMS)加速度計(jì)和石英加速度計(jì)是兩種技術(shù)路線迥異但應(yīng)用廣泛的重要類型。它們各自的發(fā)展現(xiàn)狀和技術(shù)水平呈現(xiàn)出一種既競爭又互補(bǔ)的格局。
    的頭像 發(fā)表于 09-19 14:55 ?1260次閱讀
    MEMS<b class='flag-5'>加速度</b>計(jì)與石英<b class='flag-5'>加速度</b>計(jì)的發(fā)展現(xiàn)狀與水平對比

    Murata加速度傳感器的FAQ

    Q:加速度傳感器與傾斜傳感器有何區(qū)別?A:Murata的傾斜傳感器和加速度傳感器,都以相同的MEMS容量測量技術(shù)為基礎(chǔ)。產(chǎn)品根據(jù)目的被優(yōu)化,因各自使用的g量程而異。傾斜傳感器的g量程最大值為地球重力
    的頭像 發(fā)表于 09-10 12:02 ?891次閱讀
    Murata<b class='flag-5'>加速度</b>傳感器的FAQ

    Microchip推出Adaptec? SmartRAID 4300 系列加速器 提供安全的可擴(kuò)展 NVMe? RAID 存儲(chǔ)解決方案

    ,專為NVMe部署而設(shè)計(jì)。該系列加速器尤其適用于現(xiàn)代人工智能數(shù)據(jù)中心環(huán)境。在此類環(huán)境中,加速訪問NVMe存儲(chǔ)對于支持高強(qiáng)度工作負(fù)載
    的頭像 發(fā)表于 08-06 16:31 ?1.9w次閱讀
    Microchip推出Adaptec? SmartRAID 4300 系列<b class='flag-5'>加速</b>器 提供安全的可擴(kuò)展 NVMe? RAID <b class='flag-5'>存儲(chǔ)</b>解決方案

    半導(dǎo)體存儲(chǔ)芯片核心解析

    電容存儲(chǔ)電荷(代表0或1)。電容會(huì)漏電,需要定時(shí)刷新(Refresh)來維持?jǐn)?shù)據(jù),所以叫“動(dòng)態(tài)”。 特點(diǎn): 優(yōu)點(diǎn):速度非??欤{秒級訪問),成本相對較低(單位容量),高密度。 缺點(diǎn):易失性(斷電數(shù)據(jù)丟失
    發(fā)表于 06-24 09:09

    加速度傳感器的應(yīng)用與選購技巧

    加速度傳感器是一種能夠測量加速力的電子設(shè)備,其核心工作原理基于牛頓的第二運(yùn)動(dòng)定律。當(dāng)傳感器感受到外部加速度時(shí),其內(nèi)部的電子器件會(huì)發(fā)生變化,進(jìn)而產(chǎn)生與加速度大小成比例的輸出信號(hào)。這種信號(hào)
    的頭像 發(fā)表于 03-17 16:47 ?1558次閱讀
    <b class='flag-5'>加速度</b>傳感器的應(yīng)用與選購技巧