欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種提高固態(tài)硬盤中雙核間通信效率的方法與流程

文檔序號(hào):11627641閱讀:259來(lái)源:國(guó)知局
一種提高固態(tài)硬盤中雙核間通信效率的方法與流程

本發(fā)明涉及固態(tài)硬盤控制技術(shù),特別涉及一種提高固態(tài)硬盤中雙核間通信效率的方法。



背景技術(shù):

固態(tài)硬盤ssd的芯片soc一般都是雙核或多核,也稱為雙cpu或多cpu,一個(gè)核就是一個(gè)cpu,固件的設(shè)計(jì)中需要考慮雙核間通信的效率與安全性。目前的固件設(shè)計(jì)中雙核間一般是通過先進(jìn)先出隊(duì)列fifo通信的,為了保證安全性雙核同一時(shí)刻不能同時(shí)操作fifo,設(shè)計(jì)中為每個(gè)fifo都配備一個(gè)信號(hào)鎖,任何一個(gè)核操作該fifo前需要拿到鎖,如果該鎖已被另一個(gè)核拿走,則需要等待該信號(hào)鎖被釋放,這就造成了時(shí)間上的損耗,即雙核間通信效率降低。

圖1是一個(gè)現(xiàn)有技術(shù)的fifo循環(huán)隊(duì)列示意圖,該fifo隊(duì)列一般包含如下信息:空閑數(shù):表示fifo中空閑的請(qǐng)求數(shù)目;請(qǐng)求數(shù):表示已提交至fifo的請(qǐng)求數(shù);隊(duì)列深度n:表示fifo可容納的請(qǐng)求總數(shù);寫入點(diǎn)p1:表示下一個(gè)寫入請(qǐng)求的位置;讀取點(diǎn)p2:表示下一個(gè)讀取請(qǐng)求的位置;鎖:cpu只有拿到鎖后才能操作fifo,操作期間另一個(gè)cpu將得不到該鎖,操作完成后釋放鎖,另一個(gè)cpu才能拿到鎖。

現(xiàn)假設(shè)雙核包括cpu0和cpu1,cpu0只提交寫入請(qǐng)求至fifo,cpu1只從fifo讀取請(qǐng)求。

cpu0提交請(qǐng)求至fifo操作如下:首先嘗試拿到鎖,如果拿不到則拿鎖失敗等待直到拿鎖成功;拿到鎖后則拿住鎖,并鎖定鎖,將請(qǐng)求寫入到寫入點(diǎn)位置,然后寫入點(diǎn)向后移一個(gè)位置,空閑數(shù)減1,請(qǐng)求數(shù)加1;釋放鎖。

cpu1從fifo中讀取請(qǐng)求操作如下:首先嘗試拿到鎖,如果拿不到則拿鎖失敗等待直到拿到鎖;拿到鎖后則拿住鎖,并鎖定鎖,從讀取點(diǎn)拿出請(qǐng)求,然后讀取點(diǎn)向后移一個(gè)位置,空閑數(shù)加1,請(qǐng)求數(shù)減1,釋放鎖。

從上面過程也可以看出為什么操作fifo一定要加鎖,因?yàn)閏pu0提交請(qǐng)求和cpu1讀取請(qǐng)求都會(huì)操作空閑數(shù)和請(qǐng)求數(shù),如果不加鎖,會(huì)存在兩個(gè)cpu同時(shí)操作空閑數(shù)或請(qǐng)求數(shù)的時(shí)刻,那么空閑數(shù)或請(qǐng)求數(shù)將會(huì)變成一個(gè)不可預(yù)期的值。正是由于必須拿到鎖才能操作fifo,中間會(huì)有等待鎖被釋放的過程,造成時(shí)間的浪費(fèi),導(dǎo)致通信效率降低。



技術(shù)實(shí)現(xiàn)要素:

針對(duì)以上缺陷,本發(fā)明目的是如何克服了現(xiàn)有技術(shù)中采用鎖來(lái)保證通訊安全并且每次操作fifo只處理一個(gè)請(qǐng)求而導(dǎo)致效率低下的問題。

為了解決以上問題本發(fā)明提出了一種提高固態(tài)硬盤中雙核間通信效率的方法,雙核分別為cpu1和cpu0,cpu1和cpu0共同操作循環(huán)列表fifo,循環(huán)列表深度為n,fifo由每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)隊(duì)列節(jié)點(diǎn),其特征在于cpu0或cpu1將當(dāng)前需要提交的請(qǐng)求形成請(qǐng)求節(jié)點(diǎn)列表,當(dāng)cpu0或cpu1獲得當(dāng)前隊(duì)列控制權(quán),則將請(qǐng)求節(jié)點(diǎn)列表作為一個(gè)隊(duì)列節(jié)點(diǎn)掛載到fifo,當(dāng)系統(tǒng)執(zhí)行到活動(dòng)控制權(quán)的隊(duì)列節(jié)點(diǎn)時(shí),則執(zhí)行隊(duì)列節(jié)點(diǎn)中的請(qǐng)求節(jié)點(diǎn)列表上的所有請(qǐng)求。

所述提高固態(tài)硬盤中雙核間通信效率的方法,其特征在于fifo通過信號(hào)鎖的機(jī)制控制cpu0或cpu1獲得當(dāng)前隊(duì)列控制權(quán)。

所述提高固態(tài)硬盤中雙核間通信效率的方法,其特征在于cpu0只向循環(huán)列表寫入請(qǐng)求,cpu1只從循環(huán)列表讀取請(qǐng)求;cpu0控制fifo的寫入點(diǎn)為p1,cpu1控制fifo的讀取點(diǎn)為p2;cpu0和cpu1通過判斷p1和p2的數(shù)值關(guān)系,直接判斷是否可操作fifo。

所述的提高固態(tài)硬盤中雙核間通信效率的方法,其特征在于cpu0和cpu1通過如下步驟進(jìn)行p1和p2的數(shù)值關(guān)系判定來(lái)確定如何操作,當(dāng)cpu0要執(zhí)行寫入請(qǐng)求操作時(shí),計(jì)算fifo的空閑數(shù)為k,當(dāng)p1小于p2時(shí),k=p2-p1-1;當(dāng)p1不小于p2時(shí),k=(n-1)-(p1-p2);如果k=0則等待,否則直接執(zhí)行寫入請(qǐng)求操作,寫入點(diǎn)后移一個(gè)位置;當(dāng)cpu0要執(zhí)行讀取請(qǐng)求操作時(shí),計(jì)算fifo的請(qǐng)求數(shù)為h,當(dāng)p1小于p2時(shí),h=n-(p2-p1);當(dāng)p1不小于p2時(shí),h=p1-p2;如果h=0則等待,否則直接執(zhí)行讀取請(qǐng)求操作,讀取點(diǎn)后移一個(gè)位置。

本發(fā)明通過突破現(xiàn)有fifo的常規(guī)做法,將cpu每次訪問fifo只操作一個(gè)請(qǐng)求調(diào)整為可操作多個(gè)請(qǐng)求,具體為一個(gè)請(qǐng)求列表,大大減少了cpu訪問fifo的次數(shù),對(duì)比現(xiàn)有技術(shù)顯著提升了cpu操作fifo的效率。

附圖說明

圖1是一個(gè)現(xiàn)有技術(shù)的fifo循環(huán)隊(duì)列示意圖;

圖2是改進(jìn)后的fifo循環(huán)隊(duì)列示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

圖2是改進(jìn)后的fifo循環(huán)隊(duì)列示意圖,cpu0或cpu1現(xiàn)有技術(shù)中每次提交fifo都只是提交一個(gè)請(qǐng)求作為請(qǐng)求節(jié)點(diǎn),而本發(fā)明調(diào)整為將當(dāng)前時(shí)刻對(duì)應(yīng)cpu0或cpu1需要提交的所有請(qǐng)求形成請(qǐng)求節(jié)點(diǎn)列表,一次性提交給fifo;當(dāng)cpu0或cpu1獲得當(dāng)前隊(duì)列控制權(quán),將隊(duì)列節(jié)點(diǎn)從fifo中讀取出來(lái),當(dāng)系統(tǒng)執(zhí)行到活動(dòng)控制權(quán)的隊(duì)列節(jié)點(diǎn)時(shí),則執(zhí)行隊(duì)列節(jié)點(diǎn)中的請(qǐng)求節(jié)點(diǎn)列表上的所有請(qǐng)求。假設(shè)cpu0只提交(寫入)請(qǐng)求至fifo,cpu1只從fifo讀取請(qǐng)求,那么cpu0訪問fifo前需要把此次能提交的所有請(qǐng)求形成請(qǐng)求列表,然后把這個(gè)請(qǐng)求列表提交至fifo中。同理cpu1從fifo中讀取的不再是一個(gè)請(qǐng)求,而是一個(gè)請(qǐng)求列表,cpu1需要解析這個(gè)列表,把它拆成一個(gè)個(gè)請(qǐng)求結(jié)點(diǎn)來(lái)處理。如此,請(qǐng)求總數(shù)相同情況下,cpu0和cpu1訪問fifo的次數(shù)將大大減少,從而因等待鎖被釋放造成的耗時(shí)也將減少,大大提升cpu間通信的效率。

以上所揭露的僅為本發(fā)明一種實(shí)施例而已,當(dāng)然不能以此來(lái)限定本之權(quán)利范圍,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分流程,并依本發(fā)明權(quán)利要求所作的等同變化,仍屬于本發(fā)明所涵蓋的范圍。



技術(shù)特征:

技術(shù)總結(jié)
本發(fā)明公開了一種提高固態(tài)硬盤中雙核間通信效率的方法,雙核分別為CPU1和CPU0,CPU1和CPU0共同操作循環(huán)列表FIFO,循環(huán)列表深度為N,F(xiàn)IFO由每個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)隊(duì)列節(jié)點(diǎn),其特征在于CPU0或CPU1將當(dāng)前需要提交的請(qǐng)求形成請(qǐng)求節(jié)點(diǎn)列表,當(dāng)CPU0或CPU1獲得當(dāng)前隊(duì)列控制權(quán),則將請(qǐng)求節(jié)點(diǎn)列表作為一個(gè)隊(duì)列節(jié)點(diǎn)掛載到FIFO,當(dāng)系統(tǒng)執(zhí)行到活動(dòng)控制權(quán)的隊(duì)列節(jié)點(diǎn)時(shí),則執(zhí)行隊(duì)列節(jié)點(diǎn)中的請(qǐng)求節(jié)點(diǎn)列表上的所有請(qǐng)求。本發(fā)明通過突破現(xiàn)有FIFO的常規(guī)做法,將CPU每次訪問FIFO只操作一個(gè)請(qǐng)求調(diào)整為可操作多個(gè)請(qǐng)求,具體為一個(gè)請(qǐng)求列表,大大減少了CPU訪問FIFO的次數(shù),對(duì)比現(xiàn)有技術(shù)顯著提升了CPU操作FIFO的效率。

技術(shù)研發(fā)人員:許毅;姚蘭;鄭春陽(yáng)
受保護(hù)的技術(shù)使用者:記憶科技(深圳)有限公司
技術(shù)研發(fā)日:2017.03.07
技術(shù)公布日:2017.08.01
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
阿克苏市| 东辽县| 昆山市| 南华县| 柏乡县| 洞口县| 扎赉特旗| 泗洪县| 禹城市| 丰顺县| 克拉玛依市| 水富县| 谢通门县| 鄂尔多斯市| 鄂尔多斯市| 沙雅县| 武穴市| 涞水县| 石阡县| 高要市| 兴化市| 旌德县| 门头沟区| 赣州市| 南木林县| 南丰县| 白河县| 台东县| 宜川县| 双牌县| 青田县| 南阳市| 鸡泽县| 凤冈县| 龙胜| 鄂温| 资源县| 东兰县| 潞城市| 苗栗县| 错那县|