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

      磁盤陣列5控制器及存取方法

      文檔序號(hào):6470199閱讀:200來源:國(guó)知局
      專利名稱:磁盤陣列5控制器及存取方法
      技術(shù)領(lǐng)域
      本發(fā)明是有關(guān)于一種磁盤陣列控制器及相關(guān)存取方法,尤指一種基于儲(chǔ)存
      裝置最小存取區(qū)塊的分流與聚流運(yùn)作的磁盤陣列5控制器及相關(guān)存取方法。
      背景技術(shù)
      隨著數(shù)據(jù)處理量的日益增加以及數(shù)據(jù)數(shù)字化的趨勢(shì),如何建構(gòu)一個(gè)高可用
      性(high availability)、高效能(high performance)及大容量(high volume)的儲(chǔ)存系 統(tǒng)已成為一重要課題。目前,在電腦系統(tǒng)中,磁盤陣列(Redundant Array of Independent Disks, RAID)系統(tǒng)為常采用的儲(chǔ)存系統(tǒng)之一,而磁盤陣列系統(tǒng)即 用以提供高可用性、高效能及大容量的數(shù)據(jù)儲(chǔ)存空間給主機(jī)端(host entity)。
      磁盤陣列系統(tǒng)根據(jù)其操作模式可分類為磁盤陣列等級(jí)0,1,2,3,4,5或6等, 就低系統(tǒng)復(fù)雜度的應(yīng)用而言,是以磁盤陣列等級(jí)O及1系統(tǒng)為主。但磁盤陣列 0系統(tǒng)不提供容錯(cuò)能力,數(shù)據(jù)分散儲(chǔ)存于磁盤陣列中,若任何一顆硬盤機(jī)損毀, 則數(shù)據(jù)也隨的消失。至于磁盤陣列1系統(tǒng)系將數(shù)據(jù)同時(shí)儲(chǔ)存于二硬盤機(jī),換句 話說,二硬盤機(jī)儲(chǔ)存相同的數(shù)據(jù),當(dāng)有一硬盤機(jī)損壞而無法讀取數(shù)據(jù)時(shí),可由 另一硬盤機(jī)讀取數(shù)據(jù),而損壞的硬盤機(jī)更新后,新的硬盤機(jī)就可由另一硬盤機(jī) 備份數(shù)據(jù),雖然提供數(shù)據(jù)安全保護(hù)機(jī)制,但儲(chǔ)存空間的實(shí)際利用率只有50%。
      一般而言,兼具數(shù)據(jù)安全保護(hù)機(jī)制及高儲(chǔ)存空間利用率的優(yōu)點(diǎn)的系統(tǒng),是 以磁盤陣列5系統(tǒng)為代表,磁盤陣列5系統(tǒng)類似磁盤陣列4系統(tǒng),磁盤陣列4 系統(tǒng)使用額外的一部同位硬盤機(jī)(parity disk),用來儲(chǔ)存奇偶校驗(yàn)信息(parity information),磁盤陣列5系統(tǒng)并不使用同位硬盤機(jī),而是將奇偶校驗(yàn)信息分別 儲(chǔ)存在磁盤陣列不同的硬盤機(jī)中。
      請(qǐng)參考圖1,圖1顯示現(xiàn)有磁盤陣列5系統(tǒng)100的功能方塊示意圖。磁盤 陣列5系統(tǒng)100包含耦接至一主機(jī)101的一磁盤陣列5控制器(RAID5 controller" 10以及連接至磁盤陣列5控制器110的一磁盤陣列170,磁盤陣列
      9170包含多部硬盤機(jī)(Hard Disk Drive, HDD)181、 182、 183、 184及185,磁盤
      陣列5控制器110包含一中央處理單元130、耦接至中央處理單元130的一存 儲(chǔ)器120、及耦接至存儲(chǔ)器120及中央處理單元130的數(shù)據(jù)存取控制器140。 磁盤陣列系統(tǒng)100必須先進(jìn)行磁盤陣列建立(RAID creation)的過程以定義磁盤 陣列170,完成后再呈現(xiàn)給主機(jī)101,此時(shí)可稱為磁盤陣列170相對(duì)于主機(jī)101 存在(可使用,available),主機(jī)101也就可以開始存取(access)數(shù)據(jù)于磁盤陣列 170。
      在現(xiàn)有的磁盤陣列5系統(tǒng)100的存取操作中,要寫入數(shù)據(jù)時(shí),先儲(chǔ)存數(shù)據(jù) 于存儲(chǔ)器120,再經(jīng)中央處理單元130分析所要寫入的儲(chǔ)存區(qū)域的狀況,以執(zhí) 行相對(duì)應(yīng)的數(shù)據(jù)讀取處理,其后,中央處理單元130才可根據(jù)所要寫入的數(shù)據(jù), 配合所讀取的數(shù)據(jù),執(zhí)行異或運(yùn)算處理產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),再將要寫入的數(shù)據(jù) 及奇偶校驗(yàn)數(shù)據(jù)分散儲(chǔ)存在磁盤陣列不同的硬盤機(jī)中,不過,若有失效硬盤機(jī), 且奇偶校驗(yàn)數(shù)據(jù)運(yùn)算所需要的數(shù)據(jù)也包含失效硬盤機(jī)的數(shù)據(jù),則先要執(zhí)行失效 硬盤機(jī)相對(duì)應(yīng)數(shù)據(jù)的恢復(fù)處理。
      要讀取數(shù)據(jù)時(shí),也先儲(chǔ)存來自各硬盤機(jī)的數(shù)據(jù)于存儲(chǔ)器120,若沒有失效 硬盤機(jī),則中央處理單元130執(zhí)行奇偶校驗(yàn)數(shù)據(jù)棄除程序,及組合所要的數(shù)據(jù) 以產(chǎn)生輸出數(shù)據(jù),若有失效硬盤機(jī),則中央處理單元130執(zhí)行失效硬盤機(jī)相對(duì) 應(yīng)數(shù)據(jù)的恢復(fù)處理,即利用其余硬盤機(jī)的數(shù)據(jù)執(zhí)行異或運(yùn)算處理,恢復(fù)失效硬 盤機(jī)的數(shù)據(jù)后,中央處理單元130才可執(zhí)行奇偶校驗(yàn)數(shù)據(jù)棄除程序,及組合所 要的數(shù)據(jù)以產(chǎn)生輸出數(shù)據(jù)。
      由于目前磁盤陣列5系統(tǒng)的架構(gòu)及存取方法大多使用電腦架構(gòu)或I/O處 理器完成,即所謂的軟件磁盤陣列,但因先天架構(gòu)限制關(guān)系,為了達(dá)到磁盤陣 列5高效能的目的,數(shù)據(jù)分流單位大多從4KB至256KB,甚至更大,導(dǎo)致在 執(zhí)行待處理儲(chǔ)存區(qū)域邊界部分的存取操作時(shí),需要相當(dāng)復(fù)雜的判斷與運(yùn)算程 序。

      發(fā)明內(nèi)容
      因此本發(fā)明的主要目的是在采用儲(chǔ)存裝置最小存取區(qū)塊作為分流及聚流 單位,用以簡(jiǎn)化在執(zhí)行待處理儲(chǔ)存區(qū)域邊界部分的存取操作時(shí)所需的判斷與運(yùn)
      10算程序,并得以借由硬件加速來達(dá)到高存取效率的磁盤陣列5系統(tǒng)。
      依據(jù)本發(fā)明的實(shí)施例,其揭示一種基于儲(chǔ)存裝置最小存取區(qū)塊的分流與聚
      流運(yùn)作的磁盤陣列5(RAID5)控制器,此控制器包含一數(shù)據(jù)配置及組合單元、一
      異或運(yùn)算單元、多個(gè)傳輸控制器、多個(gè)儲(chǔ)存裝置存取控制器、以及多個(gè)數(shù)據(jù)暫 存器。數(shù)據(jù)配置及組合單元用以將一寫入數(shù)據(jù)流基于儲(chǔ)存裝置最小存取區(qū)塊為 處理單位而分散配置于多條寫入數(shù)據(jù)分流,或?qū)⒍鄺l讀出數(shù)據(jù)分流基于儲(chǔ)存裝 置最小存取區(qū)塊為處理單位而組合為一讀出數(shù)據(jù)流。異或運(yùn)算單元耦合于數(shù)據(jù) 配置及組合單元。每一個(gè)傳輸控制器均耦合于異或運(yùn)算單元。每一個(gè)數(shù)據(jù)暫存 器是耦合于相對(duì)應(yīng)的一傳輸控制器與相對(duì)應(yīng)的一儲(chǔ)存裝置存取控制器之間。每 一個(gè)儲(chǔ)存裝置存取控制器是耦合于相對(duì)應(yīng)的一數(shù)據(jù)暫存器與相對(duì)應(yīng)的一儲(chǔ)存 裝置之間。
      依據(jù)本發(fā)明的實(shí)施例,其另揭示一種基于儲(chǔ)存裝置最小存取區(qū)塊的聚流運(yùn)
      作的磁盤陣列5讀取方法,用以根據(jù)一讀取指令從多個(gè)儲(chǔ)存裝置讀取一讀出數(shù) 據(jù)流,此方法包含根據(jù)標(biāo)志暫存器的狀態(tài),解碼讀取指令,以產(chǎn)生相對(duì)應(yīng)的一 讀取程序控制指令,根據(jù)讀取程序控制指令及標(biāo)志暫存器的狀態(tài),執(zhí)行對(duì)于多 個(gè)正常儲(chǔ)存裝置的相對(duì)應(yīng)數(shù)據(jù)的讀取操作,用以產(chǎn)生多條讀出數(shù)據(jù)分流,將該 些讀出數(shù)據(jù)分流并列傳輸至一異或運(yùn)算單元,異或運(yùn)算單元根據(jù)標(biāo)志暫存器的 狀態(tài)及讀取程序控制指令,控制相對(duì)應(yīng)于該些讀出數(shù)據(jù)分流的異或運(yùn)算處理程 序,并將處理后的該些讀出數(shù)據(jù)分流并列傳輸至一數(shù)據(jù)配置及組合單元,以及 數(shù)據(jù)配置及組合單元根據(jù)標(biāo)志暫存器的狀態(tài)及讀取程序控制指令,將該些讀出 數(shù)據(jù)分流基于儲(chǔ)存裝置最小存取區(qū)塊為聚流單位而組合為讀出數(shù)據(jù)流。
      依據(jù)本發(fā)明的實(shí)施例,其另揭示一種基于儲(chǔ)存裝置最小存取區(qū)塊的分流運(yùn) 作的磁盤陣列5寫入方法,用以根據(jù)一寫入指令將一寫入數(shù)據(jù)流寫入多個(gè)儲(chǔ)存 裝置,此方法包含根據(jù)標(biāo)志暫存器的狀態(tài),解碼寫入指令,以產(chǎn)生相對(duì)應(yīng)的一 寫入程序控制指令,根據(jù)寫入程序控制指令及標(biāo)志暫存器的狀態(tài),利用一數(shù)據(jù) 配置及組合單元將寫入數(shù)據(jù)流基于儲(chǔ)存裝置最小存取區(qū)塊為分流單位而分散 配置為多條寫入數(shù)據(jù)分流,再將該些寫入數(shù)據(jù)分流并行傳輸至一異或運(yùn)算單 元,異或運(yùn)算單元根據(jù)標(biāo)志暫存器的狀態(tài)及寫入程序控制指令,控制相對(duì)應(yīng)于 該些寫入數(shù)據(jù)分流的異或運(yùn)算處理程序,并將處理后的該些寫入數(shù)據(jù)分流并列
      11傳輸至多個(gè)正常儲(chǔ)存裝置相對(duì)應(yīng)的多個(gè)儲(chǔ)存裝置存取控制器,以及該些儲(chǔ)存裝置存取控制器將該些寫入數(shù)據(jù)分流分別寫入該些正常儲(chǔ)存裝置。


      為讓本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,以下結(jié)合附圖對(duì)本發(fā)
      明的具體實(shí)施方式
      作詳細(xì)說明,其中
      圖1顯示現(xiàn)有磁盤陣列5系統(tǒng)的功能方塊示意圖。
      圖2顯示依本發(fā)明實(shí)施例的磁盤陣列5控制器的功能方塊示意圖。
      圖3顯示沒有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于讀取操作的儲(chǔ)存區(qū)塊陣列示意圖。
      圖4顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于讀取操作的儲(chǔ)存區(qū)塊陣列的第一范例示意圖。
      圖5顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于讀取操作的儲(chǔ)存區(qū)塊陣列的第二范例示意圖。
      圖6顯示沒有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的儲(chǔ)存區(qū)塊陣列的
      第一范例示意圖。
      圖7顯示沒有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的儲(chǔ)存區(qū)塊陣列的第二范例示意圖。
      圖8顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的儲(chǔ)存區(qū)塊陣列的第一范例示意圖。
      圖9顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的儲(chǔ)存區(qū)塊陣列的第二范例示意圖。
      圖10顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的儲(chǔ)存區(qū)塊陣列的第三范例示意圖。
      圖11顯示圖2的磁盤陣列5控制器的讀取方法的流程圖。圖12顯示圖2的磁盤陣列5控制器的寫入方法的流程圖。
      主要元件符號(hào)說明100 磁盤陣列5系統(tǒng)101、 201110、 210120130140
      170、 270181、 182、 183、184、 185205220225230235
      241、 242、 243、244、 245
      251、 252、 253、254、 255
      261、 262、 263、264、 265
      281
      282
      283
      284
      28511001200
      Fl、 F2、 F3、F4、 F5、 Fn
      Pu、 Pd、 Pil-Pi8
      主機(jī)
      磁盤陣列5控制器存儲(chǔ)器
      中央處理單元數(shù)據(jù)存取控制器磁盤陣列硬盤機(jī)
      標(biāo)志暫存器單元
      控制器
      指令解碼器
      數(shù)據(jù)配置及組合單元
      異或運(yùn)算單元
      傳輸控制器
      數(shù)據(jù)暫存器
      硬盤存取控制器
      硬盤機(jī)A硬盤機(jī)B硬盤機(jī)C硬盤機(jī)D硬盤機(jī)E讀取方法寫入方法標(biāo)志暫存器
      奇偶校驗(yàn)儲(chǔ)存區(qū)塊S1110-S1170、 步驟S1210-S129具體實(shí)施例方式
      為讓本發(fā)明的目的、特征和優(yōu)點(diǎn)更顯而易懂,下文依本發(fā)明的磁盤陣列5控制器及存取方法,特舉實(shí)施例配合所附圖式作詳細(xì)說明,但所提供的實(shí)施例并不用以限制本發(fā)明所涵蓋的技術(shù)范圍,而方法流程步驟編號(hào)更非用以限制其執(zhí)行先后次序,任何由方法步驟重新組合的執(zhí)行流程,所產(chǎn)生具有均等功效的方法,均為本發(fā)明所涵蓋的技術(shù)范圍。
      請(qǐng)參考圖2,圖2是顯示依本發(fā)明實(shí)施例的磁盤陣列5控制器210的功能方塊示意圖。磁盤陣列5控制器210可耦合于一主機(jī)201及一磁盤陣列270,磁盤陣列270包含硬盤機(jī)A281、硬盤機(jī)B282、硬盤機(jī)C283、硬盤機(jī)D284及硬盤機(jī)E285,該些硬盤機(jī)可為SATA硬盤機(jī)、SAS硬盤機(jī)、固態(tài)記憶裝置(SSD,Solid State Drive)、或基于倍數(shù)據(jù)傳輸率隨機(jī)存取存儲(chǔ)器(Double Data RateRandom Access Memory)的儲(chǔ)存裝置(i-RAM)。磁盤陣列5控制器210包含一控制器220、耦合于控制器220的一指令解碼器225、耦合于控制器220及指令解碼器225的一數(shù)據(jù)配置及組合單元230、耦合于數(shù)據(jù)配置及組合單元230及指令解碼器225的一異或運(yùn)算單元235、耦合于異或運(yùn)算單元235及指令解碼器225的多個(gè)傳輸控制器241…245、耦合于相對(duì)應(yīng)的傳輸控制器的多個(gè)數(shù)據(jù)暫存器251…255、耦合于相對(duì)應(yīng)的數(shù)據(jù)暫存器的多個(gè)硬盤存取控制器261…265、及一標(biāo)志暫存器單元205。
      如圖2所示,每一硬盤存取控制器均耦合于磁盤陣列270的相對(duì)應(yīng)的一硬盤機(jī),譬如硬盤存取控制器261耦合于硬盤機(jī)A281,硬盤存取控制器265耦合于硬盤機(jī)E285,其余類推。圖2所示的磁盤陣列270是以5部硬盤機(jī)為例,但本發(fā)明的磁盤陣列5控制器并不限于5部硬盤機(jī),對(duì)任何現(xiàn)有磁盤陣列5控制器所控制的磁盤陣列,均可由圖2的磁盤陣列5控制器210的均等變化而提高數(shù)據(jù)存取效率。此外,每一硬盤存取控制器可以一串行式ATA(Serial AdvancedTechnology Attachment, SATA)接口 、 一通用串行總線(Universal SeriaBus, USB)接口 、 一 SAS(Serial Attached Small Computer System Interface, Serial Attached
      14SCSI)接口、 一IEEE-1394接口、或一eSATA接口,耦合于相對(duì)應(yīng)的硬盤機(jī)。
      控制器220可將從主機(jī)201送來的存取指令傳送至指令解碼器225,并執(zhí)行主機(jī)201與數(shù)據(jù)配置及組合單元230之間的雙向數(shù)據(jù)傳送。標(biāo)志暫存器單元205包含多個(gè)標(biāo)志暫存器Fl…Fn,標(biāo)志暫存器是用以顯示各種系統(tǒng)狀態(tài),舉例而言,標(biāo)志暫存器F1可用以顯示硬盤機(jī)A281的狀態(tài),當(dāng)標(biāo)志暫存器F1為邏輯0時(shí),可表示硬盤機(jī)A281在正常狀態(tài),當(dāng)標(biāo)志暫存器F1為邏輯1時(shí),可表示硬盤機(jī)A281在失效狀態(tài),其余同理類推。
      指令解碼器225可將由控制器220傳來的存取指令,根據(jù)標(biāo)志暫存器Fl…Fn所提供的各種系統(tǒng)狀態(tài)(譬如各硬盤機(jī)的正?;蚴顟B(tài))及存取指令所提供的存取參數(shù)(譬如讀取或?qū)懭?、?shù)據(jù)大小、及存取地址等),而解碼出存取操作所需的程序控制指令,程序控制指令系根據(jù)所要存取的儲(chǔ)存區(qū)域的儲(chǔ)存區(qū)塊狀態(tài)(譬如儲(chǔ)存區(qū)塊是否為奇偶校驗(yàn)儲(chǔ)存區(qū)塊,或儲(chǔ)存區(qū)塊是否在儲(chǔ)存區(qū)域的上邊界或下邊界),而控制系統(tǒng)各功能電路的操作程序或提供操作參數(shù),譬如控制每一傳輸控制器241…245與異或運(yùn)算單元235之間的數(shù)據(jù)傳輸,或提供每一硬盤存取控制器261…265執(zhí)行對(duì)于相對(duì)應(yīng)的一硬盤機(jī)的寫入或讀取操作參數(shù)。異或運(yùn)算單元235根據(jù)所解碼出來的存取操作程序控制指令,而執(zhí)行相對(duì)應(yīng)的操作,可以是單純的數(shù)據(jù)傳送,或是執(zhí)行異或運(yùn)算處理以產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),或是執(zhí)行異或運(yùn)算處理以恢復(fù)一失效硬盤機(jī)所儲(chǔ)存的數(shù)據(jù)。傳輸控制器241…245可根據(jù)存取操作程序控制指令,配合異或運(yùn)算單元235執(zhí)行相對(duì)應(yīng)數(shù)據(jù)的傳送操作,也可以直接根據(jù)標(biāo)志暫存器Fl…Fn所提供的各種系統(tǒng)狀態(tài),而執(zhí)行相對(duì)應(yīng)數(shù)據(jù)的傳送操作,譬如停止執(zhí)行相對(duì)應(yīng)于一失效硬盤機(jī)的數(shù)據(jù)傳輸。數(shù)據(jù)暫存器251…255是用以在數(shù)據(jù)流的訊號(hào)處理過程中,暫時(shí)儲(chǔ)存要寫入或讀出的數(shù)據(jù)。硬盤存取控制器261…265是用以分別執(zhí)行對(duì)硬盤機(jī)A281…E285的存取操作處理。請(qǐng)注意,在本文敘述中,"儲(chǔ)存區(qū)塊"是用以定義儲(chǔ)存裝置的最小存取單位。對(duì)圖2以目前硬盤機(jī)作為儲(chǔ)存裝置的實(shí)施例而言,"儲(chǔ)存區(qū)塊"即為以存取地址能存取的一個(gè)磁區(qū)(Sector),所以硬盤存取控制器261…265就可以磁區(qū)為基本存取單位,執(zhí)行對(duì)硬盤機(jī)A281…E285的存取操作處理。另外,在數(shù)據(jù)的處理過程中,不管是分流(分散配置)、聚流(組合)、或執(zhí)行異或運(yùn)算等,皆使用"儲(chǔ)存區(qū)塊"為運(yùn)作單位。磁盤陣列5控制器210的概略讀取工作原理舉例如下,當(dāng)硬盤機(jī)A281失效時(shí),指令解碼器225接收到控制器220傳來的讀取指令后,就可根據(jù)標(biāo)志暫存器Fl的邏輯1狀態(tài),而解碼出相對(duì)應(yīng)的讀取程序控制指令,此讀取程序控制指令所控制的操作程序可包含硬盤存取控制器262…265分別執(zhí)行對(duì)正常硬盤機(jī)B282…E285的數(shù)據(jù)讀取操作,以產(chǎn)生多條讀出數(shù)據(jù)分流,禁止硬盤存取控制器261對(duì)失效硬盤機(jī)A281執(zhí)行數(shù)據(jù)讀取操作,數(shù)據(jù)暫存器252…255暫存硬盤機(jī)B282…E285所讀出的該些讀出數(shù)據(jù)分流,傳輸控制器242…245以并列傳輸模式將數(shù)據(jù)暫存器252…255所儲(chǔ)存的該些讀出數(shù)據(jù)分流傳送至異或運(yùn)算單元235,異或運(yùn)算單元235執(zhí)行對(duì)該些讀出數(shù)據(jù)分流的異或運(yùn)算處理,以恢復(fù)原本要從硬盤機(jī)A281讀出的讀出數(shù)據(jù)分流,也就是說,傳輸控制器241根據(jù)硬盤機(jī)A281的失效狀態(tài)而不執(zhí)行數(shù)據(jù)傳輸處理,異或運(yùn)算單元235則以被恢復(fù)的讀出數(shù)據(jù)分流取代原本要從傳輸控制器241接收的讀出數(shù)據(jù)分流,其后,將被恢復(fù)的讀出數(shù)據(jù)分流及所讀出的4條讀出數(shù)據(jù)分流由5條并列傳輸管道傳送至數(shù)據(jù)配置及組合單元230,以及數(shù)據(jù)配置及組合單元230從并列輸入的5條讀出數(shù)據(jù)分流中,棄除奇偶校驗(yàn)數(shù)據(jù)后,將所要的讀出數(shù)據(jù)以儲(chǔ)存區(qū)塊為處理單位而依序組合為一讀出數(shù)據(jù)流,經(jīng)由控制器220傳送至主機(jī)201。
      在上述有關(guān)磁盤陣列5控制器210的概略讀取工作原理中,從硬盤機(jī)數(shù)據(jù)讀取到數(shù)據(jù)組合,是并行串列處理,再直接匯合的程序。所以相較于傳統(tǒng)技術(shù),依本發(fā)明的磁盤陣列5控制器210可提供更高效率的數(shù)據(jù)讀取方法。
      至于磁盤陣列5控制器210的概略寫入工作原理舉例如下,當(dāng)硬盤機(jī)A281失效時(shí),指令解碼器225接收到控制器220傳來的寫入指令后,就可根據(jù)標(biāo)志暫存器F1的邏輯1狀態(tài),而解碼出相對(duì)應(yīng)的寫入程序控制指令,此寫入程序控制指令所控制的操作程序可包含數(shù)據(jù)配置及組合單元230從控制器220接收由主機(jī)201傳來的一寫入數(shù)據(jù)流,將寫入數(shù)據(jù)流的數(shù)據(jù)以儲(chǔ)存區(qū)塊為處理單位而分散配置至5條寫入數(shù)據(jù)分流,再并列傳送至異或運(yùn)算單元235,異或運(yùn)算單元235執(zhí)行相對(duì)應(yīng)于正常硬盤機(jī)B282…E285的奇偶校驗(yàn)數(shù)據(jù)產(chǎn)生處理,即根據(jù)5條并列輸入的寫入數(shù)據(jù)分流,執(zhí)行異或運(yùn)算處理以產(chǎn)生要儲(chǔ)存于硬盤機(jī)B282…E285的奇偶校驗(yàn)數(shù)據(jù),并將奇偶校驗(yàn)數(shù)據(jù)以儲(chǔ)存區(qū)塊為處理單位而插入相對(duì)應(yīng)的寫入數(shù)據(jù)分流,再將相對(duì)應(yīng)于正常硬盤機(jī)B282…E285的4條寫入
      16數(shù)據(jù)分流分別經(jīng)由傳輸控制器242…245及數(shù)據(jù)暫存器252…255,并列傳送至 硬盤存取控制器262…265,其后,硬盤存取控制器262…265就分別將相對(duì)應(yīng) 的寫入數(shù)據(jù)分流寫入硬盤機(jī)B282…E285。
      在上述有關(guān)磁盤陣列5控制器210的概略寫入工作原理中,從主機(jī)201輸 入的寫入數(shù)據(jù)流的分散配置到寫入硬盤機(jī),仍為并行串列處理。所以相較于傳 統(tǒng)技術(shù),依本發(fā)明的磁盤陣列5控制器210也可提供更高效率的數(shù)據(jù)寫入方法。
      此外,磁盤陣列5控制器210在不同硬盤機(jī)狀態(tài)及不同儲(chǔ)存區(qū)域的數(shù)據(jù)存 取細(xì)節(jié)操作原理,則分別配合圖3至圖10,舉例說明如下。請(qǐng)參考圖3,圖3 系顯示沒有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于讀取操作的儲(chǔ)存區(qū)塊陣列示意圖。 沒有失效硬盤機(jī)的數(shù)據(jù)讀取方法,以圖3的五硬盤機(jī)A、 B、 C、 D及E為例, 所要讀取的儲(chǔ)存區(qū)域是以粗線包圍所涵蓋的區(qū)域,標(biāo)示為Pil至Pi8的儲(chǔ)存區(qū) 塊是奇偶校驗(yàn)儲(chǔ)存區(qū)塊,儲(chǔ)存區(qū)塊所標(biāo)示的數(shù)字表示相對(duì)應(yīng)于所要讀取的數(shù)據(jù) 順序,也就是說,數(shù)據(jù)是以儲(chǔ)存區(qū)塊O、儲(chǔ)存區(qū)塊1至儲(chǔ)存區(qū)塊28的順序而循 序輸出,至于不在所要讀取的儲(chǔ)存區(qū)域的儲(chǔ)存區(qū)塊,則根據(jù)其在所要讀取的儲(chǔ) 存區(qū)域之后或之前,而編以后續(xù)數(shù)字,或負(fù)數(shù)數(shù)字。
      所以,讀出數(shù)據(jù)是從硬盤機(jī)C的儲(chǔ)存區(qū)塊O開始,循序至硬盤機(jī)D的儲(chǔ)存 區(qū)塊28結(jié)束。因沒有失效硬盤機(jī),所以讀取操作并不需要奇偶校驗(yàn)儲(chǔ)存區(qū)塊 的數(shù)據(jù),因此位于上下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pil及Pi8可直接省略不讀, 但對(duì)于非上下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pi2至Pi7,基于個(gè)別硬盤機(jī)循序讀取方 式及效率因素仍然讀出,只是其后會(huì)被數(shù)據(jù)配置及組合單元230棄除。
      根據(jù)上述方法,當(dāng)指令解碼器225接收到控制器220傳來的主機(jī)201的讀 取指令,并根據(jù)標(biāo)志暫存器狀態(tài)解碼出相對(duì)應(yīng)的讀取程序控制指令后,硬盤存 取控制器261即控制硬盤機(jī)A依序讀出儲(chǔ)存區(qū)塊2、 Pi3、 10、 14、 18及22所 儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器251,硬盤存 取控制器262即控制硬盤機(jī)B依序讀出儲(chǔ)存區(qū)塊3、 6、 Pi4、 15、 19、 23及26 所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器252,硬盤 存取控制器263即控制硬盤機(jī)C依序讀出儲(chǔ)存區(qū)塊O、 4、 7、 11、 Pi5、 20、 24 及27所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器253, 硬盤存取控制器264即控制硬盤機(jī)D依序讀出儲(chǔ)存區(qū)塊5、 8、 12、 16、 Pi6、
      1725及28所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器254, 硬盤存取控制器265即控制硬盤機(jī)E依序讀出儲(chǔ)存區(qū)塊1、 Pi2、 9、 13、 17、 21及Pi7所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器255。 也就是說,根據(jù)標(biāo)志暫存器狀態(tài)所提供的信息,硬盤機(jī)A略過位于儲(chǔ)存區(qū)域下 邊界的儲(chǔ)存區(qū)塊Pi8的數(shù)據(jù)讀取,硬盤機(jī)D略過位于儲(chǔ)存區(qū)域上邊界的儲(chǔ)存區(qū) 塊Pil的數(shù)據(jù)讀取,用以提高讀取效率。
      其后,傳輸控制器241…245將數(shù)據(jù)暫存器251…255所儲(chǔ)存的該些讀出數(shù) 據(jù)分流的數(shù)據(jù)依序傳送至異或運(yùn)算單元235,由于沒有失效硬盤機(jī),所以不需 要執(zhí)行異或運(yùn)算處理以恢復(fù)數(shù)據(jù),因此,異或運(yùn)算單元235直接將并行傳入的 該些讀出數(shù)據(jù)分流,直接并行傳送至數(shù)據(jù)配置及組合單元230。數(shù)據(jù)配置及組 合單元230從并行傳入的該些讀出數(shù)據(jù)分流中,棄除奇偶校驗(yàn)數(shù)據(jù)后,以儲(chǔ)存 區(qū)塊為處理單位而依序組合所要的讀出數(shù)據(jù)以產(chǎn)生一讀出數(shù)據(jù)流,經(jīng)由控制器 220傳送至主機(jī)201。
      請(qǐng)參考圖4,圖4是顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于讀取操作的 儲(chǔ)存區(qū)塊陣列的第一范例示意圖。有失效硬盤機(jī)的數(shù)據(jù)讀取方法,以圖4的五 硬盤機(jī)A、 B、 C、 D及E為例,其中硬盤機(jī)C為一失效硬盤機(jī),所要讀取的 儲(chǔ)存區(qū)域仍為以粗線包圍所涵蓋的區(qū)域。要讀出的數(shù)據(jù)原本應(yīng)以儲(chǔ)存區(qū)塊0、 儲(chǔ)存區(qū)塊1至儲(chǔ)存區(qū)塊13的順序而循序輸出,換句話說,要讀出的數(shù)據(jù)原本 應(yīng)從硬盤機(jī)C的儲(chǔ)存區(qū)塊O開始,循序至硬盤機(jī)C的儲(chǔ)存區(qū)塊13結(jié)束。但由 于硬盤機(jī)C為失效硬盤機(jī),所以要從硬盤機(jī)C讀出的數(shù)據(jù),就要根據(jù)其余4硬 盤機(jī)的數(shù)據(jù)的異或運(yùn)算處理而取得。
      因此要取得儲(chǔ)存區(qū)塊0的數(shù)據(jù)時(shí),就要讀取儲(chǔ)存區(qū)塊-1、 Pu、 l及2的數(shù) 據(jù),經(jīng)由異或運(yùn)算處理而取得原儲(chǔ)存區(qū)塊O的數(shù)據(jù),換句話說,儲(chǔ)存區(qū)塊-l及 Pu雖然不在所要讀取的儲(chǔ)存區(qū)域中,但仍要讀取其儲(chǔ)存的數(shù)據(jù)。同理,要取得 儲(chǔ)存區(qū)塊13的數(shù)據(jù)時(shí),就要讀取儲(chǔ)存區(qū)塊ll、 12、 14及Pd的數(shù)據(jù),經(jīng)由異 或運(yùn)算處理而取得原儲(chǔ)存區(qū)塊13的數(shù)據(jù),換句話說,儲(chǔ)存區(qū)塊14及Pd雖然 不在所要讀取的儲(chǔ)存區(qū)域中,但仍要讀取其儲(chǔ)存的數(shù)據(jù)。
      根據(jù)上述方法,當(dāng)指令解碼器225接收到控制器220傳來的主機(jī)201的讀 取指令,并根據(jù)標(biāo)志暫存器狀態(tài)解碼出相對(duì)應(yīng)的讀取程序控制指令后,硬盤存取控制器261即控制硬盤機(jī)A依序讀出儲(chǔ)存區(qū)塊-l、 3、 7及11所儲(chǔ)存的數(shù)據(jù), 以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器251,硬盤存取控制器262 即控制硬盤機(jī)B依序讀出儲(chǔ)存區(qū)塊Pu、 4、 8及12所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀 出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器252,硬盤機(jī)C為失效硬盤機(jī),所以硬 盤存取控制器263不執(zhí)行數(shù)據(jù)讀取,硬盤存取控制器264即控制硬盤機(jī)D依序 讀出儲(chǔ)存區(qū)塊l、 5、 Pi2及14所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序 傳送至數(shù)據(jù)暫存器254,硬盤存取控制器265即控制硬盤機(jī)E依序讀出儲(chǔ)存區(qū) 塊2、 6、 10及Pd所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù) 暫存器255,也就是說,根據(jù)標(biāo)志暫存器狀態(tài)所提供的硬盤機(jī)C失效信息以及 根據(jù)讀取程序控制指令,硬盤機(jī)A要多讀位于儲(chǔ)存區(qū)域上邊界的儲(chǔ)存區(qū)塊-l的 數(shù)據(jù),硬盤機(jī)B要多讀位于儲(chǔ)存區(qū)域上邊界的儲(chǔ)存區(qū)塊Pu的數(shù)據(jù),硬盤機(jī)D 要多讀位于儲(chǔ)存區(qū)域下邊界的儲(chǔ)存區(qū)塊14的數(shù)據(jù),硬盤機(jī)E要多讀位于儲(chǔ)存 區(qū)域下邊界的儲(chǔ)存區(qū)塊Pd的數(shù)據(jù)。
      其后,傳輸控制器241、 242、 244及245將數(shù)據(jù)暫存器251、 252、 254及 255所儲(chǔ)存的該些讀出數(shù)據(jù)分流的數(shù)據(jù)依序傳送至異或運(yùn)算單元235。根據(jù)標(biāo) 志暫存器狀態(tài)所提供的硬盤機(jī)C失效信息以及根據(jù)讀取程序控制指令,異或運(yùn) 算單元235執(zhí)行異或運(yùn)算處理以恢復(fù)硬盤機(jī)C的儲(chǔ)存區(qū)塊0、 9及13的數(shù)據(jù), 即恢復(fù)一讀出數(shù)據(jù)分流,至于儲(chǔ)存區(qū)塊Pil則可根據(jù)標(biāo)志暫存器狀態(tài)知其為奇 偶校驗(yàn)儲(chǔ)存區(qū)塊,所以并不需要執(zhí)行異或運(yùn)算處理恢復(fù)其奇偶校驗(yàn)數(shù)據(jù),接著, 異或運(yùn)算單元235將并行傳入的4條讀出數(shù)據(jù)分流及被恢復(fù)的讀出數(shù)據(jù)分流, 并行傳送至數(shù)據(jù)配置及組合單元230。數(shù)據(jù)配置及組合單元230從并行傳入的 5條讀出數(shù)據(jù)分流中,棄除奇偶校驗(yàn)數(shù)據(jù)后,以儲(chǔ)存區(qū)塊為處理單位而依序組 合所要的讀出數(shù)據(jù)以產(chǎn)生一讀出數(shù)據(jù)流,經(jīng)由控制器220傳送至主機(jī)201。
      請(qǐng)參考圖5,圖5是顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于讀取操作的 儲(chǔ)存區(qū)塊陣列的第二范例示意圖。有失效硬盤機(jī)的數(shù)據(jù)讀取方法,以圖5的五 硬盤機(jī)A、 B、 C、 D及E為例,其中硬盤機(jī)D為一失效硬盤機(jī),所要讀取的 儲(chǔ)存區(qū)域仍為以粗線包圍所涵蓋的區(qū)域。要讀出的數(shù)據(jù)原本應(yīng)以儲(chǔ)存區(qū)塊0、 儲(chǔ)存區(qū)塊1至儲(chǔ)存區(qū)塊11的順序而循序輸出,換句話說,要讀出的數(shù)據(jù)原本 應(yīng)從硬盤機(jī)C的儲(chǔ)存區(qū)塊O開始,循序至硬盤機(jī)C的儲(chǔ)存區(qū)塊11結(jié)束。但由
      19于硬盤機(jī)D為失效硬盤機(jī),所以要從硬盤機(jī)D讀出的數(shù)據(jù),就要根據(jù)其余4 硬盤機(jī)的數(shù)據(jù)的異或運(yùn)算處理而取得。
      因硬盤機(jī)D的上邊界儲(chǔ)存區(qū)塊Pil是為一奇偶校驗(yàn)儲(chǔ)存區(qū)塊,故可略過其 數(shù)據(jù)恢復(fù)所需的異或運(yùn)算處理,所以儲(chǔ)存區(qū)塊-1及-2并不需因硬盤機(jī)D的失效 而讀取。至于硬盤機(jī)D的下邊界儲(chǔ)存區(qū)塊12,并不在所要讀取的儲(chǔ)存區(qū)域內(nèi), 所以不需執(zhí)行異或運(yùn)算處理以恢復(fù)其數(shù)據(jù),因此儲(chǔ)存區(qū)塊13并不需因硬盤機(jī)D 的失效而讀取。此外,硬盤機(jī)B的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pi4因在下邊界,且不需 用以恢復(fù)失效儲(chǔ)存區(qū)塊12的數(shù)據(jù),所以,也不需讀取。
      根據(jù)上述方法,當(dāng)指令解碼器225接收到控制器220傳來的主機(jī)201的讀 取指令,并根據(jù)標(biāo)志暫存器狀態(tài)解碼出相對(duì)應(yīng)的讀取程序控制指令后,硬盤存 取控制器261即控制硬盤機(jī)A依序讀出儲(chǔ)存區(qū)塊2、 Pi3及IO所儲(chǔ)存的數(shù)據(jù), 以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器251,硬盤存取控制器262 即控制硬盤機(jī)B依序讀出儲(chǔ)存區(qū)塊3及6所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分 流,并依序傳送至數(shù)據(jù)暫存器252,硬盤存取控制器263即控制硬盤機(jī)C依序 讀出儲(chǔ)存區(qū)塊0、 4、 7及11所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序 傳送至數(shù)據(jù)暫存器253,硬盤機(jī)D為失效硬盤機(jī),所以硬盤存取控制器264不 執(zhí)行數(shù)據(jù)讀取,硬盤存取控制器265即控制硬盤機(jī)E依序讀出儲(chǔ)存區(qū)塊1、 Pi2 及9所儲(chǔ)存的數(shù)據(jù),以產(chǎn)生一讀出數(shù)據(jù)分流,并依序傳送至數(shù)據(jù)暫存器255。
      其后,傳輸控制器241、 242、 243及245將數(shù)據(jù)暫存器251、 252、 253及 255所儲(chǔ)存的該些讀出數(shù)據(jù)分流的數(shù)據(jù)依序傳送至異或運(yùn)算單元235。根據(jù)標(biāo) 志暫存器狀態(tài)所提供的硬盤機(jī)D失效信息,異或運(yùn)算單元235執(zhí)行異或運(yùn)算處 理以恢復(fù)硬盤機(jī)D的儲(chǔ)存區(qū)塊5及8的數(shù)據(jù),即恢復(fù)一讀出數(shù)據(jù)分流,至于儲(chǔ) 存區(qū)塊Pil則可根據(jù)標(biāo)志暫存器狀態(tài)知其為奇偶校驗(yàn)儲(chǔ)存區(qū)塊,所以并不需要 執(zhí)行異或運(yùn)算處理恢復(fù)其奇偶校驗(yàn)數(shù)據(jù),接著,異或運(yùn)算單元235將并行傳入 的4條讀出數(shù)據(jù)分流及被恢復(fù)的讀出數(shù)據(jù)分流,并行傳送至數(shù)據(jù)配置及組合單 元230。數(shù)據(jù)配置及組合單元230從并行傳入的5條讀出數(shù)據(jù)分流中,棄除奇 偶校驗(yàn)數(shù)據(jù)后,以儲(chǔ)存區(qū)塊為處理單位而依序組合所要的讀出數(shù)據(jù)以產(chǎn)生一讀 出數(shù)據(jù)流,經(jīng)由控制器220傳送至主機(jī)201。
      請(qǐng)參考圖6,圖6是顯示沒有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的
      20儲(chǔ)存區(qū)塊陣列的第一范例示意圖。沒有失效硬盤機(jī)的數(shù)據(jù)寫入方法,以圖6的
      五硬盤機(jī)A、 B、 C、 D及E為例,所要寫入的儲(chǔ)存區(qū)域?yàn)橐源志€包圍所涵蓋的
      區(qū)域,儲(chǔ)存區(qū)塊所標(biāo)示的數(shù)字表示相對(duì)應(yīng)于所要寫入的數(shù)據(jù)順序,也就是說,
      數(shù)據(jù)系以儲(chǔ)存區(qū)塊0、儲(chǔ)存區(qū)塊Pil至儲(chǔ)存區(qū)塊9的順序而循序?qū)懭耄劣诓?br> 在所要寫入的儲(chǔ)存區(qū)域的儲(chǔ)存區(qū)塊,則根據(jù)其在所要寫入的儲(chǔ)存區(qū)域之后或之 前,而編以后續(xù)數(shù)字,或負(fù)數(shù)數(shù)字。
      所以,寫入數(shù)據(jù)系從硬盤機(jī)D的儲(chǔ)存區(qū)塊O開始,循序至硬盤機(jī)A的儲(chǔ) 存區(qū)塊9結(jié)束。因沒有硬盤機(jī)失效,所以,在所要寫入的儲(chǔ)存區(qū)域內(nèi),所有儲(chǔ) 存區(qū)塊均要寫入數(shù)據(jù)。此外,不在所要寫入的儲(chǔ)存區(qū)域內(nèi),但位于上下邊界的 非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù)均要被讀取,用以執(zhí)行異或運(yùn)算處理產(chǎn)生位于上下 邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊的奇偶校驗(yàn)數(shù)據(jù)。而不論是否在所要寫入的儲(chǔ)存區(qū)域 內(nèi),位于上下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊的奇偶校驗(yàn)數(shù)據(jù)均要被更新或?qū)懭搿?br> 儲(chǔ)存區(qū)塊0的數(shù)據(jù)可以直接寫入,在上邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pil的奇 偶校驗(yàn)數(shù)據(jù),則要根據(jù)儲(chǔ)存區(qū)塊O、 -1、 -2及-3的數(shù)據(jù)的異或運(yùn)算處理產(chǎn)生, 也就是說,先要讀出不在所要寫入的儲(chǔ)存區(qū)域內(nèi)的儲(chǔ)存區(qū)塊-1、 -2及-3的數(shù)據(jù), 再配合儲(chǔ)存區(qū)塊0所要寫入的數(shù)據(jù),異或運(yùn)算單元235才能算出奇偶校驗(yàn)儲(chǔ)存 區(qū)塊Pil的奇偶校驗(yàn)數(shù)據(jù)。在下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd,并不在所要寫入 的儲(chǔ)存區(qū)域內(nèi),但奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd的奇偶校驗(yàn)數(shù)據(jù)因儲(chǔ)存區(qū)塊9的數(shù)據(jù) 寫入,所以要更新,因此儲(chǔ)存區(qū)塊IO、 ll及12的數(shù)據(jù)均要被讀出,配合儲(chǔ)存 區(qū)塊9所要寫入的數(shù)據(jù),異或運(yùn)算單元235才可執(zhí)行異或運(yùn)算處理以更新儲(chǔ)存 區(qū)塊Pd的奇偶校驗(yàn)數(shù)據(jù)。
      根據(jù)上述方法,當(dāng)指令解碼器225接收到控制器220傳來的主機(jī)201的寫 入指令,并根據(jù)標(biāo)志暫存器狀態(tài)解碼出相對(duì)應(yīng)的寫入程序控制指令后,數(shù)據(jù)配 置及組合單元230根據(jù)寫入程序控制指令,將主機(jī)201借由控制器220而傳來 的寫入數(shù)據(jù)流,執(zhí)行分散配置處理,即將寫入數(shù)據(jù)流以儲(chǔ)存區(qū)塊為處理單位而 分散配置為并行傳輸?shù)?條寫入數(shù)據(jù)分流,傳送至異或運(yùn)算單元235,異或運(yùn) 算單元235根據(jù)并行輸入的5條寫入數(shù)據(jù)分流,配合來自硬盤機(jī)的讀取數(shù)據(jù), 執(zhí)行異或運(yùn)算處理產(chǎn)生所要寫入或更新的奇偶校驗(yàn)數(shù)據(jù),至于是否需要配合來 自硬盤機(jī)的讀取數(shù)據(jù)以產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),系由硬盤存取控制器261…265與傳輸控制器241…245根據(jù)寫入程序控制指令以及標(biāo)志暫存器的狀態(tài),而控制 可能的數(shù)據(jù)讀取操作,在下述各硬盤機(jī)的數(shù)據(jù)寫入方法的操作程序中,即提供 可能的數(shù)據(jù)讀取操作狀況。
      數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)A的操作程序,包含由硬盤存取控制器261控制 硬盤機(jī)A讀出儲(chǔ)存區(qū)塊-3所儲(chǔ)存的數(shù)據(jù)、將奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pi2、 及將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊5及9,其中儲(chǔ)存區(qū)塊Pi2所要寫入的奇偶校驗(yàn)數(shù)據(jù), 是由異或運(yùn)算單元235根據(jù)儲(chǔ)存區(qū)塊1、 2、 3及4所要寫入的數(shù)據(jù),執(zhí)行異或 運(yùn)算處理所產(chǎn)生。
      數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)B的操作程序,包含由硬盤存取控制器262控制 硬盤機(jī)B讀出儲(chǔ)存區(qū)塊-2所儲(chǔ)存的數(shù)據(jù)、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊l、將奇偶校驗(yàn) 數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pi3、及讀出儲(chǔ)存區(qū)塊IO的數(shù)據(jù),其中儲(chǔ)存區(qū)塊Pi3所要寫 入的奇偶校驗(yàn)數(shù)據(jù),是由異或運(yùn)算單元235根據(jù)儲(chǔ)存區(qū)塊5、 6、 7及8所要寫 入的數(shù)據(jù),執(zhí)行異或運(yùn)算處理所產(chǎn)生。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)C的操作程序, 包含由硬盤存取控制器263控制硬盤機(jī)C讀出儲(chǔ)存區(qū)塊-1所儲(chǔ)存的數(shù)據(jù)、將數(shù) 據(jù)寫入儲(chǔ)存區(qū)塊2及6、及更新儲(chǔ)存區(qū)塊Pd的奇偶校驗(yàn)數(shù)據(jù),其中儲(chǔ)存區(qū)塊 Pd所要更新的奇偶校驗(yàn)數(shù)據(jù),是根據(jù)儲(chǔ)存區(qū)塊9所要寫入的數(shù)據(jù)及儲(chǔ)存區(qū)塊 10、 11及12所讀出的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。
      數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)D的操作程序,包含由硬盤存取控制器264控制 硬盤機(jī)D將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊O、 3及7、及讀出儲(chǔ)存區(qū)塊11的數(shù)據(jù)。數(shù)據(jù)寫 入方法對(duì)于硬盤機(jī)E的操作程序,包含由硬盤存取控制器265控制硬盤機(jī)E將 奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pil、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊4及8、及讀出儲(chǔ)存區(qū)塊 12的數(shù)據(jù),其中儲(chǔ)存區(qū)塊Pil所要寫入的奇偶校驗(yàn)數(shù)據(jù),系根據(jù)儲(chǔ)存區(qū)塊0所 要寫入的數(shù)據(jù)及儲(chǔ)存區(qū)塊-3、 -2及-1所讀出的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行 異或運(yùn)算處理所產(chǎn)生。
      請(qǐng)參考圖7,圖7是顯示沒有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的 儲(chǔ)存區(qū)塊陣列的第二范例示意圖。沒有失效硬盤機(jī)的數(shù)據(jù)寫入方法,以圖7的 五硬盤機(jī)A、 B、 C、 D及E為例,所要寫入的儲(chǔ)存區(qū)域仍為以粗線包圍所涵蓋 的區(qū)域。
      在上邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pil的奇偶校驗(yàn)數(shù)據(jù),系要根據(jù)儲(chǔ)存區(qū)塊0所要寫入的數(shù)據(jù),配合儲(chǔ)存區(qū)塊-1、 -2及-3所讀出的數(shù)據(jù),借由異或運(yùn)算單元
      235執(zhí)行異或運(yùn)算處理而產(chǎn)生。在下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pi2的奇偶校驗(yàn) 數(shù)據(jù),系要根據(jù)儲(chǔ)存區(qū)塊1所要寫入的數(shù)據(jù),配合儲(chǔ)存區(qū)塊2、 3及4所讀出 的數(shù)據(jù),借由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理而產(chǎn)生。
      根據(jù)上述方法,寫入數(shù)據(jù)流及寫入指令的前級(jí)處理類似于圖6的第一范例 說明,不再贅述,而直接說明如何控制各硬盤機(jī)在數(shù)據(jù)寫入方法中的操作程序。 數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)A的操作程序,包含由硬盤存取控制器261控制硬盤 機(jī)A讀出儲(chǔ)存區(qū)塊-3的數(shù)據(jù)、及將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pi2,其中儲(chǔ)存區(qū)塊Pi2 所要寫入的奇偶校驗(yàn)數(shù)據(jù),系根據(jù)儲(chǔ)存區(qū)塊1所要寫入的數(shù)據(jù)及儲(chǔ)存區(qū)塊2、 3 及4所讀出的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。數(shù)據(jù)寫入 方法對(duì)于硬盤機(jī)B的操作程序,包含由硬盤存取控制器262控制硬盤機(jī)B讀出 儲(chǔ)存區(qū)塊-2的數(shù)據(jù)、及將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊l。
      數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)C的操作程序,包含由硬盤存取控制器263控制 硬盤機(jī)C讀出儲(chǔ)存區(qū)塊-1及2的數(shù)據(jù)。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)D的操作程序, 包含由硬盤存取控制器264控制硬盤機(jī)D將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊0、及讀出儲(chǔ)存 區(qū)塊3的數(shù)據(jù)。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)E的操作程序,包含由硬盤存取控制 器265控制硬盤機(jī)E將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pil、及讀出儲(chǔ)存區(qū)塊4的數(shù)據(jù),其 中儲(chǔ)存區(qū)塊Pil所要寫入的奇偶校驗(yàn)數(shù)據(jù),系根據(jù)儲(chǔ)存區(qū)塊0所要寫入的數(shù)據(jù) 及儲(chǔ)存區(qū)塊-1、 -2及-3所讀出的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理 所產(chǎn)生。
      在另一種沒有失效硬盤機(jī)的寫入操作中,若所要寫入的儲(chǔ)存區(qū)域的相對(duì)應(yīng) 的上邊界及下邊界儲(chǔ)存區(qū)塊,均包含于所要寫入的儲(chǔ)存區(qū)域內(nèi)時(shí),則不需要執(zhí) 行任何額外的讀取操作,而可直接根據(jù)5條寫入數(shù)據(jù)分流的數(shù)據(jù),執(zhí)行異或運(yùn) 算處理以產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),再將奇偶校驗(yàn)數(shù)據(jù)以儲(chǔ)存區(qū)塊為處理單位而插入 相對(duì)應(yīng)的寫入數(shù)據(jù)分流后,就可將5條寫入數(shù)據(jù)分流并行寫入五硬盤機(jī)A、 B、 C、 D及E。
      請(qǐng)參考圖8,圖8是顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的 儲(chǔ)存區(qū)塊陣列的第一范例示意圖。具有失效硬盤機(jī)的數(shù)據(jù)寫入方法,以圖8的 五硬盤機(jī)A、 B、 C、 D及E為例,其中硬盤機(jī)D是為一失效硬盤機(jī),所要寫
      23入的儲(chǔ)存區(qū)域仍為以粗線包圍所涵蓋的區(qū)域。
      因硬盤機(jī)D為一失效硬盤機(jī),所以數(shù)據(jù)寫入方法的操作程序中,并沒有對(duì) 硬盤機(jī)D執(zhí)行任何寫入或讀取的操作,也就是說,原本要執(zhí)行對(duì)硬盤機(jī)D的寫
      入操作均略過,原本要執(zhí)行對(duì)硬盤機(jī)D的讀取操作以取得的數(shù)據(jù),則要由異或 運(yùn)算單元235對(duì)其余硬盤機(jī)的相對(duì)應(yīng)數(shù)據(jù)執(zhí)行異或運(yùn)算處理以產(chǎn)生。
      所以,對(duì)于在上邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pil而言,所要寫入的奇偶校驗(yàn) 數(shù)據(jù),是根據(jù)儲(chǔ)存區(qū)塊-1、 -2及-3所讀出的數(shù)據(jù),配合硬盤機(jī)D的儲(chǔ)存區(qū)塊O 原本要寫入的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理而產(chǎn)生。對(duì)于在下 邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd而言,因硬盤機(jī)D的儲(chǔ)存區(qū)塊11的數(shù)據(jù)已失效, 所以要更新奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd的奇偶校驗(yàn)數(shù)據(jù)之前,先要讀取原本儲(chǔ)存在 奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd的舊奇偶校驗(yàn)數(shù)據(jù)、儲(chǔ)存在儲(chǔ)存區(qū)塊9的舊數(shù)據(jù)、及儲(chǔ) 存區(qū)塊10及12的數(shù)據(jù),再根據(jù)所讀取的舊奇偶校驗(yàn)數(shù)據(jù)、儲(chǔ)存區(qū)塊9的舊數(shù) 據(jù)及儲(chǔ)存區(qū)塊10及12的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理以恢復(fù) 原本儲(chǔ)存在硬盤機(jī)D的儲(chǔ)存區(qū)塊11的數(shù)據(jù),其后,再根據(jù)儲(chǔ)存區(qū)塊ll被恢復(fù) 的數(shù)據(jù)、儲(chǔ)存區(qū)塊9所要寫入的數(shù)據(jù)及儲(chǔ)存區(qū)塊IO及12所讀出的數(shù)據(jù),由異 或運(yùn)算單元235執(zhí)行異或運(yùn)算處理以更新奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd的奇偶校驗(yàn)數(shù) 據(jù)。
      根據(jù)上述方法,寫入數(shù)據(jù)流及寫入指令的前級(jí)處理類似于圖6的第一范例 說明,不再贅述,而直接說明如何控制各硬盤機(jī)在數(shù)據(jù)寫入方法中的操作程序。 數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)A的操作程序,包含由硬盤存取控制器261控制硬盤 機(jī)A讀出儲(chǔ)存區(qū)塊-3的數(shù)據(jù)、將奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pi2、將數(shù)據(jù)寫入 儲(chǔ)存區(qū)塊5、讀出儲(chǔ)存區(qū)塊9的舊數(shù)據(jù)及將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊9,其中儲(chǔ)存區(qū) 塊Pi2所要寫入的奇偶校驗(yàn)數(shù)據(jù),是根據(jù)儲(chǔ)存區(qū)塊l、 2、 3及4所要寫入的數(shù) 據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī) B的操作程序,包含由硬盤存取控制器262控制硬盤機(jī)B讀出儲(chǔ)存區(qū)塊-2的數(shù) 據(jù)、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊l、將奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pi3、及讀出儲(chǔ)存區(qū) 塊IO的數(shù)據(jù),其中儲(chǔ)存區(qū)塊Pi3所要寫入的奇偶校驗(yàn)數(shù)據(jù),是根據(jù)儲(chǔ)存區(qū)塊5、 6、 7及8所要寫入的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。
      數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)C的操作程序,包含由硬盤存取控制器263控制
      24硬盤機(jī)C讀出儲(chǔ)存區(qū)塊-1的數(shù)據(jù)、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊2及6、讀出儲(chǔ)存區(qū)塊 Pd的舊奇偶校驗(yàn)數(shù)據(jù)、及更新儲(chǔ)存區(qū)塊Pd的奇偶校驗(yàn)數(shù)據(jù),讀出儲(chǔ)存區(qū)塊Pd
      的舊奇偶校驗(yàn)數(shù)據(jù)系用以配合儲(chǔ)存區(qū)塊9所讀出的舊數(shù)據(jù)及儲(chǔ)存區(qū)塊10及12 所讀出的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理以恢復(fù)儲(chǔ)存區(qū)塊11的 數(shù)據(jù),其后,儲(chǔ)存區(qū)塊Pd所要更新的奇偶校驗(yàn)數(shù)據(jù),即可根據(jù)儲(chǔ)存區(qū)塊ll被 恢復(fù)的數(shù)據(jù)、儲(chǔ)存區(qū)塊9所要寫入的數(shù)據(jù)及儲(chǔ)存區(qū)塊10及12所讀出的數(shù)據(jù), 由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)E的 操作程序,包含由硬盤存取控制器265控制硬盤機(jī)E將奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存 區(qū)塊Pil、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊4及8、及讀出儲(chǔ)存區(qū)塊12的數(shù)據(jù),其中儲(chǔ)存 區(qū)塊Pil所要寫入的奇偶校驗(yàn)數(shù)據(jù),是根據(jù)儲(chǔ)存區(qū)塊O所要寫入的數(shù)據(jù)(雖然并 不執(zhí)行儲(chǔ)存區(qū)塊0的數(shù)據(jù)寫入程序)及儲(chǔ)存區(qū)塊-3、 -2及-1所讀出的數(shù)據(jù),由異 或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。
      請(qǐng)參考圖9,圖9是顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作的 儲(chǔ)存區(qū)塊陣列的第二范例示意圖。具有失效硬盤機(jī)的數(shù)據(jù)寫入方法,以圖9的 五硬盤機(jī)A、 B、 C、 D及E為例,其中硬盤機(jī)C為一失效硬盤機(jī),所要寫入 的儲(chǔ)存區(qū)域仍為以粗線包圍所涵蓋的區(qū)域。
      因硬盤機(jī)C為一失效硬盤機(jī),所以數(shù)據(jù)寫入方法的操作程序中,并沒有對(duì) 硬盤機(jī)C執(zhí)行任何寫入或讀取的操作,也就是說,原本要執(zhí)行對(duì)硬盤機(jī)C的寫 入操作均略過,原本要執(zhí)行對(duì)硬盤機(jī)C的讀取操作以取得的數(shù)據(jù),則要由異或 運(yùn)算單元235對(duì)其余硬盤機(jī)的相對(duì)應(yīng)數(shù)據(jù)執(zhí)行異或運(yùn)算處理以產(chǎn)生。
      所以,對(duì)于在上邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pil而言,所要寫入的奇偶校驗(yàn) 數(shù)據(jù),是根據(jù)儲(chǔ)存區(qū)塊-1、 -2及-3所讀出的數(shù)據(jù),配合硬盤機(jī)D的儲(chǔ)存區(qū)塊O 要寫入的數(shù)據(jù),執(zhí)行異或運(yùn)算處理而產(chǎn)生,但儲(chǔ)存區(qū)塊-1為失效儲(chǔ)存區(qū)塊,所 以要恢復(fù)儲(chǔ)存區(qū)塊-1的數(shù)據(jù),即先要讀出儲(chǔ)存區(qū)塊-2及-3的數(shù)據(jù),及讀出儲(chǔ)存 區(qū)塊0及Pil的舊數(shù)據(jù)及舊奇偶校驗(yàn)數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算 處理以恢復(fù)儲(chǔ)存區(qū)塊-1的數(shù)據(jù),接著,才能計(jì)算產(chǎn)生儲(chǔ)存區(qū)塊Pil所要寫入的 奇偶校驗(yàn)數(shù)據(jù)。對(duì)于在下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd而言,因其為失效儲(chǔ)存 區(qū)塊,所以不需額外處理。
      根據(jù)上述方法,寫入數(shù)據(jù)流及寫入指令的前級(jí)處理類似于圖6的第一范例說明,不再贅述,而直接說明如何控制各硬盤機(jī)在數(shù)據(jù)寫入方法中的操作程序。 數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)A的操作程序,包含由硬盤存取控制器261控制硬盤
      機(jī)A讀出儲(chǔ)存區(qū)塊-3的數(shù)據(jù)、將奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pi2、及將數(shù)據(jù)寫 入儲(chǔ)存區(qū)塊5及9,其中儲(chǔ)存區(qū)塊Pi2所要寫入的奇偶校驗(yàn)數(shù)據(jù),是根據(jù)儲(chǔ)存 區(qū)塊l、 2、 3及4所要寫入的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所 產(chǎn)生。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)B的操作程序,包含由硬盤存取控制器262控 制硬盤機(jī)B讀出儲(chǔ)存區(qū)塊-2的數(shù)據(jù)、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊l、及將奇偶校驗(yàn)數(shù) 據(jù)寫入儲(chǔ)存區(qū)塊Pi3,其中儲(chǔ)存區(qū)塊Pi3所要寫入的奇偶校驗(yàn)數(shù)據(jù),系根據(jù)儲(chǔ)存 區(qū)塊5、 6、 7及8所要寫入的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所 產(chǎn)生。
      數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)D的操作程序,包含由硬盤存取控制器264控制 硬盤機(jī)D讀出儲(chǔ)存區(qū)塊O的舊數(shù)據(jù)、及將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊0、 3及7。數(shù)據(jù)寫 入方法對(duì)于硬盤機(jī)E的操作程序,包含由硬盤存取控制器265控制硬盤機(jī)E讀 出儲(chǔ)存區(qū)塊Pil的舊奇偶校驗(yàn)數(shù)據(jù)、將奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pil、及將數(shù) 據(jù)寫入儲(chǔ)存區(qū)塊4及8,其中儲(chǔ)存區(qū)塊Pil所要寫入的奇偶校驗(yàn)數(shù)據(jù),是根據(jù) 儲(chǔ)存區(qū)塊0所要寫入的數(shù)據(jù)、儲(chǔ)存區(qū)塊-3及-2所讀出的數(shù)據(jù)、及儲(chǔ)存區(qū)塊-l被 恢復(fù)的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。
      請(qǐng)參考圖10,圖IO是顯示具有失效硬盤機(jī)的五硬盤機(jī)的對(duì)應(yīng)于寫入操作 的儲(chǔ)存區(qū)塊陣列的第三范例示意圖。具有失效硬盤機(jī)的數(shù)據(jù)寫入方法,以圖10 的五硬盤機(jī)A、 B、 C、 D及E為例,其中硬盤機(jī)C是為一失效硬盤機(jī),所要 寫入的儲(chǔ)存區(qū)域仍為以粗線包圍所涵蓋的區(qū)域。
      同理,因硬盤機(jī)C為一失效硬盤機(jī),所以數(shù)據(jù)寫入方法的操作程序中,并 沒有對(duì)硬盤機(jī)C執(zhí)行任何寫入或讀取的操作,也就是說,原本要執(zhí)行對(duì)硬盤機(jī) C的寫入操作均略過,原本要執(zhí)行對(duì)硬盤機(jī)C的讀取操作以取得的數(shù)據(jù),則要 由異或運(yùn)算單元235對(duì)其余硬盤機(jī)的相對(duì)應(yīng)數(shù)據(jù)執(zhí)行異或運(yùn)算處理以產(chǎn)生。
      所以,對(duì)于在上邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pu而言,所要更新的奇偶校驗(yàn) 數(shù)據(jù),是根據(jù)儲(chǔ)存區(qū)塊-1、 -2及-3所讀出的數(shù)據(jù),配合硬盤機(jī)E的儲(chǔ)存區(qū)塊O 要寫入的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理而產(chǎn)生,但儲(chǔ)存區(qū)塊-2 為失效儲(chǔ)存區(qū)塊,所以要恢復(fù)儲(chǔ)存區(qū)塊-2的數(shù)據(jù),即先要讀出儲(chǔ)存區(qū)塊-1及-3
      26的數(shù)據(jù),及讀出儲(chǔ)存區(qū)塊0及Pu的舊數(shù)據(jù)及舊奇偶校驗(yàn)數(shù)據(jù),由異或運(yùn)算單
      元235執(zhí)行異或運(yùn)算處理以恢復(fù)儲(chǔ)存區(qū)塊-2的數(shù)據(jù),接著,才能計(jì)算產(chǎn)生儲(chǔ)存 區(qū)塊Pu所要更新的奇偶校驗(yàn)數(shù)據(jù)。對(duì)于在下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊Pd而言, 所要更新的奇偶校驗(yàn)數(shù)據(jù),系根據(jù)儲(chǔ)存區(qū)塊6、 7及8所讀出的數(shù)據(jù),配合硬 盤機(jī)A的儲(chǔ)存區(qū)塊5所要寫入的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理 而產(chǎn)生,但儲(chǔ)存區(qū)塊7為失效儲(chǔ)存區(qū)塊,所以要恢復(fù)儲(chǔ)存區(qū)塊7的數(shù)據(jù),即先 要讀出儲(chǔ)存區(qū)塊6及8的數(shù)據(jù),及讀出儲(chǔ)存區(qū)塊5及Pd的舊數(shù)據(jù)及舊奇偶校 驗(yàn)數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理以恢復(fù)儲(chǔ)存區(qū)塊7的數(shù)據(jù),接 著,才能計(jì)算產(chǎn)生儲(chǔ)存區(qū)塊Pd所要更新的奇偶校驗(yàn)數(shù)據(jù)。
      根據(jù)上述方法,寫入數(shù)據(jù)流及寫入指令的前級(jí)處理類似于圖6的第一范例 說明,不再贅述,而直接說明如何控制各硬盤機(jī)在數(shù)據(jù)寫入方法中的操作程序。 數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)A的操作程序,包含由硬盤存取控制器261控制硬盤 機(jī)A讀出儲(chǔ)存區(qū)塊-3的數(shù)據(jù)、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊l、讀出儲(chǔ)存區(qū)塊5的舊數(shù) 據(jù)、及將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊5。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)B的操作程序,包含 由硬盤存取控制器262控制硬盤機(jī)B讀出儲(chǔ)存區(qū)塊Pu的舊奇偶校驗(yàn)數(shù)據(jù)、將 新奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pu、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊2、及讀出儲(chǔ)存區(qū)塊6 的數(shù)據(jù),其中儲(chǔ)存區(qū)塊Pu的新奇偶校驗(yàn)數(shù)據(jù)是根據(jù)儲(chǔ)存區(qū)塊-3及-1所讀出的 數(shù)據(jù)、儲(chǔ)存區(qū)塊-2被恢復(fù)的數(shù)據(jù)、及儲(chǔ)存區(qū)塊O所要寫入的數(shù)據(jù),由異或運(yùn)算 單元235執(zhí)行異或運(yùn)算處理所產(chǎn)生。
      數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)D的操作程序,包含由硬盤存取控制器264控制 硬盤機(jī)D讀出儲(chǔ)存區(qū)塊-1的數(shù)據(jù)、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊3、讀出儲(chǔ)存區(qū)塊Pd 的舊奇偶校驗(yàn)數(shù)據(jù)、及將新奇偶校驗(yàn)數(shù)據(jù)寫入儲(chǔ)存區(qū)塊Pd,其中儲(chǔ)存區(qū)塊Pd 的新奇偶校驗(yàn)數(shù)據(jù)系根據(jù)儲(chǔ)存區(qū)塊6及8所讀出的數(shù)據(jù)、儲(chǔ)存區(qū)塊7被恢復(fù)的 數(shù)據(jù)、及儲(chǔ)存區(qū)塊5所要寫入的數(shù)據(jù),由異或運(yùn)算單元235執(zhí)行異或運(yùn)算處理 所產(chǎn)生。數(shù)據(jù)寫入方法對(duì)于硬盤機(jī)E的操作程序,包含由硬盤存取控制器265 控制硬盤機(jī)E讀出儲(chǔ)存區(qū)塊O的舊數(shù)據(jù)、將數(shù)據(jù)寫入儲(chǔ)存區(qū)塊0、將數(shù)據(jù)寫入 儲(chǔ)存區(qū)塊4、及讀出儲(chǔ)存區(qū)塊8的數(shù)據(jù)。
      請(qǐng)參考圖11,圖11是配合圖2的磁盤陣列5控制器,并根據(jù)圖3至圖5 的讀取操作方法,以顯示依本發(fā)明的磁盤陣列5讀取方法1100的流程圖。磁盤陣列5讀取方法1100的流程包含下列步驟
      步驟S1110:控制器220接收來自主機(jī)201的一讀取指令,并傳送讀取指
      令至指令解碼器225;
      步驟S1115:指令解碼器225根據(jù)標(biāo)志暫存器狀態(tài)解碼讀取指令以產(chǎn)生相 對(duì)應(yīng)的讀取程序控制指令;
      步驟S1120:根據(jù)標(biāo)志暫存器狀態(tài)判斷是否有失效硬盤機(jī),若是,則執(zhí)行 步驟S1125,否則執(zhí)行步驟S1150;
      步驟S1125:相對(duì)應(yīng)于所有正常硬盤機(jī)的硬盤存取控制器,執(zhí)行相對(duì)應(yīng)數(shù) 據(jù)的讀取操作,用以產(chǎn)生多條讀出數(shù)據(jù)分流;
      步驟S1130:將該些讀出數(shù)據(jù)分流并列傳輸至異或運(yùn)算單元235;
      步驟S1135:異或運(yùn)算單元235根據(jù)該些讀出數(shù)據(jù)分流,執(zhí)行異或運(yùn)算處 理,以恢復(fù)相對(duì)應(yīng)于失效硬盤機(jī)的非奇偶校驗(yàn)數(shù)據(jù)分流;
      步驟S1140:將該些讀出數(shù)據(jù)分流及被恢復(fù)的非奇偶校驗(yàn)數(shù)據(jù)分流并列傳 輸至數(shù)據(jù)配置及組合單元230;
      步驟S1145:數(shù)據(jù)配置及組合單元230棄除該些讀出數(shù)據(jù)分流的奇偶校驗(yàn) 數(shù)據(jù),并配合被恢復(fù)的非奇偶校驗(yàn)數(shù)據(jù)分流,以儲(chǔ)存區(qū)塊為處理單位而依序組 合非奇偶校驗(yàn)數(shù)據(jù)以產(chǎn)生一讀出數(shù)據(jù)流,執(zhí)行步驟S1165;
      步驟S1150:硬盤存取控制器261…265分別對(duì)硬盤機(jī)A281…E285執(zhí)行相 對(duì)應(yīng)數(shù)據(jù)的讀取操作,用以產(chǎn)生多條讀出數(shù)據(jù)分流;
      步驟S1155:將該些讀出數(shù)據(jù)分流并列傳輸至數(shù)據(jù)配置及組合單元230;
      步驟S1160:數(shù)據(jù)配置及組合單元230從并列輸入的該些讀出數(shù)據(jù)分流中, 棄除奇偶校驗(yàn)數(shù)據(jù)后,以儲(chǔ)存區(qū)塊為處理單位而依序組合非奇偶校驗(yàn)數(shù)據(jù)以產(chǎn) 生一讀出數(shù)據(jù)流;
      步驟S1165:控制器220將讀出數(shù)據(jù)流傳送至主機(jī)201;以及
      步驟S1170:完成讀取操作。
      在上述磁盤陣列5讀取方法1100的流程中,步驟S1125所述的相對(duì)應(yīng)于 所有正常硬盤機(jī)的硬盤存取控制器,執(zhí)行相對(duì)應(yīng)數(shù)據(jù)的讀取操作,是為以磁區(qū) 為基本讀取單位,相對(duì)應(yīng)于所有正常硬盤機(jī)的硬盤存取控制器,執(zhí)行相對(duì)應(yīng)數(shù) 據(jù)的讀取操作。此外,步驟S1125所述的執(zhí)行相對(duì)應(yīng)數(shù)據(jù)的讀取操作,為當(dāng)失效硬盤機(jī)的非奇偶校驗(yàn)儲(chǔ)存區(qū)塊,包含有在所要讀出的儲(chǔ)存區(qū)域的上邊界儲(chǔ)存 區(qū)塊時(shí),則不包含于所要讀出的儲(chǔ)存區(qū)域的上邊界儲(chǔ)存區(qū)塊的數(shù)據(jù)也要讀取, 或當(dāng)失效硬盤機(jī)的非奇偶校驗(yàn)儲(chǔ)存區(qū)塊,包含有在所要讀出的儲(chǔ)存區(qū)域的下邊 界儲(chǔ)存區(qū)塊時(shí),則不包含于所要讀出的儲(chǔ)存區(qū)域的下邊界儲(chǔ)存區(qū)塊的數(shù)據(jù)也要
      讀取。步驟S1150所述的硬盤存取控制器261…265分別對(duì)硬盤機(jī)A281…E285 執(zhí)行相對(duì)應(yīng)數(shù)據(jù)的讀取操作,為硬盤存取控制器261…265以磁區(qū)為基本讀取 單位,分別對(duì)硬盤機(jī)A281…E285執(zhí)行相對(duì)應(yīng)數(shù)據(jù)的讀取操作
      請(qǐng)參考圖12,圖12是配合圖2的磁盤陣列5控制器,并根據(jù)圖6至圖10 的寫入操作方法,以顯示依本發(fā)明的磁盤陣列5寫入方法1200的流程圖。磁 盤陣列5寫入方法1200的流程包含下列步驟
      步驟S1210:控制器220接收來自主機(jī)201的一寫入指令及一寫入數(shù)據(jù)流, 并傳送寫入指令至指令解碼器225,及傳送寫入數(shù)據(jù)流至數(shù)據(jù)配置及組合單元 230;
      步驟S1215:指令解碼器225根據(jù)標(biāo)志暫存器狀態(tài)解碼寫入指令以產(chǎn)生相 對(duì)應(yīng)的寫入程序控制指令;
      步驟S1220:數(shù)據(jù)配置及組合單元230將寫入數(shù)據(jù)流以儲(chǔ)存區(qū)塊為處理單 位而分散配置為多條寫入數(shù)據(jù)分流,再并行傳輸至異或運(yùn)算單元235;
      步驟S1225:根據(jù)標(biāo)志暫存器狀態(tài)判斷是否有失效硬盤機(jī),若是,則執(zhí)行 步驟S1230,否則執(zhí)行步驟S1270;
      步驟S1230:在所要寫入的儲(chǔ)存區(qū)域的相對(duì)應(yīng)的上下邊界儲(chǔ)存區(qū)塊,是否 包含有不在所要寫入的儲(chǔ)存區(qū)域內(nèi)的非奇偶校驗(yàn)儲(chǔ)存區(qū)塊,若是,則執(zhí)行步驟 S1235,否則執(zhí)行步驟S1255;
      步驟S1235:位于上下邊界且不在所要寫入的儲(chǔ)存區(qū)域內(nèi)的非奇偶校驗(yàn)儲(chǔ) 存區(qū)塊是否屬于失效硬盤機(jī),若是,則執(zhí)行步驟S1240,否則執(zhí)行步驟S1245;
      步驟S1240:異或運(yùn)算單元235根據(jù)相關(guān)儲(chǔ)存區(qū)塊的讀出數(shù)據(jù),執(zhí)行異或 運(yùn)算處理,以恢復(fù)失效硬盤機(jī)的非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),執(zhí)行步驟S1255;
      步驟S1245:位于上下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊是否屬于失效硬盤機(jī),若 是,則執(zhí)行步驟S1255,否則執(zhí)行步驟S1250;
      步驟S1250:在上下邊界中,于奇偶校驗(yàn)儲(chǔ)存區(qū)塊不屬于失效硬盤機(jī)的一邊界,讀取位于該邊界且不在所要寫入的儲(chǔ)存區(qū)域內(nèi)的非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的 數(shù)據(jù),執(zhí)行步驟S1255;
      步驟S1255:執(zhí)行異或運(yùn)算處理以產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),并將奇偶校驗(yàn)數(shù)據(jù) 插入相對(duì)應(yīng)的寫入數(shù)據(jù)分流;
      步驟S1260:將該些寫入數(shù)據(jù)分流并列傳輸至正常硬盤機(jī)相對(duì)應(yīng)的硬盤存 取控制器;
      步驟S1265:將包含奇偶校驗(yàn)數(shù)據(jù)的該些寫入數(shù)據(jù)分流分別寫入相對(duì)應(yīng)的 正常硬盤機(jī),執(zhí)行步驟S1295;
      步驟S1270:在所要寫入的儲(chǔ)存區(qū)域的相對(duì)應(yīng)的上下邊界儲(chǔ)存區(qū)塊,是否 包含不在所要寫入的儲(chǔ)存區(qū)域內(nèi)的非奇偶校驗(yàn)儲(chǔ)存區(qū)塊,若是,則執(zhí)行步驟 S1275,否則執(zhí)行步驟S1280;
      步驟S1275:讀取位于上下邊界且不在所要寫入的儲(chǔ)存區(qū)域內(nèi)的非奇偶校 驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),執(zhí)行步驟S1280;
      步驟S1280:執(zhí)行異或運(yùn)算處理以產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),并將奇偶校驗(yàn)數(shù)據(jù) 插入相對(duì)應(yīng)的寫入數(shù)據(jù)分流;
      步驟S1285:將包含奇偶校驗(yàn)數(shù)據(jù)的該些寫入數(shù)據(jù)分流并列傳輸至相對(duì)應(yīng) 的硬盤存取控制器;
      步驟S1290:將包含奇偶校驗(yàn)數(shù)據(jù)的該些寫入數(shù)據(jù)分流分別寫入相對(duì)應(yīng)的 硬盤機(jī);以及
      步驟S1295:完成寫入操作。
      在上述磁盤陣列5寫入方法1200的流程中,步驟S1255所述的執(zhí)行異或 運(yùn)算處理以產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),并將奇偶校驗(yàn)數(shù)據(jù)插入相對(duì)應(yīng)的寫入數(shù)據(jù)分 流,包含當(dāng)位于上下邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊均屬于失效硬盤機(jī)時(shí),略過上下 邊界的奇偶校驗(yàn)儲(chǔ)存區(qū)塊的奇偶校驗(yàn)數(shù)據(jù)產(chǎn)生處理,而直接將該些寫入數(shù)據(jù)分 流的相對(duì)應(yīng)于上下邊界儲(chǔ)存區(qū)塊的數(shù)據(jù)并列傳輸至多個(gè)正常硬盤機(jī)相對(duì)應(yīng)的 多個(gè)硬盤存取控制器。步驟S1265所述的將包含奇偶校驗(yàn)數(shù)據(jù)的該些寫入數(shù)據(jù) 分流分別寫入相對(duì)應(yīng)的正常硬盤機(jī),是以磁區(qū)為基本寫入單位,將包含奇偶校 驗(yàn)數(shù)據(jù)的該些寫入數(shù)據(jù)分流分別寫入相對(duì)應(yīng)的正常硬盤機(jī)。步驟S1290所述的 將包含奇偶校驗(yàn)數(shù)據(jù)的該些寫入數(shù)據(jù)分流分別寫入相對(duì)應(yīng)的硬盤機(jī),是以磁區(qū)
      30為基本寫入單位,將包含奇偶校驗(yàn)數(shù)據(jù)的該些寫入數(shù)據(jù)分流分別寫入相對(duì)應(yīng)的 硬盤機(jī)。
      請(qǐng)注意,在上述對(duì)本發(fā)明的基于儲(chǔ)存裝置最小存取區(qū)塊的分流與聚流運(yùn)作 的磁盤陣列5控制器及存取方法的實(shí)施方式說明中,雖然使用硬盤機(jī)作為磁盤 陣列5的儲(chǔ)存裝置實(shí)施例,但本發(fā)明的應(yīng)用并不限于使用硬盤機(jī)的磁盤陣列5,
      也適用于使用其他類型的儲(chǔ)存裝置,譬如固態(tài)記憶裝置(SSD, Solid State Drive) 或基于倍數(shù)據(jù)傳輸率隨機(jī)存取存儲(chǔ)器(Double Data Rate Random Access Memory) 的儲(chǔ)存裝置(i-RAM),而硬盤存取控制器可替換為其他類型儲(chǔ)存裝置存取控制 器,儲(chǔ)存裝置存取控制器耦合于儲(chǔ)存裝置的接口則可為一串行式ATA接口、 一通用串行總線接口、 一SAS接口、 一 IEEE-1394接口、或一eSATA接口。
      由上述可知,依本發(fā)明的磁盤陣列5控制器及存取方法,其基本精神為使 用儲(chǔ)存裝置的最小存取單位為磁盤陣列5的數(shù)據(jù)及奇偶校驗(yàn)的儲(chǔ)存及運(yùn)算區(qū) 塊,再利用一數(shù)據(jù)流及多條數(shù)據(jù)分流之間的分散配置及組合處理方法,加速磁 盤陣列5的數(shù)據(jù)存取速度,尤其是在執(zhí)行異或運(yùn)算處理以產(chǎn)生奇偶校驗(yàn)數(shù)據(jù)或 恢復(fù)數(shù)據(jù)的過程中,是以并行串列模式進(jìn)行,所以,不論是從一寫入數(shù)據(jù)流至 多條寫入數(shù)據(jù)分流的數(shù)據(jù)寫入過程,或是從多條讀出數(shù)據(jù)分流至一讀出數(shù)據(jù)流 的數(shù)據(jù)讀出過程,皆能借由并行數(shù)據(jù)傳輸處理過程而提供快速數(shù)據(jù)存取。
      本發(fā)明是使用儲(chǔ)存裝置的最小存取單位為運(yùn)算區(qū)塊大小,相較于一般以多 個(gè)儲(chǔ)存區(qū)塊作為運(yùn)算區(qū)塊大小的磁盤陣列5可以省掉復(fù)雜的判斷與運(yùn)算行為, 假設(shè)多儲(chǔ)存區(qū)塊運(yùn)算的磁盤陣列5是以16個(gè)磁區(qū)為運(yùn)算區(qū)塊大小,在讀取或 寫入上下邊界的數(shù)據(jù)時(shí),當(dāng)其邊界起始或結(jié)束地址不整除16,那控制器在讀取 或?qū)懭氩徽倪\(yùn)算區(qū)塊時(shí),就要判斷出在該運(yùn)算區(qū)塊中哪些部分是要讀取及 哪些部分要寫入,來分別進(jìn)行不同的后續(xù)奇偶校驗(yàn)運(yùn)算動(dòng)作,因而增加了運(yùn)算 復(fù)雜度,這些部分判斷與運(yùn)算是本發(fā)明的磁盤陣列5控制器及存取方法所不需 要的,如此一來,本發(fā)明就可透過簡(jiǎn)化的判斷與運(yùn)算以達(dá)到高存取效率。
      雖然本發(fā)明已以較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何本 領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的修改和完善, 因此本發(fā)明的保護(hù)范圍當(dāng)以權(quán)利要求書所界定的為準(zhǔn)。
      3權(quán)利要求
      1.一種基于儲(chǔ)存裝置最小存取區(qū)塊的分流與聚流運(yùn)作的磁盤陣列5控制器,包含一數(shù)據(jù)配置及組合單元;一異或運(yùn)算單元,耦合于該數(shù)據(jù)配置及組合單元;多個(gè)傳輸控制器,每一個(gè)傳輸控制器均耦合于該異或運(yùn)算單元;以及多個(gè)儲(chǔ)存裝置存取控制器,每一個(gè)儲(chǔ)存裝置存取控制器系耦合于相對(duì)應(yīng)的一傳輸控制器,及相對(duì)應(yīng)的一儲(chǔ)存裝置。
      2. 如權(quán)利要求1所述的磁盤陣列5控制器,其特征在于還包含 多個(gè)數(shù)據(jù)暫存器,每一個(gè)數(shù)據(jù)暫存器耦合于相對(duì)應(yīng)的一傳輸控制器與相對(duì)應(yīng)的一儲(chǔ)存裝置存取控制器之間;一控制器,耦合于該數(shù)據(jù)配置及組合單元;一指令解碼器,耦合于該控制器、該數(shù)據(jù)配置及組合單元、該異或運(yùn)算單 元及該些傳輸控制器;以及多個(gè)標(biāo)志暫存器,耦合于該指令解碼器、該數(shù)據(jù)配置及組合單元、該異或 運(yùn)算單元、該些傳輸控制器、及該些儲(chǔ)存裝置存取控制器。
      3. 如權(quán)利要求2所述的磁盤陣列5控制器,其特征在于,該指令解碼器根 據(jù)該些標(biāo)志暫存器的狀態(tài),解碼一寫入指令或一讀取指令,以產(chǎn)生相對(duì)應(yīng)的一 寫入程序控制指令或一讀取程序控制指令。
      4. 如權(quán)利要求3所述的磁盤陣列5控制器,其特征在于,該數(shù)據(jù)配置及組 合單元是用以根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,將該寫入數(shù) 據(jù)流以該儲(chǔ)存裝置最小存取區(qū)塊為處理單位而分散配置于該些寫入數(shù)據(jù)分流, 以及該數(shù)據(jù)配置及組合單元是用以根據(jù)該些標(biāo)志暫存器的狀態(tài)及該讀取程序 控制指令,將該些讀出數(shù)據(jù)分流以該儲(chǔ)存裝置最小存取區(qū)塊為處理單位而組合 為該讀出數(shù)據(jù)流。
      5. 如權(quán)利要求3所述的磁盤陣列5控制器,其特征在于,該異或運(yùn)算單元 是用以根據(jù)該些標(biāo)志暫存器的狀態(tài)配合該寫入程序控制指令或該讀取程序控 制指令,控制異或運(yùn)算處理程序。
      6. 如權(quán)利要求3所述的磁盤陣列5控制器,其特征在于,每一個(gè)傳輸控制 器是用以根據(jù)該些標(biāo)志暫存器的狀態(tài)配合該寫入程序控制指令或該讀取程序 控制指令,控制該傳輸控制器與該異或運(yùn)算單元之間的數(shù)據(jù)傳輸程序。
      7. 如權(quán)利要求3所述的磁盤陣列5控制器,其特征在于,每一個(gè)儲(chǔ)存裝置 存取控制器是用以根據(jù)該些標(biāo)志暫存器的狀態(tài)配合該寫入程序控制指令或該 讀取程序控制指令,控制對(duì)于相對(duì)應(yīng)的儲(chǔ)存裝置的數(shù)據(jù)讀取操作或數(shù)據(jù)寫入操 作。
      8. 如權(quán)利要求1所述的磁盤陣列5控制器,其特征在于,每一個(gè)儲(chǔ)存裝置 存取控制器執(zhí)行操作的基本存取單位,為儲(chǔ)存裝置最小存取單位。
      9. 如權(quán)利要求1所述的磁盤陣列5控制器,其特征在于,每一個(gè)儲(chǔ)存裝置 存取控制器是以一串行式ATA接口、 一通用串行總線接口、 一SAS接口、 一 IEEE-1394接口、或一eSATA接口,耦合于相對(duì)應(yīng)的儲(chǔ)存裝置。
      10. —種基于一儲(chǔ)存裝置最小存取區(qū)塊的聚流運(yùn)作的磁盤陣列5讀取方 法,用以根據(jù)一讀取指令從多個(gè)儲(chǔ)存裝置讀取一讀出數(shù)據(jù)流,包含根據(jù)多個(gè)標(biāo)志暫存器的狀態(tài),解碼該讀取指令,以產(chǎn)生相對(duì)應(yīng)的一讀取程 序控制指令;根據(jù)該讀取程序控制指令及該些標(biāo)志暫存器的狀態(tài),執(zhí)行對(duì)于多個(gè)正常儲(chǔ) 存裝置的相對(duì)應(yīng)數(shù)據(jù)的讀取操作,用以產(chǎn)生多條讀出數(shù)據(jù)分流; 將該些讀出數(shù)據(jù)分流并列傳輸至一異或運(yùn)算單元;該異或運(yùn)算單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該讀取程序控制指令,控制相對(duì)應(yīng)于該些讀出數(shù)據(jù)分流的異或運(yùn)算處理程序,并將處理后的該些讀出數(shù)據(jù) 分流并列傳輸至一數(shù)據(jù)配置及組合單元;以及該數(shù)據(jù)配置及組合單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該讀取程序控制指 令,將該些讀出數(shù)據(jù)分流基于該儲(chǔ)存裝置最小存取區(qū)塊為一聚流單位而組合為 該讀出數(shù)據(jù)流。
      11. 如權(quán)利要求IO所述的磁盤陣列5讀取方法,其特征在于還包含在執(zhí)行 對(duì)于該些正常儲(chǔ)存裝置的相對(duì)應(yīng)數(shù)據(jù)的讀取操作之前,根據(jù)該些標(biāo)志暫存器的 狀態(tài),檢測(cè)是否有一失效儲(chǔ)存裝置。
      12. 如權(quán)利要求10所述的磁盤陣列5讀取方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該讀取程序控制指令,控制相對(duì)應(yīng)于該些讀 出數(shù)據(jù)分流的異或運(yùn)算處理程序,并將處理后的該些讀出數(shù)據(jù)分流并列傳輸至 該數(shù)據(jù)配置及組合單元,包含當(dāng)有一失效儲(chǔ)存裝置時(shí),該異或運(yùn)算單元執(zhí)行異 或運(yùn)算處理以恢復(fù)該失效儲(chǔ)存裝置的一非奇偶校驗(yàn)數(shù)據(jù)流,并將該些讀出數(shù)據(jù) 分流及被恢復(fù)的該非奇偶校驗(yàn)數(shù)據(jù)流并列傳輸至該數(shù)據(jù)配置及組合單元。
      13. 如權(quán)利要求IO所述的磁盤陣列5讀取方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該讀取程序控制指令,控制相對(duì)應(yīng)于該些讀 出數(shù)據(jù)分流的異或運(yùn)算處理程序,并將處理后的該些讀出數(shù)據(jù)分流并列傳輸至 該數(shù)據(jù)配置及組合單元,包含當(dāng)沒有失效儲(chǔ)存裝置時(shí),異或運(yùn)算單元直接將該 些讀出數(shù)據(jù)分流并列傳輸至該數(shù)據(jù)配置及組合單元。
      14. 如權(quán)利要求IO所述的磁盤陣列5讀取方法,其特征在于,該數(shù)據(jù)配置 及組合單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該讀取程序控制指令,將該些讀出數(shù) 據(jù)分流基于該儲(chǔ)存裝置最小存取區(qū)塊為該聚流單位而組合為該讀出數(shù)據(jù)流,包 含該數(shù)據(jù)配置及組合單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該讀取程序控制指令, 將該些讀出數(shù)據(jù)分流所包含的非奇偶校驗(yàn)數(shù)據(jù)基于該儲(chǔ)存裝置最小存取區(qū)塊 為該聚流單位而組合為該讀出數(shù)據(jù)流。
      15. 如權(quán)利要求14所述的磁盤陣列5讀取方法,其特征在于,將該些讀出 數(shù)據(jù)分流所包含的非奇偶校驗(yàn)數(shù)據(jù)基于該儲(chǔ)存裝置最小存取區(qū)塊為該聚流單 位而組合為該讀出數(shù)據(jù)流,包含棄除該些讀出數(shù)據(jù)分流所包含的奇偶校驗(yàn)數(shù) 據(jù)。
      16. 如權(quán)利要求IO所述的磁盤陣列5讀取方法,其特征在于,執(zhí)行對(duì)于該 些正常儲(chǔ)存裝置的數(shù)據(jù)讀取操作,用以產(chǎn)生該些讀出數(shù)據(jù)分流,是以該些正常 儲(chǔ)存裝置的最小存取區(qū)塊作為基本讀取單位,執(zhí)行對(duì)于該些正常儲(chǔ)存裝置的數(shù) 據(jù)讀取操作,用以產(chǎn)生該些讀出數(shù)據(jù)分流。
      17. —種基于一儲(chǔ)存裝置最小存取區(qū)塊的分流運(yùn)作的磁盤陣列5寫入方 法,用以根據(jù)一寫入指令將一寫入數(shù)據(jù)流寫入多個(gè)儲(chǔ)存裝置,包含根據(jù)多個(gè)標(biāo)志暫存器的狀態(tài),解碼該寫入指令,以產(chǎn)生相對(duì)應(yīng)的一寫入程 序控制指令;根據(jù)該寫入程序控制指令及該些標(biāo)志暫存器的狀態(tài),利用一數(shù)據(jù)配置及組 合單元將該寫入數(shù)據(jù)流基于該儲(chǔ)存裝置最小存取區(qū)塊為一分流單位而分散配置為多條寫入數(shù)據(jù)分流,再將該些寫入數(shù)據(jù)分流并行傳輸至一異或運(yùn)算單元;該異或運(yùn)算單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制 相對(duì)應(yīng)于該些寫入數(shù)據(jù)分流的異或運(yùn)算處理程序,并將處理后的該些寫入數(shù)據(jù) 分流并列傳輸至多個(gè)正常儲(chǔ)存裝置相對(duì)應(yīng)的多個(gè)儲(chǔ)存裝置存取控制器;以及 該些儲(chǔ)存裝置存取控制器將該些寫入數(shù)據(jù)分流分別寫入該些正常儲(chǔ)存裝置。
      18. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于還包含在根據(jù) 該寫入程序控制指令及該些標(biāo)志暫存器的狀態(tài),利用該數(shù)據(jù)配置及組合單元將 該寫入數(shù)據(jù)流基于該儲(chǔ)存裝置最小存取區(qū)塊為該分流單位而分散配置為多條 寫入數(shù)據(jù)分流之前,根據(jù)該些標(biāo)志暫存器的狀態(tài),檢測(cè)是否有一失效儲(chǔ)存裝置。
      19. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制相對(duì)應(yīng)于該些寫 入數(shù)據(jù)分流的異或運(yùn)算處理程序,包含當(dāng)有一失效儲(chǔ)存裝置時(shí),在所要寫入的 儲(chǔ)存區(qū)域的相對(duì)應(yīng)的上邊界或下邊界儲(chǔ)存區(qū)塊,包含有不在所要寫入的儲(chǔ)存區(qū) 域內(nèi)的一非奇偶校驗(yàn)儲(chǔ)存區(qū)塊,且該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊屬于該失效儲(chǔ)存裝置 時(shí),執(zhí)行數(shù)據(jù)恢復(fù)處理以恢復(fù)該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),再根據(jù)被恢復(fù)的 該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),執(zhí)行異或運(yùn)算處理以產(chǎn)生相對(duì)應(yīng)的一奇偶校驗(yàn) 數(shù)據(jù)。
      20. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制相對(duì)應(yīng)于該些寫 入數(shù)據(jù)分流的異或運(yùn)算處理程序,包含當(dāng)有一失效儲(chǔ)存裝置時(shí),在所要寫入的 儲(chǔ)存區(qū)域的相對(duì)應(yīng)的上邊界或下邊界儲(chǔ)存區(qū)塊,包含有不在所要寫入的儲(chǔ)存區(qū) 域內(nèi)的一非奇偶校驗(yàn)儲(chǔ)存區(qū)塊,且該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊不屬于該失效儲(chǔ)存裝 置時(shí),執(zhí)行該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊相對(duì)應(yīng)的儲(chǔ)存裝置的讀取程序,用以讀出該 非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),再根據(jù)該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),執(zhí)行異或 運(yùn)算處理以產(chǎn)生相對(duì)應(yīng)的一奇偶校驗(yàn)數(shù)據(jù)。
      21. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制相對(duì)應(yīng)于該些寫 入數(shù)據(jù)分流的異或運(yùn)算處理程序,并將處理后的該些寫入數(shù)據(jù)分流并列傳輸至 該些正常儲(chǔ)存裝置相對(duì)應(yīng)的該些儲(chǔ)存裝置存取控制器,包含當(dāng)有一失效儲(chǔ)存裝 置時(shí),且在所要寫入的儲(chǔ)存區(qū)域的相對(duì)應(yīng)于上邊界的一奇偶校驗(yàn)儲(chǔ)存區(qū)塊,屬 于該失效儲(chǔ)存裝置時(shí),判斷該奇偶校驗(yàn)儲(chǔ)存區(qū)塊的奇偶校驗(yàn)數(shù)據(jù)不用寫入,略 過對(duì)該奇偶校驗(yàn)儲(chǔ)存區(qū)塊的奇偶校驗(yàn)數(shù)據(jù)產(chǎn)生處理,而直接將該些寫入數(shù)據(jù)分 流的相對(duì)應(yīng)于上邊界儲(chǔ)存區(qū)塊的數(shù)據(jù)并列傳輸至該些正常儲(chǔ)存裝置相對(duì)應(yīng)的 該些儲(chǔ)存裝置存取控制器。
      22. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該異或運(yùn)算單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制相對(duì)應(yīng)于該些寫 入數(shù)據(jù)分流的異或運(yùn)算處理程序,并將處理后的該些寫入數(shù)據(jù)分流并列傳輸至 該些正常儲(chǔ)存裝置相對(duì)應(yīng)的該些儲(chǔ)存裝置存取控制器,包含當(dāng)有一失效儲(chǔ)存裝 置時(shí),且在所要寫入的儲(chǔ)存區(qū)域的相對(duì)應(yīng)于下邊界的一奇偶校驗(yàn)儲(chǔ)存區(qū)塊,屬 于該失效儲(chǔ)存裝置時(shí),判斷該奇偶校驗(yàn)儲(chǔ)存區(qū)塊的奇偶校驗(yàn)數(shù)據(jù)不用寫入,略 過對(duì)該奇偶校驗(yàn)儲(chǔ)存區(qū)塊的奇偶校驗(yàn)數(shù)據(jù)產(chǎn)生處理,而直接將該些寫入數(shù)據(jù)分 流的相對(duì)應(yīng)于下邊界儲(chǔ)存區(qū)塊的數(shù)據(jù)并列傳輸至該些正常儲(chǔ)存裝置相對(duì)應(yīng)的 該些儲(chǔ)存裝置存取控制器。
      23. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制相對(duì)應(yīng)于該些寫 入數(shù)據(jù)分流的異或運(yùn)算處理程序,包含當(dāng)沒有失效儲(chǔ)存裝置時(shí),且在所要寫入 的儲(chǔ)存區(qū)域的相對(duì)應(yīng)的上邊界或下邊界儲(chǔ)存區(qū)塊,包含有不在所要寫入的儲(chǔ)存 區(qū)域內(nèi)的一非奇偶校驗(yàn)儲(chǔ)存區(qū)塊時(shí),執(zhí)行該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊相對(duì)應(yīng)的儲(chǔ)存 裝置的讀取程序,用以讀出該非奇偶校驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),再根據(jù)該非奇偶校 驗(yàn)儲(chǔ)存區(qū)塊的數(shù)據(jù),執(zhí)行異或運(yùn)算處理以產(chǎn)生相對(duì)應(yīng)的一奇偶校驗(yàn)數(shù)據(jù)。
      24. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制相對(duì)應(yīng)于該些寫 入數(shù)據(jù)分流的異或運(yùn)算處理程序,包含當(dāng)沒有失效儲(chǔ)存裝置時(shí),且在所要寫入 的儲(chǔ)存區(qū)域的相對(duì)應(yīng)的上邊界及下邊界儲(chǔ)存區(qū)塊,均包含于所要寫入的儲(chǔ)存區(qū) 域內(nèi)時(shí),直接根據(jù)該些寫入數(shù)據(jù)分流的相對(duì)應(yīng)數(shù)據(jù),執(zhí)行異或運(yùn)算處理以產(chǎn)生 相對(duì)應(yīng)的一奇偶校驗(yàn)數(shù)據(jù)。
      25. 如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該異或運(yùn)算 單元根據(jù)該些標(biāo)志暫存器的狀態(tài)及該寫入程序控制指令,控制相對(duì)應(yīng)于該些寫 入數(shù)據(jù)分流的異或運(yùn)算處理程序,包含當(dāng)有失效儲(chǔ)存裝置時(shí),且在所要寫入的 儲(chǔ)存區(qū)域的相對(duì)應(yīng)的上邊界及下邊界儲(chǔ)存區(qū)塊,均包含于所要寫入的儲(chǔ)存區(qū)域 內(nèi)時(shí),根據(jù)該些寫入數(shù)據(jù)分流的相對(duì)應(yīng)數(shù)據(jù),執(zhí)行異或運(yùn)算處理以產(chǎn)生要寫入 非失效硬盤相對(duì)應(yīng)的一奇偶校驗(yàn)數(shù)據(jù)。
      26.如權(quán)利要求17所述的磁盤陣列5寫入方法,其特征在于,該些儲(chǔ)存裝 置存取控制器將該些寫入數(shù)據(jù)分流分別寫入該些正常儲(chǔ)存裝置,是該些儲(chǔ)存裝 置存取控制器以該些儲(chǔ)存裝置的最小存取單位作為基本寫入單位,將該些寫入 數(shù)據(jù)分流分別寫入該些正常儲(chǔ)存裝置。
      全文摘要
      本發(fā)明提出一種基于儲(chǔ)存裝置最小存取區(qū)塊的數(shù)據(jù)分流及聚流運(yùn)作的磁盤陣列5控制器及存取方法。借由并行數(shù)據(jù)傳輸處理過程,磁盤陣列5的數(shù)據(jù)存取效率可被顯著地提高。利用一數(shù)據(jù)配置及組合單元于寫入數(shù)據(jù)時(shí),將一數(shù)據(jù)流基于儲(chǔ)存裝置最小存取區(qū)塊為處理單位而分散配置于多條數(shù)據(jù)分流,或于讀出數(shù)據(jù)時(shí),將多條數(shù)據(jù)分流基于儲(chǔ)存裝置最小存取區(qū)塊為處理單位而組合為一數(shù)據(jù)流,利用一異或運(yùn)算單元以并行處理模式,同時(shí)處理多條數(shù)據(jù)分流的數(shù)據(jù),利用多個(gè)傳輸控制器以獨(dú)立控制每一條數(shù)據(jù)分流的數(shù)據(jù)傳輸。
      文檔編號(hào)G06F3/06GK101667103SQ20081021570
      公開日2010年3月10日 申請(qǐng)日期2008年9月1日 優(yōu)先權(quán)日2008年9月1日
      發(fā)明者孫志銘 申請(qǐng)人:智微科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1