TWI408689B - 存取儲存裝置的方法及相關控制電路 - Google Patents
存取儲存裝置的方法及相關控制電路 Download PDFInfo
- Publication number
- TWI408689B TWI408689B TW098112304A TW98112304A TWI408689B TW I408689 B TWI408689 B TW I408689B TW 098112304 A TW098112304 A TW 098112304A TW 98112304 A TW98112304 A TW 98112304A TW I408689 B TWI408689 B TW I408689B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- storage unit
- storage
- control circuit
- mapping
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
本發明係關於缺陷區塊管理的方法及相關控制電路,尤指一種用於包含有複數個快閃記憶體的儲存裝置(如:一多通道固態硬碟機)的缺陷區塊管理的方法及相關電路。
由快閃記憶體所組成的各種儲存裝置,已逐漸普及於嵌入式系統與攜帶式裝置。當人們對儲存裝置所提供的容量與效能要求越高時,也間接帶動快閃記憶體裝置的發展,最終,快閃記憶體裝置漸漸地在各個領域取代習知儲存裝置(例如傳統硬碟)的運用。一個如火如荼且轉向明朗的發展趨勢即是固態硬碟機(Solid State Drive,SSD),其係一種由快閃記憶體所組成的大容量儲存裝置,並且定位於取代傳統硬碟。相較於發展已成熟的傳統硬碟,快閃記憶體先天的物理特性導致其仍有許多亟待改良之處,其一便是資料寫入與讀取速度不佳。為了能有效提升快閃記憶體裝置的讀取與寫入效能,因此設計者引入了冗餘(redundancy)技術於固態硬碟機,主要是透過冗餘技術中一種用以提升儲存裝置之存取速度的資料分割(data stripping)技術,在固態硬碟機中設置複數個快閃記憶體,且分別形成複數個存取通道(channel)。當外部系統存取固態硬碟機時,複數個快閃記憶體可同時進行存取操作,從而提高固態硬碟機的資料存取速度。然而,由於快閃記憶體不論在製造或使用的過程中,可能因為某些原因而造成內部儲存單位的故障,又因為快閃記憶體的資料抹除係以區塊(block)為單位,因此故障的儲存單位會進一步造成其所屬的整個區塊不能再度進行抹除與儲存操作,進而形成缺陷區塊(bad block)。
傳統上,快閃記憶體的控制電路都有處理與管理缺陷區塊的機制(bad block management)。在眾多習知作法中,最簡單的一種就是區塊忽略法(Skip block method),當一儲存資料的目標位址對應於一缺陷區塊的位址時,則該筆儲存資料會被儲存至該缺陷區塊之後的下一個良好區塊(good block),亦即跳過該缺陷區塊。但此種方法若運用於多通道固態硬碟機(multi-channel SSD)中,則會因為不同存取通道之快閃記憶體間存在著區塊關聯性,若跳過某個快閃記憶體之一缺陷區塊,則其它快閃記憶體中對應於該缺陷區塊的關聯區塊,不論其是否為缺陷區塊都會被跳過,因而導致無謂的儲存空間浪費。
此外,在習知技藝中除了區塊忽略法外,亦有透過蒐集缺陷區塊的資訊(如:缺陷區塊的位址),而避免於這些已知的缺陷區塊上執行寫入或讀取操作;並且透過良好區塊(good block)來置換這些缺陷區塊以進行讀取或寫入操作,其中,缺陷區塊的位址將會被重新映射(remapping)至良好區塊以進行區塊置換操作,這些重新映射結果(remapping result)會被記錄於固態硬碟機中之控制電路。當控制電路欲對缺陷區塊進行寫入或讀取操作時,此時會依據重新映射結果轉而向缺陷區塊所對應之置換區塊進行寫入或讀取操作。一般而言,置換區塊的來源通常有兩種方式,第一種方式即是從同一快閃記憶體中,透過特定的演算法來找一個良好區塊以作為置換區塊,因此每個快閃記憶體擁有個別的重新映射結果,控制電路會依據每個快閃記憶體的重映射結果來分別存取快閃記憶體,然而,此種方法將導致控制電路的負擔過大,此外控制電路必須依據重新映射結果,依序將每個缺陷區塊替換為置換區塊,故造成較多的電路延遲;第二種方式即是在快閃記憶體中配置保留區塊(reserved block)以作為置換區塊之用,然而,此種作法的主要問題在於會增加快閃記憶體的製造成本,亦即由於相同快閃記憶體中必須保留一部分空間作為保留區塊,使得真正可規劃為儲存之用的區塊較少。
綜上所述,對於提升固態硬碟機的資料存取效能而言,習知技術仍存有許多改進的空間。
有鑑於此,為了解決習知缺陷區塊管理技術於多通道固態硬碟之應用上往往效能過低的問題,本發明便提出一種創新的缺陷區塊管理方法以及相關控制電路,來解決習知固態硬碟機之效能不彰的問題。
依據本發明之一實施例,其係提供一種用以存取一儲存裝置的方法。該儲存裝置包含有複數個儲存單元分別對應複數個存取通道,每一儲存單元分別包含有複數個區塊,該複數個存取通道係於該儲存裝置進行一資料存取操作時同時動作,以及該複數個儲存單元包含有一第一儲存單元與至少一第二儲存單元。該方法包含有:依據該複數個儲存單元中無法正常操作之缺陷區塊(bad block)來產生分別對應至該複數個儲存單元之複數個缺陷區塊列表;依據該第一儲存單元所對應之一缺陷區塊列表所指出之至少一缺陷區塊,將每一第二儲存單元中對應於該缺陷區塊且可正常操作之一良好區塊(good block)設定為一置換區塊;依據每一第二儲存單元之一缺陷區塊列表與每一置換區塊來產生相對應之一映射結果;以及依據該第一儲存單元所對應之該缺陷區塊列表與每一第二儲存單元所對應之該映射結果來存取該儲存裝置。
依據本發明之另一實施例,其係提供一種用於存取一儲存裝置之控制電路。該儲存裝置包含有複數個儲存單元分別對應複數個存取通道,每一儲存單元分別包含有複數個區塊,該複數個存取通道係於該儲存裝置進行一資料存取操作時同時動作,以及該複數個儲存單元包含有一第一儲存單元與至少一第二儲存單元。該控制電路包含有一處理單元、一儲存單元以及複數個映射單元。該處理單元會依據該複數個儲存單元中無法正常操作之缺陷區塊(bad block)來產生分別對應至該複數個儲存單元之複數個缺陷區塊列表、依據該第一儲存單元所對應之一缺陷區塊列表所指出之至少一缺陷區塊而將每一第二儲存單元中對應於該缺陷區塊且可正常操作之一良好區塊(good block)設定為一置換區塊以及依據每一第二儲存單元之一缺陷區塊列表與每一置換區塊來產生相對應之一映射結果。該儲存單元係耦接於該處理單元,用以儲存該第一儲存單元所對應之該缺陷區塊列表。該複數個映射單元分別耦接於該處理單元以及該複數個儲存單元,並且用以依據該複數個映射結果進行以相對應之設定,其中該控制電路係利用該複數個映射單元與儲存於該儲存元件之該第一儲存單元所對應之該缺陷區塊列表來存取該複數個儲存單元。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,硬體製造商可能會用不同的名詞來稱呼同一個元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求相當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。此外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段,因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或者透過其他裝置或連接手段間接地電氣連接至該第二裝置。
請參考第1圖,其係本發明方法之一實施例的示意圖。如圖所示,固態硬碟機100為一個具有四個存取通道(4-channel)之儲存裝置,分別包含有快閃記憶體A、B、C以及D。快閃記憶體A、B、C以及D分別包含有7個區塊,而區塊的編號(即代表對應於不同位址之區塊)如圖示之標記所示,且圖示中以”X”來代表缺陷區塊。本發明之一技術特徵係在於以多通道固態硬碟機其中之一存取通道所對應之快閃記憶體的缺陷區塊狀態為基準,來產生其它快閃記憶體所對應之缺陷區塊的(重新)映射結果。因此,基於解釋上之方便,本實施例中係以快閃記憶體A之缺陷區塊狀態為基準來作為說明。應當注意的是,選用其它快閃記憶體B、C或D來作為缺陷區塊之映射結果的產生基準亦屬本發明之範疇。此外,本實施例所利用之固態硬碟機的通道數目亦非本發明之限制,換言之,本發明方法適用於採用任何其它通道數目的固態硬碟機,更甚者,熟知本發明技術領域之人,在詳讀本說明書之內容之後,亦可將本發明透過適當地修改或重新詮釋,將本發明方法應用於任何採用冗餘技術之儲存裝置,此亦屬本發明的涵蓋範圍。
由圖可知,當選定快閃記憶體A的缺陷區塊為其它快閃記憶體之映射結果的產生基準時,區塊2與區塊5會被當作基準,並將快閃記憶體B、C以及D中之對應區塊2與對應區塊5分別視為該快閃記憶體中之置換區塊,以取代該快閃記憶體中之缺陷區塊。因此,於快閃記憶體B中,區塊2本來為良好區塊,但為配合快閃記憶體A的缺陷區塊2,因此被用來做為快閃記憶體B之缺陷區塊1之置換區塊,而良好區塊5則被用來作為對應缺陷區塊6之置換區塊。同樣的,在快閃記憶體C中,良好區塊2被用來作為缺陷區塊3之置換區塊,而良好區塊5則被用來作為對應缺陷區塊4之置換區塊,而在快閃記憶體D中,區塊2本來就是缺陷區塊,因此不被用來作為置換區塊,而良好區塊5則被用來作為缺陷區塊7之置換區塊。經由以上的替換關係,缺陷區塊位址便映射至置換區塊位址以產生每一快閃記憶體的缺陷區塊映射結果,如此一來,便避免於區塊忽略法中,由於這些置換區塊因為對應至快閃記憶體A的缺陷區塊而被忽略,進而導致儲存空間浪費的情形。應當特別注意的是,於每一快閃記憶體中,置換區塊被選來替換哪一缺陷區塊的方法並非本發明所欲強調的重點,亦即,上述實施例中所描述的選擇方法僅做為範例說明之用,實非本發明之限制。
總結來說,在應用本發明方法之後,對於上述實施例中的固態硬碟機100來說,所有快閃記憶體中僅有區塊2以及區塊5是無法使用的,其餘皆可正常進行資料儲存。然而,為解決習知技藝中,每一通道之快閃記憶體擁有各自的映射結果而導致控制電路必須依序依據這些映射結果來執行位址映射的動作而耗費過多的效能與功率的問題,因此本發明另外於控制電路中為每個快閃記憶體設計一映射單元以執行位址映射的動作。請參考第2圖,映射單元200係為一硬體映射單元,設計來執行一接線式(hardwired)映射。
於初始化時,映射單元200會依據一映射結果來進行設定,接著,當指向於一缺陷區塊的一輸入位址被輸入映射單元200後,映射單元200即會依據該映射結果來將該輸入位址轉換為該缺陷區塊所對應之一置換區塊的位址,再將該置換區塊的位址輸入至快閃記憶體的位址輸入埠,因而完成位址映射。應當注意的是,若該輸入位址指向一良好區塊,則該輸入位址會被旁通(bypass)至快閃記憶體之位址輸入埠。透過這樣的映射單元,因此可以減少控制電路的工作負擔。另外,儘管上述內容將映射單元描述為設置於控制電路內,但若將任何源自本發明精神所設計之映射單元設置於控制電路外亦屬本發明的範疇。
基於上述實施例所建立的基礎,本發明所提供的方法可進一步歸納為以下步驟,並繪示於第3圖所示之流程中的步驟310~340。本發明方法所執行的流程依序可描述為:依據一儲存裝置之複數個儲存單元中無法正常操作之缺陷區塊來產生分別對應至該複數個儲存單元之複數個缺陷區塊列表;依據該複數個儲存單元中一第一儲存單元所對應之一缺陷區塊列表所指出之至少一缺陷區塊,將該複數個儲存單元中每一第二儲存單元中對應於該缺陷區塊且可正常操作之一良好區塊設定為一置換區塊;依據每一第二儲存單元之一缺陷區塊列表與每一置換區塊來產生相對應之一映射結果;以及依據該第一儲存單元所對應之該缺陷區塊列表與每一第二儲存單元所對應之該映射結果來存取該儲存裝置。
依據上述方法所揭露的精神與概念,本發明從而提供一種設置於快閃記憶體裝置中之控制電路,該控制電路按上述的缺陷區塊管理機制來進行快閃記憶體裝置(例如多通道固態硬碟機)的缺陷區塊管理。請參考第4圖,其係應用本發明控制電路之多通道固態硬碟機的實施示意圖。如圖所示,控制電路410設置於一多通道固態硬碟機400中,用以同時利用複數個存取通道491~494以對快閃記憶體401a、401b、401c以及401d進行資料存取操作。由於利用複數個存取通道來對儲存裝置進行資料寫入與讀取係為熟知本發明所屬技術領域之人所明瞭之資料分割技術的應用且亦非屬本發明之技術特徵所在,因此其詳細操作及原理在此便不多作贅述。再者,控制電路410包含有一處理單元420、一儲存單元430以及複數個錯誤校正碼處理單元442、444、446以及448,此外,複數個映射單元452、454、456以及458係分別設置於複數個錯誤校正碼處理單元442、444、446以及448中。基本上,任何寫入至快閃記憶體或讀取自快閃記憶體的資料都必須先經過錯誤校正碼處理單元的處理,因此第4圖所示之實施例便將映射單元整合於錯誤校正碼處理單元,然而依據本發明其它實施例,映射單元452、454、456以及458亦可設置於控制電路410內部的其他電路模組中或是設置於控制電路410之外。再者,映射單元452、454、456以及458的詳細操作與功能已於第2圖所代表的實施例中闡述過,在此便不贅述。
於多通道固態硬碟機400初始化時,處理單元420會分別檢查快閃記憶體401a、401b、401c以及401d之所有區塊是否能正常運作,以分別產生對應於快閃記憶體401a、401b、401c以及401d之缺陷區塊列表TE、TF、TG以及TH。通常來說,快閃記憶體401a、401b、401c以及401d於製造之初(亦即出廠時)就可能已帶有缺陷區塊,因此在每一區塊中的特定位置會被填入非0xff的值,用以指出該區塊為缺陷區塊。再者,多通道固態硬碟機400在實際使用的過程中,也會因為各種操作不當或快閃記憶體本身儲存單元先天上的有限存取次數而產生新的缺陷區塊,處理單元420會在特定位置標上非0xff的值。因此,處理單元420會檢查每一個區塊是否為缺陷區塊來產生缺陷區塊列表TE、TF、TG以及TH或者自快閃記憶體401a、401b、401c以及401d載入已產生的缺陷區塊列表TE、TF、TG以及TH,並且將缺陷區塊列表TE、TF、TG以及TH儲存於儲存單元430中。接著,處理單元420會依據缺陷區塊列表TE、TF、TG以及TH的資訊,選擇其中一缺陷區塊列表TE、TF、TG以及TH所對應之快閃記憶體的缺陷區塊狀態來作為上述發明內容中的映射結果產生基準。此處假設處理單元所選定的基準為快閃記憶體401b。
於此,處理單元420找出缺陷區塊列表TF所有的缺陷區塊,並依據這(些)缺陷區塊,將快閃記憶體401a、401c以及401d的對應於該(些)缺陷區塊且為可正常運作之良好區塊分別作為快閃記憶體401a、401c以及401d的置換區塊。請注意,此處所謂的區塊對應係源自於快閃記憶體401a、401b、401c以及401d間的冗餘關係。此外,若快閃記憶體401a、401c以及401d中對應於快閃記憶體401b之缺陷區塊的關聯區塊亦為缺陷區塊時,則其不會被使用來作為快閃記憶體401a、401c以及401d的置換區塊。當處理單元420依據缺陷區塊列表TF來分別決定出快閃記憶體401a、401c以及401d的置換區塊後,接著,處理單元420會再依據缺陷區塊列表TE、TG以及TH與每一置換區塊來分別產生相對應之映射結果ME、MG以及MH,其中,映射結果是指快閃記憶體中之缺陷區塊的位址與置換區塊之位址的映射關係,其可能以映射表(mapping table)的形式寫入儲存單元430中,因此,在不違背本發明方法的精神下,由處理單元420直接至儲存單元430讀取這些快閃記憶體的映射表以執行位址轉換亦是可行的。此外,於本實施例中,映射單元452、454、456以及458係透過接線式(hardwired)映射來進行置換區塊之實體位址與缺陷區塊之實體位址間的映射,然而,此非本發明之唯一限制,任何透過硬體手段來完成映射的技術皆應屬本發明之範疇。
簡言之,一快閃記憶體中的所有置換區塊,將會分別被對應到該快閃記憶體已存在的缺陷區塊,以產生該快閃記憶體之映射結果。最後,處理單元420將會依據映射結果ME、MG以及MH來分別設定映射單元452、456、458,使得之後的存取操作中不會存取到那些已存在的缺陷區塊,而是透過映射單元的幫助將資料儲存於相對應的置換區塊中。於本實施例中,由於映射單元的存在,使得處理單元420不用另外進行置換區塊與缺陷區塊間的位址轉換,因而得以減少處理單元420的工作負擔。當映射結果順利產生後,往後,多通道固態硬碟機400的資料存取便會由控制電路410參考儲存單元中的缺陷區塊列表F來執行。舉例來說,當資料寫入時,控制電路410接收到該資料的邏輯區塊位址(Logic Block Address,LBA)後,首先將其轉換為實體區塊位址,接著會參考缺陷區塊列表F來決定該實體區塊位址是否為可用的實體區塊位址(舉例來說,於第1圖代表的實施例中,區塊2與區塊5所對應的實體區塊位址就是不可用的),若為可用,則將該實體區塊位址指定給該邏輯區塊位址;否則的話,則另指定一實體區塊位址給該資料的邏輯區塊位址。接著,依據資料分割的原理,該資料的段落會被分別寫入至快閃記憶體401a、401b、401c以及401d中的良好區塊或是置換區塊,因此,處理單元420僅需依據快閃記憶體的缺陷區塊位址來發出一指定的實體區塊位址,映射單元接收該實體區塊位址會視情況進行位址映射以避免資料可能寫入到該實體區塊位址所指向的缺陷區塊。於資料讀取的時候,便透過實體區塊位址與邏輯區塊位址的關係來將資料分別自快閃記憶體401a、401b、401c以及401d取出。由於映射單元已經將快閃記憶體401a、401c以及401d的缺陷區塊利用置換區塊來取代,因此控制電路410在進行資料存取的時候,完全不需考慮快閃記憶體401a、401c以及401d的缺陷區塊,而僅需考慮快閃記憶體401b的缺陷區塊,並且避免將邏輯區塊位址指定至快閃記憶體401b的缺陷區塊的實體位址即可。
相較於先前技術的作法,本發明大幅減輕了處理單元的工作負擔,另一方面又避免快閃記憶體中無謂的儲存空間浪費,故對於採用資料分割技術之儲存裝置(例如多通道固態硬碟機)而言,本發明提供一個絕佳的缺陷區塊管理方法與相關控制電路。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100、400...多通道固態硬碟機
401a~401d...快閃記憶體
200、452~458...映射單元
310~340...步驟
410...控制電路
420...處理單元
430...儲存單元
442~448...錯誤校正碼處理單元
491~494...存取通道
第1圖係本發明方法的應用示意圖。
第2圖係本發明映射單元之實施例的示意圖。
第3圖係本發明方法之範例流程圖。
第4圖係應用本發明控制電路的固態硬碟機與本發明控制電路之實施例的示意圖。
400...多通道固態硬碟機
401a~401d...快閃記憶體
452~458...映射單元
410...控制電路
420...處理單元
430...儲存單元
442~448...錯誤校正碼處理單元
491~494...存取通道
Claims (14)
- 一種用以存取一儲存裝置的方法,該儲存裝置包含有複數個儲存單元分別對應複數個存取通道,每一儲存單元分別包含有複數個區塊,該複數個存取通道係於該儲存裝置進行一資料存取操作時同時動作,該複數個儲存單元包含有一第一儲存單元與至少一第二儲存單元,該方法包含有:依據該複數個儲存單元中無法正常操作之缺陷區塊(bad block)來產生分別對應至該複數個儲存單元之複數個缺陷區塊列表;依據該第一儲存單元所對應之一缺陷區塊列表所指出之至少一缺陷區塊,將每一第二儲存單元中對應於該缺陷區塊且可正常操作之一良好區塊(good block)設定為一置換區塊;依據每一第二儲存單元之一缺陷區塊列表與每一置換區塊來產生相對應之一映射結果;以及依據該第一儲存單元所對應之該缺陷區塊列表與每一第二儲存單元所對應之該映射結果來存取該儲存裝置。
- 如申請專利範圍第1項所述之方法,其中該儲存裝置係以資料分割方式(data striping)將資料儲存於該複數個儲存單元。
- 如申請專利範圍第1項所述之方法,其中依據每一第二儲存單元之該缺陷區塊列表與每一置換區塊來產生相對應之該映射結果的步驟包含有:將每一第二儲存單元中至少一缺陷區塊的位址映射至同一儲存單元中一置換區塊的位址以產生該映射結果。
- 如申請專利範圍第3項所述之方法,其中每一第二儲存單元中之該缺陷區塊的位址係透過一接線式(hardwired)映射方式而映射至同一儲存單元中之該置換區塊的位址。
- 如申請專利範圍第1項所述之方法,其中每一儲存單元係為一非揮發性記憶體。
- 如申請專利範圍第5項所述之方法,其中該非揮發性記憶體係為一快閃記憶體。
- 如申請專利範圍第1項所述之方法,其中該儲存裝置係為一多通道固態硬碟機(multi-channel solid state drive)。
- 一種用於存取一儲存裝置之控制電路,該儲存裝置包含有複數個儲存單元分別對應複數個存取通道,每一儲存單元分別包含有複數個區塊,該複數個存取通道係於該儲存裝置進行一資料存取操作時同時動作,該複數個儲存單元包含有一第一儲存單元與至少一第二儲存單元,該控制電路包含有:一處理單元,依據該複數個儲存單元中無法正常操作之缺陷區塊(bad block)來產生分別對應至該複數個儲存單元之複數個缺陷區塊列表;依據該第一儲存單元所對應之一缺陷區塊列表所指出之至少一缺陷區塊,將每一第二儲存單元中對應於該缺陷區塊且可正常操作之一良好區塊(good block)設定為一置換區塊;依據每一第二儲存單元之一缺陷區塊列表與每一置換區塊來產生相對應之一映射結果;一儲存單元,耦接於該處理單元,係用以儲存該第一儲存單元之該缺陷區塊列表;以及複數個映射單元,分別耦接於該處理單元以及該複數個儲存單元,用以依據該複數個映射結果進行以相對應之設定,其中該控制電路係利用該複數個映射單元與儲存於該儲存單元之該第一儲存單元所對應之該缺陷區塊列表來存取該複數個儲存單元。
- 如申請專利範圍第8項所述之控制電路,其中該控制電路係以資料分割方式(data striping)將資料儲存於該複數個儲存單元。
- 如申請專利範圍第8項所述之控制電路,其中該控制電路將每一第二儲存單元中至少一缺陷區塊的位址映射至同一儲存單元中一置換區塊的位址以產生該映射結果。
- 如申請專利範圍第10項所述之控制電路,其中該複數個映射單元係透過一接線式(hardwired)映射方式而將每一第二儲存單元中之該缺陷區塊的位址而映射至同一儲存單元中之該置換區塊的位址。
- 如申請專利範圍第8項所述之控制電路,其中該控制電路所控制之儲存單元係為非揮發性記憶體。
- 如申請專利範圍第12項所述之控制電路,其中該控制電路所控制之非揮發性記憶體係為快閃記憶體。
- 如申請專利範圍第8項所述之控制電路,其中該控制電路所控制之該儲存裝置係為一多通道固態硬碟機(multi-channel solid state drive)。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098112304A TWI408689B (zh) | 2009-04-14 | 2009-04-14 | 存取儲存裝置的方法及相關控制電路 |
US12/641,330 US20100262764A1 (en) | 2009-04-14 | 2009-12-18 | Method for accessing storage apparatus and related control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098112304A TWI408689B (zh) | 2009-04-14 | 2009-04-14 | 存取儲存裝置的方法及相關控制電路 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201037717A TW201037717A (en) | 2010-10-16 |
TWI408689B true TWI408689B (zh) | 2013-09-11 |
Family
ID=42935245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098112304A TWI408689B (zh) | 2009-04-14 | 2009-04-14 | 存取儲存裝置的方法及相關控制電路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100262764A1 (zh) |
TW (1) | TWI408689B (zh) |
Families Citing this family (223)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9442833B1 (en) * | 2010-07-20 | 2016-09-13 | Qualcomm Incorporated | Managing device identity |
US8423730B2 (en) * | 2010-07-27 | 2013-04-16 | Qualcomm Innovation Center, Inc. | Method and apparatus for supporting diverse memory access schemes |
US9244769B2 (en) | 2010-09-28 | 2016-01-26 | Pure Storage, Inc. | Offset protection data in a RAID array |
US8775868B2 (en) | 2010-09-28 | 2014-07-08 | Pure Storage, Inc. | Adaptive RAID for an SSD environment |
TWI519166B (zh) * | 2012-10-31 | 2016-01-21 | 晶睿通訊股份有限公司 | 影像錄製系統、裝置與錄影時的資料存取方法 |
US9646039B2 (en) | 2013-01-10 | 2017-05-09 | Pure Storage, Inc. | Snapshots in a storage system |
US11630585B1 (en) | 2016-08-25 | 2023-04-18 | Pure Storage, Inc. | Processing evacuation events in a storage array that includes a plurality of storage devices |
US9489132B2 (en) | 2014-10-07 | 2016-11-08 | Pure Storage, Inc. | Utilizing unmapped and unknown states in a replicated storage system |
US9716755B2 (en) | 2015-05-26 | 2017-07-25 | Pure Storage, Inc. | Providing cloud storage array services by a local storage array in a data center |
US11102298B1 (en) | 2015-05-26 | 2021-08-24 | Pure Storage, Inc. | Locally providing cloud storage services for fleet management |
US9594678B1 (en) | 2015-05-27 | 2017-03-14 | Pure Storage, Inc. | Preventing duplicate entries of identical data in a storage device |
US10021170B2 (en) | 2015-05-29 | 2018-07-10 | Pure Storage, Inc. | Managing a storage array using client-side services |
US9444822B1 (en) | 2015-05-29 | 2016-09-13 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9300660B1 (en) | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US9588691B2 (en) | 2015-06-10 | 2017-03-07 | Pure Storage, Inc. | Dynamically managing control information in a storage device |
US9594512B1 (en) | 2015-06-19 | 2017-03-14 | Pure Storage, Inc. | Attributing consumed storage capacity among entities storing data in a storage array |
US10310740B2 (en) | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US10296236B2 (en) * | 2015-07-01 | 2019-05-21 | Pure Storage, Inc. | Offloading device management responsibilities from a storage device in an array of storage devices |
US9892071B2 (en) | 2015-08-03 | 2018-02-13 | Pure Storage, Inc. | Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array |
US9851762B1 (en) | 2015-08-06 | 2017-12-26 | Pure Storage, Inc. | Compliant printed circuit board (‘PCB’) within an enclosure |
US11294588B1 (en) | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US10198194B2 (en) | 2015-08-24 | 2019-02-05 | Pure Storage, Inc. | Placing data within a storage device of a flash array |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US11385797B2 (en) * | 2015-10-05 | 2022-07-12 | Micron Technology, Inc. | Solid state storage device with variable logical capacity based on memory lifecycle |
US9384082B1 (en) | 2015-10-23 | 2016-07-05 | Pure Storage, Inc. | Proactively providing corrective measures for storage arrays |
US11360844B1 (en) | 2015-10-23 | 2022-06-14 | Pure Storage, Inc. | Recovery of a container storage provider |
US10514978B1 (en) | 2015-10-23 | 2019-12-24 | Pure Storage, Inc. | Automatic deployment of corrective measures for storage arrays |
US10284232B2 (en) | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US9740414B2 (en) | 2015-10-29 | 2017-08-22 | Pure Storage, Inc. | Optimizing copy operations |
US10374868B2 (en) | 2015-10-29 | 2019-08-06 | Pure Storage, Inc. | Distributed command processing in a flash storage system |
US10353777B2 (en) | 2015-10-30 | 2019-07-16 | Pure Storage, Inc. | Ensuring crash-safe forward progress of a system configuration update |
US9760479B2 (en) | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11762764B1 (en) | 2015-12-02 | 2023-09-19 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US10326836B2 (en) | 2015-12-08 | 2019-06-18 | Pure Storage, Inc. | Partially replicating a snapshot between storage systems |
US11616834B2 (en) | 2015-12-08 | 2023-03-28 | Pure Storage, Inc. | Efficient replication of a dataset to the cloud |
US10162835B2 (en) | 2015-12-15 | 2018-12-25 | Pure Storage, Inc. | Proactive management of a plurality of storage arrays in a multi-array system |
US11347697B1 (en) | 2015-12-15 | 2022-05-31 | Pure Storage, Inc. | Proactively optimizing a storage system |
US10346043B2 (en) | 2015-12-28 | 2019-07-09 | Pure Storage, Inc. | Adaptive computing for data compression |
US9886314B2 (en) | 2016-01-28 | 2018-02-06 | Pure Storage, Inc. | Placing workloads in a multi-array system |
US10572460B2 (en) | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US9760297B2 (en) | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
US9959043B2 (en) | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US11995315B2 (en) | 2016-03-16 | 2024-05-28 | Pure Storage, Inc. | Converting data formats in a storage system |
US9841921B2 (en) | 2016-04-27 | 2017-12-12 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices |
US11112990B1 (en) | 2016-04-27 | 2021-09-07 | Pure Storage, Inc. | Managing storage device evacuation |
US11809727B1 (en) | 2016-04-27 | 2023-11-07 | Pure Storage, Inc. | Predicting failures in a storage system that includes a plurality of storage devices |
US9811264B1 (en) | 2016-04-28 | 2017-11-07 | Pure Storage, Inc. | Deploying client-specific applications in a storage system utilizing redundant system resources |
US10303390B1 (en) | 2016-05-02 | 2019-05-28 | Pure Storage, Inc. | Resolving fingerprint collisions in flash storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US9507532B1 (en) | 2016-05-20 | 2016-11-29 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US10452310B1 (en) | 2016-07-13 | 2019-10-22 | Pure Storage, Inc. | Validating cabling for storage component admission to a storage array |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US10459652B2 (en) | 2016-07-27 | 2019-10-29 | Pure Storage, Inc. | Evacuating blades in a storage array that includes a plurality of blades |
US10474363B1 (en) | 2016-07-29 | 2019-11-12 | Pure Storage, Inc. | Space reporting in a storage system |
US11531577B1 (en) | 2016-09-07 | 2022-12-20 | Pure Storage, Inc. | Temporarily limiting access to a storage device |
US11886922B2 (en) | 2016-09-07 | 2024-01-30 | Pure Storage, Inc. | Scheduling input/output operations for a storage system |
US11960348B2 (en) | 2016-09-07 | 2024-04-16 | Pure Storage, Inc. | Cloud-based monitoring of hardware components in a fleet of storage systems |
US10671439B1 (en) | 2016-09-07 | 2020-06-02 | Pure Storage, Inc. | Workload planning with quality-of-service (‘QOS’) integration |
US10331588B2 (en) | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US10146585B2 (en) | 2016-09-07 | 2018-12-04 | Pure Storage, Inc. | Ensuring the fair utilization of system resources using workload based, time-independent scheduling |
US10908966B1 (en) | 2016-09-07 | 2021-02-02 | Pure Storage, Inc. | Adapting target service times in a storage system |
US11481261B1 (en) | 2016-09-07 | 2022-10-25 | Pure Storage, Inc. | Preventing extended latency in a storage system |
US10235229B1 (en) | 2016-09-07 | 2019-03-19 | Pure Storage, Inc. | Rehabilitating storage devices in a storage array that includes a plurality of storage devices |
US11379132B1 (en) | 2016-10-20 | 2022-07-05 | Pure Storage, Inc. | Correlating medical sensor data |
US10007459B2 (en) | 2016-10-20 | 2018-06-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
US10162566B2 (en) | 2016-11-22 | 2018-12-25 | Pure Storage, Inc. | Accumulating application-level statistics in a storage system |
US11620075B2 (en) | 2016-11-22 | 2023-04-04 | Pure Storage, Inc. | Providing application aware storage |
US10198205B1 (en) | 2016-12-19 | 2019-02-05 | Pure Storage, Inc. | Dynamically adjusting a number of storage devices utilized to simultaneously service write operations |
US11461273B1 (en) | 2016-12-20 | 2022-10-04 | Pure Storage, Inc. | Modifying storage distribution in a storage system that includes one or more storage devices |
US10489307B2 (en) | 2017-01-05 | 2019-11-26 | Pure Storage, Inc. | Periodically re-encrypting user data stored on a storage device |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11340800B1 (en) | 2017-01-19 | 2022-05-24 | Pure Storage, Inc. | Content masking in a storage system |
US10503700B1 (en) | 2017-01-19 | 2019-12-10 | Pure Storage, Inc. | On-demand content filtering of snapshots within a storage system |
US11163624B2 (en) | 2017-01-27 | 2021-11-02 | Pure Storage, Inc. | Dynamically adjusting an amount of log data generated for a storage system |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US10503427B2 (en) | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US11089105B1 (en) | 2017-12-14 | 2021-08-10 | Pure Storage, Inc. | Synchronously replicating datasets in cloud-based storage systems |
US11941279B2 (en) | 2017-03-10 | 2024-03-26 | Pure Storage, Inc. | Data path virtualization |
US11442825B2 (en) | 2017-03-10 | 2022-09-13 | Pure Storage, Inc. | Establishing a synchronous replication relationship between two or more storage systems |
US10454810B1 (en) | 2017-03-10 | 2019-10-22 | Pure Storage, Inc. | Managing host definitions across a plurality of storage systems |
US12056383B2 (en) | 2017-03-10 | 2024-08-06 | Pure Storage, Inc. | Edge management service |
US11675520B2 (en) | 2017-03-10 | 2023-06-13 | Pure Storage, Inc. | Application replication among storage systems synchronously replicating a dataset |
US11169727B1 (en) | 2017-03-10 | 2021-11-09 | Pure Storage, Inc. | Synchronous replication between storage systems with virtualized storage |
US11803453B1 (en) | 2017-03-10 | 2023-10-31 | Pure Storage, Inc. | Using host connectivity states to avoid queuing I/O requests |
KR102409760B1 (ko) * | 2017-03-17 | 2022-06-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US9910618B1 (en) | 2017-04-10 | 2018-03-06 | Pure Storage, Inc. | Migrating applications executing on a storage system |
US10459664B1 (en) | 2017-04-10 | 2019-10-29 | Pure Storage, Inc. | Virtualized copy-by-reference |
US11868629B1 (en) | 2017-05-05 | 2024-01-09 | Pure Storage, Inc. | Storage system sizing service |
US11609718B1 (en) | 2017-06-12 | 2023-03-21 | Pure Storage, Inc. | Identifying valid data after a storage system recovery |
US10976962B2 (en) | 2018-03-15 | 2021-04-13 | Pure Storage, Inc. | Servicing I/O operations in a cloud-based storage system |
US11422731B1 (en) | 2017-06-12 | 2022-08-23 | Pure Storage, Inc. | Metadata-based replication of a dataset |
US12086650B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Workload placement based on carbon emissions |
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US10853148B1 (en) | 2017-06-12 | 2020-12-01 | Pure Storage, Inc. | Migrating workloads between a plurality of execution environments |
US12086651B2 (en) | 2017-06-12 | 2024-09-10 | Pure Storage, Inc. | Migrating workloads using active disaster recovery |
US11210133B1 (en) | 2017-06-12 | 2021-12-28 | Pure Storage, Inc. | Workload mobility between disparate execution environments |
US11989429B1 (en) | 2017-06-12 | 2024-05-21 | Pure Storage, Inc. | Recommending changes to a storage system |
US10417092B2 (en) | 2017-09-07 | 2019-09-17 | Pure Storage, Inc. | Incremental RAID stripe update parity calculation |
US12061822B1 (en) | 2017-06-12 | 2024-08-13 | Pure Storage, Inc. | Utilizing volume-level policies in a storage system |
US11016824B1 (en) | 2017-06-12 | 2021-05-25 | Pure Storage, Inc. | Event identification with out-of-order reporting in a cloud-based environment |
US10884636B1 (en) | 2017-06-12 | 2021-01-05 | Pure Storage, Inc. | Presenting workload performance in a storage system |
US11340939B1 (en) | 2017-06-12 | 2022-05-24 | Pure Storage, Inc. | Application-aware analytics for storage systems |
EP3612922A1 (en) | 2017-06-12 | 2020-02-26 | Pure Storage, Inc. | Accessible fast durable storage integrated into a bulk storage device |
US11592991B2 (en) | 2017-09-07 | 2023-02-28 | Pure Storage, Inc. | Converting raid data between persistent storage types |
US10613791B2 (en) | 2017-06-12 | 2020-04-07 | Pure Storage, Inc. | Portable snapshot replication between storage systems |
US11593036B2 (en) | 2017-06-12 | 2023-02-28 | Pure Storage, Inc. | Staging data within a unified storage element |
US10552090B2 (en) | 2017-09-07 | 2020-02-04 | Pure Storage, Inc. | Solid state drives with multiple types of addressable memory |
US11561714B1 (en) | 2017-07-05 | 2023-01-24 | Pure Storage, Inc. | Storage efficiency driven migration |
US11477280B1 (en) | 2017-07-26 | 2022-10-18 | Pure Storage, Inc. | Integrating cloud storage services |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US12067466B2 (en) | 2017-10-19 | 2024-08-20 | Pure Storage, Inc. | Artificial intelligence and machine learning hyperscale infrastructure |
US11494692B1 (en) | 2018-03-26 | 2022-11-08 | Pure Storage, Inc. | Hyperscale artificial intelligence and machine learning infrastructure |
US10452444B1 (en) | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
US11455168B1 (en) | 2017-10-19 | 2022-09-27 | Pure Storage, Inc. | Batch building for deep learning training workloads |
US10671435B1 (en) | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Data transformation caching in an artificial intelligence infrastructure |
US11861423B1 (en) | 2017-10-19 | 2024-01-02 | Pure Storage, Inc. | Accelerating artificial intelligence (‘AI’) workflows |
US10360214B2 (en) | 2017-10-19 | 2019-07-23 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
US10467107B1 (en) | 2017-11-01 | 2019-11-05 | Pure Storage, Inc. | Maintaining metadata resiliency among storage device failures |
US10484174B1 (en) | 2017-11-01 | 2019-11-19 | Pure Storage, Inc. | Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices |
US10671494B1 (en) | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US10509581B1 (en) | 2017-11-01 | 2019-12-17 | Pure Storage, Inc. | Maintaining write consistency in a multi-threaded storage system |
US10817392B1 (en) | 2017-11-01 | 2020-10-27 | Pure Storage, Inc. | Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10990282B1 (en) | 2017-11-28 | 2021-04-27 | Pure Storage, Inc. | Hybrid data tiering with cloud storage |
US10936238B2 (en) | 2017-11-28 | 2021-03-02 | Pure Storage, Inc. | Hybrid data tiering |
US10795598B1 (en) | 2017-12-07 | 2020-10-06 | Pure Storage, Inc. | Volume migration for storage systems synchronously replicating a dataset |
US11036677B1 (en) | 2017-12-14 | 2021-06-15 | Pure Storage, Inc. | Replicated data integrity |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10992533B1 (en) | 2018-01-30 | 2021-04-27 | Pure Storage, Inc. | Policy based path management |
US11972134B2 (en) | 2018-03-05 | 2024-04-30 | Pure Storage, Inc. | Resource utilization using normalized input/output (‘I/O’) operations |
US10942650B1 (en) | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US11150834B1 (en) | 2018-03-05 | 2021-10-19 | Pure Storage, Inc. | Determining storage consumption in a storage system |
US11861170B2 (en) | 2018-03-05 | 2024-01-02 | Pure Storage, Inc. | Sizing resources for a replication target |
US10521151B1 (en) | 2018-03-05 | 2019-12-31 | Pure Storage, Inc. | Determining effective space utilization in a storage system |
US10296258B1 (en) | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
US10924548B1 (en) | 2018-03-15 | 2021-02-16 | Pure Storage, Inc. | Symmetric storage using a cloud-based storage system |
US12066900B2 (en) | 2018-03-15 | 2024-08-20 | Pure Storage, Inc. | Managing disaster recovery to cloud computing environment |
US10917471B1 (en) | 2018-03-15 | 2021-02-09 | Pure Storage, Inc. | Active membership in a cloud-based storage system |
US11288138B1 (en) | 2018-03-15 | 2022-03-29 | Pure Storage, Inc. | Recovery from a system fault in a cloud-based storage system |
US11210009B1 (en) | 2018-03-15 | 2021-12-28 | Pure Storage, Inc. | Staging data in a cloud-based storage system |
US11048590B1 (en) | 2018-03-15 | 2021-06-29 | Pure Storage, Inc. | Data consistency during recovery in a cloud-based storage system |
US11095706B1 (en) | 2018-03-21 | 2021-08-17 | Pure Storage, Inc. | Secure cloud-based storage system management |
US11171950B1 (en) | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
US10838833B1 (en) | 2018-03-26 | 2020-11-17 | Pure Storage, Inc. | Providing for high availability in a data analytics pipeline without replicas |
US11436344B1 (en) | 2018-04-24 | 2022-09-06 | Pure Storage, Inc. | Secure encryption in deduplication cluster |
US11392553B1 (en) | 2018-04-24 | 2022-07-19 | Pure Storage, Inc. | Remote data management |
US11954220B2 (en) | 2018-05-21 | 2024-04-09 | Pure Storage, Inc. | Data protection for container storage |
US11455409B2 (en) | 2018-05-21 | 2022-09-27 | Pure Storage, Inc. | Storage layer data obfuscation |
US11675503B1 (en) | 2018-05-21 | 2023-06-13 | Pure Storage, Inc. | Role-based data access |
US12086431B1 (en) | 2018-05-21 | 2024-09-10 | Pure Storage, Inc. | Selective communication protocol layering for synchronous replication |
US10992598B2 (en) | 2018-05-21 | 2021-04-27 | Pure Storage, Inc. | Synchronously replicating when a mediation service becomes unavailable |
US10871922B2 (en) | 2018-05-22 | 2020-12-22 | Pure Storage, Inc. | Integrated storage management between storage systems and container orchestrators |
US11416298B1 (en) | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11403000B1 (en) | 2018-07-20 | 2022-08-02 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11954238B1 (en) | 2018-07-24 | 2024-04-09 | Pure Storage, Inc. | Role-based access control for a storage system |
US11632360B1 (en) | 2018-07-24 | 2023-04-18 | Pure Storage, Inc. | Remote access to a storage device |
US11146564B1 (en) | 2018-07-24 | 2021-10-12 | Pure Storage, Inc. | Login authentication in a cloud storage platform |
US11860820B1 (en) | 2018-09-11 | 2024-01-02 | Pure Storage, Inc. | Processing data through a storage system in a data pipeline |
US12026381B2 (en) | 2018-10-26 | 2024-07-02 | Pure Storage, Inc. | Preserving identities and policies across replication |
US10671302B1 (en) | 2018-10-26 | 2020-06-02 | Pure Storage, Inc. | Applying a rate limit across a plurality of storage systems |
US10963189B1 (en) | 2018-11-18 | 2021-03-30 | Pure Storage, Inc. | Coalescing write operations in a cloud-based storage system |
US11023179B2 (en) | 2018-11-18 | 2021-06-01 | Pure Storage, Inc. | Cloud-based storage system storage management |
US11340837B1 (en) | 2018-11-18 | 2022-05-24 | Pure Storage, Inc. | Storage system management via a remote console |
US11526405B1 (en) | 2018-11-18 | 2022-12-13 | Pure Storage, Inc. | Cloud-based disaster recovery |
US12026060B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Reverting between codified states in a cloud-based storage system |
US12026061B1 (en) | 2018-11-18 | 2024-07-02 | Pure Storage, Inc. | Restoring a cloud-based storage system to a selected state |
US11650749B1 (en) | 2018-12-17 | 2023-05-16 | Pure Storage, Inc. | Controlling access to sensitive data in a shared dataset |
US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US11042452B1 (en) | 2019-03-20 | 2021-06-22 | Pure Storage, Inc. | Storage system data recovery using data recovery as a service |
US11221778B1 (en) | 2019-04-02 | 2022-01-11 | Pure Storage, Inc. | Preparing data for deduplication |
US11068162B1 (en) | 2019-04-09 | 2021-07-20 | Pure Storage, Inc. | Storage management in a cloud data store |
US11126364B2 (en) | 2019-07-18 | 2021-09-21 | Pure Storage, Inc. | Virtual storage system architecture |
US11853266B2 (en) | 2019-05-15 | 2023-12-26 | Pure Storage, Inc. | Providing a file system in a cloud environment |
US11392555B2 (en) | 2019-05-15 | 2022-07-19 | Pure Storage, Inc. | Cloud-based file services |
US11327676B1 (en) | 2019-07-18 | 2022-05-10 | Pure Storage, Inc. | Predictive data streaming in a virtual storage system |
US12001355B1 (en) | 2019-05-24 | 2024-06-04 | Pure Storage, Inc. | Chunked memory efficient storage data transfers |
US11422751B2 (en) | 2019-07-18 | 2022-08-23 | Pure Storage, Inc. | Creating a virtual storage system |
US11487715B1 (en) | 2019-07-18 | 2022-11-01 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11093139B1 (en) | 2019-07-18 | 2021-08-17 | Pure Storage, Inc. | Durably storing data within a virtual storage system |
US11526408B2 (en) | 2019-07-18 | 2022-12-13 | Pure Storage, Inc. | Data recovery in a virtual storage system |
US11797197B1 (en) | 2019-07-18 | 2023-10-24 | Pure Storage, Inc. | Dynamic scaling of a virtual storage system |
US11861221B1 (en) | 2019-07-18 | 2024-01-02 | Pure Storage, Inc. | Providing scalable and reliable container-based storage services |
US11086553B1 (en) | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US11693713B1 (en) | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
US11360689B1 (en) | 2019-09-13 | 2022-06-14 | Pure Storage, Inc. | Cloning a tracking copy of replica data |
US12045252B2 (en) | 2019-09-13 | 2024-07-23 | Pure Storage, Inc. | Providing quality of service (QoS) for replicating datasets |
US11797569B2 (en) | 2019-09-13 | 2023-10-24 | Pure Storage, Inc. | Configurable data replication |
US11573864B1 (en) | 2019-09-16 | 2023-02-07 | Pure Storage, Inc. | Automating database management in a storage system |
US11669386B1 (en) | 2019-10-08 | 2023-06-06 | Pure Storage, Inc. | Managing an application's resource stack |
US11943293B1 (en) | 2019-12-06 | 2024-03-26 | Pure Storage, Inc. | Restoring a storage system from a replication target |
US11709636B1 (en) | 2020-01-13 | 2023-07-25 | Pure Storage, Inc. | Non-sequential readahead for deep learning training |
US11733901B1 (en) | 2020-01-13 | 2023-08-22 | Pure Storage, Inc. | Providing persistent storage to transient cloud computing services |
US11720497B1 (en) | 2020-01-13 | 2023-08-08 | Pure Storage, Inc. | Inferred nonsequential prefetch based on data access patterns |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | Pure Storage, Inc. | Multi-cloud orchestration as-a-service |
US11868622B2 (en) | 2020-02-25 | 2024-01-09 | Pure Storage, Inc. | Application recovery across storage systems |
US11637896B1 (en) | 2020-02-25 | 2023-04-25 | Pure Storage, Inc. | Migrating applications to a cloud-computing environment |
US12038881B2 (en) | 2020-03-25 | 2024-07-16 | Pure Storage, Inc. | Replica transitions for file storage |
US11321006B1 (en) | 2020-03-25 | 2022-05-03 | Pure Storage, Inc. | Data loss prevention during transitions from a replication source |
US11301152B1 (en) | 2020-04-06 | 2022-04-12 | Pure Storage, Inc. | Intelligently moving data between storage systems |
US11630598B1 (en) | 2020-04-06 | 2023-04-18 | Pure Storage, Inc. | Scheduling data replication operations |
US11494267B2 (en) | 2020-04-14 | 2022-11-08 | Pure Storage, Inc. | Continuous value data redundancy |
US11921670B1 (en) | 2020-04-20 | 2024-03-05 | Pure Storage, Inc. | Multivariate data backup retention policies |
US11431488B1 (en) | 2020-06-08 | 2022-08-30 | Pure Storage, Inc. | Protecting local key generation using a remote key management service |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
US12079222B1 (en) | 2020-09-04 | 2024-09-03 | Pure Storage, Inc. | Enabling data portability between systems |
CN112558863B (zh) * | 2020-11-25 | 2023-02-14 | 成都佰维存储科技有限公司 | Ssd坏块替换方法、装置、可读存储介质及电子设备 |
CN112527201B (zh) * | 2020-12-11 | 2022-08-09 | 成都佰维存储科技有限公司 | Ssd坏块替换方法、装置、可读存储介质及电子设备 |
US11397545B1 (en) | 2021-01-20 | 2022-07-26 | Pure Storage, Inc. | Emulating persistent reservations in a cloud-based storage system |
US11853285B1 (en) | 2021-01-22 | 2023-12-26 | Pure Storage, Inc. | Blockchain logging of volume-level events in a storage system |
US12086649B2 (en) | 2021-05-12 | 2024-09-10 | Pure Storage, Inc. | Rebalancing in a fleet of storage systems using data science |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
US11714723B2 (en) | 2021-10-29 | 2023-08-01 | Pure Storage, Inc. | Coordinated snapshots for data stored across distinct storage environments |
US11893263B2 (en) | 2021-10-29 | 2024-02-06 | Pure Storage, Inc. | Coordinated checkpoints among storage systems implementing checkpoint-based replication |
US11914867B2 (en) | 2021-10-29 | 2024-02-27 | Pure Storage, Inc. | Coordinated snapshots among storage systems implementing a promotion/demotion model |
US11922052B2 (en) | 2021-12-15 | 2024-03-05 | Pure Storage, Inc. | Managing links between storage objects |
US11847071B2 (en) | 2021-12-30 | 2023-12-19 | Pure Storage, Inc. | Enabling communication between a single-port device and multiple storage system controllers |
TWI801073B (zh) * | 2022-01-03 | 2023-05-01 | 華邦電子股份有限公司 | 多通道記憶體裝置 |
US12001300B2 (en) | 2022-01-04 | 2024-06-04 | Pure Storage, Inc. | Assessing protection for storage resources |
US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
US20080082860A1 (en) * | 2003-12-25 | 2008-04-03 | Matsushita Electric Industrial Co., Ltd. | Information processing apparatus for performing a system boot by using programs stored in a non-volatile storage device |
TW200820259A (en) * | 2006-10-25 | 2008-05-01 | Samsung Electronics Co Ltd | Hybrid flash memory device and method for assigning reserved blocks thereof |
TW200844999A (en) * | 2006-10-12 | 2008-11-16 | Sandisk Corp | Non-volatile memory with worst-case control data management and methods therefor |
TW200903516A (en) * | 2007-05-17 | 2009-01-16 | Samsung Electronics Co Ltd | Non-volatile memory devices and systems including bad blocks address re-mapped and methods of operating the same |
US7506098B2 (en) * | 2006-06-08 | 2009-03-17 | Bitmicro Networks, Inc. | Optimized placement policy for solid state storage devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
-
2009
- 2009-04-14 TW TW098112304A patent/TWI408689B/zh active
- 2009-12-18 US US12/641,330 patent/US20100262764A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
US20080082860A1 (en) * | 2003-12-25 | 2008-04-03 | Matsushita Electric Industrial Co., Ltd. | Information processing apparatus for performing a system boot by using programs stored in a non-volatile storage device |
US7506098B2 (en) * | 2006-06-08 | 2009-03-17 | Bitmicro Networks, Inc. | Optimized placement policy for solid state storage devices |
TW200844999A (en) * | 2006-10-12 | 2008-11-16 | Sandisk Corp | Non-volatile memory with worst-case control data management and methods therefor |
TW200820259A (en) * | 2006-10-25 | 2008-05-01 | Samsung Electronics Co Ltd | Hybrid flash memory device and method for assigning reserved blocks thereof |
TW200903516A (en) * | 2007-05-17 | 2009-01-16 | Samsung Electronics Co Ltd | Non-volatile memory devices and systems including bad blocks address re-mapped and methods of operating the same |
Also Published As
Publication number | Publication date |
---|---|
TW201037717A (en) | 2010-10-16 |
US20100262764A1 (en) | 2010-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI408689B (zh) | 存取儲存裝置的方法及相關控制電路 | |
US8001356B2 (en) | Methods and apparatus for reallocating addressable spaces within memory devices | |
US8606987B2 (en) | Data writing method for flash memory and controller using the same | |
JP5996838B2 (ja) | メモリリマップ情報を記憶する不揮発性メモリ | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US20170039141A1 (en) | Mapping table updating method, memory storage device and memory control circuit unit | |
US20130227246A1 (en) | Management information generating method, logical block constructing method, and semiconductor memory device | |
US20090198875A1 (en) | Data writing method for flash memory, and controller and system using the same | |
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
US10303367B2 (en) | Mapping table updating method without updating the first mapping information, memory control circuit unit and memory storage device | |
JP2006048893A (ja) | 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法 | |
US20060047889A1 (en) | Memory device and controlling method for nonvolatile memory | |
US11036429B2 (en) | Memory control method, memory storage device and memory control circuit unit to determine a source block using interleaving information | |
US9965400B2 (en) | Memory management method, memory control circuit unit and memory storage device | |
US11163694B2 (en) | Memory control method, memory storage device and memory control circuit unit | |
TWI457755B (zh) | 資料寫入方法、記憶體控制器與儲存裝置 | |
US8943289B2 (en) | Data moving method for flash memory module, and memory controller and memory storage apparatus using the same | |
CN112051971B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
US8738847B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
CN112394883B (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
US8832358B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US11249898B1 (en) | Data merge method, memory storage device and memory control circuit unit | |
CN101866319B (zh) | 存取储存装置的方法及相关控制电路 | |
TW201816795A (zh) | 映射表載入方法、記憶體控制電路單元與記憶體儲存裝置 |