CN109697027A - 包括共享存储器区域和专用存储器区域的数据存储设备 - Google Patents
包括共享存储器区域和专用存储器区域的数据存储设备 Download PDFInfo
- Publication number
- CN109697027A CN109697027A CN201811183956.4A CN201811183956A CN109697027A CN 109697027 A CN109697027 A CN 109697027A CN 201811183956 A CN201811183956 A CN 201811183956A CN 109697027 A CN109697027 A CN 109697027A
- Authority
- CN
- China
- Prior art keywords
- data
- shared memory
- memory block
- class number
- stored
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 363
- 238000013500 data storage Methods 0.000 title claims abstract description 50
- 238000013508 migration Methods 0.000 claims abstract description 53
- 230000005012 migration Effects 0.000 claims abstract description 53
- 238000003860 storage Methods 0.000 claims description 37
- 230000005540 biological transmission Effects 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims 3
- 238000013499 data model Methods 0.000 claims 2
- 238000000151 deposition Methods 0.000 claims 1
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000000034 method Methods 0.000 description 16
- 238000009826 distribution Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000003321 amplification Effects 0.000 description 7
- 238000003199 nucleic acid amplification method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 229920003023 plastic Polymers 0.000 description 3
- 239000004033 plastic Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/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/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
- 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/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0625—Power saving in 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/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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0656—Data buffering 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种数据存储设备。可以提供的数据存储设备包括:缓冲器,被配置为接收第一信息和第二信息并在其中存储第一信息和第二信息,第一信息包括第一数据和标识第一数据的特征的第一流类数,第二信息包括第二数据和标识第二数据的特征的第二流类数,第二流类数与第一流类数不同;非易失性存储器,被配置为对存储在缓冲器中的第一数据和第二数据进行存储,非易失性存储器包括共享存储器区域和专用存储器区域,专用存储器区域与共享存储器区域不同;以及控制器,被配置为控制缓冲区和非易失性存储器,控制器被配置为在共享存储器区域中存储第一数据和第二数据,然后将存储在共享存储器区域中的第一数据迁移到专用存储器区域。
Description
相关申请的交叉引用
本申请要求于2017年10月23日在韩国知识产权局递交的韩国专利申请No.10-2017-0137357的优先权,其全部公开内容通过引用合并于此。
技术领域
本发明构思涉及一种包括共享存储器区域和专用存储器区域的数据存储设备。
背景技术
对数据存储设备(例如,基于NAND的驱动器)的需求由于其高性能和低功耗而逐渐增加。因为基于NAND的驱动器不允许覆写,所以可以使用将用户数据复制到新数据存储块并擦除无效数据存储块(称为碎片收集)。
碎片收集可以减少基于NAND的驱动器的读写执行。然而,碎片收集可以增加写入放大,这是因为数据写入请求可以导致对介质(例如,基于NAND的驱动器)的若干内部写入。例如,在以下情形下可发生写入放大:首先从要擦除的介质的存储块读取有效数据,然后将其覆写到介质的另一个存储块,然后可能将来自主机的新数据写入到介质的该另一个存储块。
在主机中,相关或相似的数据可以被分类成相同的流类数(stream classnumber)。通过将具有相同流类数的数据存储在相同的擦除块或相同的驱动器中,可以消除或减少碎片收集。
然而,如果包括各种流类数的数据被分离地存储到每个块中,则由于数据被划分并存储在介质的每个存储块中,所以可能分离地消耗功率并且可能发生时间损失。
发明内容
本发明构思的一方面是提供一种数据存储设备,其中当将存储在缓冲器中的数据存储到非易失性存储器中时,将所述数据存储到共享存储器区域中,而不对包括在所述数据中的流类数进行分类,从而仅分配用于存储包括相关联的流类数的数据的存储器块,降低在每个存储器块中分配和存储数据所需的功耗,并且降低由碎片收集所导致的写入放大系数。
本发明构思的另一方面是提供一种数据存储设备,其中,当将存储在缓冲器中的数据存储到非易失性存储器中时,基于存储在缓冲器中的数据的流类数,将数据分发并存储到共享存储器区域和专用存储器区域之一中,从而降低功耗并降低由碎片收集所导致的写入放大系数。
根据本发明构思的示例实施例,数据存储设备包括:缓冲器,被配置为接收第一信息和第二信息并在其中存储第一信息和第二信息,第一信息包括第一数据和标识第一数据的特征的第一流类数,第二信息包括第二数据和标识第二数据的特征的第二流类数,第二流类数与第一流类数不同;非易失性存储器,被配置为对存储在缓冲器中的第一数据和第二数据进行存储,非易失性存储器包括共享存储器区域和专用存储器区域,专用存储器区域与共享存储器区域不同;以及控制器,被配置为控制缓冲区和非易失性存储器,控制器还被配置为在共享存储器区域中存储第一数据和第二数据,然后将存储在共享存储器区域中的第一数据迁移到专用存储器区域。根据本发明构思的示例实施例,数据存储设备包括:缓冲器,被配置为接收第一信息、第二信息和第三信息,并在其中存储第一、第二和第三信息,第一信息包括第一数据和标识第一数据的特征的第一流类数,第二信息包括第二数据和标识第二数据的特征的第二流类数,第三信息包括第三数据和标识第三数据的特征的第三流类数,第三流类数与第一流类数和第二流类数不同;非易失性存储器,被配置为对存储在缓冲区中的第一数据、第二数据和第三数据进行存储,非易失性存储器包括共享存储器区域和不同于共享存储器区域的专用存储器区域;以及控制器,被配置为控制缓冲器和非易失性存储器,控制器还被配置为,如果第一流类数和第二流类数中的每一个的存储频率小于或等于阈值存储频率,则将存储在缓冲器中的第一数据和第二数据以及第一流类数和第二流类数存储到共享存储器区域中,以及如果第三流类数的存储频率大于阈值存储频率,则将存储在缓冲器中的第三数据和第三流类数存储到专用存储器区域中。
根据本发明构思的示例实施例,数据存储设备包括:缓冲器,被配置为接收第一信息、第二信息和第三信息,并在其中存储第一信息、第二信息和第三信息,第一信息包括第一数据和标识第一数据的特征的第一流类数,第二信息包括第二数据和标识第二数据的特征的第二流类数,第二流类数不同于第一流类数,第三信息包括第三数据和标识第三数据的特征的第三流类数,第三流类数与第一流类数和第二流类数中的每一个不同;非易失性存储器,被配置为对存储在缓冲器中的第一数据至第三数据进行存储,非易失性存储器包括共享存储器区域和第一专用存储器块,共享存储器区域被配置为存储第一数据和第二数据,第一专用存储器块被包括在专用存储器区域中并被配置为仅存储第三数据;以及控制器,被配置为控制缓冲器和非易失性存储器。
然而,本发明构思的示例实施例不限于本文中阐述的这些实施例。通过参考下面给出的一些示例实施例的详细描述,本发明构思的上述和其他方面对于本发明构思所属领域的普通技术人员将变得更显而易见。
附图说明
图1是示出根据示例实施例的数据处理系统的框图。
图2是示出根据示例实施例的数据存储设备的控制器的框图。
图3是示出根据示例实施例的非易失性存储器的图。
图4是示出根据示例实施例的数据存储设备的操作的流程图。
图5是示出根据示例实施例的从主机接收的数据的图。
图6A和图6B是根据一些示例实施例的用于解释确定用于从数据存储设备的共享存储器区域执行迁移的共享存储器块的过程的图。
图7是根据示例实施例的用于解释在数据存储设备中将存储在共享存储器区域中的数据迁移到专用存储器区域的过程的流程图。
图8A和图8B是根据一些示例实施例的用于解释数据存储设备的共享存储器块的迁移的图。
图9是根据示例实施例的用于解释数据存储设备的操作的流程图。
图10是根据示例实施例的用于解释确定专用流类数的方法的流程图。
图11是根据示例实施例的用于解释根据流类数的种类确定专用流类数并将数据分发以及存储到非易失性存储器的不同区域中的方法的图。
图12A和图12B是根据一些示例实施例的用于解释在共享存储器块中存储数据的方法的图。
通过参考附图详细描述本发明构思的一些示例实施例,本发明构思的上述和其他方面和特征将变得更显而易见。
具体实施方式
在本公开中,数字可以用于区分每个组件(例如,“第一”和“第二”)。元件或组件不受术语限制。这些术语仅用于将一个元件或组件与另一个元件或组件相区分。例如,下面将要提到的第一元件或组件可以是本发明构思的技术概念内的第二元件或组件。此外,下面将要提到的第一元件或组件并不意味着仅仅一个元件或组件。例如,第一元件或组件可以包括多个元件或组件。
在下文中,将参考附图来描述本发明构思的示例实施例。
图1是示出根据示例实施例的数据处理系统的框图。
参考图1,数据处理系统包括存储设备100和主机200。这里,每个组件可以被配置为芯片、模块或设备,并且可以包括在一个设备中。例如,存储设备100可以与主机200结合使用。然而,本发明构思不限于此。在一些示例实施例中,存储设备100和主机200可以集成到一个装置中。
主机200使用应用或文件系统向存储设备100发出诸如读取或写入的请求。例如,主机200可以向存储设备100发送用于指示存储设备100执行写入操作的命令。存储设备100可以将对命令的请求响应(例如,对写入命令的响应)发送到主机200。
主机200可以将数据发送到存储设备100。数据可以包括关于标识要存储的数据的特征的流类数的信息。主机200可以具有指令功能。指令功能可以是允许主机200根据数据的种类和类型预先确定流类数并将所确定的流类数发送到存储设备100的功能。在一些示例实施例中,从主机200接收的数据可以包括对应的数据以及与其相关联的流类数,而不是对存储设备100中的流类数进行单独地分类。
具有相同的流类数的数据可以彼此相关联,或者可以具有相似的寿命。例如,重复且频繁更新的数据可以具有相同的流类数。因为可以假设相似类型的数据具有彼此相似的寿命,所以具有相同的流类数的数据可以具有彼此相似的寿命。
存储设备100可以响应于来自主机200的请求来控制内部操作(例如,读取或写入)。
存储设备100可以包括接口110、控制器120、缓冲器130和非易失性存储器140。
接口110可以包括用于在主机200和控制器120之间执行数据交换的协议。例如,接口110可以被配置为通过各种内部协议中的至少一种与主机200通信,各种内部协议诸如通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、PCI-快速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小接口(SCSI)协议、增强型小磁盘接口(ESDI)协议、集成驱动电子(IDE)协议、非易失性存储器快速(NVMe)协议和查询请求协议。接口110可以包括至少一个处理器。包括在接口110中的处理器可以是微处理器,但不限于此。
控制器120可以控制接口110、缓冲器130和非易失性存储器140。控制器120可以通过接口110在主机200和非易失性存储器140之间以及主机200和缓冲器130之间交换命令和数据。数据存储设备100的一些操作可以由控制器120执行。控制器120可包括至少一个处理器。包括在控制器120中的处理器可以是微处理器,但不限于此。将参考图2描述细节。
图2是示出根据示例实施例的数据存储设备的控制器的框图。
参考图2,控制器120可以包括分配器122。分配器122可以基于包括在数据中的流类数确定是将从主机200接收的数据存储到共享存储器区域(图2的142)还是专用存储器区域(图3的144)。第一数据和第二数据可以被存储在共享存储器区域中(图2的142)。第一数据可以包括第一流类数,第二数据可以包括与第一流类数不同的第二流类数。专用存储器区域(图3的144)可以包括专用存储器块。可以将专用存储器块指派给与第一流类数和第二流类数不同的第三流类数。包括第三流类数的第三数据可以仅存储在专用存储器区域中(图3的144)。细节将在下文描述。
分配器122可以实现为固件(F/W),但不限于此。例如,分配器122可以用软件、硬件或其组合来实现。本领域技术人员将能够以合适的方式实现分配器122。
再次参考图1,缓冲器130可以临时存储从主机200接收的数据。缓冲器130可以包括高速易失性存储器或非易失性存储器。例如,缓冲器130可以是动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或闪存的单层单元(SLC)区域,但是本发明构思不限于此。
非易失性存储器140可以对临时存储在缓冲器130中的数据进行存储。例如,非易失性存储器140可以是包括NAND闪速的闪存。闪存可以包括单层单元(SLC)区域和多层单元(MLC)区域。然而,本发明构思不限于此。例如,非易失性存储器140可以包括个人计算机存储器卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能介质卡(SM、SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMC微型)、SD卡(SD、迷你SD、微型SD、SDHC)、通用闪速存储(UFS)、嵌入式多媒体卡(eMMC)、NAND闪存、NOR闪存和V-NADN闪存。然而,本发明构思不限于此。将参考图3描述细节。
图3是示出根据示例实施例的非易失性存储器的图。
参考图3,非易失性存储器140可以包括多个存储器块(块1至块N)。非易失性存储器140可以包括共享存储器区域142(块1至块K)和专用存储器区域144(块K+1至块N)。
共享存储器区域142可以包括多个共享存储器块(块1至块K)。共享存储器区域142可以存储包括各种流类数的数据。例如,存储在缓冲器130中的多个数据可以存储在共享存储器区域142中,而不管每个数据中包括的流类数的种类。
专用存储器区域144可以仅存储包括分配给各个专用存储器块(块K+1到块N)的流类数的数据。例如,可以仅将包括第一流类数的数据存储在第一专用存储器块(块K+1)中,可以将包括第二流类数的数据存储在第二专用存储器块(块K+2)中。也就是说,包括在专用存储器区域144中的专用存储器块(块K+1至块N)中的每一个可以存储仅包括一个流类数的数据。例如,假设第一数据和第二数据中的每一个包括第一流类数,第三数据包括第二流类数,则第一数据和第二数据可以存储在第一专用存储器块(块K+1)中,第三数据可以存储在第二专用存储器块(块K+2)中。
多个存储器块(块1至块N)中的每一个可以包括多个页(页1到页M)。页可以是用于写入数据的最小单位。换句话说,存储设备100的写入操作的最小单位可以是页。
再次参考图1,存储设备100包括数据总线150,数据总线150可以用于接口110、控制器120、缓冲器130和非易失性存储器140之间的数据通信。数据总线150对应于数据移动的路径,并且可以包括用于执行数据交换的协议。
图4是示出根据示例实施例的数据存储设备的操作的流程图。
参考图4,存储设备100从主机200接收数据。数据可以包括标识对应的数据的特征的流类数(S400)。将参考图5描述细节。
图5是示出根据一些实施例的从主机200接收的数据的示例图。
参考图5,从主机200接收的数据(500、510)可以包括数据500和标识数据500的特征的流类数510。在本公开中,可以根据诸如数据500的类型和/或数据500的更新频率等各种因素来确定流类数510。例如,标识第一数据(数据#1)的特征的流类数可以是第一流类数(流1)。标识第二数据(数据#2)的特征的流类数可以是第四流类数(流4)。标识第三数据(数据#3)的特征的流类数可以是第三流类数(流3)。标识第四数据(数据#4)的特征的流类数可以是第一流类数(流1)。这里,包括第一流类数(流1)的第一数据(数据#1)和第四数据(数据#4)可以具有相同或相似的寿命。然而,图5中示出的第一数据(数据#1)至第四数据(数据#4)和第一流类数(流1)、第三流类数(流3)和第四流类数(流4),是为了便于解释而任意选择的术语,并且本发明构思不限于此。例如,流类数可以被分类为热页、暖页和冷页。
虽然未在附图中示出,但是除了数据500和标识数据500的特征的流类数510之外,从主机200接收的数据还可以包括地址信息和/或纠错奇偶校验(ECC奇偶校验)。
再次参考图4,数据被临时存储在缓冲器130中(S410)。
存储在缓冲器130中的数据被存储到共享存储器区域142中(S420)。
根据各种情况,存储在缓冲器130中的数据可以存储到共享存储器区域142中。例如,当从主机200输入刷新命令时,存储在缓冲器130中的数据可以被传送到共享存储器区域142。此外,当在缓冲器130中不存在用于存储数据的更多空间时,可以将存储在缓冲器130中的数据传送到共享存储器区域142。此外,可以在期望的(或者,预定的)时段期间将存储在缓冲器130中的数据传送到共享存储器区域142。
然后,确定是否迁移存储在共享存储器区域142中的数据(S430)。例如,当在缓冲器130中不存在用于存储数据的空间时,可以迁移存储在共享存储器区域142中的数据。此外,可以针对每个期望的(或者,预定的)时段迁移存储在共享存储器区域142中的数据。
如果不希望迁移存储在共享存储器区域142中的数据,则重复上述过程(S400至S420)。
如果希望迁移存储在共享存储器区域142中的数据,则确定用于执行迁移的包括在共享存储器区域142中的共享存储器块(S440)。将参考图6A和图6B描述细节。
图6A和图6B是根据一些示例实施例的用于解释确定用于从数据存储设备的共享存储器区域142执行迁移的共享存储器块的过程的图。
参考图6A,数据存储设备100的共享存储器区域142可以包括多个共享存储器块(块1和块2)。尽管图6A示出共享存储器区域142仅包括两个共享存储器块(块1和块2),但这是为了便于解释,并且本发明构思不限于此。
此外,尽管图6A示出仅在第一共享存储器块(块1)和第二共享存储器块(块2)中存储流类数,但这仅是为了便于解释。如上所述,第一共享存储器块(块1)和第二共享存储器块(块2)可以存储数据和与数据相关联的流类数,并且还可以存储地址信息和/或纠错奇偶校验。
根据一些示例实施例,在包括在共享存储器区域142中的第一共享存储器块(块1)和第二共享存储器块(块2)之中,可以将其中存储有相对较小的数量的流类数种类的共享存储器块确定为用于执行迁移的块。相对较小的数量可以是相对于阈值数量确定的。
例如,共享存储器区域142的第一共享存储器块(块1)可以存储第一流类数(流1)至第八流类数(流8)。因此,第一共享存储器块(块1)可以存储八种流类数。共享存储器区域142的第二共享存储器块(块2)可以存储第一流类数(流1)至第三流类数(流3)。因此,第二共享存储器块(块2)可以存储三种流类数。
因此,在第一共享存储器块(块1)和第二共享存储器块(块2)之中,可以选择第二共享存储器块(块2)作为用于执行迁移的块。
当选择具有最小或相对较小数量的存储的流类数的种类的块作为多个共享存储器块之中用于执行迁移的块时,可以最小化写入放大因子(WAF),并且可以降低功耗。
参考图6B,数据存储设备100的共享存储器区域142可以包括多个共享存储器块。为了便于解释,将省略或简要描述与图6A的内容重叠内容。
在包括在共享存储器区域142中的多个共享存储器块中,可以将其中存储有最小(或相对小)数量的有效数据的共享存储器块确定为用于执行迁移的块。
例如,图6B中所示出的有效数据的区域和无效数据的区域可以分别指代存储在第一共享存储器块(块1)和第二共享存储器块(块2)中的数据中有效数据的比率和无效数据的比率。例如,第一共享存储器块(块1)中的有效数据的数量可以大于第一共享存储器块(块1)中的无效数据的数量。此外,第二共享存储器块(块2)中的有效数据的数量可以小于第二共享存储器块(块2)中的无效数据的数量。因此,如果第一共享存储器块(块1)的大小等于第二共享存储器块(块2)的大小,则第一共享存储器块(块1)中的有效数据的数量可以大于第二共享存储器块(块2)中有效数据的数量。
因此,在第一共享存储器块(块1)和第二共享存储器块(块2)之中,可以选择第二共享存储器块(块2)作为用于执行迁移的块。此外,可以仅对存储在第二共享存储器块(块2)中的有效数据执行迁移。
在多个共享存储器块中,当选择具有相对较小数量的有效数据的块作为用于执行迁移的块时,可以最小化写入放大因子(WAF),并且可以降低功耗。块是否具有相对较小数量的有效数据可以相对于有效数据的阈值数量来确定。
尽管参考图6A和图6B描述了将共享存储器区域142中的多个共享存储器块中的一个共享存储器块确定为用于执行迁移的块,但本发明构思不限于此。在一些示例实施例中,可以将共享存储器区域142中的多个共享存储器块中的多于一个共享存储器块确定为用于执行迁移的块。例如,如果多个共享存储器块全部具有小于阈值或参考值的相对较小数量的流类数的种类或相对较小数量的有效数据,则可以将共享存储器区域142中的多个共享存储器块全部确定为用于执行迁移的块。在一些其他示例实施例中,可以基于存储在第一共享存储器块和第二共享存储器块中的数据的模式来选择(或确定)共享存储器区域中包括的第一共享存储器块和第二共享存储器块中的一个或多个作为用于执行迁移的一个或多个块,并且可以将存储在第一共享存储器块和第二共享存储器块中所选择的一个或多个共享存储器块中的数据迁移到专用存储器区域。
在一些示例实施例中,可以通过后台操作来执行迁移。例如,当控制器120确定期望迁移时,即使在没有来自主机200的命令的情况下也可以执行迁移。因此,可以在存储设备100处于空闲状态中时执行迁移(例如,当没有从主机200接收到命令时),但本发明构思不限于此。
再次参考图4,当从共享存储器区域142中确定了用于执行迁移的共享存储器块时,存储在对应的共享存储器块中的数据被迁移到专用存储器区域144(S450)。例如,存储在共享存储器区域142中的数据的迁移可以通过存储设备100的控制器120来执行,但本发明构思不限于此。将参考图7描述迁移的细节。
图7是根据一些示例实施例的用于解释在数据存储设备中将存储在共享存储器区域142中的数据迁移到专用存储器区域144的过程的示例流程图。
参考图7,确定要迁移的数据(S451)。
然后,确定是否存在用于存储要从共享存储器区域142迁移的数据的专用存储器块(S452)。
如果存在可用于存储要迁移的数据的专用存储器块,则将要迁移的数据存储在专用存储器块中(S454)。
如果不存在可用于存储要迁移的数据的专用存储器块,则分配用于存储要迁移的数据的专用存储器块(S453),并且将要迁移的数据存储在分配的专用存储器块中(S454)。
在完成迁移之后,从共享存储器区域142中消除迁移的数据(S455)。
将参考图8A和图8B描述迁移的一些示例。
图8A和图8B是根据一些示例实施例的用于解释数据存储设备的共享存储器块的迁移的图。为了便于解释,将省略或简要描述与前述内容重叠的内容。
参考图8A,数据存储设备100的非易失性存储器140可以包括共享存储器区域142和专用存储器区域144。如上所述,共享存储器区域142可以是临时存储数据的区域,而不管流类数的种类。专用存储器区域144可以是仅存储针对一个流类数的数据的区域。
参考图8A,包括在共享存储器区域142中的第二共享存储器块(块2)被确定为用于执行迁移的块。此外,存储在第二共享存储器块(块2)中的数据可以包括第一流类数(流1)、第二流类数(流2)和第三流类数(流3)。尽管未在图中示出,但是共享存储器区域142可以具有未分配的共享存储器块。
专用存储器区域144可以包括多个专用存储器块。专用存储器区域144可以包括未分配的专用存储器块(未分配1、未分配2、未分配3、……)。
在第二共享存储器块中,分别包括第一流类数(流1)至第三流类数(流3)的第一数据(数据#1)至第三数据(数据#3)可以分别存储在第一专用存储器块(流块1)至第三专用存储器块(流块3)中。尽管在图8A中示出了在第一专用存储器块(流块1)至第三专用存储器块(流块3)中仅分别存储第一数据(数据#1)至第三数据(数据#3),但本发明构思不限于此。例如,除了第一数据(数据#1)至第三数据(数据#3)之外,第一专用存储器块(流块1)至第三专用存储器块(流块3)可以存储第一流类数(流1)至第三流类数(流3)、地址信息和/或纠错奇偶校验。
参考图8B,在共享存储器区域142中,将第二共享存储器块(块2)确定为用于执行迁移的块。此外,确定了迁移存储在第二共享存储器块(块2)中的流类数中的一些流类数(例如,第一流类数(流1)至第三流类数(流3))。例如,第一流类数(流1)至第三流类数(流3)可以是存储在第二共享存储器块(块2)中的流类数中按照流类数的数量的顺序排列的。例如,存储在第二共享存储器块(块2)中的流类数中的第一流类数(流1)至第三流类数(流3)可以是第二共享存储器块(块2)中的三个最大(或相对较大)的流类数。在图8B中,选择三个流类数(例如,第一流类数(流1)至第三流类数(流3))作为第二共享存储器块(块2)的流类数中的一些流类数,本发明构思不限于流类数的该数量。例如,要迁移的流类数可以是第二共享存储器块(块2)的较高的八个流类数。
尽管以上示例实施例解释了基于存储在缓冲器130中的流类数的数量来确定用于迁移的数据的情况,但本发明构思不限于此。在一些示例实施例中,当确定第二共享存储器块(块2)中要迁移的数据时,可以将包括先前分配给专用存储器块的流类数的数据迁移。可以由本领域技术人员合适地选择决定要迁移的数据。
尽管示例实施例示出仅一个共享存储器块进行了数据迁移,但这是为了便于解释,并且本发明构思不限于此。
在一些实施例中,当将存储在缓冲器130中的数据存储在非易失性存储器140中时,无论每个数据中包括的流类数如何(例如,在不分配和分发要存储数据的块的情况下),数据都存储在共享存储器区域142中,从而降低数据存储设备100的功耗和写入放大系数。
图9是根据示例实施例的用于解释数据存储设备的操作的流程图。为了便于解释,将省略或简要描述与前述内容重叠的内容。
参考图9,从主机200接收包括流类数的数据(S900),并且将接收到的数据存储在缓冲器130中(S910)。
确定专用流类数,并且分配专用存储器块(图11的610)(S920)。专用存储器块(图11的610)可以包括在专用存储器区域144中。在一些示例实施例中,当将存储在缓冲器130中的数据传送到非易失性存储器140时,包括专用流类数的数据可以存储在专用存储器区域144中,而不是存储在共享存储器区域142中。将参考图10描述确定专用流类数的方法。
图10是根据示例实施例的用于解释确定专用流类数的方法的流程图。
参考图10,确定存储在缓冲器130中的流类数的存储频率(S921)。
确定存储在缓冲器130中的流类数的存储频率是否超出阈值(或者,预定的)存储频率(S922)。
如果存储在缓冲器130中的流类数的存储频率超出阈值存储频率(例如,如果从主机200接收的流类数比阈值存储频率更频繁地接收),则将对应的流类数确定为专用流类数(S923)。
如果存储在缓冲器130中的流类数的存储频率等于或小于阈值存储频率,则将对应的流类数确定为共享流类数(S923)。共享流类数可以与参考图1至图8B描述的流类数相同或相似。
如果确定了专用流类数,但是没有分配专用存储器块(图11的610),则控制器120可以将专用存储器块(图11的610)分配到专用存储器区域144。
再次参考图9,确定存储在缓冲器130中的流类数是否是专用流类数(S930)。
如果存储在缓冲器130中的流类数是专用流类数,则包括专用流类数的数据被存储在专用存储器区域中(图11的610)(S940)。
如果存储在缓冲器130中的流类数不是专用流类数(例如,如果该流类数是共享流类数),则包括共享流类数的数据被存储在共享存储器区域142中(S950),并且如果需要,则迁移数据(S960)。此迁移过程可以与前述迁移过程相同。
也就是说,当将存储在缓冲器130中的数据冲刷(flush)到非易失性存储器140时,可以基于包括在每个数据中的流类数是专用流类数还是共享流类数,将数据存储在非易失性存储器140的共享存储器区域142中,或者可以将数据存储在非易失性存储器140的专用存储器区域144中。为了便于对解释的理解,将参考图11进行描述。
图11是根据示例实施例的用于解释根据流类数的种类确定专用流类数并将数据分发以及存储到非易失性存储器的不同区域中的方法的图。
参考图11,可以将从主机200接收的包括流类数的数据存储在缓冲器130中。包括在控制器120中的分配器122可以基于存储在缓冲器130中的数据的流类数,确定是否将每个数据存储在共享存储器区域142或包括在专用存储器区域144中的专用存储器块610中。
为了便于解释,假设阈值存储频率为0.5。存储在缓冲器130中的数据可以包括流类数。例如,存储在缓冲器130中的数据可以包括七个第一流类数(流1)、两个第二流类数(流2)、一个第三流类数(流3)、一个第四流类数(流4)和一个第五流类数(流5)。在该示例中,第一流类数(流1)的存储频率可以是7/12,第二流类数(流2)的存储频率可以是1/6,第三流类数(流3)至第五流类数(流5)中的每一个的存储频率可以是1/12。
因此,因为存储在缓冲器130中的第一流类数(流1)的存储频率超出0.5,所以可以将第一流类数(流1)确定为专用流类数。因此,可以将用于第一流类数(流1)的专用存储器块610分配给专用存储器区域144,其中仅存储包括第一流类数(流1)的数据。因为第二流类数(流2)至第五流类数(流5)中的每一个的频率不超过0.5,所以可以将第二流类数(流2)至第五流类数(流5)确定为共享流类数。第二流类数(流2)至第五流类数(流5)可以存储在共享存储器区域142中。
例如,当从主机200接收到刷新命令时,控制器120可以将存储在缓冲器130中的数据发送到非易失性存储器140。在这种情况下,第二数据(数据#2)和第三数据(数据#3)、第五数据(数据#5)和第六数据(数据#6)以及第九数据(数据#9)可以存储在共享存储器区域142中。此外,第一数据(数据#1)、第四数据(数据#4)、第七数据(数据#7)和第八数据(数据#8)以及第十数据(数据#10)至第十二数据(数据#12)可以存储在用于第一流类数(流1)的专用存储器块610中。
图12A和图12B是根据一些示例实施例的用于解释在共享存储器块中存储数据的方法的图。
参考图12A,如果从主机200接收的数据具有页单位的大小或者存储在缓冲器130中的数据具有页单位的大小,则可以将数据顺序地存储在具有分配和保留空间的块(块1)中。如果没有分配的共享存储器块,则可以分配新块,以存储数据。如果在共享存储器块中没有用于存储的空间,则如上所述,可以执行迁移,可以擦除已经执行了迁移的共享存储器块,并且可以将数据存储在擦除的共享存储器块中。
参考图12B,如果从主机200接收的数据具有块单位的大小或者存储在缓冲器130中的数据具有块单位的大小,则可以新分配未分配给共享存储器区域142的块(块2),并且可以将数据存储在新分配的块中。如果在共享存储器块中没有用于存储的空间,则如上所述,可以执行迁移,可以擦除已进行了迁移的共享存储器块,并且可以将数据存储在擦除的共享存储器块中。
换句话说,可以顺序地存储页单位的数据,并且可以将块单位的数据一次存储在新分配的块中。
尽管未在附图中示出,但是可以使用各种类型的封装来安装根据本发明构思的数据存储设备100。例如,可以使用如下封装来安装数据存储设备100,诸如层叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、晶片包的管芯、晶片形式的管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形(SOIC)、紧缩小外形封装(SSOP)、薄型小外形(TSOP)、薄四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级制造封装(WFP)或晶片级处理堆叠封装(WSP)。然而,本发明构思不限于此。
尽管为了说明目的公开了本发明构思的一些示例实施例,然而本领域技术人员应认识到,在不脱离如所附权利要求所公开的本发明的范围和精神的情况下,各种修改、添加和替代是有可能的。
Claims (20)
1.一种数据存储设备,包括:
缓冲器,被配置为接收第一信息和第二信息并在其中存储所述第一信息和所述第二信息,所述第一信息包括第一数据和标识所述第一数据的特征的第一流类数,所述第二信息包括第二数据和标识所述第二数据的特征的第二流类数,所述第二流类数与所述第一流类数不同;
非易失性存储器,被配置为对存储在所述缓冲器中的所述第一数据和所述第二数据进行存储,所述非易失性存储器包括共享存储器区域和专用存储器区域,所述专用存储器区域与所述共享存储器区域不同;以及
控制器,被配置为控制所述缓冲器和所述非易失性存储器,所述控制器还被配置为在所述共享存储器区域中存储所述第一数据和所述第二数据,然后将存储在所述共享存储器区域中的第一数据迁移到所述专用存储器区域。
2.根据权利要求1所述的数据存储设备,其中,
所述缓冲器还被配置为接收第三信息,所述第三信息包括第三数据和标识所述第三数据的特征的第三流类数,所述第三流类数与所述第一流类数和所述第二流类数不同,以及
所述控制器还被配置为将所述第一数据、所述第二数据和所述第三数据存储在所述共享存储器区域中。
3.根据权利要求1所述的数据存储设备,其中,
所述共享存储器区域包括第一共享存储器块和第二共享存储器块,以及
所述控制器还被配置为基于存储在所述第一共享存储器块和所述第二共享存储器块中的数据的模式选择所述第一共享存储器块和所述第二共享存储器块中的一个或多个共享存储器块,并将存储在所述第一共享存储器块和第二共享存储器块中的所选择的一个或多个共享存储器块中的数据迁移到所述专用存储器区域。
4.根据权利要求3所述的数据存储设备,其中,所述控制器还被配置为:从所述第一共享存储器块和所述第二共享存储器块中选择具有第一数量的有效数据的共享存储器块,所述有效数据的第一数量小于阈值数量。
5.根据权利要求4所述的数据存储设备,其中,所述控制器还被配置为:迁移存储在所选择的共享存储器块中的有效数据。
6.根据权利要求3所述的数据存储设备,其中,所述控制器还被配置为:从所述第一共享存储器块和所述第二共享存储器块中选择具有第一数量的存储的流类数的共享存储器块,所述第一数量小于阈值数量。
7.根据权利要求1所述的数据存储设备,其中,所述控制器还被配置为:如果所述第一流类数是所述共享存储器块中最频繁地存储的流类数,则迁移存储在所述共享存储器区域中的所述第一数据。
8.根据权利要求1所述的数据存储设备,其中,
所述共享存储器区域包括第一共享存储器块和第二共享存储器块,以及
当在所述第一共享存储器块被激活且所述第二共享存储器块被停用的状态下将所述第一数据和所述第二数据存储在所述共享存储器区域中时,
所述控制器还被配置为,如果所述第一数据和所述第二数据中的每一个具有页单位的大小,则将所述第一数据和所述第二数据存储在所述第一共享存储器块中,以及
所述控制器还被配置为,如果所述第一数据和所述第二数据中的每一个具有块单位的大小,则激活所述第二共享存储器块并将所述第一数据和所述第二数据存储在激活的所述第二共享存储器块中。
9.根据权利要求8所述的数据存储设备,其中,所述控制器还被配置为:如果所述第一共享存储器块和所述第二共享存储器块被停用,则激活所述第一共享存储器块,并且将所述第一数据和所述第二数据存储在激活的所述第一共享存储器块中,而不管所述第一数据和所述第二数据的大小。
10.根据权利要求1所述的数据存储设备,其中,所述控制器还被配置为:使用后台操作来迁移所述第一数据。
11.根据权利要求1所述的数据存储设备,其中,所述控制器还被配置为:如果所述共享存储器区域中不存在用来存储所述第一数据的空间,则迁移所述第一数据。
12.根据权利要求1所述的数据存储设备,其中,所述控制器还被配置为:在迁移所述第一数据之后,从所述共享存储器区域中擦除存储所述第一数据的区域。
13.一种数据存储设备,包括:
缓冲器,被配置为接收第一信息、第二信息和第三信息并在其中存储所述第一信息、所述第二信息和所述第三信息,所述第一信息包括第一数据和标识所述第一数据的特征的第一流类数,所述第二信息包括第二数据和标识所述第二数据的特征的第二流类数,所述第二流类数与所述第一流类数不同,所述第三信息包括第三数据和标识所述第三数据的特征的第三流类数,所述第三流类数与所述第一流类数和所述第二流类数不同;
非易失性存储器,被配置为对存储在所述缓冲器中的所述第一数据、所述第二数据和所述第三数据进行存储,所述非易失性存储器包括共享存储器区域和专用存储器区域,所述专用存储器区域与所述共享存储器区域不同;以及
控制器,被配置为控制所述缓冲器和所述非易失性存储器,所述控制器还被配置为,如果所述第一流类数和所述第二流类数中的每一个的存储频率小于或等于阈值存储频率,则将存储在所述缓冲器中的所述第一数据和所述第二数据以及所述第一流类数和所述第二流类数存储到所述共享存储器区域中,以及如果所述第三流类数的存储频率大于所述阈值存储频率,则将存储在所述缓冲器中的所述第三数据和所述第三流类数存储到所述专用存储器区域中。
14.根据权利要求13所述的数据存储设备,其中,所述控制器还被配置为将存储在所述共享存储器区域中的所述第一数据迁移到所述专用存储器区域。
15.根据权利要求14所述的数据存储设备,其中,
所述专用存储器区域包括第一专用存储器块、第二专用存储器块和第三专用存储器块,
所述控制器还被配置为在将存储在所述缓冲器中的所述第三数据传送到所述专用存储器区域时将所述第三数据传送到所述第三专用存储器块,所述第三专用存储器块中仅存储所述第三数据,以及
所述控制器还被配置为在将存储在所述共享存储器区域中的所述第一数据迁移到所述专用存储器区域时将所述第一数据迁移到所述第一专用存储器块,所述第一专用存储器块中仅存储所述第一数据。
16.根据权利要求14所述的数据存储设备,其中,
所述共享存储器区域包括第一共享存储器块和第二共享存储器块,以及
所述控制器还被配置为基于存储在所述第一共享存储器块和所述第二共享存储器块中的数据的模式选择所述第一共享存储器块和所述第二共享存储器块中的一个或多个共享存储器块,并将存储在所述第一共享存储器块和第二共享存储器块中的所选择的一个或多个共享存储器块中的所述第一数据迁移到所述专用存储器区域。
17.根据权利要求14所述的数据存储设备,其中,所述控制器还被配置为:如果所述第一流类数是所述共享存储器块中最频繁地存储的流类数,则迁移存储在所述共享存储器区域中的所述第一数据。
18.根据权利要求13所述的数据存储设备,其中,
所述共享存储器区域包括第一共享存储器块和第二共享存储器块,以及
当在所述第一共享存储器块被激活且所述第二共享存储器块被停用的状态下将所述第一数据和所述第二数据存储在所述共享存储器区域中时,
所述控制器还被配置为,如果所述第一数据和所述第二数据中的每一个具有页单位的大小,则将所述第一数据和所述第二数据存储在所述第一共享存储器块中,以及
所述控制器还被配置为,如果所述第一数据的大小和所述第二数据的大小中的每一个具有块单位的大小,则激活所述第二共享存储器块并将所述第一数据和所述第二数据存储在激活的所述第二共享存储器块中。
19.一种数据存储设备,包括:
缓冲器,被配置为接收第一信息、第二信息和第三信息并在其中存储所述第一信息、所述第二信息和所述第三信息,所述第一信息包括第一数据和标识所述第一数据的特征的第一流类数,所述第二信息包括第二数据和标识所述第二数据的特征的第二流类数,所述第二流类数与所述第一流类数不同,所述第三信息包括第三数据和标识所述第三数据的特征的第三流类数,所述第三流类数与所述第一流类数和所述第二流类数中的每一个不同;
非易失性存储器,被配置为对存储在所述缓冲器中的所述第一数据至所述第三数据进行存储,所述非易失性存储器包括共享存储器区域和第一专用存储器块,所述共享存储器区域被配置为存储所述第一数据和所述第二数据,所述第一专用存储器块被包括在专用存储器区域中且被配置为仅存储所述第三数据;以及
控制器,被配置为控制所述缓冲器和所述非易失性存储器。
20.根据利要求19所述的数据存储装置,其中,所述非易失性存储器还在所述专用存储器区域中包括第二专用存储器块,并且当所述共享存储器区域中不存在用来存储所述第一数据的空间时,所述控制器被配置为将所述第一数据迁移到所述第二专用存储器块且被配置为仅存储所述第一数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170137357A KR102387935B1 (ko) | 2017-10-23 | 2017-10-23 | 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치 |
KR10-2017-0137357 | 2017-10-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109697027A true CN109697027A (zh) | 2019-04-30 |
CN109697027B CN109697027B (zh) | 2024-02-02 |
Family
ID=66169988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811183956.4A Active CN109697027B (zh) | 2017-10-23 | 2018-10-11 | 包括共享存储器区域和专用存储器区域的数据存储设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10782909B2 (zh) |
KR (1) | KR102387935B1 (zh) |
CN (1) | CN109697027B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148697A (zh) * | 2019-06-28 | 2020-12-29 | 西部数据技术公司 | 用于非易失性存储器中不同数据类型的基于日志的存储 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11468068B2 (en) * | 2018-12-28 | 2022-10-11 | Verizon Patent And Licensing Inc. | Method and system for concurrent generation of data sketches |
US11468086B2 (en) | 2018-12-28 | 2022-10-11 | Verizon Patent And Licensing Inc. | Method and system for concurrent generation of data sketches |
US10824569B2 (en) * | 2019-01-18 | 2020-11-03 | Arm Limited | Data processing systems |
US10802750B2 (en) * | 2019-02-28 | 2020-10-13 | Silicon Motion Inc. | Universal flash storage memory module, controller and electronic device with advanced turbo write buffer and method for operating the memory module |
US20210056476A1 (en) * | 2019-08-21 | 2021-02-25 | Oath Inc. | Method and system for secure data sharing |
EP4038507A4 (en) * | 2019-10-04 | 2022-10-19 | Visa International Service Association | PROCEDURE FOR LAYERED DATA STORAGE IN TENANT-ENABLED CACHE SYSTEMS |
KR20210158043A (ko) * | 2020-06-23 | 2021-12-30 | 삼성전자주식회사 | 스트림 분류 번호에 따른 데이터 분류 스토리지 장치 및 그 동작 방법 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690136A (zh) * | 2007-06-26 | 2010-03-31 | 汤姆逊许可证公司 | 实时协议流迁移 |
US20110320754A1 (en) * | 2010-02-23 | 2011-12-29 | Hitachi, Ltd | Management system for storage system and method for managing storage system |
CN102831088A (zh) * | 2012-07-27 | 2012-12-19 | 国家超级计算深圳中心(深圳云计算中心) | 基于混合存储器的数据迁移方法和装置 |
US20130024609A1 (en) * | 2011-05-17 | 2013-01-24 | Sergey Anatolievich Gorobets | Tracking and Handling of Super-Hot Data in Non-Volatile Memory Systems |
CN103024823A (zh) * | 2011-09-20 | 2013-04-03 | 中兴通讯股份有限公司 | 一种流迁移的实现方法、终端和分组数据网络网关 |
US8601347B1 (en) * | 2012-06-21 | 2013-12-03 | Hitachi, Ltd. | Flash memory device and storage control method |
CN103858110A (zh) * | 2011-10-07 | 2014-06-11 | 株式会社日立制作所 | 存储系统 |
US8971345B1 (en) * | 2010-03-22 | 2015-03-03 | Riverbed Technology, Inc. | Method and apparatus for scheduling a heterogeneous communication flow |
CN105264493A (zh) * | 2013-02-12 | 2016-01-20 | 华为技术有限公司 | 信息中心网络上的动态虚拟机迁移 |
US20160034197A1 (en) * | 2014-08-04 | 2016-02-04 | Fujitsu Limited | Data migration method and data migration device |
US20170083378A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Managing processing of long tail task sequences in a stream processing framework |
US20170168929A1 (en) * | 2015-12-14 | 2017-06-15 | Kabushiki Kaisha Toshiba | Memory system and method for controlling nonvolatile memory |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5572645A (en) | 1994-03-01 | 1996-11-05 | International Business Machines Corporation | Buffer management policy for an on-demand video server |
US20030163618A1 (en) | 2002-02-27 | 2003-08-28 | Vishal Anand | Shared queue for multiple input-streams |
JP2005020609A (ja) | 2003-06-27 | 2005-01-20 | Matsushita Electric Ind Co Ltd | データ入出力制御装置、データ入出力制御方法、データ入出力制御プログラム及び記録媒体 |
KR100601043B1 (ko) | 2003-11-13 | 2006-07-14 | 한국전자통신연구원 | 패킷을 스케줄링하는 라우터 및 그 방법 |
JP2006285809A (ja) | 2005-04-04 | 2006-10-19 | Hitachi Ltd | ストリーミング向け性能保証を行うストレージ装置 |
US8738572B2 (en) | 2011-05-24 | 2014-05-27 | Red Lambda, Inc. | System and method for storing data streams in a distributed environment |
WO2012161659A1 (en) | 2011-05-24 | 2012-11-29 | Agency For Science, Technology And Research | A memory storage device, and a related zone-based block management and mapping method |
CN102789427B (zh) * | 2012-07-17 | 2015-11-25 | 威盛电子股份有限公司 | 数据储存装置与其操作方法 |
KR102074329B1 (ko) | 2013-09-06 | 2020-02-06 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 처리 방법 |
US9785499B2 (en) * | 2014-02-12 | 2017-10-10 | Seagate Technology Llc | Hot-read data aggregation and code selection |
US9632927B2 (en) | 2014-09-25 | 2017-04-25 | International Business Machines Corporation | Reducing write amplification in solid-state drives by separating allocation of relocate writes from user writes |
US20160283125A1 (en) | 2015-03-25 | 2016-09-29 | Kabushiki Kaisha Toshiba | Multi-streamed solid state drive |
KR102381343B1 (ko) | 2015-07-27 | 2022-03-31 | 삼성전자주식회사 | 스토리지 장치 및 상기 스토리지 장치의 동작 방법 |
KR102401600B1 (ko) | 2015-08-31 | 2022-05-25 | 삼성전자주식회사 | 데이터 양에 기초하여 복수의 데이터 스트림을 관리하도록 구성되는 스토리지 장치 |
US9880780B2 (en) * | 2015-11-30 | 2018-01-30 | Samsung Electronics Co., Ltd. | Enhanced multi-stream operations |
US9921956B2 (en) * | 2016-07-20 | 2018-03-20 | Sandisk Technologies Llc | System and method for tracking block level mapping overhead in a non-volatile memory |
-
2017
- 2017-10-23 KR KR1020170137357A patent/KR102387935B1/ko active IP Right Grant
-
2018
- 2018-05-21 US US15/984,611 patent/US10782909B2/en active Active
- 2018-10-11 CN CN201811183956.4A patent/CN109697027B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101690136A (zh) * | 2007-06-26 | 2010-03-31 | 汤姆逊许可证公司 | 实时协议流迁移 |
US20110320754A1 (en) * | 2010-02-23 | 2011-12-29 | Hitachi, Ltd | Management system for storage system and method for managing storage system |
US20150124835A1 (en) * | 2010-03-22 | 2015-05-07 | Riverbed Technology, Inc. | Method and apparatus for scheduling a heterogeneous communication flow |
US8971345B1 (en) * | 2010-03-22 | 2015-03-03 | Riverbed Technology, Inc. | Method and apparatus for scheduling a heterogeneous communication flow |
US20130024609A1 (en) * | 2011-05-17 | 2013-01-24 | Sergey Anatolievich Gorobets | Tracking and Handling of Super-Hot Data in Non-Volatile Memory Systems |
CN103024823A (zh) * | 2011-09-20 | 2013-04-03 | 中兴通讯股份有限公司 | 一种流迁移的实现方法、终端和分组数据网络网关 |
CN103858110A (zh) * | 2011-10-07 | 2014-06-11 | 株式会社日立制作所 | 存储系统 |
US8601347B1 (en) * | 2012-06-21 | 2013-12-03 | Hitachi, Ltd. | Flash memory device and storage control method |
CN102831088A (zh) * | 2012-07-27 | 2012-12-19 | 国家超级计算深圳中心(深圳云计算中心) | 基于混合存储器的数据迁移方法和装置 |
CN105264493A (zh) * | 2013-02-12 | 2016-01-20 | 华为技术有限公司 | 信息中心网络上的动态虚拟机迁移 |
US20160034197A1 (en) * | 2014-08-04 | 2016-02-04 | Fujitsu Limited | Data migration method and data migration device |
US20170083378A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Managing processing of long tail task sequences in a stream processing framework |
US20170168929A1 (en) * | 2015-12-14 | 2017-06-15 | Kabushiki Kaisha Toshiba | Memory system and method for controlling nonvolatile memory |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148697A (zh) * | 2019-06-28 | 2020-12-29 | 西部数据技术公司 | 用于非易失性存储器中不同数据类型的基于日志的存储 |
CN112148697B (zh) * | 2019-06-28 | 2024-05-24 | 西部数据技术公司 | 用于非易失性存储器中不同数据类型的基于日志的存储 |
Also Published As
Publication number | Publication date |
---|---|
KR102387935B1 (ko) | 2022-04-15 |
CN109697027B (zh) | 2024-02-02 |
KR20190044873A (ko) | 2019-05-02 |
US10782909B2 (en) | 2020-09-22 |
US20190121567A1 (en) | 2019-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109697027A (zh) | 包括共享存储器区域和专用存储器区域的数据存储设备 | |
US8606988B2 (en) | Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof | |
CN106067321B (zh) | 适于存储器编程暂停-恢复的控制器 | |
JP6163532B2 (ja) | メモリシステムコントローラを含む装置 | |
US20160062885A1 (en) | Garbage collection method for nonvolatile memory device | |
US8595414B2 (en) | Selectively combining commands for a system having non-volatile memory | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
US11487666B2 (en) | Timed data transfer between a host system and a memory sub-system | |
US20170322897A1 (en) | Systems and methods for processing a submission queue | |
TWI770218B (zh) | 記憶體系統及其操作方法 | |
CN110727395B (zh) | 闪存控制器、方法及存储装置 | |
US20200379684A1 (en) | Predictive Data Transfer based on Availability of Media Units in Memory Sub-Systems | |
CN111158579B (zh) | 固态硬盘及其数据存取的方法 | |
CN110032333A (zh) | 存储器系统及其操作方法 | |
US20240037039A1 (en) | Management of Programming Mode Transitions to Accommodate a Constant Size of Data Transfer between a Host System and a Memory Sub-System | |
US10346052B2 (en) | Memory system with priority processing and operating method thereof | |
US20160070653A1 (en) | Methods for Scheduling Read Commands and Apparatuses using the Same | |
CN112748872A (zh) | 存储器系统及其操作方法 | |
CN110489056A (zh) | 控制器以及包括该控制器的存储器系统 | |
CN101930407B (zh) | 闪速存储器控制电路及其存储系统与数据传输方法 | |
CN111381776A (zh) | 用于存储器装置的方法、系统和计算机可读媒体 | |
CN111309654A (zh) | 存储装置及操作存储装置的方法 | |
CN113448511A (zh) | 通过链接阵列依序预提取 | |
CN115527585A (zh) | 用于存储器管理的超额配给组件 | |
CN113495850B (zh) | 管理垃圾回收程序的方法、装置及计算机可读取存储介质 |
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 |