TWI293728B - Network!ai/o processors!aadaptors and operation methods thereof - Google Patents

Network!ai/o processors!aadaptors and operation methods thereof Download PDF

Info

Publication number
TWI293728B
TWI293728B TW092103297A TW92103297A TWI293728B TW I293728 B TWI293728 B TW I293728B TW 092103297 A TW092103297 A TW 092103297A TW 92103297 A TW92103297 A TW 92103297A TW I293728 B TWI293728 B TW I293728B
Authority
TW
Taiwan
Prior art keywords
data
adapter
network node
network
message
Prior art date
Application number
TW092103297A
Other languages
English (en)
Other versions
TW200306473A (en
Inventor
Smith Hulbbert
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200306473A publication Critical patent/TW200306473A/zh
Application granted granted Critical
Publication of TWI293728B publication Critical patent/TWI293728B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Circuits Of Receivers In General (AREA)
  • Hardware Redundancy (AREA)

Description

1293728 ⑴ 玖、發明說明 (發明說明應敘明 技術領域 •發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說哪 •本發明係關於網路資料儲存。 先前枯術 在傳統電腦網路中配置一個或更多 “佰服哭,…„ ㈣更夕個伺服裔電腦節點或 B ro ,5服益可關聯於一個或更多個碟片大量館存裝 置陣m亦即與之交換資料並控制該等陣列),由網路内執 仃之程序產生的使用者㈣可儲存在該科列中,且此類 資料可由這些程序從料陣财取還。這些陣列中的至少 一個可為獨立碟片的冗餘陣列(下文中稱為冗餘陣列),儲 存在主要碟片大㈣存裝置陣列(下文中稱為主要陣列)内 的主要資料卷之副本(或鏡像資料mi叫可被複製在該冗 餘陣列中,且當主要陣狀障時可從該冗餘陣列恢復該被 複製資料卷(下文中稱為冗餘資料卷)。下文中,若冗餘陣 列儲存一冗餘資料卷而該冗餘資料卷是主要陣列内一主要 資料卷之副本,則稱該冗餘陣列“關聯於”該主要陣列。而 且在下文中,若冗餘資料卷是主要資料卷之鏡像資料,則 稱該几餘資料卷“關聯於,,該主要資料卷。 在此傳統網路中,關聯於主要陣列的伺服器(下文中稱 為發端伺服器”)可經由一網路通訊連結連接至另一個關 聯於冗餘陣列的伺服器(下文中稱為“目標伺服器”),且冗 餘陣列可關聯於主要词服器。發端伺服器與目標伺服器可 各包括各自的網路介面卡(network interface card; NIC)、 主機匯流排轉接器(host bus adapter ; HBA)、中央處理單 兀(central processing unh ; CPU)、及系統記憶體。在發端 1293728 (2) - 發明說明續頁 伺服器與目標伺服器中, 盥夂白从么 各伺服态之各自的中央處理單元 二自的系統記憶體由各自的系統匯流排 的網路介面卡與各自的主機匯流排轉接器由各自 :出(I/O)匯流排與輸入/輸出控制器系統相互::端 二内的網r面卡由通訊連結連接至目標飼服器2 、·’路,丨面卡,發端伺服器内的主機匯流排轉接 要陣列並控制主要陣列,且 至主 早幻且目私伺服益内的主機匯流排轉 ^連接至冗餘陣列並控制冗餘陣列。各自的程式程序駐 子在伺服益内的各自系統記憶體内’系統記憶體内的程式 程序控制伺服器的各自中央處理單元以使伺服器能夠實現 傳統的同步資料複製作業。駐存在各自系統記憶體内的各 自程式程序包括各自的作業系統、RAID (Redundant of Independent Disks獨立碟片冗餘陣列)驅動程式、複製 驅動程式、及網路驅動程式/通訊堆疊程序。應用層次的 資料庫程序也駐存在發端词服器之系統記憶體内。 發端伺服器的使用人可經由使用者介面發出一要求給駐 存在發端伺服器内之應用層次程式程序以將主要資料卷内 的使用者資料儲存在主要陣列内。該程序根據此要求產生 一資料寫入要求給發端伺服器内的一個或更多個作業系統 私序,該寫入要求使發端伺服器的中央處理單元將使用者 為料經由發端祠服器之系統匯流排傳送到發端祠服器之系 統5己憶體並儲存於該記憶體内。然後,這些作業系統程序 發出一要求給發端伺服器的RAID驅動程式,該要求使發 端伺服器之中央處理單元經由發端伺服器之匯流排從發端 (3) 1293728 發明說明績頁 伺服器之系統記憶體取還該資料、將該資料打散成一個或 更多個資料區段(譬如小電腦系統介面<Small c〇mpmer System Interface ; SCSI>通信協定資料區段)、將資料區段發送到 發端伺服器之系統記憶體並儲存在該記憶體内、並使發端 伺服器之輸入/輸出匯流排控制器經由發端伺服器之系統 匯流排從發端伺服器之系統記憶體取還該等區段且將該等 區段轉遞給發端伺服器之主機匯流排轉接器。發端伺服器 之主機匯流排轉接器接著將該等資料區段寫入主要資料卷 内,且當資料區段已經成功地寫入主要·資料卷内時,發端 伺服器之主機匯流排轉接器經由發端伺服器之輸入/輸出 匯流排與控制器系統和系統匯流排返還一 “寫入完成,,訊息 給發端伺服器之中央處理單元以通知該寫入完成。 發‘伺服器之作業系統程序也根據來自應用層次程序之 该要求請求發端伺服器之複製驅動程式程序命令發端伺服 益之中央處理單元產生該使用者資料的一個副本,並將該 使用者資料副本打散成一個或更多個複製資料封包,且將 違4封包儲存在發端伺服器之系統記憶體内。當這些封包 已經儲存在發端伺服器的系統記憶體内之後,發端伺服器 之網路驅動程式程序使發端伺服器之中央處理單元經由發 端飼服器之系統匯流排從發端伺服器之系統記憶體取還該 等封包、將該等封包與標頭和其他資訊打包以形成一個或 更多個乙太網路資料框(Ethernet frame)、將該等資料框經 由發端伺服器之系統匯流排、輸入/輸出匯流排和控制器 系統轉遞給發端伺服器之網路介面卡、並使發端伺服器之 (4) Ϊ293728 發明說明縝頁 服w面卡將該等賣料框經由乙太網路連結轉遞給目標伺 服裔之網路介面卡。 器之司服器之網路介面卡接收該等資料框,且目標祠服 驅動^業系統、RAID驅動程式、複製驅動程式、及網路 = 弋通汛堆豐程序根據接收到的資料框使目標伺服 中央處理單元執行作業,該等作業將資料封包從資料 次=匕破攸貧料封包重組使用者資料、將重組之使用者 貝:打散成為一個或更多個資料區段、並將該等區段儲存 在=餘資料卷内。在全部的使用者資料已經成功地寫入冗 餘資料卷内之後,目制服器之作業系統、複製驅動程式 及、、周路驅動程式程序使目標伺服器之中央處理單元執行 作業,該等作業產生一資料複製成功訊息框並將該訊息框 轉遞(亦即經由目標伺服器之網路介面卡與通訊連結)給發 端伺服器,表示已成功地將該資料複製入冗餘陣列内。從 上文可知,由目標伺服器之中央處理單元執行的上述作業 =及目標伺服器之中央處理單元、系統記憶體、及系統匯 流排之間交易/互動中相當大量的交易/互動。 發端伺服器與目標伺服器内必須執行非常大量的中央處 理器、系統記憶體、及系統匯流排交易與作業以在此傳統 周路内貫現上述資料儲存體相關的作業。不幸的是,實現 這些作業會造成發端伺服器與目標伺服器的中央處理單元 、系統記憶體、和系統匯流排處理資源過量消耗。 發明内容 網路可包括 本發明的一種具體實例可實施於其中的一種 (5) 1293728 發明說明績頁 經由網路通訊連結連接在一起的第—與第二網 別關聯於第一與第二網路節點 p ·.刀 置。兮裳一叙势 與弟—組大量儲存裝 ”'第一第一網路節點可分別包括第一盥 輸出(I/O)處理器。第一給入♦田 /、弟一輸入/ 第輸入/輸出處理器根據-第-要求 執仃關聯於第-組大量儲存裝置之第_資料儲存 ,並從第一網路節點經由該連結 … 敗Μ g 弟一要求到第二網 關nr使第:輸人/輸出處理11根據該第:要求執行 關聯於第二組大量健存裝置之第二資料儲存相關作業。 現在參考圖丨到9描述本發明之範例性具體實例。圖丨是 舉:m明一種資料儲存網路10之高度示意圖,本發明之具 體實例可有利地實施於該資料儲存網路中。網路1〇可包括 發端祠服器節點12、目標伺服器節點14、及資料通訊網路 11。網路11可包括一個或更多個區域網路及/或廣域網路 ,該等網路可利用一個或更多個知名的網路通訊協定(譬 如以乙太網路及/或傳輸控制通訊協定/網際網路通訊協定 <Transmission Control Protocol/Internet Protocol ; TCP/IP> 為基礎的通訊協定)。發端伺服器12可經由網路連結34與 3 6連接至網路11,且目標伺服器14可經由網路連結38與4〇
連接至網路1 1,其連接方式可讓伺服器12與14經由網路U 在彼此間通訊。發端伺服器丨2與目標伺服器丨4可在地理位 置上彼此遠離。 發端伺服器12包括中央處理單元16、系統記憶體ι8、使 用者介面20、主機橋接器/匯流排系統22、輸入/輸出橋接 1293728 (6) 發明說明縝頁 器/匯流排系統24、主機匯流排轉接器(hba) 26、HBA 28 、及分別為30與32的兩陣列或兩組碟片大量儲存裝置。碟 片裝置陣列或組30與32各可包括一個或更多個(或如本發 明之本具體實例中的情況下為複數個)各自的碟片大量儲 存裝置(譬如光學或磁性碟片大量儲存裝置)。或者,若伺 服器12被以精於本技術領域者清楚知道的方式適當地修改 ,則陣列30與32也可包括各自的全晶體大量儲存裝置。 HB A 28可經由相關的以串列先進技術附接(;§eriai Advanced Technology Attachment; S_ATA)為基礎之介面 210 (請看圖 3) 電氣連接至陣列3 2並被組態以與陣列3 2交換資料及命令; HB A 28藉著經由介面210發送適當的命令到陣列32,可使 命令内引用或包含之資料儲存入陣列32内或從陣列32取還 。HBA 28也可包括輸入/輸出處理器27、HBA記憶體202、_ 網路介面204和輸入/輸出橋接器/匯流排系統介面208。在 HB A 28内,處理器27、記憶體202、及介面204,208和210 可由 PCI (並列元件相互連接 Peripheral Component Interconnect ,譬如為美國奥勒岡州97221波特蘭市#217西南西門大道 5440 號之 PCI特別利益關係群組<PCI Special Interest Group of 5440 S.W. Westgate Drive, #217, Portland, Oregon 97221, USA>a行之PCI本機匯流排規格第2.2版<PCI Local Bus Specification Rev. 2·2>中所述的類型或與之相容的類型, 下文中稱為“PCI”)或PCI-X (PCI-extended,譬如為可從PCI 特別利益關係群組發行且取得之PCI-X規格第1.0a版中所 述的類型或與之相容的類型,下文中稱為“PCI-X”)匯流排 1293728 (7) 發明說明繽頁 系統200相互連接並使用匯流排系統2〇〇在彼此間交換資料 與命令。當然’匯流排系統200也可包括其他類型的匯流 排系統而不悖離本發明的此具體實例。處理器27可包括包 含於由本專利申請者市售之積體電路晶片組内之積體電路 曰曰片(言如包括夬特爾InteP 80200處理器和Intel ® 80312成 套晶片之英特爾Intel® 80310晶片組),但是替代方案中輸 入/輸出處理器27也可包括其他積體電路晶片(譬如Intel(E) 80960 RM/RN I/O處理器或Intel® 80321處理器),或其他類 型的處理器/積體電路而不悖離本發明之本具體實例。網 路介面2〇4可連接至連結34、可被組態以幫助/實現實體層 作業’該實體層作業讓HBA 28與伺服器12可在網路系統 10内與節點14通訊。橋接器介面2〇8連接至輸入/輸出橋接 器/匯流排系統24且被組態以使HBA 28能夠與系統24交換 資料和命令。記憶體202可包括用來儲存程式程序2〇7 (且 讓程式程序可駐存於其内)的隨機存取記憶體(rand〇m扣““ memory ; RAM)、可用來儲存打算要存入的資料或最近從 陣列32取還之資料的高速快取記憶體、及可用來當hbA的 外部供電發生停電時把儲存在快取記憶體内之資料儲存的 非揮發性電氣可抹除可編程記憶體(electHeally programmable memory ; EEPROM)。雖然圖式中未顯示, 仁HBA 28可包括一系統以偵測此種停電發生的時間並觸 發處理裔27使記憶體2〇2將儲存在快取記憶體内的資料儲 存入EEPR〇M内;—緊急t池備援供電系統(未顯示)可包 含於HBA 28内以在這些作業期間對HBA 28供電。處理器 1293728 __ (8) 發明說明續頁 27可被編程以在後續電源恢復供電給hb a 28時,將儲存 在EEPROM内的資料取還入快取記憶體中。有關HBA 28之 結構與操作的其他細節將於下文中陳述。 雖然圖式中未顯示,但請注意HB A 26各自的結構可大 體上與HB A 28各自的結構相同。所以,為了避免不必要 的重複描述’此處不詳細陳述HB A 26之結構。下列的陳 述就夠了: HB A 26可經由包含於HB A 26内各自的以S-AT A為基礎之介面(未顯示)電氣連接至陣列3 〇且可被組態 以與陣列30交換資料和命令;藉著經由此以S-ΑΤΑ為基礎 之介面發出適當命令給陣列30,HBA 26可使此類命令中 引用或包含之資料儲存入陣列30或從陣列3〇取還。HBa 26可包括各自的輸入/輸出處理器25,該處理器本身的結 構可大致類似於輸入/輸出處理器27的結構。HB a 26也可 包括各自的網路介面(未顯示),該網路介面之結構可大致 類似於介面204之結構,且可經由連結36連接至網路η。 輸入/輸出橋接器/匯流排系統24與主機橋接器/匯流排系 統22可各自包括輸入/輸出控制器集線器系統與記憶體控 制器集線器系統,該等系統可使用包含於由本專利申請者 市售之積體電路晶片組(譬如Intel® 86〇晶片組)内之積體電 路晶片建構。中央處理單元16、系統記憶體18、及使甩者 介面20可經由主機橋接器/匯流排系統22彼此電氣連接且 連接至輸入/輸出橋接器/匯流排系統24。系統22被組態以 容許/幫助中央處理單元16、記憶體18、使用者介面2〇、 及系統24之間交換資料與命令。此外,系統24可被組態以 -12- 1293728 (9) 發明說明續頁 谷許/幫助系統22與轉接器26和28間交換資料與命令。 記憶體18可包括被用來儲存程式程序19的ram (程式程 序可駐存在RAM内)。記憶體丨8内的ram也可儲存打算要 儲存在陣列30與32内或從該等陣列取還的使用者資料。 CPU 16可包括英特爾intel® Xe〇nTM處理器,該處理器為本 專利申請者市售的處理器,但CPU 16可包括其他種類的處 理器而不悖離本發明。 目標伺服器14包括CPU 42、系統記憶體44、使用者介面 46、主機橋接器/匯流排系統48、輸入/輸出橋接器/匯流排 系統50、HBA 52、HBA 54、及兩個碟片大量儲存裝置陣 列或組分別為56和58。各個碟片裝置陣列或組56和58可 包括一個或更多個(或像在本發明具體實例的情況下為複 數個)個別碟片大量儲存裝置(譬如為光碟或磁碟大量儲存 裝置)。或者,若伺服器14以熟諳本技術領域者所清楚的 方式適當修改,則各陣列56與58也可包括各自的全晶體大 量儲存裝置。 HBA 52可經由各自的傳統以S_ATA為基礎之介面51〇 (請 看圖6)電氣連接至陣列56並被組態以與陣列56交換資料和 指令;藉著經由介面510發出適當的指令給陣列56,HBa 52可將指令所引用或包含的資料儲存在陣列56内或從陣列 56取還。HBA 52也可包括輸入/輸出處理器53、HBA圮怏 體502、網路介面504和輸入/輸出橋接器/匯流排系統介面 508。在HBA 52内,處理器53、記憶體502、和介面5〇4, 508及510可使用PCI或PCI-X匯流排系統5〇〇相互連接並在 -13- (10) 1293728 發明說明續頁 =此間交換資料與指令。處絲53可包括包含於本專利申 市曰口之積體電路晶片組内的積體電路晶片(譬如⑧ 310曰曰片),但是輸入/輸出處理器w也可包含其他的積 體電路曰曰片(譬如Intel® 8〇96〇 rm/rn ι/〇處理器或加^⑧ 80321處理器)’或其他種類的處理器,積體電路,而不悖 離本發明之本具體實例。網路介面5〇4可連接至連結U、 可被組悲以協助/實現實體作業,該實體作業讓HBA 52與 伺服器14在網路系統1〇内和節點12通訊。橋接器介面5〇8 連接至輸入/輸出橋接器/匯流排系統5〇且被組態以讓HBA 52犯夠與系統48交換資料與指令。記憶體5〇2可包括可被 用來儲存程式程序507 (且程式程序駐存於其 内)之RAM、 可被用來儲存打算要儲存在陣列56内或最近從陣列56取還 之使用者資料的高速快取記憶體、及可被用來在Hba 52 之外部供電發生斷電時儲存快取記憶體内儲存之資料的非 揮發性EEPROM。雖然圖式中未顯示,但HBA 52可包括一 系統以偵知此斷電何時發生,並觸發處理器53以使記憶體 502將快取記憶體内儲存之資料儲存入EEpr〇m内;HBA 52 内可包括一緊急電池供電備援系統(未顯示)以在這些作業 期間對HBA 52供電。處理器53可被編程以在^^八52於後 來恢復供電時將儲存在EEPROM内之資料取還入快取記憶 體。下文將陳述有關HB A 52的結構與作業之其他細節。 雖然圖式中未顯示,但請注意HB A 54的相關結構可大 致與HB A 52的相關結構相同。所以’為了避免不必要的 敘述重複,本文不詳細陳述HBA 54之結構。然而,只要 1293728 (11) ) ——- 發明說明續頁 說脱54可經由HBA 54内包含之相關的傳統為 基礎之介面(未顯示)電氣連接至陣㈣,且可被組態以盘 陣列58交換資料和指令就足夠 疋^ Γ,猎者經由此以ΑΤΑ為基 礎之介面發出適當的指令給陣列58,ηβα ^可使此指令 所引用或包含的資料館存在陣列58内或從陣列Μ取還: 54可包括相關的輸入/輸出處理器&輸入/輸出處理 器5 5的相關結構可大致類似於輸入/輸出處理器$ 3之相關 結構。ΗΒΑ 54也可包括才目關的網路介面(未顯示),該網路 介面的相關結構大致類似於介面5〇4的相關結構且可經由 連結38連接至網路11。 輸入/輸出橋接器/匯流排系統50與主機橋接器/匯流排系 統48可分別包括輸入/輸出控制器集線器系統及記憶體控 制器集線器系統,該等系統可使用包含於本專利申請人市 售之積體電路晶片組(譬如Intef 860晶片組)内之積體電路 晶片建構而成。CPU 42、系統記憶體44、及使用者介面46 了;^由主機橋接器/匯流排系統4 8彼此電氣連接且連接至 輸入/輸出橋接器/匯流排系統50。系統48被組態以容許/協 助資料與指令在CPU 42、記憶體44、使用者介面46、及系 統50之間交換。此外,系統5〇被組態以容許/協助資料與 指令在系統48與轉接器52和54之間交換。 記憶體44可包括可被使用來儲存程式程序45之ram (且 程式程序駐存於其内)。記憶體44内之RAM也可儲存要被 儲存入陣列56和58内的使用者資料或從該等陣列取還的使 用者資料。CPU 42可包括Intel⑧XeonTM處理器,但CPU 42 -15 - 1293728 (12) - ) 發明說明縝頁 可包括其他種類的處理器而不悖離本發明。 在伺服器12内,轉接器26與28可各包括各自的電路板, 該等電路板可經由各自的電機連接器(未顯示)電氣地且機 械地連接至一主機板(未顯示)。伺服器12内的主機板可包 括CPU 16、圯憶體18、及系統22和24。當轉接器26和28以 如此方式連接至何服器12内的主機板時,轉接器2 6和2 8可 變成連接至伺服器12内之主機板内的系統24。獨立的電機 連接器(未顯示)可配置在伺服器12内以將陣列3〇和32内的 碟片大量儲存裝置分別連接至轉接器26和28。 在伺服器14内,轉接器52與54可各包括各自的電路板, 該等電路板可經由各自的電機連接器(未顯示)電氣地且機 械地連接至一主機板(未顯示)。當轉接器52和54以如此方 式連接至伺服器14内的主機板時,轉接器52和54可變成連 接至伺服器14内之主機板内的系統5 〇。獨立的電機連接器 (未顯示)可配置在伺服器14内以將陣列56和58内的碟片大 量儲存裝置分別連接至轉接器52和54。 雖然在網路1〇内,轉接器26, 28, 52和54可分別經由各 自的以S-ATA為基礎之介面和通訊協定連接至碟片陣列3〇 ,32, 56和58並與之通訊,若轉接器26, 28, 52和54及碟 片陣列被適當地修改,則轉接器26,28,52和54也可分別 經由其他種類的介面和通訊協定(譬如以光纖通路<Fibre Channel ; FC>或小電腦系統介面<SCSI>為基礎之介面和 通訊協定)連接至碟片陣列30,32,56和58而不悖離本發 明的本具體實例。此外,雖然圖式中未顯示,但碟片陣列 1293728 發明說明績頁 3/和32可包裝在與祠服器12的實體機殼實體分離的實體機 殼内m車列56和S8可包裝在與飼服器u的實體機殼實 體分離的實體機殼内n的替代方案中,若網路職 適當地修改,職服11 12可僅包括單-個HBA·雖然伺服哭 12内包括多重主機匯流排轉接器可有助於連接至額外的目 標伺服器(譬如除了目標祠服器14之外的其他祠服器)且可 有助於在網路1〇内實施故障容錯機能,該機能可有助於當 伺服器12内單-個HBA故障時消除網路1()内的單點故障。 現在參考圖i_9描述網路系統1〇的操作。雖然圖式中未 顯示’使用者介面20和46各可包括各自的傳統鍵盤、指向 裝置(·#如滑鼠或軌跡球裝置)、終端機/顯示單元、基本輸 入7輸出系統(BI〇S)等。藉著利用使用者介面20,飼服器 12的使用人(未顯示)可發送指令給cpu 16和駐存在記憶體 18内的知序19並從其接收輸出資料,該等程序讓使用人可 控制並監督伺服器12之㈣。類似地,藉著利用使用者介 面46,伺服器14的使用人(未顯示)可發送指令給u和 駐存在記㈣蝴的料45並從其減輸出:請,該等程 序讓使用人可控制並監督伺服器14之作業。 可駐存在發端飼服器12中之系統記憶體18内的程序㈣ 可有複數個作業系統程式程序4叫複數個應用層次的程 式程序402 (請看圖5)β可駐存在目㈣服器14中之系統記
It體44内的&序45中可有相關的複數個作業系統程式程序 300 (請看圖4)。 睛特別參考圖1,5與7,伺服器12的使用人可利用介面 -17 - (14) 1293728 發明說明績頁 20發送-與資料儲存有關的要求/指令給包含於應用層次 之私式私序402内之程式程序(譬如為一關聯式資料庫程序) 。此指令譬如可要求分別在發端伺服器12内之主要陣列(丝 如陣列32)中的資料卷(譬如主要資料卷33)與目標祠服器;4 内的相關冗餘陣列(譬如陣列56)中之資料卷(譬如冗餘資料 卷57)間建立複製/鏡像f料卷對組關係、此種關係之飼服 、此種關係在此㈣服已經發生之後的重新建立、此種關 係所包含之f料卷33和57的大小改變(譬如擴大或縮小)、 或當使用者資料404已經健存入系統記憶㈣内之後,將 使用者資料(譬如使用者資料4〇4)儲存入主要陣列η内之 主要貝料卷33中、及將冗餘陣列%内之冗餘資料卷η中的 該資料4〇4複製為使用者資料使用者資料4Q4可&一 個或更多個應用層次之程式程序4〇2的操作產生、或者也 可由網㈣内的委託端節點(未顯示)產生並(譬如經由包含 於伺服盗12内之未顯示的網路介面卡mc)遞送給伺服器u 卷33與57可有相同的個別大小(譬如在資料儲存 二曰 '可為可跨越-個以上相關實體碟片大量儲 資料卷,且/或可耗用比包含於單一相關 只體碟片大1儲存裝置内整個資料赌存空間為少的空間。 根據由飼服器12的使用人發出之資料儲存相關作 /曰令’該要求/指令所發往的程式料會使咖16產生一 業要求並經由系統22提供給記憶體_之 的一程序,該作業要求對應於由伺服 使用者發出的要求/指令(亦即,要求執行與由使用 1293728 發明說明縝頁 (15) 人要求相同的資料儲存相關作業;請參考圖7中的作業 602)。接收在作業602内產生之要求的作業系統程序根據 作業602内產生之要求會使cpu 16產生一資料儲存相關作 業要求60並經由系統22,24及200提供給HBA 28内的處理 器27,該作業要求60對應於由使用者發出之要求/指令(請 參考圖7中的作業604)。或者,也可由包含於程序19内的 一背景程序(未顯示)使CPU 16產生要求6〇並提供給處理器 27。不論在二種方式中的哪一種中,做為作業6〇4的一部 为’若由使用者發出的要求/指令要求將資料4〇4儲存入資 料卷33與57内,則CPU 16也可將資料4〇4從記憶體18取還 並經由系統22,24和200遞送給處理器27,且要求60可包 含或引用被遞交給處理器27之資料404 ;處理器27可使被 遞交之資料404在初始時儲存在記憶體2〇2内。 處理器27可根據要求60促成執行要求6〇内所要求之資料 儲存相關作業(請參考圖7中的作業606)。亦即,要求6〇内 要求之資料儲存相關作業執行會需要發端伺服器丨2内與目 標伺服器14内各自的資料儲存相關作業組的執行;此外, 駐存於HBA 28内記憶體202中的諸程序207中的可為獨立 碟片冗餘陣列(redundant array of independent disks ; RAID) 驅動程式程序700。因應於處理器27接收到要求6〇,驅動 程式程序700會使處理器27在發端伺服器12内執行_並激發 目標伺服器1 4内執行-個別的資料儲存相關作業組,該等 作業組係為了貫現要求6 0内所要求之資料健存相關作業而 須在發端伺服器12内與目標伺服器14内執行之作業組。 (16) 1293728 發明說明續頁 、隨著要求60内所要求之資料儲存相關作業種類的不同, 為了促成發端伺服器12内執行各自的資料儲存相關作業 組-該作業組須在其内執行以實現要求6〇内所要求之資料 儲存相關作業,處理器27可更新/修改資料儲存管理/組態 表209内的一個或更多個項目並/或提供一個或更多個指令 (整體或單獨指圖1中的結構内的編號64)給主要陣列32。 亦即,處理器27可在記憶體202内維護表2〇9,且包含在表 2〇9内的資訊可將陣列32與56内個別碟片大量儲存裝置的 實體特性/組悲對應到希望且/或已經加諸此類裝置上的邏 輯特性/組態/關係。譬如,表2〇9内的資訊可將陣列32與33 内實體大量儲存裝置内的區域關聯至邏輯資科卷、實體和 邏輯資料卷内使用的資料編碼/格式化種類、陣列32與56 内邏輯和實體資料卷/裝置的個別大小(以資料儲存空間計 算)、已經在個別陣列32内主要資料卷與陣列56内冗餘資 料卷間建立的個別關聯(亦即,陣列32内哪些主要資料卷 被陣列56内哪些冗餘資料卷做鏡像複製、陣列32與56被關 聯為主要陣列-冗餘陣列對組等)。若要求6〇要求執行不涉 及將使用者資料(譬如使用者資料4〇4)儲存入陣列32和% 的資料儲存相關作業(譬如若要求60要求建立在資料卷33 和資料卷57間的複製/鏡像複製資料卷對組關係、此種關 係的伺服、此種關係在此種伺服已經發生之後的重新建立 、或此種關係涉及之資料卷3 3和5 7的大小改變〈譬如擴大 或縮小 >),則程序700可使處理器27驗證要求6〇内所要求 之作業在表209内所指出的既定實體及/或預先建立的邏輯 -20- 1293728 (17) 發明說明績頁 特性/關係下是否可能/被允許;若該被要求作業是可能/被 允許的’則程序700可使處理器27更新/修改表209内的一 個或更多個適當的項目以便使表209指出反映由要求60所 要求的邏輯特性/關係變化。反之,若被要求之作業是不 可能/不被允許的,則程序700可使處理器27既經由系統22 與24發送一表示錯誤之錯誤訊息給CPU 16,又終止該資料 儲存相關作業。且反之,若要求6〇要求將使用者資料(譬 如使用者資料404)儲存入陣列32與56 (譬如儲存入邏輯資 料f 33與57),則程序700可使處理器27產生並提供一個或 更多個指令(整體或單獨指圖1中的結構内的編號64)給陣 列32 (經由匯流排2〇〇和介面21〇)以造成使用者資料⑽4寫 入適當的實體位置或包含邏輯資料卷3 3之陣列3 2内的碟片 大量儲存裝置内的位置。 為了牡目標伺服器14内激發執行各個資料儲存相關作業 該作業組疋在目標伺服器14内執行以實現要求60内所 要长之貝料儲存相關作業所必需的,程序7〇〇可使處理器 27產生(利用涉及在處理器27和記憶體〕们間多重交易/資 :傳匕之作業)一個或更多個資料儲存相關作業要求資料 框(整體或單獨指圖! φ Μ 、 中的# I ,、·、°構内的編號62 ;請也參考圖7 乍業〇8)並遞送給處理器53 (經由匯流排· 、連二34、網路U、連結38、網路介面5〇4、及匯; 網路卩’料鳩可包括料通訊㈣程序,該等 網路通訊堆; 、!由處理器27和記憶體202間的多重 作業/貝枓傳輸產生,且若 〆里 要求60所要求之資料儲存相關 -21 - (18) 1293728 發明說明縝頁 作業涉及將資料404儲存入陣列32與56,則程序7〇〇可使處 理器27將資料404打散成為一序列適合於包裝在一個或更 多個資料框62的個別序列内的一個或更多個資料酬載,且 可使處理益27產生資料框序列62並傳送到HBA 52内的處 理裔53。反之,若要求6〇所要求之資料儲存相關作業不涉 及將資料404儲存入陣列32與56,則僅需產生單一資料框 62並從HBA 28傳送到HBA 56。從HBA 28傳送到hba ^的 各資料框62有如圖2中1〇〇所示的資料結構。 各資料框62的個別資料結構1〇〇可包括 ----〇-πο,112,π^π6;102,104,106, 108, 110, 112, 114與116等各個欄位各可包括一個或更 多個個別資料值。攔位1〇2是各自的乙太網路資料框標頭 欄位,且欄位104是各自的乙太網路資料框標尾攔位。此 二欄位102與104各可包括各自額外的攔位(譬如各自的乙 太網路與網際網路通訊協定來源和標地位址襴位、乙太網 路與網際網路通訊協定加總檢查攔位等),該等攔位可被 使用以封裝其他的攔位1〇6,1〇8,i 1〇,i 12,1 14和丨16入 個別的資料框結構100内做為包含TCp/卩封包的乙太網路 資料框。可包含在包括於標頭攔位1〇2與標尾攔位1〇4内之 個別攔位内的各自值可被選擇以容許產生個別資料框結構 之HBA (譬如HBA 28)能夠有效地經由網路1H#送各個 資料框結構100到打算接收各個資料框結構100的HBA (蓉 如HBA 52)。被相關資料框標頭1〇2與資料框標尾1〇4封^ 的可為相關的目標節點iSCSI通訊協定位址欄位106、相關 -22· 1293728 (19) 發明說明績頁 的發源節點iSCSI通訊協定位址欄位108、相關的資料儲存 相關作業指令/訊息欄位110、相關的資料酬載攔位丨丨2、 相關的訊息身份辨識攔位1 14、及相關的加總檢查欄位1丄6 。各個資料框62内的相關指令/訊息攔位11〇可包括一值, δ亥值指出由要求6 〇命令之資料儲存相關作業種類,且可說 明(譬如在攔位11 0内的額外次攔位中)可指出實施該指令 作業所使用之額外參數(譬如,涉及的特定主要和冗餘資 料卷、此類資料卷的大小、目標邏輯資料卷5 7内開始將資 料寫入目標邏輯資料卷5 7内的位址、出現在攔位1丨2内之 資料酬載的位元組數目等)的值;各個資料框内的個別攔 位1 06和1 08可包含個別值組,該等值組包含根據傳統 i S C SI定址架構決定之目標和發源節點定址與命名資訊(譬 如’根據美國佛羅里達20191,瑞斯頓,普里斯頓懷特大道 ’ 1895 號 100 室 <1895 Preston White Drive,Suite 100, Reston, VA 20191,United States of America〉之 Internet Engineering
Task Force, Internet Engineering Task Force Secretariat c/o
Corporation for National Research Initiatives在 2001年 3 月 1 日出版的Internet Engineedng Task Force之IP Storage Working Group, Internet-Draft Specification, draft-ietf-ips-iscsi-05, Satran,“iSCSI”),該等資訊可對應至/定址涉及資料儲 存相關作業的陣列32和56内的特定储存裝置。當然,不同 的疋址資訊(譬如基於不同定址架構之定址資訊,像是根 據其他的 /Internet Engineering Task Force 之 IP Storage Working Group對前述 “iSCSI” Internet-Draft Specificati〇I1 -23- 1293728 _ (2〇) 發明說明縝頁 的後期發展版本之其他iSCSI定址架構)可包含在攔位106 與10 8内’只要網路11和節點12及14被適當地組態以根據 此不同的定址資訊分別為資料框i 〇〇排路徑並處理。若要 求60所命令的資料儲存相關操作涉及將資料4〇4儲存入陣 列32與56,則酬載攔位112可包含個別的資料酬載(該資料 酬載來自由處理器27從資料404以上文所述方式產生的資 料酬載序列),且包含於標頭1〇2内的個別TCP序列號碼可 指出處理器27所產生之資料酬載片段序列内資料酬載片段 的序列次序。訊息身份辨識欄位丨14可包含一資料框序列 號碼,該號碼可辨識指出包含該資料框序列號碼之特定資 料框62。加總檢查攔位116可包含一加總值,該值代表由 包含於106, 108, 1 10, 1 12, 1 14和U6等攔位内之值序連 开> 成之資料值的加總。或者,隨著被用來在網路丨丨内穿越 遞送及/或安排遞送路徑給資料框1〇〇之特定通訊協定的不 同’也隨著資料框100可在節點12和14内進行的特定處理 的不同,資料框100可包含與圖2中所示欄位内所包含者不 同的或額外的攔位及/或資訊,以便有助於此種遞送、路 徑女排、及處理,而不悖離本發明之本具體實例。 駐存在記憶體502内的程序507中可有複製驅動程序8〇〇 。這些程序800可包括網路通訊堆疊程序。當處理器”接 收到一資料框62時,程序800可使處理器53在初始時將接 收到的資料框62儲存入記憶體502内,然後將資^框62解 封裝並剖析、驗證(亦即透過驗證包含於資料框Μ内之加 總檢查)在資料框62傳輸到處理器53期間未發生錯誤、^ -24- (21) 1293728 發明說明縯頁 在許多其他工作中也決定可包含於各個攔位⑽,I, 106,108,110,112,1M,116芬—a 114 U6及包含於資料框62内這些‘ 各個欄位中之各個次攔位内的各個特定值。根據包含於這 些個別攔位與個別次攔位内的值,處理器53可判斷並在飼: 服器14内執行接收到之資料框62内所要求的特定資料健存 相關作業(請參考圖7中的作業61〇)。更明確地說,根據接' 收到之資料框62内所指示的資料儲存相關作業種類,為了 在祠服器u内完成執行資料框62内所要求之個別資料儲存 相關作業,處理器53可更新/修改資料儲存管理/組態表5〇9 内的-個或更多個項目並/或提供一個或更多個指令(在圖 1的結構中整體或單獨以編號7〇表示)給冗餘陣列…亦即 ,處理器53可在記憶體5〇2内維護表5〇9,且表5〇9内包含 之資訊内容可類似於處理器27在記憶體2〇2内維護之表2〇9 中的=貝Λ内谷。若接收到之資料框62内所要求的資料儲存 相關作業要求執行的資料儲存相關作f不涉及將使用者資 料(譬如使用者資料4〇4)健存入陣列56内(譬如若要求6〇要麄 求在資料卷33與資料卷57之間建立複製/鏡像複製資料卷 對組關係、此種關係的伺服、此種關係在此種祠服關係已 經發生之後的重新建立、或此種關係内涉及之資料卷33與 57之大小改變(譬如擴大或縮小),則程序8〇〇可使處理器' 53驗證資料框62内所要求之作業(亦即接收到之資料框。r 内之欄位11 0中所示的指令)在表5〇9内所示既定實體及/或 預先建立之邏輯特性/關係下是否可能/被容許;若被要求 之作業可能/被容許,則處理器800可使處理器53更新/修改 -25- 1293728 發明說明縝頁 (22) 表509内一個或更多個適當的項目以便使表5〇9指出/反映 資料框62内所要求之邏輯特性/關係變化。反之,若資料 框62要求將使用者資料(譬如使用者資料4〇4)儲存入陣列 56内(亦即陣列56内的資料卷57中),則程序8〇〇可使處理 器53判斷(亦即從資料框62内包含之個別TCP資訊)是否有 任何其他的資訊框62包含使用者資料404的額外片段。若 處理器53判斷沒有其他資訊框62包含使用者資料4〇4的此 類額外片段,則程序8〇〇可使處理器53產生並提供一個或 更多個指令(在圖1的結構中整體或單獨以編號7〇表示)給 陣列56 (經由匯流排500與介面51〇)以將使用者資料4〇4寫 入包含邏輯資料卷57之陣列56内的碟片大量儲存裝置中的 適當實體位置。但若處理器53判斷有其他資料框62包含使 用者資料404的額外片段,則程序8〇〇使處理器53將個別資 料酬載從此種其他資料框62儲存入記憶體5〇2内,並根據 接收到的資量框62内包含的個別TCP序列資訊及/或訊息身 份辨識值將使用者資料404重建並儲存入記憶體502内。然 後,程序800可使處理器53將重建的使用者資料4〇4打散成 一個或更多個區段,並產生且提供一個或更多個指令7〇給 陣列56 (經由匯流排5〇〇與介面5 1〇)以使被重建的使用者資 料區段寫入包含邏輯資料卷57之陣列56内的碟片大量儲存 裝置中的適當實體位置(譬如段落、區段等)。 當各個資料框62都已經適當地被處理器53接收(亦即無 任何傳輸錯誤)之後,程序800可使處理器53產生並提供一 個別的確認或回復乙太網路資料框(在圖1之結構中整體或 -26- (23) 1293728 發明說明縝頁 單獨以編號66表示·,請也參考圖7中的作業612)給處理器 27。各回復資料框66可有各自的結構,該結構可與圖2中 所示結構1〇〇相同,只是在個別回復資料框66内個別的指 令/訊息欄位Π0可包含各自的值,該值指出包含由個別回 復資料框66内之欄位11 6中所指出的訊息身份辨識號碼的 >料框62已經被處理器53接收並處理。亦即,對被處理器 53適當地接收且處理的各個資料框62而言,程序8〇〇可使 處理器53產生並發出一個別的回復資料框66給處理器27 (經 由匯流排500、介面504 '連結38、網路_11、連結34、介面 204、及匯流排200),該回復資料框引用(亦即回復資料框 66的訊息身份辨識欄位114内包含)包含於個別資料框62内 之個別afL息身份辨識说碼。在表209内,處理器27可將包 含於個別資料框62内的個別訊息身份辨識號碼關聯於包含 在被接收之個別回復資料框66内的個別訊息身份辨識號碼 以判斷由處理器2 7遞交給處理器5 3的哪些訊息資料框6 2已 經被接收並處理(譬如,以便使用傳統技術判斷個別訊息 資料框62是否已經在透過網路11傳輸期間漏失、及是否重 送該個別訊息資料框6 2給處理器5 3)。當處理器2 7已經接 收到由處理器27因應於來自CPU 16的某一資料儲存相關作 業要求而產生的所有資料框62之後,程序7〇〇會使處理器 2 7判斷(假設處理器2 7也能夠成功地完成處理器2 7因應於 要求60而執行的作業)由要求60所要求之資料儲存相關作 業已經在網路10内成功地完成,且可使處理器27經由系統 24和22遞送一訊息72給CPU 16以告知作業系統程序400要 -27- 1293728 (24) 發明說明縝頁 求60所要求的作業已經成功地完成了(請看圖7中的作業 614)。因應於訊息72,作業系統程序400會使CPU 16提供 一表示此成功完成的訊息給記憶體1 8内的應用程序402, 程序402因應於此訊息會使CPU 16經由介面20向伺服器12 的使用人表示此成功完成訊息。
如果處理器5 3判斷(譬如從表5 09)或遇到其他情況(譬如 當處理一要求資料框62時碰到一加總驗證錯誤)處理器53 不能執行資料框62内所要求的資料儲存相關作業(譬如肇 因於HBA 52内或陣列56内一碟片驅動器/纜線内檢測到故
P早、資料卷3 3與5 7大小的不匹配、資料卷5 7内缺乏足夠的 健存空間、要求資料框62内的定址錯誤等),則程序800可 使處理器53產生一回復資料框66並遞送給處理器27,該回 復資料框在指令訊息欄位11〇内有一個別值,該值表示在 執行被要求作業中發生錯誤以及該錯誤的類別與性質。因 應於此訊息66,程序700會使處理器27產生一錯誤訊息(如 上述的型式)並發送給CPU 16,且產生一錯誤確認資料框 (未顯示)給處理器53 ,該錯誤確認資料框與個別回復資料 框66相同,只是在錯誤確認資料框内,個別的指令訊息攔 位110會指出由處理器27接收並處理訊息66。
、=經過一預定時間間隔,處理器27未能接收一因應於 求資料框62之有效確認/回復/錯誤資料框66,則程序了⑻ 使處理器27重新產生並重新發送該要求資料框以的副本 =理器53,並再次等待該預;^時間間隔以接收回復該要 資料框的有效回復資料框66 ;若在一預定數目個重新產 -28· 1293728 (25) 發明說明縯頁 及重新傳送該要求資料框62之後,處理器27仍然未接收到 有效回復資料框66,或者若接收到的錯誤資料框66内回報 的錯誤性質是一種無法在沒有操作員介入的情況下修正的 預定類型,則程序700可使此情況回報給cpu 16,cpu 則可將該情況經由介面20回報給伺服器12的使用人。若伺 服器12被適當地爲此作業組態過,則cpu 16也可有替代措 施或額外措施而產生並發送一警告訊息(譬如一電子郵件 或呼叫器訊息)給操作員以告知此情況。然後,程序7〇〇可 將資料卷33與57間的關聯(亦即分別做為主要資料卷和關 聯的目標資料卷)視為已經終止,且可使處理器27記錄資 料卷33内可能發生的被改變軌道/區段,以便供後續作業 中依下文所述方式重新建立資料卷33與57間鏡像複製關係 時使用。 雖然未在圖式巾特別顯示,但很重要的是請注意碟片Μ 與58可彼此關聯分別當作冗餘和主要陣列,冗餘陣列Μ内 的至少一個個別資料卷31可為關聯於主要陣列58内至少一 個個職料卷59的冗餘資料卷、冗餘时則的至少-個 個別貝料卷3 1可為關聯於主要陣列58内至少一個個別主要 資料卷59的冗餘資料卷、且HBA 26、陣列3G、連結36、 網路11、連結4 〇、ή R Δ < 1 ,
ΗΒΑ 54、陣列 58、系統 48和 50、CPU 42 „己ft體44、與介面46可被組態以容許並促成碟片陣列 3道0與5Γ資料卷31和59以根據本發明的此種具體實例之教 導^係㈣’以容許主㈣列32及爲陣列56和主要資 3及几餘資料卷57以上述方法根據本發明的此種且體 -29- (26) 1293728 發明說明績頁 實例之教導操作。此外,請注意伺服器12與14可包括網路 介面卡裝置(NIC device未顯示),該網路介面卡裝置可經 由網路11連接至一個或更多個委託端電腦節點,其連接方 式可容許委託端電腦節點能夠存取儲存在主要陣列32及58 内的使用者資料。 此外,為了有助於在主要資料卷33與冗餘資料卷57間之 關聯(亦即做為資料卷鏡像複製對組)於先前終止之後重新 建立此種關聯,表209可包含資料卷33内從先前此種關聯 終止之後被改變的邏輯軌道/區段表列·。在此種關聯重新 建立之後,程序700可使資料框62從處理器27傳送到處理 器53,這會使資料卷57内對應的邏輯軌道/區段被現在儲 存在表209内列為在此關聯終止之後且在此關聯重新建立 之前已經被改變的執道/區段中的資料覆寫。在此關聯終 止之後及重新建立之前的時間間隔期間,資料卷57可被複 製/備援(譬如複製到磁帶或另一個未顯示的資料卷内)。 資料框62也可指示資料儲存相關作業的其他種類。譬如 ,當一適當的預定值被***個別資料框62内的欄位丨丨〇中 時,該個別資料框62可命令一接收該資料框62的輸入/輸 出處理器(譬如處理器53)產生並提供個別的回復資料框66 ,該回復資料框可指出/回報給發出該資料框62之輸入/輸 出處理器·接收該資料框62之輸入/輸出處理器所關聯的 或控制的所有邏輯節點、邏輯資料卷、及目標資料卷,與 接收該資料框62之輸入/輸出處理器關聯的某一目標資料 卷是否已經填滿或故障,涉及此目標資料卷的正在進行之 -30 - 1293728 發明說明縝頁 (27) 資料複製作業是否正常進行,或此目標資料卷内的檔案系 統是否結構正常。而且,當一適當的預定值被***個別資 料框62内的欄位11〇中時,個別資料框62可命令接收該資 料框62之輸入/輸出處理器(譬如處理器53)組態資料框結構 100的標準資料框大小,或更新或組態由該輸入/輸出處理 器維護之管理表(譬如表5〇9)以反映可能發生於發出該資 料框62之HB A所關連之碟片大量儲存裝置的陣列組態之變 化,該等變化譬如包括此種陣列内包含之實體及/或邏輯 資料卷的性質與特性變化。 若以熟諳本技術領域者所清楚的方法適當地修改,則上 文所述之在本發明之本具體實例内藉由軟體程序實現的各 ^作業也可由硬體/電路實施取代,反之亦然。實施本發 之本八體貝例所需的軟體程序19,45,207及507的產生 可肇因於分別由處理器16’ 42’ 27與53執㈣存/編碼在 電腦可讀取記憶體(譬如分別包含於記憶體18, 44, 2〇2與 02内的唯項s己憶體及/或未顯示的光碟唯讀記憶體)内的 個別程式指令組。 斤^總括來說,板據本發明的一種具體實 ^該網路可包括經由網路通訊連結連接在—起的第 —周路即’點,及分別與該第-和第二網路節點關聯 =第二組大量儲存裝置。該第-和第二網路節點可 =發端飼服器和目標飼服器。發端伺服器和目標词 势屮括第和第二輸入/輸出("ο)處理器。第一 | 輪出處理器可因應於第一要求執行關聯於第一組大量 •31· 1293728
(28J 發明說明縝頁 一賢料錯存相關作業,並從發端飼服器經由該連 第一要求給目標词服器’以使第二處理器因應於該 第一要求執行„於第:組大㈣存裝置存 相關作業。 貝付保畀 =利的是,在本發明之本具體實例中,在發端伺服器與 w服11内執行以實現資料儲存㈣作業的大多數作業 =這些祠服器内之個別CPU、系統記憶體、及系統匯流 P載到HBA I/O處理器、内部HBA記憶體等。這讓在笋 端伺服器和目標飼服器内執行以實現資.料儲存相關作業; CPU、系統記憶體、及系統匯流排交易的數目可比以前技 術者大幅減少。有利的是’這防止了當實現這些作業時消 耗過篁的發端與目標祠服器CPU、系統記憶 流排處理資源,並將這些資源釋放供其他處理活動使用, ^比起以前技術來說,提升這些作業可在本發明之本具體 實例中實現的速率與可靠度。 本文中所使用的名詞與表示法係t作描述用而非限制用 ’且在使用這些名詞與表示法時無意排除所述或所示特徵 (或其部分)的任何相當物’且請注意在本發明申請專利範 圍的範嘴内可能有各種修改。所以,申請專利範圍旨在涵 盖所有這些相當物。 遍式簡單訪明 本發明具體實例之特f政與優點可由上文之實施方式詳細 說明中並參考諸圖式而明瞭’諸圖式中類似的編號表示類 似的構成部分,且其中: -32 - 1293728 (29) 發明說明績頁 圖1是舉例說明本發明的一種具體實例可有利地實施於 其中之資料儲存網路的構成元件圖。 圖2是舉例說明可在圖丨之網路内的發端伺服器與目標伺 服器間遞交之命令/訊息資料框内包含的攔位圖。 圖3是舉例說明包含於圖1之網路中的發端伺服器内之主 機匯流排轉接器的構成元件圖。 圖4疋舉例說明可駐存在在圖1之網路中的發端伺服器内 之系統記憶體中的程式程序圖。 圖5疋舉例說明可駐存在在圖1之網路中的目標伺服器内 之系統記憶體中的程式程序圖。 圖6是舉例說明包含於圖丨之網路中的目標伺服器内之主 機匯流排轉接器的構成元件圖。 圖7是舉例說明可在圖丨之網路内執行的作業之流程圖。 圖8疋舉例說明可駐存在圖3之主機匯流排轉接器内之記 憶體中的程式程序圖。 圖9是舉例說明可駐存在圖6之主機匯流排轉接器内之記 憶體中的程式程序圖。 月/主w雖然上文之貫施方式詳細說明係參考本發明之範 例性具體實例進行,但精於本技術領域者可清楚知道該等 具體實例的許多替代方案、修改與變體。所以應以寬廣的 角度來看本發明且本發明僅由所附申請專利範圍内的陳述 界定。 圖式代表符號說明 10 資料儲存網路 發明說明績頁 1293728 (30) π 資料通訊網路 12 發端伺服器節點 14 目標伺服器節點 60 要求 62 資料框 66 回復資料框 72 訊息 100 資料框結構
102 資料框標頭 104 資料框標尾 106 目標節點iSCSI位址 108 發源節點iSCSI位址 110 指令/訊息 112 酬載 114 訊息身份辨識 116 加總檢查
402 應用程式程序 404 使用者資料 700 陣列驅動程式程序 800 複製驅動程式程序 16,42 中央處理單元 18,44 系統記憶體 20,46 使用者介面 22,48 主機橋接器/匯流排系統 -34- 1293728 (31) 發明說明鑌頁 24, 50 輸 入/輸i i橋接器/彙流排系統 64, 70 指 令 200 ,500 週邊元件相互連接匯流排 202 ,502 主 機匯流排轉接器記憶體 204 ,504 網 路介面 208 ,508 輸 入/輸出橋接器/彙流排系統介面 209 ,509 資 料儲存管理/組態表 210 ,510 以 串接先進技術附接為基礎的介3 300 ,400 作 業系統程式程序 19, 207 ’ 507 ,45 裎式程序 25, 27, 53, 55 輸入/輸出處理器 26, 28, 52, 54 主機匯流排轉接器 30, 32, 56, 58 碟片大S儲存裝置陣列 31, 33, 57, 59 資料卷 34, 36, 38, 40 網路連結 -35·

Claims (1)

1293728 第092103297號專利申請案
:專f範圍替換本(96年2月) .V績 拾、申請專利範圍 1. -種第-轉接器,該第-轉接器使用於網路内—第一網 路節點内,該第一轉接器包括: 電路,該電路因應於一第-要求,執行關聯於第一組 大量儲存裝置m料儲存相關作業,且也因應於 該第-要求,從該第一轉接器發出一第二要求給網路内 的-第二網路節點内的第二轉接器,以使第二轉接器因 應於第二要求’執行關聯於第二組大量儲存裝置的第二 資料儲存相關作業。 2. 如申請專利範圍第!項之第一轉接器,進一步包括· 電路,該電路因應於來自第二轉接器之第一訊息而發 出-第二訊息給第一網路節點内的一程序,言亥第一訊息 指出該第二資料儲存相關作業已經完成,該第二訊息指 出由第-要求所要求之個別資料儲存相關作業已經完成。 3·如申請專利範圍第2項之第一轉接器,其中: 第一要求與第一訊息各包括各自的目標節點位址糊位 、發^節點位址棚位、扣八扭目& .,, 和々攔位、和汛息身份辨識欄位 ;且 第一要求與第一訊息内的個別訊息身份辨識欄位包含 相同的個別值。 4.如申。月專利範圍第β之第一轉接器,其中該電路與第 二轉接器各包括個別的輸入/輸出處理器。 5 ·種第轉接器’該第一轉接器使用於網路内一第一網 路節點内,該第一轉接器包括: 83727-960207.doc I2§3728 f—:~—-- ^ 巾請專利範園績頁 電路,該電路因應於一要求,執行關聯於第一組大量 儲存裝置的資料儲存相關作業,該要求係從第二網路節 點内的第二轉接器因應於由第二轉接器接收到的另一要 :發出?使第二轉接器因應於該另一要求執行關聯於 第一組大篁儲存裝置的另一資料儲存相關作業。 6·如申請專利範圍第5項之第一轉接器,進一步包括· 電路,該電路發出-第-訊息給第二轉接器以指出與 第一組大量儲存裝4關聯之資料儲存相_作t已經完成 ,且第二轉接器被組態以因應於該第一訊息發出一第二 訊息給第二網路節點内的程序。 7·如申請專利範圍第6項之第一轉接器,其中: 從第二轉接器發出的要求和第一訊息各包括個別的目 標節點位址攔位、發動節點位址攔位、指令攔位、及訊 息身份辨識攔位;且 從第二轉接器發出之要求和第一訊息内的個別訊息身 份辨識欄位包含相同的個別值。 8·如申請專利範圍第1項之第一轉接器,其中: 第一轉接器包括連接至第一組大量儲存裝置的第一主 機匯流排轉接器; 第二轉接器包括連接至第二組大量儲存裝置的第二主 機匯流排轉接器;且 第一轉接器和第二轉接器經由網路通訊連結連接在一 起。 9.如申請專利範圍第5項之第—轉接器,其中: 83727-960207.doc 第-轉接器包括連接至第一組大量儲存裝 機匯流排轉接器; 第二轉接器包括連接至第二組大量儲存裝置 機匯流排轉接器;且 ’第一主 起第一轉接器和第二轉接器經由網路通訊連結連接在一 10.2第-輸入/輸出⑽)處理器,該第—輸 斋破組態以承萨糾批― 别ίϋ處理 〜、以便此夠執行一組作業,該組作 因應於第一要求,執行關聯於第一組大量梦 資料儲存相關作業; 儲存裝置的 也因應於筮—φ 要求,從第一網路節點發出第- f + 第二網路節點内的第二輸“第-要求給 /輪出處理器因庫於第 處益’以使第二輸入 的第二資料儲存相關作業。 帛-組大謂存 其中: 組大量 •二凊專利範圍第1G項之第—輸 写 弟-網路節點包W理益 儲存裝置; 括第一輸入/輸出處理器和第 第二網路節點包括 第-網路節點斑第大量儲存裝置;且 在一起。一 一網路節點經由網路通訊連結連接 12·如申請專利範圍第i 入於 第二資料儲存相I:第輸輸出處理器,其中: 個作業: W作業包括下列作業中的一個或更多 心疋第—網路節點内的第一資料卷,儲存在第—網 83727-960207.doc 申請專利範園續頁 路節點内之第·次』丨丄 撼士 卷中的資料複製到該第,資料表肉 擴大目標資料卷的大小;及 貞科卷内; η “複製貝料到第一資料卷内。 第:範圍第10項之第一輸入/輸出處理器,其中: 個作;:’儲存相關作業包括下列作業中的-個或更多 〜止第—網路節點内一 内的第二資料表”…的帛貝枓卷與第-網路節點
二資料矣由前建立的關聯,該關聯指定第 、’=所儲存的資料要被複製到第一資料卷内;及 在先别建立的關聯已經終止之後,重新建立 建立的關聯。 $立在先别 14· 一 種笛—4^ . /4.. 口口 ▲輪入/輸出(1/0)處理器,該第一輸入/輸出處理 斋夺組態以執行一組作業,該等作業包括: ^於要求,執行關聯於第一組大量儲存裝置的笛 一資料儲存相關作業;A f …在第一資料儲存相關作業執行完成之後,從第一網路 即點發出一第一訊息給第二網路節點内的第二輸入/輸出 器以使第一輸入/輸出處理器因應於該第一訊息發 出一第二訊息給第二網路節點内的程序,該第二輸入/輸 出處理器可組態操作,以因應於來自該程序的另一要求 ’產生要求並執行關聯於第二組大量儲存裝置的第二資 料儲存相關作業。 1 5 ·如申晴專利範圍第14項之第一輸入/輸出處理器,其中: 第一組大量儲存裝置包括一個或更多個個別大量儲存 83727-960207.doc -i
申請專利範圍續頁 裝置; 第二組大量儲存裝 置包括一個或更多個個別大量儲存 裝置;且 第一訊息包含於一資料框内。 16. —種使用第一轉接考 °的方法’該第一轉接器在網路内的 第一網路節點中,該方法包括: 使=第#接器,因應於第一要求,執行關聯於第一 組大里儲存裝置的第一資料儲存相關作業;及 也因應於第-要求’從第—轉接器發出一第二訊息給 網路中第二網路節點内 — _ 1的第一轉接裔,以使第二輸入/輸 出轉接态因應於第二要求,執行關聯於第二組大量儲存 裝置的第二資料儲存相關作業。 17. 如申請專利範圍第16項之方法,進一步包括: 因應於來自第二轉接器的第一訊息,從第一轉接器發 出-第二訊息給第一網路節點内的程序,該第一訊息指 出第二資料儲存相關作業已經完成,該第二訊息指出由 第一要求所I求的個別|料儲存相關作f已經完成。 18·如申請專利範圍第17項之方法,其中: 第二要求與第一訊息各包括個別的目標節點位址爛位 、發動節點位址欄位、指令欄位、及訊息身份辨識棚位 ;且 第二要求與第-訊息内的個別訊息身份辨識欄位包含 相同的個別值。 19.如申請專利範圍第項之方法,其中第一轉接器與第二 83727-960207.doc 申請專利範圍績頁 職728 轉接器各包括個別的輸入/輸出處理器。 20· 一種使用第一網路節點内第一轉接器之方法,該方法包 括: 因應於一要求,使用第一轉接器執行關聯於第一組大 儲存装置的資料儲存相關作業,該要求係因應於第二 轉接器接收到的另一要求而從第二網路節點内之第二轉 接器發出,該第二轉接器被組態以因應於該另一要求而 執行關聯於第二組大量儲存裝置的另一個資料儲存相關 作業。 21·如申請專利範圍第20項之方法,進一步包括: 從第一轉接器發出-第一訊息給第二轉接器以指出關 聯於第-組大量儲存裝置的資料儲存相關作業已經完成 ,第二轉接器因應於該第一訊息被組態以發出一第二訊 息給第二網路節點内的程序。 22·如申請專利範圍第21項之方法,其中: 二第二轉接器發出的要求與第一訊息各包括個別的目 標節點位址欄位、發動節點位址攔位、指令欄位、及邻 息身份辨識欄位;且 從第一轉接器發出之要、免愈笛一自βπ ®I要衣與弟吼息内之個別訊自身 份辨識攔位包含相同的個別值。 " 2 3 ·如申请專利範圍第16項之方法,其中: 第一轉接器包含連接至第一組大量儲存襄一 機匯流排轉接器; 、弟王 第二轉接器包含連接至第二組大量儲存裝 83727-960207.doc 聰728 申清專利範圍績頁 機匯流排轉接器;且 起 第一轉接器與第二轉接器經由網路通訊連結連接在一 24·如申請專利範圍第21項之方法,其中: 第一轉接器包含連接至第一组大旦 機匯流排轉接器; 第二轉接器包含連接至第二組 機匯流排轉接器;且 膝一. 乐、,且大里儲存裝置的第一主 主 儲存裝 起 第-轉接器與第二轉接器經由網路通訊連結連接在— 25. -種使用第-輸入/輸出⑽)處理器之方法,該方法 _使用第-輸入/輸出處理器,以因應於_第 ^,# 行關聯於第一組大量儲存裝置的 / , :及 J卑貝枓儲存相關作業 使用第一輸入/輸出處理器,也因應於一 一第二要求,該第二要求 J ' ,,產生 , 尺了從弟一網路節點發出給第一 網路節點内的第二輸入/輪出卢 、 、,弟一 . 处理裔,以使第二輸入/輪 出處理器因應於該第二要求 輸 存裝置的第二資料儲存相關作業。 里儲 26. 如申請專利範圍第25項之方法,'其中: 第一網路節點包括第一齡 乐輪入/輸出處理器與第一組大量 儲存裝置; 里 第二網路節點包括第二組大量储存裝置;且 第一網路即點與第二網路節點經由網路通訊連結連接 83727-960207.doc 申清專利範圍續頁 在一起。 U·如申請專利範圍第26項之方法,其中: 第二資料儲存相關作業包括下列作業 個作業·· W及更多 指定第二網路節點内的第一資料4,儲存在第 =即點内第:資料卷中的f料要被複製到此第—資料卷 擴大第一資料卷的大小;及 將資料複製到第一資料卷内。 28·如申請專利範圍第26項之方法,其中: 第二資料儲存相關作業包括下列作業中的一個爭夕 個作業: 故史夕 終止第二網路節點内的第一資料卷與第一網路節點 内^第二資料卷之間在先前建立的關聯,該關聯指定第 二資料卷内所儲存的資料要被複製到第一資料卷内及 在先前建立的關聯已經終止之後,重新建立义 建立的關聯。 月’J 29·—種使用第一輸入/輸出(1/0)處理器之方法,該方法包括· 使用第一輸入/輸出處理器,因應於一要灰舳> 扒執仃關聯 於第一組大量儲存裝置的第一資料儲存相關作業;及 使用第一輸入/輸出處理器,在第一資料儲存相關作業 執行完成之後,產生一第一訊息,該第—訊息可從第二 網路節點發出給第二網路節點内的第二輸入/輸出處理器 ,以使第二輸入/輸出處理器因應於該第一訊息 β ^ ® 第 83 727-960207.doc
申請專利範園續頁 二訊息給第二網路節點内的程序,該第二輸人/輸出處理 器可組態操作,以因應於來自該程序的另一要求,產生 要求並執打關聯於第二組大量儲存裝置的第二資料儲 相關作業。 3 0·如申請專利範圍第29項之方法,其中: 第一組大量儲存裝置包括一個或更多個個別大量 裝置; 第二組大量儲存裝置包括一個或更多個個別大量 裝置;且 第一訊息包含於資料框内。 31· —種網路,包括: 第一網路節點,該網路節點關聯於第一組大量儲存裝 置且包括第一輸入/輸出處理器; 第二網路節點,該網路節點遠離第一網路節點,且關 聯於第二組大量儲存裝置並包括第二輸入/輸出處理器; 網路通訊連結,用於連結第一網路節點與第二網路浐 點; P 該第一輸入/輸出處理器被組態以便能夠促成下列作業: 因應於第一要求,執行關聯於第一組大量儲存裝置 的資料儲存相關作業; 也因應於第一要求,從第一網路節點經由網路連結 發出第二要求給第二網路節點,以使第二輸入/輸出處理 器因應於第二要求而執行關聯於第二組大量儲存裝置的 第二資料儲存相關作業。 "、 83727-960207.doc κ_· 申請專利範圍續頁 3 2 ·如申請專利範圍第3 1項之網路,其中: 第二輸入/輸出處理器被組態以便能夠促成執行下列作 業: 因應於第二要求執行第二資料儲存相關作業;及 在第二資料儲存相關作業執行完成之後,從第二網 路節點經由網路連結發出—第—訊息給第__網路節點, 以使第-輸入/輸出處理器發出—第二訊息給第一網路節 ,内的程序以指出第-資料儲存相關作業和第二資料儲 存相關作業已經完成。 33.2電腦可讀取記憶體’其中儲存_電腦程式指令,該 執行時可促成: “令當被第-處理器 因應於第一要求,執行關聯於第一 第一資料儲存相關作業;& 、、、大里儲存裝置的 也因應於第一要求而產生一第二 二 從第-網路節點發出給第二網內’該第二要求可 以使第二處理器因應於該第二要;=的第二處理器’ 大量儲存裝置的第二資料儲存相關作^了關聯於第二組 34.如申請專利範圍第33項之電腦可讀取 第一網路節點包括第一處理器—°、體’其中: 第二網路節點包括第二組大量錯存敦組大量儲存裝置; 第-網路節點與第二網路節:,且 在一起。 田網路通訊連結連接 35.如申請專利範圍第34項之電腦可取 周取§己憶體,其中·· 83727-960207.doc
申凊專利範園續頁 第二資料儲存相關作括下 個作業: 呆甲的一個或更多 指定第二網路節點内的第一資料卷,儲存 — 略郎點内之第—次上丨 在第網 :第—貝料卷中的資料複製到該 擴大第一資料卷之大小;及 胃抖卷内, 36士 =資料複製到第一資料卷内。 :凊f利範圍第34項之電腦可讀取記憶體,其中: 一 >料儲存相關作業包括下列作掌 個作業: Γ W 1卞系中的一個或更多 〜止第—網路節點内第一 内的第二資料卷之…^ 第一網路節點 二資…: 建立的關聯,該關聯指定第 、斤儲存的資料要被複製到第—資料卷内;及 瑭 别建立的關聯已經終止之後,重新建立在| ^ 建立的關聯。 遷立在先月IJ 37 _ ^ 種電腦可讀取#^ 電腦程式指二且二中儲存一電腦程式指令,該 執行時可促成: 該等指令當被第-處理器 — “要求’執行關聯於第-組大量儲存裝置的第 貧枓儲存相關作業;及 J * 在第:資料儲存相關作業執行完成之後,產生 — 吞心,δ亥第一訊息可從第—網路點發出 點内的第二# τ田的 、·同路即 斋,以使第二處理器因應於該第一 而I出第一矾息給第二網路節點内的程序 ° 理器可組態操作,以因應於來自該程序的另一要㈡ 83727-960207.doc I 购 728 \ 申請專利範園續頁 ^要求並執行關聯於第二組大量儲存裝置的第二資料儲 存相關作業。 中%專利範圍第37項之電腦可讀取記憶體,其中·· 第一 έ 曰 一、、且大量儲存裝置包括一個或更多個個別大量儲存 裝置; ~ "且大i儲存裝置包括一個或更多個個別大量 裴置;且 予 第一訊息包含於資料框内。 39. 一種第一網路節點,包括: · 第—處理器’該第一處理器可被組態以促成: 因應於第一要求,執行關聯於第一組儲存裝置的第 貝料儲存相關作業,該第一組儲存裝置關聯於第一網 路節點;及 也因應於第一要求而從第一網路節點經由網路連結 务出第一要求給第二網路節點,以使第二網路節點内 的,二處理器因應於該第二要求而執行關聯於第二組儲 _ 存哀置的第一負料儲存相關作業,該第二組儲存裝置關 聯於第二網路節點。 如申口月專利|巳圍第39項之第一網路節點,其中儲存裝置 組包括一組一個或更多個大量儲存裝置。 · 41t申請專利範圍第39項之第一網路節點,其中第二網路. 郎點遠離第一網路節點。 42.—種第一網路節點,包括: 第一處理器,該第一處理器可被組態以便能夠使下列 83727-960207.doc -12- 1293728 申請專利< 作業被執行: 因應於一要求,執行關 資料儲存相關作業;及聯於第一組儲存裝置的第— 在第一資料儲存相關作章執〜、 路節點發出-第—訊自终篦”仃完成之後,從第-網 ,α # ^ ^ 〜、,°第一網路節點内的第二處理3| 以使第一處理器因應於該第1自私屮笛為 第二網路節點内的程序 出一第二訊息給 因應於來自該程序的另=二處理器可組態操作’以 第二組儲存裝置的第二資料:二產生要求並執行關聯於 笛申;:專利關第42項之第—網路節點,其中: 第-::3置包括一個或更多個大量儲存裝置; 第-訊息包含於資料框内。 子展置,且
S3727-960207.doc -13 -
TW092103297A 2002-02-19 2003-02-18 Network!ai/o processors!aadaptors and operation methods thereof TWI293728B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/080,063 US7007142B2 (en) 2002-02-19 2002-02-19 Network data storage-related operations

Publications (2)

Publication Number Publication Date
TW200306473A TW200306473A (en) 2003-11-16
TWI293728B true TWI293728B (en) 2008-02-21

Family

ID=27733137

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092103297A TWI293728B (en) 2002-02-19 2003-02-18 Network!ai/o processors!aadaptors and operation methods thereof

Country Status (9)

Country Link
US (1) US7007142B2 (zh)
EP (1) EP1485787B1 (zh)
CN (1) CN100580636C (zh)
AT (1) ATE375555T1 (zh)
AU (1) AU2003207847A1 (zh)
DE (1) DE60316776T2 (zh)
HK (1) HK1070701A1 (zh)
TW (1) TWI293728B (zh)
WO (1) WO2003071412A2 (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7134139B2 (en) * 2002-02-12 2006-11-07 International Business Machines Corporation System and method for authenticating block level cache access on network
US7631313B2 (en) * 2002-06-17 2009-12-08 David Mayhew System and method for transferring data
JP4190859B2 (ja) * 2002-10-28 2008-12-03 株式会社日立製作所 記憶装置の制御装置、及び記憶装置の制御装置の制御方法
US7188125B1 (en) * 2002-12-19 2007-03-06 Veritas Operating Corporation Replication using a special off-host network device
US8250202B2 (en) * 2003-01-04 2012-08-21 International Business Machines Corporation Distributed notification and action mechanism for mirroring-related events
US7516178B1 (en) * 2004-01-21 2009-04-07 Computer Associates Think, Inc. Communicating messages between components in a client/server environment using a object broker
US7940932B2 (en) * 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
US7769913B1 (en) 2004-04-30 2010-08-03 Netapp, Inc. Method and apparatus for assigning a local identifier to a cluster interconnect port in a network storage system
US7200716B1 (en) * 2004-04-30 2007-04-03 Network Appliance, Inc. Method and apparatus to offload operations in a networked storage system
US7962562B1 (en) 2004-04-30 2011-06-14 Netapp, Inc. Multicasting message in a network storage system to local NVRAM and remote cluster partner
US7895286B1 (en) * 2004-04-30 2011-02-22 Netapp, Inc. Network storage system with NVRAM and cluster interconnect adapter implemented in a single circuit module
JP4646574B2 (ja) * 2004-08-30 2011-03-09 株式会社日立製作所 データ処理システム
US7707586B2 (en) * 2004-09-08 2010-04-27 Intel Corporation Operating system independent agent
CN100342352C (zh) * 2005-03-14 2007-10-10 北京邦诺存储科技有限公司 一种可扩充的高速存储网络缓存***
US20070005850A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Port multiplier mapping apparatus, systems, and methods
US7730221B2 (en) * 2005-06-30 2010-06-01 Intel Corporation LAN controller with bootable host bus adapter
EP1811378A2 (en) * 2006-01-23 2007-07-25 Xyratex Technology Limited A computer system, a computer and a method of storing a data file
US9137179B2 (en) * 2006-07-26 2015-09-15 Hewlett-Packard Development Company, L.P. Memory-mapped buffers for network interface controllers
US7502873B2 (en) 2006-10-10 2009-03-10 International Business Machines Corporation Facilitating access to status and measurement data associated with input/output processing
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US20080177881A1 (en) * 2007-01-19 2008-07-24 Dell Products, Lp System and Method for Applying Quality of Service (QoS) in iSCSI Through ISNS
US8082481B2 (en) * 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US7904605B2 (en) * 2008-02-14 2011-03-08 International Business Machines Corporation Computer command and response for determining the state of an I/O operation
US7908403B2 (en) * 2008-02-14 2011-03-15 International Business Machines Corporation Reserved device access contention reduction
US7840717B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing a variable length device command word at a control unit in an I/O processing system
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8196149B2 (en) * 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US7917813B2 (en) 2008-02-14 2011-03-29 International Business Machines Corporation Exception condition determination at a control unit in an I/O processing system
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8478915B2 (en) * 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US7840718B2 (en) * 2008-02-14 2010-11-23 International Business Machines Corporation Processing of data to suspend operations in an input/output processing log-out system
US8001298B2 (en) * 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US7899944B2 (en) 2008-02-14 2011-03-01 International Business Machines Corporation Open exchange limiting in an I/O processing system
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US7937507B2 (en) 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8214562B2 (en) * 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8108570B2 (en) * 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8312189B2 (en) * 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US8166206B2 (en) * 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US7430584B1 (en) 2008-03-12 2008-09-30 Gene Fein Data forwarding storage
US7599997B1 (en) * 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US8458285B2 (en) * 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US7636760B1 (en) 2008-09-29 2009-12-22 Gene Fein Selective data forwarding storage
US7636761B1 (en) * 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US7636759B1 (en) * 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US7877456B2 (en) 2008-04-08 2011-01-25 Post Dahl Co. Limited Liability Company Data file forwarding storage and search
US8386585B2 (en) * 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US8452844B2 (en) * 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US8370446B2 (en) * 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US7937504B2 (en) 2008-07-31 2011-05-03 International Business Machines Corporation Transport control channel program message pairing
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
US7904606B2 (en) 2008-07-31 2011-03-08 International Business Machines Corporation Transport control channel program chain linked branching
US8352635B2 (en) * 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
US8478823B2 (en) * 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US8171178B2 (en) * 2008-12-15 2012-05-01 Lsi Corporation Scaling of small computer system interface input output (SCSI I/O) referrals
US8918516B2 (en) * 2009-05-01 2014-12-23 Galixsys Networks Llc Symbiotic client and server for embedded network system
BR112012005704A2 (pt) * 2009-09-14 2020-08-25 Nec Corporation sistema de comunicação, nó arranjado em uma rede para encaminhar dados, servidor de controle criar matriz de operações de processamento, método de comunicação, dispositivo de armazenamento legível por máquina, programa para criar matriz de operações de processamento
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
JP5422611B2 (ja) * 2011-06-24 2014-02-19 株式会社日立製作所 計算機システム、ホストバスアダプタ制御方法及びそのプログラム
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
CN102567495B (zh) * 2011-12-22 2013-08-21 国家电网公司 一种海量信息存储***及实现方法
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US9436750B2 (en) * 2013-11-06 2016-09-06 Verizon Patent And Licensing Inc. Frame based data replication in a cloud computing environment
US9864861B2 (en) * 2014-03-27 2018-01-09 Intel Corporation Object oriented marshaling scheme for calls to a secure region
CN107426271A (zh) * 2017-03-21 2017-12-01 咪咕文化科技有限公司 一种服务器中数据处理方法及***
US10681137B2 (en) * 2017-12-22 2020-06-09 Samsung Electronics Co., Ltd. System and method for network-attached storage devices
US10990480B1 (en) * 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US7389312B2 (en) * 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
US6209002B1 (en) * 1999-02-17 2001-03-27 Emc Corporation Method and apparatus for cascading data through redundant data storage units
JP4044717B2 (ja) 2000-03-31 2008-02-06 株式会社日立製作所 記憶サブシステムのデータ二重化方法及びデータ二重化システム
US6629213B1 (en) * 2000-05-01 2003-09-30 Hewlett-Packard Development Company, L.P. Apparatus and method using sub-cacheline transactions to improve system performance

Also Published As

Publication number Publication date
EP1485787A2 (en) 2004-12-15
WO2003071412A2 (en) 2003-08-28
US20030158998A1 (en) 2003-08-21
AU2003207847A8 (en) 2003-09-09
AU2003207847A1 (en) 2003-09-09
HK1070701A1 (en) 2005-06-24
CN100580636C (zh) 2010-01-13
CN1636193A (zh) 2005-07-06
TW200306473A (en) 2003-11-16
DE60316776D1 (de) 2007-11-22
US7007142B2 (en) 2006-02-28
WO2003071412A3 (en) 2004-10-07
DE60316776T2 (de) 2008-08-28
ATE375555T1 (de) 2007-10-15
EP1485787B1 (en) 2007-10-10

Similar Documents

Publication Publication Date Title
TWI293728B (en) Network!ai/o processors!aadaptors and operation methods thereof
US10965753B2 (en) Interconnect delivery process
US7558839B1 (en) Read-after-write verification for improved write-once-read-many data storage
US7051122B2 (en) Structure and process for distributing SCSI LUN semantics across parallel distributed components
KR100577314B1 (ko) 가상의 저장영역 네트워크를 설정하기 위한 네트워크 데이터의 미러링 방법 및 가상 저장영역 네트워크
US7886298B2 (en) Data transfer protocol for data replication between multiple pairs of storage controllers on a san fabric
CN101571815B (zh) 信息***及i/o处理方法
US7617361B2 (en) Configureable redundant array of independent disks
US8583984B2 (en) Method and apparatus for increasing data reliability for raid operations
TW201840149A (zh) 提供資料複製於跨光纖非揮發性記憶乙太網路固態硬碟之系統及方法
US20060248292A1 (en) Storage processor for handling disparate requests to transmit in a storage appliance
US8341342B1 (en) Storage system with incremental multi-dimensional RAID
CN102598020A (zh) 用于改进的数据去重的装置、***及方法
US7958302B2 (en) System and method for communicating data in a storage network
JP3782982B2 (ja) 複数の記憶ユニットのそれぞれの記憶媒体を初期化する方法及びシステム
JP2003208268A (ja) 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US20100325376A1 (en) Apparatus and Method to Maintain Write Operation Atomicity Where a Data Transfer Operation Crosses a Data Storage Medium Track Boundary
JP6649989B2 (ja) ストレージシステム及びその制御方法
JP2000076207A (ja) 分散記憶方法及び分散記憶システム及び分散記憶プログラムを記録した記録媒体
US6519677B1 (en) Managing access to shared data in data processing networks
US7484038B1 (en) Method and apparatus to manage storage devices
US11983428B2 (en) Data migration via data storage device peer channel
WO2018099241A1 (zh) 磁盘阵列控制器、数据处理方法及其装置
US7715378B1 (en) Error notification and forced retry in a data storage system
US20210026780A1 (en) Methods for using extended physical region page lists to improve performance for solid-state drives and devices thereof

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees