国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種高速緩沖存儲(chǔ)器及其數(shù)據(jù)操作方法

      文檔序號(hào):6460781閱讀:205來源:國(guó)知局
      專利名稱:一種高速緩沖存儲(chǔ)器及其數(shù)據(jù)操作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及磁盤陣列技術(shù),尤其涉及磁盤陣列中的Cache (高速緩 沖存儲(chǔ)器)及其數(shù)據(jù)操作方法。
      背景技術(shù)
      在磁盤陣列中,Cache是一種特殊的存儲(chǔ)器,由Cache存儲(chǔ)區(qū)和 Cache控制區(qū)組成,用于緩存主才幾請(qǐng)求的數(shù)據(jù),它是影響磁盤陣列性能 的關(guān)鍵因素之一。Cache的組織方式通常有兩種, 一種方式是讀數(shù)據(jù)和 寫數(shù)據(jù)共同使用整個(gè)Cache存儲(chǔ)區(qū)域;另一種方式是讀數(shù)據(jù)和寫數(shù)據(jù)4吏 用不同的Cache存儲(chǔ)區(qū)域。
      由于讀操作和寫操作的不同特性,讀Cache和寫Cache通常使用不 同的Cache存儲(chǔ)區(qū)域。磁盤陣列在不同的應(yīng)用環(huán)境下,甚至在相同的應(yīng) 用環(huán)境下,會(huì)存在讀寫比例不一致的情況。
      如圖l所示,該圖為現(xiàn)有Cache的存儲(chǔ)區(qū)的結(jié)構(gòu)圖,該Cache的工 作方式為讀數(shù)據(jù)和寫數(shù)據(jù)4吏用不同的存儲(chǔ)區(qū)域,因而將讀Cache區(qū)域和 寫Cache區(qū)域進(jìn)行了物理劃分,假設(shè)Cache存儲(chǔ)區(qū)域大小為1G,前512M 為讀數(shù)據(jù)區(qū)域,后512M為寫數(shù)據(jù)區(qū)域。
      在上述讀Cache和寫Cache的區(qū)域分開的情況下,存在數(shù)據(jù)既^f^ 在讀Cache區(qū)域也保存在寫Cache區(qū)域的情況,在讀數(shù)據(jù)時(shí),要保證讀 取最新的數(shù)據(jù)。針對(duì)上述Cache, US6321298專利中提出了一種讀寫數(shù) 據(jù)的方法。讀數(shù)據(jù)的操作流程如圖2所示,具體為201、 當(dāng)接收到讀請(qǐng)求時(shí),首先查詢寫數(shù)據(jù)區(qū)中是否存在讀請(qǐng)求的 數(shù)據(jù),如果存在,則進(jìn)入步驟207,否則進(jìn)入步驟202。
      202、 查詢讀數(shù)據(jù)區(qū)中是否存在讀請(qǐng)求的數(shù)據(jù),如果存在,則進(jìn)入 步驟207;否則,寫數(shù)據(jù)區(qū)和讀數(shù)據(jù)區(qū)都不存在需訪問的數(shù)據(jù),到存儲(chǔ) 設(shè)備中讀取讀請(qǐng)求的數(shù)據(jù),進(jìn)入步驟203。
      203、 查詢讀數(shù)據(jù)區(qū)是否存在空閑空間,如果存在空閑空間則進(jìn)入 步驟205;否則ii^步驟204。
      204、 在讀數(shù)據(jù)區(qū)釋放部分空間
      205、 為讀數(shù)據(jù)申請(qǐng)空間。
      206、 從存儲(chǔ)設(shè)備中讀取數(shù)據(jù),保存到讀數(shù)據(jù)區(qū)。
      207、 返回讀請(qǐng)求的數(shù)據(jù)。 寫數(shù)據(jù)的流程如圖3所示
      301、 當(dāng)接收到寫請(qǐng)求時(shí),查詢寫數(shù)據(jù)區(qū)是否存在寫請(qǐng)求的數(shù)據(jù), 如果存在,則進(jìn)入步驟307;否則進(jìn)入步驟303。
      302、 查詢寫數(shù)據(jù)區(qū)是否存在空閑空間,若存在,則i^步驟306, 否則進(jìn)入步驟303。
      303、 在寫數(shù)據(jù)區(qū)執(zhí)行刷新操。
      304、 將刷新數(shù)據(jù)拷貝到讀數(shù)據(jù)區(qū)。
      305、 釋放刷新數(shù)據(jù)存i文的空間。
      306、 在寫數(shù)據(jù)區(qū)申請(qǐng)空間。
      307、 將寫請(qǐng)求的數(shù)據(jù)寫入寫數(shù)據(jù)區(qū)。
      根據(jù)上述Cache的存儲(chǔ)結(jié)構(gòu)進(jìn)行上述數(shù)據(jù)讀寫操作中存在以下問題由于讀寫區(qū)域完全相互分離,則調(diào)整讀寫區(qū)域的比例大小時(shí)操作比 較復(fù)雜,需要移動(dòng)讀數(shù)據(jù)區(qū)域和寫數(shù)據(jù)區(qū)域中存放的數(shù)據(jù);寫數(shù)據(jù)區(qū)域 進(jìn)行數(shù)據(jù)刷新時(shí)需要將刷新的數(shù)據(jù)拷貝到讀數(shù)據(jù)區(qū)域,增加了刷新數(shù)據(jù) 的時(shí)間,降低了效率和準(zhǔn)確度。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題是提供一種Cache及其數(shù)據(jù)操作方法,
      為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的 一種高速緩沖存儲(chǔ)器,包括存儲(chǔ)區(qū)和控制區(qū),所述存儲(chǔ)區(qū)包括高速 緩沖存儲(chǔ)器Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū);
      所述Cache塊信息區(qū)包括讀Cache塊信息區(qū)和寫Cache塊信息區(qū), 用于存儲(chǔ)Cache塊數(shù)據(jù)區(qū)中每個(gè)數(shù)據(jù)塊的信息,該信息包括數(shù)據(jù)塊的相 關(guān)信息和數(shù)據(jù)存放地址;
      所述Cache塊數(shù)據(jù)區(qū)用于以塊為單位存儲(chǔ)數(shù)據(jù)。
      其中,所述Cache塊數(shù)據(jù)區(qū)包括使用標(biāo)記表和數(shù)據(jù)存放區(qū);
      所述使用標(biāo)記表用于存儲(chǔ)一序列的標(biāo)記,每位標(biāo)記與數(shù)據(jù)存放區(qū)中 的一個(gè)數(shù)據(jù)塊相對(duì)應(yīng),用于標(biāo)識(shí)所對(duì)應(yīng)數(shù)據(jù)塊的物理空間是否已經(jīng)被使 用;
      所述數(shù)據(jù)存放區(qū)包括至少一個(gè)數(shù)據(jù)塊,用于存放數(shù)據(jù)。 一種如上所述的高速緩沖存儲(chǔ)器的數(shù)據(jù)操作方法,所述方法包括數(shù) 據(jù)的讀取和寫入方法;其中,所述數(shù)據(jù)的讀取方法為
      A、 在讀Cache塊信息區(qū)中獲取保存所要讀取數(shù)據(jù)的數(shù)據(jù)塊的信息;
      B、 根據(jù)所述信息中的數(shù)據(jù)存放地址到Cache塊數(shù)據(jù)區(qū)中相應(yīng)數(shù)據(jù) 塊讀取數(shù)據(jù);
      所述數(shù)據(jù)的寫入方法為
      a、 在寫Cache塊信息區(qū)中查找是否有保存所要寫入數(shù)據(jù)的數(shù)據(jù)塊 的信息,若有,則進(jìn)入步驟b,否則ii^步驟c;
      b、 從寫Cache塊信息區(qū)中獲M目應(yīng)數(shù)據(jù)塊的信息,再根據(jù)其中的 數(shù)據(jù)存力文地址到Cache塊數(shù)據(jù)區(qū)中相應(yīng)數(shù)據(jù)塊寫入新的數(shù)據(jù),之后結(jié)束;
      c、 向?qū)慍ache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū)分別申請(qǐng)數(shù)據(jù)塊信息存 放空間和數(shù)據(jù)存放空間,然后將數(shù)據(jù)寫入所申請(qǐng)的數(shù)據(jù)塊中,并將該數(shù) 據(jù)塊的相關(guān)信息及數(shù)據(jù)存放地址寫入所申請(qǐng)的數(shù)據(jù)塊信息存放空間中。
      其中,所述數(shù)據(jù)的讀取方法中還包括在讀取數(shù)據(jù)時(shí),若讀Cache 塊信息區(qū)中沒有存儲(chǔ)所要讀取數(shù)據(jù)的數(shù)據(jù)塊的信息,則到存儲(chǔ)設(shè)備中讀 取數(shù)據(jù),然后向讀Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū)分別申請(qǐng)數(shù)據(jù)塊信 息存放空間和數(shù)據(jù)存放空間,將所述數(shù)據(jù)寫入所申請(qǐng)的數(shù)據(jù)塊中,并將 該數(shù)據(jù)塊的相關(guān)信息及數(shù)據(jù)存放地址寫入所申請(qǐng)的數(shù)據(jù)塊信息存放空 間中。
      其中,所述數(shù)據(jù)的寫入方法中還包括寫入數(shù)據(jù)之后進(jìn)行刷新操作, 該操作進(jìn)一步包括在寫Cache塊信息區(qū)中查詢需要刷新的數(shù)據(jù)塊的信 息,根據(jù)其中的數(shù)據(jù)存放地址獲取數(shù)據(jù),將該數(shù)據(jù)存放到存儲(chǔ)設(shè)備,并 將所述需刷新的數(shù)據(jù)塊的信息拷貝到讀Cache塊信息區(qū)中。其中,所述方法中,在申請(qǐng)存放空間時(shí),若Cache塊數(shù)據(jù)區(qū)的存放 空間已滿,則在申請(qǐng)存放空間之前先進(jìn)行釋放空間操作,該操作進(jìn)一步 包括在Cache塊信息區(qū)中查詢可釋放的數(shù)據(jù)塊的信息,才艮據(jù)其中的數(shù) 據(jù)存放地址找到Cache塊數(shù)據(jù)區(qū)中相應(yīng)的數(shù)據(jù)塊,刪除其中的數(shù)據(jù),并 刪除Cache塊信息區(qū)中該萄:據(jù)塊的信息。
      其中,所述方法中,在申請(qǐng)數(shù)據(jù)存放空間時(shí),根據(jù)Cache塊數(shù)據(jù)區(qū) 的使用標(biāo)記表來查找未使用的數(shù)據(jù)塊,并到Cache塊數(shù)據(jù)區(qū)的使用標(biāo)記 表將所申請(qǐng)的數(shù)據(jù)塊對(duì)應(yīng)的標(biāo)記位設(shè)置為1,以標(biāo)識(shí)該數(shù)據(jù)塊已被使用。
      其中,所述方法中,在進(jìn)行釋放空間^^t時(shí),還包括到Cache塊 數(shù)據(jù)區(qū)的使用標(biāo)記表將所釋放的數(shù)據(jù)塊對(duì)應(yīng)的標(biāo)記位設(shè)置為0,以標(biāo)識(shí) 該數(shù)據(jù)塊未使用。
      其中,所述方法還包括對(duì)Cache塊信息區(qū)中的讀Cache塊信息區(qū) 和寫Cache塊信息區(qū)的空間比例大小進(jìn)行調(diào)整。
      本發(fā)明具有以下有益效果
      1 )本發(fā)明將Cache劃分為Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū),Cache 塊信息區(qū)中的寫和讀Cache塊信息區(qū)共享Cache塊數(shù)據(jù)區(qū),因而,在調(diào) 整讀寫Cache區(qū)域比例的大小時(shí)只需要調(diào)整Cache塊信息區(qū)中寫Cache 塊信息區(qū)和讀Cache塊信息區(qū)的比例,不需要大量的數(shù)據(jù)拷貝,提高了 調(diào)整的靈活性;
      2)在寫數(shù)據(jù)之后進(jìn)行刷新操作時(shí),只需將相關(guān)數(shù)據(jù)塊的信息從寫 Cache塊信息區(qū)拷貝到讀Cache塊信息區(qū)中,只進(jìn)行了少量的數(shù)據(jù)拷貝, 減少數(shù)據(jù)刷新的時(shí)間,提高了刷新的性能。


      圖1為現(xiàn)有技術(shù)中Cache存儲(chǔ)區(qū)域的結(jié)構(gòu)示意圖2為現(xiàn)有技術(shù)中讀數(shù)據(jù)的操作流程圖3為現(xiàn)有技術(shù)中寫數(shù)據(jù)的操作流程圖4為本發(fā)明中Cache存儲(chǔ)區(qū)域的結(jié)構(gòu)示意圖5為本發(fā)明中Cache塊數(shù)據(jù)區(qū)的空間結(jié)構(gòu)圖6為申請(qǐng)空間操作的方法流程圖。
      具體實(shí)施例方式
      下面將結(jié)合附圖和具體實(shí)施方式
      對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述
      請(qǐng)參閱圖4,該圖所示為本發(fā)明中Cache存儲(chǔ)區(qū)域的結(jié)構(gòu)圖,包括 Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū)。
      其中,Cache塊信息區(qū)又包括讀Cache塊信息區(qū)和寫Cache塊信息 區(qū)兩部分,均用于存儲(chǔ)Cache塊數(shù)據(jù)區(qū)中每個(gè)數(shù)據(jù)塊的信息,該信息包 括數(shù)據(jù)塊的相關(guān)信息(如數(shù)據(jù)的寫入時(shí)間等)和數(shù)據(jù)存放地址。
      Cache塊數(shù)據(jù)區(qū)的空間結(jié)構(gòu)圖如圖5所示,包括使用標(biāo)記表和數(shù)據(jù) 存放區(qū);使用標(biāo)記表用于存儲(chǔ)一序列的標(biāo)記,每位標(biāo)記與數(shù)據(jù)存放區(qū)中 的一個(gè)數(shù)據(jù)塊相對(duì)應(yīng),用于標(biāo)識(shí)所對(duì)應(yīng)數(shù)據(jù)塊的物理空間是否已經(jīng)祐J吏 用(下面以l表示已使用,0表示未使用為例);數(shù)據(jù)存放區(qū)包括至少一 個(gè)數(shù)據(jù)塊,用于存放數(shù)據(jù)。
      上述Cache可進(jìn)行的操作有申請(qǐng)空間、釋放空間、訪問數(shù)據(jù)、刷 新寫數(shù)據(jù)、調(diào)整讀寫Cache區(qū)域大小等,具體如下所述
      申請(qǐng)空間操作實(shí)現(xiàn)流程如圖6所示,包括以下步驟,601、 到Cache塊信息區(qū)中申請(qǐng)Cache塊信息存》文空間,如果是讀 數(shù)據(jù),就到讀Cache塊信息區(qū)中申請(qǐng),否則就到寫Cache塊信息區(qū)中申 請(qǐng);
      602、 再到Cache塊數(shù)據(jù)區(qū)申請(qǐng)數(shù)據(jù)存放空間,根據(jù)Cache塊數(shù)據(jù) 區(qū)的使用標(biāo)記表找出未使用的數(shù)據(jù)塊區(qū)域;
      603、 到使用標(biāo)記表將所申請(qǐng)的數(shù)據(jù)塊對(duì)應(yīng)的標(biāo)記位設(shè)置為1,以標(biāo) 識(shí)該數(shù)據(jù)塊已被使用;
      604、 將在Cache塊數(shù)據(jù)區(qū)中數(shù)據(jù)存放區(qū)中申請(qǐng)的數(shù)據(jù)存放地址保 存到Cache塊信息區(qū)中。
      訪問Cache中數(shù)據(jù)操作首先到Cache塊信息區(qū)獲得數(shù)據(jù)塊的相關(guān) 信息和數(shù)據(jù)存放地址,然后根據(jù)Cache塊數(shù)據(jù)存放地址到Cache數(shù)據(jù)區(qū) 中的數(shù)據(jù)存》文區(qū)中訪問該Cache塊存^t的數(shù)據(jù)。
      釋放Cache空間操作在Cache塊信息區(qū)中找出要釋放的數(shù)據(jù)塊的 信息,獲取該數(shù)據(jù)塊的數(shù)據(jù)存放地址,再到Cache塊數(shù)據(jù)區(qū)的使用標(biāo)記 表中將該數(shù)據(jù)塊對(duì)應(yīng)的使用標(biāo)記位設(shè)置為0,以標(biāo)識(shí)該數(shù)據(jù)塊未使用, 然后到Cache塊信息區(qū)中刪除該數(shù)據(jù)塊的信息。
      刷新Cache數(shù)據(jù)首先在寫Cache塊信息區(qū)中找出需要刷新的數(shù)據(jù) 塊的信息,獲取該數(shù)據(jù)塊的數(shù)據(jù)存放地址,根據(jù)數(shù)據(jù)存放地址到Cache 塊數(shù)據(jù)區(qū)訪問數(shù)據(jù),然后將數(shù)據(jù)寫到存儲(chǔ)設(shè)備,最后將該數(shù)據(jù)塊的所有 信息拷貝到讀Cache塊信息區(qū)中。
      調(diào)整Cache讀寫區(qū)域大小通過調(diào)整Cache塊信息區(qū)中讀Cache塊 信息區(qū)和寫Cache塊信息區(qū)的空間比例大小來實(shí)現(xiàn)。例如減少讀Cache塊信息區(qū)的空間,增加寫Cache塊信息區(qū)的空間。如果讀Cache塊信息 區(qū)存在足夠大的空閑空間,則可將該空閑部分劃到寫Cache塊信息區(qū); 如果讀Cache塊信息區(qū)不存在足夠大的空閑空間,可進(jìn)行釋放Cache空 間操作來釋放掉部分讀Cache塊信息區(qū)的空間,然后將該部分空間劃到 寫Cache塊信息區(qū)。
      結(jié)合上述操作即可在Cache上實(shí)現(xiàn)數(shù)據(jù)的讀寫,數(shù)據(jù)的讀取方法為
      (1) 從讀Cache塊信息區(qū)獲取保存所要讀取數(shù)據(jù)的數(shù)據(jù)塊的信息;
      (2) 根據(jù)所述信息中的數(shù)據(jù)存放地址到Cache塊數(shù)據(jù)區(qū)中相應(yīng)數(shù) 據(jù)塊讀取數(shù)據(jù)。
      在上述讀取方法中,若讀Cache塊信息區(qū)中沒有存儲(chǔ)所要讀取數(shù)據(jù) 的數(shù)據(jù)塊的信息,則到存儲(chǔ)設(shè)備中讀取數(shù)據(jù),然后進(jìn)行申請(qǐng)空間操作, 即向讀Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū)分別申請(qǐng)數(shù)據(jù)塊信息存放空間 和數(shù)據(jù)存放空間,到Cache塊數(shù)據(jù)區(qū)的使用標(biāo)記表中將所申請(qǐng)的數(shù)據(jù)塊 對(duì)應(yīng)的標(biāo)記位置為1以標(biāo)識(shí)該數(shù)據(jù)塊已被使用,然后將所述數(shù)據(jù)寫入所 申請(qǐng)的數(shù)據(jù)塊中,并將該數(shù)據(jù)塊的相關(guān)信息及數(shù)據(jù)存放地址寫入所申請(qǐng) 的數(shù)據(jù)塊信息存放空間中。
      向Cache中寫入數(shù)據(jù)的方法為
      ① 在寫Cache塊信息區(qū)中查找是否有保存所要寫入數(shù)據(jù)的數(shù)據(jù)塊的 信息,若有,則進(jìn)入步驟②,否則ii^步驟③;
      ② 從寫Cache塊信息區(qū)中獲3M目應(yīng)數(shù)據(jù)塊的信息,再根據(jù)其中的數(shù) 據(jù)存放地址到Cache塊數(shù)據(jù)區(qū)中相應(yīng)數(shù)據(jù)塊寫入新的數(shù)據(jù),之后結(jié)束;
      ③ 進(jìn)行申請(qǐng)空間操作,即向?qū)慍ache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū)分
      12別申請(qǐng)數(shù)據(jù)塊信息存放空間和數(shù)據(jù)存放空間,到Cache塊數(shù)據(jù)區(qū)的使用 標(biāo)記表中將所申請(qǐng)的數(shù)據(jù)塊對(duì)應(yīng)的標(biāo)記位置為1以標(biāo)識(shí)該數(shù)據(jù)塊已被使 用,然后將數(shù)據(jù)寫入所申請(qǐng)的數(shù)據(jù)塊中,并將該數(shù)據(jù)塊的相關(guān)信息及數(shù) 據(jù)存放地址寫入所申請(qǐng)的數(shù)據(jù)塊信息存放空間中。
      寫入數(shù)據(jù)之后還需要進(jìn)行刷新操作,該操作進(jìn)一步包括在寫Cache 塊信息區(qū)中查詢需要刷新的數(shù)據(jù)塊的信息,根據(jù)其中的數(shù)據(jù)存放地址獲 取數(shù)據(jù),將該數(shù)據(jù)存放到存儲(chǔ)設(shè)備,并將所述需刷新的數(shù)據(jù)塊的信息拷 貝到讀Cache塊信息區(qū)中。
      在上述數(shù)據(jù)讀取和寫入方法中,在申請(qǐng)存放空間時(shí),若Cache塊數(shù) 據(jù)區(qū)的存放空間已滿,則在申請(qǐng)存放空間之前先進(jìn)行釋放空間操作,該 操作具體為在Cache塊信息區(qū)中查詢要釋放的數(shù)據(jù)塊的信息(若為讀 數(shù)據(jù),則到讀Cache塊信息區(qū)中查詢,若為寫數(shù)據(jù),則到寫Cache塊信 息區(qū)中查詢),根據(jù)其中的數(shù)據(jù)存放地址找到Cache塊數(shù)據(jù)區(qū)中相應(yīng)的 數(shù)據(jù)塊,到Cache塊數(shù)據(jù)區(qū)的使用標(biāo)記表中將該數(shù)據(jù)塊對(duì)應(yīng)的標(biāo)記位設(shè) 置為0,刪除讀/寫Cache塊信息區(qū)中該數(shù)據(jù)塊的所有信息。
      以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡 在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng) 包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1、一種高速緩沖存儲(chǔ)器,包括存儲(chǔ)區(qū)和控制區(qū),其特征在于,所述存儲(chǔ)區(qū)包括高速緩沖存儲(chǔ)器Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū);所述Cache塊信息區(qū)包括讀Cache塊信息區(qū)和寫Cache塊信息區(qū),用于存儲(chǔ)Cache塊數(shù)據(jù)區(qū)中每個(gè)數(shù)據(jù)塊的信息,該信息包括數(shù)據(jù)塊的相關(guān)信息和數(shù)據(jù)存放地址;所述Cache塊數(shù)據(jù)區(qū)用于以塊為單位存儲(chǔ)數(shù)據(jù)。
      2、 如權(quán)利要求1所述的高速緩沖存儲(chǔ)器,其特征在于,所述Cache塊數(shù)據(jù)區(qū)包括使用標(biāo)記表和數(shù)據(jù)存i文區(qū);所述使用標(biāo)記表用于存儲(chǔ)一序列的標(biāo)記,每位標(biāo)記與凝:據(jù)存放區(qū)中的一個(gè)數(shù)據(jù)塊相對(duì)應(yīng),用于標(biāo)識(shí)所對(duì)應(yīng)數(shù)據(jù)塊的物理空間是否已經(jīng)被使用;所述數(shù)據(jù)存》文區(qū)包括至少一個(gè)數(shù)據(jù)塊,用于存放數(shù)據(jù)。
      3、 一種如權(quán)利要求1所述的高速緩沖存儲(chǔ)器的數(shù)據(jù)操作方法,其特征在于,所述方法包括數(shù)據(jù)的讀取和寫入方法;其中,所述數(shù)據(jù)的讀取方法為A、 在讀Cache塊信息區(qū)中獲取保存所要讀取數(shù)據(jù)的數(shù)據(jù)塊的信自 ,&,B、 根據(jù)所述信息中的數(shù)據(jù)存放地址到Cache塊數(shù)據(jù)區(qū)中相應(yīng)數(shù)據(jù)塊讀取數(shù)據(jù);所述數(shù)據(jù)的寫入方法為a、在寫Cache塊信息區(qū)中查找是否有保存所要寫入數(shù)據(jù)的數(shù)據(jù)塊的信息,若有,則ii^步驟b,否則ii^步驟c;b、 從寫Cache塊信息區(qū)中獲糾目應(yīng)數(shù)據(jù)塊的信息,再根據(jù)其中結(jié)束;c、 向?qū)慍ache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū)分別申請(qǐng)數(shù)據(jù)塊信息存放空間和數(shù)據(jù)存》文空間,然后將數(shù)據(jù)寫入所申請(qǐng)的數(shù)據(jù)塊中,并將該數(shù)據(jù)塊的相關(guān)信息及數(shù)據(jù)存放地址寫入所申請(qǐng)的數(shù)據(jù)塊信息存放空間中。
      4、 如權(quán)利要求3所述的數(shù)據(jù)操作方法,其特征在于,所述數(shù)據(jù)的讀取方法中還包括在讀取數(shù)據(jù)時(shí),若讀Cache塊信息區(qū)中沒有存儲(chǔ)所要讀取數(shù)據(jù)的數(shù)據(jù)塊的信息,則到存儲(chǔ)設(shè)備中讀取數(shù)據(jù),然后向讀Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū)分別申請(qǐng)數(shù)據(jù)塊信息存》文空間和數(shù)據(jù)存放空間,將所述數(shù)據(jù)寫入所申請(qǐng)的數(shù)據(jù)塊中,并將該數(shù)據(jù)塊的相關(guān)信息及數(shù)據(jù)存放地址寫入所申請(qǐng)的數(shù)據(jù)塊信息存放空間中。
      5、 如權(quán)利要求3所述的數(shù)據(jù)操作方法,其特征在于,所述數(shù)據(jù)的寫入方法中還包括寫入數(shù)據(jù)之后進(jìn)行刷新操作,該操作進(jìn)一步包括在寫Cache塊信息區(qū)中查詢需要刷新的數(shù)據(jù)塊的信息,根據(jù)其中的數(shù)據(jù)存放地址獲取數(shù)據(jù),將該數(shù)據(jù)存》文到存儲(chǔ)設(shè)備,并將所述需刷新的數(shù)據(jù)塊的信息拷貝到讀Cache塊信息區(qū)中。
      6、 如權(quán)利要求3或4所述的數(shù)據(jù)操作方法,其特征在于,所述方法中,在申請(qǐng)存方文空間時(shí),若Cache塊數(shù)據(jù)區(qū)的存》丈空間已滿,則在申請(qǐng)存放空間之前先進(jìn)行釋放空間操作,該釋放空間操作進(jìn)一步包括在Cache塊信息區(qū)中查詢可釋放的數(shù)據(jù)塊的信息,根據(jù)其中的數(shù)據(jù)存放地址找到Cache塊數(shù)據(jù)區(qū)中相應(yīng)的數(shù)據(jù)塊,刪除其中的數(shù)據(jù),并刪除Cache塊信息區(qū)中該數(shù)據(jù)塊的信息。
      7、 如權(quán)利要求3或4所述的數(shù)據(jù)操作方法,其特征在于,所述方法中,在申請(qǐng)數(shù)據(jù)存放空間時(shí),根據(jù)Cache塊數(shù)據(jù)區(qū)的使用標(biāo)記表來查找未使用的數(shù)據(jù)塊,并到Cache塊數(shù)據(jù)區(qū)的使用標(biāo)記表將所申請(qǐng)的數(shù)據(jù)塊對(duì)應(yīng)的標(biāo)記位設(shè)置為1,以標(biāo)識(shí)該數(shù)據(jù)塊已被使用。
      8、 如權(quán)利要求6所述的數(shù)據(jù)操作方法,其特征在于,所述方法中,在進(jìn)行釋放空間操作時(shí),還包括到Cache塊數(shù)據(jù)區(qū)的使用標(biāo)記表將所釋放的數(shù)據(jù)塊對(duì)應(yīng)的標(biāo)記位設(shè)置為0,以標(biāo)識(shí)該數(shù)據(jù)塊未使用。
      9、 如權(quán)利要求3所述的數(shù)據(jù)操作方法,其特征在于,所述方法還包括對(duì)Cache塊信息區(qū)中的讀Cache塊信息區(qū)和寫Cache塊信息區(qū)的空間比例大小進(jìn)行調(diào)整。
      全文摘要
      本發(fā)明公開了一種高速緩沖存儲(chǔ)器及其數(shù)據(jù)操作方法,該高速緩沖存儲(chǔ)器的存儲(chǔ)區(qū)包括高速緩沖存儲(chǔ)器Cache塊信息區(qū)和Cache塊數(shù)據(jù)區(qū);所述Cache塊信息區(qū)包括讀Cache塊信息區(qū)和寫Cache塊信息區(qū),用于存儲(chǔ)Cache塊數(shù)據(jù)區(qū)中每個(gè)數(shù)據(jù)塊的信息,該信息包括數(shù)據(jù)塊的相關(guān)信息和數(shù)據(jù)存放地址;所述Cache塊數(shù)據(jù)區(qū)用于以塊為單位存儲(chǔ)數(shù)據(jù)。本發(fā)明在調(diào)整讀寫Cache區(qū)域比例的大小時(shí)只需要調(diào)整Cache塊信息區(qū)中寫Cache塊信息區(qū)和讀Cache塊信息區(qū)的比例,不需要大量的數(shù)據(jù)拷貝,提高了調(diào)整的靈活性;在進(jìn)行刷新操作時(shí),只進(jìn)行少量的數(shù)據(jù)拷貝,減少了數(shù)據(jù)刷新的時(shí)間,提高了刷新的性能。
      文檔編號(hào)G06F3/06GK101493753SQ20081006596
      公開日2009年7月29日 申請(qǐng)日期2008年1月22日 優(yōu)先權(quán)日2008年1月22日
      發(fā)明者蘭玉龍, 王洪斌, 陳韻霞 申請(qǐng)人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1