CN106354425A - 基于数据属性的数据布局的方法和系统 - Google Patents
基于数据属性的数据布局的方法和系统 Download PDFInfo
- Publication number
- CN106354425A CN106354425A CN201610548879.2A CN201610548879A CN106354425A CN 106354425 A CN106354425 A CN 106354425A CN 201610548879 A CN201610548879 A CN 201610548879A CN 106354425 A CN106354425 A CN 106354425A
- Authority
- CN
- China
- Prior art keywords
- data
- application
- hardware unit
- execution
- data item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/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/0643—Management of files
-
- 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/0653—Monitoring storage devices or 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0689—Disk arrays, e.g. RAID, JBOD
-
- 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/7202—Allocation control and policies
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Stored Programmes (AREA)
Abstract
一种基于数据属性的数据布局的方法和系统。用于由非易失性存储器装置的存储控制器执行的非易失性存储器装置内的基于数据属性的数据布局的方法包括:在计算装置上执行软件组件,软件组件检测执行的应用和连接到计算装置的硬件装置中的至少一个;响应于检测到至少一个执行的应用和硬件装置,通过软件组件搜索工作流储存库以找到与所述至少一个执行的应用和硬件装置相关联的预定工作流;通过软件组件将所述至少一个执行的应用和硬件装置的活动与所述预定工作流进行比较;使用预定工作流将数据属性指示符自动分配给由执行的应用或硬件装置使用的数据项,使得数据项和分配的数据属性指示符经由通道被发送到非易失性存储器装置以进行存储。
Description
该申请要求于2015年7月13日提交的第62/192,045号临时专利申请、2015年10月22日提交的第62/245,100号临时专利申请及2016年5月2日提交的第15/144,588号专利申请的权益,所述三个专利申请通过引用包含于此。
技术领域
本公开涉及一种在存储装置中基于数据属性的数据布局的方法和系统,更具体地,涉及需要一种使得计算装置能够使用基于数据属性的数据布局(例如,多流)固态驱动器的自主处理的方法和系统。
背景技术
基于闪存的固态驱动器(SSD)已被广泛用于消费计算机和企业服务器两者中。存在被称为NAND和NOR逻辑门的两种主要类型的闪存。NAND类型闪存可在块中被写入和读取,每个块包括多个页。
由于SSD中的NAND闪速存储单元具有非常独特的属性,因此,SSD的正常使用效率非常低。例如,虽然可一次随意对页进行读取或编程,但是NAND闪存一次仅可擦除一个块。为了对单个NAND闪存页进行重写,必需首先擦除整个擦除块(包含多个闪存页)。
由于基于NAND闪存的存储装置(例如,SSD)不允许就地更新,因此当可用空闲块计数达到特定阈值时执行垃圾回收操作以便为随后的写入准备空间。垃圾回收包括从目标擦除块读取有效数据及将有效数据写入另一块,而无效数据不被传送到新的块。需要花费相当大量时间擦除NAND擦除块,每个擦除块具有有限数量的擦除循环(从大约3千次至1万次)。因此,垃圾回收开销是技术中最大的速度限制之一,导致较高的数据I/O延迟和较低的I/O性能。
因此,同样地对待热/冷数据并且将它们存储在一起的操作系统(OS)和应用随着时间性能将降低(相比于不同地对待热数据和冷数据的OS和应用),并且随着需要更多的擦除循环SSD寿命将更短,导致NAND单元磨损更快。
SSD供应商和存储技术委员会提出被称为“多流”的新的SSD和标准,“多流”允许主机将数据按照被称为流的保存类分组在一起。每个流被SSD独立地保存。流中的数据理论上可因任何原因被分组在一起,一个这样的原因是为了将相似寿命的数据存储在一起以便减少垃圾回收事件的目的。
然而,为了使用这种新的接口,需要在应用(包括源代码)和OS内做出许多改变。随着典型计算机可安装和运行几十或几百个软件应用,使所有应用(尤其是延迟和非开源应用)适应这些改变以便更有效地使用SSD是非常困难的。此外,多流SSD具有有限适用性,这是因为这种多流SSD仅在被操作系统和知道如何使用其的应用使用时兼容。
在存储装置中需要改进的基于数据属性的数据布局,更具体地,涉及需要一种使得计算装置能够使用基于数据属性的数据布局(例如,多流)固态驱动器的自主处理。
发明内容
示例实施例提供用于由非易失性存储器装置的存储控制器执行的非易失性存储器装置内的基于数据属性的数据布局的方法和系统。在一个方面,实施例包括:在计算装置上执行软件组件,所述软件组件检测执行的应用和连接到计算装置的硬件装置中的至少一个;响应于检测到至少一个执行的应用和硬件装置,通过所述软件组件搜索工作流储存库以找到与所述至少一个执行的应用和硬件装置相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与通过执行的应用或硬件装置写入到非易失性存储器装置的不同类型的数据项相关联;通过所述软件组件将所述至少一个执行的应用和硬件装置的活动与所述预定工作流进行比较;使用所述预定工作流将数据属性指示符自动分配给由执行的应用或硬件装置使用的数据项,使得数据项和分配的数据属性指示符经由通道被发送到非易失性存储器装置以进行存储,其中,非易失性存储器装置读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应数据项,使得具有相同数据属性指示符的数据项被存储在同一块中。
示例实施例还包括一种系统,包括:非易失性存储器装置;结合到非易失性存储器装置的计算装置。计算装置执行软件组件,所述软件组件用作用于使计算装置能够使用非易失性存储器装置内的基于数据属性的数据布局的接口。所述软件组件被配置为:检测执行的应用和连接到计算装置的硬件装置中的至少一个;响应于检测到至少一个执行的应用和硬件装置,搜索工作流储存库以找到与所述至少一个执行的应用和硬件装置相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与通过执行的应用或硬件装置写入到非易失性存储器装置的不同类型的数据项相关联;将所述至少一个执行的应用和硬件装置的活动与所述预定工作流进行比较;使用所述预定工作流将数据属性指示符自动分配给由执行的应用或硬件装置使用的数据项,使得数据项和分配的数据属性指示符经由通道被发送到非易失性存储器装置以进行存储,其中,非易失性存储器装置读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应数据项,使得具有相同数据属性指示符的数据项被存储在同一块中。
示例实施例还包括一种非易失性存储器装置,包括:存储器阵列;结合到存储器阵列和存储器通道的存储控制器。存储控制器被配置为:经由存储器通道从操作系统和执行的应用中的至少一个接收将被存储的第一系列数据项,其中,第一系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性与数据项相关联的第一数据属性指示符,一个或更多个数据属性包括数据寿命、数据类型和物理数据源;经由存储器通道从硬件装置控制器接收将被存储的第二系列数据项,其中,第二系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性与第二系列数据项相关联的第二数据属性指示符,一个或更多个数据属性包括数据寿命、数据类型和物理数据源;读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应的第一系列数据项和第二系列数据项,使得具有相同数据属性指示符的数据项被存储在同一块中;将数据项存储到识别的块。
示例实施例还包括一种用于由非易失性存储器装置的存储控制器执行的非易失性存储器装置内的基于数据属性的数据布局的方法。所述方法包括:经由存储器通道从操作系统和执行的应用中的至少一个接收将被存储的第一系列数据项,其中,第一系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性与数据项相关联的第一数据属性指示符,一个或更多个数据属性包括数据寿命、数据类型、数据大小、逻辑块地址(LBA)范围、LBA访问模式和物理数据源;经由存储器通道从硬件装置控制器接收将被存储的第二系列数据项,其中,第二系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性与第二系列数据项相关联的第二数据属性指示符,一个或更多个数据属性包括数据寿命、数据类型、数据大小、逻辑块地址(LBA)范围、LBA访问模式和物理数据源;读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应的第一系列数据项和第二系列数据项,使得具有相同数据属性指示符的数据项被存储在同一块中;将数据项存储到识别的块。
示例实施例还可包括一种由非易失性存储器装置的存储控制器执行的非易失性存储器装置内的基于数据属性的数据布局的方法。在一个方面,实施例可包括在计算机上执行软件组件;由软件组件询问工作流储存库以找到与软件组件相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与将被写入到非易失性存储器装置的不同类型的数据项相关联;在软件组件的操作期间,将对与由软件组件使用的数据项相关联的一个或更多个数据属性指示符的请求发送到所述预定工作流;响应于软件组件从所述预定工作流接收到一个或更多个数据属性指示符,将数据属性指示符自动分配到由软件组件使用的数据项并将数据项和分配的数据属性指示符发送到非易失性存储器装置以进行存储,其中,非易失性存储器装置读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应数据项,使得具有相同数据属性指示符的数据项被存储在同一块。
附图说明
从结合附图对实施例的以下描述,本总体发明构思的这些和/或其它特征和用途将变得清楚和更易理解:
图1是示出用于由工作流监视器接口提供的在非易失性存储器装置中的基于数据属性的数据布局的系统的示例实施例的框图;
图2是示出根据一个示例实施例的在用于提供用于使计算装置能够使用非易失性存储器装置内的基于数据属性的数据布局的工作流监视器接口的主机系统上执行的处理的流程图;
图3是示出在各种类型的计算装置中实现的示例实施例的工作流监视器接口,以使此计算装置与具有基于数据属性的数据布局的SSD兼容的示图。
图4是示出根据示例实施例的由非易失性存储器装置的存储控制器执行的基于数据属性的数据布局的处理的流程图;
图5是示出针对由存储具有不同寿命和不同属性的数据的数据库应用执行的存储操作的工作流监视器接口的操作的示例的框图;
图6是更详细地示出工作流监视器接口的框图;
图7是示出数据指示符分配方法的另一实施例的框图。
具体实施方式
现在,将详细参考本总体发明构思的实施例,实施例的示例在附图中被示出,其中,相同的参考标号始终表示相同的元件。以下通过参照附图来描述实施例以解释本总体发明构思。
通过参照以下的实施例和附图的详细描述,本发明的优点和特征以及实现本发明的方法可被更加容易理解。然而,本总体发明构思可以以许多不同的形式来实现,并且不应被解释为受限于在此阐述的实施例。相反,提供这些实施例使得本公开将是彻底和完整的,并且将总体发明构思的构思完整地传达给本领域的技术人员,并且本总体发明构思将仅由权利要求定义。在附图中,为了清楚,层和区域的厚度被夸大。
除非在此另有指示或者与上下文清楚地矛盾,否则在描述本发明的上下文中(尤其在权利要求的上下文中)的单数术语的使用将被解释为涵盖单数和复数。除非另有指示,否则术语“包括”、“具有”和“包含”将被解释为开放式术语(即,表示“包含,但不限于”)。
在此使用的术语“算法”或“模块”表示(但不限于)执行特定任务的软件或硬件组件,诸如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。算法或模块可方便地被配置为驻留在可寻址的存储器介质中,并且被配置为执行一个或多个处理器。因此,作为示例,算法和模块可包括:组件(诸如,软件组件、面向对象的软件组件、类组件和任务组件)、进程、功能、属性、程序、子程序、程序代码段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列以及变量。针对组件以及组件或模块提供的功能可被组合在更少的组件或模块中,或者进一步地被分离到额外的组件以及组件或模块中。
除非另有定义,否则这里使用的所有技术和科学术语具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。应注意,除非另外说明,否则这里提供的任何和全部示例或示例性术语的使用仅意在更好地阐明本发明,并且不意在限制本发明的范围。此外,除非另有定义,否则在常用词典中定义的所有术语将不被过度地解释。
在一个方面,示例实施例提供一种用于使计算装置(即使没有被编程为使用多流的应用和装置)能够使用非易失性存储器装置内的基于数据属性的数据布局(即,多流)的接口。具体地,示例实施例提供一种基于应用模型的流身份识别处理,所述处理监视计算装置的活动并使用执行应用的或连接的装置的工作流的知识来将预定数据属性指示符分配给保存到非易失性存储器装置的数据项。与多流一致,接收存储器装置可假设具有相同数据属性指示符的所有数据将在(大约)同时失效,并将这种数据置于通用擦除块中。
图1是示出用于由工作流监视器接口提供的在非易失性存储器装置中的基于数据属性的数据布局的系统的示例实施例的框图。这里描述的示例实施例可适用于需要垃圾回收的任何非易失性存储器装置,并将针对非易失性存储器装置包括固态驱动器(SSD)的实施例被解释。
系统包括经由通道14连接到SSD 12的主机系统10。如这里所使用的,通道表示将非易失性存储器(NVM)装置(例如,SSD)连接到计算机或使用SSD的任何其他硬件的任何物理接口。接口可包括有线接口(诸如SATA、SCSI、PCI、USB、iSCSI、FC和以太网)和无线接口(诸如Wi-Fi)。众所周知,SSD不具有移动部分来存储数据,并且不需要恒功率来保持该数据。主机系统10与该公开相关的组件包括执行来自包括操作系统(OS)20和文件系统21的存储器18的计算机指令的处理器16。主机系统10可包括诸如用于与通道14进行接口连接的存储器控制器的其他组件(未示出)。主机系统10和SSD 12经由通道14传送命令和数据项26。在一个实施例中,主机系统可以是运行任何类型的OS的典型的计算机或服务器。OS的示例类型包括单用户OS和多用户OS、分布式OS、模板化OS、嵌入式OS、实时OS和库。在另一实施例中,系统可以是单独的组件(诸如,装置控制器),在这种情况下,OS可包括轻量级OS(或轻量级OS的部分)或者甚至包括固件。
SSD 12包括用于存储来自主机系统10的数据的存储控制器22和非易失性存储器(NVM)阵列24。存储控制器22管理存储在NVM阵列24中的数据并根据通信协议通过通道14与主机系统通信。NVM阵列24可包括包含闪存、铁电RAM(F-RAM)、磁阻RAM(MRAM)、相变存储器(PCM)、千足虫存储器等的任何类型的非易失性随机存取存储器(NVRAM)。SSD 12和通道14可支持多通道存储器架构(诸如双通道架构)并还可支持单倍数据速率传输、双倍数据速率传输或四倍数据速率传输。
根据示例实施例,为了减少SSD 12中的垃圾回收开销,示例实施例提供一种在SSD中的改进的基于数据属性的数据布局。这通过提供使应用和硬件组件能够在SSD中分开存储具有不同寿命的数据项的工作流监视器接口26来实现。此外,工作流监视器接口26的使用不需要改变运行在主机系统10上的用户应用。
在一个实施例中,工作流监视器接口26包括由处理器16执行的至少一个软件组件,所述至少一个软件组件持续监视主机系统10的执行的应用和/或连接的硬件装置。工作流监视器接口26了解用于应用和连接的装置的预定工作流模式,并基于这些工作流模式将数据属性指示符(例如,流ID)分配给由应用和装置写入的数据项。
根据示例实施例的一方面,工作流监视器接口26可包括用作用于各种应用和装置的已知工作流的库的工作流储存库27。工作流储存库27中的每个工作流可与在工作流的不同阶段产生的具有给定属性指示符(例如,流ID)的一个或更多个流(即,一个或更多个单独的数据写入)相关联。在一个实施例中,工作流储存库27是与工作流监视器接口26分开的组件。然而,在可选择的实施例中,工作流储存库27可与工作流监视器接口26集成。在一个实施例中,可由OS 20的文件系统21中的软件挂钩(software hook)执行数据属性指示符30的实际分配。
图2是示出根据一个示例实施例的在用于提供用于使计算装置能够使用非易失性存储器装置内的基于数据属性的数据布局的工作流监视器接口的主机系统上执行的处理的流程图。所述处理可包括在计算装置上执行检测执行的应用和连接到计算装置的硬件装置中的至少一个的软件组件(例如,工作流监视器接口26)(框200)。在一个实施例中,检测执行的应用可包括检测处理和/或线程。硬件装置连接的示例可包括连接到主机系统10并与主机系统10通信的相机。
在一个实施例中,检测执行的应用和/或硬件装置可被统称为检测新的数据布局客户端,软件组件随后向新的数据布局客户端提供基于数据属性的数据布局(例如,多流能力),即使应用或硬件装置被设计为不具有这种兼容性。
响应于检测到执行的应用和/或硬件装置连接,软件组件搜索工作流储存库以查找与执行的应用和/或硬件装置相关联的预定工作流,其中,预定工作流将数据属性指示符与通过执行的应用和/硬件装置写入非易失性存储器装置的不同类型的数据项相关联(框202)。
在一个实施例中,工作流储存库可与工作流监视器接口26集成或实现为单独的组件。在一个实施例中,工作流储存库27可位于计算装置内,而在另一实施例中,工作流储存库可远离计算装置。在任何一种情况下,在一个实施例中,工作流监视器接口26可接收新的和更新的工作流以使工作流储存库容纳新的应用和硬件装置。
软件组件将执行的应用和/或硬件装置的活动与预定工作流进行比较(框204)。在一个实施例中,比较活动可包括检查由应用和/或硬件装置执行的一个或更多个当前处理或步骤,并将当前处理或步骤与预定工作流中的一系列类似处理或步骤进行匹配。如以上所描述的,工作流将在工作流的不同阶段期间的一系列处理或步骤期间执行的一个或更多个单独的数据写入与给定数据属性指示符相关联。
软件组件使用预定工作流将数据属性指示符自动地分配给由执行的应用和/硬件装置使用的数据项,从而数据项和分配的数据属性指示符被发送到非易失性存储器装置以进行存储(框206)。
根据一个实施例,工作流监视器接口26基于指示数据相似性的一个或更多个数据属性(诸如数据寿命、数据类型、数据大小及物理或或逻辑数据源)使用工作流储存库27将数据属性指示符30与每个数据项28相关联或者将数据属性指示符30分配给每个数据项28。以这种方式,具有相同或相似数据属性的数据项28被分配相同的数据属性指示符值。
由于在一个实施例中在操作系统级提供工作流监视器接口26,因此现有的应用无需改变以使这些应用与示例实施例的基于数据属性的数据布局处理兼容。因此,工作流监视器接口26可在具有处理器和操作系统的任何类型的计算装置中被实现以在应用和操作系统之外扩展传统多流的使用。
图3是示出在各种类型的计算装置300A至300D中实现的示例实施例的工作流监视器接口,以此使计算装置与具有基于数据属性的数据布局(例如,多流)的SSD 12兼容的示图。计算装置300A和300B可表示主机装置(诸如PC或服务器或存储子系统),其中,各个工作流监视器接口26A和26B被设置在操作系统20A和20B内或选择性地被提供为单独的应用。工作流监视器接口26A监视由应用304A执行的数据项操作,并基于工作流储存库中的匹配的工作流将数据属性指示符30A自动地分配给来自应用304A的每个数据项。类似地,工作流监视器接口26B监视由OS 20B的块层23B执行的数据项操作,并基于工作流储存库中的匹配的工作流将数据属性指示符30B自动地分配给由块层23B操作的每个数据项。
计算装置300C和300D可表示使用非易失性存储器装置的任何类型的硬件装置,包括相机、麦克风、温度计、GPS、时钟、传感器、开关、路由器、独立冗余磁盘阵列(RAID)系统或主机总线适配器(HBA)系统。对于特定类型的硬件装置,工作流监视器接口26C可被设置在硬件装置控制器306C内。工作流监视器接口26C基于已知工作流将数据属性指示符30C自动地分配给来自装置控制器306C的数据项操作(例如,写入)。对于其他类型的装置300D(诸如相机),工作流监视器接口26D可被实现为OS的一部分,或者在处理器上作为单独的应用运行。工作流监视器接口26D监视由处理器306D执行的数据项操作,并基于工作流储存库中的已知工作流或匹配的工作流将数据属性指示符30D自动地分配给来自处理器306D的每个数据项。
图4是示出根据示例实施例的由非易失性存储器装置的存储控制器执行的基于数据属性的数据布局的处理的流程图。参照图3和图4两者,处理可包括经由通道从操作系统和执行的应用(例如,OS 20B或应用304A)中的至少一个接收将被存储的第一系列数据项,其中,每个数据项包括基于指示数据相似性的一个或更多个数据属性(可包括诸如数据寿命、数据类型、数据大小、逻辑块地址(LBA)范围、LBA访问模式和物理数据源)与数据项相关联的第一数据属性指示符(框400)。应注意,针对访问相似性,许多类型的数据属性(诸如数据寿命、数据类型、数据大小、逻辑块地址(LBA)范围、LBA访问模式和物理数据源)可被考虑,包括这里没有列出的数据属性或者当前未知的数据属性。
在一个实施例中,数据类型可包括原始应用之外的属性。在一个实施例中,从操作系统或应用接收的数据项可包括通过工作流监视器接口26之外的另一处理与数据项相关联的数据属性指示符。
存储控制器通过通道从硬件装置(例如,控制器306C或处理器306D)接收将被存储的另一系列数据项,其中,每个数据项包括基于指示数据相似性的数据属性中的一个或更多个数据属性与数据项相关联的第二数据属性指示符(框402)。
存储控制器读取数据属性指示符并识别存储器装置的哪些块用来存储相应的数据项,从而具有相同数据属性指示符的数据项被存储在同一组块中(框404),并将数据项存储在识别的块中(框406)。
例如,针对图3,SSD 12的存储控制器22分别从计算装置300A和300B接收已被分配数据属性ID 30A和30B的数据项。存储控制器22随后将与数据属性ID 30A相关联的数据项存储在相同擦除块308A内,并将与数据属性ID 30B相关联的数据项存储在相同擦除块308B内。类似地,SSD 12的存储控制器22分别从计算装置300C和300D的装置控制器306C和306D接收已被分配数据属性ID 30C和30D的数据项。存储控制器22随后将与数据属性ID30C相关联的数据项存储在相同擦除块30C内,并将与数据属性ID 30D相关联的数据项存储在相同擦除块308D内。注意,在一个实施例中,如果数据指示符指示源之间的数据实际上类似,则擦除块308C和308D不需要是互不包含的一组块。
根据一些示例实施例的工作流监视器接口26,数据属性ID 30可被分配给从任何类型的输入装置输出的数据项28以进行存储。例如,假设工作流监视器接口26被实现在周期性地(例如,一秒一次)拍照的数字安全相机内。工作流监视器接口26可基于指示数据相似性的数据属性(诸如,图像的捕捉速率、图像文件大小和图像的来源(诸如装置ID和/或GPS位置))将数据属性ID 30分配给每个图像文件。注意,这样的数据属性不需要如传统多流使用的元数据那样与特定应用或文件系统相关联。
作为另一示例,图5是示出针对由存储具有不同寿命和不同属性的数据的数据库应用执行的存储操作的工作流监视器接口26的操作的示例的框图。在一个实施例中,数据库可指RocksDBTM,RocksDBTM是一种用于快速存储的可嵌入永久关键值(key-value)存储。RocksDB是用于IO限制的工作量的被优化为使用许多CPU核并有效使用快速存储的LevelDBTM的分支。在操作中,具有一组分类的关键值对的数据文件(例如,SST文件)被顺序地写入第一级文件。在写入操作期间,代替修改文件,改变被收集在存储器中一段时间,随后被写为具有改变的第二级文件。对于更多的改变,可添加另一级。
当工作流监视器接口26检测到RocksDB已被启动时,工作流监视器接口26可检索并使用与RocksDB应用相关联的RocksDB工作流27’,以将独特的数据属性指示符分配给由RocksDB操纵的数据。RocksDB工作流27’可包括树工作流,诸如LSM树工作流。RocksDB是LSM树工作流的一个示例实现方式,LSM树工作流的其他示例实现方式可包括BigTable、ApacheHBase、LevelDB、WiredTiger、Apache Cassandra、Riak、SQLite4和Cockroachdb。
在主机系统的存储器18中示出数据库500、工作流监视器接口26和RocksDB工作流27’。数据库500使用存储在存储器18中的存储表502。在SSD 12内,数据库500使用按照不同级(例如,级0、级1……级m)存储的预写日志504和各种SST文件506(例如,SST文件1、SST文件2……SST文件n)。
当数据库500执行写入操作510时,数据库将数据存储在存储表502中的结构中,并还将写入附加到预写日志504。预写日志504接收即使在停电时也永久存在的每个写入。工作流监视器接口26监视写入操作510并可基于RocksDB工作流27’将数据属性指示符#1分配给日志文件。
存储表502存储写入,直到存储表502的内容达到可配置的阈值为止,在可配置的阈值处,清理(flush)操作512被执行,以将写入清理到SSD 12中的SST文件506。在存储表502中的相应数据被清理到SST文件506之后,预写日志504中的数据可被清除。在存储表502被清理之后,SST文件506通常不被再次写入。工作流监视器接口26监视清理操作512并可基于RocksDB工作流27’将数据属性指示符#2分配给级0SST文件506。
随着插入/更新发生,代替对行进行重写,数据库500可将插入或更新的数据的新的时间戳写入另一SST文件506中。数据库500使用压缩来管理SSD12上的SST文件506的累积。一旦存储在级0的数据达到数据阈值,数据库500通过移除在更新期间产生的删除的数据、列和行,并将有效数据从级0SST文件合并到按照级1存储新的SST文件,执行压缩操作以压缩数据库文件。数据库500使用新的合并的SST文件代替多个旧SST文件,使读取请求相比于压缩之前能够被更有效地完成。任何使用文件的即将进行的读取一结束,旧SST文件就被删除。工作流监视器接口26监视压缩操作514并可基于RocksDB工作流27’将数据属性指示符#3分配给级1SST文件506。
一旦按照级1存储的数据达到数据阈值,数据库500就执行移除未使用的数据并将有效数据从级1SST文件合并到按照级2存储的新的SST文件的压缩操作516。工作流监视器接口26监视压缩操作516并可基于RocksDB工作流27’将数据属性指示符#4分配给级2SST文件506等。该示例示出根据本发明,针对单个类型的文件,一个应用可具有多个流。
根据示例实施例,基于预期寿命分组将数据属性指示符分配给数据(在这种情况下,分配给SST级),可基于这些预期寿命将数据存储在SSD中。不知道数据将在什么时候失效或被删除,但是工作流监视器接口26假设具有相同数据属性指示符的数据将同时或基本上同时失效。
图6是更详细地示出作为指示符分配方法的一个示例的工作流监视器接口的框图。类似于图1和图3,示出在主机系统10的操作系统20级提供工作流监视器接口26。工作流监视器接口26监视应用300、文件系统21和块层23、装置驱动器以及连接的装置的操作,并基于相应的工作流27’将数据属性指示符30分配给数据项。SSD 12读取数据属性指示符30并识别使用SSD12的哪些块来存储相应数据项,使得具有相同数据属性指示符30的数据项被存储在同一块。
根据一些实例实施例,工作流监视器接口26可持续在后台运行以监视应用300和连接的装置302的启动。在一个实施例中,工作流监视器接口26可将数据项修改的数据库(未示出)保持到SSD 12。工作流监视器接口26可监视由应用/装置执行的文件更新操作并根据工作流27’将数据属性ID 30分配给每个文件更新操作。
工作流监视器接口26可包括以下组件,所述组件在文件系统级使用系统调用挂钩以监视由应用300、OS 20和/或连接的装置302对文件做出的文件更新操作(创建/写入/更新/删除)。大多数操作系统(诸如Windows和Linux)提供用于系统编程目的的文件系统挂钩。工作流监视器接口26可在工作流27’中查看文件更新操作(或一系列这样的操作)以找到分配给该操作的预定数据属性ID。
工作流监视器接口26随后可将预定数据属性指示符30分配给更新操作。在一个实施例中,工作流27’可根据文件的类型或数据的任何其他特征分配文件创建或新的文件写入数据属性ID 30。最终,工作流监视器接口26可将实际文件写入转送到下面的文件系统21。
作为数据属性ID分配的示例,进行以下假设:用户正在编辑照片应用以编辑名称为foo.jpg(JPEG文件类型)的照片文件;用户的计算机的SSD被配置为处理多达四个数据属性ID或流ID。当用户将照片保存到SSD 12上时,工作流监视器接口26监视并查看与照片应用相关联的工作流27’中的文件保存请求。工作流27’指定四个数据属性ID中的哪个(例如,1)应被分配到保存请求。
工作流监视器接口26分配如工作流中指定的数据属性ID 1,该数据属性ID随后与文件数据一起通过文件系统21和块层23被发送到SSD 12,以存储在存储具有分配的数据属性ID 1的其他数据的块中。
在可选择的实施例中,工作流监视器接口26和工作流储存库27可被实现在块层和装置驱动器23内或甚至在SSD 12内。
图7是示出数据指示符分配方法的另一实施例的框图。代替提供分配数据属性指示符的单独的工作流监视器接口26(参照图6),本实施例使执行的软件组件(诸如应用300)、操作系统20的各层(例如,文件系统21、块层25和装置驱动器29)和嵌入在连接的装置302中的软件可直接访问存储已知工作流和数据布局设置的工作流储存库27。工作流储存库31可存储将预定义的数据属性指示符与在由软件组件执行的活动/功能期间写入到非易失性存储器装置的不同类型的数据项相关联的一个或更多个预定工作流33。
各种软件组件自己可询问工作流储存库31并获得关于使用什么数据属性ID 30的信息。因此,例如,软件组件可:1)向工作流储存库31识别自己,2)获得用于各种功能的数据属性ID 30,3)将数据属性ID 30分配给数据项。
相比于监视现有组件操作并自动应用数据属性ID的工作流监视器实施例,本实施例依赖使用工作流储存库31的请求/响应机制,使得已经存在的组件可添加多流能力。工作流监视器实施例需要对现有软件组件非常少的重新编程,但是在创建和运行工作流监视器接口中需要做出附加工作。本实施例需要对现有软件组件的少量的重新编程,但是无需创建、运行和维持工作流监视器。
在本实施例的更详细的细节中,软件组件可询问工作流储存库31自身以找到与软件组件相关联的预定工作流33。在一个实施例中,询问可包括软件组件的识别。来自工作流储存库31的响应可包括分配给软件组件的工作流33的身份。
在操作期间,软件组件可将对一个或更多个数据属性指示符的一个或更多个请求发送给识别的工作流33以与由软件组件使用的数据项相关联。在一个实施例中,请求可包括将由软件组件执行的当前操作和将被执行的当前操作的一个或更多个属性(例如,数据类型)。在一个实施例中,软件组件可使用软件组件的指示符(例如,名称或某种形式的ID)向工作流储存库31做出识别软件组件的询问,之后做出对与来自识别的工作流33的软件组件相关联的数据属性指示符的第二询问。在另一实施例中,软件组件可做出包括软件组件的身份以及对数据属性指示符的请求的单个询问。
不是如应用那样使用名称或ID询问工作流储存库31,在软件组件包括操作系统(OS)的实施例中,操作系统的每级可将与相应操作系统级相关的输入提供到工作流储存库31,以便获得一个或更多个数据属性指示符。例如,在文件系统级,当对数据属性指示符进行询问时,OS可使用文件类型、大小等。在块级,OS可使用LBA范围等。在另一实施例中,OS可使用附连的装置的装置ID以从工作流储存库31获得数据属性指示符。
响应于来自软件组件的询问,工作流33将针对操作和数据项的类型在工作流33中指定的一个或更多个数据属性ID返回到软件组件。
响应于从工作流33接收到数据属性ID,软件组件可将数据属性ID自动分配给由软件组件使用的数据项,并将数据项和分配的数据属性指示符发送到非易失性存储器装置(例如,SSD 12),以进行存储。
SSD 12读取数据属性ID 30并识别使用SSD 12的哪些块存储相应的数据项,使得具有相同数据属性ID 30的数据项被存储在同一块中。
作为数据属性ID分配的示例,进行以下假设:用户正在编辑照片应用以编辑名称为foo.jpg(JPEG文件类型)的照片文件;用户的计算机的SSD被配置为处理多达四个数据属性ID或流ID。当用户将照片保存到SSD 12上时,照片应用可将对分配给文件保存操作的数据属性ID的请求发送到与照片应用相关联的工作流27’。工作流27’指定四个数据属性ID中的哪个(例如,1)应被分配到保存操作。
照片应用分配如工作流中指定的数据属性ID 1,该数据属性ID随后与文件数据一起通过文件系统21和块层23被发送到SSD 12,以存储在存储具有分配的数据属性ID 1的其他数据的块中。
在一个实施例中,工作流储存库31可被实现为数据库应用。
在一个实施例中,工作流监视器接口26被实现为软件组件。在另一实施例中,工作流监视器接口26可被实现为硬件和软件的组合。虽然工作流监视器接口26被示出为单个组件,但是可使用更多数量的模块/组件来实现工作流指示器接口26的功能。
示例实施例的工作流监视器接口26可被应用于从客户到企业的宽范围的存储市场,这可应用于针对单个独立的机器(诸如,台式电脑、笔记本电脑、工作站、服务器等)的磁盘、存储器阵列、软件定义的存储器(SDS)、专用存储器、虚拟机器(VM)、虚拟桌面架构(VDI)、内容分发网络(CDN)等。
在一个实施例中,例如,SSD 12的NVM阵列24可由多个非易失性存储器芯片(即,多个闪存存储器)来形成。如另一示例,NVM阵列24可由不同类型的非易失性存储器芯片(例如,PRAM、FRAM、MRAM等)代替闪存存储器芯片来形成。可选地,NVM阵列24可由易失性存储器(即,DRAM或SRAM)来形成,并且可具有混合两种或多种类型的存储器的混合类型。
已经公开了一种在存储装置中基于数据属性的数据布局的方法和系统,以及用于使计算机系统能够使用所述数据布局方法的工作流监视器接口。已经根据示出的实施例描述了本发明,可对实施例进行改变,任何改变将在本发明的精神和范围内。例如,可使用硬件、软件、包含程序指令的计算机可读介质或它们的组合来实现示例性实施例。根据本发明编写的软件将被存储在一些形式的计算机可读介质(诸如,存储器、硬盘)或CD/DVD-ROM中,并且将被处理器执行。因此,在不脱离权利要求的精神和范围的情况下,本领域的普通技术人员可进行许多修改。
Claims (23)
1.一种用于提供用于使计算装置能够使用非易失性存储器装置内的基于数据属性的数据布局的接口的方法,所述方法包括:
在计算装置上执行软件组件,所述软件组件检测执行的应用和连接到计算装置的硬件装置中的至少一个;
响应于检测到所述执行的应用和硬件装置中的至少一个,通过所述软件组件搜索工作流储存库以找到与所述执行的应用和硬件装置中的至少一个相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与通过执行的应用或硬件装置写入到非易失性存储器装置的不同类型的数据项相关联;
通过所述软件组件将所述执行的应用和硬件装置中至少一个的活动与所述预定工作流进行比较;
使用所述预定工作流将数据属性指示符自动分配给由所述执行的应用或硬件装置使用的数据项,使得数据项和分配的数据属性指示符经由通道被发送到非易失性存储器装置以进行存储,其中,非易失性存储器装置读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应数据项,使得具有相同数据属性指示符的数据项被存储在同一块中。
2.如权利要求1所述的方法,其中,硬件装置包括以下项中的至少一项:相机、麦克风、温度计、GPS、时钟、传感器、开关、路由器、独立磁盘冗余阵列(RAID)系统或主机总线适配器(HBA)系统。
3.如权利要求1所述的方法,其中,检测执行的应用和连接到计算装置的硬件装置中的至少一个的步骤包括:检测新的数据布局客户端,即使所述执行的应用和硬件装置中的至少一个没有被设计为具有基于数据属性的数据布局能力,所述软件组件随后也向新的数据布局客户端提供基于数据属性的数据布局。
4.如权利要求1所述的方法,其中,所述软件组件包括用于使计算装置能够使用非易失性存储器装置的基于数据属性的数据布局的工作流监视器接口。
5.如权利要求4所述的方法,还包括:工作流监视器接口接收新的工作流和更新的工作流,以使工作流储存库容纳新的应用和硬件装置。
6.如权利要求5所述的方法,其中,通过以下步骤执行将所述执行的应用和硬件装置中的至少一个的活动与所述预定工作流进行比较的步骤:
检查由所述执行的应用和硬件装置中的至少一个执行的一个或更多个当前处理或步骤,并将当前处理或步骤与所述预定工作流中的一系列类似处理或步骤进行匹配。
7.一种提供用于使计算装置能够使用非易失性存储器装置内的基于数据属性的数据布局的接口的系统,包括:
非易失性存储器装置;
计算装置,结合到非易失性存储器装置,计算装置执行软件组件,所述软件组件用作用于使计算装置能够使用非易失性存储器装置内的基于数据属性的数据布局的接口,所述软件组件被配置为:
检测执行的应用和连接到计算装置的硬件装置中的至少一个;
响应于检测到所述执行的应用和硬件装置中的至少一个,搜索工作流储存库以找到与所述执行的应用和硬件装置中的至少一个相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与通过执行的应用或硬件装置写入到非易失性存储器装置的不同类型的数据项相关联;
将所述执行的应用和硬件装置中的至少一个的活动与所述预定工作流进行比较;
使用所述预定工作流将数据属性指示符自动分配给由执行的应用或所述硬件装置使用的数据项,使得数据项和分配的数据属性指示符经由通道被发送到非易失性存储器装置以进行存储,其中,非易失性存储器装置读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应数据项,使得具有相同数据属性指示符的数据项被存储在同一块中。
8.如权利要求7所述的系统,其中,硬件装置包括以下项中的至少一项:相机、麦克风、温度计、GPS、时钟、传感器、开关、路由器、独立磁盘冗余阵列(RAID)系统或主机总线适配器(HBA)系统。
9.如权利要求7所述的系统,其中,检测执行的应用和连接到计算装置的硬件装置中的至少一个的步骤包括:检测新的数据布局客户端,即使所述执行的应用和硬件装置中的至少一个没有被设计为具有基于数据属性的数据布局能力,软件组件随后也向新的数据布局客户端提供基于数据属性的数据布局。
10.如权利要求7所述的系统,其中,软件组件包括用于使计算装置能够使用非易失性存储器装置的基于数据属性的数据布局的工作流监视器接口。
11.如权利要求10所述的系统,其中,工作流监视器接口接收新的工作流和更新的工作流,以使工作流储存库容纳新的应用和硬件装置。
12.如权利要求11所述的系统,其中,通过以下步骤执行将所述执行的应用和硬件装置中的至少一个的活动与所述预定工作流进行比较的步骤:
检查由所述执行的应用和硬件装置中的至少一个执行的一个或更多个当前处理或步骤,并将当前处理或步骤与所述预定工作流中的一系列类似处理或步骤进行匹配。
13.一种非易失性存储器装置,包括:
存储器阵列;
存储控制器,结合到存储器阵列和通道,存储控制器被配置为:
经由存储器通道从操作系统和执行的应用中的至少一个接收将被存储的第一系列数据项,其中,第一系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性与第一系列数据项相关联的第一数据属性指示符;
经由存储器通道从硬件装置控制器接收将被存储的第二系列数据项,其中,第二系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性的与第二系列数据项相关联的第二数据属性指示符;
读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应的第一系列数据项和第二系列数据项,使得具有相同数据属性指示符的数据项被存储在同一块中;
将数据项存储到被识别的块。
14.如权利要求13所述的非易失性存储器装置,其中,硬件装置包括以下项中的至少一项:相机、麦克风、温度计、GPS、时钟、传感器、开关、路由器、独立磁盘冗余阵列(RAID)系统或主机总线适配器(HBA)系统。
15.如权利要求13所述的非易失性存储器装置,其中,所述操作系统和执行的应用中的至少一个或硬件装置控制器是计算装置的部分。
16.如权利要求13所述的非易失性存储器装置,其中,计算装置包括用于使计算装置能够使用非易失性存储器装置的基于数据属性的数据布局的工作流监视器接口。
17.如权利要求16所述的非易失性存储器装置,其中,工作流监视器接口在计算装置中以操作系统级运行并被配置为:
检测执行的应用和连接到计算装置的硬件装置控制器中的至少一个;
响应于检测到所述执行的应用和硬件装置控制器中的至少一个,搜索工作流储存库以找到与所述执行的应用和硬件装置控制器中的至少一个相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与通过执行的应用或硬件装置控制器写入到非易失性存储器装置的不同类型的数据项相关联;
将所述执行的应用和硬件装置控制器中的至少一个的活动与所述预定工作流进行比较;
使用所述预定工作流将数据属性指示符自动分配给由执行的应用或硬件装置控制器使用的数据项,使得数据项和分配的数据属性指示符经由通道被发送到非易失性存储器装置以进行存储。
18.一种用于由非易失性存储器装置的存储控制器执行的非易失性存储器装置内的基于数据属性的数据布局的方法,所述方法包括:
经由存储器通道从操作系统和执行的应用中的至少一个接收将被存储的第一系列数据项,其中,第一系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性的与第一系列数据项相关联的第一数据属性指示符;
经由存储器通道从硬件装置控制器接收将被存储的第二系列数据项,其中,第二系列数据项中的每个数据项包括基于指示数据相似性的一个或更多个数据属性的与第二系列数据项相关联的第二数据属性指示符;
读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应的第一系列数据项和第二系列数据项,使得具有相同数据属性指示符的数据项被存储在同一块中;
将数据项存储到识别的块中。
19.如权利要求18所述的方法,其中,硬件装置包括以下项中的至少一项:相机、麦克风、温度计、GPS、时钟、传感器、开关、路由器、独立磁盘冗余阵列(RAID)系统或主机总线适配器(HBA)系统。
20.如权利要求18所述的方法,其中,所述操作系统和执行的应用中的至少一个或硬件装置控制器是计算装置的部分。
21.如权利要求18所述的方法,其中,计算装置包括用于使计算装置能够使用非易失性存储器装置的基于数据属性的数据布局的工作流监视器接口。
22.如权利要求21所述的方法,其中,工作流监视器接口在计算装置中以操作系统级运行并被配置为:
检测执行的应用和连接到计算装置的硬件装置控制器中的至少一个;
响应于检测到执行的应用和硬件装置控制器中的至少一个,搜索工作流储存库以找到与所述执行的应用和硬件装置控制器中的至少一个相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与通过执行的应用或硬件装置控制器写入到非易失性存储器装置的不同类型的数据项相关联;
将所述执行的应用和硬件装置控制器中的至少一个的活动与所述预定工作流进行比较;
使用所述预定工作流将数据属性指示符自动分配给由执行的应用或硬件装置控制器使用的数据项,使得数据项和分配的数据属性指示符经由通道被发送到非易失性存储器装置以进行存储。
23.一种用于提供用于使计算装置能够使用非易失性存储器装置内的基于数据属性的数据布局的接口的方法,所述方法包括:
在计算装置上执行软件组件;
通过软件组件询问工作流储存库以找到与软件组件相关联的预定工作流,其中,所述预定工作流将预定义的数据属性指示符与将被写入到非易失性存储器装置的不同类型的数据项相关联;
在软件组件的操作期间,将对与由软件组件使用的数据项相关联的一个或更多个数据属性指示符的请求发送到所述预定工作流;
响应于软件组件从所述预定工作流接收到一个或更多个数据属性指示符,将数据属性指示符自动分配到由软件组件使用的数据项并将数据项和分配的数据属性指示符发送到非易失性存储器装置以进行存储,其中,非易失性存储器装置读取数据属性指示符并识别非易失性存储器装置的哪些块用来存储相应数据项,使得具有相同数据属性指示符的数据项被存储在同一块。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562192045P | 2015-07-13 | 2015-07-13 | |
US62/192,045 | 2015-07-13 | ||
US201562245100P | 2015-10-22 | 2015-10-22 | |
US62/245,100 | 2015-10-22 | ||
US15/144,588 US11461010B2 (en) | 2015-07-13 | 2016-05-02 | Data property-based data placement in a nonvolatile memory device |
US15/144,588 | 2016-05-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106354425A true CN106354425A (zh) | 2017-01-25 |
CN106354425B CN106354425B (zh) | 2021-06-29 |
Family
ID=57775001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610548879.2A Active CN106354425B (zh) | 2015-07-13 | 2016-07-13 | 基于数据属性的数据布局的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11461010B2 (zh) |
JP (1) | JP6971542B2 (zh) |
KR (1) | KR102541458B1 (zh) |
CN (1) | CN106354425B (zh) |
TW (1) | TWI710949B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947592A (zh) * | 2017-12-20 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、装置以及相关设备 |
CN111512279A (zh) * | 2017-12-20 | 2020-08-07 | 美光科技公司 | 利用存储写入命令中的写入流属性 |
US11366602B2 (en) | 2020-06-23 | 2022-06-21 | Western Digital Technologies, Inc. | Data storage device with burn-after-read mode |
CN115004167A (zh) * | 2020-03-09 | 2022-09-02 | 深圳市欢太科技有限公司 | 数据处理方法及相关产品 |
US11694722B1 (en) | 2022-02-15 | 2023-07-04 | Western Digital Technologies, Inc. | Data timestamp and read counter for magnetic recording devices |
US11803325B2 (en) | 2018-03-27 | 2023-10-31 | Micron Technology, Inc. | Specifying media type in write commands |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6403164B2 (ja) * | 2015-09-11 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
US9898202B2 (en) | 2015-11-30 | 2018-02-20 | Samsung Electronics Co., Ltd. | Enhanced multi-streaming though statistical analysis |
US9880780B2 (en) * | 2015-11-30 | 2018-01-30 | Samsung Electronics Co., Ltd. | Enhanced multi-stream operations |
US20170220295A1 (en) * | 2016-02-02 | 2017-08-03 | Intel Corporation | Technologies for reducing duplication of stored data |
CN106250064B (zh) * | 2016-08-19 | 2020-05-12 | 深圳大普微电子科技有限公司 | 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 |
US10482111B2 (en) * | 2016-12-12 | 2019-11-19 | Vmware, Inc. | Custom property cluster definition for a graphic user interface |
US10706105B2 (en) | 2017-02-09 | 2020-07-07 | Micron Technology, Inc. | Merge tree garbage metrics |
US10706106B2 (en) | 2017-02-09 | 2020-07-07 | Micron Technology, Inc. | Merge tree modifications for maintenance operations |
US10719495B2 (en) * | 2017-02-09 | 2020-07-21 | Micron Technology, Inc. | Stream selection for multi-stream storage devices |
US10725988B2 (en) | 2017-02-09 | 2020-07-28 | Micron Technology, Inc. | KVS tree |
US10756953B1 (en) * | 2017-03-31 | 2020-08-25 | Veritas Technologies Llc | Method and system of seamlessly reconfiguring a data center after a failure |
US10387160B2 (en) * | 2017-04-01 | 2019-08-20 | Intel Corporation | Shared local memory tiling mechanism |
KR102398181B1 (ko) | 2017-07-03 | 2022-05-17 | 삼성전자주식회사 | 쓰기 데이터를 위해 할당될 물리 어드레스를 미리 관리하는 스토리지 장치 |
US10915441B2 (en) * | 2017-08-23 | 2021-02-09 | Hitachi, Ltd. | Storage system having non-volatile memory device |
KR102482035B1 (ko) | 2017-11-30 | 2022-12-28 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법 |
US10915546B2 (en) | 2018-10-10 | 2021-02-09 | Micron Technology, Inc. | Counter-based compaction of key-value store tree data block |
US11100071B2 (en) | 2018-10-10 | 2021-08-24 | Micron Technology, Inc. | Key-value store tree data block spill with compaction |
US11182101B2 (en) * | 2018-12-03 | 2021-11-23 | Western Digital Technologies, Inc. | Storage system and method for stream management in a multi-host virtualized storage system |
US10852978B2 (en) | 2018-12-14 | 2020-12-01 | Micron Technology, Inc. | Key-value store using journaling with selective data storage format |
US11048755B2 (en) | 2018-12-14 | 2021-06-29 | Micron Technology, Inc. | Key-value store tree with selective use of key portion |
US10936661B2 (en) | 2018-12-26 | 2021-03-02 | Micron Technology, Inc. | Data tree with order-based node traversal |
KR20200123898A (ko) | 2019-04-22 | 2020-11-02 | 삼성전자주식회사 | 상이한 동작 모드들에서 동작하는 뱅크들을 포함하는 불휘발성 메모리 장치, 메모리 컨트롤러의 동작 방법, 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 저장 장치 |
US11194516B2 (en) * | 2019-10-08 | 2021-12-07 | Micron Technology, Inc. | Media type selection |
KR102264119B1 (ko) * | 2019-11-13 | 2021-06-11 | 인하대학교 산학협력단 | CaseDB: 엣지컴퓨팅을 위한 저비용 Put-Intensive 키-벨류 저장장치 |
CN113051241B (zh) * | 2019-12-27 | 2023-08-15 | 中国移动通信集团湖南有限公司 | 数据库持久化的方法、装置及设备 |
KR102345517B1 (ko) * | 2020-05-06 | 2021-12-30 | 인하대학교 산학협력단 | 엣지 컴퓨팅을 위해 데이터중복제거 기술이 적용된 casedb(키 벨류 저장장치) |
US11954345B2 (en) * | 2021-12-03 | 2024-04-09 | Samsung Electronics Co., Ltd. | Two-level indexing for key-value persistent storage device |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1229721A2 (en) * | 2001-01-31 | 2002-08-07 | Fuji Photo Film Co., Ltd. | Information displaying method and menu service method and system |
CN101237511A (zh) * | 2007-02-01 | 2008-08-06 | 夏普株式会社 | 图像历史保管方法和图像历史保管系统 |
US20090323022A1 (en) * | 2008-06-26 | 2009-12-31 | Canon Kabushiki Kaisha | Medical imaging apparatus |
CN101646995A (zh) * | 2007-03-26 | 2010-02-10 | 国际商业机器公司 | 用于存储管理器的数据流过滤器和插件 |
CN101663654A (zh) * | 2007-04-23 | 2010-03-03 | 微软公司 | 用于连接到主机的存储设备的优化的提示模型和用于存储设备的写优化方案 |
US20120007952A1 (en) * | 2010-07-08 | 2012-01-12 | Panasonic Corporation | Recording control apparatus, semiconductor recording apparatus, recording system, and nonvolatile storage medium |
US20120047330A1 (en) * | 2010-08-18 | 2012-02-23 | Nec Laboratories America, Inc. | I/o efficiency of persistent caches in a storage system |
CN102934171A (zh) * | 2010-06-04 | 2013-02-13 | 美光科技公司 | 具有非易失性存储器的多级系统中的高级逐位操作及设备 |
WO2013084414A1 (ja) * | 2011-12-08 | 2013-06-13 | パナソニック株式会社 | デジタル標本作製装置、デジタル標本作製方法およびデジタル標本作製サーバ |
US20130183951A1 (en) * | 2012-01-12 | 2013-07-18 | Shih-Wei Chien | Dynamic mobile application classification |
CN103597444A (zh) * | 2011-06-09 | 2014-02-19 | 微软公司 | 按照使用来管理基于闪存的存储上的数据放置 |
US20140052953A1 (en) * | 2012-08-14 | 2014-02-20 | Infinidat Ltd. | Mass storage system and methods of controlling resources thereof |
CN103677654A (zh) * | 2012-09-24 | 2014-03-26 | 联想(北京)有限公司 | 一种存储数据的方法及电子设备 |
CN103703450A (zh) * | 2011-07-20 | 2014-04-02 | 华为技术有限公司 | Ssd存储访问的方法和装置 |
CN103777905A (zh) * | 2014-02-14 | 2014-05-07 | 华中科技大学 | 一种软件定义的固态盘融合存储方法 |
US20140156913A1 (en) * | 2012-12-05 | 2014-06-05 | Phison Electronics Corp. | Data processing method, memory controller and memory storage apparatus |
CN104021009A (zh) * | 2012-02-28 | 2014-09-03 | 托尼安软件开发系统公司 | 用于存储控制器的高效生命周期管理的方法和系统 |
US20140281172A1 (en) * | 2013-03-13 | 2014-09-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, electronic device and computing system including the same |
US8874835B1 (en) * | 2014-01-16 | 2014-10-28 | Pure Storage, Inc. | Data placement based on data properties in a tiered storage device system |
CN104159021A (zh) * | 2013-05-13 | 2014-11-19 | 索尼公司 | 成像设备、成像方法和程序 |
US20150026257A1 (en) * | 2013-07-16 | 2015-01-22 | Dropbox, Inc. | Music box |
CN104391659A (zh) * | 2014-12-03 | 2015-03-04 | 浪潮集团有限公司 | 一种基于磁盘的实现冷热数据自动分层存储技术 |
US20150074337A1 (en) * | 2013-09-06 | 2015-03-12 | Samsung Electronics Co., Ltd. | Storage device and data processing method thereof |
US8996450B1 (en) * | 2011-12-31 | 2015-03-31 | Teradata Us, Inc. | System and method for allocating resources in a mixed SSD and HDD storage environment |
Family Cites Families (181)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5381856A (en) | 1976-12-24 | 1978-07-19 | Toyoda Mach Works Ltd | Fluid bearing equipment |
GB2089165B (en) * | 1980-10-30 | 1985-10-09 | Canon Kk | Character and image processing |
US4827411A (en) * | 1987-06-15 | 1989-05-02 | International Business Machines Corporation | Method of maintaining a topology database |
JP2600376B2 (ja) | 1989-05-18 | 1997-04-16 | 日本電気株式会社 | メモリ制御装置 |
US6607081B2 (en) * | 1996-11-15 | 2003-08-19 | Diebold, Incorporated | Automated transaction machine system |
JPH10162098A (ja) * | 1996-12-02 | 1998-06-19 | Nec Corp | 文書電子化装置及び文書電子化方法 |
US6282663B1 (en) * | 1997-01-22 | 2001-08-28 | Intel Corporation | Method and apparatus for performing power management by suppressing the speculative execution of instructions within a pipelined microprocessor |
US5930497A (en) | 1997-12-11 | 1999-07-27 | International Business Machines Corporation | Method and means for generation of realistic access patterns in storage subsystem benchmarking and other tests |
JP4197547B2 (ja) | 1998-05-13 | 2008-12-17 | 株式会社東芝 | データ記憶装置およびデータ管理方法 |
KR100296049B1 (ko) * | 1999-03-19 | 2001-07-28 | 윤종용 | 단문메시지서비스를 통한 디지털 휴대용 단말기의 사용자 정보 송수신장치 및 그 방법 |
US6484235B1 (en) | 1999-05-03 | 2002-11-19 | 3Ware, Inc. | Methods and systems for dynamically distributing disk array data accesses |
US6438555B1 (en) * | 1999-11-02 | 2002-08-20 | Nortel Networks Limited | Method and apparatus for accessing an ordered array structure |
US7103357B2 (en) * | 1999-11-05 | 2006-09-05 | Lightsurf Technologies, Inc. | Media spooler system and methodology providing efficient transmission of media content from wireless devices |
EP1314290B1 (en) * | 2000-08-31 | 2006-09-27 | Ontrack Data International, Inc. | System and method for data management |
US6704467B2 (en) * | 2000-12-21 | 2004-03-09 | Canon Kabushiki Kaisha | Image editing with block selection |
US7346519B2 (en) * | 2001-04-10 | 2008-03-18 | Metropolitan Regional Information Systems, Inc | Method and system for MRIS platinum database |
US7240347B1 (en) | 2001-10-02 | 2007-07-03 | Juniper Networks, Inc. | Systems and methods for preserving the order of data |
US7173929B1 (en) | 2001-12-10 | 2007-02-06 | Incipient, Inc. | Fast path for performing data operations |
US7266843B2 (en) * | 2001-12-26 | 2007-09-04 | Mcafee, Inc. | Malware scanning to create clean storage locations |
US6996676B2 (en) | 2002-11-14 | 2006-02-07 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
JP4308555B2 (ja) * | 2003-03-10 | 2009-08-05 | パナソニック株式会社 | 受信装置および情報閲覧方法 |
US20070050777A1 (en) * | 2003-06-09 | 2007-03-01 | Hutchinson Thomas W | Duration of alerts and scanning of large data stores |
US9342662B2 (en) * | 2003-09-16 | 2016-05-17 | Media Rights Technologies, Inc. | Method and system for controlling video media |
US7346613B2 (en) * | 2004-01-26 | 2008-03-18 | Microsoft Corporation | System and method for a unified and blended search |
US8171479B2 (en) | 2004-09-30 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers |
US7328317B2 (en) | 2004-10-21 | 2008-02-05 | International Business Machines Corporation | Memory controller and method for optimized read/modify/write performance |
US7574409B2 (en) | 2004-11-04 | 2009-08-11 | Vericept Corporation | Method, apparatus, and system for clustering and classification |
JP2006235960A (ja) | 2005-02-24 | 2006-09-07 | Fujitsu Ltd | ガーベッジコレクション高速化方法 |
JP2006309348A (ja) * | 2005-04-26 | 2006-11-09 | Sharp Corp | 送信装置、受信装置、送信方法、受信方法、送信プログラム、受信プログラムおよびコンピュータ読み取り可能な記録媒体 |
JP4815887B2 (ja) | 2005-06-17 | 2011-11-16 | 日産自動車株式会社 | 情報処理装置及び情報処理用表示装置 |
US7660264B1 (en) | 2005-12-19 | 2010-02-09 | Chelsio Communications, Inc. | Method for traffic schedulign in intelligent network interface circuitry |
US7844445B2 (en) * | 2005-10-12 | 2010-11-30 | Storage Appliance Corporation | Automatic connection to an online service provider from a backup system |
AU2006304933B2 (en) * | 2005-10-21 | 2011-07-21 | The Nielsen Company (Us), Llc | Methods and apparatus for metering portable media players |
US20070156998A1 (en) | 2005-12-21 | 2007-07-05 | Gorobets Sergey A | Methods for memory allocation in non-volatile memories with a directly mapped file storage system |
JP4686358B2 (ja) | 2005-12-26 | 2011-05-25 | ジヤトコ株式会社 | フラッシュメモリを備えた制御装置 |
US7930508B2 (en) | 2006-03-07 | 2011-04-19 | Apple Inc. | File systems for data processing systems |
US7870128B2 (en) | 2006-07-28 | 2011-01-11 | Diskeeper Corporation | Assigning data for storage based on speed with which data may be retrieved |
US7774392B2 (en) | 2006-09-15 | 2010-08-10 | Sandisk Corporation | Non-volatile memory with management of a pool of update memory blocks based on each block's activity and data order |
US8112813B1 (en) * | 2006-09-29 | 2012-02-07 | Amazon Technologies, Inc. | Interactive image-based document for secured data access |
JP4390795B2 (ja) | 2006-10-25 | 2009-12-24 | パイオニア株式会社 | ナビゲーションシステム |
US8560760B2 (en) | 2007-01-31 | 2013-10-15 | Microsoft Corporation | Extending flash drive lifespan |
US20080250190A1 (en) * | 2007-04-03 | 2008-10-09 | Brian Johnson | Portable memory device operating system and method of using same |
KR101433859B1 (ko) | 2007-10-12 | 2014-08-27 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법 |
IL187037A0 (en) * | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Fast update for hierarchical integrity schemes |
US8706950B2 (en) | 2008-03-01 | 2014-04-22 | Kabushiki Kaisha Toshiba | Memory system |
JP5473267B2 (ja) * | 2008-07-14 | 2014-04-16 | キヤノン株式会社 | ワークフロー実行システム及びワークフロー実行方法 |
US8140485B2 (en) * | 2008-07-31 | 2012-03-20 | International Business Machines Corporation | Data recovery using a minimum number of recovery streams |
KR101038167B1 (ko) | 2008-09-09 | 2011-05-31 | 가부시끼가이샤 도시바 | 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법 |
US20100146538A1 (en) * | 2008-12-09 | 2010-06-10 | Electronics And Telecommunications Research Institute | Method and apparatus for transmitting/receiving broadcasting program id |
US8312217B2 (en) | 2008-12-30 | 2012-11-13 | Rasilient Systems, Inc. | Methods and systems for storing data blocks of multi-streams and multi-user applications |
US8627039B2 (en) * | 2009-04-10 | 2014-01-07 | International Business Machines Corporation | Effective memory clustering to minimize page fault and optimize memory utilization |
US8837287B2 (en) | 2009-04-14 | 2014-09-16 | Alcatel Lucent | Application-specific management of high-bandwidth transfers |
US20100288828A1 (en) * | 2009-05-14 | 2010-11-18 | Aisaku Pradhan | Accessible user interface for electronic devices |
CN102473140B (zh) | 2009-07-17 | 2015-05-13 | 株式会社东芝 | 存储器管理装置 |
JP2011186562A (ja) | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
US8838877B2 (en) | 2009-09-16 | 2014-09-16 | Apple Inc. | File system derived metadata for management of non-volatile memory |
US8296496B2 (en) | 2009-09-17 | 2012-10-23 | Hewlett-Packard Development Company, L.P. | Main memory with non-volatile memory and DRAM |
WO2011044154A1 (en) | 2009-10-05 | 2011-04-14 | Marvell Semiconductor, Inc. | Data caching in non-volatile memory |
US20110106780A1 (en) * | 2009-11-05 | 2011-05-05 | European Space Agency | Method and apparatus for accessing data in a data store |
TW201117605A (en) * | 2009-11-13 | 2011-05-16 | Primax Electronics Ltd | Image capture device |
US9021185B2 (en) | 2009-11-23 | 2015-04-28 | Amir Ban | Memory controller and methods for enhancing write performance of a flash device |
US8495250B2 (en) * | 2009-12-16 | 2013-07-23 | International Business Machines Corporation | Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system |
US8452932B2 (en) * | 2010-01-06 | 2013-05-28 | Storsimple, Inc. | System and method for efficiently creating off-site data volume back-ups |
WO2011090500A1 (en) | 2010-01-19 | 2011-07-28 | Rether Networks Inc. | Random write optimization techniques for flash disks |
JP2011175615A (ja) | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
US8830300B2 (en) * | 2010-03-11 | 2014-09-09 | Dolby Laboratories Licensing Corporation | Multiscalar stereo video format conversion |
JP2011209973A (ja) | 2010-03-30 | 2011-10-20 | Hitachi Ltd | ディスクアレイ構成プログラム、計算機、計算機システム |
US8812436B2 (en) * | 2010-05-04 | 2014-08-19 | Symantec Corporation | Schedule based data lifecycle management |
US9563397B1 (en) | 2010-05-05 | 2017-02-07 | Western Digital Technologies, Inc. | Disk drive using non-volatile cache when garbage collecting log structured writes |
JP5593254B2 (ja) | 2010-05-12 | 2014-09-17 | パナソニック株式会社 | 半導体メモリ装置及び半導体メモリシステム |
JP2012020544A (ja) | 2010-07-16 | 2012-02-02 | Sekisui Chem Co Ltd | 射出発泡成形品 |
WO2012020544A1 (ja) | 2010-08-11 | 2012-02-16 | 日本電気株式会社 | データ処理システム、データ処理方法、およびプログラム |
US20120042134A1 (en) * | 2010-08-11 | 2012-02-16 | Hank Risan | Method and system for circumventing usage protection applicable to electronic media |
US8601216B2 (en) | 2010-08-31 | 2013-12-03 | Oracle International Corporation | Method and system for removing cache blocks |
JP2012084127A (ja) | 2010-09-15 | 2012-04-26 | Toshiba Corp | 半導体装置 |
US8341350B2 (en) | 2010-09-21 | 2012-12-25 | Lsi Corporation | Analyzing sub-LUN granularity for dynamic storage tiering |
US8738846B2 (en) * | 2010-10-15 | 2014-05-27 | Arkologic Limited | File system-aware solid-state storage management system |
WO2012063813A1 (ja) | 2010-11-08 | 2012-05-18 | シャープ株式会社 | 移動通信システム、移動局装置、基地局装置、sgsn、ggsn、mme、mbms gw及び移動通信方法 |
JP5679773B2 (ja) | 2010-11-08 | 2015-03-04 | シャープ株式会社 | 移動通信システム、移動局装置、基地局装置、mme、mbms gw及び移動通信方法 |
US8356153B2 (en) | 2010-11-19 | 2013-01-15 | International Business Machines Corporation | Adaptive wear leveling via monitoring the properties of memory reference stream |
EP2643761A1 (en) | 2010-11-24 | 2013-10-02 | Sony Ericsson Mobile Communications AB | Dynamically configurable embedded flash memory for electronic devices |
US8868618B2 (en) * | 2010-12-14 | 2014-10-21 | Microsoft Corporation | Usage-optimized tables |
US20120158827A1 (en) * | 2010-12-21 | 2012-06-21 | Verizon Patent And Licensing Inc. | Active server system monitor |
US9286204B2 (en) | 2011-01-31 | 2016-03-15 | Mitsubishi Electric Corporation | Memory controller |
JP2012170751A (ja) | 2011-02-23 | 2012-09-10 | Olympus Medical Systems Corp | 画像表示装置、方法、及びプログラム、並びにカプセル型内視鏡システム |
US9176864B2 (en) | 2011-05-17 | 2015-11-03 | SanDisk Technologies, Inc. | Non-volatile memory and method having block management with hot/cold data sorting |
CN104012041B (zh) | 2011-05-24 | 2018-02-09 | 思杰系统有限公司 | 用于分析网络指标的系统和方法 |
US8738882B2 (en) | 2011-06-03 | 2014-05-27 | Apple Inc. | Pre-organization of data |
US8983911B2 (en) | 2011-06-20 | 2015-03-17 | Microsoft Technology Licensing, Llc | Storage media abstraction for uniform data storage |
US20130013889A1 (en) | 2011-07-06 | 2013-01-10 | Jaikumar Devaraj | Memory management unit using stream identifiers |
KR101954215B1 (ko) * | 2011-07-12 | 2019-06-07 | 삼성전자주식회사 | 비휘발성 저장 장치의 이용 방법 및 장치 |
US8732831B2 (en) * | 2011-07-14 | 2014-05-20 | AVG Netherlands B.V. | Detection of rogue software applications |
US9288226B2 (en) * | 2011-07-14 | 2016-03-15 | AVG Netherlands B.V. | Detection of rogue software applications |
US8892728B2 (en) | 2011-07-21 | 2014-11-18 | Hewlett-Packard Development Company, L.P. | Automatic zone-based management of a data center |
US20130024483A1 (en) * | 2011-07-21 | 2013-01-24 | Alcatel-Lucent Canada, Inc. | Distribution of data within a database |
EP2557497A1 (en) | 2011-08-08 | 2013-02-13 | Advanced Digital Broadcast S.A. | Method for improving booting of a computing device |
US20130050743A1 (en) * | 2011-08-31 | 2013-02-28 | Forrest Lane Steely | System and Method of Print Job Retrieval from the Cloud |
JP2013084176A (ja) * | 2011-10-12 | 2013-05-09 | Sony Corp | 情報処理装置、情報処理方法およびコンピュータプログラム |
WO2013063474A1 (en) * | 2011-10-28 | 2013-05-02 | Scargo, Inc. | Security policy deployment and enforcement system for the detection and control of polymorphic and targeted malware |
US20130111336A1 (en) * | 2011-11-01 | 2013-05-02 | Griffin Dorman | Platform and application independent system and method for networked file access and editing |
US10203881B2 (en) * | 2011-12-19 | 2019-02-12 | Apple Inc. | Optimized execution of interleaved write operations in solid state drives |
US9201804B1 (en) | 2012-02-06 | 2015-12-01 | Google Inc. | Dynamically adapting the configuration of a multi-queue cache based on access patterns |
JP5723812B2 (ja) | 2012-03-16 | 2015-05-27 | 株式会社 日立産業制御ソリューションズ | ファイルサーバ、データ入出力方法、i/oフックモジュールプログラム及びi/o代行デーモンプログラム |
US8825724B2 (en) | 2012-03-29 | 2014-09-02 | Lsi Corporation | File system hinting |
US9575981B2 (en) * | 2012-04-11 | 2017-02-21 | Box, Inc. | Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system |
US20130290601A1 (en) * | 2012-04-26 | 2013-10-31 | Lsi Corporation | Linux i/o scheduler for solid-state drives |
CN104285206A (zh) | 2012-04-26 | 2015-01-14 | 株式会社日立制作所 | 信息存储系统和控制信息存储系统的方法 |
US9413587B2 (en) * | 2012-05-02 | 2016-08-09 | Box, Inc. | System and method for a third-party application to access content within a cloud-based platform |
US20130300590A1 (en) * | 2012-05-14 | 2013-11-14 | Paul Henry Dietz | Audio Feedback |
US9183136B2 (en) | 2012-05-16 | 2015-11-10 | Hitachi, Ltd. | Storage control apparatus and storage control method |
US20130326169A1 (en) | 2012-05-31 | 2013-12-05 | Amir Shaharabany | Method and Storage Device for Detection of Streaming Data Based on Logged Read/Write Transactions |
US9244868B2 (en) | 2012-09-21 | 2016-01-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Leased lock in active-active high availability DAS systems |
US8799829B2 (en) * | 2012-09-28 | 2014-08-05 | Interactive Memories, Inc. | Methods and systems for background uploading of media files for improved user experience in production of media-based products |
US9158770B1 (en) * | 2012-10-09 | 2015-10-13 | Robert Beadles | Memorytag hybrid multidimensional bar text code |
AU2013359762B2 (en) | 2012-12-10 | 2016-02-18 | Viditeck Ag | Rules based data processing system and method |
US9395924B2 (en) | 2013-01-22 | 2016-07-19 | Seagate Technology Llc | Management of and region selection for writes to non-volatile memory |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9158687B2 (en) | 2013-03-04 | 2015-10-13 | Dot Hill Systems Corporation | Method and apparatus for processing fast asynchronous streams |
US9436634B2 (en) | 2013-03-14 | 2016-09-06 | Seagate Technology Llc | Enhanced queue management |
US9715445B2 (en) * | 2013-03-14 | 2017-07-25 | Sandisk Technologies Llc | File differentiation based on data block identification |
US9335950B2 (en) | 2013-03-15 | 2016-05-10 | Western Digital Technologies, Inc. | Multiple stream compression and formatting of data for data storage systems |
US9042181B2 (en) | 2013-03-15 | 2015-05-26 | SanDisk Technologies, Inc. | Periodic erase operation for a non-volatile medium |
US20170039372A1 (en) * | 2013-03-15 | 2017-02-09 | Electro Industries/Gauge Tech | Devices, systems and methods for upgrading firmware in intelligent electronic devices |
KR102023351B1 (ko) | 2013-03-19 | 2019-11-04 | 삼성전자 주식회사 | 저장 장치 내 할당 촉진을 위한 데이터 분석 방법 및 장치 |
US20140304469A1 (en) | 2013-04-05 | 2014-10-09 | Hewlett-Packard Development Company, L. P. | Data storage |
EP2800013B1 (en) * | 2013-04-30 | 2015-09-09 | Systemite AB | Integration database framework |
US9213633B2 (en) | 2013-04-30 | 2015-12-15 | Seagate Technology Llc | Flash translation layer with lower write amplification |
CN103324703A (zh) | 2013-06-14 | 2013-09-25 | 西安工程大学 | 基于工作流引擎和知识引擎双驱动的知识推送方法 |
JP6099496B2 (ja) | 2013-06-24 | 2017-03-22 | Kddi株式会社 | 管理装置及びプログラム |
US9984089B2 (en) | 2013-06-28 | 2018-05-29 | Vmware, Inc. | Techniques for implementing hybrid flash/HDD-based virtual disk files |
WO2015005634A1 (ko) | 2013-07-08 | 2015-01-15 | 주식회사 윌러스표준기술연구소 | 메모리 시스템 및 이의 제어 방법 |
WO2015008358A1 (ja) * | 2013-07-18 | 2015-01-22 | 株式会社日立製作所 | 情報処理装置 |
WO2015020811A1 (en) | 2013-08-09 | 2015-02-12 | Fusion-Io, Inc. | Persistent data structures |
KR20150023151A (ko) | 2013-08-23 | 2015-03-05 | 삼성전자주식회사 | 전자 장치 및 이의 어플리케이션 실행 방법 |
WO2015043166A1 (en) * | 2013-09-24 | 2015-04-02 | Huawei Technologies Co., Ltd. | Method and system for automatic management of dynamically allocated memory in a computing unit |
WO2015048140A1 (en) | 2013-09-24 | 2015-04-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for storage collision management |
CN105593859B (zh) * | 2013-09-26 | 2019-07-12 | 西门子保健有限责任公司 | 用于管理和处理医学机构的数据的方法和系统 |
KR102203131B1 (ko) * | 2013-10-16 | 2021-01-14 | 삼성전자주식회사 | 파일 관리 방법 및 그 전자 장치 |
JP6038763B2 (ja) * | 2013-11-22 | 2016-12-07 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
US9344525B2 (en) | 2013-11-25 | 2016-05-17 | Violin Memory Inc. | Method and apparatus for data migration |
JP2015111334A (ja) | 2013-12-06 | 2015-06-18 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法 |
US9330305B2 (en) * | 2013-12-29 | 2016-05-03 | Google Technology Holdings LLC | Method and device for detecting a seating position in a vehicle |
US10747880B2 (en) * | 2013-12-30 | 2020-08-18 | University Of Louisiana At Lafayette | System and method for identifying and comparing code by semantic abstractions |
US20150188960A1 (en) * | 2013-12-31 | 2015-07-02 | Mohammad Taj Alhaidar | System and method for online media content sharing |
KR101544309B1 (ko) | 2014-02-26 | 2015-08-12 | 한양대학교 산학협력단 | 스트림 기반의 비휘발성 메모리 제어 방법 및 장치 |
US9354872B2 (en) | 2014-04-24 | 2016-05-31 | Xitore, Inc. | Apparatus, system, and method for non-volatile data storage and retrieval |
US9378152B2 (en) | 2014-05-09 | 2016-06-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for I/O processing using out-of-band hinting to block driver or storage controller |
CN104111898A (zh) | 2014-05-26 | 2014-10-22 | 中国能源建设集团广东省电力设计研究院 | 基于多维数据相似性的混合存储系统及数据管理方法 |
WO2016011589A1 (zh) | 2014-07-21 | 2016-01-28 | 宇龙计算机通信科技(深圳)有限公司 | 图像分类方法和图像分类装置 |
US9495102B2 (en) | 2014-07-31 | 2016-11-15 | Samsung Electronics Co., Ltd. | Input/output (I/O) interceptor that re-orders a plurality of write I/O into combined with I/O with intelligent flush control logic |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US9619214B2 (en) * | 2014-08-13 | 2017-04-11 | International Business Machines Corporation | Compiler optimizations for vector instructions |
US9274720B1 (en) | 2014-09-15 | 2016-03-01 | E8 Storage Systems Ltd. | Distributed RAID over shared multi-queued storage devices |
US9405928B2 (en) * | 2014-09-17 | 2016-08-02 | Commvault Systems, Inc. | Deriving encryption rules based on file content |
TWI554089B (zh) * | 2014-09-29 | 2016-10-11 | 緯創資通股份有限公司 | 影音分享方法與系統 |
US9892041B1 (en) * | 2014-09-30 | 2018-02-13 | Veritas Technologies Llc | Cache consistency optimization |
CN104391569A (zh) | 2014-10-15 | 2015-03-04 | 东南大学 | 基于认知与情绪状态多模态感知的脑机接口系统 |
US10515227B2 (en) * | 2014-10-23 | 2019-12-24 | Pageproof.Com Limited | Encrypted collaboration system and method |
US10198318B2 (en) | 2014-10-27 | 2019-02-05 | Hitachi, Ltd. | Storage apparatus having nonvolatile memory device, and nonvolatile memory device |
US9940242B2 (en) | 2014-11-17 | 2018-04-10 | International Business Machines Corporation | Techniques for identifying instructions for decode-time instruction optimization grouping in view of cache boundaries |
US9836229B2 (en) | 2014-11-18 | 2017-12-05 | Netapp, Inc. | N-way merge technique for updating volume metadata in a storage I/O stack |
US9471229B2 (en) | 2014-12-15 | 2016-10-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Scaling performance for raid storage controllers by predictively caching data for host write requests |
US10409526B2 (en) | 2014-12-17 | 2019-09-10 | Violin Systems Llc | Adaptive garbage collection |
US9779021B2 (en) | 2014-12-19 | 2017-10-03 | International Business Machines Corporation | Non-volatile memory controller cache architecture with support for separation of data streams |
CN104572491B (zh) | 2014-12-30 | 2017-10-17 | 华为技术有限公司 | 一种基于固态硬盘的读缓存管理方法及装置 |
TWI541669B (zh) * | 2015-01-05 | 2016-07-11 | Rangecloud Information Technology Co Ltd | Detection systems and methods for static detection applications, and computer program products |
US9998434B2 (en) * | 2015-01-26 | 2018-06-12 | Listat Ltd. | Secure dynamic communication network and protocol |
JP2016170583A (ja) * | 2015-03-12 | 2016-09-23 | 株式会社東芝 | メモリシステムおよび情報処理システム |
US20160283124A1 (en) | 2015-03-25 | 2016-09-29 | Kabushiki Kaisha Toshiba | Multi-streamed solid state drive |
US9760281B2 (en) | 2015-03-27 | 2017-09-12 | Intel Corporation | Sequential write stream management |
US10013177B2 (en) | 2015-04-20 | 2018-07-03 | Hewlett Packard Enterprise Development Lp | Low write amplification in solid state drive |
US9696935B2 (en) * | 2015-04-24 | 2017-07-04 | Kabushiki Kaisha Toshiba | Storage device that secures a block for a stream or namespace and system having the storage device |
US10025747B2 (en) | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
US9851926B2 (en) | 2015-06-02 | 2017-12-26 | Quantum Corporation | Log structured block device for hard disk drive |
US10324832B2 (en) | 2016-05-25 | 2019-06-18 | Samsung Electronics Co., Ltd. | Address based multi-stream storage device access |
US10656838B2 (en) | 2015-07-13 | 2020-05-19 | Samsung Electronics Co., Ltd. | Automatic stream detection and assignment algorithm |
US10509770B2 (en) * | 2015-07-13 | 2019-12-17 | Samsung Electronics Co., Ltd. | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device |
US9977623B2 (en) | 2015-10-15 | 2018-05-22 | Sandisk Technologies Llc | Detection of a sequential command stream |
US20170123666A1 (en) | 2015-10-30 | 2017-05-04 | Sandisk Technologies Inc. | System and method for managing maintenance scheduling in a non-volatile memory |
US10275275B2 (en) | 2015-12-03 | 2019-04-30 | Nvidia Corporation | Managing copy operations in complex processor topologies |
US10289309B2 (en) | 2016-09-12 | 2019-05-14 | Toshiba Memory Corporation | Automatic detection of multiple streams |
-
2016
- 2016-05-02 US US15/144,588 patent/US11461010B2/en active Active
- 2016-06-03 TW TW105117504A patent/TWI710949B/zh active
- 2016-06-20 KR KR1020160076697A patent/KR102541458B1/ko active IP Right Grant
- 2016-07-11 JP JP2016136652A patent/JP6971542B2/ja active Active
- 2016-07-13 CN CN201610548879.2A patent/CN106354425B/zh active Active
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1229721A2 (en) * | 2001-01-31 | 2002-08-07 | Fuji Photo Film Co., Ltd. | Information displaying method and menu service method and system |
CN101237511A (zh) * | 2007-02-01 | 2008-08-06 | 夏普株式会社 | 图像历史保管方法和图像历史保管系统 |
CN101646995A (zh) * | 2007-03-26 | 2010-02-10 | 国际商业机器公司 | 用于存储管理器的数据流过滤器和插件 |
CN101663654A (zh) * | 2007-04-23 | 2010-03-03 | 微软公司 | 用于连接到主机的存储设备的优化的提示模型和用于存储设备的写优化方案 |
US20090323022A1 (en) * | 2008-06-26 | 2009-12-31 | Canon Kabushiki Kaisha | Medical imaging apparatus |
CN102934171A (zh) * | 2010-06-04 | 2013-02-13 | 美光科技公司 | 具有非易失性存储器的多级系统中的高级逐位操作及设备 |
US20120007952A1 (en) * | 2010-07-08 | 2012-01-12 | Panasonic Corporation | Recording control apparatus, semiconductor recording apparatus, recording system, and nonvolatile storage medium |
US20120047330A1 (en) * | 2010-08-18 | 2012-02-23 | Nec Laboratories America, Inc. | I/o efficiency of persistent caches in a storage system |
CN103597444A (zh) * | 2011-06-09 | 2014-02-19 | 微软公司 | 按照使用来管理基于闪存的存储上的数据放置 |
CN103703450A (zh) * | 2011-07-20 | 2014-04-02 | 华为技术有限公司 | Ssd存储访问的方法和装置 |
WO2013084414A1 (ja) * | 2011-12-08 | 2013-06-13 | パナソニック株式会社 | デジタル標本作製装置、デジタル標本作製方法およびデジタル標本作製サーバ |
US8996450B1 (en) * | 2011-12-31 | 2015-03-31 | Teradata Us, Inc. | System and method for allocating resources in a mixed SSD and HDD storage environment |
US20130183951A1 (en) * | 2012-01-12 | 2013-07-18 | Shih-Wei Chien | Dynamic mobile application classification |
CN104021009A (zh) * | 2012-02-28 | 2014-09-03 | 托尼安软件开发系统公司 | 用于存储控制器的高效生命周期管理的方法和系统 |
US20140052953A1 (en) * | 2012-08-14 | 2014-02-20 | Infinidat Ltd. | Mass storage system and methods of controlling resources thereof |
CN103677654A (zh) * | 2012-09-24 | 2014-03-26 | 联想(北京)有限公司 | 一种存储数据的方法及电子设备 |
US20140156913A1 (en) * | 2012-12-05 | 2014-06-05 | Phison Electronics Corp. | Data processing method, memory controller and memory storage apparatus |
US20140281172A1 (en) * | 2013-03-13 | 2014-09-18 | Samsung Electronics Co., Ltd. | Nonvolatile memory device, electronic device and computing system including the same |
CN104159021A (zh) * | 2013-05-13 | 2014-11-19 | 索尼公司 | 成像设备、成像方法和程序 |
US20150026257A1 (en) * | 2013-07-16 | 2015-01-22 | Dropbox, Inc. | Music box |
US20150074337A1 (en) * | 2013-09-06 | 2015-03-12 | Samsung Electronics Co., Ltd. | Storage device and data processing method thereof |
US8874835B1 (en) * | 2014-01-16 | 2014-10-28 | Pure Storage, Inc. | Data placement based on data properties in a tiered storage device system |
CN103777905A (zh) * | 2014-02-14 | 2014-05-07 | 华中科技大学 | 一种软件定义的固态盘融合存储方法 |
CN104391659A (zh) * | 2014-12-03 | 2015-03-04 | 浪潮集团有限公司 | 一种基于磁盘的实现冷热数据自动分层存储技术 |
Non-Patent Citations (2)
Title |
---|
L. WAN, Z. LU, Q. CAO, F. WANG, S. ORAL AND B. SETTLEMYER: "SSD-optimized workload placement with adaptive learning and classification in HPC environments", 《2014 30TH SYMPOSIUM ON MASS STORAGE SYSTEMS AND TECHNOLOGIES (MSST)》 * |
王增辉: "磨损均衡在提高SSD使用寿命中的应用与改进", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947592A (zh) * | 2017-12-20 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、装置以及相关设备 |
CN111512279A (zh) * | 2017-12-20 | 2020-08-07 | 美光科技公司 | 利用存储写入命令中的写入流属性 |
CN109947592B (zh) * | 2017-12-20 | 2022-11-18 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、装置以及相关设备 |
CN111512279B (zh) * | 2017-12-20 | 2023-10-20 | 美光科技公司 | 利用存储写入命令中的写入流属性 |
US11803325B2 (en) | 2018-03-27 | 2023-10-31 | Micron Technology, Inc. | Specifying media type in write commands |
CN115004167A (zh) * | 2020-03-09 | 2022-09-02 | 深圳市欢太科技有限公司 | 数据处理方法及相关产品 |
US11366602B2 (en) | 2020-06-23 | 2022-06-21 | Western Digital Technologies, Inc. | Data storage device with burn-after-read mode |
US11694722B1 (en) | 2022-02-15 | 2023-07-04 | Western Digital Technologies, Inc. | Data timestamp and read counter for magnetic recording devices |
Also Published As
Publication number | Publication date |
---|---|
US20170017411A1 (en) | 2017-01-19 |
TWI710949B (zh) | 2020-11-21 |
TW201710881A (zh) | 2017-03-16 |
JP2017021804A (ja) | 2017-01-26 |
US11461010B2 (en) | 2022-10-04 |
KR102541458B1 (ko) | 2023-06-08 |
KR20170008152A (ko) | 2017-01-23 |
CN106354425B (zh) | 2021-06-29 |
JP6971542B2 (ja) | 2021-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354425A (zh) | 基于数据属性的数据布局的方法和系统 | |
US11687423B2 (en) | Prioritizing highly performant storage systems for servicing a synchronously replicated dataset | |
US11663097B2 (en) | Mirroring data to survive storage device failures | |
US11748030B1 (en) | Storage system metric optimization for container orchestrators | |
US10649988B1 (en) | Artificial intelligence and machine learning infrastructure | |
US10296258B1 (en) | Offloading data storage to a decentralized storage network | |
US11966841B2 (en) | Search acceleration for artificial intelligence | |
US20190361697A1 (en) | Automatically creating a data analytics pipeline | |
US20220217049A1 (en) | Path Management For Container Clusters That Access Persistent Storage | |
US11829629B2 (en) | Synchronously replicating data using virtual volumes | |
US20230016822A1 (en) | Creating Batches Of Training Data For Machine Learning Workflows | |
US20220147365A1 (en) | Accelerating Segment Metadata Head Scans For Storage System Controller Failover | |
US10521151B1 (en) | Determining effective space utilization in a storage system | |
US20210055885A1 (en) | Enhanced data access using composite data views | |
US11294588B1 (en) | Placing data within a storage device | |
US12056019B2 (en) | Creating cloud-based storage systems using stored datasets | |
US11768763B2 (en) | Flash secure erase | |
US20220091744A1 (en) | Optimized Application Agnostic Object Snapshot System | |
US20220091743A1 (en) | Bucket versioning snapshots | |
US20240111718A1 (en) | In-band file system access | |
US20240339159A1 (en) | Optimizing allocation unit sizes for heterogeneous storage systems | |
US11861423B1 (en) | Accelerating artificial intelligence (‘AI’) workflows | |
US20240289036A1 (en) | Data storage system with managed flash | |
US11709636B1 (en) | Non-sequential readahead for deep learning training | |
US20230367716A1 (en) | Optimizing Artificial Intelligence Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |