TW202101225A - 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 - Google Patents
用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 Download PDFInfo
- Publication number
- TW202101225A TW202101225A TW109127348A TW109127348A TW202101225A TW 202101225 A TW202101225 A TW 202101225A TW 109127348 A TW109127348 A TW 109127348A TW 109127348 A TW109127348 A TW 109127348A TW 202101225 A TW202101225 A TW 202101225A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- target data
- logical address
- host
- logical
- 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
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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/1425—Protection 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/1433—Protection 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
-
- 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/0614—Improving the reliability of storage systems
-
- 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/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- 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/1052—Security 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/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7206—Reconfiguration 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),其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊;從該非揮發性記憶體讀取該目標資料和相關的元資料,其中,當進行從該非揮發性記憶體讀取該目標資料時,該邏輯-實體表的一最新版本在該隨機存取記憶體中係可得的(available);以及檢查該元資料內的一記錄邏輯位址和從該主裝置接收的該邏輯位址是否相等,以控制是否將該目標資料發送到該主裝置。
除了上述方法之外,本發明還提供了一種記憶裝置,並且該記憶裝置包含一非揮發性記憶體和一控制器。該非揮發性記憶體係用以儲存資訊,其中該非揮發性記憶體可以包含至少一非揮發性記憶體元件(例如,一個或多個非揮發性記憶體元件)。該控制器耦接至該非揮發性記憶體,並且該控制器係用以控制該記憶裝置的操作。另外,該控制器包含一處理電路,其係用以根據來自一主裝置的多個主裝置指令來控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體。例如,控制器從該主裝置接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址;關於用以存取對應至來自該非揮發性記憶體的該邏輯位址之目標資料的該請求,該控制器進行一檢查操作以取得一檢查結果,以供判斷是否將一邏輯-實體表從該非揮發性記憶體加載至該記憶裝置的一隨機存取記憶體,其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊;該控制器從該非揮發性記憶體讀取該目標資料和相關的元資料,其中,當進行從該非揮發性記憶體讀取該目標資料時,該邏輯-實體表的一最新版本在該隨機存取記憶體中係可得的;並且該控制器檢查該元資料內的一記錄邏輯位址和從該主裝置接收的該邏輯位址是否相等,以控制是否將該目標資料發送到該主裝置。
根據一些某些實施例,本發明另外提供了一相關電子裝置。該電子裝置可以包含上述記憶裝置,並且可另包含:耦接至該記憶裝置的該主裝置。該主裝置可包含:至少一處理器,其中該至少一處理器係用以控制該主裝置的操作;以及耦接到該至少一處理器的一電源供應電路,其中該電源供應電路係用以提供電源予該至少一處理器和該記憶裝置。另外,該記憶裝置可提供儲存空間給該主裝置。
除了上述方法之外,本發明還提供了一種記憶裝置的一控制器,其中該記憶裝置包含該控制器和一非揮發性記憶體。該非揮發性記憶體可包含至少一非揮發性記憶體元件(例如,一個或多個非揮發性記憶體元件)。另外,該控制器包含一處理電路,其係用以根據來自一主裝置的多個主裝置指令來控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體。例如,該控制器從該主裝置接收一主裝置指令和一邏輯位址,其中該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的組合指出用以存取目標資料的一請求,且該目標資料對應於來自該非揮發性記憶體的該邏輯位址;關於用以存取對應至來自該非揮發性記憶體的該邏輯位址之目標資料的該請求,該控制器進行一檢查操作以取得一檢查結果,以供判斷是否將一邏輯-實體表從該非揮發性記憶體加載至該記憶裝置的一隨機存取記憶體,其中該邏輯-實體表包含用於存取該目標資料的位址映射資訊;該控制器從該非揮發性記憶體讀取該目標資料和相關的元資料,其中,當進行從該非揮發性記憶體讀取該目標資料時,該邏輯-實體表的一最新版本在該隨機存取記憶體中係可得的;並且該控制器檢查該元資料內的一記錄邏輯位址和從該主裝置接收的該邏輯位址是否相等,以控制是否將該目標資料發送到該主裝置。
本發明的方法和裝置能保證記憶裝置可分別在各種情況下正常運作。另外,本發明的方法和裝置提供了一種強大的資料存取機制。因此,可以實現各種目標,如效能優化、高安全性、預算控制等。此外,本發明的方法和裝置可以在不引入任何副作用或以不太可能引入副作用的方式解決相關技術問題。
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可以在需要時簡單地讀取暫時局部邏輯-實體位址映射表211,而非根據非揮發性記憶體120的使用來改變及/或更新暫時局部邏輯-實體位址映射表211,這是因為記憶體控制器110可根據非揮發性記憶體120的使用直接更新全局邏輯-實體位址映射表201。根據某些實施例,非揮發性記憶體120可為三階細胞(triple level cell, TLC)反及閘(NAND)型快閃記憶體,並且多個非揮發性記憶體元件122-1、122-2、...和122-N可為三階細胞NAND型快閃元件,其中記憶體控制器110可將非揮發性記憶體120的某些區塊配置為單階細胞(single level cell, SLC)區塊,並且可將非揮發性記憶體120的某些其他區塊配置為三階細胞區塊。記憶體控制器110可利用非揮發性記憶體120的一部分區塊作為用於緩衝資料的緩衝區塊,同時利用非揮發性記憶體120的另一部分區塊作為用於儲存資料的資料區塊。當主裝置50通過記憶體控制器110將資料寫入非揮發性記憶體120時,記憶體控制器110可以選擇一緩衝區塊作為用於接收資料的一目前區塊。當該目前區塊已滿時(例如其內用於儲存資料的所有的頁已被用資料編程了),記憶體控制器110可關閉這個區塊,例如可將關閉資訊諸如區塊結束(End-of-Block, EOB)資訊寫入到這個區塊的最後一頁,使它成為資料區塊。由於單階細胞區塊的寫入速度通常高於三階細胞區塊的寫入速度,故記憶體控制器110選擇作為用於接收資料的該目前區塊的區塊可以是一單階細胞區塊。例如,當用過的單階細胞區塊的數量(例如,自其最近的抹除後已被使用的單階細胞區塊)的數量大於某一預定值時,記憶體控制器110可觸發垃圾收集(garbage collection, GC)程序以從該些用過的單階細胞區塊收集有效資料至一個或多個三階細胞區塊,但本發明不限於此。又例如,當備用單階細胞區塊的數量(例如,自其最近的抹除以來尚未使用的單階細胞區塊)的數量小於某一預定值時,記憶體控制器110可觸發垃圾收集程序以從該些用過的單階細胞區塊收集有效資料至該一個或多個三階細胞區塊。請注意,當將資料寫入被選作目前區塊的緩衝區塊時,記憶體控制器110可在隨機存取記憶體 116中建立對應於該緩衝區塊的實體-邏輯(physical-to-logical, P2L)位址映射表(未示出),並且可根據非揮發性記憶體120的使用來維護(例如,改變及/或更新)隨機存取記憶體 116中的該實體-邏輯位址映射表。當目前區塊(即,這個緩衝器區塊)已滿時,記憶體控制器110可關閉這個區塊並根據該實體-邏輯位址映射表更新全局邏輯-實體位址映射表201。
根據某些實施例,記憶體控制器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的儲存容量不足(例如由於有限預算的設計、成本降低的設計等),本發明方法和相關架構能以不引入任何副作用或者以不太可能引入副作用的方式解決相關技術問題。
第6圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的工作流程。
在步驟510中,記憶裝置100可從主裝置50接收主裝置指令READ_CMD、相關邏輯位址REQUEST_LBA和映射資訊L2P_Info。根據此實施例,讀取指令可作為主裝置指令READ_CMD的例子,該目標資料的該邏輯位址可作為邏輯位址REQUEST_LBA的例子,並且該目標資料的該組邏輯-實體位址映射資訊(例如,MI)可作為映射資訊L2P_Info的例子,但本發明不限於此。舉例來說,當主裝置50異常地操作時,映射資訊L2P_Info可能已被竄改或者可能已變得與該目標資料無關。又例如,當主裝置50異常地操作時,相關的邏輯位址REQUEST_LBA和映射資訊L2P_Info中的至少一個(例如一個或多個)可能已被竄改變或者可能已變得與該目標資料無關。
在步驟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;否則,進入步驟514。
在步驟514中,記憶體控制器110可加載邏輯-實體表,諸如在上述第一讀取操作中讀取的邏輯-實體表。
在步驟516中,記憶體控制器110可從該實體頁讀取該目標資料(例如,在第二讀取操作中讀取的資料,或在單一讀取操作中讀取的資料)。舉例來說,記憶體控制器110還可以從實體頁讀取元資料,其中該元資料可包含該目標資料的邏輯位址META_LBA,諸如當資料被寫入該實體頁時記憶體控制器110記錄在該實體頁中的邏輯位址,而邏輯位址META_LBA亦可稱為記錄邏輯位址。因此,該元資料可以與該目標資料相關聯。
在步驟518中,記憶體控制器110可檢查該實體頁的該元資料內的邏輯位址META_LBA和邏輯位址REQUEST_LBA是否彼此相同。當該實體頁的該元資料中的邏輯位址META_LBA和邏輯位址REQUEST_LBA彼此相等(這可以表示主裝置50正常運行),進入步驟520;否則(這可能表明主裝置50異常操作),進入步驟522。
在步驟520中,記憶體控制器110可將該目標資料發送到主裝置50。舉例來說,在主裝置50正常運行並且沒有被駭客攻擊或惡意篡改的情況下,記憶體控制器110可像往常一樣將請求的資料(例如目標資料)發送到主裝置50。
在步驟522中,記憶體控制器110可向主裝置50發送錯誤訊息。舉例來說,在主裝置50被駭客入侵或惡意篡改的情況下(例如,處理器52正在運行一個或多個惡意軟件,諸如試圖從記憶裝置100盜取某些東西的第一惡意軟件程序、試圖在記憶裝置100上進行反向工程等的第二惡意軟件程序等)的程序,記憶體控制器110可防止主裝置50存取目標資料。
根據本實施例,在步驟510中提到的主裝置指令READ_CMD和邏輯位址REQUEST_LBA的組合可以指出或代表用以存取對應於來自非揮發性記憶體120的邏輯位址REQUEST_LBA之該目標資料的一請求。關於用以存取對應於來自非揮發性記憶體120的邏輯位址REQUEST_LBA之該目標資料的該請求,記憶體控制器110可進行步驟512的檢查操作以取得檢查結果(其可以指出映射資訊L2P_Info的理想版本是否存在於隨機存取記憶體 116),來確定是否將步驟514中提到的邏輯-實體表從非揮發性記憶體120加載到隨機存取記憶體 116,其中該邏輯-實體表可包含用於存取該目標資料的位址映射資訊,諸如該組邏輯-實體位址映射資訊(例如MI)。另外,在步驟516中,記憶體控制器110可從非揮發性記憶體120讀取該目標資料和相關的元資料,其中,當進行從非揮發性記憶體120讀取該目標資料的操作時,該邏輯-實體表的最新版本(例如加載版本或更新版本)在隨機存取記憶體116中為可得的(available),也就是說,隨機存取記憶體116中存在該邏輯-實體表的最新版本(例如,加載版本或更新版本)。舉例來說,可進入步驟514,並且可將該邏輯-實體表可被加載到隨機存取記憶體116中作為該邏輯-實體表的加載版本。又例如,在進行步驟512的檢查操作之前,該邏輯-實體表可已被加載到隨機存取記憶體 116中以作為該邏輯-實體表的加載版本。再例如,記憶體控制器110可更新該邏輯-實體表(例如,該邏輯-實體表的加載版本)以產生該邏輯-實體表的更新版本。此外,在步驟516中,記憶體控制器110可檢查該元資料內的記錄邏輯位址META_LBA和從主裝置50接收的邏輯位址REQUEST_LBA是否彼此等同,以控制是否將該目標資料發送到主裝置50,例如,以進行步驟520的操作或步驟522的操作。
關於上述的主機擁有資訊,記憶體控制器110可將記憶裝置100的該組內部映射資訊發送到主裝置50以作為主機擁有資訊,以供增強記憶裝置100的效能,其中該組內部映射資訊涉及將多個邏輯位址映射到非揮發性記憶體120的多個實體位址。這通常是預先進行的。在將記憶裝置100的該組內部映射資訊發送到主裝置50作為主機擁有資訊之後,記憶體控制器110可從主裝置50接收主裝置指令READ_CMD、邏輯位址REQUEST_LBA和映射資訊L2P_Info,其中映射資訊L2P_Info涉及將邏輯位址REQUEST_LBA映射到非揮發性記憶體120的某一實體位址。另外,映射資訊L2P_Info可被接收作為主機擁有資訊的至少一部分(例如一部分或全部),尤其,不論映射資訊L2P_Info的正確性如何,映射資訊L2P_Info可被接收作為主機擁有資訊的一部分,這是因為記憶體控制器110能透過步驟518的操作檢查映射資訊L2P_Info的正確性。主裝置50可發送映射資訊L2P_Info至記憶裝置100,以供引導記憶裝置100依據映射資訊L2P_Info來存取目標資料,但記憶裝置100(例如,記憶體控制器110)可在需要時(例如,在進入步驟522的情況下)拒絕該請求。舉例來說,當該實體位址指向該目標資料(這表示映射資訊L2P_Info是正確的),該元資料內的記錄邏輯位址META_LBA和從主裝置50接收的邏輯位址REQUEST_LBA彼此等同,所以就進入步驟520。又例如,當該實體位址不是指向該目標資料(這表示映射資訊L2P_Info不正確),該元資料內的記錄邏輯位址META_LBA和從主裝置50接收的邏輯位址REQUEST_LBA彼此不相同,所以就進入步驟520。
記錄該元資料的操作通常是預先進行的,例如,進行在第6圖所示的工作流程之前。在從主裝置50接收到主裝置指令READ_CMD、邏輯位址REQUEST_LBA等等之前,記憶體控制器110可將該目標資料寫入對應於邏輯位址REQUEST_LBA的實體頁並且可將該目標資料的記錄邏輯位址META_LBA記錄於這個實體頁中。於是,在步驟516中,記憶體控制器110可從該實體頁讀取該目標資料和相關的元資料,並且可從相關的元資料取得該目標資料的記錄邏輯位址META_LBA。藉助於預先記錄的元資料,根據本發明所提出的方法來控制記憶裝置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~522:步驟
第1圖係根據本發明一實施例之一記憶裝置和一主裝置的示意圖。
第2圖係根據本發明一實施例之用以在第1圖所示的該記憶裝置中進行存取管理的方法的一位址映射控制方案。
第3圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一雙讀取控制方案。
第4圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一主機擁有資訊檢查控制方案。
第5圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的一隨機存取記憶體共享控制方案。
第6圖係根據本發明一實施例之用以在該記憶裝置中進行存取管理的方法的工作流程。
10:電子裝置
100:記憶裝置
50:主裝置
52:處理器
54:電源供應電路
110:記憶體控制器
112:微處理器
112M:唯讀記憶體
112C:程式碼
114:控制邏輯電路
116:隨機存取記憶體
118:傳輸介面電路
120:非揮發性記憶體
122-1,122-2~122-N:非揮發性記憶體元件
Claims (20)
- 一種用於在記憶裝置中進行存取管理的方法,該記憶裝置包含非揮發性(non-volatile, NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該方法包含: 向一主裝置發送該記憶裝置的一組內部映射資訊以作為主機擁有資訊(host-owned information, HOI),以供增強該記憶裝置的效能,其中該組內部映射資訊係有關於分別將多個邏輯位址映射到該非揮發性記憶體的多個實體位址; 在將該記憶裝置的該組內部映射資訊發送到該主裝置以作為該主機擁有資訊之後,自該主裝置接收一主裝置指令和一邏輯位址以及有關於將該邏輯位址映射到該非揮發性記憶體的一實體位址之映射資訊,其中該主機擁有資訊包含該映射資訊,該主裝置指令是一讀取指令,且該主裝置指令和該邏輯位址的一組合指出用以存取和該邏輯位址對應的目標資料之一請求;以及 因應用以存取和該邏輯位址對應的該目標資料之該請求,為該主裝置從該非揮發性記憶體讀取該目標資料。
- 如申請專利範圍第1項所述的方法,其中因應用以存取和該邏輯位址對應的該目標資料之該請求,該記憶裝置從該非揮發性記憶體讀取該目標資料和相關的元資料;以及該方法另包含: 檢查該元資料內的一記錄邏輯位址和自該主裝置接收的該邏輯位址是否彼此相等,以控制是否將該目標資料發送到該主裝置。
- 如申請專利範圍第2項所述的方法,另包含: 當該元資料內的該記錄邏輯位址與自該主裝置接收的該邏輯位址彼此相同時,將該目標資料發送到該主裝置。
- 如申請專利範圍第2項所述的方法,另包含: 當該元資料內的該記錄邏輯位址與自該主裝置接收的該邏輯位址不相等時,防止該主裝置存取該目標資料。
- 如申請專利範圍第2項所述的方法,另包含: 當該元資料內的該記錄邏輯位址與自該主裝置接收的該邏輯位址彼此相同時,將該目標資料發送給該主裝置,否則,防止該主裝置存取該目標資料。
- 如申請專利範圍第2項所述的方法,其中當該實體位址指向該目標資料時,該元資料內的該記錄邏輯位址與自該主裝置接收的該邏輯位址彼此等同。
- 如申請專利範圍第6項所述的方法,其中當該實體位址不指向該目標資料時,該元資料內的該記錄邏輯位址與自該主裝置接收的該邏輯位址不相等。
- 如申請專利範圍第2項所述的方法,其中當該實體位址不指向該目標資料時,該元資料內的該記錄邏輯位址與自該主裝置接收的該邏輯位址不相等。
- 如申請專利範圍第2項所述的方法,另包含: 在自該主裝置接收到該主裝置指令和該邏輯位址之前,將該目標資料寫入對應於該邏輯位址的一實體頁中,並將該目標資料的該記錄邏輯位址記錄在該實體頁中; 其中從該非揮發性記憶體讀取該目標資料和相關的元資料的操作包含: 從該實體頁讀取該目標資料和該元資料,並且自該元資料取得該目標資料的該記錄邏輯位址。
- 如申請專利範圍第2項所述的方法,其中,當進行從該非揮發性記憶體讀取該目標資料時,一邏輯-實體(logical-to-physical, L2P)表的一最新版本在該記憶裝置的一隨機存取記憶體(random access memory, RAM)中為可得的(available),且該邏輯-實體表包含用於存取該目標資料的位址映射資訊;以及該方法另包含: 針對用以存取和該邏輯位址對應的該目標資料之該請求,進行一檢查操作以取得一檢查結果,以供判斷是否將該邏輯-實體表從該非揮發性記憶體加載到該隨機存取記憶體; 其中,在進行該檢查操作以取得該檢查結果的步驟以後,該記憶裝置從該非揮發性記憶體讀取該目標資料和該元資料。
- 如申請專利範圍第1項所述的方法,其中,當進行從該非揮發性記憶體讀取該目標資料時,一邏輯-實體(logical-to-physical, L2P)表的一最新版本在該記憶裝置的一隨機存取記憶體(random access memory, RAM)中為可得的(available),且該邏輯-實體表包含用於存取該目標資料的位址映射資訊;以及該方法另包含: 針對用以存取和該邏輯位址對應的該目標資料之該請求,進行一檢查操作以取得一檢查結果,以供判斷是否將該邏輯-實體表從該非揮發性記憶體加載到該隨機存取記憶體。
- 如申請專利範圍第11項所述的方法,其中該檢查結果指出該映射資訊的一理想版本是否存在於該隨機存取記憶體中。
- 如申請專利範圍第12項所述的方法,其另包含: 若該檢查結果指出該映射資訊的該理想版本存在於該隨機存取記憶體中,觸發執行從該非揮發性記憶體讀取該目標資料和相關的元資料的操作,否則,將該邏輯-實體表從該非揮發性記憶體加載到該隨機存取記憶體。
- 一種控制器,一記憶裝置包含該控制器和一非揮發性(non-volatile, NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該控制器包含: 一處理電路,用於根據來自一主裝置的多個主裝置指令來控制該控制器,以容許該主裝置透過該控制器存取該非揮發性記憶體,其中: 該控制器向一主裝置發送該記憶裝置的一組內部映射資訊以作為主機擁有資訊(host-owned information, HOI),以供增強該記憶裝置的效能,其中該組內部映射資訊係有關於分別將多個邏輯位址映射到該非揮發性記憶體的多個實體位址; 在將該記憶裝置的該組內部映射資訊發送到該主裝置以作為該主機擁有資訊之後,該控制器自該主裝置接收一主裝置指令和一邏輯位址以及有關於將該邏輯位址映射到該非揮發性記憶體的一實體位址之映射資訊,其中該主機擁有資訊包含該映射資訊,該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的一組合指出用以存取和該邏輯位址對應的目標資料之一請求;以及 因應用以存取和該邏輯位址對應的該目標資料之該請求,該控制器為該主裝置從該非揮發性記憶體讀取該目標資料。
- 如申請專利範圍第14項所述的控制器,其中因應用以存取和該邏輯位址對應的該目標資料之該請求,該控制器從該非揮發性記憶體讀取該目標資料和相關的元資料;以及該控制器檢查該元資料內的一記錄邏輯位址和自該主裝置接收的該邏輯位址是否彼此相等,以控制是否將該目標資料發送到該主裝置。
- 包含如申請專利範圍第14項所述的控制器之該記憶裝置,包含: 該非揮發性(non-volatile, NV)記憶體,用以儲存資訊;以及 該控制器,耦接至該非揮發性記憶體並用以控制該記憶裝置的操作。
- 一種電子裝置,其包含如申請專利範圍第16項所述的記憶裝置,另包含: 該主裝置,耦接至該記憶裝置,其中該主裝置包含: 至少一處理器,用以控制該主裝置的操作;以及 一電源供應電路,耦接至該至少一處理器,其中該電源供應電路係用以提供電源予該至少一處理器和該記憶裝置; 其中該記憶裝置提供儲存空間給該主裝置。
- 一種用於在記憶裝置中進行存取管理的方法,該記憶裝置包含非揮發性(non-volatile, NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該方法包含: 利用一主裝置自該記憶裝置接收該記憶裝置的一組內部映射資訊以作為主機擁有資訊(host-owned information, HOI),以供增強該記憶裝置的效能,其中該組內部映射資訊係有關於分別將多個邏輯位址映射到該非揮發性記憶體的多個實體位址; 在自該記憶裝置接收該記憶裝置的該組內部映射資訊以作為該主機擁有資訊之後,利用該主裝置向該記憶裝置發送一主裝置指令和一邏輯位址以及有關於將該邏輯位址映射到該非揮發性記憶體的一實體位址之映射資訊,其中該主機擁有資訊包含該映射資訊,該主裝置指令是一讀取指令,且該主裝置指令和該邏輯位址的一組合指出用以存取和該邏輯位址對應的目標資料之一請求;以及 利用該主裝置透過用以存取和該邏輯位址對應的該目標資料之該請求控制該記憶裝置,來為該主裝置從該非揮發性記憶體讀取該目標資料。
- 如申請專利範圍第18項所述的方法,其中因應用以存取和該邏輯位址對應的該目標資料之該請求,該記憶裝置從該非揮發性記憶體讀取該目標資料和相關的元資料;以及該方法另包含: 檢查該元資料內的一記錄邏輯位址和自該主裝置接收的該邏輯位址是否彼此相等,以控制是否將該目標資料發送到該主裝置。
- 一種主裝置,耦接至一記憶裝置以利用該記憶裝置提供儲存空間給該主裝置,該記憶裝置包含一非揮發性(non-volatile, NV)記憶體,該非揮發性記憶體包含至少一非揮發性記憶體元件,該主裝置包含: 至少一處理器,用以控制該主裝置的操作;以及 一電源供應電路,耦接至該至少一處理器,用以提供電源予該至少一處理器和該記憶裝置; 其中: 該主裝置自該記憶裝置接收該記憶裝置的一組內部映射資訊以作為主機擁有資訊(host-owned information, HOI),以供增強該記憶裝置的效能,其中該組內部映射資訊係有關於分別將多個邏輯位址映射到該非揮發性記憶體的多個實體位址; 在自該記憶裝置接收該記憶裝置的該組內部映射資訊以作為該主機擁有資訊之後,利用該主裝置向該記憶裝置發送一主裝置指令和一邏輯位址以及有關於將該邏輯位址映射到該非揮發性記憶體的一實體位址之映射資訊,其中該主機擁有資訊包含該映射資訊,該主裝置指令是一讀取指令,並且該主裝置指令和該邏輯位址的一組合指出用以存取和該邏輯位址對應的目標資料之一請求;以及 該主裝置透過用以存取和該邏輯位址對應的該目標資料之該請求控制該記憶裝置,來為該主裝置從該非揮發性記憶體讀取該目標資料。
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,712 | 2018-01-01 | ||
US15/859,712 US10970226B2 (en) | 2017-10-06 | 2018-01-01 | 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 |
---|---|
TW202101225A true TW202101225A (zh) | 2021-01-01 |
TWI764232B TWI764232B (zh) | 2022-05-11 |
Family
ID=65993925
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109127348A TWI764232B (zh) | 2017-10-06 | 2018-06-26 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 |
TW109127852A TWI766339B (zh) | 2017-10-06 | 2018-06-26 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 |
TW108129795A TWI720588B (zh) | 2017-10-06 | 2018-06-26 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 |
TW107121823A TWI673606B (zh) | 2017-10-06 | 2018-06-26 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 |
TW107128959A TWI684863B (zh) | 2017-10-06 | 2018-08-20 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109127852A TWI766339B (zh) | 2017-10-06 | 2018-06-26 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置及主裝置 |
TW108129795A TWI720588B (zh) | 2017-10-06 | 2018-06-26 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 |
TW107121823A TWI673606B (zh) | 2017-10-06 | 2018-06-26 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 |
TW107128959A TWI684863B (zh) | 2017-10-06 | 2018-08-20 | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 |
Country Status (3)
Country | Link |
---|---|
US (6) | US10970226B2 (zh) |
CN (2) | CN109857336B (zh) |
TW (5) | TWI764232B (zh) |
Families Citing this family (26)
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 |
WO2019209707A1 (en) * | 2018-04-23 | 2019-10-31 | Micron Technology, Inc. | Host logical-to-physical information refresh |
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 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20210011216A (ko) | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 메타 데이터 관리 방법 및 장치 |
KR20210011176A (ko) * | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 메모리 시스템의 액세스 동작 방법 및 장치 |
KR20200122086A (ko) | 2019-04-17 | 2020-10-27 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치 |
US11294825B2 (en) * | 2019-04-17 | 2022-04-05 | SK Hynix Inc. | Memory system for utilizing a memory included in an external device |
KR20210001546A (ko) | 2019-06-28 | 2021-01-06 | 에스케이하이닉스 주식회사 | 슬립모드에서 메모리 시스템의 내부데이터를 전송하는 장치 및 방법 |
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 |
CN112464613B (zh) * | 2019-09-09 | 2023-09-15 | 瑞昱半导体股份有限公司 | 数字电路鲁棒性验证方法及系统 |
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 |
WO2024187373A1 (en) * | 2023-03-14 | 2024-09-19 | Micron Technology , Inc. | Write buffer flush techniques |
Family Cites Families (50)
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 |
US8285970B2 (en) * | 2008-11-06 | 2012-10-09 | 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 |
TW201508759A (zh) | 2010-04-19 | 2015-03-01 | Silicon Motion Inc | 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 |
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 |
US10482009B1 (en) * | 2013-03-15 | 2019-11-19 | Google Llc | Use of a logical-to-logical translation map and a logical-to-physical translation map to access a data storage device |
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 | 円星科技股份有限公司 | 随机存取记忆体与记忆体存取方法 |
US10331364B2 (en) * | 2015-10-16 | 2019-06-25 | Cnex Labs, Inc. | Method and apparatus for providing hybrid mode to access SSD drive |
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 |
US10254972B2 (en) * | 2016-09-13 | 2019-04-09 | Toshiba Memory Corporation | Storage device and storage system |
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 |
US10409720B2 (en) * | 2017-06-12 | 2019-09-10 | 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 |
-
2018
- 2018-01-01 US US15/859,712 patent/US10970226B2/en active Active
- 2018-01-02 US US15/859,747 patent/US10977187B2/en active Active
- 2018-06-26 TW TW109127348A patent/TWI764232B/zh active
- 2018-06-26 TW TW109127852A patent/TWI766339B/zh active
- 2018-06-26 TW TW108129795A patent/TWI720588B/zh active
- 2018-06-26 TW TW107121823A patent/TWI673606B/zh active
- 2018-08-20 TW TW107128959A patent/TWI684863B/zh active
- 2018-09-05 CN CN201811033195.4A patent/CN109857336B/zh active Active
- 2018-09-07 CN CN201811041557.4A patent/CN109634517B/zh active Active
-
2021
- 2021-02-24 US US17/184,525 patent/US11449435B2/en active Active
- 2021-03-08 US US17/194,331 patent/US11550730B2/en active Active
-
2022
- 2022-12-09 US US18/078,098 patent/US11741016B2/en active Active
-
2023
- 2023-07-05 US US18/218,576 patent/US12038849B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI764232B (zh) | 2022-05-11 |
US20230104892A1 (en) | 2023-04-06 |
US11550730B2 (en) | 2023-01-10 |
US11741016B2 (en) | 2023-08-29 |
CN109634517A (zh) | 2019-04-16 |
TWI673606B (zh) | 2019-10-01 |
CN109634517B (zh) | 2022-08-23 |
US20190108131A1 (en) | 2019-04-11 |
US20210191876A1 (en) | 2021-06-24 |
US10977187B2 (en) | 2021-04-13 |
CN109857336A (zh) | 2019-06-07 |
TW201915734A (zh) | 2019-04-16 |
US20210182209A1 (en) | 2021-06-17 |
US12038849B2 (en) | 2024-07-16 |
TW201915733A (zh) | 2019-04-16 |
TWI766339B (zh) | 2022-06-01 |
US11449435B2 (en) | 2022-09-20 |
TWI684863B (zh) | 2020-02-11 |
US20230342302A1 (en) | 2023-10-26 |
TW202101226A (zh) | 2021-01-01 |
CN109857336B (zh) | 2022-04-26 |
TW201945934A (zh) | 2019-12-01 |
US20190107964A1 (en) | 2019-04-11 |
US10970226B2 (en) | 2021-04-06 |
TWI720588B (zh) | 2021-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI720588B (zh) | 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置 | |
US11030093B2 (en) | High efficiency garbage collection method, associated data storage device and controller thereof | |
US20140075100A1 (en) | Memory system, computer system, and memory management method | |
US20120198137A1 (en) | Logical-to-Physical Address Translation for a Removable Data Storage Device | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US9021218B2 (en) | Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same | |
US9058256B2 (en) | Data writing method, memory controller and memory storage apparatus | |
CN107590080B (zh) | 映射表更新方法、存储器控制电路单元及存储器存储装置 | |
US20130275655A1 (en) | Memory management method and memory controller and memory storage device using the same | |
TWI782644B (zh) | 用來進行資料儲存管理以提升資料可靠度之方法、記憶裝置及其控制器以及電子裝置 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
US20140013030A1 (en) | Memory storage device, memory controller thereof, and method for writing data thereof | |
US9037781B2 (en) | Method for managing buffer memory, memory controllor, and memory storage device | |
TWI693520B (zh) | 用來於一記憶裝置中進行系統備份的方法、相關記憶裝置及其控制器、以及相關電子裝置 | |
US11748011B2 (en) | Control method of flash memory controller and associated flash memory controller and storage device | |
TW201337553A (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
TWI847838B (zh) | 借助非平衡表搜尋來進行預定通訊架構中記憶體裝置的資料存取管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置 | |
US12117932B2 (en) | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table update | |
TWI855819B (zh) | 借助非平衡表更新來進行預定通訊架構中記憶體裝置的資料存取管理的方法、記憶體裝置的記憶體控制器、記憶體裝置以及電子裝置 | |
US20240231624A1 (en) | Method and apparatus for performing data access management of memory device in predetermined communications architecture with aid of unbalanced table regions | |
CN112181859B (zh) | 有效数据合并方法、存储器控制电路单元与存储装置 |