TWI506432B - 非揮發性記憶體中之邏輯與實體位址之聯合重映射 - Google Patents

非揮發性記憶體中之邏輯與實體位址之聯合重映射 Download PDF

Info

Publication number
TWI506432B
TWI506432B TW102144078A TW102144078A TWI506432B TW I506432 B TWI506432 B TW I506432B TW 102144078 A TW102144078 A TW 102144078A TW 102144078 A TW102144078 A TW 102144078A TW I506432 B TWI506432 B TW I506432B
Authority
TW
Taiwan
Prior art keywords
destination
storage locations
logical addresses
logical
entity storage
Prior art date
Application number
TW102144078A
Other languages
English (en)
Other versions
TW201432450A (zh
Inventor
Yair Schwartz
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of TW201432450A publication Critical patent/TW201432450A/zh
Application granted granted Critical
Publication of TWI506432B publication Critical patent/TWI506432B/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/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

非揮發性記憶體中之邏輯與實體位址之聯合重映射
本發明大體上係關於資料儲存,且特定言之,係關於用於非揮發性記憶體中之資料儲存管理的方法及系統。
各種類型之資料儲存系統使用邏輯至實體位址轉譯。在此等系統中,提供資料以供儲存於指定邏輯位址中,且將邏輯位址轉譯成實體地儲存有資料之各別實體位址。此種位址轉譯機制(例如)用於管理快閃記憶體中之資料儲存的快閃記憶體轉譯層(FTL)中。
本文中所描述之本發明之實施例提供一種方法,其包括:對於待根據各別邏輯位址而儲存於一非揮發性記憶體中之資料項目,使該等邏輯位址與該非揮發性記憶體中之各別實體儲存位置相關聯;及將該等資料項目儲存於該等各別相關聯之實體儲存位置中。接收一重映射命令,該重映射命令指定與各別源實體儲存位置相關聯之源邏輯位址之群組。回應於該重映射命令,聯合地選擇目的地實體儲存位置及目的地邏輯位址以用於分別替換該等源實體儲存位置及該等源邏輯位址,以便滿足關於該等邏輯位址及該等實體儲存位置之一聯合效能準則。將該等資料項目自該等源實體儲存位置複製至該等各別目的地實體儲存位置,且使該等目的地實體儲存位置與該等各別目的地邏輯位 址重新相關聯。
在一些實施例中,聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包括:相對於該等源邏輯位址減少由該等目的地邏輯位址佔據之邏輯記憶體片段的一第一數目;及相對於該等源實體儲存位置減少由該等目的地實體儲存位置佔據之實體記憶體片段的一第二數目。
在一實施例中,聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包括增加存取該非揮發性記憶體中之該等資料項目的一輸送量。在另一實施例中,聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包括減少存取該非揮發性記憶體中之該等資料項目的一延時。
在一所揭示之實施例中,聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包括以一第一連續序列來選擇該等目的地邏輯位址,及以一第二連續序列來選擇該等各別目的地實體儲存位置。在一替代實施例中,該非揮發性記憶體包括多個記憶體單元,且聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包括:以一連續序列來選擇該等目的地邏輯位址,及在該多個記憶體單元中以循環交替方式選擇該等各別目的地實體儲存位置。
在又一實施例中,聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包括增加用於儲存該等邏輯位址與該等實體儲存位置之間的各別關聯的一資料結構之一可壓縮性。在再一實施例中,接收該重映射命令包括在該命令中接收該等目的地邏輯位址之一指示。
在一些實施例中,該重映射命令不指示該等目的地邏輯位址,且聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包括回應於接收到該命令而決定該等目的地邏輯位址。該方法可包括輸出該等所決定之目的地邏輯位址的一通知。在一實施例中,聯合地選擇該 等目的地實體儲存位置及該等目的地邏輯位址包括識別一閒置時間週期,及在該閒置時間週期期間選取該等目的地實體儲存位置及該等目的地邏輯位址。
根據本發明之一實施例,另外提供包括一介面及一處理器之一裝置。該介面經組態以用於與一非揮發性記憶體通信。該處理器經組態以進行以下操作:對於待根據各別邏輯位址而儲存於該非揮發性記憶體中之資料項目,使該等邏輯位址與該非揮發性記憶體中之各別實體儲存位置相關聯且將該等資料項目儲存於該等各別相關聯之實體儲存位置中;接收一重映射命令,該重映射命令指定與各別源實體儲存位置相關聯之源邏輯位址之群組;回應於該重映射命令,聯合地選擇目的地實體儲存位置及目的地邏輯位址以用於分別替換該等源實體儲存位置及該等源邏輯位址,以便滿足關於該等邏輯位址及該等實體儲存位置之一聯合效能準則;將該等資料項目自該等源實體儲存位置複製至該等各別目的地實體儲存位置;及使該等目的地實體儲存位置與該等各別目的地邏輯位址重新相關聯。
將自本發明之實施例的連同圖式一起進行之以下詳細描述來更全面地理解本發明。
20‧‧‧電腦
24‧‧‧固態硬碟(SSD)
26‧‧‧中央處理單元(CPU)
30‧‧‧固態硬碟(SSD)控制器
34‧‧‧「反及」(NAND)快閃記憶體器件
38‧‧‧主機介面
42‧‧‧處理器
46‧‧‧記憶體介面
50‧‧‧隨機存取記憶體(RAM)
60‧‧‧關聯/映射
64‧‧‧關聯/映射
68‧‧‧邏輯位址空間
72‧‧‧邏輯位址
76‧‧‧實體位址空間
80‧‧‧實體位址
圖1為示意性地說明根據本發明之實施例的記憶體系統之方塊圖;圖2為示意性地說明根據本發明之實施例的聯合邏輯與實體位址重映射程序之圖;及圖3為示意性地說明根據本發明之實施例的用於聯合邏輯與實體位址重映射之方法的流程圖。
概述
本文中所描述之本發明之實施例提供用於配置儲存於非揮發性記憶體中之資料的邏輯位址及實體位址,以便改良儲存效能且簡化儲存管理任務及資料結構的方法及系統。
舉例而言,考慮主機將檔案儲存於固態硬碟(SSD)或其他非揮發性記憶體中之實施例。主機及儲存器件使用邏輯定址機制,且SSD在邏輯位址與對應實體位址之間進行轉譯。術語「實體位址」與「實體儲存位置」本文中可互換地使用。
隨時間逝去,用於儲存給定檔案之資料的邏輯位址可變得經分段,亦即,跨越邏輯位址空間而不連續且常常以多個片段散佈。舉例而言,在最初建立檔案之後將改變應用於檔案時,可出現邏輯位址之分段。除邏輯位址分段外,非揮發性記憶體中儲存有檔案之資料的實體位址亦可變得經分段。實體位址分段可(例如)由於區塊壓縮(「記憶體回收(garbage collection)」)及在非揮發性記憶體中執行之其他儲存管理程序而出現。
因此,隨時間逝去,給定檔案常常在邏輯位址空間與實體位址空間兩者中變得經分段。在兩個域(邏輯及實體)中之分段常常不相關且由不同原因引起。然而,兩種類型之分段係不合需要的且使總儲存效能降級。
在本文中所描述之一些實施例中,儲存器件實行聯合位址重映射操作,該聯合位址重映射操作減少給定檔案在邏輯位址空間及實體位址空間兩者中之分段。聯合解除分段(de-fragmentation)程序用新位址來替換檔案之邏輯位址及對應實體位址兩者,以便滿足針對邏輯位址空間及實體位址空間兩者定義之效能準則。
原則上,有可能分離地將邏輯位址及實體位址解除分段。然而,此解決方案通常將為次最佳的且有時損害儲存器件效能。在不考慮對應實體位址之情況下將邏輯位址解除分段可能加劇實體位址分 段,且在不考慮對應邏輯位址之情況下將實體位址解除分段可能加劇邏輯位址分段。
本文中描述聯合重映射機制及此等機制所滿足之聯合效能準則的若干實例。與獨立邏輯及實體解除分段之不成熟解決方案相比,所揭示之技術能夠達成優越之儲存輸送量及延時,以及非揮發性記憶體的減少之額外負擔及增加之壽命。
此外,所揭示之技術減小用於儲存邏輯至實體轉譯之資料結構以及由主機檔案系統使用之資料結構的大小及降低其複雜性。此外,在儲存器件內部執行聯合重映射操作,而無需在儲存器件與主機之間傳送資料。因此,在主機與儲存器件之間的介面上之通信負荷以及主機資源之載入得以減少。
系統描述
圖1為示意性地說明根據本發明之實施例的記憶體系統之方塊圖。在當前實例中,記憶體系統包含將資料儲存於固態硬碟(SSD)24中之電腦20。電腦20可包含(例如)行動電腦、平板電腦或個人電腦。電腦包含充當主機之中央處理單元(CPU)26。
在替代實施例中,主機可包含任何其他合適之處理器或控制器,且儲存器件可包含任何其他合適之器件。舉例而言,主機可包含企業儲存系統之儲存控制器,且儲存器件可包含SSD或SSD之陣列。將資料儲存於非揮發性儲存器件中的主機之其他實例包含行動電話、數位攝影機、媒體播放器及抽取式記憶卡或器件。
SSD 24將用於CPU 26之資料儲存於非揮發性記憶體中,在當前實例中,儲存於一或多個「反及」(NAND)快閃記憶體器件34中。在替代實施例中,SSD 24中之非揮發性記憶體可包含任何其他合適類型之非揮發性記憶體,諸如「反或」(NOR)快閃記憶體、電荷俘獲快閃記憶體(CTF)、相變RAM(PRAM)、磁阻式RAM(MRAM)或鐵電RAM (FeRAM)。
SSD控制器30執行SSD之各種儲存及管理任務。SSD控制器一般亦被稱作記憶體控制器。SSD控制器30包含用於與CPU 26通信之主機介面38、用於與快閃記憶體器件34通信之記憶體介面46,及實行SSD之各種處理任務的處理器42。
SSD 24進一步包含揮發性記憶體,在當前實例中該揮發性記憶體為隨機存取記憶體(RAM)50。在圖1之實施例中,將RAM 50展示為SSD控制器30之部分,但RAM可替代地與SSD控制器分離。RAM 50可包含(例如)靜態RAM(SRAM)、動態RAM(DRAM)、兩種RAM類型之組合,或任何其他合適類型之揮發性記憶體。
SSD控制器30(且詳言之,處理器42)可以硬體來實施。或者,SSD控制器可包含運行合適軟體之微處理器,或可包含硬體元件與軟體元件之組合。
圖1之組態係僅為了概念清晰性而展示之例示性組態。亦可使用任何其他合適之SSD或其他記憶體系統組態。已為了清晰性而自諸圖省略對理解本發明之原理而言並非必要之元件(諸如,各種介面、定址電路、時序及排序電路以及除錯電路)。在一些應用(例如,非SSD應用)中,藉由合適記憶體控制器來實行SSD控制器30之功能。
在圖1中所展示之例示性系統組態中,將記憶體器件34及SSD控制器30實施為單獨之積體電路(IC)。然而,在替代實施例中,記憶體器件及SSD控制器可整合於單一多晶片封裝(MCP)或系統單晶片(SoC)中之單獨半導體晶粒上,且可由內部匯流排互連。另外替代地,SSD控制器電路中之一些或全部可駐留於上面安置有記憶體器件34中之一或多者的同一晶粒上。另外替代地,可以軟體實施且由CPU 26或電腦中之其他處理器實行SSD控制器30之功能性中的一些或全部。在一些實施例中,可將CPU 26及SSD控制器30製造於同一晶粒上,或同一 器件封裝中之單獨晶粒上。
在一些實施例中,處理器42包含通用處理器,該通用處理器係以軟體來程式化以實行本文中所描述之功能。可經由(例如)網路將軟體以電子形式下載至處理器,或可替代地或另外將軟體提供於及/或儲存於非暫時性有形媒體(諸如,磁性、光學或電子記憶體)上。
電腦20之CPU 26通常運行檔案系統(FS(圖中未展示)),該檔案系統將一或多個檔案儲存於SSD 24中。FS使用邏輯定址機制將檔案儲存於SSD中。在此機制中,FS將一或多個邏輯位址(亦稱作邏輯區塊位址LBA)之群組指派給每一檔案,且將檔案資料發送至SSD 24以用於根據LBA來儲存。
SSD控制器30之處理器42通常維持邏輯至實體位址轉譯,該邏輯至實體位址轉譯使由主機指定之邏輯位址與快閃記憶體器件34中之各別實體儲存位置(亦稱作實體位址)相關聯,且將資料儲存於適當之實體儲存位置中。邏輯至實體位址轉譯(亦稱作虛擬至實體映射V2P)可儲存於RAM 50、快閃記憶體器件34或其兩者中。
邏輯位址與實體位址之聯合重映射
圖2為示意性地說明根據本發明之實施例的聯合邏輯與實體位址重映射程序之圖。圖之頂部展示在應用聯合位址重映射之前邏輯位址72與對應實體位址80之關聯(映射)60。圖之底部展示由所揭示之聯合重映射操作產生的改良之關聯(映射)64。在該圖中,帶陰影之邏輯位址及實體位址表示主機FS之特定檔案的資料之標記,且箭頭將邏輯位址連接至各別相關聯之實體位址。
在當前實例中,每一邏輯位址72對應於邏輯位址空間68中之一各別邏輯頁面。每一實體位址80對應於快閃記憶體器件34之實體位址空間76中之一各別實體頁面。在圖2之實例中,實體位址空間橫跨表示為晶粒#0...晶粒#3之四個快閃記憶體晶粒。在替代實施例中,可使 用任何其他合適之映射單元(例如,區塊或磁區)來定義邏輯至實體位址映射,且邏輯位址空間及實體位址空間可具有任何其他合適之組態。
考慮在圖2之頂部的映射60。在此實例中,跨越邏輯位址空間68將所述檔案之邏輯位址72嚴格地分段。同時,跨越實體位址空間76將檔案之實體位址80嚴格地分段。
在某一時間點,SSD控制器30之處理器42自CPU 26接收重映射命令。回應於該命令,處理器42聯合地重映射檔案之邏輯位址及實體位址,以便產生在圖之底部處的映射64。(在典型快閃記憶體中,不可在原地重寫資料,且因此資料之新實體位址通常將駐留於新記憶體區塊中。為清晰起見而未在圖2中展示此特徵。)
如圖中可見,與映射60相比,在映射64中,檔案之邏輯位址及實體位址兩者的分段顯著減少。重映射操作聯合地考慮邏輯位址空間及實體位址空間中之分段,而非試圖使每一位址空間之解除分段與另一位址空間分離。
在當前內容脈絡中,映射60中之檔案的邏輯位址及實體位址(在重映射之前)分別被稱作源邏輯位址及實體位址。映射64中之檔案的邏輯位址及實體位址(在重映射之後)分別被稱作目的地邏輯位址及實體位址。重映射操作因此選擇目的地邏輯位址及實體位址以用於替換檔案之源邏輯位址及實體位址。
處理器42通常重映射源邏輯位址及實體位址,以便滿足針對邏輯域及實體域兩者(亦即,針對邏輯位址及實體位址兩者)定義之特定效能準則。在各種實施例中,處理器42可使用不同效能準則來選擇用於重映射操作之目的地邏輯位址及實體位址。
在一實例實施例中,執行重映射,以便減少或最小化兩個域中之分段的量。換言之,處理器42選擇目的地邏輯位址及實體位址,以 便減少儲存有檔案資料之邏輯位址空間68的片段之數目,且同時減少儲存有檔案資料之實體位址空間76的片段之數目。
在另一實施例中,處理器42選擇重映射操作,以便最大化SSD30之儲存(寫入及/或讀取)輸送量。此準則通常取決於SSD之結構。舉例而言,圖2之重映射操作適合於支援多晶粒讀取及寫入命令之SSD,多晶粒讀取及寫入命令並列地讀取及寫入多個各別晶粒中之多個對應頁面。為了最佳地利用此等命令,映射64將連續之邏輯位址72映射至在四個晶粒當中循環交替之實體位址。可在其他類型之實體記憶體單元(諸如,記憶體器件、記憶體平面或甚至記憶體區塊)當中應用類似交替。在又一實施例中,處理器42組態重映射操作,以便最小化SSD 24之儲存(寫入及/或讀取)延時。
在其他實施例中,選取重映射操作,以便減小主機中或儲存器件中之資料結構的大小及/或降低其複雜性。舉例而言,可選擇重映射,以便儘可能壓縮地進行SSD之V2P映射。高可壓縮性通常藉由減少分段來達成,但亦可取決於用於儲存V2P映射之資料結構的特定組態。作為另一實例,可選擇重映射,以便簡化用於儲存檔案至主機中LBA之映射的資料結構。
另外替代地,處理器42可重映射邏輯位址及實體位址,以便滿足任合其他合適之效能準則。
如上文所解釋,通常將重映射命令自CPU 26(或更一般而言,自主機)發送至處理器42(或更一般而言,至儲存器件)。該命令通常指示待重映射之檔案的源邏輯位址之群組。在一些實施例中,由主機FS選擇目的地邏輯位址。在此實施中,除源邏輯位址外,重映射命令中亦指定目的地邏輯位址。
在替代實施例中,該命令僅指定源邏輯位址,且儲存器件(例如,處理器42)選擇目的地邏輯位址。儲存器件因此通知主機選定目 的地邏輯位址。通常在主機及儲存器件使用修整(trim)命令時使用此等實施例,修整命令向儲存器件指示哪些邏輯位址未由主機FS使用。在任一狀況下,由處理器42選擇目的地實體位址。
聯合重映射方法描述
圖3為示意性地說明根據本發明之實施例的用於聯合邏輯與實體位址重映射之方法的流程圖。該方法開始於:在輸入步驟90處,處理器42自CPU 26接收資料項目以供儲存於快閃記憶體器件34中。經由介面38接收該等資料項目以供儲存於各別邏輯位址中。
處理器42在映射步驟94處使資料項目之邏輯位址與各別實體位址相關聯,且在儲存步驟98處將資料項目儲存於各別實體位址中。無論何時CPU 26(或更一般而言,主機)具有待儲存於SSD中之資料項目,通常便實行步驟90至98之儲存程序。
在某一時間點,在重映射命令步驟102處,CPU 26將用於特定檔案之重映射命令發送至SSD 24。重映射命令指示儲存有檔案之資料項目的邏輯位址(亦即,源邏輯位址)之群組。檔案之源邏輯位址與各別源實體位址相關聯(根據上文之步驟94之映射)。
回應於重映射命令,處理器42在邏輯重映射步驟106處選擇目的地邏輯位址以替換各別源邏輯位址,且在實體重映射步驟110處選擇目的地實體位址以替換各別源實體位址。聯合地執行目的地邏輯位址及實體位址之選擇(步驟106及110),以便滿足關於邏輯位址及實體位址之效能準則。
在複製步驟114處,處理器42將檔案之資料項目自源實體位址複製至目的地實體位址。在邏輯重新相關聯步驟118處,處理器42使目的地邏輯位址與對應目的地實體位址相關聯。通常,處理器42更新V-P映射以反映改良之映射。
在一些實施例中,處理器42在背景任務中實行重映射操作,該 背景任務係在處理器未忙於執行儲存命令之閒置時間週期期間執行。處理器42通常識別此等閒置時間週期,且在此等週期期間實行重映射任務。此種背景操作使處理器42能夠(例如)複製及重映射大量資料,以便佔據邏輯域及實體域兩者中之大的連續位址範圍。
應瞭解,上文所描述之實施例借助於實例而引證,且本發明不限於上文特別展示及描述的內容。更確切言之,本發明之範疇包括上文所描述之各種特徵的組合及子組合兩者,以及各種特徵之熟習此項技術者在閱讀前述描述後將想到且未在先前技術中揭示的變化及修改。除在以引用之方式併入本專利申請案中之文獻中以與本說明書中明確地或隱含地進行之定義衝突的方式而定義任何術語的情況外,此等經併入之文獻被認為係申請案之組成部分,僅本說明書中之定義應被考慮。
60‧‧‧關聯/映射
64‧‧‧關聯/映射
68‧‧‧邏輯位址空間
72‧‧‧邏輯位址
76‧‧‧實體位址空間
80‧‧‧實體位址

Claims (20)

  1. 一種方法,其包含:根據映射至實體儲存位置的邏輯位址,而藉由一介面與具有用於儲存檔案的資料項目之該等實體儲存位置的一非揮發性記憶體通信;將每一資料項目的一邏輯位址與一各別實體儲存位置相關聯;儲存該每一資料項目在相關聯之該各別實體儲存位置中;接收一重映射命令,該重映射命令指定對應於一給定檔案之該等資料項目的源邏輯位址之一群組;回應於該重映射命令,聯合地選擇目的地實體儲存位置及目的地邏輯位址以用於分別替換該等源實體儲存位置及該等源邏輯位址,以便滿足關於該等邏輯位址及該等實體儲存位置之一聯合效能準則;及將該等資料項目自該等各別源實體儲存位置複製至該等各別目的地實體儲存位置,且使該等目的地實體儲存位置與該等各別目的地邏輯位址重新相關聯。
  2. 如請求項1之方法,其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含:相對於該等源邏輯位址減少由該等目的地邏輯位址佔據之邏輯記憶體片段的一第一數目;及相對於該等源實體儲存位置減少由該等目的地實體儲存位置佔據之實體記憶體片段的一第二數目。
  3. 如請求項1之方法,其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含:增加存取該非揮發性記憶體中之該等資料項目的一輸送量。
  4. 如請求項1之方法,其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含:減少存取該非揮發性記憶體中之該等資料項目的一延時。
  5. 如請求項1之方法,其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含:以一第一連續序列來選擇該等目的地邏輯位址;及以一第二連續序列來選擇該等各別目的地實體儲存位置。
  6. 如請求項1之方法,其中該非揮發性記憶體包含多個記憶體單元,且其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含以一連續序列來選擇該等目的地邏輯位址,及在該多個記憶體單元當中以循環交替方式選擇該等各別目的地實體儲存位置。
  7. 如請求項1之方法,其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含:增加用於儲存該等邏輯位址與該等實體儲存位置之間的各別關聯的一資料結構之一可壓縮性。
  8. 如請求項1之方法,其中接收該重映射命令包含:在該命令中接收該等目的地邏輯位址之一指示。
  9. 如請求項1之方法,其中該重映射命令不指示該等目的地邏輯位址,且其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含回應於接收到該命令而決定該等目的地邏輯位址。
  10. 如請求項9之方法,其包含輸出該等所決定之目的地邏輯位址的一通知。
  11. 如請求項1之方法,其中聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址包含:識別一閒置時間週期;及在該閒置時間週期期間選取該等目的地實體儲存位置及該等目的地邏輯 位址。
  12. 一種裝置,其包含:一介面,其用於與具有用於儲存檔案的資料項目之實體儲存位置的一非揮發性記憶體通信;及一處理器,其經組態以:使用映射至該等實體儲存位置的邏輯位址而儲存該等資料項目在該非揮發性記憶體中;將每一資料項目的一邏輯位址與一各別實體儲存位置相關聯;儲存該每一資料項目在相關聯之該各別實體儲存位置中;接收一重映射命令,其指定對應於一給定檔案之該等資料項目的源邏輯位址之一群組;回應於該重映射命令,聯合地選擇目的地實體儲存位置及目的地邏輯位址以用於分別替換該等源實體儲存位置及該等源邏輯位址,以便滿足關於該等邏輯位址及該等實體儲存位置之一聯合效能準則;將該等資料項目自該等源實體儲存位置複製至該等各別目的地實體儲存位置;及使該等目的地實體儲存位置與該等各別目的地邏輯位址重新相關聯。
  13. 如請求項12之裝置,其中藉由聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址,該處理器經組態以相對於該等源邏輯位址減少由該等目的地邏輯位址佔據之邏輯記憶體片段的一第一數目,且相對於該等源實體儲存位置減少由該等目的地實體儲存位置佔據之實體記憶體片段的一第二數目。
  14. 如請求項12之裝置,其中藉由聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址,該處理器經組態以增加存取該非 揮發性記憶體中之該等資料項目的一輸送量。
  15. 如請求項12之裝置,其中藉由聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址,該處理器經組態以減少存取該非揮發性記憶體中之該等資料項目的一延時。
  16. 如請求項12之裝置,其中該處理器經組態而以一第一連續序列來選擇該等目的地邏輯位址,且以一第二連續序列來選擇該等各別目的地實體儲存位置。
  17. 如請求項12之裝置,其中該非揮發性記憶體包含多個記憶體單元,且其中該處理器經組態而以一連續序列來選擇該等目的地邏輯位址,且在該多個記憶體單元當中以循環交替方式選擇該等各別目的地實體儲存位置。
  18. 如請求項12之裝置,其中藉由聯合地選擇該等目的地實體儲存位置及該等目的地邏輯位址,該處理器經組態以增加用於儲存該等邏輯位址與該等實體儲存位置之間的各別關聯的一資料結構之一可壓縮性。
  19. 如請求項12之裝置,其中該介面經組態以在該重映射命令中接收該等目的地邏輯位址之一指示。
  20. 如請求項12之裝置,其中該重映射命令不指示該等目的地邏輯位址,且其中該介面經組態以回應於接收到該命令而決定該等目的地邏輯位址。
TW102144078A 2012-12-19 2013-12-02 非揮發性記憶體中之邏輯與實體位址之聯合重映射 TWI506432B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/720,024 US20140173178A1 (en) 2012-12-19 2012-12-19 Joint Logical and Physical Address Remapping in Non-volatile Memory

Publications (2)

Publication Number Publication Date
TW201432450A TW201432450A (zh) 2014-08-16
TWI506432B true TWI506432B (zh) 2015-11-01

Family

ID=49627141

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102144078A TWI506432B (zh) 2012-12-19 2013-12-02 非揮發性記憶體中之邏輯與實體位址之聯合重映射

Country Status (3)

Country Link
US (1) US20140173178A1 (zh)
TW (1) TWI506432B (zh)
WO (1) WO2014099180A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021187B2 (en) * 2013-01-29 2015-04-28 Sandisk Technologies Inc. Logical block address remapping
KR20140099737A (ko) * 2013-02-04 2014-08-13 삼성전자주식회사 존-기반 조각모음 방법 및 그것을 이용한 유저 장치
US9996302B2 (en) * 2015-04-03 2018-06-12 Toshiba Memory Corporation Storage device writing data on the basis of stream
KR102403266B1 (ko) 2015-06-22 2022-05-27 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US9996463B2 (en) * 2015-11-10 2018-06-12 International Business Machines Corporation Selection and placement of volumes in a storage system using stripes
US20170255565A1 (en) * 2016-03-02 2017-09-07 Intel Corporation Method and apparatus for providing a contiguously addressable memory region by remapping an address space
US10031845B2 (en) 2016-04-01 2018-07-24 Intel Corporation Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
US10019198B2 (en) 2016-04-01 2018-07-10 Intel Corporation Method and apparatus for processing sequential writes to portions of an addressable unit
US10430081B2 (en) * 2016-06-28 2019-10-01 Netapp, Inc. Methods for minimizing fragmentation in SSD within a storage system and devices thereof
JP2019164715A (ja) 2018-03-20 2019-09-26 東芝メモリ株式会社 情報処理装置、ストレージデバイス、及び、データ記憶位置の評価値算出方法
JP2022037737A (ja) * 2020-08-25 2022-03-09 レノボ・シンガポール・プライベート・リミテッド 情報処理装置及び方法
US11561713B2 (en) * 2021-03-11 2023-01-24 Western Digital Technologies, Inc. Simplified high capacity die and block management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300318A1 (en) * 2008-05-28 2009-12-03 Spansion Llc Address caching stored translation
US20110099326A1 (en) * 2009-10-27 2011-04-28 Samsung Electronics Co., Ltd. Flash memory system and defragmentation method
US20110107011A1 (en) * 2009-10-29 2011-05-05 Leonard Russo Data defragmentation of solid-state memory
US20120079229A1 (en) * 2010-09-28 2012-03-29 Craig Jensen Data storage optimization for a virtual platform
US20120233484A1 (en) * 2011-03-08 2012-09-13 Xyratex Technology Limited Method of, and apparatus for, power management in a storage resource

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300318A1 (en) * 2008-05-28 2009-12-03 Spansion Llc Address caching stored translation
US20110099326A1 (en) * 2009-10-27 2011-04-28 Samsung Electronics Co., Ltd. Flash memory system and defragmentation method
US20110107011A1 (en) * 2009-10-29 2011-05-05 Leonard Russo Data defragmentation of solid-state memory
US20120079229A1 (en) * 2010-09-28 2012-03-29 Craig Jensen Data storage optimization for a virtual platform
US20120233484A1 (en) * 2011-03-08 2012-09-13 Xyratex Technology Limited Method of, and apparatus for, power management in a storage resource

Also Published As

Publication number Publication date
TW201432450A (zh) 2014-08-16
WO2014099180A1 (en) 2014-06-26
US20140173178A1 (en) 2014-06-19

Similar Documents

Publication Publication Date Title
TWI506432B (zh) 非揮發性記憶體中之邏輯與實體位址之聯合重映射
US11537529B1 (en) Storage drive with defect management on basis of segments corresponding to logical erase units
US9535628B2 (en) Memory system with shared file system
US8650379B2 (en) Data processing method for nonvolatile memory system
US20120317377A1 (en) Dual flash translation layer
US20140095555A1 (en) File management device and method for storage system
US20200192600A1 (en) Memory system and method for controlling nonvolatile
CN112771493B (zh) 将写入流分离到多个分区中
US10162561B2 (en) Managing backup of logical-to-physical translation information to control boot-time and write amplification
US20210026763A1 (en) Storage device for improving journal replay, operating method thereof, and electronic device including the storage device
WO2023087861A1 (zh) 基于固态硬盘的写放大优化方法、装置及计算机设备
JP2023010765A (ja) メモリシステム
TW202314471A (zh) 儲存裝置及其操作方法
US20140032874A1 (en) Computing device and virtual device control method for controlling virtual device by computing system
KR20220159270A (ko) 스토리지 장치 및 그 동작 방법

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees