两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于邏輯地址歸并排序的FTL表項(xiàng)全硬件加速模塊方法與流程

文檔序號(hào):40655959發(fā)布日期:2025-01-10 19:07閱讀:1來(lái)源:國(guó)知局
一種基于邏輯地址歸并排序的FTL表項(xiàng)全硬件加速模塊方法與流程

本發(fā)明屬于工業(yè)級(jí)ssd陣列,具體涉及一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法。


背景技術(shù):

1、數(shù)據(jù)中心級(jí)固態(tài)硬盤(pán)或者工業(yè)級(jí)硬盤(pán)通常帶有動(dòng)態(tài)隨機(jī)存取內(nèi)存,以此來(lái)提升主機(jī)端讀取與存取的性能。在實(shí)際使用場(chǎng)景中,一筆數(shù)據(jù)的寫(xiě)入,對(duì)應(yīng)的一級(jí)表項(xiàng)需要先從動(dòng)態(tài)隨機(jī)存取內(nèi)存中將原先的映射關(guān)系讀出,將一級(jí)表項(xiàng)原數(shù)據(jù)塊中的有效數(shù)據(jù)數(shù)量減少,再將新數(shù)據(jù)對(duì)應(yīng)的映射關(guān)系寫(xiě)入動(dòng)態(tài)隨機(jī)存取內(nèi)存中,并且標(biāo)志當(dāng)前一級(jí)表項(xiàng)為已修改的表項(xiàng),固件需要將此表項(xiàng)作為快照內(nèi)容存取到flash中,通常該標(biāo)志位也放在動(dòng)態(tài)隨機(jī)存取內(nèi)存中。另外該筆寫(xiě)入數(shù)據(jù)還需要在動(dòng)態(tài)隨機(jī)存取內(nèi)存中寫(xiě)入對(duì)應(yīng)的反向表,表示寫(xiě)入物理地址當(dāng)下的邏輯地址,用于garbage?collection時(shí)判定當(dāng)前是否數(shù)據(jù)是否有效。由此可見(jiàn),實(shí)際控制器運(yùn)作時(shí),一筆4kb數(shù)據(jù)的寫(xiě)入通常會(huì)包含一筆邏輯地址動(dòng)態(tài)隨機(jī)存取內(nèi)存數(shù)據(jù)的讀取和兩筆或三筆動(dòng)態(tài)隨機(jī)存取內(nèi)存數(shù)據(jù)的寫(xiě)入,且會(huì)改變動(dòng)態(tài)隨機(jī)存取內(nèi)存數(shù)據(jù)的讀取和存取方向,嚴(yán)重動(dòng)態(tài)隨機(jī)存取內(nèi)存的使用效率。

2、若采用cpu實(shí)時(shí)更新映射關(guān)系的方式,會(huì)引入大量的cpu訪問(wèn)開(kāi)銷(xiāo),導(dǎo)致查找映射關(guān)系和更新映射關(guān)系的效率降低,從而降低ftl?cpu的運(yùn)行效率,影響讀取和存取的性能;

3、現(xiàn)有的技術(shù)除了實(shí)時(shí)更新映射關(guān)系外,主要是通過(guò)提升動(dòng)態(tài)隨機(jī)存取內(nèi)存頻率,或通過(guò)代碼優(yōu)化方案規(guī)避,一級(jí)表項(xiàng)使用靜態(tài)隨機(jī)存取內(nèi)存短暫緩存動(dòng)態(tài)隨機(jī)存取內(nèi)存規(guī)避的方式來(lái)解決,將順序讀寫(xiě)的表項(xiàng)通過(guò)硬件總線搬移到靜態(tài)隨機(jī)存取內(nèi)存中,再訪問(wèn)靜態(tài)隨機(jī)存取內(nèi)存,靜態(tài)隨機(jī)存取內(nèi)存所分配大小被更新完后,再通過(guò)硬件總線整體搬移至動(dòng)態(tài)隨機(jī)存取內(nèi)存。對(duì)于標(biāo)志已修改表項(xiàng),則是記錄每一筆數(shù)據(jù)實(shí)際更新的一級(jí)表項(xiàng)是否相同,若相同,則不對(duì)其置位。

4、該方法的缺陷包括但不限于:cpu實(shí)時(shí)更新映射關(guān)系會(huì)加劇cpu負(fù)擔(dān);動(dòng)態(tài)隨機(jī)存取內(nèi)存頻率固定,無(wú)法無(wú)限制提升頻率;范例僅對(duì)大數(shù)據(jù)塊的邏輯地址順序讀寫(xiě)查找映射關(guān)系和更新映射關(guān)系有效,隨機(jī)讀取和存取查找映射關(guān)系和更新映射無(wú)法預(yù)判讀寫(xiě)改表的位置,則無(wú)法使用該優(yōu)化方案;靜態(tài)隨機(jī)存取內(nèi)存短暫緩存動(dòng)態(tài)隨機(jī)存取內(nèi)存強(qiáng)烈依賴(lài)于硬件搬移的速度,因?yàn)橛布偩€搬移與cpu運(yùn)作是串行操作,需要消耗一定的cpu效能,并且需要滿(mǎn)足tm(搬移時(shí)間)+ts(訪問(wèn)靜態(tài)隨機(jī)存取內(nèi)存)<td(訪問(wèn)動(dòng)態(tài)隨機(jī)存取內(nèi)存);新增代碼負(fù)擔(dān),cpu需要判定是否滿(mǎn)足搬移場(chǎng)景,若誤判,則會(huì)新增cpu負(fù)擔(dān)。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明的目的在于提供一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法,旨在解決上述cpu實(shí)時(shí)更新映射關(guān)系、頻率提升有限、靜態(tài)隨機(jī)存取內(nèi)存短暫緩存動(dòng)態(tài)隨機(jī)存取內(nèi)存僅對(duì)大數(shù)據(jù)塊的邏輯地址順序讀取和存取查找映射關(guān)系和更新映射關(guān)系有效,隨機(jī)讀取和存取無(wú)法預(yù)判讀寫(xiě)改表的位置,無(wú)法加速、強(qiáng)烈依賴(lài)與硬件搬移的速度,硬件總線搬移與cpu運(yùn)作是串行操作,需要消耗一定的cpu效能,并且需要滿(mǎn)足tm(搬移時(shí)間)+ts(訪問(wèn)靜態(tài)隨機(jī)存取內(nèi)存)<td(訪問(wèn)動(dòng)態(tài)隨機(jī)存取內(nèi)存)和cpu需要判定是否滿(mǎn)足搬移場(chǎng)景,若誤判,則會(huì)新增cpu負(fù)擔(dān)的問(wèn)題。

2、為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法,包括:

3、所述tu模塊接收邏輯地址序列,并將邏輯地址拆解為新的有效映射關(guān)系;

4、所述tu模塊拆解的命令經(jīng)過(guò)所述l2pa模塊歸并排序,將未知狀態(tài)的邏輯地址序列進(jìn)行排序;

5、所述p2la模塊將tu模塊拆解生成的邏輯地址,按照實(shí)際物理單元寫(xiě)入順序保存邏輯地址信息;

6、所述tmu模塊為實(shí)際與動(dòng)態(tài)隨機(jī)存取內(nèi)存交互的硬件模塊,更新新產(chǎn)生的映射關(guān)系;

7、所述vm模塊與tmu模塊交互,更新vb(virtual?block)的有效數(shù)據(jù)量。

8、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,所述tu模塊拆解邏輯地址命令序列后,在合適的時(shí)機(jī)下刷至l2pa模塊和p2la模塊,時(shí)機(jī)如下:

9、1)、當(dāng)累計(jì)的邏輯地址序列已經(jīng)超過(guò)內(nèi)部緩存的大?。?/p>

10、2)、累計(jì)的邏輯地址數(shù)量超過(guò)某固定值;

11、3)、發(fā)送flush命令。

12、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,所述l2pa模塊排序方式為假設(shè)每個(gè)實(shí)體單元為一對(duì)邏輯地址與物理地址的映射關(guān)系,第一層有n組已排序?qū)嶓w單元,除第一層外每層有m組已排序?qū)嶓w單元序列,共有k層邏輯地址排序,則每一層需要存放的實(shí)體單元為:

13、s=n*mk-1

14、每一層存放的實(shí)體單元通過(guò)歸并排序后再搬移至存放于下一層。

15、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,所述l2pa模塊每次flush第k層數(shù)據(jù)到tmu模塊做表項(xiàng)插入緩存操作。在表項(xiàng)插入緩存期間,低k-1層持續(xù)接收tu模塊插入的數(shù)據(jù),直到將k-1層所有數(shù)據(jù)堆滿(mǎn),則pause住tu模塊。另外l2pa持續(xù)判斷當(dāng)前插入的邏輯地址是否依據(jù)排序規(guī)則進(jìn)行連續(xù)插入操作,若邏輯地址為順序操作,則不做排序,直接合并到下一層。

16、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的。所述p2la模塊保存的邏輯地址最終插入至存儲(chǔ)位置動(dòng)態(tài)隨機(jī)存取內(nèi)存或靜態(tài)隨機(jī)存取內(nèi)存中。

17、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,所述tmu模塊根據(jù)內(nèi)部寄存器設(shè)置的表項(xiàng)起始地址以及l(fā)2pa中的邏輯地址的實(shí)際單元,可計(jì)算出需要更新的一級(jí)表項(xiàng)的位置。由于動(dòng)態(tài)隨機(jī)存取內(nèi)存中的表項(xiàng)依據(jù)邏輯地址順序存放,當(dāng)亂序插入的連續(xù)邏輯地址被排序合并后,可合并更新至動(dòng)態(tài)隨機(jī)存取內(nèi)存中,提升動(dòng)態(tài)隨機(jī)存取內(nèi)存的數(shù)據(jù)傳輸效率。

18、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,當(dāng)所述tmu模塊接收到來(lái)自l2pa模塊插入的命令,vm模塊根據(jù)邏輯地址訪問(wèn)當(dāng)前動(dòng)態(tài)隨機(jī)存取內(nèi)存中的映射關(guān)系,得到原數(shù)據(jù)物理地址,更新vpc(valid?page?count:所述vb的有效數(shù)據(jù)大小),通常有效數(shù)據(jù)大小存放于靜態(tài)隨機(jī)存取內(nèi)存中,可根據(jù)內(nèi)部寄存器設(shè)置的地址進(jìn)行更新操作。

19、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,所述tu模塊中硬件控制訪問(wèn)動(dòng)態(tài)隨機(jī)存取內(nèi)存,cpu不直接訪問(wèn)動(dòng)態(tài)隨機(jī)存取內(nèi)存,硬件與cpu同步工作。

20、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,所述存儲(chǔ)位置(動(dòng)態(tài)隨機(jī)存取內(nèi)存或靜態(tài)隨機(jī)存取內(nèi)存)中對(duì)于相鄰的映射關(guān)系可以以burst為單位一次更新,而不用拆分為多個(gè)讀寫(xiě)存儲(chǔ)位置的命令。

21、作為本發(fā)明一種基于邏輯地址歸并排序的ftl表項(xiàng)全硬件加速模塊方法優(yōu)選的,所述tu模塊將邏輯地址命令序列(起始邏輯地址、起始物理地址、命令長(zhǎng)度)根據(jù)命令長(zhǎng)度拆解為4kb為單位的邏輯地址與物理地址的多對(duì)映射關(guān)系,并插入到l2pa(l2p?array)和p2la(p2l?array)中。

22、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:

23、本發(fā)明有益效果在于:cpu不直接訪問(wèn)動(dòng)態(tài)隨機(jī)存取內(nèi)存中的表項(xiàng),而是通過(guò)硬件控制訪問(wèn),硬件與cpu同時(shí)工作,提升cpu的運(yùn)轉(zhuǎn)效率,減少代碼負(fù)擔(dān),減少代碼邏輯控制,每筆命令序列只需要插入一次到tu中即可,后續(xù)全部由硬件完成,提升動(dòng)態(tài)隨機(jī)存取內(nèi)存的使用效率,對(duì)于相鄰的映射關(guān)系可以以burst(一次dma傳輸?shù)淖钚∮|發(fā)單元)為單位一次更新,對(duì)于高性能ssd,可以給cpu預(yù)留更多空閑時(shí)間片來(lái)處理如定時(shí)巡檢、讀干擾和garbagecollection等功能,提高cpu利用率。在隨機(jī)模式下,將相鄰邏輯地址數(shù)據(jù)合并插入,同一張一級(jí)表項(xiàng)的數(shù)據(jù)只標(biāo)記一次二級(jí)表項(xiàng),正向表與反向表均可通過(guò)硬件更新,不再由cpu訪問(wèn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平利县| 万荣县| 高唐县| 铜梁县| 志丹县| 加查县| 礼泉县| 青铜峡市| 奇台县| 定州市| 新营市| 揭阳市| 阳新县| 贵定县| 三台县| 黎川县| 西乌珠穆沁旗| 竹山县| 连城县| 乌兰浩特市| 昌图县| 司法| 黄龙县| 普兰县| 南城县| 新郑市| 印江| 彰化市| 托里县| 新丰县| 固阳县| 宁化县| 铁岭市| 德安县| 古交市| 丹东市| 双江| 东海县| 高邑县| 沙湾县| 正蓝旗|