TWI453585B - 用於位址轉譯之記憶體裝置及記憶體位址轉譯之方法 - Google Patents
用於位址轉譯之記憶體裝置及記憶體位址轉譯之方法 Download PDFInfo
- Publication number
- TWI453585B TWI453585B TW101100720A TW101100720A TWI453585B TW I453585 B TWI453585 B TW I453585B TW 101100720 A TW101100720 A TW 101100720A TW 101100720 A TW101100720 A TW 101100720A TW I453585 B TWI453585 B TW I453585B
- Authority
- TW
- Taiwan
- Prior art keywords
- record
- item
- records
- logical address
- address
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
-
- 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
-
- 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/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- 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
- 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/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/1004—Compatibility, e.g. with legacy hardware
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明大致係關於半導體記憶體裝置、方法及系統,且更特定言之係關於記憶體位址轉譯。
通常提供記憶體裝置作為電腦或其他電子裝置中的內部半導體積體電路及/或外部可移除裝置。除了其他之外,亦存在許多不同類型之記憶體,包含隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態隨機存取記憶體(DRAM)、同步動態隨機存取記憶體(SDRAM)、相變隨機存取記憶體(PCRAM)及快閃記憶體。
快閃記憶體裝置可用作為用於寬廣範圍之電子應用之揮發性及非揮發性記憶體。快閃記憶體裝置通常使用具備高記憶體密度、高可靠度及低功率消耗之一單電晶體記憶體胞。快閃記憶體裝置經常可具有一「NAND」或「NOR」記憶體陣列架構(所謂的各者之基本記憶體胞組態配置於其中之邏輯形式)。使用快閃記憶體除了其他電子裝置外亦包含用於固態硬碟(SSD)、個人電腦、個人數位助理(PDA)、數位相機、蜂巢式電話、可攜式音樂播放機(例如,MP3播放機)及電影播放機之記憶體。資料(諸如程式碼、使用者資料)及/或系統資料(諸如一基本輸入/輸出系統(BIOS))通常儲存於快閃記憶體裝置中。
一快閃記憶體裝置可包含一快閃轉變層(flash transition layer;FTL)。一FTL可用於(例如,在對該快閃記憶體裝置執行一程式化操作期間)將與一資料項目相關聯之一邏輯位址對映至該快閃記憶體中的一實體位址。一FTL可包含該快閃記憶體裝置之局部記憶體中的一位址對映表以執行對映操作。然而,於先前FTL方法中所使用之位址對映表之大小(例如,所儲存之資料量)可為固定的。因為於先前FTL方法中所使用之位址對映表之大小可為固定,故於先前FTL方法中所使用之位址對映表不適於不同類型快閃記憶體裝置。即,先前FTL方法僅可用於一種類型快閃記憶體裝置。
本發明包含用於記憶體位址轉譯之裝置、系統及方法。一或多項實施例包含一記憶體陣列及耦合至該陣列之一控制器。該陣列包含具有多個記錄之一第一表,其中各記錄包含多個項目,其中各項目包含對應於儲存於該陣列中的一資料區段(data segment)之一實體位址及一邏輯位址。該控制器包含具有多個記錄之一第二表,其中各記錄包含多個項目,其中各項目包含對應於該第一表中的一記錄之一實體位址及一邏輯位址。該控制器亦包含具有多個記錄之一第三表,其中各記錄包含多個項目,其中各項目包含對應於該第二表中的一記錄之一實體位址及一邏輯位址。
本發明之實施例可包含具有可變大小之表(例如,位址對映表)之快閃轉變層。即,本發明之快閃轉變層中的表之大小(所儲存之資料量)可改變。因為本發明之快閃轉變層中的表之大小可改變,故該等表可適於不同類型快閃記憶體裝置。即,根據本發明之快閃轉變層可用於不同類型快閃記憶體裝置。
在本發明之下列詳細描述中,參考形成實施例之一部分之附圖,及其中該等附圖經由繪示來展示怎樣實踐本發明之多項實施例。此等實施例予以足夠詳細描述以使一般技術者能實踐本發明之該等實施例,及應瞭解,在不脫離本發明之範疇之情況下,可利用其他實施例且可作出程序變化、電變化及/或結構變化。
如本文所使用,「多個」某物可指一或多個此等物。例如,多個表可指一或多個表。此外,如本文所使用之指示標「B」、「D」、「E」、「R」及「S」(特定關於圖式中的參考符號)指示:本發明之多項實施例可包含經如此指定之多個特定特徵。
在本文中,圖式遵循一編號慣例,其中第一個***數字或若干個***數字對應於圖式圖號及剩餘***數字識別該圖式中的一元件或組件。可藉由使用類似***數字識別不同圖之間的類似元件或組件。例如,232可參考圖2中的元件「32」,及一類似元件可參考為圖3中的332。如瞭解,在本文中,可添加、交換及/或消除各種實施例中所展示之元件以便提供本發明之多個額外實施例。此外,如瞭解,該等圖中所提供之元件之比例及相對尺度意欲繪示本發明之實施例,且不應視為一限制意義。
圖1繪示根據本發明之一或多項實施例之具有多個實體區塊之一記憶體陣列100之一部分之一圖式。記憶體陣列100可為(例如)一NAND或NOR快閃非揮發性記憶體陣列。然而,本發明之實施例不限於一特定類型之記憶體陣列。此外,儘管未展示於圖1中,然而一般技術者將瞭解,記憶體陣列100可連同與其操作相關聯之各種周邊電路一起位於一特定半導體晶粒上。
如圖1所展示,記憶體陣列100具有記憶體胞之多個實體區塊116-0(區塊0)、116-1(區塊1)、...、116-B(區塊B)。該等記憶體胞可為單位階記憶體胞及/或多位階記憶體胞。作為一實例,記憶體陣列100中的實體區塊數目可為128個區塊、512個區塊或1024個區塊,但實施例不限於128之一特定倍數或記憶體陣列100中的實體區塊之任意特定數目。
在圖1所展示之實例中,各實體區塊116-0、116-1、...、116-B包含可作為一單元一起擦除之記憶體胞(例如,各實體區塊中的記憶體胞可以一大體上同步方式擦除)。例如,各實體區塊中的記憶體胞可以一單一擦除操作一起擦除。
如圖1所展示,各實體區塊116-0、116-1、...、116-B包含耦合至存取線之記憶體胞之多個實體列(例如,字線)(例如,120-0、120-1、...、120-R)。各實體區塊中的列數(例如,字線)可為32,但實施例不限於每實體區塊之列120-0、120-1、...、120-R之一特定數目。
如一般技術者將瞭解,各列120-0、120-1、...、120-R可包含(例如,儲存)一或多個資料實體頁。一實體頁係指一程式化及/或感測單元(例如,多個記憶體胞可作為一功能群組之記憶體胞一起程式化及/或感測)。在圖1所展示之實施例中,各列120-0、120-1、...、120-R儲存一頁資料。然而,本發明之實施例不限於此。例如,在本發明之一或多項實施例中,各列可儲存多頁資料,其中一或多個資料偶數頁與偶數位元線相關聯,及一或多個資料奇數頁與奇數位元線相關聯。此外,對於包含多位階記憶體胞之實施例,一實體頁在邏輯上可分成一資料上頁及一資料下頁,其中一列中的各記憶體胞促成一資料上頁的一或多個位元及促成一資料下頁的一或多個位元。在一或多項實施例中,一記憶體陣列可包含記憶體胞之多個實體區塊及各實體區塊可組織成多頁。
在本發明之一或多項實施例中,及如圖1所展示,與一列相關聯之一頁可根據多個實體磁區122-0、122-1、...、122-S(例如,在一程式化操作之後)儲存資料。各實體磁區122-0、122-1、...、122-S可儲存對應於一或多個資料邏輯磁區之資料。例如,一特定實體磁區(例如,儲存於該特定實體磁區中的資料)可對應於一特定邏輯磁區。此外,儲存於一或多個實體磁區中的資料之一部分可對應於一特定邏輯磁區。例如,儲存於一特定實體磁區中的資料之一第一部分可對應於一第一邏輯磁區,及儲存於該特定實體磁區中的資料之一第二部分可對應於一第二邏輯磁區。各實體磁區122-0、122-1、122-S亦可儲存系統及/或使用者資料,且可包含附加資訊,諸如錯誤校正碼(ECC)資訊及邏輯區塊位址(LBA)資訊。
各實體磁區122-0、122-1、...、122-S可具有一實體位址,舉例而言,諸如與其相關聯之一實體區塊編號(PBN)。一實體磁區之PBN可識別記憶體陣列100內之該磁區之實際實體位置。例如,一PBN可識別一CE#、LUN、平面、區塊、頁、位置及/或狀態。此外,多個PBN可對映至記憶體陣列100中的記憶體胞之一實體頁中。例如,一個、兩個或四個PBN可對映至一實體頁中,其取決於記憶體陣列100為何種類型。
如一般技術者將瞭解,邏輯區段定址為可被一主機使用之一方案用於識別一資料邏輯磁區。例如,各邏輯磁區可對應於一唯一邏輯區塊位址(LBA)。此外,一LBA亦可對應於一實體位址。作為一實例,一資料邏輯磁區可為多個字元之資料(例如,256個字元、512個字元或1024個字元)。然而,實施例不限於此等實例。
在本發明之一或多項實施例中,多個LBA可對應於一邏輯頁碼(logical page number;LPN)。即,一LPN可包含多個LBA(例如,多個資料邏輯磁區)。例如,一或多個LPN在邏輯上可對映至一個LBA,其取決於該LBA及/或LPA之大小。此外,一虛擬頁碼(VPN)可用於識別儲存於一表(舉例而言,諸如在本文結合圖2A至圖5進一步描述之表232、236、242、332、438及/或542)中的資料之邏輯位址(例如,對映位置)。
注意,對於實體區塊116-0、116-1、...、116-B,列120-0、120-1、...、120-R,磁區122-0、122-1、...、122-S及頁之其他組態為可行的。例如,實體區塊116-0、116-1、...、116-B之列120-0、120-1、...、120-R可各儲存對應於可包含(例如)多於或小於512個字元之資料之一單一邏輯磁區之資料。
圖2A繪示根據本發明之一或多項實施例之一記憶體裝置201之一方塊圖。如圖2A所展示,記憶體裝置201包含一記憶體陣列200及耦合至記憶體陣列200(例如,與記憶體陣列200通信)之一控制器230。
記憶體陣列200可為(例如)先前結合圖1描述之記憶體陣列100。儘管於圖2A中展示一記憶體陣列,然而本發明之實施例不限於此(例如,記憶體裝置201可包含耦合至控制器230之一個以上記憶體陣列)。
如圖2A所展示,控制器230包含一控制器記憶體231。控制器記憶體231除了其他類型之記憶體之外亦可為(例如)靜態隨機存取記憶體(SRAM)。控制器230亦可包含(例如)控制電路及/或韌體,且可包含於相同實體裝置(例如,相同晶粒)上作為記憶體陣列200,或可包含於通信耦合至包含記憶體陣列200之實體裝置之一獨立實體裝置上。
在圖2A中所繪示之實施例中,記憶體裝置201包含三個表(例如,表232、236及242)。如本文所進一步描述,表232、236及242(例如,儲存於表232、236及242中的資料)可為一基於需求之快閃轉變層之一部分。例如,如本文所進一步描述,表232、236及242可用於將與記憶體陣列200中的多個記憶體胞相關聯之一邏輯位址(例如,藉由一主機提供之一LBA)對映至與該等記憶體胞相關聯之一實體位址(例如,一PBN)。
表232、236及242可(例如)分別為一資料區塊查詢表、一全域目錄查詢表及一根目錄查詢表。如圖2A所展示,表232係位於(例如,儲存)記憶體陣列200中。如圖2A所展示,表236及242係位於控制器230中(例如,控制器記憶體231中)。如本文所進一步描述,表232、236及242可包含多個邏輯至實體位址對映。
表232可包含多個記錄。表232中的各記錄可包含多個項目,及一記錄中的各項目可包含對應於儲存於記憶體陣列200中的一資料區段(例如,一資料磁區)之一實體位址(例如,一PBN)及一邏輯位址(例如,一LPN)。即,表232中的各項目可包含一LPN至一PBN之一對映。將(例如,結合圖3)在本文進一步描述表232中的記錄及項目。
如圖2A所展示,控制器230(例如,控制器記憶體231)包含耦合至表232之一快取區234。快取區234包含快取對映項目235。快取區234(例如,快取對映項目235)可儲存表232中的該多個記錄之一或多者。在各種實施例中,儲存於快取區234中的一或多個記錄可為暫時儲存於快取區234中的表232之現用記錄。例如,可基於表232中的一記錄中的一項目當前是否(例如,由一應用程式)用於及/或先前已用於判定記憶體陣列200中的一特定資料區段之一實體位址來判定該記錄當前是否包含於快取區234中(例如,表232中的一記錄當前是否為現用)。例如,可使用一最近最少使用(LRU)或區段LRU演算法判定表232中的一記錄是否包含於快取區234中及/或自快取區234移除。然而,本發明之實施例不限於特定類型演算法。
例如,快取區234中的一或多個記錄可為具有最近用於判定記憶體陣列200中的一特定資料區段之一實體位址之一項目之表232中的記錄。即,當前亦不處於快取區234中的表232中的記錄不具有已用於判定記憶體陣列200之一特定資料區段之一實體位址之一項目,其最近多於當前亦處於快取區234中的表232中的一記錄。此外及/或替代地,快取區234中的一或多個記錄可為具有先前使用至少兩次以判定記憶體陣列200中的一特定資料區段之一實體位址之一項目之表232中的記錄。
如圖2A所展示,表236耦合至快取區234且包含兩個子表(例如,子表238及240)。子表238可包含多個記錄,及子表240可包含額外數目個記錄。子表238中的各記錄可包含多個項目,及子表238中的一記錄中的各項目可包含對應於表232中的一記錄之一實體位址(例如,一PBN)及一邏輯位址(例如,一VPN)。子表240中的各記錄可包含多個項目,及子表240中的一記錄中的各項目可包含對應於快取區234中的一記錄之一實體位址(例如,一PBN)及一邏輯位址(例如,一VPN)。即,子表238及240中的各項目可包含一VPN至一PBN之一對映。將(例如,結合圖4)在本文中進一步描述表236(例如,子表238及240)中的記錄及項目。
儘管圖2A中未繪示,然而子表238之一複本可儲存於記憶體陣列200中作為一備份(例如,作為對非期望之停電之防範)。相比之下,子表240之一複本不可儲存於記憶體陣列200中,此係因為子表240對映快取區234中的記錄且因此不可受一非期望之停電之影響。
如圖2A所展示,表242耦合至表236。表242包含多個記錄。表242中的各記錄包含多個項目,及各項目可包含對應於表236(例如,子表238及/或子表240)中的一記錄之一實體位址(例如,一PBN)及一邏輯位址(例如,一VPN)。即,表242中的各項目可包含一VPN至一PBN之一對映。將(例如,結合圖5)在本文中進一步描述表242中的記錄及項目。此外,儘管在圖2A中未繪示,然而表242之一複本可儲存於記憶體陣列200中作為一備份。
在本發明之一或多項實施例中,表232、236及/或242可具有一可變大小。即,表232、236及/或242之大小(例如,所儲存之資料量)可改變。因為表232、236及/或242之大小可改變,故表232、236及/或242可適於不同類型快閃記憶體裝置。即,具有表232、236及242之快閃轉變層可用於不同類型快閃記憶體裝置中。
此外,表232可具有比記憶體陣列200小之一大小,表236可具有比表232小之一大小,及表242可具有比表236小之一大小。例如,表232之大小對記憶體陣列200之大小之比率可為約1比1000,表236可比表232小約三個數量級,及表242可比表236小約三個數量級。然而,本發明之實施例不限於記憶體陣列200與表232、236及242之間的一特定大小關係。
儘管圖2A中所繪示實施例包含三個表(例如,表232、236及242),然而本發明之實施例不限於特定數量之表。例如,本發明之實施例除了表232、236及242外亦可包含一或多個額外表(未展示於圖2A中),作為一基於需求之快閃轉變層之部分。例如,控制器230(例如,控制器記憶體231)除了包含表236及242外亦可包含與表236及/或242相似之一或多個額外表(未展示於圖2A中)。
圖2A中所繪示之實施例亦可包含未繪示以免使本發明之實施例模糊之額外電路。例如,記憶體裝置201可包含位址電路以透過I/O電路鎖存設置於I/O連接器上之位址信號。位址信號可藉由一列解碼器及一行解碼器予以接收且解碼以存取記憶體陣列200。熟習此項技術者將瞭解,位址輸入連接器之數量可取決於記憶體裝置201及/或記憶體陣列200之密度及架構。
圖2B係繪示表232、236及242之間的關係之一圖式202。如圖2B所繪示,對應於一邏輯位址(例如,一LBA)(其對應於記憶體陣列200中的一特定資料區段(例如,一特定資料磁區))之表242之一記錄中的一項目可基於自一主機接收之一給定邏輯位址而判定。如圖2B所繪示,使用表242中的經判定之項目,可判定對應於表236(例如,子表238及/或子表240)中的一記錄之一實體位址(例如,一PBN)及一邏輯位址(例如,一VPN)。
如圖2B所繪示,接著可判定對應於該邏輯位址(其對應於記憶體陣列200中的資料區段)之表236中的記錄中的一項目。即,接著可判定對應於該邏輯位址(其對應於記憶體陣列200中的資料區段)之子表238及/或子表240中的一項目。
如圖2B所繪示,使用子表238中的經判定之項目,可判定對應於表232中的一記錄之一實體位址(例如,一PBN)及一邏輯位址(例如,一VPN)。即,在圖2B中所繪示之實施例中,表236中的記錄中的該經判定之項目為子表238中的一項目。此外及/或替代地,在表236中的記錄中的經判定之項目為子表240中的一項目之實施例中,可使用子表240中的經判定之項目判定對應於快取區234中的一記錄之一實體位址(例如,一PBN)及一邏輯位址(例如,一VPN)。
如圖2B所繪示,接著可判定對應於邏輯位址(其對應於記憶體陣列200中的資料區段)之表232中的記錄中的一項目。此外及/或替代地,在判定對應於快取區234中的一記錄之一實體位址之實施例中,接著可判定對應於該邏輯位址(其對應於記憶體陣列200中的資料區段)之快取區234中的記錄中的一項目。
如圖2B所繪示,使用表232中的經判定之項目,可判定對應於記憶體陣列200中的資料區段之一實體位址(例如,一PBN)及一邏輯位址(例如,一LPN)。此外及/或替代地,在判定快取區234中的記錄中的一項目之實施例中,可使用快取區234中的經判定之項目判定對應於記憶體陣列200中的資料區段之實體位址及一邏輯位址。接著可使用該經判定之實體位址存取該資料區段之資料。
圖3繪示根據本發明之一或多項實施例之表332之一部分之一圖式。表332可為(例如)先前結合圖2A描述之表232。
如圖3所展示,表332包含多個記錄352-0、352-1、...、352-D。各記錄352-0、352-1、...、352-D包含多個項目354-1、354-2、...、354-E。如圖3所展示,一記錄352-0、352-1、...、352-D中的各項目354-1、354-2、...、354-E可包含(例如)一邏輯頁碼(LPN)至一實體區塊編號(PBN)之一對映。該PBN可對應於一記憶體陣列(例如,先前結合圖2A描述之記憶體陣列200)中的一特定資料區段。此外,可基於與該記憶體陣列相關聯之邏輯頁碼(LPN)之一線性對映而在邏輯上定址一記錄352-0、352-1、...、352-D中的各項目354-1、354-2、...、354-E。例如,如圖3所展示,記錄352-0中的項目354-1可包含對應於與用於該記憶體陣列中的記憶體胞之第一邏輯頁之LPN相關聯之資料區段之PBN,記錄352-1中的項目354-2可包含對應於與用於該記憶體陣列中的記憶體胞之第二邏輯頁之LPN相關聯之資料區段之PBN,等等。
此外,各記錄352-0、352-1、...、352-D可包含經組態以將該記錄併入先前結合圖2A描述之快取區234中的一連結。例如,該連結可為一位置保持器,該位置保持器可在不操縱該記錄之情況下使該記錄傳送至快取區234中。在該記錄傳送至快取區234中之後(例如,當該記錄儲存於快取區234中時),該連結可對應於一記憶體位址,舉例而言,諸如快取區234及/或表332中的一邏輯及/或實體位址。
圖4繪示根據本發明之一或多項實施例之子表438之一部分之一圖式。子表438可為(例如)先前結合圖2A描述之子表238。
如圖4所展示,子表438包含多個記錄462-0、462-1、...、462-D。各記錄462-0、462-1、...、462-D包含多個項目464-1、464-2、...、464-E。如圖4所展示,一記錄462-0、462-1、...、462-D中的各項目464-1、464-2、...、464-E可包含(例如)一虛擬頁碼(VPN)至一實體區塊編號(PBN)之一對映。該PBN可對應於先前結合圖3描述之表332中的一特定記錄。此外,,一記錄462-0、462-1、...、462-D中的各項目464-1、464-2、...、464-E在邏輯上可基於與表332相關聯之VPN之一線性對映而定址。例如,如圖4所展示,記錄462-0中的項目464-1可包含與用於表332中的記錄352-0之VPN相關聯之PBN,記錄462-0中的項目464-2可包含與用於表332中的記錄352-1之VPN相關聯之PBN,等等。
一記錄462-0、462-1、...、462-D中的各項目464-1、464-2、...、464-E可具有與先前結合圖2A描述之子表240中的一項目之一對一對應。例如,子表240中的各項目可類似於一記錄462-0、462-1、...、462-D中的各項目464-1、464-2、...、464-E,惟子表240中的各項目可包含對應於先前結合圖2A描述之快取區234中的一特定記錄之一VPN至一PBN之一對映、及可基於與快取區234相關聯之VPN之一線性對映在邏輯上定址子表240中的各項目除外。
此外,若藉由子表240中的一項目對映之表332中的記錄亦同時儲存於快取區234中,則子表240中的該項目可僅為有效的。例如,當自快取區234移除表332中的一記錄時,可使用於對映快取區234中的記錄之子表240中的項目無效,且可更新用於對映表332中的記錄之子表438中的項目。
圖5繪示根據本發明之一或多項實施例之表542之一部分之一圖式。表542可為(例如)先前結合圖2A描述之表242。
如圖5所展示,表542包含多個記錄572-0、572-1、...、572-D。各記錄572-0、572-1、...、572-D包含多個項目574-1、574-2、...、574-E。如圖5所展示,一記錄572-0、572-1、...、572-D中的各項目574-1、574-2、...、574-E可包含(例如)一虛擬頁碼(VPN)至一實體區塊編號(PBN)之一對映。該PBN可對應於先前結合圖4描述之子表438中的一特定記錄。此外,可基於與子表438相關聯之VPN之一線性對映而在邏輯上定址一記錄572-0、572-1、...、572-D中的各項目574-1、574-2、...、574-E。例如,如圖5所展示,記錄572-0中的項目574-1可包含與用於子表438中的記錄462-0之VPN相關聯之PBN,記錄572-0中的項目574-2可包含與用於子表438中的記錄462-1之VPN相關聯之PBN,等等。
本發明包含用於記憶體位址轉變之裝置、系統及方法。一或多項實施例包含一記憶體陣列及耦合至該陣列之一控制器。該陣列包含具有多個記錄之一第一表,其中各記錄包含多個項目,其中各項目包含對應於儲存於該陣列中的一資料區段之一實體位址及一邏輯位址。該控制器包含具有多個記錄之一第二表,其中各記錄包含多個項目,其中各項目包含對應於該第一表中的一記錄之一實體位址及一邏輯位址。該控制器亦包含具有多個記錄之一第三表,其中各記錄包含多個項目,其中各項目包含對應於該第二表中的一記錄之一實體位址及一邏輯位址。
儘管特定實施例已在本文中予以繪示及描述,然而一般技術者將瞭解,經計算以達成相同結果之一配置可用所展示之特定實施例代替。本發明意欲涵蓋本發明之多項實施例之改變及變更。應理解,上述描述係以一繪示方式而非一限制方式進行。在檢視上述描述之後,上述實施例之組合及在本文未特別描述之其他實施例對於一般技術者將為顯而易見。本發明之多項實施例之範疇包含使用上述結構及方法之其他應用。因此,本發明之多項實施例之範疇應參考隨附申請專利範圍,連同標題此等申請專利範圍之等效物之全範圍而判定。
在前述「實施方式」中,出於簡化本發明之目的,相同特徵被一起分組在一單一實施例中。本發明之此方法不應解譯為反映本發明之所揭示之實施例必須使用比清楚敘述於各申請專利範圍中多的特徵之一意圖。確切言之,如下列申請專利所反映,本發明標的在於小於一單一所揭示之實施例之所有特徵。因此,下列申請專列範圍因此併入至「實施方式」中,其中各申請專利範圍擁有其自身立場作為一獨立實施例。
100...記憶體陣列
116-0...實體區塊
116-1...實體區塊
116-B...實體區塊
120-0...實體列
120-1...實體列
120-R...實體列
122-0...實體磁區
122-1...實體磁區
122-S...實體磁區
200...記憶體陣列
201...記憶體裝置
230...控制器
231...控制器記憶體
232...表
234...快取區
235...快取對映項目
236...表
238...子表
240...子表
242...表
332...表
352-0...記錄
352-1...記錄
352-D...記錄
354-1...項目
354-2...項目
354-E...項目
438...表
462-0...記錄
462-1...記錄
462-D...記錄
464-1...項目
464-2...項目
464-E...項目
542...表
572-0...記錄
572-1...記錄
572-D...記錄
574-1...項目
574-2...項目
574-E...項目
圖1繪示根據本發明之一或多項實施例之具有多個實體區塊之一記憶體陣列之一部分之一圖式。
圖2A繪示根據本發明之一或多項實施例之一記憶體裝置之一方塊圖。
圖2B係繪示根據本發明之一或多項實施例之多個表之間的關係之一圖式。
圖3繪示根據本發明之一或多項實施例之一表之一部分之一圖式。
圖4繪示根據本發明之一或多項實施例之一子表之一部分之一圖式。
圖5繪示根據本發明之一或多項實施例之一表之一部分之一圖式。
200...記憶體陣列
201...記憶體裝置
230...控制器
231...控制器記憶體
232...表
234...快取區
235...快取對映項目
236...表
238...子表
240...子表
242...表
Claims (32)
- 一種用於位址轉譯之記憶體裝置,其包括:一記憶體陣列,其中該陣列包含具有多個記錄之一第一表,其中各記錄包含多個項目,其中各項目包含對應於儲存於該陣列中的一資料區段之一實體位址及一邏輯位址;及一控制器,其耦合至該陣列且包含:一第二表,其具有多個記錄,其中各記錄包含多個項目,其中各項目包含對應於該第一表中的一記錄之一實體位址及一邏輯位址;及一第三表,其具有多個記錄,其中各記錄包含多個項目,其中各項目包含對應於該第二表中的一記錄之一實體位址及一邏輯位址。
- 如請求項1之記憶體裝置,其中:該控制器包含儲存該第一表中的該多個記錄之一或多者之一快取區;及該第二表包含各包含多個項目之額外數目個記錄,其中各項目包含對應於該快取區中的一記錄之一實體位址及一邏輯位址。
- 如請求項2之記憶體裝置,其中該第二表包含一第一子表及一第二子表;該第一子表包含多個記錄,該多個記錄之項目包含對應於該第一表中的一記錄之一實體位址及一邏輯位址;及該第二子表包含該額外數目個記錄,該額外數目個記錄之項目包含對應於該快取區中的一記錄之一實體位址及一邏輯位址。
- 如請求項1之記憶體裝置,其中包含於該第一表、該第二表及該第三表之各項目中的該等實體位址為實體區塊編號。
- 如請求項1之記憶體裝置,其中:基於與該記憶體陣列相關聯之邏輯頁碼之一線性對映而在邏輯上定址該第一表中的各項目;基於該第一表中的該多個記錄之一線性對映而在邏輯上定址該第二表中的各項目;及基於該第二表中的該多個記錄之一線性對映而在邏輯上定址該第三表中的各項目。
- 如請求項1之記憶體裝置,其中:該第二表具有比該第一表小之一大小;及該第三表具有比該第二表小之一大小。
- 如請求項1之記憶體裝置,其中該第一表具有一可變大小。
- 如請求項1之記憶體裝置,其中該第二表及該三表具有一可變大小。
- 一種用於位址轉譯之記憶體裝置,其包括:一記憶體陣列,其中該陣列包含具有多個記錄之一第一表,其中各記錄包含多個項目,其中各項目包含對應於儲存於該陣列中的一資料區段之一實體位址及一邏輯位址;及一控制器,其耦合至該陣列且具有:一快取區,其儲存該第一表中的該多個記錄之一或多者;一第二表,其具有多個記錄,其中各記錄包含多個項目,其中各項目包含對應於該快取區中的一記錄之一實體位址及一邏輯位址;及一第三表,其具有多個記錄,其中各記錄包含多個項目,其中各項目包含對應於該第二表中的一記錄之一實體位址及一邏輯位址。
- 如請求項9之記憶體裝置,其中該第二表包含各包含多個項目之額外數目個記錄,其中各項目包含對應於該第一表中的一記錄之一實體位址及一邏輯位址。
- 如請求項9之記憶體裝置,其中該快取區中的該一或多個記錄包含該第一表中具有最近用於判定該陣列中的多個記憶體胞之一實體位址之一項目的多個記錄。
- 如請求項9之記憶體裝置,其中該快取區中的該一或多個記錄包含該第一表中具有先前使用至少兩次來判定儲存於該陣列中的一資料區段之一實體位址之一項目的多個記錄。
- 如請求項9之記憶體裝置,其中:該第一表為一資料區塊查詢表;該第二表為一全域目錄查詢表;及該第三表為一根目錄查詢表。
- 一種用於位址轉譯之記憶體裝置,其包括:一記憶體陣列,其中該陣列包含具有多個記錄之一第一表,其中各記錄包含多個項目,其中各項目包含對應於儲存於該陣列中的一資料區段之一實體位址及一邏輯位址;及一控制器,其耦合至該陣列且具有:一快取區,其儲存該第一表中的該多個記錄之一或多者;一第二表,其中該第二表包含:一第一子表,其具有多個記錄,其中各記錄包含多個項目,其中各項目包含對應於該第一表中的一記錄之一實體位址及一邏輯位址;及一第二子表,其具有多個記錄,其中各記錄包含多個項目,其中各項目包含對應於該快取區中的一記錄之一實體位址及一邏輯位址;及一第三表,其具有多個記錄,其中各記錄包含多個項目,其中各項目包含對應於該第二表中的一記錄之一實體位址及一邏輯位址。
- 如請求項14之記憶體裝置,其中該記憶體陣列為一快閃記憶體陣列。
- 如請求項14之記憶體裝置,其中:該控制器包含靜態隨機存取記憶體(SRAM);及該SRAM包含該快取區、該第二表及該第三表。
- 如請求項14之記憶體裝置,其中該第一表中的各記錄包含經組態以將該記錄併入至該快取區中的一連結。
- 如請求項14之記憶體裝置,其中該第一子表中的各項目具有與該第二子表中的一項目之一對一對應。
- 一種用於記憶體位址轉譯之方法,其包括:判定對應於一邏輯位址之第一表之一記錄中的一項目,該邏輯位址對應於儲存於一記憶體裝置中的一資料區段;使用該第一表中的該經判定之項目,判定對應於一第二表中的一記錄之一實體位址及一邏輯位址;判定對應於該邏輯位址之該第二表中的該記錄中的一項目,該邏輯位址對應於該資料區段;使用該第二表中的該經判定之項目,判定對應於一第三表中的一記錄之一實體位址及一邏輯位址;判定對應於該邏輯位址之該第三表中的該記錄中的一項目,該邏輯位址對應於該資料區段;及使用該第三表中的該經判定之項目,判定對應於該資料區段之一實體位址。
- 如請求項19之方法,其中該方法包含:使用該第二表中的該經判定之項目,判定對應於一快取區中的一記錄之一實體位址及一邏輯位址,其中該快取區中的該記錄為該第三表中的多個記錄之一者;判定對應於該邏輯位址之該快取區中的該記錄中的一項目,該邏輯位址對應於該資料區段;及使用該快取區中的該經判定之項目,判定對應於該資料區段之該實體位址。
- 如請求項19之方法,其中:該第一表及該第二表位於該記憶體裝置之一控制器中;及該第三表位於該記憶體裝置之一記憶體陣列中。
- 如請求項19之方法,其中對應於該資料區段之該邏輯位址為一邏輯區塊位址。
- 如請求項19之方法,其中至少部分地基於自一主機接收之一邏輯位址判定對應於該邏輯位址之該第一表之該記錄中的該項目,該邏輯位址對應於該資料區段。
- 一種用於記憶體位址轉譯之方法,其包括:判定對應於一邏輯位址之一第一表之一記錄中的一項目,該邏輯位址對應於儲存於一記憶體陣列中的一資料區段;使用該第一表中的該經判定之項目,判定對應於一第二表中的一記錄之一實體位址及一邏輯位址;判定對應於該邏輯位址之該第二表中的該記錄之一項目,該邏輯位址對應於該資料區段;使用該第二表中的該經判定之項目,判定對應於一快取區中的一記錄之一實體位址及一邏輯位址,其中該快取區中的該記錄為一第三表中的多個記錄之一者;判定對應於該邏輯位址之該快取區中的該記錄中的一項目,該邏輯位址對應於該資料區段;及使用該快取區中的該經判定之項目,判定對應於該資料區段之一實體位址。
- 如請求項24之方法,其中該方法包含:使用該第二表中的該經判定之項目,判定對應於該第三表中的一記錄之一實體位址及一邏輯位址;判定對應於該邏輯位址之該第三表中的該記錄中的一項目,該邏輯位址對應於該資料區段;及使用該第三表中的該經判定之項目,判定對應於該資料區段之該實體位址。
- 如請求項24之方法,其中該方法包含將該第三表中的該多個記錄之該一者儲存於該快取區中。
- 如請求項24之方法,其中該資料區段為儲存於該記憶體陣列中的資料之一磁區。
- 如請求項24之方法,其中該方法包含將該第一表之一複本及該第二表之一複本儲存於該記憶體陣列中。
- 一種用於記憶體位址轉譯之方法,其包括:使用一第一表中的一項目,判定對應於一第二表之一子表中的一記錄之一實體位址及一邏輯位址,其中該第一表中的該項目對應於一邏輯位址,該邏輯位址對應於儲存於一記憶體裝置中的一資料區段;判定對應於該邏輯位址之該第二表之該子表中的該記錄中的一項目,該邏輯位址對應於該資料區段;使用該第二表之該子表中的該經判定之項目,判定對應於一快取區中的一記錄之一實體位址及一邏輯位址,其中該快取區中的該記錄為一第三表中的多個記錄之一者;判定對應於該邏輯位址之該快取區中的該記錄中的一項目,該邏輯位址對應於該資料區段;及使用該快取區中該經判定之項目,判定對應於該資料區段之一實體位址。
- 如請求項29之方法,其中該方法包含:使用該第一表中的該項目,判定對應於該第二表之一額外子表中的一記錄之一實體位址及一邏輯位址;判定對應於該邏輯位址之該第二表之該額外子表中的該記錄中的一項目,該邏輯位址對應於該資料區段;使用該第二表之該額外子表中的該經判定之項目,判定對應於該第三表中的一記錄之一實體位址及一邏輯位址;判定對應於該邏輯位址之該第三表中的該記錄中的一項目,該邏輯位址對應於該資料區段;及使用該第三表中的該經判定之項目,判定對應於該資料區段之該實體位址。
- 如請求項29之方法,其中該方法包含使用對應於該資料區段之該經判定之實體位址存取該資料區段。
- 如請求項29之方法,其中該方法包含:自該快取區移除該快取區中的記錄;在自該快取區移除該記錄之後,使該第二表之該子表中的該記錄中的項目失效;及在自該快取區移除該記錄之後,更新對應於該邏輯位址之該第二表之一額外子表中的一記錄中的一項目,該邏輯位址對應於該資料區段。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/985,787 US8417914B2 (en) | 2011-01-06 | 2011-01-06 | Memory address translation |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201241626A TW201241626A (en) | 2012-10-16 |
TWI453585B true TWI453585B (zh) | 2014-09-21 |
Family
ID=46456122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101100720A TWI453585B (zh) | 2011-01-06 | 2012-01-06 | 用於位址轉譯之記憶體裝置及記憶體位址轉譯之方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8417914B2 (zh) |
EP (1) | EP2661692B1 (zh) |
JP (2) | JP5739551B2 (zh) |
KR (1) | KR101497860B1 (zh) |
CN (1) | CN103299283B (zh) |
TW (1) | TWI453585B (zh) |
WO (1) | WO2012094481A2 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10282286B2 (en) * | 2012-09-14 | 2019-05-07 | Micron Technology, Inc. | Address mapping using a data unit type that is variable |
US9495288B2 (en) * | 2013-01-22 | 2016-11-15 | Seagate Technology Llc | Variable-size flash translation layer |
US9236133B2 (en) | 2013-12-13 | 2016-01-12 | Micron Technology, Inc. | Adjusted read for partially programmed block |
US20160048328A1 (en) * | 2014-08-12 | 2016-02-18 | Kabushiki Kaisha Toshiba | Memory system |
US10101918B2 (en) | 2015-01-21 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for generating hint information associated with a host command |
US10007433B2 (en) | 2015-01-21 | 2018-06-26 | Sandisk Technologies Llc | Systems and methods for performing adaptive host memory buffer caching of transition layer tables |
US9940287B2 (en) | 2015-03-27 | 2018-04-10 | Intel Corporation | Pooled memory address translation |
KR20170044781A (ko) * | 2015-10-15 | 2017-04-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
US10162526B2 (en) * | 2015-10-20 | 2018-12-25 | Micron Technology, Inc. | Logical address history management in memory device |
KR20170056765A (ko) | 2015-11-13 | 2017-05-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10095413B2 (en) * | 2016-01-28 | 2018-10-09 | Toshiba Memory Corporation | Memory system with address translation between a logical address and a physical address |
US10437785B2 (en) * | 2016-03-29 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for maximized dedupable memory |
WO2017209813A1 (en) * | 2016-05-31 | 2017-12-07 | Sandisk Technologies Llc | Systems and methods for performing adaptive host memory buffer caching of transition layer tables |
KR20180121733A (ko) * | 2017-04-28 | 2018-11-08 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
TWI633437B (zh) | 2017-05-26 | 2018-08-21 | 慧榮科技股份有限公司 | 偵測使用中邏輯頁面之資料儲存裝置與資料儲存方法 |
US11113205B2 (en) * | 2017-07-31 | 2021-09-07 | Micron Technology, Inc. | Die addressing using a reduced size translation table entry |
US10437734B2 (en) * | 2017-08-31 | 2019-10-08 | Micron Technology, Inc. | Memory constrained translation table management |
US10860474B2 (en) | 2017-12-14 | 2020-12-08 | Micron Technology, Inc. | Multilevel addressing |
KR102521746B1 (ko) | 2017-12-18 | 2023-04-13 | 에스케이하이닉스 주식회사 | 메모리 장치의 주소 맵핑을 관리하는 반도체 장치 및 이를 포함하는 데이터 저장 장치 |
TWI727185B (zh) * | 2018-07-09 | 2021-05-11 | 慧榮科技股份有限公司 | 鏈結串列搜索裝置及方法 |
TWI717953B (zh) * | 2019-12-26 | 2021-02-01 | 大陸商深圳大心電子科技有限公司 | 儲存控制器、記憶體管理方法與儲存裝置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW564346B (en) * | 2001-03-22 | 2003-12-01 | Matsushita Electric Ind Co Ltd | Memory device |
US6898669B2 (en) * | 2001-12-18 | 2005-05-24 | Kabushiki Kaisha Toshiba | Disk array apparatus and data backup method used therein |
US20100030999A1 (en) * | 2008-08-01 | 2010-02-04 | Torsten Hinz | Process and Method for Logical-to-Physical Address Mapping in Solid Sate Disks |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203191A (ja) * | 1997-11-13 | 1999-07-30 | Seiko Epson Corp | 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体 |
US8341332B2 (en) | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
CN1276358A (zh) | 2000-06-29 | 2000-12-13 | 西北有色金属研究院 | 一种低碳超细REBa2Cu3O6+δ粉末的制备方法 |
US8041878B2 (en) | 2003-03-19 | 2011-10-18 | Samsung Electronics Co., Ltd. | Flash file system |
US20090193184A1 (en) | 2003-12-02 | 2009-07-30 | Super Talent Electronics Inc. | Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System |
US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
JP2006338371A (ja) | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
JP5076411B2 (ja) * | 2005-11-30 | 2012-11-21 | ソニー株式会社 | 記憶装置、コンピュータシステム |
US7644251B2 (en) * | 2005-12-19 | 2010-01-05 | Sigmatel, Inc. | Non-volatile solid-state memory controller |
US8046542B2 (en) | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
US8041922B2 (en) * | 2008-01-11 | 2011-10-18 | International Business Machines Corporation | Enhanced dynamic address translation with load real address function |
US8397014B2 (en) * | 2008-02-04 | 2013-03-12 | Apple Inc. | Memory mapping restore and garbage collection operations |
US8566511B2 (en) * | 2009-07-23 | 2013-10-22 | Stec, Inc. | Solid-state storage device with multi-level addressing |
-
2011
- 2011-01-06 US US12/985,787 patent/US8417914B2/en active Active
-
2012
- 2012-01-05 CN CN201280004871.XA patent/CN103299283B/zh active Active
- 2012-01-05 EP EP12732390.5A patent/EP2661692B1/en active Active
- 2012-01-05 JP JP2013548536A patent/JP5739551B2/ja active Active
- 2012-01-05 KR KR1020137020633A patent/KR101497860B1/ko active IP Right Grant
- 2012-01-05 WO PCT/US2012/020312 patent/WO2012094481A2/en active Application Filing
- 2012-01-06 TW TW101100720A patent/TWI453585B/zh active
-
2013
- 2013-04-09 US US13/859,502 patent/US8898424B2/en active Active
-
2014
- 2014-05-05 US US14/269,445 patent/US9274973B2/en active Active
-
2015
- 2015-04-23 JP JP2015087997A patent/JP2015158941A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW564346B (en) * | 2001-03-22 | 2003-12-01 | Matsushita Electric Ind Co Ltd | Memory device |
US6898669B2 (en) * | 2001-12-18 | 2005-05-24 | Kabushiki Kaisha Toshiba | Disk array apparatus and data backup method used therein |
US20100030999A1 (en) * | 2008-08-01 | 2010-02-04 | Torsten Hinz | Process and Method for Logical-to-Physical Address Mapping in Solid Sate Disks |
Also Published As
Publication number | Publication date |
---|---|
US20140297990A1 (en) | 2014-10-02 |
US20120179853A1 (en) | 2012-07-12 |
US9274973B2 (en) | 2016-03-01 |
CN103299283A (zh) | 2013-09-11 |
JP2015158941A (ja) | 2015-09-03 |
US20130227247A1 (en) | 2013-08-29 |
US8417914B2 (en) | 2013-04-09 |
EP2661692A4 (en) | 2014-07-02 |
CN103299283B (zh) | 2016-08-17 |
EP2661692B1 (en) | 2020-05-20 |
KR101497860B1 (ko) | 2015-03-04 |
US8898424B2 (en) | 2014-11-25 |
WO2012094481A3 (en) | 2012-09-20 |
JP2014505297A (ja) | 2014-02-27 |
TW201241626A (en) | 2012-10-16 |
JP5739551B2 (ja) | 2015-06-24 |
KR20130114233A (ko) | 2013-10-16 |
WO2012094481A2 (en) | 2012-07-12 |
EP2661692A2 (en) | 2013-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI453585B (zh) | 用於位址轉譯之記憶體裝置及記憶體位址轉譯之方法 | |
US11132298B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes | |
US10241912B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy | |
US9317429B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels | |
TWI405082B (zh) | 記憶體系統及其映射方法 | |
KR102149817B1 (ko) | 메모리 어드레싱 | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US9269438B2 (en) | System and method for intelligently flushing data from a processor into a memory subsystem | |
US8606987B2 (en) | Data writing method for flash memory and controller using the same | |
JP2013152676A (ja) | 不揮発性記憶装置 | |
US20150026394A1 (en) | Memory system and method of operating the same |