TW202101229A - 資料儲存裝置與資料處理方法 - Google Patents
資料儲存裝置與資料處理方法 Download PDFInfo
- Publication number
- TW202101229A TW202101229A TW108120838A TW108120838A TW202101229A TW 202101229 A TW202101229 A TW 202101229A TW 108120838 A TW108120838 A TW 108120838A TW 108120838 A TW108120838 A TW 108120838A TW 202101229 A TW202101229 A TW 202101229A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- host device
- file system
- write
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種資料儲存裝置,包括一記憶體裝置以及一記憶體控制器。記憶體裝置包括複數記憶體區塊。記憶體控制器耦接記憶體裝置,用以存取記憶體裝置。記憶體控制器配置一第一既定記憶體區塊與一第二既定記憶體區塊作為緩存器用以自一主機裝置接收資料。記憶體控制器根據自主機裝置接收之一寫入指令所對應之一或多個寫入位址決定使用第一既定記憶體區塊或第二既定記憶體區塊接收資料。當一或多個寫入位址指示出主機裝置所欲寫入之資料為主機裝置之一檔案系統之管理資料時,記憶體控制器將資料寫入第一既定記憶體區塊,當一或多個寫入位址指示出主機裝置所欲寫入之資料並非主機裝置之檔案系統之管理資料時,記憶體控制器將資料寫入第二既定記憶體區塊。
Description
本發明係有關於適用於一資料儲存裝置之一種資料處理方法,可有效率地處理記憶體裝置所儲存之資料,以提升記憶體裝置之效能。
隨著資料儲存裝置的科技在近幾年快速地成長,許多資料儲存裝置,如符合SD/MMC規格、CF規格、MS規格與XD規格的記憶卡、固態硬碟、嵌入式多媒體記憶卡(embedded Multi Media Card,縮寫為eMMC)以及通用快閃記憶體儲存(Universal Flash Storage,縮寫為UFS)已經廣泛地被應用在多種用途上。因此,在這些資料儲存裝置上,有效率的存取控制也變成一個重要的議題。
為了提高資料儲存裝置的存取效能,本發明提出一種新的資料處理方法,可有效率地處理記憶體裝置所儲存之資料,以提升記憶體裝置之存取效能。
本發明揭露一種資料儲存裝置,包括一記憶體裝置以及一記憶體控制器。記憶體裝置包括複數記憶體區塊。記憶體控制器耦接記憶體裝置,用以存取記憶體裝置。記憶體控制器配置一第一既定記憶體區塊與一第二既定記憶體區塊作為緩存器用以自一主機裝置接收資料。記憶體控制器根據自主機裝置接收之一寫入指令所對應之一或多個寫入位址決定使用第一既定記憶體區塊或第二既定記憶體區塊接收資料。當一或多個寫入位址指示出主機裝置所欲寫入之資料為主機裝置之一檔案系統之管理資料時,記憶體控制器將資料寫入第一既定記憶體區塊,當一或多個寫入位址指示出主機裝置所欲寫入之資料並非主機裝置之檔案系統之管理資料時,記憶體控制器將資料寫入第二既定記憶體區塊。
本發明另揭露一種資料處理方法,適用於一資料儲存裝置,資料儲存裝置包括一記憶體裝置以及一記憶體控制器,記憶體裝置包括複數記憶體區塊,記憶體控制器耦接記憶體裝置,用以存取記憶體裝置,該方法包括:由記憶體控制器配置一第一既定記憶體區塊與一第二既定記憶體區塊作為緩存器用以自一主機裝置接收資料;以及由記憶體控制器根據自主機裝置接收之一寫入指令所對應之一或多個寫入位址決定使用第一既定記憶體區塊或第二既定記憶體區塊接收資料。其中由記憶體控制器根據自主機裝置接收之一寫入指令所對應之一或多個寫入位址決定使用第一既定記憶體區塊或第二既定記憶體區塊接收資料之步驟更包括:當一或多個寫入位址指示出主機裝置所欲寫入之資料為主機裝置之一檔案系統之管理資料時,將資料寫入第一既定記憶體區塊;以及當一或多個寫入位址指示出主機裝置所欲寫入之資料並非主機裝置之檔案系統之管理資料時,記憶體控制器將資料寫入第二既定記憶體區塊。
為讓本發明之目的、特徵和優點能更明顯易懂,下文特舉出本發明之具體實施例,並配合所附圖式,作詳細說明如下。應理解下列實施例之目的在於說明本發明之精神而非用以限定本發明之保護範圍。此外,應理解下列實施例可經由軟體、硬體、韌體、或上述任意組合來實現。
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置100的示意圖。資料儲存裝置100包括一記憶體裝置120,例如,一快閃記憶體(Flash Memory)模組,以及一記憶體控制器110,且記憶體控制器110用來存取(Access)記憶體裝置120。根據本發明一實施例,記憶體控制器110包含一微處理器112、一唯讀記憶體(Read Only Memory,ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對記憶體裝置120之存取。控制邏輯114包含了一編碼器132以及一解碼器134,其中編碼器132用來對寫入到記憶體裝置120中的資料進行編碼以產生對應的校驗碼(或稱,錯誤更正碼(Error Correction Code),ECC),而解碼器134用來將從記憶體裝置120所讀出的資料進行解碼。
於典型狀況下,記憶體裝置120為一快閃記憶體裝置,包含了多個快閃記憶體晶片,而每一個快閃記憶體晶片包含複數個記憶體區塊(Block),而該控制器(例如,透過微處理器112執行程式碼112C之記憶體控制器110)對記憶體裝置120進行抹除資料運作係以區塊為單位來進行。另外,一記憶體區塊可記錄(包含)特定數量的資料頁(Page),即,物理資料頁,其中該控制器(例如,透過微處理器112執行程式碼112C之記憶體控制器110)對記憶體裝置120進行寫入資料之運作係以資料頁為單位來進行寫入。
實作上,透過微處理器112執行程式碼112C之記憶體控制器110可利用其本身內部之元件來進行諸多控制運作,例如:利用控制邏輯114來控制記憶體裝置120之存取運作(尤其是對至少一區塊或至少一資料頁之存取運作)、利用緩衝記憶體116進行所需之緩衝處理、以及利用介面邏輯118來與一主機裝置(Host Device)130溝通。在一實施例中,記憶體控制器110透過介面邏輯118並使用一標準通訊協定與主機裝置130溝通。舉例而言,上述之標準通訊協定包含(但不限於):通用序列匯流排(Universal Serial Bus ,縮寫為USB)標準、安全數位(Secure Digital ,縮寫為SD)介面標準、超高速一代 (Ultra High Speed-I,縮寫為UHS-I) 介面標準、超高速二代 (Ultra High Speed-II,縮寫為UHS-II) 介面標準、複合式快閃記憶體(Compact flash,縮寫為CF)介面標準、多媒體卡(Multimedia Card,縮寫為MMC)介面標準、嵌入式多媒體卡(Embedded Multimedia Card,縮寫為eMMC)介面標準、通用快閃記憶體(Universal Flash Storage,縮寫為UFS)介面標準、高技術組態(Advanced Technology Attachment,縮寫為ATA)標準、序列高技術組態(Serial ATA,縮寫為SATA)標準、快捷外設互聯標準(Peripheral Component Interconnect Express,縮寫為PCI-E)標準、並列先進附件(Parallel Advanced Technology Attachment,縮寫為PATA)標準。
在一實施例中,緩衝記憶體116係以隨機存取記憶體(Random Access Memory,RAM)來實施。例如,緩衝記憶體116可以是靜態隨機存取記憶體(Static RAM,SRAM),但本發明不限於此。
在一實施例中,資料儲存裝置100可以是可攜式記憶體裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡),且主機裝置130為一可與資料儲存裝置連接的電子裝置,例如手機、筆記型電腦、桌上型電腦…等等。而在另一實施例中,資料儲存裝置100可以是固態硬碟或符合通用快閃記憶體儲存(Universal Flash Storage,UFS)或嵌入式多媒體記憶卡(Embedded Multi Media Card,EMMC)規格之嵌入式儲存裝置,以設置在一電子裝置中,例如設置在手機、筆記型電腦、桌上型電腦之中,而此時主機裝置130可以是該電子裝置的一處理器。
主機裝置130可對資料儲存裝置100發出指令,例如,讀取指令或寫入指令,用以存取記憶體裝置120所儲存之資料,或者進一步控制、管理資料儲存裝置100。
根據本發明之一實施例,記憶體裝置120所包含之複數個記憶體區塊中可單層式儲存(Single-Level Cell,SLC)記憶體區塊、多層式儲存(Multiple-Level Cell,MLC)記憶體區塊以及/或是三層式儲存(Triple-Level Cell,TLC)記憶體區塊。SLC記憶體區塊的每個記憶體單元中儲存一個位元資料,MLC記憶體區塊的每個記憶體單元中儲存兩個位元資料,TLC記憶體區塊的每個記憶體單元中儲存三個位元資料。
一般而言,記憶體裝置120可大體被區分為三個區域,包含系統區域、資料區域以及備用區域。記憶體控制器110可自備用區域選擇一或多個既定記憶體區塊作為快取記憶體,或稱緩存器(buffer),用以接收並暫存資料。待緩存器被寫滿時,記憶體控制器110再將作為緩存器之既定記憶體區塊更新成資料區域的資料區塊。舉例而言,若用以接收並暫存資料的緩存器為MLC或TLC記憶體區塊,待緩存器被寫滿時,可直接被更新為資料區域的資料區塊。若用以接收並暫存資料的緩存器為SLC記憶體區塊,待一定數量之緩存器被寫滿時,可透過垃圾收集(Garbage Collection)程序,將多個緩存器記憶體區塊所儲存之資料搬移至MLC或TLC記憶體區塊(目標記憶體區塊),並藉此操作將目標記憶體區塊更新為資料區域的資料區塊。
本發明係應用於使用雙緩存器之資料儲存裝置。根據本發明之一實施例,記憶體控制器110可配置一第一既定記憶體區塊與一第二既定記憶體區塊作為緩存器用以自主機裝置130接收資料。記憶體控制器110可於將資料寫入緩存器之前,執行資料分流的判斷,使得屬於主機裝置130之檔案系統之管理資料可被寫入第一既定記憶體區塊,其餘資料可被寫入第二既定記憶體區塊。
根據本發明之一實施例,記憶體控制器110可將主機裝置130寫入記憶體裝置120之資料大致區分為檔案系統之管理資料以及使用者資料,其中,檔案系統之管理資料為運作於主機裝置130之操作系統(Operating system)所使用之檔案系統之管理資料。此管理資料可為一檔案系統管理表格,檔案系統管理表格可包括複數欄位,用於記錄使用者資料的管理資訊。舉例而言,檔案系統管理表格之一欄位可用以紀錄各筆使用者資料的檔案大小以及各筆使用者資料所對應的邏輯位址範圍,其中一個檔案可有對應之一筆紀錄。舉另一例而言,檔案系統管理表格之另一欄位可用以紀錄主機系統的哪些邏輯位址已經被寫入資料,哪些邏輯位址尚未被寫入資料。根據本發明之一實施例,所述之主機系統可以是包含主機裝置130與資料儲存裝置100之一系統,亦可為進一步包含耦接至主機裝置130之一或多個周邊裝置之一系統。
一般而言,每當使用者資料有所更新時,主機裝置130也必須對應地更新檔案系統之管理資料,使得檔案系統管理表格所紀錄之資訊為最新的管理資訊。當檔案系統管理表格之任何一個欄位的內容須被更新,記憶體控制器110會將最新的檔案系統管理表格內容寫入記憶體裝置120。然而,頻繁的更新檔案系統管理表格,會導致記憶體裝置120儲存了多筆無效的檔案系統管理表格,進而導致記憶體控制器110必須啟動垃圾收集程序。
垃圾收集用於收集多個記憶體區塊中零散的有效資料至特定區塊,使只殘留無效資料的該些區塊得以被抹除為空閒的記憶體區塊。然而,垃圾收集程序在執行上通常需要相當的運算資源。因此,過度頻繁的啟動垃圾收集程序,可能導致記憶體裝置之存取效能下降。為了避免記憶體裝置之存取效能因垃圾收集程序的頻繁執行而下降,本發明提出一種新的資料處理方法,可有效率地處理記憶體裝置所儲存之資料,以提升記憶體裝置之效能。
第2圖係顯示根據本發明之一實施例所述之資料處理方法之一範例流程圖。於記憶體控制器110自主機裝置130接收到欲將資料寫入記憶體裝置120之一寫入指令時(步驟S202),記憶體控制器110進一步根據寫入指令所對應之一或多個寫入位址決定使用第一既定記憶體區塊或第二既定記憶體區塊接收資料。根據本發明之一實施例,記憶體控制器110可根據寫入指令所對應之一或多個寫入位址判斷主機裝置130所欲寫入之資料是否為主機裝置130之一檔案系統之管理資料(步驟S204)。
若是,則記憶體控制器110決定將資料寫入第一既定記憶體區塊(步驟S206)。若否,則記憶體控制器110決定將資料寫入第二既定記憶體區塊(步驟S208)。如此一來,記憶體控制器110可於將資料寫入緩存器之前,將資料分流,使得檔案系統之管理資料可被集中於一記憶體區塊,其餘資料可被集中於另一記憶體區塊。根據本發明之一實施例,由於檔案系統之管理資料被集中於同一記憶體區塊,例如,上述之第一既定記憶體區塊,或者於第一既定記憶體區塊被寫滿時,直接將第一既定記憶體區塊更新而成的資料區域的資料區塊,或者用以收集第一既定記憶體區塊所儲存之資料之一目標記憶體區塊(其亦可為資料區域的資料區塊),當此記憶體區塊內所儲存之內容均為無效時,記憶體控制器110便可直接捨棄此記憶體區塊,而無須對此記憶體區塊執行垃圾收集程序,藉此可大幅提升記憶體裝置之效能。
根據本發明之一實施例,寫入指令所對應之一或多個寫入位址為邏輯位址。例如,邏輯區塊位址(Logical Block Address,縮寫為LBA),或是以其他形式所記錄之主機系統之邏輯資料頁之邏輯位址。
根據本發明之一實施例,記憶體控制器110可設定一既定數值,用於判斷主機裝置130所欲寫入之資料是否為主機裝置130之一檔案系統之管理資料。於步驟S204中,記憶體控制器110可判斷寫入位址所對應之一數值是否小於此既定數值。一般而言,主機裝置130可將數值較小的邏輯位址(例如,自邏輯位址之起始端開始)分配給檔案系統之管理資料使用。因此,根據本發明之一實施例,當一寫入位址所對應之一數值(例如,邏輯位址)小於既定數值時,記憶體控制器110可判斷主機裝置130所欲寫入之資料為主機裝置130之檔案系統之管理資料。反之,當寫入位址所對應之數值(例如,邏輯位址)不小於此既定數值時,記憶體控制器110可判斷主機裝置130所欲寫入之資料為使用者資料。
值得注意的是,於本發明之實施例中,主機裝置130並不限於將數值較小的邏輯位址分配給檔案系統之管理資料使用。舉例而言,主機裝置130亦可將數值較大的邏輯位址(例如,自邏輯位址最末端開始)分配給檔案系統之管理資料使用。因此,本發明並不限於上述的判斷方法。
根據本發明之另一實施例,主機裝置130可設定一特定邏輯位址範圍,將此特定邏輯位址範圍內的邏輯位址分配給檔案系統之管理資料使用。因此,根據本發明之一實施例,當一寫入位址所對應之一數值(例如,邏輯位址)落入此特定邏輯位址範圍,或者,當一寫入位址屬於主機裝置130所配置用以儲存檔案系統之管理資料之一邏輯位址範圍內時,記憶體控制器110可判斷主機裝置130所欲寫入之資料為主機裝置130之檔案系統之管理資料。反之,當寫入位址所對應之數值(例如,邏輯位址)並未落入此特定邏輯位址範圍時,記憶體控制器110可判斷主機裝置130所欲寫入之資料為使用者資料。
根據本發明之一實施例,主機裝置130可藉由多種方式通知記憶體控制器110其所配置給檔案系統之管理資料的邏輯位址,或邏輯位址範圍。如上所述,記憶體控制器110可透過介面邏輯118與主機裝置130溝通。
第3圖係顯示根據本發明之一實施例所述之根據寫入位址執行資料分流之一範例。第4圖係顯示根據本發明之一實施例所述之根據寫入位址執行資料分流之另一範例。於此實施例中,記憶體控制器110可將既定數值設定為10000。如第3圖所示,當記憶體控制器110判斷寫入位址(邏輯位址)小於既定數值10000時,使用第一既定記憶體區塊Block_1接收資料,使得檔案系統之管理資料可被寫入第一既定記憶體區塊Block_1。另一方面,如第4圖所示,當記憶體控制器110判斷寫入位址(邏輯位址)不小於既定數值10000時,使用第二既定記憶體區塊Block_2接收資料,使得其他非檔案系統之管理資料的資料可被寫入第二既定記憶體區塊Block_2。
根據本發明之一實施例,當記憶體控制器110選擇既定記憶體區塊作為接收資料使用之緩存器時,記憶體控制器110可選擇以SLC模式或MLC模式抹除所選擇之既定記憶體區塊內的資料。當記憶體控制器110根據SLC模式抹除既定記憶體區塊時,該既定記憶體區塊便會被配置為SLC記憶體區塊。同樣地,當記憶體控制器110根據MLC模式抹除既定記憶體區塊時,該既定記憶體區塊便會被配置為MLC記憶體區塊。根據本發明之一實施例,記憶體控制器110可將用以接收檔案系統之管理資料的記憶體區塊配置為SLC記憶體區塊,並且可將用以接收其他資料的記憶體區塊配置為MLC記憶體區塊。
由於檔案系統之管理資訊為重要的資訊,因此,選擇以SLC記憶體區塊接收檔案系統之管理資訊可確保資料的正確性。此外,由於將資料寫入SLC記憶體區塊之速度會比將資料寫入MLC記憶體區塊之速度來的快,使用SLC記憶體區塊作為緩存器亦可有效加速記憶體裝置120的寫入操作。然而,本發明實際上並不限於此。記憶體控制器110亦可將用以接收檔案系統之管理資料的記憶體區塊配置為MLC記憶體區塊,或者將用以接收其他資料的記憶體區塊配置為SLC記憶體區塊,或者將上述第一既定記憶體區塊與第二既定記憶體區塊均配置為SLC記憶體區塊,或者均配置為MLC記憶體區塊。
此外,本發明實際上並不限於應用於使用雙緩存器之資料儲存裝置。資料儲存裝置亦可使用兩個以上緩存器,而其中的至少一個緩存器可被配置用以接收檔案系統之管理資料,其餘緩存器可被配置用以接收其他資料。
如上述,於本發明之實施例中,在將資料寫入緩存器之前,記憶體控制器110可先執行資料分流的判斷,使得屬於主機裝置130之檔案系統之管理資料可被寫入第一既定記憶體區塊,其餘資料可被寫入第二既定記憶體區塊。由於檔案系統之管理資料被集中於同一記憶體區塊,當此記憶體區塊內所儲存之內容均為無效時,記憶體控制器110便可直接捨棄此記憶體區塊,而無須對此記憶體區塊執行垃圾收集程序,藉此可有效避免記憶體裝置之存取效能因垃圾收集程序的頻繁執行而下降,進而大幅提升記憶體裝置之效能。
申請專利範圍中用以修飾元件之“第一”、“第二”等序數詞之使用本身未暗示任何優先權、優先次序、各元件之間之先後次序、或方法所執行之步驟之次序,而僅用作標識來區分具有相同名稱(具有不同序數詞)之不同元件。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112M:唯讀記憶體
112C:程式碼
114:控制邏輯
116:緩衝記憶體
118:介面邏輯
120:記憶體裝置
130:主機裝置
132:編碼器
134:解碼器
Block_1、Bock_2:記憶體區塊
第1圖係顯示根據本發明之一實施例所述之資料儲存裝置的示意圖。
第2圖係顯示根據本發明之一實施例所述之資料處理方法之一範例流程圖。
第3圖係顯示根據本發明之一實施例所述之根據寫入位址執行資料分流之一範例。
第4圖係顯示根據本發明之一實施例所述之根據寫入位址執行資料分流之另一範例。
100:資料儲存裝置
110:記憶體控制器
112:微處理器
112M:唯讀記憶體
112C:程式碼
114:控制邏輯
116:緩衝記憶體
118:介面邏輯
120:記憶體裝置
130:主機裝置
132:編碼器
134:解碼器
Claims (12)
- 一種資料儲存裝置,包括: 一記憶體裝置,包括複數記憶體區塊;以及 一記憶體控制器,耦接該記憶體裝置,用以存取該記憶體裝置,其中該記憶體控制器配置一第一既定記憶體區塊與一第二既定記憶體區塊作為緩存器用以自一主機裝置接收資料, 其中該記憶體控制器根據自該主機裝置接收之一寫入指令所對應之一或多個寫入位址決定使用該第一既定記憶體區塊或該第二既定記憶體區塊接收資料, 其中當該一或多個寫入位址指示出該主機裝置所欲寫入之資料為該主機裝置之一檔案系統之管理資料時,該記憶體控制器將該資料寫入該第一既定記憶體區塊,當該一或多個寫入位址指示出該主機裝置所欲寫入之資料並非該主機裝置之該檔案系統之該管理資料時,該記憶體控制器將該資料寫入該第二既定記憶體區塊。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該一或多個寫入位址為邏輯位址。
- 如申請專利範圍第1項所述之資料儲存裝置,其中當一寫入位址所對應之一數值小於一既定數值時,該記憶體控制器判斷該主機裝置所欲寫入之資料為該主機裝置之該檔案系統之該管理資料。
- 如申請專利範圍第1項所述之資料儲存裝置,其中當一寫入位址屬於該主機裝置所配置用以儲存該檔案系統之該管理資料之一邏輯位址範圍內時,該記憶體控制器判斷該主機裝置所欲寫入之資料為該主機裝置之該檔案系統之該管理資料。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該檔案系統之該管理資料為一檔案系統管理表格。
- 如申請專利範圍第1項所述之資料儲存裝置,其中該記憶體裝置為一快閃記憶體裝置。
- 一種資料處理方法,適用於一資料儲存裝置,該資料儲存裝置包括一記憶體裝置以及一記憶體控制器,該記憶體裝置包括複數記憶體區塊,各記憶體區塊包括複數物理資料頁,該記憶體控制器耦接該記憶體裝置,用以存取該記憶體裝置,該方法包括: 由該記憶體控制器配置一第一既定記憶體區塊與一第二既定記憶體區塊作為緩存器用以自一主機裝置接收資料;以及 由該記憶體控制器根據自該主機裝置接收之一寫入指令所對應之一或多個寫入位址決定使用該第一既定記憶體區塊或該第二既定記憶體區塊接收資料, 其中由該記憶體控制器根據自該主機裝置接收之一寫入指令所對應之一或多個寫入位址決定使用該第一既定記憶體區塊或該第二既定記憶體區塊接收資料之步驟更包括: 當該一或多個寫入位址指示出該主機裝置所欲寫入之資料為該主機裝置之一檔案系統之管理資料時,將該資料寫入該第一既定記憶體區塊;以及 當該一或多個寫入位址指示出該主機裝置所欲寫入之資料並非該主機裝置之該檔案系統之該管理資料時,該記憶體控制器將該資料寫入該第二既定記憶體區塊。
- 如申請專利範圍第7項所述之方法,其中該一或多個寫入位址為邏輯位址。
- 如申請專利範圍第7項所述之方法,其中當一寫入位址所對應之一數值小於一既定數值時,該主機裝置所欲寫入之資料被判斷為該主機裝置之該檔案系統之該管理資料。
- 如申請專利範圍第7項所述之方法,其中當一寫入位址屬於該主機裝置所配置用以儲存該檔案系統之該管理資料之一邏輯位址範圍內時,該主機裝置所欲寫入之資料被判斷為該主機裝置之該檔案系統之該管理資料。
- 如申請專利範圍第7項所述之方法,其中該檔案系統之該管理資料為一檔案系統管理表格。
- 如申請專利範圍第7項所述之方法,其中該記憶體裝置為一快閃記憶體裝置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108120838A TWI697778B (zh) | 2019-06-17 | 2019-06-17 | 資料儲存裝置與資料處理方法 |
US16/849,333 US11307786B2 (en) | 2019-06-17 | 2020-04-15 | Data storage devices and data processing methods |
CN202010310087.8A CN112099731B (zh) | 2019-06-17 | 2020-04-20 | 数据储存装置与数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108120838A TWI697778B (zh) | 2019-06-17 | 2019-06-17 | 資料儲存裝置與資料處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI697778B TWI697778B (zh) | 2020-07-01 |
TW202101229A true TW202101229A (zh) | 2021-01-01 |
Family
ID=72602028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108120838A TWI697778B (zh) | 2019-06-17 | 2019-06-17 | 資料儲存裝置與資料處理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11307786B2 (zh) |
CN (1) | CN112099731B (zh) |
TW (1) | TWI697778B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI787627B (zh) * | 2020-07-02 | 2022-12-21 | 慧榮科技股份有限公司 | 電子裝置、快閃記憶體控制器及其存取方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4722704B2 (ja) * | 2003-10-31 | 2011-07-13 | パナソニック株式会社 | 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法 |
WO2005103903A1 (ja) * | 2004-04-20 | 2005-11-03 | Matsushita Electric Industrial Co., Ltd. | 不揮発性記憶システム |
WO2005124530A2 (en) * | 2004-06-21 | 2005-12-29 | Kabushiki Kaisha Toshiba | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
US20060184718A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct file data programming and deletion in flash memories |
US20060184719A1 (en) * | 2005-02-16 | 2006-08-17 | Sinclair Alan W | Direct data file storage implementation techniques in flash memories |
CN101425338B (zh) * | 2007-10-29 | 2011-05-18 | 群联电子股份有限公司 | 非易失性存储器的写入方法及使用此方法的控制器 |
CN101625897B (zh) * | 2008-07-11 | 2012-05-30 | 群联电子股份有限公司 | 用于快闪存储器的数据写入方法、储存***与控制器 |
TWI403897B (zh) * | 2009-07-30 | 2013-08-01 | Silicon Motion Inc | 記憶裝置及其資料管理方法 |
CN102163131B (zh) * | 2010-02-24 | 2013-03-06 | 慧荣科技股份有限公司 | 闪存的数据存取方法以及闪存装置 |
US8533505B2 (en) * | 2010-03-01 | 2013-09-10 | Arm Limited | Data processing apparatus and method for transferring workload between source and destination processing circuitry |
US9176864B2 (en) * | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
CN104978149A (zh) * | 2014-04-11 | 2015-10-14 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器存储装置 |
WO2016097807A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Cache replacement policy that considers memory access type |
WO2016097812A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
KR20170051563A (ko) * | 2015-10-29 | 2017-05-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN106776376B (zh) * | 2015-11-24 | 2019-08-06 | 群联电子股份有限公司 | 缓冲存储器管理方法、存储器控制电路单元及存储装置 |
CN109117383B (zh) * | 2017-06-25 | 2022-09-20 | 慧荣科技股份有限公司 | 管理闪存模块的方法和闪存控制器 |
TWI657339B (zh) * | 2017-06-25 | 2019-04-21 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 |
US10394456B2 (en) * | 2017-08-23 | 2019-08-27 | Micron Technology, Inc. | On demand memory page size |
-
2019
- 2019-06-17 TW TW108120838A patent/TWI697778B/zh active
-
2020
- 2020-04-15 US US16/849,333 patent/US11307786B2/en active Active
- 2020-04-20 CN CN202010310087.8A patent/CN112099731B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US11307786B2 (en) | 2022-04-19 |
CN112099731B (zh) | 2023-12-08 |
CN112099731A (zh) | 2020-12-18 |
TWI697778B (zh) | 2020-07-01 |
US20200393964A1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI692690B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
TWI575374B (zh) | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
US11030093B2 (en) | High efficiency garbage collection method, associated data storage device and controller thereof | |
TWI698749B (zh) | 資料儲存裝置與資料處理方法 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
TWI726314B (zh) | 資料儲存裝置與資料處理方法 | |
TWI738442B (zh) | 資料儲存裝置與資料處理方法 | |
TWI659304B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
TWI749279B (zh) | 資料儲存裝置與資料處理方法 | |
TWI697778B (zh) | 資料儲存裝置與資料處理方法 | |
TW201935232A (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
CN106055488B (zh) | 数据储存设备及其操作方法 | |
US11662940B2 (en) | Data storage device and data processing method for restoring MLC/TLC memory to avoid degradation of access performance of a memory device caused by word line short | |
TWI808010B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TWI814590B (zh) | 資料處理方法及對應之資料儲存裝置 | |
TWI760262B (zh) | 資料儲存裝置與資料處理方法 | |
US20240012564A1 (en) | Memory controller and storage device including the same | |
TWI653630B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 |