TWI664529B - 記憶體裝置及其操作方法及記憶體系統 - Google Patents

記憶體裝置及其操作方法及記憶體系統 Download PDF

Info

Publication number
TWI664529B
TWI664529B TW106111684A TW106111684A TWI664529B TW I664529 B TWI664529 B TW I664529B TW 106111684 A TW106111684 A TW 106111684A TW 106111684 A TW106111684 A TW 106111684A TW I664529 B TWI664529 B TW I664529B
Authority
TW
Taiwan
Prior art keywords
memory
mapping table
host device
controller
further configured
Prior art date
Application number
TW106111684A
Other languages
English (en)
Other versions
TW201802687A (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 TW201802687A publication Critical patent/TW201802687A/zh
Application granted granted Critical
Publication of TWI664529B publication Critical patent/TWI664529B/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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本文中描述具有直接讀取存取之記憶體裝置之若干實施例。在一項實施例中,一種記憶體裝置包含一控制器,該控制器可操作地耦合至形成一記憶體之複數個記憶體區。該控制器經組態以將一第一映射表儲存於該記憶體裝置處,且亦將該第一映射表提供至一主機裝置以儲存於該主機裝置處作為一第二映射表。該控制器進一步經組態以接收自該主機裝置發送之一直接讀取請求。該讀取請求包含該主機裝置已自儲存於該主機裝置處之該第二映射表選擇之一記憶體位址。回應於該直接讀取請求,該控制器基於該讀取請求中之該選定記憶體位址且在不使用儲存於該記憶體裝置處之該第一映射表之情況下識別該記憶體之一記憶體區。

Description

記憶體裝置及其操作方法及記憶體系統
所揭示之實施例係關於記憶體裝置,且特定言之係關於使一主機裝置能夠在本端儲存並直接存取一位址映射表之記憶體裝置。
記憶體裝置可採用快閃記憶體媒體來永久地儲存用於一主機裝置(諸如一行動裝置、一個人電腦或一伺服器)之大量資料。快閃記憶體媒體包含「NOR快閃記憶體」及「NAND快閃記憶體」媒體。基於NAND之媒體通常有利於大量資料儲存,此係因為與NOR媒體相比,其具有一較高儲存容量、較低成本及較快寫入速度。然而,基於NAND之媒體需要一串列介面,此顯著增加一記憶體控制器將記憶體之內容讀出至一主機裝置所花費之時間量。
固態硬碟(SSD)係可包含基於NAND之儲存媒體及隨機存取記憶體(RAM)媒體(諸如動態隨機存取記憶體(DRAM))兩者之記憶體裝置。基於NAND之媒體儲存大量資料。RAM媒體儲存在操作期間由控制器頻繁存取之資訊。
通常儲存於RAM中之一種類型之資訊係一位址映射表。在一讀取操作期間,一SSD將存取映射表以找出將自NAND記憶體讀出內容之適當記憶體位置。映射表使一記憶體區之一原生位址與由主機裝置實施之一對應 邏輯位址相關聯。一般而言,一主機裝置製造商將使用其自身之獨有邏輯區塊定址(LBA)慣例。主機裝置將依賴於SSD控制器以在自NAND記憶體讀取(及寫入至NAND記憶體)時將邏輯位址轉譯成原生位址(且反之亦然)。
傳統SSD之一些較低成本替代物(諸如通用快閃儲存(UFS)裝置及嵌入式多媒體卡(eMMC))省略RAM。在此等裝置中,映射表係儲存於NAND媒體而非RAM中。因此,記憶體裝置控制器必須經由NAND介面(即,串列地)自映射表擷取定址資訊。此繼而降低讀取速度,此係因為控制器在讀取操作期間頻繁地存取映射。
100‧‧‧記憶體裝置
101‧‧‧系統
102‧‧‧主記憶體
105‧‧‧本端記憶體
106‧‧‧控制器
108‧‧‧主機裝置
120‧‧‧記憶體區/記憶體單元
122‧‧‧記憶體胞
124‧‧‧記憶體頁
126‧‧‧記憶體區塊
130‧‧‧處理器
132‧‧‧嵌入式記憶體
134a‧‧‧第一映射表
134b‧‧‧第二映射表
140‧‧‧請求
160‧‧‧直接讀取請求
241‧‧‧寫入請求
251‧‧‧回應
252‧‧‧讀出回應
253‧‧‧更新
261‧‧‧請求
271‧‧‧交換
272‧‧‧交換
275‧‧‧有效負載欄位
276‧‧‧有效負載欄位
410‧‧‧常式
411‧‧‧區塊
412‧‧‧區塊
413‧‧‧區塊
414‧‧‧區塊
415‧‧‧區塊
416‧‧‧區塊
417‧‧‧區塊
418‧‧‧區塊
420‧‧‧常式
421‧‧‧區塊
422‧‧‧區塊
423‧‧‧區塊
424‧‧‧區塊
425‧‧‧區塊
500‧‧‧記憶體裝置
580‧‧‧系統
582‧‧‧電源
584‧‧‧驅動器
586‧‧‧處理器
588‧‧‧其他子系統或組件
Z1‧‧‧第二映射表之第一區帶
Z2‧‧‧第二映射表之第二區帶
圖1係根據本發明技術之一實施例組態之具有一記憶體裝置之一系統之一方塊圖。
圖2A及圖2B係繪示根據本發明技術之實施例之與一記憶體裝置之各種資料交換之訊息流程圖。
圖3A及圖3B展示根據本發明技術之實施例之儲存於一主機裝置中之位址映射表。
圖4A及圖4B係繪示根據本發明技術之實施例之用於操作一記憶體裝置之常式之流程圖。
圖5係根據本發明技術之實施例之包含一記憶體裝置之一系統之一示意圖。
如下文更詳細描述,本文中揭示之技術係關於記憶體裝置、具有記 憶體裝置之系統及用於使一主機裝置能夠自記憶體裝置之記憶體直接讀取之相關方法。然而,熟習相關技術者將瞭解,本發明技術可具有額外實施例且可在無下文關於圖1至圖5描述之實施例之若干細節之情況下實踐本發明技術。在下文繪示之實施例中,在併有基於NAND之儲存媒體(例如,NAND快閃記憶體)的裝置之內容背景中描述記憶體裝置。然而,除基於NAND之儲存媒體之外或代替基於NAND之儲存媒體,根據本發明技術之其他實施例組態之記憶體裝置可亦包含其他類型之適合儲存媒體,諸如磁性儲存媒體。
圖1係根據本發明技術之一實施例組態之具有一記憶體裝置100之一系統101之一方塊圖。如所展示,記憶體裝置100包含一主記憶體102(例如,NAND快閃記憶體)及一控制器106,該控制器106將主記憶體102可操作地耦合至一主機裝置108(例如,一上游中央處理器(CPU))。在下文更詳細描述之一些實施例中,記憶體裝置100可包含一基於NAND之主記憶體102,但省略其他類型之記憶體媒體,諸如RAM媒體。例如,在一些實施例中,此一裝置可省略基於NOR之記憶體(例如,NOR快閃記憶體)及DRAM以降低功率需求及/或製造成本。在至少一些此等實施例中,記憶體裝置100可組態為一UFS裝置或一eMMC。
在其他實施例中,記憶體裝置100可包含額外記憶體,諸如NOR記憶體。在一項此實施例中,記憶體裝置100可組態為一SSD。在又進一步實施例中,記憶體裝置100可採用配置成一疊瓦式磁性記錄(SMR)拓撲之磁性媒體。
主記憶體102包含複數個記憶體區或記憶體單元120,其等各自包含複數個記憶體胞122。記憶體胞122可包含例如經組態以永久地或半永久 地儲存資料之浮動閘儲存元件、鐵電儲存元件、磁阻儲存元件及/或其他適合儲存元件。主記憶體102及/或個別記憶體單元120亦可包含用於存取及/或程式化(例如,寫入)記憶體胞122及其他功能性(諸如用於處理資訊及/或與控制器106通信)之其他電路組件(未展示),諸如多工器、解碼器、緩衝器、讀取/寫入驅動器、位址暫存器、資料輸出/資料輸入暫存器等。在一項實施例中,記憶體單元120之各者可由一半導體晶粒形成且與其他記憶體單元晶粒一起配置於一單一裝置封裝(未展示)中。在其他實施例中,記憶體單元120之一或多者可共置於一單一晶粒上及/或跨多個裝置封裝分佈。
記憶體胞122可配置成群組或「記憶體頁」124。記憶體頁124繼而可群組成更大群組或「記憶體區塊」126。在其他實施例中,記憶體胞122可配置成不同於所繪示實施例中所展示的類型之群組及/或階層。此外,雖然為繪示之目的在所繪示實施例中展示具有特定數目個記憶體胞、頁、區塊及單元,但在其他實施例中,胞、頁、區塊及記憶體單元之數目可變化且在規模上可大於所繪示之實例。例如,在一些實施例中,記憶體裝置100可包含八個、十個或更多個(例如,16個、32個、64個或更多個)記憶體單元120。在此等實施例中,各記憶體單元120可包含例如211個記憶體區塊126,其中各區塊126包含例如215個記憶體頁124,且一區塊內之各記憶體頁124包含例如215個記憶體胞122。
控制器106可為一微控制器、專用邏輯電路(例如,一場可程式化閘陣列(FPGA)、一特定應用積體電路(ASIC)等)或其他適合處理器。控制器106可包含一處理器130,該處理器130經組態以執行儲存於記憶體中之指令。在所繪示之實例中,控制器106之記憶體包含一嵌入式記憶體132, 其經組態以執行各種程序、邏輯流程及常式以控制記憶體裝置100之操作,包含管理主記憶體102及處置記憶體裝置100與主機裝置108之間之通信。在一些實施例中,嵌入式記憶體132可包含儲存例如記憶體指標、經提取資料等之記憶體暫存器。嵌入式記憶體132亦可包含用於儲存微碼之唯讀記憶體(ROM)。
在操作中,控制器106可以一習知方式(諸如藉由寫入至頁124之群組及/或記憶體區塊126)直接寫入或以其他方式程式化(例如,擦除)主記憶體102之各個記憶體區。控制器106使用一原生定址方案存取記憶體區,其中記憶體區基於其等之原生或所謂的「實體」記憶體位址而被辨識。在所繪示之實例中,實體記憶體位址係由參考字母「P」(例如,Pe、Pm、Pq等)表示。各實體記憶體位址可包含可對應於例如一選定記憶體單元120、選定單元120內之一記憶體區塊126及選定區塊126中之一特定記憶體頁124之數個位元(未展示)。在基於NAND之記憶體中,一寫入操作通常包含程式化選定記憶體頁124中具有特定資料值(例如,具有邏輯「0」或邏輯「1」之一值之一串資料位元)之記憶體胞122。一擦除操作類似於一寫入操作,惟擦除操作將一整個記憶體區塊126或多個記憶體區塊126重新程式化至相同資料狀態(例如,邏輯「0」)除外。
控制器106經由一主機裝置介面(未展示)與主機裝置108通信。在一些實施例中,主機裝置108與控制器106可經由一串列介面(諸如一串列附接SCSI(SAS)、一串列AT附接(ATA)介面、一快速周邊組件互連(PCIe))或其他適合介面(例如,一平行介面)通信。主機裝置108可將各種請求(呈例如一封包或封包串流之形式)發送至控制器106。一習知請求140可包含用以寫入、擦除、返回資訊及/或執行一特定操作(例如,一TRIM操作)之 一命令。當請求140係一寫入請求時,該請求將進一步包含由主機裝置108根據一邏輯記憶體定址方案實施之一邏輯位址。在所繪示之實例中,邏輯位址係由參考字母「L」(例如,Lx、Lg、Lr等)表示。邏輯位址具有可為主機裝置類型及/或製造商所獨有之定址慣例。例如,邏輯位址可具有不同於與主記憶體102相關聯之實體記憶體位址之一位址位元數目及配置。
控制器106使用儲存於主記憶體102中之一第一映射表134a或類似資料結構而將請求140中之邏輯位址轉譯成一適當實體記憶體位址。在一些實施例中,轉譯經由一快閃記憶體轉譯層發生。一旦邏輯位址已經轉譯成適當實體記憶體位址,控制器106便存取(例如,寫入)定位於經轉譯位址處之記憶體區。
在本發明技術之一項態樣中,主機裝置108亦可使用儲存於一本端記憶體105(例如,快取記憶體)中之一第二映射表134b或類似資料結構而將邏輯位址轉譯成實體記憶體位址。在一些實施例中,第二映射表134b可與第一映射表134a相同或實質上相同。在使用中,第二映射表134b使主機裝置108能夠執行一直接讀取請求160(在本文中稱為一「直接讀取請求160」),其與自一主機裝置發送至一記憶體裝置之一習知讀取請求相反。如下文描述,一直接讀取請求160包含一實體記憶體位址來代替邏輯位址。
在本發明技術之一項態樣中,控制器106在直接讀取請求160期間並未參考第一映射表134a。因此,直接讀取請求160可最小化處理額外耗用,此係因為控制器106無須擷取儲存於主記憶體102中之第一映射表134a。在本發明技術之另一態樣中,主機裝置108之本端記憶體105可為 與基於NAND之記憶體102(其受限於其之串列介面)相比具有一較快存取時間之DRAM或其他記憶體,如上文論述。在一相關態樣中,主機裝置108可利用本端記憶體105之相對較快存取時間以提高記憶體裝置100之讀取速度。
圖2A及圖2B係繪示根據本發明技術之實施例之主機裝置108、記憶體裝置100(圖1)之控制器106及主記憶體102之間之各種資料交換之訊息流程圖。圖2A展示用於執行一直接讀取之一訊息流程。在發送直接讀取請求160之前,主機裝置108可發送對儲存於主記憶體102中之第一映射表134a之一請求261。回應於請求261,控制器106將含有第一映射表134a之一回應251(例如,一封包串流)發送至主機裝置108。
在一些實施例中,控制器106可以一序列交換(由雙側箭頭271表示)自主記憶體102擷取第一映射表134a。在交換期間,將實體至邏輯位址映射之一部分或區帶自儲存於主記憶體102中之第一映射表134a讀出至嵌入式記憶體132(圖1)中。各區帶可對應於與一或多個記憶體區(例如,數個記憶體區塊126;圖1)相關聯之一實體記憶體位址範圍。一旦一區帶經讀出至嵌入式記憶體132中,隨後便將該區帶傳送至主機裝置108而作為回應251之部分。接著,以一類似方式讀出第一映射表134a中之下一區帶並將其傳送至主機裝置108。因此,可以一系列對應封包傳送區帶而作為回應251之部分。在此實施例之一項態樣中,以區帶之形式劃分且發送第一映射表134a可減小佔用頻寬。
主機裝置108基於其在回應251中自控制器106接收之區帶而建構第二映射表134b。在一些實施例中,控制器106可限制或保留某些區帶用於記憶體維護,諸如OP空間維護。在此等實施例中,受限制及/或所保留之區 帶未被發送至主機裝置108,且其等未形成由主機裝置108儲存之第二映射表134b之一部分。
主機裝置108將第二映射表134b儲存於本端記憶體105(圖1)中。主機裝置108亦使第二映射表134b生效。當需要更新時(例如,在一寫入操作之後),主機裝置108可週期性地使第二映射表134b無效。當第二映射表134b無效時,主機裝置108將不使用第二映射表134b自記憶體讀取。
一旦主機裝置108已使第二映射表134b生效,主機裝置108便可使用第二映射表134b將直接讀取請求160發送至主記憶體102。直接讀取請求160可包含一有效負載欄位275,其含有一讀取命令及自第二映射表134b選擇之一實體記憶體位址。實體記憶體位址對應於待自主記憶體102讀取之記憶體區且其已由主機裝置108自第二映射表134b選擇。回應於直接讀取請求160,可經由中間控制器106以一或多個讀出回應252(例如,讀出封包)讀出記憶體102之選定區之內容。
圖2B展示用於使用一習知寫入請求241寫入或以其他方式程式化(例如,擦除)主記憶體102之一區(例如,一記憶體頁)之一訊息流程。寫入請求241可包含一有效負載欄位276,其含有邏輯位址、一寫入命令及待寫入之資料(未展示)。可在主機裝置108已儲存第二映射表134b之後發送寫入請求241,如上文關於圖2A描述。即使當寫入至主記憶體102時,主機裝置108並未使用第二映射表134b來識別一位址,主機裝置在其發送一寫入請求時仍將使此表134b無效。此係因為在一寫入操作期間,控制器106通常將重映射第一映射表134a之至少一部分,且使第二映射表134b無效將防止主機裝置108使用儲存於其本端記憶體105(圖1)中之一過時的映射表。
當控制器106接收到寫入請求241時,其首先將邏輯位址轉譯成適當實體記憶體位址。接著,控制器106經由數次交換(由雙側箭頭272表示)而以一習知方式將請求241之資料寫入至主記憶體102。當主記憶體102已經寫入(或重寫)時,控制器106更新第一映射表134a。在更新期間,歸因於資料寫入至基於NAND之記憶體之串列性質,控制器106通常將重映射第一映射表134a之至少一子集。
為了使第二映射表134b重新生效,控制器將具有經更新位址映射之一更新253發送至主機裝置108,且主機裝置108使第二映射表134b重新生效。在所繪示之實施例中,控制器106僅將第一映射表134a中已受重映射影響之區帶發送至主機裝置108。此可節省頻寬且降低處理額外耗用,此係因為無需將整個第一映射表134a重新發送至主機裝置108。
圖3A及圖3B展示圖2B中之由主機裝置108使用之第二映射表134b之一部分。圖3A分別展示在圖2B中已更新之前(即,在控制器106發送更新253之前)的第二映射表134b之第一區帶Z1及第二區帶Z2。圖3B展示正更新(即,在控制器106發送更新253之後)的第二區帶Z2。第一區帶Z1無需一更新,此係因為其未受圖2B中之重映射影響。儘管圖3A及圖3B中為繪示之目的僅展示兩個區帶,然第一映射表134a及第二映射表134b可包含更大數目個區帶。在一些實施例中,區帶之數目可取決於映射表之大小、主記憶體102(圖1)之容量,及/或頁124、區塊126及/或單元120之數目。
圖4A及圖4B係分別繪示根據本發明技術之實施例之用於操作一記憶體裝置之常式410及420之流程圖。常式410、420可由例如控制器106(圖1)、主機裝置108(圖1)或記憶體裝置100(圖1)之控制器106及主機裝置108之一組合執行。參考圖4A,常式410可用來執行一直接讀取操作。常 式410以將第一映射表134a儲存於記憶體裝置100處(區塊411)而開始,諸如儲存於圖1中展示之記憶體區塊126及/或記憶體單元120之一或多者中。當記憶體裝置100首次啟動時(例如,當記憶體裝置100及/或主機裝置108從斷電至通電時),常式410可建立第一映射表134a。在一些實施例中,常式410可在記憶體裝置100斷電時擷取儲存於記憶體裝置100中之一先前映射表,且在區塊411處將其儲存為第一映射表134a之前使此表生效。
在區塊412處,常式410接收對一映射表之一請求。請求可包含例如具有一有效負載欄位之一訊息,該有效負載欄位含有控制器106將其辨識為對一映射表之一請求之一獨有命令。回應於請求,常式410將第一映射表134a發送至主機裝置(區塊413至415)。在所繪示之實例中,常式410以一回應串流(例如,一回應封包串流)將映射表之部分(例如,區帶)發送至主機裝置108。例如,常式410可自第一映射表134a讀出一第一區帶(區塊413),將此區帶傳送至主機裝置108(區塊414),且隨後讀出並傳送下一區帶(區塊415),直至整個映射表134a已經傳送至主機裝置108。接著,建構第二映射表134b並將其儲存於主機裝置108處(區塊416)。在一些實施例中,常式410可一次將一整個映射表發送至主機裝置108而非以各別區帶發送該映射表。
在區塊417處,常式410接收來自主機裝置108之一直接讀取請求,且繼續進行以自主記憶體102直接讀取。常式410使用直接讀取請求中所含之實體記憶體位址來定位主記憶體102之適當記憶體區以讀出至主機裝置108,如上文描述。在一些實施例中,常式410可將直接讀取請求部分處理(例如,解封包化或格式化)成主記憶體102之一較低層級裝置協定。
在區塊418處,在讀取操作期間,常式410在未存取第一映射表134a 之情況下讀出主記憶體102。在一些實施例中,常式410可將內容自記憶體102之一選定區讀出至控制器106處之一記憶體暫存器中。在各項實施例中,常式410可部分處理(例如,封包化或格式化)內容以經由一輸送層協定將該內容發送至主機裝置108。
參考圖4B,可實行常式420以執行一程式化操作,諸如一寫入操作。在區塊421處,常式420接收來自主機裝置108之一寫入請求。常式420亦回應於主機裝置108發送寫入請求而使第二映射表134b無效(區塊422)。
在區塊423處,該常式使用自主機裝置108發送之寫入請求中所含之邏輯位址來查找第一映射表134a中之一實體記憶體位址。接著,常式420將寫入請求中之資料寫入至經轉譯實體位址處之記憶體裝置102(區塊424)。
在區塊425處,常式420回應於寫入主記憶體102而重映射第一映射表134a之至少一部分。接著,常式420繼續進行以使儲存於主機裝置108處之第二映射表134b重新生效(區塊425)。在所繪示之實例中,常式420將第一映射表134a中受重映射影響之部分(例如,區帶)發送至主機裝置108,而非發送整個映射表134b。然而,在其他實施例中,諸如在其中廣泛地重映射第一映射表134a之情況中,常式420可發送整個第一映射表134a。
在各項實施例中,常式420可回應於自主機裝置發送之其他請求(諸如回應於用以執行一TRIM操作之一請求)而重映射第一映射表134a(例如,以提高操作速度)。在此等及其他實施例中,常式420可在未由自主機裝置108發送之一請求提示之情況下重映射第一映射表134a之部分。例如,作為一損耗均衡(wear-levelling)程序之部分,常式420可重映射第一映射表134a之部分。在此等情況中,常式420可以在第一映射表134a中受 影響且需要更新之某些區帶週期性地將更新發送至主機裝置108。
替代地,常式420可指示主機裝置108使第二映射表134b無效,而非將(若干)經更新區帶自動發送至主機裝置108(例如,在一損耗均衡操作之後)。作為回應,主機裝置108可在當時或在一稍後時間請求一經更新映射表以使第二映射表134b重新生效。在一些實施例中,通知使主機裝置108能夠排程更新而非由記憶體裝置100指定之更新時序。
圖5係根據本發明技術之實施例之包含一記憶體裝置之一系統之一示意圖。上文關於圖1至圖4B描述之前述記憶體裝置之任一者可併入至無數更大及/或更複雜系統之任一者中,該等系統之一代表性實例係圖5中示意地展示之系統580。系統580可包含一記憶體裝置500、一電源582、一驅動器584、一處理器586,及/或其他子系統或組件588。記憶體裝置500可包含大體上類似於上文關於圖1至圖4描述之記憶體裝置之特徵之特徵,且因此可包含用於執行來自一主機裝置之一直接讀取請求之各種特徵。所得系統580可執行各種各樣的功能之任一者,諸如記憶體儲存、資料處理及/或其他適合功能。因此,代表性系統580可包含但不限於手持型裝置(例如,行動電話、平板電腦、數位閱讀器及數位音訊播放器)、電腦、車輛、電器及其他產品。系統580之組件可容置於一單一單元中或跨多個互連單元分佈(例如,透過一通信網路)。系統580之組件亦可包含遠端裝置及各種各樣的電腦可讀媒體之任一者。
自前文將明白,本文中已為繪示之目的而描述本發明技術之特定實施例,但可在不背離本發明之情況下進行各種修改。另外,亦可在其他實施例中組合或消除在特定實施例之內容背景中描述之本新穎技術之某些態樣。此外,儘管已在該等實施例之內容背景中描述與本新穎技術之特定實 施例相關聯之優點,然其他實施例亦可展現此等優點且未非全部實施例皆需展現此等優點以落於本發明技術之範疇內。因此,本發明及相關聯技術可涵蓋本文中未明確展示或描述之其他實施例。

Claims (27)

  1. 一種記憶體裝置,其包括:一記憶體,其具有指派給多個對應第一記憶體位址之複數個記憶體區;及一控制器,其可操作地耦合至該記憶體,其中該控制器經組態以:限制對該複數個記憶體區中之一或多個記憶體區之存取;將一第一映射表儲存於該記憶體裝置處,其中該第一映射表將該等第一記憶體位址映射至由一主機裝置實施以寫入至該等記憶體區之多個第二記憶體位址,僅提供完全(solely)對應於該複數個記憶體區中之多個未受限制記憶體區之該第一映射表之多個部分至該主機裝置以儲存於該主機裝置處作為一第二映射表,其中該第二映射表僅將對應於該等未受限制記憶體區之該等第一記憶體位址中之多個記憶體位址映射至該等第二記憶體位址中之多個對應記憶體位址,接收自該主機裝置發送之一讀取請求,其中該讀取請求包含由該主機裝置自儲存於該主機裝置處之該第二映射表選擇之一第一記憶體位址,及回應於該讀取請求,(1)使用該讀取請求中之該第一記憶體位址且在不查找該第一映射表中之該第一記憶體位址之情況下識別該等記憶體區之一者,及(2)將該經識別記憶體區之內容讀出至該主機裝置。
  2. 如請求項1之記憶體裝置,其中該控制器進一步經組態以:接收來自該主機裝置之一寫入請求,該寫入請求包含由該主機裝置自該第二映射表選擇之一第二記憶體位址;及回應於該寫入請求,使用該第一映射表來轉譯該寫入請求中之該第二記憶體位址以識別並寫入至一記憶體區。
  3. 如請求項2之記憶體裝置,其中該控制器進一步經組態以:回應於該寫入請求而重映射該第一映射表;及將一更新發送至該主機裝置,其中該更新包含已經重映射之該第一映射表之至少一部分。
  4. 如請求項1之記憶體裝置,其中該控制器進一步經組態以重映射該第一映射表且向該主機裝置通知該第一映射表已經重映射。
  5. 如請求項4之記憶體裝置,其中該控制器進一步經組態以將一更新發送至該主機裝置,其中該更新包含已經重映射之該第一映射表之至少一部分。
  6. 如請求項1之記憶體裝置,其中該控制器進一步經組態以重映射該第一映射表且將一更新發送至該主機裝置,其中該更新包含已經重映射之該第一映射表之一部分而非整個該第一映射表。
  7. 如請求項1之記憶體裝置,其中該控制器進一步經組態以將該第一映射表儲存於該記憶體之該複數個記憶體區之至少一記憶體區中。
  8. 如請求項7之記憶體裝置,其中該等記憶體區包括NAND快閃記憶體媒體。
  9. 如請求項7之記憶體裝置,其中該控制器包含一嵌入式記憶體,且其中該控制器進一步經組態以:將該第一映射表之一第一部分自該至少一記憶體區讀出至該嵌入式記憶體中;將該第一映射表之該第一部分自該嵌入式記憶體傳送至該主機裝置;一旦該第一映射表之該第一部分已經傳送至該主機裝置,便將該第一映射表之一第二部分自該至少一記憶體區讀出至該嵌入式記憶體中;及將該第一映射表之該第二部分自該嵌入式記憶體傳送至該主機裝置。
  10. 如請求項1之記憶體裝置,其中該控制器進一步經組態以:接收來自該主機裝置之對該第一映射表之一請求;及在對該第一映射表之該請求之一第一回應中,將該第一映射表之每一部分發送至該主機裝置。
  11. 如請求項1之記憶體裝置,其中該控制器進一步經組態以:接收來自該主機裝置之對該第一映射表之一請求;及回應於對該第一映射表之該請求,(1)在一第一回應中發送該第一映射表之一第一部分,及(2)在一第二回應中發送該第一映射表之一第二部分,使得該主機裝置可使用該第一映射表之該第一部分及該第二部分建構該第二映射表。
  12. 如請求項1之記憶體裝置,其中該控制器進一步經組態以當該記憶體裝置從斷電至通電時 建立該第一映射表。
  13. 如請求項4之記憶體裝置,其中該控制器進一步經組態以將一更新發送至該主機裝置,且其中該更新包含完全對應於該等未受限制記憶體區之該第一映射表之每一部分。
  14. 一種操作具有一控制器及複數個記憶體區之一記憶體裝置之方法,其中該等記憶體區具有由該控制器實施以讀取並寫入至該等記憶體區之多個對應原生記憶體位址,且其中該方法包括:限制對該複數個記憶體區中之一或多個記憶體區之存取;當寫入至該記憶體裝置時,將該等原生記憶體位址映射至由一主機裝置實施之多個邏輯位址;將該映射儲存於該記憶體裝置處之一第一映射表中;僅提供完全對應於該複數個記憶體區中之多個未受限制記憶體區之該第一映射表之多個部分至該主機裝置以將該第一映射表作為一第二映射表儲存於該主機裝置處,其中該第二映射表僅將對應於該等未受限制記憶體區之多個原生記憶體位址映射至多個對應本端記憶體位址;接收來自該主機裝置之一讀取請求,其中該讀取請求包含由該主機裝置自儲存於該主機裝置處之該第二映射表選擇之一原生記憶體位址;及將內容自該等記憶體區中對應於由該主機裝置選擇之該原生記憶體位址之一記憶體區讀出至該主機裝置。
  15. 如請求項14之方法,其進一步包括:將該等原生記憶體位址重映射至多個不同邏輯位址;更新該第一映射表之一部分以反映該重映射;及將該第一映射表之經更新之該部分提供至該主機裝置。
  16. 如請求項15之方法,其進一步包括在該重映射之前使該第二映射表無效。
  17. 如請求項15之方法,其中該重映射係由該記憶體裝置進行之一損耗均衡程序之部分。
  18. 如請求項14之方法,其進一步包括:接收一寫入請求;回應於該寫入請求而更新該第一映射表之多個各別部分;及將完全對應於該等未受限制記憶體區之一或多者之該第一映射表之經更新之該等部分而非整個該第一映射表提供至該主機裝置。
  19. 如請求項15之方法,其進一步包括在更新該第一映射表之該部分之後,由該主機裝置排程一未來時間以將該第一映射表之經更新之該部分提供至該主機裝置。
  20. 一種記憶體系統,其包括:一記憶體裝置,其具有複數個記憶體區,該複數個記憶體區含有多個對應第一記憶體位址,其中該複數個記憶體區包含多個經保留記憶體區及多個未經保留記憶體區,且其中該記憶體裝置經組態以儲存一第一映射表,該第一映射表包含該等第一記憶體位址至多個第二記憶體位址之一映射;及一主機裝置,其可操作地耦合至該記憶體裝置且具有一記憶體,其中該主機裝置經組態以:經由儲存於該記憶體裝置處之該第一映射表寫入至該記憶體裝置,將僅包含完全對應於該等未經保留記憶體區之該第一映射表之多個部分之該映射之一第二映射表儲存於該主機裝置之該記憶體中,及替代該第一映射表,經由該第二映射表而自該記憶體裝置讀取。
  21. 如請求項20之系統,其中該記憶體裝置進一步經組態以更新該第一映射表之一部分,且其中該主機裝置進一步經組態以接收該第一映射表之經更新之該部分,且基於該第一映射表之經更新之該部分更新該第二映射表。
  22. 如請求項21之系統,其中該記憶體裝置進一步經組態以回應於該第二映射表之該更新而指示該主機裝置使該第二映射表生效。
  23. 如請求項21之系統,其中該主機裝置進一步經組態以在寫入至該記憶體裝置時使該第二映射表無效。
  24. 如請求項20之系統,其中該主機裝置進一步經組態以向該記憶體裝置請求該第一映射表。
  25. 如請求項20之系統,其中該記憶體裝置進一步經組態以僅將完全對應於該等未經保留記憶體區之該第一映射表之多個個別部分傳送至該主機裝置,且其中該主機裝置進一步經組態以自傳送至該主機裝置之該等個別部分建構該第二映射表。
  26. 如請求項20之系統,其中該記憶體裝置之該等記憶體區係多個基於NAND之記憶體區,且其中該主機裝置之該記憶體係一隨機存取記憶體。
  27. 如請求項26之系統,其中該記憶體裝置進一步經組態以將該第一映射表儲存於該等記憶體區之一或多者中。
TW106111684A 2016-04-14 2017-04-07 記憶體裝置及其操作方法及記憶體系統 TWI664529B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/099,389 US20170300422A1 (en) 2016-04-14 2016-04-14 Memory device with direct read access
US15/099,389 2016-04-14

Publications (2)

Publication Number Publication Date
TW201802687A TW201802687A (zh) 2018-01-16
TWI664529B true TWI664529B (zh) 2019-07-01

Family

ID=60038197

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106111684A TWI664529B (zh) 2016-04-14 2017-04-07 記憶體裝置及其操作方法及記憶體系統

Country Status (6)

Country Link
US (1) US20170300422A1 (zh)
EP (1) EP3443461A4 (zh)
KR (1) KR20180123192A (zh)
CN (1) CN109074307A (zh)
TW (1) TWI664529B (zh)
WO (1) WO2017180327A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI815622B (zh) * 2022-03-15 2023-09-11 日商鎧俠股份有限公司 資訊處理裝置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10542089B2 (en) * 2017-03-10 2020-01-21 Toshiba Memory Corporation Large scale implementation of a plurality of open channel solid state drives
US10445195B2 (en) 2017-08-07 2019-10-15 Micron Technology, Inc. Performing data restore operations in memory
US10970226B2 (en) 2017-10-06 2021-04-06 Silicon Motion, Inc. Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US10809942B2 (en) * 2018-03-21 2020-10-20 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US11048597B2 (en) 2018-05-14 2021-06-29 Micron Technology, Inc. Memory die remapping
CN112513822B (zh) * 2018-08-01 2024-05-10 华为技术有限公司 信息处理方法及装置、设备、***
KR20200050169A (ko) * 2018-11-01 2020-05-11 삼성전자주식회사 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법
TWI709854B (zh) * 2019-01-21 2020-11-11 慧榮科技股份有限公司 資料儲存裝置及用於存取邏輯至物理位址映射表之方法
CN109800179B (zh) * 2019-01-31 2021-06-22 维沃移动通信有限公司 获取数据的方法、发送数据的方法、主机和内嵌式存储器
KR20200099897A (ko) * 2019-02-15 2020-08-25 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
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 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치
KR20200122086A (ko) 2019-04-17 2020-10-27 에스케이하이닉스 주식회사 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치
KR20200142393A (ko) * 2019-06-12 2020-12-22 에스케이하이닉스 주식회사 저장 장치, 호스트 장치 및 그들의 동작 방법
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11520907B1 (en) * 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US20210382992A1 (en) * 2019-11-22 2021-12-09 Pure Storage, Inc. Remote Analysis of Potentially Corrupt Data Written to a Storage System
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
US11500788B2 (en) * 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11249896B2 (en) * 2019-12-20 2022-02-15 Micron Technology, Inc. Logical-to-physical mapping of data groups with data locality
US11615022B2 (en) * 2020-07-30 2023-03-28 Arm Limited Apparatus and method for handling accesses targeting a memory
US11449244B2 (en) * 2020-08-11 2022-09-20 Silicon Motion, Inc. Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information
US20240012579A1 (en) * 2022-07-06 2024-01-11 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for data placement in a storage device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601202B1 (en) * 2009-08-26 2013-12-03 Micron Technology, Inc. Full chip wear leveling in memory device
US20140129761A1 (en) * 2012-11-02 2014-05-08 Samsung Electronics Co., Ltd. Non-volatile memory device and host device configured to communication with the same
US20140215129A1 (en) * 2013-01-28 2014-07-31 Radian Memory Systems, LLC Cooperative flash memory control
US20150006793A1 (en) * 2013-06-28 2015-01-01 Samsung Electronics Co., Ltd. Storage system and operating method thereof
US20150356020A1 (en) * 2014-06-05 2015-12-10 Sandisk Technologies Inc. Methods, systems, and computer readable media for solid state drive caching across a host bus
US20160062885A1 (en) * 2014-09-02 2016-03-03 Samsung Electronics Co., Ltd. Garbage collection method for nonvolatile memory device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429352B2 (en) * 2007-06-08 2013-04-23 Sandisk Technologies Inc. Method and system for memory block flushing
US8977805B2 (en) * 2009-03-25 2015-03-10 Apple Inc. Host-assisted compaction of memory blocks
JP2012128815A (ja) * 2010-12-17 2012-07-05 Toshiba Corp メモリシステム
TWI480733B (zh) * 2012-03-29 2015-04-11 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
US9164888B2 (en) * 2012-12-10 2015-10-20 Google Inc. Using a logical to physical map for direct user space communication with a data storage device
KR20150015764A (ko) * 2013-08-01 2015-02-11 삼성전자주식회사 스토리지 디바이스 및 이를 포함하는 스토리지 시스템
US9626331B2 (en) * 2013-11-01 2017-04-18 International Business Machines Corporation Storage device control

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601202B1 (en) * 2009-08-26 2013-12-03 Micron Technology, Inc. Full chip wear leveling in memory device
US20140129761A1 (en) * 2012-11-02 2014-05-08 Samsung Electronics Co., Ltd. Non-volatile memory device and host device configured to communication with the same
US20140215129A1 (en) * 2013-01-28 2014-07-31 Radian Memory Systems, LLC Cooperative flash memory control
US20150006793A1 (en) * 2013-06-28 2015-01-01 Samsung Electronics Co., Ltd. Storage system and operating method thereof
US20150356020A1 (en) * 2014-06-05 2015-12-10 Sandisk Technologies Inc. Methods, systems, and computer readable media for solid state drive caching across a host bus
US20160062885A1 (en) * 2014-09-02 2016-03-03 Samsung Electronics Co., Ltd. Garbage collection method for nonvolatile memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI815622B (zh) * 2022-03-15 2023-09-11 日商鎧俠股份有限公司 資訊處理裝置

Also Published As

Publication number Publication date
WO2017180327A1 (en) 2017-10-19
US20170300422A1 (en) 2017-10-19
KR20180123192A (ko) 2018-11-14
TW201802687A (zh) 2018-01-16
EP3443461A1 (en) 2019-02-20
EP3443461A4 (en) 2019-12-04
CN109074307A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
TWI664529B (zh) 記憶體裝置及其操作方法及記憶體系統
CN112470113B (zh) 存储器***中的隔离性能域
CN111684417B (zh) 用以存取异质存储器组件的存储器虚拟化
TWI770218B (zh) 記憶體系統及其操作方法
US10924552B2 (en) Hyper-converged flash array system
KR102652694B1 (ko) 서브 블록 모드를 사용한 구역 네임스페이스 제한 완화
US10965751B2 (en) Just a bunch of flash (JBOF) appliance with physical access application program interface (API)
CN113553099A (zh) 主机常驻转换层写入命令
US20170206033A1 (en) Mechanism enabling the use of slow memory to achieve byte addressability and near-dram performance with page remapping scheme
JP7375215B2 (ja) 順次的にプログラムするメモリサブシステムにおける順次読み出し最適化
US20200218451A1 (en) Storage device having dual access procedures
KR102495910B1 (ko) 스토리지 장치 및 그 동작 방법
CN111684432B (zh) 对存储媒体的同步存储器总线存取
US20170255565A1 (en) Method and apparatus for providing a contiguously addressable memory region by remapping an address space
US11782617B2 (en) Host device, storage device, and electronic device
US11681629B2 (en) Direct cache hit and transfer in a memory sub-system that programs sequentially
US11954350B2 (en) Storage device and method of operating the same
TW202405660A (zh) 儲存裝置、包括儲存裝置的電子裝置及其操作方法
JP2023127937A (ja) メモリシステム