數(shù)據(jù)儲存裝置與閃存操作方法
【專利摘要】數(shù)據(jù)儲存裝置、與閃存操作方法。所述數(shù)據(jù)儲存裝置包括一閃存以及一控制器。該閃存包括第一寫入?yún)^(qū)塊與第二寫入?yún)^(qū)塊;該第一寫入?yún)^(qū)塊與該第二寫入?yún)^(qū)塊各自包括多頁。該控制器執(zhí)行一固件,以判斷來自一主機(jī)端的一第一待存數(shù)據(jù)是否為完整頁數(shù)據(jù)。若該第一待存數(shù)據(jù)是完整頁數(shù)據(jù),該控制器將該第一待存數(shù)據(jù)存至該第一寫入?yún)^(qū)塊。若該第一待存數(shù)據(jù)為非完整頁數(shù)據(jù),該控制器將該第一待存數(shù)據(jù)存至該第二寫入?yún)^(qū)塊。
【專利說明】數(shù)據(jù)儲存裝置與閃存操作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明有關(guān)于一種數(shù)據(jù)儲存裝置與其中閃存的操作方法,特別有關(guān)于閃存(Flash memory)的數(shù)據(jù)儲存技術(shù)。
【背景技術(shù)】
[0002]閃存為常見的一種非揮發(fā)性儲存技術(shù),牽涉電性抹除與編程技術(shù)。
[0003]以非及閘型的閃存(NAND FLASH)為例,主要用作存儲卡(memory card)、通用序列匯流排閃存裝置(USB flash device)、固態(tài)硬碟(SSD)…等產(chǎn)品。
[0004]非及閘型的閃存的儲存陣列包括多個(gè)區(qū)塊(blocks),且是以完整區(qū)塊為抹除單位。使用過的區(qū)塊需整區(qū)塊抹除(erase)后,方能視為閑置區(qū)塊(spare block)待配置使用?!笖?shù)據(jù)合并」用于收集多個(gè)區(qū)塊中零散的有效數(shù)據(jù)至特定區(qū)塊,使只殘留無效數(shù)據(jù)的該些區(qū)塊得以被抹除為閑置區(qū)塊。
[0005]然而,「數(shù)據(jù)合并」應(yīng)用在傳統(tǒng)技術(shù)上需要相當(dāng)?shù)倪\(yùn)算資源。本【技術(shù)領(lǐng)域】亟需一種高效操作閃存儲存陣列的方法。
【發(fā)明內(nèi)容】
[0006]本發(fā)明揭露一種數(shù)據(jù)儲存裝置、與閃存操作方法。
[0007]根據(jù)本發(fā)明一種實(shí)施方式所實(shí)現(xiàn)的一數(shù)據(jù)儲存裝置包括一閃存以及一控制器。該閃存包括第一寫入?yún)^(qū)塊與第二寫入?yún)^(qū)塊;該第一寫入?yún)^(qū)塊與該第二寫入?yún)^(qū)塊各自包括多頁。該控制器執(zhí)行一固件,以判斷來自一主機(jī)端的一第一待存數(shù)據(jù)是否為完整頁數(shù)據(jù)。若該第一待存數(shù)`據(jù)是完整頁數(shù)據(jù),該控制器將該第一待存數(shù)據(jù)存至該第一寫入?yún)^(qū)塊。若該第一待存數(shù)據(jù)為非完整頁數(shù)據(jù),該控制器將該第一待存數(shù)據(jù)存至該第二寫入?yún)^(qū)塊。
[0008]根據(jù)本發(fā)明一種實(shí)施方式所實(shí)現(xiàn)的一閃存操作方法包括:于一閃存提供一第一寫入?yún)^(qū)塊與一第二寫入?yún)^(qū)塊,該第一寫入?yún)^(qū)塊與該第二寫入?yún)^(qū)塊各自包括多頁;以及判斷來自一主機(jī)端的一第一待存數(shù)據(jù)是否為完整頁數(shù)據(jù),若該第一待存數(shù)據(jù)是完整頁數(shù)據(jù),將該第一待存數(shù)據(jù)存至該第一寫入?yún)^(qū)塊,若該第一待存數(shù)據(jù)為非完整頁數(shù)據(jù),將該第一待存數(shù)據(jù)存至該第二寫入?yún)^(qū)塊。
[0009]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖示,詳細(xì)說明如下。
【專利附圖】
【附圖說明】
[0010]圖1圖解根據(jù)本發(fā)明一種實(shí)施方式所實(shí)現(xiàn)的數(shù)據(jù)儲存裝置102,系由主機(jī)端104控制;
[0011]圖2A圖解一閃存的結(jié)構(gòu);
[0012]圖2B圖解主機(jī)端定義的主機(jī)頁Hpage與閃存的物理頁(即圖2A所定義的「頁」) PhysicalPage的對應(yīng)關(guān)系;[0013]圖3簡單圖解本案數(shù)據(jù)儲存裝置的操作,描述所揭露的數(shù)據(jù)分流系統(tǒng)架構(gòu);
[0014]圖4圖解一種數(shù)據(jù)分流狀況;
[0015]圖5A圖解所揭露的數(shù)據(jù)分流的另一種實(shí)施方式;
[0016]圖5B系圖解圖5A待存數(shù)據(jù)在第一、第二類數(shù)據(jù)區(qū)塊514、516上的實(shí)際分布;
[0017]圖6圖解一種數(shù)據(jù)分流狀況,除了將完整頁與非完整頁的數(shù)據(jù)分開儲存,更使不同型態(tài)的完整頁的數(shù)據(jù)儲存至不同類的數(shù)據(jù)區(qū)塊、不同型態(tài)的非完整頁的數(shù)據(jù)儲存至同類的數(shù)據(jù)區(qū)塊;
[0018]圖7圖一種數(shù)據(jù)分流狀況,相較于圖6、圖7的實(shí)施方式更將非完整頁數(shù)據(jù)也依照主機(jī)端信息分開存放。[0019]主要元件符號說明[0020]102-數(shù)據(jù)儲存裝置;[0021]104-主機(jī)端;[0022]106-閃存;[0023]108-控制器;[0024]ι?0-系統(tǒng)信息暫存區(qū);[0025]1120-第一區(qū)塊集合;[0026]112f第一寫入?yún)^(qū)塊;[0027]1140-第二區(qū)塊集合;[0028]114f第二寫入?yún)^(qū)塊;[0029]116-閑置區(qū)塊集合; [0030]200-閃存;[0031]302-數(shù)據(jù)儲存裝置;[0032]304-主機(jī)端;[0033]308-控制器;[0034]310-系統(tǒng)信息暫存區(qū);[0035]3120-第一區(qū)塊集合;[0036]312廣第一寫入?yún)^(qū)塊;[0037]3122,3123,3124"區(qū)塊;[0038]3140-第二區(qū)塊集合;[0039]314廣第二寫入?yún)^(qū)塊;[0040]3142,3143,3144"區(qū)塊;[0041]316-閑置區(qū)塊集合;[0042]318-各區(qū)塊有效頁監(jiān)控表;[0043]402、404-非完整頁數(shù)據(jù);[0044]406、408-第一、第二類數(shù)據(jù)區(qū)塊;[0045]502、504、506、508-非完整頁數(shù)據(jù);[0046]510A、510B、510C、512A、512B-完整頁數(shù)據(jù);[0047]514、516-第一、第二類數(shù)據(jù)區(qū)塊;[0048]602型態(tài)A的長數(shù)據(jù);[0049]604"型態(tài)A的短數(shù)據(jù);
[0050]606~型態(tài)B的短數(shù)據(jù);
[0051]608~型態(tài)B的長數(shù)據(jù);
[0052]610~非完整頁數(shù)據(jù)區(qū)塊;
[0053]612"型態(tài)A的完整頁數(shù)據(jù)區(qū)塊;
[0054]614"型態(tài)B的完整頁數(shù)據(jù)區(qū)塊;
[0055]616、618~型態(tài)A的長數(shù)據(jù)602的頭、尾數(shù)據(jù);
[0056]620,622-型態(tài)B的連續(xù)區(qū)塊608的頭、尾數(shù)據(jù);
[0057]702~型態(tài)A的完整頁數(shù)據(jù)區(qū)塊;
[0058]704"型態(tài)A的非完整頁數(shù)據(jù)區(qū)塊;
[0059]706"型態(tài)B的非完整頁數(shù)據(jù)區(qū)塊;
[0060]708"型態(tài)B的完整頁數(shù)據(jù)型態(tài);
[0061]BLK1、BLK2…BLKK~區(qū)塊;
[0062]HPage~主機(jī)頁;
[0063]LBA~邏輯區(qū)塊地址;
[0064]LBA_N...LBA_N+7~頁;
[0065]P1、P2…PM~頁(物理頁);以及
[0066]PhysicalPage ~物理頁。
【具體實(shí)施方式】
[0067]圖1圖解根據(jù)本發(fā)明一種實(shí)施方式所實(shí)現(xiàn)的數(shù)據(jù)儲存裝置102,系由主機(jī)端104控制。數(shù)據(jù)儲存裝置102包括一閃存106、一控制器108以及一系統(tǒng)信息暫存區(qū)110。
[0068]閃存106包括第一寫入?yún)^(qū)塊1121、第二寫入?yún)^(qū)塊1141、第一區(qū)塊集合1120、第二區(qū)塊集合1140與閑置區(qū)塊集合116,且第一區(qū)塊集合1120與第二區(qū)塊集合1140各自包括多區(qū)塊、又各區(qū)塊各自包含多頁。
[0069]控制器108系用以執(zhí)行一固件(可儲存在控制器108的唯讀記憶體、或儲存在閃存106中),以判斷由主機(jī)端104傳送給數(shù)據(jù)儲存裝置102的待存數(shù)據(jù)的數(shù)據(jù)屬性,并依照不同的數(shù)據(jù)屬性,將數(shù)據(jù)分類存于第一寫入?yún)^(qū)塊1121與第二寫入?yún)^(qū)塊1141。例如,判斷該待存數(shù)據(jù)是否為完整頁數(shù)據(jù),進(jìn)而將非完整頁數(shù)據(jù)與完整頁數(shù)據(jù)分別儲存至第一寫入?yún)^(qū)塊 1121與第二寫入?yún)^(qū)塊1141。
[0070]當(dāng)?shù)谝粚懭雲(yún)^(qū)塊1121存滿后,第一寫入?yún)^(qū)塊1121將被歸入第一寫入?yún)^(qū)塊集合 1120 ;同理,當(dāng)?shù)诙^(qū)塊1141存滿后,第二寫入?yún)^(qū)塊1141將被歸入第二區(qū)塊集合1140。
[0071]系統(tǒng)信息暫存區(qū)110系用于記錄該些待存數(shù)據(jù)的相關(guān)信息。例如,存于系統(tǒng)信息暫存區(qū)110的該待存數(shù)據(jù)相關(guān)信息包含:非完整頁待存數(shù)據(jù)的相關(guān)信息一用以分析該些非完整頁數(shù)據(jù)相關(guān)性,進(jìn)而將數(shù)個(gè)具有相關(guān)性的非完整頁數(shù)據(jù)結(jié)合成為一完整頁數(shù)據(jù),再將該完整頁數(shù)據(jù)存至第二寫入?yún)^(qū)塊1141。
[0072]此外,控制器108除了考慮數(shù)據(jù)是否為完整頁外,更可根據(jù)主機(jī)提供的信息(可由數(shù)據(jù)標(biāo)簽或內(nèi)容標(biāo)簽取得)判斷該主機(jī)端104所指示的數(shù)據(jù)的型態(tài)。在一種實(shí)施方式中, 不同型態(tài)的完整頁的數(shù)據(jù)儲存至不同類的數(shù)據(jù)區(qū)塊,且不同型態(tài)的非完整頁的數(shù)據(jù)儲存至同類的數(shù)據(jù)區(qū)塊(對應(yīng)圖6)。在一種實(shí)施方式中,不同型態(tài)的數(shù)據(jù)系由不同類的數(shù)據(jù)區(qū)塊儲存(對應(yīng)圖7)。此外,數(shù)據(jù)的型態(tài)區(qū)分更可以過往經(jīng)驗(yàn)(例如,分析主機(jī)端地址的跳躍邏輯、或者分析數(shù)據(jù)的長度與邏輯地址)獲得。所述學(xué)習(xí)機(jī)制可以固件方式實(shí)現(xiàn),交由控制器108執(zhí)行。
[0073]圖2A圖解一閃存的結(jié)構(gòu)。閃存200包括多個(gè)區(qū)塊(blocks)BLKl、BLK2...BLKK。各區(qū)塊包括多頁(pages) —例如,區(qū)塊BLKl包括多頁P(yáng)1、P2…PM。
[0074]圖2B圖解主機(jī)端定義的主機(jī)頁Hpage與閃存的物理頁(即圖2A所定義的「頁」)PhysicalPage的對應(yīng)關(guān)系。主機(jī)頁Hpage與物理頁P(yáng)hysicalPage的尺寸可相等(例如,同為16KB)。一個(gè)主機(jī)頁Hpage需配置一物理頁P(yáng)hysicalPage。
[0075]基于圖2A與圖2B的定義,主機(jī)端所指示的數(shù)據(jù)若為完整的一主機(jī)頁(對應(yīng)完整的一物理頁),則可視之為完整頁。倘若主機(jī)端所指示的數(shù)據(jù)不為完整的一主機(jī)頁(僅需求一物理頁的部分空間作儲存),則可視之為非完整頁。
[0076]圖3簡單圖解本案數(shù)據(jù)儲存裝置的操作,描述所揭露的數(shù)據(jù)分流系統(tǒng)架構(gòu)。參考圖中所示數(shù)據(jù)儲存裝置302,控制器308系用由閑置區(qū)塊集合316取出第一寫入?yún)^(qū)塊3121與第二寫入?yún)^(qū)塊3141,并判斷由主機(jī)端304傳入的待存數(shù)據(jù)的數(shù)據(jù)屬性,進(jìn)而依據(jù)不同數(shù)據(jù)屬性將待存數(shù)據(jù)分類儲存于第一寫入?yún)^(qū)塊3121或第二寫入?yún)^(qū)塊3141。例如,該控制器接收到來自該主機(jī)端304的一待存數(shù)據(jù),將控制器判斷其是否屬于一完整頁數(shù)據(jù):若是,則將其寫入該第二寫入?yún)^(qū)塊3141 ;若否,則將其寫入該第一寫入?yún)^(qū)塊3121,并將該非完整頁數(shù)據(jù)的相關(guān)信息存至系統(tǒng)信息暫存區(qū)310。
[0077]當(dāng)?shù)谝粚懭雲(yún)^(qū)塊3121填滿后,將被歸入該第一區(qū)塊集合3120;且當(dāng)?shù)诙懭雲(yún)^(qū)塊3141填滿后,將被歸入該第二區(qū)塊集合3140。
`[0078]此外,圖3所示實(shí)施方式更設(shè)置各區(qū)塊有效頁監(jiān)控表318。當(dāng)閑置區(qū)塊集合中的閑置區(qū)塊數(shù)量少于一預(yù)設(shè)值時(shí),為了增加閑置區(qū)塊的數(shù)量,以提升系統(tǒng)效能,則將于第一區(qū)塊集合3120及/或第二區(qū)塊集合3140進(jìn)行合并。其中,當(dāng)?shù)谝粎^(qū)塊集合3120進(jìn)行合并時(shí),僅以第一區(qū)塊集合中的區(qū)塊,如區(qū)塊3122、3123、3124等,進(jìn)行合并;同理,當(dāng)?shù)诙^(qū)塊集合3140進(jìn)行合并時(shí),僅以第二區(qū)塊集合中的區(qū)塊,如區(qū)塊3142、3143、3144等,進(jìn)行合并。合并后,將產(chǎn)生數(shù)個(gè)有效頁數(shù)量為零的數(shù)據(jù)區(qū)塊(未圖示),而這些有效頁數(shù)量為零的數(shù)據(jù)區(qū)塊將被歸入閑置區(qū)塊集合316,以釋放出閑置空間。
[0079]在一種實(shí)施方式中,存在非揮發(fā)性存儲器或動態(tài)隨機(jī)存取存儲器中的各區(qū)塊有效頁監(jiān)控表318,系用以監(jiān)控閃存的管理區(qū)塊有效頁的分布狀況。此外,數(shù)據(jù)判斷與合并…等程序系由該數(shù)據(jù)儲存裝置的控制器執(zhí)行一固件實(shí)現(xiàn)。
[0080]根據(jù)所揭露技術(shù),圖4圖解一種數(shù)據(jù)分流狀況。如圖所示,主機(jī)端指示寫入一段連續(xù)的待存數(shù)據(jù),其長度對應(yīng)閃存的八個(gè)物理頁,且其頭、尾數(shù)據(jù)402、404系對應(yīng)為非完整頁數(shù)據(jù),其余均對應(yīng)為完整頁數(shù)據(jù)。根據(jù)所揭露技術(shù),該段連續(xù)數(shù)據(jù)的頭、尾數(shù)據(jù)402與404(非完整頁)將以第一類數(shù)據(jù)區(qū)塊406儲存。至于其余數(shù)據(jù)(完整頁)則是以第二類數(shù)據(jù)區(qū)塊408儲存。如此一來,數(shù)據(jù)儲存過程中出現(xiàn)的無效數(shù)據(jù)將集中于第一類數(shù)據(jù)區(qū)塊406,而第二類數(shù)據(jù)區(qū)塊408無效數(shù)據(jù)將大幅較少,以大幅提升儲存效率。
[0081]圖5A圖解所揭露的數(shù)據(jù)分流的另一種實(shí)施方式。如該圖所示,主機(jī)端將指示寫入一段具有連續(xù)邏輯地址的待存數(shù)據(jù)502、510A-510C、504、506、512A-512B、508。其中,數(shù)據(jù)502、504、506、508為非完整頁數(shù)據(jù):數(shù)據(jù)502為頁LBA_N后段的數(shù)據(jù),數(shù)據(jù)504為頁LBA_N+4 前段的數(shù)據(jù),數(shù)據(jù)506為頁LBA_N+4后段的數(shù)據(jù),數(shù)據(jù)508為頁LBA_N+7前段的數(shù)據(jù)。又?jǐn)?shù)據(jù)510A、510B、510C、512A、512B為完整頁數(shù)據(jù):數(shù)據(jù)510A為頁LBA_N+1的數(shù)據(jù)、數(shù)據(jù)510B 為頁LBA_N+2的數(shù)據(jù),數(shù)據(jù)510C為頁LBA_N+3的數(shù)據(jù),數(shù)據(jù)512A為頁LBA_N+5的數(shù)據(jù),數(shù)據(jù)512B為頁LBA_N+6的數(shù)據(jù)。
[0082]值得注意的是,當(dāng)數(shù)據(jù)儲存裝置302收到非完整頁數(shù)據(jù)時(shí),會在系統(tǒng)信息暫存區(qū) 310記錄一個(gè)代表該非完整數(shù)據(jù)頁的LBA (邏輯區(qū)塊地址)相關(guān)數(shù)據(jù)或LBA標(biāo)簽。該LBA相關(guān)數(shù)據(jù)或LBA標(biāo)簽系用以提供數(shù)據(jù)儲存裝置102判斷后續(xù)收到的非完整頁數(shù)據(jù)可否與該非完整頁數(shù)據(jù)結(jié)合成一完整頁數(shù)據(jù)。申言之,若該非完整數(shù)據(jù)頁的LBA地址與該后續(xù)收到的非完整頁數(shù)據(jù)LBA地址為連續(xù)LBA地址,該非完整數(shù)據(jù)頁與該后續(xù)收到的非完整頁數(shù)據(jù)則可結(jié)合成一完整頁數(shù)據(jù)。
[0083]舉例來說,當(dāng)數(shù)據(jù)儲存裝置302收到非完整頁數(shù)據(jù)504時(shí),會在系統(tǒng)信息暫存區(qū) 310記錄頁LBA_N+4后段的LBA標(biāo)簽,并將非完整頁數(shù)據(jù)504存入第一類數(shù)據(jù)區(qū)塊514。接著,當(dāng)數(shù)據(jù)儲存裝置302又收到非完整數(shù)據(jù)頁506時(shí),由于非完整數(shù)據(jù)頁506為頁LBA_N+4 后段的數(shù)據(jù),因此將檢查系統(tǒng)信息暫存區(qū)310內(nèi)是否記錄有頁LBA_N+4前段的標(biāo)簽。若有, 則將自第一類數(shù)據(jù)區(qū)塊514中讀出非完整頁數(shù)據(jù)504,并結(jié)合非完整頁數(shù)據(jù)504、506成一完整頁數(shù)據(jù),再將該完整頁數(shù)據(jù)存至第二類數(shù)據(jù)區(qū)塊516。以避免將非完整頁數(shù)據(jù)506存入該第一類數(shù)據(jù)區(qū)塊514所造成的空間浪費(fèi)。
[0084]圖5B系圖解圖5A待存數(shù)據(jù)在第一、第二類數(shù)據(jù)區(qū)塊514、516上的實(shí)際分布。其中,非完整頁數(shù)據(jù)502系由第一類數(shù)據(jù)區(qū)塊514儲存,完整頁數(shù)據(jù)510A、510B、510C系由第二類數(shù)據(jù)區(qū)塊516儲存,非完整頁數(shù)據(jù)504系儲存于第一類數(shù)據(jù)區(qū)塊514。值得注意的是, 利用本發(fā)明揭露的技術(shù),非完整頁數(shù)據(jù)504、506則系組成完整頁后,再存至第二類數(shù)據(jù)區(qū)塊516 (如箭頭所示)。以避免將完整頁數(shù)據(jù)(由504與506組成)寫入第一類數(shù)據(jù)區(qū)塊 514所產(chǎn)生的空間浪費(fèi)。
[0085]申言之,當(dāng)系統(tǒng)傳輸錯(cuò)誤、不明斷電、或主控端分段傳輸…等原因,將原本屬于同一 LBA的數(shù)據(jù)分段傳輸,產(chǎn)生例如上述非完整頁數(shù)據(jù)504、506此類分段傳輸?shù)那樾螘r(shí),利用本發(fā)明所揭露的技術(shù),將減少可組成完整頁的數(shù)據(jù)誤存至非完整頁的對應(yīng)區(qū)塊,避免空間浪費(fèi),進(jìn)而大幅提升閃存效能。
[0086]更有其他實(shí)施方式將主機(jī)端信息一如,數(shù)據(jù)標(biāo)簽(data tag)或內(nèi)容標(biāo)簽(context ID)等一也考慮于數(shù)據(jù)分流技術(shù)中。
[0087]圖6圖解一種實(shí)施方式,其中,主機(jī)端所指示的數(shù)據(jù)系根據(jù)主機(jī)信息一如,數(shù)據(jù)標(biāo)簽(data tag)或內(nèi)容標(biāo)簽(context ID)等一有型態(tài)的分。主機(jī)端系要求寫入型態(tài)A的長數(shù)據(jù)602、型態(tài)A的短數(shù)據(jù)604、型態(tài)B的短數(shù)據(jù)606、以及型態(tài)B的長數(shù)據(jù)608。此實(shí)施例中閃存的數(shù)據(jù)區(qū)塊分類包括:非完整頁數(shù)據(jù)區(qū)塊610、型態(tài)A的完整頁數(shù)據(jù)區(qū)塊612、以及型態(tài)B的完整頁數(shù) 據(jù)區(qū)塊614。其中,型態(tài)A的長數(shù)據(jù)602的頭、尾數(shù)據(jù)616、618系儲存至非完整頁的數(shù)據(jù)區(qū)塊610,而其余的完整頁數(shù)據(jù)系儲存至型態(tài)A的完整頁數(shù)據(jù)區(qū)塊612。型態(tài) A的非完整頁數(shù)據(jù)604系儲存至非完整頁數(shù)據(jù)區(qū)塊610。型態(tài)B的非完整頁數(shù)據(jù)606系儲存至非完整頁數(shù)據(jù)區(qū)塊610。型態(tài)B的連續(xù)區(qū)塊608的頭、尾數(shù)據(jù)620、622系儲存至非完整頁的數(shù)據(jù)區(qū)塊610,且其余的完整頁數(shù)據(jù)系儲存至型態(tài)B的完整頁數(shù)據(jù)區(qū)塊614。以上技術(shù)使不同型態(tài)的完整頁的數(shù)據(jù)儲存至不同類的數(shù)據(jù)區(qū)塊,且使不同型態(tài)的非完整頁的數(shù)據(jù)儲 存至同類的數(shù)據(jù)區(qū)塊。分型態(tài)的完整頁數(shù)據(jù)區(qū)塊可減少記憶體數(shù)據(jù)產(chǎn)生無效頁的機(jī)率,并 大幅提升閃存效能。
[0088]圖7圖解本發(fā)明另外一種實(shí)施方式,其中更將非完整頁數(shù)據(jù)也依照主機(jī)端信息分 開存放。此實(shí)施例對閃存的數(shù)據(jù)區(qū)塊分類包括:型態(tài)A的完整頁數(shù)據(jù)區(qū)塊702、型態(tài)A的非 完整頁數(shù)據(jù)區(qū)塊704、型態(tài)B的非完整頁數(shù)據(jù)區(qū)塊706、以及型態(tài)B的完整頁數(shù)據(jù)型態(tài)708。 相較于圖6所示實(shí)施方式,此數(shù)據(jù)分流方式更提高閃存效率。
[0089]一種實(shí)施方式更在圖3控制器308功能中設(shè)計(jì)一學(xué)習(xí)機(jī)制,以過往經(jīng)驗(yàn)學(xué)習(xí)數(shù)據(jù) 型態(tài)分類。例如,分析主機(jī)端所指示數(shù)據(jù)的邏輯地址的跳躍模式,據(jù)以分類數(shù)據(jù)的型態(tài)?;?者,分析主機(jī)端所指示數(shù)據(jù)的長度與邏輯地址使用,據(jù)以分類數(shù)據(jù)的型態(tài)。所述學(xué)習(xí)機(jī)制可 由數(shù)據(jù)儲存裝置的控制器執(zhí)行一固件實(shí)現(xiàn)。
[0090]雖然本發(fā)明已以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,本領(lǐng)域技術(shù)人 員在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許更動與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視 后附的權(quán)利要求書所界定者為準(zhǔn)。
【權(quán)利要求】
1.一種數(shù)據(jù)儲存裝置,包括:一閃存,包括第一寫入?yún)^(qū)塊與第二寫入?yún)^(qū)塊,且該第一寫入?yún)^(qū)塊與該第二寫入?yún)^(qū)塊各自包括多頁;以及一控制器,執(zhí)行一固件,以判斷來自一主機(jī)端的一第一待存數(shù)據(jù)是否為完整頁數(shù)據(jù),若該第一待存數(shù)據(jù)是完整頁數(shù)據(jù),將該第一待存數(shù)據(jù)存至該第一寫入?yún)^(qū)塊,若該第一待存數(shù)據(jù)為非完整頁數(shù)據(jù),將該第一待存數(shù)據(jù)存至該第二寫入?yún)^(qū)塊。
2.如權(quán)利要求1所述的數(shù)據(jù)儲存裝置,更包括一系統(tǒng)信息暫存區(qū),其用以儲存待存數(shù)據(jù)相關(guān)信息。
3.如權(quán)利要求2所述的數(shù)據(jù)儲存裝置,其中,該待存數(shù)據(jù)相關(guān)信息包含非完整頁待存數(shù)據(jù)相關(guān)信息。
4.如權(quán)利要求3所述的數(shù)據(jù)儲存裝置,其中,該非完整頁待存數(shù)據(jù)相關(guān)信息包含一非完整頁待存數(shù)據(jù)的邏輯區(qū)塊地址信息。
5.如權(quán)利要求2所述的數(shù)據(jù)儲存裝置,其中,當(dāng)該數(shù)據(jù)儲存裝置接收到一第二待存數(shù)據(jù)時(shí),該控制器判斷該第二待存數(shù)據(jù)是否為完整頁數(shù)據(jù)。
6.如權(quán)利要求5所述的數(shù)據(jù)儲存裝置,其中,若該第二待存數(shù)據(jù)為非完整頁待存數(shù)據(jù),該控制器則檢查該非完整頁待存數(shù)據(jù)相關(guān)信息,以判斷該第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)可否結(jié)合成一完整頁數(shù)據(jù)。
7.如權(quán)利要求6所述的數(shù)據(jù)儲存裝置,其中,若該第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)得以結(jié)合成一完整頁數(shù)據(jù),則該控制器結(jié)合上述第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)為一完整頁數(shù)據(jù),并將上述第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)結(jié)合而成的該完整頁數(shù)據(jù)存入該第二寫入?yún)^(qū)塊。
8.如權(quán)利要求6所述的數(shù)據(jù)儲存裝置,其中,該控制器判斷該第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)可否結(jié)合成一完整頁數(shù)據(jù)的操作系判斷該第一待存數(shù)據(jù)的邏輯區(qū)塊地址與該第二待存數(shù)據(jù)邏輯區(qū)塊地址是否連續(xù)。
9.如權(quán)利要求1所述的數(shù)據(jù)儲存裝置,其中,執(zhí)行該固件的該控制器更根據(jù)主機(jī)信息判斷該主機(jī)端所指示的數(shù)據(jù)的型態(tài),使不同型態(tài)的完整頁的數(shù)據(jù)儲存至不同類的數(shù)據(jù)區(qū)塊,且使不同型態(tài)的非完整頁的數(shù)據(jù)儲存至同類的數(shù)據(jù)區(qū)塊。
10.如權(quán)利要求9所述的數(shù)據(jù)儲存裝置,其中,上述主機(jī)信息由數(shù)據(jù)標(biāo)簽或內(nèi)容標(biāo)簽取得。
11.如權(quán)利要求1所述的數(shù)據(jù)儲存裝置,其中,執(zhí)行該固件的該控制器更根據(jù)主機(jī)信息判斷該主機(jī)端所指示的數(shù)據(jù)的型態(tài),使不同型態(tài)的數(shù)據(jù)儲存至不同類的數(shù)據(jù)區(qū)塊。
12.如權(quán)利要求11所述的數(shù)據(jù)儲存裝置,其中,上述主機(jī)信息由數(shù)據(jù)標(biāo)簽或內(nèi)容標(biāo)簽取得。
13.一種閃存操作方法,包括:于一閃存提供一第一寫入?yún)^(qū)塊與一第二寫入?yún)^(qū)塊,該第一寫入?yún)^(qū)塊與該第二寫入?yún)^(qū)塊各自包括多頁;以及判斷來自一主機(jī)端的一第一待存數(shù)據(jù)是否為完整頁數(shù)據(jù),若該第一待存數(shù)據(jù)是完整頁數(shù)據(jù),將該第一待存數(shù)據(jù)存至該第一寫入?yún)^(qū)塊,若該第一待存數(shù)據(jù)為非完整頁數(shù)據(jù),將該第一待存數(shù)據(jù)存至該第二寫入?yún)^(qū)塊。
14.如權(quán)利要求13所述的閃存操作方法,更包括:提供一系統(tǒng)信息暫存區(qū),用以儲存待存數(shù)據(jù)相關(guān)信息。
15.如權(quán)利要求14所述的閃存操作方法,其中,該待存數(shù)據(jù)相關(guān)信息包含非完整頁待存數(shù)據(jù)相關(guān)信息。
16.如權(quán)利要求15所述的閃存操作方法,其中,該非完整頁待存數(shù)據(jù)相關(guān)信息包含一非完整頁待存數(shù)據(jù)的邏輯區(qū)塊地址信息。
17.如權(quán)利要求14所述的閃存操作方法,更在接收到來自該主機(jī)端的一第二待存數(shù)據(jù)時(shí)判斷該第二待存數(shù)據(jù)是否為完整頁數(shù)據(jù)。
18.如權(quán)利要求17所述的閃存操作方法,更包括:于該第二待存數(shù)據(jù)為非完整頁待存數(shù)據(jù)時(shí)檢查該非完整頁待存數(shù)據(jù)相關(guān)信息,以判斷該第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)可否結(jié)合成一完整頁數(shù)據(jù)。
19.如權(quán)利要求18所述的閃存操作方法,更包括: 于該第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)得以結(jié)合成一完整頁數(shù)據(jù)時(shí)結(jié)合上述第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)為一完整頁數(shù)據(jù),并將上述第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)結(jié)合而成的該完整頁數(shù)據(jù)存入該第二寫入?yún)^(qū)塊。
20.如權(quán)利要求18所述的閃存操作方法,其中,上述判斷該第一待存數(shù)據(jù)與該第二待存數(shù)據(jù)可否結(jié)合成一完整頁數(shù)據(jù)的步驟包括:判斷該第一待存數(shù)據(jù)的邏輯區(qū)塊地址與該第二待存數(shù)據(jù)邏輯區(qū)塊地址是否連續(xù)。
21.如權(quán)利要求13所述的閃存操作方法,更包括:根據(jù)主機(jī)信息判斷該主機(jī)端所指示的數(shù)據(jù)的型態(tài);令不同型態(tài)的完整頁的數(shù)據(jù)儲存至不同類的數(shù)據(jù)區(qū)塊;并且令不同型態(tài)的非完整頁的數(shù)據(jù)儲存至同類的數(shù)據(jù)區(qū)塊。
22.如權(quán)利要求21所述的閃存操作方法,其中,上述主機(jī)信息由數(shù)據(jù)標(biāo)簽或內(nèi)容標(biāo)簽取得。
23.如權(quán)利要求13所述的閃存操作方法,更包括:根據(jù)主機(jī)信息判斷該主機(jī)端所指示的數(shù)據(jù)的型態(tài);以即令不同型態(tài)的數(shù)據(jù)儲存至不同類的數(shù)據(jù)區(qū)塊。
24.如權(quán)利要求23所述的閃存操作方法,其中,上述主機(jī)信息由數(shù)據(jù)標(biāo)簽或內(nèi)容標(biāo)簽取得。
【文檔編號】G06F12/02GK103455428SQ201210223729
【公開日】2013年12月18日 申請日期:2012年7月2日 優(yōu)先權(quán)日:2012年5月31日
【發(fā)明者】鄭張鎧 申請人:慧榮科技股份有限公司