CN110795360B - 数据存储设备以及该数据存储设备的操作方法 - Google Patents
数据存储设备以及该数据存储设备的操作方法 Download PDFInfo
- Publication number
- CN110795360B CN110795360B CN201910064381.2A CN201910064381A CN110795360B CN 110795360 B CN110795360 B CN 110795360B CN 201910064381 A CN201910064381 A CN 201910064381A CN 110795360 B CN110795360 B CN 110795360B
- Authority
- CN
- China
- Prior art keywords
- address
- address information
- data
- sampling
- memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
- G11C11/5635—Erasing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- 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/1016—Performance improvement
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
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 Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种数据存储设备,该数据存储设备包括:非易失性存储器装置,包括第一存储器区域和第二存储器区域;以及控制器,控制非易失性存储器装置的写入操作。控制器包括:存储器,存储从主机设备接收的至少一个或多个写入请求和针对写入请求的地址信息;以及处理器,收集地址信息之中与预设采样范围对应的地址信息作为第一采样地址,确定收集的第一采样地址的地址信息之间的连续性,并基于确定结果控制非易失性存储器装置以将与针对第一采样地址的地址信息的全部或部分写入请求对应的数据存储在第一存储器区域中。
Description
相关申请的交叉引用
本申请要求于2018年8月3日提交的申请号为10-2018-0090665的韩国申请的优先权,该韩国申请的全部内容通过引用并入本文。
技术领域
各个实施例总体涉及一种半导体设备,并且更特别地,涉及一种数据存储设备以及该数据存储设备的操作方法。
背景技术
近年来,计算机环境范例变成可随时随地使用计算机***的普适计算。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子设备的使用已经快速增长。通常,便携式电子设备使用数据存储设备存储数据,该数据存储设备采用存储器装置。
使用存储器装置的数据存储设备不具有机械驱动单元,通常表现出优良的稳定性和耐久性、高信息访问速度和低功耗。例如,这种数据存储设备可包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)等。
发明内容
本发明的各个实施例涉及一种能够减少和/或防止读取性能劣化的数据存储设备以及该数据存储设备的操作方法。
在本公开的实施例中,一种数据存储设备可包括:非易失性存储器装置,包括第一存储器区域和第二存储器区域;以及控制器,被配置成控制非易失性存储器装置的写入操作。控制器可包括:存储器,被配置成存储从主机设备接收的至少一个或多个写入请求和针对写入请求的地址信息;以及处理器,被配置成收集地址信息之中与预设采样范围对应的地址信息作为第一采样地址,确定收集的第一采样地址的地址信息之间的连续性,并基于确定结果控制非易失性存储器装置将与针对第一采样地址的地址信息的全部或部分写入请求对应的数据存储在第一存储器区域中。
在本公开的实施例中,提供一种数据存储设备的操作方法,该数据存储设备包括:非易失性存储器装置,包括第一存储器区域和第二存储器区域;以及控制器,包括被配置成存储至少一个或多个写入请求和针对写入请求的地址信息的存储器,该方法可包括:收集地址信息之中与预设采样范围对应的地址信息作为第一采样地址;确定收集的第一采样地址的地址信息之间的连续性;并且基于确定结果将与针对第一采样地址的地址信息的全部或部分写入请求对应的数据存储在第一存储器区域中。
在本公开的实施例中,一种数据存储装置可包括:存储器装置,包括第一存储器区域和第二存储器区域,第一存储器区域的写入速度比第二存储器区域的写入速度快;以及控制器,适于:接收包括第一范围中的第一组数据和第二范围中的第二组数据的多个数据,第二范围与第一范围相邻;确定第二组数据之中的第一数据与第一组数据之中的连续数据是否连续;当第一数据与连续数据连续时,控制存储器装置将连续数据和第一数据存储在第一存储器区域中;并且当第一数据与连续数据不连续时,控制存储器装置将连续数据存储在第一存储器区域中,并将第一数据存储在第二存储器区域中。
根据实施例,基于写入命令的逻辑块地址的连续性,与连续逻辑块地址对应的数据和与随机逻辑块地址对应的数据可以分别存储在存储器装置的第一区域和第二区域中。
因此,可以保证通过转移操作从第一区域传送到第二区域的数据的连续性,从而可以防止连续数据的读取性能劣化。
这些和其它特征、方面和实施例在下面题为“具体实施方式”的部分进行描述。
附图说明
通过以下结合附图的详细描述,本公开的主题的上述及其它方面、特征及优点将更加容易理解,其中:
图1是示出根据本公开的实施例的数据存储设备的配置的框图;
图2是示出图1的存储器的配置的示图;
图3是示出根据本公开的实施例的闪存转换层(FTL)的示图;
图4是示出根据本公开的实施例的图3的写入模式确定模块的配置的示图;
图5是示出根据本公开的实施例的写入命令的逻辑块地址的连续性的示图;
图6是示出根据本公开的实施例的第一采样地址的逻辑块地址之中的连续逻辑块地址与下一个逻辑块地址连续的示例的示图;
图7是示出根据本公开的实施例的第一采样地址的逻辑块地址之中的连续逻辑块地址与下一逻辑块地址不连续的示例的示图;
图8是根据本公开的实施例的数据存储设备的操作方法的流程图;
图9是示出包括根据本公开的实施例的固态驱动器(SSD)的数据处理***的示图;
图10是示出根据本公开的实施例的图9中所示的控制器的配置的示图;
图11是示出包括根据本公开的实施例的数据存储设备的数据处理***的示图;
图12是示出包括根据本公开的实施例的数据存储设备的数据处理***的示图;
图13是示出包括根据本公开的实施例的数据存储设备的网络***的示图;以及
图14是示出根据本公开的实施例的数据存储设备中包括的非易失性存储器装置的框图。
具体实施方式
将参照附图更详细地描述本发明的各个实施例。附图是各个实施例(和中间结构)的示意图。因此,由于例如制造技术和/或容差导致的图示的配置和形状的变化将是可预期的。因此,所描述的实施例不应被解释为限于本文所示的特定配置和形状,而是可以包括不脱离如所附权利要求中限定的本发明的精神和范围的配置和形状的偏差。
本文参照本发明的理想化实施例的截面图和/或平面图来描述本发明。然而,本发明的实施例不应被解释为限制本发明构思。
在以下描述中,阐述了许多具体细节以便提供对本发明的透彻理解。可以在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,没有详细描述众所周知的进程结构和/或进程,以免不必要地模糊本发明。
还应注意的是,在某些情况中,如对于相关领域的技术人员将显而易见的是,除非另有具体说明,否则结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件组合使用。
尽管将示出和描述本发明的一些实施例,但是本领域普通技术人员将理解的是,在不脱离本发明的原理和精神的情况下,可以对这些实施例进行改变。
图1是示出根据实施例的数据存储设备10的配置的框图。
参照图1,数据存储设备10可以存储待被诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)或车载信息娱乐***等的主机设备20访问的数据。数据存储设备10可以指存储器***。
数据存储设备10可以根据联接到主机设备20的接口协议被制造成各种类型的存储设备之中的任意一种。例如,数据存储设备10可以被配置成诸如以下的各种类型的存储设备中的任意一种:固态驱动器(SSD)、多媒体卡(例如,MMC、eMMC、RS-MMC和微型MMC)、安全数字卡(SD、迷你SD和微型SD)、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置、***组件互连(PCI)卡型存储装置、高速PCI(PCI-e或PCIe)卡型存储装置、紧凑型闪存(CF)卡、智能媒体卡、记忆棒等。
数据存储设备10可以被制造成各种类型的封装之中的任意一种。例如,数据存储设备10可以被制造成诸如以下的各种类型的封装中的任意一种:堆叠封装(PoP)、***封装(SiP)、片上***(SoC)、多芯片封装(MCP)、板上芯片(COB)、晶片级制造封装(WFP)和晶片级堆叠封装(WSP)。
数据存储设备10可以包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以***作为数据存储设备10的存储介质。非易失性存储器装置100可以包括诸如以下的根据存储器单元的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫属化物合金的相变随机存取存储器(PRAM)以及使用过渡金属化合物的电阻式随机存取存储器(ReRAM)。
为了清楚起见,虽然图1中数据存储设备10包括一个非易失性存储器装置100,但数据存储设备10可以包括多个非易失性存储器装置,并且本公开甚至可以同样地应用于包括多个非易失性存储器装置的数据存储设备10。
非易失性存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括布置在多个字线(未示出)和多个位线(未示出)彼此交叉的区域中的多个存储器单元(未示出)。存储器单元阵列可以包括多个存储块,多个存储块中的每一个可以包括多个页面。
例如,存储器单元阵列中的每个存储器单元可以是待存储单个位数据(例如,1位数据)的单层单元(SLC)和待存储2位或更多位数据的多层单元(MLC)中的至少一个。MLC可以存储2位数据、3位数据、4位数据等。通常,习惯上将存储2位数据的存储器单元称为MLC,将存储3位数据的存储器单元称为三层单元(TLC),并且将存储4位数据的存储器单元称为四层单元(QLC)。然而,为了清楚起见,在本实施例中,待存储2位数据、3位数据和4位数据的存储器单元可以统称为MLC。因此,稍后将描述的MLC可以是待存储2位数据、3位数据和4位数据中的任意一个的存储器单元。
存储器单元阵列可以包括SLC和MLC中的至少一个或多个单元。例如,存储器单元阵列可以包括具有二维(2D)水平结构的存储器单元或具有三维(3D)垂直结构的存储器单元。
控制器200可以通过驱动加载到存储器230中的固件或软件来控制数据存储设备10的整体操作。控制器200可以解码并驱动代码类型的指令或算法(例如,固件或软件)。控制器200可以以硬件或硬件和软件的组合来实施。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。虽然图1中未示出,但控制器200可以进一步包括错误校正码(ECC)引擎,ECC引擎被配置成通过对从主机设备20提供的写入数据进行ECC编码来生成奇偶校验并且通过使用奇偶校验对从非易失性存储器装置100读出的读取数据进行ECC解码来执行错误校正操作。
主机接口210可以根据主机设备20的协议在主机设备20和数据存储设备10之间执行接口连接。例如,主机接口210可以通过以下协议之中的任意一个与主机设备20通信:通用串行总线(USB)协议、通用闪存(UFS)协议、多媒体卡(MMC)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SCSI(SAS)协议、***组件互连(PCI)协议和高速PCI(PCI-e或PCIe)协议。
例如,处理器220可以被配置成微控制单元(MCU)和/或中央处理单元(CPU)。处理器220可以处理从主机设备20接收的请求。为了处理从主机设备20接收的请求,处理器220可以驱动加载到存储器230中的代码类型的指令或算法(例如,固件)并控制诸如主机接口210、存储器230、和存储器接口240的内部功能块以及非易失性存储器装置100。
处理器220可以基于从主机设备20接收的请求生成用于控制非易失性存储器装置100的操作的控制信号,并且通过存储器接口240将生成的控制信号提供到非易失性存储器装置100。
存储器230可以被配置成诸如动态RAM(DRAM)或静态RAM(SRAM)的随机存取存储器。存储器230可以存储通过处理器220驱动的固件。存储器230可以存储驱动固件所需的数据(例如,元数据)。例如,存储器230可以***作为处理器220的工作存储器。
存储器230可以被配置成包括数据缓冲器,该数据缓冲器临时存储待从主机设备20传输到非易失性存储器装置100的写入数据或者待从非易失性存储器装置100传输到主机设备20的读取数据。例如,存储器230可以***作为缓冲存储器。
存储器接口240可以根据处理器220的控制来控制非易失性存储器装置100。存储器接口240可以指存储器控制器。存储器接口240可以向非易失性存储器装置100提供控制信号。控制信号可以包括用于控制非易失性存储器装置100的命令、地址、操作控制信号等。存储器接口240可以将存储在数据缓冲器中的数据提供到非易失性存储器装置100,或者将从非易失性存储器装置100传输的数据存储在数据缓冲器中。
图2是示出图1的存储器230的示例性配置的示图。
参照图2,存储器230可以包括第一区域R1、第二区域R2、第三区域R3、第四区域R4和第五区域R5。第一区域R1中待存储闪存转换层FTL。第二区域R2可以用作命令队列CMDQ,用于对与从主机设备20提供的请求对应的命令进行排队。第三区域R3可以用作待临时存储写入数据的写入数据缓冲器WB。第四区域R4可以用作待临时存储读取数据的读取数据缓冲器RB。第五区域R5可以用作待高速缓存映射数据的映射高速缓存缓冲器MCB。对于本领域技术人员将显而易见的是,除了上述区域之外,存储器230可以包括用于各种目的的更多区域。
再次参照图1,当非易失性存储器装置100是闪速存储器装置时,处理器220可以控制非易失性存储器装置100的固有操作并驱动被称为闪存转换层FTL的软件,以提供与主机设备20的装置兼容性。通过闪存转换层FTL的驱动,主机设备20可以通过将数据存储设备10识别为诸如硬盘的通用数据存储设备来使用数据存储设备10。
再次参照图2,存储在存储器230的第一区域R1中的闪存转换层FTL可以包括被配置成执行各种功能的模块以及驱动模块所需的元数据。闪存转换层FTL可以存储在非易失性存储器装置100的***区域(未示出)中。当数据存储设备10接通电源时,闪存转换层FTL可以从非易失性存储器装置100的***区域被读出并被加载到存储器230的第一区域R1中。
图3是示出根据实施例的闪存转换层FTL的示图。
参照图3,闪存转换层FTL可以包括但不限于垃圾收集模块(GCM)310和写入模式确定模块(WMDM)320。闪存转换层FTL可以进一步包括耗损均衡模块、坏块管理模块、地址映射、写入模块、读取模块和映射模块。
垃圾收集模块(GCM)310可以管理非易失性存储器装置100和存储器230以执行将存储在非易失性存储器装置100的存储块中的有效数据传送到目标存储块的操作。
当非易失性存储器装置100是闪速存储器装置时,由于闪速存储器装置的结构组织,非易失性存储器装置100不支持数据重写。因此,当数据被再次写入已存储数据的存储器单元中时,例如,当数据被再次写入编程状态的存储器单元时,存储在相应存储器单元中的数据的可靠性可能无法保证。因此,可能不可避免地优先执行对编程状态的存储器单元的擦除操作以将数据写入编程状态的存储器单元中。
由于以存储块为单元对非易失性存储器装置100执行擦除操作,因此擦除操作可能需要相当长的时间段。为此,当对应于待写入的地址的存储器单元处于编程状态时,处理器220可以不执行擦除相应存储器单元中的数据然后将数据编程在该存储器单元中的操作,而是可以执行将数据编程在已经处于擦除状态的另一存储器单元中的操作。在这种情况下,存储在待最初写入数据的存储器单元中的数据可以是作为旧数据的无效数据,而存储在另一存储器单元中的数据可以是作为最新数据的有效数据。
通过处理器220的这种操作,有效数据和无效数据可以混合在非易失性存储器装置100的存储块中。当非易失性存储器装置100中包括的空闲块的数量等于或小于阈值时,处理器220可以通过驱动垃圾收集模块(GCM)310来执行用于在多个存储块之中选择牺牲块以及用于通过将牺牲块中包括的有效数据传送到目标块而允许牺牲块成为空闲块的一系列操作。该一系列操作也被称为垃圾收集操作。空闲块可以指可用的存储块。
写入模式确定模块(WMDM)320可以确定从主机设备20接收的写入请求的逻辑块地址LBA之间的连续性。写入模式确定模块(WMDM)320可以控制非易失性存储器装置100以将与连续逻辑块地址LBA对应的写入数据存储在非易失性存储器装置100的第一区域中,并且将与随机逻辑块地址LBA对应的写入数据存储在非易失性存储器装置100的第二区域中。
如上所述,非易失性存储器装置100可以包括多个存储块(未示出)。多个存储块之中的一些存储块可以用作第一区域,剩余的存储块可以用作第二区域。用作第一区域的存储块(下文中,称为“第一存储块”)可以包括存储1位数据的单层单元(SLC)。用作第二区域的存储块(下文中,称为“第二存储块”)可以包括存储2位或更多位数据的多层单元(MLC)。
存储在第二存储块中的数据量可以大于存储在第一存储块中的数据量。将数据存储在第二存储块中所需的时间可以大于将数据存储在第一存储块中所需的时间。为此,处理器220可以控制非易失性存储器装置100以优先将由主机设备20请求写入的用户数据快速存储在第一存储块中,并且允许存储在第一存储块中的用户数据在数据存储设备10的空闲时间期间转移到第二存储块。
换句话说,处理器220可以将用户数据存储在具有相对快的写入操作速度的第一存储块中,然后在空闲时间期间将存储在第一存储块中的用户数据传送到第二存储块。因此,数据存储设备10可以向用户提供更快的写入操作。
从主机设备20提供到数据存储设备10的写入数据可以包括用户数据和用于管理用户数据的元数据。例如,元数据可以包括用户数据的位置信息和大小信息,但是其不限于此。
主机设备20可以生成用于从用户输入的用户数据的元数据,并将生成的元数据与用户数据一起提供到数据存储设备10。主机设备20可以单独地分配用于用户数据的逻辑块地址和用于元数据的逻辑块地址,并将用户数据和与用户数据对应的元数据作为一个写入数据组块提供到数据存储设备10。也就是说,从主机设备20接收的多个写入数据组块中的每一个可以包括用户数据和元数据。
因此,即使由用户将连续用户数据输入到主机设备20,从主机设备20传输到数据存储设备10的写入数据也可以是用户数据和元数据的混合形式。因此,用于写入数据的逻辑块地址可以不连续。例如,用于用户数据的逻辑块地址LBA可以连续,但是用于用户数据和元数据的逻辑块地址LBA可以不连续。
写入数据可以以用户数据和元数据的混合形式存储在第一存储块中。然后,写入数据可以以相同的形式,例如,以用户数据和元数据的混合形式转移到第二存储块。因此,数据存储设备10可能不提供连续读取性能,而是可能响应于对存储在第二存储块中的用户数据的读取请求提供随机读取性能。因此,读取性能可能降低。
写入模式确定模块(WMDM)320可以确认从主机设备20接收的写入请求的逻辑块地址LBA,根据逻辑块地址LBA的连续性来分离逻辑块地址,并且将与分离的逻辑块地址对应的数据存储在第一存储块和第二存储块中。
图4是示出根据实施例的写入模式确定模块(WMDM),例如图3的写入模式确定模块(WMDM)320的示图。图5是示出根据实施例的写入命令的逻辑块地址LBA的连续性的示图。
参照图4,写入模式确定模块(WMDM)320可以包括逻辑块地址(LBA)采样逻辑321和写入模式确定逻辑323。
LBA采样逻辑321可以检查在存储器230的命令队列CMDQ中排队的至少一个或多个写入命令的地址信息,并确定写入命令的地址是否连续。在各个实施例中,如图5中所示,每个地址信息可以包括起始逻辑块地址(Start LBA)和地址长度(Length),但是其不限于此。
LBA采样逻辑321可不确定逻辑块地址LBA是否连续,直到收集到具有与预设采样范围对应的大小(或长度)的逻辑块地址LBA。例如,当在命令队列CMDQ中排队的写入命令的逻辑块地址LBA的大小(或长度)之和变为预设采样范围时,LBA采样逻辑321可以确定与写入命令对应的逻辑块地址LBA是否连续。
预设采样范围可以对应于通过一次写入操作待存储的数据的大小,但是其不限于此。通过一次写入操作待存储的数据的大小可以是与存储块的页面对应的大小或与存储块的页面的一部分对应的大小,但是其不限于此。为清楚起见,假设本实施例中的预设采样范围是与地址长度“400”对应的数据大小。
LBA采样逻辑321可以确定图5中所示的第一至第四写入命令W1至W4的第一至第四逻辑块地址LBA0~LBA99、LBA100~LBA199、LBA200~LBA299和LBA1000~LBA1099是否连续。例如,LBA采样逻辑321可以确定第一至第三逻辑块地址LBA0~LBA99、LBA100~LBA199和LBA200~LBA299连续,第三和第四逻辑块地址LBA200~LBA299和LBA1000~LBA1099不连续。
LBA采样逻辑321可以将每个写入命令的地址信息中包括的起始逻辑块地址StartLBA和地址长度之和与下一个写入命令的起始逻辑块地址Start LBA进行比较。当该和等于起始逻辑块地址Start LBA时,LBA采样逻辑321可以确定逻辑块地址连续。当该和不等于起始逻辑块地址Start LBA时,LBA采样逻辑321可以确定逻辑块地址不连续。然而,根据实施例的用于通过LBA采样逻辑321确定逻辑块地址LBA的连续性的方法不限于此。
由于预设采样范围内的部分逻辑块地址LBA不连续,因此LBA采样逻辑321可以确定下一个写入命令(例如,第五写入命令)的第五逻辑块地址LBA300~LBA399与第三逻辑块地址LBA200~LBA299是否连续。如图5中所示,第三逻辑块地址LBA200~LBA299的起始逻辑块地址LBA200和地址长度100之和等于第五逻辑块地址LBA300~LBA399的起始逻辑块地址LBA300。因此,LBA采样逻辑321可以确定第一至第三逻辑块地址和第五逻辑块地址LBA0~LBA399连续,第四逻辑块地址LBA1000~LBA1099是随机的。
写入模式确定逻辑323可以确定与通过LBA采样逻辑321确定为连续的逻辑块地址LBA对应的数据将以SLC模式存储在第一存储块中,并且与通过LBA采样逻辑321确定为随机的逻辑块地址LBA对应的数据将以MLC模式存储在第二存储块中。此外,写入模式确定逻辑323可以确定与通过LBA采样逻辑321确定为随机的所有逻辑块地址LBA对应的数据将以SLC模式存储在第一存储块中。
写入模式确定逻辑323可以输出指示所确定的写入模式(例如,SLC模式或MLC模式)的写入控制信号。处理器220可以根据接收的写入控制信号控制非易失性存储器装置100以相应的写入模式操作。
图6是示出根据实施例的第一采样地址First LBA的逻辑块地址之中的连续逻辑块地址与下一个逻辑块地址Next LBA连续的示例的示图。图7是示出根据实施例的第一采样地址First LBA的逻辑块地址之中的连续逻辑块地址与下一个逻辑块地址Next LBA不连续的示例的示图。
参照图6,与初始采样范围对应的第一采样地址First LBA的逻辑块地址之中的第三逻辑块地址LBA200~LBA299和第四逻辑块地址LBA1000~LBA1099可以不连续。此处,第一采样地址First LBA(在图6中也被称为初始采样范围)指根据预设采样范围收集的逻辑块地址LBA。因此,图4的LBA采样逻辑321可以通过确定与下一个写入命令对应的下一个逻辑块地址Next LBA LBA300~LBA399与第三逻辑块地址LBA200~LBA299之间的连续性来确定下一个逻辑块地址Next LBALBA300~LBA399与第三逻辑块地址LBA200~LBA299是否连续。如图6中所示,第三逻辑块地址LBA200~LBA299与下一个逻辑块地址NextLBA连续。因此,写入模式确定逻辑323可以输出与对应于采样范围中包括的逻辑块地址LBA0~LBA399的写入命令相关的、指示SLC写入模式的写入控制信号。此外,写入模式确定逻辑323可以输出与对应于第一采样地址First LBA的逻辑块地址之中的随机的第四逻辑块地址LBA1000~LBA1099的写入命令相关的、指示MLC写入模式的写入控制信号。
参照图7,示出了第一采样地址First LBA的逻辑块地址之中的第三逻辑块地址LBA200~LBA299与下一个逻辑块地址Next LBALBA1500~LBA1599不连续的示例。此外,第一采样地址First LBA的逻辑块地址之中的第三逻辑块地址LBA200~LBA299与下一个逻辑块地址的下一个逻辑块地址Next LBA LBA1600~LBA1699不连续。
在这种情况下,图4的写入模式确定逻辑323输出与对应于不连续的第一采样地址First LBA的逻辑块地址LBA0~LBA299和LBA1000~LBA1099的写入命令相关的、指示SLC写入模式的写入控制信号。此外,LBA采样逻辑321然后可以根据采样范围从包括作为起始逻辑块地址Start LBA和地址长度的“LBA1500,100”的地址信息开始连续地收集逻辑块地址。LBA采样逻辑321可以通过确定收集的逻辑块地址之间的连续性来确定收集的逻辑块地址是否连续。
图8是根据实施例的数据存储设备10的操作方法的流程图。将参照图1至图7中的任意一个或多个附图来描述图8的操作方法。
参照图8,在操作S801中,控制器200的处理器220可以确定是否从主机设备20接收到写入请求。当从主机设备20接收到写入请求(“是”)时,处理器220可以进行到操作S803。
在操作S803中,处理器220可以确定非易失性存储器装置100的第一区域(例如,SLC区域)是否可用。当第一区域可用(S803,是)时,处理器220可以进行到操作S805,并且当第一区域不可用(S803,否)时,处理器220可以进行到操作S825。
在操作S805中,处理器220可以通过驱动写入模式确定模块(WMDM)320来收集待被采样的逻辑块地址LBA。写入模式确定模块(WMDM)320可以收集逻辑块地址LBA直到逻辑块地址LBA的大小(或长度)之和变为预设采样范围。此处,逻辑块地址LBA可以是对应于与写入请求一起从主机设备20接收的地址信息的逻辑块地址。
在操作S807中,写入模式确定模块320可以确定是否根据预设采样范围收集了逻辑块地址LBA。当根据预设采样范围收集了逻辑块地址LBA(S807,是)时,处理器220可以进行到操作S809。为了清楚起见,根据预设采样范围收集的逻辑块地址LBA可以指第一采样地址LBA。
在操作809中,写入模式确定模块320可以确定第一采样地址的逻辑块地址LBA的连续性。例如,写入模式确定模块320可以通过比较操作确定第一采样地址的逻辑块地址LBA的连续性。比较操作可以包括比较从主机设备20接收的每个写入请求的地址信息的起始逻辑块地址和地址长度之和是否等于下一个写入请求的地址信息的起始逻辑块地址。
在操作S811中,写入模式确定模块320可以确定第一采样地址的逻辑块地址LBA是否连续。当第一采样地址的逻辑块地址LBA连续(S811,是)时,处理器220可以进行到操作S813。当第一采样地址的逻辑块地址LBA不连续(S811,否)时,处理器220可以进行到操作S815。
在操作S813中,写入模式确定模块320可以确定响应于与第一采样地址的逻辑块地址LBA对应的写入请求,对非易失性存储器装置100的第一区域以SLC模式执行写入操作。然后,写入模式确定模块320可以输出指示所确定的写入模式(例如,SLC模式)的写入控制信号。处理器220可以根据从写入模式确定模块320输出的写入控制信号控制非易失性存储器装置100以针对与第一采样地址的逻辑块地址LBA对应的写入请求以SLC模式执行写入操作。
在操作S815中,写入模式确定模块320可以确定第一采样地址的所有逻辑块地址LBA是否是随机的。当第一采样地址的所有逻辑块地址LBA都是随机的(S815,是)时,写入模式确定模块320可以进行到操作S813。当第一采样地址的所有逻辑块地址LBA不都是随机的(S815,否)时,写入模式确定模块320可以进行到操作S817。
在操作S817中,写入模式确定模块320可以根据第一采样地址的逻辑块地址LBA之中不连续的部分逻辑块地址LBA收集下一个逻辑块地址LBA。然后,写入模式确定模块320可以确定第一采样地址的逻辑块地址LBA之中的连续逻辑块地址与所收集的下一个逻辑块地址之间的连续性。
在操作S819中,写入模式确定模块320可以根据所确定的连续性来确定第一采样地址的逻辑块地址之中的连续逻辑块地址与所收集的下一个逻辑块地址是否连续。当逻辑块地址连续(S819,是)时,写入模式确定模块320可以进行到操作S821。当逻辑块地址不连续(S819,否)时,写入模式确定模块320可以进行到操作S823。
在操作S821中,写入模式确定模块320可以确定响应于与第一采样地址的逻辑块地址LBA之中的连续逻辑块地址和所收集的下一个逻辑块地址对应的写入请求,对非易失性存储器装置100的第一区域以SLC模式执行写入操作。然后,写入模式确定模块320可以输出指示所确定的写入模式(例如,SLC模式)的写入控制信号。此外,写入模式确定模块320可以确定响应于与第一采样地址的逻辑块地址LBA之中的非连续逻辑块地址LBA对应的写入请求,对非易失性存储器装置100的第二区域以MLC模式执行写入操作。然后,写入模式确定模块320可以输出指示所确定的写入模式(例如,MLC模式)的写入控制信号。
在操作S823中,写入模式确定模块320可以确定执行收集和确定的进程的次数是否大于预设阈值数量。收集和确定的进程可以包括收集下一个逻辑块地址LBA并确定第一采样地址的逻辑块地址之中的连续逻辑块地址与所收集的下一个逻辑块地址之间的连续性。当执行进程的次数大于阈值数量(S823,是)时,写入模式确定模块320可以进行到操作813。当执行进程的次数不大于阈值数量(S823,否)时,写入模式确定模块320可以进行到操作S817。
在操作S825中,由于非易失性存储器装置100的第一区域不可用,因此处理器220可以响应于从主机设备20接收的写入请求控制非易失性存储器装置100以将数据存储在非易失性存储器装置100的第二区域(例如,MLC区域)中。
图9是示出包括根据实施例的固态驱动器(SSD)2200的数据处理***2000的示图。参照图9,数据处理***2000可以包括主机设备2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的整体操作。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输到主机设备2100或非易失性存储器装置2231到223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个信道CH1至CHn联接到控制器2210。一个或多个非易失性存储器装置可以联接到一个信道。联接到一个信道的非易失性存储器装置可以联接到相同的信号总线和相同的数据总线。
电源2240可以将通过电源连接器2260输入的电力PWR提供到SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以提供电力以便即使在发生突然断电时,SSD 2200也正常终止。辅助电源2241可以包括能够对电力PWR充电的大容量电容器。
控制器2210可以通过信号连接器2250与主机设备2100交换信号SGL。信号SGL可以包括命令、地址、数据等。信号连接器2250可以根据主机设备2100和SSD 2200之间的接口方法由各种类型的连接器配置。
图10是示出根据本公开的实施例的控制器,例如,图9的控制器2210的示图。参照图10,控制器2210可以包括主机接口单元2211、控制单元2212、随机存取存储器(RAM)2213、错误校正码(ECC)单元2214和存储器接口单元2215。
主机接口单元2211可以根据主机设备2100的协议执行主机设备2100和SSD 2200之间的接口连接。例如,主机接口单元2211可以通过以下中的任意一个与主机设备2100通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SCSI(SAS)协议、***组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议和通用闪存(UFS)协议。主机接口单元2211可以执行盘仿真功能,即主机设备2100将SSD 2200识别为通用数据存储设备,例如,硬盘驱动器HDD。
控制单元2212可以分析和处理从主机设备2100输入的信号SGL。控制单元2212可以根据用于驱动SDD 2200的固件和/或软件来控制内部功能块的操作。RAM 2213可以***作为用作驱动固件或软件的工作存储器。
ECC单元2214可以生成用于待传送到非易失性存储器装置2231至223n的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起存储在非易失性存储器装置2231至223n中。ECC单元2214可以基于奇偶校验数据检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误在可校正范围内时,ECC单元2214可以校正检测到的错误。
存储器接口单元2215可以根据控制单元2212的控制向非易失性存储器装置2231至223n提供诸如命令和地址的控制信号。存储器接口单元2215可以根据控制单元2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口单元2215可以将存储在缓冲存储器装置2220中的数据提供到非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供到缓冲存储器装置2220。
图11是示出包括根据实施例的数据存储设备3200的数据处理***3000的示图。参照图11,数据处理***3000可以包括主机设备3100和数据存储设备3200。
主机设备3100可以以诸如印刷电路板(PCB)的板形式配置。虽然图11中未示出,但是主机设备3100可以包括配置成执行主机设备3100的功能的内部功能块。
主机设备3100可以包括连接端子3110,诸如插座、插槽或连接器。数据存储设备3200可以安装在连接端子3110上。
数据存储设备3200可以以诸如PCB的板形式配置。数据存储设备3200可以指存储器模块或存储卡。数据存储设备3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231至3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储设备3200的整体操作。控制器3210可被配置成具有与图10中所示的控制器2210相同的配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输到主机设备3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231至3232可以用作数据存储设备3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到数据存储设备3200的内部。PMIC 3240可以根据控制器3210的控制来管理数据存储设备3200的电力。
连接端子3250可以联接到主机设备3100的连接端子3110。诸如命令、地址和数据的信号以及电力可以通过连接端子3250在主机设备3100和数据存储设备3200之间传输。连接端子3250可以根据主机设备3100和数据存储设备3200之间的接口方法以各种形式配置。连接端子3250可以布置在数据存储设备3200的任意一侧。
图12是示出包括根据实施例的数据存储设备4200的数据处理***4000的示图。参照图12,数据处理***4000可以包括主机设备4100和数据存储设备4200。
主机设备4100可以以诸如印刷电路板(PCB)的板形式配置。虽然图12中未示出,但是主机设备4100可以包括配置成执行主机设备4100的功能的内部功能块。
数据存储设备4200可以以表面安装封装形式配置。数据存储设备4200可以通过焊球4250安装在主机设备4100上。数据存储设备4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储设备4200的整体操作。控制器4210可以被配置成具有与图10中所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以通过控制器4210的控制被传输到主机设备4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储设备4200的存储介质。
图13是示出包括根据实施例的数据存储设备的网络***5000的示图。参照图13,网络***5000可以包括通过网络5500联接的服务器***5300和多个客户端***5410至5430。
服务器***5300可以响应于多个客户端***5410至5430的请求服务数据。例如,服务器***5300可以存储从多个客户端***5410至5430提供的数据。再如,服务器***5300可以将数据提供到多个客户端***5410至5430。
服务器***5300可以包括主机设备5100和数据存储设备5200。数据存储设备5200可以被配置成图1的数据存储设备10、图9的SSD 2200、图11的数据存储设备3200或图12的数据存储设备4200。
图14是示出根据实施例的数据存储设备中包括的非易失性存储器装置100的框图。参照图14,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器140、数据读取和写入(读取/写入)块130、电压发生器150和控制逻辑160。
存储器单元阵列110可以包括存储器单元MC,存储器单元MC布置在字线WL1至WLm和位线BL1至BLn彼此交叉的区域中。
行解码器120可以通过字线WL1至WLm联接到存储器单元阵列110。行解码器120可以通过控制逻辑160的控制来操作。行解码器120可以解码从外部设备(未示出)提供的地址。行解码器120可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压发生器150提供的字线电压提供到字线WL1至WLm。
数据读取/写入块130可以通过位线BL1至BLn联接到存储器单元阵列110。数据读取/写入块130可以包括与位线BL1至BLn对应的读取/写入电路RW1至RWn。数据读取/写入块130可以根据控制逻辑160的控制来操作。数据读取/写入块130可以根据操作模式操作为写入驱动器或读出放大器。例如,在写入操作中,数据读取/写入块130可以操作为写入驱动器,该写入驱动器被配置成将从外部设备提供的数据存储在存储器单元阵列110中。再如,在读取操作中,数据读取/写入块130可以操作为读出放大器,该读出放大器被配置成从存储器单元阵列110读取数据。
列解码器140可以通过控制逻辑160的控制来操作。列解码器140可以解码从外部设备(未示出)提供的地址。列解码器140可以基于解码结果将数据读取/写入块130的、与位线BL1至BLn对应的读取/写入电路RW1至RWn与数据输入/输出(I/O)线(或数据I/O缓冲器)联接。
电压发生器150可以生成用于非易失性存储器装置100的内部操作的电压。通过电压发生器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作中生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。再如,在擦除操作中生成的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。再如,在读取操作中生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部设备提供的控制信号来控制非易失性存储器装置100的整体操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作、擦除操作。
本发明的上述实施例旨在说明但不限制本发明。各种替代方案和等同方案是可能的。本文所描述的实施例不限制本发明。本发明也不限于任何具体类型的半导体装置。其它添加、删除或修改基于本公开是显而易见的,并旨在落入所附权利要求的范围内。
Claims (20)
1.一种数据存储设备,包括:
非易失性存储器装置,包括第一存储器区域和第二存储器区域;以及
控制器,控制所述非易失性存储器装置的写入操作,
其中所述控制器包括:
存储器,存储从主机设备接收的至少一个或多个写入请求和针对所述写入请求的地址信息;以及
处理器,收集所述地址信息之中与预设采样范围对应的地址信息作为第一采样地址,确定所收集的所述第一采样地址的地址信息之间的连续性,并基于确定结果控制所述非易失性存储器装置以将与针对所述第一采样地址的地址信息的全部或部分写入请求对应的数据存储在所述第一存储器区域中。
2.根据权利要求1所述的数据存储设备,其中所述第一存储器区域是第一存储块,所述第一存储块包括以单层单元方式即SLC方式存储数据的存储器单元。
3.根据权利要求1所述的数据存储设备,其中所述第二存储器区域是第二存储块,所述第二存储块包括以多层单元方式即MLC方式存储数据的存储器单元。
4.根据权利要求3所述的数据存储设备,其中所述MLC方式是用于将2位数据、3位数据和4位数据中的一种存储在一个存储器单元中的方法。
5.根据权利要求1所述的数据存储设备,其中所述预设采样范围对应于通过一次写入操作待存储的数据的大小。
6.根据权利要求1所述的数据存储设备,其中所述地址信息中的每一个包括起始逻辑块地址和地址长度。
7.根据权利要求1所述的数据存储设备,其中闪存转换层即FTL被加载到所述存储器中,并且所述FTL包括写入模式确定模块。
8.根据权利要求7所述的数据存储设备,其中所述处理器通过驱动所述写入模式确定模块来收集所述第一采样地址,确定所述第一采样地址的地址信息之间的连续性,并且基于所述确定结果确定所述第一采样地址的地址信息是否连续。
9.根据权利要求7所述的数据存储设备,其中当所述第一采样地址的地址信息不连续时,所述处理器通过驱动所述写入模式确定模块来收集与所述第一采样地址的非连续地址信息的大小对应的下一个地址信息,并且通过确定所述第一采样地址的连续地址信息与所收集的下一个地址信息之间的连续性来确定所述第一采样地址的连续地址信息与所收集的下一个地址信息是否连续。
10.根据权利要求9所述的数据存储设备,其中当所述第一采样地址的连续地址信息与所收集的下一个地址信息连续时,所述处理器控制所述非易失性存储器装置以将与针对所述第一采样地址的连续地址信息和所收集的下一个地址信息的写入请求对应的数据存储在所述第一存储器区域中,并将与针对所述第一采样地址的非连续地址信息的写入请求对应的数据存储在所述第二存储器区域中。
11.根据权利要求9所述的数据存储设备,其中当所述第一采样地址的连续地址信息与所收集的下一个地址信息不连续时,所述处理器控制所述非易失性存储器装置以将与针对所述第一采样地址的地址信息的写入请求对应的数据存储在所述第一存储器区域中,并且所述处理器通过驱动所述写入模式确定模块来收集根据所述预设采样范围的、所述第一采样地址之后的地址信息作为第二采样地址,确定所述第二采样地址的地址信息之间的连续性,并且基于确定结果确定所述第二采样地址的地址信息是否连续。
12.一种数据存储设备的操作方法,所述数据存储设备包括:非易失性存储器装置,包括第一存储器区域和第二存储器区域;以及控制器,包括存储至少一个或多个写入请求和针对所述写入请求的地址信息的存储器,所述方法包括:
收集所述地址信息之中与预设采样范围对应的地址信息作为第一采样地址;
确定所收集的所述第一采样地址的地址信息之间的连续性;并且
基于确定结果将与针对所述第一采样地址的地址信息的全部或部分写入请求对应的数据存储在所述第一存储器区域中。
13.根据权利要求12所述的方法,其中所述地址信息中的每一个包括起始逻辑块地址和地址长度;并且
确定所收集的所述第一采样地址的地址信息之间的连续性包括:通过比较每个地址信息的起始逻辑块地址和地址长度之和与下一个地址信息的起始逻辑块地址来确定所收集的所述第一采样地址的地址信息是否连续。
14.根据权利要求13所述的方法,其中将数据存储在所述第一存储器区域中包括:当根据比较结果,所述第一采样地址的地址信息连续时,将与针对所述第一采样地址的地址信息的写入请求对应的数据存储在所述第一存储器区域中。
15.根据权利要求13所述的方法,其中当根据比较结果,所述第一采样地址的地址信息不连续时,将数据存储在所述第一存储器区域中进一步包括:
收集与所述第一采样地址的非连续地址信息的大小对应的下一个地址信息;并且
通过确定所述第一采样地址的连续地址信息与所收集的下一个地址信息之间的连续性来确定所述第一采样地址的连续地址信息与所收集的下一个地址信息是否连续。
16.根据权利要求15所述的方法,进一步包括:
当所述第一采样地址的连续地址信息与所收集的下一个地址信息连续时,将与针对所述第一采样地址的连续地址信息和所收集的下一个地址信息的写入请求对应的数据存储在所述第一存储器区域中,并且将与针对所述第一采样地址的非连续地址信息的写入请求对应的数据存储在所述第二存储器区域中,并且
当所述第一采样地址的连续地址信息与所收集的下一个地址信息不连续时,将与针对所述第一采样地址的地址信息的写入请求对应的数据存储在所述第一存储器区域中,收集根据所述预设采样范围的、所述第一采样地址之后的地址信息作为第二采样地址,确定所述第二采样地址的地址信息之间的连续性,并且基于确定结果确定所述第二采样地址的地址信息是否连续。
17.根据权利要求12所述的方法,其中所述第一存储器区域是第一存储块,所述第一存储块包括以单层单元方式即SLC方式存储数据的存储器单元,并且所述第二存储器区域是第二存储块,所述第二存储块包括以多层单元方式即MLC方式存储数据的存储器单元,其中所述MLC方式是存储2位数据、3位数据和4位数据中的一种的方法。
18.根据权利要求12所述的方法,其中所述预设采样范围对应于通过一次写入操作待存储的数据的大小。
19.一种数据存储装置,包括:
存储器装置,包括第一存储器区域和第二存储器区域,所述第一存储器区域的写入速度比所述第二存储器区域的写入速度快;以及
控制器:
接收包括第一范围中的第一组数据和第二范围中的第二组数据的多个数据,所述第二范围与所述第一范围相邻;
确定所述第二组数据之中的第一数据与所述第一组数据之中的连续数据是否连续;
当所述第一数据与所述连续数据连续时,控制所述存储器装置以将所述连续数据和所述第一数据存储在所述第一存储器区域中;并且
当所述第一数据与所述连续数据不连续时,控制所述存储器装置以将所述连续数据存储在所述第一存储器区域中,并将所述第一数据存储在所述第二存储器区域中。
20.根据权利要求19所述的数据存储装置,其中所述第一存储器区域包括单层单元即SLC的存储器单元,并且所述第二存储器区域包括多层单元即MLC的存储器单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180090665A KR20200015185A (ko) | 2018-08-03 | 2018-08-03 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2018-0090665 | 2018-08-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795360A CN110795360A (zh) | 2020-02-14 |
CN110795360B true CN110795360B (zh) | 2023-03-10 |
Family
ID=68979559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910064381.2A Active CN110795360B (zh) | 2018-08-03 | 2019-01-23 | 数据存储设备以及该数据存储设备的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10515693B1 (zh) |
KR (1) | KR20200015185A (zh) |
CN (1) | CN110795360B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111506262B (zh) * | 2020-03-25 | 2021-12-28 | 华为技术有限公司 | 一种存储***、文件存储和读取方法及终端设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2539147Y (zh) * | 2002-05-10 | 2003-03-05 | 南京理工大学 | 微型存储测试装置 |
CN102023934A (zh) * | 2009-09-23 | 2011-04-20 | 群联电子股份有限公司 | 数据保护方法与***、外接式存储装置及存储装置控制器 |
CN104615386A (zh) * | 2015-02-12 | 2015-05-13 | 杭州中天微***有限公司 | 一种核外高速缓存装置 |
KR20160087426A (ko) * | 2015-01-13 | 2016-07-22 | 삼성전자주식회사 | 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치 |
CN106653073A (zh) * | 2015-11-03 | 2017-05-10 | 三星电子株式会社 | 非易失性存储设备及其操作方法 |
CN107784034A (zh) * | 2016-08-31 | 2018-03-09 | 北京搜狗科技发展有限公司 | 页面类别识别方法及装置、用于页面类别识别的装置 |
CN107851020A (zh) * | 2015-08-26 | 2018-03-27 | 华为技术有限公司 | 用于指令存储器效率的设备和处理架构 |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62254278A (ja) * | 1986-02-10 | 1987-11-06 | テキサス インスツルメンツ インコ−ポレイテツド | デ−タ記憶方法及び装置 |
US5253081A (en) * | 1990-12-20 | 1993-10-12 | Fuji Photo Film Co., Ltd. | Image recording device |
US6690311B2 (en) * | 1998-11-20 | 2004-02-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptively calibrating analog-to-digital conversion with correction table indexing |
US6441290B2 (en) * | 2000-02-01 | 2002-08-27 | Yamaha Corporation | Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device |
US7596035B2 (en) * | 2007-06-29 | 2009-09-29 | Micron Technology, Inc. | Memory device bit line sensing system and method that compensates for bit line resistance variations |
US8305903B1 (en) * | 2008-03-31 | 2012-11-06 | C Speed, Llc | Data acquisition system for test and measurement signals |
US9853714B2 (en) * | 2013-10-11 | 2017-12-26 | Ge Aviation Systems Llc | Data communications network for an aircraft |
US9980068B2 (en) * | 2013-11-06 | 2018-05-22 | Analog Devices Global | Method of estimating diaphragm excursion of a loudspeaker |
US10509589B2 (en) * | 2014-09-15 | 2019-12-17 | Adesto Technologies Corporation | Support for improved throughput in a memory device |
KR102178538B1 (ko) * | 2014-12-16 | 2020-11-13 | 삼성전자주식회사 | 메모리 장치, 메모리 장치의 커맨드 신호/어드레스 신호의 로그 생성 방법 및 메모리 장치의 에러 분석 방법 |
JP6420139B2 (ja) * | 2014-12-26 | 2018-11-07 | シナプティクス・ジャパン合同会社 | 半導体デバイス |
CN107209718B (zh) * | 2015-03-11 | 2021-11-19 | 拉姆伯斯公司 | 高性能非易失性存储器模块 |
JP6544013B2 (ja) * | 2015-04-16 | 2019-07-17 | 富士通株式会社 | 情報処理装置、消費電力計測プログラムおよび消費電力計測方法 |
US9672930B2 (en) * | 2015-05-29 | 2017-06-06 | Silicon Storage Technology, Inc. | Low power operation for flash memory system |
KR102459077B1 (ko) * | 2016-01-12 | 2022-10-27 | 삼성전자주식회사 | 비선형 필터링 방식을 사용하는 메모리 시스템 및 그것의 읽기 방법 |
US9898200B2 (en) * | 2016-02-18 | 2018-02-20 | Samsung Electronics Co., Ltd | Memory device having a translation layer with multiple associative sectors |
US10395748B2 (en) * | 2016-06-15 | 2019-08-27 | Micron Technology, Inc. | Shared error detection and correction memory |
US9911484B2 (en) * | 2016-06-29 | 2018-03-06 | Micron Technology, Inc. | Oscillator controlled random sampling method and circuit |
JP2018022275A (ja) * | 2016-08-02 | 2018-02-08 | 東芝メモリ株式会社 | 半導体記憶装置 |
KR20180026022A (ko) * | 2016-09-01 | 2018-03-12 | 삼성전자주식회사 | 스토리지 장치 및 그것의 카피백 방법 |
US10649665B2 (en) * | 2016-11-08 | 2020-05-12 | Micron Technology, Inc. | Data relocation in hybrid memory |
US10203214B2 (en) * | 2017-02-06 | 2019-02-12 | Here Global B.V. | Method and apparatus for filtering device location points in a sampled trajectory while maintaining path reconstructability |
KR102302187B1 (ko) * | 2017-03-13 | 2021-09-14 | 삼성전자주식회사 | 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치 |
US10541897B2 (en) * | 2017-05-16 | 2020-01-21 | Western Digital Technologies, Inc. | Mismatch compensation at differential signal receiver |
US10425456B2 (en) * | 2017-11-29 | 2019-09-24 | Bank Of America Corporation | Request processing system using a splitting engine |
US10600484B2 (en) * | 2017-12-20 | 2020-03-24 | Silicon Storage Technology, Inc. | System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory |
-
2018
- 2018-08-03 KR KR1020180090665A patent/KR20200015185A/ko active IP Right Grant
- 2018-12-14 US US16/220,994 patent/US10515693B1/en active Active
-
2019
- 2019-01-23 CN CN201910064381.2A patent/CN110795360B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2539147Y (zh) * | 2002-05-10 | 2003-03-05 | 南京理工大学 | 微型存储测试装置 |
CN102023934A (zh) * | 2009-09-23 | 2011-04-20 | 群联电子股份有限公司 | 数据保护方法与***、外接式存储装置及存储装置控制器 |
KR20160087426A (ko) * | 2015-01-13 | 2016-07-22 | 삼성전자주식회사 | 속도 모드 관리자를 포함하는 저장 장치 및 사용자 장치 |
CN104615386A (zh) * | 2015-02-12 | 2015-05-13 | 杭州中天微***有限公司 | 一种核外高速缓存装置 |
CN107851020A (zh) * | 2015-08-26 | 2018-03-27 | 华为技术有限公司 | 用于指令存储器效率的设备和处理架构 |
CN106653073A (zh) * | 2015-11-03 | 2017-05-10 | 三星电子株式会社 | 非易失性存储设备及其操作方法 |
CN107784034A (zh) * | 2016-08-31 | 2018-03-09 | 北京搜狗科技发展有限公司 | 页面类别识别方法及装置、用于页面类别识别的装置 |
CN108280033A (zh) * | 2017-01-04 | 2018-07-13 | 爱思开海力士有限公司 | 数据存储设备及其操作方法 |
Non-Patent Citations (1)
Title |
---|
高速大容量NAND FLASH存储***的设计与实现;李晴;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20150715;I137-60 * |
Also Published As
Publication number | Publication date |
---|---|
CN110795360A (zh) | 2020-02-14 |
KR20200015185A (ko) | 2020-02-12 |
US10515693B1 (en) | 2019-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789161B2 (en) | Data storage device to identify and process a sequential read request and operating method thereof | |
CN111414312B (zh) | 数据存储装置及其操作方法 | |
US11249897B2 (en) | Data storage device and operating method thereof | |
CN109783008B (zh) | 数据存储装置及其操作方法 | |
CN111324551A (zh) | 数据存储装置及其操作方法 | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
US11163696B2 (en) | Controller, memory system and operating method thereof for controlling a non-volatile memory device during a sync-up operation | |
KR20200121645A (ko) | 컨트롤러 및 그것의 동작 방법과 메모리 시스템 | |
CN111124273A (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111916140A (zh) | 控制器及其操作方法以及包括控制器的存储器*** | |
CN113704138A (zh) | 存储装置及其操作方法 | |
CN111752852A (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN112286443A (zh) | 控制器、存储器***及其操作方法 | |
CN111752858A (zh) | 控制器、存储器***及其操作方法 | |
US20190243775A1 (en) | Data storage device and operating method thereof | |
KR102434840B1 (ko) | 데이터 저장 장치 | |
CN113885782A (zh) | 存储装置及其操作方法 | |
KR20210156010A (ko) | 저장 장치 및 그 동작 방법 | |
CN110795360B (zh) | 数据存储设备以及该数据存储设备的操作方法 | |
CN115794535A (zh) | 事件日志管理方法、控制器和存储装置 | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN113805793A (zh) | 存储装置及其操作方法 | |
US20200250082A1 (en) | Controller, memory system, and operating method thereof | |
US20200117390A1 (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 |