国产精品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è)備以及緩存數(shù)據(jù)的方法

      文檔序號(hào):6469920閱讀:178來(lái)源:國(guó)知局
      專利名稱:一種存儲(chǔ)設(shè)備以及緩存數(shù)據(jù)的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及信息存儲(chǔ)領(lǐng)域,尤其涉及一種存儲(chǔ)設(shè)備以及緩存數(shù)據(jù)的方法。
      背景技術(shù)
      存儲(chǔ)局域網(wǎng)絡(luò)(storage area network, SAN)存儲(chǔ)設(shè)備,如磁盤陣列等,其 中的存儲(chǔ)介質(zhì)是將多塊獨(dú)立的硬盤按不同方式組合起來(lái)形成的一個(gè)硬盤組,存 儲(chǔ)容量大,并且該存儲(chǔ)設(shè)備提供數(shù)據(jù)冗余存儲(chǔ)服務(wù),是一種高性能的存儲(chǔ)設(shè)備。 如圖l所示,為SAN存儲(chǔ)設(shè)備的內(nèi)部結(jié)構(gòu)示意圖,該存儲(chǔ)設(shè)備包括主機(jī)接 口單元、主業(yè)務(wù)處理單元、緩存單元、備份電池單元、存儲(chǔ)接口單元和存儲(chǔ)介 質(zhì)單元。其中
      主機(jī)接口單元主要用于接收外部指令,并將該指令進(jìn)行協(xié)議轉(zhuǎn)換,以實(shí)現(xiàn) 不同客戶端主機(jī)與存儲(chǔ)設(shè)備的連接。例如光纖信道(Fibre Channel, FC)協(xié) 議、小型計(jì)算機(jī)系統(tǒng)接口 ( Small Computer System Interface , SCSI)協(xié)議、互 聯(lián)網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口 ( internet SCSI, iSCSI)協(xié)議、串行連接小型計(jì)算機(jī) 系統(tǒng)接口 ( Serial Attached SCSI, SAS )協(xié)議、快速外圍組件互聯(lián)(PCI express, PCIe)協(xié)議等到外圍組件互聯(lián)(Peripheral Component Interconnect, PCI)協(xié)議 或PCIe協(xié)議的轉(zhuǎn)換。
      主業(yè)務(wù)處理單元是存儲(chǔ)設(shè)備的核心,主要負(fù)責(zé)處理各種存儲(chǔ)業(yè)務(wù),包括寫 數(shù)據(jù)和讀數(shù)據(jù)。
      緩存單元,用于為主業(yè)務(wù)處理單元提供數(shù)據(jù)緩存空間,目前的緩存單元采 用靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SDRAM)進(jìn)行數(shù)據(jù)緩存。
      備份電池單元,用于為緩存單元提供掉電保護(hù)。由于緩存單元采用的
      SDRAM為易失性的存儲(chǔ)介質(zhì),在無(wú)電能供給的情況下存在很大的數(shù)據(jù)丟失風(fēng) 險(xiǎn)。為此,在存儲(chǔ)設(shè)備中增加了備份電池單元,在系統(tǒng)異常掉電時(shí),備份電池 單元為緩存單元提供電能,以防止緩存單元中的數(shù)據(jù)丟失。
      存儲(chǔ)接口單元,是主業(yè)務(wù)處理單元向存儲(chǔ)介質(zhì)單元寫入數(shù)據(jù)和從存儲(chǔ)介質(zhì)
      單元讀取數(shù)據(jù)的接口 ,主要用于實(shí)現(xiàn)主業(yè)務(wù)處理單元與存儲(chǔ)介質(zhì)單元之間協(xié)議 的轉(zhuǎn)化;
      存儲(chǔ)介質(zhì)單元,用于存儲(chǔ)數(shù)據(jù),是數(shù)據(jù)最終存放的地方。現(xiàn)有的存儲(chǔ)介質(zhì) 單元主要是各種接口的機(jī)械硬盤,該接口包括集成驅(qū)動(dòng)電子(Integrated Drive Electronic, IDE)接口 、串行附屬終端(SATA)接口 、 SAS接口 、 FC接口等。 機(jī)械硬盤在容量上和價(jià)格上具有較大的優(yōu)勢(shì),但是,由于機(jī)械硬盤需要使用電 機(jī)來(lái)帶動(dòng)磁盤的轉(zhuǎn)動(dòng),功耗較大,并且機(jī)械硬盤的數(shù)據(jù)存取速度相對(duì)于SDRAM 來(lái)說(shuō)也較慢。
      下面對(duì)外部主機(jī)對(duì)存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)寫訪問(wèn)的過(guò)程進(jìn)行說(shuō)明 主機(jī)接口單元接收到外部主機(jī)發(fā)出的包含數(shù)據(jù)的寫指令后,將該寫指令進(jìn) 行協(xié)議轉(zhuǎn)換后發(fā)送給主業(yè)務(wù)處理單元;主業(yè)務(wù)處理單元將該寫指令中的數(shù)據(jù)寫 入緩存單元,然后,根據(jù)維護(hù)的存儲(chǔ)介質(zhì)單元的狀態(tài)信息以及存儲(chǔ)策略,確定 數(shù)據(jù)寫入存儲(chǔ)介質(zhì)單元的方式和位置,并按照確定的寫入方式和位置,將寫指 令中的數(shù)據(jù)通過(guò)存儲(chǔ)接口單元寫入存儲(chǔ)介質(zhì)單元。
      下面對(duì)外部主機(jī)對(duì)存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)讀訪問(wèn)的過(guò)程進(jìn)行說(shuō)明 主機(jī)接口單元接收到外部主機(jī)發(fā)出的讀指令后,將該讀指令進(jìn)行協(xié)議轉(zhuǎn)換 后發(fā)送給主業(yè)務(wù)處理單元;主業(yè)務(wù)處理單元根據(jù)該讀指令從緩存單元中查找待 讀取的數(shù)據(jù),如果查找到,則將查找到的數(shù)據(jù)通過(guò)主積4妄口單元發(fā)送給外部主 機(jī);如果未查找到,則通過(guò)存儲(chǔ)接口單元從存儲(chǔ)介質(zhì)單元中讀取需要的數(shù)據(jù), 并將讀取的數(shù)據(jù)寫入緩存單元中,然后,通過(guò)主機(jī)接口單元將該數(shù)據(jù)發(fā)送給外 部主機(jī)。緩存單元的容量越大,從緩存單元查找到數(shù)據(jù)的概率越大,緩存單元 的容量越小,從緩存單元查找到數(shù)據(jù)的概率就越小。
      在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中存在如下技術(shù)問(wèn)題 現(xiàn)有技術(shù)中,在對(duì)存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)寫訪問(wèn)的過(guò)程中,主業(yè)務(wù)處理單元首 先要將數(shù)據(jù)寫入緩存單元,由于緩存單元采用并行接口,主業(yè)務(wù)處理單元向緩 存單元寫入數(shù)據(jù)的帶寬固定,在數(shù)據(jù)量較大的情況下,需要消耗較長(zhǎng)的時(shí)間的 將數(shù)據(jù)寫入緩存單元,從而使得整個(gè)數(shù)據(jù)寫訪問(wèn)過(guò)程的速度較慢。
      同樣的,在對(duì)存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)讀訪問(wèn)的過(guò)程中,主業(yè)務(wù)處理單元若從緩 存單元中讀取不到需要的數(shù)據(jù),則從存儲(chǔ)介質(zhì)單元讀取數(shù)據(jù),并將讀取到的數(shù) 據(jù)寫入緩存單元,由于向緩存單元寫入數(shù)據(jù)的帶寬固定,在數(shù)據(jù)量較大的情況 下,需要消耗較長(zhǎng)的時(shí)間的將數(shù)據(jù)寫入緩存單元,從而使得整個(gè)數(shù)據(jù)讀訪問(wèn)過(guò) 程的速度較慢。
      同時(shí),在存儲(chǔ)設(shè)備掉電后,如果在后備電池能夠維持的時(shí)間內(nèi),不能對(duì)發(fā) 生掉電的存儲(chǔ)設(shè)備進(jìn)行恢復(fù)處理,那么,緩存單元中的數(shù)據(jù)就存在很大的丟失 風(fēng)險(xiǎn),從而會(huì)造成較嚴(yán)重的后果。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種存儲(chǔ)設(shè)備以及緩存數(shù)據(jù)的方法,用于解決現(xiàn)有技術(shù) 中存儲(chǔ)設(shè)備的訪問(wèn)速度較慢的問(wèn)題
      本發(fā)明實(shí)施例提供一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括 多個(gè)緩存單元,用于緩存數(shù)據(jù);
      主業(yè)務(wù)處理單元,用于確定將待緩存的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì) 應(yīng)的緩存單元需要的時(shí)間;在所述時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),選擇所述對(duì)應(yīng) 的緩存單元外的其他緩存單元,并將所述待緩存的數(shù)據(jù)寫入所述對(duì)應(yīng)的緩存單 元和所述其他緩存單元。
      本發(fā)明實(shí)施例提供一種存儲(chǔ)設(shè)備中緩存數(shù)據(jù)的方法,該方法包括 確定將待緩存的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元需要的時(shí)
      間;
      在所述時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),選擇所述對(duì)應(yīng)的緩存單元外的其他緩 存單元,并利用所述對(duì)應(yīng)的緩存單元和所述其他緩存單元緩存所述數(shù)據(jù)。


      圖1為現(xiàn)有技術(shù)中存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖2A為本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖之一;
      圖2B為本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖之二;
      圖2C為本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖之三;
      圖2D為本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖之四;
      圖3A為本發(fā)明實(shí)施例提供方法流程示意圖之一;
      圖3B為本發(fā)明實(shí)施例提供方法流程示意圖之二;
      圖4A為本發(fā)明實(shí)施例提供方法流程示意圖之三;
      圖4B為本發(fā)明實(shí)施例提供方法流程示意圖之四。
      具體實(shí)施例方式
      本發(fā)明實(shí)施例提供一種數(shù)據(jù)訪問(wèn)速度較高的存儲(chǔ)設(shè)備,本存儲(chǔ)設(shè)備中,在 將寫訪問(wèn)指令中的數(shù)據(jù)以及根據(jù)讀訪問(wèn)指令從存儲(chǔ)介質(zhì)單元中讀取到的數(shù)據(jù) 緩存到緩存單元中時(shí),可以根據(jù)當(dāng)前的總訪問(wèn)帶寬動(dòng)態(tài)的增加可緩存數(shù)據(jù)的緩 存單元的個(gè)數(shù),緩存單元的個(gè)數(shù)越多,需要消耗的緩存數(shù)據(jù)的時(shí)間就越短,進(jìn) 而提高整個(gè)寫訪問(wèn)或讀訪問(wèn)的速度。
      本發(fā)明實(shí)施例提供的存儲(chǔ)設(shè)備中可以包括一個(gè)或多個(gè)主業(yè)務(wù)處理單元,每 個(gè)主業(yè)務(wù)處理單元對(duì)應(yīng)一個(gè)或多個(gè)緩存單元,主業(yè)務(wù)處理單元在緩存數(shù)據(jù)時(shí), 首先確定將待緩存的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元需要的 時(shí)間,在該時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),選擇本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單 元外的其他緩存單元,并將待緩存的數(shù)據(jù)寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單 元和選擇的其他緩存單元。
      存儲(chǔ)設(shè)備的結(jié)構(gòu)可以有多種,下面進(jìn)行舉例說(shuō)明 實(shí)施例一
      本實(shí)施例中,如圖2A所示,存儲(chǔ)設(shè)備包括
      主機(jī)接口單元20,用于接收來(lái)自外部的消息指令,包括寫訪問(wèn)指令和讀訪 問(wèn)指令,并將接收到的消息指令進(jìn)行協(xié)議轉(zhuǎn)換后發(fā)送給主業(yè)務(wù)處理單元;
      主業(yè)務(wù)處理單元21,用于在接收到寫訪問(wèn)指令時(shí)根據(jù)自身對(duì)應(yīng)的各個(gè)緩 存單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬,根據(jù)該總訪問(wèn)帶寬和寫訪問(wèn)指令中的數(shù)據(jù) 的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;緩存單元的訪問(wèn)帶寬 是指從該緩存單元中讀取或?qū)懭霐?shù)據(jù)的最大速率,如IOO比特每秒。
      若確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值,則選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元 對(duì)應(yīng)的緩存單元之外的其他緩存單元,將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入主業(yè)務(wù) 處理單元對(duì)應(yīng)的緩存單元和選擇的其他緩存單元;然后,將該數(shù)據(jù)通過(guò)存儲(chǔ)接 口單元寫入存儲(chǔ)介質(zhì)單元中;
      若確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值,則將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入 主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元;然后,將該數(shù)據(jù)通過(guò)存儲(chǔ)接口單元寫入存儲(chǔ) 介質(zhì)單元中。
      主業(yè)務(wù)處理單元21還用于在根據(jù)接收到的讀訪問(wèn)指令從緩存單元中未 讀取到需要的數(shù)據(jù)時(shí),通過(guò)存儲(chǔ)接口單元從存儲(chǔ)介質(zhì)單元讀取數(shù)據(jù),讀取到數(shù) 據(jù)后:根據(jù)自身對(duì)應(yīng)的各個(gè)緩存單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬,根據(jù)該總訪問(wèn) 帶寬和讀取到的數(shù)據(jù)的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      若確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值,則選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元 對(duì)應(yīng)的緩存單元之外的其他緩存單元,將讀取到的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單 元對(duì)應(yīng)的緩存單元和選擇的其他緩存單元;然后,將該數(shù)據(jù)通過(guò)業(yè)務(wù)接口單元 發(fā)送出去;
      若確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值,則將讀取到的數(shù)據(jù)并行寫入主業(yè)務(wù) 處理單元對(duì)應(yīng)的緩存單元;然后,將該數(shù)據(jù)通過(guò)業(yè)務(wù)接口單元發(fā)送出去。
      多個(gè)緩存單元22,用于緩存數(shù)據(jù);
      存儲(chǔ)接口單元23,是主業(yè)務(wù)處理單元向存儲(chǔ)介質(zhì)單元寫入數(shù)據(jù)和從存儲(chǔ)介 質(zhì)單元讀取數(shù)椐的接口 ,主要用于實(shí)現(xiàn)主業(yè)務(wù)處理單元與存儲(chǔ)介質(zhì)單元之間協(xié) 議的轉(zhuǎn)化;
      存儲(chǔ)介質(zhì)單元24,用于存儲(chǔ)主業(yè)務(wù)處理單元寫入的數(shù)據(jù)。 具體的,對(duì)應(yīng)于寫訪問(wèn)過(guò)程,主業(yè)務(wù)處理單元21包括 第一獲取單元,用于從接收到的寫訪問(wèn)指令中獲取待緩存的數(shù)據(jù); 第一時(shí)間單元,根據(jù)主業(yè)務(wù)處理單元對(duì)應(yīng)的各個(gè)緩存單元的訪問(wèn)帶寬確定
      總訪問(wèn)帶寬,根據(jù)該總訪問(wèn)帶寬和寫訪問(wèn)指令中的數(shù)據(jù)的大小確定將該數(shù)據(jù)并 行寫入每個(gè)緩存單元需要的時(shí)間;
      第一確定單元,用于在第一時(shí)間單元確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí), 選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其他緩存單元;
      第 一寫單元,用于將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的 緩存單元和第一確定單元選擇的其他緩存單元;然后,將該數(shù)據(jù)通過(guò)存儲(chǔ)接 口單元寫入存儲(chǔ)介質(zhì)單元中;
      第 一寫單元還用于在第 一時(shí)間單元確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí), 將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元中;然后,將 該數(shù)據(jù)通過(guò)存儲(chǔ)接口單元寫入存儲(chǔ)介質(zhì)單元中。
      對(duì)應(yīng)于讀訪問(wèn)過(guò)程
      第一獲取單元還用于,根椐接收到的讀訪問(wèn)指令從存^^殳備中的存儲(chǔ)介質(zhì) 單元讀取數(shù)據(jù);
      第一時(shí)間單元還用于,在從存儲(chǔ)介質(zhì)單元讀取到數(shù)據(jù)后,才艮據(jù)主業(yè)務(wù)處理 單元對(duì)應(yīng)的各個(gè)緩存單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬,沖艮據(jù)該總訪問(wèn)帶寬和讀 取到的數(shù)據(jù)的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      第 一確定單元還用于,在第 一時(shí)間單元確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值 時(shí),選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其他緩存單元;
      第一寫單元還用于,將從存儲(chǔ)介質(zhì)單元讀取到的數(shù)據(jù)并行寫入主業(yè)務(wù)處理
      單元對(duì)應(yīng)的緩存單元和第一確定單元選擇的其他緩存單元;然后,將該數(shù)據(jù) 通過(guò)存儲(chǔ)接口單元寫入存儲(chǔ)介質(zhì)單元中;
      第 一寫單元還用于,在第一時(shí)間單元確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值
      中;然后,將該數(shù)據(jù)通過(guò)存儲(chǔ)接口單元寫入存儲(chǔ)介質(zhì)單元中。
      實(shí)施例一中,主業(yè)務(wù)處理單元將向緩存單元中緩存數(shù)據(jù)時(shí),可以根據(jù)當(dāng)前
      的總訪問(wèn)帶寬動(dòng)態(tài)的增加緩存單元的個(gè)數(shù),緩存單元的個(gè)數(shù)越多,需要消耗的
      緩存數(shù)據(jù)的時(shí)間就越短,進(jìn)而達(dá)到提高整個(gè)寫訪問(wèn)或讀訪問(wèn)的速度。 實(shí)施例二
      本實(shí)施例中,如圖2B所示,存儲(chǔ)設(shè)備包括
      主機(jī)接口單元20,用于接收來(lái)自外部的消息指令,包括寫訪問(wèn)指令和讀訪 問(wèn)指令,并將接收到的消息指令進(jìn)行協(xié)議轉(zhuǎn)換后發(fā)送給主業(yè)務(wù)處理單元;
      主業(yè)務(wù)處理單元21,用于在接收到寫訪問(wèn)指令時(shí):根據(jù)自身對(duì)應(yīng)的各個(gè)緩 存單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬,根據(jù)該總訪問(wèn)帶寬和寫訪問(wèn)指令中的數(shù)據(jù) 的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      若確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值,則選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元 對(duì)應(yīng)的緩存單元之外的其他緩存單元,將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入主業(yè)務(wù) 處理單元對(duì)應(yīng)的緩存單元和選擇的其他緩存單元;然后,向存儲(chǔ)控制單元發(fā)送 數(shù)據(jù)緩存結(jié)束通知;
      若確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值,則將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入 主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元;然后,向存儲(chǔ)控制單元發(fā)送數(shù)據(jù)緩存結(jié)束通 知。
      主業(yè)務(wù)處理單元21還用于在根據(jù)接收到的讀訪問(wèn)指令從緩存單元中未 讀取到需要的數(shù)據(jù)時(shí),將讀訪問(wèn)指令發(fā)送給存儲(chǔ)控制單元;在接收到來(lái)自存儲(chǔ) 控制單元的數(shù)據(jù)緩存結(jié)束通知時(shí),根據(jù)該通知從對(duì)應(yīng)的緩存單元讀取存儲(chǔ)控制
      單元寫入的數(shù)據(jù),并將讀取到的數(shù)據(jù)通過(guò)主機(jī)接口單元發(fā)送出去; 多個(gè)緩存單元22,用于緩存數(shù)據(jù);
      存儲(chǔ)控制單元25,用于在接收到來(lái)自主業(yè)務(wù)處理單元的數(shù)據(jù)緩存結(jié)束通知 時(shí),根據(jù)該通知從對(duì)應(yīng)的緩存單元讀取所述數(shù)據(jù),并將讀取到的數(shù)據(jù)通過(guò)存儲(chǔ) 接口單元寫入存儲(chǔ)介質(zhì)單元;
      存儲(chǔ)控制單元25還用于在接收到來(lái)自主業(yè)務(wù)處理單元的讀訪問(wèn)指令時(shí), 通過(guò)存儲(chǔ)接口單元從存儲(chǔ)介質(zhì)單元讀取數(shù)據(jù),讀取到數(shù)據(jù)后,根據(jù)主業(yè)務(wù)處理 單元對(duì)應(yīng)的各個(gè)緩存單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬,根據(jù)該總訪問(wèn)帶寬和讀 取到的數(shù)據(jù)的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      若確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值,則選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元 對(duì)應(yīng)的緩存單元之外的其他緩存單元,將讀取到的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單 元對(duì)應(yīng)的緩存單元和選擇的其他緩存單元;然后,向主業(yè)務(wù)處理單元發(fā)送數(shù)據(jù) 緩存結(jié)束通知;
      若確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值,則將讀取到的數(shù)據(jù)并行寫入主業(yè)務(wù) 處理單元對(duì)應(yīng)的緩存單元;然后,向主業(yè)務(wù)處理單元發(fā)送數(shù)據(jù)緩存結(jié)束通知。
      存儲(chǔ)接口單元23,是主業(yè)務(wù)處理單元向存儲(chǔ)介質(zhì)單元寫入數(shù)據(jù)和從存儲(chǔ)介 質(zhì)單元讀取數(shù)據(jù)的接口 ,主要用于實(shí)現(xiàn)存儲(chǔ)控制單元與存儲(chǔ)介質(zhì)單元之間協(xié)議 的轉(zhuǎn)化;
      存儲(chǔ)介質(zhì)單元24,用于存儲(chǔ)主業(yè)務(wù)處理單元寫入的數(shù)據(jù)。
      具體的,對(duì)應(yīng)于寫訪問(wèn)過(guò)程,主業(yè)務(wù)處理單元21包^":
      第二獲取單元,用于從接收到的寫訪問(wèn)指令中獲取待緩存的數(shù)據(jù);
      第二時(shí)間單元,用于根據(jù)主業(yè)務(wù)處理單元對(duì)應(yīng)的各個(gè)緩存單元的訪問(wèn)帶寬
      確定總訪問(wèn)帶寬,根據(jù)該總訪問(wèn)帶寬和寫訪問(wèn)指令中包含的數(shù)據(jù)的大小確定將
      該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      第二確定單元,用于在第二時(shí)間單元確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),
      選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其他緩存單元;
      第二寫單元,用于將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的
      緩存單元和第二確定單元選擇的其他緩存單元;
      第二通知單元,用于在第二寫單元寫入數(shù)據(jù)結(jié)束時(shí),向存儲(chǔ)控制單元發(fā)送 數(shù)據(jù)緩存結(jié)束通知;該通知中可以包括主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元和第二 確定單元選擇的其他緩存單元的標(biāo)識(shí)信息,存儲(chǔ)控制單元?jiǎng)t4艮據(jù)該標(biāo)識(shí)信息從 對(duì)應(yīng)的緩存單元中讀取數(shù)據(jù);
      第三寫單元,用于在第二時(shí)間單元確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí), 將寫訪問(wèn)指令中的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元中;
      第三通知單元,用于在第三寫單元數(shù)據(jù)寫入結(jié)束時(shí),向存儲(chǔ)控制單元發(fā)送 數(shù)據(jù)緩存結(jié)束通知,該通知中可以包括主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元的標(biāo)識(shí) 信息,存儲(chǔ)控制單元?jiǎng)t根據(jù)該標(biāo)識(shí)信息從對(duì)應(yīng)的緩存單元中讀取數(shù)據(jù);
      存儲(chǔ)控制單元25包括
      第一讀取單元,用于在接收到來(lái)自主業(yè)務(wù)處理單元的數(shù)據(jù)緩存結(jié)束通知 時(shí),根據(jù)該通知從對(duì)應(yīng)的緩存單元讀取所述數(shù)據(jù);將讀取到的數(shù)據(jù)通過(guò)存儲(chǔ)接 口單元寫入存儲(chǔ)介質(zhì)單元。
      對(duì)應(yīng)于讀訪問(wèn)過(guò)程,主業(yè)務(wù)處理單元21還包括
      指令單元,用于在根據(jù)接收到的讀訪問(wèn)指令從緩存單元中未讀取到需要的 數(shù)據(jù)時(shí),將讀訪問(wèn)指令發(fā)送給存儲(chǔ)控制單元;
      發(fā)送單元,用于在接收到來(lái)自存儲(chǔ)控制單元的數(shù)據(jù)緩存結(jié)束通知時(shí),根據(jù) 該通知從對(duì)應(yīng)的緩存單元讀取存儲(chǔ)控制單元寫入的數(shù)據(jù),并將讀取到的數(shù)據(jù)通 過(guò)主機(jī)接口單元發(fā)送出去;
      存儲(chǔ)控制單元25包括
      第二讀取單元,用于在接收到來(lái)自主業(yè)務(wù)處理單元的讀訪問(wèn)指令時(shí),通過(guò) 存儲(chǔ)接口單元從存儲(chǔ)介質(zhì)單元讀取數(shù)據(jù);
      第三時(shí)間單元,用于在第二讀取單元讀取到數(shù)據(jù)后,根據(jù)主業(yè)務(wù)處理單元 對(duì)應(yīng)的各個(gè)緩存單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬,根據(jù)該總訪問(wèn)帶寬和讀取到
      的數(shù)據(jù)的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      第三確定單元,用于在第三時(shí)間單元確定的時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí), 選擇存儲(chǔ)設(shè)備中除主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其他緩存單元;
      第四寫單元,用于將第二讀取單元讀取到的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元 對(duì)應(yīng)的緩存單元和第三確定單元選擇的其他緩存單元;
      第四通知單元,用于在第四寫單元寫入數(shù)據(jù)結(jié)束時(shí),向主業(yè)務(wù)處理單元發(fā) 送數(shù)據(jù)緩存結(jié)束通知;該通知中可以包括主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元和第 三確定單元選擇的其他緩存單元的標(biāo)識(shí)信息,主業(yè)務(wù)處理單元?jiǎng)t根據(jù)該標(biāo)識(shí)信 息從對(duì)應(yīng)的緩存單元中讀取數(shù)據(jù);
      第五寫單元,用于在第三時(shí)間單元確定的時(shí)間未超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí), 將第二讀取單元讀取到的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元中;
      第五通知單元,用于在第五寫單元寫入數(shù)據(jù)結(jié)束時(shí),向主業(yè)務(wù)處理單元發(fā) 送數(shù)據(jù)緩存結(jié)束通知;該通知中可以包括主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元的標(biāo) 識(shí)信息,主業(yè)務(wù)處理單元?jiǎng)t根據(jù)該標(biāo)識(shí)信息從對(duì)應(yīng)的緩存單元中讀取數(shù)據(jù)。
      在實(shí)施例二中,不同的主業(yè)務(wù)處理單元可以對(duì)應(yīng)不同的存4諸控制單元,相 同的主業(yè)務(wù)處理單元也可以對(duì)應(yīng)同一存儲(chǔ)控制單元。以存儲(chǔ)設(shè)備中包含兩個(gè)主 業(yè)務(wù)處理單元為例,兩個(gè)主業(yè)務(wù)處理單元對(duì)應(yīng)不同的存儲(chǔ)控制單元,可以參見(jiàn) 圖2C;兩個(gè)主業(yè)務(wù)處理單元對(duì)應(yīng)同一存儲(chǔ)控制單元,可以參見(jiàn)圖2D。
      實(shí)施例二中,主業(yè)務(wù)處理單元或存儲(chǔ)控制單元向緩存單元中緩存數(shù)據(jù)時(shí), 可以根據(jù)當(dāng)前的總訪問(wèn)帶寬動(dòng)態(tài)的增加緩存單元的個(gè)數(shù),緩存單元的個(gè)數(shù)越 多,需要消耗的緩存數(shù)據(jù)的時(shí)間就越短,進(jìn)而達(dá)到提高整個(gè)寫訪問(wèn)或讀訪問(wèn)的 速度。
      同時(shí),在寫訪問(wèn)過(guò)程中,主業(yè)務(wù)處理單元在將數(shù)據(jù)緩存到緩存單元后,由 存儲(chǔ)控制單元將數(shù)據(jù)寫入存儲(chǔ)介質(zhì)單元中,與現(xiàn)有技術(shù)中緩存數(shù)據(jù)和將數(shù)據(jù)寫 入存儲(chǔ)介質(zhì)單元的工作都由主業(yè)務(wù)處理單元完成相比,本發(fā)明中主業(yè)務(wù)處理單 元有更多的時(shí)間處理其他業(yè)務(wù),從而提高了存儲(chǔ)設(shè)備的處理能力。在讀訪問(wèn)過(guò)
      程中,主業(yè)務(wù)處理單元在未從緩存單元中讀取到需要的數(shù)據(jù)時(shí),由存儲(chǔ)控制單 元從存儲(chǔ)介質(zhì)單元讀取數(shù)據(jù),存儲(chǔ)控制單元將讀取到的數(shù)據(jù)緩存到緩存單元 后,再由主業(yè)務(wù)處理單元將緩存單元中的數(shù)據(jù)發(fā)送出去,與現(xiàn)有技術(shù)中從存儲(chǔ) 介質(zhì)單元讀取數(shù)據(jù)、緩存數(shù)據(jù)的工作都由主業(yè)務(wù)處理單元完成相比,本發(fā)明中 主業(yè)務(wù)處理單元有更多的時(shí)間處理其他業(yè)務(wù),從而提高了存儲(chǔ)設(shè)備的處理能 力。
      上述兩個(gè)實(shí)施例中,主業(yè)務(wù)處理單元或存儲(chǔ)控制單元確定總訪問(wèn)帶寬的方
      法為將主業(yè)務(wù)處理單元對(duì)應(yīng)的各個(gè)緩存單元的訪問(wèn)帶寬相加,其結(jié)果即為總 訪問(wèn)帶寬。根據(jù)保存的配置數(shù)據(jù)獲知業(yè)務(wù)處理單元對(duì)應(yīng)哪些緩存單元以及各個(gè) 緩存單元的訪問(wèn)帶寬。主業(yè)務(wù)處理單元或存儲(chǔ)控制單元確定將數(shù)據(jù)并行寫入 每個(gè)緩存單元需要的時(shí)間的方法為將數(shù)據(jù)的大小除以總訪問(wèn)帶寬并向后取整 后,其結(jié)果即為將數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間。
      作為一種實(shí)施例,使用存儲(chǔ)設(shè)備中除本主業(yè)務(wù)處理單元之外的其他主業(yè)務(wù) 處理單元對(duì)應(yīng)的緩存單元作為增加的緩存單元,相應(yīng)的,第一確定單元、第二 確定單元或第三確定單元包括
      請(qǐng)求單元,用于向存儲(chǔ)設(shè)備中除本主業(yè)務(wù)處理單元之外的其他主業(yè)務(wù)處理 單元發(fā)送緩存單元使用請(qǐng)求;
      響應(yīng)單元,用于在接收到對(duì)緩存單元使用請(qǐng)求的同意響應(yīng)時(shí),將該同意響 應(yīng)中包含的緩存單元標(biāo)識(shí)對(duì)應(yīng)的緩存單元選擇為所述其他緩存單元。
      請(qǐng)求單元發(fā)送的緩存單元使用請(qǐng)求中可以包含請(qǐng)求的緩存單元的個(gè)數(shù),該 個(gè)數(shù)根據(jù)以下方法確定對(duì)于第一確定單元將第一時(shí)間單元確定的將數(shù)據(jù)并 行寫入每個(gè)緩存單元需要的時(shí)間減去預(yù)設(shè)的時(shí)間閥值,然后將其結(jié)果除以單個(gè)
      緩存單元的訪問(wèn)容量,其結(jié)果即為請(qǐng)求的纟復(fù)存單元的個(gè)凄t;對(duì)于第二確定單元 將第二時(shí)間單元確定的將數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間減去預(yù)設(shè)的
      時(shí)間閥值,然后將其結(jié)果除以單個(gè)緩存單元的訪問(wèn)容量,其結(jié)果即為請(qǐng)求的緩 存單元的個(gè)數(shù);對(duì)于第三確定單元將第三時(shí)間單元確定的將數(shù)據(jù)并行寫入每
      個(gè)緩存單元需要的時(shí)間減去預(yù)設(shè)的時(shí)間閥值,然后將其結(jié)果除以單個(gè)緩存單元 的訪問(wèn)容量,其結(jié)果即為請(qǐng)求的緩存單元的個(gè)數(shù)。接收到緩存單元使用請(qǐng)求的 主業(yè)務(wù)處理單元,才艮據(jù)當(dāng)前的業(yè)務(wù)處理情況決定是否同意該請(qǐng)求,在同意該請(qǐng) 求時(shí),按照一定的策略從自身對(duì)應(yīng)的緩存單元中選取緩存單元,并將包含該緩 存單元的標(biāo)識(shí)信息的同意響應(yīng)發(fā)送給請(qǐng)求的主業(yè)務(wù)處理單元或存儲(chǔ)控制單元。 選取的緩存單元的個(gè)數(shù)可以等于請(qǐng)求中包含的個(gè)數(shù),也可以小于請(qǐng)求中包含的 個(gè)數(shù)。主業(yè)務(wù)處理單元在選取緩存單元后,為了使得數(shù)據(jù)便于管理,避免數(shù) 據(jù)發(fā)生混亂,還可以將選取的緩存單元中已存儲(chǔ)的數(shù)據(jù)讀取出來(lái)緩存到自身對(duì) 應(yīng)的其他緩存單元中,并在自身的配置數(shù)據(jù)中刪除表明選取的緩存單元為本主 業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元的記錄。
      響應(yīng)單元在接收到同意響應(yīng)后,還可以在配置數(shù)據(jù)中增加記錄,該記錄表 明該同意響應(yīng)中包含的緩存單元標(biāo)識(shí)對(duì)應(yīng)的緩存單元,為本主業(yè)務(wù)處理單元對(duì) 應(yīng)的緩存單元。
      作為另 一種實(shí)施例,使用臨時(shí)加入存儲(chǔ)設(shè)備的緩存單元作為增加的緩存單
      元;相應(yīng)的,第一確定單元、第二確定單元或第三確定單元包括 接收單元,用于接收握手指令;
      結(jié)果單元,用于將所述握手指令中包含的緩存單元標(biāo)識(shí)對(duì)應(yīng)的緩存單元選 擇為所述其他緩存單元。
      在存儲(chǔ)設(shè)備運(yùn)行過(guò)程中,可以人為的根據(jù)需要向存儲(chǔ)設(shè)備中插入緩存單 元,并指定增加的緩存單元所對(duì)應(yīng)的主業(yè)務(wù)處理單元。在增加的緩存單元被插 入存儲(chǔ)設(shè)備并被上電后,該緩存單元向?qū)?yīng)的主業(yè)務(wù)處理單元以及存儲(chǔ)控制單 元發(fā)送握手指令,該握手指令中包含該緩存單元的標(biāo)識(shí)信息。
      主業(yè)務(wù)處理單元或存儲(chǔ)控制單元在將數(shù)據(jù)并行寫入緩存單元時(shí),可以采用 SATA、 SAS等串行協(xié)議,將數(shù)據(jù)的不同部分并行的寫入各個(gè)緩存單元中。在 從緩存單元讀取數(shù)據(jù)時(shí),也可以采用SATA、 SAS等串行協(xié)議,將數(shù)據(jù)的不同 部分從不同的緩存單元中并行讀取出。
      本發(fā)明中提及的緩存單元可以是非易失性的存儲(chǔ)設(shè)備或SDRAM,非易失 性的存儲(chǔ)設(shè)備有閃存、硬盤、磁帶等,考慮到訪問(wèn)速度,可以優(yōu)選閃存或固 態(tài)硬盤(Solid State Drive, SSD )。由于非易失性的存儲(chǔ)設(shè)備在沒(méi)有電能供給的 情況下,不存在數(shù)據(jù)丟失的風(fēng)險(xiǎn),因此,在存儲(chǔ)設(shè)備中不需要設(shè)置電池備份單 元,增強(qiáng)了存儲(chǔ)設(shè)備的使用性。并且,非易失性的存儲(chǔ)設(shè)備具有高密度的特點(diǎn), 在與SDRAM體積相同的情況下,非易失性的存儲(chǔ)設(shè)備的存儲(chǔ)容量更高,較高 的存儲(chǔ)容量會(huì)增大讀訪問(wèn)時(shí)從緩存單元中讀取到需要數(shù)據(jù)的概率,從而整個(gè)讀 訪問(wèn)的速度就4交高。
      本發(fā)明實(shí)施例還提供一種基于附圖2A所示的存儲(chǔ)設(shè)備的緩存數(shù)據(jù)的方 法,本方法包括以下步驟,如圖3A所示
      步驟301:存儲(chǔ)設(shè)備的主業(yè)務(wù)處理單元接收到寫訪問(wèn)指令;
      步驟302:主業(yè)務(wù)處理單元根據(jù)自身對(duì)應(yīng)的緩存單元的個(gè)數(shù)以及每個(gè)緩存 單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬;根據(jù)該總訪問(wèn)帶寬和寫訪問(wèn)指令中包含的數(shù) 據(jù)的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      步驟303:比較確定的時(shí)間與預(yù)設(shè)的時(shí)間閥值,若確定的時(shí)間超過(guò)預(yù)設(shè)的 時(shí)間閥值,則到步驟304;否則,到步驟305;
      步驟304:選擇存儲(chǔ)設(shè)備中除本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其 他緩存單元,將寫訪問(wèn)指令中包含的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩 存單元和選擇的其他緩存單元,到步驟306;
      步驟305:將寫訪問(wèn)指令中包含的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的 緩存單元;
      步驟306:將寫訪問(wèn)指令中包含的數(shù)據(jù)通過(guò)存儲(chǔ)接口單元寫入存儲(chǔ)介質(zhì)單元。
      本發(fā)明實(shí)施例還提供一種基于附圖2B所示的存儲(chǔ)設(shè)備的緩存數(shù)據(jù)的方 法,本方法包括以下步驟,如圖3B所示
      步驟311:存儲(chǔ)設(shè)備的主業(yè)務(wù)處理單元接收到寫訪問(wèn)指令;
      步驟312:主業(yè)務(wù)處理單元根據(jù)自身對(duì)應(yīng)的緩存單元的個(gè)數(shù)以及每個(gè)緩存 單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬;根據(jù)該總訪問(wèn)帶寬和寫訪問(wèn)指令中包含的數(shù) 據(jù)的大小確定將該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      步驟313:比較確定的時(shí)間與預(yù)設(shè)的時(shí)間閥值,若確定的時(shí)間超過(guò)預(yù)設(shè)的 時(shí)間閥值,則到步驟314;否則,到步驟315;
      步驟314:選擇存儲(chǔ)設(shè)備中除本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其 他緩存單元,將寫訪問(wèn)指令中包含的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩 存單元和選擇的其他緩存單元,到步驟316;
      步驟315:將寫訪問(wèn)指令中包含的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的 緩存單元;
      步驟316:向存儲(chǔ)控制單元發(fā)送數(shù)據(jù)緩存結(jié)束通知;
      步驟317:存儲(chǔ)控制單元接收到緩存結(jié)束通知時(shí),根據(jù)該通知從相應(yīng)的緩 存單元讀取主業(yè)務(wù)處理單元寫入的數(shù)據(jù),將讀取到的數(shù)據(jù)通過(guò)存儲(chǔ)接口單元寫 入存儲(chǔ)介質(zhì)單元。
      本發(fā)明實(shí)施例還提供一種基于附圖2A所示的存儲(chǔ)設(shè)備的緩存數(shù)據(jù)的方 法,本方法包括以下步驟,如圖4A所示
      步驟401:存儲(chǔ)設(shè)備的主業(yè)務(wù)處理單元接收到讀訪問(wèn)指令;
      步驟402:主業(yè)務(wù)處理單元根據(jù)讀訪問(wèn)指令從緩存單元中讀取需要的數(shù)據(jù), 若讀取到,則到步驟408;否則,到步驟403;
      步驟403:根據(jù)讀訪問(wèn)指令通過(guò)存儲(chǔ)接口單元從存儲(chǔ)介質(zhì)單元中讀取需要 的數(shù)據(jù);
      步驟404:根據(jù)自身對(duì)應(yīng)的緩存單元的個(gè)數(shù)以及每個(gè)緩存單元的訪問(wèn)帶寬 確定總訪問(wèn)帶寬;根據(jù)該總訪問(wèn)帶寬和寫訪問(wèn)指令中包含的數(shù)據(jù)的大小確定將 該數(shù)據(jù)并行寫入每個(gè)緩存單元需要的時(shí)間;
      步驟405:比較確定的時(shí)間與預(yù)設(shè)的時(shí)間閥值,若確定的時(shí)間超過(guò)預(yù)設(shè)的 時(shí)間閥值,則到步驟406;否則,到步驟407;
      步驟406:選擇存儲(chǔ)設(shè)備中除本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其 他緩存單元,將從存儲(chǔ)介質(zhì)單元中讀取到的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì) 應(yīng)的緩存單元和選擇的其他緩存單元,到步驟408;
      步驟407:將從存儲(chǔ)介質(zhì)單元中讀取到的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元 對(duì)應(yīng)的緩存單元;
      步驟408:將讀取到的數(shù)據(jù)通過(guò)主機(jī)接口單元發(fā)送出去。
      本發(fā)明實(shí)施例還提供一種基于附圖2B所示的存儲(chǔ)設(shè)備的緩存數(shù)據(jù)的方 法,本方法包括以下步驟,如圖4B所示
      步驟411:存儲(chǔ)設(shè)備的主業(yè)務(wù)處理單元接收到讀訪問(wèn)指令;
      步驟412:主業(yè)務(wù)處理單元根據(jù)讀訪問(wèn)指令從緩存單元中讀取需要的數(shù)據(jù), 若讀取到,則到步驟421;否則,到步驟413;
      步驟413:將讀訪問(wèn)指令發(fā)送給存儲(chǔ)控制單元;
      步驟414:存儲(chǔ)控制單元根據(jù)讀訪問(wèn)指令從存儲(chǔ)介質(zhì)單元中讀取需要的數(shù)
      據(jù);
      步驟415:根據(jù)自身對(duì)應(yīng)的緩存單元的個(gè)數(shù)以及每個(gè)緩存單元的訪問(wèn)帶寬 確定總訪問(wèn)帶寬;根據(jù)該總訪問(wèn)帶寬和讀取到的數(shù)據(jù)的大小確定將該數(shù)據(jù)并行 寫入每個(gè)緩存單元需要的時(shí)間;
      步驟416:比較確定的時(shí)間與預(yù)設(shè)的時(shí)間閥值,若確定的時(shí)間超過(guò)預(yù)設(shè)的 時(shí)間閥值,則到步驟417;否則,到步驟418;
      步驟417:選擇存儲(chǔ)設(shè)備中除本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其 他緩存單元,將從存儲(chǔ)介質(zhì)單元中讀取到的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì) 應(yīng)的緩存單元和選擇的其他緩存單元,到步驟419;
      步驟418:將從存儲(chǔ)介質(zhì)單元中讀取到的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元 對(duì)應(yīng)的緩存單元;
      步驟419:向主業(yè)務(wù)處理單元發(fā)送數(shù)據(jù)緩存結(jié)束通知;
      步驟420:主業(yè)務(wù)處理單元接收到數(shù)據(jù)緩存結(jié)束通知時(shí),根據(jù)該通知從對(duì) 應(yīng)的緩存單元中讀取存儲(chǔ)控制單元寫入的數(shù)據(jù);
      步驟421:將讀取到的數(shù)據(jù)通過(guò)主機(jī)接口單元發(fā)送出去。
      綜上,本發(fā)明的有益效果如下
      本發(fā)明實(shí)施例中,在緩存數(shù)據(jù)時(shí),可以動(dòng)態(tài)的增加緩存單元的個(gè)數(shù),緩存 單元的個(gè)數(shù)越多,需要消耗的緩存數(shù)據(jù)的時(shí)間就越短,進(jìn)而達(dá)到提高整個(gè)寫訪 問(wèn)或讀訪問(wèn)的速度。
      同時(shí),存儲(chǔ)設(shè)備中的緩存單元采用非易失性的存儲(chǔ)設(shè)備時(shí),不需要在存儲(chǔ) 設(shè)備中設(shè)置電池備份單元,增強(qiáng)了存儲(chǔ)設(shè)備的實(shí)用性。
      本發(fā)明在存儲(chǔ)設(shè)備中增加的存儲(chǔ)控制單元可以分擔(dān)主業(yè)務(wù)處理單元的工 作量,提高了存儲(chǔ)設(shè)備的整體處理能力。
      顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
      權(quán)利要求
      1、一種存儲(chǔ)設(shè)備,其特征在于,該存儲(chǔ)設(shè)備包括:多個(gè)緩存單元,用于緩存數(shù)據(jù);主業(yè)務(wù)處理單元,用于確定將待緩存的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元需要的時(shí)間;在所述時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),選擇所述對(duì)應(yīng)的緩存單元外的其他緩存單元,并將所述待緩存的數(shù)據(jù)寫入所述對(duì)應(yīng)的緩存單元和所述其他緩存單元。
      2、 如權(quán)利要求1所述的存儲(chǔ)設(shè)備,其特征在于,所述主業(yè)務(wù)處理單元包括獲取單元,用于獲取所述待緩存的數(shù)據(jù);時(shí)間單元,用于才艮據(jù)所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元的個(gè)數(shù)以及每個(gè) 緩存單元的訪問(wèn)帶寬確定總訪問(wèn)帶寬,根據(jù)所述總訪問(wèn)帶寬和所述數(shù)據(jù)的大小 確定將所述數(shù)據(jù)并行寫入所述每個(gè)緩存單元需要的時(shí)間;確定單元,用于在所述時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),選擇所述存儲(chǔ)設(shè)備中 除所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其他緩存單元;寫單元,用于將所述數(shù)據(jù)寫入所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元和所述 其他緩存單元。
      3、 如權(quán)利要求2所述的存儲(chǔ)設(shè)備,其特征在于,所述獲取單元用于 從接收到的寫訪問(wèn)指令獲取所述待緩存的數(shù)據(jù);或者,根據(jù)接收到的讀訪問(wèn)指令從所述存儲(chǔ)設(shè)備的存儲(chǔ)介質(zhì)單元讀取數(shù)據(jù),將讀 取到的數(shù)據(jù)作為所述待緩存的數(shù)據(jù)。
      4、 如權(quán)利要求2所述的存儲(chǔ)設(shè)備,其特征在于,所述確定單元用于送緩存單元使用請(qǐng)求;在接收到對(duì)所述緩存單元使用請(qǐng)求的同意響應(yīng)時(shí),將所述同意響應(yīng)中包含 的緩存單元標(biāo)識(shí)對(duì)應(yīng)的緩存單元選擇為所述其他緩存單元。
      5、 如權(quán)利要求2所述的存儲(chǔ)設(shè)備,其特征在于,所述確定單元用于 接收握手指令;將所述握手指令中包含的緩存單元標(biāo)識(shí)對(duì)應(yīng)的緩存單元選擇為所述其他緩存單元。
      6、 如權(quán)利要求2所述的存儲(chǔ)設(shè)備,其特征在于,所述主業(yè)務(wù)處理單元還 包括通知單元,用于在所述寫單元將所述l史據(jù)寫入所述主業(yè)務(wù)處理單元對(duì)應(yīng)的 緩存單元和所述其他緩存單元之后,向存儲(chǔ)控制單元發(fā)送數(shù)據(jù)緩存結(jié)束通知; 該存儲(chǔ)設(shè)備進(jìn)一步包括存儲(chǔ)控制單元,用于接收所述數(shù)據(jù)緩存結(jié)束通知,4艮據(jù)該通知從所述主業(yè) 務(wù)處理單元對(duì)應(yīng)的緩存單元和所述其他緩存單元讀取數(shù)據(jù),并將讀取到的數(shù)據(jù) 寫入所述存儲(chǔ)設(shè)備中的存儲(chǔ)介質(zhì)單元。
      7、 如權(quán)利要求6所述的存儲(chǔ)設(shè)備,其特征在于,所述主業(yè)務(wù)處理單元還 包括指令單元,用于將接收到的讀訪問(wèn)指令發(fā)送給所述存儲(chǔ)控制單元; 所述存儲(chǔ)控制單元還用于根據(jù)所述讀訪問(wèn)指令從所述存儲(chǔ)介質(zhì)單元中讀 取數(shù)據(jù);確定將所述數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元需要的時(shí) 間;在所述時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),選擇所述存4諸設(shè)備中除所述對(duì)應(yīng)的緩 存單元外的其他緩存單元,將所述數(shù)據(jù)寫入所述對(duì)應(yīng)的緩存單元和所述其他緩 存單元。
      8、 如權(quán)利要求7所述的存儲(chǔ)設(shè)備,其特征在于,所述存儲(chǔ)控制單元還用于在將所述數(shù)據(jù)寫入所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元和所述其他緩存 單元之后,向所述主業(yè)務(wù)處理單元發(fā)送數(shù)據(jù)緩存結(jié)束通知; 所述主業(yè)務(wù)處理單元還包括發(fā)送單元,用于接收所述數(shù)據(jù)緩存結(jié)束通知,根據(jù)該通知從所述主業(yè)務(wù)處 理單元對(duì)應(yīng)的緩存單元和所述其他緩存單元讀取數(shù)據(jù),并將讀取到的數(shù)據(jù)發(fā)送出去。
      9、 如權(quán)利要求1所述的存儲(chǔ)設(shè)備,其特征在于,所述緩存單元為非易失 性存儲(chǔ)設(shè)備或靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器。
      10、 一種存儲(chǔ)設(shè)備中緩存數(shù)據(jù)的方法,其特征在于,該方法包括確定將待緩存的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元需要的時(shí)間;在所述時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),選擇所述對(duì)應(yīng)的緩存單元外的其他緩 存單元,并利用所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元和所述其他緩存單元緩存 所述數(shù)據(jù)。
      11、 如權(quán)利要求io所述的方法,其特征在于,所述確定將待緩存的數(shù)據(jù)并行寫入主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元需要的時(shí)間包括根據(jù)所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元的個(gè)數(shù)以及每個(gè)緩存單元的訪 問(wèn)帶寬確定總訪問(wèn)帶寬,根據(jù)所述總訪問(wèn)帶寬和所述數(shù)據(jù)的大小確定將所述數(shù) 據(jù)并行寫入所述每個(gè)緩存單元需要的時(shí)間。
      12、 如權(quán)利要求IO所述的方法,其特征在于,該方法進(jìn)一步包括 獲取所述待緩存的數(shù)據(jù)。
      13、 如權(quán)利要求12所述的方法,其特征在于,從接收到的寫訪問(wèn)指令中 獲取所述待緩存的數(shù)據(jù);或者,根據(jù)接收到的讀訪問(wèn)指令從所述存儲(chǔ)設(shè)備的存儲(chǔ)介質(zhì)單元讀取數(shù)據(jù),將讀 取到的數(shù)據(jù)作為所述待緩存的數(shù)據(jù)。
      14、 如權(quán)利要求10所述的方法,其特征在于,所述選擇所述存儲(chǔ)設(shè)備中 除所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其他緩存單元包括向所述存儲(chǔ)設(shè)備中除所述主業(yè)務(wù)處理單元之外的其他主業(yè)務(wù)處理單元發(fā)送緩存單元使用請(qǐng)求;接收到對(duì)所述緩存單元使用請(qǐng)求的同意響應(yīng)時(shí),將所述同意響應(yīng)中包含的 緩存單元標(biāo)識(shí)對(duì)應(yīng)的緩存單元選擇為所述其他緩存單元。
      15、如權(quán)利要求10所述的方法,其特征在于,所述選擇所述存儲(chǔ)設(shè)備中除所述主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元之外的其他緩存單元包括將向所述主業(yè)務(wù)處理單元發(fā)出握手指令的緩存單元選擇為所述其他緩存單元。
      全文摘要
      本發(fā)明實(shí)施例公開了一種存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備包括多個(gè)緩存單元,用于緩存數(shù)據(jù);主業(yè)務(wù)處理單元,用于確定將待緩存的數(shù)據(jù)并行寫入本主業(yè)務(wù)處理單元對(duì)應(yīng)的緩存單元需要的時(shí)間;在所述時(shí)間超過(guò)預(yù)設(shè)的時(shí)間閥值時(shí),確定所述存儲(chǔ)設(shè)備中除所述對(duì)應(yīng)的緩存單元之外的其他緩存單元,將所述數(shù)據(jù)寫入所述對(duì)應(yīng)的緩存單元和所述其他緩存單元。本發(fā)明實(shí)施例還公開了一種緩存數(shù)據(jù)的方法。采用本發(fā)明,能夠有效的提高存儲(chǔ)設(shè)備的數(shù)據(jù)訪問(wèn)速度。
      文檔編號(hào)G06F3/06GK101387943SQ20081021232
      公開日2009年3月18日 申請(qǐng)日期2008年9月8日 優(yōu)先權(quán)日2008年9月8日
      發(fā)明者鄭衛(wèi)紅 申請(qǐng)人:創(chuàng)新科存儲(chǔ)技術(shù)(深圳)有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1