欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

存儲(chǔ)系統(tǒng)及其控制方法和其程序的制作方法

文檔序號(hào):6546123閱讀:126來源:國知局
專利名稱:存儲(chǔ)系統(tǒng)及其控制方法和其程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種經(jīng)由高速緩存器處理從上層(upper)系統(tǒng)到存儲(chǔ)設(shè)備的輸入和輸出請求的存儲(chǔ)系統(tǒng)及其控制方法和程序,尤其涉及一種將高速緩存器中已更新的最新數(shù)據(jù)寫回(write back)至存儲(chǔ)設(shè)備的存儲(chǔ)系統(tǒng)及其控制方法和程序。
背景技術(shù)
傳統(tǒng)地,在處理來自主機(jī)的輸入和輸出請求的RAID設(shè)備中,在控制模塊中設(shè)有高速緩存器。這種RAID設(shè)備中的高速緩存數(shù)據(jù)以頁為單位管理。如圖1所示,例如以一頁包含66,560個(gè)字節(jié)的方式管理高速緩存頁100。高速緩存頁100包括多個(gè)以塊為單位設(shè)置的用戶數(shù)據(jù),每個(gè)塊作為主機(jī)的一個(gè)訪問單元,其中,一塊用戶數(shù)據(jù)是512字節(jié),每512字節(jié)添加一個(gè)8字節(jié)的塊校驗(yàn)碼(BBC),且包括128個(gè)520字節(jié)塊的一個(gè)單元被作為一頁管理,因此,一頁是520×128=66,560字節(jié)。而且,預(yù)備被稱作高速緩存包元件(cache bundle element)CBE的高速緩存管理表來管理高速緩存頁。在該高速緩存管理表中,提供每頁的管理記錄,且該管理記錄具有例如邏輯單元數(shù)LUN、邏輯塊地址LBA、圖2B代表無效(dirty)數(shù)據(jù)的無效數(shù)據(jù)位圖104(其中,一個(gè)塊對應(yīng)于一位),以及圖2A代表當(dāng)前數(shù)據(jù)存在的當(dāng)前數(shù)據(jù)位圖102(其中,同樣的,一個(gè)塊對應(yīng)于一位)。一頁高速緩存管理表相對應(yīng)的尺寸為一比一的比例對應(yīng)于構(gòu)成RAID組的磁盤設(shè)備的一個(gè)條(strip)。在RAID設(shè)備的高速緩存控制中,當(dāng)主機(jī)要求進(jìn)行寫入時(shí),則以所需數(shù)量分配高速緩存頁。然而,寫入數(shù)據(jù)不總是存在于一頁的整個(gè)范圍中。因此,相對于該頁中在寫入步驟更新的塊,在該無效數(shù)據(jù)位圖中的對應(yīng)位被設(shè)為位1,以管理存在的無效數(shù)據(jù)。而且,在現(xiàn)有的高速緩存控制中,當(dāng)在高速緩存中缺乏空閑區(qū)域時(shí),或當(dāng)舊的高速緩存數(shù)據(jù)將要通過LRU算法移除時(shí),則執(zhí)行用于將該頁中存在的無效數(shù)據(jù)寫回到磁盤設(shè)備的寫回處理。
然而,在這種傳統(tǒng)的高速緩存控制步驟中,當(dāng)一頁中存在的無效數(shù)據(jù)將要被寫回至磁盤設(shè)備時(shí),只有無效數(shù)據(jù)位圖中被管理的且由位1代表的塊被寫到該磁盤設(shè)備。因此,當(dāng)無效數(shù)據(jù)塊不連續(xù)存在于該頁中時(shí),對每個(gè)由一組位1代表的連續(xù)區(qū)域發(fā)出寫命令。結(jié)果,關(guān)于磁盤設(shè)備處理命令的時(shí)間延長,因此導(dǎo)致性能惡化的問題。
根據(jù)本發(fā)明,提供一種存儲(chǔ)系統(tǒng)及其控制方法和程序,即使在無效數(shù)據(jù)不連續(xù)存在于一頁中時(shí),仍能將寫回命令的發(fā)出數(shù)抑制到最小水平,由此減少寫回處理時(shí)間。

發(fā)明內(nèi)容
本發(fā)明提供一種存儲(chǔ)系統(tǒng)。本發(fā)明的存儲(chǔ)系統(tǒng)包括高速緩存控制單元,用于以頁為數(shù)據(jù)單位管理高速緩存器中的數(shù)據(jù),一頁數(shù)據(jù)包括多個(gè)塊數(shù)據(jù),每個(gè)塊數(shù)據(jù)用作上層系統(tǒng)的一個(gè)訪問單元,并且該高速緩存控制單元處理該上層系統(tǒng)關(guān)于存儲(chǔ)設(shè)備的輸入或輸出請求;以及寫回處理單元,在該高速緩存器中已被該上層系統(tǒng)更新并比該存儲(chǔ)設(shè)備中所存儲(chǔ)的數(shù)據(jù)更新的無效數(shù)據(jù)將要被寫回至該存儲(chǔ)設(shè)備的情況下,并且當(dāng)在一頁無效數(shù)據(jù)中確定不連續(xù)區(qū)域時(shí),該寫回處理單元從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
這里,當(dāng)通過三次或更多次命令發(fā)布來執(zhí)行寫回處理時(shí),該寫回處理單元從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生連續(xù)區(qū)域,并以頁為單位執(zhí)行寫回。作為無效數(shù)據(jù)在一頁中的分布,當(dāng)至少一個(gè)第三連續(xù)區(qū)域經(jīng)由不連續(xù)區(qū)域出現(xiàn)在最靠近頁首的第一連續(xù)區(qū)域和最靠近頁尾的第二連續(xù)區(qū)域之間時(shí),該寫回處理單元確定包括位于該第一連續(xù)區(qū)域與該第二連續(xù)區(qū)域之間的第三連續(xù)區(qū)域的不連續(xù)區(qū)域,將其從該存儲(chǔ)設(shè)備讀出,通過對位于該不連續(xù)區(qū)域中且不同于該第三連續(xù)區(qū)域的區(qū)域的讀出數(shù)據(jù)進(jìn)行合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。高速緩存控制單元包括無效數(shù)據(jù)位圖,用于通過對應(yīng)于每個(gè)塊的位來管理在該頁中無效數(shù)據(jù)的出現(xiàn),以及當(dāng)前數(shù)據(jù)位圖,用于通過對應(yīng)于每個(gè)塊的位來管理在該頁中數(shù)據(jù)的出現(xiàn);其中,該寫回處理單元參考該無效數(shù)據(jù)位圖,并確定無效數(shù)據(jù)在該頁中的不連續(xù)區(qū)域,并且在當(dāng)前數(shù)據(jù)位圖中關(guān)于該不連續(xù)區(qū)域的一端或兩端確定連續(xù)當(dāng)前數(shù)據(jù)時(shí),則從該存儲(chǔ)設(shè)備對剩余的不連續(xù)區(qū)域進(jìn)行讀取,并將其合并。該存儲(chǔ)設(shè)備條數(shù)據(jù)的尺寸與該高速緩存器的頁尺寸相同。
本發(fā)明提供一種存儲(chǔ)系統(tǒng)的控制方法。根據(jù)本發(fā)明的存儲(chǔ)系統(tǒng)控制方法包括高速緩存控制步驟,以頁為數(shù)據(jù)單位管理高速緩存器中的數(shù)據(jù),一頁數(shù)據(jù)包括多個(gè)塊數(shù)據(jù),每個(gè)塊數(shù)據(jù)用作上層系統(tǒng)的一個(gè)訪問單元,并且處理該上層系統(tǒng)關(guān)于存儲(chǔ)設(shè)備的輸入或輸出請求;以及寫回處理步驟,在該高速緩存器中已被該上層系統(tǒng)更新并比該存儲(chǔ)設(shè)備中所存儲(chǔ)的數(shù)據(jù)更新的無效數(shù)據(jù)將要被寫回至該存儲(chǔ)設(shè)備的情況下,并且當(dāng)在一頁無效數(shù)據(jù)中確定不連續(xù)區(qū)域時(shí),從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
本發(fā)明提供由存儲(chǔ)系統(tǒng)的計(jì)算機(jī)執(zhí)行的程序。本發(fā)明的程序使得存儲(chǔ)系統(tǒng)的計(jì)算機(jī)執(zhí)行以下操作高速緩存控制步驟,以頁為數(shù)據(jù)單位管理高速緩存器中的數(shù)據(jù),一頁數(shù)據(jù)包括多個(gè)塊數(shù)據(jù),每個(gè)塊數(shù)據(jù)用作上層系統(tǒng)的一個(gè)訪問單元,并且處理該上層系統(tǒng)關(guān)于存儲(chǔ)設(shè)備的輸入或輸出請求;以及寫回處理步驟,在該高速緩存器中已被該上層系統(tǒng)更新并比該存儲(chǔ)設(shè)備中所存儲(chǔ)的數(shù)據(jù)更新的無效數(shù)據(jù)將要被寫回至該存儲(chǔ)設(shè)備的情況下,并且當(dāng)在一頁無效數(shù)據(jù)中確定不連續(xù)區(qū)域時(shí),從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
根據(jù)本發(fā)明的存儲(chǔ)系統(tǒng)控制方法和程序的詳細(xì)內(nèi)容與本發(fā)明的存儲(chǔ)系統(tǒng)的情況基本相同。
根據(jù)本發(fā)明,即使當(dāng)多個(gè)無效數(shù)據(jù)分離出現(xiàn)在頁中至少三個(gè)或更多位置時(shí),仍可以通過兩次命令發(fā)布來執(zhí)行寫回,即,用于從存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并執(zhí)行合并的讀命令發(fā)布,以及用于將已通過讀取來執(zhí)行的合并而產(chǎn)生的連續(xù)區(qū)域?qū)懙皆摯鎯?chǔ)設(shè)備的寫命令發(fā)布;并且即使當(dāng)無效數(shù)據(jù)分散且不連續(xù)地存在于一頁中時(shí),也能將命令發(fā)布數(shù)抑制在兩個(gè),由此縮短命令處理時(shí)間,并非常有助于整個(gè)系統(tǒng)的性能提高。
從下面參照附圖的詳細(xì)描述,本發(fā)明的上述和其他目的、特征、以及優(yōu)點(diǎn)將會(huì)變得更加顯而易見。


圖1為傳統(tǒng)系統(tǒng)中高速緩存頁的存儲(chǔ)結(jié)構(gòu)的示范性示意圖;圖2A和2B為在傳統(tǒng)高速緩存管理表中設(shè)置的無效數(shù)據(jù)位圖和當(dāng)前數(shù)據(jù)位圖的示范性示意圖;圖3為本發(fā)明所應(yīng)用的RAID設(shè)備的硬件結(jié)構(gòu)框圖;圖4為本發(fā)明所應(yīng)用的RAID設(shè)備的另一硬件結(jié)構(gòu)框圖;圖5為按照本發(fā)明RAID設(shè)備的功能結(jié)構(gòu)框圖;圖6A、6B和6C為在本發(fā)明的寫回處理中無效數(shù)據(jù)、當(dāng)前數(shù)據(jù)和寫回?cái)?shù)據(jù)位圖的示范性示意圖;圖7A、7B和7C為在本發(fā)明的寫回處理中在無效數(shù)據(jù)的不連續(xù)區(qū)域被當(dāng)前數(shù)據(jù)復(fù)原的情況下位圖的示范性示意圖;圖8A和8B為從本發(fā)明的寫回處理中排除的無效數(shù)據(jù)位圖的示范性實(shí)例;圖9A至圖9I為正確顯示能在寫回中出現(xiàn)的無效數(shù)據(jù)分布圖的示范性示意圖;圖10A和圖10B為根據(jù)本發(fā)明的寫回處理的流程圖;以及圖11A和圖11B為在圖10A和10B的步驟S1中無效數(shù)據(jù)位圖的確定處理的流程圖。
具體實(shí)施例方式
圖3為本發(fā)明所應(yīng)用的RAID設(shè)備的硬件結(jié)構(gòu)框圖,其中示出一個(gè)大型設(shè)備結(jié)構(gòu)作為實(shí)例。在圖3中,為RAID設(shè)備10設(shè)置了基于幀(frame-based)的主機(jī)12和基于UNIX(R)/AI服務(wù)器的主機(jī)14。在該RAID設(shè)備10中設(shè)置有配備有CPU 15的通道適配器16;控制模塊18-1到18-4;后端路由器20-1和20-2;磁盤設(shè)備22-1至22-4,例如為硬盤設(shè)備,其用作構(gòu)成RAID的存儲(chǔ)設(shè)備;以及前端路由器32-1至32-4。盡管在最大配置下能夠?qū)?個(gè)控制模塊安裝在RAID設(shè)備10上,但此實(shí)例采用使用了控制模塊18-1至18-4的四模塊配置。通道適配器16配備有CPU15,且將基于幀工作的主機(jī)12與控制模塊18-1至18-4相連。在各個(gè)控制模塊18-1至18-4中,如以控制模塊18-1為代表,設(shè)置有CPU 24、通道適配器26、高速緩存器28以及纖維通道(fibre channel)30-1至30-8。通道適配器26連接至基于UNIX(R)/AI的主機(jī)14。通過程序控制,CPU 24執(zhí)行輸入和輸出處理功能,用于在高速緩存器28中處理來自主機(jī)12用于寫命令和讀命令的輸入和輸出請求并作出響應(yīng),對高速緩存器28的控制和管理,從高速緩存28經(jīng)由后端路由器20-1、20-2到磁盤設(shè)備22-1至22-4的高速緩存數(shù)據(jù)寫回,從磁盤設(shè)備22-1到22-4的磁盤數(shù)據(jù)分級(jí)(stage)等等。前端路由器32-1到32-4將控制模塊18-1連接到其他控制模塊18-2至18-4,以進(jìn)行多重控制??刂颇K18-1至18-4分別連接至后端路由器20-1和20-2,以由控制模塊側(cè)的CPU通過RAID控制進(jìn)行數(shù)據(jù)輸入和輸出處理。
圖4為本發(fā)明所應(yīng)用的RAID設(shè)備的另一硬件結(jié)構(gòu)框圖,其中,作為實(shí)例示出了小型或中型設(shè)備,其型號(hào)比圖3的大型設(shè)備小。在圖4中,RAID設(shè)備10上設(shè)置有配備有CPU 15的通道適配器16、雙結(jié)構(gòu)(double-structure)控制模塊18-1和18-2,和磁盤設(shè)備22-1至22-3,以構(gòu)成RAID。在各個(gè)控制模塊18-1和18-2中,如以控制模塊18-1為代表所示,設(shè)置有CPU 24、通道適配器26、高速緩存器28以及纖維通道30-1至30-8。圖4對應(yīng)于小型和中型的RAID設(shè)備10具有圖3的RAID設(shè)備10的小型配置,而沒有后端路由器20-1和20-2以及前端路由器32-1至32-4,而其他的配置基本上與圖3實(shí)施例的配置相同。
圖5為按照本發(fā)明RAID設(shè)備的功能結(jié)構(gòu)框圖。在圖5中,RAID設(shè)備10的功能由CPU 24的程序控制來實(shí)現(xiàn),CPU24設(shè)置在控制模塊18中,并且如圖5的控制模塊18所示,包括資源處理單元34、高速緩存處理單元36、RAID控制單元38以及復(fù)制處理單元40。在高速緩存單元36中,設(shè)置有高速緩存控制單元42、高速緩存管理表44以及寫回處理單元54。圖3或圖4所示將要由高速緩存處理單元36處理的高速緩存器28,如圖1所示,以頁為單位來管理,其中,一頁包含66,560個(gè)字節(jié),包括128塊520字節(jié)的塊數(shù)據(jù),一個(gè)520字節(jié)的塊數(shù)據(jù)包含作為主機(jī)側(cè)一個(gè)訪問單元的512字節(jié)用戶數(shù)據(jù)以及8字節(jié)的BBC。高速緩存管理表44執(zhí)行高速緩存器中這種頁的每頁記錄管理。如圖所示,對應(yīng)于一頁的記錄包含邏輯單元數(shù)(LUN)46、邏輯塊地址(LBA)48、無效數(shù)據(jù)位圖50,以及當(dāng)前數(shù)據(jù)位圖52。無效數(shù)據(jù)位圖50包括128位數(shù)據(jù),其中,構(gòu)成一頁的128塊的每一塊對應(yīng)于一位;其中,對應(yīng)于已被來自主機(jī)的寫命令更新的塊的位被設(shè)為1,且除無效數(shù)據(jù)塊之外的每個(gè)塊由一個(gè)0位代表。與無效數(shù)據(jù)位圖一樣,當(dāng)前數(shù)據(jù)位圖52是代表以位構(gòu)成一頁的128塊的128位位圖,且代表包括無效數(shù)據(jù)的數(shù)據(jù)存在,其中,當(dāng)數(shù)據(jù)存在時(shí),該位是1,且當(dāng)沒有數(shù)據(jù)時(shí),該位是0。當(dāng)寫回處理單元54從高速緩存控制單元42接收將要對存儲(chǔ)設(shè)備22執(zhí)行的寫回命令時(shí),并且當(dāng)在作為目標(biāo)的頁中關(guān)于無效數(shù)據(jù)確定了任何不連續(xù)區(qū)域時(shí),則寫回處理單元從存儲(chǔ)設(shè)備22中讀出不連續(xù)區(qū)域,進(jìn)行合并以產(chǎn)生連續(xù)區(qū)域,并且執(zhí)行到存儲(chǔ)設(shè)備22的寫回。在寫回處理中,當(dāng)由于頁中無效數(shù)據(jù)的分布狀態(tài)需要通過三次或更多次命令發(fā)布來執(zhí)行寫回處理時(shí),不連續(xù)區(qū)域被從存儲(chǔ)設(shè)備中讀出并被合并,以產(chǎn)生連續(xù)區(qū)域,從而執(zhí)行寫回。具體地,當(dāng)頁中的無效數(shù)據(jù)可以由兩次寫命令發(fā)布而被寫回到該存儲(chǔ)設(shè)備22時(shí),則沒有修改地完成寫回處理;且只有當(dāng)不得不發(fā)布寫回命令三次或更多次時(shí),才從存儲(chǔ)設(shè)備22中讀出頁中無效數(shù)據(jù)的不連續(xù)區(qū)域,并且將其合并,由此使其成為該頁中連續(xù)的一個(gè)無效數(shù)據(jù)連續(xù)區(qū)域,以實(shí)現(xiàn)能夠總共由兩次命令發(fā)布完成寫回處理的處理,即,用于從存儲(chǔ)設(shè)備22讀出不連續(xù)數(shù)據(jù)的一次讀命令發(fā)布,以及通過對于無效數(shù)據(jù)的一次寫命令發(fā)布的寫回,無效數(shù)據(jù)已通過將數(shù)據(jù)與由讀命令讀出的不連續(xù)區(qū)域合并而成為連續(xù)區(qū)域。
圖6A、6B和6C包括在本發(fā)明的寫回處理中無效數(shù)據(jù)、當(dāng)前數(shù)據(jù)和寫回?cái)?shù)據(jù)位圖的示范性示意圖。圖6A是無效數(shù)據(jù)位圖50,并且在此實(shí)例中,位1代表128位數(shù)據(jù)(對應(yīng)于一頁的128塊)的位串中的無效數(shù)據(jù)。在此實(shí)例中,無效數(shù)據(jù)分布被劃分為三個(gè)區(qū)域,即,連續(xù)區(qū)域58-1,包括頁首側(cè)中的兩個(gè)塊,之后為位于它們之間的兩個(gè)塊;連續(xù)區(qū)域58-2,包括一個(gè)塊;以及在末端,連續(xù)區(qū)域58-3,包括多個(gè)連續(xù)塊;以及在它們之間具有位為0的不連續(xù)區(qū)域。由于必須為每個(gè)連續(xù)區(qū)域58-1、58-2和58-3發(fā)布寫命令以將它們寫回到存儲(chǔ)設(shè)備22,因此圖6A無效數(shù)據(jù)位圖50的無效數(shù)據(jù)要求三次命令發(fā)布。當(dāng)如上所述要發(fā)布三次或更多次命令時(shí),則應(yīng)用根據(jù)本發(fā)明的寫回處理。在本發(fā)明的寫回處理中,相對于圖6A的無效數(shù)據(jù)位圖50,確定不得不通過從存儲(chǔ)設(shè)備22讀出而與無效數(shù)據(jù)的連續(xù)區(qū)域合并的不連續(xù)區(qū)域。在這種情況下,包括連續(xù)區(qū)域58-2的區(qū)域被確定為不連續(xù)區(qū)域60,其中連續(xù)區(qū)域58-2介于頁首側(cè)中的連續(xù)區(qū)域58-1與頁尾側(cè)的連續(xù)區(qū)域58-3之間。隨后,參考圖6B的當(dāng)前數(shù)據(jù)位圖52,由此確定從無效數(shù)據(jù)位圖50已經(jīng)確定的不連續(xù)區(qū)域60中當(dāng)前數(shù)據(jù)的存在。在圖6B的當(dāng)前數(shù)據(jù)位圖52中,示出每個(gè)塊中包括無效數(shù)據(jù)的數(shù)據(jù)存在,其中連續(xù)區(qū)域58-1、58-2、58-3是無效數(shù)據(jù),且除此以外,在連續(xù)區(qū)域58-3首側(cè)之前,三塊當(dāng)前數(shù)據(jù)各以位1存在。不連續(xù)區(qū)域64被指定為讀取目標(biāo),其從圖6A中確定的不連續(xù)區(qū)域60除去三塊當(dāng)前數(shù)據(jù)區(qū)域62。隨后,相對于在圖6B中指定的不連續(xù)區(qū)域64,從存儲(chǔ)設(shè)備22中讀出數(shù)據(jù),且,如圖6C所示,除了無效數(shù)據(jù)的連續(xù)區(qū)域58-2之外的這些塊讀出數(shù)據(jù)被合并在不連續(xù)區(qū)域64中。然后,如圖6C的寫回位圖56所示,由一次寫命令發(fā)布在存儲(chǔ)設(shè)備上執(zhí)行寫回處理,其中,對應(yīng)于一頁的所有塊作為無效數(shù)據(jù)。結(jié)果,在圖6A、6B和6C的情況下,包括不連續(xù)區(qū)域的無效數(shù)據(jù)的寫回,能夠由兩次命令發(fā)布完成,即,用于從存儲(chǔ)設(shè)備讀出圖6B中產(chǎn)生的不連續(xù)區(qū)域64的讀命令發(fā)布,和用于寫回圖6C包括連續(xù)塊且對應(yīng)于一頁的無效數(shù)據(jù)的一次寫命令發(fā)布。
圖7A、7B和7C包括在本發(fā)明的寫回處理中在無效數(shù)據(jù)的不連續(xù)區(qū)域被當(dāng)前數(shù)據(jù)復(fù)原,且執(zhí)行正常寫回處理的情況下的示范性示意圖。盡管圖7A的無效數(shù)據(jù)位圖與圖6A的無效數(shù)據(jù)位圖50相同,但在圖7B的當(dāng)前數(shù)據(jù)位圖52中,在無效數(shù)據(jù)位圖50中的連續(xù)區(qū)域58-2與58-3之間的所有塊被當(dāng)前數(shù)據(jù)連續(xù)區(qū)域66復(fù)原。結(jié)果,如圖7C所示,在寫回位圖56中無效數(shù)據(jù)中的連續(xù)區(qū)域是兩個(gè),即連續(xù)區(qū)域58-1和58-4。在此情況下,兩次命令發(fā)布就足夠,即,用于將連續(xù)區(qū)域58-1寫回到存儲(chǔ)設(shè)備22的寫命令的發(fā)布,和用于將連續(xù)區(qū)域58-4寫回到存儲(chǔ)設(shè)備22的寫命令的發(fā)布。因此,并不需要根據(jù)本發(fā)明通過從存儲(chǔ)設(shè)備讀取所執(zhí)行的合并,且沒有任何修改的執(zhí)行與傳統(tǒng)步驟相同的寫回處理。
圖8A和8B包括從本發(fā)明的寫回處理中被排除的無效數(shù)據(jù)位圖的示范性示意圖。在圖8A的無效數(shù)據(jù)位圖50中,在頁首的連續(xù)區(qū)域58-1與在頁尾的連續(xù)區(qū)域58-2之間的區(qū)域是不連續(xù)區(qū)域60。同樣在此情況下,用于將每個(gè)連續(xù)區(qū)域58-1和連續(xù)區(qū)域58-2寫回的兩次寫命令發(fā)布就足夠,因此,不應(yīng)用本發(fā)明的寫回處理。在圖8B的無效數(shù)據(jù)位圖50的情況下,該頁的第一半是不連續(xù)區(qū)域60,而后一半是連續(xù)區(qū)域58。在此情況下,對于連續(xù)區(qū)域58,可由一次寫命令發(fā)布來執(zhí)行寫回,因此,不應(yīng)用本發(fā)明的寫回處理。
圖9A至圖9I包括正確顯示在高速緩存器的寫回處理中出現(xiàn)的頁中無效數(shù)據(jù)分布圖的示范性示意圖。圖9A、9B、9C和9D為應(yīng)用根據(jù)本發(fā)明的寫回處理的無效數(shù)據(jù)分布圖,而其他圖9E、9F、9G、9H、和9I是從本發(fā)明的寫回處理中排除的無效數(shù)據(jù)分布圖。圖9A是與圖6A相同的分布圖,其中,連續(xù)區(qū)域58-1位于頁首側(cè),連續(xù)區(qū)域58-3位于頁尾,連續(xù)區(qū)域58-2經(jīng)由不連續(xù)區(qū)域62-1和62-2位于連續(xù)區(qū)域58-1和連續(xù)區(qū)域58-2之間。在此情況下,將包括連續(xù)區(qū)域58-2,且從緊挨著首側(cè)連續(xù)區(qū)域58-1之后的位置到緊挨著尾側(cè)連續(xù)區(qū)域58-3之前的位置范圍的區(qū)域作為不連續(xù)區(qū)域60,從存儲(chǔ)設(shè)備讀取不連續(xù)區(qū)域60的數(shù)據(jù),以將排除連續(xù)區(qū)域58-2的區(qū)域合并到連續(xù)區(qū)域66-1和66-2,且由一條寫命令寫回一頁的全部。圖9B示出頁首是不連續(xù)區(qū)域66-1,且其后分布有連續(xù)區(qū)域58-1、不連續(xù)區(qū)域66-2、連續(xù)區(qū)域58-2、不連續(xù)區(qū)域66-3以及連續(xù)區(qū)域58-3的情況。在此情況下,對應(yīng)于由包括連續(xù)區(qū)域58-2的不連續(xù)區(qū)域60所代表的區(qū)域的數(shù)據(jù)被從存儲(chǔ)設(shè)備22中讀出,并在不連續(xù)區(qū)域66-2和66-3處被合并,由此,由一條寫命令將從連續(xù)區(qū)域58-1到頁尾的區(qū)域?qū)懟?。圖9C示出頁尾是不連續(xù)區(qū)域66-3且在頁前側(cè)交替存在連續(xù)區(qū)域58-1、58-2及58-3與不連續(xù)區(qū)域66-1及66-2的情況。同樣在此情況下,相對于包括連續(xù)區(qū)域58-2的不連續(xù)區(qū)域60,數(shù)據(jù)從存儲(chǔ)設(shè)備22被讀出,以合并不連續(xù)區(qū)域62-1和62-2,從而從連續(xù)區(qū)域58-1到連續(xù)區(qū)域58-3的區(qū)域的數(shù)據(jù)由一條寫命令寫回。
圖9D示出頁首和頁尾分別是不連續(xù)區(qū)域66-1和66-4,且在它們之間交替存在連續(xù)區(qū)域58-1、58-2、及58-3和不連續(xù)區(qū)域66-2及66-3的情況。在此情況下,包括連續(xù)區(qū)域58-2的不連續(xù)區(qū)域60從存儲(chǔ)設(shè)備22中被讀出,以合并不連續(xù)區(qū)域62-2和62-3,并且從連續(xù)區(qū)域58-1至連續(xù)區(qū)域58-3的這些塊的數(shù)據(jù)由一條寫命令被寫回。當(dāng)總結(jié)圖9A至9D應(yīng)用本發(fā)明寫回處理的無效數(shù)據(jù)分布圖,可以說,作為一頁中無效數(shù)據(jù)的分布,當(dāng)至少一個(gè)第三連續(xù)區(qū)域58-2經(jīng)由不連續(xù)區(qū)域66-2和66-3存在于最靠近頁首的第一連續(xù)區(qū)域58-1和最靠近頁尾的第二連續(xù)圖58-3之間時(shí),包括位于第一連續(xù)區(qū)域58-1和第二連續(xù)區(qū)域之間的第三連續(xù)區(qū)域58-2的不連續(xù)區(qū)域60被確定并從存儲(chǔ)設(shè)備22被讀出,通過合并讀出數(shù)據(jù)為區(qū)域66-2和66-3創(chuàng)建連續(xù)區(qū)域,區(qū)域66-2和66-3存在于不連續(xù)區(qū)域60中,且不同于第三連續(xù)區(qū)域58-2,并執(zhí)行寫回。圖9E示出該頁的整個(gè)區(qū)域是無效數(shù)據(jù)的情況,其中一條寫命令將足夠。因此,此情況排除在本發(fā)明的寫回處理之外。圖9F示出首側(cè)是連續(xù)區(qū)域58-1且末端側(cè)是不連續(xù)區(qū)域66-1的情況,其中能夠由一條寫命令執(zhí)行連續(xù)區(qū)域58-1的寫回。因此,此情況排除在本發(fā)明的寫回處理之外。圖9G示出了與圖8B相同的圖案,其中一次寫回連續(xù)區(qū)域58-1就足夠。因此,這種情況排除在本發(fā)明的寫回處理之外。圖9H示出不連續(xù)區(qū)域66-1和66-2存在于連續(xù)區(qū)域58-1的前面和后面的情況。同樣在此情況下,也能夠由一條寫命令將連續(xù)區(qū)域58-1寫回。因此,此情況排除在本發(fā)明的寫回處理之外。圖9I示出具有與圖8A相同分布圖案的情況,其中不連續(xù)區(qū)域66-1存在于連續(xù)區(qū)域58-1和58-2之間,其中,為了寫回各個(gè)連續(xù)區(qū)域58-1和58-2,兩次寫命令發(fā)布將足夠。因此,此情況排除在本發(fā)明的寫回處理之外。圖9A至9D采用這種情況作為實(shí)例,其中連續(xù)區(qū)域58-2經(jīng)由不連續(xù)區(qū)域66-1和66-2存在于首側(cè)連續(xù)區(qū)域58-1與末端側(cè)連續(xù)區(qū)域58-3之間。然而,即使經(jīng)由不連續(xù)區(qū)域于首側(cè)連續(xù)區(qū)域58-1與末端側(cè)連續(xù)區(qū)域58-3之間交替出現(xiàn)的連續(xù)區(qū)域的數(shù)目是多個(gè),仍以完全相同的方式應(yīng)用本發(fā)明的寫回處理。
圖10A和圖10B為根據(jù)本發(fā)明寫回處理的流程圖。在圖10A和圖10B中,在步驟S1中,寫回處理確定在將要被寫回的一頁無效數(shù)據(jù)位圖中無效數(shù)據(jù)的連續(xù)區(qū)域和不連續(xù)區(qū)域。隨后,在步驟S2中,檢驗(yàn)是否全部無效數(shù)據(jù)是連續(xù)數(shù)據(jù),并且如果其為連續(xù)數(shù)據(jù),則過程進(jìn)行到步驟S11,其中,沒有修改的執(zhí)行磁盤寫處理。當(dāng)在步驟S2中,該頁中的無效數(shù)據(jù)是不連續(xù)時(shí),過程進(jìn)行到步驟S3,其中,檢驗(yàn)寫回處理的命令發(fā)布次數(shù)是否是三次或更多次。當(dāng)少于三次時(shí),即當(dāng)是一次或兩次時(shí),則過程進(jìn)行到步驟S11,其中,沒有修改地執(zhí)行磁盤寫處理。當(dāng)命令發(fā)布的次數(shù)是三次或更多次時(shí),則過程進(jìn)行到步驟S4,其中,確定目標(biāo)數(shù)據(jù)的當(dāng)前數(shù)據(jù)位圖;且在步驟S5中,檢驗(yàn)是否通過當(dāng)前數(shù)據(jù)使全部不連續(xù)區(qū)域作為連續(xù)區(qū)域存在。如果全部不連續(xù)區(qū)域被復(fù)原為當(dāng)前數(shù)據(jù)的連續(xù)區(qū)域,則過程進(jìn)行到步驟S11,其中,沒有修改的執(zhí)行磁盤寫處理。當(dāng)沒有通過當(dāng)前數(shù)據(jù)使全部不連續(xù)區(qū)域成為連續(xù)區(qū)域時(shí),過程進(jìn)行到步驟S6,其中,檢驗(yàn)是否有當(dāng)前數(shù)據(jù)位于每個(gè)連續(xù)區(qū)域的一端或兩端之后。如果存在這種當(dāng)前數(shù)據(jù),則在步驟S7產(chǎn)生不連續(xù)區(qū)域,其排除了存在當(dāng)前數(shù)據(jù)的區(qū)域。當(dāng)不存在這種當(dāng)前數(shù)據(jù)時(shí),過程進(jìn)行到步驟S9。在步驟S8中,相對于最新產(chǎn)生的不連續(xù)區(qū)域,檢驗(yàn)寫回處理的命令發(fā)布次數(shù)是否是三次或更多次。如果少于三次時(shí),即一次或兩次時(shí),則在步驟S11中沒有修改地執(zhí)行磁盤寫處理。當(dāng)命令發(fā)布次數(shù)是三次或更多次時(shí),在步驟S9中從磁盤設(shè)備讀出不連續(xù)區(qū)域,并且在步驟S10中,讀出數(shù)據(jù)被合并到高速緩存數(shù)據(jù)。當(dāng)然,并不合并無效數(shù)據(jù)。然后,在步驟S11中,對已成為連續(xù)數(shù)據(jù)的無效數(shù)據(jù)執(zhí)行磁盤寫處理。
圖11A和圖11B為圖10A和10B的步驟S1中無效數(shù)據(jù)位圖的確定步驟的流程圖,其中,獲得確定結(jié)果,即是否存在將要通過從存儲(chǔ)設(shè)備中讀出數(shù)據(jù)來合并的不連續(xù)區(qū)域,或者沒有不連續(xù)數(shù)據(jù),從而可以無修改地執(zhí)行寫回。在圖11A和11B中,首先在步驟S1中,從無效數(shù)據(jù)位圖的首端對每個(gè)位開始進(jìn)行位檢索。隨后,在步驟S2中,檢驗(yàn)是否是末位。在步驟S3中,在到達(dá)末位之前,檢驗(yàn)是否存在從位1到位0的位變化。基于從位1到位0的變化,來檢測無效數(shù)據(jù)從連續(xù)區(qū)域到不連續(xù)區(qū)域的邊界。當(dāng)在步驟S3中檢測到從位1到位0的位變化時(shí),過程進(jìn)行到步驟S4,其中,記錄不連續(xù)區(qū)域的起始位置,并且過程進(jìn)行到步驟S5。當(dāng)?shù)竭_(dá)末尾而沒有檢測到步驟S3的位變化時(shí),在步驟S2中,過程進(jìn)行到步驟S13,其中,確定沒有不連續(xù)區(qū)域。在步驟S5的位檢索之后,在步驟S6對到達(dá)末位進(jìn)行檢驗(yàn)。然后,在步驟S7,檢驗(yàn)位變化是否從位1變到位0?;谖粡?變到1的狀態(tài),來檢測無效數(shù)據(jù)從不連續(xù)區(qū)域到連續(xù)區(qū)域的邊界。在步驟S7中,當(dāng)位從位0變到位1時(shí),過程進(jìn)行到步驟S8,其中不連續(xù)區(qū)域末端位置被記錄或更新。更具體地,當(dāng)檢測到第一不連續(xù)區(qū)域位置時(shí),則將其記錄,而在第二次或更多次中,此前已被記錄的不連續(xù)區(qū)域末端位置被更新為新檢測到的末端位置。隨后,在步驟S9中,計(jì)數(shù)器A加一。計(jì)數(shù)器A的初始值表示為A=0。計(jì)數(shù)器A對連續(xù)區(qū)域之間存在的不連續(xù)區(qū)域的個(gè)數(shù)進(jìn)行計(jì)數(shù)。隨后,在步驟S10中,再次啟動(dòng)位檢索;在步驟S11中,檢驗(yàn)是否是末位;以及在步驟S12中,檢測從位0到位1的位變化,其是第二次或更多次的位變化,即從不連續(xù)區(qū)域到連續(xù)區(qū)域的邊界位置。當(dāng)在步驟S12中再次檢測到從位0到位1的變化,則過程返回到步驟S8,其中,不連續(xù)區(qū)域末端位置被從先前記錄位置更新為新檢測到的記錄位置。然后,在步驟S9中,計(jì)數(shù)器A加一,且在步驟S10中,再次啟動(dòng)位檢索。當(dāng)在步驟S10到S12的位檢索期間,在步驟S11中確定到達(dá)末位時(shí),過程進(jìn)行到步驟S14,其中,檢驗(yàn)對不連續(xù)區(qū)域進(jìn)行計(jì)數(shù)的計(jì)數(shù)器A的值是否是二或更大。當(dāng)是二或更大時(shí),則過程進(jìn)行到步驟S15,其中,確定不連續(xù)區(qū)域,該不連續(xù)區(qū)域具有從在步驟S4中檢測到的不連續(xù)區(qū)域起始位置到在步驟S8中更新的不連續(xù)區(qū)域末端位置范圍的分布,并且過程返回到圖10A和圖10B的主程序。當(dāng)在步驟S14中計(jì)數(shù)器A的次數(shù)少于二時(shí),在步驟S16中,確定沒有不連續(xù)區(qū)域,并且過程返回到步驟S9。當(dāng)過程返回到步驟S9時(shí),相對于“沒有不連續(xù)數(shù)據(jù)”,在步驟S2中確定整個(gè)數(shù)據(jù)是連續(xù)數(shù)據(jù),可替換地,在用于確定寫回處理的命令發(fā)布次數(shù)是否是三次或更多次的步驟S3中,確定次數(shù)少于三;并且跳過根據(jù)本發(fā)明的寫回處理,以及在步驟S11中,沒有修改地執(zhí)行與傳統(tǒng)步驟相同的磁盤寫步驟。
這里,例如,根據(jù)圖9A的無效數(shù)據(jù)分布圖,詳細(xì)描述圖11A和11B的位圖確定步驟如下。首先,通過步驟S1到S3的過程,在步驟S3中檢測從頁首側(cè)的連續(xù)區(qū)域58-1到隨后的不連續(xù)區(qū)域66-1的邊界處從位1到位0的變化,并在步驟S4中記錄不連續(xù)區(qū)域60的起始位置。隨后在步驟S5中,對不連續(xù)區(qū)域66-1進(jìn)行位檢索,并且在步驟S6之后,在步驟S7中,檢測從位0到位1的變化,即從不連續(xù)區(qū)域66-1的末端到連續(xù)區(qū)域58-2的首端的變化。在步驟S8中,將不連續(xù)區(qū)域66-1的最后一位記錄為不連續(xù)區(qū)域末端位置。隨后,在步驟S9中,計(jì)數(shù)器A加一,從而A=1,由此對不連續(xù)區(qū)域66-1進(jìn)行計(jì)數(shù)。然后,在步驟S10中,啟動(dòng)連續(xù)區(qū)域58-2的位檢索。在該位檢索中,由于在步驟A12中沒有出現(xiàn)從位0到位1的變化,過程直接繼續(xù)到不連續(xù)區(qū)域66-2的位檢索。在不連續(xù)區(qū)域66-2的最后一位和隨后的連續(xù)區(qū)域58-3的首位的位檢索中,檢測步驟S12的位變化,即從位0到位1的位變化。在步驟S8中,先前記錄位置被不連續(xù)區(qū)域66-2的最后一位更新,其作為不連續(xù)區(qū)域末端位置。在步驟S9中,計(jì)數(shù)器A加一,從而A=2,由此對不連續(xù)區(qū)域進(jìn)行計(jì)數(shù)。隨后,當(dāng)在步驟S10中重復(fù)在連續(xù)區(qū)域58-3中的位檢索時(shí),在第128位的位檢索中,在步驟S11確定末位,并且過程進(jìn)行到步驟S14。當(dāng)計(jì)數(shù)器A被檢驗(yàn)時(shí),其中A=2,因此過程進(jìn)行到步驟S15,其中可以確定具有步驟S4的起始位置和步驟S8的末端位置的不連續(xù)區(qū)域60。當(dāng)然,對將要被本發(fā)明處理的無效數(shù)據(jù)分布圖的確定,不一定必須依賴圖11A和圖11B的位圖確定步驟,并且可以應(yīng)用用于圖案確定的任何方法。
同時(shí),本發(fā)明提供由RAID設(shè)備的CPU執(zhí)行的程序,且該程序可以由按照圖10A和圖10B的流程和圖11A和圖11B的流程的步驟來進(jìn)行。
本發(fā)明包括不違背本發(fā)明的目的和優(yōu)點(diǎn)的任意改型,且本發(fā)明不受在上述實(shí)施例中描述的數(shù)值的限制。
權(quán)利要求
1.一種存儲(chǔ)系統(tǒng),包括高速緩存控制單元,用于以頁為數(shù)據(jù)單位管理高速緩存器中的數(shù)據(jù),一頁數(shù)據(jù)包括多個(gè)塊數(shù)據(jù),每個(gè)塊數(shù)據(jù)作為上層系統(tǒng)的一個(gè)訪問單元,并且該高速緩存控制單元處理該上層系統(tǒng)關(guān)于存儲(chǔ)設(shè)備的輸入或輸出請求;以及寫回處理單元,在該高速緩存器中已被該上層系統(tǒng)更新并比該存儲(chǔ)設(shè)備中所存儲(chǔ)的數(shù)據(jù)更加新的無效數(shù)據(jù)將要被寫回至該存儲(chǔ)設(shè)備的情況下,并且當(dāng)在一頁無效數(shù)據(jù)中確定不連續(xù)區(qū)域時(shí),該寫回處理單元從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
2.如權(quán)利要求1所述的系統(tǒng),其中,當(dāng)通過三次或更多次命令發(fā)布來執(zhí)行寫回處理時(shí),該寫回處理單元從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
3.如權(quán)利要求1所述的系統(tǒng),其中,作為無效數(shù)據(jù)在一頁中的分布,當(dāng)至少一個(gè)第三連續(xù)區(qū)域經(jīng)由不連續(xù)區(qū)域出現(xiàn)在最靠近頁首的第一連續(xù)區(qū)域和最靠近頁尾的第二連續(xù)區(qū)域之間時(shí),該寫回處理單元確定包括位于該第一連續(xù)區(qū)域與該第二連續(xù)區(qū)域之間的第三連續(xù)區(qū)域的不連續(xù)區(qū)域,將其從該存儲(chǔ)設(shè)備讀出,通過對位于該不連續(xù)區(qū)域中且不同于該第三連續(xù)區(qū)域的區(qū)域的讀出數(shù)據(jù)進(jìn)行合并,來產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
4.如權(quán)利要求3所述的系統(tǒng),其中,該高速緩存控制單元包括無效數(shù)據(jù)位圖,用于通過對應(yīng)每個(gè)塊的位來管理在該頁中出現(xiàn)的無效數(shù)據(jù),以及當(dāng)前數(shù)據(jù)位圖,用于通過對應(yīng)每個(gè)塊的位來管理在該頁中出現(xiàn)的數(shù)據(jù);其中,該寫回處理單元參考該無效數(shù)據(jù)位圖,并確定無效數(shù)據(jù)在該頁中的不連續(xù)區(qū)域,并且在當(dāng)前數(shù)據(jù)位圖中關(guān)于該不連續(xù)區(qū)域的一端或兩端確定連續(xù)當(dāng)前數(shù)據(jù)時(shí),則從該存儲(chǔ)設(shè)備對剩余的不連續(xù)區(qū)域進(jìn)行讀取,并將其合并。
5.如權(quán)利要求1所述的系統(tǒng),其中,該存儲(chǔ)設(shè)備的條數(shù)據(jù)尺寸與該高速緩存器的頁尺寸相同。
6.一種存儲(chǔ)系統(tǒng)的控制方法,包括高速緩存控制步驟,以頁為數(shù)據(jù)單位管理高速緩存器中的數(shù)據(jù),一頁數(shù)據(jù)包括多個(gè)塊數(shù)據(jù),每個(gè)塊數(shù)據(jù)作為上層系統(tǒng)的一個(gè)訪問單元,并且處理該上層系統(tǒng)關(guān)于存儲(chǔ)設(shè)備的輸入或輸出請求;以及寫回處理步驟,在該高速緩存器中已被該上層系統(tǒng)更新并比該存儲(chǔ)設(shè)備中所存儲(chǔ)的數(shù)據(jù)更加新的無效數(shù)據(jù)將要被寫回至該存儲(chǔ)設(shè)備的情況下,并且當(dāng)在一頁無效數(shù)據(jù)中確定不連續(xù)區(qū)域時(shí),從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生頁連續(xù)數(shù)據(jù),并以頁為單位執(zhí)行寫回。
7.如權(quán)利要求6所述的方法,其中,當(dāng)通過三次或更多次命令發(fā)布來執(zhí)行寫回處理時(shí),在該寫回處理步驟中,從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生頁連續(xù)數(shù)據(jù),并以頁為單位執(zhí)行寫回。
8.如權(quán)利要求6所述的方法,其中,作為無效數(shù)據(jù)在一頁中的分布,當(dāng)至少一個(gè)第三連續(xù)區(qū)域經(jīng)由不連續(xù)區(qū)域出現(xiàn)在最靠近頁首的第一連續(xù)區(qū)域和最靠近頁尾的第二連續(xù)區(qū)域之間時(shí),在該寫回處理步驟中,確定包括位于該第一連續(xù)區(qū)域與該第二連續(xù)區(qū)域之間的第三連續(xù)區(qū)域的不連續(xù)區(qū)域并將其從該存儲(chǔ)設(shè)備讀出,通過對位于該不連續(xù)區(qū)域中且不同于該第三連續(xù)區(qū)域的區(qū)域的讀出數(shù)據(jù)進(jìn)行合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
9.如權(quán)利要求8所述的方法,其中,在該高速緩存控制步驟中,產(chǎn)生該無效數(shù)據(jù)位圖,用于通過對應(yīng)每個(gè)塊的位來管理該頁中出現(xiàn)的無效數(shù)據(jù),以及當(dāng)前數(shù)據(jù)位圖,用于通過對應(yīng)每個(gè)塊的位來管理在該頁中出現(xiàn)的數(shù)據(jù);其中,在該寫回處理步驟中,參考該無效數(shù)據(jù)位圖,并確定無效數(shù)據(jù)在該頁中的不連續(xù)區(qū)域,且在當(dāng)前數(shù)據(jù)位圖中關(guān)于該不連續(xù)區(qū)域的一端或兩端確定連續(xù)當(dāng)前數(shù)據(jù)時(shí),從該存儲(chǔ)設(shè)備讀取剩余的不連續(xù)區(qū)域,并將其合并。
10.如權(quán)利要求6所述的方法,其中,該存儲(chǔ)設(shè)備的條數(shù)據(jù)尺寸與該高速緩存器的頁尺寸相同。
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)使存儲(chǔ)系統(tǒng)的計(jì)算機(jī)執(zhí)行以下操作的程序高速緩存控制步驟,以頁為數(shù)據(jù)單位管理高速緩存器中的數(shù)據(jù),一頁數(shù)據(jù)包括多個(gè)塊數(shù)據(jù),每個(gè)塊數(shù)據(jù)作為上層系統(tǒng)的一個(gè)訪問單元,并且處理該上層系統(tǒng)關(guān)于存儲(chǔ)設(shè)備的輸入或輸出請求;以及寫回處理步驟,在該高速緩存器中已被該上層系統(tǒng)更新并比該存儲(chǔ)設(shè)備中所存儲(chǔ)的數(shù)據(jù)更加新的無效數(shù)據(jù)將要被寫回至該存儲(chǔ)設(shè)備的情況下,并且當(dāng)在一頁無效數(shù)據(jù)中確定不連續(xù)區(qū)域時(shí),從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生頁連續(xù)數(shù)據(jù),并以頁為單位執(zhí)行寫回。
12.如權(quán)利要求11所述的存儲(chǔ)介質(zhì),其中,當(dāng)通過三次或更多次命令發(fā)布來執(zhí)行寫回處理時(shí),在該寫回處理步驟中,從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生頁連續(xù)數(shù)據(jù),并以頁為單位執(zhí)行寫回。
13.如權(quán)利要求11所述的存儲(chǔ)介質(zhì),其中,作為無效數(shù)據(jù)在一頁中的分布,當(dāng)至少一個(gè)第三連續(xù)區(qū)域經(jīng)由不連續(xù)區(qū)域出現(xiàn)在最靠近頁首的第一連續(xù)區(qū)域和最靠近頁尾的第二連續(xù)區(qū)域之間時(shí),在該寫回處理步驟中,確定包括位于該第一連續(xù)區(qū)域與該第二連續(xù)區(qū)域之間的第三連續(xù)區(qū)域的不連續(xù)區(qū)域并將其從該存儲(chǔ)設(shè)備讀出,通過對位于該不連續(xù)區(qū)域中且不同于該第三連續(xù)區(qū)域的區(qū)域的讀出數(shù)據(jù)進(jìn)行合并,以產(chǎn)生連續(xù)區(qū)域,并執(zhí)行寫回。
14.如權(quán)利要求11所述的存儲(chǔ)介質(zhì),其中,在該高速緩存控制步驟中,產(chǎn)生該無效數(shù)據(jù)位圖,用于通過對應(yīng)每個(gè)塊的位來管理該頁中出現(xiàn)的無效數(shù)據(jù),以及當(dāng)前數(shù)據(jù)位圖,用于通過對應(yīng)每個(gè)塊的位來管理在該頁中出現(xiàn)的數(shù)據(jù);其中,在該寫回處理步驟中,參考該無效數(shù)據(jù)位圖,并確定在該頁中無效數(shù)據(jù)的不連續(xù)區(qū)域,且在當(dāng)前數(shù)據(jù)位圖中關(guān)于該不連續(xù)區(qū)域的一端或兩端確定連續(xù)當(dāng)前數(shù)據(jù)時(shí),從該存儲(chǔ)設(shè)備讀取剩余的不連續(xù)區(qū)域,并將其合并。
15.如權(quán)利要求11所述的存儲(chǔ)介質(zhì),其中,該存儲(chǔ)設(shè)備的條數(shù)據(jù)尺寸與該高速緩存器的頁尺寸相同。
全文摘要
一種存儲(chǔ)系統(tǒng),其中高速緩存處理單元以頁為單位管理高速緩存器中的數(shù)據(jù),一頁數(shù)據(jù)包括多個(gè)塊數(shù)據(jù),每個(gè)塊數(shù)據(jù)用作主機(jī)的一個(gè)訪問單元,且處理從主機(jī)到存儲(chǔ)設(shè)備的輸入和輸出請求。在該高速緩存器中被主機(jī)更新并比該存儲(chǔ)設(shè)備中所存儲(chǔ)的數(shù)據(jù)更新的無效數(shù)據(jù)將要被寫回至該存儲(chǔ)設(shè)備的情況下,并且當(dāng)在一頁無效數(shù)據(jù)中確定不連續(xù)區(qū)域時(shí),當(dāng)發(fā)出讀命令時(shí)該寫回處理單元從該存儲(chǔ)設(shè)備讀出不連續(xù)區(qū)域并將其合并,以產(chǎn)生連續(xù)區(qū)域,并通過一次寫命令發(fā)布來執(zhí)行寫回。
文檔編號(hào)G06F12/08GK1783034SQ20051006523
公開日2006年6月7日 申請日期2005年4月14日 優(yōu)先權(quán)日2004年12月2日
發(fā)明者伊藤實(shí)希夫, 小林明人 申請人:富士通株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
车险| 阜宁县| 石家庄市| 凌云县| 罗平县| 锡林郭勒盟| 韶山市| 兴业县| 邹平县| 陵川县| 屯昌县| 阿荣旗| 璧山县| 长寿区| 筠连县| 大石桥市| 长治县| 满洲里市| 循化| 和硕县| 龙南县| 高安市| 辽中县| 霍城县| 湖州市| 宜兰市| 通州市| 临猗县| 根河市| 左权县| 多伦县| 剑河县| 县级市| 永平县| 揭阳市| 建德市| 阳朔县| 荆州市| 雷州市| 龙州县| 兴城市|