200921388 九、發明說明: 【电明所屬之技術領域】 特別涉及一種儲存 本毛明涉及—種靜態記憶體領域 媒體管理方法。 【先前技術】 現有對儲存媒體的管理方法一 輯位址的斟昭本^ 瓜疋建立物理位址與邏 第一圖所示的邏輯塊與物理物 …二: 查找與邏輯塊對應的物理塊, 田有物理塊成為壞塊時可將 ^,, ^ θ +ju + 了j村/、射除不用。然而隨著儲存婵 體:谷置越來越大,對照表的資料量也越來越大,要在: 入^系統的記憶體中保存整個儲存媒體的對 〜 不實際的。 戍卞疋 —現有-種分段管理技術,對儲存媒體的物理塊分段進 仃g理&第一圖所不的邏輯塊與物理塊對照關係示意 圖’設儲存媒體有01個物理塊,分為L個區域,每個^域 N塊刀別對每個物理塊區域做物理位址與邏輯位址的對 照表。只有使用到相應邏輯位址區域的時候才在記憶體中 建立與該邏輯位址所在區域相應的對照表,這樣就在記情 體空間和效率之間取得了-個折衷。但這也引起了另—個 問題’因為儲存空間被物理分割,各區域之間就被隔絕。 «儲存媒體的實際使用特點,某些區域的物理塊經常被 使用,另外一些區域的物理塊卻很少使用,於是會導致使 用的不均衡,某些物理塊已經達到壽命的極限,而某些物 200921388 =卻還很年輕。當一些物理塊已經損壞時,儲存資料不 可罪必須重新對整個儲存 、 除出來才能再次❹。4進仃Μ ’把壞物理塊剔 針對以上問題,也有另一 管理技術,當—個區域二現!提出基於上述分段 域與其他區域中的資料進行交換將整個區 上述問題,但彦味丄計 技術。该技術可以解決 時間兩要拷貝女旦域的效率低下的問題,會有一段 ’ 貝大1的資料,導致儲存媒體性能不穩定。 【發明内容】 理大2:二的在於提供-種儲存媒體管理方法,用於管 理大谷1儲存媒體。 HW、吕 本發明提供一種儲存媒 理邏輯位址,建立P、—「t 法’包括:分區域管 關係的步驟;將至少:;區車耳位址與物理位址的對應 係載入在記憶體中的步;與物理位址的對應關 理位址㈣應關係執行訪問命乂令的㈣£域邏輯位址與物 ’上述分區域管理邏輯位址,建立至少一區域 與物理位址的對應關係的步驟包括:將邏輯位址 區域;對至少-邏輯區域中的邏輯位址, t-f m m ^ ^ ^ a 0任—物理位址之間的對應關係;將 對應關係形成至少兩個區域對照表。 入在址與物理位址的對應關係載 乂驟包括:根據訪問命令計算指定邏輯塊 200921388 屬於哪一區i或;判冑記憶體中的區域對照表是否對應指定 这輯塊所屬區域,將指定邏輯塊所屬區域的區域對照表载 入到記憶體中,替換記憶體中的區域對照表。 上述將至少一區域邏輯位址與物理位址的對應關係载 入在記憶體中的步驟還包括:將其中—區域對照表保存在 記憶體中的步驟。 優選地,分區域管理邏輯位址,建立至少一區域邏輯 〇位址與物理位址的對應關係的步驟包括:將邏輯位址劃分 為至v兩個區域,對各區域中的邏輯位址,建立與儲存媒 體任一物理位址之間對應關係,形成完整對照表。’、 上述將至少一區域邏輯位址與物理位址的對應關係載 入在兄憶體中的步驟包括:將完整對照表保存在外部儲存 媒體^將完整對照表的位址保存在記憶體中;根據訪問 命令計算指定邏輯塊屬於哪一區域;根據完整對照表的位 址找到兀整對照表;將完整對照表中,指定邏輯塊所屬區 I 域的部分對照表載入到記憶體中。 上述將對照表保存在外部儲存媒體中是指保存在至少 物理塊中,或是保存在至少一物理塊的冗余區中。 優選地,上述儲存媒體管理方法還包括定義至少一交 換塊建立义換塊的邏輯位址與物理位址對應關係的步 驟。 上述根據至少一區域邏輯位址與物理位址的對應關係 執灯訪問命令的步驟包括:根據至少一區域邏輯位址與物 理位址的對應關係’查找與寫命令指定邏輯位址對應的物 8 200921388 理位址’將寫命令要寫入的新資料寫到與交換塊對應的物 理位址中’將與寫命令指定邏輯位址對應的物理位址中不 被寫命令覆蓋的原有資料搬遷到與交換塊對應的物理位址 中’建立父換塊與寫命令指定邏輯位址對應的物理位址之 間的對應關係’建立寫命令指定邏輯位址與交換塊對應的 物理位址之間的對應關係;擦除與交換塊對應的物理位 址。 上述根據至少一區域邏輯位址與物理位址的對應關係 執行訪問命令的步驟還包括:更新至少一區域邏輯位址與 物理位址的對應關係,更新對照表的步驟。 ^ A上述將與寫命令指定邏輯位址對應的物理位址中不被 寫〒令覆盍的原有資料搬遷到與交換塊對應的物理位址中 ^.將與寫命令指^邏輯位址對應的物理位址與交換塊 2 =物理位址比較’得到不被寫命令^寫人新資料的 ^位^ ;將未指定位址中的資料複製到與交 的物理位址中。 卞述儲存媒體管理方法單獨使用一交換塊 用至少一交換塊。 ^ 树明通過將儲存媒體的邏輯位址劃分多個區域,各 =別組織獅’實現佔用極少量的記憶體完成大容 里=子媒體的官理;本發明還利用交 間的物理塊相互交換,從而消除了£戏門j各㈣域之 題,同時避免了整個區域資料嶋而=不均衡的問 問題,安全穩定,易於實:祕遷而導致的性能不穩定 200921388 【實施方式] ☆本發明目的的實現、功能特點及優點將結合實施例, 麥照附圖做進—步說明。 地對日:-目▽出本發明第—實施例的邏輯塊與物理 “ “糸不意圖,本實施例應用於快閃記憶體介質 ),在整個儲存媒體巾作對照表,但 對儲存媒體劃分多個區域,而在物 :: =區域都可以對照整個儲存媒體的物理塊。當二= 立址的時候’才把該邏輯位址所在區域的對照二 到記憶體中。 4\ 本實施例還設置交換塊(柳),通過共用交換 現物理塊的交換,從而、;肖除物理塊磨損不均衡的問題。1 具體來說,設儲存媒體共有⑽物理塊,將邏輯位址 刀為L個區域,分別是區域Q、區域1......㊣域L,— 個區域N個邏輯塊,每個邏輯塊分別與一個物理塊建立: '日錢,例如區域〇的邏輯塊〇對應物理塊i,區 :LX對應物理塊”再設置一邏輯交換塊,也對應二 1成如表1所示^邏輯塊與物理嬙對昭喪: 區域 邏輯位 「區域 0 ~ 1;——:~~~―1— 200921388 表 1 接收到對儲存媒體的訪問命〜 的處理過程參照第五圖包括如下;驟貫施例對寫命令 ,收到對邏輯塊χ寫入新 . 步驟S12,計算邏輯塊χ 貝㈣冩 牛㈣Q 科尾X屬於哪個邏輯區域; =⑽,將該邏輯區域的 步驟SI4,查對照表,栌储、溫/戰入到。己隐體, 到對應的物理心; 輯抑塊X的邏輯位址查找 步驟S15 ’取預先定義的交換塊; 換神rrsi6 ’將寫命令要寫入邏輯塊X的新資料寫到交 換塊對應的物理塊2中; I貝丁寸舄到乂 步驟S17,將物理塊乂中不 搬遷到物理塊z中; 1 p 7覆孤的原有貝枓 步驟S18 ’將交換塊改為盥物 X改為與物理塊z對應; ”對應,將邏輯塊 步驟⑽’擦除交換塊對應的物理塊y,寫過程结 末。 、° 塊對:::::圖所示的經過上述寫過程後’邏輯塊與物理 要1糸=化不意圖,邏輯塊χ中的原有資料和寫命令 :::新資料都寫入物理塊2中,而將交換塊從物理塊 文為物理塊”同理,對每一個寫命令,都僅载入一個 區域的對照表’使用交換塊寫入資料,既實現了分區域管 理储存媒體’減少佔用記憶體,又實現了物理塊的使用平 衡,還無需對整個區域資料進行搬遷。 200921388 上述步驟S12,計算邏輯塊X屬於哪個邏輯區域,具 體來說在對邏輯位址分區時,每個邏輯區域的大小都是預 先设疋的’確定下來一般無需改變,如一個區域包括1Q24 個邏輯塊。當收到訪問命令後’本實施例可以通過邏輯位 址來推异要訪問的塊屬於哪個邏輯區域。一個區域包括 1024個邏輯塊為例’則可算出邏輯塊〇到邏輯塊都屬 於區域0,而邏輯塊1024至邏輯塊2047都屬於區域丨,依 此類推。 上述步驟S13 ,將該邏輯區域的對照表載入到記憶 體,其t載入是指把對照表讀取到記憶體中,具體載入方 式見下文說明。 ' ㈣T H局八邂輯塊X的新資料寫 到交換塊對應的物理塊2中是採用現有的寫操作技術完成 的,完成一個寫操作可以分為兩個步驟,一個是設備從主 機接收資料,存到設備的緩衝區,然後從緩衝區把 =㈣。本實施例從寫命令中得知要對邏輯塊χ寫入資 Γ而邏輯塊物理塊y,物理塊y本身是存有原有 1料的,根據快閃記情體的拉卜 ’、百 b "苔〜 物理塊y是不能寫入資 枓的,必須把物理塊乂擦除才 除物理塊y,原有資料就合J :…科。但-旦擦 的資料寫入物理塊y,而口处 ’妾把讀區 中。 寫到交換塊對應的物理塊2 完成將缓衝區資料寫 和交換塊對應的物理塊z 入交換塊的寫操作後,物理塊又 中各保存了邏輯塊X的一部分資 200921388 料’在以後的操作令是無法使用的’因此還需要把物理塊 二:的原有資料搬遷到物理塊z中。至此,邏輯塊χ的所 :科都保存在物理塊ζ中了,物理塊y中雖然存有原有 f ’但已經無用了’就可以把物理塊y擦除。當然也 二:理塊“察除以後,把物理塊z令的所有資料重新拷 貝回物理塊y,但這樣明顯效率很低。因此本實施例 把物理塊y與物理塊z與邏輯塊的對應關係交換一下 應交換塊,物理塊2對應邏輯塊χ,節省了一 -人貝#搬遷的操作,提高了效率。 、欠上述步驟S17,將物理塊y中不被寫命令覆蓋 貝料搬遷到物理塊z中是採 ’、有 包括步驟: 現有的資龍遷技術,具體 址;步驟S171,從寫命令中取得要寫入新資料的指定位 :驟S172,將指定位址與物理塊y的位址比較,得到 二新資料的未指定位址,這些未指定位 的貝科疋不被新賢料覆蓋的原有資料; z的將未覆蓋位址中的原有資料複製到物理塊 ζ的相應位址中,流程結束。 兄 直接性是要先擦除才能寫資料,如* 丨使用父換塊,以保證原有資料的安全。 才 本實施例對於讀命令的處理過程如下: 13 200921388 步驟S21 ,收到讀取邏輯塊χ資料的讀命令; 步驟S22,計算邏輯塊χ屬於哪個邏輯區域,· 步驟S23 ,將該邏輯區域的對照表載入到記憶體; ν驟S24查對照表,根據邏輯塊X的邏輯位址查找 到對應的物理塊y ; 一 步驟S25 ,讀取物理塊7中的指定資料; 步驟S26,返回讀到的資料,讀過程結束。 本教明提出第二實施例,在第__實施例基礎上對對照 表和交換塊的管理提出改進。 本實轭例至少在儲存媒體量產的時候建立一完整對昭 斜靡通^完整對照表’可使所有邏輯位址都與好的物理塊 j來,,不對應壞物理塊,將壞的物理塊忽略不使 立邏輯位址與所有好塊的物理位址之間的對應關 塊,媒體細個物理塊,其中物理塊2是壞 始建立對法是:從邏輯塊◦和物理塊〇開 到物理換二 找一個物理塊與之對應,檢測 為邏輯二Γ:=把物理塊0對應到邏輯塊°;再順序 對庫關係W 塊與之對應,因為物理塊G已經有 物理塊1、對測理塊1是好塊馳 對應,因為物揮换彳 〜、t輯鬼2找一個物理塊與之 開始,發現物,ί 的塊都操作過了 ’就從物理塊2 邏輯塊❹ ?2是壞塊,不能將物理塊2與任何-個 U對應,於是再錢朗物理塊3 200921388 好塊,就把物理塊3對到邏輯塊2。依次對應 輯塊都與物理塊建立對瘅 心有边 不讓壞塊與任何-個邏=庫而對其令壞塊的處理就是 對應,齡Li 也不與任何-個交換塊 ‘ μ際使用過程中永遠不會被使用到。當 可:其他規則建立完整對照表,將壞的物理 Α 建立邏輯位址與所有好塊的物理位址之η 的對應關係。 主m址之間 建立對照表後,在資料卢τ田4 w ^ 如_,或儲存婢統的外部儲存媒體(例 -敕…:! 身)劃出—儲存空間來保存上述 凡正' …、,貝料處理系統的Mcu記憶 照表所在的物理位址。當需要訪問某區域的; 存的完整對照表所在物理位址,就可以爾整 =表:該區域對應的部分,將這部分對照表讀取到記憶 :的儲整對照表的載入。上述在外部儲存媒體中劃 的冗=以是取幾個物理塊’也可以是多個物理塊 =施例還可為每個區域分別建立區域對邏 車耳㈣劃分為L個區域,分別是區域〇、區域】......- ΐ域::Γ4Ν個邏輯塊。本實施例為每個區域分別建立 :甘:、#共有“固區域對照表’每個對照表覆蓋Ν 塊;以,區域對照表結合起來即等同於上述完整 留^ 以將所有好的物理塊管理起來。在記憶體中僅 ” “品域對照表(例如區域〇對照 對照表保存在外部錯存媒體(例如咖Μ,或儲= 15 200921388 身)劃出的儲存空間中。記憶體中記錄每個區域表的保存 位址(例如區域〇對照表保存在邏輯塊〇,區域1對昭表 保存在邏輯塊1..··.·)。設接收到的訪問命令要訪問邏輯 ,500、’而目前記憶體中保存的區㈣對照表僅覆蓋邏輯 =。f邏輯塊127 ’因此當前區域對照表無法滿足訪問需 二就而要載入與訪問指令相應的區域對照表。通過計曾 二:邏輯塊5GG屬於區域3,讀取區域3對照表並存入纪 f ’替代記憶體中原有的區域◦對照表完成對照表载 部然後利用區域3㈣表執行訪問命令。上述在外 乂 Γ媒脰中劃出的儲存空間可以是取幾個物理塊,也可 以疋多個物理塊的冗余區。 上述區域對照表管理流程如第六圖所示,包括: 步驟S31,將邏輯位址劃分為至少兩個區域; 步驟S32,分別為至少兩個區域建立區域對照表; =驟S33 ’將其中一區域對照表保存在記憶體中,豆 他區域對照表保存在外部儲存媒體中; ,、 步驟S34,接收訪問命令; 步驟S35,計算兮方鬥人 牛驟娜問〒令指定邏輯塊屬於哪一區域; 乂騍S36 ,如果記憶體中的區域對照表 塊所屬區域’則進行步驟S38,否則進行挪^曰疋匕耳 步驟S37,將指定邏輯塊所屬區域對照表載 體中’替換記憶體中的原區妁斜 1 °己十思 S38 ; 域對照表,然後進行步驟 步驟S38 5利用# ,卜立触| h 用^體中的區域對照表,執行訪問命 16 200921388 令; ^驟S39 ’返回命令執行結果,流程結束。 廯j 7為喂°卩令,訪問不改變邏輯塊與物理塊的 r:M,若訪問命令為寫命令,執行完該訪問命令後邏 二〜用報理塊的對應關係改變’區域對照表也應作相庫更 問命令切換區域對照表時,可直接讀取區域對照表。“ 把心::撕’將區域對照表載入到記憶體中,是指 域部儲存賴讀取到記憶财。例如—區 二料是“ _54321”,本實施例將其保存在外 外部儲存媒體的哪存在 區域對照表的時候,就從”丄列需要用到該 昭表資料*屮*、夂數°己錄的物理位址中把區域對 二、:媒出來,讀到記憶體中用於保留對照表的區域即 區域:心:個記憶體區域在不同的時刻被载入不同的 例中照表載入完成後,本實施例採用第-實施 甲的寫過程執行訪問命令。 到訪只在要用到區域對照表的時候,例如收 令或其他需要查表的情況下,才將區域對照 二隐體卜平時的記憶體完全可以不存放任何區域對 把—個區域對照表常駐在記憶lit是為了提高訪問 ,本發明也可以不預先生成對照表,而是每次需 17 200921388 建該區域的對照表或者臨時重建儲 松:點二二 然後载人到記憶體中。這樣做可以 影響訪問效率,因此建議保存對二'重建對照表可能會 外部銘存媒體(例如ΕΕ_,以嬅=時保存在 媒體内部’要使用時讀取並載:==身)或在储存 果十…广 了兀成大容量儲存媒體的管理。如 存重建對照表的資訊。 則而要在儲存媒體中保 本實施例提出在物理塊冗余 建對照表的做法如下: 仔對…、表貝成及重 以外快體介質的結構是在每個物理塊中除了資料區 二遇有右干位元組的冗余區。冗余區可以保存—些廠 ft的資訊’因此本實施例可以在這個區域放置—:Μ旱 如冗余區㈣位元組,其中1〇位元組放置虹校 元組中,二二7"^可以放置對照表資訊,在這6位 /只轭例記錄本物理塊對應的邏輯塊號。這樣, 起候’就把邏輯塊號和資料以及ECC校驗碼一 許取/子媒體中。在本實施例重建對照表的時候,通過 ‘輯::物'=的:余區:!訊’就知道每個物理塊對應的 表λ〜這樣無需重新掃描儲存媒體,即可重建對照 把對照表保存到儲存媒體的部分物理塊中的做法 在最初建立料日”主 “疋 對如、表的時候,本實施例把部分的好塊劃出來 18 200921388 用於保存對照表,不與邏輯媸料 m ★ 耳塊對應’也不與交換塊對應, 處理系統的„的記憶體記住這些塊的物理塊 f :對照表發生變化的時候’把對照表寫入這些物理塊 :伴鋪表和資料’本實施例仍需要標記哪個塊 St湖,哪個塊保存的是對照表資訊,該標記可 放到物理塊的冗余區中。這樣,通過掃描冗余區,本實 :例就知道哪個塊保存的是資料,哪個塊保存的是對照、 在找到保存對照表的塊後,把對照表讀出即可, 進行重建的過程。 …、 在上述實施例基礎上’本發明還提出設置多個交換 塊,維持-交換塊池以管理這些交換塊,在讀寫資料過程 可以輪換使用交換塊以提高訪問效率。 以上所述僅為本發明的優選實施例,並非因此限制本 '月的專利圍’凡是利用本發明說明書及附圖内容所作 的等效結構或等效流程變換,或直接或間接運用在其他相 關的技術領域,均同理包括在本發明的專利保護範圍内。 【圖式簡單說明】 第圖疋本發明一種現有技術的邏輯塊與物理塊對照 關係示意圖; 第一圖疋本發明另一種現有技術的邏輯塊與物理塊對 恥關係示意圖; ’ ^第三圖是本發明第一實施例的邏輯塊與物理塊對照關 係示意圖; 19 200921388 第四圖 是本發明第一實施例的邏輯塊與物理塊對照關 係變化示意圖; 第五圖 是本發明第二實施例寫命令的處理過程示意 圖; 第六圖 是本發明第二實施例的區域對照表管理流程示 意圖。 【主要元件符號說明】 步驟S11〜S19 步驟S31〜S39 20