TW200937422A - Data reading method for flash memory, controller and system therof - Google Patents

Data reading method for flash memory, controller and system therof Download PDF

Info

Publication number
TW200937422A
TW200937422A TW097106058A TW97106058A TW200937422A TW 200937422 A TW200937422 A TW 200937422A TW 097106058 A TW097106058 A TW 097106058A TW 97106058 A TW97106058 A TW 97106058A TW 200937422 A TW200937422 A TW 200937422A
Authority
TW
Taiwan
Prior art keywords
block
flash memory
read
data
storage area
Prior art date
Application number
TW097106058A
Other languages
English (en)
Other versions
TWI375953B (en
Inventor
Chien-Hua Chu
Wei-Chen Teo
Original Assignee
Phison Electronics 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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to TW097106058A priority Critical patent/TWI375953B/zh
Priority to US12/178,054 priority patent/US8332576B2/en
Publication of TW200937422A publication Critical patent/TW200937422A/zh
Application granted granted Critical
Publication of TWI375953B publication Critical patent/TWI375953B/zh

Links

Classifications

    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

Description

200937422 4 26511twf.doc/n 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種資料讀取方法,且特別是有關於 —種用於快閃記憶體的資料讀取方法及使用此資料讀取方 法的控制器。 【先前技術】 €1 近年來’由於數位相機、具有照相功能的手機、細3, 以及MP4的成長十分迅速’所以使得消費者對儲存媒體的 需求也急劇增加。綜觀現今所有的儲存媒體而言,由於快 閃記憶體(Flash Memory)具有資料非揮發性、省電、體 積小,以及無機械結構等特性’所以最適合内建於上述所 舉例的多種可攜式多媒體裝置中。再者,由於小型記憶卡 與隨碟等外接式產品對於現代人而言的需求也很大Γ所 =各家快閃記憶體的製造廠商無不朝向讓快閃記憶體的容 里變付更大及使用穩定度提升的研發方向而努力琢磨著。 〜-般而言’快閃記憶體_類大致可以按照製程的精 種。而眾所皆知的是,由較低精密程度之 ^程所t作出來的是單層記憶胞(Single Wd⑽,sL〇 ^閃讀ϋ錄高精錄度之製程所製作出來的是多 厂己憶胞(MUltiLevelCell,MLC)快閃記憶體。其中,多 ;體己= 憶體的記憶容量會高於單層記刪^ 度卻會比單層記憶胞快閃記憶體的使用穩 200937422 4 26511twf.doc/n 然而,無論是對多層記憶胞快閃記憶體或是單層記憶 胞快閃S己憶體内的同一個區塊所儲存的資料進行多次讀取 時’例如十萬至百萬次間的讀取次數,很有可能會發生所 讀取的資料是錯誤的,甚至此被多次讀取區塊内所儲存的 資料會發生異常或遺失。而此類現象以本發明領域具有通 帛知識者慣稱為『讀取干擾』(read-disturb)。特別是, 快閃記憶體中會儲存快閃記憶體快閃記憶體儲存系統的系 統資料(例如韌體碼(Firmware Code)、檔案配置表(File Allocation Table,FAT )),且此系統資料會在快閃記憶體 快閃記憶體儲存系統運作期間高頻率地的讀取。也亦因有 著运樣的現象存在著’無不驅使著各家廠商必須發展出能 防止讀取干擾的技術’藉以來有效地抑制因讀取干擾所造 成的資料遺失。 【發明内容】 有鑑於此’本發明提供一種資料讀取方法,其能夠有 效地避免因讀取干擾所造成的資料遺失。 ^本發明提供一種快閃記憶體控制器,其所執行的資料 項取方法能夠有效地避免因讀取干擾所造成的資料遣失。 基於上述,本發明提出一種資料讀取方法,其適用於 具有快閃記憶體的快閃記憶體儲存系統,其中快閃記憶體 實質上會分割為多個區塊且此些區塊至少分組為資料區與 ,用區。此資料讀取方法包括分別地決定資料區中的區塊 疋否為頻繁頊取區塊。此資料讀取方法也包括配置對應頻 6 4 26511twf.doc/n 200937422 繁讀取區塊的緩衝儲存區並且將儲存於頻繁讀取區塊中的 資料複製至對應頻繁讀取區塊的緩衝儲存區中。此資料讀 取方法更包括當欲從頻繁讀取區塊中讀取資料時,則從對 應此頻繁讀取區塊的緩衝儲存區中讀取資料。 在本發明之一實施例中,上述之分別地決定資料區的 區塊是否為頻繁讀取區塊的步驟包括計數資料區中每一區 塊的讀取次數,以及分別地判斷資料區的區塊的讀取次數 是否大於頻繁讀取門權值’若是,則此資料區的區塊會判 ® 斷為頻繁存取區塊。 在本發明之一實施例中,上述之資料讀取方法更包括 從快閃記憶體的備用區中選擇區塊作為對應頻繁讀取區塊 的缓衝儲存區。 在本發明之一實施例中,上述之資料讀取方法更包括 計數對應頻繁讀取區塊的緩衝儲存區的讀取次數,以及判 斷對應頻繁讀取區塊的緩衝儲存區的讀取次數是否大於緩 衝區讀取門檻值,若是,則將儲存於對應頻繁讀取區塊的 Φ 缓衝儲存區中的資料複製至快閃記憶體的備用區中的另一 區塊並且將此另一區塊作為對應此頻繁讀取區塊的缓衝儲 存區。 在本發明之一實施例中,上述之資料讀取方法,更包 括計數對應頻繁讀取區塊的缓衝儲存區的讀取次數,以及 判斷對應頻繁讀取區塊的缓衝儲存區的讀取次數是否大於 緩衝區讀取門檻值,若是,則將儲存於此頻繁讀取區塊中 的資料複製至快閃記憶體的備用區中的另一區塊並且將此 7 200937422 4 2651Itwf.doc/n 另一區塊作為對應此頻繁讀取區塊的緩衝儲存區。 在本發明之一實施例中,上述之資料讀取方法,更包 括當從對應頻繁讀取區塊的缓衝儲存區中讀取資料發生錯 誤時,則將儲存於此頻繁讀取區塊中的資料複製至快閃記 憶體的備用區中的另一區塊並且將此另一區塊作為對應此 頻繁項取區塊的緩衝儲存區。 在本發明之一實施例中,上述之資料讀取方法更包括 執行錯誤校正(error correcting)以判斷從對應頻繁讀取區 塊的緩衝儲存區中讀取資料時是否發生錯誤。 在本發明之一實施例中,上述之資料讀取方法更包括 從另一快閃δ己憶體中選擇區塊或以一靜態隨機存取記憶體 作為對應此頻繁讀取區塊的緩衝儲存區。 在本發明之一實施例中,上述之資料區的頻繁讀取區 塊中儲存用於快閃記憶體儲存系統的韌體碼(Firmware code )或槽案配置表(Fiie Aii〇cati〇n Table,FAT )。 本發明提出一種快閃記憶體控制器,其適用於具有快 閃記憶體的快閃記憶體儲存系統,其中快閃記憶體實質上 會分割為多個區塊且此些區塊至少分組為資料區與備用 區。此快閃記憶體控制器包括微處理單元與記憶體介面。 記憶體介面是耦接至微處理單元並且用以存取快閃記憶 體。微處理單元會分別地決定資料區的區塊是否為頻繁讀 取區塊’並配置對應頻繁讀取區塊的緩衝儲存區,且將儲 存於此頻繁讀取區塊中的資料複製至對應此頻繁讀取區塊 的緩衝儲存區中,當微處理單元之後欲從頻繁讀取區塊中 8 200937422 4 26511twf.doc/n 讀取資料時,舰誠«讀轉塊的緩_存區中讀取 資料。 在本發明之-實施例中,上述之微處理 資料區中每-區塊的讀取次數,以及當判斷資料區的^塊 的讀取次數大於頻繁讀取門禮值時,判斷資料區的此區塊 為頻繁存取區塊。 在本發明之-實施例中,上述之微處理單元從快閃記
憶體的備題巾選擇區塊作為對應此頻繁讀取區塊的緩衝 儲存區。 在本發明之-實施例中’上述之微處理單元計數對應 頻繁讀取區塊的緩衝儲存區的讀取次數,並且判斷對應頻 繁讀取區塊的緩衝儲存區的讀取次數是否大於 ^ 門檻值,若是,則將儲存於對應此頻繁讀取區塊的緩衝儲 存區中的資料複製至快閃記憶體的備用區中的另一區塊並 且將此另一區塊作為對應此頻繁讀取區塊的緩衝儲存區。 在本發明之一實施例中,上述之微處理單元計數對應 頻繁讀取區塊的緩衝儲存區的讀取次數,並且判斷對應頻 繁項取區塊的緩衝儲存區的讀取次數是否大於緩衝區讀取 門檀值,若是’則將儲存於此頻繁讀取區塊中的資料複製 至快閃記憶體的備用區中的另一區塊並且將此另一區塊作 為對應頻繁讀取區塊的緩衝儲存區。 在本發明之一實施例中,上述之微處理單元當從對應 頻繁讀取區塊的缓衝儲存區中讀取資料發生錯誤時,將儲 存於此頻繁讀取區塊中的資料複製至快閃記憶體的備用區 9 200937422 4 2651 ltwf.doc/n 中的另一區塊並且將此另一區塊作為對應此頻繁讀取區塊 的緩衝儲存區。 在本發明之一實施例中’上述之快閃記憶體控制器更 包括錯誤校正單元’其用以判斷從對應頻繁讀取區塊的缓 衝儲存區中讀取資料時是否發生錯誤。 在本發明之一實施例中’上述之微處理單元從另一快 閃記憶體中選擇區塊或以靜態隨機存取記憶體作為對應此 頻繁讀取區塊的缓衝儲存區。 在本發明之一實施例中,上述之資料區的頻繁讀取區 塊中包括韌體碼或檔案配置表。 在本發明之一實施例中’上述之快閃記憶體為單層記 憶胞(Single Level Cell,SLC)反及(NAND)快閃記憶體 或多層記憶胞(Multi Level Cell, MLC )NAND快閃記憶體。 在本發明之一實施例中,上述之快閃記憶體儲存系統 為USB隨身碟、記憶卡或固態硬碟。 本發明提出一種快閃記憶體儲存系統,其包括匯流排 連接介面、快閃記憶體與快閃記憶體控制器。匯流排連接 介面用以連接主機。快閃記憶體會分割為多個區塊且此些 區塊至少分組為資料區與備用區。快閃記憶體控制器是耦 接至該匯流排連接介面與快閃記憶體,其會分別地決定資 料區的區塊是否為頻繁讀取區塊,並配置對應頻繁讀取區 塊的緩衝儲存區,且將儲存於此頻繁讀取區塊中的資料複 裏至對應此頻繁讀取區塊的緩衝儲存區中,當快閃記憶體 控制盗之後欲從頻繁讀取區塊中讀取資料時,則從對應頻 4 26511twf.doc/n 200937422 繁讀取區塊的緩衝儲存區中讀取資料。 在本發明之一實施例中,上述之快閃記憶體控制器分 別計數資料區中每一區塊的讀取次數,以及當判斷資料區 的區塊的讀取次數大於頻繁讀取門檻值時,判斷資料區的 此區塊為頻繁存取區塊。 在本發明之一實施例中,上述之快閃記憶體控制器從 快閃記憶體的備用區中選擇區塊作為對應此頻繁讀取區塊 的緩衝儲存區。 Ο 在本發明之一實施例中,上述之快閃記憶體控制器計 數對應頻繁讀取區塊的緩衝儲存區的讀取次數,並且判斷 對應頻繁讀取區塊的缓衝儲存區的讀取次數是否大於緩衝 區讀取門檻值,若是’則將儲存於對應此頻繁讀取區塊的 緩衝儲存區中的資料複製至快閃記憶體的備用區中的另一 區塊並且將此另一區塊作為對應此頻繁讀取區塊的緩衝儲 存區。 在本發明之一實施例中,上述之快閃記憶體控制器計 ❹ 數對應頻繁讀取區塊的緩衝儲存區的讀取次數,並且判斷 對應頻繁讀取區塊的缓衝儲存區的讀取次數是否大於緩衝 區讀取門檻值,若是,則將儲存於此頻繁讀取區塊中的資 料複製至快閃記憶體的備用區中的另一區塊並且將此另一 區塊作為對應頻繁讀取區塊的緩衝儲存區。 在本發明之一實施例中,上述之快閃記憶體控制器當 從對應頻繁讀取區塊的緩衝儲存區中讀取資料發生錯誤 時,則將儲存於此頻繁讀取區塊中的資料複製至快閃記憶 11 200937422 4 26511twf.doc/n 體的備用區中的另一區塊並且將此另一區塊作為對應此頻 繁讀取區塊的緩衝儲存區。 在本發明之一實施例中,上述之快閃記憶體控制器依 據一錯誤校正碼來判斷從對應頻繁讀取區塊的緩衝儲存區 中讀取資料時是否發生錯誤。 ❹ 在本發明之一實施例中,上述之快閃記憶體控制器從 另一快閃記憶體中選擇區塊或以靜態隨機存取記憶體作為 對應此頻繁讀取區塊的緩衝儲存區。 在本發明之一實施例中’上述之資料區的頻繁讀取區 塊中包括韌體碼或檔案配置表。 在本發明之一實施例中’上述之快閃記憶體為單層記 憶胞(Single Level Cell,SLC)反及(NAND)快閃記憶體 或多層記憶胞(Multi Level Cell,MLC )NAND快閃記恨體。 在本發明之一實施例中,上述之匯流排連接介面為 PCI Express 介面、USB 介面、IEEE 1394 介面、SATA 介
面、MS介面、MMC介面、SD介面、CF介面或IDE介面\ 本發明因採用緩衝儲存區來儲存快閃記憶體中頻繁 讀取區塊内的資料,並且以此緩衝儲存區作為後續讀取^ 用。因此,可有效地避免因頻繁讀取而發生讀擾 造成的資料遺失。 丁傻吋所 為讓本發明之上述特徵和優點能更明顯易懂 舉較佳實施例’並配合所關式,作詳細說明如下。、 【實施方式】 12 200937422 4 26511twf.doc/n 為避免快閃記憶體中區塊内的資料因多次讀取後發 生讀取干擾而造成遺失,本發明提出—種資料讀取方法, 其藉由在儲存資料的區塊中頻繁讀取資料之前將資料複製 於緩衝儲存區中,並且之後由此緩衝儲存區作為後續讀取 資料之用。由此,避免原儲存資料的區塊因多次讀取而遺 失其所儲存的資料。以下將以數個範例實施例並配合圖式 詳細說明本發明。
[第一實施例] 圖1是根據本發明第一實施例繪示快閃記憶體儲存》 統的概要方塊圖。請參照圖i,快閃記憶體儲存系統ic 包括快閃記憶體控制器HO、匯流排連接介面l2〇以及 閃記憶體跡通常快閃記^贿存祕刚會與主機2( -起使用,以使主機2GG可將資料寫人至快閃記憶體儲— 系統100或從快閃記憶體儲存系統100中讀取資料。在; 實施例中,快閃記憶體儲存系統⑽為隨身碟。但必須目 解的是,在本發縣—實施例巾快閃記憶體儲存系统κ 亦可以是記針或_硬碟㈤idStateMve s 快閃記憶體控制H 11G會協調紐排連接介面i2〇』 及快閃記紐13G的整體獅,例如資料 憶體控制_包括微處理單 閃S己憶體介面ll〇b。 /、1 單元110a會管理與操作快閃記憶體, ,仃平均磨損(wearleveling)功能、壞區塊管 濩對映表(mapping table)等。特別是,在本發' 13 4 26511twf.doc/n 200937422 資料讀取方法 中,微處理單元110a會執行根據本實施例的 的步驟(如圖3所示)。 快閃記憶體介面ll〇b是輕接至微處理單元u〇a並且 用以存取快閃記憶體130。也就是,主機綱欲寫入至 閃記憶體13 0的f料會經錢閃記紐介面〗丨此轉換 閃記憶體130所能接受的格式。 s
❹ 此外,雖未緣不於本實施例,但快閃記憶體控制器⑽ 可更包括記憶體管理触、緩衝記倾與魏管理模組等 一般快閃記憶體常見的功能模組。 匯流排連接介面120用以連接主機2〇〇。在本實施例 中’匯流排連接介面120為USB介面。然、而,必須瞭解的 是本發明不限於此,匯流排連接介面12〇亦可以是pci Express 介面、IEEE 1394 介面、SATA 介面、Ms 介面、 MMC介面、SD介面、CF介面、IDE介面或其他適合的 資料傳輸介面。 快閃記憶體130是耦接快閃記憶體控制器11〇並且用 以儲存資料。快閃記憶體130通常實質上分割為多個實體 區塊(physical block) 130-0至i30_N,為方便說明以下將 實體區塊簡稱為區塊。-般而言,在快閃記憶體中區塊為 抹除之最小單位。亦即,每一區塊含有最小數目之一併被 抹除之記憶胞。每一區塊通常會分割為數個頁(page)。 頁通常為程式(program)的最小單元,但要特別說明的是 於有些不同的快閃記憶體設計,最小的程式單位也可為一 個扇區(sector)大小,即一頁中有多個扇區並以一扇區為 4 26511twf.doc/n 200937422 程式的最小單元。換言之,頁為寫入資料或讀取資料的最 小單元。每一頁通常包括使用者資料區D與冗餘區R。使 用者資料區用以儲存使用者的資料’而冗餘區用以儲存系 統的資料(例如’錯誤校正碼(error correcting code,ECC ))。 為對應於磁碟驅動器的扇區(sector )大小’ 一般而 言,使用者資料區D通常為512位元組,而冗餘區r通常 為16位元組。也就是,一頁為一個扇區。然而,亦可以多 ❹ 個扇區形成一頁,例如一頁包括4個扇區。 一般而言,區塊可由任意數目的頁所組成,例如64 頁、128頁、256頁等。區塊13〇_〇至13〇_N通常也可被分 組為數個區域(zone),以區域來管理記憶體某種程度上 是彼此獨立地操作以增加操作執行的平行程度且簡化管理 的複雜度。 以下將根據本發明並配合圖式詳細說明快閃記憶體 的運作。必須瞭解的是,在以下描述中使用“提取,,“搬 移”、‘‘交換”等詞來操作快閃記憶體區塊是邏輯上的概念。 ® 也就是說’快閃記憶體區塊的實際位置並未更動,而是邏 輯上對快閃記憶體區塊進行操作。 圖2A〜2C是根據本發明第一實施例纷示快閃記憶體 130及其運作的詳細方塊圖。 請參照ffi 2A’在本發明實施例中,為了有效率地程 式(即寫入與抹除)快閃記憶體13〇,快閃記憶體13〇的 區塊130-1至130-N會在邏輯上分組為一資料區2〇4與一 備用區206。一般來說,快閃記憶體13〇中屬於資料區綱 15 4 26511twf.doc/n 200937422 的區塊會佔90%以上。 資料區204中的區塊用以儲存資料,一般來說 機200所操作之賴區塊位址所對㈣㈣。來’ 備用區206中的區塊是用以替換資料區2〇 t,因ΐ在備用區施中的區塊為空或可使用的區塊^ 己錄貝料或標δ己為已沒用的無效資料。具體來說 ❹ =已!過資料位置再次寫入資料時,必須先執行抹除 的動作。然而,如騎述_記,_寫人單位為頁,而抹 除單位為區塊。-姆除的單位切以的單位,這表示 若要執行區塊抹除_,賴先將欲抹除區塊巾的有效頁 複製至其它區塊後才可進行。因此,當欲在資料區綱中 已寫過資料位置的區塊Μ巾寫人新資料時,—般會在備用 區206中提取-區塊S,然後將區塊Μ中的有效資料複製 至區塊s且將新資料寫人區塊8後,將區塊Μ抹除後搬移 至備用區206同時將區塊S搬移至資料區2〇4。必須瞭解 的疋,將區塊Μ抹除後搬移至備用區2〇6同時將區塊s 搬移至資料區204是邏輯上將區塊M關聯於備用區2〇6而 將區塊S關聯於資料區204。其中此領域具一般技藝者皆 忐瞭解資料區204中區塊的邏輯關係可由邏輯實體對映表 來維護。 一般來說,為了更有效率地使用快閃記憶體13〇,區 塊在邏輯上會更分為替換區塊208。圖2B是繪示快閃記憶 體的另一種運作方式,而圖2C是繪示圖2B的詳細運作示 意圖。 16 4 2651 ltwf.doc/n 200937422 ❹
G 請參照圖2B與2C,替換區塊208是用來取代資料區 204的區塊。更詳細而言,當從上述備用區2〇6中提取區 塊C來取代資料區204的區塊M時,會將新資料入至= 塊C’但不會立刻將區塊μ中的所有有效資料搬移至區塊 C而抹除區塊Μ。具體來說,會將區塊Μ中欲寫入位址之 前的有效資料(即頁Ρ0與Ρ1)複製至區塊c (如圖2〇的 (a)),並且將新資料(即區塊c的頁打與朽)寫入至〇 區塊(如圖2C的⑻)。此時,將含有部分的有效舊資料 與所寫入新資料的區塊c暫時地關聯為#換區塊2⑼。、此 是因為’區塊Μ巾的有效㈣有可能在下個操作中變成無 效’因此立刻㈣塊財的所有有效資繼移至實體區塊 C可能會造成無謂的搬移。在此案例巾,在邏輯區塊位址 與實體區齡㈣獅上會記錄乡個實體 址的情況,也就是區塊Μ與區塊C的内 谷整口起來才疋所對映邏輯區塊的内容。 塊Μ與區塊C)的暫離關仫叮分械α 寻甘于匕塊(& 中緩衝記憶體HGd二丨體控制器110 組來實作。 W小“’在本發料關巾是以五 之後,當需要將區塊Μ與區塊C的内料正人併時, 才將區塊Μ與區塊〇整 〜真正口併… 田吟老也丨1 m 汗馬&塊由此提升區塊的使 , 圖2C的(c)所示,當進行整併時’區塊 Μ中剩餘的有效資料(即頁 17 200937422 % 26511twf.doc/n 在本實施中快閃記憶體130為多層記憶胞(Multi Level Cell,MLC)反及(NAND)快閃記憶體。然而,必 須瞭解的是,本發明不限於此。在本發明另一實施例中, 單層記憶胞(Single Level Cell, SLC) NAND快閃記憶體 亦可應用於本發明。 如上所述,由於快閃記憶體130會因對同一位址的多 次讀取後造成此位址上所儲存的資料遺失。因此,在本發 ^ 明實施例中微處理單元ll〇a會執行能夠有效避免讀取干 擾的資料讀取程序。 圖3是根據本發明第一實施例繪示資料讀取方法的流 程圖。 請參照圖3的^),當快閃記憶體儲存系統10〇被啟動 時’首先會決定資料區204中屬於頻繁讀取的區塊(步驟 S301)。也就是說,根據本發明實施例的讀取方法會先判 斷資料區204中哪些區塊是儲存被經常讀取的資料。一般 來說’經常被讀取的資料為系統性資料。在本實施例中, ❿ 此糸統資料為快閃§己憶體儲存系統100的章刃體碼、檔案配 置表(File Allocation Table,FAT)等。 接著,在步驟S303中會配置對應頻繁讀取之區塊的 緩衝儲存區。也就疋,在本實施例的讀取方法中會為頻繁 讀取區塊另外分別地配置對應的緩衝儲存區。在本實施例 中,是從快閃記憶體130的備用區206中提取區塊作為缓 衝儲存區。然而’必須瞭解的是在本發明另一實施例中亦 可從另一快閃記憶體中選擇區塊或以一靜態隨機存取記憶
1S 200937422 W 26511twf.doc/n 體作為對應的緩衝儲存區。 值得提的疋,如上所述在快閃記憶體13〇中備用區 206的區塊是用於與資料區綱的區塊輪替以寫入資料。 當使用備用區206的區塊作為緩衝儲存區時會減少可輪替 的區塊,因此在本實施例中是以5個區塊作為緩衝儲存區 來實作。當頻繁讀取區塊超過5個時,則僅會對相對較頻 繁讀取的5個區塊設置緩衝儲存區。然而,必須瞭解的是 ❹ 本發明不限於此,系統設計者可依據快閃記憶體之備用區 内可使用的區塊來決定作為緩衝儲存區的區塊數。 在步驟S305中會將儲存於頻繁讀取區塊中的資料複 製至對應的緩衝儲存區中。 之後,請參照圖3的(b) ’當欲從快閃記憶體13〇的區 塊中讀取資料時,在步驟S307中會判斷欲讀取的區塊是 否為在步驟S301中所判斷的頻繁讀取區塊。倘若在步驟 S307中判斷欲讀取的區塊為頻繁讀取區塊時,則從對應此 頻繁讀取區塊的缓衝儲存區中讀取資料(步驟S309)。倘 © 若在步驟S307中判斷欲讀取的區塊不是頻繁讀取區塊 時,則直接從此區塊中讀取資料(步驟S311)。也就是, 在本實施例中是將頻繁讀取之區塊中的資料於對應緩衝儲 存區中製作一副本,並且之後對於此頻繁讀取區塊的讀取 會改由讀取其對應的緩衝儲存區。由此避免對原頻繁讀取 區塊的多次讀取而造成讀取干擾的問題。 此外,由於本實施例是以快閃記憶體130的備用區206 的區塊作為緩衝儲存區,因此備用區206的區塊亦可能發 19 200937422 ί 26511twf.doc/n 生讀取干擾的問題。因此,本實施例的讀取方法更包括計 數對應的緩衝儲存區的讀取次數(步驟S313),例如在記 讀取次數的計數值上加1。並且之後判斷對應頻繁讀取區 塊的緩衝儲存區的讀取次數是否大於緩衝區讀取門檻值 (步驟S315),其中緩衝區讀取門檻值是使用者可自行設 疋的值,此當讀取次數超過此值時來表示緩衝儲存區可能 快要發生讀取干擾。 因此,倘若在步驟S315中判斷對應的緩衝儲存區的 讀取次數大於緩衝區讀取門檻值時,則將儲存於對應的缓 衝儲存區中的資料複製至快閃記憶體130的備用區206中 的另一區塊並且以此另一區塊取代原先作為緩衝儲存區的 &塊作為新對應此頻繁讀取區塊的緩衝儲存區(步驟 S317)。 另外’除了上述從對應的緩衝儲存區中複製資料至此 另一區塊外,在本發明另一實施例中亦可從原頻繁讀取區 塊中複製資料至此另一區塊(如圖4所示的步驟S317,)。 [第二實施例] 如上所述’第一實施例是以缓衝區讀取門檻值來衡量 以快閃s己憶體130之另一區塊所實作的緩衝儲存區是否達 到可能即將發生讀取干擾而重新配置新的緩衝儲存區。然 而’本發明亦可透過檢查從緩衝儲存區中讀取的資料是否 為錯誤來判定發生讀取干擾而重新配置新的緩衝儲存區。 本發明第二實施例的硬體架構與快閃記憶體的操作 20 200937422 ^ 26511twf.doc/n =於第一實施例(如圖1與圖2A〜2C),因此 不再重複說明。第二實施例與第—實軸所不 例在資料讀取的步驟中是以檢查從緩衝 =子品中所讀取的資料是否為錯誤來判斷是 的緩衝儲存區。 f_置新 圖5是根據本發明第二實關繪示㈣記憶體儲存 、·充的概要方塊圖。圖5的快閃記憶體儲存系統1〇〇,與 ❹
的快閃記«儲存系統⑽的不同之處在於快閃記憶體儲 存系統100’的快閃記憶體控制器110,更包括錯誤校正 (error correcting)單元11〇c,其用以對寫人至‘閃‘憶 體130的資料進行錯誤校正編碼並且對從快閃 ^ 中讀取的資行錯驗球序,錯誤校正程料此領域 之技藝者所能輕易瞭解,在此不贅述。 圖6疋根據本發明第二實施例繪示資料讀取方法的流 程圖。 5月參圖 6 ’ 步驟 S601、S603、S605、S607、S609 與S611是相同於圖3的步驟S3〇1、S3〇3、S3〇5、S3〇7、 S309與S311,在此不再重複說明。在步驟S613中會判斷 從緩衝儲存區中讀取的資料是否發生錯誤,在本實施例中 是以錯誤校正單元110c所產生的錯誤校正碼來檢查資料 是否發生錯誤。倘若在步驟S613中判斷從緩衝儲存區中 讀取的資料發生錯誤時’則在步驟S615中會從原頻繁讀 取區塊中讀取資料,並且在步驟S617中會將從原頻繁讀 取區塊中讀取的資料複製至快閃記憶體13〇的備用區206 21 200937422 4 26511twf.doc/n 中的另一區塊並且以此另一區塊取代原先作為緩衝儲存區 之區塊,由此作為對應此頻繁讀取區塊的新緩衝儲存區。 其中,值得說明的是,其亦可於步驟S613中判斷從緩衝 儲存區中讀取的資料發生錯誤超過一定次數時,方執行步 驟 S615。 [第三實施例] Q 第一實施例與第二實施例是在快閃記憶體儲存系統 啟動時,先決定資料區中頻繁讀取的區塊以配置緩衝儲存 區避免此些頻繁讀取區塊的過渡讀取。然而,本發明亦可 以動態的方式來決定快閃記憶體的資料區中此次運作時頻 繁讀取的區塊而為此些頻繁讀取區塊配置缓衝儲存區。 本發明第三實施例的硬體架構與快閃記憶體的操作 是相同於第一實施例(如圖1與圖2A〜2C),因此在此不 再重複說明。 圖7是根據本發明第三實施例繪示資料讀取方法的流 ® 程圖。 請參照圖7,當欲讀取快閃記憶體儲存系統1〇〇的快 閃記憶體130時,在步驟S701中會判斷欲讀取的區塊是 否已配置對應的缓衝儲存區。倘若在步驟S701中判斷欲 讀取的區塊未配置對應的緩衝儲存區時,則直接從此欲讀 取的區塊中讀取資料(步驟S703)。 接著,在步驟S705中會計數所讀取區塊的讀取次數, 例如將讀取次數加1。之後,在步驟S707中會判斷所讀取 22 200937422 4 26511twf.doc/n 區塊的讀取次數是否大於頻繁讀取門檻值,其中頻繁讀取 門檻值是由使用者自行決設定以判斷是否區塊為頻繁讀取 區塊。 倘若在步驟S707中判斷所讀取區塊的讀取次數大於 頻繁讀取門檻值時,則在步驟S709中會將此區塊視為頻 繁讀取區塊並且為此區塊配置對應的緩衝儲存區。在本實 施例中,是從快閃記憶體130的備用區206中提取區塊作 為缓衝儲存區。然而,必須暸解的是在本發明另一實施例 中亦可從另一快閃記憶體中選擇區塊或以一靜態隨機存取 記憶體作為對應的缓衝儲存區。 類似地在本實施例中是以5個區塊作為缓衝儲存區來 實作。當頻繁讀取區塊超過5個時,則僅會對相對較頻繁 讀取的5個區塊設置緩衝儲存區。然而,必須瞭解的是本 發明不限於此’系統設計者可依據快閃記憶體之備用區内 可使用的區塊來決定作為緩衝儲存區的區塊數。 在步驟S711中會將儲存於頻繁讀取之區塊中的資料 ❹ 複製至對應的缓衝儲存區中。 倘若在步驟S701中判斷欲讀取的區塊已配置對應的 緩衝儲存區時,則從對應的缓衝儲存區中讀取資料(步驟 S713)。 類似於第一實施例,由於本實施例是以快閃記憶體 130的備用區206的區塊作為緩衝儲存區,因此其亦可能 發生讀取干擾的問題。因此,本實施例的讀取方法更包括 計數對應的緩衝儲存區的讀取次數(步驟S715),並且判 23 200937422 26511twf.doc/n 斷對應頻繁讀取區塊的緩觸存區的讀取次 :=植值(步請7),其中緩衝區讀娜值: 即:ί:!打設定的值’此值是用來判斷緩衝儲存區可能 即將發生讀取干擾。 =,倘若在步驟S717中騎對應的緩衝儲存區的 纽緩衝區讀取門檻值時,則將儲存於對應緩衝 儲存區中的資料複製至快閃記憶體i 3 〇的備用區施中的 ^區塊並且以此另—區塊取代縣作為緩衝儲存區之區 塊作為新對應此頻繁讀取區塊的緩衝館存區(步驟幻⑼。 ,外,除了上述從對應的缓衝儲存區中複製資料至此 另-區塊外’在本發明另—實施例巾亦可從繁讀取的 區塊中複I資料至此另一區塊(如圖8所示的步驟S719,)。 ❹ 在本實施例中是動態的方式在每次對區塊讀取時計 數此區塊_取次數並麟是否達到屬於頻繁讀取區塊的 ,植以配置對應緩衝儲存區來儲存所讀取區塊内之資料的 田1J本,並且之後若再對此頻繁讀取區塊的讀取時會改由讀 取其對應賴_魏。由此避麟原織讀取區塊的多 次讀取而造成讀取干擾的問題。 [第四實施例] 在以上述動態的方式來決定快閃記憶體的資料區中 此-人運作時頻繁5冑取的區塊來置緩衝儲存區的架構下, =可應用本發明第二實麵所述透過檢查從緩衝儲存區中 讀取的資料為錯誤關定發生讀取干擾而重新配置新的緩 24 200937422 4 26511twf.doc/a 衝儲存區。 θ本發明第四實施例的硬體架構與快閃記憶體的操作 是相同於第二實施例’在此不再重複說明。圖9是根據本 發明第四實施例繪示資料讀取方法的流程圖。 •請參照圖 9 ’ 步驟 S9(U、S903、S9〇5、S907、S909、 S911與S913是相同於圖7的步驟S701、S703、S705、 S707、S709、S711與S713 ’在此不再重複說明。 ❹ 在步驟S915中會判斷從緩衝儲存區中讀取的資料是 否發生錯誤,在本實施例中是以錯誤校正單元ll〇c所產生 的錯誤校正碼來檢查資料是否發生錯誤。倘若在步驟S9i5 中判斷從緩衝儲存區中讀取的資料發生錯誤時,則在步驟 7中m從原頻繁邊取區塊中讀取資料,並且在步驟S919 中會將從原頻繁讀取區塊中讀取的資料複製至快 13〇的備用區施巾的另一區塊並且以此另—區塊取^原 先作為緩衝儲存區之區塊,由此作為對應此頻繁讀取區塊 的新緩衝儲存區。 必須瞭解的是,上述本發明實施例所述步驟的執行順 序並非限制本發明。此領域熟知技藝者可在不違背本發明 精神下以不同的順序執行。 综上所述,本發明使用緩衝儲存區來儲存快閃記憶體 令頻繁讀取區塊的資料,並且以此缓衝儲存區提供控制器 來讀取資料。基此,可以有效地避免快閃記憶體因發生讀 取干擾而造成資料遺失問題。 "° 雖然本發明已以較佳實施例揭露如上,然其並非用以 25 200937422 ^ 26511twf.doc/n 限定本發明,任何所屬技術領域中具有通常知識者,在不 脫離本發明之精神和範圍内,當可作些許之更動與潤飾, 因此本發明之保護範圍當視後附之申請專利範圍所界定者 為準。 【圖式簡單說明】 圖1是根據本發明第一實施例繪示快閃記憶體儲存系 統的概要方塊圖。 圖2A〜2C是根據本發明第一實施例繚示快閃記憶體 及其運作的詳細方塊圖。 圖3是根據本發明第一實施例繪示資料讀取方法的流 程圖。 圖4是根據本發明另一實施例繪示資料讀取方法的流 程圖。 圖5是根據本發明第二實施例繪示快閃記憶體儲存系 統的概要方塊圖。 圖6是根據本發明第二實施例繪示資料讀取方法的流 程圖。 圖7是根據本發明第三實施例繪示資料讀取方法的流 程圖。 圖8是根據本發明另一實施例繪示資料讀取方法的流 程圖。 圖9是根據本發明第四實施例繪示資料讀取方法的流 程圖。 26 200937422 14 26511twf.doc/n 【主要元件符號說明】 100、100’ :快閃記憶體儲存系統 110、110’ :快閃記憶體控制器 110a :微處理單元 ll〇b :快閃記憶體介面 110c :錯誤校正單元 120 ·匯流排連接介面 ^ 130:快閃記憶體 130-0、13(M、130-N:實體區塊 200 :主機 204 :資料區 206 :備用區 208 :替換區塊 S301、S303、S305、S307、S309、S311、S313、S315、 S317、S317’ :資料讀取方法的步驟 S6(U、S603、S605、S607、S609、S61 卜 S613、S615、 © S617 :資料讀取方法的步驟 S701、S703、S705、S707、S709、S71 卜 S713、S715、 S717、S719、S719’ :資料讀取方法的步驟 S901、S903、S905、S907、S909、S91 卜 S913、S915、 S917、S919 :資料讀取方法的步驟 S、Μ、C :區塊 27

Claims (1)

  1. 200937422 4 26511twf.doc/n 十、申請專利範園: L一種資料讀取方法,適用於具有快閃記憶體的快閃 記憶體儲存系統,其中該快閃記憶體實質上分割為多個齒 塊且該些區塊至少分組為資料區與備用區’該讀取方法包 括: 分別地決定該資料區的該些區塊疋否為頻繁讀取區 塊; 配置對應該頻繁讀取區塊的缓衝儲存區並且將儲存 於該頻繁讀取區塊中的資料複製至對應該頻繁讀取區塊的 緩衝儲存區中;以及 當欲從該頻繁讀取區塊中讀取該資料時,則從對應該 頻繁讀取區塊的緩衝儲存區中讀取該資料。 2. 如申請專利範圍第1項所述之資料讀取方法,其中 分別地決定該資料區的該些區塊是否為該頻繁讀取區塊的 步驟包括: 計數該資料區的每一區塊的讀取次數;以及 ❿ 分別地判斷該資料區的該些區塊的讀取次數是否大 於頻繁讀取門檻值,若是,則判斷該資料區的該些區塊為 該頻繁存取區塊。 3. 如申請專利範圍第丨項所述之資料讀取方法,更包 括從該快閃記憶體的備用區中選擇區塊作為對應該頻繁讀 取區塊的緩衝儲存區。 貝 4. 如申請專利範圍第3項所述之資料讀取方法,更包 括: ° 28 4 26511twf.doc/n 200937422 計數對應該頻繁讀取區塊的缓衝儲存區的讀取次 數;以及 判斷對應該頻繁讀取區塊的緩衝儲存區的讀取次數 是否大於緩衝區讀取門檻值,若是,則將儲存於對應該頻 繁讀取區塊的緩衝儲存區中的該資料複製至該快閃記憶體 的備用區中的另一區塊並且將該另一區塊作為對應該頻繁 讀取區塊的緩衝儲存區。 5. 如申請專利範圍第3項所述之資料讀取方法,更包 括: 計數對應該頻繁讀取區塊的緩衝儲存區的讀取次 數;以及 判斷對應該頻繁讀取區塊的緩衝儲存區的讀取次數 是否大於緩衝區讀取門檻值,若是,則將儲存於該頻繁讀 取區塊中的該資料複製至該快閃記憶體的備用區中的另一 區塊並且將該另一區塊作為對應該頻繁讀取區塊的缓衝儲 存區。 6. 如申請專利範圍第3項所述之資料讀取方法,更包 括: 當從對應該頻繁讀取區塊的緩衝儲存區中讀取該資 料發生錯誤時’則將儲存於該頻繁讀取區塊中的該資料複 製至該快閃記憶體的備用區中的另一區塊並且將該另一區 塊作為對應該頻繁讀取區塊的緩衝儲存區。 7. 如申請專利範圍第6項所述之資料讀取方法,更包 括: 29 200937422 14 26511twf.doc/n 執行錯誤校正(error correcting)以判斷從對應該頻繁 讀取區塊的緩衝儲存區中讀取該資料時是否發生錯誤。 8·如申請專利範圍第1項所述之資料讀取方法,更包 括從另一快閃記憶體中選擇區塊或以一靜態隨機存取記憶 體作為對應該頻繁讀取區塊的緩衝儲存區。 9.如申請專利範圍第1項所述之資料讀取方法,其中 該資料區的該頻繁讀取區塊中儲存用於該快閃記憶體儲存 ❹ 系統的一韌體碼(Firmware code)或一檔案配置表(Hie Allocation Table, FAT )。 1 〇.—種快閃記憶體控制器,其適用於具有快閃記憶體 的快閃記憶體儲存系統,其中該快閃記憶體實質上分割為 夕個區塊且該些區塊至少分組為資料區與備用區,該快閃 記憶體控制器包括: 微處理單元;以及 記憶體介面’耦接至該微處理單元並且用以存取該快 閃記憶體, ® 其中該微處理單元會分別地決定該資料區的該些區 ,疋否為頻繁讀取區塊,並配置對應該頻繁讀取區塊的緩 衝儲存區,且將儲存於該頻繁讀取區塊中的資料複製至對 應該頻繁讀取區塊的緩衝儲存區中,當該微處理單元之後 欲從該頻繁讀取區塊中讀取該資料時,則從對應該頻繁讀 取區塊的缓衝儲存區中讀取該資料。 11·如申請專利範圍第10項所述之快閃記憶體控制 器’其中該微處理單元分別計數該資料區的每一區塊的讀 30 200937422 26511twf.doc/n 取次數;以及當判斷該資料 該頻繁讀取門檁值時,‘區塊的讀取錢大於 存取區塊。 斷“貧料區的該些區塊為該頻繁 器,其中該微處理單項所述之快閃記憶體控制 塊作為對應,讀取區備用區中選擇區 Ο
    器,2中如二處專理利範-圍+第12項所述之快閃記憶體控制 存區數對應該頻繁讀取區塊的緩衝儲 存區的讀取:數是該頻繁讀取區塊,衝餘 對應賴繁讀轉__儲存區㈣該資料複製 =快閃記紐的備㈣中的另-區塊並且將該另-區塊 作為對應_繁讀取區塊的_儲存區。 14.如中睛專鄕圍第12項所述之快閃記憶體控制 ^,其二該微處理單元計數對應該頻繁讀取區塊的緩衝儲 子區的,錄’並且酬對應魏繁讀取區塊的緩衝儲 存區的神次數是否大於緩衝區讀取門檻值,若是,則將 儲存於該頻繁讀取區塊中的該資料複製至該㈣記憶體的 備用區中的另一區塊並且將該另一區塊作為對應該頻繁讀 取區塊的缓衝儲存區。 15.如申請專利範圍第12項所述之快閃記憶體控制 器’其中該微處理單元當從對應該頻繁讀取區塊的緩衝儲 存區中讀取該資料發生錯誤時,將儲存於該頻繁讀取區塊 中的該資料複製至該快閃記憶體的備用區中的另一區塊並 31 26511twf.doc/n 200937422 且將該另一區塊作為對應該頻繁讀取區塊的緩衝儲存區。 16. 如申請專利範圍第15項所述之快閃記憶體控制 器,更包括一錯誤校正單元,其用以判斷從對應該頻繁讀 取區塊的緩衝儲存區中讀取該資料時是否發生錯誤。 17. 如申請專利範圍第1〇.項所述之快閃記憶體控制 器,其中該微處理單元從另一快閃記憶體中選擇區塊或以 一靜態隨機存取記憶體作為對應該頻繁讀取區塊的緩衝儲 存區。 18·如申請專利範圍第1〇項所述之快閃記憶體控制 益,其中該資料區的該頻繁讀取區塊中包括一韌體碼 (Firmware code)或一檔案配置表(Fiie A11〇cati〇nTable, FAT)。 , 19. 如申請專利範圍第1〇項所述之快閃記憶體控制 器,其中該快閃記憶體為單層記憶胞(Single Levd Cdl, SLC )反及(NAND )快閃記憶體或多層記憶胞(MuW Cell,MLC)反及(NAND)快閃記憶體。 20. 如申明專利範圍第項所述之快閃記憶體控制 器,其中該快閃記憶體儲存系統為一 USB隨身碟、一記憶 卡或一固態硬碟。 21. —種快閃記憶體儲存系統,包括·· 匯流排連接介面’用以連接主機; 快閃記憶體,快閃記憶體實質上分割為多個區塊且該 些區塊至少分組為資料區與備用區; 快閃記憶體控制器,輕接至該匯流排連接介面與該快 32 4 2651 ltwf.doc/n 200937422 閃δ己憶體,其中該快閃記憶體控制器會分別地決定該資料 區的該些區塊是否為頻繁讀取區塊,並配置對應該頻繁讀 取區塊的緩衝儲存區,且將儲存於該頻繁讀取區塊中的資 料複製至對應該頻繁讀取區塊的緩衝儲存區中,當快閃記 憶體控制器之後欲從該頻繁讀取區塊中讀取該資料時,則 從對應該頻繁讀取區塊的緩衝儲存區中讀取該資料。
    ❹ 22.如申請專利範圍第21項所述之快閃記憶體儲存系 、、先其中該快閃5己憶體控制器分別計數該資料區的每一區 塊的讀取次數,並且當判斷該資料區的該些區塊的讀取次 數大於該頻繁讀取門檻值時,判斷該資料區的該些區塊為 該頻繁存取區塊。 23·如申請專利範圍第21項所述之快閃記憶體儲存系 統i其中該快閃記憶體控制器更包括從該快閃記憶體的備 用區中選擇區塊作為對應該頻繁讀取區塊的緩衝儲存區。 24·如申請專利範圍第23項所述之快閃記憶體儲存系 其中該快閃記憶體控制器更包括計數對應該頻繁讀取 區塊的緩衝儲存區的讀取次數,並且判斷對應該頻繁讀取 區塊的缓衝儲存區的讀取次數是否大於緩衝區讀取門檻 值’若是’則將儲存於對應該頻繁讀取區塊的缓衝儲存區 中的該資料複製至該快閃記龍的個區中的另 一區塊並 且將該另一區塊作為對應該頻繁讀取區塊的緩衝儲存區。 25.如申請專利範圍第23項所述之快閃記憶體儲存系 其中該快閃記憶體控制器更包括計數對應該頻繁讀取 區塊的緩衝儲存區的讀取次數,並且判斷對應該頻繁讀取 33 26511 twf. doc/n 200937422 區塊的緩賴存區的讀取:欠數是否大於緩純讀取 值,若是,聽儲存於簡繁讀取區塊巾的該資料複製= 該快閃記憶體的備用區中的另—區塊並轉該另 為對應該頻繁讀取區塊的缓衝儲存區。 ❹ ❹ 26.如申μ專難圍第23摘述之快閃記紐儲 統’其帽快閃記.隨控制H更包括#從對應賴繁讀取 區塊的緩衝儲存區中讀取該資料發生錯誤時,將儲存於該 頻繁讀祕塊巾_f料複製至該㈣雜_備用^ ^另-區塊並且將該另-區塊作為對應該頻繁讀取區塊的 综種f 右·庶。 27.如申請專利範圍第26項所述之快閃記憶體儲存系 統,其中該快閃記憶體控制器會根據—錯誤校正碼來判斷 從對應該頻繁讀取區塊的緩衝儲存區中讀取該資料時是否 發生錯誤。 28. 如申請專利範圍第21項所述之快閃記憶體儲存系 統’其中該快閃§己憶體控制器從另一快閃記憶體中選擇區 塊或以一靜態隨機存取記憶體作為對應該頻繁讀取區塊的 緩衝儲存區。 29. 如申請專利範圍第21項所述之快閃記憶體儲存系 統,其中該資料區的該頻繁讀取區塊中包括一韌體碼 (Firmware code)或一檔案配置表(FileA11〇cati〇nTable, FAT)。 30. 如申睛專利範圍第21項所述之快閃記憶體儲存系 統’其中該快閃記憶體為單層記憶胞(Single Level Cell, 34 200937422 4 26511twf.doc/n SLC )反及(NAND )快閃記憶體或多層記憶胞(Multi Levd Cell,MLC)反及(NAND)快閃記憶體。 31.如申請專利範圍第21項所述之快閃記憶體儲存系 統’其中5亥匯流排連接介面為PCI Express介面、USB介 面、IEEE 1394介面、SATA介面、MS介面、MMC介面、 SD介面、CF介面或IDE介面。 〇
    35
TW097106058A 2008-02-21 2008-02-21 Data reading method for flash memory, controller and system therof TWI375953B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW097106058A TWI375953B (en) 2008-02-21 2008-02-21 Data reading method for flash memory, controller and system therof
US12/178,054 US8332576B2 (en) 2008-02-21 2008-07-23 Data reading method for flash memory and controller and storage system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097106058A TWI375953B (en) 2008-02-21 2008-02-21 Data reading method for flash memory, controller and system therof

Publications (2)

Publication Number Publication Date
TW200937422A true TW200937422A (en) 2009-09-01
TWI375953B TWI375953B (en) 2012-11-01

Family

ID=40999426

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097106058A TWI375953B (en) 2008-02-21 2008-02-21 Data reading method for flash memory, controller and system therof

Country Status (2)

Country Link
US (1) US8332576B2 (zh)
TW (1) TWI375953B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136108A (zh) * 2011-12-05 2013-06-05 慧荣科技股份有限公司 快闪存储装置及其数据读取方法
TWI447580B (zh) * 2012-04-03 2014-08-01 Phison Electronics Corp 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置
TWI461913B (zh) * 2011-11-30 2014-11-21 Silicon Motion Inc 快閃記憶裝置及其資料讀取方法
CN105900069A (zh) * 2014-01-07 2016-08-24 苹果公司 对被存储在闪存存储器中的数据的推测性预取
TWI585676B (zh) * 2016-03-18 2017-06-01 慧榮科技股份有限公司 資料儲存裝置、記憶體控制器及其操作方法
US10353589B2 (en) 2016-03-18 2019-07-16 Silicon Motion, Inc. Data storage device and data management method for data storage device
CN113157601A (zh) * 2021-05-06 2021-07-23 北京集创北方科技股份有限公司 闪存数据读写方法、装置、存储介质和终端设备

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101033465B1 (ko) * 2008-12-30 2011-05-09 주식회사 하이닉스반도체 플래쉬 메모리 장치 및 및 이를 위한 리드동작 제어 방법
US8806144B2 (en) 2009-05-12 2014-08-12 Stec, Inc. Flash storage device with read cache
US8266481B2 (en) * 2009-07-29 2012-09-11 Stec, Inc. System and method of wear-leveling in flash storage
US8453021B2 (en) 2009-07-29 2013-05-28 Stec, Inc. Wear leveling in solid-state device
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
JP4703753B2 (ja) * 2009-09-30 2011-06-15 株式会社東芝 情報処理装置、半導体記憶装置、及びプログラム
TWI416525B (zh) * 2009-12-15 2013-11-21 Asolid Technology Co Ltd 非揮發性記憶體裝置及其損耗平均方法
JP5434738B2 (ja) * 2010-03-26 2014-03-05 日本電気株式会社 ディスク装置
US8713066B1 (en) 2010-03-29 2014-04-29 Western Digital Technologies, Inc. Managing wear leveling and garbage collection operations in a solid-state memory using linked lists
US9104583B2 (en) 2010-06-24 2015-08-11 International Business Machines Corporation On demand allocation of cache buffer slots
US20110320863A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Dynamic re-allocation of cache buffer slots
US8458402B1 (en) * 2010-08-16 2013-06-04 Symantec Corporation Decision-making system and method for improving operating system level 2 cache performance
US8612804B1 (en) 2010-09-30 2013-12-17 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US8782370B2 (en) * 2011-05-15 2014-07-15 Apple Inc. Selective data storage in LSB and MSB pages
US20120317337A1 (en) * 2011-06-09 2012-12-13 Microsoft Corporation Managing data placement on flash-based storage by use
US8898373B1 (en) 2011-06-29 2014-11-25 Western Digital Technologies, Inc. System and method for improving wear-leveling performance in solid-state memory
US9223686B1 (en) 2012-02-01 2015-12-29 Amazon Technologies, Inc. Cache memory data storage control system and method
US9337865B2 (en) 2012-05-04 2016-05-10 Seagate Technology Llc Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US9235346B2 (en) 2012-05-04 2016-01-12 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic map pre-fetching for improved sequential reads of a solid-state media
US8930778B2 (en) 2012-11-15 2015-01-06 Seagate Technology Llc Read disturb effect determination
US8913438B2 (en) 2013-02-20 2014-12-16 Seagate Technology Llc Adaptive architecture in a channel detector for NAND flash channels
US9367389B2 (en) 2013-03-14 2016-06-14 Seagate Technology Llc Recovery strategy that reduces errors misidentified as reliable
CN105229742A (zh) 2013-04-30 2016-01-06 惠普发展公司,有限责任合伙企业 存储器访问速率
US9632926B1 (en) 2013-05-16 2017-04-25 Western Digital Technologies, Inc. Memory unit assignment and selection for internal memory operations in data storage systems
CN105453053B (zh) * 2013-08-13 2018-10-09 英派尔科技开发有限公司 存储器系统
US9542309B2 (en) 2013-08-21 2017-01-10 Sandisk Technologies Llc Relocating data based on matching address sequences
KR102070667B1 (ko) 2013-08-26 2020-01-29 삼성전자주식회사 비휘발성 메모리 장치의 구동 방법
US9990298B2 (en) * 2014-05-12 2018-06-05 Western Digital Technologies, Inc System and method for caching solid state device read request results
TWI490871B (zh) * 2014-07-11 2015-07-01 Phison Electronics Corp 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置
CN105320464B (zh) * 2014-07-21 2018-07-31 群联电子股份有限公司 防止读取干扰的方法、存储器控制电路单元与存储装置
US9483346B2 (en) * 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9710199B2 (en) * 2014-11-07 2017-07-18 International Business Machines Corporation Non-volatile memory data storage with low read amplification
US10162700B2 (en) 2014-12-23 2018-12-25 International Business Machines Corporation Workload-adaptive data packing algorithm
US9747177B2 (en) 2014-12-30 2017-08-29 International Business Machines Corporation Data storage system employing a hot spare to store and service accesses to data having lower associated wear
US10014060B2 (en) * 2015-01-30 2018-07-03 Sandisk Technologies Llc Memory system and method for reducing read disturb errors
TWI567745B (zh) * 2015-09-02 2017-01-21 So that the anti-gate flash memory has a multi-performance method
US9712190B2 (en) 2015-09-24 2017-07-18 International Business Machines Corporation Data packing for compression-enabled storage systems
US9870285B2 (en) 2015-11-18 2018-01-16 International Business Machines Corporation Selectively de-straddling data pages in non-volatile memory
TWI606336B (zh) * 2016-04-21 2017-11-21 慧榮科技股份有限公司 儲存裝置及其控制單元、可用於儲存裝置的資料儲存方法
TWI604455B (zh) 2016-05-13 2017-11-01 Silicon Motion Inc 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
US20170351452A1 (en) * 2016-06-01 2017-12-07 Intel Corporation Dynamic host memory buffer allocation
US10482983B2 (en) * 2016-12-22 2019-11-19 Seagate Technology Llc Read disturb detection based on dynamic bit error rate estimation
WO2018140036A1 (en) * 2017-01-27 2018-08-02 Hewlett-Packard Development Company, L.P. Read operation redirect
KR20180092715A (ko) * 2017-02-10 2018-08-20 삼성전자주식회사 동작들의 횟수에 기초하여 복제된 데이터를 관리하는 스토리지 장치
US10768836B2 (en) * 2017-07-07 2020-09-08 Sap Se Page based data persistency
US11169747B2 (en) * 2018-10-30 2021-11-09 Micron Technology, Inc. Relocating data to low latency memory
KR20200088713A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11145332B2 (en) * 2020-03-05 2021-10-12 International Business Machines Corporation Proactively refreshing storage zones within a storage device
US11392499B2 (en) * 2020-09-18 2022-07-19 Kioxia Corporation Dynamic buffer caching of storage devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438549A (en) * 1994-02-28 1995-08-01 Intel Corporation Nonvolatile memory with volatile memory buffer and a backup power supply system
CA2498154A1 (en) * 2002-09-16 2004-03-25 Tigi Corporation Storage system architectures and multiple caching arrangements
KR100493884B1 (ko) 2003-01-09 2005-06-10 삼성전자주식회사 시리얼 플래시 메모리에서의 현지 실행을 위한 제어 장치및 그 방법, 이를 이용한 플래시 메모리 칩
KR100526186B1 (ko) 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US7779426B2 (en) * 2006-03-30 2010-08-17 Microsoft Corporation Describing and querying discrete regions of flash storage
US7958331B2 (en) * 2006-12-13 2011-06-07 Seagate Technology Llc Storage device with opportunistic address space
TWI352354B (en) * 2007-12-31 2011-11-11 Phison Electronics Corp Method for preventing read-disturb happened in non
US7937521B2 (en) * 2008-01-29 2011-05-03 Cadence Design Systems, Inc. Read disturbance management in a non-volatile memory system

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI461913B (zh) * 2011-11-30 2014-11-21 Silicon Motion Inc 快閃記憶裝置及其資料讀取方法
CN103136108A (zh) * 2011-12-05 2013-06-05 慧荣科技股份有限公司 快闪存储装置及其数据读取方法
CN103136108B (zh) * 2011-12-05 2016-04-06 慧荣科技股份有限公司 快闪存储装置及其数据读取方法
TWI447580B (zh) * 2012-04-03 2014-08-01 Phison Electronics Corp 管理記憶體空間的方法、記憶體控制器與記憶體儲存裝置
CN105900069A (zh) * 2014-01-07 2016-08-24 苹果公司 对被存储在闪存存储器中的数据的推测性预取
CN105900069B (zh) * 2014-01-07 2019-09-17 苹果公司 对被存储在闪存存储器中的数据的推测性预取
TWI585676B (zh) * 2016-03-18 2017-06-01 慧榮科技股份有限公司 資料儲存裝置、記憶體控制器及其操作方法
CN107203332A (zh) * 2016-03-18 2017-09-26 慧荣科技股份有限公司 数据储存装置、闪存控制器及其操作方法
US10282106B2 (en) 2016-03-18 2019-05-07 Silicon Motion, Inc. Data storage device and operating method of memory controller
US10353589B2 (en) 2016-03-18 2019-07-16 Silicon Motion, Inc. Data storage device and data management method for data storage device
CN107203332B (zh) * 2016-03-18 2020-11-06 慧荣科技股份有限公司 数据储存装置、闪存控制器及其操作方法
CN113157601A (zh) * 2021-05-06 2021-07-23 北京集创北方科技股份有限公司 闪存数据读写方法、装置、存储介质和终端设备

Also Published As

Publication number Publication date
US8332576B2 (en) 2012-12-11
TWI375953B (en) 2012-11-01
US20090216936A1 (en) 2009-08-27

Similar Documents

Publication Publication Date Title
TW200937422A (en) Data reading method for flash memory, controller and system therof
TWI381390B (zh) 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
US8103820B2 (en) Wear leveling method and controller using the same
TWI386802B (zh) 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統
US8037232B2 (en) Data protection method for power failure and controller using the same
US8656256B2 (en) Apparatus and method for multi-mode operation of a flash memory device
US8621139B2 (en) Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same
US8275931B2 (en) Block management method for flash memory, and storage system and controller using the same
US9923562B1 (en) Data storage device state detection on power loss
TWI520153B (zh) 非揮發性記憶體裝置及其操作方法
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
TWI405209B (zh) 資料管理方法及使用此方法的快閃儲存系統與控制器
US8533385B2 (en) Method for preventing read-disturb happened in non-volatile memory and controller thereof
US9472222B2 (en) Vibration mitigation for a data storage device
TW200929224A (en) Data writing method for flash memory and controller thereof
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
TW200937427A (en) Block management method for flash memory, controller and storage system thereof
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI585778B (zh) 非揮發性記憶體裝置的操作方法
TWI459198B (zh) 記憶體儲存裝置、其記憶體控制器與有效資料識別方法
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US20220043713A1 (en) Meta Data Protection against Unexpected Power Loss in a Memory System
TWI451247B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
TW201526006A (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置