專利名稱:用于管理媒體存儲(chǔ)裝置的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及諸如存儲(chǔ)區(qū)域網(wǎng)絡(luò)等的存儲(chǔ)裝置的管理,所述存儲(chǔ)裝置用 于存儲(chǔ)諸如視聽(tīng)節(jié)目的媒體。
背景技術(shù):
傳統(tǒng)上,光纖通道存儲(chǔ)區(qū)域網(wǎng)絡(luò)——有時(shí)被稱為光纖通道SAN——用 于存儲(chǔ)電視節(jié)目和電影形式的視聽(tīng)節(jié)目。這樣的視聽(tīng)節(jié)目通常包括視頻、 音頻、輔助數(shù)據(jù)和時(shí)間代碼信息。這樣的光纖通道SAN的專業(yè)用戶一一 諸如電視機(jī)廣播商——一般依賴于這種存儲(chǔ),因?yàn)槠渚哂泻芨叩男阅芎洼^ 低的等待時(shí)間。事實(shí)上,當(dāng)今的光纖通道SAN提供在幾秒或者更少的量 級(jí)上的故障恢復(fù)時(shí)間。不幸的是,當(dāng)今的光纖通道SAN的高性能和低等 待時(shí)間在它們的購(gòu)買價(jià)格和操作復(fù)雜性方面具有較高的成本。最近的基于因特網(wǎng)協(xié)議的SAN——諸如使用因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接 口 (iSCSI)標(biāo)準(zhǔn)的那些——已經(jīng)作為光纖通道SAN的替代者而出現(xiàn)。與 光纖通道SAN相比較,基于iSCSI的SAN提供了低得多的成本,因?yàn)榛?于iSCSI的SAN使用較低成本的硬件。但是,基于iSCSI的SAN引發(fā)了 高等待時(shí)間的缺點(diǎn)。與故障恢復(fù)時(shí)間為幾秒或者更少的大多數(shù)光纖通道 SAN相比較,當(dāng)今的基于iSCSI的SAN的故障恢復(fù)時(shí)間為30秒或者更 多。這樣的長(zhǎng)恢復(fù)時(shí)間阻礙了基于iSCSI的SAN用于專業(yè)用途。當(dāng)今的基于iSCSI的SAN還具有不能提供關(guān)于它們記錄數(shù)據(jù)的可靠性 的任何保證的缺點(diǎn)。諸如電視廣播商的專業(yè)用戶需要被記錄到存儲(chǔ)裝置上的媒體已經(jīng)真實(shí)地被存儲(chǔ)的保證,而不必在向存儲(chǔ)介質(zhì)記錄媒體后查看每 個(gè)資產(chǎn)。事實(shí)上,這樣的專業(yè)用戶更喜歡關(guān)于被記錄的媒體的完整性的保 證,盡管存在引起對(duì)于在媒體服務(wù)器和存儲(chǔ)介質(zhì)之間的數(shù)據(jù)流的明顯破壞 的任何系統(tǒng)故障。因此,需要一種克服了現(xiàn)有技術(shù)的上述缺點(diǎn)的存儲(chǔ)技術(shù)。發(fā)明內(nèi)容簡(jiǎn)而言之,按照本發(fā)明的一個(gè)優(yōu)選實(shí)施例,通過(guò)了一種用于提高在多 個(gè)存儲(chǔ)裝置之間的效率的方法。所述方法通過(guò)首先評(píng)估寫入至少一個(gè)媒體 塊以進(jìn)行存儲(chǔ)的寫入請(qǐng)求而開(kāi)始,以確定(i)存儲(chǔ)裝置的當(dāng)前存儲(chǔ)狀態(tài);(ii)存儲(chǔ)裝置的存儲(chǔ)能力;以及(iii)進(jìn)行存儲(chǔ)的媒體塊的至少一個(gè) 特性。按照對(duì)所述寫入請(qǐng)求的評(píng)估而選擇多個(gè)存儲(chǔ)裝置之一。其后,媒體 塊被寫入到所選擇的存儲(chǔ)裝置。
圖1描述了用于提高在存儲(chǔ)系統(tǒng)內(nèi)的效率的、按照本發(fā)明的一個(gè)說(shuō)明 性實(shí)施例的控制器的示意方框圖;圖2描述了由圖1的控制器控制的類型的一對(duì)存儲(chǔ)器;圖3描述了圖示與由圖1的控制器控制的一對(duì)存儲(chǔ)器的穩(wěn)態(tài)操作相關(guān) 聯(lián)的狀態(tài)的狀態(tài)圖;以及圖4描述了圖示與慢存儲(chǔ)裝置操作相關(guān)聯(lián)的狀態(tài)的狀態(tài)圖。
具體實(shí)施方式
如以下更詳細(xì)地所述,通過(guò)根據(jù)存儲(chǔ)裝置的容量和使用效率以及進(jìn)行 存儲(chǔ)的數(shù)據(jù)的特性來(lái)最大化存儲(chǔ)裝置上的存儲(chǔ),可以提高諸如存儲(chǔ)區(qū)域網(wǎng) 絡(luò)(SAN)中的一組存儲(chǔ)裝置的存儲(chǔ)系統(tǒng)內(nèi)的效率。圖I描述了控制器IO,以下將被稱為媒體路徑監(jiān)督器,用于控制媒體 塊的存儲(chǔ)。在圖1的說(shuō)明性實(shí)施例中,通過(guò)在盤14中存儲(chǔ)之前有效地管 理在多個(gè)高速緩沖存儲(chǔ)器中的媒體塊的暫時(shí)存儲(chǔ),媒體路徑觀察器10控制媒體塊的存儲(chǔ),所述高速緩沖存儲(chǔ)器被說(shuō)明性地描述為高速緩沖存儲(chǔ)器12,和122,所述盤14經(jīng)由因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口 (iSCSI)協(xié)議結(jié)構(gòu) 16而耦接到高速緩沖存儲(chǔ)器122。雖然圖1作為示例描述了兩個(gè)高速緩沖 存儲(chǔ)器和122,但是媒體路徑監(jiān)督器IO可以容易地控制大量的高速緩 沖存儲(chǔ)器,這可以從以下的討論變得清楚。諸如高速緩沖存儲(chǔ)器12的典型高速緩沖存儲(chǔ)器包括處理器18,諸如 控制存儲(chǔ)艙20的微處理器或者微計(jì)算機(jī),所述存儲(chǔ)艙20暫時(shí)存儲(chǔ)媒體 塊。所述高速緩沖存儲(chǔ)器存儲(chǔ)從一個(gè)或多個(gè)媒體裝置接收的一個(gè)或多個(gè)媒 體塊,所述媒體裝置被說(shuō)明性地表示為媒體裝置22。典型的媒體裝置可以 產(chǎn)生或者再現(xiàn)一個(gè)或多個(gè)視頻流、 一個(gè)或多個(gè)相關(guān)聯(lián)的音頻流、輔助數(shù)據(jù) 和時(shí)間代碼信息。圖2描述了一個(gè)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器12》的存儲(chǔ) 艙20與另一個(gè)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器122)的存儲(chǔ)艙的虛 擬鏈接。在較大數(shù)量的存儲(chǔ)器的情況下,在高速緩沖存儲(chǔ)器的存儲(chǔ)艙20 之間存在虛擬連接。如圖2中所示,在給定的高速緩沖存儲(chǔ)器內(nèi)的存儲(chǔ)艙 20具有基于媒體塊的類型和媒體軌道(例如不同數(shù)量的視頻和音頻流以及 伴隨的輔助數(shù)據(jù)和時(shí)間代碼信息)的數(shù)量的多個(gè)獨(dú)立的高速緩沖存儲(chǔ)器。 為了討論,在媒體塊內(nèi)的媒體軌道包括(a)視頻流,(b) —個(gè)或多個(gè) 相關(guān)聯(lián)的音頻流,(c)相關(guān)聯(lián)的輔助數(shù)據(jù)段,和(d)與給定的視頻流相 關(guān)聯(lián)的時(shí)間代碼信息。在圖2的所圖示的實(shí)施例中,進(jìn)行存儲(chǔ)的媒體塊通常具有四個(gè)軌道。 為了容納由四個(gè)軌道構(gòu)成的這樣的媒體塊,在諸如高速緩沖存儲(chǔ)器12J勺 高速緩沖存儲(chǔ)器內(nèi)的存儲(chǔ)艙20具有高速緩沖存儲(chǔ)器24r244,分別用于存 儲(chǔ)四個(gè)視頻流。通常,給定的視頻流具有以不同語(yǔ)言的8個(gè)相關(guān)聯(lián)的音頻 流。因此,所述四個(gè)視頻流總共具有32個(gè)相關(guān)聯(lián)的音頻流,其被分別存 儲(chǔ)在存儲(chǔ)艙20的高速緩沖存儲(chǔ)器26r2632rt。與四個(gè)視頻流的對(duì)應(yīng)的一個(gè) 相關(guān)聯(lián)的輔助數(shù)據(jù)分別存儲(chǔ)在存儲(chǔ)艙20內(nèi)的高速緩沖存儲(chǔ)器28r284的對(duì) 應(yīng)的一個(gè)中。最后,與四個(gè)視頻流的對(duì)應(yīng)的一個(gè)相關(guān)聯(lián)的時(shí)間代碼信息存 儲(chǔ)在存儲(chǔ)艙20內(nèi)的28r284的獨(dú)立的一個(gè)中。為了存儲(chǔ)具有或多或少的數(shù)量的軌道的媒體塊,給定的存儲(chǔ)艙20相應(yīng)地需要或多或少的數(shù)量的高速 緩沖存儲(chǔ)器。諸如圖1的存儲(chǔ)系統(tǒng)的典型存儲(chǔ)系統(tǒng)具有多個(gè)可用的高速緩沖存儲(chǔ) 器。通常,經(jīng)常被稱為最高級(jí)高速緩沖存儲(chǔ)器的高速緩沖存儲(chǔ)器之一將擁有比那個(gè)客戶端的其他高速緩沖存儲(chǔ)器更大的耦接到iSCSI構(gòu)造的帶寬。 在圖1的圖示的實(shí)施例中,高速緩沖存儲(chǔ)器122擁有耦接到iSCSI構(gòu)造16 的最大帶寬,用于向盤14傳送媒體塊。因此,向最高級(jí)的高速緩沖存儲(chǔ) 器(即高速緩沖存儲(chǔ)器122)寫入媒體塊以隨后向盤14寫入比從其他的 (低級(jí)的)高速緩沖存儲(chǔ)器直接地向盤寫入塊具有更大的效率。例如,當(dāng) 前駐留在另一個(gè)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器12。的存儲(chǔ)艙20 內(nèi)的媒體塊將被傳送到高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20以寫入到盤14, 而不是被從高速緩沖存儲(chǔ)器12i寫入到所述盤。以下述的方式來(lái)從媒體裝置22向盤14寫入媒體塊。最初,媒體裝置 之一 (例如媒體裝置22)發(fā)出向盤14寫入媒體塊的寫入請(qǐng)求。媒體路徑 監(jiān)督器10接收所述寫入請(qǐng)求,并且作為響應(yīng),將所述請(qǐng)求以非阻擋的方 式置于一組獨(dú)立的隊(duì)列之一中。對(duì)于從特定隊(duì)列提取的給定寫入請(qǐng)求,媒 體路徑監(jiān)督器10將根據(jù)下述內(nèi)容來(lái)評(píng)估所述請(qǐng)求(i)存儲(chǔ)器的當(dāng)前存 儲(chǔ)狀態(tài);(ii)存儲(chǔ)器的存儲(chǔ)能力;以及(m)進(jìn)行存儲(chǔ)的媒體塊的至少一 個(gè)特性。關(guān)于存儲(chǔ)器的當(dāng)前狀態(tài),媒體路徑監(jiān)督器考慮高速緩沖存儲(chǔ)器的當(dāng)前 存儲(chǔ)容量。換句話說(shuō),媒體路徑監(jiān)督器10確定每個(gè)高速緩沖存儲(chǔ)器的程 度。具體上,媒體路徑監(jiān)督器10確定高速緩沖存儲(chǔ)器的填充狀態(tài)。具體 上,媒體路徑監(jiān)督器確定最高級(jí)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器 122)的填充狀態(tài)和那個(gè)高速緩沖存儲(chǔ)器向盤14排出媒體塊的速率。對(duì)于 存儲(chǔ)器的存儲(chǔ)能力,媒體路徑監(jiān)督器考慮在存儲(chǔ)艙20中的獨(dú)立高速緩沖 存儲(chǔ)器的數(shù)量。媒體路徑監(jiān)督器10也評(píng)估在寫入請(qǐng)求中包含的每個(gè)媒體 塊的特性以及軌道的具體類型和數(shù)量,以確定哪些高速緩沖存儲(chǔ)器能夠存 儲(chǔ)這樣的塊。 '媒體路徑監(jiān)督器10通常從各種媒體裝置通過(guò)它們各自的驅(qū)動(dòng)器而接收寫入請(qǐng)求。為了評(píng)估各種寫入請(qǐng)求,媒體路徑監(jiān)督器10可以有效地管 理在各種高速緩沖存儲(chǔ)器之間的媒體塊的暫時(shí)存儲(chǔ)。另外,媒體路徑監(jiān)督 器考慮媒體塊在被寫入到盤14之前從低級(jí)高速緩沖存儲(chǔ)器(例如高速緩
沖存儲(chǔ)器12。傳送到最高級(jí)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器122)
的事實(shí)。因此,最高級(jí)高速緩沖存儲(chǔ)器的可用容量確定了低級(jí)高速緩沖存 儲(chǔ)器傳送數(shù)據(jù)以寫入到盤的能力。
媒體路徑監(jiān)督器10執(zhí)行"寫入助手"任務(wù)以便以循環(huán)的方式與各種 隊(duì)列相關(guān)聯(lián)地提取寫入請(qǐng)求。對(duì)于向盤14寫入首先被暫時(shí)存儲(chǔ)在高速緩 沖存儲(chǔ)器12i中的媒體塊的請(qǐng)求,假定容量存在的情況下,媒體路徑監(jiān)督 器IO布置向最高級(jí)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器122)的存儲(chǔ)艙 20的直接存儲(chǔ)地址(DMA)傳送。在完成向高速緩沖存儲(chǔ)器122的存儲(chǔ)艙 20的傳送后,媒體路徑監(jiān)督器10提醒向盤14發(fā)送寫入的塊的媒體裝置 22,即使還沒(méi)有發(fā)生實(shí)際的寫入。知道已經(jīng)從低級(jí)高速緩沖存儲(chǔ)器的存儲(chǔ) 艙20向最高級(jí)高速緩沖存儲(chǔ)器的存儲(chǔ)艙20的DMS傳送允許向低級(jí)高速 緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器12。寫入媒體塊。
最高級(jí)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器122)的存儲(chǔ)艙20現(xiàn)在 被寫入一個(gè)或多個(gè)媒體塊,然后進(jìn)行到向盤14寫入塊的操作。如下更詳 細(xì)所述,以不超過(guò)在媒體塊中封裝的實(shí)時(shí)視頻流的速率的兩倍的速率來(lái)進(jìn) 行從最高級(jí)高速緩沖存儲(chǔ)器向盤14的媒體塊寫入。測(cè)量最高級(jí)高速緩沖 存儲(chǔ)器向盤14寫入的速率將減少在多個(gè)客戶端同時(shí)沖擊它們的最高級(jí)高 速緩沖存儲(chǔ)器以寫入到盤14的時(shí)間期間的浪涌(surge)的可能性。換句 話說(shuō),測(cè)量向盤14的寫入的速率抑制了浪涌,以便其他的媒體服務(wù)器 (未示出)可以無(wú)破壞地使用iSCSI構(gòu)造16。在寫入到盤14后,媒體塊 然后被從最高級(jí)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器122)的存儲(chǔ)艙20 中清除。
圖3描述了狀態(tài)存儲(chǔ)圖,其示出了與從低級(jí)高速緩沖存儲(chǔ)器(例如高 速緩沖存儲(chǔ)器12。向最高級(jí)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器122) 的正常傳送相關(guān)聯(lián)的四個(gè)狀態(tài)中的各個(gè)狀態(tài)。在開(kāi)始,如在圖3中的狀態(tài) 1所示,高速緩沖存儲(chǔ)器12i和122的存儲(chǔ)艙20保持為空。在下一個(gè)階段(狀態(tài)2)期間,高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20被寫入媒體塊。其后,
如狀態(tài)3所示,在高速緩沖存儲(chǔ)器12i的存儲(chǔ)艙中的媒體塊經(jīng)由DMA傳 送被傳送到高速緩沖存儲(chǔ)器122 (例如最高級(jí)存儲(chǔ)體)的存儲(chǔ)艙20。最 后,如狀態(tài)4中所示,媒體塊被寫入到圖1的盤14,并且最高級(jí)高速緩沖 存儲(chǔ)器的存儲(chǔ)艙20被清除。
如上所述,測(cè)量來(lái)自最高級(jí)高速緩沖存儲(chǔ)器(例如圖1的高速緩沖存 儲(chǔ)器122)的存儲(chǔ)艙20的媒體塊的寫入,以便以不超過(guò)在媒體塊中封裝的 實(shí)時(shí)視頻流的速率的兩倍的速率來(lái)進(jìn)行所述寫入。通常,在iSCSI網(wǎng)絡(luò)上 的媒體服務(wù)器——諸如圖1的iSCSI構(gòu)造16——實(shí)際上對(duì)于一個(gè)或多個(gè) "橋"(bridge)服務(wù)器構(gòu)成客戶端。使用多個(gè)橋服務(wù)器,iSCSI網(wǎng)絡(luò)通信 均勻地分布在每個(gè)橋服務(wù)器上。在諸如網(wǎng)絡(luò)部件、交換機(jī)、橋服務(wù)器、端 口等的故障的故障情況下,多達(dá)一半的媒體服務(wù)器將"故障切換"到在網(wǎng) 絡(luò)內(nèi)的替代路徑。這個(gè)"故障切換"事件會(huì)占用30秒或者更多。在這個(gè) 時(shí)間期間,虛擬地鏈接的高速緩沖存儲(chǔ)器被填充,并且在某個(gè)點(diǎn),它們將 它們存儲(chǔ)的媒體塊排出到最高級(jí)高速緩沖存儲(chǔ)器以最后傳送到盤14。
當(dāng)故障切換事件完成并且連接得到恢復(fù)時(shí),多達(dá)一半的媒體服務(wù)器已 經(jīng)有效地填充了它們的相關(guān)聯(lián)的高速緩沖存儲(chǔ)器,并且必須現(xiàn)在排出它們 的所存儲(chǔ)的媒體塊。但是,如果所存儲(chǔ)的媒體塊全部一次排出,則到盤14 的數(shù)據(jù)的"浪涌"將發(fā)生。這將導(dǎo)致仍然在同一iSCSI構(gòu)造16上工作的另 一半媒體服務(wù)器的可能損壞。
為了避免損壞在同一網(wǎng)絡(luò)上的其他媒體服務(wù)器,按照本原理的一個(gè)方 面的浪涌保護(hù)技術(shù)用于抑制媒體服務(wù)器同時(shí)耗盡它們相關(guān)聯(lián)的高速緩沖存 儲(chǔ)器的效果。浪涌保護(hù)技術(shù)保證了虛擬鏈接的高速緩沖存儲(chǔ)器以不快于媒 體塊的傳送的穩(wěn)態(tài)實(shí)時(shí)速率的兩倍的速率來(lái)排出它們的所存儲(chǔ)的媒體塊。 浪涌保護(hù)技術(shù)必須了解在媒體塊內(nèi)封裝的視頻的類型。各種類型的視頻具 有不同的幀速率特性,導(dǎo)致媒體塊向盤14排出的速率的不同。
在所述說(shuō)明性實(shí)施例中,下面的公式用于確定媒體塊的測(cè)量,以便不 損壞共享同一網(wǎng)'絡(luò)和存儲(chǔ)介質(zhì)的其他媒體服務(wù)器其中,
7是以毫秒計(jì)的測(cè)量時(shí)間;
f是與特定的軌道和媒體高速緩沖存儲(chǔ)器相關(guān)聯(lián)的特定視頻類型的視 頻幀速率;
S是所述浪涌保護(hù)技術(shù)將不超過(guò)的排出速率,其通常在1.5和2.5之
間,或者換句話說(shuō)為視頻的穩(wěn)態(tài)軌道的正常速率的1.5x-2.5x;并且
0是存儲(chǔ)介質(zhì)服務(wù)于這種類型的請(qǐng)求所消耗的平均時(shí)間(以毫秒 計(jì))。
經(jīng)常,媒體服務(wù)器將視頻幀接合到較大的單個(gè)輸入/輸出(I/O)請(qǐng)求
中。組合多個(gè)幀用于最大化存儲(chǔ)介質(zhì)的性能。在這樣的情況下,浪涌抑制
公式采取下面的形式
.(9 m.s.
,1000*77、
V
其中,r、 f、 S和0同上,7/是被接合到單個(gè)較大的1/0請(qǐng)求中的視頻幀的數(shù)量。
用于廣播質(zhì)量視頻的典型的幀速率f包括每秒60、 50、 30、 25和24 幀。使用這些f速率之一作為示例,在f二30幀/秒的情況下,選擇排出速 率5二2,其中,7/ = 6視頻幀/每個(gè)接合的I/O請(qǐng)求,并且平均存儲(chǔ)介質(zhì)服 務(wù)時(shí)間是0 = 30,因此每個(gè)接合的1/0請(qǐng)求以不快于((1000*6)/(30*2))-30的 速率或者大致每70毫秒一次的速率被寫入到圖1的盤14。重要的是,5被 選擇為總是大于l,并且優(yōu)選地在1.5和2.5之間。這保證了高速緩沖存儲(chǔ) 器以比它們被填充的速率更快的速率排出,但是不快到干擾緊跟著故障事 件后的其他媒體服務(wù)器。
通常,媒體服務(wù)器向給定的媒體文件的存儲(chǔ)介質(zhì)發(fā)出多個(gè)未清 (outstanding)的I/O請(qǐng)求。發(fā)出這樣的多個(gè)請(qǐng)求用于通過(guò)掩蔽伴隨每個(gè) 請(qǐng)求的典型交易開(kāi)銷而提高性能。在這種情況下,浪涌抑制公式采取下面 的形式
廣1000* 77 *cr) ^
, 一<9 m.s
T =
t數(shù)7"、 f、 S、 7/、 0保持同上,并且(7是在發(fā)出I/O請(qǐng)求時(shí)對(duì)于這個(gè)媒體文件的未清請(qǐng)求的數(shù)量。當(dāng)多個(gè)未清的I/O請(qǐng)求被發(fā)送到給定文件的存儲(chǔ) 介質(zhì)時(shí),給定的未清的I/O請(qǐng)求的測(cè)量時(shí)間相比于對(duì)于同一文件的其他未 清的I/O請(qǐng)求在或多或少的同一時(shí)間期滿。例如,考慮存在對(duì)于同一媒體 文件的一個(gè)接一個(gè)地被發(fā)送的三個(gè)未清的I/O請(qǐng)求的情況
r,—
測(cè)量時(shí)間r、 r'和7""同時(shí)運(yùn)行,而不是串行地運(yùn)行。同樣,重要的是將這 種"掩蔽"效應(yīng)并入到上述的浪涌抑制公式中。通過(guò)考慮所有這些因素, 所述浪涌抑制機(jī)制對(duì)于系統(tǒng)的所有部分以最佳的速率來(lái)配置進(jìn)入的媒體塊 和出去的媒體塊。
在實(shí)踐中,與最高級(jí)高速緩沖存儲(chǔ)器(例如高速緩沖存儲(chǔ)器122)相 關(guān)聯(lián)的處理器18——其管理在存儲(chǔ)艙20和盤14之間的最后寫入交易—— 也實(shí)現(xiàn)了上述的浪涌保護(hù)技術(shù)。所述浪涌保護(hù)技術(shù)在穩(wěn)定狀態(tài)和故障狀態(tài) 條件下連續(xù)地運(yùn)行。在穩(wěn)定狀態(tài)操作下,寫入請(qǐng)求從不以快于lx (實(shí)時(shí)) 的速率發(fā)生。因此,浪涌保護(hù)技術(shù)不發(fā)揮作用。在沒(méi)有媒體塊的浪涌的情 況下,所述浪涌保護(hù)技術(shù)雖然存在但是沒(méi)有效果。但是,在高速緩沖存儲(chǔ) 器變滿或者部分變滿并且變得準(zhǔn)備好經(jīng)由最高級(jí)高速緩沖存儲(chǔ)器而排出到 盤14的情況下,浪涌保護(hù)技術(shù)按照上述的公式衰減了媒體塊向盤14的傳 送。通過(guò)將與特定視頻軌道相關(guān)聯(lián)的寫入請(qǐng)求限制到每t時(shí)間量一個(gè)而測(cè) 量所述媒體塊。這不阻止與其他媒體軌道相關(guān)聯(lián)的媒體塊的寫入,因?yàn)檐?道的測(cè)量是獨(dú)立地發(fā)生的。
一般,不必測(cè)量音頻、輔助數(shù)據(jù)和時(shí)間代碼信息的排出。在實(shí)踐中, 音頻、輔助數(shù)據(jù)和時(shí)間代碼媒體塊與視頻媒體塊的比率并不大。因此,會(huì) 發(fā)生的任何浪涌將以非常小的規(guī)模存在,并且不可能損壞其他的媒體服務(wù) 器。但是,如上所述的所述浪涌保護(hù)技術(shù)也可以容易地用于測(cè)量音頻、輔 助數(shù)據(jù)和時(shí)間代碼信息的排出。
為f明白使用本發(fā)明的浪涌保護(hù)技術(shù)來(lái)測(cè)量媒體塊傳送的速率如何可 以防止浪涌,參見(jiàn)圖4,其描述了一個(gè)狀態(tài)圖,其示出了與盤14變慢的狀況或者在iSCSI構(gòu)造16上的重流入行為之一或者兩者相關(guān)聯(lián)的各種狀態(tài)。
在開(kāi)始,如在圖4中的狀態(tài)1所示,高速緩沖存儲(chǔ)器12〗和122的存儲(chǔ)艙 20保持為空。在下一個(gè)階段(狀態(tài)2)期間,高速緩沖存儲(chǔ)器122的存儲(chǔ) 艙20被寫入第一媒體塊,在在圖4中被指定為媒體塊0。其后,如狀態(tài)3 所示,在高速緩沖存儲(chǔ)器12,的存儲(chǔ)艙20中的媒體塊0進(jìn)行向高速緩沖存 儲(chǔ)器122 (例如最高級(jí)存儲(chǔ)體)的存儲(chǔ)艙20的DMA傳送。在DMA傳送 后,在高速緩沖存儲(chǔ)器12t的存儲(chǔ)艙20中的媒體塊0被清除。
在下一個(gè)狀態(tài)(狀態(tài)4)期間,高速緩沖存儲(chǔ)器12i的存儲(chǔ)艙20被寫 入另一個(gè)媒體塊(塊1),而第一媒體塊(塊0)保持在高速緩沖存儲(chǔ)器 122的存儲(chǔ)艙20中。在狀態(tài)5期間,媒體塊1被從高速緩沖存儲(chǔ)器12^勺 存儲(chǔ)艙20傳送到高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20。在所述傳送后,媒體 塊1被從高速緩沖存儲(chǔ)器12!的存儲(chǔ)艙20清除。如在狀態(tài)6中所示,媒體 塊2-n的傳送繼續(xù)以上述的方式進(jìn)行,直到高速緩沖存儲(chǔ)器122 (最高級(jí)高 速緩沖存儲(chǔ)器)的存儲(chǔ)艙20變滿。
假定為了討論,在狀態(tài)6的開(kāi)始,已經(jīng)發(fā)生了盤變慢或者擁塞的 iSCSI構(gòu)造的狀況或者這兩者。這樣的情況的存在將至少阻止媒體塊向圖1 的盤14的排出。即使高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20已經(jīng)在此時(shí)變滿, 媒體塊向高速緩沖存儲(chǔ)器12J勺存儲(chǔ)艙20的寫入也仍然可以發(fā)生,因?yàn)閺?那個(gè)高速緩沖存儲(chǔ)器傳送的每個(gè)媒體塊在傳送后被清除。因此,在狀態(tài)7 期間,媒體塊n+l (其中n是整數(shù))被寫入到高速緩沖存儲(chǔ)器12J勺存儲(chǔ) 艙20中。在狀態(tài)8期間,媒體塊n+2被寫入到高速緩沖存儲(chǔ)器12i的存儲(chǔ) 艙20中。向高速緩沖存儲(chǔ)器12i的存儲(chǔ)艙20中寫入附加的媒體塊的處理 繼續(xù),直到媒體塊n+m被寫入到高速緩沖存儲(chǔ)器12i的存儲(chǔ)艙20中,如 在狀態(tài)9中所示。
假定在狀態(tài)IO,盤變慢和/或擁塞的iSCSI的狀況不再存在,并且在高 速緩沖存儲(chǔ)器122的存儲(chǔ)艙20中的所存儲(chǔ)的媒體塊現(xiàn)在可以開(kāi)始排出到圖 1的盤14。在這樣的狀況下,如上所述的擁塞抑制技術(shù)被調(diào)用來(lái)測(cè)量媒體 塊的排出。在調(diào)用所述浪涌抑制技術(shù)時(shí),以塊0開(kāi)始的高速緩沖存儲(chǔ)器 122的存儲(chǔ)艙20中的媒體塊以不超過(guò)在塊內(nèi)封裝的視頻流的實(shí)時(shí)速率的兩倍的所測(cè)量速率被排出。
在高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20的特定百分比(例如20%)被排出 到圖1的盤14后,如狀態(tài)11中所示,將發(fā)生從高速緩沖存儲(chǔ)器12i的存 儲(chǔ)艙20向高速緩沖存儲(chǔ)器122的媒體塊n+l的DMA傳送。在高速緩沖存 儲(chǔ)器12!和122之間的傳送在硬件允許的情況下盡可能快地發(fā)生。相反, 從高速緩沖存儲(chǔ)器122 (最高級(jí)高速緩沖存儲(chǔ)器)的存儲(chǔ)艙20向盤14的 媒體塊的排出以如上所述的方式以所測(cè)量的速率繼續(xù)。媒體塊從高速緩沖 存儲(chǔ)器12!的存儲(chǔ)艙20向高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20的逐個(gè)的傳送對(duì) 于媒體塊n+l到m+n繼續(xù)。同時(shí),高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20以所 測(cè)量的速率排出到盤14。以媒體塊p開(kāi)始的新的媒體塊被寫入到高速緩沖 存儲(chǔ)器12,的存儲(chǔ)艙20中。在狀態(tài)13開(kāi)始,穩(wěn)態(tài)操作恢復(fù),新的媒體塊 p+l被寫入到高速緩沖存儲(chǔ)器12i的存儲(chǔ)艙20中。其后,在高速緩沖存儲(chǔ) 器12J勺存儲(chǔ)艙20中的新的媒體塊p+l進(jìn)行向高速緩沖存儲(chǔ)器122的存儲(chǔ) 艙20的DMA傳送,并且被從高速緩沖存儲(chǔ)器12,的存儲(chǔ)艙20清除,如在 狀態(tài)14中所示。最后,新的媒體塊p+l在狀態(tài)15期間排出到盤14。從高 速緩沖存儲(chǔ)器12〗的存儲(chǔ)艙20向高速緩沖存儲(chǔ)器122的存儲(chǔ)艙20傳送塊和 其后向所述盤排出媒體塊的的穩(wěn)態(tài)處理繼續(xù),直到完成了所有塊的傳送。
上面描述了用于有效地管理多個(gè)存儲(chǔ)器的存儲(chǔ)的技術(shù)。雖然已經(jīng)相對(duì) 于從多個(gè)低級(jí)高速緩沖存儲(chǔ)器之一向一個(gè)最高級(jí)高速緩沖存儲(chǔ)器傳送媒體 塊而說(shuō)明了本原理的存儲(chǔ)技術(shù),但是所述技術(shù)等同地適用于多個(gè)高級(jí)高速 緩沖存儲(chǔ)器。
權(quán)利要求
1.一種用于提高在多個(gè)存儲(chǔ)裝置之間的效率的方法,包括步驟評(píng)估向存儲(chǔ)裝置寫入至少一個(gè)媒體塊的寫入請(qǐng)求以確定(i)所述存儲(chǔ)裝置的當(dāng)前存儲(chǔ)狀態(tài);(ii)所述存儲(chǔ)裝置的存儲(chǔ)能力;以及(iii)進(jìn)行存儲(chǔ)的媒體塊的至少一個(gè)特性;按照對(duì)所述寫入請(qǐng)求的評(píng)估而選擇所述多個(gè)存儲(chǔ)裝置之一;并且向所選擇的存儲(chǔ)裝置寫入所述至少一個(gè)媒體塊。
2. 如權(quán)利要求1所述的方法,還包括以下步驟從所選擇的存儲(chǔ)裝置向隨后的存儲(chǔ)裝置傳送所述至少一個(gè)媒體塊。
3. 如權(quán)利要求2所述的方法,還包括以下步驟在向隨后的存儲(chǔ)裝置傳送所述至少一個(gè)媒體塊后,清除所選擇的存儲(chǔ)裝置。
4. 如權(quán)利要求2所述的方法,還包括以下步驟從所述隨后的存儲(chǔ)裝置向盤寫入所述至少一個(gè)媒體塊。
5. 如權(quán)利要求4所述的方法,還包括以下歩驟在向所述盤寫入所述至少一個(gè)媒體塊后,從所述隨后的存儲(chǔ)裝置清除所述至少一個(gè)媒體塊。
6. 如權(quán)利要求4所述的方法,還包括以下步驟調(diào)整從所述隨后的存儲(chǔ)裝置向所述盤的至少一個(gè)媒體塊的寫入,以使得所述排出不超過(guò)由所 述至少一個(gè)媒體塊的特性確定的速率。
7. 如權(quán)利要求6所述的方法,其中,所述媒體塊包括至少一個(gè)被封裝的視頻流,其中,調(diào)整所述媒體塊被排出到所述盤的速率,以使得不超 過(guò)所述視頻流的實(shí)時(shí)速率的兩倍。
8. 如權(quán)利要求4所述的方法,其中,所述至少一個(gè)媒體塊向所述隨后的存儲(chǔ)裝置的傳送和媒體塊向所述盤的寫入發(fā)生在重疊的間隔內(nèi)。
9. 如權(quán)利要求4所述的方法,其中,至少一個(gè)媒體塊向所述隨后的 存儲(chǔ)裝置的傳送和媒體塊向所述盤的寫入以不同的速率發(fā)生。
10. —種設(shè)備,包括多個(gè)存儲(chǔ)裝置,用于存儲(chǔ)至少一個(gè)媒體塊;用于評(píng)估向存儲(chǔ)裝置寫入至少一個(gè)媒體塊的寫入請(qǐng)求以確定下述內(nèi)容的裝置(i)所述存儲(chǔ)裝置的當(dāng)前存儲(chǔ)狀態(tài);(ii)所述存儲(chǔ)裝置的存儲(chǔ) 能力;以及(iii)進(jìn)行存儲(chǔ)的媒體塊的至少一個(gè)特性;用于按照對(duì)所述寫入請(qǐng)求的評(píng)估而選擇所述多個(gè)存儲(chǔ)裝置之一的裝 置;以及用于向所選擇的存儲(chǔ)裝置寫入所述至少一個(gè)媒體塊的裝置。
11. 如權(quán)利要求IO所述的設(shè)備,其中,所述存儲(chǔ)裝置包括彼此耦接 的第一級(jí)高速緩沖存儲(chǔ)器。
12. 如權(quán)利要求10所述的設(shè)備,還包括第二級(jí)高速緩沖存儲(chǔ)器,其耦接到所選擇的存儲(chǔ)裝置,用于接收所述 至少一個(gè)媒體塊。
13. 如權(quán)利要求12所述的設(shè)備,還包括用于存儲(chǔ)所述至少一個(gè)媒體塊的盤;以及通信路徑,其將所述第二級(jí)高速緩沖存儲(chǔ)器耦接到所述盤。
14. 如權(quán)利要求13所述的設(shè)備,其中,所述通信路徑包括因特網(wǎng)小 型計(jì)算機(jī)系統(tǒng)接口。
15. 如權(quán)利要求15所述的設(shè)備,還包括用于下述功能的裝置調(diào)整 從所述第二級(jí)高速緩沖存儲(chǔ)器向所述盤的至少一個(gè)媒體塊的寫入,以使得 所述排出不超過(guò)由所述至少一個(gè)媒體塊的特性確定的速率。
16. 如權(quán)利要求15所述的設(shè)備,其中,所述媒體塊包括至少一個(gè)被 封裝的視頻流,其中,所述調(diào)整裝置調(diào)整所述媒體塊被排出到所述盤的速 率,以使得不超過(guò)所述視頻流的實(shí)時(shí)速率的兩倍。
全文摘要
通過(guò)下述步驟而實(shí)現(xiàn)了由多個(gè)存儲(chǔ)器(12<sub>1</sub>和12<sub>2</sub>)構(gòu)成的系統(tǒng)內(nèi)的效率的提高評(píng)估每個(gè)請(qǐng)求以確定(i)存儲(chǔ)裝置的當(dāng)前存儲(chǔ)狀態(tài);(ii)存儲(chǔ)裝置的存儲(chǔ)能力;以及(iii)進(jìn)行存儲(chǔ)的媒體塊的至少一個(gè)特性。按照對(duì)所述寫入請(qǐng)求的評(píng)估而進(jìn)行所述多個(gè)存儲(chǔ)裝置之一的選擇。其后,媒體塊被寫入到所選擇的存儲(chǔ)裝置。
文檔編號(hào)G06F3/06GK101300542SQ200680041155
公開(kāi)日2008年11月5日 申請(qǐng)日期2006年11月2日 優(yōu)先權(quán)日2005年11月4日
發(fā)明者大衛(wèi)·亞倫·克洛斯?fàn)?申請(qǐng)人:湯姆遜許可證公司