TW200842578A - Configuration of host LBA interface with flash memory - Google Patents

Configuration of host LBA interface with flash memory Download PDF

Info

Publication number
TW200842578A
TW200842578A TW096150403A TW96150403A TW200842578A TW 200842578 A TW200842578 A TW 200842578A TW 096150403 A TW096150403 A TW 096150403A TW 96150403 A TW96150403 A TW 96150403A TW 200842578 A TW200842578 A TW 200842578A
Authority
TW
Taiwan
Prior art keywords
data
block
memory
blocks
file
Prior art date
Application number
TW096150403A
Other languages
English (en)
Inventor
Alan Welsh Sinclair
Barry Wright
Original Assignee
Sandisk Corp
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 US11/616,228 external-priority patent/US7917686B2/en
Priority claimed from US11/616,231 external-priority patent/US8209461B2/en
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200842578A publication Critical patent/TW200842578A/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/0608Saving storage space on storage systems
    • 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
    • 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/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

200842578 九、發明說明: 【發明所屬之技術領域】 本申凊案大體而言係關於用以儲存資料且與所連接之主 機裝置轉移資料之非揮發性記憶體系統(諸如可再程式化 半導體快閃記憶體)的操作,且更特定言之,係關於i中 之資料檔案物件之管理。 【先前技術】 /在較早代的商用快閃記憶體系統中,將記憶體單元之矩 形陣:劃分為大量的單元群組,每—群組儲存標準磁碟磁 區之資料量(即5 12位元組)。額外之資料量(諸如i 6位元組) 亦通常包括於每-群組中以儲存誤差校正碼(ecc)及關於 使用者資料及/或關於供儲存使用者資料之記憶體單元群 組的可能的其他附加項資料。每一此群組中之記憶體單元 為可一起擦除之最小數目的記憶體單元。亦即,擦除單位 有效地為儲存一資料磁區及所包括之任何附加項資料之記 憶體單元的數目。此類型之記憶體“之實例在美國專利 第5,602,987號及第6,426,893號中有所描述。快閃記憶體之 特性為記憶體單元需要在以資料對其再程式化之前被擦 除。 快閃記憶體系統最常見地以記憶卡或隨身碟的形式提 供,其與諸如個人電腦、攝影機或類似物之多種主機可移 除地連接,但亦可内埋於此等主機系統内。當將資料寫入 至記憶體時,主機通常將獨特邏輯位址指派至記憶體系統 之連續虛擬位址空間内之磁區、叢集或其他資料單位。與 127922.doc 200842578 磁碟作業系統(D0S)類似,主機將資料寫入至記憶體系統 之邏輯位址空間内之位址且自其讀取資料。記憶體系統内 之控制器將自主機接收之邏輯位址轉譯為實際儲存資料之 記憶體陣列内的實體位址,且接著記錄此等位址轉譯。記 憶、體f、統之f料儲存容量至少與在經界定用於記憶體系統 之整個邏輯位址空間上可定址的資料量同等大。 — 在較早代的快閃記憶體系統中,擦除單位之大小增加至 足以儲存多個資料磁區之記憶體單元的區塊。即使與記憶 體系統連接之主機系統可程式且以諸如磁區之最小單位讀 取貧料,大量磁區亦儲存於快閃記憶體之單一擦除單位 中。隨著主機更新或替換資料之邏輯磁區,區塊内之資料 的某些磁區常常變得過時。因為必須在可覆寫區塊中所儲 存之任何資料之前擦除整個區塊,所以新的或更新之資料 通韦儲存於已擦除且具有用於資料之剩餘容量的另一區塊 中。此處理保留具有過時資料之原始區塊,其佔據記憶體 I ; 内有彳貝值空間。但疋若彼區塊中剩餘任何有效資料,則不 可擦除彼區塊。 因此,為更好地使用記憶體之儲存容量,常常藉由將有 效部分區塊量之資料複製至經擦除的區塊來合併或收集有 效部分區塊量之資料,使得可接著擦除供複製此等資料之 區塊並再使用其整個儲存容量。亦期望複製資料以便以資 料磁區之邏輯位址之次序分組區塊内的資料磁區,因為此 十月开> 增加讀取資料及將所讀取之資料轉移至主機之速度。 若此資料複製發生過於頻繁,則記憶體系統之操作效能可 127922.doc 200842578 能降級。此尤其影響記憶體之儲存容量與可由主機經由系 統之邏輯位址空間可定址的資料量無差別之記憶體系統’、 操作(典型狀況)。在此狀況下,在可執行主機程化指= 之前可需要資料合併或收集。則程式化時間增加。 f Ο 區塊之大小在後繼代的記憶體系統中增加以便增加可儲 存於給定半導體面積中之資料位元之數目。儲存:個次 料磁區及更多之區塊變得常見。另外,兩㈤、四個或^ 以上區塊之不同陣列或子陣列通常邏輯地鏈接在一起成 元區塊以便增加資料程式化及讀取之並行度。且此等大二 量操作單元在有效率地操作記憶體系統中出現挑戰。谷 【發明内容】 f ° 上文交叉引用之專利申請案描述將由主機供應之資料檔 案物件直接儲存於快閃記憶體中的記憶體系統。此不同: 當前最常見之商用系統,其中連續邏輯位址空間存在:主 機與記憶體系統之間的介面處’如上文在先前技術中所护 述。藉由此"LBA介面",個別資料檔案物件之資料最常: :也存在於大量記憶體單元區塊中。記憶體系統未將由主機 供應之播案物件之資料(通常每一者為具有多 之叢集形式)與個別資料檀案物件相關聯。實情為,主: =ΓΒΑ介面内當前未指派至有效資料之未使用之邏輯位 則曰派至供應至記憶㈣統以進行儲存的請。記情 派:各個記憶體單元區塊來以如下方式健存:接 收之貧料:使得記憶體系統有效率地操作,但妾 所屬之資料播案物件。典型結果可為:個 = 127922.doc 200842578 为段為儲存於許多不同記憶體單元區塊中之片段。 請=中方面,在上文交又引用之專利申請案之許多專利申 /、 。己隐體系統未經由[BA介面而直接自主機接收| 料槽幸你/生 人貝 田一牛,使得記憶體系統可將個別檔案的資料以改 其效能夕士』 ^ 欠 式配置至其記憶體單元區塊。舉例而言,因為 屬檔案已知,所以記憶體系統可限制供儲存任何一 ,;杬案之5己憶體單元區塊之數目。特定言之,記憶體系 :限制供儲存檔案物件之資料、亦含有另-檔案物件之 1料的錢體單元區塊之數目。因此可控制檔案資料之分 段。當刪除或修改健存於區塊中之第二播案之資料時,: 最小化必須自共同區塊再定位以回收已產生的過時資料空 間之有效播案資料的量。此產生顯著改良之效能及快閃記 憶體系統之壽命之耐久性。 右直接資料檔案管理系統實施於主機中而非記憶體系統 中則亦可實現此改良之效能及耐久性。LBA介面可仍存 在於主機與記憶體系統之間。但替代將叢集形式之檔案資 料配置至此單一連續邏輯位址空間,將檔案資料配置至此 空間内對應於記憶體系統内的實體區塊之邏輯位址之區 塊。在上文交叉引用之專利申請案中所描述之待關於實體 記憶體單元區塊實施於快閃記憶體系統内的檔案資料管理 技術替代地關於主機/記憶體系統介面之邏輯位址空間内 之連續位址的邏輯區塊實施於主機内。則如當前商業上所 盛行的,記憶體系統可為具有LBA介面之習知記憶體系 統。主機内之直接資料檔案管理系統之操作可限制含有來 127922.doc 200842578 自一個以上檔案的資料之邏輯區塊之數目,正如記憶體系 統中操作的直接資料檔案系統限制含有來自一個以上檔案 之資料之實體記憶體單元區塊的數目。實體記憶體單元區 塊中個別檔案物件之資料之分段類似地減少,但係藉由管 理映射至實體記憶體單元區塊中的邏輯位址空間之區塊來 完成。 因此較佳將LBA介面處之邏輯區塊映射至具有相同資料
ϋ 儲存容量及其他相似性之記憶體系統的實體區塊中。特定 吕之’若直接資料檔案系統在記憶體系統内操作,則邏輯 區塊由主機組態以在其直接資料檔案系統看來如同實體區 塊一樣。實體記憶體區塊之特性(通常未供應至主機之資 汛)可由纪憶體系統在其藉由主機初始化時提供。主機接 著將連續邏輯位址空間組態於具有對應於實體記憶體之特 性之特性的區塊中且之後將資料寫入至彼等邏輯區塊内之 位址。 作為替代性實施例’直接資料檔案系統可替代實施於主 機中@以在上文所描述之相同方式在記憶體系統中操 作’其中邏輯區塊界定在記憶體系統之lba介面的連續位 止工間上即使為δ己憶體系統之部分’此直接資料擋案操 作亦不同於在上文交又引用之專利申請案中所描述的實 例:替代在記憶㈣統之後端處替換lba介面以允許記憶 體系統接收檔案中之資料的方式操作(先前申請案中所描 述之實例),直接資料檔案系統可先於lba介面添加至記 憶體系統且以上文所描述之相同方式操作,如同在主機中 127922.doc 200842578 先於其LBA介面而操作。此記憶體系統甚至可經組態以提 供LBA介面及檔案物件介面兩者,記憶㈣統可經由該兩 者與具有-者或另一者但不具有該兩個類型之介面之主機 通信。此尤其便利於在經製造以與許多類型之主機裝置可 移除地連接之記憶卡中使用。 作為另外替代性實施例,具有處理能力之可移除母卡可 具備上文所描述之直接資料檔案純則更料具有直接標 案能力但具有直接資料播案介面的主機添加直接檔心 力。當與主機連接時,母卡則操作以在卡之輸出處提供 麗介面,具有LBA介面之標準記憶卡可與該母卡可移除 地連接。 本發明之額外態樣、優勢及特徵包括於其例示性實例之 下文描述中,該描述應結合隨附諸圖來進行。 Ο 本文中所引用之所有專利、專利申請案、文章、書籍、 說明書、其他公開案、文獻及事物之全文出於所有二以 引用的方式併入本文中。所併入之公開案、文獻或事物中 之任-者與本文獻的本文之間在術語之定義或㈣方面不 -致或衝突之情形下,應以本文獻中術語的定義或 準。 【實施方式】 關於圖1至圖6描述典型快閃記憶體系統。本發明之各種 態樣可實施於此系統中。^之主機系統i將㈣儲存於快 閃記憶體2中且自快閃記憶體罐取資料。儘管快閃記㈣ 可内埋於主機内’但是記憶體2說明為經由機械及電連接 127922.doc 11 200842578 器之配合部件3及4可移除地連接至主機之卡的更盛行之形 式。當前存在市售之許多不同快閃記憶體卡,實例為緊密 快閃(CompactFlash ; CF)卡、多媒體卡(MMC)、安全數位 卡(Secure Digital ; SD)、迷你 SD(miniSD)卡、記憶棒卡、 冬慧媒體卡及TransFlash卡。儘管此等卡中之每一者具有 付合其標準化規範之獨特機械及/或電介面,但是每一者 中所包括的快閃記憶體十分相似。此等卡皆可自本申請案
之受讓人SanDisk Corporation購得。SanDisk亦提供其
Cruzer商標下之一類隨身碟,其為具有用於藉由插入主機 之USB插座中而與主機連接的通用串列匯流排(υ§Β)插頭 之較小封裝之掌上型記憶體系統。此等記憶卡及隨身碟中 之每一者包括與主機介接且控制位於其内之快閃記憶體的 操作之控制器。 使用此等記憶卡及隨身碟之主機系統有許多且多種多 樣。其包括個人電腦(PC)、膝上型電腦及其他攜帶型電 腦、蜂巢式電話、個人數位助理(PDA)、數位靜態攝影 機、數位電影攝影機及攜帶型纟訊播放器。±冑通常包括 用於-或多個類型之記憶卡或隨身碟之内建式插座,但一 些需要供插入記憶卡的轉接器。 圖1之主機系統1可視為具有由電路及軟體之組合組成之 兩個主要部分(關於記憶體2之範圍)。其為應用程式部分5 及與記憶體2介接之驅動程式部分6。舉例而言,在個人電 腦中,應用程式部分5可包括執行文字處理、圖形、控制 或其他盛行應用程式軟體之處理器。在主要專用於執行單 127922.doc -12- 200842578 -功能集合之攝影機、蜂巢式電話或其他主機系統中,應 用程式部分5包括操作攝影機截取且儲存圖片,操作蜂巢 式電話建立及接收呼叫,及類似操作的軟體。 圖1之記憶體系統2包括快閃記憶體7及與供連接卡用於 來回傳遞資料之主機介接且控制記憶體7之電路8。控制器 8通常在資料程式化及讀取期間在由主機丨使用之邏輯資料 位址與記憶體7的實體位址之間轉換。 (、 參考圖2,描述可用作圖1之非揮發性記憶體2之典型快 閃記憶體系統的電路。系統控制器通常實施於單一積體電 路曰曰片11上β亥單一積體電路晶片11經由系統匯流排13與 一或多個積體電路記憶體晶片並行連接,單個此記憶體晶 片15如圖2中所示。所說明之特定匯流排13包括··承載資 料之導線17的獨立集合、用於記憶體位址之集合19及用於 控制及狀態信號之集合21。或者,導線之單一集合在此等 功能之間為時間共用的。另外,可使用系統匯流排之其他 ◎ 組態,諸如在2004年8月9日申請之題為,,Ring Bus
Structure and It’s Use in Flash Memory Systems”的美國專 利申請案第10/915,〇39號(公開案第2〇〇6/〇〇3 1593 AH£)中 所描述之環形匯流排。 • 典型控制器晶片11具有其自身之内部匯流排23,該内部 匯流排23經由介面電路25與系統匯流排丨3介接。通常連接 至匯流排之主要功能為處理器27(諸如微處理器或微控制 器)、含有用以初始化(”開機”)系統之程式碼之唯讀記憶體 (ROM)29及主要用以緩衝在記憶體與主機之間轉移之資料 127922.doc -13 - 200842578 之隨機存取記憶體(RAM)31。計算並檢查用於記憶體與主 機之間經由控制器傳遞之資料之誤差校正碼(ECC)的電路 33亦可連接至匯流排23。亦可包括專用以編碼及解碼經由 控制器傳遞之貧料之電路34。此編碼包括壓縮及安全加 密,但大多數任何類型之資料變換亦可以此方式執行。當 使用時專用電路33及34執行可在韌體控制下由處理器27 以其他方式執行之特定演算法。控制器匯流排23經由電路
Ο 35與主機系統介接,該介接係在圖2之系統含於記憶卡内 之情形下係經由卡之外部接觸件37(其為連接器4的部分)來 凡成。時脈39與控制器u之其他組件中之每一者連接且由 其使用。 記憶體晶片15連同與系統匯流排i 3連接之任何其他記憶 體曰曰片通㊉含有組織為多個子陣列或平面之記憶體單元的 陣列出於簡要之目的說明兩個此等平面41及43,但替代 地可使用諸如四個或八個此等平面之更多平面。替代地, 晶片15之記憶體單元陣列可不劃分為平面。然而,當如此 劃分時,每一平面具有其自身之行控制電路45及47,其可 彼此獨立操作。電路45及47自系統匯流排η之位址部分19 接收其各別記憶體單元陣列之位址,且解碼該等位址以定 址各別位元線49及51巾的特定者。字線53係回應於 位址匯流排19上接收之位址而經由列控制電路Μ定址。源 電遷控制轉57及59亦與各別平面連接,p型井錢控制 電路61及63亦與各別平面連接。 體單元之單一陣列,且若丄:仏體-片15具有記憶 且右兩個或兩個以上此等晶片存在於 127922.doc 200842578 、母一晶片之陣列可類似於上文所描述的多平面 晶片内之平面或子陣列操作。 貝料係經由與系統匯流排13之資料部分1 7連接之各別資 料輸入/輪出電路65及67轉移出人平面41及43。電路似 67提供經由借助於各別行控制電路45及47連接至平面之線 69及71而將資料程式化至記憶體單元中及自其各別平面之 吕己t思體單元讀取資料。 ^ g控制器i i控制記憶體晶片i 5程式化資料、讀取資 料、擦除且辦理多種内務處理事件之操作,但是每一記憶 體晶片亦含有執行來自控制器U之用以執行此等功能之指 令的某一控制電路。介面電路73連接至系統匯流排Μ之控 制及狀態部分21。來自控制器之指令經提供至狀態機75, 狀態機75接著提供其他電路之特定控制以便執行此等指 令。控制線77至81將狀態機75與如圖2中所示之此等其^ 電路連接。來自狀態機75之狀態資訊係在線83上傳送至介 面73以經由匯流排部分21傳輸至控制器1]L。 記憶體單元陣列41及43之「反及」(NAND)架構當前為 較佳的,儘管亦可替代地使用諸如「反或」(N〇R)之其他 架構。NAND快閃記憶體及其作為記憶體系統之部分之操 作的實例可參考美國專利第5,570,315號、第5,774,397號、第 6,046,935號、第 6,373,746號、第 M56,528號、第 6,522,58〇號、 弟6,771,536说及苐6,781,877號及美國專利申請荦公開宰第 2003/0147278號。 實例NAND陣列由圖3之電路圖說明,圖3之電路圖為圖2 127922.doc -15- 200842578 之記憶體系統的記憶體單元陣列4ι 位元線,出於簡要說明 刀H供大置全域 ”至…Γ 圖2中展示四個此等線 至94疋數目之串列連接之記憶體單 接於此等位元線中的一者盥夫 ^ 的者與參考電位之間。使用記憶體單 兀串99作為代表,複數個電㈣存記憶體單元1〇7至⑽與 串之任-末端處之選擇電晶體lu及ιΐ2串列連接。當使得 串之選擇電晶體傳導時,串連接於其位元線與參考電位之
間。接著,彼串内之一記憶體單元—次經程式化或經讀 取。 圖3之子線11 5至11 8個別地跨越記憶體單元之許多串中 的每一者中之一記憶體單元之電荷儲存元件延伸,且閘極 119及120控制位於串的每一末端處之選擇電晶體之狀態。 使共用共同字及控制閘極線115至12〇之記憶體單元串形成 H 起擦除之5己憶體早元區塊12 3。此單元區塊含有可一 次實體擦除之最小數目的單元。沿字線115至Π8中之一者 之一列記憶體單元一次經程式化。通常,NAND陣列之列 以規定次序經程式化,在此狀況下,以沿最接近連接至地 面或另一共同電位之串的末端之字線11 8之列開始。沿字 線117之記憶體單元之列接著經程式化,等等,遍及區塊 123。沿字線115之列最後經程式化。 第二區塊125類似,其記憶體單元之串連接至與第一區 塊123中之串相同之全域位元線,但具有不同的字及控制 閘極線集合。字及控制閘極線由列控制電路5 5驅動至其合 適之操作電壓。若系統中存在一個以上的平面或子陣列, 127922.doc -16- 200842578 :=之平面則一記憶體架構使用在其 J予線。可替代地存在共用共同字線之兩個以上的 或子陣列。在其他記憶體架構中 線經獨立驅動。 固料面或子陣列之字 斯隹上文所 ,7TJ 丁 δ瓦系 tp 戶斤 述’記憶體系統可操作以在每—電荷儲存元件或區切 兩個以上的可偵測電荷位準,進而在每—者中儲存—個以
C Ο 上的資料位元。記憶體單元之電荷儲存元件為最常見之傳 導洋動㈣,但可替代地為非傳導介電電荷捕獲材料,如 在美國專利第6,925,007號中所描述。 圖4概念性地說明在下文進一步描述中用作實例之快閃 記憶體單元陣列7(圖υ之組織。記憶體單元之四個平面或 子陣列131至134可位於單一積體記憶體單元晶片上,兩個 晶片(每一晶片上之平面中之兩者)上或四個獨立晶片上。 特定配置對於下文描述不重要。當然,其他數目之平面, 諸如1、2、8、16或更多可存在於系統中。平面按矩形個 別地劃分為圖4中所示之記憶體單元區塊,諸如位於各別 平面131至134中的區塊137、138、139及140。在每一平面 中可存在幾打或幾百個區塊。如上文所提及,記憶體單元 區塊為擦除之單位,可一起實體擦除之最小數目之記憶體 單元。然而,就增加之並行度而言,區塊以更大元區塊單 位操作。來自每一平面之一區塊經邏輯鍵接在一起以形成 元區塊。展示四個區塊137至140以形成一元區塊141。元 區塊内之所有單元通常一起擦除。用以形成元區塊之區塊 127922.doc -17- 200842578 無需限於其各別平面内之相同相對位置,如由區塊i45至 148組成的第二元區塊143中所示。儘管較佳使元區塊跨越 所:平面延伸’但是就高系統效能而言,記憶體系統可以 動態形成具有不同平面中之一個、兩個或三個區塊中之任 一者或所有的元區塊之能力而操作。此允許元區塊之大小 與在-程式化操作中可用於儲存之資料量更接近地匹配。 出於運异目的又將個別區塊劃分為記憶體單元之頁,如 圖5中所說明。舉例而言,將區塊131至134中之每一者之 ^•憶體單元每一者劃分為八個頁別至”。或者,每一區塊 内可存在16、32或更多記憶體單元之頁。頁為區塊内資料 程式化及讀取之單位,含有一次經程式化之最小資料量。 在圖3之NAND架構中,頁由區塊内沿字線之記憶體單元形 成。然而’為增加記憶體系統運算並行度,兩個或兩個以 上區塊内之此等頁可邏輯地鏈接為元頁。圖5中說明元頁 151,由來自四個區塊131至134中之每一者之一實體頁形 〇 A。舉例而言,A頁⑸包括四個區塊中之每一者之頁 P2,但是元頁的頁未必具有區塊中之每一者内之相同相對 . 位i。儘1較佳並行跨越所有四個平面程式化且讀取最大 貧料1,但是就高系統效能而言,亦可操作記憶體系統以 • 开》成具有不同平面中獨立區塊中之-個、兩個或三個頁中 之任-者或所有的元頁。此允許程式化及讀取操作適應地 ,配可便於並行處理之資料量,纟減少元頁之部分仍^以 資料程式化的情況。 如圖5中所說明,由多個平面之實體頁形成之元頁含有 127922.doc -18- 200842578 個::的沿字線列之記憶體單元。替代在相同時間 列中之所有單元’更常見地以兩個或兩個以 二 其交替程式化,每一群組儲存-資料頁(在 ▲中)或-身料7C頁(跨越多個區塊)。藉由一次程式 化交替記憶體單元,包括資料暫存器及感測放大器之周邊 電路之早元無需針對每-位元線提供,而是在相鄰的位元 線之間為時間共料。此節省周邊電路所需之基板空間量 且允許記憶體單元以增加之密度沿列封裝。料,較佳同 時程式化沿一列的每個單元以便最大化自給定記憶體系統 可用之並行度。
G 參考圖3,將資料沿列同時程式化至每隔一記憶體單元 的記憶體單it中最便利地係#由沿點仙串之至少一末端 提供兩列選擇電晶體(未圖示)來完成,替代所展示之單一 】 幻之選擇電晶體接著回應於一控制信號而將區塊内 之每隔一串的串連接至其各別位元線,且另一列的選擇電 晶體回應於另一控制_而將插入之每隔一串的串連接至 其各別位元線。兩個資料頁因此寫入每一列記憶體單元。 每一邏輯頁中之資料量通常為一或多個磁區之資料量的 正數L4知地,母一磁區含有5丨2位元組之資料。圖6展 示具有資料頁或資料元頁之兩個磁區153及155的邏輯資料 頁每一磁區通常含有具有512位元組之所儲存使用者或 系、、先ί料之部分1 5 7及另一數目之位元組的用於關於部分 1 57中的貧料或關於供儲存該等資料之實體頁或區塊之附 加項 > 料159。附加項資料之位元組之數目通常為丨6位元 127922.doc -19- 200842578 組,使得總共528位元组用於磁區153及155中的每一者。 附加項部分159可含有程式化期間自資料部分157計算之 ECC、其邏輯位址、區塊經擦除及再程式化之次數之經驗 汁數、一或多個控制旗標、操作電壓位準,及/或類似 物,加上自此等附加項資料159計算之ECC。或者,附加 項資料159或其部分可儲存於其他區塊中之不同頁中。 • 隨著記憶體之並行度增加,作為結果,元區塊之資料儲 ( #容量增加且資料頁及元頁的大小亦增加。資料頁則可含 有兩個以上磁區之資料。在兩個磁區位於一資料頁中且每 元頁兩個資料頁的情況下,一元頁中存在四個磁區。每一 元頁因此儲存2048位元組之資料。此為高並行度,且隨著 列中記憶體單元之數目增加甚至可進—步增加。出於此原 因,快閃記憶體之寬度經擴展以便增加頁及元頁中之資料 量。 、 可購得上文所識別之實體較小可再程式化非揮發性記憶 〇 卡及隨身碟其中資料储存容量可為512百萬位元組(MB)、i 十億位元組(GB)、2 GB及4 GB,且可更高。 用於處理檔案物件之技術 • 利用邏輯區塊(LBA)記憶體/主機介面之操作 圖7A、圖8A及圖9A中之每一者以不同形式說明主機盥 記憶體系統之間的共同邏輯介面。主機產生之資料斤案= 主機配置連續系統位址空間(LBA介面)中之邏輯位^,、通 常以多個磁區的資料之叢集為單位。接著記憶體系統獲知 此等邏輯位址且將其映射至實際儲存資料之記憶體單元區 127922.doc -20- 200842578 塊的實體位址。 特疋參考圖9 A ’連續邏輯位址空間16丨足夠大以提供用 於可儲存於記憶體系統中之所有資料之位址。主機位址空 間通常劃分為資料之叢集之累積。、每一叢集在給定主機系 先^可經δ又汁以含有一定數目之資料之磁區,大約在4個 磁區與64個磁區之間為典型。標準磁區含有512位元組之 使用者負料加上可選地—定數目之位元組的附加項資料 (通常為16位元組),總共528位元組。 圖9 Α說明諸如建立於記憶卡或隨身碟上之位於主機與海 里圮憶體系統之間的最常見介面。主機處理由應用程式軟 體或韌體程式(其由主機執行)產生或使用之資料檔案。"檔 案”或”槽案物件”意謂由主機辨識為用於某應用或目的之 所疋義實體之資料的群組。檔案物件之資料作為單位來管 理。文字處理檔案之資料為實例,且電腦辅助設計(cad) 軟體之圖紙檔案的冑料為另一實例,主要建立於諸如PC、 膝上型電腦及其類似物之通用電腦主機中。pdf格式之文 獻之資料亦為此檔案。檔案物件之資料可在應用程式之執 行功間由主機產生或在其他處產生且接著經提供至主機。 靜態數位視訊攝影機針對儲存於記憶卡上之每一圖片產生 資料檔案。蜂巢式電話使用來自内部記憶卡上之檔案之資 料,諸如電話薄。PDA儲存並使用若干不同檔案之資料, 諸如位址擋案、日曆稽案及其類似物。在任何此應用中, 記憶卡亦可含有操作主機之軟體。 三個檔案1、2及3在圖9A之實例中展示為已建立。主機 127922.doc 200842578 j、、先上執行之應用程式將每一檔案建立為有序資料集合且 猎由獨特名稱或其他參考識別每一播案。未準備好配置至 其他檔案之足夠可用之邏輯位址㈣自主機#派至播案 1枯案1展不為已被指派連續範圍之可用邏輯位址。通常 亦出於特定目的配置位址之範圍,諸如用於主機作業軟體 之特定範圍,接著避免該等位址範圍用於儲存資料,即使 此等位址在主機將邏輯位址指派至資料時未被使用。 當檔案2稍後由主機建立時,主機類似地指派邏輯位址 空間161内之兩個不同範圍之連續位址,如圖7中所示。檔 案無需經指派連續邏輯位址,而可為具有位於已配置至其 他檔案之位址範圍之間的位址之分段。此實例接著展示·· 由主機建立之又一檔案3經配置先前未經配置至檔案1及2 或其他資料之主機位址空間的其他部分。 主機藉由維持檔案配置表(FAT)(其中維持主機指派至各 個主機檔案之邏輯位址)來記錄記憶體邏輯位址空間。FAT 表通常儲存於非揮發性記憶體中以及主機記憶體中,且隨 著儲存新的擋案、刪除其他檔案、修改檔案及其類似情況 而由主機頻繁更新。舉例而言,當刪除主機檔案時,主機 接著藉由更新FAT表來將先前配置至已刪除之檔案之邏輯 位址解除配置以展示其目前可用於其他資料檔案。 主機不關心記憶體系統控制器選擇以儲存檔案之實體位 置。典型主機僅知曉其已配置至其各個檔案之邏輯位址空 間及邏輯位址。另一方面,記憶體系統經由典型lba主機/ 卡介面僅知曉邏輯位址空間之已供寫入資料之部分但不知 127922.doc -22- 200842578 道配置至特定主機槽案的邏輯位址,或甚至主機播案 目。記憶體系統控制器將由主機提供之用於資料之 擷取的邏輯位址轉換為供健存主機資料之快閃記憶元 陣列内之獨特實體位址。區塊163表示此等邏輯至實體: 址轉換之,作表,其由記憶體系統控制器維持。、
Ci 古記憶體系統控制器經程式化而以將系統之效能維持於較 同位準之方式將資料檔案儲存於記憶體陣列⑹的區塊及 元區塊=。四個平面或子陣列用於此說明中。跨越來自平 面中之每一者之區塊形成的整個元區塊,資料較佳以系统 允許之最大並行度程式化且讀取。通常將至少-元區塊 :67配置為保留區塊用於儲存由記憶體控制器使用之操作 初體及資料。可配置另一元區塊169或多個元區塊用於主 ^作軟體、主機FAT表及類似物之儲存。大多數實體儲 存空間仍用於資料檔案之儲存。然而,記憶體控制器不知 道主機已如何在其各個檔案物件之間配置所接收之資料。 所有記憶體控制器通常由與主機相互作用獲知··由主機寫 入至特疋邏輯位址之資料儲存於由控制器之邏輯至實體位 址表163維持的對應實體位址。 在典型記憶體系統中,提供多於必要之少數額外區塊之 儲存容量以儲存位址空間161内的資料量。可提供此等額 外區塊中之-或多者作為冗餘區塊用於替換在記憶體之壽 叩』間支為無效的其他區塊。通常可出於各種原因改變個 'Jtg區鬼内所3有之區塊之邏輯分組,包括以冗餘區塊替 、本來才曰派至元區塊的無效區塊。通常將諸如元區塊 127922.doc -23- 200842578 171之一或多個額外區塊維持於經擦除區塊集區中。當主 機將貝料寫入至記憶體系統時,控制器將由主機指派之邏 輯位址轉換為經擦除區塊集區中的元區塊内之實體位址。 未用以儲存邏輯位址空間161内之資料之其他元區塊接著 -擦除且k為㉟擦除集區區塊以用於在後繼資料寫入操 作期間使用。 '
U 隨者原始儲存之資料變得過時,由新的資料頻繁覆寫儲 存於特定主機邏輯位址處之資料。作為回應,記憶體系統 控制益將新的資料寫入於經擦除區塊中且接著改變用於彼 #邏輯位址之邏辑黾眚骑乂 、铒至貫體位址表以識別供儲存彼等邏輯位 址處的資料之新實體區塊。接著擦除含有彼等邏輯位址處 之原始資料之區塊且使其可用於新資料的儲存。若在寫入 之開始時在來自擦除區塊集區之預擦除區塊中不存在足夠 =谷κ,則此擦除常常必須在當前f料寫人操作可完成 之别發生。此可不利地影響系統資料程式化速度 控制器通常僅當主機將新資料寫人至其相㈣輯位料 知主機已使給定邏輯位卢 科位址處之資料變得過時。記憶體之許 夕區塊可因此暫時儲存此無效資料。 商用記憶體系統中所使用之區塊及元區塊之大小… 加^有效率地使用積體電路記憶體晶片的面積= 較大比例之個別資料穹 * ▼双 在nm/寫入儲存小於元區塊之儲存容量,且 在弁夕狀況下甚至小於區塊的料容量之資料量 憶體系統控制器通常將新資料引導至擦除之集區元二 所以此可導致元區塊之部 °°鬼 丨刀未被填充。若新資料為儲存於 127922.doc -24- 200842578 另一元區塊中之-些資料之更新,則亦期望將來自具有與 新資料it頁的邏輯位址連續之邏輯位址之彼其他元區塊的 資料之剩餘有效元頁以邏輯位址次序複製至新元區塊中。 舊元區塊可保持其他有效資料元頁。此隨著時間而導致個 別元區塊之一些元頁之資料變得過時且無效,並由寫入至 不同元區塊之具有相同邏輯位址之新資料替換。 為維持足夠實體記憶體空間以在整個邏輯位址空間 上儲存資料,週期性壓緊或合併(所收集之垃圾)此等資料 以便回收添加至經擦除區塊之集區的區塊。亦期望以儘可 能與磁區之邏輯位址相同之次序維持元區塊内的資料之磁 區,因為此使得讀取連續邏輯位址中之資料更有效率。因 此通常以此額外目的執行資料壓緊及垃圾收集。在接收部 分區塊資料更新時管理記憶體及元區塊之使用之_些態樣 在美國專利第6,763,424號中有所描述。 〜’ ij 資料壓緊通常涉及自元區塊讀取所有有效資料元頁且將 資料70頁寫人至新區塊,在過程中忽略具有無效資料之元 頁。亦較佳以匹配元頁中所儲存之資料之邏輯位址次序的 實體位址次序配置具有有效資料之元頁。新元區塊中所佔 據之元頁之數目將小於舊元區塊中所佔據的元頁之數目, 因為含有無效資料之元頁未被複製至新元區塊。接著擦除 舊區塊且將其添加至經擦除區塊集區以便使其可用以^ 新資料。由合併獲得之額外元頁之容量可接著肖
他資料。 I 在垃圾收集期間,自兩個或兩個以上元區塊收集具有連 127922.doc •25- 200842578 續或接近連續之邏輯位址之有效資料的元頁且將其再寫入 至另一元區塊,通常該另一元區塊為經擦除區塊集區中之 一元區塊。當所有有效資料元頁係自原始兩個或兩個以上 元區塊複製時,該等元區塊可經擦除以供將來使用。資料 合併及垃圾收集之發生隨著不同區塊中儲存之檔案的分段 的增加而增加。 資料合併及垃圾收集花費時間且可影響記憶體系統之效 能,尤其若資料合併或垃圾收集需要在可執行來自主機之 指令之前發生。此等操作通常由記憶體系統控制器排程以 儘可能在後臺中發生,但執行此等操作之需要可使控制器 必須對主機發出忙碌狀態信號,直至此操作完成。可延遲 主機指令之執行之情形的實例為如下情形:在經擦除區塊 集區中不存在足夠之預擦除的元區塊來儲存主機欲寫入至 記憶體中之所有資料及首先需要資料合併或垃圾收集以清 除可接著經擦除之一或多個元區塊的有效資料。因此注意 力已指向管理記憶體之控制以最小化此等破裂。在以下美 國專利申請案中描述許多此等技術:第10/749,831號, 2003 年 12 月 30 日申請,題為,,Management of Non-Volatile Memory Systems Having Large Erase Blocks”,現申請案第 2005/0144358 A1號;第 10/750,155號,2003 年 12 月 30 曰申 請,題為 ’’Non-Volatile Memory and Method with Block Management System,,,現專利第 7,139,864號;第 10/917,888 號,2004年 8 月 13 曰申請,題為"Non-Volatile Memory and Method with Memory Planes Alignment”,現公開案第 127922.doc -26- 200842578 2005/0141313 A1號;第 10/917,867號,2004 年 8 月 13 曰申 請,題為 ’’Non-volatile Memory and Method with Non-Sequential Update Block Management”,現公開案第 2005/0141312 A1號;第 10/917,889號,2004年 8 月 13 日申 請,題為 ’’Non-Volatile Memory and Method with Phased Program Failure Handling”,現公開案第 2005/0166087 A1 號;第10/917,725號,2004年8月13曰申請,題為”Nonvolatile Memory and Method with Control Data Management’’ , 現公開案第 2005/0144365 A1號;第 11/016,285 號,2004 年 12月16曰申請,題為”Scratch Pad Block”,現公開案第 2006/0161722 A1號;第 11/192,220 號,2005 年 7 月 27 曰申 請,題為"Non-Volatile Memory and Method with Multi-Stream Update Tracking” , 現公 開案第 2006/0155921 A1 號;第11/192,3 86號,2005年7月27曰申請,題為"Nonvolatile Memory and Method with Improved Indexing for Scratch Pad and Update Blocks”,現公開案第 2006/0155922 A1號;及第11/191,686號,2005年7月27日申請,題為 ffNon-Volatile Memory and Method with Multi-Stream Updating'* » 現公開案第2006/0155920 A1號。 有效率地控制具有極大擦除區塊之記憶體陣列之操作的 一挑戰為將在給定寫入操作期間儲存之資料磁區之數目與 記憶體的區塊之容量及邊界匹配並對準。一種方法為以小 於最大數目之區塊(如儲存小於填充整個元區塊之量的資 料量所必要之數目之區塊)組態用以儲存來自主機的新資 127922.doc -27- 200842578 料之元區塊。適應性元區塊之使用在美國專利申請案第 10/749,189 號(2003 年 12 月 30 日申請,題為 ’’Adaptive Metablocks",現公開案第2005/0144357 A1號)中有所描 述。資料之區塊之間的邊界及元區塊之間的實體邊界之配 合在專利申請案第10/841,118號(2004年5月7日申請,題為 ’’Data Boundary Management”,現公開案第 2005/0144363 A1號)及第11/016,271號(2004年12月16日申請,題為’’Data Run Programming,’,現公開案第 2005/0144367 A1號)中有 所描述。 記憶體控制器亦可使用來自由主機儲存於非揮發性記憶 體中之FAT表之資料,以更有效率地操作記憶體系統。一 種此用途為獲知資料何時已由主機藉由解除配置其邏輯位 址而識別為過時。獲知此允許記憶體控制器在其通常將藉 由主機將新資料寫入至彼等邏輯位址而得知資料過時之前 排程含有此等無效資料之區塊之擦除。此在美國專利申請 案第10/897,049號(2004年7月21日申請,題為"Method and Apparatus for Maintaining Data in Non-Volatile Memory Systems")中有所描述。其他技術包括監測將新資料寫入至 記憶體之主機模式以便推斷給定寫入操作是否為單一檔 案,或若為多個檔案,則推斷檔案之間的邊界位於何處。 美國專利申請案第11/022,369號(2004年12月23曰,題為 ’’FAT Analysis for Optimized Sequential Cluster Management”)描 述此類型之技術之使用。 為有效率地操作記憶體系統,期望控制器儘可能多地瞭 127922.doc * 28 - 200842578 解由主機私派至其個別檔案之資料之邏輯位址。資料檔案 可接著由控制器儲存於單一元區塊或元區塊之群組内,而 非在檔案邊界未知時分散於大量元區塊中。結果為資料合 併及垃圾收集操作之數目及複雜度得以減少。作為結果, 。己fe體系統之效能得以改良。但是當主機/記憶體介面包 括邏輯位址空間1 6丨(圖9A)時,記憶體控制器難以對主機 資料檔案結構瞭解很多,如上文所描述。 直接資料檔案操作
在圖7B、圖8B及圖9B中所示之主機與用於海量資料量 之儲存之記憶體系統之間的不同類型之介面消除邏輯位址 二間的使用。主機替代地藉由獨特檔案m(或其他獨特參 考)及檔案内之資料單位(諸如位元組)之偏移位址來邏輯定 址每一檔案的資料。此等位址直接被賦予記憶體系統控制 身之供實體儲存每一 器’記憶體系統控制器接著保持其 主機檔案之資料的表。此為上文交叉引用之專利申請案之 首要軚的物的操作。此檔案介面可以上文關於圖2至圖6所 描述之相同纪憶體系統實施。圖7B、圖8B及圖9B之基於 才田案之w面與圖7A、圖8A及圖9A的LBA介面之間的主要 差別為έ己憶體系統與主機系統通信及儲存檔案資料之方 式0 將圖8Β之基於檔案之介面與圖8八的LBA介面比較,圖 ^之邏輯位址空間及主機維持之FAT表在圖8B中不存在。 實情為,由主機產生之資料檔案藉由檔案號及檔案内之資 料的偏移而識別至記憶體系統。記憶體系統接著將檔案直 127922.doc -29- 200842578 接映射至記丨思體單元陣列之實體區塊。
當以直接"貝料檔案儲存技術將新資料檔案程式化至呓情 體中時,資料經寫入至記憶體單元之擦除區塊中,以區土: 中之第-實體位置開始且按次序順序遍及區塊的位置進行 寫入。以自主機接收之次序程式化資料,而不管權案内: 資料之偏移的次序。程式化持續直至已將檔案之所有資料 寫入至記憶體中。若檔案中之f料量超過單—記憶體區塊 之容量’則當第-區塊為滿時,程式化在第二經擦除的區 塊中繼續。第二記憶體區塊以與第一記憶體區塊相同之方 式經程式化’卩自第一位置之次序,直至擋案的所有資料 得以儲存或第二區塊為滿的。第三或額外區塊可以檔案之 任何剩餘資料程式化。儲存單一檔案之資料之多個=塊或 元區塊無需在實體上或邏輯上為連續的。出於易於闡述之 目的,除非另外規定,則當在本文中使用時,術語"區塊,, 意欲指代經擦除區塊單元或多個區塊"元區塊”(視特定系統 中是否使用元區塊而定)。 參考圖9B,將檔案!、2及3中之每一者之識別符及檔案 内的資料之偏移直接傳遞至記憶體控制器。此邏輯位址資 訊接著由s己憶體控制器功能173轉譯為記憶體165之元區塊 及元頁之實體位址。樯案資料未映射至圖9 A之邏輯位址空 間 161。 快閃最佳化檔案系統之原理 圖7C、圖8C及圖9C以不同形式說明操作系統,其將圖 7B、圖8B及圖9B之直接資料檔案技術與圖7A、圖8A及圖 127922.doc -30 - 200842578 9A中所包括之類型的LBA介面合併。圖%之,,快閃最佳化 檔案系統”基本上以與圖7B之”直接檔案儲存後端系統,,相 同的方式操作,不同之處在於,檔案之資料映射至圖7(:中 之LBA介面的連續位址空間内之邏輯區塊,而非映射至圖 7B中之NAND快閃的實體記憶體單元區塊。圖%之[3八介 面及”LBA至實體後端系統”與圖以之系統有共同之處。在 圖7C之系統中,直接檔案至區塊位址配置在lba介面之前 發生但與LBA介面之連續位址空間中的邏輯區塊位址作 用,而非與NAND快閃記憶體之實體區塊作用。 圖8C中以不同形式說明相同思想。將由主機產生之資料 檔案配置至儲存器裝置之邏輯位址空間中的邏輯區塊位 址。接著藉由記憶體控制器以習知方式將邏輯位址空間之 邏輯區塊映射至實體儲存媒體之區塊。此等功能在主機與 記憶體系統之間的兩種可能劃分在圖8C中說明。主要實施 例將檔案配置至主機中之邏輯區塊位址,圖式中識別為主 機1。記憶體1則為習知記憶卡或具有與主機之LB A介面連 接之LBA介面的其他裝置。或者,圖8C之主機2與記憶體 系統介接資料檔案識別符及檔案内之資料偏移。將此等檔 案配置至邏輯區塊位址之直接資料檔案功能接著在記憶體 2内執行。 圖8C之記憶體2,最常見為記憶卡、隨身碟或其他較小 的攜帶型單元之形式,可藉由提供與用於儲存器裝置的邏 輯位址空間之外部連接而額外地包括LB A介面。作為另外 替代性實施例,將檔案配置至邏輯區塊位址之功能可在包 127922.doc -31- 200842578 括微處理器之母卡中執行。接著使得母卡可與主機2可移 除地連接’且兄憶體1將可與母卡可移除地連接。 將植案物件之資料映射至邏輯位址空間之技術在圖9C中 以不同方式說明。功能1 73,接收具有個別邏輯位址之個別 檔案之資料,個別檔案具有獨特檔案識別符及檔案内的資 料之偏移位址。此等檔案位址由功能173,轉換為連續邏輯 位址空間161之邏輯區塊内之位址。個別邏輯區塊之位址 範圍經界定以具有記憶體陣列165之區塊或元區塊的相同 資料儲存容量,視由實體記憶體使用哪一單位而定。圖9C 之功能173’基本上與圖9B之功能173相同,不同之處在 於’在圖9C中檔案映射至位址空間ι61内的邏輯區塊,而 在圖9B中檔案直接映射至記憶體單元陣列165。接著在圖 9C中邏輯位址區塊由功能163轉譯至記憶體陣列丨65,與圖 9A中基本上相同。功能i63可為習知快閃記憶體作業系 統’諸如在前述美國專利第7,139,864號及先前列出之以下 公開專利申請案中所描述:2005/01413 13 A1 、 2005/0141312 A1、2005/0166087 A1、2005/0144365 A1 及 2006/0161722 A1 〇 自圖9C將注意到,位址空間161之個別邏輯區塊可含有 來自一個以上的檔案之資料的位址。又,個別檔案之資料 可經指派一個以上的邏輯區塊内之位址。舉例而言,資料 槽案2及3中之每一者經指派兩個或兩個以上邏輯區塊内之 位址。邏輯區塊亦可含有兩個不同檔案之資料;圖9C之邏 輯區塊2為此種實例。但是較佳對含有給定檔案之資料以 127922.doc -32- 200842578 及某其他檔案之資料的邏輯區塊之數目施加至少一限制。 不同限制可用於不同情形。在特定實例中,將檔案之資料 以任何一檔案可與另一 、 田系又貝杆共用不多於兩個邏輯區 塊之方式配置至位址空間1 6丨 — 王间之疋數目的邏輯區塊。可 藉由限制經允許僅以檔荦之資料 杀貝料邛刀填充之邏輯區塊的數 目而在將邏輯區塊位址指派至特 ?日/瓜主将疋檔案物件之資料期間遵 循此約束。 、
Ο 舉例而言’歸因於隨後變得過時之其他檔案之資料,此 限制保持較低量的可變為必要之資料衫位。當彼情形發 t時,給定檔案之有效資料通常係自含有另一檔案之過時 資料的區塊複製至另_區塊中。藉由限制與另—檔案之資 料/、用之、疋檔案的區塊之數目,此等資料複製操作變得 車乂不頻繁。此改良記憶體系統之效能。 多考圖1 0,說明檔案資料在邏輯及實體區塊兩者中之配 置。出於說明之目的,將實例實體記憶體單元區塊191劃 刀為四個頁195至199,但實際系統每區塊將通常含有更多 頁。每一頁儲存多個磁區之資料。資料一次經程式化一個 頁’通常以次序195至199遍及區塊進行程式化。若記憶體 系統使用7區塊,則區塊191為元區塊且頁195至199為元 頁。 # 迷輯位址空間161之邏輯區塊193映射至實體區塊1 8 1 中。邏輯區塊193經界定以具有與實體區塊191相同之資料 儲存谷1 ’且亦被劃分為與實體區塊191相同數目之頁201 至204 ’每一邏輯頁具有與實體頁195至199中的每一者相 127922.doc -33 - 200842578 同之資料储存容量。亦即 於實體記,_¥_^百1 乂佳使邏輯位址空間之粒度等 L體頁或兀頁之資料儲存容 之頁寫入實體區塊⑼中之相同痒… ”將貝枓 的邏輯頁夕v 之相同序列經指派邏輯區塊193内 料的窝入在Γ。使邏輯區塊193之第-頁201之開始處資 :了寫,在實體區塊⑼之第—頁195之開始處開始。 待維持之邏輯功能及實體功能之協 至#區塊轉譯的主機需要 丁:案 由以下參數::憶體系統之實例中,此等特性可 ^實體頁之大小,按其儲存資料之磁區的數目計; :之大小,按鏈接在一起以形成個別元頁之 目計; 3.每元區塊中之頁之數目;及 ::映射至實體元區塊之第一頁之最低邏輯位址。 猎由此資訊’主機可組態其邏輯位址 由圖1〇所說明之方式操作。若特n = 兩要维持^己k體’諸如内埋於記憶體中之記憶體,則僅 =持主機的邏輯位址空間之一組態。但更典型之狀況 (實:二實體特性之攜帶型記憶體裝置與給定主機裝置 且許多不同主機裝置)可移除地連接。因此主機内 體 1輯區塊組態㈣於與其連接之特定㈣型記憶 實體區塊配置的能力。為完成此,上文列出之記 憶體參數之資斗沐丨、,甘 1 u Μ 其可由主機讀取的方式儲存於記憶體裝 自身中。記憶體系統之控制器通常將改變任何特定邏輯 127922.doc 200842578 區塊所映射至之實體區塊,但此對主機而言為未知的且不 影響其將檔案資料的位址指派至邏輯區塊。 圖11說明含有此等參數資料之記憶體裝置207,此等參 數資料位於可由主機211經由互連匯流排213存取之非揮發 性儲存器空間209中。此等參數可以許多方式由主機讀 取。一實例為界定由主機211在記憶體裝置之初始化期間 發出至記憶體裝置207之供應商特定指令。記憶體裝置2〇7 接著操作以將所儲存之參數值傳回至主機。另一實例為此 等參數可包括於記憶體裝置207回應於來自主機之已有標 準4曰々而傳回至主機2 11之已有搁位的未使用部分中。此 指令之實例為識別磁碟指令(Identify Drive c〇mmand)。 例示性快閃最佳化檔案系統 在將個別檔案映射至連續邏輯位址空間之邏輯區塊之技 f的實例實施例之此章節中提供其他細節。此系統之一些 心樣已關於以下基本上相同之功能來描述··圖%之"快閃 最佺化檔案系統Π、圖8(:之”將檔案配置至邏輯區塊位址” 及圖9C的,,檔案/偏移至邏輯位址轉換,,173,。 此早即中對於將檔案映射至邏輯區塊位址之許多描述使 :在上文父又引用之專利申請案中所描述的將檔案映射至 :己U體單元區塊位址之相同技術。主要差別為檔案映 射係(諸如由主機I置)經由LBA介面完成,而非在先前交 又引用之專利中請案中所描述,#由將資料槽案直接映射 ::體:憶體區塊而繞過LBA介面。可替代地應用先前申 明木之貫體記憶體區塊映射技術來將資料檔案物件映射至 127922.doc -35- 200842578 LB A位址空間之邏輯區塊,本文中已描述其一些實例。 f Ο 在本文中對於邏輯上映射檔案物件之描述中,稱資料 ,,經寫入至”或”經程式化至”LBA介面之區塊。顯然,與實 際記憶體區塊相反,此等邏輯區塊未實際儲存資料,所以 此指代將資料之位址指定至特定邏輯區塊。類似地,當未 被配置資料時,稱邏輯區塊’’經擦除”。”經擦除,,之邏輯區 塊為不含有資料之位址之邏輯區塊,因此可充分用以將資 料的位址指派至其。其他邏輯區塊可”經部分擦除”,咅謂 邏輯區塊之部分可用以接收資料之額外位址。 快閃最佳化播案系統之一般操作 當新資料檔案經程式化至記憶體中時,資料經寫入至未 被佔據之邏輯區塊,以區塊中之第一位置開始且依次按順 序遍及區塊的位址進行寫入。以自主機接收之次序將資料 程式化於邏輯區塊内,而不管檔案内彼資料之偏移的次 序。程式化持續直至已將檔案之所有資料寫入。若檔案中 之資料量超過單一邏輯區塊之容量’則當第一區塊: 時,程式化在第二空(經擦除)區塊中繼續。第二邏輯區塊 以與第一邏輯區塊相同之方式經程式化,卩自第一位置之 -人序:始,直至檔案的所有資料經配置或第二區塊為滿 的:第三或額外區塊可以檔案之任何剩餘資料程式化’。儲 存單一檔案之資料之多個邏輯 科^兀塊無需為連續 的。為易於闡述,除非另外規定,當在本文、 邏輯"區塊,,意欲指代:且 用日守術語 塊最小單位相除之實體區 早位相同令置之邏輯區塊;或多 127922.doc -36 - 200842578 塊’’(視特定系統中是否使用元區塊而定),其對應於通常一 起經擦除的多個區塊實體元區塊。 圖12之圖說明快閃最佳化檔案系統之總體功能。個別邏 輯區塊可視為出於三個狀態中之一者。此等狀態為經擦除 區塊641、儲存有效檔案資料而無可回收容量之區塊643及 可含有一些有效檔案資料但亦具有來自未經程式化(經擦 • 除)的頁之可回收容量及/或其所儲存之過時(無效)資料的 區塊645。資料由功能647寫入至經擦除之邏輯區塊,進而 f、 產生種類643或645中之區塊,視所得經程式化的區塊是否 保留任何可回收之容量而定。當刪除檔案時,如由功能 649中所指示,含有檔案之資料之區塊643被轉換為具有可 回收谷置的區塊645。在於功能650中將資料自可回收區塊 複製至其他區塊(其導致使彼等區塊返回至可將新資料寫 入之經經擦除區塊641之狀態)之後,區塊645之未使用的 儲存容量由功能65 1回收。 ^ 參考圖13 A ’說明資料檔案寫入至邏輯位址空間。在此 實例中,資料檔案1 8 1大於經展示在垂直實線之間延伸之 一區塊或元區塊183之儲存容量。因此亦將資料檔案ΐ8ι之 • 部分184寫人至第二區塊185。此等邏輯區塊展示為具有連 續位址,但是其無需具有連續位址。來自檔案ΐ8ι之資料 如其為來自主機之已接收串流被寫入,直至槽案的所有資 料已寫入至邏輯位址空間。在圖13A之實例中,資料丨81為 檔案之初始資料。 ' 記憶體系統管理並記錄所儲存之資料之較佳方式為藉由 127922.doc -37- 200842578 可變大小的資料群組之使用。亦即,檔案之資料儲存為可 以界定之次序鏈接在一起以形成完全檔案的資料之複數個 群組。當來自主機之資料流經寫入時,只要在檔案資料之 邏輯偏移位址中或供配置資料的邏輯位址空間中存在不連 續,新資料群組便開始。此邏輯位址空間不連續之實例為 檔案之資料填充一邏輯區塊且開始被寫入至另一區塊的時 刻。此在圖13A中說明,其中第一資料群組填充第一區塊 183,檔案之剩餘部分184儲存於第二區塊185中作為第二 資料群組。第一資料群組可由(F〇,D〇)表示,其中F〇為資 料檔案之開始之邏輯偏移且Do為邏輯區塊183内檔案開始 處的位置。第二資料群組由(Fl,m)表示,其中Fi為儲存 於第二區塊185之開始處之資料的檔案偏移且以為第二區 塊之開始之對應邏輯位址。 經由主機至圮憶體介面而轉移之資料量可關於一定數目 之位元組的:貝/料、一定數目之磁區之資料,或以某其他粒 度來表述。當經由當前邏輯位址介面與大容量記憶體系統 通k時,主機大多數常常以位元組粒度界定其檔案之資 料,但接著將位元組分組為磁區(每一磁區具有512位元組) 或刀組為叢集(每-叢集具有多個磁區)。通常完成此以簡 化記憶體系統之操作。儘管本文中所描述之基於檔案之主 機至。己體"面可使用某其他單位的資料,但是原始主機 檔案位元組粒度通常較佳。亦即,資料偏移、長度及類似 ⑽佳關於位it組(資料之最小可分解單位)來表述,而非 藉由磁區、叢集或類似物來表述。此允許藉由本文中所描 127922.doc -38- 200842578 述之技術更有交文率地使用快閃記憶體儲存哭之容旦 以圖以中所說明之方式寫人至邏輯位址空^新 接著在檔案索引表(FIT)中表示為如下次序的資料群組之索 =項.(fo’do)、(F1,D1)之序列。亦即,只要主機系 存取特定«’主機便產生其㈣叫其他㈣符, 接者存取其FIT以識別組成彼檔案之資料群組。個別 群組之長度<length>亦可包括於其個別項巾摔 記憶體系、統。 災⑽作 只要主機將圖UA之檔案維持於打開狀態,則亦較佳唯 持寫入指標p以界定用於寫人自主機接㈣於彼檔案^ 何其他資料的邏輯位址。檔牵 田木之任何新資料在邏輯區塊中 之檔案的末端寫入’而不管稽案内之新資料之邏輯位置如 何。記憶m次允許多個㈣保持打開,諸 個此等標t,且針對其中之每—者維持一寫入指標p。或不5 冋檔案之寫入指標指向不同邏輯區塊中之位置。〜 數目之打開檔案之系統限制已存在時主機系統二-定 案,則首先關已打開的檔案中且接了開新私 案。 有且接者打開新檔 圖13B說明資料由主機附加至圖13α< 打開之檔案的末端。展示資料m ‘”、入但仍 之末端,其亦在彼檔案之資料的末:處=至:案 心附加之資料變為資料群組一部寫 含有更多資料,因為在已有資料群組184與附^因此現 之間不存在檔案或邏輯 、貝料1 89 址不連續。整個檔案因此仍在 127922.doc -39- 200842578 FIT中表示為索引項(F0,D0)、(F1,D1)之序列。指標P之位 址亦改變為所儲存之附加的資料的末端之位址。 圖13C中展示資料191之區塊插入至圖13A之先前寫入的 樓案中之實例。儘管主機將資料191插入至檔案中,但是 快閃敢佳化擒案系統將所插入之資料附加於先前寫入之槽 案資料的末端處之位置193。當將資料插入於打開檔案中 時,無需將檔案之資料以其邏輯次序重寫入,但此稍後可 在主機關閉檔案之後在後臺中完成。因為所插入之資料完 全地儲存於第二邏輯區塊丨85内,所以其形成單一新群組 (F1,D3)。但此插入之進行導致圖ΠΑ之先前資料群組 (F0,D0)劃分為兩個群組,插入前的一者(F〇,D〇)及插入之 後之一者(F2,D1)。此係因為只要存在資料之檔案不連續 則需要形成新資料群組,諸如在插入之開始F丨處及在插入 的末端F2處所發生的。群組(F3,D2)為邏輯位址D2位於第 一區塊185之開始處之結果。即使群組(F1,D3)及(F3,D2)儲 存於相同邏輯區塊中,亦維持群組(F1,D3)及(F3,D2)分 離,因為在儲存於其中之資料之檔案偏移中存在不連續。 具有此插入之原始檔案接著由資料群組索引項以如下次序 表示於m 中··(_〇)、(F1,D3)、(F2 D1)、(f3 d2)。由 圖13A、圖13B及圖13C之實例應注意,新的或已有槽案之 新資料可在未使得由邏輯區塊位址表示之任何資料過時的 情形下寫入。 作為對圖UC中所說明之將資料插入已有檔案之替代, 只要已插入資料’檔案便可由主機重寫入為獨立播案。此 127922.doc -40- 200842578 獨立仏案可接著由記憶體系統處理為新構案 由主機刪除,1系統可藉由回收指派至所儲存 邏輯位址空間來回應,舊檔案的資料現在為過時的。 圖13D說明另一實例’其中更新本來以圖13Α中所亍之 方式寫入之資料的某部分1示更新資料稽案之部分 195。不是利用更新重寫入整個檔案,而是將檔案之更新 部分m附加至^寫人的資料。先前寫人之資料之部分 199現為過時的。“新之後’權案在由資料群組索引項 以如下次序表示於系統FIT中:(F〇,D〇)、(fi,d3)、 (F2,D1)、(F3,D2)。圖 13A之單—f 料群組(F(),dg)再次割 分為_中之片& :更新部分之前的—者,更新部分及 更新部分之後的-者。期望回收由過時資料佔據之位址空 間199,但此較佳稍後完成,而並非作為寫入檔案資料之 部分。此回收將通常使得儲存特定檔案之較少數目之資料 群組。 Ο 為進一步說明可變長度資料群組之使用,按次序由圖 14A至圖14E展示涉及相同檔案之若干寫入操作的序列。 如圖14A中所示,將原始檔案資料W1首先寫入至連續位址 空間之兩個邏輯區塊中。檔案接著由兩個資料群組界定, 第一群組在邏輯區塊之開始處開始且要求第二群組在邏輯 區塊邊界之後。圖14A之檔案接著由資料群組之索引項的 以下序列描述:(F〇,DO)、(F1,D1)。 在圖14B中,主機使圖14A中寫入之檔案資料被更新。 緊接先前群組(F1,D1)之後寫入更新檔案資料1;1,更新資 127922.doc -41 - 200842578 料之先前形式變得過時。將圖14A之先前群組(F0,D0)縮短 為圖14B之修正群組(fo,d〇),且先前群組(F1,di)縮短為群 組(F4,D2)。更新資料經寫入至兩個群組(F2,d3)及 (F3,D4) ’因為其重疊邏輯區塊之邊界。資料之以一些儲 存於第三邏輯區塊中。檔案現由資料群組之索引項之以下 序列描述:(F0,D0)、(F2,D3)、(F3,D4)、(F4,D2)。 藉由主機引起新檔案資料II之插入,在圖14C中對圖14B 之檐案進一步修改。緊接圖14B之先前群組(F4,d2)將新資 料π寫入至邏輯區塊中,如圖14C之新群組(F5,D6)及 (F6,D7) ’因為所插入的資料重疊邏輯區塊之邊界。使用 第四邏輯區塊。由於新資料j丨之插入,圖丨4B之先前群組 (F0,D0)被分為圖14C中的縮短之群組(F〇,D〇)及(F7,D5)。 檐案現由貧料群組之索引項之以下序列描述:(F〇,D〇)、 (F5,D6)、(F6,D7)、(F7,D5)、(F8D3)、(F9D4)、 (F10,D2)。 圖14D展示圖14C之資料檔案之進一步修改,其將新資 料W2附加至;^案的末端。緊接圖Μ。之先前群組(Fi〇,d2) 寫入新資料W2,如圖14D之新群組(fu,D8)。槽案現由資 料群組之索引項之以下序列描述:(F〇,D〇)、(F5,D6)、 (F6,D7)、(F7,D5)、(F8,D3)、(F9D4)、(F1GD2)、 (F11,D8) 〇 圖4E中展示對打開檔案之第二更新,纟中將更新之檔 木貝料U2寫入至圖14D的檔案。在圖i4E中,緊接圖之 先前群組(FU,D8)寫人更新之資料仍,彼資料的先前形式 127922.doc -42- 200842578 k侍過日守。圖14D之先前群組(F9,D4)縮短至圖14E中之修 正的群組(F9,D4),先前群組(F1〇,D2)變為完全過時,且先 月il群組(F11,D8)經縮短以形成新群組(F14,D9)。將更新之 貧料寫入圖14E之新群組(F12,D1〇)及(f13,du),重疊邏輯
區塊邊界。現需要第五邏輯區塊用於樓案。槽案現由資料 群組之索引項之以下序列描述:(D (―)-(F,〇5) - (F8,〇3) - (F9;D4) . (F:2,m〇;, (F13,D11)、(F14,D9)。 根據先W描述,每一檔案之資料之偏移較佳在檔案的建 立或修改之後以正確邏輯次序維持連續。因此,作為將資 料插入檔案之操作之部分,舉例而言,由主機提供的所二 入資料之偏移自緊靠插入之前的偏移而為連續的,且在插 入之後檔案中已有之資料增加所插入之資料量。更新已有 檔案最常見地導致已有檔案之給定定址範圍内之資料由相 同量的更新資料替換,因此通常無需替換檔案之其他資料 之偏移。 ' 可、准持如此儲存之貧料之粒度或解析度與主機的資料之 粒度或解析度相同。舉例而纟,若主機應用程式以二位元 組粒度寫人檔案資料,則彼資料亦可以-位元組粒度表示 於邏輯區塊中。接著以一定數目之位元組量測個別資料群 ㈣之資料的量及位置。亦即’纟主機應用程式槽案内可 獨立定址之相同偏移單位之資料當儲存於快閃記憶體中時 在彼檔案内亦可獨立定址。接著將邏輯區塊内之相同檔案 之資料群組之間的任何邊界在FIT中規定成最接近之:: 127922.doc -43 - 200842578 組或其他主機偏移單位。類似地,以主機偏移之單位界定 邏輯區塊内之不同檔案之資料群組之間的邊界。 在本文中利用大區塊記憶體來使用術語"磁區,,以表示與 ECC相關聯之所儲存資料之單位n當由記憶體系統 之控制器產i此誤差校正碼且以資料儲存此誤差校正碼 時,磁區為轉移至快閃記憶體及自快閃記憶體轉移之資料 的最小單位。當引用實體記憶體時,"頁,,用以表示區塊内 記憶體單元之單位。頁為程式化之最小單位。邏輯區塊内 之邏輯’’頁’’為含有與實體頁相同資料量之頁。術語"元頁” 用以表示具有元區塊之完全並行度之頁。元頁為程式化之 最大單位。 自圖14B及圖14E應注意,更新指令導致由檔案佔據之 邏輯位址空間大於檔案中之資料量。此係因為已由更新替 換之資料之邏輯位址維持不變。十分期望藉由消除過時、 無效資料來將檔案之資料合併(垃圾收集)至較小邏輯位址 空間中。因此更多邏輯位址空間變為可用於其他資料。 亦可注意到,除圖14B及圖14E之檔案資料更新之外, 圖14C之資料插入導致檔案資料的位址變為無序。亦即, 更新及插入在其產生時經添加至檔案之末端,而其幾乎總 是定位於檔案内某處。此為圖MB、圖mc及圖14E之實例 之狀況。因此可期望跨越邏輯位址空間重定序檔案之資料 以匹配檔案内偏移之次序。此接著改良讀取所儲存資料之 速度’因為依次讀取頁及區塊將以其偏移次序給出檔案之 資料。此亦提供檔案之最大可能的重組。但重定序楷案資 127922.doc -44- 200842578 料以使讀取更有效率不如檔案資料合併對記憶體系統之效 能重要,檔案資料合併潛在地釋放一或多個區塊邏輯區塊 以用於其他資料之位址。檔案中資料之重定序將因此通常 不由其自身完成,其中盈處不值所添加之操作負擔,但可 作為藉由幾乎無添加的操作負擔之許多垃圾收集操作之部 分來完成。 由於已產生之兩個資料更新U1及U2,圖14E之檔案包括 過時資料群組(灰色部分)。作為結果,配置至檔案之邏輯 位址空間之量實質上大於檔案的大小,自圖i 4E顯而易 見。因此垃圾收集為合適的。圖15提供垃圾收集圖14E之 貝料檔案之結果的說明。在垃圾收集之前,彼檔案佔據邏 輯空間之接近五個邏輯區塊(圖14E),而在垃圾收集之後 相同檔案配合略多於三個區塊(圖15)。作為垃圾收集操作 之部分,自邏輯區塊複製資料,其中資料初始地寫入至其 他經擦除之邏輯區塊中,且接著擦除原始區塊。若整個檔 案經垃圾收集,則其資料可以與檔案内之資料邏輯偏移次 序相同之邏輯次序複製至新區塊中。舉例而言,更新U1及 ’及插入n在垃圾收集(圖15)之後以其在主機檔案中所 呈現之相同次序儲存。 基於檔案之垃圾收集亦通常導致所合併之檔案内新的及 不同的資料群組之形成。在圖丨5之狀況中,檔案由新資料 群組之索引項的以下新序列描述:(F0,D12)、(F1,D13)、 (F2’D14)、(F3,D15)。此為遠少於以圖14E中所示之檔案之 狀〜、存在的資料群組之數目。現對於檔案之資料已複製入 127922.doc -45- 200842578 之區塊中的每一者存在一資料群組。作為垃圾收集操作之 部分,更新FIT以反應形成檔案之新資料群組。 當處於圖14E之狀態時回收保持檔案之資料的區塊對區 塊個別地操作,而非對儲存相同檔案之資料之多個區塊操 作。舉例而言,若圖14E之第二區塊〇〇2含有被考慮用於給 定時刻之回收操#的位址空間之任何區塊之最少量的有效 資料’則其#一資料群組將複製至另—經擦除區塊。新區 塊則含有單-資料群組卿16)且區塊之剩餘部分為經擦 除之容量,新資料可寫人其中。彼經擦除之容量已自圖 14E中儲存彼資料之區塊回收。檔案接著由組成檔案之資 料群組之索引項的以下序列描述··(F〇,D〇)、(。,加)、 (F6,D7)、(F7,D5)、(F8,D16)、(F9D4)、(fi2d叫、 ⑻3則)、(F14,降圖14E中所示之其他區塊保持不 k: ’直至其個別地滿足回收操作之標準。 檔案區塊管理 -些《之邏輯區塊係基於儲存於其中之檔案資料的社 構來辨識。具有連續位址空間中之位址之每一樓案接著經 才示ά己為 ' 一定數目的狀離中之一各 心中之者母-檔案狀態由供儲存 ㈣之資㈣區塊之數目及類型來界定。當資料經寫入用 於檔案時’較佳控制其當前狀態及所允許之自一狀態至另 -狀態之轉變以限制含有特定擋案的資料,亦含有一或多 個其他播案之資料之區塊的數目。此促進邏輯區塊之有效 率利用且減少維持足夠之經擦除的區塊用於接受新的或複 製之資料所必要之稍後回收操作的頻率。 127922.doc -46- 200842578 在此實例中辨識之含有檔案資料之邏輯區塊的核心類型 如下: ”檔案區塊,’已被完全程式化,且表示單一檔案之有效資 料。其亦可含有一些過時資料之位址。 "程式化區塊”已被部分程式化,且表示僅單個檔案之有 效資料。區塊中仍有某經擦除之容量。其亦可含有一此過 時資料之位址。 f ”共同區塊"已被部分程式化,且表示兩個或兩個以上檔 案之有效資料。仍有某經擦除之容量。其亦可含有一些^ 時資料之位址。 "滿的共同區塊"已被完全程式化,且表示兩個或兩個以 上檔案之有效資料。其亦可表示一些過時資料。 另一類型之區塊為"經擦除區塊",其中區塊中不存在資 料位址,因此其全部容量可用以接受資料。當lba介面之 邏輯位址空間充滿或接近充滿資料位址時,通常藉由連續 c 34时所錢之邏輯區塊内存在的未制容量來維持指定 最小數目之經擦除區塊的集區。 "碎形區塊,,為指代程式化區塊、共同區塊或滿的共同區 . &之統-術語。檔案之碎形區塊含有檔案之有效資料,以 &未程式化的儲存容量、其他檔案之有效資料或該兩者。 本文中所描述之技術之主要目的為藉由管理經指定以接收 檔案的資料之作用中區塊之類型來最小化位址空間中碎形 區塊的數目。此減少邏輯位址空間中執行以維持指定最小 數目之經擦除之邏輯區塊所必要的垃圾回收及資料合併 127922.doc -47- 200842578 (區塊回收操作)之執行個體。則可供資料寫入記憶體之速 率增加,因為資料之内部複製花費較少時間來回收先前程 式化的區塊中未使用之容量之分段。 額外術語亦在本文中用以統一描述其他類型之區塊: 部分區塊"含有某未經程式化之容量、一或多個檔案之 有效資料的位址’且可表示_些過時資料。程式化區塊及 共同區塊為部分區塊之實例。
Ο "過時區塊"為含有-些過時資料之位址之標案區塊或滿 的共同區塊。過時區塊未具有任何經擦除之容量,且表示 有效及過時資料兩者。 π無效區塊”不含有效資料。無效區塊含有至少一些過時 資料之位址且可含有經擦除之容量但不表示任何有效資 料。 圖16Α至圖16D說明上文定義之類型之邏輯區塊的使用 之一些實例。在圖16Α中,檔案Α之資料已填充區塊661及 663,且部分填充苐二區塊665。資料自左至右寫入此實例 之每一區塊中,首先填充區塊661,接著區塊663且之後寫 入至區塊665之部分中。區塊665之剩餘部分為可儲存額外 資料之未經程式化經擦除的容量。藉由上文列出之定義, 區塊661及663檔案區塊,且區塊665為程式化區塊。任何 新的資料將寫入至區塊665中,在程式化指標ρ處開始。指 標Ρ隨著資料寫入至區塊十而自左至右移動以總是指向區 塊中下一可用儲存位置。維持此指標用於保留未經程式化 之經擦除之容量的個別區塊(不管當前是否在作用中),使 127922.doc -48- 200842578 得總是知道待寫入至區塊中之任何其他資料之邏輯位址。 圖16B之實例包括區塊669,其為共同區塊,因為其含有 另一檔案B之資料以及當前檔案a的資料,加上某未經程 式化之容量。將新資料寫入至區塊669中檔案a之末端處, 自展示程式化指標P處開始。區塊669為檔案A之作用中區 塊。其亦可為檔案B之作用中區塊,在該狀況下,檔案a 或B之額外資料可在程式化指標p處寫入。或者,獨立區塊 (未圖示)可為檔案B之作用中區塊。 檔案之資料可直接寫入至已含有另一檔案之資料之部分 區塊的經擦除之容量中,而非寫入經擦除區塊中,以便以 此形式良好地使用未經程式化容量。當待寫入少於滿區塊 之谷里之已知1的槽案資料時,此尤其有用。搜尋已有部 分區塊以找到配合待寫入之已知資料量之經擦除的容量大 小。將資料之頁(若使用元區塊,則元頁)之數目與部分區 塊中具有未經程式化的容量之頁之數目比較。當以此方式 程式化程式化區塊之未使用經擦除之空間時,程式化區塊 轉換為共同區塊。 在圖16C中,檔案A儲存於檔案區塊661、區塊671之部 分及區塊673之部分中。區塊671為滿的共同區塊,因為其 充滿兩個檔案A及B之資料。區塊673為程式化區塊,類似 於圖16A之區塊665。區塊673為檔案之作用中區塊且指標p 指向區塊673内將首先寫入額外資料之未使用容量的位 置。 檔案A在圖16D之實例中寫入至滿的共同區塊671及共同 127922.doc •49- 200842578 區塊675之部分中。區塊675含有第三檔案c之資料。指標p 指向作用中區塊675内將寫入額外資料之未使用部分中^ 一位置。 儘管圖16A至圖16D之實例展示儲存於多個區塊中之檔 案A的資料以便說明若干不同類型之區塊,但是在許多狀 況下檔案可足夠小以儲存於較少數目之區塊中,甚至單一 區塊中。本文中所描述之技術亦可應用於此等小檔案。 ( 又,較大檔案可佔據三個以上區塊中之頁。 應注意,邏輯區塊665、669、671、673及675為碎形區 塊。期望最小化由任一檔案之資料佔據之碎形區塊的數 目,因為其存在增加對回收其中之未使用容量之需要的可 能性且因此不利地影響系統效能。未使用之經擦除之容量 存在於部分邏輯區塊665、669、673及675中,但將來自主 機的新資料直接寫入此空間可並非為有效率的,除非已知 才虽案之未寫入資料之量且已知量匹配此等區塊中的一者之 〇 未使用容量。最常見的,不知道來自主機之用於特定檔案 之 > 料的畺,因此容量之此等位元不易於填充。資料在回 收操作期間可因此需要自另一區塊移動至未使用之空間中 以便有效率地使用記憶體容量。區塊669、671及675含有 一個以上檔案之資料,其意謂檔案中之一者被刪除或其儲 存於共同區塊中的資料變得過時時,將有可能完成資料回 收以回收由過時資料之位址佔據之區塊的容量。 因此’為減少耗時資料回收操作之數目,允許特定檔案 之資料在任一時刻儲存於僅一個、兩個或某其他數目的碎 127922.doc •50- 200842578 形區塊中。在確定允許之碎㈣塊之數 形區塊的益處與具有碎形區挣# 此约使用碎 士… 塊之不利影響相平衡。在本文 更少碎形區塊中,但不可㈣讀可儲存於兩個或 作用中區塊_槽宰之=:碎形區塊中。指定新 檔幸…… 因此受限。將所允許
、,乂、: σ —之—者指派至由供儲存檔案的資料之區 你:類型界定的每一檔案。當需要指派新作用中區塊來接 收特定檔案之資料時’諸如當已有區塊變滿時,如此指定 之區塊的類型視權案之狀態而定,且在許多狀況下,亦視 其他因素而定。
U 在特定實施例中,關於含有檔案之資料之碎形區塊之組 合’在圖17的表中給出七個所允許檔案狀態⑽至2〇之定 義。所允許播案狀態中之每—者允許資料儲存於不多於兩 個碎形區塊中。對可供儲存播案之資料之標案區塊的數目 不存在限制。檔案之狀態為用以控制待用作檔案之作用中 品鬼的區塊之選擇之性質。已選作回收區塊之區塊未作為 碎$區境來處理,因為存在於回收區塊十之標案的任何資 料不會有助於檔案之狀態之確定,因為回收區塊為過渡性 的[測裝置中已有之每個檔案之狀態並將其連同播案資 料索引資訊記錄於FIT中。只要發生任何狀態轉變,更新 針對檔案記錄之狀態。 ‘案狀悲轉變再分為二個分類,此視其與程式化資料相 關聯’與過時之資料相關聯,還是與所選回收區塊相關聯 而定。在圖18之狀態圖中說明歸因於待決的或完成的資料 127922.doc -51 - 200842578 +個檔案狀態由 的圓圈指示。 程式化操作的槽案狀態中所允許之轉變。 具有來自圖17中之表之檔案狀態識別數字 圖18之狀態轉變上之標誌具有如下意義 A·經擦除區塊經配置為檔案之作用中區塊; B -部分區塊已經填充; C-部分區塊經配置為檔案之作用中區塊; D -用於此檔案之部分區塊經配置為另一檔案之作用中 區塊;
E 對經配置為作用中區塊之經擦除區塊進行資料轉 變;及 ' F-對經配置為作用中區塊之部分區塊進行資料轉變。 當區塊經配置或區塊變滿時自動發生大多數狀態轉變。 然而,一些所定義之狀態轉變亦併有特定資料自一區塊至 另區鬼之重足位。資料經重定位以作為單一不間斷操 作,且狀態轉變被視為僅在資料重定位完成之後發生。此 等轉變被較為”資料轉變”。圖19之表提供所允許狀態轉 變之細節,參考圖18的狀態圖。 备待寫入之貧料具有已知長度時,可將部分區塊配置為 作用中區塊。在此狀況下,”最佳配合"部分區塊係選自裝 置:部:區塊之群。”最佳配合”定義為具有已知之待寫入 之資料量可有效率地使用的經擦除之容量大小之部分區 塊/在一些狀況下,若,,最佳配合,,部分區塊不存在,則 最大邛刀區塊可選為替代物。此為具有最高量之可用未 使用容量之部分區塊。 127922.doc •52- 200842578
件中之任一者使資料過時: 過時之資料之檔案狀態轉變的狀 資料之碎形區塊中所儲存的檔案 發生特定檔案之此等狀態轉變。 為特定檔案。可藉由以下四個事 1 ·檔案由主機刪除; 2·播案内之資料由主機刪除; 3·先4針對檔案寫入之資料由主機更新 4·擋案之資料在回收操作期間經重定位。 圖20之狀態轉變上之標誌具有如下意義·· G -邛分區塊中此檔案之所有資料已變得過時; Η -滿的共同區塊中此檔案或所有其他檔案之所有資 已變得過時;及 ' 1_部分區塊中所有其他檔案之所有資料已變得過時。 圖21之表提供圖20中所說明之歸因於過時資料的檔案狀 態轉變之細節。在此等情形中之任一情形下,使資料過時 使得過時資料所位於其中之區塊的類型改變,且結果在檔 案之狀態中具有改變。 當區塊選為回收區塊時,其不再處理為用於資料存在於 區塊中之權案之碎形區塊。此導致由圖22之狀態圖說明之 檔案狀態轉變。圖22之狀態轉變上之標誌具有如下意義: J -部分區塊選為回收區塊;及 Κ -滿的共同區塊選為回收區塊。 圖23之表中給出歸因於回收區塊之選擇的檔案狀態轉變 127922.doc -53- 200842578 之細節。 存在用於將檔案之資料與連續邏輯位址空間之邏輯區塊 對準的兩種替代性機制。如在上文交叉引用之專利申請案 中所描述,在對實體記憶體單元區塊之直接資料槽案系統 操作的狀況下’新播案之開始較佳與經擦除之記憶體單元 區塊的開始對準。如圖24中所說明,此亦可當直接資料播 案系統以邏輯區塊操作時完成。說明三個播案A、β及c儲 Γ Ο 存於邏輯區塊1至7中。當此等檔案中之一者之所有資料已 寫入日$,自圖24應注意,祜案的最後部分佔據部分區塊之 小部分。 圖25之表提供用於確定待配置為用以儲存檔案之資料的 作用中區塊之邏輯區塊之類型的標準。如所指示,此視檔 案之已有狀態(如由圖17之表所界定)及待程式化之資料的 主導狀況而定。即使當基於此選擇配置狀況中之一者時, 必須進-步"能性的有限集合選#區塊之_,該有限 集合如圖25之右手行中所指示視可用性而定。舉例而言, 對於配置狀況B,部分區塊為用於接收具有已知長度I資 料之優先權。首先尋找僅具有足以儲存此已知資料量之可 用(經擦除之)容量之部分區塊。但若彼部分區塊不可用, 則確定具有最大未程式化空間之部分區塊是否存在。若不 存在,則作為第三優先權,指定完全未_置(經擦除之) 區塊以接收資料,其將產生部分區塊,因為在此實例配置 中’待寫人之已知資料量小於將填充—滿區塊之 量0 127922.doc -54- 200842578 可刪除諸如圖24中之檔案A、B或C中之-者的檔案(其 維持與當首先將其寫人時之狀態相同之狀態),而並不伴 隨^需要重定位任何無關檔案之資料。但若回收操作已將 一檔案之部分區塊之資料與另一檔案的資料合併,則可刪 除該檔案,且需要重定位來自僅一區塊之其他檔案之資 料。舉例而言,若來自區塊2之播案A之資料已與區塊7中 的杈案C之資料合冑’則可刪&檔案a或檔案c,且伴隨著 (.' 而要重定位來自僅一區塊7之資料。 區塊回收為與寫入檔案資料之處理交錯之處理,其中有 效貝料係自經歷回收的區塊重定位,以便允許區塊經擦除 (八所有谷里指定為未經配置)以回收區塊中未使用之容 里。可出於以下兩個原因中之一者選擇區塊用於回收: 1 ·作為檔案已經刪除或更新之結果,區塊含有過時資 料 ί 或 ' 2·區塊為部分區塊且含有未經程式化之容量。 Q 配置至回收處理之時間之比例較佳為恆定,使得可維持 寫入新檔案資料的恆定速度。此難以達成,因為檔案寫入 處理產生必須由回收處理處理之不可預測之數目的部分區 • 塊。 ,圖24中所不之檔案至區塊映射機制之益處為其允許含有 檔案的最近寫入之資料之部分區塊持續儘可能長,直至其 k為回收操作的源區塊或目的地區塊。此增加檔案能夠在 重疋位其資料或共同區塊中無關檔案之資料中之任一者之 前被刪除的可能性。此係因為檔案之資料含於專用於彼檔 127922.doc -55- 200842578 案之區塊中。因為盔需跄 ,、 知作,所以無需時間來複製資 枓且因此記憶體系統更有效率地操作。 圖24之映射機制之劣勢為通常針對所寫人之每-檔案建 立部分區塊,且通常將需要許多部分區塊的資料之合併 以便回收其可用未經程式化(經擦除之)容量。另外,若纪 憶體控制器以自動合併來自部分寫入之區塊之資料以便回 收新的經擦除的區塊容量之方式管理實體記憶體,則由圖 24之映射機制可導致大量耗時資料複襲。因此,可期望替 代地實施圖26之替代性映射機制。此機制之主要特性為新 檔案之開始處的資料鄰接先前佔據部分區塊之無關播案之 資料。當已將檔案之所有資料寫入時’最後寫入之資料將 最常見地佔據部分區塊的小部分,但僅為臨時的。部分區 鬼中之未、..工私式化之空間即刻以經寫入以鄰接完成的檔案 之新檔案之資料填充。 圖27之表中給出圖26的機制之實施,其配置作用中區塊 以用於寫入資料。圖25之表中配置狀況a在圖27之表中由 配置狀況A1及A2替換’界定新檔案及已有檔案的獨立狀 況。 在圖26中,檔案之開始及檔案之末端兩者的資料通常與 無關檔案之資料共用m且當删除檔案時必須自兩個區 塊重定位資料。舉例而言,若刪除檔案B,則自區塊2重定 位檔案A之貧料且自區塊3重定位檔案c之資料。此接著使 知區塊2及3能夠被擦除並添加至可稍後供寫入其他資料之 經擦除(未經配置)區塊之集區。 127922.doc -56- 200842578 圖26之檑案至區塊映射機制之益處為其消除 的區塊之累積。因Λ拄宜Λ — * 刀私式化 #因為待寫入之新檔案之資料的開始鄰接部 刀品[有無關檔案之資料,所以含有檔案之最近寫入 的貝料之部分區塊未持續較長時期且因此極少部分區塊存 在於裝置中。此限制在回收操作期間必須合併來自部分區 塊之貝料之情況,且允許建立恆定时速率以 資料的恆定寫入速度。 然而,圖26之映射機制之劣勢為,其增加當刪除播案時 需要重定位無關檔案的資料之可能性,且增加每次必須重 定位之資料量。當刪除檔案時_之機制中此增加之資料 重定位的劣勢抵消相比圖24之機制之在回㈣作期間來自 部分區塊的資料之合併之減少發生的優勢。 回收區塊容量 如上文所描述’區塊管理之部分包括回收區塊中未使用 之容量以用於新資料的儲存。t儲存於記憶體系統中之資 料量遠小於其容料,此不具有特別意義,但記憶體系統 較佳經設計以如其充滿資料而操作。彼意謂僅含過時資料 之區塊及含有有效資料但亦具有一些過時資料及/或未寫 入頁之其他區塊可以回收此未使用纟量的$式加以處理。 目的為儘可能完整地使用記憶體系統之儲存容量,而同時 最小化對系統之效能的不利影響。 將經指定用於回收操作之區塊(源區塊)中之任何有效資 料複製至具有足以儲存有效資料的未經配置(經擦除之)容 量之一或多個區塊(目的地區塊)中。目的地區塊係根據上 127922.doc -57- 200842578 文所描述之區塊管理技術來選擇。將源區塊中所儲存之每 一檔案之資料複製至如上文所描述基於檔案的狀態及其他 因素選擇之類型之區塊中。圖28A至圖28D中給出不同類 型之檔案之間的資料複製之實例,其作為回收操作之部 分。 在圖28A中作為實例,說明對兩個部分區塊68 1及683 之回收操作。區塊681為儲存檔案A之有效資料同時亦含有 未儲存資料之經擦除之容量之程式化區塊。視檔案a之狀 態而定,一可能回收操作為將區塊681之檔案A的資料複製 至已包括不同檔案B之資料之另一部分區塊685的可用經擦 除之容量中,因此使區塊685成為共同區塊。接著fit中不 再引用區塊68 1之資料群組且將區塊標記為過時。當儲存 於區塊681中時,檔案A具有包括程式化區塊之狀態(參見 圖17)中之一者。接著可將資料移動至另一碎形區塊,同 時將檔案寫入至兩個碎形區塊中之最大者。在複製至區塊 685之後,檔案a已轉變至包括檔案之資料儲存於共同區塊 中之狀態(參見圖17)中之一者,其視儲存其他檔案資料之 區塊之類型而定。 圖28A之區塊683為共同區塊,其正藉由將其所儲存之檔 案C及D的資料複製至含有檔案£之資料之程式化區塊μ? 的經擦除之容量而被回收,程式化區塊687接著變為共同 區塊。接著’區塊683中之檔案CAD之資料為過時的,區 塊自身亦為過時的。標案(:及0中之每一者之狀態不變, 因為資料已自-共同區塊移動至另一共同區塊。然而,檑 127922.doc -58- 200842578 案E之狀態已改變。或者,檔案D中之每一者之資料可 彼此移動至不同區塊且無需被複製至共同區塊的可用空 間。檔案之狀態接著可能轉變至其他狀態。 圖勘中說明對實例區塊689及691之时操作。此等區 塊中之每一者為過時區塊,因為其充滿資料,充滿有效資 料及過時資料兩者。區塊689為含有檔案?之資料之播案區 塊,其一部分為過時的且剩餘部分為有效的。舉例而言, 此情形可在檔案F之更新(將新資料寫入至檔案之末端處具 有與檔案之已有資料相同的邏輯偏移之位址)期間發生, 且接著已有資料變得過時。在此實例中,將檔案?之資料 複製至含有檔案G之資料的程式化區塊6 9 3之經擦除之容量 中’導致將區塊693的類型變為共同區塊。可替代地將檔 案F之有效資料寫入至經擦除區塊,其接著將導致區塊成 為备《式化區塊。 圖28B之區塊691為含有槽案H之無效資料及標案ς的有效 資料之滿的共同區力。在此實財,將冑案I之有效資料 自區塊691複製至經擦除區塊的5中。區塊695 式化區塊。或者,若可找到良好配合,則可將樓案 = 料寫入至含有另-檔案之資料的部分區塊。目的地區塊將 視回收操作時檔案I之狀態而定。 作為圖28Α及圖·中所示之回收操作之四個特定實例 中的每-者之結果’儲存於兩個部分區塊中之資料被整合 為一體’進而使兩個區塊中的另一者僅具有過時資料。其 接著成為無效區塊。原始區塊681、683、689及691中之每 127922.doc •59- 200842578 一者之整個空間接著藉由擦除區塊而被回收,如圖28C中 所說明。經擦除區塊為回收無效區塊之結果。 圖28D展示儲存檔案j之資料之檔案區塊697的實例。當 檔案J由主機刪除時,使檔案j在區塊697中之資料及亦可 能在其他區塊中之資料成為過時的。區塊697接著變為無 效的。回收無效區塊為系統經擦除區塊集區提供經擦除區 塊。 來自圯丨思體之檔案之刪除亦通常使一或多個碎形區塊 I 1 (諸如共同區塊或滿的共同區塊)中的擋案之資料變得過 時。彼區塊接著經受回收操作,因為另一檔案之剩餘有效 資料將小於區塊之儲存容量且可為較小量。 回收操作由圖29之流程圖概括地展示。如由步驟7〇 j指 示,視特定實施例而定,維持一或多個清單以用於部分、 過時及無效區塊。根據一技術,區塊之此(等)清單係在記 憶體系統之初始化時建置,諸如當首先施加電力時。此 Q (等)清單可包括區塊之其他資訊(諸如每一區塊中有效資料 量及每一區塊中經擦除之空間量),其使得能夠一次選擇 回收區塊。此等量通常係關於區塊之頁(若使用元區 塊,則元頁)數目來量測。較佳替代性技術為將此等清單 - 維持於非揮發性記憶體中且只要區塊之狀態改變便添加或 更新區塊的項。藉由此技術,當初始化記憶體系統時,無 需掃描區塊且建置清單。作為對將所有部分、過時及無效 區塊保持於清單上之替代,僅包括具有低於某設定臨限量 之較小有效資料量的彼等區塊,因為所選回收區塊之一特 127922.doc -60- 200842578 性為其幾乎不具有需要被複製之有效資料。在許多回收操 作中需要將資料自一區塊複製至一 衣力^塊,其花費顯著時 严曰1,因此此通常首先在具有較少待複製之資料量之彼 區塊上執行。 此等區塊之清單隨㈣經寫人、更新、移動、刪除等等 而不斷地改變。導致區塊之類型在部分、過時及無效之間 . 改變之變化引發由圖29的步驟701維持之清單改變。此^ f ㊣塊中個別地儲存之有效資料量及經擦除之容量大小的改 變亦在區塊清單中標記。 在步驟703中,較佳自更新之清單上之區塊識別單一回 收區塊作為下-個以便被回收。若為部分或過時區塊,則 其為待複製至稱為目的地區塊之另一區塊之有效資料的來 源。下文描述可用以選擇源區塊之若干特定技術。 圖29之下一步驟705接著確定在當前時刻是否適合執行 回收操作,考慮回應於主機之指令而需要執行的記憶體操 〇 作。若主機已發出閒置指令,或指示將存在主機將不會預 期記憶體系、统執行特定操作之某冑間週期之類似物,則系 統在則臺中自由執行包括回收操作之内務操作。即使主機 k於將=貝料寫入至記憶體系統或自記憶體系統讀取資料, - 回收操作亦(尤其是其資料複製)可與資料寫入及讀取操作 又錯。針對應用於實體記憶體單元區塊之此交錯在申請於 2005年1〇月25日之Alan Sinclair的美國專利申請案第 11/259,423號及申請於2005年12月19日之Alan Bennett等人 之第1 1/3 12,985號中有所描述。 127922.doc -61 - 200842578 若由圖29之步驟7G5衫可進行回收操作,則處理視所 識別之回收區塊是否含有有效資料而不同,且若含有有效 資料,則處理視其是否含有多個檔案的有效資料。若為部 分區塊或過時區塊,則其藉由定義將含有有效資料,且若 為共同區塊或滿的共同區塊,則其將含有兩個或兩個以上 播案之有效資料。由步驟707確定回收區塊中是否存在有 效資料。若存在必須移動之有效資料,則識別單一播案之 資料且在下一步驟709中識別接收彼資料的目的地區塊。 (j 猎由上文關於圖17至圖19描述之處理識別目的地區塊,以 便維持有效資料所屬播案之所有資料儲存於兩個或更少碎 形區塊(在此實例中)中。如由步驟711所指示,接著開始一 檔案之有效資料自源回收區塊至目的地區塊之複製。在複 :此^資料之後’處理返回至步驟7〇7以確定另一檔案之 貝料疋否仍存在。若存在’則重複步驟7〇9及川之處理以 :於額外貝料。目的地區塊係獨立於不同檔案之資料之先 ^擇而^擇此持縯直至在步驟7〇7中確定在源區塊中 不再存在待移動之資料’在該狀況下’可根據步驟713擦 除源區塊。接著可將此區塊置於經擦除區塊 儲存新資料。 返回至圖29之步驟而,若源區塊不含有效 形為無效區塊之狀、、牙,目丨,丁六+ & Γ" 擦除源區塊。因此在:移動的有效資料。僅需 因此,在彼狀況下,處理繞過步驟7〇9及 711,如圖29中所示。 在圖29之處理之第一實施例中,由步驟7M維持部分、 127922.doc -62 - 200842578 過時及無效區塊的單一清單。渣置 ^ ^ 早β早上之個別項中包括區塊 有效資料量。在步驟703中,自清單選作為回收區塊之 區塊為具有最少有效資料之區塊。若在清單上存在一無效 區=,則將首先選擇彼區塊,因為其不具有有效資料。若 在清單上存在許多無效區塊,則選擇已存在最久之無效區 塊:若在清單上不存在無效區塊,則選擇具有最少有效資 料量之區塊作為回收區塊。藉由選擇清單上所有區塊中之 具有最少有效貧料量之區塊,則回收操作比當存在更多有 效資料待自-區塊複製至另一區塊時花費更少時間。作為 結果,以高速率維持記憶體系統之其他操作,諸如將資料 寫入至記憶體及自記憶體讀取資料之速度。以記憶體效能 之較少成本獲取最近經擦除區塊。 圖29之用於基於單一清單上碎形區塊中有效資料量選擇 源區塊之處理的第一實施例具有實施起來相對簡單之優 勢。然而,此處理可藉由亦考慮部分區塊之價值來改進。 部分區塊具有可寫入資料之經擦除之容量,而過時區塊或 無效區塊皆不含任何經擦除的容量。在過時區塊可用於儲 存新資料之前,必須將任何有效資料移出其並移動至另一 區塊中,使得接著可擦除過時區塊並使其可用於新資料之 儲存。但部分區塊具有可寫入資料之經擦除之容量而無需 經受回收操作的負擔。舉例而言,僅因為當部分區塊含有 可寫入資料之較大量之經擦除的容量時其亦含有最小有效 資料量而回收部分區塊可能並非為有益的。 因此,在圖29之處理之其他實施例中,基於部分區塊中 127922.doc -63- 200842578 存在的有效貧料量及經擦除之容量大 作為回收源區塊之候選者者選擇部分區塊 之八旦展不部分區塊中之資料 之刀里。&塊(可為元區塊)具有某數目 —或多個頁(可為元頁)及經擦除並可寫^有有效=之 其他頁。部分區塊亦可含有_或多 貝枓的-或多個 ^ ^ 有過時資料之其他 頁,如圖30之實例所示。 、 、 在圖29之處理之此等其他實施例中, i 驟701維持於—清單中 ° ”區塊杈佳由步 〇 “ °“早獨立於過時及無效區塊的
(J :二二分區塊具有極少經擦除之容量(其意謂部分區 狀態下並非極其有用)及小量需要移動之有效 1時’將部分區塊移向其清單的頭部以用於回收操作。 ί等區塊將主要含有過時資料。相反,具有大量經擦除之 今里U“胃部分區塊可能潛在地有助於儲存資料)及大量待 移動之有效資料的部分區塊將具有被識別為回收區塊之候 選者之最小可能性。时具有經擦除之容量之部分區塊並 不與回收過時區塊-樣將相同量的儲存容量添加至邏輯位 址空間。顯然’無效區塊為回收之最具吸引力之區塊,因 為其不具有有益的經擦除的容量及需要複製之有效資料。 在圖29之回收區塊識別步驟7〇3之第二實施例中由步 驟維持三個獨立清單’每—清單用於部分、過時及無 效區塊中的备—去。;^ +> 有右存在無效區塊,則回收區塊係選自 無效區塊之清單’直至彼清單中不再存在區塊。除可能的 先進先出(FIF〇)次序(其使得首先選擇清單上已存在最久之 無效區塊)之外’不存在列出有效區塊之特定次序。接 127922.doc -64- 200842578 著右不存在無效區塊,則自過時區塊清單選擇彼清單上 斤有區塊之具有最少量有效資料之區塊。 若在無效清單或過時清單中之任一者上不存在區塊,則 在/驟7G3中選擇部分區塊清單上的區塊作為回收區塊。 儘管部分區塊可選為具有最少有效資料量之區^,但是較 仏以辨4其經擦除之容量的益處之方式排列部分區塊。出 於此目的,可針對每一部分區塊計算,,回收增益”如下: 回收增益=(S - kE)/V (i) 其中S為關於區塊之資料儲存頁之總數的區塊大小,E為可 寫入資料之經擦除之容量的頁數,且v為含有需要移動至 另一區塊之有效資料之頁數。包括常數k以加權區塊之經 擦除之容量的積極效應,但可設定為1。隨著kE之值增 加,所得回收增益變小。隨著V之值增加,回收增益亦變 J在步驟703中將具有最南回收增益值之部分區塊選為 回收區塊。其他數學表達式可替代地用以關於平衡含有有 效資料對系統操作之害處及具有經擦除之容量的益處之e 及V來定義回收增益。每次區塊中存在改變(諸如每次將資 料寫入至區塊之經擦除之容量中)時,可計算回收增益, 並將其儲存為由檔案目錄或FIT維持的資訊之部分。 圖31中說明第二實施例,其展示自獨立之部分、過時及 無效區塊清單(如由圖29之步驟701維持)選擇回收區塊(圖 29之步驟703)之方法。步驟721首先確定無效區塊清單上 疋否列出區塊。若存在多個此等區塊,則由步驟723選擇 清單上已存在最久之區塊作為回收區塊。若無效區塊清單 127922.doc -65- 200842578 上不存在區塊,則由步驟725確定過時區塊清單上是否存 在項。若存在,則在多個區塊存在於過時區塊清單上之狀 況下,由步驟727選擇具有最少有效資料量之區塊作為回 收區塊。若由步驟725確定在過時區塊清單上不存在項, 貝J在步驟729中考慮部分區塊清單。當在部分區塊清單上 存在多個區塊時,將具有最高回收增益之區塊選為回收區 鬼諸如藉由使用上文等式(1),回收增益將區塊中有效資 f
料里及經擦除之容量大小考慮在内。若在部分區塊清單上 不存在區塊,則藉由返回至步驟721重複處理,直至在清 早中之-者上出現一區塊。在選擇了回收區塊之後,處理 進行至圖29之步驟705。 由圖32之流程圖展示第三實施例。圖“之步驟%3之執 行亦由步驟741開私,丰j,上, 】口步驟741在由圖29之步驟701維持的 無效區塊清早上查找項。若在無效區塊清單上存在多個 項’則由圖32之步驟743選擇最久區塊作為回收區塊。若 =區料單4存在項—步驟%確定過時區塊 月早上疋否存在項。若存在,則後繼步驟與圖3 1之實施例 同之處在於’右部分區塊清單上亦存在至少一項,則 確定是否最好自過時或部分區塊清單選擇回收區塊。、、 =步驟747識別過時區塊清單上含有最少有效資料 里< (he塊。由步驟譃中 -區塊,且若〇 B區塊清單上是否存在至少 料量之區堍J,則在步驟751中識別具有最少有效資 -巴塊步驟753接著在自料區塊清單識別之 在錯區塊清單上識収-區塊之間進行選擇。 127922.doc -66 - 200842578 出於此目的,針對在步驟75 1中自部分區塊清單識別之區 塊計算量(V+kE),項V、E及k為上文所使用之相同項。將 此量與在步驟747中自過時區塊清單識別之區塊中之有效 資料的量V比較。若部分區塊之(V+kE)量大於過時區塊之 V,則在步驟755中將過時區塊選為回收區塊。但若過時區 塊之v大於所識別部分區塊之(v+kE)量,則在步驟757中將 部分區塊選為回收區塊。 ( 藉由在與所識別過時區塊的僅有效資料V比較之前將所 識別部分區塊之經擦除之容量量找加至其有效資料V,則 處理偏向選擇過時區塊。將保留具有與所識別過時區塊相 同有效資料量之所識別部分區塊,因為其仍具有在其經擦 除之容量中儲存資料的潛在用途。事實上,將保留具有小 於過時區塊之有效資料量kE大小之有效資料量的部分區 塊。 返回至圖32之步驟745,若在過時區塊清單上不存在 〇 項’則在步驟759中確定部分區塊清單上是否列出區塊。 若不存在,則處理返回至步驟741以進行重複,直至區塊 . 置於三個清單中之一者上。若列出多個部分區塊,則在步 驟761中’將具有最少有效資料量之區塊選為回收區塊。 或者,可藉由如關於第二實施例(圖31)之步驟731所描述之 回收增益的使用選擇部分區塊。 第三實施例可替代地僅使用兩個清單。第一清單為含有 用1含有it日夺資料及無經擦除之容量之區力的項之過時區 鬼π單。替代使用如圖32中所示之獨立無效區塊清單,將 127922.doc -67- 200842578 無效及過時區塊置於單―”過時,,區塊清單上。區塊可能可 選地含有有效資料。清單中每一項具有含有界定與其相關 ^品鬼中之有效貝料1的值之欄位。清單中之項係根據此 等★ Η中之值來排序。因此在此第一清單之頭部將含有過 時資料且無有效資料之區塊(無效區塊)分組在-起。 此對第三實施例之替代性實施例中之第二清單為含有用 於含有某經擦除的儲存容量之區塊之項的部分區塊清單。 ,塊可能可選地含有有效資料。清單中每—項具有含有界 定與其相關之區塊中之有效資料量的值之攔位。清單中之 項係根據此等攔位中之值來排序。可藉由圖Μ之步驟乃3 之技術自第一或第二清單的頭部(具有最少無效資料量之 區塊)選擇區塊。 Ο 圖?表闡明根據第三實施例之此修改置於部分及過時 區U上用於回收操作的區塊之類型之細節。為置於部 分區塊清單上’區塊含有有效資料及經擦除之容量兩者。 =中疋否存在任何過時資料並無關係。為置於過時區塊 /月早上^塊含有過時資料及有效資料或經擦除之容量, 但非有效資料及經擦除之容量兩者。 結論 2管已關於本發明之例示性實施例來描述本發明之各種 ^樣’但是應理解,本發明在附Μ請專利範圍的 嗶内被給予保護。 ^ 【圖式簡單說明】 圖丁 wll說明主機及所連接之非揮發性記憶體系統; 127922.doc -68- 200842578 閃記憶體系統 圖2為用作圖丨之非揮發性記憶體之實例快 的方塊圖; 中之記憶體單元陣列的代表性電 圖3為可用於圖2之系統 路圖; 圖4說明圖2之系統之實例實體記憶體組織; 圖5展示圖4之實體記憶體之部分之展開圖; 圖6展示圖4及圖5之實體記憶體之部分的冑一步展開 圖M、圖7B及圖7C展示且對比操作可再程式化記憶體 系統之三種方法; 圖8A、圖8B及圖8C以一不同★夂·+、显- Q止, 个I j格式展不且對比如圖7 a、 圖7B及圖7C中分別展示之操作可爯 一 保作J冉私式化記憶體系統的 相同三種方法,以及與主機系統之介面; 圖9A、圖9B及圖9C以—不同格式展示且對比如圖8A、 圖8B及圖8C中分別展示之操作可再程式化記憶體系統的 相同三種方法以及與主機之介面; 圖10說明可用以實施圖9C之技術之邏輯至實體區塊映射 的實例; 圖11展示在主機與記憶體系統之間的用輯定參數以實 施圖9C及圖10中所說明之技術之相互作用; 圖12說明直接資料檔案系統之操作循環; 圖13A至圖13D展示寫入檔案之資料之四個不同實例; 圖14A至圖14E說明寫入單一資料檔案之序列; 圖15展示回收圖14E之區塊之結果; 127922.doc -69- 200842578 圖16A至圖16D展示儲存於各種所允許的區塊類型之組 合中的資料檔案之實例; 圖17為根據特定實例給出檔案之所允許狀態之表; 圖1 8為展示歸因於程式化資料之所允許之檔案狀態轉變 的狀態圖; 圖19為描述圖1 §中所展示之檔案狀態轉變之表; 圖20為展示歸因於過時資料之所允許之檔案狀態轉變的 狀態圖; 圖21為描述圖20中所展示之檔案狀態轉變之表; 圖22為展示歸因於回收區塊之所允許之檔案狀態轉變的 狀態圖; 圖23為描述圖22中所展示之播案狀態轉變之表; 圖24展示資料檔案與邏輯區塊之對準之一實施例; 圖25為展示在用於圖24之資料對準實施例之各種狀況下 作用中區塊的配置之表; 圖26展示資料播案與邏輯區塊之對準之替代性實施例; 圖27為展示用於圖26之資料對準實施例之在各種狀況下 作用中區塊的配置之表; 圖2 8 A至圖2 8 D展不區塊回收操作之實例; 圖29為概括說明回收操作之流程圖; 圖3 0說明典型部分記憶體單元區塊中所儲存之資料之類 型; 圖31提供實施圖29之流程圖之步驟中的一者之特定實施 例之細節; 127922.doc -70- 200842578 圖32提供執行圖μ之流程圖之相同步驟的替代性實施例 之細節;及 圖33為又_實施例之界定置於兩個區塊清單上之區塊類 型的表。 【主要元件符號說明】 002 弟二區塊 1 主機系統 2 記憶體 3 配合部件 4 配合部件 5 應用程式部分 6 驅動程式部分 7 快閃記憶體 8 電路、控制器 11 積體電路晶片 13 匯流排 15 記憶體晶片 17 導線 19 記憶體位址之集合 21 控制及狀態信號之集合 23 内部匯流排 25 介面電路 27 處理器 29 唯讀記憶體(ROM) 127922.doc -71 - 200842578
U 31 隨機存取記憶體(RAM) 33 電路 35 電路 37 外部接觸 39 時脈 41 平面 43 平面 45 行控制電路 47 行控制電路 49 位元線 51 位元線 53 字線 55 列控制電路 57 源電壓控制電路 59 源電壓控制電路 61 p型井電壓控制電路 63 P型井電壓控制電路 65 資料輸入/輸出電路 67 資料輸入/輸出電路 69 線 71 線 73 介面電路 75 狀態機 77 控制線 127922.doc -72- 200842578 ϋ 78 控制線 79 控制線 80 控制線 81 控制線 83 線 91 線 92 線 93 線 94 線 97 記憶體單元串 98 記憶體单元串 99 記憶體單元串 100 記憶體單元串 101 記憶體單元串 102 記憶體單元串 103 記憶體單元串 104 記憶體單元串 107 電荷儲存記憶體單元 108 電荷儲存記憶體單元 109 電荷儲存記憶體單元 110 電荷儲存記憶體單元 111 選擇電晶體 112 選擇電晶體 115 字線 127922.doc -73 - 200842578 116 字線 117 字線 118 字線 119 閘極 120 閘極 123 區塊 125 第二區塊 131 平面、子陣列、 區塊 132 平面、子陣列、 區塊 133 平面、子陣列、 區塊 134 平面、子陣列、 區塊 137 區塊 138 區塊 139 區塊 140 區塊 141 元區塊 143 元區塊 145 區塊 146 區塊 147 區塊 148 區塊 151 元頁 153 磁區 155 磁區 127922.doc -74- 200842578 Ο 157 使用者或系統資料之部分 159 附加項資料 161 連續邏輯位址空間 163 區塊、控制器之邏輯至實體位址表 165 記憶體陣列 167 元區塊 169 元區塊 171 元區塊 173 記憶體控制器功能 1731 功能、檔案/偏移至邏輯位址轉換 181 實體區塊、資料檔案 183 區塊、元區塊 184 已有資料群組、部分 185 第二區塊 187 資料 189 附加資料 191 實體記憶體單元區塊 193 邏輯區塊、位置 195 實體頁、資料檔案之部分 196 實體頁 197 實體頁、檔案之經更新部分 199 實體頁、先前寫入之資料之部分 201 頁 202 頁 127922.doc -75- 200842578 203 頁 204 頁 207 記憶體裝置 209 非揮發性儲存器空間 211 主機 213 互連匯流排 641 經擦除區塊 643 區塊 (645 區塊 647 功能 649 功能 650 功能 651 功能 661 區塊 663 區塊 665 第三區塊 u 669 區塊 671 滿的共同區塊 * 673 區塊 675 共同區塊 681 部分區塊 683 部分區塊 685 部分區塊 687 程式化區塊 127922.doc -76- 200842578
ί, 689 區塊 691 區塊 693 程式化區塊 695 經擦除區塊 697 檔案區塊 A 標誌、 Β 標言悉 C 標言志、 D 標言患 DO 位置 D1 邏輯位址 D2 邏輯位址 E 標諸 F 標言忘 FO 邏輯偏移 FI 邏輯偏移 G 標誌 H 標誌、 11 插入 J 標諸 K 標諸 P 寫入指標 PO 頁 PI 頁 127922.doc -77 200842578 P2 頁 P3 頁 P4 頁 P5 頁 P6 頁 P7 頁 U1 經更新檔案資料 U2 經更新檔案資料 W1 原始檔案資料 W2 新資料 127922.doc -78-

Claims (1)

  1. 200842578 、申睛專利範圍: ::用::主機系統經由-介面轉移槽案物件的資料之 ==經調適以用於與一具有一類型之非揮發性 連接,該非揮發性記憶體系統具有可在經再 =式化之讀4擦除之記憶體單元區塊,該方 在該介面處維持一經劃分成邏輯區塊之邏輯位址空 間, 案物件之個別播案物件内的資料指定在該等 域輯區塊中之一或多者内的位址, 在該主機内提供用以經由該介面接收資訊之能力,該 資訊係關於-與該主機連接之記憶㈣統之記憶體單^ 的個別£塊之資料储存容量,及 回應於經由該介面接收到該資訊’能夠組態該邏輯位 址空間之該等邏輯區塊之大小,以個別地具有與該資訊 指示由該記憶體系統的記憶冑單元之該等個w區塊所佔 有之資料儲存容量相同的資料儲存容量。 2·如請求項1之方法,其額外地包含: 在該主機内提供用以經由該介面接收額外資訊之能 力,該額外資訊係關於該等個別記憶體單元區塊至多個 頁之一劃分及該等個別區塊之由該記憶體系統寫入資料 的第一頁之位址,及 回應於經由該介面接收到該額外資訊而能夠進行以下 操作:組態該等邏輯區塊以個別地具有多個頁,該多個 127922.doc 200842578 頁具有與該額外資 、、十對5亥等冗憶體單元區璜之兮笠他 別多個頁指示之資料儲 仏亥專個 蔣兮笙彻,丨π 仔今里相冋的貧料儲存容量;及 將ττ亥專個別邏輯區塊 一, 鬼的最低頁位址映射至該額外資替 3· 不為該等個別記㈣單元區塊之該等第—頁之位址4 -種在一非揮發性記憶體系統中儲存檔案物件之資料之 方法,該非揮發性記憶 二- 餵糸統具有可在以該等資料再程 "之别經一起擦除之記憶體單元區塊,其中·· I輯位址工間經劃分為邏輯區塊,該等邏輯區塊個 別地具有對應於該等個別記憶體單元區塊之特性之至少 一特性, 個別檔案物件之資料經指派在該等邏輯區塊中之一或 多者内之位址, 該等邏輯區塊之位址在該記憶體系統内經映射至記憶 體單元區塊之位址, 該纪憶體系統為可與主機裝置可移除地連接, 該至少一特性之資訊儲存於該記憶體系統中, β亥主機自與其連接之該等記憶體系統中之一者讀取該 特性資訊,且 違主機組態該等位址空間邏輯區塊以與該至少一特性 對應。 4·如請求項3之方法,其中該主機自該等記憶體系統中之 一者讀取該特性資訊以作為與該主機連接的該一記憶體 系統之一初始化之部分。 5·如請求項4之方法,其中該主機回應於一由該主機發送 127922.doc 200842578 至與其連接之該一 6.如 "己饭體的指令而讀取該特性資訊。
    篆容量與該等個別記憶 體單元區塊之資料儲存容量相同,及 對應之特性包括·· ,等個別邏輯區塊之最低位址經映射至該等個別記憶 體單元區塊之最低位址。 7. 如π求項3之方法’其中該至少_對應之特性包括: =等個別邏輯區塊之該資料儲存纟量與該等個別記憶 體單元區塊之資料儲存容量相同, 欠該等個別邏輯區塊經劃分為多個頁,該多個頁用於將 ί料寫入其中,該多個頁具有與該等記憶體單元區塊之 個別多個頁相同的資料儲存容量,及 該等個別邏輯區塊之最低頁位址經映射至該等個別記 憶體單元區塊之第一頁。 8. 一種電腦系統,其包含: 一内部記憶體,其能夠儲存至少一檔案物件之資料, 一介面,其經調適以用於與一非揮發性記憶體系統連 接該非揮發性記憶體糸統包括一經組織為可一起擦除 之Α憶體單元區塊的記憶體單元陣列,及 一處理器,其經程式化以執行至少以下功能: 自一外部連接至該介面之記憶體系統讀取關於該所 連接之記憶體的該記憶體單元區塊結構之資訊, 在該介面處界定一連續邏輯位址空間,該連續邏輯 位址空間包括具有位址之區塊,該等區塊具有對應於 127922.doc 200842578 自與該介面連接之記憶體系統讀取之該 元區塊組織的特性, 體早 將該所界定之邏輯位址空間之該等區塊内的獨特位 址指派至該内部記憶體中所儲存之資料檔案物件,及 精由該等所#派邏輯位址經由該彳面轉移該等 檔案物件。 、” 9.
    10. 11. 如明求項8之電腦系統,其中該處理器經進一步程式化 以將不多於一預設數目之含有另一資料檔案物件的:址 之邏輯區塊中之位址指派至個別資料物件。 如請求項9之電腦系統,其中該預設數目為二。 如請求項8之t腦系、统,其中該處理器經進一步程式化 以· 維持該等個別邏輯區塊之一第一記錄, 坎維持具有複數個㈣狀態中之—者之該等個別所 貝案物件的一第二記錄’該複數個檔案狀態係基於 〇 該檔案之資料如何分布於複數個類型之邏輯區塊中的二 或多者中,及 將該等資料檔案物件中之—給定一者之額外 • 至基於該給定;的产兮哲 寫入 疋榀案的在該第二記錄中之該狀態選 、 類型的邏輯區塊。 12.如請求項8之電腦系統’其中該處理器經進—步程式化 127922.doc 200842578 土止二間,4連續邏輯位址空間具有具位址之個別區 该等個別區塊表示與該個別記憶體單s中所儲存之 資料量相同的資料量,及 =自附接至該介面之外部記憶體讀取該等邏輯區塊之 最低邏輯位址,該等最低邏輯位址係自該介面映射至具 有對應記憶體單元區塊開始資料儲存位址之最低實體位 址並界疋具有與該等開始記憶體單元區塊資料儲存位 址對準的開始邏輯位址之該等邏輯區塊。 13·如請求項8之電腦系統,其中該介面經進一步調適以用 於该非揮發性記憶體系統之可移除連接。
    127922.doc
TW096150403A 2006-12-26 2007-12-26 Configuration of host LBA interface with flash memory TW200842578A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/616,228 US7917686B2 (en) 2006-12-26 2006-12-26 Host system with direct data file interface configurability
US11/616,231 US8209461B2 (en) 2006-12-26 2006-12-26 Configuration of host LBA interface with flash memory

Publications (1)

Publication Number Publication Date
TW200842578A true TW200842578A (en) 2008-11-01

Family

ID=39523331

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096150403A TW200842578A (en) 2006-12-26 2007-12-26 Configuration of host LBA interface with flash memory

Country Status (2)

Country Link
TW (1) TW200842578A (zh)
WO (1) WO2008082999A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410795B (zh) * 2009-06-23 2013-10-01 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
TWI426528B (zh) * 2009-09-30 2014-02-11 Phison Electronics Corp 用於快閃記憶體的區塊管理方法、控制器與儲存系統
US8799622B2 (en) 2008-11-06 2014-08-05 Silicon Motion Inc. Method for managing a memory apparatus
US12019540B2 (en) 2023-07-05 2024-06-25 Silicon Motion, Inc. Method for managing a memory apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4206688B2 (ja) * 2002-04-15 2009-01-14 ソニー株式会社 データ処理装置及びデータ処理方法
US20060004950A1 (en) * 2004-06-30 2006-01-05 Jeffrey Wang Flash memory file system having reduced headers
WO2006133597A1 (en) * 2005-06-15 2006-12-21 Intel Corporation Using transacted writes and caching mechanism to improve write performance in multi-level cell flash memoty

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799622B2 (en) 2008-11-06 2014-08-05 Silicon Motion Inc. Method for managing a memory apparatus
TWI459195B (zh) * 2008-11-06 2014-11-01 Silicon Motion Inc 用來管理一記憶裝置之方法以及其相關之記憶裝置
US9037832B2 (en) 2008-11-06 2015-05-19 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
US10482011B2 (en) 2008-11-06 2019-11-19 Silicon Motion Inc. Method for managing a memory apparatus
US10795811B2 (en) 2008-11-06 2020-10-06 Silicon Motion, Inc. Method for managing a memory apparatus
US11074176B2 (en) 2008-11-06 2021-07-27 Silicon Motion, Inc. Method for managing a memory apparatus
US11520697B2 (en) 2008-11-06 2022-12-06 Silicon Motion, Inc. Method for managing a memory apparatus
US11748258B2 (en) 2008-11-06 2023-09-05 Silicon Motion, Inc. Method for managing a memory apparatus
TWI410795B (zh) * 2009-06-23 2013-10-01 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
TWI426528B (zh) * 2009-09-30 2014-02-11 Phison Electronics Corp 用於快閃記憶體的區塊管理方法、控制器與儲存系統
US12019540B2 (en) 2023-07-05 2024-06-25 Silicon Motion, Inc. Method for managing a memory apparatus

Also Published As

Publication number Publication date
WO2008082999A3 (en) 2008-10-02
WO2008082999A2 (en) 2008-07-10

Similar Documents

Publication Publication Date Title
TWI400608B (zh) 在一主機系統與一可重新程式化的非揮發性大量儲存系統之間傳輸資料之方法、在一快閃記憶體系統中之控制器之操作方法以及大量儲存記憶體系統
US7949845B2 (en) Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7669003B2 (en) Reprogrammable non-volatile memory systems with indexing of directly stored data files
US8880483B2 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
KR101272642B1 (ko) 플래시 메모리시스템 내의 데이터 저장 용량의 리클레이밍
TWI421684B (zh) 可再程式化非揮發性記憶體系統以及操作ㄧ非揮發性記憶體系統之方法
US8046522B2 (en) Use of a direct data file system with a continuous logical address space interface and control of file address storage in logical blocks
US8166267B2 (en) Managing a LBA interface in a direct data file memory system
US8209461B2 (en) Configuration of host LBA interface with flash memory
US7739444B2 (en) System using a direct data file system with a continuous logical address space interface
US7917686B2 (en) Host system with direct data file interface configurability
US20080155175A1 (en) Host System That Manages a LBA Interface With Flash Memory
KR101378031B1 (ko) 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리
KR101464199B1 (ko) 연속 논리 주소 공간 인터페이스를 구비한 다이렉트 데이터 파일 시스템을 사용하는 방법
KR20070116793A (ko) 플래시 메모리들에 직접 파일 데이터 프로그래밍 및 삭제
US20090164745A1 (en) System and Method for Controlling an Amount of Unprogrammed Capacity in Memory Blocks of a Mass Storage System
JP5068754B2 (ja) 改良されたホストインターフェイス
TW200844741A (en) Managing a LBA interface in a direct data file memory system
JP4441577B2 (ja) 固定サイズ格納ブロックを有するメモリシステムにおける変換データ単位格納
KR20080038368A (ko) 데이터 파일을 직접 저장하는 재프로그램가능 비휘발성메모리에 파일 데이터의 인덱싱
TW200842578A (en) Configuration of host LBA interface with flash memory