国产精品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ǔ)系統(tǒng)中檢索數(shù)據(jù)的方法和設(shè)備的制作方法

      文檔序號(hào):6355456閱讀:299來源:國知局
      專利名稱:一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及存儲(chǔ)系統(tǒng),更具體地,涉及ー種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法和設(shè)備。
      背景技術(shù)
      目前,數(shù)據(jù)已經(jīng)成為企業(yè)最重要的資源之一。1998年圖靈獎(jiǎng)獲得者JimGray曾斷言現(xiàn)在每18個(gè)月新增的存儲(chǔ)量等于有史以來存儲(chǔ)量之和。根據(jù)預(yù)測,2020年數(shù)據(jù)宇宙將達(dá)到35. 2ZB(1ZB = I百萬PB),比2009的O. 8ZB增加44倍(本發(fā)明中全部數(shù)據(jù)量或者存儲(chǔ)空間単位的B為字節(jié))。數(shù)據(jù)量的幾乎指數(shù)型的增長,使得企業(yè)需要不斷購置大量的存儲(chǔ)設(shè)備來應(yīng)對(duì)不斷增長的存儲(chǔ)需求。但是研究發(fā)現(xiàn),企業(yè)的存儲(chǔ)利用率往往不足50%,存儲(chǔ)投資回報(bào)率水平較低。為了滿足數(shù)據(jù)存儲(chǔ)高增長的要求,提出了高效存儲(chǔ)(Space Efficient)理念,旨在緩解存儲(chǔ)系統(tǒng)的空間增長問題,縮減數(shù)據(jù)占用空間,簡化存儲(chǔ)管理,最大程度地利用已有資源,降低成本。高效存儲(chǔ)的基本策略主要有存儲(chǔ)資源整合、動(dòng)態(tài)存儲(chǔ)容量配置、縮減存儲(chǔ)容量、信息生命周期管理和降低能耗,高效存儲(chǔ)技術(shù)基于這五種基本策略來實(shí)現(xiàn)高效的存儲(chǔ)。高效存儲(chǔ)策略的ー個(gè)重要技術(shù)就是自動(dòng)精簡配置(Thin Provisioning),是ー種全新的存儲(chǔ)空間管理技術(shù),它的核心原理是“欺騙”操作系統(tǒng),讓其認(rèn)為存儲(chǔ)系統(tǒng)中有很大的存儲(chǔ)空間,而實(shí)際上的物理存儲(chǔ)空間并沒有那么大。傳統(tǒng)的存儲(chǔ)系統(tǒng)中,為確保存儲(chǔ)容量在一定的時(shí)間內(nèi)足夠使用,用戶往往會(huì)部署多于實(shí)際需求的充足物理存儲(chǔ)空間。但在實(shí)際使用過程中,尤其是初始階段,部署的存儲(chǔ)容量通常都未充分利用。例如,ー個(gè)中小企業(yè)計(jì)劃5年內(nèi)計(jì)劃使用的存儲(chǔ)容量為2TB,第一年使用50GB,第二年達(dá)到200GB,第三年達(dá)到900GB,第4年為I. 2TB,第5年達(dá)到2TB,則傳統(tǒng)的存儲(chǔ)系統(tǒng)中需要一次部署2TB的存儲(chǔ)空間,需要很高的投資,但是存儲(chǔ)空間的利用率很低。而使用自動(dòng)精簡配置技術(shù)的存儲(chǔ)系統(tǒng),不會(huì)一次性的劃分過大的空間給某項(xiàng)應(yīng)用,而是根據(jù)該項(xiàng)應(yīng)用實(shí)際所需要的容量,多次的少量的分配給應(yīng)用程序,當(dāng)該項(xiàng)應(yīng)用所產(chǎn)生的數(shù)據(jù)增長,分配的容量空間已不夠的時(shí)候,系統(tǒng)會(huì)再次從后端存儲(chǔ)池中補(bǔ)充分配一部分存儲(chǔ)空間。這樣,用戶可以第一年只配置50GB的實(shí)際物理存儲(chǔ)空間,在第二年再増加150GB的物理存儲(chǔ)空間,以此類推。使用這樣的技術(shù),無須改變用戶存儲(chǔ)系統(tǒng)的體系結(jié)構(gòu),還能夠減少超量配置,大幅提高存儲(chǔ)空間利用效率,降低初始投資成本,降低總功耗,從而降低企業(yè)運(yùn)營成本。目前,IBM、HDS、EMC、3PAR的高端磁盤陣列均支持該項(xiàng)技術(shù)。使用自動(dòng)精簡配置的存儲(chǔ)系統(tǒng)與傳統(tǒng)的存儲(chǔ)系統(tǒng)數(shù)據(jù)的組織方式不同,導(dǎo)致二者的數(shù)據(jù)索引方式不同,從而支持上述功能。使用自動(dòng)精簡配置的存儲(chǔ)系統(tǒng)檢索數(shù)據(jù)耗時(shí)更長,性能會(huì)變差,實(shí)際上是ー種以時(shí)間換空間的技術(shù)方案。因此,有必要提出新的技術(shù)方案,來減少應(yīng)用自動(dòng)精簡配置技術(shù)的存儲(chǔ)系統(tǒng)的檢索數(shù)據(jù)時(shí)間
      發(fā)明內(nèi)容
      本發(fā)明提出了一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法和設(shè)備,該存儲(chǔ)系統(tǒng)應(yīng)用自動(dòng)精簡配置技術(shù),本發(fā)明的方法和系統(tǒng)能夠進(jìn)ー步減少現(xiàn)有的高效存儲(chǔ)系統(tǒng)的IO訪問時(shí)間,提高IO訪問效率。根據(jù)本發(fā)明的ー個(gè)方面,提供了一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法,該方法包括接收ー寫操作請(qǐng)求;建立所述寫操作的邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系;判斷在存儲(chǔ)的元數(shù)據(jù)中加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值;響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例不大于所述預(yù)設(shè)閾值,在所述存儲(chǔ)的元數(shù) 據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中加入所述對(duì)應(yīng)關(guān)系;響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,判斷所述存儲(chǔ)的元數(shù)據(jù)是否以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),響應(yīng)于所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表;以及在上述物理塊地址寫入該寫操作請(qǐng)求要求寫入的數(shù)據(jù)。根據(jù)本發(fā)明的另ー個(gè)方面提供了一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的設(shè)備,該設(shè)備包括接收裝置,被配置為接收一寫操作請(qǐng)求;對(duì)應(yīng)關(guān)系建立裝置,被配置為對(duì)所述寫操作請(qǐng)求,建立所述寫操作的邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系;第一判斷裝置,被配置為判斷在存儲(chǔ)的元數(shù)據(jù)加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值;B-tree索弓I對(duì)應(yīng)關(guān)系加入裝置,被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例不大于所述預(yù)設(shè)閾值,在所述存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中加入所述對(duì)應(yīng)關(guān)系;第二判斷裝置,被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,判斷所述存儲(chǔ)的元數(shù)據(jù)是否以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ);轉(zhuǎn)換裝置,被配置為響應(yīng)于所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表;以及寫入裝置,被配置為在上述物理塊地址寫入該寫操作請(qǐng)求要求寫入的數(shù)據(jù)。。


      通過對(duì)附圖中本發(fā)明示例實(shí)施例方式的更詳細(xì)描述,本發(fā)明的上述、以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,相同的參考標(biāo)號(hào)通常代表本發(fā)明示例實(shí)施例方式中的相同部件。圖I示出了現(xiàn)有的自動(dòng)精簡配置存儲(chǔ)技術(shù)中的體系結(jié)構(gòu);圖2示出了ー個(gè)映射表的結(jié)構(gòu)及其中數(shù)據(jù)表達(dá)的含義;圖3示出了根據(jù)本發(fā)明的一種實(shí)施方式的一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法流程;以及圖4示出了根據(jù)本發(fā)明的一種實(shí)施方式的一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的設(shè)備結(jié)構(gòu)。
      具體實(shí)施方式
      將參照附圖更加詳細(xì)地描述本發(fā)明的優(yōu)選實(shí)施方式,在附圖中顯示了本發(fā)明的優(yōu)選實(shí)施例。然而,本發(fā)明可以以各種形式實(shí)現(xiàn)而不應(yīng)該理解為被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了使本發(fā)明更加透徹和完整,并且,完全將本發(fā)明的范圍傳達(dá)給本領(lǐng)域的技術(shù)人員。目前常用的存儲(chǔ)系統(tǒng)一般都是采用虛擬存儲(chǔ)結(jié)構(gòu),即將實(shí)際的物理硬盤虛擬成為多個(gè)卷,可以認(rèn)為這多個(gè)卷就是多個(gè)虛擬盤。例如兩個(gè)3G的物理硬盤可能被主機(jī)虛擬成為3個(gè)2G的虛擬盤,使用3個(gè)盤符標(biāo)記來給主機(jī)使用;每個(gè)虛擬盤都可以支持自動(dòng)精簡配置存儲(chǔ)技術(shù)。存儲(chǔ)系統(tǒng)分配存儲(chǔ)空間時(shí),分配的單位為粒(Grain),粒的単位可以為32K,64K,128Κ或者256Κ等等。從技術(shù)上來看,無論是虛擬化存儲(chǔ)系統(tǒng)還是實(shí)際的物理存儲(chǔ)系統(tǒng),都可以支持自動(dòng)精簡配置存儲(chǔ)技術(shù)。圖I示出了現(xiàn)有的自動(dòng)精簡配置存儲(chǔ)技術(shù)中的體系結(jié)構(gòu),來自CPU100的輸入輸出
      (IO)操作,包括寫操作和讀操作,被高速緩存模塊102中的緩存代理1021獲得,高速緩存模 塊102中的緩存代理1021主要是用于提高IO速度的,可以將ー些常用的客戶數(shù)據(jù)放置到高速緩存中,當(dāng)需要訪問數(shù)據(jù)時(shí),首先訪問高速緩存,如果高速緩存中存在該數(shù)據(jù),稱為高速緩存命中,就無需到低速存儲(chǔ)器(例如硬盤,磁帶等存儲(chǔ)系統(tǒng)中用于存儲(chǔ)用戶數(shù)據(jù)的設(shè)備)中訪問該數(shù)據(jù),來提高訪問速度;如果高速緩存未命中,就通過自動(dòng)精簡配置模塊103,對(duì)高速緩存模塊102要進(jìn)行IO操作的數(shù)據(jù)的地址進(jìn)行重新映射,得到數(shù)據(jù)的物理地址,訪問低速存儲(chǔ)器(或者虛擬盤)104的該地址。具體來說,對(duì)于寫操作,根據(jù)圖I,首先CPU的寫操作通過高速緩存模塊102中的緩存代理1021進(jìn)入自動(dòng)精簡配置模塊103的空間分配器1031,空間分配器根據(jù)寫操作的邏輯塊地址,為其分配ー個(gè)物理塊地址,然后對(duì)低速存儲(chǔ)器104中的元數(shù)據(jù)的映射表1041進(jìn)行修改,在元數(shù)據(jù)中建立起上述分配的物理塊地址與寫操作的邏輯塊地址的映射關(guān)系;最后將寫操作相關(guān)的數(shù)據(jù)寫入到上述分配的物理塊地址,一次寫操作分配的地址空間大小為ー個(gè)粒。而對(duì)于讀操作,根據(jù)圖1,首先CPU的讀操作通過高速緩存模塊102中的緩存代理1021進(jìn)入自動(dòng)精簡配置模塊103的空間分配器1031,空間分配器根據(jù)讀操作的邏輯塊地址,查詢?cè)獢?shù)據(jù)的映射表中該邏輯塊地址對(duì)應(yīng)的物理塊地址,然后從低速存儲(chǔ)器104的物理塊地址讀出該數(shù)據(jù)??梢娒恳淮蔚腎O操作都要至少訪問低速存儲(chǔ)器兩次,一次是獲得元數(shù)據(jù)的映射表中的地址映射關(guān)系,另外一次是訪問客戶數(shù)據(jù),造成IO操作時(shí)間較長的問題。配置有自動(dòng)精簡配置存儲(chǔ)技術(shù)的虛擬盤對(duì)于隨機(jī)讀操作在高速緩存未命中時(shí),性能大約是配置傳統(tǒng)存儲(chǔ)技術(shù)磁盤的1/2 ;配置有自動(dòng)精簡配置存儲(chǔ)技術(shù)的虛擬盤對(duì)于隨機(jī)寫操作在高速緩存未命中時(shí),性能大約是配置傳統(tǒng)存儲(chǔ)技術(shù)磁盤的1/3。因此,有必要提高配置有自動(dòng)精簡配置存儲(chǔ)技術(shù)的存儲(chǔ)系統(tǒng)的I/O性能。由于在自動(dòng)精簡配置存儲(chǔ)技術(shù)中,實(shí)際的物理存儲(chǔ)空間一般小于等于CPU分配的存儲(chǔ)空間式,因此,在這種存儲(chǔ)技術(shù)中,數(shù)據(jù)的組織方式與通常的存儲(chǔ)技術(shù)不同,導(dǎo)致自動(dòng)精簡配置存儲(chǔ)技術(shù)數(shù)據(jù)的索引方式也與通常的存儲(chǔ)索引不同。通常的存儲(chǔ)技術(shù)中,由于實(shí)際的物理存儲(chǔ)空間等于CPU分配的存儲(chǔ)空間式,因此,CPU進(jìn)行讀寫操作時(shí),邏輯空間與物理存儲(chǔ)空間可以認(rèn)為是一一對(duì)應(yīng)的,不需要存儲(chǔ)其映射關(guān)系。而在自動(dòng)精簡配置存儲(chǔ)技術(shù)數(shù)據(jù)中,在低速存儲(chǔ)器上存儲(chǔ)了元數(shù)據(jù),用于將CPU的IO操作的邏輯地址映射到對(duì)應(yīng)的物理存儲(chǔ)地址。因此,支持自動(dòng)精簡配置存儲(chǔ)技術(shù)的低速存儲(chǔ)器(或虛擬盤)中通常包含了元數(shù)據(jù)和用戶數(shù)據(jù)。元數(shù)據(jù)采用B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)。本發(fā)明提出了一種元數(shù)據(jù)的新的數(shù)據(jù)結(jié)映射表,該映射表數(shù)據(jù)結(jié)構(gòu)含義更清楚,如圖2所示。圖2示出了ー個(gè)元數(shù)據(jù)的映射表結(jié)構(gòu)及其中數(shù)據(jù)表達(dá)的含義。該映射表看起
      來像是ー個(gè)矩陣,實(shí)際上,是以第一行、第二行......,第五行的形式存儲(chǔ)來表達(dá)的從邏輯
      塊地址到物理塊地址的映射,例如圖I的映射表中表達(dá)了 25個(gè)邏輯塊地址和物理塊地址的映射關(guān)系,具體來說,映射表中數(shù)據(jù)O表示第O (從第一行開始數(shù)為第O個(gè)數(shù)據(jù))個(gè)邏輯塊對(duì)應(yīng)著第O個(gè)物理塊,映射表中數(shù)據(jù)I表示第4 (從第一行開始數(shù)為第4個(gè)數(shù)據(jù))個(gè)邏輯塊對(duì)應(yīng)著第I個(gè)物理塊,映射表中數(shù)據(jù)2表示第5 (從第一行開始數(shù)為第5個(gè)數(shù)據(jù))個(gè)邏輯塊對(duì)應(yīng)著第2個(gè)物理塊。 使用上述元數(shù)據(jù)的映射表的數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)元數(shù)據(jù),所使用的存儲(chǔ)空間滿足下式元數(shù)據(jù)的映射表所占的存儲(chǔ)空間=虛擬存儲(chǔ)能力/粒的空間女8舉例來說,對(duì)于ー個(gè)2T字節(jié)(Bytes)的虛擬存儲(chǔ)能力而言,元數(shù)據(jù)的映射表需要512M字節(jié)的存儲(chǔ)空間,因此,使用映射表存儲(chǔ)元數(shù)據(jù),映射表所占用的存儲(chǔ)空間對(duì)于整個(gè)預(yù)定的數(shù)據(jù)存儲(chǔ)空間而言是固定的。但是,元數(shù)據(jù)的映射表在低速存儲(chǔ)器(例如磁盤,磁帶等)初始使用階段,由于大部分映射表中的元素還沒有被填入數(shù)據(jù),映射表中有效數(shù)據(jù)較少,數(shù)據(jù)是稀疏的。隨著低速存儲(chǔ)器空間的使用,映射表中有效數(shù)據(jù)會(huì)越來越稠密。但是映射表本身占用的存儲(chǔ)空間無論在數(shù)據(jù)稀疏還是稠密時(shí),都是ー樣的,并且映射表中地址的映射關(guān)系一旦建立后就不會(huì)刪除,因此,映射表中的有效數(shù)據(jù)是持續(xù)增長的。但是映射表本身占用的存儲(chǔ)空間是不變的。而在現(xiàn)有支持自動(dòng)精簡配置存儲(chǔ)技術(shù)的存儲(chǔ)系統(tǒng)中,低速存儲(chǔ)器上存儲(chǔ)的元數(shù)據(jù)的B-Tree數(shù)據(jù)結(jié)構(gòu),在低速存儲(chǔ)器初始使用階段,是ー個(gè)較小的樹,占用的存儲(chǔ)空間少;隨著低速存儲(chǔ)器空間的使用,B-tree越來越大,占用的存儲(chǔ)空間也越來越大。表I給出元數(shù)據(jù)中不同的有效數(shù)據(jù)比例對(duì)應(yīng)的映射表及B-Tree所需的存儲(chǔ)空間。其中B-tree的每個(gè)節(jié)點(diǎn)有512個(gè)條目。其中有效數(shù)據(jù)的比例為映射表中非空數(shù)據(jù)占映射表全部數(shù)據(jù)的百分比??梢姡?dāng)使用映射表,元數(shù)據(jù)中有效數(shù)據(jù)比例為50%吋,B-tree數(shù)據(jù)結(jié)構(gòu)所需的存儲(chǔ)空間與映射表數(shù)據(jù)結(jié)構(gòu)所需的存儲(chǔ)空間相同。顯然,這種情況下,如果有效數(shù)據(jù)繼續(xù)增長,B-tree數(shù)據(jù)結(jié)構(gòu)占用的存儲(chǔ)空間將大于映射表數(shù)據(jù)結(jié)構(gòu)占用的存儲(chǔ)空間。當(dāng)然,這里50%的比例只是針對(duì)上述特定實(shí)例,在不同的情況下,這個(gè)比例可能不同,但是可以知道,存在著這樣的閾值,當(dāng)使用映射表,有效數(shù)據(jù)的比例小于該閾值時(shí),存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)更節(jié)約存儲(chǔ)空間,當(dāng)使用映射表,有效數(shù)據(jù)的比例大于該閾值時(shí),存儲(chǔ)映射表更節(jié)約存儲(chǔ)空間。表I不同的有效數(shù)據(jù)比例對(duì)應(yīng)的映射表及B-Tree所需的存儲(chǔ)空間映射表所有效數(shù)據(jù)的有效數(shù)據(jù)占B-tree的葉B-tree的非B-tree所需
      需的存儲(chǔ)比例用的存儲(chǔ)空子節(jié)點(diǎn)個(gè)葉子節(jié)點(diǎn)的存儲(chǔ)空間
      空間間(MB)數(shù)個(gè)數(shù)(MB) (MB)
      25650%1283 276865256
      25630%761945639152
      25610%2265531351本發(fā)明考慮到,在支持自動(dòng)精簡配置存儲(chǔ)技術(shù)的存儲(chǔ)系統(tǒng)的IO訪問性能影響因素中,主要是元數(shù)據(jù)的訪問,如果能加速元數(shù)據(jù)的訪問,則就能提高IO訪問性能 。低速存儲(chǔ)器的訪問速度眾所周知,與高速緩存器(cache)相比太慢,因此ー個(gè)直觀的想法就是在運(yùn)行時(shí)將元數(shù)據(jù)存儲(chǔ)在高速緩存中,因?yàn)楦咚倬彺媸菗]發(fā)性存儲(chǔ),即斷電后存儲(chǔ)內(nèi)容消失,因此在運(yùn)行結(jié)束后需要將高速緩存中的元數(shù)據(jù)存儲(chǔ)到低速存儲(chǔ)器中。但是,通常的高速緩存空間較小,還要存儲(chǔ)用戶數(shù)據(jù),所以只能在高速緩存中放入很少量的元數(shù)據(jù),現(xiàn)有的在支持自動(dòng)精簡配置存儲(chǔ)技術(shù)的存儲(chǔ)系統(tǒng)中,就在高速緩存中存儲(chǔ)全部(B-tree需要的存儲(chǔ)空間小時(shí))或部分的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)(B-tree需要的存儲(chǔ)空間大時(shí)),來加速性能。在元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)占用的存儲(chǔ)空間大時(shí),對(duì)于在高速緩存中無法檢索到的元數(shù)據(jù),需要去訪問低速存儲(chǔ)器中的元數(shù)據(jù),降低了存儲(chǔ)系統(tǒng)的IO訪問效率。既然低速存儲(chǔ)器的訪問時(shí)間較長,而高速緩存的空間有很有限,直接利用高速緩存的方案有不可行,可以考慮采用高速存儲(chǔ)器來存儲(chǔ)元數(shù)據(jù),來提高訪問效率。在一種實(shí)施方式中,存儲(chǔ)元數(shù)據(jù)的高速存儲(chǔ)器可以采用固態(tài)硬盤(SSD, solid state disk)。固態(tài)硬盤是目前倍受存儲(chǔ)界廣泛關(guān)注的存儲(chǔ)新技術(shù),它被看作是ー種革命性的存儲(chǔ)技術(shù),已經(jīng)給存儲(chǔ)行業(yè)甚至計(jì)算機(jī)體系結(jié)構(gòu)帶來深刻變革。SSD與傳統(tǒng)低速存儲(chǔ)器不同,它是ー種電子器件而非物理機(jī)械裝置,它具有體積小、能耗小、搞干擾能力強(qiáng)、尋址時(shí)間極小(甚至可以忽略不計(jì))、10PS高、I/O性能高等特點(diǎn)。一種簡單的實(shí)施方式就是直接利用SSD替代低速存儲(chǔ)器來存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)。但是SSD是ー種相對(duì)較貴的資源,在存儲(chǔ)系統(tǒng)中還經(jīng)常被其它模塊用于提高性能,因此,SSD的使用過程中,通常是要節(jié)約利用的,節(jié)約下來的資源可以被其它模塊用于提高其它的訪問性能??紤]到元數(shù)據(jù)在初始數(shù)據(jù)稀疏時(shí),可以使用B-tree數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ),這樣可以減少存儲(chǔ)空間。但是,當(dāng)元數(shù)據(jù)中數(shù)據(jù)變得稠密,達(dá)到一定的程度時(shí),也就是說,如果使用映射表結(jié)構(gòu),有效數(shù)據(jù)的比例達(dá)到設(shè)定的閾值時(shí),存儲(chǔ)B-tree所需的空間將大于存儲(chǔ)映射表所需的存儲(chǔ)空間。本發(fā)明公開了ー種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法,該方法能夠減少所述存儲(chǔ)系統(tǒng)檢索訪問數(shù)據(jù)的時(shí)間,所述存儲(chǔ)系統(tǒng)支持自動(dòng)精簡配置存儲(chǔ)技術(shù),并且在所述存儲(chǔ)系統(tǒng)中,使用高速存儲(chǔ)器存儲(chǔ)元數(shù)據(jù),元數(shù)據(jù)映射表的建立過程主要和IO中的寫操作相關(guān),圖3示出了該方法的流程,根據(jù)圖3,該方法包括在步驟S301,接收ー寫操作請(qǐng)求;在步驟S302,建立所述寫操作的邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系;在步驟S303,判斷在存儲(chǔ)的元數(shù)據(jù)中加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值;響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例不大于所述預(yù)設(shè)閾值,在步驟S304,在所述存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中加入所述對(duì)應(yīng)關(guān)系,然后到步驟S308,在上述對(duì)應(yīng)關(guān)系的物理塊地址寫入該寫操作請(qǐng)求要求寫入的數(shù)據(jù);響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,在步驟S305,判斷所述存儲(chǔ)的元數(shù)據(jù)是否以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ);響應(yīng)于所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),在步驟S306,將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表,然后到步驟S308。響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,并且所述存儲(chǔ)的元數(shù)據(jù)不以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)而,在步驟S307,判斷所述存儲(chǔ)的元數(shù)以映射表方式存儲(chǔ),并在元數(shù)據(jù)的映射表中加入所述對(duì)應(yīng)關(guān)系,然后到步驟S308。在一種實(shí)施方式中,響應(yīng)于元數(shù)據(jù)的映射表很大,可以將元數(shù)據(jù)分成若干個(gè)部分,每個(gè)部分可以占用相同大小的存儲(chǔ)空間,也可以占用不同大小的存儲(chǔ)空間。對(duì)于元數(shù)據(jù)的每一部分,執(zhí)行如圖3所示的方法,在計(jì)算有效數(shù)據(jù)比例時(shí),可以將元數(shù)據(jù)的一部分當(dāng)成一個(gè)獨(dú)立的元數(shù)據(jù)處理,這樣有效數(shù)據(jù)比例是該一部分元數(shù)據(jù)內(nèi)的使用映射表計(jì)算的有效數(shù)據(jù)比例。在一種實(shí)施方式中,存儲(chǔ)元數(shù)據(jù)的高速存儲(chǔ)器為SSD。當(dāng)映射表中有效數(shù)據(jù)稀疏,既有效數(shù)據(jù)比例小于預(yù)設(shè)閾值時(shí),可以在SSD存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),這樣節(jié)省的空間可以被其它模塊用于加速性能,對(duì)應(yīng)每次的寫操作,將新建立的映射關(guān)系插入到元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中,B-tree數(shù)據(jù)結(jié)構(gòu)的插入操作對(duì)于本領(lǐng)域技術(shù)人員是公知的,這里不再贅述;當(dāng)有效數(shù)據(jù)變得稠密,既有效數(shù)據(jù)比例大于預(yù)設(shè)閾值時(shí),將元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開成為映射表,并且將新建立的映射關(guān)系加入到映射表中,再存儲(chǔ)到該SSD中。B-tree的展開方式有很多種算法,可以在數(shù)據(jù)結(jié)構(gòu)的教科書或算法集中獲得,是本領(lǐng)域技術(shù)人員公知的方法,在此不再贅述。并且在上述實(shí)施方式下,如果元數(shù)據(jù)被分成多個(gè)部分,可能在SSD中,存儲(chǔ)該元數(shù)據(jù)若干部分的映射表,以及一部分元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)。存儲(chǔ)的該元數(shù)據(jù)若干部分的映射表是經(jīng)過圖3的方法逐步建立的。這時(shí),由于高速緩存器的速度一般還要高于SSD接近10倍,高速緩存器可以被用作SSD中元數(shù)據(jù)的高速緩存,如果高速緩存命中,還可以提高IO速度。優(yōu)選的方式中,高速緩存用于緩存一部分元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),如果還有多余的高速緩存空間,再緩存該元數(shù)據(jù)若干部分的映射表,或者,如果有更足夠的高速緩存空間,還可以在高速緩存中建立該元數(shù)據(jù)若干部分的映射表的B-tree數(shù)據(jù)結(jié)構(gòu)。但是要注意,需要給客戶數(shù)據(jù)的高速緩存留下足夠的空間,否則,就失去了高速緩存器的本質(zhì)作用,反而降低訪問效率。在另外ー種實(shí)施方式中,用于存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)的高速存儲(chǔ)器為高速緩存器,用于存儲(chǔ)元數(shù)據(jù)的映射表的高速存儲(chǔ)器為SSD,由于高速緩存器為易失性存儲(chǔ) 器,掉電后存儲(chǔ)信息丟失,所以還要在低速存儲(chǔ)器中存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),而且保持與高速緩存器中的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)同歩。這里的同步目的,是為了在高速緩存器掉電時(shí),仍然保留相關(guān)的元數(shù)據(jù),因此,這種同步的要求并不嚴(yán)格,可以在高速緩存更新后若干時(shí)間后進(jìn)行,甚至,如果電源足夠可靠,可以在電源關(guān)閉前做一次同步即可。具體如何保持同步,可以采用現(xiàn)有數(shù)據(jù)同步的任何方式,或者獨(dú)立編程。在另外的實(shí)施方式中,也可以采用其它非易失性存儲(chǔ)器件來存儲(chǔ)B-tree數(shù)據(jù)結(jié)構(gòu),并與高速緩存器中的B-tree數(shù)據(jù)結(jié)構(gòu)保持上述意義上的同歩。在上述實(shí)施方式中,當(dāng)映射表中有效數(shù)據(jù)稀疏,即有效數(shù)據(jù)比例小于預(yù)設(shè)閾值吋,可以在高速緩存中存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),這樣不僅提高訪問效率,節(jié)省的SSD空間可以被其它模塊用于加速性能,由于此時(shí)B-tree所占的存儲(chǔ)空間小,可以在高速緩存中存儲(chǔ)當(dāng)前元數(shù)據(jù)的整個(gè)B-tree數(shù)據(jù)結(jié)構(gòu),對(duì)應(yīng)毎次的寫操作,將新建立的映射關(guān)系插入到高速緩存元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中,并且同步低速存儲(chǔ)器中存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),這里的同步與前文的同步為同一含義;當(dāng)映射表中有效數(shù)據(jù)變得稠密,即如果使 用映射表結(jié)構(gòu)的有效數(shù)據(jù)比例首次大于預(yù)設(shè)閾值時(shí),這時(shí)還是在高速緩存中將元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),將同步后的低速存儲(chǔ)器中的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表,并遷移到SSD中存儲(chǔ);如果不是首次有效數(shù)據(jù)比例大于預(yù)設(shè)閾值,則此時(shí)元數(shù)據(jù)的映射表已經(jīng)存儲(chǔ)在SSD中,只要在SSD存儲(chǔ)的映射表中加入映射關(guān)系即可。后續(xù)高速緩存的應(yīng)用可以根據(jù)高速緩存能提供給元數(shù)據(jù)使用的空間來確定,如果空間很大,可以存放元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),如果不是很大,可以存放元數(shù)據(jù)的部分映射表,或者部分B-tree數(shù)據(jù)結(jié)構(gòu),等等。并且在上述實(shí)施方式下,如果元數(shù)據(jù)被分成多個(gè)部分,可能在SSD中,存儲(chǔ)該元數(shù)據(jù)若干部分的映射表,在高速緩存中,存儲(chǔ)一部分元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),同時(shí)在低速存儲(chǔ)器中存儲(chǔ)與高速緩存中的B-tree數(shù)據(jù)結(jié)構(gòu)同步的B-tree數(shù)據(jù)結(jié)構(gòu),同步的含義與前文相同。存儲(chǔ)的該元數(shù)據(jù)若干部分的映射表是經(jīng)過圖3的方法逐步建立的。這時(shí),如果高速緩存還有多余空間可以用于存儲(chǔ)元數(shù)據(jù),還可以緩存該元數(shù)據(jù)若干部分的映射表,或者,如果有更足夠的高速緩存空間,還可以在高速緩存中建立該元數(shù)據(jù)若干部分的映射表的B-tree數(shù)據(jù)結(jié)構(gòu)。但是同樣要注意,需要給客戶數(shù)據(jù)的高速緩存留下足夠的空間,否則,就失去了高速緩存器的本質(zhì)作用,反而降低訪問效率。在上述實(shí)施方式中,如果低速存儲(chǔ)器的讀時(shí)間為SSD讀時(shí)間的100倍,SSD的寫時(shí)間是讀時(shí)間的3倍,對(duì)2TB的虛擬存儲(chǔ)能力,粒的大小為32K,SSD上的元數(shù)據(jù)為358MB,SSD中的元數(shù)據(jù)占全部元數(shù)據(jù)的70%,高速緩存中的元數(shù)據(jù)占全部元數(shù)據(jù)的30%時(shí),高速緩存中的元數(shù)據(jù)的命中率為50%,對(duì)于包含70%讀操作,30%寫操作的存儲(chǔ)系統(tǒng),IO訪問的平均效率能夠提高50%。在上述各種實(shí)施方式中,如果存儲(chǔ)系統(tǒng)接收到讀請(qǐng)求時(shí),可以從元數(shù)據(jù)中獲得讀請(qǐng)求的邏輯塊地址映射的物理塊地址,從而從該物理塊地址讀取該數(shù)據(jù)。在一種優(yōu)選的實(shí)施方式中,為了提高圖3中步驟S303和步驟S305的效率,可以使用標(biāo)記記錄當(dāng)前元數(shù)據(jù)的是以B-tree數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式存儲(chǔ)還是以映射表數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式存儲(chǔ),并且響應(yīng)于當(dāng)前元數(shù)據(jù)的存儲(chǔ)方式改變,更新該標(biāo)記。而且還可以使用標(biāo)記記錄元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置,并且響應(yīng)于該元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置改變,更新該標(biāo)記。甚至,還可以記錄當(dāng)前元數(shù)據(jù)中有效數(shù)據(jù)的個(gè)數(shù)以及當(dāng)前元數(shù)據(jù)的映射表中全部數(shù)據(jù)的個(gè)數(shù),這樣可以迅速計(jì)算出元數(shù)據(jù)的映射表中加入上述對(duì)應(yīng)關(guān)系后,新的有效數(shù)據(jù)比例。
      在同一個(gè)發(fā)明構(gòu)思下,本發(fā)明還公開了ー種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的設(shè)備,圖4示出了其設(shè)備結(jié)構(gòu),所述存儲(chǔ)系統(tǒng)支持自動(dòng)精簡配置存儲(chǔ)技術(shù),并且使用高速存儲(chǔ)器存儲(chǔ)元數(shù)據(jù),根據(jù)圖4,該設(shè)備包括接收裝置401,被配置為接收一寫操作請(qǐng)求;對(duì)應(yīng)關(guān)系建立裝置402,被配置為對(duì)所述寫操作請(qǐng)求,建立所述寫操作的邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系;第一判斷裝置403,被配置為判斷在存儲(chǔ)的元數(shù)據(jù)加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值;B-tree索引對(duì)應(yīng)關(guān)系加入裝置404,被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例不大于所述預(yù)設(shè)閾值,在所述存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中加入所述對(duì)應(yīng)關(guān)系;第二判斷裝置405,被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,判斷所述存儲(chǔ)的元數(shù)據(jù)是否以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ);轉(zhuǎn)換裝置406,被配置為響應(yīng)于所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表;映射表對(duì)應(yīng)關(guān)系加入裝置407,被配置為被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,并且所述存儲(chǔ)的元數(shù)據(jù)不以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)而,則確定所述存儲(chǔ)的元數(shù)據(jù)以映射表方式存儲(chǔ),并在存儲(chǔ)的元數(shù)據(jù)的映射表中加入所述對(duì)應(yīng)關(guān)系;以及寫入裝置408,被配置為在上述 對(duì)應(yīng)關(guān)系的物理塊地址寫入該寫操作請(qǐng)求要求寫入的數(shù)據(jù)。在一種實(shí)施方式中,如果元數(shù)據(jù)的映射表很大,可以將元數(shù)據(jù)分成若干個(gè)部分,每個(gè)部分可以占用相同大小的存儲(chǔ)空間,也可以占用不同大小的存儲(chǔ)空間。對(duì)于元數(shù)據(jù)的每一部分,第一判斷裝置判斷其中的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值,使用映射表計(jì)算的有效數(shù)據(jù)比例是該一部分元數(shù)據(jù)內(nèi)的使用映射表計(jì)算的有效數(shù)據(jù)比例。圖4所示的設(shè)備可以加入圖I的自動(dòng)精簡配置模塊103中,成為該模塊內(nèi)部ー個(gè)単獨(dú)的設(shè)備,也可以在圖I的外部成為獨(dú)立的設(shè)備,或者,還可以將其中的部分模塊加入到圖I的某些模塊,將另外一些模塊加入到圖I的其它模塊中,本領(lǐng)域技術(shù)人員可以知道,有各種加入形式,都在本發(fā)明的保護(hù)范圍之中。在一種實(shí)施方式中,存儲(chǔ)元數(shù)據(jù)的高速存儲(chǔ)器為SSD。在這種實(shí)施方式下,轉(zhuǎn)換裝置可以包括展開裝置,被配置為將SSD中元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開成為映射表的數(shù)據(jù)結(jié)構(gòu);矩陣數(shù)據(jù)對(duì)應(yīng)關(guān)系加入裝置,被配置為將新建立的映射關(guān)系加入到映射表的數(shù)據(jù)結(jié)構(gòu)中。在另外ー種實(shí)施方式中,用于存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)的高速存儲(chǔ)器為高速緩存器,用于存儲(chǔ)元數(shù)據(jù)的映射表的高速存儲(chǔ)器為SSD,并且在低速存儲(chǔ)器中存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),該設(shè)備還包括同步裝置,被配置為將所述低速存儲(chǔ)器中存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)與所述高速緩存器中存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)同步。在這種實(shí)施方式下,轉(zhuǎn)換裝置可以包括展開裝置,被配置為將低速存儲(chǔ)器中元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開成為映射表的數(shù)據(jù)結(jié)構(gòu);映射表對(duì)應(yīng)關(guān)系加入裝置,被配置為將新建立的映射關(guān)系加入到映射表的數(shù)據(jù)結(jié)構(gòu)中;以及遷移裝置,被配置為將映射表對(duì)應(yīng)關(guān)系加入裝置得到的映射表遷移到該SSD中存儲(chǔ)。同樣,為了提高第一判斷裝置和第二判斷裝置的效率,在優(yōu)選的實(shí)施方式中,使用標(biāo)記記錄當(dāng)前元數(shù)據(jù)是以B-tree數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式存儲(chǔ)還是以映射表的存儲(chǔ)方式存儲(chǔ),并且響應(yīng)于當(dāng)前元數(shù)據(jù)的存儲(chǔ)方式改變,更新該標(biāo)記。還可以使用標(biāo)記記錄所述元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置,并且響應(yīng)于該元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置改變,更新該標(biāo)記。
      雖然這里參照附圖描述了本發(fā)明的示例性實(shí)施例,但是應(yīng)該理解本發(fā)明不限于這些精確的實(shí)施例,并且在不背離本發(fā)明的范圍和宗g的情況下,本領(lǐng)域普通技術(shù)人員能對(duì)實(shí)施例進(jìn)行各種變化的修改。所有這些變化和修改意欲包含在所附權(quán)利要求中限定的本發(fā)明的范圍中。并且根據(jù)上述描述,所屬技術(shù)領(lǐng)域的技術(shù)人員知道,本發(fā)明可以體現(xiàn)為裝置、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可以具體實(shí)現(xiàn)為以下形式,即,可以是完全的硬件、完全的軟件(包括固件、駐留軟件、微代碼等)、或者本文一般稱為“電路”、“模塊”或“系統(tǒng)”的軟件部分與硬件部分的組合。此外,本發(fā)明還可以采取體現(xiàn)在任何有形的表達(dá)介質(zhì)(mediumof expression)中的計(jì)算機(jī) 程序產(chǎn)品的形式,該介質(zhì)中包含計(jì)算機(jī)可讀的程序碼??梢允褂靡粋€(gè)或多個(gè)計(jì)算機(jī)可讀的或計(jì)算機(jī)可讀的介質(zhì)的任何組合。計(jì)算機(jī)可讀的或計(jì)算機(jī)可讀的介質(zhì)例如可以是——但不限于——電的、磁的、光的、電磁的、紅外線的、或半導(dǎo)體的系統(tǒng)、裝置、器件或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的更具體的例子(非窮舉的列表)包括以下有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、諸如支持因特網(wǎng)或內(nèi)部網(wǎng)的傳輸介質(zhì)、或者磁存儲(chǔ)器件。注意計(jì)算機(jī)可讀的或計(jì)算機(jī)可讀的介質(zhì)甚至可以是上面印有程序的紙張或者其它合適的介質(zhì),這是因?yàn)椋缈梢酝ㄟ^電掃描這種紙張或其它介質(zhì),以電子方式獲得程序,然后以適當(dāng)?shù)姆绞郊右跃幾g、解釋或處理,并且必要的話在計(jì)算機(jī)存儲(chǔ)器中存儲(chǔ)。在本文件的語境中,計(jì)算機(jī)可讀的或計(jì)算機(jī)可讀的介質(zhì)可以是任何含有、存儲(chǔ)、傳達(dá)、傳播、或傳輸供指令執(zhí)行系統(tǒng)、裝置或器件使用的或與指令執(zhí)行系統(tǒng)、裝置或器件相聯(lián)系的程序的介質(zhì)。計(jì)算機(jī)可讀的介質(zhì)可包括在基帶中或者作為載波一部分傳播的、由其體現(xiàn)計(jì)算機(jī)可讀的程序碼的數(shù)據(jù)信號(hào)。計(jì)算機(jī)可讀的程序碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、RF等等。用于執(zhí)行本發(fā)明的操作的計(jì)算機(jī)程序碼,可以以ー種或多種程序設(shè)計(jì)語言的任何組合來編寫,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言——諸如Java、Smalltalk、C++之類,還包括常規(guī)的過程式程序設(shè)計(jì)語言——諸如” C”程序設(shè)計(jì)語言或類似的程序設(shè)計(jì)語言。程序碼可以完全地在用戶的計(jì)算上執(zhí)行、部分地在用戶的計(jì)算機(jī)上執(zhí)行、作為ー個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶的計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任何種類的網(wǎng)絡(luò)——包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)——連接到用戶的計(jì)算機(jī),或者,可以(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng))連接到外部計(jì)算機(jī)。此外,本發(fā)明的流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出ー種機(jī)器,使得通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行的這些指令,產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的裝置(means)。也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能指令計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,這樣,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生ー個(gè)包括實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品,也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上,使得在計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令就提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含ー個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H 上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
      權(quán)利要求
      1.一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法,該方法包括 接收ー寫操作請(qǐng)求; 建立所述寫操作的邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系; 判斷在存儲(chǔ)的元數(shù)據(jù)中加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值; 響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例不大于所述預(yù)設(shè)閾值,在所述存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中加入所述對(duì)應(yīng)關(guān)系; 響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,判斷所述存儲(chǔ)的元數(shù)據(jù)是否以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),響應(yīng)于所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表;以及 在上述物理塊地址寫入該寫操作請(qǐng)求要求寫入的數(shù)據(jù)。
      2.根據(jù)權(quán)利要求I所述的方法,其中還包括 響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,并且所述存儲(chǔ)的元數(shù)據(jù)不以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),則確定所述存儲(chǔ)的元數(shù)據(jù)以映射表存儲(chǔ),并在元數(shù)據(jù)的映射表中加入所述對(duì)應(yīng)關(guān)系。
      3.根據(jù)權(quán)利要求I或2所述的方法,其中所述存儲(chǔ)系統(tǒng)支持自動(dòng)精簡配置存儲(chǔ)技木,所述元數(shù)據(jù)為支持自動(dòng)精簡配置存儲(chǔ)技術(shù)的低速存儲(chǔ)器的元數(shù)據(jù)的一部分。
      4.根據(jù)權(quán)利要求1-3之一所述的方法,其中所述存儲(chǔ)系統(tǒng)使用高速存儲(chǔ)器存儲(chǔ)元數(shù)據(jù),所述高速存儲(chǔ)器為SSD。
      5.根據(jù)權(quán)利要求4所述的方法,其中響應(yīng)于存儲(chǔ)的元數(shù)據(jù)中加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例大于預(yù)設(shè)閾值,并且所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),則所述將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表還包括 將元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開成為映射表,并且將所述對(duì)應(yīng)關(guān)系加入到映射表中,再存儲(chǔ)到該SSD中。
      6.根據(jù)權(quán)利要求1-3之一所述的方法,其中所述存儲(chǔ)系統(tǒng)使用高速存儲(chǔ)器存儲(chǔ)元數(shù)據(jù),用于存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)的高速存儲(chǔ)器為高速緩存器,用于存儲(chǔ)元數(shù)據(jù)的映射表的高速存儲(chǔ)器為SSD,并且在低速存儲(chǔ)器中存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),而且與高速緩存器中存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)同歩。
      7.根據(jù)權(quán)利要求6所述的方法,其中響應(yīng)于存儲(chǔ)的元數(shù)據(jù)中加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例大于預(yù)設(shè)閾值,并且所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),則所述將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表還包括將低速存儲(chǔ)器中的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表,并遷移到SSD中存儲(chǔ)。
      8.根據(jù)權(quán)利要求1-3之一所述的方法,其中使用標(biāo)記記錄當(dāng)前元數(shù)據(jù)是以B-tree數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式存儲(chǔ)還是以映射表的存儲(chǔ)方式存儲(chǔ),并且響應(yīng)于當(dāng)前元數(shù)據(jù)的存儲(chǔ)方式改變,更新該標(biāo)記。
      9.根據(jù)權(quán)利要求1-3之一所述的方法,其中使用標(biāo)記記錄元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置,并且響應(yīng)于該元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置改變,更新該標(biāo)記。
      10.一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的設(shè)備,該設(shè)備包括 接收裝置,被配置為接收一寫操作請(qǐng)求; 對(duì)應(yīng)關(guān)系建立裝置,被配置為對(duì)所述寫操作請(qǐng)求,建立所述寫操作的邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系; 第一判斷裝置,被配置為判斷在存儲(chǔ)的元數(shù)據(jù)加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值; B-tree索引對(duì)應(yīng)關(guān)系加入裝置,被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例不大于所述預(yù)設(shè)閾值,在所述存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中加入所述對(duì)應(yīng)關(guān)系; 第二判斷裝置,被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,判斷所述存儲(chǔ)的元數(shù)據(jù)是否以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ); 轉(zhuǎn)換裝置,被配置為響應(yīng)于所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表;以及 寫入裝置,被配置為在上述物理塊地址寫入該寫操作請(qǐng)求要求寫入的數(shù)據(jù)。
      11.根據(jù)權(quán)利要求10所述的設(shè)備,其中還包括 矩陣數(shù)據(jù)對(duì)應(yīng)關(guān)系加入裝置,被配置為響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,并且所述存儲(chǔ)的元數(shù)據(jù)不以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),則確定所述存儲(chǔ)的元數(shù)據(jù)以映射表存儲(chǔ),并在存儲(chǔ)的元數(shù)據(jù)的映射表中加入所述對(duì)應(yīng)關(guān)系。
      12.根據(jù)權(quán)利要求10或11所述的設(shè)備,其中所述存儲(chǔ)系統(tǒng)支持自動(dòng)精簡配置存儲(chǔ)技術(shù),所述元數(shù)據(jù)為支持自動(dòng)精簡配置存儲(chǔ)技術(shù)的低速存儲(chǔ)器的元數(shù)據(jù)的一部分。
      13.根據(jù)權(quán)利要求10-12之一所述的設(shè)備,其中所述存儲(chǔ)系統(tǒng)使用高速存儲(chǔ)器存儲(chǔ)元數(shù)據(jù),所述高速存儲(chǔ)器為SSD。
      14.根據(jù)權(quán)利要求13所述的設(shè)備,其中所述轉(zhuǎn)換裝置包括 展開裝置,被配置為將SSD中元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開成為映射表; 矩陣數(shù)據(jù)對(duì)應(yīng)關(guān)系加入裝置,被配置為將所述對(duì)應(yīng)關(guān)系加入到映射表中。
      15.根據(jù)權(quán)利要求10-12之一所述的設(shè)備,其中所述存儲(chǔ)系統(tǒng)使用高速存儲(chǔ)器存儲(chǔ)元數(shù)據(jù),用于存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)的高速存儲(chǔ)器為高速緩存器,用于存儲(chǔ)元數(shù)據(jù)的映射表的高速存儲(chǔ)器為SSD,并且在低速存儲(chǔ)器中存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu),該設(shè)備還包括 同步裝置,被配置為將所述低速存儲(chǔ)器中存儲(chǔ)元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)與所述高速緩存器中存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)同歩。
      16.根據(jù)權(quán)利要求15所述的設(shè)備,其中所述轉(zhuǎn)換裝置包括 展開裝置,被配置為將低速存儲(chǔ)器中元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)展開成為映射表; 映射表對(duì)應(yīng)關(guān)系加入裝置,被配置為將新建立的映射關(guān)系加入到映射表中。
      遷移裝置,被配置為將映射表對(duì)應(yīng)關(guān)系加入裝置得到的映射表遷移到該SSD中存儲(chǔ)。
      17.根據(jù)權(quán)利要求10-12之一所述的設(shè)備,其中使用標(biāo)記記錄當(dāng)前元數(shù)據(jù)是以B-tree數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)方式存儲(chǔ)還是以映射表的存儲(chǔ)方式存儲(chǔ),并且響應(yīng)于當(dāng)前元數(shù)據(jù)的存儲(chǔ)方式改變,更新該標(biāo)記。
      18.根據(jù)權(quán)利要求10-12之一所述的設(shè)備,其中使用標(biāo)記記錄所述元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置,并且響應(yīng)于該元數(shù)據(jù)的每個(gè)部分的存儲(chǔ)位置改變,更新該標(biāo)記。
      全文摘要
      本發(fā)明公開了一種存儲(chǔ)系統(tǒng)中檢索數(shù)據(jù)的方法和設(shè)備,該方法包括接收一寫操作請(qǐng)求;建立所述寫操作的邏輯塊地址與物理塊地址的對(duì)應(yīng)關(guān)系;判斷在存儲(chǔ)的元數(shù)據(jù)中加入上述對(duì)應(yīng)關(guān)系后,使用映射表計(jì)算的有效數(shù)據(jù)比例是否大于預(yù)設(shè)閾值;響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例不大于所述預(yù)設(shè)閾值,在所述存儲(chǔ)的元數(shù)據(jù)的B-tree數(shù)據(jù)結(jié)構(gòu)中加入所述對(duì)應(yīng)關(guān)系;響應(yīng)于使用映射表計(jì)算的有效數(shù)據(jù)比例大于所述預(yù)設(shè)閾值,判斷所述存儲(chǔ)的元數(shù)據(jù)是否以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),響應(yīng)于所述存儲(chǔ)的元數(shù)據(jù)以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),將該以B-tree數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)的元數(shù)據(jù)存儲(chǔ)為包含上述對(duì)應(yīng)關(guān)系的元數(shù)據(jù)的映射表;以及在上述物理塊地址寫入該寫操作請(qǐng)求要求寫入的數(shù)據(jù)。
      文檔編號(hào)G06F3/06GK102651009SQ201110051630
      公開日2012年8月29日 申請(qǐng)日期2011年2月28日 優(yōu)先權(quán)日2011年2月28日
      發(fā)明者方敏, 曾凡鋼, 李小燕, 顧慧翔 申請(qǐng)人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1