專利名稱:存儲(chǔ)控制裝置以及虛擬卷的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)控制裝置以及虛擬卷的控制方法。
背景技術(shù):
企業(yè)等用戶使用存儲(chǔ)控制裝置來管理數(shù)據(jù)。存儲(chǔ)控制裝置在基于RAID (Redundant Array of Independent Disks)的存儲(chǔ)區(qū)域上形成邏輯卷。該邏輯卷被提供給主計(jì)算機(jī)(以下稱為主機(jī))。由于用戶使用的數(shù)據(jù)量日益增大,結(jié)合現(xiàn)狀來設(shè)定的卷大小中,不久容量會(huì)不足。 與此相對(duì),當(dāng)預(yù)測(cè)數(shù)據(jù)量的增加,與當(dāng)前所需要的大小相比過大地設(shè)定卷大小時(shí),不要不急的盤驅(qū)動(dòng)器變多,成本增加。因此,提出了準(zhǔn)備虛擬的邏輯卷,根據(jù)實(shí)際的使用來對(duì)該虛擬的邏輯卷分配實(shí)際存儲(chǔ)區(qū)域的技術(shù)(專利文獻(xiàn)1)。專利文獻(xiàn)1 美國專利第6823442號(hào)說明書
發(fā)明內(nèi)容
發(fā)明要解決的課題在上述文獻(xiàn)(US6,823,442B1)中,存儲(chǔ)服務(wù)器系統(tǒng)在接收到與虛擬卷上的塊地址有關(guān)的寫請(qǐng)求時(shí),對(duì)與該塊地址對(duì)應(yīng)的虛擬卷頁地址分配邏輯數(shù)據(jù)頁。然后,在該邏輯數(shù)據(jù)頁中寫入數(shù)據(jù)。在上述文獻(xiàn)中記載了以下管理方法其用于根據(jù)從多個(gè)物理盤上的區(qū)域得到的小存儲(chǔ)區(qū)塊(Chimklet)這個(gè)概念的區(qū)域,構(gòu)成具有特定的RAID級(jí)別的邏輯盤。但是,該管理方法與以物理盤驅(qū)動(dòng)器為單位構(gòu)成RAID組的存儲(chǔ)控制裝置的物理區(qū)域管理方法完全不同。因此,無法把在上述文獻(xiàn)中記載的管理方法直接用于以物理盤驅(qū)動(dòng)器為單位構(gòu)成RAID組的存儲(chǔ)控制裝置。假如把上述文獻(xiàn)中記載的技術(shù)用于上述管理方法時(shí),在能夠提供普通的邏輯卷和虛擬邏輯卷雙方的存儲(chǔ)控制裝置中,在普通的邏輯卷和虛擬邏輯卷中,各個(gè)物理區(qū)域的管理方法不同,產(chǎn)生存儲(chǔ)控制裝置的結(jié)構(gòu)復(fù)雜化的問題。在此,所謂普通的邏輯卷,是指在生成卷時(shí)被預(yù)先分配了與該卷大小相同容量的物理區(qū)域(物理存儲(chǔ)區(qū)域)的邏輯卷。虛擬邏輯卷作為將卷大小虛擬化的邏輯卷,是根據(jù)寫請(qǐng)求被分配物理區(qū)域的邏輯卷。S卩,如果把上述文獻(xiàn)中記載的技術(shù)用于以物理盤驅(qū)動(dòng)器為單位構(gòu)成RAID組的存儲(chǔ)控制裝置中,則必須通過不同的多個(gè)管理方法管理物理區(qū)域,結(jié)構(gòu)復(fù)雜化,開發(fā)成本也增大。并且,在上述文獻(xiàn)中,在接受寫請(qǐng)求時(shí),在沒有分配與虛擬卷頁地址對(duì)應(yīng)的表頁時(shí),存儲(chǔ)服務(wù)器系統(tǒng)首先最初分配表頁,然后分配邏輯的數(shù)據(jù)頁。因此,在上述文獻(xiàn)中記載的技術(shù)中,在分配表頁之后需要分配數(shù)據(jù)頁,存在寫處理的性能降低的問題。并且,在上述文獻(xiàn)中,為了進(jìn)行上述那樣的分配處理,需要分別設(shè)置數(shù)據(jù)頁專用池和表頁專用池,系統(tǒng)結(jié)構(gòu)復(fù)雜化。因此,本發(fā)明的目的在于,提供能夠考慮RAID組的物理結(jié)構(gòu),高效地使存儲(chǔ)區(qū)域與虛擬卷對(duì)應(yīng)的存儲(chǔ)控制裝置以及虛擬卷的控制方法。本發(fā)明的其他目的在于,提供能夠均等地使用各RAID組來構(gòu)成虛擬卷的存儲(chǔ)控制裝置以及虛擬卷的控制方法。本發(fā)明的另一目的在于,提供能夠高效地使存儲(chǔ)區(qū)域與虛擬卷對(duì)應(yīng),并且能夠提高虛擬卷的響應(yīng)性能的存儲(chǔ)控制裝置以及虛擬卷的控制方法。根據(jù)后述的實(shí)施方式的記載,本發(fā)明的更進(jìn)一步的目的將會(huì)變得清楚。用于解決課題的手段為了解決上述課題,遵照本發(fā)明的第一觀點(diǎn)的存儲(chǔ)控制裝置具備虛擬地形成的虛擬卷;池部,其管理多個(gè)第一實(shí)際存儲(chǔ)區(qū)域,該第一實(shí)際存儲(chǔ)區(qū)域是跨越構(gòu)成RAID組的多個(gè)存儲(chǔ)裝置條帶狀地形成的,包含多個(gè)第二實(shí)際存儲(chǔ)區(qū)域;以及控制部,其根據(jù)向虛擬卷的寫請(qǐng)求,使第一實(shí)際存儲(chǔ)區(qū)域中包含的各第二實(shí)際存儲(chǔ)區(qū)域中的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng)于寫請(qǐng)求所對(duì)應(yīng)的虛擬卷內(nèi)的預(yù)定區(qū)域,使一個(gè)虛擬卷對(duì)應(yīng)于一個(gè)第一實(shí)際存儲(chǔ)區(qū)域。第二觀點(diǎn)為,在第一觀點(diǎn)中,設(shè)置有多個(gè)RAID組,在對(duì)各RAID組中包含的各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化時(shí),按照預(yù)定的順序從各RAID組選擇各第一實(shí)際存儲(chǔ)區(qū)域并與未分配隊(duì)列連接,控制部在生成虛擬卷時(shí),使虛擬卷內(nèi)的各虛擬存儲(chǔ)區(qū)域與別的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng),由此確認(rèn)是否正常地生成了虛擬卷,并且,控制部在接受到用于釋放與虛擬卷對(duì)應(yīng)的第二實(shí)際存儲(chǔ)區(qū)域的釋放指示時(shí),釋放通過釋放指示所指定的第二實(shí)際存儲(chǔ)區(qū)域,并且,控制部,(1)在具有當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域時(shí),選擇當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域中包含的各第二實(shí)際存儲(chǔ)區(qū)域中的、與上次選擇的第二實(shí)際存儲(chǔ)區(qū)域連接的未使用的第二實(shí)際存儲(chǔ)區(qū)域,使其與寫請(qǐng)求所對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域?qū)?yīng),(2)當(dāng)在當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域內(nèi)沒有未使用的第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域中包含的各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)釋放指示被釋放的第二實(shí)際存儲(chǔ)區(qū)域,使其與寫請(qǐng)求所對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域?qū)?yīng),(3)當(dāng)在當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域內(nèi)不存在被釋放的第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇在當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域之前使用的已使用過的第一實(shí)際存儲(chǔ)區(qū)域中包含的各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)釋放指示被釋放的第二實(shí)際存儲(chǔ)區(qū)域,使其與寫請(qǐng)求所對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域?qū)?yīng),(4)當(dāng)在已使用過的第一實(shí)際存儲(chǔ)區(qū)域內(nèi)沒有被釋放的第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇與未分配隊(duì)列連接的各第一實(shí)際存儲(chǔ)區(qū)域中的先頭的第一實(shí)際存儲(chǔ)區(qū)域,并選擇該第一實(shí)際存儲(chǔ)區(qū)域內(nèi)的最初的第二實(shí)際存儲(chǔ)區(qū)域,使其與寫請(qǐng)求所對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域?qū)?yīng)。第三觀點(diǎn)為,在第一觀點(diǎn)中,設(shè)置有多個(gè)RAID組,控制部按照預(yù)定的順序,使各 RAID組中包含的各第一實(shí)際存儲(chǔ)區(qū)域與虛擬卷對(duì)應(yīng),以便均等地使用各RAID組。第四觀點(diǎn)為,在第三觀點(diǎn)中,控制部,⑴在對(duì)各RAID組中包含的各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化時(shí),按照預(yù)定的順序,將各RAID組中包含的各第一實(shí)際存儲(chǔ)區(qū)域與一個(gè)未分配隊(duì)列連接,(2)在使用已經(jīng)格式化的第一實(shí)際存儲(chǔ)區(qū)域時(shí),選擇與未分配隊(duì)列連接的各第一實(shí)際存儲(chǔ)區(qū)域中的、先頭的第一實(shí)際存儲(chǔ)區(qū)域。第五觀點(diǎn)為,在第三觀點(diǎn)中,預(yù)先對(duì)各RAID組中的每個(gè)RAID組準(zhǔn)備未分配隊(duì)列, 控制部,(1)在對(duì)各RAID組中包含的各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化時(shí),使各RAID組中的各第一實(shí)際存儲(chǔ)區(qū)域分別與各RAID組所對(duì)應(yīng)的未分配隊(duì)列連接,(2)在使用已經(jīng)格式化的第一實(shí)際存儲(chǔ)區(qū)域時(shí),按照預(yù)定的順序取出并使用與各未分配隊(duì)列連接的各第一實(shí)際存儲(chǔ)區(qū)域。第六觀點(diǎn)為,在第一觀點(diǎn)中,控制部在生成虛擬卷時(shí),使虛擬卷內(nèi)的各虛擬存儲(chǔ)區(qū)域與別的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng)。第七觀點(diǎn)為,在第六觀點(diǎn)中,控制部在接收到寫請(qǐng)求時(shí),把與寫請(qǐng)求對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域的對(duì)應(yīng)目的地,從別的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域切換為預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域。第八觀點(diǎn)為,在第一觀點(diǎn)中,控制部把與第二實(shí)際存儲(chǔ)區(qū)域連接的未使用的第二存儲(chǔ)區(qū)域作為預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與虛擬卷對(duì)應(yīng),第二實(shí)際存儲(chǔ)區(qū)域根據(jù)上次的寫請(qǐng)求,與虛擬卷相對(duì)應(yīng)。第九觀點(diǎn)為,在第八觀點(diǎn)中,控制部在接收到用于釋放與虛擬卷對(duì)應(yīng)的第二實(shí)際存儲(chǔ)區(qū)域的釋放指示時(shí),釋放通過釋放指示所指定的第二實(shí)際存儲(chǔ)區(qū)域,并且,控制部在不存在未使用的第二實(shí)際存儲(chǔ)區(qū)域時(shí),把當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域中包含的各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)釋放指示被釋放的第二實(shí)際存儲(chǔ)區(qū)域,作為預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與虛擬卷對(duì)應(yīng)。第十觀點(diǎn)為,在第九觀點(diǎn)中,控制部當(dāng)在當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域內(nèi)不存在被釋放的第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇在當(dāng)前正在使用的第一實(shí)際存儲(chǔ)區(qū)域之前使用的已使用過的第一實(shí)際存儲(chǔ)區(qū)域中包含的各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)釋放指示被釋放的第二實(shí)際存儲(chǔ)區(qū)域,作為預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與虛擬卷對(duì)應(yīng)。第十一觀點(diǎn)為,在第十觀點(diǎn)中,控制部在已使用過的第一實(shí)際存儲(chǔ)區(qū)域內(nèi)沒有被釋放的第二實(shí)際存儲(chǔ)區(qū)域時(shí),從未使用的各第一實(shí)際存儲(chǔ)區(qū)域中選擇某一個(gè)第一實(shí)際存儲(chǔ)區(qū)域,把該第一實(shí)際存儲(chǔ)區(qū)域內(nèi)的最初的第二實(shí)際存儲(chǔ)區(qū)域作為預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與虛擬卷對(duì)應(yīng)。第十二觀點(diǎn)為,在第一觀點(diǎn)中,存在多個(gè)虛擬卷,具備別的RAID組,其是與RAID 組不同的RAID組,與RAID組連號(hào)地被管理;以及通常的邏輯卷,其根據(jù)別的RAID組而生成,與各虛擬卷連號(hào)地被管理,控制部在接收到與通常的邏輯卷相關(guān)的寫請(qǐng)求時(shí),在別的 RAID組的存儲(chǔ)區(qū)域中寫入寫數(shù)據(jù)。第十三觀點(diǎn)為,在第一觀點(diǎn)中,在虛擬卷中存儲(chǔ)的數(shù)據(jù)中針對(duì)每個(gè)預(yù)定大小設(shè)定了保證碼,保證碼包含用于識(shí)別RAID組的數(shù)據(jù)、用于識(shí)別第一實(shí)際存儲(chǔ)區(qū)域的數(shù)據(jù)、以及用于識(shí)別第一實(shí)際存儲(chǔ)區(qū)域內(nèi)的第二實(shí)際存儲(chǔ)區(qū)域的數(shù)據(jù)。遵照第十四觀點(diǎn)的虛擬卷的控制方法,其用于控制虛擬形成的虛擬卷,其中,虛擬卷具備多個(gè)虛擬存儲(chǔ)區(qū)域,生成池部,該池部管理多個(gè)第一實(shí)際存儲(chǔ)區(qū)域,該第一實(shí)際存儲(chǔ)區(qū)域是跨越構(gòu)成RAID組的多個(gè)存儲(chǔ)裝置條帶狀地形成的,每個(gè)第一實(shí)際存儲(chǔ)區(qū)域包含多個(gè)與虛擬存儲(chǔ)區(qū)域?qū)?yīng)的第二實(shí)際存儲(chǔ)區(qū)域,對(duì)各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化,使各虛擬存儲(chǔ)區(qū)域分別對(duì)應(yīng)于已格式化的各第一實(shí)際存儲(chǔ)區(qū)域中的預(yù)定的第一實(shí)際存儲(chǔ)區(qū)域所具有的初始設(shè)定用的第二實(shí)際存儲(chǔ)區(qū)域,由此生成虛擬卷,將虛擬卷與主計(jì)算機(jī)連接,在從主計(jì)算機(jī)接收到向虛擬卷的寫請(qǐng)求時(shí),不使多個(gè)虛擬卷對(duì)應(yīng)于一個(gè)第一實(shí)際存儲(chǔ)區(qū)域,使格式化后的各第一實(shí)際存儲(chǔ)區(qū)域中的預(yù)定的第一實(shí)際存儲(chǔ)區(qū)域所具有的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng)于寫請(qǐng)求所對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域,在對(duì)應(yīng)于虛擬存儲(chǔ)區(qū)域的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域中,存儲(chǔ)從主計(jì)算機(jī)接收到的寫數(shù)據(jù)。本發(fā)明的結(jié)構(gòu)的至少一部分可以作為計(jì)算機(jī)程序來構(gòu)成??梢园言撚?jì)算機(jī)程序固定在記錄介質(zhì)中來分發(fā),也可以經(jīng)由通信網(wǎng)絡(luò)來分發(fā)。
圖1是表示本發(fā)明的實(shí)施方式的整體概念的說明圖。圖2是表示包含存儲(chǔ)控制裝置的系統(tǒng)的全體結(jié)構(gòu)的說明圖。圖3是存儲(chǔ)控制裝置的方框圖。圖4是表示虛擬卷和區(qū)塊以及頁的關(guān)系的示意圖。圖5是表示用于對(duì)分配給虛擬卷的區(qū)塊以及頁進(jìn)行管理的表組的說明圖。圖6是表示虛擬卷生成時(shí)的表組的連接情況的說明圖。圖7是表示在寫入寫數(shù)據(jù)時(shí),把分配給虛擬卷的頁從初始設(shè)定用頁切換為預(yù)定的頁的情況的說明圖。圖8是表示存儲(chǔ)控制裝置的整體動(dòng)作的流程的說明圖。圖9是表示池生成處理的流程圖。圖10是表示對(duì)數(shù)據(jù)附加的保證碼的結(jié)構(gòu)的說明圖。圖11是表示區(qū)塊的狀態(tài)遷移的說明圖。圖12是表示用于管理區(qū)塊的隊(duì)列的說明圖。圖13是表示格式化處理的流程圖。圖14是表示格式化處理的一部分的流程圖。圖15是表示生成虛擬卷的處理的流程圖。圖16是表示寫處理的流程圖。圖17是與圖16連續(xù)的流程圖。圖18是表示對(duì)虛擬卷分配區(qū)塊的處理的流程圖。圖19是表示對(duì)虛擬卷分配頁的處理的流程圖。圖20是表示變更頁狀態(tài)的處理的流程圖。圖21是表示讀處理的流程圖。圖22是與圖21連續(xù)的流程圖。圖23是表示使已分配給虛擬卷的頁釋放的處理的流程圖。圖24是表示本發(fā)明的效果的說明圖。圖25是包含第二實(shí)施例的存儲(chǔ)控制裝置的系統(tǒng)的全體圖。圖26是表示在虛擬卷之間進(jìn)行初始復(fù)制的處理的流程圖。圖27是表示在虛擬卷之間進(jìn)行更新復(fù)制的處理的流程圖。圖28是表示在第三實(shí)施例的存儲(chǔ)控制裝置中使用的、用于管理區(qū)塊的隊(duì)列的說明圖。符號(hào)說明1 存儲(chǔ)控制裝置;2 主機(jī);3 控制器;4 存儲(chǔ)裝置;5(1),5 (2)虛擬卷;5A 虛擬存儲(chǔ)區(qū)域;6a、6b :RAID 組;7 區(qū)塊;8 頁;10 存儲(chǔ)控制裝置;20 主機(jī);30 控制器;
40 存儲(chǔ)裝置;50V 虛擬卷;50N 普通卷;60 池部;70 管理服務(wù)器;90 =RAID組;91 區(qū)塊;92 頁。
具體實(shí)施例方式以下,根據(jù)
本發(fā)明的實(shí)施方式。最初說明本發(fā)明的概要,然后說明實(shí)施例。如后所述,本發(fā)明以區(qū)塊7為單位進(jìn)行實(shí)際存儲(chǔ)區(qū)域向虛擬卷5的分配。區(qū)塊7由多個(gè)頁8構(gòu)成。一個(gè)虛擬卷5對(duì)應(yīng)于一個(gè)區(qū)塊7。即,不存在一個(gè)區(qū)塊7與不同的多個(gè)虛擬卷 5對(duì)應(yīng)的情況。所以可以高效率地使用區(qū)塊7的存儲(chǔ)區(qū)域。在生成虛擬卷5時(shí),預(yù)先使各虛擬存儲(chǔ)區(qū)域5A與初始設(shè)定用的頁8對(duì)應(yīng)。當(dāng)從主機(jī)2發(fā)行向虛擬卷5的寫請(qǐng)求時(shí),按順序使用區(qū)塊7內(nèi)的頁8,將其分配給與寫請(qǐng)求有關(guān)的虛擬存儲(chǔ)區(qū)域5A。在該被分配的頁8中寫入寫數(shù)據(jù)。在寫入數(shù)據(jù)時(shí),把與寫請(qǐng)求有關(guān)的虛擬存儲(chǔ)區(qū)域5A的連接目的地從初始設(shè)定用的頁8切換為區(qū)塊7內(nèi)的預(yù)定的頁8。預(yù)定的頁 8是指與在上次的寫處理時(shí)使用的頁連續(xù)的頁。即,在寫入寫數(shù)據(jù)時(shí),因?yàn)閮H把分配給虛擬存儲(chǔ)區(qū)域5A的頁從初始設(shè)定用的頁8切換為預(yù)定的頁8即可,所以可以提高虛擬卷5的響應(yīng)性能。并且,當(dāng)在區(qū)塊7內(nèi)沒有空閑頁8時(shí),選擇新的區(qū)塊7分配給虛擬卷5。從別的 RAID組6b內(nèi)的區(qū)塊組中選擇新的區(qū)塊7。由此可以使負(fù)荷在各RAID組6a、6b之間分散。圖1是表示本發(fā)明的實(shí)施方式的概要的說明圖。與圖1有關(guān)的以下的記載以理解以及實(shí)施本發(fā)明所需要的程度表示了本發(fā)明的概要,本發(fā)明的范圍不限于圖1所示的結(jié)構(gòu)。圖1所示的系統(tǒng)具備存儲(chǔ)控制裝置1和主機(jī)2。主機(jī)2例如構(gòu)成為服務(wù)器計(jì)算機(jī)或大型計(jì)算機(jī)那樣的計(jì)算機(jī)裝置。在主機(jī)2為主計(jì)算機(jī)時(shí),例如按照FICON (Fibre Connection 注冊(cè)商標(biāo))、ESCON(Enterprise System Connection 注冊(cè)商標(biāo))、 ACONARC (Advanced Connection Architecture 注冊(cè)商標(biāo))、FIBARC (Fibre Connection Architecture 注冊(cè)商標(biāo))等通信協(xié)議來進(jìn)行數(shù)據(jù)通信。在主機(jī)2為服務(wù)器計(jì)算機(jī)等時(shí), 例如按照 FCP (Fibre Channel Protocol)或 iSCSI(internet Small Computer System Interface)等通信協(xié)議來進(jìn)行數(shù)據(jù)通信。存儲(chǔ)控制裝置1經(jīng)由通信網(wǎng)絡(luò)與主機(jī)2連接。存儲(chǔ)控制裝置1例如具備控制器 3、存儲(chǔ)裝置4、虛擬卷5(1)、5 (2)。在不需要特別進(jìn)行區(qū)別時(shí),稱為虛擬卷5。各RAID組6a、 6b分別由多個(gè)存儲(chǔ)裝置4構(gòu)成。作為存儲(chǔ)裝置4,例如可以使用硬盤設(shè)備、半導(dǎo)體存儲(chǔ)器設(shè)備、光盤設(shè)備、光磁盤設(shè)備、磁帶設(shè)備、軟盤設(shè)備等能夠讀寫數(shù)據(jù)的各種設(shè)備。在作為存儲(chǔ)裝置4使用了硬盤設(shè)備時(shí),例如可以使用FC (Fibre Channel)盤、SC SI (Small Computer System Interface)盤、SATA 盤、ATA(AT Attachment)盤、SAS(Serial Attached SCSI)盤等。此外,例如還可以使用閃速存儲(chǔ)器、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、相變存儲(chǔ)器(Ovonic Unified Memory)、RRAM(Resistance RAM)等各種存儲(chǔ)裝置4。并且,例如還可以是使像閃速存儲(chǔ)器設(shè)備和硬盤驅(qū)動(dòng)器那樣不同種類的存儲(chǔ)裝置4共存的結(jié)構(gòu)。把各RAID組6a、6b具有的物理存儲(chǔ)區(qū)域劃分為條帶(stripe)狀的多個(gè)區(qū)塊7。各區(qū)塊7由連續(xù)的多個(gè)頁8構(gòu)成。區(qū)塊7相當(dāng)于“第一實(shí)際存儲(chǔ)區(qū)域”,頁8相當(dāng)于“第二實(shí)際存儲(chǔ)區(qū)域”。為了理解,對(duì)屬于一個(gè)RAID組6a的第一區(qū)塊7賦予符號(hào)“al”,對(duì)屬于第一區(qū)塊7(al)的各頁添加序號(hào)。對(duì)于另一 RAID組6b也相同。因此,例如“a2_3”表示RAID 組6a的第二區(qū)塊內(nèi)的第三頁,“bl-1”表示RAID組6b的第一區(qū)塊內(nèi)的第一頁。虛擬卷5由多個(gè)虛擬存儲(chǔ)區(qū)域5A構(gòu)成。虛擬存儲(chǔ)區(qū)域5A與頁8的大小相同。在一個(gè)例子中,一個(gè)頁8的大小為SZl字節(jié)(例如32MB),一個(gè)區(qū)塊7的大小為SZ2字節(jié)(例如1GB),虛擬卷5的大小為SB字節(jié)(例如10GB)。此時(shí),一個(gè)虛擬卷5由附個(gè)(例如10 個(gè))區(qū)塊7構(gòu)成,一個(gè)區(qū)塊7由N2(例如32個(gè))頁8構(gòu)成。上述括號(hào)內(nèi)的數(shù)值只不過是用于理解的一個(gè)例子,本發(fā)明的范圍不限于上述的數(shù)值。上述的頁大小、區(qū)塊大小、虛擬卷大小等可以可變地設(shè)定。控制器3控制存儲(chǔ)控制裝置1的動(dòng)作。例如,控制器3根據(jù)來自用戶的指示,生成 RAID組6a、6b以及虛擬卷5。此外,控制器3根據(jù)從主機(jī)2發(fā)行的命令(讀命令、寫命令) 執(zhí)行處理,并把其處理結(jié)果發(fā)送給主機(jī)2。并且,控制器3在接收到寫命令時(shí),判斷是否對(duì)根據(jù)寫命令指定的虛擬存儲(chǔ)區(qū)域 5A分配了頁8。在沒有對(duì)指定的虛擬存儲(chǔ)區(qū)域5A分配頁8時(shí),控制器3把區(qū)塊7內(nèi)的預(yù)定的頁8分配給指定的虛擬存儲(chǔ)區(qū)域5A??刂破?在所分配的預(yù)定頁8中寫入寫數(shù)據(jù)??刂破?控制頁分配,僅使一個(gè)虛擬卷5對(duì)應(yīng)一個(gè)區(qū)塊7。把一個(gè)區(qū)塊7中包含的各頁8僅分配給一個(gè)虛擬卷5。在一個(gè)區(qū)塊7內(nèi)不會(huì)共同存在分別被分配給不同的多個(gè)虛擬卷5的頁8。在一個(gè)區(qū)塊7內(nèi),與邏輯地址的值無關(guān)地使用連續(xù)的頁8。當(dāng)以一個(gè)虛擬卷5(1)為例來進(jìn)行說明時(shí),針對(duì)最初的寫命令,使用區(qū)塊7 (al)內(nèi)的先頭頁8 (al-Ι),針對(duì)下一個(gè)寫命令,使用與該先頭頁8 (al-Ι)相連的下一個(gè)頁8 (al-2), 并且針對(duì)別的寫命令,使用下一個(gè)頁8 (al-3)。然后,在使用了最后的頁8 (al-4)后又接收到寫命令時(shí),把新的區(qū)塊7 (bl)分配給虛擬卷5 (1)。對(duì)另一虛擬卷5 (2)分配了 RAID組6a的第二區(qū)塊7內(nèi)的先頭頁8 (a2_l)。如果發(fā)行了以虛擬卷5( 為對(duì)象的新的寫命令時(shí),把下一頁8分配給虛擬卷5 O)。對(duì)該頁8應(yīng)該添加“a2-2”的符號(hào),但是在圖1中省略。在如此構(gòu)成的本實(shí)施方式中,以具有多個(gè)頁8的區(qū)塊7為單位,對(duì)虛擬卷5分配實(shí)際存儲(chǔ)區(qū)域(物理存儲(chǔ)區(qū)域),并且將一個(gè)區(qū)塊7僅分配給一個(gè)虛擬卷5。因此,如后所述, 能夠有效地使用區(qū)塊7內(nèi)的存儲(chǔ)區(qū)域。此外,能夠與普通的邏輯卷同樣地管理虛擬卷5,可以簡化控制結(jié)構(gòu)。在本實(shí)施方式中,為了均等地使用多個(gè)RAID組6a、6b,從各RAID組6a、6b中分別選擇區(qū)塊7(al)、7(bl),分配給虛擬卷5(1)。由此,可以使各RAID組6a、6b的負(fù)荷均勻。以下詳細(xì)說明本實(shí)施方式。(實(shí)施例1)圖2是表示包含本實(shí)施例的存儲(chǔ)控制裝置10的信息處理系統(tǒng)的全體結(jié)構(gòu)的說明圖。該信息處理系統(tǒng)例如可以包含至少一個(gè)存儲(chǔ)控制裝置10、一個(gè)或多個(gè)主機(jī)20、至少一個(gè)管理服務(wù)器70。首先說明與圖1中敘述的實(shí)施方式的對(duì)應(yīng)關(guān)系。存儲(chǔ)控制裝置10對(duì)應(yīng)于存儲(chǔ)控制裝置1,主機(jī)20對(duì)應(yīng)于主機(jī)2,控制器30對(duì)應(yīng)于控制器3,存儲(chǔ)裝置40對(duì)應(yīng)于存儲(chǔ)裝置4,虛擬卷50V對(duì)應(yīng)于虛擬卷5,RAID組90對(duì)應(yīng)于RAID組6a、6b。盡可能省略與圖1中的說明重復(fù)的說明。主機(jī)20與存儲(chǔ)裝置10經(jīng)由第一通信網(wǎng)絡(luò)80連接。例如像FC-SAN (Fibre Channel-Storage Area Network)或 IP-SAN (Internet Protoco 1_SAN)那樣構(gòu)成第一通信網(wǎng)絡(luò)80。管理服務(wù)器70是用于對(duì)存儲(chǔ)控制裝置10的設(shè)定進(jìn)行變更等的裝置。管理服務(wù)器 70例如經(jīng)由LAN (Local Area Network)那樣的第二通信網(wǎng)絡(luò)81,與存儲(chǔ)控制裝置10連接。 也可以在主機(jī)20中設(shè)置存儲(chǔ)管理功能,從主機(jī)20側(cè)進(jìn)行存儲(chǔ)控制裝置10的設(shè)定變更等。將在后面敘述存儲(chǔ)控制裝置10的詳細(xì)情況,存儲(chǔ)控制裝置10具備虛擬卷50V和普通卷50N。在圖中,把邏輯卷標(biāo)記為“LU”?!癓U”是Logical Unit (邏輯單元)的縮寫。如在圖1中所述那樣,虛擬卷50V是虛擬地生成的邏輯卷,是根據(jù)來自主機(jī)20的寫命令被分配了存儲(chǔ)區(qū)域的卷。即,在虛擬卷50V中,提供給主機(jī)20的卷大小與實(shí)際具有的存儲(chǔ)區(qū)域的大小不一致。普通卷50N是根據(jù)RAID組90具有的存儲(chǔ)區(qū)域生成的卷。池部60管理多個(gè)RAID組90具有的存儲(chǔ)區(qū)域。以區(qū)塊91 (參照?qǐng)D4)為單位,把池部60管理的存儲(chǔ)區(qū)域分配給虛擬卷50V??刂破?0把各卷50V、50N的邏輯地址變更為RAID組90的物理地址等,來在存儲(chǔ)裝置40中寫入數(shù)據(jù),或者把從存儲(chǔ)裝置40讀出的數(shù)據(jù)的物理地址變更為邏輯地址等,把數(shù)據(jù)發(fā)送給主機(jī)20。圖3是表示控制器30的結(jié)構(gòu)的方框圖??梢栽诖鎯?chǔ)控制裝置10上連接多個(gè)增設(shè)機(jī)箱43。增設(shè)機(jī)箱43收容有多個(gè)存儲(chǔ)裝置40。用戶根據(jù)需要來連接增設(shè)機(jī)箱4,由此可以增大系統(tǒng)的總存儲(chǔ)容量。存儲(chǔ)控制裝置10具備多個(gè)控制器30 (#0)、30 (#1)。即使在某一個(gè)控制器30由于故障等而停止的情況下,也可以通過另一個(gè)控制器30使動(dòng)作繼續(xù)。以下,在不需要特別區(qū)分時(shí)稱為控制器30??刂破?0例如具備第一通信電路310 (在圖1中為FEI/F)、第二通信電路320 (在圖中為SAS)、數(shù)據(jù)傳輸控制電路330 (在圖中為DCTL)、高速緩沖存儲(chǔ)器340 (在圖中為CM)、 本地存儲(chǔ)器350 (在圖中為LM)、微處理器360 (在圖中為MPU)、存儲(chǔ)器控制器370 (在圖中為MC)、以及擴(kuò)展器380 (在圖中為EXP)。第一通信電路310是用于與主機(jī)20進(jìn)行通信的控制電路。第二通信電路320是用于與各存儲(chǔ)裝置40進(jìn)行通信的控制電路。數(shù)據(jù)傳輸控制電路330是用于控制存儲(chǔ)控制裝置10內(nèi)的數(shù)據(jù)的流動(dòng)的電路。各數(shù)據(jù)傳輸控制電路330相互連接。高速緩沖存儲(chǔ)器340 例如存儲(chǔ)從主機(jī)20接收到的寫數(shù)據(jù)、從存儲(chǔ)裝置40讀出的數(shù)據(jù)。并且,有時(shí)還在高速緩沖存儲(chǔ)器340中存儲(chǔ)用于管理存儲(chǔ)控制裝置10的結(jié)構(gòu)或動(dòng)作的管理用數(shù)據(jù)等。本地存儲(chǔ)器350例如存儲(chǔ)由微處理器360使用的多種數(shù)據(jù)。微處理器360從存儲(chǔ)裝置40或本地存儲(chǔ)器350讀入計(jì)算機(jī)程序來執(zhí)行,由此,如后所述那樣控制存儲(chǔ)控制裝置 10的動(dòng)作。存儲(chǔ)器控制器370是用于將微處理器360與本地存儲(chǔ)器350以及數(shù)據(jù)傳輸控制電路330連接的控制電路。擴(kuò)展器380是用于擴(kuò)展第二通信電路320的通信端口的電路。圖4是表示虛擬卷50V與區(qū)塊91的關(guān)系的說明圖。虛擬卷50V具有多個(gè)虛擬存儲(chǔ)區(qū)域500。區(qū)塊91具有多個(gè)頁92。在圖4中,為了方便,表示了橫向地劃分條帶狀的區(qū)塊91來形成各頁92,但實(shí)際上沿著條帶列而形成各頁92。在圖4中,最初假設(shè)對(duì)虛擬卷50V分配了第一區(qū)塊91 (#0)。在每次接收到向虛擬卷50V的寫命令(寫請(qǐng)求)時(shí),按順序選擇第一區(qū)塊91 (#0)內(nèi)的頁92,使其與寫命令所對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域500相對(duì)應(yīng)。把寫數(shù)據(jù)寫入到與虛擬存儲(chǔ)區(qū)域500對(duì)應(yīng)的頁92中。艮口, 在構(gòu)成該頁92的各存儲(chǔ)裝置40的各存儲(chǔ)區(qū)域中寫入寫數(shù)據(jù)。在使用了第一區(qū)塊91 (#0)的最初的頁92 (1-0)之后,使用下一個(gè)頁92 (1-1),然后使用再下一個(gè)頁92 (1-2)。然后,假定使用到第一區(qū)塊91 (#0)的最終頁92 (1-4)。由此,使用了第一區(qū)塊91 (#0)的全部的頁92。當(dāng)從主機(jī)20發(fā)行新的寫命令時(shí),選擇第二區(qū)塊91 (#1),使用第二區(qū)塊91 (#1)的先頭頁92 0-0)。以下,與在第一區(qū)塊91 (#0)中敘述的相同,按順序使用第二區(qū)塊91 (#1)內(nèi)的各頁92。如此,使多個(gè)區(qū)塊91(#0)、91(#1)與虛擬卷50V相對(duì)應(yīng)。分別從不同的RAID組90 中選擇這些區(qū)塊91(#0)、91(#1)。S卩,使從多個(gè)RAID組90中選擇出的多個(gè)區(qū)塊91與虛擬卷50V對(duì)應(yīng)。對(duì)應(yīng)于主機(jī)20進(jìn)行的向虛擬卷50V的數(shù)據(jù)寫入,按順序使用對(duì)應(yīng)的區(qū)塊91 內(nèi)的頁92。如后所述,在主機(jī)20請(qǐng)求刪除虛擬卷50V內(nèi)的數(shù)據(jù)時(shí),釋放與作為刪除對(duì)象的數(shù)據(jù)的邏輯地址對(duì)應(yīng)的頁92,將其用于與該虛擬卷50V有關(guān)的其他寫數(shù)據(jù)的存儲(chǔ)。圖5是表示用于管理虛擬卷50V的表組的說明圖。圖5所示的表組被設(shè)置在高速緩沖存儲(chǔ)器340上,之后被存儲(chǔ)在預(yù)定的存儲(chǔ)裝置40內(nèi)的預(yù)定的管理區(qū)域中。此外,還把這些表組復(fù)制到本地存儲(chǔ)器350中,由微處理器360來使用。池指數(shù)100例如是池部60管理的RAID組90的識(shí)別號(hào)碼等、用于管理與池部60 的結(jié)構(gòu)(包含狀態(tài)以及屬性)有關(guān)的信息的信息。虛擬卷指數(shù)101是用于管理與虛擬卷50V的結(jié)構(gòu)有關(guān)的信息的信息。虛擬卷指數(shù) 101例如管理分配給虛擬卷50V的區(qū)塊91的識(shí)別號(hào)碼以及鏈接的指數(shù)102的信息等。虛擬地址指數(shù)102是用于管理向虛擬地址塊103的指針的信息。虛擬地址塊103 是用于管理向頁地址信息104的指針的信息。例如,當(dāng)設(shè)虛擬卷50V的卷大小為IOGB時(shí),虛擬地址指數(shù)102把虛擬卷50V的虛擬地址區(qū)域劃分為每個(gè)4GB的區(qū)域來進(jìn)行管理(最初的兩個(gè)區(qū)域?yàn)?GB,最后一個(gè)區(qū)域?yàn)?2GB)。虛擬地址塊103分別能夠覆蓋4GB的范圍。如此,在本實(shí)施例中,把虛擬卷50V具有的虛擬地址區(qū)域劃分為虛擬地址指數(shù)102和虛擬地址塊103這兩個(gè)階段來進(jìn)行層級(jí)管理。 由此,可以縮小范圍來進(jìn)行搜索,可以迅速地訪問相應(yīng)頁92。上述的數(shù)值GGB、10GB、2GB) 只不過是用于說明的一個(gè)例子,本發(fā)明并不限于這些數(shù)值。所述各數(shù)值可以可變地設(shè)定。頁地址信息104是用于管理構(gòu)成虛擬卷50V的各虛擬存儲(chǔ)區(qū)域500(即,虛擬頁 500)的結(jié)構(gòu)信息的信息。在頁地址信息104中,例如包含表示與虛擬頁對(duì)應(yīng)的物理頁92的物理地址以及頁狀態(tài)。池內(nèi)RAID組指數(shù)110是用于管理池部60管理的各RAID組90的結(jié)構(gòu)信息的信息。 池內(nèi)RAID組指數(shù)110例如管理池部60內(nèi)的各RAID組90具有的各區(qū)塊91的信息等。此外,池內(nèi)RAID組指數(shù)110包含用于分別表示未分配區(qū)塊隊(duì)列的先頭以及末尾的指針。
12
區(qū)塊指數(shù)120包含指針,該指針用于管理對(duì)于各虛擬卷50V直到何處分配了區(qū)塊 91。S卩,區(qū)塊指數(shù)120管理分配給各虛擬卷50V的區(qū)塊的數(shù)量等。圖6表示將圖5所示的表組初始化后的狀態(tài)。在生成虛擬卷50V時(shí),如圖6所示那樣將表組初始化。虛擬卷50V中包含的各虛擬存儲(chǔ)區(qū)域500 (虛擬頁500)被映射到特定的區(qū)塊91內(nèi)的特定的頁92中。例如,如圖6所示,作為用于初始化的特定的頁,使用RAID組90內(nèi)的先頭區(qū)塊91 的最終頁92。在先頭區(qū)塊91中存儲(chǔ)上述表組等管理信息。作為管理信息的保存區(qū)域,使用到從先頭區(qū)塊91內(nèi)的先頭頁92開始預(yù)定數(shù)量的頁92。雖然根據(jù)能夠設(shè)定的虛擬卷的數(shù)量等而不同,但是管理信息的合計(jì)大小不足區(qū)塊大小(例如1GB)。因此,至少不會(huì)出現(xiàn)在先頭區(qū)塊91的最終頁92中存儲(chǔ)管理信息的情況。即,不把先頭區(qū)塊91的最終頁92作為管理信息的存儲(chǔ)目的地來使用。因此,預(yù)先使先頭區(qū)塊91的最終頁、即初始化用的頁92僅存儲(chǔ)零數(shù)據(jù)。然后,在對(duì)用于定義虛擬卷50V的結(jié)構(gòu)的表組進(jìn)行初始化時(shí),使虛擬卷50V內(nèi)的全部的虛擬存儲(chǔ)區(qū)域500與初始化用的頁92對(duì)應(yīng)。由此,能夠預(yù)先確認(rèn)在定義虛擬卷50V時(shí)(生成虛擬卷50V時(shí)),在表組的映射中沒有產(chǎn)生異常。并且,如圖7的粗線所示,在對(duì)虛擬卷50V發(fā)行了寫命令時(shí),僅使通過該寫命令指定的邏輯地址所對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域500與應(yīng)該從初始設(shè)定用的頁92寫入寫數(shù)據(jù)的預(yù)定的頁重新連接即可。因此,僅僅通過切換虛擬存儲(chǔ)區(qū)域500的對(duì)應(yīng)目標(biāo)便可以存儲(chǔ)寫數(shù)據(jù),可以提高虛擬卷50V的響應(yīng)性能。圖8是表示用于理解存儲(chǔ)控制裝置10的全體動(dòng)作的流程圖。在該流程圖中還包含用戶的步驟。首先,最初,用戶經(jīng)由管理服務(wù)器70對(duì)存儲(chǔ)控制裝置10給予預(yù)定的指示,由此使池部60生成RAID組90,并且使該RAID組90格式化,生成未分配區(qū)塊隊(duì)列等(SlO)。 在此,用連續(xù)序號(hào)管理在池部60內(nèi)管理的、虛擬卷50V用的RAID組90和普通卷50N用的 RAID 組 90。
然后,用戶從管理服務(wù)器70對(duì)存儲(chǔ)控制裝置10給予其他預(yù)定的指示,由此生成虛擬卷50V(Sll)。如上所述,在生成虛擬卷50V時(shí),各虛擬存儲(chǔ)區(qū)域500分別與初始設(shè)定用的頁92對(duì)應(yīng)。在此,用連續(xù)序號(hào)管理虛擬卷50V和普通卷50N,由此,可以用共同的管理方式管理虛擬卷50V和普通卷50N,可以使虛擬卷50V和普通卷50N共存于存儲(chǔ)控制裝置10 內(nèi)。然后,用戶將主機(jī)20與虛擬卷50V連接(S12)。用戶將虛擬卷50V連接在與主機(jī) 20 相聯(lián)系的 LUN(Logical Unit Number)上,并且進(jìn)行 WffN(Logical Unit Number)的登錄寸。主機(jī)20識(shí)別虛擬卷50V(S13),向虛擬卷50V發(fā)行寫命令等命令。存儲(chǔ)控制裝置 10進(jìn)行與來自主機(jī)20的命令對(duì)應(yīng)的處理,將其結(jié)果發(fā)送給主機(jī)20 (S14)。以下,改換
各處理的詳細(xì)內(nèi)容。圖9是表示池生成處理的流程圖。以下敘述的各流程圖表示各處理的概要。如果是所謂的本領(lǐng)域技術(shù)人員,則可以進(jìn)行圖示的步驟的替換、變更、刪除或新步驟的追加。當(dāng)給予了池生成請(qǐng)求時(shí),開始圖9所示的處理。以下,把動(dòng)作的主體設(shè)為控制器 30??刂破?0關(guān)于作為生成對(duì)象的池部60的池指數(shù)100,更新其池狀態(tài)(S20),生成RAID組90 (S21)??刂破?0把池內(nèi)RAID組指數(shù)110的狀態(tài)變更為“處理中”(S22)??刂破?0在RAID組90內(nèi)設(shè)定用于保存管理信息的區(qū)域(S33),并且,生成區(qū)塊指數(shù)120 (S24)。關(guān)于池部60內(nèi)的全部區(qū)塊91,分別執(zhí)行以下的步驟S^ S28 (S25)??刂破?0將與對(duì)象區(qū)塊對(duì)應(yīng)的頁地址信息104初始化(S^),把對(duì)象區(qū)塊的狀態(tài)變更為“格式化等待”(S27)??刂破?0把管理信息的對(duì)比請(qǐng)求入列到用于保存管理信息的保存請(qǐng)求隊(duì)列中(S^)。在關(guān)于各區(qū)塊91執(zhí)行了 S^ S28后,控制器30把池內(nèi)RAID組指數(shù)110的狀態(tài)變更為“有效”(S29)。然后,控制器30把空數(shù)據(jù)升級(jí)(staging)到高速緩沖存儲(chǔ)器340中 (S30),然后結(jié)束本處理。這是因?yàn)?,在?qǐng)求從沒有被寫入寫數(shù)據(jù)的虛擬存儲(chǔ)區(qū)域500讀出數(shù)據(jù)時(shí),不訪問作為物理存儲(chǔ)區(qū)域的頁92,而是對(duì)主機(jī)20返回空數(shù)據(jù)。圖10說明數(shù)據(jù)以及保證碼。如圖10(a)所示,在本實(shí)施例中,例如對(duì)每個(gè)512字節(jié)的數(shù)據(jù)DlO附加8字節(jié)的保證碼D11,并存儲(chǔ)在存儲(chǔ)裝置40中。保證碼Dll可以包含用于驗(yàn)證邏輯地址的部分和用于驗(yàn)證比特錯(cuò)誤的部分。以下,著眼于用于驗(yàn)證邏輯地址的部分來進(jìn)行說明。圖10(b)表示對(duì)普通卷50N中存儲(chǔ)的數(shù)據(jù)附加的保證碼的結(jié)構(gòu)。與普通卷50N有關(guān)的保證碼中用于邏輯地址驗(yàn)證的部分包含4比特的預(yù)約區(qū)域D110、12比特的LUN區(qū)域 D111U6比特的LBA區(qū)域D112。LBA是Logical Block Address (邏輯塊地址)的縮寫。在 LUN區(qū)域Dlll中存儲(chǔ)與普通卷50N對(duì)應(yīng)的LUN。在LBA區(qū)域Dl 12中存儲(chǔ)數(shù)據(jù)DlO的邏輯地址。圖10(c)表示對(duì)虛擬卷50V中存儲(chǔ)的數(shù)據(jù)附加的保證碼的結(jié)構(gòu)。與虛擬卷50V有關(guān)的保證碼中用于邏輯地址驗(yàn)證的部分包含4比特的預(yù)約區(qū)域D110、8比特的RAID組識(shí)別區(qū)域D113、4比特的區(qū)塊識(shí)別區(qū)域D114、16比特的區(qū)塊內(nèi)LBA偏移區(qū)域D115。在RAID組識(shí)別區(qū)域D113中存儲(chǔ)用于識(shí)別RAID組90的信息。在區(qū)塊識(shí)別區(qū)域D114中存儲(chǔ)用于識(shí)別區(qū)塊91的信息中的下位4比特。在區(qū)塊內(nèi)LBA偏移區(qū)域D115中存儲(chǔ)在存儲(chǔ)有數(shù)據(jù)DlO的區(qū)塊91內(nèi)從該區(qū)塊91的先頭邏輯地址的偏移值。根據(jù)圖11、圖12說明用于管理區(qū)塊91的隊(duì)列。圖11是表示隊(duì)列的使用方法的說明圖。當(dāng)生成池部60時(shí),把池部60管理的各RAID組90具有的各個(gè)區(qū)塊91登錄在格式化等待區(qū)塊隊(duì)列QlO中來進(jìn)行管理。當(dāng)開始格式化時(shí),把正在格式化的區(qū)塊91轉(zhuǎn)移到處理完成等待區(qū)塊隊(duì)列Q20中。然后,當(dāng)格式化完成時(shí),把已完成格式化的區(qū)塊91轉(zhuǎn)移到未分配區(qū)塊隊(duì)列Q30中。圖12是示意性地表示各隊(duì)列Q10、Q20、Q30的說明圖。針對(duì)每個(gè)RAID組90準(zhǔn)備格式化等待區(qū)塊隊(duì)列Q10。然后,在開始格式化處理時(shí),從格式化等待區(qū)塊隊(duì)列QlO內(nèi)的各 RAID組90中按照預(yù)定的順序取出區(qū)塊91,將其與處理完成等待區(qū)塊隊(duì)列Q20連接。完成了格式化的區(qū)塊91如上所述,與未分配區(qū)塊隊(duì)列Q30連接。因?yàn)榘凑张c處理完成等待區(qū)塊隊(duì)列Q20相連的順序完成格式化,所以在通常的情況下,處理完成等待區(qū)塊隊(duì)列Q20內(nèi)的各區(qū)塊91的順序與未分配區(qū)塊隊(duì)列Q30內(nèi)的各區(qū)塊91的順序一致。根據(jù)圖13、圖14說明對(duì)區(qū)塊91進(jìn)行格式化的處理。圖13表示格式化處理的全體,圖14表示格式化處理的一部分??刂破?0通過確認(rèn)格式化等待區(qū)塊隊(duì)列QlO來判定是否具有等待格式化的區(qū)塊91(S50)。當(dāng)在格式化等待區(qū)塊隊(duì)列QlO中登錄了區(qū)塊91時(shí)(S50 是),控制器30對(duì)池部 60內(nèi)的每個(gè)RAID組90,通過輪轉(zhuǎn)(round robin)方式選擇區(qū)塊,執(zhí)行以下的步驟S51 S54。當(dāng)在圖12所示的例子中說明選擇方法時(shí),在從第一 RAID組90(#1)中選擇了一個(gè)區(qū)塊91 (1-1)之后,從第二 RAID組90 (#2)中選擇另一個(gè)區(qū)塊91 (2_1),并且,從第三RAID 組90 (#3)中選擇又一個(gè)區(qū)塊91 (3-1)。關(guān)于被選擇的區(qū)塊91 (1-1)、91 (2-1)、91 (3-1),分別執(zhí)行后述的S52 S54。關(guān)于區(qū)塊91 (1-2)、區(qū)塊91 (2-2)、區(qū)塊91 (3-2)的組合,也執(zhí)行 S52 S54。并且,關(guān)于區(qū)塊91 (1-3)、區(qū)塊91 (2-3)、區(qū)塊91 (3-3)的組合,也執(zhí)行S52 S54。以下相同。控制器30從格式化等待區(qū)塊隊(duì)列QlO中選擇一個(gè)對(duì)象RAID組90的區(qū)塊91,使其從格式化等待區(qū)塊隊(duì)列QlO出列(S52)。控制器30使被選擇的區(qū)塊91入列到處理完成等待區(qū)塊隊(duì)列Q20(S53),執(zhí)行針對(duì)被選擇的區(qū)塊91的格式化任務(wù)(S54)。關(guān)于格式化任務(wù)的詳細(xì)情況,與圖14 一起在后面敘述。當(dāng)格式化任務(wù)完成時(shí),控制器30使已完成格式化的區(qū)塊91從處理完成等待區(qū)塊隊(duì)列Q20出列(S55),使該已完成格式化的區(qū)塊91入列到未分配區(qū)塊隊(duì)列Q30(S56)。圖14是表示在圖13中S54所示的格式化任務(wù)的詳細(xì)情況的流程圖??刂破?0 取得作為處理對(duì)象的區(qū)塊91的識(shí)別號(hào)碼(S60),決定對(duì)對(duì)象區(qū)塊91進(jìn)行格式化的范圍 (S61)。然后,控制器30取得與對(duì)象區(qū)塊91有關(guān)的擴(kuò)展鎖(Extent Lock) (S62)。由此,防止別的程序使用對(duì)象區(qū)塊91??刂破?0關(guān)于對(duì)象區(qū)塊91對(duì)每個(gè)預(yù)定大小執(zhí)行后述的S64 S70 (S63)。即,控制器30針對(duì)預(yù)定大小的每個(gè)單位區(qū)域,對(duì)對(duì)象區(qū)塊91進(jìn)行格式化??刂破?0確保數(shù)據(jù)用的高速緩沖存儲(chǔ)區(qū)段(S64),接著,確保奇偶校驗(yàn)位 (parity)用的高速緩沖存儲(chǔ)區(qū)段(S65)。高速緩沖存儲(chǔ)區(qū)段是管理高速緩沖存儲(chǔ)器340的存儲(chǔ)區(qū)域的單位??刂破?0計(jì)算邏輯地址(S66),請(qǐng)求生成零數(shù)據(jù)(S67),并且,請(qǐng)求生成奇偶校驗(yàn)位(S68)。使用在S64中確保的高速緩沖存儲(chǔ)區(qū)段來生成零數(shù)據(jù)。使用在S65中確保的高速緩沖存儲(chǔ)區(qū)段來生成奇偶校驗(yàn)位。控制器30釋放為了數(shù)據(jù)而確保的速緩沖存儲(chǔ)區(qū)段 (S69),并且還釋放為了奇偶校驗(yàn)位而確保的速緩沖存儲(chǔ)區(qū)段(S70)??刂破?0釋放對(duì)象區(qū)塊91的擴(kuò)展鎖(S71),在確認(rèn)針對(duì)對(duì)象區(qū)塊91的格式化完成后(S72:是),返回圖13的處理。圖15是表示生成虛擬卷50V的處理的流程圖。控制器30判定池部60的狀態(tài)是否正常(S80)。當(dāng)在池部60中發(fā)生了故障時(shí)(S80:否),因?yàn)闊o法生成虛擬卷50V,所以控制器30執(zhí)行錯(cuò)誤處理(S81)。在錯(cuò)誤處理中,例如因?yàn)樵诔夭?0中發(fā)生了異常,所以向用戶通知無法生成虛擬卷50V的意思。在池部60正常時(shí)(S80 是),控制器30把虛擬卷指數(shù)101的狀態(tài)從“無效”變更為“處理中”(S82)。對(duì)于預(yù)先準(zhǔn)備的虛擬卷的識(shí)別號(hào)碼,作為虛擬卷的狀態(tài)的初始值,預(yù)先設(shè)定了“無效”。在生成虛擬卷50V的過程中,其狀態(tài)從“無效”變化為“處理中”。當(dāng)虛擬卷 50V的生成完成時(shí),如后所述,其狀態(tài)從“處理中”變更為“有效。,,控制器30對(duì)于狀態(tài)變更為“處理中”的虛擬卷50V,生成虛擬地址指數(shù)102 (S83),
15并且,生成與該虛擬地址指數(shù)102對(duì)應(yīng)的虛擬地址塊103 (S84)。并且,控制器30生成與虛擬地址塊103對(duì)應(yīng)的頁地址信息104 (S85)??刂破?0更新池內(nèi)RAID組指數(shù)110 (S86),把虛擬卷指數(shù)101的狀態(tài)從“處理中” 變更為“有效”(S87)??刂破?0確認(rèn)是否正常地生成了虛擬卷50V(S88),在正常地生成了虛擬卷50V的情況下(S88 是),使本處理結(jié)束。在未正常地生成虛擬卷時(shí)(S88 否),進(jìn)行錯(cuò)誤處理(S89)。在錯(cuò)誤處理中,例如向用戶通知未正常地生成虛擬卷50V的意思。為了方便,說明了最后判定是否正常地生成了虛擬卷50V,但實(shí)際上在生成各表 101-104時(shí)分別判定是否正常地生成。并且,在未正常生成時(shí),進(jìn)行錯(cuò)誤處理。通過進(jìn)行圖15所示的處理,生成圖6所示的表組,使虛擬卷50V內(nèi)的各虛擬存儲(chǔ)區(qū)域500分別與初始設(shè)定用的頁92對(duì)應(yīng)。因此,確認(rèn)在正常地生成了虛擬卷50V的時(shí)刻, 能夠正常地進(jìn)行各虛擬存儲(chǔ)區(qū)域500與實(shí)際頁92的對(duì)應(yīng)。圖16是表示寫命令的處理的流程圖。控制器30當(dāng)從主機(jī)20接收到命令時(shí),判定該命令是否為以虛擬卷50V為對(duì)象的寫命令(S90)。在該命令是以普通卷50N為對(duì)象的寫命令時(shí)(S90 否),控制器30執(zhí)行通常的寫處理(S91)。在通常的寫處理中,例如在高速緩沖存儲(chǔ)器340中寫入從主機(jī)20收到的寫數(shù)據(jù),在寫數(shù)據(jù)向高速緩沖存儲(chǔ)器340的寫入完成時(shí),向主機(jī)20通知處理完成。之后,安排恰當(dāng)?shù)亩〞r(shí),把高速緩沖存儲(chǔ)器340中存儲(chǔ)的寫數(shù)據(jù)寫入存儲(chǔ)裝置40中。在收到以虛擬卷50V為對(duì)象的寫命令時(shí)(S90 是),控制器30關(guān)于通過寫命令指定的虛擬卷50V,判定是否具有當(dāng)前正在使用的區(qū)塊91 (S92)。在具有正在使用的區(qū)塊91 時(shí)(S92:是),轉(zhuǎn)移到后述的S96。在沒有正在使用的區(qū)塊91時(shí)(S92:否),控制器30判定應(yīng)該新分配給虛擬卷50V的區(qū)塊91是否成為初始狀態(tài)(S93)。在通常的情況下,通過圖13所示的格式化處理把新區(qū)塊設(shè)定為初始狀態(tài)。即便這樣,在新區(qū)塊91沒有成為初始狀態(tài)時(shí)(S93:否),進(jìn)行錯(cuò)誤處理(S94)。在錯(cuò)誤處理中,例如經(jīng)由管理服務(wù)器70向用戶通知不存在初始狀態(tài)的區(qū)塊91的意思。在新區(qū)塊91成為初始狀態(tài)時(shí)(S93 是),控制器30進(jìn)行區(qū)塊分配變更處理(S95)。 將在圖18中敘述區(qū)塊分配變更處理的詳細(xì)情況,先進(jìn)行簡單的說明,控制器30從未分配區(qū)塊隊(duì)列Q30中選擇一個(gè)區(qū)塊91,使其與虛擬卷50V對(duì)應(yīng),把該區(qū)塊91的狀態(tài)變更為“已分配(正在使用)”等??刂破?0判定區(qū)塊91內(nèi)的各頁92中要使用的頁92是否成為初始狀態(tài)(S96)。 在要使用的頁92為初始狀態(tài)時(shí)(S96 是),進(jìn)行頁分配變更處理(S97)。將在圖19中敘述頁分配變更處理的詳細(xì)情況。先簡單地說明,在頁分配變更處理中,把分配給虛擬卷50V的頁92的狀態(tài)變更為“已分配(正在使用)”,更新虛擬地址塊103 以及頁地址信息104。在S97后,轉(zhuǎn)移到S98。在要使用的頁92不是初始狀態(tài)時(shí)(S96 否),即要使用的頁92不是初始設(shè)定用的頁時(shí),跳過S97轉(zhuǎn)移到S98。控制器30確保用于存儲(chǔ)寫數(shù)據(jù)的高速緩沖存儲(chǔ)區(qū)段(S98),并且,生成用于傳輸寫數(shù)據(jù)的DMA (Direct Memory Access)傳輸列表(S99)。然后,控制器30計(jì)算保證碼的地址部分(LA) (S100),把從主機(jī)20收到的寫數(shù)據(jù)DMA傳輸?shù)礁咚倬彌_存儲(chǔ)器340 (SlOl)。在高速緩沖存儲(chǔ)器340中存儲(chǔ)寫數(shù)據(jù)后,控制器30向主機(jī)20通知寫命令的處理已完成的意思(S102)。把在寫數(shù)據(jù)向高速緩沖存儲(chǔ)器340的寫入完成后向主機(jī)20通知處理完成的方式稱為非同步方式。與此相對(duì),把在等待向存儲(chǔ)裝置40寫入寫數(shù)據(jù)后,向主機(jī)20通知處理完成的方式稱為同步方式??梢允褂梅峭椒绞交蛲椒绞街械哪骋环N。轉(zhuǎn)移到圖17??刂破?0把在寫數(shù)據(jù)中設(shè)定的邏輯地址變換為用于存儲(chǔ)在存儲(chǔ)裝置40中的物理地址(S103)。控制器30確保高速緩沖存儲(chǔ)區(qū)段(S104)。控制器30從存儲(chǔ)裝置40讀出為了生成奇偶校驗(yàn)位所需要的舊數(shù)據(jù)(S105),并且將其存儲(chǔ)在在S104中確保的高速緩沖存儲(chǔ)區(qū)段中??刂破?0根據(jù)從主機(jī)20收到的寫數(shù)據(jù)和從存儲(chǔ)裝置40讀出的舊數(shù)據(jù),計(jì)算新的奇偶校驗(yàn)位(S106)??刂破?0把存儲(chǔ)在高速緩沖存儲(chǔ)器340中的寫數(shù)據(jù)傳輸?shù)酱鎯?chǔ)裝置 40(在圖17中表示為盤)中并存儲(chǔ)(S107)??刂破?0把高速緩沖存儲(chǔ)器340中存儲(chǔ)的寫數(shù)據(jù)的狀態(tài)從“臟”變更為“干凈”(S108)?!芭K”狀態(tài)表示僅存儲(chǔ)在高速緩沖存儲(chǔ)器340中的狀態(tài)?!案蓛魻顟B(tài)”表示被寫入到存儲(chǔ)裝置40的狀態(tài)。最后,控制器30釋放在S98以及S104中確保的高速緩沖存儲(chǔ)區(qū)段,結(jié)束本處理(S109)。圖18是表示在圖16中S95所示的區(qū)塊分配變更處理的流程圖??刂破?0把處理對(duì)象區(qū)塊91的狀態(tài)變更為預(yù)定的狀態(tài)(SllO)。例如,在對(duì)虛擬卷50V分配新區(qū)塊91時(shí),把新區(qū)塊91的狀態(tài)從“未分配(未使用)” 變更為“已分配(正在使用)”。此外,例如在釋放已分配給虛擬卷50V的區(qū)塊91時(shí),把該區(qū)塊91的狀態(tài)從“已分配(正在使用)”變更為“格式化等待”。控制器30在變更了區(qū)塊91的狀態(tài)后,更新與該區(qū)塊91對(duì)應(yīng)的虛擬地址指數(shù)102 (Slll)。并且,控制器30更新區(qū)塊指數(shù)120 (S112),接著,更新池內(nèi)RAID組指數(shù) 110(S113)。圖19是表示在圖16中S96所示的頁分配變更處理的流程圖??刂破?0把處理對(duì)象頁92的狀態(tài)變更為預(yù)定的狀態(tài)(S120)。例如,在把新頁92分配給虛擬卷50V內(nèi)的虛擬存儲(chǔ)區(qū)域500時(shí),把該新頁92的狀態(tài)從“非分配(未使用)”變更為“已分配(正在使用)”。此外,例如在釋放已分配給虛擬卷50V的頁92時(shí),把該已分配頁92的狀態(tài)從“已分配(正在使用)”變更為“格式化等待”。將在圖20中敘述對(duì)虛擬卷50V分配新的頁92的方法的詳細(xì)情況。在變更頁狀態(tài)之后,控制器30更新與處理對(duì)象頁92對(duì)應(yīng)的虛擬地址塊 103 (S121),并且,更新與處理對(duì)象頁92對(duì)應(yīng)的頁地址信息104 (S122)。并且,控制器30把管理信息(圖5所示的表組)保存在管理信息保存區(qū)域(參照?qǐng)D9的S23)中(S123)。圖20是表示圖19中的S120所示的處理的一部分的流程圖。如上所述,根據(jù)來自主機(jī)20的寫命令,以區(qū)塊為單位對(duì)虛擬卷50V分配實(shí)際存儲(chǔ)區(qū)域,按順序使用該被分配的區(qū)塊91內(nèi)的實(shí)際頁92。當(dāng)所分配的區(qū)塊91被用盡時(shí),對(duì)虛擬卷50V分配新的區(qū)塊91。以下,一邊參照?qǐng)D20 —邊說明頁92的使用方法??刂破?0具備用于管理各頁92的狀態(tài)的頁狀態(tài)管理表130。該表130例如具備 區(qū)塊識(shí)別號(hào)碼欄C131、頁識(shí)別號(hào)碼欄C132、表示頁的狀態(tài)的欄C133。在頁狀態(tài)欄C133中,例如設(shè)定“正在使用(或已分配)”、“未使用(或未分配)”、“釋放(或格式化等待)”等預(yù)先準(zhǔn)備的狀態(tài)中的某一個(gè)狀態(tài)。為了方便說明,以與頁地址信息104不同的信息的方式表示頁狀態(tài)管理表130,但實(shí)際上可以僅通過頁地址信息104管理各頁的狀態(tài)??刂破?0參照表130,在當(dāng)前正在使用的區(qū)塊91內(nèi)有未使用的頁92時(shí),使用該未使用頁92(S1200)。在當(dāng)前正在使用的區(qū)塊91內(nèi)不存在未使用頁92時(shí),控制器30參照表 130,在當(dāng)前正在使用的區(qū)塊91內(nèi)有釋放頁92時(shí),使用該被釋放的頁92 (S1201)。當(dāng)在當(dāng)前正在使用的區(qū)塊91內(nèi)未使用頁92和釋放頁92都不存在時(shí),控制器30 參照表130,使用已使用區(qū)塊91內(nèi)的釋放頁(S1202)。即,控制器30關(guān)于對(duì)象的虛擬卷50V 從已經(jīng)使用的區(qū)塊91中檢測(cè)被釋放的頁92來再次使用。當(dāng)在已經(jīng)使用區(qū)塊91內(nèi)不存在釋放頁92時(shí),如在圖16中所述那樣,控制器30使未使用的區(qū)塊91與虛擬卷50V對(duì)應(yīng),把該區(qū)塊91的先頭頁92分配給虛擬卷50V。圖21是表示讀命令的處理流程圖??刂破?0判別從主機(jī)20接收到的命令是否為以虛擬卷50V為對(duì)象的讀命令(S130)。在從主機(jī)20收到的命令是向普通卷50N的讀命令時(shí)(S130 否),控制器30執(zhí)行通常的讀處理(S131)。例如,控制器30判定在高速緩沖存儲(chǔ)器340中是否存儲(chǔ)有主機(jī)20 請(qǐng)求的數(shù)據(jù)。當(dāng)在高速緩沖存儲(chǔ)器340上存在所請(qǐng)求的數(shù)據(jù)時(shí),控制器30從高速緩沖存儲(chǔ)器340中讀出數(shù)據(jù)發(fā)送給主機(jī)20。當(dāng)在高速緩沖存儲(chǔ)器340上不存在主機(jī)20請(qǐng)求的數(shù)據(jù)時(shí),控制器30從存儲(chǔ)裝置40讀出數(shù)據(jù),將其存儲(chǔ)在高速緩沖存儲(chǔ)器340中,并且將該數(shù)據(jù)發(fā)送給主機(jī)20。在從主機(jī)20發(fā)行的命令是用于從虛擬卷50V讀出數(shù)據(jù)的讀命令時(shí)(S130 是),控制器30關(guān)于讀對(duì)象的虛擬卷50V取得擴(kuò)展鎖(S132)。讀命令指定數(shù)據(jù)的讀出目的地的邏輯地址??刂破?0檢測(cè)與指定的邏輯地址對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域500,參照?qǐng)D5所示的表組,取得分配給該虛擬存儲(chǔ)區(qū)域500的頁92的狀態(tài)。控制器30判定讀對(duì)象的頁92的狀態(tài)是否為“初始狀態(tài)”(S133)。在讀對(duì)象的頁92為初始狀態(tài)時(shí)(S133 是),控制器30判定在高速緩沖存儲(chǔ)器340 中是否存儲(chǔ)有應(yīng)該發(fā)送給主機(jī)20的空數(shù)據(jù)(S140),如在圖9的S30中所述那樣,在生成池部60時(shí),預(yù)先在高速緩沖存儲(chǔ)器340的預(yù)定的高速緩沖存儲(chǔ)區(qū)段中存儲(chǔ)空數(shù)據(jù)。因此,在通常情況下在S140中判定為“是”,轉(zhuǎn)移到后述的S141。當(dāng)在高速緩沖存儲(chǔ)器340中沒有存儲(chǔ)空數(shù)據(jù)時(shí)(S140 否),轉(zhuǎn)移到后述的S135,從預(yù)定區(qū)塊的預(yù)定頁(例如初始設(shè)定用頁) 中讀出空數(shù)據(jù),并將其發(fā)送給主機(jī)20(S135 S145)。返回S133。在讀對(duì)象的頁92不是初始狀態(tài)時(shí)(S133 否),即在讀對(duì)象頁中寫入了寫數(shù)據(jù)時(shí),控制器30計(jì)算與讀對(duì)象數(shù)據(jù)有關(guān)的奇偶校驗(yàn)位(S134)。然后,控制器30確保高速緩沖存儲(chǔ)區(qū)段(S13Q,向第二通信電路320發(fā)行讀請(qǐng)求(S136)??刂破?0把邏輯地址變換為物理地址(S137),計(jì)算保證碼的地址部分(LA) (S138)??刂破?0經(jīng)由第二通信電路320從存儲(chǔ)裝置40向高速緩沖存儲(chǔ)器340傳輸讀對(duì)象數(shù)據(jù)(S139)。轉(zhuǎn)移到圖22??刂破?0設(shè)定用于從高速緩沖存儲(chǔ)器340向第一通信電路310進(jìn)行DMA傳輸?shù)腄MA傳輸列表(S141)??刂破?0把在高速緩沖存儲(chǔ)器340上存儲(chǔ)的數(shù)據(jù)經(jīng)由第一通信電路310發(fā)送給主機(jī)20 (S142)。當(dāng)數(shù)據(jù)的發(fā)送完成時(shí),控制器30釋放在S135中確保的高速緩沖存儲(chǔ)區(qū)段(S143),還釋放擴(kuò)展鎖(S144)。最后,控制器30向主機(jī)20通知讀命令的處理完成的意思(S145), 結(jié)束本處理。圖23是表示用于釋放被分配給虛擬卷50V的頁92的處理的流程圖。控制器30 從主機(jī)20收到用于釋放已分配的頁92的命令(S150)??刂破?30通過參照?qǐng)D5所示的表組,來檢索與通過釋放命令指定的邏輯地址對(duì)應(yīng)的頁92(S151)??刂破?0,對(duì)檢索出的釋放對(duì)象頁92的關(guān)聯(lián)關(guān)系進(jìn)行初始化(S152)。 即,將虛擬卷50V內(nèi)的特定的虛擬存儲(chǔ)區(qū)域500所對(duì)應(yīng)的頁92從該虛擬存儲(chǔ)區(qū)域500中釋放,使其返回到初始狀態(tài)??刂破?0向作為命令發(fā)行源的主機(jī)20通知處理已完成的意思(S153)。接著,控制器30把釋放的頁入列到頁格式化等待隊(duì)列中(S154),關(guān)于釋放的頁的狀態(tài),更新頁狀態(tài)管理表 130(S155)。在如此構(gòu)成的本實(shí)施例中,以具備多個(gè)頁92的區(qū)塊91為單位,對(duì)虛擬卷50V分配實(shí)際存儲(chǔ)區(qū)域,并且,使與多個(gè)虛擬卷50V相關(guān)的頁92不共存于一個(gè)區(qū)塊91內(nèi)。即,僅對(duì)一個(gè)虛擬卷50V使用一個(gè)區(qū)塊91。因此,在本實(shí)施例中,如圖24所示,可以高效率地使用作為物理存儲(chǔ)區(qū)域的RAID 組90。圖24是示意性地表示本發(fā)明的效果的說明圖。圖24(a)表示不應(yīng)用本發(fā)明的情況, 圖24(b)表示應(yīng)用了本發(fā)明的情況。先說明普通卷50N的情況。在為普通卷50N時(shí),可以使用RAID組90內(nèi)的連續(xù)的存儲(chǔ)區(qū)域。因此,不會(huì)在一個(gè)條帶列中共存與多個(gè)普通卷50N有關(guān)的數(shù)據(jù)。在為虛擬卷50V時(shí),根據(jù)需要來分配實(shí)際存儲(chǔ)區(qū)域,離散地管理數(shù)據(jù)。如果以頁為單位對(duì)虛擬卷分配實(shí)際存儲(chǔ)區(qū)域時(shí),需要進(jìn)行控制以便在同一條帶列中不共存與多個(gè)虛擬卷有關(guān)的數(shù)據(jù)。其原因在于,當(dāng)在一個(gè)條帶列中共存多個(gè)卷時(shí),奇偶校驗(yàn)位生成等處理復(fù)雜化,數(shù)據(jù)輸入輸出時(shí)的開銷增大,存儲(chǔ)控制裝置的性能降低。因此,如圖24(a)所示,考慮使各頁的先頭與條帶列的先頭一致來存儲(chǔ)數(shù)據(jù)的方法。根據(jù)該方法,不會(huì)發(fā)生在橫一列的條帶內(nèi)共存不同卷的數(shù)據(jù)的事態(tài)。但是,本實(shí)施例的存儲(chǔ)控制裝置10因?yàn)榭梢宰杂傻卦O(shè)定構(gòu)成RAID組90的存儲(chǔ)裝置40的臺(tái)數(shù),所以頁的大小與條帶的大小未必一致。在頁的大小與條帶的大小不一致時(shí), 當(dāng)使頁的先頭與條帶列的先頭一致地配置數(shù)據(jù)時(shí),如圖24(a)中作為空白區(qū)域所示,產(chǎn)生無用的區(qū)域。因此,在圖24(a)所示的方法中,無法有效地使用RAID組90具有的實(shí)際存儲(chǔ)區(qū)域,存在其使用效率低的問題。因此,在本發(fā)明中,如圖24(b)所示,不是以頁為單位對(duì)虛擬卷分配實(shí)際存儲(chǔ)區(qū)域,而是以具有多個(gè)頁的區(qū)塊91為單位對(duì)虛擬卷分配實(shí)際存儲(chǔ)區(qū)域。并且,如上所述,在每次接收到與虛擬卷50V有關(guān)的寫命令時(shí),連續(xù)地使用區(qū)塊91內(nèi)的頁92。使區(qū)塊91內(nèi)的各頁92與同一虛擬卷50V對(duì)應(yīng)。與不同的虛擬卷有關(guān)的頁92不會(huì)共存于同一區(qū)塊91內(nèi)。如此,根據(jù)本實(shí)施例,可以高效率地使用RAID組90具有的實(shí)際存儲(chǔ)區(qū)域。在本實(shí)施例中,如上所述,不特別區(qū)別虛擬卷50V的識(shí)別號(hào)碼和普通卷50N的識(shí)別號(hào)碼,通過連續(xù)號(hào)碼管理各卷50V、50N。此外,在本實(shí)施例中,不特別區(qū)別為了虛擬卷50V而使用的RAID組90和設(shè)置普通卷50的RAID組90,通過連續(xù)號(hào)碼進(jìn)行管理。因此,本實(shí)施例的存儲(chǔ)控制裝置10能夠通過比較簡單的控制結(jié)構(gòu)共同管理虛擬卷50V和普通卷50N,可以使雙方的卷50V、50N共存。在本實(shí)施例中,從多個(gè)RAID組90中按順序選擇區(qū)塊91來分配給虛擬卷50V。因此,能夠使池部60內(nèi)的各RAID組90的負(fù)荷均勻。在本實(shí)施例中,如在圖6、圖15中所述,在生成虛擬卷50V時(shí)使各表100-104之間相關(guān)聯(lián),把虛擬卷50V內(nèi)的全部的虛擬存儲(chǔ)區(qū)域500分配給初始設(shè)定用頁92。因此,在本實(shí)施例中,在正常地生成了虛擬卷50V的時(shí)刻,能夠確認(rèn)正常地進(jìn)行各虛擬存儲(chǔ)區(qū)域500與實(shí)際頁92的對(duì)應(yīng)。即,在本實(shí)施例中,在接收寫命令之前,區(qū)塊91以及初始設(shè)定用頁92向虛擬卷50V的臨時(shí)分配已經(jīng)完成。由此,可以在接收到寫命令之前事先確認(rèn)虛擬卷50V是否正常地動(dòng)作,可靠性以及便利性提高。并且,在本實(shí)施例中,在接收到寫命令時(shí),僅僅把與通過寫命令指定的邏輯地址對(duì)應(yīng)的虛擬存儲(chǔ)區(qū)域500的對(duì)應(yīng)目的地從被臨時(shí)分配的初始設(shè)定用頁92切換為預(yù)定區(qū)塊91 內(nèi)的預(yù)定頁92即可。由此,可以比較迅速地處理寫命令,能夠提高存儲(chǔ)控制裝置100的響應(yīng)性能。在本實(shí)施例中,從關(guān)于同一虛擬卷50V已經(jīng)使用的區(qū)塊91中檢測(cè)被釋放的頁92, 再次用于別的寫處理。因此,可以更加有效地利用RAID組90具有的實(shí)際存儲(chǔ)區(qū)域。在本實(shí)施例中,通過虛擬地址指數(shù)102以及虛擬地址塊103這兩個(gè)階段來管理虛擬卷50V的地址空間。由此,可以縮小通過來自主機(jī)20的命令指定的邏輯地址的檢索范圍, 快速地檢測(cè)與該邏輯地址對(duì)應(yīng)的頁92,可以提高與虛擬卷50V有關(guān)的響應(yīng)性能。(實(shí)施例2)根據(jù)圖25至圖27說明第二實(shí)施例。包含本實(shí)施例的以下各實(shí)施例相當(dāng)于第一實(shí)施例的變形例。因此,主要說明與第一實(shí)施例的區(qū)別。本實(shí)施例說明在存儲(chǔ)控制裝置10內(nèi)的多個(gè)虛擬卷50VP、50VS之間進(jìn)行復(fù)制的情況。圖25是示意性地表示本實(shí)施例的系統(tǒng)的全體結(jié)構(gòu)的說明圖。本實(shí)施例的存儲(chǔ)控制裝置10具備多個(gè)虛擬卷50VP、50VS。一方的虛擬卷50VP是正卷,另一方的虛擬卷50VS 是副卷。在以下的說明中,有時(shí)稱為虛擬正卷50VP(或復(fù)制源卷)、虛擬副卷50VS(或復(fù)制目的地卷)。虛擬正卷50VP和虛擬副卷50VS形成了復(fù)制對(duì)(copy pair),進(jìn)行控制以使兩卷 50VP.50VS的存儲(chǔ)內(nèi)容一致。為此,如后所述,首先最初執(zhí)行初始復(fù)制,然后執(zhí)行更新復(fù)制。初始復(fù)制是指把虛擬正卷50VP的存儲(chǔ)內(nèi)容傳輸并存儲(chǔ)在虛擬副卷50VS中的復(fù)制。當(dāng)初始復(fù)制完成時(shí),虛擬正卷50VP與虛擬副卷50VS的存儲(chǔ)內(nèi)容一致。將在圖沈中詳細(xì)敘述初始復(fù)制的詳細(xì)情況。還把初始復(fù)制稱為形成復(fù)制。在初始復(fù)制完成后,當(dāng)更新虛擬正卷50VP的存儲(chǔ)內(nèi)容時(shí),把更新數(shù)據(jù)傳輸?shù)教摂M副卷50VS中,虛擬副卷50VS的存儲(chǔ)內(nèi)容也被更新。將該處理稱為更新復(fù)制。將在圖27中敘述更新復(fù)制的詳細(xì)情況。圖沈是表示在虛擬卷50VP、50VS之間進(jìn)行初始復(fù)制的處理的流程圖??刂破?0 當(dāng)從主機(jī)20或管理服務(wù)器70接收到用于執(zhí)行初始復(fù)制的命令時(shí),檢索復(fù)制源卷50VP以及復(fù)制目的地卷50VS (S200)。在初始復(fù)制命令中,指定了復(fù)制源卷50VP以及復(fù)制目的地卷50VS。控制器30具備用于一元地管理虛擬卷50V和普通卷50N的卷管理表140。
卷管理表140例如管理用于識(shí)別各虛擬卷50V以及各普通卷50N的卷號(hào)碼、該卷的狀態(tài)、該卷的種類、構(gòu)成該卷的存儲(chǔ)裝置40的號(hào)碼列表等。通過參照卷管理表140,可以判別在初始復(fù)制命令中指定的卷是虛擬卷50V還是普通卷50N。控制器30判定是否請(qǐng)求了虛擬卷之間的初始復(fù)制(S201)。在不是請(qǐng)求虛擬卷之間的初始復(fù)制的命令時(shí)(S201 否),控制器30進(jìn)行通常的初始復(fù)制。當(dāng)在虛擬卷之間進(jìn)行初始復(fù)制時(shí)(S201 是),控制器30對(duì)虛擬副卷50VS分配區(qū)塊91以及頁92(S203)??刂破?0對(duì)虛擬副卷50VS分配區(qū)塊91以及頁92,直到虛擬正卷 50VP的實(shí)際大小與虛擬副卷50VS的實(shí)際大小一致(S204)。所謂實(shí)際大小,是實(shí)際分配給虛擬卷的區(qū)塊的合計(jì)大小。換句話說,是分配給虛擬卷的實(shí)際存儲(chǔ)區(qū)域的大小。當(dāng)虛擬副卷50VS的實(shí)際大小與虛擬正卷50VP的實(shí)際大小一致時(shí)(S204 是),控制器30分別取得關(guān)于虛擬正卷50VP以及虛擬副卷50VS的擴(kuò)展鎖(S205),并且確保高速緩沖存儲(chǔ)區(qū)段(S206)??刂破?0把虛擬正卷50VP中存儲(chǔ)的數(shù)據(jù)從存儲(chǔ)裝置40傳輸并存儲(chǔ)在高速緩沖存儲(chǔ)器340中(S207)。即,從被分配給虛擬正卷50VP的頁92向高速緩沖存儲(chǔ)器340傳輸并存儲(chǔ)虛擬正卷50VP的數(shù)據(jù)。控制器30在高速緩沖存儲(chǔ)器之間復(fù)制數(shù)據(jù)(S208)。例如,在某一個(gè)高速緩沖存儲(chǔ)器340內(nèi)的一個(gè)高速緩沖存儲(chǔ)區(qū)段與虛擬正卷50VP對(duì)應(yīng),同一高速緩沖存儲(chǔ)器340內(nèi)的另一存儲(chǔ)控制裝置與虛擬副卷50VS對(duì)應(yīng)的情況下,從一個(gè)高速緩沖存儲(chǔ)區(qū)段向另一高速緩沖存儲(chǔ)區(qū)段傳輸數(shù)據(jù)。或者,在一個(gè)高速緩沖存儲(chǔ)器340內(nèi)的高速緩沖存儲(chǔ)區(qū)段與虛擬正卷50VP對(duì)應(yīng),另一高速緩沖存儲(chǔ)器340內(nèi)的高速緩沖存儲(chǔ)區(qū)段與虛擬副卷50VS對(duì)應(yīng)的情況下,從一個(gè)高速緩沖存儲(chǔ)器340內(nèi)的高速緩沖存儲(chǔ)區(qū)段向另一高速緩沖存儲(chǔ)器340內(nèi)的高速緩沖存儲(chǔ)區(qū)段傳輸數(shù)據(jù)??刂破?0把差分管理表150內(nèi)的差分比特設(shè)為關(guān)(OFF) (S209),把虛擬正卷50VP 與虛擬副卷50VS的復(fù)制對(duì)的狀態(tài)從“復(fù)制中“變更為“對(duì)”(S210)?!皩?duì)”的狀態(tài)是表示從虛擬正卷50VP向虛擬副卷50VS的初始復(fù)制已完成的狀態(tài)。差分管理表150是用于管理虛擬正卷50VP的存儲(chǔ)內(nèi)容與虛擬副卷50VS的存儲(chǔ)內(nèi)容的差分的表。差分管理表150可以以預(yù)定的管理單位管理差分。把產(chǎn)生了差分的區(qū)域設(shè)為開(ON)狀態(tài),把沒有產(chǎn)生差分的區(qū)域設(shè)定為關(guān)(OFF)狀態(tài)。圖27是表示更新復(fù)制的流程圖。例如,當(dāng)虛擬正卷50VP內(nèi)更新后的數(shù)據(jù)的合計(jì)大小達(dá)到預(yù)定值時(shí)等,開始從虛擬正卷50VP向虛擬副卷50VS的更新復(fù)制。當(dāng)產(chǎn)生更新復(fù)制的契機(jī)時(shí),控制器30判定是否為虛擬卷之間的更新復(fù)制(S220)。 在不是虛擬卷之間的更新復(fù)制時(shí)(S220 否),進(jìn)行通常的更新復(fù)制(S221)。在是虛擬卷之間的更新復(fù)制時(shí)(S220 是),控制器30判定池部30的狀態(tài)是否正常(S222)。在池部60的狀態(tài)不正常時(shí)(S222 否),進(jìn)行錯(cuò)誤處理(S227)。在錯(cuò)誤處理中, 向用戶通知錯(cuò)誤消息,把復(fù)制對(duì)的狀態(tài)變更為“對(duì)掛起(pair suspend)”。在池部60的狀態(tài)正常時(shí)(S222 是),控制器30計(jì)算應(yīng)該新分配給虛擬副卷50VS 的頁數(shù)(S223)??刂破?0判定在池部60內(nèi)是否具有在S223中計(jì)算出的量以上的未使用頁 92(S224)。當(dāng)在池部60內(nèi)存在需要量以上的未使用頁時(shí)(S224:是),控制器30把更新復(fù)制
21所需要的數(shù)量的未使用頁92分配給虛擬副卷50VS(S22O??刂破?0從虛擬正卷50VP向虛擬副卷50VS傳輸兩卷50VP、50VS之間的差分?jǐn)?shù)據(jù),把該差分?jǐn)?shù)據(jù)存儲(chǔ)在虛擬副卷50VS 中(S226)ο如此構(gòu)成的本實(shí)施例也起到與第一實(shí)施例相同的效果。并且,在本實(shí)施例中,在虛擬卷之間形成復(fù)制對(duì)時(shí),可以僅對(duì)虛擬副卷50VS分配復(fù)制需要的數(shù)量的未使用頁92。因此,可以有效地使用池部60內(nèi)的實(shí)際存儲(chǔ)區(qū)域來形成復(fù)制對(duì)。(實(shí)施例3)根據(jù)圖28說明第三實(shí)施例。在本實(shí)施例中,針對(duì)每個(gè)RAID組準(zhǔn)備處理等待區(qū)塊隊(duì)列Q20以及未分配區(qū)塊隊(duì)列Q30,按照預(yù)定的順序從各RAID組90取出并使用區(qū)塊91。在第一實(shí)施例中,如圖12所示,僅準(zhǔn)備了一個(gè)未分配區(qū)塊隊(duì)列Q30,按照預(yù)定的順序使各RAID組90內(nèi)的已格式化的區(qū)塊入列到未分配區(qū)塊隊(duì)列Q30中。如上所述,根據(jù)向虛擬卷50V的寫訪問,從未分配區(qū)塊隊(duì)列Q30中選擇未使用區(qū)塊 91,分配給虛擬卷50V。因此,在一個(gè)主機(jī)20僅使用一個(gè)虛擬卷50V的情況下,按順序?qū)υ撎摂M卷50V分配各RAID組90內(nèi)的區(qū)塊91,各RAID組90的負(fù)荷變得均等。與此相對(duì),在多個(gè)主機(jī)20分別使用不同的虛擬卷50V時(shí),根據(jù)寫訪問的頻率、寫訪問的時(shí)刻、以及寫數(shù)據(jù)大小等理由,可能沒有均等地對(duì)各虛擬卷50V分配各RAID組90內(nèi)的區(qū)塊91。當(dāng)構(gòu)成各虛擬卷50V的區(qū)塊91偏向于特定的RAID組90時(shí),存在無法使負(fù)荷在各 RAID組90之間均等地分散的情況。因此,在本實(shí)施例中,針對(duì)每個(gè)RAID組90準(zhǔn)備處理等待區(qū)塊隊(duì)列Q20以及未分配區(qū)塊隊(duì)列Q30。因此,在圖18所示的區(qū)塊分配變更處理中,在對(duì)虛擬卷50V分配未使用區(qū)塊 91時(shí),從各RAID組90中按順序選擇未使用區(qū)塊91來分配(SllO)。如此構(gòu)成的本實(shí)施例也起到與第一實(shí)施例同樣的效果。并且,在本實(shí)施例中,因?yàn)闇?zhǔn)備用于針對(duì)每個(gè)RAID組來管理區(qū)塊的隊(duì)列QlO Q30,所以能夠使從各RAID組90向各虛擬卷50V分配的區(qū)塊91的數(shù)量均等,來分散負(fù)荷。并且,在本實(shí)施例中,因?yàn)獒槍?duì)每個(gè)RAID組準(zhǔn)備隊(duì)列QlO Q30,所以還可以均等地使用RAID級(jí)別不同的區(qū)塊91構(gòu)成虛擬卷50V。本發(fā)明不限于上述實(shí)施方式。本領(lǐng)域的技術(shù)人員例如可以適當(dāng)?shù)亟M合上述各實(shí)施例那樣,在本發(fā)明的范圍內(nèi)進(jìn)行各種追加或變更等。
權(quán)利要求
1.一種存儲(chǔ)控制裝置,其特征在于, 具備虛擬地形成的虛擬卷;池部,其管理多個(gè)第一實(shí)際存儲(chǔ)區(qū)域,該第一實(shí)際存儲(chǔ)區(qū)域是跨越構(gòu)成RAID組的多個(gè)存儲(chǔ)裝置條帶狀地形成的,包含多個(gè)第二實(shí)際存儲(chǔ)區(qū)域;以及控制部,其根據(jù)向所述虛擬卷的寫請(qǐng)求,使所述第一實(shí)際存儲(chǔ)區(qū)域中包含的所述各第二實(shí)際存儲(chǔ)區(qū)域中的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng)于所述寫請(qǐng)求所對(duì)應(yīng)的所述虛擬卷內(nèi)的預(yù)定區(qū)域,使一個(gè)所述虛擬卷對(duì)應(yīng)于一個(gè)所述第一實(shí)際存儲(chǔ)區(qū)域。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)控制裝置,其特征在于, 設(shè)置有多個(gè)所述RAID組,在對(duì)所述各RAID組中包含的所述各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化時(shí),按照預(yù)定的順序從所述各RAID組選擇所述各第一實(shí)際存儲(chǔ)區(qū)域并與未分配隊(duì)列連接,所述控制部在生成所述虛擬卷時(shí),使所述虛擬卷內(nèi)的各虛擬存儲(chǔ)區(qū)域與別的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng),由此確認(rèn)是否正常地生成了所述虛擬卷,并且,所述控制部在接受到用于釋放與所述虛擬卷對(duì)應(yīng)的所述第二實(shí)際存儲(chǔ)區(qū)域的釋放指示時(shí),釋放通過所述釋放指示所指定的所述第二實(shí)際存儲(chǔ)區(qū)域, 并且,所述控制部,(1)在具有當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域時(shí),選擇所述當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域中包含的所述各第二實(shí)際存儲(chǔ)區(qū)域中的、與上次選擇的所述第二實(shí)際存儲(chǔ)區(qū)域連接的未使用的第二實(shí)際存儲(chǔ)區(qū)域,使其與所述寫請(qǐng)求所對(duì)應(yīng)的所述虛擬存儲(chǔ)區(qū)域?qū)?yīng),(2)當(dāng)在所述當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域內(nèi)沒有所述未使用的所述第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇所述當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域中包含的所述各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)所述釋放指示被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域,使其與所述寫請(qǐng)求所對(duì)應(yīng)的所述虛擬存儲(chǔ)區(qū)域?qū)?yīng),(3)當(dāng)在所述當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域內(nèi)不存在所述被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇在所述當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域之前使用的已使用過的第一實(shí)際存儲(chǔ)區(qū)域中包含的所述各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)所述釋放指示被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域,使其與所述寫請(qǐng)求所對(duì)應(yīng)的所述虛擬存儲(chǔ)區(qū)域?qū)?yīng),(4)當(dāng)在所述已使用過的所述第一實(shí)際存儲(chǔ)區(qū)域內(nèi)沒有所述被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇與所述未分配隊(duì)列連接的所述各第一實(shí)際存儲(chǔ)區(qū)域中的先頭的所述第一實(shí)際存儲(chǔ)區(qū)域,并選擇該第一實(shí)際存儲(chǔ)區(qū)域內(nèi)的最初的第二實(shí)際存儲(chǔ)區(qū)域,使其與所述寫請(qǐng)求所對(duì)應(yīng)的所述虛擬存儲(chǔ)區(qū)域?qū)?yīng)。
3.根據(jù)權(quán)利要求1所述的存儲(chǔ)控制裝置,其特征在于, 設(shè)置有多個(gè)所述RAID組,所述控制部按照預(yù)定的順序,使所述各RAID組中包含的所述各第一實(shí)際存儲(chǔ)區(qū)域與所述虛擬卷對(duì)應(yīng),以便均等地使用所述各RAID組。
4.根據(jù)權(quán)利要求3所述的存儲(chǔ)控制裝置,其特征在于, 所述控制部,(1)在對(duì)所述各RAID組中包含的所述各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化時(shí),按照所述預(yù)定的順序,將所述各RAID組中包含的所述各第一實(shí)際存儲(chǔ)區(qū)域與一個(gè)未分配隊(duì)列連接,(2)在使用已經(jīng)格式化的所述第一實(shí)際存儲(chǔ)區(qū)域時(shí),選擇與所述未分配隊(duì)列連接的所述各第一實(shí)際存儲(chǔ)區(qū)域中的、先頭的所述第一實(shí)際存儲(chǔ)區(qū)域。
5.根據(jù)權(quán)利要求3所述的存儲(chǔ)控制裝置,其特征在于,預(yù)先對(duì)所述各RAID組中的每個(gè)RAID組準(zhǔn)備未分配隊(duì)列,所述控制部,(1)在對(duì)所述各RAID組中包含的所述各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化時(shí),使所述各 RAID組中的所述各第一實(shí)際存儲(chǔ)區(qū)域分別與所述各RAID組所對(duì)應(yīng)的所述未分配隊(duì)列連接,(2)在使用已經(jīng)格式化的所述第一實(shí)際存儲(chǔ)區(qū)域時(shí),按照所述預(yù)定的順序取出并使用與所述各未分配隊(duì)列連接的所述各第一實(shí)際存儲(chǔ)區(qū)域。
6.根據(jù)權(quán)利要求1所述的存儲(chǔ)控制裝置,其特征在于,所述控制部在生成所述虛擬卷時(shí),使所述虛擬卷內(nèi)的各虛擬存儲(chǔ)區(qū)域與別的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng)。
7.根據(jù)權(quán)利要求6所述的存儲(chǔ)控制裝置,其特征在于,所述控制部在接收到所述寫請(qǐng)求時(shí),把與所述寫請(qǐng)求對(duì)應(yīng)的所述虛擬存儲(chǔ)區(qū)域的對(duì)應(yīng)目的地,從所述別的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域切換為所述預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域。
8.根據(jù)權(quán)利要求1所述的存儲(chǔ)控制裝置,其特征在于,所述控制部把與所述第二實(shí)際存儲(chǔ)區(qū)域連接的未使用的所述第二存儲(chǔ)區(qū)域作為所述預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與所述虛擬卷對(duì)應(yīng),所述第二實(shí)際存儲(chǔ)區(qū)域根據(jù)上次的寫請(qǐng)求, 與所述虛擬卷相對(duì)應(yīng)。
9.根據(jù)權(quán)利要求8所述的存儲(chǔ)控制裝置,其特征在于,所述控制部在接收到用于釋放與所述虛擬卷對(duì)應(yīng)的所述第二實(shí)際存儲(chǔ)區(qū)域的釋放指示時(shí),釋放通過所述釋放指示所指定的所述第二實(shí)際存儲(chǔ)區(qū)域,并且,所述控制部在不存在所述未使用的所述第二實(shí)際存儲(chǔ)區(qū)域時(shí),把當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域中包含的所述各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)所述釋放指示被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域,作為所述預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與所述虛擬卷對(duì)應(yīng)。
10.根據(jù)權(quán)利要求9所述的存儲(chǔ)控制裝置,其特征在于,所述控制部當(dāng)在所述當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域內(nèi)不存在所述被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域時(shí),選擇在所述當(dāng)前正在使用的所述第一實(shí)際存儲(chǔ)區(qū)域之前使用的已使用過的第一實(shí)際存儲(chǔ)區(qū)域中包含的所述各第二實(shí)際存儲(chǔ)區(qū)域中的、根據(jù)所述釋放指示被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域,作為所述預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與所述虛擬卷對(duì)應(yīng)。
11.根據(jù)權(quán)利要求10所述的存儲(chǔ)控制裝置,其特征在于,所述控制部在所述已使用過的所述第一實(shí)際存儲(chǔ)區(qū)域內(nèi)沒有所述被釋放的所述第二實(shí)際存儲(chǔ)區(qū)域時(shí),從未使用的所述各第一實(shí)際存儲(chǔ)區(qū)域中選擇某一個(gè)所述第一實(shí)際存儲(chǔ)區(qū)域,把該第一實(shí)際存儲(chǔ)區(qū)域內(nèi)的最初的第二實(shí)際存儲(chǔ)區(qū)域作為所述預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域與所述虛擬卷對(duì)應(yīng)。
12.根據(jù)權(quán)利要求1所述的存儲(chǔ)控制裝置,其特征在于,存在多個(gè)所述虛擬卷,具備別的RAID組,其是與所述RAID組不同的RAID組,與所述RAID組連號(hào)地被管理;以及通常的邏輯卷,其根據(jù)所述別的RAID組而生成,與所述各虛擬卷連號(hào)地被管理, 所述控制部在接收到與所述通常的邏輯卷相關(guān)的寫請(qǐng)求時(shí),在所述別的RAID組的存儲(chǔ)區(qū)域中寫入寫數(shù)據(jù)。
13.根據(jù)權(quán)利要求1所述的存儲(chǔ)控制裝置,其特征在于,在所述虛擬卷中存儲(chǔ)的數(shù)據(jù)中針對(duì)每個(gè)預(yù)定大小設(shè)定了保證碼,所述保證碼包含用于識(shí)別所述RAID組的數(shù)據(jù)、用于識(shí)別所述第一實(shí)際存儲(chǔ)區(qū)域的數(shù)據(jù)、以及用于識(shí)別所述第一實(shí)際存儲(chǔ)區(qū)域內(nèi)的所述第二實(shí)際存儲(chǔ)區(qū)域的數(shù)據(jù)。
14.一種虛擬卷的控制方法,其用于控制虛擬形成的虛擬卷,其特征在于, 所述虛擬卷具備多個(gè)虛擬存儲(chǔ)區(qū)域,生成池部,該池部管理多個(gè)第一實(shí)際存儲(chǔ)區(qū)域,該第一實(shí)際存儲(chǔ)區(qū)域是跨越構(gòu)成RAID 組的多個(gè)存儲(chǔ)裝置條帶狀地形成的,每個(gè)所述第一實(shí)際存儲(chǔ)區(qū)域包含多個(gè)與所述虛擬存儲(chǔ)區(qū)域?qū)?yīng)的第二實(shí)際存儲(chǔ)區(qū)域,對(duì)所述各第一實(shí)際存儲(chǔ)區(qū)域進(jìn)行格式化,使所述各虛擬存儲(chǔ)區(qū)域分別對(duì)應(yīng)于已格式化的所述各第一實(shí)際存儲(chǔ)區(qū)域中的預(yù)定的第一實(shí)際存儲(chǔ)區(qū)域所具有的初始設(shè)定用的第二實(shí)際存儲(chǔ)區(qū)域,由此生成所述虛擬卷, 將所述虛擬卷與主計(jì)算機(jī)連接,在從所述主計(jì)算機(jī)接收到向所述虛擬卷的寫請(qǐng)求時(shí),不使多個(gè)所述虛擬卷對(duì)應(yīng)于一個(gè)所述第一實(shí)際存儲(chǔ)區(qū)域,使格式化后的所述各第一實(shí)際存儲(chǔ)區(qū)域中的預(yù)定的第一實(shí)際存儲(chǔ)區(qū)域所具有的預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域?qū)?yīng)于所述寫請(qǐng)求所對(duì)應(yīng)的所述虛擬存儲(chǔ)區(qū)域,在對(duì)應(yīng)于所述虛擬存儲(chǔ)區(qū)域的所述預(yù)定的第二實(shí)際存儲(chǔ)區(qū)域中,存儲(chǔ)從所述主計(jì)算機(jī)接收到的寫數(shù)據(jù)。
全文摘要
本發(fā)明的存儲(chǔ)控制裝置,以具備多個(gè)頁的區(qū)塊為單位對(duì)虛擬卷分配RAID組內(nèi)的實(shí)際存儲(chǔ)區(qū)域。根據(jù)來自主機(jī)(2)的寫訪問,對(duì)虛擬卷(5)分配池內(nèi)的實(shí)際存儲(chǔ)區(qū)域。池內(nèi)的RAID組(6)具有多個(gè)區(qū)塊(7)。各區(qū)塊(7)具備多個(gè)頁(8)。以區(qū)塊(7)為單位,對(duì)虛擬卷(5)分配了實(shí)際存儲(chǔ)區(qū)域。從被分配的區(qū)塊(7)中使用寫數(shù)據(jù)的寫入所需要的頁(8)。
文檔編號(hào)G06F3/06GK102334093SQ20098015768
公開日2012年1月25日 申請(qǐng)日期2009年3月18日 優(yōu)先權(quán)日2009年3月18日
發(fā)明者內(nèi)海勝廣, 大平良德, 巖滿幸治 申請(qǐng)人:株式會(huì)社日立制作所