TWI262388B - Method and system for writing data to grouped pages in a block of non-volatile memory, and a memory block for storing written data in grouped pages - Google Patents
Method and system for writing data to grouped pages in a block of non-volatile memory, and a memory block for storing written data in grouped pages Download PDFInfo
- Publication number
- TWI262388B TWI262388B TW092125809A TW92125809A TWI262388B TW I262388 B TWI262388 B TW I262388B TW 092125809 A TW092125809 A TW 092125809A TW 92125809 A TW92125809 A TW 92125809A TW I262388 B TWI262388 B TW I262388B
- Authority
- TW
- Taiwan
- Prior art keywords
- group
- entity
- page
- block
- logical
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Supplying Of Containers To The Packaging Station (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
Description
1262388 九、發明說明: 【發明所屬之技術領域】 發明領域 本發明係有關於下列共同待審中之美國專利申請案:在 2002年10月28日提出申請之美國專利申請案第10/28 1,739 號案,發明名稱為:非依電性儲存系統之磨損調勻技術(代 理人文件編號:SANDP023/SDK0366.000US);在 2002 年 10 月28日提出申請之美國專利申請案第10/281,670號案,發明 名稱為:追蹤非輝發性記憶體系統中最常抹除區塊之技術 (代理人文件編號:SANDP025/SDK0366.002US);在 2002 年10月28日提出申請之美國專利申請案第10/281,824號 案,發明名稱為:追蹤非輝發性記憶體系統中最不常抹除 區塊之技術(代理人文件編號:SANDP026/SDK0366.003); 在2002年10月28曰提出申請之美國專利申請案第 10/281,631號案,發明名稱為:用以分割邏輯區塊之方法與 裝置(代理人文件編號:SANDP028/SDK0371.000US);在 2002年10月28日提出申請之美國專利申請案第10/281,762 號案,發明名稱為:用以分解與共用邏輯區塊相關聯之實 體區塊的方法與裝置(代理人文件編號: SANDP030/SDK0416.000US);在 2002年 10月 28 日提出申請 之美國專利申請案第10/281,696號案,發明名稱為:用以維 持非依電性儲存系統之抹除次數之技術(代理人文件編 號:SANDP031/SDK0420.000US);在 2002年 10 月 28 日提出 申請之美國專利申請案第10/28 1,626號案,發明名稱為:用 95650-940729.doc 1262388 以管理抹除次數區塊之方法及裝置(代理人文件編號·· SANDP03 2/SDK0420.001US);以及在 2002年 10 月 28 日提出 申請之美國專利申請案第1〇/28丨”㈧號案,發明名稱為:用 以於非輝發性記憶體内執行多頁讀取及寫入操作之方法與 裝置(代理人文件編號:SANDp〇33/SDK〇426 〇〇〇Us)等其 中,該等申請案之全部内容係包含於此處以作為參考之用。 本發明大致係有關於大量數位資料儲存系統。更詳而言 之,本發明係、有關於用以有效地寫人快閃記憶冑之區塊之 糸統與方法。 【先如技術】 發明背景 舔如快閃記憶體儲存系 , '从•一 尔、月 係因此等記憶體系統之緊密實體大小及可重複再規劃 發性記憶體之能力而增加。快閃記憶體儲存系統之緊密, 體大小可促進將此等儲存'系統使用於日漸普及之裝置内。 使用快閃記憶體儲存系統梦 亍、死之衣置包括(但不限於)數位才| 機、數位攝錄放影機、數位音樂 位4播放益、手持式個人電腦 以及全球定位裝置等。可會 劃括於快閃記憶體傷 存糸、、、先之非輝發性記,障辦 之使用與再使p U允許快閃記憶體儲存系叙 一般而言,快閃記恃髀性六 快閃UP h 可包括快閃記憶體卡』 ^ ^ Μ .4, V « , w體日日片、、且一般而言包括快Ρ 礼體構件以及控制器構件。通常 排置為可構組於置人式手 H日日片組^ 式糸統。此等總成或主機系統之^ 95650-940729.doc 1262388 者通常取得構件形式之快閃記憶體,以及其他構件,而後 將快閃記憶體及其他構件構組為主機系統。 如第u圖所示’於槽案系統中,記憶體1〇係有效地被劃 分為系統或目錄區域12及資料區域14。—般而言,於資料 槽案通常係包括於資料區域14之同時,系統區域12包括根 目錄及檔案分派圖表(FAT)。於將叢集(ciuster)之資料以例 如一次數頁之方式寫入資料區域14之同時,檔案系統可將 輕之資料’以例如一次一頁之方式寫入系統區域η。每 一叢集之大小’一般而言係與資料區域14有關之楷案的最 小大小’可加以改變。舉例言之,於執行視窗系統或磁碟 作業系統之整體系統中’叢集之大小可包括約四至二百五 十六頁0 於系統區域12中,-般而言其係一次存取一扇區或一 頁亦即田欲產生更新於系統區域12時,如同FAT之例所 不,實質上僅有-頁於任意給定時間被更新。與邏輯區塊 有關之任意更新,或與和檔案系統有關之區塊有關之任意 更新可有效地傳播至對映於此邏輯區塊之實體區塊。第^ 圖係輯區塊與實體區塊間之對映之圖式表示。邏輯區塊 52包括數頁,此等頁係個別對映於實體區塊54之頁,使得 當與邏輯區塊52有關之頁被更新時,此更新係被寫入於實 體區塊54。 田諸如邏輯頁之頁被更新時,與此頁有關之實體區塊 被寫入。傳統地,區塊可以「固定」方式或「隨機」方式 被寫入㊂區塊係以固定方式被寫入時,頁係被寫入於區 95650-940729.doc 1262388 塊之對應頁偏移處。如第2a圖所示,當邏輯區塊頁214被更 新時,與邏輯區塊頁2 14有關之内容一般而言係被寫入實體 區塊210之對應頁218。舉例言之,當邏輯區塊頁214係對應 於實體區塊頁21 8h,且實體區塊頁21 8h係為可用時,邏輯 區塊頁214之内容可被寫入實體區塊頁21 8h。當實體區塊頁 2 1 8h係為可用時,則其指示為已有效地無具有大於實體區 塊頁21 8h之頁數之於區塊2 10被寫入之頁218。 於具有大於具有欲寫入之内容之邏輯區塊頁之較高頁數 的於區塊210寫入之頁218的情形中,當區塊210係排置為可 以固定方式被寫入時,邏輯區塊頁之内容可不被寫入區塊 210。於較高頁已被寫入快閃記憶體後寫入較低頁數者係為 「失序(out-of-sequence)」寫入操作。如同熟於此技者將可 瞭解者,某些快閃媒體並不容許此種形式之操作。因此, 邏輯區塊頁之内容及頁218之内容被寫入新實體區塊。第2b 圖係諸如第2a圖之區塊210之舊區塊,及被排置為可容納舊 區塊内容之新區塊的圖式表示。當欲以固定方式將邏輯區 塊頁234之内容寫入實體區塊時,其判定區塊21〇,亦即目 前區塊,是否可被寫入。若邏輯頁234具有較區塊21〇可用 者更少之頁數,則邏輯頁234之内容可不被寫入區塊21〇。 換言之,若具有對邏輯區塊234之對應頁偏移之實體頁218 並不可用,例如已被寫入,則新實體頁230—般而言必須被 獲得以致動邏輯頁234之内容之寫入。 由於邏輯區塊234係對應於實體區塊2 10之頁218c,當區 塊230被獲得時,除頁218c之内容外,一般而言,頁218之 95650-940729.doc 1262388 内容係被複製於實體區塊230之對應頁238。代替將頁218(: 之内容複製於頁238c,邏輯區塊234之内容係被複製於頁 238c。因此,於複製或寫入操作後,頁238&、頁、及 頁238d至238g個別地含有頁218a、頁218b、及頁218廿至21以 之内容,同時,頁238c含有與邏輯頁234有關之内容。一旦 區塊230被寫入,則區塊210可被抹除。 當具有對應頁偏移之頁係可於區塊内供欲被寫入之頁用 時,以固定方式寫入區塊一般而言係有效率的。然而,當 具有對應頁偏移之頁並非可用以被寫入時,即使區塊内有 可用頁,一般而言須獲得新區塊以致動寫入操作之完成。 獲得新區塊將消耗明顯數量之計算負擔,其通常必須執行 將内容複製於新區塊之複製操作及將舊區塊抹除之抹除操 作。如熟於此技者將可瞭解者,此等操作,特別係寫入及 抹除操作係相對地昂貴。 代替固疋方式或寫入區塊,隨機方式可代替將資料寫入 區塊而實施。當以隨機方式寫入區塊時,與實質地任意邏 輯頁有關之内容可被寫入區塊之下一可用頁空間。參考第3 圖,其將說明如何以隨機方式將資料寫入區塊。當欲將邏 輯區塊頁314之内容寫入實體區塊31〇,且區塊31〇具有可用 頁時318時,邏輯區塊頁314之内容可被寫入下一連續可用 頁318。舉例言之,邏輯頁314a之内容可被寫入頁31处,同 時,邏輯頁314b之内容可被寫入頁318i。 應瞭解者為,雖然邏輯頁314b可對應於頁318c,若頁318i 係區塊3 10之下一可用頁,則邏輯頁31朴之更新内容可被寫 95650-940729.doc -10- 1262388 入頁318ι。當基本地欲讀取邏輯頁314時,一般而言其需將 區塊310之頁3 18i識別為含有與邏輯頁31仆有關之最新内 合。如圖所示,當頁318ι係區塊31〇之最後頁時,將頁318i 識別為含有與邏輯頁314b有關之内容可要求讀取區塊31〇 之所有内容,且因此,可要求相對高數量之讀取操作。實 質地經由所有區塊310讀取以存取與邏輯頁31仆有關之内 谷係相對地消耗時間。雖然已存有使用整體系統記憶體或 陕閃圮憶體快取(caching)與頁3 18有關之資訊及頁31 8之内 ☆,使得定位及存取與諸如邏輯頁314之邏輯頁有關之内容 所需之讀取操作數目可被減少的技術,此種技術將增加整 體系統之記憶體需求,或更詳言之,其將增加執行於整體 系統之軟體。 因此,吾人所欲者係可用以有效率地致動與實體區塊有 關之欲寫入及存取之頁的合併方法與裝置。亦即,吾人所 需者係一種利用固定及隨機處理兩者以致動區塊之頁可有 效率地寫入及簡易地存取之合併系統,其實質上並無需要 求相對頻繁之區塊抹除或相對大數目之讀取操作。 【發明内容】 發明概要 本發明係有關於用以有效率地致動區塊之頁之存取之系 統與方法。根據本發明之一態樣,用以將資料寫入包括被 分組為數個個別包括二或更多頁之群組之數頁之非輝發性 吕己憶體的第一區塊之方法牽涉判定此等數個群組中之第一 群組係於何時可用以接收資料。當其判定此第一群組係可 95650-940729.doc 11 1262388 用以接收資料時,此資料被寫入包括於此第一群組之第一 頁。此方法亦包括於其判定此第一群組係無法用以接收資 料時,判定此等數個群組中之第二群組係於何時可用以接 收資料,及於其判定此第二群組可用以接收資料時,將此 資料寫入包括於第二群組之第二頁。 於一實施例中,此方法亦包括於其判定此第二群組係無 法用以接收責料時,判定第二區塊係於何時可用以接收資 料。於另一實施例中,此資料係與邏輯頁有關,且此第一 區塊係為第一實體區塊。 當欲寫人—頁時,將區塊之頁分組而使得實體區塊之頁 群、,且可替代新實體群組而被獲得,可致動與寫入頁有關之 整體效率之改進。換言之,由於新區塊之群組係為可用之 可能實現性,新區塊需被獲得以致動欲寫入之資料的可能 性減少。因此,寫入處理可更為有效率地發生,至少有部 ::之原因係由於諸如一旦新區塊被獲得,被用以抹除舊區 龙之抹除處理的抹除處理之發生可明顯地減少。除此之 H由於其可於—f試詳閱群組以識別特定頁,以代替讀 資料組之讀取1 讀取儲存於特定頁之 貝取知作可更有效率地發生。 組係被判定為未包括特定之右頁群 讀取,亦— 寻疋1貝!此群短之頁即無需個別地 口貝取,亦即,實質地 取。藉由應群組之頁需被讀 式時,操作係發生於有效隨機方 π貝取刼作將較為快速,此係 之頁需被檢查之故。與群組概念有關之^堇有相同群組 ’關之寫入操作係較傳統 95650-940729.doc 12 1262388 固定處理更為快速,此係因於單一 ^^ Λ ^ ^ 只體區塊有更多位置可 i、欲寫入之頁使用之故。如此一 及抹除舊區塊之需要。 卩·^少分派新區塊 :據本發明之另一態樣’為非輝發性記憶體之部份之纪 憶體區塊包括數個劃分為至少一 赵百。~ $ μ 頁、,且及—第二頁組之 J二憶體區塊亦包括-第-群組。此第-群組包括 此弟-頁組且具有可識別第一群 一雜細珥則哭, 廿瓦第一群組之第 群群且=。此外,此記憶體區塊亦包括 '一群組包括第二頁組且具有可識別此第二群組之第二 組識別器。此第-禚細珙幻丨势於μ 士 币一拜 c罘一群組識別器係儲存於第二 施例中,包括於第-頁組之頁之順序係相對於f二一實 開始而實質地固^,且包括於第二頁組之頁:群組之 於第二群組之開始而實質地固定。 、係相對 根據本發明之再另一態樣,用以將資料寫入包 組為具有二或更多實體頁之數個實體群組之固分 發性記憶體之第一實體區塊的方法牽涉識別與第—的非輝 有關之第-資料組,判定此等數個實體群組中邏輯頁 群組係於何時與此第一邏輯群組產生關聯。此第實體 係包括於邏輯區塊之第-邏輯群組之數個邏二一:輯頁 者。若其判定此第—實體群組係與 、之 此方法亦包括判定包括於第_實想群組之;==關’ 何時可用以容納此第一資料組,及於其判定第—頁係於 可用:賴-資料組時,將第一資频寫入第;= 於實施例中,用以將資料寫入第一實體區^ 〜乃法亦 95650-940729.doc -13- 1262388 包括右其判定第一實體頁係無法用以容納第一資料纟且, 定包括於此等數個實體群組之第二實體群組係於何時^ 用,及將第一資料組寫入與第二實體群組有關之 可 頁。於此實施例中,此方法可更包括於其判定第二實髀、 組係無法適用時,判定與非輝發性記憶體有關之 A群 區塊係於何時可用以容納第一資料組。 、 於閱讀下文之詳細說明及研討圖式之各種圖表後,本& 明之此等及其他優點將更為清楚。 5 【實施方式】 較佳實施例之詳細說 儲存或再寫入更新頁所需之負擔及時間之整 少可令諸如具有置入式非輝發性記憶體晶片之整體 統的整體系統之操作更為有效率。當頁具有較其他新近寫 入頁更小之頁數時’於每次欲更新與實體區塊有關之頁 時,獲得新實體區塊將消耗明顯數量之系統資源,因此 係相對地無效率。另一方面,致動欲寫入區塊之 用 空間之實質任意頁將導致為定位特定頁而實施之過 的讀取操作。 又曰 一般而言,當實體區塊至少有一可用群組日夺,為將 寫入實體區塊’藉由分組區塊之頁,使得實體區塊之群电 可替代新實體區塊被獲得,則與寫入頁有關之整體效率可 被改進。換言之,為致動資料寫人獲得新區塊之可能 少’此係因新區塊之群組係為可用之可能實現性之… 由使用群組或次區塊,—般而言,區塊可更有效率地被= 95650-940729.doc -14 - 1262388 派。 統’或更一般言之,可自實體區塊之頁之 非輝發性記憶體裝置,一般而言包括快閃 快閃記憶體系 分組獲得利益之 記憶體卡及晶片& ^、、且。通常,快閃記憶體系統係被用以與主 機糸統一起传用 ^ 以使此主機系統可將資料寫入快閃記憶 體糸統或自快閃# # μ/ 1 σ己隐體糸統讀取資料。然而,某些快閃記 憶體系統包括罟A々a 枯置入式快閃記憶體及執行於主機上以實質地 作用為供置入式快閃記憶體用之控制器之軟體,如同下文 將參考第4C圖而說明者。參考第4a圖,其將說明包括諸如 緊㈣彻體(C〇mpactFlash Me_y)卡之非輝發性記憶 體▲置之一般主機系統。主機或電腦系統ι〇〇一般而言包括 合處理器1〇8、隨機存取記憶體(ram)ii2、及輸入/輸 出私路116通化之系統匯流排1〇4。應瞭解者為,主機系統 1〇〇可-般地包括其他構件,例如因供說明之故而未顯示之 顯示器裝置及網路裝置。 視頻播放器。然而’應瞭解者為,一般而言,主機系統⑽ 可實質地為可儲存資料或f訊,及檢索f料或資訊之任意 系統。 〜 般而=,主機系統丨00可捕捉包括(但不限於)靜態影像 :訊、音頻資訊、及視頻影像資訊等資訊。此種資訊可即 時捕捉’並以無線方式傳送至主機系統⑽。在主機系統⑽ 可實質地為任意系統的同時,主機系統1〇〇通常係為諸如數 位相機、視頻攝影機、蜂巢式通信裝置、音頻播放器、或 主機系統100亦可為僅捕捉資料,或僅檢索資料之系統 95650-940729.doc -15- 1262388 亦即,於一實施例中,域系統100可為儲存資料之專用系, 統,或主機系統100可為讀取資料之專用系統。藉由釋例, 1機系統⑽可為排置為僅寫人或儲存資料之記憶體寫入-^任擇地,主機系統100可為諸如通常係排置為可讀取或 檢索資料,且未捕捉資料之MP3播放器之裝置。 在一實施例中係為可移除之非輝發性記憶體裝置之非輝 =性记憶體裝置120係被排置為可與匯流排1〇4介接以儲存 貝汛。任選輸入/輸出電路區塊130可容許非輝發性圮 裝置m間接地與匯流排⑽介接。當以前述方式實施時,, 輸入/輸出電路區塊132係作用為可減少匯流排104之負 載,如同熟於此技者可瞭解者。非輝發性記憶體裝置12() 匕括非輝發性圮憶體丨24及任選記憶體控制系統1。於一 實施例中,非輝發性記憶體裝置120可實施於一單晶片或晶 粒上。任擇地,非輝發性記憶體裝置120可實施於一多晶片 杈組,或可形成一晶片組且可一起使用以作為非輝發性記 隐體裝置120之多個分散構件上。非輝發性記憶體裝置⑶ 之一實施例將參考第讣圖於下文作更為詳細之說明。 _ 非輝發性記憶體124,例如諸如NAND快閃記憶體之快閃 記憶體’係排置為可儲存資料,使得資料可於需要時被存 取及讀取。儲存於非輝發性記憶體124之資料亦可於適當時 抹除,雖然應瞭解者為,非輝發性記憶體124内之某些資料 係為不可抹除。儲存資料、讀取資料、及抹除資料等處理 一般而言係由記憶體控制系統128所控制,或於未存有記憶 體控制系統128時,藉由以微處理器108所執行之軟體控 95650-940729.doc -16- 1262388 制。非輝發性記怜髀】p ^ G體124之刼作可藉由本質地令非輝發性記 隱體124之扇區更為實f地且平均地磨損而加以管理,以使 非輝發性記憶體124之壽命可實f地最大化。 非輝發性記憶體裳置120已大致地說明為包括任選記憶 體控制糸統128,亦即控制器。通常,非輝發性記憶體裝置 〇可匕括供非輝發性記憶體124用之分離晶片,且記憶體 控制系統12 8,亦即控制器發揮功用。藉由釋例,於包括(但 不限於)pc卡、緊密快閃記憶體卡、多媒體卡、及保全數位 卡之非輝發性記憶體裝置包括可實施於分離晶片之控制器 的同時’其餘非輝發性記憶體裝置可不包括實施於分離晶 片之控制器。於非輝發性記憶體裝置12〇並未包括分離記憶 體及控制器晶片之一實施例中,記憶體及控制器功能可集 積於單-晶片’如同熟於此技者所瞭解者。任擇地,記憶 體控制系統128之功能性可藉由微處理㈣8而提供,如同 上文所述之非輝發性記憶體裝置12〇並未包括記憶體控制 器128之實施例。 4考第4b圖根據本發明之—實施例,非輝發性記憶體 裝置12G將更料細地說明^如同上文所說明者,非輝發性 記憶體裝置no包括非輝發性記憶體124且可包括記憶體控 制系統丨2 8。雖然於記憶體丨2 4係為諸如置入式n A n d裝置 時,非輝發性記憶體裝置120可不包括控制系統128,但記 憶體124及控制系統128 ’或控制器可為非輝發性記憶體裝 置120之主要構件。記憶體124可為形成於半導體基板上之 ^ ^T貝枓之一或多個位元係藉由將電 95650-940729.doc -17- 1262388 荷之二或更多位準中之一者儲存於記憶體晶胞之個別儲存 ::而儲存於個別記憶體晶胞。非依電性快閃電氣可抹1 唯言買記憶體卿R0M)係為供此種系統用 ^ 體之釋例。 ^。己憶 田以别述方式貫施時,控制系統128係經由匯流排b而盘 主機電腦或其他使用記憶體系統之系統通信以儲存資料: :般而言’匯流排15係為第!圖之匯流排1〇4之部份。控制 系統128亦控制可包括記憶體晶胞陣mi之記憶體124之操 作以寫入藉由主機所提供之資料、讀取主機所要求之資 料、並實施各種操作記憶體124之雜務功能。―般而言,控 制系、.先128包括具有相關非依電性軟體記憶體、各種邏輯電 路、及類似物之一般目的撕考M1 > 參 θ的微處理器。一或多個狀態機亦經 常被包括以控制特定常式之性能。 記憶體晶胞陣列11通常係、藉由控制系統128或微處理器 108而經由位址解碼器17定址。解碼器η應用正確電壓於陣 列11之閘極與位s線以規劃資料而自藉由控制系統128定 止之。己it體日日胞群組讀取資料或抹除藉由控制系、统工28定 址之記憶體晶胞群組。額外電路19包括控制取決於被規劃 於晶胞之定址群組之資料而應用於陣列元件的電壓的規劃 驅動器電路19亦包括感應放大器及其他自記憶體晶胞之 疋址群、、且肩取資料所需之電路。欲規劃於陣列11之資料, 或最近自陣列11讀取之資料通常係儲存於控制系統丨28之 緩衝器δ己憶體21。控制系統丨28通常亦含有各種供用以暫時 地儲存命令及狀態資料與類似物之暫存器。 95650-940729.doc -18- 1262388 陣列11被分割為大量之區塊〇(BL〇CK 〇)至區塊 N(BL〇CKN)記憶體晶胞。如同對快閃EEPROM系統而言係 為曰通的’區塊通常係抹除之最小單元。亦即,每一區塊 取小數目之一併被抹除之記憶體晶胞。每一區塊通常 ’、sl分為數頁。如熟於此技者將可瞭解者,頁可為規劃之 W小單7C。亦即’基本規劃操作將資料寫入記憶體晶胞之 取小一頁或自記憶體晶胞之最小一頁讀取資料。一或多個 貝料扇區通常係儲存於每一頁内。如第4b圖所示,一扇區 包括使用者資料及負擔資料。負擔資料通常包括自扇區之 使用者資料計算之錯誤校正碼(ECC)。當資料係被規劃於陣 列11時’控制系統128之部份23可計算Ecc,並於資料係自 陣列11讀取時,檢查ECC。任擇地,ECC係儲存於與其所附 屬之使用者資料不同之頁或不同之區塊。 對應於磁碟驅動機之扇區大小,使用者資料扇區通常係 為5 12位元。負擔資料通常係為額外之16位元。資料之一扇 區取常見者係被包括每一頁,但二或更多扇區可代之以形 成一頁。一般而言,任意數目之頁可形成一區塊。藉由釋 例,區塊可自8頁至512、1〇24或更多頁而形成。區塊數目 係被選擇以提供系統記憶體所欲之資料儲存容量。陣列i i 通常係被分割為數個次陣列(未顯示),每一次陣列含有區塊 比例,其於某種程度上係彼此獨立地操作以增加各種記憶 體操作執行之平行性程度。數個次陣列之使用之一釋例係 說明於美國專利第5,890,192號,該專利之全部内容在此係 作為本發明之參考資料。 95650-940729.doc -19- 1262388 广戶、施例中’非輝發性記憶體係被置入於諸如主機系 :系、、先中第4c圖係包括置入式非輝發性記憶體之主機 系、=之圖式表不。一般而言,主機或電腦系統丨5〇包括容許 换:系統1 5 0之其他構件(未顯示)之微處理器丨$ 8、 AM162、及輸入/輸出電路166通信之系統匯流排154。諸 如快閃記憶體之非輝發性記憶體m容許資訊被儲存於主 機系、、先150。介面180可被提供於非輝發性記憶體174及匯流 排1 54間以令資汛可自非輝發性記憶體174讀取及將資訊 寫入非輝發性記憶體1 74。 非輝發性記憶體174可藉由有效地執行被排置為可控制 非輝發性記憶體174之軟體或軔體中之一者或全部的微處 理器158而加以管理。亦即’微處理器158可執行諸如軟體 碼裝置或軔體碼裝置等容許控制非輝發性記憶體丨74之碼 虞置(未顯示)。可為與微處理器158内部之封裝之快閃 記憶體、分離快閃ROM、或位於非輝發性記憶體174内部之 此等碼f置,如將於下文㈣者,可令非輝發性記憶體Μ 内部之實體區塊被定位址’且可將資訊儲存於實體區塊、 可自實體區塊讀取資訊、及自實體區塊將資訊抹除。 一般而言,當使用者寫入資料時,使用者使用播案系統 有效地寫入資料。此檔案系統令資料與邏輯區塊產生關 聯’或更詳而言之,令資料與邏輯區塊之頁產生關聯,此 邏輯區塊係對映於與儲存媒體有關之實體區塊。第5圖係根 據本發明之一實施例之具有邏輯區塊的檔案系統及具有實 體區塊之媒體的圖式表示。檔案系統514之邏輯區塊包 95650-940729.doc 20- 1262388 括任意數目之頁518。包括於諸如邏輯區塊5 10a之邏輯區塊 的頁5 1 8之數目係取決於抹除單元之大小。舉例言之,當最 小抹除單元含有約三十二頁時,約三十二頁可被包括於邏 輯區塊51〇a,如圖所示。 諸如置入式快閃記憶體之媒體534之實體區塊530包括數 頁538。如同熟於此技者將可瞭解者,包括於實體區塊530 之頁538之數目通常係與包括於邏輯區塊53〇之頁518之數 目相同。 使用資料管理者或資料管理軟體,邏輯區塊51〇可被對映 於κ體區塊530,如同將於下文參考第5圖討論者。邏輯區 塊5 10與實體區塊53〇間之對映可個別為一對一對映,亦 即,位於一邏輯區塊位址之第一邏輯區塊51〇係對映於位於 實質上係與邏輯區塊位址相同之實體區塊位址的第一實體 區塊530a。然而,邏輯區塊51〇與實體區塊53〇間之對映通 吊係使位於邏輯區塊位址之第一邏輯區塊5丨並未對映於 第一實體區塊530a,而係代之以對映於諸如實體區塊53〇。 之具有與邏輯區塊位址相異之實體區塊位址之不同實體區 塊。 雖㉟輯區塊有關之頁位址組可有效地皆對應於與實 體區塊有關之頁位址組,例如,邏輯區塊可與邏輯頁〇至31 有關,同時’實體區塊可與實體1()至31有關,與給定邏輯 頁位址有關之内容可無需位於對應實體頁位址。為促進與 邏輯區塊有關且實體地含於實體區塊之所欲内容存取,盘 區塊有關之頁可被分組為數個群組或次區塊。與邏輯區塊 95650-940729.doc -21 - 1262388 有關之頁及與實體區塊有關之頁令之任一者或兩者可被分 組為群組或單元。第6圖係根據本發明之—實施例之具有被 排置為群組的頁之區塊的圖式表示。區塊_包括頁⑽。 應瞭解者為,-般而言,區塊600可為任意數目之頁6〇4。 頁604係排置為群組_…般而言區塊繼之群組副 之數目及群組608之頁604之數目兩者皆可廣泛改變。通 常,群組608之頁_之數目係被選擇為可使實質上任意叢 集大小皆可被容納。舉例言之,於某些系統中,叢集大小 可為、力四頁604。當叢集大小係約為四頁6〇4時,群组_ 之頁6〇4之數目可為四之倍數,例如,其可為每群組6〇8具 有四或八頁604。 如熟於此技者將可瞭解者,—般而言,叢集可被考慮為 可i、檔案用之最小大小。因Λ,即使當檔案系統嘗試實質 地僅對-檔案寫入一位元’全部叢集係有效地被分配予此 槽案。後續槽案通常將被寫入其他叢集。 返回至第6圖,於此圖式所顯示之實施例中,每—群組_ 包括四頁604。每一群組6〇8之頁6〇4之順序係相對於每一群 組6〇8之開始而固定。藉由釋例,群組6Q8a之頁⑼仏至6_ 之順序係為固定,如同群組嶋之頁_至6㈣之順序。 於每-群組608之頁6G4之順序係相對於每—群組6〇8之開 始而㈣的同日夺’一般而言’區塊_之群組6〇8之順序並 非固定。 、l I 一邏輯頁及實體頁包括冗餘區域及資料區 域。於說明之實施例中,冗餘區域或負擔區域可包括高達 95650-940729.doc -22- I262388 、、、勺十六位元之資訊,其包括,但不限於,可為一位元之用 以識別特定頁所歸屬之群組的群組識別器。第7圖係根據本 么明之一實施例之頁之圖式表示。頁700包括冗餘區域706 及資料區域710。一般言之,頁7〇〇包括約528位元,其中, 、、、勺有十六位元可被包括於冗餘區域706且約5 12位元可被包 括於資料區域710。雖然冗餘區域706可與頁700之最後位元 有關,於說明之實施例中,冗餘區域706係與頁700之第一 位元有關。 資料區域7 10係排置為可儲存諸如使用者資料内容之資 料内容712。冗餘區域706係排置為可包括可致動頁700之追 縱的資訊。舉例言之,冗餘區域706可包括可識別頁7〇〇係 為例如區塊内之群組的何群組之部份的群組識別器714。為 促進群組之識別,群組識別器714可為與冗餘區域7〇6有關 之第一位元,且因此可為頁7〇〇。 通常,當頁700並未被讀取,除非群組識別器714符合特 定群組之識別器時,群組識別器7丨4被讀取且檢查被產生, 例如使用整體系統之軟體或軔體以判定群組識別器7丨4是 否符合與特定群組有關之識別器。由於群組識別器714係與 頁7〇〇有關之第一位元,因此讀取群組識別器7丨4要求相對 低之負擔,且係相對地有效率。除冗餘區域706之剩餘者 外,若群組識別器7 14符合供特定群組用之識別器,則資料 712可被讀取。另一方面,若群組識別器714並未符合供特 定群組用之識別器,則資料712及冗餘區域706之剩餘者並 未被讀取。 95650-940729.doc -23 - 1262388 糟由實質地僅於群組識別器714符合特定群組之識別器 時,讀取與頁有關之所有位元,當群組識別器714並未 符合特定群組之識別器時,通常係與約527位元之㈣巧 別器有關之傳送時間可實質地被消除。換言之,當群組識 別器714並未符合特定群έ且之、 饤疋砰、、且之識別為時,與讀取或傳送頁 700之剩餘位元有關之時間可有效地被消除。 任擇地若欲項取剩餘位元,諸如,因為群組識別器7 Μ 符合特;t群組之識別器,則存取時間或發出命令讀取資料 及資料已準備自快閃記憶體傳送間所經過之時間可有效地 被節省。冗餘區域706亦可被放置於資料區域71〇之後。雖 然讀取操作於冗餘區域706係置放於資料區域7 1 〇時並非最 佳化,一般而言,如先前所述,由於較低數目之區塊抹除 作業之故,寫入操作之性能仍可被增進。 第8a圖係根據本發明之一實施例之被各自劃分為群組的 邏輯區塊及實體區塊之圖式表示。邏輯區塊8〇2及實體區塊 806係個別平均地劃分為群組810及群組814。於一實施例 中,群組810及8 14之數目通常係為二之某次方。舉例言之, 其可為邏輯區塊802之一、二、四、八群組810。 雖然應瞭解者為邏輯區塊802及實體區塊806之頁數可廣 泛地改變,邏輯區塊802及實體區塊806個別包括三十二 頁。邏輯區塊802之每一群組810包括八頁,例如群組si 〇c 包括八頁826,且實體區塊806之每一群組8 14包括八頁;例 如群組814a包括八頁834。通常,每一群組810及814之頁之 順序係實質地固定。藉由釋例,於群組810c ’第一頁826a 95650-940729.doc • 24 - 1262388 係實質地固定為「頁〇」,且第八頁82611係實質地固定為「頁 7」。因此,當群組814係排序為可使群組814a為「群組〇」 及使群組814d排序為「群組3」時,寫入實體區塊8〇6之整 體「頁30」可實質地等效於寫入群組81牝之「頁6」846g。 一般而言,實體區塊8〇6之群組8丨4之順序可為隨機選 取。群組814之實際群組數目可被儲存於頁之冗餘區域,如 上文有關第7圖之說明所示。儲存於群組8Ha之頁834之群 組數目係排置為可將頁834識別為包括於群組814a。類似 地,儲存於頁838之群組數目可將頁838識別為包括於群組 814b,儲存於頁842之群組數目可將頁842識別為包括於群 組814c,且儲存於頁846之群組數目可將頁846識別為包括 於群組8 14 d。 如圖所示,實體群組814a之頁834之資料區域,亦即,實 體「群組0」’係排置為可儲存與邏輯群組8丨〇d有關之資料。 實體群組814c之頁842亦係排置為可儲存與邏輯群組8 i〇d 有關之資料。與邏輯群組810c有關之資料係排置為可儲存 於實體群組814b之頁838的資料區域。詳言之,於說明實施 例中,與邏輯群組81〇d有關之資料係寫入實體群組81物, 而後與邏輯群組81〇c有關之資料係寫入實體群組81仆。於 寫入實體群組814b後,與邏輯群組81〇d有關之資料係再次 被寫入,此次係寫入實體群組81牧。 關於第8b圖,實體區塊8〇6之實體群組814係如何被寫入 而產生如第8a圖所示之群組關聯性之釋例將根據本發明之 一實施例說明如下。使用者可選擇將與邏輯群組“⑼之邏 95650-940729.doc -25- !262388 輯「頁l」830b有關之資料寫入實體群組8Ma,或更詳言之, _ 60所扣示之實體群組814a之實體「頁丨」83外。一旦實 體頁丨」834b被寫入,使用者可將與邏輯「頁3」83〇(1有 關之資料寫入實體群組81乜之實體「頁3」83牝,如862所 指示。 若下使用者命令係寫入與邏輯群組8 1 〇c有關之資料, 、】P使係§額外頁834係可用於實體群組8 14a時,與邏輯群 組8l〇c有關之資料被寫入實質上清空實體群組814,或實質 地係為抹除狀態之實體群組814。舉例言之,與群組以㈧之 逯輯「頁2」826c有關之資料可被寫入群組814b之實體「頁 2」83 8c,如864所指示。其餘與邏輯群組81〇c有關之頁可 被寫入群組814b,如866及868所指示。 一旦與邏輯區塊8 1 〇c有關之資料被寫入,使用者可決定 再次寫入與邏輯區塊810d有關之資料。因此,與群組81〇d 之邏輯「頁5至7」830f至h有關之資料可被寫入群組814c之 適當實體頁842,如870、872、及874所指示。通常,由於 可因實體群組814b已被寫入且於群組8 14b之後寫入群組 814a—般而言將不被容許而發生之失序(〇ut-〇f-sequence) 寫入違反之故,與邏輯「頁5至7」83 0f至h有關之資料可不 被寫入實體群組814a。因此,與邏輯群組810d有關之資料 可被定位於實體群組814a及實體群組814c。 相較於與較低整體邏輯區塊位址有關之資料,與和邏輯 區塊802有關之較高整體邏輯區塊位址有關之資料可被儲 存於具有較低整體實體區塊位址之實體區塊806之實體 95650-940729.doc -26- 1262388 頁。藉由釋例,與邏輯頁83Ob有關之整體邏輯區塊位址可 高於與邏輯頁826c有關之整體邏輯區塊位址,雖然與邏輯 頁830b有關之内容可被寫入較與邏輯頁82心有關之内容可 被寫入之實體頁838(:具有較低整體實體區塊位址之實體頁 834b 〇 於先前寫入頁係過寫入之情形中,例如,與邏輯「頁1」 83013有關之資料係於邏輯「頁1」83〇1)已被寫入「頁1」834 且實體群組814b已被寫入後之某些時候被寫入實體群組 814d(未顯示)之情形中,儲存於「頁丨」83扑之資料區域之__ 内谷可被考慮為係為無效。因此,檢索與邏輯「頁1」83〇b 有關之内容之命令可令實體區塊8〇6有效地被逆向搜尋直 至對應實體頁被發現為止。換言之,實體群組814d可先被 技哥,其後則係實體群組8 14c、實體群組8 14b、及實體群 組814a。一般而言,此逆向搜尋將可容許最近資料被存取。 於實體群組81牝至〇已被寫入之後,實體群組814d實質地 保持未分配,如圖所示。於欲寫入邏輯群組81〇b之情形中, 與邏輯群組810b有關之資料可被寫入實體群組_。亦· 即,實體群組814d可有效地被分配予邏輯群組81肋,如第 8c圖所示。與邏輯群組_有關之資料係被寫入實體群組 同時’與邏輯群組81〇c有關之資料係被寫入實體群 組mb。邏輯群組8_係與實體群組及實體群組㈣ 兩者有關。 且與邏輯群 料區域時, 當實體群組814d係被分配予邏輯群組81〇b, 組8 l〇b有關之資料係被寫入實體群組81牦之資 95650-940729.doc -27· 1262388 若與邏輯群組咖有關之資料係欲再次寫入 將資料耷入— 丹人馬入,其間將無可 之可用實體群組814。因此,諸如備用之新實體 古之’’、新2被獲得為對應於邏輯區塊802之實體區塊。換 :區塊 巧W <目刖資料,諸如者 可被合併為新實體區塊。Λ…’及新使用者資料 第8d圖係根據本發明之-實施例之邏輯區塊,亦即,第 :=圖之邏輯區塊802及合併操作後之新實體區塊間之 L之圖式表不。當第8c圖之實體區塊_之内容及與邏 輯區塊802有關之新使用者資料被合併為新實體區塊· 時應瞭解者為,諸如已有效地重寫之頁之清空及無效頁 並未被寫入新實體區塊⑽。此外,諸如因缺乏㈣圖之實 體區塊806之可用空間而提示分派新實體區塊_之資料的 新資料可有效地重寫對應於新資料之現有資料,亦即,新 資料重寫與和新資料相同之邏輯頁有關之現有資料。 一口併發生且新資料被寫入新實體區塊88〇,邏輯區塊 8〇2及新實體區塊880間之關聯性係為可使與邏輯區塊8〇2 之群組810b有關之資料被儲存於實體群組88牦、使與邏輯 區塊802之群組810c有關之資料被儲存於實體群組88仆、及 使與邏輯區塊802之群組81 〇d有關之資料被儲存於實體群 組884c。實體群組884d實質地保持為抹除狀態直至需要實 體群組884d為止。如同熟於此技者將可瞭解者,一旦資料 被合併或寫入新實體區塊880,第8a圖之原始實體區塊806 可被抹除且可作為備用實體區塊之用。 95650-940729.doc -28 · 1262388 為使存取與頁有關之群組識別^之讀取操作之發生u 效率,當讀取或寫入目前區塊之頁時,其需建立目前工作 區塊資訊圖表’例如,於第4c圖之RAMl62建立目前工作區 塊資訊圖表。第9圖係根據本發明之一實施例之目前工作區 塊貧訊圖表之圖式表示。f訊圖表9 5 Q係排置為可儲存群組 唬碼。當頁被讀取時,其群組號碼954被儲存於資訊圖表 950。儲存群組號碼954通常可減少供相同區塊之下一讀取 要求用之讀取數目,亦即,包括群組號碼為954之頁之區塊 係儲存於資訊圖表950。通常,與目前工作區塊有關之資訊 係實質地維持於資訊圖表9 5 〇。為實質地最小化整體系統之 RAM需求,資訊圖表95〇可僅為目前被存取之區塊而建立。 當不同區塊被存取時,現有資訊圖表内之資訊係被有效地 以新區塊之資訊加以替換。 參考第10a及1 〇b圖,其將說明根據本發明之一實施例之 與將和邏輯群組之部份之邏輯頁有關的内容寫入實體群組 之部份之實體頁之方法有關之步驟。將内容寫入實體頁之 處理1000開始於步驟1004,其中,欲寫入實體頁之内容被 識別。亦即,欲寫入且分配以諸如邏輯頁「A」之邏輯頁之 新資料被獲得或識別。 一旦欲寫入之内容被識別,與是否存在有對應於邏輯頁 「A」之實體群組有關之判定於步驟丨〇〇8被作成。換言之, 其判定邏輯頁「A」或更詳言之,包括邏輯頁「A」之邏輯 群組’是否與最後分配或已相關實體群組相同。若判定其 係邏輯頁「A」之最後分配實體群組,則與邏輯頁「A」有 95650-940729.doc -29- 1262388 1之内谷可被寫入之被分配貫體群組是否有可用之適者頁 有關的判定於步驟1〇12產生。是否有適當頁之判定可包括 若欲將與邏輯頁「A」有關之内容寫入被分配實體群組,是 否有失序寫入違反之判定。此判定亦可包括判定是否有可 供與邏輯頁「A」有關之内容用之被分配實體群組之未寫入 頁。 、”、、 若於步驟1012判定被分配實體群組有可用之適當頁,則 與邏輯頁「A」有關之資料或内容係於步驟10 16被寫入適當 頁。應瞭解者為,實質上任意適當方法可被用以將資料寫 入實體頁。於資料被寫入後,將資料寫入實體群組之實體 頁之處理即為完成。 任擇地’若於步驟1012判定被分配實體群組並未有可用 適當頁’則其可能指示被非配實體群組之頁皆為盈滿,或 其指示其間並未有不造成失序寫入違反之可用適當頁。因 此’處理流程自步驟1012移動至步驟1020,其中,其判定 實體區塊是否有可用實體群組。換言之,其於步驟1020判 定實體區塊是否有未與特定邏輯群組產生關聯之群組。 當其判定有可用實體群組時,則於步驟丨024,可用實體 群組係有效地被分配予包括邏輯頁「A」之邏輯群組。一旦 可用實體群組被分配予邏輯群組,與邏輯頁r A」有關之資 料或内容於步驟1 〇28被寫入新近被分配之實體群組之適當 頁。一旦資料被寫入,將資料寫入實體群組之實體頁之處 理即為完成。 返回至步驟1020及是否有被分配予邏輯頁「A」之實體區 95650-940729.doc -30- 1262388 塊之可用實體群組的判定,若其判定並未有可用實體群 組’則其意指與邏輯頁「A」有關之資料或内容可不寫入實 體區塊,亦即,目前實體區塊。據此,處理流程前進至步 驟1032 ’其中,其判定是否有可用備用實體區塊。若其判 定並未有可用備用實體區塊,則步驟1036有一例外,其 不1邏輯頁「A」有關之内容可不被寫入。一旦產生此例外, 將資^寫入實體群組之實體頁之處理被中止,且通常報導 =:扣不。控制器軟體及軔體之設計將正常地防止此情形 實質^發生’除非快閃記憶體被平均地利用至其壽命終點: 另一方面’若其於步驟购判定有可用備用實體區塊, 備用實體區塊於步驟1G倾分派以供與包括邏輯頁「A 邏輯區塊使用。而後,於步驟1〇44,來自先前被分配^包 :邏輯頁「A」之邏輯區塊之「舊」實體區塊之有效資料被 合併於「新」或傷用實體區塊之群組。此外,新 於步驟1004獲得之與邏輯p 、 或 、铒貝A」有關之内容被寫入與 貫體區塊有關的群組之頁 貝於术自售實體區塊之有效資 被合併於備用實體區塊 、枓 — 俊舊實體區塊於步驟1048被抹 除。抹除舊實體區塊可令舊實 塊,諸如,若舊實體二Ι Γ序使用為備用區 …… 未實質地達到其壽命終點。- 理被中止。 貝科寫入實體群組之實體頁之處 -=與將區塊之頁分組有關之功能性 體,诸如程式瑪裝置或主機系統之㈣。與用以開始磨: S周勻之軟體或設於主機系 ^ D 1貝 光之初體有關之適當系統架構的 95650-940729.doc -31 - 1262388 貫她例係顯示於第11圖。一般而言,系統架構900包括各種 可包括但不限於應用介面模組904、系統管理者模組908、 為料官理者模組912、資料整體性管理者916、及裝置管理 者及”面模組920等模組。一般而言,系統架構9〇〇可使用 可以諸如第4a圖之處理器1〇8之處理器存取之軟體碼裝置 或初藉而實施。 一般而言,應用介面模組9〇4可排置為可與主機、作業系 、’、先使用者直接通信。應用介面模組9〇4亦可與系統管理者模 組908及資料管理者模組912通信。當使用者要求讀取、寫 入、或格式化快閃記憶體時,使用者傳送要求至作業系統, 此等要求被送至應用介面模組9〇4。取決於此等要求,應用 ”面模組904將此等要求導至系統管理者模組9〇8或資料管 理者模組912。 系統官理者模組908包括系統初始化次模組924、抹除次 品鬼笞理-人模組926、及功率管理區塊次模組93〇。一般 而3,系統初始化次模組924係排置為可致動欲處理之初始 化要求,且通常與抹除次數區塊管理次模組926通信。抹除 更新之功能性。抹除次數之使用係說明於共同待審查之於 數區塊官理次模組926包括儲存區塊之抹除次數的功能 及汁异平均抹除次數之功能性,及使用個別抹除次數 〇 年10月28日提出申請之美國專利申請案第1〇/28 I?” :案(代理人文件編號為SANDp〇23),該申請案之全部内容 係於此處被包含作為參考之用。 示/、應用介面模組904通信外,系統管理者模組908亦係 95650-940729.doc -32- 1262388 與資料管理者模組912及裝置管理者及介面模組92〇通信。 與系統管理者模組908及應用介面模組9〇4兩者通信之資料 官理者模組912可包括提供有效地將邏輯扇區自譯為實體 扇區之扇區對映。亦即,資料管理者模組912係排置為可將 邏輯區塊對映於實體區塊。資料管理者模組912亦可包括與 作業系統及槽案系統介面層有關之功能性。 與系統管理者模組908、資料管理者912、及資料整體性 &理者91 6通佗之裝置管理者及介面模組92〇通常提供快閃 記憶體介面’且包括與硬體摘要有關之諸如1/〇介面之功能 性。貝料整體性官理者模組916可提供其他功能性之Ecc掌 握。 雖然本發明僅就數個實施例加以說明,但應瞭解者為, 於不悖離本發明之精神或範圍之情況下,本發明可以其他 特定形式實施。藉由釋例,於邏輯區塊之邏輯群組及實體 區塊之對應實體群組已說明為具有實質相同之大小的同 時,一般而言,邏輯群組及實體群組可為不同之大小。換 言之,包括於邏輯群組之頁數及包括於實體群組之對應於 邏輯群組之頁數可不相同。 與本發明有關各種方法之步驟可廣泛地改變。一般而 精神的情形下,此等步驟可 。因此,目前之釋例係考量 用,且本發明並未限於此處 之申請專利範圍之範圍内進 言,於不悖離本發明之範圍之 增加、移除、再排組、及改變 為供說明之用,而非供限制之 所詳述之說明’而係可於附隨 行修改者。 95650-940729.doc -33 - 1262388 【圖式簡單說明】 第1 a圖係以檔幸条 糸、统有效劃分之記憶體之圖式表干。 弟lb圖係邏輯區 Μ表不 故。 、耳® ^塊間之對映之圖式矣千。 第2a圖係排置為可 ㈡式表不。 ^ ^ 内與固疋方式之邏輯區璜百右旧 内谷的實體區塊之圖式表示。 鬼頁有關之 第2b圖係諸如第以 可容納舊區塊之内容:新::「之售實體區塊及… _ 的新只體區塊之圖式表示。 弟3圖係欲以隨機古斗 成方式寫入與邏輯區塊頁有關之内 實體區塊的圖式表示。 貞有關之内办之 第h圖係包括非輝發 示。 %性°己憶體之一般主機系統之圖式表 憶體裝置的 第4b圖係諸如第牦圖之記憶體裝置⑶之記 圖式表示。 表示 第4c圖係包括置入式非輝發性記憶體之主機系 統之圖式 之檔案 組之頁 /弟5圖係根據本發明之一實施例之具有邏輯區塊 系統及具有實冑區塊之媒體之圖式圖表示。 弟6圖係根據本發明之一實施例之具有排置為群 之區塊之圖式表示。 第7圖係根據本發明之一實施例之頁之圖式表示。 弟h圖係根據本發明之—實施例之個㈣分為群組之邏 輯區塊及實體區塊之圖式表示。 第8b圖係根據本發明之一實施例之邏輯區塊及實體區 塊,亦即,第8a圖之邏輯區塊802及實體區塊8〇6之指示實 95650-940729.doc -34- 1262388 體區塊之群組係如何被寫入之圖式表厂、。 示區 第8c圖係根據本發明之-實施例之邏輯區塊及 塊,亦即,第8a圖之邏輯區塊802及實體區塊8〇6之指-區 塊之群組係如何產生關聯之圖式表示。 ^ 第8d圖係根據本發明之—實施例之邏輯區塊,… 8a至8c圖之邏輯區塊802及合併極於1 A ,第 併刼作後之新實體區塊間之 關聯性之圖式表示。 第9圖係根據本發明之一實施 a 、 例之目則工作區塊資訊圖 表之圖式表示。 第10a及l〇b圖係根據本發明 、 n ^ 實苑例之說明將與邏輯 群組之部份之邏輯頁有關的 ^ η令馬八灵體群組之部份之實 體頁的方法有關之步驟之處理流程圖。 第11圖係根據本發明之一者 只施例之系統架構之圖式方塊 圖表示。 【主要元件代表符號表】 10 11 12 14 15 17 19 21 23 記憶體 記憶體晶胞陣列 糸統區域、目錄區域 貨料區域 匯流排 位址解碼器 額外電路 緩衝器記憶體 錯誤校正碼(ECC) 95650-940729.doc •35 1262388 100 主機或電腦系統 104 系統匯流排 108 微處理器 112 隨機存取記憶體(RAM) 116 輸入/輸出電路 120 非輝發性記憶體裝置 124 非輝發性記憶體 128 記憶體控制器系統 150 主機或電腦系統 154 系統匯流排 158 微處理器 162 隨機存取記憶體(RAM) 166 輸入/輸出電路 174 非輝發性記憶體 180 介面 210 > 230 ^ 310 實體區塊 214、234、314、314a、314b 邏輯區塊頁 218 、 218a 、 218b 、 218c 、 218d、218e、218f、218g、 218h、218i、238、238a、 238b 、 238c 、 238d 、 238e 、 238f、238g、238h、238i 頁 318 、 318a 、 318b 、 318c 、 318d、318e、318f、318g、 頁 95650-940729.doc -36- 1262388 318h 、 318i 514 檔案系統 510 、 510a 、 510b 、 510c 邏輯區塊 518 、 538 頁 530 、 530a 、 530b 、 530c 實體區塊 534 媒體 600 區塊 604a 、 604b 、 604c 、 604d 、 604e、604f、604g、604h、 604i、604j、604k、6041 頁 608 、 608a 、 608b 群組 700 頁 706 冗餘區域 710 資料區域 712 資料 714 群組識別器 802 邏輯區塊 806 實體區塊 810 、 810a 、 810b 、 810c 、 810d 、 814 、 814a 、 814b 、 814c 、 814d 群組 826 、 826a 、 826b 、 826c 、 826d、826e、826f、826g、 826h、830、830a、830b、 頁 95650-940729.doc •37- 1262388 830c、830d、830e、830f、 830g 、 830h 、 834 、 834a 、 834b 、 834c 、 834d 、 834e 、 834f、834g、834h、838、 838a 、 838b 、 838c 、 838d 、 838e、838f、838g、838h、 842 、 842a 、 842b 、 842c 、 842d、842e、842f、842g、 842h 、 846 、 846a 、 846b 、 846c、846d、846e、846f、 846g 、 846h 880 新實體區塊 884a 、 884b 、 884c 、 884d 實體群組 900 糸統架構 904 應用介面模組 908 系統管理者模組 912 資料管理者模組 916 資料整體性管理者 920 裝置管理者及介面模組 924 系統初始化次模組 926 抹除次數區塊管理次模組 930 功率管理區塊次模組 950 資訊圖表 954 群組號碼 95650-940729.doc -38- 1262388 1000 處理 1104、 1008 ^ 1012、 1016、 步驟 1020 ^ 1024、 1028、 1032、 1036、 1040、 1044、 1048 95650-940729.doc -39-
Claims (1)
1262388 十、申請專利範圍: 1· -種用以將資料寫入 之方法,該第-區塊包括數;二第—區塊 個群組頁,㈣數頁顧分組為數 多頁,該方法包含: Μ群組包括二或更 判定該等數個群组中 收該資料丨 中之第-群組係於何時可用以接 料該第—群組係可用以接收該資料時,將” 科寫入包括於該第一群組之_第一頁· ^亥貝 當其判定該第一群組係盔法 #你▲ 、、用以接收該資料時,主丨令 该等數個群組中之一第二 "疋 料;以及 ;°寺可用以接收該資 當其判定該第二群組係可用 ,± _ 用乂接收該資料時,將兮皆 枓寫入包括於該第二群組之一第二頁。 于將該貝 2. 如申請專利範圍第!項所述之方法,其更包括: 當其判定該第二群組係無法用料 一第-F士 丧收4貝枓日寸,判定 弟一Q塊係於何時可用以接收該資料。 3. 如申請專利範圍第丨項所述之方法,复 組係於何時可用以接收1資料〃、’疋邊第一群 時適於接收該資料。 、係於 (如申請專利範圍第旧所述之 i羅鎧百古問 θ ^ .. 具中,该育料係與〆 :頁有關’且该弟—區塊係為—第一實。 5.如申請專利範圍第旧所述之方法, ^ 藉由-群組識別器加以識別 X弟群組係 5亥鮮組識別器係儲存於/ 95650-940729.doc ^2388 何時可用以接餘區域,且料該第—群組係於 6. ~種用於料㈣1括獲得該群組識別器° 性記憶體系統,、其包:區塊内所分組的頁面中之非輝發 塊非輝^性記憶體’該非輝發性記憶體包括一第—區 組,’ΓΓ—Λ塊包括數頁,該等數頁係被分組為數個群 ’:忒等數個群組中之每一群組包括二或更多頁; 〜4等數個群組巾之-第-群組係於何時可用 接收一資料組之碼裝置; 、於其判疋該第一群組係可用以接收該資料組時, 將該資料組寫入包括於該第一群組之一第一頁之碼裝 置; 士用乂於其判定該第一群組係無法用以接收該資料組 才判定5亥等數個群組中之一第二群組係於何時可用以 接收該資料組之碼裝置;以及 一、於其判疋该第二群組係可用以接收該資料組時, 將該資料組寫入包括於該第二群組之一第二頁之碼裝 置。 ’ 7.如申巧專利範圍第6項所述之記憶體系統,其更包括: 用以於其判定該第二群組係無法用以接收該資料組 時,判定一第二區塊係於何時可用以接收該資料組之石馬 I置’該第二區塊係包括於該非輝發性記憶體。 8·如申請專利範圍第7項所述之記憶體系統,其更包括: 用以於其判定該第二區塊係可用以接收該資料組時, 95650-940729.doc 1262388 將該等數頁中之某些之内 置;以及 容複製於該第二區塊之碼裝 用以於其判定該第二區塊係可用以接收該資料組時, 將該資料組寫入該第二區塊之碼裳置。 9·如申請專利範圍第6項所述之記憶體系統,其更包括: 用以判定該第一群組之碼裝置;以及 用以判定該第二群組之碼裝置。 I 〇·如申請專利範圍第6項所述之記憶體系統,其中,用以判 定該第一群組係於何時可用以接收該資料組之該等碼裝 置包括用以判定該第一頁係於何時適於接收該資料組之 碼裝置。 II ·如申請專利範圍第6項所述之記憶體系統,其中,該資料 係與一邏輯頁有關,且該第一區塊係為一第一實體區塊。 12·如申請專利範圍第u項所述之記憶體系統,其中,該第 一群組係藉由一群組識別器加以識別,該群組識別器係 儲存於與該第一群組有關之一冗餘區域,且該等用以判 定該第一群組係於何時可用以接收該資料組之碼裝置包 括用以獲得該群組識別器之碼裝置。 13·如申請專利範圍第6項所述之記憶體系統,其更包括: 用以儲存該等碼裝置之一記憶體;以及 用以處理該等碼裝置之一處理器。 1 4·如申請專利範圍第6項所述之記憶體系統,其中,該非輝 發性記憶體係為一快閃記憶體。 ,該快 1 5.如申請專利範圍第14項所述之記憶體系統,其中 95650-940729.doc 1262388 閃記憶體係為一 nand快閃記憶體。 16. 17. 18. 19. 20. 21. 如申請專利範圍第6項所述之記憶體系統,其中,該等碼 裝置係為軟體碼裝置。 如申請專利範圍第6項所述之記憶體系統,其中,該等碼 裝置係為軔體碼裝置。 一種用於儲存資料在分組的頁面中之記憶體區塊,該記 憶體區塊係包括於一非輝發性記憶體,該記憶體區塊包 含: 數頁,該等數頁包括一第一頁組及一第二頁組; 一第一群組,該第一群組包括該第一頁組,該第—群 組具有一可識別該第一群組之第一群組識別器,該第一 群組識別器係儲存於該第一群組;以及 一第二群組,㈣二群組包括該第二頁組,該第二群 組具有一可識別該第二群組之第二群組識別器,該第二 群組識別器係儲存於該第二群組。 如申請專利範圍第18項所述之記憶體區塊,其中,一包 括於或第一頁組之兮楚百 、 〜專頁之順序係實質地相對於該等第 一群組之一開始固定, 昂 ^ 且包括於該第二頁組之該等頁之 順序係貫質地相對於 _ 如申請專利範圍第18=—鮮組之一開始固定。 憶體區塊係為一實體區塊, 充,、中t己 快閃記憶體。 μ輝發性記憶體係為一 一種用以將資料寫入與 區塊之方法n =記憶體有關之第一實體 、立區塊包括數個實體頁,該等數 95650-940729.doc 1262388 個實體頁係被分組為數個實體群組,其中,該等數個實 體群組中之每一實體群組包括二或更多實體頁,該方法 包含: 識別與一第一邏輯頁有關之第一資料組,該第一邏輯 頁係為數個包括於一邏輯區塊之一第一邏輯群組之邏輯 頁中之一者; 判定該等數個實體群組中之一第一實體群組係於何時 與該第一邏輯群組產生關聯; 當其判定該第一實體群組係與該第一邏輯群組有關 時,判定包括於該第一實體群組中之一第一實體頁係於 何時可用以容納該第一資料組;以及 當其判定該第一實體頁係可用以容納該第一資料組 時,將該第一資料組寫入該第一實體頁。 22. 如申請專利範圍第21項所述之方法,其更包括: 當其判定該第一實體群組係未與該第一邏輯群組有關 時,判定該第一實體群組係於何時為可用的; 當其判定該第一實體群組係為可用時,令該第一實體 群組與該第一邏輯群組產生關聯;以及 將該第一資料組寫入一與該第一實體群組有關之第二 實體頁。 23. 如申請專利範圍第22項所述之方法,其更包括: 識別一與該第一邏輯群組有關之第二資料組;以及 將該第二資料組寫入一與該第一實體組有關之第三實 體頁。 95650-940729.doc I262388 24.如申請專利範圍第23項所述之方法,其更包括: 矣判疋4第二賞體頁係於何時可用以容納該第二資料 其中’ Θ第—資料組係、於其判定該第三實體頁係可 ,5用以容納該第二資料組時’寫入於該第三實體頁。 ·如申請專利範圍第21項所述之方法,其更包括: 當其判定該第一實體頁係無法用以容納該第一資料組 時,判定包括於該等數個實體群組巾之―第二實體群組 係於何時為可用的;以及 將該第-貝/料組寫入一與該第二實體群組有關之第二 實體頁。 26.如中請專利範圍第25項所述之方法,其更包括: 虽其判定該第二實體群組係為可用時,令該第二實體 群組與該第一邏輯群組產生關聯。 A如申請專利範圍第25項所述之方法,其更包括: 當其判;t該第二實體群組係無法適用時, 非輝發性記憶體有關之第二實體區 一亥 納該第一資料組。 17時可用以容 28·如申請專利範圍第27項所述 第二實體區塊係為可用時, 之方法,其中, 該方法更包括: 當其判定該 將包括於該第一實體區 内容複製於包括於該第二 將該第一資料組寫入一 實體頁。 塊之該等數個實體 η γ之某些 實體區塊之實體頁;以及 與該第二實體區塊有關之第三 29. 如申請專利範圍第28項所 述之方法,其更包括·· 95650-940729.doc 1262388 抹除該第一實體區塊。 30. 31. 32. 33. 如申請專利範圍第28項所述 體區塊有關之該第三實體頁 八 m -實 之—第一眚… 頁係為包括於該第二實體區塊 ^ 第二貫體群組之一部俗 ▲ φ ^ 该第三實體群組包括二或 更多實體頁。 如申請專利範圍第30項所述 方法,其更包括·· 々該第三實體群組與該第一 ^輯群組產生關聯。 申㈣專利範圍第21項所述之方法,其中 實體群組係於何時與該第一邏輯群組產生關聯包括 自該第-實體群組獲得—群組識別 識別器係排置為可識別該 〒該群、,且 彳次乐實體群組;以及 一^該群組:別器是否與該第一邏輯群組有關聯。 2儲存責枓在-區塊内所分組的頁面中之記憶體 糸統,其包含: 一非輝發性記憶體,該 °哀非輝㈣記憶ϋ包括具有數個 一之—第一貫體區塊’該等數個實體頁係被分組為 數個貫體群組’其中’該等數個實體群組中之每一實體 群組包括二或更多實體頁;以及 一模組,該模組係排置為可識別—與—第—邏輯頁有 關之第-資料組,該第—邏輯頁係為包括於—邏輯區塊 m輯❹之數個邏輯頁中之—者’該模組係更 排置為可判定料數個實料纟以之一第—實體群組係 於何時與该第-邏輯群組產生關聯,以於其判定該第一 實體群組係與該第一邏輯群組有關時,判定包括於該第 95650-940729.doc 1262388 —實體群组之一第一實體頁係於何時可用以容納該第— 資料組,及於其判定該第一實體頁係可用以容納該第一 資料組時,將該第一資料組寫入該第一實體頁。 34. 35. 3 6. 37. 如申請專利範圍第33項所述之記憶體系統,其中, /、 ,g亥模 、、且係再排置為可於其判定該第一實體群組並未與該第」 邏輯群組有關時,判定該第一實體群組係於何時可用 以於其判定該第一實體群組係為可用時,令該第—實 群組與該第一邏輯群組產生關聯,及將該第一 ^ 貝枓組寫 入與該第一實體群組有關之一第二實體頁。 … 該模 如申請專利範圍第34項所述之記憶體系統,其中, 組係再排置為可識別與該第一邏輯群組有關之一第一 * 料組,及將該第二資料組寫入與該第一實體群纟且:局 -第三實體頁。 、'有關交 下Μ寻,丨,子〇阳不^ Jmm體糸統,其中, 組係再排置為可判定該第三實體頁係於何時可用以 邊第二資料組,其中,該第二資料組係於其判定节 貫體頁係可用以容納該第二資料組時,寫入該 頁。 Μ 三 如申請專利範圍第33項所述之記憶體系統,其中,1 組係再排置為可於其判定該第一實體頁係無法用以° =第一資料組時,判定包括於該等數個實體群組= 第二實體群組係於何時可用,以於其判定該第一〜 組係為可用時,令該第二實體群組與該第一邏輯= 生關聯,及將該第一資料組寫入與該第二實體群= 95650-940729.doc 1262388 之一第二實體頁。 38. 39. 40. 41. 42. 如申請專利範圍第37項所述之記憶體系統,其更包括: 第二實體區塊,其中,該模組係再排置為可於其判 =該第二實體群組係無法適用時,判定與該非輝發性記 隐體有關之該第二實體區塊係於何時可用以容納該第一 資料組’及於其判定該第二實體區塊係為可用時^將包 =於該第一實體區塊之該等數個實體頁中之某些内容複 製於包括於該第二實體區塊之實體頁,及於其判定該第 二實體區塊係為可用時,將該第-資料組寫人與該第二 實體區塊有關之一第三實體頁。 如申請專利範圍第38項所述之記憶體系統,其中,該模 組係再排置為可抹除該第一實體區塊。 如申請專利範圍第33項所述之記憶體系統,其中,該模 組係排置為可藉由自該第一實體群組獲得一群組識別器 及判定該群組識別H是㈣與㈣—邏輯群組有關判定 該第一實體群組係於何時與該第一邏輯群組產生關聯, 其中,該群組識別器係排置為可識別該第一實體群組。 如申請專利範圍第33項所述之記憶體系統,其中,該非 輝發性記憶體係為一 NAND快閃記憶體。 一種用於寫入至包含於一非輝發性記憶體中一區塊之圮 憶體系統,該區塊對應於一第一實體區塊,其包括數個 實體頁,該等數個實體頁係被分組為數個實體群組,其 中,該等數個實體群組中之每一實體群組包括二或更多 貫體頁,該系統包含: 95650-940729.doc 1262388 用以識別與―第—邏㈣有關之—第_資料組 置,該第-邏輯頁係、為包括於—邏輯區塊之—第—邏輕 群組之數個邏輯頁中之_者; 輯 用以判定該等數個實體群組中之一第一實體群組係於 何時與該第一邏輯群組產生關聯之裝置; 、 用以於其判定該第—實體群組係與該第一邏輯群叙 生關聯時,判定包括於該第-實體群之-第_實體頁< 於何時可用以容納該第—資料組之裝置;以及 ’、 用以於其判定該第—實體頁係可用以容納該第—資 組時’將該第一資料組寫入該第一實體頁之裝置。貝’ 43·如申請專利範圍第42項所述之系統’其更包括: 用以於其判定該第-實體群組係未與該第—邏 產生關聯時,判定該第—實體群組係於何時可用,、且 用以於其判定該第-實體群組係為可㈣,令㈣―’ 實體群組與該第一邏輯群組產生關聯之裝置;以及 用以將該第一資料組寫入與該第一實體 第二實體頁。 负關之一 44.如申請專利範圍第43項所述之系統,其更包括: 用以識別與該第_ 'K Λ . 置; …料群組有關之-第二資料組之裝 用以將該第二資料組寫盥 ^ 第三實體頁之裝置 與該弟1體群組有關之— 用以判定該第三實體頁係於何時可 料組之裝置,其中,节第-資^ 、内忒弟二資 弟一貝枓組係於其判定該第三實 95650-940729.doc •10- 1262388 被寫入該第三實體 體頁係可用以容納該第二資料組時 頁。 45. ’其更包括: 法用以容納該第一資 鮮組之一第二實體群 如申請專利範圍第42項所述之系統 用以於其判定該第一實體頁係無 料、、且日守,判定包括於該等數個實體 組係於何時可用之裝置;以及 第二實體群組有關之一 用以將該第一資料組寫入與該 第二實體頁之裝置。 板如申請專利範圍第45項所述之系統,其更包括: 用以於其判定該第二實體群組係為可^,令該第二 實體群組與該第一邏輯群組產生關聯之裝置。 47. 如申請專利範圍第45項所述之系統,其更包括: 用以於其判疋§亥第二實體群組係無法適用時,判定與 該2輝發性記憶體有關之一第二實體區塊係於何時可用 以容納該第一資料組之裝置。 48. 如申請專利範圍第叨項所述之系統,其更包括: 用以於其判定該第二實體區塊係為可用時,將包括於 該第一實體區塊之該等數個實體頁中之某些内容複製於 包括於該第二實體區塊之實體頁之裝置;以及 用以於其判定該第二實體區塊係為可用時,將該第一 貧料組寫入與該第二實體區塊有關之一第三實體頁之裝 置。 49·如申請專利範圍第48項所述之系統,其更包括: 用以抹除該第一實體區塊之裝置。 95650-940729.doc -11 - 1262388 50.如申請專利範圍第48項所述之系統,其中,與該第二實 體區塊有關之該第三實體頁係為包括於該第二實體區塊 之一第三實體群組之一部份,該第三實體群組包括二或 更多實體頁。 5 1.如申請專利範圍第50項所述之系統,其更包括: 用以令該第三實體群組與該第一邏輯群組產生關聯之 裝置。 52.如申請專利範圍第42項所述之系統,其中,用以判定該 第一實體群組係於何時與該第一邏輯群組產生關聯之該 等裝置包括用以自該第一實體群組獲得一群組識別器之 裝置,其中,該群組識別器係排置為可識別該第一實體 群組,及用以判定該群組識別器是否與該第一邏輯群組 產生關聯之裝置。 95650-940729.doc 12 1262388 七、指定代表圖: (一) 本案指定代表圖為:第(l〇a )圖。 (二) 本代表圖之元件符號簡單說明: 1000 處理 1004、1008、1012、步驟 1016 、 1020 、 1024 、 1028 八、本案若有化學式時,請揭示最能顯示發明特徵的化學式: (無) 95650-940729.doc
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/281,855 US7254668B1 (en) | 2002-10-28 | 2002-10-28 | Method and apparatus for grouping pages within a block |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200413916A TW200413916A (en) | 2004-08-01 |
TWI262388B true TWI262388B (en) | 2006-09-21 |
Family
ID=32228778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW092125809A TWI262388B (en) | 2002-10-28 | 2003-09-18 | Method and system for writing data to grouped pages in a block of non-volatile memory, and a memory block for storing written data in grouped pages |
Country Status (10)
Country | Link |
---|---|
US (1) | US7254668B1 (zh) |
EP (1) | EP1576478B1 (zh) |
JP (1) | JP4611024B2 (zh) |
KR (1) | KR100886520B1 (zh) |
CN (1) | CN100454273C (zh) |
AT (1) | ATE466337T1 (zh) |
AU (1) | AU2003268530A1 (zh) |
DE (1) | DE60332394D1 (zh) |
TW (1) | TWI262388B (zh) |
WO (1) | WO2004040453A2 (zh) |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
JP4518951B2 (ja) * | 2002-10-28 | 2010-08-04 | サンディスク コーポレイション | 不揮発性記憶システムにおける自動損耗均等化 |
JP4261892B2 (ja) * | 2002-12-12 | 2009-04-30 | キヤノン株式会社 | データ処理装置および制御方法および記憶媒体 |
JP4661086B2 (ja) * | 2004-05-24 | 2011-03-30 | パナソニック株式会社 | 不揮発性記憶装置および不揮発性メモリの消去方法と書込み方法 |
JP3942612B2 (ja) * | 2004-09-10 | 2007-07-11 | 東京エレクトロンデバイス株式会社 | 記憶装置、メモリ管理方法及びプログラム |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
US7949845B2 (en) | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
WO2007019155A1 (en) * | 2005-08-03 | 2007-02-15 | Sandisk Corporation | Reclaiming data storage capacity in flash memory systems |
US7669003B2 (en) | 2005-08-03 | 2010-02-23 | Sandisk Corporation | Reprogrammable non-volatile memory systems with indexing of directly stored data files |
US7480766B2 (en) * | 2005-08-03 | 2009-01-20 | Sandisk Corporation | Interfacing systems operating through a logical address space and on a direct data file basis |
US7409489B2 (en) * | 2005-08-03 | 2008-08-05 | Sandisk Corporation | Scheduling of reclaim operations in non-volatile memory |
JP4547028B2 (ja) * | 2005-08-03 | 2010-09-22 | サンディスク コーポレイション | ブロック管理を伴う不揮発性メモリ |
US7814262B2 (en) | 2005-10-13 | 2010-10-12 | Sandisk Corporation | Memory system storing transformed units of data in fixed sized storage blocks |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7769978B2 (en) | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7793068B2 (en) | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
KR100806343B1 (ko) * | 2006-10-19 | 2008-02-27 | 삼성전자주식회사 | 플래시 메모리를 포함한 메모리 시스템 및 그것의 맵핑테이블 관리 방법 |
US8073648B2 (en) * | 2007-05-14 | 2011-12-06 | Sandisk Il Ltd. | Measuring threshold voltage distribution in memory using an aggregate characteristic |
JP5087347B2 (ja) * | 2007-09-06 | 2012-12-05 | 株式会社日立製作所 | 半導体記憶装置及び半導体記憶装置の制御方法 |
KR101433860B1 (ko) * | 2007-10-10 | 2014-08-26 | 삼성전자주식회사 | 파일을 효율적으로 관리할 수 있는 정보 처리 장치 |
US7613045B2 (en) * | 2007-11-26 | 2009-11-03 | Sandisk Il, Ltd. | Operation sequence and commands for measuring threshold voltage distribution in memory |
JP4533968B2 (ja) | 2007-12-28 | 2010-09-01 | 株式会社東芝 | 半導体記憶装置及びその制御方法、コントローラ、情報処理装置 |
TWI403906B (zh) * | 2008-09-17 | 2013-08-01 | Silicon Motion Inc | 快閃記憶裝置及其運作方法 |
TWI394161B (zh) * | 2008-12-15 | 2013-04-21 | Silicon Motion Inc | 快閃記憶體裝置及其資料管理方法 |
US9201824B2 (en) * | 2009-01-22 | 2015-12-01 | Intel Deutschland Gmbh | Method and apparatus for adaptive data chunk transfer |
KR101586047B1 (ko) * | 2009-03-25 | 2016-01-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
EP2417524A4 (en) * | 2009-04-10 | 2013-03-06 | Kaminario Tehnologies Ltd | MASS STORAGE SYSTEM USING AN AUXILIARY SEMICONDUCTOR STORAGE SUBSYSTEM |
TWI450271B (zh) * | 2009-09-02 | 2014-08-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
TWI453747B (zh) * | 2009-09-02 | 2014-09-21 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
US8463983B2 (en) * | 2009-09-15 | 2013-06-11 | International Business Machines Corporation | Container marker scheme for reducing write amplification in solid state devices |
US9104546B2 (en) * | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
TWI451439B (zh) * | 2010-12-10 | 2014-09-01 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 |
TWI553654B (zh) * | 2010-12-16 | 2016-10-11 | 群聯電子股份有限公司 | 資料管理方法、記憶體控制器與記憶體儲存裝置 |
US10089017B2 (en) * | 2011-07-20 | 2018-10-02 | Futurewei Technologies, Inc. | Method and apparatus for SSD storage access |
CN104536906B (zh) * | 2011-08-02 | 2017-10-10 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
KR20130043445A (ko) * | 2011-10-20 | 2013-04-30 | 삼성전자주식회사 | 인터페이스 관리 방법 및 이를 이용한 저장 장치에서의 매핑 처리 방법 |
TWI486766B (zh) | 2012-05-11 | 2015-06-01 | Phison Electronics Corp | 資料處理方法、記憶體控制器與記憶體儲存裝置 |
US9116792B2 (en) * | 2012-05-18 | 2015-08-25 | Silicon Motion, Inc. | Data storage device and method for flash block management |
CN103425594B (zh) * | 2012-05-23 | 2016-09-14 | 群联电子股份有限公司 | 数据处理方法、存储器控制器与存储器存储装置 |
US9076545B2 (en) | 2013-01-17 | 2015-07-07 | Sandisk Tecnologies Inc. | Dynamic adjustment of read voltage levels based on memory cell threshold voltage distribution |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
US9927996B2 (en) | 2014-02-05 | 2018-03-27 | Hitachi, Ltd. | Information processing device |
US10616144B2 (en) | 2015-03-30 | 2020-04-07 | Cavium, Llc | Packet processing system, method and device having reduced static power consumption |
US9747226B2 (en) * | 2015-03-30 | 2017-08-29 | Cavium, Inc. | Packet processing system, method and device to optimize packet buffer space |
US9880780B2 (en) | 2015-11-30 | 2018-01-30 | Samsung Electronics Co., Ltd. | Enhanced multi-stream operations |
US9898202B2 (en) | 2015-11-30 | 2018-02-20 | Samsung Electronics Co., Ltd. | Enhanced multi-streaming though statistical analysis |
CN106293521B (zh) * | 2016-08-02 | 2019-04-12 | 华中科技大学 | 一种映射粒度自适应的闪存转换层管理方法 |
US10785301B2 (en) * | 2017-08-03 | 2020-09-22 | Toshiba Memory Corporation | NVM express over fabrics |
KR101947286B1 (ko) * | 2017-11-29 | 2019-02-12 | 울산과학기술원 | 메모리 컨트롤 장치 및 방법 |
US11294580B2 (en) * | 2017-12-22 | 2022-04-05 | Samsung Electronics Co., Ltd. | Nonvolatile memory device |
KR102469539B1 (ko) | 2017-12-22 | 2022-11-22 | 삼성전자주식회사 | 비휘발성 메모리 장치, 비휘발성 메모리 장치의 동작 방법 및 저장 장치 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07109717B2 (ja) | 1986-05-31 | 1995-11-22 | キヤノン株式会社 | メモリ書き込み制御方法 |
JP2685173B2 (ja) | 1986-05-31 | 1997-12-03 | キヤノン株式会社 | メモリ書き込み制御方法 |
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5095420A (en) | 1988-11-21 | 1992-03-10 | International Business Machines | Method and system for performing virtual address range mapping in a virtual storage data processing system |
DE69034191T2 (de) | 1989-04-13 | 2005-11-24 | Sandisk Corp., Sunnyvale | EEPROM-System mit aus mehreren Chips bestehender Blocklöschung |
US5222109A (en) | 1990-12-28 | 1993-06-22 | Ibm Corporation | Endurance management for solid state files |
EP0508577A1 (en) | 1991-03-13 | 1992-10-14 | International Business Machines Corporation | Address translation mechanism |
US5438573A (en) | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
CA2285089C (en) | 1991-11-12 | 2000-05-09 | Ibm Canada Limited-Ibm Canada Limitee | Logical mapping of data objects using data spaces |
JP3641280B2 (ja) | 1992-10-30 | 2005-04-20 | インテル・コーポレーション | フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法 |
JP2856621B2 (ja) | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JP3078946B2 (ja) * | 1993-03-11 | 2000-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
JP3507132B2 (ja) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | フラッシュメモリを用いた記憶装置およびその記憶制御方法 |
US5907856A (en) | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US6125435A (en) | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
JPH09212411A (ja) * | 1996-02-06 | 1997-08-15 | Tokyo Electron Ltd | メモリシステム |
US5860082A (en) | 1996-03-28 | 1999-01-12 | Datalight, Inc. | Method and apparatus for allocating storage in a flash memory |
US6139177A (en) * | 1996-12-03 | 2000-10-31 | Hewlett Packard Company | Device access and control using embedded web access functionality |
US5937425A (en) * | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
GB9801373D0 (en) * | 1998-01-22 | 1998-03-18 | Memory Corp Plc | Memory system |
KR100297986B1 (ko) | 1998-03-13 | 2001-10-25 | 김영환 | 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법 |
US6260156B1 (en) | 1998-12-04 | 2001-07-10 | Datalight, Inc. | Method and system for managing bad areas in flash memory |
US6426893B1 (en) | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6772274B1 (en) | 2000-09-13 | 2004-08-03 | Lexar Media, Inc. | Flash memory system and method implementing LBA to PBA correlation within flash memory array |
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
US6763424B2 (en) * | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6823526B2 (en) * | 2001-07-05 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Computer-based system and method for automatic configuration of an external device |
-
2002
- 2002-10-28 US US10/281,855 patent/US7254668B1/en not_active Expired - Fee Related
-
2003
- 2003-09-10 EP EP03749499A patent/EP1576478B1/en not_active Expired - Lifetime
- 2003-09-10 WO PCT/US2003/028047 patent/WO2004040453A2/en active Application Filing
- 2003-09-10 CN CNB038247704A patent/CN100454273C/zh not_active Expired - Fee Related
- 2003-09-10 DE DE60332394T patent/DE60332394D1/de not_active Expired - Lifetime
- 2003-09-10 AU AU2003268530A patent/AU2003268530A1/en not_active Abandoned
- 2003-09-10 AT AT03749499T patent/ATE466337T1/de not_active IP Right Cessation
- 2003-09-10 KR KR1020057007311A patent/KR100886520B1/ko not_active IP Right Cessation
- 2003-09-10 JP JP2004548307A patent/JP4611024B2/ja not_active Expired - Fee Related
- 2003-09-18 TW TW092125809A patent/TWI262388B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ATE466337T1 (de) | 2010-05-15 |
JP4611024B2 (ja) | 2011-01-12 |
AU2003268530A8 (en) | 2004-05-25 |
KR100886520B1 (ko) | 2009-03-02 |
DE60332394D1 (de) | 2010-06-10 |
WO2004040453A2 (en) | 2004-05-13 |
CN100454273C (zh) | 2009-01-21 |
CN1795437A (zh) | 2006-06-28 |
US7254668B1 (en) | 2007-08-07 |
AU2003268530A1 (en) | 2004-05-25 |
TW200413916A (en) | 2004-08-01 |
KR20050070092A (ko) | 2005-07-05 |
EP1576478B1 (en) | 2010-04-28 |
EP1576478A2 (en) | 2005-09-21 |
JP2006515086A (ja) | 2006-05-18 |
WO2004040453A3 (en) | 2006-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI262388B (en) | Method and system for writing data to grouped pages in a block of non-volatile memory, and a memory block for storing written data in grouped pages | |
TWI240865B (en) | Method and apparatus for splitting a logical block | |
KR101300657B1 (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
TWI297893B (en) | Method and apparatus for managing an erase count block | |
US8140746B2 (en) | Intelligent memory data management | |
CN103502958B (zh) | 逻辑地址转译 | |
CN100524209C (zh) | 在非易失性存储器阵列中更新数据的方法 | |
CN100547570C (zh) | 一种操作可擦除且可再编程的非易失性存储器系统的方法 | |
TW200919185A (en) | Data storage device, memory system, and computing system using nonvolatile memory device | |
US20080098195A1 (en) | Memory system including flash memory and mapping table management method | |
EP1632858A2 (en) | Semiconductor memory device and access method and memory control system for same | |
JP2008524705A (ja) | スクラッチパッドブロック | |
CN1701389A (zh) | 维持非易失性存储系统中的平均擦除计数 | |
CN103270500A (zh) | 事务日志恢复 | |
TW200418038A (en) | Tracking the most frequently erased blocks in non-volatile memory systems | |
US20070150645A1 (en) | Method, system and apparatus for power loss recovery to enable fast erase time | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
WO1999030239A1 (fr) | Memoire et procede d'acces | |
Kwon et al. | Swap space management technique for portable consumer electronics with NAND flash memory | |
CN101661431B (zh) | 用于快闪存储器的区块管理方法、快闪储存系统及控制器 | |
TW201007451A (en) | Block management method for flash memory and storage system and controller using the same | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
JP2010267290A (ja) | 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置 | |
TWI272481B (en) | Method and apparatus for performing multi-page write operations in a non-volatile memory system | |
Bai et al. | A parallel flash translation layer based on page group-block hybrid-mapping method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |