TWI355668B - - Google Patents

Download PDF

Info

Publication number
TWI355668B
TWI355668B TW96146811A TW96146811A TWI355668B TW I355668 B TWI355668 B TW I355668B TW 96146811 A TW96146811 A TW 96146811A TW 96146811 A TW96146811 A TW 96146811A TW I355668 B TWI355668 B TW I355668B
Authority
TW
Taiwan
Prior art keywords
data
lba
segments
storage
total number
Prior art date
Application number
TW96146811A
Other languages
English (en)
Other versions
TW200926196A (en
Original Assignee
Apacer Technology 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 Apacer Technology Inc filed Critical Apacer Technology Inc
Priority to TW96146811A priority Critical patent/TW200926196A/zh
Publication of TW200926196A publication Critical patent/TW200926196A/zh
Application granted granted Critical
Publication of TWI355668B publication Critical patent/TWI355668B/zh

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

1355668 九、發明說明: 【發明所屬之技術領域】 本發明係有關於儲存裝置,尤其更有關於伊 憶體儲存裝置。 裡陝閃纪 【先前技術】 L年來快閃記憶體(Flash mem ) 速,其於儲存裝置上之運用亦曰新月異,各==迅
Mem〇ry㈣)、隨身碟(Flash drive )之普及已: 下’然而隨著快閃記憶體之技:水:: 低,各广敞商亦開始投入大量資源研上記 ( Solid-State Disk,SSD ) ^ 係為以快閃記憶體做儲存媒體之純電子式硬磾機1 S] 舊保有快閃記憶體存取速度快、低耗2硬·,而以 量輕、低震動與耐震動等特性,二低發熱量、1 無法勝任之Λ 於傳統磁性硬碟木 潛力。兄中,甚至具有取代傳統磁性硬碟機々 快閃記憶體本身具有一明蹲 -定限制,係對應於其抹除二壽命“ ::己憶體之可抹除次數因製造廠商之不同而略:出目⑽ 資:在10萬次左右,且抹除次數 二千 :料越不穩定。因此,若不能延長快閃記:=f之 命,將會為制快億體 t=用哥 置換成本。而以卜、+. β π 子戒置產生極大的限制及 上边之固態硬碟為例,若用以儲存作業系 1355668 統(Operating SyStem,OS ),則其資料 將比沒有儲存0S之儲存裝置例如取量及傳輪量又 上許多,抹除次數亦會增加,因此,碟、記憶卡)大 製程尚未有突破性進步的前提下, 快閃記憶體的硬體 之儲存方法’才能有效將抹除次數降到Z改良現已存在 體之運用更為寬廣且不受限制。 低,使快閃記憶 快閃記憶體的最小單位是頁面(p 成一個區塊(胸k)。而對快閃記憶體面組 皆是以頁面為單位,而抹除則是以區塊為c買取 體卜著名之特色,即是寫人前抹除(Em e、閃⑽ 喊〇 只有被抹除過的空白區塊 可被寫入新的資料。 /、Μ 4的頁面才 當 係 該 “口的快閃記憶體儲存裳置儲存方法如圖 叫諸存裝置接收到-由外部主機所傳送之儲存指令時 同時接收到一邏輯區塊位址(LBA ) 7 夕V b i 1 ) ,士卜g本 :存裝置藉由一邏輯與實體位址對應表單(匕㈣t〇 =r=eL2PTable),尋找出該儲存裝置内之一快閃記 “ ’其内部對應於該LBA之實體區塊位址(犯) =將對應至該LBA之區塊當做舊區塊,並找到—個空白 =區塊(S13) ’先執行第一次反向複製“-back) 4如下述)(S14),接著將該主機傳送過來的資料寫 入該新區塊後(S15 ),再執行第二次. (S16 )。當新區塊寫入完畢後,即修改該表單 (S17 ),使該LBA對應至該新區塊,接著將該舊區塊抹 1355668 除:使其,為一空白之區塊(sl8),以便後續其它資料 之儲存。最後,判斷該主機欲傳輪之資料是否全部傳送完 畢,直到全部資料皆傳送完畢為止,始可停止。(si9 ^ 例如’-區塊具有64個頁面,而該儲存裝置所接收之 LBA ’係對應至該快閃記憶體中之區塊1〇内的頁面u到頁 面42。該儲存襄置係先於該快閃記憶體中找到一個完全空 白之新區塊’例如區塊100,此時,因為該儲存裝置無: •判斷該區塊10中之頁面〇至頁面1〇是否存有資料,故,需 先進行第-次Copy back ’即將該區塊10内之頁面〇至頁: 0内之資料’複製至该區塊100之頁面〇至頁面内。複 .製完畢後,再將主機傳幸命過來的資料,寫人該區塊⑽内 之頁面11至頁面42的位置。接著,因該儲存裝置亦無法判 斷該區塊10内之頁面43至頁面63内是否存有資料,故需進 行第二次的Copy back,將該區塊10内之頁㈣至頁面的内 =資料,寫入該區塊1〇〇内之頁面43至頁面63。而於寫入 _完畢後,將舊的區塊,即該區塊1〇抹除,成為一個完全空 白之新區塊,供後續其它資料寫入時運用。 工 上述之習知儲存方法具有一相當重大之缺點,使用該 種方法,只要寫入-筆資料至快閃記憶體,即需抹除—個 區塊一次,故將會使得快間記憶體之抹除次數嚴重浪費。 例如,若該儲存裝置先後收到三筆資料,分別對應至該快 閃記憶體内之區塊10的頁面n至頁面15、頁面16至頁面、 2〇,及頁面21至頁面26時,雖然該三筆資料係為連續性的 貝料,但因該三筆資料係分開傳送,故該儲存裝置並無法 !355668 得知該三筆資料係為連續 -一 —-干只 yl'T Tf 一 •焉 ,即需重覆執行上述夕、、ώ ίο 一 仏仃上述之机私二次,即,需先後抹 地 iL 二-Λ» · μ m … m 5¾ 入,因此 — ---a W,禹无设秣 示三個區塊,'三次。但因該三筆資料係為連續之資料,故 若能使該三筆連續資料循序寫入後再執行Co—,則口 需抹除H❹兩次抹除次數之浪f。而若 之連續性資料資料量非常大,則浪f掉的抹除次數即非 的可觀。 —有鑑於上述缺懷,本發明人仍潛心研究,終於規Μ -種儲存方法’可有效區分連續性資料與隨機資料並加以 儲存,徹底改善浪費快閃記憶體之抹除次數之現象。 【發明内容】 的’係在於提供-種快閃記憶體儲存 4置之貝㈣存方法’使一儲存裝置於寫入 判斷資料為連輕㈣錢機㈣,若料㈣—連= 之資料,且後面尚有接續之資料 = 反向複製(copyback)之動作,係於今箸:”後立刻做 你於5亥筆連續性資料全部 =完畢後再執行藉以避免該快閃記憶體之抹除次數之 為達上述目的,本發明係於一儲存裂置内之 中規劃-位址暫存區,用以儲存資 體 機儲?:筆料至該儲存裝置時,二過二 區判斷°亥筆資料是否為一連續資料的爱中一筆斗 表示該筆資料傳輪完畢後還有接續之第二資料:㈡資: 1355668 * S二,該筆第—資料存人該儲存裝置内之—快閃記 ^ =中%,立刻進行重整,而係等待該筆連續資料全部傳 輸完畢,再進行重整。 【實施方式】 詳細說明如 茲就本發明之一較佳實施例,配合圖式 後。
百請參閱第二圖,係本發明之儲存裝置之架構圖,該 儲:子:置("係主要包括一處理器(11),一隨機存取 纪’丨思體(Random Access Mem〇ry,RAM )( ]2 )、一快閃記愤 體㈤S,m〇ry) (13) ’及-程式單元(14):其;Γ ί式單元(14 )係為—初體程式’儲存於該儲存裝置 (1 )内之一唯頃5己憶體(Read 〇★ Μ_城⑽)或該快 閃記憶體(13 )中,但不可加以限定。 次當:外部主機(2 )連接該儲存裝置(",欲儲存 貪料至該儲存裝置(1 )時,該處理器(η)係、接收該主 機所發出之-贿指令及—邏輯區塊位址α〇_
Block Address,LBA ),該虚理哭、,!,、, ’茨爽理裔(11)收到該儲存指令後, 啟動該程式單元⑼,該程式單元(M)分析該筆資料 之資訊後’係透過該記憶體(12)内之該位址暫存區 (121 )中所儲存之各資料之資訊,將該筆資料以最合適 之方式,寫入該快閃記憶體(13)中,對應至該⑶ 體區塊位址。 第三圖為本發明之記憶體内部配置圖,該儲存裝置 13556½
(1 )内之該記憶體(RAM) ( 12),其内部主要規割有 位址暫存區(121 )’.而該位址暫存區(mi )係可規 劃為複數由一 LBA攔位(12a )、一區段數攔位(12b ) 及一使用攔位(12c )所組成之表單,每一表單分別用以 對應一筆大小為一區段之資料。該LBA欄位(12& )係用 以儲存資料之LBA,該區段數攔位(12b )係儲存資料之 總區段數,而該使用攔位(12c )係用以儲用一判斷參 數’藉以判斷此一表單是否已被參考過。 , 快閃§己憶體寫入的最小單位為頁面,而頁面之大小係 與半導體之顆粒大小有關,下述將以一頁面大小5ΐ2Β^α 為,nj好等於-個區段之大小,而區段即為電腦傳輸時 之最小單位。例如,當一第一資料被寫入時,該程式單元 (Μ )分析邊第一育料之資訊,發現該第一資料之為 100 ’總區段數為128,即於該記憶體(12)内之該位址 暫存區(m )内’新增一表單,將該筆資料之⑶:與總 區段數’寫人該表單中之服欄位(l2a )及區段數棚位 (Ub ),並將使用攔位(12c )設為〇。接著,當再有 一第二資料寫入,且該程式單元〇4)分析出該第1資料 凡A為228日t,因為上述第一資料之LBA為,而區 t數為128 ’即,該第-資料係由LBA100的位置開始,連 了 128 i ’而該第二資料之脱* 228,因此,該程 二早兀04 )即判斷該第二資料係為該第-資料之-後續 二料’亚在儲存與c〇pyback動作執行完成後,把對應至該 弟二貧料之表單’即該第—資料之表單内之使用攔位 (12c )設為 1, 收到該第—^ ㈣已被參考過’即’已接 搜料表。。 接續資料。下次搜尋動作開始,即不再 技如玄表早,藉以加快搜尋之動作。 +再 數,判斷ί之儲存方法,主要係藉由寫入資料之總區段 〈貝料疋否為一連續性資料之最後—筆 = = 續性資料之最後-筆,則表示該筆連;
待-它二此時即直接進行C。一而不再等 匕保件或指令,詳細說明如下。 傳輸明2力實驗過後,發現對電腦主機而言,在 ==:::::輸=度’每筆傳輸資料之總 J下述稱為一 g品界值(Threshold )。帷, 於不同的作業系統、或作業系統下之不同格式 同之臨界值,因此,該臨界值必須經由統計並校正來^不
方法係於一勃體内設置—變數,當該主機傳 = <貝抖日寸’該儲存裝置係得到該筆資料之咖及總區 段數’此時,係比較該變數與該筆資料之總區段數,若該 變數小於該總區段數’即表示該變數所記載之數值並非是 該系統下之-臨界值,即將該變數之數值更改為該總區段 數。而經過多次之校正之後,即會得到—穩定的臨界值。 但此僅為-較佳的實施方式’不加以限定。例如在微軟公 司的WmdowsXP作業系、统下使用32位元資料配置表…e
Mocation Tabie — 32bit,則2 )格式之主機下,每筆傳輸資料 之總區段數皆維持在128個區段;而在使用新的技術播案 系統(New Technology File System,NTFS )袼式之主機下,每 $ I!

Claims (1)

1355668 年~丨°月日修正替換頁 十、申請專利範圍: 1. 一種快閃記憶體儲存裝置之資料儲存方法,係包括: a) 於一儲存裝置内之一記憶體内,規劃一位址暫存區, 该位址暫存區内部規劃為複數由一邏輯區塊位址 (Logical Block Address,LBA )欄位、一區段數欄位及一 使用攔位所組成之表單,該LBA攔位用以儲存資料之LBA, 該區段數攔位用以儲存資料之總區段數,而該使用攔位用 以儲存一判斷參數; b) —外部主機發出至少一具有一筆資料之一LBA及一 總區段數之儲存指令至該儲存裝置,並儲存於該位址暫存 區内; c) 藉由該筆資料之LBa及總區段數,判斷該筆資料是 否為一連續性資料之其中一筆; d) 若該筆資料為連續性資料之其中一筆,係更新該位 址暫存區中,對應於該筆資料之表單,並將該筆資料寫入 該儲存裝置内之一快閃記憶體内之空白區塊,等待該連續 性資料全部寫入後’再執行反向複製; e) 若该筆資料並非一連續性資料之其中一筆,係於該 筆資料寫入該快閃記憶體内之空白區塊後即進行反向複製; f) ‘ 4儲存裝置之硬體條件符合,或收到該外部主機 之控制指令時,對該快閃記憶體執行反向複製。 2. 如申請專利範圍第1項所述之資料儲存方法,其中步驟 f中,係於έ玄外部主機發出反向複製指令時對該快閃記 憶體執行反向複製。 20 年丨’〇月(!曰修正替換買 年丨’〇月(!曰修正替換買 ,其中步驟 資料之存放 ,其中步驟 資料超過預 ,其中步驟 ,其中步驟 資料被進行 ,其中該步 3.如申請專利範圍第1項所述之資料財、、 f中之該硬體條件,係於該快閃記憶法 時間超出預設值時符合。 ^内之 4·如申請專概E第U騎述之:#料储 f中之該硬錄件,胁該㈣記 之 設之數量時符合。 Μ之 5·如申請專利範圍第丨項所述之:#料儲存方法 f中之該硬體條件,係於斷電時符合。/ 6.如申請專利範圍第丨項所述之:#料; j中之該硬體條件,係於該快閃記憶體内之 讀取、修改、搜尋或管理等等動作時符人。 入如申請專利範圍第i項所述之資料儲存綠 驟c係包括下列步驟: ' cl)判斷該外部主機所傳送之該筆資料之總區段數, 是否符合一臨界值; C2)於步驟cl之後’搜尋該位址暫存區内是否具有對 應於該筆資料之LBA之一第一表單。 8,如申請專利範圍第7項所述之資料儲存方法,其中該步 驟d係包括下列步驟: dl)若該筆資料之總區段數符合該臨界值,且該位址 暫存區内具有對應於該筆資料之LBA之第一表單, 即新增一第二表單,將該筆資料之LBA存入該第 二表單之LBA攔位’總區段數存入該第二表單之 區段數欄位,並將該第二表單之使用襴位設為〇 ; j010年(β月化 d2)於步驟dl之後,將對應於該筆資料之LBA之該第 —表單,其内部之使用欄位修改為1,藉以表示 該第一表單已被參考過,下次搜尋時將不再參考; d3)於步驟d2之後’將該筆資料寫入該儲存裝置内之 —快閃記憶體中,該筆資料所參考之該第一表單 所對應之資料所在之區塊; d4)若έ亥筆資料之總區段數符合該臨界值,但該位址 暫存區内不具有對應於該筆資料之LBA之第一表 單,即於該位址暫存區内新增一第三表單,將該 筆資料之LBA存入該第三表單之lba欄位,總區 #又數存入邊第二表單之區段數攔位,並將該第三 表單之使用欄位設為0; d5)於步驟私之後,於該快閃記憶體中,搜尋一已被 抹除過之空白區塊,將該筆資料寫入; 你)若該筆資料之總區段數不符合該臨界值,但該位 址暫存區内具有對應於該筆資料之lba之第一表 單,即新增一第四表單,將該筆資料之LBA存入 該第四表單之LBA欄位,總區段數存入該第四表 單之區段數欄位,並將該第四表單之使用攔位設 為0 ; d7)於步驟此之後’將對應於該筆資料之LBA之該第 —表單,其内部之使用攔位修改為i ; 8)於步.驟d7之後’將该筆資料寫入該快閃記憶體中, δ亥筆資料所參考之該第一表單所對應之資料所在 22 " 1355668
必)於步驟cJ8之後,對該快閃記憶體執行反向複製。 - 9.如申請專利範圍第7項所述之資料儲存方法,其中該步 驟e係包括下列步驟: el)右该筆資料不符合該臨界值,且該位址暫存區内 亦不具有對應於該筆資料之LBA之第一表單’即 於該儲存裝置内之一快閃記憶體中,搜尋一空白 之新區塊’將該筆資料寫入; 切於步驟ei之後’對該快閃記憶體執行反向複製。 _ 1〇·如申請專利範圍第7項所述之資料儲存方法,其中步驟 ^之後更包括-步驟c3 ··若該筆資料之總區段數大於該 臨界值’係將該臨界值之數值更改為該筆資料之總區段 數之數值,藉以校正該臨界值。 11. 如申請專利範圍第7項所述之資料儲存方法,其中步驟 :中之该臨界值,於使用微軟公司之作業 系統之32位元資料配置表(FileA1I〇cati〇nTable —3顺, FAT32 )格式之主機下,係為⑶區段。 籲 12. 如申請專利範圍第7項所述之資料儲存方法,其中步驟 :中之該臨界值’於使用微軟公司之WindowsXP作業 系統之新的技術標案系統(NewTeehnGbgyFneSys她, NTFS )格式之主機下,係為64區段。 13. -種㈣儲縣置之資料儲存方法,係包括: a)-儲存裝置接收來自—外部主機所發出之複數儲存 指令,該些儲存指令相包括—邏難塊紐(丨 1355668 1〜年月U曰修正替換頁 . Block Address,LBA )及一總區段數; _ b)儲存該些儲存指令之LBA及總區段數; c)依該些儲存指令之LB A及總區段數判斷該些儲存指 令為一連續資料之儲存指令或一隨機資料之储存指令; Φ依該連續資料之儲存指令將該連續資料以不執行反 向複製的方式逐一寫入該儲存裝置内之一記憶體内。-14·如申請專利範圍第13項所述之資料儲存方法,尚包括: • 於該記憶體内之一位址暫存區儲存該些儲存指令之LBA 及總區段數。 •如申凊專利範圍第13項所述之資料儲存方法,尚包括: 依該些儲存指令之總區段數計算出一最大總區段數,據 以判斷該些儲存指令中包含該連續資料之儲存指令。 24 1355668 開始 ” f ~ I ....
S21^^收到一儲存指令及一LBA
第四圖A 1355668 _—· a k nmm
第四圖B 第>%頁 13.55668
第 頁 13-55668
第頁 第七圖B
TW96146811A 2007-12-07 2007-12-07 Method for flash memory storage device to store data TW200926196A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW96146811A TW200926196A (en) 2007-12-07 2007-12-07 Method for flash memory storage device to store data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW96146811A TW200926196A (en) 2007-12-07 2007-12-07 Method for flash memory storage device to store data

Publications (2)

Publication Number Publication Date
TW200926196A TW200926196A (en) 2009-06-16
TWI355668B true TWI355668B (zh) 2012-01-01

Family

ID=44729634

Family Applications (1)

Application Number Title Priority Date Filing Date
TW96146811A TW200926196A (en) 2007-12-07 2007-12-07 Method for flash memory storage device to store data

Country Status (1)

Country Link
TW (1) TW200926196A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI474169B (zh) * 2012-12-22 2015-02-21 Himax Tech Ltd 記憶體資料存取方法及記憶體資料存取控制器
TWI508068B (zh) * 2012-07-25 2015-11-11 Silicon Motion Inc 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器
US9811414B2 (en) 2012-07-25 2017-11-07 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI423024B (zh) * 2009-11-23 2014-01-11 Phison Electronics Corp 用於快閃記憶體的資料儲存方法及其控制器與儲存系統
TWI407305B (zh) * 2010-01-20 2013-09-01 Silicon Motion Inc 快閃記憶體之資料存取方法以及快閃記憶體裝置
TWI455131B (zh) * 2010-04-16 2014-10-01 Silicon Motion Inc 記憶體之資料寫入方法及資料儲存裝置
TWI475564B (zh) * 2010-04-21 2015-03-01 Silicon Motion Inc 記憶體之資料寫入方法及資料儲存裝置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI508068B (zh) * 2012-07-25 2015-11-11 Silicon Motion Inc 管理快閃記憶體中所儲存之資料的方法,及相關的記憶裝置與控制器
US9811414B2 (en) 2012-07-25 2017-11-07 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller
US10324786B2 (en) 2012-07-25 2019-06-18 Silicon Motion Inc. Method for managing data stored in flash memory and associated memory device and controller
TWI474169B (zh) * 2012-12-22 2015-02-21 Himax Tech Ltd 記憶體資料存取方法及記憶體資料存取控制器

Also Published As

Publication number Publication date
TW200926196A (en) 2009-06-16

Similar Documents

Publication Publication Date Title
US11593259B2 (en) Directed sanitization of memory
TWI398770B (zh) 用於快閃記憶體的資料存取方法、儲存系統與控制器
TWI355668B (zh)
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
JP3797649B2 (ja) 不揮発性半導体記憶装置
TWI362667B (en) Data writing method for flash memory and controller thereof
TW200917270A (en) Wear leveling method and controller using the same
TW201007449A (en) Flash memory storage system and data writing method thereof
TW200820259A (en) Hybrid flash memory device and method for assigning reserved blocks thereof
JP2006018839A (ja) 漸進的マージ方法及びそれを利用したメモリシステム
TW200917022A (en) Control method based on multi-passage flash memory apparatus logic strip
US7702845B2 (en) Method and apparatus for managing blocks according to update type of data in block-type memory
TW201024994A (en) Storage ststem snapshot assisted by SSD technology
TW200919185A (en) Data storage device, memory system, and computing system using nonvolatile memory device
TW201214112A (en) Method for performing block management, and associated memory device and controller thereof
TW201007451A (en) Block management method for flash memory and storage system and controller using the same
JP2015507798A5 (zh)
TW201227751A (en) Data management method, memory controller and memory storage apparatus
TW201015563A (en) Block management and replacement method, flash memory storage system and controller using the same
JP2020191055A (ja) 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体
TW201003393A (en) Data accessing method, and storage system and controller using the same
KR101465460B1 (ko) 트림 방법 및 데이터 관리 장치
TWI696916B (zh) 資料儲存裝置以及非揮發式記憶體控制方法
WO2018103010A1 (zh) 一种存储设备管理方法及用户终端

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees