TWI344085B - Storage system for improving efficiency in accessing flash memory and method for the same - Google Patents
Storage system for improving efficiency in accessing flash memory and method for the same Download PDFInfo
- Publication number
- TWI344085B TWI344085B TW096143279A TW96143279A TWI344085B TW I344085 B TWI344085 B TW I344085B TW 096143279 A TW096143279 A TW 096143279A TW 96143279 A TW96143279 A TW 96143279A TW I344085 B TWI344085 B TW I344085B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- flash memory
- temporary storage
- storage area
- cache
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
九、發明說明: 【發明所屬之技術領域】 本發明係有關一種存取快閃記憶 1仏 系、、克及其方法,更具體來 。係關於-種改進快閃記憶體存取效能的儲存系統及其方法。 【先前技術】 ^^*^,(P,ashMem〇ry)4_## ^ 柄仍可保存先前寫人崎料。與其他儲雜體(如硬碟、軟碟或磁^ =’快閃記憶體有騎小 '重量輕、防震動、存取時無機顯作延遲與 山-毛電等特性。由於快閃記憶體的這些特性,因此近年來消費性電子產品、 弋系.·先或可攜式電腦等資料儲存媒體皆大量採用。 决閃《己憶體主要可分兩種:N〇R型快閃記憶體與NA购型快閃記憶 =峨型崎碰的優點為低電壓、存取快且穩定性高因此已被大 心用於可攜式電子裝置及電子通訊裝置,諸如個人電腦(p⑽㈣
Computer * P〇\ / —士 y、仃動電話、個人數位助理(P⑽nal Digital Assistance,PDa) 、轉頻WSet-topBox,STB)等。NAND型快閃記憶體是專門為資料儲存 人1^。又冲之快閃記憶體’通常應用於儲存並保存大量的資料的儲存媒 嵩式。己隐卡(81) Memory Card ’ Compact Flash Card,Memory Stick *等)田陕閃記憶體在執行寫入(Write)、抹除(Erase)及讀取(Read)運作時, °透過内^的電容耦合(Coupling)有效地控制漂浮閘(Floating Gate)上電荷 的移動’進而使得該漂浮閘可根據該電荷的移動而決定下層電晶體的閥值 5 1344085 二 電壓。換言之,當負電子注入該漂浮閘時,該漂浮閘的储存炚態便會從1 :、. 纪成0 ;而當負電子從該漂浮閘移走後,該漂浮閘的儲存狀態便會從0變成 1 ° 請參閱第1圖’第1圖係先前技術2NAND快閃記憶體之示意圖eNAND 快閃記憶體100内部由複數個區塊(block)】2所組成。每一區塊12包含複數個 頁(page)14 ’每一頁14則可分為資料儲存區丨4]以及備用區(spare area)]42, 貧料儲存區141的資料容量可為512個位元組,用來儲存使用資料,備用區 • 丨42用來儲存錯誤修正碼c〇rrecti〇n c〇de, ECC)。與NOR型快閃記憶 體不同’NAND型快閃記憶體之讀取與寫入單位皆為一個頁,資料讀寫的 動作必須先向晶片發出讀取或寫入指令後才可進行。 然而’快閃記憶體本身無法原地直接更改資料(update_in_place),也就是 5兄’若要對已寫過資料位置再次寫入資料時,必須先執行抹除的動作a而 NAND快閃έ己憶體寫入單位為頁,而抹除單位為區塊。所以當向晶片發出 # 寫入靖求時’必須先抹除一整個區塊12,才能把資料寫入至該區塊12的頁 14 〇 。而且一般來說一個區塊12抹除動作需要的時間約為一個頁14寫入動作 夺間的10〜2〇倍。如果當一個抹除的單位大於寫入的單位,這表示若要執 订區塊抹除動作’必須先將欲抹除區塊中的有效頁搬移至其它區塊後才可 進行。 再者决閃自己憶體的抹除次數(limited erase counts)有限制。這是因為當 '閃。己憶體在執行寫入或讀取運作時,由於現實中的電容皆具有漏電的現 6 1344085 二 象,因此當快閃5己憶體重複寫入或璜取超過十萬次之後,就會導致該電容 ;、所齡的電减不足喊得漂浮騎儲存的電荷^足,進而造成該快閃奶 憶體所儲存的資料遺失’《者更可能會使該快閃記衰減且無法 執行讀取的運作。也就是說’若某一區塊經常被抹除而超過可用次數的話, 會造成此區塊寫入/抹除動作錯誤。 由於上述快閃έ己憶體的特性’因此—能有效管理快閃記憶體的管理系統 是非常需要的。傳統上,目前快閃記憶體作為齡媒體所設計的播案系統 •架構有如Mi_oftFFS、JFFS2與YAFFS等棺案系統。這些棺案系統較有效 率’但只能使用在管理以快閃記題建構之儲存媒體上。另—種作法則是 採用-FTL (Flash Translation Layer)中間層,將快閃記憶體模擬為區塊裝 置’如硬碟機一般。因此在FTL的上層就可使用一般的棺案系統,如ρΑΤ32 或EXT3等等’對下層發出區段(sector)讀寫請求,經由吼來存取快閃記憶 體内容。FTL包含-個邏輯_實體錄韻表,用以齡賴位址與實體位 址的對應資A ’對應資訊儲存的格式為邏輯位址(快閃記憶體區塊位址頁 於區塊之位置)。清參閱第2圖,第2圖係儲存邏輯位址與實體位址之一範例。 假設每一區塊有η頁的資料。當上層檔案系統要求讀取邏輯位址丨的資料, 透過邏輯-貫體位址對照表16得知邏輯位址丨對應之實體位址為(區塊〇 _頁 1)’所以系統會取得貫體位址(區塊〇_頁1)内的資料並傳回。若上層檔案系統 要求更新紐3_容,由於*允許錢再次寫人,所衫、統之動作為 將貫體位址(區塊0-頁0)至(區塊〇_頁2)寫入(區塊2_頁〇)至(區塊2頁2),再將 更新資料寫入至(區塊2-頁3)’並將實體位址(區塊〇_頁4)到(區塊^頁十丨)寫入 1344085 -(區塊2_頁4)到(區塊2-頁〜丨),然後將實體位址(區塊〇)的資料標示為無效, ' 最後將位址對照表16中邏輯位址3之對應資訊由(B0-P3)改為(B2-P3),如此 下一次要存取邏輯位址3的資料,就會對應至實體位址(區塊2_頁3)存取資 料。如此一來,快閃記憶體“寫前抹除,,特性造成的問題因此獲得解決。 使用FTL管理快閃記憶體可以將處理的問題集中在快閃記憶體的特性 上,而不用考慮檔案系統中處理如檔案、目錄等問題,並且可以視應用所 需選擇FTL上層的檔案系統,但由於所有動作必須透過FTL層’所以需要較 • 長的處理時間與耗費較多之記憶體。舉例來說,若上層的檔靠統要寫入 10個2K位元組的連續資料,假設這些資料全部位於同一個區塊内若這⑺ 筆貝-料分開10次寫入’整個區塊將會被複製十次,顯然浪費許多複製時間。 另外,若欲從一主機端讀取快閃記憶體内一筆2K位元組的資料,則讀 取τ令會由主機傳達到快閃記憶體,接著快閃記憶體會將所要讀取的資料 自各個區塊巾找出,而後將全部找到的資料傳輸回主機端,當資料傳輸完 成後㈣6己憶體傳回-狀態訊息回主機端而完成整個資料讀取的流程。 籲在整個讀取過程内,主機傳達讀取命令到快閃記憶體、以及從快閃記憶體 傳狀態λ息回主機端的準備時間都是因FTL層的設計而產生的額外時間。雖 二貝料傳輸時間會隨著資料量的增加而增加,但是整個準備時間總和並不 5斗i的增加而增加。如果要讀取連續狐位元組大小的資料,若是分 個V㊉取快閃記憶體而每一個命令只讀取2Κ位元組的資料,則每次 _取筆資料就會對應到一個讀取命令,因此造成時間的浪費。若將麗位 一大j的>料一次讀取完畢,則可縮短資料讀取時間。 8 ϊ344085 【發明内容】 快取暫存區, /有4a於此’本發明係提供一種改進快閃記憶體儲存裳置存取效能的儲存 系統及其方法,將連續讀取或寫入的複數筆資料先暫存至— 在併傳送出去,以節省資料傳輸的時間。 本發明之-目的係提供—種改進記歷存取效㈣轉系統,其 匕3 _。己憶體、—錄單元以及—控制單元。該㈣記憶體包含複數 品鬼(block)每一區塊包含複數個頁㈣㈣,用來儲存資料。該快取單元 包含概錄取暫純,該快取單元_來暫存該㈣記憶體之資料。^ 4制單兀絲於接收—第—讀取請求以讀取該快閃記憶體之—第—資料且 2第貝料儲存於料快取暫存區之中時自該等快取暫存區讀取該第— 貝料以及用來於接收_第二讀取請求以讀取該‘_記憶體所儲存之—第 -貝料且衫—射4未儲存於該等快取暫存區之中時,將儲存該第二 之區塊之貝料暫存至該快取單元之該等快取暫存區之中。 根據本發明,每一快取暫存區之資料容量的實施例為暖位元組或 1胤位讀’而最佳實施例為每―快取暫存區之資料容量等於每― 資料容量。 本發明之再-目的係提供—種改進—快閃記憶體存取效能的方法,該 f、1己it體。3设數個區塊,每—區塊包含複數個頁,該方法包含:提供 :快取_ ’其包含_餘_ ;當触+_求以讀取 '、1己隱體之第1料且該第—資料儲存於該等快取暫存區之中時, 2等=取暫存區讀取該第—資料:以及當接收—第二讀取請求以讀取該 。,思體所儲存之—第二㈣且該第二資料未儲存於該隸取暫存區之 區二將儲—:之區塊之_存蝴辦元之該等快取暫存 到^據树明’該方法另包含:當該等快取暫存區之資料全滿時且接收 快閃記,將議聯衛㈣雨區寫入該 存:::::=:—種•—存裝一儲 體係用來儲存快取單元以及—控制單元。該快閃記憶 用木α存貝抖’其包含複數個區塊 人 單元包含複數個快取暫存區,取。…r 士㈣數個頁。該快取 之資料。則彳單-财來暫存欲寫人該快閃記憶體 第-寫入^ —第—寫入請求以將該第—寫入請求之― 等快取暫^ M儲縣科,將該第—“㈣儲存於該 叫她卿晰衝繼滿 將*亥快取暫存區之資料寫入該快閃纪憶體储存裝置。 咖输權咖视位元减 位7G組,而最佳貫施例為每— 一 區塊之資料容量。 、f品之貧料容量大於或等於每- 快閃記憶體存取效能的方法,該快 本發明之又一目的係提供—種改進 閃記憶體包含複數·塊’每i塊故複數_,該方法包含提供一快 取冗憶體’其包含複數個快取暫存區;當接收—第—寫人請求以將1第一 寫^請未之-第-寫人資料寫人該快閃記憶體時,將該第_寫人資料儲存 料等快㈣存區之-錄暫存區;以及#料錄暫純之資料全滿 日守,將該快取暫存區之資料寫人該快閃記憶體。 -於έ玄%快取暫存區時, 根據本發明,該方法另包含當該第—寫人資料之f料量大於每一快取 暫存區之資料容量且全部之該第—寫人龍未暫存; 將該第一寫入資料寫入該快閃記憶體。 根據本發明,财法另包含當該快取暫存㈣科間超過—預定時間 時,將該快取暫存區之資料寫入該快閃記憶體。 【實施方式】 請參閱第3圖’第3圖縣發明之儲㈣統⑴之功能方塊圖。儲存系 統10包含-主機20以及—快閃記憶體儲存裝置5G。主機2Q可為桌上型電 腦、筆記《腦、工㈣納賴_氣裝置料。域%包含一 控制單元22以及-快取單元24。鋼記㈣包含—快閃記憶 體52。在本實樣,快閃記憶體52内部的每—舰塊(版k)均由⑷固 頁陶所組成,每-崎為2K位元組(by㈣或是512位雄叫大小。快 取單元24係由主機2G内的記憶體如動態隨機存取記憶體妨_咖祕爪 Access M_ry ’ DRAM)、靜態隨機存取記憶體(a-八_ M_y ’ S讀)所咐财的記憶體,其包含複數憾取暫存區(cache 1344085 line)26。在本實施例中,每—快 一 一 °° 的資料容量大小可為但不限於 128K位元組、64K位元組或是直它資料 ^ , H Mil大何餘計需求而調整。每 一快取暫存區之資料容量(c)盥一 r = R 〇n 厂、個&塊之資料容量⑻的關係為: C —Βχ2,此處的η為整數。拚敢罝 ' 用來提供該快閃記憶體儲存裝置 5〇之項寫:祕快取暫存之用,快取單元 置 由控制單几22控制,經由控制 早兀22將_記憶體儲存裝置%之 w ςΛ 巧貝枓暫存,以提供快閃記憶體儲 存裝置5〇於下一次資料讀寫 $仰取糾輸出。控制單元22係-儲存於 主機20之記憶體之軟體程式碼,負責 如· 業系如及匯流排驅動介面(bus
月併參閱第4圖以及第5圖,第4 |$|後& pEJ 第®係快閃記憶體52、控制單元22 以及决取早元24之示意圖。第5圖 乃由主妆20續取快閃記憶體52 貝+ L程圖。本發明之讀取流程包含如下步驟: 步驟4〇0 :開始。
步驟術:作業_控懸取單元24 __輕出—讀取請求 取快閃記憶體5 2之資料。 ,以讀 ^ 4〇4 取請求所請求之資料是職取暫存區%的邊界值? 若是,執行步驟4〇6,若否,執行步驟4〇8。 步驟脈物取請求之資細。若鍋統指定_位址跨越了快 取暫存區的邊界,則將此讀取請求依快取暫存區的邊界分為多個請求。 步驟408 :讀取請求之資料儲存於快取暫存區内?若是執行步驟彻;若 否’執行步鄉412。 12 ^44085 : 步驟410:若讀取請求之資料儲存於快取暫存區内,則自快取暫存區内讀取 二 該讀取請求之資料。 步驟4⑴判斷所有快取暫存區是否都有儲存資料?若是,執行步驟414, 若否,執行步驟416。 步驟4U:當所有快取暫存區都有儲存資料時,則讀取請求的資料自快閃記 憶體寫入被讀取次數最少陳取暫魏。再將:#料由快取暫存區中複製到 作業糸統^曰疋的記憶體位址。 •步驟416 :當仍有部分快取暫存區沒有儲存資料時,將讀取請求之資料自快 閃記憶體寫人可_録暫能内。再將倾由絲暫輕中複製到作業 糸統指定的記憶體位址。 步驟418 :結束。 在主機20連接快閃記憶體儲存裳置5〇之後,如果主機讀取快閃 記憶體儲存裝置5G之m該第—資料之大小為鳳位恤,則主 機2〇會傳②—第―棘請求予控解元22。第—棘請求包含對應於該第 一資料的_區塊蝴Ugieal B1Gek Add㈣,LBA⑽衫—賴的大小。
下來k制單兀22會判斷第一資料的是否超過快取暫存區26的邊界值(步 鄉)舉例來說,如果快取暫存區26的大小係1服位元組若第一讀 月长之第㈣大小為256位元組則控制單元D會將超過第— #月长刀。J成兩個分別用來讀取⑶尺位元組的讀取請求(步驟概)。接 下來22會蘭第—資料是否已儲存於快取單元%之快取暫存 區⑽(步驟彻)。因為快取單元24尚未暫存任何資料,所以控制單U 1344085 判斷第-資料並未儲存在快取暫存區内%。接著控制單元η判斷所,办 暫存區26是否都有儲存資料’賴確認是否仍有未使用的快取暫存 存資料。此時快取暫存區都未暫存任何資料,所以控制單元^备將第… 料暫存於快取暫存區26(步驟416)。接下來,當控制單元^魏―第二: 取請求用以讀取位於快閃記憶體52之第二資料時,因為第二資料並未暫: 於快取暫存區,且仍有未使用的快取暫存區可儲存資料,所以控制單元u 會將第二資料暫存於快取暫存區26。 j控制單元22接收到—第三讀取請求用以讀取位於快閃記憶❹之 第二貝枓時’因為第三資料已暫存於快取暫存區%所以控制單元以直 接從快取單元讀取t賴(步驟),料再f要從鋼記憶體裡面魏 該第三資料。請注意,當控制單元22在接收一第四讀取請求用以讀取快閃 έ己憶體52之第四資料時,如果第四資料並未暫存於快取暫存區,且所有的 快取暫存區都已儲存資料,此時控制單元a會檢查快取暫存區%被讀取 的次數’ iW細:射情存至被讀取次數最少_取暫存區之中以更新快 取暫存區,再將第四資料由快取暫存區%中複製到作業系統指定的記憶體 位址。透過上述的讀取機制,如果每次主機需要難讀取快閃記㈣,且 每一個讀取請麵職崎料比較何,縣财«每次去快閃記憶體 内哥找所需要的資料,就可以從快取料中制所要师料故可大幅改 。頻U取小型純㈣間^例來說,在先前技射,如果要讀取連續 服位兀組大小的資料,若是分成⑴個命令讀取快閃記憶體而每一個命令 …Η取2K位兀組的細,則每次讀取—筆資料就會對應到—個讀取命令, 1344085 因此造成時間的浪費。但在本發明中, 。。— ζ〇κ位几組大小的資料係先儲存再 、取單元内,而後〆次讀取完畢,因此 此j备目紐貢料讀取時間。 請注意,若作業系統指定讀取的資料 十里為取大負料置,為免除在快取記 憶體52搬動資料所花多餘的時間,所以 上制早兀22 θ將此一讀取請求直 接送至快閃記憶體52,而不透過快取單元24。
請-併參閱第4圖以及第6圖,第6圖係本發明由主機2〇將資料寫入 快閃記憶體52資料之流簡。本發明之寫人流程包含如下步驟: 步驟500:開始。 步驟502 :主機20對快閃記憶體52發出—寫入抹夂, 記憶體52 用來將資料寫入快閃 =5(M :判斷寫入請求之频是否大於快閃記憶區的資料容量?若是’執 行步鄉506 ’若否,執行步驟512。 步驟鄕:當寫人請求之資料大於快閃記憶區㈣料容量,則酬寫入
之__已暫存練取單元?若是, 4 508。 右么,執订步驟 步驟· t以請叙部份射化暫存 未使用的快取暫存U時則_快閃單元内 ,若否,執行步驟510。 *右-,執行步驟 步驟510 :當耷λ ^ t 元時,直接將寫入請求 寫入Μ求之所有資料都未暫存於快取單 之資料寫入快閃記憶體。 15 一:驟512田寫入請求之資料小於快閃記憶區的資料容量,則將寫入請求之 ,-:貝料寫入决取單元之未使用的快取暫存區。 v驟別·判斷快取單元之快取暫存區是否都儲存資料?若是執行步驟 518 ’若否,執行步驟516。 乂驟516‘判斷快取單元的閒置時間超過—預定時間?若是,執行步驟518, 若否’執行步驟5〇〇。 乂驟训田快取早就全部快取暫存區都有儲存資料或是快取單元的閒置 _ _超過該預定時間,則將快取暫存區的所有資料-塊寫入至快閃記憶體。 在主機2〇電連接快閃記憶體儲存裝置50之後,如果主機20欲將一第 貝料寫入快閃記憶體儲存裝置5〇,其中該第一資料之大小為2张位元 則主枚20會傳达—第一寫入請求予控制單元切步驟观)。第一寫入 16 1344085 料。因為快取暫存區%的資料容量(廣位元組)小於第三資料大小(凝 位兀組),則控制單元a會判斷第三資料是否有部分資料已經暫存於快取暫 存區此時’第一貧料已暫存於快取暫存區施,故控制單元u會檢查第 -資料與第三資料是科麵。如果第三龍與第—諸沒有重複之處, 則第二貧料會直接寫人快閃記憶體52而不會暫存於快取單以。反之,如 果弟二貧料與第—資料有重複,則控制單元22會判斷快取單元24之中未 Z的快轉純26是料靖存全部的第三龍。如果未細的快取暫 —足贿人該第三資料時’則該第三資料會暫存於快取單元%之快取暫 存區26,反之,則才p笼一次丄丨入 暫存區%。 會直接寫入快閃記憶體52而不會暫存於快取 技制早几2 2在寫入請求對應的資料 單元#^24後’還會檢查快取 、P 6是否都有儲存資料(步驟514)。⑼f 快取暫存區26 _存:_,控辟元22的 資料都寫人快閃記憶體52。或者 / 1個快取單元Μ的 時間超過—預定時 / ”工"早凡22判斷快取單元24的閒置 寫入快閃記·_Γ 6),WA22咖心⑽料都 狀^之透過這樣的寫入機制,杵 時’會先_寫顯物4 ,;; _—個寫入請求 則會把這些小資料券好 b果貝枓小於快取暫存區的大小, 取單- 、後快取單元。朗快取單元内都存才一 取早,置時間超過一預定内都存滿育料或是快 _…才會—次把資料寫人快閃記憶體内。 17 二像先ί :人接收到寫入小型標案的寫八請求時’本發明之儲存系統並 術必須每次接收到寫入請求時就必須把資料寫一 疋梅蛛單刪的繼滿或是快取單娜時間超過一預定 日間日,,才會-次把資料寫人快閃記憶體,所以可以大 時間。舉例來說,在先前技術中,若上層的檔案系統要寫^ =过.竭連料,假設這些f料全部位於同—個區塊内若這1〇筆 貝科分開K)次寫人,整個區塊將會被複製十次。但在本發明中這1〇筆 ,嶋㈣帽十咖咖縮短資料 相較於先前技術,本《之刪統提供-快取料,峨存欲寫入 己U體儲存裝置之資料或是暫存自快閃記憶體儲存裝置讀取之資料。 在項取過程中,特別是對頻繁讀取小型棺案的資料來說,因為第—次自快 ^記憶體讀取的資料都會暫存在快取料裡所以第二次讀取同—筆資料 a ^不再'*要自快閃記憶體讀取資料,因而大幅縮短自快閃記憶體儲存 j置頃取-_顿時間。在寫人触中,制是多次將小型槽案的 寫决閃。己隱體而言,因為寫入的小型標案資料會先存入快取單元之 、子區但快取單兀存滿資料後才會-次寫入快閃記憶體,這麼一 來’可降低寫人快閃記憶體的準備時間。 ^ v雖…彳本發明已較佳實施例揭露如上’然其並非用以限 可…S此項技藝者,在不脫離本發明之精神和範圍内,當可 18 1344085
作各種更動與潤飾, 定者為準。 因此本發明之保護範圍 當視後附之Ψ請翻範圍所界 f圆式簡單說明】 第1圖係先前技術之似购快閃記憶體之示意圖。 第2圖係f轉邏輯絲與實體健之一範例。 第3圖係本㈣之儲H統之x力能方塊圖。 第4圖係快閃記憶體、控制單元以及快取單元之示意圖。 第5圖係本發明由域讀取‘㈣記紐資料之流程圖。 第6圖係本發明由主機將資料寫人快閃記憶體資料之流程 【主要元件符號說明】 12 區塊 16 位址對照表 142 備用區 22 控制單元 28 邏輯區塊轉換單 52 快閃記憶體 10 儲存系統 14 頁 141 資料儲存區 20 主機 24 快取單元 26、26a快取暫存區 50 快閃記憶體儲存裝置 19
Claims (1)
1344085 、申請專利範圍: .種改進快閃記賴存取效能_存系統,其包含: 用來儲存資 快閃記憶體,包含複數個區塊,每—區塊包含魏個頁, 料; —快取單元,包含魏健取暫純,取單元伽料存該 記憶體之資料;以及 -控制單元,用來於接收-第-讀取請求以讀取該快閃記憶體之—第 資料且該第-資料儲存於該等快取暫存區之中時,自該等快取暫存 區讀取該第-資料,以及用來於接收一第二讀取請求以讀取該^ 記憶體所儲存之-第二資料且該第二資料未儲存於該等快取暫存區 之中時,將儲存該第二資料暫存至該快取單元之該等快取暫存 中。 2. 如申請專利範圍帛1項所述之儲存系統,其 一 /、力巴3主機,該快取單 元以及該控制單元係設置於該主機内。 如申請專利範圍第2項所述之儲存系統,其中該主機另包含一記憶體, 5亥控制單元係設置於該記憶體之軟體程式碼。 4. 如申請專利棚第1項所述之儲存系統,其中該控制單元 快取暫存區之資料全滿時且接彳L第三讀取請求時,將取 存區之最少讀取之快取暫存區寫入該快閃記憶體。 、节 5.如:請專利翻第丨項所述之儲存系統,其中每—快取暫存區 谷置係64FC位元組或128K位元組。 、 6· -種改進-快閃記憶體存取效能的方法’該快閃記憶體包含複數個區 塊’每一區塊包含複數個頁,該方法包含: 20 ^供i取記·其包含複數墙取暫存區; 當接收一第1取請求以讀取該快閃記憶體之-第-資料且該第-資料 =:4峰暫存區之巾時’自料絲暫存區雜該第一資 料;以及 ' 當接收-第二讀取請求以讀取該快閃記憶體所儲存之一第二資料且該第 二2料未儲存於該等快取暫存區之中時,將儲存該第二資料之區塊 資料暫存至S亥快取單元之該等快取暫存區之中。 7.如申請專利範圍第6項所述之方法,其另包含: 當該等快取暫存區之龍全滿時且接收到―第三讀取請求時將該等 8决取暫存區之最少讀取之快轉存區寫人該_記憶體。 8’如申请專利範圍第6項所述之方法,其另包含: :接收-第四讀取請求以讀取該快閃記憶體之—第四資料且該第四資 9 — 科之大小超過該每—快取暫存區之資料容量時,分_第四讀取請求。 種改進快閃記憶體存取效能的儲存系統,其包含: 快閃記憶體,包含複數個區塊,每—區塊包含複數個頁,用來儲存資 料; ~快取單元’包含複數個快取暫存區,該快取單元_來暫存欲爲入 該快閃記憶體之資料;以及 k制單7L ’用來於接收H人請求轉該第—寫人請求之/第, 寫入:貝料寫入該快閃記憶體時’將該第一寫入資料儲存於該等砍取 暫存區之一快取暫存區,以及用來於該等快取暫存區之資料食滿 21 1344085 當該第一寫入資料之資料量大於每一快取暫存區之資料容量且全部之 該第一寫入資料未暫存於該等快取暫存區時,將該第一寫入資料寫入 該快閃記憶體。 18.如申請專利範圍第16項所述之方法,其另包含: 當該快取暫存區閒置時間超過一預定時間時,將該快取暫存區之資料 寫入該快閃記憶體。 23
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW096143279A TWI344085B (en) | 2007-11-15 | 2007-11-15 | Storage system for improving efficiency in accessing flash memory and method for the same |
| US12/211,656 US20090132757A1 (en) | 2007-11-15 | 2008-09-16 | Storage system for improving efficiency in accessing flash memory and method for the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW096143279A TWI344085B (en) | 2007-11-15 | 2007-11-15 | Storage system for improving efficiency in accessing flash memory and method for the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW200921385A TW200921385A (en) | 2009-05-16 |
| TWI344085B true TWI344085B (en) | 2011-06-21 |
Family
ID=40643180
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW096143279A TWI344085B (en) | 2007-11-15 | 2007-11-15 | Storage system for improving efficiency in accessing flash memory and method for the same |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20090132757A1 (zh) |
| TW (1) | TWI344085B (zh) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI581097B (zh) * | 2011-07-20 | 2017-05-01 | 欣承科技股份有限公司 | 存取方法 |
| CN102609378B (zh) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
| KR20150093004A (ko) * | 2014-02-06 | 2015-08-17 | 삼성전자주식회사 | 불휘발성 저장 장치의 동작 방법 및 불휘발성 저장 장치를 액세스하는 컴퓨팅 장치의 동작 방법 |
| CN105988954B (zh) * | 2015-03-05 | 2018-09-11 | 光宝科技股份有限公司 | 区域描述元管理方法及其电子装置 |
| TWI553476B (zh) * | 2015-03-05 | 2016-10-11 | 光寶電子(廣州)有限公司 | 區域描述元管理方法及其電子裝置 |
| KR102362239B1 (ko) * | 2015-12-30 | 2022-02-14 | 삼성전자주식회사 | 디램 캐시를 포함하는 메모리 시스템 및 그것의 캐시 관리 방법 |
| US20180322052A1 (en) * | 2016-02-19 | 2018-11-08 | Hewlett Packard Enterprise Development Lp | Deferred write back based on age time |
| CN109213692B (zh) * | 2017-07-06 | 2022-10-21 | 慧荣科技股份有限公司 | 存储装置管理系统以及存储装置管理方法 |
| TWI647566B (zh) | 2018-01-19 | 2019-01-11 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
| US10725931B2 (en) * | 2018-08-22 | 2020-07-28 | Western Digital Technologies, Inc. | Logical and physical address field size reduction by alignment-constrained writing technique |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4814976C1 (en) * | 1986-12-23 | 2002-06-04 | Mips Tech Inc | Risc computer with unaligned reference handling and method for the same |
| EP0683457A1 (en) * | 1994-05-20 | 1995-11-22 | Advanced Micro Devices, Inc. | A computer system including a snoop control circuit |
| US5696929A (en) * | 1995-10-03 | 1997-12-09 | Intel Corporation | Flash EEPROM main memory in a computer system |
| US5895488A (en) * | 1997-02-24 | 1999-04-20 | Eccs, Inc. | Cache flushing methods and apparatus |
| US6167473A (en) * | 1997-05-23 | 2000-12-26 | New Moon Systems, Inc. | System for detecting peripheral input activity and dynamically adjusting flushing rate of corresponding output device in response to detected activity level of the input device |
| US6704835B1 (en) * | 2000-09-26 | 2004-03-09 | Intel Corporation | Posted write-through cache for flash memory |
| JP4178268B2 (ja) * | 2000-10-31 | 2008-11-12 | 富士通マイクロエレクトロニクス株式会社 | マイクロコントローラ |
| US6862651B2 (en) * | 2000-12-20 | 2005-03-01 | Microsoft Corporation | Automotive computing devices with emergency power shut down capabilities |
| JP2005301591A (ja) * | 2004-04-09 | 2005-10-27 | Toshiba Corp | 不揮発性メモリを備えた装置及びメモリコントロ−ラ |
-
2007
- 2007-11-15 TW TW096143279A patent/TWI344085B/zh active
-
2008
- 2008-09-16 US US12/211,656 patent/US20090132757A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20090132757A1 (en) | 2009-05-21 |
| TW200921385A (en) | 2009-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI344085B (en) | Storage system for improving efficiency in accessing flash memory and method for the same | |
| CN110955384B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
| CN1828555B (zh) | 支持多存储器映射方案的快闪存储器控制器件及其方法 | |
| US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
| US7302534B2 (en) | Dual media storage device | |
| US7802054B2 (en) | Apparatus and methods using invalidity indicators for buffered memory | |
| US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
| CN108694135B (zh) | 用于在页高速缓存中持久性地高速缓存存储数据的方法和设备 | |
| CN1722109B (zh) | 增量归并方法和使用该方法的存储系统 | |
| TWI385519B (zh) | 資料寫入方法及使用此方法的快閃儲存系統與其控制器 | |
| CN101118516A (zh) | 非易失性存储装置、数据存储系统和数据存储方法 | |
| JP2006216036A (ja) | フラッシュメモリを含んだデータ貯蔵装置及びそれのマージ方法 | |
| CN111033477A (zh) | 逻辑到物理映射 | |
| CN105339910B (zh) | 在混合驱动器中的虚拟nand容量扩展 | |
| TW201003392A (en) | Data accessing method for flash memory and storage system and controller using the same | |
| US10296250B2 (en) | Method and apparatus for improving performance of sequential logging in a storage device | |
| TW201229754A (en) | Memory system, data storage device, user device and data management method thereof | |
| CN101458662A (zh) | 改进闪存存取效率的存储系统与方法 | |
| CN108628771A (zh) | 信息处理装置、存储设备以及信息处理系统 | |
| JP2008016003A (ja) | メモリー格納装置及びその読み書き方法 | |
| JP2006268776A (ja) | メモリカード | |
| CN100426259C (zh) | 一种存储器文件数据虚拟存取方法 | |
| CN102520885B (zh) | 一种混合硬盘的数据管理系统 | |
| US11941246B2 (en) | Memory system, data processing system including the same, and operating method thereof | |
| CN101833516A (zh) | 改进闪存存取效率的存储系统与方法 |