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