TW526415B - System and method for persistent and robust storage allocation - Google Patents
System and method for persistent and robust storage allocation Download PDFInfo
- Publication number
- TW526415B TW526415B TW90103182A TW90103182A TW526415B TW 526415 B TW526415 B TW 526415B TW 90103182 A TW90103182 A TW 90103182A TW 90103182 A TW90103182 A TW 90103182A TW 526415 B TW526415 B TW 526415B
- Authority
- TW
- Taiwan
- Prior art keywords
- section
- steps
- memory
- storage
- scope
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
526415 、發明說明( 經濟部智慧財產局員工消費合作社印製 景 1 · I明範疇 本發明説明電腦儲存體之方 強固的動態儲存區配置之方法及=、乾;且更明確地説明 2 · t關技藝説曰i …° 坪多電腦系統必須動態地分 熊儲在FW八π m 酉儲存。作業系統利用動 〜、存區配置分配用以執杆超 儲在Fγ 7 孝式的儲存體。其它有關動態 ^ ^ ^ ^ + 予、、罔路貝料的網路伺服器。於 卉夕事例中,要求之記憶體 + 4 Λ 、, j係未知的,一直到要求時 才g知迢。一個動態分配之 的。 u仅的生存期研可能係未知 已在主記憶體上投注了相當多的奴 六r 田夕的努力發展有效的動態儲 存區配置通則。但對於磁碟而士 Η , π π P,部禾和極努力地從事發 展有效的動態儲存區配置通則。 磁碟上的動態儲存區配置係重要的,其有若干理由。於 許多事例中,錢料-直持續存留(即使在該系統關機之 後)係必要的。磁碟記憶體提供持續性儲存體。磁碟記憶 體亦提供故障容限儲存體;於一個系統故障、而主記憶體 的内容損壞遺失之後,則磁碟記憶體通常可保存儲存在磁 碟上的資訊。磁碟記憶體的另一個利益包括或許可以一個 比王記憶體更適宜的價錢利用更多的磁碟記憶體。如是, 可利用磁碟記憶體儲存無法適合主記憶體的資訊。 參考圖1,一第一個適合系統分配該第一個找到的記憶 體區段(其全部或一部分),其中該第一個找到的記憶體區 4 - 私紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) -i. _裝 訂---- 526415 五、發明說明( 2 段大到足以滿足一個記憶體請求。就一個記憶體請求,,7” 而T ’ 一第一個適合交還b 1,因B丨爲該第一個碰到而可滿 足該請求之區段。一個最佳適合系統分配一個大到足以滿 足一請求之最小區段(其全部或一部分)。於圖1中,因,,7,, 最適合B3,故交還區段B3 (其中B3的容量爲8)。 參考圖2 ’於一個二進位同伴系統中,區段大小爲2的次 方(例如4和4、8和8···等等)。許多動態儲存區配置器(DSA) 保持一個或多個間置區段表列。該等表列已知爲間置表 列’例如閒置區段表列。各別的間置表列存在給不同大小 的區段。亦有分配其它大小區段的同伴系統。於丨996年i〇 月之IEEE (電子電機工程師協會)開拓綱領,%其議事記錄 中所刊行的一篇Arun Iyengar所著、標名爲,,動態儲存區配 置通則之可縮放性”的論説中,對動態儲存區配置其先前 技藝一個完全的全視作了一個説明。 動態儲存區配置器(DSA)可利用不同的方法合併相鄰的 間置區段。一種方法爲利用立即合併,其中當將該區段解 除配置(如圖3中所示)時,則將一個解除配置之區段與鄰 ,的間置區段結合。於圖3中,該等區段的大小係顯示在 每個區#又中。一個正的大小表示_個閒置區段,而—個 負的大小指示一個分配之區段。 參考圖4 ’另一種方法包括延緩合併當使用延緩合併 時,則未於-個解除配置之後自動地將相鄰的間置區段结 a。而是該DSA將於某一個時間點(像是當無法找到一個大 到足以滿足-請求的區段時)上掃描記憶體中所有的區段 訂 i 5 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐 526415 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(3 ) 和結合相鄰的區段(如圖4中所示)。 分段爲一個DSA所浪費的記憶體。内部分段爲以一個大 於該要求大小的區段滿足一個請求時所損耗的記憶體(例 如以一個大小32的區段滿足一個要求大小爲25的區段請 求)。當間置區段變成"分配之區段散佈在間置區段各處” 時,則產生外部片段。於該等情況下,一個b位元組的分 配請求可係不可取的,即使有b個以上的位元組爲間置的 亦然,因該最大的鄰近閒置儲存區段係小於b個位元組。 如上引用之”動態儲存區配置通則之可縮放性”中所説明 的多重間置表列適合I ( MFLF I),其利用多個以大小組織 的間置表列。小區段的閒置表列已知爲快速表列。大區段 的間置表列已知爲混雜表列。當保持一個單一的混雜表列 時,則MFLF I將退化成一個已知爲快速適合的儲存區配置 系統。 參考圖5,説明一種快速適合技藝。於該系統中快速表 列中的區段大小可高達16可改變該快速表列的總數,以使 不同請求分配的性能最佳化。於該範例中,藉由審查該區 段大小爲s的快速表列分配一個大小爲s的區段’其中2 S s S 16 (2爲該最小的區段大小)。如該表列不是空的’則利 用該表列上的該第一個區段滿足該請求。注意,可能包括 區段大小相對應至顆粒大小其倍數的快速表列。例如’於 圖2中,該顆粒大小爲1如該顆粒大小爲1〇〇〇時’則可利用 區段大小爲1000、2000、3000、···、16000的快速表列(總 計16個快速表列)。MFLF I利用延緩合併。將記憶體分割 -6 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公爱) -----------·裝--------訂---------§ (請先閱讀背面之注意事項再填寫本頁) 526415 經濟部智慧財產局員工消費合作社印製 Α7 Β7 五、發明說明(4 ) 成工作儲存體12和一個末尾14,如圖5中所示。工作儲存 體12包括分配之區段和一個間置表列上的區段。末尾14包 括咸兄憶體其一個終端上之一個鄰近未分配之儲存區段。 最初’於分配任何事物之前,末尾14包括所有可分配的記 憶體,且閒置表列爲空的。閒置表列包括快速表列和混雜 表列,其中混雜表列用於較大的記憶體區段。區段丨3包括 一個大小(由區段13中的該等數字表示)。當無法藉由審查 一個或多個間置表列而滿足一個請求時,則藉由從末尾14 開始分配、滿足該請求。一個末尾指標(末尾prt.)指示尾 14從何處開始。當將分配之區段解除配置時,則植入閒置 表歹1J。 爲了滿足一個對一快速表列而言爲太大之區段請求,故 快速適合對該混雜表列執行一第一個適合搜尋。搜尋大的 區段可能需要許多指令。爲了減少該費用,MFLF I可利用 多個混雜表列,如圖6中所示,而非僅利用如快速適合中 的一個單一表列。於圖6中,一個混雜表列包括大小爲 17〜25的區段13 ;另一個混雜表列包括大小爲26〜40的區段 13 ;又另一個混雜表列包括大小爲41〜60的區段13。可利 用不同的策略滿足一個請求,包括圖7A和圖7B中所示、該 利用MFLF I分配” 84’’的策略。圖7A説明當滿足該請求,,分 配84”時、一種記憶體抽點”之前”,且圖7B説明當滿足該 請求”分配84”時、一種記憶體抽點”之後"。於圖7A和7B 中,該系統藉由分割一個大小"90π的區段和將該超過的大 小π 6Π交還給一個間置表列分配表列L2上的一第一個區 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) III«脖衣—------tr--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 五、發明說明(5 ) 段,以滿足該請求。因L2上所容許的〜曰 89,故該系統審查L2,而非審查u。 f最小區段^小爲 該第-個區段以外的區段、以滿足^,不須搜尋。中 的請求。 大小小於或等於89 雖然遠等上述之技藝足敷許多應用, 體動態儲存區配置通則、使配合磁碟“直接調適主記憶 * $ #无經常導致不# 性能,因存取和寫入磁碟的等待時間遠較存和己 憶體的等待時間長很多。 和寫王冗 因此,磁碟記憶體需要動態儲存體方 、 . 去’以減少一個磁 莱的存取;人數和寫入次數。磁碟記憶體更需要記憶體分配 和解除配置方法,以提供更有效的儲存體和更快速 時間。 a 發明概述 一種根據本發明用以管理電腦記憶體之方法,包括保持 多組間置記憶體區段,其中係根據一個間置區段的大小將 該間置區段增加到一組閒置記憶體區段中。爲了回應一個 要求大小之區段的請求,故搜尋一組區段,以找出一個至 少與該要求大小一樣大、但小於該要求大小加上一個門限 値的間置區段。如找到該一個區段,則將該整個區段作分 配。於其它的方法中,該保持多組閒置區段的步驟可包括 在一個磁碟上或主記憶體中保持該等多組間置區段之步 驟。如未找到該間置區段,但至少找到一個至少與該要求 大小一樣大的閒置區段時,則可包括以下步驟:分割該至 少與該要求大小一樣大之至少一個區段;及以一自該分割 -8 本紙張尺度適用中國國家標準(CNS)A4規格⑽χ 297公董 ---------------- (請先閱讀背面之注音?事項再填寫本頁} 訂--------- 526415 經濟部智慧財產局員工消費合作社印製 五、發明說明(6 ) 步驟中產生的第二個 個區段可爲一個找到 多組閒置區段可包括 可大於該最大區段組 包括以下步驟:搜尋 尋之步驟可包括以下 中該表列包括該組的 一步包括以下步驟: 個門限値中的該至少 又於其它的方法中 鄰近的記憶體區段; A7 B7 區段滿足該請求。該被分割之至少一 之大於該要求大小的最小區段。該等 一個最大區段組,且該第一個門限値 其一個最小容許之區段大小,同時可 該最大區段組,以滿足該請求。該搜 步驟:搜尋包括一個表列的該組,其 記憶體區段分配資訊。該方法可更進 動態地調整該等第一個門限値和第二 一個門限値’以調整性能。 ,該方法可包括以下步騍:保持一個 根據該要求大小選擇該閒置區段組; 至少分配位在該組中一第一個區段的一部分,以回應該間 置區段組爲非空的;及滿足該鄰近記憶體區段的請求,以 回應該組爲空的。該方法可包括以下步驟:保持一個指向 該一第一個指標位置其鄰近區段的指標;爲了回應一個特 定大小儲存體之請求,故以該特定大小增加該指標,使产 向一弟一個指標位置;及利用從該第一個指標位置開士Λ、 該鄰近區段的一部分滿足該請求。該方法亦可包括根於— 個分配之區段的大小將該分配之區段解除配置成—豕 間置區段組。 ^ ^ 一種用以管理一個鄰近持續性記憶體區段之 仅之万去包括以 下步驟:於主記憶體中保持一第一個指標用以判定—^ 個記憶體區段中的一第一個間置位元組;在今 吊— 、玛性"ί諸在 體中保持多個區段的標頭其中該等標頭至少句仔 /匕祜—個編碼 -9 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -----------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 A7 __ B7 五、發明說明(7 ) 位元組;及藉由,,設定該第二個區段其至少一個编碼位元組、 以指示該第二個區段不再是該第一個區段的/部分”,和” 藉由更新為主$己憶體中的該第一個指標”,以從該第一個 區段中分配出一第二個區段。 於其i的方法中,可包括將一個區段b增加到該第一個 區段中之步驟。該增加之步驟包括以下步驟:修正一個相 對應至b的編碼位元組,以指示b爲該第一個區段的一部 分;及更新該主記憶體中的該第一個指標。該至少一個編 碼位元組除了指示該第二個區段不再是該第一個區段的一 部分以外,亦可提供其它的功能。該方法可包栝以下步 驟:根據該主記憶體中該第一個指標的數値定期地更新該 持續性記憶體中的一第二個指標。該方法可更進一步包括 以下步驟:藉由審查該至少一個編碼位元組更新該等第一 個和第二個指標,以回應一個系統故障。可利用一個單一 的區段寫入啓始該等標頭。 一種用以合併持續性儲存體中相鄰閒置區段之方法包括 以下步驟:保持每一個區段的一個標頭以指示該區段的大 小和分配狀態;藉由審查標頭資訊合併該等閒置區段,以 結合相鄰的間置區段;及定期地將資訊儲存在該持續性儲 存體中,以指示一個達成之合併等級。 違用以合併之方法包括以下步驟:讀取該持續性儲存體 中的資訊、以於該系統故障之前判定該達成之合併等級, 以於合併期間回應一個系統故障;及根據該持續性儲存體 中的藏資訊,於一個瞬間重新開始合併。
526415 五、發明說明(8 ) 可藉由一個機器可讀取的程式儲存裝置實施該等方法和 方法步膝’其中貫體地編入一個該機器可執行的指令程式 執行該等方法步驟。 一種根據本發明用以管理一個記憶體儲存系統(包括一 個王記憶體和至少一個磁碟記憶體裝置)中持續性儲存體 之方法’包括:在持續性儲存體中保持多個區段的標頭, 其中每一個區段的一個標頭包括該區段的區段大小和分配 狀態;及在主記憶體中至少保持一個資料結構,用以分配 和解除配置持續性儲存體。藉由,,使用該主記憶體中的該 至少一個資料結構”、”修正該主記憶體中的該至少一個資 料結構’’及"指定一個分配狀態給磁碟上的該區段,,辨識一 個儲存區段,以分配該儲存區段。藉由,,指定磁碟上的一 個分配狀態給該區段,,和”修正主記憶體中的該至少一個資 料結構”,以將一個儲存區段解除配置。 於其它的方法中,該方法可包括以下步驟··於一個系統 自該持續性儲存體中的多個標頭開始重新啓動之後,判定 該主記憶體中的該至少一個資料結構。於該系統重新啓動 之後、判定該主記憶體中該至少一個資料結構之步驟可包 括:該持續性記憶體之至少一個磁碟存取,其中一個單一 的磁碟存取以多個位元組讀取。該方法可更進一步包括以 下步驟:於一個系統關機之前,先自該主記憶體中的該至 少一個資料結構中將資訊輸出給該持續性儲存體;及於一 個系統重新啓動之後,藉由該輸出之資訊判定該主記憶體 中的該至少一個資料結構。該在持續性儲存體中保持標頭 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) «t--------tr--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(9 ) 之步驟可包括··提供多個儲存在該持續性儲存體中—作斤 區域中的標頭該在持續性儲存體中保持標頭之步辕可^ 括:保持一個具有一指標欄之標頭,其中該指標襴指向, 持續性儲存體中的一個位置上。該方法可更進一步包括S 下步驟:利用該等標頭中的指標欄在該持續性儲存體中保 持一個區段表列;及在該主記憶體中至少保持一個指向核 區段表列其一個標頭之目前指標。 又於其它的方法中,可包括以下步驟:於該持續性儲存 體中產生一個新的區段;將該持續性儲存體中該新區段的 一個指標攔設定成該主記憶體中該至少一個目前指標的一 個數値p ;及將P設定成該新的區段可利用一個單一的區段 寫入啓始該新區段的一個標頭。該方法可包括以下步驟: 定期地更新持續性儲存體中至少一個自該主記憶體中該至 少一個目前的指標相對應至該表列上的標頭。該表列可包 括多個表列,且該等多個表列亦包括相對應至該等多個表 列上的標頭,其中在該持續性儲存體中連續地保持該等多 個標頭’且該方法可更進一步包括以下步驟··以一個單一 的區段寫入更新該等標頭。該第一個儲存區段和該第二個 儲存區段可包括該相同的區段。 一種用以管理一個記憶體儲存系統(包括一個主記憶體 和至少一個磁碟記憶體裝置)中持續性儲存體之方法包括 以下步驟··在持續性儲存體中保持多個區段的標頭,其中 每一個區段的一個標頭包括該區段的區段大小和分配狀 態、及一個指標;在主記憶體中至少保持一個資料結構, -12 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ·裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 發明說明(1〇 ) 用以分配該持續性儲在§曲* * 洛存肢和解除配置成該持續性儲存體。 該分配之步騍包括以下半既α 卜 ν聲·利用該主記憶體中的該至少 -個資料結構辨識該第—個儲存區段;修正該主記憶體中 的4至y彳ϋ貞料結構,和指定—個分配狀態給該持續性 儲存體中的該第一個儲存區·拉丄卜、 士 减仔^仅,猎由指定該持續性儲存體 中的-個分配狀態給該第二個儲存區段;更新磁碟上該第 二個儲存區段的-個指及修正該主記憶體中的該至 少一個資料結構。 於其它的方法中,可白技I// J匕栝以下步驟··利用該等標頭中的 指標欄在該持續性儲存體中保持—個區段表列;及將該主 記憶體中至少-個目前的指標保持給該區段表列的一個標 頭。該方法可包括以下步驟:審查該區段表列以移除分配 之區段’以回應-個故障。該方法可包括以下步驟:當在 名區段表列上找到一個閉置區段時,則中斷該審查步驟。 該主記憶體中的該至少一個資料結構可至少包括一個相對 應至該持續性儲存體中該區段表列上之閒置區段表列。該 方法可更進一步包括以下步驟:定期地更新持續性儲存體 中至少一個自孩王記憶體中該至少一個目前的指標相對應 至該區段表列上的標頭。該區段表列可包括多個表列和標 頭,其中在該持續性儲存體中連續地保持該等多個標頭, 且該方法更進一步包括以下步驟:以一個單一的區段寫入 更新該等標頭。 又於其它的方法中,該更新一個指標欄之步驟包括以下 步驟··將該指標攔中的一個指標設定成該主記憶體中其至 13 本紙張尺度適用中國國家標準(cnS)A4規格(210 X 297公釐) -----------裝--------訂---------^9. (請先閱讀背面之注意事項再填寫本頁) 526415 經濟部智慧財產局員工消費合作社印製 A7 B7 五、發明說明(11 ) 少一個閒置區段表列L的一個標頭,且該解除配置之步驟 可更進一步包括以下步驟··將該第二個儲存區段增加到該 主记ί思體中L的該標頭中。可利用一個單一的區段寫入更 新該第二個儲存區段的標頭。該方法可更進一步包栝以下 步驟:於一個系統自該持續性儲存體中的多個標頭開始重 新啓動之後,判定該主記憶體中的該至少一個資料結構。 於該系統重新啓動之後、判定該主記憶體中該至少一個資 料結構之步驟可包括:存取一個磁碟,其中一個單一的磁 碟存取以多個位元組讀取。該方法可包括以下步驟:於一 個系統關機之前,先自該主記憶體中的該至少一個資料結 構中將貝訊輸出給該持續性儲存體;及於一個系統重新啓 動之後’藉由該輸出之資訊判定該主記憶體中的該至少一 個資料結構。該方法可包括以下步驟:將多個標頭儲存在 持續性儲存體中一個鄰近的區域中。該第一個儲存區段和 遠弟一個儲存區段可包括該相同的區段。 另一種用以官理一個持續性儲存系統中其記憶體之方法 包括以下步驟:在一個主記憶體中至少保持一個資料結 構,用以分配和解除配置持續性儲存體;藉由該至少一個 資料結構完全地分配和解除配置該持續性儲存體,而無需 存取或寫入該持續性儲存體;定期地檢查該持續性儲存體 的儲存分配資訊;及於一個重新啓動之後、藉由該檢查之 資訊判定主記憶體中的該至少一個資料結構。 又另一種用以管理一個持續性儲存系統中其記憶體之方 法包括以下步驟:在一個主記憶體中至少保持一個資料結
本紙張尺度適用中國國家標準(CNS)A4規格(210 X -----------裝--------訂---------^9. (請先閱讀背面之注意事項再填寫本頁) -14 - 526415 A7 ----~~----- 五、發明說明(12 ) 構,用以分配和解除配置持續性儲存體;藉由該至少_個 資料結構完全地分配和解除配置該持續性儲存體,而盔需 存取或寫入該持續性儲存體;在一個系統關機之前,先自 該主記憶體中的該至少-個資料結構中將資訊輸出給持績 性儲存體;及於-個重新啓動之後'藉由該輸出之資訊判 定主記憶體中的該至少一個資料結構。 可於一個機器可讀取的程式儲存裝置上實施該等此處所 述芩方法和方法步驟,其中實體地編入一個該機器可執行 的指令程式執行如該等列舉敘述之方法步驟。 藉由下面有關本發明其例證性具體實施例的詳述、連同 泫等伴隨的圖示’將顯見本發明該等和其它的目的、特性 及利益。 1示簡j説明 將於下就該等下面的圖示所説明之較可取具體實施例中 詳述本發明,其中: 圖1 ’爲例證性説明一第一個適合分配和一個最佳適合 分配之概圖; 圖2 ’馬例證性説明一個根據該先前技藝之二進位同伴 系統之概圖; 圖3,爲例證性説明一個記憶體區段立即合併之概圖; 圖4,爲例證性説明一個記憶體區段延緩合併之概圖; 圖5,爲説明根據該先前技藝之多重間置表列適合其一 個特殊事例之一個快速適合其一個範例的概圖;
圖6,爲説明根據該先前技藝之多重閒置表列適合(MFLF -15 - 本紙張尺度適用中賴家標準(CNS)A4規格(21G X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝--------訂---- Φ 經濟部智慧財產局員工消費合作社印製 利用記憶體管理方法1作分配 526415 五、發明說明(13 ) I)其一個範例的概圖; 圖7A和7B,描述报爐诗A、, 〜先可技藝、利用MFLF I分配大區 段之一個範例其抽點之前和抽點之後; 圖8,爲説明一個根據太 很據本發明之多重間置表列適合分配 (MFLF III)的方塊圖/流程圖; 圖9 ’屙况明一個根據本發明之大區段的多重閒置表列 通合(MFLFIII)分配的方塊圖/流程圖; 圖1 〇,爲説明根據本菸日日、A L 、人 豕+毛明<合併相鄰間置區段的方塊圖/ 流程圖; 圖11,爲説明根據本發明、 之方塊圖/流程圖; ® 12 ’爲说明根據本發明、利用記憶體管理方法i作解除 配置之方塊圖/流程圖; 圖13 ’馬例證説明根據本發明之記憶體管理方法II之方 塊圖/流程圖; 圖14 ’馬一個根據本發明之記憶體管理方法η之例説的 範例; 圖15 ’爲例證説明根據本發明之記憶體管理方法III之方 塊圖/流程圖; 圖16 ’爲一個根據本發明之記憶體管理方法ΙΠ之例説的 範例; 圖17,爲例證説明根據本發明之記憶體管理方法IV之方 塊圖/流程圖; 圖18,爲用以根據本發明管理末尾分配和解除配置之方 -16 - 本紙張尺度適时關家鮮公釐Γ ^--------^--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 五、發明說明(μ ) 塊圖/流程圖; 、圖19,馬”本發明一個具體實施例,,對,,該先前技藝”之例 證測試結果的略圖; 、圖20,爲’’本發明一個具體實施例,,對,,該先前技藝,,之例 邊:測試結果的另一個略圖。 .較_可取具 本發明説明記憶體管理和分配之系統及方法。此處所呈 遞义藏等系統和方法對於先前技藝的系統和方法提供改良 《性能’且本發明對磁碟記憶體特別有效益。該先前技藝 中用以將資訊持續儲存在磁碟上之記憶包括利用檔案系统 和資料庫。 藉由本發明,則可利用遠較先前技藝少很多的費用將資 訊儲存在磁碟上(如使用該等先前技藝的話)。同時,藉由 使用本發明將可儲存大量的物件,許多檔案系統係受限於 可儲存在一個目綠中的檔案總數;但本發明並無該等儲存 物件總數的限制 於一個具體實施例中,提供一種設計成如下之方法〜使 區段的分割最小化,而無需浪費很多額外的儲存空間。本 發明的效用將同時延及於磁碟分配和主記憶體分配。 經濟部智慧財產局員工消費合作社印製 本發明提供一種更新和有效益的動態儲存區配置方去 該方法類似於MFLF I,但於其中作了 一虺修π:、你彡曰、 一 k止、使仔i己憶 體管理和磁碟性能起了戲劇性的改良。其中—項修正包^ 了減少區段分割的總數。當分割區段爲不合需要的時< % 是作爲磁碟分配時),則減少區段分割的總數將亦顯重 -17 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) 526415 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(15 ) 要 祭知,可以不同的硬體形式、軟體形式或硬體/軟體組 合的形式實施圖8-19中所示的該等元件。最好於一個或多 個適當程式化之通用數位電腦上的儲存裝置上實施該等元 件,其中孩等適當程式化之通用數位電腦包括一個處理 器、記憶體及輸出入介面。 將察知,-旦揭示了本發明,貝,卜位熟知此技藝的人可 調適若干-般使用之儲存區配置通則,以使用此處於下將 説明之本發明。將因此藉由下面的具體實施例例證性地説 明本發明’其中不應將該等具體實施例解析爲限制本發 明。雖然可使用其它種記憶體型式,但如本發明中所使用 的記憶體或主記憶體可意指揮發性記憶體(像是隨機存取 =憶體或快取記憶體)。磁碟或磁碟記憶體意指持續性記 體’可包括硬式磁碟、軟式磁碟、光碟、數位影音光 碟、磁碟陣列或其它種持續性儲存裝置。 如上所述’ MFLFI有時於分配期間分割間置區段,以分 :己:個區段的-部分和將該其它部分交還給間置儲存體。 相較於MFLFI,本發明有利地減少分割的區段總數, =分配磁碟儲存體之—個重要的參數,因分割的區段; 2額㈣磁碟作業(其中—個作業爲-個讀取操作或一 個寫入操作)。因此,相較於MFLF 1, ΒΦ ^ ^ ^ 1 ΛΑ X 本發明在分配區再 時屋生較少的分割可利用本發明分 、 本發明分配磁碟記憶體。 王龜,亦可利斥 現參考該等圖示,其中同樣的號碼代表該等相同或 ------------裝--------訂--------- (請先閱讀背面之注音?事項再填寫本頁) -18- A7
526415 五、發明說明(16 ) 的元件,且最初參考圖8和圖9,描述説明磁碟分配和儲存 體管理之系統/方法的方塊圖。表列通常包括最小(min)和 最大(max)大小,分別代表可儲存在該表列上之該等最大 的區段和該等最小的區段(就一個顆粒大小爲1的快速表列 而言,其min和max大小將係完全相同的)。於具有最大區 段大小的系統中,該最新的混雜表列的max大小可爲該最 大區段大小。於不具有最大區段大小的系統中,該最新的 混雜表列包括一個max大小。 假定s爲該要求大小。於箱框807中,判定s是否大於儲存 该等取大區段之該表列的min大小。如是,則處理繼續至 圖9的箱框905中。如否,則處理繼續至箱框8〇5中。於箱 框805中’該系統選擇一個適當的表列審查。選擇具有該 最小min大小、且lmink s之該表列L。亦可使用其它的準則 選擇表列。處理繼續至箱框810中。於箱框810中,判定表 列L是否爲空的。如是,則從一個末尾分配出一個大小爲 lmin的區段,且利用該區段滿足箱框815中的該請求。如表 列L不是空的,則利用表列l中的該第一個區段滿足該請 求’而供需在相框820中分割任何記憶體區段。當表列l包 括大小不同的區段時,則一位熟知此技藝的人其直接的延 伸將係搜尋表列L,以獲得一個更適合的區段和/或分割該 選取之用以分配的區段,以減少内部的片段。 參考圖9 ’根據本發明説明一個大區段的分配策略。假 定L爲儲存該等最大區段之該混雜表列。於箱框9〇5中,審查 L以找出一個大小大於等於s、但小於等於’’ s+ —個門限値” -19 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) —I—裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 A7 B7 經濟部智慧財產局員工消費合作社印製 五、發明說明(17 ) (例如acceptable一 waste)之第一個區段。acceptaMe一…⑽化爲 -個參數,其中在某些事例中,係於分配期間利用該參數 分割區段、以減少内部的片段。如找到一個適當的區段, 則於箱框910中分配該區段,而無需分割該區段。如未找 到該-個區段,則將有兩種可能性。如[上無任何區段大 到足以滿足該請求時,則於箱框93〇中從該末尾分配出一
個大小爲s的區段。如L包括一個足夠大的區段時,則將L 上一個大小大於s的最小區段分割成大小分別爲§和^的片段 Π和f2 (箱框935)。 利用Π滿足该凊求。將f2放在一個相對應至f2大小之表 列的開端上。該acceptable—waste參數可動態地改變。一種 直接的變化將係利用一個函數代替該acceptabl、戮咖參 數,其中可引發爭議,例如像是該請求大小。 根據本發明解除配置係直接的。將解除配置之區段放在 相對應至該等解除配置之區段大小之閒置表列的開端上。 於-個具體實施例中,使用延緩合併。當將本發明用於主 記憶體分配時,則合併係直接的。 ^發明包括更新和奇特的方法用以對一個動態儲存區配 二器(DSA)笞理磁碟儲存體執行延緩合併,其中可連同種 種不同的方法一起使用,包括(但未限制)第一個適合、最 佳適合、同伴系統、MFLF系統…等等。 凡1存區段包括標頭。標頭包括區段大小和一個指示該區 段是否爲閒置的或分配的標簽。將標頭資訊包括在磁碟 上,以便當孩系統故障或關閉該系統時保存該標頭資訊。 -----------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) -20 - 5264i5 經 濟 部 智 慧 財 產 局 員 工 消 費 合 社 印 製 A7 B7 五、發明說明(18 ) 亦可於主記憶體中快取標頭資訊,作爲高速存取。可以各 種不同的方式將標頭資訊保持在磁碟上。其中一種方法爲 利用一個區段其指定之位元組(例如該等啓始位元組)作爲 標頭資訊。另一種方法爲將多個區段的標頭資訊儲存在一 個單一的鄰近記憶體區段中。 參考圖10,説明一種用以合併相鄰間置區段之較可取方 法。於箱框1005中,啓始需用以合併之資料結構。例如, 許多DSA利用閒置表列該等DSA將利用箱框1005啓始間置 表列(例如使一個或多個閒置表列變成空的)。箱框1〇1〇、 1020及1025形成一個迴路,於該迴路中該系統掃描標頭區 段和結合相鄰的間置區段。該系統從記憶體其一個終端上 的區段開始,讀取相對應至該第一個區段的該標頭。接 著,该系統循序地掃描全邵的標頭,及結合相鄰的間置區 段。就利用間置表列的記憶體系統而言,於合併了閒置區 段之後、將該等閒置區段增加到適當的閒置表列中。於箱 框1025中,該系統藉由記錄持續性儲存體中該合併已提前 之該瞬間檢查該合併。該檢查的一個目的爲:設若一個故 障發生時,減少該所需的工作量。本發明使用檢查更新陳 舊、廢置不用的資訊。 没若一個系統故障時·’則可能遺失該主記憶體的内容, 但該磁碟記憶體的内容卻可能被保存著。設若一個系統故 障時’该檢查可排除重做該大邵分或所有已埶彳二达 作的需要。對照下,該先前技藝的方法:要; 之後、從頭開始重新掃描標頭。有利的是,藉由提供連續 -21 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) -« ---------------------裝--------訂--------- <請先閱讀背面之注意事項再填寫本頁) 526415 A7 --------— B7_^__ 五、發明說明(19 ) 的標頭掃描和檢查。將可提供一個更強固和持續的記憶體 系統。此外,將減少或排除故障之後、重新合併所浪費^ 時間,例如,排除50%或更多的合併時間。於許多事例 中,將排除1〇〇%的合併時間。可適當地改變檢查執行的 頻率,例如,根據若干交易或在經過—段設定的時間之 後。頻繁的檢查將減少一個故障之後該必須重做的工 ° 於箱框1015中,執行最後的整理作業和簿記作業。例 如,該工作儲存體的終端包括一個間置區段,其中可於該 步驟中將該閒置區段增加到該末尾中。 現在,將更詳盡地説明根據本發明用以有效地分配和解 除配置持續性儲存體之方法。可將本發明、連同各種脱 一起使用,包括(但未限制)MFLF系統、第一個適合、最 ㈣合…等等。於一第一個例説的記憶體管理方法(爲了 簡化,以下意指爲方法I)t,磁碟保持標頭,其中標頭包 括區段大小和一個指示該區段是否爲間置的或已分配的標 簽。將用以處理分配和解除配置的閒置表列資料結構保持 在記憶體中。 參考圖11,説明根據本發明之記憶體管理方法〗的分配。 將注意到,可以任何順序實行或執行圖丨丨中所,示之該等箱 框。於箱框1105中,利用in-memory資料結構設置一個適 當的間置區段。一旦設置了該區段,則藉由修正適當的in-memory 資料結 構和” 在磁碟上標誌一個標頭標簽”已分 配,, 分配該區段(箱框1110)。如未執行分割,則分配僅消耗一 -22- 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) (請先閱讀背面之注音?事項再填寫本頁) 裝--------訂---------^9. 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 526415 五、發明說明(2〇 ) 個單一個磁碟作業。 參考圖12,說明根爐太政 很據本發明之方法II的解除配置。修正 通當的in-memory資料蛀4妓 Λ /针μ構,以將該區段解除配置。此 外,於箱框1205中,游:讲池, 知磁碟上的該標頭標簽標誌爲”已解 除配置”。如未執行任何合併,則解除配置僅消耗一個單 的兹茱作t δ於_個故障或一個正常關機之後重新啓 動該系統時,則可藉由掃描儲存在磁碟上的該等標頭建構 MDSA所使用的in_mem〇ry資料結構(像是間置表列卜可如 所需增量地讀入該資料,且雖然可突然地讀入該資料,但 未必非突然地讀入該資料不可。 於一個具體實施例中,可藉由在磁碟儲存體其一個或多 個鄰近的區段中保持多個標頭字元,以減少該用以自磁碟 中讀取資訊的時間。當一個鄰近的區段Μ變成滿的時,則 可將一個新的區段b2鏈接至^^上,以包括附加的標頭。相 較於極不鄰近的資訊而言,可更快速地讀取磁碟上鄰近的 儲存區段。例如,可利用一個區段讀取(或少數個)讀取數 個鄰近的標頭。即使未利用一個區段讀取,多個自相互密 接之磁碟位置中的讀取亦可能僅需使磁碟標頭作些微的移 動。此節省了時間。 另 個在一個正常關機之後、改良啓動時間之具體實施 例爲”該DSA於就在關機之前、先將主記憶體資料結構(像 是間置表列)輸出給一個或多個鄰近的磁碟儲存區段”。一 旦重新啓動時,該DSA即自該等就在關機之前寫入的儲存 區段中讀入資料結構。此可能遠比自標頭中獲得資訊快得 -23 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 x 297公釐) —--------裝--------訂--------- (請先閱讀背面之注咅?事項再填寫本頁) 526415
·裝--------訂-------- (請先閱讀背面之注意事項再填寫本頁) 多。可將該等如上所述之具體實施例用於該等下面所述之 死憶體管理方法上,及用於記憶體管理方法卜 >考圖13,根據本發明描述另一種用以管理磁碟上持續 :儲存體之例證性記憶體管理方法。爲了簡化,下文中將 孩方法意指爲方法n或記憶體管理方法π。將注意到,可 乂任何順序實仃或執行圖13中所示之該等箱框。該系統在 磁碟上至少保持一個區段表列(其可包括閒置區段和已分 配區段的任-種或包括兩種)(箱框13()5)。可藉由將表列 指標保存在標頭中、以保持該㈣。以如圖U中所示和該 子隧的文曰中所说明之该方式發生分配(箱框13 1 〇)。然 一而二該等由方法Π所保持的in_ mem〇ry資料結構可能不同於 琢等万法I所使用的in-mem〇ry資料結構(例如參看圖1句。 以如圖12中所示和該附隨的文書中所説明之該方式發生解 除配置(箱框1320)。 經濟部智慧財產局員工消費合作社印製 可能須產生新的儲存區段(箱框1315)。#以跳?通則從 该末尾分配出一個區段時,則可發生此。亦可於分割一個 區段之後發生此。當產生一個新的儲存區段15時,則败 的磁碟標頭(箱框1315),其中該磁碟標頭包括該區段的°分 配狀態'區段大小及指向該表列上該τ—個區段的指標: 爲了使磁碟作業數減到最少,故可將該等標頭㈣持: 近的磁碟倚存體位元組中。以此方式,可有效地更新 標頭,像是藉由-個單一的區段寫入,或藉由多個寫: 但磁碟標頭僅作稍許的移動。將1)增加到該閒置表列的伊 頭中。亦可將一個head_of_list(表列標頭)指標保持在主: 24 - 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 X 297公釐)
經濟部智慧財產局員工消費合作社印制衣 憶體中’如照這樣的每,目丨丨^ 1 , 欠W活,則將琢head—Ofjist更新成b。爲 了使磁碟作業數減到最少,可π + # :匕丄 4取少’可不在箱框1315中更新指向該 表列標頭上的該磁碟推挪Ω t 朱知“。此意指指向該表列標頭的該磁 碟指標可變成陳舊、麻w 7^ 卜 、、、 ^ 曆置不用。馬了更新該等磁碟指標, 則該系統定期地檢查(箱框1325)。例如,該系統可在 個交易之後檢查,纟中福―個手統參數。交易可包括分 配、解除配置或其它的儲存體作業。 選擇性地,泫系統可在每產生㈤個新的區段之後檢查, 其中關-個系統參數。通常係於正常操作期間關閉該系 統之前執行檢查。 於箱框1325中的該步驟期間,依照主記憶體中所保持的 head— of— list指標更新磁碟head_ 〇f]ist指標。於具有多個磁 碟表列的系統中,將磁指標保持在磁碟上鄰 近的記憶體位置中係較可取的,以便可有效地更新該等 head-of-list指標,像是藉由一個單一的區段寫入,或藉由 多個寫入、而磁碟標頭僅作稍許的移動。 參考圖14,顯示一個例證性範例,説明在一個隨機存取 記憶體(RAM)和一個磁碟之間利用記憶體管理方法π之記 憶體分配。可將記憶體管理方法π、連同Mflf通則一起使 用。如妝這樣的話,則將保持快速表列和混雜表列的in-memory 資料 結構。 雖然在 in_ mem〇ry 表列和 磁碟表 列之間 可爲一對一的對應,但並非一定須爲一對一的對應。 當於一個故障或一個正常關機之後重新啓動該系統時, 則可藉由掃描儲存在磁碟上的該等標頭建構該dsa所使用 _ - 25 - 本紙張尺度適財關家標準(CNS)A4規格(210 X 297公釐1 I·裝--------訂---------AW (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 A7 B7________ 五、發明說明(23 ) 的in- memory資料結構(像是間置表列)。就如記憶體管理 方法I中一樣,藉由審查區段大小和分配狀態、亦或藉由 審查該等儲存在磁碟上的表列。 如圖14中所示,係就多個用以使用本發明之不同的儲存 體作業描述兄憶體管理。在一個隨機存取記憶體1404和一 個磁碟1406之間分配該等處理。將記憶體區段14〇8描述成 矩形。記憶體區段1408包括代表該區段其一第一個位置 1410之大小的數字,其中如該等數字爲正的,則該區段爲 閒置的;如該等數字爲負的,則該區段爲已分配的。以一 個位址(例如al、a2、a3、…、a5)列示主記憶體(RAM 1404)的該等記憶體區段1409,其中一個相對應的區段位 在磁碟1406上。一個表列標頭指向磁碟14〇6上其一個表列 上之該第一個記憶體區段的位置上。由區段丨4〇8的一第二 個位置1412中的位址標記表示磁碟上區段14〇8的位址。爲 了便於解説,故描述位址標記1412,且未必將該等位址標 记儲存在磁碟上。區段1408的最後一個位置1414指向該表 列上的一下一個記憶體區段,或指向一個意指,,NIL,,或,,該 表列或該組其終端11的π # π。 將就圖13説明圖14該範例中的儲存體作業。Ram 1404僅 包括間置狀態的區段。在磁碟上實行保持一個區段表列 (箱框1305)。根據箱框1310執行分配(25)。根據箱框1320 執行解除配置(a2)。根據箱框1315執行分配(90)。注意, 由於從該一個末尾分配出的區段將移動至磁碟上該表列的 前端,故表列標頭al變成陳舊、廢置不用的。根據箱框 -26- 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公爱) -----------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) 經濟部智慧財產局員工消費合作社印製 526415 A7 _______B7___ 五、發明說明(24 ) 1325作檢查’以將該表列標頭更新成如圖14中所示的a5。 參考圖15,描述用以管理磁碟上持續性儲存體之記憶體 管理方法III。將注意到,可以任何順序實行或執行圖丨5中 所示之該等箱框。於箱框1505中,該系統在磁碟上至少保 持一個間置區段表列。可藉由將表列指標保存在標頭中、 以保持違表列。遠表列標頭可變成陳舊、廢置不用的,但 係於執行檢查期間更新該表列標頭的(箱框152〇)。將該表 列其一個最新的版本保持在主記憶體中。當分配從該表列 的一第一個成員中發生時,該方法將係特別有效益的。就 MFLF方法而言,π從所有快速表列中分配出的配置,,和,,從 所有表列(但該最末尾的混雜表列除外)中分配出的配置” 均可自該表列的該第一個成員發生,故該等表列相當合乎 記憶體管理方法III。 於箱框1515中,從該一個閒置表列的開端分配出一個區 段。更新该in- memory間置表列。此外,在磁碟上將該區 段標誠爲’’已分配’,。然而,容許磁碟上的該等表列指標變 成陳舊、廢置不用的,以減少磁碟作業。於箱框15 1〇中, 藉由”將一個區段增加到該一個適當閒置表列的開端中,,和 ,,更新該等in-memory資料結構”以將該區段解除配置。在 磁碟上將該區段標誌爲”已分配”,且更新該區段的標頭、 使指向該閒置表列上的該下一個區段。爲了使該磁碟更新 的費用減至取低,故可將該分配狀態標簽和指向該下一個 表列元件的指標相互密接地儲存在磁碟上。准許指向該表 列標頭的該磁碟指標變成陳舊、廢置不用的,以有利地減 -27- @張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐 1 -----------裝--------訂--------- (請先閱讀背面之注意事項再填寫本頁) ——--- 526415 A7 -------- —__B7 五、發明說明(25 ) 少磁碟作業。 爲了更新磁碟上的hea“Mist指標,故該系統定期地檢 查(箱框1520)。例如,該系統可在每n個交易之後檢查, =中η爲^一個系統參數。通常係於關閉該系統之前執行檢 旦。於相框1520中的該步驟期間,依照記憶體中所保持之 表列指標的標頭更新磁碟間置表列指標。於具有多個磁碟 表列的系統中,將磁碟閒置表列指標保持在磁碟上鄰近的 記憶體位置中係較可取的,以便可有效地更新該等指標, 像是藉由執行一個單一的區段寫入,或藉由執行多個寫 入、而磁碟標頭僅作稍許的移動。注意,如該系統於磁碟 上有一個或多個閒置表列爲不正確時而失敗的話,則該等 閒置表列可包括分配之區段。於一個故障之後、整理該等 間置表列(箱框1525)。 該系統審查由記憶體管理方法爪所管理之磁碟上的每一 個閒置表列,及排除分配之區段。該系統藉由從頭開始掃 描間置表列和審查標頭以實行此。當該系統一遇到一個間 置表列上的一個閒置區段時,該系統即停止審查該表列, 因該表列上該等剩餘的區段亦應爲閒置的。 參考圖16,係就多個用以使用本發明之不同的儲存體作 業描述記憶體管理。在一個隨機存取記憶體16〇4和一個磁 碟1606之間分配該等處理。將記憶體區段16〇8描述成矩 形。記憶體區段1608包括代表該區段其一第一個位置161〇 之大小的數字,其中如該等數字爲正的,則該區段爲間置 的;如該等數字爲負的,則該區段爲已分配的。主記憶體 -28 - 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 x 297公釐) —----------^--------訂--------- f請先閱讀背面之注意事項再填寫本頁} 經濟部智慧財產局員工消費合作社印製 經濟部智慧財產局員工消費合作社印製 526415 五、發明說明(26 ) (RAM 1604)的該等記憶體區段1611包括一個間置表列 1607,其中閒置表列16〇7包括一個索引16〇9,該索引16〇9 代表某一大小(於該範例中,該大小爲” 3”)的該等區段。 一個位址(例如al、a2、a3、a4)包括在表列16〇7中,其中 一個相對應的區段位在磁碟1606上。由區段1608的一第二 個位置1612中的位址標記表示磁碟上區段16〇8的位址。爲 了便於解説,故描述位址標記1612,且未必將該等位址標 記儲存在磁碟上。區段1608的一個位置1614指向一下一個 兄憶體區段’或指向一個意指” NIL”或,,該表列其終端,,的 f,#ff 〇 將就圖15説明圖16該範例中的儲存體作業。在磁碟上實 仃保持一個區段表列(箱框15〇5)。根據箱框1515執行分配 (3)和將指標折返至al。亦根據箱框1515再次執行分配 (3)。根據箱框15 10執行解除配置或釋放(a3)。注意,具有 位址a2和a4的區段1608指向區段位址a3。藉由檢查確定 此。根據箱框1520檢查,以更新閒置表列16〇9,以便將具 有位址a4和a3的區段保持在該閒置表列上。 參考圖17,描述一種記憶體管理方法之另一個具體實施 例,其中爲了簡化,將該方法意指爲記憶體方法ιν。將注 意到,可以任何順序實行或執行圖17中所示之該等箱框。 琢系統保持in- memory資料結構,用以管理儲存體。該等 in- memory資料結構可包括表列。藉由修正匕^料 結構執行分配和解除配置(箱框17〇5)。通常,磁碟作業未 在相框1705中發生。如是,分配和解除配置可係迅速的。 -29- ‘紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐
t--------tr---------· (請先閱讀背面之注意事項再填寫本頁) 526415
發明說明(27 ) 該系統定期地檢查記憶體資訊(箱框⑺ 可在每η個交易之後檢杳,复 )例如,该系統 通常係於關閉該系統之—前執/檢η : 一個系統參數。此外, 前,該系統可將該附正常關機之 ^ ^ ± 矛J用間置表列)儲存在磁碟上。可於 稍後謂入孩附加資訊,以減少啓動時間。 、 :檢查:許該系統在—個正常關機或一個故障之後重朝 啓動。就在一個正常關擔 > 义 _ 碟上,手[人 ”孩系統可將資訊儲存在域 :亡:中褒系統於—個正常檢查期間不會儲存。可於稍 後謂入该輔助資訊,以減少啓動時間。 、當系統設計者在選擇一個最適合性能需求的記憶體管理 万法時可考慮該等不同記憶體管理方法的協定。該等於此 所述之記憶體管理方法提供許多優於該先前技藝的利益。 圮憶體f理万法I所需的標頭空間較之記憶體管理方法_ III所需的標頭空間少。此外,記憶體管理方法说分配和 解除配置時所執行的磁碟寫入比記憶體管理方法〗〗和H] V就圯隐ω管理方法1而言,磁碟上的資訊始終爲最新 的,且不需檢查。 記憶體管理方法II准許在磁碟上保持多個表列,其中可 於啓動期間利用該等多個表列、以比方法I少的磁碟讀取 找出特殊大小的區段。檢查係用於方法Η中,且磁碟上的 表列標頭將不會永遠爲目前的。 記憶體管理方法III使用間置表列,且可從該等間置表列 的開端產生所有的分配,以獲得最佳的性能。如是,因方 -30 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) (請先閱讀背面之注意事項再填寫本頁) 裝 —訂--------- 經濟部智慧財產局員工消費合作社印制衣 526415 A7 五、發明說明(28 ) 法m使用多個表列,故可於啓動期間利用方法出、以少於 万法!和π的讀取找出特殊大小的間置區段。不像記憶體管 理万法II,万法III的表列僅包括間置區段(假定―個正 機)。使用檢查,故可能必須更新磁碟上的表列,且可於 必須在一個故障之後整理磁碟上的表列。 匕 記憶體管理方㈣在不需任何磁碟作業下執行分配和解 除配置! ^而’相較於該等其它的方法(例如方法_), 方法W可包括更多的檢查程序。此外,設若一個故障發生 時,則相較於利用該等其它的方法當利用方法^時、磁碟 記憶體會更陳舊。 現在,將例證性地説明另__種根據本發明之用以分配儲 存體士方法(管理方法V)。當該系統正藉由保持和更新指 向孩第一個間置位元組的一個指標(末尾指標)、以從一個 大的磁碟記憶體區段中分配儲存體時,則該方法將係特別 有效益。 i 面參考圖18,於箱框1805中,該系統在磁碟上保持區段的 抓頭,其中至少包括一已知爲一個編碼位元組的位元組。 將注意到,可以任何順序實行或執行圖18中所示之該等箱 框。孩系統亦將變數保持在記憶體中,指示磁碟上該目前 的末尾指標和該末尾指標。磁碟上的該末尾指標可爲陳 售、廢置不用的。於箱框181〇中,該系統從該末尾分配出 一個區段b 1。由該步驟而儲存在該標頭中的資訊包括一個 分配乏標簽、區段大小及一個或多個編碼位元組。通常未 於該步驟中更新磁碟上的該末尾指標。其係因該末尾指標 __ -31 - 本紙張尺度適用中國國家標準(CNS)A4規格(21〇 χ 297公釐) 526415 五、發明說明(29 ) 可能不同於磁碟上bl的標頭。更新磁碟上的該末尾指 说需要包括-個額外的磁碟作業。對照下,可將 位π組密接地保存在磁碟上,故通常可利用少數個ϋ 個磁碟寫入即已足夠)磁碟作業完成該標頭 所有的更新。以編碼位元組儲存特殊的資訊,以指示二、 區段不再是該末尾的-部分。用作其它目的的標頭 料能作用成編碼位元組,以減少或排除該由編碼位元也 所招致的費用。例如,記憶體管理方法π和则用標頭位 70組用以儲存區段大小和表列指標。該等位元組亦可作 成編碼位元組。 於箱框181〇中,更新記憶體中的該末尾指標(但未在磁碟 上)。於箱框1825中,將一個區段bl解除配置成該末尾。 修正該等編碼位元組,以指現在爲該末尾的一部分。 如磁碟上的孩末尾指標爲目前的(其中係在記憶體中快取 該末尾指標的,故可在不存取該磁碟下審查該末尾指 標),,則更新該末尾指標,以便在將Μ解除配置成該末尾 •^後,孩末尾指標仍保持爲”目前的„。否則,容許磁碟上 的戎末尾指標保持爲”陳舊、廢置不用的”。 於箱框1820中,定期地對磁碟檢查更新之末尾指標。例 如,該系統可在每n個交易之後檢查,其中n爲一個系統參 數。遠擇性地,孩系統可在上次更新磁碟上該末尾指標 後又接著更新该末尾P次之後作檢點,其中p爲一個系統 參數。通常係於正常操作期間關閉該系統之前執行檢查。 如是,可藉由數個分配和/或解除配置攤銷用以更新磁碟 (請先閱讀背面之注咅?事項再填寫本頁) 裝 II訂---------Φ. 經濟部智慧財產局員工消費合作社印製 -32 - 5264l5 A7 B7 五、 發明說明(3〇 上琢末尾指標的成本。可將本發明、連同該等先前所述的 發明一起使用,例如像是該等就圖8和圖9所述之方法,或 記憶體管理方法〗、卩和m。如連同記憶體管理方法π和m 一起使用時,則可將檢查該末尾和檢查間置表列結合在一 起。例如,假定一系統需要檢查該等末尾指標和 間置表列指標。可將磁碟上的該末尾指標儲存在與該等間 置表列指標相鄰的地方。如是,可利用,,一個單一的區段 寫入或少數的寫入、但使磁碟標頭作些微的移動”檢查 该末尾指標和間置表列。 如一個系統故障發生時,則該儲存在磁碟上的末尾指標 可能不是目前的。箱框1815企圖在一個故障之後更正該末 尾指標。假定t爲該末尾指標的儲存數値。該系統審查哪些 訂 位元組將爲相對應至-從t開始之區段之_個標頭中㈣碼 位兀組。如該等編碼位元組指示t相對應至一個區段時,則 藉由該標頭判定該區段大小s將該末尾指標增加成t+s,且 該處理繼續、直到審查編碼位元組時指出該儲存體未相對 i 應至-個區段上爲止。接著’將該更新之末尾指標儲存在 磁碟上。 於一個例説的範例中,假定正在使用記憶體管理方法 II。可利用該大小和該等指標標頭作爲編碼位元組。於箱 框1815中,該有效編碼位元組的測試可包括”查證該等相 小位元組儲存一個合法的大小”和,,該指標指向二二^於士 適當大小等級的區段"。圖18實施一個或然回復通則。、人 箱框1815中,將可能不必要地推進該末尾指標。藉由適2 -33 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) 526415
A7 B7 五、發明說明(31 ) 地使用編碼位元組,則可使該機率變成任意地低。於該最 裒的事例中,可會遺失某一末尾儲存體,但不會錯誤地 將分配之儲存體解除配置。 可能將圖18的該方法、連同數個利用像末尾資料結構之 不同的DSA (像是MFLF通則)一起使用。不須永遠利用箱 框1825將區段解除配置成該末尾。例如,一個通則 常態下不會嘗試將一個最近被釋放的區段增加到該末尾 中。而是該MFLF通則可將該被釋放的區段增加到一個閒 置表列中。可於合併期間將儲存體增加到該末尾中。 參考圖19,該等發明家就DB2TM ( DB2資料庫管理系統) 的對照下測試利用記憶體管理方法k Mflf m的性能特 徵,其中DB2TM係經由ΙΒΜ在商用上授權可用的。對 個項目執行讀取和寫入操作,其中每—個項目的大小均爲 軸位元組以下。記綠之時序包括啓測試包括: Μ系< 測試⑷於一個執行中執行所有的測試,包括簡單的功能 控查:自該資料庫中讀取每一個項目,—次讀取—個(鍵 -(Wp)將每一個項目寫入空的資料庫中,一 | (塞滿該基底)。 ’人焉入一個 -(Wn)將每一個項目寫入滿的資料庫中,一 a (替換塞滿之資料庫中的每一個項目)。 久寫入一個 •⑺重複地執行該資料庫中的每 M片目(非鍵控查 訂 參 -34 - 本紙張尺度適用中國國家標準 X 297公釐) 經濟部智慧財產局員工消費合作社印製 526415 A7 B7 _ 五、發明說明(32 ) 表)。 注意,.....。該資料庫包括一個具有索引主鍵(字串)和 資料物件(LOB)的表格。僅在所有的更新完成之後,基本 測試才會授與更新。如圖19中所示,在每次更新之後或每 5次更新之後授與補充的更新。當實際將該測試引用於DB2 上時’必須授與每5次更新,且DB2需要數個調整參數以完 成該等測試。於圖19中説明該等基本測試的結果。測試時 間(秒)顯示出本發明(標示爲1900)遠超過DB2 (標示爲1902) 之驚人的改良。於大多數的事例中,獲得一個光度等級的 改良。 參考圖2〇 ’以數種模式執行DB2。例如,以一種人工授 與、自動授與及每5次更新之授與將該測試引用於〇Β2上, 如圖20中所示。就Wp測試和Wn測試而言,本發明的作業 時間(秒)大於一個光度等級,且於某些事例中,該等作業 時間(秒)大於兩個光度等級。 一個熟知此技藝的人可對本發明作許多改變。例如,可 將該等DSA並行,以同時處理多個交易。此係適合用於一 個磁碟陣列上。於下面的參閲文中説明用以達成並行之技 藝: 1) 1992年12月、麻薩諸塞州電腦科學TR- 560 ( PhD Thesis) 技藝研冗室協會(哲學博士論文)’ Arull iyengar之” 一個多 處理器上之動態儲存區配置’’;及 2) 1996年10月、IEEE (電子電機工程師協會)開拓綱 領,96之議事記錄,Amn Iyengar之”動態儲存區配置通則之 -35 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐) ·1--------tr--------- (請先閱讀背面之注意事項再填寫本頁) 526415 發明說明(33 ---- 可縮放性π。 已§兄明了一種持續性和強固的儲存分配系統及方法其較 :取(具骨豆實施例(其中意欲以該等較可取具體實施例作 爲例一兑明用’而非限制用)。注意到,$些熟知此技藝 ::人可H褒等上面的敎旨對該等具體實施例作修正和改 f。因此’將察知,可於該附加申請專利範圍對本發明所 ㈣和精髓内對本發明該等揭示之特殊具體實施例 依照該專利法所要求的明細和特質説明了 ί二:nr申請專利範圍中宣饰在條文專利 卜尸斤每&和保護 < 本發明。 (請先閱讀背面之注咅?事項再填寫本頁) 裝 -------訂---------. 經濟部智慧財產局員工消費合作社印制衣 -36 - 本紙張尺度適用中國國家標準(CNS)A4規格(210 X 297公釐)
Claims (1)
- 526415 第〇 9 Ο 1 ο 3 1 8 2號專利申請案 中文申請專利範圍修正本(91年11月) 1· 一種用以管理電腦記憶體之方法,該方法包括以下步 驟: 保持多組閒置記憶體區段,其中根據閒置區段的大小 將琢等間置區段增加到間置記憶體區段組中; 回應一要求大小超過一第一個門限值之閒置區段的請 长技寻一組閒置冗憶體區段,以找出一至少與該要 求大小一樣大、但小於該要求大小加上一第二個門限 值的閒置區段;及 如找到该閒置區段,則分配該整個閒置區段。 2.如申請專利範圍第1項之方法,其中該保持多組閒置區 段之步驟包括:在一個磁碟上保持該等多組閒置區段 之該等步驟。 3 ·如申請專利範圍第丨項之方法,其中該保持多組閒置區 段足步驟包括:在主記憶體中保持該等多組間置區段 之該等步驟。 4·如申請專利範圍第1項之方法,更進一步包括以下步騾·· 如未找到該間置區段,但至少找到一至少與該要求大 Ί 樣大的區段時,則分割該至少與該要求大小一樣 大之至少一個區段;及 以一自該分割步驟中產生的第二個區段滿足該請求。 5.如申請專利範圍第4項之方法,其中該被分割之至少一 個區段為一個找到之大於該要求大小的最小區段。 6·如申請專利範圍第丨項之方法,其中該等多組包括一個 最大區段組,且該第一個門限值大於或等於該最大區 O:\69\693l7-9lll28.DOC\ 5 本紙張尺度如中國國家標準(c^ST2謂97公董) ;91. 11 2 a 申請專利範園 8 8 8 8 A B c D又組其一個最小容許之區段大小,及該方法更進一步 包括以下步驟··搜尋該最大區段組,以滿足該請求。 7·如申請專利範圍第丨項之方法,其中該搜尋步驟包括以 下步驟··搜尋包括一個表列的該組,其中該表列包括 該組的記憶體區段分配資訊。 8·如申請專利範圍第i項之方法,更進一步包括以下步 驟·動態地調整該等第一個門限值和第二個門限值中 的該至少一個門限值,以調整性能。 9·如申請專利範圍第丨項之方法,更進一步包括以下步 驟·· 保持一鄰近的記憶體區段; 根據該要求大小選擇該閒置區段組; 至少分配位在該組中一第一個區段的一部分,以回應 該閒置區段組為非空的;及 滿足該鄰近記憶體區段的請求,以回應該組為空的。 10. 如申請專利範圍第9項之方法,更進一步包括以下步 驟: 保持一指向該一第一個指標位置其鄰近區段的指標; 為了回應一特定大小儲存體之請求,故以該特定大小 增加該指標,使指向一第二個指標位置;及 利用從該第一個指標位置開始之該鄰近區段的一部分 滿足該請求。 11. 如申請專利範圍第}項之方法,更進一步包括以下步 驟:根據-個分配之區段的大小將該分配之區段解除 O:\69\69317-91ll28.DOC\ 5 - 2.- 本紙張尺度適用中國國家標準(CNS) A4規格(210_x 297公£了 526415、申請專利範圍配置成一個新的閒置區段組。 12. —種機器可讀取的程式儲存裝置,其中實體地編入一 個該機器可執行的指令程式,以執行用以管理電腦記 憶體之方法步驟,該等方法步驟包括: 保持多組間置記憶體區段,其中根據大小將閒置區段 增加到閒置記憶體區段組中;回應一要求大小超過一第一個門限值之閒置區段的請 求’搜尋一組間置圮憶體區段,以找出一至少與該要 求大小一樣大、但小於該要求大小加上一第二個門限 值的閒置區段;及 如找到該間置區段’則分配該整個閒置區段。 13.如申請專利範圍第12項之程式儲存裝置,其中該保持 多組間置區段之步驟包括··在一個磁碟上保持該等多 組閒置區段之該等步驟。 Η·如申請專利範圍第12項之程式儲存裝置,其中該保持 % 多組閒置區段之步驟包括:在主記憶體中保持該等多 組閒置區段之該等步驟。 15. 如申請專利範圍第12項之程式儲存裝置,更進/步包 括以下步騾·· 如未找到該閒置區段,但至少找到一至少與該要求大 小一樣大的區段時,則分割該至少與該要求大小一樣 大之至少一個區段;及 以一自該分割步驟中產生的第二個區段滿足該請求。 16. 如申請專利範圍第15項之程式儲存裝置,其中該被分 O:\69\69317-911128.DOC\ 5 _ 3 _ 本紙張尺度適用中國國家標準(CNS) A4規^1〇Χ297&^)、 526415 A8 B8 C8 D8 申請專利範園 割之至少一個區段為一個找到之大於該要求大小的最 小區段。 17·如申#專利範圍第12項之程式儲存裝置,其中該等多 組包括一個最大區段組,且該第一個門限值大於或等 於孩最大區段組其一個最小容許之區段大小,及更進 步包括以下步驟:搜尋該最大區段組,以滿足該請 求。 18.如申#專利範圍第12項之程式儲存裝置,其中該搜尋 步驟包括以下步驟:搜尋包括—個表列的該組,其中 該表列包括該組的記憶體區段分配資訊。 19·如申請專利範圍第12項之程式儲存裝置,更進一步包 括以下步騾:動態地調整該等第一個門限值和第二個 門限值中的該至少一個門限值,以調整性能。 20.如申請專利範圍第12項之程式儲存裝置,更進一步包 括以下步騾: 保持一鄭近的記憶體區段; 根據該要求大小選擇該閒置區段組; 至少分配位在該組中一第一個區段的一部分,以回應 該閒置區段組為非空的;及 滿足該鄰近記憶體區段的請求,以回應該組為空的。 21·如申請專利範圍第20項之程式儲存裝置,更進一步包 括以下步驟: 保持一指向該一第一個指標位置其鄰近區段的指標; 為了回應一特定大.小儲存體之請求,故以該特定大小 -4- O:\69\69317-911128.D0C\ 5 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526415增加該指標,使指向一第二個及 利用從該第一個指標位置開始之該鄰近區段的一部分 滿足該請求。 22. 如申請專利範圍第12項之程式儲存裝置,更進一步包 括以下步驟:根據一個分配之區段的大小將該分酌之 區段解除配置成一個新的閒置區段組。 23. —種用以管理一個鄰近持續性記憶體區段之方法,包 括以下步驟: 在王圮憶體中保持一第一個指標,用以判定一第〆個 記憶體區段中的一第一個閒置位元組之型式; 在該持續性儲存體中保持多個區段的標頭,其中該等 標頭至少包括一編碼位元組;及 藉由設定該第二個區段其至少一個編碼位元組,以從 該第一個區段中分配出一第二個區段,以指示該第二 個區&不再是該第一個區段的一部分,及更新該主記 憶體中的該第一個指標。 24·如申請專利範圍第23項之方法,更進一步包括將一個 區段b增加到該第一個區段中之步驟,其中該增加之步 驟包括以下步驟·· 修正一相對應至b之編碼位元組,以指示b為該第一個 區段的一部分;及 更新該主記憶體中的該第一個指標。 25·如申請專利範圍第23項之方法,其中該至少一個編碼 位元組除了指示該第二個區段不再是該第一個區段的 O:\69\69317-911128 DOQ 5 -5 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)装 訂一部分以外,亦提供其它的功能。 26·如申請專利範圍第23項之方法,更進一步包括以下步 驟:根據該主記憶體中該第一個指標的數值定期地更 新該持續性記憶體中的一第二個指標。 27·如申請專利範圍第26項之方法,更進一步包括以下步 驟··藉由審查該至少一個編碼位元組更新該等第一個 和第二個指標,以回應一個系統故障。 28.如申請專利範圍第23項之方法,其中利用一個單一的 區段寫入啟始該等標頭。 29· —種機器可讀取的程式儲存裝置,其中實體地編入一 個該機器可執行的指令程式,以執行用以管理一個鄰 近持續性記憶體區段之方法步驟,其中該鄰近持續性 1己憶體區段包括一個主記憶體和至少一個磁碟記憶體 裝置’该等方法步驟包括: 在主$己憶體中保持一第一個指標,用以判定一第一個 記憶體區段中的一第一個閒置位元組之型式; 在該持續性儲存體中保持多個區段的標頭,其中該等 才浪^·員至少包括一編碼位元組;及 藉由設定該第二個區段其至少一個編碼位元組,以從 該第一個區段中分配出一第二個區段,以指示該第二 個區段不再是該第一個區段的一部分,及更新該主記 憶體中的該第一個指標。 30.如申請專利範圍第29項之程式儲存裝置,更進一步包 括將一個區段b增加到該第一個區段中之步騾,其中該 O:\69\69317-911128.DOQ 5 - 6 - 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公董了申請專利範圍 增加之步驟包括以下步驟: 對應至b之編碼位元級,以指示b為該第-個 k段的一邵分;及 更新該主記憶體中的該第一個指標。 3“二申請專利範圍第29項之程式儲存-裝置,复中該至少 一個編碼位71組除了指示該第二個區段不再是該第-個區段的一部分以外,亦提供其它的功能。 32.如申請專利範圍第29項之程式儲存裝置,更進一步包 括以下步驟.根據孩王記憶體中該第一個指標的數值 疋期地更新該持續性記憶體中的一第二個指標。 33·如申請專利範圍第32項之程式儲存裝置,更進一步包 括以下步驟:藉由審查該至少一個編碼位元組更新該 等第一個和第二個指標,以回應一個系統故障。 34·如申請專利範圍第29項之程式儲存裝置,其中利用一 個單一的區段寫入啟始該等標頭。 35· —種用以合併持續性儲存體中相鄰閒置區段之方法, 包括以下步驟: 保持每一個區段的一標頭,以指示該區段的大小和分 配狀態; 藉由審查標頭資訊合併該等閒置區段,以結合相鄰的 閒置區段;及 足期地將 > 訊儲存在该持續性儲存體中,以指示一達 成之合併等級。 36. —種機器可讀取的程式儲存裝置,其中實體地編入一 O:\69\69317-911128.DOa 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526415個该機為可執行的指令程式,以執行如申請專利範圍 第35項所詳述之方法步驟。 37_如申請專利範圍第35項之方法,更進〆步包括 驟: ,讀取該持續性儲存體中的資訊,以於該系統故障之前 判足該達成之合併等級,以於合併期間回應一系統故障;及 根據該持續性儲存體中的該資訊,於一瞬間重新開护 合併。 " 38. —種機器可讀取的程式儲存裝置,其中實體地編入一 個該機器可執行的指令程式,以執行如申請專利範圍 第3 7項所詳述之方法步驟。 39·.種用以管理一 ^己憶體儲存系統中持續性儲存體之方 法’其中該記憶體儲存系統包括一個主記憶體和至少 一個磁碟記憶體裝置,該方法包括以下步騾: 在持續性儲存體中保持多個區段的標頭,其中每一個 區段的一標頭包括該區段的區段大小和分配狀態; 在主έ己憶體中至少保持一資料結構,用以分配和解除配 置持續性儲存體; 藉由以下分配一第一個儲存區段: 藉由使用該主記憶體中的該至少一個資料結構辨識該 第一個儲存區段; 修正該主記憶體中的該至少一個資料結構,及指定一 分配狀態給該持續性記憶體中的該區段; O:\69\69317-911128.DOO 5 -8 - 本紙張尺度適用中國國家標準(CNS) Α4規格(210X297公釐)裝 訂藉由將該持續性記憶體中的一分配狀態指定給該第二 個儲存區段,以將一第二個儲存區段解除配置;及 修正該主記憶體中的該至少一個資料結構。 40·如申請專利範圍第39項之方法,更進一步包括以下步 驟:於一個系統重新啟動之後,藉由該持續性儲存體 中的多個標頭判定該主記憶體中的該至少一個資料結 構。 41. 如申請專利範第4〇項之方法,其中於該系統重新啟動 之後、判定該主記憶體中該至少一個資料結構之步驟 包括:該持續性記憶體之至少一個磁碟存取,其中一 個單一的磁碟存取以多個位元組讀取。 42. 如申請專利範圍第39項之方法,更進一步包括以下步 驟: 於一系統關機之前’先自該主記憶體中的該至少一個 資料結構中將資訊輸出給該持續性儲存體;及 於一系統重新啟動之後,藉由該輸出之資訊判定該主 記憶體中的該至少一個資料結構。 43. 如申請專利範圍第39項之方法’其中在持續性儲存體 中保持標頭之該步驟包括:提供多個儲存在該持續性 儲存體中一鄰近區域中的標頭。 44. 如申請專利範圍第39項之方法,其中在持續性儲押 中保持標頭之該步驟包括:保持—個具有—指標搁: 標頭,其中孩指標攔指向該持續性儲存體中的一個位 置。 O:\69\693I7-9I1128.DOO 5 -9 - 526415 Vi S A BCD 、申請專利範圍 45.如申請專利範圍中第44項之方法,更進一步包括以下 步驟: 利用該等標頭中的指標欄在該持續性儲存體中保持一 區段表列;及 在該主記憶體中至少保持一指向該區段表列之一標頭 的目前指標。 46·如申請專利範圍第45項之方法,更進一步包括以下步 驟: 於該持續性儲存體中產生一新的區段; 將該持續性儲存體中該新區段的一指標欄設定成該主 記憶體中該至少一個目前指標的一數值P ;及 將P設定成該新的區段。 47. 如申請專利範圍第46項之方法,其中利用一個單一的 區段寫入啟始該新區段的一個標頭。 48. 如申請專利範圍第45項之方法,更進一步包括以下步 驟: 定期地更新持續性儲存體中至少一個自該主記憶體中 該至少一個目前的指標相對應至該表列上的標頭。 49·如申請專利範圍第48項之方法,其中該表列包括多個 表列,且該等多個表列包括相對應至該等多個表列上 的標頭,其中在該持續性儲存體中連續地保持該等多 個標頭’及該方法更進一步包括以下步騾:以一個單 一的區段寫入更新該等標頭。 50.如申請專利範圍第39項之方法,其中該第一個儲存區 O:\69\69317-911128.DOO 5 -10 -2 段和該第二個儲存區段包括該相同的區段。 51. 一種機器可讀取的程式儲存裝置,其中實體地編入-2琢機器可執行的指令程式,以執行用以管理-記憶 二儲存系統中持續性儲存體之方法步驟,其中該記憶 體儲存系統包括一個主記憶體和至少一個磁碟記憶體 裝置,該等方法步驟包括: 。在持續性儲存體中保持多個區段的標頭,其中每一個 區段的一標頭包括該區段的區段大小和分配狀態; 在主圮憶體中至少保持一個資料結構,用以分配和解 除配置持續性儲存體; 藉由以下分配一第一個儲存區段: 藉由使用該主記憶體中的該至少一個資料結構辨識該 第一個儲存區段; 修正該主記憶體中的該至少一個資料結構,及指定一 分配狀態給該持續性記憶體中的該區段; 藉由將該持續性記憶體中的一分配狀態指定給該第二 個儲存區段,以將一第二個儲存區段解除配置;及 修正該主記憶體中的該至少一個資料結構。 52·如申請專利範圍第5 1項之程式儲存裝置,更進一步包 括以下步騾:於一個系統重新啟動之後,藉由該持續 性儲存體中的多個標頭判定該主記憶體中的該至少_ 個資料結構。 53·如申請專利範第52項之程式儲存裝置,其中於該系統 重新啟動之後、判定該主記憶體中該至少一個資料結 O:\69\69317-911128.DOa 5 本紙張尺度適用中國國家棵準(CNS) A4規袼(210X297公釐) 526415 六 申請專利範圍 構^步驟包括:該持續性記憶體之磁碟存取 個單—的磁碟存取以多個位元組讀取。 、 %如申請專利範圍第51項之程式儲存裝 括以下步驟: 步包 資=、:關機之前,先自該主記憶體中的該至少-個 貝枓結構中將資訊輸出給該持續性儲存體;及 二-系統重新啟動之後’藉由該輸出之資訊判定該 $己fe體中的該至少一個資料結構。 55·如申請專利範圍第51項之程式儲存裝置,其中在持 性儲存體中保持標頭之該步驟包括:提供多個儲存 孩持續性儲存體中一鄰近區域中的標頭。 56. 如申請專利範圍第51項之程式儲存裝置,其中在持 存體中保持標頭之該步驟包括··保持1個具有 指標欄之標頭,其中該指標欄指向該持續性儲存體 的一個位置。 57. 如申請專利範圍中第56項之程式儲存裝置,更進_ 包括以下步驟: 利用忒等;^頭中的指標攔在該持續性儲存體中保持 區段表列;及 在該主記憶體中至少保持一指向該區段表列之一標 的目前指標。 58. 如申請專利範圍第57項之程式儲存裝置,更進一步 括以下步驟: 於該持續性儲存體中產生一新的區段; 續 在 裝 續 中 步 頭 包 訂 O:\69\69317-91Π 28.DOC 5 -12 - 526415 A BCD六、申請專利範圍 將該持、續性儲存體中該新區段的一指標欄設定成該主 記憶體中該至少一個目前指標的一數值p ;及 將P設定成該新的區段。 59·如申請專利範圍第5 8項之程式儲存裝置,其中利用一 個單一的區段寫入啟始該新區段的一個標頭。 60·如申請專利範圍第57項之程式儲存裝置,更進一步包 括以下步驟: 定期地更新持績性儲存體中至少一個自該主記憶體中 該至少一個目前的指標相對應至該表列上的標頭。 61.如申請專利範圍第60項之程式儲存裝置,其中該表列 包括多個表列和相對應至該等多個表列上的標頭,其 中在該持續性儲存體中連續地保持該等多個標頭,乃 更進一步包括以下步驟·以一個單一的區段寫入更新 該等標頭。 62·如申請專利範圍第5 1項之程式儲存裝置,其中該第一 個儲存區段和該第二個儲存區段包括該相同的區段。 63.—種用以管理一記憶體儲存系統中持續性儲存體之方 法’其中該元憶體儲存系統包括一個主記憶體和至少 一個磁碟記憶體裝置,該方法包括以下步驟: 在持續性儲存體中保持多個區段的標頭,其中每—個 S ί又的一松頭包括该區段的區段大小和分配狀錢,及 包括一指標; 在主圮憶體中至少保持一資料結構,用以分配該持續 性儲存體和解除配置成該持續性儲存體; ’ O:\69\69317-9lH28.DOa 5 - 13 · 本紙張尺度適用中國國家標準(CNS) Α4規格(210 X 297公釐) 526415中請專利範圍 A BCD 年 正充修:I 匀配邊寺夕個區段中的一 又T们弟一個儲存區夼 ^ t 步驟: 什奴,包括以下 個:=記憶體中的該至少-個資料結構辨 識該第一 修正:主記憶體中的該至少-個資料結構,及指定一 分配狀悲給孩持續性儲存體中的該第一個儲存區^; 藉由將該持續性儲存體中的一分配狀態指定給^第二 個儲存區段,以將該等多個區段中的_第二個儲存區 段解除配置; 更新磁碟上该第二個儲存區段的一指標攔;及 修正該主1己憶體中的該至少一個資料結構。 64·如申請專利範圍第63項之方法,更進一步包括以下步 驟: 利用該等標頭中的指標欄在該持績性儲存體中保持一 區段表列;及 在該主記憶體中至少保持一指向該區段表列之一標頭 上的目前指標。 65. 如申請專利範圍第64項之方法,更進一步包括: 審查該區段表列,以移除分配之區段,以回應一故 障。 66. 如申請專利範圍第65項之方法,更進一步包括以下步 騾:當在該區段表列上找到一個間置區段時,則中斷 該審查步驟。 67·如申請專利範圍第64項之方法,其中該主記憶體中的 O:\69\69317-911128.D〇a 5 -14 -本纸張尺度適用中國國家標準(CNS) A4規格(210X297公釐) 526415A8 B8 C8該至少一個資料結構至少包括一個相對應至該持續性 儲存體中該區段表列上的閒置區段表列。 68·如申請專利範圍第64項之方法,更進一步包括以下步 驟: 定期地更新持續性儲存體中至少一個自該主記憶體中 孩至少一個目前的指標相對應至該區段表列上的標 頭。 ^69·如申請專利範圍第6 8項之方法,其中該區段表列包括 多個表列和在該持續性儲存體中連續保持的標頭,及 該方法更進一步包括以下步騾··以一個單一的區段寫 入更新該等標頭。70·如申請專利範圍第63項之方法,其中該更新一個指標 欄之步騾包括以下步驟:將該指標欄中的一個指標設 定成該主i己憶體中其至少一個閒置區段表列L的一個標 頭,且該解除配置之步驟更進一步包括以下步驟:將 該弟一個儲存區段增加到該主記'憶體中表列L的該標頭 中。 71·如申請專利範圍第63項之方法,其中利用一個單一的 區段寫入更新該第二個儲存區段的標頭。 72. 如申請專利範圍第63項之方法,更進一步包括以下步 驟:於一個系統重新啟動之後,藉由該持續性儲存體 中的多個標頭判定該主記憶體中的該至少一個資料結 構。 73. 如申請專利範第72項之方法,其中於該系統重新啟動 O:\69\69317-911128.DOC\ 5 ^ 本紙張尺度適用中國國家搮準(CNS) A4規格(210 X 297公爱)<後、判疋該主記憶體中該至少一個資料結構之步驟 L括存耳個磁碟’其中一個單一的磁碟存取以多個 位元組讀取。 74.如申請專利範圍第63項之方法,更進一步包括以下步 驟: 、万;《統關機〈W ’先自該主記憶體中的該至少一個 資料結構中將資訊輸出給該持續性儲存體;及 :万;$統重新啟動之後,藉由該輸出之資訊判定該主 w己憶fa中的该至少一個資料結構。 %如申請專利範圍第63項之方法,一步包括以下步 驟:將多個標頭儲存在持續性错存體中的一個鄭近區 域中。 η 7“申請專利範圍第63項之方法’其中該第一個儲存區 奴和孩第二個儲存區段包括該相同的區段。 77·-種機器可讀取的程式儲存裝置,其中實體地編入_ 個該機器可執行的指令程式,以執行用以管理一記憶 體儲存系統中持續性儲存體之方法步驟,其中該記憶 體儲存系統包括-個主記憶體和至少—個磁碟記憶體' 裝置,該等方法步驟包括·· 在持續性儲存體中保持多個區段的標頭,其中每一個 區段的一標頭包括該區段的區段大小和分配狀態, 包括一指標; ^ 在主記憶體中至少保持-資料結構,用以分配該持續 性儲存體和解除配置成該持續性儲存體; O:\69\69317-9lll28.DOC\ 5 - 16 _ 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)— 526415A8 B8分配該等多個區段中的一第 步騾: 一個儲存區段 包括以下 個資料結構辨識該第一 利用該主記憶體中的該至少 個儲存區段; 知正孩王記憶體中的該至少一個資料結構,及指定_ 讀狀態給該持續性儲存體中的” __個儲存區段; 精由將孩持續性儲存體中的_分配狀態指定給該第二 個儲存區&,以將該等多個區段中的—第二個儲存區 段解除配置; 更新磁碟上該第二個儲存區段的一指標攔;及 修正该主冗憶體中的該至少一個資料結構。 风如申請專利範圍第77項之程式儲存裝置°,更進一步包 括以下步驟;: 利用該等標頭中的指標攔在該持續性儲存體中保持一 區段表列;及 在忒主圯丨思體中至少保持一指向該區段表列之一標頭 上的目前指標。 79. 如申凊專利範圍弟7 8項之程式餘存裝置,更進_步包 括: 審查該區段表列,以移除分配之區段,以回應一故 障。 80. 如申請專利範圍第79項之程式儲存裝置,更進一步包 括以下步驟:當在該區段表列上找到一個間置區段 時,則中斷該審查步驟。 -17 - O:\69\69317-911128.DOO 5 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 申請專利範圍 - 一一 申w專利範圍第78項之程式儲存裝置,其中該主記 ^體了的該至少一個資料結構至少包括一個相對應至 X持續f生儲存體中孩區段表列上的閒置區段表列。 82·如申凊專利範圍第78項之程式儲存裝置,$進一步包 括以下步驟: 、疋期地更新持~性儲存體中至少—個自該主記憶體中 巧土少一個目前的指標相對應至該區段表列上的標 頭。 83. T申請專利範圍第82項之程式儲存體裝置,其中該區 &表列包括多個標列和在該持續性儲存體中連續保持 的標頭,及更進一步包括以下步騾:以一個單一的區 '^又窝入更新該等標頭。 84·如申請專利範圍第77項之程式儲存裝置,其中該更新 一個指標攔之步驟包括以下步驟:將該指標欄中的一 個指標設定成該主記憶體中其至少一個閒置區段表列乙 的一個標頭,且該解除配置之步驟更進一步包括以下 步驟·將該第二個儲存區段增加到該主記憶體中表列L 的該標頭中。 85·如申請專利範圍第77項之程式儲存裝置,其中利用一 個單一的區段寫入更新該第二個儲存區段的標頭。 86·如申請專利範圍第77項之程式儲存裝置,更進一步包 括以下步驟:於一個系統重新啟動之後,藉由該持續 性儲存體中的多個標頭判定該主記憶體中的該至少一 個資料結構。 -18 - O:\69\69317-911128.DOO 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐) 52641587·如申請專利範第86項之程式儲存裝置,其中於該系統 重新啟動〈後、判足該主記憶體中該至少一個資料結 構之步驟包括存取一個磁碟,其中一個單一的磁碟存 取以多個位元組讀取。 88. 如申請專利範圍第77項之程式儲存裝置,更進一步包 括以下步驟: 於-系統關機(則,先自該主記憶體中的該至少一個 資料結構中將資訊輸出給該持續性儲存體;及 於-系統重新啟動之後,藉由該輸出之資訊判定該主 記憶體中的該至少一個資料結構。 89. 如申請專利範圍第77項之程式儲存裝置,更進一步包 括以下步驟:將多個標頭儲存在持續性儲存體中的一 個鄰近區域中。 90. 如申請專利範圍第77項之程式儲存裝置,其中該第一 個儲存區段和該第二個儲存區段包括該相同的區段。 91. -種用以管理一持續性儲存體系統中記憶體之方法, 包括以下步驟: 在-主記憶體中至少保持-資料結構,用以分配和解 除配置持續性儲存體; 藉由該至少一個資料結構完全地分配和解除配置該持 續性儲存體,而無需存取或寫入該持續性儲存體; 定期地檢查該持續性儲存體的儲存分配資訊.及 於-重新啟動之後、藉由該檢查之資訊判】主記憶體 中的該至少一個資料結構。 -19 - O:\69\69317-911128.D〇C\ 5 本紙張尺度適用中國國家標準(CNS) A4規格(210 X 297公釐)526415 六、申請專利範圍 92. —種機器可讀取的程式儲存裝置,其中實體地編入一 個該機器可執行的指令程式,以執行如申請專利範圍 第9 1項所詳述之方法步驟。 93. 一種用以管理一持續性儲存體系統中記憶體之方法, 包括以下步驟·· 在一主記憶體中至少保持一資料結構,用以分配和解 除配置持續性儲存體; 藉由該至少一個資料結構完全地分配和解除配置該持 續性儲存體,而無需存取或寫入持續性儲存體; 於一個系統關機之前,自該主記憶體中的該至少一個 資料結構中將資訊輸出給持續性儲存體;及 於一系統重新啟動之後,藉由該輸出之資訊判定該主 記憶體中的該至少一個資料結構。 94. 一種機器可讀取的程式儲存裝置,其中實體地編入一 個該機器可執行的指令程式,以執行如申請專利範圍 第93項所詳述之方法步驟。 O:\69\69317-9ni28.DOO 5 本紙張尺度適用中國國家標準(CNS) A4規格(210X297公釐)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/504,064 US6446183B1 (en) | 2000-02-15 | 2000-02-15 | Systems and methods for persistent and robust memory management |
US09/504,610 US6643754B1 (en) | 2000-02-15 | 2000-02-15 | System and method for dynamically allocating computer memory |
Publications (1)
Publication Number | Publication Date |
---|---|
TW526415B true TW526415B (en) | 2003-04-01 |
Family
ID=27054709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW90103182A TW526415B (en) | 2000-02-15 | 2001-02-12 | System and method for persistent and robust storage allocation |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP1126373A3 (zh) |
TW (1) | TW526415B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3832341B2 (ja) | 2001-12-27 | 2006-10-11 | 日本電気株式会社 | メモリプール管理方式 |
CN115964002B (zh) * | 2023-03-13 | 2023-07-07 | 杭州炬华科技股份有限公司 | 一种电能表终端档案管理方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US5784698A (en) | 1995-12-05 | 1998-07-21 | International Business Machines Corporation | Dynamic memory allocation that enalbes efficient use of buffer pool memory segments |
US5784699A (en) | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
-
2001
- 2001-02-12 TW TW90103182A patent/TW526415B/zh not_active IP Right Cessation
- 2001-02-14 EP EP01301262A patent/EP1126373A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1126373A2 (en) | 2001-08-22 |
EP1126373A3 (en) | 2006-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100390616B1 (ko) | 고정적이고 확실한 저장 할당을 위한 시스템 및 방법 | |
KR100390734B1 (ko) | 고정적이고 확실한 저장 할당을 위한 시스템 및 방법 | |
US9734607B2 (en) | Graph processing using a mutable multilevel graph representation | |
US9436597B1 (en) | Using non-volatile memory resources to enable a virtual buffer pool for a database application | |
US8108587B2 (en) | Free-space reduction in cached database pages | |
US7640276B2 (en) | Backup system, program and backup method | |
CN115427941A (zh) | 数据管理系统和控制的方法 | |
JP6198992B2 (ja) | 計算機システム、及び、データベース管理方法 | |
KR20080104815A (ko) | 비휘발성 메모리의 데이터 처리 장치 및 방법 | |
JP2011191835A (ja) | 計算機システムおよびアプリケーションプログラムの実行方法 | |
JPH07152641A (ja) | プログラムキャッシュ装置 | |
US5159677A (en) | Method and system for storing data in and retrieving data from a non-main storage virtual data space | |
Allu et al. | {Can’t} We All Get Along? Redesigning Protection Storage for Modern Workloads | |
CN113050886A (zh) | 面向嵌入式内存数据库的非易失性内存存储方法及系统 | |
US11249853B2 (en) | System and method for creating a snapshot of a subset of a database | |
Xu et al. | Building a fast and efficient LSM-tree store by integrating local storage with cloud storage | |
JP7190421B2 (ja) | ストレージシステム及びボリューム複製方法 | |
TW526415B (en) | System and method for persistent and robust storage allocation | |
Lee et al. | Efficient logging of metadata using NVRAM for NAND flash based file system | |
US7107404B2 (en) | Method and system for data processing for controlling a cache memory | |
US11221985B2 (en) | Metadata space efficient snapshot operation in page storage | |
KR100472204B1 (ko) | 매핑 테이블 구조를 구비한 논리 볼륨 관리 시스템 및 이를 이용한 효율적인 스냅샷 방법 | |
CN115470178A (zh) | 一种基于域对象的域快照回滚方法 | |
JP2004303096A (ja) | ジョブ管理方法、ジョブ管理装置、ジョブ管理プログラム | |
JPH07105060A (ja) | データベース管理システムのレコードアクセス管理方式 |
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 |