TW200937422A - Data reading method for flash memory, controller and system therof - Google Patents
Data reading method for flash memory, controller and system therof Download PDFInfo
- 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
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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary 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)
- 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
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)
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)
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)
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 |
-
2008
- 2008-02-21 TW TW097106058A patent/TWI375953B/zh active
- 2008-07-23 US US12/178,054 patent/US8332576B2/en active Active
Cited By (12)
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) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |