TWI616755B - 儲存裝置及其資料映射方法 - Google Patents
儲存裝置及其資料映射方法 Download PDFInfo
- Publication number
- TWI616755B TWI616755B TW105128735A TW105128735A TWI616755B TW I616755 B TWI616755 B TW I616755B TW 105128735 A TW105128735 A TW 105128735A TW 105128735 A TW105128735 A TW 105128735A TW I616755 B TWI616755 B TW I616755B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- volatile memory
- data mapping
- mapping table
- memory
- Prior art date
Links
Abstract
本發明係提供一種儲存裝置,包括:一非揮發性記憶體;一揮發性記憶體,用以記錄該非揮發性記憶體之部份儲存空間之一區域資料映射表;以及一記憶體控制器,用以與一主控端相連接,並控制該非揮發性記憶體及該揮發性記憶體之存取,其中,該記憶體控制器係對儲存於該非揮發性記憶體中之各檔案指派相應的一優先權程度,並依據各檔案所相應的該優先權程度將具有最高優先權程度之檔案所相應之資料映射關係建立該區域映射表。
Description
本發明係有關於儲存裝置,特別是有關於一種儲存裝置及其資料映射方法。
隨著技術發展,在電腦系統中之儲存裝置的傳輸速度也愈來愈快,例如固態硬碟(Solid-state Disk)即為可進行快速資料存取的非揮發性記憶體。近年來,由各電腦廠商已訂定了非揮發性記憶體之傳輸標準,例如進階主機控制器介面(Advanced Host Controller Interface,AHCI)及快捷非揮發性記憶體(Non-volatile Memory Express,NVMe)等等。上述兩種標準皆為在儲存裝置與作業系統端的包含指令集、快閃記憶體存取控制、暫存器傳輸級(Register Transfer Level)、及驅動程式層等介面標準。
此外,反及閘快閃記憶體(NAND flash)之成本亦愈來愈低,而且以往技術無法達到的大容量固態硬碟機在現在的市面上也愈來愈普及。然而,對於大容量的固態硬碟機而言,採用以往用於容量較小之固態硬碟機的資料映射機制會造成生產成本偏高,且亦難以降低生產成本縮減。以往用於容量較小之固態硬碟機中之資料映射機制是在固態硬碟機之控制器
中配置一塊揮發性記憶體(例如DRAM),且為了達到快速存取的效果,會將固態硬碟機中之快閃記憶體之全部容量的資料的映射表都全部放入揮發性記憶體中,但是在揮發性記憶體中之資料映射表的大小幾乎固定為快閃記憶體之千分之一。簡單來說,若傳統的固態硬碟機之快閃記憶體的容量為1TB,則在揮發性記憶體中之資料映射表的大小需至少有1GB,這會造成揮發性記憶體之成本過於高昂。
因此,需要一種固態硬碟機及其資料映射方法以解決上述問題。
本發明係提供一種儲存裝置,包括:一非揮發性記憶體;一揮發性記憶體,用以記錄該非揮發性記憶體之部份儲存空間之一區域資料映射表;以及一記憶體控制器,用以與一主控端相連接,並控制該非揮發性記憶體及該揮發性記憶體之存取,其中,該記憶體控制器係對儲存於該非揮發性記憶體中之各檔案指派相應的一優先權程度,並依據各檔案所相應的該優先權程度將具有最高優先權程度之檔案所相應之資料映射關係建立該區域映射表。
本發明更提供一種資料映射方法,用於一儲存裝置,其中該儲存裝置包括:一非揮發性記憶體、一揮發性記憶體、以及一記憶體控制器,該方法包括:將該儲存裝置與一主控端相連接;利用該揮發性記憶體記錄該非揮發性記憶體之部份儲存空間之一區域資料映射表;利用該記憶體控制器對儲存
於該非揮發性記憶體中之各檔案指派相應的一優先權程度;以及利用該記憶體控制器依據各檔案所相應的該優先權程度將具有最高優先權程度之檔案所相應之資料映射關係建立該區域映射表。
100‧‧‧電腦系統
110‧‧‧中央處理器
111‧‧‧記憶體控制器
120‧‧‧系統記憶體
121‧‧‧資料池
130‧‧‧儲存裝置
131‧‧‧記憶體控制器
132‧‧‧揮發性記憶體
133‧‧‧非揮發性記憶體
200‧‧‧區域資料映射表
202‧‧‧高優先權區域
204‧‧‧次高優先權區域
206‧‧‧常用資料區域
208‧‧‧最近使用區域
S310-S370‧‧‧步驟
第1圖係顯示依據本發明一實施例中之電腦系統之方塊圖。
第2圖係顯示依據本發明一實施例中之區域資料映射表的示意圖。
第3圖係顯示依據本發明一實施例中用於儲存裝置之資料映射方法的流程圖。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特舉一較佳實施例,並配合所附圖式,作詳細說明如下。
第1圖係顯示依據本發明一實施例中之電腦系統之方塊圖。在一實施例中,電腦系統100包括一中央處理器110、一系統記憶體120、及一儲存裝置130。中央處理器110及系統記憶體120可視為一主控端(host)。儲存裝置130係包括一記憶體控制器131、一揮發性記憶體132、及一非揮發性記憶體132。舉例來說,記憶體控制器131例如可支援NVMe標準,揮發性記憶體132例如是動態隨機存取記憶體(DRAM),且非揮發性記憶體133例如是NAND快閃記憶體,但本發明並不限於此。
另外,系統記憶體120及儲存裝置130之間係以PCIe或SATA匯流排做為溝通橋樑。在一實施例中,中央處理器110更包括一記憶體控制器111,用以控制系統記憶體120之資料存取,其中系統記憶體120例如是動態隨機存取記憶體。在另一實施例中,記憶體控制器111係獨立於中央處理器110之外。
在一實施例中,記憶體控制器111係由系統記憶體120中劃分出一資料池121。當中央處理器110欲寫入資料至儲存裝置130時,中央處理器110係透過記憶體控制器111將暫存資料先寫入至系統記憶體120中之資料池121(例如供DMA存取)中,記憶體控制器131再由資料池121中取得暫存資料,並寫入非揮發性記憶體132中。
需了解的是,記憶體控制器131在寫入資料至非揮發性記憶體132時均是透過一快閃轉譯層(Flash Translation Layer,FTL),該快閃轉譯層係負責提供檔案系統和在非揮性記憶體132中之實體資料層之間的對應,使得作業系統仍然可看到與一般傳統硬碟一樣的檔案系統。需注意的是,上述快閃轉譯層一般亦可稱為資料映射表,其係儲存於揮發性記憶體132中,且揮發性記憶體132之大小係遠小於非揮發性記憶體133之千分之一。也因此,儲存於揮發性記憶體132中之資料映射表已無法完全對應非揮發性記憶體133中之所有資料。在此情況下之資料映射表亦稱為區域資料映射表。需了解的是,在非揮發性記憶體133中均會存放一份完整的資料映射表,即稱為全域資料映射表。
在一實施例中,對於中央處理器110所執行之作業
系統來說,並非在固態硬碟機中的所有檔案都需要優先存取。通常都是系統資料需進行隨機讀取(random access),此部份的系統資料之資料映射表往往需儲存於揮發性記憶體132中。此外,不同的系統資料之重要程度也會依分類及使用程度而有所區別。更進一步而言,揮發性記憶體132之存取時間係遠小於非揮發性記憶體之存取時間,因此若要從非揮發性記憶體讀取之資料的映射關係已記錄於揮發性記憶體之資料映射表,則記憶體控制器131可依據該資料映射關係直接從非揮發性記憶體133讀取所要的資料。若要從非揮發性記憶體133讀取之資料的映射關係未記錄於揮發性記憶體132之區域資料映射表,則記憶體控制器131需從非揮發性記憶體中之全域資料映射表找到相應的映射關係,接著才能從非揮發性記憶體133讀取所要的資料。在一實施例中,若非揮發性記憶體133之大小為1T位元組,則本發明中之揮發性記憶體132可僅使用32M位元組之大小。
在一實施例中,在記憶體控制器111將要儲存的資料從系統記憶體透過記憶體控制器131寫入非揮發性記憶體133時,中央處理器110即會在要寫入之資料標示其優先程度,且記憶體控制器131則會依據寫入資料之優先程度決定儲存於非揮發性記憶體133之寫入資料是否需要在揮發性記憶體132中之區域資料映射表建立相應的對應關係。
舉例來說,寫入資料之優先權程度可分為複數個層級,例如層級0~7,其中層級0表示最高優先權,層級7則表示最低優先權,但熟習本發明領域之技藝者亦可視實際情況調
整優先程度之層級數量。一般而言,作業系統中之系統資料的檔案往往具有較小的檔案容量(例如幾K位元組至幾MB位元組),且重要程度高。再者,拖慢固態硬碟機之讀取速度的通常都是隨機讀取動作,因為需要常常查詢揮發性記憶體之區域資料映射表,此部份已在上述實施例中說明過。記憶體控制器131需先判斷所要隨機讀取之資料的映射關係是否存放於揮發性記憶體132之區域資料映射表,故重要性高的系統資料往往會被指派具有最高的優先權。換言之,當中央處理器110欲從非揮發性記憶體133讀取系統資料時,系統資料之映射關係必定存在於揮發性記憶體132之區域資料映射表,故記憶體控制器131可依據該映射關係,直接從非揮發性記憶體133讀取所要的系統資料。
相對而言,對於作業系統來說,重要程度較低的是容量較大的檔案,例如是多媒體檔案、使用者資料等等。在向非揮發性記憶體133讀取這些容量較大的檔案時,儘管這些大檔案的資料映射關係並未存放於揮發性記憶體132中之區域資料映射表,記憶體控制器131需再從非揮發性記憶體133中之全域資料映射表讀取相應的資料映射關係後才能從非揮發性記憶體133讀取想要的資料。雖然多了一道向全域資料映射表進行查詢的動作,但因為在讀取這些大檔案時都是進行連續讀取,故只要知道檔案在非揮發性記憶體133中開始及結束之分頁(page)及區塊(block),即可進行連續讀取。再加上固態硬碟機進行連續讀取的傳輸速度非常快,故通常使用者不會感覺到有任何延遲。
第2圖係顯示依據本發明一實施例中之區域資料映射表的示意圖。在一實施例中,儲存於揮發性記憶體132中之區域資料映射表200亦可劃分為幾個區域,例如:高優先權區域202、次高優先權區域204、常用資料區域206、及最近使用區域208。一般而言,在最新從非揮發性記憶體133存取過的資料之資料映射關係會被寫入至最近使用區域208,無論是系統檔案、使用者資料、一般檔案、大容量檔案等等都可採取相同的動作。高優先權區域202則是優先存放作業系統之系統資料或是特別指定的高優先權資料的資料映射關係,此區域之資料映射關係一經寫入後則通常較少更動。次高優先權區域204則存放一般重要的檔案之資料映射關係,此區域之資料可能會隨著不同優先權程度之資料存取動作而有所更動,即優先權程度較低之資料的資料映射關係會被優先從此區域刪除以更換為優先權程度較高之資料的資料映射關係。常用資料區域206則存放最近最常使用之資料的資料映射關係。
第3圖係顯示依據本發明一實施例中用於儲存裝置之資料映射方法的流程圖。在步驟S310,利用記憶體控制器131在揮發性記憶體132建立與非揮發性記憶體133有關之一區域資料映射表。需注意的是,該區域資料映射表並未完全對應之非揮發性記憶體133之全部儲存空間。非揮發性記憶體133係儲存一全域資料映射表,可記錄非揮發性記憶體133之全部儲存空間所相應的資料映射關係。
在步驟S320,主控端係透過記憶體控制器131將儲存於非揮發性記憶體133中之各檔案分別指派相應的一優先權
程度。
在步驟S330,依據各檔案之該優先程度,將具有較高優先權程度之該檔案所相應的資料映射關係寫入該區域資料映射表。在本發明中,作業系統之系統資料通常具有最高的優先權,因為系統資料的總容量可能僅有幾GB,故所需的資料映射表不會太大,可能僅佔數十MB。因為系統資料最需要最快速的存取速度,故其資料映射關係需存放於揮發性記憶體中以提高存取速度。
在步驟S340,當一主控端欲讀取非揮發性記憶體133之資料時,記憶體控制器131係先查詢所要讀取的資料之資料映射關係是否記錄於該區域資料映射表。若是,則執行步驟S350;若否,則執行步驟S360。
在步驟S350,記憶體控制器131係依據所查詢到之該資料映射關係直接從非揮發性記憶體133中讀取所要的資料。
在步驟S360,記憶體控制器131係從非揮發性記憶體133中之全域資料映射表取得欲讀取之資料的資料映射關係。
在步驟S370,記憶體控制器131係依據從該全域資料映射表所取得的該資料映射關係從該非揮發性記憶體133中讀取所要的資料。
綜上所述,本發明係提供一種儲存裝置(例如是固態硬碟機)及其資料映射方法。本發明之資料映射方法可在不大幅影響固態硬碟機之存取效能的情況下,有效地減少在大容
量之固態硬碟機中之揮發性記憶體之大小,使得大容量之固態硬碟機之製造成本得以大幅降低。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (10)
- 一種儲存裝置,包括:一非揮發性記憶體;一揮發性記憶體,用以記錄該非揮發性記憶體之部份儲存空間之一區域資料映射表;以及一記憶體控制器,用以與一主控端相連接,並控制該非揮發性記憶體及該揮發性記憶體之存取,其中,該記憶體控制器係對儲存於該非揮發性記憶體中之各檔案指派相應的一優先權程度,並依據各檔案所相應的該優先權程度將具有最高優先權程度之檔案所相應之資料映射關係建立該區域映射表。
- 如申請專利範圍第1項所述之儲存裝置,其中當該主控端係透過該記憶體控制器以指派儲存於該非揮發性記憶體中之各檔案相應的該優先權程度。
- 如申請專利範圍第2項所述之儲存裝置,其中該主控端之系統資料係具有一最高優先權程度。
- 如申請專利範圍第1項所述之儲存裝置,其中該非揮發性記憶體係儲存一全域資料映射表,對應於該非揮發性記憶體的所有儲存空間,且該區域資料映射表之大小係小於該全域資料映射表。
- 如申請專利範圍第4項所述之儲存裝置,其中當該主控端欲透過該記憶體控制器讀取該非揮發性記憶體中之資料時,該記憶體控制器係判斷欲讀取之資料所相應之資料映射關係是否儲存於該區域資料映射表, 若是,該記憶體控制器係依據該區域資料映射表中之欲讀取之資料所相應之資料映射關係直接從該非揮發性記憶體中讀取資料;若否,該記憶體控制器係查詢該非揮發性記憶體之該全域資料映射表以取得欲讀取之資料所相應的資料映射關係,並依據所取得的該資料映射關係從該非揮發性記憶體中讀取資料。
- 一種資料映射方法,用於一儲存裝置,其中該儲存裝置包括:一非揮發性記憶體、一揮發性記憶體、以及一記憶體控制器,該方法包括:將該儲存裝置與一主控端相連接;利用該揮發性記憶體記錄該非揮發性記憶體之部份儲存空間之一區域資料映射表;利用該記憶體控制器對儲存於該非揮發性記憶體中之各檔案指派相應的一優先權程度;以及利用該記憶體控制器依據各檔案所相應的該優先權程度將具有最高優先權程度之檔案所相應之資料映射關係建立該區域映射表。
- 如申請專利範圍第6項所述之資料映射方法,其中該主控端係透過該記憶體控制器以指派儲存於該非揮發性記憶體中之各檔案相應的該優先權程度。
- 如申請專利範圍第7項所述之資料映射方法,其中該主控端之系統資料係具有一最高優先權程度。
- 如申請專利範圍第6項所述之資料映射方法,其中該非揮發性記憶體係儲存一全域資料映射表,對應於該非揮發性記 憶體的所有儲存空間,且該區域資料映射表之大小係小於該全域資料映射表。
- 如申請專利範圍第9項所述之資料映射方法,更包括:當該主控端欲透過該記憶體控制器讀取該非揮發性記憶體中之資料時,利用該記憶體控制器判斷欲讀取之資料所相應之資料映射關係是否儲存於該區域資料映射表;若是,利用該記憶體控制器係依據該區域資料映射表中之欲讀取之資料所相應之資料映射關係直接從該非揮發性記憶體中讀取資料;以及若否,利用該記憶體控制器係查詢該非揮發性記憶體之該全域資料映射表以取得欲讀取之資料所相應的資料映射關係,並依據所取得的該資料映射關係從該非揮發性記憶體中讀取資料。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105128735A TWI616755B (zh) | 2016-09-06 | 2016-09-06 | 儲存裝置及其資料映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105128735A TWI616755B (zh) | 2016-09-06 | 2016-09-06 | 儲存裝置及其資料映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI616755B true TWI616755B (zh) | 2018-03-01 |
TW201812600A TW201812600A (zh) | 2018-04-01 |
Family
ID=62189245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105128735A TWI616755B (zh) | 2016-09-06 | 2016-09-06 | 儲存裝置及其資料映射方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI616755B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238158A (zh) * | 2021-12-17 | 2022-03-25 | 合肥沛睿微电子股份有限公司 | 数据存储管理方法和存储装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100593217C (zh) * | 2003-10-08 | 2010-03-03 | 三星电子株式会社 | 闪速存储器控制装置、存储器管理方法、及存储器芯片 |
TW201301030A (zh) * | 2011-05-17 | 2013-01-01 | Sandisk Technologies Inc | 在一記憶體裝置中減少次要位址表檢查之快速轉譯指示器 |
TW201500923A (zh) * | 2013-06-20 | 2015-01-01 | Silicon Motion Inc | 資料儲存裝置及用於快閃記憶體之資料讀取方法 |
US9383927B2 (en) * | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
-
2016
- 2016-09-06 TW TW105128735A patent/TWI616755B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100593217C (zh) * | 2003-10-08 | 2010-03-03 | 三星电子株式会社 | 闪速存储器控制装置、存储器管理方法、及存储器芯片 |
TW201301030A (zh) * | 2011-05-17 | 2013-01-01 | Sandisk Technologies Inc | 在一記憶體裝置中減少次要位址表檢查之快速轉譯指示器 |
TW201500923A (zh) * | 2013-06-20 | 2015-01-01 | Silicon Motion Inc | 資料儲存裝置及用於快閃記憶體之資料讀取方法 |
US9383927B2 (en) * | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
Also Published As
Publication number | Publication date |
---|---|
TW201812600A (zh) | 2018-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100923990B1 (ko) | 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템 | |
US10977171B2 (en) | Method for creating multi-namespace and accessing data therein | |
TWI567554B (zh) | 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置 | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
JP2009048613A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
TW201732597A (zh) | 資料儲存裝置和其操作方法 | |
JP2012515954A (ja) | 論理アドレスオフセット | |
KR102585883B1 (ko) | 메모리 시스템의 동작 방법 및 메모리 시스템 | |
US11620066B2 (en) | Storage device with expandible logical address space and operating method thereof | |
US20150234595A1 (en) | Storage device | |
JP2010146326A (ja) | 記憶装置、その制御方法及びその記憶装置を用いた電子装置 | |
TW201715401A (zh) | 資料儲存設備及其操作方法 | |
TW201918869A (zh) | 資料儲存裝置及其操作方法 | |
US11347420B2 (en) | Attribute mapping in multiprotocol devices | |
TWI664568B (zh) | 資料儲存裝置之操作方法 | |
US9946463B2 (en) | Compression of indirection tables | |
TWI749903B (zh) | 快閃記憶體控制器、記憶體裝置以及存取快閃記憶體模組之方法 | |
TWI616755B (zh) | 儲存裝置及其資料映射方法 | |
TWI601141B (zh) | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 | |
CN111352865B (zh) | 存储控制器的写缓存 | |
CN110515861B (zh) | 处理刷写命令的存储设备及其方法 | |
WO2019148757A1 (zh) | 非易失随机访问存储器及其提供方法 | |
CN110865945A (zh) | 存储设备的扩展地址空间 | |
TW202314471A (zh) | 儲存裝置及其操作方法 | |
CN107807786B (zh) | 存储装置及其资料映射方法 |