国产精品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>

      用于向持久性存儲器多播數(shù)據(jù)的方法和系統(tǒng)與流程

      文檔序號:11133858閱讀:506來源:國知局
      用于向持久性存儲器多播數(shù)據(jù)的方法和系統(tǒng)與制造工藝

      本申請要求2015年5月19日提交的美國臨時專利申請序號62/163,754的優(yōu)先權(quán)。美國臨時專利申請序號62/163,754被整體地通過引用結(jié)合到本文中。



      背景技術(shù):

      系統(tǒng)可以向持久性儲存器寫入數(shù)據(jù)和從持久性儲存器讀取數(shù)據(jù)的速度常常是系統(tǒng)的總體性能中的關(guān)鍵因素。向持久性存儲系統(tǒng)傳入數(shù)據(jù)和從其傳出數(shù)據(jù)的傳統(tǒng)方法要求通過在客戶端系統(tǒng)和持久性存儲系統(tǒng)兩者上多層的軟件、固件以及硬件來進(jìn)行處理。如果存儲系統(tǒng)希望針對客戶端數(shù)據(jù)提供增加的抗錯性,則由存儲系統(tǒng)創(chuàng)建被寫入數(shù)據(jù)的多個拷貝。結(jié)果,引發(fā)超過向底層存儲介質(zhì)寫入一次以便實現(xiàn)增加的靈活性所需的等待時間的額外等待時間。

      附圖說明

      圖1示出了根據(jù)本技術(shù)的一個或多個實施方式的示例性系統(tǒng)。

      圖2示出了根據(jù)本技術(shù)的一個或多個實施方式的示例性存儲設(shè)備。

      圖3A—3C示出了根據(jù)本技術(shù)的一個或多個實施方式的用于將數(shù)據(jù)存儲在安全(vaulted)存儲器中的方法。

      圖4A—4B示出了根據(jù)本技術(shù)的一個或多個實施方式的示例。

      具體實施方式

      現(xiàn)在將參考附圖來詳細(xì)地描述本技術(shù)的特定實施方式。為了一致性起見用相同的參考標(biāo)號來表示各種圖中的相同元件。

      在本技術(shù)的實施方式的以下詳細(xì)描述中,闡述了許多特定細(xì)節(jié)以便提供本技術(shù)的更透徹理解。然而,對于本領(lǐng)域的技術(shù)人員而言將顯而易見的是可在沒有這些特定細(xì)節(jié)的情況下實施本技術(shù)。在其它情況下,并未詳細(xì)地描述眾所周 知的特征以避免不必要地使本描述變得復(fù)雜。

      遍及本申請,可使用序數(shù)(例如,第一、第二、第三等)作為用于元件(例如,本申請中的任何名詞)的形容詞。序數(shù)的使用并不暗示或產(chǎn)生元件的任何特定排序,也不使任何元件局限于僅單個元件,除非另外明確地公開,諸如通過使用術(shù)語“之前”、“之后”、“單個”及其它此類術(shù)語。相反地,序數(shù)的使用是為了對元件進(jìn)行區(qū)別。舉例來說,第一元件不同于第二元件,并且第一元件可包含超過一個元件并且在元件排序中在第二元件后面(或前面)。

      一般地,本技術(shù)的實施方式涉及用于在不犧牲等待時間的情況下用多個拷貝向持久性儲存器寫入數(shù)據(jù)以實現(xiàn)可靠性并適應(yīng)于物理存儲配置的改變的方法和系統(tǒng)。更具體地,本技術(shù)的實施方式涉及使用多播來向一組存儲模塊中的持久性存儲器段寫入數(shù)據(jù)。此外,本技術(shù)的實施方式考慮到存儲模塊的當(dāng)前狀態(tài)以便動態(tài)地選擇適當(dāng)?shù)亩嗖ヅ渲谩?/p>

      更具體地,本技術(shù)的實施方式涉及創(chuàng)建一組預(yù)定義多播地址群,其中,該預(yù)定義多播地址群中的每一個使得能夠?qū)?shù)據(jù)的至少兩個拷貝寫入到持久性儲存器中的不同位置。該組預(yù)定義多播地址群被創(chuàng)建成使得數(shù)據(jù)的至少兩個拷貝可被寫入到持久性儲存器,即使當(dāng)各種存儲設(shè)備不存在或者不可用于存儲數(shù)據(jù)時。此外,從該組預(yù)定義多播地址群中選擇特定的預(yù)定義多播地址群是基于持久性儲存器的當(dāng)前狀態(tài)(即,哪些存儲設(shè)備可用于存儲數(shù)據(jù))。以這種方式,本技術(shù)的實施方式使得能夠與關(guān)于持久性儲存器的狀態(tài)的信息組合使用一組預(yù)定義多播地址群來實現(xiàn)I/O結(jié)構(gòu)的動態(tài)多播實施方式。換言之,本技術(shù)的實施方式與持久性儲存器的狀態(tài)相組合地使用一組預(yù)定義多播地址群,以便動態(tài)地確定將在哪里將數(shù)據(jù)的所述至少兩個拷貝寫入到持久性儲存器中。

      本技術(shù)的實施方式可使得存儲裝置能夠響應(yīng)于來自客戶端的寫請求而高效地存儲數(shù)據(jù)的多個拷貝??赏ㄟ^使用已經(jīng)用多播地址群(也稱為預(yù)定義多播地址群)預(yù)配置的IO結(jié)構(gòu)將數(shù)據(jù)寫入到存儲器位置(而不是直接地到固態(tài)儲存器)來實現(xiàn)效率(或低等待時間)。在本技術(shù)的一個實施方式中,單獨多播地址群的配置在I/O結(jié)構(gòu)的操作期間可不改變。換言之,一旦多播地址群被配置且I/O結(jié)構(gòu)正在使用多播地址群來服務(wù)請求,則多播地址群的配置不能改變,除非I/O結(jié)構(gòu)在特定多播地址群被重配置的同時中止對其的使用。

      圖1示出了根據(jù)本技術(shù)的一個或多個實施方式的示例性系統(tǒng)。該系統(tǒng)包括 被操作連接到一個或多個存儲裝置102的一個或多個客戶端100。下面描述這些部件中的每一個。

      在本技術(shù)的一個實施方式中,每個客戶端100是物理設(shè)備,其包括處理器(或另一類型的處理部件)、存儲器以及用以使得其能夠連接到存儲裝置中的輸入/輸出(IO)結(jié)構(gòu)104的物理接口。每個客戶端可經(jīng)由客戶端與IO結(jié)構(gòu)之間的鏈路(即,物理連接)而連接到IO結(jié)構(gòu)。

      此外,每個客戶端可包括用以實現(xiàn)通信協(xié)議(或其各部分)的功能以便實現(xiàn)本技術(shù)的一個或多個實施方式。更具體地,每個客戶端可包括用以向存儲裝置發(fā)送(使用通信協(xié)議)請求和/或數(shù)據(jù)和/或從存儲裝置接收(使用通信協(xié)議)響應(yīng)和/或數(shù)據(jù)的功能。

      在本技術(shù)的一個實施方式中,客戶端100被配置成使用以下通信協(xié)議中的一個或多個來與存儲裝置102通信:外圍部件互連(PCI)、快速PCI(PCIe)、擴(kuò)展PCI(PCI-X)、快速非易失性存儲器(NVMe)、通過快速PCI結(jié)構(gòu)的快速非易失性存儲器(NVMe)、通過以太網(wǎng)結(jié)構(gòu)的快速非易失性存儲器(NVMe)以及通過Infiniband結(jié)構(gòu)的快速非易失性存儲器(NVMe)。本領(lǐng)域的技術(shù)人員將認(rèn)識到本技術(shù)不限于上述協(xié)議。

      在本技術(shù)的一個實施方式中,存儲裝置102包括IO結(jié)構(gòu)104、處理器106、存儲器108以及持久性儲存器110。下面描述這些部件中的每一個。

      在本技術(shù)的一個實施方式中,IO結(jié)構(gòu)104是提供客戶端與存儲裝置102中的各種部件之間的物理連接的一個或多個物理部件。例如,如圖1中所示,IO結(jié)構(gòu)在物理上連接到處理器106和持久性儲存器110(或者更具體地到位于其中的存儲設(shè)備114A、114N)。

      此外,IO結(jié)構(gòu)包括用以實現(xiàn)多播(參見例如圖3A—3C)的功能。更具體地,在本技術(shù)的一個或多個實施方式中,IO結(jié)構(gòu)可包括以下功能(i)接收包括數(shù)據(jù)和物理地址的IO交易;(ii)確定物理地址是多播地址群的一部分;以及(iii)基于在(ii)中進(jìn)行的確定,執(zhí)行多播寫入(即,發(fā)起數(shù)據(jù)的拷貝到存儲裝置內(nèi)的兩個或更多存儲器位置(下面描述)的寫入)(參見例如圖3B和3C)。

      在本技術(shù)的一個實施方式中,IO結(jié)構(gòu)是PCIe結(jié)構(gòu),諸如在美國專利申請序號14/224,846中描述的PCIe結(jié)構(gòu),該專利申請被整體地通過引用結(jié)合到本 文中。雖然可將IO結(jié)構(gòu)實現(xiàn)為PCIe結(jié)構(gòu),但可使用已使用其它通信協(xié)議實現(xiàn)的IO結(jié)構(gòu)和/或包括與在美國專利申請序號14/224,846中描述的PCIe結(jié)構(gòu)不同的結(jié)構(gòu)的I/O結(jié)構(gòu)來實現(xiàn)本技術(shù)。

      在本技術(shù)的一個實施方式中,客戶端處理器106是具有被配置成執(zhí)行指令的單核或多核的一組電子電路。在本技術(shù)的一個實施方式中,可使用復(fù)雜指令集(CISC)架構(gòu)或精簡指令集(RISC)架構(gòu)來實現(xiàn)處理器。處理器可包括根復(fù)合體(由PCIe協(xié)議定義)。在這種情況下,存儲器108可經(jīng)由根復(fù)合體連接到處理器。替換地,存儲器108可使用另一連接機(jī)制直接地連接到處理器。在本技術(shù)的一個實施方式中,存儲器108對應(yīng)于任何易失性存儲器,包括但不限于動態(tài)隨機(jī)存取存儲器(DRAM)、同步DRAM、SDR SDRAM以及DDR SDRAM。

      在本技術(shù)的一個實施方式中,持久性儲存器110包括每個被配置成用以存儲數(shù)據(jù)的兩個或更多存儲設(shè)備114A、114N??蓪⒋鎯υO(shè)備分組成切片112A、112M,其中,每個切片包括至少兩個存儲設(shè)備。此外,每個存儲設(shè)備可僅與單個切片相關(guān)聯(lián)。在本技術(shù)的一個實施方式中,IO結(jié)構(gòu)包括一個或多個交換機(jī)(未示出),其中,每個交換機(jī)包括一組物理端口和用以在一個物理端口上接收請求和/或數(shù)據(jù)并將請求和/或數(shù)據(jù)路由到一個或多個其它物理端口的功能。在這種情況下,與給定切片相關(guān)聯(lián)的所有存儲設(shè)備經(jīng)由該組端口中的一個端口連接到同一交換機(jī)。換言之,每個切片可存在一個交換機(jī),并且連接到交換機(jī)的所有存儲設(shè)備與同一切片相關(guān)聯(lián)。下面在圖2中提供關(guān)于存儲設(shè)備的附加細(xì)節(jié)。

      圖2示出了根據(jù)本技術(shù)的一個或多個實施方式的示例性存儲設(shè)備。存儲設(shè)備200可包括存儲設(shè)備控制器202、安全存儲器206、固態(tài)儲存器204以及電容器210。下面描述這些部件中的每一個。

      在本技術(shù)的一個實施方式中,存儲設(shè)備控制器202被配置成從IO結(jié)構(gòu)接收請求和/或數(shù)據(jù)。此外,存儲設(shè)備控制器被配置成將數(shù)據(jù)接收到存儲器中,該存儲器是持久性的或者借助于安全化(vaulting)到固態(tài)儲存器中而持續(xù)。存儲設(shè)備控制器還可被配置成從持久性存儲器和/或固態(tài)儲存器讀取數(shù)據(jù)并向存儲系統(tǒng)中的其它部件提供數(shù)據(jù)。

      在本技術(shù)的一個實施方式中,安全存儲器206在邏輯上或在物理上被劃分成兩個或更多安全存儲器段208A、208P,其中,每個安全存儲器段與安全存 儲器段ID相關(guān)聯(lián)。安全存儲器段被用作向存儲裝置(參見圖3A—3C)寫入數(shù)據(jù)時的寫路徑的一部分。在本技術(shù)的一個實施方式中,存儲設(shè)備控制器202被配置成在有存儲設(shè)備中的電源故障的通知(或其中存儲設(shè)備可能斷電的任何其它事件)的情況下將安全存儲器206的全部內(nèi)容寫出到固態(tài)儲存器204。更具體地,存儲設(shè)備控制器被配置成在電源故障通知的時間與存儲設(shè)備實際斷電之間將安全存儲器的全部內(nèi)容寫入到固態(tài)儲存器204。在本技術(shù)的一個實施方式中,電容器210尺寸被確定成使得其可以向存儲設(shè)備200放出充分的電量,以便安全存儲器中的所有數(shù)據(jù)都被寫入到固態(tài)儲存器。

      在本技術(shù)的一個實施方式中,固態(tài)儲存器204對應(yīng)于使用固態(tài)存儲器來存儲持久性數(shù)據(jù)的任何數(shù)據(jù)存儲設(shè)備。在本技術(shù)的一個實施方式中,固態(tài)存儲器可包括但不限于NAND閃存、NOR閃存、磁性RAM存儲器(M-RAM)、自旋扭曲磁性RAM存儲器(ST-MRAM)、相變存儲器(PCM)、憶阻存儲器或被定義為非易失性存儲級存儲器(SCM)的任何其它存儲器。本領(lǐng)域的技術(shù)人員將認(rèn)識到本技術(shù)的實施方式不限于存儲級存儲器。

      圖3A—3C示出了根據(jù)本技術(shù)的一個或多個實施方式的用于將數(shù)據(jù)存儲在安全存儲器中的方法。雖然連續(xù)地提出并描述了流程圖中的各種步驟,但本領(lǐng)域的技術(shù)人員將認(rèn)識到某些或所有步驟可按照不同順序執(zhí)行,可被組合或省略,并且某些或所有步驟可并行地執(zhí)行。

      更具體地,在本技術(shù)的一個或多個實施方式中,存儲裝置被配置成響應(yīng)于來自客戶端的寫請求而存儲數(shù)據(jù)的至少兩個拷貝。存儲裝置可使用多播以便存儲數(shù)據(jù)的多個拷貝。在這種情況下,可用一個或多個多播地址群來預(yù)配置IO結(jié)構(gòu),并且存儲裝置可包括用以選擇多播地址群內(nèi)的物理地址且然后使用所選的物理地址來將數(shù)據(jù)存儲在持久性儲存器中的功能。轉(zhuǎn)到圖3A—3C,圖3A示出了用于確定用以向持久性儲存器寫入數(shù)據(jù)的物理地址的方法。圖3B和3C示出了用于使用上述物理地址以便將數(shù)據(jù)寫入到持久性儲存器的各種方法。

      轉(zhuǎn)到圖3A,在步驟300中,由存儲裝置從客戶端接收寫請求。寫請求可包括存儲在客戶端中的數(shù)據(jù)的邏輯地址。寫請求還可包括數(shù)據(jù)本身。在本技術(shù)的一個實施方式中,邏輯地址是從客戶端的觀點出發(fā)數(shù)據(jù)看起來常駐于該處的地址。在本技術(shù)的一個實施方式中,邏輯地址是(或包括)通過對n元組應(yīng)用散列函數(shù)(例如SHA-1、MD-5等)而生成的散列值,其中,n元組是<對象 ID,偏移>。在此類實施方式中,對象ID可識別文件,并且偏移指定相對于文件的起始地址的位置。在本技術(shù)的另一實施方式中,n元組是<對象ID,偏移,產(chǎn)生時間>,其中,產(chǎn)生時間對應(yīng)于文件(使用對象ID識別)被創(chuàng)建時的時間。替換地,邏輯地址可包括邏輯對象ID和邏輯字節(jié)地址或者邏輯對象ID和邏輯地址偏移。在本技術(shù)的另一實施方式中,邏輯地址包括對象ID和偏移。本領(lǐng)域的技術(shù)人員將認(rèn)識到邏輯地址不限于上述實施方式。

      繼續(xù)圖3A的討論,在步驟302中,目標(biāo)存儲設(shè)備(SD)選自當(dāng)前在持久性儲存器中可用的存儲設(shè)備組。當(dāng)存儲裝置能夠從SD讀取數(shù)據(jù)和向其寫入數(shù)據(jù)時,可將SD視為可用。因此,雖然SD可在物理上存在于存儲裝置中,但如果存在阻止SD服務(wù)讀請求和寫請求的另一問題,則SD可能不一定可用。存儲裝置可跟蹤存儲裝置中的哪些SD可用。

      在步驟304中,一旦選擇了目標(biāo)SD,則識別目標(biāo)SD位于其中的切片(參見例如圖1)。存儲裝置可使用SD-切片映射來識別目標(biāo)SD存在于其中的切片。例如,目標(biāo)SD可以是(36個中的)SD號7,并且基于SD-切片映射,其可位于(切片0至5中的)切片號1中。

      在步驟306中,確定在步驟304中識別的切片內(nèi)的目標(biāo)SD的邏輯SD索引。例如,如果目標(biāo)SD是SD號7且目標(biāo)SD位于其中的切片包括以下SD:5、7—9以及14—15,則用于該切片的邏輯SD索引是2(其中,可能的邏輯SD索引被編號為1—6)。

      在步驟308中,獲得壞SD映射。壞SD映射可以是用于切片(即,在步驟304中識別的切片)的壞SD映射、用于包括在步驟304中識別的切片的一組切片的壞SD映射或者用于存儲裝置中的所有切片的壞SD映射。無論壞SD映射的范圍如何,壞SD映射指定在至少在步驟304中識別的切片中的SD的可用性。例如,如果該切片包括SD:5、7—9以及14—15并且SD 5和8不可用,則壞SD映射可以是<011011>,其中,0指示SD(用邏輯SD索引引用)不可用,并且1指示SD(用邏輯SD索引引用)可用。在不脫離本技術(shù)的情況下可使用壞SD映射的其它表示(即,并非位圖的表示)。

      在步驟310中,使用邏輯SD索引(在步驟306中獲得)和在步驟308中獲得的壞SD映射來確定安全存儲器段ID。更具體地,在本技術(shù)的一個實施方式中,使用壞SD映射和邏輯SD索引來確定多播地址群ID(MC GID),其 中,MC GID與至少一個安全存儲器段ID相關(guān)聯(lián)。一旦已識別了MC GID,則使用邏輯SD索引來識別與MC GID相關(guān)聯(lián)的安全存儲器段ID。

      下面描述根據(jù)本技術(shù)的一個或多個實施方式的識別安全存儲器段ID的一個示例。本示例并不意圖限制本技術(shù)。

      考慮其中邏輯SD索引是2且壞SD映射是<001011>的情形??墒褂蒙鲜鲂畔⒑捅?來確定安全存儲器段ID。

      表1:安全存儲器段ID選擇表

      繼續(xù)上述示例,使用邏輯SD索引(即,2)和壞SD映射(即,<001011>)來識別MC GID=G1。更具體地,可首先使用邏輯SD索引來將MC GID從G0—G7縮窄至G0—G3。然后可使用壞SD映射(或壞SD映射中的至少前三位)來從該組G0—G3中識別G1。一旦已識別了G1,則使用邏輯SD索引來將V1識別為安全存儲器段ID。

      在步驟312中,基于在步驟310中識別的安全存儲器段ID來確定多播地址群(其指定一定范圍的物理地址)。更具體地,在本技術(shù)的一個實施方式中, 使用邏輯SD索引和安全存儲器段ID的組合來識別多播地址范圍。在本技術(shù)的一個實施方式中,已在IO結(jié)構(gòu)內(nèi)預(yù)配置多播地址群以便使得能夠?qū)崿F(xiàn)數(shù)據(jù)到與邏輯SD索引相關(guān)聯(lián)的SD中的所選安全存儲器段的寫入和數(shù)據(jù)的拷貝到與在步驟302中選擇的SD相同的切片內(nèi)的不同SD中的另一安全存儲器段的寫入。

      下面描述根據(jù)本技術(shù)的一個或多個實施方式的識別多播地址群的一個示例。本示例并不意圖限制本技術(shù)。

      考慮其中安全存儲器段ID是V1且邏輯SD索引是2的情形??墒褂蒙鲜鲂畔⒑捅?來確定多播地址群。表2提供安全存儲器段ID與多播地址群之間的映射。作為此映射的一部分,表2示出了如何在存儲裝置內(nèi)鏡像數(shù)據(jù)。例如,如果V0是安全存儲器段ID,則數(shù)據(jù)的一個拷貝被存儲在使用邏輯SD索引1識別的SD中的安全存儲器中,并且數(shù)據(jù)的第二拷貝被存儲在使用邏輯索引2識別的SD中的安全存儲器中。

      表2:多播地址群選擇表

      使用上述表格,使用安全存儲器段ID來選擇一個或多個行。如果使用安全存儲器段ID識別到超過一行,則使用邏輯SD索引來識別上述表中的適當(dāng)行。在本示例中,安全存儲器段ID是V1,并且因此,僅存在一行與V1相關(guān)聯(lián)。然而,存在與V1相關(guān)聯(lián)的兩個可能多播地址群—G1和G3。如果所有SD都 可用(使用壞SD映射來確定),則選擇G3作為多播地址群。然而,如果所有SD都不可用,則選擇多播地址群G1。在本示例中,由于所有SD都不可用,則選擇G1作為多播地址群。

      雖然表2示出了來自客戶端的數(shù)據(jù)的鏡像,但可將本技術(shù)實現(xiàn)成包括將數(shù)據(jù)的超過兩個拷貝寫入到持久性儲存器。

      繼續(xù)圖3A的討論,在步驟314中,選擇與所選多播地址群相關(guān)聯(lián)的地址范圍內(nèi)的物理地址。

      在此階段,已確定物理地址。然后可使用各種方法來使用上述多播地址向持久性儲存器寫入數(shù)據(jù)。圖3B和3C示出了用于使用多播地址的兩個示例性方法。在不脫離本技術(shù)的情況下,可實現(xiàn)其它方法(除圖3B和3C中所示的方法之外)以將數(shù)據(jù)寫入到持久性儲存器。

      轉(zhuǎn)到圖3B,圖3B描述了其中首先將數(shù)據(jù)存儲在存儲裝置的存儲器(參見例如圖1,108)中且然后處理器(參見例如圖1,106)發(fā)起數(shù)據(jù)到持久性儲存器的寫入的情形。更具體地,在步驟320中,存儲裝置將來自客戶端的數(shù)據(jù)的拷貝存儲到其存儲器(參見例如圖1,108)中。步驟320可在步驟322之前的任何點處發(fā)生(例如,其可與圖3A中的步驟并行地發(fā)生)。在本技術(shù)的另一實施方式中,寫請求可包括數(shù)據(jù)(參見例如圖3A,步驟300),并且在這種情況下,可執(zhí)行步驟320作為步驟300的一部分。

      在步驟322中,處理器向IO結(jié)構(gòu)發(fā)布IO交易,其中,IO交易包括客戶端在其寫請求中指定的數(shù)據(jù)(參見例如圖3A,步驟300)和物理地址。IO交易可采取任何格式,并且包括用于IO結(jié)構(gòu)處理IO交易以便將數(shù)據(jù)寫入到持久性儲存器所需的任何其它內(nèi)容。在本技術(shù)的一個實施方式中,IO交易是PCIe交易。本技術(shù)不限于PCIe交易。

      在步驟324中,IO結(jié)構(gòu)接收并處理IO交易以便將數(shù)據(jù)的一個拷貝存儲在目標(biāo)SD中的安全存儲器段中并將數(shù)據(jù)的第二拷貝存儲在同一切片中的另一SD的安全存儲器中。處理IO交易可包括:(i)確定IO交易中的物理地址與多播地址群相關(guān)聯(lián),以及(ii)基于(i)中的確定,向目標(biāo)SD發(fā)布一個IO交易(參見圖3A,步驟304),并向另一SD(在圖3A中確定,步驟312)發(fā)布第二IO交易。在步驟324之后,在存儲裝置中可存在數(shù)據(jù)的三個拷貝—一個拷貝在存儲器108中,一個拷貝在目標(biāo)SD中的安全存儲器中,并且一個拷 貝在與目標(biāo)SD相同的切片中的另一SD中的安全存儲器中。

      轉(zhuǎn)到圖3C,圖3C描述了其中客戶端使用在步驟314中獲得的物理地址來生成IO交易的情形。

      在步驟330中,存儲裝置向客戶端提供物理地址。

      在步驟332中,客戶端向IO結(jié)構(gòu)發(fā)布IO交易,其中,IO交易包括來自客戶端的數(shù)據(jù)和物理地址。IO交易可采取任何格式,并且包括用于IO結(jié)構(gòu)處理IO交易以便將數(shù)據(jù)寫入到持久性儲存器所需的任何其它內(nèi)容。在本技術(shù)的一個實施方式中,IO交易是PCIe交易。本技術(shù)不限于PCIe交易。

      在步驟334中,IO結(jié)構(gòu)接收并處理IO交易以便將數(shù)據(jù)的一個拷貝存儲在存儲器中、將數(shù)據(jù)的一個拷貝存儲在目標(biāo)SD中的安全存儲器段中以及將數(shù)據(jù)的一個拷貝存儲在同一切片中的另一SD的安全存儲器中。處理IO交易可包括:(i)確定IO交易中的物理地址與多播地址群相關(guān)聯(lián),以及(ii)基于(i)中的確定,向目標(biāo)SD發(fā)布一個IO交易(參見圖3A,步驟304),向另一SD(在圖3A中確定,步驟312)發(fā)布第二IO交易,并向處理器發(fā)布第三IO交易。在步驟324之后,在存儲裝置中可存在數(shù)據(jù)的三個拷貝—一個拷貝在存儲器108中,一個拷貝在目標(biāo)SD中的安全存儲器中,并且一個拷貝在與目標(biāo)SD相同的切片中的另一SD中的安全存儲器中。

      無論是否實現(xiàn)圖3B或3C以將數(shù)據(jù)存儲在持久性儲存器內(nèi),在某個稍后的時間點處,安全存儲器中的數(shù)據(jù)的每個拷貝被存儲在安全存儲器位于其中的SD的固態(tài)儲存器中。

      圖4A—4B示出了根據(jù)本技術(shù)的一個或多個實施方式的示例。本技術(shù)不限于上述示例。

      轉(zhuǎn)到圖4A,考慮其中存儲裝置包括多個切片的情形,其中切片1包括SD 1、SD 2和SD 3(參見圖4A)。此外,切片1中的上述SD的邏輯SD索引分別地是1、2和3。

      在本示例中,假設(shè)客戶端向存儲裝置發(fā)送寫請求。響應(yīng)于該請求,存儲裝置選擇SD 1作為目標(biāo)SD。基于此信息,用于SD 1的邏輯SD索引是1。存儲裝置隨后獲得用于切片1的以下壞SD映射:<110>。使用邏輯SD索引和壞SD映射來使用表1(上文)將G0識別為MC GID。使用MC GID以及邏輯SD索引和表1來將V0識別為安全存儲器段ID。

      使用安全存儲器段ID(V0)以及壞SD映射和表2來將G1識別為多播地址群。如表2中所示,G1(或者更具體地,G1內(nèi)的物理地址)的使用將導(dǎo)致數(shù)據(jù)的拷貝被存儲在與SD 1中的安全存儲器段ID V0相關(guān)聯(lián)的安全存儲器段中,并且數(shù)據(jù)的另一拷貝被存儲在與SD 2中的安全存儲器段ID V0相關(guān)聯(lián)的安全存儲器段中(參見圖4A)。

      轉(zhuǎn)到圖4B,考慮其中存儲裝置包括多個切片的情形,其中切片1包括SD1、SD 2和SD 3(參見圖4B)。此外,切片1中的上述SD的邏輯SD索引分別地是1、2和3。

      在本示例中,假設(shè)客戶端向存儲裝置發(fā)送寫請求。響應(yīng)于該請求,存儲裝置選擇SD 1作為目標(biāo)SD?;诖诵畔?,用于SD 1的邏輯SD索引是1。存儲裝置隨后獲得用于切片1的以下壞SD映射:<101>。使用邏輯SD索引和壞SD映射來使用表1(上文)將G2識別為MC GID。使用MC GID以及邏輯SD索引和表1來將V3識別為安全存儲器段ID。

      使用安全存儲器段ID(V3)以及壞SD映射和表2來將G2識別為多播地址群。如表2中所示,G2(或者更具體地,G2內(nèi)的物理地址)的使用將導(dǎo)致數(shù)據(jù)的拷貝被存儲在與SD 1中的安全存儲器段ID V3相關(guān)聯(lián)的安全存儲器段中,并且數(shù)據(jù)的另一拷貝被存儲在與SD 3中的安全存儲器段ID V3相關(guān)聯(lián)的安全存儲器段中(參見圖4B)。

      可將用以執(zhí)行本技術(shù)的實施方式的計算機(jī)可讀程序代碼形式的軟件指令整體地或部分地、臨時地或永久地存儲在非臨時計算機(jī)可讀介質(zhì)上,諸如CD、DVD、存儲設(shè)備、磁盤、磁帶、閃存、物理存儲器或任何其它計算機(jī)可讀存儲介質(zhì)。更具體地,該軟件指令可對應(yīng)于計算機(jī)可讀程序代碼,其在被處理器執(zhí)行時被配置成執(zhí)行本技術(shù)的實施方式。

      雖然已相對于有限數(shù)目的實施方式描述了本技術(shù),但受益于本公開的本領(lǐng)域的技術(shù)人員將認(rèn)識到可以設(shè)計不脫離如在本文中公開的本技術(shù)的范圍的其它實施方式。因此,本技術(shù)的范圍將僅僅受到所附權(quán)利要求的限制。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1