CN112667529B - 网络织物存储系统 - Google Patents
网络织物存储系统 Download PDFInfo
- Publication number
- CN112667529B CN112667529B CN201910983986.1A CN201910983986A CN112667529B CN 112667529 B CN112667529 B CN 112667529B CN 201910983986 A CN201910983986 A CN 201910983986A CN 112667529 B CN112667529 B CN 112667529B
- Authority
- CN
- China
- Prior art keywords
- data
- flash
- primary storage
- storage device
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000004744 fabric Substances 0.000 title claims abstract description 33
- 238000013519 translation Methods 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 83
- 230000015654 memory Effects 0.000 claims description 37
- 238000013507 mapping Methods 0.000 claims description 13
- 238000011084 recovery Methods 0.000 claims description 8
- 239000007787 solid Substances 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 15
- 238000004891 communication Methods 0.000 description 31
- 238000006243 chemical reaction Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013506 data mapping Methods 0.000 description 3
- 238000011982 device technology Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Abstract
本发明公开了一种网络织物存储系统,包括:机箱,机箱容纳多个主存储设备和一个或多个缓存设备,缓存设备与主存储设备中的每一个分开。链路控制卡(LCC)容纳在机箱中并经由中板联接到主存储设备的每一个和缓存设备。LCC包括转换层处理器,所述转换层处理器从主机设备接收第一数据,并且处理第一数据以存储在缓存设备中以使得第一数据存储在缓存设备中。所述转换层处理器然后确定第一数据应存储在第一主存储设备中,并且作为响应,使第一数据从缓存设备移动到第一主存储设备以使得第一数据存储在第一主存储设备中。
Description
技术领域
本公开通常涉及信息处理系统,并且更具体地,涉及经由网络织物的数据存储。
背景技术
随着信息的价值和使用持续增加,个人和企业寻求处理和存储信息的其他方式。用户可以使用的一个选项是信息处理系统。信息处理系统通常为商业、个人或其他目的处理、编译、存储和/或传输信息或数据,从而允许用户利用信息的价值。由于不同用户或应用程序之间的技术和信息处理需求和要求各不相同,因此信息处理系统也可能因所处理的信息,处理信息的方式,处理、存储或传输信息量以及处理、存储或传输信息的处理速度和效率而异。信息处理系统的变化允许信息处理系统是通用的,或为特定用户或特定用途配置,特定用途例如金融交易处理、航空公司预订、企业数据存储或全球通信。另外,信息处理系统可以包括可以被配置为处理、存储和传输信息的各种硬件和软件组件,并且可以包括一个或多个计算机系统、数据存储系统和网络系统。
信息处理系统通常包括用于存储数据的存储系统,并且当前趋势是经由网络织物提供到这样的存储系统的连接,以允许通过网络织物存储数据。例如,利用非易失性存储器快速(NVMe)固态驱动器(SSD)的存储系统可以经由网络织物连接到计算设备(通常称为主机设备),以提供通过织物NVMe(NVMe over Fabric:NVMeoF)存储系统,其允许主机设备存储数据。网络织物NVMe存储系统的一种常见设计架构通常被称为NVMeoF仅一堆闪存(Justa Bunch Of Flash:JBOF)设计。NVMe JBOF设计可以利用冗余链路控制卡(LCC),每个链路控制卡提供相应的NVMeoF协议处理系统(例如,经由片上系统(SOC)技术提供),其联接到相应的外围组件互连快速(PCIe)交换机,以及经由中板联接到NVMe SSD的那些LCC。此外,NVMeoF JBOF设计中的NVMe SSD通常包括联接到处理系统(其提供PCIe/主机接口)的多个存储器设备(例如,NAND闪存设备),转换层(例如,NAND闪存设备的闪存转换层(FTL))和控制器(例如,用于NAND闪存设备的NAND闪存控制器),以及可以由动态随机存取存储器(DRAM)设备、单级单元(SLC)闪存设备、和/或本领域中已知的其他相对高性能、鲁棒的存储设备技术提供的缓存系统。
在上面讨论的传统NVMeoF JBOF设计中,可以通过LCC中的NVMeoF协议处理系统从主机设备接收数据并将其转换(例如,从以太网协议到PCIe协议),然后提供给PCIe交换机,然后PCIe交换机将数据传输到一个或多个NVMe SSD。因此,数据可以由NVMe SSD的处理系统中的PCIe/主机接口接收并提供给NVMe SSD中的FTL,然后,NVMe SSD处理该数据以存储在DRAM缓存系统和/或NVMe SSD中的NAND内存设备中。如本领域技术人员将理解的,NVMeSSD中的FTL可以对该NVMe SSD执行各种处理,包括数据映射(例如,存储在NVMe SSD中的NAND闪存设备上的数据的逻辑地址到物理地址(L2P)的映射),生成和存储与该NVMe SSD的生命周期相关联的元数据,存储在该NVMe SSD上的数据丢失的情况下进行数据恢复操作,NAND闪存设备和DRAM缓存系统之间的数据移动和/或本领域已知的各种其他FTL操作。本公开的发明人已经识别出与传统NVMeoF JBOF设计相关的低效率,诸如上面描述的那些。
例如,使用NVMe SSD中的处理系统来提供FTL操作性能锁定该NVMe SSD的FTL处理能力,这限制了针对不同应用优化或定制FTL处理的能力,引入了NVMe SSD控制器和闪存介质支持之间的依赖性,和/或导致各种其他FTL处理低效率,这对于本领域技术人员而言是显而易见的。此外,在NVMe SSD上提供专用缓存系统会增加那些NVMe SSD的成本,锁定NVMeSSD的缓存系统/NAND闪存比率,这会导致缓存系统利用率降低(例如,当NVMe利用率较低时),阻碍使用该NVMe SSD的不同缓存介质类型的灵活性,阻碍缓存系统修改和/或调整(例如,取决于NVMe SSD的使用,性能升级和/或降级),和/或导致各种其他缓存系统低效率,这对于本领域技术人员而言是显而易见的。
因此,期望提供一种解决上述问题的改进的网络织物存储系统。
发明内容
根据一个实施例,一种信息处理系统(IHS),其包括处理系统;存储器系统,其联接到处理系统并且包括指令,所述指令在由处理系统执行时,使处理系统提供转换层引擎,转换层引擎被配置为:从至少一个主机设备接收第一数据;处理第一数据以存储在至少一个缓存设备中,缓存设备经由中板联接到转换层引擎并且位于存储/缓存外壳中,使得第一数据被存储在至少一个缓存设备中;确定应该将第一数据存储在包括在多个主存储设备中的第一主存储设备中,所述多个主存储设备经由中板联接到转换层引擎,每个均与至少一个缓存设备分开,并且位于存储/缓存外壳中;以及使第一数据从至少一个缓存设备移动到第一主存储设备,以使第一数据存储在第一主存储设备中。
附图说明
图1是示出信息处理系统(IHS)的实施例的示意图。
图2是示出传统网络织物存储系统的实施例的示意图。
图3是示出传统存储设备的实施例的示意图,其可以包括在图2的传统网络织物存储系统中。
图4是示出根据本公开的教导提供的网络织物存储系统的实施例的示意图。
图5是示出根据本公开的教导提供的存储设备的实施例的示意图,该存储设备可以包括在图4的网络织物存储系统中。
图6是示出用于将数据存储在网络织物存储系统中的方法的实施例的流程图。
具体实施例
出于本公开的目的,信息处理系统可以包括可用于估算、计算、确定、分类、处理、发送、接收、检索、发起、切换、存储、显示、通信、表明、检测、记录、复制、处理、或利用用于商业、科学、控制或其他目的任何形式的信息、情报或数据的任何工具或工具集合。例如,信息处理系统可以是个人计算机(例如,台式计算机或掌上计算机)、平板计算机、移动设备(例如,个人数字助理(PDA)或智能电话)、服务器(例如,刀片式服务器或机箱式服务器)、网络存储设备、或任何其他合适的设备,并且可以在大小、形状、性能、功能和价格上变化。信息处理系统可以包括随机存取存储器(RAM)、一个或多个处理资源(例如,中央处理单元(CPU)或硬件或软件控制逻辑)、ROM、和/或其他类型的非易失性存储器。信息处理系统的附加组件可以包括一个或多个磁盘驱动器,用于与外部设备通信的一个或多个网络端口以及各种输入和输出(I/O)设备,例如键盘、鼠标、触摸屏和/或视频显示器。信息处理系统还可以包括可操作以在各种硬件组件之间发送通信的一个或多个总线。
在一个实施例中,图1的IHS 100包括处理器102,处理器102连接到总线104。总线104用作处理器102与IHS 100的其他组件之间的连接。输入设备106联接到处理器102,以向处理器102提供输入。输入设备的示例可包括键盘、触摸屏、指示设备(诸如鼠标、轨迹球和触控板之类)、和/或本领域中已知的各种其他输入设备。程序和数据存储在大容量存储设备108上,大容量存储设备108联接到处理器102。大容量存储设备的示例可以包括硬盘、光盘、磁光盘、固态存储设备、和/或本领域已知的各种其他大容量存储设备。IHS 100还包括显示器110,显示器110通过视频控制器112联接到处理器102。系统存储器114联接到处理器102,以向处理器提供快速存储,以便于处理器102执行计算机程序。系统存储器的示例可以包括随机存取存储器(RAM)设备,例如动态RAM(DRAM)、同步DRAM(SDRAM)、固态存储设备和/或本领域已知的各种其他存储设备。在一个实施例中,机箱116容纳IHS 100的一些或全部组件。应当理解,可以在上述组件和处理器102之间部署其他总线和中间电路,以便于组件和处理器102之间的互连。
现在参考图2,为了下面的讨论目的,示出了传统网络织物存储系统200的实施例。存储系统200可以由上面参考图1讨论的IHS 100提供和/或可以包括IHS 100的一些或所有组件。此外,虽然被示出和讨论为在单个机箱/机壳内提供的存储系统200,但是本领域技术人员将认识到,下面讨论的存储系统200和/或其组件的功能可以分布在多个机箱/机壳上,这也仍然在本公开的范围内。在所示实施例中,存储系统200包括容纳存储系统200的组件的机箱202(下面仅示出其中一些)。例如,机箱202可以容纳通信系统204(可以由网络接口控制器(NIC)、无线通信系统(例如,近场通信(NFC)组件、WiFi组件等)提供),以及/或对于本领域技术人员显而易见的任何其他通信组件。这样,通信系统204可以包括用于联接到下面讨论的一个或多个主机设备(未示出)的端口和/或其他接口。
在所示实施例中,存储系统200的机箱202容纳一对冗余链路控制卡(LCC)206和208。例如,LCC 206可以包括协议转换处理系统206a,协议转换处理系统206a联接到通信系统204,也联接到交换机206b,交换机206b也包括在LCC 206中。类似地,LCC 208可以包括联接到通信系统204的协议转换处理系统208a,以及交换机208b,交换机208b也包括在LCC208中。在下面的示例中,协议转换处理系统206a和208a经由相应的非易失性存储器快速传输织物(NVMeoF)片上系统(SOC)提供,而交换机206b和208b由相应的外围组件互连快速传输(PCIe)交换机提供。如本领域技术人员将理解的,提供协议转换处理系统206a和208a的NVMeoF SOC可以被配置为转换以太网、光纤通道和/或用于经由通信系统204从主机设备接收的数据的其他协议到用于存储系统200中的组件的PCIe协议,而提供交换机206b和208b的PCIe交换机可以被配置为路由数据(如上所述转换为PCIe协议)。然而,虽然已经描述了LCC的组件的一些特定功能,但是本领域技术人员将认识到,多个LCC和/或LCC组件可以提供其他传统功能,这也仍然在本公开的范围内。
存储系统200的机箱202还包括存储外壳210,存储外壳210容纳多个存储设备210a、210b、210c至210d,每个存储设备经由中板212分别联接到在LCC 206和208中的交换机206b和208b。在下面的示例中,每个存储设备210a-210d由传统的NVMe SSD提供,传统的NVMe SSD包括双端口,双端口能够将那些NVMe SSD中的每一个经由中板212专用联接于交换机206b和208b中的每一个(例如,如上所述的PCIe交换机)。中板和其他类似联接子系统的功能在本领域中是已知的,因此这里将不再详细讨论存储设备210a-210d联接到交换机206b和208b。虽然已经示出了特定的传统网络织物存储系统200,但是本领域技术人员将认识到,传统的网络织物存储系统可以包括用于提供传统网络织物存储系统功能的各种组件和/或组件配置,这也仍然在本公开的范围内。
现在参考图3,为了下面的讨论目的,示出了传统存储设备300的实施例。存储设备300可以由上面参考图1讨论的IHS 100提供,和/或可以包括IHS 100的一些或所有组件。此外,虽然作为NVMe SSD示出和讨论,但是本领域技术人员将认识到,可以通过各种存储设备技术提供下面讨论的存储设备300和/或其组件的功能,这也仍然在本公开的范围内。在所示实施例中,存储设备300包括机箱302,其容纳存储设备300的组件,下面仅示出一些组件。例如,机箱302可以容纳处理子系统304,在所示实施例中,处理子系统304包括主机接口304a、转换层处理器304b和控制器304c。在下面的示例中,主机接口304a由PCIe和一个或多个NVMe主机接口提供,并且主机接口304a被配置为分别经由LCC 206和208中的交换机206b和208b(例如,PCIe交换机)接收数据。此外,在下面的示例中,转换层处理器304b由闪存转换层(FTL)处理器提供,该处理器被配置为执行存储设备300的数据处理和存储设备管理功能(例如,如下所述,由存储设备300使用的NAND闪存设备)。此外,在下面的示例中,控制器304c由NAND闪存控制器提供,该NAND闪存控制器被配置为与如下所述的存储设备300使用的NAND闪存设备交互。然而,虽然已经描述了用于处理系统304的特定组件和功能,但是本领域技术人员将认识到,处理系统304可以包括其他组件和/或功能,这也仍然在本公开的范围内。
在所示实施例中,存储设备300的机箱302还容纳存储子系统306,存储子系统306包括多个存储器设备306a、306b、306c、306d至306e和306f。在下面的示例中,存储器设备306a-306f由NAND闪存设备提供,但是本领域技术人员将认识到,其他存储器设备和/或存储技术可以用于存储子系统,这也仍然在本公开的范围内。在所示实施例中,存储设备300的机箱302还容纳可由一个或多个存储器设备提供的缓存存储器子系统308。在下面的示例中,缓存存储器子系统由动态随机存取存储器(DRAM)设备提供,但是本领域技术人员将认识到,其他存储器设备和/或存储技术(例如,单层单元(SLC)闪存设备等)可用于缓存存储器子系统306,这也仍然在本公开的范围内。在所示实施例中,存储设备300的机箱302还容纳通信子系统310,通信子系统310联接到处理系统304并且被配置为将处理系统304联接到存储系统200中的中板212,并提供与存储系统中的LCC 206和208通信。虽然已经示出了特定的传统存储设备300,但是本领域技术人员将认识到,传统的存储设备可以包括各种组件和/或组件配置,用于提供传统的存储设备功能,这也仍然在本公开的范围内。
现在参考图4,图4示出了根据本公开的教导提供的网络织物存储系统400的实施例。存储设备400可以由上面参考图1讨论的IHS 100提供,和/或可以包括IHS 100的一些或所有组件。此外,虽然作为单个机箱/机壳内提供给的存储系统400示出和讨论,但是本领域技术人员将认识到,下面讨论的存储系统400和/或其组件的功能可以分布在多个机箱/机壳上,这也仍然在本公开的范围内。在所示实施例中,存储系统400包括容纳存储系统400的组件的机箱402,下面仅示出一些组件。例如,机箱402可以容纳通信系统404,通信系统404可以由网络接口控制器(NIC)、无线通信系统(例如,近场通信(NFC)组件、WiFi组件等)和/或对于本领域技术人员而言显而易见的任何其他通信组件。这样,通信系统404可以包括用于联接到下面讨论的一个或多个主机设备(未示出)的端口和/或其他接口。
在所示实施例中,存储系统400的机箱402容纳一对冗余链路控制卡(LCC)406和408。例如,LCC 406可以包括协议转换处理系统206a,协议转换处理系统406a联接到通信系统404,也联接到全局转换层处理器406b,该全局转换层处理器406b也包括在LCC 406中,全局转换层处理器406b联接到也包括在LCC 406中的交换机406c。类似地,LCC 408可以包括联接到通信系统404的协议转换处理系统408a,以及全局转换层处理器408b,全局转换层处理器408b也包括在LCC 408中,全局转换层处理器408b联接到也包括在LCC 408中的交换机408c。在下面的示例中,协议转换处理系统406a和408a经由相应的非易失性存储器快速传输织物(NVMeoF)片上系统(SOC)提供,全局转换层处理器406b和408b由相应的闪存转换层(FTL)处理器提供,而交换机406c和408c由相应的外围组件互连快速(PCIe)交换机提供。
如本领域技术人员将理解的,提供协议转换处理系统406a和408a的NVMeoF SOC可被配置成将以太网、光纤通道和/或用于从主机设备经由通信系统404接收到的数据的其他协议转换成用于存储系统400中的组件的PCIe协议,而提供全局转换层处理器406和408b的FTL处理器可以被配置为用于在存储系统400中提供的主存储设备和缓存设备中的任一者的执行数据处理和存储设备管理功能,同时,提供交换机406c和408c的PCIe交换机可以被配置为路由数据(如上所述转换为PCIe协议)。然而,虽然已经描述了LCC的组件的一些特定功能,但是本领域技术人员将认识到,多个LCC和/或LCC组件可以提供其他传统功能,这也仍然在本公开的范围内。
存储系统400的机箱402还包括存储/缓存外壳410,存储/缓存外壳410容纳多个主存储设备410a至410b,主存储设备410a至410b中的每个经由中板412分别联接到在LCC 406和408中的交换机406c和408c中的每一个。如图所示,存储/缓存外壳410还可以容纳多个缓存设备410c至410d,多个缓存设备410c至410d中的每一个与主存储设备410a-410b中的任一者分开(例如,由不同的驱动器、设备、机箱等提供,而非用于提供主存储设备410a-410b),其中,多个缓存设备410c至410d中的每一个都分别经由中板412联接到LCC406和408中的交换机406c和408c中的每一个。在下面的示例中,主存储设备410a-410b中的每一个由如下描述的NVMe SSD提供,其包括双端口,双端口使得那些NVMe SSD中的每一个经由中板412专用联接(例如,经由专用PCIe连接)于交换机406b和408b中的每一个(例如,如上所述的PCIe交换机)。
此外,在下面的示例中,缓存设备410c-410d中的每一个由包括双端口的DRAM存储器系统提供,所述双端口能够使得那些DRAM存储器系统中的每一个经由中板412而专用联接(例如,经由专用PCIe连接)到交换机406b和408b中的每一个(例如,如上所述的PCIe交换机)。然而,本领域技术人员将认识到,提供缓存设备410c-410d的DRAM存储器系统可以由SLC闪存系统、3D XPoint存储器系统和/或本领域已知的其他缓存存储器系统技术代替。此外,虽然示出了一个以上的缓存设备410c-410d,但是本领域技术人员将认识到,存储系统400可以利用单个缓存设备,这也仍然在本公开的范围内。如下所述,在一些实施例中,缓存设备410c-410d可以利用比主存储设备410a/410b相对更高性能和更高耐久性的存储技术,这是由于例如对提供缓存的存储设备执行更多写操作的趋势。虽然已经示出了特定网络织物存储系统400,但是本领域技术人员将认识到,本公开的网络织物存储系统可以包括用于提供传统网络织物存储系统功能以及下面描述的功能的各种组件和/或组件配置,这也仍然在本公开的范围内。
现在参考图5,图5示出了根据本公开的教导提供的存储设备500的实施例。存储设备500可以由上面参考图1讨论的IHS 100提供和/或可以包括IHS 100的一些或所有组件。此外,虽然被示出和讨论为NVMe SSD,但是本领域技术人员将认识到,下面讨论的存储设备500和/或其组件的功能可以由多个存储设备技术提供,这也仍然在本公开的范围内。在所示实施例中,存储设备500包括容纳存储设备500的组件的机箱502(下面仅示出其中一些)。例如,机箱502可以容纳处理子系统504,在所示实施例中,处理子系统504包括主机接口504a和控制器504b,并且没有像转换层处理器304b(包括在上面参考图3讨论的传统存储设备300中)那样的转换层处理器(例如,以上讨论的FTL处理器)。在下面的示例中,主机接口504a由PCIe和一个或多个NVMe主机接口提供,并且其被配置为分别经由在LCC 406和408中的交换机406c和408c(例如,PCIe交换机)接收数据。此外,在下面的示例中,控制器504b由NAND闪存控制器提供,该NAND闪存控制器被配置为与如下所述的存储设备500使用的NAND闪存设备交互。然而,虽然已经描述了用于处理子系统504的特定组件和功能,但是本领域技术人员将认识到,处理子系统504可以包括其他组件和/或功能,这也仍然在本公开的范围内。
在所示实施例中,存储设备500的机箱502还容纳存储子系统506,存储子系统506包括多个存储器设备506a、506b、506c、506d至506e和506f。在下面的示例中,存储器设备506a-506f由NAND闪存设备提供,但是本领域技术人员将认识到,其他存储器设备和/或存储技术可以用于存储子系统506,这也仍然在本公开的范围内。在所示实施例中,存储设备500没有像缓存存储器子系统308(包括在上面参考图3讨论的传统存储设备300中)(例如,上面讨论的DRAM设备)那样的缓存存储器子系统。在所示实施例中,存储设备500的机箱502还容纳通信子系统510,通信子系统510联接到处理子系统504,并且被配置为将处理子系统504联接到存储系统400中的中板412并提供与存储系统中的LCC 406和408通信。虽然已经示出了特定存储设备500,但是本领域技术人员将认识到,根据本公开的教导提供的存储设备可以包括用于提供传统存储设备功能以及下面讨论的功能的各种组件和/或组件配置,这也仍然在本公开的范围内。
现在参考图6,图6示出了用于在网络织物存储系统中存储数据的方法400的实施例。如下所述,本公开的系统和方法提供了用于网络织物存储系统的新架构,其将转换层处理从各个存储设备移动到链路控制卡(LCC),以便为存储系统中的存储设备中的每一个提供全局转换层处理,同时从各个存储设备中移除缓存子系统,并提供由所有存储设备使用的集中式缓存系统。例如,存储系统可以包括存储/缓存外壳,存储/缓存外壳容纳多个主存储设备和至少一个缓存设备,该至少一个缓存设备与多个主存储设备中的每一个分开。存储系统中的中板将多个主存储设备和至少一个缓存设备联接到链路控制卡(LCC),LCC包括从主机设备接收数据的转换层处理器,并处理用于存储在至少一个缓存设备中的数据,使得数据存储在至少一个缓存设备中。当转换层处理器确定数据应该存储在包括在多个主存储设备中的第一主存储设备中时,它使数据从至少一个缓存设备移动到第一主存储设备,使得第一数据存储在第一主存储设备中。
这样,本文描述的新网络织物存储系统架构从传统存储设备中提供的个性化转换层处理移动到全局转换层处理器,以提供针对不同应用优化或定制转换层处理的能力,减少存储设备控制器和存储介质支持之间的依赖性,降低存储设备的成本(例如,通过省去为专用转换层处理提供的专用芯片组),并提供对于本领域技术人员显而易见的其他转换层处理效率。此外,这里描述的新的网络织物存储系统架构省去了其存储设备上的专用缓存系统以降低存储设备的成本,提供了调整存储系统的缓存/主存储比率的能力,得到了更高的缓存系统利用率,引入了使用不同缓存介质类型用于存储设备的灵活性,允许缓存系统修改和/或调整(例如,取决于存储系统的用途的性能升级和/或降级),和/或提供对于本领域技术人员而言显而易见的各种其他缓存系统效率。
参考图2中所示的传统网络织物存储系统200和图3中所示的传统存储设备300,简要讨论传统的网络织物存储系统操作以供下面参考。首先参考图2,主机设备(未示出)可以将数据发送到通信系统204,以存储在存储系统200中。这样,LCC 206中的协议转换处理系统206a可以从通信系统204接收该数据,对该数据执行协议转换操作,以产生转换数据(例如,通过将数据从以太网协议转换为PCIe协议),并且可以将转换后的数据提供给交换机206,交换机206可以将该数据路由到一个或多个存储设备210a-210d。如本领域技术人员将理解的,也以类似的方式,可经由LCC 208中的协议转换处理系统208a和交换机208b接收数据,并将数据提供给一个或多个存储设备210a-210d。
参考图3,接收该数据的存储设备300的处理子系统304中的主机接口304a然后可以将该数据提供给处理子系统304中的转换层处理器304b,处理子系统304可以处理该数据,以用于存储在存储子系统306或缓存存储器子系统308中,并且可以将该数据连同存储有由其处理确定的数据的指令一起提供给控制器304c。然后,处理子系统304中的控制器304c可以从转换层处理器304b接收该数据,并且可以将该数据存储在存储子系统306中的一个或多个存储器设备306a-306f中,或者存储在缓存存储器子系统308中,这取决于转换层处理器304b提供的指令。这样,在一些示例中,控制器304c可以将数据存储在缓存存储器子系统308中。如本领域技术人员将理解的,转换层处理器304b可以随后确定存储在缓存存储器子系统308中数据应该从缓存存储器子系统308移动到存储子系统306,并且可以向控制器304c提供指令,该指令使控制器将数据从缓存存储器子系统308移动到一个或多个存储子系统306中的存储器设备306a-306f。
这样,转换层处理器304b可以操作以控制将提供给存储设备300的任何数据存储在缓存存储器子系统308或存储子系统306中,以及控制数据在缓存存储器子系统或存储子系统306之间移动。此外,转换层处理器304b可以操作以对存储在存储设备300中的数据执行映射操作(例如,逻辑地址到物理地址的映射操作),生成和存储关于存储设备300的生命周期的元数据(例如,关于对存储设备的多次写入的信息),实施用于存储设备300的策略(例如,以延长存储设备的寿命或增加其性能),当存储设备300上的数据变得不可用时执行数据恢复操作,和/或执行本领域中已知的各种其他转换层处理器功能。
如上所述,使用存储设备300中的处理子系统304提供转换层处理操作的性能锁定了存储设备300的转换层处理能力,这限制了优化或定制不同的应用程序的转换层处理的能力,引入了处理子系统304和闪存介质支持之间的依赖性,并且导致对于本领域技术人员显而易见的各种其他转换层处理低效率。此外,在存储设备300上提供专用缓存存储器子系统308增加了存储设备300的成本,锁定了存储设备300的缓存子系统/存储子系统306的比率,这可导致缓存存储器子系统308的相对低的利用率(例如,当存储设备300具有低利用率时),阻碍了不同缓存介质类型用于存储设备300的灵活性,阻碍了缓存存储器子系统308的修改和/或调整(例如,性能升级和/或降级,这取决于存储设备300的用途),和/或对于本领域技术人员显而易见的导致各种其他缓存存储器子系统的低效率。
方法600开始于框602,其中,转换层处理器从主机设备接收数据。在一个实施例中,在框602,联接到存储系统400的主机设备可以生成用于存储在存储系统400中的数据,并将该数据发送到通信系统404。这样,在框602,在LLC 406中的协议转换处理系统406a可以从通信系统404接收该数据,对该数据执行协议转换操作以提供转换的数据(例如,通过将数据从以太网协议或光纤通道(FC)协议转换为PCIe协议),以及将转换的数据提供给全局转换层处理器406b。因此,在框602,全局转换层处理器406b可以从协议转换处理系统406a接收转换的数据。如本领域技术人员将理解的,全局转换层处理器408b可以以类似方式接收由主机设备发送的数据(例如,经由通信系统404和协议转换处理系统408b)。在一些示例中,可以在LCC 406和408之间对从主机设备接收的数据进行负载平衡,以减少全局转换层处理器406b和408b上的处理负荷。
然后,方法600进行到框604,其中,转换层处理器处理数据以便存储在一个或多个缓存设备中。在一个实施例中,在框604处,全局转换层处理器406b可以操作,以处理在框602处接收的数据,以存储在主存储设备410a-410b或缓存设备410c-410d中,并且可以经由交换机406c连同存储有由其处理确定的数据的指令来提供该数据。这样,在该示例中,在框604处,全局转换层处理器406b可以处理在框602处接收的数据,并确定该数据应该存储在缓存设备410c中,并且可以经由交换机406c连同将该数据存储在该缓存设备410c中的指令,将该数据提供给缓存设备410c。然后,交换设备406c可以将该数据发送到缓存设备410c。这样,在框604处,缓存设备410c可以接收数据并将数据存储在其存储器系统(例如,上面讨论的DRAM设备、SLC闪存设备和/或3D XPoint存储器设备)中。
然后,方法600可以进行到可选框606,可选框606中,转换层处理器可以将存储在一个或多个缓存设备中的数据移动到一个或多个主存储设备。在一个实施例中,在框606处,全局转换层处理器406b可以操作,以确定在框604处存储在缓存设备410c中的数据应该被移动到主存储设备。例如,全局转换层处理器406b可以确定缓存设备410c中的数据存储应该被移动到主存储设备410a,经由交换机406c从缓存设备410c检索该数据,并且经由交换机406c连同将该数据存储在该主存储设备410a中的指令将该数据提供给主存储设备410a。然后,交换设备406c可以将该数据发送到主存储设备410a。这样,在框604,包括在存储设备500中的处理子系统504中的主机接口504a可以经由通信子系统508接收数据和指令,并将它们提供给处理子系统504中的控制器504b,然后处理子系统504可以执行指令并将数据存储在存储子系统506中的一个或多个存储器设备506a-506f中。因此,本领域技术人员将理解,全局转换层处理器406b(或全局转换层处理器408b)如何从一个或多个主机设备接收数据,将该数据存储在一个或多个主存储设备410a-410b或一个或多个缓存设备410c-410d中的任一者中,在一个或多个主存储设备410a-410b或一个或多个缓存设备410c-410d之间移动数据,和/或执行对于本领域技术人员显而易见的各种数据存储和/或数据移动操作中的任一种。
然后,方法600可以进行到可选框608,可选框608中,转换层处理器可以将存储在一个或多个缓存设备中的数据映射到一个或多个主存储设备。在一个实施例中,在框608,全局转换层处理器406b可以操作,以映射存储在一个或多个主存储设备410a-410b或一个或多个缓存设备410c-410d中的数据。例如,全局转换层处理器406b可以操作,以对其提供的用于存储在在一个或多个主存储设备410a-410b或一个或多个缓存设备410c-410d中的任一者中的任何数据执行映射操作(例如,逻辑地址到物理地址的映射操作),以生成将该数据存储之后的该数据的物理位置映射到用于检索该数据的逻辑位置的映射,并将相关的映射信息存储在全局转换层处理器406b可访问的存储子系统中。这样,本领域技术人员将理解,全局转换层处理器406b(或全局转换层处理器408b)如何映射存储在一个或多个主存储设备410a-410b或一个或多个缓存设备410c-410d中任一者中的数据,和/或执行对于本领域技术人员显而易见的各种数据映射操作中的任何一种。
然后,方法600可以进行到可选框610,可选框610中,转换层处理器可以生成并存储与一个或多个缓存设备和/或一个或多个主存储设备的生命周期相关联的元数据。在一个实施例中,在框610处,全局转换层处理器406b可以操作,以生成和存储与主存储设备410a-410c中的任一者和缓存设备410c-410d中的任一者的生命周期相关联的元数据。例如,全局转换层处理器406b可以操作,以监控主存储设备410a-410c和缓存设备410c-410d中的每一个的任何生命周期特性(例如,对该存储设备的多次写入),生成与那些生命周期特征相关联的元数据,并将该元数据存储在全局转换层处理器406b可访问的存储子系统中。这样,本领域技术人员将理解,全局转换层处理器406b(或全局转换层处理器408b)如何可以为存储/缓存外壳410中的存储设备中的任一者生成和存储生命周期元数据,和/或执行对于本领域技术人员显而易见的各种元数据/生命周期操作中的任一者。此外,在一些实施例中,元数据操作可以包括实施经由元数据定义的存储设备策略,以便例如延长存储设备400和/或其组件的寿命,和/或提供存储设备400和/或其组件的最大性能,和/或执行对于本领域技术人员显而易见的各种其他存储设备策略操作。
然后,方法600可以进行到可选框612,可选框612中,转换层处理器可以对存储在一个或多个缓存设备和/或一个或多个主存储设备上的数据执行数据恢复操作。在一个实施例中,在框612处,全局转换层处理器406b可以操作,以针对主存储设备410a-410c中的任一者和/或缓存设备410c-410d中的任一者执行数据恢复操作。例如,全局转换层处理器406b可以操作,以确定存储在主存储设备410a-410c中的任一者和/或缓存设备410c-410d中的任一者上的数据已经丢失、损坏和/或以其他方式不可用,并且作为响应,可以执行数据恢复操作。这样,本领域技术人员将理解,全局转换层处理器406b(或全局转换层处理器408b)如何操作以恢复为主存储设备410a-410c和/或缓存设备410c-410d已不可用的数据,和/或执行对于本领域技术人员显而易见的各种数据恢复操作中的任一者。
然后,方法600可以返回到框602,并且可以循环通过框602-612,以继续执行上述操作。这样,本公开的一个或多个全局转换层处理器可以执行上面讨论的数据存储操作、数据移动操作、数据映射操作、元数据生成和存储操作、策略实施操作和数据恢复操作,以及在方法600期间用于主存储设备410a-410c和/或缓存设备410c-410d的任何其他转换层处理。
因此,已经描述了为NVMeoF系统提供新架构的系统和方法,NVMeoF系统将FTL处理从单个NVMe SSD移动到LCC,以便为NVMeoF系统中的每个NVMe SSD提供全局FTL处理,同时从单个NVMe SSD中移除DRAM缓存子系统,并提供所有NVMe SSD使用的集中式缓存系统。例如,NVMeoF系统可以包括容纳多个NVMe SSD和至少一个DRAM缓存设备的存储/缓存外壳,其与多个NVMe SSD中的每一个分开。NVMeoF系统中的中板将多个NVMe SSD和至少一个DRAM缓存设备联接到LCC,并且LCC包括FTL处理器,FTL处理器从主机设备接收数据,并处理数据以便存储在至少一个DRAM缓存设备中,使得数据存储在至少一个DRAM缓存设备中。当FTL处理器确定数据应该存储在NVMe SSD中时,它使数据从至少一个DRAM缓存设备移动到NVMeSSD,使得数据存储在NVMe SSD中。
这样,本文描述的新的NVMeoF系统架构从传统NVMe SSD中提供的个性化FTL处理移动到全局FTL处理,以提供针对不同应用优化或定制FTL处理的能力,减少NVMe SSD控制器和存储介质支持之间的依赖性,消除用于提供存储设备上的FTL处理的专用芯片组,并提供对于本领域技术人员显而易见的其他FTL处理效率。此外,这里描述的新的NVMeoF系统架构消除了其NVMe SSD上的专用DRAM缓存系统,降低了NVMe SSD的成本,提供了调整NVMeoF系统的DRAM缓存/NAND闪存比率的能力,得到了更高的DRAM缓存系统利用率,引入了与DRAM(例如SLC、3D XPoint等)不同缓存介质类型用于NVMe SSD的灵活性,允许DRAM缓存系统修改和/或调整(例如,取决于NVMeoF系统的用途的性能升级和/或降级),和/或提供了对于本领域技术人员而言显而易见的各种其他DRAM缓存系统效率。
尽管已经示出和描述了说明性实施例,但是在前述公开内容中预期了广泛的修改、改变和替换,并且在一些情况下,可以采用实施例的一些特征,而无需相应地使用其他特征。因此,所附权利要求与本文公开的实施例的范围一致的。
Claims (20)
1.一种网络织物存储系统,包括:
系统机箱;
多个基于闪存的主存储设备,其容纳在所述系统机箱中,且每一个都包括各自的基于闪存的主存储设备机箱,所述主存储设备机箱不容纳闪存转换层(FTL)处理器;
至少一个缓存设备,其容纳于所述系统机箱中,且不容纳于所述多个基于闪存的主存储设备中任何一个所包括的相应基于闪存的主存储设备机箱中;
中板,其容纳在所述系统机箱中的;和
链路控制卡(LCC),其容纳在所述系统机箱中并经由所述中板联接到所述多个基于闪存的主存储设备和所述至少一个缓存设备中的每一个,其中,所述LCC包括FTL处理器,所述FTL处理器被配置为:
从至少一个主机设备接收第一数据;
处理所述第一数据以存储在所述至少一个缓存设备中,使得所述第一数据经由所述中板传输并存储在所述至少一个缓存设备中;
确定所述第一数据应存储在包括在所述多个基于闪存的主存储设备中的第一基于闪存的主存储设备中;和
经由所述中板,使所述第一数据从所述至少一个缓存设备移动到所述第一基于闪存的主存储设备,使得所述第一数据存储在所述第一基于闪存的主存储设备中。
2.根据权利要求1所述的系统,其中,所述FTL处理器被配置为:
对存储在所述至少一个缓存设备上的所述第一数据执行逻辑地址到物理地址的映射操作;和
对存储在所述第一基于闪存的主存储设备上的所述第一数据执行逻辑地址到物理地址的映射操作。
3.根据权利要求1所述的系统,其中,所述FTL处理器被配置为:
生成并存储与所述多个基于闪存的主存储设备中的每一个的生命周期相关联的元数据。
4.根据权利要求1所述的系统,其中,所述FTL处理器被配置为:
确定存储在所述第一基于闪存的主存储设备上的所述第一数据不可用,并且作为响应,对存储在所述第一基于闪存的主存储设备上的所述数据执行数据恢复操作。
5.根据权利要求1所述的系统,其中,所述多个基于闪存的主存储设备中的每一个由非易失性存储器快速(NVMe)固态驱动器(SSD)提供。
6.根据权利要求1所述的系统,其中,所述FTL处理器被配置为:
从所述主机设备接收第二数据;
处理所述第二数据以存储在所述至少一个缓存设备中,使得所述第二数据经由所述中板传输并存储在所述至少一个缓存设备中;
确定所述第二数据应存储在包括在所述多个基于闪存的主存储设备中的第二基于闪存的主存储设备中;和
经由所述中板,使所述第二数据从所述至少一个缓存设备移动到所述第二基于闪存的主存储设备,使得所述第二数据存储在所述第二基于闪存的主存储设备中。
7.根据权利要求1所述的系统,其中,被包括在所述多个基于闪存的主存储设备中的每一个上的相应基于闪存的主存储设备机箱不容纳缓存子系统。
8.一种信息处理系统(IHS),包括:
处理系统;和
存储器系统,其联接到所述处理系统并且包括指令,所述指令在由所述处理系统执行时,使所述处理系统提供闪存转换层(FTL)引擎,所述FTL引擎被配置为:
从至少一个主机设备接收第一数据;
处理所述第一数据以存储在至少一个缓存设备中,所述缓存设备经由中板联接到所述FTL引擎并且位于存储/缓存外壳中,使得所述第一数据经由所述中板传输并存储在至少一个缓存设备中;
确定所述第一数据应存储在包括在多个基于闪存的主存储设备中的第一基于闪存的主存储设备中,所述多个主存储设备经由所述中板联接到所述FTL引擎,每一个主存储设备都包括各自的基于闪存的主存储设备机箱,其中所述主存储设备机箱不容纳闪存转换层(FTL)处理器,或者每个主存储设备都与所述至少一个缓存设备分开,并且所述多个主存储设备位于所述存储/缓存外壳中;和
经由所述中板,使所述第一数据从所述至少一个缓存设备移动到所述第一基于闪存的主存储设备,使得所述第一数据存储在所述第一基于闪存的主存储设备中。
9.根据权利要求8所述的IHS,其中,所述FTL引擎被配置为:
对存储在所述至少一个缓存设备上的所述第一数据执行逻辑地址到物理地址的映射操作;和
对存储在所述第一基于闪存的主存储设备上的所述第一数据执行逻辑地址到物理地址的映射操作。
10.根据权利要求8所述的IHS,其中,所述FTL引擎被配置为:
生成并存储与所述多个基于闪存的主存储设备中的每一个的生命周期相关联的元数据。
11.根据权利要求8所述的IHS,其中,所述FTL引擎被配置为:
确定存储在所述第一基于闪存的主存储设备上的所述第一数据不可用,并且作为响应,对存储在所述第一基于闪存的主存储设备上的所述数据执行数据恢复操作。
12.根据权利要求8所述的IHS,其中,所述多个基于闪存的主存储设备中的每一个由非易失性存储器快速(NVMe)固态驱动器(SSD)提供。
13.根据权利要求8所述的IHS,其中,所述FTL引擎被配置为:
从所述主机设备接收第二数据;
处理所述第二数据以存储在所述至少一个缓存设备中,使得所述第二数据经由所述中板传输并存储在所述至少一个缓存设备中;
确定所述第二数据应存储在包括在所述多个基于闪存的主存储设备中的第二基于闪存的主存储设备中;和
经由所述中板,使所述第二数据从所述至少一个缓存设备移动到所述第二基于闪存的主存储设备,使得所述第二数据存储在所述第二基于闪存的主存储设备中。
14.一种将数据存储在网络织物存储系统中的方法,方法包括:
由闪存转换层(FTL)处理器从至少一个主机设备接收第一数据;
由所述FTL处理器处理所述第一数据,以用于存储在至少一个缓存设备中,所述缓存设备经由中板联接到所述FTL处理器并且位于存储/缓存外壳中,使得所述第一数据经由所述中板传输并被存储在所述至少一个缓存设备中;
由所述FTL处理器确定所述第一数据应存储在包括在多个基于闪存的主存储设备中的第一基于闪存的主存储设备中,所述多个基于闪存的主存储设备经由所述中板联接到所述FTL引擎,每个主存储设备都包括各自的基于闪存的主存储设备机箱,所述主存储设备机箱不容纳闪存转换层(FTL)处理器或所述至少一个缓存设备,并且所述多个基于闪存的主存储设备位于所述存储/缓存外壳中;和
由所述FTL处理器经由所述中板使所述第一数据从所述至少一个缓存设备移动到所述第一基于闪存的主存储设备,使得所述第一数据存储在所述第一基于闪存的主存储设备中。
15.根据权利要求14所述的方法,还包括:
由所述FTL处理器对存储在所述至少一个缓存设备上的所述第一数据执行逻辑地址到物理地址的映射操作;和
由所述FTL处理器对存储在所述第一基于闪存的主存储设备上的所述第一数据执行逻辑地址到物理地的址映射操作。
16.根据权利要求14所述的方法,还包括:
由所述FTL处理器生成并存储与所述多个基于闪存的主存储设备中的每一个的生命周期相关联的元数据。
17.根据权利要求14所述的方法,还包括:
由所述FTL处理器确定存储在所述第一基于闪存的主存储设备上的所述第一数据不可用,并且作为响应,对存储在所述第一基于闪存的主存储设备上的所述数据执行数据恢复操作。
18.根据权利要求14所述的方法,其中,所述多个基于闪存的主存储器中的每一个由非易失性存储器快速NVMe固态驱动器(SSD)提供。
19.根据权利要求14所述的方法,还包括:
由所述FTL处理器从所述主机设备接收第二数据;
由所述FTL处理器处理所述第二数据以存储在所述至少一个缓存设备中,使得所述第二数据经由所述中板传输并存储在所述至少一个缓存设备中;
由所述FTL处理器确定所述第二数据应存储在包括在所述多个基于闪存的主存储设备中的第二基于闪存的主存储设备中;和
由所述FTL处理器使所述第二数据从所述至少一个缓存设备经由所述中板,移动到所述第二基于闪存的主存储设备,使得所述第二数据存储在所述第二基于闪存的主存储设备中。
20.根据权利要求14所述的方法,其中,被包括在所述多个基于闪存的主存储设备中的每一个上的相应基于闪存的主存储设备机箱不容纳缓存子系统。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910983986.1A CN112667529B (zh) | 2019-10-16 | 2019-10-16 | 网络织物存储系统 |
US16/672,029 US11334483B2 (en) | 2019-10-16 | 2019-11-01 | Network fabric storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910983986.1A CN112667529B (zh) | 2019-10-16 | 2019-10-16 | 网络织物存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667529A CN112667529A (zh) | 2021-04-16 |
CN112667529B true CN112667529B (zh) | 2024-02-13 |
Family
ID=75400567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910983986.1A Active CN112667529B (zh) | 2019-10-16 | 2019-10-16 | 网络织物存储系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11334483B2 (zh) |
CN (1) | CN112667529B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11496595B2 (en) * | 2021-02-02 | 2022-11-08 | Dell Products L.P. | Proxy management controller system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2687473A1 (en) * | 2007-05-17 | 2008-11-27 | Research In Motion Limited | System and method for content navigation |
CN101551779A (zh) * | 2008-04-02 | 2009-10-07 | 深圳市朗科科技股份有限公司 | 计算机及数据存储方法 |
CN102907054A (zh) * | 2012-08-03 | 2013-01-30 | 华为技术有限公司 | 一种数据交换方法、装置及系统 |
CN107038134A (zh) * | 2016-11-11 | 2017-08-11 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的srio接口固态硬盘系统及其实现方法 |
CN108139902A (zh) * | 2015-10-16 | 2018-06-08 | 科内克斯实验室公司 | 用于提供混合模式来访问ssd驱动器的方法和装置 |
US10185624B2 (en) * | 2014-09-30 | 2019-01-22 | Hitachi, Ltd. | Distributed storage system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10762023B2 (en) * | 2016-07-26 | 2020-09-01 | Samsung Electronics Co., Ltd. | System architecture for supporting active pass-through board for multi-mode NMVe over fabrics devices |
KR102535627B1 (ko) * | 2018-03-28 | 2023-05-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
-
2019
- 2019-10-16 CN CN201910983986.1A patent/CN112667529B/zh active Active
- 2019-11-01 US US16/672,029 patent/US11334483B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2687473A1 (en) * | 2007-05-17 | 2008-11-27 | Research In Motion Limited | System and method for content navigation |
CN101551779A (zh) * | 2008-04-02 | 2009-10-07 | 深圳市朗科科技股份有限公司 | 计算机及数据存储方法 |
CN102907054A (zh) * | 2012-08-03 | 2013-01-30 | 华为技术有限公司 | 一种数据交换方法、装置及系统 |
WO2014019221A1 (zh) * | 2012-08-03 | 2014-02-06 | 华为技术有限公司 | 一种数据交换方法、装置及系统 |
US10185624B2 (en) * | 2014-09-30 | 2019-01-22 | Hitachi, Ltd. | Distributed storage system |
CN108139902A (zh) * | 2015-10-16 | 2018-06-08 | 科内克斯实验室公司 | 用于提供混合模式来访问ssd驱动器的方法和装置 |
CN107038134A (zh) * | 2016-11-11 | 2017-08-11 | 济南浪潮高新科技投资发展有限公司 | 一种基于fpga的srio接口固态硬盘系统及其实现方法 |
Non-Patent Citations (1)
Title |
---|
基于S3C2440和Linux的嵌入式网络驱动程序开发;郭建磊;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-46 * |
Also Published As
Publication number | Publication date |
---|---|
CN112667529A (zh) | 2021-04-16 |
US11334483B2 (en) | 2022-05-17 |
US20210157724A1 (en) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11748256B2 (en) | Memory system and method for controlling nonvolatile memory | |
US8843697B2 (en) | Operating method of data storage device | |
KR20140044070A (ko) | 버퍼 메모리 장치를 포함하는 데이터 저장 장치 | |
KR20150055413A (ko) | 데이터 저장 장치 | |
US8583890B2 (en) | Disposition instructions for extended access commands | |
US20200348873A1 (en) | Virtual Machine Migration System | |
KR20200139433A (ko) | 컨트롤러의 동작 방법 및 메모리 시스템 | |
US20130173855A1 (en) | Method of operating storage device including volatile memory and nonvolatile memory | |
KR20200114212A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN112667529B (zh) | 网络织物存储系统 | |
US20240037027A1 (en) | Method and device for storing data | |
KR102425470B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN115328402A (zh) | 数据缓存的方法和装置 | |
US11334292B2 (en) | Autonomous RAID data storage system | |
US20230359379A1 (en) | Computing system generating map data, and method of operating the same | |
US11835992B2 (en) | Hybrid memory system interface | |
EP4276642A1 (en) | Computing system including cxl switch, memory device and storage device and operating method thereof | |
US11941246B2 (en) | Memory system, data processing system including the same, and operating method thereof | |
US11966609B1 (en) | Zoned namespace storage device system | |
US20230376238A1 (en) | Computing system for managing distributed storage devices, and method of operating the same | |
US20240086110A1 (en) | Data storage method, storage apparatus and host | |
US11106543B2 (en) | Application image cloning system | |
US20230084539A1 (en) | Computational storage device and storage system including the computational storage device | |
US20230359389A1 (en) | Operation method of host configured to communicate with storage devices and memory devices, and system including storage devices and memory devices | |
CN117033266A (zh) | 计算系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |