TW202324106A - 混合固態硬碟 - Google Patents

混合固態硬碟 Download PDF

Info

Publication number
TW202324106A
TW202324106A TW111139417A TW111139417A TW202324106A TW 202324106 A TW202324106 A TW 202324106A TW 111139417 A TW111139417 A TW 111139417A TW 111139417 A TW111139417 A TW 111139417A TW 202324106 A TW202324106 A TW 202324106A
Authority
TW
Taiwan
Prior art keywords
volatile memory
memory device
lba
data
received
Prior art date
Application number
TW111139417A
Other languages
English (en)
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 TW202324106A publication Critical patent/TW202324106A/zh

Links

Images

Classifications

    • 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/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; 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0673Single storage device
    • G06F3/068Hybrid storage device
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • 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)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本文描述用於寫入至固態硬碟(SSD)的系統、方法和設備,SSD包括非揮發性記憶體設備和揮發性記憶體設備,揮發性記憶體設備包括第一記憶體區域和第二記憶體區域,第一記憶體區域存儲位址映射表。接收寫入請求,寫入請求包括主機邏輯區塊位址 (LBA) 和資料。決定所接收到的LBA是對應於非揮發性記憶設備還是第二記憶體區域。回應於所接收到的LBA對應於非揮發性記憶體設備,根據位址映射表決定與所接收到的LBA相對應的非揮發性記憶體設備的物理位址,並將所包括的資料寫入至經決定的非揮發性記憶體設備的物理位址。回應於所接收到的LBA對應於第二記憶體區域,基於所接收到的LBA將所包括的資料寫入至第二記憶體區域。

Description

混合固態硬碟
本申請案與混合固態硬碟相關。
固態硬碟(SSD)是使用積體電路來持久存儲資料的存儲設備。SSD可包括揮發性記憶體存儲和非揮發性記憶體存儲。典型地,揮發性記憶體用於存儲用於將邏輯區塊位址(LBA)映射到非揮發性記憶體的物理位址的位址映射表。SSD的控制器存取位址映射表以決定哪個物理位址對應於在讀取或寫入請求中所參照的(在非揮發性記憶體存儲中的)LBA。揮發性記憶體的一部分通常未被使用。
提供本[發明內容]是為了以簡化形式介紹概念的選擇;將在下文[實施方式]中進一步描述這些概念。本[發明內容]並非旨在識別所要求保護的標的的關鍵特徵或必要特徵,也不旨在用於限制所要求保護的標的的範圍。
本文描述利用固態硬碟(SSD)的方法、系統和裝置 ;SSD包括非揮發性記憶體設備。揮發性記憶體設備包括第一記憶體區域和第二記憶體區域。第一記憶體區域存儲位址映射表。在一態樣中,將資料寫入SSD中。接收寫入請求;寫入請求包括主機邏輯區塊位址 (LBA) 和資料。決定所接收到的LBA是對應於非揮發性記憶體設備還是第二記憶體區域。回應接收到的LBA對應於非揮發性記憶體設備,基於位址映射表決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址,並將包括的資料寫入至經決定的非揮發性記憶體設備的物理位址。回應於接收到的LBA對應於第二記憶體區域,基於接收到的LBA,將所包括的資料寫入至第二記憶體區域。
在另一態樣中,從SSD讀取資料。接收讀取請求;讀取請求包括LBA。決定接收到的LBA是對應於非揮發性記憶體設備還是第二記憶體區域。回應於接收到的LBA對應於非揮發性記憶體設備,基於位址映射表決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址,並從決定的非揮發性記憶體設備的物理位址讀取資料。回應於接收到的LBA對應於第二記憶體區域,從與接收到的LBA相對應的第二記憶體區域的物理位址讀取資料。
下文結合附圖對實施例的進一步特徵和優勢與各個實施例的結構和操作進行詳細描述。注意,要求保護的標的不限於本文所描述的具體示例。在本文中僅出於說明性目的而呈現這些實施例。基於本文所包括的教示,其他實施例對於相關技術領域中具有通常知識者將是顯而易見的。
一、介紹
下文的詳細描述揭露許多示例性的實施例。本專利申請案的範圍不限於所揭露的實施例;本專利申請案的範圍還包括所揭露的實施例的組合,及對所揭露的實施例的修改。
說明書中對「一個實施例」、「一實施例」、「一示例性的實施例」等等的引用表明,所描述的實施例可包括特定的特徵、結構或特性,但每個實施例都可不一定包括特定的特徵、結構或特性。此外,這些短語不一定指相同的實施例。此外,當將特定的特徵、結構或特性描述成與一實施例相關時,據認為,在相關技術領域中具有通常知識者的知識範圍內,無論是否有明確描述,都會影響此種特徵、結構或特性與其他實施例相關。
若本文將操作的執行描述為「基於」一個或多個因素,則應理解操作的執行可僅基於此類(多個)因素或可基於此類(多個)因素和一或多個附加因素。因此,如本文所使用地,應將術語「基於」理解為等同於術語「至少基於」。
出於說明性目的 (而不是限制性目的)來提供在本文所描述的示例性實施例。本文所描述的示例可適用於任何類型的用於利用未使用的揮發性記憶體存儲空間來存儲非揮發性資料的方法或系統。對於相關技術領域中具有通常知識者來說,根據本文的教示,進一步的包括修改/變更和結構和操作實施例將變得顯而易見。
注意,在標識所示組件的多個附圖/圖式中將變數「N」附加到各種元件符號,以指示此類組件的數量是可變的,例如,具有2或更大的任何值。請注意,對於每個不同的組件/元件符號來說,變數「N」具有相對應的值;對於其他組件/元件符號的「N」值來說,此相對應的值可能不同。取決於特定實施方式,任何特定組件/元件符號的「N」值可小於10、數十、數百、數千或甚至更大。
現在描述許多示例性的實施例。本文所提供的任何章節/小節標題並非旨在限制。貫穿本文件描述實施例,且任何類型的實施例可包括在任何章節/小節下。此外,在任何章節/小節中所揭露的實施例可用任何方式與在相同章節/小節及/或不同章節/小節中所描述的任何其他實施例組合。
二、示例性的混合固態硬碟實施例
固態硬碟 (SSD) 是使用積體電路來持久存儲資料的記憶體設備。 SSD可包括控制器,此控制器經配置為從主機計算設備接收讀取請求和寫入請求。讀取請求和寫入請求可包括對應於SSD的記憶體部分的物理位址的LBA。控制器經配置為基於LBA從物理位址讀取資料或向物理位址寫入資料。SSD可包括多種類型的記憶體部分。例如,根據實施例的SSD包括揮發性記憶體部分和非揮發性記憶體部分。揮發性記憶體部分可包括揮發性記憶體設備,如雙倍資料速率(DDR)記憶體設備、同步隨機存取記憶體(SRAM)設備、動態隨機存取記憶體(DRAM)設備及/或諸如此類。非揮發性記憶體部分可包括非揮發性記憶體設備,其可包括快閃記憶體存儲設備(例如,NAND快閃和NOR快閃等等)、非揮發性隨機存取記憶體(NVRAM) 及/或諸如此類。例如,根據實施例,SSD包括DDR記憶體設備和NAND快閃記憶體設備。
揮發性記憶體部分可經配置為存儲將LBA映射到資料中心SSD的物理位址的位址映射表。取決於特定實施方式,揮發性記憶體設備的揮發性記憶體存儲空間的一部分可能未被使用。例如,根據實施例的SSD具有測量為10的冪次方(例如4TB或4x10 12位元組)的非揮發性存儲容量。位址映射表的大小與非揮發性存儲容量成比例;例如,位址映射表的大小為非揮發性存儲容量的0.1%(在本例中為4GB或4x10 9位元組)。在實施例中,根據2的冪次方(例如4GiB或者4x2 30位元組)來配置SSD的揮發性記憶體存儲容量。在此示例中,294,967,296 位元組的揮發性記憶體存儲空間未被使用。
本申請案的實施例和技術涉及將未使用的揮發性記憶體存儲空間配置為附加的存儲空間。此額外的存儲空間可以像非揮發性記憶體存儲空間一樣地使用。例如,附加的存儲空間可用於存儲資料,資料如資料文件、主機應用程式後設資料文件及/或諸如此類。可用將附加的存儲空間與用於存儲位址映射表的揮發性記憶體存儲空間分開的方式來實現實施例。例如,將根據實施例的揮發性記憶體存儲空間劃分為第一記憶體區域和第二記憶體區域。第一記憶體區域經配置為存儲位址映射表,且第二記憶體區域經配置成附加的存儲空間。根據另一實施例,第一記憶體區域包括用於存儲資料的存儲空間的保留部分;資料如系統變數。
根據本文的實施例,混合SSD是經配置為將資料存儲在其非揮發性記憶體存儲空間或其可用的揮發性記憶體存儲空間(即,不用於存儲位址映射表的存儲空間)中的SSD 。例如,根據實施例的混合SSD可提供以下特徵中的一者或多者。
提高的服務品質。實施例提供延遲低於非揮發性記憶體存儲空間的延遲的存儲選項。例如,DDR 記憶體設備通常比 NAND快閃記憶體設備具有更低的延遲。
減少的寫入放大。非揮發性記憶體設備的實現可具有寫入週期限制。例如,在與物理位址相關聯的單元不可用或為不可靠之前,NAND快閃記憶體設備的物理位址可被寫入一定次數。實施例提供不消耗非揮發性記憶體設備的寫入週期的存儲選項。此外,若接收到具有對應於附加的存儲空間的記憶體位址的寫入請求,則減少寫入放大。在這種情況下,不消耗非揮發性記憶體設備的寫入週期來將資料寫入附加的存儲空間。如鍵值資料存儲或日誌文件系統的應用程式可使用額外的存儲空間來減少消耗的寫入週期。
降低的總擁有成本 (TCO)。可在不增加材料構建(BOM)成本的情況下來實施本申請案的實施例。例如,更多的非揮發性記憶體物理存儲容量可用作邏輯存儲容量,同時減少了整體的寫入放大。此外,由於整體寫入週期消耗的減少,故長期成本也降低。
混合SSD的實施例經配置為接收讀取請求和寫入請求。這些請求包括對應於混合SSD的物理位址的記憶體位址。記憶體位址可為邏輯區塊位址(LBA)。混合SSD經配置為基於記憶體位址從物理位址讀取資料或向物理位址寫入資料。可將記憶體位址空間劃分為多個分區。例如,根據實施例,將存儲器位址劃分為第一分區和第二分區;第一分區對應於揮發性記憶體存儲空間的第二記憶體區域,而第二分區對應於非揮發性記憶體存儲空間。混合 SSD 的混合資料存儲管理器將資料流量(例如,讀取請求和寫入請求)引導到記憶體位址對應到的分區。根據實施例,混合資料存儲管理器在不參考經存儲在揮發性記憶體存儲空間的第一記憶體區域中的位址映射表的情況下,存取與揮發性記憶體存儲空間的第二記憶體區域相對應的分區。
混合SSD可用於各種應用中。例如,混合SSD可經實現為外部硬碟、計算設備的硬碟、存儲伺服器內的硬碟、資料中心內的硬碟及/或諸如此類。外部硬碟是可連接到計算設備的硬碟。計算設備可以是任何類型的固定式或行動式的計算設備,其包括行動式計算設備(例如,Microsoft® Surface® 設備、個人數位助理 (PDA)、膝上型電腦、筆記型電腦、如Apple iPad™的平板電腦和小筆電及 /或諸如此類)、行動電話、可穿戴式計算設備或其他類型的行動設備,或如桌上型電腦或伺服器的固定式的計算設備。存儲伺服器經配置為管理和存取經存儲在記憶體設備中的文件。存儲伺服器可為獨立的存儲伺服器或為伺服器機架中(例如,每個機架 8-40 個伺服器,稱為節點或「刀鋒伺服器」)、在伺服器群集(例如,2-64 個伺服器、4-8個機架,或其他數量的伺服器及/或機架)中,或在資料中心(例如,數千個伺服器、數百個機架及/或數十個群集)中的伺服器。資料中心是一組位於同一地點的伺服器(例如,位於附近的一個或多個建築物中且具有如備用電源、冗餘資料通訊和環境控制的相關組件的伺服器)。
在實施例中,可用各種方式實現混合SSD。例如,圖1是根據示例實施例之經配置用於存儲資料的存儲伺服器100(本文中的「伺服器100」)的方框圖。在實施例中,伺服器100可以是獨立的伺服器或伺服器機架、伺服器群集或資料中心內的伺服器。伺服器100可通過有線及/或無線連接來連接到其他計算設備;為了說明的簡單性和簡潔性,圖1中未示出此些有線及/或無線連接。例如,計算設備可通過如區域網路(LAN)、廣域網路(WAN)、企業網路和網際網路等等的網路來存取伺服器100。如圖1所示,伺服器100包括主機設備102和存儲器104。如圖1所示,存儲器104包括驅動器組108和110。驅動器組108包括匯流排開關112和第一混合SSD至第三混合SSD 116、118和120。驅動器組110包括匯流排開關114和第一混合SSD至第三混合SSD 122、124和126。主機設備102經配置為管理和存取存儲在存儲器104中的資料。例如,主機設備102可向計算設備提供對存儲在存儲器104中的資料的存取。例如,主機設備102可向驅動器組108或驅動器組110發送讀取請求或寫入請求。匯流排開關112和114經配置為將從主機設備102接收到的讀取請求或寫入請求發送到它們各自的混合SSD。在實施例中,主機設備102包括用於直接存取和管理經存儲在存儲器104中的資料的介面。存儲器104是可由主機設備102通過有線及/或無線網路存取並管理的伺服器100的存儲區域。
混合SSD 116、118、120、122、124和126中的每一者可經配置為將資料存儲在揮發性記憶體存儲空間和非揮發性記憶體存儲空間中。如圖1所示,混合SSD 116、118、120、122、124和126各自包括SSD揮發性記憶體存儲空間128、132、136、140、144和148中的相應一者、非揮發性記憶體存儲空間130、134、138、142、146和150中的相應一者、SSD控制器152、154、156、164、166和168中的相應一者,及混合資料存儲管理器158、160、162、170、172和174中的相應一者。如圖1所示,混合資料存儲管理器158、160和162是相應混合SSD 116、118和120的組件,且混合資料存儲管理器170、172和174經整合在相應SSD控制器164、166和168中。揮發性記憶體存儲空間128、132、136、140、144和148經配置為在相應的第一記憶體區域中存儲相應的位址映射表。揮發性記憶體存儲空間128、132、136、140、144和148中的每一者可包括揮發性記憶體存儲空間的未使用部分。揮發性記憶體存儲空間的這些未使用部分可經配置為相應的第二記憶體區域。混合資料存儲管理器 158、160、162、170、172 和 174 各自經配置為管理請求,以從揮發性記憶體存儲空間 128、132、136、 140、144、148中的相應一者的第二記憶體區域及/或非揮發性記憶體存儲空間130、134、138、142、146和150的物理位址中的相應一者讀取資料,及/或寫入資料至揮發性記憶體存儲空間 128、132、136、 140、144、148中的相應一者的第二記憶體區域及/或非揮發性記憶體存儲空間130、134、138、142、146和150的物理位址中的相應一者。
伺服器100可包括圖1中為了說明的簡單性和簡潔性而未示出的附加組件及/或子組件。例如,雖然在圖 1 中只顯示了兩個驅動組,但本文設想如主機設備102的主機設備可管理和存取經存儲在任何數量(例如,少於十個、幾十個、幾百個或甚至更大的數量)的驅動器組中的資料。此外,雖然將每個驅動器組被示為一組三個混合 SSD,但本文設想驅動器組可包括任何數量(例如,少於十個、幾十個、幾百個或甚至更多的數量)的混合 SSD。此外,驅動器組可包括除了混合SSD之外的存儲設備,其包括硬碟 (HDD)、習知SSD及/或諸如此類。如圖1所示,混合資料存儲管理器158、160和162是相應混合SSD 116、118和120的獨立組件;然而,本文設想取決於特定的實施方式,可將混合資料存儲管理器實現為(例如,如關於混合 SSD 122、124 和 126 所示和描述的)SSD控制器的子組件、記憶體設備(例如,揮發性記憶體設備或非揮發性記憶體設備)的子組件及/或混合SSD的另一個組件。
可用各種方式配置混合SSD的實施例(如圖1所示的伺服器100的混合SSD 116、118、120、122、124和126)。例如,圖2是根據示例性的實施例的混合SSD 200的方框圖。混合SSD 200可以是圖1的混合SSD 116、118、120、122、124或126中的一者或多者的進一步實施例。下文關於圖1的伺服器100來描述混合SSD 200。基於以下描述,進一步的結構和操作示例對於相關技術領域中具有通常知識者將是顯而易見的。
如圖2所示,混合SSD 200包括SSD控制器202、混合資料存儲管理器218、揮發性記憶體存儲空間204和非揮發性記憶體存儲空間206。SSD控制器202經配置為使混合SSD 200能夠在系統內與其組件進行通訊,及通過網路與其他設備及/或系統進行通訊(如混合SSD 200與如圖1中的系統100所述的其他設備、系統及/或主機之間的通訊)。例如,SSD控制器202可通過通訊鏈路212經通訊耦合到圖1的主機設備102。SSD控制器202可經由通訊鏈路212而被直接耦合到主機設備102或被間接耦合(例如,通過如匯流排開關112或114的匯流排開關)。可通過通訊鏈路230將SSD控制器202通訊耦合到混合資料存儲管理器218。混合資料存儲管理器218可通過通訊鏈路214而通訊耦合到揮發性記憶體存儲空間204,並通過通訊鏈路216而通訊耦合到非揮發性記憶體存儲空間206。通訊鏈路212、214、216及/或230可各自包括一個或多個物理的(例如,電線、電纜和導電跡線等等)及/或無線的(例如,射頻和紅外線等等)通訊連接,或上述的任何組合。例如,在電路板實施例中,通訊鏈路212可以是經連接到SSD控制器202的通訊介面的電纜,且通訊鏈路214、216和230可以是SSD控制器202、揮發性記憶體存儲空間204、非揮發性記憶體存儲空間206和混合資料存儲管理器218設置在其上的電路板上的導電跡線。
揮發性記憶體存儲空間204經配置為存儲揮發性資料。揮發性記憶體存儲空間204可包括第一記憶體區域和第二記憶體區域。第一記憶體區域經配置為存儲位址映射表232,且第二記憶體區域經配置為附加的存儲空間。根據一個實施例,第一記憶體區域經進一步配置為存儲如系統變數的系統資料。如圖2所示,揮發性記憶體存儲空間204包括揮發性記憶體設備208A-208N(本文中的「揮發性記憶體設備208A-208N」),其中示出了揮發性記憶體設備208A、208B、208C和208N。揮發性記憶體設備208A-208N可以是任何類型的揮發性記憶體設備,其包括DDR設備、SRAM設備、DRAM設備及/或諸如此類。揮發性記憶體設備208A-208N中的每一者可以是相同類型或不同類型的揮發性記憶體設備。例如,根據實施例,揮發性記憶體設備208A-208N中的每一者皆為DDR設備。揮發性記憶體設備208A-208N可代表一組揮發性記憶體設備中的單獨設備。例如,在電路板實施例中,揮發性記憶體設備208A-208N中的每一者皆可以是設置在電路板上的積體電路晶片。在實施例中,第一記憶體區域和第二記憶體區域可各自分佈在揮發性記憶體設備208A-208N中的一者或多者上。例如,第二記憶體區域可包括揮發性記憶體設備208A-208N中之一者的存儲空間的一部分、揮發性記憶體設備208A-208N的子集的存儲空間的一部分及/或每個揮發性記憶體設備208A-208N的存儲空間的一部分。揮發性記憶體設備208A-208N中的每一者可具有相同或不同的存儲容量。如圖2所示,位址映射表232分佈在揮發性記憶體設備208A-208N中的每一者上;然而,在本文中設想到其他實施方式可將位址映射表232存儲在揮發性記憶體設備的子集上。
非揮發性記憶體存儲空間206經配置為存儲非揮發性資料。可將非揮發性記憶體存儲空間206的物理位址劃分為一個或多個分區。例如,非揮發性記憶體存儲空間206可包括一個或多個可用的存儲分區、備份存儲分區及/或如受益於本申請案的相關技術領域中具有通常知識者將理解的其他分區。
如圖2所示,非揮發性記憶體存儲空間206包括非揮發性記憶體設備210A-210N(本文中的「非揮發性記憶體設備210A-210N」),其中示出了非揮發性記憶體設備210A、210B、210C和210N。非揮發性記憶體設備210A-210N可以是任何類型的非揮發性記憶體設備(其包括快閃記憶體存儲設備(例如,NAND快閃記憶體和NOR快閃記憶體等等))、非揮發性隨機存取記憶體(NVRAM)及/或諸如此類。非揮發性記憶體設備210A-210N中的每一者可以是相同或不同類型的非揮發性記憶體設備。例如,根據實施例,非揮發性記憶體設備210A-210N中的每一者是NAND快閃記憶體設備。非揮發性記憶體設備210A-210N可代表一組非揮發性記憶體設備中的獨立設備。例如,在電路板實施例中,非揮發性記憶體設備210A-210N中的每一者可以是設置在電路板上的積體電路晶片。非揮發性記憶體設備210A-210N中的每一者可具有相同或不同的存儲容量。
根據實施例,SSD控制器202經配置成管理經由通訊鏈路212接收和發送的通訊,及經由通訊鏈路230來往混合資料存儲管理器218的通訊。例如,SSD控制器202可通過通訊鏈路212自圖1的主機設備102接收讀取或寫入請求,並通過通訊鏈路230將請求發送至混合資料存儲管理器218。SSD控制器202可包括(為了簡潔和清晰說明而在圖2中未示出的)子組件,此等子組件經配置為執行電源管理功能、故障監控、環境監測和如受益於本申請案的相關技術領域中具有通常知識者將理解的與混合SSD 200的操作相關聯的的其他功能。
混合資料存儲管理器218經配置為處理讀取請求和寫入請求、管理存儲在揮發性記憶體存儲空間204和非揮發性記憶體存儲空間206中的資料,及存取經存儲在揮發性記憶體存儲空間204和非揮發性記憶體存儲空間206中的資料。混合資料存儲管理器218包括記憶體選擇器220、揮發性記憶體控制器222、位址映射表管理器224、非揮發性記憶體控制器226和備份資料寫入器228。混合資料存儲管理器218經配置為經由通訊鏈路230接收來自SSD控制器202的請求。
記憶體選擇器220經配置為決定哪個物理位址與從SSD控制器202接收的請求信號的記憶體位址相關聯。例如,根據實施例,若接收到的記憶體位址對應於揮發性記憶體存儲空間204的第二記憶體區域的物理位址,則記憶體選擇器220選擇揮發性記憶體存儲空間204。若接收到的記憶體位址對應於非揮發性記憶體存儲空間206的物理位址,則記憶體選擇器220選擇非揮發性記憶體存儲空間206。根據實施例,記憶體位址是LBA。
揮發性記憶體控制器222經配置為從揮發性記憶體存儲空間204讀取資料和向揮發性記憶體存儲空間204寫入資料。例如,當混合SSD 200開啟或以其他方式通電時,揮發性記憶體控制器222接收位址映射表(例如,經存儲在非揮發性記憶體存儲空間206中的備份位址映射表),並將接收到的位址映射表寫入至揮發性記憶體存儲空間204的第一記憶體區域作為位址映射表232。揮發性記憶體控制器222經進一步配置為接收請求,以從揮發性記憶體存儲空間204的第二記憶體區域讀取資料和向揮發性記憶體存儲空間204的第二記憶體區域寫入資料。例如,若記憶體選擇器220基於隨寫入請求接收的記憶體位址來選擇揮發性記憶體存儲空間204,則揮發性記憶體控制器222基於所接收到的記憶體位址將包括在寫入請求中的資料寫入至第二記憶體區域的物理位址。若記憶體選擇器220基於隨讀取請求接收的記憶體位址來選擇揮發性記憶體存儲空間204,則揮發性記憶體控制器222基於所接收到的記憶體位址從第二記憶體區域的物理位址讀取資料。根據實施例,揮發性記憶體控制器222經配置為在完成讀取請求或寫入請求之後發送確認。例如,若接收到的請求是讀取請求,則揮發性記憶體控制器222根據實施例經配置為通過通訊鏈路230將從揮發性記憶體存儲空間204的第二記憶體區域讀取的資料發送到SSD控制器202,SSD控制器202接著經配置為通過通訊鏈路212將資料發送到主機設備102。若接收到的請求是寫入請求,則揮發性記憶體控制器222根據實施例經配置為通過通訊鏈路230向SSD控制器202發送寫入完成確認,SSD控制器202接著經配置為通過通訊鏈路212將寫入完成確認發送到主機設備102。
揮發性記憶體控制器222可經配置成以各種方式決定物理位址。例如,如圖2所示,揮發性記憶體控制器222包括LBA轉換器234。LBA轉換器234經配置為若記憶體選擇器220選擇揮發性記憶體存儲空間204,則將混合資料存儲管理器218接收的請求信號的記憶體位址轉換為揮發性記憶體存儲空間204的物理位址。根據實施例,接收到的記憶體位址是LBA。在這種情況下,LBA轉換器234根據下文的等式1將接收到的LBA轉換為第二記憶體區域的對應物理位址。
Figure 02_image001
在等式1中, PA是物理位址、 S是揮發性記憶體存儲空間204的第二記憶體區域的起始物理位址、 y是接收到的LBA、 x是經存儲在揮發性記憶體存儲空間204中的第一LBA的編號,而 Size LBA 是每個 LBA 的大小(以位元組為單位)。 在非限制性的示例中,若第一LBA經存儲在物理位址0xEE6B_2800中, x為0(例如,經存儲在物理位址0xEE6B_2800中的第一LBA為LBA0)、 y為10(例如,接收到的LBA為LBA10)且每個 LBA為4,096個 位元組,LBA轉換器234將接收到的 LBA(LBA10) 轉換為物理位址0xEE6B_C800。
位址映射表管理器224經配置為基於位址映射表232,來決定對應於接收到的記憶體位址的非揮發性記憶體存儲空間206的物理位址。例如,若記憶體選擇器220基於接收到的記憶體位址來選擇非揮發性記憶體存儲空間206,位址映射表管理器224經配置為從揮發性記憶體存儲空間204存取位址映射表232,以決定與所接收到的記憶體位址相對應的非揮發性記憶體存儲空間206的物理位址。位址映射表管理器224可經配置為通過通訊鏈路114或間接地通過揮發性記憶體控制器222來存取位址映射表232。根據實施例,位址映射表管理器224經配置為基於位址映射表232來決定接收到的記憶體位址是否對應於先前映射的物理位址。若接收到的記憶體位址對應於先前映射的物理位址,則位址映射表管理器224指示對應於接收到的記憶體位址的非揮發性記憶體存儲空間206的物理位址。若接收到的記憶體位址不對應於先前映射的物理位址,則位址映射表管理器224從可用物理位址分配新的物理位址以與接收到的記憶體位址相對應。在這種情況下,位址映射表管理器224更新位址映射表232以指示對應於接收到的記憶體位址的物理位址。
非揮發性記憶體控制器226經配置為向非揮發性記憶體存儲空間206寫入資料和從非揮發性記憶體存儲空間206讀取資料。非揮發性記憶體控制器226經配置為從位址映射表管理器224接收指示,此指示指示對應於接收到的記憶體位址的物理位址。在這種情況下,非揮發性記憶體控制器226將資料寫入至非揮發性記憶體存儲空間206的指示物理位址及/或從非揮發性記憶體存儲空間206的指示物理位址讀取資料。根據實施例,非揮發性記憶體控制器226經配置為完成讀取請求或寫入請求後發送確認。例如,若接收到的請求是讀取請求,則非揮發性記憶體控制器226根據實施例經配置為通過通訊鏈路230將從非揮發性記憶體存儲空間206讀取的資料發送到SSD控制器202,SSD控制器202接著經配置為通過通訊鏈路212將資料發送到主機設備102。若接收到的請求是寫入請求,則非揮發性記憶體控制器226根據實施例經配置為通過通訊鏈路230將寫入完成確認發送到SSD控制器202,SSD控制器202接著經配置為通過通訊鏈路212向主機設備102發送寫入完成確認。
備份資料寫入器228經配置為管理混合資料存儲管理器218的備份操作。例如,回應於斷電事件,備份資料寫入器228經配置為將經存儲在揮發性記憶體存儲空間204的第二記憶體區域中的資料寫入至非揮發性記憶體存儲空間206。在一些實施例中,備份資料寫入器228經配置為回應於通電事件,恢復先前存儲在揮發性記憶體存儲空間204的第二記憶體區域中的資料。根據實施例,混合SSD 200或實施混合SSD 200的系統包括(為了簡潔和清晰說明而未在圖2中示出的)備用電源電路。在這種情況下,備用電源電路經配置為向混合SSD 200提供足夠的電力,使得備用資料寫入器可回應於斷電事件來執行備份操作。例如,若第二記憶體區域使用200MB且混合SSD 200的寫入頻寬為1GB/s,則經存儲在第二記憶體區域中的資料可在不到1秒的時間內被刷新到非揮發性記憶體存儲空間206。在這種情況下,備用電源電路經配置為為混合SSD 200供電至少1秒。實施備用電源電路的伺服器(如圖1的伺服器100)和備用資料寫入器228可經配置為將存儲在揮發性記憶體存儲空間204的第二記憶體區域中的資料視為非揮發性資料。
可用各種方式實施混合SSD 200。例如,混合SSD 200可包括電路板。在這種情況下,SSD控制器202、混合資料存儲管理器218、揮發性記憶體設備208A-208N和非揮發性記憶體設備210A-210N可以是安裝到電路板上的積體電路。SSD控制器202、混合資料存儲管理器218、揮發性記憶體設備208A-208N及/或非揮發性記憶體設備210A-210N中的一者或多者可包括在相同的積體電路封裝中。根據實施例,SSD控制器202、混合資料存儲管理器218、揮發性記憶體設備208A-208N及/或非揮發性記憶體設備210A-210N經實施在模組(例如,「系統單晶片」 (SOC))中。在這種情況下,可將SSD控制器202、混合資料存儲管理器218、揮發性記憶體設備208A-208N及/或非揮發性記憶體設備210A-210N安裝到單獨的電路板及/或經封裝在子模組內。SSD控制器202、混合資料存儲管理器218、揮發性記憶體設備208A-208N及/或非揮發性記憶體設備210A-210N中的一者或多者可經設置在同一電路板上及/或封裝在同一子模組內。如圖2所示,混合資料存儲管理器218是混合SSD 200的單獨組件;然而,本文設想混合資料存儲管理器218可經實現為混合SSD 200的另一個組件的子組件。例如,混合資料存儲管理器218根據實施例經實現為SSD控制器202的子組件。根據另一個實施例,混合資料存儲管理器218的一個或多個子組件經實現為由混合SSD 200的處理器執行的一組程式指令。在這種情況下,一組程式指令可經存儲在混合SSD 200、SSD控制器202及/或混合資料存儲管理器218的記憶體中的一者或多者、經存儲在揮發性記憶體存儲空間204中,及/或經存儲在非揮發性記憶體存儲空間206中。
混合SSD 200可包括圖2中為了說明的簡單性和簡潔性未示出的附加組件及/或子組件。例如,混合SSD 200可包括一個或多個通訊介面、處理器、附加記憶體設備及/或子控制器。
注意到,在實施例中如圖2所示的混合資料存儲管理器218可用各種方式操作。例如,混合資料存儲管理器218可經配置為處理來自主機設備(如圖1中的伺服器100的主機設備102)的寫入請求。例如,圖3A是根據實施例之用於將資料寫入混合固態硬碟的處理的流程圖300。在實施例中,混合資料存儲管理器218可經配置為執行流程圖300的一個或所有步驟。相關於圖1的伺服器100和圖2的混合SSD 200來如下地描述流程圖300。基於以下描述,進一步的結構和操作實施例對於相關技術領域中具有通常知識者將是顯而易見的。注意到,並非流程圖300的所有步驟皆需要在所有實施例中執行
流程圖300從步驟302開始。在步驟302中,接收寫入請求;寫入請求包括主機LBA和資料。例如,圖 2 的 SSD 控制器202經由通訊鏈路212從圖1的主機設備102接收寫入請求;寫入請求包括主機LBA和資料。此外,混合資料存儲管理器218經配置為經由通訊鏈路230從SSD控制器202接收寫入請求。
在步驟304中,決定接收到的LBA是對應於非揮發性記憶體設備還是揮發性記憶體設備的第二記憶體區域。例如,圖2的記憶體選擇器220決定在步驟302中接收到的LBA是對應於非揮發性記憶體設備210A-210N中之一者還是揮發性記憶體設備208A-208N中之一者的第二記憶體區域。若接收到的LBA對應於非揮發性記憶體設備210A-210N中之一者,則流程圖300進行到步驟306。若接收到的LBA對應於揮發性記憶體設備208A-208N中之一者,則流程圖300進行到步驟310。
在步驟306中,基於位址映射表來決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址。例如,圖2的位址映射表管理器224存取經存儲在揮發性記憶體存儲空間204的第一記憶體區域中的位址映射表232。位址映射表管理器224可通過通訊鏈路214直接或(例如,通過揮發性記憶體控制器222)間接存取位址映射表232。位址映射表管理器224基於位址映射表232決定對應於接收到的LBA的非揮發性記憶體存儲空間206的物理位址。
在步驟308中,將所包括的資料寫入所決定的非揮發性記憶體設備的物理位址。例如,圖2的非揮發性記憶體控制器226將在步驟302中接收到的所包括的資料寫入至在步驟306中所決定的非揮發性記憶體存儲空間206的物理位址。
在步驟310中,基於接收到的LBA將所包括的資料寫入第二記憶體區域。例如,圖2的SSD 控制器202基於在步驟302中接收到的LBA,將在步驟302中接收到的所包括的資料寫入至揮發性記憶體存儲空間204的第二記憶體區域。根據實施例,SSD控制器202通過直接寫入操作將所包括的資料寫入至揮發性記憶體存儲空間204的第二記憶體區域。在寫入完成之後,流程圖300進行到步驟312。
在步驟312中,流程圖300結束。在實施例中,混合資料存儲管理器218可經配置為發送寫入完成確認作為步驟312的一部分。例如,根據實施例,混合資料存儲管理器218通過通訊鏈路230向SSD控制器202發送寫入完成確認,SSD控制器202接著通過通訊鏈路212將寫入完成確認發送到圖1的主機設備102。
雖然流程圖300經描述為基於包括單個LBA的寫入請求來將資料寫入至混合SSD的處理,但本文設想寫入請求可包括多個LBA。混合SSD 200可經配置為對每個接收到的LBA順序地執行流程圖300,或對一個或多個接收到的LBA成批地執行流程圖300。此外,接收到的LBA可對應於揮發性記憶體存儲空間204的物理位址、非揮發性記憶體存儲空間206的物理位址、或揮發性記憶體存儲空間204的物理位址和非揮發性記憶體存儲空間206的組合。此外,如受益於本申請案的相關技術領域中具有通常知識者將理解地,本文設想可使用不同於使用LBA的邏輯區塊定址的定址方案。
注意到,在實施例中可用各種方式執行步驟306。例如,圖3B是根據實施例的用於決定與所接收的LBA相對應的非揮發性記憶體設備的物理位址的處理的流程圖320。在實施例中,流程圖320是圖3A的步驟306的示例性的處理,且混合SSD 200可經配置為執行流程圖320的一個步驟或所有步驟。相關於圖2的混合SSD 200來如下地描述流程圖320。基於以下描述,進一步的結構和操作實施例對於相關技術領域中具有通常知識者將是顯而易見的。注意到,並非流程圖320的所有步驟皆需要在所有實施例中執行。
流程圖320從步驟322開始。根據實施例,步驟322是圖3A的流程圖300的步驟304,其中接收的LBA經決定為對應於非揮發性記憶體設備(例如,圖2的非揮發性記憶體設備210A-210N中之一者)。根據另一實施例,步驟322是步驟304和步驟306之間的中間步驟。根據又一實施例,步驟322是步驟324之前的步驟306的子步驟。
在步驟324中,從可用物理位址分配新的物理位址以對應於所接收到的LBA。例如,圖2的位址映射表管理器224分配非揮發性記憶體存儲空間206的新物理位址以對應於所接收到的LBA。新的物理位址是未使用的可用物理位址或保留的物理位址。例如,若非揮發性記憶體存儲空間206的多個物理位址損壞或不適合存儲資料,則SSD控制器202可將保留的物理位址轉換為可用的物理位址。
在步驟326中,位址映射表經更新以指示對應於接收到的LBA的物理位址。例如,圖2的位址映射表管理器224更新位址映射表232以指示在步驟324中所分配的非揮發性記憶體存儲空間的物理位址。可在流程圖300的步驟308之前或之後執行步驟326,這取決於特定實施方式。在更新位址映射表232之後,流程圖320進行到步驟328。
流程圖320以步驟328結束。根據實施例,步驟328是圖3A中流程圖300的步驟308。根據另一實施例,步驟328是流程圖300的步驟312。根據又一實施例,步驟328是步驟326與步驟308或步驟312之間的中間步驟。
本文設想,SSD控制器202可重新分配非揮發性記憶體存儲空間206先前分配的的物理位址作為執行步驟324的一部分。例如,若混合 SSD 200 的位址映射表管理器224或另一個組件或子組件決定先前分配的物理位址已損壞或不再適合存儲資料,則位址映射表管理器 224 可從可用物理位址中分配新的物理位址以對應於所接收到的 LBA。
注意到,在實施例中可用各種方式執行步驟310。例如,圖3C是根據實施例之基於接收的LBA將資料寫入至揮發性記憶體設備的第二記憶體區域的處理的流程圖340。在實施例中,流程圖340是圖3A的步驟310的示例性處理,且混合SSD 200可經配置為執行流程圖340的一個或所有步驟。相關於圖2的混合SSD 200來如下描述流程圖340。基於以下描述,進一步的結構和操作實施例對於相關技術領域中具有通常知識者將是顯而易見的。注意,並非流程圖340的所有步驟皆需要在所有實施例中執行。
流程圖340從步驟342開始。在步驟342中,將接收到的LBA轉換為第二記憶體區域的對應物理位址。例如,圖2的LBA轉換器234將所接收到的LBA轉換為揮發性記憶體存儲空間204的第二記憶體區域的對應物理位址。可通過多種方式將接收到的LBA轉換為對應的物理位址。例如,根據實施例,圖2中的LBA轉換器234根據如上文關於圖2所描述的等式1將接收到的LBA轉換為第二記憶體區域的對應物理位址。
在步驟344中,將所包括的資料寫入第二記憶體區域的對應物理位址。例如,圖2的揮發性記憶體控制器222將所包括的資料寫入至揮發性記憶體存儲空間304的第二記憶體區域的對應物理位址。
注意到,在實施例中,可用各種方式定義如LBA的記憶體位址。例如,圖4是根據實施例的示例性的命名空間表400。命名空間表400可用於理解圖2的混合SSD 200 是如何基於所接收到的記憶體位址來決定物理位址。基於以下描述,進一步的結構和操作實施例對於相關技術領域中具有通常知識者將是顯而易見的。關於圖1的伺服器100和圖2的混合SSD 200來如下地描述圖4。
如圖4所示,命名空間表400包括命名空間「0」和命名空間「1」。命名空間表400經配置為利用Y個LBA。命名空間0對應於揮發性記憶體存儲空間的第二記憶體區域且包括LBA 0 到 X-1。命名空間 1 對應於非揮發性記憶體存儲空間且包括 LBA X 到 LBA Y-1。可用多種方式使用命名空間。例如,可將命名空間顯示在計算設備的介面中,使得使用者可配置資料流量以利用特定的命名空間。例如,使用者可選擇命名空間0以獲得更低的延遲存儲或選擇命名空間 1 以獲得更高的存儲容量。在一些實施例中,混合資料存儲管理器218可經配置為基於應用程式來將資料流量引導到特定的命名空間。例如,在鍵值資料存儲應用程式中,混合資料存儲管理器 218 經配置為在命名空間 0 中存儲日誌文件。在日誌文件系統應用程式中,混合資料存儲管理器 218 經配置為在命名空間 0 中存儲日誌。在這些在示例性的應用程式中,可提高服務品質且可減少寫入放大。
雖然命名空間表400示出揮發性記憶體存儲空間的第二記憶體區域和非揮發性記憶體存儲空間的單獨命名空間,但本文設想存儲空間的每個區域可以是同一命名空間內的LBA範圍。此外,本文設想揮發性記憶體存儲空間的第二記憶體區域及/或非揮發性記憶體存儲空間可經劃分為附加的命名空間。雖然LBA範圍0到X-1係與第二記憶體區域相關聯且LBA範圍X到Y-1係與圖4中的非揮發性記憶體存儲空間相關聯,但本文設想可用其他方式排序LBA範圍,這取決於特定實施方式。例如,根據實施例,LBA範圍0到X-1對應於非揮發性記憶體存儲空間,且LBA範圍X到Y-1對應於揮發性記憶體存儲空間。
如本文所述,揮發性記憶體存儲空間的第二記憶體區域是揮發性記憶體。根據實施例,通過在重新啟動或斷電循環期間將經存儲在第二記憶體區域中的資料刷新到非揮發性記憶體存儲空間,可將經存儲在第二記憶體區域中的資料視為非揮發性資料。
可將混合SSD的實施例配置成以各種方式備份和恢復經存儲在揮發性記憶體存儲空間的第二記憶體區域中的資料。例如,圖5是根據實施例的用於備份經存儲在揮發性記憶體設備的第二記憶體區域中的資料並將資料恢復到揮發性記憶體設備的第二記憶體區域中的處理的流程圖500。在實施例中,圖2的混合SSD 200可經配置為執行流程圖500的一個步驟或所有步驟。相關於系統100和圖2的混合SSD 200來如下地描述流程圖500。基於以下描述,進一步的結構和操作實施例對於相關技術領域中具有通常知識者將是顯而易見的。注意,並非流程圖500的所有步驟都需要在所有實施例中執行。
流程圖500從步驟502開始。在步驟502中,回應於斷電事件,將存儲在第二記憶體區域中的資料作為備份資料寫入至非揮發性記憶體設備。例如,圖2的備份資料寫入器228回應於斷電事件,將經存儲在揮發性記憶體存儲空間204的第二記憶體區域中的資料寫入至非揮發性記憶體存儲空間206作為備份資料。備份資料寫入器228可通過通訊鏈路214直接或(例如,通過揮發性記憶體控制器222)間接存取經存儲在揮發性記憶體存儲空間204的第二記憶體區域中的資料。可通過類似於相關於圖3A所示和所描述的流程圖300的步驟306和308所描述的操作來將備份資料寫入至非揮發性記憶體存儲空間206。根據實施例,非揮發性記憶體存儲空間206的一部分被保留以用於存儲備份資料。斷電事件可包括斷電循環、系統重新啟動、電源故障及/或從混合SSD 200移除電源的任何其他情況。根據實施例,SSD控制器202可將步驟502的備份操作排入佇列,作為斷電循環或系統重新啟動的一部分。在電源意外、立即或以其他方式(例如,由於強制重置、強制關機或電源故障)斷電的情況下,混合 SSD 200、圖1的伺服器100,或者實現混合SSD 200的資料中心可包括備用電源電路;備用電源電路允許備用資料寫入器228將經存儲在揮發性記憶體存儲空間204的第二記憶體區域中的資料刷新到非揮發性記憶體存儲空間206。例如,若第二記憶體區域使用200MB且混合SSD 200的寫入頻寬為1GB/s,則可在不到1秒的時間內將經存儲在第二記憶體區域中的資料刷新到非揮發性存儲空間206。
在步驟504中,回應於通電事件,經存儲在非揮發性記憶體設備中的備份資料經寫入至第二記憶體區域。例如,圖2的備份資料寫入器228回應於通電事件,將經存儲在非揮發性記憶體存儲空間206中的備份資料寫入至揮發性記憶體存儲空間204的第二記憶體區域。備份資料寫入器228可通過通訊鏈路216直接或(例如,通過非揮發性記憶體控制器226)間接存取經存儲在非揮發性記憶體存儲空間206中的資料。可通過類似於相關於圖3A所示和所描述的流程圖300的步驟310所描述的操作來將備份資料寫入至揮發性記憶體存儲空間204的第二記憶體區域。通電事件可包括在斷電或電源故障、系統重啟結束、開啟混合SSD 200的電源及/或以其他方式向混合SSD 200供電後對於混合SSD 200的經恢復的電力。
混合SSD 200可經配置為處理來自主機設備(如圖1中的伺服器100的主機設備102)的讀取請求。例如,圖6是根據實施例的用於讀取經存儲在混合固態硬碟中的資料的處理的流程圖。在實施例中,混合SSD 200可經配置為執行流程圖600的一個或所有步驟。相關於圖1的伺服器100和圖2的混合SSD 200來如下地描述流程圖600。基於以下描述,進一步的結構和操作實施例對於相關技術領域中具有通常知識者將是顯而易見的。注意,並非流程圖600的所有步驟都需要在所有實施例中執行。
流程圖600從步驟602開始。在步驟602中,接收讀取請求;讀取請求包括主機LBA。例如,圖2的 SSD 控制器 202通過通訊鏈路212從主機設備102接收讀取請求。此外,混合資料存儲管理器218通過通訊鏈路230從SSD控制器202接收讀取請求。
在步驟604中,決定接收到的LBA是對應於非揮發性記憶體設備還是揮發性記憶體設備的第二記憶體區域。例如,圖2的記憶體選擇器220決定在步驟602中接收到的LBA是對應於非揮發性記憶體存儲空間206還是揮發性記憶體存儲空間204的第二記憶體區域。若接收到的LBA對應於非揮發性記憶體存儲空間206,則流程圖600進行到步驟606。若接收到的LBA對應於揮發性記憶體存儲空間204的第二記憶體區域,則流程圖600進行到步驟610。
在步驟606中,基於位址映射表來決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址。例如,圖2的位址映射表管理器224存取經存儲在揮發性記憶體存儲空間204的第一記憶體區域中的位址映射表232,並基於位址映射表232來決定與在步驟602中所接收的LBA相對應的非揮發性記憶體存儲空間206的物理位址。
在步驟608中,從所決定的非揮發性記憶體設備的物理位址中讀取資料。例如,圖2的非揮發性記憶體控制器226從在步驟606中決定的非揮發性記憶體存儲空間206的物理位址讀取資料;流程圖600進行到步驟612。
在步驟610中,從與接收到的LBA相對應的第二記憶體區域的物理位址讀取資料。例如,圖2的揮發性記憶體控制器222從與在步驟602中接收的LBA相對應的揮發性記憶體存儲空間204的第二記憶體區域的物理位址讀取資料;流程圖600進行到步驟612。根據實施例,可基於如上述關於圖2所描述的等式1來決定第二記憶體區域的物理位址。根據實施例,揮發性記憶體控制器222通過直接讀取操作,從與在步驟602中所接收的LBA相對應的揮發性記憶體存儲空間204的第二記憶體區域的物理位址讀取資料。
流程圖600在步驟612中結束。在步驟612中,將在步驟608或步驟610中讀取到的資料發送到請求設備。例如,圖2的混合資料存儲管理器218將在步驟608或步驟610中所讀取的資料經由通訊230發送到SSD控制器202,SSD控制器202接著經由通訊鏈路21將資料發送到圖1的主機設備102。
三、進一步的示例性實施例和優勢
如上所述,包括資料中心、伺服器和混合SSD的系統和設備可用多種方式經配置為將資料存儲在揮發性記憶體存儲空間的第二記憶體區域中。已相關於伺服器的資料中心和主機設備描述了混合SSD;然而,本文還設想混合SSD可用於如計算設備的其他應用。揮發性記憶體存儲空間已被描述為具有第一記憶體區域和第二記憶體區域;然而,本文還設想揮發性記憶體存儲空間可具有用於受益於本申請案的相關技術領域中具有通常知識者將理解的功能的附加的記憶體區域。例如,揮發性記憶體存儲空間的附加的記憶體區域可用於存儲系統變數。
此外,根據所描述的實施例和技術,可使資料中心、伺服器、主機設備、匯流排開關、混合SSD、SSD控制器及/或混合資料存儲管理器的任何組件及其功能被啟動以基於其他操作、功能、動作及/或類似物(其包括功能、動作及/或類似物的初始化、完成及/或執行)來進行操作/執行功能。
在一些示例性實施例中,可不執行本文所描述的流程圖的操作中的一者或多者。此外,可執行本文所描述的流程圖的操作之外的操作,或可執行代替本文所描述的流程圖的操作的操作。此外,在一些示例性的實施例中,本文所描述的流程圖的操作中的一者或多者可無序地、以交替的順序或彼此(或與其他操作)部分地(或完全地)同時執行。
在本章節中所描述的進一步的示例實施例和優勢可適用於在本章節中或在本申請案的任何其他章節中所揭露的任何實施例。
可在硬體(例如,硬體邏輯/電路系統)或硬體與軟體的任何組合(經配置為在一個或多個處理器或處理設備中執行的電腦程式代碼)及/或韌體中實現本文所描述的實施例及/或本文所揭露的任何其他系統、子系統、設備及/或組件。
四、示例性的基於處理器的實施方式
可在硬體、或硬體與軟體的任何組合及/或韌體中實現SSD控制器152、154、156、164、166和168、混合資料存儲管理器158、160、162、170、172和174、SSD控制器202、混合資料存儲管理器218、記憶體選擇器220、揮發性記憶體控制器222、位址映射表管理器224、非揮發性記憶體控制器226、備份資料寫入器228、LBA轉換器234、流程圖300、流程圖320、流程圖340、流程圖500及/或流程圖600,其包括經實施成經配置為在一個或多個處理器單元中執行並經存儲在電腦可讀取存儲媒體中的電腦程式代碼,或經實施成硬體邏輯/電路系統,如在系統單晶片 (SoC) 中實現。SoC可包括積體電路晶片;積體電路晶片包括處理器單元(例如,微控制器、微處理器、數位信號處理器(DSP)等等)、記憶體、一個或多個通訊介面及/或另外的電路中的一者或多者及/或用以執行其功能的嵌入式韌體。
處理器單元是作為中央處理單元 (CPU)、微控制器、微處理器及/或其他物理硬體處理器電路而實施在一個或多個物理硬體電氣電路設備元件及/或積體電路元件(半導體材料晶片或晶粒)中的電氣/光學電路。處理器單元可執行經存儲在電腦可讀取媒體中的程式代碼,如 SSD 控制器 152、154、156、164、166 和 168、混合資料存儲管理器 158、160、162、170、172 和174、SSD控制器202、混合資料存儲管理器218、記憶體選擇器220、揮發性記憶體控制器222、位址映射表管理器224、非揮發性記憶體控制器226、備份資料寫入器228、LBA轉換器234、流程圖300、流程圖320、流程圖340、流程圖500及/或流程圖600的程式代碼實施例。注意,任何合適的存儲器(其包括記憶體)可用於存儲SSD控制器152、154、156、164、166和168、混合資料存儲管理器158、160、162、170、172和174、SSD控制器202,混合資料存儲管理器218、記憶體選擇器220、揮發性記憶體控制器222、位址映射表管理器224、非揮發性記憶體控制器226、備份資料寫入器228和LBA轉換器234。此類存儲器包括唯讀記憶體(ROM)、隨機存取記憶體 (RAM)、硬碟、磁碟或其他物理存儲設備。
如本文所用,術語「電腦程式媒體」、「電腦可讀取媒體」和「電腦可讀取存儲媒體」用於指代物理硬體媒體,如硬碟、可移動磁碟、其他物理硬體媒體(如 RAM、ROM、快閃記憶卡、記憶體設備組件、可攜式記憶棒、數位影碟、zip磁碟、MEM和基於奈米技術的存儲設備),及其他類型的物理/有形硬體存儲媒體。這種電腦可讀取存儲媒體與通訊媒體不同並且不重疊(這種電腦可讀取存儲媒體不包括通訊媒體)。通訊媒體將電腦可讀取指令、資料結構、程式模塊或其他資料體現在如載波的調製資料信號中。術語「調製資料信號」是指其具有一個或多個特徵的信號;此一個或多個特徵係以在信號中編碼資訊的方式被設置或改變。作為示例而非限制,通訊媒體包括無線媒體(如聲學、RF、紅外線和其他無線媒體)和有線媒體。實施例亦針對與針對電腦可讀取存儲媒體的實施例分開且不重疊的此種通訊媒體。
五、額外的示例性實施例
在實施例中,固態硬碟(SSD)包括電路板、安裝到電路板的非揮發性記憶體設備、安裝到電路板的揮發性記憶體設備,及安裝到電路板的控制器。揮發性記憶體設備包括第一記憶體區域和第二記憶體區域。第一記憶體區域經配置成存儲位址映射表。控制器經通訊地耦合到非揮發性記憶體設備和揮發性記憶體設備。控制器經配置為接收寫入請求;寫入請求包括主機邏輯區塊位址(LBA)和資料。控制器經進一步配置為決定接收到的LBA是對應於非揮發性記憶體設備還是第二記憶體區域。回應於與非揮發性記憶體設備相對應的接收到的LBA,控制器經配置為基於位址映射表來決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址,並將所包括的資料寫入至非揮發性記憶體設備的物理位址。回應於對應於第二記憶體區域的LBA,控制器經配置為基於LBA將所包括的資料寫入至第二記憶體區域。
在實施例中,控制器經配置為藉由將所接收的LBA轉換為第二記憶體區域的相對應物理位址並將所包括的資料寫入至第二記憶體區域的相對應的物理位址,而基於接收到的LBA將所包括的資料寫入至第二記憶體區域。
在實施例中,控制器經進一步配置為接收包括LBA的讀取請求。控制器經進一步配置為決定接收到的LBA是對應於非揮發性記憶體設備還是第二記憶體區域。回應於接收到的LBA對應於非揮發性記憶體設備,控制器經配置為基於位址映射表決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址,並從經決定的非揮發性記憶體設備的物理位址讀取資料。回應於接收到的LBA對應於第二記憶體區域,控制器經配置成從與接收到的LBA相對應的第二記憶體區域的物理位址讀取資料。
在實施例中,控制器經進一步配置為回應於斷電事件,將經存儲在第二記憶體區域中的資料作為備份資料寫入至非揮發性記憶體設備。
在實施例中,控制器經進一步配置為回應於通電事件,將經存儲在非揮發性記憶體設備中的備份資料寫入至第二記憶體區域。
在實施例中,控制器經配置為藉由從可用物理位址中分配物理位址以對應於接收到的LBA並更新位址映射表以指示物理位址對應於接收到的LBA,來決定對應於接收到的LBA的非揮發性記憶體設備的物理位址。
在實施例中,非揮發性記憶體設備是NAND快閃記憶體設備。
在實施例中,揮發性記憶體設備是雙倍資料速率(DDR)記憶體設備。
在實施例中,執行一種用於寫入固態硬碟(SSD)的方法。 SSD包括非揮發性記憶體設備和揮發性記憶體設備。揮發性記憶體設備包括第一記憶體區域和第二記憶體區域。第一記憶體區域存儲位址映射表。方法包括以下步驟:接收寫入請求;寫入請求包括主機邏輯區塊位址LBA和資料。決定接收到的LBA是對應於非揮發性記憶體設備還是第二記憶體區域。回應接收到的LBA對應於非揮發性記憶體設備,基於位址映射表來決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址,並將所包括的資料寫入至經決定的非揮發性記憶體設備的物理位址。回應於接收到的LBA對應於第二記憶體區域,基於接收到的LBA將所包括的資料寫入至第二記憶體區域。
在實施例中,基於接收到的LBA將包括的資料寫入至第二記憶體區域之步驟包括以下步驟:將所接收到的LBA轉換為第二記憶體區域的相對應物理位址。將所包括的資料寫入至第二記憶體區域的相對應物理位址。
在實施例中,方法進一步包括以下步驟:回應於斷電事件,將經存儲在第二記憶體區域中的資料作為備份資料寫入至非揮發性記憶體設備。
在實施例中,方法進一步包括以下步驟:回應於通電事件,將存儲在非揮發性記憶體設備中的備份資料寫入至第二記憶體區域。
在實施例中,藉由從可用物理位址中分配物理位址以對應於接收到的LBA,而基於位址映射表來決定對應於接收到的LBA的非揮發性記憶體設備的物理位址。位址映射表經更新以指示物理位址對應於接收到的LBA。
在實施例中,非揮發性記憶體設備是NAND快閃記憶體設備。
在實施例中,揮發性記憶體設備是雙倍資料速率(DDR)記憶體設備。
在實施例中,固態硬碟(SSD)控制器經配置為寫入至非揮發性記憶體設備和揮發性記憶體設備。揮發性記憶體設備包括第一記憶體區域和第二記憶體區域。第一記憶體區域經配置成存儲位址映射表。SSD控制器經進一步配置為接收寫入請求;寫入請求包括主機邏輯區塊位址(LBA)和資料。SSD控制器經進一步配置為決定所接收到的LBA是對應於非揮發性記憶體設備還是第二記憶體區域。SSD控制器經進一步配置為回應於接收到的LBA對應於非揮發性記憶體設備,基於位址映射表來決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址,並將所包括的資料寫入至所決定的非揮發性記憶體設備的物理位址。 SSD控制器經進一步配置為回應於接收到的LBA對應於第二記憶體區域,基於接收到的LBA將所包括的資料寫入至第二記憶體區域。
在實施例中,SSD控制器經進一步配置為藉由將接收到的LBA轉換為第二記憶體區域的相對應物理位址並將包括的資料寫入至第二記憶體區域的相對應物理位址,而基於接收到的LBA將所包括的資料寫入至第二記憶體區域。
在實施例中,SSD控制器經進一步配置為接收讀取請求;讀取請求包括LBA。SSD控制器經進一步配置為決定接收到的LBA是對應於非揮發性記憶體設備還是第二記憶體區域。SSD控制器經進一步配置為回應於接收到的LBA對應於非揮發性記憶體設備,基於位址映射表決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址,並從非揮發性記憶體設備的物理位址讀取資料。SSD控制器經進一步配置為回應於接收到的LBA對應於第二記憶體區域,從與接收到的LBA相對應的第二記憶體區域的物理位址讀取資料。
在實施例中,SSD控制器經進一步配置為回應於斷電事件,將經存儲在第二記憶體區域中的資料作為備份資料寫入至非揮發性記憶體設備。
在實施例中,SSD控制器經進一步配置為回應於通電事件,將經存儲在非揮發性記憶體設備中的備份資料寫入第二記憶體區域。
六、結論
儘管上文已描述了各種實施例,但應當理解的是,僅以示例方式(而非限制)呈現此等各種實施例。對於相關技術領域中具有通常知識者來說,在不脫離實施例的精神和範疇的情況下,可在其中做出各種形式和細節上的改變,這是顯而易見的。因此,實施例的廣度和範圍不應受任何上述示例性實施例的限制,而應僅根據下述申請專利範圍及其等同物來定義。
100:伺服器 102:主機設備 104:存儲器 108:驅動器組 110:驅動器組 112:匯流排開關 114:匯流排開關 116~126:SSD 128,132,136,140,144,148:揮發性記憶體 130,134,138,142,146,150:非揮發性記憶體 152~156:SSD控制器 158~162:混合資料存儲管理器 164~168:SSD控制器 170~174:混合資料存儲管理器 200:混合SSD 202:SSD控制器 204:揮發性記憶體 206:非揮發性記憶體 208A~208N:VM設備 210A~210N:NVM設備 212:通訊鏈路 214:通訊鏈路 216:通訊鏈路 218:混合資料存儲管理器 220:記憶體選擇器 222:揮發性記憶體控制器 224:位址映射表管理器 226:非揮發性記憶體控制器 228:備份資料寫入器 230:通訊鏈路 232:位址映射表 234:LBA轉換器 300:流程圖 302~312:步驟 320:流程圖 322~328:步驟 340:流程圖 342~344:步驟 400:命名空間表 500:流程圖 502~504:步驟 600:流程圖 602~612:步驟
併入本文並形成說明書一部分的附圖示出實施例,並與[實施方式]一起進一步用於解釋實施例的原理且使相關技術領域中具有通常知識者能夠做出和使用實施例。
圖1是根據示例性的實施例的經配置用於存儲資料的伺服器的方框圖。
圖2是根據示例性的實施例的混合固態硬碟的方框圖。
圖3A是根據實施例的用於將資料寫入混合固態硬碟的處理的流程圖。
圖3B是根據實施例的用於決定與接收到的LBA相對應的非揮發性記憶體設備的物理位址的處理的流程圖。
圖3C是根據實施例的用於基於接收到的LBA將資料寫入揮發性記憶體設備的第二記憶體區域的處理的流程圖。
圖4是根據實施例的示例性的命名空間表。
圖5是根據實施例的用於備份存儲在揮發性記憶體設備的第二記憶體區域中的資料及將資料恢復到其中的處理的流程圖。
圖6是根據實施例的用於讀取存儲在混合固態硬碟中的資料的處理的流程圖。
現在將參照附圖描述實施例。在附圖中,相同的元件符號表示相同或功能相似的元件。此外,元件符號的最左側(多個)數字標識元件符號第一次出現在其中的圖式。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
100:伺服器
102:主機設備
104:存儲器
108:驅動器組
110:驅動器組
112:匯流排開關
114:匯流排開關
116~126:SSD
128,132,136,140,144,148:揮發性記憶體
130,134,138,142,146,150:非揮發性記憶體
152~156:SSD控制器
158~162:混合資料存儲管理器
164~168:SSD控制器
170~174:混合資料存儲管理器

Claims (20)

  1. 一種固態硬碟 (SSD),包括: 一電路板; 一非揮發性記憶體設備,該存儲設備經安裝到該電路板上; 一揮發性記憶體設備,該存儲設備經安裝到該電路板上,該揮發性記憶體設備包括第一記憶體區域和第二記憶體區域,該第一記憶體區域經配置為存儲一位址映射表; 一控制器,該控制器經安裝到該電路板上並經通訊地耦合到該非揮發性記憶體設備和該揮發性記憶體設備,該控制器經配置為執行以下操作: 接收一寫入請求,該寫入請求包括一主機邏輯區塊位址 (LBA) 和資料; 判斷該接收到的LBA是對應於該非揮發性記憶體設備還是該第二記憶體區域; 回應於該接收到的LBA對應於該非揮發性記憶體設備: 基於該位址映射表,決定與該接收到的LBA相對應的該非揮發性記憶體設備的一物理位址;及 將該包括的資料寫入至該非揮發性記憶體設備的該物理位址;及 回應於該LBA對應於該第二記憶體區域,基於該LBA將該包括的資料寫入至該第二記憶體區域。
  2. 如請求項1所述的SSD,在基於該LBA將該包括的資料寫入至該第二記憶體區域之該操作中,該控制器經配置為: 將該接收到的LBA轉換為該第二記憶體區域的一對應的物理位址;及 將該包括的資料寫入至該第二記憶體區域的該對應的物理位址。
  3. 如請求項1所述的SSD,其中該控制器經進一步配置成執行以下操作: 接收一讀取請求,該讀取請求包括該LBA; 判斷該接收到的LBA是對應於該非揮發性記憶體設備還是該第二記憶體區域; 回應該接收到的LBA對應於該非揮發性記憶體設備: 基於該位址映射表,決定與該接收到的LBA相對應的該非揮發性記憶體設備的該物理位址;及 從該經決定的非揮發性記憶體設備的物理位址讀取資料;及 回應於該接收到的LBA對應於該第二記憶體區域, 從與該接收到的LBA相對應的該第二記憶體區域的一物理位址讀取資料。
  4. 如請求項1所述的SSD,其中回應於一斷電事件,該控制器經進一步配置成執行以下操作: 將存儲在該第二記憶體區域中的資料寫入至該非揮發性記憶體設備作為備份資料。
  5. 如請求項4所述的SSD,其中回應於一通電事件,該控制器經進一步配置成執行以下操作: 將存儲在該非揮發性記憶體設備中的該備份資料寫入至該第二記憶體區域。
  6. 如請求項1所述的SSD,在決定與該接收到的LBA相對應的該非揮發性記憶體設備的該物理位址之該操作中,該控制器經配置為: 從可用物理位址中分配該物理位址以對應於該接收到的LBA;及 更新該位址映射表以指示該物理位址對應於該接收到的LBA。
  7. 如請求項1所述的SSD,其中該非揮發性記憶體設備是一NAND快閃記憶體設備。
  8. 如請求項1所述的SSD,其中該揮發性記憶體設備是一雙倍資料速率(DDR)記憶體設備。
  9. 一種用於寫入至一固態硬碟(SSD)的方法,該SSD包括一非揮發性記憶體設備和一揮發性記憶體設備,該揮發性記憶體設備包括第一記憶體區域和第二記憶體區域,該第一記憶體區域存儲一位址映射表,該方法包括以下步驟: 接收一寫入請求,該寫入請求包括一主機邏輯區塊位址(LBA)和資料; 判斷該接收到的LBA是對應於該非揮發性記憶體設備還是該第二記憶體區域; 回應於該接收到LBA對應於該非揮發性記憶體設備: 基於該位址映射表,決定與該接收到的LBA相對應的該非揮發性記憶體設備的一物理位址;及 將該包括的資料寫入至該經決定的非揮發性記憶體設備的物理位址;及 回應於該接收到的LBA對應於該第二記憶體區域,基於該接收到的LBA,將該包括的資料寫入至該第二記憶體區域。
  10. 如請求項9所述的方法,其中基於該接收到的LBA將該包括的資料寫入至該第二記憶體區域之該步驟包括以下步驟: 將該接收到的LBA轉換為該第二記憶體區域的一對應的物理位址;及 將該包括的資料寫入至該第二記憶體區域的該對應的物理位址。
  11. 如請求項9所述的方法,進一步包括以下步驟: 回應於一斷電事件, 將存儲在該第二記憶體區域中的資料寫入至該非揮發性記憶體設備作為備份資料。
  12. 如請求項11所述的方法,進一步包括以下步驟: 回應於一通電事件,將存儲在該非揮發性記憶體設備中的該備份資料寫入至該第二記憶體區域。
  13. 如請求項9所述的方法,其中基於該位址映射表決定與該接收到的LBA相對應的該非揮發性記憶體設備的一物理位址之該步驟包括以下步驟: 從可用物理位址中分配該物理位址以對應於該接收到的LBA;及 更新該位址映射表以指示該物理位址對應於該接收到的LBA。
  14. 如請求項9所述的方法,其中該非揮發性記憶體設備是一NAND快閃記憶體設備。
  15. 如請求項9所述的方法,其中該揮發性記憶體設備是一雙倍資料速率(DDR)記憶體設備。
  16. 一種固態硬碟(SSD)控制器,該SSD控制器經配置為寫入一非揮發性記憶體設備和一揮發性記憶體設備,該揮發性記憶體設備包括第一記憶體區域和第二記憶體區域,該第一記憶體區域存儲一位址映射表,該SSD控制器進一步經配置為執行以下操作: 接收一寫入請求,該寫入請求包括一主機邏輯區塊位址 (LBA) 和資料; 判斷該接收到的LBA是對應於該非揮發性記憶體設備還是該第二記憶體區域; 回應於該接收到LBA對應於該非揮發性記憶體設備: 基於該位址映射表,決定與該接收到的LBA相對應的該非揮發性記憶體設備的該物理位址;及 將該包括的資料寫入至該經決定的非揮發性記憶體設備的該物理位址;及 回應於該接收到的LBA對應於該第二記憶體區域,基於該接收到的LBA將該包括的資料寫入至該第二記憶體區域。
  17. 如請求項16所述的SSD控制器,在基於該接收到的LBA將該包括的資料寫入至該第二記憶體區域之該操作中,該SSD控制器經配置為執行以下操作: 將該接收到的LBA轉換為該第二記憶體區域的一對應的物理位址;及 將該包括的資料寫入至該第二記憶體區域的該對應的物理位址。
  18. 如請求項16所述的SSD控制器,其經進一步配置成執行以下操作: 接收一讀取請求,該讀取請求包括該LBA; 判斷該接收到的LBA是對應於該非揮發性記憶體設備還是該第二記憶體區域; 回應該接收到的LBA對應於該非揮發性記憶體設備: 基於該位址映射表,決定與該接收到的LBA相對應的該非揮發性記憶體設備的該物理位址;及 從該經決定的非揮發性記憶體設備的物理位址讀取資料;及 回應於該接收到的LBA對應於該第二記憶體區域,從與該接收到的LBA相對應的該第二記憶體區域的一物理位址讀取資料。
  19. 如請求項16所述的SSD控制器,進一步經配置為回應於一斷電事件,將存儲在該第二記憶體區域中的資料寫入至該非揮發性記憶體設備作為備份資料。
  20. 如請求項19所述的SSD控制器,進一步經配置為回應於一通電事件,將存儲在該非揮發性記憶體設備中的該備份資料寫入至該第二記憶體區域。
TW111139417A 2021-11-30 2022-10-18 混合固態硬碟 TW202324106A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/538,871 2021-11-30
US17/538,871 US11733927B2 (en) 2021-11-30 2021-11-30 Hybrid solid-state drive

Publications (1)

Publication Number Publication Date
TW202324106A true TW202324106A (zh) 2023-06-16

Family

ID=83598337

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111139417A TW202324106A (zh) 2021-11-30 2022-10-18 混合固態硬碟

Country Status (3)

Country Link
US (2) US11733927B2 (zh)
TW (1) TW202324106A (zh)
WO (1) WO2023101741A1 (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (ja) * 1997-08-08 2008-04-23 株式会社東芝 不揮発性半導体メモリシステムの制御方法
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US9189385B2 (en) * 2010-03-22 2015-11-17 Seagate Technology Llc Scalable data structures for control and management of non-volatile storage
US20170060436A1 (en) 2015-09-02 2017-03-02 Intel Corporation Technologies for managing a reserved high-performance memory region of a solid state drive
KR102527992B1 (ko) * 2016-03-14 2023-05-03 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10613974B2 (en) * 2016-10-04 2020-04-07 Pure Storage, Inc. Peer-to-peer non-volatile random-access memory
JP7030463B2 (ja) 2017-09-22 2022-03-07 キオクシア株式会社 メモリシステム
JP2019079464A (ja) * 2017-10-27 2019-05-23 東芝メモリ株式会社 メモリシステムおよび制御方法
US10884916B2 (en) 2018-03-29 2021-01-05 Intel Corporation Non-volatile file update media
US11061591B2 (en) * 2018-11-02 2021-07-13 Samsung Electronics Co., Ltd. Storage device processing stream data, system including the same, and operation method thereof
US12014081B2 (en) 2020-12-15 2024-06-18 Intel Corporation Host managed buffer to store a logical-to physical address table for a solid state drive

Also Published As

Publication number Publication date
US11733927B2 (en) 2023-08-22
US20230342088A1 (en) 2023-10-26
US20230168840A1 (en) 2023-06-01
WO2023101741A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US11797181B2 (en) Hardware accessible external memory
KR102519904B1 (ko) 영구 메모리 할당 및 구성
US10437486B2 (en) Method and apparatus for tenant-aware storage sharing platform
JP5489434B2 (ja) フラッシュメモリ搭載ストレージ装置
US9026845B2 (en) System and method for failure protection in a storage array
TWI475384B (zh) 用以建置記憶體缺陷對映圖之系統與方法
US20140052925A1 (en) System and method for write-life extension of storage resources
US10831404B2 (en) Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10996876B2 (en) Systems and methods for dynamically modifying memory namespace allocation based on memory attributes and application requirements
US20190114434A1 (en) Method and apparatus to prevent unauthorized operation of an integrated circuit in a computer system
US10732859B2 (en) Systems and methods for granular non-volatile memory health visibility to a host
EP4273706A1 (en) Storage device, memory device, and system including storage device and memory device
CN117111831A (zh) 存储器装置、存储装置以及计算系统
TW202324106A (zh) 混合固態硬碟
US11971771B2 (en) Peer storage device messaging for power management
US20190138236A1 (en) System and Method to Reserve Persistent Memory Space in an NVDIMM for NVDIMM Namespace Support
US11221952B1 (en) Aggregated cache supporting dynamic ratios in a vSAN architecture
US20230359389A1 (en) Operation method of host configured to communicate with storage devices and memory devices, and system including storage devices and memory devices
EP4273708A1 (en) Operation method of host configured to communicate with storage devices and memory devices, and system including storage devices and memory devices
US20230350832A1 (en) Storage device, memory device, and system including storage device and memory device
EP4283474A1 (en) Storage device, memory device, and computing system including the same
US20230376217A1 (en) Storage device, memory device, and computing system including the same
TW202340931A (zh) 具有雜訊鄰居緩解及動態位址範圍分配的直接交換快取
TW202344971A (zh) 使用整合記憶體池化及直接交換快取的系統及方法
CN118511151A (zh) 具有集成存储器池化和直接交换高速缓存的系统和方法