TWI694329B - 用於記憶體之針對性淨除之方法及設備 - Google Patents
用於記憶體之針對性淨除之方法及設備 Download PDFInfo
- Publication number
- TWI694329B TWI694329B TW107101143A TW107101143A TWI694329B TW I694329 B TWI694329 B TW I694329B TW 107101143 A TW107101143 A TW 107101143A TW 107101143 A TW107101143 A TW 107101143A TW I694329 B TWI694329 B TW I694329B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- host
- deterministic
- physical
- controller
- Prior art date
Links
Images
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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/15—Use in a specific computing environment
- G06F2212/152—Virtualized environment, e.g. logically partitioned system
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/7205—Cleaning, compaction, garbage collection, erase control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本發明包含用於記憶體之針對性淨除之設備及方法。一種實例性方法包括回應於接收到一淨除命令而對一記憶體執行一確定性記憶體回收操作,其中執行該確定性記憶體回收操作引起儲存於該記憶體上之所有無效資料之實體抹除而不丟失儲存於該記憶體上之有效資料。
Description
本發明一般而言係關於半導體記憶體設備及方法,且更特定而言係關於記憶體之針對性淨除。
記憶體裝置通常經提供作為電腦或其他電子裝置中之內部半導體積體電路及/或外部可拆卸式裝置。存在諸多不同類型之記憶體,包含揮發性及非揮發性記憶體。揮發性記憶體可需要電力來維持其資料,且可包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)及同步動態隨機存取記憶體(SDRAM)以及其他記憶體。非揮發性記憶體可在未經供電時保留所儲存資料且可包含NAND快閃記憶體、NOR快閃記憶體、相變隨機存取記憶體(PCRAM)、電阻式隨機存取記憶體(RRAM)及磁性隨機存取記憶體(MRAM)以及其他記憶體。
可將記憶體裝置組合在一起以形成一固態磁碟機(SSD)。一SSD可包含非揮發性記憶體(例如,NAND快閃記憶體及/或NOR快閃記憶體)及/或可包含揮發性記憶體(例如,DRAM及/或SRAM)以及各種其他類型之非揮發性及揮發性記憶體。可使用一SSD來替換硬碟機作為一電腦之主要儲存卷,此乃因固態磁碟機可在效能、大小、重量、耐用性、操作溫度範圍及電力消耗方面具有優於硬碟機之優點。舉例而言,SSD可在與磁碟機相比
較時因其缺乏移動部件(此可避免與磁碟機相關聯之尋覓時間、等待時間及其他機電延遲)而具有優越效能。
在各種例項中,抹除儲存於記憶體中之資料(例如,刪除可含有敏感及/或私密資訊之檔案或其部分)可係有益的及/或合意的。某些刪除機制可不涉及資料之實際實體抹除使得自記憶體恢復資料係可能的。舉例而言,一刪除機制可涉及當前儲存一特定檔案之記憶體位置之實體抹除,但可不實體上抹除可先前已儲存該特定檔案或其部分之記憶體位置。其他刪除機制可涉及儲存於記憶體中之所有資料之實體抹除,此確保刪除定為刪除之目標之資料,而且抹除可未定為刪除之目標之資料。
100:計算系統
102:主機
103:修整佇列
104:記憶體系統
106:主機介面/介面
108:控制器
110:記憶體
112:耗損平均組件/組件
114:記憶體回收組件/組件
115:映射組件/組件
210:記憶體
216-0:實體區塊/區塊
216-1:實體區塊/區塊
216-B:實體區塊/區塊
220-0:實體列
220-1:實體列
220-R:實體列
222-1:磁區
222-S:磁區
302:主機
308:控制器
310:記憶體
380-1:箭頭
380-2:箭頭/淨除命令
380-3:箭頭
380-4:箭頭
380-N:箭頭
410:記憶體
430:實體區塊/區塊
431-1:頁
431-2:頁
431-3:頁
431-4:頁
431-5:頁
431-6:頁
431-7:頁
431-8:頁
431-9:頁
432:實體區塊/區塊
433-1:頁
433-2:頁
433-3:頁
433-4:頁
433-5:頁
I1:頁
I2:頁
I3:頁
I4:頁
t1:時間
t2:時間
t3:時間
t4:時間
tN:非確定性時間
V1:頁
V2:頁
V3:頁
V4:頁
V5:頁
圖1係根據本發明之若干項實施例之呈包含一記憶體系統(包括經組態以執行針對性淨除之一控制器)之一計算系統之形式之一設備之一方塊圖。
圖2圖解說明根據本發明之若干項實施例之具有若干個實體區塊之一記憶體之一部分之一圖式。
圖3A圖解說明與執行一記憶體回收操作相關聯之一時序圖。
圖3B圖解說明根據本發明之若干項實施例之與記憶體之針對性淨除相關聯之一時序圖。
圖4A圖解說明根據本發明之若干項實施例之在針對性淨除之前一記憶體之區塊狀態。
圖4B圖解說明根據本發明之若干項實施例之繼針對性淨除之後圖4A中所展示之記憶體之區塊狀態。
圖5圖解說明根據本發明之若干項實施例之與記憶體之針對性淨除相關聯之一流程圖。
本發明包含用於與記憶體相關聯之針對性淨除之設備及方法。一個實例性方法包括回應於接收到一淨除命令而對一記憶體執行一確定性記憶體回收操作,其中執行該確定性記憶體回收操作引起儲存於該記憶體上之所有無效資料之實體抹除而不不丟失儲存於該記憶體上之有效資料。
本發明之實施例可提供各種益處,諸如以一確定性方式提供(例如,對由主機定為刪除之目標之資料之)安全抹除。舉例而言,本發明之若干項實施例提供用於對應於特定邏輯區塊位址(LBA)之資料以及可駐存於記憶體中之資料之先前複本之主機起始之安全抹除之一機制。若干項實施例可使用一確定性記憶體回收操作實施安全抹除,該確定性記憶體回收操作與可與在背景中執行之耗損平均操作相關聯之一典型記憶體回收操作相反。此背景記憶體回收通常係非確定性的,此乃因其通常不由一主機起始且不按需執行,而是在未來在某一非確定性時間處執行(例如,如由與耗損平均相關聯之一控制器(諸如一SSD控制器)指導)。
若干項實施例提供確保自記憶體實體上抹除對應於一特定檔案之資料之所有複本(例如,當前及過去)(舉例而言)之針對性淨除,此與僅邏輯上經抹除(例如,經標記為無效同時仍實體上儲存於記憶體中)相反。可使用一確定性記憶體回收操作執行針對性淨除(例如,安全抹除),此可提供不抹除有效資料(例如,由一主機追蹤之「即時」資料)之一保證。
在本發明之以下詳細說明中,參考形成本發明之一部分且其中以圖解說明方式展示可如何實踐本發明之一或多項實施例之附圖。充分詳細地
闡述此等實施例以使熟習此項技術者能夠實踐本發明之實施例,且應理解,可利用其他實施例且可在不背離本發明之範疇之情況下做出程序、電及/或結構改變。如本文中所使用,標誌符「N」、「B」、「R」及「S」(特定而言關於圖式中之參考編號)指示可包含如此指定之若干個特定特徵。如本文中所使用,「若干個」特定事物可係指一或多個此類事物(例如,若干個區塊可係指一或多個區塊)。
本文中之各圖遵循其中第一個數字或前幾個數字對應於圖式之圖編號且其餘數字識別圖式中之一元件或組件之一編號慣例。可藉由使用類似數字來識別不同圖之間的類似元件或組件。舉例而言,在圖1中110可指代元件「10」,且在圖2中一類似元件可指代為210。如將瞭解,可添加、交換及/或消除本文中之各種實施例中所展示之元件以便提供本發明之若干項額外實施例。另外,如將瞭解,各圖中所提供之元件之比例及相對尺度意欲圖解說明本發明之特定實施例且不應視為具一限制意義。
圖1係根據本發明之若干項實施例之呈包含一記憶體系統104(包括經組態以執行針對性淨除之一控制器108)之一計算系統100之形式之一設備之一方塊圖。如本文中所使用,一記憶體系統104、一控制器108或一記憶體110亦可單獨地被視為一「設備」。記憶體系統104可係一固態磁碟機(SSD)(舉例而言)且可包含一主機介面106、一控制器108(例如,一定序器及/或其他控制電路)及一記憶體110。儘管圖1中未展示,但記憶體110可(舉例而言)包括為記憶體系統104提供一儲存卷之若干個固態記憶體裝置,諸如NAND快閃裝置。
控制器108可經由複數個通道耦合至主機介面106及記憶體110且可用於在記憶體110與一主機102之間傳送資料。介面106可呈一標準化介面之
形式。舉例而言,當記憶體系統104用於一計算系統100中之資料儲存時,介面106可係一串列進階技術附接(SATA)、高速周邊組件互連(PCIe)或一通用串列匯流排(USB)以及其他連接器及介面。然而,一般而言,介面106可提供用於在記憶體系統104與一主機102之間傳遞控制、位址、資料及其他信號之一介面,主機102具有用於介面106之兼容接受器。
一主機102可係一主機系統,諸如一個人膝上型電腦、一桌上型電腦、一數位相機、一行動電話或一記憶體讀卡器以及各種其他類型之主機。主機102可包含一系統母板及/或背板,且可包含若干個記憶體存取裝置(例如,若干個處理器)。主機102亦可係一控制器,諸如在記憶體系統104係具有一晶粒上控制器之一記憶體裝置之情況下。主機102可經組態以將各種命令提供至記憶體系統104(例如,提供至控制器108)以指導記憶體系統104根據所接收命令執行各種操作。舉例而言,主機102可經組態以將一淨除命令提供至控制器108,使得控制器108回應於接收到該淨除命令而起始一確定性記憶體回收操作,如本文中進一步闡述。在若干項實施例中,可發送該淨除命令作為一中斷信號,使得(舉例而言)控制器108在接收到該命令之後旋即「按需」執行該確定性記憶體回收操作。舉例而言,在接收到該淨除命令之後,控制器108旋即可暫停其當前活動,保存其狀態,且執行該確定性記憶體回收操作。
主機102可包含一修整佇列103(TRIM QUEUE),可與一作業系統(OS)修整特徵相關聯地使用修整佇列103。修整佇列103可經組態以儲存對應於不再在使用中及/或由主機102追蹤之資料之邏輯區塊位址(LBA),舉例而言,使得資料可經標記為無效的且自記憶體110予以抹除。修整佇列103中之LBA可與一修整命令相關聯地發送至控制器108。如本文中所
使用,一修整命令可係一TRIM命令、UNMAP命令或DEALLOCATE命令以及其他命令,此可取決於一特定介面類型及/或協定(例如,ATA、SCSI等)。如本文中進一步闡述,在若干項實施例中,主機102可與將一主機起始之淨除命令提供至控制器108相關聯地起始修整佇列之一強制排清,此可起始引起至少對應於自修整佇列103提供之LBA清單之資料之安全抹除的一確定性記憶體回收操作。
控制器108可控制對記憶體110之各種操作(讀取、寫入、抹除等)之效能,記憶體110可包括若干個記憶體晶粒(例如,NAND晶粒)(舉例而言)。控制器108可在相同於或不同於記憶體110之一晶粒上。儘管未具體圖解說明,但控制器108針對將控制器108耦合至記憶體110之每一通道可包含一離散記憶體通道控制器。控制器108可包含(舉例而言)用於控制對記憶體110之存取及/或用於促進主機102與記憶體110之間的資料傳送之呈硬體及/或韌體(例如,一或多個積體電路)及/或軟體形式之若干個組件。
如圖1中所圖解說明,控制器108可包含一耗損平均組件112、一記憶體回收組件114及一映射組件115。舉例而言,耗損平均組件112可包含經組態以藉由在一整個陣列及/或裝置上方更均勻地散佈循環而減少對一特定單元群組(例如,區塊)執行之程序循環(例如,程式化循環及/或抹除循環)之數目之電路。耗損平均組件112可經組態以執行動態耗損平均,該動態耗損平均可包含經由記憶體回收組件114執行之記憶體回收。記憶體回收可包含具有大多數無效頁(例如,根據一「貪婪演算法」)之回收(例如,抹除且使得可用於程式化)區塊。另一選擇係,記憶體回收可包含具有多於一臨限值量(例如,數量)之無效頁之回收區塊。若針對一程式化操作存在充足自由區塊,則可不發生一記憶體回收操作。舉例而言,一無效
頁可係指已更新其對應邏輯至實體位址映射(例如,使得對應於先前映射之資料係陳舊的)之一頁。組件112亦可執行靜態耗損平均,該靜態耗損平均可包含將靜態資料寫入至具有高程式化/抹除計數以延長區塊之壽命之區塊。
在若干項實施例中,在不存在來自主機102之一淨除命令之情況下,作為一背景操作,記憶體回收組件114可經組態以對記憶體110執行記憶體回收。舉例而言,在閒置時間(例如,當控制器108不執行主機命令時)期間執行記憶體回收可阻止此等操作消極地影響等待時間。如本文中進一步闡述,在若干項實施例中,組件114經組態以回應於一淨除命令而執行一確定性記憶體回收操作。舉例而言,回應於控制器108接收到該淨除命令,組件114可識別含有無效資料(例如,無效頁)之彼等區塊,將含納於彼等區塊中之有效資料(例如,有效頁)重定位至不同區塊且實體上抹除經識別區塊以引起無效資料之實體抹除而不丟失儲存於記憶體110上之有效資料。在若干項實施例中,執行一確定性記憶體回收操作包含執行一完整記憶體回收操作,該完整記憶體回收操作可係指經執行直至記憶體(例如,110)之區塊不含有有效頁及無效頁兩者(例如,所有實體區塊已實體上經抹除或僅含有有效資料)為止的一記憶體回收操作。
映射組件115可包含一邏輯至實體位址映射(例如,表格)以及關於頁狀態之指示符(例如,有效、無效、經抹除等)。可以各種方式更新位址映射及/或頁狀態。舉例而言,在重定位有效資料作為記憶體回收及/或耗損平均之一部分時可由控制器108更新映射。另外,可基於來自主機102之修整命令(例如,回應於修整佇列103之一排清)而更新位址映射及/或頁狀態。
組件112、114、115可係諸如一特殊應用積體(ASIC)之離散組件,或組件112、114、115可反映由控制器108內之電路提供之功能性,控制器108未必具有與控制器108之其他部分分開之一離散實體形式。儘管在圖1中經圖解說明為控制器108內之組件,但組件112、114及115可在控制器108外部或可具有位於控制器108內之若干個組件及位於控制器108外部之若干個組件。另外,組件112、114及115不限於電路(例如,硬體)實施方案(例如,該等組件可以硬體、韌體及/或軟體來實施)。
在操作中,舉例而言,資料可作為一資料頁寫入至記憶體110及/或自記憶體110讀取。因此,一資料頁可稱為記憶體系統之一資料傳送大小。資料可以稱為磁區(例如,主機磁區)之資料區段發送至一主機(例如,主機102)/自該主機發送。如此,一資料磁區可稱為主機之一資料傳送大小。
圖2圖解說明根據本發明之若干項實施例之具有若干個實體區塊216-0(區塊0)、216-1(區塊1)、...、216-B(區塊B)之一記憶體210之一部分之一圖式。舉例而言,記憶體210可係一NAND快閃記憶體。然而,本發明之實施例不限於一特定記憶體類型或記憶體。舉例而言,記憶體210可係一DRAM陣列、一RRAM陣列或一PCRAM陣列以及其他類型之記憶體。進一步地,儘管圖2中未展示,但記憶體210可連同與其操作相關聯之各種周邊電路一起位於一特定半導體晶粒上。
區塊216-0(區塊0)、216-1(區塊1)、...、216-B(區塊B)可共同稱為區塊216。區塊216可包括單位階單元(SLC)及/或多位階單元(MLC)。作為一實例,記憶體210中之實體區塊216之數目可係128個區塊、512個區塊或1,024個區塊,但實施例不限於記憶體210中之特定數目個實體區塊。
每一區塊216可包含作為一單位共同經抹除之記憶體單元。如圖2中所展示,每一實體區塊216可包括可各自耦合至一各別存取線(例如,字線)之記憶體單元之若干個實體列220-0、220-1、...、220-R。每一實體區塊中之列數目可係32,但實施例不限於每實體區塊特定數目個列220。
如熟習此項技術者將瞭解,每一列220可包括若干個實體單元頁。一實體單元頁可係指共同經程式化及/或讀取或作為一功能群組之若干個記憶體單元。在圖2中所展示之實施例中,每一列220可包括一個實體單元頁。然而,本發明之實例並不如此受限制。舉例而言,每一列220可包括多個實體單元頁(例如,與耦合至偶數編號之位元線之單元相關聯之一偶數頁及與耦合至奇數編號之位元線之單元相關聯之一奇數頁)。另外,對於包含多位階單元之實施例,一實體頁可儲存多個邏輯資料頁,其中一實體頁中之每一單元促使一位元朝向一邏輯下部頁,促使一位元朝向一邏輯上部頁,且促使一或多個位元朝向各別數目個邏輯中間頁。
在圖2中所展示之實例中,對應於一列220之一實體頁可儲存資料之若干個磁區222-0、222-1、...、222-S(例如,一定量之資料對應於一主機磁區,諸如512個位元組)。磁區222可包括使用者資料以及附加項資料,諸如錯誤校正碼(ECC)資料及LBA資料。應注意,實體區塊216、列220及磁區222之其他組態係可能的。舉例而言,列220可各自儲存對應於一單個磁區之資料,該單個磁區可包含(舉例而言)多於或少於512個位元組之資料。
圖3A圖解說明與執行一記憶體回收操作相關聯之一時序圖。圖3A中所闡述之記憶體回收操作可係可由一控制器308執行(例如,作為一背景操作)之一非確定性記憶體回收操作,控制器308可係諸如圖1中所闡述之控
制器108之一控制器。在此實例中,在一時間t1處,一主機302將對應於無效資料之若干個邏輯位址提供至控制器308。作為一實例,箭頭380-1可表示一修整命令。
在時間t2處,控制器308可回應於自主機302接收之邏輯位址而更新其頁映射以反映不再對應於有效資料之彼等邏輯頁(例如,將經標記為無效之彼等邏輯頁)且如此標記彼等頁(例如,如由箭頭380-2指示)。因此,可在發生記憶體回收時(例如,由控制器308)考量經更新映射及頁狀態。然而,由於作為一背景操作而執行記憶體回收,因此在未來某一非確定性時間tN處執行該記憶體回收(例如,如由箭頭380-N指示)。如此,對應於自主機102接收之邏輯位址之資料(其可係定為抹除之目標之敏感資料)未自記憶體310實體上經移除直至抹除無效資料駐存於其中之(若干)區塊時之某一稍後時間為止。另外,由於邏輯區塊定址之本質,因此即使在實體上抹除對應於當前映射之資料之後定為刪除之目標之其他資料複本(例如,先前複本)亦可存在於記憶體310上。
圖3B圖解說明根據本發明之若干項實施例之與一記憶體310之針對性淨除相關聯之一時序圖。在此實例中,在一時間t1處,一主機302將對應於無效資料之若干個邏輯位址(例如,LBA)提供至控制器308。作為一實例,箭頭380-1可表示與由主機302起始的一修整佇列之一強制排清相關聯地發送之一修整命令。在時間t2處,將一主機起始之淨除命令380-2發送至控制器308。儘管在圖3B中經展示為在單獨時間處發生,但可與相關聯於一針對性淨除操作之淨除命令並行地提供修整佇列之強制排清。
回應於淨除命令380-2,控制器308可起始一確定性記憶體回收操作。該確定性記憶體回收操作可係與一局部記憶體回收操作相反之一完整
記憶體回收操作。一局部記憶體回收操作可係指其中抹除含有無效頁之某些區塊(例如,繼重定位區塊中之任何有效頁之後)之一記憶體回收操作。一完整記憶體回收操作可係指不產生含有無效頁之實體區塊之一記憶體回收操作(例如,已實體上抹除先前含有無效資料之所有實體區塊且已將先前儲存於含有有效頁及無效頁之區塊兩者中之任何有效頁重定位至不同實體區塊),使得記憶體310之所有區塊僅含有有效頁或有效頁與實體上經抹除單元之一組合。
在圖3B中所展示之實例中,箭頭380-3表示含納於儲存有效頁及無效頁兩者之一區塊中之所有有效頁至一不同(例如,自由)區塊之重定位,且箭頭380-4表示含有無效頁之所有區塊之實體抹除。回應於淨除命令380-2而執行之記憶體回收係確定性的,此乃因該記憶體回收可按需執行(例如,由主機302)且可保證在時間t3與t4之間自記憶體310實體上抹除對應於來自主機302之無效LBA之所有資料,而不丟失儲存於記憶體310中之有效資料。而且,與圖3A中所闡述之記憶體回收操作(其在背景中由控制器308以一非確定性方式執行)不同,回應於淨除命令380-2而發生圖3B中所展示之確定性記憶體回收操作之執行。
另外,儘管圖3B中未展示,但控制器308可經組態以將確定性記憶體回收操作之一完成狀態報告給主機302。作為一實例,該完成狀態可僅僅指示記憶體回收操作之一通過/失敗。然而,該完成狀態亦可或替代地指示與確定性記憶體回收操作相關聯之一完成量(例如,百分比)。主機302可針對完成狀態輪詢記憶體系統(例如,經由控制器308),及/或控制器308可發送非請求之完成狀態。
圖4A圖解說明在針對性淨除之前一記憶體410之區塊狀態,且圖4B
圖解說明根據本發明之若干項實施例之繼針對性淨除之後圖4A中所展示之記憶體410之區塊狀態。在圖4A及4B中,出於圖解說明實例之方式,記憶體410經展示為包含兩個實體區塊430及432;然而,實施例不限於特定數目個區塊。儘管圖4中所展示之實施例涉及對NAND記憶體單元之區塊之記憶體回收操作之確定性執行,但實施例並不如此受限制。
在圖4A及4B中,標誌符「V」(例如,V1至V5)表示有效資料(例如,一有效頁),且標誌符「I」(例如,I1至I4)表示儲存於一對應區塊中之無效資料(例如,一無效頁)。圖4A及4B中所展示之標誌符「自由」表示一實體上經抹除頁。
在此實例中,記憶體410之每一區塊430及432包括9頁;然而,熟習此項技術者將瞭解,一區塊可包括多於或少於9頁。如圖4A中所展示,在執行一確定性記憶體回收之前,區塊430含有有效資料及無效資料兩者。舉例而言,頁431-1(I1)、431-2(I2)、431-3(I3)及431-4(I4)係無效頁,且頁431-5(V1)、431-6(V2)、431-7(V3)、431-8(V4)及431-9(V5)係區塊430之有效頁。在圖4A中,區塊432表示一實體上經抹除區塊(例如,僅含有未經程式化自由頁之一區塊)。因此,區塊432之所有頁433-1至433-9經指定為「自由」,如圖4A中所展示。
如圖4B中所展示,在確定性記憶體回收操作之一成功完成之後,記憶體410之區塊430及432中無一者含有有效頁及無效頁兩者。記憶體回收操作涉及實體上抹除含有無效頁之所有區塊,且對於含有有效頁及無效頁兩者之彼等區塊,在抹除區塊(自其重定位有效頁)之前將有效頁重定位至一不同(例如,自由)實體區塊。舉例而言,在此實例中,繼記憶體回收操作之後,區塊430處於一實體上經抹除狀態中(例如,所有頁431-1至431-9
已實體上經抹除使得其狀態係「自由」)。而且,區塊430之有效頁(例如,頁431-5至431-9)已經重定位至區塊432之實體頁(例如,頁433-1至433-5),使得由於確定性記憶體回收操作而不丟失有效頁。
圖5係圖解說明根據本發明之若干項實施例之用於記憶體之針對性淨除之一方法550之一流程圖。在步驟552處,方法550包含自一主機(例如,主機102)接收一針對性淨除命令。在步驟554處,方法550包含自主機獲得關於對應於無效資料之位址(例如,LBA)之更新,且回應於自主機接收之更新而更新一邏輯至實體位址映射。舉例而言,可提供位址更新作為針對性淨除命令之命令參數。在步驟554處,方法550亦可包含依據邏輯至實體位址映射之更新來識別對應於自主機接收之邏輯位址之實體位址(例如,實體頁)。作為一實例,自主機接收之無效LBA可對應於定為刪除之目標之一檔案,該檔案可包括敏感資訊。
在步驟556處,方法550包含判定含有定位抹除之目標之無效頁之區塊是否亦含有有效資料。若判定經識別實體區塊中之任一者含有有效資料,則在經識別區塊之實體抹除之前將有效頁重定位至不同(例如,自由)實體區塊,如在558處所展示。若判定經識別實體區塊不含有有效資料,則實體上抹除經識別區塊,如在559處所展示。
在步驟560處,做出關於是否完成記憶體回收操作(例如,成功)或未完成記憶體回收操作(例如,失敗)之一判定。在步驟562處,回應於確定性記憶體回收操作之成功完成而將一完成狀態(例如,通過)提供至主機。在步驟564處,回應於確定性記憶體回收操作之不成功完成而將一完成狀態(例如,失敗)提供至主機。
雖然本文中已圖解說明及闡述了特定實施例,但熟習此項技術者將
瞭解,旨在實現相同結果之一配置可替代所展示之特定實施例。本發明意欲涵蓋本發明之各種實施例之更改或變化。應理解,已以一說明性方式而非一限制性方式做出以上說明。在審閱以上說明之後,熟習此項技術者將旋即明瞭以上實施例之組合及本文中未具體闡述之其他實施例。本發明之各種實施例之範疇包含其中使用以上結構及方法之其他應用。因此,本發明之各種實施例之範疇應參考所附申請專利範圍連同此申請專利範圍授權之等效內容之整個範圍來判定。
在前述實施方式中,出於簡化本發明之目的,將各種特徵一起分組於一單個實施例中。本發明之此方法不應解釋為反映本發明之所揭示實施例必須使用比明確陳述於每一請求項中更多之特徵之一意圖。更確切而言,如所附申請專利範圍所反映,發明性標的物在於少於一單個所揭示實施例之所有特徵。因此,特此將所附申請專利範圍併入至實施方式中,其中每一請求項獨立地作為一單獨實施例。
Claims (17)
- 一種用於記憶體之針對性淨除之方法,其包括:回應於接收到一淨除命令而對一記憶體執行一確定性記憶體回收操作,其中無論在該記憶體上之可用空間之一數量,該淨除命令係可發行;其中:無論該記憶體之複數個區塊之各者包括無效資料之一數量,該確定性記憶體回收操作係執行於該複數個區塊上;及執行該確定性記憶體回收操作引起儲存於該記憶體上之所有無效資料之實體抹除而不丟失儲存於該記憶體上之有效資料。
- 如請求項1之方法,其中該記憶體耦合至一固態磁碟機之一控制器,且其中接收該淨除命令進一步包括在該控制器處自一主機接收一主機起始之淨除命令。
- 如請求項2之方法,其中該方法包含在執行該確定性記憶體回收操作之前自該主機獲得關於對應於無效資料之位址之更新。
- 如請求項3之方法,其中該方法包含回應於自該主機接收之該等更新而更新一邏輯至實體位址映射。
- 如請求項4之方法,其中執行該確定性記憶體回收操作包含:自該邏輯至實體位址映射之該更新識別對應於自該主機接收之一邏 輯位址更新之一實體位址,其中該實體位址對應於該記憶體之一實體區塊;回應於該實體區塊含有有效資料及無效資料兩者而將該有效資料重定位至該記憶體之一不同實體區塊;及回應於該實體區塊含有無效資料但不含有有效資料而實體上抹除該實體區塊。
- 如請求項1之方法,其中在不存在該淨除命令之情況下,該方法包含作為一背景操作,以一非確定性方式對該記憶體執行記憶體回收。
- 如請求項1之方法,其中該方法包含回應於自一主機接收到一狀態請求命令而將一完成狀態提供至該主機,其中該完成狀態指示是否成功完成該確定性記憶體回收操作或未能完成該確定性記憶體回收操作。
- 如請求項1之方法,其中該方法包含由一主機輪詢指示以下各項中之至少一者之一完成狀態:是否成功完成該確定性記憶體回收操作或未能完成該確定性記憶體回收操作;及該淨除命令之一完成之一程度。
- 一種用於記憶體之針對性淨除之設備,其包括:一記憶體;及一控制器,其耦合至該記憶體且經組態以回應於接收到一淨除命令 而對該記憶體執行一確定性記憶體回收操作,其中無論在該記憶體上之可用空間之一數量,該淨除命令係可發行;其中:無論該記憶體之複數個區塊之各者包括無效資料之一數量,該確定性記憶體回收操作係執行於該複數個區塊上;及執行該確定性記憶體回收操作引起儲存於該記憶體上之所有無效資料之實體抹除而不丟失儲存於該記憶體上之有效資料。
- 如請求項9之設備,其中該設備包含經組態以進行以下操作之一主機:將該淨除命令提供至該控制器;在將該淨除命令提供至該控制器之前,識別與定為刪除之目標之一檔案相關聯之邏輯區塊位址(LBA);及將與定為刪除之目標之該檔案相關聯之該等LBA提供至該控制器;其中該控制器經組態以在執行該確定性記憶體回收操作之前基於與定為刪除之目標之該檔案相關聯之該等LBA而更新一邏輯至實體位址映射,使得對應於與定為刪除之目標之該檔案相關聯之該等LBA之資料包含於儲存於該記憶體上之所有無效資料之該實體抹除中。
- 如請求項10之設備,其中與定為刪除之目標之該檔案相關聯之該等LBA駐存於主機之一修整佇列中,且其中該主機經組態以與該修整佇列之一強制排清相關聯地將與定為刪除之目標之該檔案相關聯之該等LBA提供至該控制器。
- 一種用於記憶體之針對性淨除之設備,其包括:一記憶體;及一控制器,其耦合至該記憶體且經組態以:回應於自一主機接收到一淨除命令而起始一確定性記憶體回收操作;及接續在該記憶體上起始該確定性記憶體回收操作之後,提供一完成狀態至該主機;其中該確定性記憶體回收操作包括:識別當前無效之邏輯區塊位址(LBA);識別該等當前無效之LBA所映射到的實體區塊,該等經識別實體區塊含有至少某些無效資料;實體上抹除該等經識別實體區塊;及對於含有至少某些有效資料之彼等經識別實體區塊,在實體抹除之前將該至少某些有效資料重定位至一不同實體區塊,使得繼該確定性記憶體回收操作之一完成之後,該記憶體不再包含含有有效資料及無效資料兩者之實體區塊;及其中與該淨除命令相關聯地起始該主機之一修整佇列之一強制排清,使得在起始該確定性記憶體回收操作之前更新由該控制器使用之一LBA至實體區塊位址表格。
- 如請求項12之設備,其中該記憶體包括若干個NAND快閃記憶體裝置,在該等NAND快閃記憶體裝置中,一實體區塊係一抹除單位且經組態 以儲存複數個資料頁。
- 如請求項12之設備,其中該完成狀態指示該淨除命令之一完成之一程度。
- 如請求項12之設備,其中該主機經組態以輪詢該控制器以獲得該完成狀態。
- 如請求項12之設備,其中在不存在該淨除命令之情況下,作為一背景操作,該控制器經組態以非確定性地對該記憶體執行記憶體回收。
- 一種用於記憶體之針對性淨除之方法,其包括:由一控制器回應於自一主機接收到一淨除命令而起始對一記憶體之一確定性記憶體回收操作,其中該方法包含與該淨除命令相關聯地自該主機之一修整佇列接收無效之邏輯區塊位址(LBAs);及接續在該記憶體上起始該確定性記憶體回收操作之後,提供一完成狀態至該主機;其中執行該確定性記憶體回收操作包括:識別當前無效之LBAs;識別該等當前無效之LBAs所映射到的實體區塊,該等經識別實體區塊含有至少某些無效資料;實體上抹除該等經識別實體區塊;及對於含有至少某些有效資料之彼等經識別實體區塊,在實體抹除 之前將該至少某些有效資料重定位至一不同實體區塊,使得繼該確定性記憶體回收操作之一完成之後,該記憶體不再包含含有有效資料及無效資料兩者之實體區塊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/404,407 US10452532B2 (en) | 2017-01-12 | 2017-01-12 | Directed sanitization of memory |
US15/404,407 | 2017-01-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201841117A TW201841117A (zh) | 2018-11-16 |
TWI694329B true TWI694329B (zh) | 2020-05-21 |
Family
ID=62782354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107101143A TWI694329B (zh) | 2017-01-12 | 2018-01-12 | 用於記憶體之針對性淨除之方法及設備 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10452532B2 (zh) |
EP (1) | EP3568768A4 (zh) |
CN (1) | CN110114758B (zh) |
TW (1) | TWI694329B (zh) |
WO (1) | WO2018132396A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102545166B1 (ko) * | 2016-07-26 | 2023-06-19 | 삼성전자주식회사 | 파일을 안전하게 삭제하는 호스트, 스토리지 시스템 및 호스트의 동작방법 |
CA3090944A1 (en) | 2017-02-08 | 2018-08-16 | Upstream Data Inc. | Blockchain mine at oil or gas facility |
JP2018181281A (ja) * | 2017-04-21 | 2018-11-15 | 富士通株式会社 | ストレージシステム、制御装置及びストレージ装置 |
US11678615B2 (en) | 2018-01-11 | 2023-06-20 | Lancium Llc | Method and system for dynamic power delivery to a flexible growcenter using unutilized energy sources |
US10873211B2 (en) | 2018-09-14 | 2020-12-22 | Lancium Llc | Systems and methods for dynamic power routing with behind-the-meter energy storage |
US11016553B2 (en) | 2018-09-14 | 2021-05-25 | Lancium Llc | Methods and systems for distributed power control of flexible datacenters |
US11031787B2 (en) | 2018-09-14 | 2021-06-08 | Lancium Llc | System of critical datacenters and behind-the-meter flexible datacenters |
US10628076B1 (en) | 2018-10-01 | 2020-04-21 | Micron Technology, Inc. | Data erasure in memory sub-systems |
US10367353B1 (en) | 2018-10-30 | 2019-07-30 | Lancium Llc | Managing queue distribution between critical datacenter and flexible datacenter |
US11031813B2 (en) | 2018-10-30 | 2021-06-08 | Lancium Llc | Systems and methods for auxiliary power management of behind-the-meter power loads |
US11175850B2 (en) | 2019-01-03 | 2021-11-16 | Toshiba Memory Corporation | Selective erasure of data in a SSD |
US10452127B1 (en) | 2019-01-11 | 2019-10-22 | Lancium Llc | Redundant flexible datacenter workload scheduling |
US11128165B2 (en) | 2019-02-25 | 2021-09-21 | Lancium Llc | Behind-the-meter charging station with availability notification |
US11573892B2 (en) | 2019-04-26 | 2023-02-07 | EMC IP Holding Company LLC | Garbage collection for a deduplicated cloud tier using microservices |
US11580015B2 (en) * | 2019-05-03 | 2023-02-14 | EMC IP Holding Company LLC | Garbage collection for a deduplicated cloud tier using functions |
WO2020227811A1 (en) | 2019-05-15 | 2020-11-19 | Upstream Data Inc. | Portable blockchain mining system and methods of use |
US11868106B2 (en) | 2019-08-01 | 2024-01-09 | Lancium Llc | Granular power ramping |
US11397999B2 (en) | 2019-08-01 | 2022-07-26 | Lancium Llc | Modifying computing system operations based on cost and power conditions |
US10608433B1 (en) | 2019-10-28 | 2020-03-31 | Lancium Llc | Methods and systems for adjusting power consumption based on a fixed-duration power option agreement |
TWI742698B (zh) * | 2019-11-29 | 2021-10-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
US11042948B1 (en) | 2020-02-27 | 2021-06-22 | Lancium Llc | Computing component arrangement based on ramping capabilities |
KR20210142981A (ko) * | 2020-05-19 | 2021-11-26 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US20240012579A1 (en) * | 2022-07-06 | 2024-01-11 | Samsung Electronics Co., Ltd. | Systems, methods, and apparatus for data placement in a storage device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819304A (en) * | 1996-01-29 | 1998-10-06 | Iowa State University Research Foundation, Inc. | Random access memory assembly |
US20030229753A1 (en) * | 2002-06-10 | 2003-12-11 | Samsung Electronics Co., Ltd. | Flash memory file system |
US20100262766A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Garbage collection for failure prediction and repartitioning |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173291B1 (en) * | 1997-09-26 | 2001-01-09 | Powerquest Corporation | Method and apparatus for recovering data from damaged or corrupted file storage media |
WO2000005652A1 (en) | 1998-07-24 | 2000-02-03 | Sun Microsystems, Inc. | Method and apparatus for achieving deterministic memory allocation response in a computer system |
US6434648B1 (en) * | 1998-12-10 | 2002-08-13 | Smart Modular Technologies, Inc. | PCMCIA compatible memory card with serial communication interface |
US6654773B2 (en) | 2001-02-27 | 2003-11-25 | Tajea Corporation | Method of deterministic garbage collection |
CN1359071A (zh) * | 2001-11-29 | 2002-07-17 | 上海格尔软件股份有限公司 | 彻底删除硬盘文件的方法 |
US7003621B2 (en) * | 2003-03-25 | 2006-02-21 | M-System Flash Disk Pioneers Ltd. | Methods of sanitizing a flash-based data storage device |
KR100876084B1 (ko) * | 2007-02-13 | 2008-12-26 | 삼성전자주식회사 | 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템 |
CN101046755B (zh) | 2006-03-28 | 2011-06-15 | 郭明南 | 一种计算机自动内存管理的系统及方法 |
US9207876B2 (en) | 2007-04-19 | 2015-12-08 | Microsoft Technology Licensing, Llc | Remove-on-delete technologies for solid state drive optimization |
US20090070699A1 (en) * | 2007-09-07 | 2009-03-12 | Alexis Birkill | Keeping Track of Progress Bar Position During an Extended Task in a Computer System |
US8880775B2 (en) * | 2008-06-20 | 2014-11-04 | Seagate Technology Llc | System and method of garbage collection in a memory device |
US20100287217A1 (en) * | 2009-04-08 | 2010-11-11 | Google Inc. | Host control of background garbage collection in a data storage device |
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 |
US8458417B2 (en) * | 2010-03-10 | 2013-06-04 | Seagate Technology Llc | Garbage collection in a storage device |
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 |
CN102622310A (zh) * | 2011-01-30 | 2012-08-01 | 成都市华为赛门铁克科技有限公司 | 无效数据擦除方法、装置及系统 |
EP2631916B1 (en) * | 2011-09-06 | 2015-08-26 | Huawei Technologies Co., Ltd. | Data deletion method and apparatus |
JP5687648B2 (ja) | 2012-03-15 | 2015-03-18 | 株式会社東芝 | 半導体記憶装置およびプログラム |
US9323667B2 (en) * | 2012-04-12 | 2016-04-26 | Violin Memory Inc. | System and method for managing trim operations in a flash memory system using mapping tables and block status tables |
US9251067B1 (en) * | 2012-11-01 | 2016-02-02 | Western Digital Technologies, Inc. | High speed trim command processing in a solid state drive |
US9514041B2 (en) * | 2013-03-08 | 2016-12-06 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
US20140359198A1 (en) | 2013-05-28 | 2014-12-04 | Apple Inc. | Notification of storage device performance to host |
CN103391367A (zh) * | 2013-07-19 | 2013-11-13 | 蓝盾信息安全技术股份有限公司 | 一种手机丢失后数据防盗的方法 |
TWI594244B (zh) | 2013-08-30 | 2017-08-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
US9363085B2 (en) * | 2013-11-25 | 2016-06-07 | Seagate Technology Llc | Attestation of data sanitization |
CN104808951B (zh) * | 2014-01-28 | 2018-02-09 | 国际商业机器公司 | 进行存储控制的方法和设备 |
US9383926B2 (en) | 2014-05-27 | 2016-07-05 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
US20160034217A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Memory controller configured to control data sanitization and memory system including the same |
TWI545432B (zh) | 2014-08-04 | 2016-08-11 | 群聯電子股份有限公司 | 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置 |
US9606733B2 (en) * | 2014-11-10 | 2017-03-28 | Silicon Motion, Inc. | Data storage device and operating method |
US9891833B2 (en) * | 2015-10-22 | 2018-02-13 | HoneycombData Inc. | Eliminating garbage collection in nand flash devices |
TWI622923B (zh) * | 2016-05-04 | 2018-05-01 | 群聯電子股份有限公司 | 整理指令處理方法、記憶體控制電路單元與記憶體儲存裝置 |
CN106294007B (zh) * | 2016-08-05 | 2020-03-24 | 联想(北京)有限公司 | 一种数据恢复方法及装置 |
-
2017
- 2017-01-12 US US15/404,407 patent/US10452532B2/en not_active Expired - Fee Related
-
2018
- 2018-01-10 CN CN201880005442.1A patent/CN110114758B/zh active Active
- 2018-01-10 EP EP18738728.7A patent/EP3568768A4/en active Pending
- 2018-01-10 WO PCT/US2018/013048 patent/WO2018132396A1/en unknown
- 2018-01-12 TW TW107101143A patent/TWI694329B/zh active
-
2019
- 2019-05-03 US US16/402,560 patent/US10891225B2/en active Active
-
2020
- 2020-11-16 US US17/099,071 patent/US11593259B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5819304A (en) * | 1996-01-29 | 1998-10-06 | Iowa State University Research Foundation, Inc. | Random access memory assembly |
US20030229753A1 (en) * | 2002-06-10 | 2003-12-11 | Samsung Electronics Co., Ltd. | Flash memory file system |
US20100262766A1 (en) * | 2009-04-08 | 2010-10-14 | Google Inc. | Garbage collection for failure prediction and repartitioning |
Also Published As
Publication number | Publication date |
---|---|
TW201841117A (zh) | 2018-11-16 |
WO2018132396A1 (en) | 2018-07-19 |
CN110114758B (zh) | 2024-04-12 |
EP3568768A1 (en) | 2019-11-20 |
CN110114758A (zh) | 2019-08-09 |
US10452532B2 (en) | 2019-10-22 |
US11593259B2 (en) | 2023-02-28 |
US10891225B2 (en) | 2021-01-12 |
US20180196743A1 (en) | 2018-07-12 |
EP3568768A4 (en) | 2020-10-21 |
US20190258569A1 (en) | 2019-08-22 |
US20210073120A1 (en) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI694329B (zh) | 用於記憶體之針對性淨除之方法及設備 | |
US10013307B1 (en) | Systems and methods for data storage devices to use external resources | |
US9448919B1 (en) | Data storage device accessing garbage collected memory segments | |
US9923562B1 (en) | Data storage device state detection on power loss | |
US8904090B2 (en) | Non-volatile memory device, devices having the same, and method of operating the same | |
JP5649742B2 (ja) | トランザクションログの復元 | |
US9582416B2 (en) | Data erasing method, memory control circuit unit and memory storage apparatus | |
US9665481B2 (en) | Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit | |
US9280460B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
TWI645404B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
US9176865B2 (en) | Data writing method, memory controller, and memory storage device | |
US20130013853A1 (en) | Command executing method, memory controller and memory storage apparatus | |
US10963175B2 (en) | Apparatus and method for searching valid data in memory system | |
US8589619B2 (en) | Data writing method, memory controller, and memory storage apparatus | |
TWI646535B (zh) | 資料儲存裝置以及非揮發式記憶體操作方法 | |
JP2013506190A (ja) | ストライプベースのメモリ動作 | |
KR20200027045A (ko) | 메모리 어드레싱 | |
CN114730290A (zh) | 将变化日志表移动至与分区对准 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
TW201413450A (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
US10248594B2 (en) | Programming interruption management | |
KR20200121068A (ko) | 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러 | |
JP2024503956A (ja) | メモリデバイスのデフラグメンテーションのためのシステムおよび方法 | |
US20240069750A1 (en) | Storage device including nonvolatile memory device and operating method of storage device |