專利名稱:一種分級(jí)管理存儲(chǔ)資源的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)資源管理技術(shù),特別是指一種分級(jí)管理存儲(chǔ)資源的方法及系統(tǒng)。
背景技術(shù):
在數(shù)字邏輯設(shè)計(jì)中,經(jīng)常會(huì)涉及到大量數(shù)據(jù)的存儲(chǔ),如寬帶碼分多址(WCDMA)高 速上行鏈路分組接入(HSUPA)業(yè)務(wù),然而,硬件存儲(chǔ)沒(méi)有軟件存儲(chǔ)靈活,且數(shù)字邏輯設(shè)計(jì)中 的存儲(chǔ)芯片價(jià)格昂貴。面對(duì)一些數(shù)據(jù)存儲(chǔ)量巨大的設(shè)計(jì),如果針對(duì)每段數(shù)據(jù)都開(kāi)設(shè)最大空 間來(lái)進(jìn)行存儲(chǔ),這樣雖然設(shè)計(jì)簡(jiǎn)單,卻存在極大的存儲(chǔ)資源浪費(fèi)。目前,在存儲(chǔ)管理方面,主要是利用操作系統(tǒng)對(duì)存儲(chǔ)進(jìn)行軟件管理,與數(shù)字邏輯設(shè) 計(jì)中的數(shù)據(jù)存儲(chǔ)機(jī)制完全不同,因此,這種軟件管理方式并不適用數(shù)字邏輯設(shè)計(jì)方面。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種分級(jí)管理存儲(chǔ)資源的方法和系統(tǒng),能 更好的節(jié)省存儲(chǔ)空間,并能滿足不同數(shù)據(jù)大小的存儲(chǔ)需求。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種分級(jí)管理存儲(chǔ)資源的方法,包括對(duì)存儲(chǔ)空間進(jìn)行規(guī)劃,建立地址管理索引,根據(jù)索引以及數(shù)據(jù)的類型存儲(chǔ)或讀取 數(shù)據(jù)。上述方案中,所述對(duì)存儲(chǔ)空間進(jìn)行規(guī)劃為將存儲(chǔ)空間劃分為大小不同的片區(qū),片 區(qū)間存儲(chǔ)空間大小依次遞增;并將每個(gè)片區(qū)劃分成段,同一片區(qū)中每段的存儲(chǔ)空間大小相 同。上述方案中,所述建立地址管理索引為選擇兩個(gè)隨機(jī)存取存儲(chǔ)器RAM,用一個(gè) RAM記錄數(shù)據(jù)發(fā)送方發(fā)送數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志,以及存儲(chǔ)數(shù)據(jù)的片區(qū)號(hào)和段號(hào);并用另一 個(gè)RAM記錄所有片區(qū)中所有段的存儲(chǔ)狀態(tài)標(biāo)志。上述方案中,對(duì)于定期更新的數(shù)據(jù),所述根據(jù)索引以及數(shù)據(jù)的類型存儲(chǔ)數(shù)據(jù)具體 為確定要存儲(chǔ)的片區(qū)號(hào),查詢發(fā)送方數(shù)據(jù)的存儲(chǔ)狀態(tài);如果數(shù)據(jù)未存儲(chǔ),找出第一個(gè)未存 儲(chǔ)數(shù)據(jù)的段,并將數(shù)據(jù)存儲(chǔ)在此段中;如果數(shù)據(jù)已存儲(chǔ),查詢存儲(chǔ)該發(fā)送方數(shù)據(jù)的片區(qū)號(hào), 比較查詢到的片區(qū)號(hào)與確定要存儲(chǔ)的片區(qū)號(hào),若相同,仍將接收的數(shù)據(jù)存儲(chǔ)在查詢到的存 儲(chǔ)該發(fā)送方數(shù)據(jù)的位置;若不同,仍按照發(fā)送方數(shù)據(jù)未存儲(chǔ)時(shí)的方法進(jìn)行存儲(chǔ)。上述方案中,對(duì)于不定期更新的數(shù)據(jù),所述根據(jù)索引以及數(shù)據(jù)的類型存儲(chǔ)數(shù)據(jù)具 體為確定要存儲(chǔ)的片區(qū)號(hào),查詢發(fā)送方數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志;如果數(shù)據(jù)未存儲(chǔ),查找第一 個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存儲(chǔ)在該段中;如果數(shù)據(jù)已存儲(chǔ),根據(jù)確定要存儲(chǔ)的片區(qū)號(hào)查找 第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存儲(chǔ)在該段中。上述方案中,對(duì)于不定期更新的數(shù)據(jù),所述根據(jù)索引以及數(shù)據(jù)的類型讀取數(shù)據(jù)具 體為根據(jù)要讀取數(shù)據(jù)的發(fā)送方標(biāo)識(shí)索引地址管理索引RAM中數(shù)據(jù)存儲(chǔ)的位置,根據(jù)數(shù)據(jù) 存儲(chǔ)的位置讀出數(shù)據(jù),同時(shí)將該RAM中記錄該數(shù)據(jù)存儲(chǔ)位置的片區(qū)號(hào)以及段號(hào)清除,并將另一地址管理索引RAM中標(biāo)志該數(shù)據(jù)存儲(chǔ)狀態(tài)的段存儲(chǔ)狀態(tài)標(biāo)志修改為未置位。本發(fā)明還提供了一種分級(jí)管理存儲(chǔ)資源的系統(tǒng),包括地址規(guī)劃單元,用于對(duì)存儲(chǔ)器的存儲(chǔ)空間進(jìn)行規(guī)劃;地址索引單元,用于為規(guī)劃后的存儲(chǔ)空間建立地址管理索引;數(shù)據(jù)存儲(chǔ)處理單元,用于根據(jù)地址索引單元建立的索引以及數(shù)據(jù)的類型存儲(chǔ)數(shù)據(jù);數(shù)據(jù)讀取處理單元,用于根據(jù)地址索引單元建立的索引以及數(shù)據(jù)的類型讀取數(shù)據(jù),更新地址索引單元中的地址索引。由此可見(jiàn),采用本發(fā)明所述的方法和系統(tǒng),對(duì)存儲(chǔ)空間進(jìn)行不同的劃分,根據(jù)需要分配不同大小的存儲(chǔ)空間,這樣,可滿足不同數(shù)據(jù)大小的存儲(chǔ)需求;而且,在使用過(guò)程中, 實(shí)時(shí)記錄存儲(chǔ)空間的存儲(chǔ)狀態(tài),可靈活的進(jìn)行存儲(chǔ)空間的釋放,如此,能更好的節(jié)省存儲(chǔ)空 間,避免存儲(chǔ)資源的浪費(fèi)。
圖1為本發(fā)明實(shí)現(xiàn)分級(jí)管理存儲(chǔ)資源的方法流程示意圖;圖2為本發(fā)明實(shí)現(xiàn)分級(jí)管理存儲(chǔ)資源的系統(tǒng)組成示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是對(duì)存儲(chǔ)空間進(jìn)行地址規(guī)劃,并建立地址管理索引,根據(jù)索引以及接收數(shù)據(jù)類型存儲(chǔ)數(shù)據(jù)。其中,所述數(shù)據(jù)類型分為定期更新的數(shù)據(jù)和不定期更新的數(shù)據(jù);所述定期更新的數(shù)據(jù),是指數(shù)據(jù)存儲(chǔ)到存儲(chǔ)空間后,過(guò)一定時(shí)間該數(shù)據(jù)會(huì)被讀出,該存儲(chǔ)空間被釋放并可以 重新使用,新寫入的數(shù)據(jù)可以覆蓋之前寫入的數(shù)據(jù);所述不定期更新的數(shù)據(jù),是指數(shù)據(jù)存儲(chǔ) 后被讀出的時(shí)間不確定,在沒(méi)有將此數(shù)據(jù)讀出之前,這個(gè)數(shù)據(jù)存儲(chǔ)空間不可以重新利用,不 能重新寫入數(shù)據(jù)覆蓋之前的數(shù)據(jù)。下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明,如圖1所示,本發(fā)明實(shí)現(xiàn)分級(jí)管理存儲(chǔ)資源的方法包括以下步驟步驟101,對(duì)存儲(chǔ)空間進(jìn)行地址規(guī)劃,并建立地址管理索引;這里,所述進(jìn)行地址規(guī)劃的具體過(guò)程為將用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)空間劃分為η個(gè) 大小不同的片區(qū),片區(qū)號(hào)用dis_nUm表示;dis_l標(biāo)識(shí)第一個(gè)片區(qū),識(shí)為第η個(gè)片 區(qū),片區(qū)間的存儲(chǔ)空間依次遞增,每個(gè)片區(qū)的存儲(chǔ)空間大小可根據(jù)設(shè)計(jì)需要靈活配置;每個(gè) 片區(qū)分為m段,段號(hào)用seg_n_m標(biāo)識(shí),seg_l_l標(biāo)識(shí)第一個(gè)片區(qū)的第一段,同一片區(qū)的每段 的存儲(chǔ)空間大小相同,根據(jù)數(shù)據(jù)發(fā)送方標(biāo)識(shí)uSer_id分配不同的存儲(chǔ)空間,每個(gè)數(shù)據(jù)發(fā)送 方分配的存儲(chǔ)空間的數(shù)量由人為確定。所述建立地址管理索引的具體過(guò)程為選擇兩個(gè)隨機(jī)存取存儲(chǔ)器(RAM),一個(gè)RAM 標(biāo)記為RAM_aSSign,用于記錄數(shù)據(jù)發(fā)送方發(fā)送數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志表示為assigruen ; assign_en未被置位,即值為0時(shí),表示數(shù)據(jù)未存儲(chǔ);assigruen被置位,即值為1時(shí),表示數(shù) 據(jù)已存儲(chǔ);記錄存儲(chǔ)數(shù)據(jù)的位置,即片區(qū)號(hào)dis_nUm,段號(hào)seg_n_m。另一個(gè)RAM標(biāo)記為RAM_seg_en,用于記錄所有片區(qū)中所有段號(hào)存儲(chǔ)狀態(tài)標(biāo)志,用seg_assign_en來(lái)表示,如果該段號(hào)已經(jīng)存儲(chǔ)數(shù)據(jù),則將seg_assign_en置位,即值為1 ;如 果未存儲(chǔ)數(shù)據(jù),則不置位,即值為0。步驟102,確定接收的數(shù)據(jù)是否為定期更新的數(shù)據(jù),如果是定期更新的數(shù)據(jù),則執(zhí) 行步驟103,如果是不定期更新的數(shù)據(jù),則執(zhí)行步驟104 ;本發(fā)明的應(yīng)用場(chǎng)景有兩個(gè),定期更新的數(shù)據(jù)存儲(chǔ)或者不定期更新的數(shù)據(jù)存儲(chǔ)。一 般,系統(tǒng)在接收數(shù)據(jù)前,會(huì)得知當(dāng)前接收的數(shù)據(jù)是定期更新的數(shù)據(jù)、還是不定期更新的數(shù) 據(jù)。步驟103,根據(jù)存儲(chǔ)定期更新數(shù)據(jù)的存儲(chǔ)方法存儲(chǔ)接收的數(shù)據(jù),結(jié)束處理流程。這里,所述存儲(chǔ)定期更新數(shù)據(jù)的存儲(chǔ)方法為根據(jù)所接收數(shù)據(jù)的大小確定要存儲(chǔ) 的片區(qū)號(hào)dis_nUm,其中,所接收數(shù)據(jù)中包含有數(shù)據(jù)發(fā)送方標(biāo)識(shí)User_id,根據(jù)User_id查詢 RAM_assign 中該 user_id )(對(duì)應(yīng)的 assign_en ;如果assign_en為0,說(shuō)明沒(méi)有存儲(chǔ)該user_id的數(shù)據(jù),則根據(jù)確定要存儲(chǔ)的片區(qū) 號(hào)dis_nUm索引RAM_seg_en,找出確定要存儲(chǔ)的片區(qū)號(hào)對(duì)應(yīng)的段中,第一個(gè)未存儲(chǔ)數(shù)據(jù),即 值為0的段,將數(shù)據(jù)寫入到該段中,并將RAM_seg_en中該片區(qū)中該段號(hào)置位為1,將RAM_ assign中該user_id對(duì)應(yīng)的assign_en置位為1 ;同時(shí)記錄標(biāo)記數(shù)據(jù)存儲(chǔ)位置的dis_num, seg_n_m。例如,如果數(shù)據(jù)存儲(chǔ)在第2片區(qū)的第3段,那么dis_num為dis_2,seg_n_m為 seg_2_3。如果assign_en為1,說(shuō)明已經(jīng)存儲(chǔ)該user_id的數(shù)據(jù),查詢RAM_assign中存儲(chǔ)該 user_id數(shù)據(jù)的dis_num,比較確定的dis_num與查詢到的dis_num是否相同,如果相同,根 據(jù)RAM_aSSign中的記錄,仍將接收的數(shù)據(jù)存儲(chǔ)在查詢到的存儲(chǔ)uSer_id數(shù)據(jù)的位置,將原 來(lái)的數(shù)據(jù)覆蓋;如果確定的dis_num與查詢到的dis_num不同,按照user_id數(shù)據(jù)為未存儲(chǔ)時(shí)的 方法進(jìn)行數(shù)據(jù)存儲(chǔ),并將RAM_aSSign中查詢到的dis_num以及對(duì)應(yīng)的seg_n_m修改為未置 位,同時(shí)將RAM_seg_en中記錄原數(shù)據(jù)存儲(chǔ)狀態(tài)標(biāo)志修改為未置位。步驟104,根據(jù)存儲(chǔ)不定期更新數(shù)據(jù)的存儲(chǔ)方法存儲(chǔ)接收的數(shù)據(jù)。這里,所述存儲(chǔ)不定期更新數(shù)據(jù)的存儲(chǔ)方法為根據(jù)所接收數(shù)據(jù)的大小確定片區(qū) 號(hào) dis_num,根據(jù) user_id 查詢 RAM_assign 中該 user_id 對(duì)應(yīng)的 assign_en ;如果assign_en為0,說(shuō)明沒(méi)有存儲(chǔ)該User_id的數(shù)據(jù),根據(jù)確定要存儲(chǔ)的片區(qū)號(hào) dis_num索引RAM_seg_en,找出該dis_num對(duì)應(yīng)的seg_n_m中,第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將 數(shù)據(jù)寫入到該段中,同時(shí)將RAM_seg_en中該片區(qū)號(hào)中該段置位,將RAM_assign中assign_ en的值置位,并記錄標(biāo)記數(shù)據(jù)存儲(chǔ)位置的dis_num,seg_n_m。如果assigruen為1,根據(jù)確定要存儲(chǔ)的片區(qū)號(hào)索引RAM_seg_en,找出該片區(qū)號(hào)對(duì) 應(yīng)的段中,第一個(gè)未存儲(chǔ)的段,將數(shù)據(jù)存儲(chǔ)在該段中,同時(shí)將RAM_seg_en中該片區(qū)號(hào)中的 該段置位,在RAM_assign中該user_id增加一個(gè)assigr^enl并置1,并記錄標(biāo)記數(shù)據(jù)存儲(chǔ) 位置的片區(qū)號(hào)以及段號(hào)。讀取數(shù)據(jù)并進(jìn)行地址管理索引更新時(shí),如果是定期更新的數(shù)據(jù),可根據(jù)要讀取數(shù) 據(jù)的USer_id索引RAM_aSSign中數(shù)據(jù)的位置,即數(shù)據(jù)所在的片區(qū)號(hào)以及段號(hào),直接根據(jù)對(duì) 應(yīng)的位置讀出數(shù)據(jù)。如果是不定期更新的數(shù)據(jù),可根據(jù)數(shù)據(jù)的userjd索引RAM_aSSign中數(shù)據(jù)的位置,根據(jù)數(shù)據(jù)的位置讀出數(shù)據(jù),同時(shí)將RAM_aSSign中User_id對(duì)應(yīng)的片區(qū)號(hào)以及段號(hào)清除,將RAM_seg_en中段號(hào)修改為未置位,即值為O。本發(fā)明還提供了一種分級(jí)管理存儲(chǔ)資源的系統(tǒng),如圖2所示,該系統(tǒng)包括地址劃分單元201,地址索引單元202,數(shù)據(jù)存儲(chǔ)處理單元203,數(shù)據(jù)讀取處理單元204 ;其中,地址規(guī)劃單元201,用于對(duì)存儲(chǔ)器的存儲(chǔ)空間進(jìn)行規(guī)劃;地址索引單元202,用于為規(guī)劃后的存儲(chǔ)空間建立地址管理索引,并記錄存儲(chǔ)空間 的存儲(chǔ)狀態(tài);數(shù)據(jù)存儲(chǔ)處理單元203,用于根據(jù)地址索引單元202建立的索引以及數(shù)據(jù)的類型 存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)讀取處理單元204,用于根據(jù)地址索引單元202中的地址索引讀取數(shù)據(jù),并更 新地址索引單元202中的地址索引。地址規(guī)劃單元201,具體用于將存儲(chǔ)空間劃分為η個(gè)大小不同的片區(qū),片區(qū)號(hào)用 dis_nUm表示;片區(qū)間的存儲(chǔ)空間依次遞增,每個(gè)片區(qū)的存儲(chǔ)空間大小可根據(jù)設(shè)計(jì)需要靈 活配置;每個(gè)片區(qū)分為m段,段號(hào)用segnjii標(biāo)識(shí),同一片區(qū)的每段大小相同。地址索引單元202,具體用于選擇兩個(gè)RAM,一個(gè)RAM標(biāo)記為RAM_assign,用于記 錄數(shù)據(jù)發(fā)送方發(fā)送數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志表示為assigruer^assigruen未被置位,即值為0, 表示數(shù)據(jù)未存儲(chǔ);assigruen被置位,即值為1,表示數(shù)據(jù)已存儲(chǔ),記錄存儲(chǔ)數(shù)據(jù)的位置,即 片區(qū)號(hào) dis_num,段號(hào) seg_n_m ;另一個(gè)RAM標(biāo)記為RAM_seg_en,用于記錄所有片區(qū)中所有段的存儲(chǔ)狀態(tài)標(biāo)志seg_ assigruen,如果該段號(hào)已經(jīng)存儲(chǔ)數(shù)據(jù)則將Seg_aSSign_en置位,即值為1 ;如果未存儲(chǔ)數(shù)據(jù) 則不置位,即值為0。數(shù)據(jù)存儲(chǔ)處理單元203,具體用于對(duì)于定期更新數(shù)據(jù),確定要存儲(chǔ)的片區(qū)號(hào),包 括根據(jù)接收數(shù)據(jù)中包含的數(shù)據(jù)發(fā)送方的標(biāo)識(shí)uSer_id,查詢地址索引單元202的RAM_ assign中該user_id對(duì)應(yīng)的assign_en,如果數(shù)據(jù)未存儲(chǔ),即assign_en為0,根據(jù)確定要 存儲(chǔ)的片區(qū)號(hào)dis_nUm索引RAM_seg_en,找出該片區(qū)號(hào)對(duì)應(yīng)的段中,第一個(gè)未存儲(chǔ)數(shù)據(jù),即 值為0的段,將數(shù)據(jù)寫入到該段中,同時(shí)將RAM_seg_en中該段的存儲(chǔ)狀態(tài)標(biāo)志置位,將地址 索引單元202的RAM_aSSign中的assigruen置位,并記錄存儲(chǔ)數(shù)據(jù)的位置,即用dis_num, Seg_n_m標(biāo)記數(shù)據(jù)存儲(chǔ)的的位置;如果數(shù)據(jù)已存儲(chǔ),即assigruen為1時(shí),根據(jù)接收數(shù)據(jù)中的user_id查詢地址索引 單元202 RAM_aSSign中存儲(chǔ)該user_id數(shù)據(jù)的片區(qū)號(hào),比較確定要存儲(chǔ)的片區(qū)號(hào)與查詢到 的片區(qū)號(hào)是否相同,如果相同,根據(jù)RAM_aSSign中的記錄,仍將數(shù)據(jù)存儲(chǔ)在查詢到的存儲(chǔ) User_id數(shù)據(jù)的位置,將原來(lái)的數(shù)據(jù)覆蓋;否則,仍按照發(fā)送方數(shù)據(jù)未存儲(chǔ)時(shí)的方法進(jìn)行存 儲(chǔ),同時(shí)將在RAM_assign中查詢到的user_id的assign_en修改為未置位,清除記錄數(shù)據(jù) 存儲(chǔ)位置的片區(qū)號(hào)、段號(hào),將地址索引單元202的RAM_seg_en中,存儲(chǔ)原來(lái)數(shù)據(jù)的段存儲(chǔ)狀 態(tài)標(biāo)志修改為未置位。數(shù)據(jù)存儲(chǔ)處理單元203,具體用于對(duì)于不定期更新的數(shù)據(jù),根據(jù)所接收數(shù)據(jù)的大 小確定要存儲(chǔ)的片區(qū)號(hào),根據(jù)user_id查詢地址索引單元202的RAM_assign中該user_id 對(duì)應(yīng)的assigruen,如果數(shù)據(jù)未存儲(chǔ),即assigruen為0,根據(jù)確定要存儲(chǔ)的片區(qū)號(hào)索引地 址索引單元202的RAM_seg_en,查找該片區(qū)號(hào)中,第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存儲(chǔ)到該段中,同時(shí)將RAM_seg_en中該段存儲(chǔ)狀態(tài)標(biāo)志置位,將RAM_assign中assign_en的值置 位,并記錄存儲(chǔ)數(shù)據(jù)的位置;如果數(shù)據(jù)已存儲(chǔ),即assigruen為1,根據(jù)確定要存儲(chǔ)的片區(qū)號(hào) 索引RAM_seg_en,查找該片區(qū)號(hào)中,第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存儲(chǔ)在該段中,將RAM_ seg_en中該段存儲(chǔ)狀態(tài)標(biāo)志置位,在RAM_assign中該user_id新增assign_enl并置位,記 錄標(biāo)記存儲(chǔ)數(shù)據(jù)的位置。數(shù)據(jù)讀取處理單元204,具體用于對(duì)于定期更新的數(shù)據(jù),根據(jù)要讀取數(shù)據(jù)的 user_id查詢地址索引單元202中RAM_aSSign中數(shù)據(jù)存儲(chǔ)的位置,直接根據(jù)查詢的位置讀 出數(shù)據(jù)。數(shù)據(jù)讀取處理單元204具體用于,對(duì)于不定期更新的數(shù)據(jù),根據(jù)要讀取數(shù)據(jù)的user_id索引RAM_aSSign中數(shù)據(jù)存儲(chǔ)的位置,根據(jù)數(shù)據(jù)存儲(chǔ)的位置讀出數(shù)據(jù),同時(shí)將RAM_ assign中User_id對(duì)應(yīng)的記錄該數(shù)據(jù)存儲(chǔ)位置的片區(qū)號(hào)、以及段號(hào)清除,將RAM_seg_en中 標(biāo)識(shí)該數(shù)據(jù)存儲(chǔ)狀態(tài)的段存儲(chǔ)狀態(tài)標(biāo)志修改為未置位。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
權(quán)利要求
一種分級(jí)管理存儲(chǔ)資源的方法,其特征在于,該方法包括對(duì)存儲(chǔ)空間進(jìn)行規(guī)劃,建立地址管理索引,根據(jù)索引以及數(shù)據(jù)的類型存儲(chǔ)或讀取數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對(duì)存儲(chǔ)空間進(jìn)行規(guī)劃為將存儲(chǔ)空間劃分為大小不同的片區(qū),片區(qū)間存儲(chǔ)空間大小依次遞增;并將每個(gè)片區(qū)劃 分成段,同一片區(qū)中每段的存儲(chǔ)空間大小相同。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述建立地址管理索引為選擇兩個(gè)隨機(jī)存取存儲(chǔ)器RAM,用一個(gè)RAM記錄數(shù)據(jù)發(fā)送方發(fā)送數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志, 以及存儲(chǔ)數(shù)據(jù)的片區(qū)號(hào)和段號(hào);并用另一個(gè)RAM記錄所有片區(qū)中所有段的存儲(chǔ)狀態(tài)標(biāo)志。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,對(duì)于定期更新的數(shù)據(jù),所述根據(jù)索引以及 數(shù)據(jù)的類型存儲(chǔ)數(shù)據(jù)具體為確定要存儲(chǔ)的片區(qū)號(hào),查詢發(fā)送方數(shù)據(jù)的存儲(chǔ)狀態(tài); 如果數(shù)據(jù)未存儲(chǔ),找出第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,并將數(shù)據(jù)存儲(chǔ)在此段中; 如果數(shù)據(jù)已存儲(chǔ),查詢存儲(chǔ)該發(fā)送方數(shù)據(jù)的片區(qū)號(hào),比較查詢到的片區(qū)號(hào)與確定要存 儲(chǔ)的片區(qū)號(hào),若相同,仍將接收的數(shù)據(jù)存儲(chǔ)在查詢到的存儲(chǔ)該發(fā)送方數(shù)據(jù)的位置;若不同, 仍按照發(fā)送方數(shù)據(jù)未存儲(chǔ)時(shí)的方法進(jìn)行存儲(chǔ)。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,對(duì)于不定期更新的數(shù)據(jù),所述根據(jù)索引以 及數(shù)據(jù)的類型存儲(chǔ)數(shù)據(jù)具體為確定要存儲(chǔ)的片區(qū)號(hào),查詢發(fā)送方數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志; 如果數(shù)據(jù)未存儲(chǔ),查找第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存儲(chǔ)在該段中; 如果數(shù)據(jù)已存儲(chǔ),根據(jù)確定要存儲(chǔ)的片區(qū)號(hào)查找第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存儲(chǔ) 在該段中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,對(duì)于不定期更新的數(shù)據(jù),所述根據(jù)索引以 及數(shù)據(jù)的類型讀取數(shù)據(jù)具體為根據(jù)要讀取數(shù)據(jù)的發(fā)送方標(biāo)識(shí)索引地址管理索引RAM中數(shù) 據(jù)存儲(chǔ)的位置,根據(jù)數(shù)據(jù)存儲(chǔ)的位置讀出數(shù)據(jù),同時(shí)將該RAM中記錄該數(shù)據(jù)存儲(chǔ)位置的片 區(qū)號(hào)以及段號(hào)清除,并將另一地址管理索引RAM中標(biāo)志該數(shù)據(jù)存儲(chǔ)狀態(tài)的段存儲(chǔ)狀態(tài)標(biāo)志 修改為未置位。
7. 一種分級(jí)管理存儲(chǔ)資源的系統(tǒng),其特征在于,該系統(tǒng)包括 地址規(guī)劃單元,用于對(duì)存儲(chǔ)器的存儲(chǔ)空間進(jìn)行規(guī)劃;地址索引單元,用于為規(guī)劃后的存儲(chǔ)空間建立地址管理索引; 數(shù)據(jù)存儲(chǔ)處理單元,用于根據(jù)地址索引單元建立的索引以及數(shù)據(jù)的類型存儲(chǔ)數(shù)據(jù); 數(shù)據(jù)讀取處理單元,用于根據(jù)地址索引單元建立的索引以及數(shù)據(jù)的類型讀取數(shù)據(jù),更 新地址索引單元中的地址索引。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述地址規(guī)劃單元具體用于將存儲(chǔ)空間劃分為大小不同的片區(qū),片區(qū)間存儲(chǔ)空間大 小依次遞增,并將每個(gè)片區(qū)劃分成段,同一片區(qū)中每段的存儲(chǔ)空間大小相同。
9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述地址索引單元具體用于選擇兩個(gè)隨機(jī)存取存儲(chǔ)器RAM,用一個(gè)RAM記錄數(shù)據(jù)發(fā)送 方發(fā)送數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志,以及存儲(chǔ)數(shù)據(jù)的片區(qū)號(hào)和段號(hào);并用另一個(gè)RAM記錄所有片 區(qū)中所有段的存儲(chǔ)狀態(tài)標(biāo)志。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲(chǔ)處理單元具體用于對(duì)于定期更新的數(shù)據(jù),確定要存儲(chǔ)的片區(qū)號(hào),查詢發(fā) 送方數(shù)據(jù)的存儲(chǔ)狀態(tài),確定數(shù)據(jù)未存儲(chǔ),找出第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,并將數(shù)據(jù)存儲(chǔ)在此段 中;確定數(shù)據(jù)已存儲(chǔ),查詢存儲(chǔ)該發(fā)送方數(shù)據(jù)的片區(qū)號(hào),比較查詢到的片區(qū)號(hào)與確定要存儲(chǔ) 的片區(qū)號(hào),若相同,仍將接收的數(shù)據(jù)存儲(chǔ)在查詢到的存儲(chǔ)該發(fā)送方數(shù)據(jù)的位置;若不同,仍 按照發(fā)送方數(shù)據(jù)未存儲(chǔ)時(shí)的方法進(jìn)行存儲(chǔ)。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲(chǔ)處理單元具體用于對(duì)于不定期更新的數(shù)據(jù),確定要存儲(chǔ)的片區(qū)號(hào),查詢 發(fā)送方數(shù)據(jù)的存儲(chǔ)狀態(tài)標(biāo)志,確定數(shù)據(jù)未存儲(chǔ),查找第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存儲(chǔ)在 該段中;確定數(shù)據(jù)已存儲(chǔ),根據(jù)確定要存儲(chǔ)的片區(qū)號(hào)查找第一個(gè)未存儲(chǔ)數(shù)據(jù)的段,將數(shù)據(jù)存 儲(chǔ)在該段中。
12.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)讀取處理單元具體用于對(duì)于不定期更新的數(shù)據(jù),根據(jù)要讀取數(shù)據(jù)的發(fā)送方 標(biāo)識(shí)在地址索引單元中查找數(shù)據(jù)的位置,根據(jù)數(shù)據(jù)存儲(chǔ)的位置讀出數(shù)據(jù),同時(shí)將地址索引 單元中記錄該數(shù)據(jù)存儲(chǔ)位置的片區(qū)號(hào)以及段號(hào)清除,并將地址索引單元中的標(biāo)識(shí)該數(shù)據(jù)存 儲(chǔ)狀態(tài)的段存儲(chǔ)狀態(tài)標(biāo)志修改為未置位。
全文摘要
本發(fā)明公開(kāi)了一種分級(jí)管理存儲(chǔ)資源的方法,對(duì)存儲(chǔ)空間進(jìn)行規(guī)劃,建立地址管理索引,根據(jù)索引以及數(shù)據(jù)的類型存儲(chǔ)或讀取數(shù)據(jù)。本發(fā)明還公開(kāi)了一種分級(jí)管理存儲(chǔ)資源的系統(tǒng),采用本發(fā)明所述的方法和系統(tǒng),可以更好的節(jié)省空間,滿足不同數(shù)據(jù)大小的存儲(chǔ)需求,靈活的進(jìn)行存儲(chǔ)空間的記錄以及釋放。
文檔編號(hào)G06F12/08GK101799788SQ20101014058
公開(kāi)日2010年8月11日 申請(qǐng)日期2010年3月23日 優(yōu)先權(quán)日2010年3月23日
發(fā)明者王峰, 章偉, 鞠海英 申請(qǐng)人:中興通訊股份有限公司