TW201025018A - Storage controller data redistribution - Google Patents

Storage controller data redistribution Download PDF

Info

Publication number
TW201025018A
TW201025018A TW098136747A TW98136747A TW201025018A TW 201025018 A TW201025018 A TW 201025018A TW 098136747 A TW098136747 A TW 098136747A TW 98136747 A TW98136747 A TW 98136747A TW 201025018 A TW201025018 A TW 201025018A
Authority
TW
Taiwan
Prior art keywords
data set
storage controller
module
memory
additional
Prior art date
Application number
TW098136747A
Other languages
English (en)
Inventor
John R Kloeppner
Mohamad El-Batal
Original Assignee
Lsi Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lsi Corp filed Critical Lsi Corp
Publication of TW201025018A publication Critical patent/TW201025018A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Description

201025018 六、發明說明: 【發明所屬之技術領域】 本發明-般性地關於一企業方法,軟體及/或或硬體的技 術領域,及在一具體實施例中關於儲存控制器資料的再分 配0 【先前技術】 ® -種可與額外的儲存控制器(例如雙控制器、鏡像控制 制器)共同使用以操作一儲存裝置。一儲存控制器可獲得主 機系統的資訊(例如一資料集、一 1/0寫入等等)。該資訊 可經寫入(例如儲存)於一儲存控制器記憶體(例如ram、 DRAM、和SDRAM等等)和傳輸至額外的儲存控制器。傳 輸該資料之步驟可包含以下步驟:讀取該儲存控制器記憶 體的資訊,將其通訊至該額外的儲存控制器,及將其儲存 ® 於一額外的儲存控制器記憶體。 讀取該儲存控制器的資訊之步驟可需要一記憶體頻寬使 用 功率使用、及/或該儲存控制器的一系統硬體。讀取 該資訊可產生熱,其可降低電子硬體壽命及/或需要額外的 冷卻機制(例如風扇、散熱器、熱導管、水冷卻系統等等)。 該額外的冷卻機制可新增一設備成本及/或一功率成本(例 如用於風扇的電、電的成本等等)。讀取該儲存控制器的資 訊亦可/肖耗一段時間,其可延遲一後續的儲存控制器活動 4 201025018 (例如接收及/或處理額外的資訊,通訊一寫入完成信號至 該主機系統等等)。讀取該資訊可因而產生一系統成本、引 起延遲、及/或其它無效率。 •一種用以改善該儲存控制器的效能之方法可包含以下步 驟:增加儲存控制器記憶體的數量及/或速度。新增額外的 儲存控制器記憶體,然而,會增加記憶體成本,其會造成 超出’濟效益。結果,增加額外館存控制器記憶體為耗成 ® 本的。 【發明内容】 本發明揭露儲存控制器資料再分配的方法、裝置以及處 理系統。 ❿ 態樣中這種方法包括:獲取儲存控制器的資料 集;在儲存該資料集於一儲存控制器記憶體模組之前,產 生-額外的資料集;在儲存該資料集於該儲存控制器記憶 艎模組之前,將該額外資料集通訊至一額外儲存控制器; :存:資料集於該儲存控制器記憶雜模組;以及儲存該額 外的資料集於一額外的儲存控制器記憶體模組。 二:外資料集可藉由建立一具有一相同資料有效載 =記憶體寫入封包來產生。該不同的記憶體寫入封包 可使用-心的切換來建立。傳送至該 該額外資料集可避免 廿位刺㈣ 料再八操作°該儲存控制器資 η 藉由避免-記憶體讀取操作來減少該 5 201025018 存控制器中s己憶體頻寬負载》任何數量的額外資料集 均能被產生。 Λ 該額外資料集可使用—傳輸模組經通訊JL該額外儲存控 制器。該傳輸模組可_合至該儲存控制器以及該額外的 儲存控制器。該儲存控制器資料再分配方法包括:在完成 該儲存控制器6己憶體模組中的資料集之儲存以前啟始該 額外資料集的儲存。 _ ^方法還包括了產生一個附加的資料集,將附 =的資料集it訊至附加的储存控制器’及儲存補充的資料 ^補充的儲存控制器記㈣模組中。這種方法還包括藉 _ /、、健存控制器記憶體模組之前,將額外 的資料集通訊至链々+ 卜儲存控制器,加速一個早期的寫入信 號給主控制器。資料隹^九丨k 升果(例如’資料集或者額外資料集) 可以在加速的一個早如认办 期的寫入信號傳送給主控制器之前, 求:存到兩個或者更多的儲存控制器記憶體中。早期 央香U可以藉由排除儲存控制器記憶體中的讀取操作 來實現加速,同時排除 *讀取細作還可以延遲在額外儲存控 制器記憶體中後續的窝 ^ π ^ 罵入操作。早期寫入信號還可以藉由 執行同時在多於一個 參田 的储存控制器記憶體中的寫入操作來 貫現加速,其若, 宜 刀始的寫入操作完成之後一個額外的 寫入操作可開始時係不可能的。 加速早期寫入信號可以 ..^ 乂允許減少寫入狀態的延遲來提高 主系統操作的效率。话+ # 連續工作的時間。"寫入狀態的延遲可以允許主系統 6 201025018 錯存控制器令資料辈θ 體間的再分配模組來獲;1 主機模組與儲存控制器記憶 組的館存控制器。f 法可包括含有資料再分配模 在另一態樣’儲存控制 掇纟 剌器資枓再分配系統包括一再分配 ’ 其用以獲得館存控制g的咨在 ^ ^ 制15的資料集,及在儲存該資料 集於儲存控制器記 一 姐模組之則,產生一額外的資料集;
二模、组纟用以在儲存資料集於儲存控制器記憶體模 U冑額外資料集通訊至額外儲存控制器以及一額 外的储存控制器記憶體模組,以儲存額外的資料集。
額外資料集可藉由創造具有相同資料有效載荷的不同的 s隐體寫入封包來產生。不同的記憶體寫入封包可使用 PCle的切換轉換來產生。儲存控制器資料再分配系統可包 括將額外資料集通訊至額外儲存控制器,這樣能夠排除— 記憶體讀取操作。這個系統可包括一記憶鱧讀取操作,其 減少了儲存控制器記憶體頻寬的負載。額外資料集可使用 一匯流排通訊至額外的儲存控制器。該匯流排可經耦合至 該儲存控制器以及額外儲存控制器。 再另一態樣,這種方法包括形成一再分配模組來獲得儲 存控制器的資料集,及在儲存資料集於儲存控制器記憶體 模組之前,產生一額外的資料集;產生一耦合於該再分配 模组的通訊模組以在儲存該資料集於儲存控制器記憶體模 組之前’將額外的資料集通訊至額外儲存控制器,置放— 柄合於儲存控制器的再分配模組之儲存控制器記憶體模組 以儲存該資料集,及置放一個耦合於額外儲存控制器中的 7 201025018 通訊模組之額外的儲存控制器記憶體模組,以儲存額外的 資料集。 額外資料集的產生可藉由創造至少—具有相同資料有效 載荷的不同的記憶趙寫入封包來完成的。不同的記憶體寫 入封包的產生是使用PCle的切換實現的。 在這裡揭露的這種方法1統、裝置可以在多種態樣下 實施’及可藉由實現一組指令集之機器可讀取的機器可讀 取媒體之形式來執行,藉由—機器執行該等指令以使得該 機器執行這裡所述的任何操作。其他的—些特點可以從隨 附圖式中看到’下面的實施方式我們也將做具體的介紹。 【實施方式】 本文介紹了儲存控制器資料再分配的方法、裝置以及處 理系統。雖然本發明的具體實施例係根據特定示例性具體 實施例描述,但是,可顯見在不偏離各種具雜實施例的廣 泛精神和㈣可對這些具體實施例作出各種調整和變化。 在一個具體實例中,一種j 馬入貢枓,可以鏡像複製 到兩個儲存控制器106A-B,违瀚古、土扯认 這種方法排除了儲存控制器中 記憶體讀取操作。再分配模組議A_B在該第n體胃人 之前,藉由在儲存控制器和額外的儲存控制器之間資訊的 再分配’將資料集分為兩個不同的記憶體寫入操作。再分 配可以使用多播完成(例如:雙播 笑艰交又等等)。多播 (multi-casting )的執行是藉由力 錯由在每一個儲存控制器 8 201025018 1〇6A B的主機1/0裝置(例如:主機模組208)與記憶體 模組104 A-β之間新增pcie交換器212來完成的。 在另具體實施例中,兩個儲存控制器106A_B藉由PCIe 匯流排之方式相互連接。PCie匯流排可以連接兩個pcie 交換器’其每一者可被包含於一儲存控制器。當一 I/O寫 入貝料以PC Ie記憶體寫入封包的形式通過pc Ie交換器212 時,由定義在pci Express(PCIe) Base 2 〇規格的 Multicasting ECN之多播特徵會允許該封包分裂為兩個含 有㈣的資料載荷的心記憶體寫人封包一封包可以產 生一資料有效載荷的記憶體寫入至儲存控制器記憶體模組 104A另外一封包藉由連接兩個儲存控制器ίο"』的pcie 匯流排2U的方式繞送至該料控制器聰。另—封包被 寫入到儲存控制器記憶趙模組觸中。藉由重新分配(例 如·多播、鏡像拷貝等等)記憶體十寫入封包在寫入資 訊至該記憶體模組1 〇4B中,尤带 ❿ _ β T不需要對記憶體模組104A執 行一個讀取操作就可以獲得眘 獲传貝訊由於排除了讀取操作使 得儲存控制器106Α-Β的記憶體頻寬負載降低。 在一具體實施例中’這種方法包括獲取儲存控制器(第 1圓的儲存控制器106Α)的資 .Λ 頁杆果(例如:記憶體寫入封 匕)。這種方法更包括:在儲在命咨制 隹儸存該資枓集於一儲存控制器記 憶趙模組(例如:第!圖中記憶髋模組腕)之前,產生 個或多個額外的資料隼儲在 莧针茱储存資枓集。這種方法更包括: 在儲存該資料集於該儲存控制 苘仔控制器自己憶體模組104A及/或 1〇4B之前,將額外資料集( v J ^ 具有相同原始的資料 9 201025018 封包資料栽荷的不同記憶體寫入封包)通訊至額外的儲存 控制器1G6B。這種方法更包括:儲存該資料集於儲存控制 器記憶體模組mA中’以及儲存額外的資料集於額外的儲 存控制器記憶體模組104B中。 在另-具體實施例中,儲存控制器資料再分配系統包 括;一再分配模組(例如,再分配模組100A-B,200 )來 獲得儲存控制器(例如,1〇6A_B,_,3〇6a_n的儲存控 ❹ 參 制器)的資料集,及在储存該資料集於儲存控制器記憶體 模組(例如,記憶體模組1〇4A_B,2〇4)之前產生一額 外資料集。這個系統更包括:一通訊模組(例如,通訊模 組1〇2, 202, 302A_B),其用以在儲存該資料集於儲存控 制器記憶髋模組(例如,記憶體模組1G4A-B,2G4)之前, 將額外資料集通訊至額外儲存控制器(例如,屬_ 儲存控制器)。這個系統亦包括:儲存控制器記 隐趙模組(例如,記憶體模組麗)來儲存該資料集以 二額:的儲存控制器記憶體模組(例如,記憶體模組 104B)來儲存該額外資料集。 在另-具时施财,這種方法包括形成__再分配模組 (例如’帛1时再分配模組魏-β)來獲得館存控制器 (例如’第1圖中儲存控制器蘭)的資料集及在儲存 該資料集於儲存控制器記憶體模組(例如,第i圖中記憶 體模組1G4A)之前’產生—額外資料集;在健存該資料集 於儲存控制器記憶體模組(例如,第!圏中記憶趙模組 201025018 104B)之前,產生一通訊模組1〇2 ,其經耦合至該再分配 模組100A-B以通訊額外資料集至額外儲存控制器ι〇6β; 置放儲存控制器記憶體模組j 〇4A,其經耦合至儲存控制器 106A中的再分配模組1〇〇A以儲存該資料集及置放額外 储存控制器記憶體模組1〇4B,其經耗合至在該額外儲存控 制器106B中的通訊模組1〇2以儲存該額外的資料集。 第1圖疋根據一具體實施例中之一儲存控制器,一主機 模組,以及相互通訊的儲存裝置陣列的系統視圖。特定而 言1 1圖顯示了 一再分配模組1〇〇A_B,一通訊模組1〇2, 一記憶體模組104A-B’ 一儲存控制器1〇6A_B,一主機模組 108 ’ 一儲存裝置模組11〇A_N。 一資料集(例如’記憶體寫入封包)可能是封包式計算 機網絡傳輸的格式化資料單元。計算機的通訊連接,其不 支援封包’例如傳統的點對點長途通訊鏈接,可簡化通訊 ❹ 資料例如-序列位元組,字元或者單獨的位元。額外資料 集(例如額外的記憶體寫入封包)可能含有不同的記憶體 寫入封包以及與原始資料集資料有效載荷相同的資料有效 載荷。額外資料集藉由多播,鏡像㈣,分裂記憶體寫入 封包’及/或複製記憶體寫人封包來產生。原始資料集可以 被傳送及/或儲存。可選擇性地,兩個或者更多的新的記憶 體寫入封包經產生並被儲存在储存控制器中(例如= 控制器 106A-B)。 $ # 再分配模組10 0 A - B利用多播(例如,雙播,分支等等), 11 201025018 將資料集刀為兩個不同的寫入操作,以 106A-B的資料集。谩付谲仔控制器 in为配模组在儲存該資料集於儲存控制 組(例如,第i圖中/ 外資料集。再分配模 令的再分配模組1〇〇A B)包括一 M、、^ 義在 PCI Base 2.0 規格的 參 二:aring ECN之多播特徵,將記憶體寫入封包分開。 e 、器與連接兩個或更多储存控制器的pcie匯流排 相通訊。PCIe交拖吳-Γ、· 、 1將多播記憶體寫入封包通訊至額 外的儲存控制器。 通訊模組(例如,β 通訊模組102,202,302Α-Β)包括一 計算機的匯流排以用來連接周邊裝置至一處理單元(例 如,主機系統,計算機主板等等)。通訊模、组102在資料集 被儲存於儲存控制器記憶體模組職及/或應之前, 將額外資料集通訊至—額外儲存控制器。在記憶體模組 104Α及/或聰的記憶體寫人封包的儲存程序之啟始及/ 或完成之前,額外資❹可被傳b 傳至主機控制器的早期寫入信號藉由在儲存該資料集於 储存控制器記憶趙模組之前,將該額外資料集通訊至額外 儲存控制|§來加速。命咨粗在/ 疋该資科集(例如,該資料集或者額外 資料集)在加速的早期寫入信號被傳輸到主機控制器之 前’必須被儲存到兩個或者更多的儲存控制器記憶體卜 早期的寫入信號可以藉由排除儲存控制器記憶趙讀取操作 來加速’同時其可延遲額外儲存控制器記憶體中後續的寫 12 201025018 入操作。早期的寫入信號還可以藉由多於一個儲存控制器 記憶體中同時執行記憶體寫入操作來加速,其若一額外的 寫入操作只能等到啟始的寫入操作完成之後開始為不可 能0 加速早期寫入信號可以減少寫入狀態延遲來提高主系統 操作的效率。減少寫入狀態的延遲可以允許減少主系統連 績工作的時間。減少寫入狀態的延遲使得主機系統重新嘗 Ο試操作及/或在所需的更短時間内產生一個系統錯誤。 記憶體模組104A-B儲存資料於磁性介質(例如,快閃記 隐體,硬碟等等)中,及/或其他的一些記憶體格式(例如, 、 機械揮發性的把憶體,及非揮發性的記憶體)。額 外的儲存控制器記憶體模組可以儲存額外資料集(例如, 鏡像拷貝資料,多播資料,由再分配模組產生的資料集等 等)。該記憶逋模組104A-B經耦合至在儲存控制器1〇6Ab 十的再分配模組l〇〇A_B。 ❿儲存控制器(例如儲存控制器106A B,206,306A N) 都是成對地以冗餘形式的組態工作,以防止資料的去失。 如果-個控制器固障,與儲存控制器相關聯的主系統(例 如’主機模組108)仍然可以存取至所有的儲存裝置(例 如’儲存裝置模組110A-N,21GA-B,31GA-N)。主機模組 1〇8包括一處理單元,其可與各種裝置(例如,儲存控制 器106A-B’儲存裝置模组u〇a_n)通訊,可進行通訊。主 機模組可以下載或者上傳程式來影響儲存控制器及/或健 存裝置模組的操作。 13 201025018 儲存裝置模組110A-N可儲存或處理資訊。儲存裝置模組 110A-N包括記錄媒介來儲存資訊,以及資料儲存設備來處 理資訊。儲存裝置模組110A-N可存取分離可攜^記錄媒 介’及/或固定的裝置來儲存和擷取資訊。 在一具體實施例中’儲存控制器1〇6Α_Β可包括:再分配 模組100A-B和記憶體模組1〇4A-B。記憶體棋組1〇4A_B* 儲存控制器106A-B可以藉由通訊模組丨〇2進行通訊。主機 ❹模組藉由儲存控制器106A_B與儲存裝置模組b 相通訊。 第2圖是儲存控制器的—個擴展視圖’它同時也根據一 具體實施例說明主機模組和通信模組。 特定而t,帛2 ®係、根據-具體實施例說明再分配模組 2〇〇,通信模組202 ,記憶體模組204,儲存控制器2〇6, 主機模組208,儲存裝置模組210A-B , PCIe交換器212, PCIe匯流排214,輸入的1/〇模組216,輪出的^川模組 218 ’控制器模組22〇以及處理器模組222。 再分配模組200可包括一 PCIe交換器。這個交換器可以 在第一個記憶體藉由多播的使用(例如:雙播分叉傳播 等等)寫入之前,將該資料集分成兩個不同的記憶逋寫入 操作。多播可以藉由在各個儲存控制器(例如,儲存控制 模組106A B)上的主機1/〇裝置(例如,輸入模組 216 )和記憶體控制器(例如,控制器模組22〇)之間增加 PCIe交換器(例如,pCie交換器212)來完成 通訊模組202可包括PCIe匯流排214,這個匯流排可以 201025018 將兩個儲存控制器206A-B和兩個pcie交換器連接。在儲 存控制器2 0 6裡’記憶體模組2 0 4可經輕合至該再分配模 組200,同時記憶餿模組204可儲存資料集。儲存控制器 206可以提供輸入和輸出寫入給主機系統(如主機模組 208 )。主機模組208在一個冗餘組態的系統中可以是一個 控制處理單元,從而將資訊儲存在儲存裝置模組2ι〇α β 中。主機模組可包含一伺服器,其控制著一備援磁碟陣列 φ ( Redundan1: Array of lnexpensive,RAID)。另外,主機 模組可包含一微型計算機,它控制可程式的邏輯控制器 (PLC),而這個PLC與一組硬碟及/或其他電子裝置一同操 作。 儲存裝置模組(如儲存裝置模組11〇α_Ν 21〇α_Β 31〇α ν) 可儲存資m。健存裝置模組可以與其他儲存冑置模組通 訊。儲存裝置模組可以與儲存控制器(如儲存控制器i〇6ab 206, 306A-N)通訊。儲存裝置模組可以與輸出I/O模組(如 攀輸出1/0模組218) ’記憶體模組104A-B,及/或者主機模 組(如主機模組108,208,以及/或者3〇8)通訊。 PCIe交換器212可能會產生不同的記憶體寫入封包。當 I/O寫入資料以PCIe記憶體寫入封包的形式通過μ。交 換器時定義在PCI Express ( PCIe) Base 2. 0規格的多 播ECN之多播功能可以允許該封包被分為兩個不同的ρ。^ 記憶體寫入封包,而該封包含有相同的資料負荷量。此些 封包之-者可產生一資料負荷量的記憶體寫入至儲存控制 器 206。 15 201025018 PCIe匯流排214可包含在通信模組202 +,也可連接兩 個儲存控制(如儲存控制$舰_B,2〇6,讓_n)及/ 或者儲存控制器106A-B的pcie交換器。仙匿流排214 可與PCIe交換器212,再分配模組2〇〇,及/或者儲存控制 器206通訊。 輸入I/O模組216可以是主機1/〇裝置,其可駐留在儲 存控制S 206巾。輸人1/〇模組216可以在主機模組· Ο和再分配模組2〇〇中的PCIe交換器之間溝通資訊。輸出 I/O模組218可駐留在儲存控制器2〇6中,及其可與控制 器模組220和儲存裝置模組21〇A_B相通訊。控制器模組 220可在處理器模組222和記憶體模組204之間控制記憶 體寫入操作。處理器模組222可處理儲存在儲存裝置模組 210A-B中的資料集。 在一具體實施例中,儲存控制器206可包括輸入1/〇模 組216,再分配模組200’記憶體模組204,控制器模組22〇, ❹處理器模組222,以及輸出I/O模組218。再分配模組2〇〇 可包含一 PCIe交換器212。通訊模組202可包含一 pcie 醒流排214。PCIe交換器212可連接至PCIe匯流排214。 輪出I/O模組218可與儲存裝置模組210Α-Β相連接《在該 具體實施例的模組可以互相通訊。 第3圖是根據一具體實施例之多個儲存控制器,和通訊 模組與主機模組和多個儲存裝置模組通訊的系統視圖。特 別地’第3圊根據一具鱧實施例說明一通信模組3〇2a_n, 儲存控制器306A-N,主機模組308以及儲存裝置模組 16 201025018 310A-N。 通信模組302A-N可在儲存控制器3〇6A_N之間通訊資 訊°通信模組302A-N可包含pcie匯流排214。 儲存控制器306A-N可以連接在一陣列上。該儲存裝置可 以在主機模組308和儲存裝置模組31〇A_N之間通訊資訊。 另外,儲存控制器306A-N可藉由一額外的PCIe匯流排的 方式互相連接,而這個額外的pcie匯流排也可以連接至 ® PCIe交換器。當1/0寫入資料以PC Ie記憶體寫入封包的 形式通過PCIe交換器時,定義在pcI Express (pcie)
Base 2. 〇規格的多播ECN之多播功能可以允許該封包被分 為兩個不同的PCIe記憶體寫入封包,而該封包含有相同的 資料負荷量。一記憶體寫入封包可能被發送到儲存控制器 的記憶體中,一第二記憶體寫入封包可通訊至一額外的儲 存控制器。 主機模組308可通訊資訊’這些資訊使用儲存裝置模組 • 310A-N以被儲存及/或重新擷取,而這個儲存裝置模組可 存有資料集及/或鏡像資料。儲存控制器3〇64_^可處理資 訊乂被儲存在儲存裝置模組31 ,及關於主機模組308 所傳送的資訊,儲存控制器可再分配(如多播,鏡像)這 些資訊給額外的儲存控制器。儲存控制器3〇6a_n可與通信 模組302A-N,儲存裝置模組31〇A_N以及主機模組3〇8相通 訊。 根據一具體實施例,第4A圖是一獲取,產生和將一資料 集儲存在儲存控制器記憶體模組中的流程圖。在操作4〇2 17 201025018 中,一儲存控制器(如第9 ^ Z圖中的儲存控制器206)中的 一資料集可被獲得(如使 尤用第2圖中的再分配模組2〇〇) 〇 在操作404中,該額外的音 ^ 的資料集可在儲存該資料集於儲存 控制器記憶體模組(如第面 、 乐/圖中的儲存控制器記憶體模組 204)之前被產生(如使用笛9回山 w 定用第2圖中的再分配模組200)。 操作406巾在儲存該資料集於儲存控制器記憶體模組
之前’額外的資㈣可被通訊至額外的儲存控制器(如使 用第1圖中的通信模組1〇2)。 在操作408 t ’可藉由通訊額外的資料集至額外的储存 控制器(如第1圖中的儲存控制器1Q6A B)來加速傳至主 機控制器的早期寫人信號,而這個過程的發生係在儲存該 資料集於儲存控制器記憶體模組丨〇4A_B之前。該資料集 (如資料集和額外資料集)在加速的早期寫入信號被發送 到主機控制器之前,可被要求儲存在兩個或兩個以上的儲 存控制器記憶體中(如帛i圖中的儲存控制器記憶體模組 104A-B)。早期的寫入信號可以藉由排除儲存控制器記憶體 的可讀取操作來加速,而這個可讀取操作也會另外地延遲 接續的額外儲存控制器記憶體中的寫入操作。早期的寫入 仏號也可藉由同一時間内在一個以上的儲存控制器記恃體 上執行記憶體寫入操作來加速,如果額外的寫入操作只有 在啟始的寫入操作完成的時候才能開始的話,上面的執行 操作過程就不可能發生〃在操作410中,該資料集可儲存 在儲存控制器記憶體模組104A-B中。 根據一具體實施例,第4B囷是第4A圖流程的—個繼續 18 201025018 其對額外資料集#其他操作做了說明。於操作412中,額 外資料集的儲存可在完成儲存該資料集於储存控制器記憶 體模組104A-B前被啟始。在操作414中,該額外資料集可 被儲存在額外的儲存控制器記憶體模組104A-B中。額外資 料集可以藉由產生一不同的具有相同資料負荷量的記憶體 寫入封包來產生(如使用第2圖中的再分配模組2〇〇)。這 個不同的S己憶體寫入封包可使用一 pCIe交換器212產生。 ❹額外的資料集可被通訊至額外儲存控制器,這樣就可以避 免一個記憶體讀取操作。在操作416中,藉由避免一記憶 體讀取的操作可以減少儲存控制n 206的記憶體頻寬負 載。該額外的資料集可以使用一轉換模組經通訊至額外的 儲存控制器306A-N(如使用通信模組3〇2A_N)。除此之外, 轉換模組可經耦合至該儲存控制器3〇6A_N和該額外的儲 存控制器306A-N。 在操作418中,可產生一補充資料集(如使用第i圖中 的再分配模組1〇ΟΑ_Β)’這個補充資料集可以通訊該補充 資料集至該補充儲存控制器106A-B,同時也可以將該補充 資料集健存在補充儲存控制器記憶體106_b當中。儲存控 制器106A-B的資料集可以藉由一主機模組(如第i圖中的 主機模組108)和一儲存控制器記憶體模組(如第丄圖中 的儲存控制器記憶體模組104A_B)之間的再分配模組(如 第1圖中的再分配模組1〇ΟΑ-Β)來獲取。儲存控制器1〇6A_B 可包含再分配模組100A-B。 根據一具體實施例,第5圖是一流程圖,其對再分配模 201025018 組的形成和其他模組的獲取、產生以及將額外資料集存入 到儲存控制器記憶體模組的過程做出了說明。在操作 中,可以形成-再分配模組(如第2圖令的再分配模組 200 ),這個再分配模組可以在將該資料集存入—儲存控制 器記憶體模組(如第2圖中的記憶體模組2〇4)之前獲 取儲存控制器中的資料集’也可以產生—個額外的資料 集。在操作504中,可以產生一通信模組2〇2,其可耦合 _至再分配模組200,而這個再分配模組2〇〇可以在將該^ 料集存入儲存控制器記憶體餘2〇4之前,把額外的資料 集通訊至額外的儲存控制器。 在操作506巾,-儲存控制器記憶體模組2〇4可能被放 =從而耗接至在儲存控制器2〇6中的再分配模組2〇〇,而 這個儲存控制器中可儲存該資料集。在操作5〇8中一額 外的儲存控制器記憶體模組(如第2圖中的記憶體模組 204)可能被放置從而經搞合至在額外的儲存控制 中的通信模組302A-N,而這個儲存控制器3〇6A_N可儲存 額外的資料集。該額外的資料集可藉由創建一不同的具有 相同資料負荷量的記憶體寫入封包來產生。該不同的記憶 體寫入封包可以藉由使用一 PCIe交換器來產生。 雖,、、:目别的一些具體實施例是參照一些特定的具鱧實施 例來插述,但可顯見在沒有偏離具體實施例的精神和各種 範圍的情況下可對這些具體實施例做各種修改及變化。例 如,各種裝置,模組,分析儀,產生器等等,於本文争的 描述是可驅動並可以藉由使用硬體電路(如基於邏輯電路 20 201025018 入S),韌體軟體及/或任何硬體,韌體及/或軟體的 組合(如實現在一機器可讀取媒體中)。例如,各種電子結 構和方法可以通過使用電晶體,邏輯閘以及電路(如應用 專用積趙(ASIC) 1;路或者在數位信號處理$ ( Dsp)電路 中)來實現。 特定而言,第1圖中的再分配模組100A_B,通信模組 102,圮憶體模組1〇4A_B,儲存控制器ι〇6Α_Β,主機模組 ❿108,儲存裝置模組110A-N,第2圖中的再分配模組2〇〇, 通信模組202,記憶體模組204,儲存控制器206,主機模 組208,儲存裝置模組21〇A_B,pcie交換器212,pcie匯 流排214,輸入1/0模組216,輸出"ο模組218,控制器 模組220,和第3圖中的通信模組3〇2a_n,儲存控制器 306A-N,主機模組308,儲存裝置模組310A_N可使用再分 配電路,通信電路,記憶體電路,儲存控制器電路,主機 電路,儲存裝置電路,PCIe交換器電路,輸入1/〇電路, 參輸出I/O電路,控制器電路以及其他電路驅動。 此外’可認知到在此揭露的各種操作,程序和方法可在 機器可讀取媒體及/或相容於資料處理系統(如電腦系統) 的機器可存取媒體中實現,也可能以任何順序執行(如包 括使用各種方法來實現各種不同的操作相應地,嚴格來 說,說明書和圖式會被認為是說明性的。 21 201025018 【圖式簡單說明】 例示性具體實施例藉由你 田例不而非限於隨附圖式來說明, 這些類似的參照來指出類 頌似.的兀素,其中: 根據一具體實施例,笛,β 弟1圖疋儲存控制器,主機模組和 互相通訊的多重儲存裝窨 丁衣罝之系統視圖。 根據一具體實施例,笫9 第2圖是說明儲存控制器,主機模 組和一通信模組的擴展視圖。 根據一具體實施例,第β克去从― 弟3圖疋多重儲存控制器和與主機 模組和多重儲存裝置模細;〜^ 空 1稹組互相通訊之通信模組的系統視 圖。 根據一具體實施例,第4Αι§|β ^ rh * 乐圖疋一獲取,產生和將資料集 存入儲存控制記憶體模組的程序流程圖。 一 根據-具體實施例,帛4B@是第4A0程序流程的延 它說明額外資料集的額外操作。 —’ 根據一具體實施例,第5圖是一個說明形成— ^取冉分配棋 ,,以及其他模組獲取、產生和將額外資訊存人儲存 器記憶體模組的程序流程圖。 目前具體實施例的其他特徵可以從隨附圖式 ,θ Μ下實施 方式中顯現出來。 22 201025018 【主要元件符號說明】 100Α-Β :再分配模組 102:通信模組 1 04A-B:記憶體模組 106A-B:儲存控制器 108:主機模組 110A-N:儲存裝置模組 φ 200:再分配模組 202:通信模組 2 0 4:記憶體模組 206:儲存控制器 208:主機模組 210A-B:儲存裝置模組 212:交換器 214:匯流排 ® 216:輸入I/O模組 218:輸出I/O模組 220:控制器模組 222:處理器模組 302A-B:通信模組 306A-N:儲存控制器 308:主機模組 310A-N:儲存裝置模組 201025018 400:操作 402:操作 4 0 4 :操作 406:操作 408:操作 410:操作 412:操作 ^ 414:操作 416 :操作 418:操作 5 0 0 :操作 502:操作 5 0 4 :操作 5 0 6 :操作 508:操作

Claims (1)

  1. 201025018 七、f請專利範圚·· 1. 一種儲存控制器資斜i 再刀配方法,包括以下步驟: 獲取一鍺存控制器的一資料集; 在將該資料隼 產 將 記 >、存入一儲存控制器記憶體模組之 生至少一額外的資料集; 在將該資料集存入該儲存控制器記憶體模組之前 該至少額外資料集通訊至—額外的儲存控制器;
    將該資料集存入該错存控制器記憶體模組;及 將該至少-額外的資料集存入一額外的儲存 憶體模組。 2.如申請專利範圍第1項 _ Μ 14、乃凌,其中該至少一額外 的資料集是藉由創建至Φ -r- pri j遷至^不冋的具有一相同資料負荷量 (data payI〇ad)的記憶體寫入封包來產生。 ❹3.如中請專利範圍第2項所述之方法,其中該至少一不同 的記憶體寫入封包是藉由使用一咖交換器創建的。 4次如申請專利範圍第!項所述之方法,其中通訊該額外的 資料集至該額外的儲存控制器之步驟避免一記憶體可讀取 操作。 5. 如申請專利範園第4項所述之方 法’進一步包含以下步 25 201025018 驟:藉由避免一記憶體可讀取操作來減少該儲存控制器的 一記憶體頻寬的負載。 6. 如申請專利範圍第5項所述之方法,其中該額外的資料 集使用一轉換模組經通訊至該額外的儲存控制器,及其中 該轉換模組經耦合至該儲存控制器和該額外的儲存控制 器。 7. 如申請專利範圍第5項所述之方法,更包括以下步驟: 在完成將該資料集存人該儲存控制器記憶體模組之前啟 始該額外的資料集之一儲存。 8.如申請專利範圍第7項 驟:產生一補充資料集, 存控制器’及將該補充資 © 體模組中。 所述之方法,進一步包括以下步 將該補充資料集通訊至一補充儲 料集存入一補充儲存控制器記憶 9.如申請專利範圍第1 肋暑上 之方法,進一步包括以下步 .在儲存該資料集於該儲在抑也丨租 ,烯存控制器記憶體模組之前,藉 ^至一額外的儲存控制器來加速一 早期寫入信號至一主機控制器。 10 的 .如申請專利範圍第1 該資料集可藉由一主 $戶斤述之方法,其中該儲存控制器 機模组和—儲存控制器記憶體之間 26 201025018 的一再分配模組獲取。 11·如申請專利範圍第10項所述之方法,其中該儲存控制 器包含該再分配模組。 12. —種儲存控制器資料再分配系統,其包含: 一再分配模組,其係用以在將該資料集存入一儲存控 ❹ 制器3己憶體模組之前,獲取一儲存控制器的一資料集, 並產生一額外的資料集; 一通信模組,其係用以在將該資料集存入該儲存控制 器記憶體模組之前,將該額外的資料集通訊至—額外的 儲存控制器; 一儲存控制器記憶體模組,其係用以儲存該資料集; 一額外的儲存控制器記憶體模組,其係用以儲存該額 外的資料集。 x 13. 如申請專利範圍第12項所述之系統,其中藉由創建至 少一具有一相同資料負荷量的不同記憶體寫入封包來產 生該至少一額外的資料集。 14·如申請專利益图势1Π J把圍第13項所述之系統,其中該至少一 同的記憶體寫入封包係使用一 PCIe交換器而產生。 15.如申請專利範圍第12項所述之线,其中將該額外的 27 201025018 資料集通訊至一額外的儲存控制装 于役制器之步驟避免一記憶體讀 取操作。 16.如申請專利範圍第15項所述之系統,其中避免-記憶 體讀取操作之步驟可減少該儲存_器的__記憶體頻寬負 載0 ❿η.如申請專利範圍第16項所述之方法,其中使用一匯流 排將該額外的資料集通訊至該額外的儲存控制器,及其中 該匯流排經搞合至該儲存控制器和該額外的儲存控制器。 18.—種方法’其包括以下步驟: 在將該資料集存人i存控制^記㈣模組之前,形成 -再分配模組來獲得一儲存控制器的一資料集,與產生至 少一額外的資料集; ® 在將該資料集存人—儲存控制器記憶體模組之前,創建 通L模組,其經耦接至該再分配模組,以將該至少一額 外的資料集通訊至一額外的儲存控制器; 放置儲存控制器記憶體模組,纟經轉纟至該儲存控制 器中的該再分配模組,以儲存該資料集;及 放置帛外的儲存控制II記憶體模組,其搞合至該額外 的儲存控制器中的該通信帛組,以儲存該至少一額外的資 料集。 28 201025018 i9.如申請專利範圍第18項所 外的資料集藉由創建至少—不二方法’其中該至少—額 荷的記憶體寫入封包來產生。°的具有—相同資料有效載 2〇.如申請專利範圍第19項所述 1=1 „ 灰 再中該至少一不 门的記憶體寫入封包係使用一 PCIe交換器來創建。
    29
TW098136747A 2008-10-30 2009-10-29 Storage controller data redistribution TW201025018A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/081658 WO2010050942A1 (en) 2008-10-30 2008-10-30 Storage controller data redistribution

Publications (1)

Publication Number Publication Date
TW201025018A true TW201025018A (en) 2010-07-01

Family

ID=42129099

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098136747A TW201025018A (en) 2008-10-30 2009-10-29 Storage controller data redistribution

Country Status (7)

Country Link
US (1) US20110238938A1 (zh)
EP (1) EP2350830A4 (zh)
JP (1) JP2012507783A (zh)
KR (1) KR20110088538A (zh)
CN (1) CN102203744A (zh)
TW (1) TW201025018A (zh)
WO (1) WO2010050942A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8373709B2 (en) * 2008-10-03 2013-02-12 Ati Technologies Ulc Multi-processor architecture and method
US8892804B2 (en) 2008-10-03 2014-11-18 Advanced Micro Devices, Inc. Internal BUS bridge architecture and method in multi-processor systems
US8688906B2 (en) * 2009-11-16 2014-04-01 Lenovo (Singapore) Pte. Ltd. Apparatus and method for distributing writes asymmetrically among drives
US20120051359A1 (en) * 2010-08-30 2012-03-01 O'brien John Apparatus and method to manage multicast data transfers in a multiple storage element system that contains data storage
US9189441B2 (en) * 2012-10-19 2015-11-17 Intel Corporation Dual casting PCIE inbound writes to memory and peer devices
US9304902B2 (en) 2013-03-15 2016-04-05 Saratoga Speed, Inc. Network storage system using flash storage
US9489151B2 (en) 2013-05-23 2016-11-08 Netapp, Inc. Systems and methods including an application server in an enclosure with a communication link to an external controller
US9973424B1 (en) 2013-12-31 2018-05-15 Sanmina Corporation Storage system with flow based services for flash storage
US9606944B2 (en) * 2014-03-20 2017-03-28 International Business Machines Corporation System and method for computer memory with linked paths
US9448742B2 (en) * 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
US9608936B1 (en) 2014-07-03 2017-03-28 Sanmina Corporation Network system with offload services for flash storage
US9672180B1 (en) * 2014-08-06 2017-06-06 Sanmina Corporation Cache memory management system and method
US9715428B1 (en) 2014-09-24 2017-07-25 Sanmina Corporation System and method for cache data recovery
US20160092118A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Memory write management in a computer system
CN107515723B (zh) * 2016-06-16 2020-04-24 伊姆西Ip控股有限责任公司 用于管理存储系统中的存储器的方法和系统
WO2021012179A1 (zh) * 2019-07-23 2021-01-28 华为技术有限公司 存储系统中实现存储业务连续性的方法、前端接口卡和存储系统
US11513699B2 (en) * 2019-08-01 2022-11-29 EMP IP Holding Company, LLC System and method for caching data in persistent memory of a non-volatile memory express storage array enclosure
JP7354355B1 (ja) * 2022-05-31 2023-10-02 株式会社日立製作所 ストレージシステムおよび暗号演算方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3122295B2 (ja) * 1993-12-09 2001-01-09 株式会社東芝 磁気ディスクコントローラの二重化方法
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6819332B2 (en) * 2001-02-27 2004-11-16 3Dlabs Inc. Ltd. Antialias mask generation
US7536495B2 (en) * 2001-09-28 2009-05-19 Dot Hill Systems Corporation Certified memory-to-memory data transfer between active-active raid controllers
US7143227B2 (en) * 2003-02-18 2006-11-28 Dot Hill Systems Corporation Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller
US7609723B2 (en) * 2003-05-23 2009-10-27 Intel Corporation Packet combining on PCI express
US8185663B2 (en) * 2004-05-11 2012-05-22 Hewlett-Packard Development Company, L.P. Mirroring storage interface
US7389393B1 (en) * 2004-10-21 2008-06-17 Symantec Operating Corporation System and method for write forwarding in a storage environment employing distributed virtualization
US7549034B2 (en) * 2005-11-10 2009-06-16 International Business Machines Corporation Redistribution of memory to reduce computer system power consumption
US8019940B2 (en) * 2006-12-06 2011-09-13 Fusion-Io, Inc. Apparatus, system, and method for a front-end, distributed raid
JP4961997B2 (ja) * 2006-12-22 2012-06-27 富士通株式会社 ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム

Also Published As

Publication number Publication date
CN102203744A (zh) 2011-09-28
EP2350830A1 (en) 2011-08-03
EP2350830A4 (en) 2013-05-22
KR20110088538A (ko) 2011-08-03
US20110238938A1 (en) 2011-09-29
JP2012507783A (ja) 2012-03-29
WO2010050942A1 (en) 2010-05-06

Similar Documents

Publication Publication Date Title
TW201025018A (en) Storage controller data redistribution
CN105359120B (zh) 使用双phy来支持多个pcie链路宽度的存储器和控制器
CN102446544B (zh) 半导体存储器件和具有所述半导体存储器件的存储系统
JP2004005382A (ja) データ転送装置および方法
TWI447578B (zh) 用於以封包切換為基礎的邏輯複製之方法和系統
TW201117019A (en) Switched interface stacked-die memory architecture
TW201022946A (en) Multi-serial interface stacked-die memory architecture
TW200819978A (en) Memory management method and system
JPH1078934A (ja) パケット切替えコンピュータ・システムのマルチサイズ・バス結合システム
TW200832415A (en) High speed interface for non-volatile memory
TW200929258A (en) A storage device coordinator and a host device that includes the same
JP2010027032A (ja) Fifo装置及びfifoバッファへのデータ格納方法
JP2010522402A (ja) マルチプロセッサシステムのための命令通信技術
JP2017532668A (ja) ストレージ・クラスタ・システムにおけるコマンドの並列的な実行及びキャンセルを調整するための装置、方法、記憶媒体及びコンピュータ・プログラム
JP3578075B2 (ja) ディスクアレイ制御装置及びディスクアレイ制御方法
TW200811660A (en) Method of requests access and scheduling and related apparatus thereof
TW201112130A (en) Controllers and methods for controlling data transfer, and electronic systems
JP2003122703A (ja) 複数のデータ・ストリームを管理するためのバッファ分割
TWI309778B (en) Integrated circuit having processor, switch capabilities and ports to receive and forward data
TW591389B (en) Execute-in-place system and method of serial memory
CN113485643B (zh) 用于数据存取的方法及数据写入的控制器
JP2010140477A5 (zh)
TW202203095A (zh) 時間同步儲存輸送的方法、計算元件以及儲存元件
JP2006338533A (ja) Ecc回路を有するマルチレイヤバスシステム
TW200523734A (en) Electronic device, and method for controlling the same