CN112286714A - 在基于nand的读取源存储中提高大数据分析吞吐量的方法和系统 - Google Patents
在基于nand的读取源存储中提高大数据分析吞吐量的方法和系统 Download PDFInfo
- Publication number
- CN112286714A CN112286714A CN202010704686.8A CN202010704686A CN112286714A CN 112286714 A CN112286714 A CN 112286714A CN 202010704686 A CN202010704686 A CN 202010704686A CN 112286714 A CN112286714 A CN 112286714A
- Authority
- CN
- China
- Prior art keywords
- file
- storage device
- data
- ecc
- computing device
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一个实施例促进了存储设备中的数据访问。在操作期间,系统通过存储设备从与该存储设备分离的原始物理介质中获得文件,其中该文件包括先前已经基于纠错码(ECC)进行了编码的压缩数据。所述系统将所获得的文件作为只读副本存储在存储设备的物理介质上。响应于接收到读取文件的请求,系统通过存储设备基于ECC将副本解码以获得ECC解码的数据,其中ECC解码的数据随后由与存储设备关联的计算设备解压缩,并作为请求的文件返回。
Description
技术领域
本公开总体上涉及数据存储领域。更具体地,本公开涉及用于提高基于NAND的读取源存储中的大数据分析的吞吐量的方法和系统。
背景技术
互联网和电子商务的激增继续创建大量的数字内容。已经创建了各种分布式存储系统来访问和存储这些数字内容。在一些读取密集型场景中,存储系统可能会存储数据的原始版本,在存储系统其中已存储的原始数据经常被读取或访问,但不一定进行更新。读取密集型方案的一个示例是“大数据”分析,其中涉及检查大量不同的数据集(即大数据),以识别相关信息,例如隐藏模式、市场趋势、未知相关性以及可能与用户相关的任何信息。大数据分析需要经常读取大量数据,而源数据则保持不变。为了加速由多个数据分析服务器执行的数据分析处理,通常将中间结果存储在存储样式的介质中。但是,这可能会导致通过以太网长距离传输大量数据的相当大的开销。为了避免这种开销,通常会复制读取源以在每个站点上形成本地副本,因此,低成本和高吞吐量都是存储源数据副本的实际和基本要求。
在当前的大数据分析中,常规的分布式存储系统可用于为原始数据源的多个存储副本提供所需的存储。但是,使用常规的分布式存储系统可能会导致一些挑战和效率低下,其中包括:昂贵地部署由数十个计算服务器和存储服务器(包括网络)组成的整个分布式存储系统;数据中心中昂贵的机架空间;电力成本高;并且访问存储在存储服务器中的副本的延迟高。
随着大数据分析的继续增长,常规分布式存储系统的低效率和挑战也将继续增长。
发明内容
一个实施例促进了存储设备中的数据访问。在操作期间,系统通过存储设备从与该存储设备分离的原始物理介质中获取文件,其中,该文件包括压缩的无错误数据,该数据先前已基于纠错码(ECC)进行了编码。所述系统将所获得的文件作为只读副本存储在存储设备的物理介质上。响应于接收到读取文件的请求,系统由存储设备基于ECC对副本进行解码以获得ECC解码的数据,其中,ECC解码的数据随后由与存储设备关联的计算设备解压缩,并作为请求的文件返回。
在一些实施例中,基于第一协议从请求实体接收读取文件的请求。在所述计算设备解压缩所述ECC解码的数据之后,系统将解压缩的数据作为请求的文件返回至请求实体,而不执行任何ECC编码。
在一些实施例中,由计算设备的并行解压缩引擎执行对所述ECC解码的数据进行解压缩。
在一些实施例中,读取文件的请求由计算设备接收,并由所述通过一系统发送到存储设备,该系统包括以下至少一个:第一以太网交换机和第二以太网交换机;第一智能网络接口卡(NIC)和第二智能网络接口卡(NIC);多个外围高速互PCIe交换机;其中,第一智能网卡和第二智能网卡均包括一个简单的存储节点,包括:到第一以太网交换机和第二以太网交换机的上行链路;经由多个PCIe通道的多个PCIe交换机的下行链路,所述多个PCIe通道用于连接到所述存储设备和多个其他存储设备。
在一些实施例中,读取文件的请求进一步由第二计算设备接收,并且还被第二计算设备经由该系统传输至存储设备;该第二计算设备是该计算设备的备用服务器或高可用性服务器。
在一些实施例中,所述系统通过计算设备存储由文件名到与所述存储设备相关联的当前物理块地址的映射。
在一些实施例中,响应于检测到将文件从所述当前物理块地址移动到与存储设备相关联的新物理块地址的条件,系统更新文件名到新物理文件的映射块地址。
在一些实施例中,存储在所述存储设备中的文件的格式包括一个或多个:表示与文件相关联的起始位置的前同步码(pre-amble);文件的唯一文件标识符;文件的内容;后同步码(post-amble),表示与文件相关联的结束位置;用于验证文件内容的一致性的循环冗余校验(CRC)签名。
在一些实施例中,第一存储设备不包括:执行ECC编码的模块或单元;动态随机存取存储器(DRAM)接口和通过该DRAM接口访问的DRAM模块;执行闪存转换层(FTL)功能的处理器,所述功能包括将逻辑块地址映射到物理块地址。
另一实施例提供了一种分布式存储系统,用于通过一个或多个客户端便于一个或多个大数据分析应用。该分布式存储系统包括;
前端头服务器、交换机以及连接到该交换机的多个NAND卡;前端头服务器被配置为接收读取文件的请求;所述NAND卡被配置为:通过所述交换机接收读取存储在所述NAND卡上的文件的请求;以及并由NAND卡基于纠错码(ECC)将文件解码以获取ECC解码的数据;前端头服务器配置为对ECC解码的数据进行解压缩,并将解压缩后的数据作为请求的文件返回。
在一些实施例中,NAND卡还被配置为从与该NAND卡分离的原始物理介质获得文件,其中文件包括先前基于纠错码(ECC)编码的压缩数据。NAND卡还被配置为在不执行任何ECC编码的情况下将ECC解码的数据返回到前端头服务器。NAND卡不包括:执行ECC编码的模块或单元动态随机存取存储器(DRAM)接口和通过DRAM接口访问的DRAM模块;执行闪存转换层(FTL)功能的处理器,所述功能包括将逻辑块地址映射到物理块地址;从而通过减少ECC编码的数量来便于大数据分析应用有效地分析数据。
附图说明
图1示出了根据现有技术的用于便于在存储设备中的数据访问的示例性环境。
图2示出了根据本申请的实施例的用于便于在存储设备中的数据访问的示例性环境。
图3示出了根据本申请的实施例的用于原始数据源中的数据放置以及复制到读取源副本中的数据放置、包括数据I/O路径的示例性环境。
图4示出了根据本申请的实施例的包括具有简化架构的NAND卡的存储设备的示例图。
图5示出了根据本申请的实施例的文件到物理块地址的示例性映射。
图6示出了根据本申请的实施例的文件格式和NAND块布局的示例图。
图7A呈现了示出根据本申请的实施例的用于便于在存储设备中数据访问的方法的流程图。
图7B呈现了示出根据本申请的实施例的用于便于在存储设备中的数据访问的方法的流程图。
图8示出了根据本申请的实施例的便于在存储设备中的数据访问的示例性计算机系统和存储系统。
图9示出了根据本申请的实施例的便于在存储设备中进行数据访问的示例性装置。
在附图中,相同的附图标记指代相同的附图元素。
具体实施方式
提供以下描述以使本领域的任何技术人员能够制造和使用实施例,并且在特定应用及其要求的上下文中提供以下描述。对于所公开的实施例的各种修改对于本领域技术人员将是显而易见的,并且在不脱离本公开的精神和范围的情况下,本文中定义的一般原理可以应用于其他实施例和应用中。因此,本文描述的实施例不限于所示的实施例,而是应被赋予与本文公开的原理和特征一致的最宽范围。
概述
本文所述的实施例通过提供一种具有简化的“NAND卡”新颖的分布式存储系统作为存储设备来解决当前分布式存储系统中大数据分析的效率低下。这些存储设备将ECC编码卸载到原始存储设备,消除了存储设备中的DRAM控制器和模块,并将FTL功能转移到了系统前端的计算设备上。
如上所述,大数据分析是读取密集型场景的示例,该方案要求频繁读取非常大量的数据,但源数据保持不变。为了加速由多个数据分析服务器执行的数据分析处理,通常将中间结果存储在存储样式的介质中。但是,这可能会导致通过以太网长距离传输大量数据的大量开销。为了避免这种开销,通常会复制读取源以在每个站点上形成本地副本。因此,低成本和高吞吐量都是存储源数据副本的实际和基本要求。
在当前的大数据分析中,常规的分布式存储系统可以用于例如根据需要并由多个数据分析服务器访问的原始数据源的多个存储副本来提供所需的存储。但是,使用传统的分布式存储系统可能会导致一些挑战和效率低下,其中包括:昂贵地部署由数十个计算服务器和存储服务器(包括网络)组成的整个分布式存储系统;数据中心中昂贵的机架空间;电力成本高;以及访问存储在存储服务器中的副本的高延迟(如下文有关图1所述)。随着大数据分析的不断增长,传统分布式存储系统的低效率和挑战也将继续增长。
本文描述的实施例通过提供具有高容量存储和高吞吐量的分布式存储系统来解决这些挑战和低效率。该系统允许多个数据分析服务器以低延迟和低成本访问数据。该系统包括连接到以太网交换机的前端头服务器,该以太网交换机连接到智能网络接口卡(NIC)片上系统(SOC)。智能NIC SOC(通过多个PCIe通道)连接到多个外围高速互连(PCIe)交换机,其中每个PCIe交换机连接到多个“NAND卡”。每个NAND卡可以是简化的存储设备,包括ECC解码器,但不包括某些模块,例如:ECC编码器、通过处理器进行的FTL操作或功能、以及DRAM接口/存储。
相反,可以以各种方式卸载这些模块执行的功能。例如,可以由原始数据源存储设备执行ECC编码,并且可以从出站数据I/O路径上的原始数据源存储设备上检索ECC编码数据(由于先前已进行ECC解码,因此还包含无错误数据),或将所述编码数据提供到NAND卡,如图3所述。此外,例如,通过处理来自数据分析服务器的请求(例如访问存储为读取源数据或副本的文件的请求),可以将与FTL相关的LBA到PBA的映射的操作和维护所述映射的操作卸载到充当分布式存储系统前端头的计算设备。此外,NAND卡可以使用简单的缓存或高速缓存进行任何必要的ECC解码,从而可以从存储设备中删除DRAM接口和DRAM。
因此,通过以此处描述的方式简化NAND卡,本系统的实施例可以产生成本和功率的节省,并且还可以为大数据分析和其他需要频繁访问只读数据的类似应用程序更加高效的分布式存储系统,该分布式存储服务器可以提供满足来自多个数据分析服务器的数据访问请求所需的低成本和高吞吐量。
“存储驱动器”是指具有可以提供数据持久存储的非易失性存储器的设备或驱动器,例如固态驱动器(SSD)或硬盘驱动器(HDD)。
“存储服务器”是指可以包括多个存储驱动器的计算设备。分布式存储系统可以包括多个存储服务器。
NAND闪存可在每个单元中存储一定数量的位。例如:“单级单元”或“SLC”存储元件可以在每个单元中存储一位信息;“多级单元”或“MLC”存储元件可以在每个单元中存储两位信息;“三级单元”或“TLC”存储元件可以在每个单元中存储三位信息;“四级单元”或“QLC”存储元件可以在每个单元中存储四位信息。
“NAND卡”指的是具有简化架构的存储设备,例如,不具有用于FTL功能的处理器、ECC编码器模块或DRAM接口/DRAM,如以下关于图2和图4所讨论的。
现有技术中的数据访问的示例性环境
图1示出了根据现有技术的用于便于存储设备中的数据访问的示例性环境。在该常规环境100中,可以通过NAS协议服务器来实现网络附属存储(NAS)协议,并且可以将数据存储在分布式存储集群中。例如:客户端110可以包括数据分析服务器112、114和116;计算服务器130可以包括网络附属存储(NAS)协议服务器132、134和136;存储服务器150可以包括分布式存储集群151,并且可以包括存储服务器152、154和156。在环境100中,数据可以通过负载平衡模块120从数据分析服务器112-116传递到NAS协议服务器132-136。然后,数据可以通过数据中心以太网140,以存储到或存储在存储服务器152-156上。
环境100的常规分布式存储系统的一个优点是其提供足够容量以容纳数据分析服务器需要访问的不断增长的大量数据(即作为数据源副本的站点)的能力。然而,该常规系统存在若干劣势或缺点。首先,整个分布式存储系统需要大量的计算服务器和存储服务器(例如数十个数量级)以及必要的网络连接,这对于维护和扩展而言可能很麻烦。与各种边界网关协议(BGP)相关联的网络成本可能会很大。其次,数据中心中的机架空间可能很昂贵,并且为了扩展这种常规的分布式存储系统机架空间成本必然会增加。第三,在多个位置存储、访问和维护此副本数据所需的电力成本会很高,并且在维护或扩展时电力成本也可能增加。第四,从这样的副本站点读取或访问数据所涉及的延迟可能会很高或很长。因此,鉴于数据中心机架空间和电源预算的高昂成本,以及提高副本数据源吞吐量的需求,以及依赖常规分布式存储系统以这种方式频繁访问只读数据的高昂成本,这些缺点可能导致系统在成本、性能和可扩展性方面效率更低。使用简化的“NAND卡”存储设备便于数据访问的示例性环境
图2示出了根据本申请的实施例的用于便于在存储设备中数据访问的示例性环境200。环境200可以描述一个分布式存储系统,并且可以包括几个实体,包括一对前端头、一对以太网交换机、一对智能NIC片上系统(SOC)、多个PCIe交换机以及多个“NAND卡”。如上所述,术语“NAND卡”是指具有简化架构的存储设备,例如,不具有处理器、ECC编码器模块、或DRAM接口/DRAM,如下面图4所讨论的。在一对实体中,一个实体可以是主要实体(或主动)实体,而另一个实体可以是备用(或非主动实体),当主要实体发生故障或以其他方式不响应时,该备用实体可提供高可用性。
例如,环境200可以包括:具有并行解压缩引擎(ASIC)224的前端头A 222;以及带有并行解压缩引擎(ASIC)228的前端头B 226。每个前端头可以配置为处理特定协议,例如,网络附加存储(NAS)协议以处理来自多个大数据分析服务器传入的请求。每个前端头都可以看作是没有存储驱动器或容量非常有限的简化客户端节点。因此,每个前端头负责处理通过某种协议输入的请求,并负责基于其各自的并行解压缩引擎对数据进行解压缩。
每个前端头可以连接到一以太网交换机A 232和一以太网交换机B 234。每个以太网交换机可以连接到智能NIC SOC 242和智能NIC SOC 244。每个智能NIC SOC可以(通过多个PCIe通道)连接到多个PCIe交换机,每个智能NIC SOC可以进一步确定要使用哪个PCIe通道。每个智能NIC SOC都可以充当简单的存储节点,并且可以具有简化的微处理器,例如无内部互锁流水线级(MIPS)的微处理器或高级RISC计算机(ARM)处理器。智能NIC SOC 242可以连接到PCIe交换机251、252和253,而智能NIC SOC 244可以连接到PCIe交换机254、255和256。也就是说,每个智能NIC SOC都有一个上行链路,该上行链路通过以太网连接到至少一个以太网交换机,以及每个智能NIC SOC还具有一个下行链路,该下行链路包括用于连接至PCIe NAND卡的PCIe通道。
每个PCIe交换机可以连接到多个NAND卡,并且这些NAND卡可以提供频繁数据访问(例如,通过数据分析服务器212、214和110进行大数据分析)所需的存储容量和高吞吐量。以下在附图4中的描述了示例性NAND卡(例如NAND卡261)。为了增加环境200中描述的系统的容量,系统可以在任何所描述的级别添加更多实体,包括更多以太网交换机、更多智能NIC SOC、更多PCIe交换机和更多NAND卡。
因此,在本文所述的实施例中,系统通过在例如环境200的环境中使用多个NAND卡,提供了具有高容量存储和高吞吐量的分布式存储系统。通过仅在前端头放置协议处理和压缩功能,分布式存储系统允许NAND卡仅用作数据池,这允许整个分布式存储系统可轻松的移动和构建,例如在小型数据中心中,占用或使用较少的总体机架空间,从而降低总体运营成本(TCO)。
数据访问的示例性数据I/O路径
图3示出了根据本申请的实施例的用于原始数据源中的数据放置以及复制到只读源副本中的数据放置、包括数据I/O路径的示例性环境。可以经由数据I/O路径将原始数据存储在原始数据源310,该数据I/O路径包括:(经由通信352)接收要存储的数据;通过压缩模块312接收并压缩接收到的数据;(通过通信354)将压缩的数据发送到ECC编码器模块314;通过ECC编码器模块314接收并压缩压缩后的数据;(经由通信356)发送要存储在NAND316中的ECC编码的数据(“原始存储的数据”或“原始版本”)。在接收到读取数据的请求之后,可以经由数据I/O路径来访问或读取该原始存储在NAND 316中的数据,该数据I/O路径包括:由ECC解码器模块318接收经ECC编码的数据(经由通信358);通过ECC解码器模块318解码ECC编码的数据;发送ECC解码后的数据至解压缩模块320;通过解压缩模块320接收并解压缩ECC解码后的数据;并返回解压缩的数据(通过通信362)。
在访问数据的数据I/O路径期间,在数据被ECC解码器318解码之后,原始存储的数据已被成功地ECC解码为“无错误数据”,并且ECC解码器318也拥有从NAND 316获得的包括ECC奇偶校验位的整个ECC码字。在这一点上,读取源副本330可以从ECC解码器模块318获得或检索(或者原始源310可以传送或发送)全部ECC码字(包括ECC奇偶校验位)的无错误数据(通过通信370)。读取源副本330可以将获得的ECC码字存储在NAND 332中(作为读取源或只读副本)。
当请求访问数据时(例如,如图2所示,由数据分析服务器访问),从NAND 332中检索存储的只读副本(即ECC码字)并将其发送到ECC解码器334(通过通信372)。ECC解码器334可以接收和解码ECC码字,并且将ECC解码的数据发送到诸如多路复用器336之类的模块(通过通信374)。多路复用器336可以确定数据是否必须刷新、是否需要移动或最近已经移动到新的物理位置。如果需要刷新或移动数据,则系统可以将数据发送回NAND 332(通过通信378)。如果不需要刷新或移动系统,则系统可以将数据向前发送到奇偶校验模块338(通过通信376)。奇偶校验模块338可以丢弃ECC奇偶校验位以获得压缩数据。奇偶校验模块338可以将压缩后的数据发送到前端头解压缩(通过通信380)。解压缩模块340可以对压缩数据进行接收和解压缩(作为前端操作342),以获得被请求访问或读取的数据,并且可以发送回所请求的数据(通过通信382)。
因此,在本文所述的实施例中,该系统为来自多个数据分析服务器的高强度、频繁的读取访问提供了高密度、大容量的数据源。通过使用这些“简化的”NAND卡,该系统可以降低总运营成本(TCO),并且可以消除对传统分布式存储系统中数十台或数百台服务器的需求。用于数据访问的示例性存储设备(NAND卡)
图4示出了根据本申请的实施例的包括具有简化架构的NAND卡400的存储设备的示例图。NAND卡400可以对应于如图2中所述的NAND卡261-272中的任何一个,诸如NAND卡261。NAND卡400可包括:用于NAND卡400与PCIe交换机之间的通信(通过通信442)的PCIe接口412;用于基于CRC签名提供数据一致性的验证的CRC模块418;用于保存数据的缓存/高速缓存420;用于执行ECC解码的ECC解码器422;以及用于在NAND卡和与NAND卡400相关联的物理存储介质之间进行通信的NAND闪存接口430。例如,NAND卡400可以包括多个通道,数据可以通过这些通道通过NAND闪存接口430传输或通信,包括:NAND裸片432(经由通道431访问);NAND裸片434(经由通道433访问);NAND裸片436(经由通道435访问);NAND裸片438(经由通道437访问)。
NAND卡400不包括先前包括在常规SSD或常规存储设备中的一些模块或组件。这些模块或组件由右斜杠指示。NAND卡400不包括:处理器(FTL)414;ECC编码器416;和具有与DRAM 426和428关联的DRAM接口424。
应当注意,由于与其他类型的非易失性存储器相比,NAND闪存可以在读取/写入操作中提供更高的可靠性和性能,因此在本公开中将NAND闪存描述为示例性非易失性存储器。但是,在一些实施例中,可以使用任何类型的存储器,包括但不限于硬盘驱动器、相变存储器和其他非易失性存储器。
将文件到物理块地址的示例性映射:示例文件格式
在分布式存储系统的常规文件系统中,通常在逻辑块地址(LBA)和物理块地址(PBA)之间维护映射。在这样的常规系统中,LBA用于执行随机写入或更新。相反,在本文描述的实施例中,在由前端头(例如,图2的前端头A 222)协调的文件系统中,前端头接收以文件粒度读取数据的请求,而不是以块或页面粒度,因此无需维护更精细的LBA到PBA映射。在本文描述的实施例中,尽管可能没有传入的写入要求,但是可能需要定期刷新或移动一些数据。但是因为数据是基于文件的更粗粒度的,所以系统可以将文件名映射到PBA,并且还可以通过在块的末尾附加新数据来在单个块中使用日志结构。
图5示出了根据本申请的实施例的文件到物理块地址的示例性映射。被映射的文件510可以对应于逻辑块地址520和物理块地址540。逻辑大小可以与物理块大小相同。在本文所述的实施例中,系统可以将传统的FTL功能(将LBA映射到PBA)从存储设备控制器(例如SSD控制器)内部的处理器卸载到与该存储设备关联的计算设备(例如前端头计算设备)。前端头计算设备(或除存储设备控制器之外的其他计算设备或实体)可以存储文件名560到PBA 540的映射。
例如,数据文件A 512可以对应于多个LBA,每个LBA对应于一个PBA。前端头计算设备可以存储数据文件A 512的文件名(例如,“A”)到与对应于数据文件A 512的LBA关联的一个或多个PBA的映射。例如,数据文件A 512(文件名“A”)可以与分别对应于PBA k 542、PBAh 544和PBA i546的LBA 1 522、LBA 2 524和LBA 3 526相关联。前端头(或与存储设备控制器分离的其他计算设备)可以存储文件名“A”562到PBA k 542、PBA h 544和PBA i 546的映射。应当注意,文件名可以映射到多个PBA,正如可以将单个PBA映射到多个文件名一样(例如,将文件名“A”562和文件名“B”564都映射到PBA i 546)。该系统可以确定某个PBA内的确切位置,从该位置可以读取请求的文件,如下面图6所述。
图6示出了根据本申请的实施例一致的文件格式和NAND块布局的示例图600。图600可以包括与写入例如NAND的非易失性存储器的文件相对应的文件格式。该文件格式可以包括:前同步码612,其表示给定文件的开始;以及唯一文件标识符614,其标识给定文件并且不与任何其他文件标识符冲突;与给定文件相对应的文件内容616;后同步码618,表示给定文件的结尾;以及循环冗余校验(CRC)签名620,其提供给定文件内容一致性的验证。块630描述了如何将格式化的文件存储在块630中。
在操作期间,当文件名到PBA的映射表明所请求的文件存储在某个PBA时,系统可以读出在某PBA处的页面以确定所请求文件的起点(例如,由前同步码612指示)。一旦确定了起点,系统就可以检查唯一文件标识符614是否对应于所请求的文件。如果是这样,系统可以一次读取一个物理块,直到系统确定所请求文件的终点(例如,后同步码618)。在块630中,示例性请求文件包括仅存储在块630中的文件内容616。所请求文件的文件内容也可以跨多个块存储。在确定所请求文件的终点时,系统可以基于检查CRC签名620来验证数据的一致性。
便于数据访问的示例性方法
图7A提供了示出根据本申请的实施例的用于便于存储设备中的数据访问的方法的流程图700。在操作期间,系统通过存储设备从与存储设备分离的原始物理介质中获取文件,其中该文件包括压缩的无错误数据,该数据先前已基于纠错码(ECC)(操作702)进行了编码。系统将所获得的文件作为只读副本存储在存储设备的物理介质上(操作704)。系统接收读取文件的请求(操作706)。响应于接收到读取文件的请求,系统由存储设备基于ECC对所述副本进行解码以获得ECC解码的数据,其中,随后由与存储相关联的计算设备对ECC解码的数据进行解压缩,作为请求的文件返回(操作708),并且该操作返回。
图7B示出了与本申请的实施例一致的便于在存储设备中数据访问的方法的流程图720,在操作期间,系统通过与存储设备相关联的计算设备接收读取文件的请求,其中该文件包括压缩的无错误数据,该数据先前已基于纠错码(ECC)进行了编码(操作722)。先前的ECC编码可以由诸如上面图3的ECC编码器314所述的单独的存储设备来执行。系统通过计算设备经由至少包括如下之一的系统将请求发送到存储设备:第一和第二以太网交换机;第一和第二智能网络接口卡(NIC);多个外围高速互连(PCIe)交换机(操作724)。该系统通过计算设备存储文件名到与存储设备相关联的当前物理块地址(PBA)的映射(操作726)。如果系统检测到将文件从当前PBA移到新PBA的条件(决策728),则系统更新文件名到新物理块地址的映射(操作730)。如果系统未检测到将文件从当前PBA移至新PBA的条件(决策728),则操作返回。
示例性计算机系统和设备
图8示出了根据本申请的实施例的示例性计算机系统800和便于存储设备中的数据访问的存储系统820。计算机系统800包括处理器802、易失性存储器804和存储设备806。计算机系统800可以对应于图2的前端头222。处理器802可以包括并行解压缩引擎(例如,在ASIC中)。易失性存储器806可以包括例如随机存取存储器(RAM),其用作管理存储器,并且可以用于存储一个或多个存储器池。存储设备806可以包括持久性存储。此外,计算机系统800可以连接到外围输入/输出(I/O)用户设备850,例如显示设备852、键盘854和指点设备856。存储设备806可以存储操作系统810、内容处理系统812和数据(未示出)。
内容处理系统812可以包括指令,该指令在由计算机系统800执行时可以使计算机系统800执行本公开中描述的方法和/或过程。具体地,内容处理系统812可以包括用于接收和发送数据包的指令,该数据包包括要读取或写入的数据、输入/输出(I/O)请求(例如,读取请求或写入请求)以及与读取请求、写入请求或I/O请求(通信模块814)相关联的数据。内容处理系统812还可以包括用于将文件名和/或LBA映射、维护和管理到PBA的指令(FTL管理模块816),诸如存储文件名到与储存设备相关联的当前PBA的映射。
计算机系统800可以经由分布式存储系统与存储系统820通信,该存储系统820可以包括:处理器/控制器822、易失性存储器824、和存储设备826。存储系统820可以对应于存储服务器,并且存储设备826可以对应于图2的NAND卡261。处理器/控制器822或存储设备826可以包括用于从与存储系统820分离的原始物理介质中获取文件的指令(通信模块830)。处理器/控制器822或存储设备826可以包括用于将所获得的文件作为只读副本存储在存储设备的物理介质上的指令(数据写入模块832)。处理器/控制器822或存储设备826可以包括用于由存储设备基于ECC对副本进行解码以获得ECC解码数据的指令(ECC解码模块838)。处理器/控制器822或存储设备826可以包括指令,用于响应于检测到移动文件的条件(数据刷新模块836),以及更新文件名到新的物理块地址的映射(数据刷新模块836)。
数据840可以包括由本公开中描述的方法和/或过程中作为输入所需或作为输出生成的任何数据。具体地,数据840可以至少存储:请求;读取请求;写入请求;输入/输出(I/O)请求;与读取请求、写入请求或I/O请求关联的数据;纠错码(ECC);码字;奇偶校验位;ECC奇偶校验位;编码数据;ECC编码/解码数据;压缩数据;解压缩的数据;无错误数据;只读数据;副本;文件;文件格式;以太网交换机、NIC、PCIe交换机或通道、上行链路或下行链路的指示符;文件名;前同步码;文件标识符;文件内容;后同步码;CRC签名;验证信息;LBA;PBA;原始数据源的指示符;以及移动或刷新数据条件的指示符。
图9示出了根据本申请的实施例的便于存储设备中的数据访问的示例性装置900。装置900可以包括可以经由有线、无线、量子光或电通信信道彼此通信的多个单元或设备。装置900可以使用一个或多个集成电路来实现,并且可以包括比图9中示出的装置更少或更多的单元或装置。此外,装置900可以被集成在计算机系统中,或者被实现为能够与其他计算机系统和/或设备通信的单独的设备。具体地,设备900可以包括单元902-912,其执行类似于图8的存储系统800的模块830-836的功能或操作,包括:通信单元902;数据写入单元904;数据读取单元906;数据刷新单元908;ECC解码单元910;存储管理单元912(可以处理检测条件以刷新数据并将文件从当前PBA移动到新的PBA)。
在该详细描述中描述的数据结构和代码通常存储在计算机可读存储介质上,该计算机可读存储介质可以是可以存储代码和/或数据以供计算机系统使用的任何设备或介质。所述计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁和光存储设备(例如磁盘驱动器,磁带,CD(压缩光盘),DVD(数字多功能光盘或数字视频光盘)或其他现在已知的或以后发展的能够存储计算机可读介质的介质)。
在详细描述部分中描述的方法和过程可以被体现为代码和/或数据,其可以被存储在如上所述的计算机可读存储介质中。当计算机系统读取并执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行体现为数据结构和代码并存储在计算机可读存储介质内的方法和过程。
此外,上述方法和过程可以包括在硬件模块中。例如,硬件模块可以包括但不限于专用集成电路(ASIC)芯片,现场可编程门阵列(FPGA)以及现在已知或以后开发的其他可编程逻辑设备。激活硬件模块后,硬件模块将执行硬件中包含在硬件模块中的方法和过程。
仅出于说明和描述的目的给出了本文描述的前述实施例。它们并不旨在穷举或将本文描述的实施例限制为所公开的形式。因此,许多修改和变化对于本领域技术人员将是显而易见的。另外,以上公开内容并非旨在限制本文描述的实施例。本文描述的实施例的范围由所附权利要求书限定。
Claims (20)
1.一种计算机实现的用于在存储设备中便于数据访问方法,该方法包括:
由存储设备接收读取存储在该存储设备的物理介质上的文件的请求;和
由所述存储设备根据纠错码(ECC)对所述文件进行解码,得到ECC解码的数据;
其中,所述ECC解码的数据随后被与所述存储设备关联的计算设备解压缩,并作为请求的文件返回。
2.根据权利要求1所述的方法,其中,基于第一协议从请求实体接收读取文件的请求,其中,在所述计算设备对所述ECC解码的数据进行解压缩之后,该方法还包括:
将所述解压缩的数据作为请求的文件返回至所述请求实体,而不执行任何ECC编码。
3.根据权利要求1所述的方法,其中解压缩所述ECC解码的数据由所述计算设备的并行解压缩引擎执行。
4.如权利要求1所述的方法,其特征在于,所述读取文件的请求由所述计算设备接收并由所述计算设备通过一系统发送到存储设备,该系统包括以下至少一个:
第一以太网交换机和第二以太网交换机;
第一智能网络接口卡(NIC)和第二智能网络接口卡(NIC);和
多个外围高速互连(PCIe)交换机;
其中,第一智能NIC和第二智能NIC的每一个均包括简单存储节点,包括:
到第一以太网交换机和第二以太网的上行链路;
经由多个PCIe通道到多个PCIe交换机的下行链路,所述多个PCIe通道用于连接到所述存储设备和多个其他存储设备。
5.如权利要求4所述的方法,其特征在于,还通过第二计算设备接收所述读取文件的请求,并且还被所述第二计算设备经由所述系统传输到所述存储设备;
该第二计算设备是所述计算设备的备用或高可用性服务器。
6.根据权利要求1所述的方法,还包括:
通过所述计算设备存储由所述文件的文件名到与所述存储设备关联的当前物理块地址的映射;
响应于检测到将所述文件从所述当前物理块地址移动到与所述存储设备相关联的新物理块地址的条件,更新所述文件的文件名到所述新物理块地址的映射。
7.根据权利要求1所述的方法,还包括:
通过所述存储设备从与所述存储设备分离的原始物理介质中获取所述文件;
其中,所述文件包括先前基于纠错码(ECC)进行编码的压缩数据;
将获取的文件作为只读副本存储在所述存储设备的物理介质上。
8.根据权利要求1所述的方法,其中,存储在所述存储设备的文件格式包括如下的一个或多个:
表示与文件相关联的起始位置的前同步码;
文件的唯一文件标识符;
文件的内容;
表示与文件相关联的结束位置的后同步码;
和
用于验证文件内容的一致性的循环冗余校验(CRC)签名。
9.根据权利要求1所述的方法,其中所述第一存储设备不包括:
执行ECC编码的模块或单元;
动态随机存取存储器(DRAM)接口和通过所述DRAM接口访问的DRAM模块;和
执行闪存转换层(FTL)功能的处理器,所述功能包括将逻辑块地址映射到物理块地址。
10.一种用于便于在系统中数据访问的计算机系统,所述系统包括:
处理器;和
存储器,所述存储器连接到所述处理器并存储有指令,该指令在由所述处理器执行时使处理器执行一方法,其中,所述计算机系统包括存储设备,该方法包括:
由存储设备接收读取存储在该存储设备的物理介质上的文件的请求;和
由所述存储设备根据纠错码(ECC)对所述文件进行解码,得到ECC解码的数据,
其中,所述ECC解码的数据随后被与所述存储设备关联的计算设备解压缩,并作为请求的文件返回。
11.根据权利要求10所述的计算机系统,其中,基于第一协议从请求实体接收读取文件的请求,其中,在所述计算设备对所述ECC解码的数据进行解压缩之后,该方法还包括:
将所述解压缩的数据作为请求的文件返回至所述请求实体,而不执行任何ECC编码。
12.根据权利要求10所述的计算机系统,其中解压缩所述ECC解码的数据由所述计算设备的并行解压缩引擎执行。
13.根据权利要求10所述的计算机系统,其中,所述读取文件的请求由所述计算设备接收并由所述计算设备通过一系统发送到存储设备,该系统包括以下至少一个:
第一以太网交换机和第二以太网交换机;
第一智能网络接口卡(NIC)和第二智能网络接口卡(NIC);和
多个外围高速互连(PCIe)交换机,
其中,第一智能NIC和第二智能NIC的每一个均包括简单存储节点,包括:
到第一以太网交换机和第二以太网的上行链路;
经由多个PCIe通道到多个PCIe交换机的下行链路,所述多个PCIe通道用于连接到所述存储设备和多个其他存储设备。
14.根据权利要求13所述的计算机系统,其中,还通过第二计算设备接收所述读取文件的请求,并且还被所述第二计算设备经由所述系统传输到所述存储设备;
该第二计算设备是所述计算设备的备用或高可用性服务器。
15.根据权利要求10所述的计算机系统,其中,所述方法还包括:
通过所述计算设备存储由所述文件的文件名到与所述存储设备关联的当前物理块地址的映射;
响应于检测到将所述文件从所述当前物理块地址移动到与所述存储设备相关联的新物理块地址的条件,更新所述文件的文件名到所述新物理块地址的映射。
16.根据权利要求10所述的计算机系统,其中,所述方法还包括:
通过所述存储设备从与所述存储设备分离的原始物理介质中获取所述文件;
其中,所述文件包括先前基于纠错码(ECC)进行编码的压缩数据;
将获取的文件作为只读副本存储在所述存储设备的物理介质上。
17.根据权利要求10所述的计算机系统,其中,
存储在所述存储设备的文件格式包括如下的一个或多个:
表示与文件相关联的起始位置的前同步码;
文件的唯一文件标识符;
文件的内容;
表示与文件相关联的结束位置的后同步码;
和
用于验证文件内容的一致性的循环冗余校验(CRC)签名。
18.根据权利要求10所述的计算机系统,其中,其中所述第一存储设备不包括:
执行ECC编码的模块或单元;
动态随机存取存储器(DRAM)接口和通过所述DRAM接口访问的DRAM模块;和
执行闪存转换层(FTL)功能的处理器,所述功能包括将逻辑块地址映射到物理块地址。
19.一种分布式存储系统,用于通过一个或更多个客户端便于一个或更多个大数据分析应用,所述分布式存储系统包括:
前端头服务器;
交换机;和
多个与所述交换机相连的NAND卡;
其中,一NAND卡被配置为:
通过所述交换机接收读取存储在所述NAND卡上的文件的请求;和
由NAND卡基于纠错码(ECC)进行对文件解码,以获得ECC解码数据,和
其中,所述前端头服务器被配置为对解码的数据进行解压缩,并将解压缩的数据作为请求的文件返回。
20.根据权利要求19所述的分布式存储系统,
其中,所述前端头服务器被配置为接收读取文件的请求,其中,所述NAND卡还配置为:
从与所述NAND卡分离的原始物理介质获取所述文件,其中文件包括先前基于纠错码(ECC)被编码的压缩数据;和
将所述ECC解码的数据返回到前端头服务器,而无需执行任何ECC编码;和
其中,所述NAND卡不包括:
执行ECC编码的模块或单元;
动态随机存取存储器(DRAM)接口和通过DRAM接口访问的DRAM模块;和
执行闪存转换层(FTL)功能的处理器,所述功能包括将逻辑块地址映射到物理块地址,
从而通过减少ECC编码的数量来便于大数据分析应用有效地分析数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/519,972 US11074124B2 (en) | 2019-07-23 | 2019-07-23 | Method and system for enhancing throughput of big data analysis in a NAND-based read source storage |
US16/519,972 | 2019-07-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112286714A true CN112286714A (zh) | 2021-01-29 |
Family
ID=74190326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010704686.8A Pending CN112286714A (zh) | 2019-07-23 | 2020-07-21 | 在基于nand的读取源存储中提高大数据分析吞吐量的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11074124B2 (zh) |
CN (1) | CN112286714A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11671483B2 (en) * | 2019-10-30 | 2023-06-06 | Telefonaktiebolaget Lm Ericsson (Publ) | In-band protocol-based in-network computation offload framework |
US11392295B2 (en) * | 2020-05-27 | 2022-07-19 | EMC IP Holding Company LLC | Front-end offload of storage system processing |
TWI738627B (zh) * | 2021-03-12 | 2021-09-01 | 英業達股份有限公司 | 具有錯誤偵測功能的智能網卡系統及錯誤偵測方法 |
US11245762B1 (en) * | 2021-05-19 | 2022-02-08 | Red Hat, Inc. | Data request servicing using smart network interface cards |
US11671350B1 (en) * | 2022-08-15 | 2023-06-06 | Red Hat, Inc. | Data request servicing using multiple paths of smart network interface cards |
Family Cites Families (157)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3893071A (en) | 1974-08-19 | 1975-07-01 | Ibm | Multi level error correction system for high density memory |
NL8402411A (nl) | 1984-08-02 | 1986-03-03 | Philips Nv | Inrichting voor het korrigeren en maskeren van fouten in een informatiestroom, en weergeeftoestel voor het weergeven van beeld en/of geluid voorzien van zo een inrichting. |
WO1994018634A1 (en) | 1993-02-01 | 1994-08-18 | Lsc, Inc. | Archiving file system for data servers in a distributed network environment |
US5394382A (en) | 1993-02-11 | 1995-02-28 | International Business Machines Corporation | Method for the organization of data on a CD-ROM |
JP3215237B2 (ja) | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
US5732093A (en) | 1996-02-08 | 1998-03-24 | United Microelectronics Corporation | Error correction method and apparatus on optical disc system |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US6098185A (en) | 1997-10-31 | 2000-08-01 | Stmicroelectronics, N.V. | Header-formatted defective sector management system |
US7200623B2 (en) | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US6421787B1 (en) | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
US6457104B1 (en) | 2000-03-20 | 2002-09-24 | International Business Machines Corporation | System and method for recycling stale memory content in compressed memory systems |
US6658478B1 (en) | 2000-08-04 | 2003-12-02 | 3Pardata, Inc. | Data storage system |
KR100856399B1 (ko) | 2002-01-23 | 2008-09-04 | 삼성전자주식회사 | 디코딩 방법 및 그 장치 |
US6988165B2 (en) | 2002-05-20 | 2006-01-17 | Pervasive Software, Inc. | System and method for intelligent write management of disk pages in cache checkpoint operations |
US7953899B1 (en) | 2002-08-21 | 2011-05-31 | 3Par Inc. | Universal diagnostic hardware space access system for firmware |
US7239605B2 (en) | 2002-09-23 | 2007-07-03 | Sun Microsystems, Inc. | Item and method for performing a cluster topology self-healing process in a distributed data system cluster |
US7003620B2 (en) | 2002-11-26 | 2006-02-21 | M-Systems Flash Disk Pioneers Ltd. | Appliance, including a flash memory, that is robust under power failure |
US7130957B2 (en) | 2004-02-10 | 2006-10-31 | Sun Microsystems, Inc. | Storage system structure for storing relational cache metadata |
US7676603B2 (en) | 2004-04-20 | 2010-03-09 | Intel Corporation | Write combining protocol between processors and chipsets |
JP4401895B2 (ja) | 2004-08-09 | 2010-01-20 | 株式会社日立製作所 | 計算機システム、計算機及びそのプログラム。 |
DE102005032061B4 (de) | 2005-07-08 | 2009-07-30 | Qimonda Ag | Speichermodul, und Speichermodul-System |
US7752382B2 (en) | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
JP2007305210A (ja) | 2006-05-10 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
US7711890B2 (en) | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
US20080065805A1 (en) | 2006-09-11 | 2008-03-13 | Cameo Communications, Inc. | PCI-Express multimode expansion card and communication device having the same |
JP2008077810A (ja) | 2006-09-25 | 2008-04-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
US7761623B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies |
KR100858241B1 (ko) | 2006-10-25 | 2008-09-12 | 삼성전자주식회사 | 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법 |
US8344475B2 (en) | 2006-11-29 | 2013-01-01 | Rambus Inc. | Integrated circuit heating to effect in-situ annealing |
US7958433B1 (en) | 2006-11-30 | 2011-06-07 | Marvell International Ltd. | Methods and systems for storing data in memory using zoning |
US7852654B2 (en) | 2006-12-28 | 2010-12-14 | Hynix Semiconductor Inc. | Semiconductor memory device, and multi-chip package and method of operating the same |
US7599139B1 (en) | 2007-06-22 | 2009-10-06 | Western Digital Technologies, Inc. | Disk drive having a high performance access mode and a lower performance archive mode |
US7917574B2 (en) | 2007-10-01 | 2011-03-29 | Accenture Global Services Limited | Infrastructure for parallel programming of clusters of machines |
US8281061B2 (en) | 2008-03-31 | 2012-10-02 | Micron Technology, Inc. | Data conditioning to improve flash memory reliability |
WO2009140700A1 (en) | 2008-05-16 | 2009-11-19 | Fusion Multisystems, Inc. | Apparatus, system, and method for detecting and replacing failed data storage |
KR101497074B1 (ko) | 2008-06-17 | 2015-03-05 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US9123422B2 (en) | 2012-07-02 | 2015-09-01 | Super Talent Technology, Corp. | Endurance and retention flash controller with programmable binary-levels-per-cell bits identifying pages or blocks as having triple, multi, or single-level flash-memory cells |
JP2010152704A (ja) | 2008-12-25 | 2010-07-08 | Hitachi Ltd | 計算機システムの運用管理システム及び管理方法 |
US20100217952A1 (en) | 2009-02-26 | 2010-08-26 | Iyer Rahul N | Remapping of Data Addresses for a Large Capacity Victim Cache |
US8166233B2 (en) | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US20100332922A1 (en) | 2009-06-30 | 2010-12-30 | Mediatek Inc. | Method for managing device and solid state disk drive utilizing the same |
US20110055471A1 (en) | 2009-08-28 | 2011-03-03 | Jonathan Thatcher | Apparatus, system, and method for improved data deduplication |
US8214700B2 (en) | 2009-10-28 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US8144512B2 (en) | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
US8631304B2 (en) | 2010-01-28 | 2014-01-14 | Sandisk Il Ltd. | Overlapping error correction operations |
TWI409633B (zh) | 2010-02-04 | 2013-09-21 | Phison Electronics Corp | 快閃記憶體儲存裝置、其控制器與資料寫入方法 |
US9401967B2 (en) | 2010-06-09 | 2016-07-26 | Brocade Communications Systems, Inc. | Inline wire speed deduplication system |
US8938624B2 (en) | 2010-09-15 | 2015-01-20 | Lsi Corporation | Encryption key destruction for secure data erasure |
US20120089774A1 (en) | 2010-10-12 | 2012-04-12 | International Business Machines Corporation | Method and system for mitigating adjacent track erasure in hard disk drives |
US8429495B2 (en) | 2010-10-19 | 2013-04-23 | Mosaid Technologies Incorporated | Error detection and correction codes for channels and memories with incomplete error characteristics |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US9176794B2 (en) | 2010-12-13 | 2015-11-03 | Advanced Micro Devices, Inc. | Graphics compute process scheduling |
US8793328B2 (en) | 2010-12-17 | 2014-07-29 | Facebook, Inc. | Distributed storage system |
US8819328B2 (en) | 2010-12-30 | 2014-08-26 | Sandisk Technologies Inc. | Controller and method for performing background operations |
US9612978B2 (en) | 2010-12-31 | 2017-04-04 | International Business Machines Corporation | Encrypted flash-based data storage system with confidentiality mode |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
CN102693168B (zh) | 2011-03-22 | 2014-12-31 | 中兴通讯股份有限公司 | 一种数据备份恢复的方法、系统和服务节点 |
US20180107591A1 (en) | 2011-04-06 | 2018-04-19 | P4tents1, LLC | System, method and computer program product for fetching data between an execution of a plurality of threads |
US8832402B2 (en) | 2011-04-29 | 2014-09-09 | Seagate Technology Llc | Self-initiated secure erasure responsive to an unauthorized power down event |
US8949568B2 (en) | 2011-05-24 | 2015-02-03 | Agency For Science, Technology And Research | Memory storage device, and a related zone-based block management and mapping method |
US9344494B2 (en) | 2011-08-30 | 2016-05-17 | Oracle International Corporation | Failover data replication with colocation of session state data |
US8904158B2 (en) | 2011-09-02 | 2014-12-02 | Lsi Corporation | Storage system with boot appliance for improving reliability/availability/serviceability in high density server environments |
US8843451B2 (en) | 2011-09-23 | 2014-09-23 | International Business Machines Corporation | Block level backup and restore |
KR20130064518A (ko) | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US8904061B1 (en) | 2011-12-30 | 2014-12-02 | Emc Corporation | Managing storage operations in a server cache |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9362003B2 (en) | 2012-03-09 | 2016-06-07 | Sandisk Technologies Inc. | System and method to decode data subject to a disturb condition |
US9336340B1 (en) | 2012-03-30 | 2016-05-10 | Emc Corporation | Evaluating management operations |
US9208820B2 (en) | 2012-06-29 | 2015-12-08 | International Business Machines Corporation | Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems |
US20140019650A1 (en) | 2012-07-10 | 2014-01-16 | Zhi Bin Li | Multi-Write Bit-Fill FIFO |
US9009402B2 (en) | 2012-09-20 | 2015-04-14 | Emc Corporation | Content addressable storage in legacy systems |
US9141554B1 (en) | 2013-01-18 | 2015-09-22 | Cisco Technology, Inc. | Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques |
US9280472B1 (en) | 2013-03-13 | 2016-03-08 | Western Digital Technologies, Inc. | Caching data in a high performance zone of a data storage system |
US8751763B1 (en) | 2013-03-13 | 2014-06-10 | Nimbus Data Systems, Inc. | Low-overhead deduplication within a block-based data storage |
US9747202B1 (en) | 2013-03-14 | 2017-08-29 | Sandisk Technologies Llc | Storage module and method for identifying hot and cold data |
US9195673B2 (en) | 2013-03-15 | 2015-11-24 | International Business Machines Corporation | Scalable graph modeling of metadata for deduplicated storage systems |
US9436595B1 (en) | 2013-03-15 | 2016-09-06 | Google Inc. | Use of application data and garbage-collected data to improve write efficiency of a data storage device |
US20140304452A1 (en) | 2013-04-03 | 2014-10-09 | Violin Memory Inc. | Method for increasing storage media performance |
KR101478168B1 (ko) | 2013-04-17 | 2014-12-31 | 주식회사 디에이아이오 | 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법 |
US9093093B2 (en) | 2013-10-25 | 2015-07-28 | Seagate Technology Llc | Adaptive guard band for multiple heads of a data storage device |
CA2881206A1 (en) | 2014-02-07 | 2015-08-07 | Andrew WARFIELD | Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices |
US9542404B2 (en) | 2014-02-17 | 2017-01-10 | Netapp, Inc. | Subpartitioning of a namespace region |
US20150301964A1 (en) | 2014-02-18 | 2015-10-22 | Alistair Mark Brinicombe | Methods and systems of multi-memory, control and data plane architecture |
US9263088B2 (en) | 2014-03-21 | 2016-02-16 | Western Digital Technologies, Inc. | Data management for a data storage device using a last resort zone |
US9880859B2 (en) | 2014-03-26 | 2018-01-30 | Intel Corporation | Boot image discovery and delivery |
US9383926B2 (en) | 2014-05-27 | 2016-07-05 | Kabushiki Kaisha Toshiba | Host-controlled garbage collection |
US9015561B1 (en) | 2014-06-11 | 2015-04-21 | Sandisk Technologies Inc. | Adaptive redundancy in three dimensional memory |
GB2527296A (en) | 2014-06-16 | 2015-12-23 | Ibm | A method for restoring data in a HSM system |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US10044795B2 (en) | 2014-07-11 | 2018-08-07 | Vmware Inc. | Methods and apparatus for rack deployments for virtual computing environments |
US9542327B2 (en) | 2014-07-22 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Selective mirroring in caches for logical volumes |
US20160041760A1 (en) | 2014-08-08 | 2016-02-11 | International Business Machines Corporation | Multi-Level Cell Flash Memory Control Mechanisms |
US10430328B2 (en) | 2014-09-16 | 2019-10-01 | Sandisk Technologies Llc | Non-volatile cache and non-volatile storage medium using single bit and multi bit flash memory cells or different programming parameters |
US10127157B2 (en) | 2014-10-06 | 2018-11-13 | SK Hynix Inc. | Sizing a cache while taking into account a total bytes written requirement |
US9129628B1 (en) | 2014-10-23 | 2015-09-08 | Western Digital Technologies, Inc. | Data management for data storage device with different track density regions |
CN105701028B (zh) | 2014-11-28 | 2018-10-09 | 国际商业机器公司 | 分布式存储系统中的磁盘管理方法和设备 |
US9852076B1 (en) | 2014-12-18 | 2017-12-26 | Violin Systems Llc | Caching of metadata for deduplicated LUNs |
US10013169B2 (en) | 2014-12-19 | 2018-07-03 | International Business Machines Corporation | Cooperative data deduplication in a solid state storage array |
US20160179399A1 (en) | 2014-12-23 | 2016-06-23 | Sandisk Technologies Inc. | System and Method for Selecting Blocks for Garbage Collection Based on Block Health |
US10282211B2 (en) | 2015-01-09 | 2019-05-07 | Avago Technologies International Sales Pte. Limited | Operating system software install and boot up from a storage area network device |
US9916275B2 (en) | 2015-03-09 | 2018-03-13 | International Business Machines Corporation | Preventing input/output (I/O) traffic overloading of an interconnect channel in a distributed data storage system |
KR101927233B1 (ko) | 2015-03-16 | 2018-12-12 | 한국전자통신연구원 | 이기종 멀티-코어 시스템의 gpu 전력 측정 방법 |
US9639282B2 (en) | 2015-05-20 | 2017-05-02 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices |
US10069916B2 (en) | 2015-05-26 | 2018-09-04 | Gluent, Inc. | System and method for transparent context aware filtering of data requests |
US9875053B2 (en) | 2015-06-05 | 2018-01-23 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
US9696931B2 (en) | 2015-06-12 | 2017-07-04 | International Business Machines Corporation | Region-based storage for volume data and metadata |
US9588571B2 (en) | 2015-07-08 | 2017-03-07 | Quanta Computer Inc. | Dynamic power supply management |
US9529601B1 (en) | 2015-07-15 | 2016-12-27 | Dell Products L.P. | Multi-processor startup system |
WO2017039702A1 (en) | 2015-09-04 | 2017-03-09 | Hewlett Packard Enterprise Development Lp | Secure login information |
US10120573B2 (en) | 2015-09-14 | 2018-11-06 | Microsoft Technology Licensing, Llc. | Modular sequential writing of data to data storage devices |
CN105278876B (zh) | 2015-09-23 | 2018-12-14 | 华为技术有限公司 | 一种固态硬盘的数据擦除方法及装置 |
US10120811B2 (en) | 2015-09-29 | 2018-11-06 | International Business Machines Corporation | Considering a frequency of access to groups of tracks and density of the groups to select groups of tracks to destage |
US10031774B2 (en) | 2015-10-15 | 2018-07-24 | Red Hat, Inc. | Scheduling multi-phase computing jobs |
US20170147499A1 (en) | 2015-11-25 | 2017-05-25 | Sandisk Technologies Llc | Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device |
US20170161202A1 (en) | 2015-12-02 | 2017-06-08 | Samsung Electronics Co., Ltd. | Flash memory device including address mapping for deduplication, and related methods |
US20170177259A1 (en) | 2015-12-18 | 2017-06-22 | Intel Corporation | Techniques to Use Open Bit Line Information for a Memory System |
JP6517684B2 (ja) | 2015-12-22 | 2019-05-22 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
CN107037976B (zh) | 2016-02-03 | 2020-03-20 | 株式会社东芝 | 存储装置及其工作方法 |
US10235198B2 (en) | 2016-02-24 | 2019-03-19 | Samsung Electronics Co., Ltd. | VM-aware FTL design for SR-IOV NVME SSD |
US20170249162A1 (en) | 2016-02-25 | 2017-08-31 | Red Hat Israel, Ltd. | Safe transmit packet processing for network function virtualization applications |
US10452490B2 (en) | 2016-03-09 | 2019-10-22 | Commvault Systems, Inc. | Data management and backup of distributed storage environment |
US10700702B2 (en) * | 2016-03-24 | 2020-06-30 | International Business Machines Corporation | Updating prefix codes for pseudo-dynamic data compression |
US10585809B2 (en) | 2016-04-01 | 2020-03-10 | Intel Corporation | Convolutional memory integrity |
US10866905B2 (en) | 2016-05-25 | 2020-12-15 | Samsung Electronics Co., Ltd. | Access parameter based multi-stream storage device access |
US10684795B2 (en) | 2016-07-25 | 2020-06-16 | Toshiba Memory Corporation | Storage device and storage control method |
US10157677B2 (en) | 2016-07-28 | 2018-12-18 | Ip Gem Group, Llc | Background reference positioning and local reference positioning using threshold voltage shift read |
JP6606039B2 (ja) * | 2016-09-09 | 2019-11-13 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10275165B2 (en) * | 2016-09-12 | 2019-04-30 | Toshiba Memory Corporation | Memory controller |
US11644992B2 (en) | 2016-11-23 | 2023-05-09 | Samsung Electronics Co., Ltd. | Storage system performing data deduplication, method of operating storage system, and method of operating data processing system |
US10445016B2 (en) * | 2016-12-13 | 2019-10-15 | International Business Machines Corporation | Techniques for storage command processing |
US10374885B2 (en) | 2016-12-13 | 2019-08-06 | Amazon Technologies, Inc. | Reconfigurable server including a reconfigurable adapter device |
US10516760B2 (en) | 2017-03-17 | 2019-12-24 | Verizon Patent And Licensing Inc. | Automatic bootstrapping and dynamic configuration of data center nodes |
US10275170B2 (en) | 2017-04-10 | 2019-04-30 | Sandisk Technologies Llc | Folding operations in memory systems with single address updates |
US10613944B2 (en) | 2017-04-18 | 2020-04-07 | Netapp, Inc. | Systems and methods for backup and restore of distributed master-slave database clusters |
US10474397B2 (en) | 2017-06-13 | 2019-11-12 | Western Digital Technologies, Inc | Unified indirection in a multi-device hybrid storage unit |
US10521375B2 (en) | 2017-06-22 | 2019-12-31 | Macronix International Co., Ltd. | Controller for a memory system |
US10275162B2 (en) | 2017-06-23 | 2019-04-30 | Dell Products L.P. | Methods and systems for managing data migration in solid state non-volatile memory |
US10838902B2 (en) | 2017-06-23 | 2020-11-17 | Facebook, Inc. | Apparatus, system, and method for performing hardware acceleration via expansion cards |
US10642522B2 (en) | 2017-09-15 | 2020-05-05 | Alibaba Group Holding Limited | Method and system for in-line deduplication in a storage drive based on a non-collision hash |
US10956279B2 (en) | 2017-12-04 | 2021-03-23 | International Business Machines Corporation | Managing big data on document based NoSQL databases |
US10229735B1 (en) | 2017-12-22 | 2019-03-12 | Intel Corporation | Block management for dynamic single-level cell buffers in storage devices |
US10606693B2 (en) | 2017-12-28 | 2020-03-31 | Micron Technology, Inc. | Memory controller implemented error correction code memory |
CN110058794B (zh) | 2018-01-19 | 2022-11-01 | 上海宝存信息科技有限公司 | 用于动态执行垃圾回收数据储存装置与操作方法 |
US10199066B1 (en) | 2018-03-01 | 2019-02-05 | Seagate Technology Llc | Write management of physically coupled storage areas |
US10585819B2 (en) | 2018-03-05 | 2020-03-10 | Samsung Electronics Co., Ltd. | SSD architecture for FPGA based acceleration |
US10649657B2 (en) | 2018-03-22 | 2020-05-12 | Western Digital Technologies, Inc. | Log-based storage for different data types in non-volatile memory |
US11138026B2 (en) | 2018-05-04 | 2021-10-05 | Citrix Systems, Inc. | Systems and methods for remote computing session display based upon user input event prioritization |
US10437670B1 (en) | 2018-05-24 | 2019-10-08 | International Business Machines Corporation | Metadata hardening and parity accumulation for log-structured arrays |
KR20190139082A (ko) | 2018-06-07 | 2019-12-17 | 삼성전자주식회사 | 메모리 장치의 비트 에러율 균등화 방법 |
US11599557B2 (en) | 2018-06-12 | 2023-03-07 | Open Text Corporation | System and method for persistence and replication of changes to a data store |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
US10776263B2 (en) | 2018-06-27 | 2020-09-15 | Seagate Technology Llc | Non-deterministic window scheduling for data storage systems |
US11150836B2 (en) | 2018-06-28 | 2021-10-19 | Seagate Technology Llc | Deterministic optimization via performance tracking in a data storage system |
US11086529B2 (en) | 2018-09-26 | 2021-08-10 | Western Digital Technologies, Inc. | Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery |
-
2019
- 2019-07-23 US US16/519,972 patent/US11074124B2/en active Active
-
2020
- 2020-07-21 CN CN202010704686.8A patent/CN112286714A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11074124B2 (en) | 2021-07-27 |
US20210026731A1 (en) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642522B2 (en) | Method and system for in-line deduplication in a storage drive based on a non-collision hash | |
CN112286714A (zh) | 在基于nand的读取源存储中提高大数据分析吞吐量的方法和系统 | |
US10860555B2 (en) | Method and apparatus for two tier data deduplication using weighted graphs | |
US10380014B2 (en) | Address translation for a non-volatile memory storage device | |
CN115114059B (zh) | 使用区来管理归因于存储装置故障的容量减小 | |
WO2014056381A1 (zh) | 数据冗余实现方法及装置 | |
US20210320592A1 (en) | Address Translation for Storage Device | |
US20210278998A1 (en) | Architecture and design of a storage device controller for hyperscale infrastructure | |
US11200159B2 (en) | System and method for facilitating efficient utilization of NAND flash memory | |
KR20180052739A (ko) | 고체 상태 드라이브 컨트롤러를 사용한 데이터 중복 제거 | |
US11494115B2 (en) | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) | |
CN110795497A (zh) | 分布式存储系统中的协同压缩 | |
US11656942B2 (en) | Methods for data writing and for data recovery, electronic devices, and program products | |
US11520500B2 (en) | Managing capacity reduction when downshifting multi-level memory cells | |
US20200089784A1 (en) | Method and system for reduced data movement compression using in-storage computing and a customized file system | |
US11385833B2 (en) | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources | |
CN115114055B (zh) | 管理归因于存储装置故障的容量减小和恢复 | |
US10387252B2 (en) | Synchronously storing data in a plurality of dispersed storage networks | |
US11487465B2 (en) | Method and system for a local storage engine collaborating with a solid state drive controller | |
US20180365261A1 (en) | Fingerprinting data for more aggressive de-duplication | |
US11061834B2 (en) | Method and system for facilitating an improved storage system by decoupling the controller from the storage medium | |
US11243890B2 (en) | Compressed data verification | |
CN115114054A (zh) | 管理发生故障的多层级存储器单元的存储空间减小和再用 | |
US20170371741A1 (en) | Technologies for providing file-based resiliency | |
US11476874B1 (en) | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
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 |