TW201508484A - 資料寫入方法、硬碟模組以及資料寫入系統 - Google Patents
資料寫入方法、硬碟模組以及資料寫入系統 Download PDFInfo
- Publication number
- TW201508484A TW201508484A TW102130004A TW102130004A TW201508484A TW 201508484 A TW201508484 A TW 201508484A TW 102130004 A TW102130004 A TW 102130004A TW 102130004 A TW102130004 A TW 102130004A TW 201508484 A TW201508484 A TW 201508484A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- category
- cached
- belongs
- hard disk
- 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/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/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- 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/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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
- G06F2212/2146—Solid state disk being detachable, e.g.. USB 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/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile 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/22—Employing cache memory using specific memory technology
- G06F2212/224—Disk storage
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
Abstract
一種資料寫入方法、硬碟模組以及資料寫入系統,其中資料寫入方法用於寫入資料至硬碟模組,此硬碟模組包括多個記憶體單元。資料寫入方法包括以下步驟。接收快取資料,並判斷快取資料所屬的資料類別。倘若快取資料的資料類別屬於第一類別,則將快取資料分配並寫入至記憶體單元中。倘若快取資料的資料類別屬於第二類別,則將快取資料寫入至所述記憶體單元中的其中之一。
Description
本發明是有關於一種快取技術,且特別是有關於一種資料寫入方法、硬碟模組以及資料寫入系統。
目前市面上的大量儲存裝置主要可分為以磁頭和磁片組成的傳統硬碟(Hard Driver disk,HDD)以及以記憶體(memory)組成的固態硬碟(Solid State Disk,SSD)。一般來說,由於製造傳統硬碟的成本較低,故傳統硬碟的容量普遍會大於固態硬碟。但對於資料存取速度來說,固態硬碟的資料存取速度卻可能是傳統硬碟的數倍之多。因此,越來越多的電腦系統採用固態混合硬碟(Solid State Hybrid Drive,SSHD)的混合式硬碟架構,其中是以傳統硬碟作為基本的資料儲存空間,並將固態硬碟作為快取空間(cache space)來使用。
在習知的混合式硬碟架構上,固態硬碟的記憶體通常由多個記憶體單元構成,而為了加速資料存取的速度,單一筆資料可被拆開成多筆的資料以透過各記憶體單元同時進行存取。雖然
這樣平行化的存取方式可增加讀取速度,然而,由於資料被打散而寫入至不同的記憶體單元,而每個記憶體單元僅儲存部分的資料片段,故記憶體單元會產生較多的零碎空間(fragmented space)。因此,當記憶體的儲存空間不足而需進行記憶體管理的垃圾收集(Garbage Collection)功能時,記憶體則會有高的寫入放大因子(Write Amplification Factor,WAF),進而降低固態硬碟的使用壽命。
基此,如何有效地兼顧固態硬碟的高資料存取速度與固態硬碟的使用壽命,則是相關業者在開發產品時的重要課題之一。
本發明提供一種資料寫入方法、硬碟模組以及資料寫入系統,其可依據快取資料的資料類別而提供不同的寫入方式,藉以有效地提升資料存取速度,並延長硬碟模組的使用壽命。
本發明提出一種資料寫入方法,適用於硬碟模組,其中硬碟模組包括多個記憶體單元,資料寫入方法包括以下步驟。接收快取資料,並判斷快取資料所屬的資料類別。倘若快取資料的資料類別屬於第一類別,則將快取資料分配並寫入至所述記憶體單元中。倘若快取資料的資料類別屬於第二類別,則將快取資料寫入至所述記憶體單元中的其中之一。
本發明另提出一種硬碟模組,其包括記憶體控制器以及多個記憶體單元。所述記憶體單元分別透過資料通道耦接於記憶
體控制器。其中,記憶體控制器接收快取資料,並判斷快取資料所屬的資料類別。倘若快取資料的資料類別屬於第一類別,則將快取資料分配並寫入至所述記憶體單元中。倘若快取資料的資料類別屬於第二類別,則將快取資料寫入至所述記憶體單元中的其中之一。
本發明另提出一種資料寫入系統,其包括主機以及第一硬碟模組,其中第一硬碟模組耦接於主機。第一硬碟模組包括記憶體控制器與多個記憶體單元,而所述記憶體單元分別透過資料通道耦接於記憶體控制器。其中,記憶體控制器自主機接收快取資料,並判斷快取資料所屬的資料類別。倘若快取資料的資料類別屬於第一類別,則記憶體控制器將快取資料分配並寫入至所述記憶體單元中。倘若快取資料的資料類別屬於第二類別,則記憶體控制器將快取資料寫入至所述記憶體單元中的其中之一。
基於上述,本發明的資料寫入方法、硬碟模組以及資料寫入系統,可根據快取資料的資料類別,而將快取資料分配並寫入至多個記憶體單元,或者將快取資料寫入至同一個記憶體單元,藉以有效地提升資料存取速度,並延長硬碟模組的使用壽命。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
1000、3000‧‧‧資料寫入系統
10、30‧‧‧主機
100、300A‧‧‧第一硬碟模組
110、310‧‧‧記憶體控制器
121、122、123、124、321、322、323、324‧‧‧記憶體單元
300B‧‧‧第二硬碟模組
CH1、CH2、CH3、CH4‧‧‧資料通道
S202、S204、S206、S208、S402、S404、S406、S408、S410、S412、S414‧‧‧資料寫入方法的各步驟
圖1是依照本發明一實施例所繪示的資料寫入系統方塊圖。
圖2是依照本發明一實施例所繪示的資料寫入方法流程圖。
圖3是依照本發明一實施例所繪示的資料寫入系統方塊圖。
圖4是依照本發明一實施例所繪示的資料寫入方法流程圖。
在固態混合硬碟中,普遍會將存取頻率較高的快取資料快取到固態硬碟中,以透過固態硬碟的高資料存取速度之特性來提升電腦系統整體的資料存取速度。而對於這些存取到固態硬碟中的快取資料而言,基於使用頻繁度,又可進一步做區分成效能導向(Performance Orientation)的快取資料,以及信賴度導向(Reliability Orientation)的快取資料,其中效能導向的快取資料需要較高資料存取速度。倘若固態硬碟能根據上述快取資料的資料類別,以不同的寫入方式寫入快取資料,勢必可兼顧資料存取速度以及固態硬碟的使用壽命。本發明便是基於上述觀點而提出的資料寫入方法、硬碟模組以及資料寫入系統。為了使本發明之內容更為明瞭,以下特舉實施例做為本發明確實能夠據以實施的範例。
圖1是依照本發明一實施例所繪示的資料寫入系統方塊圖。請參照圖1,資料寫入系統1000包括主機10以及第一硬碟模組100。
主機10例如是桌上型電腦、筆記型電腦、平板電腦、個
入數位助理(personal digital assistant,PDA)、手機、數位相機、遊戲機,或各種具備運算處理能力的電子裝置,在此並不限制其種類。此外,主機10具有作業系統與中央處理器(Central Processing Unit,CPU),以管理主機10的硬體及軟體資源。
第一硬碟模組100可做為儲存放置各種快取資料(cache data)的快取空間(cache space),其中第一硬碟模組100例如是以快閃記憶體(flash memory)作為儲存媒介的快閃記憶體儲存裝置,例如固態硬碟(Solid State Disk,SSD)。此外,第一硬碟模組100可設置於主機10的內部,並與主機10電性連接。或者,第一硬碟模組100也可以利用外接的方式與主機10電性連接,例如,透過通用序列匯流排(Universal Serial Bus,USB)等各式匯流排與主機10電性連接等等,本發明不對其限制。
第一硬碟模組100包括記憶體控制器110與多個記憶體單元。為了方便說明,在此以記憶體單元121、122、123及124為例,但本實施例並不限制記憶體單元的數量。
記憶體控制器110可利用嵌入式系統晶片(System On Chip,SOC)來實現,其用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機10的指令在記憶體單元121、122、123及124中進行資料的寫入、讀取與抹除等運作。在此,記憶體控制器110會根據本實施例的資料寫入方法來將資料寫入於記憶體單元121、122、123及124。此外,記憶體控制器110會維護一個邏輯轉實體位址映射表(logical to physical address
mapping table),以記錄快取資料的邏輯位址與實體位址的映射關係,而當主機10欲存取某一邏輯位址時,記憶體控制器110便可根據邏輯轉實體位址映射表,於對應的記憶體單元121、122、123及124中存取資料。
記憶體單元121、122、123及124分別例如是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體、三階記憶胞(Trinary Level Cell,TLC)NAND型快閃記憶體或其他具有相同特性的型快閃記憶體。其中,SLC NAND型快閃記憶體的每個記憶胞可儲存1個位元的資料(即,“1”與“0”),MLC NAND型快閃記憶體的每個記憶胞可儲存2個位元的資料,而TLC NAND型快閃記憶體的每個記憶胞可儲存3個位元的資料。此外,記憶體單元121、122、123及124可分別透過資料通道CH1、CH2、CH3及CH4耦接於記憶體控制器110,而每一個記憶體單元121、122、123及124具有多個實體區塊以儲存主機10所寫入之資料。所述的每一實體區塊分別具有多個實體頁面,其中屬於同一個實體區塊之實體頁面可被獨立地寫入且被同時地抹除。
在本實施例中,當第一硬碟模組100接收來自主機10的快取資料時,記憶體控制器110會判斷這個快取資料所屬的資料類別。倘若這個快取資料是屬於極為重視讀取速度(即效能導向)的快取資料時,例如windows應用程式的執行檔等,則記憶體控制器110會將這個快取資料,透過不同的資料通道CH1、CH2、
CH3及CH4寫入至不同的記憶體單元121、122、123及124,藉以發揮第一硬碟模組100的高資料存取速度的效能。另一方面,倘若這個快取資料是屬於非極度重視讀取速度(即信賴度導向)的快取資料,或此快取資料的檔案大小超過預設值(例如128KB),則記憶體控制器110會將此快取資料,透過同一個資料通道寫入至同一個記憶體單元中,藉以延長第一硬碟模組100的使用壽命而提升信賴度。
底下即搭配上述資料寫入系統1000來說明本實施例的資料寫入方法的各步驟。圖2是依照本發明一實施例所繪示的資料寫入方法流程圖。請參照圖1及圖2,於步驟S202,記憶體控制器110接收快取資料。於步驟S204,記憶體控制器110會判斷快取資料所屬的資料類別。具體而言,快取資料所屬的資料類別,會根據快取資料被寫入至記憶體單元121、122、123及124的寫入方式而被區分成第一類別或第二類別。亦即,屬於第一類別的快取資料,會被記憶體控制器110分配並寫入至記憶體單元121、122、123及124,而屬於第二類別的快取資料,會被記憶體控制器110寫入至記憶體單元121、122、123及124中的其中一個記憶體單元。在本實施例中,第一類別的快取資料例如是屬於極為重視讀取速度的效能導向的快取資料,而第二類別的快取資料例如是屬於非極度重視讀取速度的信賴度導向的快取資料。
需說明的是,主機10可設定快取資料所屬的資料類別為第一類別或第二類別,藉以設定哪一種快取資料是要被記憶體控
制器110分配並寫入至不同的記憶體單元121、122、123及124,或者被記憶體控制器110寫入至同一個記憶體單元。舉例來說,主機10可根據快取資料的檔案類型、檔案大小、使用頻率等,來設定快取資料的資料類別。例如,若快取資料為windows應用程式的執行檔等,則會被主機10設定為第一類別;若快取資料為使用者文件檔案(例如其檔案格式為*.docx、*.pdf或*.xlsx等),因所述文件檔案會被連續頻繁開啟的機率較小,故會被主機10設定為第二類別。又例如,若快取資料的檔案大小未超過128KB,則會被主機10設定為第一類別;若快取資料的檔案大小超過128KB,則會被主機10設定為第二類別。當然,主機10亦可根據使用者的設定,將屬於極為重視讀取速度的快取資料設定為第一類別,而將屬於非極度重視讀取速度的快取資設定為第二類別。上述快取資料的資料類別的設定方式為舉例說明,本實施例並不限於此。
在本實施例中,主機10可根據快取資料的檔案類型、檔案大小、使用頻率等,在快取資料的預設位元中標記不同的旗標值,藉以設定快取資料所屬的資料類別。如此一來,記憶體控制器110便可根據快取資料的預設位元中的旗標值,來判斷此快取資料所屬的資料類別是第一類別或第二類別。舉例來說,倘若主機10設定快取資料的預設位元的旗標值為第一值,例如為“0”,則記憶體控制器110會判斷快取資料所屬的資料類別為第一類別。另一方面,倘若主機10設定快取資料的預設位元的旗標值為
第二值,例如為“1”,則記憶體控制器110會判斷快取資料所屬的資料類別為第二類別。必須瞭解的是,本實施例的旗標值不限於“0”或“1”,並且,記憶體控制器110亦可根據快取資料中所標記的其他任意態樣,來判斷快取資料所屬的資料類別為第一類別或第二類別。
接著,於步驟S204,倘若記憶體控制器110判斷快取資料的資料類別屬於第一類別,則如步驟S206所示,記憶體控制器110會將快取資料分配並寫入至記憶體單元121、122、123及124中。在此,記憶體控制器110會根據邏輯轉實體位址映射表,取得快取資料的多個邏輯位址(例如,邏輯塊位址(logical block address,LBA)所對應的多個第一實體位址,其中這些第一實體位址分別屬於不同的記憶體單元121、122、123及124。並且,記憶體控制器110會將快取資料中對應於上述邏輯位址的多個資料片段,根據上述第一實體位址,藉由各資料通道CH1、CH2、CH3及CH4寫入至不同的記憶體單元121、122、123及124中。
舉例來說,底下表一為說明邏輯轉實體位址映射表的邏輯位址與第一實體位址的映射關係。請參照表一,假設快取資料中的資料片段分別對應於邏輯位址L(100)、L(101)、L(102)及L(103),且邏輯位址L(100)、L(101)、L(102)及L(103)分別映射到第一實體位址P(201)、P(301)、P(401)及P(501),其中第一實體位址P(201)、P(301)、P(401)及P(501)依序屬於記憶體單元121、122、123及124。在此,記憶體控制器110會將位於邏輯位址L(100)、
L(101)、L(102)及L(103)上的資料片段,依據第一實體位址P(201)、P(301)、P(401)及P(501),而分別寫入至記憶體單元121、122、123及124。換言之,假設快取資料的檔案大小為10MB,則記憶體控制器110可將快取資料區分為四份資料,其中每一份資料的檔案大小例如是2.5MB,或者每一份資料可具有不同的檔案大小。並且,記憶體控制器110會將這四份資料分別寫入至記憶體單元121、122、123及124中。如此一來,根據資料分配的概念,記憶體控制器110可透過各資料通道CH1、CH2、CH3及CH4,快速且平行化地將快取資料寫入至不同的記憶體單元121、122、123及124。此外,當主機10欲讀取第一硬碟模組100中的快取資料時,記憶體控制器110便可透過各資料通道CH1、CH2、CH3以及CH4,平行化地讀取分散於記憶體單元121、122、123及124的快取資料的各資料片段。藉此,記憶體控制器110可提高存取快取資料的速度。
需說明的是,在步驟S204中,本實施例並不限定將快取
資料寫入至第一硬碟模組100所具有的所有記憶體單元,亦即,只要快取資料中的資料片段可分別被寫入至第一硬碟模組100中的兩個以上的記憶體單元,皆屬於本發明之範疇。此外,為了增進存取快取資料的速度,記憶體控制器110可根據記憶體單元的數目,將快取資料平均/非平均地分配至第一硬碟模組100所具有的多個記憶體單元。
另一方面,倘若記憶體控制器110判斷快取資料的資料類別屬於第二類別,則如步驟S208所示,記憶體控制器110會將快取資料寫入至記憶體單元121、122、123及124中的其中一個記憶體單元。在此,記憶體控制器110會根據邏輯轉實體位址映射表,取得快取資料的多個邏輯位址所分別對應的多個第二實體位址,其中這些第二實體位址屬於記憶體單元121、122、123及124中的其中之一個記憶體單元(以記憶體單元P表示)。並且,記憶體控制器110會將快取資料中的多個資料片段,根據第二實體位址,寫入至記憶體單元P中。
舉例來說,底下表二為說明邏輯轉實體位址映射表的邏輯位址與第二實體位址的映射關係。請參照表二,假設快取資料中的資料片段分別對應於邏輯位址L(100)、L(101)、L(102)及L(103),且邏輯位址L(100)、L(101)、L(102)及L(103)分別映射到第二實體位址P(201)、P(202)、P(203)及P(204),其中假設第二實體位址P(201)、P(202)、P(203)及P(204)皆屬於記憶體單元121。在此,記憶體控制器110會將位於邏輯位址L(100)、L(101)、L(102)
及L(103)上的資料片段,依據第二實體位址P(201)、P(202)、P(203)及P(204),而寫入至記憶體單元121中。換言之,假設快取資料的檔案大小為10MB,則記憶體控制器110會將整個10MB的快取資料寫入至記憶體單元121。如此一來,由於寫入至同一個記憶體單元中的快取資料可連續且完整,因此對於第一硬碟模組100而言,可減少零碎空間(fragmented space)產生,並降低垃圾回收(Garbage Collection,GC)的頻率與成本。藉此,本實施例可降低第一硬碟模組100中的記憶胞的抹除次數(Erase count),並有效抑制寫入放大因子(Write Amplification Factor,WAF),進而延長第一硬碟模組100的使用壽命,且提高第一硬碟模組100的信賴度。
基於上述,記憶體控制器110可根據快取資料的資料類別,以不同的寫入方式將屬於第一類別(例如效能導向)的快取資料打散而寫入至記憶體單元121、122、123及124中,以及將屬於第二類別(例如信賴度導向)的快取資料寫入至相同的一個
記憶體單元。如此一來,當存取效能導向的快取資料時,第一硬碟模組100可提供較高的資料存取速度,而當存取信賴度導向的快取資料時,第一硬碟模組100可有效抑制寫入放大因子。藉此,本實施例可同時兼顧資料存取速度以及第一硬碟模組100的使用壽命。
圖3是依照本發明一實施例所繪示的資料寫入系統方塊圖。請參照圖3,資料寫入系統3000包括主機30、第一硬碟模組300A以及第二硬碟模組300B,其中第一硬碟模組300A的資料存取速度會高於第二硬碟模組300B。在本實施例中,主機30與第一硬碟模組300A的功能與前述實施例中的主機10與第一硬碟模組100相同或相似,故在此不再贅述。
與前述實施例不同的是,資料寫入系統3000更配置有第二硬碟模組300B。第二硬碟模組300B例如是以磁碟片作為儲存媒介的磁碟片儲存單元,例如硬碟(Hard Disk Drive,HDD)。此外,第二硬碟模組300B可與第一硬碟模組300A,整合為一個由不同資料存取速度的任兩個或兩個以上的儲存媒體組合而成的資料儲存裝置,例如是固態混合硬碟(Solid State Hybrid Drive,SSHD),以供使用者儲存各種資料。在本實施例中,由於第一硬碟模組300A的資料存取速度高於第二硬碟模組300B的資料存取速度,因此,第一硬碟模組300A可做為儲存放置各種快取資料的快取空間,而第二硬碟模組300B可做為儲存大部份資料的基本儲存空間。
底下即搭配上述資料寫入系統3000來說明本實施例的資料寫入方法的各步驟。圖4是依照本發明一實施例所繪示的資料寫入方法流程圖。請參照圖3與圖4,於步驟S402中,主機30會取得欲寫入資料的資料存取型態。其中,主機30例如是根據欲寫入資料的檔案類型、檔案大小、使用頻率或寫入指令等,藉以判斷欲寫入資料的資料存取型態,是否屬於資料存取速度較高的快取資料。於步驟S404中,主機30會根據欲寫入資料的資料型態,選擇將欲寫入資料寫入至第一硬碟模組300A或第二硬碟模組300B。倘若欲寫入資料不屬於快取資料,則如步驟S406所示,主機30會將欲寫入資料寫入至第二硬碟模組300B。在此,由於第二硬碟模組300B可提供較高的儲存容量,故可滿足使用者對儲存容量的需求。
另一方面,倘若欲寫入資料屬於快取資料,則如步驟S408所示,主機30會將欲寫入資料寫入至第一硬碟模組300A,藉以提供較高的資料存取速度。接著,於步驟S410,第一硬碟模組300A中的記憶體控制器310會判斷快取資料所屬的資料類別。並且,倘若記憶體控制器310判斷快取資料的資料類別屬於第一類別,則如步驟S412所示,記憶體控制器410會將快取資料分配並寫入至記憶體單元421、422、423及424。另一方面,倘若記憶體控制器310判斷快取資料的資料類別屬於第二類別,則如步驟S414所示,記憶體控制器410會將快取資料寫入至記憶體單元421、422、423及424中的其中一個記憶體單元。上述的步驟S408~S414與
前述實施例的步驟S202~S208相同或相似,故在此不再贅述。
在本實施例中,主機30能適當地選擇將欲寫入資料寫入至第一硬碟模組300A或第二硬碟模組300B,據此發揮不同類型之硬碟模組的優勢。此外,第一硬碟模組300A更可將所寫入的資料進一步分類,以將資料分配地寫入至第一硬碟模組300A中的不同記憶體單元421、422、423及424中或同一個記憶體單元。藉此,本實施例可同時兼顧資料存取速度以及延長第一硬碟模組300A的使用壽命。
綜上上述,在本實施例的資料寫入方法、硬碟模組以及資料寫入系統中,主機會根據欲寫入資料的資料存取型態而將快取資料寫入至以記憶體作為儲存媒介的硬碟模組。其中,硬碟模組的記憶體控制器可根據快取資料的資料類別,進一步判斷此快取資料是屬於效能導向(即第一類別)的快取資料或屬於信賴度導向(即第二類別)的快取資料。並且,記憶體控制器會利用資料分配的概念將屬於效能導向的快取資料寫入至不同的記憶體單元,而將屬於信賴度導向的快取資料循序寫入至同一個記憶體單元。如此一來,當硬碟模組存取效能導向的快取資料時,硬碟模組可提供較高的資料存取速度,而當硬碟模組存取信賴度導向的快取資料,硬碟模組可有效抑制寫入放大因子。藉此,本發明可同時兼顧資料存取速度以及硬碟模組的使用壽命。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的
精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S202、S204、S206、S208‧‧‧資料寫入方法的各步驟
Claims (16)
- 一種資料寫入方法,適用於一硬碟模組,其中該硬碟模組包括多個記憶體單元,該資料寫入方法包括:接收一快取資料;判斷該快取資料所屬的一資料類別;倘若該快取資料的該資料類別屬於一第一類別,則將該快取資料分配並寫入至該些記憶體單元中;以及倘若該快取資料的該資料類別屬於一第二類別,則將該快取資料寫入至該些記憶體單元中的其中之一。
- 如申請專利範圍第1項所述的資料寫入方法,其中在判斷該快取資料所屬的該資料類別的步驟包括:根據一旗標值,判斷該快取資料所屬的該資料類別;倘若該旗標值屬於一第一值,則判斷該快取資料屬於該第一類別;以及倘若該旗標值屬於一第二值,則判斷該快取資料屬於該第二類別。
- 如申請專利範圍第2項所述的資料寫入方法,其中該旗標值決定於該快取資料的檔案類型、檔案大小或使用頻率。
- 如申請專利範圍第1項所述的資料寫入方法,倘若該快取資料的該資料類別屬於該第一類別,則在將該快取資料分配並寫入至該些記憶體單元中的步驟包括:根據一邏輯轉實體位址映射表,取得該快取資料的多個邏輯 位址所對應的多個第一實體位址,其中該些第一實體位址屬於不同的該些記憶體單元;以及將該快取資料中的多個資料片段,根據該些第一實體位址,寫入至該些記憶體單元中。
- 如申請專利範圍第1項所述的資料寫入方法,倘若該快取資料的該資料類別屬於該第二類別,則在將該快取資料寫入至該些記憶體單元中的其中之一的步驟包括:根據一邏輯轉實體位址映射表,取得該快取資料的多個邏輯位址所對應的多個第二實體位址,其中該些第二實體位址屬於該些記憶體單元中的其中之一;以及將該快取資料中的多個資料片段,根據該些第二實體位址,寫入至該記憶體單元中。
- 一種硬碟模組,包括:一記憶體控制器;以及多個記憶體單元,該些記憶體單元分別透過一資料通道耦接於該記憶體控制器,其中該記憶體控制器接收一快取資料,並判斷該快取資料所屬的一資料類別,倘若該快取資料的該資料類別屬於一第一類別,則將該快取資料分配並寫入至該些記憶體單元中,以及倘若該快取資料的該資料類別屬於一第二類別,則將該快取資料寫入至該些記憶體單元中的其中之一。
- 如申請專利範圍第6項所述的硬碟模組,該記憶體控制器根據一旗標值,判斷該快取資料所屬的該資料類別,倘若該旗標 值屬於第一值,則該記憶體控制器判斷該快取資料屬於該第一類別,以及倘若該旗標值屬於第二值,則該記憶體控制器判斷該快取資料屬於該第二類別。
- 如申請專利範圍第7項所述的硬碟模組,其中該旗標值決定於該快取資料的檔案類型、檔案大小、使用頻率或一預設值。
- 如申請專利範圍第6項所述的硬碟模組,倘若該快取資料的該資料類別屬於該第一類別,則該記憶體控制器根據一邏輯轉實體位址映射表,取得該快取資料的多個邏輯位址所對應的多個第一實體位址,其中該些第一實體位址屬於不同的該些記憶體單元,以及該記憶體控制器將該快取資料中的多個資料片段,根據該些第一實體位址,寫入至該些記憶體單元中。
- 如申請專利範圍第6項所述的硬碟模組,倘若該快取資料的該資料類別屬於該第二類別,則該記憶體控制器根據一邏輯轉實體位址映射表,取得該快取資料的多個邏輯位址所對應的多個第二實體位址,其中該些第二實體位址屬於該些記憶體單元中的其中之一,以及該記憶體控制器將該快取資料中的多個資料片段,根據該些第二實體位址,寫入至該記憶體單元中。
- 一種資料寫入系統,包括:一主機;以及一第一硬碟模組,耦接於該主機,該第一硬碟模組包括一記憶體控制器與多個記憶體單元,而該些記憶體單元分別透過一資料通道耦接於該記憶體控制器,其中該記憶體控制器自該主機接 收一快取資料,並判斷該快取資料所屬的一資料類別,倘若該快取資料的該資料類別屬於一第一類別,則該記憶體控制器將該快取資料分配並寫入至該些記憶體單元中,以及倘若該快取資料的該資料類別屬於一第二類別,則該記憶體控制器將該快取資料寫入至該些記憶體單元中的其中之一。
- 如申請專利範圍第11項所述的資料寫入系統,其中該記憶體控制器根據一旗標值,判斷該快取資料所屬的該資料類別,倘若該旗標值屬於一第一值,則該記憶體控制器判斷該快取資料屬於該第一類別,以及倘若該旗標值屬於一第二值,則該記憶體控制器判斷該快取資料屬於該第二類別。
- 如申請專利範圍第12項所述的資料寫入系統,其中該旗標值決定於該快取資料的檔案類型、檔案大小、使用頻率或一預設值。
- 如申請專利範圍第11項所述的資料寫入系統,倘若該快取資料的該資料類別屬於該第一類別,則該記憶體控制器根據一邏輯轉實體位址映射表,取得該快取資料的多個邏輯位址所對應的多個第一實體位址,其中該些第一實體位址屬於不同的該些記憶體單元,以及該記憶體控制器將該快取資料中的多個資料片段,根據該些第一實體位址,寫入至該些記憶體單元中。
- 如申請專利範圍第11項所述的資料寫入系統,倘若該快取資料的該資料類別屬於該第二類別,則該記憶體控制器根據一邏輯轉實體位址映射表,取得該快取資料的多個邏輯位址所對應 的多個第二實體位址,其中該些第二實體位址屬於該些記憶體單元中的其中之一,以及該記憶體控制器將該快取資料中的多個資料片段,根據該些第二實體位址,寫入至該記憶體單元中。
- 如申請專利範圍第11項所述的資料寫入系統,更包括:一第二硬碟模組,耦接於該主機,而該第一硬碟模組的一資料存取速度高於該第二硬碟模組,其中該主機判斷一欲寫入資料的資料存取型態是否屬於該快取資料,倘若該欲寫入資料屬於該快取資料,則該主機將該欲寫入資料寫入至該第一硬碟模組,倘若該欲寫入資料不屬於該快取資料,則該主機將該欲寫入資料寫入至該第二硬碟模組。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102130004A TW201508484A (zh) | 2013-08-22 | 2013-08-22 | 資料寫入方法、硬碟模組以及資料寫入系統 |
US14/295,359 US9372802B2 (en) | 2013-08-22 | 2014-06-04 | Data writing method, hard disc module, and data writing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102130004A TW201508484A (zh) | 2013-08-22 | 2013-08-22 | 資料寫入方法、硬碟模組以及資料寫入系統 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201508484A true TW201508484A (zh) | 2015-03-01 |
Family
ID=52481445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102130004A TW201508484A (zh) | 2013-08-22 | 2013-08-22 | 資料寫入方法、硬碟模組以及資料寫入系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9372802B2 (zh) |
TW (1) | TW201508484A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI559139B (zh) * | 2015-09-15 | 2016-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
CN112445427A (zh) * | 2020-10-23 | 2021-03-05 | 苏州浪潮智能科技有限公司 | 一种处理快取服务器资料的方法、系统、设备及介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015154818A (ja) * | 2014-02-20 | 2015-08-27 | 任天堂株式会社 | 据置型のゲーム装置、ゲーム装置、ゲームシステム、コンピュータプログラム及び速度制御方法 |
US20160018998A1 (en) * | 2014-07-17 | 2016-01-21 | Sandisk Enterprise Ip Llc | Methods and Systems for Scalable Reliability Management of Non-Volatile Memory Modules |
JP2017107321A (ja) * | 2015-12-08 | 2017-06-15 | 京セラドキュメントソリューションズ株式会社 | 電子機器およびデータアクセス制御プログラム |
CN111399753B (zh) * | 2019-08-23 | 2022-08-05 | 杭州海康威视系统技术有限公司 | 写入图片的方法和装置 |
KR20210050635A (ko) * | 2019-10-28 | 2021-05-10 | 삼성전자주식회사 | 메모리 장치, 및 이를 포함하는 컴퓨터 시스템 |
US11237955B2 (en) | 2019-10-28 | 2022-02-01 | Samsung Electronics Co., Ltd. | Memory device, method of operating memory device, and computer system including memory device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3135751B2 (ja) * | 1993-07-16 | 2001-02-19 | 株式会社東芝 | データ記憶装置 |
EP2120562A4 (en) * | 2006-11-21 | 2010-01-13 | Purdue Research Foundation | METHOD AND COMPOSITIONS FOR TREATING HIV INFECTIONS |
TWI386922B (zh) | 2009-05-27 | 2013-02-21 | Can improve the efficiency of the implementation of the hard disk device and its reading and writing methods | |
US20110196900A1 (en) * | 2010-02-09 | 2011-08-11 | Alexandre Drobychev | Storage of Data In A Distributed Storage System |
JP5817558B2 (ja) * | 2012-01-27 | 2015-11-18 | 富士通株式会社 | 情報処理装置、分散処理システム、キャッシュ管理プログラムおよび分散処理方法 |
KR20140124674A (ko) * | 2013-04-17 | 2014-10-27 | 한국전자통신연구원 | 파일 수준의 데이터 분산 저장 방법 |
-
2013
- 2013-08-22 TW TW102130004A patent/TW201508484A/zh unknown
-
2014
- 2014-06-04 US US14/295,359 patent/US9372802B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI559139B (zh) * | 2015-09-15 | 2016-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US10528263B2 (en) | 2015-09-15 | 2020-01-07 | Silicon Motion, Inc. | Data storage device and data maintenance method thereof |
CN112445427A (zh) * | 2020-10-23 | 2021-03-05 | 苏州浪潮智能科技有限公司 | 一种处理快取服务器资料的方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US9372802B2 (en) | 2016-06-21 |
US20150058553A1 (en) | 2015-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6568387B2 (ja) | ストレージコントローラ及びストレージ装置 | |
TW201508484A (zh) | 資料寫入方法、硬碟模組以及資料寫入系統 | |
JP5907255B2 (ja) | Lsb及びmsbページにおける選択的データ記憶 | |
KR101989018B1 (ko) | 데이터 저장 장치의 동작 방법 | |
WO2019080688A1 (zh) | 数据写入方法和存储设备 | |
US20160062885A1 (en) | Garbage collection method for nonvolatile memory device | |
TWI397912B (zh) | 調整存取效能的快閃記憶體儲存裝置 | |
US20100287333A1 (en) | Data storage device and related method of operation | |
US8090900B2 (en) | Storage device and data management method | |
US20130080689A1 (en) | Data storage device and related data management method | |
JP2013242908A (ja) | ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法 | |
CN106681932B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
KR20100100394A (ko) | 반도체 디스크 장치 그리고 그것의 데이터 기록 및 읽기 방법 | |
TWI584189B (zh) | 記憶體控制器、記憶體儲存裝置與資料寫入方法 | |
TWI650639B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW201403319A (zh) | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 | |
TW202314471A (zh) | 儲存裝置及其操作方法 | |
US20100023677A1 (en) | Solid state storage system that evenly allocates data writing/erasing operations among blocks and method of controlling the same | |
TWI635495B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR101517183B1 (ko) | 데이터 저장 장치 및 그것의 데이터 저장 방법 | |
CN104423892A (zh) | 数据写入方法、磁盘模块以及数据写入系统 | |
TWI754396B (zh) | 快閃記憶體的資料儲存方法及裝置以及電腦程式產品 | |
TWI760697B (zh) | 記憶體之資料整理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI818370B (zh) | 資料儲存分配方法、記憶體儲存裝置及記憶體控制電路單元 |