TWI361353B - Data writing method for non-volatile memory, storage system and controller thereof - Google Patents

Data writing method for non-volatile memory, storage system and controller thereof Download PDF

Info

Publication number
TWI361353B
TWI361353B TW097113033A TW97113033A TWI361353B TW I361353 B TWI361353 B TW I361353B TW 097113033 A TW097113033 A TW 097113033A TW 97113033 A TW97113033 A TW 97113033A TW I361353 B TWI361353 B TW I361353B
Authority
TW
Taiwan
Prior art keywords
write
volatile memory
data
writing
command
Prior art date
Application number
TW097113033A
Other languages
English (en)
Other versions
TW200943060A (en
Inventor
Chee-Kong Awyong
Chung Hsun Ma
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 TW097113033A priority Critical patent/TWI361353B/zh
Priority to US12/173,223 priority patent/US20090259796A1/en
Publication of TW200943060A publication Critical patent/TW200943060A/zh
Application granted granted Critical
Publication of TWI361353B publication Critical patent/TWI361353B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • 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/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash 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/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Description

1361353 PSPD-2007-0042 26509twf.doc/n 九、發明說明: 【發明所屬之技術領域】 本發明是有關於一種資料寫入方法、 制器,且特別是有關於一種非揮發 ^其控 法、非揮發性記憶體儲存系統及其控^器隐體1料寫入方 【先前技術】 近钱,由於触減、具有_功_手機、MP3, = 的成針分迅速,_使得消費者觸存媒 而未也急劇增加。峨現今所有_存媒體而言,由= - 揮發性記憶體(例如,快閃記憶體(Flash MemonO)、i 冑資=非揮發性、錢、體積小,以及無機械結構等特性、, =以=適合内建於上述所舉例的多種可攜式多媒體震置 中。因此,使得快閃記憶體的市場蓮勃發展。 、 -般來說,當上述以㈣記憶料儲 (可移除式U赫裝接至主⑽_,域系 _ 2裝置視為外接磁碟機’並且透過主齡統⑽檔案^ 接磁碟機進行反覆地存取。由於此類儲存 „枓可容易地變更’因此不適於儲存具唯 二的數位内容。例如’系統廠商可能需要提供裝置 一二-元,給客戶進行更新,系統廠商會希望使用僅能寫 人的儲存媒體έ己錄此新體碼,以避免勤體碼遭不明 統:因此’若能夠開發一套特殊的寫 于’、可重複多次寫入與抹除的快閃記憶體僅能進行 5 1361353 PSPD-2007-0042 26509twf doc/π “-次寫人”’將可更擴大快閃記憶體的應用範圍。 此外,在快閃記憶體的生產過輕中,由於其製程上的 因素可能會生產紐能寫人極少數次的不良㈣記憶體。 上所述由於市場上亦有需要僅能讀取的,丨綱記憶體的 :場’因此若能觸發—套特殊的寫人程序以使得此類不 良快閃記憶财寫人時限於特枝㈣,由此可將充分使 用原不良'關憶體’而提升快閃記憶體的產出。
【發明内容】 本發明提供-種非揮發性記憶體儲存系統, 寫人㈣能触止麵發性記憶體因Μ寫入而造 本發明提供-種控制器,其所執行的寫入程 止非揮發性記憶體因多次寫入而造成損壞。 本發明提供一種資料寫入方法,其 記憶體因多:欠寫人而造成㈣。 止非揮1 本發明提出-種資料寫人方法,其_於具有多4 =兀的非揮發性記憶體。此資料寫入方法包括於 執行非揮發性記紐寫蝶式,並且路」 體寫入程式管理欲寫人至此非揮發性記憶體 料寫入方法也包括藉由非揮發性記憶體寫入程式執一1 啟動指令以暫時地解除此轉躲記,lf姻寫 =·. 及透過此非料性記健寫人程式執行寫人將^ 的資料從主機中以上述寫入單元為單位來寫= 6 1361353 PSPD-2007-0042 26509twf.doc/n 性記憶體之中未記錄資料的寫入單元中。最後,在完成資 料的寫入後藉由非揮發性記憶體寫入程式執行一寫入保護 指令以啟動非揮發性記憶體的寫入保護。 在本發明之-實施例中,上狀每一寫入單元僅能被 寫入一次。 本發明之—實施财,上述之資料寫人方法更包括 =1:錄寫入單元的寫入次數,以及分別地判斷欲寫入 平广的寫入:欠數是否小於預設寫入次數門檻 -欠數^值2寫t的貧料寫人至寫人次數小於預設寫入 人数門植值的寫入单元中。 在本發明之一實施例中, -頁或一區塊。 上述之寫入早兀為一扇區、 在本發明之-實施例中,上述之資料寫入方 透過非揮發性記憶體寫人程 在此非揮發性記憶體ί的令以清除記錄 發性實施财’上述之管理欲寫人至該非揮 括對該資料進行-收集作業與 以連存系统’其包括用 發性接介面、非揮發性記憶體、非揮 個寫非揮發性記憶體具有多 機執行以進行多個it 性5體寫入程式是由主 .連接介面鱗揮發性驟。控繼是祕至匯流排 皁今生°己隐體用以初始化地執行非揮發性記 7 PSPD-2〇〇7-〇〇42 26509twf.doc/n 憶體的寫入保護、識別非揮發性記憶體寫入程式的寫入啟 動指令以解除寫入保護並且識別非揮發性記憶體寫入程式 的寫入保護指令以啟動非揮發性記憶體的寫入保護,其中 此些資料寫入步驟包括管理欲寫入至非揮發性記憶體的資 料、執行寫入啟動指令、執行寫入指令來將資料從主機中 以寫入單元為單位來寫入至非揮發性記憶體之中未記錄資 料的寫入單元中以及執行寫入保護指令。 在本發明之一實施例中,上述之每一寫入單元僅能被 寫入κ 一次。 八在本發明之一實施例中,上述之資料寫入步驟更包括 二別地δ己錄寫入單元的寫入次數,以及分別地判斷欲寫入 資料的寫人單兀的寫人次數是否小於預設寫人次數門植 值’其中僅將欲寫人的資料寫人至寫人:欠數小於預設寫入 次數門檻值的寫入單元中。 在本發明之-實施例中,上述之寫入單元為一扇區、 一頁或一區塊。 在本發明之—實關巾,上述之資料寫人步驟更包括 揮雜記憶體寫絲魏行—抹除齡以清除記錄 在非揮發性記憶體上的所有資料。 之—實施财,上叙非揮紐記憶體寫入 柱式儲存在非揮發性記憶體上。 記憶體為快 在本發明之一貫施例中,上述之非揮發性 閃記憶體。 在本發明之一實施例中 上述之匯流排連接介面為 1361353 PSPD-2007-0042 26509twf.doc/n PCI Express 介面、USB 介面、IEEE 1394 介面、SATA 介 面、MS介面、MMC介面、SD介面、CF介面或IDE介面。 在本發明之一實施例中,上述之非揮發性記憶體寫入 程式儲存在此非揮發性記憶體的一獨立分割區中。 在本發明之一實施例中,上述之管理欲寫入至該非揮 發性記憶體的資料的步驟包括對該資料進行一收集作業與 一排列作業的至少其中之一。
本發明提出一種控制器,其適用於具有非揮發性記恃 體的儲存系統,其中此非揮發性記憶體具有多個寫入單 元。此控制器包括非揮發性記憶體介面、微處理單元以及 寫入保護模組。微處理單元用以識別非揮發性記憶體寫入 程式的寫入啟動指令與寫入保護指令。非揮發性記憶體介 面耦接至微處理單元用以存取非揮發性記憶體。寫入保^ 模組麵接至微處理單元,寫入保護模組用以初始化地 寫入保護以防止非揮發性記憶體上的任何寫入作業、仿亍 寫入啟動指令暫時地解除寫入保護並且依據寫入保 啟動非揮發性記憶體的寫入保護,其中非揮發性吒愔s々 入程式是在連接至上述儲存系統的主機上執彳 ^以進寫 資料寫入步驟,此些資料寫入步驟包括管理欲寫入订夕個 發性記憶體的資料、執行寫入啟動指令、執行寫入^非镡 將資料從主機中以寫入單元為單位透過微處理^柏々來 發性記憶體介面來寫入至非揮發性記憶體之中與非律 的寫入單元中以及執行寫入保護指令。 。己錄資料 在本發明之一實施例中,上述之每—宜 β 母罵入早元僅㈣ 9 1361353 PSPD-2007-0042 26509twf.doc/r 寫入一次。 在本發明之一實施例中,上述之資料寫入步驟更包括 分別地5己錄寫入單元的寫入次數,以及分別地判斷欲寫入 貧料的寫人單元的寫人次數是否小於預設寫人次數严淡 值’其中僅將欲寫入的資料寫入至寫入次數小於預設寫入 次數門檻值的寫入單元中。 在本發明之-實施例中,上述之寫入單元為_扇區、 一頁或一區塊。 在本發明之-實施例中,上述之資料寫入步驟更包括 透過此非揮發性記憶體寫入程式執行一抹除指令以清除記 錄在此非揮發性記憶體上的所有資料。 閃記IS糾之—實補巾,上述之非揮發性記憶體為快 許的出:種控制器’其適用於具有非揮發性記憶 元。此控制器包括非揮發性體mi 宜入㈣體介面、微處理單元以及 寫入保濩模組。微處理單元 程式的寫人啟動指令⑽體寫入 面耦接至微严理罝-田、寫保濩私令。非揮發性記憶體介 ==:用以存取非揮發性記憶體。寫入保護 ,寫八保護模組用以初始化地執行 寫入啟動指令暫時地解除寫 據 啟動非揮發性記憶體的寫隻^依據寫入保A指令 入程式是由連接至上述儲存系、:=中非揮發性記憶體寫 儲存系統的主機所執行,並且微處 1361353 PSPD-2007-0042 26509twf.doc/n 會在寫人保護模組暫時地解除寫入保護之後從主 機中接收與管理欲寫人至非料性記賴的資料並且以寫 入早凡為單位透過非揮發性記憶體介面來將資料寫入至非 揮發性記憶體之中未記錄資料的該些寫入單元中。 在本發明之-實施例中,上述之每一寫入單元僅能被 罵入一次〇 ^在本發明之一實施例中,上述之微處理器單元會分別
地,錄g人單元的寫人次數、分職靖欲寫人資料的寫 入單元的S人讀是料於預設以讀門檻值並且僅將 欲寫入的·寫人至寫人缝小於龍寫人次數門 寫入單元中。 在本發明之一實施例中,上述之寫入單元為一扇區、 一頁或一區塊。 在本發明之一實施例中,上述之微處理器單元會根據 非揮發性記憶體寫入程式的—抹除指令來清除記錄在此非 揮發性記憶體上的所有資料。
在本發明之一實施例中,上述之非揮發性記憶體為快 閃記憶體。 本發明因採用寫入保護機制防止非揮發性記憶體的 寫入作業,並且僅能透過非揮發性記憶體寫入程式進行寫 入作業,由此防止非揮發性記憶體因多次寫入而造成損壞。 為讓本發明之上述特徵和優點能更明顯易懂,下文特 舉較佳實施例,並配合所附圖式,作詳細說明如下。 1361353 PSPD-2007-0042 26509twf.doc/n 【實施方式】
為此達成在原本可重複寫入與抹除的非揮發性記障 體上限制僅能“寫入-次”或“寫入特定次數”,本發明於非 揮發性記憶體儲存系統上提供—軟體程式(例如,非揮發 性記憶體寫入程式)。當使用者欲寫入資料至此非揮發性 記憶體儲存纟統時必須透過於主機純上執行此軟體程式 才可進行龍的寫人。此外,透過此軟體程式與非揮發^ 記憶體儲存系統的控制器之間的協調,以限制非揮發㈣己 憶體錯存线上非揮發性記紐的每—寫人單元的寫入次 數。以下將配合圖式讀個實麵來更詳細卿本發明。 [第一實施例] 圖1是根據本發明第—實施例緣 存系統的财錢®。 m €體储 請參照圖卜非揮發性記憶體
排連接介面⑶以及非揮發性記憶體13= 隐體儲存系統100會以可移除式的方式與主 飞障#’以使主機綱可將資料寫人至非揮發性 存,或從非揮發性記憶體儲存系統100中 彳實施例中,非揮發性記憶體儲存系統100 為讀卡。但必須瞭解的是,在本發明另—實 發性記紐料紐!⑻亦可以是隨身碟。 ^制器110會控龜_連 爾13__作,峨暢、讀取與= 12 1361353 PSPD-2007-0042 26509twf.doc/n =器IK)包括微處理單元服以及非揮發性記憶體介面 微處理單元l10a會控制非揮發性記憶體介面】⑽愈 寫入保護模組U〇c的運作。 -、 非揮發性記題介Φ 11Gb是連接至微處理 1 l〇a並且用以存取非揮發性記憶體ls〇。也就是,
欲寫入至詩發性記髓m的#料會㈣轉發性 體介面ii〇b轉換為非揮發性記憶體13〇所能接受的格式: 寫入保護模組110c是電性連接至微處理單元11〇°/並 且用以初始化地執行寫人保護以防止非揮發性記憶體⑽ 上的任何寫入作業。 一此外,雖未繪示於本實施例,但控制器11〇可更包括 緩衝記憶體、記憶n管理模組、錯難正漁與電源管理 模組等一般快閃記憶體控制器常見的功能模組。
匯流排連接介面120用以透過匯流排300連接於主機 200。在本實施例中,匯流排連接介面12〇為sd介面。然 而,必須瞭解的是本發明不限於此,匯流排連接介面12〇 可以是USB介面、IEEE 1394介面、SATA介面、MS介 面、MMC介面、PCI Express介面、CF介面、IDE介面或 其他適合的資料傳輸介面。 非揮發性記憶體130是電性連接控制器11〇並且用以 儲存資料。在本實施中非揮發性記憶體13〇為多層記憶胞 (Multi Level Cell,MLC)反及(NAND)快閃記憶體。然 而,必須瞭解的是,本發明不限於此。在本發明另一實施 13 PSPD-2007-0042 26509twf.doc/n 例中,單層記憶胞(Single Level Cell,SLC) NAND快閃 記憶體亦可應用於本發明。 非揮發性記憶體130會分割為多個實體區塊(physical block) 130-0至130-N。一般而言,在快閃記憶體中實體 區塊為抹除之最小單位。亦即,每一實體區塊含有最小數 目之一併被抹除之記憶胞。每一實體區塊通常會分割為數 個頁(page),例如64頁、128頁、256頁等。頁通常為 規劃(program)的最小單元,但要特別說明的是於有些不 同的快閃記憶體設計,最小的程式單位也可為一個扇區 (sector)大小,即一頁中有多個扇區並以一扇區為程式的. 最小單元。換言之,頁為寫入資料或讀取資料的最小單元。 每一頁通常包括使用者資料區D與冗餘區R。使用者資料 區D用以儲存使用者的資料,而冗餘區用R以儲存系統性 的資料(例如,錯誤校正碼(error correcting c〇de,ECC ))。 為對應於磁碟驅動器的扇區(sect〇r)大小,一般而言,使 用者資料區D通常為512位元組,而冗餘區R通常為16 位元組。也就是,一頁為一個扇區。然而,亦可以多個扇 區形成一頁,例如一頁包括4個扇區。在本實施例中,非 揮發性記憶體130的寫入單元為一個頁。在本發明另一實 施例中#揮發性呑己憶體13〇的寫入單元亦可設計為一個 ,塊或-,區。值得—提的是,非揮發性記憶體m的 :頁或母ϋ塊僅此被重複寫入極少的次數(例如,⑽ 此,在本實施例中將此非揮發性記憶體儲存系統 100 ax a十為僅能進行“寫入一次,,。 1361353 PSPD-2007-0042 26509twf.doc/n 特別是’根據本發明實施例的非揮發性記憶體儲存系 統100 ’控制器110的寫入保護模組11〇(;在出廠設定中會 被設定防止寫入非揮發性記憶體13〇的寫入保護。因此, 根據本發明實施例的非揮發性記憶體儲存系統1〇〇更包括 一非揮發性記憶體寫入程式(未繪示),此非揮發性記憶 ,寫入程式可由主機2〇〇執行以完成根據本發明實施例的 貢料寫入步驟,其中此非揮發性記憶體寫入程式的寫入啟 動指令與寫入保護指令可被控制器11〇的微處理單元u〇a 所識別’並且控制器110的寫入保護模組n〇c會依據此寫 入啟動指令與寫入保護指令來啟動或解除非揮發性記憶體 130的寫入保護,稍後將配合圖2詳細說明此資料寫入步 驟。換言之,根據本發明實施例的非揮發性記憶體儲存系 統上00必須透過執行上述非揮發性記憶體寫入程式才 行資料的寫入。 在本實施例t,上述非揮發性記憶體寫入程式是 用者所儲存的資料—起儲存在非揮發性記憶體m的^同一 ” '然’在本發明另一實施例中,亦 i己憶體⑽中獨立分割—磁碟分割區 憶體寫人程以錢域祕用者點群 ===!例中亦可將所儲存的非揮_ =入私“疋為旬,以防止使用者誤刪。再者 式亦可獨立的儲存於一儲存媒體中, 或非揮發性記憶體130中。供使用者讀於主機 圖2是根據本發明第一實施例緣示資料寫入程序(方 15 1361353 PSPD-2007-0042 26509twf.doc/n 法)的流程圖。 清參照圖2’在步驟S2〇1中使用者於主機2〇〇上執行 儲存在非揮發性記憶體130上的非揮發性記憶體寫入程 式。接著’在步驟S203中透過非揮發性記憶體寫入程式 (,繪不)管理欲寫入至非揮發性記憶體130的資料,其 中官理欲寫入至非揮發性記憶體130的資料包括將資料收 集為一個寫入單位及/或對資料的寫入的位址順序進行排 列等。例如,非揮發性記憶體寫入程式可顯示一視窗 (windows)介面以提供使用者管理欲寫入至非揮發性記 憶體130的資料。值得一提的是,在本實施例中管理欲寫 入至非揮發性記憶體130的資料的步驟是在主機2〇〇上執 行的非揮發性§己憶體寫入程式中進行,然而在本發明另一 實施例中主機2〇〇亦可直接將資料傳遞給控制器11〇,並 且由控制器110來管理欲寫入至非揮發性記憶體13〇的資 料。 ' 之後,當主機200的使用者執行非揮發性記憶體寫入 程式以開始寫入指令時,在步驟S205中非揮發性記憶體 寫入程式會執行寫入啟動指令以暫時地解除非揮發性記憶 體130的寫入保護。 在解除非揮發性記憶體130的寫入保護後,在步驟 S207中非揮發性記憶體寫入程式會執行一寫入指令將上 述資料從主機200中以寫入單元為單位來寫入至發性 記憶體130中’並且在步驟S2〇9中控制器u〇的寫入保 護模組ll〇c會在完成資料的寫入後依據非揮發性記憶體 1361353 PSPD-2007-0042 26509twf.doc/n 寫入程式的寫入保護指令再次啟動非揮發性記憶體的寫入 保護。 此外,在本實施例中由於非揮發性記憶體13〇的寫入 單凡僅能被寫入一次,因此在步驟S2〇7中控制器11〇會 提供非揮發性記鐘13G之巾未記錄過資料的寫入單元以 寫入貧料。特別是,在步驟S207中可能會因已無可記錄 的空間而由控制器Π0回應寫入錯誤的訊息。以$將配令; 圖3詳細說明控制器ι1〇的運作。 σ 圖3是根據本發明第一實施例繪示關於寫入作業方面 控制器110的部分運作流程圖。 田非揮發性§己憶體儲存系統1〇〇開機後,控制器 會處於等候來自於主機200的指令的狀態。請參照圖。3 , 在步驟S301中會接收到主機2〇〇的指令。接著,在步驟 S^03中會判斷所接收的指令為寫入啟動指令或一般寫入 指令。倘若在步驟S303中判斷所接收的指令是寫入啟動 指令時,則在步驟S305中會暫時地解除非揮發性記憶體 GO的寫入保護。 一 倘若在步驟S303中判斷所接收的指令是一般寫入指 令時’則在步驟S307中會判斷非揮發性記憶體13()的寫 入保護是否已啟動。倘若在步驟S3〇7中判斷非揮發性記 憶體130的寫入保護已被啟動時,則在步驟S3〇9中會回 應主機200 —寫入錯誤訊息。倘若在步驟S3〇7中判斷非 揮發性§己憶體13〇的寫入保護未被啟動時,則在步驟 中會判斷非揮發性記憶體丨30之中是否存有未記錄資料的 17 1361353 PSPD-2007-0042 26509twf.doc/n 寫入單元。倘若在步驟S311中判斷非揮發性記憶體13〇 之中存有未§己錄資料的寫入單元時,則在步驟S313中會 將資料寫入至未記錄資料的寫入單元,並且在步驟S315 中會再啟動非揮發性記憶體130的寫入保護。倘若在步驟 S309中判斷非揮發性記憶體丨30之中存有未記錄資料的寫 入單元時,則執行步驟S309。 [第二實施例] 本發明第二實施例的非揮發性記憶體儲存系統的架 構疋相同於苐一實施例(如圖1),因此在此不再重複說 明。第二實施例與第一實施例的不同之處在於第二實施例 的非揮發性5己fe體儲存糸統的寫入程序可允許在非揮發性 記憶體的寫入單元上重複寫入預先定義的次數。 圖4是根據本發明第二實施例繪示資料寫入程序(方 法)的流程圖。 請參照圖4’在步驟S401中使用者於主機2〇〇上執行 儲存在非揮發性s己憶體130上的非揮發性記憶體寫入程 式。接著,在步驟S403中透過非揮發性記憶體寫入程= 管理欲寫入至非揮發性記憶體13〇的資料。 工 之後,當主機200的使用者執行非揮發性記憶體寫入 程式以開始寫入指令時,在步驟S405中非揮發性記^體 寫入程式會執行寫入啟動指令以暫時地解除非揮發性記憶 體130的寫入保護。 ° & 在解除非揮發性記憶體13〇的寫入保護後,在步驟 1361353 PSPD-2007-0042 26509twf.doc/n S407中非揮發性記㈣以程式會執行—寫人指 述^從主機細中以寫入單元為單位來寫入至非揮發^ = ^3^。在步驟_中控制器11〇會在 ^ ,Γ 人計數值1^計數(例如,在計數值上加 冗铨二’,本實施例中計數值是記錄在每一寫入單元的 几餘£ R,但必須瞭解的是本發明秘於此。 _^後,在步驟_中控制器110會根據非揮發性記 二"、、^程式的寫人賴指令再次啟動非揮發性記憶體的 保Ϊ值知一&的是,在本實施例中由於非揮發性兰 憶體13G的寫人單元僅能被寫人預定的次數,因此在步锦 S407中控制器11〇會提供非揮發性記憶體13〇之中未達到 寫,數的寫人單元以寫人資料。特別是,在步驟S407 ^中可能會因已無可記錄的空間而由控制ϋ 110回應寫入錯 誤的讯息。以下將配合圖5詳細說明控制器11〇的運作。 圖5是根據本發明第二實施例繪示關於寫入與抹除作 業方面控制器11〇的部分運作流程圖。 當非揮發性記憶體儲存系統1〇〇開機後,控制器1〇〇 會處於等候來自於主機2〇〇的指令的狀態。請參照圖5, 在步輕&01申會接收到主機2〇〇的指令。接著,在步驟 St503中會判斷所接收的指令為寫入啟動指令或一般寫入 ^令。倘若在步驟S503中判斷所接收的指令是寫入啟動 指令時,則在步驟S505中會暫時地解除非揮發性記憶體 13〇的寫入保護。 ^ 倘若在步驟S503中判斷所接收的指令是一般寫入指 19 1361353 PSPD-2007-0042 26509twf.doc/n 令時,則在步雜S507中會判斷非揮發性記憶體13〇的寫 入保護是否已啟動。倘若在步驟S507中判斷非揮發性記 憶體130的寫入保護已被啟動時,則在步驟中會回 應主機200 —錯誤訊息。倘若在步驟S5〇7中判斷非揮發 性記憶體130的寫入保護未啟動時,則在步驟s5u中^ 判斷非揮發性記憶體1:3〇之中是否存有未記錄資料(或記 錄無效資料)且寫入次數小於一預設寫入次數門捏值的寫 =元:倘若在步驟灿中判斷存有未記錄資料(或記 二效Μ料)且寫入次數小於預設寫入次數門檻值的寫入 p時,則在步驟S513中會將資料寫入至未記錄資料的 ^入單元並且在步轉S515中會在寫入資料的寫入單元的 :入叶數值上計數(例如,在計數值上加〇。最後,在 =S517巾會再啟動非揮發性記憶體13()的寫入保護。 ^在步驟S511中判斷非揮發性記憶體13〇之中無存 ‘Si (或記錄無效資料)且寫入次數小於預設寫人 人數門檻值的寫入單元_,則執行步驟s·。 發明另—實施例中,資料寫人程序可更包括透過 輝入程式執行一抹除指令以清除記錄在非 己隐體130上的所有資料。 性記t ^ 1本發明提出以寫入保護機制來控制非揮發 行^揮發性性記憶體寫入程式執 而與Γ定寫入次數,而避免頻繁寫入小量資料 此寫入夕數次數的非揮發性記憶體損毁。透過此開 20 1361353 PSPD-2007-0042 26509twf.d〇c/n 發的非揮發性記憶體耷 體的生產過程中產出序’可有效地使用在快閃記憶 #,+ + 1 7 寫入極少數次的不良快閃記憶 _ 升原非良品的使用,降低製造的成本。 發^已峨佳實施觸露如上,然其並非用以 ^ X ,何所屬技術領域中具有通常知識者,在不 明之精神和範圍内,當可作些許之更動與潤ί xHfl㈣#視後附之中請專利制所界 马準。 【圖式簡單說明】 圖1是根據本發明第一 存系統的概要方塊圖。 圖2是根據本發明第一 程圖。 實施例繪示非揮發性記憶體儲 實施例缘示資料寫入方法的流 圖3疋根據本發明第一實施例繪示關於寫入作業方面 控制器的部分運作流程圖。 〃
圖4是根據本發明第二實施例繪示資料寫入方法的流 程圖。 圖5是根據本發明第二實施例繪示關於寫入與抹除作 業方面控制器的部分運作流程圖。 【主要元件符號說明】 100 :快閃記憶體儲存系統 110 :快閃記憶體控制器 21 1361353 PSPD-2007-0042 26509twf.doc/n ll〇a :微處理單元 110b :非揮發性記憶體介面 ll〇c :寫入保護模組 120 :匯流排連接介面 130 :快閃記憶體 130-0、13(M、130-2、130-N :實體區塊 S201、S203、S205、S207、S209 :資料寫入方法的步 驟 S301、S303、S305、S307、S309、S31 卜 S313、S315 : 控制器的運作步驟 S401、S403、S405、S407、S409、S411 :資料寫入方 法的步驟 S501 ' S503、S505、S507、S509、S51 卜 S513、S515、 S517 .控制器的運作步驟
22

Claims (1)

  1. 丄 ϋ··. 申請專利範圍: ^- 5 ’思體,其中該非揮發性記憶體具有多 個寫入早7C’該資料寫人方法包括: ’夕 士地,—主機+執行—非揮發性記健寫人程式,其中該 :移除地_至轉揮發性記憶贿存裝置;οχ 透過該非揮發性記憶體寫人
    揮發性記憶體的資料; 人馬入至該非 藉由該非揮發性記憶體寫人程式執行—寫入啟動指 令以暫時地解除該非揮發性記憶體的寫入保護; —透過該非揮發性記憶體寫入程式執行一寫入指令將 該資料以該些寫人單元為單位來寫人至該非揮發性記憶體 之中未記錄資料的該些寫入單元中; 由該非揮發性記憶體儲存裝置的一控制器判斷是否 接收到該寫入啟動指令或該寫入指令;
    裝置;;:=2:=發性_儲存 當接收到該寫入啟動指令時’由該控制器根據該寫入 啟動指令暫時地解除該寫入保護; 當接收到該寫入指令時,由該控制器判斷該寫入保護 是否已被啟動; 當該寫入保護已被啟動時’回應該主機一寫入錯誤訊 息;以及 在完成該資料的寫入後藉由該非揮發性記憶體寫入 程式執行一寫入保護指令以啟動該非揮發性記憶體的寫入 保護。 23 100-11-21 2.如申請專利範圍第i項所述之資料寫人方法其中 每一寫入單元僅能被寫入一次。 .3.如申請專利範圍第丨項所述之資料寫入方法 ,更包 括: 分別地記錄該些寫入單元的寫入次數;以及 刀別地判斷欲寫人該資料的該些寫人單元的寫入次 數是否小於一預設寫入次數門檻值,
    •其中僅寫入該資料至該些寫入次數小於該預設寫入 次數門植值的寫入單元中。 —4♦如ψ δ|·專難圍第丨項所述之資料寫入方法 ,其中 母-寫入單it為-扇區,—頁或一區塊。 如t料鄕㈣丨項所述之資料寫入方法 ,更包 々^該非揮紐記憶體冑入科執行—抹除指令以清除 5己錄在該非揮發性記憶體上的所有資料。 这6·如申請專利範圍第i項所述之資料寫入方法 ,其中
    =奴寫人至該非揮發性記憶體的資料的步驟包括對該資 枓進行-收集作業與-排列作業的至少1中之一。 括· 7.如中請專利範圍第1項所述之資料寫人方法,更包 該寫人髓未被啟動時,由該控制關斷是否存有 未记錄貧料的寫入單元;以及 另 料未錄㈣的寫人單元時,由該控制11將該資 =寫入至未記錄資料的寫人單元並且重新啟動該寫入保 24 100-11-21 8. —種非揮發性記憶體儲存系統,包括: 匯流排連接介面,用以連接至一主機; 非揮發性記憶體,具有多個寫入單元以儲存資料; 非揮發性δ己憶體寫入程式,用以由該主機執干以一 多個資料寫入步驟;以及 雕控制器’輕接至該匯流排連接介面與該非揮發性 肢用以初始化地執行該轉發性記題的寫人靜 ^非揮發性記憶體寫人程式的-寫人啟動指令以解除^ 揮發性記憶體的寫入保護並且識別該非揮發性記憔雕^ ^式的-寫人保護指令以啟動該非揮發性記憶保 性二入步驟包括管理欲寫入至該非揮發 的㈣、執行該寫人啟動指令、執行_寫入指令 料以該些寫人單元為單位來寫人至該非揮發性纪憶 指:未記錄資料的該些寫入單元中以及執行該寫入保護 指人該控制器判斷是否接收到該寫入啟動指令或該寫入 ,,收到該寫入啟動指令時,該控制器根據該寫入 動才曰令暫時地解除該寫入保護, 當接收到該寫入指令時,該控制器判斷該寫入保護是 ^破啟動’其中當該寫入保護已被啟動時,該控制器回 〜該主機一寫入錯誤訊息。 9·如申請專利範圍第8項所述之非揮發性記憶體儲存 1361353 100-11-21 系統’其中每-寫人單元僅能被寫入一次。 / 10.如申請專利範圍第8項所述之非揮發性記憶體儲 存系統’其巾該些資料寫人步驟更包括: 分別地記錄該些寫入單元的寫入次數;以及 分別地判斷欲寫入該資料的該些寫入單元的寫入次 數是否小於-預設以次數門植值,
    僅寫入辕貧料至該些寫入次數小於該預設寫入次數 門植值的寫入單元中。 / :,專利範圍第8項所述之非揮發性記憶體4 存系統、、:每一寫入單元為一扇區、一頁或一區塊。 申明專利範圍第8項所述之非揮發性記憶體{ 子系"充/、_該些資料寫入步驟更包括透過該非揮發性1 憶體寫人程錢行—抹除指令以清除記錄在該非揮發性i 憶體上的所有資料。 / 13.如巾請專職_ 8項所述之非揮發性記憶體儲
    存系統’其t轉揮發性記憶體寫人程式儲存在該 性記憶體上。 14.如申請專利範圍第8項所述之非揮發性記憶 存系統,其中該非揮發性記憶體為一快閃記憶體。, / 15·如申請專職圍第8項所述之轉發性記憶體儲 存系統,其中該匯流排連接介面為PCI Express介面、usb 介面、IEEE 1394介面、SATA介面、Ms介面、MMc介 面、SD介面、CF介面或IDE介面。 16.如申請專利_第8項所述之非揮紐記憶體儲 26 1361353 100-11-21 存系統,其t鮮揮發性記㈣寫絲式雜在該非揮發 性記億體的一獨立分割區令。 Π.如申料職圍第δ項所狀非揮發性記憶體儲 子系統纟令f理欲寫入至該非揮發性記憶體的資料的步 驟包括對該㈣進行—收集作業與—㈣作業的至少其中 — 〇 18.如申請柄範圍第8項所狀轉發性記憶體 存系統,
    其中當該寫入保護未被啟動時,該控制器判斷是否存 有未§己錄資料的寫入單元;以及 S存有未s己錄資料的寫入單元時,該控制器將該資料 寫入至未記錄資料的寫人單元並且重新啟動該寫入保護。 ^ 19.一種控制益,其適用於具有非揮發性記憶體的儲存 系統,其中該非揮發性記憶體具有多個寫入單元,該控制 器包括: I
    微處理單元,用以識別一非揮發性記憶體寫入程式的 一寫入啟動指令與一寫入保護指令; 非揮發性記憶體介面,耦接至該微處理單元用以存取 該非揮發性記憶體;以及 .寫入保護模組,耦接至該微處理單元用以初始化地執 行一寫入保護以防止該非揮發性記憶體上的任何寫入作 業、依據該寫入啟動指令暫時地解除該寫入保護並且依據 該寫入保護指令啟動該非揮發性記憶體的寫入保護, 其中該非揮發性記憶體寫入程式是在連接至該健存 27 1361353 100-11-2] ,統的-主機上執行以進行多個資料寫人步驟,該些 :入步驟包括官理欲寫人至該非揮發性記憶體的資料、'勃 ΐϋ啟ϊ指令、執行—寫入指令將該資料以該些寫: 入至該非揮發性記憶體之中未記 以及執行該寫人保護指令, -胃入早兀令
    處理單元判岐否接收到該寫人啟動指令或該 接收龍寫人啟動齡時,賴處理單元根據該驾 入啟動指令暫時地解除該寫入保護, ^寫 寫人指令時,該微纽單元顺 =否已被啟動,射#該寫人賴已被啟動時,, 理皁7L回應該主機一寫入錯誤訊息。 °Λ处 20.如申請專利範圍第19項所述之控制器 寫入單元僅能被寫入一次。
    其中每一 其中該些 _ 21.如申請專利範圍第19項所述之控制 資料寫入步驟更包括: ° 分別地記錄該些寫入單元的寫入次數;以及 分別地判斷欲寫入該資料的該此; 數是否小於-預設寫入次數門梭值,—寫早7°的寫入次 門插該些寫入次數小於該預設寫入次數 寫入述之控制器,其中每一 平7C馬扇區、一頁或一區塊。 , 28 1〇〇-11-2 :23.如申凊專利範圍第I;項所述之控制器’其中該資 料寫入步驟更包括透過該非揮發性記憶體寫入程式執行二 抹除指令以清除記錄在該非揮發性記憶體上的所有資料。 24.如申請專利範圍第19項所述之控制器,其中兮° 揮發性記憶體為一快閃記憶體。 v邦 25·如申請專利範圍第19項所述之控制器, 其中當該寫人保護未被啟動時,該微處理單 否存有未記錄資料的寫入單元;以及 該微處理單元判斷是 當存有未記錄資料的窝人sn士 資料寫入至未記錄 該微處理單天
    元將該 寫入保
TW097113033A 2008-04-10 2008-04-10 Data writing method for non-volatile memory, storage system and controller thereof TWI361353B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW097113033A TWI361353B (en) 2008-04-10 2008-04-10 Data writing method for non-volatile memory, storage system and controller thereof
US12/173,223 US20090259796A1 (en) 2008-04-10 2008-07-15 Data writing method for non-volatile memory and storage system and controller using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097113033A TWI361353B (en) 2008-04-10 2008-04-10 Data writing method for non-volatile memory, storage system and controller thereof

Publications (2)

Publication Number Publication Date
TW200943060A TW200943060A (en) 2009-10-16
TWI361353B true TWI361353B (en) 2012-04-01

Family

ID=41164919

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097113033A TWI361353B (en) 2008-04-10 2008-04-10 Data writing method for non-volatile memory, storage system and controller thereof

Country Status (2)

Country Link
US (1) US20090259796A1 (zh)
TW (1) TWI361353B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550406B (zh) * 2013-09-26 2016-09-21 英特爾公司 於持續性記憶體中之資料儲存的技術

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100015246A (ko) * 2008-08-04 2010-02-12 삼성전자주식회사 디스플레이부를 구비한 저장장치 및 정보 디스플레이 방법
TWI585586B (zh) * 2011-10-31 2017-06-01 Data acquisition device and method thereof
US9619174B2 (en) 2011-12-30 2017-04-11 Intel Corporation Write mechanism for storage class memory
US8934779B2 (en) * 2012-02-10 2015-01-13 Source Photonics, Inc. Operational status indicators in an optical transceiver using dynamic thresholds
CN103117810A (zh) * 2012-02-10 2013-05-22 索尔思光电(成都)有限公司 采用动态阈值的光收发器操作状态提示符
US10235048B2 (en) * 2014-06-30 2019-03-19 Huawei Technologies Co., Ltd. Data processing method and smart device
JPWO2023090297A1 (zh) * 2021-11-22 2023-05-25
TWI829103B (zh) * 2022-03-02 2024-01-11 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW460786B (en) * 1999-12-09 2001-10-21 Via Tech Inc System to reprogram the content value of the flash memory of the peripheral device and the method thereof
JP4209820B2 (ja) * 2004-07-15 2009-01-14 株式会社ハギワラシスコム メモリカードシステム及び該メモリカードシステムで使用されるライトワンス型メモリカード、ホストシステムと半導体記憶デバイスとからなるシステム
US20060248267A1 (en) * 2005-04-29 2006-11-02 Programmable Microelectronics Corporation Flash memory having configurable sector size and flexible protection scheme

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550406B (zh) * 2013-09-26 2016-09-21 英特爾公司 於持續性記憶體中之資料儲存的技術

Also Published As

Publication number Publication date
US20090259796A1 (en) 2009-10-15
TW200943060A (en) 2009-10-16

Similar Documents

Publication Publication Date Title
TWI361353B (en) Data writing method for non-volatile memory, storage system and controller thereof
TWI632457B (zh) 用於資料儲存裝置的損耗平均方法
TWI261168B (en) Non-volatile memory system with erase counts stored in an erase count block
TWI379194B (en) Block management method for flash memory, and storage system and controller using the same
TWI354996B (en) Wear leveling method and controller thereof
TWI362667B (en) Data writing method for flash memory and controller thereof
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
TWI375962B (en) Data writing method for flash memory and storage system and controller using the same
CN111026326B (zh) 存储器控制器、存储装置及管理元数据的方法
TWI375227B (en) Device and method for prioritized erasure of flash memory
TW201003392A (en) Data accessing method for flash memory and storage system and controller using the same
TW201112263A (en) Block management method for a flash memory and flash memory controller and storage system using the same
TW201102815A (en) Data writing method for flash memory and control circuit and storage system using the same
CN106227625B (zh) 一种因掉电而损坏的闪存数据的恢复方法及系统
TW200919185A (en) Data storage device, memory system, and computing system using nonvolatile memory device
TW201005526A (en) Memory system
US8954692B2 (en) File protecting method and system, and memory controller and memory storage apparatus thereof
TW201217968A (en) Data writing method, memory controller and memory storage apparatus
TW200917261A (en) Wear leveling method and controller using the same
TW201234176A (en) Memory management method, memory controller and memory storage apparatus
TW201013682A (en) One-time-programmable memory emulation
CN107291374A (zh) 纪录数据区块的使用时间的方法及其装置
TW201015563A (en) Block management and replacement method, flash memory storage system and controller using the same
TWI355668B (zh)
TW201248404A (en) Program code loading and accessing method, memory controller and memory storage apparatus