本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種存儲(chǔ)結(jié)構(gòu)及其存儲(chǔ)方法。
背景技術(shù):
LTE(Long Term Evolution)系統(tǒng)是第三代移動(dòng)通信系統(tǒng)(3G)的長(zhǎng)期演進(jìn)計(jì)劃,具有高速率,低時(shí)延,低功耗的特點(diǎn),對(duì)支持LTE通信系統(tǒng)的終端裝置具的很高的實(shí)時(shí)性要求。
傳統(tǒng)的LTE下行鏈路處理,上下行符號(hào)的處理為串行處理。圖1為采用現(xiàn)有技術(shù)的下行數(shù)據(jù)流程圖,如圖1所示,一個(gè)下行子幀數(shù)據(jù)解析需要先進(jìn)行CFI解碼,PDCCH盲檢,PDSCH解碼三個(gè)順序流程完成。
當(dāng)下行處理任務(wù)分布在多個(gè)核之間完成時(shí),如上例所示,整個(gè)下行鏈路由4個(gè)核共同完成。兩個(gè)核之間的數(shù)據(jù)區(qū)對(duì)符號(hào)順序讀取時(shí),以上流程核2中STEP4、STEP6的完成需要核3的STPE3和STEP5的結(jié)果,因此在核3處理時(shí),核2處于空閑狀態(tài)。同理,核3的處理要等待核2和核4的MIMO檢測(cè)結(jié)果,因此當(dāng)核2和核4處理時(shí),核3處于空閑狀態(tài)。
在多核并行處理時(shí),核之間對(duì)符號(hào)操作將不再是順序執(zhí)行。核2可以在核4處理一個(gè)子幀的PDSCH MIMO檢測(cè)過(guò)程中,處理一下個(gè)子幀的PDCCH符號(hào)MIMO檢測(cè),保證核3可以在空閑時(shí)間做下一個(gè)子幀的PDCCH盲檢,盡快得到下一個(gè)子幀的DCI結(jié)果。
當(dāng)核4完成一個(gè)子幀PDSCH MIMO檢測(cè)后,核3的下一個(gè)子幀的DCI結(jié)果已經(jīng)處理完成,核4可直接做下一個(gè)子幀的PDSCH檢測(cè),多核可并行操作,提高下行數(shù)據(jù)處理能力。
這樣就需要多核之間的通信區(qū)域能夠滿足這種搶占機(jī)制,核間對(duì)數(shù)據(jù)的讀取不是先入先出的FIFO,而是可以根據(jù)需要進(jìn)行讀取,并且具備快速讀寫(xiě) 能力。
由此可以看出,核2、核4都會(huì)對(duì)符號(hào)進(jìn)行MIMO檢測(cè),因此都會(huì)用到核1處理結(jié)果。核根據(jù)功能劃分后,核間通信數(shù)據(jù)一般為符號(hào)的FFT結(jié)果、符號(hào)的信道估計(jì)結(jié)果、符號(hào)的MIMO檢測(cè)結(jié)果或者每個(gè)符號(hào)的軟信息。
現(xiàn)有技術(shù)采用先入先出FIFO機(jī)制不能滿足多核并行處理,多核并行處理之后,對(duì)與數(shù)據(jù)區(qū)的讀寫(xiě)都需要針對(duì)子幀和符號(hào)進(jìn)行。并且,F(xiàn)IFO個(gè)數(shù)根據(jù)內(nèi)存決定。不一定和一個(gè)子幀的符號(hào)數(shù)對(duì)應(yīng)。當(dāng)FIFO中數(shù)據(jù)區(qū)可以存儲(chǔ)多個(gè)子幀的符號(hào)時(shí),就會(huì)出現(xiàn)符號(hào)數(shù)重復(fù),如果讀取指定子幀和符號(hào)時(shí),需要一一遍歷FIFO,這樣不能滿足實(shí)時(shí)性要求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)存在的上述不足,提供一種使多核并行處理時(shí),核與核之間數(shù)據(jù)區(qū)通信要滿足指定子幀和符號(hào)的讀寫(xiě),數(shù)據(jù)區(qū)的存儲(chǔ)地址能夠快速定位,并且,提高系統(tǒng)并行性,對(duì)共享數(shù)據(jù)區(qū),滿足一個(gè)核處理完成,寫(xiě)入共享區(qū)后,多個(gè)核可對(duì)一塊數(shù)據(jù)進(jìn)行讀取的存儲(chǔ)結(jié)構(gòu)及其方法。
為實(shí)現(xiàn)上述目的,第一方面,本發(fā)明提供了一種存儲(chǔ)結(jié)構(gòu),該結(jié)構(gòu)包括:
哈希列表和至少一個(gè)存儲(chǔ)區(qū);
哈希列表采用二維數(shù)組,其中一維數(shù)組用于存儲(chǔ)子幀信息,二維數(shù)組用于存儲(chǔ)所述子幀的符號(hào)信息;
根據(jù)子幀信息和子幀的符號(hào)信息,對(duì)至少一個(gè)存儲(chǔ)區(qū)進(jìn)行數(shù)據(jù)的存儲(chǔ)操作。
優(yōu)選地,存儲(chǔ)區(qū)包括:占用標(biāo)志、無(wú)線幀號(hào)、子幀指示、符號(hào)指示和數(shù)據(jù)。
第二方面,本發(fā)明提供了一種存儲(chǔ)方法,該方法包括:
步驟1,遍歷存儲(chǔ)結(jié)構(gòu)中的至少一個(gè)存儲(chǔ)區(qū),根據(jù)存儲(chǔ)區(qū)中的占用標(biāo)志, 確定一個(gè)空閑存儲(chǔ)區(qū);
步驟2,根據(jù)待寫(xiě)入數(shù)據(jù)的子幀和符號(hào),確定一個(gè)空閑哈希表項(xiàng);
步驟3,將空閑哈希表項(xiàng)的值指向空閑存儲(chǔ)區(qū),確定一個(gè)有效存儲(chǔ)區(qū);
步驟4,將待寫(xiě)入數(shù)據(jù)寫(xiě)入有效存儲(chǔ)區(qū);
步驟5,將有效存儲(chǔ)區(qū)的占用標(biāo)識(shí)由第一狀態(tài)改為第二狀態(tài)。
第三方面,本發(fā)明提供了一種存儲(chǔ)方法,該方法包括:
步驟1,根據(jù)待讀取數(shù)據(jù)的子幀和符號(hào),從哈希列表中查找對(duì)應(yīng)的哈希表項(xiàng);
步驟2,讀取哈希表項(xiàng)的值,確定哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū);
步驟3,當(dāng)哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)時(shí),讀取所述對(duì)應(yīng)存儲(chǔ)區(qū)的通信數(shù)據(jù)。
第四方面,本發(fā)明提供了一種存儲(chǔ)方法,該方法包括:
步驟1,根據(jù)待讀取數(shù)據(jù)的子幀和符號(hào),從哈希列表中查找對(duì)應(yīng)的哈希表項(xiàng);
步驟2,讀取哈希表項(xiàng)的值,確定所述哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū);
步驟3,當(dāng)哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)時(shí),讀取所述對(duì)應(yīng)存儲(chǔ)區(qū)的通信數(shù)據(jù);
步驟4,將哈希表項(xiàng)設(shè)置為無(wú)效空閑,并且將對(duì)應(yīng)存儲(chǔ)區(qū)的占用標(biāo)識(shí)由第二狀態(tài)改為第一狀態(tài)。
優(yōu)選地,在步驟3中,確定對(duì)應(yīng)存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)的步驟,具體為:
當(dāng)對(duì)應(yīng)存儲(chǔ)區(qū)被占用時(shí),對(duì)應(yīng)存儲(chǔ)區(qū)的子幀和符號(hào)與待讀取數(shù)據(jù)的子幀和符號(hào)匹配,對(duì)應(yīng)存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)。
優(yōu)選地,其特征在于,在步驟3中,當(dāng)對(duì)應(yīng)存儲(chǔ)區(qū)為無(wú)效存儲(chǔ)區(qū)時(shí),則重新遍歷存儲(chǔ)結(jié)構(gòu)。
本發(fā)明提供的一種存儲(chǔ)結(jié)構(gòu)及其存儲(chǔ)方法,利用哈希列表使多核并行處理時(shí),不需要遍歷整個(gè)物理存儲(chǔ)區(qū),即可快速定位存儲(chǔ)區(qū)位置,并且物理存 儲(chǔ)區(qū)不受限于具體無(wú)線幀符號(hào)數(shù)。實(shí)現(xiàn)了支持多核讀取,單核釋放內(nèi)存,可以靈活規(guī)劃多核的功能,提高了下行并行處理能力。
附圖說(shuō)明
圖1為采用現(xiàn)有技術(shù)的下行數(shù)據(jù)流程圖;
圖2為本發(fā)明實(shí)施例提供的一種存儲(chǔ)結(jié)構(gòu)的結(jié)構(gòu)圖;
圖3為本發(fā)明實(shí)施例提供的一種存儲(chǔ)方法的流程圖;
圖4為本發(fā)明實(shí)施例提供的另一種存儲(chǔ)方法的流程圖;
圖5為本發(fā)明實(shí)施例提供的又一種存儲(chǔ)方法的流程圖;
具體實(shí)施方式
為使本發(fā)明實(shí)施例的技術(shù)方案以及優(yōu)點(diǎn)表達(dá)的更清楚,下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖2為本發(fā)明實(shí)施例提供的一種存儲(chǔ)結(jié)構(gòu)的結(jié)構(gòu)圖,如圖2所示,該結(jié)構(gòu)包括:
哈希列表hash[M][N]100和至少一個(gè)存儲(chǔ)區(qū)200;
哈希列表hash[M][N]100采用二維數(shù)組,其中一維數(shù)組用于存儲(chǔ)子幀信息,二維數(shù)組用于存儲(chǔ)所述子幀的符號(hào)信息;
根據(jù)子幀信息和子幀的符號(hào)信息,對(duì)至少一個(gè)存儲(chǔ)區(qū)進(jìn)行數(shù)據(jù)的存儲(chǔ)操作。
需要說(shuō)明的是,一維數(shù)組可以同時(shí)存儲(chǔ)的子幀個(gè)數(shù)[1,M],存儲(chǔ)時(shí)按照無(wú)線幀號(hào)由小到大順序使用;二維數(shù)組表示每個(gè)子幀的符號(hào)個(gè)數(shù)[1,N]。
具體地,存儲(chǔ)區(qū)包括:占用標(biāo)志201、無(wú)線幀號(hào)202、子幀指示203、符號(hào)指示204和數(shù)據(jù)205。
本發(fā)明實(shí)施例提供的一種存儲(chǔ)結(jié)構(gòu)及其存儲(chǔ)方法,利用哈希列表使多核并行處理時(shí),不需要遍歷整個(gè)物理存儲(chǔ)區(qū),即可快速定位存儲(chǔ)區(qū)位置,并且 物理存儲(chǔ)區(qū)不受限于具體無(wú)線幀符號(hào)數(shù)。
圖3為本發(fā)明實(shí)施例提供的一種存儲(chǔ)方法的流程圖,如圖3所示,該方法包括:
S301步驟1,遍歷存儲(chǔ)結(jié)構(gòu)中的至少一個(gè)存儲(chǔ)區(qū),根據(jù)存儲(chǔ)區(qū)中的占用標(biāo)志,確定一個(gè)空閑存儲(chǔ)區(qū)index[1,NUM];
S302步驟2,根據(jù)待寫(xiě)入數(shù)據(jù)的子幀A和符號(hào)B,確定一個(gè)空閑哈希表項(xiàng)hash[X][B],X[1,M];
S303步驟3,將空閑哈希表項(xiàng)hash[X][B]的值指向空閑存儲(chǔ)區(qū)index[1,NUM],確定一個(gè)有效存儲(chǔ)區(qū);
S304步驟4,將待寫(xiě)入數(shù)據(jù)寫(xiě)入有效存儲(chǔ)區(qū);
S305步驟5,將有效存儲(chǔ)區(qū)的占用標(biāo)識(shí)由第一狀態(tài)改為第二狀態(tài)。
圖4為本發(fā)明實(shí)施例提供的另一種存儲(chǔ)方法的流程圖,如圖4所示,本發(fā)明實(shí)施例可以應(yīng)用于多核同時(shí)對(duì)存儲(chǔ)區(qū)進(jìn)行讀取,但不對(duì)存儲(chǔ)區(qū)釋放的情況,該方法包括:
S401步驟1,根據(jù)待讀取數(shù)據(jù)的子幀A和符號(hào)B,從哈希列表hash[M][N]中查找對(duì)應(yīng)的哈希表項(xiàng)hash[X][B],X[1,M];
S402步驟2,讀取哈希表項(xiàng)的值hash[X][B],確定哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū)index[1,NUM];
S403步驟3,當(dāng)哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū)index[1,NUM]為有效存儲(chǔ)區(qū)時(shí),讀取所述對(duì)應(yīng)存儲(chǔ)區(qū)的通信數(shù)據(jù)。
具體地,在S403步驟3中,確定對(duì)應(yīng)存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)的步驟,具體為:
當(dāng)對(duì)應(yīng)存儲(chǔ)區(qū)被占用時(shí),對(duì)應(yīng)存儲(chǔ)區(qū)的子幀和符號(hào)與待讀取數(shù)據(jù)的子幀和符號(hào)匹配,對(duì)應(yīng)存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)。
具體地,其特征在于,在S403步驟3中,當(dāng)對(duì)應(yīng)存儲(chǔ)區(qū)為無(wú)效存儲(chǔ)區(qū)時(shí),則重新遍歷存儲(chǔ)結(jié)構(gòu)。
圖5為本發(fā)明實(shí)施例提供的又一種存儲(chǔ)方法的流程圖,如圖5所示,本發(fā)明實(shí)施例可以應(yīng)用于對(duì)存儲(chǔ)區(qū)進(jìn)行讀取,當(dāng)讀取的存儲(chǔ)區(qū)到達(dá)生存期時(shí),釋放讀取的存儲(chǔ)區(qū)的情況,該方法包括:
該方法包括:
S501步驟1,根據(jù)待讀取數(shù)據(jù)的子幀A和符號(hào)B,從哈希列表hash[M][N]中查找對(duì)應(yīng)的哈希表項(xiàng)hash[X][B],X[1,M];
S502步驟2,讀取哈希表項(xiàng)的值hash[X][B],確定哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū)index[1,NUM];
S503步驟3,當(dāng)哈希表項(xiàng)對(duì)應(yīng)的存儲(chǔ)區(qū)index[1,NUM]為有效存儲(chǔ)區(qū)時(shí),讀取所述對(duì)應(yīng)存儲(chǔ)區(qū)的通信數(shù)據(jù)。
S504步驟4,將哈希表項(xiàng)設(shè)置為無(wú)效空閑,并且將對(duì)應(yīng)存儲(chǔ)區(qū)的占用標(biāo)識(shí)由第二狀態(tài)改為第一狀態(tài)。
具體地,在S503步驟3中,確定對(duì)應(yīng)存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)的步驟,具體為:
當(dāng)對(duì)應(yīng)存儲(chǔ)區(qū)被占用時(shí),對(duì)應(yīng)存儲(chǔ)區(qū)的子幀和符號(hào)與待讀取數(shù)據(jù)的子幀和符號(hào)匹配,對(duì)應(yīng)存儲(chǔ)區(qū)為有效存儲(chǔ)區(qū)。
具體地,其特征在于,在S503步驟3中,當(dāng)對(duì)應(yīng)存儲(chǔ)區(qū)為無(wú)效存儲(chǔ)區(qū)時(shí),則重新遍歷存儲(chǔ)結(jié)構(gòu)。
本發(fā)明實(shí)施例提供的一種存儲(chǔ)結(jié)構(gòu)及其存儲(chǔ)方法,利用哈希列表使多核并行處理時(shí),不需要遍歷整個(gè)物理存儲(chǔ)區(qū),即可快速定位存儲(chǔ)區(qū)位置,并且物理存儲(chǔ)區(qū)不受限于具體無(wú)線幀符號(hào)數(shù)。實(shí)現(xiàn)了支持多核可以對(duì)一塊數(shù)據(jù)進(jìn)行讀取,單核釋放內(nèi)存,可以靈活規(guī)劃多核的功能,提高了下行并行處理能力。
以上所述的具體實(shí)施方式,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說(shuō)明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做 的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。