CN109388336A - 从主机客户端向网络存储装置传送数据的网络存储装置和方法 - Google Patents
从主机客户端向网络存储装置传送数据的网络存储装置和方法 Download PDFInfo
- Publication number
- CN109388336A CN109388336A CN201710799341.3A CN201710799341A CN109388336A CN 109388336 A CN109388336 A CN 109388336A CN 201710799341 A CN201710799341 A CN 201710799341A CN 109388336 A CN109388336 A CN 109388336A
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- network
- interface adapter
- network interface
- 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.)
- Withdrawn
Links
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/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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Bus Control (AREA)
Abstract
一种网络存储装置包括固态磁盘、被通信地耦合到固态磁盘和主机客户端的网络接口适配器、被通信地耦合到固态磁盘和网络接口适配器的非易失性半导体存储器设备以及被通信地耦合到非易失性半导体存储器设备和网络接口适配器的CPU。非易失性半导体存储器设备可以经由网络接口适配器从主机客户端接收数据、暂时存储数据并且将数据传送至固态磁盘中的一个。CPU可以经由网络接口适配器从主机客户端接收写入请求、确定非易失性半导体存储器设备是否可用于存储数据、如果非易失性半导体存储器设备可用于存储数据则启动网络接口适配器以执行从主机客户端向非易失性半导体存储器设备的数据的传送并且如果非易失性半导体存储器设备不可用于存储数据则启动网络接口适配器来向一个或多个外部存储装置广播查询。
Description
相关申请
本申请是基于并且要求于2017年8月3日提交的美国非临时专利申请15/668,314的优先权的权益;其整个内容通过引用被并入本文。
技术领域
本公开涉及将数据从主机客户端传送至网络存储装置的网络存储装置和方法。
背景技术
针对写入命令的低延迟是高性能计算(HPC)中的并且特别是存储网络中的重要特征。其重要性的示例是存储器数据库(IMDB)的增长的领域。诸如CPU和存储器之类的计算资源的增加使得整个数据库能够被加载到存储器中并且通过CPU对它进行处理。这使得能够进行大数据集的快速存储器处理。然而,收入交易必须是永久的,并因此必须被写入永久性介质。因为处理停止直到这样的交易被确认,所以其变为整个处理的瓶颈。
引入具有快PCIe(快速外围组件接口)接口和高效的存储堆栈的NVMeTM(“快速非易失性存储器”)设备已减少对永久性介质的存取时间。此外,已包含远程直接存储器存取(RDMA)网络接口控制器(NIC)用于提供非常快(微秒单个数字)的数据传送。引入通过结构标准的NVMeTM使得其中主机客户端可以经由低延迟网络结构来存取NVMeTM磁盘的环境能够可行。每个主机客户端和存储装置具有使结构中的每个元件之间的低延迟传送能够进行的RDMA NIC。然而,依然存在对在高性能存储网络中高效管理和实现NVMeTM设备的长期需要。
发明内容
本公开实现了将数据从主机客户端传送至具有高性能的网络存储装置的网络存储装置和方法。
本公开涉及网络存储装置,其包括固态磁盘、通信地耦合到固态磁盘和主机客户端的网络接口适配器、通信地耦合到固态磁盘和网络接口适配器的非易失性半导体存储器设备以及通信地耦合到非易失性半导体存储器设备和网络接口适配器的CPU。网络接口适配器可以从主机客户端取回数据并且将数据从主机客户端传送至固态磁盘。非易失性半导体存储器设备可以经由网络接口适配器接收来自主机客户端的数据、暂时存储数据并且将数据传送至固态磁盘中的一个。CPU可以经由网络接口适配器接收来自主机客户端的写入请求并且确定非易失性半导体存储器设备是否可用于存储数据。在确定非易失性半导体存储器设备可用于存储数据的情况下,CPU可以启动网络接口适配器以执行经由网络接口适配器的从主机客户端向非易失性半导体存储器设备的数据的传送。在确定非易失性半导体存储器设备不可用于存储数据的情况下,CPU可以启动网络接口适配器以经由网络接口适配器向一个或多个外部存储装置广播查询。另外,CPU可以经由网络接口适配器向主机客户端发送指示数据已被存储在非易失性半导体存储器设备中的确认状态。
根据一个实施方式,非易失性半导体存储器设备可以包括电阻式随机存取存储器、磁阻式随机存取存储器、纳米随机存取存储器和电池支持的动态随机存取存储器中的一个。
在一些实施方式中,网络存储装置可以包括通信地耦合到固态磁盘和网络接口适配器的易失性存储器设备。易失性存储器设备可以在确定非易失性半导体存储器设备不可用于存储数据的情况下,经由网络接口适配器接收来自一个或多个外部存储装置的数据。一个或多个外部存储装置可以对应于一个或多个第二网络存储装置。易失性存储器设备可以包括动态随机存取存储器(DRAM)。
在其它实施方式中,易失性半导体存储器设备可以暂时存储数据并且将数据传送至固态磁盘中的一个。
在某些实施方式中,CPU可以经由网络接口适配器接收来自一个或多个外部存储装置中的第一外部存储装置的对查询的响应。对查询的响应可以指示第一外部存储装置可用于存储数据。CPU可以经由网络接口适配器向第一外部存储装置发送第二写入请求。一个或多个外部存储装置可以是在存储网络中的许多网络存储装置中的一个或多个。
根据一个实施方式,第二写入请求可以启动第一外部存储装置以开始从主机客户端向第一外部存储装置的数据的传送。
在一些实施方式中,CPU可以经由网络接口适配器接收来自一个或多个外部存储装置的信号。该信号可以指示数据已被存储在一个或多个外部存储装置中。
在其它实施方式中,CPU可以经由网络接口适配器向主机客户端发送第二确认状态。第二确认状态可以指示数据已被存储在一个或多个外部存储装置中。
根据一些实施方式,网络接口适配器根据远程直接存储器存取(RDMA)协议运行。网络接口适配器可以连接到网络通信结构。根据一个实施方式,网络接口适配器独立于CPU来对非易失性半导体存储器设备进行存取。
在一些实施方式中,非易失性半导体存储器设备可以包括用于主机客户端的保留存储区域。非易失性半导体存储器设备可以进一步包括本地存储区域和远程存储区域。
在某些实施方式中,非易失性半导体存储器设备可以确定保留存储区域是否可用于存储数据。响应于确定保留存储区域可用于存储数据,非易失性半导体存储器设备可以从保留存储区域分配其中用于存储数据的空间。
在其它实施方式中,非易失性半导体存储器设备可以响应于确定保留存储区域不可用于存储数据,确定本地存储区域是否可用于存储数据。响应于确定本地存储区域可用于存储数据,非易失性半导体存储器设备可以从本地存储区域分配其中用于存储数据的空间。
根据一个实施方式,非易失性半导体存储器设备可以确定远程存储区域是否可用于存储数据。响应于确定远程存储区域可用于存储数据,非易失性半导体存储器设备可以从远程存储区域分配其中用于存储数据的空间。
在一些实施方式中,数据在大于0.1微秒且小于1微秒的时间段内从主机客户端被传送至目标网络存储装置的非易失性半导体存储器设备。
本公开的第二方面涉及一种将数据从主机客户端传送至网络存储装置的方法。该方法包括经由网络接口适配器将第一写入请求从主机客户端发送至目标网络存储装置。该方法还包括经由网络接口适配器将第二写入请求从目标网络存储装置发送至第二网络存储装置。该方法进一步包括经由网络接口适配器将与第一写入请求相关联的数据从主机客户端传送至第二网络存储装置的非易失性半导体存储器设备。进一步地,该方法包括经由网络接口适配器将指示数据已被存储在第二网络存储装置的非易失性半导体存储器设备中的信号从第二网络存储装置发送至目标网络存储装置。该方法还包括经由网络接口适配器将指示数据已被存储的确认状态从目标网络存储装置发送至主机客户端。进一步地,该方法包括经由网络接口适配器将数据从第二网络存储装置的非易失性半导体存储器设备传送至目标网络存储装置的易失性半导体存储器设备。该方法进一步包括将数据从目标网络存储装置的易失性半导体存储器设备传送至目标网络存储装置的固态磁盘。
根据一些实施方式,非易失性半导体存储器设备可以包括电阻式随机存取存储器、磁阻式随机存取存储器、纳米随机存取存储器和电池支持的动态随机存取存储器中的一个。
在一些实施方式中,易失性存储器设备可以包括动态随机存取存储器(DRAM)。
在其它实施方式中,网络接口适配器根据远程直接存储器存取(RDMA)协议运行。网络接口适配器可以连接到网络通信结构。根据一个实施方式,网络接口适配器独立于CPU来对非易失性半导体存储器设备进行存取。
根据一些实施方式,非易失性半导体存储器设备可以包括用于主机客户端的保留存储区域。非易失性半导体存储器设备可以进一步包括本地存储区域和远程存储区域。
在某些实施方式中,方法进一步包括确定保留存储区域是否可用于存储所述数据,并且,响应于确定保留存储区域可用于存储数据,从保留存储区域分配其中用于存储数据的空间。
在其它实施方式中,方法包括响应于确定保留存储区域不可用于存储数据,确定本地存储区域是否可用于存储数据,并且,响应于确定本地存储区域可用于存储数据,从本地存储区域分配其中用于存储数据的空间。
根据一些实施方式,方法进一步包括确定远程存储区域是否可用于存储数据,并且,响应于确定远程存储区域可用于存储数据,从远程存储区域分配其中用于存储数据的空间。
在某些实施方式中,方法进一步包括在大于0.1微秒且小于1微秒的时间段内将数据从主机客户端传送至目标网络存储装置的非易失性半导体存储器设备。
在某些实施方式中,第二网络存储装置可以是存储网络中的许多网络存储装置中的一个。
附图说明
前述和其它目标和优点根据以下详细描述的考虑,结合附图,将是显而易见的,其中,相似的附图标记自始至终表示相似的部分,并且其中:
图1示出了根据本公开的一个或多个实施例配置的具有非易失性存储器的NVMeTM存储装置的示意性表示。
图2是根据本公开的实施例的用于通过结构与非易失性存储器进行的NVMeTM中的写入命令的方法步骤的流程图;
图3示出了根据本公开的一个或多个实施例配置的NVMeTM存储装置和第二NVMeTM存储装置的示意性表示;
图4是根据本公开的实施例的用于通过结构与第二NVMeTM存储装置进行的NVMeTM中的写入命令的方法步骤的流程图;
图5示出了根据本公开的一个或多个实施例配置的具有非易失性存储器层和NVMeTM层的NVMeTM存储装置的示意性表示;
图6示出了根据本公开的一个或多个实施例配置的NVMeTM存储装置中的非易失性半导体存储器设备的示意性表示;以及
图7是根据本公开的实施例的用于通过结构的NVMeTM中的写入命令期间的空间分配的方法步骤的流程图。
具体实施方式
图1示出了包括通过结构112通信的主机客户端102和存储装置114的NVMeTM系统100的示意性表示。主机客户端102是包括应用104、CPU(“中央处理单元”)106和DRAM(“动态随机存取存储器”)108的计算系统。存储装置114是包括CPU 126、非易失性存储器308和多个NVMeTM磁盘116的计算系统。主机客户端102和存储装置114使用作为一种类型的NIC的RDMA网络适配器110和130接合。DRAM 108仅针对在施加电源的时候维持数据。结构112是其中节点通过诸如电力电缆、光纤或无线链路之类的互连开关和网络连接向彼此传递数据的网络拓扑结构。
非易失性存储器308是当关闭电源时保持其信息的随机存取存储器。非易失性存储器308可以是电池支持的DRAM或者许多新兴技术中的一个。电池支持的DRAM类似于DRAM108但是由电池支持使得DRAM不失去电源并且保持数据。新兴的非易失性存储器技术的示例是通过改变跨介电固态材料的电阻来工作的电阻式随机存取存储器(RRAM或者ReRAM)。新兴的非易失性存储器技术的另一个示例是使用磁性元件的磁阻式随机存取存储器(MRAM)。此外,存在诸如基于碳纳米管技术的纳米-RAM之类的未来技术。非易失性存储器308可以驻存在NVMeTM磁盘116中。
当主机客户端102想向存储装置114中的特定的NVMeTM磁盘116写入数据时,主机客户端的CPU 106对写入命令进行封装并且使用RDMA接口110将写入命令发送至存储装置114的CPU 126。应用104将数据发送至主机客户端的DRAM 108使得数据准备好一旦存储装置114准备好对其进行接收则被传输至存储装置114。
一旦存储装置114使用RDMA接口130接收写入命令,则存储装置114的CPU 126解析被封装的写入命令,对其进行解封装,并且提取数据信息。存储装置114的CPU 126然后启动使用RDMA接口130的从主机客户端102的DRAM 108向存储装置114的非易失性存储器308的数据的交易。在RDMA 130交易之后,数据将驻存在存储装置114的非易失性存储器308中。
一旦数据驻存在存储装置114的非易失性存储器308中,则非易失性存储器308向存储装置114的CPU 126发送指示数据已被存储在非易失性存储器308中的状态。存储装置114的CPU 126然后对该状态进行封装并且使用RDMA接口130将其发送至主机客户端102的CPU 106。该状态充当数据已被存储在指定的NVMeTM磁盘116中的确认。
因为存储装置114已向主机客户端102发送确认,所以在后台进程中,存储装置114的CPU 126启动从存储装置114的非易失性存储器308向由写入命令指定的NVMeTM磁盘116的数据的传送。
在图2中示出了使用NVMeTM系统100的写入命令的过程200。过程200由在步骤402中发送被封装的写入命令开始。例如,在NVMeTM系统100中,当主机客户端102想向存储装置114中的特定的NVMeTM磁盘116写入数据时,主机客户端的CPU 106对写入命令进行封装并且使用RDMA接口110将写入命令发送至存储装置114的CPU 126。应用104将数据发送至主机客户端的DRAM 108使得数据准备好一旦存储装置114准备好对其进行接收则被传输至存储装置114。
过程200通过在步骤404中将数据从主机客户端102传送至存储装置114而继续进行。例如,在NVMeTM系统100中,一旦存储装置114使用RDMA接口130接收写入命令,则存储装置114的CPU 126解析被封装的写入命令,对其进行解封装,并且提取数据信息。存储装置的CPU 126然后启动使用RDMA接口130的从主机客户端102的DRAM 108向存储装置114的非易失性存储器308的数据的交易。在RDMA 130交易之后,数据将驻存在存储装置114的非易失性存储器308中。
过程200通过在步骤406中从存储装置114的CPU 126向主机客户端102发送确认而继续进行。例如,在NVMeTM系统100中,一旦数据驻存在存储装置114的非易失性存储器308中,则非易失性存储器308向存储装置114的CPU 126发送指示数据已被存储在非易失性存储器308中的状态。存储装置114的CPU 126然后对该状态进行封装并且使用RDMA接口130将其发送至主机客户端102的CPU 106。该状态充当数据已被存储在指定的NVMeTM磁盘116中的确认。
过程200通过在步骤408中将数据从非易失性存储器308传送至NVMeTM磁盘116中的一个而结束。例如,在NVMeTM系统100中,因为在后台进程中,存储装置114已向主机客户端102发送确认,所以存储装置114的CPU 126启动从存储装置114的非易失性存储器308向由写入命令指定的NVMeTM磁盘116的数据的传送。
在现有技术系统中,存储装置114依赖DRAM来在将数据传送至NVMeTM磁盘116之前存储从主机客户端102被传送的数据。因为DRAM108仅针对在施加电源的时候维持数据,所以现有技术系统在向主机客户端102发送数据已被存储的确认之前必须等待直到数据已被传送至NVMeTM磁盘116。因为RDMA接口110和130具有高频带和低延迟,所以现有技术系统中的主要的时间消耗是在磁盘存取中。
过程200允许延迟仅为在主机客户端102和存储装置114之间的传送延迟。从非易失性存储器308向NVMeTM磁盘116中的数据的传送不影响过程200的延迟。然而,即使在电池支持的DRAM的存储装置114实施方式中,非易失性存储器308相比于NVMeTM磁盘116也相对小。由此,可能需要使用另一个存储装置114用于在意图接收数据的存储装置114将数据从非易失性存储器308传送至NVMeTM磁盘116时存储将到来的数据。
图3示出了包括通过结构112通信的主机客户端102、目标存储装置514和第二存储装置520的NVMeTM系统300的示意性表示。主机客户端102是包括应用104、CPU 106和DRAM108的计算系统。目标存储装置514和第二存储装置520是包括CPU 126、非易失性存储器308、DRAM 518和多个NVMeTM磁盘116的计算系统。主机客户端102、目标存储装置514和第二存储装置520使用其为一种类型的网络接口控制器的RDMA 110和130来接合。DRAM 518类似于DRAM 108。
当主机客户端102想向目标存储装置514中的特定的NVMeTM磁盘116写入数据时,主机客户端的CPU 106对写入命令进行封装并且使用RDMA接口110将写入命令发送至目标存储装置514的CPU 126。应用104将数据发送至主机客户端的DRAM 108使得数据准备好传输。
一旦目标存储装置514使用RDMA接口130接收写入命令,则目标存储装置514的CPU126解析被封装的写入命令,对其进行解封装,并且提取数据信息。如果目标存储装置514的非易失性存储器308没有用于主机客户端102想传送的数据的空闲空间,则目标存储装置的CPU 126使用RDMA接口110将该写入命令重定向至第二存储装置520的CPU 126。
当第二存储装置520的CPU 126接收从目标存储装置514的CPU 126被重定向的写入命令时,该CPU确定其是否具有用于处理命令的资源。如果第二存储装置520不具有用于接收来自主机客户端102的数据的资源,则第二存储装置520将通知目标存储装置514的CPU126使得目标存储装置514的CPU 126可以将命令定向至可以接收数据的另一个被通信地耦合的存储装置(未示出)。
如果第二存储装置520具有用于接收数据的资源,则第二存储装置520的CPU 126然后启动使用RDMA接口130的从主机客户端102的DRAM108向第二存储装置520的非易失性存储器308的数据的交易。在RDMA130交易之后,数据将驻存在第二存储装置520的非易失性存储器308中。
一旦数据驻存在第二存储装置520的非易失性存储器308中,则非易失性存储器308向目标存储装置514的CPU 126发送指示数据已被存储在第二存储装置520的非易失性存储器308中的状态。目标存储装置514的CPU 126然后对指示数据已被存储在第二存储装置520的非易失性存储器308中的状态进行封装并且使用RDMA接口130将其发送至主机客户端102的CPU 106。该状态充当数据已被存储在第二存储装置520的非易失性存储器308中的确认。
在后台进程中,第二存储装置520的CPU 126启动从第二存储装置520的非易失性存储器308向目标存储装置514的DRAM 518的数据的传送。一旦数据被存储在目标存储装置514的DRAM 518中,则目标存储装置514的CPU 126启动从目标存储装置514的DRAM 518向由写入命令指定的目标存储装置的NVMeTM磁盘116的数据的传送。
在图4中示出了使用NVMeTM系统300的写入命令的过程400。过程400由在步骤602中从主机客户端102向目标存储装置514发送被封装的写入命令开始。例如,在NVMeTM系统300中,当主机客户端102想向目标存储装置514中的特定的NVMeTM磁盘116写入数据时,主机客户端的CPU106对写入命令进行封装并且使用RDMA接口110将写入命令发送至目标存储装置514的CPU 126。应用104将数据发送至主机客户端的DRAM 108使得数据准备好传输。
过程400通过在步骤604中向第二存储装置520广播针对从目标存储装置514的被封装的写入命令的查询而继续进行。例如,在NVMeTM系统300中,一旦目标存储装置514使用RDMA接口130接收写入命令,则目标存储装置514的CPU 126解析被封装的写入命令,对其进行解封装,并且提取数据信息。如果目标存储装置514的非易失性存储器308不具有用于主机客户端102想传送的数据的空闲空间,则目标存储装置的CPU 126使用RDMA接口130将该写入命令重定向至第二存储装置520的CPU 126。
过程400通过在步骤606中确定第二存储装置520的资源可用性而继续进行。例如,在NVMeTM系统300中,当第二存储装置520的CPU 126接收从目标存储装置520的CPU 126被重定向的写入命令时,该CPU确定其是否具有用于处理命令的资源。如果第二存储装置520不具有用于接收来自主机客户端102的数据的资源,则第二存储装置520将通知目标存储装置514的CPU 126使得目标存储装置514的CPU 126可以将命令定向至可以接收数据的另一个被通信地耦合的存储装置(未示出)。
过程400通过在步骤608中将数据从主机客户端102的DRAM 108传送至第二存储装置520的非易失性存储器308而继续进行。例如,在NVMeTM系统300中,如果第二存储装置520具有用于接收数据的资源,则第二存储装置520的CPU 126然后启动使用RDMA接口130的从主机客户端102的DRAM 108向第二存储装置520的非易失性存储器308的数据的交易。在RDMA 130交易之后,数据将驻存在第二存储装置520的非易失性存储器308中。
过程400通过在步骤610中从目标存储装置514的CPU 126向主机客户端102发送确认而继续进行。例如,在NVMeTM系统300中,一旦数据驻存在第二存储装置520的非易失性存储器308中,则非易失性存储器308向目标存储装置114的CPU 126发送指示数据已被存储在第二存储装置520的非易失性存储器308中的状态。目标存储装置514的CPU 126然后对指示数据已被存储在第二存储装置520的非易失性存储器308中的状态进行封装并且使用RDMA接口130将其发送至主机客户端102的CPU 106。该状态充当数据已被存储在第二存储装置520的非易失性存储器308中的确认。
过程400通过在步骤612中将数据从第二存储装置的非易失性存储器308传送至目标存储装置514的DRAM 518而继续进行。例如,在NVMeTM系统300中,在后台进程中,第二存储装置520的CPU 126启动从第二存储装置520的非易失性存储器308向目标存储装置514的DRAM 518的数据的传送。
过程400通过在步骤614中将数据从目标存储装置514中的一个的DRAM 518传送至目标存储装置514的NVMeTM磁盘116中的一个而结束。例如,在NVMeTM系统300中,一旦数据被存储在目标存储装置514的DRAM 518中,则目标存储装置514的CPU 126启动从目标存储装置514的DRAM 518向由写入命令指定的目标存储装置的NVMeTM磁盘116的数据的传送。
图5示出了包括通过结构112通信的两个主机客户端102、目标存储装置514和第二存储装置520的NVMeTM系统500的示意性表示。主机客户端102是包括应用104、CPU 106和DRAM 108的计算系统。目标存储装置514和第二存储装置520是包括CPU 126、DRAM 518和多个NVMeTM磁盘的计算系统。主机客户端102、目标存储装置514和第二存储装置520使用作为一种类型的网络接口控制器的RDMA 110和130来接合。NVMeTM系统500包括非易失性存储器层708和NVMeTM层716。非易失性存储器层708是多个非易失性存储器设备308的集合。NVMeTM层716是多个NVMeTM磁盘116的集合。NVMeTM系统500可以包括多于两个的主机客户端102和多于一个的第二存储装置520。
NVMeTM系统500允许在大规模存储布局中的NVRAM的分配,能够实现非易失性存储器层708。当主机客户端102想向目标存储装置514中的特定的NVMeTM磁盘116写入数据时,主机客户端的CPU 106对写入命令进行封装并且使用RDMA接口110将写入命令发送至目标存储装置514的CPU 126。目标存储装置514将利用非易失性存储器层708从主机客户端102的DRAM 108传送数据,并且,进一步地,将数据从非易失性存储器层708传送至NVMeTM层716的特定的NVMeTM磁盘。
例如,如果目标存储装置514具有足够的本地资源,则目标存储装置514将数据存储在非易失性存储器层708的本地部分中。目标存储装置514然后将确认状态发送至主机客户端102。如果目标存储装置514不具有足够的本地资源,则目标存储装置514将向网络中的所有第二存储装置520广播查询,询问是否存在可以接收数据的第二存储装置520。具有可用资源的第二存储装置520中的一个向目标存储装置514发送指示其可以接收数据的信号。过程如通过过程400所描述地继续进行。
为了分配非易失性存储器层708的有价值的并且有限的资源,应该定义公平的和用户定义的机制。图6示出了NVRAM设备802的示意性表示。NVRAM 802是用于分配非易失性存储器层708的有价值的并且有限的资源的用户定义的机制的示例。NVRAM 802是包括被管理器优先地划分为保留区域804、本地区域812和远程区域814的存储空间的非易失性半导体存储器设备。NVRAM 802是非易失性存储器设备308的示例。
保留区域804定义了对于每个主机客户端102可用的有保证的存储区域。保留区域804进一步地被划分为多个区域,每个区域专门用于主机客户端102。主机1 806是专门用于第一主机客户端102的存储区域。主机2 808是专门用于第二主机客户端102的存储区域。主机N 810是专门用于第N主机客户端102的存储区域。
本地区域812是被分配用于被发送到NVRAM 802以存储在本地NVMeTM磁盘116中的数据的存储区域。当对应于特定的主机客户端102的保留区域804为满时,本地区域812起到额外空间的作用。例如,如果对应于主机客户端102的主机1存储区域806是满的并且NVRAM802接收来自主机客户端102的数据,则新数据可以被存储在本地区域812中。
远程区域814是被分配用于被发送到NVRAM 802以用于存储在远程NVMeTM磁盘116中的数据的存储区域。当目标存储装置514的保留区域804是满的并且第二存储装置520被需要用于接收数据时,远程区域814起到额外空间的作用。例如,如果目标存储装置514的NVRAM 802是满的,则第二存储装置520的NVRAM 802可以接收数据并且将其存储在远程存储区域814中。
在图7中示出了用于在NVRAM设备802中针对写入命令分配空间的过程700。过程700由在步骤902中从主机客户端102向目标存储装置514发送被封装的写入命令开始。例如,主机客户端的CPU 106对写入命令进行封装并且使用RDMA接口110将写入命令发送至目标存储装置514的CPU 126。
过程700通过在步骤904中确定被封装的写入命令的命令偏好而继续进行。来自主机客户端102的被封装的写入命令可以具有指定写入命令是否用于在目标存储装置514或第二存储装置520处存储的命令偏好。如果命令偏好是用于将数据发送至第二存储装置520,则过程700继续进行至步骤906。如果命令偏好是用于将数据发送至目标存储装置514,则过程700继续进行至步骤908。
在步骤906,目标存储装置514向第二存储装置520广播针对写入命令的查询。例如,目标存储装置514的CPU 106使用RDMA接口110将写入命令发送至第二存储装置520的CPU 106。目标存储装置514的CPU 106可以启动RDMA接口110以使用RDMA接口110向第二存储装置520广播查询。在步骤906之后,过程700如通过以上所描述的过程400所描绘地继续进行。
在步骤908,过程700通过确定是否存在专门用于主机客户端102的可用的保留区域804而继续进行。如果存在专门用于主机客户端102的可用的保留区域804,则过程700继续进行至步骤910。如果不存在专门用于主机客户端102的可用的保留区域804,则过程700继续进行至步骤912。
在步骤910,过程700通过从保留区域804中分配空间用于数据存储而继续进行。例如,如果对应于主机客户端102的主机1存储区域806可用,则可以将主机1存储区域806用于存储来自主机客户端102的将到来的数据。在步骤910之后,过程700如过程200所描绘地继续进行,如以上所描述的。
在步骤912,过程700通过确定是否存在可用的本地区域812而继续进行。如果不存在可用的本地区域812,则过程700继续进行至步骤906。如果存在可用的本地区域812,则过程700继续进行至步骤914。
在步骤914,过程700通过确定主机客户端102是否已达到本地区域812中的分配的阈值限制而继续进行。如果主机客户端102已达到本地区域812中的分配的阈值限制,则过程700继续进行至步骤906。如果主机客户端102还未达到本地区域812中的分配的阈值限制,则过程700继续进行至步骤916。
在步骤916,过程700确定写入命令的优先级是否高于阈值优先级。如果写入命令的优先级未高于阈值优先级,则过程700继续进行至步骤906。如果写入命令的优先级高于阈值优先级,则过程700继续进行至步骤918。
过程700通过在步骤918中从本地区域812中分配空间用于数据存储而结束。例如,如果对应于主机客户端102的主机1存储区域806是满的并且NVRAM 802接收来自主机客户端102的数据,则新数据可以被存储在本地区域812中。
当从第二主机客户端102接收到命令时,相似的过程出现。在该情景中,目标存储装置514针对可用空间检查远程区域814。如果存在在远程区域814中可用的空间,则目标存储装置514从远程区域814中分配空间用于将到来的命令。
本发明的各种方面的其它目标、优点和实施例将对本发明的本领域技术人员而言是显而易见的并且在说明书和附图的范围内。例如,但是不限于,结构或功能的元件可以与本发明一致地被重新布置。相似地,根据本发明的原理可以被应用于其它示例,即使不具体地在此特别描述,其也将在本发明的范围内。
Claims (20)
1.一种网络存储装置,其包括:
多个固态磁盘;
网络接口适配器,其被通信地耦合到所述多个固态磁盘和主机客户端,其中,所述网络接口适配器被配置为:
从所述主机客户端取回数据,并且
将所述数据从所述主机客户端传送至所述多个固态磁盘;
非易失性半导体存储器设备,其被通信地耦合到所述多个固态磁盘和所述网络接口适配器,其中,所述非易失性半导体存储器设备被配置为:
经由所述网络接口适配器从所述主机客户端接收数据,
暂时存储所述数据,并且
将所述数据传送至所述多个固态磁盘中的一个固态磁盘;以及
CPU,其被通信地耦合到所述非易失性半导体存储器设备和所述网络接口适配器,其中,所述CPU被配置为:
经由所述网络接口适配器从所述主机客户端接收写入请求,
确定所述非易失性半导体存储器设备是否可用于存储所述数据,
响应于确定非易失性半导体设备可用于存储所述数据,启动所述网络接口适配器以执行经由所述网络接口适配器的从所述主机客户端向所述非易失性半导体存储器设备的所述数据的传送,并且
响应于确定所述非易失性半导体存储器设备不可用于存储所述数据,启动所述网络接口适配器以经由所述网络接口适配器向一个或多个外部存储装置广播查询。
2.根据权利要求1所述的网络存储装置,其中,所述非易失性半导体存储器设备包括以下中的一个:
电阻式随机存取存储器,
磁阻式随机存取存储器,
纳米随机存取存储器,以及
电池支持的动态随机存取存储器。
3.根据权利要求1所述的网络存储装置,其进一步包括:
易失性存储器设备,其被通信地耦合到所述多个固态磁盘和所述网络接口适配器,其中,所述易失性存储器设备被配置为响应于确定所述非易失性半导体存储器设备不可用于存储所述数据,经由所述网络接口适配器从所述一个或多个外部存储装置接收数据,其中,所述一个或多个外部存储装置对应于一个或多个第二网络存储装置。
4.根据权利要求3所述的网络存储装置,其中,所述易失性半导体存储器设备进一步被配置为将所述数据传送至所述多个固态磁盘中的一个固态磁盘。
5.根据权利要求1所述的网络存储装置,其中,所述CPU进一步被配置为经由所述网络接口适配器将确认状态发送至所述主机客户端,其中,所述确认状态指示所述数据已被存储在所述非易失性半导体存储器设备或者所述一个或多个外部存储装置中。
6.根据权利要求1所述的网络存储装置,其中,所述CPU进一步被配置为:
经由所述网络接口适配器从所述一个或多个外部存储装置中的第一外部存储装置接收对所述查询的响应,其中,对所述查询的所述响应指示所述第一外部存储装置可用于存储所述数据;并且
经由所述网络接口适配器将第二写入请求发送至所述第一外部存储装置。
7.根据权利要求6所述的网络存储装置,其中,所述一个或多个外部存储装置是多个第二网络存储装置中的一个或多个。
8.根据权利要求6所述的网络存储装置,其中,所述第二写入请求启动所述第一外部存储装置以开始从所述主机客户端向所述第一外部存储装置的所述数据的传送。
9.根据权利要求8所述的网络存储装置,其中,所述CPU进一步被配置为经由所述网络接口适配器从所述第一外部存储装置接收信号,其中,所述信号指示所述数据已被存储在所述第一外部存储装置中。
10.根据权利要求9所述的网络存储装置,其中,所述CPU进一步被配置为经由所述网络接口适配器将第二确认状态发送至所述主机客户端,其中,所述第二确认状态指示所述数据已被存储在所述第一外部存储装置中。
11.根据权利要求1所述的网络存储装置,其中,所述网络接口适配器根据远程直接存储器存取(RDMA)协议运行。
12.根据权利要求1所述的网络存储装置,其中,所述网络接口适配器连接到网络通信结构。
13.根据权利要求1所述的网络存储装置,其中,所述非易失性半导体存储器设备包括用于所述主机客户端的保留存储区域。
14.根据权利要求13所述的网络存储装置,其中,所述非易失性半导体存储器设备进一步包括本地存储区域和远程存储区域。
15.根据权利要求14所述的网络存储装置,其中,所述非易失性半导体存储器设备进一步被配置为:
确定所述保留存储区域是否可用于存储所述数据;并且
响应于确定所述保留存储区域可用于存储所述数据,从所述保留存储区域分配其中用于存储所述数据的空间。
16.根据权利要求15所述的网络存储装置,其中,所述非易失性半导体存储器设备进一步被配置为:
响应于确定所述保留存储区域不可用于存储所述数据,确定所述本地存储区域是否可用于存储所述数据;并且
响应于确定所述本地存储区域可用于存储所述数据,从所述本地存储区域分配其中用于存储所述数据的空间。
17.根据权利要求14所述的网络存储装置,其中,所述非易失性半导体存储器设备进一步被配置为:
确定所述远程存储区域是否可用于存储所述数据;并且
响应于确定所述远程存储区域可用于存储所述数据,从所述远程存储区域分配其中用于存储所述数据的空间。
18.根据权利要求1所述的网络存储装置,其中,所述数据在大于0.1微秒并且小于1微秒的时间段内从所述主机客户端被传送至目标网络存储装置的所述非易失性半导体存储器设备。
19.根据权利要求1所述的网络存储装置,其中,所述网络接口适配器独立于所述CPU来对所述非易失性半导体存储器设备进行存取。
20.一种将数据从主机客户端传送至网络存储装置的方法,所述方法包括:
经由网络接口适配器将第一写入请求从主机客户端发送至目标网络存储装置;
经由所述网络接口适配器将第二写入请求从所述目标网络存储装置发送至第二网络存储装置;
经由所述网络接口适配器将数据从所述主机客户端传送至所述第二网络存储装置的非易失性半导体存储器设备,其中,所述数据是与所述第一写入请求相关联的;
经由所述网络接口适配器将信号从所述第二网络存储装置发送至所述目标网络存储装置,其中,所述信号指示所述数据已被存储在所述第二网络存储装置的非易失性存储器设备中;
经由所述网络接口适配器将确认状态从所述目标网络存储装置发送至所述主机客户端,其中,所述确认状态指示所述数据已被存储;
经由所述网络接口适配器将所述数据从所述第二网络存储装置的非易失性半导体存储器设备传送至所述目标网络存储装置的易失性半导体存储器设备;并且
将所述数据从所述目标网络存储装置的易失性半导体存储器设备传送至所述目标网络存储装置的固态磁盘。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/668,314 | 2017-08-03 | ||
US15/668,314 US10785301B2 (en) | 2017-08-03 | 2017-08-03 | NVM express over fabrics |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388336A true CN109388336A (zh) | 2019-02-26 |
Family
ID=63878713
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710799341.3A Withdrawn CN109388336A (zh) | 2017-08-03 | 2017-09-07 | 从主机客户端向网络存储装置传送数据的网络存储装置和方法 |
CN201880063437.6A Active CN111149341B (zh) | 2017-08-03 | 2018-08-01 | 网状架构上的高速nvm |
CN202210810970.2A Active CN115174604B (zh) | 2017-08-03 | 2018-08-01 | 网状架构上的高速nvm |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880063437.6A Active CN111149341B (zh) | 2017-08-03 | 2018-08-01 | 网状架构上的高速nvm |
CN202210810970.2A Active CN115174604B (zh) | 2017-08-03 | 2018-08-01 | 网状架构上的高速nvm |
Country Status (5)
Country | Link |
---|---|
US (2) | US10785301B2 (zh) |
EP (1) | EP3662642B1 (zh) |
JP (2) | JP7282738B2 (zh) |
CN (3) | CN109388336A (zh) |
WO (1) | WO2019025862A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946283A (zh) * | 2020-07-16 | 2022-01-18 | 美光科技公司 | 存储器装置的分区命名空间中的部分区存储器单元处置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10785301B2 (en) * | 2017-08-03 | 2020-09-22 | Toshiba Memory Corporation | NVM express over fabrics |
US11860782B2 (en) | 2019-08-13 | 2024-01-02 | Neuroblade Ltd. | Compensating for DRAM activation penalties |
EP4229511A1 (en) | 2020-10-16 | 2023-08-23 | Neuroblade, Ltd. | Memory appliances for memory intensive operations |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19534527C2 (de) * | 1995-09-08 | 1999-04-29 | Francotyp Postalia Gmbh | Verfahren zur Erhöhung der Manipulationssicherheit von kritischen Daten |
JP4076316B2 (ja) | 2000-09-08 | 2008-04-16 | 株式会社日立製作所 | 不揮発性キャッシュメモリを用いたデータ書き込みシステム |
US6738870B2 (en) * | 2000-12-22 | 2004-05-18 | International Business Machines Corporation | High speed remote storage controller |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
US7197662B2 (en) * | 2002-10-31 | 2007-03-27 | Ring Technology Enterprises, Llc | Methods and systems for a storage system |
US6795850B2 (en) * | 2002-12-13 | 2004-09-21 | Sun Microsystems, Inc. | System and method for sharing memory among multiple storage device controllers |
TW591372B (en) * | 2003-05-15 | 2004-06-11 | High Tech Comp Corp | Power control method of portable electronic device, portable electronic device and electronic system |
US7334089B2 (en) * | 2003-05-20 | 2008-02-19 | Newisys, Inc. | Methods and apparatus for providing cache state information |
US7389393B1 (en) | 2004-10-21 | 2008-06-17 | Symantec Operating Corporation | System and method for write forwarding in a storage environment employing distributed virtualization |
JP4736593B2 (ja) * | 2005-07-25 | 2011-07-27 | ソニー株式会社 | データ記憶装置、データ記録方法、記録及び/又は再生システム、並びに、電子機器 |
US20080126357A1 (en) * | 2006-05-04 | 2008-05-29 | Wambo, Inc. | Distributed file storage and transmission system |
CN101118460A (zh) * | 2006-05-10 | 2008-02-06 | 马维尔国际贸易有限公司 | 具有高功率和低功率处理器以及线程转移的系统 |
JP4245021B2 (ja) | 2006-09-06 | 2009-03-25 | 日本電気株式会社 | ストレージ装置、ストレージシステム、ストレージ装置の制御方法 |
US8706968B2 (en) * | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
CN101681282A (zh) * | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
US7554855B2 (en) * | 2006-12-20 | 2009-06-30 | Mosaid Technologies Incorporated | Hybrid solid-state memory system having volatile and non-volatile memory |
US8533847B2 (en) * | 2007-05-24 | 2013-09-10 | Sandisk Il Ltd. | Apparatus and method for screening new data without impacting download speed |
JP5229869B2 (ja) * | 2008-01-09 | 2013-07-03 | 独立行政法人産業技術総合研究所 | 不揮発性光メモリ素子及びその動作方法 |
US7813212B2 (en) * | 2008-01-17 | 2010-10-12 | Mosaid Technologies Incorporated | Nonvolatile memory having non-power of two memory capacity |
US8549222B1 (en) * | 2008-02-12 | 2013-10-01 | Netapp, Inc. | Cache-based storage system architecture |
US8775718B2 (en) * | 2008-05-23 | 2014-07-08 | Netapp, Inc. | Use of RDMA to access non-volatile solid-state memory in a network storage system |
WO2012129191A2 (en) * | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
KR20130078455A (ko) * | 2011-12-30 | 2013-07-10 | 삼성전자주식회사 | 메모리 특성 정보를 저장하는 반도체 메모리 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 반도체 메모리 장치의 동작방법 |
US9417998B2 (en) * | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US8554963B1 (en) | 2012-03-23 | 2013-10-08 | DSSD, Inc. | Storage system with multicast DMA and unified address space |
US9237195B2 (en) * | 2012-04-27 | 2016-01-12 | Netapp, Inc. | Virtual storage appliance gateway |
US9122401B2 (en) | 2012-08-23 | 2015-09-01 | Apple Inc. | Efficient enforcement of command execution order in solid state drives |
US9164929B2 (en) | 2013-01-03 | 2015-10-20 | International Business Machines Corporation | False power failure alert impact mitigation |
US9311110B2 (en) * | 2013-07-08 | 2016-04-12 | Intel Corporation | Techniques to initialize from a remotely accessible storage device |
US9235521B2 (en) * | 2013-07-22 | 2016-01-12 | Avago Technologies General Ip (Singapore) Pte Ltd | Cache system for managing various cache line conditions |
US9251064B2 (en) | 2014-01-08 | 2016-02-02 | Netapp, Inc. | NVRAM caching and logging in a storage system |
US10635316B2 (en) * | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
US9866635B2 (en) * | 2014-03-26 | 2018-01-09 | Rockwell Automation Technologies, Inc. | Unified data ingestion adapter for migration of industrial data to a cloud platform |
KR20150119547A (ko) * | 2014-04-15 | 2015-10-26 | 에스케이하이닉스 주식회사 | 반도체 장치, 이를 포함하는 반도체 메모리 장치 및 메모리 시스템 |
US9591077B2 (en) * | 2014-07-01 | 2017-03-07 | Gogo Llc | Content integrity checks |
US9933950B2 (en) * | 2015-01-16 | 2018-04-03 | Sandisk Technologies Llc | Storage operation interrupt |
US10061743B2 (en) | 2015-01-27 | 2018-08-28 | International Business Machines Corporation | Host based non-volatile memory clustering using network mapped storage |
US9525737B2 (en) * | 2015-04-14 | 2016-12-20 | E8 Storage Systems Ltd. | Lockless distributed redundant storage and NVRAM cache in a highly-distributed shared topology with direct memory access capable interconnect |
US10009438B2 (en) * | 2015-05-20 | 2018-06-26 | Sandisk Technologies Llc | Transaction log acceleration |
KR102430187B1 (ko) | 2015-07-08 | 2022-08-05 | 삼성전자주식회사 | RDMA NVMe 디바이스의 구현 방법 |
US10476958B2 (en) * | 2015-12-16 | 2019-11-12 | Toshiba Memory Corporation | Hyper-converged flash array system |
US10725677B2 (en) * | 2016-02-19 | 2020-07-28 | Sandisk Technologies Llc | Systems and methods for efficient power state transitions |
US20180059945A1 (en) * | 2016-08-26 | 2018-03-01 | Sandisk Technologies Llc | Media Controller with Response Buffer for Improved Data Bus Transmissions and Method for Use Therewith |
US10679722B2 (en) * | 2016-08-26 | 2020-06-09 | Sandisk Technologies Llc | Storage system with several integrated components and method for use therewith |
US20180059976A1 (en) * | 2016-08-26 | 2018-03-01 | Sandisk Technologies Llc | Storage System with Integrated Components and Method for Use Therewith |
US10732893B2 (en) * | 2017-05-25 | 2020-08-04 | Western Digital Technologies, Inc. | Non-volatile memory over fabric controller with memory bypass |
US10785301B2 (en) * | 2017-08-03 | 2020-09-22 | Toshiba Memory Corporation | NVM express over fabrics |
-
2017
- 2017-08-03 US US15/668,314 patent/US10785301B2/en active Active
- 2017-09-07 CN CN201710799341.3A patent/CN109388336A/zh not_active Withdrawn
-
2018
- 2018-08-01 CN CN201880063437.6A patent/CN111149341B/zh active Active
- 2018-08-01 WO PCT/IB2018/000991 patent/WO2019025862A1/en unknown
- 2018-08-01 CN CN202210810970.2A patent/CN115174604B/zh active Active
- 2018-08-01 JP JP2020505813A patent/JP7282738B2/ja active Active
- 2018-08-01 EP EP18788882.1A patent/EP3662642B1/en active Active
-
2020
- 2020-08-19 US US16/997,610 patent/US20200382595A1/en not_active Abandoned
-
2023
- 2023-02-14 JP JP2023020700A patent/JP2023062055A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113946283A (zh) * | 2020-07-16 | 2022-01-18 | 美光科技公司 | 存储器装置的分区命名空间中的部分区存储器单元处置 |
CN113946283B (zh) * | 2020-07-16 | 2024-04-12 | 美光科技公司 | 存储器装置的分区命名空间中的部分区存储器单元处置 |
Also Published As
Publication number | Publication date |
---|---|
JP7282738B2 (ja) | 2023-05-29 |
US20190045009A1 (en) | 2019-02-07 |
CN111149341B (zh) | 2022-07-29 |
WO2019025862A1 (en) | 2019-02-07 |
US10785301B2 (en) | 2020-09-22 |
EP3662642A1 (en) | 2020-06-10 |
CN115174604A (zh) | 2022-10-11 |
CN115174604B (zh) | 2024-01-02 |
JP2023062055A (ja) | 2023-05-02 |
JP2020529678A (ja) | 2020-10-08 |
EP3662642B1 (en) | 2023-06-07 |
US20200382595A1 (en) | 2020-12-03 |
CN111149341A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388336A (zh) | 从主机客户端向网络存储装置传送数据的网络存储装置和方法 | |
USRE49151E1 (en) | Memory system and electronic device | |
USRE46488E1 (en) | Direct data transfer between slave devices | |
US8996781B2 (en) | Integrated storage/processing devices, systems and methods for performing big data analytics | |
US9619177B2 (en) | Memory system including non-volatile memory, buffer memory, and controller controlling reading data from non-volatile memory | |
US20160203091A1 (en) | Memory controller and memory system including the same | |
US10620841B2 (en) | Transfer of object memory references in a data storage device | |
JP2021152933A (ja) | メモリアクセス技術およびコンピュータシステム | |
US20180284993A1 (en) | Performing data operations in a storage area network | |
CN105408875B (zh) | 在存储器接口上的分布式过程执行和文件系统 | |
TW201202946A (en) | Multi-level port expansion for port multipliers | |
TWI706314B (zh) | 用於網路裝置之記憶體系統、網路裝置、及操作網路裝置的方法 | |
US20140237170A1 (en) | Storage device, and read command executing method | |
CN103828332A (zh) | 数据处理方法、装置、存储控制器和机柜 | |
CN108958642A (zh) | 存储器系统及其操作方法 | |
US10057348B2 (en) | Storage fabric address based data block retrieval | |
US20210011869A1 (en) | Semiconductor devices including command priority policy management and related systems | |
US10547683B2 (en) | Object based storage systems that utilize direct memory access | |
CN105765542B (zh) | 访问文件的方法、分布式存储系统和存储节点 | |
US10289550B1 (en) | Method and system for dynamic write-back cache sizing in solid state memory storage | |
JP2014211801A (ja) | インターフェース制御装置、データ記憶装置及びインターフェース制御方法 | |
TW201717017A (zh) | 針對網路裝置實施分布式連結列表之系統及方法 | |
US10459842B1 (en) | Data storage system with configurable prefetch buffers | |
TWI684130B (zh) | 資料儲存裝置 | |
US20200065140A1 (en) | Data storage device |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190226 |