TW526415B - System and method for persistent and robust storage allocation - Google Patents

System and method for persistent and robust storage allocation Download PDF

Info

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
Application number
TW90103182A
Other languages
English (en)
Inventor
James R H Challenger
Arun K Iyengar
Original Assignee
Ibm
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
Priority claimed from US09/504,064 external-priority patent/US6446183B1/en
Priority claimed from US09/504,610 external-priority patent/US6643754B1/en
Application filed by Ibm filed Critical Ibm
Application granted granted Critical
Publication of TW526415B publication Critical patent/TW526415B/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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic 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)

  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公釐) 526415
    A8 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公釐)— 526415
    A8 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公釐) 526415
    87·如申請專利範第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公釐)
TW90103182A 2000-02-15 2001-02-12 System and method for persistent and robust storage allocation TW526415B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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