TWI446358B - 固態儲存裝置中資料收集及壓縮 - Google Patents

固態儲存裝置中資料收集及壓縮 Download PDF

Info

Publication number
TWI446358B
TWI446358B TW098123243A TW98123243A TWI446358B TW I446358 B TWI446358 B TW I446358B TW 098123243 A TW098123243 A TW 098123243A TW 98123243 A TW98123243 A TW 98123243A TW I446358 B TWI446358 B TW I446358B
Authority
TW
Taiwan
Prior art keywords
memory
data
page
compressed
compression
Prior art date
Application number
TW098123243A
Other languages
English (en)
Other versions
TW201011774A (en
Inventor
Dean Klein
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW201011774A publication Critical patent/TW201011774A/zh
Application granted granted Critical
Publication of TWI446358B publication Critical patent/TWI446358B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; 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/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

固態儲存裝置中資料收集及壓縮
本發明概言之係關於記憶體裝置,且在一特定實施例中本發明係關於非揮發性記憶體裝置。
在電腦或其他電子裝置中記憶體裝置可包括內部半導體積體電路。存在眾多不同類型之記憶體,其包括隨機存取記憶體(RAM)、唯讀記憶體(ROM)、動態隨機存取記憶體(DRAM)、靜態RAM(SRAM)、同步動態隨機存取記憶體(SDRAM)及快閃記憶體。
快閃記憶體裝置已發展為用於寬廣範圍的電子應用之非揮發性記憶體之一普遍源。快閃記憶體裝置通常使用允許高記憶體密度、高可靠性及低功率消耗之一單一電晶體記憶體單元。快閃記憶體之常見用途包括個人電腦、個人數位助理(PDA)、數位相機及蜂巢式電話。諸如一基本輸入/輸出系統(BIOS)之程式碼及系統資料通常儲存於快閃記憶體裝置中以供在個人電腦系統中使用。
快閃記憶體裝置之一個缺點係由於用於程式化之實體過程,故該等快閃記憶體通常僅正確運作有限數量之抹除/程式化循環。大多數快閃記憶體裝置可運作100k抹除/程式化循環。
另一缺點係與其他記憶體技術相比儲存每一位元之成本相對高。由此,需要改良管理一快閃記憶體陣列中之記憶體單元以有效使用盡可能多之記憶體陣列以使得不使記憶體區域空閒。
出於上文陳述之原因,且出於下文陳述之所屬領域之技術人員在閱讀及理解本說明書之後將明瞭之其它原因,此項技術中需要一種改良非揮發性記憶體管理之方法。
在本發明之以下詳細闡述中,參照形成本發明之一部分且其中以圖解說明之方式顯示可實施本發明之具體實施例之附圖。在該等圖式中,在全部若干視圖中相同編號闡述大致類似之組件。充分詳細地闡述此等實施例以使熟悉此項技術者能夠實施本發明。可利用其它實施例並可在不背離本發明範疇之情形下做出結構、邏輯及電方面之改動。因此,不應以限制意義考量以下詳細闡述,且本發明之範疇僅由隨附申請專利範圍及其等效物界定。
圖1圖解說明包括一固態儲存裝置100之一記憶體系統120之一功能方塊圖。固態儲存裝置100可係諸如快閃記憶體之非揮發性記憶體100。固態儲存裝置100已被簡化以著重於記憶體之有助於理解本程式化實施例之特徵。固態儲存裝置100耦合至一外部系統控制器110。控制器110可係一微處理器或某些其它類型之控制電路。
固態儲存裝置100包括一非揮發性記憶體單元陣列130,諸如在圖2中所圖解說明且隨後論述之浮動閘極記憶體單元。記憶體陣列130佈置於成排的諸如字線列之存取線及諸如位元線行之資料線中。在一個實施例中,記憶體陣列130之行由記憶體單元之串聯串組成。如此項技術中所眾所周知,單元至位元線之連接確定陣列是一NAND架構、一AND架構還是一NOR架構。
可將記憶體陣列130組織成記憶體塊。記憶體塊之數量通常係由記憶體裝置之大小(亦即,512MB、1GB)確定。在一個實施例中,每一記憶體塊由64個記憶體單元頁形成。每一頁通常由2048個資料位元組組成。
記憶體控制電路170可包括一壓縮/解壓縮塊190/與其協作以使得可壓縮正被寫入至陣列130之未被壓縮資料且可解壓縮自陣列130讀取之經壓縮資料。壓縮/解壓縮190可藉由執行此等任務之一硬體電路來實現。一替代實施例藉由一韌體例程執行壓縮/解壓縮190。
提供一揮發性記憶體區域(例如,DRAM)191以暫時儲存資料。控制器110使用揮發性記憶體來暫時儲存欲被寫入至記憶體陣列130之資料,暫時儲存自記憶體陣列讀取之資料,及儲存由記憶體控制電路170使用之其他資料。舉例而言,如隨後所闡述,壓縮/解壓縮塊190可使用揮發性記憶體191來儲存資料。
提供位址緩衝器電路140以鎖存經由I/O電路160提供之位址信號。由一列解碼器144及一行解碼器146接收並解碼位址信號以存取記憶體陣列130。得益於本發明,熟悉此項技術者將瞭解,位址輸入連接之數目取決於記憶體陣列130之密度及架構。亦即,該等定址之數目隨著記憶體單元計數之增加及記憶庫與塊計數之增加而增加。
固態儲存裝置100藉助使用感測放大器電路150感測記憶體陣列行中之電壓或電流變化來讀取記憶體陣列130中之資料。在一個實施例中,感測放大器電路150經耦合以讀取且鎖存來自記憶體陣列130之一列資料。包含資料輸入及輸出緩衝器電路160以用於經由複數個資料連接162與控制器110進行雙向資料通信以及位址通信。提供寫入電路155以將資料寫入至記憶體陣列。
記憶體控制電路170解碼自控制器110提供之控制連接172上之信號。此等信號用於控制對記憶體陣列130之作業,包括資料讀取、資料寫入(程式化)及抹除作業。記憶體控制電路170可係產生記憶體控制信號之一狀態機、一定序器,或某些其他類型之控制器。組態控制電路170以執行隨後論述之資料收集作業。另外,若壓縮/解壓縮作業190係韌體例程,則組態記憶體控制電路170以執行壓縮/解壓縮以及圖3之方法之實施例。
圖2圖解說明一NAND架構記憶體陣列130之一部分之一示意圖,其包含可對其運作隨後論述之資料收集及壓縮/解壓縮之實施例之非揮發性記憶體單元的串聯串。儘管隨後論述係參照一NAND記憶體裝置,但本實施例並不限於此一架構而亦可用於其他記憶體裝置架構中。
記憶體陣列由配置成諸如串聯串204、205等之行之非揮發性記憶體單元130(例如,浮動閘極)陣列組成。在每一串聯串204、205中,以汲極至源極之方式耦合單元130之每一者。橫跨多個串聯串204、205之字線WL0-WL31連接至一列中之每一記憶體單元之控制閘極以給該行中之記憶體單元之控制閘極加偏壓。位元線BL1、BL2最終連接至感測放大器(未顯示),該等感測放大器藉由感測一特定位元線上之電流而偵測每一單元之狀態。
每一記憶體單元串聯串204、205藉由一源極選擇閘極216、217耦合至一源極線206且藉由一汲極選擇閘極212、213耦合至一個別位元線BL1、BL2。該等源極選擇閘極216、217係由耦合至其等控制閘極之一源極選擇閘極控制線SG(S)218來控制。汲極選擇閘極212、213由一汲極選擇閘極控制線SG(D)214來控制。
每一記憶體單元可作為一單一位階單元(SLC)或多位階單元(MLC)而進行程式化。每一單元之臨限電壓(Vt )指示儲存於該單元中之資料。舉例而言,在一SLC中,一0.5V之Vt 可指示一經程式化單元而一-0.5V之Vt 可指示一經抹除單元。MLC可具有多個Vt 範圍,每一範圍皆指示一不同狀態。多位階單元可藉由將一位元型樣指派給儲存於單元上之一特定電壓範圍來利用一傳統快閃單元之類比性質。取決於被指派給單元之電壓範圍之數量,此技術准許每單元儲存兩個或更多個位元。
資料壓縮(在此項技術中亦稱為源譯碼)係將一原始資料串轉變成一斯資料串之過程,該新資料串包含與該原始串相同或大致相同之資訊,但其長度係減小的。資料壓縮可係有損的或者無損的。
無損資料壓縮在使用較少位元之同時保留相同原始資訊。此類型之資料壓縮通常不能實現與有損壓縮等量之壓縮,但用於其中如在程式化源碼中那樣不能容忍資料損耗之情形中。典型無損資料壓縮演算法之實例包括Lempel-Ziv(LZ)壓縮、DEFLATE、PKZIP及GZIP。本揭示內容之實施例不受限於任一類型之壓縮/解壓縮。
圖3圖解說明用於資料收集及壓縮之一方法之一個實施例之一流程圖。資料收集作業確定哪些記憶體頁及/或記憶體塊僅部分程式化301有有效資料(有效資料可係應在實際中程式化於該特定頁中且未移動至另一位置之經程式化資訊)。此可藉由讀取頁/塊以確定哪些僅部分地被程式化來實現。在另一實施例中,該等部分被程式化之頁/塊可在來自該頁/塊之資料之部分被移動時被識別(例如,被標記)。在此實施例中,可在一頁或塊狀態寄存器中設定一位元,其指示該頁/塊之僅一部分保留有效資料。稍後,讀取作業僅必須讀取該狀態位元以發現部分被程式化之頁/塊。
通常三種情況可導致記憶體頁及記憶體塊部分地被程式化。導致一部分被程式化之記憶體頁之一個原因係未發生足夠寫入訊務來填充一記憶體頁且控制器寫入其具有之資料以使得儲存裝置可向系統發信作業完成。導致部分被程式化之記憶體頁之另一原因係將一片資料寫入至裝置上之一邏輯塊,而相同邏輯塊已包含於一先前經寫入頁中。先前經寫入塊現被標記為「無效」,因此該頁現具有一可在其內利用之空點且係一資料收集候選者。最後,一較不常見情況係系統發送一命令至裝置指示該裝置使一邏輯塊無效。若該邏輯塊係一先前填充頁之一部分,則此頁現係一資料收集候選者。
此等作業可留下僅部分程式化有未被移動之有效資料之一頁或塊。資料收集提供讀取記憶體內容之機會且使壓縮成為一後臺任務。
讀出此等部分被程式化之記憶體頁/塊中之有效資料302。將302中之所讀取資料輸入至壓縮塊且同時輸入至固態儲存裝置之DRAM。壓縮資料303且將其暫時儲存於DRAM之一不同區中。可使用上文所闡述之壓縮例程之一者或可使用相同其他壓縮例程。可在硬體或者軟體中實現該壓縮。
在傳送完成時,評估該壓縮以確定資料是否可壓縮304。若資料為不可壓縮305,則將未經壓縮資料寫入至記憶體頁306。
若資料係可壓縮305,則將經壓縮資料與其他經壓縮資料組合以填充一記憶體頁307。在一個實施例中,一個記憶體頁可包含相當於兩頁之資料。
將經壓縮資料標記為經壓縮308以使得當對其進行讀取時,可將其識別為經壓縮資料以進行解壓縮。此一旗標可包括記憶體陣列之一單獨記憶體位置(例如,DRAM解譯表)或係記憶體控制電路之部分之一寄存器中之一位元指示。與經壓縮資料相關聯之壓縮類型亦可由在一記憶體位置/寄存器中之一類似位元或多位元指示來指示。在另一實施例中,壓縮寫入至記憶體陣列之所有資料以使得讀取作業解壓縮所有所讀取資料。
圖4圖解說明用於自一固態儲存裝置讀取資料之一方法之一個實施例。初始地自記憶體單元讀取資料401。此可藉由在以數位方式運作之一記憶體陣列中自每一單元讀取一數位型樣或在以一類比方式運作之一記憶體陣列中確定每一被讀取記憶體單元之一臨限電壓來實現。
隨後確定讀取資料在寫入時已被壓縮403還是該資料業已處於一未壓縮格式。如先前所論述,可假定所有所讀取資料處於一壓縮格式,由此要求針對所有所讀取資料解壓縮,或需要針對相關聯資料讀取一壓縮指示位元。在一個實施例中,亦可確定所使用之壓縮演算法之類型,以便在解壓縮期間可使用相同解壓縮演算法。
若資料已被壓縮405,則隨後根據用於壓縮其之壓縮演算法解壓縮407,且將經解壓縮資料傳送至請求例程411。若該資料以一未壓縮狀態儲存405,則以與讀取相同之形式傳送讀取資料411。
結論
總而言之,一個或多個實施例藉由讀取殘留於部分被程式化之記憶體塊中之有效資料且使該有效資料聚合在一起來執行一資料收集,壓縮該有效資料,且將其儲存於一新記憶體塊中以使得該新記憶體塊被填充。該部分被程式化塊隨後被抹除且返回以供將來使用。此有效資料之覆寫通常稱為寫入放大,此乃因與寫入至記憶體裝置中之原始資料之量相比實際發生之寫入量被放大。所得增加之記憶體容量藉由擴展由記憶體控制電路執行之平均抹寫減小寫入放大。
儘管本文已圖解說明及闡述具體實施例,但熟悉此項技術者將瞭解,任何經計算以達成相同目的之配置均可替代所示具體實施例。熟悉此項技術者將明瞭本發明之眾多修改。因此,此申請案意欲涵蓋本發明之任何修改或變化形式。本發明明確地意欲僅由下述申請專利範圍及其等效物限定。
100...固態儲存裝置
110...控制器
120...記憶體系統
130...記憶體陣列
130...非揮發性記憶體單元陣列
140...位址緩衝器電路
144...列解碼器
146...行解碼器
150...感測放大器電路
155...寫入電路
160...I/O電路
170...控制電路
190...壓縮/解壓縮塊
191...DRAM
204...串聯串
205...串聯串
206...源極線
212...汲極選擇閘極
213...汲極選擇閘極
214...汲極選擇閘極控制線SG(D)
216...源極選擇閘極
217...源極選擇閘極
218...源極選擇閘極控制線SG(S)
圖1顯示一記憶體系統之一個實施例之一方塊圖,其併入資料收集及資料壓縮方法之一個實施例。
圖2顯示根據圖1之記憶體陣列之一非揮發性記憶體陣列之一部分之一個實施例之一示意圖。
圖3顯示用於執行一資料收集及資料壓縮之一方法之一個實施例之流程圖。
圖4顯示用於讀取經壓縮資料之一方法之一個實施例之一流程圖。
(無元件符號說明)

Claims (19)

  1. 一種在一固態儲存裝置中用於資料收集及壓縮之方法,該方法包含:讀取每一記憶體頁之一狀態位元,該記憶體頁指示一個別記憶體頁是否僅部份被程式化;自指示僅部分被程式化有有效資料之一記憶體頁收集資料以回應該記憶體頁之個別狀態位元;壓縮該所收集之資料以回應該記憶體頁之個別狀態位元;及將該經壓縮資料程式化至該固態儲存裝置。
  2. 如請求項1之方法,其中收集資料包含自部分被程式化之記憶體塊收集資料。
  3. 如請求項1之方法,其中程式化該經壓縮資料包含將該經壓縮資料程式化至該固態儲存裝置之一不同頁。
  4. 如請求項1之方法,且其進一步包含藉由在與該經壓縮資料相關聯之一記憶體位置中設定一位元來識別該經壓縮資料。
  5. 如請求項1之方法,且其進一步包括:自該固態儲存裝置讀取資料;及解壓縮該資料。
  6. 如請求項1之方法,其中程式化該經壓縮資料包含進行程式化以使得不發生部分程式化記憶體頁。
  7. 如請求項6之方法,其中壓縮該所收集之資料包含使用一GZIP演算法來壓縮該所讀取資料。
  8. 如請求項7之方法,且其進一步包括自該固態儲存裝置讀取經壓縮資料且使用Lempel-Ziv(LZ)壓縮、DEFLATE、PKZIP及GZIP中之一者解壓縮該經壓縮資料。
  9. 如請求項1之方法,且其進一步包括識別壓縮該所收集之資料中所使用之壓縮演算法之一類型。
  10. 如請求項1之方法,且其進一步包括在自該等部分被程式化之記憶體頁讀取該資料之後抹除該等部分被程式化之記憶體頁。
  11. 如請求項1之方法,且其進一步包括當自一第一記憶體頁移動資料時產生該第一記憶體頁僅部分程式化有有效資料之一指示。
  12. 如請求項1之方法,且其進一步包括在程序化回至該固態儲存裝置之前將該經壓縮資料與其他經壓縮資料組合。
  13. 一種記憶體裝置,其包含:一記憶體陣列,其組織成複數個記憶體頁及塊;及記憶體控制電路,其耦合至該記憶體陣列,該記憶體控制電路用於控制該記憶體裝置之作業,該記憶體控制電路經組態以讀取包含多個狀態位元之一暫存器,該等狀態位元指示一個別記憶體頁或記憶體塊是否僅部份被程式化,使得該個別記憶體頁或記憶體塊具有一未被程式化區域、自該等部分被程式化之頁或塊讀取資料以回應該等部分被程式化之頁或塊之個別狀態位元、壓縮該 所讀取資料以回應該等部分被程式化之頁或塊之個別狀態位元、且將該經壓縮資料程式化至該記憶體陣列之替代位置。
  14. 如請求項13之記憶體裝置,其中該記憶體陣列係一NAND架構快閃記憶體陣列。
  15. 如請求項13之記憶體裝置,其中每一記憶體塊由複數個記憶體頁組成。
  16. 如請求項13之記憶體裝置,其中該記憶體控制電路進一步經組態以產生該所讀取資料已被壓縮之一指示且將該指示程式化在記憶體中。
  17. 如請求項13之記憶體裝置,其中該記憶體控制電路進一步經組態以藉由回應於至一個邏輯位址之一寫入作業而將該經壓縮資料寫入至複數個實體位址來執行平均抹寫。
  18. 如請求項13之記憶體裝置,其中該記憶體控制電路進一步經組態以抹除該等部分被程式化之記憶體塊。
  19. 如請求項13之記憶體裝置,其中該記憶體控制電路進一步經組態以讀取該壓縮類型之一指示且回應於該壓縮類型之該指示解壓縮該經壓縮資料。
TW098123243A 2008-07-10 2009-07-09 固態儲存裝置中資料收集及壓縮 TWI446358B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/170,612 US9772936B2 (en) 2008-07-10 2008-07-10 Data collection and compression in a solid state storage device

Publications (2)

Publication Number Publication Date
TW201011774A TW201011774A (en) 2010-03-16
TWI446358B true TWI446358B (zh) 2014-07-21

Family

ID=41506147

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098123243A TWI446358B (zh) 2008-07-10 2009-07-09 固態儲存裝置中資料收集及壓縮

Country Status (7)

Country Link
US (3) US9772936B2 (zh)
EP (1) EP2308057A4 (zh)
JP (1) JP5311081B2 (zh)
KR (1) KR101379048B1 (zh)
CN (1) CN102089828B (zh)
TW (1) TWI446358B (zh)
WO (1) WO2010005791A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681282A (zh) 2006-12-06 2010-03-24 弗森多系统公司(dba弗森-艾奥) 用于共享的、前端、分布式raid的装置、系统和方法
US9772936B2 (en) * 2008-07-10 2017-09-26 Micron Technology, Inc. Data collection and compression in a solid state storage device
KR101487190B1 (ko) * 2008-09-11 2015-01-28 삼성전자주식회사 압축 코덱을 구비한 플래시 메모리 집적 회로
WO2010067361A1 (en) * 2008-12-10 2010-06-17 Amir Ban Method and device of managing a reduced wear memory
KR101649357B1 (ko) 2010-05-10 2016-08-19 삼성전자주식회사 데이터 저장 장치, 그것의 동작 방법, 그리고 그것을 포함한 스토리지 서버
JP5687639B2 (ja) * 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
US10019353B2 (en) * 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
WO2013147819A1 (en) * 2012-03-29 2013-10-03 Intel Corporation Compression-enabled blending of data in non-volatile memory
US9148172B2 (en) * 2012-06-22 2015-09-29 Micron Technology, Inc. Data compression and management
US8704686B1 (en) * 2013-01-03 2014-04-22 International Business Machines Corporation High bandwidth compression to encoded data streams
JP6628124B2 (ja) * 2014-05-30 2020-01-08 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法および受信方法
CN104090730B (zh) * 2014-07-08 2017-02-22 飞天诚信科技股份有限公司 一种对存储设备进行数据读写的方法及装置
JP6650689B2 (ja) * 2015-06-04 2020-02-19 キヤノン株式会社 サムネイル画像作成装置、3次元造形システム
US9858994B2 (en) * 2015-06-18 2018-01-02 Samsung Electronics Co., Ltd. Memory system with MLC memory cells and partial page compression or reduction
US10379772B2 (en) * 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US10614881B2 (en) 2018-08-13 2020-04-07 International Business Machines Corporation Calibration of open blocks in NAND flash memory
US11698758B2 (en) * 2018-12-17 2023-07-11 Micron Technology, Inc. Selective compression circuitry in a memory device
US11481119B2 (en) * 2019-07-15 2022-10-25 Micron Technology, Inc. Limiting hot-cold swap wear leveling
US20230101310A1 (en) * 2021-09-29 2023-03-30 Micron Technology, Inc. Early detection of compression status using inline metadata

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
US5740395A (en) * 1992-10-30 1998-04-14 Intel Corporation Method and apparatus for cleaning up a solid state memory disk storing floating sector data
JP3641280B2 (ja) * 1992-10-30 2005-04-20 インテル・コーポレーション フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法
US5337275A (en) * 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US5586285A (en) * 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5497419A (en) * 1994-04-19 1996-03-05 Prima Facie, Inc. Method and apparatus for recording sensor data
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5802553A (en) * 1995-12-19 1998-09-01 Intel Corporation File system configured to support variable density storage and data compression within a nonvolatile memory
US5943692A (en) * 1997-04-30 1999-08-24 International Business Machines Corporation Mobile client computer system with flash memory management utilizing a virtual address map and variable length data
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6490649B2 (en) 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
JP4050855B2 (ja) * 2000-01-28 2008-02-20 松下電器産業株式会社 ガベージコレクション装置および方法
EP1233522A1 (en) * 2001-02-14 2002-08-21 Siemens Aktiengesellschaft A data compression/decompression method and apparatus
US6735673B2 (en) * 2002-01-10 2004-05-11 Hewlett-Packard Development Company, L.P. Apparatus and methods for cache line compression
US7111142B2 (en) * 2002-09-13 2006-09-19 Seagate Technology Llc System for quickly transferring data
TWI220959B (en) 2003-06-05 2004-09-11 Carry Computer Eng Co Ltd Storage device with optimized compression management mechanism
TWI227409B (en) * 2003-06-05 2005-02-01 Carry Computer Eng Co Ltd Storage device capable of enhancing transmission speed
US7325090B2 (en) * 2004-04-29 2008-01-29 Sandisk Il Ltd. Refreshing data stored in a flash memory
KR20070028534A (ko) * 2004-06-15 2007-03-12 트렉 2000 인터네셔널 엘티디. 호스트로부터 무선 전송된 데이터를 저장하고 호스트로데이터를 무선 전송하기 위한 고체 메모리 저장 장치
US7433994B2 (en) * 2004-12-07 2008-10-07 Ocz Technology Group, Inc. On-device data compression to increase speed and capacity of flash memory-based mass storage devices
US20070005625A1 (en) 2005-07-01 2007-01-04 Nec Laboratories America, Inc. Storage architecture for embedded systems
WO2007005829A2 (en) 2005-07-01 2007-01-11 Nec Laboratories America, Inc. Operating system-based memory compression for embedded systems
JP4533956B2 (ja) * 2005-08-03 2010-09-01 サンディスク コーポレイション フラッシュメモリシステムのデータ記憶容量の解放
US7596657B2 (en) * 2006-01-13 2009-09-29 Paul Kaler Increased storage capacity for solid state disks using data compression
JP2007305210A (ja) * 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
US20070291571A1 (en) * 2006-06-08 2007-12-20 Intel Corporation Increasing the battery life of a mobile computing system in a reduced power state through memory compression
US8219739B2 (en) * 2006-06-30 2012-07-10 Intel Corporation Read-only optimized flash file system architecture
US7843823B2 (en) * 2006-07-28 2010-11-30 Cisco Technology, Inc. Techniques for balancing throughput and compression in a network communication system
EP1939751A1 (en) * 2006-12-22 2008-07-02 Telefonaktiebolaget LM Ericsson (publ) Storing compressed data
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
JP5037952B2 (ja) * 2007-01-15 2012-10-03 株式会社日立製作所 ストレージシステム及びストレージシステムの制御方法
US20080228998A1 (en) * 2007-03-16 2008-09-18 Spansion Llc Memory storage via an internal compression algorithm
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US9772936B2 (en) * 2008-07-10 2017-09-26 Micron Technology, Inc. Data collection and compression in a solid state storage device
US9134918B2 (en) * 2009-12-31 2015-09-15 Sandisk Technologies Inc. Physical compression of data with flat or systematic pattern
US9148172B2 (en) * 2012-06-22 2015-09-29 Micron Technology, Inc. Data compression and management

Also Published As

Publication number Publication date
EP2308057A2 (en) 2011-04-13
WO2010005791A3 (en) 2010-05-06
US9772936B2 (en) 2017-09-26
KR101379048B1 (ko) 2014-03-28
US10691588B2 (en) 2020-06-23
JP2011527807A (ja) 2011-11-04
US20170364438A1 (en) 2017-12-21
CN102089828A (zh) 2011-06-08
WO2010005791A2 (en) 2010-01-14
US20100011150A1 (en) 2010-01-14
US10176091B2 (en) 2019-01-08
US20190108121A1 (en) 2019-04-11
CN102089828B (zh) 2015-07-01
TW201011774A (en) 2010-03-16
KR20110016491A (ko) 2011-02-17
JP5311081B2 (ja) 2013-10-09
EP2308057A4 (en) 2011-09-28

Similar Documents

Publication Publication Date Title
TWI446358B (zh) 固態儲存裝置中資料收集及壓縮
US10402318B2 (en) Mapping table updating method, memory control circuit unit and memory storage device
US11068408B2 (en) Memory system and operating method thereof
JP4834676B2 (ja) オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法
US8363468B2 (en) Semiconductor memory device
US8762629B2 (en) Data conditioning to improve flash memory reliability
US10684796B2 (en) Memory system and operating method thereof
JP2008527586A (ja) オンチップデータのグループ化および整列
US9411721B2 (en) Detecting access sequences for data compression on non-volatile memory devices
US10410738B2 (en) Memory system and control method
TWI597730B (zh) 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
KR20190074886A (ko) 메모리 시스템 및 그것의 동작 방법
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
TWI611410B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
US7310262B2 (en) Ferroelectric memory capable of continuously fast transferring data words in a pipeline
US20240070062A1 (en) Nonvolatile memory, memory system, and control method of nonvolatile memory