CN106933494B - 混合存储设备的操作方法和装置 - Google Patents
混合存储设备的操作方法和装置 Download PDFInfo
- Publication number
- CN106933494B CN106933494B CN201511021593.0A CN201511021593A CN106933494B CN 106933494 B CN106933494 B CN 106933494B CN 201511021593 A CN201511021593 A CN 201511021593A CN 106933494 B CN106933494 B CN 106933494B
- Authority
- CN
- China
- Prior art keywords
- storage equipment
- data
- ssd
- written
- equipment
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例涉及一种用于混合存储设备的操作方法和装置,该混合存储设备包括第一类型的存储设备和不同于第一类型的存储设备的第二类型的存储设备,该方法包括:将数据同时同步写入所述第一类型的存储设备和所述第二类型的存储设备。通过使用根据本公开的实施例,可以例如增加实际存储空间以及延长存储设备的使用寿命。
Description
技术领域
本公开涉及电子领域,更具体而言,涉及具有多种不同类型的存储设备的操作方法和装置。
背景技术
随着计算机存储设备技术的发展,越来越多的计算设备使用了更为快速的存储设备,例如固态硬盘(SSD)。固态硬盘有着高速读写的性能优势,但是也有着相比于传统机械硬盘寿命更短的缺陷,并且对于SSD的频繁写入会降低其使用寿命。
固态硬盘一方面可以用作传统的机械硬盘的替代,提供更为快速的数据读写性能,另一方面也可以被配置用于高速缓存,提高计算设备的性能。例如,在数据存储设备的领域,SSD可以与机械硬盘组合以提供大容量和相对快速的存储方案。此外,出于数据安全的考虑,SSD通常也使用RAID(例如RAID1、RAID2等)技术来确保数据的安全性。
发明内容
总体而言,本公开的实施例总体涉及混合存储设备的操作方法和装置。
根据第一方面,提供一种用于混合存储设备的操作方法,所述混合存储设备包括第一类型的存储设备和不同于所述第一类型的第二类型的存储设备,所述方法包括:将数据同步写入所述第一类型的存储设备和所述第二类型的存储设备。
在一个实施例中,响应于成功执行所述同步写入,确定不更新所述第一类型的存储设备中的元数据。
在一个实施例中,所述混合存储设备还包括易失性存储器,所述方法还包括:响应于所述同步写入失败,从所述易失性存储器向主机发送指示写入所述数据失败的信息;以及从所述主机再次向所述第一类型的存储设备和所述第二类型的存储设备中同步写入所述数据。
在一个实施例中,所述方法还包括:响应于所述同步写入失败,在所述第一类型的存储设备中写入失败的数据被设置为无效数据;以及更新所述第一类型的存储设备中的元数据。
在一个实施例中,所述混合存储设备还包括易失性存储器,所述方法还包括:响应于所述同步写入失败,所述易失性存储器向主机发送指示写入所述数据成功的信息并且向所述第一类型的存储设备中重新写入所述数据直至成功。
在一个实施例中,该方法还包括:响应于所述同步写入失败,更新所述第一类型的存储设备中的元数据;使用被写入第二类型的存储设备中的数据向所述第一类型的存储设备中写入所述数据;以及再次更新所述第一类型的存储设备中的元数据。
根据另一方面,提供一种用于混合存储设备的装置,所述混合存储设备包括第一类型的存储设备和不同于所述第一类型的第二类型的存储设备,所述装置包括处理单元,所述处理单元被配置成:将数据同步写入所述第一类型的存储设备和所述第二类型的存储设备。
可以理解,本部分并不旨在标识本公开的实施例的关键或重要特征,亦非旨在用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
通过在所附附图中的本公开的一些实施例的更为详细的描述,本公开的以上和其它的优势、特征和目标将变得更为明显,其中:
图1是根据本公开的一个实施例的操作示意图;
图2是根据本公开的一个实施例的方法的流程图;
图3是根据本公开的另一个实施例的方法的流程图;
图4是一种普通SSD高速缓存的配置结构示意图;
图5是一种普通混合存储设备的操作示意图;以及
图6是示出了适于实现本公开的实施例的设备的框图。
在所有附图中,相同或相似参考数字表示相同或相似元素。
具体实施方式
现在将参考一些示例实施例描述本公开的原理。可以理解,这些实施例仅出于说明并且帮助本领域的技术人员理解和实施例本公开的目的而描述,而非建议对本公开的范围的任何限制。在此描述的本公开的内容可以以下文描述的方式之外的各种方式实施。
如本文中所述,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”。术语“基于”可以被理解为“至少部分地基于”。术语“一个实施例”可以被理解为“至少一个实施例”。术语“另一实施例”可以被理解为“至少一个其它实施例”。
总体而言,本公开的实施例总体涉及用于混合存储设备的方法和装置。为了便于理解本公开的实施例的技术方案和优势,现参考附图4和附图5描述普通混合存储设备的配置和操作流程。在数据存储或服务器领域,现在越来越多地使用SSD,例如作为第二级高速缓存(cache)。在这类产品中,通常使用动态随机存取存储器(DRAM)高速缓存作为第一级高速缓存。当外来主机访问磁盘阵列时,通常具有两类高速缓存命中:1)DRAM高速缓存命中,其中DRAM高速缓存将首先搜索其缓存数据,如果DRAM高速缓存搜索命中,则DARM高速缓存将使用缓存的数据以响应主机请求;如果DRAM cache搜索未命中,则输入输出(IO)访问将转至第二级高速缓存,例如SSD高速缓存;2)SSD高速缓存命中,其中SSD高速缓存将搜索其缓存的数据,如果搜索命中,则SSD高速缓存将使用其缓存数据以响应于读写请求;如果搜索未命中,则SSD高速缓存将该IO请求转至硬盘(HDD)矩阵以从硬盘读取所需数据。可以理解,对于HDD的读取将比从DRAM或SSD直接返回所需数据更为慢速。参见图4,图4示出了一种普通SSD高速缓存400的配置结构示意图。SSD高速缓存400例如包括3个SSD配对设备402、404和406。每个SSD配对设备例如由两个SSD设备构成,其中每个SSD设备包括用于存储元数据的第一区域4021或4023以及用于存储所使用的数据的第二区域4022或4024。两个SSD设备例如以RAID1技术进行配置,因此含有两个SSD设备的一个配对设备实际使用的存储容量仅是一个SSD的存储容量。
参见图5,图5示出了一种普通混合存储设备的操作500的示意图。当来自例如DARM的IO(例如写入)如箭头S1所示访问SSD高速缓存502时,如果命中,则如箭头S2所示更新SSD高速缓存中的元数据存储区域,例如元数据存储区域504。将与该写入对应的高速缓存页面元数据从干净更新为脏(该更新是对SSD的一次写入)。在本文中,脏页面或数据表示该数据被存储在SSD而未存储在HDD508中,而干净的页面或数据则表示该存储该页面或数据同时存储在SSD和HDD或均未存储在SSD和HDD中。然后如箭头S3所示,将该写入数据写入至SSD中的使用的数据区域,例如使用数据区域506(这是对SSD的又一次写入)。在此之后,如箭头S4所示,将表示该写入的信息返回给第一级高速缓存,例如DRAM缓存。SSD高速缓存400中的后端服务扫描SSD发现在SSD缓存中存在脏的页面,后端服务首先如箭头S5所示从SSD读取该页面数据(对SSD的一次读取),然后如箭头S6所示将该脏页面写入HDD 508(对于HDD的一次写入)。最后如箭头S7所示更新该缓存页面的元数据,将其从脏更新为干净(对于SSD的再一次写入)。
由于SSD高速缓存仅具有非常少的数据为脏数据,因此为了保护这些非常少的数据而使用RAID1配置浪费了较多的SSD存储空间。其次,由于脏数据或页面仅在高速缓存中存在一段时间,因此当SSD配对中的两个SSD均故障时,脏数据仍然可能丢失。此外,如上参见图5中的步骤S1-S7所示,来自DRAM的一次写入导致了对SSD的3次写入和1次读取以及对HDD的一次写入。当来自DRAM的写入增加时,这将显著影响SSD的使用寿命。
本公开的实施例因此对其做出一些改进。在一些情形下,尤其是在来自主机的IO访问主要是读取SSD高速缓存中的数据时,本公开的实施例可以通过对降低写入速度做出妥协来倍增SSD缓存空间以及延长SSD的使用寿命。
参见图1,图1示出了根据本公开的一个实施例的操作100的示意图。在图1的示例中,SSD高速缓存102并不使用RAID技术,也即SSD无需配对,而是单独使用,这样相比于图4所示的配置,可以倍增SSD高速缓存的存储空间。当例如DRAM如箭头S1所示写入SSD高速缓存102时,SSD高速缓存如箭头S2所示同步将该数据写入SSD的使用数据区域106和HDD 108。在公开中,“同步”表示数据被一次性写入两种不同类型的存储设备,而非如图5所示地将数据首先写入一个存储设备,并且通过后端服务虽然将该数据从该存储设备写入另一类型的存储设备。本领域技术人员应该理解,本公开所述术语“同步”并不排除两种不同类型的存储设备的写入操作在“一次性写入”具有某种由于***特性所决定的时序的情形,因此术语“同步”并非指对两种不同类型的存储设备的写入操作在时序上绝对“同时”。
通过将数据同步写入诸如SSD和HDD之类的不同存储设备,也可以确保数据的安全性,这是因为一旦一个设备出现问题,另一设备上仍存储有相同的数据。此外,可以理解,该技术方案对于写入操作较少的混合存储设备尤为有利,这是因为对于该混合存储设备的总体读写性能影响相对较小。
此外,由于在如图1所示的操作过程中,对于SSD的访问操作仅有一次写入操作,相比于如图5所示的3次写入和1次读取操作而言,大大减少了对于SSD的写入和读取操作的次数,因此可以显著延长SSD的使用寿命。
参见图2,图2示出了本公开的一个实施例的方法200的流程图。在步骤202中,将例如来自DRAM的数据同步写入第一类型的存储设备(例如SSD)和第二类型的存储设备(例如HDD)。由于存在同步写入不成功的较小的概率,因此在步骤204中判断同步写入是否成功。如果同步写入操作成功,则在步骤206中确定不更新第一类型的存储设备中的元数据。如上所述,由于数据被同步写入SSD和HDD,因此,SSD中用于表示SSD中是否有未写入HDD的脏数据的元数据无需更新。换言之,由于SSD中的使用数据区域和HDD中同步地具有被写入的数据或是均不具有该数据,用于映射SSD和HDD两者存储数据状况的元数据无需被更新,因此消除了用于更新SSD中元数据的写入操作,减少对SSD的写入“磨损”,从而延长SSD的使用寿命。
如果同步写入失败,则在步骤208中,由易失性存储器(例如DRAM)向外部主机发送指示数据失败的信息。继而,在步骤210中,将SSD中被写入失败的数据设置为无效数据,并且更新SSD中的相应元数据。外部主机在确认前次写入失败之后,可以在步骤212中重新发起写入,即,从主机再次向SSD和HDD同步写入数据,并且返回步骤204,直至同步写入成功。
可以理解,上述流程中第一存储设备为SSD并且第二存储设备为HDD仅是为了便于描述,而非旨在对本公开的实施例做出限制。可以在理解该技术方案的原理的基础之上,构思其它技术方案,例如将HDD替换为其它存储设备,例如磁带,或是将SSD替换为其它需要降低写入操作的存储设备。
参见图3,图3示出了根据本公开的另一个实施例的方法300的流程图。方法300与方法200不同之处仅在于同步写入操作失败时的处理方式。因此,将不对方法300中的步骤202、204和206进行赘述。当同步写入操作失败时,用于该数据已经缓存在例如DRAM之类的易失性存储器中,因此在步骤308中,易失性存储器DRAM向外部主机先发送指示写入数据成功的信息并向第一类型的存储设备(例如SSD)重新写入数据。在一个实施例中,由于写入数据失败,因此可以直接将SSD中的本应存储该数据的空间设置为无效数据,并且将该数据直接写入HDD,此时由于SSD和HDD此时不一致,因此在步骤310中更新元数据。然后告知DRAM高速缓存写入成功。在此之后SSD发出命令执行后端执行操作,在步骤312中,将HDD中存储的数据写入SDD。此时由于SSD和HDD中的相应区域数据一致,因此在步骤314中再次更新元数据。
可以理解,上述流程中第一存储设备为SSD并且第二存储设备为HDD仅是为了便于描述,而非旨在对本公开的实施例做出限制。可以在理解该技术方案的原理的基础之上,构思其它技术方案,例如将HDD替换为其它存储设备,例如磁带,或是将SSD替换为其它需要降低写入操作的存储设备。
参见图6,图6示出了一个可以用来实施本公开的实施例的设备,600的框图。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储单元608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如阴极射线管(CRT)、液晶显示器(LCD)、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器等。通信单元609经由诸如因特网的网络执行通信处理。
上文所描述的过程和处理,例如方法200和300,可以由处理单元601执行。例如,在实施例中,实现方法200的过程可以被实现为计算机软件程序,其可被有形地包含在机器可读介质上。在这样的实施例中,该计算机程序可以通过通信单元609从网络上被下载和安装,和/或借助于存储单元608而被输入设备600以供处理单元601执行。
总体而言,本公开的各种实施例可以以硬件或专用电路、软件、逻辑或其任意组合实施。一些方面可以以硬件实施,而其它一些方面可以以固件或软件实施,该固件或软件可以由控制器、微处理器或其它计算设备执行。虽然本公开的各种方面被示出和描述为框图、流程图或使用其它一些绘图表示,但是可以理解本文描述的框、设备、***、技术或方法可以以非限制性的方式以硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其它计算设备或其一些组合实施。
此外,虽然操作以特定顺序描述,但是这不应被理解为要求这类操作以所示的顺序执行或是以顺序序列执行,或是要求所有所示的操作被执行以实现期望结果。在一些情形下,多任务或并行处理可以是有利的。类似地,虽然若干具体实现方式的细节在上面的讨论中被包含,但是这些不应被解释为对本公开的范围的任何限制,而是特征的描述仅是针对具体实施例。在分离的一些实施例中描述的某些特征也可以在单个实施例中组合地执行。相反对,在单个实施例中描述的各种特征也可以在多个实施例中分离地实施或是以任何合适的子组合的方式实施。
虽然本公开以具体结构特征和/或方法动作来描述,但是可以理解在所附权利要求书中限定的本公开并不必然限于上述具体特征或动作。而是,上述具体特征和动作仅公开为实施权利要求的示例形式。
Claims (4)
1.一种用于操作混合存储设备的方法,所述混合存储设备包括第一类型的存储设备和不同于所述第一类型的第二类型的存储设备,所述方法包括:
将数据同步写入所述第一类型的存储设备和所述第二类型的存储设备,其中所述混合存储设备还包括易失性存储器;
响应于所述同步写入失败,由所述易失性存储器向主机发送指示写入所述数据成功的信息;
向所述第一类型的存储设备中重新写入所述数据;
响应于所述同步写入失败,更新所述第一类型的存储设备中的元数据;
使用被写入所述第二类型的存储设备中的数据向所述第一类型的存储设备中写入所述数据;以及
再次更新所述第一类型的存储设备中的所述元数据。
2.根据权利要求1所述的方法,进一步包括:
响应于所述写入成功,维持所述第一类型的存储设备中的元数据,所述元数据映射被存储在所述第一类型的存储设备和所述第二类型的存储设备中的数据的状况。
3.一种用于混合存储设备的装置,所述混合存储设备包括第一类型的存储设备和不同于所述第一类型的第二类型的存储设备,所述装置包括处理单元,所述处理单元被配置成:
将数据同步写入所述第一类型的存储设备和所述第二类型的存储设备,其中所述混合存储设备还包括易失性存储器;
响应于所述同步写入失败,
使得所述易失性存储器向主机发送指示写入所述数据成功的信息;
向所述第一类型的存储设备中重新写入所述数据;
响应于所述同步写入失败,更新所述第一类型的存储设备中的元数据;
使用被写入所述第二类型的存储设备中的数据向所述第一类型的存储设备中写入所述数据;以及
再次更新所述第一类型的存储设备中的所述元数据。
4.根据权利要求3所述的装置,其中所述处理单元还被配置成:
响应于所述写入成功,维持所述第一类型的存储设备中的元数据,所述元数据映射被存储在所述第一类型的存储设备和所述第二类型的存储设备中的数据的状况。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511021593.0A CN106933494B (zh) | 2015-12-31 | 2015-12-31 | 混合存储设备的操作方法和装置 |
US15/387,908 US10339021B2 (en) | 2015-12-31 | 2016-12-22 | Method and apparatus for operating hybrid storage devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511021593.0A CN106933494B (zh) | 2015-12-31 | 2015-12-31 | 混合存储设备的操作方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933494A CN106933494A (zh) | 2017-07-07 |
CN106933494B true CN106933494B (zh) | 2019-10-18 |
Family
ID=59226314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511021593.0A Active CN106933494B (zh) | 2015-12-31 | 2015-12-31 | 混合存储设备的操作方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10339021B2 (zh) |
CN (1) | CN106933494B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213693B (zh) | 2017-06-30 | 2023-05-05 | 伊姆西Ip控股有限责任公司 | 存储管理方法、存储***和计算机程序产品 |
CN109164974B (zh) * | 2018-06-27 | 2021-07-09 | 创新先进技术有限公司 | 一种数据存储方法及装置、一种计算设备及存储介质 |
CN109062499A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 写数据方法、装置、计算机装置及存储介质 |
CN110737395B (zh) | 2018-07-20 | 2023-09-29 | 伊姆西Ip控股有限责任公司 | I/o管理方法、电子设备和计算机可读存储介质 |
CN109683807A (zh) * | 2018-10-18 | 2019-04-26 | 张德辉 | 带备份的冷数据安全存储***及其存储方法 |
CN111104055B (zh) | 2018-10-29 | 2023-10-27 | 伊姆西Ip控股有限责任公司 | 用于管理存储***的方法、设备和计算机程序产品 |
CN109947584A (zh) * | 2019-02-26 | 2019-06-28 | 启迪云计算有限公司 | 一种基于云计算分布式块存储的degrade读写方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439557A (zh) * | 2009-03-20 | 2012-05-02 | 谷歌公司 | 混合存储设备 |
CN102667704A (zh) * | 2009-12-22 | 2012-09-12 | 国际商业机器公司 | 混合存储子*** |
CN103150128A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于ssd和磁盘的可靠混合存储***实现方法 |
CN103970684A (zh) * | 2013-02-04 | 2014-08-06 | 联想(北京)有限公司 | 存储数据的方法和电子设备 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468292B2 (en) * | 2009-07-13 | 2013-06-18 | Compellent Technologies | Solid state drive data storage system and method |
JP5391993B2 (ja) * | 2009-10-19 | 2014-01-15 | 富士通株式会社 | ディスクアレイ装置 |
JP5549260B2 (ja) * | 2010-02-16 | 2014-07-16 | 富士通株式会社 | ストレージシステムおよびデータ書込み方法 |
US8850114B2 (en) * | 2010-09-07 | 2014-09-30 | Daniel L Rosenband | Storage array controller for flash-based storage devices |
US20120109936A1 (en) * | 2010-10-29 | 2012-05-03 | Nec Laboratories America, Inc. | Cost-effective data layout optimization over heterogeneous storage classes |
JP5505329B2 (ja) * | 2011-02-22 | 2014-05-28 | 日本電気株式会社 | ディスクアレイ装置及びその制御方法 |
TW201305901A (zh) * | 2011-05-30 | 2013-02-01 | Giga Byte Tech Co Ltd | 硬碟存取模式之切換方法、切換系統及其儲存有用以切換硬碟存取模式之指令的電腦可讀儲存媒體 |
US20140040349A1 (en) * | 2011-09-14 | 2014-02-06 | Hitachi, Ltd. | Server computer, server computer system, and server computer control method |
TW201426333A (zh) * | 2012-12-27 | 2014-07-01 | Cal Comp Electronics & Comm Co | 網路資料儲存系統、裝置及其方法 |
JP6011349B2 (ja) * | 2013-01-11 | 2016-10-19 | 富士通株式会社 | ストレージ装置、およびデータ圧縮方法 |
US9946495B2 (en) * | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
WO2015069225A1 (en) * | 2013-11-05 | 2015-05-14 | Hitachi, Ltd. | Method and apparatus for avoiding performance decrease in high availability configuration |
US8947806B1 (en) * | 2014-02-12 | 2015-02-03 | Lsi Corporation | Cross-talk compensation in array based reader systems |
US9304865B2 (en) * | 2014-03-26 | 2016-04-05 | International Business Machines Corporation | Efficient handing of semi-asynchronous raid write failures |
US8902536B1 (en) * | 2014-04-01 | 2014-12-02 | Lsi Corporation | Skew-tolerant reader configurations using cross-track profiles for array-reader based magnetic recording |
US9349437B2 (en) * | 2014-05-16 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Memory cell having built-in read and write assist |
US9093119B1 (en) * | 2014-07-29 | 2015-07-28 | Lsi Corporation | Skew-tolerant reader set selection in array-reader based magnetic recording |
JP6527961B2 (ja) * | 2015-12-25 | 2019-06-12 | 株式会社日立製作所 | 計算機システム |
-
2015
- 2015-12-31 CN CN201511021593.0A patent/CN106933494B/zh active Active
-
2016
- 2016-12-22 US US15/387,908 patent/US10339021B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102439557A (zh) * | 2009-03-20 | 2012-05-02 | 谷歌公司 | 混合存储设备 |
CN102667704A (zh) * | 2009-12-22 | 2012-09-12 | 国际商业机器公司 | 混合存储子*** |
CN103970684A (zh) * | 2013-02-04 | 2014-08-06 | 联想(北京)有限公司 | 存储数据的方法和电子设备 |
CN103150128A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于ssd和磁盘的可靠混合存储***实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170192702A1 (en) | 2017-07-06 |
CN106933494A (zh) | 2017-07-07 |
US10339021B2 (en) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106933494B (zh) | 混合存储设备的操作方法和装置 | |
US11360863B2 (en) | Key-value store on persistent memory | |
CN108009008B (zh) | 数据处理方法和***、电子设备 | |
CN102902730B (zh) | 基于数据缓存的读数据方法及装置 | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
EP2778933A1 (en) | System, method and computer-readable medium for managing a cache store to achieve improved cache ramp-up across system reboots | |
CN104951240A (zh) | 一种数据处理方法及处理器 | |
JP6713934B2 (ja) | 記憶装置及びその動作方法並びにシステム | |
CN111414392B (zh) | 高速缓存异步刷新方法、***及计算机可读存储介质 | |
CN109871386A (zh) | 非易失性存储器中的多版本并发控制(mvcc) | |
CN113934655B (zh) | 解决高速缓冲存储器地址二义性问题的方法和装置 | |
US8600962B2 (en) | Transaction processing device, transaction processing method, and transaction processing program | |
US11099998B2 (en) | Method and device for optimization of data caching | |
CN116755625A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN109313593A (zh) | 存储*** | |
CN106897311B (zh) | 数据库批次更新方法、数据还原日志产生方法与存储装置 | |
CN105653539A (zh) | 索引分布式存储的实现方法和装置 | |
CN111639087B (zh) | 数据库中数据更新方法、装置和电子设备 | |
US20180181318A1 (en) | Storage control device | |
EP1967968B1 (en) | Sharing of database objects | |
US11010091B2 (en) | Multi-tier storage | |
CN109992535B (zh) | 一种存储控制方法、装置和*** | |
US20200242132A1 (en) | Method and system for data handling | |
CN110659305A (zh) | 基于非易失存储***的高性能关系型数据库服务 | |
KR101419428B1 (ko) | 모바일 환경에 구축된 데이터베이스에 대한 트랜잭션 로깅 및 회복 장치 및 그 방법 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200422 Address after: Massachusetts, USA Patentee after: EMC IP Holding Company LLC Address before: Ma Sazhusaizhou Patentee before: EMC Corp. |