專利名稱::緩存數(shù)據(jù)寫入系統(tǒng)及方法和緩存數(shù)據(jù)讀取系統(tǒng)及方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計算機通信
技術(shù)領(lǐng)域:
,特別涉及一種緩存數(shù)據(jù)寫入系統(tǒng)及方法和緩存數(shù)據(jù)讀取系統(tǒng)及方法。
背景技術(shù):
:包緩存是現(xiàn)代通訊設(shè)備中必不可少的關(guān)鍵技術(shù)之一,其主要作用是在流量擁塞時提供數(shù)據(jù)包緩存,以避免或減少流量丟失;隨著通訊設(shè)備的速度不斷提高,包緩存實現(xiàn)的難度也越來越大,其主要難點為大容量與高速度的結(jié)合。對高端路由器等通訊設(shè)備的一個基本要求是擁有一個能吸收至少200毫秒線速流量的包緩存,則在100Gbps的端口速度下,需要提供至少20Gb的緩存能力;包緩存同時必須提供同端口速度匹配的讀寫帶寬,高至100Gbps的端口速度使得使用低成本高容量動態(tài)隨機存儲器(DynamicRandom-AccessMemory,DRAM)作為包緩存變得非常困難。對于2層交換機等緩存容量要求不高的通訊設(shè)備,采用片內(nèi)緩存是個簡單低成本的方法,將數(shù)據(jù)包直接緩存在芯片內(nèi)部的存儲器避免了使用片外存儲器帶來的額外代價,不需要片外存儲控制器和相聯(lián)管腳也降低了芯片設(shè)計的復(fù)雜度和成本,并且片內(nèi)緩存能提供足夠的讀寫帶寬。提高包緩存容量的一個辦法是采用片外存儲器,同時為提供緩存所需的讀寫帶寬,通常采用高速的靜態(tài)隨機存儲器(StaticRandom-AccessMemory,SRAM)或?qū)S么鎯ζ魅绲脱舆t動態(tài)隨機存儲器(RLDRAM)。通用的DRAM存儲器價格低廉,應(yīng)用范圍廣,單片容量可達(dá)lGb以上,是提供大容量包緩存的低成本低風(fēng)險的方法。但是,發(fā)明人在實施本發(fā)明的過程中發(fā)現(xiàn),上述片內(nèi)高速緩存技術(shù)、片外高速緩存技術(shù)和片外大容量緩存技術(shù)均無法同時實現(xiàn)大容量、高速度和低成本的包緩存技術(shù),例如片內(nèi)緩存一般只能提供少于10Mb的緩存容量,不適合高端路由器和3層交換機等對緩存容量要求高的通訊設(shè)備;SRAM成本高且單片容量限制在72Mb以下,而專用存儲器也有成本高并且有供貨風(fēng)險等缺點;通用的DRAM存儲器讀寫效率低,有效帶寬受限制,難以滿足高端通訊設(shè)備的線速存儲要求。
發(fā)明內(nèi)容本發(fā)明實施例提供一種緩存數(shù)據(jù)寫入系統(tǒng)及方法和緩存數(shù)據(jù)讀取系統(tǒng)及方法,以提供大容量、高速度的包緩存技術(shù)。本發(fā)明實施例提供了一種緩存數(shù)據(jù)寫入系統(tǒng),該系統(tǒng)包括片內(nèi)存儲器,用于緩存接收到的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù),并對所述寫請求進(jìn)行重排序;請求判決器,用于根據(jù)片外存儲器的寫時序限制信息提取重排序后的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù);片外存儲控制器,用于將所述請求判決器提取的寫數(shù)據(jù)寫入所述片外存儲器。據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率。本發(fā)明實施例提供了一種緩存數(shù)據(jù)讀取系統(tǒng),該系統(tǒng)包括片內(nèi)存儲器,包括第一模塊,用于緩存接收到的讀請求,并對所述讀請求進(jìn)行重排序;請求判決器,用于根據(jù)讀時序限制信息提取重排序后的讀請求并發(fā)送;片外存儲控制器,用于根據(jù)接收到的讀請求從片外存儲器中讀取數(shù)據(jù);所述片內(nèi)存儲器,還包括第二模塊,用于緩存所述讀請求對應(yīng)的讀數(shù)據(jù),對所述讀數(shù)據(jù)進(jìn)行重排序并發(fā)送。上述系統(tǒng),通過片內(nèi)存儲器和片外存儲器結(jié)合使用可以提供大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率。本發(fā)明實施例提供了一種緩存數(shù)據(jù)寫入方法,該方法包括接收寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù);緩存接收到的寫請求對應(yīng)的寫數(shù)據(jù);緩存所述寫請求,并對所述寫請求進(jìn)行重排序;根據(jù)片外存儲器的寫時序限制信息提取重排序后的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù);將提取的寫數(shù)據(jù)寫入所述片外存儲器。上述方法,可以提供大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率。本發(fā)明實施例提供了一種緩存數(shù)據(jù)讀取方法,該方法包括緩存接收到的讀請求,并對所述讀請求進(jìn)行重排序;根據(jù)片外存儲器的讀時序限制信息提取重排序后的讀請求;根據(jù)提取的重排序后的讀請求從所述片外存儲器中讀取數(shù)據(jù);緩存所述提取的重排序后的讀請求對應(yīng)的讀數(shù)據(jù),并根據(jù)所述讀數(shù)據(jù)與讀請求的對應(yīng)關(guān)系對所述讀數(shù)據(jù)進(jìn)行重排序;將重排序后的所述讀數(shù)據(jù)發(fā)送給對應(yīng)的讀請求的請求方。上述方法,可以提供大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率。下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。圖1為本發(fā)明緩存數(shù)據(jù)寫入系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖;圖2為本發(fā)明緩存數(shù)據(jù)寫入方法的一個實施例的流程圖;圖3為本發(fā)明緩存數(shù)據(jù)讀取系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖;圖4為本發(fā)明緩存數(shù)據(jù)讀取方法的一個實施例的流程圖。具體實施方式如圖1所示,為本發(fā)明緩存數(shù)據(jù)寫入系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖,該系統(tǒng)具體包括片內(nèi)存儲器1,用于緩存接收到的寫請求及上述寫請求對應(yīng)的寫數(shù)據(jù),并對上述寫請求進(jìn)行重排序;請求判決器2,用于根據(jù)片外存儲器的寫時序限制信息提取重排序后的寫請求及上述寫請求對應(yīng)的寫數(shù)據(jù);片外存儲控制器3,用于將上述請求判決器提取的寫數(shù)據(jù)寫入上述片外存儲器。其中,上述片內(nèi)存儲器包括緩存模塊111,用于緩存接收到的寫請求及上述寫請求對應(yīng)的寫數(shù)據(jù);為了提高片外存儲器寫數(shù)據(jù)的效率,需對上述寫請求進(jìn)行重排序,因而上述片內(nèi)存儲器還包括多個寫隊列,用于存儲寫請求,上述寫隊列的個數(shù)與片外存儲器的緩存區(qū)(bank)的個數(shù)相同;排序模塊112,用于將寫數(shù)據(jù)需寫入片外存儲器的同一個緩存區(qū)的寫請求按順序?qū)懭胪粋€上述寫隊列。其中,上述排序模塊還包括多個入隊計數(shù)器,每個上述入隊計數(shù)器對應(yīng)一個上述寫隊列,用于統(tǒng)計進(jìn)入對應(yīng)的寫隊列的寫請求的個數(shù);多個出隊計數(shù)器,每個上述出隊計數(shù)器對應(yīng)一個上述寫隊列,用于統(tǒng)計從對應(yīng)隊列中出隊的寫請求的個數(shù),上述入隊計數(shù)器和出隊計數(shù)器是為了保證提取讀寫請求的順序性而設(shè)置的,一個讀請求必須等到所有寫往片外存儲器的同一緩存區(qū)的寫請求都已經(jīng)從寫請求隊列中出隊后才能從相應(yīng)的讀請求隊列中出隊。另外,當(dāng)緩存的數(shù)據(jù)量較少時,可將數(shù)據(jù)直接保存在片內(nèi)存儲器,而不需要寫入片外存儲器中;且上述片外存儲器可以為動態(tài)隨機存儲器、同步靜態(tài)隨機存儲器或低延遲動態(tài)隨機存儲器等,為了降低成本,也可釆用通用的動態(tài)隨機存儲器。上述系統(tǒng)利用緩存模塊緩存寫請求和寫請求對應(yīng)的寫數(shù)據(jù),利用排序模塊對上述寫請求進(jìn)行排序,將排序后的寫請求按照片外存儲器的時序限制信息提取寫請求及其對應(yīng)的寫數(shù)據(jù)并發(fā)送至片外存儲控制器,然后由片外存儲器保存上述寫數(shù)據(jù),從而完成了緩存數(shù)據(jù)寫入操作。上述系統(tǒng),釆用片內(nèi)、片外存儲器結(jié)合使用,有效地提高了片外存儲器的讀寫效率,提供了高端通信設(shè)備所需的大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率。如圖2所示,為本發(fā)明緩存數(shù)據(jù)寫入方法的一個實施例的流程圖,該方法具體包括步驟IOI、接收寫請求及上述寫請求對應(yīng)的寫數(shù)據(jù);步驟102、緩存接收到的寫請求對應(yīng)的寫數(shù)據(jù);步驟103、緩存上述寫請求,并對上述寫請求進(jìn)行重排序;對上述寫請求進(jìn)行重排序具體包括將寫請求存儲在多個寫隊列中,上述寫隊列的個數(shù)與片外存儲器的緩存區(qū)的個數(shù)相同;將寫數(shù)據(jù)需寫入片外存儲器的同一個緩存區(qū)的寫請求按順序?qū)懭胪粋€上述寫隊列;通過上述重排序操作可以將寫請求快速寫入多個隊列,在上述重排序的過程中,還統(tǒng)計進(jìn)入每個隊列的寫請求的個數(shù)和從上述同一隊列中出隊的寫請求的個數(shù)并發(fā)送,上述統(tǒng)計操作是為了保證讀寫請求的順序,因為一個讀請求必須等到所有寫往片外存儲器的同一緩存區(qū)的寫請求都已經(jīng)從寫請求隊列中出隊后才能從相應(yīng)的讀請求隊列中出隊。另外,在上述緩存上述寫請求,并對上述寫請求進(jìn)行重排序之前還包括確定上述寫請求對應(yīng)的寫數(shù)據(jù)的地址在第一預(yù)定地址范圍之外;上述第一預(yù)定地址可根據(jù)需要進(jìn)行設(shè)置,緩存這些數(shù)據(jù)的目的是為了進(jìn)行后續(xù)的讀操作;步驟104、根據(jù)片外存儲器的寫時序限制信息提取重排序后的寫請求及上述寫請求對應(yīng)的寫數(shù)據(jù);上述片外存儲器的時序限制信息可以是DRAM的時序限制信息;步驟105、將提取的寫數(shù)據(jù)寫入上述片外存儲器。將提取的寫數(shù)據(jù)寫入上述片外存儲器,從而完成了緩存數(shù)據(jù)的寫入過程。上述方法,通過對寫請求重排序,大大提高了數(shù)據(jù)的寫入速度,從而可以實現(xiàn)大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率。如圖3所示,為本發(fā)明緩存數(shù)據(jù)讀取系統(tǒng)的一個實施例的結(jié)構(gòu)示意圖,該系統(tǒng)具體包括片內(nèi)存儲器1,包括第一模塊,用于緩存接收到的讀請求及上述讀請求對應(yīng)的讀數(shù)據(jù),對上述讀請求和讀數(shù)據(jù)進(jìn)行重排序,并發(fā)送重排序后的讀數(shù)據(jù);請求判決器2,用于根據(jù)讀時序限制信息提取重排序后的讀請求并發(fā)送;片外存儲控制器3,用于根據(jù)接收到的讀請求從片外存儲器中讀取數(shù)據(jù);上述片內(nèi)存儲器1,還包括第二模塊,用于緩存上述讀請求對應(yīng)的讀數(shù)據(jù),對上述讀數(shù)據(jù)進(jìn)行重排序并發(fā)送。其中,上述第一模塊包括第一緩存模塊121,用于緩存接收到的讀請求;為了提高片外存儲器讀數(shù)據(jù)的效率,需對上述讀請求進(jìn)行重排序,因而上述第一模塊還包括多個讀隊列,用于存儲讀請求,上述讀隊列的個數(shù)與片外存儲器的緩存區(qū)的個數(shù)相同;排序模塊122,用于將讀數(shù)據(jù)需從片外存儲器的同一個緩存區(qū)讀出的讀請求按順序?qū)懭胪粋€讀隊列。另外,上述第二模塊包括第二緩存模塊123,用于緩存接收到的上述讀請求對應(yīng)的讀數(shù)據(jù);發(fā)送模塊124,用于按讀請求的順序,發(fā)送上述讀請求對應(yīng)的數(shù)據(jù)。上述重排序操作提高了片外存儲器讀數(shù)據(jù)的效率,但也打亂了原來讀請求的順序,因此當(dāng)數(shù)據(jù)讀回片內(nèi)存儲器后,還需對這些數(shù)據(jù)進(jìn)行重排序,因而上述片內(nèi)存儲器包括請求緩存模塊125,用于按接收到的讀請求的順序保存上述讀請求;讀回記錄模塊126,用于記錄為請求緩存模塊125中保存的每個讀請求分配的用于緩存從片外存儲器讀回來的數(shù)據(jù)在片內(nèi)存儲器的地址;上述第二緩存模塊123具體為數(shù)據(jù)緩存模塊,用于將從片外存儲器讀回的數(shù)據(jù)緩存在讀回記錄模塊記錄的地址上;上述發(fā)送模塊124具體為順序發(fā)送模塊,用于按照上述請求緩存模塊保存的讀請求與上述讀回記錄模塊記錄緩存^f莫塊中的數(shù)據(jù)發(fā)送至對應(yīng)讀請求的請求方。上述片外存儲器可以為動態(tài)隨機存儲器、同步靜態(tài)隨機存儲器或低延遲動態(tài)隨機存儲器等,為了降低成本,也可采用通用的動態(tài)隨機存儲器。上述排序模塊還包括多個讀請求計數(shù)器,每個上述讀請求計數(shù)器對應(yīng)一個上述讀隊列,用于記錄讀請求進(jìn)入讀隊列時,與讀隊列對應(yīng)片外存儲器的同一個緩存區(qū)的寫隊列的入隊計數(shù)器的值;上述請求判決器在根據(jù)讀時序限制信息提取重排序后的讀請求的過程中,需要保證提取讀寫請求的順序性,因而上述請求判決器還包括'.判決模塊,用于接收出隊計數(shù)器的值和讀請求計數(shù)器的值,并當(dāng)讀請求計數(shù)器的值不大于出隊計數(shù)器的值時,提取該隊列中的讀請求并發(fā)送;這表明一個讀請求必須等到所有寫往片外存^f諸器的同一緩存區(qū)的寫請求都已經(jīng)從寫請求隊列中出隊后才能從相應(yīng)的讀請求隊列中出隊。另外,當(dāng)待讀取的數(shù)據(jù)在片內(nèi)存儲器時,可從片內(nèi)存儲器直接獲得上述數(shù)據(jù),因而,上述片內(nèi)存儲器還包括第一判斷模塊131,用于判斷讀請求對應(yīng)的讀數(shù)據(jù)是否在第一預(yù)定地址范圍內(nèi);第一讀取模塊132,用于當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第一預(yù)定地址范圍內(nèi)時,將讀請求發(fā)送至請求緩存模塊125,并從上述數(shù)據(jù)緩存模塊中讀取數(shù)據(jù);上述操作,減少或避免了把數(shù)據(jù)寫到片外DRAM后再讀回來的過程,從而進(jìn)一步提高通訊設(shè)備包緩存的有效帶寬。另外,當(dāng)寫數(shù)據(jù)從片內(nèi)存儲器寫到片外存儲器后,若片內(nèi)存儲器中保存上述寫數(shù)據(jù)的地址還未被用來寫新的數(shù)據(jù),則可直接從片內(nèi)存儲器中讀數(shù)據(jù),因而,上述片內(nèi)存儲器還包括第二判斷模塊133,用于當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第二預(yù)定地址范圍內(nèi)時,判斷上述讀數(shù)據(jù)在緩存模塊中的地址是否被寫入新的數(shù)據(jù);第二讀取模塊134,用于當(dāng)上述讀數(shù)據(jù)在緩存模塊中的地址未被寫入新的數(shù)據(jù)時,將上述讀請求發(fā)送至上述請求緩存才莫塊,并從上述緩存模塊中讀取數(shù)據(jù);因而可以將圖3中的第一判斷模塊131用第二判斷模塊133代替,第一讀取模塊132用第二讀取模塊134代替。上述系統(tǒng)利用緩存模塊緩存接收到的讀請求及其對應(yīng)的讀數(shù)據(jù),并利用排序模塊對上述讀請求進(jìn)行排序,然后通過請求判決器根據(jù)讀時序限制信息提取重排序后的讀請求并發(fā)送,片外存儲控制器根據(jù)接收到的讀請求從片外存儲器中讀取數(shù)據(jù)至片內(nèi)存儲器,然后利用請求緩存模塊、讀回記錄模塊和數(shù)據(jù)緩存模塊對讀取的數(shù)據(jù)進(jìn)行重排序并發(fā)送,從而完成了數(shù)據(jù)讀取的操作。上述時序限制信息為片外存儲器的時序限制信息,對于不同的片外存儲器,其時序限制信息是不同的,例如表1為DDR2DRAM讀寫時序要求的一個例子。表1<table>tableseeoriginaldocumentpage15</column></row><table>為滿足上述時序要求,請求判決器可以用下面的方式從讀請求隊列和寫請求隊列中讀取請求,其中緩存區(qū)bank為上述讀、寫請求隊列對應(yīng)的片外存儲器中的緩存區(qū)。用A(n),R(n),W(n)分別表示激活bankn,讀bankn,和寫bankn的命令,定義下面3種命令組讀命令組R(n,m)=[A(n)R(m)NopNopNopR(m)NopNop];寫命令組W(n,m)=[A(n)W(m)NopNopNopW(m)N叩Nop];無^乘作命令組N(k)=[kNopcommands]。對于8-bank的DDR2DRAM,請求判決器可以按下面表2中的固定的周期性順序提取有效的讀寫請求表2<table>tableseeoriginaldocumentpage16</column></row><table>如果某個bank的讀或?qū)懻埱箨犃兄袥]有有效的請求,那么其對應(yīng)的讀或?qū)懢透臑闊o操作命令組N(8)。在每個讀寫請求隊列都有有效請求的條件下,上述的方法可以達(dá)至'J128/149=86%的DRAM讀寫效率。上述系統(tǒng),采用片內(nèi)、片外存儲器結(jié)合使用,有效地提高了片外存儲器的讀寫效率,提供了高端通信設(shè)備所需的大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率,并可為中低端設(shè)備配置靈活的包緩存解決方案。如圖4所示,為本發(fā)明緩存數(shù)據(jù)讀取方法的一個實施例的流程圖,該方法具體包括步驟201、緩存接收到的讀請求,并對上述讀請求進(jìn)行重排序;對上述讀請求進(jìn)行重排序具體包括將讀請求存儲在多個讀隊列中,上述讀隊列的個數(shù)與片外存儲器的緩存區(qū)的個數(shù)相同;將讀數(shù)據(jù)需從片外存儲器的同一個緩存區(qū)讀出的讀請求按順序?qū)懭胪粋€讀隊列;在對上述讀請求進(jìn)行重排序的過程中還包括統(tǒng)計進(jìn)入同一隊列的讀請求的個數(shù)并發(fā)送;步驟202、根據(jù)片外存儲器的讀時序限制信息提取重排序后的讀請求;根據(jù)片外存儲器的讀時序限制信息提取重排序后的讀請求的過程中,在提取某一隊列中的讀請求時,接收從同一寫隊列中出隊的所有寫請求的個數(shù)和進(jìn)入上述同一讀隊列的讀請求的個數(shù),并當(dāng)進(jìn)入上述同一讀隊列的讀請求的個數(shù)不大于從同一寫隊列中出隊的所有寫請求的個數(shù)時,提取上述讀隊列中的讀請求;步驟203、根據(jù)提取的重排序后的讀請求從上述片外存儲器中讀取數(shù)據(jù);步驟204、緩存上述提取的重排序后的讀請求對應(yīng)的讀數(shù)據(jù),并根據(jù)上述讀數(shù)據(jù)與讀請求的對應(yīng)關(guān)系對上述讀數(shù)據(jù)進(jìn)行重排序;根據(jù)上述讀數(shù)據(jù)與讀請求的對應(yīng)關(guān)系對讀取的數(shù)據(jù)進(jìn)行重排序具體包括按接收到的讀請求的順序保存上述讀請求;記錄為上述讀請求分配的用于緩存讀數(shù)據(jù)的緩存地址;將從片外讀取的讀數(shù)據(jù)緩存在對應(yīng)的讀請求對應(yīng)的上述緩存地址上;步驟205、將重排序后的上述讀數(shù)據(jù)發(fā)送給對應(yīng)的讀請求的請求方。當(dāng)上述緩存地址上緩存有有效的讀數(shù)據(jù)時,將該有效的讀數(shù)據(jù)發(fā)送給對應(yīng)的讀請求的請求方。另外,步驟201中對上述讀請求進(jìn)行重排序之前還包括判斷讀請求對應(yīng)的讀數(shù)據(jù)是否在第一預(yù)定地址范圍內(nèi),當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第一預(yù)定地址范圍內(nèi)時,將按接收到的讀請求的順序從緩存的在第一預(yù)定地址范圍內(nèi)的數(shù)據(jù)中讀取數(shù)據(jù);當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)不在第一預(yù)定地址范圍內(nèi)時,則對上述讀請求進(jìn)行重排序。上述步驟201中對上述讀請求進(jìn)行重排序之前還包括判斷讀請求對應(yīng)的讀數(shù)據(jù)是否在第二預(yù)定地址范圍內(nèi),當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第二預(yù)定地址范圍內(nèi)時,判斷上述保存讀數(shù)據(jù)的地址是否被寫入新的數(shù)據(jù),若未被寫入新的數(shù)據(jù),則按接收到的讀請求的順序從緩存的在第二預(yù)定地址范圍內(nèi)的數(shù)據(jù)中讀取數(shù)據(jù);否則,對上述讀請求進(jìn)行重排序。上述方法,有效地提高了片外存儲器的讀寫效率,提供了高端通信設(shè)備所需的大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率,并可為中低端設(shè)備配置靈活的包緩存解決方案。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)4亍修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。權(quán)利要求1、一種緩存數(shù)據(jù)寫入系統(tǒng),其特征在于包括片內(nèi)存儲器,用于緩存接收到的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù),并對所述寫請求進(jìn)行重排序;請求判決器,用于根據(jù)片外存儲器的寫時序限制信息提取重排序后的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù);片外存儲控制器,用于將所述請求判決器提取的寫數(shù)據(jù)寫入所述片外存儲器。2、根據(jù)權(quán)利要求1所述的緩存數(shù)據(jù)寫入系統(tǒng),其特征在于所述片內(nèi)存儲器包括緩存模塊,用于緩存所述寫請求對應(yīng)的寫數(shù)據(jù);多個寫隊列,用于存儲寫請求,所述寫隊列的個數(shù)與所述片外存儲器的緩存區(qū)的個數(shù)相同;排序模塊,用于將寫數(shù)據(jù)需寫入片外存儲器的同一個緩存區(qū)的寫請求按順序?qū)懭胪粋€所述寫隊列。3、根據(jù)權(quán)利要求2所述的緩存數(shù)據(jù)寫入系統(tǒng),其特征在于所述片內(nèi)存儲器還包括多個入隊計數(shù)器,每個所述入隊計數(shù)器對應(yīng)一個所述寫隊列,用于統(tǒng)計進(jìn)入對應(yīng)的寫隊列的寫請求的個數(shù);多個出隊計數(shù)器,每個所述出隊計數(shù)器對應(yīng)一個所述寫隊列,用于統(tǒng)計從對應(yīng)隊列中出隊的寫請求的個數(shù)。4、根據(jù)權(quán)利要求1所述的緩存數(shù)據(jù)寫入系統(tǒng),其特征在于所述片外存儲器具體為動態(tài)隨機存儲器、同步靜態(tài)隨機存儲器或低延遲動態(tài)隨機存儲器。5、一種緩存數(shù)據(jù)讀取系統(tǒng),其特征在于包括片內(nèi)存儲器,包括第一模塊,用于緩存接收到的讀請求,并對所述讀請求進(jìn)行重排序;請求判決器,用于根據(jù)讀時序限制信息提取重排序后的讀請求并發(fā)送;片外存儲控制器,用于根據(jù)接收到的讀請求從片外存儲器中讀取數(shù)據(jù);所述片內(nèi)存儲器,還包括第二模塊,用于緩存所述讀請求對應(yīng)的讀數(shù)據(jù),對所述讀數(shù)據(jù)進(jìn)行重排序并發(fā)送。6、根據(jù)權(quán)利要求5所述的緩存數(shù)據(jù)讀取系統(tǒng),其特征在于所述第一模塊包括第一緩存模塊,用于緩存接收到的讀請求;多個讀隊列,用于存儲讀請求,所述讀隊列的個數(shù)與片外存儲器的緩存區(qū)的個凄t相同;排序模塊,用于將讀數(shù)據(jù)需從片外存儲器的同一個緩存區(qū)讀出的讀請求按順序?qū)懭胪粋€讀隊列;所述第二模塊包括第二緩存模塊,用于緩存接收到的所述讀請求對應(yīng)的讀數(shù)據(jù);發(fā)送模塊,用于按讀請求的順序,發(fā)送所述讀請求對應(yīng)的數(shù)據(jù)。7、根據(jù)權(quán)利要求5或6所述的緩存數(shù)據(jù)讀取系統(tǒng),其特征在于所述片內(nèi)存儲器還包括請求緩存模塊,用于按接收到的讀請求的順序保存所述讀請求;讀回記錄模塊,用于記錄為請求緩存模塊中保存的每個讀請求分配的用于緩存從片外存儲器讀回來的數(shù)據(jù)在片內(nèi)存儲器的地址;所述第二緩存模塊具體為數(shù)據(jù)緩存模塊,用于將從片外存儲器讀回的數(shù)據(jù)緩存在讀回記錄模塊記錄的地址上;所述發(fā)送模塊具體為順序發(fā)送模塊,用于按照所述請求緩存模塊保存的讀請求與所述讀回記錄模塊記錄的從片外存儲器都回來的數(shù)據(jù)在片內(nèi)存儲器的地址的對應(yīng)關(guān)系,將所述數(shù)據(jù)緩存模塊中的數(shù)據(jù)發(fā)送至對應(yīng)讀請求的請求方。8、根據(jù)權(quán)利要求5所述的緩存數(shù)據(jù)讀取系統(tǒng),其特征在于所述片外存儲器具體為動態(tài)隨機存儲器、同步靜態(tài)隨機存儲器或低延遲動態(tài)隨機存儲器。9、根據(jù)權(quán)利要求6所述的緩存數(shù)據(jù)讀取系統(tǒng),其特征在于所述排序模塊還包括多個讀請求計數(shù)器,每個所述讀請求計數(shù)器對應(yīng)一個所述讀隊列,用于記錄讀請求進(jìn)入讀隊列時,與讀隊列對應(yīng)外存儲器的同一個緩存區(qū)的寫隊列的入隊計數(shù)器的值;所述請求判決器包括判決模塊,用于接收出隊計數(shù)器的值和讀請求計數(shù)器的值,并當(dāng)讀請求計數(shù)器的值不大于出隊計數(shù)器的值時,提取所述讀隊列中的讀請求。10、根據(jù)權(quán)利要求7所述的緩存數(shù)據(jù)讀取系統(tǒng),其特征在于所述片內(nèi)存儲器還包括第一判斷模塊,用于判斷讀請求對應(yīng)的讀數(shù)據(jù)是否在第一預(yù)定地址范圍內(nèi);第一讀取it塊,用于當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第一預(yù)定地址范圍內(nèi)時,將讀請求發(fā)送至所述請求緩存模塊,并從所述數(shù)據(jù)緩存模塊中讀取數(shù)據(jù)。11、根據(jù)權(quán)利要求7所述的緩存數(shù)據(jù)讀取系統(tǒng),其特征在于所述片內(nèi)存儲器還包括第二判斷模塊,用于當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第二預(yù)定地址范圍內(nèi)時,判斷所述讀數(shù)據(jù)在緩存模塊中的地址是否被寫入新的數(shù)據(jù);第二讀取模塊,用于當(dāng)所述讀數(shù)據(jù)在緩存模塊中的地址未被寫入新的數(shù)據(jù)時,將所述讀請求發(fā)送至所述請求緩存模塊,并從所述緩存模塊中讀取數(shù)據(jù)。12、一種緩存數(shù)據(jù)寫入方法,其特征在于包括接收寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù);緩存接收到的寫請求對應(yīng)的寫數(shù)據(jù);緩存所述寫請求,并對所述寫請求進(jìn)行重排序;根據(jù)片外存儲器的寫時序限制信息提取重排序后的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù);將提取的寫數(shù)據(jù)寫入所述片外存儲器。13、根據(jù)權(quán)利要求12所述的緩存數(shù)據(jù)寫入方法,其特征在于所述對所述寫請求進(jìn)行重排序具體包括將寫請求存儲在多個寫對列中,所述寫隊列的個數(shù)與片外存儲器的緩存區(qū)的個凄t相同;將寫數(shù)據(jù)需寫入片外存儲器的同一個緩存區(qū)的寫請求按順序?qū)懭胪粋€所述寫隊列。14、根據(jù)權(quán)利要求12所述的緩存數(shù)據(jù)寫入方法,其特征在于所述對所述寫請求進(jìn)行重排序還包括統(tǒng)計進(jìn)入同一隊列的寫請求的個數(shù);統(tǒng)計從所述同一隊列中出隊的寫請求的個數(shù)。15、根據(jù)權(quán)利要求12-14任一所述的緩存數(shù)據(jù)寫入方法,其特征在于在所述緩存所述寫請求,并對所述寫請求進(jìn)行重排序之前還包括確定所述寫請求對應(yīng)的寫數(shù)據(jù)的地址在第一預(yù)定地址范圍之外。16、一種緩存數(shù)據(jù)讀取方法,其特征在于包括緩存接收到的讀請求,并對所述讀請求進(jìn)行重排序;根據(jù)片外存儲器的讀時序限制信息提取重排序后的讀請求;根據(jù)提取的重排序后的讀請求從所述片外存儲器中讀取數(shù)據(jù);緩存所述提取的重排序后的讀請求對應(yīng)的讀數(shù)據(jù),并根據(jù)所述讀數(shù)據(jù)與讀請求的對應(yīng)關(guān)系對所述讀數(shù)據(jù)進(jìn)行重排序;將重排序后的所述讀數(shù)據(jù)發(fā)送給對應(yīng)的讀請求的請求方。17、根據(jù)權(quán)利要求16所述的緩存數(shù)據(jù)讀取方法,其特征在于所述對所述讀請求進(jìn)行重排序具體包括將讀請求存儲在多個讀隊列中,所述讀隊列的個數(shù)與片外存儲器的緩存區(qū)的個凄t相同;將讀數(shù)據(jù)需從片外存儲器的同一個緩存區(qū)讀出的讀請求按順序?qū)懭胪粋€讀隊列。18、根據(jù)權(quán)利要求16或17所述的緩存數(shù)據(jù)讀取方法,其特征在于所述根據(jù)所述讀數(shù)據(jù)與讀請求的對應(yīng)關(guān)系對所述讀數(shù)據(jù)進(jìn)行重排序具體包括按接收到的讀請求的順序保存所述讀請求;記錄為按接收到的讀請求的順序保存的每個讀請求分配的用于緩存讀數(shù)據(jù)的緩存地址;將從片外讀取的讀數(shù)據(jù)緩存在對應(yīng)的讀請求對應(yīng)的所述緩存地址上;所述將重排序后的所述讀數(shù)據(jù)發(fā)送給對應(yīng)的讀請求的請求方具體為當(dāng)所述緩存地址上緩存有有效的讀數(shù)據(jù)時,將該有效的讀數(shù)據(jù)發(fā)送給對應(yīng)的讀請求的請求方。19、根據(jù)權(quán)利要求17所述的緩存數(shù)據(jù)讀取方法,其特征在于所述對所述讀請求進(jìn)行重排序還包括統(tǒng)計進(jìn)入第一讀隊列的讀請求的個數(shù);所述提取重排序后的讀請求包括當(dāng)進(jìn)入所述第一讀隊列的讀請求的個數(shù)不大于從第一寫隊列中出隊的所有寫請求的個數(shù)時,提取該第一讀隊列中的讀請求;所述第一讀隊列和所述第一寫隊列對應(yīng)所述片外存儲器的同一個緩存區(qū)。20、根據(jù)權(quán)利要求16所述的緩存數(shù)據(jù)讀取方法,其特征在于所述對所述讀請求進(jìn)行重排序之前還包括判斷讀請求對應(yīng)的讀數(shù)據(jù)是否在第一預(yù)定地址范圍內(nèi),當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第一預(yù)定地址范圍內(nèi)時,將按接收到的讀請求的順序從緩存的在第一預(yù)定地址范圍內(nèi)的數(shù)據(jù)中讀取數(shù)據(jù);當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)不在第一預(yù)定地址范圍內(nèi)時,則對所述讀請求進(jìn)行重排序。21、根據(jù)權(quán)利要求16所述的緩存數(shù)據(jù)讀取方法,其特征在于所述對所述讀請求進(jìn)行重排序之前還包括判斷讀請求對應(yīng)的讀數(shù)據(jù)是否在第二預(yù)定地址范圍內(nèi),當(dāng)讀請求對應(yīng)的讀數(shù)據(jù)在第二預(yù)定地址范圍內(nèi)時,判斷所述保存讀數(shù)據(jù)的地址是否被寫入新的數(shù)據(jù),若未被寫入新的數(shù)據(jù),則按接收到的讀請求的順序從緩存的在第二預(yù)定地址范圍內(nèi)的數(shù)據(jù)中讀取數(shù)據(jù);否則,對所述讀請求進(jìn)行重排序。全文摘要本發(fā)明實施例涉及一種緩存數(shù)據(jù)寫入系統(tǒng)及方法和緩存數(shù)據(jù)讀取系統(tǒng)及方法,該緩存數(shù)據(jù)寫入系統(tǒng)包括片內(nèi)存儲器,用于緩存接收到的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù),并對所述寫請求進(jìn)行重排序;請求判決器,用于根據(jù)片外存儲器的寫時序限制信息提取重排序后的寫請求及所述寫請求對應(yīng)的寫數(shù)據(jù);片外存儲控制器,用于將所述請求判決器提取的寫數(shù)據(jù)寫入所述片外存儲器;上述緩存數(shù)據(jù)寫入方法和緩存數(shù)據(jù)讀取系統(tǒng)及方法,可以提供大容量的數(shù)據(jù)存儲空間和高速的數(shù)據(jù)讀寫效率。文檔編號H04L12/56GK101246460SQ20081010166公開日2008年8月20日申請日期2008年3月10日優(yōu)先權(quán)日2008年3月10日發(fā)明者卞云峰,暉呂,林君亮,羅海燕,勤鄭申請人:華為技術(shù)有限公司