TW201915734A - 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 - Google Patents

用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 Download PDF

Info

Publication number
TW201915734A
TW201915734A TW107128959A TW107128959A TW201915734A TW 201915734 A TW201915734 A TW 201915734A TW 107128959 A TW107128959 A TW 107128959A TW 107128959 A TW107128959 A TW 107128959A TW 201915734 A TW201915734 A TW 201915734A
Authority
TW
Taiwan
Prior art keywords
logical
memory
physical
physical table
controller
Prior art date
Application number
TW107128959A
Other languages
English (en)
Other versions
TWI684863B (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 TW201915734A publication Critical patent/TW201915734A/zh
Application granted granted Critical
Publication of TWI684863B publication Critical patent/TWI684863B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • 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/0614Improving the reliability of storage systems
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種用於在記憶裝置中進行存取管理的方法、相關的記憶裝置及其控制器以及相關的電子裝置。該方法可包含:從主裝置接收主裝置指令和邏輯位址;進行檢查操作以取得檢查結果,以判斷是否將一邏輯-實體表從非揮發性記憶體加載到該記憶裝置的一隨機存取記憶體;其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊,且進行檢查操作以取得檢查結果包含檢查指向該邏輯-實體表的一第一邏輯-實體表索引和自該主裝置發送的一第二邏輯-實體表索引是否彼此相等;以及從該非揮發性記憶體讀取該目標資料,並將該目標資料發送至該主裝置。

Description

用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
本發明係有關於記憶體控制,尤指一種用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置。
近年來由於記憶體的技術不斷地發展,各種可攜式或非可攜式記憶裝置(例如分別符合安全數位(Secure Digital, SD)/多媒體記憶卡(Multimedia Card, MMC)、小型快速(compact flash, CF)、記憶棒(memory stick, MS)以及極度數位圖像(Extreme Digital-Picture Card, XD-card)規範的記憶卡或符合通用快閃記憶體儲存(Universal Flash Storage, UFS)與嵌入式多媒體記憶卡(embedded multimedia card, EMMC)的規格的嵌入式記憶裝置)被廣泛地實施於諸多應用中。因此,這些記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的反及閘(NAND)型快閃記憶體而言,其可包含單階細胞(single level cell, SLC)和多階細胞(multiple level cell, MLC)快閃記憶體。在單階細胞快閃記憶體中,用作儲存單元的每個電晶體可以具有分別用以表示邏輯值0和1的兩個電荷值中的任何一個。而多階細胞快閃記憶體中用作儲存單元的每個電晶體的儲存能力則可被充分利用,其中電晶體可由比單階細胞快閃記憶體中的電壓高的電壓驅動,並且可以利用不同的電壓位準來記錄至少兩位元(例如00, 01, 11或10)的資訊。理論上,多階細胞快閃記憶體的記錄密度可達到單階細胞快閃記憶體的記錄密度的至少兩倍,因此是NAND型快閃記憶體的製造商所偏好的。
相較於單階細胞快閃記憶體,多階細胞快閃記憶體的較低成本和較大容量意味著它更可能被採用於記憶裝置中。然而,多階細胞快閃記憶體確實存在不穩定性的問題。為了確保記憶裝置中快閃記憶體的存取控制符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料的存取。
具備上述管理機制的記憶裝置仍然有不足之處。例如,該些記憶裝置的其中之一可包含用於緩衝、管理等的隨機存取記憶體(random access memory),並且由於預算控制,該隨機存取記憶體的儲存容量通常不足。相關技術中嘗試修正該問題,但可能引入進一步的問題(例如副作用)。因此,需要具有強健的資料存取機制的新穎記憶體存取設計,以保證記憶裝置能分別在各種情況下正確操作。
本發明的一目的是提供一種用於在一記憶裝置中進行存取管理的一方法、相關的記憶裝置及其控制器和相關的電子裝置,以解決上述問題。
本發明的另一個目的是提供一種用於在一記憶裝置中進行存取管理的一方法、相關的記憶裝置及其控制器和相關的電子裝置,以確保記憶裝置能分別在各種情況下正確操作。
本發明的又一個目的是提供一種用於在一記憶裝置中進行存取管理的一方法、相關的記憶裝置及其控制器和相關的電子裝置,以在不引入相關技術問題的情況下以沒有任何副作用或不太可能引入副作用的方式解決相關技術問題。
本發明的至少一實施例提供一種用於在記憶裝置中進行存取管理的方法。記憶裝置可包含非揮發性記憶體,並且非揮發性記憶體可包含至少一非揮發性記憶體元件(例如,一個或多個非揮發性記憶體元件)。該方法可包含:從一主裝置(host device)接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址;依據用以從該非揮發性記憶體存取對應該邏輯位址之目標資料的該請求,進行至少一檢查操作以取得至少一檢查結果,以供判斷是否將一邏輯-實體(logical-to-physical, L2P)表從該非揮發性記憶體加載(load)到該記憶裝置的一隨機存取記憶體(random access memory, RAM),其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊,且進行該至少一檢查操作以取得該至少一檢查結果包含檢查指向該邏輯-實體表的一第一邏輯-實體表索引和自該主裝置發送的一第二邏輯-實體表索引是否彼此相等;以及從該非揮發性記憶體讀取該目標資料,並將該目標資料發送至該主裝置。
除了上述方法之外,本發明還提供了一種記憶裝置,並且該記憶裝置包含一非揮發性記憶體和一控制器。該非揮發性記憶體係用以儲存資訊,其中該非揮發性記憶體可以包含至少一非揮發性記憶體元件(例如,一個或多個非揮發性記憶體元件)。該控制器耦接至該非揮發性記憶體,並且該控制器係用以控制該記憶裝置的操作。另外,該控制器包含一處理電路,其係用以根據來自一主裝置的多個主裝置指令來控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體。例如,控制器從該主裝置接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址;依據用以從該非揮發性記憶體存取對應該邏輯位址之目標資料的該請求,該控制器進行至少一檢查操作以取得至少一檢查結果,以供判斷是否將一邏輯-實體表從該非揮發性記憶體加載至該記憶裝置的一隨機存取記憶體,其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊,且在進行該至少一檢查操作以取得該至少一檢查結果的期間,該控制器檢查指向該邏輯-實體表的一第一邏輯-實體表索引和自該主裝置發送的一第二邏輯-實體表索引是否彼此相等;以及該控制器從該非揮發性記憶體讀取該目標資料,並將該目標資料發送至該主裝置。
根據某些實施例,本發明另外提供了一相關電子裝置。該電子裝置可以包含上述記憶裝置,並且可另包含:耦接至該記憶裝置的該主裝置。該主裝置可包含:至少一處理器,其中該至少一處理器係用以控制該主裝置的操作;以及耦接到該至少一處理器的一電源供應電路,其中該電源供應電路係用以提供電源予該至少一處理器和該記憶裝置。另外,該記憶裝置可提供儲存空間給該主裝置。
除了上述方法之外,本發明還提供了一種記憶裝置的一控制器,其中該記憶裝置包含該控制器和一非揮發性記憶體。該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如,一個或多個非揮發性記憶體元件)。另外,該控制器包含一處理電路,其係用以根據來自一主裝置的多個主裝置指令來控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體。例如,該控制器從該主裝置接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址;依據用以從該非揮發性記憶體存取對應該邏輯位址之目標資料的該請求,該控制器進行至少一檢查操作以取得至少一檢查結果,以供判斷是否將一邏輯-實體表從該非揮發性記憶體加載至該記憶裝置的一隨機存取記憶體,其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊,且在進行該至少一檢查操作以取得該至少一檢查結果的期間,該控制器檢查指向該邏輯-實體表的一第一邏輯-實體表索引和自該主裝置發送的一第二邏輯-實體表索引是否彼此相等;以及該控制器從該非揮發性記憶體讀取該目標資料,並將該目標資料發送至該主裝置。
本發明的方法和裝置能保證記憶裝置可分別在各種情況下正常運作。另外,本發明的方法和裝置提供了一種強大的資料存取機制。因此,可以實現各種目標,如效能優化、高安全性、預算控制等。此外,本發明的方法和裝置可以在不引入任何副作用或以不太可能引入副作用的方式解決相關技術問題。
I. 記憶體系統
第1圖係根據本發明一實施例之一電子裝置10的示意圖,其中電子裝置10可以包含一主裝置50和一記憶裝置100。主裝置50可包含至少一處理器(例如一個或多個處理器),其可統稱為處理器52,並且可另包含耦接至處理器52的一電源供應電路54,處理器52係用以控制主裝置50的運作,而電源供應電路54係用以提供電源予處理器52和記憶裝置100,並且輸出一個或多個驅動電壓至記憶裝置100。記憶裝置100可用以提供儲存空間給主裝置50,並且自主裝置50取得該一個或多個驅動電壓,用以作為記憶裝置100的電源。主裝置50的例子可包含(但不限於):一多功能行動電話、一平板電腦、一穿戴式裝置以及個人電腦(諸如桌上型電腦和筆記型電腦)。記憶裝置100的例子可包含(但不限於):一可攜式記憶裝置(例如符合SD / MMC,CF,MS或XD規範的記憶卡)、一固態硬碟(solid state drive, SSD)以及分別符合UFS和EMMC規範的各類型的記憶裝置的嵌入式記憶裝置。根據本實施例,記憶裝置100可包含一控制器諸如記憶體控制器110,並且可另包含非揮發性(non-volatile, NV)記憶體120,其中該控制器係用以控制記憶裝置100的運作並存取非揮發性記憶體120,而非揮發性記憶體120係用以儲存資訊。非揮發性記憶體120可以包含至少一非揮發性記憶體元件(例如:一個或多個非揮發性記憶體元件),諸如多個非揮發性記憶體元件122-1、122-2、...以及122-N,其中 “N” 可為大於1的正整數。例如,非揮發性記憶體120可為一快閃記憶體,並且多個非揮發性記憶體元件122-1、122-2、...和122-N可為多個快閃記憶體晶片或多個快閃記憶體晶粒,但本發明不限於此。
如第1圖所示,記憶體控制器110可包含一處理電路諸如微處理器112、一儲存器諸如唯讀記憶體(read-only memory, ROM)112M、一控制邏輯電路114、一隨機存取記憶體(random access memory, RAM)116以及一傳輸介面電路118,其中上列元件可透過匯流排彼此耦接。隨機存取記憶體 116由靜態隨機存取記憶體(Static RAM, SRAM)實現,但本發明不限於此。隨機存取記憶體 116可用以提供內部儲存空間給記憶體控制器110。舉例來說,隨機存取記憶體 116可作為用於緩衝資料的一緩衝記憶體。另外,本實施例的唯讀記憶體112M係用以儲存一程式碼112C,並且微處理器112係用以執行程式碼112C以控制快閃記憶體120的存取。需注意的是,在某些例子中,程式碼112C可儲存在隨機存取記憶體 116或任何類型的記憶體中。另外,控制邏輯電路114中的資料保護電路(未示出)可保護資料及/或進行錯誤校正,並且傳輸介面電路118可符合一特定的通訊規範(例如序列高級技術配置(Serial Advanced Technology Attachment, SATA)規範、通用匯流排(Universal Serial Bus, USB)規範、快捷周邊互連(Peripheral Component Interconnect Express, PCIE)規範、嵌入式多媒體卡(embedded Multi Media Card, eMMC)規範或通用快閃記憶體儲存(Universal Flash Storage, UFS)規範),並且可以根據該特定通訊規範進行通訊。
在本實施例中,主裝置50可以將主裝置指令和對應的邏輯位址發送到記憶體控制器110以存取記憶裝置100。記憶體控制器110接收主裝置指令和邏輯位址,並將主裝置指令轉換成記憶體操作指令(其可簡稱為操作指令),並且進一步用操作指令控制非揮發性記憶體120以對在快閃記憶體120內具有實體位址的記憶體單元(例如,資料頁)進行讀取、寫入/編程等,其中實體位址對應於邏輯位址。當記憶體控制器110對多個非揮發性記憶體元件122-1、122-2、...、和122-N中的任何一非揮發性記憶體元件122-n(其中 “n” 可為區間[1, N]中的正整數)進行一抹除操作時,揮發性記憶體元件122-n中多個區塊的至少一區塊可被抹除,其中該多個區塊的每一區塊可包含多個頁(例如資料頁),且一存取操作(例如讀取或寫入)可在一個或多個頁上進行。
II. 資料存取機制
根據某些實施例,該處理電路諸如微處理器112可用以根據來自主裝置50的多個主裝置指令來控制記憶體控制器110,以容許主裝置50透過記憶體控制器110來存取非揮發性記憶體120。記憶體控制器110可為主裝置50將資料儲存到非揮發性記憶體120中,因應來自主裝置50的一主裝置指令(例如,多個主裝置指令中的一個)讀取所儲存的資料,並且將從非揮發性記憶體120讀取的資料提供給主裝置50。為了提昇記憶裝置100的效能,主裝置50可被設計去取得記憶裝置100的某些內部資訊。主裝置50可將先前從記憶裝置100取得的內部資訊發送回記憶裝置100,以容許記憶裝置100使用剛剛從主裝置50發送的內部資訊來存取非揮發性記憶體120中所儲存的資料。於是,記憶裝置100可利用並共享主裝置50的一隨機存取記憶體,這是因為從主裝置50發送的內部資訊可以已被暫時儲存在主裝置50的隨機存取記憶體中。記憶體控制器110(例如,執行程式碼112C的微處理器112)可根據本發明的方法控制記憶裝置100的操作,以確保記憶裝置100能分別在各種情況下正確地操作。例如,從主裝置50發送的內部資訊可能不正確,而記憶體控制器110可偵測到這種情況並且防止記憶裝置100的故障等。又例如,資訊可能被竄改,而記憶體控制器110可偵測到這種情況並防止某些安全問題。
第2圖係根據本發明一實施例之用以在第1圖所示的該記憶裝置中進行存取管理的方法的一位址映射控制方案。非揮發性記憶體120中的非揮發性記憶體元件122-1、122-2、...和122-N中的每一個可包含多個實體區塊,並且每個實體區塊可以包含多個實體頁。在該處理電路諸如微處理器112的控制下,記憶體控制器110可將全局(global)邏輯-實體(logic-to-physical, L2P)位址映射表201儲存在非揮發性記憶體120中,並根據非揮發性記憶體120的使用來維護(例如,改變及/或更新)全局邏輯-實體位址映射表201。全局邏輯-實體位址映射表201可包含多個局部邏輯-實體位址映射表(為了簡潔,在第2圖中標記為“邏輯-實體表”),其中該多個局部邏輯-實體位址映射表中的任何一個局部邏輯-實體位址映射表可包含用於將邏輯位址(例如,與主裝置指令相關聯的位址,其用以存取儲存在非揮發性記憶體120中的資料)映射到實體位址(例如指向非揮發性記憶體120內儲存的資料的位置的位址)的多組邏輯-實體位址映射資訊,並且該多組邏輯-實體位址映射資訊內的任何一組可以是用於將一主裝置指令的邏輯位址映射到非揮發性記憶體120的一實體位址的映射資訊(Mapping Information;可簡稱MI) 。
另外,記憶體控制器110可將多個局部邏輯-實體位址映射表中的至少一局部邏輯-實體位址映射表(例如,一個或多個局部邏輯-實體位址映射表)儲存(例如,加載)到隨機存取記憶體 116中以作為暫時局部邏輯-實體位址映射表211,並且根據非揮發性記憶體120的使用來維護(例如,改變及/或更新)暫時局部邏輯-實體位址映射表211。當需要時,記憶體控制器110可更新全局邏輯-實體位址映射表201。為了更好的理解,在暫時局部邏輯-實體位址映射表211中可繪示多個標記為 “MI” 的框以表示其內的多組邏輯-實體位址映射資訊,但本發明不限於此。例如,這些組邏輯-實體位址映射資訊中的一組可以是用於將第一邏輯位址映射到第一實體位址的映射資訊。又例如,這些組邏輯-實體位址映射資訊中的另一組可以是用於將第二邏輯位址映射到第二實體位址的映射資訊。根據某些實施例,該局部邏輯-實體位址映射表中的該些組邏輯-實體位址映射資訊的實施可予以變化。例如,該局部邏輯-實體位址映射表中的任何一組邏輯-實體位址映射資訊可包含一實體位址,並且該實體位址在該局部邏輯-實體位址映射表中的相對於其他實體位址的排行(ranking)可代表一邏輯位址,但本發明不限於此。又例如,該局部邏輯-實體位址映射表中的該多組邏輯-實體位址映射資訊中的任何一組邏輯-實體位址映射資訊可包含一邏輯位址和一實體位址。
此外,記憶體控制器110可將索引表212儲存在隨機存取記憶體 116中,並且根據非揮發性記憶體120的使用來維護(例如,改變及/或更新)索引表212。索引表212可包含多個邏輯-實體表索引,且該多個邏輯-實體表索引中的一個邏輯-實體表索引可以是用於索引一個邏輯-實體表(諸如該多個局部邏輯-實體位址映射表的其中之一)的索引。例如,該邏輯-實體表索引可以是指向儲存該邏輯-實體表的位置(例如,某一個實體區塊中的某一個實體頁)的一實體位址,並且記憶體控制器110可根據該邏輯-實體表索引查找該邏輯-實體表。
根據某些實施例,記憶體控制器110可向主裝置50發送記憶裝置100的一組內部映射資訊,以容許主裝置50擁有該組內部映射資訊,以供增強記憶裝置100的效能。例如,該組內部映射資訊可包含該多個局部邏輯-實體位址映射表內的一組局部邏輯-實體位址映射表的副本,且可另包含該組局部邏輯-實體表的邏輯-實體表索引,其中該組局部邏輯-實體表的該些邏輯-實體映射表索引可分別指向該組局部邏輯-實體位址映射表各自被儲存的位置。
當主裝置50發送一主裝置指令以存取於一邏輯區塊位址處的目標資料時,主裝置50可發送在該組內部映射資訊內之相應的內部映射資訊。該相應的內部映射資訊可包含一局部邏輯-實體位址映射表,諸如具有該邏輯區塊位址的該組邏輯-實體位址映射資訊(例如,MI)的局部邏輯-實體位址映射表,以供查找儲存著該目標資料的實體區塊和實體頁。該相應的內部映射資訊可另包含這個局部邏輯-實體位址映射表的邏輯-實體表索引,諸如指向儲存這個局部邏輯-實體位址映射表的位置的邏輯-實體表索引,以供檢查該相應的內部映射資訊的正確性,例如,檢查它是否滿足某些條件,諸如:該相應的內部映射資訊並未過時;以及該相應的內部映射資訊並未遭受(為了不良意圖的)竄改。
記憶體控制器110可以檢查該相應的內部映射資訊內的該邏輯-實體表索引是否與儲存在索引表212中的相同,以確定該對應的內部映射資訊是否正確。當該對應的內部映射資訊中的該邏輯-實體表索引與儲存在索引表212中的邏輯-實體表索引相同時,記憶體控制器110判斷該對應的內部映射資訊是正確的(這可以指出:該對應的內部映射資訊沒有過時;並且相應的內部映射資訊未被竄改),且因此記憶體控制器110可利用這個局部邏輯-實體位址映射表作為用於查找該目標資料的參考;否則,記憶體控制器110判斷該相應的內部映射資訊是不正確的(其可以指出:該相應的內部映射資訊已過時;或該相應的內部映射資訊被竄改),且因此記憶體控制器110可不利用這個局部邏輯-實體位址映射表作為查找該目標資料的參考。對於該相應的內部映射資訊不正確的情況,記憶體控制器110可利用其自己版本的內部映射資訊,諸如索引表212中之正確的邏輯-實體表索引和透過索引表212中這個正確的邏輯-實體表索引所找到的局部邏輯-實體位址映射表。
第3圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一雙讀取控制方案。記憶體控制器110可在該相應的內部映射資訊不正確的情況下根據該雙讀取控制方案來控制記憶裝置100,但本發明不限於此。例如,在記憶體控制器110尚未向主裝置50發送記憶裝置100的該組內部映射資訊的情況下,記憶體控制器110可根據該雙讀取控制方案來控制記憶體件100。又例如,無論記憶體控制器110是否已經向主裝置50發送了記憶裝置100的該組內部映射資訊,記憶體控制器110可在需要時根據該雙讀取控制方案來控制記憶裝置100。
為了更好的理解,假設相應的內部映射資訊是不正確的,而因此記憶體控制器110可以利用其自己版本的內部映射資訊,諸如索引表212中之正確的邏輯-實體表索引和透過索引表212中這個正確的邏輯-實體表索引所找到的局部邏輯-實體位址映射表(於第3圖標示為 “邏輯-實體表”)。例如,記憶體控制器110可讀取透過這個正確的邏輯-實體表索引所找到的局部邏輯-實體位址映射表,並且這個讀取操作可被視為用於存取該目標資料的第一讀取操作(在第3圖中標記為 “第一讀取操作”)。第一讀取操作的結果例如:暫時局部邏輯-實體位址映射表211可包含用於查找該目標資料的該組邏輯-實體位址映射資訊(例如,MI),諸如將該目標資料的該邏輯位址(例如,該目標資料的該邏輯區塊位址,如用以請求該目標資料的該主裝置指令所指示)映射到該實體位址(例如,至少一實體位址,諸如實體區塊位址連同用以指出該目標資料儲存在哪個實體頁的實體頁位址)的該組邏輯-實體位址映射資訊。如第3圖所示,該組邏輯-實體位址映射資訊諸如指向某一實體區塊(標記為 “區塊”)當中之多個實體頁(標記為 “頁”)中之一頁的映射資訊指出:記憶體控制器110能根據該組邏輯-實體位址映射資訊(例如MI)找到該目標資料(標記為 “資料”)。記憶體控制器110可從這個實體頁讀取該目標資料,並且這個讀取操作可被視為用於存取該目標資料的第二讀取操作(在第3圖中標記為 “第二讀取操作”)。第二讀取操作的結果例如:資料緩衝器213可包含該目標資料(標記為 “資料”),以供被主裝置50存取。例如,主裝置50可透過直接記憶體存取(direct memory access, DMA)來讀取資料緩衝器213中的該目標資料。
根據某些實施例,將該多個局部邏輯-實體位址映射表中的上述至少一局部邏輯-實體位址映射表(例如,該一個或多個局部邏輯-實體位址映射表)加載到隨機存取記憶體 116中以作為暫時局部邏輯-實體位址映射表211的操作可包含讀取透過索引表212中的該正確的邏輯-實體表索引所找到的局部邏輯-實體位址映射表。
第4圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一主機擁有資訊(host-owned information, HOI)檢查控制方案。由於記憶體控制器110已經將記憶裝置100的該組內部映射資訊發送到主裝置50,故主裝置50中的該組內部映射資訊可被視為主機擁有資訊。當發送諸如上面提到的主裝置指令以存取該目標資料時,主裝置50可發送該組邏輯-實體位址映射資訊(例如,MI)連同該邏輯-實體表索引(兩者都發送),諸如該組邏輯-實體位址映射資訊(例如MI)和該主機擁有資訊內的該邏輯-實體表索引的組合。於是,記憶裝置100可接收該組邏輯-實體位址映射資訊(例如,MI)連同該邏輯-實體表索引,諸如該組邏輯-實體位址映射資訊(例如MI)和該主機擁有資訊內的該邏輯-實體表索引的組合,並且可將它們儲存在主機擁有資訊緩衝器214中。
記憶體控制器110可檢查主機擁有資訊緩衝器214中的該邏輯-實體表索引與上述正確的邏輯-實體表索引(例如第4圖中所示索引表212中的邏輯-實體表索引)是否相同,以判斷是否利用主機擁有資訊緩衝器214中的該組邏輯-實體位址映射資訊(例如,MI)來作為用以存取該目標資料的參考。當主機擁有資訊緩衝器214中的該邏輯-實體表索引與該正確的邏輯-實體表索引相同時,記憶體控制器110可利用主機擁有資訊緩衝器214中的該組邏輯-實體位址映射資訊(例如,MI)作為用以存取該目標資料的參考;否則(這意味著主機擁有資訊緩衝器214中的該組邏輯-實體位址映射資訊(例如,MI)可能過時或可能不可靠),則記憶體控制器110可避免使用主機擁有資訊緩衝器214中的該組邏輯-實體位址映射資訊(例如,MI)作為用於存取該目標資料的參考,並且可根據第3圖所示的雙讀取控制方案來控制記憶裝置100。
如第4圖所示,索引表212中的該正確的邏輯-實體表索引和主機擁有資訊緩衝器214中的該邏輯-實體表索引均指向相同的邏輯-實體位址映射表,這是由於主機擁有資訊緩衝器214的該邏輯-實體表索引與該正確的邏輯-實體表索引相同。在此情況下,主機擁有資訊緩衝器214中的該組邏輯-實體位址映射資訊(例如MI)可為可靠的且並非過時的。記憶體控制器110可根據主機擁有資訊緩衝器214中的該組邏輯-實體位址映射資訊(例如,MI)找到該目標資料(標記為 “資料”)。記憶體控制器110可從主機擁有資訊緩衝器214中的該組邏輯-實體位址映射資訊(例如,MI)所指出的某一個實體頁讀取該目標資料,並且此讀取操作可被視為用於存取該目標資料的單一讀取操作(在第4圖中標記為 “讀取操作”)。單一讀取操作的結果例如:資料緩衝器213可包含該目標資料(標記為 “資料”),以供被主裝置50存取。例如,主機資料50可透過直接記憶體存取來讀取資料緩衝器213中的該目標資料。
基於第4圖所示的主機擁有資訊檢查控制方案,當主機擁有資訊緩衝器214中的該邏輯-實體表索引與該正確的邏輯-實體表索引相同時,記憶體控制器110可透過該單一讀取操作快速取得該目標資料,其比多次讀取操作(例如第一和第二讀取操作)速度快很多。於是,記憶裝置100的效能得到提昇,並且電子裝置的整體效能也得到提昇。
另外,檢查主機擁有資訊緩衝器214中的該邏輯-實體表索引是否與該正確的邏輯-實體表索引相同的操作可以防止記憶裝置100為主裝置50自非揮發性記憶體120中取得不對的資料(例如,舊資料或無效資料)。因此,第4圖所示的主機擁有資訊檢查控制方案可保證記憶裝置100所採用的相應的內部映射資訊不會是過時的,也不會是因不良意圖而竄改過的。另外,由於不對的資料而導致記憶體系統錯誤發生的可能性可大大降低。
第5圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一隨機存取記憶體共享控制方案。根據此實施例,主裝置50可包含至少一處理器(例如,一個或多個處理器),諸如處理器52,並且可包含隨機存取記憶體 56,其中隨機存取記憶體 56可包含一共享記憶體區域58。記憶體控制器110可提供資訊諸如該組內部映射資訊給主裝置50,並且主裝置50可在請求該目標資料時向記憶裝置100發送主機擁有資訊的至少一部分(例如,一部分或全部),例如可透過發送主裝置指令諸如一讀取指令。舉例來說,該主機擁有資訊的上述至少一部分可包含該組邏輯-實體位址映射資訊(例如,MI)連同該邏輯-實體表索引,諸如該組邏輯-實體位址映射資訊(例如,MI )和該主機擁有資訊內的該邏輯-實體表索引的組合。當該組邏輯-實體位址映射資訊(例如,MI)和該主機擁有資訊內的該邏輯-實體表索引的組合是正確的並且沒有過時,記憶體控制器110可根據第4圖所示的主機擁有資訊檢查控制方案來控制記憶裝置100(而非第3圖所示的雙讀取控制方案),以透過該單一讀取操作(在第4圖中標記為 “讀取操作”)來取得該目標資料。
基於本發明所提出的方法的各種控制方案,如第3圖所示的雙讀取控制方案、第4圖所示的主機擁有資訊檢查控制方案以及第5圖所示的隨機存取記憶體共享控制方案,當隨機存取記憶體 116的儲存容量不足(例如由於有限預算的設計、成本降低的設計等),本發明方法和相關架構能以不引入任何副作用或者以不太可能引入副作用的方式解決相關技術問題。 表1 表2
表1為索引表212的一個例子,為簡明起見,符號「…」表示某些表格內容在此省略。表1的第二行(column)中的邏輯-實體表索引{{B:5, P:3},{B:5, P:4},{B:5, P:5},{B:5, P:6},{B:5, P:7}, …}能當作該多個邏輯-實體表索引的例子,其中符號「B:」可表示其旁邊的數字為一實體區塊的一區塊索引(block index),以及符號「P:」可表示其旁邊的數字為一實體頁的一頁索引(page index)。藉助於表1的第二行中的邏輯-實體表索引{B:5, P:3}、{B:5, P:4}、{B:5, P:5}、{B:5, P:6}、{B:5, P:7}等,記憶體控制器110能分別找出邏輯-實體表L2P_Table(1)、L2P_Table(2)、L2P_Table(3)、L2P_Table(4)、L2P_Table(5)等(諸如列於表1的第一行中的邏輯-實體表)。
表2為邏輯-實體表L2P_Table(1)的一個例子,為簡明起見,符號「…」表示某些表格內容在此省略。表2的第二行中的映射資訊{{B:6, P:0},{B:6, P:1},{B:6, P:2},{B:6, P:3},{B:6, P:4}, …}能當作邏輯-實體表L2P_Table(1)中的該映射資訊(例如,MI)的一個例子,其中符號「B:」可表示其旁邊的數字為一實體區塊的一區塊索引,以及符號「P:」可表示其旁邊的數字為一實體頁的一頁索引。藉助於表2的第二行中的映射資訊{B:6, P:0}、{B:6, P:1}、{B:6, P:2}、{B:6, P:3}、{B:6, P:4}等,記憶體控制器110能分別找出邏輯位址LBA(NL)、LBA(NL + 1)、LBA(NL + 2)、LBA(NL + 3)、LBA(NL + 4)等(諸如列於表2的第一行中的邏輯位址)的資料。
在一第一時間點,如邏輯-實體表索引{B:5, P:3}所示,記憶體控制器110可能已將邏輯-實體表L2P_Table(1)儲存於實體區塊BLOCK(5)的實體頁PAGE(3)中,並且將該組內部映射資訊(包含有映射資訊{B:6, P:0}以及邏輯-實體表索引{B:5, P:3}的組合)發送至主裝置50。 表3 表4 表5
表3為在該第一時間點被發送至主裝置50的該組映射資訊中的映射資訊{B:6, P:0}以及邏輯-實體表索引{B:5, P:3}的上述組合的一個例子,表4為索引表212的另一個例子,以及表5為邏輯-實體表L2P_Table(1)的另一個例子,其中表4為表1的一更新版本,且表5為表2的一更新版本。關於邏輯位址LBA(NL),記憶體控制器110可在該第一時間點之後的一第二時間點進行一重寫(re-write)操作,並且可分別更新索引表212以及邏輯-實體表L2P_Table(1)如表4以及表5所示,以對應非揮發性記憶體120的最新使用狀態,其中邏輯-實體表索引{B:5, P:3}已被改為邏輯-實體表索引{B:5, P:8}(如表4的右上角所示)且映射資訊{B:6, P:0}已被改為映射資訊{B:6, P:5}(如表5右上角所示)。舉例來說,如邏輯-實體表索引{B:5, P:8}所示,記憶體控制器110可將邏輯-實體表L2P_Table(1)儲存於實體區塊BLOCK(5)的實體頁PAGE(8)中。
之後,主裝置50可將一讀取指令發送至記憶裝置100以要求或請求該目標資料諸如邏輯位址LBA(NL)的資料。主裝置50也可將映射資訊{B:6, P:0}以及邏輯-實體表索引{B:5, P:3}的組合發送至記憶裝置100。在對應的內部映射資訊(諸如該組合的內部映射資訊)為不正確的情況下,記憶體控制器110可使用其自己版本的內部映射資訊,諸如在索引表212中的這個正確的邏輯-實體表索引(例如,邏輯-實體表索引{B:5, P:8})以及透過索引表212中之正確的邏輯-實體表索引找到的局部邏輯-實體位址映射表(例如,透過邏輯-實體表索引{B:5, P:8}找到的邏輯-實體表L2P_Table(1))。因此,記憶體控制器110可取得如映射資訊{B:6, P:5}所示之在實體區塊BLOCK(6)的實體頁PAGE(5)中的該目標資料的正確版本,而不是如映射資訊{B:6, P:0}所示之在實體區塊BLOCK(6)的實體頁PAGE(0)中的該目標資料的舊版本。
依據某些實施例,表1的邏輯-實體表索引{B:5, P:3}、{B:5, P:4}、{B:5, P:5}、{B:5, P:6}、{B:5, P:7}等的任一者中的區塊索引及頁索引可代表該對應的實體區塊之該對應的實體頁的一實體位址,但本發明不限於此。依據某些實施例,表2的映射資訊{B:6, P:0}、{B:6, P:1}、{B:6, P:2}、{B:6, P:3}、{B:6, P:4}等的任一者中的區塊索引及頁索引可代表該對應的實體區塊之該對應的實體頁的一實體位址,但本發明不限於此。
第6圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的工作流程。
在步驟510中,記憶裝置100可從主裝置50接收主裝置指令READ_CMD、相關邏輯位址REQUEST_LBA、邏輯-實體表索引INDEX_HOI、和映射資訊L2P_Info。根據此實施例,讀取指令可作為主裝置指令READ_CMD的例子,該目標資料的該邏輯位址可作為邏輯位址REQUEST_LBA的例子,主裝置50所發送並且被儲存在主機擁有資訊緩衝器214的該邏輯-實體表索引可作為邏輯-實體表索引INDEX_HOI的一個例子,並且該目標資料的該組邏輯-實體位址映射資訊(例如,MI),諸如主裝置50所發送並且被儲存在主機擁有資訊緩衝器214的該組邏輯-實體位址映射資訊(例如,MI),可作為映射資訊L2P_Info的例子,但本發明不限於此。舉例來說,當主裝置50異常地操作時,映射資訊L2P_Info可能已被竄改或者可能已變得與該目標資料無關。又例如,主裝置50係正常地操作,但映射資訊L2P_Info可能已變得過時(out of date)。
在步驟512中,記憶體控制器110可檢查映射資訊L2P_Info的理想版本(例如,第3圖中所示的MI)是否存在於記憶裝置100的隨機存取記憶體 116中。這可以根據上列控制方案中的一個或多個控制方案(例如,第3圖所示的雙讀取控制方案、第4圖所示的主機擁有資訊檢查控制方案,及/或第5圖所示的隨機存取記憶體共享控制方案)來實現,但本發明不限於此。根據此實施例,記憶體控制器110可利用其自己版本的內部映射資訊,諸如指向該目標資料並在暫時局部邏輯-實體位址映射表211中為可得的(available)之該組邏輯-實體位址映射資訊(例如,MI),來作為映射資訊L2P_Info的理想版本,其中記憶體控制器110可從透過索引表212中的正確的邏輯-實體表索引所找到的局部邏輯-實體位址映射表中取得該組邏輯-實體位址映射資訊(例如,MI)。當映射資訊L2P_Info的理想版本存在於記憶裝置100的隨機存取記憶體 116中,進入步驟516;否則,進入步驟513。
在步驟513中,記憶體控制器110可檢查邏輯-實體表索引INDEX_INSIDE和邏輯-實體表索引INDEX_HOI是否彼此相等。依據本實施例,在索引表212中之上述正確的邏輯-實體表索引可作為邏輯-實體表索引INDEX_INSIDE的一個例子。當邏輯-實體表索引INDEX_INSIDE和邏輯-實體表索引INDEX_HOI彼此相等(其可指出映射資訊L2P_Info是正確的),進入步驟517;否則(其可指出映射資訊L2P_Info是不正確的),進入步驟514。
在步驟514中,記憶體控制器110可加載邏輯-實體表,諸如在上述第一讀取操作中讀取的邏輯-實體表。例如,在映射資訊L2P_Info已變得過時的狀況下,記憶體控制器110可避免使用映射資訊L2P_Info作為讀取該目標資料的參考。
在步驟516中,記憶體控制器110可從該實體頁讀取該目標資料(例如,在第二讀取操作中讀取的資料。
在步驟517中,記憶體控制器110可依據映射資訊L2P_Info從該實體頁讀取該目標資料(例如,在單一讀取操作中讀取的資料)。
在步驟520中,記憶體控制器110可將該目標資料發送到主裝置50。舉例來說,不論映射資訊L2P_Info是否已變得過時,記憶體控制器110能正確地讀取該目標資料並且如往常地向主裝置50發送出其所請求的資料(例如,該目標資料)。
根據本實施例,在步驟510中提到的主裝置指令READ_CMD和邏輯位址REQUEST_LBA的組合可以指出或代表用以從非揮發性記憶體120存取對應邏輯位址REQUEST_LBA之該目標資料的一請求。依據用以從非揮發性記憶體120存取對應邏輯位址REQUEST_LBA之該目標資料的該請求,記憶體控制器110可進行至少一檢查操作(例如,一或多個檢查操作)諸如步驟512和步驟513中的檢查操作,以取得至少一檢查結果(例如,一或多個檢查結果)諸如步驟512和步驟513中的檢查結果,來確定是否將步驟514中提到的邏輯-實體表從非揮發性記憶體120加載到隨機存取記憶體116,其中該邏輯-實體表可包含用於存取該目標資料的位址映射資訊,諸如該組邏輯-實體位址映射資訊(例如MI)。另外,在步驟512中的檢查結果可指出映射資訊L2P_Info的理想版本是否存在於隨機存取記憶體116。當基於此檢查結果而進入步驟516時,記憶體控制器110可在步驟516中依據映射資訊L2P_Info的理想版本從非揮發性記憶體120讀取該目標資料,其中,當進行從非揮發性記憶體120讀取該目標資料的操作時,該邏輯-實體表的最新版本(例如加載版本或更新版本)在隨機存取記憶體116中為可得的(available),也就是說,隨機存取記憶體116中存在該邏輯-實體表的最新版本(例如,加載版本或更新版本),並且映射資訊L2P_Info的理想版本(例如第3圖所示的MI)在隨機存取記憶體116中也為可得的。例如,在進行步驟512的檢查操作之前,該邏輯-實體表可已被加載到隨機存取記憶體 116中以作為該邏輯-實體表的加載版本,所以流程可進入步驟516,但本發明不限於此。此外,在步驟513中的檢查結果可指出邏輯-實體表索引INDEX_INSIDE和邏輯-實體表索引INDEX_HOI是否彼此相等。當基於此檢查結果而進入步驟514,記憶體控制器110可在步驟514中將該邏輯-實體表加載到隨機存取記憶體116中作為該邏輯-實體表的加載版本,並且記憶體控制器110可在步驟516中依據該邏輯-實體表的加載版本從非揮發性記憶體120讀取該目標資料,其中,當進行從非揮發性記憶體120讀取該目標資料的操作時,該邏輯-實體表的最新版本(例如加載版本)在隨機存取記憶體116中為可得的,且映射資訊L2P_Info的理想版本(例如第3圖所示的MI)在隨機存取記憶體116中也為可得的。當基於此檢查結果而進入步驟517,記憶體控制器110可在步驟517中依據映射資料L2P_Info(例如第4圖所示的MI)從非揮發性記憶體120讀取該目標資料,其中映射資料L2P_Info在隨機存取記憶體116中為可得的。於某些例子中,記憶體控制器110可更新該邏輯-實體表(例如,該邏輯-實體表的加載版本)以產生該邏輯-實體表的更新版本。
關於上述的主機擁有資訊,記憶體控制器110可將記憶裝置100的該組內部映射資訊發送到主裝置50以作為主機擁有資訊,以供增強記憶裝置100的效能,其中該組內部映射資訊涉及將多個邏輯位址映射到非揮發性記憶體120的多個實體位址。這通常是預先進行的。在將記憶裝置100的該組內部映射資訊發送到主裝置50作為主機擁有資訊之後,記憶體控制器110可從主裝置50接收主裝置指令READ_CMD、邏輯位址REQUEST_LBA、邏輯-實體表索引INDEX_HOI和映射資訊L2P_Info,其中映射資訊L2P_Info涉及將邏輯位址REQUEST_LBA映射到非揮發性記憶體120的某一實體位址。例如,主裝置50可將邏輯-實體表索引INDEX_HOI和映射資訊L2P_Info發送至記憶裝置100作為額外資訊,諸如有關於用以從非揮發性記憶體120存取對應邏輯位址REQUEST_LBA之該目標資料的該請求的額外資訊。另外,映射資訊L2P_Info可被接收作為主機擁有資訊的至少一部分(例如一部分或全部),尤其,不論映射資訊L2P_Info的正確性如何,映射資訊L2P_Info可被接收作為主機擁有資訊的一部分,這是因為記憶體控制器110能透過步驟513的操作檢查映射資訊L2P_Info的正確性。主裝置50可發送映射資訊L2P_Info至記憶裝置100,以供引導記憶裝置100依據映射資訊L2P_Info來存取目標資料,但記憶裝置100(例如,記憶體控制器110)可在需要時(例如,在進入步驟514的情況下)拒絕該引導。舉例來說,當該實體位址指向該目標資料(這表示映射資訊L2P_Info是正確的),邏輯-實體表索引INDEX_INSIDE和邏輯-實體表索引INDEX_HOI彼此相等,所以就進入步驟517。於是,當邏輯-實體表索引INDEX_INSIDE和邏輯-實體表索引INDEX_HOI彼此相等,記憶體控制器110跳過(skip)將該邏輯-實體表從非揮發性記憶體120加載到記憶裝置100的隨機存取記憶體116之操作並且進行步驟517的操作。又例如,當該實體位址不是指向該目標資料(這表示映射資訊L2P_Info不正確),邏輯-實體表索引INDEX_INSIDE和邏輯-實體表索引INDEX_HOI彼此不相等,所以就進入步驟514。於是,當邏輯-實體表索引INDEX_INSIDE和邏輯-實體表索引INDEX_HOI彼此不相等,記憶體控制器110在步驟514中將該邏輯-實體表從非揮發性記憶體120加載到記憶裝置100的隨機存取記憶體116。藉助於步驟513中的檢查結果,根據本發明所提出的方法來控制記憶裝置100的操作的記憶體控制器110能確保記憶裝置100能分別在各種情況下正確地操作,其中各種目標諸如優化效能、高安全性、預算控制等均得以實現。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
10‧‧‧電子裝置
100‧‧‧記憶裝置
50‧‧‧主裝置
52‧‧‧處理器
54‧‧‧電源供應電路
110‧‧‧記憶體控制器
112‧‧‧微處理器
112M‧‧‧唯讀記憶體
112C‧‧‧程式碼
114‧‧‧控制邏輯電路
116‧‧‧隨機存取記憶體
118‧‧‧傳輸介面電路
120‧‧‧非揮發性記憶體
122-1、122-2、…、122-N‧‧‧非揮發性記憶體元件
201‧‧‧全局邏輯-實體位址映射表
212‧‧‧索引表
211‧‧‧暫時局部邏輯-實體位址映射表
213‧‧‧資料緩衝器
214‧‧‧主機擁有資訊緩衝器
MI‧‧‧映射資訊
56‧‧‧隨機存取記憶體
58‧‧‧共享記憶體區域
510、512、513、514、 516、517、520‧‧‧步驟
第1圖係根據本發明一實施例之一記憶裝置和一主裝置的示意圖。 第2圖係根據本發明一實施例之用以在第1圖所示的該記憶裝置中進行存取管理的方法的一位址映射控制方案。 第3圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一雙讀取控制方案。 第4圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一主機擁有資訊檢查控制方案。 第5圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一隨機存取記憶體共享控制方案。 第6圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的工作流程。

Claims (20)

  1. 一種用於在記憶裝置中進行存取管理的方法,該記憶裝置包含非揮發性(non-volatile, NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該方法包含: 從一主裝置接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,且該主裝置指令和該邏輯位址的一組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址; 依據用以從該非揮發性記憶體存取對應該邏輯位址之該目標資料的該請求,進行至少一檢查操作以取得至少一檢查結果,以供判斷是否將一邏輯-實體(logical-to-physical, L2P)表從該非揮發性記憶體加載到該記憶裝置的一隨機存取記憶體(random access memory, RAM),其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊,且進行該至少一檢查操作以取得該至少一檢查結果包含: 檢查指向該邏輯-實體表的一第一邏輯-實體表索引和自該主裝置發送的一第二邏輯-實體表索引是否彼此相等;以及 從該非揮發性記憶體讀取該目標資料,並將該目標資料發送至該主裝置。
  2. 如申請專利範圍第1項所述的方法,另包含: 當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此不相等時,將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體。
  3. 如申請專利範圍第1項所述的方法,另包含: 當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此相等時,跳過將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體之操作。
  4. 如申請專利範圍第1項所述的方法,另包含: 當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此相等時,跳過將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體之操作,否則,將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體。
  5. 如申請專利範圍第1項所述的方法,另包含: 向該主裝置發送該記憶裝置的一組內部映射資訊以作為主機擁有資訊(host-owned information, HOI),以供增強該記憶裝置的效能,其中該組內部映射資訊係有關於將邏輯位址映射到該非揮發性記憶體的實體位址; 其中從該主裝置接收該主裝置指令和該邏輯位址的步驟包含: 在將該記憶裝置的該組內部映射資訊發送到該主裝置以作為該主機擁有資訊之後,自該主裝置接收該主裝置指令、該邏輯位址、該第二邏輯-實體表索引、和映射資訊,其中該映射資訊係有關於將該邏輯位址映射到該非揮發性記憶體的一實體位址。
  6. 如申請專利範圍第5項所述的方法,其中該映射資訊被接收作為該主機擁有資訊的至少一部分。
  7. 如申請專利範圍第5項所述的方法,其中該主裝置向該記憶裝置發送該映射資訊,以供引導該記憶裝置根據該映射資訊存取該目標資料。
  8. 如申請專利範圍第5項所述的方法,其中當該實體位址指向該目標資料時,該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此相等。
  9. 如申請專利範圍第8項所述的方法,其中當該實體位址不指向該目標資料時,該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此不相等。
  10. 如申請專利範圍第5項所述的方法,其中當該實體位址不指向該目標資料時,該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此不相等。
  11. 如申請專利範圍第1項所述的方法,其中該主裝置發送映射資訊和該第二邏輯-實體表索引至該記憶裝置作為有關於用以從該非揮發性記憶體存取對應該邏輯位址之該目標資料的該請求的額外資訊;以及當進行從該非揮發性記憶體讀取該目標資料時,該邏輯-實體表的一最新版本和從該主裝置發送的該映射資訊中之至少一者在該隨機存取記憶體中為可得的(available)。
  12. 一種記憶裝置,包含: 一非揮發性(non-volatile, NV)記憶體,用以儲存資訊,其中該非揮發性記憶體包含至少一非揮發性記憶體元件;以及 一控制器,耦接至該非揮發性記憶體並用以控制該記憶裝置的操作,其中該控制器包含: 一處理電路,用以根據來自一主裝置的多個主裝置指令來控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體,其中: 該控制器自該主裝置接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的一組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址; 依據用以從該非揮發性記憶體存取對應該邏輯位址之該目標資料的該請求,該控制器進行至少一檢查操作以取得至少一檢查結果,以供判斷是否將一邏輯-實體(logical-to-physical, L2P)表從該非揮發性記憶體加載到該記憶裝置的一隨機存取記憶體(random access memory, RAM),其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊,且在進行該至少一檢查操作以取得該至少一檢查結果的期間,該控制器檢查指向該邏輯-實體表的一第一邏輯-實體表索引和自該主裝置發送的一第二邏輯-實體表索引是否彼此相等;以及 該控制器從該非揮發性記憶體讀取該目標資料,並將該目標資料發送至該主裝置。
  13. 如申請專利範圍第12項所述的記憶裝置,其中當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此不相等時,該控制器將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體。
  14. 如申請專利範圍第12項所述的記憶裝置,其中當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此相等時,該控制器跳過將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體之操作。
  15. 如申請專利範圍第12項所述的記憶裝置,其中當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此相等時,該控制器跳過將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體之操作,否則,該控制器將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體。
  16. 一種電子裝置,其包含申請專利範圍第12項所述的記憶裝置,另包含: 該主裝置,耦接至該記憶裝置,其中該主裝置包含: 至少一處理器,用以控制該主裝置的操作;以及 一電源供應電路,耦接至該至少一處理器,其中該電源供應電路係用以提供電源予該至少一處理器和該記憶裝置; 其中該記憶裝置提供儲存空間給該主裝置。
  17. 一種記憶裝置的控制器,該記憶裝置包含該控制器和一非揮發性(non-volatile, NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該控制器包含: 一處理電路,用於根據來自一主裝置的多個主裝置指令來控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體,其中: 該控制器自該主裝置接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的一組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址; 依據用以從該非揮發性記憶體存取對應該邏輯位址之該目標資料的該請求,該控制器進行至少一檢查操作以取得至少一檢查結果,以供判斷是否將一邏輯-實體(logical-to-physical, L2P)表從該非揮發性記憶體加載到該記憶裝置的一隨機存取記憶體(random access memory, RAM),其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊,且在進行該至少一檢查操作以取得該至少一檢查結果的期間,該控制器檢查指向該邏輯-實體表的一第一邏輯-實體表索引和自該主裝置發送的一第二邏輯-實體表索引是否彼此相等;以及 該控制器從該非揮發性記憶體讀取該目標資料,並將該目標資料發送至該主裝置。
  18. 如申請專利範圍第17項所述的控制器,其中當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此不相等時,該控制器將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體。
  19. 如申請專利範圍第17項所述的控制器,其中當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此相等時,該控制器跳過將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體之操作。
  20. 如申請專利範圍第17項所述的控制器,其中當該第一邏輯-實體表索引與該第二邏輯-實體表索引彼此相等時,該控制器跳過將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體之操作,否則,該控制器將該邏輯-實體表從該非揮發性記憶體加載到該記憶裝置的該隨機存取記憶體。
TW107128959A 2017-10-06 2018-08-20 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 TWI684863B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762568797P 2017-10-06 2017-10-06
US62/568,797 2017-10-06
US15/859,747 2018-01-02
US15/859,747 US10977187B2 (en) 2017-10-06 2018-01-02 Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device

Publications (2)

Publication Number Publication Date
TW201915734A true TW201915734A (zh) 2019-04-16
TWI684863B TWI684863B (zh) 2020-02-11

Family

ID=65993925

Family Applications (5)

Application Number Title Priority Date Filing Date
TW109127852A TWI766339B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置
TW109127348A TWI764232B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置
TW107121823A TWI673606B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
TW108129795A TWI720588B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
TW107128959A TWI684863B (zh) 2017-10-06 2018-08-20 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置

Family Applications Before (4)

Application Number Title Priority Date Filing Date
TW109127852A TWI766339B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置
TW109127348A TWI764232B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置
TW107121823A TWI673606B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
TW108129795A TWI720588B (zh) 2017-10-06 2018-06-26 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置

Country Status (3)

Country Link
US (6) US10970226B2 (zh)
CN (2) CN109857336B (zh)
TW (5) TWI766339B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI715403B (zh) * 2019-09-09 2021-01-01 瑞昱半導體股份有限公司 數位電路強健度驗證方法及系統

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558393B2 (en) * 2017-10-20 2020-02-11 Qualcomm Incorporated Controller hardware automation for host-aware performance booster
US10572391B2 (en) * 2018-02-09 2020-02-25 Western Digital Technologies, Inc. Methods and apparatus for implementing a logical to physical address mapping in a solid state drive
JP2021522579A (ja) * 2018-04-23 2021-08-30 マイクロン テクノロジー,インク. ホストの論理対物理情報の更新
US10592166B2 (en) * 2018-08-01 2020-03-17 EMC IP Holding Company LLC Fast input/output in a content-addressable storage architecture with paged metadata
KR20200022179A (ko) * 2018-08-22 2020-03-03 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작 방법
KR20200086143A (ko) * 2019-01-08 2020-07-16 삼성전자주식회사 저장 장치 및 그것의 데이터 처리 방법
KR20200088709A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR20210011176A (ko) * 2019-07-22 2021-02-01 에스케이하이닉스 주식회사 메모리 시스템의 액세스 동작 방법 및 장치
KR20210011216A (ko) 2019-07-22 2021-02-01 에스케이하이닉스 주식회사 메모리 시스템의 메타 데이터 관리 방법 및 장치
KR20200122086A (ko) 2019-04-17 2020-10-27 에스케이하이닉스 주식회사 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치
KR20210001546A (ko) 2019-06-28 2021-01-06 에스케이하이닉스 주식회사 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법
US11294825B2 (en) * 2019-04-17 2022-04-05 SK Hynix Inc. Memory system for utilizing a memory included in an external device
KR20200139913A (ko) 2019-06-05 2020-12-15 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치
KR20200122685A (ko) * 2019-04-18 2020-10-28 에스케이하이닉스 주식회사 메모리 시스템 내에서 서로 다른 종류의 데이터를 처리하기 위한 장치 및 방법
CN110059021A (zh) * 2019-04-18 2019-07-26 深圳市时创意电子有限公司 一种降低写入放大率并提升随机写入性能的算法
US11237953B2 (en) 2019-05-21 2022-02-01 Micron Technology, Inc. Host device physical address encoding
US11003373B2 (en) * 2019-06-28 2021-05-11 Western Digital Technologies, Inc. Systems and methods for managing physical-to- logical address information
KR20210038753A (ko) * 2019-09-30 2021-04-08 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
CN111049566B (zh) * 2019-11-20 2022-03-08 中国航空工业集团公司西安航空计算技术研究所 信息传递方法和机载lrm模块
US11169744B2 (en) * 2020-03-31 2021-11-09 Western Digital Technologies, Inc. Boosting reads of chunks of data
US11262938B2 (en) * 2020-05-05 2022-03-01 Silicon Motion, Inc. Method and apparatus for performing access management of a memory device with aid of dedicated bit information
CN114461536A (zh) * 2020-11-10 2022-05-10 瑞昱半导体股份有限公司 查找表建立及内存地址查询方法
US11360888B1 (en) * 2021-02-16 2022-06-14 Micron Technology, Inc. Host system notification based on entry miss
WO2024045104A1 (en) * 2022-09-01 2024-03-07 Micron Technology, Inc. Virtual indexing in memory device

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105103A (en) * 1997-12-19 2000-08-15 Lsi Logic Corporation Method for mapping in dynamically addressed storage subsystems
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
JP5076411B2 (ja) 2005-11-30 2012-11-21 ソニー株式会社 記憶装置、コンピュータシステム
US7610464B2 (en) * 2006-02-22 2009-10-27 Sony Computer Entertainment Inc. Methods and apparatus for providing independent logical address space and access management
US8880812B1 (en) * 2010-03-31 2014-11-04 Marvell International Ltd. WWN table management systems and methods
US7596663B2 (en) * 2006-11-15 2009-09-29 Arm Limited Identifying a cache way of a cache access request using information from the microtag and from the micro TLB
US8335776B2 (en) 2008-07-02 2012-12-18 Commvault Systems, Inc. Distributed indexing system for data storage
US8533389B1 (en) * 2008-09-15 2013-09-10 Pmc-Sierra, Inc. Multi-client content addressable memory access control method
US8219781B2 (en) * 2008-11-06 2012-07-10 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
JP4693893B2 (ja) * 2008-11-25 2011-06-01 株式会社日立製作所 記憶制御装置及び記憶制御装置の制御方法
JP5381519B2 (ja) * 2009-09-01 2014-01-08 富士通株式会社 ディスクへの書き込み位置の誤算出を検出するストレージ制御装置、ストレージシステム、及びアクセス方法。
TWI492050B (zh) * 2010-04-12 2015-07-11 Phison Electronics Corp 儲存裝置、記憶體控制器及資料保護方法
CN102043728B (zh) * 2009-10-23 2012-07-04 慧荣科技股份有限公司 用来提高闪存存取效能的方法以及相关的记忆装置
US8380894B2 (en) * 2009-12-11 2013-02-19 International Business Machines Corporation I/O mapping-path tracking in a storage configuration
US9582431B2 (en) * 2010-03-22 2017-02-28 Seagate Technology Llc Storage address space to NVM address, span, and length mapping/converting
TWI633557B (zh) 2010-04-19 2018-08-21 慧榮科技股份有限公司 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
TWI447583B (zh) * 2012-02-10 2014-08-01 Phison Electronics Corp 資料保護方法、記憶體控制器與記憶體儲存裝置
US9213632B1 (en) * 2012-02-29 2015-12-15 Marvell International Ltd. Systems and methods for data storage devices to use external resources
US9417811B2 (en) * 2012-03-07 2016-08-16 International Business Machines Corporation Efficient inline data de-duplication on a storage system
TWI489272B (zh) * 2012-04-03 2015-06-21 Phison Electronics Corp 保護資料的方法、記憶體控制器與記憶體儲存裝置
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8874850B1 (en) * 2012-05-10 2014-10-28 Netapp, Inc. Hierarchically tagged cache
US8838937B1 (en) * 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
TWI486767B (zh) * 2012-06-22 2015-06-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
KR20140057454A (ko) * 2012-11-02 2014-05-13 삼성전자주식회사 비휘발성 메모리 장치 및 이와 통신하는 호스트 장치
US9032137B2 (en) 2012-11-21 2015-05-12 Intel Corporation Flexible wear management for non-volatile memory
CN103914391B (zh) * 2013-01-07 2016-12-28 群联电子股份有限公司 数据读取方法、存储器控制器与存储器存储装置
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
CN104102585B (zh) * 2013-04-03 2017-09-12 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
KR20150015764A (ko) * 2013-08-01 2015-02-11 삼성전자주식회사 스토리지 디바이스 및 이를 포함하는 스토리지 시스템
TWI498902B (zh) 2013-11-28 2015-09-01 Phison Electronics Corp 資料管理方法、記憶體儲存裝置及記憶體控制電路單元
KR20150068747A (ko) 2013-12-12 2015-06-22 삼성전자주식회사 비휘발성 메모리 시스템, 이를 포함하는 모바일 장치 및 비휘발성 메모리 시스템의 동작방법
TWI546666B (zh) * 2014-11-03 2016-08-21 慧榮科技股份有限公司 資料儲存裝置以及快閃記憶體控制方法
US10223371B2 (en) * 2014-11-21 2019-03-05 Vmware, Inc. Host-based deduplication using array generated data tags
US20160162416A1 (en) * 2014-12-08 2016-06-09 Intel Corporation Apparatus and Method for Reducing Latency Between Host and a Storage Device
CN105989871B (zh) 2015-02-13 2019-06-21 円星科技股份有限公司 随机存取记忆体与记忆体存取方法
CN108139902A (zh) * 2015-10-16 2018-06-08 科内克斯实验室公司 用于提供混合模式来访问ssd驱动器的方法和装置
US9946642B2 (en) 2015-11-13 2018-04-17 Samsung Electronics Co., Ltd Distributed multimode storage management
US9846610B2 (en) * 2016-02-08 2017-12-19 Red Hat Israel, Ltd. Page fault-based fast memory-mapped I/O for virtual machines
US10459635B2 (en) * 2016-02-11 2019-10-29 SK Hynix Inc. Window based mapping
KR102580820B1 (ko) * 2016-03-10 2023-09-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US20170300422A1 (en) * 2016-04-14 2017-10-19 Micron Technology, Inc. Memory device with direct read access
US10157004B2 (en) * 2016-04-14 2018-12-18 Sandisk Technologies Llc Storage system and method for recovering data corrupted in a host memory buffer
CN106681653B (zh) * 2016-09-14 2019-10-25 合肥兆芯电子有限公司 存储器抹除方法、存储器控制电路单元及存储器存储装置
US10459636B2 (en) * 2017-03-24 2019-10-29 Sandisk Technologies Llc System and method for managing data in non-volatile memory systems having multiple mapping layers
US10476662B2 (en) * 2017-04-10 2019-11-12 City University Of Hong Kong Method for operating a distributed key-value store
US10452537B2 (en) * 2017-06-12 2019-10-22 Western Digital Technologies, Inc. System and method of direct write and mapping of data in a non-volatile memory having multiple sub-drives
US10628326B2 (en) * 2017-08-21 2020-04-21 Micron Technology, Inc. Logical to physical mapping

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI715403B (zh) * 2019-09-09 2021-01-01 瑞昱半導體股份有限公司 數位電路強健度驗證方法及系統

Also Published As

Publication number Publication date
TWI684863B (zh) 2020-02-11
TW202101225A (zh) 2021-01-01
TWI764232B (zh) 2022-05-11
US11550730B2 (en) 2023-01-10
CN109634517A (zh) 2019-04-16
TWI766339B (zh) 2022-06-01
CN109634517B (zh) 2022-08-23
TW201915733A (zh) 2019-04-16
TW202101226A (zh) 2021-01-01
US20190107964A1 (en) 2019-04-11
US11449435B2 (en) 2022-09-20
TW201945934A (zh) 2019-12-01
US10970226B2 (en) 2021-04-06
US20230104892A1 (en) 2023-04-06
US20230342302A1 (en) 2023-10-26
US20210191876A1 (en) 2021-06-24
CN109857336A (zh) 2019-06-07
CN109857336B (zh) 2022-04-26
US11741016B2 (en) 2023-08-29
TWI720588B (zh) 2021-03-01
US20190108131A1 (en) 2019-04-11
US20210182209A1 (en) 2021-06-17
US10977187B2 (en) 2021-04-13
TWI673606B (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
TWI684863B (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
US20190310936A1 (en) Garbage collection strategy for memory system and method of executing such garbage collection
US10126953B2 (en) Memory management method for buffer memory, and memory control circuit unit and memory storage device using the same
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
US20150058531A1 (en) Data writing method, memory control circuit unit and memory storage apparatus
TWI807674B (zh) 快閃記憶體控制器的控制方法、快閃記憶體控制器以及儲存裝置
US20140013030A1 (en) Memory storage device, memory controller thereof, and method for writing data thereof
CN115145478A (zh) 快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置
CN112015329A (zh) 存储系统及其操作方法
US20130179627A1 (en) Method for managing buffer memory, memory controllor, and memory storage device
CN110196816B (zh) 控制器、其操作方法以及包括控制器的存储器系统
TWI782644B (zh) 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置
CN113687771A (zh) 存储器装置的存取管理方法、控制器以及主机装置
US11474723B2 (en) Storage device and operating method thereof
TWI664527B (zh) 用來於一記憶裝置中進行初始化之方法、記憶裝置及其控制器以及電子裝置
US11748011B2 (en) Control method of flash memory controller and associated flash memory controller and storage device
CN112181859A (zh) 有效数据合并方法、存储器控制电路单元与存储装置