TWI514134B - 達成固態硬碟最佳化之移除已刪除資料技術 - Google Patents

達成固態硬碟最佳化之移除已刪除資料技術 Download PDF

Info

Publication number
TWI514134B
TWI514134B TW097113635A TW97113635A TWI514134B TW I514134 B TWI514134 B TW I514134B TW 097113635 A TW097113635 A TW 097113635A TW 97113635 A TW97113635 A TW 97113635A TW I514134 B TWI514134 B TW I514134B
Authority
TW
Taiwan
Prior art keywords
ssd
file
invalid
interface
data
Prior art date
Application number
TW097113635A
Other languages
English (en)
Other versions
TW200900925A (en
Inventor
舒法蘭克J
歐伯爾納森S
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 TW200900925A publication Critical patent/TW200900925A/zh
Application granted granted Critical
Publication of TWI514134B publication Critical patent/TWI514134B/zh

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • 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/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single 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/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

達成固態硬碟最佳化之移除已刪除資料技術
本發明係有關移除已刪除資料(remove-on-delete)之技術以達成固態硬碟最佳化。
固態硬碟(solid state drive,“SSD”)用作具開機能力的大量儲存裝置(bootable mass storage device)係愈來愈經濟。一般將SSD製作成包括快閃記憶體裝置,諸如具有反及閘(NotAND,“NAND”)型裝置的非揮發性快閃記憶體裝置。因此,SSD寫入操作具有與典型硬碟(hard disk drive,“HDD”)不同的考量,其可於光碟上相同物理位置處以有效(新的)資料覆寫無效(經刪除)資料。SSD寫入操作一般包括一頁面導向(page-oriented)合併操作,以合併新的資料及屬於同記憶區塊之已存在資料,並存至一新的記憶體區塊。若已存在資料為無效,此一合併操作可能不必要地影響了SSD之效能。此外,為了可靠性原因,SSD一般執行「均勻抹除(“wear leveling”)」操作,以減少記憶體單元壽命延展降低。此種操作一般將資料由一區塊或頁面移至另一區塊或頁面。若在一頁面上之資料為無效,則針對該頁面之均勻抹除操作可能不必要地影響了SSD之效能,且潛在地降低SSD可靠性。此外,典型檔案系統一般會保留狀態資訊,其指示何資料應被視為刪除(無效)而何資料不視為刪除。但此資料一般未依對應所有資料及資料物理儲存 於儲存裝置之位置之方式,移動至相應的儲存裝置(諸如一HDD或SSD),如同例如一或多邏輯區塊位址。因此,與檔案系統相反,儲存裝置一般無法得知何資料為有效而何資料為無效,且因此一般無法確認無效資料,進而能避免對此種資料進行不必要的操作。
以下將對本發明作一簡化摘要說明,以提供讀者一基礎瞭解。此摘要並非本發明之延伸概要,無意指明本發明之關鍵特微或必要元件,亦無意用來決定本發明之範圍。其唯一目的係要簡單地呈現本發明揭露之某些概念,以作為以下「實施方式」之序言。
所揭露之實例提供了一種技術,用於識別儲存在一固態硬碟(“SSD”)裝置上之資料(其對應關於一刪除事件之資料),且將儲存於SSD上之經刪除資料標示為無效,如此可使該SSD避免對該等無效資料進行不必要的操作。包括了可操作用以傳遞無效資料資訊之複數介面,且其提供移除已刪除(remove-on-delete)命令,該命令提供無效資料資訊以識別相應的SSD資料,進而標示為無效。
隨著參照以下「實施方式」與所附圖示,將更加瞭解本發明且將輕易認知到本發明之諸多特徵。
以下所述「實施方式」及所附圖示,係意圖作為對本 發明實例之描述,而無意將本發明實例限制為僅能依文中所述方式進行建構或使用。於說明中提出了多個實例之至少某些功能,及/或用於建構及操作多個實例的一系列步驟。然而,相同或等效功能及步驟可由不同實例實現。
儘管本發明所描述及示出之實例係在一運算環境中實現,然而所描述之環境僅提供作為一實例而非為一限制條件。本領域之習知技藝人士將認知到,本發明所述實例適合應用於各種不同類型之運算環境。
第1圖為一方塊圖,顯示一習知操作系統110a及介面120a,其介接至一固態硬碟130,以及一新的操作系統110b及介面120b,其介接至該固態硬碟(“SSD”)130。習知操作系統110a包括一範例習知檔案系統112a,其經由習知介面113a耦接至一範例習知SSD驅動器114a。介面113a之一例為一輸入/輸出控制(input/output control,“IOCTL”)介面。檔案系統112a通常管理檔案、文書夾、所有物等資料之提取。資料可為任何類型之數位資訊、可執行指令等。此類資料提取一般被SSD驅動器114a轉換成物理性資料存取及儲存建構,SSD驅動器114a經由介面120a與SSD130互動以儲存及存取SSD130上之資料。介面120a之實例包括高技術配置(advanced technology attachment,“ATA”)介面及小型電腦系統介面(small computer system interface,“SCSI”)等。
範例SSD130為一使用固態記憶體裝置或類似物而製成作為儲存媒體的固態儲存裝置,此點與傳統HDD、軟 碟、光碟等的磁性或光學儲存媒體不同。這些固態記憶體裝置可為快閃記憶體、或任何其它類型或組合之固態記憶體、隨機存取記憶體(“RAM”)等。此類SSD裝置可為開機裝置及可考慮作為主要儲存裝置或大量儲存裝置,如第3圖所描述的相關裝置。此類SSD裝置可為複合SSD裝置,其為包括了複數記憶體類型(每一類型具有不同效能特性或存取速度)的SSD裝置。此處對於SSD裝置之功能或其執行動作之敘述,一般係關聯SSD裝置及/或相應的SSD驅動器,如範例驅動器114a及114b。
在另一實例中,SSD130可為一傳統HDD、光學驅動器、儲存區域網路(storage area network,“SAN”)、磁帶儲存裝置及/或其它具有參照第3圖所描述的大量儲存裝置的任何形式儲存裝置,其可能包括被視為無效之資料。本發明可應用於任何此類儲存裝置、系統、機制等。
考慮以下實例,其描述無效資料一般如何表現於一SSD上。諸如一個人或系統之類的使用者,可透過任何適當介面指示:某些資料(如一檔案)應被刪除。檔案系統一般會修改一永久資料結構以指示該檔案已被刪除,如藉由將該經刪除檔案之一參考自一目錄或類似物中移除。此外,檔案系統可將代表SSD上檔案之資料標示為無效。在一實例中,此包括傳送檔案位置資訊至SSD,該任置資訊經由邏輯區塊定址(logical block addressing,“LBA”)指示該檔案之起始位置,且其後跟著該檔案之長度。
用於描述要刪除資料之LBA或資料位置資訊,其一般 係經由一介面藉由命令傳送至SSD裝置。當接收到該命令及相關資料位置資訊時,SSD及/或其驅動器可將儲存於SSD上對應於經刪除檔案之資料標示成無效。在一習知運算系統中,檔案系統可察覺被刪除的檔案,但SSD卻無法察覺。一典型SSD僅能察覺資料寫入其中及自其讀取資料,而無法分辨有效及無效資料。某些SSD及其相關驅動器可執行某些操作,其會受益於得知儲存於其上之資料為無效。例如,一典型SSD寫入操作具有與一典型硬碟驅動器(“HDD”)不同的考量,其可於光碟上相同物理位置處以有效(新的)資料覆寫無效(經刪除)資料。不像典型HDD,SSD寫入操作一般包括一頁面導向合併操作,意圖合併新的資料及一記憶區塊上之已存在資料,並存至一新的記憶體區塊。若已存在資料為無效,此一合併操作可能不必要地影響了SSD之效能。此外,為了可靠性原因,SSD一般執行「均勻抹除(“wear leveling”)」操作,以減少記憶體單元壽命延展降低。此種操作一般將資料由一記憶體區塊移至另一區塊或類似物。若該頁面及/或區塊資料為無效,則針對該頁面/區塊之均勻抹除操作可能不必要地影響了SSD之效能,且潛在地降低SSD可靠性。
如此處所用,無效資料可為儲存在記憶體位置(如SSD記憶體位置)已被一高層系統(如一檔案系統、驅動器、應用程式等)刪除之資料,或未被使用之資料,或其它類似資料。例如,當一檔案被刪除時,關聯該檔案之資料可視為無效。注意到此類經刪除或無效資料一般未被移除或清 除,僅被歸類成無效。在一實例中,此類無效資料仍然儲存在儲存裝置上,在另一實例中,無效資料可被「垃圾收集(“garbage collected”)」或被移除、覆寫等。未歸類為無效之資料,一般被視為有效。一般情況下,一檔案系統或類似機制知道資料被歸類成有效或無效,此點與SSD不同。
新的範例操作系統110b包括新的範例檔案系統112b,其經由習知介面113b及新的介面140耦接至新的範例SSD驅動器114b。一般來說,元件110b、112b及114b之功能對應於具有類似元件符號「1xxa」的對應習知元件之功能,但已加入本發明所述之新功能。範例檔案系統112b可替代地為一應用程式或等同物,以具體實現檔案系統功能。
檔案系統112b使用新介面140,以傳送無效資料資訊至SSD驅動器114b。此類無效資料資訊可包括檔案位置資訊及大小資訊。介面140使檔案系統112b可憑藉該等無效資料資訊,正確指示予SSD驅動器:儲存於SSD130上的資料何者為無效。在一實例中,介面140為一新的IOCTL命令,在另一實例中,介面140為一已存在IOCTL命令之擴充。介面140可符合任何適用於耦接一檔案系統及一SSD驅動器而可傳送無效資料資訊之形式及/或結構。此外,介面140亦可使檔案系統112b可指示予SSD驅動器114b:正寫入SSD130之有效資料為有效,而使得儲存於SSD130上之有效資料不會被標示為無效。
在一實例中,介面120b符合一ATA介面,其具有額 外功能可傳送無效資料資訊。且在另一實例中,介面120b符合一SCSI介面,其具有額外功能可傳送無效資料資訊。介面120b可符合任何適用於耦接一SSD驅動器及一SSD裝置而可傳送無效資料資訊之形式及/或結構。
在特定無效資料資訊情況下,SSD驅動器114b一般經由介面120b與SSD130進行互動,以依據該等無效資料資訊將適當資料、區塊、頁面等標示為無效。因此,寫入合併操作、均勻抹除操作及類似操作可正常執行,而毋需對無效資料進行不必要的操作。此外,最佳化操作可於被標示為含有無效資料之SSD區塊、頁面及等同物上執行。
第2圖為一區塊圖,其顯示一移除已刪除資料之方法200範例。此一方法可將已刪除SSD資料標示為無效,或稱為「移除已刪除資料(“remove-on-delete”)」。因此無效或經移除資料自被一SSD裝置視為有效之資料中移除。如此一來一SSD裝置無需執行任何操作來保存或保留此類資料。
區塊210指示一刪除事件,其影響儲存於一SSD裝置上之資料。此一刪除事件實例為一檔案刪除操作,其由一檔案系統執行,其中該被刪除檔案目前儲存在一SSD裝置上。在另一實例中,任何系統或機制可執行一刪除操作,其顯響儲存在一SSD裝置上之資料。典型地,一對應SSD裝置之SSD驅動器接收及/或偵測該刪除事件。方法200一般接著執行區塊220。
區塊220指示識別儲存於SSD裝置上之哪些資料係對 應於被刪除之資料。在一實例中,此包括將被刪除之檔案之資料映射至儲存於一SSD上之相應資料。此映射產生無效資料資訊,其可識別儲存於SSD上之資料何者需標示成無效。此映射可由執行刪除操作之系統來執行。無效資料資訊可識別儲存於SSD上對應於被刪除檔案且被標示為無效之確切資料。此資料可作為頁面、區塊或等同物被儲存於SSD上。一旦識別對應於刪除操作且儲存於SSD上之無效資料,方法200一般接著執行區塊230。
區塊230指示一移除已刪除資料(remove-on-delete)命令。此命令一般包括無效資料資訊,並命令SSD裝置及/或其驅動器將所指示的資料標示為無效。在一實例中,此一命令係由執行刪除操作之系統所發出,如一檔案系統。一旦發出移除已刪除資料命令,方法200一般接著繼續執行區塊240。
區塊240指示將已刪除資料標示為無效。此一標示可為任何形式,只能識別SSD裝置上之無效資料。此標示可包括將頁面及/或區塊或等同物標示為無效,視SSD建構其資料之方式而定。或者,此標示可包括將一範圍中無效資料移至一無效資料表單或等同物。一旦被刪除資料被標示為無效,SSD裝置即無需執行任何操作來保存、保留(或類似動作)無效資料。注意到資料係被視為由一高層系統(如一檔案系統)刪除,且注意到相應的資料現在已於SSD上標示為無效,使得SSD可將相應的資料確認為無效。例如,若檔案系統刪除檔案“foo.bar”,則儲存於SSD上包 含檔案foo.bar之所有資料將被標示為無效。資訊一詞亦可指資料。一旦將刪除的資料標示為無效,方法200一般即完成。
第3圖為一方塊圖,其顯示一範例運算環境300,其可實施本發明所述技術。一合適的運算環境可利用多種一般目的或特定目的系統來實現。習知系統實例包括(但不限於)行動電話、個人數位助理(“PDA”)、個人電腦(“PC”)、手持或膝上裝置、微處理器系統、多重處理器系統、伺服器、工作站、消費性電子裝置、機上盒等。
運算環境300一般包括一運算裝置301形式之通用目的運算系統,其耦接至諸如週邊裝置302、303、304之類的各種組件。系統300可經由一或多輸入/輸出(“I/O”)介面312耦接至其它各種不同的組件,如輸入裝置303,包括聲音辨識、觸控板、按鈕、鍵盤及/或指向裝置(如滑鼠或軌跡球)。運算裝置301可包括一或多處理器(包括中央處理單元(“CPU”)、圖形處理單元(“GPU”))、微處理器(“μp”)等)307、系統記憶體309及一系統匯流排308(其一般耦接各種組件)。處理器307一般處理或執行各種電腦可執行指令,以控制運算裝置301之操作,且經由各種通訊連結(如一網路連結314等)與其它電子及/或運算裝置、系統或環境(未示出)進行通訊。系統匯流排308代表任意數目的數種匯流排結構,包括記憶體匯流排或記憶體控制器、週邊匯流排、序列匯流排、加進圖形埠、使用多種匯流排結構中任一結構的處理器或區域匯流排等。
系統記憶體309可包括揮發性記憶體形式之電腦可讀媒體,如隨機存取記憶體(“RAM”),及/或非揮發性記憶體形式之電腦可讀媒體,如唯讀記憶體(“ROM”)或快閃記憶體(“FLASH”)。一基礎輸入/輸出系統(“BIOS”)可儲存於非揮發或類似記憶體。系統記憶體309一般儲存資料、電腦可執行指令及/或程式模組(其包含可立即由多個處理器307中之一或多者存取或於其上執行之電腦可執行指令)。
大量儲存裝置304及310可耦接至運算裝置301,或可經由耦接至系統匯流排及/或一儲存匯流排等併入運算裝置301。此大量儲存裝置304及310可包括非揮發性RAM、一磁碟驅動器其讀取或寫入可抽換、非揮發性磁碟(例如一「軟碟」)305、及/或一光碟驅動器其讀取或寫入非揮發性光碟(如CD ROM、DVD ROM)306。或者,一大量儲存裝置(如硬碟)310可包括不可抽換儲存媒體。其它大量儲存裝置可包括記憶卡、記憶棒及磁帶儲存裝置等。
任意數量的電腦程式、檔案、資料結構等可儲存於大量儲存裝置310、其它儲存裝置304、305、306及系統記憶體309(一般被可用空間所限制),其包括(舉例說明而不具限制性)作業系統、應用程式、資料檔案、目錄結構、電腦可執行指令等。
輸出組件或裝置(如顯示裝置302)一般可經由一介面(如一顯示適配器311)耦接至運算裝置301。輸出裝置302可為一液晶顯示(liquid crystal display,“LCD”)。其它範例輸出裝置可包括印表機、音頻輸出、聲音輸出、陰極射線 管(cathode ray tube,“CRT”)顯示、觸覺裝置或其它感測輸出機制等。輸出裝置可使運算裝置301可與人類操作者或其它機械、系統、運算環境等進行互動。使用者可透過任意數量之不同I/O裝置303(如觸控板、按鈕、鍵盤、滑鼠、遊戲搖桿、遊戲板、資料埠等)與運算環境300進行互動。這些及其它I/O裝置可經由耦接至系統匯流排308之I/O介面312而耦接至處理器307,或者藉由其它介面及匯流排結構進行耦接,如藉由平行埠、遊戲埠、通用序列匯流排(“USB”)、火線、紅外線(infrared,“IR”)埠等。
運算裝置301可經由透過一或多行動網路、無線網路、區域網路(“LAN”)、廣域網路(“WAN”)、儲存區域網路(storage area network,“SAN”)、網際網路、無線電連結、光學連結等與一或多遠端運算裝置進行通訊連結,而操作於網路環境。運算裝置301可經由網路適配器313或類似元件耦接至一網路,或者亦可經由一數據機、數位用戶線路(digital subscriber line,“DSL”)、整合服務數位網路(integrated services digital network,“ISDN”)連結、網際網路連結、無線連結等耦接至一網路。
通訊連結314(如一網路連結)一般促進耦接至通訊媒體,如一網路。通訊媒體一般提供電腦可讀及電腦可執行指令、資料結構、檔案、程式模組及其它使用調變資料訊號之資料(如一負載波或其它傳輸機制)。術語「調變資料訊號」是指一訊號,其複數特徵中一或多個特征以某種方式設定或變化,以將資訊編碼到該訊號中。舉例來說(而非 限制),通訊媒體包括有線媒體(如有線網路或直接線路連線等),以及無線媒體(像是聲波、RF、紅外線或其它無線通訊機制)。
電源390(如電池或電力供應)一般提供電力予運算環境300之多部分或所有部分。若運算環境300為行動裝置或可攜式裝置等類似裝置,則電源390可為一電池。或者,若運算環境300為一桌上型電腦或伺服器等類似裝置,則電源390可為一設計用於連結至交流電流(“AC”)的電力供應,如經由牆上電源插座。
某些行動裝置可不包括第3圖所描述的諸多相關組件。例如,一電子證章(electronic badge)可由一線圈及一簡易處理單元307等組成,當鄰近一讀卡裝置或類似物時該線圈係組態作為電源。此一線圈亦可經組態作為一天線耦接至處理單元307或類似物,此線圈天線能夠促進電子證章與讀卡裝置間之連結。此連結不涉及網路,但可經由遙測技術、點對點、RF、IR、音頻或其它方式作為一通用或特定目的連結。一電子卡可不包括顯示302、I/O裝置303或其它第3圖所述相關組件中之許多組件。其它模組裝置可不包括第3圖所述相關組件中之許多組件。舉例說明但不具限制性,其它模組裝置可包括電子手環、電子標籤、植入式裝置等。
本領域之熟習技藝人士將瞭解到,用於提供電腦可讀及電腦可執行指令及資料之儲存裝置,其可分佈於一網路中。例如,一遠端電腦或儲存裝置可儲存軟體應用及資料 形式之電腦可讀及電腦可執行指令。一本機電腦可經由網路存取遠端電腦或儲存裝置,並下載部分或全部之軟體應用或資料,且可執行任何電腦可執行指令。或者,本機電腦依需要可下載軟體或資料片段,或以在本機電腦上執行某些指令及在遠端電腦及/或裝置上執行某些指令的方式,來分佈式處理軟體。
本領域之熟習技藝人士亦將瞭解到,藉由使用習知技術,全部或一部分軟體之電腦可執行指令可由一專用電路承載,如一數位訊號處理器(digital signal processor,“DSP”)、可程式化邏輯陣列(programmable logic array,“PLA”)、離散電路或類似電路。「電子設備」一詞可包括運算裝置或消費性電子裝置(包括任何軟體、韌體等),或電子裝置或電路(不包括軟體、韌體等)。
「韌體」一詞,一般係指維持於一電子裝置(如ROM等)中之可執行指令、程式碼、資料、應用程式、軟體、程式等。「軟體」一詞,一般係指維持於任何形式之電腦可讀媒體中或維持於其上之可執行指令、程式碼、資料、驅動器、應用程式、程式等。「電腦可讀媒體」一詞,一般係指系統記憶體、儲存裝置及其相關媒體等。
本發明原理及前述實例可應用至許多可能的具體實施例上,且應認知此處所述實例僅為例示性,不應視為本發明範圍之限制條件。因此,本發明包含以下申請專利範圍內的所有具體實施例及其任何均等物。
110a‧‧‧作業系統
110b‧‧‧作業系統
112a‧‧‧檔案系統
112b‧‧‧檔案系統
113a‧‧‧介面
113b‧‧‧介面
114a‧‧‧SSD驅動器
114b‧‧‧SSD驅動器
120a‧‧‧介面
120b‧‧‧介面
130‧‧‧SSD
300‧‧‧運算環境
301‧‧‧運算裝置
302‧‧‧顯示裝置
303‧‧‧I/O裝置
304‧‧‧儲存裝置
305‧‧‧磁碟
306‧‧‧光碟
307‧‧‧處理器
308‧‧‧系統匯流排
309‧‧‧系統記憶體
310‧‧‧大量儲存裝置
311‧‧‧顯示適配器
312‧‧‧I/O介面
313‧‧‧網路適配器
314‧‧‧通訊連結
390‧‧‧電源
依據以上「實施方式」之說明及所附圖示,將可更加瞭解本發明,所附圖示中:第1圖為一方塊圖,其顯示一習知操作系統及介面介接至一固態硬碟,以及一新的操作系統及介面接至該固態硬碟。
第2圖為一方塊圖,其顯示一移除已刪除資料之方法例。
第3圖為一方塊圖,其顯示一運算環境例,其中可實現本發明所述技術。
在所附圖示中,相同元件符號係用於指示相同元件。
110a‧‧‧作業系統
110b‧‧‧作業系統
112a‧‧‧檔案系統
112b‧‧‧檔案系統
113a‧‧‧介面
113b‧‧‧介面
114a‧‧‧SSD驅動器
114b‧‧‧SSD驅動器
120a‧‧‧介面
120b‧‧‧介面
130‧‧‧SSD

Claims (15)

  1. 一種用於將儲存於一固態硬碟(solid state drive,“SSD”)上之資料標示為無效之系統,至少包含:一SSD驅動器,其經由一第一介面耦接至一檔案系統,其中該第一介面包括一命令介面,該命令介面可操作用以將無效資料資訊自該檔案系統傳輸至該SSD驅動器,且其中該無效資料資訊識別儲存於該SSD上對應於由該檔案系統所刪除之資訊之資料,其中所刪除之該資訊為一檔案;及一第二介面,其可操作用以耦接該SSD驅動器至該SSD,進而使該SSD將儲存於該SSD上對應於由該檔案系統所刪除之該資訊之該資料標示為無效,該第二介面可操作以傳送檔案位置資訊至該SSD,該檔案位置資訊經由邏輯區塊定址(logical block addressing,“LBA”)來指示該檔案的起始位置以及其後跟隨之該檔案的長度。
  2. 如申請專利範圍第1項所述之系統,其中該命令介面係實現為一新的輸入-輸出控制(input-ouput control,“IOCTL”)命令。
  3. 如申請專利範圍第1項所述之系統,其中該命令介面係實現為一輸入-輸出控制(“IOCTL”)命令之擴充。
  4. 如申請專利範圍第1項所述之系統,其中將儲存於該SSD上之資料標示為無效之步驟,使該SSD能夠避免對無效資料進行不必要的操作。
  5. 如申請專利範圍第4項所述之系統,其中使該SSD能夠避免對無效資料進行不必要的操作之步驟,更涉及該SSD驅動器之操作。
  6. 如申請專利範圍第1項所述之系統,其中該第二介面為一高技術配置(advanced technology attachment,“ATA”)介面。
  7. 如申請專利範圍第1項所述之系統,其中該第二介面為一小型電腦系統介面(small computer system interface,“SCSI”)。
  8. 如申請專利範圍第1項所述之系統,其中儲存於該SSD上對應於未被該檔案系統刪除之資訊之有效資料,並未於該SSD上被標示為無效資料。
  9. 一種將儲存於一固態硬碟(“SSD”)上之資料標示為無效 之方法,該方法至少包含以下步驟:接收一事件,該事件指示資訊被刪除,其中被刪除的該資訊為一檔案;識別儲存於該SSD上對應於被刪除的該資訊的資料;及命令該SSD將所識別的該資料標示為無效,包含傳送檔案位置資訊至該SSD,該檔案位置資訊經由邏輯區塊定址(“LBA”)來指示該檔案的起始位置以及其後跟隨之該檔案的長度。
  10. 如申請專利範圍第9項所述之方法,其中該事件係接收自一檔案系統。
  11. 如申請專利範圍第9項所述之方法,其中該事件係經由一輸入-輸出控制(“IOCTL”)命令接收得。
  12. 如申請專利範圍第9項所述之方法,其中該命令步驟係經由一高技術配置(“ATA”)介面來執行。
  13. 如申請專利範圍第9項所述之方法,其中該命令步驟係經由一小型電腦系統介面(“SCSI”)來執行。
  14. 如申請專利範圍第9項所述之方法,其中將所識別的該 資料標示為無效,使該SSD能夠避免對無效資料進行不必要的操作。
  15. 一種電腦可讀媒體,其包括電腦可讀指令,該等電腦可讀指令實現一種方法,該方法將儲存於一固態硬碟(“SSD”)上之資料標示為無效,該方法包括以下步驟:接收一事件,該事件指示資訊被刪除,其中被刪除的該資訊為一檔案;識別儲存於該SSD上對應於被刪除的該資訊的資料;及命令該SSD將所識別的該資料標示為無效,包含傳送檔案位置資訊至該SSD,該檔案位置資訊經由邏輯區塊定址(“LBA”)來指示該檔案的起始位置以及其後跟隨之該檔案的長度。
TW097113635A 2007-04-19 2008-04-15 達成固態硬碟最佳化之移除已刪除資料技術 TWI514134B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91272807P 2007-04-19 2007-04-19
US12/030,193 US9207876B2 (en) 2007-04-19 2008-02-12 Remove-on-delete technologies for solid state drive optimization

Publications (2)

Publication Number Publication Date
TW200900925A TW200900925A (en) 2009-01-01
TWI514134B true TWI514134B (zh) 2015-12-21

Family

ID=39873400

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097113635A TWI514134B (zh) 2007-04-19 2008-04-15 達成固態硬碟最佳化之移除已刪除資料技術

Country Status (9)

Country Link
US (4) US9207876B2 (zh)
EP (1) EP2135167B1 (zh)
JP (1) JP2010525453A (zh)
KR (1) KR20100015506A (zh)
CN (2) CN106293517B (zh)
BR (1) BRPI0809287B1 (zh)
RU (1) RU2456664C2 (zh)
TW (1) TWI514134B (zh)
WO (1) WO2008130799A1 (zh)

Families Citing this family (249)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719501B2 (en) 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US20080140724A1 (en) 2006-12-06 2008-06-12 David Flynn Apparatus, system, and method for servicing object requests within a storage controller
US8935302B2 (en) 2006-12-06 2015-01-13 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8261030B2 (en) * 2008-11-18 2012-09-04 Microsoft Corporation Using delete notifications to free related storage resources
US8255641B2 (en) * 2008-11-18 2012-08-28 Microsoft Corporation Modifying delete notifications in a storage stack
US8156300B2 (en) * 2008-11-18 2012-04-10 Microsoft Corporation Delete notifications for an entire storage volume
US20100185806A1 (en) * 2009-01-16 2010-07-22 Arvind Pruthi Caching systems and methods using a solid state disk
US20100185843A1 (en) * 2009-01-20 2010-07-22 Microsoft Corporation Hardware encrypting storage device with physically separable key storage device
MX2011010822A (es) 2009-04-21 2011-10-28 Internat Bussines Machines Corp Aparato y metodo para controlar un dispositivo de disco de estado solido (ssd).
US8402069B2 (en) 2009-05-04 2013-03-19 Microsoft Corporation Use of delete notifications by file systems and applications to release storage space
US9881039B2 (en) * 2009-05-26 2018-01-30 International Business Machines Corporation Rebalancing operation using a solid state memory device
US9330282B2 (en) * 2009-06-10 2016-05-03 Microsoft Technology Licensing, Llc Instruction cards for storage devices
US8321956B2 (en) 2009-06-17 2012-11-27 Microsoft Corporation Remote access control of storage devices
US8478799B2 (en) 2009-06-26 2013-07-02 Simplivity Corporation Namespace file system accessing an object store
US9122579B2 (en) 2010-01-06 2015-09-01 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for a storage layer
WO2011031903A2 (en) 2009-09-09 2011-03-17 Fusion-Io, Inc. Apparatus, system, and method for allocating storage
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8429436B2 (en) 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
JP2011090496A (ja) * 2009-10-22 2011-05-06 Hitachi Ltd 半導体記憶装置および制御方法
US8638010B2 (en) * 2010-02-17 2014-01-28 Integrated Device Technology, Inc. Systems, devices, and methods for providing backup power to a load
US8316176B1 (en) 2010-02-17 2012-11-20 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification
US8725931B1 (en) 2010-03-26 2014-05-13 Western Digital Technologies, Inc. System and method for managing the execution of memory commands in a solid-state memory
US8782327B1 (en) 2010-05-11 2014-07-15 Western Digital Technologies, Inc. System and method for managing execution of internal commands and host commands in a solid-state memory
US9026716B2 (en) 2010-05-12 2015-05-05 Western Digital Technologies, Inc. System and method for managing garbage collection in solid-state memory
WO2011143628A2 (en) 2010-05-13 2011-11-17 Fusion-Io, Inc. Apparatus, system, and method for conditional and atomic storage operations
US8521972B1 (en) 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
EP2598996B1 (en) 2010-07-28 2019-07-10 SanDisk Technologies LLC Apparatus, system, and method for conditional and atomic storage operations
US8661189B2 (en) * 2010-08-31 2014-02-25 Apple Inc. Systems and methods for trimming logical block addresses corresponding to a data structure residing in non-volatile memory
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US12008266B2 (en) 2010-09-15 2024-06-11 Pure Storage, Inc. Efficient read by reconstruction
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US9164886B1 (en) 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9021192B1 (en) 2010-09-21 2015-04-28 Western Digital Technologies, Inc. System and method for enhancing processing of memory access requests
KR101893897B1 (ko) * 2010-10-29 2018-08-31 삼성전자주식회사 메모리 시스템 및 사용자 장치 그리고 그것의 데이터 관리 방법
TWI579692B (zh) * 2010-10-29 2017-04-21 三星電子股份有限公司 記憶體系統、資料儲存系統、使用者裝置及其資料管理方法
JP2012118739A (ja) 2010-11-30 2012-06-21 Toshiba Corp 記憶装置、及び制御方法
US8527693B2 (en) 2010-12-13 2013-09-03 Fusion IO, Inc. Apparatus, system, and method for auto-commit memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
WO2012083308A2 (en) 2010-12-17 2012-06-21 Fusion-Io, Inc. Apparatus, system, and method for persistent data management on a non-volatile storage media
US9213594B2 (en) 2011-01-19 2015-12-15 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing out-of-service conditions
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US9563555B2 (en) 2011-03-18 2017-02-07 Sandisk Technologies Llc Systems and methods for storage allocation
WO2012129191A2 (en) 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
GB2489405B (en) * 2011-03-22 2018-03-07 Advanced Risc Mach Ltd Encrypting and storing confidential data
JP5405513B2 (ja) 2011-03-22 2014-02-05 株式会社東芝 メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム
US9189392B1 (en) 2011-06-30 2015-11-17 Western Digital Technologies, Inc. Opportunistic defragmentation during garbage collection
US9158670B1 (en) 2011-06-30 2015-10-13 Western Digital Technologies, Inc. System and method for dynamically adjusting garbage collection policies in solid-state memory
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8819375B1 (en) 2011-11-30 2014-08-26 Western Digital Technologies, Inc. Method for selective defragmentation in a data storage device
US9274937B2 (en) 2011-12-22 2016-03-01 Longitude Enterprise Flash S.A.R.L. Systems, methods, and interfaces for vector input/output operations
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US8949512B2 (en) 2012-02-17 2015-02-03 Apple Inc. Trim token journaling
JP5659178B2 (ja) 2012-03-16 2015-01-28 株式会社東芝 不揮発性記憶装置及び不揮発性メモリの制御方法
US9774676B2 (en) 2012-05-21 2017-09-26 Google Inc. Storing and moving data in a distributed storage system
US9449006B2 (en) * 2012-06-04 2016-09-20 Google Inc. Method and system for deleting obsolete files from a file system
US8788778B1 (en) 2012-06-04 2014-07-22 Western Digital Technologies, Inc. Garbage collection based on the inactivity level of stored data
US9230000B1 (en) 2012-06-04 2016-01-05 Google Inc. Pipelining Paxos state machines
US9298576B2 (en) 2012-06-04 2016-03-29 Google Inc. Collecting processor usage statistics
WO2013184712A2 (en) 2012-06-04 2013-12-12 Google Inc. Systems and methods of increasing database access concurrency using granular timestamps
US9659038B2 (en) 2012-06-04 2017-05-23 Google Inc. Efficient snapshot read of a database in a distributed storage system
US9195611B2 (en) 2012-06-04 2015-11-24 Google Inc. Efficiently updating and deleting data in a data storage system
JP5586718B2 (ja) 2012-06-19 2014-09-10 株式会社東芝 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
US8984267B2 (en) 2012-09-30 2015-03-17 Apple Inc. Pinning boot data for faster boot
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9032264B2 (en) 2013-03-21 2015-05-12 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US9842128B2 (en) 2013-08-01 2017-12-12 Sandisk Technologies Llc Systems and methods for atomic storage operations
US9304685B2 (en) 2013-09-10 2016-04-05 Kabushiki Kaisha Toshiba Storage array system and non-transitory recording medium storing control program
US10019320B2 (en) 2013-10-18 2018-07-10 Sandisk Technologies Llc Systems and methods for distributed atomic storage operations
US10073630B2 (en) 2013-11-08 2018-09-11 Sandisk Technologies Llc Systems and methods for log coordination
SG11201608791UA (en) 2014-04-23 2016-11-29 Ensconce Data Technology Llc Method for completing a secure erase operation
US9003144B1 (en) 2014-06-04 2015-04-07 Pure Storage, Inc. Mechanism for persisting messages in a storage system
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9836234B2 (en) 2014-06-04 2017-12-05 Pure Storage, Inc. Storage cluster
US9213485B1 (en) 2014-06-04 2015-12-15 Pure Storage, Inc. Storage system architecture
US11068363B1 (en) 2014-06-04 2021-07-20 Pure Storage, Inc. Proactively rebuilding data in a storage cluster
US10574754B1 (en) 2014-06-04 2020-02-25 Pure Storage, Inc. Multi-chassis array with multi-level load balancing
US11652884B2 (en) 2014-06-04 2023-05-16 Pure Storage, Inc. Customized hash algorithms
US9367243B1 (en) 2014-06-04 2016-06-14 Pure Storage, Inc. Scalable non-uniform storage sizes
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US8850108B1 (en) 2014-06-04 2014-09-30 Pure Storage, Inc. Storage cluster
US11960371B2 (en) 2014-06-04 2024-04-16 Pure Storage, Inc. Message persistence in a zoned system
US10114757B2 (en) 2014-07-02 2018-10-30 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9836245B2 (en) 2014-07-02 2017-12-05 Pure Storage, Inc. Non-volatile RAM and flash memory in a non-volatile solid-state storage
US11604598B2 (en) 2014-07-02 2023-03-14 Pure Storage, Inc. Storage cluster with zoned drives
US9021297B1 (en) 2014-07-02 2015-04-28 Pure Storage, Inc. Redundant, fault-tolerant, distributed remote procedure call cache in a storage system
US11886308B2 (en) 2014-07-02 2024-01-30 Pure Storage, Inc. Dual class of service for unified file and object messaging
US8868825B1 (en) 2014-07-02 2014-10-21 Pure Storage, Inc. Nonrepeating identifiers in an address space of a non-volatile solid-state storage
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
US9747229B1 (en) * 2014-07-03 2017-08-29 Pure Storage, Inc. Self-describing data format for DMA in a non-volatile solid-state storage
US8874836B1 (en) 2014-07-03 2014-10-28 Pure Storage, Inc. Scheduling policy for queues in a non-volatile solid-state storage
US10853311B1 (en) 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9483346B2 (en) 2014-08-07 2016-11-01 Pure Storage, Inc. Data rebuild on feedback from a queue in a non-volatile solid-state storage
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9082512B1 (en) 2014-08-07 2015-07-14 Pure Storage, Inc. Die-level monitoring in a storage cluster
US10983859B2 (en) 2014-08-07 2021-04-20 Pure Storage, Inc. Adjustable error correction based on memory health in a storage unit
US9766972B2 (en) 2014-08-07 2017-09-19 Pure Storage, Inc. Masking defective bits in a storage array
US10079711B1 (en) 2014-08-20 2018-09-18 Pure Storage, Inc. Virtual file server with preserved MAC address
CN104731839B (zh) * 2014-10-08 2018-04-27 记忆科技(深圳)有限公司 一种ssd的前端数据管理加速的方法及一种ssd设备
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
US9948615B1 (en) 2015-03-16 2018-04-17 Pure Storage, Inc. Increased storage unit encryption based on loss of trust
US11294893B2 (en) 2015-03-20 2022-04-05 Pure Storage, Inc. Aggregation of queries
US9940234B2 (en) 2015-03-26 2018-04-10 Pure Storage, Inc. Aggressive data deduplication using lazy garbage collection
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US9672125B2 (en) 2015-04-10 2017-06-06 Pure Storage, Inc. Ability to partition an array into two or more logical arrays with independently running software
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
US9817576B2 (en) 2015-05-27 2017-11-14 Pure Storage, Inc. Parallel update to NVRAM
US10846275B2 (en) 2015-06-26 2020-11-24 Pure Storage, Inc. Key management in a storage device
US10983732B2 (en) 2015-07-13 2021-04-20 Pure Storage, Inc. Method and system for accessing a file
US11232079B2 (en) 2015-07-16 2022-01-25 Pure Storage, Inc. Efficient distribution of large directories
US10108355B2 (en) 2015-09-01 2018-10-23 Pure Storage, Inc. Erase block state detection
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US10762069B2 (en) 2015-09-30 2020-09-01 Pure Storage, Inc. Mechanism for a system where data and metadata are located closely together
US9768953B2 (en) 2015-09-30 2017-09-19 Pure Storage, Inc. Resharing of a split secret
US10853266B2 (en) 2015-09-30 2020-12-01 Pure Storage, Inc. Hardware assisted data lookup methods
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US9880780B2 (en) * 2015-11-30 2018-01-30 Samsung Electronics Co., Ltd. Enhanced multi-stream operations
US10007457B2 (en) 2015-12-22 2018-06-26 Pure Storage, Inc. Distributed transactions with token-associated execution
US10235079B2 (en) 2016-02-03 2019-03-19 Toshiba Memory Corporation Cooperative physical defragmentation by a file system and a storage device
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US11861188B2 (en) 2016-07-19 2024-01-02 Pure Storage, Inc. System having modular accelerators
US11449232B1 (en) 2016-07-22 2022-09-20 Pure Storage, Inc. Optimal scheduling of flash operations
US9672905B1 (en) 2016-07-22 2017-06-06 Pure Storage, Inc. Optimize data protection layouts based on distributed flash wear leveling
US10768819B2 (en) 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
US11080155B2 (en) 2016-07-24 2021-08-03 Pure Storage, Inc. Identifying error types among flash memory
US11604690B2 (en) 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
US10216420B1 (en) 2016-07-24 2019-02-26 Pure Storage, Inc. Calibration of flash channels in SSD
US10366004B2 (en) 2016-07-26 2019-07-30 Pure Storage, Inc. Storage system with elective garbage collection to reduce flash contention
US11734169B2 (en) 2016-07-26 2023-08-22 Pure Storage, Inc. Optimizing spool and memory space management
US11886334B2 (en) 2016-07-26 2024-01-30 Pure Storage, Inc. Optimizing spool and memory space management
US11797212B2 (en) 2016-07-26 2023-10-24 Pure Storage, Inc. Data migration for zoned drives
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US11422719B2 (en) 2016-09-15 2022-08-23 Pure Storage, Inc. Distributed file deletion and truncation
US10545861B2 (en) 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US12039165B2 (en) 2016-10-04 2024-07-16 Pure Storage, Inc. Utilizing allocation shares to improve parallelism in a zoned drive storage system
US9747039B1 (en) 2016-10-04 2017-08-29 Pure Storage, Inc. Reservations over multiple paths on NVMe over fabrics
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US11307998B2 (en) 2017-01-09 2022-04-19 Pure Storage, Inc. Storage efficiency of encrypted host system data
US10452532B2 (en) * 2017-01-12 2019-10-22 Micron Technology, Inc. Directed sanitization of memory
US11955187B2 (en) 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US9747158B1 (en) 2017-01-13 2017-08-29 Pure Storage, Inc. Intelligent refresh of 3D NAND
US10979223B2 (en) 2017-01-31 2021-04-13 Pure Storage, Inc. Separate encryption for a solid-state drive
CN114089915B (zh) * 2017-03-27 2022-12-20 珠海极海半导体有限公司 基于flash存储器的文件追加写操作方法及装置
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11016667B1 (en) 2017-04-05 2021-05-25 Pure Storage, Inc. Efficient mapping for LUNs in storage memory with holes in address space
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10141050B1 (en) 2017-04-27 2018-11-27 Pure Storage, Inc. Page writes for triple level cell flash memory
US10516645B1 (en) 2017-04-27 2019-12-24 Pure Storage, Inc. Address resolution broadcasting in a networked device
US11467913B1 (en) 2017-06-07 2022-10-11 Pure Storage, Inc. Snapshots with crash consistency in a storage system
US11782625B2 (en) 2017-06-11 2023-10-10 Pure Storage, Inc. Heterogeneity supportive resiliency groups
US11947814B2 (en) 2017-06-11 2024-04-02 Pure Storage, Inc. Optimizing resiliency group formation stability
US11138103B1 (en) 2017-06-11 2021-10-05 Pure Storage, Inc. Resiliency groups
US10425473B1 (en) 2017-07-03 2019-09-24 Pure Storage, Inc. Stateful connection reset in a storage cluster with a stateless load balancer
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10877827B2 (en) 2017-09-15 2020-12-29 Pure Storage, Inc. Read voltage optimization
US10210926B1 (en) 2017-09-15 2019-02-19 Pure Storage, Inc. Tracking of optimum read voltage thresholds in nand flash devices
KR102271502B1 (ko) 2017-10-25 2021-07-01 삼성전자주식회사 메모리 장치 및 그 제어 방법
US11024390B1 (en) 2017-10-31 2021-06-01 Pure Storage, Inc. Overlapping RAID groups
US12032848B2 (en) 2021-06-21 2024-07-09 Pure Storage, Inc. Intelligent block allocation in a heterogeneous storage system
US10496330B1 (en) 2017-10-31 2019-12-03 Pure Storage, Inc. Using flash storage devices with different sized erase blocks
US11354058B2 (en) 2018-09-06 2022-06-07 Pure Storage, Inc. Local relocation of data stored at a storage device of a storage system
US12067274B2 (en) 2018-09-06 2024-08-20 Pure Storage, Inc. Writing segments and erase blocks based on ordering
US10545687B1 (en) 2017-10-31 2020-01-28 Pure Storage, Inc. Data rebuild when changing erase block sizes during drive replacement
US11520514B2 (en) 2018-09-06 2022-12-06 Pure Storage, Inc. Optimized relocation of data based on data characteristics
US10515701B1 (en) 2017-10-31 2019-12-24 Pure Storage, Inc. Overlapping raid groups
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
US10929053B2 (en) 2017-12-08 2021-02-23 Pure Storage, Inc. Safe destructive actions on drives
US10719265B1 (en) 2017-12-08 2020-07-21 Pure Storage, Inc. Centralized, quorum-aware handling of device reservation requests in a storage system
US10929031B2 (en) 2017-12-21 2021-02-23 Pure Storage, Inc. Maximizing data reduction in a partially encrypted volume
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US10733053B1 (en) 2018-01-31 2020-08-04 Pure Storage, Inc. Disaster recovery for high-bandwidth distributed archives
US10976948B1 (en) 2018-01-31 2021-04-13 Pure Storage, Inc. Cluster expansion mechanism
FR3077892B1 (fr) * 2018-02-15 2023-12-22 Idemia Système et procédé d'enregistrement d'une transaction associée à une mémoire non volatile orientée page
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US12001688B2 (en) 2019-04-29 2024-06-04 Pure Storage, Inc. Utilizing data views to optimize secure data access in a storage system
US10853146B1 (en) 2018-04-27 2020-12-01 Pure Storage, Inc. Efficient data forwarding in a networked device
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
US12079494B2 (en) 2018-04-27 2024-09-03 Pure Storage, Inc. Optimizing storage system upgrades to preserve resources
US10931450B1 (en) 2018-04-27 2021-02-23 Pure Storage, Inc. Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
CN108920386B (zh) * 2018-07-20 2020-06-26 中兴通讯股份有限公司 面向非易失性内存的磨损均衡及访问方法、设备和存储介质
US11438279B2 (en) 2018-07-23 2022-09-06 Pure Storage, Inc. Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
US11500570B2 (en) 2018-09-06 2022-11-15 Pure Storage, Inc. Efficient relocation of data utilizing different programming modes
US10454498B1 (en) 2018-10-18 2019-10-22 Pure Storage, Inc. Fully pipelined hardware engine design for fast and efficient inline lossless data compression
US10976947B2 (en) 2018-10-26 2021-04-13 Pure Storage, Inc. Dynamically selecting segment heights in a heterogeneous RAID group
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US12087382B2 (en) 2019-04-11 2024-09-10 Pure Storage, Inc. Adaptive threshold for bad flash memory blocks
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11714572B2 (en) 2019-06-19 2023-08-01 Pure Storage, Inc. Optimized data resiliency in a modular storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
CN110780812B (zh) * 2019-09-27 2021-08-24 苏州浪潮智能科技有限公司 一种硬盘数据置无效方法与装置
US11893126B2 (en) 2019-10-14 2024-02-06 Pure Storage, Inc. Data deletion for a multi-tenant environment
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US12001684B2 (en) 2019-12-12 2024-06-04 Pure Storage, Inc. Optimizing dynamic power loss protection adjustment in a storage system
US11847331B2 (en) 2019-12-12 2023-12-19 Pure Storage, Inc. Budgeting open blocks of a storage unit based on power loss prevention
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
EP4085335A1 (en) 2019-12-31 2022-11-09 Micron Technology, Inc. Data removal marking in memory device
US11188432B2 (en) 2020-02-28 2021-11-30 Pure Storage, Inc. Data resiliency by partially deallocating data blocks of a storage device
US11507297B2 (en) 2020-04-15 2022-11-22 Pure Storage, Inc. Efficient management of optimal read levels for flash storage systems
US11256587B2 (en) 2020-04-17 2022-02-22 Pure Storage, Inc. Intelligent access to a storage device
US11416338B2 (en) 2020-04-24 2022-08-16 Pure Storage, Inc. Resiliency scheme to enhance storage performance
US12056365B2 (en) 2020-04-24 2024-08-06 Pure Storage, Inc. Resiliency for a storage system
US11474986B2 (en) 2020-04-24 2022-10-18 Pure Storage, Inc. Utilizing machine learning to streamline telemetry processing of storage media
US11768763B2 (en) 2020-07-08 2023-09-26 Pure Storage, Inc. Flash secure erase
US11513974B2 (en) 2020-09-08 2022-11-29 Pure Storage, Inc. Using nonce to control erasure of data blocks of a multi-controller storage system
US11681448B2 (en) 2020-09-08 2023-06-20 Pure Storage, Inc. Multiple device IDs in a multi-fabric module storage system
US11487455B2 (en) 2020-12-17 2022-11-01 Pure Storage, Inc. Dynamic block allocation to optimize storage system performance
US11614880B2 (en) 2020-12-31 2023-03-28 Pure Storage, Inc. Storage system with selectable write paths
US12067282B2 (en) 2020-12-31 2024-08-20 Pure Storage, Inc. Write path selection
US12093545B2 (en) 2020-12-31 2024-09-17 Pure Storage, Inc. Storage system with selectable write modes
US11847324B2 (en) 2020-12-31 2023-12-19 Pure Storage, Inc. Optimizing resiliency groups for data regions of a storage system
US12061814B2 (en) 2021-01-25 2024-08-13 Pure Storage, Inc. Using data similarity to select segments for garbage collection
US11630593B2 (en) 2021-03-12 2023-04-18 Pure Storage, Inc. Inline flash memory qualification in a storage system
US12099742B2 (en) 2021-03-15 2024-09-24 Pure Storage, Inc. Utilizing programming page size granularity to optimize data segment storage in a storage system
US11507597B2 (en) 2021-03-31 2022-11-22 Pure Storage, Inc. Data replication to meet a recovery point objective
US11832410B2 (en) 2021-09-14 2023-11-28 Pure Storage, Inc. Mechanical energy absorbing bracket apparatus
US11994723B2 (en) 2021-12-30 2024-05-28 Pure Storage, Inc. Ribbon cable alignment apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014724A (en) * 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
TW200302458A (en) * 2002-01-11 2003-08-01 Pioneer Corp Information recording apparatus and method, information reproducing apparatus and method, information recording program and information reproducing program, recording medium and information recording medium

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193184A (en) * 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
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
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
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
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5682497A (en) * 1993-09-28 1997-10-28 Intel Corporation Managing file structures for a flash memory file system in a computer
US5535399A (en) * 1993-09-30 1996-07-09 Quantum Corporation Solid state disk drive unit having on-board backup non-volatile memory
US5553261A (en) * 1994-04-01 1996-09-03 Intel Corporation Method of performing clean-up of a solid state disk while executing a read command
US5867641A (en) 1995-10-27 1999-02-02 Scm Microsystems (U.S.) Inc. Flash translation layer cleanup system and method
US5860124A (en) * 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory
KR100330164B1 (ko) * 1999-04-27 2002-03-28 윤종용 무효 블록들을 가지는 복수의 플래시 메모리들을 동시에 프로그램하는 방법
US7660941B2 (en) * 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
KR100365725B1 (ko) * 2000-12-27 2002-12-26 한국전자통신연구원 플래시 메모리를 이용한 파일 시스템에서 등급별 지움정책 및 오류 복구 방법
CN1162782C (zh) * 2001-08-03 2004-08-18 华为技术有限公司 快速存储器文件的处理方法
US7093101B2 (en) * 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US7526598B2 (en) * 2003-03-03 2009-04-28 Sandisk Il, Ltd. Efficient flash memory device driver
RU2280273C2 (ru) * 2003-07-16 2006-07-20 Открытое акционерное общество "Научно-производственное объединение "Прибор" Способ структурирования и записи цифровой информации и устройство для его осуществления
WO2005089339A2 (en) 2004-03-12 2005-09-29 Netcell Corporation Disk controller methods and apparatus with improved striping redundancy operations and interfaces
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
KR100684887B1 (ko) 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US7246195B2 (en) * 2004-12-30 2007-07-17 Intel Corporation Data storage management for flash memory devices
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US9104315B2 (en) * 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7724693B2 (en) * 2005-07-28 2010-05-25 Qnx Software Systems (Wavemakers), Inc. Network dependent signal processing
KR100739722B1 (ko) * 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US8307148B2 (en) * 2006-06-23 2012-11-06 Microsoft Corporation Flash management techniques
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US8572310B2 (en) * 2007-11-06 2013-10-29 Samsung Electronics Co., Ltd. Invalidating storage area of non-volatile storage medium based on metadata

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014724A (en) * 1995-10-27 2000-01-11 Scm Microsystems (U.S.) Inc. Flash translation layer block indication map revision system and method
TW200302458A (en) * 2002-01-11 2003-08-01 Pioneer Corp Information recording apparatus and method, information reproducing apparatus and method, information recording program and information reproducing program, recording medium and information recording medium

Also Published As

Publication number Publication date
BRPI0809287A2 (pt) 2014-10-14
US20080263305A1 (en) 2008-10-23
US20190146673A1 (en) 2019-05-16
WO2008130799A1 (en) 2008-10-30
RU2456664C2 (ru) 2012-07-20
TW200900925A (en) 2009-01-01
RU2009138348A (ru) 2011-04-27
BRPI0809287B1 (pt) 2019-11-05
EP2135167B1 (en) 2018-08-22
US20170336977A1 (en) 2017-11-23
EP2135167A1 (en) 2009-12-23
EP2135167A4 (en) 2012-06-20
US9207876B2 (en) 2015-12-08
KR20100015506A (ko) 2010-02-12
US9696907B2 (en) 2017-07-04
CN106293517A (zh) 2017-01-04
JP2010525453A (ja) 2010-07-22
US10156988B2 (en) 2018-12-18
US10976928B2 (en) 2021-04-13
CN101663652A (zh) 2010-03-03
CN106293517B (zh) 2019-09-20
US20160162194A1 (en) 2016-06-09

Similar Documents

Publication Publication Date Title
TWI514134B (zh) 達成固態硬碟最佳化之移除已刪除資料技術
US10564859B2 (en) Composite solid state drive identification and optimization technologies
US9928167B2 (en) Information processing system and nonvolatile storage unit
TWI507869B (zh) 虛擬化儲存裝置之系統、設備及方法
TWI408551B (zh) 快閃記憶體儲存系統及其控制器與資料處理方法
CN101271383A (zh) 操作数据处理系统的系统、方法以及计算机程序产品
KR20140010999A (ko) 호스트가 볼 때 디바이스 펌웨어 업데이트 효과들의 관리
US8751760B2 (en) Systems and methods for power state transitioning in an information handling system
US20170109084A1 (en) Logical address history management in memory device