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

數(shù)據(jù)緩存處理方法及裝置與流程

文檔序號:12597095閱讀:330來源:國知局
數(shù)據(jù)緩存處理方法及裝置與流程

本發(fā)明涉及邏輯設計領域,具體而言,涉及一種數(shù)據(jù)緩存處理方法及裝置。



背景技術:

在芯片設計中,內(nèi)部緩存經(jīng)常被用來存儲數(shù)據(jù),但是內(nèi)部緩存的容量和數(shù)量都很有限,只能對少量內(nèi)容進行存儲。隨著電信級網(wǎng)絡的發(fā)展,網(wǎng)絡設備中物理接口的匯聚和分發(fā)的應用場景會越來越多,涉及的端口數(shù)量也會越來越多,根據(jù)不同的使用場景,也會提出不同的要求。如果現(xiàn)有的設計是用芯片實現(xiàn)端口匯聚功能,則需要增加流量管理(QoS)功能;或者是實現(xiàn)端口分發(fā)功能,則要靠緩存吸收對物理端口的突發(fā),防止突發(fā)時的溢出丟包。

要實現(xiàn)類似功能的增加,光靠芯片的內(nèi)部緩存是遠遠不夠的,需要采用外部緩存替換內(nèi)部緩存。

直接用外部緩存(如雙倍速率同步動態(tài)隨機存儲器(Double Data Rate SDRAM,簡稱DDR SDRAM)、四倍數(shù)據(jù)傳輸靜態(tài)隨機存儲器(Quad Data rate SRAM,簡稱QDR SRAM))等,那么就需要對現(xiàn)有設計代碼進行很大的改動,這種改動會延長開發(fā)周期,也容易引入未知問題。

針對相關技術中,如何實現(xiàn)外部緩存替換內(nèi)部緩存的問題,還未提出有效的解決方案。



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

本發(fā)明提供了一種數(shù)據(jù)緩存處理方法及裝置,以至少解決相關技術中無法實現(xiàn)外部緩存替換內(nèi)部緩存的問題。

根據(jù)本發(fā)明的一個方面,提供了一種數(shù)據(jù)緩存處理方法,包括:接收寫入待緩存數(shù)據(jù)的寫入請求消息,根據(jù)所述寫入請求消息將所述待緩存數(shù)據(jù)緩存至芯片的外部緩存中。

可選地,根據(jù)所述寫入請求消息將所述待緩存數(shù)據(jù)緩存至芯片的外部緩存中之后包括:接收讀取所述外部緩存中的指定數(shù)據(jù)的讀取請求消息,根據(jù)所述讀取請求消息從所述外部緩存中讀取所述指定數(shù)據(jù)。

可選地,根據(jù)所述寫入請求消息將所述待緩存數(shù)據(jù)緩存至芯片的外部緩存中包括:獲取所述外部緩存中當前緩存的數(shù)據(jù)的緩存狀態(tài)信息,根據(jù)所述緩存狀態(tài)信息為所述待緩存數(shù)據(jù)分配緩存空間,將所述待緩存數(shù)據(jù)緩存至所述緩存空間中。

可選地,接收寫入待緩存數(shù)據(jù)的寫入請求消息之前包括:將所述待緩存數(shù)據(jù)與讀取的數(shù)據(jù)進行對比,在對比結(jié)果一致的情況下,確定所述外部緩存的狀態(tài)為正常狀態(tài),其中,所述讀取的數(shù)據(jù)是與所述待緩存數(shù)據(jù)對應的數(shù)據(jù)。

可選地,根據(jù)所述寫入請求消息將所述待緩存數(shù)據(jù)緩存至芯片的外部緩存中包括:按照第一預定時序信號將所述待緩存數(shù)據(jù)緩存至所述外部緩存中;和/或,根據(jù)所述讀取請求消息從所述外部緩存中讀取所述指定數(shù)據(jù)包括:按照第二預定時序信號從所述外部緩存中讀取所述指定數(shù)據(jù)。

根據(jù)本發(fā)明的另一個方面,提供了一種數(shù)據(jù)緩存處理裝置,包括:第一接收模塊,用于接收寫入待緩存數(shù)據(jù)的寫入請求消息,緩存模塊,用于根據(jù)所述寫入請求消息將所述待緩存數(shù)據(jù)緩存至芯片的外部緩存中。

可選地,所述裝置還包括:第二接收模塊,用于接收讀取所述外部緩存中的指定數(shù)據(jù)的讀取請求消息,讀取模塊,用于根據(jù)所述讀取請求消息從所述外部緩存中讀取所述指定數(shù)據(jù)。

可選地,所述緩存模塊還包括:獲取單元,用于獲取所述外部緩存中當前緩存的數(shù)據(jù)的緩存狀態(tài)信息,分配單元,用于根據(jù)所述緩存狀態(tài)信息為所述待緩存數(shù)據(jù)分配緩存空間,緩存單元,用于將所述待緩存數(shù)據(jù)緩存至所述緩存空間中。

可選地,所述裝置還包括:對比模塊,用于將所述待緩存數(shù)據(jù)與讀取的數(shù)據(jù)進行對比,在對比結(jié)果一致的情況下,確定所述外部緩存的狀態(tài)為正常狀態(tài),其中,所述讀取的數(shù)據(jù)是與所述待緩存數(shù)據(jù)對應的數(shù)據(jù)。

可選地,所述裝置還包括:所述緩存模塊,用于按照第一預定時序信號將所述待緩存數(shù)據(jù)緩存至所述外部緩存中;和/或,所述讀取模塊,用于按照第二預定時序信號從所述外部緩存中讀取所述指定數(shù)據(jù)。

通過本發(fā)明,采用接收寫入待緩存數(shù)據(jù)的寫入請求消息,根據(jù)該寫入請求消息將該待緩存數(shù)據(jù)緩存至芯片的外部緩存中,解決了相關技術中,無法實現(xiàn)外部緩存替換內(nèi)部緩存的問題,進而達到了在使用外部緩存時對現(xiàn)有設計改動小,開發(fā)周期短和不易引用未知問題的效果。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:

圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理方法流程圖;

圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(一);

圖3是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(二);

圖4是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(三);

圖5是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(四);

圖6是根據(jù)本發(fā)明實施例的外部緩存實現(xiàn)方法框圖;

圖7是根據(jù)本發(fā)明實施例的緩存劃分示意圖;

圖8是根據(jù)本發(fā)明實施例的緩存管理示意圖;

圖9是根據(jù)本發(fā)明實施例的外部緩存控制方法流程圖。

具體實施方式

下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。

需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。

在本實施例中提供了一種數(shù)據(jù)緩存處理方法,圖1是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理方法流程圖,如圖1所示,該流程包括如下步驟:

步驟S102,接收寫入待緩存數(shù)據(jù)的寫入請求消息;

步驟S104,根據(jù)寫入請求消息將該待緩存數(shù)據(jù)緩存至芯片的外部緩存中。

通過上述步驟,采用接收寫入待緩存數(shù)據(jù)的寫入請求消息,根據(jù)該寫入請求消息將該待緩存數(shù)據(jù)緩存至芯片的外部緩存中,相比于現(xiàn)有技術在解決內(nèi)部緩存不夠用時直接用外部緩存,需要對現(xiàn)有設計代碼進行很大改動,延長開發(fā)周期等問題,上述步驟解決了相關技術中,無法實現(xiàn)外部緩存替換內(nèi)部緩存的問題,進而達到了在使用外部緩存時對現(xiàn)有設計改動小,開發(fā)周期短和不易引用未知問題的效果。

上述步驟S104涉及根據(jù)寫入請求消息將該待緩存數(shù)據(jù)緩存至芯片的外部緩存中,在一個可選實施例中,根據(jù)該寫入請求消息將該緩存數(shù)據(jù)緩存至芯片的外部緩存中之后,接收讀取該外部緩存中的指定數(shù)據(jù)的讀取請求消息,根據(jù)該讀取請求消息從該外部緩存中讀取指定數(shù)據(jù)。從而可以通過外部緩存實現(xiàn)了對數(shù)據(jù)的讀寫操作,擴大了芯片的存儲空間。

在將待緩存數(shù)據(jù)緩存至上述外部緩存時,需要為待緩存數(shù)據(jù)分配存儲空間,在一個可選實施例中,通過獲取外部緩存中當前緩存的數(shù)據(jù)的緩存狀態(tài)信息,根據(jù)該緩存狀態(tài)信息為待緩存數(shù)據(jù)分配緩存空間,將待緩存數(shù)據(jù)緩存至該緩存空間中。從而合理的為待緩存數(shù)據(jù)分配了存儲空間,實現(xiàn)了存儲空間的優(yōu)化。外部緩存的狀態(tài)可能存在不正常的 情況,因此需要對外部緩存進行檢測,在檢測結(jié)果為正常的情況下,才使用該外部緩存進行數(shù)據(jù)的讀寫操作。在一個可選實施例中,接收寫入待緩存數(shù)據(jù)的寫入請求消息之前,將該待緩存數(shù)據(jù)與讀取的數(shù)據(jù)進行對比,在對比結(jié)果一致的情況下,確定外部緩存的狀態(tài)為正常狀態(tài),其中,該讀取的數(shù)據(jù)是與該待緩存數(shù)據(jù)對應的數(shù)據(jù)。通過該方法可以保證將數(shù)據(jù)寫入芯片外部緩存的有效性,避免了數(shù)據(jù)的丟失,提高了數(shù)據(jù)緩存的高效性。

在一個可選實施例中,可以按照第一預定時序信號將待緩存數(shù)據(jù)緩存至外部緩存中,或者按照第二預定時序信號從該外部緩存中讀取指定數(shù)據(jù)。通過該方法可以實現(xiàn)數(shù)據(jù)的寫入和讀取的有效轉(zhuǎn)換,保證了數(shù)據(jù)寫入外部緩存和從外部緩存讀取數(shù)據(jù)的有效性。

通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例上述的方法。

在本實施例中還提供了一種數(shù)據(jù)緩存處理裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術語“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。

圖2是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(一),如圖2所示,該裝置包括:第一接收模塊22,用于接收寫入待緩存數(shù)據(jù)的寫入請求消息。緩存模塊24,用于根據(jù)該寫入請求消息將待緩存數(shù)據(jù)緩存至芯片的外部緩存中。

圖3是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(二),如圖3所示,該裝置還包括:第二接收模塊32,用于接收讀取外部緩存中的指定數(shù)據(jù)的讀取請求消息,讀取模塊34,用于根據(jù)該讀取請求消息從該外部緩存中讀取上述指定數(shù)據(jù)。

圖4是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(三),如圖4所示,該裝置中的緩存模塊24還包括:獲取單元42,用于獲取外部緩存中當前緩存的數(shù)據(jù)的緩存狀態(tài)信息。分配單元44,用于根據(jù)該緩存狀態(tài)信息為該待緩存數(shù)據(jù)分配緩存空間,緩存單元46,用于將待緩存數(shù)據(jù)緩存至該緩存空間中。

圖5是根據(jù)本發(fā)明實施例的數(shù)據(jù)緩存處理裝置結(jié)構(gòu)框圖(四),如圖5所示,該裝置還包括:對比模塊52,用于將待緩存數(shù)據(jù)與讀取的數(shù)據(jù)進行對比,在對比結(jié)果一致的情況下,確定外部緩存的狀態(tài)為正常狀態(tài),其中,該讀取的數(shù)據(jù)是與該待緩存數(shù)據(jù)對應的數(shù)據(jù)。

可選地,該裝置中的緩存模塊用于按照第一預定時序信號將待緩存數(shù)據(jù)緩存至外部 緩存中;和/或,該裝置中的讀取模塊還用于按照第二預定時序信號從該外部緩存中讀取指定數(shù)據(jù)。

需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。

本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以被設置為存儲用于執(zhí)行以下步驟的程序代碼:

S1,接收寫入待緩存數(shù)據(jù)的寫入請求消息;

S2,根據(jù)寫入請求消息將該待緩存數(shù)據(jù)緩存至芯片的外部緩存中。

可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行上述步驟S1和S2。

針對相關技術中存在的上述問題,下面結(jié)合具體的可選實施例進行說明,在下述可選實施例中結(jié)合了上述可選實施例及其可選實施方式。

本可選實施例針對相關技術中的的設計實現(xiàn)方案,用最簡單的方法實現(xiàn)外部大容量緩存對內(nèi)部小容量緩存的替換。

本發(fā)明可選實施例的外部緩存控制的實現(xiàn)方法和裝置包含以下模塊:

緩存接口控制模塊,實現(xiàn)對外部緩存讀寫的接口控制;

緩存管理模塊,按照實際需要對外部緩存進行劃分管理,并提供類似芯片內(nèi)部緩存的讀寫接口供內(nèi)部訪問;

緩存狀態(tài)指示模塊,指示各個劃分后模塊的數(shù)據(jù)存儲狀態(tài);

外部緩存自檢模塊(相當于上述對比模塊52),實現(xiàn)對外部緩存的自檢功能,包括簡單自檢和所有空間遍歷自檢。

圖6是根據(jù)本發(fā)明實施例的外部緩存實現(xiàn)方法框圖,如圖6所示,模塊A完成對外部緩存接口的訪問控制,與外部緩存芯片通過物理線路直接連接;模塊B實現(xiàn)緩存的管理功能,包括根據(jù)緩存狀態(tài)以及具體數(shù)據(jù)情況分配緩存空間,根據(jù)信息產(chǎn)生讀數(shù)據(jù)控制信號,對讀寫操作進行時序轉(zhuǎn)換,以滿足模塊A的要求;模塊C根據(jù)讀寫緩存情況,計算各個劃分區(qū)間的數(shù)據(jù)存儲狀態(tài)及相關信息;模塊D實現(xiàn)自檢功能控制,包括啟動自檢功能,輸出自檢結(jié)果,選擇自檢模式。

圖7是根據(jù)本發(fā)明實施例的緩存劃分示意圖,根據(jù)具體使用情況,把地址空間分成n等份,每個等份看成一個大容量的RAM。然后對每個RAM,根據(jù)實際需要存儲的數(shù)據(jù)長度情況,再分成k個CHUNK,劃分CHUNK大小的原則是保證最多同類長度的數(shù)據(jù)能正好存儲在一個CHUNK里面。

圖8是根據(jù)本發(fā)明實施例的緩存管理示意圖,圖8中示意了4個數(shù)據(jù)包的存儲和讀取控制情況。用Bi-j-n(s,m,e)表示一個分片,其中字母i表示第i個到達的分片,j表示該分片需要存儲到RAM j里面,n表示RAM j里面第n個分片,括號中的s表示該分片包含一個數(shù)據(jù)包的開始,m表示該分片是一個數(shù)據(jù)包中間分片,e表示該分片是包含一個數(shù)據(jù)包的結(jié)束。圖中的B0-0-0(s)是RAM0第一個分片,并且包含所在數(shù)據(jù)包的開始,存儲在RAM0的CHUNK0位置;B1-1-0(s,e)是RAM1的第一個分片,并且包含數(shù)據(jù)的開始和結(jié)束,所以B1-1-0(s,e)是一個完整的數(shù)據(jù)包,存儲在RAM1的CHUNK0位置;B2-0-1(m)是RAM0的第2個分片,該分片是所在數(shù)據(jù)包的中間一個分片,存儲在RAM0的CHUNK1位置;B4-0-2(e)是第5個分片,屬于RAM0的第3個分片,存儲在RAM0的CHUNK2,包含所在數(shù)據(jù)包的結(jié)束,所以B0-0-0(s),B2-0-1(m),B4-0-2(e)三個分片組成了RAM0里面完整的一個包,B1-1-0(s,e)是RAM1中完整的一個包,B3-2-0(s)和B-5-2-1(e)是RAM2中完整的一個包,B6-3-0(s,e)是RAM3中完整的一個包。圖中示例是按照整包讀取方式進行的,所以原則上是先有整包的RAM將被優(yōu)先讀取,這樣RAM1的包會B1-1-0(s,e)第一個被讀出,然后是RAM0的包B0-0-0(s),B2-0-1(m),B4-0-2(e),然后是RAM2,RAM3。

圖9是根據(jù)本發(fā)明實施例的外部緩存控制方法流程圖,如圖9所示,該方法包括以下步驟:

步驟902:判定是否需要對外部緩存進行自檢,如果需要自檢,則轉(zhuǎn)到步驟904;如果不需要自檢,則轉(zhuǎn)到步驟906。

步驟904:啟動自檢狀態(tài),根據(jù)自檢模式,產(chǎn)生自檢需要寫入外部緩存的數(shù)據(jù)。

步驟906:有正常需要緩存的數(shù)據(jù),可以存儲到外部緩存。

步驟908:根據(jù)進來的數(shù)據(jù)以及當前緩存狀態(tài)信息,給數(shù)據(jù)分配對應的緩存空間,并根據(jù)接口控制模塊要求,產(chǎn)生接口模塊要求的時序信號。

步驟910:通過接口控制模塊訪問外部緩存,并把數(shù)據(jù)寫入對應緩存空間。

步驟912:通過接口控制模塊訪問外部緩存,讀出需要的已存儲數(shù)據(jù)。

步驟914:根據(jù)步驟91010和912的相關信息,計算對應緩存區(qū)間的數(shù)據(jù)存儲狀態(tài)信息。

步驟916:判斷當前處理流程是否在自檢狀態(tài)下,如果在自檢狀態(tài),則轉(zhuǎn)入步驟918;如果不在自檢狀態(tài),則轉(zhuǎn)入步驟90A。

步驟918:在自檢狀態(tài)下,對讀出緩存的數(shù)據(jù)和寫入緩存數(shù)據(jù)進行對比,判斷外部緩存狀態(tài)是否正常。

步驟90A:在非自檢狀態(tài),把從外部緩存讀出的數(shù)據(jù),輸出給下級模塊使用。

步驟90B:根據(jù)對比結(jié)果,判斷自檢是否通過。如果對比結(jié)果滿足要求,則自檢通過,如果不滿足,則自檢失敗,分別會給出對應的狀態(tài)指示。

綜上所述,通過本發(fā)明引入外部緩存,并且采用接收寫入待緩存數(shù)據(jù)的寫入請求消息,根據(jù)該寫入請求消息將該待緩存數(shù)據(jù)緩存至芯片的外部緩存中,解決了相關技術中,光靠芯片內(nèi)部緩存遠遠不夠,直接使用外部緩存又必須對現(xiàn)有設計代碼進行很大改動,導致開發(fā)周期長的問題,而且本發(fā)明通過間接使用外部緩存又不對現(xiàn)有涉及做很大改動的技術手段,達到了在使用外部緩存時對現(xiàn)有設計改動小,開發(fā)周期短和不易引用未知問題的效果。

顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。

以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
莫力| 冀州市| 镇江市| 聊城市| 施秉县| 图片| 顺义区| 奈曼旗| 偏关县| 景德镇市| 自治县| 故城县| 调兵山市| 准格尔旗| 额尔古纳市| 新昌县| 谢通门县| 乃东县| 怀化市| 吉林市| 哈巴河县| 达日县| 泌阳县| 乐清市| 大丰市| 安新县| 长顺县| 奉化市| 内黄县| 张北县| 梁平县| 马边| 临沂市| 利津县| 故城县| 阿拉善左旗| 瑞丽市| 海盐县| 弥渡县| 凉山| 灯塔市|