TWI805937B - 記憶體控制器與資料處理方法 - Google Patents

記憶體控制器與資料處理方法 Download PDF

Info

Publication number
TWI805937B
TWI805937B TW109125747A TW109125747A TWI805937B TW I805937 B TWI805937 B TW I805937B TW 109125747 A TW109125747 A TW 109125747A TW 109125747 A TW109125747 A TW 109125747A TW I805937 B TWI805937 B TW I805937B
Authority
TW
Taiwan
Prior art keywords
memory
information
data
processor
bits
Prior art date
Application number
TW109125747A
Other languages
English (en)
Other versions
TW202136993A (zh
Inventor
陳彥仲
魏翊庭
陳富信
錫宏 林
Original Assignee
瑞昱半導體股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 瑞昱半導體股份有限公司 filed Critical 瑞昱半導體股份有限公司
Publication of TW202136993A publication Critical patent/TW202136993A/zh
Application granted granted Critical
Publication of TWI805937B publication Critical patent/TWI805937B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種資料處理方法,包括:配置一既定記憶體空間用以記錄一記憶體裝置之有效資料之資訊,其中該資訊係用以指示出記憶體裝置之哪些邏輯記憶體空間所關聯之資料為有效的;以及根據自一主機裝置接收之複數指令更新該資訊。

Description

記憶體控制器與資料處理方法
本發明係關於一種資料處理方法,尤指一種即時記錄記憶體裝置之有效資料之資訊的資料處理方法。
使用者有時會有將電腦中舊的硬碟或固態硬碟(Solid State Drive,縮寫SSD)替換成新的硬碟或固態硬碟的需求。然而,舊的裝置內所儲存的資料通常包含了有效資料與無效資料。若直接將舊的裝置內所儲存的資料全部複製到新的裝置中,則因複製的資料量大,複製操作所花費的時間將十分冗長。此外,於複製完成後,因新的裝置儲存了大量的資料,包含了無效的資料,也會導致新的裝置的存取效率大幅降低。
為解決上述問題,本發明提出一種可提高資料複製之執行效率的資料處理方法。
本發明之一目的在於提供一種可提高資料複製之執行效率的資料處理方法,以解決上述問題。該方法之精神在於利用儲存裝置端的記憶體控制器即時記錄記憶體裝置之有效資料之資訊,並持續根據記憶體裝置的存取操作更新有效資料之資訊。於需要執行資料複製時,藉由主動提供有效資料之資訊, 使得資料複製之執行效率相較於傳統技術可為大幅提升。
根據本發明之一實施例,一種記憶體控制器,耦接至一記憶體裝置,包括一主機介面與一處理器。主機介面用以自一主機裝置接收複數指令。處理器耦接至主機介面,用以紀錄記憶體裝置之有效資料之資訊。處理器配置一既定記憶體空間用以儲存該資訊,並且根據指令更新該資訊。
根據本發明之另一實施例,一種資料處理方法,包括:配置一既定記憶體空間用以記錄一記憶體裝置之有效資料之資訊,其中該資訊係用以指示出記憶體裝置之哪些邏輯記憶體空間所關聯之資料為有效的;以及根據自一主機裝置接收之複數指令更新該資訊。
藉由記憶體控制器所提供之有效資料之資訊,主機裝置或者一特定的資料複製軟體可正確地辨識出記憶體裝置的哪些邏輯記憶體空間所關聯之資料為有效的。如此一來,資料複製可以簡單又有效率的方式執行,並可有效避免傳統技術中所遭遇之問題。
100:系統
110,510:主機裝置
120,520,530:儲存裝置
121,200:記憶體控制器
122:動態隨機存取記憶體
123:快閃記憶體
210:主機介面
220,230:記憶體介面
240:處理器
250:匯流排
260:指令緩衝記憶體
270:資料緩衝記憶體
400:既定記憶體空間
410:記憶單元
450:記憶體裝置之記憶體空間
460:邏輯記憶體空間
S302,S304:步驟
第1圖係顯示根據本發明之一實施例所述之系統方塊圖。
第2圖係顯示根據本發明之一實施例所述之記憶體控制器之範例方塊圖。
第3圖係顯示根據本發明之一實施例所述之資料處理方法流程圖。
第4圖係顯示根據本發明之一實施例所述之記憶體空間之映射示意圖。
第5圖係顯示根據本發明之一實施例所述之記憶體複製操作示意圖。
第1圖係顯示根據本發明之一實施例所述之系統方塊圖。所述之系統 可以是一資料儲存系統、一電腦系統或者一電子產品系統。系統100可包括一主機裝置110與一儲存裝置120。儲存裝置120可包括一記憶體控制器121與一或多個記憶體裝置。根據本發明之一實施例,儲存裝置120可以是設置於電子產品之中或者與電子產品連接之一固態硬碟(Solid State Drive,縮寫SSD)。記憶體控制器121可耦接至所述一或多個記憶體裝置,其中記憶體裝置可以是圖中所示之動態隨機存取記憶體(Dynamic Random Access Memory,縮寫DRAM)122與快閃記憶體(Flash memory)123,並且快閃記憶體123可包含多個快閃記憶體模組。記憶體控制器121可透過對應之介面存取DRAM 122及快閃記憶體123。記憶體控制器121也透過對應之介面與主機裝置110溝通,用以接收複數指令,並響應於指令執行對應之記憶體存取操作。
需注意的是,第1圖為一簡化的方塊圖,其中僅顯示出與本發明相關之元件。熟悉此技藝者均可理解,一電子產品系統當可包含許多未示於第1圖之元件,以實施各種對應之功能。
第2圖係顯示根據本發明之一實施例所述之記憶體控制器之範例方塊圖。記憶體控制器200可為記憶體控制器121之一種實現。記憶體控制器200可包括多個介面,例如,主機介面210、記憶體介面220與230等,記憶體控制器200透過所述介面與週邊裝置溝通。主機介面210可由一控制器實施,例如,一週邊元件快速互連(Peripheral Component Interconnect Express,縮寫PCI Express或PCI)/串行高技術組態(Serial Advanced Technology Attachment,縮寫SATA)控制器,用以控制記憶體控制器200與主機裝置110之間藉由對應之硬體介面傳遞的溝通訊號。記憶體控制器200可透過主機介面210自主機裝置110接收複數指令。記憶體介面220可由一DRAM控制器實施,用以控制記憶體控制器121/200與DRAM 122之間藉由對應之硬體介面傳遞的溝通訊號。記憶體介面230可由一快閃記憶體控制器實施,用以控制記憶體控制器121/200與快閃記憶體123之間藉由 對應之硬體介面傳遞的溝通訊號。
記憶體控制器200可更包括一處理器240、一匯流排250、一指令緩衝記憶體260與一資料緩衝記憶體270。處理器240用以透過匯流排250及前述介面與週邊裝置溝通。匯流排250可依循開放式核心協議(Open Core Protocol,縮寫OCP)運作,用以連接主機介面210、記憶體介面220與230、處理器240、指令緩衝記憶體260與資料緩衝記憶體270等裝置,使其可以相互溝通協作。指令緩衝記憶體260與資料緩衝記憶體270用以進行所需之緩衝處理,其中指令緩衝記憶體260與資料緩衝記憶體270可以隨機存取記憶體(RAM)來實施。例如,靜態隨機存取記憶體(Static RAM,縮寫SRAM),但本發明不限於此。
需注意的是,第2圖為一簡化的方塊圖,其中僅顯示出與本發明相關之元件。熟悉此技藝者均可理解,一記憶體控制器當可包含許多未示於第2圖之元件,以實施各種對應之功能。
根據本發明之一實施例,處理器240可配置一既定記憶體空間用以儲存記憶體裝置(例如,快閃記憶體123)之有效資料之資訊,並持續根據記憶體裝置的存取操作更新有效資料之資訊。由於記憶體裝置的存取操作係由記憶體控制器121/200所控制,因此,處理器240可即時地根據最新的存取操作記錄記憶體裝置之有效資料之資訊,舉例而言,處理器240可持續根據自主機裝置110接收到的指令更新有效資料之資訊。
於本發明之實施例中,有效資料之資訊係用以指示記憶體裝置(例如,快閃記憶體123)的哪些邏輯記憶體空間所關聯之資料為有效的,其中一邏輯記憶體空間所關聯之資料可為邏輯性地被儲存於該邏輯記憶體空間之資料。一般而言,記憶體裝置的儲存空間可由主機裝置110劃分為複數個邏輯記憶體空間,各邏輯記憶體空間可由邏輯區塊位址(Logical Block Address,縮寫LBA)定址,邏輯性地被儲存於一邏輯記憶體空間之資料實際上可被儲存於記憶體裝置 的一或多個實體記憶體空間。而當一邏輯記憶體空間所關聯的資料被使用者刪除時,實際被儲存於記憶體裝置的資料可能並未被刪除。
舉例而言,當使用者操作主機裝置110將邏輯記憶體空間A所儲存之檔案刪除或搬移至邏輯記憶體空間B時,邏輯記憶體空間A所儲存之檔案因前述操作轉變成無效資料。換言之,邏輯記憶體空間A所關聯之資料已為無效。然而,該檔案可能仍佔用記憶體裝置的一些實體記憶體空間而尚未真正被抹除。因此,當使用者爾後欲將記憶體裝置的所有資料(由使用者觀點所看到的所有資料)複製到另一個記憶體裝置時,該檔案可能因為仍被儲存於記憶體裝置中或者仍被紀錄為與邏輯記憶體空間A有所關聯而於整碟複製操作中一併被複製到另一個記憶體裝置,造成上述效率不佳的問題。
為解決上述問題,於本發明之實施例中,處理器240持續根據最新的存取操作記錄記憶體裝置(例如,快閃記憶體123)之有效資料之資訊。藉由有效資料之資訊,主機裝置110或者一特定的資料複製軟體可正確地辨識出記憶體裝置的哪些邏輯記憶體空間所關聯之資料為有效的。如此一來,於需要執行資料複製時,藉由主動提供有效資料之資訊給主機裝置110或特定的資料複製軟體,可使得資料複製之執行效率相較於傳統技術可為大幅提升。其中,所述之特定的資料複製軟體可為與本發明所述之記憶體控制器121/200共同開發的軟體。
第3圖係顯示根據本發明之一實施例所述之資料處理方法流程圖。資料處理方法可由記憶體控制器121/200或處理器240所執行,包含以下步驟:
步驟S302:配置一既定記憶體空間用以記錄一記憶體裝置(例如,快閃記憶體123)之有效資料之資訊。根據本發明之一實施例,記憶體控制器121/200可於DRAM 122、快閃記憶體123或其內部之記憶體裝置(例如,資料緩衝記憶體270)配置所述既定記憶體空間。若記憶體控制器121/200將所述之既定記憶體空間配置於DRAM或SRAM等揮發性記憶體,則可於斷電前將所述既定記憶體空間 所記錄的資料寫入快閃記憶體123以保存其內容。
步驟S304:根據自主機裝置接收之複數指令更新有效資料之資訊。如上述,處理器240可即時地根據接收到的指令或最新的存取操作記錄或更新有效資料之資訊。
根據本發明之一實施例,所述既定記憶體空間可包括複數記憶單元,而各記憶單元對應於記憶體裝置之一邏輯記憶體空間,而所述邏輯記憶體空間可涵蓋一或多個連續的邏輯區塊位址(LBA)。
此外,根據本發明之一實施例,有效資料之資訊可由複數位元表示,各位元對應於一記憶單元,並且記憶體控制器121/200藉由設定該等位元所對應之一數值紀錄有效資料之資訊。
第4圖為一記憶體空間之映射示意圖,用以顯示根據本發明之一實施例所述之紀錄有效資料之資訊之既定記憶體空間400與記憶體裝置(例如,快閃記憶體123)之記憶體空間450之對應關係。根據本發明之一實施例,既定記憶體空間400可包括複數記憶單元,例如,記憶單元410。於本發明之一實施例中,各記憶單元可為一個位元,而既定記憶體空間400所包含之複數記憶單元可形成一位元映像圖(bit map),用以忠實地記錄記憶體裝置的有效資料之資訊。
根據本發明之一實施例,各記憶單元或各位元可代表記憶體裝置(例如,快閃記憶體123)之記憶體空間中的一個連續的邏輯記憶空間,例如圖中所示之邏輯記憶體空間460,其中一個連續的邏輯記憶體空間460的大小可被設定為,例如,4千(Kilo,縮寫K)位元組(Byte,縮寫B),或者一個邏輯區塊位址(LBA)所定址之邏輯區塊的大小。依照不同的系統需求,一個邏輯區塊的大小可以是512位元組、1024位元組、或4K位元組。
根據本發明之一實施例,一個記憶單元可對應於多個邏輯位址,因此,記憶單元與邏輯位址之間有著一對多的關係。換言之,於本發明之實施例 中,既定記憶體空間400所記錄的資料為一壓縮的資料,記憶體控制器121/200可僅利用一個相對小的記憶體空間便可完整記錄記憶體裝置(例如,快閃記憶體123)之整個記憶體空間所對應的有效資料之資訊。
舉例而言,假設記憶體控制器121/200用一位元代表4K位元組的記憶體空間,並且假設記憶體裝置的整體容量(例如,記憶體空間450)大小為256千兆位元組(Giga byte,縮寫GB),則用以完整記錄記憶體裝置之整個記憶體空間所對應的有效資料之資訊所需的位元數為256GB/4KB=64百萬(Mega,縮寫M)位元,相當於8MB的記憶體空間。換言之,記憶體控制器121/200僅利用8MB的記憶體空間便可完整記錄256GB的記憶體空間所對應的有效資料之資訊。
根據本發明之一實施例,處理器240自主機裝置110接收到的指令可包括一寫入指令。寫入指令可包括一起始邏輯區塊位址與一長度。響應於寫入指令之接收,處理器240根據起始邏輯區塊位址與長度選擇或決定出要被更新的一或多個位元,並且將要被更新的位元所對應之數值設定為第一數值,其中,第一數值用以代表資料為有效的。或者,於本發明之另一實施例,響應於寫入指令之接收,處理器240根據起始邏輯區塊位址與長度計算出於既定記憶體空間中需因應本次寫入操作被標註的區域範圍,並且將此區域範圍標註為可代表有效資料的狀態,以表示出此區域範圍所對應之記憶體裝置的記憶體空間目前所關聯之資料為有效的。
舉例而言,假設寫入指令欲寫入的資料長度為128KB,位元映像圖中的一位元代表4KB的記憶體空間,則響應於此寫入指令,要被更新的位元數量為128K/4K=32位元。處理器240可根據起始邏輯區塊位址與寫入的資料長度決定出位元映像圖中的那些位元須被更新,並且將這些位元所對應之數值設定為第一數值。
根據本發明之一實施例,處理器240自主機裝置110接收到的指令可 包括一刪除指令或者一修改(trim)指令。刪除或修改指令可包括一起始邏輯區塊位址與一長度。響應於刪除或修改指令之接收,處理器240根據起始邏輯區塊位址與長度選擇或決定出要被更新的一或多個位元,並且將要被更新的位元所對應之數值設定為第二數值,其中,第二數值用以代表資料為無效的。或者,於本發明之另一實施例,響應於刪除或修改指令之接收,處理器240根據起始邏輯區塊位址與長度計算出於既定記憶體空間中需因應本次於刪除或修改操作被標註的區域範圍,並且將此區域範圍標註為可代表無效資料的狀態,以表示出此區域範圍所對應之記憶體裝置的記憶體空間目前所關聯之資料為無效的。
根據本發明之一實施例,根據自主機裝置110接收之指令更新有效資料的資訊的實施方式可至少包含以下兩種方法。方法一,處理器240於決定出位元映像圖中的哪些位元或既定記憶體空間中的哪個區域範圍須被更新後,讀取既定記憶體空間400的內容以得知目前這些位元或區域範圍被設定為哪個數值或狀態,並且將目前未被設定為對應之數值的位元設定為對應之數值,或者將目前未被標註為對應之狀態的區域標註為對應之狀態。舉例而言,假設處理器240決定出須被更新的位元為映像圖中的第1~8位元,而經由讀取既定記憶體空間400的內容得知這些位元目前對應的數值為11110011,其中數值1代表有效資料,數值0代表無效資料,則處理器240僅需將第5~6位元的數值修改或標註為1即可。方法二,處理器240於決定出位元映像圖中的那些位元或既定記憶體空間中的哪個區域範圍須被更新後,直接將這些位元設定為對應之數值,或者直接將此區域範圍註為對應之狀態。沿用前例,假設處理器240於決定出須被更新的位元為第1~8位元後,直接將第1~8位元所對應的數值均設定或標註為1,而無須在意第1~8位元先前被設定為哪個數值。
根據本發明之一實施例,處理器240自主機裝置110接收到的指令可更包括一記憶體複製指令,響應於記憶體複製指令之接收,處理器240可透過主 機介面210將其目前所維護之有效資料之資訊提供給主機裝置110。舉例而言,處理器240可將前述之既定記憶體空間400所儲存之內容,或前述之位元映像圖提供給主機裝置110。
第5圖係顯示根據本發明之一實施例所述之記憶體複製操作示意圖。於執行記憶體複製操作時,系統可存在三個裝置,包括主機裝置510、以及儲存裝置520與530,其中儲存裝置520可為系統中既有的儲存裝置,儲存裝置530可為新的儲存裝置,主機裝置510可藉由執行前述與本發明所述之記憶體控制器121/200共同開發的軟體執行記憶體複製操作。
首先,主機裝置510可向既有的儲存裝置520發出一記憶體複製指令。響應於記憶體複製指令,處理器240將其所維護之有效資料之資訊提供給主機裝置510。取得有效資料之資訊後,主機裝置510可根據此資訊讀取儲存裝置520內有效資料的區域。舉例而言,主機裝置510可根據被設定為第一數值的位元的索引值或其所在位置(或者,狀態被標註為有效資料的區域範圍)換算出其所對應之邏輯記憶體空間(例如,起始邏輯區塊位址與長度),並存取儲存裝置520以讀出其所儲存之有效資料。接著,主機裝置510可將有效資料根據其原先於儲存裝置520內所對應之邏輯記憶體空間寫入儲存裝置530。其中,自儲存裝置520讀取有效資料與將有效資料寫入儲存裝置530的步驟可反覆地執行,直到所有被標註為有效的資料都被複製且寫入儲存裝置530。爾後,主機裝置510可選擇性清除儲存裝置520內所儲存之資料,例如,主機裝置510可將已被複製的資料清除。值得注意的是,第5圖係顯示一簡化的操作流程,其中熟悉此技藝者均可理解,圖中所示之各操作可分別藉由一或多個指令與記憶體裝置之讀/寫/抹除等操作完成。
綜上所述,本發明所提出之資料處理方法係利用記憶體控制器持續根據最新的存取操作記錄記憶體裝置之有效資料之資訊。藉由有效資料之資 訊,主機裝置或者一特定的資料複製軟體可正確地辨識出記憶體裝置的哪些邏輯記憶體空間所關聯之資料為有效的,並且可迅速地挑選有效資料寫入新的儲存裝置。如此一來,於需要執行資料複製時,僅需提供有效資料之資訊給主機裝置或特定的資料複製軟體,便可以簡單又有效率的方式執行資料複製,並可有效避免傳統技術中所遭遇之無效的資料複製耗費系統資源與操作時間的問題,以及硬碟備份軟體因為需解析電腦作業系統所支援的檔案系統取得檔案資訊而必須於開發時考慮不同作業系統的相容性問題。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
S302,S304:步驟

Claims (7)

  1. 一種記憶體控制器,耦接至一記憶體裝置,包括:一主機介面,用以自一主機裝置接收複數指令;以及一處理器,耦接至該主機介面,用以紀錄該記憶體裝置之有效資料之資訊,其中該處理器配置一既定記憶體空間用以儲存該資訊,並且根據該等指令更新該資訊,其中該資訊係用以指示出該記憶體裝置之哪些邏輯記憶體空間所關聯之資料為有效的,並且其中該處理器更響應於一記憶體複製指令透過該主機介面將該資訊提供給該主機裝置。
  2. 如申請專利範圍第1項所述之記憶體控制器,其中該既定記憶體空間包括複數記憶單元,各記憶單元對應於該記憶體裝置之一邏輯記憶體空間。
  3. 如申請專利範圍第2項所述之記憶體控制器,其中該邏輯記憶體空間涵蓋一或多個連續的邏輯區塊位址(Logical Block Address,縮寫LBA)。
  4. 如申請專利範圍第2項所述之記憶體控制器,其中該資訊係由複數位元表示,各位元對應於一記憶單元,並且該處理器藉由設定該等位元所對應之一數值紀錄該資訊。
  5. 如申請專利範圍第4項所述之記憶體控制器,其中該等指令包括一寫入指令,該寫入指令包括一起始邏輯區塊位址與一長度,響應於該寫入指令之接收,該處理器根據該起始邏輯區塊位址與該長度選擇該等位元之一或多者,並且將該等位元之該一或多者所對應之該數值設定為一第一數值。
  6. 如申請專利範圍第4項所述之記憶體控制器,其中該等指令包括一刪除指令,該刪除指令包括一起始邏輯區塊位址與一長度,響應於該刪除指令之接收,該處理器根據該起始邏輯區塊位址與該長度選擇該等位元之一或多者,並且將該等位元之該一或多者所對應之該數值設定為一第二數值。
  7. 一種資料處理方法,包括:配置一既定記憶體空間用以記錄一記憶體裝置之有效資料之資訊;根據自一主機裝置接收之複數指令更新該資訊;以及響應於一記憶體複製指令之接收,透過一主機介面將該資訊提供給該主機裝置,其中該資訊係用以指示出該記憶體裝置之哪些邏輯記憶體空間所關聯之資料為有效的。
TW109125747A 2020-03-30 2020-07-30 記憶體控制器與資料處理方法 TWI805937B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010234589.7A CN113467697B (zh) 2020-03-30 2020-03-30 存储器控制器与数据处理方法
CN202010234589.7 2020-03-30

Publications (2)

Publication Number Publication Date
TW202136993A TW202136993A (zh) 2021-10-01
TWI805937B true TWI805937B (zh) 2023-06-21

Family

ID=77854573

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109125747A TWI805937B (zh) 2020-03-30 2020-07-30 記憶體控制器與資料處理方法

Country Status (3)

Country Link
US (1) US20210303212A1 (zh)
CN (1) CN113467697B (zh)
TW (1) TWI805937B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240256465A1 (en) * 2023-01-30 2024-08-01 Silicon Motion, Inc. Method of handling trim command in flash memory and related memory controller and storage system thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301016A (zh) * 2016-04-15 2017-10-27 西部数据科技股份有限公司 用于垃圾收集的有效性跟踪
TW201915751A (zh) * 2017-09-18 2019-04-16 大心電子(英屬維京群島)股份有限公司 資料備份方法、資料恢復方法以及儲存控制器
TW201926046A (zh) * 2017-12-05 2019-07-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TW201933101A (zh) * 2018-01-18 2019-08-16 慧榮科技股份有限公司 資料儲存裝置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318495B2 (en) * 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
KR20150017601A (ko) * 2013-08-07 2015-02-17 삼성전자주식회사 저장 시스템 및 그 동작 방법
CN107766079B (zh) * 2016-08-19 2022-03-11 北京百度网讯科技有限公司 处理器以及用于在处理器上执行指令的方法
KR102711044B1 (ko) * 2018-09-20 2024-09-27 에스케이하이닉스 주식회사 메모리 시스템에서의 유효 데이터 체크 방법 및 장치
CN111104057B (zh) * 2018-10-25 2022-03-29 华为技术有限公司 存储系统中的节点扩容方法和存储系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301016A (zh) * 2016-04-15 2017-10-27 西部数据科技股份有限公司 用于垃圾收集的有效性跟踪
TW201915751A (zh) * 2017-09-18 2019-04-16 大心電子(英屬維京群島)股份有限公司 資料備份方法、資料恢復方法以及儲存控制器
TW201926046A (zh) * 2017-12-05 2019-07-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TW201933101A (zh) * 2018-01-18 2019-08-16 慧榮科技股份有限公司 資料儲存裝置

Also Published As

Publication number Publication date
CN113467697A (zh) 2021-10-01
US20210303212A1 (en) 2021-09-30
CN113467697B (zh) 2024-08-09
TW202136993A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
US11636032B2 (en) Memory system, data storage device, user device and data management method thereof
US10891225B2 (en) Host- directed sanitization of memory
US8521949B2 (en) Data deleting method and apparatus
US8291155B2 (en) Data access method, memory controller and memory storage system
US8166233B2 (en) Garbage collection for solid state disks
US9753847B2 (en) Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8166258B2 (en) Skip operations for solid state disks
US10372619B2 (en) Data backup method, data recovery method and storage controller
US10120795B2 (en) Wear-leveling nandflash memory reading/writing method
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US10459803B2 (en) Method for management tables recovery
US9389998B2 (en) Memory formatting method, memory controller, and memory storage apparatus
WO2019160727A1 (en) Append only streams for storing data on a solid state device
KR20120045422A (ko) 메모리 시스템 및 사용자 장치 그리고 그것의 데이터 관리 방법
KR20120045421A (ko) 메모리 시스템 및 데이터 저장 장치 그리고 그것의 데이터 관리 방법
US20180232154A1 (en) Append Only Streams For Storing Data On A Solid State Device
KR20090031102A (ko) 이동식 저장 장치의 포맷 방법 및 장치
TWI805937B (zh) 記憶體控制器與資料處理方法
TWI791966B (zh) 記憶體控制器與資料處理方法
JP2005115562A (ja) フラッシュrom制御装置
CN111949212A (zh) 基于自定义开放通道ssd的文件系统及文件管理方法
WO2024060944A1 (zh) 键值存储方法及系统
CN117492658A (zh) 一种数据上电处理方法、系统、设备及计算机存储介质
KR20090113624A (ko) 솔리드 스테이트 드라이브 및 그 동작 제어방법