TWI364660B - Method for managing a storage medium - Google Patents
Method for managing a storage medium Download PDFInfo
- Publication number
- TWI364660B TWI364660B TW96143104A TW96143104A TWI364660B TW I364660 B TWI364660 B TW I364660B TW 96143104 A TW96143104 A TW 96143104A TW 96143104 A TW96143104 A TW 96143104A TW I364660 B TWI364660 B TW I364660B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- physical
- block
- logical
- storage medium
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
1364660 九、發明說明: 【發明所屬之技術領域】 本發明涉及一種靜態記憶體領域’特別涉及一種儲存 媒體管理方法。 【先前技術】 現有對儲存媒體的管理方法一般是建立物理位址與邏 〇輯位址的對照表,參照第一圖所示的邏輯塊與物理塊對照 關係示意圖,通過對照表可查找與邏輯塊對應的物理塊,'' 冨有物理塊成為壞塊時可將其剔除不用。然而隨著儲存媒 體的容量越來越大,對照表的資料量也越來越大,要在嵌 入式系統的記憶體中保存整個儲存媒體的對照表,幾乎是 不實際的。 現有一種分段管理技術,對儲存媒體的物理塊分段進 行官理。如第二圖所示的邏輯塊與物理塊對照關係示意 3圖,設儲存媒體有《»個物理塊,分為L·個區域,每個區域 N塊,分別對每個物理塊區域做物理位址與邏輯位址的對 照表。只有使用到相應邏輯位址區域的時候才在記憶體中 建立與該邏輯位址所在區域相應的對照表,這樣就在記憶 體空間和效率之間取得了一個折衷。但這也引起了另一個 問題,因為儲存空間被物理分割,各區域之間就被隔絕。 根據儲存媒體的實際使用特點,某些區域的物理塊經常被 使用,另外一些區域的物理塊卻很少使用,於是會導致使 用的不均衡,某些物理塊已經達到壽命的極限,而某些物 理位址,將寫命令要官 — 理位址中;將血寫上料禺到與交換塊對應的物 _ /、舄p 7扣疋迴輯位址對應的物理位址中不 f寫命令覆蓋的原有資料搬遷到與交換塊對應的物理位址 ’建立父換塊與寫命令指定邏輯位址對應的物理位址之 ::的對應關係,建立寫命令指定邏輯位址與交換塊對應的 位址之間的對應關係;擦除與交換塊對應的物理位 址0 土处根據至夕一區域邏輯位址與物理位址的對應關係 行訪門7 7的步驟還包括:更新至少一區域邏輯位址盥 物理位址的對應關係,更新對照表的步驟。 ’、 _込將Z、寫'卩令指定邏輯位址對應的物理位址中不被 寫命令覆蓋的原有資料搬遷到與交換塊對應的物理位址中 I括將與寫τ令指定邏輯位址對應的物理位址與交換塊 ’ΐ? 2物理位址比較,得到不被寫命令指定寫入新資料的 未才曰疋位址’將未指定位址中的資料複製到與交換塊對應 的物理位址中。 上述儲存媒體管理方法單獨使用一交換塊,或輪流使 用至少一交換塊。 本發明通過將儲存媒體的邏輯位址劃分多個區域,各 ί域分別組織對照表’實現佔用極少量的記憶體完成大容 里储存媒體的管理;本發明還利用交換塊實現各個區域之 ,的物理塊相互交換,從而消除了區域間磨損不均衡的問 題β同4避免了整個區域資料的搬_而導致的性能不穩定 問題,安全穩定,易於實現。 9 【實施方式】 本發明目的的麻招 丄 參照附圖做進一步::功能特點及優點將結合實施例, 參照第三圖,+山 塊對照關係示专圖 '明第一實施例的邏輯塊與物理 Γ ΡίΛςίί . “㈤,本貧施例應用於快閃記憶體介質 對儲二媒體中作對照表,但僅在邏輯域 邏輯區域都可以對日在物理域不劃分區域,每個 邏輯位址的時候,=媒體的物理塊。當訪問到某 到記憶體中。、轉位址所在區域的對照表载入 現物置交換塊(swap),通過共用交換塊實 見物理塊的父換,從而消除物理塊磨損不均衡的問題。 判八ir::’设儲存媒體共有m個物理塊,將邏輯位址 j刀為個區域,分別是區域〇、區域1……區域L,各 個區域N個邏輯塊,每個邏輯塊分別與一個物理塊建立: 照關係,例如區域〇的邏輯塊〇對應物理Μ,區 邏輯塊X對應物理塊y。再設置—邏輯交換塊, _; 物理塊Z。 嗯 ^_^_表1所示的邏對日g ,:
邏輯位 區起 10 區域1 • · · 址 0 1 • · · N 0 «· · X • · · N • · · 土舍 物理位 址 1 6 • ·» 0 4 »·« y -—— • · · 2 • · · 〜 — Z 1364660 • < 表 1 接收到對儲存媒體的訪人 的處理過程袁昭第i η ρ 7後,本實施例對寫命令 ^…、第五圖包括如下步驟: 步驟S11 ,收到對邏輯 步⑽,計算邏輯塊入新資料的寫命令; 牛驄ςη # 屬於哪個邏輯區域; 乂驟813,將該邏輯區域 步驟S14,查對照表 :至“己憶體; 到對應的物理塊7 ; ㈣康避輯塊X的邏輯位址查找 步驟S1.5,取預先定義的交換塊; 步驟S16,將寫命令要寫入 換塊對應的物理塊z中; <輯塊X的新貧料寫到交 步驟S17,將物理塊7中不被寫命 搬遷到物理塊z中; 是息的原有貝枓 步驟S18,將交換塊改為與物 X改為與物理塊z對應;、物理”對應,將邏輯塊 束。步驟S19,擦除交換塊對應的物理塊y,寫過程結 參照第四圖所示的經過上述寫過程後,邏輯塊與物理 亚對照關係變化示意圖,邏輯塊x中的原有資料和寫命人 要馬入的新資料都寫入物理塊z中’而將交換塊從物理^ =物理塊y。同理’對每一個寫命令,都僅载入一個 =域的對照表,使用交換塊寫入資料,既實現了分區域 理儲存媒體’減少佔用記憶體,.又實現了物理塊的使用 衡’還無需對整個區域資料進行搬遷。 1364660 上述步驟S12,計算邏輯塊X屬於哪個邏輯區域,具 體來說在對邏輯位址分區時,每個邏輯區域的大小都是預 先a又疋的’確定下來一般無需改變,如一個區域包括1024 個邏輯塊。當收到訪問命令後,本實施例可以通過邏輯位 址來推算要訪問的塊屬於哪個邏輯區域。一個區域包括 1024個邏輯塊為例’則可算出邏輯塊0到邏輯塊1023都屬 於區域0 ’而邏輯塊1〇24至邏輯塊2〇47都屬於區域1,依 此類推。
上述步驟S13,將該邏輯區域的對照表載入到記憶 體,其中載入是指把對照表讀取到記憶體中,具體載入方 式見下文說明。 上述步驟S16 ,將寫命令要寫入邏輯塊X的新資料寫 到交換塊對應的物理塊z中是採用現有的寫操作技術完成 的,完成一個寫操作可以分為兩個步驟,一個是設備從主
機接收資料,存到設備的緩衝區’然後從緩衝區把資料寫 入flash。本貫施例從寫命令中得知要對邏輯塊X寫入資 料’而邏輯塊X對應物理塊y,物理塊7本身是存有原有 資料的,根據快閃記憶體的特性,物理塊 料的’必須把物理塊⑼除才可以再寫入資料。但= 除物理塊y,原有㈣就會錢。因此不能直接把緩衝區 的貧料Μ物理塊y ’而只能寫到交換塊對應的物理塊z 完成將緩衝區資料寫入交換塊的寫操作後,物 和交換塊對應的物理塊〇各保存了邏輯Μ的―部分資 ι^〇4〇ου 料在以後的麵作令是無法使用的,因此還需要把物理塊 ^的原有資料搬遷到物理塊ζ巾。至此,邏輯塊X的所 ::料都保存在物理塊ζ中了’物理塊y中雖然存有原有 貝已^:無用了’就可以把物理塊y擦除。當然也可 :在物理塊y擦除以後,把物理塊Z中的所有資料重新拷 、回物理塊y ’但這樣明顯效率很低。因此本實施例只 把物理塊y與物理塊Z與邏輯塊的對應關係交換一下,把 塊y對應交換塊,物理塊2對應邏輯塊χ,節省了 _ 次貧料搬遷的操作,提高了效率。 -料2步驟Μ7 ’將物理塊7中不被寫命令覆蓋的原有 包括步驟: 祝百的貝枓搬遷技術,具體 步驟sm,從寫命令中取得要寫人新資料的指定位 iit 9 ,將指定位址與物理塊y的位址比較,得到 不,寫:1定寫人新資料的未指定位址,這些未指定位 址中的貝料是不被新資料覆蓋的原有資料; 步驟S173 ’將未覆蓋位址中的搭士 ^ z的相應位址中,流程結束的原有㈣複製到物理塊 直』的特性是要先擦除才能寫資料,如果 料的物理塊寫入新資料,很可能造 成原有貝丢失’故本實施例在每 都使用交換塊,以保證原有㈣㈣全。τ寫貝心^ 本貫鈀例對於讀命令的處理過程如下. 13 丄叶oou 收到讀取邏輯塊X資料的讀命令; 。十异邏輯塊X屬於哪個邏輯區域; 將該邏輯區域的對照表载入到記憶體; 查對照表,根據邏輯塊χ的邏輯位址查找 y ; 步驟S25,讀取物理塊y中的指定資料; 步驟S26 ’返回讀到的資料,讀過程結束。
步驟S21, 步驟S22, 步驟S23, 步驟S24, 到對應的物理塊 矣知月提出第一貫施例’在第一實施例基礎上對對照 表和父換塊的管理提出改進。 本實施例至少在儲存媒體量產的時候建立一完整對照 :完整對照表 '可使所有邏輯位址都與好的物理塊 起來’而不對應壞物理塊’將壞的物理塊忽略不使 用’建立邏輯位址與所有好塊的物理位址之間的對應關 係0 例如儲存媒體共有1G個物理塊,其中物理塊2是壞 =建立完整對照表的做法是··從邏輯塊Q和物理塊〇開 二从立對^,先為邏輯塊〇找一個物理塊與之對應,檢測 故塊0是好塊就把物理塊〇對應到邏輯塊〇;再順序 幻找一個物理塊與之對應,因為物理塊〇已經有 以順序檢測物理塊1,物理塊u好塊就把 對到邏輯塊1。再為邏輯塊2找一値物理塊與之 二' 因為物理塊丨之前的塊都操作過了,就從物理塊2 、=秘發現物理塊2是壞塊,不能將物理塊2與任何一個 ^ 對應,於是再往後找到物理塊3,發現物理塊3是
Claims (1)
- 丄 JU-r wv 丄 JU-r wv 卜\年二.月江之曰修正替換頁 十、申請專利範圍: L —種儲存媒體管理方法,包括: 分區域管理邏輯 位址的對應關係Γ步:;少一區域邏輯位址與物理 將所述至少—r 在記憶體中的步:位址與物理位址的對應關係載入 彳+ = p it至^ 一區域邏輯位址與物理位址的對應關係執 们·汸問命令的步驟; # ^ ί至〆父換塊以建立交換塊的邏輯位址與物理位址 對應關係的步驟; 7 根據所述至少一區域邏輯位址與物理位址的對應 關係執行訪問命令的步驟包括: ---的视;t主xj立址, 將寫命令要寫入的新資料寫到與交換塊對應的物理位 » y /根據所述至少一區域邏輯位址與物理位址的對應關 係’查找與寫命令指定邏輯位址對應的物理位址 膝旮人入π〜. 址中 —將所述與寫命令指定邏輯位址對應的物理位址中不被 寫命令覆蓋的原有資料搬_與所述交換塊對應的所述物 理位址令; 建立所述乂換塊與寫命令指定邏輯位址對應的所述物 理㈣之㈣對應_、,建立所述寫命令減邏輯位址與 所述父換塊對應的所述物理位址之間的對應關係;以及 擦除與所述交換塊對應的所述物理位址。 2·如請求項1所述㈣存媒體管理方法,其中,所述分 1364660 年1月ϊ·2曰修正替換頁 區域官理邏輯位址,建立至少一區域邏輯位址與物理位址 的對應關係的步驟包括: 將邏輯位址劃分為至少兩個區域; 至 > 一所述區域中的邏輯位址’分別建立與所述儲存媒 體的任一物理位址之間的對應關係; 將所述對應關係形成所述至少兩個區域的對照表;以及 將至少一個所述區域的對照表加載在記憶體中。 3.如請求項2所述的儲存媒體管理方法,其中,將所述 至少一區域邏輯位址與物理位址的對應關係載入在記憶體 中的步驟包括: 根j康訪問„-卩令计具指定邏輯塊屬於哪一區域; 判斷記憶體中的所述區域的對照表是否對應指定邏輯塊 所屬區域; 將心疋邏輯塊所屬區域的所述區域的對照表載入到記憶 體中,替換記憶體中的所述區域的對照表。 4, ·、如Γ求項2所述的儲存媒體管理方法,其中,將所述 區域邏輯位址與物理位址的對應關係載入在記憶體 中的步驟還包括: 將至^所述區域的對照表保存在外部儲存媒體中的步 .々明求項1所述的儲存媒體管理法, 區域管理邏輯位址,访〜· T m 建立至乂 一區域邏輯位址與物理位址 的對應關係的步驟包括. 將邏輯位址割分兔 刀马至少兩個區域; 22 對各區域中的_位址,建立 ^ 之間對應關係,形成完整對照表。 物理位址 6.如請求項5所述的儲存媒體管理 至少-區域邏輯位址與物理位 關㈣=將所述 中的步驟包括·· 于應關係载入在記憶體 將所述完整對照表保存在外部儲存媒體中. 將所述完㈣照表的#訊保存在記憶體中; 根據訪問命令計算指定邏輯塊屬於哪一區域. 根據所述完整對照表的資訊找到所述完整對昭表. 將所述完整對照表中,衣 表載入到記憶體中。9疋朴塊所屬區域的部分對照 區i = 2 4所述的儲存媒體管理方法,其中,將所述 :二广.…、、保存在外部儲存媒體中是指將該區域的對照 餘區^。至少一物理塊中,或是保存在至少一物理塊的冗 完整對日^項6所述的儲存媒體管理方法,其中,將所述 SI至i二保存在外部儲存媒體中是指將該完整對照表保 物理塊中’或是保存在至少一物理塊的冗餘區 甲0 9·如請求項? 至少—區。所述的儲存媒體管理方法,其中,根據所述 的牛驟1°域邏輯位址與物理位址的對應關係執行訪問命令 的V觸更包括: 更新至少一 ^ 所述區扶 區或邏輯位址與物理位址的對應關係’更新 ,2的對照表的步驟。 23 !364660 、》丨¥上月日修正替換買 10.如請求項5所、+、认 -~—Izl ,1、一。q 3所述的儲存媒體管理方法,其中,根據 所it至y區域邏輯位址與物理位址的對應關係執行訪問 命令的步驟更包括: 更新至少區域邏輯位址與物理位址的對應關係,更新 所述元整對照表的步驟。 U.如清求項1所述的儲存媒體管理方法,其中,將所 迷與寫》卩令指定邏輯位址對應的物理位址中不被寫命令覆 盖的原有貢料搬遷到與交換塊對應的物理位址中包括: 將與寫命令指定邏輯位址對應的物理位址與交換塊對應 的物理位址比較’得到不被寫命令指定寫入新資 料的未指 定位址; 將未指定位址中的資料複製到與交換塊對應的物理位址 中。 24
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW96143104A TWI364660B (en) | 2007-11-14 | 2007-11-14 | Method for managing a storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW96143104A TWI364660B (en) | 2007-11-14 | 2007-11-14 | Method for managing a storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200921388A TW200921388A (en) | 2009-05-16 |
TWI364660B true TWI364660B (en) | 2012-05-21 |
Family
ID=44727834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW96143104A TWI364660B (en) | 2007-11-14 | 2007-11-14 | Method for managing a storage medium |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI364660B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI704456B (zh) * | 2018-11-22 | 2020-09-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料存取方法 |
-
2007
- 2007-11-14 TW TW96143104A patent/TWI364660B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW200921388A (en) | 2009-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100725390B1 (ko) | 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법 | |
JP4956922B2 (ja) | 記憶装置 | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
JP5535128B2 (ja) | メモリシステム | |
US20080120488A1 (en) | Apparatus and method of managing nonvolatile memory | |
US20080109590A1 (en) | Flash memory system and garbage collection method thereof | |
US20080082729A1 (en) | Device driver including a flash memory file system and method thereof and a flash memory device and method thereof | |
JP2008016003A (ja) | メモリー格納装置及びその読み書き方法 | |
JP2004013895A (ja) | フラッシュメモリ用のファイルシステム | |
JP2011530133A (ja) | キャッシュコンテンツの記憶管理 | |
US20150212937A1 (en) | Storage translation layer | |
TW201135738A (en) | Erase command caching to improve erase performance on flash memory | |
TW576966B (en) | Non-volatile cache integrated with mass storage device | |
KR102449585B1 (ko) | 버저닝 저장 장치 및 방법 | |
US9921954B1 (en) | Method and system for split flash memory management between host and storage controller | |
TWI473100B (zh) | Flash memory system and its operation method | |
KR20070096429A (ko) | 빠른 마운팅을 지원하는 낸드 플래시 메모리에 적용되는파일시스템 | |
JP2018101411A (ja) | データストレージデバイスおよびその操作方法 | |
US10114576B2 (en) | Storage device metadata synchronization | |
KR20100115090A (ko) | 버퍼를 고려한 가비지 컬렉션 기법 | |
TWI718710B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 | |
TW201111987A (en) | Memory system | |
TW201017407A (en) | Nonvolatile data storage system and method thereof | |
JP5338859B2 (ja) | 記憶装置および情報処理システム | |
KR20140100113A (ko) | 저장 장치 및 그것의 데이터 처리 방법 |