TWI363272B - Data programming method and device - Google Patents
Data programming method and device Download PDFInfo
- 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
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- 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
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
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)
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)
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) |
-
2008
- 2008-07-11 TW TW97126262A patent/TWI363272B/zh active
- 2008-10-02 US US12/244,131 patent/US8281063B2/en active Active
-
2012
- 2012-08-28 US US13/596,697 patent/US8856432B2/en active Active
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 |