TW522303B - Transaction support on logical disks - Google Patents
Transaction support on logical disks Download PDFInfo
- Publication number
- TW522303B TW522303B TW090121071A TW90121071A TW522303B TW 522303 B TW522303 B TW 522303B TW 090121071 A TW090121071 A TW 090121071A TW 90121071 A TW90121071 A TW 90121071A TW 522303 B TW522303 B TW 522303B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- block
- transaction
- scope
- storage device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
522303
相關申請的交叉引用 本申#案主張2000年1月18日申請的美國臨時專利申請案 60/ 176507的優先權,並將之以引用的方式併入本文中。本 申凊案係關於2000年7月6日申請,標題為“ Enhanced Stabk Disk Storage (增強型穩定磁片儲存),,之美國專利申請案, 其係轉讓予本申請案之受讓人,並將其所揭示内容以引用 的方式併入本文中。 發明範疇 本务明一般係關於資料異動,特別是資料寫入非易失性 吕己憶體的分散式異動支援。 發明背景 井動係指視為確保資料完整性的不可分性位置的一連串 貝汎X換和相關工作(例如資料庫更新)。在一個異動 中,將資料從一個一致狀態轉換到另一一致狀態。為了完 成一個異動並使資料變化成為永久的(或“被託付”), 異動對於失敗必須是不可分的,也表就是說,該異動必須 被元整地完成。如果在該異動被成功完成前出現了 _些情 泥,則該異動被終止,且必須撤消對資料所做的任何改 變,以便如同該異動從未存在的效果。下文中,當將術語 冤成”應用於一個異動時,是指該異動或者被託付或者 被終止。 當異動中的參與者是一個分散式系統的一部分時,異動 支援的先天困難就被加劇。因此有必要確保異動被所有參 與者不可分地且一致地託付或終止。例如,一個異動中的 〇:\73\73〇8〇.9ΐ〇531 〇〇α 4 „ 4 - 本紙張尺^家標準(CNS) A4規格(21〇Χ297公爱) " " - 522303
A7 B7
五、發明説明(2 某些參與者可能失敗,且在一個分散式系統中,有些其他參 與者可能不知道該失敗。同樣,從失敗中恢復的參與者必 須決定該異動的命運。 以引用的方式併入本文中的是Bernstein等人(Addis〇n_
Wesley,1987 )的“資料庫系統中的並行控制和恢復,,,第了 章中描述了用來確保在分散式系統的多個飾點上的異動一 致性不可》光付協足(ACP )。作者描述作為ACp例子的一 個兩階段託付(2PC)協定。該2PC協定包括第一階段,其 中對-個4動的所有參與者投票表決該異動是否應被託付 或終止。在2PC協定的第二階段,該異動的一個協調者基於 投票表決來決定該異動是否被託付或終止,並將該決定發 送給參與者。 本發明揭示區域在一個電腦系統故障事件中有效儲存资 料和恢復被«資料的方法。Μ方法依賴於㉟資料之外 的資訊儲存到一個非易失性記憶體,典型地是一個磁片, 並在出現故障時,使用該額外資訊恢復被儲存的資料。 在此將其公開以引用时式併入本文中的咖灿等人的美 國專U45’575揭示了包括—個記憶體的磁片控制器。該 記憶體包括將儲存在磁片中的資料區塊邏輯位址映射到標 示了物理儲存位置的一表格。除了將資料寫入到一個儲存 位置中之外,石兹片控制器還寫入每個儲存位置的相關的邏 輯位址、日#間標記以及指示—個特定資料區塊出現在一串 資料區塊的何處的資料。經由實質上從整個磁片中讀取, 這些額外的資訊係用來從系統故障中恢復。 男 O:\73\73080-9I053I.DOC\ 4
522303 —_—____________ 年月曰 A7 B7
補充 五、發明説明(3 在此將其公開以引用的古、丄 〇万式併入本文中的Chao等人的美 國專利5,481,694揭示了包本一伽―止 一 ^ - 個圮fe體、多個磁性磁片單 元以及一個控制器的電子资拉 ”枓儲存系統。該記憶體包括交
又引用邏輯位址和磁片單开μ A π早7L上的物理位址的表格、包括資 料的物理位址列表以及能夠接次 们接收貝枓的磁片機上的階段的 物=址列表。當把資料寫人磁片機時,包括對於多區塊 的邏輯位址和序號的標記被與資料—起寫人。Α了從系統 故障中恢復,儲存在磁片機上的檢驗點記錄和檢驗點階段 恢復表格和列表。 们993年12月的第14次作業系統原理會議的會議錄的15 一 28頁中,de Jonge等人的名為“ The L〇gkal碰:Α
Approach to Improving File System(邏輯磁片:改良檔案系統 的一個新方法)’,之的文章以引用的方式併入本文中,其中 作者描述了 一種邏輯磁片,其中定義了用於將檔案管理和 磁片管理分離的磁片儲存器的介面。該介面使用邏輯區塊 號碼和區塊列表,並支援多檔案系統。作者聲稱支援一個 不可分恢復位置(ARU )。在恢復過程中,屬於相同aRU的 所有邏輯磁片命令被視為單一無形操作。因此,邏輯磁片 總是恢復到以前存在的狀態,或恢復到實行了 ARU的所有操 作之後存在的狀態。不過,不支援並行ARU。 將1992年1月的USENIX winter 1992技術會議會議錄的第 237 — 25 1 頁中的English等人的名為 “Loge: a self-organizing disk controller ( Loge: —種自我組織的磁片控制器)”的文章 以引用的方式併入本文中,其中作者描述了使用一張轉換 O:\73\73080-91053I.DOC\ 4 - 6 - 本紙張尺度適用中國國家標準(CNS) A4規格(21〇 x 297公釐) 522303
五、發赞說研,(4 ,和-個配置圖將資料儲存到磁片中的系統。冑包含一個 區塊位址和一個時間標記的尾部標記與被儲存資料一起寫 入,片。尾部標記中的資訊使得系統能夠從故障中恢復。 將等人的名為“施咖:a high performance parallel storage device with strong recovery guarantees (Mime:帶有強 大恢復確保的高性能並行儲存器裝置),,,HPL—CSP—92 — 9 (Hewlett-packard公司於以”年丨丨月出版)的文章以引用的 方式併入本文中,其中作者描述了類似於上面所描述的Loge 的磁片儲存結構。在Mime* ,尾部標記包括對於多區塊寫 入的一個區塊位址、一個序號以及多區塊寫入中的最後分 組的標記。與L0ge中一樣,尾部標記資訊使得系統能夠從 故障中恢復。
Mime支援能見距離組形式中的有限形式異動支援的不可 分多區塊寫入。Mime確保在故障的情況下,一個活動能見 距離組中的所有區塊寫入被終止。 發明概述 本發明的某些方面的一個目的是提供用來支援資料異動 的改良系統。 本方面的某些方面的進一步目的是提供當異動的參與者 分佈在一個網路上時,用來實行並行資料異動的改良系 統。 在本方面的較佳實施例中,一個或多個儲存裝置,最好 是非易失性磁片,被用來儲存儲存裝置的一個或多個客戶 所啟動的異動的資料内容。這些儲存裝置中的每一個由控 O:\73\73080-9I053I.DOC\ 本紙强:尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
-8 - 制電路’最好是一個儲存伺服器來管理,該伺服器 的資料内容寫入儲存裝置的所選擇的區塊框中。這種儲』 裝置在這裏稱作異動支援邏輯磁片(TSLD)。儲存词服: 有易失性㈣II’其中有資料結構’尤其,該資料結構= 值被用來記錄寫人到TSLD的異動資料,並動態鏈結資料被 寫入的區塊框的物理和邏輯位址。 為了保護一個TSLD防備一個特定儲存伺服器的故障,使 用檢驗點操作將健器的資料結構中的值以周期間隔儲存 到丁SLD中。在檢驗點操作之間,資料結構中的值也被^ 個TSLD的區塊框中的異動的資料内容一起儲存。最好,、資 料結構中的值以及檢驗點數據使得區塊框能夠在儲存伺服 器故障的事件中被方便地找到,以便區塊框中的資料内容 能夠被恢復。在故障事件中,儲存伺服器讀取被儲存的檢 驗點數據並“重播” TSLD操作的過程,包括自從實行上次 檢驗點以來的託付和終止異動。重播過程使得儲存伺服器 能夠在故障時,恢復其狀態以及任何正在進行的異動的狀 怨。上述的暫時專利申請以及轉讓給本申請案同一受讓人 的,2000年7月6日中請的另-個名為“ Enhanced 碰
Storage (增強型穩定磁片儲存器),,的,在此將其公開以引 用的方式併入本文中的專利申請案中描述了儲存和恢復的 替代方法。
本方面的較佳實施例最好支援如本發明背景中所描述的 一個兩階段託付(2PC )協定。在異動的第一階段,一個稱 作異動協調者的特定TSLD客戶端經由將參與該異動的TSLD O:\73\73080-9I0531.DOC\ 4 本紙張尺度適用中國國家標準(CNS) A4規格(21〇Χ297公釐) 裝 玎 線 522303 -j-----—i-
五、發萌親^厂6 T 中的一個指定為主TSLD來啟動該異動。該主TSLD作為記錄 異動狀態的記錄器而工作,且該客戶端指示該主TSLD開始 該異動。該客戶端經由參與該異動的其他TSLD的管理伺服 器來指示這些TSLD將該異動的適合資料内容“軟寫入”各 自的TSLD,從而,產生未託付的區塊值,並通知每種情況下 的客戶端該操作已被完成。在一個軟寫入操作中,區塊框 被寫入的邏輯和物理位址被暫時鏈結。一旦客戶端知道第 一階段已成功完成,則在第二階段,它就指示主TSLD託付 該異動,然後客戶端發佈託付指令給參與的每個TSLD以託 付該異動,從而產生被託付的區塊值。經由永久鏈結被暫 時鏈結的位址來實行託付操作。如果在一個預定的時間階 段内,第一階段未被成功完成,則客戶端指示主TSLD終止 該異動,然後客戶端發佈終止指令給參與的每個TSLD以終 止該異動,從而該異動之前存在的位址鏈結被恢復。 對於習知的異動系統上的異動操作,上面描述的系統有 多個顯著優點。特別地: •資料結構中的相同資訊被用來使得一個TSLD能夠從伺服 器故障中實質上完全恢復,並允許兩階段託付協定的有效 實行。 •系統支援多個TSLD上的分散式異動,還支援一個或多個 TSLD上的並行資料異動。 •沒有異動狀態的中央工作記錄。每個異動可以選擇不同 的主TSLD,因此異動狀態記錄是分散式的。 •TSLD支援並行活動異動並能夠從多個異動故障中恢復。 O:\73\73080-9IOS31.DOC\ 4 " 9 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 玎 線 522303
•因為具料結構中的所有資今去 、 T⑽有L被儲存5UTSLD中,所以 TSLD可以從一個故障伺服哭热# 匕、 "匕移動到-個工作伺服器,從而 能夠重新屋生開放異動的位址鏈結和資訊。 •不需要對TSLD的額外的輸入/輪ψ J w八/細出操作,就可以實行對 TSLD的資料結構資訊的增加的儲存。 也表就疋发’使當系統包括個別在—個網路上的多個磁 片及/或多個伺服器時,軟寫人操作與異動的託付和終止也 一起被支援。 •可f以彈性活的方式來實現檢驗點操作,例如作為-個 背景操作或經由辨識自從上個檢驗點後變化的資料結構中 的成分。 •故幛4後的TSLD的恢復是快速的,由於只有該TSLD上 次檢驗點操作後被儲存的區塊框需要被讀取。 •故障之後的TSLD的恢復產生關於開放異動的足夠資訊以 使得該異動的參與者能夠查詢異動狀態並獲得是否託付或 終止該異動的一致意見。在客戶端故障的情況下,tsld上 有足夠的貝汛用於託付或終止異動,其資訊可以被其他客 戶端影響。 因此,根據本發明的較佳實施例,提供了用來支援資料 異動的裝置,包括: 用來接收作為連續資料區塊的資料用以儲存在各自物理 位置的至少一個TSLD ;以及 控制電路’配置成用來當寫入至少一個TSLD時,將連續 資料區塊、至少一些資料區塊以及指示了連續資料區塊中 -10- 裝 η 線 〇\73\73080-910531.000 本紙張尺度適用中國國家標準(CNS) Α4規格(210 X 297公釐)
设來的貧料 …政叼芏少一個炎 少-個TSLD,並被配置成用乡數-起傳送到至 至少一個參數完成資料異動。 貝'的狀態,以便使用 最好,控制電路包括將控制 至少一條通信鏈結,且控制兩改^禹。到至少—個丁SLD的 少一個TSLD。 % 二由至少一條鏈結管理至 最好’上述裝置包括—個資料 送到控制電路並與該控制電路耦合。 用未知貝枓傳 進一步最好,資料傳輸網路、 -個TSLD,且控制電路經由哕:二送資料到至少 個TSLD。 μ ”枓傳輸網路來管理至少一 最好’ ±述裝置包括-個將資料傳送到控制電路的 私〇 :::控制電路包括至少一個易失性記憶體,其用來儲 才曰示了土 y些貝料區塊的_個或多個特性的資料 的-個或多個資料結構’這些資料中的至少一些由控制電 路寫入到至少—msLD,這樣至少―個易失性記憶體的内 谷可以被從儲存在至少—個TSLD中的—個或多個資料結構 中的資料中的至少一些資料中再生。 進一步最好,資料結構中的一個包括一張轉換表,其用 來將連續資料區塊的邏輯區塊位址映射到各自的物理位址 並t a己貝料區塊中的哪個正在參與一個開放的資料異動。 取好’其中一個資料結構包括一個辅助轉換表,其用來 為每個各自的開放資料異動’將與一個開放異動相關的邏 0 '73\73〇80-9|〇531 D〇C\ 4 11 本&尺度適财國國在邮⑽)域剔濃撕讀)· 522303
A7 B7 五、發明説明(9 專區鬼位址映射到在啟動該異動之前存在的連續資料區轉 的^自的物理位址,並映射到開放資料異動的-個標示。 鬼取好,控制電路將各自的邏輯位址寫入到連續的資料區 最好’㈣電路將-個資料異動的標示寫人料續的資 料區塊。 、 ,最好’控制電路將-個資料異動的狀態的記綠器的標亍 冩入到連續的資料區塊。 不 ,個資料結構包栝一個配置位元 射連、續資料區塊中的每一個的可用性。 來映 進-步最好’其中-個資料結構包括—個料 中的下-個可用資料區塊的位置的指標值。-鬼 最好,其中一個資料結構包括連續 用資料區塊的位置的指標值。 鬼中的矛一可 最好,至少_個TSLD包括一 "一“….....有磁項的石兹片,並且控制 電路在單-方向上在磁片❸表面上,' 以磁頭的一系多 掃描,將資料區塊寫入到磁片中 進一步最好,一系列掃描中的每— 碼,且其中—個資料結構包括一個指示了 個檢驗點1 值。 曰、了目前檢驗點 號 最好,其中一個資料結構包括—個 本’其用來儲存在磁頭的一個或多個掃::配置位元圖 料區塊中的每一個的可用性。 、、束處的連續 最好,當磁頭的一個或多個掃描完 、’控制電路將 0 \73\73080-910531.D〇C\ -12- 本纸張尺度適财s @,轉準(CNS) A4規格(2igx;^^ 1 522303 、, 、' t A7 _…—...........: ,^ B7 五、發明説明(1〇 )
個或多個資料結構中的至少一些資料寫入至少一個TSLD 中 〇 最好’資料結構中的一個包括一個異動狀態工作記綠, 其用來儲存資料異動的至少一個記錄,其中該至少/個記 錄包括資料異動的一個標示以及參與該資料異動的奚少一 個丁SLD的標示,其中至少一個記錄包括一組記錄中的至少 一個’孩組記錄包括:開始一異動、託付一異動和終止一 兴動’其個別記錄異動已經開始、被託付和被終止。 最好,控制電路在連續的資料區塊上寫入尾標,該尾標 包括一個或多個指示了每個資料區塊使用的資料區。 最好’ 一個或多個資料區包括資料異動的一個標示以及 作為資料異動狀態之記錄器的主TSLD的標示。 最好’一個或多個資料區包括資料區塊的一個邏輯位 址。 最好,一個或多個資料區包括一個指示了資料異動狀態 的標記。 最好,該裝置包括一個磁片控制器,其控制至少一個 TSLD,其中磁片控制器能夠從控制電路寫入至少一個 的資料中恢復一個易失性記憶體的内容。 最好,至少一個參數包括多個參數。 最好,資料異動包括多個並行資料異動。 最好,至少一個TSLD包括一個由伺服器管理的磁片。 最好,至少一個TSLD包括多個TSLD。 最好,至少一個參數包括一個異動狀態工作記錄,其記 0\73\73080-91〇531 D〇C\ 4 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) ' --—- 裝 訂 線 ^22303
綠資料異動的一個或多個狀態。 最好,至少一個參數包括至少— 知# n 、 u刀欢式異動狀熊工作 。、求的一邵分,該工作記錄記綠 態。 '竹井動一個或多個狀 可移動的,以便被其 少一個儲存裝置中的 最好,至少一個儲存裝置被調適成 他控制電路操作,以便恢復儲存於至 會訊。 一種用來實行 根據本發明的較佳實施例,進一步提供了 資料異動的方法,包括: 、在至少-個TSLD中接收作為連續資料區塊的資料及和至 少-些資料區塊的每-個一 # ’和指示了連續資料區塊中 的一個隨後資料區塊的物理位置的參數;以及 回應於至少一個參數,轉換至少—個丁SLD中的資料的 態,以便完成資料異動。 最好,該至少一個參數包括多個參數。 最好,在該至少一個TSLD中接收資料包括將資料經由資 料傳輸網路傳送到至少一個TSLD。 最好’傳送資料包括將至少一個TSLD耦合至資料傳輸網 路0 最好,傳送資料包括: 經由控制電路將至少一個TSLD耦合至資料傳輸網路;以 將控制電路耦合至資料傳輸網路。 進一步最好,接收資料包括從一個客戶端接收資料。 -14 - O:\73\73080-9I0531 DOC\ 4 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 五、發明説明(12 ) 最好,孩方法包括將一個或多個資料結構儲存到至少一 個易失性記憶體中,上述資料結構包括指示了至少一些資 料區塊的一個或多個特性的資料,並將資料結構中的至少 -些資料寫人到至少-個丁⑽中,以便至少_個易失性記 憶體的内容可以從儲存在至少一個TSLD中的一個或多個資 料結構中的至少一些資料中再生。 最好,儲存一個或多個資料結構包括儲存一個轉換表, 該轉換表用來將連續資料區塊的邏輯區塊位址映射到各自 的物理位址,並標記資料區塊中的哪一個目前正在參與一 個開放資料異動。 '~ 最好,儲存一個或多個資料結構包括儲存一個輔助轉換 表,其用來對每個各自的開放資料異動,將與一個開放異 動相關的邏輯區塊位址映射到在啟動資料異動之前存在的 連績資料區塊的各自的物理位址,並映射到該開放資料異 動的標示。 最好,接收資料包括將各自的邏輯位址寫入連續的資料 區塊。 ” ^ 取好,孩方法包括使用轉換表來定位一個特定資料區 塊,以便從該特定資料區塊中讀取資料。 最好,儲存一個或多個資料結構包括儲存一個指示了連 續位置中的每一個的可用性的位置位元圖。 進步最好,將至少一些資料寫入至少一個TSLD包括將 貝料寫入連績資料區塊中的一個,包括使用下列步驟: 掃描個或多個資料結構以決定至少一個TSLD中的一個 O:\73\73080-9l0S3! DOC\ 4 修正 補充 五、發明説明(13 可用資料區塊的物理位置; 、: 或夕個s料結構的資料和至少一些内容窝入物理 位置;以及 =應& $決疋的物理位置,更新一個或多個資料結構。 : 掃爲居個或多個資料結構包括檢查一個邏輯位 址是否包括在一個開放異動中。 最好寫入個或多個資料結構的資料和至少一些内 容’包括下列步驟: 寫入對應於一個軟寫入操作的值;以及 寫入作為主TSLD的至少一個TSLD的標* ,該TSDL作為資 料,動的-個記綠器工作,以實行暫時寫入操作。 〃 最好寫入一個或多個資料結構的資料和至少一些内 容,包括寫入一個對應於開始操作的值,且更新—個:夕 個貝料結構’包括寫入一個開始記錄,該記錄包括異動 一個“ 7F和王TSLD的一個標示,以便實行開始操作。勺 最好,窝入一個或多個資料結構的資料和至少〜 容,包括寫入對應於一個託付操作的值,且更新;婆内 個資料結構包括: 或多 清除指示了異動的開放狀態的標記; 寫入一個託付記錄,該記錄包括異動的一個標示 丁SLD的一個標示,以便實行託付操作;以及 取不和主 更新一個異動狀態工作記錄。 最好,寫入一個或多個資料結構的資料和至少〜此 容,包括寫入對應於一個終止操作的值,且更新〜〜内 .〜個或多 O:\73\73080-91053I.DOC\ 4 - 10 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公复) 522303
/ Ή 五、發明説明(14 個資料結構包括: 清除指示了異動的開放狀態的標記; 寫入一個終止記錄,該記錄包括異動 TSLD的一個標示,以便實行終止操作;以及個枯不和主 更新一個異動狀態工作記錄。 最好,該方法包括掃描該—個或多個 料異動的狀態。 ”竹、、告構以決定資 最好,該方法包括實行一個檢驗點操 驟: F 其包括下列步 鎖住一個或多個資料結構; 裝 將-個或多個資料結構的内容寫入到至 驗點位置;以及 個TSLD的檢 回應於將内容寫入至少一個來 料結構的至少-㈣容。 ^,卜個或多個資 :好’該方法包括實行恢復操作,其包括下列步驟: k至少—個了灿中讀取—個或多個資料結構的内容;以 及 線 回應於上述内宏,σ . 更新土少一個易人性記憶體中的一個 或夕個資料結構。 、貝行陝復操作包括讀取:自從實行檢驗點操作以 Ί寫人的所有的—個或多個資料結構的内容。 進—步最奸,余一 u« ^ ^ K仃恢復操作包括讀取:自從實行檢驗點 操作以來,被耷人 4 馬入的所有一個或多個資料結構的内容,該 1買取所用時間音w 男貝上不多於用來寫入自從實行檢驗點操作
O:\73\73080-91053I D〇C\ 4 ' 17- :297公釐) 五、發明説明(彳5 ) 以來被寫入的所有的一個或多個資料結構所用的時間。 最好,實行恢復操作包括決定一個開放異動的狀態以及 使得開放異動的一個或多個客戶端能夠查詢狀態並決定是 否託付或終止該開放異動。 最好,該方法包括實行一個異動協調操作,其包括下列 步驟: 選擇至少一個TSLD中的一個作為資料異動狀態的記錄 备, 提出一個開始異動操作給記錄器; 為了一個回應等待一個來自記錄器的預定時間,該回應 指示了資料異動的狀態; 視上述回應而定,提出一個或多個軟寫入操作給至少一 個TSLD ;以及 視上述回應而定,決定是否託付或終止該異動,經由發 出一個託付或終止異動操作。進一步最好,該方法包括實 行異動完成操作,其包括下列步驟: 從包括指示了一個資料異動狀態的内容的至少一個丁SLD 中讀取第一組連續資料區塊;以及 回應於第一組連續資料區塊的内容,將第二組連續資料 區塊寫入至少一個TSLD中,並將一組一個或多個資料結構 寫入至少一個易失性記憶體。 最好,該資料異動包括多個並行資料異動。 最好,該至少一個TSLD包括一個由伺服器管理的磁片。 最好,該至少一個TSLD包括多個TSLD。 O:\73\73080-9l053l.DOC' 4 - 18 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 522303
16 A7 B7 五、發明説明( 據本發明的一個較佳實施例,進一 子資料儲存的裝置,包括: 一、% 個TSLD,用來接收連續資料區塊以儲存料自的 位置;以及 2制電路’其被配置成當寫人TSLD時,將連鲭資料區塊 與至少一些資料區塊、-個或多個指示了連續資料區塊中 的,來的資料區塊的物理位置的參數—起傳送到⑶。 取好,該一個或多個參數包括多個參數。 根據本發明的較佳實施例’進一步還提供了用於電子資 料儲存的方法,包括: ” 提供連續資料區塊以儲存到一 TSLD中各自的物理位置; 連續資料區塊中的至少_些資料區塊的每—個決定指示 了藏連續資料區塊中的_個後來的資料區塊的物理位置的 一個或多個參數;以及 將連續資料區塊和一個或多個參數儲存到該tsld中。 最好’孩一個或多個參數包括多個參數。 根據本發明的一個較好較佳實施例,進一步提供了一個 用來實行資料異動的電腦軟體產品,纟包括將程式指令記 鉍在其中的電腦可讀取媒體,當其中的指令被電腦讀取 時,造成電腦在至少一個TSLD中接收作為連續資料區塊的 貝料及和土少一些資料區塊中的每一個一起,與指示了連 績貝料區塊中的_個後來資料區塊的物理位置的至少一個 參數,並回應於至少一個參數,來轉換至少一個Ts乙d中的 資料的狀態,以便完成資料異動。 O:\73\73080-91053I.DOC\ 4 -19-
522303 17 五、發明説明( 根據本發明的一個較佳音y 、 存較佳爲她例,進一步提供一個用來儲 存电子貨枓儲存的電腦軟晋#σ ^ . ㈣人fla產叩,其包括將程式指令記錄 ,、中的笔腦可讀取媒體’當其中的指令被電腦讀取時, 以電腦提供連續資料區塊心儲存到復时各自的物理 位f,將連續資料區塊中的至少一些資料區塊中的每一個 决疋才曰π 了連績貝料區塊中的後來的資料區塊物理位置的 一個或多個參數,並將逯嶠咨 亚打運,,、貝貝枓區塊以及一個或多個參數 儲存到TSLD中。 現在根據以下的本發明較佳實施例的料以及圖式來更 充分地理解本發明,其中: 圖式簡述 «Ι1Α是根據本發明的—個較佳實施例,表示—個分散式 訂子系統的圖解方塊圖’其中磁片被物理韓合至錯存飼服 咨’且且異動於其中發生; 圖1Β是根據本發明的一個較佳眘 .^ 权佳胃她例,表不替代分散式 儲存系統的圖解方塊圖’其中磁片被虛擬賴合至儲存飼服 器,且異動於其中發生; 圖2是根據本發明的一個較佳實施例,表示包括在圖以或 圖⑴中的系統的支援邏輯磁片(TSLD)的異動和伺服器之 間的關係的圖解方塊圖; 圖3是根據本發明的-個較佳實抱例,由tsld儲存的磁片 上(on- disk)區塊結構的圖解方塊圖; 圖4是根據本發明.的一個較佳音技 丨u A住貫她例,在一個軟寫入操作 中的步驟的流程圖; -20, O:\73\73080-91053l D〇C\ 本纸張尺度適用> 國國家標準(CNS) A4規格(210X297公复)—
圖5是根據本發明的一個較 中的步驟的流程圖; 住貫施例,在一個軟讀取操作 圖6是根據本發明的一個車六 、 的步驟的流程圖; *貫施例,在一個讀取操作中 圖7是根據本發明的一個幹 的步驟的流程圖; X住貫施例,在一個開始操作中 圖8是根據本發明的一個較 、> 的步驟的流程圖; 貝她例,在一個託付操作中 圖9是根據本發明的一 的步驟的流程圖; 個較佳實施例 在一個終止操作中 圖10A是根據本發明的一 中的步驟的流程圖; 個較佳實施例,在 一個查詢操作 圖10B是根據本發明的一個、 ^ ,, 苹又佳貝犯例,來自圖10A的 為操作的可能結果的狀態圖; 圖11是根據本發明的一個較伟杂、 隹貝她例,在一個檢驗點操 中的步驟的流程圖; 圖12是根據本發明的一個較佳實施例 協調操作中的步驟的流程圖; 圖13是根據本發明的一個較佳實施例 的步驟的流程圖; 在一個對於異動的 在第一恢復操作中 裝 訂 線 圖14是根據本發明的一個較佳實施例 的步驟的流程圖; 在第二恢復操作中 圖15是根據本發明的一個較佳實施例 的步驟的流程圖; 在第三恢復操作中 0 \73\73080-9I053I DOC\ 4 -21 - I紙張尺度適用中國國家標罕(CNS) A4規格(210X 297公复了 522303
A7 B7 五、發明説明(19 ) 圖16是根據本發明的一個較佳實施例,在異動完成操作中 的步驟的流程圖。 較佳實施例詳述 裝 線 現在討論圖1A,其為根據本發明的一個較佳實施例,顯 示一個異動於其中發生的分散式儲存系統20的圖解方塊圖。 系統20包括多個作為儲存裝置操作的磁片28、30和34。磁片 34耦合至一儲存伺服器32,包括致能伺服器32以管理磁片的 控制電路33。磁片28和30耦合至一儲存伺服器26,包括個別 致能伺服器26能夠管理磁片的控制電路35和37。經由適合的 控制電路管理的儲存裝置,例如磁片28、30和34在這裏稱作 異動支援邏輯磁片(TS L D )。這裏稱作TSLD介面的控制電 路實行儲存裝置或耦合至電路上的裝置上的TSLD操作。以 下表示TSLD、TSLD介面以及TSLD操作的詳細描述。系統20 内的每個磁片28、30和34被配置一個唯一的標示,這裏個別 稱作TSLD!、TSLD2、TSLD3。儘管系統20包括三個TSLD, 但應當理解系統可以包括任意數量的TSLD,其中的每一個 連接一個儲存伺服器(以下簡單稱作伺服器)並由它進行 管理。還應當理解,系統20中的每個伺服器管理一個或多個 TSLD。 伺服器26和32輪流耦合至一個資料傳輸網路24,例如一個 局部區域網,客戶端22亦耦合至該網路。客戶端22知悉系統 20中的每個磁片的標示並知道管理每個磁片的各自伺服器。 客戶端22協調一個TSLD異動的實行。其啟動一個TSLD操 作,並將該TSLD操作和操作將運用的一個或多個TSLD的標 O:\73\73080-910531.DOC\ 4 - 22 ~ 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 年月日 補无 A7 B7 五、發明説明(20 ) 示一同轉發到適合的儲存伺服器或伺服器。一旦接收到一 個TSLD操作,每個伺服器實行由客戶端22指定的一個或多 個TSLD上的操作,並對客戶端做出回應。 圖1B是根據本發明的一個較佳實施例,顯示替代分散式 儲存系統40(異動發生於其中)的圖解方塊圖。除了下列描述 的區別之外,系統40的操作一般類似於系統20的操作(圖 1A),其中由系統40和20中的相同元件符號指示的元件一 般在結構和操作上都是相同的。系統40包括伺服器26和32以 及磁片TSLD!,TSLD2,TSLD3所耦合至的一個儲存區區域網 路42。伺服器26和32經由網路42被虛擬耦合至並管理其各自 的磁片,如圖中的虛線所示。經由網路42轉發一個TSLD操 作給適合的伺服器或多個伺服器,客戶端22啟動該操作,且 每個特定伺服器經由網路回應客戶端22。 圖2是根據本發明的一個較佳實施例,顯示伺服器26和 TSLD 28之間的關係的圖解方塊圖。儘管以下的描述應用於 包括在伺服器26中的TSLD 28及其相關TSLD介面35,但應當 理解系統20和/或系統40中的每個TSLD及各自的伺服器實質 上如同以下對於TSLD 28和伺服器26的描述。 TSLD 28包括由磁碟機61操作的一個非易失性儲存磁片 62。磁片62最好在磁媒體媒體63中實現,其被磁片支架79上 的磁片頭78所讀取寫入。如以下更詳細描述的,在區塊寫入 上,磁片支架79以“移動前向儲存(move-forward-and-store) ”動作操作。磁片控制器76控制磁片62的操作。磁片 控制器76、磁碟機61及其所有元件最好是流行的、工業標準 O:\73\73080-910531.DOC\ 4 - 23 _ 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 522303 五、發明ϋ
Α7 Β7 的項目。利用習知的方法,磁媒體63被分成多個物理磁區 64a、64b、64c…64ζ,這裏統稱為磁區64。每個物理磁區由 一個物理磁區位址註記。最好,每個磁區的尺寸等於2的整 數次冪的位元組,例如512位元組。 被儲存至磁片62上的資料被寫入多個易失性尺寸的區塊框 位置82a、82b、82c..·,這裏統稱作區塊框82。每個區塊框 最好由第一個磁區的物理位址磁區註記,該第一個磁區由 區塊框組成。每個區塊框82最好由整數個連續磁區64構成, 且每個區塊框能夠儲存資料區塊。在磁片62的格式化過程 中’一些磁區64被保留用於描述關於伺服器26和磁片62的物 理和邏輯參數。該等參數包括每個磁區的尺寸,磁片中 的磁區的數量,區塊框82的尺寸和數量以及磁片62支援的邏 輯區塊位址(LBA)的範圍。同樣在磁片62的格式化過程中 保留的是在檢驗點操作過程中使用的空間,其中尤其,伺 服器26中包含的易失性主記憶體70中儲存的資料被儲存到磁 片62中。以下更詳細地描述檢驗點操作。 以下將更詳細地描述易失性記憶體7〇儲存多個易失性動態 資料結構,這些資料結構作為一個tSLD介面35。該等資料 結構的内容最好由伺服器26控制。 記憶體70作為TSLD介面35儲存: •一個轉換表資料結構72,其在LBA和物理區塊位址之間 轉換。該轉換表將每個邏輯區塊位址“丨”與磁片62的一個 區塊框的相應物理位址綁定,這裏稱作TT ( i ) 。TT ( i ) 最好是容納最近被儲存的邏輯位址為“厂,的區塊的内容之 〇:\73\73080-9|〇53 l .D〇C\ 4 - 24 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
一區塊一空間的第一磁區。最初,τ τ (i)的所有值都被設 置成零(NULL ))值。當資料被寫入磁片62時,對於特定 邏輯區塊位址i的TT(i)的值就從零值改變,並被更新成 為區塊i上次被儲存的區塊空間的磁片磁區位址。轉換表Μ 還包括一個標記區域73 ,因此轉換表72中的每個事項丁丁 (1 )的標記可被設置來指示區塊“ i ”目前正在參與一個開 放異動。當一個特定標記被設置時,各自的事項T T ( i )註 屺一個未託付的區塊框。如以下描述的,對於區塊丨的被託 付的區塊框可以使用一個輔助轉換表事項ATT(i)來被找 到。如果tt (i)事項未被標記,則ττ (丨)註記對於區塊i 的被託付的區塊框。 •一個輔助轉換表(ATT)資料結構172,是表72的精簡形 式,包括表72的非零事項,其中標記區域乃被設置。換句話 說,輔助轉換表172記錄目前包含在一個開放異動中的區 塊。表172包含對於包含在開放異動中的每個區塊丨的事項, 在開放異動之前被儲存的區塊丨的相應的區塊框位址 ATTG),以及區塊丨目前被包含在的異動的標示Trans 1〇,。 •個配置位元圖資料結構74,用來在區塊至磁片62的每 /人儲存過程中,疋位可用的磁片區塊框82。對於每個區塊 框i,如果區.塊框對於區塊内容的儲存是可用的,則配置位 元圖74中的相應位元被設置成〇。如果區塊框包括一個區塊 的内备,或者如果區塊框已經被保留由伺服器託資料結構使 用,則相應的位元被設置成i。當磁片62被初始化時,使得 除了那些為伺服器26所保留的所有區塊框外都成為可用的, -25- O:\73\73080-910531.DOC\ 4 本紙張尺度適财®國家鮮(CNS) A4規格_ χ --- ^22303
Bl. 3t. A7
更配置位元圖74中的每個位元都被設置成〇e 實^上^!^位元圖資料結構174。工作位元圖丨74是當 貝4丁上 〆入知驗點操作陆W Λ 5H 田 知作時所做的配置位元圖74的副本。 •一個檢驗點資料处接 ”十、、、。構84 ,其記錄已被實行的 的數量。當磁片岁加7〇ρ 、丄 丁 H知點知作
Fm伽舌 9已完成一個移動前向儲存動作並準備 開始另一個動你R去 A ^ ^ 寺,自動貫行檢驗點操作。最 點數量S4設置為〇。 肝 U料結構,一個第一可用區塊框指標86和下— 個可用區塊框指標88。當—個檢驗點操作發生時,第一可用 =塊框指標86註記第_個可用區塊框。下—個可用區塊框指 標88註記-個可用的將被下一個區塊儲存操作使用的區塊 框。指標88在每個區塊儲存操作上被更新。 當實行一個磁片恢復時,由伺服器26 “重播,,自從上一次 檢驗點之後的區塊儲存過程來恢復第一可用區塊框指標86戶= 註記的區塊框之後的區塊框的位址。最^,兩個指標都被 設置成第一個未保留區塊框的位址。 •一個異動狀態工作記錄資料結構90,其包括關於異動狀 態的記錄列表。每個異動被配置一個通用唯一識別字,這 裏稱作Tid。工作記錄90的記錄包括Tid並將一個參與該異動 的TSLD的列表94與Tid相關聯。工作記綠包括三部分:記錄 類型、異動識別字以及列表94。以下詳細描述進入工作記錄 90的記錄類型、開始異動、託付異動以及終止異動。 上面描述的每個資料結構元件,也就是,轉換表72、辅助 轉換表172、配置位元圖74、工作配置位元圖174、檢驗點數 -26- 〇.\73\73080-910531 ,DOC\
本紙張尺度適用中國國家標準(CNS) A4规格(21〇x 297公爱) 522303 A7 —j B7 五、發明説明(24 ) 量84、第一可用區塊框指標86、下一個可用區塊框指標88以 及異動狀態工作記錄90被在主記憶體70中作為TSLD介面3 5 維護,並在一個對於TSLD 28的檢驗點操作過程中被儲存至 TSLD28。 裝 當一個新區塊框被需要用來儲存資料時,根據配置位元 圖74,一個區塊框被從磁片62上可用的空閒區塊框配置,且 工作配置位元圖184被更新以反映新的配置。為了選擇哪個 區塊框要被寫入,伺服器26記錄下一個可用區塊框指標88的 值。伺服器26使用這個值與配置位元圖74—起,定位有在上 一次被寫入的區塊框之前的位址的下一個可用區塊框。如 此,磁片支架79以移動前向儲存動作移動,直到一個檢驗點 操作被叫喚。在前面參考的臨時專利申請案第60/ 176507號 以及被轉讓給本發明同一受讓人的,2000年7月6曰申請的 專利申請案“ Enhanced Stable Disk Storage (易失性增強型穩 定磁片記憶體)”中描述了有關移動前向儲存方法的進一 步的細節。 線 當一個客戶端啟動多個TSLD上的異動時,客戶端選擇 TSLD中的一個,最好選擇有最小標示的TSLD作為主TSLD。 主TSLD作為異動狀態的記錄器來工作。如以下描述的,異 動狀態工作記錄90的記錄最好有三種類型。 一個開始異動記錄92記錄一個事實,也就是,一個異動 Tid已經開始並且列在參與該異動的TSLD的列表94中。列表 94上的第一 TSLD 96為異動Tid選擇的主TSLD。這裏使用的 對於開始異動記錄92的符號是: O:\73\73080-910531.DOC\ 4 -27- 本紙張尺度適用中國國家襟準(CNS) A4規格(210X 297公釐) 五、發明説明(25 )
Begin ( Tid;TSLD1?TSLD2. . .TSLDm) 其中TSLDi是主TSLD,TSLD2... TSLDm是參與異動Tid的其 他TSLD。 一個託付異動記錄102記錄一個事實,也就是,一個異動 被託付。每個託付異動記錄102包括異動的標示Tid以及參與 該異動的TSLD的列表94。這裏使用的對於託付異動記錄102 的符號是:
Commit( Tid; TSLD1? TSLD2... TSLDm) 一個終止異動記錄112記錄這樣一個事實,也就是,異動 被終止。每個終止異動記錄112包括異動的標示Tid以及參與 該異動的TSLD的列表94。這裏使用的對於終止異動記錄112 的符號是:
Abort(Tid;TSLD1?TSLD2.. .TSLDm) 最好,如以下所描述的,每個開始異動記錄92只被儲存在 對於異動Tid的主TSLD的異動工作記錄中,直到異動被託 付或終止。 最好,每個託付異動記錄102被儲存到異動Ti d的主TSLD 的異動狀態工作記錄90中。最好,為了其他還不知道該異動 被託付的TSLD的利益,當關於異動Tid的資料結構已經被在 特定TSLD中更新之後,託付異動記錄保留在特定TSLD的異 動狀態工作記錄中。在一個特定的主TSLD中,託付異動記 錄代替開始異動記錄。 最好,每個終止異動記錄112被儲存在異動Tid的主TSLD 的異動工作記錄90中。最好,為了其他還不知道該異動被終 O:\73\73080-910531.DOC\ 4 ~ 28 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 522303
I 91. 5. at iL
的TSLD的利益’當關於異動Tid的資料結構已經被在特定 SLDJ*新之後,每個終止異動記綠保留在特定胤D的異 ^大怨工作記錄中。在—個特定的主TSLDt,終止異動記 餘代替開始異動記錄。 〃 田在非主TSLD中,其中非主TSLD被包含在終止異動和託付 并動記錄最好被保留直到下一個檢驗點。 圖3是根據本發明的—個較佳實施例,由了助28儲存在 磁片上區塊結構的示意圖。資料被作為區塊2〇〇儲存到特定 區塊框82中。區塊200包括一個客戶端部分2〇2,由客戶端a 使用以儲存其内容資料,及一個尾部(traiier)2〇4包括由 TSLD 28使用的區域。尾部204包括下列區域·· s · —個磁片上的檢驗點數量區域2〇6,其中儲存了檢驗點數 里84的目丽值。這是在區塊儲存操作時的檢驗點數量。 •一個邏輯區塊位址(LBA)區域208,其中儲存了區塊 200 的 LBA。 •一個區塊類型區域210,其中儲存了描述了區塊2〇〇類型 的標記。區塊200的類型在以下被描述。 •一個異動標示區域212,其中儲存了區塊2〇〇正在參與的 異動的標示Tid。可替代地,如果當區塊被儲存時,該區塊 200沒有在參與一個異動,則將區域212設置為〇。 •一個主TSLD區域214’其中諸存了區塊200正在參與的異 動的主TSLD的標示TSLDP。可替代地,如果當區塊被儲存 時,該區塊200沒有在參與一個異動,則將區域214設置為 -29- O:\73\73080-910531.DOC\ 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公复) 522303~_^__ ΐ月日修正
區塊類型區域210可以假設以下類型的區塊: •一個資料區塊類型’其中來自客戶端22的内容資料被儲 存在荅戶端資料區202中,且其中區塊所儲存的區塊框異動 表72所足彳二,且其中區塊不是一個開放異動的一部分。 •一個軟寫入區塊類型,其中來自客戶端22的内容資料被 儲存在客戶端資料區2〇2中,且資料所儲存的未託付區塊框 被表72註記,但舊的被託付區塊的内容所儲存在的區塊框不 被釋放供客戶端22使用,而是由表172註記。兩個區塊框都 在配置位元圖74中被標記配置。 •一個開始區塊類型,其中將特定異動標示ΤΜ與參與異動 Tid的TSLD的標示一起儲存到區域2〇2中。這種類型的區塊 圮鉍一個事實,也表就是說,異動Tid已經開始,並且開始 區塊佔用其各自的區塊框,僅直到下一個檢驗點操作。在 一個成功的檢驗點操作之後,如上所述,釋放被佔用的區 塊框。 •一個託付區塊類型,其中將特定異動標示Tid與參與異動 Tid的TSLD的標示一起儲存到區域2〇2中。一個特定託付區 塊記錄一個事實,也表就是說,異動Tid已經被託付,並且 佔用其各自的區塊框,僅直到下一個檢驗點操作。在一個 成功的檢驗點操作之後,如上所述,釋放被佔用的區塊 框。 •一個終止區塊類型,其中將特定異動標示Tid與參與異動 Tid的TSLD的標示一起儲存到區域202中。一個特定終止區 塊記錄一個事實,也表就是說,異動Tid已經被終止,並且 O:\73\73080-9I0531.DOC\ 4 , 3〇 , 本紙張尺度適用中國國家標準(CNS) A4規格(210X29^57 522303— ί -;
Α7 Β7 五、發明説明(28 ) 佔用其各自的區塊框,僅直到下一個檢驗點操作。在一個 成功的檢驗點操作之後,如上所述,釋放被佔用的區塊 框。 圖4是表示根據本發明的一個較佳實施例,顯示包括在軟 寫入操作220中的步騾的流程圖。軟寫入操作220將異動Tid 的内容及有primTSLD值的主TSLD儲存至由異動Tid所最新的 每個區塊框中。這裏使用的對於軟寫入操作220的符號是: Soft- Write( Tid, primTSLD, i, contents) 以下假設丁SLD 28是參與TSLD的其中一個,且假設操作 220由客戶端22啟動。操作220也將内容與一個LBA i相關, 而不丟失LBA i的舊内容。軟寫入操作220作為一個暫時寫 入操作動作,其可以在後來被託付或終止,從而作為兩階 段託付協定的第一階段來動作,這在發明背景中已被描述 過。 在檢查步驟222中,檢查轉換表72以尋找是否對應於LB A i的事項,TT( i)對其標記進行了設置。如果標記被設置 了,則將以下參考圖16所描述功能的開放異動錯誤代碼返回 給客戶端22。如果標記未被設置,則在掃描步驟224中,配 置位元圖74被掃描以尋找跟隨在下一個可用區塊框88中記錄 的區塊框之後的第一個可用區塊框。如果在可用性檢查步 驟226中沒有找到可用的區塊框,則實行如下所述的一個檢 驗點操作。如果一個區塊框被找到,則假設其物理位址為 “ ” a. ° 在儲存步驟228中,將檢驗點數量、LBA i、異動標示Tid 〇 \73\73080-91053t.DOC\ 4 ~ 31 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線
μ久王丨SLD primTSLD這些值窝入 記錄的區塊框中的區塊的各自的尾-用區卿^ 川(圖”中。將對應於區塊⑽/,^ 206、綱、川和 區塊類型的值寫入到區塊框的尾部土區是說,軟寫入 客戶端22提供的丁id的资料内容寫 —° 進一步,將 .,. 、种円各寫入區塊框的資料區202中。 在一更新步驟2辦,在記憶體辦,實行下列配置: •在工作配置位元圖174中,A (下一個可用區燒框)一 •在輔助轉換表172中’ (AT1Yn,τ τη、 丄⑴ Trans ID ) —〈 TTY i),
Tid〉; \ ⑴ 二在轉換表72中,TT⑴―下—個可用區塊#,且ττ⑴的 木卞έ己被在標記區域73中設置;且 •資料結構下一個可用區塊框88被設置成值“ a.,, 吾人應當理解,作為已經被完成的異動的一部分,軟寫 入操作220將資料和尾部區域資料寫入下一個可用區塊框88 的區塊中。不過,用來容納丨的舊内容的特定區塊框不被改 變,且經由將該特定區塊框的配置位元設置成〇來不釋放該 區塊框,這樣如果需要的話,舊内容仍可以被存取。 圖5疋表示根據本發明的一個較佳實施例,顯示包含在軟 讀取操作240中的步驟的流程圖。作為一個未完成異動的一 邵分’款讀取操作24〇讀取在軟寫入操作220中已經被儲存的 資料内容。這裏使用的對於軟讀取操作240的符號是··
Soft- Read( i) 在檢查步驟241中,檢查轉換表72以尋找對應於LBA i, -32- O:\73\73080-91053I.DOC\ 4 本紙張尺度適用中國國家標準(CNS) A4规格(210 x 297公釐) 五、發明説明(30 ()的事員疋否對其標記進行了設置。如果標記未被設 置:則將-個開放異動錯誤代碼返回給客戶端22。如果標記 ^設置,則在讀取步驟242中,例如客戶端22的一個請求者 1在轉換表72中,由TT⑴註記的區塊框中的區塊的資料 内今202貝料内客202被返回給請求者,然後軟讀取操作 240被終止。 圖6是表示根據本發明的一個較佳實施例,顯示包含在讀 取操作25G中的步驟的流程圖。操作25()被用來讀取已經完成 一個異動的區塊框中的邏輯區塊i的資料内容,並將該内容 返回給例如客戶端22的—個請求者。這裏使用的對於讀取操 作的符號是:
Read( i) 在一第一步驟254中,在轉換表72中由TT(i)註記的區塊框 中的區塊的資料内容202被從TSLD中讀取。經由檢查ττ〇) 的標記是否被設置,操作250繼續。如果標記被設置,表示 包含TT(i)的異動還沒有被完成,則將一個開放異動錯誤信 號返回給先前讀取了區塊框的請求者。如果ττ⑴的標記未 被設置,表示區塊不包含在一個開放異動中,則經由將區 塊框返回給用戶來操作250完成。然後操作25〇終止。 圖7是表示根據本發明的一個較佳實施例,顯示包含在一 個開始操作260中的步驟中的流程圖。操作26〇儲存這裏稱作 開始區塊的一個區塊,其暫時記錄了在一個主tsld上的一 個異動的細節。如上面參考圖2所描述的,操作26〇還儲存 開始共動j己錄 92 ’ 。假設 O:\73\73080-91053l.DOC\ 4 -33- 522303
五、發明説明(31 ) 該異動有一個標示Tid ,並包含下列的TSLD : TSLDi,TSLD2_TSLDm。最好,TSLD# 為異動Tid 的主 TSLD (pdmTSLD )工作。一個異動協調者,這裏假設是客戶端 22,啟動主TSLD(也表·就是說,TSLD!)上的開始操作260。 這裏使用的對於開始操作260的符號是:
Begin( Tid; primTSLD, TSLD2, TSLD3· . · TSLDm) 在記錄步驟262中,標示Tid和異動的參與的TSLD,也表 就是說,TSLDhTSLD:,TSLD3,...丁31^111被記錄在異動工 作記錄90中。在掃描步驟264中,配置位元圖74被掃描以尋 找跟隨在下一個可用區塊框88中記錄的區塊框之後的第一個 可用區塊框。如果在可用性檢查步驟266中,沒有找到可用 區塊框,則實行檢驗點操作。如果隨後的區塊框被找到, 則假設其物理位址為“ a . ” 。 在儲存步驟268中,將檢驗點數量、異動標示Tid以及 TSLDJ primTSLD)這些值寫入記錄在下一個可用區塊框88中 的區塊框的區塊的各自的尾部區域206、212和214 (圖3 ) 中,這裏假設該區塊框的物理位址為“ p . ” 。將對應於區 塊類型,也表就是說,開始區塊類型的值寫入區塊的尾部 區域210中。在邏輯位址區域208中沒有做任何事項。同樣, 在儲存步驟268中,異動的參與TSLD,也表就是說, TSLDbTSLDp.TSLDm被在區塊框“p.”的區塊的資料區202 中記錄。 在更新步驟270中,在記憶體26中,資料結構下一個可用 區塊框88被設置為值“a.” 。然後操作260終止。 -34- 裝 線 O:\73\73080-910531.DOC\ 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 五 、發明説明( 更:rit指出,在操作260中,工作配置位元圖嶋被 ‘V,=就是說,A(P)保持設置為0。這[區塊框 於“記為空閒。然而,在操作260完成時,“a”大 2 P”、’‘這才羡,在操作260之後的操作將總是尋找有物理 ::大T ‘P’“的區塊。如此’在磁片支架79的目前掃描過 ^時P ^不被儲存進去。當實行—個檢驗點操 “ ’,,4描終止’在該檢驗點操作過程中,區塊框 P中的所有有關參數都被儲存到磁片62中 作^後:區塊框‘V對於進一步的储存操作成為^的占操 圖8疋表π根據本發明的一個較佳實施例,顯示包本在一 個託付操作彻中的步驟的流程圖。操作⑽應該在时盘一 個給定異動相關的軟寫入操作22〇都已經成功終止之 貫行,並使得所做的暫時寫人操作成為永久的。對 =操作^⑽操作280應當被在異動Tid中包含的每個丁仙: 貝行。這表使用的對於託付操作280符號是:
Commit( Tid; pdmTSLD,TSLD2, TSLD3, ·. · TSLDm) 如下所述,步驟284、286和288儲存一個託:區塊至 62。所儲存的託付區塊作為—個託付操作的暫時記憶體來工 作,直到實行了一個隨後的檢驗點操作為止。 在掃描步驟284中,對配置位元圖74進行掃描以尋找
在下-個可用區塊框88中記錄的區塊框之後的第— P 塊框。如果在可用性檢查步驟286中沒有找到可用 - 則實行-個檢驗點操作。如果找到了—個隨後的區塊’ 則假設其物理位址為“ a . ” 。 O:\73\73080-91053I.DOC\ 4 -35- 522303 A7 B7 五、發明説明(33 ) 在儲存步驟288中,檢驗點數量等、異動標示Tid以及 TSLD〆 primTSLD)這些值被寫入在下一個可用區塊框μ中記 錄的區塊框中的區塊的各自尾部區域2〇6、212和214 (圖 3 ),這裏假設該區塊框的物理位址為“ ρ ,,,。對應於區塊 的類型,也表就是說,一個託付區塊類型的值被寫入區塊 框的尾邵區域21 〇。在邏輯位址區域208中,沒有做任何事 項。同樣,在儲存步驟288中,異動參與的TSLD,也表就是 过,TSLD1,TSLD2,...TSLDm被在區塊框“ρ·”的區塊的資料 區202中記錄。 在更新步驟290中,在記憶體26中,資料結構下一個可用 區塊框88被設置為值“a.” 。 在掃描步驟292中’對於包含異動標示丁id的事項,輔助轉 換表172被掃描。對於每個被找到的事項, •將工作配置位元圖174中的相應位元設置為〇,這樣由事 項註1己的區塊框成為可用的。 •在轉換表72中,對應於在輔助轉換表172中找到的那些的 每個事項的標記被清除。 •將辅助轉換表172中的事項清除,以便以精簡形式維持表 172。 在記錄步驟294中,如果TSld 28是主TSLD,也表就是 說’ TSLDl ’則如記錄步驟262 (圖7 )中所實行的異動工作 圮錄90的開始異動記錄,由異動丁id和參與的丁sld的一個託 付圮錄所代替,然後.託付操作280終止。如果TSLD 28不是 王TSLD,則在步驟292之後,操作28〇終止。 -36- O:\73\73080-91053I.DOC\ 4 本紙張尺度適用中國國家i準(〇^丁4_規格(2ι〇χ挪公董) 522303
A7 B7 五、發明説明(34 ) 吾人應當理解,區塊框“ p ”只被佔據到下一個檢驗點操 作,之後該區塊框成為可用的。 圖9是表示根據本發明的一個較佳實施例,顯示包含在終 止操作300中的步騾的流程圖。如果與一個給定異動相關的 軟寫入操作220中的一個失敗了,則應當實行操作300。操作 300從操作220中實行的暫時寫入操作中退出,並且在實行操 作220之前,使得區塊框的内容成為可用的。至於軟寫入操 作220,操作300被在包含在異動Tid中的每個TSLD上實行。 這裏使用的對於終止操作300的符號是:
Abort( Tid; primTSLD, TSLD2? TSLD3,... TSLDm) 裝 線 步·驟304、306、308和3 10將一個終止區塊儲存到磁片62。 所儲存的終止區塊作為終止操作的暫時記憶體來工作,直 到實行了 一個隨後的檢驗點操作為止。在操作上,步驟 304、306和3 10個別實質上類似於如上所述的步騾284、286 和290。在儲存步驟308中,檢驗點數量值、異動標示Tid以 及TSLDi ( primTSLD )這些值被寫入在下一個可用區塊框88 中記錄的區塊框中的區塊的各自的尾部區域206、212和2 1 4 (圖3 ),這裏假設該區塊框有一個物理位址“ q . ” 。對應 於區塊的類型,也就是說,終止區塊的值被寫入區塊的尾 部區域210。.在邏輯位址區域208中,不做任何事項。同樣, 在儲存步驟308中,異動的參與TSLD,也就是說, TSLD1?TSLD2? ...TSLDm被記錄在區塊框“q.”中的區塊的 資料區202。 在掃描步驟312中,對於包含異動標示Tid的事項,掃描輔 O:\73\73080-910531.DOC\ 4 -37- 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 522303
裯充 A7 B7 五、發明説明(35 助轉換表172。對於每個找到的事項,轉換表”被用來定位 相應的區塊框。然後在工作配置位元圖174中的相應位元被 重設。同樣在步驟312中,當位元已經被重定之後,轉換表 72被更新,以便被找到的事項現在註記在輔助轉換表口二中 找到的事項。最後,將輔助轉換表172中的每個事項被清 除,並且將轉換表72中每個相應事項的標記清除。 在記錄步驟314中,如果TSLD 28是主丁SLD (TSLDi),則 如記錄步驟262 (圖7) _實行的異動工作記錄9〇的開始異 動記錄被一個異動Tid和參與TSLD的終止記錄所代替,然後 終止操作300終止。如果TSLD 28不是主TSLD,則在步驟η〕 之後’操作300終止。 吾人應當理解,區塊框“ q,,只被佔用到下一個檢驗點操 作為止’之後該區塊框成為可用的。 圖10A是表示根據本發明的一個較佳實施例,顯示包含在 一個查詢操作中的步驟的流程圖。對於系統2〇或系統仂中的 每個TSLD,查詢操作320檢查異動狀態工作記錄卯關於一個 特足兴動Tid的狀態,並將所知道的關於該異動的資訊返回
給一個例如客戶端22的請求者。這裏使用的對於查詢Z 320的符號是: T
Query一 S ta t e (Tid) 在第一查詢322中,檢查工作記錄9〇以查看對於特定異* 的開始記錄是否存在。如果開始記錄存在, /'功 TSLD是主TSLD並且該異動Tid還在進行中,也就是說,/叼 放的,則返回一個帶有參與TSLD列表(從開始記綠中 -38-
O:\73\73080-9I053I.DOC\ 4 本纸張尺度適用中國國家標準(CNS) A4規格(210 522303
-39- 出)的返回開放狀態。該 Λ夕〗表表7F该異動是開放的並列出 了其他參與的TSLD。 如果一個開始記錄不存在,則操作320繼續到第二查詢 324,其中檢查輔助轉換表172以查看該表是否包括對於里 動™的事項。如果該表包括對於Tid的一個或多個事項,表 示1¾異動在進行中,則返回一個“開放,,聲明。 如果對於查询324的回答是否定的,則操作32〇繼續到第三 查詢326 ’其中檢查異動工作記錄9〇以查看對於特定異動的 終止記錄是否存在。如果一個終止記錄存在,則返回一個 “終止”聲明。 如果對杰且珣326的回答是否定的,則操作32〇繼續到第四 查珣j28,其中檢查異動工作記錄9〇以查看對於異動的託付 記錄是否存在。如果一個託付記錄存在,則返回一個‘‘託 付聲明。如果一個託付記錄不存在,則返回一個“未 知”聲明,且存在320終止。 圖10B是表示根據本發明的一個較佳實施例,來自特定 TSLD上的操作320的可能結果的狀態圖330。如圖33〇所示, 一個特定異動Tid能夠在一個開放狀態332、一個被終止狀態 ^ 3 4、一個被託付狀態3 3 6或一個未知狀態3 3 8中存在。 如果對於一個異動Tid的主TSLD以“未知,,來回應一個查 詢狀態’而另一個非主TSLD以“開放,,狀態來回應該查 詢’則可以推斷出該異動已經被託付。這種情況發生在當 該異動已經在主TSLD中成功實行,但在非主TSLD中未成功 實行託付操作。 〇\73\73080-9t〇53|.D〇C\ 4 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 玎 線 驗點操作州中的步”個較佳實抱例,顯示包括在檢 述特定應用於TSLD 28(^圖。雖然以下關於操作340的描 有TSLD實質上遵循與以下二二系統2〇或系統40中的所 的相同的步驟。檢驗點操作::二丁各自的檢驗點操作中 介面^容納的值寫人磁片62將=性記憶體财的τ⑽ 杯4人认 片62 ’其中該值被永久儲存。最 好,fe %點操作34〇寫入預 L配置給孩刼作的磁片62上的區塊 门的進—步最好’不將檢驗點數據寫入區塊框82e中相 :=間’但以一種交替模式“,因此先前的檢驗點數 據不被盖過(write over)或擦除。檢驗點操作34〇以周期間隔 于來自TSLD 35的貝料結構複製到磁片62中,因此在失敗事 ^中TSLD 28能夠快速恢復。可以在任何時間由tsld 2 8 T行檢驗點操作340 ’但必須當在下一個可用區塊框“周圍 沒有可用區塊框時實行。 在一初始步驟342中,丁SLD介面35中的所有資料結構被鎖 住因此T S L D 2 8停止支援除檢驗點操作之外的操作。在 第二步驟344中,檢驗點操作340讀取來自介面35的第一個可 用區塊框86的值。區塊框86是從工作配置位元圖174中決定 的’而該位元圖是空閒並被與最低的磁片磁區位址相關。 在增加步驟346中,檢驗點數量84的值被增加,且被增加的 值被讀取。 在儲存步驟348a、348b、348c、348d和348e中,操作340將 轉換表72、複製轉換表172、工作配置位元圖174、第一個可 用區塊框86、被增加的檢驗點數量8 4和異動狀態工作記錄 -40 O:\73\73080-910531 DOC\ 4 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 9
90寫入到區塊框32 e中。 在弟一重設步驟350中,下一個可用區塊框88的值被設成 如步驟3 44中所找到的第—個可用區塊框%的值,其下一個 可用區塊框被用於一個隨後的移動前向儲存操作。在第二 重設步驟352中,配置位元圖74被設成工作配置位元圖μ 的值。錢操作34〇解鎖TSLD介面35中被鎖纟的資料結構並 終止,於是TSLD 28使用被更新的資料結構恢復操作。 當檢驗點操作340異動於一個特STSLD上時,該tsld* 止其他操作。4 了減小對於一個系統用戶的影響,可以在 小的時間區段中實行操作34〇。在上述臨時專利申請案以及 上述名為“Enhanced Stab丨e Disk St〇rage (易失性增強型釋 定磁片記憶體)’,料利申請中,描述了實質上類似於操 作340的檢驗點操作。進—步,還詳細解釋了㈣在小的時 間區段中實行檢驗點操作以便減小對系統用戶影響的方 法。本領區域中的技術人員能夠採用名S “Enhanced Stable M ^age (易失性增強型穩定磁片記憶體)”的專利申 請案中的方法以在小的時間區段中實行操作则。 圖12是表示根據本發明的_個較佳實施例,顯示包含在對 於異動Tid的-個協調操作中的步驟的流程圖。這裏假設由 作為異動協調者的客戶端22啟動,且假設參與該異動的 TSLD是 TSLDi,TSLD2,…TSLDm。 在初釔步驟〇62中,客戶端22選擇參與的TSLD中的一個作 ,對於異動™^TSLD工作。經由選擇帶有最低識別字或 最不活動的TSLD或者任意地來進行該選擇。$裏假設tslDi O:\73\73080-91053l.DOC\ 4 41 -
522303_ (
A7 B7 五、發明説明(39 ) 是主 TSLD ( primTSLD)。 在開始異動步驟364中,客戶端22將開始操作260 (圖7 ) Begin( Tid; primTSLD,TSLD2, TSLD3,…TSLDm)託付給 TSLD!, 並且在第一等待步驟365中,對於一個來自TSLD!關於開始 操作已經成功地完成確認等待一個預定時間階段。如果沒 有確認,則客戶端 22 託付終止操作 300Abort(Tid;primTSLD,TSLD2,TSLD3...TSLDm)給 TSLDi 並終 止該異動。 如果客戶端22接收到開始操作.260已經被成功地完成確 認,則在軟寫入步驟366中,客戶端22將一個或多個軟寫入 操作 220 (圖4) Soft-Wdte(Tid; primTSLD,i,contents)託付給 參與的TSLD中的每一個。客戶端22將下列資料提供給每個 參與的TSLD :異動標示Tid、主TS L D標示(TSLD〗)、相關 邏輯區塊位址以及要被儲存的相關資料區塊内容。 在第二等待步驟368中,客戶端22等待一個預定時間階段 以接收來自參與的TSLD中的每一個的關於每個軟寫入操作 被成功完成的肯定確認。如此便可繼續每個軟寫入操作。 如果在預定時間階段中,自所有參與的TSLD中都沒有接 收到肯定確認,則在終止步,驟370中,客戶端22將終止操作 300Abort(Tid ; primTSLD,TSLD2,TSLD3,...TSLDm)託付給參 與的TSLD中的每一個。如果主TSLD沒有能夠確認操作30 0 已經被成功完成,則在等待對於每個完成確認的託付之 後,客戶端22輪流將一個黏(sticky )終止操作(以下將解 釋)StickyAbort(Tid ; primTSLD,TSLD2,TSLD3,...TSLDm)託 O:\73\73080-910531.DOC\ 4 - 42 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線
A7 B7 五、發明説明(40 ) 付給參與的非主TSLD中的每一個。一旦接收到一個確認, 或如果所有參與的TS L D已經被查詢且沒有一個做出回應, 則終止協調操作360。 如果在預定時間階段中,從所有參與的TSLD接收到了肯 定確認,則在託付步騾372中,客戶端2 2將託付操作 280Commit(Tid ; primTSLD,TSLD2,TSLD3,...TSLDm)託付給 異動的主TSLD。如果主TSLD確認了該託付操作,該操作被 發送給參與的TS L D中的每一個。如果主TSLD沒有能夠確認 操作280已經被成功地完成,則在等待對於每個完成確認的 託付之後,客戶端22將一個黏託付(asticky- commit)操作(以 下將解釋)Stickycommit(Tid ; primTSLD, TSLD2, TSLD3,. ·. TSLDm)託付給參與白勺非主TSLD中的每一個。一旦 接收到一個確認,或如果所有參與的TSLD已經被查詢且沒 有一個做出回應,則終止協調操作360。 黏託付操作實質上與託付操作相同,相應的黏託付記錄 實質上與託付記錄相同。黏託付操作和記錄應用於非主 TSLD。作為黏託付操作的結果,一個黏託付記錄被添加到 非主TSLD的異動狀態工作記錄上。不能將一個黏託付記錄 從一個非主TSLD的異動狀態工作記錄上移除,除非由一個 客戶端明確地指示。上面的描述也應用於黏終止操作和終 止操作之間的關係,以及黏終止記錄和終止記錄之間的關 係。 吾人應當理解,協調操作360試圖託付或終止異動Tid,並 在異動至少一個參與的TSLD中上記錄操作的結果。 O:\73\73080-910531.DOC\ 4 ~ 43 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 522303 五、發明説明(41 圖13是表示根據本發明的一個較佳實施例,顯示包含 -恢復操作373中的步驟的流程圖。在從例如系統㈣系統 40中的伺服器26這樣的儲存㈣器故障中恢復之後,實 作奶。如以下詳細描述的,操作奶要求掃描配置位元圖 74。…(上述㈣的名為“触时㈣如⑽咖&。㈣(增強 型穩足磁片儲存),’的專利申請案詳細描述從—個非易失性 磁片記憶體的故障中恢復的替代方法,熟習本技藝者將能 夠應用該描述使例如伺服器26的伺服器㈣統故障中恢復, 該替代方法花費的時間是自從上次檢驗點以來被寫入的區 塊的數量的線性函數。) 在第喂取步騍374中,在上次檢驗點操作34〇中已經被儲 存到磁片62上的配置位元圖74的值被在TSLD介面%中讀取 回到配置位元圖74和工作配置位元圖174中。 、在第二讀取步驟375中,在上次檢驗點操作340中被儲存到 兹片62上的第一個可用區塊框86的值被讀取回到第一個可用 區塊框86和下一個可用區塊框中。 在第二謂取步驟376中,在上次檢驗點操作34〇中被儲存的 轉換表72、輔助轉換表172、檢驗點數量料以及異動狀態工 作記錄90中的值,被在TSLD介面35中讀取回到各自的資料 結構中。 在第四讀取步驟377中,儲存在由下一個可用區塊框88給 的區塊框位址中的區塊被讀取。 在更新步驟378中,當檢查TSLD介面35中的檢驗點數量84 對應於對於每個被讀取區塊的被儲存檢驗點數量時: O:\73\73080-9I0531DOC\ 4 _ 44 本紙張尺度適用了Ϊ國家標準(CNS)A4規格(210X297公爱) 42 五、發明說明( 1 .根據上次被讀取的區塊(從 35中的所有相關資料結構。也始)$新TSLD介面 時發生的丁 SLD操作。 %疋說,重播當儲存區塊框 2·經由在配置位元圖74中向前 -個位元,並在該區塊框個可用區塊框的第 到的下-個區塊框。 -取區塊,來定位要被儲存 3 ·繼續步驟37心和378b,夂 ::直到已—成==: =取的 吾人應當理解,利用“會嫌,, 參 重播自從上次檢驗點操作以來 貝仃的TSLD操作這個過程,第 士韦y^ 罘一恢復操作373實質上將 I 35上的Λ料結構$全返回到它們故障之前的值, 除了由不能被讀取的區塊所引起的局部錯誤之夕卜經由從 上t檢驗點操作寫人磁片62的—個或多個參數來實現該重播 過私以便建JL自從上述操作後寫人的區塊框位置。 圖14是表示根據本發明的一個較佳實施例,顯示包含在第 二恢復操作380中步驟的流程圖。操作38〇最好是在已經在一 個這編…服器26的被恢復的伺服器上結束的操作π 之後實行,以便決定開放異動的狀態。 在恢復操作380的第一步驟3 82中,伺服器26對於開始異 動圮錄掃描其異動狀態工作記綠90,該記錄指示了其中 TSLD 28是主TSLD的開放異動。對於每個這樣的異動,在查 詢步驟384中,TSLD 28對於一個託付或終止記錄,檢查異 動的每個參與的TSLD。在更新步驟386中,TSLD 28根據步 O:\73\73080-9i053l.DOC\ 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 裝 訂 線 -45- 522303
五、發明説明(43 ) A7 B7
跟〕84的結π來更新其異動工作記綠9q。然後第—恢復操作 380終止。吾人應當理解,經由實行操作380, TSLD在一個 狀態中,在該狀態中,其能约用最新資訊回應來自包含在 其中TSLD 28是主TSLD的異動中的其他饥⑽查詢。 圖15是表示根據本發明的—個較佳實施例,顯示包含在第 三恢復操作390中的步驟的流程圖。至於恢復操作则,最好 是由伺服器26在從故障中恢復後,在實行了操作谓之後實 行恢復操作390。在第-步驟392中,伺服器^掃描其如上所 述被重建的輔助轉換表172, 〃尋找看來是開放的異動。對 於每個這樣的異動’伺服器26遵循以下的步驟。在查詢步驟 394中,伺服器26定位對應於特定異動的軟寫人區塊,並查 珣其井動工作把錄90以找到異動的狀態。如果異動工作記錄 90提供了異動的狀態,則飼服器26按要求更新記憶體7〇中的 資料結構並繼續下一個開放異動。 如果異動工作記錄90不能提供異動的狀態,則在第二查詢 步驟396中,如異動的區塊框的尾部區域214規定的異動的主 TSLD被查詢。伺服器26將對於主TSLD的查詢結果合併在 TSLD介面35的資料結構中。當步驟392中找到的所有開放異 動都已經經由步驟39 4和/或步驟396被處理後,操作390終 止0 圖16是表示根據本發明的一個較佳實施例,顯示包含在由 客戶端實行的異動完成操作400。典型地,這作為實行異動 時客戶端故障的結果。操作4〇〇最好由系統2〇或系統4〇中的 客戶端在其試圖讀取一個特定異動中的特定區塊框時接收 O:\73\73080-910531.DOC\ 4 - 46 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 訂 線 五、發明説明(44 ) 到一個開放異動錯誤返回時實行。(如上所述,例如在軟 寫入操作220的檢查步驟222中。)此處,假設客戶端是客戶 端22,假設區塊框是TSLD 28中的區塊框,且假設區塊框是 丁SLD28中的區塊框04a 〇開放異動錯誤指示區塊框04a正在參 與一個開放異動。操作400使得一個開放異動的參與者能夠 建立是否託付或終止該異動的一致意見,從而完成該異 動。 在第一步驟402中,客戶端22在區塊框64a上實行軟讀取操 作240 (圖5 ),也就是說,Soft- Read( i),並接收異動標示 Tid以及主TSLD的標示。在第一查詢步驟404中,客戶端22 在主TSLD上實行查詢操作320 (圖10A ),也就是說, Query—State( Tid),並根據接收到的回應來工作。 如果沒有回應,則由於主TSLD沒有運行,客戶端22不能 夠完成該異動。在這種情況下,在等待步騾406中,客戶端 22等待主TSLD被發送到一個運行中的伺服器。 如果在第一回應步驟408中,主TSLD用一個“未知”聲明 來回應,則客戶端22在特定TSLD上實行託付操作280,也就 ^ Commit(Tid ; primTSLD, TSLD2, TSLD3?... TSLDm) ^ ^ 該丁SLD上客戶端接收開放異動錯誤信號,在這種情況下該 特定 TSLD 是 TSLD 28。 如果在第二回應步驟410中,主TSLD用一個“開放”聲明 與參與該異動的其他TSLD的列表一起來回應,則在第二查 詢步驟412中,客戶端22輪流在參與的TSLD中的每一個上實 行查詢操作320。 O:\73\73080-910531.DOC\ 4 ~ 47 - 本紙張尺度適用中國國家標準(CNS) A4規格(210X 297公釐) 522303
A7 B7 五、發明説明(45 ) 如果從參與的TSLD中的任何一個接收到一個明確的回 應,也就是說,“託付”或“終止”回答,則在第三回應 步騾414中,客戶端22在剩餘的參與的TSLD上實行各自的託 付操作280或終止操作300,也表就是說,八13〇1^(丁丨〇1; primTSLD,TSLD2, TSLD3,…TSLDm)。 如果在第二回應步驟412中,所有參與的TSLD返回一個 “開放”回答,則在第四回應步驟416中,萬一在自從操作 400開始後有一個變化,客戶端22再次設法讀取初始的區塊 框,也表就是說,區塊框64a。如果沒有變化,則客戶端22 在參與的TSLD上實行終止操作300。 如果在第二回應步驟412中,參與的TSLD中的一個沒有回 應,則在第五回應步驟4 1 8中,客戶端22等待來自該特定 TS L D的回應,因為可能該特定的未回應TSLD具有所要求的 回答。在步驟406、408、4 14、416或418之後,操作400終 止。 吾人應當理解,在TSLD 28可進入存取的所有次數中, TSLD 28的一個特定區塊框82將或不參與一個異動,或參 與,以便異動表72會標記該參與。相同的情況應用於系統 2 0或系統40中其他可進入存取的TSLD和它們各自的轉換 表。如此,在異動完成操作400中,客戶端22也許能夠讀取 一個丁SLD上的區塊框的區塊内容以及另一個TSLD上的區塊 框的區塊内容,這樣系統20或系統40顯得不一致。不過, 也就是說,使在這種情況下,客戶端也充分知道系統的狀 態並能夠達成關於任何未完成異動的狀態的結構。 O:\73\73080-910531.DOC\ 4 - 48 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 裝 玎 線
發明説明 為了最小化異動狀態工作記錄90的尺寸,當不再需要記錄 寺 品要將6己%從工作記錄中清除。如上所述,在主TSLD 中’每個開始異動記錄被一個託付記錄或一個終止記錄所 代替。在預定的時間間隔之後,在一個主TSLD上的託付記 綠可被清除,因為它們不再被需要了。(如上所述,如果 已知一個異動在一個非主TSLD上是開放的,並且主TSLD當 被查均時’用“未知,,來回應,則假設異動已經託付)。 一旦主TSLD已經確認相關異動的所有參與的TSLd都知道異 動的狀態,則在主TSLD上的終止記錄可以被清除。 一旦對於異動的主TSLD已經查詢了關於該異動的一個非 王丁SLD ’則該非主TSLD就能夠清除一個特定異動的託付或 終止兄錄’因為在進行查詢時主TSLD記錄了異動的狀態。 因此最好,在一個系統内的TSLD如上所述地進行協調,以 便將不需要的異動記錄從異動狀態工作記錄9〇中清除。 吾人應當理解,儘管系統20和系統4〇使用了多個tsld和 管理這些丁SLD的多個伺服器,但本發明的原則也適用於管 理-個TSLD的一個伺服器。進一步,吾應當理解,當多個 並發異動在一個或多個丁SLD上被實行時,本發明的原則適 用於所述多個並發資料異動的恢復和完成,因為這些多個 異動實質上是互相獨立記錄和恢復的。 吾人還應當理解’本發明的範圍包括除了上面描述的用 於在祠服器的-個故障之後,從m料區塊中恢復資料 的方法之外的方法’其中指示一個連續資料區塊的位置的 -個或多個參數被寫入一個儲存器裝置。這些方法的例子 -49- O:\73\73080-91053I.DOC\ 4 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公复] ------------------ 522303
A7 B7 五、發明説明(47 ) 在臨時專利申請案60/ 176507和名為“Enhanced Stable Disk Storage (增強型穩定磁片儲存)”中被描述。 吾人還應當理解,本發明的較佳實施例被作為電腦軟體 產品而提供。此種產品可以作為一個電子資料傳輸或者以 例如CD — ROM這樣的電腦可讀取媒體上的可實體形式或者 兩種形式的混合來提供。 因此,吾人應當理解,上述較佳實施例是利用實例來舉 例的,並且本發明不限於被特別顯示及以上所描述的内 容。而是,本發明的範圍包括上面描述的各種特徵的組合 或子組合,在閱讀了前面描述的先前技藝所未公開的描述 之後,熟習此項技藝者可以做出本發明的各種變化和修 改。 O:\73\73080-9I053I.DOC\ 4 - 50 ~ 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)
Claims (1)
- * #用於支援資料異.動的裝置,包括: 土少一個儲存器裝置,其用來接收作為連續資料區相 的資料以在各自物理位置中儲存;以及 、控制電路,當寫入至少一個儲存器裝置時,其被配屬 成^連續資料區塊與至少一些資料區塊及指示在連續資 料區塊中後來的資料區塊的物理位置的參數一起傳送至 土)一個儲存器裝置,並轉換資料的狀態以便利用至少 —個參數來完成資料異動。 2. 如申凊專利範圍第丨項的裝置,其中控制電路包括將担 :電路_合至至少-個記憶體裝置的至少-條通信_ 結,且其中控制電路經由該至少一條鏈結 儲存器裝置。 ^ 3. :申請專利範圍第i項的裝置,其包括將資料傳送到起 制電路並與之耦合的資料傳輸網路。 請專利第3項的裝置,其中資料傳輸網路被相 =至少-個儲存器裝置,並將資料傳送到該至少—伯 ]子咨裝置’其中控制電路經由該資料傳輸網路管 V、一個儲存器裝置。 一 5·:;Π專利範圍第1項的裝置’其包括將資料傳送到, 制電路的一個客戶端。 j 6.如申請專利範圍第i項的裝置,其 一個县生卜4、卜立_ 甲I ^ %路包括至4 個易失性記憶體’用來儲存包括指示了至少一 區塊的-個或多個特性的資料之—個或二構 "至少-些資料區塊中的至少-些由控制電路寫I: O:\73\73080-910531 D〇C\ -51 - 91522303 A8 B8 C8 D8 申請專利範圍 一個儲存11裝置,以便該至少-個易失性記憶體的内容 可以從儲存在該至少一個儲存器裝置中的一個或多個資 料結構中的至少一些資料中再生。 ” 7.如中請專利範圍第㈠的裝置,其中資料結構中的一個 G括個轉換表,其用來將連續資料區塊的邏輯區塊位 址:射到各自的物理位址,並標記其中的哪個資料區塊 目前正參與一個開放異動。 8·如申請專利範圍第7項的裝置,其中資料結構中的一個 ^括一個辅助轉換表,其用來對於每個各自的開放資料 =動,將與一個開放異動相關的邏輯區塊位址映射到資 料異動啟動之前存在的連續資料區塊各自的物理位址, 並映射到該開放資料異動的一個標示。 9·^請專利範圍第7項的裝置’其中控制電路將各自的 邏輯區塊位址寫入連續資料區塊。 10.如申請專利範圍第7項的裝置,其中控制電路將資料異 動的標示寫入連續資料區塊。 11·如申請專利範圍第7項的裝置’其中控制電路將資料異 動狀態的記錄器的標示寫入連續資料區塊。 12. 如申請專利譲6項的裝置,其中資料結構中的一個 包括-個映射連續資料區塊中的每—個的可用性的配置 位元圖。 13. 如申請專利範圍帛6項的裝置,其中資料結構中的一個 包括-個連續資料區塊巾的τ —個可料料區塊的位置 的指標值。 裝 訂 線 0 :\73\73080-910531 DOC\ 5 -52- 、申請專利範圍 包括連續資料_ + t /、中貝料結構中的一個 值。 的罘一可用資料區塊的位置的指標 b.如令請專利範圍第6 置包括具有-個磁頭的:^置^至少一辑^ 從磁片矣、、 片並且其中在磁頭以單方向 磁片。不斷的越過時,控制電路將資料區塊寫入 .如申清專利範圍第1 $ ^ 菩 -個有-個檢驗點數量,並且並、心:::中的每 括指示了目前檢驗點數量的值:中息 17·=請f利範圍第15项的裝置,其中資料結構中的一個 描1Γ工作配置位元圖’用來在磁頭的一個或多個掃 時’儲存連續資料區塊中的每-個的可用性。 圍帛15項的裝置,其中控制電路在磁頭的 S夕個知描π成時,將一個或多個資料結構中的至 ^、一些資料寫人至少-個儲存器裝置。 19·如申凊專利範圍第6項的裝置,其中資料結構中的一個 ^括-個用來儲存資料異動中的至少一個記錄的異動狀 心工作騎’其中該至少一個記錄包括資料異動的標示 以及參與孩資料異動的至少一個儲存器裝置的標示,並 且其中至少一個記錄包括由下列組成的一組記錄中的至 二田個·開始異動、託付異動以及終止異動,其個別記 錄異動已經開始、已經被託付和已經終止。 20.如申請專利範圍帛丨項的裝置’其中控制電路將—個尾 -53- O:\73\73080-9I0531.DOC\ 本紙張尺度it财S目家標準(CNS) A4規格(210X297公董) 522303 91年V V修正補充 A8 B8 C8邵寫入連續資料區塊,該尾部包 m 了母個資料區塊 的使用的一個或多個資料區。 21. 如申請專利範圍第20項的裝置,其中—個或多個資料區 =括資料異動的標示以及資料異動記錄器的標示,、其; 資料異動的記錄器包括至少一個儲存器裝置中的一個、。 22. 如申請專利範圍第2〇項的。 … Y 個或多個資料區 包括該資料區塊的一個邏輯位址。 23·如申凊專利範圍第2〇項的裝置,並, 弁〒一個或多個資料區 包括指示了資料異動狀態的標記。 裝 24. 如申請專利範圍第、項的裝置,其包括控制至少—個儲 存器裝置的磁片控制器’其中磁片控制器能夠從由㈣ 電路寫入至少一個儲存器裝置的資料中恢復 記憶體的内容。 失 玎 25. 如申請專利範圍第i項的裝置,其中至少一個參數 多個參數。 線 26. 如申請專利範圍第丄項的裝置,其中資料異動包括多個 並發資料異動。 27. 如申請專利範圍第i項的裝置,其中至少一個儲存器裝 置包括由一個伺服器管理的磁片。 W 28·如申請專利範圍第丨項的裝置,其中 /、7土> 一個儲存器裝 置包括多個儲存器裝置。 29. 如申請專利範圍第1項的裝置,其中至少一個參數包括 記錄資料異動的一個或多個狀態的異動狀態工作^綠\ 30. 如申請專利範圍第1項的裝置,其中至少一個參數包杆 O:\73\73080-9l053l.DOC\ 5 -54-522303:,.1己錄資料異動的一個或多個狀態的分散式異動狀態工作 記錄的至少一部分。 31.如申請專利範圍第1項的裝置,其中至少一個儲存器裝 置被改為可移動的,以便由其他控制電路操作以恢復儲 存在至少一個儲存器裝置上的資訊。 32· —種用來實行一個資料異動的方法,包括·· 在至少一個儲存器裝置中接收作為連續資料區塊的資 料,及和至少一些資料區塊中的每一個一起,指示了在 連績資料區塊中一個後來資料區塊的物理位置的至少一 個參數;以及 裝 回應於至少一個參數,轉換至少一個儲存器裝置中的 資料的狀態,以完成該資料異動。 33. 如申凊專利範圍第32項的方法,其中至少一個參數包括 多個參數。 34. 如申請專利範圍第32項的方法,其中在至少一個儲存器 裝置中接收資料包括經由一個資料傳輸網路將資料傳送 線 到至少一個儲存器裝置。 3)·如申#專利|已目$ 34項的方法,其中傳送資料包括將至 ’個儲存备裝置耦合至資料傳輸網路。 %‘如_請糊_第34項的方法,其中傳送資料包括: 經由控制電路將至少—個儲存器裝置耦合至資料傳輸 網路;以及 將控制電路耦合至資料傳輸網路 37. 如申請專利範圍第32項的方法 其中接收資料包括從一 O:\73\73080-9I053I.DOC\ -55-申請專利範圍 客户^接收資料。 38·如申請專利範圍第32項的 記憶體中儲存包括指示了至:_:至少-個易失性 個特性資料的一個或多::'貝枓區塊的-個或多 至少-些資料“至少並將資料結構中的 易失性記憶體中的内容可以便至少-個 置中的-個或多個资㈣::存在土少一個儲存器裝 叫U、“ 。構中的至少一些資料中再生。 39.如申請專利範圍第38項 ΦΗ , , ^々万法,其中儲存一個或多個資 輯:^括儲存-個轉換表,用來將連續資料區塊的邏 : '位址:射到各自的物理位址,並標記其中的哪個 具.斗區塊目前正在參與—個開放資料昱動。 4=中請專利範圍第39項的方法’其中儲存一個或多個資 枓結f包括儲存一個輔助轉換表,用來對於每個各自的 開放貝料異動’將與孩開放資料異動相關的邏輯區塊位 T映射到在該資料異動開始之前存在的連續資料區塊的 各自的物理位址,並映射到該開放資料異動的標于。 札如申請專利範圍第39項的方法,其中接收資料包括將各 自的邏輯位址寫入連續資料區塊。 42·如申請專利範圍第39項的方法,包括使用轉換表定位一 個特足資料區塊,以從該特定資料區塊中讀取資料。 43. 如中請專利範圍第38項的方法,其中儲存一個或多個資 科結構包括儲存一個指示了連續資料區塊中的每一個的 可用性的配置位元圖。 44. 如申請專利範圍第38項的方法,其中將至少一些資料寫 O:\73\73080-910531.DOC\ 5 -56-入土少一個儲存器裝置包括使用下列步驟將資料 續資料區塊中的一個·· / ”,、連 掃描一個或多個資料結構以決定至少一個儲存器裝 中的—個可用資料區塊的物理位址; 罝 將資料和一個或多個資料結構的至少一此 ^ 理位置:以及 入物 構回應於該被決定的物理位置,更新一個或多個資料結 45.如申請專利範圍第44項的方法,其中掃描一個 料結構包括檢查一個邏輯區塊位址是否 貝 異動中。 &在一個開放 46·如申清專利範圍第料項的方法,其中窝入資料和 多個資料結構中的至少一些内容包括下列步驟·個或 寫入對應於一個軟寫入操作的值;以及 寫入作為-個異動狀態記錄器的至少—個儲存 中的一個的標示,以實行一個暫時寫入操作。 罝 47. 如申請專利範圍第44項的方法,其中窝入資料和—、 多個資料結構中的至少-些内容包括寫入對應於 始操作的值,並且其中更新一個或多個資料結構勺^ 入一個包括異動標示和至少一個儲存哭 。包括寫 ^ 置的標示的聞 始1己鉍,以便實行該開始操作。 開 48. 如申請專利範圍第44項的方法,其中寫入資料和 、 多個資料結構中的至少一些内容包括_ I 2和—個或 何馬入對應於一 付操作的值,並且其中更新一個或多個 光 57- 裴 線 O:\73\73080-910531.DOC\ 5 522303六、申請專利範圍 清除指示了異動的開放狀態的標記; 寫入一個包括異動標示和至少一個儲存器裝置的標示 的託付記錄,以實行該託付操作;以及 更新一個異動狀態工作記錄。 49_如申請專利範圍第44項的方法,其中寫入資料和一個或 多個資料結構中的至少一些内容包括窝入對應於一個終 止操作的值,並且其中更新一個或多個資料結構包括: 清除指示了異動的開放狀態的標記; 寫入包括異動標示和至少一個儲存器裝置標示的終止 記錄,以實行該終止操作;以及 更新一個異動狀態工作記錄。 50.如申請專利範圍第38項的方法,包括掃描一個或多個資 料結構以決定資料異動的狀態。 )1.如申請專利範圍38項的方法,包括實行一個包括下列步 驟的檢驗點操作: 鎖住一個或多個資料結構; 將一個或多個資料結構的内容寫入至少一個儲存器裝 置的檢驗點位置;以及 ° 回應於將内容寫入至少一個儲存器裝置,而改變一個 或多個 > 料結構的至少一些内容。 52.如申請專利範圍第5 1項的方法,包括實行一個 、 口已括下列 步驟的恢復操作: 從至少一個儲存器裝置中讀取一個或多個資料結構的 内容;以及 ° 〇:\73\73080-9|〇531.D〇a 5 -58-+請專利範 回應於上述内容,而更新至 5〜個或多個資料結構。 個易失性記憶體中的 53·如申請專利範圍第52項的方 讀取自從實行檢驗點操作以來二2恢復操作包括 料結構的内容。 术罵入的所有-個或多個資 54·如申請專利範圍第52項的方法,余〜 讀取自從實行檢驗點操作以來=了恢他作包括 料結構的内容,所用時間實5 =-個或多個資 驗點操作以來寫入、万、寫入自從實行檢 時間 ^的所有—個或多個資料結構所花費的 料利第52項的料,其中實行恢復操作包括 個開放異動的狀態並使得開放異動的 =端能夠查詢該狀態並決定是否託付或終止該開放L 的一個儲存器裝置中的一個作為資科異動狀態 將一個開始異動操作提交給記錄器; -個來自於至少一個儲存器裝置的指示了里 狀態的回應,而等待一個預定時間; / ”動 視該回應而定,將一個或多個軟寫入操作提交給= 一個儲存器裝置;以及 &人、’、〇至少 視該回應而定,決定是否經由發佈一個託付或終止μ -59- O:\73\73080-9I053I.DOC\ 5 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐) 522303ΑΒ c D 六、申請專利範圍 動操作來託付或終止該異動。 57. 如申請專利範圍第38項的方法,包括實行包括下 的異動完成操作: 從包括指示了資料異動狀態的内容的至少一個儲存器 裝置中讀取連續資料區塊的第一組;以及 °" 回應於該連續資料區塊的第—組的内容,將連續資料 區塊的第二組寫入至少一個儲存器裝置並將一組一個 多個資料結構儲存到至少一個易失性記憶體。 58. 如申請專利範圍第32項的方法,其中資料a異動包括多 並發資料異動。 为.如申請專利範圍第32項的方法,其中至少一個儲存器 置包括由一個伺服器管理的磁片。 60·如申請專利範圍第32項的方法,其中至少一個儲存器 置包括多個儲存器裝置。 61.用於電子資料儲存的裝置,包括·· 一個儲存器裝置,其用來接收連續資料區塊以儲存到 其中各自的物理位址;以及 控制電路,當寫入儲存器裝置時,其被配置成將連續 資料區塊與至少一些資料區塊以及指示了連續資料區塊 中後來貝料區塊的物理位址的一個或多個參數窝入儲 器裝置。 ^ 62·如申請專利範圍第6ί項的裝置,其中一個或多個參數 括多個參數。 63· —種用於電子資料儲存的方法,包栝·· 或 個 裝 裝 存 包 O:\73\73080-9I053I.DOC\ -60本紙張尺度適财_家標苹(CNS) Α4規格(210><297公石 理=連"料區塊以料到—個错存器裝置的各自物 定二區塊中的至少一些資料區塊中的每-個決 疋夺曰不了連績資料區塊中 個或多個參數;以及的物理位置的— 在儲存器裝置中儲存連續資料區塊以及—個或多個參 致0 64·.如申凊專利範圍第63項 甘士 括多個參數。 〃勺万法、、中—個或多個參數包 6). 一種用於實行資料異動的電腦軟體產品,包括有豆中吃 =程式指令的電腦可讀取媒體,這些指令在被電腦讀 造成電腦在至少―個儲存器裝置中接收作為連 '貝貝斗£塊的資料,和至少一些資料區塊的每一個一起 以及指示了在連續資料區塊中後來資料區塊的物理位置 的至少-個參數,並回應於該至少—個參數,而轉換在 至少一個儲存器裝置中的資料狀態,以便完成該資料豈 重力。 ^ 66. -種用於電子資料儲存的電腦軟體產品,包括有並中記 錄了程式指令的電腦可讀取媒體,這些指令在被電腦讀 取時’會造成電腦提供連續資料區塊以儲相儲存器裝 置中各自的物理位置,並為連續資料區塊中的至少一些 資料區塊中的每一個決定指+ 7 —、杰 天疋扣不了在連續資料區塊中後來 資料區塊的物理位置的-個或多料數,絲連續資料 區塊和一個或多個參數儲存到儲存器裝置。 O:\73\73080-9I0531.DOC\ 5 -61 -
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/651,910 US6668304B1 (en) | 2000-01-18 | 2000-08-30 | Transaction support on logical disks |
Publications (1)
Publication Number | Publication Date |
---|---|
TW522303B true TW522303B (en) | 2003-03-01 |
Family
ID=24614740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW090121071A TW522303B (en) | 2000-08-30 | 2001-08-27 | Transaction support on logical disks |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2002149454A (zh) |
KR (1) | KR100420549B1 (zh) |
CN (1) | CN1190741C (zh) |
SG (1) | SG99941A1 (zh) |
TW (1) | TW522303B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495131B2 (en) | 2002-10-08 | 2013-07-23 | International Business Machines Corporation | Method, system, and program for managing locks enabling access to a shared resource |
US8768905B2 (en) | 2003-05-01 | 2014-07-01 | International Business Machines Corporation | Managing locks and transactions |
US10353759B2 (en) | 2012-06-15 | 2019-07-16 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US10430199B2 (en) | 2012-06-15 | 2019-10-01 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US10558465B2 (en) | 2012-06-15 | 2020-02-11 | International Business Machines Corporation | Restricted instructions in transactional execution |
US10599435B2 (en) | 2012-06-15 | 2020-03-24 | International Business Machines Corporation | Nontransactional store instruction |
US10719415B2 (en) | 2012-06-15 | 2020-07-21 | International Business Machines Corporation | Randomized testing within transactional execution |
US11080087B2 (en) | 2012-06-15 | 2021-08-03 | International Business Machines Corporation | Transaction begin/end instructions |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100898228B1 (ko) * | 2002-09-16 | 2009-05-18 | 주식회사 케이티 | 테이블스페이스 자동할당 장치 및 그 방법 |
US11734393B2 (en) | 2004-09-20 | 2023-08-22 | Warner Bros. Entertainment Inc. | Content distribution with renewable content protection |
CN101542457B (zh) * | 2005-04-29 | 2015-11-25 | 微软技术许可有限责任公司 | 事务变换 |
US7392335B2 (en) * | 2006-02-10 | 2008-06-24 | Oracle International Corporation | Anticipatory changes to resources managed by locks |
JP4740766B2 (ja) * | 2006-02-27 | 2011-08-03 | 富士通株式会社 | データ受信装置、データ送受信システム、データ送受信システムの制御方法及びデータ受信装置の制御プログラム |
GB0616068D0 (en) * | 2006-08-12 | 2006-09-20 | Ibm | Method,Apparatus And Computer Program For Transaction Recovery |
KR101132389B1 (ko) * | 2007-04-09 | 2012-04-03 | 엘지엔시스(주) | 분산자료구조 기반 체크포인트메모리 구조화 장치 및 방법 |
KR20100133373A (ko) | 2008-02-11 | 2010-12-21 | 애론 마킹 | 간단 비자율 피어링 환경 워터마킹, 인증 및 바인딩 |
CN102999434A (zh) * | 2011-09-15 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种内存管理方法及装置 |
US10509658B2 (en) * | 2012-07-06 | 2019-12-17 | Nvidia Corporation | System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations |
CN103578207B (zh) * | 2012-07-20 | 2015-12-02 | 中国移动通信集团公司 | 一种数据处理方法、装置、系统及相关设备 |
CN103235747B (zh) * | 2013-04-24 | 2016-12-28 | 曙光信息产业(北京)有限公司 | 元数据的恢复方法和系统 |
CN103605583B (zh) * | 2013-07-08 | 2017-03-15 | 宇龙计算机通信科技(深圳)有限公司 | 文件恢复方法与系统 |
KR102593362B1 (ko) * | 2016-04-27 | 2023-10-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102694946B1 (ko) * | 2018-10-01 | 2024-08-14 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 데이터베이스 시스템 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02310665A (ja) * | 1989-05-25 | 1990-12-26 | Toshiba Corp | 分散トランザクション処理システム |
US5481694A (en) * | 1991-09-26 | 1996-01-02 | Hewlett-Packard Company | High performance multiple-unit electronic data storage system with checkpoint logs for rapid failure recovery |
JPH0619761A (ja) * | 1992-07-06 | 1994-01-28 | Fujitsu Ltd | ファイル管理方式 |
JPH07175700A (ja) * | 1993-12-20 | 1995-07-14 | Fujitsu Ltd | データベース管理方式 |
US5630047A (en) * | 1995-09-12 | 1997-05-13 | Lucent Technologies Inc. | Method for software error recovery using consistent global checkpoints |
JPH0991183A (ja) * | 1995-09-27 | 1997-04-04 | Toshiba Corp | データベースリカバリ装置 |
US5799305A (en) * | 1995-11-02 | 1998-08-25 | Informix Software, Inc. | Method of commitment in a distributed database transaction |
JPH1153235A (ja) * | 1997-08-08 | 1999-02-26 | Toshiba Corp | ディスク記憶装置のデータ更新方法、ならびにディスク記憶制御システム |
US6202067B1 (en) * | 1998-04-07 | 2001-03-13 | Lucent Technologies, Inc. | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system |
JP2000163294A (ja) * | 1998-11-30 | 2000-06-16 | Nec Corp | データベース管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体 |
-
2001
- 2001-08-08 SG SG200104765A patent/SG99941A1/en unknown
- 2001-08-22 JP JP2001251031A patent/JP2002149454A/ja active Pending
- 2001-08-27 TW TW090121071A patent/TW522303B/zh not_active IP Right Cessation
- 2001-08-29 CN CNB011258179A patent/CN1190741C/zh not_active Expired - Fee Related
- 2001-08-30 KR KR10-2001-0052936A patent/KR100420549B1/ko not_active IP Right Cessation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495131B2 (en) | 2002-10-08 | 2013-07-23 | International Business Machines Corporation | Method, system, and program for managing locks enabling access to a shared resource |
US8768905B2 (en) | 2003-05-01 | 2014-07-01 | International Business Machines Corporation | Managing locks and transactions |
US10353759B2 (en) | 2012-06-15 | 2019-07-16 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US10430199B2 (en) | 2012-06-15 | 2019-10-01 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
US10558465B2 (en) | 2012-06-15 | 2020-02-11 | International Business Machines Corporation | Restricted instructions in transactional execution |
US10599435B2 (en) | 2012-06-15 | 2020-03-24 | International Business Machines Corporation | Nontransactional store instruction |
US10606597B2 (en) | 2012-06-15 | 2020-03-31 | International Business Machines Corporation | Nontransactional store instruction |
US10684863B2 (en) | 2012-06-15 | 2020-06-16 | International Business Machines Corporation | Restricted instructions in transactional execution |
US10719415B2 (en) | 2012-06-15 | 2020-07-21 | International Business Machines Corporation | Randomized testing within transactional execution |
US11080087B2 (en) | 2012-06-15 | 2021-08-03 | International Business Machines Corporation | Transaction begin/end instructions |
Also Published As
Publication number | Publication date |
---|---|
KR20020018158A (ko) | 2002-03-07 |
CN1365056A (zh) | 2002-08-21 |
SG99941A1 (en) | 2003-11-27 |
KR100420549B1 (ko) | 2004-03-02 |
CN1190741C (zh) | 2005-02-23 |
JP2002149454A (ja) | 2002-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW522303B (en) | Transaction support on logical disks | |
EP2260410B1 (en) | Log based replication of distributed transactions using globally acknowledged commits | |
CN101221573B (zh) | 将储存库还原到先前状态的方法 | |
TW522320B (en) | Apparatus and method for recovering a failed database data set | |
CA2933790C (en) | Apparatus and method for creating a real time database replica | |
TWI233548B (en) | Providing a snapshot of a subset of a file system | |
CN108073656A (zh) | 一种数据同步方法及相关设备 | |
US7249281B2 (en) | Method and system for backing up and restoring data of a node in a distributed system | |
US9092446B2 (en) | Storage system and file management method | |
US8082229B2 (en) | Methods for backing up a database | |
TW200303466A (en) | Standby file system with snapshot feature | |
TW200303464A (en) | Writable file system snapshot with ditto address feature | |
US20200167320A1 (en) | Versioned and hierarchical data structures and distributed transactions | |
CN105574187A (zh) | 一种异构数据库复制事务一致性保障方法及系统 | |
CN107229540A (zh) | 一种基于时间点的数据库恢复方法及系统 | |
EP3026574B1 (en) | Affair processing method and device | |
US6886019B1 (en) | Optimized selection and accessing of stored files to avoid mount and position thrashing | |
JP3808608B2 (ja) | 蓄積交換型電子会議システムにおけるオブジェクトの移動処理装置及び方法並びに移動処理プログラムを記録したコンピュータ読取可能な記録媒体 | |
CN102708166B (zh) | 数据复制方法、数据恢复方法及装置 | |
US20030028729A1 (en) | High performance storage access environment | |
CN106095600A (zh) | 用于促进持久化应用编程接口的方法和装置 | |
TW583537B (en) | Method and system for providing direct access recovery using seekable tape device | |
CN103064660A (zh) | 一种基于数组技术的电子合同版本控制方法 | |
CN101261639B (zh) | 数据库对象的共享 | |
CN106997305B (zh) | 一种事务处理方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |