TWI363272B - Data programming method and device - Google Patents

Data programming method and device Download PDF

Info

Publication number
TWI363272B
TWI363272B TW97126262A TW97126262A TWI363272B TW I363272 B TWI363272 B TW I363272B TW 97126262 A TW97126262 A TW 97126262A TW 97126262 A TW97126262 A TW 97126262A TW I363272 B TWI363272 B TW I363272B
Authority
TW
Taiwan
Prior art keywords
memory
data
page
mentioned
volatile memory
Prior art date
Application number
TW97126262A
Other languages
English (en)
Other versions
TW201003395A (en
Inventor
Cheng Chih Yu
Wu Chi Kuo
Hsiao Chun Pan
Chi Hsiang Hung
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to TW97126262A priority Critical patent/TWI363272B/zh
Priority to US12/244,131 priority patent/US8281063B2/en
Publication of TW201003395A publication Critical patent/TW201003395A/zh
Application granted granted Critical
Publication of TWI363272B publication Critical patent/TWI363272B/zh
Priority to US13/596,697 priority patent/US8856432B2/en

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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

1363272 九、發明說明: 【發明所屬之技術領域】 本發明係有關於一種資料儲存方法,特別是有關於一 種減少儲存次數之資料儲存方法。 【先前技術】 第1圖係顯示傳統記憶體架構示意圖。非揮發記憶 • 體,例如快閃記憶體(Flash),具有至少一記憶單元(Memory Unit,MU) 100。其中記憶單元100具有1024個記憶區塊 Block 0〜Block 1023,每個記憶區塊具有64分頁,每分頁 具有4行。如第1圖所示,記憶區塊Block Μ具有64分頁 Page 0〜Page 63,分頁 Page Ν 具有 4 行 Sector 0〜Sector 3,其中Μ是0到1023的正整數,N是0到63的正整數。 每一行具有512字元(512bytes)儲存空間,資料會以行為 單位來作儲存。 • 傳統記憶單元欲儲存兩筆同一分頁資料情況下,例如 記憶單元先接收到第一筆資料欲儲存至記憶區塊Μ的分頁 〇時,若分頁0是空的則記憶單元首先會先儲存(Program) 第一筆資料在分頁0上,之後記憶單元再接收第二筆資料 欲儲存至分頁0時,必須先將區塊Μ的其他分頁(例如分 頁1至分頁63)先備份至揮發性記憶體(未繪示)或其他的記 憶區塊,接著將整個區塊Μ清除(Erase),最後再將第二筆 資料寫入區塊Μ的分頁0以及將未變動的資料從揮發性記 憶體或其他記憶區塊寫回區塊Μ,由於記憶單元在清除 SMI-08-006/ 9031-Α41612TWf 5 1363272 (Erase)資料所花費的時間最長,儲存(Program)資料所花費 的時間次之》因此減少記憶體分頁清除資料或儲存貧料之 次數可以大幅減少資料儲存花費的時間。 【發明内容】 • 有鑑於此,本發明提供一種資料儲存裝置包括一非揮 發性記憶體、一揮發性記憶體以及一記憶體控制單元。非 揮發性記憶體用以儲存資料。揮發性記憶體用以暫時儲存 • 資料。記憶體控制單元接收一資料並決定儲存資料至非揮 發性記憶體或揮發性記憶體中,若資料超過一分頁 (Page),將部份資料儲存(program)至非揮發性記憶體中, 並將不滿一分頁之資料儲存至揮發性記憶體中。 有鑑於此,本發明更提供一種資料儲存方法,其方法 包括:(A)判斷所有資料是否超過一分頁(Page); (B) 若上述資料超過一分頁,將部份上述資料儲存(program)至 一非揮發性記憶體中,並將不滿一分頁之上述資料儲存至 • 一揮發性記憶體;(C)若上述資料不滿一分頁,將不滿 一分頁之上述資料寫入至上述揮發性記憶體中;(D)判 斷下一個資料是否與上述資料在同一分頁中;(E)若上述 下一個資料與上述資料在同一分頁中,回到步驟(A); 以及(F)若上述下一個資料與上述資料不在同一個分頁 中,將上述資料儲存至上述非揮發性記憶體中,並回到步 驟(A)。 【實施方式】 SMI-08-006/ 9031-A41612TWf 6 MS旦j讓本毛月之上述和其他目的、特徵、和優點能更明 董下文特舉出較佳實施例,並配合所附圖式,作詳 細說明如下: 第2圖係顯不根據本發明另一實施例之資料儲存裝置 ^〇。資料儲存裝置200包括記憶體控制單元210和記憶體 單元220 ’其中記憶體單元220包括非揮發性記憶體230 和揮發性έ己憶體240 ’根據本發明一實施例,但不限定之, 揮發性記憶體240是一快取記憶體(cache),非揮發性記憶 體230是NAND型快閃記憶體(NAND Flash)。根據本發明 另一貫施例,非揮發性記憶體230可以包括至少一單層儲 存记憶單元(SLC Unit)、至少一多層儲存記憶單元 Unit)或及其組合。資料儲存裝置2〇〇可以是一固態硬碟 (Solid State Drive,SSD)或一記憶卡裝置。根據記憶體規 格,若儲存限制值等於i (Number ofPr〇gram,N〇p=1),記 憶體之分頁(page)在清除(Erase)後只能儲存(pr〇gram)資料 一次,儲存限制值也可以等於3,也就是分頁在清除後只 能儲存資料3次。由於非揮發記憶體之分頁在清除資料所 花費的時間最長,儲存資料所花費的時間次之,因此如何
減少非揮發記憶體分頁清除資料或儲存資料之次數是本發 明的目標。 X 根據本發明一實施例,記憶體控制單元21〇接收來自 主機(Host)(圖中未顯示)之資料(Data)和邏輯位址(L〇gic Address),並根據邏輯位址和資料長度決定儲存資料至快 取記憶體240或快閃記憶體230中,若資料超過一分頁 SMI-08-006/ 9031-A41612TWf ^〇3272 (Page) ’記憶體控制單元210將資料儲存至快閃記憶體23〇 中,也就是說儲存至少-分頁資料至快間記憶體23〇中, 並將剩下不滿-分頁之資料儲存至快取記憶體24〇中。若 料不滿刀頁,圮憶體控制單元210會將不滿一分頁之 貝料先寫人至快取記憶體24G中,並且記憶體控制單元21〇 :判fe/f下個資料與儲存至快取記憶體之資料是否在 同-分頁中。若下-個資料與儲存至快取記憶體之資 料不在同-個分頁t,記憶體控制單元21〇會將儲存至快 取記憶體2 4 0之資料轉而儲存至快閃記憶體2 3 〇中,並判 斷下-個貧料是否超過—分頁以決定是否儲存至 體挪中。若下-個資料與儲存至快取記憶體之㈣ ^-分頁中’記憶體控制單元21〇將判斷所有資料是否 超過-分頁以決定是否儲存至快閃記憶體2扣中。 f己憶體控制單元210等待資料時間超過-特定時間,記 直接將快取記憶體240之資料儲存至快 下實靖tj之詳峨體之議存方法在以 ^ 3 施狀㈣儲存方法 特:二==單元210只要等待資料時間超過- 資料程序制㈣單元210會結束儲存 料,記声體㈣》 2ί〇在特定時間内接收到資 s^) 户s .所有貝科超過一分頁,將N個分頁資斜继 子快閃記憶體230中(步驟S33〇),並將剩餘不滿」分頁 SMl-〇8-〇〇6/9〇3i.A416]2TWf 1363272 之資料儲存至快取記憶體240 (步驟S340)。若所有資料不 滿一分頁’記憶體控制单元210將不滿一分頁之資料儲存 至快取記憶體240中(步驟S340)。記憶體控制單元210會 等待下一筆資料,若等待時間超過一特定時間(·'步驟 S350),記憶體控制單元210會將儲存在快取記憶體240 之資料儲存至快閃記憶體230中(步驟S360)。若記憶體控 制單元210在特定時間内接收到下一筆資料,記憶體控制 單元210會再判斷下一筆資料與儲存在快取記憶體240之 資料是否在同一分頁中(步驟S370)。若下一筆資料與快取 記憶體240之資料在同一分頁中,跳回到步驟320以判斷 所有資料是否超過一分頁,若下一個資料與快取記憶體 240之資料不在同一分頁中,記憶體控制單元210 .會將快 取記憶體240之資料儲存至快閃記憶體230中(步驟 S380),並回到步驟320以判斷所有資料是否超過一分頁。 本發明是藉由先暫時將小於一分頁之資料儲存至快取 記憶體240中,等所有資料大於一分頁後,再儲存至快閃 記憶體230中,以減少快閃記憶體230儲存和清除資料的 次數,因此記憶單元100可以大幅減少資料儲存所花費的 時間。 本發明雖以較佳實施例揭露如上,然其並非用以限定 本發明的範圍,任何熟習此項技藝者,在不脫離本發明之 精神和範圍内,當可做些許的更動與潤飾,因此本發明之 保護範圍當視後附之申請專利範圍所界定者為準。 SMI-08-006/ 9031-A41612TWf 9 1363272 【圖式簡單說明】 第1圖係顯示傳統記憶體架構示意圖。 第2圖係顯示根據本發明另一實施例之資料儲存裝 置。 第3圖係顯示根據本發明另一實施例之資料儲存方法 之示意圖。 【主要元件符號說明】 Φ Block〜記憶區塊
Page〜分頁 Set〜行 100〜記憶單元 200〜資料儲存裝置 210〜憶體體控制單元 220〜記憶體單元 230〜快閃記憶體 ® 240〜快取記憶體 SMI-08-006/ 9031-A41612TWf 10

Claims (1)

13 卿 72 10】年]月18日修正替換頁 第97126262號申請專利範圍修正本 十、申請專利範園·· 1. 一種資料儲存方法,包括: (A):斷所有資料是否大於-分頁(Page); ⑻右上述資料超過-分頁,將部份上述資料儲存 (program)至—非揮發性純體中,並將剩下不滿— 上述貧料儲存至一揮發性記憶體,· 、 (C)右上述資料不滿一分頁’將不滿 料儲存至上述揮發性記憶體中; 、之上述貝 ⑼料下_筆#料,以及若⑽時縣超過 ^ hi否與上述資料在同—分頁令; ()右上述下—筆資料與上述資料在 到步驟(Α);以及 刀貞中回 中iF)若上述下—筆資料與上述資料不在同-個分頁 二f述資料儲存至上述非揮發性記憶體中,並回到= 括 2. 如申請專利範圍第!項所述之資料儲存方法,更包 若上述等待時間超過上述特定時間,直 性記憶體之資料儲存至上述非揮發性記憶體中。、L 5 3. 如中請專利範圍第!項所述之資料健存方法, till發性記憶體為一快閃記憶體(FlaSh),上述揮發性 。己隐體為一快取記憶體(Cache)。 4. 如申請專利範圍第丨項所述之資料儲存方法, 上述非揮發性記憶體包括至少一單層儲存記憶單元;Μ SM1-0S-006/ 9031-A41612TWF1 # 1363272 101年1月18日修正替換頁 第97126262號申請專利範圍修正本 - Unit)、至少一多層儲存記憶單元(MLC Unit)或及其組合。 5. 如申請專利範圍第1項所述之資料儲存方法,其中 上述分頁(Page)在清除(Erase)後只能儲存(Program)資料一 次。 6. 如申請專利範圍第1項所述之資料儲存方法,其中 上述分頁(Page)在清除(Erase)後只能儲存(Program)資料一 特定次數。 7. 如申請專利範圍第1項所述之資料儲存方法,其中 上述非揮發記憶體包括至少一記憶單元(Memory unit, MU),上述記憶單元包括至少一記憶區塊(Block),上述記 憶區塊包括至少一分頁(Page)。 8. —種資料儲存裝置,包括: 一非揮發性記憶體,用以儲存資料; 一揮發性記憶體,用以暫時儲存資料; 一記憶體控制單元,接收一資料並決定儲存上述資料 至上述非揮發性記憶體或上述揮發性記憶體中,若上述資 料大於一分頁(Page),將部份上述資料儲存(program)至上 述非揮發性記憶體中,並將剩下不滿一分頁之上述資料儲 存至上述揮發性記憶體中; 其中上述記憶體控制單元更等待下一筆資料,以及若 等待時間未超過一特定時間,上述記憶體控制單元將判斷 上述下一筆資料是否與上述資料在同一分頁中。 9. 如申請專利範圍第8項所述之資料儲存裝置,其中 若上述資料不滿一分頁,上述記憶體控制單元將不滿一分 SM1-08-006/ 9031-A41612TWF1 12 】〇]年1月]8日修正替換頁 第97126262號申請專利範圍修正本 — 頁之土述資料寫入至上述揮發性記憶體中。 〇·'如申請專利範圍第9項所述之資 i右上述了一筆資料與上述資料不在同一個分置’其 中,並判斷上述下—筆資至上述非揮發性記憶體 存至上述非揮發性記憶體中。。過刀頁以決定是否儲 11.如申請專利範圍第9 中若上述下-筆資料與上述資=之=存裝置’其 體控制單元將_所有㈣是 =中’上述記憶 存至上述_發性記憶财。 77頁叫定是否儲 12广申請專利範圍第9項所述之資料 ^己憶體控制單元應用於—固,、、 Drive,SSD)或-記憶卡裂置中。心更碟(Solid State 13. 如申請專利範圍第8 ^ ^ 中若上述等待時間超過 員戶^之貝枓健存裝置,其 元直接將上述揮發性記憶間’上述記憶體控制單 憶體中。 ,—貝料儲存至上述非揮發性記 14. 如申請專利範圍 中上述非揮發性記憶 門斤述之資料儲存裝置,其 性記憶體為-快取記憶;。决閃記憶體⑺响,上述揮發 15. 如申請專利範圍 中上述非揮發性記二Π述^裝置,其 (SLC Unit)、至少一多居接六 ^早層储存記憶單元 合。 S儲存記憶單元(MLC Unit)或及其組 SMJ-0S-006/ 9031-A416I2TWF1 13 1363272 101年1月IS日修正替換頁 第97126262號申請專利範圍修正本 - 16. 如申請專利範圍第8項所述之資料儲存裝置,其 中上述分頁(Page)在清除(Erase)後只能儲存(Program)資料 一次。 17. 如申請專利範圍第8項所述之資料儲存裝置,其 中上述分頁(Page)在清除(Erase)後只能儲存(Program)資料 一特定次數。 18. 如申請專利範圍第8項所述之資料儲存裝置,其 中上述非揮發記憶體包括至少一記憶單元(Memory unit, MU),上述記憶單元包括至少一記憶區塊(Block),上述記 憶區塊包括至少一分頁(Page)。 SMI-08-006/ 9031-A41612TWF1
TW97126262A 2008-07-11 2008-07-11 Data programming method and device TWI363272B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW97126262A TWI363272B (en) 2008-07-11 2008-07-11 Data programming method and device
US12/244,131 US8281063B2 (en) 2008-07-11 2008-10-02 Data programming methods and devices for programming data into memories
US13/596,697 US8856432B2 (en) 2008-07-11 2012-08-28 Data programming methods and devices for programming data into memories

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW97126262A TWI363272B (en) 2008-07-11 2008-07-11 Data programming method and device

Publications (2)

Publication Number Publication Date
TW201003395A TW201003395A (en) 2010-01-16
TWI363272B true TWI363272B (en) 2012-05-01

Family

ID=41506149

Family Applications (1)

Application Number Title Priority Date Filing Date
TW97126262A TWI363272B (en) 2008-07-11 2008-07-11 Data programming method and device

Country Status (2)

Country Link
US (2) US8281063B2 (zh)
TW (1) TWI363272B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120117303A1 (en) 2010-11-04 2012-05-10 Numonyx B.V. Metadata storage associated with flash translation layer
TWI470432B (zh) * 2011-11-21 2015-01-21 Mstar Semiconductor Inc 電子系統及其快閃記憶體管理方法
US9262316B2 (en) 2013-12-09 2016-02-16 International Business Machines Corporation Recording dwell time in a non-volatile memory system
US9390003B2 (en) 2013-12-09 2016-07-12 International Business Machines Corporation Retirement of physical memory based on dwell time
US11249845B2 (en) 2017-12-06 2022-02-15 Rambus Inc. Error-correction-detection coding for hybrid memory module

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6897976B2 (en) * 1998-07-17 2005-05-24 Canon Kabushiki Kaisha Record control apparatus and recording apparatus
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
US8108590B2 (en) * 2000-01-06 2012-01-31 Super Talent Electronics, Inc. Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear
US7058784B2 (en) * 2003-07-04 2006-06-06 Solid State System Co., Ltd. Method for managing access operation on nonvolatile memory and block structure thereof
EP1686482B1 (en) * 2003-11-18 2013-03-06 Panasonic Corporation File recording device
US7953954B2 (en) * 2007-01-26 2011-05-31 Micron Technology, Inc. Flash storage partial page caching
US7930487B1 (en) * 2007-09-13 2011-04-19 Emc Corporation System and method for providing access control to raw shared devices
US8321652B2 (en) * 2008-08-01 2012-11-27 Infineon Technologies Ag Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks
US8724392B1 (en) * 2012-11-16 2014-05-13 Avalanche Technology, Inc. Controller management of memory array of storage device using magnetic random access memory (MRAM)
US8526234B1 (en) * 2012-11-16 2013-09-03 Avalanche Technology, Inc. Controller management of memory array of storage device using magnetic random access memory (MRAM)

Also Published As

Publication number Publication date
US8281063B2 (en) 2012-10-02
TW201003395A (en) 2010-01-16
US8856432B2 (en) 2014-10-07
US20100011152A1 (en) 2010-01-14
US20120324154A1 (en) 2012-12-20

Similar Documents

Publication Publication Date Title
JP2004164633A5 (zh)
TWI267862B (en) Flash controller cache architecture
TWI363272B (en) Data programming method and device
JP4171749B2 (ja) メモリコントローラおよびフラッシュメモリシステム
CN104866428B (zh) 数据存取方法和数据存取装置
US9779022B2 (en) Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same
TWI280585B (en) Memory card, semiconductor device, and method of controlling semiconductor memory
US20050021904A1 (en) Mass memory device based on a flash memory with multiple buffers
WO2010115332A1 (zh) 闪存坏块的利用方法
JP2009503738A5 (zh)
JP2009211231A5 (zh)
JP2005182793A5 (zh)
TW201145020A (en) Physical compression of data with flat or systematic pattern
JP2009503735A5 (zh)
TW200917277A (en) Adaptive hybrid density memory storage device and control method thereof
TWI427476B (zh) 快閃記憶體的存取方法及快閃記憶體裝置
TWI317099B (zh)
JP2009503745A5 (zh)
TWI614605B (zh) 資料儲存裝置及其資料維護方法
CN105988719A (zh) 存储装置及其处理数据的方法
CN109491927A (zh) 数据存储、读取方法、装置及电子设备
US20130326120A1 (en) Data storage device and operating method for flash memory
US9047959B1 (en) Data storage device, memory control method, and electronic device with data storage device
JP4177292B2 (ja) メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
TW201123193A (en) Write timeout methods for a flash memory and memory device using the same