CN108292196B - 数据写入方法、装置和计算机可读存储介质 - Google Patents

数据写入方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN108292196B
CN108292196B CN201680070551.2A CN201680070551A CN108292196B CN 108292196 B CN108292196 B CN 108292196B CN 201680070551 A CN201680070551 A CN 201680070551A CN 108292196 B CN108292196 B CN 108292196B
Authority
CN
China
Prior art keywords
storage device
type
write requests
storage
selecting
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
Application number
CN201680070551.2A
Other languages
English (en)
Other versions
CN108292196A (zh
Inventor
约翰·科尔格洛夫
彼得·柯克帕特里克
尼尔·瓦查拉亚尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingrui Storage Co ltd
Original Assignee
Jingrui Storage Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingrui Storage Co ltd filed Critical Jingrui Storage Co ltd
Publication of CN108292196A publication Critical patent/CN108292196A/zh
Application granted granted Critical
Publication of CN108292196B publication Critical patent/CN108292196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

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 Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统,包括:针对一个或多个未处理的写入请求,从第一类型的存储设备和第二类型的存储设备中选择目标存储设备类型;向第一类型的存储设备发布第一组写入请求,该第一组写入请求被寻址到根据将由第一类型的存储设备执行的预期地址转换而选择的一个或多个位置;以及向第二类型的存储设备发布第二组写入请求,该第二组写入请求被寻址到根据第二类型的存储设备中的存储器的布局而选择的一个或多个位置。

Description

数据写入方法、装置和计算机可读存储介质
技术领域
本发明的领域是数据处理,或者更具体地,是用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统的方法、装置和产品。
背景技术
企业存储系统可以为现代企业提供大量的计算机存储装置。可以预期这样的存储系统是可扩展的,提供更高的可靠性,并相对于消费者存储装置提供更好的容错性。
发明内容
用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统的方法、装置和产品,包括:针对一个或多个未处理的写入请求,从第一类型的存储设备和第二类型的存储设备中选择目标存储设备类型;响应于选择第一类型的存储设备,由存储阵列控制器向第一类型的存储设备发布第一组写入请求,该第一组写入请求被寻址到根据将由第一类型的存储设备执行的预期地址转换而选择的位置;以及响应于选择第二类型的存储设备,由存储阵列控制器向第二类型的存储设备发布第二组写入请求,该第二组写入请求被寻址到根据第二类型的存储设备中的存储器的布局而选择的位置。
根据如附图所示的本发明的示例实施例的以下更具体的描述,本发明的上述以及其他目的、特征和优势将变得明显,在附图中,相同的附图标记通常表示本发明的示例实施例的相同部分。
附图说明
图1阐述了根据本公开的实施例的包括第一类型的存储设备和第二类型的存储设备的系统的框图。
图2阐述了根据本公开的实施例的在将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统中有用的存储阵列控制器(202)的框图。
图3阐述了示出根据本公开的实施例的用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统的示例方法的流程图。
图4阐述了示出根据本公开的实施例的用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统的附加示例方法的流程图。
图5阐述了示出根据本公开的实施例的用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统的附加示例方法的流程图。
具体实施方式
以图1开始,参考附图描述了根据本公开的用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统的示例方法、装置和产品。图1阐述了根据本公开的实施例的包括第一类型的存储设备和第二类型的存储设备的系统的框图。图1的系统包括多个计算设备(164、166、168、170)。图1描绘的计算设备(164、166、168、170)可以以多种不同的方式来实现。例如,图1描绘的计算设备(164、166、168、170)可以被体现为数据中心中的服务器、工作站、个人计算机、笔记本电脑等。
图1的示例中的计算设备(164、166、168、170)被耦合以用于通过存储区域网络(‘SAN’)(158)以及局域网(160)(‘LAN’)到多个存储阵列(102、104)的数据通信。SAN(158)可以利用各种数据通信结构、设备和协议来实现。这样的SAN(158)的示例结构可以包括光纤信道、以太网、Infiniband、串行连接小型计算机系统接口(‘SAS’)等。用于这样的SAN(158)的示例数据通信协议可以包括高级技术附件(‘ATA’)、光纤信道协议、SCSI、iSCSI、HyperSCSI等。本领域的读者将认识到,SAN仅是在计算设备(164、166、168、170)和存储阵列(102、104)之间可以实现的许多可能的数据通信耦合中的一个。例如,存储阵列(102、104)内的存储设备(146、150)还可以作为网络附接存储装置(‘NAS’)被耦合到计算设备(164、166、168、170),其能够促进文件级访问,或者甚至使用提供来自同一系统的文件级协议和块级协议的SAN-NAS混合。任何其他这类数据通信耦合也都在本公开的实施例的范围内。
图1的局域网(160)还可以利用各种结构和协议来实现。这类结构的示例包括以太网(802.3)、无线(802.11)等。这类数据通信协议的示例包括传输控制协议(‘TCP’)、用户数据报协议(‘UDP’)、互联网协议(‘IP’)、超文本传输协议(‘HTTP’)、无线访问协议(‘WAP’)、手持设备传输协议(‘HDTP’)、会话发起协议(‘SIP’)、实时协议(‘RTP’)、以及如本领域技术人员将想到的其他协议。
图1的示例存储阵列(102、104)为计算设备(164、166、168、170)提供了持久性数据存储装置。图1的存储阵列(102、104)至少部分地通过使用多个存储设备(146、150)中的一个来为计算设备(164、166、168、170)提供持久数据存储装置。如在本说明书中使用的术语‘存储设备’是指被配置为持久性地记录数据的任何设备。如这里使用的术语‘持久性地’是指设备在电源丢失之后维持记录的数据的能力。存储设备的示例可以包括机械式旋转硬盘驱动器、固态驱动器(‘SSD’)等。
读者将理解,在图1所示的示例中,第一存储阵列(102)中的存储设备(146)可以包括不同类型的存储设备,并且第二存储阵列(104)中的存储设备(150)可以包括不同类型的存储设备。例如,不同类型的存储设备可以被体现为以不同方式处理传入写入请求的SSD。例如,第一类型的存储设备可以被体现为接收寻址到特定地址的写入请求并执行内部地址转换的SSD,该内部地址转换最终使得与写入请求相关联的数据被写入到取决于由SSD执行的内部地址转换的地址。相反,第二类型的存储设备可以不执行任何内部地址转换,以使得第二类型的存储设备将与写入请求相关联的数据写入到完全由存储阵列控制器(106、112)选择并且不受制于SSD所执行的内部转换的位置。
图1描绘的每个存储阵列(102、104)包括存储阵列控制器(106、112)。每个存储阵列控制器(106、112)可以被体现为包括计算机硬件、计算机软件、或者计算机硬件和软件的组合的自动化计算机器的模块。存储阵列控制器(106、112)可以被配置为执行各种与存储相关的任务。这类任务可以包括将从计算设备(164、166、168、170)中的一个或多个接收的数据写入存储装置、从存储装置擦除数据、从存储装置取回数据以将数据提供给计算设备(164、166、168、170)中的一个或多个、检测和报告磁盘利用率和性能、执行独立驱动器冗余阵列(RAID)或类RAID数据冗余操作、压缩数据、加密数据等。
每个存储阵列控制器(106、112)可以以各种方式来实现,包括作为现场可编程门阵列(‘FPGA’)、可编程逻辑芯片(‘PLC’)、专用集成电路(‘ASIC’)、或包括诸如中央处理单元、计算机存储器和各种适配器之类的分立组件的计算设备。每个存储阵列控制器(106、112)可以包括例如被配置为支持经由SAN(158)和LAN(160)的通信的数据通信适配器。尽管仅一个图1的示例中的存储阵列控制器(112)被描绘为耦合到LAN(160)以用于数据通信,但读者将理解,两个存储阵列控制器(106、112)都可以被独立地耦合到LAN(160)。每个存储阵列控制器(106、112)还可以包括例如通过中平面(114)将用于数据通信的存储阵列控制器(106、112)耦合到多个存储设备(146、150)以及多个写入缓冲设备(148、152)的I/O控制器等。图1的存储阵列控制器(106、112)可以被配置用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统,包括:针对一个或多个未处理的写入请求,从第一类型的存储设备和第二类型的存储设备中选择选择目标存储设备类型;响应于选择第一类型的存储设备,由存储阵列控制器向第一类型的存储设备发布第一组写入请求,该第一组写入请求被寻址到根据将由第一类型的存储设备执行的预期地址转换而选择的位置;以及响应于选择第二类型的存储设备,由存储阵列控制器向第二类型的存储设备发布第二组写入请求,该第二组写入请求被寻址到根据第二类型的存储设备中的存储器的布局而选择的位置,如下面将更详细描述的。
每个写入缓冲设备(148、152)可以被配置为从存储阵列控制器(106、112)接收将被存储在存储设备(146)中的数据。这样的数据可以源自计算设备(164、166、168、170)中的任何一个。在图1的示例中,将数据写入写入缓冲设备(148、152)可以比将数据写入存储设备(146、150)被更快地执行。存储阵列控制器(106、112)可以被配置为有效地利用写入缓冲设备(148、152)作为针对要被写入存储装置的数据的快速可访问缓冲器。以这种方式,相对于其中存储阵列控制器将数据直接写入存储设备(146、150)的系统,写入请求的延迟可被显著改善。
构成图1所示的示例系统的计算设备、存储阵列、网络和其他设备的布置仅用于解释,而非限制。根据本公开的各种实施例有用的系统可以包括如本领域技术人员将会想到的图1中未示出的服务器、路由器、交换机、计算设备和网络架构的不同配置。
根据本公开的实施例的将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统通常用计算机来实现。在图1的系统中,例如,所有计算设备(164、166、168、170)和存储控制器(106、112)至少在一定程度上可以被实现为计算机。因此,为了进一步解释,图2阐述了根据本公开的实施例的在将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统中有用的存储阵列控制器(202)的框图。
图2的存储阵列控制器(202)类似于图1所描绘的存储阵列控制器,因为图2的存储阵列控制器(202)经由中平面(206)被通信地耦合到一个或多个存储设备(212)以及作为存储阵列(216)的一部分被包括的一个或多个存储器缓冲设备(214)。存储阵列控制器(202)可以经由一个或多个数据通信链路(204)被耦合到中平面(206),并且中平面(206)可以经由一个或多个数据通信链路(208、210)被耦合到存储设备(212)和存储器缓冲设备(214)。图2的数据通信链路(204、208、210)可以被实现为例如外围组件互连快速(‘PCIe’)总线。
图2的存储阵列控制器(202)包括至少一个计算机处理器(232)或‘CPU’以及随机存取存储器(‘RAM’)(236)。计算机处理器(232)可以经由数据通信链路(230)被连接到RAM(236),该数据通信链路(230)可以被体现为高速存储器总线,例如,双倍数据速率4(‘DDR4’)总线。
存储在RAM(214)中的是操作系统(246)。根据本公开的实施例的在被配置用于将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统中的存储阵列控制器(202)中有用的操作系统的示例包括UNIXTM、LinuxTM、Microsoft WindowsTM以及本领域技术人员将会想到的其他系统。还存储在RAM(236)中的是选择模块(248),该模块包括在将数据写入包括第一类型的存储设备和第二类型的存储设备的存储系统中有用的计算机程序指令。选择模块(248)可以被配置用于:针对一个或多个未处理的写入请求,从第一类型的存储设备和第二类型的存储设备中选择目标存储设备类型;响应于选择第一类型的存储设备,由存储阵列控制器向第一类型的存储设备发布第一组写入请求,该第一组写入请求被寻址到根据将由第一类型的存储设备执行的预期地址转换而选择的位置;以及响应于选择第二类型的存储设备,由存储阵列控制器向第二类型的存储设备发布第二组写入请求,该第二组写入请求被寻址到根据第二类型的存储设备中的存储器的布局而选择的位置,如下面将更详细描述的。读者将理解,尽管图2的示例中的选择模块(248)和操作系统(246)被示出在RAM(168)中,但这类软件的许多组件也可以被存储在非易失性存储器中,例如,磁盘驱动器上、固态驱动器上等。
图2的存储阵列控制器(202)还包括经由数据通信链路(224、226、228)被耦合到处理器(232)的多个主机总线适配器(218、220、222)。每个主机总线适配器(218、220、222)可以被体现为计算机硬件的将主机系统(即存储阵列控制器)连接到其他网络和存储设备的模块。图2的主机总线适配器(218、220、222)中的每一个例如可以被体现为使得存储阵列控制器(202)能够连接到SAN的光纤信道适配器、使得存储阵列控制器(202)能够连接到LAN的以太网适配器等。主机总线适配器(218、220、222)中的每一个可以经由诸如PCIe总线之类的数据通信链路(224、226、228)被耦合到计算机处理器(232)。
图2的存储阵列控制器(202)还包括被耦合到扩展器(242)的主机总线适配器(240)。图2中描绘的扩展器(242)可以被体现为计算机硬件的用于将主机系统附接到比在没有扩展器(242)情况下可以附接的更大数目的存储设备的模块。图2中描绘的扩展器(242)例如可以被体现为用于在其中主机总线适配器(240)被体现为SAS控制器的实施例中使得主机总线适配器(240)能够附接到存储设备的SAS扩展器。
图2的存储阵列控制器(202)还包括经由数据通信链路(238)被耦合到计算机处理器(232)的交换机(244)。图2的交换机(244)可以被体现为可以从单个端点创建多个端点,从而使得多个设备能够共享最初是单个端点的内容的计算机硬件设备。图2的交换机(244)例如可以被体现为被耦合到PCIe总线(238)并向中平面(206)呈现多个PCIe连接点的PCIe交换机。
图2的存储阵列控制器(202)还包括用于将存储阵列控制器(202)耦合到其他存储阵列控制器的数据通信链路(234)。这样的数据通信链路(234)例如可以被体现为快速通道互连(‘QPI’)互连、PCIe非透明桥接(‘NTB’)互连等。
读者将理解,这些组件、协议、适配器和架构仅用于说明而非限制。这样的存储阵列控制器可以以各种不同的方式来实现,其中的每个方式都在本公开的范围内。
为了进一步解释,图3阐述了示出根据本公开的实施例的用于将数据写入包括第一类型的存储设备(322)和第二类型的存储设备(324)的存储系统(302)的示例方法的流程图。图3描绘的存储系统(302)可以类似于上面参考图1描述的存储系统,并且可以包括多个存储设备(324、326、328),例如,上述SSD和NVRAM存储设备。图3描绘的存储系统(302)还可以包括与上面参考图1和图2所描述的存储阵列控制器相类似的存储阵列控制器(304)。
图3描绘的存储系统(302)包括第一类型的存储设备(322)和第二类型的存储设备(324)。第一类存储设备(322)和第二类存储设备(324)例如可以被体现为以不同的方式来处理传入写入请求的固态驱动器(“SSD”)。例如,第一类型的存储设备(322)可以被体现为这样的SSD,其接收寻址到特定地址的写入请求并且执行内部地址转换,该内部地址转换最终使得与写入请求相关联的数据被写入取决于由SSD执行的内部地址转换的位置。相反,第二类型的存储设备(324)可以不执行任何内部地址转换,以使得第二类型的存储设备(324)将与写入请求相关联的数据写入完全由存储阵列控制器(304)选择并且不受由SSD执行的内部转换的影响的位置。
图3描绘的示例方法包括针对一个或多个未处理的写入请求(306),从第一类存储设备(322)和第二类存储设备(324)中选择(308)目标存储设备类型。一个或多个未处理的写入请求(306)表示将数据写入存储系统(302)的请求。这样的写入请求(306)可以由存储系统的用户发起并且由存储阵列控制器(304)经由SAN或其他数据通信网络来接收。这种写入请求被指定为“未处理”以指示存储阵列控制器(304)尚未响应于接收到写入请求而使得数据被写入任何存储设备(322、324)。在图3描绘的示例方法中,从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型可以例如通过使用考虑以下各种因素的一个或多个选择规则来执行:例如,特定存储设备上可用的存储容量的量、特定存储设备服务一个或多个写请求将需要的时间量、特定存储设备的一个或多个部分已经被编程和擦除的次数等。
存储阵列控制器(304)可以为了标识旨在用于服务一个或多个未处理的写入请求(306)的一个或多个存储设备的目的而选择(308)目标存储设备类型。在不同的情况下,可以选择不同的存储设备来服务一个或多个未处理的写入请求(306)。例如,存储阵列控制器(304)可以通过选择具有最少磨损量的存储设备的类型、通过选择提供最快写入延迟的存储设备的类型、通过选择根据一些其他性能度量提供最佳性能的存储设备的类型等来选择(308)旨在用于服务一个或多个未处理的写入请求(306)的目标存储设备类型。读者将理解,存储阵列控制器(304)可以基于许多因素的组合来选择(308)旨在用于服务一个或多个未处理的写入请求(306)的目标存储设备类型,其中的每个因素可以被相同或不同地加权。如此,选择(308)旨在用于服务一个或多个未处理的写入请求(306)的目标存储设备类型可以通过应用考虑各种参数的一个或多个预定选择规则来执行。
读者将理解,通过在从第一类型的存储设备(322)和第二类型的存储设备(324)选择(308)目标存储设备类型时考虑多个因素,存储阵列控制器(304)可以通过这样的选择过程来在本质上进行工程权衡。例如,在一些情况下,可以选择目标存储设备来促进磨损均衡目标,即使这种选择导致比通过选择另一个目标存储设备将经历的更少的每秒输入/输出操作(‘IOPS’)。替代地,在一些情况下,可以选择目标存储设备来促进实现比通过选择另一目标存储设备将实现的更高数目的IOPS,即使这种选择加剧了存储设备之间的磨损差异。
图3描绘的示例方法还包括向第一类型的存储设备(322)发布(314)第一组写入请求(318)。存储阵列控制器(304)可以向第一类型的存储设备(322)发布(314)第一组写入请求(318)可以响应于选择第一类型(310)的存储设备(322)而执行。存储阵列控制器(304)可以例如通过经由存储阵列控制器(304)和第一类型(310)的存储设备(322)之间的直接或间接通信链路来从存储阵列控制器(304)向第一类型(310)的存储设备(322)发送一个或多个消息来向第一类型的存储设备(322)发布(314)第一组写入请求(318)。
在图3描绘的示例方法中,第一组写入请求(318)可以被寻址到根据将由第一类型的存储设备(322)执行的期望地址转换而选择的一个或多个位置。存储阵列控制器(304)可以尝试例如以通过将数据写入第一类型的存储设备(322)上的未充分利用的位置来推进磨损均衡目标的方式来服务第一组写入请求(318)、以通过将数据写入第一类型的存储设备(322)上的单个擦除块来提高性能目标的方式来服务第一组写入请求(318)等。如此,存储阵列控制器(304)可以尝试以其中将数据写入第一类型的存储设备(322)内的被策略地选择的位置的方式来服务第一组写入请求(318)。由于第一类型的存储设备(322)执行影响数据将被最终写入的第一类型的存储设备(322)内的位置的内部地址转换,因此存储阵列控制器(304)在处理写入请求时可以考虑将由第一类型的存储设备(322)执行的期望地址转换,以使得在已经由第一类型的存储设备(322)执行期望地址转换之后,与这种写入请求相关联的数据可以被写入第一类型的存储设备(322)内的被策略地选择的位置。
图3描绘的示例方法还包括向第二类型的存储设备(324)发布(316)第二组写入请求(320)。存储阵列控制器(304)可以响应于选择第二类型(312)的存储设备(324)来向第二类型的存储设备(324)发布(316)第二组写入请求(320)。存储阵列控制器(304)可以例如通过经由存储阵列控制器(304)和第二类型(312)的存储设备(324)之间的直接或间接通信链路来从存储阵列控制器(304)向第二类型(312)的存储设备(324)发送一个或多个消息来向第二类型的存储设备(324)发布(316)第二组写入请求(320)。
在图3描绘的示例方法中,第二组写入请求(320)可以被寻址到根据第二类型的存储设备(324)中的存储器的布局而选择的一个或多个位置。存储阵列控制器(304)可以尝试例如以通过将数据写入第二类型的存储设备(324)上的未充分利用的位置来推进磨损均衡目标的方式来服务第二组写入请求(320)、以通过将数据写入第二类型的存储设备(324)上的单个擦除块来提高性能目标的方式来服务第二组写入请求(320)等。如此,存储阵列控制器(304)可以尝试以其中将数据写入第二类型的存储设备(324)内的被策略地选择的位置的方式来服务第二组写入请求(320)。然而,为了存储阵列控制器(304)策略性地选择这样的位置,存储阵列控制器(304)可能需要利用描述第二类型的存储设备(324)中的存储器的布局的信息。这种信息可以包括例如第二类型的存储设备(324)上的单个擦除块的大小、第二类型的存储设备(324)上的单个擦除块的开始地址和结束地址、描述可以由每个存储器信道访问的地址范围以使得可以在多个存储器信道上并行地发布写入请求的信息等。
为了进一步解释,图4阐述了示出根据本公开的实施例的用于将数据写入包括第一类型的存储设备(322)和第二类型的存储设备(324)的存储系统(302)的附加示例方法的流程图。图4描绘的示例方法类似于图3描绘的示例方法,因为图4描绘的示例方法也包括从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型、向第一类型的存储设备(322)发布(314)第一组写入请求(318)、以及向第二类型的存储设备(324)发布(316)第二组写入请求(320),如上面参考图3所描述的。
在图4描绘的示例方法中,从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型可以包括根据与第一类型的存储设备(322)相关联的一个或多个性能特征(406)和与第二类型的存储设备(324)相关联的一个或多个性能特征(408)来选择(402)目标存储设备类型。性能特征(406、408)可以包括以下信息,例如,特定存储设备上可用的存储容量的量、特定存储设备服务一个或多个写请求将需要的时间量、特定存储设备的一个或多个部分已经被编程和擦除的次数等。
在图4描绘的示例方法中,存储阵列控制器(304)可以跟踪与每个类型的存储设备的性能相关联的信息。例如,存储阵列控制器(304)可以跟踪每个类型的存储设备完成一个或多个先前的写入操作所需的时间量,从而使得存储阵列控制器(304)能够计算特定存储设备服务一个或多个写入请求将需要的预期平均时间量。类似地,存储阵列控制器(304)可以跟踪例如特定存储设备上可用的存储容量的量、特定存储设备的一个或多个部分已经被编程和擦除的次数等。
在替代实施例中,存储系统(302)中的另一设备或甚至与存储系统(302)分离的另一设备可以计算或以其他方式保持与第一类型的存储设备(322)相关联的性能特征(406)和与第二类型的存储设备(324)相关联的性能特征(408)。在这样的示例中,存储阵列控制器(304)可以通过与存储系统(302)中计算或以其他方式保持与第一类型的存储设备(322)相关联的性能特征(406)和与第二类型的存储设备(324)相关联的性能特征(408)的设备的直接或间接通信来接收与第一类型的存储设备(322)相关联的性能特征(406)和与第二类型的存储设备(324)相关联的性能特征(408)。
在图4描绘的示例方法中,存储阵列控制器(304)可以通过应用采用与第一类型的存储设备(322)相关联的性能特征(406)和与第二类型的存储设备(324)相关联的性能特征(408)作为输入的一个或多个选择规则,来根据与第一类型的存储设备(322)相关联的性能特征(406)和与第二类型的存储设备(324)相关联的性能特征(408)选择(402)目标存储设备类型。这种选择规则可以不同地加权不同的性能特征,并且可以考虑除了与不同类型的存储设备(322、324)相关联的性能特征(406、408)之外的因素。例如,在其中存储系统(302)正在接收相对大量的读取请求和写入请求的高利用率时间段期间,选择规则可以给予特定存储设备服务一个或多个写入请求将需要的时间量较高权重。然而,在其中存储系统(302)正在接收相对少量的读取请求和写入请求的低利用率时间段期间,选择规则可以给予特定存储设备的一个或多个部分已经被编程和擦除的次数较高权重,以便可以追求磨损均衡目标。
在图4描绘的示例方法中,从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型可以可选地包括根据先前对目标存储设备类型的选择来选择(404)目标存储设备类型。根据先前对目标存储设备类型的选择来选择(404)目标存储设备类型可以例如通过选择与在先前的选择期间选择的相同类型的存储设备来执行。读者将理解,由于特定存储设备(322、324)所实现的内部并行化机制,可以通过向特定存储设备(322、324)发送批量未处理的写入请求(306)来实现性能提升,而不是通过向第一类型的存储设备(322)发送第一未处理的写入请求、向第二类型的存储设备(324)发送第二未处理的写入请求、向第一类型的存储设备(322)发送第三未处理的写入请求来在两个存储设备之间频繁地改变。如此,一旦选择了特定存储设备(322、324)来服务未处理的写入请求,则另外的未处理的写入请求(306)可被引导至同一存储设备(322、324)。在图4描绘的示例方法中,一旦选择了特定存储设备(322、324)来服务未处理的写入请求,则存储阵列控制器(304)可以被配置为在预定时间段期间将预定数目的后续接收到的未处理的写入请求(306)引导至该特定存储设备(322、324)。
为了进一步解释,图5阐述了示出根据本公开的实施例的用于将数据写入包括第一类型的存储设备(322)和第二类型的存储设备(324)的存储系统(302)的附加示例方法的流程图。图5描绘的示例方法类似于图3描绘的示例方法,因为图5描绘的示例方法也包括从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型、向第一类型的存储设备(322)发布(314)第一组写入请求(318)、以及向第二类型的存储设备(324)发布(316)第二组写入请求(320),如上面参考图3所描述的。
在图5描绘的示例方法中,从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型可以包括检查(502)与第一类型的存储设备(322)相关联的第一队列(510)。与第一类型的存储设备(322)相关联的第一队列(510)例如可以被体现为由第一类型的存储设备(322)维护的数据结构,该数据结构被用于存储将由第一类型的存储设备(322)服务的写入请求。尽管第一队列(510)在图5中被描绘为驻留在第一类型的存储设备(322)上,但第一队列(510)可以替代地由存储系统(302)中的另一实体(例如,由存储阵列控制器(304))来维护。检查(502)与第一类型的存储设备(322)相关联的第一队列(510)可以例如通过检查第一队列(510)以确定有多少未决写入请求正在等待由第一类型的存储设备(322)服务来执行。在这样的示例中,等待由第一类型的存储设备(322)服务的未决写入请求的数目可以被用作对第一类型的存储设备(322)有多繁忙的度量、用作对第一类型的存储设备(322)将需要多长时间来服务另一未决写入请求的度量等。
在图5描绘的示例方法中,从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型还可以包括检查(504)与第二类型的存储设备(324)相关联的第二队列(512)。与第二类型的存储设备(324)相关联的第二队列(512)例如可以被体现为由第二类型的存储设备(324)维护的数据结构,该数据结构被用于存储将由第二类型的存储设备(324)服务的写入请求。尽管第二队列(512)在图5中被描绘为驻留在第二类型的存储设备(324)上,但第二队列(512)可以替代地由存储系统(302)中的另一实体(例如,由存储阵列控制器(304))来维护。检查(504)与第二类型的存储设备(324)相关联的第二队列(512)可以例如通过检查第二队列(512)以确定有多少未决写入请求正在等待由第二类型的存储设备(324)服务来执行。在这样的示例中,等待由第二类型的存储设备(324)服务的未决写入请求的数目可以被用作对第二类型的存储设备(324)有多繁忙的度量、用作对第二类型的存储设备(324)将需要多长时间来服务另一未决写入请求的度量等。
读者将理解,通过检查(502)与第一类型的存储设备(322)相关联的第一队列(510)并检查(504)与第二类型的存储设备(324)相关联的第二队列(512),存储阵列控制器(304)可以通过选择在其相关联队列中具有最少数目的未决写入请求的存储设备的类型、通过选择在其相关联队列中具有显著高于目标阈值的数目的未决写入请求的存储设备的类型、通过选择在其相关联队列中具有显著低于目标阈值的数目的未决写入请求的存储设备的类型,来从第一类型的存储设备(322)和第二类型的存储设备(324)中选择(308)目标存储设备类型。
图5描绘的示例方法还包括标识(506)将由第一类型的存储设备(322)执行的预期地址转换。标识(506)将由第一类型的存储设备(322)执行的预期地址转换可以例如通过向预定的一组地址发布写入请求并确定与这种写入请求相关联的数据最终将被写入第一类型的存储设备(322)内的哪些地址来执行。以这种方式,可以标识将导致实际发生的地址转换的地址转换算法。在替代实施例中,标识(506)将由第一类型的存储设备(322)执行的预期地址转换可以通过检查第一类型的存储设备(322)中的地址转换代码、查看针对第一类型的存储设备(322)产品信息、以及存储阵列控制器(304)经由一个或多个用户输入设备和一个或多个用户输入接口来从系统管理员或其他管理实体接收这些信息来执行。
在图5描绘的示例方法中,向第二类型的存储设备(324)发布(316)第二组写入请求(320)可以包括并行地向第二类型的存储设备(324)内的多个擦除块发布多个写入请求。擦除块表示在执行单个擦除操作期间被擦除的存储设备的一部分。擦除块的大小可以不同于作为写入操作的一部分可以被写入存储设备的数据的大小。例如,一些存储设备(例如,SSD)允许单个写入操作将数据写入16KB页面的存储设备,而单个擦除操作擦除包括256个16KB页面的块。在这样的示例中,并行地向第二类型的存储设备(324)内的多个擦除块发布(508)一个或多个写入请求可以通过存储阵列控制器(304)与发布寻址到第二存储器块内的页面的第二写入请求并行地发布寻址到第一存储器块内的页面的第一写入请求来执行。在这样的示例中,第二类型的存储设备(324)可以包括足够数目的存储器信道和其他硬件组件,以使得第一写入请求和第二写入请求可以被并行地执行。读者将理解,多个擦除块可以驻留在至少两个或更多个存储设备上、多个擦除块可以驻留在相同的存储设备上、多个擦除块可以驻留在第一存储设备上而其他擦除块驻留在另一存储设备上等。此外,尽管上述示例仅讨论了被并行发布的两个写入请求,但其中任何较大数目的写入请求被并行发布的实施例也在本公开的范围内。
本公开的示例实施例主要在用于分配包括存储阵列控制器和多个存储设备的存储系统的管理职责的全功能计算机系统的情境中描述。然而,本领域的技术人员将认识到的是,本公开还可以体现在布置在计算机可读存储介质上的计算机程序产品中,以与任何合适的数据处理系统一起使用。这样的计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁介质、光介质、或其他合适的介质。这种介质的示例包括硬盘驱动器或软盘中的磁盘、光盘驱动器的光盘、磁带、以及本领域技术人员会想到的其他介质。本领域技术人员将立即认识到的是,具有合适的编程装置的任何计算机系统将能够执行被体现在计算机程序产品中的本发明的方法的步骤。本领域技术人员还将认识到的是,虽然本说明书中描述的一些示例实施例是针对安装在计算机硬件上并在计算机硬件上执行的软件,但是被实现为固件或硬件的替代实施例也在本公开的范围内。
尽管以上描述的示例描绘了其中各种动作被描述为以特定顺序发生的实施例,但是不需要步骤的特定顺序。实际上,从前面的描述中将理解的是,在不背离本公开的真实精神的情况下,可以在本公开的各种实施例中进行修改和改变。本说明书中的描述仅出于说明的目的,不应被解释为限制意义。本公开的范围仅由所附权利要求的语言限制。

Claims (20)

1.一种数据写入方法,所述方法包括:
针对一个或多个未处理的写入请求,从第一类型的存储设备和第二类型的存储设备中选择目标存储设备类型;以及
响应于选择所述第一类型的存储设备,由存储阵列控制器向所述第一类型的存储设备发布第一组写入请求,其中,所述第一类型的存储设备执行所述第一组写入请求的一个或多个地址转换,并且其中,所述第一组写入请求被寻址到由所述存储阵列控制器根据将由所述第一类型的存储设备执行的预期地址转换而选择的一个或多个位置。
2.根据权利要求1所述的方法,其中,选择所述目标存储设备类型还包括根据与所述第一类型的存储设备相关联的一个或多个性能特征和与所述第二类型的存储设备相关联的一个或多个性能特征来选择所述目标存储设备类型。
3.根据权利要求1所述的方法,其中,选择所述目标存储设备类型还包括根据先前对所述目标存储设备类型的选择来选择所述目标存储设备类型。
4.根据权利要求1所述的方法,还包括标识将由所述第一类型的存储设备执行的预期地址转换。
5.根据权利要求1所述的方法,还包括:响应于选择所述第二类型的存储设备,由所述存储阵列控制器向所述第二类型的存储设备发布第二组写入请求,包括向所述第二类型的存储设备内的多个擦除块并行地发布所述写入请求中的一个或多个写入请求。
6.根据权利要求5所述的方法,其中,所述多个擦除块驻留在至少两个或更多个存储设备上。
7.根据权利要求1所述的方法,其中,选择所述目标存储设备类型还包括:检查与所述第一类型的存储设备相关联的第一队列;并且检查与所述第二类型的存储设备相关联的第二队列。
8.一种数据写入装置,所述装置包括计算机处理器和计算机存储器,所述计算机存储器可操作地耦合到所述计算机处理器,所述计算机存储器具有布置在其中的计算机程序指令,所述计算机程序指令当由所述计算机处理器执行时,使得所述装置执行以下步骤:
针对一个或多个未处理的写入请求,从第一类型的存储设备和第二类型的存储设备中选择目标存储设备类型;以及
响应于选择所述第一类型的存储设备,由存储阵列控制器向所述第一类型的存储设备发布第一组写入请求,其中,所述第一类型的存储设备执行所述第一组写入请求的一个或多个地址转换,并且其中,所述第一组写入请求被寻址到由所述存储阵列控制器根据将由所述第一类型的存储设备执行的预期地址转换而选择的一个或多个位置。
9.根据权利要求8所述的装置,其中,选择所述目标存储设备类型还包括根据与所述第一类型的存储设备相关联的一个或多个性能特征和与所述第二类型的存储设备相关联的一个或多个性能特征来选择所述目标存储设备类型。
10.根据权利要求8所述的装置,其中,选择所述目标存储设备类型还包括根据先前对所述目标存储设备类型的选择来选择所述目标存储设备类型。
11.根据权利要求8所述的装置,其中,所述计算机程序指令当由所述计算机处理器执行时,还使得所述装置执行标识将由所述第一类型的存储设备执行的预期地址转换的步骤。
12.根据权利要求8所述的装置,其中,所述计算机程序指令当由所述计算机处理器执行时,还使得所述装置执行以下步骤:
响应于选择所述第二类型的存储设备,由所述存储阵列控制器向所述第二类型的存储设备发布第二组写入请求,包括向所述第二类型的存储设备内的多个擦除块并行地发布所述写入请求中的一个或多个写入请求。
13.根据权利要求12所述的装置,其中,所述多个擦除块驻留在至少两个或更多个存储设备上。
14.根据权利要求8所述的装置,其中,选择所述目标存储设备类型还包括:检查与所述第一类型的存储设备相关联的第一队列;并且检查与所述第二类型的存储设备相关联的第二队列。
15.一种计算机可读存储介质,用于存储包括计算机程序指令的计算机程序,所述计算机程序指令当被执行时,使得计算机执行以下步骤:
针对一个或多个未处理的写入请求,从第一类型的存储设备和第二类型的存储设备中选择目标存储设备类型;以及
响应于选择所述第一类型的存储设备,由存储阵列控制器向所述第一类型的存储设备发布第一组写入请求,其中,所述第一类型的存储设备执行所述第一组写入请求的一个或多个地址转换,并且其中,所述第一组写入请求被寻址到由所述存储阵列控制器根据将由所述第一类型的存储设备执行的预期地址转换而选择的一个或多个位置。
16.根据权利要求15所述的计算机可读存储介质,其中,选择所述目标存储设备类型还包括根据与所述第一类型的存储设备相关联的一个或多个性能特征和与所述第二类型的存储设备相关联的一个或多个性能特征来选择所述目标存储设备类型。
17.根据权利要求15所述的计算机可读存储介质,其中,选择所述目标存储设备类型还包括根据先前对所述目标存储设备类型的选择来选择所述目标存储设备类型。
18.根据权利要求15所述的计算机可读存储介质,其中,所述计算机程序指令当被执行时,还使得计算机执行标识将由所述第一类型的存储设备执行的预期地址转换的步骤。
19.根据权利要求15所述的计算机可读存储介质,其中,所述计算机程序指令当被执行时,还使得计算机执行以下步骤:
响应于选择所述第二类型的存储设备,由所述存储阵列控制器向所述第二类型的存储设备发布第二组写入请求,包括向所述第二类型的存储设备内的多个擦除块并行地发布所述写入请求中的一个或多个写入请求。
20.根据权利要求19所述的计算机可读存储介质,其中,所述多个擦除块驻留在至少两个或更多个存储设备上。
CN201680070551.2A 2015-12-02 2016-10-31 数据写入方法、装置和计算机可读存储介质 Active CN108292196B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/956,841 US9760479B2 (en) 2015-12-02 2015-12-02 Writing data in a storage system that includes a first type of storage device and a second type of storage device
US14/956,841 2015-12-02
PCT/US2016/059715 WO2017095567A1 (en) 2015-12-02 2016-10-31 Writing data in a storage system that includes a first type of storage device and a second type of storage device

Publications (2)

Publication Number Publication Date
CN108292196A CN108292196A (zh) 2018-07-17
CN108292196B true CN108292196B (zh) 2021-06-29

Family

ID=57346054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680070551.2A Active CN108292196B (zh) 2015-12-02 2016-10-31 数据写入方法、装置和计算机可读存储介质

Country Status (5)

Country Link
US (3) US9760479B2 (zh)
EP (1) EP3384375B1 (zh)
CN (1) CN108292196B (zh)
AU (1) AU2016362917B2 (zh)
WO (1) WO2017095567A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US11762764B1 (en) 2015-12-02 2023-09-19 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
JP7089842B2 (ja) * 2016-10-07 2022-06-23 オムロン株式会社 演算装置および制御装置
US10552090B2 (en) 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US11593036B2 (en) 2017-06-12 2023-02-28 Pure Storage, Inc. Staging data within a unified storage element
WO2018231350A1 (en) * 2017-06-12 2018-12-20 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
US10417092B2 (en) 2017-09-07 2019-09-17 Pure Storage, Inc. Incremental RAID stripe update parity calculation
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
US10705747B2 (en) * 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10705963B2 (en) 2018-03-21 2020-07-07 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10809942B2 (en) * 2018-03-21 2020-10-20 Micron Technology, Inc. Latency-based storage in a hybrid memory system
US10678439B2 (en) * 2018-04-02 2020-06-09 Micron Technology, Inc. Optimization of memory systems based on performance goals
CN109542352B (zh) * 2018-11-22 2020-05-08 北京百度网讯科技有限公司 用于存储数据的方法和装置
CN111352573B (zh) * 2018-12-21 2022-09-13 南京基石数据技术有限责任公司 一种分布式存储方法
CN110515944B (zh) * 2019-08-16 2022-03-29 出门问问(苏州)信息科技有限公司 基于分布式数据库的数据存储方法、存储介质和电子设备
CN111079166B (zh) * 2019-12-19 2020-11-03 深圳市图美电子技术有限公司 一种安全的可有效防止数据泄露的网络存储设备
US11405456B2 (en) * 2020-12-22 2022-08-02 Red Hat, Inc. Policy-based data placement in an edge environment
US12131190B2 (en) * 2021-02-19 2024-10-29 Micron Technology, Inc. Management of a computing device usage profile
US11467959B1 (en) * 2021-05-19 2022-10-11 Apple Inc. Cache arbitration for address translation requests
CN118796089A (zh) * 2023-04-14 2024-10-18 华为技术有限公司 一种数据存储方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103823722A (zh) * 2012-11-16 2014-05-28 国际商业机器公司 基于请求类型的选择性后置数据错误检测
CN103858116A (zh) * 2011-08-09 2014-06-11 Lsi公司 I/o设备及计算主机互操作
CN104731717A (zh) * 2013-12-19 2015-06-24 旺宏电子股份有限公司 存储器装置及存储器管理方法
WO2015121912A1 (ja) * 2014-02-12 2015-08-20 株式会社日立製作所 データ記憶装置
CN105027069A (zh) * 2013-01-10 2015-11-04 净睿存储股份有限公司 卷区域的重复数据删除

Family Cites Families (171)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5651133A (en) 1995-02-01 1997-07-22 Hewlett-Packard Company Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system
JPH08242229A (ja) 1995-03-01 1996-09-17 Fujitsu Ltd ネットワーク監視における状態整合処理システム
US5799200A (en) 1995-09-28 1998-08-25 Emc Corporation Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller
US6012032A (en) 1995-11-30 2000-01-04 Electronic Data Systems Corporation System and method for accounting of computer data storage utilization
US5933598A (en) 1996-07-17 1999-08-03 Digital Equipment Corporation Method for sharing variable-grained memory of workstations by sending particular block including line and size of the block to exchange shared data structures
US6085333A (en) 1997-12-19 2000-07-04 Lsi Logic Corporation Method and apparatus for synchronization of code in redundant controllers in a swappable environment
GB2339037B (en) * 1998-07-03 2002-11-20 Advanced Risc Mach Ltd Memory address translation in a data processing system
US6647514B1 (en) 2000-03-23 2003-11-11 Hewlett-Packard Development Company, L.P. Host I/O performance and availability of a storage array during rebuild by prioritizing I/O request
US6643641B1 (en) 2000-04-27 2003-11-04 Russell Snyder Web search engine with graphic snapshots
JP2002041305A (ja) 2000-07-26 2002-02-08 Hitachi Ltd 仮想計算機システムにおける計算機資源の割当て方法および仮想計算機システム
US6678752B1 (en) * 2000-09-28 2004-01-13 International Business Machines Corporation Data storage system with automatic storage request analysis and selection of optimal output media type
US6789162B1 (en) 2000-10-17 2004-09-07 Sun Microsystems, Inc. Storage controller configured to select unused regions of a storage device for data storage according to head position
US6857045B2 (en) 2002-01-25 2005-02-15 International Business Machines Corporation Method and system for updating data in a compressed read cache
US6728738B2 (en) 2002-04-03 2004-04-27 Sun Microsystems, Inc. Fast lifetime analysis of objects in a garbage-collected system
US6895464B2 (en) 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
US7334124B2 (en) 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
US7146521B1 (en) 2002-08-21 2006-12-05 3Pardata, Inc. Preventing damage of storage devices and data loss in a data storage system
US7107389B2 (en) 2002-08-29 2006-09-12 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device and method for writing data into flash memory
US20040153844A1 (en) 2002-10-28 2004-08-05 Gautam Ghose Failure analysis method and system for storage area networks
US6831865B2 (en) 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
US7072905B2 (en) 2002-12-06 2006-07-04 Sun Microsystems, Inc. Better placement of objects reachable from outside a generation managed by the train algorithm
US7181580B2 (en) 2003-03-27 2007-02-20 International Business Machines Corporation Secure pointers
US7809252B2 (en) 2003-04-09 2010-10-05 Corel Inc. Systems and methods for caching multimedia data
US7437530B1 (en) 2003-04-24 2008-10-14 Network Appliance, Inc. System and method for mapping file block numbers to logical block addresses
US7434097B2 (en) 2003-06-05 2008-10-07 Copan System, Inc. Method and apparatus for efficient fault-tolerant disk drive replacement in raid storage systems
US7089272B1 (en) 2003-06-18 2006-08-08 Sun Microsystems, Inc. Specializing write-barriers for objects in a garbage collected heap
US7434214B2 (en) 2004-01-21 2008-10-07 International Business Machines Corporation Method for determining a close approximate benefit of reducing memory footprint of a Java application
US20050188246A1 (en) 2004-02-25 2005-08-25 Emberty Robert G. Persistent worldwide names assigned to removable media storage
US7526684B2 (en) 2004-03-24 2009-04-28 Seagate Technology Llc Deterministic preventive recovery from a predicted failure in a distributed storage system
JP2005302152A (ja) 2004-04-12 2005-10-27 Sony Corp 複合型記憶装置、データ書込方法及びプログラム
US7493424B1 (en) 2004-04-30 2009-02-17 Netapp, Inc. Network storage system with shared software stack for LDMA and RDMA
JP4392601B2 (ja) 2004-05-07 2010-01-06 パナソニック株式会社 データアクセス装置および記録媒体
US8042163B1 (en) 2004-05-20 2011-10-18 Symatec Operating Corporation Secure storage access using third party capability tokens
US7533292B2 (en) 2004-07-15 2009-05-12 International Business Machines Corporation Management method for spare disk drives in a raid system
WO2006065973A2 (en) 2004-12-15 2006-06-22 Exostar Corporation Enabling trust in a federated collaboration of networks
US9501473B1 (en) * 2004-12-21 2016-11-22 Veritas Technologies Llc Workflow process with temporary storage resource reservation
US7426623B2 (en) 2005-01-14 2008-09-16 Sandisk Il Ltd System and method for configuring flash memory partitions as super-units
US20060230245A1 (en) 2005-04-08 2006-10-12 Microsoft Corporation Data storage safety indicator and expander
US7689609B2 (en) 2005-04-25 2010-03-30 Netapp, Inc. Architecture for supporting sparse volumes
US7366825B2 (en) 2005-04-26 2008-04-29 Microsoft Corporation NAND flash memory management
JP4506594B2 (ja) 2005-07-22 2010-07-21 日本電気株式会社 冗長パス制御方法
US7694082B2 (en) 2005-07-29 2010-04-06 International Business Machines Corporation Computer program and method for managing resources in a distributed storage system
US7617216B2 (en) 2005-09-07 2009-11-10 Emc Corporation Metadata offload for a file server cluster
ITVA20050061A1 (it) 2005-11-08 2007-05-09 St Microelectronics Srl Metodo di gestione di un dispositivo di memoria non volatile e relativa memoria
US7831783B2 (en) 2005-12-22 2010-11-09 Honeywell International Inc. Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
US7421552B2 (en) 2006-03-17 2008-09-02 Emc Corporation Techniques for managing data within a data storage system utilizing a flash-based memory vault
US7899780B1 (en) 2006-03-30 2011-03-01 Emc Corporation Methods and apparatus for structured partitioning of management information
US20070294564A1 (en) 2006-04-27 2007-12-20 Tim Reddin High availability storage system
US8266472B2 (en) 2006-05-03 2012-09-11 Cisco Technology, Inc. Method and system to provide high availability of shared data
US9455955B2 (en) 2006-05-17 2016-09-27 Richard Fetik Customizable storage controller with integrated F+ storage firewall protection
US7613876B2 (en) 2006-06-08 2009-11-03 Bitmicro Networks, Inc. Hybrid multi-tiered caching storage system
US7743239B2 (en) 2006-06-30 2010-06-22 Intel Corporation Accelerating integrity checks of code and data stored in non-volatile memory
US7627786B2 (en) 2006-09-26 2009-12-01 International Business Machines Corporation Tracking error events relating to data storage drives and/or media of automated data storage library subsystems
US8620970B2 (en) 2006-10-03 2013-12-31 Network Appliance, Inc. Methods and apparatus for changing versions of a filesystem
US7669029B1 (en) 2006-11-15 2010-02-23 Network Appliance, Inc. Load balancing a data storage system
US7710777B1 (en) 2006-12-20 2010-05-04 Marvell International Ltd. Semi-volatile NAND flash memory
US7640332B2 (en) 2006-12-27 2009-12-29 Hewlett-Packard Development Company, L.P. System and method for hot deployment/redeployment in grid computing environment
KR100923990B1 (ko) 2007-02-13 2009-10-28 삼성전자주식회사 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
US7996599B2 (en) 2007-04-25 2011-08-09 Apple Inc. Command resequencing in memory operations
US7991942B2 (en) 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories
US7870360B2 (en) 2007-09-14 2011-01-11 International Business Machines Corporation Storage area network (SAN) forecasting in a heterogeneous environment
KR101433859B1 (ko) 2007-10-12 2014-08-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법
US8271700B1 (en) 2007-11-23 2012-09-18 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
US7743191B1 (en) 2007-12-20 2010-06-22 Pmc-Sierra, Inc. On-chip shared memory based device architecture
JP4471007B2 (ja) 2008-02-05 2010-06-02 ソニー株式会社 記録装置、記録装置の制御方法、記録装置の制御方法のプログラム及び記録装置の制御方法のプログラムを記録した記録媒体
US8949863B1 (en) 2008-04-30 2015-02-03 Netapp, Inc. Creating environmental snapshots of storage device failure events
US8093868B2 (en) 2008-09-04 2012-01-10 International Business Machines Corporation In situ verification of capacitive power support
US9256542B1 (en) * 2008-09-17 2016-02-09 Pmc-Sierra Us, Inc. Adaptive intelligent storage controller and associated methods
US8086585B1 (en) 2008-09-30 2011-12-27 Emc Corporation Access control to block storage devices for a shared disk based file system
US9473419B2 (en) 2008-12-22 2016-10-18 Ctera Networks, Ltd. Multi-tenant cloud storage system
US8762642B2 (en) 2009-01-30 2014-06-24 Twinstrata Inc System and method for secure and reliable multi-cloud data replication
JP4844639B2 (ja) 2009-02-19 2011-12-28 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US9134922B2 (en) 2009-03-12 2015-09-15 Vmware, Inc. System and method for allocating datastores for virtual machines
KR101586047B1 (ko) 2009-03-25 2016-01-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US8805953B2 (en) 2009-04-03 2014-08-12 Microsoft Corporation Differential file and system restores from peers and the cloud
TWI408689B (zh) 2009-04-14 2013-09-11 Jmicron Technology Corp 存取儲存裝置的方法及相關控制電路
JP4874368B2 (ja) 2009-06-22 2012-02-15 株式会社日立製作所 フラッシュメモリを用いたストレージシステムの管理方法及び計算機
US7948798B1 (en) 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device
US8402242B2 (en) 2009-07-29 2013-03-19 International Business Machines Corporation Write-erase endurance lifetime of memory storage devices
US8868957B2 (en) 2009-09-24 2014-10-21 Xyratex Technology Limited Auxiliary power supply, a method of providing power to a data storage system and a back-up power supply charging circuit
TWI428917B (zh) 2009-11-25 2014-03-01 Silicon Motion Inc 快閃記憶裝置、資料儲存系統、以及資料儲存系統之運作方法
US8250324B2 (en) 2009-11-30 2012-08-21 International Business Machines Corporation Method to efficiently locate meta-data structures on a flash-based storage device
US8387136B2 (en) 2010-01-05 2013-02-26 Red Hat, Inc. Role-based access control utilizing token profiles
US8452932B2 (en) 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
JP5444464B2 (ja) * 2010-01-14 2014-03-19 株式会社日立製作所 ストレージシステム
US8880843B2 (en) * 2010-02-10 2014-11-04 International Business Machines Corporation Providing redundancy in a virtualized storage system for a computer system
US20120023144A1 (en) 2010-07-21 2012-01-26 Seagate Technology Llc Managing Wear in Flash Memory
US20120054264A1 (en) 2010-08-31 2012-03-01 International Business Machines Corporation Techniques for Migrating Active I/O Connections with Migrating Servers and Clients
US8566546B1 (en) 2010-09-27 2013-10-22 Emc Corporation Techniques for enforcing capacity restrictions of an allocation policy
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US8949502B2 (en) 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM
US8812860B1 (en) 2010-12-03 2014-08-19 Symantec Corporation Systems and methods for protecting data stored on removable storage devices by requiring external user authentication
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US8589723B2 (en) 2010-12-22 2013-11-19 Intel Corporation Method and apparatus to provide a high availability solid state drive
US8924778B2 (en) * 2010-12-29 2014-12-30 Lsi Corporation Method to synchronize a replacement controller's firmware version to the native configuration database version on a simplex array
US8465332B2 (en) 2011-01-13 2013-06-18 Tyco Electronics Corporation Contact assembly for an electrical connector
US8578442B1 (en) 2011-03-11 2013-11-05 Symantec Corporation Enforcing consistent enterprise and cloud security profiles
US8683169B2 (en) * 2011-05-05 2014-03-25 International Business Machines Corporation Selecting an auxiliary storage medium for writing data of real storage pages
US8738882B2 (en) 2011-06-03 2014-05-27 Apple Inc. Pre-organization of data
US8751463B1 (en) 2011-06-30 2014-06-10 Emc Corporation Capacity forecasting for a deduplicating storage system
US8769622B2 (en) 2011-06-30 2014-07-01 International Business Machines Corporation Authentication and authorization methods for cloud computing security
EP2737431A4 (en) 2011-07-27 2015-03-25 Cleversafe Inc GENERATION OF DISTRIBUTED STORAGE NETWORK EVENT RECORDS
US8931041B1 (en) 2011-07-29 2015-01-06 Symantec Corporation Method and system for visibility and control over access transactions between clouds using resource authorization messages
US20130036272A1 (en) 2011-08-02 2013-02-07 Microsoft Corporation Storage engine node for cloud-based storage
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US9525900B2 (en) 2011-09-15 2016-12-20 Google Inc. Video management system
JP2013077278A (ja) 2011-09-16 2013-04-25 Toshiba Corp メモリ・デバイス
US9197623B2 (en) 2011-09-29 2015-11-24 Oracle International Corporation Multiple resource servers interacting with single OAuth server
AU2011379960A1 (en) 2011-10-24 2014-05-15 Schneider Electric Industries Sas System and method for managing industrial processes
WO2013071087A1 (en) 2011-11-09 2013-05-16 Unisys Corporation Single sign on for cloud
CN104040516B (zh) 2011-11-17 2017-03-15 英特尔公司 用于数据去重的方法、设备和系统
US9330245B2 (en) 2011-12-01 2016-05-03 Dashlane SAS Cloud-based data backup and sync with secure local storage of access keys
US20130219164A1 (en) 2011-12-29 2013-08-22 Imation Corp. Cloud-based hardware security modules
US8800009B1 (en) 2011-12-30 2014-08-05 Google Inc. Virtual machine service access
US8613066B1 (en) 2011-12-30 2013-12-17 Amazon Technologies, Inc. Techniques for user authentication
KR20130079706A (ko) * 2012-01-03 2013-07-11 삼성전자주식회사 휘발성 메모리를 포함하는 저장 장치의 구동 방법
US9423983B2 (en) 2012-01-19 2016-08-23 Syncsort Incorporated Intelligent storage controller
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
JP2013161235A (ja) 2012-02-03 2013-08-19 Fujitsu Ltd ストレージ装置、ストレージ装置の制御方法及びストレージ装置の制御プログラム
US10474584B2 (en) 2012-04-30 2019-11-12 Hewlett Packard Enterprise Development Lp Storing cache metadata separately from integrated circuit containing cache controller
US8832372B2 (en) 2012-05-24 2014-09-09 Netapp, Inc. Network storage systems having clustered raids for improved redundancy and load balancing
US10341435B2 (en) 2012-06-12 2019-07-02 Centurylink Intellectual Property Llc High performance cloud storage
CN104396290B (zh) 2012-07-02 2018-07-10 Sk普兰尼特有限公司 单一证书服务系统及其操作方法
US9164840B2 (en) 2012-07-26 2015-10-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Managing a solid state drive (‘SSD’) in a redundant array of inexpensive drives (‘RAID’)
US9047181B2 (en) 2012-09-07 2015-06-02 Splunk Inc. Visualization of data from clusters
US8769651B2 (en) 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
WO2014051552A1 (en) 2012-09-25 2014-04-03 Empire Technology Development Llc Limiting data usage of a device connected to the internet via tethering
US9245144B2 (en) 2012-09-27 2016-01-26 Intel Corporation Secure data container for web applications
US8862810B2 (en) 2012-09-27 2014-10-14 Arkologic Limited Solid state device write operation management system
US8990905B1 (en) 2012-09-28 2015-03-24 Emc Corporation Protected resource access control utilizing intermediate values of a hash chain
US8990914B2 (en) 2012-09-28 2015-03-24 Intel Corporation Device, method, and system for augmented reality security
US8850546B1 (en) 2012-09-30 2014-09-30 Emc Corporation Privacy-preserving user attribute release and session management
US20140101434A1 (en) 2012-10-04 2014-04-10 Msi Security, Ltd. Cloud-based file distribution and management using real identity authentication
US10126987B2 (en) * 2012-10-18 2018-11-13 Marvell International Ltd. Storage devices and methods for controlling a storage device
US9209973B2 (en) 2012-11-20 2015-12-08 Google Inc. Delegate authorization in cloud-based storage system
US8997197B2 (en) 2012-12-12 2015-03-31 Citrix Systems, Inc. Encryption-based data access management
US9317223B2 (en) 2012-12-17 2016-04-19 International Business Machines Corporation Method and apparatus for automated migration of data among storage centers
US9075529B2 (en) 2013-01-04 2015-07-07 International Business Machines Corporation Cloud based data migration and replication
US9052917B2 (en) 2013-01-14 2015-06-09 Lenovo (Singapore) Pte. Ltd. Data storage for remote environment
US9483657B2 (en) 2013-01-14 2016-11-01 Accenture Global Services Limited Secure online distributed data storage services
US9009526B2 (en) 2013-01-24 2015-04-14 Hewlett-Packard Development Company, L.P. Rebuilding drive data
US20140229654A1 (en) 2013-02-08 2014-08-14 Seagate Technology Llc Garbage Collection with Demotion of Valid Data to a Lower Memory Tier
US20140230017A1 (en) 2013-02-12 2014-08-14 Appsense Limited Programmable security token
US8902532B2 (en) 2013-03-20 2014-12-02 International Business Machines Corporation Write avoidance areas around bad blocks on a hard disk drive platter
GB2513377A (en) 2013-04-25 2014-10-29 Ibm Controlling data storage in an array of storage devices
US9317382B2 (en) 2013-05-21 2016-04-19 International Business Machines Corporation Storage device with error recovery indication
US10038726B2 (en) 2013-06-12 2018-07-31 Visa International Service Association Data sensitivity based authentication and authorization
US9124569B2 (en) 2013-06-14 2015-09-01 Microsoft Technology Licensing, Llc User authentication in a cloud environment
US8898346B1 (en) 2013-06-20 2014-11-25 Qlogic, Corporation Method and system for configuring network devices
US8984602B1 (en) 2013-06-28 2015-03-17 Emc Corporation Protected resource access control utilizing credentials based on message authentication codes and hash chain values
US9454423B2 (en) 2013-09-11 2016-09-27 Dell Products, Lp SAN performance analysis tool
US9577953B2 (en) 2013-09-27 2017-02-21 Intel Corporation Determination of a suitable target for an initiator by a control plane processor
US9465735B2 (en) * 2013-10-03 2016-10-11 Qualcomm Incorporated System and method for uniform interleaving of data across a multiple-channel memory architecture with asymmetric storage capacity
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9519580B2 (en) 2013-11-11 2016-12-13 Globalfoundries Inc. Load balancing logical units in an active/passive storage system
US9619311B2 (en) 2013-11-26 2017-04-11 International Business Machines Corporation Error identification and handling in storage area networks
US9529546B2 (en) 2014-01-08 2016-12-27 Netapp, Inc. Global in-line extent-based deduplication
US10635316B2 (en) * 2014-03-08 2020-04-28 Diamanti, Inc. Methods and systems for data storage using solid state drives
US9250823B1 (en) 2014-05-20 2016-02-02 Emc Corporation Online replacement of physical storage in a virtual storage system
WO2015196464A1 (zh) 2014-06-27 2015-12-30 华为技术有限公司 一种控制器、闪存装置和将数据写入闪存装置的方法
US9516167B2 (en) 2014-07-24 2016-12-06 Genesys Telecommunications Laboratories, Inc. Media channel management apparatus for network communications sessions
US10204010B2 (en) 2014-10-03 2019-02-12 Commvault Systems, Inc. Intelligent protection of off-line mail data
US9830092B2 (en) * 2015-02-20 2017-11-28 Netapp, Inc. Solid state device parity caching in a hybrid storage array
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US9521200B1 (en) 2015-05-26 2016-12-13 Pure Storage, Inc. Locally providing cloud storage array services
US20160350009A1 (en) 2015-05-29 2016-12-01 Pure Storage, Inc. Buffering data to be written to an array of non-volatile storage devices
US10021170B2 (en) 2015-05-29 2018-07-10 Pure Storage, Inc. Managing a storage array using client-side services
US9444822B1 (en) 2015-05-29 2016-09-13 Pure Storage, Inc. Storage array access control from cloud-based user authorization and authentication
US9300660B1 (en) 2015-05-29 2016-03-29 Pure Storage, Inc. Providing authorization and authentication in a cloud for a user of a storage array
US9760479B2 (en) 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
US9507532B1 (en) 2016-05-20 2016-11-29 Pure Storage, Inc. Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103858116A (zh) * 2011-08-09 2014-06-11 Lsi公司 I/o设备及计算主机互操作
CN103823722A (zh) * 2012-11-16 2014-05-28 国际商业机器公司 基于请求类型的选择性后置数据错误检测
CN105027069A (zh) * 2013-01-10 2015-11-04 净睿存储股份有限公司 卷区域的重复数据删除
CN104731717A (zh) * 2013-12-19 2015-06-24 旺宏电子股份有限公司 存储器装置及存储器管理方法
WO2015121912A1 (ja) * 2014-02-12 2015-08-20 株式会社日立製作所 データ記憶装置

Also Published As

Publication number Publication date
AU2016362917B2 (en) 2021-05-20
CN108292196A (zh) 2018-07-17
US10970202B1 (en) 2021-04-06
EP3384375B1 (en) 2022-04-13
US10255176B1 (en) 2019-04-09
US20170161184A1 (en) 2017-06-08
US9760479B2 (en) 2017-09-12
AU2016362917A1 (en) 2018-05-31
WO2017095567A1 (en) 2017-06-08
EP3384375A1 (en) 2018-10-10

Similar Documents

Publication Publication Date Title
CN108292196B (zh) 数据写入方法、装置和计算机可读存储介质
US11784667B2 (en) Selecting optimal responses to errors in a storage system
US10540307B1 (en) Providing an active/active front end by coupled controllers in a storage system
US20220317894A1 (en) Supporting A Stateless Controller In A Storage System
US20220019359A1 (en) Alert Tracking In Storage
US20210255794A1 (en) Optimizing Data Write Size Using Storage Device Geometry
US10310740B2 (en) Aligning memory access operations to a geometry of a storage device
EP3314389B1 (en) Aligning memory access operations to a geometry of a 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
GR01 Patent grant
GR01 Patent grant