亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

智能存儲器緩沖器的制造方法

文檔序號:6498741閱讀:151來源:國知局
智能存儲器緩沖器的制造方法
【專利摘要】一種示例方法涉及在第一存儲器節(jié)點(diǎn)處接收要寫在第一存儲器節(jié)點(diǎn)中的存儲器位置處的數(shù)據(jù)。所述數(shù)據(jù)從一設(shè)備接收。在第一存儲器節(jié)點(diǎn)處,從所述存儲器位置讀舊數(shù)據(jù),而不把所述舊數(shù)據(jù)發(fā)送到所述設(shè)備。把所述數(shù)據(jù)寫到所述存儲器位置。把所述數(shù)據(jù)和舊數(shù)據(jù)從第一存儲器節(jié)點(diǎn)發(fā)送到第二存儲器節(jié)點(diǎn)以便在沒有所述設(shè)備確定奇偶校驗(yàn)信息的情況下在第二存儲器節(jié)點(diǎn)中存儲奇偶校驗(yàn)信息。所述奇偶校驗(yàn)信息基于存儲在第一存儲器節(jié)點(diǎn)中的所述數(shù)據(jù)。
【專利說明】智能存儲器緩沖器
[0001]政府利益聲明
本文公開的發(fā)明在由能源部授予的、合同號DE-SC0005026下的政府支持的情況下做出。政府具有本發(fā)明中的某些權(quán)利。

【背景技術(shù)】
[0002]一些計算系統(tǒng)使用隨機(jī)存取存儲器(RAM)設(shè)備作為中間存儲裝置,以便相對快速地訪問同樣存儲在長期機(jī)電或光電大容量存儲設(shè)備(例如,磁存儲器、光學(xué)存儲器等)中的數(shù)據(jù)。這樣,通過把數(shù)據(jù)從長期大容量存儲設(shè)備拷貝到中間RAM設(shè)備,并且從RAM設(shè)備訪問數(shù)據(jù),計算系統(tǒng)可以執(zhí)行更快速的數(shù)據(jù)訪問。
[0003]長期固態(tài)存儲器設(shè)備包括非易失性隨機(jī)存取存儲器(NVRAM),諸如相變ram(PCRAM)、憶阻器和自旋轉(zhuǎn)移矩隨機(jī)存取存儲器(STT-RAM)。NVRAM設(shè)備優(yōu)于傳統(tǒng)動態(tài)隨機(jī)存取存儲器(DRAM)的優(yōu)點(diǎn)在于NVRAM設(shè)備能夠在給定集成電路(IC)管芯空間上提供比傳統(tǒng)DRAM更高的密度。然而,一些NVRAM設(shè)備缺乏在DRAM設(shè)備上可用的快速訪問速度。

【專利附圖】

【附圖說明】
[0004]圖1A是具有根據(jù)本公開的教導(dǎo)實(shí)施的智能存儲器緩沖器的示例存儲器系統(tǒng),并且圖1B是智能存儲器緩沖器的詳細(xì)框圖。
[0005]圖2是根據(jù)本公開的教導(dǎo)的使用彼此通信并且與處理器通信的隨機(jī)存取存儲器(RAM)模塊中的智能存儲器緩沖器的示例存儲器系統(tǒng)。
[0006]圖3示出可以用于實(shí)施獨(dú)立盤冗余陣列(RAID)存儲器系統(tǒng)的互連的存儲器節(jié)點(diǎn)和處理器的示例系統(tǒng)。
[0007]圖4是用于與圖3的存儲器節(jié)點(diǎn)一起使用以實(shí)施示例RAID存儲器系統(tǒng)的示例RAID數(shù)據(jù)存儲組織。
[0008]圖5是互連的存儲器節(jié)點(diǎn)和處理器的存儲器系統(tǒng)中的現(xiàn)有技術(shù)寫過程。
[0009]圖6是根據(jù)本公開教導(dǎo)的互連的存儲器節(jié)點(diǎn)和處理器的存儲器系統(tǒng)中的示例寫過程。
[0010]圖7是使用圖1A和IB的智能存儲器緩沖器來從易失性RAM向非易失性RAM(NVRAM)直寫(write-through)數(shù)據(jù)的示例轉(zhuǎn)發(fā)寫過程。
[0011]圖8是在具有圖1A和IB的智能存儲器緩沖器的兩個或更多存儲器模塊之間執(zhí)行直接存儲器到存儲器轉(zhuǎn)移的示例過程。
[0012]圖9是使用圖1A和IB的智能存儲器緩沖器所實(shí)施的示例動態(tài)RAM (DRAM)緩存。
[0013]圖10是讀取跨RAID組織中若干存儲器節(jié)點(diǎn)而分布的數(shù)據(jù)的現(xiàn)有技術(shù)方式。
[0014]圖11是根據(jù)本公開的教導(dǎo)用于讀/寫跨圖3的RAID組織中若干存儲器節(jié)點(diǎn)而分布的數(shù)據(jù)的示例聚集/分散過程。

【具體實(shí)施方式】
[0015]本文中公開的示例方法、裝置和制品可以被用于使用智能存儲器緩沖器來實(shí)施存儲器系統(tǒng)。所公開的示例可以被用于在具有集成電路(IC)或固態(tài)存儲器的存儲器模塊中實(shí)施智能存儲器緩沖器。這樣的存儲器可以是易失性存儲器(諸如動態(tài)隨機(jī)存取存儲器(DRAM)設(shè)備或靜態(tài)隨機(jī)存取存儲器設(shè)備)和/或非易失性存儲器(諸如閃速設(shè)備、憶阻器設(shè)備等)。所公開的示例智能存儲器緩沖器包括存儲器控制器和智能功能性,以使存儲器模塊能夠以自主的方式執(zhí)行過程而無需在先存儲器系統(tǒng)所需要的外部處理器或設(shè)備(例如存儲器控制器)相對較高水平的干預(yù)。這樣,所公開的示例智能存儲器緩沖器使得能夠通過與在先存儲器系統(tǒng)中相比需要較少的與處理器和/或存儲器控制器的外部通信來更有效率地執(zhí)行存儲器操作。
[0016]所公開的示例智能存儲器緩沖器具有外部通信接口,所述外部通信接口被標(biāo)準(zhǔn)化以與其它存儲器模塊、處理器(例如硬件處理器)和/或存儲器控制器(例如硬件存儲器控制器)進(jìn)行通信,并且從用于智能存儲器緩沖器與共同位于相同板或芯片上的對應(yīng)存儲器IC之間的內(nèi)部通信(例如存儲器模塊內(nèi)通信)的更復(fù)雜存儲器技術(shù)特定的接口中抽象那些外部通信。這樣,由本文公開的智能存儲器緩沖器所提供的外部接口降低了使存儲器模塊與彼此和/或與在存儲器模塊中讀和/或?qū)憯?shù)據(jù)的外部設(shè)備(例如處理器和/或存儲器控制器)對接的復(fù)雜性。
[0017]在使用IC或固態(tài)存儲器的在先系統(tǒng)中,自固態(tài)存儲器外部的處理器和/或控制器在多個操作中被涉及,以使得固態(tài)存儲器執(zhí)行復(fù)雜過程。例如,當(dāng)在基于奇偶校驗(yàn)的存儲器系統(tǒng)中存儲數(shù)據(jù)時,在先系統(tǒng)的處理器或控制器向固態(tài)存儲器發(fā)出多個命令以便例如讀舊數(shù)據(jù)、寫新數(shù)據(jù)、讀舊的奇偶校驗(yàn)信息、確定新的奇偶校驗(yàn)信息和/或?qū)懶碌钠媾夹r?yàn)信息。本文公開的示例智能緩沖器被配置為:當(dāng)請求在一個或多個固態(tài)存儲器模塊中讀、寫和/或修改數(shù)據(jù)時,減小自外部處理器和/或存儲器控制器所需的總線通信的量。
[0018]本文公開的智能存儲器緩沖器被提供在具有固態(tài)存儲器設(shè)備的存儲器模塊中。在沒有自外部處理器和/或存儲器控制器的涉及的情況下和/或在與在先系統(tǒng)所需要的相比具有自外部處理器和/或存儲器控制器相對較少涉及的情況下,示例智能存儲器緩沖器執(zhí)行復(fù)雜存儲器訪問和/或存儲器管理操作。例如,在實(shí)施奇偶校驗(yàn)的存儲器模塊中,所公開的智能存儲器緩沖器可以從處理器接收單個請求或命令以便在存儲器模塊中的存儲器位置處寫數(shù)據(jù)。所公開的智能存儲器緩沖器執(zhí)行另外的操作(例如,讀舊數(shù)據(jù)和舊奇偶校驗(yàn)信息,以及確定新奇偶校驗(yàn)信息)以便在存儲器模塊中寫數(shù)據(jù)和新奇偶校驗(yàn)信息,而不需要自進(jìn)行請求的處理器的另外涉及。此外,所公開的智能存儲器緩沖器使得能夠使用彼此通信的固態(tài)存儲器模塊來實(shí)施獨(dú)立盤冗余陣列(RAID)配置。固態(tài)存儲器模塊的所公開的智能存儲器緩沖器經(jīng)由相同的外部總線彼此通信以便根據(jù)一個或多個RAID標(biāo)準(zhǔn)跨固態(tài)存儲器模塊以分布式方式來存儲數(shù)據(jù)和奇偶校驗(yàn)。
[0019]存儲器模塊在本文還稱為存儲器節(jié)點(diǎn)。在一些示例中,當(dāng)多個存儲器模塊經(jīng)由共享的總線彼此通信時,存儲器模塊被稱為存儲器系統(tǒng)的存儲器節(jié)點(diǎn)。照這樣,像存儲器模塊一樣,存儲器節(jié)點(diǎn)包括一個或多個固態(tài)存儲器設(shè)備和對應(yīng)的智能緩沖器1C,其對一個或多個固態(tài)存儲器設(shè)備執(zhí)行數(shù)據(jù)訪問和/或管理操作。根據(jù)本公開的教導(dǎo)實(shí)施的示例存儲器模塊或存儲器節(jié)點(diǎn)被示出在圖1A和IB中并且在下面被詳細(xì)描述。
[0020]所公開的在存儲器節(jié)點(diǎn)中寫數(shù)據(jù)的示例方法涉及在第一存儲器節(jié)點(diǎn)處接收要被寫在第一存儲器節(jié)點(diǎn)中的存儲器位置處的數(shù)據(jù)。在一些這樣的示例中,從請求設(shè)備接收數(shù)據(jù)。在第一存儲器節(jié)點(diǎn)處,從存儲器位置讀取舊數(shù)據(jù),而不把舊數(shù)據(jù)發(fā)送到請求設(shè)備。在一些這樣的示例中,數(shù)據(jù)然后被寫到存儲器位置,并且所述數(shù)據(jù)和舊數(shù)據(jù)從第一存儲器節(jié)點(diǎn)被發(fā)送到第二存儲器節(jié)點(diǎn)以便在不需要請求設(shè)備確定奇偶校驗(yàn)信息的情況下在第二存儲器節(jié)點(diǎn)中存儲奇偶校驗(yàn)信息。在一些這樣的示例中,奇偶校驗(yàn)信息基于存儲在第一存儲器節(jié)點(diǎn)中的數(shù)據(jù)。在一些示例中,第二存儲器節(jié)點(diǎn)至少對所述數(shù)據(jù)和舊數(shù)據(jù)執(zhí)行異或(XOR)操作以生成奇偶校驗(yàn)信息。在其它示例中,代替于把所述數(shù)據(jù)和舊數(shù)據(jù)從第一存儲器節(jié)點(diǎn)發(fā)送到第二存儲器節(jié)點(diǎn),第一存儲器節(jié)點(diǎn)對所述數(shù)據(jù)和舊數(shù)據(jù)執(zhí)行XOR操作,并且第一存儲器節(jié)點(diǎn)把XOR操作的結(jié)果發(fā)送到第二存儲器節(jié)點(diǎn)以便把奇偶校驗(yàn)信息存儲在第二存儲器節(jié)點(diǎn)中。在一些示例方法中,在第一存儲器節(jié)點(diǎn)處接收數(shù)據(jù)之后,不需要與請求設(shè)備進(jìn)行另外的通信來在存儲器位置中寫數(shù)據(jù),也不需要與請求設(shè)備進(jìn)行另外的通信來把所述數(shù)據(jù)和舊數(shù)據(jù)(或所述數(shù)據(jù)和舊數(shù)據(jù)的XOR結(jié)果)從第一存儲器節(jié)點(diǎn)發(fā)送到第二存儲器節(jié)點(diǎn)。
[0021 ] 在一些示例中,請求設(shè)備是處理器,并且第一存儲器節(jié)點(diǎn)經(jīng)由網(wǎng)絡(luò)接口與處理器和第二存儲器節(jié)點(diǎn)通信。在一些示例中,請求設(shè)備是與第一存儲器設(shè)備進(jìn)行網(wǎng)絡(luò)通信的第三存儲器節(jié)點(diǎn),并且數(shù)據(jù)是由與第三存儲器節(jié)點(diǎn)通信的處理器發(fā)起的轉(zhuǎn)發(fā)數(shù)據(jù)。
[0022]在一些示例中,所公開的示例方法還包括:響應(yīng)于節(jié)點(diǎn)到節(jié)點(diǎn)拷貝請求,把存儲在第一存儲器節(jié)點(diǎn)的存儲器位置處的數(shù)據(jù)從第一存儲器節(jié)點(diǎn)發(fā)送到第三存儲器節(jié)點(diǎn)以用于寫到第三存儲器節(jié)點(diǎn)。在一些這樣的示例中,所公開的示例方法還包括:在第一存儲器節(jié)點(diǎn)處從請求設(shè)備或自第一存儲器節(jié)點(diǎn)外部的另一請求設(shè)備接收節(jié)點(diǎn)到節(jié)點(diǎn)拷貝請求。在其它這樣的示例中,節(jié)點(diǎn)到節(jié)點(diǎn)拷貝請求是在沒有來自外部設(shè)備(例如請求設(shè)備)的干預(yù)的情況下在第一存儲器節(jié)點(diǎn)處生成的自動事件。
[0023]所公開的在聯(lián)網(wǎng)的存儲器組織中存儲數(shù)據(jù)的示例裝置包括多個DRAM模塊(或其它類型的固態(tài)存儲器模塊)。一些這樣的示例的DRAM模塊包括網(wǎng)絡(luò)接口,以把DRAM模塊與彼此通信地耦合(例如,經(jīng)由共享的外部總線),并且把至少一些DRAM模塊通信地耦合到一個或多個處理器(和/或存儲器控制器)以允許處理器訪問被存儲在任何DRAM模塊中的數(shù)據(jù)。一些這樣的示例的DRAM模塊還包括生成奇偶校驗(yàn)信息的邏輯電路,所述奇偶校驗(yàn)信息跨多個動態(tài)隨機(jī)存取存儲器模塊以分布式布置而存儲。在一些示例中,數(shù)據(jù)和奇偶校驗(yàn)跨以條帶狀布置(例如根據(jù)RAID存儲布置)的動態(tài)隨機(jī)存取存儲器模塊而被存儲。在一些示例中,動態(tài)隨機(jī)存取存儲器模塊被安裝在單個印刷電路板(PCB)上。
[0024]所公開的讀數(shù)據(jù)的示例裝置包括至少一個處理器和多個存儲器模塊,所述存儲器模塊與處理器通信并且彼此通信。在一些這樣的示例中,處理器把針對數(shù)據(jù)的請求發(fā)送到存儲器模塊中的第一個,并且數(shù)據(jù)以分布式配置被存儲在至少第一存儲器模塊和存儲器模塊的第二個中。在一些這樣的示例中,第一存儲器模塊從第一存儲器模塊的第一存儲器位置檢索數(shù)據(jù)的第一部分。在一些這樣的示例中,第二存儲器模塊從第二存儲器模塊的第二存儲器位置檢索數(shù)據(jù)的第二部分。在一些這樣的示例中,第二存儲器模塊把數(shù)據(jù)的第一和第二部分發(fā)送到處理器。
[0025]在一些示例中,第一和第二存儲器模塊是包括動態(tài)隨機(jī)存取存儲器或非易失性存儲器中至少一個的固態(tài)存儲器模塊。在一些示例中,第一和第二存儲器模塊被安裝在單個印刷電路板上。在一些示例中,第二存儲器模塊在第二存儲器模塊處從第一存儲器模塊接收數(shù)據(jù)的第一部分之后檢索數(shù)據(jù)的第二部分。在一些示例中,第二存儲器模塊在沒有接收到直接來自處理器的數(shù)據(jù)的第二部分的請求的情況下檢索數(shù)據(jù)的第二部分。
[0026]圖1A示出了經(jīng)由共享的總線14與處理器10通信的示例存儲器模塊12和112。在圖1A的圖示示例中,存儲器模塊12和112具有與對應(yīng)的存儲器設(shè)備通信的對應(yīng)的智能存儲器緩沖器。在本文所公開的示例中,一些或所有存儲器模塊(例如存儲器模塊12和112中的一個或兩者)可以被永久地裝配或安裝在計算設(shè)備中,和/或一些或所有存儲器模塊(例如存儲器模塊112和112中的一個或兩者)可以可移除地可安裝或可附接到計算設(shè)備。
[0027]圖示示例的存儲器模塊或存儲器節(jié)點(diǎn)112包括智能存儲器緩沖器100和存儲器110。在圖示示例中,智能存儲器緩沖器100使得能夠把示例存儲器模塊112置于與一個或多個其它存儲器模塊或節(jié)點(diǎn)(例如示例存儲器模塊12)通信并且與一個或多個處理器(和/或外部存儲器控制器)通信,所述一個或多個其它存儲器模塊或節(jié)點(diǎn)具有與智能存儲器緩沖器100基本類似或相同的智能存儲器緩沖器。這樣,本文公開的互連存儲器模塊的網(wǎng)絡(luò)允許處理器和/或外部存儲器控制器把復(fù)雜存儲器過程卸載到如下面描述的存儲器模塊上。
[0028]在圖示示例中,智能存儲器緩沖器100與存儲器110共同位于存儲器模塊112上。在一些示例中,使用PCB來實(shí)施存儲器模塊112,并且智能存儲器緩沖器100與存儲器110一起安裝在PCB上。在其它示例中,使用三維(3D)堆疊芯片封裝來實(shí)施存儲器模塊112,其中,實(shí)施智能存儲器緩沖器100的IC設(shè)備和實(shí)施存儲器110的IC設(shè)備在具有其間物理芯片內(nèi)互連并且具有到網(wǎng)絡(luò)接口 102的外部連接的芯片中堆疊在彼此頂部。
[0029]圖1B是根據(jù)本公開的教導(dǎo)實(shí)施的智能存儲器緩沖器100的詳細(xì)框圖。在圖1B的圖示示例中,智能存儲器緩沖器包括示例網(wǎng)絡(luò)接口 102、示例控制邏輯104(例如邏輯電路)、示例緩沖器106和示例存儲器接口 108。雖然圖1B圖示了實(shí)施智能存儲器緩沖器100的示例方式,但是圖1B中圖示的元件、過程和/或設(shè)備中的一個或多個可以組合、劃分、重新布置、省略、消除和/或以任何其它方式實(shí)施。另外,網(wǎng)絡(luò)接口 102、控制邏輯104、緩沖器106或存儲器接口 108和/或更一般地,圖1的示例智能存儲器緩沖器100可以由硬件、軟件、固件和/或硬件、軟件和/或固件的任何組合來實(shí)施。因此,例如,網(wǎng)絡(luò)接口 102、控制邏輯104、緩沖器106和存儲器接口 108中的任一個和/或更一般地,示例智能存儲器緩沖器100可以由一個或多個電路、(多個)可編程處理器、(多個)專用集成電路((多個)ASIC)、(多個)可編程邏輯設(shè)備((多個)PLD)和/或(多個)現(xiàn)場可編程邏輯設(shè)備((多個)FPLD)等來實(shí)施。當(dāng)本專利的裝置或系統(tǒng)權(quán)利要求中任一個被讀成覆蓋純軟件和/或固件實(shí)施方式時,網(wǎng)絡(luò)接口 102、控制邏輯104、緩沖器106或存儲器接口 108中的至少一個由此被明確地限定為包括存儲軟件和/或固件的有形計算機(jī)可讀介質(zhì),諸如RAM、只讀存儲器(ROM)、緩存等。仍另外地,附加于或替代于圖1B中圖示的那些,圖1B的示例智能存儲器緩沖器100可以包括一個或多個元件、過程和/或設(shè)備,和/或可以包括多于一個的任何或所有圖示的元件、過程和設(shè)備。
[0030]圖示示例的智能存儲器緩沖器100被提供有示例網(wǎng)絡(luò)接口 102,以將智能存儲器緩沖器100與其它存儲器模塊或存儲器節(jié)點(diǎn)的一個或多個智能存儲器緩沖器和/或與一個或多個處理器或控制器經(jīng)由共享的總線(例如圖1A的共享的總線14)通信地耦合。在圖示示例中,網(wǎng)絡(luò)接口 102被提供有網(wǎng)絡(luò)路由功能,以管理在智能存儲器緩沖器100和經(jīng)由共享的外部總線(例如圖1B的共享的總線14)連接到其的多個設(shè)備(例如,具有智能存儲器緩沖器的其它存儲器模塊和/或處理器)之間的通信。這樣,包含智能存儲器緩沖器100的存儲器模塊可以同時向一個或多個處理器或控制器提供數(shù)據(jù)服務(wù),并且能夠同時與其它存儲器模塊通信以執(zhí)行數(shù)據(jù)和/或奇偶校驗(yàn)信息的模塊到模塊(或節(jié)點(diǎn)到節(jié)點(diǎn))轉(zhuǎn)移。圖示示例的網(wǎng)絡(luò)接口 102使用網(wǎng)絡(luò)協(xié)議來仲裁和管理與其它設(shè)備的通信。不像傳統(tǒng)存儲器接口,網(wǎng)絡(luò)接口 102通過使用分組路由、網(wǎng)絡(luò)協(xié)議和仲裁方案而允許增加的總線容量。
[0031]圖示示例的智能存儲器緩沖器100被提供有控制邏輯104,以在被存儲在包含智能存儲器緩沖器100的存儲器模塊的存儲器110中的數(shù)據(jù)和/或奇偶校驗(yàn)信息上管理存儲器訪問過程和操作。圖示示例的控制邏輯104被配置為執(zhí)行復(fù)雜存儲器訪問操作(例如地址轉(zhuǎn)化、奇偶校驗(yàn)生成、錯誤校正/檢測等),其使得所連接的處理器能夠把計算密集的存儲器訪問過程卸載到智能存儲器緩沖器100上。在圖示示例中,使用邏輯電路來實(shí)施控制邏輯100。然而,軟件和/或固件可以附加地或替代地被用于實(shí)施控制邏輯104。
[0032]圖示示例的智能存儲器緩沖器100被提供有緩沖器106,以暫時地存儲經(jīng)由網(wǎng)絡(luò)接口 102接收的到來的數(shù)據(jù)和/或奇偶校驗(yàn)信息和/或暫時地存儲用于經(jīng)由網(wǎng)絡(luò)接口 102傳送到其它設(shè)備(例如,處理器、外部存儲器控制器和/或其它存儲器模塊的其它智能存儲器緩沖器)的外出數(shù)據(jù)。
[0033]圖示示例的智能存儲器緩沖器100被提供有存儲器接口 108,以把智能存儲器緩沖器100通信地耦合到存儲器110。在圖示示例中,智能存儲器緩沖器100和存儲器110共同位于相同存儲器模塊上(例如安裝在相同印刷電路板(PCB)上或堆疊在相同3D堆疊芯片中)。在圖示示例中,存儲器接口 108包括一個或多個技術(shù)特定的存儲器控制器(例如DRAM控制器、NVRAM控制器等),其根據(jù)一個或多個技術(shù)特定的工業(yè)標(biāo)準(zhǔn)存儲器接口(例如由JEDEC固態(tài)技術(shù)協(xié)會采納的存儲器接口標(biāo)準(zhǔn),諸如DRAM接口、NVRAM接口等)來實(shí)施。例如,存儲器接口 108可以包括DRAM控制器,其具有用以控制預(yù)充電定時、行地址選通(RAS)定時、列地址選通(CAS)定時、自刷新模式、突發(fā)訪問模式、低功率模式等的邏輯。
[0034]在圖示示例中,存儲器接口 108是存儲器特定的接口,其意圖促進(jìn)與存儲器模塊的板上的一個或多個特定類型的存儲器的通信,而網(wǎng)絡(luò)接口 102不特定于任何類型的存儲器技術(shù)。這樣,具有智能存儲器緩沖器(像智能存儲器緩沖器100)和具有不同類型的存儲器技術(shù)的不同存儲器模塊可以經(jīng)由它們的網(wǎng)絡(luò)接口 102彼此通信,即使它們的內(nèi)部存儲器通信依照對應(yīng)于它們相應(yīng)存儲器技術(shù)的不同類型的存儲器接口。
[0035]圖示示例的存儲器110是固態(tài)或IC存儲器設(shè)備,諸如易失性DRAM設(shè)備或非易失性RAM設(shè)備。圖示示例的智能存儲器緩沖器100使得一些存儲器模塊能夠具有易失性DRAM并且其它存儲器模塊能夠具有非易失性RAM。在一些示例中,智能存儲器緩沖器100使得能夠?qū)嵤┚哂性趩蝹€存儲器模塊上的不同類型存儲器(諸如不同類型的易失性存儲器(例如DRAM和SRAM))、在單個存儲器模塊上的不同類型非易失性存儲器(例如PCRAM和憶阻器)和/或在單個存儲器模塊上的不同類型易失性和非易失性存儲器(例如,DRAM和PCRAM、DRAM和憶阻器等)的混合存儲器模塊。在一些這樣的示例中,為了實(shí)施這樣的混合存儲器模塊,存儲器接口 108可以包括如上面所討論的多個類型的技術(shù)特定的存儲器控制器(例如DRAM控制器、PCRAM控制器、憶阻器控制器、SRAM控制器等),以使得存儲器緩沖器100能夠與相同存儲器模塊上的不同類型的存儲器技術(shù)通信。照這樣,圖示示例的智能存儲器緩沖器100使得能夠使用存儲器模塊的陣列來實(shí)施存儲器系統(tǒng),存儲器模塊的陣列具有按以下形式的不同類型的存儲器技術(shù):按從一個存儲器模塊到另一個而不同的存儲器技術(shù)的形式和/或按在單個存儲器模塊內(nèi)具有不同存儲器技術(shù)的混合存儲器模塊的形式。
[0036]圖2是具有示例存儲器模塊202a_d的示例存儲器系統(tǒng)200,示例存儲器模塊202a-d包括智能存儲器緩沖器204a-d。在圖示示例中,存儲器模塊202a_d與圖1A和IB的存儲器模塊112基本上類似或相同,并且智能存儲器緩沖器204a-d與圖1A和IB的示例智能存儲器緩沖器100基本上類似或相同。在圖示示例中,根據(jù)本公開的教導(dǎo),智能存儲器緩沖器204a_d經(jīng)由存儲器模塊間通信206a_f彼此通信并且經(jīng)由處理器-存儲器通信210a_d與處理器208a-d通信。在圖示示例中,使用與圖1的網(wǎng)絡(luò)接口 102基本上類似或相同的智能存儲器緩沖器204a-d的網(wǎng)絡(luò)接口來實(shí)施存儲器模塊間通信206a-f和處理器-存儲器通{目 210a—do
[0037]智能存儲器緩沖器204a_d使得處理器208a_d中的任何一個能夠經(jīng)由存儲器模塊間通信206a_f和處理器-存儲器通信210a_d中的一個或多個來訪問被存儲在存儲器模塊202a-d的任何一個中的信息。這樣,處理器208a-d可以共享存儲器模塊202a_d,并且通過把這樣的數(shù)據(jù)存儲在存儲器模塊202a_d的任何一個中來與彼此共享數(shù)據(jù)。
[0038]在一些示例中,存儲器模塊202a_d的網(wǎng)絡(luò)使能動態(tài)存儲器共享。例如,如果存儲器模塊202a-d通過存儲器模塊202a-d的網(wǎng)絡(luò)形成由四個處理器208a_d平等共享的總共I太字節(jié)(TB)的存儲器(例如每個處理器256吉字節(jié)(GB)),則處理器208a-d中的任一個(或在處理器208a-d之一上運(yùn)行的虛擬機(jī))可以臨時需求比256GB更多的容量。在NVRAM設(shè)備中的非易失性被用于為快速持久的存儲器中對象(諸如存儲在文件系統(tǒng)中的文件)提供存儲時,可以有利地使用存儲器空間在處理器之中的這樣的高效共享。
[0039]存儲器模塊間通信206a_f和處理器-存儲器通信210a_d表示在存儲器模塊202a-d和/或處理器208a-d之間傳送的信息的邏輯路徑,并且不一定是其之間的物理路徑。例如,智能存儲器緩沖器204a-d和處理器208a-d可以連接到共享的總線(例如圖1A的共享的總線14),并且智能存儲器緩沖器204a-d和處理器208a-d的網(wǎng)絡(luò)接口(例如圖1的網(wǎng)絡(luò)接口 102)管理和仲裁共享的總線上的通信,以使得信息可以在共享的總線上在任何一個或多個智能存儲器緩沖器204a-d和一個或多個處理器208a-d之間經(jīng)由存儲器模塊間通信206a_f和/或處理器-存儲器通信210a_d被傳送。
[0040]在圖示示例中,智能存儲器緩沖器204a_d經(jīng)由存儲器模塊202a_d上的對應(yīng)存儲器模塊內(nèi)通信214a-d與RAM設(shè)備212a_d (例如IC或固態(tài)存儲器設(shè)備)中對應(yīng)的一個通信。使用不同于由智能存儲器緩沖器204a-d的網(wǎng)絡(luò)接口(例如圖1的網(wǎng)絡(luò)接口 102)實(shí)施的存儲器模塊間通信206a_f和處理器-存儲器通信210a_d的一個或多個格式或協(xié)議來實(shí)施存儲器模塊內(nèi)通信214a-d。在圖示示例中,存儲器模塊內(nèi)通信214a-d特定于RAM設(shè)備212a_d的存儲器技術(shù)的類型。這樣,任何存儲器模塊202a-d可以經(jīng)由存儲器模塊間通信206a-f與任何其它存儲器模塊202a-d通信,而不管是否存儲器模塊202a-d在它們的RAM設(shè)備212a_d中具有相同或不同的存儲器技術(shù)并且使用不同類型的存儲器模塊內(nèi)通信214a-d。
[0041]在一些示例中,RAM設(shè)備212a_d是全部相同的存儲器技術(shù)(例如全部DRAM或全部NVRAM),以便形成同質(zhì)存儲器系統(tǒng)。在其它示例中,使用兩個或更多不同類型的存儲器技術(shù)來實(shí)施RAM設(shè)備212a-d以便形成混合存儲器系統(tǒng)。例如,一些RAM設(shè)備212a_d可以是一個或多個類型的DRAM或SRAM,并且其它RAM設(shè)備212可以是一個或多個類型的NVRAM (例如,相變ram (PCRAM)、憶阻器、自旋轉(zhuǎn)移矩隨機(jī)存取存儲器(STT-RAM)等)。在其它示例中,存儲器模塊202a-d的存儲器設(shè)備212a-d可以是除了 RAM之外的任何類型的存儲器。
[0042]使用智能存儲器緩沖器204a_d有多個優(yōu)點(diǎn)。例如,利用智能存儲器緩沖器204a_d的網(wǎng)絡(luò)接口 102,不需要針對處理器(或外部存儲器控制器)需要與其通信的每個不同類型的存儲器技術(shù)在處理器(或外部存儲器控制器)上提供存儲器技術(shù)特定的物理信道。這節(jié)省處理器芯片上的引出腳使用和引腳復(fù)用。通過在處理器的單個物理存儲器信道上運(yùn)行所有存儲器訪問業(yè)務(wù)(例如處理器-存儲器通信210a-d)而不是在處理器上運(yùn)行多個物理存儲器信道,其中一些信道在長時段內(nèi)保持空閑(在其期間連接到那些信道的存儲器不被訪問),網(wǎng)絡(luò)接口 102還改善芯片外信道帶寬的使用效率。
[0043]智能存儲器緩沖器204a_d使得能夠如下面詳細(xì)描述的那樣執(zhí)行直接存儲器到存儲器數(shù)據(jù)轉(zhuǎn)移。通過不需要處理器被涉及在對于不同存儲器模塊之間轉(zhuǎn)移數(shù)據(jù)所需的每個操作中,直接存儲器到存儲器數(shù)據(jù)轉(zhuǎn)移以多種方式改善數(shù)據(jù)訪問效率。例如,在從處理器(或外部存儲器控制器)接收到直接存儲器到存儲器轉(zhuǎn)移請求之后,一個或多個智能緩沖器204a_d可以在沒有處理器(或外部存儲器控制器)的另外干預(yù)的情況下以高效方式管理所請求的指明的存儲器模塊之間的數(shù)據(jù)轉(zhuǎn)移。這樣的數(shù)據(jù)轉(zhuǎn)移對于執(zhí)行以下是有用的:例如,針對DRAM緩存的數(shù)據(jù)塊填充/逐出、在分區(qū)的平的存儲器空間中的數(shù)據(jù)頁迀移/降級以及高性能計算系統(tǒng)(HPCS)中的檢查點(diǎn)設(shè)定。此外,直接存儲器到存儲器轉(zhuǎn)移請求使得處理器能夠訪問其它存儲器同時在存儲器模塊之間并行完成轉(zhuǎn)移。
[0044]在一些示例中,智能存儲器緩沖器204a_d被用于實(shí)施標(biāo)簽/元數(shù)據(jù)存儲和相關(guān)聯(lián)的緩存控制器用以實(shí)施DRAM緩存。由于DRAM存儲器相對于傳統(tǒng)上用于實(shí)施緩存的嵌入式SRAM的較低成本,這樣的DRAM緩存可以比在先緩存更加成本有效。
[0045]在一些示例中,除了允許處理器把存儲器訪問密集的操作卸載到智能存儲器緩沖器204a-d上之外,智能存儲器緩沖器204a-d還被提供有執(zhí)行以下各項(xiàng)中一個或多個的邏輯(例如圖1B的控制邏輯104或其一部分):數(shù)據(jù)壓縮/解壓縮、用于提供數(shù)據(jù)安全性的數(shù)據(jù)加密/解密、以及用于實(shí)施存儲器保護(hù)的錯誤校正碼(ECC)編碼/解碼。例如,當(dāng)對去往NVRAM的DRAM數(shù)據(jù)(在HPCS中)進(jìn)行檢查點(diǎn)設(shè)定時,壓縮可以減小檢查點(diǎn)存儲和時間。在先系統(tǒng)中,DRAM中的數(shù)據(jù)首先被取出到芯片上緩存,外部處理器壓縮數(shù)據(jù),并且處理器把經(jīng)壓縮的數(shù)據(jù)寫到NVRAM。然而,本文所公開的示例智能存儲器緩沖器可以被用于實(shí)施直接存儲器到存儲器轉(zhuǎn)移(如下面更詳細(xì)描述的),并且智能存儲器緩沖器可以另外被提供有壓縮邏輯,用于真時(on-the-fly)壓縮數(shù)據(jù)以使得數(shù)據(jù)不需要被外部處理器壓縮,由此節(jié)省外部處理器所需的周期以及處理器和存儲器之間總線上的總線周期。
[0046]本文公開的示例智能存儲器緩沖器還使能NVRAM中所存儲的數(shù)據(jù)的改善的安全性,以使得所存儲的數(shù)據(jù)較不易于受到惡意攻擊者的損害,即使在系統(tǒng)斷電時。例如,所公開的智能存儲器緩沖器可以被提供有解密/加密邏輯,用于實(shí)施不同的期望水平的數(shù)據(jù)安全性以允許針對不同類型的存儲器和/或不同類型的數(shù)據(jù)使用不同安全性策略。在其中存儲器模塊可移除地可附接或可安裝到計算設(shè)備的一些示例中,存儲器模塊上的解密/加密邏輯對于以下是有用的:在存儲器模塊從計算設(shè)備被移除時,保護(hù)可移除地可附接的存儲器模塊(例如即使在沒有被有效供電的情況下也使數(shù)據(jù)持久的NVRAM存儲器模塊)上的數(shù)據(jù)不遭偷竊或其它攻擊。在存儲器模塊上提供解密/加密邏輯的另一示例優(yōu)點(diǎn)是:新的、更新的或不同的(例如更強(qiáng)的)解密/加密算法可以被用戶采納,這通過購買具有解密/加密算法的新存儲器模塊,代替于需要購買具有新的、更新的或不同的解密/加密算法的新的或不同的計算設(shè)備。
[0047]在一些示例中,智能存儲器緩沖器204a_d通過允許多個處理器跨單個包封(或PCB)內(nèi)的多個存儲器模塊或跨分離的包封(或PCB)共享數(shù)據(jù)來使能在物理互連、存儲器空間使用和設(shè)備間通信情況下的效率。存儲器模塊共享還使得存儲器模塊202a_d能夠作為多端口的存儲器而操作,以便提供訪問的高可用性(針對相同或分離包封(或PCB)中的任何連接的處理器208a-d)和相對強(qiáng)的可靠性,這例如通過實(shí)施跨存儲器模塊202a-d的RAID配置。
[0048]RAID 配詈
圖3示出可以用于實(shí)施示例獨(dú)立盤冗余陣列(RAID)存儲器系統(tǒng)的互連的存儲器節(jié)點(diǎn)302 (由圓圈表不)和處理器304 (由方形表不)的不例系統(tǒng)300。在一些不例中,互連的存儲器節(jié)點(diǎn)302和處理器304的示例系統(tǒng)300被實(shí)施在單個裝置或設(shè)備上。在其它示例中,互連的存儲器節(jié)點(diǎn)302被實(shí)施在單個裝置或設(shè)備上,并且處理器304跨一個或多個其它設(shè)備而分布并且經(jīng)由跨分離的設(shè)備的設(shè)備間通信與存儲器節(jié)點(diǎn)302通信。
[0049]在圖示示例中,存儲器節(jié)點(diǎn)302與圖2的存儲器模塊202a_d基本上類似或相同,并且具有與圖1A和IB的智能存儲器緩沖器100基本上類似或相同的智能存儲器緩沖器。在一些示例中,存儲器節(jié)點(diǎn)302全都具有DRAM設(shè)備或全都具有NVRAM設(shè)備。在其它示例中,一些存儲器節(jié)點(diǎn)302具有DRAM設(shè)備并且其它存儲器節(jié)點(diǎn)302具有NVRAM設(shè)備,從而實(shí)施混合存儲器系統(tǒng)。在任何情況下,存儲器節(jié)點(diǎn)302的網(wǎng)絡(luò)接口(例如,圖1的網(wǎng)絡(luò)接口 102)把存儲器節(jié)點(diǎn)302與彼此通信地耦合,并且把至少一些存儲器節(jié)點(diǎn)通信地耦合到分離的處理器304以允許處理器304訪問被存儲在任何存儲器節(jié)點(diǎn)302中的數(shù)據(jù)。這樣,存儲器節(jié)點(diǎn)302使用存儲器模塊間通信(例如圖2的存儲器模塊間通信206a-f )來彼此通信,并且使用處理器-存儲器通信(例如圖2的處理器-存儲器通信210a-d)來與處理器304通信,如圖3中所示。此外,在存儲器節(jié)點(diǎn)302中提供的邏輯電路(例如圖1B的控制邏輯104)被用于生成奇偶校驗(yàn)信息(例如圖4中示出的奇偶校驗(yàn)值‘P’),奇偶校驗(yàn)信息以如下面結(jié)合圖4所討論的分布式布置跨多個互連的存儲器節(jié)點(diǎn)302中的至少一些而存儲。
[0050]在一些示例中,圖3中示出的在存儲器節(jié)點(diǎn)302和處理器304之間的互連是物理連接。在其它示例中,圖3中示出的互連是邏輯連接(僅示出一些邏輯連接),并且存儲器節(jié)點(diǎn)302和處理器304經(jīng)由一個物理網(wǎng)絡(luò)總線而物理連接到彼此,在所述物理網(wǎng)絡(luò)總線上安裝了所有存儲器節(jié)點(diǎn)302和處理器304。
[0051]圖4是示例RAID數(shù)據(jù)存儲組織400,用于與圖3的存儲器節(jié)點(diǎn)302 —起使用以實(shí)施示例RAID存儲器系統(tǒng)。在圖示示例中,RAID數(shù)據(jù)組織400被示出為與五個存儲器節(jié)點(diǎn)302a-e連接。在圖4的圖示示例中,數(shù)據(jù)‘A’、‘B’、‘C’和‘D’表示跨以條帶狀布置的存儲器節(jié)點(diǎn)302a_e而存儲的數(shù)據(jù),并且存儲在存儲器節(jié)點(diǎn)302a_e之一中的奇偶校驗(yàn)值‘P’表示跨同樣以條帶狀布置的其它四個存儲器節(jié)點(diǎn)302a_e而存儲的數(shù)據(jù)的奇偶校驗(yàn)。在圖示示例中,奇偶校驗(yàn)‘P’的位置是交錯的(如RAID-5系統(tǒng)中類似所做的那樣),以便在任何特定存儲器位置上不引起爭用。使用圖4的RAID組織使得每當(dāng)存儲器節(jié)點(diǎn)302a-e中的任一個故障時數(shù)據(jù)能夠被恢復(fù)。
[0052]雖然圖4中示出了五個存儲器節(jié)點(diǎn)302a_e,但是在其它示例中可以使用更少或更多的存儲器節(jié)點(diǎn)。例如,可以使用4個存儲器節(jié)點(diǎn)的集合、8個存儲器節(jié)點(diǎn)的集合和/或任何其它數(shù)量的使用本文公開的存儲器模塊的節(jié)點(diǎn)的集合來實(shí)施RAID配置。在一些示例中,RAID配置是動態(tài)的,其中可以動態(tài)地添加另外的存儲器節(jié)點(diǎn),并且存儲器節(jié)點(diǎn)中的智能存儲器緩沖器管理所存儲數(shù)據(jù)跨現(xiàn)有和新添加的存儲器節(jié)點(diǎn)的重新分布。在一些示例中,RAID配置是靜態(tài)的,其中存儲器節(jié)點(diǎn)的數(shù)量不改變。此外,雖然圖4中示出了單個奇偶校驗(yàn),但是可以替代地采用雙奇偶校驗(yàn)(如在RAID-6中類似地使用的)來提供從兩個存儲器節(jié)點(diǎn)的故障中恢復(fù)的能力。
[0053]寫討稈
圖1的示例智能存儲器緩沖器100對于實(shí)施互連的存儲器模塊(例如,圖2的存儲器模塊202a-d)的陣列是有用的,與使用在先存儲器技術(shù)可實(shí)現(xiàn)的相比,所述陣列使能相對更高效的處理器到存儲器的寫操作。
[0054]圖5示出實(shí)施基于奇偶校驗(yàn)的數(shù)據(jù)保護(hù)的存儲器系統(tǒng)500中的處理器502和存儲器節(jié)點(diǎn)504之間的現(xiàn)有技術(shù)寫過程。圖5的現(xiàn)有技術(shù)寫過程涉及處理器502相對高水平的干預(yù)或涉及,以把數(shù)據(jù)寫到存儲器節(jié)點(diǎn)504并且把奇偶校驗(yàn)寫到另一存儲器節(jié)點(diǎn)506。圖5的現(xiàn)有技術(shù)寫過程需要在四個步驟中涉及處理器502。在第一通信508中,處理器502從存儲器節(jié)點(diǎn)504讀取舊數(shù)據(jù)。在第二通信510中,處理器502把新數(shù)據(jù)寫到存儲器節(jié)點(diǎn)504。在第三通信512中,處理器502從存儲器節(jié)點(diǎn)506讀取舊的奇偶校驗(yàn)信息以使得處理器502可以生成新的奇偶校驗(yàn)信息。處理器502通過對舊數(shù)據(jù)、新數(shù)據(jù)和舊奇偶校驗(yàn)執(zhí)行異或(XOR)操作(例如,新奇偶校驗(yàn)=舊數(shù)據(jù)(XOR)新數(shù)據(jù)(XOR)舊奇偶校驗(yàn))來生成新的奇偶校驗(yàn)信息。在處理器502生成新的奇偶校驗(yàn)信息之后,處理器502在第四通信514中把新的奇偶校驗(yàn)信息寫到存儲器節(jié)點(diǎn)506。
[0055]圖6是在實(shí)施基于奇偶校驗(yàn)的數(shù)據(jù)保護(hù)的示例存儲器系統(tǒng)600中的示例處理器602和示例存儲器節(jié)點(diǎn)604之間的根據(jù)本公開教導(dǎo)的示例寫過程。圖示示例的寫過程可以結(jié)合圖3和4的RAID配置和/或結(jié)合任何其它存儲器配置而被使用。在圖6的示例寫過程中,示例存儲器節(jié)點(diǎn)604把數(shù)據(jù)寫到其存儲器,并且示例存儲器節(jié)點(diǎn)606把奇偶校驗(yàn)信息寫到其存儲器。圖示示例的示例存儲器節(jié)點(diǎn)604和606與圖1的存儲器模塊112基本類似或相同。
[0056]在圖示示例中,處理器602把單個寫請求通信608發(fā)送到存儲器節(jié)點(diǎn)604,請求把新數(shù)據(jù)寫到存儲器節(jié)點(diǎn)604中的存儲器位置。在處理器602把寫請求通信608發(fā)送到存儲器節(jié)點(diǎn)604之后,存儲器節(jié)點(diǎn)604和606在沒有處理器602另外干預(yù)的情況下處置用于寫數(shù)據(jù)和奇偶校驗(yàn)的操作。例如,存儲器節(jié)點(diǎn)604的智能存儲器緩沖器從由處理器602指定的存儲器位置讀取舊數(shù)據(jù),并且把新數(shù)據(jù)寫到所述存儲器位置(操作610)。在圖示示例中,存儲器節(jié)點(diǎn)604的智能存儲器緩沖器不把舊數(shù)據(jù)發(fā)送回到處理器602,如圖5的現(xiàn)有技術(shù)寫過程中進(jìn)行的那樣,其中存儲器節(jié)點(diǎn)504在通信508處把舊數(shù)據(jù)發(fā)送到處理器502。
[0057]存儲器節(jié)點(diǎn)604的智能存儲器緩沖器把舊數(shù)據(jù)和新數(shù)據(jù)發(fā)送到存儲器節(jié)點(diǎn)606(通信612)。在圖示示例中,存儲器節(jié)點(diǎn)604的智能存儲器緩沖器對舊數(shù)據(jù)和新數(shù)據(jù)執(zhí)行異或(XOR)操作,并且在通信612處把XOR操作的結(jié)果發(fā)送到存儲器節(jié)點(diǎn)606。在其它示例中,存儲器節(jié)點(diǎn)604的智能存儲器緩沖器不對舊數(shù)據(jù)和新數(shù)據(jù)執(zhí)行XOR操作,并且替代地,在從存儲器節(jié)點(diǎn)604接收舊數(shù)據(jù)和新數(shù)據(jù)之后,存儲器節(jié)點(diǎn)606對舊數(shù)據(jù)和新數(shù)據(jù)執(zhí)行XOR操作。存儲器節(jié)點(diǎn)606的智能存儲器緩沖器從與存儲在存儲器節(jié)點(diǎn)604中的新數(shù)據(jù)相對應(yīng)的奇偶校驗(yàn)存儲位置讀取舊奇偶校驗(yàn),并且至少基于存儲在存儲器節(jié)點(diǎn)604中的新數(shù)據(jù)確定并寫入新奇偶校驗(yàn)信息(操作614)。在圖示示例中,存儲器節(jié)點(diǎn)606不需要處理器602確定新的奇偶校驗(yàn),不像圖5的現(xiàn)有技術(shù)寫過程,其需要與處理器502的通信512和514以使得處理器502能夠確定新奇偶校驗(yàn)信息。在圖6的圖示示例中,存儲器節(jié)點(diǎn)606的智能存儲器緩沖器中的控制邏輯(例如控制邏輯104)通過對舊數(shù)據(jù)、新數(shù)據(jù)和舊奇偶校驗(yàn)執(zhí)行異或(XOR)操作來確定新奇偶校驗(yàn)信息。然而,用于確定奇偶校驗(yàn)信息的其它技術(shù)可以替代地由存儲器節(jié)點(diǎn)606使用。雖然在圖6中未示出,但是存儲器節(jié)點(diǎn)606和/或存儲器節(jié)點(diǎn)604可以向處理器602發(fā)送通信,確認(rèn)所請求的寫操作的成功完成(如果它成功完成的話)或所請求的寫操作的未成功完成(如果它未能成功完成的話)。
[0058]相對于自圖5的處理器502所需的用于實(shí)施圖5的示例現(xiàn)有技術(shù)寫過程的通信數(shù)量,圖6的示例寫過程通過需要來自處理器602的較少的通信(例如在圖6的圖示示例中僅單個通信)來實(shí)施根據(jù)本文所公開的教導(dǎo)的寫過程而使得有更高效的總線利用和更高效使用處理器資源。
[0059]轉(zhuǎn)發(fā)的寫過程
在一些示例中,存儲器節(jié)點(diǎn)可以請求另一存儲器節(jié)點(diǎn)執(zhí)行一個或多個數(shù)據(jù)寫。在一些示例中,存儲器節(jié)點(diǎn)可以響應(yīng)于接收到來自處理器(或外部存儲器控制器)的寫請求而這樣做,所述寫請求是把數(shù)據(jù)寫到目的地存儲器節(jié)點(diǎn),其不同于從處理器接收初始寫請求的存儲器節(jié)點(diǎn)。在一些示例中,存儲器節(jié)點(diǎn)可以作為DRAM緩存而操作,并且有時可以把寫請求轉(zhuǎn)發(fā)到NVRAM存儲器節(jié)點(diǎn)以便直寫數(shù)據(jù)以用于較長期存儲在NVRAM存儲器節(jié)點(diǎn)中。
[0060]圖7是使用具有智能存儲器緩沖器704a_b的存儲器模塊702a_b以從存儲器模塊702a的易失性DRAM設(shè)備706向存儲器模塊702b的NVRAM設(shè)備708直寫數(shù)據(jù)的示例轉(zhuǎn)發(fā)的寫過程。圖7的圖示示例的示例轉(zhuǎn)發(fā)的寫過程可以結(jié)合圖3和4的RAID配置和/或結(jié)合任何其它存儲器配置而被使用。圖示示例的智能存儲器緩沖器704a-b與圖1A和IB的智能存儲器緩沖器100基本類似或相同。在混合存儲器系統(tǒng)(例如圖7的DRAM和NVRAM配置)中,DRAM可以被用作硬件管理的緩存(DRAM緩存)或軟件管理的低等待時間物理存儲器區(qū)(分區(qū)的平的存儲器空間)。在圖7的圖示示例中,存儲器模塊702a是硬件管理的緩存(例如,DRAM緩存),處理器710使用其來相對快速地訪問(例如讀和/或?qū)?數(shù)據(jù),并且存儲器模塊702b是長期存儲裝置,其有時被更新以存儲來自DRAM設(shè)備706的復(fù)制數(shù)據(jù),用于較長期存儲在NVRAM設(shè)備708中。在圖示示例中,DRAM設(shè)備706中的數(shù)據(jù)是最初源自或源于處理器710處的數(shù)據(jù)(例如,處理器710把數(shù)據(jù)寫到DRAM設(shè)備706)。
[0061]在圖示示例中,處理器710在存儲器模塊704a的DRAM設(shè)備706上執(zhí)行DRAM讀和/或?qū)懖僮?。在圖示示例中,存儲器模塊702a的智能存儲器緩沖器704a把一個或多個寫請求714發(fā)送到存儲器模塊702b的智能存儲器緩沖器704b。在圖示示例中,智能存儲器緩沖器704b通過對DRAM設(shè)備中所寫的相同數(shù)據(jù)進(jìn)行寫而在NVRAM設(shè)備708中復(fù)制DRAM設(shè)備706的狀態(tài)(操作716)。
[0062]在一些示例中,智能存儲器緩沖器704a和/或智能存儲器緩沖器704b被提供有對應(yīng)的壓縮/解壓縮邏輯718a、718b和/或加密/解密邏輯720a、720b。這樣,智能存儲器緩沖器704a和/或智能存儲器緩沖器704b可以在寫到DRAM設(shè)備706和/或NVRAM設(shè)備708的數(shù)據(jù)上執(zhí)行對于實(shí)施數(shù)據(jù)安全性和/或數(shù)據(jù)壓縮特征所需的任何加密/解密和/或壓縮/解壓縮,而不需要處理器710使用其資源來執(zhí)行加密/解密和/或壓縮/解壓縮過程。壓縮/解壓縮邏輯和/或加密/解密邏輯(例如與壓縮/解壓縮邏輯718a、718b和/或加密/解密邏輯720a、720b基本類似)可以被提供給本文公開的任何示例智能存儲器緩沖器,以使得智能存儲器緩沖器能夠執(zhí)行壓縮/解壓縮過程和/或加密/解密過程,由此允許處理器把這樣的過程卸載到示例智能存儲器緩沖器。
[0063]在一些示例中,一個或多個寫請求714對應(yīng)于在存儲器模塊702a處從處理器710接收的一個或多個寫請求,以使得在智能存儲器緩沖器704a把接收自處理器710的數(shù)據(jù)寫在DRAM設(shè)備702a中之后,智能存儲器緩沖器704b把來自處理器710的具有相同數(shù)據(jù)的一個或多個寫請求轉(zhuǎn)發(fā)到智能存儲器緩沖器704b,以使得智能存儲器緩沖器704b能夠?qū)⑾嗤瑪?shù)據(jù)復(fù)制在NVRAM設(shè)備702b中用于較長期存儲。這樣,存儲器模塊702a作為快速訪問DRAM緩存而操作以用于來自處理器710的數(shù)據(jù)的即時存儲,以使得處理器710可以更快速地執(zhí)行涉及繁重數(shù)據(jù)訪問業(yè)務(wù)(例如在存儲器中存儲大文件)的過程,同時存儲器模塊702a和702b作為并行過程來處置所存儲數(shù)據(jù)到存儲器模塊702b中的復(fù)制以用于長期存儲,而不需要處理器710的干預(yù)來執(zhí)行這樣的數(shù)據(jù)復(fù)制。
[0064]在其它示例中,智能存儲器緩沖器704a可以不立即響應(yīng)于從處理器710接收的(一個或多個)寫請求而發(fā)送一個或多個寫請求通信714。代替地,智能存儲器緩沖器704a可以響應(yīng)于某個其它激勵(諸如由智能存儲器緩沖器704a的控制邏輯(例如圖1B的控制邏輯104)生成的自動事件)而發(fā)送一個或多個寫請求通信714到存儲器模塊702b。這樣,智能存儲器緩沖器704a可以在沒有自外部設(shè)備的干預(yù)(例如沒有處理器710的干預(yù))的情況下使用在智能存儲器緩沖器704a處生成的自動事件來生成節(jié)點(diǎn)到節(jié)點(diǎn)拷貝請求。自動事件可以使用定時器、計數(shù)器和/或如下那樣的任何其它激勵來生成:所述任何其它激勵生成事件,觸發(fā)智能存儲器緩沖器704a發(fā)送(一個或多個)寫請求通信714以執(zhí)行直寫過程,從而在NVRAM設(shè)備708中復(fù)制來自DRAM設(shè)備706的數(shù)據(jù)。
[0065]在一些示例中,存儲器模塊702a是圖6的存儲器節(jié)點(diǎn)604,處理器710是圖6的處理器602,并且存儲器模塊702b是圖6的示例存儲器系統(tǒng)600中的另一存儲器節(jié)點(diǎn)。在這樣的示例中,響應(yīng)于從處理器602接收到新數(shù)據(jù)和寫請求通信,存儲器節(jié)點(diǎn)702a還發(fā)送圖7的寫請求通信714到存儲器模塊702b。在這樣的示例中,存儲器模塊702b可以與如上結(jié)合圖6描述的存儲器節(jié)點(diǎn)604 —起工作,以基于在圖7的存儲器模塊702b的NVRAM設(shè)備708中復(fù)制的新數(shù)據(jù)而把新奇偶校驗(yàn)信息寫在存儲器節(jié)點(diǎn)604中。
[0066]直接存儲器到存儲器轉(zhuǎn)移
圖8是在具有智能存儲器緩沖器804b和804c的兩個存儲器模塊802b和802c之間執(zhí)行直接存儲器到存儲器轉(zhuǎn)移的示例過程。圖8的圖示示例的示例直接存儲器到存儲器轉(zhuǎn)移過程可以結(jié)合圖3和4的RAID配置和/或結(jié)合任何其它存儲器配置被使用。圖示示例的智能存儲器緩沖器804b和804c與圖1A和IB的智能存儲器緩沖器100基本上類似或相同。圖8的示例存儲器配置是在存儲器模塊802a和802b中具有DRAM設(shè)備806a和806b和存儲器模塊802c中具有NVRAM設(shè)備808的混合存儲器系統(tǒng)。
[0067]具有硬件管理的緩存(例如DRAM緩存)和/或軟件管理的低等待時間物理存儲器區(qū)(分區(qū)的平的存儲器空間)的在先混合存儲器系統(tǒng)(例如,圖8的存儲器配置)使用至/自DRAM和NVRAM的相對大數(shù)量的數(shù)據(jù)轉(zhuǎn)移(例如以執(zhí)行直寫操作、DRAM緩存中的緩存填充/逐出、和/或在分區(qū)的平的存儲器空間中的頁迀移/降級)。在先存儲器系統(tǒng)中,存儲器設(shè)備不能是存儲器總線的主導(dǎo)裝置(master)。照這樣,一些在先系統(tǒng)使用分離的存儲器控制器來從一個存儲器讀取數(shù)據(jù)塊,緩沖數(shù)據(jù)塊,然后把數(shù)據(jù)塊寫出到另一存儲器,從而執(zhí)行存儲器到存儲器轉(zhuǎn)移。這樣的現(xiàn)有技術(shù)存儲器到存儲器轉(zhuǎn)移過程的缺點(diǎn)是存儲器總線帶寬利用不良(轉(zhuǎn)移的實(shí)際數(shù)據(jù)的量是塊大小的兩倍),在塊轉(zhuǎn)移期間存儲器控制器不能使用存儲器總線來訪問其它數(shù)據(jù),并且由于頻繁的讀/寫切換,存儲器到存儲器轉(zhuǎn)移過程產(chǎn)生不良的總線利用。在較新的DRAM設(shè)備中,作為指定用于較新DRAM總線的增加的讀/寫周轉(zhuǎn)損失的結(jié)果,讀/寫切換引起較長延遲。
[0068]本文公開的示例智能存儲器緩沖器可以被用于實(shí)施直接存儲器到存儲器拷貝操作,其在來自處理器的執(zhí)行拷貝的初始請求之后需要較少或不需要處理器的干預(yù)。例如,在圖8的圖示示例中,處理器810把塊數(shù)據(jù)轉(zhuǎn)移請求812發(fā)送到存儲器模塊804b,請求把指定的一個或多個數(shù)據(jù)塊從存儲器模塊804b拷貝到存儲器模塊804c。存儲器模塊802b的智能存儲器緩沖器804b接收塊數(shù)據(jù)轉(zhuǎn)移請求812,并且智能存儲器緩沖器804b與存儲器模塊802c的智能存儲器緩沖器804c通信以便執(zhí)行所請求的(一個或多個)數(shù)據(jù)塊從DRAM設(shè)備806b到NVRAM 808的DRAM到NVRAM拷貝過程814,而沒有處理器810的另外干預(yù)。這樣,處理器810可以繼續(xù)在存儲器模塊802a中執(zhí)行其它過程(包括例如(一個或多個)DRAM訪問816)同時智能存儲器緩沖器804b和804c并行地執(zhí)行DRAM到NVRAM拷貝814。
[0069]在圖示示例中,在初始塊數(shù)據(jù)轉(zhuǎn)移請求812被處理器810發(fā)送之后,處理器810不再涉及執(zhí)行DRAM到NVRAM拷貝過程814,并且當(dāng)拷貝過程814完成時,智能存儲器緩沖器804b或智能存儲器緩沖器804c發(fā)送通信到處理器810,確認(rèn)所請求的拷貝過程成功完成。在一些示例中,如果拷貝過程814沒有成功完成,則智能存儲器緩沖器804b或智能存儲器緩沖器804c可以替代地把失敗通知傳送給處理器810。
[0070]DRAM—存
圖9是使用具有示例智能存儲器緩沖器904a和DRAM設(shè)備906的存儲器模塊902a實(shí)施的示例DRAM緩存。圖9的圖示示例的示例DRAM緩存可以結(jié)合圖3和4的RAID配置和/或結(jié)合任何其它存儲器配置被使用。示例智能存儲器緩沖器904a與圖1A和IB的智能存儲器緩沖器100基本類似。為了在圖6的圖示示例中使用DRAM設(shè)備906作為DRAM緩存,智能存儲器緩沖器904a具有附加特征(例如DRAM緩存控制器、標(biāo)簽存儲裝置和元數(shù)據(jù)存儲裝置),所述附加特征使得它能夠通過使用標(biāo)準(zhǔn)物品DRAM作為DRAM設(shè)備906來實(shí)施DRAM緩存。在一些示例中,智能存儲器緩沖器904a包括用于實(shí)施附加特征的SRAM或嵌入式DRAM(eDRAM)o
[0071]在圖示示例中,智能存儲器緩沖器904a包括DRAM緩存控制器908、用于存儲標(biāo)簽和對應(yīng)的數(shù)據(jù)或指針的元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)910、以及網(wǎng)絡(luò)接口 912 (例如與圖1的網(wǎng)絡(luò)接口102基本類似或相同)。在圖示示例中,智能存儲器緩沖器904a從處理器918 (或外部存儲器控制器(未示出))接收數(shù)據(jù)請求916。響應(yīng)于數(shù)據(jù)請求916,DRAM緩存控制器908使用存儲在元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)910中的標(biāo)簽來確定緩存命中/未命中。如果DRAM緩存控制器908確定已發(fā)生緩存命中(例如所請求的數(shù)據(jù)存儲在DRAM設(shè)備906中),則智能存儲器緩沖器904a通過基于存儲在元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)910中的對應(yīng)數(shù)據(jù)指針從DRAM設(shè)備906檢索所請求的數(shù)據(jù)來服務(wù)數(shù)據(jù)請求916。如果DRAM緩存控制器908確定請求916導(dǎo)致緩存未命中(例如,所請求數(shù)據(jù)未被存儲在DRAM設(shè)備906中),則智能存儲器緩沖器904的網(wǎng)絡(luò)接口912發(fā)送數(shù)據(jù)請求920到另一存儲器模塊。在圖9的圖示示例中,網(wǎng)絡(luò)接口 912把數(shù)據(jù)請求920發(fā)送到存儲器模塊902b以請求在數(shù)據(jù)請求916中被請求的相同數(shù)據(jù)。這樣,存儲器模塊902b的智能存儲器緩沖器904b可以把所請求數(shù)據(jù)922從NVRAM設(shè)備908發(fā)送到初始發(fā)送數(shù)據(jù)請求916的處理器918 (或外部存儲器控制器)。在圖示示例中,智能存儲器緩沖器904b通過智能存儲器緩沖器904a把所請求數(shù)據(jù)922發(fā)送到處理器918。這樣,智能存儲器緩沖器904a可以利用所請求數(shù)據(jù)922來更新DRAM設(shè)備906,并且更新元數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)910中的對應(yīng)信息。
[0072]圖9的DRAM緩存配置可以被配置為使用與處理器請求大小不同的DRAM緩存線大小。例如,雖然處理器918請求64字節(jié)數(shù)據(jù)塊,但作為DRAM緩存而操作的存儲器模塊902a可以管理更大的數(shù)據(jù)塊(例如4kB或更大)以便使用諸如扇區(qū)緩存或去耦緩存之類的技術(shù)來減少標(biāo)簽存儲開銷。此外,圖9的DRAM緩存配置不需要定制設(shè)計的DRAM,其也不需要在處理器918或外部存儲器控制器處存儲標(biāo)簽來實(shí)施DRAM緩存。
[0073]聚集/分散操作
本文公開的示例智能存儲器緩沖器還可以被用于實(shí)施存儲器系統(tǒng),所述存儲器系統(tǒng)使用聚集操作來讀取存儲在多個互連存儲器節(jié)點(diǎn)中的分布式數(shù)據(jù)和/或使用分散操作來把數(shù)據(jù)以分布式方式寫到多個互連存儲器節(jié)點(diǎn)。這樣,示例智能存儲器緩沖器使得能夠以比在先存儲器系統(tǒng)相對更多的效率來讀/寫分布式數(shù)據(jù)。
[0074]圖10是其中處理器1002可以讀取分布在RAID組織中若干存儲器節(jié)點(diǎn)1004之中的數(shù)據(jù)的現(xiàn)有技術(shù)方式。按照圖10的讀取分布式數(shù)據(jù)的現(xiàn)有技術(shù)方式,處理器1002把分離的讀請求傳送到分離的存儲器節(jié)點(diǎn)1004(例如在圖示示例中五個分離的讀請求到五個分離的存儲器節(jié)點(diǎn)1004)以讀取跨五個分離的存儲器節(jié)點(diǎn)1004分布的數(shù)據(jù)。在圖示示例中,五個分離的存儲器節(jié)點(diǎn)1004中的每個返回具有存儲在其中的所請求數(shù)據(jù)的一部分的對應(yīng)響應(yīng),導(dǎo)致處理器1002需要接收和處理五個分離的響應(yīng)。這導(dǎo)致處理器和總線資源的不良利用和不良訪問時間。
[0075]圖11是根據(jù)本公開教導(dǎo)的示例聚集/分散過程,以使得處理器304能夠讀/寫跨圖3的示例系統(tǒng)300的RAID組織中若干存儲器節(jié)點(diǎn)302分布的數(shù)據(jù)。圖示示例的存儲器節(jié)點(diǎn)302與圖1A和IB的示例存儲器模塊112基本類似或相同。
[0076]在圖示示例中,處理器304發(fā)送初始數(shù)據(jù)讀請求1102到第一存儲器節(jié)點(diǎn)302a。初始數(shù)據(jù)請求1102使得存儲器節(jié)點(diǎn)302a檢索被存儲在其存儲器設(shè)備(例如圖1A和IB的存儲器110)的存儲器位置中的所請求數(shù)據(jù)的一部分,并且把所檢索的部分?jǐn)?shù)據(jù)和數(shù)據(jù)請求轉(zhuǎn)發(fā)到第二存儲器節(jié)點(diǎn)302b。在圖11的圖示示例中,部分?jǐn)?shù)據(jù)和所轉(zhuǎn)發(fā)的數(shù)據(jù)請求由五個存儲器節(jié)點(diǎn)302a_e之間的箭頭表示。當(dāng)存儲器節(jié)點(diǎn)302b_e中的每一個從節(jié)點(diǎn)302a_d中的前一個接收到部分?jǐn)?shù)據(jù)和所轉(zhuǎn)發(fā)的數(shù)據(jù)請求時,進(jìn)行接收的存儲器節(jié)點(diǎn)302b_e從其存儲器設(shè)備中的存儲器位置檢索其所請求數(shù)據(jù)的部分,把其數(shù)據(jù)部分接合或連接(concatenate)到所接收的部分?jǐn)?shù)據(jù),并且把更新的部分?jǐn)?shù)據(jù)和所轉(zhuǎn)發(fā)的數(shù)據(jù)請求發(fā)送到存儲器節(jié)點(diǎn)302b_e中的下一個。當(dāng)聚集序列中的最后一個存儲器節(jié)點(diǎn)302e檢索了其所請求數(shù)據(jù)的部分時,它把其數(shù)據(jù)部分接合或連接到它從之前的存儲器節(jié)點(diǎn)302d接收到的部分?jǐn)?shù)據(jù)以形成所請求數(shù)據(jù)的全部。此外,存儲器節(jié)點(diǎn)302e在所請求數(shù)據(jù)響應(yīng)1104中把所請求數(shù)據(jù)的全部發(fā)送到處理器304。因此,在圖示示例中,處理器304僅需要發(fā)送出初始數(shù)據(jù)讀請求1102并且接收所請求數(shù)據(jù)響應(yīng)1104,而不需要把分離的數(shù)據(jù)請求發(fā)送到存儲器節(jié)點(diǎn)302a-e中的每一個。這樣,存儲器節(jié)點(diǎn)302b-e檢索其所請求數(shù)據(jù)的相應(yīng)部分,而不直接從處理器304接收針對這樣的數(shù)據(jù)部分的請求。
[0077]跨存儲器節(jié)點(diǎn)302a_e寫數(shù)據(jù)的數(shù)據(jù)分散序列可以被類似地實(shí)施。在這樣的示例中,處理器304發(fā)送初始數(shù)據(jù)寫請求(而不是初始數(shù)據(jù)讀請求1102)到存儲器節(jié)點(diǎn)302a,其具有要寫的數(shù)據(jù),和數(shù)據(jù)要被寫到的地址范圍。存儲器節(jié)點(diǎn)302a_e中的智能存儲器緩沖器然后使用數(shù)據(jù)寫請求中的地址范圍以基于在存儲器節(jié)點(diǎn)302a_e之間發(fā)送的所轉(zhuǎn)發(fā)的數(shù)據(jù)寫請求(例如,沿著圖11中示出的存儲器節(jié)點(diǎn)302a_e之間的箭頭的相同路徑)來確定數(shù)據(jù)的哪些部分應(yīng)當(dāng)被寫到跨存儲器節(jié)點(diǎn)302a_e中不同存儲器節(jié)點(diǎn)的哪些存儲器位置。存儲器節(jié)點(diǎn)302e然后可以發(fā)送成功或失敗的最終通信到處理器304。這樣,處理器304不需要發(fā)送分離的寫請求到分離的存儲器節(jié)點(diǎn)302a_e,而是代替地僅需要發(fā)送初始數(shù)據(jù)寫請求到存儲器節(jié)點(diǎn)302a,并且從存儲器節(jié)點(diǎn)302e接收最終成功或失敗通信。
[0078]在圖示示例中,存儲器節(jié)點(diǎn)302a_e中的智能存儲器緩沖器可以存儲映射表,映射表示出存儲器節(jié)點(diǎn)302a-e中的哪些存儲與處理器304在數(shù)據(jù)讀請求(例如初始數(shù)據(jù)請求1102)和/或數(shù)據(jù)寫請求中傳送的存儲器地址對應(yīng)的哪些地址范圍。這樣,存儲器節(jié)點(diǎn)302可以確定它們是否被指派了相關(guān)數(shù)據(jù)的地址范圍以及哪些其它存儲器節(jié)點(diǎn)302被指派了與數(shù)據(jù)讀/寫請求的不同部分相關(guān)的數(shù)據(jù)的地址范圍。
[0079]雖然圖11的示例示出了跨五個存儲器節(jié)點(diǎn)302a_e分布的數(shù)據(jù),但是圖11的聚集/分散技術(shù)可以被執(zhí)行用于跨更少或更多節(jié)點(diǎn)分布的數(shù)據(jù)。
[0080]雖然圖6-9和11的示例過程被示出和描述為彼此獨(dú)立,但是在一些示例中,圖6-9和11的示例過程中的任何一個或多個可以在使用相同和/或不同存儲器模塊或存儲器節(jié)點(diǎn)的相同存儲器系統(tǒng)上一起并行或逐一地執(zhí)行。
[0081]雖然上面公開了示例方法、裝置和制品,其除了其它組件之外包括在硬件上執(zhí)行的軟件,但是應(yīng)當(dāng)注意的是,這樣的方法、裝置和制品僅是說明性的并且不應(yīng)當(dāng)被認(rèn)為是限制性的。例如,設(shè)想了任何或所有這些硬件和軟件組件可以排他地體現(xiàn)在硬件中、排他地體現(xiàn)在軟件中、排他地體現(xiàn)在固件中或在硬件、軟件和/或固件的任意組合中。因此,雖然上面描述了示例方法、裝置和制品,但是所提供的示例不是實(shí)施這樣的方法、裝置和制品的唯一方式。因此,雖然已經(jīng)在本文描述了某些方法、裝置和制品,但是本專利的覆蓋范圍不限于此。相反地,本專利覆蓋字面上或在等同原則下清楚地落入權(quán)利要求范圍內(nèi)的所有方法、裝置和制品。
【權(quán)利要求】
1.一種用以在存儲器節(jié)點(diǎn)中寫數(shù)據(jù)的方法,包括: 在第一存儲器節(jié)點(diǎn)處接收要寫在第一存儲器節(jié)點(diǎn)中的存儲器位置處的新數(shù)據(jù),所述新數(shù)據(jù)從一設(shè)備接收; 在第一存儲器節(jié)點(diǎn)處,從所述存儲器位置讀舊數(shù)據(jù),而不把所述舊數(shù)據(jù)發(fā)送到所述設(shè)備; 在第一存儲器節(jié)點(diǎn)處,把所述新數(shù)據(jù)寫到所述存儲器位置;以及 把所述新數(shù)據(jù)和舊數(shù)據(jù)從第一存儲器節(jié)點(diǎn)發(fā)送到第二存儲器節(jié)點(diǎn)以便在沒有所述設(shè)備確定奇偶校驗(yàn)信息的情況下在第二存儲器節(jié)點(diǎn)中存儲奇偶校驗(yàn)信息,所述奇偶校驗(yàn)信息至少基于存儲在第一存儲器節(jié)點(diǎn)中的所述新數(shù)據(jù)。
2.如權(quán)利要求1中限定的方法,其中所述設(shè)備是處理器,并且第一存儲器節(jié)點(diǎn)經(jīng)由網(wǎng)絡(luò)接口與處理器和第二存儲器節(jié)點(diǎn)通信。
3.如權(quán)利要求1中限定的方法,還包括:在第一存儲器節(jié)點(diǎn)處接收到所述新數(shù)據(jù)之后,不需要與所述設(shè)備進(jìn)行另外的通信來把所述新數(shù)據(jù)寫在存儲器位置中和把所述新數(shù)據(jù)和舊數(shù)據(jù)從第一存儲器節(jié)點(diǎn)發(fā)送到第二存儲器節(jié)點(diǎn)。
4.如權(quán)利要求1中限定的方法,其中所述設(shè)備是與第一存儲器設(shè)備進(jìn)行網(wǎng)絡(luò)通信的第三存儲器節(jié)點(diǎn),所述數(shù)據(jù)是由與第三存儲器節(jié)點(diǎn)通信的處理器發(fā)起的轉(zhuǎn)發(fā)數(shù)據(jù)。
5.如權(quán)利要求1中限定的方法,還包括:響應(yīng)于節(jié)點(diǎn)到節(jié)點(diǎn)拷貝請求,把存儲在第一存儲器節(jié)點(diǎn)的存儲器位置處的所述數(shù)據(jù)從第一存儲器節(jié)點(diǎn)發(fā)送到第三存儲器節(jié)點(diǎn)以用于寫到第三存儲器節(jié)點(diǎn)。
6.如權(quán)利要求5中限定的方法,還包括:在第一存儲器節(jié)點(diǎn)處從請求設(shè)備或自第一存儲器節(jié)點(diǎn)外部的另一請求設(shè)備接收節(jié)點(diǎn)到節(jié)點(diǎn)拷貝請求。
7.如權(quán)利要求5中限定的方法,其中節(jié)點(diǎn)到節(jié)點(diǎn)拷貝請求是在沒有來自外部設(shè)備的干預(yù)的情況下在第一存儲器節(jié)點(diǎn)處生成的自動事件。
8.一種用以在聯(lián)網(wǎng)的存儲器組織中存儲數(shù)據(jù)的裝置,包括: 多個動態(tài)隨機(jī)存取存儲器模塊;和 動態(tài)隨機(jī)存取存儲器模塊上的網(wǎng)絡(luò)接口,用以通信地耦合動態(tài)隨機(jī)存取存儲器模塊,并且把至少一些動態(tài)隨機(jī)存取存儲器模塊通信地耦合到處理器以允許處理器訪問存儲在任何動態(tài)隨機(jī)存取存儲器模塊中的數(shù)據(jù);以及 在動態(tài)隨機(jī)存取存儲器模塊中的相應(yīng)動態(tài)隨機(jī)存取存儲器模塊上的邏輯電路,用以生成奇偶校驗(yàn)信息,所述奇偶校驗(yàn)信息以分布式布置跨所述多個動態(tài)隨機(jī)存取存儲器模塊而存儲。
9.如權(quán)利要求8中限定的裝置,其中所述數(shù)據(jù)和奇偶校驗(yàn)跨以條帶狀布置的動態(tài)隨機(jī)存取存儲器模塊被存儲。
10.如權(quán)利要求8中限定的裝置,其中所述動態(tài)隨機(jī)存取存儲器模塊被安裝在單個印刷電路板上。
11.一種用以讀數(shù)據(jù)的裝置,包括: 處理器;和 多個存儲器節(jié)點(diǎn),其與處理器通信并且彼此通信,處理器把針對數(shù)據(jù)的請求發(fā)送到存儲器節(jié)點(diǎn)中的第一個,所述數(shù)據(jù)以分布式配置被存儲在至少第一存儲器節(jié)點(diǎn)和存儲器節(jié)點(diǎn)的第二個中,第一存儲器節(jié)點(diǎn)從第一存儲器節(jié)點(diǎn)的第一存儲器位置檢索所述數(shù)據(jù)的第一部分,第二存儲器節(jié)點(diǎn)從第二存儲器節(jié)點(diǎn)的第二存儲器位置檢索所述數(shù)據(jù)的第二部分,并且第二存儲器節(jié)點(diǎn)把所述數(shù)據(jù)的第一和第二部分發(fā)送到處理器。
12.如權(quán)利要求11中限定的裝置,其中第一和第二存儲器節(jié)點(diǎn)是包括動態(tài)隨機(jī)存取存儲器或非易失性存儲器中至少一個的固態(tài)存儲器模塊。
13.如權(quán)利要求11中限定的裝置,其中第一和第二存儲器節(jié)點(diǎn)被安裝在單個印刷電路板上。
14.如權(quán)利要求11中限定的裝置,其中第二存儲器節(jié)點(diǎn)在第二存儲器節(jié)點(diǎn)處從第一存儲器節(jié)點(diǎn)接收所述數(shù)據(jù)的第一部分之后檢索所述數(shù)據(jù)的第二部分。
15.如權(quán)利要求11中限定的裝置,其中第二存儲器節(jié)點(diǎn)在沒有直接從處理器接收針對所述數(shù)據(jù)的第二部分的請求的情況下檢索所述數(shù)據(jù)的第二部分。
【文檔編號】G06F13/16GK104508644SQ201280075022
【公開日】2015年4月8日 申請日期:2012年10月30日 優(yōu)先權(quán)日:2012年10月30日
【發(fā)明者】H. 庸 D., 穆拉利馬諾哈 N., 常 J., 蘭加納桑 P. 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1