TWI246649B - Method and apparatus for resolving physical blocks associated with a common logical block - Google Patents

Method and apparatus for resolving physical blocks associated with a common logical block Download PDF

Info

Publication number
TWI246649B
TWI246649B TW092125811A TW92125811A TWI246649B TW I246649 B TWI246649 B TW I246649B TW 092125811 A TW092125811 A TW 092125811A TW 92125811 A TW92125811 A TW 92125811A TW I246649 B TWI246649 B TW I246649B
Authority
TW
Taiwan
Prior art keywords
physical block
block
physical
identifier
indicator
Prior art date
Application number
TW092125811A
Other languages
English (en)
Other versions
TW200413918A (en
Inventor
Robert C Chang
Bahman Qawami
Farshid Sabet-Sharghi
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
Application filed by Sandisk Corp filed Critical Sandisk Corp
Publication of TW200413918A publication Critical patent/TW200413918A/zh
Application granted granted Critical
Publication of TWI246649B publication Critical patent/TWI246649B/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • 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
    • 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]

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Tests Of Electronic Circuits (AREA)

Description

1246649 玖、發明說明: t潑^明戶斤屬泛t勒宁々頁超^】 發明領域 本發明係有關於下列共同待審中之美國專利申請案:在2〇〇2 年10月28日提出申請之美國專利申請案第1〇/281,739號案,發明 名稱為:非依電性儲存系統之磨損調勻技術(代理人文件編號: SANDP023/SDK0366.000US);在2002年1〇月28曰提出申請之美國 專利申請案第10/281,670號案,發明名稱為:追蹤非依電性記憶 體系統中最常抹除區塊之技術(代理人文件編號: SANDP025/SDK0366.002US);在2002年1〇月28曰提出申請之美國 專利申請案第10/281,824號案,發明名稱為:追蹤非依電性記憶 體系統中最不常抹除區塊之技術(代理人文件編號: SANDP026/SDK0366.003);在2002年10月28曰提出申請之美國專 利申請案第10/281,631號案,發明名稱為:用以分割邏輯區塊之 方法與裝置(代理人文件編號·· SANDP028/SDK0371.000US);在 2002年1〇月28曰提出申凊之美國專利申請案第10/281,855號案, 發明名稱為··用以將區塊中之頁面分組之方法與裝置(代理人文件 編號:SANDP029/SDK0410.000US);在2002年 1〇月 28 曰提出申靖 之美國專利申請案第10/281,696號案,發明名稱為:用以維持非 依電性儲存糸統之抹除次數之技術(代理人文件編赛· SANDP031/SDK0420.000US);在2002年10月28曰提出申請之美國 專利申請案第1〇/281,626號案,發明名稱為:用以管理抹除次數 區塊之方法及裝置(代理人文件編?虎. SANDP032/SDK0420.001US);以及在2002年1 〇月28日提出申靖之 1246649 美國專射請案幻咖,謝號案,發明名稱為:用以於非依電 性記憶體内執行乡頁讀取及寫人㈣之转與裝置(代理人文^ 編號:SANDP〇33/SDK〇426.〇OOUS)等,复中 m w -T邊寺申凊案之全部 内容係包含於此處以作為參考之用。 本發明大致係有關於大魏位資·H統。更詳而言之, 本發明係有_用以有效率祕數個與糾邏輯區塊有關之實 體區塊實質地分解鱗—f體區塊之方法。 、 發明背景 者如快閃記憶體儲存系統之非依電性記憶體 因此等記憶體系統之緊宓者俨女,伲用你 ( 緊在貝體大小及可重複再規劃非依電性記 4 Ή增加記龍儲存紐之緊密實體大小可促進 ===祕日嫩之_。軸脱憶體儲存 、數位音 卞香π伟式個人電腦、从全較位 劃包括於快閃記師健六么 t J紐冉規 fr己儲卜…存非依電性記憶體之能力允許快 閃。己fe脸储存糸統之使用與再使用。 f心片/决閃5己憶體儲存系統可包括快閃記憶體卡及快閃 6己“且。快閃記憶體晶片組_般而言 以及控制器構件。诵當,α 口扎組構仵 、閃記憶體晶片組係排置為可構組於置 入式糸統。此錢、錢主_統之製造者 閃記憶體,以及1#脸 ㈣料式之决 主機系統。〃構件,而後將快閃記憶體及其他構件構組為 1246649 判八有關之職魏巾,記㈣財效地被 χ二刀派圖表(FAT)’同時,資料難通常係包括於資料區 ‘次一頁之方式寫入與系統區 域。1錢可於將叢集之資料以諸如—次多頁之方式寫入資料 區域之同時,將顧之資料以諸如― 域有關之實體區塊。 /任何與邏輯區塊,或與和槽案系統有關之區塊有關之更新皆 縣效地傳播至對映於邏輯區塊之實體區塊。當對映於邏輯區塊 之貝體區塊係為盈滿時,或係無法接受麟時,—般而言,備用 實籠塊可被獲得,且與邏輯區塊有關之最近資料係以諸如直接 自目雨實體區塊複製之方式複製,或以諸如實質地隨更新複製而 合併於備用實體區塊。 第1圖係邏輯區塊、與邏輯區塊有關之目前實體區塊、及欲 #換目貝月豆區塊之備用貫體區塊之圖式表示。邏輯區塊2〇〇係 對映於實體區塊210。詳言之,與邏輯區塊2〇〇之頁2〇2有關之内 容係被儲存於實體區塊210之頁212的資料區域,以作為内容 214。g貫體區塊210之頁212係為盈滿(如圖所示)時,或係無法接 受與邏輯區塊200有關之更新時,包括頁222之新或備用實體區塊 220可被獲得,如同自備用區塊組獲得之釋例。隨著與並未被儲 存於貫體區塊210之迦輯區塊200有關之任何更新,儲存於實體區 塊210之最近内容214可被複製於實體區塊220,使得實體區塊22〇 係有效地為邏輯區塊200之最新(up-to-date)實體表示。 於自實體區塊210將内容214複製或合併於實體區塊220之期 間,偶爾會發生令複製或合併處理被放棄且因此未完成之中斷。 1246649 藉由釋例,對包括實體區塊210及220之非依電性記憶體裝置之電 力可能於複製或合併處理完成前遺失。當電力於複製或合併處理 完成前遺失時,與内容210有關之某些内容可能遺失。 為最小化因中斷複製或合併處理而遺失之資料數量,實體區 塊210及實體區塊220可被研究以判定實體區塊21〇及實體區塊 220中之何者係為舊區塊,且何者係為新與未結束實體區塊。如 同熟於此技者將可瞭解者,當複製或合併處理被中斷時,其可能 消耗時間且難以判定實體區塊21〇或實體區塊22〇是否係含有最 新内容且欲與邏輯區塊2〇〇產生關聯之新實體區塊。 為幫助二實體區塊中何者係與給定邏輯區塊有關之新實體 區塊之判定,旗標經常被提供以與實體區塊使用。提供與實體區 塊使用之旗標之方法揭露於美國專利1^第6,115,785號,其全部内 合係被包含於此處以供參考之用。雖然旗標之使用於識別進行複 製或合併處理之實體區塊係為實用的,其經常難以判定二實體區 塊中之何者係較新之實體區塊,及何者係較舊之實體區塊。除此 之外,於將貫體區塊識別為係進行複製或合併處理時,旗標之使 用經常要求部份寫入處理。 因此,吾人所欲者係當實施於實體區塊之複製或合併處理於 完成前被中斷時,可令資料有效率地再儲存之處理及系統。亦 即’吾人所需者係誠有效率地令與數個實體區塊巾之何者係欲 對應於特定邏類塊之新實體區塊的判定可被舰,及可令與邏 輯區塊有關之最新減可被提供讀實體區塊之方法與褒置。 【發明内容】 1246649 發明概要 本發明係有關於用以判定數個與邏輯區塊有關之實體區塊 中之何者係更為新近地與邏輯區塊有關之系統與方法。根據本發 明之一態樣,用以將第一實體區塊與第二實體區塊之關聯性分解 為與非依電性記憶體系統有關之邏輯區塊之方法包括獲得與第 一實體區塊有關之第一識別器及獲得與第二實體區塊有關之第 一識別器。此等識別器被比較以確定第一識別器是否指示第一實 體區塊係更為新近地與邏輯區塊有關。此方法亦包括完成排置為 可於其判d翻器指示第_實體區塊係更為新近地與邏輯 區塊有關時,提供與邏輯區塊有關之内料第_實體區塊之操 作。 ;貝施例中’獲得第一識別器包括自與第一實體區塊有關 之負擔區域獲得第—識別II,域得第二識廳包括自與第二實 體區塊有關之貞舰域獲得第二識職。於另—實補巾,比較 弟-識別ϋ與第二識別n關定第—識廳係於何時指示第一 貫體區塊係更械近地與邏輯區塊有括判定第—識別器係 於何時具有較第二識別器更高之值。 當實齡級複製於另—實齡纽包顧塊之系統被關 閉或遺失$力% ’ g ’其將具有二對應於相同邏輯區塊之 實體區塊。齡轉諸如更新索引之識廳於每-實體區塊並比 較識別器’其可輕狂纽輪敬二實體區塊巾之何者係被複 衣或合併於另-者。因此’二區塊之内容可被研究,且複製或合 併操作可有效地碰復吟㈣應邏能塊錢之資訊可被提 供予欲接收另-區塊之至少某些内容之區塊。因此,因系統關閉 1246649 或電力遺失所產生之資料遺失可有效地被最小化。 根據本發明之另一態樣,用以令第二實體區塊與已具有含有 與邏輯區塊㈣之内容ϋ目關實體區塊產生關聯之邏輯區 塊產生關聯的方法包括獲得第二實體區塊,及將與第二實體區塊 有關之第二指示器設定為與和第一實體區塊有關之第一指示哭 的值不同之值。-旦第二指示設定,操作可被初始以提供含 於第-實體區塊之至少某些内容予第二實體區塊。於—實施例 中,此方法亦包括自第一實體區塊檢索第一指示器,及判定第一 指示器之值。 於另-實施例中’此方法亦包括將第二指示器儲存於第二實 體輯。於此實施例中,將第二指示器儲存於第二實體區塊可= 括將第二指不器儲存於與實體區塊有關之冗餘區域。 根據本發明之再另一態樣,非依電性記憶體包括第_實體區
兩者皆係與邏輯區塊有關。第一位元組及第二 可被比較以判定第一實體區塊是否係較第 地與邏輯區塊有關。 貫體區塊及第二實體區塊 及第二位元組皆係棑置為 交第_貫體區塊更為新近 於閱讀下文之詳細·及研討圖式之各觀表後,本發明之 此等及其他優點將更為清楚。 圖式簡單說明 θ兒明可對本案有最佳之瞭 藉由參考附隨圖式及下文之詳細 解,其中: 10 1246649 第1圖係避輯區塊、與邏輯區塊有關之目前實體區塊、及欲 替換目前實體區塊之備用實體區塊之圖式表示。 弟2圖係包括非依電性記憶體之—般主機祕之圖式表示。 _第3圖係諸如第2圖之記憶體裝置120之記憶體裝置之圖式表 不〇 -弟4圖係包括置入式非依電性記憶體之主機系統之圖式表 不〇 第5圖係根據本發明之_實施例之具有邏輯區塊之檔案系統 及具有實體區塊之媒體之圖式圖表示。 —弟6圖係根據本發明之_實施例之與一以上之具有更新索引 的實體區塊有_邏輯區塊之圖式表示。 、第7圖係根據本發明之一實施例之說明與初始更新、複製、 或合併處理有關之步驟之處理流程圖。 ㊆第8圖係根據本發明之一實施例之說明與分解諸如第7圖之 V 一616之售區塊與新區塊有關的步驟之處理流程圖。° -弟9圖係根據本發明之一實施例之系統架構之圖式方塊圖表 【實施方式】 較佳實施例之詳細說明 夕記憶體系統之電力遺失一般而言可能於記憶體系統產生許 二問題。此等問題包括,但不限於資料_失於電力係於將實體 二塊之内容複製於另_實體區塊之處理期間遺失時。為防止複制 处理中斷時之資_失,旗標可被包括於指示實體區塊之何項= 1246649 容係進行«處狀實體㉞L,旗標之伽㈣被證明係 無效率的。 體區塊 為促進有關對應於特定邏輯區塊之二實體區塊中之何者係 未結束、或欲替換舊或目前實體區塊之新實體區塊之欺,更新 索引可被實施於實體區塊。可被儲存於與實體區塊有關之至少一 冗餘區域之更難引可被排置為可指示與健或合併有關之二 實體區塊巾之何者_實魏塊,及二#體區射之何者係新實 體區塊,或欲複製内容之實體區塊。舉例言之,新實體區塊之更 新索引可被設定為使更新索引之值高於f實體區塊之更新索 引^此,當實體區塊之更新索引被檢驗以判定何實體區塊係為 新只版區塊%’其可判定具有較高更新索引之實體區塊係為新實 : 田名人毛生複製或合併處理時,由於僅有新實體區 塊之更新索引實質地被增域更新,因此更新料之制僅使用 -增量或寫人步驟。除此之外,當複製或合併完成時,更新索引 通常並未更新。因此,更新索引之使用通常較旗標之使用消耗較 少之負擔。 更新索引通常被使驗限㈣定未有部份寫人發生之系 統。換言之,更新索引可被實施於未容許部份寫入之系統。然^ 應瞭解者為,更新索引亦可被實施於容許部份寫人之系統。 快閃記憶體系統’或更—般言之,可自實體區塊之更新索引 ^使用麟利益之非依電性記憶體裝置,—般而言包括快閃記憶 虹卡及曰曰片、.且通常,快閃記憶體系統係被用以與主機系統一起 使用’以使此主機系統可將資料寫人快閃記憶體纽或自快閃記 12 1246649 憶體系統讀取資料。然而,某些快閃記憶體⑽包括置入式快閃 記憶體及執行於主機上以實冑地_為供置人絲閃記憶體用 之控制器之軟體’如同下文將參考第4圖而說明者。參考第2圖, 其將說明包括諸如緊密快閃錢體(Q)mpaetFlash M_ry)卡之 非依電性記憶體裝置之-般主機系統。主機或電腦祕1〇〇一般 而言包括容許微處理ϋΗ)8、隨機存取記憶體(RAM)112、及輸入/ 輸出電路II6通信之系統匯流排刚。應瞭解者為,主機系統削 可-般地包括其他構件,例如因供說明之故而未顯示之顯示器裝 置及網路裝置。 -般而言,主_統丨_•捕捉包括(但不限於)靜態影像資 訊、音頻資訊、及視頻影像資訊特訊。此歸訊可即時捕捉, 並以無線方式傳送至主機系統觸。在主機系統刚可實質地為任 意系統的同時’主《、統卿通常料諸如數位域、視頻攝影 機、蜂刚信裝置 '音頻播放器、或視頻播放器。然而,應瞭 ㈣為二般ϋ ’主齡統⑽可實魏為可儲存龍或資訊, 及檢索資料或資说之任意系統。 主機系統卿亦可為僅她:聽,或僅檢”料之系統。亦 即,於-貝把例中’主機糸統100可為健存資料之專用系統,或 統。11轉例,域系_ 可為排置為僅寫入或儲存貧料之記憮 統100可為諸如通常係排置為可讀 任擇地,主機系 之剛播《之錢。 仏索料,縣捕捉資料 在-實施例中係為可移除之非依電性 性記憶體裝置瓣被排置為可與 ^"衣置之非依電 _04介接以儲存資訊。任 13 1246649 與②路區塊13G可谷許雜電性記憶體裝置12G間接地 係作^1G4介接。當以前述方式實施時,輸入/輸出電路區塊132 ^為可減少匯流排綱之負载,如同熟於此技者可瞭解者。 記憶繼12G_依她咖124及任選記憶體 =細。於-實_ ’ _性記_讀可實施於 _夕曰2曰曰粒上任擇地,非依電性記憶體裝置120可實施於 壯、、且$可軸m且可-起使用以作為非依電性 一衣置120之多個分散構件上。非依電性記憶體裝置⑽之一 貫施例將參考第3圖於下文錢為詳細之說明。 非依電性記憶體124,例如諸純伽快閃記憶體之快閃記 月五係排置為可齡資料,使得資料可於需要雜存取及讀 ^儲存於魏紐記細24之㈣亦可於適#時抹除,雖然 厂二麵#依電性讀、體124内之某些資料係為不可抹除。 \貝料#取貝料、及抹除倾等處理—般而言係由記憶體控 ,;\t28咐工制’或於未存有記憶體控制系統128時,藉由以微 所_ 8所執<亍之軟體控制。非依電性記憶體124之操作可藉由 、7非依兒性屺憶體124之扇區更為實質地且平均地磨損而 、&理以使非依電性記憶體124之壽命可實質地最大化。 ^非依兒性讀體裳置120已大致地說明為包括任選記憶體控 7、洗11亦g卩控制器。通常,非依電性記憶體裝置⑶可包括 七、非依包性冗憶體124用之分離晶片,且記憶體控制系統128,亦 P控㈣揮功用。藉由釋例,於包括(但不限於)^卡、緊密快 門。己丨思版卡、多媒體卡、及保全數位卡之非依電性記憶體裝置包 括可貝知於分離晶片之控制器的同日寺,其餘非依電性記憶體裝置 14 1246649 可不包括實施於分離晶片之控制器。於非依電性記憶體裝置i2〇 並未包括分離記憶體及控制器晶片之一實施例中,記憶體及控制 器功能可集積於單u,如同熟於此技者所瞭解者。任擇地, 記憶體控制系統128之功能性可藉由微處理器1〇8而提供,如同上 文所述之非依電性記憶體裝置120壯包括記憶體控制器128之 實施例。 參考第3圖,根據本發明之-實施例,非依電性記憶體裝置 120將更為詳細地說明。如同±文賴明者,非依電性記憶體裳 置⑽包括非依電性記憶體m且可包括記憶體控制系統⑶。2 然於記憶Urn係為諸如置人姐娜裝置時,雜紐記憶體裝 置120可不包括控制系統128,但記憶體124及控制系統128,^控 制器可為非依電性記憶體裝置120之主要構件。記憶體口何為形 成於半導體基板上之記憶體晶胞陣列,其中,資料之—或多個位 元係藉由將電狀二或更纽準巾之—者儲存於記紐晶胞之 個別儲存元件而儲存於個別記憶體晶胞。雜紐快閃電氣可抹 除唯讀記憶體(EEPROM)係為供此種系統用之常見形式記憶體之 釋例。 當以前述方式實施時,控制系統128係經由匯流排15而與主 ‘電月自或/、他使用§己憶體系統之系統通信以儲存資料。一般而 °匯极排15係為第1圖之匯流排104之部份。控制系統I28亦控 制γ包括C憶體晶胞陣列n之記憶體124之操作以寫入藉由主機 所提供之資料、讀取主機所要求之龍、並實施各種操作記憶體 /力力月匕 般而吕,控制系統128包括具有相關非依電性 "〜肢各種邏輯電路、及類似物之一般目的微處理器。一 15 1246649 或多個狀態機亦經常被包括以控制特定常式之性能。 記憶體晶胞陣列11通常係藉由控制系統128或微處理器1〇8 而經由位址解碼器17定址。解碼器17應用正確電壓於陣列u之閘 極與位兀_規|彳資料而自藉由控織統128定址之記憶體晶胞 君f組.貝取資料或抹除藉由控制系統丨2 8定址之記憶體晶胞君羊組。 額外電路19包括控制取決於被規劃於晶胞之定址群組之資料而 應用於陣列元件的電壓的規劃驅動器。電路19亦包括感應放大器 及其他自記憶體晶胞之定址群組讀取資料所需之電路。欲規劃於 陣列11之資料,或最近自陣讀取之龍通常係儲存於控制系 統128之緩衝器記憶體21。控制系統128通常亦含有各種供用以暫 時地儲存命令及狀態資料與類似物之暫存器。 陣列11被分割為大量之區塊0(BLOCK 0)至區塊n(bl〇ck 記憶體晶胞。如同對快閃EEPROM系統而言係為普通的,區塊通 常係抹除之最小單元。亦即,每一區塊含有最小數目之_併被抹 除之圯憶體晶胞。每一區塊通常係劃分為數頁。如熟於此技者將 可瞭解者,頁可為規劃之最小單元。亦即,基本規劃操作將資料 寫入記憶體晶胞之最小一頁或自記憶體晶胞之最小一頁讀取資 料。一或多個資料扇區通常係儲存於每一頁内。如第3圖所示, 一扇區包括使用者資料及負擔資料。負擔資料通常包括自扇區之 使用者育料計算之錯誤校正碼(ECC)。當資料係被規劃於陣列“ 時,控制系統128之部份23可計算ECC,並於資料係自陣列u讀取 時,檢查ECC。任擇地,ECC係儲存於與其所附屬之使用者資料 不同之頁或不同之區塊。 對應於磁碟驅動機之扇區大小,使用者資料扇區通常係為 16 1246649 Μ2位兀組。負擔資料通常係為額外之丨6位元組。資料之一扇區 最常見者係被包括每-頁,但二或更多扇區可代之以形成一頁: -般而言’任意數目之頁可形成—區塊。藉由釋例,區塊一可自°δ 頁至512、1024或更多頁而形成。區塊數目係被選擇以提供系统 記憶體所欲之資料儲存容量。陣列u通常係被分割為數紙陣列 (未顯示),每一次陣列含有區塊比例,其於某種程度上係彼此獨 立_作以增加各種記憶體操作執行之平行性程度。數個次陣列 之使用之-釋例係說明於美國專利第5,890,192號,該專利之全部 内谷在此係作為本發明之參考資料。 /於一實施例中,非依電性記憶體係被置入於諸如主機系統之 糸統中。第4圖係包括置入式非依電性記憶體之主機系統之圖式 表示。一躺言’域««祕G包括料域錢⑼之盆 他構件(未顯示)之微處理器⑸、从贈、及輸入/輸出電路166 通信之系統匯流排154。諸如快閃記憶體之非依電性記憶體174容 許資訊被儲存社機_15()。介面⑽可難做雜電性記憶 體m及匯流排154間’以令資訊可自非依電性記憶體⑽賣取及 將資訊寫入非依電性記憶體174。 非依電性記憶體m可藉由有效地執行被排置為可控制非依 电1•生Z fen 174之軟體或勅體中之—者或全部的微處理器⑸而 加以0里。亦即’微處理器⑸可執行諸如軟體碼裝置或韌體碼 裝置㈣許湖雜紐記顏m之碼健(未齡)。可為與微 處理為158内部之cpu封裝之快閃記憶體、分離快取⑽、或位 於非依紐記憶體174邮卩之鱗碼裝置,域於下文說明者, 可令非依紐記髓Π销部之實體區塊被定絲,且可將資訊 17 1246649 儲存於實體區塊、可自實體區塊讀取資訊、及自實體區塊將資訊 抹除。 一般而言,當使用者寫入資料時,使用者使用檔案系統有效 地寫入貧料。此檔案系統令資料與邏輯區塊產生關聯,或更詳而 5之’令資料與邏輯區塊之頁產生關聯,此邏輯區塊係對映於與 儲存媒體有關之實體區塊。第5圖係根據本發明之一實施例之具 有邏輯區塊的檔案系統及具有實體區塊之媒體的圖式表示。檔案 系統514之邏輯區塊510包括任意數目之頁518。包括於諸如邏輯 區塊510a之邏輯區塊的頁518之數目係取決於抹除單元之大小。 舉例言之,當最小抹除單元含有約三十二頁時,約三十二頁可被 包括於邏輯區塊510a,如圖所示。 諸如置入式快閃記憶體之媒體534之實體區塊53〇包括數頁 538。如同熟於此技者將可瞭解者,包括於實體區塊53〇之頁5兇 之數目通常係與包括於邏輯區塊530之頁518之數目相同。然而, 包括於邏輯區塊510之頁518之數目可無需與包括於實體區塊53〇 之頁538之數目相同。 弟6圖係根據本發明之一貫施例之與一以上之具有更新索引 之貫體區塊有關之避輯區塊之圖式表示。邏輯區塊係對映於 可為已知之「目前」或「舊」實體區塊之實體區塊56〇。詳而言 之,與邏輯區塊550之頁552有關之内容係儲存於實體區塊56〇的 頁562之資料區域568,以作為内容564。當實體區塊56〇之頁562 係為盈滿(如圖所示)時,或實體區塊560係無法接受與邏輯區塊 550有關之更新時,包括頁572之新或備用實體區塊57〇可被獲 得,如同自維持於整體非依電性記憶體系統之備用區塊組獲得之 18 1246649 例於夕數丨月形中,隨著與未被儲存於實體區塊56〇之邏輯區塊 550有關之任何更新’儲存於實體區塊娜之至少某些内容兄何 ^由複製#作或合併操作之使用而被提供於實體區塊別。詳言 之’亚未有效地藉由與邏輯區塊別有關之更新而取得之任何内 容564可隨著更新提供於實體區塊57〇。於一實施例中,當所有内 合564係貝貝有效地藉由與邏輯區塊550有關之更新而取得時,基 本上並未有内容564被儲存實體區塊別。如熟於此技者將可瞭解 者田未有未被包括於實體區塊MO之新資料欲被提供予實體區 塊5700η旻製處理係為適當的,同時,當未被包括於實體區塊 560之新或更新資料欲被包括於實體區塊遍寺,合併操作係為適 當的。 :體區塊560之每—頁562包括冗餘或負擔區域566。類似 地’貫體區塊570之每—頁572亦包括冗餘或負擔區域—。於說 明實施例中’與實舰塊湖n562a錢之冗餘區域施 包括形成更新索引568之位元組。然而,應瞭解者為,實體區塊 湖之任意數目之冗餘區域566可包括更新索引,例如,冗餘區域 566b可包括具有與更新索引568相同之值的更新索引娜。 直至實體區塊57〇係與邏輯區塊55〇有關為止,諸如經由識別 與實體區塊別有社至少—職區域讲之位元組之釋例,實體 區塊別-般而言絲清空的。然而,—旦實體區塊別係與邏輯 區塊55〇有關,更«細係被儲存於對應於實體娜7〇之第 -頁572a之冗麵域576a。應瞭解者為,額外更新索引可被儲存 於實體區塊57G,如同被儲存於冗餘區域576]3且具有與更新索引 578相同之值的更新索引598之釋例。 19 1246649 —般而言,更新索引578係被設定為具有一於與更新索引568 較日寸,可將貝體區塊57〇識別為較新或更新近地與實體區塊56〇 有關之值。更新索引578及更新索引568之使用可於包括實體區塊 56〇及別之整體纟統之電力遺失後作成實體區塊56()之至少某些 内谷564是否係於提供予實體區塊57〇之處理之判定。如圖所示, 實體區塊560之某些内容564a&564b已個別以内容弘如,及兄牝, 被k供予貫體區塊570,同時,諸如内容564d之欲提供之其他内 容並未被提供。除此之外,與邏輯區塊55〇有關之更新可於諸如 奴以内容574替換内容564c之適當時間,以内容574儲存於實體區 塊570 〇 於電力遺失後,當實體區塊560及570兩者皆係與邏輯區塊 550有關時,其指示可能為欲將實體區塊56〇之某些内容$料提供 予實體區塊570之操作並未成功地完成。於說明實施例中,當更 新索引具有可瞭解係為較更新索引568之值諸如更高之更新值 時,其指示為欲提供予實體區塊57〇之實體區塊56〇之任何内容 564可能並未全部成功地提供予實體區塊57〇。 於更新係為諸如與邏輯區塊550有關之新或修正内容而有效 地皆取得實體區塊560之内容564之情形中,内容564中並未有任 一者可被儲存於實體區塊570。因此,若欲分解實體區塊55〇及 570,如同於電力遺失後之電力開啟期間之釋例,其可判定内容 564中並未有任一者欲合併於實體區塊57〇。 一般而言,為實質地最小化可能因中斷實體區塊56〇及57〇 間之更新、複製、或合併處理而產生之資料遺失之數量,實體區 塊560之更新索引568及實體區塊570之更新索引切可被研究,以 20 1246649 將實體區塊57〇識職新實體區塊。@此,於實體區塊別被獲得 時,諸如欲實施有關實體區塊56〇之更新、複製、或合併處理日又夺, 更新索飲578通常係被儲存於實體區塊57〇。 參考第7圖’根據本發明之一實施例之與將_實體區塊之内 容更新、複製、或合併於另—實魏塊之方法有社步驟將說明 如下。複製或合併區塊之處理600開始於步驟6〇2,其中,新或備 用倾區塊可被獲得。詳言之,细實塊可鋪得而作魏 與遴輯區塊產生關朗應於邏輯區塊之新實體區塊。—旦新或 備用區塊被獲得’「舊」實體區塊或目前與邏輯區塊有關之新實 體區塊欲產生關聯之實體區塊之更新索引於步驟6〇4被檢索。2 說明實施射,更新索引係以諸如四位元之位元儲存於與實體區 塊有關之冗餘區域。因此,檢Μ實體區塊之更新索引通常包括 自與舊實體區塊錢之冗餘區域或負舰域獲得更新索引。應瞭 解者為’供實體區塊用之更新索引可被儲存於實體區塊之諸如第 -頁之僅-頁的冗餘區域’或者’更新索引可實質地被儲存於實 體區塊之每一頁之冗餘區域。 、 —於舊實體區塊之更新索引被檢索後,其於步驟⑼6作成有關 售實體區塊之更新索引是否係實質地相等於最高可能更新索引 值之判^。於更新料包括四位紅實施例巾,最高可能更新索 引值可為十五’軸最高可能更財引值可叙較變。若其判 定舊實體區塊之更新索引係未實f地相等於最高可能更新索引 值’則處理流程自步驟_移動至步驟_,其中,新實體區塊之 更新索引係被設定為較舊實體區塊之更新索引更高之值。通常, 將新實體區塊之更新索引設定為較舊實體區塊之更新索引更高 21 1246649 之值牽涉將新實體區塊之更新索引設定為較舊實體區塊之更新 索引值高一之值。應瞭解者為,一般而言,設定新實體區塊之更 新索引亦包括將更新索引儲存於與實體區塊有關之冗餘區域。一 般而言,不同於判定新實體區塊之更新索引係於何時被設定為較 售貝體區塊之更新索引更高之值,其可替代地判定新實體區塊之 更新索引係於何時被設定為較舊實體區塊之更新索引更新之值。 於新實體區塊之更新索引被設定後,適當之更新、複製、或 合併處理於步驟61G被初始,以個別地自—新使用者f料組及/或 售實體區塊將龍更新、複製、或合併於新實體區塊。而後其於 步驟612判定更新、健、或合併處理是否已成功地完成。此判 定可根據B所有目前邏輯頁皆對新實體區塊計算而作成。當其 判定複製或合併處理已成功地完鱗,其係指示對應於舊實體區 塊之與邏輯區塊有關之最新資料已被置放於新實體區塊。因此,
製、或合併區塊之處理即為完成。 ,且舊實體區塊之内 Μ皮抹除,更新、複 任擇地,若其於步驟612判定«料合併賴實·塊之更 新、複製、或合併處理並未成功地完成,
此等二對應實體區塊可有效 22 1246649 地被分解。亦即,舊實體區塊及新實體區塊之内容可被分解,使 得與舊實體區塊及新實體區塊所對應之邏輯區塊有關之最近内 容可被複製或合併,因而可使最近内容被置放於新實體區塊。用 以分解舊實體區塊及新實體區塊之方法將參考第8圖說明如下。 一旦舊實體區塊及新實體區塊被分解,更新、複製、或合併區塊 之處理即為完成。 返回至步驟606,若其判定舊實體區塊之更新索引係實質地 相等於最高可能更新索引值,則新實體區塊之更新索引之值可於 步驟618被設定為零。當舊實體區塊之更新索引係實質地相等於 最高可能更新索引值且新實體區塊之更新索引係被設定為零 時,其指示為新實體區塊係較舊實體區塊更新。於新實體區塊之 更新索引被設定後,處理流程前進至步驟61〇,其中,自舊實體 區塊將資料複製或合併於新實體區塊被初始化。 第8圖係說明根據本發明之一實施例之諸如第頂之步驟616 的與分解舊實龍塊及新實寵塊有社步_處理流程圖。分 解對應於相同邏輯區塊之二實體區塊之處理616開始於步驟 640,其中,含有對應於邏輯區塊之資料之第—實體區塊被獲得。 應瞭解者為,第-實體區塊可為舊實體區塊或新實體區塊。一旦 第一實體區塊被獲得,含有對應於邏輯區塊之資料的第二實體區 塊可於步驟642被獲得。 、 於步驟644,第一實體區塊之更新索弓I,亦即,第-更新索 引被檢索…姆,更物_物與第—_塊有關 。通常,更新索引係自第—實體區塊之 弟一頁麵H齡,亦即,第二更新索引 23 1246649 係於步驟646被檢索或獲得。 奸_於弟一更新索引及第二更新索引被獲得後,第-更新索引及 枯θ更新索引可被比較。據此,於步驟648中,與第—更新索引 疋否係大於第—更財引值有關之判定被作成。應瞭解者為, ΓΓ—姨索引具有為零之值,若第二更新索引具有之值為更 妙/'+引之取大值,第—更新索引可大於第二更新索引,反之亦 :右其版弟-更新索引並未大於第二更新索引,則其指示為 2貫體區塊係新實體區塊。換言之,其意指#複製或合併處理 2斷時’第-實體區塊之内容應被更新、複製、或合併於第二 :區塊因此’處理流程自步驟648移動至步驟㈣,盆中,適 當之複製或合併處理姑成料餘與第—實龍塊有關之内 谷更新、複製'或合併於第二實體區塊。完成更新、複製、或合 城理可包括識別具有第—實體區塊之内容但未具有第二實體 區塊之内容的頁’並將此等内容提供予第二實體區塊。 一旦將内容複製或合併於第二實體區塊之處理完成,則第一 貫體區塊於步驟652被抹除。一般而言,抹除第一實體區塊包括 »第-實體區塊之更新索引,及實f地令第—實體區塊與現在 和第二實體區塊有關之邏無塊失去關聯。_旦第—實體區塊被 抹除,分解區塊之處理即為完成。 k回至步驟648 ’右其判定為第一更新索引係大於第二更新 索引’則其指示為第-實體區塊係、新實體區塊,同時,第二實體 區塊係舊實塊。因此’於步獅54,先前縣完成之更新、 複製、或合併處理被完細適#地將第二實體區塊之内容複梦或 合併於第-實體區塊。-旦第—實顏塊含有與和第—實體區塊 24 1246649 有關之邏雛塊有關之最近或目肋容’例如於第—實體區塊之 至少-冗餘區域識別之邏輯區塊,第二實體區塊於步祕6被抹 除,且分解區塊之處理完成。 -般而言’與經由使収新索引維持更新索?丨及分解區塊之 功能性係提餅諸如程式碼裝置之軟體或主機純.體。與軟 體或提供予域魏之軔財關之致_侧勻發生之適當系 統架構之-實施例顯示於第9圖一般而言,系統架獅^各 種可包括但不限於應用介面模組7〇4、系統管理者模組·、資料 管理者模組712、㈣整體性管理者716、及健f理者及介面模 組720等模組。-般而言’系統架構·可藉由使用以諸如第2圖 之處理器108存取之軟體碼或軔體實施。 一般而言,應用介面模組7〇4可排置為可與主機、作業系統 或使用者紐通信。應用介面肋辦亦可與钱管理者模組· 及資料管理者模組712通信。當使用者要求讀取、寫入、或格式 化快閃記憶體時,使用者傳送要求至作業系統,此等要求被送至 應用介面模組7〇4。取決於此等要求,應用介面模組他將此等要 求導至系統管理者模組7〇8或資料管理者模組712。 系統管理者模組708包括系統初始化次模組似、抹除次數區 塊管理次模組726、及功率管理區塊次模組73〇。一般而言,系統 初始化次餘?24顯置騎致動欲纽之初始化要求,且通常 與抹除次舰塊管理域組726通信。抹除键區塊㈣次模組 726包括儲存區塊之抹除次數的功能性,及計算平均抹除次數之 功能性,及使用侧抹除次數更新之功紐。抹除次數之使用係 說明於共同待審查之於細年则28日提㈣請之美國專利申 25 Ϊ246649 請案第10/281,739號案(代理人文件編號為SANDp〇23),該申請案 之王邛内谷係於此處被包含作為參考之用。系統初始化模組 亦被排置為可分解一對多、邏輯對實體區塊分配,且因此,可利 用更新索引。 除與應用介面模組704通信外,系統管理者模組7〇8亦係與資 料管理者模組712及裝置管理者及介面模組72〇通信。與系統管理 者模組708及應用介面模組7〇4兩者通信之資料管理者模組712可 包括提供有效地將邏輯扇區翻譯為實體扇區之扇區對映。亦即, 資料管理者模組712係排置為可將邏輯區塊對映於實體區塊。資 料管理者模組亦可包括與作職統及觀純介面層有關之 力倉bf生,並致動欲官理之區塊之群組,如2〇〇2年忉月”日提出申 請之共同待審查之美國專利申請案第似取855號案(代理人文件 編號·· SANDP029)所說明者,該申請案之全部内容係包含於此處 作為參考之用。 與系統管理者模組708、資料管理者712、及資料整體性管理 者716通信之裝置管理者及介面模組72()通常提供快閃記憶體介 面且包括與硬體摘要有關之諸如1/〇介面之功能性。資料整體性 官理者模組716可提供其他功能性之ECC掌握。 雖然本發明僅就數個實施例加以說明,但應瞭解者為,於不 ’ί予離本發明之精神或範圍之情況下,本發明可以其他狀形式實 施。藉由_,於賴區塊之賴群組及實體區塊之對應實體二 組已祝明為具有實質相同之大小的同時,-般而言,邏輯群組及 實體群組可為砰之大小。換言之,包括於邏輯群組之頁數及包 括方、貝魅:群組之對應於邏輯群組之頁數可不相同。 26 1246649 於更新索引已說明為包括四位元之同時,應瞭解者為,一般 而言,更新索引可包括任意數目之位元。舉例言之,更新索引^ 包括少於四之位元,或更新钊可包括多於四之位元,例如高達 約-位元組或更多。位元之數目可根據包括但不限於整體系統需 求及整體系統之實體區塊的冗餘區域之可用位元數目等原因^ 選擇。 μ -般而言,實體區塊之更新索引間之任意實質不_可被用 以判定數個實體區塊中之何者係未結束區塊,或判定應更新、複 製、或合併目前資料之區塊。雖然具有較高更新索引之實體區塊 已被說明為係較新者,諸如未結束區塊,具有較低更新索引之實 體區塊可代替較新區塊,例如,當備用實體區塊被獲得時,若備 用貫體區塊之更新索引被設定為小於目前實體區塊之更新索引 之值。類減,更新索引德元可驗轉或移_提供供更新索 引用之可被用以判定那一更新索引係與較新區塊有關之不同 「值」。 於更新索引被用以判定數個實體區塊中之何者係新或備用 實體區塊且數個實體區塊中之何者係舊實體區塊後,複製或更新 操作可有效地被再開始以完成提供諸如更新、複製、或合併資訊 於備用實體區塊之處理。於-實施例中,於不择離本發明之精神 及範圍之情形下,於再開始更新、複製、或合併操作之前,備用 實體區塊之内容可被抹除,且備用實體區塊之更新索引可被重置 為較舊實體區塊之更新索引的值諸如更高之更新之值。同時消耗 時間之抹除備用實體區塊,可減少判定舊實體區塊中之那些内容 已提供予備用實體區塊,及舊實體區塊之那些内容應提供予備用 27 1246649 實體區塊之需要。 與本發明之各種方法有關之步驟可廣泛地改變。一般而言, 步驟可被增加、移除、再排序、及改變。舉例言之,於實體區塊 被獲付後貫質地立刻分解實體區塊之處理綱,姨索引可自實 體區塊被檢索。 、 於一實施例中,由於舊實體區塊係實質地於複製或合併處理 後被抹除,若對包括舊實塊及對辆實體區塊之純之電力 被切斷’則售貫體區塊及新實體區塊—般而言將與單—邏輯區塊 有關。因此,應瞭解麵,於不雜本發明之精神圍之情形 下二稷製或合併處理是奸成功完紅欺可包_定是否仍有 -貫體區塊與單-邏輯區塊有關。因此,目前之釋例係考量為供 。兄明之用’而非供限制之用,且本發明並未限於此處所詳述之說 明,而係可於睛”請專纖社翻峡行修改者。° 【圖式簡單說明】 第1圖係邏輯區塊、與邏無塊有關之目前實塊、及欲 替換目前實塊之_實體區塊之圖式表示。 第2圖係包括非依電性記憶體之一般主機系統之圖式表示。 -第3圖係諸如第2圖之記憶體裳㈣之記憶體裝置之圖式表 不0 _第4圖係包括置入式非依電性記憶體之主機系統之圖式表 第5圖係根據本發明之-實施例之具有邏輯區塊之標案系統 及具有實體區塊之媒體之圖式圖表示。 28 1246649 第6圖係根據本發明之一實施例之與一以上之具有更新索引 ^實體區塊有_邏輯區塊之圖式表示。 第7圖係根據本發明之一實施例之說明與初始更新、複製、 或&併處理有關之步驟之處理流程圖。 弟8圖係根據本發明之一實施例之說明與分解諸如第7圖之 步驟㈣之舊區塊麵區塊有關的步狀處理流程圖。 —弟9圖係根據本發明之—實施例之系統架構之圖式方塊圖表 不0 【圖式之主要元件代表符號表】 200 邏輯區塊 202、 212 、 222 頁 100 主機或電腦系統 108 微處理器 112 隨機存取記憶體(RAM) 116 輸入/輪出電路 124 非依電性記憶體 130 輸入/輸出電路區塊 15 匯流排 19 額外電路 23 錯誤校正碼(ECC) 154 系統匯流排 162 隨機存取記憶體(RAM) 174 非依電性記憶體 210 實體區塊 214 内容 104 系統匯流排 120 非依電性記憶體裝置 128 記憶體控制器系統 11 記憶體晶胞陣列 17 位址解碼器 21 緩衝器記憶體 150 主機或電腦系統 158 微處理器 166 輸入/輸出電路 180 介面 29 1246649 514 檔案系統 510、550 邏輯區塊 518、538、552、562、562a、572 頁 530、560、570 實體區塊 534 媒體 564、564a、564b、564c、564d、564a’、564b’ 内容 566、566a、566b、576、576a、576b 冗餘或負擔區域 568、578、588、598 資料區域、更新索引 600 處理 602、604、606、608、610、612、614、616、618、640、642 644、 646、648、650、652、654、 656 步驟 700 糸統架構 704 應用介面模組 708 系統管理者模組 712 資料管理者模組 716 資料整體性管理者 720 1置管理者及介面模組 724 系統初始化次模多且 726 抹除次數區塊管理次模組 730 功率管理區塊次 30

Claims (1)

1246649 拾、申請專利範圍: •種用以將第—實體區塊及第二實體區塊之關聯性分 解為與非依電性記憶㈣財關之賴區塊之方法,該 方法包含: / k得與该第一貫體區塊有關之第一識別器; 獲得一與該第二實體區塊有關之第二識別器; 比較该第一識別器與該第二識別器以判定該第一 識別器係於何時指示該第—實體區塊係較該第二實體 區塊更新近地與該邏輯區塊有關;以及 當其判定該第-識別器指示該第一實體區塊係更 新近地與該邏輯區塊有關時,完成—排置為可提供與該 邏輯區塊㈣之内容予該第—實體區塊之操作。 2·如申請專利範圍第丨項所述之方法,其更包括: 15 /當其判定該第-識別器並未指示該第一實體區塊 係更新近地與該簡區塊有_,完成—排置為可提供 與該邏輯區塊有關之内容予該第二實體區塊之掉作/ 3·如申請專利制第!項所述之方法,其中,獲得該第— 識別器包括自一與該第一實體區塊有關之負擔區_ 射玄第-識別器,且獲得該第二識別器包括自—與該第又 二實體區塊有關之負擔區域獲得該第二識別器。 4·如申請專利範圍第3項所述之方法,其中,該第—識別 器係為-第-更新以丨,且該第二識別器係為—第: 新索引。 5. 如申請專利範圍第4項所述之方法 其中,該第_ 更新 20 1246649 約短於一位元組之長度’且該第二更新㈣ 八有約短於一位元組之長度。 6.如申請專利範圍第1項所述之方法,其中,比較該第— =別器與該第二識別器以判定該第-識別器係於何時 Γ該第—實體區塊係較該第二實體區塊更新近地與 知料區塊有關包括判定該第—識別器係於何時 —較該第二識別器之-值更高之值,且完成排置為可提 供與該邏輯區塊有關之内容予該第一實體 10 15 20 7包括於其判定該第-識別器具有—較該第二識^ 更鬲之值時,完成該操作。 7. 2申請專利範圍第i項所述之方法’其中,該操作係為 更新刼作、一複製操作、及—合併操作中之一者。 .如申請專利範圍第1項所述之方法,其更包括: 識別該第一實體區塊;以及 識別該第二實體區塊。 9·如申請專利範圍第1所述之方法,其更包括: 於該操作完成後’抹除該第二實體區塊,其中,抹 除該第二實體區塊包括抹除二識別器。 1〇.如申請專利範圍第1項所述之方法,其中,該非依電性 記憶體系統係為一_快閃記憶體系統。 如申請專利範圍第1項所述之方法,其中,該第-識別 益係更排置為可指示該第-實體區塊之頁皆係實質地 12 ^該第二實體區塊之頁更新近地與該邏輯區塊有關。 種用以令第二實體區塊與非依電性記憶體系統之邏 32 1246649 輯區塊產生關聯之方法,該邏輯區塊具有一第一相關實 體區塊,該第一實體區塊含有與該邏輯區塊有關之内 容,該方法包含: 獲得該第二實體區塊; 5 將一與該第二實體區塊有關之第二指示器設定為 一值,該值係實質地與一和該第一實體區塊有關之一第 一指示器之值相異;以及 初始一操作以提供含於該第一實體區塊之頁之至 少某些内容予該第二實體區塊,其中,該第二指示器係 10 排置為可指示該第二實體區塊之頁係較該第一實體區 塊之頁更新近地與該邏輯區塊有關。 13.如申請專利範圍第12項所述之方法,其更包括: 自該第一實體區塊檢索該第一指示器;以及 判定該第一指示器之該值。 15 14.如申請專利範圍第13項所述之方法,其中,設定該第二 指示器包括將該第二指示器設定為一高於該第一指示 器之該值之較高值。 15.如申請專利範圍第13項所述之方法,其中,該第一指示 器係自該第一實體區塊之一冗餘區域檢索。 20 16.如申請專利範圍第12項所述之方法,其更包括: 將該第二指示器儲存於該第二實體區塊。 17.如申請專利範圍第16項所述之方法,其中,將該第二指 示器儲存於該第二實體區塊包括將該第二指示器儲存 於與該實體區塊有關之一冗餘區域。 1246649 18·如申請專利範圍第17項所述之方法,其中,將 不器儲存於該冗餘區域包括將該第二指示器:日 兀組儲存於該冗餘區域。 、、立 =申請專鄕圍第12料之方法,其巾,賴作係 新操作、-複製操作、及—合併操作中之—者。、更 20·如申請專利範圍第Π項所述之方法,其中,該非依電性 心fe體系統係為一 NAND快閃記憶體系統。 21.—種用以將第一實體區塊及 10 15 20 貝月且^塊之關聯性分 解為”非依電性記憶體有關之邏輯區塊之系統,該系統 包含: 用以獲得一與該第一實體區塊有關之第 之碼裝置; J叩 用以獲得一與該第二實體區塊有關之第二識別器 之碼裝置; a —用以比較該第-識別器與該第二識別器以判定該 ^ 一識別㈣於何時指示該第—實體區塊係較該第二/ 貝體區塊更新近地與該邏輯區塊有關之碼裝置; 用以於其判定該第-識別器指示該第一實體區塊 係更,近地触區射_,完成為可提供 與該邏輯區塊有關之内容予該第—實體區塊之操作之 碼裝置; 一用以儲存該等碼裝置之記憶體區域;以及 一用以處理該等碼裝置之處理器。 22·如申請專利範圍第21項所述之系統,其更包括·· 34 1246649 用以於其判定該第-識別器並未指示該第-實體 區塊係更新近地與該邏輯區塊有關時,完成_排置為可 提供與該邏輯區塊有關之内容予該第二實體區塊之操 作之碼裝置。 5 23.如申請專利範圍第21項所述之系統,其中,用以獲得該 第一識別器之該等碼裝置包括用以自一與該第—實體 區塊有關之負擔區域獲得該第—識別器之碼裝置,且用 則蒦得該第二識別器之該等碼裝置包括用以自一與該 第二實體區塊有關之負擔區域獲得該第二識別器之碼 10 裝置。 24·如申請專利範圍第21項所述之系統,其中,用以比較該 第-識別器與該第二識別器以判定該第一識別器係於 何日可指不該第-實體區塊係較該第二實體區塊更新近 地與該邏輯區塊有關之該等碼裝置包括用以判定該第 15 —識別器係於何時具有-較該第二識別器之一值更新 之值的碼裝置’且用以於其判定該第—識別器具有一較 該第二識別器更新之值時,完成排置為可提供與該邏輯 區塊有關之内容予該第一實體區塊之該操作之該等碼 裝置包括用以完成該操作之碼裝置。 20 ^5·如申請專利範圍第21項所述之系統,其中,該操作係為 一更新操作、一複製操作、及一合併操作中之一者。 26·如申請專利範圍第21項所述之系統,其中,該非依電性 吕己憶體係為一 N AND快閃記憶體。 27·如申请專利範圍第21所述之系統,其中,該第一識別器 35 1246649 係更排置為可指示該第一實體區塊之頁皆係實質地較 該第二實體區塊之頁更新近地與該邏輯區塊有關。 28. —種用以令第二實體區塊與非依電性記憶體之邏輯區 塊產生關聯之系統,該邏輯區塊具有一第一相關實體區 5 塊,該第一實體區塊含有與該邏輯區塊有關之内容,該 系統包含: 用以獲得該第二實體區塊之碼裝置; 用以將一與該第二實體區塊有關之第二指示器設 定為一值之碼裝置,該值係實質地與一和該第一實體區 10 塊有關之一第一指示器之值相異; 用以初始一操作以提供含於該第一實體區塊之頁 之至少某些内容予該第二實體區塊之碼裝置,其中,該 第二指示器係排置為可指示該第二實體區塊之頁係較 該第一實體區塊之頁更新近地該邏輯區塊有關; 15 一用以儲存該等碼裝置之記憶體區域;以及 一用以處理該等碼裝置之處理器。 29. 如申請專利範圍第28項所述之系統,其中,用以設定該 第二指示器之該等碼裝置包括用以將該第二指示器設 定為一高於該第一指示器之該值之較高值的碼裝置。 20 30.如申請專利範圍第28項所述之系統,其更包括: 用以將該第二指不器儲存於該第二貫體區塊之碼 裝置。 31.如申請專利範圍第30項所述之系統,其中,用以將該第 二指示器儲存於該第二實體區塊之該等碼裝置包括用 36 1246649 以將該第二指示器儲存於與該實體區塊有關之—冗餘 區域之媽裝置。 32.如申請專利範圍第28項所述之系統,其中,該非依電性 吕己憶體係為一 NAND快閃記憶體。 5 ^3· 一種非依電性記憶體系統,其包含: 一非依電性記憶體,該非依電性記憶體包括對應於 一相關邏輯區塊之一第一實體區塊及一第二實體區塊; 用以獲得一與該第一實體區塊有關之第一識別器 之裝置; % 1〇 用以獲得一與該第二實體區塊有關之第二識別器 之裝置; °° 用以比較該第一識別器與該第二識別器以判定該 第一識別器係於何時指示該第一實體區塊之所有頁皆 係實質地較該第二實體區塊之所有頁更新近地與該邏 15 輯區塊有關之裝置;以及 用以於其判定該第一識別器指示該第一實體區塊 之所有頁皆係實質地更新近地與該邏輯區塊有關時,將 與該邏輯區塊有關之内容提供予該第一實體區塊之裝 置。 20 34·如申請專利範圍第33項所述之系統,其更包括: 當其判定該第一指示器並未指示該第一實體區塊 係更新近地與該邏輯區塊有關時,用以提供與該邏輯區 塊有關之該等内容予該第二實體區塊之裝置。 35·如申請專利範圍第33項所述之系統,其中,該第一實體 37 1246649 區塊包括一第一負擔區域且該第二實體區塊包括一第 二負擔區域,且其中,用以獲得該第一識別器之該等裝 置包括用以自該第一負擔區域獲得該第一識別器之裝 置,且用以獲得該第二識別器之該等裝置包括用以自該 5 第二負擔區域獲得該第二識別器之裝置。 36. 如申請專利範圍第33項所述之系統,其中,用以比較該 第一識別器及該第二識別器以判定該第一識別器係於 何時指示該第一實體區塊係較該第二實體區塊更新近 地與該邏輯區塊有關之該等裝置包括用以判定該第一 10 識別器係於何時具有一較該第二識別器之一值更新之 值的裝置,且完成排置為可提供與該邏輯區塊有關之内 容予該第一實體區塊之該操作包括於其判定該第一識 別器較該第二識別器具有一更新之值時,完成該操作。 37. 如申請專利範圍第33項所述之系統,其更包括: 15 用以於該操作完成後,抹除該第二實體區塊之裝 置,其中,用以抹除該第二實體區塊之該等裝置包括用 以抹除該第二識別器之裝置。 38. 如申請專利範圍第33項所述之系統,其中,該非依電性 記憶體係為一NAND快閃記憶體,且該非依電性記憶體 20 系統係為一 NAND快閃記憶體系統。 39. —種記憶體系統,其包含: 一非依電性記憶體,該非依電性記憶體包括一與一 邏輯區塊有關之第一實體區塊及一第二實體區塊,其 中,該第一實體區塊含有與該邏輯區塊有關之資訊; 38 1246649 用以獲得該第二實體區塊之裝置; 用以將與該第二實體區塊有關之一第二指示器設 定為一實質地與一和該第一實體區塊有關之一第一指 示器之值不同的值之裝置,其中,該第二指示器係排置 5 為可指示與該第二實體區塊有關之所有頁皆係較與該 第一實體區塊有關之所有頁更為新近地與該邏輯區塊 有關;以及 用以初始一可提供含於該第一實體區塊之至少某 些資訊予該第二實體區塊之操作的裝置。 10 40.如申請專利範圍第39項所述之系統,其更包括: 用以於該資訊中之至少某些提供予該第二實體區 塊後,自該第一實體區塊抹除該資訊及該第一指示器之 裝置。 41. 如申請專利範圍第39項所述之系統,其中,用以設定該 15 第二指示器之該等裝置包括用以將該第二指示器設定 為一較該第一指示器之該值更高之值。 42. 如申請專利範圍第39項所述之系統,其更包括: 用以將該第二指示器儲存於與該實體區塊有關之 一冗餘區域之裝置。 20 43.如申請專利範圍第39項所述之系統,其中,該非依電性 記憶體係為一 NAND快閃記憶體且該非依電性記憶體 系統係為一NAND快閃記憶體系統。 44. 一種非依電性記憶體,其包含: 一第一實體區塊,該第一實體區塊包括至少一第一 39 1246649 頁,該第一頁包括一儲存一第一位元組之第一負擔區 域;以及 一第二實體區塊,該第二實體區塊包括至少一第二 頁σ亥弟一頁包括一儲存一第二位元組之第二負擔區 域,該第-實體區塊及該第二實體區塊係與—邏輯區塊 有關,該第一位元組係排置為可指示該第一實體區塊之 貝貝所有頁之相對年齡,該第二位元組係排置為可指 不該第二實體區塊之實質所有頁之—相對年齡,其中, 該第一位元組及該第二位元組係排置為可比較以判定 第員體區塊是否更新近地與該邏輯區塊有關。 45·種用时第二實體區塊與非依電性記憶體系統之邏 輯區塊產生關聯之方法,該邏輯區塊具有_第一相關實 體區塊,該第-實體區塊含有與該邏輯區塊有關之較舊 内容,該方法包含·· 15 獲得該第二實體區塊; 20 一將與該第二實體區塊有關之_第二指示器設定為 一實質地與和第-f體區塊有關之一第一指示器之一 值不同的值,其中,該第二實體區塊係、排置為可指示盘 該第二實體區塊有關之所有頁係實質地較與該第一實 體區塊有關之所有頁更新近地與該邏輯區塊有關;以: —初始-可提供與該邏輯區塊有關之新内容予該第 二實體區塊之操作,其中’該等新内容中之至少某些係 排置為該等較舊内容之較新版本。 46.如申請專利範圍第45項所述之方法,其更包括: 40 1246649 自該第一實體區塊檢索該第一指示器;以及 判定該第一指示器之該值。 47. 如申請專利範圍第46項所述之方法,其中,設定該第二 指示器包括將該第二指示器設定為一較該第一指示器 5 之該值更高之值。 48. 如申請專利範圍第46項所述之方法,其中,該第一指示 器係自該第一實體區塊之一冗餘區域檢索。 49. 如申請專利範圍第45項所述之方法,其更包括: 將該第二指示器儲存於該第二實體區塊。 10 50· —種非依電性記憶體系統,其包含: 一非依電性記憶體,該非依電性記憶體包括一與一 邏輯區塊有關之第一實體區塊及一第二實體區塊,其 中,該第一實體區塊含有與該邏輯區塊有關之至少某些 較舊資訊; 15 用以獲得該第二實體區塊之裝置; 用以將與該第二實體區塊有關之一第二指示器設 定為一實質地與和該第一實體區塊有關之一第一指示 器之一值不同的值之裝置,該第二指示器係排置為可指 示與該第二實體區塊有關之所有頁係較與該第一實體 20 區塊有關之所有頁更新近地與該邏輯區塊有關;以及 用以初始一可提供與該邏極區塊有關之較新資訊 予該第二實體區塊之操作的裝置,其中,該較舊資訊中 實質地並未有任一者被提供予該第二實體區塊。 51.如申請專利範圍第50項所述之系統,其更包括: 41 1246649 用以於該較新資訊被提供予該第二實體區塊後,自 該第一實體區塊抹除該資訊及該第一指示器之裝置。 52.如申請專利範圍第50項所述之系統,其中,用以設定該 第二指示器之該等裝置包括用以將該第二指示器設定 5 為一較該第一指示器之該值更高的值之裝置。 42
TW092125811A 2002-10-28 2003-09-18 Method and apparatus for resolving physical blocks associated with a common logical block TWI246649B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/281,762 US7234036B1 (en) 2002-10-28 2002-10-28 Method and apparatus for resolving physical blocks associated with a common logical block

Publications (2)

Publication Number Publication Date
TW200413918A TW200413918A (en) 2004-08-01
TWI246649B true TWI246649B (en) 2006-01-01

Family

ID=32228773

Family Applications (1)

Application Number Title Priority Date Filing Date
TW092125811A TWI246649B (en) 2002-10-28 2003-09-18 Method and apparatus for resolving physical blocks associated with a common logical block

Country Status (8)

Country Link
US (1) US7234036B1 (zh)
EP (1) EP1558989A2 (zh)
JP (2) JP2006504200A (zh)
KR (1) KR20050062638A (zh)
CN (1) CN1701300B (zh)
AU (1) AU2003270530A1 (zh)
TW (1) TWI246649B (zh)
WO (1) WO2004040431A2 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100483552C (zh) * 2002-10-28 2009-04-29 桑迪士克股份有限公司 在非易失性存储系统中执行自动磨损平衡的方法
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
US20090172269A1 (en) * 2005-02-04 2009-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device and associated data merge method
US8122193B2 (en) * 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100684887B1 (ko) * 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
CN100573476C (zh) 2005-09-25 2009-12-23 深圳市朗科科技股份有限公司 闪存介质数据管理方法
US7694091B2 (en) * 2006-10-23 2010-04-06 Hewlett-Packard Development Company, L.P. Non-volatile storage for backing up volatile storage
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
TWI421869B (zh) * 2009-10-14 2014-01-01 Phison Electronics Corp 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
JP5707695B2 (ja) * 2009-12-08 2015-04-30 沖電気工業株式会社 フラッシュディスク装置
US9262096B2 (en) * 2013-07-15 2016-02-16 Seagate Technology Llc Dynamic address mapping for finish in the field

Family Cites Families (26)

* Cited by examiner, † Cited by third party
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
EP0392895B1 (en) 1989-04-13 1995-12-13 Sundisk Corporation Flash EEprom system
US5166939A (en) * 1990-03-02 1992-11-24 Micro Technology, Inc. Data storage apparatus and method
US5222109A (en) 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5438573A (en) 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5544312A (en) 1994-04-29 1996-08-06 Intel Corporation Method of detecting loss of power during block erasure and while writing sector data to a solid state disk
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
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
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
US5860082A (en) 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
JP3070539B2 (ja) * 1997-09-30 2000-07-31 ソニー株式会社 外部記憶装置、データ処理装置及びデータ処理方法
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
KR100818035B1 (ko) 2000-05-04 2008-03-31 엔엑스피 비 브이 저장 매체 상의 데이터 관리 및 데이터 관리 시스템과 컴퓨터 판독가능한 저장 매체
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP3631463B2 (ja) * 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
KR20050062638A (ko) 2005-06-23
JP2006504200A (ja) 2006-02-02
JP2010267290A (ja) 2010-11-25
WO2004040431A2 (en) 2004-05-13
WO2004040431A3 (en) 2005-01-06
EP1558989A2 (en) 2005-08-03
US7234036B1 (en) 2007-06-19
CN1701300A (zh) 2005-11-23
TW200413918A (en) 2004-08-01
CN1701300B (zh) 2010-05-12
AU2003270530A1 (en) 2004-05-25

Similar Documents

Publication Publication Date Title
TWI261168B (en) Non-volatile memory system with erase counts stored in an erase count block
TWI297893B (en) Method and apparatus for managing an erase count block
TWI247292B (en) Maintaining an average erase count in a non-volatile storage system
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
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
TWI317064B (en) Storage device and host apparatus
TWI335505B (en) Systems and methods for storing data on computer systems
KR101450396B1 (ko) 비휘발성 메모리를 갖는 시스템에 대한 비정상 셧다운의 핸들링
TW201007449A (en) Flash memory storage system and data writing method thereof
TWI355583B (en) Internal maintenance schedule request for non-vola
TWI246649B (en) Method and apparatus for resolving physical blocks associated with a common logical block
TW200917270A (en) Wear leveling method and controller using the same
TW200915327A (en) Method of protecting data for power failure and controller using the same
TW201003392A (en) Data accessing method for flash memory and storage system and controller using the same
JP2011511388A (ja) メモリマッピング技術
TW200915324A (en) Wear leveling method and controller using the same
US20070150645A1 (en) Method, system and apparatus for power loss recovery to enable fast erase time
TW201017405A (en) Improved hybrid drive
TW200951979A (en) Data writing method for flash memory and storage system and controller using the same
TW200917261A (en) Wear leveling method and controller using the same
TWI237177B (en) Allocating cache lines
TW201217968A (en) Data writing method, memory controller and memory storage apparatus
JP2015507798A (ja) メモリ・モジュールにおいてデータ・エンティティを消去するための方法
TW201111987A (en) Memory system
US20100115187A1 (en) Non-volatile data storage system and method thereof

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees