TWI355668B - - Google Patents
Download PDFInfo
- 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
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
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)
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)
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 | 記憶體之資料寫入方法及資料儲存裝置 |
-
2007
- 2007-12-07 TW TW96146811A patent/TW200926196A/zh not_active IP Right Cessation
Cited By (4)
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 |