1250747 玖、發明說明: 【發明所屬之技術領域】 本Ίχ明係關於網路存取之技術領域,尤指一種網際網 路小型電腦糸統界面(Internet Small Computer 5 System Interface,iSCSI)家庭網路閘道器。 【先前技術】 已知之小型電腦系統界面(Small Computet* System Interface,SCSI)協定已被儲存設備業界廣 10泛使用多年,SCSI協定可使用的週邊裝置不僅於如 磁帶機、磁碟機、磁碟陣列(Redundant Anay 〇f Independent Disks,RAID)及光碟機等儲存設備, 更包含了印表機等周邊裝置,可知SCSI協定是一個 廣用型的周邊設備存取協定。 15 另,儲存網路的觀念已提出多年,但習知技術 皆以光纖通道(Fibre Channel)作為其傳輪網路,而 由於網際網路(Internet)的快速發展及人們對網路 服務的依賴持續加深,不但使得資料儲左 丨才1请存的需求曰 益擴大,也使得如 何提供由Internet直接存取儲存 設備及相關儲存技術的研究更形重| 戈。其中, Internet SCSI (iSCSI)傳輸協定為一新凰 /、起的儲存 網路技術,此傳輸協定主要的功能是读. 疋遷過ISCSI的 協定資料單元(PDU),來將SCSI的命人β + J ρ 7及貧料在目 20 1250747 如發展已非常成热的IP網路上傳送,藉由i s c § i協 定,將使IP網路亦可成為儲存網路。 在以IP網路作為儲存網路時,使用者只需將里 伺服器及儲存設備換成iSCSI介面,便可以原有的 5 IP網路的交換設備,而建置出價廉物美的儲存網 路。然目前iSCSI的發展主要集中在需要高速的存 取速率及低存取延遲的應用,洚使得以031協定侷 限於資料中心的應用層次,而無法充分發揮iscsI 之網路存取及s C SI之廣用的特點。 10 近年來如數位相機(DSC)、數位攝影機(D8)、遊 戲機(Game Console)、行動碟(Pen Drive)等家電式 產口口及豕庭用網路(H〇me Networking)已蓬勃發 展 這些產品多提供以通用序列匯流排(Universal Senal Bus,USB)或1394等連接埠,用以傳輸内部 15丨夬門σ己丨思體或磁碟所存之數位資料至外界。如此一 來’提供由外界之Internet直接存取及分享家庭網 路中的數位儲存内容及裝置需求越來越大。家電產 口口擁有簡易使用與多元化之特性,因此,如何透過 1SCSI協定的轉換,以提供易於使用的家庭網路存 20 取機制,膏兔 i-c -n jt. J 見為一極重要之誤顳〇 1250747 本發明之主要目的係在提供一種i s c SI家庭網 路間道器’俾能使在此裝置上的消費性電子產品輕 XiSCSI協定提供internet存取及分旱等功能。 為達成上述目的,本發明之iSCSI家庭網路閘道器 5 4 匕括:外接通訊埠、内聯通訊淳、多數個序列傳輸 蜂、網路MAC及TCP/IP處理程序、iSCSI協定處理 &序、邏輯單元號碼(LUN)資料分流及SCSI命令處 私序、序列傳輸協定處理程序、及序列傳輸介面 處理程序。外接通訊埠係供連接至一外部網路;内 10聯通訊埠係供連接至一家庭網路;多數個序列傳輪 埠係供連接電子裝置;網路mac及TCP/IP處理程序 用以將由該外接通訊埠或内聯通訊埠收到的網路 封包轉換成不含T C P資訊的資料流,以及將欲傳送 的資料轉換成網路封包,以送至該外接通訊埠或内 15 聯通訊埠;i S C S I協定處理程序用以將要存取該電 子裝置的iSCSI協定資料單元轉換成SCSI命令,及 將欲存取外部網路或家庭網路中之具有i S C S I協定 之裝置之SCSI命令轉換成iSCSI協定資料單元;邏 輯單元號碼資料分流及S C S I命令處理程序用以將 20資料分流至連於該等序列傳輸璋上之電子裝置,及 處理來至電子裝置上的資料作s C SI協定的轉換;序 列傳輸協定處理程序執行序列傳輸協定中裝置分 類所屬之存取命令及序列傳輸協定的mac層;序列 傳輸介面處理程序提供有序列傳輸協定集線器及 7 I2s〇747 體爲式主控制器介面之處理程序以供序列傳輸實 層之資料多工處理使用,俾可同時使用多個序列 傅輪埠。 【實施方式】 ^為能讓貴審查委員能更瞭解本發明之技術内 奋’特舉較佳具體實施例說明却下。 圖1顯示本發明之iSCSI家庭網路閘道器10之架 籌 其包含有一外接通訊淳1 0 1、一内聯通訊埠 10 102、一内部設定及使用者介面處理程序1〇3、一網 路MAC及TCP/IP處理程序104、一 iSCSI協定處理程 序1 0 5、一閘道器管理機制1 〇 6、一邏輯單元號碼 (Logical Unit Number,LUN )資料分流及 SCSI命令 處理程序107、一序列傳輸協定處理程序1〇8、一序 15 列傳輸介面處理程序1 0 9、一個以上的序列傳輸·埠 1 1 0、以及一個S C S I裝置琿1 1 1。 前述外接通訊珲1 0 1較佳地為一乙太網路璋,係 供聯結至外部網路2 1,以執行資料封包的傳送,而 提供外部網路2 1存取連接於本發明之i S C SI家庭網 20 路閘道器之設備,此外接通訊埠1 0 1亦可為非同步 數位用戶專線(A D S L)或纜線數據機(C a b 1 e Μ 〇 d e m) 埠等。前述内聯通訊璋1 0 2較佳地為一乙太網路 埠,其係供聯結至具有乙太網路璋之裝置(如電腦 1250747 等)並執行資料封包及實體層之訊號轉換,以構成 一家庭網路1 1。 如述序列傳輸埠1 1 0及S C S I裝置埠111係供連 接數位相機1211、隨身碟1212、光碟機1213、印表機 5 I214、掃描器1215等各種電子裴置121,該等序列 傳輸埠1 10較佳為USB埠及1 394埠。 前述網路的MAC及TCP/IP處理程序ι〇4用以將 收到的網路封包轉換成不含Tcp資訊的資料流給 1 s C SI協定處理程序1 〇 5及閘道器管理機制丨〇 6、以 ίο及將iscsi協定處理程序105及閘道器管理機制ι〇6 欲傳送的資料轉換成網路封包,以送至外接通訊埠 1 0 1或内聯通訊埠1 〇 2。 如述i S C SI協定處理程序1 〇 5執行下列工作··將 要存取連接於閘道器10上之裝置121的1§(:31協定 15資料單元(PDU)轉換成SCSI命令;將欲存取外部網 路21或家庭網路u中之具有{8(;^1協定的裝置ι21 之SCSI命令轉換成iscs][ pDU ;對iscsi回應 (response)之處理;以及iscsi目標(Urget)至邏輯單 元號碼(LUN )之對應與資料區塊處理。 20 #述閘道器管理機制1 〇 6管理下列物件:連結於 閘C σσ 10上之I置121的插拔(plug-and-play)處 理,連結於閘這器丨〇上之裝置i 2丨之屬性管理;家 庭網路1 1及外部網路2 1的存取管理;以及對應至連 1250747 接於閘道器10上之裝置121之邏輯單元號碼(lun) 管理。 前述LUN資料分流及SCSI命令處理程序107執 行邏輯單元至裝置丨2 1間資料處理,將資料分至連 5 於序列傳輸埠11〇上之裝置121或SCSI裝置埠in之 裝置121、及合併來至裝置121上的資料。 前述序列傳輸協定處理程序1 0 8執行1 3 9 4或 USB協定中裝置分類(Device Class)所屬之存取命 令及序列傳輸協定的MAC層。 10 前述序列傳輸介面處理程序1 0 9提供有序列傳 輸協定集線器(HUB)及開放式主控制器介面(0pen Host Controller Interface,OHCI)之處理程序以供 序列傳輸實體層之資料多工處理使用,使得閘道器 1 0可同時使用多個序列傳輸埠1 1 0。 15 前述内部設定及使用者介面處理程序1 0 3係提 供使用者設定此閘道器1 〇内部處理參數(如名稱、IP 位址、傳送資料大小等)之功能。 以前述之架構,在内部設定及使用者介面處理 程序1 0 3設定完成此閘道器1 0之參數後,閘道器管 20 理機制1 〇 6先偵測外部網路存取用的外接通訊埠 1 0 1及家庭網路内聯用的内聯通訊璋1 02,並進行網 路組態之設定。其中’此閘道器1 0具有兩個IP位 址,一是内部ΪΡ位址,此位址的範圍遵照IETF RFC 所定義的範圍,其僅用於家庭網路1 1内使用,另一 10 1250747 個是外部IP位址,此位址用以讓外部網路2 1之節點 可以進入此閘道器1 0,其可由向外部的動態分配IP 位址的伺服器取得。 為取得内部IP位址,當有一新的閘道器進入網 5 路時,若無其他的可動態分配IP位址的伺服器存在 時,則此閘道器搜尋並使用一尚未使用的私有網路 的IP位址作為自己的内部位址,並自動成為一可動 態分配私有網路的IP位址的伺服器,並將本身的資 訊廣播給私有網路的所有節點。若當閘道器進入網 10 路且已有一可動態分配IP位址的伺服器時,則此閘 道器向此伺服器要求一私有網路的IP位址,當伺服 器註冊此閘道器後,便將閘道器的相關資訊廣播給 私有網路的所有節點。由於使用兩個IP位址,故可 藉由内部私有網路位址的提供,而讓使用者在家使 15 用時無須考慮安裝及設定的問題,系統將會自動設 定連結至網路,自動讓其他設備可以知道閘道器的 存在,自動讓其他設備可以依權限使用閘道器内的 設備。 在設定網路組態後,閘道器管理機制1 0 6動態的 20 偵測裝置1 2 1的插入或移出,當有裝置1 2 1插入或移 出此閘道器1 0時,為使資料流至對應之處理程序及 廣播訊息至連線至此閘道器1 0的i S C S I節點,閘道 器管理機制1 0 6執行下列内部設定:設定新加入的 裝置1 2 1在閘道器1 0中的邏輯處理關係,例如將每 11 1250747 個裝置121視為一個邏輯單元(L〇gical υηΗ)並有一 獨立的SCSI邂軏單元號碼(LUN);當偵測新的裝置 1 2 1加入時’間逼器管理機制1 〇6將此裝置1 2丨的加 入相關資訊傳給連線至此閘道器1〇的所有iscs]^^ 5點;當偵測有裝置1 2 1移出時,閘道器管理機制i 〇6 將此裝置1 2 1的移出相關資訊傳給連線至此閘道器 10的所有iSCSI節點。 當有如U S B〇T G的數位相機之主動傳送裝置 1 2 1插入或移出此閘道器丨〇時,閘道器管理機制1 〇6 10將發出iSCSI發現(discovery)訊息至連線至此閘道 1 0的所有提供i S C SI周邊裝置之節點,並啟動一 使用者介面以提供使用者選擇欲傳送之iscsi目的 I置。閘道為管理機制1 〇 6設定了實體埠至邏輯單 兀的對應關係及裝置型態等資訊以提供i s C s〗協定 15處理程序105、LUN資料分流及SCSI命令處理程序 1 0 7及序列傳輸協定處理程序1 〇 8使用。
當存取命令由網路中的主動裝置發出至此閘道 态ίο %,iscsi協定處理程序1〇5根據欲被存取之 iSCSI裂置貢訊,將命令轉換對應至lUN,該[UN 20資料刀’爪及S C S 1命令處理程序1 0 7將S C SI命令及資 料傳給對應之s c s Z裝置埠丨丨1。若Lun對應之裝置 為USBI置’則將8(::81命令轉換成uSB裝置之命令 後,再傳給對應之序列傳輸協定處理程序1〇8加以 處理。 12 1250747 圖2係以階層顯示前述架構之處理流程,其中在 第一層之USB MAC與實體層中,係以USB MAC/HUB/OHCI處理區塊來處理與掃描器1215、印 表機12 14、光碟機1213、數位相機1211、隨身碟1212 5等I置之貫體連接訊號。第二層係提供u S B序列傳 輸協定處理程序,包括掃描器類別(class)處理區 塊、印表機類別處理區塊、大容量記憶(mass st〇rage) 類別處理區塊、U S B裝置處理區塊,其分別對應前 述之掃描器1 2 1 5、印表機1 2 1 4、光碟機1 2 1 3、隨身 1〇碟1 2 1 2等裝置,以執行對應之裝置所屬之存取命令 及序列傳輸協定。在第三層之LUN資料分流及SCSI 命令處理程序中,係以一 USBeSCSI轉換 (translation)處理區塊提供USB要求區塊(USB Request Block,URB)與命令描述區塊(Command 15 Descriptor Block,CDB)之間做轉換,使得 USB 與 SCSI介面可以互通,並用以決定URB的轉換類型 (例如為 Bulk transfers、Control Transfers、Interrupt Transfers、Isochronous transfers等)。在第四層之 i S C S I協定處理程序中,係以i S C S I目標處理區塊及 20 LUN對應(Mapping)將SCSI命令及資料封裝成網路 封包在IP網路上傳輸,並作LUN與USB實體琿上裝 置的對應,在TCP/IP區塊處理網路封包轉換之TCP 資訊。 13 1250747 為說明本發明之i s C SI家庭網路閘道器的運 作,以下以USB隨身碟1 2 1 2為例說明其讀寫、插入 以及移出之處理。圖3所示為插入USB隨身碟1212 之i S C SI家庭網路閘道器之架構的處理流程,如圖3 5 所示,閘道器1 0之序列匯流排(S e r i a 1 B u s)、序列驅 動器(Serial Driver) 、 SCSI至序列驅動器 (SC SI-Serial Driver)、及 iSCSI驅動器與 TCP/IP 分別 為圖2之第一至第四層。圖4進一步顯示SCSI至序列 驅動器,其將SCSI命令/資料轉換成序列協定之大 10 量儲存記憶體(Mass Storage)所用到的序列命令/資 料,如圖所示,在SCSI層的資料處理方式分為命令 (Command)與資料(Data),並透過 Scsi —Request 資料 結構將兩者結合在一起,並且Scsi 一Re quest的内部 指標cmnd指向SCSI CDB,而另一個内部指標 15 scatterlist則指向資料緩衝器(Data Buffer)。 如圖5所示,當有USB隨身碟12 12插入閘道器1〇 時,閘道器1 0會偵測到此一裝置並將負責初始化序 列協定裝置(步驟S 5 1 )、讀取該序列協定裝置資訊 (步驟S52) ’分配系統資源給該序列協定裝置(步驟 20 S 5 3 ),並註冊該序列協定裝置成為閘道器丨〇下的一 個LUN,且將該LUN加入裝置名單中(步驟S54)。 如圖6所示,當USB隨身碟1212被拔出閘道器1〇 時(步驟S61),需判別是否有使用者(Initiat〇r)正使 用該LUN(步驟S62),若有則通知使用者請求終止連 14 1250747 線(步驟S63),並且釋放資源(步驟S64),若無則直 接釋放資源(步驟S64)。最後再將該LUN從裝置名單 中移除(步驟S 6 5 )。 當使用者欲讀取閘道器時,其流程如圖7所示, 5 iSCSI讀取類型命令PDu進入閘道器(S 701),閘道器 將PDU内的讀取類型CDB取出,並配置讀取類型命 令所需傳回的資料緩衝區(S 7 〇 2),供從L U N讀取後 的存放資料使用,再將讀取命令由S C SI轉換至序列 協定(S703),計算出LBA位址(S704),再讀取序列 10 協定之大量儲存記憶體(s 7 〇 5 )。讀取完成後將資料 儲存至資料缓衝區(s 7 〇 6 ),再將資料傳送到序列協 定至SCSI轉換層轉成SCSI協定的資料(S 707),再傳 遞給iSCSI驅動器設定iScsi命令為完成狀態 (S708),並將資料封裝為一 iScsi PDU (S709)。 15 當使用者寫入閘道器的LUN時,其流程如圖8 所示,iSCSI寫入類型命令pdu進入iSCSI閘道器 (S801),由閘道器將pdu内的CDB與SCSI資料取出 (S 802),並傳送給SCSI至序列轉換層(S 803 ),計算 出LBA位址(S804),再寫入序列協定之大量儲存記 20憶體(S 805 )。等待接收SCSI完成訊息(d〇NE M e s s a g e) (S 8 0 6),再將序列協定完成訊息傳送到序 列協定至SCSI轉換層轉成SCSI協定的完成訊息 (S 8 0 7),再傳遞給i s C SI驅動器設定i S C SI命令的狀 15 1250747 並回覆一回應PDU給使用者 悲為完成(S8〇8), (S809) 〇 a力。上之說明可知’本發明係藉由以iscsi協定 為木構的家庭網路間道器,可提供外 5 10 15
網路透過 i s Γ ς τ ± σ ^ J SI協疋輕易的存取在此閘道器上的儲 子$ 〇 i裝置,進而提供如數位相機、數位摄与 機j家庭個人影音播放機、遊戲機、或隨身碟等: L子又備之消費性電子產品一個簡易插拔及一
5 ’的存取機制,俾利用單一的協定以簡易地聯結 :際網路至家電資訊產品。如此一來,使用者便可 又距離的輕易分旱及存取家中存於的家電資訊 產品中的數位多媒體資料。 上述實施例僅係為了方便說明而舉例而已,本 發明所主張之權利範圍自應以申請專利範圍所述 為準’而非僅限於上述實施例。 【圖式簡單說明】 圖1係本發明之iSCSI家庭網路閘道器之架構圖。 圖2係顯示本發明之以(:^1家庭網路閘道器之處理流程。 2〇圖3係顯示插設有USB隨身碟之iSCSI家庭網路閘道器之處 理流程。 圖4係依據本發明之SCSI至序列驅動器的示意圖。 圖5係顯示當USB隨身碟插入閘道器時之處理流程。 圖6係顯示當USB隨身碟被拔出閘道器時之處理流程。 16 1250747 圖7係顯示當使用者欲讀取閘道器時之處理流程。 圖8係顯示當使用者欲寫入閘道器時之處㈣程。 【主要元件符號說明】 家庭網路11 外接通訊埠1 〇 1 閘道器10 5 外部網路21 一内聯通訊埠102 内部設定及使用者介面處理程序1 〇3, 網路MAC及TCP/IP處理程序1〇4 lSCSI協定處理程序1〇5 # 10閘道器管理機制1〇6 邏輯單元號碼資料分流及SCSI命令處理程序107 序列傳輸協定處理程序1 〇8 序列傳輸介面處理程序109 序列傳輸埠110 SCSI裝置璋111 15 17