CN109240937B - 数据存储装置及其操作方法 - Google Patents

数据存储装置及其操作方法 Download PDF

Info

Publication number
CN109240937B
CN109240937B CN201711472631.3A CN201711472631A CN109240937B CN 109240937 B CN109240937 B CN 109240937B CN 201711472631 A CN201711472631 A CN 201711472631A CN 109240937 B CN109240937 B CN 109240937B
Authority
CN
China
Prior art keywords
data
garbage collection
memory block
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.)
Active
Application number
CN201711472631.3A
Other languages
English (en)
Other versions
CN109240937A (zh
Inventor
金容兑
具德会
辛崇善
丁天玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN109240937A publication Critical patent/CN109240937A/zh
Application granted granted Critical
Publication of CN109240937B publication Critical patent/CN109240937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • 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/0253Garbage collection, i.e. reclamation of unreferenced 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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/061Improving I/O performance
    • 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/064Management of blocks
    • 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/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
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • 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/0608Saving storage space on storage systems

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)
  • Memory System (AREA)

Abstract

本发明提供一种数据存储装置的操作方法,该数据存储装置包括包含第一区域和第二区域的非易失性存储器装置,方法包括:将来自数据高速缓冲存储器的数据存储在第一区域中的存储块中;确定关于其中保存数据的第一区域的存储块中的、具有最小有效页面的第一目标存储块的第一垃圾收集成本;确定关于从其清除数据的第一区域的存储块中的、具有最小有效页面的第二目标存储块的第二垃圾收集成本;以及根据第一垃圾收集成本和第二垃圾收集成本的比较结果来执行垃圾收集操作以将垃圾收集目标存储块的有效数据复制到第二区域中的存储块中。

Description

数据存储装置及其操作方法
相关申请的交叉引用
本申请要求于2017年7月11日提交的申请号为10-2017-0087665的韩国专利申请的优先权,其通过引用而整体并入本文。
技术领域
各个实施例总体涉及一种使用非易失性存储器装置作为存储介质的数据存储装置。
背景技术
近来,计算机环境的范例可以转变至允许用户随时随地访问计算机系统的普适计算环境。由于该原因,诸如蜂窝电话、数码相机和笔记本电脑等的便携式电子装置的使用快速增长。便携式电子装置可以包括使用存储器装置的数据存储装置。数据存储装置可以被用于存储在便携式电子装置中使用的数据。
由于数据存储装置不包括机械驱动元件,因此使用存储器装置的数据存储装置可以具有优良的稳定性和耐久性。并且,数据存储装置的优点在于它可以快速访问数据并消耗少量的功率。数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪速存储(UFS)装置、固态驱动器(SSD)等。
发明内容
在实施例中,在一种数据存储装置的操作方法中,该所述数据存储装置包括非易失性存储器装置,该非易失性存储器装置包含在第一区域中的存储块和在第二区域中的存储块,该方法可以包括:将来自数据高速缓冲存储器的数据存储在第一区域中的存储块中,数据高速缓冲存储器被配置成临时存储从主机装置接收的数据;确定关于其中保存数据的第一区域中的存储块中的、具有最小有效页面(least valid page)的第一目标存储块的第一垃圾收集成本;确定关于从其清除数据的第一区域中的存储块中的、具有最小有效页面的第二目标存储块的第二垃圾收集成本;以及根据第一垃圾收集成本和第二垃圾收集成本的比较结果来执行垃圾收集操作以将垃圾收集目标存储块的有效数据复制到第二区域中的存储块中。
在实施例中,数据存储装置可以包括:非易失性存储器装置,其包括在第一区域中的存储块和在第二区域中的存储块;数据高速缓冲存储器,其被配置成临时存储通过主机装置的请求写入的数据;以及控制单元,其被配置成控制非易失性存储器装置以用于处理主机装置的请求。控制单元可以确定关于其中保存数据的第一区域的存储块中的、具有最小有效页面的第一目标存储块的第一垃圾收集成本,并且确定关于第一区域的存储块中的、具有最小有效页面的第二目标存储块的第二垃圾收集成本。控制单元可以根据第一垃圾收集成本和第二垃圾收集成本的比较结果来执行垃圾收集操作以将垃圾收集目标存储块的有效数据复制到第二区域中的存储块中。
根据示例性实施例,数据存储装置的垃圾收集操作可以被优化,使得数据存储装置可以具有快速的操作速度。
附图说明
图1是示出根据示例性实施例的数据存储装置的框图。
图2是示出加载到图1中的工作存储器中的固件的框图。
图3是示出由图2中的垃圾收集模块执行的垃圾收集操作的框图。
图4是示出根据示例性实施例的用于存储数据的方法的框图。
图5和图6是示出根据示例性实施例的用于处理临时存储在数据高速缓冲存储器中的数据的方法的框图。
图7是示出根据示例性实施例的数据存储装置的垃圾收集操作的流程图。
图8是示出数据高速缓冲存储器中的根据缓冲块中的每一个的有效页面计数和参考值的比较结果而可以保存数据的缓冲块和可以从其清除数据的缓冲块的框图。
图9是示出根据示例性实施例的用于计算垃圾收集成本的公式的简图。
图10是示出包括根据实施例的固态驱动器的数据处理系统的示例的简图。
图11是示出包括根据实施例的数据存储装置的数据处理系统的示例的简图。
图12是示出包括根据实施例的数据存储装置的数据处理系统的示例的简图。
图13是示出包括根据实施例的数据存储装置的网络系统的示例的简图。
图14是示出包括在根据本公开的实施例的数据存储装置中的非易失性存储器装置的示例的框图。
具体实施方式
在下文中,将通过实施例的各种示例并参照附图来描述示例性实施例。
图1是示出根据示例性实施例的数据存储装置100的框图。
参照图1,数据存储装置100可以被配置成存储待由诸如蜂窝电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐系统等的主机装置(未示出)访问的数据。在一些实施例中,数据存储装置100可以被称为存储器系统。
数据存储装置100可以根据诸如与主机装置的传输协议的主机接口而具有各种配置。例如,数据存储装置100可以包括:固态驱动器(SSD)、诸如MMC、eMMC或微型MMC的多媒体卡、诸如SD、迷你SD或微型SD的安全数字卡、通用存储总线(USB)、通用闪速存储装置(UFS)、个人计算机存储卡国际协会(PCMCIA)卡、外围组件互连(PCI)卡、PCI-e(高速PCI)卡、标准闪存(CF)卡、智能媒体卡、记忆棒等。
数据存储装置100可以具有各种封装类型。例如,数据存储设备100可以包括:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片封装(COB)、晶圆级制造封装(WFP)、晶圆级堆叠封装(WSP)等。
数据存储装置100可以包括控制器200和非易失性存储器装置300。控制器200可以包括主机接口单元210、控制单元220、工作存储器230、存储器控制单元240和数据高速缓冲存储器250。
主机接口单元210可以被配置成在主机装置和数据存储装置100之间接口连接。例如,主机接口单元210可以使用诸如包括以下的标准传输协议中的任意一种的主机接口与主机装置通信:通用串行总线(USB)、通用闪速存储(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)和PCI-e(高速PCI)协议。
控制单元220可以包括微控制单元(MCU)或中央处理单元(CPU)。控制单元220可以被配置成处理从主机装置接收的请求。为了处理请求,控制单元220可以被配置成驱动诸如加载到工作存储器230中的代码类型指令或算法的固件,并且控制功能块210、230、240和250以及非易失性存储器装置300。
工作存储器230可以包括诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)的存储器。工作存储器230可以被配置成存储由控制单元220驱动的固件。工作存储器230可以被配置为存储用于驱动软件的数据。
存储器控制单元240可以被配置成在控制单元220的控制下控制非易失性存储器装置300。在一些实施例中,存储器控制单元240可以被称为存储器接口单元。存储器控制单元240可以将控制信号传输到非易失性存储器装置300。控制信号可以包括用于控制非易失性存储器装置300的命令、地址等。存储器控制单元240可以将数据传输到非易失性存储器装置300并且从非易失性存储器装置300接收数据。
数据高速缓冲存储器250可以被配置成临时存储从主机装置接收并且将被传输到非易失性存储器装置300的数据。即,数据高速缓冲存储器250可以用作被配置成临时存储通过主机装置的请求写入的数据的写入高速缓冲存储器。
非易失性存储器装置300可以通过包括至少一条信号线的信道CH与控制器200连接,可以通过该信号线来传输命令、地址和控制信号。非易失性存储器装置300可以用作数据存储装置100的存储介质。
非易失性存储器装置300可以包括以下中的任意一个:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)装置、使用隧穿磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化合物的相变随机存取存储器(PCRAM)、使用过渡金属氧化物的电阻式随机存取存储器(RERAM)等。
非易失性存储器装置300可以包括具有多个存储器单元的存储器单元区域310。存储器单元区域310可以包括根据用途和操作分类的第一区域311和第二区域312。第一区域311和第二区域312中的存储器单元可以根据操作视角或者物理或结构视角来形成诸如块和页面的分层存储器单元集或存储器单元组。例如,与相同字线连接且被同时读取和写入的存储器单元可以形成页面。同时擦除的存储器单元可以形成存储块。
图2是示出加载到图1中的工作存储器230中的固件的框图。如上所述,加载到工作存储器230中的固件可以由控制单元220驱动。
参照图2,加载到工作存储器230中的固件可以包括被配置为执行各种功能的模块和用于驱动模块的元数据。例如,固件FW可以包括地址映射表MAP、损耗均衡模块WLM、坏块管理模块BBM和垃圾收集模块GCM。另外,固件FW可以进一步包括诸如被配置成并行地操作非易失性存储器装置300的交错模块、被配置成为意外断电准备的管理模块等的模块。
当主机装置可以访问数据存储装置100时,例如,当主机装置可以请求读取操作或写入操作时,主机装置可以将逻辑地址提供给数据存储装置100。控制单元220可以将逻辑地址转化或转换成非易失性存储器装置330的物理地址。控制单元220可以基于物理地址处理请求的操作。为了将逻辑地址转换成物理地址,固件FW可以包括地址映射表MAP。
损耗均衡模块WLM可以被配置成管理关于非易失性存储器装置300的存储器单元区域310中的存储块的损耗水平。非易失性存储器装置300的存储器单元可能由于擦除操作或写入操作而老化。在老化的存储器单元中,即,损耗的存储器单元中可能生成缺陷。损耗均衡模块WLM可以管理,使得存储块中的每一个具有相似的擦除-写入计数,以防止存储块中的任何一个被相对快速地损耗。
损耗均衡模块WLM可以被配置成管理非易失性存储器装置300的存储器单元区域310中的存储块中的缺陷存储块。如上所述,损耗的存储器单元可以具有缺陷。缺陷存储器单元中的数据可能无法被正常地读取。进一步地,数据可能无法被正常地写入或存储在缺陷存储器单元中。坏块管理模块BBM可以管理,使得包括缺陷存储器单元的存储块可以不被使用。
非易失性存储器装置300的擦除操作可能需要较长时间。为了提高擦除操作的操作速度,控制单元220可以将可以待被写入存储器单元(其中可以写入数据)中的数据存储到擦除的存储器单元。因此,有效数据和无效数据可以通过控制单元220的操作在非易失性存储器装置300中被混合。垃圾收集模块GCM可以执行垃圾收集操作来收集诸如存储块的某个存储器区域中的有效数据并且擦除无效数据。
图3是示出由图2中的垃圾收集模块执行的垃圾收集操作的框图。在图3中,每个存储块B1至B3可以包括四个页面P1至P4。包括在存储器单元区域310中的存储块和存储块中的每一个中的页面的数量可以被不同地改变。
当可以执行垃圾收集操作时,被选择作为垃圾收集操作的目标的存储块的有效数据可以被复制到空存储块中。例如,作为垃圾收集操作的目标的第一存储块B1的源页面P2和P3中的数据可以被复制到空存储块,即,第二存储块B2的目的地页面(destinationpages)P1和P2中。作为垃圾收集操作的目标的第三存储块B3的源页面P3和P4中的数据可以被复制到第二存储块B2的目的地页面P3和P4中。其中可以复制有效数据的第三存储块B3可以被擦除,使得第三存储块B3被改变为空存储块。
垃圾收集操作可以包括将有效数据复制到空存储块中的复制操作,即,有效数据的读取操作和读取数据的写入操作,以及其中可以复制有效数据的存储块的擦除操作,使得控制器200的资源可能不堪使用。此外,垃圾收集操作也可能需要较长时间。垃圾收集操作可以在不管主机的读取请求和写入请求的空闲时间中,或者是在执行主机装置的用以确保空区域的请求中,作为控制器200的内部操作被执行。因此,用于执行垃圾收集操作的时间可以被优化以提供关于主机装置的请求具有快速的操作速度和快速的响应速度的数据存储装置100。
图4是示出根据示例性实施例的用于存储数据的方法的框图。
参照图4,非易失性存储器装置300的第一区域311可以包括被擦除以具有与擦除状态相对应的阈值电压或者被编程以具有与一个编程状态相对应的阈值电压的单层存储器单元。可选地,非易失性存储器装置300的第一区域311可以包括被擦除以具有与擦除状态相对应的阈值电压或者被编程以具有与编程状态中的任意一个相对应的阈值电压的多层存储器单元。
非易失性存储器装置300的第二区域312可以包括被擦除以具有与擦除状态相对应的阈值电压或者被编程以具有与编程状态中的任意一个相对应的阈值电压的多层存储器单元。
当第一区域311可以包括单层存储器单元并且第二区域312可以包括多层存储器单元时,第一区域311的存储器单元中的位的可存储的数量可以少于第二区域312的存储器单元中的可存储的位。例如,当一位数据可以被存储在第一区域311的存储器单元中时,至少两位数据可以被存储在第二区域312的存储器单元中。进一步地,当两位数据可以被存储在第一区域311的存储器单元中时,至少三位数据可以被存储在第二区域312的存储器单元中。
由于第一区域311的存储器单元中的位的可存储的数量可以少于第二区域312的存储器单元中的位的可存储的数量,因此第一区域311中的存储器单元的操作速度可以快于第二区域312中的存储器单元的操作速度。控制器200可以使用第一区域311中的存储器单元的操作速度与第二区域312中的存储器单元的操作速度之间的差异来顺序地存储数据。
例如,为了快速地响应主机装置的请求,从主机装置接收的数据可以被首先存储在作为非易失性存储器的数据高速缓冲存储器250中。通过缓冲写入(BW)的操作,数据高速缓冲存储器250中的临时存储的数据(由斜线示出)可以被其次存储在第一区域311的存储器单元中。第一区域311的存储器单元中的数据可以通过垃圾收集操作GC被再次存储在第二区域312的存储器单元中。当数据通过上述方式被存储时,主机装置的请求可以被快速地处理。
图5和图6是示出根据示例性实施例的用于处理临时存储在数据高速缓冲存储器250中的数据的方法的框图。在图5和图6中,第一区域的存储块可以包括四个页面P1至P4。由于存储块可以执行缓冲写入操作,因此存储块可以被称为缓冲块。缓冲器块由图5中的“BFBLKa”表示,并且由图6中的“BFBLKb”表示。
保存参考值THk可以用于确定写入缓冲块的数据是否可以被保存在数据高速缓冲存储器250中。保存参考值THk可以由控制单元220来设置。保存参考值THk可以根据数据高速缓冲存储器250的大小而改变。例如,当数据高速缓冲存储器250可以具有较大存储容量时,保存参考值THk可以是较高值。相反,当数据高速缓冲存储器250可以具有较小存储容量时,保存参考值THk可以是较低值。在该示例性实施例中,保存参考值THk可以是3。
当缓冲块的所有页面可以被写入时,其中可以存储有效数据的页面的数量可以被计数。在下文中,缓冲块中的有效页面的数量可以被称为有效页面计数VPC。
参照图5,由于第三页面P3可以是有效页面,因此在缓冲块BFBLKa的所有页面P1至P4可以被写入之后,缓冲块BFBLKa的有效页面计数VPC可以被设置为“1”。参照图6,由于第一页面P1、第三页面P3和第四页面P4可以是有效页面,因此在缓冲块BFBLKb的所有页面P1至P4可以被写入之后,缓冲块BFBLKb的有效页面计数VPC可以被设置为“3”。
根据缓冲块的有效页面计数VPC和保存参考值THk的比较结果,写入缓冲块的数据可以从数据高速缓冲存储器250清除或者被保存在数据高速缓冲存储器250中。即,当缓冲块的有效页面计数VPC可以不少于保存参考值THk时,在缓冲块中写入的数据可以从数据缓冲存储器250清除。相反,当缓冲块的有效页面计数VPC可以少于保存参考值THk时,在缓冲块中写入的数据可以被保存在数据缓冲存储器250中。
再次参照图5,在可以具有低于为3的保存参考值THk的为1的有效页面计数VPC的缓冲块BFBLKa中写入的数据D1可以被存储在数据高速缓冲存储器250以及缓冲块BFBLKa中。保存在数据高速缓冲存储器250中的数据D1可以被用于垃圾收集操作中。再次参照图6,在可以具有不少于为3的保存参考值THk的为3的有效页面计数VPC的缓冲块BFBLKb中写入的数据D3、D4和D5可以被存储在缓冲块BFBLKb中。写入缓冲块BFBLKb中的数据D3、D4和D5可以从数据高速缓冲存储器250清除。
图7是示出根据示例性实施例的数据存储装置的垃圾收集操作的流程图。图8是示出数据高速缓冲存储器中的根据缓冲块中的每一个的有效页面计数VPC和保存参考值THk的比较结果而可以保存数据的缓冲块和可以从其清除数据的缓冲块的框图。图9是示出根据示例性实施例的用于计算垃圾收集成本的公式的简图。
参照图7至图9,在步骤S110中,可以选择可保存数据的数据高速缓冲存储器的缓冲块中的具有最小有效页面计数的缓冲块作为在下文中被称为第一目标块的第一垃圾收集目标块。
在步骤S120中,可以选择可从其清除数据的数据高速缓冲存储器的缓冲块中的具有最小有效页面计数的缓冲块作为在下文中被称为第二目标块的第二垃圾收集目标块。
例如,如图8所示,可以选择可保存数据的数据高速缓冲存储器的缓冲块BFBLK_K中的具有最小有效页面计数VPC的第五缓冲块BFBLK5作为第一目标块。可以选择可从其清除数据的数据高速缓冲存储器的缓冲块BFBLK_C中的具有最小有效页面计数VPC的第三缓冲块BFBLK3作为第二目标块。
在步骤S130中,可以获得关于第一目标块的第一垃圾收集成本。可以通过图9中的公式来计算第一垃圾收集成本。例如,可以通过将用于在第二区域312中写入一个页面的时间Twr与第一目标块的有效页面计数VPC_tgblk1相乘来获得第一垃圾收集成本。由于第一目标块的有效数据可以被保存在数据高速缓冲存储器250中,因此用于读取第一目标块的有效数据的时间可以对第一垃圾收集成本没有影响。
在步骤S140中,可以获得关于第二目标块的第二垃圾收集成本。可以通过图9中的公式来计算第二垃圾收集成本。例如,可以通过将用于在第一区域311中读取作为源页面的一个页面的时间Trd和第二目标块的有效页面计数VPC_tgblk2的乘积值与用于在第二区域312中写入作为目的地页面的一个页面的时间Twr和第二目标块的有效页面计数VPC_tgblk2的乘积值相加来获得第二垃圾收集成本。由于第二目标块的有效数据可以从数据高速缓冲存储器250清除,因此用于读取第二目标块的有效数据的时间可以对第二垃圾收集成本造成影响。
在步骤S150中,可以确定第一垃圾收集成本是否可以不大于第二垃圾收集成本。由于第一目标块的有效页面计数VPC可以小于保存参考值THk并且第二目标块的有效页面计数VPC可以不小于保存参考值THk,因此第一垃圾收集成本可以低于第二垃圾收集成本的可能性可能更高。然而,第二目标块的数据可能由于通过主机装置的请求写入的数据而是无效的。进一步地,第二目标块的有效页面计数VPC可以减小。因此,第一垃圾收集成本可以与第二垃圾收集成本比较。
当第一垃圾收集成本可以不大于第二垃圾收集成本时,在步骤S160中,可以使用保存在数据高速缓冲存储器250中的数据来执行关于第一目标块的垃圾收集操作。例如,保存在数据高速缓冲存储器250中的第一目标块的有效数据可以被写入第二区域312的目的地页面中。因此,当第一垃圾收集成本可以不大于第二垃圾收集成本时,可以省略用于读取第一目标块的有效数据的操作。
当第一垃圾收集成本可以大于第二垃圾收集成本时,在步骤S170中,可以从第二目标块读取第二目标块的有效数据。在步骤S180中,可以使用第二目标块的读取的有效数据来执行关于第二目标块的垃圾收集操作。例如,第二目标块的读取的有效数据可以被写入第二区域312的目的地页面中。
图10是示出包括根据实施例的固态驱动器(SSD)1200的数据处理系统1000的示例的简图。参照图10,数据处理系统1000可以包括主机装置1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器装置1220、非易失性存储器装置1231至123n、电源1240、信号连接器1250和电源连接器1260。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、错误校正码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可以通过信号连接器1250与主机装置1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元1211可以根据主机装置1100的协议在主机装置1100与SSD 1200之间接口连接。例如,主机接口单元1211可以通过诸如以下的标准接口协议中的任意一种与主机装置1100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e)和通用闪速存储(UFS)。
控制单元1212可以分析和处理从主机装置1100输入的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。随机存取存储器1213可以用作驱动这种固件或软件的工作存储器。
ECC单元1214可以生成待被传输到非易失性存储器装置1231至123n的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置1231至123n中。ECC单元1214可以基于奇偶校验数据来检测从非易失性存储器装置1231至123n读出的数据的错误。如果检测的错误在可校正的范围内,则ECC单元1214可以校正检测的错误。
存储器接口单元1215可以根据控制单元1212的控制将诸如命令和地址的控制信号提供给非易失性存储器装置1231至123n。此外,存储器接口单元1215可以根据控制单元1212的控制与非易失性存储器装置1231至123n交换数据。例如,存储器接口单元1215可以将存储在缓冲存储器装置1220中的数据提供给非易失性存储器装置1231至123n,或将从非易失性存储器装置1231至123n读出的数据提供给缓冲存储器装置1220。
缓冲存储器装置1220可以临时存储待存储在非易失性存储器装置1231至123n中的数据。进一步地,缓冲存储器装置1220可以临时存储从非易失性存储器装置1231至123n读出的数据。临时存储在缓冲存储器装置1220中的数据可以根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1231至123n。
非易失性存储器装置1231至123n可以用作SSD 1200的存储介质。非易失性存储器装置1231至123n可以通过多个信道CH1至CHn分别与控制器1210联接。一个或多个非易失性存储器装置可以联接到一个信道。联接到每个信道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1260输入的功率PWR提供给SSD1200的内部。电源1240可以包括辅助电源1241。当发生突然断电时辅助电源1241可以供给电力以允许SSD1200正常地终止。辅助电源1241可以包括至少一个具有大容量的电容器。
根据主机装置1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器配置。
根据主机装置1100的电源方案,电源连接器1260可以由各种类型的连接器配置。
图11是示出包括根据实施例的数据存储装置2200的数据处理系统2000的示例的简图。参照图11,数据处理系统2000可以包括主机装置2100和数据存储装置2200。
主机装置2100可以被配置成诸如印刷电路板的板的形式。虽然未示出,但是主机装置2100可以包括用于执行主机装置的功能的内部功能块。
主机装置2100可以包括诸如插座、插槽或连接器的连接端子2110。数据存储装置2200可以被安装到连接端子2110。
数据存储装置2200可以被配置成诸如印刷电路板的板的形式。数据存储装置2200可以被称为存储器模块或存储卡。数据存储装置2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231和2232、电源管理集成电路(PMIC)2240和连接端子2250。
控制器2210可以控制数据存储装置2200的一般操作。控制器2210可以以与图10所示的控制器1210相同的方式来配置。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231和2232中的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231和2232读出的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机装置2100或非易失性存储器装置2231和2232。
非易失性存储器装置2231和2232可以用作数据存储装置2200的存储介质。
PMIC 2240可以将通过连接端子2250输入的功率提供给数据存储装置2200的内部。PMIC 2240可以根据控制器2210的控制来管理数据存储装置2200的电源。
连接端子2250可以联接到主机装置2100的连接端子2110。通过连接端子2250,诸如命令、地址、数据等的信号和功率可以在主机装置2100和数据存储装置2200之间传送。根据主机装置2100和数据存储装置2200之间的接口方案,连接端子2250可以被配置成各种类型。连接端子2250可以被设置在数据存储装置2200的任意一侧。
图12是示出包括根据实施例的数据存储装置3200的数据处理系统3000的示例的简图。参照图12,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以被配置成诸如印刷电路板的板的形式。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
数据存储装置3200可以被配置成表面安装型封装的形式。数据存储装置3200可以通过焊球3250被安装到主机装置3100。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220和非易失性存储器装置3230。
控制器3210可以控制数据存储装置3200的一般操作。控制器3210可以以与图10所示的控制器1210相同的方式来配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3230中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3230读出的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机装置3100或非易失性存储器装置3230。
非易失性存储器装置3230可以用作数据存储装置3200的存储介质。
图13是示出包括根据实施例的数据存储装置4200的网络系统4000的示例的简图。参照图13,网络系统4000可以包括通过网络4500联接的服务器系统4300和多个客户端系统4410至4430。
服务器系统4300可以响应于来自多个客户端系统4410至4430的请求来服务数据。例如,服务器系统4300可以存储从多个客户端系统4410到4430提供的数据。又例如,服务器系统4300可以将数据提供给多个客户端系统4410至4430。
服务器系统4300可以包括主机装置4100和数据存储装置4200。数据存储装置4200可以由图1所示的数据存储装置100、图10所示的数据存储装置1200、图11所示的数据存储装置2200、或图12所示的数据存储装置3200来配置。
图14是示出包括在根据本公开的实施例的数据存储装置中的非易失性存储器装置300的示例的框图。参照图14,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、列解码器340、数据读取/写入块330、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域中的存储器单元MC。
行解码器320可以通过字线WL1至WLm联接到存储器单元阵列310。行解码器320可以通过控制逻辑360的控制来操作。行解码器320可以解码从外部设备(未示出)提供的地址。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将从电压发生器350提供的字线电压提供给字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn联接到存储器单元阵列310。数据读取/写入块330可以包括对应于各个位线BL1至BLn的读取/写入电路RW1至RWn。数据读取/写入块330可以根据控制逻辑360的控制来操作。数据读取/写入块330可以根据操作模式而作为写入驱动器或读出放大器来操作。例如,数据读取/写入块330可以用作写入驱动器来操作,该写入驱动器被配置成在写入操作中将从外部设备提供的数据存储在存储器单元阵列310中。在另一示例中,数据读取/写入块330可以用作读出放大器,该读出放大器被配置成在读取操作中从存储器单元阵列310读取数据。
列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以解码从外部设备(未示出)提供的地址。列解码器340可以基于解码结果来联接对应于位线BL1至BLn的数据读取/写入块330的读取/写入电路RW1至RWn和数据输入/输出(I/O)线路或数据I/O缓冲器。
电压发生器350可以产生用于非易失性存储器装置300的内部操作的电压。通过电压发生器350产生的电压可以被施加到存储器单元阵列310的存储器单元。例如,在编程操作中产生的编程电压可以被施加到在其中待执行编程操作的存储器单元的字线。又例如,在擦除操作中产生的擦除电压可以被施加到在其中待执行擦除操作的存储器单元的阱区。再例如,在读取操作中产生的读取电压可以被施加到在其中待执行读取操作的存储器单元的字线。
控制逻辑360可以基于从外部设备提供的控制信号来控制非易失性存储器装置300的总体操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
本公开的上述实施例是说明性的而不是限制性的。可能存在各种可选方案和等同方案。本实施例的示例不受本文所述的实施例的限制。本公开也不限于任何具体类型的半导体装置。鉴于本公开,其它添加、删减或变型是显而易见的,并且旨在落入所附权利要求的范围内。

Claims (20)

1.一种数据存储装置的操作方法,所述数据存储装置包括非易失性存储器装置,所述非易失性存储器装置包含在第一区域中的存储块和在第二区域中的存储块,所述方法包括:
将来自数据高速缓冲存储器的数据存储在所述第一区域中的存储块中,所述数据高速缓冲存储器被配置成临时存储从主机装置接收的所述数据;
确定关于其中保存所述数据的所述第一区域的存储块中的、具有最小有效页面的第一目标存储块的第一垃圾收集成本;
确定关于从其清除所述数据的所述第一区域的存储块中的、具有所述最小有效页面的第二目标存储块的第二垃圾收集成本;以及
根据所述第一垃圾收集成本和所述第二垃圾收集成本的比较结果来执行垃圾收集操作以将垃圾收集目标存储块的有效数据复制到所述第二区域中的存储块中。
2.根据权利要求1所述的方法,其中执行所述垃圾收集操作包括:
当所述第一垃圾收集成本不大于所述第二垃圾收集成本时,选择所述第一目标存储块作为所述垃圾收集目标存储块;以及
将保存在所述数据高速缓冲存储器中的所述第一目标存储块的有效数据复制到所述第二区域中的存储块中。
3.根据权利要求1所述的方法,其中执行所述垃圾收集操作包括:
当所述第一垃圾收集成本大于所述第二垃圾收集成本时,选择所述第二目标存储块作为所述垃圾收集目标存储块;
从所述第二目标存储块读取有效数据;以及
将所述第二目标存储块的读取的有效数据复制到所述第二区域中的存储块中。
4.根据权利要求1所述的方法,其中确定所述第一垃圾收集成本包括将用于在所述第二区域中写入一个页面的时间与所述第一目标存储块的有效页面的数量相乘。
5.根据权利要求1所述的方法,其中确定所述第二垃圾收集成本包括将用于在所述第一区域中读取一个页面的时间和所述第二目标存储块的有效页面的数量的乘积值与用于在所述第二区域中写入一个页面的时间和所述第二目标存储块的有效页面的数量的乘积值相加。
6.根据权利要求1所述的方法,其进一步包括对所述第一区域中的存储块中的、写入所有页面的所述存储块的有效页面的数量进行计数。
7.根据权利要求6所述的方法,其进一步包括将其中所述有效页面的数量少于参考值的所述存储块的有效数据保存在所述数据高速缓冲存储器中。
8.根据权利要求6所述的方法,其进一步包括从所述数据高速缓冲存储器清除其中所述有效页面的数量不少于参考值的所述存储块的有效数据。
9.一种数据存储装置,其包括:
非易失性存储器装置,其包括在第一区域中的存储块和在第二区域中的存储块;
数据高速缓冲存储器,其被配置成临时存储通过主机装置的请求写入的数据;以及
控制单元,其被配置成控制所述非易失性存储器装置以用于处理所述主机装置的请求,
其中所述控制单元被配置成:
确定关于其中保存所述数据的所述第一区域的存储块中的、具有最小有效页面的第一目标存储块的第一垃圾收集成本;
确定关于从其清除所述数据的所述第一区域的存储块中的、具有所述最小有效页面的第二目标存储块的第二垃圾收集成本;以及
根据所述第一垃圾收集成本和所述第二垃圾收集成本的比较结果来执行垃圾收集操作以将垃圾收集目标存储块的有效数据复制到所述第二区域中的存储块中。
10.根据权利要求9所述的数据存储装置,其中当所述第一垃圾收集成本不大于所述第二垃圾收集成本时,所述控制单元选择所述第一目标存储块作为所述垃圾收集目标存储块。
11.根据权利要求10所述的数据存储装置,其中所述控制单元将保存在所述数据高速缓冲存储器中的所述第一目标存储块的有效数据复制到所述第二区域中的存储块中。
12.根据权利要求9所述的数据存储装置,其中当所述第一垃圾收集成本大于所述第二垃圾收集成本时,所述控制单元选择所述第二目标存储块作为所述垃圾收集目标存储块。
13.根据权利要求12所述的数据存储装置,其中所述控制单元从所述第二目标存储块中读取有效数据,并且将所述第二目标存储块的读取的有效数据复制到所述第二区域的存储块中。
14.根据权利要求9所述的数据存储装置,其中所述控制单元将用于在所述第二区域中写入一个页面的时间与所述第一目标存储块的有效页面的数量相乘以确定所述第一垃圾收集成本。
15.根据权利要求9所述的数据存储装置,其中所述控制单元将用于在所述第一区域中读取一个页面的时间和所述第二目标存储块的有效页面的数量的乘积值与用于在所述第二区域中写入一个页面的时间和所述第二目标存储块的有效页面的数量的乘积值相加以确定所述第二垃圾收集成本。
16.根据权利要求9所述的数据存储装置,其中所述控制单元对所述第一区域的存储块中的、写入所有页面的所述存储块的有效页面的数量进行计数。
17.根据权利要求16所述的数据存储装置,其中所述控制单元将其中所述有效页面的数量少于参考值的所述存储块的有效数据保存在所述数据高速缓冲存储器中。
18.根据权利要求16所述的数据存储装置,其中所述控制单元从所述数据高速缓冲存储器清除其中所述有效页面的数量不少于参考值的所述存储块的有效数据。
19.根据权利要求9所述的数据存储装置,其中所述控制单元使用所述第一区域的存储块中的单层单元类型的存储器单元并且使用所述第二区域中的存储块中的多层单元类型的存储器单元。
20.根据权利要求9所述的数据存储装置,其中所述控制单元将两位数据存储在包括在所述第一区域的存储块中的存储器单元中,并且将三位数据存储在包括在所述第二区域的存储块中的存储器单元中。
CN201711472631.3A 2017-07-11 2017-12-29 数据存储装置及其操作方法 Active CN109240937B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170087665A KR102544162B1 (ko) 2017-07-11 2017-07-11 데이터 저장 장치 및 그것의 동작 방법
KR10-2017-0087665 2017-07-11

Publications (2)

Publication Number Publication Date
CN109240937A CN109240937A (zh) 2019-01-18
CN109240937B true CN109240937B (zh) 2023-01-20

Family

ID=64999511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711472631.3A Active CN109240937B (zh) 2017-07-11 2017-12-29 数据存储装置及其操作方法

Country Status (3)

Country Link
US (1) US10671527B2 (zh)
KR (1) KR102544162B1 (zh)
CN (1) CN109240937B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102447602B1 (ko) * 2017-10-25 2022-09-26 삼성전자주식회사 메모리 장치 및 그 동적 가비지 컬렉션 방법
KR102457400B1 (ko) * 2017-11-16 2022-10-21 삼성전자주식회사 가비지 컬렉션 방법, 이를 수행하는 저장 장치 및 이를 포함하는 컴퓨팅 시스템
US10824556B2 (en) * 2018-11-05 2020-11-03 International Business Machines Corporation Adaptive garbage collection (GC) utilization for grid storage systems
KR20200114216A (ko) * 2019-03-28 2020-10-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 동작 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241471A (zh) * 2006-11-03 2008-08-13 三星电子株式会社 快闪存储器系统及其垃圾收集方法
CN104903874A (zh) * 2012-09-06 2015-09-09 百科容(科技)公司 大规模数据储存和递送系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965051B1 (ko) * 2008-10-01 2010-06-21 서울시립대학교 산학협력단 플래시 메모리 장치를 위한 가변 공간 페이지 사상 방법 및그 장치
KR101067018B1 (ko) 2009-04-17 2011-09-22 서울대학교산학협력단 가비지 컬렉션 수행 방법 및 상기 방법을 이용한 플래시 메모리 장치
KR101867282B1 (ko) * 2011-11-07 2018-06-18 삼성전자주식회사 비휘발성 메모리 장치의 가비지 컬렉션 방법
KR20130076429A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 메모리 장치의 저장 영역 관리 방법 및 이를 이용한 저장 장치
KR20130076430A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 적응적 카피백 방법 및 이를 이용한 저장 장치
KR102147359B1 (ko) * 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
KR20150006613A (ko) * 2013-07-09 2015-01-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
IN2015CH01601A (zh) * 2015-03-28 2015-05-01 Wipro Ltd
US9747204B2 (en) * 2015-12-17 2017-08-29 International Business Machines Corporation Multi-section garbage collection system including shared performance monitor register

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101241471A (zh) * 2006-11-03 2008-08-13 三星电子株式会社 快闪存储器系统及其垃圾收集方法
CN104903874A (zh) * 2012-09-06 2015-09-09 百科容(科技)公司 大规模数据储存和递送系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于大容量闪存的嵌入式文件系统;李强 等;《计算机工程》;20050531;第31卷(第10期);第78-80页 *

Also Published As

Publication number Publication date
US10671527B2 (en) 2020-06-02
US20190018768A1 (en) 2019-01-17
KR20190006677A (ko) 2019-01-21
KR102544162B1 (ko) 2023-06-16
CN109240937A (zh) 2019-01-18

Similar Documents

Publication Publication Date Title
US20210217466A1 (en) Data storage device and operating method thereof
US10943639B2 (en) Data storage device and operating method thereof
CN108932107B (zh) 数据存储装置及其操作方法
CN110908594B (zh) 存储器系统的操作方法和存储器系统
CN109992202B (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
CN111124273B (zh) 数据存储装置及数据存储装置的操作方法
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器系统
CN109240937B (zh) 数据存储装置及其操作方法
CN109407966B (zh) 数据存储装置及其操作方法
US11520694B2 (en) Data storage device and operating method thereof
US10558562B2 (en) Data storage device and operating method thereof
CN110047553B (zh) 数据处理系统及其操作方法
US11526439B2 (en) Storage device and operating method thereof
CN114764396A (zh) 数据存储装置及其操作方法
CN113885782A (zh) 存储装置及其操作方法
CN112286443A (zh) 控制器、存储器系统及其操作方法
CN110032466B (zh) 数据存储装置及其操作方法
US20210397558A1 (en) Storage device and operating method thereof
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
CN109840214B (zh) 数据存储装置及其操作方法
US9966148B1 (en) Data storage device and operating method thereof
US11450394B2 (en) Controller and operating method thereof
US12032824B2 (en) Event log management method, controller and storage device
US20190214105A1 (en) Data storage device and operating method thereof

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