CN108415663A - 数据存储装置的操作方法 - Google Patents
数据存储装置的操作方法 Download PDFInfo
- Publication number
- CN108415663A CN108415663A CN201711121891.6A CN201711121891A CN108415663A CN 108415663 A CN108415663 A CN 108415663A CN 201711121891 A CN201711121891 A CN 201711121891A CN 108415663 A CN108415663 A CN 108415663A
- Authority
- CN
- China
- Prior art keywords
- operating method
- erasing
- physical address
- reference value
- memory block
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- 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
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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
- 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
- G06F2212/1036—Life time enhancement
-
- 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/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
-
- 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
-
- 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/7211—Wear leveling
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种数据存储装置的操作方法,其包括:响应于第一事件,存储对应于物理地址的擦除计数作为参考值;响应于第二事件,将擦除计数的当前值与参考值进行比较;以及根据比较的结果,对物理地址选择性地执行清除操作。
Description
相关申请的交叉引用
本申请要求于2017年2月9日向韩国知识产权局提交的申请号为10-2017-0018107的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
各个实施例总体涉及一种数据存储装置,并且更特别地,涉及一种包括非易失性存储器装置的数据存储装置的操作方法。
背景技术
数据存储装置响应于写入请求来存储由外部装置提供的数据。数据存储装置也可以响应于读取请求将存储的数据提供给外部装置。使用数据存储装置的外部装置的示例包括计算机、数码相机、蜂窝电话等。在外部装置的制造期间数据存储装置可以被嵌入在外部装置中或被单独制造然后连接到外部装置。
发明内容
在实施例中,数据存储装置的操作方法可以包括:响应于第一事件,存储对应于物理地址的擦除计数作为参考值;响应于第二事件,将擦除计数的当前值与参考值进行比较;以及根据比较的结果,对物理地址选择性地执行清除(purge)操作。
在实施例中,数据存储装置的操作方法可以包括:响应于第一事件,存储对应于物理地址的擦除计数作为参考值;响应于第二事件,将擦除计数的当前值与参考值进行比较;以及根据比较的结果,选择性地跳过(skipping)对物理地址执行擦除操作。
在实施例中,数据存储装置的操作方法可以包括:响应于从外部装置传输的清除请求,将对应于物理地址的擦除计数与参考值进行比较;以及根据比较的结果,选择性地跳过对物理地址执行清除操作。
附图说明
通过参照附图描述本发明的各个实施例,本发明的以上和其它特征及优点对于本发明所属领域的技术人员将变得更加显而易见,其中:
图1是示出根据本发明的实施例的数据存储装置的框图。
图2是解释图1的映射单元的取消映射(unmap)操作的简图。
图3是解释图1的清除执行单元的清除操作的简图。
图4是解释图1的参考值管理单元和清除确定单元的操作的简图。
图5是解释使用参考值表管理参考值的方法的简图。
图6是解释根据本发明实施例的数据存储装置的操作方法的流程图。
图7是示出根据本发明的实施例的固态驱动器(SSD)的框图。
图8是示出根据本发明的实施例的数据处理***的框图。
具体实施方式
在下文中,将通过本发明的示例性实施例参照附图来描述根据本发明的数据存储装置及其操作方法。然而,本发明可以不同的形式实施并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例以使本发明所属领域的技术人员可以实施本发明的技术概念的程度来详细描述本发明。
应当理解的是,本发明的实施例不限于附图中所示的细节,并且附图不一定按比例绘制,并且在一些情况下,为了更清楚地描绘本发明的某些特征,比例可能已经被夸大。虽然使用特定术语,但是应当理解的是,使用的术语仅用于描述特定实施例,并不旨在限制本发明的范围。
将进一步理解的是,当一个元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。
当在本文中与项目列表一起使用时,短语“......和......中的至少一个”是指列表中的单个项目或列表中项目的任意组合。例如,“A、B和C中的至少一个”是指只有A、或只有B、或只有C、或A、B和C的任何组合。
如本文使用的术语“或”是指两种或更多种可选方案中的一种,而不是两者,也不是其任何组合。
如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定所述元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。
除非另有限定,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中限定的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文明确地如此限定。
在以下描述中,为了提供对本发明的彻底理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实践。在其它情况下,为了不使本发明被不必要地模糊,未详细地描述公知的进程结构和/或进程。
也应注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的元件(也可被称为特征)可单独使用或与另一实施例的其它元件结合使用,除非另有特别说明。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是说明根据本发明的实施例的数据存储装置10的框图。
数据存储装置10可以被配置成响应于来自外部装置(未示出)的写入请求来存储从外部装置提供的数据。并且,数据存储装置10可以被配置成响应于来自外部装置的读取请求将存储的数据提供给外部装置。
数据存储装置10可以被制备成以下形式:个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和微型MMC)、各种安全数字卡(SD、迷你SD和微型SD)、通用闪速存储器(UFS)、固态驱动器(SSD)等。
数据存储装置10可以包括控制器100和非易失性存储器装置200。
控制器100可以控制数据存储装置10的一般操作。控制器100可以响应于从外部装置传输的写入请求将数据存储在非易失性存储器装置200中,并且可以响应于从外部装置传输的读取请求来读取存储在非易失性存储器装置200中的数据并且将读取数据输出到外部装置。
并且,控制器100可以根据来自外部装置的请求对非易失性存储器装置200执行例如映射操作、取消映射操作和清除操作的管理操作。为此,控制器100可以包括映射单元110、参考值管理单元120、清除确定单元130和清除执行单元140。
映射单元110可以管理其中逻辑地址和物理地址被映射的映射表。逻辑地址可以是用于外部装置访问非易失性存储器装置200的地址,并且物理地址可以是指定非易失性存储器装置200的存储区域的实际地址。映射单元110可以将对应于从外部装置提供的数据的逻辑地址和在其中写入数据的存储区域的物理地址映射在映射表中。当外部装置发送对逻辑地址的读取请求时,映射单元110可以在映射表中检查被映射到逻辑地址的物理地址,并从对应于检查的物理地址的存储区域读取数据并且将数据提供给外部装置。
进一步地,映射单元110可以响应于来自外部装置的取消映射请求来执行取消映射操作。取消映射请求可以与映射到物理地址的至少一个逻辑地址相关联。映射单元110可以对请求取消映射的逻辑地址和映射到相应逻辑地址的物理地址取消映射。由于取消映射操作,对应于取消映射的逻辑地址的数据,即存储在对应于取消映射的物理地址的存储区域中的数据可能变成无效数据。稍后将参照图2详细描述用于执行取消映射操作的示例性方法。
当取消映射操作被执行时,参考值管理单元120可以生成对应于取消映射的物理地址的参考值。参考值管理单元120可以存储对应于取消映射的物理地址的擦除计数作为对应于取消映射的物理地址的参考值。对应于取消映射的物理地址的擦除计数可以是包括对应于取消映射的物理地址的存储区域的存储块(在下文中,被称为目标存储块)的擦除计数。参考值可以用于由清除确定单元130确定是否执行清除操作。后文将参照图4和图5详细描述用于生成参考值的示例性方法。
清除确定单元130可以响应于从外部装置接收的清除请求来确定是否执行清除操作。例如,清除请求可以包括对应于取消映射的逻辑地址的非易失性存储器装置200的数据的完全擦除。清除确定单元130可以将目标存储块的擦除计数的当前值与参考值进行比较。当作为比较结果,当前值与参考值相同时,清除确定单元130可以确定对目标存储块执行清除操作。然而,在当前值与参考值不同时,清除确定单元130可以确定不对目标存储块执行清除操作。后文将参照图4和图5详细描述清除确定单元130的示例性确定方法。
清除执行单元140可以根据清除确定单元130的确定来对目标存储块执行清除操作。清除操作可以包括对目标存储块的复制操作和擦除操作。对目标存储块的清除操作可以完全擦除对应于取消映射的逻辑地址的数据。后文将参照图3详细描述用于执行清除操作的示例性方法。
因此,根据本发明的实施例,清除执行单元140可以根据清除确定单元130的确定来跳过执行不必要的清除操作,从而减少存储器磨损并减少与数据存储装置10相关联的整体成本。
根据控制器100的控制,非易失性存储器装置200可以存储从控制器100传输的数据并且可以读取存储的数据并将读取数据传输到控制器100。非易失性存储器装置200可以包括多个存储块BK1至BKn。存储块可以是通过其非易失性存储器装置200执行擦除操作的单元。因此,非易失性存储器装置200可以通过擦除操作同时擦除存储在某个存储块中的数据。存储块BK1至BKn中的每一个可以包括多个存储区域AR1至ARm。当执行写入操作或读取操作时,非易失性存储器装置200可以同时访问一个或多个存储块的一个或多个存储区域。
非易失性存储器装置200可以是包括以下的任何合适的存储器装置:诸如NAND闪存或NOR闪存的闪速存储器、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
虽然在图1中示出数据存储装置10包括一个非易失性存储器装置200,但是应当注意的是,包括在数据存储装置10中的非易失性存储器装置的数量不限于此。例如,两个或更多个非易失性存储器装置可以联接到控制器100。
图2是解释图1的映射单元110的取消映射操作的简图。
参照图2,示出由映射单元110管理的映射表MT。映射表MT可以包括被映射到逻辑地址LA的物理地址PA。例如,参照映射表MT,逻辑地址“1”可以被映射到物理地址“BK1_1”。物理地址“BK1_1”可以是指定存储块BK1的第一存储区域的地址。此外,映射表MT可以包括对应于各个逻辑地址LA的取消映射的字段UNMAP。
当与逻辑地址“1”相关联的取消映射请求从外部装置被接收时,映射单元110可以如下执行取消映射操作。映射单元110可以对逻辑地址“1”和物理地址“BK1_1”取消映射。例如,映射单元110可以通过标记映射表MT中对应于逻辑地址“1”的取消映射字段UNMAP来执行取消映射操作。更具体地,由于通过利用指示物理地址BK1_1的数据无效的标记来标记取消映射字段UNMPA的取消映射操作,对应于取消映射的逻辑地址“1”的数据,即存储在取消映射的物理地址“BK1_1”的存储区域中的数据DT1变成无效数据。
在下文中,映射单元110可以通过检查取消映射字段UNMAP的标记得知逻辑地址“1”被取消映射并且数据DT1是无效数据。因此,如果外部装置传输对逻辑地址“1”的读取请求,映射单元110可以通过检查对应于逻辑地址“1”的取消映射字段UNMAP的标记来通知外部装置逻辑地址“1”被取消映射。
图3是解释图1的清除执行单元140的清除操作的简图。
参照图3,清除执行单元140可以响应于从外部装置接收的清除请求来执行清除操作。清除请求可以向非易失性存储器装置200请求对对应于先前被取消映射的至少一个逻辑地址的数据的完全擦除。图3示出如图2所示的对被取消映射的逻辑地址“1”的清除操作的示例。当确定对应于取消映射的逻辑地址“1”的数据DT1被存储在存储块BK1中时,存储块BK1变成用于清除操作的目标存储块,并且清除执行单元140响应于对逻辑地址“1”的清除请求对目标存储块BK1执行清除操作。
更详细地,清除操作可以包括对目标存储块BK1的复制操作和擦除操作。清除执行单元140可以将存储在目标存储块BK1中的所有有效数据例如DT2至DT5复制到非易失性存储器装置200的另一存储块例如存储块BK2,并且然后可以对目标存储块BK1执行擦除操作。因此,对应于逻辑地址“1”的数据DT1可以从目标存储块BK1完全擦除。其中存储块BK1的数据被复制的非易失性存储器装置200的存储块BK2可以具有用于接收存储块BK1的有效数据的足够数量的空区域。例如,如图3所示,其中存储块BK1的数据被复制的非易失性存储器装置200的存储块BK2可以是空存储块。
应当注意的是,当清除请求对取消映射的物理地址“BK1_1”请求清除操作时,由于非易失性存储器装置200以存储块为单元执行擦除操作,因此对整个目标存储块BK1执行清除操作。因此,清除操作可以作为增加成本并且加速存储器磨损的因素。
同时,外部装置可以在传输取消映射请求之后利用时间间隔延迟传输清除请求。在该情况下,在逻辑地址“1”被取消映射之后,在清除请求被传输之前,图3的目标存储块BK1可以已经通过控制器100的例如垃圾收集操作的内部操作被擦除。因此,当清除请求被传输时,目标存储块BK1可以是空存储块,或者替换无效数据的新数据可以被存储在其中。在这方面,即使对应于取消映射的逻辑地址“1”的数据DT1已经被擦除,如果对存储块BK1执行清除操作,成本可能增加并且存储器磨损可能加速。因此,为了解决该问题,响应于来自外部装置的清除请求,根据本实施例的清除确定单元130可以确定实际上是否需要对目标存储块BK1的清除操作。
图4是解释图1的参考值管理单元120和清除确定单元130的操作的简图。图4示出当分别在时间T1和T2处利用其间的时间间隔传输取消映射请求和清除请求时的映射表MT和擦除计数表EWCT。映射表MT可以包括逻辑地址LA和物理地址PA之间的映射关系,并且擦除计数表EWCT可以包括各个存储块BK1至BKn的擦除计数EWC。
参照图4,在时间T1处,控制器100可以从外部装置接收对逻辑地址“1”和“3”的取消映射请求。然后,映射单元110可以与以上参照图2描述的相同的方式在映射表MT中标记对应于逻辑地址“1”和“3”的取消映射字段UNMAP。
参考值管理单元120可以将对应于取消映射的物理地址“BK1_1”和“BK2_4”的擦除计数EWC,即“51”和“70”作为取消映射的物理地址“BK1_1”和“BK2_4”的参考值RFV存储在映射表MT中。换言之,包括取消映射的物理地址“BK1_1”和“BK2_4”的存储块BK1和BK2变成目标存储块,并且目标存储块BK1和BK2的擦除计数EWC可以变成参考值RFV。
然后,在时间T2处,控制器100可以从外部装置接收清除请求。首先,清除确定单元130可以通过检查标记的取消映射字段UNMAP来确定物理地址“BK1_1”已经被取消映射。在其中物理地址“BK1_1”在时间T1和T2之间已经经历擦除操作的情况下,物理地址“BK1_1”可以处于其中其被映射到另一逻辑地址的状态。因此,在时间T2处取消映射字段UNMAP的标记可以意味着物理地址“BK1_1”在时间T2之前已经被取消映射,或者可以意味着即使在时间T2处相应逻辑地址“1”处于取消映射的状态。
清除确定单元130可以将对应于已经被取消映射的物理地址“BK1_1”的当前擦除计数“51”与参考值“51”进行比较。当前擦除计数“51”与参考值“51”相同的事实意味着目标存储块BK1在时间T1和T2之间尚未被擦除。即,这意味着对应于取消映射的逻辑地址“1”的数据仍然被存储在目标存储块BK1中。因此,由于当前擦除计数“51”与参考值“51”相同,因此清除确定单元130接着可以确定对目标存储块BK1执行清除操作。
类似地,清除确定单元130可以通过检查标记的取消映射字段UNMAP来确定物理地址“BK2_4”已经被取消映射。清除确定单元130可以将对应于物理地址“BK2_4”的当前擦除计数“72”与参考值“70”进行比较。当前擦除计数“72”与参考值“70”不同的事实意味着目标存储块BK2在时间T1和T2之间已经被擦除。即,这意味着对应于取消映射的逻辑地址“3”的数据未保留在目标存储块BK2中。因此,由于当前擦除计数“72”与参考值“70”不同,因此清除确定单元130然后可以确定不对目标存储块BK2执行清除操作。
以该方式,对目标存储块BK2的不必要的清除操作被省略,因此减少成本和存储器磨损。
图5是解释使用参考值表RFT管理参考值RFV的方法的简图。除了参考值RFV未被存储在映射表MT中而是被存储在单独的参考值表RFT中之外,图5中所示的情况可以与图4所示的情况基本相同。
例如,参考值管理单元120可以使用参考值表RFT来管理参考值RFV。参考值表RFT可以包括对应于目标存储块BK1和BK2的参考值RFV。因此,当清除请求被接收时,针对目标存储块BK1和BK2中的每一个,清除确定单元130可以将擦除计数表TWCT的当前擦除计数EWC和参考值表RFT的参考值RFV进行比较。清除确定单元130可以与以上参照图4描述的方法相同的方式根据比较结果来确定是否对目标存储块BK1和BK2执行清除操作。
图6是解释根据本发明实施例的数据存储装置10的操作方法的流程图。
在步骤S110中,控制器100可以从外部装置接收取消映射请求。
在步骤S120中,映射单元110可以对请求取消映射的逻辑地址和映射到相应逻辑地址的物理地址取消映射。
在步骤S130中,参考值管理单元120可以在取消映射时存储对应于取消映射的物理地址的擦除计数作为对应于取消映射的物理地址的参考值。对应于取消映射的物理地址的擦除计数可以是包括在取消映射时对应于取消映射的物理地址的存储器区域的目标存储块的擦除计数。
然后,在步骤S140中,控制器100可以从外部装置接收清除请求。
在步骤S150中,清除确定单元130可以将对应于已经被取消映射的物理地址的擦除计数,即目标存储块的当前擦除计数与对应于已经被取消映射的物理地址的参考值进行比较。
在步骤S160中,清除确定单元130可以确定当前值是否与参考值相同。当当前值与参考值相同时,进程可以进行到步骤S170。在当前值与参考值不同时,进程可以进行到步骤S180。
在步骤S170中,清除确定单元130可以确定对目标存储块执行清除操作。因此,清除执行单元140可以对目标存储块执行清除操作。清除操作可以包括对目标存储块的复制操作和擦除操作。因此,对目标存储块的清除操作可以完全擦除对应于取消映射的逻辑地址的数据。
在步骤S180中,清除确定单元130可以确定不对目标存储块执行清除操作。因此,清除执行单元140可以跳过对目标存储块执行清除操作。
图7是示出根据本发明的实施例的固态驱动器(SSD)1000的框图。
SSD 1000可以包括控制器1100和存储介质1200。
控制器1100可以控制主机装置1500和存储介质1200之间的数据交换。控制器1100可以包括通过内部总线1170联接的处理器1110、随机存取存储器(RAM)1120、只读存储器(ROM)1130、错误校正码(ECC)单元1140、主机接口1150和存储介质接口1160。
处理器1110可以控制控制器1100的一般操作。根据来自主机装置1500的数据处理请求,处理器1110可以将数据存储在存储介质1200中并且从存储介质1200读取存储的数据。为了有效地管理存储介质1200,处理器1110可以控制SSD 1000的的内部操作,诸如合并操作、磨损均衡操作等。
处理器1110可以基本相同的方式执行图1所示的映射单元110、参考值管理单元120、清除确定单元130和清除执行单元140的操作。即,响应于从例如主机装置1500的外部装置传输的取消映射请求,处理器1110可以存储对应于物理地址的擦除计数作为参考值。处理器1110可以响应于利用来自取消映射操作的时间延迟从外部装置传输的清除请求将擦除计数的当前值与参考值进行比较。处理器1110可以根据比较结果对物理地址选择性地执行清除操作。
RAM 1120可以存储待由处理器1110使用的程序和编程数据。RAM1120可以在将从主机接口1150传输的数据传送到存储介质1200之前临时存储从主机接口1150传输的数据,并且可以在将从存储介质1200传输的数据传送到主机装置1500之前临时存储从存储介质1200传输的数据。
ROM 1130可以存储待由处理器1110读取的编程代码。编程代码可以包括由处理器1110处理的命令,以使处理器1110控制控制器1100的内部单元。
ECC单元1140可以编码待存储在存储介质1200中的数据,并且可以解码从存储介质1200读取的数据。ECC单元1140可以根据ECC算法来检测和校正数据中发生的错误。
主机接口1150可以与主机装置1500交换数据处理请求、数据等。
存储介质接口1160可以将控制信号和数据传输到存储介质1200。存储介质接口1160可以接收来自存储介质1200的数据。存储介质接口1160可以通过多个通道CH0至CHn与存储介质1200联接。
存储介质1200可以包括多个非易失性存储器装置NVM0至NVMn。多个非易失性存储器装置NVM0至NVMn中的每一个可以根据控制器1100的控制来执行包括写入操作、读取操作、取消映射操作和清除操作的操作。
图8是示出根据本发明的实施例的数据处理***2000的框图。
数据处理***2000可以包括计算机、膝上型计算机、上网本、智能电话、数字TV、数码相机、导航仪等。数据处理***2000可以包括主处理器2100、主存储器装置2200、数据存储装置2300和输入/输出装置2400。数据处理***2000的内部单元可以通过***总线2500交换数据、控制信号等。
主处理器2100可以控制数据处理***2000的一般操作。主处理器2100可以是例如微处理器的中央处理单元。主处理器2100可以对主存储器装置2200执行诸如操作***、应用、装置驱动器等的软件。
主存储器装置2200可以存储由主处理器2100使用的程序和编程数据。主存储器装置2200可以临时存储待传输到数据存储装置2300和输入/输出装置2400的数据。
数据存储装置2300可以包括控制器2310和存储介质2320。数据存储装置2300可以被配置并且大体上类似于图1的数据存储装置10来操作。
输入/输出装置2400可以包括键盘、扫描仪、触摸屏、屏幕监视器、打印机、鼠标等,其能够与用户交换数据,诸如从用户接收用于控制数据处理***2000的命令或将处理结果提供给用户。
根据实施例,数据处理***2000可以通过诸如局域网(LAN)、广域网(WAN)、无线网络等的网络2600与至少一个服务器2700通信。数据处理***2000可以包括访问网络2600的网络接口(未示出)。
虽然上面已经描述各个实施例,但是本领域技术人员将理解,描述的实施例仅是示例。因此,本文描述的数据存储装置及其操作方法不应当限于描述的实施例。对本发明所属领域的技术人员将显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种其它改变和变型。
Claims (20)
1.一种数据存储装置的操作方法,其包括:
响应于第一事件,存储对应于物理地址的擦除计数作为参考值;
响应于第二事件,将所述擦除计数的当前值与所述参考值进行比较;以及
根据比较的结果,对所述物理地址选择性地执行清除操作。
2.根据权利要求1所述的操作方法,其中所述第一事件是对映射到所述物理地址的逻辑地址的取消映射请求并且所述第二事件是从所述外部装置传输的清除请求。
3.根据权利要求2所述的操作方法,其进一步包括:
响应于所述取消映射请求对所述逻辑地址和所述物理地址取消映射。
4.根据权利要求1所述的操作方法,其中所述清除操作的选择性地执行包括:
当所述当前值与所述参考值不同时,跳过执行所述清除操作。
5.根据权利要求1所述的操作方法,其中所述清除操作的选择性地执行包括:
当所述当前值与所述参考值相同时,执行所述清除操作。
6.根据权利要求5所述的操作方法,其中所述清除操作的执行包括:
对包括对应于所述物理地址的存储区域的目标存储块中的有效数据执行复制操作,并复制到另一存储块;以及
对所述目标存储块装置执行擦除操作。
7.根据权利要求1所述的操作方法,其中所述擦除计数包括包含对应于所述物理地址的存储区域的存储块的擦除计数。
8.一种数据存储装置的操作方法,其包括:
响应于第一事件,存储对应于物理地址的擦除计数作为参考值;
响应于第二事件,将所述擦除计数的当前值与所述参考值进行比较;以及
根据比较的结果,选择性地跳过对所述物理地址执行清除操作。
9.根据权利要求8所述的操作方法,其中所述第一事件包括对映射到所述物理地址的逻辑地址的取消映射请求。
10.根据权利要求9所述的操作方法,其进一步包括:
响应于所述取消映射请求对所述逻辑地址和所述物理地址取消映射。
11.根据权利要求8所述的操作方法,其中所述第二事件包括来自所述外部装置的擦除操作的请求。
12.根据权利要求8所述的操作方法,其中执行所述擦除操作的选择性地跳过包括:
当所述当前值与所述参考值不同时,跳过执行所述擦除操作。
13.根据权利要求8所述的操作方法,其中执行所述擦除操作的选择性地跳过包括:
当所述当前值与所述参考值相同时,执行所述擦除操作。
14.根据权利要求13所述的操作方法,其中执行所述擦除操作的选择性地跳过进一步包括:
当所述当前值与所述参考值相同时,在所述擦除操作的执行之前,对包括对应于所述物理地址的存储区域的目标存储块中的有效数据执行复制操作,并复制到另一存储块。
15.根据权利要求8所述的操作方法,其中所述擦除计数包括包含对应于所述物理地址的存储区域的存储块的擦除计数。
16.一种数据存储装置的操作方法,其包括:
响应于从外部装置传输的清除请求,将对应于物理地址的擦除计数与参考值进行比较;以及
根据所述比较的结果,选择性地跳过对所述物理地址执行清除操作。
17.根据权利要求16所述的操作方法,其进一步包括:
在接收所述清除请求之前,从所述外部装置接收对映射到所述物理地址的逻辑地址的取消映射请求;以及
响应于所述取消映射请求对所述逻辑地址和所述物理地址取消映射。
18.根据权利要求17所述的操作方法,其进一步包括:
响应于所述取消映射请求存储所述擦除计数作为所述参考值。
19.根据权利要求17所述的操作方法,其中执行所述清除操作的选择性地跳过包括:
当所述当前值与所述参考值不同时,跳过执行所述清除操作。
20.根据权利要求17所述的操作方法,其中执行所述清除操作的选择性地跳过包括:
当所述当前值与所述参考值相同时,执行所述清除操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0018107 | 2017-02-09 | ||
KR1020170018107A KR20180093153A (ko) | 2017-02-09 | 2017-02-09 | 데이터 저장 장치의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108415663A true CN108415663A (zh) | 2018-08-17 |
CN108415663B CN108415663B (zh) | 2021-12-17 |
Family
ID=63037183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711121891.6A Active CN108415663B (zh) | 2017-02-09 | 2017-11-14 | 数据存储装置的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10621087B2 (zh) |
KR (1) | KR20180093153A (zh) |
CN (1) | CN108415663B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190044968A (ko) * | 2017-10-23 | 2019-05-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102411290B1 (ko) * | 2017-10-24 | 2022-06-22 | 삼성전자주식회사 | 선택적으로 퍼지 동작을 수행하도록 구성되는 호스트 장치 및 스토리지 장치를 포함하는 스토리지 시스템 |
KR102420158B1 (ko) * | 2017-12-27 | 2022-07-13 | 삼성전자주식회사 | 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법 |
US10957381B1 (en) * | 2019-08-28 | 2021-03-23 | Micron Technology, Inc. | Metadata grouping for un-map techniques |
US11544182B2 (en) * | 2020-06-30 | 2023-01-03 | Micron Technology, Inc. | Smart factory reset procedure using one or more commands at least on user data and system data |
US20220075523A1 (en) * | 2020-09-08 | 2022-03-10 | Qualcomm Incorporated | Flash memory local purge |
KR20230000720A (ko) | 2021-06-25 | 2023-01-03 | 삼성전자주식회사 | 안전 소거를 수행하는 스토리지 장치 및 스토리지 장치의 동작방법 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804777A (zh) * | 2005-01-13 | 2006-07-19 | 国际商业机器公司 | 管理层次存储***中的数据的方法和*** |
US20100125696A1 (en) * | 2008-11-17 | 2010-05-20 | Prasanth Kumar | Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor |
CN101925884A (zh) * | 2007-11-28 | 2010-12-22 | 三德动力有限公司 | 增加存储器的备用空间以延长存储器的寿命 |
CN102150140A (zh) * | 2008-12-27 | 2011-08-10 | 株式会社东芝 | 存储器***、控制存储器***的方法和信息处理装置 |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
CN104102459A (zh) * | 2014-07-03 | 2014-10-15 | 优佰特电子科技(无锡)有限公司 | 一种闪存设备的数据处理方法及闪存设备 |
CN104951404A (zh) * | 2014-03-26 | 2015-09-30 | 三星电子株式会社 | 操作存储器***的非易失性存储器的方法 |
CN105893531A (zh) * | 2016-03-31 | 2016-08-24 | 武汉虹信技术服务有限责任公司 | PostgreSQL数据库海量数据管理方法及*** |
CN106201908A (zh) * | 2014-12-04 | 2016-12-07 | 爱思开海力士有限公司 | 包括半导体存储器件的存储***及其操作方法 |
CN106227469A (zh) * | 2016-07-28 | 2016-12-14 | 乐视控股(北京)有限公司 | 用于分布式存储集群的数据删除方法及*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080085574A (ko) | 2007-03-20 | 2008-09-24 | 삼성전자주식회사 | 비휘발성 메모리의 가비지 컬렉션을 위한 장치 및 방법 |
US20160078966A1 (en) * | 2014-09-14 | 2016-03-17 | Transcend Information, Inc. | Method of performing wear management in non-volatile memory devices |
US10331352B2 (en) * | 2016-06-06 | 2019-06-25 | Toshiba Memory Corporation | Dynamic processing of storage command based on internal operations of storage system |
-
2017
- 2017-02-09 KR KR1020170018107A patent/KR20180093153A/ko active Search and Examination
- 2017-09-13 US US15/703,068 patent/US10621087B2/en active Active
- 2017-11-14 CN CN201711121891.6A patent/CN108415663B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804777A (zh) * | 2005-01-13 | 2006-07-19 | 国际商业机器公司 | 管理层次存储***中的数据的方法和*** |
CN101925884A (zh) * | 2007-11-28 | 2010-12-22 | 三德动力有限公司 | 增加存储器的备用空间以延长存储器的寿命 |
US20100125696A1 (en) * | 2008-11-17 | 2010-05-20 | Prasanth Kumar | Memory Controller For Controlling The Wear In A Non-volatile Memory Device And A Method Of Operation Therefor |
CN101739344A (zh) * | 2008-11-17 | 2010-06-16 | 超捷公司 | 控制非易失性存储装置中损耗的存储器控制器及操作方法 |
CN102150140A (zh) * | 2008-12-27 | 2011-08-10 | 株式会社东芝 | 存储器***、控制存储器***的方法和信息处理装置 |
US20140215129A1 (en) * | 2013-01-28 | 2014-07-31 | Radian Memory Systems, LLC | Cooperative flash memory control |
CN104951404A (zh) * | 2014-03-26 | 2015-09-30 | 三星电子株式会社 | 操作存储器***的非易失性存储器的方法 |
CN104102459A (zh) * | 2014-07-03 | 2014-10-15 | 优佰特电子科技(无锡)有限公司 | 一种闪存设备的数据处理方法及闪存设备 |
CN106201908A (zh) * | 2014-12-04 | 2016-12-07 | 爱思开海力士有限公司 | 包括半导体存储器件的存储***及其操作方法 |
CN105893531A (zh) * | 2016-03-31 | 2016-08-24 | 武汉虹信技术服务有限责任公司 | PostgreSQL数据库海量数据管理方法及*** |
CN106227469A (zh) * | 2016-07-28 | 2016-12-14 | 乐视控股(北京)有限公司 | 用于分布式存储集群的数据删除方法及*** |
Non-Patent Citations (2)
Title |
---|
冒伟等: "基于相变存储器的存储技术研究综述", 《计算机学报》 * |
史高峰等: "SSD数据结构与算法综述", 《微型电脑应用》 * |
Also Published As
Publication number | Publication date |
---|---|
US10621087B2 (en) | 2020-04-14 |
US20180225200A1 (en) | 2018-08-09 |
KR20180093153A (ko) | 2018-08-21 |
CN108415663B (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415663A (zh) | 数据存储装置的操作方法 | |
CN109144888B (zh) | 存储器*** | |
TWI297893B (en) | Method and apparatus for managing an erase count block | |
US7783851B2 (en) | Methods of reusing log blocks in non-volatile memories and related non-volatile memory devices | |
US8332574B2 (en) | Method for efficient storage of metadata in flash memory | |
US20160062885A1 (en) | Garbage collection method for nonvolatile memory device | |
US20090070520A1 (en) | Semiconductor storage device and method of controlling semiconductor storage device | |
CN110058796A (zh) | 数据储存装置 | |
US20120246397A1 (en) | Storage device management device and method for managing storage device | |
CN106164873B (zh) | 当到达寿命终止条件时约束写入固态存储器的方法和装置 | |
CN108874302A (zh) | 数据存储装置及其操作方法 | |
WO2014074449A2 (en) | Wear leveling in flash memory devices with trim commands | |
CN108108261A (zh) | 数据存储装置及其操作方法 | |
US11662952B2 (en) | Memory system and method of controlling nonvolatile memory and for reducing a buffer size | |
CN107967119A (zh) | 存储设备、存储***和计算设备 | |
CN107133121A (zh) | 数据存储装置及其操作方法 | |
CN107678976A (zh) | 数据存储装置及其操作方法 | |
CN109508142A (zh) | 数据存储装置及其操作方法 | |
CN113851172B (zh) | 存储器子***映射中的错误处置优化 | |
JP2008159013A (ja) | 半導体記憶装置 | |
CN109521944A (zh) | 数据储存装置以及数据储存方法 | |
CN106980466A (zh) | 数据存储装置及其操作方法 | |
CN108628545A (zh) | 数据存储装置及其操作方法 | |
JP4242245B2 (ja) | フラッシュrom制御装置 | |
US8972650B2 (en) | Methods and systems for performing efficient page reads in a non-volatile memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |