專利名稱:一種高速緩存和磁盤的管理方法以及利用所述方法的控制器的制作方法
技術(shù)領(lǐng)域:
根據(jù)本發(fā)明的實施例是涉及一種關(guān)于管理高速緩存和磁盤的方法,特別是,涉及一種用于處理共同存儲在高速緩存和磁盤中的數(shù)據(jù)的技術(shù)。
背景技術(shù):
目前,對于固態(tài)硬盤(solid state disk)的矚目不斷在增大。固態(tài)硬盤不使用硬盤驅(qū)動器(hard disk drive),而使用閃存(flash memory)和同步動態(tài)隨機存取存儲器 SDRAM(synchronous dynamic random access memory) 因此,固態(tài)硬盤不要求用于硬盤驅(qū)動器的馬達之類的機械驅(qū)動裝置,運作時幾乎不發(fā)熱也不發(fā)生噪音。不但如此,固態(tài)硬盤不易破損,比起硬盤驅(qū)動器,具有較高的數(shù)據(jù)傳送能力。一般情況下,固態(tài)硬盤與硬盤不同,剩余的空間(free space)越多越能體現(xiàn)較高的性能,可減少電力消耗。此外,固態(tài)硬盤中大量存在不需要的數(shù)據(jù)時會引起內(nèi)部的額外復制的增加以及電力消耗的增加,因此,需將不需要的數(shù)據(jù)適當?shù)貏h除。此外,為提高在固態(tài)硬盤寫入數(shù)據(jù)或從固態(tài)硬盤讀取數(shù)據(jù)的速度使用高速緩存。 即,高速緩存存儲經(jīng)常被請求的數(shù)據(jù)來提高存取速度。但是,特定數(shù)據(jù)被存儲在高速緩存中時,一般情況下,將存儲在高速緩存的特定數(shù)據(jù)會發(fā)生重復存儲在固態(tài)硬盤的問題。此類存儲在固態(tài)硬盤中的特定數(shù)據(jù)會成為不需要的數(shù)據(jù)。因此,需要一種適當?shù)乜紤]高速緩存和固態(tài)硬盤的關(guān)系,不損失數(shù)據(jù)從而可刪除固態(tài)硬盤中所存在的不需要的數(shù)據(jù)的技術(shù)。
發(fā)明內(nèi)容
技術(shù)課題根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,針對高速緩存和成員磁盤中被重復的數(shù)據(jù),向成員磁盤傳送刪除命令,從而提高成員磁盤的性能,并減少電力消耗。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,適當?shù)卦O定存儲在高速緩存中的數(shù)據(jù)的狀態(tài),從而更有效地管理高速緩存和磁盤。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,不但將數(shù)據(jù)適當?shù)馗禄蚧貙?,還適當?shù)卦O定存儲在高速緩存中的數(shù)據(jù)的狀態(tài),從而防止數(shù)據(jù)的損失。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,使用適用于鏡面反射技法的回寫高速緩存,從而減少因數(shù)據(jù)損失帶來的危險。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,提供在要求奇偶校驗的環(huán)境中也能被適用的解決方案。
技術(shù)方案根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法,其可包括以下步驟應答對主機的目的數(shù)據(jù)的讀取請求,在高速緩存中檢索所述目的數(shù)據(jù);根據(jù)檢索結(jié)果,從多個成員磁盤將所述目的數(shù)據(jù)緩存至所述高速緩存中;對緩存所述目的數(shù)據(jù)作出應答,向所述多個成員磁盤傳送所述目的數(shù)據(jù)的刪除命令。在此,所述多個成員磁盤可為固態(tài)硬盤,且所述高速緩存可為回寫高速緩存(write-back cache) 0在這種情況下,所述傳送刪除命令的步驟可以是根據(jù)第1刪除政策或第2刪除政策來傳送所述刪除命令的步驟,第1刪除政策是向所述多個成員磁盤傳送對所述高速緩存中存儲的所有有效數(shù)據(jù)的刪除命令的刪除政策,第2刪除政策是傳送對所述有效數(shù)據(jù)中一部的刪除命令的刪除政策。在這種情況下,所述被緩存的目的數(shù)據(jù)可被用作奇偶校驗組的新成員。在這種情況下,所述在高速緩存中檢索所述目的數(shù)據(jù)的步驟,可以是利用直接映射(direct mapping)、關(guān)聯(lián)映射(Fully associative mapping)、或組關(guān)聯(lián)映射 (set-associative mapping)中的任何一個在所述高速緩存中檢索所述目的數(shù)據(jù)的步驟。在這種情況下,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法,其可進一步包括以下步驟考慮所述刪除命令是否已被傳送,來設定所述被緩存的目的數(shù)據(jù)的狀態(tài)。在此,所述被緩存的目的數(shù)據(jù)的狀態(tài),指的是所述刪除命令是否被傳送或所述被緩存的目的數(shù)據(jù)是否從所述多個成員磁盤被緩存。在這種情況下,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法,其可進一步包括以下步驟在所述高速緩存中檢索到所述目的數(shù)據(jù)時,將被檢索到的目的數(shù)據(jù)傳送至所述主機。在這種情況下,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法,其包括以下步驟應答對主機的目的數(shù)據(jù)的寫入請求,將所述目的數(shù)據(jù)緩存至高速緩存中;對緩存所述目的數(shù)據(jù)作出應答,向所述多個成員磁盤傳送所述目的數(shù)據(jù)的刪除命令。在這種情況下,所述將所述目的數(shù)據(jù)緩存至高速緩存中的步驟,可以是在所述目的數(shù)據(jù)沒有預先被存儲在所述高速緩存中時,所述高速緩存中不發(fā)生置換并將所述目的數(shù)據(jù)緩存的步驟。相反,所述緩存目的數(shù)據(jù)的步驟,可以是所述目的數(shù)據(jù)沒有預先被存儲在所述高速緩存中且所述高速緩存中發(fā)生置換時,在緩存所述目的數(shù)據(jù)之前,將由所述置換而導致的犧牲數(shù)據(jù)回寫入所述多個成員磁盤中的步驟。此外,所述將所述目的數(shù)據(jù)緩存至高速緩存中的步驟可包括以下步驟在所述目的數(shù)據(jù)已預先被存儲在所述高速緩存中時,將所述預先被存儲的目的數(shù)據(jù)更新,且所述傳送刪除命令的步驟,可以是在所述目的數(shù)據(jù)已被存儲在所述多個成員磁盤中時,傳送所述刪除命令的步驟。特別是,所述緩存目的數(shù)據(jù)的步驟可包括以下步驟緩存以所述目的數(shù)據(jù)為基礎被更新的奇偶校驗,且所述傳送刪除命令的步驟,可以是將對所述奇偶校驗的刪除命令傳送至所述多個成員磁盤中的步驟。在這種情況下,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法,其可進一步包括以下步驟考慮所述刪除命令是否已被傳送,來設定所述被緩存的目的數(shù)據(jù)的狀態(tài);將所述被緩存的目的數(shù)據(jù)和奇偶校驗從所述高速緩存鏡面反射至磁盤。
技術(shù)效果根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,針對高速緩存和成員磁盤中被重復的數(shù)據(jù),向成員磁盤傳送刪除命令,可提高成員磁盤的性能,并減少電力消耗。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,適當?shù)卦O定存儲在高速緩存中的數(shù)據(jù)的狀態(tài),可更有效地來管理高速緩存和磁盤。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,不但將數(shù)據(jù)適當?shù)馗禄蚧貙?,還可適當?shù)卦O定存儲在高速緩存中的數(shù)據(jù)的狀態(tài),可防止數(shù)據(jù)的損失。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,使用適用鏡面反射的回寫高速緩存,可減少因數(shù)據(jù)損失帶來的危險。此外,根據(jù)本發(fā)明的一個實施例的高速緩存和磁盤的管理方法和控制器,可提供在要求奇偶校驗的環(huán)境中也能很好適用的解決方案。
圖1是示出根據(jù)相關(guān)技術(shù)的控制器、高速緩存、及多個成員硬盤的示圖。圖2是示出根據(jù)本發(fā)明的一個實施例,向成員磁盤傳送刪除命令的高速緩存的例示圖。圖3是示出在適用本發(fā)明的第1政策時,數(shù)據(jù)的狀態(tài)之間的關(guān)系的流程圖。圖4是示出在高速緩存中發(fā)生置換時本發(fā)明的運作例示圖。圖5是示出存在將奇偶校驗存儲的成員磁盤時本發(fā)明的運作例示圖。圖6是示出在適用本發(fā)明的第2政策時,數(shù)據(jù)的狀態(tài)之間的關(guān)系的流程圖。圖7是示出使用鏡面反射技法的高速緩存的示圖。圖8是示出根據(jù)本發(fā)明的一個實施例的控制器的框圖。
具體實施例方式以下,根據(jù)本發(fā)明的優(yōu)選的一個實施例,參照附圖進行詳細地說明。圖1是示出根據(jù)相關(guān)技術(shù)的控制器、高速緩存、及多個成員硬盤的示圖。參照圖1,存儲系統(tǒng)包括控制器110、多個成員磁盤120、以及高速緩存130。一般情況下,為提高存取速度,將經(jīng)常請求的數(shù)據(jù)存儲在高速緩存130中。例如, 先將經(jīng)常請求讀取的數(shù)據(jù)存儲在高速緩存130中,預先存儲在高速緩存130中的數(shù)據(jù)中存在當前請求讀取的數(shù)據(jù)時,無須從多個成員磁盤130存取,直接從高速緩存130將當前請求讀取的數(shù)據(jù)傳達至主機。在此,預先存儲在高速緩沖130中的數(shù)據(jù)可能被重復存儲在多個成員磁盤120中。 在這種情況下,重復存儲在多個成員磁盤120中的數(shù)據(jù)不進行存取的話可成為不需要的數(shù)據(jù)。特別是,多個成員磁盤120為固態(tài)硬盤時,不需要的數(shù)據(jù)可增加內(nèi)部的額外復制和電力消耗。因此,應該從多個成員磁盤120適當?shù)貏h除不需要的數(shù)據(jù)。圖2是示出根據(jù)本發(fā)明的一個實施例,向成員磁盤傳送刪除命令的高速緩存的例示圖。
參照圖2,第1成員磁盤221中存儲了數(shù)據(jù)A1、B1、C1,第2成員磁盤222中存儲了數(shù)據(jù)A2、B2、C2。此外,高速緩沖210中存儲了第1成員磁盤221的數(shù)據(jù)Al和第2成員磁盤222的數(shù)據(jù)B2。在從主機接收對數(shù)據(jù)Al的讀取請求時,控制器不向第1成員磁盤221進行存取, 直接讀取預先存儲在高速緩沖210中的數(shù)據(jù)Al并返還至主機。與之相同,在從主機接收對數(shù)據(jù)B2的讀取請求時,控制器不向第2成員磁盤222進行存取,直接讀取預先存儲在高速緩沖210中的數(shù)據(jù)B2并返還至主機。因此,存儲在第1成員磁盤221中數(shù)據(jù)Al和存儲在第2成員磁盤222中數(shù)據(jù)B2成為不需要的數(shù)據(jù)。在這種情況下,根據(jù)本發(fā)明的一個實施例,當高速緩存210中的數(shù)據(jù)A1、B2被緩存時,向第1成員磁盤221和第2成員磁盤222傳送刪除命令。即,當高速緩存210中的數(shù)據(jù) A1、B2被緩存時,由于存儲在第1成員磁盤221中數(shù)據(jù)Al和存儲在第2成員磁盤222中數(shù)據(jù)B2被刪除,第1成員磁盤221和第2成員磁盤222的剩余空間(free space)便增加了。 在此,刪除命令可為本發(fā)明所屬技術(shù)領(lǐng)域中常用的“TRIM”命令。作為參考,本發(fā)明的高速緩存作為回寫高速緩存,可為具有備用電池的動態(tài)隨機存儲器(battery backup DRAM)或非易失性存儲器。以下,對本發(fā)明的多種實施例進行具體地說明。圖3是示出在適用本發(fā)明的第1政策時,數(shù)據(jù)的狀態(tài)之間的關(guān)系的流程圖。參照圖3,在適用第1政策時,根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)狀態(tài)被決定為三種類型無效、排斥、修改(invalid,exclusivhmodified)中的任何一種。在此,狀態(tài)的三種類型根據(jù)刪除命令是否已被傳送或根據(jù)主機的寫入請求是否被更新等來進行互相區(qū)分。此外,第1政策與第2政策對比,根據(jù)第1政策,從成員磁盤刪除存儲在高速緩存中的所有有效數(shù)據(jù),相反,根據(jù)第2政策,只刪除存儲在高速緩存中的有效數(shù)據(jù)中具特定類型狀態(tài)的數(shù)據(jù)。關(guān)于第1政策的體現(xiàn)被稱為實施完全排斥(fully exclusive implementation),且關(guān)于第2政策的體現(xiàn)被稱為實施部分排斥(partially exclusive implementation)。根據(jù)第1政策,可最大限度地增加因刪除重復的數(shù)據(jù)所獲得的有利點,相反,因刪除命令會產(chǎn)生通信量加大的問題。另一方面,根據(jù)第2政策,和第1政策相比只可確保少量的剩余空間,但因刪除命令可減少通信量。1)在實施完全排斥(fully exclusive implementation)中發(fā)生讀取落空(read miss)的情況下主機發(fā)生對目的數(shù)據(jù)的讀取請求時,控制器在高速緩存中檢索目的數(shù)據(jù)。在這種情況下,控制器利用直接映射(direct mapping)、關(guān)聯(lián)映射(Fully associative mapping)、或組關(guān)聯(lián)映射(set-associative mapping)中的任何一個,在所述高速緩存中檢索所述目的數(shù)據(jù)。在目的數(shù)據(jù)沒有預先被存儲在高速緩存中時,發(fā)生讀取落空(read miss)。讀取落空(read miss)的發(fā)生意味著有效的數(shù)據(jù)沒有被存儲在高速緩存中,在這種情況下,目的數(shù)據(jù)的狀態(tài)被示為無效(invalid)。當發(fā)生讀取落空(read miss)時,控制器向適當?shù)某蓡T磁盤傳達讀取請求,且所述成員磁盤應答讀取請求來返還目的數(shù)據(jù)。此類目的數(shù)據(jù)被傳達至主機。在這種情況下,控制器將從所述成員磁盤返還的目的數(shù)據(jù)存儲在高速緩存中。此外,根據(jù)第1政策,從所述成員磁盤刪除已存儲在高速緩存中的所有有效數(shù)據(jù),因此,控制器向所述成員磁盤傳送對目的數(shù)據(jù)的刪除命令。此外,將存儲在高速緩存中的目的數(shù)據(jù)的狀態(tài)設定為排斥(exclusive), 在此,目的數(shù)據(jù)為排斥(exclusive)狀態(tài)指的是發(fā)生讀取落空(read miss)時,根據(jù)第1政策,從成員磁盤刪除目的數(shù)據(jù)。2)在實施完全排斥(fully exclusive implementation)中發(fā)生讀取命中(read hit)的情況下主機請求讀取的目的數(shù)據(jù)預先被存儲在高速緩存中時,發(fā)生讀取命中(read hit)。在這種情況下,控制器從高速緩存抽取目的數(shù)據(jù)提供至主機。此外,存儲在高速緩存的數(shù)據(jù)的狀態(tài)不改變。以下,對圖3中所記載的修改(modified)狀態(tài)進行說明。3)在實施完全排斥(fully exclusive implementation)中發(fā)生寫入落空(write miss)的情況下3-1)在不要求置換的情況下主機請求讀取的目的數(shù)據(jù)沒有預先被存儲在高速緩存中時,發(fā)生寫入落空(write miss)。由于有效的目的數(shù)據(jù)沒有被存儲在高速緩存中,因此預測目的數(shù)據(jù)的當前狀態(tài)為無效(invalid)狀態(tài)。當發(fā)生寫入落空(write miss)時,目的數(shù)據(jù)寫入高速緩存中。此外,對緩存所述目的數(shù)據(jù)作出應答,控制器向成員磁盤傳送目的數(shù)據(jù)的刪除命令。在這種情況下,被緩存的目的數(shù)據(jù)的狀態(tài)從無效(invalid)變更為修改(modified)狀態(tài)。修改(modified)狀態(tài)指的是為有效的數(shù)據(jù)的狀態(tài),即根據(jù)主機的寫入請求,高速緩存中被更新的數(shù)據(jù)的狀態(tài)。當然, 如上所述,在發(fā)生讀取命中(read hit)時,存儲在高速緩存中的數(shù)據(jù)的修改(modified)狀態(tài)被維持原狀。3-2)在要求置換的情況下當發(fā)生寫入落空(write miss)時,目的數(shù)據(jù)為寫入高速緩存中,可在高速緩存中發(fā)生置換。例如,高速緩存在飽和的情況下,為將目的數(shù)據(jù)寫入高速緩存中,選擇包含犧牲數(shù)據(jù)的犧牲(victim)部。當犧牲部的狀態(tài)為無效(invalid)時,執(zhí)行與3_1中說明的不要求置換的情況下所執(zhí)行的運作相同的運作。但犧牲部的狀態(tài)為排斥(exclusive)時,犧牲數(shù)據(jù)只存儲在高速緩存中,且不存儲在成員磁盤中。因此,在此情況下,為防止數(shù)據(jù)的損失,控制器將犧牲數(shù)據(jù)回寫至成員磁盤。此外,控制器將目的數(shù)據(jù)寫入高速緩存的犧牲部,并向成員磁盤發(fā)送刪除命令。與此類似的,當犧牲部的狀態(tài)為修改(modified)狀態(tài)時,犧牲數(shù)據(jù)也只存儲在高速緩存中,且不存儲在成員磁盤中,由此,控制器將犧牲數(shù)據(jù)回寫至成員磁盤。此外,與犧牲部的狀態(tài)為修改(modified)狀態(tài)時相同,控制器將目的數(shù)據(jù)寫入高速緩存的犧牲部,并向成員磁盤傳送刪除命令。此外,將重新寫入的目的數(shù)據(jù)的狀態(tài)設定為修改(modified)狀態(tài)。4)在實施完全排斥(fully exclusive implementation)中發(fā)生寫入命中(write hit)的情況下當目的數(shù)據(jù)預先被存儲在高速緩存中,發(fā)生寫入命中(write hit)時,預先存儲在
8高速緩存中的目的數(shù)據(jù)的狀態(tài)為排斥(exclusive)或修改(modified)狀態(tài)。在這種情況下,控制器將預先存儲在高速緩中的目的數(shù)據(jù)更新,并將更新的目的數(shù)據(jù)的狀態(tài)設定為修改(modified)狀態(tài)。此外,由于目的數(shù)據(jù)的狀態(tài)為排斥(exclusive)或修改(modified) 狀態(tài),因此不要求傳送刪除命令。圖4是示出在高速緩存中發(fā)生置換時本發(fā)明的運作例示圖。參考圖4,數(shù)據(jù)X、Y、Z被置于高速緩存410的所有部中。主機在傳送對數(shù)據(jù)A的寫入請求時,發(fā)生寫入落空(write miss)。在這種情況下,數(shù)據(jù)A寫入高速緩存410中。但是,由于高速緩存410飽和,因此高速緩存410的多個部中的任何一個被選擇為犧牲部。在此,假設將存儲數(shù)據(jù)Z的部選擇為犧牲部??刂破鲗奚鼣?shù)據(jù)Z回寫入第1成員磁盤421。此外,將數(shù)據(jù)A寫入高速緩存410 中,向第2成員磁盤422傳送對存儲在第1成員磁盤421中的數(shù)據(jù)A的刪除命令。圖5是示出存在將奇偶校驗存儲的成員磁盤時本發(fā)明的運作例示圖。在說明圖5的示例之前,須說明本發(fā)明在具有奇偶校驗的存儲系統(tǒng)中也能照樣適用。上述已對發(fā)生讀取落空(read miss)時,目的數(shù)據(jù)被存儲在高速緩存中進行了說明。在這種情況下,存儲系統(tǒng)具有奇偶校驗的情況下,被緩存的目的數(shù)據(jù)被用作奇偶校驗組的一部分,即,被緩存的目的數(shù)據(jù)替代奇偶校驗磁盤的奇偶校驗,可在修正不能使用 (failed)的磁盤時使用。不發(fā)生置換且發(fā)生寫入落空時,目的數(shù)據(jù)重新寫入成員磁盤中。由于目的數(shù)據(jù)重新寫入成員磁盤中,因此,之前的奇偶校驗需進一步更新。在這種情況下,控制器不僅從成員磁盤讀取目的數(shù)據(jù),還從奇偶校驗磁盤讀取之前的奇偶校驗,且計算與目的數(shù)據(jù)相對應的新奇偶校驗。此外,控制器將新奇偶校驗和目的數(shù)據(jù)寫入高速緩存后,向奇偶校驗磁盤和成員磁盤發(fā)送刪除命令。寫入高速緩存的新奇偶校驗和目的數(shù)據(jù)的狀態(tài)被變更為修改 (modified)狀態(tài)。在具有奇偶校驗的存儲系統(tǒng)中,發(fā)生置換的同時發(fā)生寫入落空(write miss)時, 執(zhí)行與上述相同的過程。但是,附加執(zhí)行將犧牲數(shù)據(jù)或犧牲奇偶校驗回寫的過程。此外,在具有奇偶校驗的存儲系統(tǒng)中,發(fā)生置換的同時發(fā)生寫入命中(write hit) 時,目的數(shù)據(jù)的當前狀態(tài)為無效(invalid)時,執(zhí)行與寫入落空(write miss)發(fā)生時相同的運作。但是,目的數(shù)據(jù)的當前狀態(tài)為排斥(exclusive)或修改(modified)狀態(tài)時,執(zhí)行其他的運作。更具體地說,奇偶校驗在高速緩存中的話,不需要從奇偶校驗磁盤讀取奇偶校驗,直接計算新奇偶校驗。此外,目的數(shù)據(jù)和新奇偶校驗在高速緩存被更新。但如果需要從成員磁盤讀取奇偶校驗時,控制器在讀取奇偶校驗后傳送刪除命令。參照圖5,第1成員磁盤521中存儲有原先的數(shù)據(jù)A,且作為奇偶校驗磁盤的第2 成員磁盤522中存儲有原先的奇偶校驗P1。在這種情況下,應答對主機的數(shù)據(jù)B的寫入請求,當發(fā)生寫入落空(write miss)時,因原先的數(shù)據(jù)A被變更為數(shù)據(jù)B,所以原先的奇偶校驗Pl也必須變更為奇偶校驗P2??刂破鲗⒏碌臄?shù)據(jù)B和新奇偶校驗P2存儲在高速緩存中,且向第1成員磁盤 521和第2成員磁盤522發(fā)送刪除命令。
圖6是示出在適用本發(fā)明的第2政策時,數(shù)據(jù)的狀態(tài)之間的關(guān)系的流程圖。參照圖6,在適用第2政策時,根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)狀態(tài)被決定為三種類型無效、排斥、修改(invalid,exclusivhmodified)中的任何一種。在此,狀態(tài)的三種類型根據(jù)刪除命令是否已被傳送或根據(jù)主機的寫入請求是否被更新等進行互相區(qū)分。與上述說明相同,根據(jù)第2政策,只將存儲在高速緩存中的有效數(shù)據(jù)中具特定類型狀態(tài)的數(shù)據(jù)刪除。5)在實施部分排斥(partially exclusive implementation)中發(fā)生讀取落空 (write miss)的情況下。當發(fā)生讀取落空(read miss)時,控制器向適當?shù)某蓡T磁盤傳達讀取請求,且所述成員磁盤應答讀取請求來返還目的數(shù)據(jù)。此類目的數(shù)據(jù)被傳達至主機。在這種情況下,控制器將從所述成員磁盤返還的目的數(shù)據(jù)存儲在高速緩存中,并將被緩存的目的數(shù)據(jù)的狀態(tài)設定為有效(valid)狀態(tài)。根據(jù)第2刪除政策,不從成員磁盤刪除存儲在高速緩存的所有有效數(shù)據(jù),且只從成員磁盤刪除特定類型且狀態(tài)為排除(exclusive)的數(shù)據(jù)。因此,不向成員磁盤傳送對被緩存的目的數(shù)據(jù)的刪除命令。6)在實施部分排斥(partially exclusive implementation)中發(fā)生讀取命中 (read hit)的情況下控制器從高速緩存抽取目的數(shù)據(jù)提供至主機。此外,存儲在高速緩存的數(shù)據(jù)的狀態(tài)不改變。7)在實施部分排斥(partially exclusive implementation)中發(fā)生寫入落空 (write miss)的情況下7-1)在不要求置換的情況下當發(fā)生寫入落空(write miss)時,目的數(shù)據(jù)寫入高速緩存中。此外,控制器對緩存目的數(shù)據(jù)作出應答,向成員磁盤傳送目的數(shù)據(jù)的刪除命令。此外,被緩存的目的數(shù)據(jù)的狀態(tài)設定為修改(modified)狀態(tài)。7-2)在要求置換的情況下選擇包括犧牲數(shù)據(jù)的犧牲(victim)部。當犧牲部的狀態(tài)為有效(valid)時,控制器將犧牲數(shù)據(jù)重寫為新數(shù)據(jù)。此外,控制器向成員磁盤傳送刪除命令。然后,控制器將目的數(shù)據(jù)寫入高速緩存的犧牲部,并向成員磁盤傳送刪除命令。此外,新寫入的目的數(shù)據(jù)的狀態(tài)被設定為修改(modified)狀態(tài)。此外,當犧牲部的狀態(tài)為修改(modified)狀態(tài)時,控制器將犧牲數(shù)據(jù)回寫至成員磁盤,且將犧牲數(shù)據(jù)重寫為新數(shù)據(jù)。8)在實施部分排斥(partially exclusive implementation)中發(fā)生寫入命中 (write hit)的情況下被緩存的目的數(shù)據(jù)的狀態(tài)為有效(valid)時,控制器將被緩存的目的數(shù)據(jù)更新, 且向成員磁盤傳送刪除命令。但是,當被緩存的目的數(shù)據(jù)的狀態(tài)為修改(modified)時,由于成員磁盤中不存在目的數(shù)據(jù),因此被緩存的目的數(shù)據(jù)被更新,但不傳送刪除命令。此外, 被更新的目的數(shù)據(jù)的狀態(tài)被設定為修改(modified)狀態(tài)。適用實施部分排斥(partially exclusive implementation)的本發(fā)明的運作原理也可在具有奇偶校驗的存儲系統(tǒng)中被相同地適用。即,當發(fā)生讀取落空(read miss)時和發(fā)生讀取命中時,執(zhí)行與上述說明相同的運作。但在不發(fā)生置換且發(fā)生寫入落空(write miss)時,須在之前的奇偶校驗被更新后,控制器計算與目的數(shù)據(jù)相對應的新奇偶校驗。此外,控制器在高速緩存中的新奇偶校驗和目的數(shù)據(jù)被使用后,向奇偶校驗磁盤和成員磁盤傳送刪除命令。寫入高速緩存的奇偶校驗和目的數(shù)據(jù)的狀態(tài)變更為修改(modified)狀態(tài)。此外,具有奇偶校驗的存儲系統(tǒng)中,當發(fā)生置換的同時發(fā)生寫入落空時,執(zhí)行與不發(fā)生置換且發(fā)生寫入落空(write miss)時所執(zhí)行的過程相同的過程。但下一個過程被附加執(zhí)行。即,在需要時,可選擇用于目的數(shù)據(jù)和新奇偶校驗的犧牲部。不僅如此,犧牲數(shù)據(jù)或犧牲奇偶校驗的狀態(tài)為有效(valid)時,控制器將目的數(shù)據(jù)或新奇偶校驗重新寫入犧牲部中后,將目的數(shù)據(jù)或新奇偶校驗的狀態(tài)變更為修改(modified)。此外,在犧牲數(shù)據(jù)或犧牲奇偶校驗的狀態(tài)為修改(modified)時,控制器回寫犧牲數(shù)據(jù)或犧牲奇偶校驗后,將目的數(shù)據(jù)或新奇偶校驗寫入高速緩存中。圖7是示出使用鏡面反射技法的高速緩存的示圖。在對圖7所示出的例子進行說明之前,須說明在實施完全排斥中,備有高速緩存內(nèi)容的剩余部分可有效地減少由高速緩存的損傷所帶來的危險。特別是,由于高速緩存可包含數(shù)據(jù)和奇偶校驗,因此減少由高速緩存的損傷所帶來的危險可為十分重要的問題。為減少由高速緩存的損傷所帶來的危險,將高速緩存自身鏡面反射的方法可為理想方案。即,可考慮將高速緩存自身鏡面反射至其他高速緩存或特定成員磁盤中。參照圖7,整個高速緩存710可分為原件高速緩存711和被鏡面反射的高速緩存 712。在這種情況下,原件高速緩存711和被鏡面反射的高速緩存712可分開地設置在另外的單元中。當原件高速緩存711損傷時,因存在被鏡面反射的高速緩存712,所以可防止數(shù)據(jù)的損失。與圖7中示出的不同,高速緩存也可被鏡面反射至成員磁盤。圖8是示出根據(jù)本發(fā)明的一個實施例的控制器的框圖。參照圖8,根據(jù)本發(fā)明的一個實施例的控制器,其包括檢索單元、緩存單元、刪除命令傳送單元。檢索單元應答對主機的目的數(shù)據(jù)的讀取請求或?qū)懭胝埱?,在高速緩存中檢索所述目的數(shù)據(jù)。此外,緩存單元根據(jù)所述檢索結(jié)果從多個成員磁盤將所述目的數(shù)據(jù)緩存至所述高速緩存中。此外,刪除命令傳送單元對緩存所述目的數(shù)據(jù)作出應答,向所述多個成員磁盤傳送所述目的數(shù)據(jù)的刪除命令。在這種情況下,刪除命令傳送單元可根據(jù)第1刪除政策或第 2刪除政策傳送所述刪除命令。第1刪除政策為向所述多個成員磁盤傳送有關(guān)存儲在所述高速緩存的所有有效的數(shù)據(jù)的刪除命令的政策,第2刪除政策為傳送有關(guān)存儲在所述高速緩存的所述有效的數(shù)據(jù)中的一部分的刪除命令的政策。此外,未在圖8中示出,控制器可進一步包括考慮所述刪除命令是否被傳送來設定所述被緩存的目的數(shù)據(jù)的狀態(tài)的狀態(tài)設定單元。圖8中所示出的控制器可適用于通過圖1至圖7所說明的內(nèi)容,在此省略更詳細的說明。
本發(fā)明的控制器的運作方法,可由硬件、軟件、以及硬件和軟件的結(jié)合來體現(xiàn)。在這種情況下,用于執(zhí)行本發(fā)明的控制器的運作方法的軟件通過多種計算機手段以可執(zhí)行的程序命令形式記錄在計算機可讀媒體中。該計算機可讀媒體可包括獨立的或結(jié)合的程序指令、數(shù)據(jù)文件、數(shù)據(jù)結(jié)構(gòu)等。該媒體記錄的程序指令可專門為本發(fā)明的目的設計和創(chuàng)建, 或為計算機軟件技術(shù)人員熟知而應用。計算機可讀媒體的例子包括磁媒體(magnetic media),如硬盤、軟盤和磁帶;光學媒體(optical media),如CD ROM、DVD;磁光媒體 (magneto-optical media),如光盤(floptical disk);和專門配置為存儲和執(zhí)行程序指令的硬件設備,如只讀存儲器(ROM)、隨機存取存儲器(RAM)等。程序指令的例子,既包括機器代碼,如由編譯器產(chǎn)生的,也包括含有可由計算機使用解釋程序執(zhí)行的更高級代碼的文件。 所述硬件設備可配置為作為一個以上軟件模塊運行以執(zhí)行上面所述的本發(fā)明的示例性實施例的操作,反之亦然。如上所示,本發(fā)明雖然已參照有限的實施例和附圖進行了說明,但是本發(fā)明并不局限于所述實施例,在本發(fā)明所屬領(lǐng)域中具備通常知識的人均可以從此記載中進行各種修改和變形。因此,本發(fā)明的范圍不受說明的實施例的局限或定義,而是由后附的權(quán)利要求范圍以及權(quán)利要求范圍等同內(nèi)容定義。
權(quán)利要求
1.一種高速緩存和磁盤的管理方法,包括以下步驟應答對主機的目的數(shù)據(jù)的讀取請求,在高速緩存中檢索所述目的數(shù)據(jù);根據(jù)檢索結(jié)果,從多個成員磁盤將所述目的數(shù)據(jù)緩存至所述高速緩存中;以及對緩存所述目的數(shù)據(jù)作出應答,向所述多個成員磁盤傳送所述目的數(shù)據(jù)的刪除命令。
2.如權(quán)利要求1所述的高速緩存和磁盤的管理方法,其中,所述傳送刪除命令的步驟, 是根據(jù)第1刪除政策或第2刪除政策來傳送所述刪除命令的步驟,第1刪除政策是向所述多個成員磁盤傳送對所述高速緩存中存儲的所有有效數(shù)據(jù)的刪除命令的刪除政策,第2刪除政策是傳送對所述有效數(shù)據(jù)中一部分的刪除命令的刪除政策。
3.如權(quán)利要求1所述的高速緩存和磁盤的管理方法,進一步包括以下步驟考慮所述刪除命令是否已被傳送,來設定被緩存的目的數(shù)據(jù)的狀態(tài)。
4.如權(quán)利要求1所述的高速緩存和磁盤的管理方法,其中,所述被緩存的目的數(shù)據(jù)被用作奇偶校驗組的新成員。
5.如權(quán)利要求1所述的高速緩存和磁盤的管理方法,進一步包括以下步驟在所述高速緩存中檢索到所述目的數(shù)據(jù)時,將被檢索到的目的數(shù)據(jù)傳送至所述主機。
6.如權(quán)利要求1所述的高速緩存和磁盤的管理方法,其中,所述多個成員磁盤為固態(tài)硬盤,且所述高速緩存為回寫高速緩存。
7.如權(quán)利要求1所述的高速緩存和磁盤的管理方法,其中,所述在高速緩存中檢索所述目的數(shù)據(jù)的步驟,是利用直接映射、關(guān)聯(lián)映射、或組關(guān)聯(lián)映射中的任何一個在所述高速緩存中檢索所述目的數(shù)據(jù)的步驟。
8.如權(quán)利要求3所述的高速緩存和磁盤的管理方法,其中,所述被緩存的目的數(shù)據(jù)的狀態(tài),指的是所述刪除命令是否被傳送或所述被緩存的目的數(shù)據(jù)是否從所述多個成員磁盤被緩存。
9.一種高速緩存和磁盤的管理方法,包括以下步驟應答對主機的目的數(shù)據(jù)的寫入請求,將所述目的數(shù)據(jù)緩存至高速緩存中;以及對緩存所述目的數(shù)據(jù)作出應答,向所述多個成員磁盤傳送所述目的數(shù)據(jù)的刪除命令。
10.如權(quán)利要求9所述的高速緩存和磁盤的管理方法,其中,所述將所述目的數(shù)據(jù)緩存至高速緩存中的步驟,是在所述目的數(shù)據(jù)沒有預先被存儲在所述高速緩存中時,所述高速緩存中不發(fā)生置換并將所述目的數(shù)據(jù)緩存的步驟。
11.如權(quán)利要求9所述的高速緩存和磁盤的管理方法,進一步包括以下步驟考慮所述刪除命令是否已被傳送,來設定所述被緩存的目的數(shù)據(jù)的狀態(tài)。
12.如權(quán)利要求9所述的高速緩存和磁盤的管理方法,其中,所述將所述目的數(shù)據(jù)緩存至高速緩存中的步驟,包括以下步驟在所述目的數(shù)據(jù)已預先被存儲在所述高速緩存中時,將所述預先被存儲的目的數(shù)據(jù)更新,且所述傳送刪除命令的步驟,是在所述目的數(shù)據(jù)已被存儲在所述多個成員磁盤中時,傳送所述刪除命令的步驟。
13.如權(quán)利要求9所述的高速緩存和磁盤的管理方法,其中,所述緩存目的數(shù)據(jù)的步驟,包括以下步驟所述目的數(shù)據(jù)沒有預先被存儲在所述高速緩存中且所述高速緩存中發(fā)生置換時,在緩存所述目的數(shù)據(jù)之前,將由所述置換而導致的犧牲數(shù)據(jù)回寫入所述多個成員磁盤中。
14.如權(quán)利要求9所述的高速緩存和磁盤的管理方法,其中,所述緩存目的數(shù)據(jù)的步驟,包括以下步驟在所述目的數(shù)據(jù)沒有預先被存儲在所述高速緩存中時,當所述高速緩存中發(fā)生置換時,根據(jù)由所述置換而導致的犧牲數(shù)據(jù)是否已被存儲在所述多個成員磁盤中,在緩存所述目的數(shù)據(jù)之前,將所述犧牲數(shù)據(jù)回寫入所述多個成員磁盤。
15.如權(quán)利要求9所述的高速緩存和磁盤的管理方法,其中,所述緩存目的數(shù)據(jù)的步驟,包括以下步驟緩存以所述目的數(shù)據(jù)為基礎被更新的奇偶校驗。
16.如權(quán)利要求15所述的高速緩存和磁盤的管理方法,其中,所述傳送刪除命令的步驟,包括以下步驟將對所述奇偶校驗的刪除命令傳送至所述多個成員磁盤中。
17.如權(quán)利要求13所述的高速緩存和磁盤的管理方法,其中,所述緩存目的數(shù)據(jù)的步驟,包括以下步驟緩存以所述目的數(shù)據(jù)為基礎被更新的奇偶校驗;以及在緩存所述目的數(shù)據(jù)和所述奇偶校驗之前,將由所述置換而導致的犧牲數(shù)據(jù)和與所述犧牲數(shù)據(jù)相對應的犧牲奇偶校驗回寫入所述多個成員磁盤。
18.如權(quán)利要求15所述的高速緩存和磁盤的管理方法,進一步包括以下步驟將所述被緩存的目的數(shù)據(jù)和奇偶校驗從所述高速緩存鏡面反射至磁盤。
19.一種記錄有用于執(zhí)行權(quán)利要求1至18中任何一項所述方法的程序的計算機可讀記錄媒體。
20.一種控制器,包括檢索單元,應答對主機的目的數(shù)據(jù)的讀取請求,在高速緩存中檢索所述目的數(shù)據(jù);緩存單元,根據(jù)檢索結(jié)果,從多個成員磁盤將所述目的數(shù)據(jù)緩存至所述高速緩存中;和刪除命令傳送單元,對緩存所述目的數(shù)據(jù)作出應答,向所述多個成員磁盤傳送所述目的數(shù)據(jù)的刪除命令。
21.如權(quán)利要求20所述的控制器,其中,所述緩存單元,應答對主機的目的數(shù)據(jù)的寫入請求,將所述目的數(shù)據(jù)緩存至所述高速緩存中。
全文摘要
提供一種高速緩存和磁盤的管理方法。該高速緩存和磁盤的管理方法是將對存儲在高速緩存中的所有有效數(shù)據(jù)或有效數(shù)據(jù)中的一部分特定數(shù)據(jù)的刪除命令傳送至多個成員磁盤中。結(jié)果,所有有效數(shù)據(jù)或有效數(shù)據(jù)中的一部分特定數(shù)據(jù)只存在于高速緩存中,且在多個成員磁盤中被刪除。因此,多個成員磁盤可確保更多的空間,并可減少內(nèi)部的額外復制。特別是,固態(tài)硬盤的話可達成更高的性能。
文檔編號G06F12/00GK102395957SQ200980158756
公開日2012年3月28日 申請日期2009年12月23日 優(yōu)先權(quán)日2009年4月17日
發(fā)明者鄭洙吉 申請人:韓商英得聯(lián)股份有限公司