專利名稱:存儲模擬裝置及其存取方法
技術領域:
本發(fā)明關于一種模擬裝置及其存取方法,特別是有關于一種通過網(wǎng)絡存 取一存儲系統(tǒng)的存儲模擬裝置及其存取方法。
背景技術:
圖1顯示現(xiàn)有技術中本地端計算機(主機系統(tǒng))100通過網(wǎng)絡存取一連接至 遠程計算機(存儲系統(tǒng))140的存儲單元102的系統(tǒng)示意圖。上述存取該存儲單 元102的系統(tǒng)包括一本地端計算機100、 一遠程計算機104以及一連接于該 遠程計算機104的存儲單元102。該本地端計算機100通過利用設置于該本 地端計算機100的一網(wǎng)絡適配卡(未圖示),來以遠程方式讀取存儲于該存儲單 元102的數(shù)據(jù)或是將數(shù)據(jù)寫入至該存儲單元102。
當該本地端計算機100存取該存儲單元102內的數(shù)據(jù)時,該要存取的數(shù) 據(jù)必須暫時存放在該遠程計算機104,然后通過網(wǎng)絡傳送至該本地端計算機 100。然而由于該存儲單元102是以間接方式經(jīng)由網(wǎng)絡耦接于該本地端計算機 100,因此該本地端計算機100的命令會有逾時(time-out)問題,因此遠程計算 機104無法及時地依據(jù)該命令響應一信息給該本地端計算機100。
發(fā)明內容
本發(fā)明的目的是提供一種存儲模擬裝置及其存取方法,用以使主機系統(tǒng)通過網(wǎng)絡存取連接于存儲系統(tǒng)的存儲單元,如同該存儲單元直接連接于該主 機系統(tǒng),從而使得該主機系統(tǒng)能夠存取該存儲單元。
本發(fā)明的另一目的是提供一種存儲模擬裝置及其存取方法,用以在主機 系統(tǒng)存取該存儲系統(tǒng)時,來降低逾時的問題。
根據(jù)上述目的,本發(fā)明提出一種存儲模擬裝置及其存取方法,該存儲模 擬裝置包括一虛擬存儲模擬模塊、 一存儲管理單元以及一通訊模塊。虛擬存 儲模擬模塊用以在該主機系統(tǒng)上模擬與該存儲單元對應的至少一虛擬存儲單 元,并且用以接收來自該主機系統(tǒng)的存儲存取命令。存儲管理單元用以辨識 該存儲存取命令是一 自續(xù)類型命令還是一非自續(xù)類型命令,自續(xù)類型命令是
一種存儲模擬裝置可以直接自續(xù)、執(zhí)行的命令;非自續(xù)類型命令是一種存儲 模擬裝置無法直接自續(xù)、執(zhí)行的命令。本發(fā)明的存儲模擬裝置具有各種類型 命令的處理能力,以處理各種自續(xù)類型命令以及非自續(xù)類型命令。舉例而言, 該自續(xù)類型命令可以是選自于査詢命令、模式檢測命令以及請求檢測命令所 組成的族群中任意一種。該非自續(xù)類型命令可以是選自于讀取命令、寫入命 令以及格式化命令所組成的族群中的任意一種。通訊模塊通過該網(wǎng)絡與該存 儲系統(tǒng)的存儲單元進行通訊。
該存儲管理單元包括一解析單元、 一第一命令執(zhí)行單元、 一第二命令傳 送單元、 一緩沖存儲裝置、 一狀態(tài)模塊以及一型態(tài)管理單元。解析單元用以 解析該存儲存取命令,以辨識該存儲存取命令是該自續(xù)類型命令還是該非自 續(xù)類型命令。第一命令執(zhí)行單元用以執(zhí)行該自續(xù)類型命令,以產(chǎn)生該自續(xù)命 令響應。也即該第一命令執(zhí)行單元在存儲管理單元的內部執(zhí)行該自續(xù)類型命 令,并且將該自續(xù)命令響應存儲于該緩沖存儲裝置。第二命令傳送單元用以 傳送該非自續(xù)類型命令至該通訊模塊,并且用以觸發(fā)該通訊模塊,以使該通訊模塊傳送該非自續(xù)類型命令至該存儲系統(tǒng)。緩沖存儲裝置用以存儲該存儲 存取命令、該命令響應以及該自續(xù)命令響應。通過該數(shù)據(jù)輸出路徑將該存儲 存取命令中屬于非自續(xù)類型命令的命令傳送至該通訊模塊,通過該數(shù)據(jù)輸入 路徑接收來自該通訊模塊的命令響應,并且將該自續(xù)命令響應傳回至該虛擬 存儲模擬模塊。
因此,該存儲管理單元選擇性地傳送該非自續(xù)類型命令并且保留該自續(xù) 類型命令來執(zhí)行,以節(jié)省網(wǎng)絡的數(shù)據(jù)傳輸負載量,從而降低存儲系統(tǒng)相對于 該主機系統(tǒng)的逾時問題。
本發(fā)明實施例中執(zhí)行存儲模擬裝置的存取方法包括下列步驟
(a) 虛擬存儲模擬模塊模擬與該存儲單元對應的至少一虛擬存儲單元,以
用于該主機系統(tǒng)。
(b) 虛擬存儲模擬模塊接收來自該主機系統(tǒng)的存儲存取命令。
(c) 存儲管理單元辨識該存儲存取命令是自續(xù)類型命令還是非自續(xù)類型命令。
(d) 當該存儲管理單元辨識該存儲存取命令是該自續(xù)類型命令時,該存儲 管理單元依該存儲存取命令產(chǎn)生一 自續(xù)命令響應,并且直接傳回該自續(xù)命令
響應至該主機系統(tǒng)。
(e) 當該存儲管理單元辨識該存儲存取命令是該非自續(xù)類型命令時,該存 儲管理單元通過該網(wǎng)絡發(fā)送該存儲存取命令至該存儲系統(tǒng),且依該存儲存取
命令接收來自于該存儲系統(tǒng)的一命令響應,并且傳回該命令響應至該主機系 統(tǒng)。
根據(jù)上述,本發(fā)明的存儲模擬裝置能夠辨識存儲存取命令,以決定是否 傳送該存儲存取命令至該存儲系統(tǒng),因而條低主機系統(tǒng)與該存儲系統(tǒng)之間的流量負載量,以減少逾時的問題。
為讓本發(fā)明的上述內容能更明顯易懂,下文特舉較佳實施例,并配合所 附圖式,作詳細說明如下
圖1顯示現(xiàn)有技術中本地端計算機通過網(wǎng)絡存取一遠程存儲單元的示意
圖2顯示本發(fā)明實施例中存儲模擬裝置通過網(wǎng)絡存取一存儲單元的示意 圖,其中該存儲單元連接于一存儲系統(tǒng);
圖3顯示本發(fā)明實施例中圖2所示的虛擬存儲模擬模塊的示意圖4顯示本發(fā)明實施例中圖2所示的存儲管理單元的示意圖5顯示本發(fā)明實施例中圖2所示的通訊模塊的示意圖6顯示本發(fā)明實施例中圖2所示的應用程序模塊的示意圖;以及
圖7顯示本發(fā)明實施例中執(zhí)行圖2的存儲模擬裝置的存取方法流程圖。
主要組件符號說明
100本地端計算機102存儲單元
104遠程計算機200存儲模擬裝置
202主機系統(tǒng)204存儲系統(tǒng)
206存儲單元208虛擬存儲模擬模塊
210存儲管理單元214通訊模塊
216應用程序模塊218存儲驅動模塊300裝置列舉單元302協(xié)議標準解碼裝置
304第一命令傳送單元400解析單元
402第一命令執(zhí)行單元404第二命令傳送單元
406緩沖存儲裝置408狀態(tài)模塊
410型態(tài)管理單元500命令封包單元
502傳收單元504第一網(wǎng)絡模塊
600命令接收裝置602命令解碼裝置
604第二命令執(zhí)行單元606命令響應傳送裝置
具體實施例方式
圖2顯示本發(fā)明實施例中存儲模擬裝置200通過網(wǎng)絡存取一存儲單元206 的示意圖,其中該存儲單元206連接于一存儲系統(tǒng)204。存儲模擬裝置200 通過該網(wǎng)絡連接一主機系統(tǒng)202與包含該存儲單元206的該存儲系統(tǒng)204, 其中該主機系統(tǒng)202可以是設有通用序列接口(USB)的主機。該存儲模擬裝置 200包括一虛擬存儲模擬模塊208、一存儲管理單元210以及一通訊模塊214。 該存儲模擬裝置200允許主機系統(tǒng)202通過網(wǎng)絡存取該存儲系統(tǒng)204的存儲 單元206。例如當主機系統(tǒng)202傳送一存儲存取命令至該存儲系統(tǒng)204時, 該主機系統(tǒng)202利用該存儲模擬裝置200讀取存儲于該存儲系統(tǒng)204的存儲 單元206內的數(shù)據(jù)或是將數(shù)據(jù)寫入至該存儲單元206內,如同該主機系統(tǒng)202 直接連接于該存儲單元206 —樣。本發(fā)明所屬技術領域中具有通常知識者應 注意的是,該存儲模擬裝置200也可以應用于其它系統(tǒng)中,例如鍵盤-屏幕-鼠標(KVM)切換系統(tǒng)。
虛擬存儲模擬模塊208連接該主機系統(tǒng)202,存儲管理單元210耦接該虛擬存儲模擬模塊208與通訊模塊214,而該通訊模塊214通過網(wǎng)絡耦接至 該存儲系統(tǒng)204,網(wǎng)絡可以是局域網(wǎng)絡(LAN)、企業(yè)網(wǎng)絡(Intranet)、以太網(wǎng)絡 (Ethemet)、廣域網(wǎng)絡(WAN)、或是因特網(wǎng)(Internet)。該存儲系統(tǒng)204還包括 一應用程序模塊216以及一存儲驅動模塊218,該應用程序模塊216以及該 存儲驅動模塊218分別耦接于該存儲單元206,且該應用程序模塊216耦接 于該存儲驅動模塊218。該應用程序模塊216通過網(wǎng)絡耦接該存儲單元206 至該存儲模擬裝置200的通訊模塊214。在一較佳實施例中,該存儲單元206 是選自于軟盤驅動器(floppy disk drive, FDD)、硬盤驅動器(hard disk drive, HDD)、光驅(CD-ROM)、快閃磁盤裝置(flash disk drive)、磁盤映像文件(image file)如光驅的映像文件、數(shù)字多媒體光驅(DVD-ROM)、物理(physical)存儲裝 置以及邏輯(logical)存儲裝置所組成的族群中的任意一種。
虛擬存儲模擬模塊208用以對應于該存儲單元206進行模擬,以在該主 機系統(tǒng)上形成至少一虛擬存儲單元,并且用以接收來自該主機系統(tǒng)202的一 存儲存取命令(storage accessing command)。在一實施例中,該存儲存取命令 兼容于小型計算機系統(tǒng)接口(SCSI)。
存儲管理單元210用以辨識該存儲存取命令是一自續(xù)類型命令 (self-sustaining type command)還是——非自續(xù)類型命令(non-self-sustaining type command),自續(xù)類型命令是一種存儲模擬裝置200可以直接自續(xù)、執(zhí)行的命 令;非自續(xù)類型命令是一種存儲模擬裝置200無法直接自續(xù)、執(zhí)行的命令, 其需要將這類的非自續(xù)類型命令發(fā)送至該存儲系統(tǒng)204,以便作進一步處理。 本發(fā)明的存儲模擬裝置200具有各種類型命令的處理能力,以處理各種自續(xù) 類型命令以及非自續(xù)類型命令。舉例而言,該自續(xù)類型命令可以是選自于査 詢命令、模式檢測命令以及請求檢測命令所組成的族群中的任意一種。該非自續(xù)類型命令可以是選自于讀取命令、寫入命令以及格式化命令所組成的族
群中的任意一種。通訊模塊214通過該網(wǎng)絡與該存儲系統(tǒng)204的該存儲單元 206進行通訊。
一方面,當該存儲管理單元210辨識該存儲存取命令是該自續(xù)類型命令 時,即依該存儲存取命令產(chǎn)生一自續(xù)命令響應,并且直接傳回該自續(xù)命令響 應至該主機系統(tǒng)202。換言之,該存儲管理單元210能夠執(zhí)行該自續(xù)類型命 令,并且將其執(zhí)行結果直接響應給該主機系統(tǒng)202。
另一方面,當該存儲管理單元210辨識該存儲存取命令是該非自續(xù)類型 命令時,該存儲管理單元210通過該網(wǎng)絡發(fā)送該存儲存取命令至該存儲系統(tǒng) 204。進一步地,該存儲管理單元210依據(jù)該存儲存取命令接收來自于該存儲 系統(tǒng)204的一命令響應(command response),并且傳回該命令響應至該主機系 統(tǒng)202。也即,該存儲系統(tǒng)204執(zhí)行該非自續(xù)類型命令,該存儲管理單元210 接收來自于該存儲系統(tǒng)204的響應信息并將之傳給該主機系統(tǒng)202。
參考圖2以及圖3,圖3顯示本發(fā)明實施例中圖2所示的虛擬存儲模擬 模塊208的示意圖。虛擬存儲模擬模塊208包括一裝置列舉單元300、 一協(xié) 議標準解碼裝置302以及一第一命令傳送單元304。裝置列舉單元300連接 于該協(xié)議標準解碼裝置302,該協(xié)議標準解碼裝置302通過一接口協(xié)議標準 耦接于該主機系統(tǒng)202,其中該接口協(xié)議標準可以是USB接口或是無線 (wireless)技術接口,該第一命令傳送單元304耦接該協(xié)議標準解碼裝置302 至該存儲管理單元210。
裝置列舉單元300依據(jù)該接口協(xié)議標準,用以列舉(enumerate)相對應于 該存儲單元206的至少一虛擬存儲單元。以USB接口為例,裝置列舉單元300 依據(jù)該USB接口協(xié)議標準列舉相關于該存儲單元206的裝置信息,以在該主機系統(tǒng)202上產(chǎn)生該虛擬存儲單元。協(xié)議標準解碼裝置302依據(jù)該USB接口 協(xié)議標準,用以對來自該主機系統(tǒng)202的存儲存取命令進行譯碼。第一命令 傳送單元304用以傳送譯碼后的存儲存取命令至該存儲管理單元210。在一 較佳實施例中,當若干個存儲存取命令由該主機系統(tǒng)202發(fā)送至該虛擬存儲 模擬模塊208時,該協(xié)議標準解碼裝置302依序對每一存儲存取命令進行譯 碼。然后,該第一命令傳送單元304依序將譯碼后的存儲存取命令傳送至該 存儲管理單元210。
具體來說,在該主機系統(tǒng)202發(fā)送該存儲存取命令至該存儲系統(tǒng)204之 前,裝置列舉單元300模擬該存儲單元206,使得該主機系統(tǒng)202能夠存取 該存儲單元206,如同該存儲單元206直接連接于該主機系統(tǒng)202上,而模 擬該存儲單元206所需要的信息是由該存儲系統(tǒng)204產(chǎn)生,接著根據(jù)產(chǎn)生的 模擬信息在該主機系統(tǒng)202模擬該存儲單元206。較佳實施例中,定期地依 據(jù)來自該存儲系統(tǒng)204的裝置信息來更新該存儲模擬裝置200,使得該主機 系統(tǒng)202能夠擷取存儲于該存儲模擬裝置200內的裝置更新信息。該存儲系 統(tǒng)204將存儲單元206的裝置信息輸出(export)至存儲模擬裝置200的虛擬存 儲模擬模塊208,其中該裝置信息可以是存儲容量以及/或儲單元的數(shù)量,然 后該主機系統(tǒng)202找到輸出的裝置信息并且將該存儲單元206視為本地端(也 即主機系統(tǒng)202)可存取的裝置。較佳實施例中,在該主機系統(tǒng)202發(fā)送該存 儲存取命令之前,裝置列舉單元300列舉相關于該存儲單元206的裝置信息, 以使該主機系統(tǒng)202依據(jù)該接口協(xié)議標準建立與該存儲單元206之間的聯(lián)機。
請參考圖2-4,圖4顯示本發(fā)明實施例中圖2所示的存儲管理單元210 的示意圖。該存儲管理單元210包括一解析單元400、 一第一命令執(zhí)行單元 402、 一第二命令傳送單元404、 一緩沖存儲裝置406、 一狀態(tài)模塊408、以及一型態(tài)管理單元410。該解析單元400耦接于虛擬存儲模擬模塊208的第 一命令傳送單元304,該第一命令執(zhí)行單元402耦接該解析單元400與該緩 沖存儲裝置406,該第二命令傳送單元404耦接該解析單元400與該緩沖存 儲裝置406,該狀態(tài)模塊408耦接該通訊模塊214與該解析單元400,且該型 態(tài)管理單元410連接至該解析單元400。
解析單元400用以解析該存儲存取命令,以辨識該存儲存取命令是該自 續(xù)類型命令還是該非自續(xù)類型命令。第一命令執(zhí)行單元402用以執(zhí)行該自續(xù) 類型命令,以產(chǎn)生該自續(xù)命令響應。也即,該第一命令執(zhí)行單元402在存儲 管理單元210的內部執(zhí)行該存儲存取命令的自續(xù)類型命令,并且將該自續(xù)命 令響應存儲于該緩沖存儲裝置406。第二命令傳送單元404用以傳送該非自 續(xù)類型命令至該通訊模塊214,并且用以觸發(fā)該通訊模塊214,以使該通訊模 塊傳送該非自續(xù)類型命令至該存儲系統(tǒng)204。緩沖存儲裝置406用以存儲該 存儲存取命令、該命令響應以及該自續(xù)命令響應。通過該數(shù)據(jù)輸出路徑將該 存儲存取命令中屬于非自續(xù)類型命令傳送至該通訊模塊214,通過該數(shù)據(jù)輸 入路徑接收來自該通訊模塊214的命令響應,并且將該自續(xù)命令響應傳回至 該虛擬存儲模擬模塊208 ,如圖2所示。
因此,該存儲管理單元210選擇性地傳送該非自續(xù)類型命令并且保留該 自續(xù)類型命令來執(zhí)行,以節(jié)省網(wǎng)絡的數(shù)據(jù)傳輸負載量,從而降低存儲系統(tǒng)204 相對于該主機系統(tǒng)的逾時(time-out)問題。
狀態(tài)模塊408用以監(jiān)視該存儲單元206的存儲狀態(tài)的變動事件(storage state change event),并且記錄該存儲單元206的存儲狀態(tài)。該狀態(tài)模塊408 進一步監(jiān)視該主機系統(tǒng)202的狀態(tài)并且記錄該狀態(tài)。較佳實施例中,存儲系 統(tǒng)204以該存儲單元206的裝置信息來更新該存儲模擬裝置200的狀態(tài)模塊408。在一實施例中,該解析單元400檢査該狀態(tài)模塊408以決定該主機系統(tǒng) 202是否備妥。例如,在一開機盤片插入至該存儲單元206之后,例如光驅, 則該開機盤片的是否備妥的狀態(tài)被記錄于該狀態(tài)模塊408中,使得該解析單 元400在本地端利用該狀態(tài)模塊408,以使該主機系統(tǒng)202致能(enable)而以 該開機盤片進行開機步驟。相反地,假如該開機盤片尚未備妥,則未備妥的 狀態(tài)也會記錄于該狀態(tài)模塊408中,并且該解析單元400在本地端通知該主 機系統(tǒng)202,該開機盤片尚未備妥而無法開機。在一較佳實施例中,該解析 單元400持續(xù)地檢查該狀態(tài)模塊408直至在該狀態(tài)模塊408的狀態(tài)為備妥狀 態(tài),以利用該開機盤片對該主機系統(tǒng)202進行開機。
型態(tài)管理單元410,用以記錄若干個裝置型態(tài),并且檢査若干個命令型 態(tài)。該解析單元400依據(jù)該些裝置型態(tài)辨識該存儲單元206的裝置型態(tài),并 且決定即將被執(zhí)行的命令型態(tài)。也即該解析單元400判斷來自該主機系統(tǒng)202 的存儲存取命令是否與該存儲單元206的命令型態(tài)一致,舉例來說,該存儲 單元206是符合SCSI接口的磁盤驅動器,當該主機系統(tǒng)202通過該存儲模擬 裝置200傳送一 DVD多媒體命令至該存儲系統(tǒng)204時,該解析單元400比較 該SCSI接口的磁盤驅動器的裝置型態(tài)與該DVD的裝置型態(tài),以決定該存儲 單元206是否支持來自該主機系統(tǒng)202的多媒體命令。假如該多媒體命令無 法兼容于該存儲單元206的命令型態(tài),則該存儲系統(tǒng)204無法執(zhí)行多媒體命 令,為解決此問題,存儲管理單元210通知該主機系統(tǒng)202重新傳送一新命 令,以兼容于存儲于該型態(tài)管理單元410內的命令型態(tài)。
參考圖2、圖4以及圖5,圖5顯示本發(fā)明實施例中圖2所示的通訊模塊 214的示意圖。該通訊模塊214包括一命令封包單元500以及一傳收單元 (transceiver)502,該命令封包單元500耦接該存儲管理單元210的第二命令傳送單元404與該傳收單元502,該傳收單元502通過第一網(wǎng)絡模塊504耦接 于該應用程序模塊216,且分別耦接于該存儲管理單元210的緩沖存儲裝置 406以及狀態(tài)模塊408。
當接收來自該第二命令傳送單元404的觸發(fā)信號,命令封包單元500包 裝來自該緩沖存儲裝置406且經(jīng)由該數(shù)據(jù)輸出路徑的非自續(xù)類型命令。然后, 命令封包單元500將包裝后的非自續(xù)類型命令發(fā)送給該傳收單元502。較佳 實施例中,命令封包單元500將該命令包裝成為封包型式,并且將此封包型 式的命令傳給存儲系統(tǒng)204。傳收單元502通過該網(wǎng)絡傳送該包裝后該非自 續(xù)類型命令至該存儲系統(tǒng)204,并且經(jīng)由第一網(wǎng)絡模塊504以及網(wǎng)絡接收來 自該存儲單元206的命令響應。接著,傳收單元502經(jīng)由數(shù)據(jù)輸入路徑將接 收到的命令響應傳送至該緩沖存儲裝置406,并且將相關于存儲單元206的 存儲狀態(tài)之變動事件傳遞至狀態(tài)模塊408,如圖4所示。
參考圖2、圖5以及圖6,圖6顯示本發(fā)明實施例中圖2所示的應用程序 模塊216的示意圖。該存儲系統(tǒng)204還包括該應用程序模塊216,用以通過 該網(wǎng)絡與該通訊模塊214進行通訊。該應用程序模塊216包括一命令接收裝 置600、 一命令解碼裝置602、 一第二命令執(zhí)行單元604以及一命令響應傳送 裝置606。命令接收裝置600通過該第二網(wǎng)絡模塊608耦接于該通訊模塊214 的第一網(wǎng)絡模塊504,命令解碼裝置602耦接于命令接收裝置600與第二命 令執(zhí)行單元604之間。第二命令執(zhí)行單元604分別耦接于存儲驅動模塊218 以及該存儲單元206,命令響應傳送裝置606耦接該第二網(wǎng)絡模塊608至該 通訊模塊214的第一網(wǎng)絡模塊504。
該命令接收裝置600用以接收來自該傳收單元502的包裝后的非自續(xù)類 型命令。該命令解碼裝置602用以將包裝后的非自續(xù)類型命令譯碼成為一執(zhí)行命令。該第二命令執(zhí)行單元604用以執(zhí)行該執(zhí)行命令,以存取該存儲單元 206。該命令響應傳送裝置606用以傳送該執(zhí)行命令的命令響應至該通訊模塊 214的傳收單元502。
在一實施例中,當應用程序模塊216僅適用于一部分特定種類的存儲單 元206時,存儲驅動模塊218用以支持更多種類的存儲單元206。也即存儲 驅動模塊218能夠針對各種包裝后的非自續(xù)類型命令進行譯碼,執(zhí)行該命令 以存取該存儲單元206,并且產(chǎn)生命令響應,然后將該命令響應傳給該應用 程序模塊216的命令響應傳送裝置606。
繼續(xù)參考圖2,本發(fā)明的非自續(xù)類型命令包裝成為命令封包(command packet)時,其格式包括裝置信息封包(device information packet)、控制封包 (control packet)、 中斷封包(interrupt packet)、裝置狀態(tài)封包(device status packet)、裝置狀態(tài)i青求封包(device status request packet)以及響應結果妾寸包 (response result packet),上述的圭寸包詳述如下。
裝置信息封包包括一封包辨識碼"Packet ID"、 一裝置辨識碼"Device ID"、一裝置信息長度"Device Info Length"以及一裝置信息"Device Info" 等字段(field),其中該封包辨識碼"Packet ID"用以表示封包的型態(tài);裝置辨 識碼"Device ID"表示存儲系統(tǒng)204的磁盤驅動器代號;裝置信息長 度"Device Info Length"表示裝置信息的長度,例如16位(bits);該裝置信 息"Device Info"表示該裝置的相關信息,例如査詢信息(inquiry)、容量 (capacity)、讀取格式容量(read format capacities)以及模式狀態(tài)(mode sense)。 較佳實施例中,存儲系統(tǒng)204傳送磁盤驅動器的信息至該存儲模擬裝置200, 例如存儲系統(tǒng)204分成四次將裝置信息封包傳送至存儲單元206,首先查詢 信息被傳送至該存儲模擬裝置200且其封包辨識碼"Packet ID"系以8位"0000-0001"表示;接著容量信息被傳送至該存儲模擬裝置200且其封包 辨識碼"PacketID"是以8位"0000-0002"表示;然后,讀取格式容量被傳 送至該存儲模擬裝置200且其封包辨識碼"Packet ID"是以8 位"0000-0003"表示;最后,模式狀態(tài)被傳送至該存儲模擬裝置200且其封 包辨識碼"Packet ID"是以8位"0000-0004"表示。
控制封包包括一封包辨識碼"PacketID"、一裝置辨識碼"Device ID"、 一命令描述方塊"CDB" 、 " CDB"的長度"CDB Length"、 一數(shù)據(jù)長 度"Data Length"以及數(shù)據(jù)"Data"等字段,其中封包辨識碼"Packet ID" 及裝置辨識碼"Device ID"的意義如上所述;命令描述方塊"CDB"表示命 令具有固定的長度,例如16位(bits); " CDB"的長度"CDB Length"表 示"CDB"的長度;數(shù)據(jù)"Data"用以存儲輸入/輸出數(shù)據(jù)??刂品獍靡钥?制該存儲模擬裝置200與存儲系統(tǒng)204之間的命令傳送、命令操作程序以及 命令執(zhí)行結果,也即由該存儲模擬裝置200至該存儲系統(tǒng)204,或是由該存 儲系統(tǒng)204至該存儲模擬裝置200。例如,在該存儲模擬裝置200與該存儲 系統(tǒng)204之間傳送格式化單位命令"Format Unit"的控制封包,其中格式化 的參數(shù)系存儲于數(shù)據(jù)"Data"字段;由該存儲模擬裝置200至該存儲系統(tǒng)204 傳送讀取命令"Read"的控制封包,其中"CDB"字段表示所要的數(shù)據(jù)區(qū)段 (sector);然后該存儲模擬裝置200自該存儲系統(tǒng)204辨識出該讀取命 令"Read"之后,將其控制封包由該存儲系統(tǒng)204傳送至存儲模擬裝置200, 其中操作碼存儲于命令描述方塊"CDB"字段。
中斷封包包括一封包辨識碼",Packet ID"、 一裝置辨識碼"Device ID" 以及一 USB磁盤驅動器接口狀態(tài)數(shù)據(jù)"UFI sense data"等字段。封包辨識 碼"Packet ID"及裝置辨識碼"Device ID"的意義如上所述。該USB磁盤驅動器接口狀態(tài)數(shù)據(jù)"UFI sense data"表示在該存儲模擬裝置200執(zhí)行控制封 包之后,將信息由存儲單元206傳送至存儲模擬裝置200。較佳實施例中, 中斷封包由該存儲系統(tǒng)204傳送至存儲模擬裝置200。
裝置狀態(tài)封包包括一封包辨識碼"Packet ID"、 一裝置辨識碼"Device ID"以及一裝置狀態(tài)"Device Status"等字段,該封包辨識碼"Packet ID"以 及該裝置辨識碼"Device ID"的定義如上所述,該裝置狀態(tài)"Device Status" 表示存儲單元206目前的狀態(tài),這些狀態(tài)包括"無反應"、"未備妥"、"硬 件錯誤"、或是"未聯(lián)機"等,較佳實施例中,裝置狀態(tài)封包由該存儲系統(tǒng) 204傳送至存儲模擬裝置200 。
裝置狀態(tài)請求封包包括一封包辨識碼"Packet ID"以及一裝置辨識 碼"Device ID"等字段,其意義如上所述。當存儲模擬裝置200需要偵測存 儲單元206的狀態(tài)時,存儲模擬裝置200發(fā)出裝置狀態(tài)請求封包至該存儲單 元206且該存儲單元206回復裝置狀態(tài)封包給存儲模擬裝置200,以響應該 偵側請求。較佳實施例中,裝置狀態(tài)請求封包是由存儲模擬裝置200傳送至 該存儲系統(tǒng)204。
響應結果封包包括 一 封包辨識碼"Packet ID"以及 一 響應結 果"Response result"等字段,封包辨識碼"Packet ID"的意義如上所述,響 應結果"Response result"用以通知該存儲模擬裝置200的命令執(zhí)行結果至該 存儲系統(tǒng)204,或是通知該存儲系統(tǒng)204的命令執(zhí)行結果至該存儲模擬裝置 200。例如,當響應結果"Response result"為成功"Success"時,則表示目 前的命令已經(jīng)被成功執(zhí)行,并且接著執(zhí)行下一個命令。當響應結果"Response result"為失敗"Fail"時,則表示該存儲模擬裝置200或是該存儲系統(tǒng)204 無法執(zhí)行目前的命令。較佳實施例中,中斷封包被傳送至該存儲模擬裝置200或是該存儲系統(tǒng) 204,以響應該控制封包。響應結果封包被傳送至該存儲模擬裝置200或是該 存儲系統(tǒng)204,以響應該裝置信息封包、裝置狀態(tài)封包以及裝置狀態(tài)請求封 包,以確認該命令是否成功地被執(zhí)行。
參考圖2-6以及圖7,圖7顯示本發(fā)明實施例中執(zhí)行圖2的存儲模擬裝置 200的存取方法的流程圖。該存取方法用以使一主機系統(tǒng)202通過一網(wǎng)絡存 取連接于一存儲系統(tǒng)204的存儲單元206,如同該存儲單元206直接連接于 該主機系統(tǒng)202,本發(fā)明的存取方法包括下列步驟
在步驟S700中,虛擬存儲模擬模塊208模擬對應于該存儲單元206的至 少一虛擬存儲單元,以用于該主機系統(tǒng)202。
在步驟S702中,虛擬存儲模擬模塊208接收來自該主機系統(tǒng)202的存儲 存取命令。
在步驟S704中,存儲管理單元210辨識該存儲存取命令是一自續(xù)類型命 令還是一非自續(xù)類型命令。
在步驟S706中,當該存儲管理單元210辨識該存儲存取命令是該自續(xù)類 型命令時,該存儲管理單元210依該存儲存取命令產(chǎn)生一自續(xù)命令響應,并 且直接傳回該自續(xù)命令響應至該主機系統(tǒng)202。
在步驟S708中,當該存儲管理單元210辨識該存儲存取命令是該非自續(xù) 類型命令時,該存儲管理單元210通過該網(wǎng)絡發(fā)送該存儲存取命令至該存儲 系統(tǒng)204,且依該存儲存取命令接收來自于該存儲系統(tǒng)204的一命令響應, 并且傳回該命令響應至該主機系統(tǒng)202。
在一實施例中,該自續(xù)類型命令可以是選自于查詢命令、模式檢測命令 以及請求檢測命令所組成的族群中的任意一種。該非自續(xù)類型命令可以是選自于讀取命令、寫入命令以及格式化命令所組成的族群中的任意一種。
綜上所述,雖然本發(fā)明已以較佳實施例揭露如上,但該較佳實施例并非 用以限制本發(fā)明,該領域的普通技術人員,在不脫離本發(fā)明的精神和范圍內, 均可作各種更動與潤飾,因此本發(fā)明的保護范圍以權利要求界定的范圍為準。
權利要求
1. 一種存儲模擬裝置,用以使一主機系統(tǒng)通過一網(wǎng)絡存取連接于一存儲系統(tǒng)的一存儲單元,如同該存儲單元直接連接于該主機系統(tǒng),其特征在于該存儲模擬裝置包括一虛擬存儲模擬模塊,耦接于該主機系統(tǒng),用以相對應該存儲單元模擬至少一虛擬存儲單元于該主機系統(tǒng)上,且接收來自該主機系統(tǒng)的一存儲存取命令;一存儲管理單元,用以辨識該存儲存取命令為一自續(xù)類型(self-sustainingtype)命令或是一非自續(xù)類型(non-self-sustaining type)命令;以及一通訊模塊,通過該網(wǎng)絡與該存儲系統(tǒng)的該存儲單元進行通訊;其中,當辨識該存儲存取命令為該自續(xù)類型命令時,該存儲管理單元依該存儲存取命令產(chǎn)生一自續(xù)命令響應,并且直接傳回該自續(xù)命令響應至該主機系統(tǒng),當辨識該存儲存取命令為該非自續(xù)類型命令時,該存儲管理單元通過該網(wǎng)絡發(fā)送該存儲存取命令至該存儲系統(tǒng),且依該存儲存取命令接收來自于該存儲系統(tǒng)的一命令響應,并且傳回該命令響應至該主機系統(tǒng)。
2. 根據(jù)權利要求l所述的存儲模擬裝置,其特征在于該非自續(xù)類型命 令選自于讀取命令、寫入命令以及格式化命令所組成的族群中的任意一種。
3. 根據(jù)權利要求1所述的存儲模擬裝置,其特征在于該自續(xù)類型命令 選自于査詢命令、模-式檢測命令以及請求檢測命令所組成的族群中的任意一 種。
4. 根據(jù)權利要求1所述的存儲模擬裝置,其特征在于該存儲單元選自于軟盤驅動器、硬盤驅動器、光驅、快閃磁盤裝置以及磁盤映像文件所組成 的族群中的任意一種。
5. 根據(jù)權利要求1所述的存儲模擬裝置,其特征在于該虛擬存儲模擬 模塊還包括一裝置列舉單元,依據(jù)一接口協(xié)議標準,用以列舉相對應于該存儲單元 的至少一虛擬存儲單元;一協(xié)議標準解碼裝置,依據(jù)該接口協(xié)議標準,用以對來自該主機系統(tǒng)的 該存儲存取命令進行譯碼;以及一第一命令傳送單元,用以傳送譯碼后的該存儲存取命令至該存儲管理 單元。
6. 根據(jù)權利要求5所述的存儲模擬裝置,其特征在于該接口協(xié)議標準 為一通用序列總線的一接口標準。
7. 根據(jù)權利要求1所述的存儲模擬裝置,其特征在于該存儲管理單元 還包括一解析單元,用以解析該存儲存取命令,以辨識該存儲存取命令是該自 續(xù)類型命令還是該非自續(xù)類型命令;一第一命令執(zhí)行單元,用以執(zhí)行該自續(xù)類型命令,以產(chǎn)生該自續(xù)命令響 應;以及一第二命令傳送單元,用以傳送該非自續(xù)類型命令至該通訊模塊,并且 觸發(fā)該通訊模塊,以使該通訊模塊傳送該非自續(xù)類型命令至該存儲系統(tǒng)。
8. 根據(jù)權利要求7所述的存儲模擬裝置,其特征在于該存儲管理單元 還包括一緩沖存儲裝置,用以存儲該存儲存取命令、該命令響應以及該自續(xù)命令響應。
9. 根據(jù)權利要求7所述的存儲模擬裝置,其特征在于該存儲管理單元 還包括一狀態(tài)模塊,用以監(jiān)視該存儲單元的一存儲狀態(tài)的變動事件,并且記 錄該存儲單元的存儲狀態(tài)。
10. 根據(jù)權利要求9所述的存儲模擬裝置,其特征在于該狀態(tài)模塊還 包括用以監(jiān)視該主機系統(tǒng)的狀態(tài)并且記錄該狀態(tài)。
11. 根據(jù)權利要求7所述的存儲模擬裝置,其特征在于該存儲管理單 元還包括一型態(tài)管理單元,用以記錄若干個裝置型態(tài),且檢査若干個命令型 態(tài)。
12. 根據(jù)權利要求ll所述的存儲模擬裝置,其特征在于該解析單元依 據(jù)該些裝置型態(tài)辨識該存儲單元的一裝置型態(tài),并且決定即將被執(zhí)行的一命 令型態(tài)。
13. 根據(jù)權利要求1所述的存儲模擬裝置,其特征在于該通訊模塊還 包括一命令封包單元,用以封包來自該存儲管理單元的該非自續(xù)類型命令;以及一傳收單元,通過該網(wǎng)絡,用以傳送該封包后的該非自續(xù)類型命令至該 存儲系統(tǒng),并且接收來自該存儲單元的該命令響應。
14. 根據(jù)權利要求13所述的存儲模擬裝置,其特征在于該存儲系統(tǒng)還 包括一應用程序模塊,通過該網(wǎng)絡與該通訊模塊進行通訊。
15. 根據(jù)權利要求14所述的存儲模擬裝置,其特征在于該應用程序模 塊還包括一命令接收裝置,用以接收來自該傳收單元的封包后的該非自續(xù)類型命令;一命令解碼裝置,用以將封包后的該非自續(xù)類型命令譯碼成為一執(zhí)行命 令;以及一第二命令執(zhí)行單元,用以執(zhí)行該執(zhí)行命令,以存取該存儲單元。
16. 根據(jù)權利要求15所述的存儲模擬裝置,其特征在于該應用程序模 塊還包括一命令響應傳送裝置,用以傳送該執(zhí)行命令的該命令響應至該通訊 模塊的該傳收單元。
17. —種存取方法,用以使一主機系統(tǒng)通過一網(wǎng)絡存取連接于一存儲系 統(tǒng)的一存儲單元,如同該存儲單元直接連接于該主機系統(tǒng),其特征在于該 存取方法包括下列步驟模擬相對應于該存儲單元的至少一虛擬存儲單元,以用于該主機系統(tǒng); 接收來自該主機系統(tǒng)的一存儲存取命令;辨識該存儲存取命令是一 自續(xù)類型命令還是一非自續(xù)類型命令; 當辨識該存儲存取命令為該自續(xù)類型命令時,依該存儲存取命令產(chǎn)生一自續(xù)命令響應,并且直接傳回該自續(xù)命令響應至該主機系統(tǒng);以及當辨識該存儲存取命令是該非自續(xù)類型命令時,通過該網(wǎng)絡發(fā)送該存儲存取命令至該存儲系統(tǒng),依該存儲存取命令接收來自于該存儲系統(tǒng)的一命令響應,并且傳回該命令響應至該主機系統(tǒng)。
18. 根據(jù)權利要求17所述的存取方法,其特征在于該非自續(xù)類型命令 選自于讀取命令、寫入命令以及格式化命令所組成的族群中的任意一種。
19. 根據(jù)權利要求17所述的存取方法,其特征在于該自續(xù)類型命令選自于査詢命令、模式檢測命令以及請求檢測命令所組成的族群中的任意一種。
20.根據(jù)權利要求17所述的存取方法,其特征在于該存儲單元選自于軟盤驅動器、硬盤驅動器、光驅、快閃磁盤裝置以及磁盤映像文件所組成的 族群中的任意一種。
全文摘要
本發(fā)明揭露一種存儲模擬裝置及其存取方法,其利用網(wǎng)絡存取一存儲單元,該存儲模擬裝置包括一虛擬存儲模擬模塊、一存儲管理單元以及一通訊模塊。虛擬存儲模擬模塊,用以模擬對應于該存儲單元的虛擬存儲單元,且接收存儲存取命令。存儲管理單元,用以辨識該存儲存取命令為自續(xù)類型命令還是非自續(xù)類型命令。通訊模塊,用以與該存儲單元進行通訊。其中,當該存儲管理單元辨識該存儲存取命令是自續(xù)類型命令時,即產(chǎn)生與該存儲存取命令對應的一自續(xù)命令響應,并且直接傳回該自續(xù)命令響應;當該存儲管理單元辨識該存儲存取命令為非自續(xù)類型命令時,則通過該網(wǎng)絡發(fā)送該存儲存取命令,接收與該存儲存取命令對應的命令響應,并且傳回該命令響應。
文檔編號H04L29/06GK101447982SQ200810128699
公開日2009年6月3日 申請日期2008年6月20日 優(yōu)先權日2007年11月30日
發(fā)明者劉建興, 林士能, 林志樺 申請人:宏正自動科技股份有限公司