[go: up one dir, main page]

TW201918869A - 資料儲存裝置及其操作方法 - Google Patents

資料儲存裝置及其操作方法 Download PDF

Info

Publication number
TW201918869A
TW201918869A TW107124925A TW107124925A TW201918869A TW 201918869 A TW201918869 A TW 201918869A TW 107124925 A TW107124925 A TW 107124925A TW 107124925 A TW107124925 A TW 107124925A TW 201918869 A TW201918869 A TW 201918869A
Authority
TW
Taiwan
Prior art keywords
mapping
segment
address
information
compressed
Prior art date
Application number
TW107124925A
Other languages
English (en)
Other versions
TWI772466B (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 TW201918869A publication Critical patent/TW201918869A/zh
Application granted granted Critical
Publication of TWI772466B publication Critical patent/TWI772466B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Electrotherapy Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

關於一種資料儲存裝置可包括非揮發性記憶體裝置和控制器,其中非揮發性記憶體裝置儲存包括多個映射段的位址映射表,控制器包括隨機存取記憶體。控制器回應於從主機裝置接收的讀取請求,基於第一映射段的背景資訊將壓縮的第一映射段或非壓縮的第一映射段載入到隨機存取記憶體中。背景資訊被儲存在映射段背景資訊表中,映射段背景資訊表被儲存在隨機存取記憶體中並且背景資訊表示映射段是否可被壓縮。

Description

資料儲存裝置及其操作方法
各個實施例整體係關於一種半導體裝置,且更特別地係關於一種資料儲存裝置及其操作方法。
近來,電腦環境範例已經轉變為可在任何時間和任何地點使用的普及計算系統。諸如行動電話、數位相機、筆記型電腦等的可擕式電子裝置被廣泛使用。可擕式電子裝置可包括使用記憶體裝置的資料儲存裝置,其中記憶體裝置用於儲存可擕式電子裝置的資料。
使用記憶體裝置的資料儲存裝置不包括機械驅動機構,因此,相對於使用機械驅動機構的資料儲存裝置,使用記憶體裝置的資料儲存裝置表現出提升的穩定性和可靠性。此外,使用記憶體裝置的資料儲存裝置可具有快速存取速度和低功耗。使用用於儲存資料的記憶體裝置的資料儲存裝置的示例包括通用序列匯流排(universal serial bus, USB)記憶卡、包括各種介面的記憶卡、通用快閃儲存(universal flash storage, UFS)卡、固態硬碟(solid sage drive, SSD)等。
本申請要求於2017年11月13日提交的申請號為10-2017-0150575的韓國專利申請的優先權,其全部內容透過引用併入本文。
本公開的示例性實施例提供了一種資料儲存裝置,其在不使操作性能劣化的情況下壓縮映射資料。
本公開的示例性實施例還提供了一種上述資料儲存裝置的操作方法。
在實施例中,資料儲存裝置包括非揮發性記憶體裝置和控制器,其中非揮發性記憶體裝置儲存包括多個映射段的位址映射表,控制器包括隨機存取記憶體。控制器回應於從主機裝置接收的讀取請求,基於第一映射段的背景資訊(meta-information)將壓縮的第一映射段或非壓縮的第一映射段載入到隨機存取記憶體中。背景資訊被儲存在映射段背景資訊表中,映射段背景資訊表被儲存在隨機存取記憶體中並且背景資訊表示映射段是否可被壓縮。
在實施例中,在一種操作資料儲存裝置的方法中,其中資料儲存裝置包括非揮發性記憶體裝置和控制器,非揮發性記憶體裝置儲存具有多個映射段的位址映射表以及控制器控制非揮發性記憶體裝置的操作,該方法包括:當從主機裝置接收到讀取請求和待讀取的邏輯位址時,確定是否從位址映射表中載入第一映射段;基於儲存在映射段背景資訊表中的第一映射段的背景資訊來載入壓縮或非壓縮的第一映射段,映射段背景資訊表包括表示映射段中的每個是否可被壓縮的背景資訊;以及透過參考所載入的第一映射段,讀取儲存在非揮發性記憶體裝置中的與待被讀取的邏輯位址相對應的物理位址處的資料。
在實施例中,一種記憶體系統包括記憶體裝置和控制器,其中記憶體裝置儲存表示邏輯位址與物理位址之間的關係的多個映射段,控制器包括隨機存取記憶體。控制器回應於請求,透過根據背景資訊來選擇性地壓縮載入段之中的一個或多個來載入映射段之中的一個或多個載入段,背景資訊表示各個映射段的壓縮大小是否等於或大於預定大小;並且透過參考載入段來控制記憶體裝置以執行與請求相對應的操作。
在實施例中,一種資料處理系統包括主機設備;以及可操作地耦接到主機設備的固態硬碟,固態硬碟包括控制器和緩衝記憶體裝置,控制器透過專用通訊通道可操作地耦接到多個非揮發性記憶體裝置,以及緩衝記憶體裝置可操作地耦接到控制器。每個非揮發性記憶體裝置被配置成儲存多個映射段。控制器被配置成將第一映射段載入到緩衝記憶體中以處理從主機設備接收的讀取請求;並且基於儲存在映射段背景資訊表中的第一映射段的背景資訊來確定是否壓縮第一映射段,其中背景資訊表示映射段是否可被壓縮。
在實施例中,一種資料儲存裝置,其包括非揮發性記憶體裝置和控制器,其中非揮發性記憶體裝置被配置成儲存多個映射段,控制器包括隨機存取記憶體。控制器將第一映射段載入到隨機存取記憶體中以處理從主機裝置接收的讀取請求;控制器基於儲存在映射段背景資訊表中的第一映射段的背景資訊來確定是否壓縮第一映射段;並且控制器透過參考所載入的第一映射段來讀取儲存在非揮發性記憶體裝置中的與邏輯位址相對應的物理位址處的資料。
在下文中,將透過實施例的各個示例參照所附圖式在下面描述本發明。然而,應當注意的是,所描述的示例僅用於公開本發明的目的,而並非旨在限制本發明的範圍。本發明所屬領域的技術人員應當理解的是,本公開中公開的技術方案不僅可以在所述實施例中實施,而且可以在不脫離本發明的技術方案和範圍的情況下,在各種其它實施例或其變型中實施。
注意的是,在描述本公開時,當確定已知的相關技術的詳細描述可能使本公開的主旨模糊時,將省略對其的詳細描述。
還應注意的是,在下面的描述中,闡述了許多具體細節以便提供對本發明的透徹理解,然而,可以在沒有一些或所有這些具體細節的情況下實踐本發明。在其它情況下,為了不使本發明被不必要地模糊,未詳細地描述已知的製程結構和/或製程。
也應注意的是,在一些情況下,對相關領域的技術人員顯而易見的是,除非另有明確說明,結合一個實施例所述的特徵或元件可單獨使用或與另一實施例的其它特徵或元件結合使用。
圖1是示出根據示例性實施例的資料儲存裝置10的方塊圖。
參照圖1,該示例性實施例的資料儲存裝置10可被配置成儲存由諸如以下的主機裝置存取的資料:行動電話、MP3播放機、膝上型電腦、桌上型電腦、遊戲機、TV、車載資訊娛樂系統等。資料儲存裝置10可被稱為記憶體系統。
資料儲存裝置10可被實施為各種儲存裝置。根據特定的實施方案,資料儲存裝置10可採用不同的介面協定來與主機裝置通訊。例如,資料儲存裝置10的各種實施方案可包括以下中的任何一種:固態硬碟(SSD),諸如MMC、eMMC、RS-MMC、微型-MMC等的多媒體卡、諸如SD、迷你-SD或微型-SD等的安全數位卡、諸如通用序列匯流排(USB)、通用快閃記憶體(UFS)、國際個人電腦記憶卡協會(personal computer memory card international association, PCMCIA)等的儲存裝置、周邊元件連接卡、高速PCI(PCI-E)卡、緊湊型快閃記憶體(compact flash, CF)卡、智慧媒體卡、記憶棒等。
資料儲存裝置10可具有包括例如以下的各種封裝結構中的任何一種:堆疊封裝(package-on-package, POP)、系統級封裝(system-in-package, SIP)、片上系統(system-on-chip, SOC)、多晶片封裝(multi-chip package, MCP)、板上晶片(chip-on-board, COB)、晶圓級製造封裝(wafer-level fabricated package, WFP)以及晶圓級堆疊封裝(wafer-level stack package, WSP)等。
資料儲存裝置10可包括經由一個或多個通訊通道CH而可操作地彼此耦接的非揮發性記憶體裝置100和控制器200。可使用任何合適的通訊通道。
非揮發性記憶體裝置100可操作為資料儲存裝置10的儲存介質。非揮發性記憶體裝置100可包括:NAND快閃記憶體裝置、NOR快閃記憶體裝置、使用鐵電電容器的鐵電隨機存取記憶體(ferroelectric random-access memory, FRAM)、使用穿隧磁阻(tunneling magneto-resistive, TMR)層的磁性隨機存取記憶體(magnetic random-access memory, MRAM)、使用硫族化合物的相變隨機存取記憶體(phase change random-access memory, PRAM)以及使用過渡金屬氧化物的電阻式隨機存取記憶體(resistive random-access memory, RERAM)等。
在示例性實施例中,資料儲存裝置10可包括單個非揮發性記憶體裝置100。可選地,資料儲存裝置10可包括多個非揮發性記憶體裝置。多個非揮發性記憶體裝置可以為相同類型。多個非揮發性記憶體裝置可以為不同類型。
非揮發性記憶體裝置100可包括記憶體單元陣列。記憶體單元陣列可包括佈置在字元線和位元線之間的交叉區域處的記憶體單元。記憶體單元陣列可包括多個儲存塊。儲存塊中的每一個可包括多個頁面。
例如,記憶體單元中的每一個可包括被配置成儲存一個位元的單層單元(single level cell, SLC)、被配置成儲存兩個位元的多層單元(multi level cell, MLC)、被配置成儲存三個位元的三層單元(triple level cell, TLC)以及被配置成儲存四個位元的四層單元(quadruple level cell, QLC)等。記憶體單元陣列110可包括SLC、MLC、TLC和QLC型記憶體單元中的至少一種類型的記憶體單元。記憶體單元陣列110可具有二維結構或三維結構。
非揮發性記憶體裝置100可被配置成儲存位址映射表AMT。位址映射表AMT可包括多個條目,每一個條目將從主機裝置接收的邏輯塊位址LBA映射到非揮發性記憶體裝置100的相應物理塊位址PBA。物理塊位址表示非揮發性記憶體裝置中資料所儲存的實際位置。在本文中可互換地使用術語物理塊位址和物理位址。
圖2是由圖1所示的資料儲存裝置10應用的位址映射表AMT的示例。
參照圖2,位址映射表AMT可包括多個映射段S0至Sn。映射段S0至Sn中的每一個可包括多個邏輯塊位址LBA0至LBAm和多個相應的物理塊位址PBA0至PBAm。在本文中,邏輯塊位址LBA和映射到邏輯塊位址LBA的相應物理塊位址PBA被稱為邏輯到物理(logical-to-physical, L2P)條目。映射段S0至Sn中的每一個可包括m個L2P條目。
可對位址映射表AMT的L2P條目進行更新。例如,每當由主機裝置請求的程式化資料的大小總和達到預定大小時,可對L2P條目進行更新。可選地,當被配置成儲存物理到邏輯(physical-to-logical, P2L)條目的位址緩衝器AB(參見圖3)充滿P2L條目時,可對位址映射表AMT中的L2P條目進行更新。然而,位址映射表AMT中的L2P條目的更新時間可不被限定於特定時間。
重新參照圖1,控制器200可包括主機介面210、處理器220、隨機存取記憶體230、記憶體介面240、壓縮引擎250和解壓縮引擎260。
主機介面210可被配置成根據主機裝置的相應協定,將主機裝置與資料儲存裝置10進行介面連接。例如,主機介面210可透過以下中的任何一種來與主機裝置進行通訊:USB、UFS、MMC、並行高級技術附件(parallel advanced technology attachment, PATA)、串列高級技術附件(serial advanced technology attachment, SATA)、小型電腦系統介面(small computer system interface, SCSI)、串列SISI(serial attached SISI, SAS)、周邊元件連接(peripheral component interconnection, PCI)和PCI-E。
處理器220可包括微控制單元(micro control unit, MCU)和中央處理單元(central processing unit, CPU)。處理器220可被配置成處理從主機裝置傳輸的請求。為了處理從主機裝置傳輸的請求,處理器220可驅動儲存在隨機存取記憶體230中的指令或演算法。在隨機存取記憶體230中,指令和/或演算法可以是韌體的形式。
隨機存取記憶體230可包括DRAM或SRAM。隨機存取記憶體230可被配置成儲存由處理器220驅動的韌體。隨機存取記憶體230可被配置成儲存資料,例如用於驅動韌體的元資料。也就是說,隨機存取記憶體230可操作為處理器220的工作記憶體。
隨機存取記憶體230可被配置成臨時儲存從主機裝置傳輸到非揮發性記憶體裝置100的資料或從非揮發性記憶體裝置100傳輸到主機裝置的資料。也就是說,隨機存取記憶體230可被操作為緩衝記憶體。
圖3是示出圖1中的隨機存取記憶體230的示例的方塊圖。
參照圖3,隨機存取記憶體230可包括位址緩衝器AB、映射更新緩衝器MUB、映射快取緩衝器MCB及映射段背景資訊(meta-information)表SMT。
位址緩衝器AB可被配置成儲存與主機裝置的程式化請求一起提供的位址,即邏輯塊位址LBA,以及待儲存程式化資料的非揮發性記憶體裝置100的實際位址,即物理塊位址PBA。從主機裝置與程式化請求一起接收的這些位址資訊被作為位址映射資訊而儲存在位址緩衝器AB中,其中位址映射資訊稱為物理到邏輯(P2L)條目。可基於位址緩衝器AB中的P2L條目來更新非揮發性記憶體裝置100的位址映射表AMT。
映射更新緩衝器MUB可被配置成臨時儲存非揮發性記憶體裝置100的位址映射表AMT中的映射段S0至Sn之中,待被更新的映射段的L2P條目。與儲存在映射更新緩衝器MUB中的L2P條目中的每一個相對應的物理塊位址PBA可被改變為與儲存在位址緩衝器AB中的P2L條目相對應。可透過將具有改變的物理塊位址PBA的L2P條目寫入到非揮發性記憶體裝置100的位址映射表AMT中來完成對位址映射表AMT的更新。
映射快取緩衝器MCB可被配置成快取從主機裝置與最新請求和/或頻繁請求一起提供的邏輯位址相對應的映射資料。由映射快取緩衝器MCB快取的映射資料可包括L2P條目。由映射快取緩衝器MCB快取的映射資料可以是或可以不是被壓縮的。當映射資料可被壓縮到不超過預定大小的大小時,壓縮映射資料被快取在映射快取緩衝器MCB中。相反地,當映射資料無法被壓縮到不超過預定大小的大小時,則具有原始大小的非壓縮映射資料被快取在映射快取緩衝器MCB中。
映射段背景資訊表SMT可被配置成儲存資訊,該資訊包括非揮發性記憶體裝置100中的位址映射表AMT的映射段S0至Sn是否可被壓縮。包括映射段S0至Sn是否可被壓縮的資訊被稱為背景資訊。映射段背景資訊表SMT可以位元映射表的形式儲存背景資訊。
雖然圖3描述了儲存在隨機存取記憶體230中的單獨分配區域中的映射段背景資訊表SMT,但儲存映射段背景資訊表SMT的區域可不限於特定區域內。例如,映射段背景資訊表SMT可與背景資訊一起被儲存在一個區域中,該區域可被分配用於儲存各個背景資訊,而不在隨機存取記憶體230中分配單獨的區域以用於儲存映射段背景資訊表SMT。
圖4是示出映射段元資訊表SMT的示例的方塊圖。
參照圖4,映射段背景資訊表SMT可儲存數個映射段S0至Sn和映射段S0至Sn的背景資訊,即,映射段可被壓縮的資訊或者映射段不可被壓縮的資訊。例如,位元“1”可表示映射段可被壓縮,並且位元“0”可表示映射段不可被壓縮。當需要載入特定映射段時,處理器220可基於映射段背景資訊表SMT來確定該映射段是否可被壓縮。
重新參照圖1,記憶體介面240可根據處理器220的控制來控制非揮發性記憶體裝置100。記憶體介面240可被稱為記憶體控制器。記憶體介面240可向非揮發性記憶體裝置100提供控制訊號。控制訊號可包括用於控制非揮發性記憶體裝置100的指令、位址等。記憶體介面240可向非揮發性記憶體裝置100提供資料或從非揮發性記憶體裝置100接收資料。記憶體介面240可透過通訊通道CH與非揮發性記憶體裝置100連接。通訊通道CH可包括至少一個訊號線。
壓縮引擎250可被配置成在處理器220的控制下讀取和壓縮非揮發性記憶體裝置100的位址映射表AMT中的一個或多個映射段。壓縮引擎250可被配置成將壓縮映射段中的一個或多個輸出到隨機存取記憶體230。壓縮映射段可被快取在隨機存取記憶體230的映射快取緩衝器MCB中。
例如,在對儲存在非揮發性記憶體裝置100中的位址映射表AMT進行更新期間,壓縮引擎250可在處理器220的控制下壓縮更新的映射段。壓縮引擎250可確定壓縮映射段的大小是否不超過預定大小。基於確定結果,壓縮引擎250可向處理器220提供包括映射段是否可被壓縮的資訊。基於從壓縮引擎250提供的資訊,處理器220可將映射段的背景資訊儲存或更新(renew)在映射段背景資訊表SMT中。
解壓縮引擎260(也被稱為壓縮釋放引擎)可被配置成對快取在映射快取緩衝器MCB中的映射段之中的壓縮映射段進行解壓縮。處理器220可控制非揮發性記憶體裝置100以基於解壓縮的映射資料來讀取主機裝置所請求的位址的資料。
圖5是示出根據本公開的實施例的資料儲存裝置10的映射更新操作的流程圖。
參照圖1至圖5,在步驟S501中,控制器200的處理器220可確定是否執行映射更新。當隨機存取記憶體230的位址緩衝器AB變為充滿P2L條目(不具有空的空間),或者從主機裝置接收的程式化資料的累積大小達到預定大小時,則處理器200可執行映射更新,其將非揮發性記憶體裝置100中的位址映射表AMT進行更新。
如果確定應該執行映射更新(步驟S501中為“是”),則製程可繼續進行至步驟S503。
在步驟S503中,處理器220可控制非揮發性記憶體裝置100讀取並傳輸來自非揮發性記憶體裝置100的位址映射表AMT中的映射段S0至Sn之中的待被更新的映射段。當從非揮發性記憶體裝置100接收到待被更新的映射段時,接收的映射段可被儲存在隨機存取記憶體230的映射更新緩衝器MUB中。
在步驟S505中,處理器220可改變儲存在隨機存取記憶體220的映射更新緩衝器MUB中的待被更新的映射段的L2P條目的物理塊位址PBA,以與位址緩衝器AB中的P2L條目相對應。
在步驟S507中,處理器220可控制非揮發性記憶體裝置100,以將映射更新緩衝器MUB中的具有改變的物理塊位址PBA的映射段儲存在非揮發性記憶體裝置100的位址映射表AMT的相應區域中,從而可完成對位址映射表AMT的更新。
在步驟S509中,處理器220可控制壓縮引擎250以確定是否可以對被更新映射段中的每一個進行壓縮,並且提供確定結果。壓縮引擎250可在處理器220的控制下對傳輸到非揮發性記憶體裝置100的被更新映射段進行壓縮。壓縮引擎250可將壓縮映射段的大小與預定大小進行比較,以確定映射段是否可被壓縮。壓縮引擎250可向處理器220提供包括確定結果的資訊。基於從壓縮引擎250提供的映射段的資訊,處理器220可將映射段的背景資訊儲存或更新在映射段背景資訊表SMT中。
圖6是示出根據示例性實施例的資料儲存裝置10的映射壓縮操作的流程圖。
參照圖6,在步驟S601中,處理器220可確定是否從主機裝置接收到讀取請求。還可與讀取請求一起被接收到讀取位址。
當接收到讀取請求時(步驟S601中為“是”),在步驟S603中,處理器220可確定是否載入映射段。為了確定是否執行映射段的載入,處理器220可掃描映射快取緩衝器MCB以識別快取在快取緩衝器MCB中的L2P條目,該L2P條目與從主機裝置接收的讀取位址,即邏輯塊位址相對應。
當與讀取位址相對應的L2P條目被快取在映射快取緩衝器MCB中時,處理器220可確定不需要載入映射段。相反地,當與讀取位址相對應的L2P條目未被快取在映射快取緩衝器MCB中時,處理器220可確定需要從非揮發性記憶體裝置100的位址映射表AMT中載入包括與讀取位址相對應的L2P條目的映射段。
當確定不需要載入映射段時(步驟S603中為“否”),可執行稍後描述的步驟S607。
當確定需要載入映射段時(步驟S603中為“是”),在步驟S605中,處理器220可基於隨機存取記憶體230的映射段背景資訊表SMT來識別背景資訊。處理器220可基於背景資訊,透過使用壓縮引擎250來壓縮和載入映射段或者僅載入映射段而不進行壓縮。映射段背景資訊表SMT可將表示映射段是否可被壓縮的背景資訊儲存為位元“1”或位元“0”。
當載入的映射段的背景資訊表示載入的映射段可被壓縮時,處理器220可使用壓縮引擎250來壓縮映射段,並且處理器220可對映射快取緩衝器MCB分配用於壓縮映射段的空間。壓縮映射段可被儲存在映射快取緩衝器MCB中的分配空間中。當載入的映射段的背景資訊表示載入的映射段不可被壓縮時,處理器220不壓縮映射段,並且處理器220對映射快取緩衝器MCB分配用於原始映射段的空間。然後,原始映射段可被儲存在映射快取緩衝器MCB中的分配空間中。例如,載入的映射段的背景資訊可以是表示載入的映射段可被壓縮的“1”,或者可以是表示載入的映射段不可被壓縮的“0”。
當不需要載入包括與讀取位址相對應的L2P條目的映射段時,在步驟S607中,處理器220可基於映射快取緩衝器MCB中的映射段的相應L2P條目來識別與讀取位址(即邏輯塊位址LBA)相對應的物理塊位址PBA。然後,處理器220可控制非揮發性記憶體裝置100以從所識別的物理塊位址讀取資料。當映射段被壓縮時,處理器220可使用解壓縮引擎260對壓縮映射段進行解壓縮,並且處理器220可基於解壓縮映射段來識別與讀取位址相對應的物理塊位址。
圖7是示出根據實施例的包括固態硬碟(SSD)的資料處理系統的示例的示意圖。參照圖7,資料處理系統2000可包括主機設備2100和SSD 2200。
SSD 2200可包括控制器2210、緩衝記憶體裝置2220、非揮發性記憶體裝置2231至223n、電源2240、訊號連接器2250和電源連接器2260。非揮發性記憶體裝置2231至223n可各自與圖1的非揮發性記憶體裝置100相同。控制器2210可與圖1的控制器200相同。
控制器2210可控制SSD 2200的全部操作。
緩衝記憶體裝置2220可臨時儲存待被儲存在非揮發性記憶體裝置2231至223n中的資料。緩衝記憶體裝置2220可臨時儲存從非揮發性記憶體裝置2231至223n讀取的資料。根據控制器2210的控制,被臨時儲存在緩衝記憶體裝置2220中的資料可被傳輸到主機設備2100或非揮發性記憶體裝置2231至223n。
非揮發性記憶體裝置2231至223n可用作SSD 2200的儲存介質。非揮發性記憶體裝置2231至223n可透過多個通道CH1至CHn耦接到控制器2210。一個或多個非揮發性記憶體裝置可耦接到一個通道。耦接到一個通道的非揮發性記憶體裝置可耦接到相同的訊號匯流排和相同的資料匯流排。
電源2240可將透過電源連接器2260輸入的電力PWR提供至SSD 2200的內部。電源2240可包括輔助電源2241。輔助電源2241可提供電力,使得即使發生突然斷電,SSD 2200也正常地終止。輔助電源2241可包括能夠充電電力PWR的大容量電容器。
控制器2210可透過訊號連接器2250與主機設備2100交換訊號SGL。訊號SGL可包括指令、位址、資料等。根據主機設備2100和SSD 2200之間的介面連接方法,訊號連接器2250可被配置為各種類型的連接器。
圖8是示出圖7的控制器2210的示例的示意圖。參照圖8,控制器2210可包括主機介面單元2211、控制單元2212、隨機存取記憶體(RAM)2213、錯誤校正碼(error correction code, ECC)單元2214和記憶體介面單元2215。控制器2210可進一步包括與圖1的控制器200的壓縮引擎250和解壓縮引擎260相同的壓縮引擎和解壓縮引擎。
主機介面單元2211可根據主機設備2100的協定來執行主機設備2100和SSD 2200之間的介面連接。例如,主機介面單元2211可透過以下中的任何一種與主機設備2100進行通訊:安全數位協定、通用序列匯流排(USB)協定、多媒體卡(MMC)協定、嵌入式MMC(eMMC)協議、國際個人電腦記憶卡協會(PCMCIA)協定、並行高級技術附件(PATA)協定、串列高級技術附件(SATA)協定、小型電腦系統介面(SCSI)協定、串列SCSI(SAS)協定、周邊元件連接(PCI)協定、高速PCI(PCI-E)協定和通用快閃儲存(UFS)協定。主機介面單元2211可執行磁碟仿真(disc emulation)功能,即主機設備2100將SSD 2200識別為通用資料儲存設備,例如硬碟驅動器(hard disc drive, HDD)。
控制單元2212可分析和處理從主機設備2100輸入的訊號SGL。控制單元2212可根據用於驅動SDD 2200的韌體和/或軟體來控制內部功能塊的操作。RAM 2213可操作為用於驅動韌體或軟體的工作記憶體。
ECC單元2214可產生用於待被傳輸到非揮發性記憶體裝置2231至223n的資料的同位資料。產生的同位資料可與資料一起被儲存在非揮發性記憶體裝置2231至223n中。ECC單元2214可基於同位資料來檢測從非揮發性記憶體裝置2231至223n讀取的資料的錯誤。當檢測到的錯誤在可校正範圍內時,ECC單元2214可校正檢測到的錯誤。
記憶體介面單元2215可根據控制單元2212的控制將諸如指令和位址的控制訊號提供給非揮發性記憶體裝置2231至223n。記憶體介面單元2215可根據控制單元2212的控制與非揮發性記憶體裝置2231至223n交換資料。例如,記憶體介面單元2215可將儲存在緩衝記憶體裝置2220中的資料提供給非揮發性記憶體裝置2231至223n,或者將從非揮發性記憶體裝置2231至223n讀取的資料提供給緩衝記憶體裝置2220。
圖9是示出根據實施例的包括資料儲存設備的資料處理系統的示例的示意圖。參照圖9,資料處理系統3000可包括主機設備3100和資料儲存設備3200。
主機設備3100可以諸如印刷電路板(printed circuit board, PCB)的板形式配置。雖然未在圖9中示出,但主機設備3100可包括被配置成執行主機設備3100的功能的內部功能塊。
主機設備3100可包括諸如插座、插槽或連接器的連接端子3110。資料儲存設備3200可被安裝在連接端子3110上。
資料儲存設備3200可以諸如PCB的板形式配置。資料儲存設備3200可指記憶體模組或記憶卡。資料儲存設備3200可包括控制器3210、緩衝記憶體裝置3220、非揮發性記憶體裝置3231至3232、電源管理積體電路(power management integrated circuit, PMIC)3240和連接端子3250。
控制器3210可控制資料儲存設備3200的全部操作。控制器3210可被配置成具有與圖8所示的控制器2210相同的配置。
緩衝記憶體裝置3220可臨時儲存待被儲存在非揮發性記憶體裝置3231和3232中的資料。緩衝記憶體裝置3220可臨時儲存從非揮發性記憶體裝置3231和3232讀取的資料。根據控制器3210的控制,被臨時儲存在緩衝記憶體裝置3220中的資料可被傳輸到主機設備3100或非揮發性記憶體裝置3231和3232。
非揮發性記憶體裝置3231和3232可用作資料儲存設備3200的儲存介質。非揮發性記憶體裝置3231和3232可各自包括如圖1的實施例中所述的位址映射表AMT。
PMIC 3240可將透過連接端子3250輸入的電力提供到資料儲存設備3200的內部。PMIC 3240可根據控制器3210的控制來管理資料儲存設備3200的電力。
連接端子3250可耦接到主機設備3100的連接端子3110。可透過連接端子3250,在主機設備3100和資料儲存設備3200之間傳輸諸如指令、位址、資料的訊號和電力。根據主機設備3100與資料儲存設備3200之間的介面連接方法,連接端子3250可以各種形式進行配置。連接端子3250可被佈置在資料儲存設備3200的任何一側。
圖10是示出根據實施例的包括資料儲存設備的資料處理系統的示例的示意圖。參照圖10,資料處理系統4000可包括主機設備4100和資料儲存設備4200。
主機設備4100可以諸如PCB的板形式配置。雖然未在圖10中示出,但主機設備4100可包括被配置成執行主機設備4100的功能的內部功能塊。
資料儲存設備4200可以表面安裝封裝形式進行配置。資料儲存設備4200可透過焊球4250而安裝在主機設備4100上。資料儲存設備4200可包括控制器4210、緩衝記憶體裝置4220和非揮發性記憶體裝置4230。
控制器4210可控制資料儲存設備4200的全部操作。控制器4210可被配置成具有與圖8所示的控制器2210相同的配置。
緩衝記憶體裝置4220可臨時儲存待被儲存在非揮發性記憶體裝置4230中的資料。緩衝記憶體裝置4220可臨時儲存從非揮發性記憶體裝置4230讀取的資料。透過控制器4210的控制,被臨時儲存在緩衝記憶體裝置4220中的資料可被傳輸到主機設備4100或非揮發性記憶體裝置4230。
非揮發性記憶體裝置4230可用作資料儲存設備4200的儲存介質。非揮發性記憶體裝置4230可包括如圖1的實施例中的位址映射表AMT
圖11是示出根據實施例的包括資料儲存設備的網路系統5000的示例的示意圖。參照圖11,網路系統5000可包括透過網路5500耦接的伺服器系統5300和多個用戶端系統5410至5430。
伺服器系統5300可回應於多個用戶端系統5410至5430的請求來服務資料。例如,伺服器系統5300可儲存從多個用戶端系統5410至5430提供的資料。在另一示例中,伺服器系統5300可將資料提供給多個用戶端系統5410至5430。
伺服器系統5300可包括主機設備5100和資料儲存設備5200。資料儲存設備5200可被配置成圖1的資料儲存設備10、圖7的資料儲存設備2200、圖9的資料儲存設備3200或圖10的資料儲存設備4200。
圖12是示出根據實施例的包括在資料儲存設備中的非揮發性記憶體裝置的示例的方塊圖。參照圖12,非揮發性記憶體裝置100可包括記憶體單元陣列110、行解碼器120、列解碼器140、資料讀取/寫入塊130、電壓產生器150和控制邏輯160。記憶體裝置還可包括如圖1的實施例中所述的位址映射表。
記憶體單元陣列110可包括佈置在字元線WL1至WLm和位元線BL1至BLn彼此交叉的區域中的記憶體單元MC。
行解碼器120可透過字元線WL1至WLm耦接到記憶體單元陣列110。行解碼器120可透過控制邏輯160的控制來進行操作。行解碼器120可對從外部設備(未示出)提供的位址進行解碼。行解碼器120可基於解碼結果來選擇並驅動字元線WL1至WLm。例如,行解碼器120可將從電壓產生器150提供的字元線電壓提供給字元線WL1至WLm。
資料讀取/寫入塊130可透過位元線BL1至BLn耦接到記憶體單元陣列110。資料讀取/寫入塊130可包括與位元線BL1至BLn相對應的讀取/寫入電路RW1至RWn。資料讀取/寫入塊130可根據控制邏輯160的控制來操作。資料讀取/寫入塊130可根據操作模式而操作為寫入驅動器或感測放大器。例如,在寫入操作中,資料讀取/寫入塊130可操作為寫入驅動器,其被配置成將從外部設備提供的資料儲存在記憶體單元陣列110中。在另一示例中,在讀取操作中,資料讀取/寫入塊130可操作為感測放大器,其被配置成從記憶體單元陣列110讀取資料。
列解碼器140可透過控制邏輯160的控制來進行操作。列解碼器140可對從外部設備(未示出)提供的位址進行解碼。列解碼器140可基於解碼結果將資料讀取/寫入塊130的、\與位元線BL1至BLn相對應的讀取/寫入電路RW1至RWn與資料輸入/輸出(I/O)線(或資料I/O緩衝器)耦接。
電壓產生器150可產生用於非揮發性記憶體裝置100的內部操作的電壓。透過電壓產生器150產生的電壓可被施加到記憶體單元陣列110的記憶體單元。例如,在程式化操作中產生的程式化電壓可被施加到待被執行程式化操作的記憶體單元的字元線。在另一示例中,在抹除操作中產生的抹除電壓可被施加到待被執行抹除操作的記憶體單元的阱區。在另一示例中,在讀取操作中產生的讀取電壓可被施加到待被執行讀取操作的記憶體單元的字元線。
控制邏輯160可基於從外部設備提供的控制訊號來控制非揮發性記憶體裝置100的全部操作。例如,控制邏輯160可控制非揮發性記憶體裝置100的操作,諸如非揮發性記憶體裝置100的讀取操作、寫入操作和抹除操作。
本公開的上述實施例是說明性的而非限制性的。例如,本公開不限於任何特定類型的半導體裝置。在不脫離如所附申請專利範圍限定的本發明範圍和技術方案的情況下,可存在所述實施例的各種替換、添加、減少、變型和等同物。
10‧‧‧資料儲存裝置
100‧‧‧非揮發性記憶體裝置
110‧‧‧記憶體單元陣列
120‧‧‧行解碼器
130‧‧‧資料讀取/寫入塊
140‧‧‧列解碼器
150‧‧‧電壓產生器
160‧‧‧控制邏輯
200‧‧‧控制器
210‧‧‧主機介面
220‧‧‧處理器
230‧‧‧隨機存取記憶體
240‧‧‧記憶體介面
250‧‧‧壓縮引擎
260‧‧‧解壓縮引擎
2000‧‧‧資料處理系統
2100‧‧‧主機設備
2200‧‧‧SSD
2210‧‧‧控制器
2211‧‧‧主機介面單元
2212‧‧‧控制單元
2213‧‧‧隨機存取記憶體
2214‧‧‧錯誤校正碼單元
2215‧‧‧記憶體介面單元
2220‧‧‧緩衝記憶體裝置
2231~223n‧‧‧非揮發性記憶體裝置
2240‧‧‧電源
2241‧‧‧輔助電源
2250‧‧‧訊號連接器
2260‧‧‧電源連接器
3000‧‧‧資料處理系統
3100‧‧‧主機設備
3110‧‧‧連接端子
3200‧‧‧資料儲存設備
3210‧‧‧控制器
3220‧‧‧緩衝記憶體裝置
3231、3232‧‧‧非揮發性記憶體裝置
3240‧‧‧電源管理積體電路
3250‧‧‧連接端子
4000‧‧‧資料處理系統
4100‧‧‧主機設備
4200‧‧‧資料儲存設備
4210‧‧‧控制器
4220‧‧‧緩衝記憶體裝置
4230‧‧‧非揮發性記憶體裝置
4250‧‧‧焊球
5000‧‧‧網路系統
5100‧‧‧主機設備
5200‧‧‧資料儲存設備
5300‧‧‧伺服器系統
5410~5430‧‧‧用戶端系統
5500‧‧‧網路
AB‧‧‧位址緩衝器
AMT‧‧‧位址映射表
BL1~BLn‧‧‧位元線
CH‧‧‧通道
CH1~CHn‧‧‧通道
LBA‧‧‧邏輯塊位址
LBA0~LBAm‧‧‧邏輯塊位址
MC‧‧‧記憶體單元
MCB‧‧‧映射快取緩衝器
MUB‧‧‧映射更新緩衝器
PBA‧‧‧物理塊位址
PBA0~PBAm‧‧‧物理塊位址
PWR‧‧‧電力
RW1~RWn‧‧‧讀取/寫入電路
S0~Sn‧‧‧映射段
S501~S509‧‧‧步驟
S601~S607‧‧‧步驟
SMT‧‧‧映射段背景資訊表
WL1~WLm‧‧‧字元線
[圖1]是示出根據本公開的實施例的資料儲存裝置的方塊圖; [圖2]是示出[圖1]中的資料儲存裝置應用的位址映射表的示例的示意圖; [圖3]是示出[圖1]中的隨機存取記憶體的方塊圖; [圖4]是映射段元資訊表的示例; [圖5]是示出根據本公開的實施例的資料儲存裝置的操作方法中的映射更新操作的流程圖; [圖6]是示出根據本公開的實施例的資料儲存裝置的操作方法中的映射壓縮操作的流程圖; [圖7]是示出根據本公開的實施例的包括固態硬碟(SSD)的資料處理系統的示例的示意圖; [圖8]是示出[圖7]所示的控制器的示例的示意圖; [圖9]是示出根據本公開的實施例的包括資料儲存設備的資料處理系統的示例的示意圖; [圖10]是示出根據本公開的實施例的包括資料儲存設備的資料處理系統的示例的示意圖; [圖11]是示出根據本公開的實施例的包括資料儲存設備的網路系統的示例的示意圖;並且 [圖12]是示出根據本公開的實施例的包括在資料儲存設備中的非揮發性記憶體裝置的示例的方塊圖。

Claims (17)

  1. 一種資料儲存裝置,包括: 非揮發性記憶體裝置,其儲存包括多個映射段的位址映射表;以及 控制器,其包括隨機存取記憶體並且所述控制器回應於從主機裝置接收的讀取請求,基於第一映射段的背景資訊將壓縮的第一映射段或非壓縮的第一映射段載入到所述隨機存取記憶體中, 其中所述背景資訊被儲存在映射段背景資訊表中,所述映射段背景資訊表被儲存在所述隨機存取記憶體中並且所述背景資訊表示所述映射段是否可被壓縮。
  2. 如請求項1所述的資料儲存裝置,其中所述控制器包括: 所述隨機存取記憶體,其儲存所述映射段背景資訊表; 壓縮引擎,其壓縮所述映射段,將所壓縮的映射段中的每個的大小與預定大小進行比較,並且基於所述比較將表示所述映射段中的每個是否可被壓縮的資訊輸出到處理器;以及 所述處理器,基於從所述壓縮引擎輸出的表示所述映射段中的每個是否可被壓縮的資訊,將與所述映射段中的每個相對應的背景資訊儲存在所述映射段背景資訊表中。
  3. 如請求項2所述的資料儲存裝置,其中所述隨機存取記憶體包括: 位址緩衝器,其儲存從所述主機裝置接收的待被程式化的邏輯位址與所述非揮發性記憶體裝置中的資料所儲存的物理位址的映射資訊; 映射更新緩衝器,其載入所述映射段之中的待被更新的映射段;以及 映射快取緩衝器,其快取從所述主機裝置接收的、待被讀取的邏輯位址與所述非揮發性記憶體裝置中的資料所儲存的物理位址的映射資訊。
  4. 如請求項3所述的資料儲存裝置,其中所述處理器進一步地, 當所述位址映射表被更新時,讀取所述映射段之中待被更新的映射段; 將所讀取的待被更新的映射段儲存在所述映射更新緩衝器中; 基於儲存在所述位址緩衝器中的映射資訊,改變所述映射更新緩衝器中的映射段的映射資訊;以及 將具有改變的映射資訊的映射段程式化在所述位址映射表的相應區域中。
  5. 如請求項4所述的資料儲存裝置,其中所述處理器進一步控制所述壓縮引擎,以透過壓縮具有改變的映射資訊的映射段並且將具有改變的映射資訊的壓縮的映射段的大小與所述預定大小進行比較,來輸出表示具有改變的映射資訊的映射段中的每個是否可被壓縮的資訊。
  6. 如請求項3所述的資料儲存裝置,其中所述處理器進一步地: 當從所述主機裝置接收到讀取請求和待被讀取的邏輯位址時,識別待被讀取的邏輯位址的映射資訊是否被儲存在所述映射快取緩衝器中; 當待被讀取的邏輯位址的映射資訊未被儲存在所述映射快取緩衝器中時,從所述非揮發性記憶體裝置的所述位址映射表中讀取與待被讀取的邏輯位址相對應的映射段;以及 基於儲存在所述映射段背景資訊表中的所讀取映射段的背景資訊,將壓縮的所讀取映射段或非壓縮的所讀取映射段儲存在所述映射快取緩衝器中。
  7. 一種操作資料儲存裝置的方法,其中所述資料儲存裝置包括非揮發性記憶體裝置和控制器,所述非揮發性記憶體裝置儲存包括多個映射段的位址映射表,而所述控制器控制所述非揮發性記憶體裝置的操作,所述方法包括: 當從主機裝置接收到讀取請求和待被讀取的邏輯位址時,確定是否從所述位址映射表中載入第一映射段; 基於儲存在映射段背景資訊表中的所述第一映射段的背景資訊來載入壓縮的第一映射段或非壓縮的第一映射段,所述映射段背景資訊表包括表示所述映射段中的每個是否可被壓縮的背景資訊;並且 透過參考所載入的第一映射段,讀取儲存在所述非揮發性記憶體裝置中的與待被讀取的邏輯位址相對應的物理位址處的資料。
  8. 如請求項7所述的方法,其中所述控制器包括: 隨機存取記憶體,其儲存所述映射段背景資訊表;以及 映射快取緩衝器,其快取從所述主機裝置接收的待被讀取的邏輯位址與所述非揮發性記憶體裝置中的資料所儲存的物理位址的映射資訊。
  9. 如請求項8所述的方法, 其中確定是否載入所述第一映射段包括確定待被讀取的邏輯位址的映射資訊是否被快取在所述映射快取緩衝器中,並且 其中當待被讀取的邏輯位址的映射資訊未被快取在所述映射快取緩衝器中時,執行載入所述映射段。
  10. 如請求項8所述的方法, 其中所述映射段背景資訊表儲存表示所述映射段中的每個是否可被壓縮的值,並且 其中載入所述第一映射段包括: 當與待被載入的第一映射段相對應的值表示所述第一映射段可被壓縮時,壓縮待被載入的第一映射段並且載入所壓縮的第一映射段;並且 當與待被載入的第一映射段相對應的值表示所述第一映射段不可被壓縮時,載入待被載入的第一映射段而不進行壓縮。
  11. 如請求項8所述的方法,其中所述隨機存取記憶體進一步包括: 位址緩衝器,其儲存從所述主機裝置接收的待被程式化的邏輯位址與所述非揮發性記憶體裝置中的資料所儲存的物理位址的映射資訊;以及 映射更新緩衝器,其載入所述映射段之中的待被更新的映射段。
  12. 如請求項11所述的方法,其進一步包括: 確定是否對所述位址映射表執行更新; 將所述映射段之中的待被更新的映射段儲存在所述映射更新緩衝器中; 基於儲存在所述位址緩衝器中的映射資訊,改變所述映射更新緩衝器中的映射段的映射資訊; 將具有改變的映射資訊的映射段在所述位址映射表的相應區域中程式化; 確定具有改變的映射資訊的映射段中的每個是否可被壓縮;並且 基於確定結果,將所述映射段中的每個的背景資訊儲存在所述映射段背景資訊表中。
  13. 如請求項12所述的方法,其中確定具有改變的映射資訊的映射段中的每個是否可被壓縮包括: 對具有改變的映射資訊的映射段進行壓縮; 將所壓縮的映射段中的每個的大小與預定大小進行比較;並且 確定具有小於所述預定大小的壓縮大小的所述映射段可被壓縮;並且 確定具有大於所述預定大小的所述壓縮大小的所述映射段不可被壓縮。
  14. 一種記憶體系統,包括: 記憶體裝置,其儲存表示邏輯位址與物理位址之間的關係的多個映射段;以及 控制器,其包括隨機存取記憶體,並且適於: 回應於請求,透過根據背景資訊來選擇性地壓縮載入段之中的一個或多個來載入所述映射段之中的一個或多個所述載入段,所述背景資訊表示各個映射段的壓縮大小是否等於或大於預定大小;以及 透過參考所述載入段來控制所述記憶體裝置以執行與所述請求相對應的操作。
  15. 如請求項14所述的記憶體系統,其中所述控制器進一步適於當更新所述映射段時,對儲存在所述隨機存取記憶體中的背景資訊進行更新。
  16. 一種資料處理系統,包括: 主機設備;以及 固態硬碟,其可操作地耦接到所述主機設備,所述固態硬碟包括控制器和緩衝記憶體裝置,所述控制器透過專用通訊通道可操作地耦接到多個非揮發性記憶體裝置,以及所述緩衝記憶體裝置可操作地耦接到所述控制器, 其中所述多個非揮發性記憶體裝置中的每個儲存多個映射段,以及 其中所述控制器: 將第一映射段載入到所述緩衝記憶體中以處理從所述主機設備接收到的讀取請求;以及 基於儲存在映射段背景資訊表中的所述第一映射段的背景資訊來確定是否壓縮所述第一映射段,其中所述背景資訊表示所述映射段是否可被壓縮。
  17. 一種資料儲存裝置,包括: 非揮發性記憶體裝置,其儲存多個映射段;以及 控制器,其包括隨機存取記憶體,並且所述控制器: 將第一映射段載入到所述隨機存取記憶體中以處理從主機裝置接收到的讀取請求; 基於儲存在映射段背景資訊表中的所述第一映射段的背景資訊來確定是否壓縮所述第一映射段;以及 透過參考所載入的第一映射段,讀取儲存在所述非揮發性記憶體裝置中的與邏輯位址相對應的物理位址處的資料。
TW107124925A 2017-11-13 2018-07-19 資料儲存裝置及其操作方法 TWI772466B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
??10-2017-0150575 2017-11-13
KR10-2017-0150575 2017-11-13
KR1020170150575A KR102507140B1 (ko) 2017-11-13 2017-11-13 데이터 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
TW201918869A true TW201918869A (zh) 2019-05-16
TWI772466B TWI772466B (zh) 2022-08-01

Family

ID=66432184

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107124925A TWI772466B (zh) 2017-11-13 2018-07-19 資料儲存裝置及其操作方法

Country Status (4)

Country Link
US (1) US10838854B2 (zh)
KR (1) KR102507140B1 (zh)
CN (1) CN109783008B (zh)
TW (1) TWI772466B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190059053A (ko) * 2017-11-22 2019-05-30 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102847052B1 (ko) * 2019-06-05 2025-08-18 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치
KR102850764B1 (ko) * 2019-06-20 2025-08-25 삼성전자주식회사 맵핑 정보를 축약하는 플래시 변환 계층 구조를 이용하여 메모리 리소스를 관리하는 데이터 저장 장치
KR102717019B1 (ko) * 2019-09-16 2024-10-15 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그것의 동작 방법
US10911267B1 (en) * 2020-04-10 2021-02-02 Apple Inc. Data-enable mask compression on a communication bus
US11379357B2 (en) * 2020-06-05 2022-07-05 SK Hynix Inc. Storage device and method of operating the same
KR20210157537A (ko) * 2020-06-22 2021-12-29 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR20220032826A (ko) * 2020-09-08 2022-03-15 에스케이하이닉스 주식회사 메모리 시스템 내 맵 정보를 제어 및 저장하는 장치 및 방법
TWI780696B (zh) 2021-05-10 2022-10-11 創鑫智慧股份有限公司 查找表壓縮方法與查找表讀取方法及其計算設備、主機與裝置
CN114385517A (zh) * 2021-12-07 2022-04-22 锐掣(杭州)科技有限公司 地址空间映射表的处理方法及装置
US12229168B2 (en) * 2023-05-05 2025-02-18 Microsoft Technology Licensing, Llc Reading compressed data directly into an in-memory store
US20250094278A1 (en) * 2023-08-02 2025-03-20 Micron Technology, Inc. Ras triggers l2p table movement in cxl devices with compression
CN117632809B (zh) * 2024-01-25 2024-04-02 合肥兆芯电子有限公司 存储器控制器、数据读取方法及存储装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452912B2 (en) * 2007-10-11 2013-05-28 Super Talent Electronics, Inc. Flash-memory system with enhanced smart-storage switch and packed meta-data cache for mitigating write amplification by delaying and merging writes until a host read
US6944742B1 (en) * 2000-04-28 2005-09-13 Microsoft Corporation Compressed file system for non-volatile RAM
KR100526190B1 (ko) * 2004-02-06 2005-11-03 삼성전자주식회사 플래시 메모리의 재사상 방법
CN101923512B (zh) * 2009-05-29 2013-03-20 晶天电子(深圳)有限公司 三层闪存装置、智能存储开关和三层控制器
CN101656094B (zh) * 2009-09-25 2012-04-18 杭州华三通信技术有限公司 数据存储方法和存储设备
US8291194B2 (en) * 2009-11-16 2012-10-16 Mediatek Inc. Methods of utilizing address mapping table to manage data access of storage medium without physically accessing storage medium and related storage controllers thereof
US8335907B2 (en) 2009-12-30 2012-12-18 Sandisk Technologies Inc. Micro-update architecture for address tables
KR20130031046A (ko) * 2011-09-20 2013-03-28 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법
CN103530062B (zh) * 2012-07-03 2016-12-21 群联电子股份有限公司 数据存储方法、存储器控制器与存储器存储装置
US9448738B2 (en) * 2013-03-15 2016-09-20 Western Digital Technologies, Inc. Compression and formatting of data for data storage systems
CN104102585B (zh) * 2013-04-03 2017-09-12 群联电子股份有限公司 映射信息记录方法、存储器控制器与存储器储存装置
CN103677670A (zh) * 2013-12-11 2014-03-26 华为技术有限公司 读数据的方法及装置
GB2536514A (en) * 2013-12-12 2016-09-21 Hitachi Ltd Storage device and method for controlling storage device
CN104361113B (zh) * 2014-12-01 2017-06-06 中国人民大学 一种内存‑闪存混合存储模式下的olap查询优化方法
KR20170053278A (ko) * 2015-11-06 2017-05-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102580820B1 (ko) * 2016-03-10 2023-09-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Also Published As

Publication number Publication date
US20190146910A1 (en) 2019-05-16
KR20190054383A (ko) 2019-05-22
TWI772466B (zh) 2022-08-01
US10838854B2 (en) 2020-11-17
KR102507140B1 (ko) 2023-03-08
CN109783008A (zh) 2019-05-21
CN109783008B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN110858129B (zh) 数据存储装置及其操作方法
TWI772466B (zh) 資料儲存裝置及其操作方法
US10789161B2 (en) Data storage device to identify and process a sequential read request and operating method thereof
CN111506516B (zh) 数据存储装置及数据存储装置的操作方法
CN110874330B (zh) 非易失性存储器装置、数据存储装置及其操作方法
CN110083545B (zh) 数据存储装置及其操作方法
CN107179996B (zh) 数据存储装置和其操作方法
KR102839223B1 (ko) 데이터 저장 장치 및 그 동작 방법
CN111124273B (zh) 数据存储装置及数据存储装置的操作方法
CN111831579A (zh) 控制器及其操作方法和包括控制器的存储器系统
CN110837342A (zh) 数据存储装置及其操作方法
US11526439B2 (en) Storage device and operating method thereof
US20210397364A1 (en) Storage device and operating method thereof
CN110781093A (zh) 能够改变映射高速缓存缓冲器大小的数据存储设备
CN111752852A (zh) 数据存储装置及数据存储装置的操作方法
CN111752853A (zh) 控制器、存储器系统及其操作方法
US11281590B2 (en) Controller, operating method thereof and storage device including the same
CN110795360B (zh) 数据存储设备以及该数据存储设备的操作方法
CN112286443A (zh) 控制器、存储器系统及其操作方法
CN111752469A (zh) 控制器、存储器系统及其操作方法
US11782638B2 (en) Storage device with improved read latency and operating method thereof
CN114764396A (zh) 数据存储装置及其操作方法
US20210397558A1 (en) Storage device and operating method thereof
CN111752473A (zh) 控制器、存储器系统以及控制器的操作方法