TWI472919B - 改善快閃記憶儲存裝置輸入的方法 - Google Patents
改善快閃記憶儲存裝置輸入的方法 Download PDFInfo
- Publication number
- TWI472919B TWI472919B TW101144241A TW101144241A TWI472919B TW I472919 B TWI472919 B TW I472919B TW 101144241 A TW101144241 A TW 101144241A TW 101144241 A TW101144241 A TW 101144241A TW I472919 B TWI472919 B TW I472919B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- lookup table
- storage device
- data
- input
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Description
本發明與用於降低查找之查找表週期數、檔案系統資訊數以及快閃抹除資訊檢索數之方法有關。
現今,快閃記憶體係常用在儲存系統中。不同種類之記憶體科技係造成不同快閃型態。反及閘(NAND)快閃記憶體係為大部分最普遍用於儲存之記憶體裝置的其中之一。因為具有高速、高密度及低耗電的優點,所以NAND快閃記憶體係廣泛地使用在移動式系統,包括手機、MP3播放器、數位相機、平板電腦等等。然而,存取(輸入)快閃記憶體是有額外的實體限制(physical constraints)。在將其程式化之前是需要對快閃記憶體進行抹除。最小的抹除單元係為區塊(block),其係包含多個資料頁(pages)且在相同區塊內的資料頁係連續地程式化。為了符合實體限制,許多演算法係打算解決在效率(performance)以及區塊與資料頁的使用上之問題。
當演算法變得更複雜且快閃記憶體的尺寸變得更大時,嵌入式處理器花費較長時間以對查找表進行查找。而且,輸入效能的要求係隨著時間快速地提升。長時間的查找係會是快閃輸入效能的瓶頸。
今日,嵌入式處理器(embedded processor)係用於執行演算法並維持查找表。然而,處理器係花費許多時間以輸入資料並進
行查表。其係導致對於每一主體輸入的冗長消耗時間(overhead)。
請參考圖1及圖2,其中,圖1係表示習知快閃儲存裝置輸入之方法的流程圖,以及圖2係表示習知快閃儲存裝置輸入的方塊圖。
習知快閃儲存裝置輸入之方法的步驟係包括:步驟11’:由一主機(圖未示)提出讀/寫邏輯位址的要求;步驟12’:由一中央處理單元1’查找儲存在一快閃記憶體3’的實體位址及至少一查找表30’;以及步驟13’:從快閃記憶體3’讀/寫資料或將資料讀/寫到快閃記憶體3’。
其中,中央處理單元1’係藉由一處理器匯流排2’連接到具有至少一查找表30’的快閃記憶體3’,且處理器匯流排2’係可為一32位元資料匯流排,但並不以此為限。
請再參閱圖3,係表示習知快閃儲存裝置輸入之方法的一實施例。
習知方法之一實施例的步驟係包括:步驟S21’:從查找表讀取資訊info 1n;步驟S22’:比較資訊info 1n及快閃記憶體3’的資料;假若兩者不符合的話,則回到步驟S21’;假若兩者符合的話,則繼續下一步驟;步驟S23’:從查找表讀取資訊info 2n;
步驟S24’:比較資訊info 2n及快閃記憶體的資料;假若兩者不符合的話,則回到步驟S23’;假若兩者符合的話,則繼續下一步驟;步驟S25’:激發快閃記憶體輸入;以及步驟S26’:將資訊更新到查找表。
因此,步驟係持續進行。一般而言,依據不同演算法,查找表尺寸必須是大的。而且,處理器僅一個一個地(one-by-one)進行記憶體輸入,且一步一步地(step by step)進行比較。記憶體輸入係具有長的延遲時間(long latency)以及比較(comparison)係花費多個查表指令(instructions)及週期。在每一查找表發現一符合之結果及激發快閃記憶體的時間是長的。
基於上述問題,發明人提出了一種改善快閃記憶儲存裝置輸入的方法,以克服現有技術的缺陷。
本發明目的在於提供一種改善快閃記憶儲存裝置輸入的方法,其係藉由專用硬體(dedicated hardware)及具有匯流排以縮短對於每一從主機讀/寫資料到快閃記憶體的消耗時間(overhead),以可加速查表、檢索及更新程序,之後,改善每秒輸入/輸出(IO)數量以及儲存裝置輸入的效能。
為達上述目的,本發明係提供一種改善快閃記憶儲存裝置輸入的方法,其步驟係包括:由一主機提出讀/寫邏輯位址之資料的要求;由一中央處理單元設定一引擎;由該引擎查找實體位址並更新儲存在至少一快閃記憶體之至少一查找表;以及從該至少一
快閃記憶體讀/寫資料或將資料讀/寫到該快閃記憶體。
其中,儲存在每一快閃記憶體之每一查找表係為一對一。
其中,每一查找表係儲存在一單一快閃記憶體。
雖然本發明使用了幾個較佳實施例進行解釋,但是下列圖式及具體實施方式僅僅是本發明的較佳實施例;應說明的是,下面所揭示的具體實施方式僅僅是本發明的例子,並不表示本發明限於下列圖式及具體實施方式。
請同時參閱圖4及圖5,其中,圖4係表示本發明改善快閃記憶儲存裝置輸入的方法之流程圖,以及圖5係表示本發明改善快閃記憶儲存裝置輸入的方法之方塊圖。
本發明改善快閃記憶儲存裝置輸入的方法之步驟係包括:步驟S01:由一主機(圖未示)提出讀/寫邏輯位址之資料的要求;步驟S02:由一中央處理單元1設定一引擎4;步驟S03:由引擎4查找實體位址並更新儲存在至少一快閃記憶體3之至少一查找表30;以及步驟S04:從至少一快閃記憶體3讀/寫資料或將資料讀/寫到快閃記憶體3。
其中,中央處理單元1係透過一處理器匯流排(processor bus)2連接到快閃記憶體3,而快閃記憶體3具有至少一查找表30,且處理器匯流排2係可為一32位元資料匯流排,但並不以此為限。
在某些實施例中,每一查找表30係以一對一方式儲存在每一
快閃記憶體3中(如圖5所示)。因此,引擎4係藉由複數個通道(channels)5而個別地連接到複數個快閃記憶體3。
在另外的某些實施例中,各查找表係儲存在單一快閃記憶體中(圖未示)。
請亦參閱圖6,係表示本發明改善快閃記憶儲存裝置輸入的方法之一實施例。
一旦已設定了目標圖案(target patterns)且激發引擎4,引擎4係將資料(資訊info 10-13及資訊info 21-23)從每一查找表(查找表1-2)平行地輸入,相較於硬體電路(hardware circuit)輸送資料,且亦可如圖6所示將資料更新到另一查找表。
由於用於特定演算法的專門設計及好的傳送,在每一週期可以完成每一操作,係可足夠地降低操作的所有時間。
雖然本發明以相關的較佳實施例進行解釋,但是這並不構成對本發明的限制。應說明的是,本領域的技術人員根據本發明的思想能夠構造出很多其他類似實施例,這些均在本發明的保護範圍之中。
[本發明]
1‧‧‧中央處理單元
2‧‧‧處理器匯流排
3‧‧‧快閃記憶體
30‧‧‧查找表
4‧‧‧引擎
info 1n‧‧‧資訊
info 2n‧‧‧資訊
步驟S01~S04‧‧‧依據本發明之方法的步驟
[習知]
1’‧‧‧中央處理單元
2’‧‧‧處理器匯流排
3’‧‧‧快閃記憶體
30’‧‧‧查找表
步驟S11’~S13’‧‧‧依據習知方法之步驟
步驟S21’~S26’‧‧‧依據習知方法一實施例的步驟
圖1 係表示習知快閃儲存裝置輸入之方法的流程圖。
圖2 係表示習知快閃儲存裝置輸入的方塊圖。
圖3 係表示習知快閃儲存裝置輸入之方法的一實施例。
圖4 係表示本發明改善快閃記憶儲存裝置輸入的方法之流程圖。
圖5 係表示本發明改善快閃記憶儲存裝置輸入的方法之方塊
圖。
圖6 係表示本發明改善快閃記憶儲存裝置輸入的方法之一實施例。
步驟S01~S04‧‧‧依據本發明之方法的步驟
Claims (3)
- 一種改善快閃記憶儲存裝置輸入的方法,其步驟包括:由一主機提出讀/寫邏輯位址之資料的要求;由一中央處理單元設定一引擎;由該引擎從儲存在至少一快閃記憶體之至少一查找表平行地查找實體位址以讀取該資料,以降低操作時間,並對該至少一查找表進行更新;以及從該至少一快閃記憶體讀/寫資料或將資料讀/寫到該快閃記憶體。
- 依據申請專利範圍第1項所述的方法,其中,儲存在每一快閃記憶體之每一查找表係為一對一。
- 依據申請專利範圍第1項所述的方法,其中,每一查找表係儲存在一單一快閃記憶體。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/531,589 US20130346673A1 (en) | 2012-06-25 | 2012-06-25 | Method for improving flash memory storage device access |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201401051A TW201401051A (zh) | 2014-01-01 |
TWI472919B true TWI472919B (zh) | 2015-02-11 |
Family
ID=49775418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101144241A TWI472919B (zh) | 2012-06-25 | 2012-11-27 | 改善快閃記憶儲存裝置輸入的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130346673A1 (zh) |
TW (1) | TWI472919B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI761992B (zh) | 2020-10-16 | 2022-04-21 | 創鑫智慧股份有限公司 | 資料計算裝置及其操作方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200636455A (en) * | 2005-04-01 | 2006-10-16 | Via Tech Inc | Device and method for accessing memory |
TW200839519A (en) * | 2007-01-10 | 2008-10-01 | Mobile Semiconductor Corp | Adaptive memory system for enhancing the performance of an external computing device |
US20090070547A1 (en) * | 2007-09-11 | 2009-03-12 | Samsung Electronics Co., Ltd. | Method and apparatus for performing address mapping in virtual file system of storage unit having a plurality of non-volatile data storage media |
US20110231713A1 (en) * | 2009-11-04 | 2011-09-22 | Hitachi, Ltd. | Flash memory module |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566511B2 (en) * | 2009-07-23 | 2013-10-22 | Stec, Inc. | Solid-state storage device with multi-level addressing |
KR20110119408A (ko) * | 2010-04-27 | 2011-11-02 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US8285920B2 (en) * | 2010-07-09 | 2012-10-09 | Nokia Corporation | Memory device with dynamic controllable physical logical mapping table loading |
-
2012
- 2012-06-25 US US13/531,589 patent/US20130346673A1/en not_active Abandoned
- 2012-11-27 TW TW101144241A patent/TWI472919B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200636455A (en) * | 2005-04-01 | 2006-10-16 | Via Tech Inc | Device and method for accessing memory |
TW200839519A (en) * | 2007-01-10 | 2008-10-01 | Mobile Semiconductor Corp | Adaptive memory system for enhancing the performance of an external computing device |
US20090070547A1 (en) * | 2007-09-11 | 2009-03-12 | Samsung Electronics Co., Ltd. | Method and apparatus for performing address mapping in virtual file system of storage unit having a plurality of non-volatile data storage media |
US20110231713A1 (en) * | 2009-11-04 | 2011-09-22 | Hitachi, Ltd. | Flash memory module |
Also Published As
Publication number | Publication date |
---|---|
TW201401051A (zh) | 2014-01-01 |
US20130346673A1 (en) | 2013-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10565123B2 (en) | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module | |
KR102683696B1 (ko) | 호스트 메모리 버퍼(Host Memory Buffer)를 관리하기 위한 NVMe(Non-Volatile Memory Express) 컨트롤러를 포함하는 솔리드 스테이트 저장 장치(solid state storage device), 이를 포함하는 시스템 및 호스트의 호스트 메모리 버퍼를 관리하는 방법 | |
CN107273042B (zh) | 重复删除dram系统算法架构的存储器模块及方法 | |
US9092321B2 (en) | System and method for performing efficient searches and queries in a storage node | |
US9021189B2 (en) | System and method for performing efficient processing of data stored in a storage node | |
TWI709854B (zh) | 資料儲存裝置及用於存取邏輯至物理位址映射表之方法 | |
US11281585B2 (en) | Forward caching memory systems and methods | |
WO2017041570A1 (zh) | 向缓存写入数据的方法及装置 | |
CN105808455B (zh) | 访问内存的方法、存储级内存及计算机系统 | |
KR20160039544A (ko) | 실시간 분석을 지원하는 인-메모리 팝 카운트 | |
JP2006323739A5 (zh) | ||
CN107273397B (zh) | 用于有效的存储器在线重复删除应用的虚拟桶多哈希表 | |
US20120159040A1 (en) | Auxiliary Interface for Non-Volatile Memory System | |
US9606928B2 (en) | Memory system | |
US10033411B2 (en) | Adjustable error protection for stored data | |
US10884927B2 (en) | Cache architecture using way ID to reduce near memory traffic in a two-level memory system | |
US10754785B2 (en) | Checkpointing for DRAM-less SSD | |
US9336135B1 (en) | Systems and methods for performing search and complex pattern matching in a solid state drive | |
US20210286551A1 (en) | Data access ordering for writing-to or reading-from memory devices | |
US11740899B2 (en) | In-memory associative processing system | |
US9880930B2 (en) | Method for operating controller and method for operating device including the same | |
TWI472919B (zh) | 改善快閃記憶儲存裝置輸入的方法 | |
US8533396B2 (en) | Memory elements for performing an allocation operation and related methods | |
US10261714B2 (en) | Memory controller and memory system including same | |
US10331385B2 (en) | Cooperative write-back cache flushing for storage devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |