国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于解決碎片化的內(nèi)存段重映射的制作方法_3

      文檔序號(hào):8476702閱讀:來源:國知局
      每個(gè)條目可以被索引以反映物理地址偏 移(例如,與該條目相關(guān)聯(lián)的原始線的物理位置)以及邏輯線偏移(例如,當(dāng)原始線故障 時(shí),重映射的線的物理位置)。因此,在各個(gè)實(shí)施例中,重映射元數(shù)據(jù)122通過指示故障的 線1已被邏輯地與工作中的線6交換、以及故障的線3已被邏輯地與工作中的線5交換來 生成地址或位置轉(zhuǎn)換,如在階段200 (D)處對(duì)重映射元數(shù)據(jù)122條目的重新組織(例如,重 新排序)中所示的。由于重映射元數(shù)據(jù)122已針對(duì)線7創(chuàng)建并安裝在線7中,因此線7的 條目可以是空(例如,"*"),并且可不包括任何重新引導(dǎo)的條目。在各個(gè)實(shí)施例中,線7的 條目可存儲(chǔ)冗余的重映射元數(shù)據(jù),如以上所提到的。
      [0045] 因此,重映射元數(shù)據(jù)122中對(duì)應(yīng)于頁108 (N)中還未被邏輯地與故障的線交換的工 作中的線的初始條目保持不變。例如,在步驟200 (D),重映射元數(shù)據(jù)122中的線0、2和4的 條目還未被修改或改變,因?yàn)樗鼈冞€未與故障的線的條目交換。
      [0046] 在各個(gè)實(shí)施例中,重映射元數(shù)據(jù)122使用邊界指針202,使得群集模塊118能夠標(biāo) 識(shí)下一個(gè)可用的工作中的線以便邏輯地與故障的線交換。由于群集模塊118邏輯地將故障 的線一起群集在頁l〇8(N)的邊遠(yuǎn)部分,因此邊界指針202指向下一工作中的線,該工作中 的線將邏輯連續(xù)空間與邏輯故障空間分開。例如,在步驟200 (D),邊界指針202指向?qū)嶋H的 線4,作為定界和分離群集在頁IOS(N)的底部的邏輯故障(例如,線5、6和7)的下一工作 中的線。相應(yīng)地,當(dāng)故障檢測(cè)模塊116檢測(cè)到另一線故障時(shí),群集模塊118通過在重映射元 數(shù)據(jù)122中邏輯地將故障的線的地址或索引重新引導(dǎo)到邊界指針202所標(biāo)識(shí)的線來重新組 織存儲(chǔ)器頁108 (N)。群集模塊118可隨后將邊界指針202前移至下一工作中的線并且更新 重映射元數(shù)據(jù)122。
      [0047] 在各個(gè)實(shí)施例中,頁IOS(N)中的每個(gè)線配備有一個(gè)指示符,該指示符允許存儲(chǔ)器 分配模塊114在初始訪問期間標(biāo)識(shí)該線是否已經(jīng)用群集過程被邏輯地重映射。例如,指示 符可以是保留在錯(cuò)誤糾正部分中的單個(gè)比特,該比特指示"是",該線已故障并且已被重映 射,或者"否",該線還未故障并且正被訪問的數(shù)據(jù)被存儲(chǔ)在該線中。當(dāng)線已故障時(shí),群集模 塊118可設(shè)置這一指示符來指示該線已被重新引導(dǎo)或重映射。在至少一個(gè)實(shí)施例中,存儲(chǔ) 器分配模塊114和/或存儲(chǔ)器控制器104可定位重映射元數(shù)據(jù)122,因?yàn)榇鎯?chǔ)器分配模塊 114和/或存儲(chǔ)器控制器104知曉重映射元數(shù)據(jù)122可能位于頁108 (N)的頂部的第一個(gè)線 處或頁IOS(N)的底部的最后一個(gè)線處。在其它實(shí)施例中,每個(gè)線的指示符可被進(jìn)一步配置 成具有額外的容量以指向頁l〇8(N)內(nèi)的重映射元數(shù)據(jù)122。
      [0048] 如從階段200(B)和階段200(D)之間的區(qū)別中可見,本文討論的群集和重映射過 程為較大的對(duì)象分配邏輯地創(chuàng)建了較大量的連續(xù)空間。例如,如果在階段200 (B),存儲(chǔ)器分 配模塊114不得不在故障的線1和3周圍分配存儲(chǔ)器,則存儲(chǔ)器分配模塊114可能將數(shù)據(jù) 存儲(chǔ)在i)線0、ii)線2、或iii)線4-7(例如,四個(gè)連續(xù)的線)。在實(shí)施群集和重映射過程 之后,存儲(chǔ)器分配模塊114能夠?qū)?shù)據(jù)存儲(chǔ)在邏輯上工作中的線0 - 4(例如,五個(gè)連續(xù)的 線)中。如上所述的,出于說明目的和易于理解,圖2中的頁IOS(N)包括八個(gè)線。相應(yīng)地, 通過使用有更多線(例如,一頁中64個(gè)線)、頁內(nèi)分散著更多故障的線等的示例,群集和重 映射過程的益處和優(yōu)點(diǎn)可能會(huì)更明顯。
      [0049] 圖3示出存儲(chǔ)在存儲(chǔ)器模塊106中的兩個(gè)連續(xù)頁2N和2N+1300。為了進(jìn)一步最 大化連續(xù)存儲(chǔ)器空間的量,群集模塊118可被配置成將故障的線以及重映射元數(shù)據(jù)122群 集在存儲(chǔ)器模塊106中的偶數(shù)頁(例如,頁2N)的頂部和存儲(chǔ)器模塊106中的奇數(shù)頁(例 如,頁2N+1)的底部,反之亦可。因此,連續(xù)的存儲(chǔ)器空間的量可橫跨兩個(gè)連續(xù)的頁一一頁 2N的底部和頁2N+1的頂部,如圖3中所示。
      [0050] 在各個(gè)實(shí)施例中,群集模塊118可根據(jù)群集出現(xiàn)在頁的頂部(例如,存儲(chǔ)在線0中 的重映射元數(shù)據(jù)122)還是頁的底部(例如,存儲(chǔ)在頁的最后一個(gè)線(即圖2的示例中的線 7)中的重映射元數(shù)據(jù)122)來為每頁IOS(N)遞增或遞減邊界指針204以及組織重映射元數(shù) 據(jù)122中的條目。
      [0051] 以上關(guān)于圖2和3提供的示例描述了作為對(duì)應(yīng)于存儲(chǔ)器系統(tǒng)區(qū)域的各個(gè)頁(例 如,頁108(1)…108 (N))的存儲(chǔ)器重映射區(qū)域。然而,存儲(chǔ)器重映射和群集過程的其它實(shí)現(xiàn) 可不使用具有與存儲(chǔ)器系統(tǒng)區(qū)域相同粒度的存儲(chǔ)器重映射區(qū)域。例如,群集模塊118可實(shí) 現(xiàn)是用于硬件存儲(chǔ)器模塊106中的存儲(chǔ)器區(qū)域幾倍的存儲(chǔ)器重映射區(qū)域。因此,群集模塊 118可將重映射元數(shù)據(jù)122放置在例如每?jī)蓚€(gè)、四個(gè)、八個(gè)頁的頂部或底部。此外,重映射元 數(shù)據(jù)122和邊界指針102可被配置成參考特定頁以及已被交換的線。這可進(jìn)一步消除碎片 化并創(chuàng)建較大的連續(xù)存儲(chǔ)器部分。
      [0052] 在至少一個(gè)實(shí)施例中,群集模塊118可被配置成從一種存儲(chǔ)器重映射區(qū)域大小 (例如,一頁)轉(zhuǎn)換成另一種存儲(chǔ)器重映射區(qū)域大?。ɡ?,八頁)。例如,群集模塊118可 最初根據(jù)單頁的粒度來群集故障的線,但在一組頁的每一個(gè)都經(jīng)歷了故障的線之后,群集 模塊118替代地根據(jù)八頁的粒度(例如,八頁的存儲(chǔ)器重映射區(qū)域)來群集故障的線以便 消除更多的碎片化。在此,系統(tǒng)軟件102和存儲(chǔ)器控制器104可隨后相應(yīng)地重新配置系統(tǒng) 并且更新重映射元數(shù)據(jù)122以反映從一種存儲(chǔ)器重映射區(qū)域大小轉(zhuǎn)換成另一種存儲(chǔ)器重 映射區(qū)域大小。
      [0053] 說明性過程
      [0054] 在此參照?qǐng)D4和5描述示例操作。這些過程被示為邏輯流程圖,這表示可用硬件、 軟件或其組合實(shí)現(xiàn)的一系列操作。在軟件的上下文中,操作表示當(dāng)由一個(gè)或多個(gè)處理器執(zhí) 行時(shí)完成所述操作的計(jì)算機(jī)可執(zhí)行指令。一般而言,計(jì)算機(jī)可執(zhí)行指令包括執(zhí)行特定功能 或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、模塊、數(shù)據(jù)結(jié)構(gòu)等。描述操作的次序并 不旨在被解釋為限制,并且所述操作中任何數(shù)量的操作可以按任何次序和/或并行地組合 以實(shí)現(xiàn)該過程。
      [0055] 圖4示出涉及創(chuàng)建和/或更新針對(duì)存儲(chǔ)器模塊106中的單個(gè)頁108 (N)的重映射 元數(shù)據(jù)122的示例過程400。例如,示例過程400可與由位于系統(tǒng)軟件102上的存儲(chǔ)器分 配模塊114、存儲(chǔ)器控制器104、或兩者的組合來執(zhí)行的寫操作相關(guān)聯(lián)。此外,存儲(chǔ)器控制器 104可位于存儲(chǔ)器模塊106上或與和系統(tǒng)軟件102 -同位于系統(tǒng)的處理側(cè)上的存儲(chǔ)器模塊 106分開。
      [0056] 在操作402,存儲(chǔ)器控制器104接收發(fā)出的寫入指令,并且存儲(chǔ)器控制器104嘗試 將數(shù)據(jù)寫入頁l〇8(N)的線。例如,當(dāng)高速緩存分層結(jié)構(gòu)想要驅(qū)逐損壞的線并因此請(qǐng)求寫回 時(shí),存儲(chǔ)器控制器104可接收該發(fā)出的指令。存儲(chǔ)器控制器104隨后可被配置成標(biāo)識(shí)用于 寫回的頁108 (N)和線。
      [0057] 在操作404,故障檢測(cè)模塊116檢測(cè)該線是故障的線。例如,當(dāng)存儲(chǔ)器控制器104實(shí) 際地將數(shù)據(jù)寫入該線并且還臨時(shí)地將數(shù)據(jù)的另一版本存儲(chǔ)在緩沖中時(shí),故障檢測(cè)模塊116 檢測(cè)并確認(rèn)該線是故障的線并且對(duì)于存儲(chǔ)目的而言不再可靠。當(dāng)存儲(chǔ)器控制器104從該線 讀回?cái)?shù)據(jù)時(shí),故障檢測(cè)模塊116將讀取的數(shù)據(jù)與臨時(shí)存儲(chǔ)在緩沖中的數(shù)據(jù)的另一版本作比 較。如果從該線中讀回的數(shù)據(jù)與臨時(shí)存儲(chǔ)在緩沖中的數(shù)據(jù)不同,則故障檢測(cè)模塊116確定 該線是故障的線。
      [0058] 在操作406,存儲(chǔ)器控制器104可將線故障和不可寫數(shù)據(jù)傳遞給系統(tǒng)軟件102。例 如,存儲(chǔ)器控制器104可使用故障寫入緩沖和生成的中斷來將故障信息傳遞給操作系統(tǒng)。 存儲(chǔ)器控制器104傳遞這一信息,因?yàn)轫?08 (N)中故障的線可包含正由托管運(yùn)行時(shí)或其它 系統(tǒng)組件使用的一個(gè)或多個(gè)對(duì)象。
      [0059] 在操作408,系統(tǒng)軟件102的存儲(chǔ)器分配模塊114可隨后例如為托管運(yùn)行時(shí)重新分 配或移動(dòng)頁l〇8(N)中的一個(gè)或多個(gè)對(duì)象到存儲(chǔ)器模塊106中的不同存儲(chǔ)器位置(例如,其 它頁)。這一重新分配釋放了整個(gè)頁IOS(N)。在各個(gè)實(shí)施例中,存儲(chǔ)器分配模塊114可隨 后觸發(fā)重映射過程并指令存儲(chǔ)器控制器104通過邏輯地將故障的線群集在頁IOS(N)的邊 遠(yuǎn)部分來重新組織頁IOS(N)。
      [0060] 相應(yīng)地,在操作410,存儲(chǔ)器控制器104的群集模塊118創(chuàng)建或更新頁108 (N)的重 映射元數(shù)據(jù)122,并且將故障的線群集在頁108 (N)的邊遠(yuǎn)部分處,如以上結(jié)合圖2和3討論 的。例如,群集模塊118可確定故障的線是否是單個(gè)頁IOS(N)的首個(gè)故障的線。如果群集 模塊118確定故障的線是首個(gè)故障的線,則群集模塊118根據(jù)以上結(jié)合圖2和3提供的討 論創(chuàng)建頁108 (N)的重映射元數(shù)據(jù)122。相應(yīng)地,群集模塊118可為頁108 (N)中的每一個(gè)線 創(chuàng)建條目,在頁108 (N)的頂部或底部處實(shí)施"假"故障使得重映射元數(shù)據(jù)122可被存儲(chǔ)在 頁108 (N)內(nèi),將故障的線的條目與重映射元數(shù)據(jù)122的下一頁的頂部或底部處的工作中的 線的條目進(jìn)行交互,以及將故障的線上的指示符設(shè)置成指示該故障的線已被重新映射。因 此,群集模塊118開始邏輯地將故障的線群集在頁的邊遠(yuǎn)部分(例如,頂部或底部,取決于 頁是存儲(chǔ)器模塊106中的偶數(shù)還是奇數(shù)頁),由此在頁IOS(N)中創(chuàng)建較大量的連續(xù)空間。
      [0061] 在各個(gè)實(shí)施例中,如果群集模塊118確定故障的線不是首個(gè)故障的線,則群集模 塊118訪問邊界指針202以確定將故障的線的群集和邏輯連續(xù)的存儲(chǔ)器空間分開的下一 可用的工作中的線。群集模塊118可隨后將下一(例如,首個(gè)故障的線和"假"故障的線之 后)故障的線的條目與由邊界指針202標(biāo)識(shí)的下一可用的工作中的線的條目進(jìn)行交換,并 且將下一故障的線上的指示符設(shè)置成指示該故障的線已被重映射。
      [0062] 在各個(gè)實(shí)施例中,每當(dāng)單個(gè)頁108(N)內(nèi)的線故障時(shí),可重復(fù)示例過程400。此外, 在各個(gè)實(shí)施例中
      當(dāng)前第3頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1