專(zhuān)利名稱:對(duì)緩存內(nèi)容進(jìn)行保護(hù)的方法和裝置以及緩存控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及緩存技術(shù),特別是涉及對(duì)緩存(Cache)內(nèi)容進(jìn)行保護(hù)的方 法和裝置以及緩存控制器。
背景技術(shù):
隨著信息技術(shù)的高速發(fā)展,目前出現(xiàn)了能夠提供數(shù)據(jù)存儲(chǔ)業(yè)務(wù)的網(wǎng)絡(luò)存 儲(chǔ)控制系統(tǒng)。圖1是網(wǎng)絡(luò)存儲(chǔ)控制系統(tǒng)的結(jié)構(gòu)示意圖。參見(jiàn)圖1,網(wǎng)絡(luò)存儲(chǔ) 控制系統(tǒng)中主要包括磁盤(pán)陣列和執(zhí)行讀寫(xiě)操作的主機(jī)處理器。另外,由于主 機(jī)處理器的工作頻率遠(yuǎn)大于磁盤(pán)陣列的工作頻率,因此,為了提高數(shù)據(jù)讀寫(xiě) 的效率,網(wǎng)絡(luò)存儲(chǔ)控制系統(tǒng)中還包括工作頻率介于主機(jī)處理器和磁盤(pán)陣列之 間的緩存控制器和Cache。在網(wǎng)絡(luò)存儲(chǔ)控制系統(tǒng)中,磁盤(pán)陣列的數(shù)量眾多。為了保證不同磁盤(pán)陣列 的讀寫(xiě)數(shù)據(jù)不會(huì)發(fā)生混亂,目前,通常會(huì)對(duì)Cache的存儲(chǔ)空間進(jìn)行劃分,使 得每一個(gè)磁盤(pán)陣列均有對(duì)應(yīng)的Cache空間,這樣, 一個(gè)磁盤(pán)陣列的讀寫(xiě)數(shù)據(jù) 均緩存在該磁盤(pán)陣列對(duì)應(yīng)的Cache空間中,保證了不同磁盤(pán)陣列讀寫(xiě)數(shù)據(jù)的 順利進(jìn)行。然而,在目前,在將數(shù)據(jù)緩存在Cache中后,不會(huì)對(duì)Cache中保存的內(nèi) 容進(jìn)行任何保護(hù)處理,這樣,當(dāng)Cache中一部分Cache空間發(fā)生損壞等故障 時(shí),該部分Cache空間中的內(nèi)容則無(wú)法被讀取,從而降低了利用Cache存儲(chǔ) 數(shù)據(jù)的可靠性,降低了業(yè)務(wù)服務(wù)質(zhì)量。發(fā)明內(nèi)容有鑒于此,本發(fā)明的一個(gè)目的在于提供一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的方 法,本發(fā)明的又一個(gè)目的在于提供一種緩存控制器,本發(fā)明的再一個(gè)目的在
于提供一種緩存,本發(fā)明的另一個(gè)目的在于提供一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的裝置,以便于對(duì)Cache中保存的數(shù)據(jù)進(jìn)行保護(hù)。為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的 一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的方法,其中所述緩存Cache被劃分為至少一個(gè)數(shù)據(jù)分區(qū)和至少一個(gè)備份分區(qū),該方法包括 將需緩存的數(shù)據(jù)保存到數(shù)據(jù)分區(qū)中; 將數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū)中; 當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù)無(wú)法讀取后,根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)。一種緩存控制器,其中所述緩存Cache被劃分為至少一個(gè)數(shù)據(jù)分區(qū)和至 少一個(gè)備份分區(qū),包括數(shù)據(jù)存儲(chǔ)處理單元,用于將需緩存的數(shù)據(jù)保存到數(shù)據(jù)分區(qū),并將數(shù)據(jù)分 區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū);數(shù)據(jù)讀取處理單元,用于從數(shù)據(jù)分區(qū)中讀取數(shù)據(jù),當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù) 無(wú)法讀取后,根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)。一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的裝置,包括Cache和本發(fā)明的緩存控制器。由此可見(jiàn),在本發(fā)明中,由于將Cache劃分為數(shù)據(jù)分區(qū)和備份分區(qū),因 此可以利用Cache中的數(shù)據(jù)分區(qū)來(lái)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ),同時(shí)利用Cache中的備 份分區(qū)實(shí)現(xiàn)對(duì)數(shù)據(jù)的備份,這樣,當(dāng)Cache中某一數(shù)據(jù)分區(qū)的Cache空間發(fā) 生損壞等故障時(shí),雖然該數(shù)據(jù)分區(qū)的Cache空間中的內(nèi)容無(wú)法被讀取,但是, 可以利用備份分區(qū)獲取該數(shù)據(jù),因此,提高了利用Cache存儲(chǔ)數(shù)據(jù)的可靠性, 提高了業(yè)務(wù)服務(wù)質(zhì)量。
圖1是網(wǎng)絡(luò)存儲(chǔ)控制系統(tǒng)的結(jié)構(gòu)示意圖。圖2是在本發(fā)明 一 個(gè)實(shí)施例中實(shí)現(xiàn)對(duì)緩存內(nèi)容進(jìn)行保護(hù)的流程圖。圖3是在本發(fā)明一個(gè)實(shí)施例中物理意義的數(shù)據(jù)分區(qū)與物理意義的備份
分區(qū)的一種實(shí)現(xiàn)方式示意圖。圖4是在本發(fā)明一個(gè)實(shí)施例中邏輯意義的數(shù)據(jù)分區(qū)與邏輯意義的備份 分區(qū)的一種實(shí)現(xiàn)方式示意圖。圖5是在本發(fā)明一個(gè)實(shí)施例中物理意義的數(shù)據(jù)分區(qū)與物理意義的備份 分區(qū)的另一種實(shí)現(xiàn)方式示意圖。圖6是在本發(fā)明一個(gè)實(shí)施例中邏輯意義的數(shù)據(jù)分區(qū)與邏輯意義的備份 分區(qū)的另一種實(shí)現(xiàn)方式示意圖。圖7是在本發(fā)明 一個(gè)較佳實(shí)施例中緩存控制器的內(nèi)部結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖及具體實(shí) 施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。本發(fā)明提出了一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的方法。該方法包括將Cache 劃分為數(shù)據(jù)分區(qū)和備份分區(qū);將需緩存的數(shù)據(jù)保存到數(shù)據(jù)分區(qū)中;將數(shù)據(jù)分 區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū)中;當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù)無(wú)法讀 取后,根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)。在本發(fā)明中,劃分?jǐn)?shù)據(jù)分區(qū)和備份分區(qū)的方式可以有多種,比如以單板 為粒度來(lái)劃分各個(gè)分區(qū),和/或以單板中設(shè)定大小的Cache空間為粒度來(lái)劃 分各個(gè)分區(qū)等,以下則以 一個(gè)具體實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的具體實(shí)現(xiàn)過(guò) 程。圖2是在本發(fā)明一個(gè)實(shí)施例中實(shí)現(xiàn)對(duì)緩存內(nèi)容進(jìn)行保護(hù)的流程圖。參見(jiàn) 圖2,該過(guò)程具體包括以下步驟步驟201:根據(jù)Cache所占用的單板的數(shù)量,將各個(gè)單板劃分為一個(gè)或 一個(gè)以上物理意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上物理意義的備份分區(qū)。在實(shí)際的業(yè)務(wù)實(shí)現(xiàn)中,Cache所占用的各單板中的 一個(gè)單板可能會(huì)發(fā)生 損壞等故障,導(dǎo)致該單板中存儲(chǔ)的所有數(shù)據(jù)無(wú)法被讀取。針對(duì)此種情況,為 了能夠?qū)γ恳粋€(gè)單板中存儲(chǔ)的所有數(shù)據(jù)進(jìn)行保護(hù),使得一個(gè)單板中的數(shù)據(jù)無(wú)
法被讀取后,能夠從其他單板中獲取該數(shù)據(jù),在本步驟201中,從單板的角 度劃分出物理意義的數(shù)據(jù)分區(qū)和物理意義的備份分區(qū)。步驟202:對(duì)于Cache所占用的每一個(gè)單板,將該單板的完整存儲(chǔ)空間 劃分為一個(gè)或一個(gè)以上邏輯意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上邏輯意義 的備份分區(qū)。在實(shí)際的業(yè)務(wù)實(shí)現(xiàn)中,Cache所占用的4壬意一個(gè)單—反中的一部分Cache 空間可能會(huì)發(fā)生損壞等故障,導(dǎo)致該部分Cache空間中存儲(chǔ)的數(shù)據(jù)無(wú)法被讀 取,而該單板中其他部分的Cache空間正常,能夠讀取數(shù)據(jù)。針對(duì)此種情況, 為了能夠?qū)γ恳粋€(gè)單板中的每一部分Cache空間進(jìn)行保護(hù),使得一個(gè)單板中 一部分Cache空間的數(shù)據(jù)無(wú)法凈皮讀取后,能夠從該單^反中其他部分的Cache 空間中獲取該數(shù)據(jù),在本步驟202中,可以從單板Cache空間的角度劃分出 邏輯意義的數(shù)據(jù)分區(qū)和邏輯意義的備份分區(qū)。步驟203:設(shè)置一個(gè)數(shù)據(jù)分區(qū)對(duì)應(yīng)一個(gè)備份分區(qū)。這里,如果劃分了物理意義的數(shù)據(jù)分區(qū)和物理意義的備份分區(qū),那么, 在本步驟中,是設(shè)置一個(gè)物理意義的數(shù)據(jù)分區(qū)對(duì)應(yīng)一個(gè)物理意義的備份分 區(qū),也就是說(shuō),物理意義的數(shù)據(jù)分區(qū)與物理意義的備份分區(qū)之間——對(duì)應(yīng)。 比如,參見(jiàn)圖3, Cache所占用的單板為單板1、單板2….直到單板6,那么, 通過(guò)上述步驟201和本步驟203的處理,則可以將其中的單板l、單板2和 單板3分別設(shè)置為一個(gè)物理意義的數(shù)據(jù)分區(qū),并且,將單板4、單板5和單 板6設(shè)置為分別對(duì)應(yīng)于單板1、單板2和單板3的物理意義的備份分區(qū)。同樣,如果劃分了邏輯意義的數(shù)據(jù)分區(qū)和邏輯意義的備份分區(qū),那么, 在本步驟中,是設(shè)置一個(gè)邏輯意義的數(shù)據(jù)分區(qū)對(duì)應(yīng)一個(gè)邏輯意義的備份分 區(qū),也就是說(shuō),邏輯意義的數(shù)據(jù)分區(qū)與邏輯意義的備份分區(qū)之間——對(duì)應(yīng)。 比如,參見(jiàn)圖4, Cache所占用的一個(gè)單板的完整Cache空間為6KB,那么, 通過(guò)上述步驟202和本步驟203的處理,則可以將該單板的6KB存儲(chǔ)空間 劃分為6個(gè)大小為1KB的存儲(chǔ)單元,其中存儲(chǔ)單元l、 2和3的Cache空間 分別設(shè)置為邏輯意義的數(shù)據(jù)分區(qū)1、 2和3,存儲(chǔ)單元4、 5和6的Cache空 間設(shè)置為分別對(duì)應(yīng)于邏輯意義的數(shù)據(jù)分區(qū)1、 2和3的邏輯意義的備份分區(qū)。 需要說(shuō)明的是,上述步驟201至步驟203的處理,可以是在緩存控制器 和Cache啟動(dòng)后,由緩存控制器執(zhí)行,即可以由緩存控制器執(zhí)行步驟201至 步驟203中劃分和設(shè)置的處理過(guò)程?;蛘?,也可以在緩存控制器和Cache啟 動(dòng)前,由管理終端或其他設(shè)備預(yù)先執(zhí)行,即可以由管理終端或其他設(shè)備執(zhí)行 步驟201至步驟203中的劃分和^沒(méi)置的處理過(guò)程。步驟204:將需要緩存到Cache中的數(shù)據(jù)保存到各個(gè)數(shù)據(jù)分區(qū)中。 這里,在將需要緩存的數(shù)據(jù)寫(xiě)入Cache所占用的各個(gè)單板時(shí),如果劃分 了物理意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,在本步驟中,只將需要緩存的數(shù) 據(jù)保存到作為物理意義的數(shù)據(jù)分區(qū)的單板中。比如,參見(jiàn)圖3,在本步驟中, 只將需要緩存的數(shù)據(jù)保存到單板1、單板2和單板3中。并且,在將需要緩存的數(shù)據(jù)寫(xiě)入Cache所占用的任意一個(gè)單板時(shí),如果 劃分了邏輯意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,在本步驟中,只將需要緩存 的數(shù)據(jù)保存到對(duì)應(yīng)邏輯意義的數(shù)據(jù)分區(qū)的Cache空間。比如,參見(jiàn)圖4,在 本步驟中,只將需要緩存到單板的數(shù)據(jù)保存到該單板的存儲(chǔ)單元1、 2和3 的Cache空間。步驟205:將數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)進(jìn)行復(fù)制后保存到備份分區(qū)中。這里,由于在步驟203中設(shè)置一個(gè)數(shù)據(jù)分區(qū)對(duì)應(yīng)一個(gè)備份分區(qū),也就是 說(shuō),每一個(gè)存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)分區(qū)均有專(zhuān)有的備份分區(qū),因此,在進(jìn)行本步驟 的備份處理時(shí),可以對(duì)每一個(gè)數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)進(jìn)行復(fù)制,將復(fù)制的數(shù) 據(jù)作為備份信息保存到該數(shù)據(jù)分區(qū)對(duì)應(yīng)的備份分區(qū)中。具體地,如果劃分了物理意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,在本步驟 中,將物理意義的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)進(jìn)行復(fù)制,并將復(fù)制的數(shù)據(jù)保存到 該物理意義的數(shù)據(jù)分區(qū)對(duì)應(yīng)的物理意義的備份分區(qū)中。比如,參見(jiàn)圖3,將 數(shù)據(jù)保存到作為物理意義的數(shù)據(jù)分區(qū)的單板1中時(shí),可以復(fù)制該數(shù)據(jù),并將 復(fù)制的數(shù)據(jù)保存到單板1對(duì)應(yīng)的作為物理意義的備份分區(qū)的單板4中。并且,如果劃分了邏輯意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,在本步驟中,
還將邏輯意義的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)保存到對(duì)應(yīng)的邏輯意義的備份分區(qū) 中。比如,參見(jiàn)圖4,在將數(shù)據(jù)保存到單板的作為邏輯意義的數(shù)據(jù)分區(qū)的存儲(chǔ)單元1的Cache空間時(shí),可以對(duì)該數(shù)據(jù)進(jìn)行復(fù)制,將復(fù)制的數(shù)據(jù)保存到對(duì) 應(yīng)的作為邏輯意義的備份分區(qū)的存儲(chǔ)單元4的Cache空間。步驟206:當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù)無(wú)法讀取后,直接從備份分區(qū)中獲取該 數(shù)據(jù)。這里,如果一個(gè)作為物理意義的數(shù)據(jù)分區(qū)即一個(gè)單板發(fā)生故障等原因?qū)?致數(shù)據(jù)無(wú)法讀取后,則可以根據(jù)其對(duì)應(yīng)的物理意義的備份分區(qū)即另 一個(gè)單板 來(lái)獲取數(shù)據(jù)。比如,參見(jiàn)圖3, 一個(gè)物理意義的數(shù)據(jù)分區(qū)如單板1中的數(shù)據(jù) 無(wú)法讀取,由于單板1中的數(shù)據(jù)備份在物理意義的備份分區(qū)即單板4中,因 此,可以直接從單板4中獲取數(shù)據(jù)。如果一個(gè)作為邏輯意義的數(shù)據(jù)分區(qū)即一個(gè)單板中一部分Cache空間對(duì) 應(yīng)的一個(gè)存儲(chǔ)單元發(fā)生故障等原因?qū)е略摬糠諧ache空間數(shù)據(jù)無(wú)法讀取后, 則可以根據(jù)其對(duì)應(yīng)的邏輯意義的備份分區(qū)即另一個(gè)存儲(chǔ)單元的Cache空間 來(lái)獲取數(shù)據(jù)。比如,參見(jiàn)圖4,由于單板中邏輯意義的數(shù)據(jù)分區(qū)如存儲(chǔ)單元 1的Cache空間中的數(shù)據(jù)備份在邏輯意義的備份分區(qū)即存儲(chǔ)單元4的Cache 空間中,因此,當(dāng)無(wú)法從單板的存儲(chǔ)單元1的Cache空間讀取數(shù)據(jù)后,則可 以從存儲(chǔ)單元4的Cache空間中直接獲取該數(shù)據(jù)。需要說(shuō)明的是,在上述步驟203、步驟205和步驟206中,是設(shè)置一個(gè) 數(shù)據(jù)分區(qū)對(duì)應(yīng)一個(gè)備份分區(qū),也就是說(shuō),每一個(gè)數(shù)據(jù)分區(qū)均有專(zhuān)有的備份分 區(qū),并且,采用直接復(fù)制數(shù)據(jù)存儲(chǔ)到備份分區(qū)和直接從備份分區(qū)中讀取的方 式。上述步驟203、步驟205和步驟206的過(guò)程也可以替換為利用設(shè)定函數(shù) 算法的實(shí)現(xiàn)過(guò)程。具體來(lái)說(shuō),替換方式的步驟203包括為了節(jié)約備份分區(qū)所占用的單板數(shù)量或單板 Cache空間,可以設(shè)置多個(gè)數(shù)據(jù)分區(qū)屬于一個(gè)數(shù)據(jù)分區(qū)組,并設(shè)置一個(gè)數(shù)據(jù) 分區(qū)組對(duì)應(yīng) 一個(gè)備^f分分區(qū)。
如果劃分了物理意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,參見(jiàn)圖5,比如 Cache所占用的單板為單板1、單板2....直到單板6,則可以設(shè)置其中兩個(gè) 作為物理意義的數(shù)據(jù)分區(qū)單板1和單板2屬于一個(gè)數(shù)據(jù)分區(qū)組1,設(shè)置數(shù)據(jù) 分區(qū)組l對(duì)應(yīng)作為物理意義的備份分區(qū)-單板3,并且,設(shè)置其中另兩個(gè)作 為物理意義的數(shù)據(jù)分區(qū)單板4和單板5屬于一個(gè)數(shù)據(jù)分區(qū)組2,設(shè)置數(shù)據(jù)分 區(qū)組2對(duì)應(yīng)作為物理意義的備份分區(qū)-單板6。如果劃分了邏輯意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,參見(jiàn)圖6,比如 Cache所占用的一個(gè)單板的完整Cache空間為6KB,可以將該單斧反的6KB 存儲(chǔ)空間劃分為6個(gè)大小為1KB的存儲(chǔ)單元,設(shè)置其中兩個(gè)作為邏輯意義 的數(shù)據(jù)分區(qū)如存儲(chǔ)單元1和2的Cache空間屬于一個(gè)數(shù)據(jù)分區(qū)組11,設(shè)置 數(shù)據(jù)分區(qū)組11對(duì)應(yīng)作為邏輯意義的備份分區(qū)如存儲(chǔ)單元3的Cache空間, 設(shè)置其中另兩個(gè)作為邏輯意義的數(shù)據(jù)分區(qū)如存儲(chǔ)單元4和5的Cache空間屬 于一個(gè)數(shù)據(jù)分區(qū)組12,設(shè)置數(shù)據(jù)分區(qū)組12對(duì)應(yīng)作為邏輯意義的備份分區(qū)-存儲(chǔ)單元6的Cache空間。替換方式的步驟205包括對(duì)一個(gè)數(shù)據(jù)分區(qū)組中所有數(shù)據(jù)分區(qū)存儲(chǔ)的數(shù) 據(jù)進(jìn)行設(shè)定函數(shù)的算法處理,將處理后的數(shù)據(jù)作為備份信息保存到該數(shù)據(jù)分 區(qū)組對(duì)應(yīng)的備f分分區(qū)。如果劃分了物理意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,參見(jiàn)圖5,比如, 作為物理意義的數(shù)據(jù)分區(qū)即單板1和單板2屬于數(shù)據(jù)分區(qū)組1,其對(duì)應(yīng)的物 理意義的備份分區(qū)為單板3,因此,可以對(duì)單板1和單板2中存儲(chǔ)的數(shù)據(jù)進(jìn) 行設(shè)定函數(shù)的算法處理,將處理后的數(shù)據(jù)保存到單板3中,對(duì)應(yīng)的函數(shù)關(guān)系 表達(dá)式為單板3數(shù)據(jù)^g (單板1數(shù)據(jù),單板2數(shù)據(jù))。如果劃分了邏輯意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,參見(jiàn)圖6,比如, 在一個(gè)單板中,作為邏輯意義的數(shù)據(jù)分區(qū)即存儲(chǔ)單元1和存儲(chǔ)單元2的Cache 空間屬于數(shù)據(jù)分區(qū)組11,其對(duì)應(yīng)的邏輯意義的備份分區(qū)為存儲(chǔ)單元3的 Cache空間,因此,可以對(duì)存儲(chǔ)單元1和存儲(chǔ)單元2的Cache空間中存儲(chǔ)的 數(shù)據(jù)進(jìn)行設(shè)定函數(shù)的算法處理,將處理后的數(shù)據(jù)保存到存儲(chǔ)單元3的Cache
空間中,對(duì)應(yīng)的函數(shù)關(guān)系表達(dá)式為存儲(chǔ)單元3數(shù)據(jù)-F(存儲(chǔ)單元l數(shù)據(jù), 存儲(chǔ)單元2數(shù)據(jù))。在替換方式的步驟205中,所使用的設(shè)定函數(shù)的算法可以根據(jù)實(shí)際業(yè)務(wù) 需要來(lái)設(shè)定,比如,可以為奇偶校驗(yàn)算法,異或算法等,并且,對(duì)不同的數(shù) 據(jù)分區(qū)組設(shè)定的函數(shù)算法可以不同,比如,數(shù)據(jù)分區(qū)組1進(jìn)行備份處理時(shí)使 用的函數(shù)算法g為異或,數(shù)據(jù)分區(qū)組11進(jìn)行備份處理時(shí)使用的函數(shù)算法F 為奇偶校驗(yàn)等。替換方式的步驟206包括當(dāng)無(wú)法從一個(gè)數(shù)據(jù)分區(qū)讀取數(shù)據(jù)后,確定無(wú) 法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)所屬的數(shù)據(jù)分區(qū)組,利用所確定的數(shù)據(jù)分區(qū)組中除無(wú) 法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)之外的其他數(shù)據(jù)分區(qū)中的數(shù)據(jù)以及所述設(shè)定函數(shù),獲 取無(wú)法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)。如果劃分了物理意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,參見(jiàn)圖5,比如, 作為物理意義的數(shù)據(jù)分區(qū)單板l發(fā)生故障等導(dǎo)致單板l中的所有數(shù)據(jù)無(wú)法被 讀取,那么,利用單板2中存儲(chǔ)的數(shù)據(jù)以及所使用的設(shè)定函數(shù)的算法,來(lái)得 到單板l中存儲(chǔ)的數(shù)據(jù),即,根據(jù)單板3數(shù)據(jù)-g (單板1數(shù)據(jù),單板2數(shù) 據(jù)),可以得到,單板l數(shù)據(jù)-g-1 (單板3數(shù)據(jù),單板2數(shù)據(jù))。如果劃分了邏輯意義的數(shù)據(jù)分區(qū)和備份分區(qū),那么,參見(jiàn)圖6,比如, 在一個(gè)單板中,作為邏輯意義的數(shù)據(jù)分區(qū)如存儲(chǔ)單元1的Cache空間發(fā)生故 障等導(dǎo)致該空間中的數(shù)據(jù)無(wú)法被讀取,那么,則可以利用存儲(chǔ)單元2中存儲(chǔ) 的數(shù)據(jù)以及所使用的設(shè)定函數(shù)的算法,來(lái)得到存儲(chǔ)單元1的Cache空間中存 儲(chǔ)的數(shù)據(jù),即,根據(jù)存儲(chǔ)單元3數(shù)據(jù)=F (存儲(chǔ)單元1數(shù)據(jù),存儲(chǔ)單元2數(shù) 據(jù)),可以得到,存儲(chǔ)單元l數(shù)據(jù)-F-1 (存儲(chǔ)單元3數(shù)據(jù),存儲(chǔ)單元2數(shù) 據(jù))。另外,本發(fā)明還提出了一種緩存控制器。該緩存控制器連接的Cache 被劃分為至少一個(gè)數(shù)據(jù)分區(qū)和至少一個(gè)備份分區(qū),該緩存控制器包括數(shù)據(jù)存儲(chǔ)處理單元,用于將需緩存的數(shù)據(jù)保存到數(shù)據(jù)分區(qū),并將數(shù)據(jù)分 區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū);
數(shù)據(jù)讀取處理單元,用于從數(shù)據(jù)分區(qū)中讀取數(shù)據(jù),當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù) 無(wú)法讀取后,根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)。在本發(fā)明一個(gè)較佳實(shí)施例中,可以由緩存控制器來(lái)劃分Cache中的數(shù)據(jù) 分區(qū)和備份分區(qū),此時(shí),參見(jiàn)圖7,緩存控制器進(jìn)一步包括分區(qū)劃分單元, 用于將Cache劃分為數(shù)據(jù)分區(qū)和備份分區(qū)。為了能夠?qū)γ恳粋€(gè)單板中存儲(chǔ)的所有數(shù)據(jù)進(jìn)行保護(hù),使得一個(gè)單板中的 數(shù)據(jù)無(wú)法被讀取后,能夠從其他單板中獲取該數(shù)據(jù),所述分區(qū)劃分單元包括單板數(shù)量確定子單板,用于確定Cache所占用的單板的數(shù)量;劃分執(zhí)行子單元,用于根據(jù)單板數(shù)量確定子單板所確定的數(shù)量,將各個(gè) 單板劃分為一個(gè)或一個(gè)以上物理意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上物理 意義的備份分區(qū)。為了能夠在對(duì)單板中的數(shù)據(jù)進(jìn)行保護(hù)的同時(shí),還能夠?qū)伟逯械牟糠?Cache空間進(jìn)行保護(hù),所述劃分執(zhí)行子單元,對(duì)于Cache所占用的每一個(gè)單 板,進(jìn)一步將該單板的完整存儲(chǔ)空間劃分為一個(gè)或一個(gè)以上邏輯意義的數(shù)據(jù) 分區(qū)以及一個(gè)或一個(gè)以上邏輯意義的備份分區(qū);此時(shí),所述數(shù)據(jù)存儲(chǔ)處理單元包括物理分區(qū)處理子單元和邏輯分區(qū)處理 子單元,其中,物理分區(qū)處理子單元,用于將物理意義的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份 信息保存到物理意義的備份分區(qū)中;邏輯分區(qū)處理子單元,用于將邏輯意義的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份 信息保存到邏輯意義的備份分區(qū)中;并且,此時(shí),所述數(shù)據(jù)讀取處理單元包括故障分區(qū)確定子單元,用于確定無(wú)法讀取^t據(jù)的分區(qū),當(dāng)確定出無(wú)法讀 取數(shù)據(jù)的分區(qū)為物理意義的數(shù)據(jù)分區(qū)時(shí),將物理分區(qū)備份讀取通知發(fā)送至讀 取執(zhí)行子單元,當(dāng)確定出無(wú)法讀取數(shù)據(jù)的分區(qū)為邏輯意義的數(shù)據(jù)分區(qū)時(shí),將 邏輯分區(qū)備份讀取通知發(fā)送至讀取執(zhí)行子單元;讀取執(zhí)行子單元,用于在接收到物理分區(qū)備份讀取通知后,根據(jù)物理意
義的備份分區(qū)中的備份信息獲取數(shù)據(jù),在接收到邏輯分區(qū)備份讀取通知后, 根據(jù)邏輯意義的備份分區(qū)中的備份信息獲取數(shù)據(jù)。為了能夠?qū)伟逯械母鞑糠諧ache空間進(jìn)行保護(hù),所述分區(qū)劃分單元包括單板空間確定子單板,用于確定Cache所占用的每一個(gè)單板的存儲(chǔ)空間;劃分執(zhí)行子單元,用于根據(jù)單板空間確定子單板所確定的每一個(gè)單板的存儲(chǔ)空間,將每一個(gè)單板的完整存儲(chǔ)空間劃分為 一個(gè)或一個(gè)以上邏輯意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上邏輯意義的備份分區(qū)。所述數(shù)據(jù)存儲(chǔ)處理單元包括備份設(shè)置子單元和備份執(zhí)行子單元,其中, 備份設(shè)置子單元,用于設(shè)置一個(gè)數(shù)據(jù)分區(qū)對(duì)應(yīng)一個(gè)備份分區(qū); 備份執(zhí)行子單元,用于對(duì)每一個(gè)數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)進(jìn)行復(fù)制,將復(fù)制的數(shù)據(jù)作為備份信息保存到該數(shù)據(jù)分區(qū)對(duì)應(yīng)的備份分區(qū)中;所述數(shù)據(jù)讀取處理單元在確定數(shù)據(jù)分區(qū)中的數(shù)據(jù)無(wú)法讀取后,從無(wú)法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)對(duì)應(yīng)的備份分區(qū)中,直接獲取數(shù)據(jù)。所述數(shù)據(jù)存儲(chǔ)處理單元還可以包括備份設(shè)置子單元和備份執(zhí)行子單元,其中,備份設(shè)置子單元,用于設(shè)置多個(gè)數(shù)據(jù)分區(qū)屬于一個(gè)數(shù)據(jù)分區(qū)組,并設(shè)置 一個(gè)數(shù)據(jù)分區(qū)組對(duì)應(yīng) 一個(gè)備份分區(qū);備份執(zhí)行子單元,用于對(duì)一個(gè)數(shù)據(jù)分區(qū)組中所有數(shù)據(jù)分區(qū)存儲(chǔ)的數(shù)據(jù)進(jìn) 行設(shè)定函數(shù)的算法處理,將處理后的數(shù)據(jù)作為備份信息保存到該數(shù)據(jù)分區(qū)組 對(duì)應(yīng)的備份分區(qū);所述數(shù)據(jù)讀取處理單元包括分區(qū)組確定子單元,用于確定無(wú)法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)所屬的數(shù)據(jù)分區(qū)組;讀取執(zhí)行子單元,用于利用所確定的數(shù)據(jù)分區(qū)組中除無(wú)法讀取數(shù)據(jù)的數(shù) 據(jù)分區(qū)之外的其他數(shù)據(jù)分區(qū)中的數(shù)據(jù)以及所述設(shè)定函數(shù),獲取無(wú)法讀取數(shù)據(jù) 的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)。另外,本發(fā)明還提出了一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的裝置。該裝置包括Cache和本發(fā)明提供的緩存控制器??傊陨纤鰞H為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的 保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改 進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的方法,其特征在于,其中所述緩存Cache被劃分為至少一個(gè)數(shù)據(jù)分區(qū)和至少一個(gè)備份分區(qū),該方法包括將需緩存的數(shù)據(jù)保存到數(shù)據(jù)分區(qū)中;將數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū)中;當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù)無(wú)法讀取后,根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,將Cache劃分為數(shù)據(jù)分區(qū)和 備份分區(qū)的方法包括根據(jù)Cache所占用的單板的數(shù)量,將各個(gè)單板劃分為一 個(gè)或一個(gè)以上物理意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上物理意義的備份分區(qū)。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,將Cache劃分為數(shù)據(jù)分區(qū)和 備份分區(qū)的方法進(jìn)一步包括對(duì)于Cache所占用的每一個(gè)單板,將該單板的完 整存儲(chǔ)空間劃分為一個(gè)或一個(gè)以上邏輯意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上邏 輯意義的備份分區(qū);在執(zhí)行所述的將數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū)中時(shí), 是將物理意義的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到物理意義的備份分區(qū) 中,以及將邏輯意義的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到邏輯意義的備 份分區(qū)中;在執(zhí)行所述的根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)時(shí),如果無(wú)法讀取數(shù) 據(jù)的數(shù)據(jù)分區(qū)為物理意義的數(shù)據(jù)分區(qū),則根據(jù)物理意義的備份分區(qū)中的備份信 息獲取該數(shù)據(jù),如果無(wú)法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)為邏輯意義的數(shù)據(jù)分區(qū),則根據(jù) 邏輯意義的備份分區(qū)中的備份信息獲取該數(shù)據(jù)。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,將Cache劃分為數(shù)據(jù)分區(qū)和 備份分區(qū)的方法包括對(duì)于Cache所占用的每一個(gè)單板,將該單板的完整存儲(chǔ) 空間劃分為一個(gè)或一個(gè)以上邏輯意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上邏輯意義 的備份分區(qū)。
5、 根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,所述將數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū)中的步驟包括設(shè)置一個(gè)數(shù)據(jù)分 區(qū)對(duì)應(yīng)一個(gè)備份分區(qū);對(duì)每一個(gè)數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)進(jìn)行復(fù)制,將復(fù)制的數(shù) 據(jù)作為備份信息保存到該數(shù)據(jù)分區(qū)對(duì)應(yīng)的備份分區(qū)中;所述根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)的步驟包括從無(wú)法讀取數(shù)據(jù) 的數(shù)據(jù)分區(qū)對(duì)應(yīng)的備份分區(qū)中,直接獲取數(shù)據(jù)。
6、 根據(jù)權(quán)利要求1至4中任意一項(xiàng)所述的方法,其特征在于,所述將數(shù)據(jù) 分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū)中的步驟包括設(shè)置多個(gè)數(shù)據(jù)分 區(qū)屬于一個(gè)數(shù)據(jù)分區(qū)組,并設(shè)置一個(gè)凄t據(jù)分區(qū)組對(duì)應(yīng)一個(gè)備^P分分區(qū);對(duì)一個(gè)數(shù) 據(jù)分區(qū)組中所有數(shù)據(jù)分區(qū)存儲(chǔ)的數(shù)據(jù)進(jìn)行設(shè)定函數(shù)的算法處理,將處理后的數(shù) 據(jù)作為備份信息保存到該數(shù)據(jù)分區(qū)組對(duì)應(yīng)的備份分區(qū);所述根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)的步驟包括確定無(wú)法讀取數(shù) 據(jù)的數(shù)據(jù)分區(qū)所屬的數(shù)據(jù)分區(qū)組,利用所確定的數(shù)據(jù)分區(qū)組中除無(wú)法讀取數(shù)據(jù) 的數(shù)據(jù)分區(qū)之外的其他數(shù)據(jù)分區(qū)中的數(shù)據(jù)以及所述設(shè)定函數(shù),獲取無(wú)法讀取數(shù) 據(jù)的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)。
7、 一種緩存控制器,其中所述緩存Cache被劃分為至少一個(gè)數(shù)據(jù)分區(qū)和至 少一個(gè)備份分區(qū),其特征在于,包括數(shù)據(jù)存儲(chǔ)處理單元,用于將需緩存的數(shù)據(jù)保存到數(shù)據(jù)分區(qū),并將數(shù)據(jù)分區(qū) 中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū);數(shù)據(jù)讀取處理單元,用于從數(shù)據(jù)分區(qū)中讀取數(shù)據(jù),當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù)無(wú) 法讀取后,根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)。
8、 根據(jù)權(quán)利要求7所述的緩存控制器,其特征在于,該緩存控制器進(jìn)一步 包括分區(qū)劃分單元,用于將Cache劃分為數(shù)據(jù)分區(qū)和備份分區(qū)。
9、 根據(jù)權(quán)利要求8所述的緩存控制器,其特征在于,所述分區(qū)劃分單元包括單板數(shù)量確定子單板,用于確定Cache所占用的單板的數(shù)量; 劃分執(zhí)行子單元,用于根據(jù)單板數(shù)量確定子單板所確定的數(shù)量,將各個(gè)單 板劃分為 一個(gè)或一個(gè)以上物理意義的tt據(jù)分區(qū)以及一個(gè)或一個(gè)以上物理意義的備份分區(qū)。
10、 根據(jù)權(quán)利要求9所述的緩存控制器,其特征在于,所述劃分執(zhí)行子單 元,對(duì)于Cache所占用的每一個(gè)單板,進(jìn)一步將該單板的完整存儲(chǔ)空間劃分為 一個(gè)或一個(gè)以上邏輯意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上邏輯意義的備份分 區(qū);所述數(shù)據(jù)存儲(chǔ)處理單元包括物理分區(qū)處理子單元和邏輯分區(qū)處理子單元, 其中,物理分區(qū)處理子單元,用于將物理意義的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信 息保存到物理意義的備^P分分區(qū)中;邏輯分區(qū)處理子單元,用于將邏輯意義的凄史據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信 息保存到邏輯意義的備^f分分區(qū)中;所述數(shù)據(jù)讀取處理單元包括故障分區(qū)確定子單元,用于確定無(wú)法讀取數(shù)據(jù)的分區(qū),當(dāng)確定出無(wú)法讀取 數(shù)據(jù)的分區(qū)為物理意義的數(shù)據(jù)分區(qū)時(shí),將物理分區(qū)備份讀取通知發(fā)送至讀取執(zhí) 行子單元,當(dāng)確定出無(wú)法讀取數(shù)據(jù)的分區(qū)為邏輯意義的數(shù)據(jù)分區(qū)時(shí),將邏輯分 區(qū)備份讀取通知發(fā)送至讀取執(zhí)行子單元;讀取執(zhí)行子單元,用于在接收到物理分區(qū)備份讀取通知后,根據(jù)物理意義 的備份分區(qū)中的備份信息獲取數(shù)據(jù),在接收到邏輯分區(qū)備份讀取通知后,根據(jù) 邏輯意義的備份分區(qū)中的備份信息獲取數(shù)據(jù)。
11、 根據(jù)權(quán)利要求8所述的緩存控制器,其特征在于,所述分區(qū)劃分單元 包括單板空間確定子單板,用于確定Cache所占用的每一個(gè)單板的存儲(chǔ)空間; 劃分執(zhí)行子單元,用于根據(jù)單板空間確定子單板所確定的每一個(gè)單板的存儲(chǔ)空間,將每一個(gè)單板的完整存儲(chǔ)空間劃分為一個(gè)或一個(gè)以上邏輯意義的數(shù)據(jù)分區(qū)以及一個(gè)或一個(gè)以上邏輯意義的備份分區(qū)。
12、 根據(jù)權(quán)利要求7至11中任意一項(xiàng)所述的緩存控制器,其特征在于,所 述數(shù)據(jù)存儲(chǔ)處理單元包括備份設(shè)置子單元和備份執(zhí)行子單元,其中,備份設(shè)置子單元,用于設(shè)置一個(gè)數(shù)據(jù)分區(qū)對(duì)應(yīng)一個(gè)備份分區(qū); 備份執(zhí)行子單元,用于對(duì)每一個(gè)數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)進(jìn)行復(fù)制,將復(fù)制 的數(shù)據(jù)作為備份信息保存到該數(shù)據(jù)分區(qū)對(duì)應(yīng)的備份分區(qū)中;數(shù)據(jù)的數(shù)據(jù)分區(qū)對(duì)應(yīng)的備份分區(qū)中,直接獲取數(shù)據(jù)。
13、 根據(jù)權(quán)利要求7至11中任意一項(xiàng)所述的緩存控制器,其特征在于,所 述數(shù)據(jù)存儲(chǔ)處理單元包括備份設(shè)置子單元和備份執(zhí)行子單元,其中,備份設(shè)置子單元,用于設(shè)置多個(gè)數(shù)據(jù)分區(qū)屬于一個(gè)數(shù)據(jù)分區(qū)組,并設(shè)置一 個(gè)數(shù)據(jù)分區(qū)組對(duì)應(yīng) 一個(gè)備〗分分區(qū);備份執(zhí)行子單元,用于對(duì)一個(gè)數(shù)據(jù)分區(qū)組中所有數(shù)據(jù)分區(qū)存儲(chǔ)的數(shù)據(jù)進(jìn)行 設(shè)定函數(shù)的算法處理,將處理后的數(shù)據(jù)作為備份信息保存到該數(shù)據(jù)分區(qū)組對(duì)應(yīng) 的備份分區(qū);所述數(shù)據(jù)讀取處理單元包括分區(qū)組確定子單元,用于確定無(wú)法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)所屬的數(shù)據(jù)分區(qū)組; 讀取執(zhí)行子單元,用于利用所確定的數(shù)據(jù)分區(qū)組中除無(wú)法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)之外的其他數(shù)據(jù)分區(qū)中的數(shù)據(jù)以及所述設(shè)定函數(shù),獲取無(wú)法讀取數(shù)據(jù)的數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)。
14、 一種對(duì)緩存內(nèi)容進(jìn)行保護(hù)的裝置,其特征在于,包括Cache和如權(quán)利 要求7至13中任意一項(xiàng)所述的緩存控制器。
全文摘要
本發(fā)明公開(kāi)了對(duì)緩存內(nèi)容進(jìn)行保護(hù)的方法和裝置以及緩存控制器。在本發(fā)明方法中,將緩存(Cache)劃分為數(shù)據(jù)分區(qū)和備份分區(qū);將需緩存的數(shù)據(jù)保存到數(shù)據(jù)分區(qū)中;將數(shù)據(jù)分區(qū)中存儲(chǔ)的數(shù)據(jù)的備份信息保存到備份分區(qū)中;當(dāng)數(shù)據(jù)分區(qū)中的數(shù)據(jù)無(wú)法讀取后,根據(jù)備份分區(qū)中的備份信息獲取該數(shù)據(jù)。本發(fā)明的緩存控制器包括數(shù)據(jù)存儲(chǔ)處理單元和數(shù)據(jù)讀取處理單元。本發(fā)明裝置包括Cache和緩存控制器。本發(fā)明提高了利用Cache存儲(chǔ)數(shù)據(jù)的可靠性,提高了業(yè)務(wù)服務(wù)質(zhì)量。
文檔編號(hào)G06F11/14GK101118519SQ20071012157
公開(kāi)日2008年2月6日 申請(qǐng)日期2007年9月10日 優(yōu)先權(quán)日2007年9月10日
發(fā)明者劉介良, 輝 安, 賴守鋒 申請(qǐng)人:杭州華三通信技術(shù)有限公司