专利摘要:
本發明揭示一種用於針對邏輯至實體轉譯任務減少檢查一次要位址表及一主要位址表兩者之需要之系統及方法。該方法可包含產生指示在該次要位址表中是否存在含有關於一特定邏輯位址之所要資訊之一項目之一快速轉譯指示器,諸如,一邏輯群組位元映射。在一主機請求與該特定邏輯位址相關時,儲存裝置可檢查該位元映射以判定對該次要表之擷取及剖析是否有必要。該系統可包含具有RAM快取儲存器、快閃儲存器及一控制器之一儲存裝置,其經組態以產生及維持至少一個快速轉譯指示器以減少在該儲存裝置之邏輯至實體位址轉譯操作期間檢查次要位址表及主要位址表兩者之需要。
公开号:TW201301030A
申请号:TW101117625
申请日:2012-05-17
公开日:2013-01-01
发明作者:Sergey Anatolievich Gorobets;William Wu;Steven T Sprouse
申请人:Sandisk Technologies Inc;
IPC主号:G06F3-00
专利说明:
在一記憶體裝置中減少次要位址表檢查之快速轉譯指示器
本申請案主張2011年5月17日提出申請之第61/487,215號美國臨時申請案之權益,該申請案之全文據此以引用方式併入本文中。
消費者產品中已廣泛地採用非揮發性記憶體系統(諸如,快閃記憶體)。可發現快閃記憶體呈不同形式,舉例而言,呈可攜載於主機裝置之間的一可攜式記憶體卡或作為嵌入於一主機裝置中之一固態磁碟(SSD)之形式。
某些快閃記憶體管理系統採用用於資料緩衝及資料快取之自快取架構。舉例而言,快取可用於資料緩衝,其中自主機裝置接收之資料係首先儲存於標示為快取記憶體之記憶體之一部分中且稍後被複製至標示為一主儲存區之快閃記憶體(諸如,一多位階記憶體胞(MLC)類型快閃記憶體)之一部分。作為另一實例,快取可用於控制資料儲存以改良操作時間。控制資料可包含快閃記憶體中所使用之映射表及其他記憶體管理資料。
當一主機裝置自一快閃記憶體請求資料或將資料寫入至一快閃記憶體時,主機讀取請求包含快閃記憶體然後必須映射至實體快閃記憶體位址之邏輯位址資訊。作為此映射程序之一部分,多個映射表(亦稱作控制資料)查找通常係有必要的。舉例而言,快閃記憶體系統可使得資料經整理以使得邏輯群組之片段係儲存於快閃記憶體之一快取區中且與資料請求相關聯之邏輯群組之剩餘部分係在快閃記憶體中之主儲存器中。
其中快閃記憶體將搜尋與一主機請求相關聯之資料之一典型方式係始終首先在追蹤快取記憶體中之邏輯群組片段之一次要表中檢查可能的邏輯群組片段且然後在主儲存器中之一主要表中搜尋邏輯群組資訊。然而,可存在其中在快取記憶體中不存在與所請求資料相關聯之邏輯群組片段之諸多例項。在此等例項中,檢查相關邏輯群組片段上之項目之次要索引將導致其中無結果將被傳回之一「未命中」,此乃因不存在與邏輯群組相關之邏輯群組片段。當邏輯片段之數目很少時,始終在然後擷取及剖析一主要表之前擷取及剖析追蹤快取記憶體中之邏輯群組片段之次要表之程序可導致次要表中之諸多未命中。擷取及剖析次要表所需之時間然後被浪費了且可使總體快閃記憶體效能慢下來。
為解決上文所述之問題,本發明揭示一種用於減少二進制快取檢查之方法及系統。根據本發明之一第一態樣,揭示一種儲存裝置,其包含一非揮發性記憶體及具有一揮發性記憶體之一控制器,其中儲存含有針對儲存裝置之邏輯至實體位址映射資訊之位址表之至少兩個層級。該控制器經組態以建立並維持一快速轉譯指示器(諸如,一邏輯群組位元映射)以指示與一邏輯群組編號相關聯之資料是否存在於一特定位址表中以使得在接收關於一特定邏輯群組編號之一主機查詢時該控制器可判定是否有必要擷取及剖析所有位址表。
圖1中展示一種適合於在實施本發明之態樣中使用之快閃記憶體系統。一主機系統10將資料儲存至一自快取儲存裝置12中且自自快取儲存裝置12擷取資料。儲存裝置12可嵌入於主機系統10中或可以透過一機械及電連接器以可抽換方式連接至主機系統10之一卡或其他可抽換磁碟機(諸如,一固態磁碟(SSD))之形式存在。主機系統10可具有若干個固定或可攜式資料產生裝置,諸如,一個人電腦、一行動電話、一個人數位助理(PDA)或諸如此類。主機系統10經由一通信頻道14與儲存裝置通信。
儲存裝置12含有一控制器16及一記憶體26。如圖1中所展示,控制器16包含一處理器18及一控制器記憶體20。處理器18可包括一微處理器、一微控制器、一特殊應用積體電路(ASIC)、一場可程式化閘陣列、一邏輯數位電路或其他現在已知或稍後開發之邏輯處理能力。控制器記憶體20可包含揮發性記憶體(諸如,隨機存取記憶體(RAM)22)及/或非揮發性記憶體及用於處置記憶體管理之處理器可執行指令24。
如下文更詳細地論述,儲存裝置12可包含用於記憶體管理之功能。在操作中,處理器18可執行用於記憶體管理功能之操作(諸如圖3中所詳述)之記憶體管理指令(其可駐存於指令24中)。記憶體管理功能可控制儲存裝置12(諸如,控制器記憶體20)內之記憶體之一或多個部分之指派。舉例而言,記憶體管理功能可分配控制器記憶體20之一部分用於永久快取記憶體,可分配控制器記憶體20之一部分用於暫時資料快取記憶體或可回收分配給暫時資料快取記憶體之部分用於另一目的。可由儲存裝置12內之一個或單獨元件來執行該等記憶體管理功能中之一個、某些或所有記憶體管理功能。舉例而言,可由媒體管理層(MML)韌體執行分配記憶體區域用於暫時資料快取記憶體,且可由資料路徑層(DPL)韌體執行回收一暫時資料快取記憶體。
一或多個類型之資料可快取於儲存裝置12中之RAM 22中。可快取於儲存裝置12中之一個類型之資料係主機資料,該主機資料係發送至主機裝置10或自主機裝置10接收之資料。可快取於儲存裝置12中之另一類型之資料係控制資料。預期用於快取之其他類型之資料。
記憶體26可包含非揮發性記憶體(諸如,快閃記憶體)。一或多個記憶體類型可構成記憶體26,包含(但不限於)單位階記憶體胞(SLC)類型之快閃記憶體組態及多位階記憶體胞(MLC)類型快閃記憶體組態。SLC快閃記憶體可組態為一個二進制快取記憶體28且SLC或MLC可用作主儲存器30。
現在參考圖2,其圖解說明用於減少回應於一主機資料請求而執行之二進制快取檢查之數目之一經改良位址轉譯方案。對於一主機而言,主機系統10利用維持已由主機系統10指派給資料之所有邏輯區塊位址(LBA)之一邏輯位址範圍202之一主機檔案系統係典型的。此等LBA係分組成邏輯群組(LG)204。作為寫入及抹除具有歸屬於特定LG內之LBA之資料之程序之一部分,可將LG之某些片段寫入至快閃記憶體26之二進制快取記憶體28部分中而非寫入至快閃記憶體26之主儲存器30部分。在稱作一個二進制快取索引206之一表中映射被寫入至二進制快取記憶體28中的LG之片段以追蹤針對與當前寫入至一個二進制快取區塊210中之一LG相關聯之一資料片段208之邏輯至實體位址關係。儘管二進制快取索引206係通常儲存於快閃記憶體26之二進制快取部分中之一個類型之控制資料,但亦可由於頻繁使用或最近使用而將二進制快取索引212之所有或一部分之一複本維持(快取)於RAM 22中。邏輯群組位址表(GAT)214係保持於主儲存快閃記憶體中。GAT頁214提供針對資料之邏輯群組之邏輯至實體映射,且與二進制快取索引206一樣,該等GAT頁中之某些或所有GAT頁之一複本亦可快取於儲存裝置12中之RAM中。所快取GAT頁216針對各別邏輯群組中之每一者指出主儲存快閃記憶體218中之更新區塊或完整區塊之實體位置。
如上文所論述,一儲存裝置將藉由有條不紊地首先擷取及剖析二進制快取索引206、212以尋找可能存在於快閃記憶體之二進制快取部分中之任何邏輯群組片段且藉由然後分別擷取及剖析來自主儲存器及/或RAM之GAT表頁214、216而先前地回應於關於與邏輯位址相關聯之資料之一主機查詢。在一項實施例中,由儲存裝置12之控制器產生及維持一快速轉譯指示器(諸如,一邏輯群組位元映射220)以幫助減少存取二進制快取索引之次數。邏輯群組二進制快取位元映射220提供是否在二進制快取記憶體28中找到與一特定邏輯群組相關聯之一資料片段之一指示。與一次要位址表(如一BCI 212)相比,位元映射220係可快速讀取的。以此方式,圖2之邏輯群組二進制快取位元映射220藉由在二進制快取記憶體28中無相關資料片段時允許控制器繞過對二進制快取索引206、212之不必要擷取及剖析而提供使自邏輯位址至實體位址之位址轉譯加速之一方式。
在一項實施例中,控制器維持含有(舉例而言)指示對應於一邏輯群組之資料是否存在於二進制快取記憶體中之一單位元(1或一個0)之一邏輯群組位元映射220。在圖2中所圖解說明之實施例中,GAT 214、216被視為邏輯群組位址之主要位址表且係藉助每一邏輯群組之一個GAT頁之一細微度來展示。二進制快取索引206、212在本文中亦稱作次要位址表。在圖2中,BCI之細微度係區段層級而非頁層級。為便於參考,在此實例中,邏輯群組位元映射220具有等於邏輯群組大小之一細微度,在此情形中,邏輯群組大小等於GAT頁大小之細微度。在不同實施例中,邏輯群組大小可等於一區塊、一子區塊(小於一區塊之一資料量)或與區塊大小無關之一單元。此外,在其他實施方案中,位元映射220無需具有對應於一邏輯群組之項目。舉例而言,與位元映射220之每一項目相關聯之邏輯空間之單元可係一邏輯群組之一倍數或一分率。在又一些實施例中,位元映射中之一項目可對應於多個不連續邏輯區或範圍。
儘管圖解說明瞭一位元映射220,但另一選擇係,快速轉譯指示器可係若干個類型之資料結構中之任一者,該等資料結構給儲存裝置12之控制器提供一快速可搜尋捷徑以指示控制器是否需要在搜尋一主要位址表(諸如,GAT 214)之前查看一次要位址表(諸如,一BCI 212)。另一快速轉譯指示器之一實例可係一清單,其中在一位址轉譯操作期間次要位址表中具有與其相關聯之資料片段(或不具有與其相關聯之資料片段)之邏輯群組之範圍之一清單可用作次要位址表(例如,BCI)自身之較慢擷取及剖析之替代方案。
圖3圖解說明一種用於最初填充及更新邏輯群組二進制快取位元映射220之方法300。假定可用於儲存裝置12之控制器中之RAM之量小於儲存涵蓋所有邏輯群組之一位元映射所必需之量,則可由分配RAM 22之某一量用於位元映射且然後依據需求僅用一新項目填充位元映射220之控制器創建一邏輯群組二進制快取位元映射。換言之,在一項實施方案中,可在接收與彼特定邏輯群組相關聯之一主機請求(在302處)之後添加一特定邏輯群組之一位元映射項目。控制器將檢查以瞭解邏輯群組位元映射中之一項目是否已存在(在304處)。雖然可針對主機請求產生每一LG之一位元映射項目,但在一項實施方案中,可在已在至少臨限數目個主機請求(命中計數)中識別出特定邏輯群組之情形下僅產生針對一邏輯群組之位元映射中之一項目,其中臨限值大於1(在306處)。若針對特定LG之主機請求之數目尚未達到所要臨限值,則控制器可遞增針對邏輯群組之一命中計數且等待下一主機查詢以瞭解是否已達到臨限值(在308處)。
假定已達到臨限值,則控制器16檢查以瞭解RAM 22中是否存在分配給位元映射220用於新項目之足夠空間(在310處)。若空間存在,則添加一新LG位元映射項目(在312處)。一旦邏輯群組二進制快取位元映射220可用之空間被填滿,下一次一新邏輯群組即有資格得到位元映射中之一項目,控制器可(舉例而言)藉由基於最近最少使用之(LRU)邏輯群組(已由主機最近最少請求之邏輯群組)而利用一項目選擇演算法來收回一較低優先級位元映射項目(在314處),且然後將新LG項目添加至位元映射(在312處)。在此實施例中,RAM中之邏輯群組位元映射以任何既定時間識別最近最多使用之邏輯群組(針對滿足最小臨限數目個主機查詢之邏輯群組)。針對位元映射220中之每一LG之初始項目將被初始化為指示期望在二進制快取記憶體中找到邏輯群組之一片段之一「1」。如下文更詳細地闡述,若在剖析BCI之後未找到片段,則可由控制器稍後將此項目改變至一「0」,以便針對邏輯群組之後續主機請求可跳過擷取及剖析BCI之程序。在一項實施例中,當自RAM收回邏輯位元映射或其部分時,可將邏輯群組位元映射220之所有或一部分儲存於儲存裝置上之非揮發性記憶體中。在此實施例中,然後將保留邏輯位元映射資訊以供稍後重新載入至RAM中而不丟失位元映射資訊(亦即,當將邏輯位元映射重新載入至RAM中時,不需要將邏輯位元映射之所有項目初始化至「1」)。
藉由如圖2至圖3中所圖解說明填充一邏輯群組位元映射220,控制器可檢查是期望與一邏輯群組相關聯之一資料片段在二進制快取記憶體中(藉由邏輯群組位元映射項目中之一「1」之指示)還是不期望在二進制快取記憶體中(藉由一「0」之指示),以避免每次必須擷取二進制快取索引及剖析該索引。參考圖4,其圖解說明利用具有一邏輯群組位元映射220之一儲存裝置12之一方法400。在接收到針對某些邏輯群組之一主機查詢後,儲存裝置12旋即參與一邏輯至實體轉譯程序(在402處)。自主機接收之用於此程序之輸入參數可包含邏輯群組編號、邏輯群組偏移及邏輯群組之位址延續長度。控制器存取可維持於控制器RAM中之位元映射(在404處)。若針對邏輯群組之一項目不存在於位元映射中,則可使用諸如圖3中所論述之一程序創建一項目,後續接著對與LG相關聯之相關資料之BCI 206、212及GAT 214、216兩者之一檢視。在無項目存在之情形下,控制器可不能夠繞過BCI擷取及檢視。
儲存裝置12之控制器16讀取邏輯群組位元映射以判定主機查詢中所識別之邏輯群組是否具有維持於快閃記憶體304之二進制快取記憶體中之資料片段(在406處)。如上文所述,藉由查看邏輯群組二進制快取位元映射220中之值以瞭解是指示資訊處於二進制快取記憶體中之可能性之一「1」還是指示當前無針對彼邏輯群組之資料處於二進制快取記憶體中之事實之一「0」存在而進行邏輯群組片段是否在二進制快取記憶體中之判定。假定邏輯群組二進制快取位元映射220指示針對邏輯群組之一片段處於二進制快取記憶體中,控制器則尋找二進制快取索引。
首先在RAM 22中尋找二進制快取索引之一複本(在408處),且若在RAM中未找到,則自快閃記憶體26擷取二進制快取索引(在410處)。在二進制快取記憶體中存在與LG相關聯之一片段之情形下,一旦找到二進制快取索引,即由控制器轉譯該二進制快取索引且擷取與邏輯群組片段相關聯之片段之一實體位址(在412處)。儘管在存在設定為「1」之一位元映射項目之情形下通常期望針對邏輯群組片段之位址之擷取,但在某些情況中可存在其中未找到片段之一「未命中」。舉例而言,當第一次相對於一邏輯群組編號而存取邏輯群組二進制快取位元映射時,一未命中可出現。針對藉由預設之彼邏輯群組編號項目將邏輯群組二進制快取位元映射之預設設定設定為「1」,直至針對彼邏輯群組編號進行一第一擷取嘗試且更新二進制快取邏輯群組位元映射中之彼項目為止。此外,一未命中可出現,此乃因邏輯群組二進制快取位元映射220由於一最近電力循環而可尚未完全更新,或在由於空間限制而已自RAM收回位元映射之一段之情形下,此將所重新載入之位元映射重設為全部「1」。不管是否在BCI中找到針對邏輯群組編號之一片段,控制器皆在此點處更新邏輯群組二進制快取位元映射項目(在414處)。若找到一片段,則將項目留於一「1」設定處,且若未找到片段,則將項目更新至一「0」,以便下一次接收針對彼邏輯群組編號之一主機請求時控制器可知曉跳過擷取及剖析BCI之步驟,且重複程序400。圖4中所圖解說明之方法係針對一讀取程序。當將一資料片段寫入至記憶體以反映一次要位址表(諸如,BCI)現在含有針對彼資料片段之邏輯至實體映射時,可在一寫入程序期間由控制器16將快速轉譯指示器中之一項目(在此實例中為位元映射220)自一「0」更新至一「1」。
假定針對邏輯群組編號之一片段確實存在,則擷取該片段之後設區塊位址及厚塊(chunk)長度資訊(在416、418處)且可自二進制快閃記憶體中之彼實體後設區塊位址讀取資料之彼厚塊(在420處)。假定所擷取之厚塊足夠長以致涵蓋主機查詢中所識別之邏輯群組中(或若多個邏輯群組牽扯同一主機查詢,則在該多個邏輯群組中)所包含之所有區段(在422處),則擷取已結束且程序停止。若所擷取厚塊長得不足以涵蓋邏輯群組,則再次檢查位元映射以擷取針對由主機最初請求之邏輯群組編號或範圍之任何其他片段(在422處)。如本文中所使用,一「厚塊」係可連續地、邏輯地及實體地讀取之一資料量。最大厚塊大小可係一區塊。
在其中對次要位址表(此處,BCI)之一檢視指示一邏輯群組編號不具有二進制快取記憶體中之任何片段(在406處)或控制器藉由擷取及檢查BCI卻發現不存在邏輯片段而經歷一「未命中」(在416處)之情形中,控制器可查看主要位址表(GAT)。在某些儲存裝置中,作為一邏輯至實體轉譯操作之一部分,可維持需要搜尋之多個清單或表-而不僅僅係一單個次要位址表及一主要位址表。在圖4之實例中,控制器16可首先需要讀取RAM中之更新區塊資訊之一單獨表或清單及GAT之最近改變之項目之清單(亦稱作GAT差量)以判定邏輯群組編號是否係更新區塊之一部分(在424、426處)。若在一更新區塊中找到邏輯群組編號,則轉譯更新區塊資訊且自GAT差量擷取後設區塊位址及厚塊長度(在430、432處)。若在更新區塊資訊及GAT差量清單中未找到與所請求邏輯群組編號相關聯之邏輯群組編號,則控制器查看以瞭解在RAM 22中是否存在欲快取找出之一相關GAT項目之一複本(在428處)。若不存在快取於RAM 22中之相關GAT項目,則自快閃記憶體讀取適當GAT頁,且更新GAT快取記憶體(在434處)。隨後擷取對應於邏輯群組之後設區塊位址且將厚塊長度修整至邏輯群組之末端(在436、438處)。
如圖4中所展示,當一主機請求與經識別邏輯群組相關聯之資料(舉例而言)作為在儲存裝置處接收之一主機讀取命令之一部分時,使用一位元映射來提供將邏輯位址轉譯至實體位址之程序中之一潛在捷徑。雖然已在圖4實例中展示一單位元映射,但在其他實施例中亦可使用多個位元映射或其他類型之快速轉譯指示器來進一步加速邏輯至實體轉譯步驟。舉例而言,可在圖4之實例中使用一第二清單或位元映射以將邏輯群組映射至更新區塊及/或GAT差量清單資訊以便無需每次擷取及剖析彼等更新區塊或GAT差量清單之全部。替代地,與邏輯群組二進制快取位元映射一樣,針對彼等清單中之一者或兩者之一類似位元映射或其他快速轉譯指示器可用於提供是否將在彼等清單中找到與所關注邏輯群組編號相關之資料之一簡單單位元指示器。預期可將圖解說明用於減少對每次進行一主機查詢時擷取及剖析一次要轉譯表(如BCI)之需要之一個位元映射的圖4之實例擴展至任何數目個轉譯表配置,其中,針對具有需要擷取及剖析以定位資料之N個不同表或清單之一儲存裝置,可創建N-1個不同位元映射且使用該N-1個不同位元映射來潛在地加速尋找與邏輯群組編號相關聯之資料之程序。
儘管關於上文所述之一般儲存裝置12組態闡述邏輯群組二進制快取位元映射220及其在繞過不必要BCI讀取中之使用,但可使用其他記憶體組態。在一項實施方案中,可使用一多位階RAM快取記憶體。
再次參考圖1,在一項實施方案中,儲存裝置12之處理器18可執行用於記憶體管理功能之操作(諸如,圖4中所詳述)之記憶體管理指令23(其可駐存於指令24中)。該等記憶體管理功能可控制儲存裝置12(諸如,控制器記憶體20內)內之記憶體之一或多個部分之指派。舉例而言,記憶體管理功能可分配控制器記憶體20之一RAM部分用於永久資料快取記憶體,可分配控制器記憶體20之一RAM部分用於暫時資料快取記憶體,或可回收分配給暫時資料快取記憶體之RAM部分以用於另一目的。可由儲存裝置12內之一個或單獨元件來執行該等記憶體管理功能中之一個、某些或所有功能。舉例而言,可由媒體管理層(MML)韌體執行分配記憶體區域用於暫時資料快取記憶體,且可由資料路徑層(DPL)韌體執行回收一暫時資料快取記憶體。
控制資料可包含與管理及/或控制對儲存於記憶體26中之資料之存取有關之資料。二進制快取記憶體28可儲存邏輯群組(LG)之最新片段。主儲存器可包括針對LG之資料儲存器。可使用控制資料來管理記憶體中之項目,諸如,二進制快取記憶體28及主儲存器30中之項目。舉例而言,一個二進制快取索引(BCI)可接收一邏輯區塊位址(LBA),且可映射/指出二進制快取記憶體28中之LG之最新片段。GAT可接收LBA位址且映射至主儲存器30中之LG之實體位置。
處理器18(執行記憶體管理指令23)可指派記憶體(諸如,揮發性記憶體)中之一或多個部分用於一或多個類型之資料之快取。舉例而言,處理器18可指派或分配控制器記憶體20中之揮發性記憶體之部分作為一或多個快取儲存區22,如下文更詳細地論述。一或多個快取儲存區22可包含儲存於記憶體26中之BCI及GAT之一部分(或全部)。
處理器18可指派揮發性記憶體之一區作為一「永久」快取儲存區,該「永久」快取儲存區係不可由處理器18回收用於一不同目的(諸如,用於一不同類型之資料之快取)之一區。處理器18亦可指派揮發性記憶體之一區作為一「暫時」快取儲存區,該「暫時」快取儲存區係可由記憶體管理功能回收用於一不同目的(諸如,用於一不同類型之資料之快取)之一區。如關於圖6更詳細地論述,處理器18可判定是否存在可供用作一暫時資料快取區之一儲存區。若存在,則處理器18可指派該可用儲存區用作暫時資料快取區。該可用儲存區可用作暫時資料快取區直至回收該可用儲存區用於另一目的為止。
作為一項實例,處理器18可指派一或多個快取儲存區用於主機資料。在一項實施例中,處理器18可指派一永久快取儲存區用於主機資料及一暫時資料快取儲存區用於主機資料。以此方式,針對主機資料之快取可具有兩個相異且單獨之區(或兩個不同層級),其中永久快取儲存區用於主機資料且暫時快取儲存區用於主機資料。在一替代實施例中,處理器18可指派一第一暫時快取儲存區用於主機資料及一第二暫時快取儲存區用於主機資料。用於主機資料之第一暫時快取儲存區可以一或多個方式(諸如,以自其指派暫時快取儲存區之記憶體之部分或大小及/或在其下回收暫時快取儲存區之情況)不同於用於主機資料之第二暫時快取儲存區。使用兩個不同資料快取記憶體(諸如,儲存於揮發性記憶體中之資料快取記憶體之兩個不同層級)可改良系統效能,諸如,資料快取命中率。此外,可自揮發性記憶體之未經使用部分或過度佈建部分創建暫時資料快取記憶體。以此方式,儲存裝置12可更有效地使用其揮發性記憶體。
作為另一實例,處理器18可指派一或多個快取儲存區用於控制資料。在一項實施例中,處理器18可指派一永久快取儲存區用於控制資料及一暫時快取儲存區用於控制資料。同樣地,用於控制資料之快取可具有兩個相異且單獨區(或兩個不同層級),其中永久快取儲存區用於控制資料且暫時快取儲存區用於控制資料。在一替代實施例中,處理器18可指派一第一暫時快取儲存區用於控制資料及一第二暫時快取儲存區用於控制資料。
儲存裝置12可進一步包含用於快取管理之功能。在操作中,處理器18可執行用於記憶體管理功能之操作(諸如,圖7A至圖7B中所詳述)之快取管理指令25(其可駐存於指令24中)。該等快取管理功能可控制對駐存於儲存裝置12中之一或多個快取儲存區22中之項目之搜尋及管理。特定而言,快取管理功能可排定自單獨資料快取記憶體中之一者或兩者收回某些類型之項目之優先級。舉例而言,處理器18(執行快取管理指令25)可管理兩個單獨資料快取記憶體(諸如,永久資料快取記憶體及暫時資料快取記憶體),如下文關於圖6A至圖6B更詳細地論述。
圖5圖解說明圖1之控制器16之某些元件之一更詳細方塊圖,且係一快閃記憶體控制器設計之一項實例。該快閃記憶體控制器設計包含一主機介面模組502,其給主機系統10提供實體及電介面。該快閃記憶體控制器設計可進一步包含一或多個揮發性記憶體。如圖5中所展示,快閃記憶體控制器設計包含多個揮發性記憶體,諸如,轉移RAM(TRAM)504、緩衝RAM(BRAM)512及引數RAM(ARAM)506。ARAM、BRAM及TRAM之實例僅僅用於圖解說明目的。可使用更少或更多數目個揮發性記憶體。此外,可使用其他類型之RAM或RAM之不同組合。
ARAM 506係可經佈建以用於控制資料快取之RAM。以此方式,ARAM 506可被視為一永久控制資料快取區。舉例而言,ARAM 506可含有群組分配表(GAT)頁快取記憶體及邏輯群組(LG)位元映射快取記憶體或其他快速轉譯指示器。如先前所論述,儲存於記憶體26中之快取快閃記憶體中之控制資料之一部分或全部可儲存於控制器16中之快取RAM中以改良操作速度。對於窄或邏輯區塊位址(LBA)隨機讀取測試或較少進行隨機讀取測試之情形,在如上文所闡述之穩定狀態中,永久LG位元映射快取可將控制讀取(BCI或GAT頁控制讀取)減少至每隨機讀取1控制讀取。
TRAM 504包含一資料緩衝器508,其經佈建以用於主機資料至/自快閃記憶體514之主機資料快取。以此方式,TRAM 504可被視為一永久主機資料快取區。可將快閃記憶體514劃分成一或多個不同部分(諸如,四個部分,如圖3中所圖解說明),其中每一部分與一不同快閃介面模組510及資料緩衝器508之一不同區段相關聯。可使用快閃記憶體514之更多或更少部分。快閃介面模組510可包含BRAM 512,其可經佈建以用於錯誤處置及/或晶片至晶片複製。
如下文更詳細地論述,暫時資料快取記憶體可位於一個或多個共用記憶體區域(諸如,TRAM 504或BRAM 512)中。使用暫時資料快取記憶體可改良儲存裝置之操作。對於全LBA範圍隨機讀取測試,在穩定狀態中,暫時快取中之LG位元映射220之快取可將控制讀取(BCI)減少至近似每隨機讀取1控制讀取。對於窄LBA範圍隨機讀取測試,在穩定狀態中,暫時快取中之GAT頁之快取將把控制讀取(GAT讀取)減少至近似每隨機讀取0控制讀取。
圖6係圖解說明記憶體管理功能之操作之一例示性流程圖600。如上文所論述,可取決於記憶體空間是否可供使用及/或暫時資料快取記憶體是否有必要而指派一暫時資料快取記憶體。可將一或多個類型之資料(諸如,控制資料或主機資料)指派給一暫時資料快取記憶體。如下文關於圖7A至圖7B更詳細地論述,暫時資料快取記憶體之使用允許永久資料快取記憶體之大小較小,此乃因(舉例而言)在需要額外快取記憶體之情形下可使用暫時資料快取記憶體。舉例而言,使用一暫時資料快取記憶體作為控制資料快取記憶體之一部分改良在SSD應用中普及之特定讀取/寫入訊務類型之效能。
在602處,處理器18(執行記憶體管理指令23)可視情況判定一暫時資料快取記憶體是否有必要。如上文所論述,可快取一或多個類型之資料,諸如,控制資料及主機資料。若一暫時資料快取記憶體有必要,則處理器18判定是否存在可用於指派給一暫時資料快取記憶體之空間,如604處所展示。在圖6中所展示之實例中,處理器18可判定在揮發性記憶體中之一者中(諸如,TRAM 504中)是否存在可用空間。若空間係可用的,則在606處,處理器18可指派空間用作一暫時資料快取記憶體。在圖5中所展示之實例中,處理器18可將資料緩衝器508之一部分指派給一暫時資料快取記憶體,諸如,用於控制資料之一暫時資料快取記憶體。在608處,處理器18判定是否需要回收空間。在圖5中所展示之實例中,若TRAM 104需要指派為用於控制資料之暫時資料快取記憶體之資料緩衝器508之一部分,則處理器18可判定回收所指派部分。若如此,則在610處,處理器18在不將項目儲存於暫時資料快取記憶體中之情形下回收空間。如關於圖7A至圖7B更詳細地論述,暫時資料快取記憶體填充有完全(clean)項目,以便將項目儲存於儲存裝置12之另一部分中且因此當回收與暫時資料快取記憶體相關聯之空間時無需將項目複製於其他處。
圖7A至圖7B係圖解說明針對一永久資料快取記憶體及一暫時資料快取記憶體(若存在)之一快取管理功能之操作之一例示性流程圖700。處理器18(執行快取管理指令25)管理暫時資料快取記憶體中之項目以便暫時資料快取記憶體中之所有項目係完全的。如上文所論述,可快取不同類型之資料。特定而言,可針對控制資料創建一暫時資料快取記憶體,且可針對主機資料創建一暫時資料快取記憶體。舉例而言,可使用一永久GAT頁快取,其中永久GAT頁快取潛在地含有已變更(dirty)及完全項目且暫時GAT頁快取僅含有完全項目。如上文所論述,由於一LG位元映射項目係即時構建且在快閃記憶體中不具有一備份複製,因此所有LG位元映射資料係完全的。一LG位元映射快取「未命中」導致分配於永久資料快取記憶體中之一新快取項目。若永久資料快取記憶體已滿,則將一快取項目自永久資料快取記憶體收回至暫時資料快取記憶體。若暫時資料快取記憶體已滿,則收回來自暫時資料快取記憶體之一快取項目。
在702處,處理器18判定一項目是否處於永久資料快取記憶體中。若項目處於永久資料快取記憶體中,則自永久資料快取記憶體擷取項目。若項目不處於永久資料快取記憶體中,則在704處,處理器18判定項目是否處於暫時資料快取記憶體中。
如上文所論述,可使用一邏輯群組二進制快取位元映射(LG BC位元映射)來判定一LG之一片段是否處於二進制快取記憶體中。若根據LG BC位元映射一片段存在於二進制快取記憶體中,則執行一BCI(二進制快取索引)查找。若對應BCI未快取於RAM中(諸如,於RAM中之用於BCI之暫時資料快取記憶體或用於BCI之永久資料快取記憶體中),則需要用於未命中BCI之一快閃控制讀取。若根據LG BC位元映射LG在二進制快取記憶體中不具有任何片段,則執行一GAT查找。若對應GAT項目未快取於RAM中(諸如,於RAM中之用於GAT之暫時資料快取記憶體或用於GAT之永久資料快取記憶體中),則執行用於未命中GAT項目之一快閃控制讀取。
若項目處於暫時資料快取記憶體中,則在706處,處理器18判定針對其存取項目之操作是否將修改項目,此影響項目是否係「完全」。一「完全」項目準確地反映儲存裝置上之記憶體(諸如,快閃記憶體或其他非揮發性記憶體)之另一部分之內容,且然而一「已變更」項目未準確地反映儲存裝置儲存裝置上之記憶體之另一部分之內容。由於暫時資料快取記憶體中之項目係完全的,因此回收暫時資料快取記憶體之區較容易。若操作修改項目,則項目不被視為完全,以便在708處自暫時資料快取記憶體提取項目並將其移動至永久資料快取記憶體。因此,暫時資料快取記憶體內之項目可保持完全。如下文更詳細地論述,將暫時資料快取記憶體中之項目維持為完全,以便項目之內容位於儲存裝置12中之其他處,以此方式,存在位於暫時資料快取記憶體中之項目之一複件。由於無需將儲存於暫時資料快取記憶體中之項目複製於其他處(此乃因其已儲存於儲存裝置12中之其他處),因此使得回收指派給暫時資料快取記憶體之區更容易。而是,處理器18可在無需將項目儲存於暫時資料快取記憶體中之情形下回收空間,如上文圖6之610處所論述。
在一GAT快取記憶體之實例中,關於永久資料快取記憶體中之一快取未命中及暫時資料快取記憶體中之一快取命中,若操作將修改GAT項目,則將自暫時資料快取記憶體提取GAT項目並將其載入至永久資料快取記憶體中。若操作將不修改GAT項目,則GAT項目可保持於暫時資料快取記憶體中。另外,可使用相同收回策略,諸如方塊718及730中所闡述。視情況,若暫時緩衝空間可用於GAT項目調換,則可使用來自永久資料快取記憶體之相同GAT項目收回策略,諸如,方塊718及730中所闡述。
若項目未處於永久資料快取記憶體中或暫時資料快取記憶體中,則在710處處理器18判定永久資料快取記憶體是否已滿。若未滿,則在永久資料快取記憶體中空間可用於項目之添加。以便在712處將項目添加至永久資料快取記憶體。舉例而言,若永久GAT快取記憶體未滿,則將自快閃記憶體提取對應GAT頁並將其載入至永久資料快取記憶體中。
若永久資料快取記憶體已滿,則在714處判定永久資料快取記憶體之至少一部分是否係完全的。若係完全的,則在722處,處理器18判定一暫時資料快取記憶體是否可用(亦即,是否存在分配用於一暫時資料快取記憶體之空間)。若不存在可用暫時資料快取記憶體,則藉由收回一或多個頁而使得永久資料快取記憶體中有可用空間。舉例而言,在724處,自永久資料快取記憶體收回最近最少使用之(LRU)完全頁。LRU演算法可針對最近使用分析永久資料快取記憶體中之完全頁,且選擇收回最長時間週期尚未使用之完全頁。LRU演算法僅係針對處理器之一方法之一項實例。預期其他方法,諸如,最不頻繁使用(LFU)演算法可針對使用頻率分析永久資料快取記憶體中之完全頁,且選擇收回永久資料快取記憶體中已最不頻繁使用之完全頁。在726處,自快閃記憶體獲得項目並將其載入至永久資料快取記憶體中。
舉例而言,若永久GAT快取記憶體已滿且永久GAT快取記憶體中之至少一個頁係完全的,且無暫時GAT快取記憶體可用:則可收回LRU完全GAT頁且將自快閃記憶體提取對應GAT頁並將其載入至永久GAT快取記憶體中。
若暫時資料快取記憶體係可用的,則在728處,處理器18判定暫時資料快取記憶體是否已滿。若暫時資料快取記憶體已滿,藉由收回一或多個頁而使得暫時資料快取記憶體中有可用空間。舉例而言,在730處,自暫時資料快取記憶體收回LRU完全頁。另一選擇係,使用另一方法(諸如,LFU演算法)來自暫時資料快取記憶體收回一頁。
然後將永久資料快取記憶體之一部分收回至儲存裝置12之另一部分,諸如,收回至暫時資料快取記憶體。舉例而言,在732處,將來自永久資料快取記憶體之LRU完全部分收回至暫時資料快取記憶體。另一選擇係,另一演算法,諸如,將來自永久資料快取記憶體之LFU完全部分收回至暫時資料快取記憶體。在734處,自快閃記憶體獲得項目並將其載入至永久資料快取記憶體中。
在一GAT快取記憶體之實例中,若永久GAT快取記憶體已滿且永久GAT快取記憶體之至少一個頁係完全的,且一暫時GAT快取記憶體係可用的:則自暫時GAT快取記憶體(若其已滿)收回LRU GAT頁;將來自永久GAT快取記憶體之LRU完全GAT頁收回至暫時GAT快取記憶體;且自快閃記憶體提取對應GAT頁並將其載入至永久GAT快取記憶體中。
若永久資料快取記憶體已滿且已變更,則將一或多個頁自永久資料快取記憶體複製至快閃記憶體。舉例而言,在716處,將永久資料快取記憶體中之LRU已變更頁複製至快閃記憶體。另一選擇係,可使用另一演算法(諸如,LFU)來將一已變更頁自永久資料快取記憶體複製至快閃記憶體。然後,在718處,將來自永久資料快取記憶體複製之頁收回至暫時資料快取記憶體。在720處,自快閃記憶體獲得項目並將其載入至永久資料快取記憶體中。因此,類似於726及744,將快閃讀取載入至永久資料快取記憶體中。以此方式,對快取記憶體之兩個層級(永久及暫時)之管理排定將最新項目移動至永久資料快取記憶體之優先級。以便可在暫時資料快取記憶體之前檢驗永久資料快取記憶體。
在一GAT快取記憶體之實例中,若永久GAT快取記憶體已滿且已變更,則將把LRU已變更頁寫入至快閃記憶體且視情況(若存在)將其收回至暫時GAT快取記憶體作為一完全項目,且將自快閃記憶體提取對應GAT頁並將其載入至永久GAT快取記憶體中。若暫時資料快取記憶體將含有已變更項目,則將需要在釋放暫時之前將已變更項目寫入至快閃記憶體。然而,由於暫時資料快取記憶體之管理導致暫時資料快取記憶體中之所有項目係完全的,因此可立即釋放暫時資料快取記憶體(在不必要複製任何項目之情形下)。一種完成此之方式係藉由確保僅將完全項目自永久資料快取記憶體移動至暫時資料快取記憶體。
圖8藉助來自不同揮發性記憶體之資料流圖解說明圖5之方塊圖。ARAM 506係經佈建以用於控制資料快取之RAM。此可被視為控制資料快取之第一層級。TRAM 104係經佈建以用於資料緩衝及主機資料快取之RAM。在TRAM 104具有未用於資料緩衝及主機資料快取之額外空間之情況中,可將TRAM 104之一部分標示為一暫時控制資料快取記憶體。此可被視為控制資料快取之第二層級。圖8圖解說明各種動作,諸如,將GAT/LG位元映射項目自ARAM 506收回至TRAM 104、將一已變更GAT項目自ARAM 506收回至快閃記憶體、將一GAT項目自快閃記憶體發送至ARAM 506及將一GAT項目自暫時資料快取記憶體發送至ARAM 506以供更新。在同在申請中之於2011年5月17日提出申請之標題為「EXPANDABLE DATA CACHE」、序號為13/109,777、代理人檔案號為10519/1786(SDA-1619-US)之申請案中找到一種將一RAM快取記憶體劃分成暫時及永久快取空間之系統及方法之一實例,該申請案之全文以引用方式併入本文中。
如上文所揭示,可使用一快速轉譯指示器資料結構(諸如,一邏輯群組位元映射或一邏輯位址或邏輯群組清單)來減少在一邏輯至實體位址轉譯操作期間擷取及剖析一次要位址表之頻率。上文所提供之實例係關於一種具有與一個二進制快取索引相關聯之一個邏輯群組位元映射之系統,然而,在其他實施方案中可利用多個邏輯群組位元映射,其中在一位址轉譯操作期間需要擷取及剖析表或其他資料結構之多個層級。此外,可如所闡述將邏輯群組位元映射儲存於永久RAM快取記憶體層級或暫時RAM快取記憶體層級中。快速轉譯指示器之細微度可係若干個範圍中之任一者,諸如,一邏輯群組之一倍數或分率或位址或位址範圍之一不連續聚集。快速轉譯指示器之細微度亦可不同於BCI、GAT或其他資料表之細微度。在所闡述之方法及系統之情形下,可藉由避免不必要位址表擷取及剖析來加速一邏輯至實體轉譯操作。
意欲將前述詳細說明理解為對本發明可採取之選定形式之一圖解說明而不理解為對本發明之一定義。本發明之範疇意欲僅由以下申請專利範圍(包含所有等效物)來加以界定。
10‧‧‧主機系統
12‧‧‧自快取儲存裝置/儲存裝置
14‧‧‧通信頻道
16‧‧‧控制器
18‧‧‧處理器
20‧‧‧控制器記憶體
22‧‧‧隨機存取記憶體
24‧‧‧處理器可執行指令/指令
26‧‧‧記憶體/快閃記憶體
28‧‧‧二進制快取記憶體
30‧‧‧主儲存器
202‧‧‧邏輯位址範圍
204‧‧‧分組成邏輯群組
206‧‧‧二進制快取索引
208‧‧‧資料片段
210‧‧‧二進制快取區塊
212‧‧‧二進制快取索引
214‧‧‧邏輯群組位址表/群組位址表頁/群組位址表表頁
216‧‧‧群組位址表/群組位址表頁/組位址表表頁
218‧‧‧主儲存快閃記憶體
220‧‧‧邏輯群組位元映射/位元映射
502‧‧‧主機介面模組
504‧‧‧轉移隨機存取記憶體
506‧‧‧引數隨機存取記憶體
508‧‧‧資料緩衝器
510‧‧‧快閃介面模組
512‧‧‧緩衝隨機存取記憶體
514‧‧‧快閃記憶體
圖1係一自快取記憶體系統之一方塊圖。
圖2圖解說明與一邏輯群組二進制快取位元映射一起使用之一主要及次要位址表配置。
圖3係圖解說明一種產生一邏輯群組二進制快取位元映射之方法之一流程圖。
圖4係圖解說明一記憶體管理控制器之操作之一例示性流程圖。
圖5圖解說明一例示性快閃記憶體控制器設計之一方塊圖。
圖6係圖解說明記憶體管理功能之操作之一例示性流程圖。
圖7A至圖7B係圖解說明針對一永久資料快取記憶體及一暫時資料快取記憶體之快取管理功能之操作之一例示性流程圖。
圖8藉助來自不同揮發性記憶體之資料流來圖解說明圖5之方塊圖。
10‧‧‧主機系統
12‧‧‧自快取儲存裝置/儲存裝置
14‧‧‧通信頻道
16‧‧‧控制器
18‧‧‧處理器
20‧‧‧控制器記憶體
22‧‧‧隨機存取記憶體
24‧‧‧處理器可執行指令/指令
26‧‧‧記憶體/快閃記憶體
28‧‧‧二進制快取記憶體
30‧‧‧主儲存器
权利要求:
Claims (20)
[1] 一種儲存裝置,其包括:至少一個非揮發性記憶體,其具有一主要位址表及一次要位址表;一控制器,其與該至少一個非揮發性記憶體通信且經組態以:接收識別邏輯位址資訊之一主機請求;比較該主機請求中之該邏輯位址資訊與維持於該儲存裝置中之一快速轉譯指示器以判定該次要位址表是否含有回應該主機請求所需之資料;及當自該快速轉譯指示器判定該次要位址表不含有回應該主機請求所需之資料時,繞過對該次要位址表之擷取並擷取該主要位址表。
[2] 如請求項1之儲存裝置,其中該快速轉譯指示器包括一位元映射,其使邏輯位址資訊與一單位元指示器相關,該單位元指示器識別該次要位址表中是否存在對應於該邏輯位址資訊之一資料項目。
[3] 如請求項1之儲存裝置,其中該快速轉譯指示器包括關於與該次要位址表中之一資料項目相關聯之邏輯位址之邏輯位址資訊之一清單。
[4] 如請求項2之儲存裝置,其中該邏輯位址資訊包括一邏輯群組編號。
[5] 如請求項2之儲存裝置,其中邏輯位址資訊包括多個邏輯群組。
[6] 如請求項2之儲存裝置,其中該邏輯位址資訊包括一邏輯群組之一分率。
[7] 如請求項2之儲存裝置,其中該邏輯位址資訊包括多個不連續邏輯區或範圍。
[8] 如請求項1之儲存裝置,其中該控制器進一步經組態以在已接收識別該邏輯位址資訊之臨限數目個主機請求時將對應於尚未包含於該快速轉譯指示器中之邏輯位址資訊之一新項目添加至該快速轉譯指示器。
[9] 如請求項8之儲存裝置,其中該控制器進一步經組態以在該儲存裝置中經分配用於該快速轉譯指示器之一空間已滿之情形下在添加該新項目時刪除該快速轉譯指示器中之一個現有項目。
[10] 如請求項9之儲存裝置,其中該控制器經組態以選擇該快速轉譯指示器中之一最近最少使用之項目作為該一個現有項目以供刪除。
[11] 一種用於加速一儲存裝置中之一邏輯至實體轉譯之方法,該儲存裝置具有一非揮發性記憶體、一主要位址表及一次要位址表,該方法包括:在該一個儲存裝置之一控制器中:接收識別邏輯位址資訊之一主機請求;比較該主機請求中之該邏輯位址資訊與維持於該儲存裝置中之一快速轉譯指示器以判定該次要位址表是否含有回應該主機請求所需之資料;及當自該快速轉譯指示器判定該次要位址表不含有回應該主機請求所需之資料時,繞過對該次要位址表之擷取並擷取該主要位址表。
[12] 如請求項11之方法,其中該快速轉譯指示器包括一位元映射,其使邏輯位址資訊與一單位元指示器相關,該單位元指示器識別該次要位址表中是否存在對應於該邏輯位址資訊之一資料項目。
[13] 如請求項12之方法,其中邏輯位址資訊包括多個邏輯群組。
[14] 如請求項12之方法,其中該邏輯位址資訊包括一邏輯群組之一分率。
[15] 如請求項12之方法,其中該邏輯位址資訊包括多個不連續邏輯區或範圍。
[16] 如請求項11之方法,其中該快速轉譯指示器包括關於與該次要位址表中之一資料項目相關聯之邏輯位址之邏輯位址資訊之一清單。
[17] 如請求項12之方法,其中該邏輯位址資訊包括一邏輯群組編號。
[18] 如請求項11之方法,其進一步包括在已接收識別該邏輯位址資訊之臨限數目個主機請求時將對應於尚未包含於該快速轉譯指示器中之邏輯位址資訊之一新項目添加至該快速轉譯指示器。
[19] 如請求項18之方法,其進一步包括在該儲存裝置中經分配用於該快速轉譯指示器之一空間已滿之情形下,在添加該新項目時刪除該快速轉譯指示器中之一個現有項目。
[20] 如請求項19之方法,其進一步包括選擇該快速轉譯指示器中之一最近最少使用之項目作為該一個現有項目以供刪除。
类似技术:
公开号 | 公开日 | 专利标题
US9104327B2|2015-08-11|Fast translation indicator to reduce secondary address table checks in a memory device
US9053013B2|2015-06-09|Data storage device and operating method thereof
US9229876B2|2016-01-05|Method and system for dynamic compression of address tables in a memory
US9779027B2|2017-10-03|Apparatus, system and method for managing a level-two cache of a storage appliance
US7594067B2|2009-09-22|Enhanced data access in a storage device
US9063862B2|2015-06-23|Expandable data cache
KR101717644B1|2017-03-27|고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
US8526234B1|2013-09-03|Controller management of memory array of storage device using magnetic random access memory |
CN110678836A|2020-01-10|用于键值存储的持久性存储器
US20140304453A1|2014-10-09|Effective Caching for Demand-based Flash Translation Layers in Large-Scale Flash Memory Storage Systems
US9513815B2|2016-12-06|Memory management based on usage specifications
US20120239853A1|2012-09-20|Solid state device with allocated flash cache
KR20100021868A|2010-02-26|플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법
US20170139825A1|2017-05-18|Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach
WO2011090500A1|2011-07-28|Random write optimization techniques for flash disks
US20200183855A1|2020-06-11|Logical to physical mapping
US10740251B2|2020-08-11|Hybrid drive translation layer
KR101017067B1|2011-02-25|낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
KR101297442B1|2013-08-16|공간 지역성을 고려한 요구 기반 플래시 메모리 변환 계층을 포함하는 낸드 플래시 메모리 시스템
US20150324281A1|2015-11-12|System and method of implementing an object storage device on a computer main memory system
CN111858404A|2020-10-30|缓存数据定位系统
KR20120039166A|2012-04-25|데이터 페이지들에 대해 무효화 기회를 부여하는 방법 및 이를 위한 낸드 플래시 메모리 시스템
US20140115246A1|2014-04-24|Apparatus, system and method for managing empty blocks in a cache
KR101373613B1|2014-03-13|환형 구조의 비휘발성 메모리 캐쉬를 포함하는 하이브리드 스토리지 장치
KR20130086692A|2013-08-05|환형 구조의 비휘발성 메모리 캐쉬에 데이터를 읽고 쓰기 위한 데이터 처리 방법
同族专利:
公开号 | 公开日
US9104327B2|2015-08-11|
US20120297118A1|2012-11-22|
WO2012158455A1|2012-11-22|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
TWI512461B|2014-12-25|2015-12-11|Prophetstor Data Services Inc|用於混合式儲存設備的固態硬碟快取系統|
TWI616755B|2016-09-06|2018-03-01|宏碁股份有限公司|儲存裝置及其資料映射方法|JPH10124381A|1996-10-21|1998-05-15|Mitsubishi Electric Corp|半導体記憶装置|
US6000006A|1997-08-25|1999-12-07|Bit Microsystems, Inc.|Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage|
US6834325B1|1999-07-16|2004-12-21|Storage Technology Corporation|System and method for providing client-directed staging to improve non-sequential access performance in a caching disk storage system|
US7013378B2|2003-04-30|2006-03-14|Hewlett-Packard Development Company, L.P.|Method and system for minimizing the length of a defect list for a storage device|
KR100706242B1|2005-02-07|2007-04-11|삼성전자주식회사|메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법|
US8700883B1|2006-10-24|2014-04-15|Nvidia Corporation|Memory access techniques providing for override of a page table|
US8151060B2|2006-11-28|2012-04-03|Hitachi, Ltd.|Semiconductor memory system having a snapshot function|
US8145876B2|2007-08-06|2012-03-27|Advanced Micro Devices, Inc.|Address translation with multiple translation look aside buffers|
US8151085B2|2008-01-17|2012-04-03|International Business Machines Corporation|Method for address translation in virtual machines|
US8250333B2|2009-01-05|2012-08-21|Sandisk Technologies Inc.|Mapping address table maintenance in a memory device|
US8688894B2|2009-09-03|2014-04-01|Pioneer Chip Technology Ltd.|Page based management of flash storage|
US8296538B2|2010-02-17|2012-10-23|Arm Limited|Storing secure mode page table data in secure and non-secure regions of memory|
US8635430B2|2010-06-23|2014-01-21|International Business Machines Corporation|Translation of input/output addresses to memory addresses|
US8429378B2|2010-07-06|2013-04-23|Qualcomm Incorporated|System and method to manage a translation lookaside buffer|US8219776B2|2009-09-23|2012-07-10|Lsi Corporation|Logical-to-physical address translation for solid state disks|
US8327185B1|2012-03-23|2012-12-04|DSSD, Inc.|Method and system for multi-dimensional raid|
US20140052899A1|2012-08-18|2014-02-20|Yen Chih Nan|Memory address translation method for flash storage system|
US10241923B2|2012-11-06|2019-03-26|International Business Machines Corporation|Configurable I/O address translation data structure|
US9372811B2|2012-12-13|2016-06-21|Arm Limited|Retention priority based cache replacement policy|
US20160048328A1|2014-08-12|2016-02-18|Kabushiki Kaisha Toshiba|Memory system|
US9760432B2|2015-07-28|2017-09-12|Futurewei Technologies, Inc.|Intelligent code apparatus, method, and computer program for memory|
US9921754B2|2015-07-28|2018-03-20|Futurewei Technologies, Inc.|Dynamic coding algorithm for intelligent coded memory system|
CN106502584B|2016-10-13|2019-10-25|记忆科技有限公司|一种提高固态硬盘写缓存的利用率的方法|
US10466930B2|2017-04-28|2019-11-05|EMC IP Holding Company LLC|Method and system for fast ordered writes with atomic multicast|
US10289491B1|2017-04-28|2019-05-14|EMC IP Holding Company LLC|Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance|
US10339062B2|2017-04-28|2019-07-02|EMC IP Holding Company LLC|Method and system for writing data to and read data from persistent storage|
US10614019B2|2017-04-28|2020-04-07|EMC IP Holding Company LLC|Method and system for fast ordered writes with target collaboration|
WO2019180675A1|2018-03-22|2019-09-26|Trulyprotect Oy|Systems and methods for hypervisor-based protection of code|
US10635580B2|2018-07-09|2020-04-28|Western Digital Technologies, Inc.|Buffering storage device data in a host memory buffer|
TWI703566B|2018-08-30|2020-09-01|大陸商合肥沛睿微電子股份有限公司|快閃記憶體控制器及相關的存取方法及電子裝置|
KR20200091199A|2019-01-22|2020-07-30|에스케이하이닉스 주식회사|저장 장치, 저장 장치를 포함하는 컴퓨팅 시스템 및 그 동작 방법|
US10922235B2|2019-06-26|2021-02-16|Western Digital Technologies, Inc.|Method and system for address table eviction management|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
US201161487215P| true| 2011-05-17|2011-05-17||
US13/464,426|US9104327B2|2011-05-17|2012-05-04|Fast translation indicator to reduce secondary address table checks in a memory device|
[返回顶部]