当前位置: 首页 > 专利查询>英特尔公司专利>正文

当单个输入/输出请求跨越两个存储设备时响应于存储设备故障返回相干数据制造技术

技术编号:17144150 阅读:51 留言:0更新日期:2018-01-27 16:34
控制器保持第一存储设备和第二存储设备的暴露和未暴露位置。响应于接收到请求,执行写入操作以在跨越所述第一存储设备和所述第二存储设备的位置中写入数据,所述控制器在所述第一存储设备的所述未暴露位置中原子地写入整个数据。

When a single input / output request crosses two storage devices, it responds to the memory device failure to return to the coherent data

The controller maintains the exposure and unexposed positions of the first storage device and the second storage device. In response to receiving the request, the write operation is performed to write data across the location of the first storage device and the second storage device, and the controller writes the entire data to the atom in the unexposed location of the first storage device.

【技术实现步骤摘要】
【国外来华专利技术】当单个输入/输出请求跨越两个存储设备时响应于存储设备故障返回相干数据
技术介绍
控制器可以控制对多个存储设备的访问。响应于来自在耦合到控制器的一个或多个主机计算设备中执行的应用的输入/输出(I/O)请求,控制器可以在多个存储设备中的一个或多个上执行相应的I/O操作,以及向一个或多个主机计算设备返回一个或多个响应。在某些情形下,I/O请求可以由在控制器中执行的应用来生成,并且控制器可以在多个存储设备中的一个或多个上执行相应的I/O操作并且返回对应用的一个或多个响应。在某些情形下,多个存储设备可以是硬盘驱动器(HDD)或固态驱动器(SSD)或其他类型的存储设备。在某些情形下,HDD或SSD可以被配置为独立磁盘的冗余阵列(RAID)或某一其他配置中。控制器可以包括RAID控制器、HDD控制器、SSD控制器和与多个存储设备进行接口的其他控制器。在某些情形下,控制器可以是存储控制器。在主机计算设备中或在控制器中执行的应用可以通过经由逻辑地址对存储进行寻址来执行I/O。控制器可以通过使用到存储设备的接口来将逻辑地址映射到多个存储设备中的一个或多个上的物理地址。在某些情形下,当与来自应用的单个I/O请求本文档来自技高网...
当单个输入/输出请求跨越两个存储设备时响应于存储设备故障返回相干数据

【技术保护点】
一种方法,包括:由控制器保持第一存储设备和第二存储设备的暴露和未暴露位置;和响应于接收到请求,执行写入操作以在跨越所述第一存储设备和所述第二存储设备的位置中写入数据,在所述第一存储设备的所述未暴露位置中原子地写入整个数据。

【技术特征摘要】
【国外来华专利技术】2015.06.26 US 14/7517371.一种方法,包括:由控制器保持第一存储设备和第二存储设备的暴露和未暴露位置;和响应于接收到请求,执行写入操作以在跨越所述第一存储设备和所述第二存储设备的位置中写入数据,在所述第一存储设备的所述未暴露位置中原子地写入整个数据。2.根据权利要求1所述的方法,所述方法还包括:响应于接收到执行读取操作的请求,如果在所述第一存储设备的所述未暴露位置中的所述整个数据的写入不成功,则返回在所述第二存储设备的所述暴露位置中存储的数据。3.根据权利要求2所述的方法,其中,所述未暴露位置的大小至少等于由所述控制器支持的最大数据传送大小,其中所述第二存储设备的所述暴露位置是所述第二存储设备的先前未暴露位置,其中将所述未暴露位置朝向所述第一存储设备上的位置的末尾以及朝向所述第二存储设备上的位置的开头分配,并且其中所述未暴露位置未被暴露给除所述控制器之外的其他实体。4.根据权利要求2所述的方法,所述方法还包括:响应于接收到执行所述写入操作的请求,并且在原子地写入所述整个数据之前,获取元数据上的锁定,其中所述元数据指示当前数据在所述第二存储设备的所述暴露位置上;在原子地写入所述整个数据之后,原子地更新所述元数据以指示当前数据在所述第一存储设备上,并且其中响应于原子地更新所述元数据,所述第一存储设备的未暴露位置变成所述第一存储设备的暴露位置,并且所述第二存储设备的暴露位置变成所述第二存储设备的未暴露位置;和在更新所述元数据之后释放所述元数据上的锁定。5.根据权利要求4所述的方法,其中,所述读取操作等待执行,直到释放了所述元数据上的锁定。6.根据权利要求5所述的方法,所述方法还包括:响应于在所述第一存储设备的未暴露位置上成功写入所述整个数据以使所述第一存储设备的未暴露位置成为所述第一存储设备的暴露位置,响应于执行读取操作的所述请求而返回来自所述第一存储设备的暴露位置的数据。7.根据权利要求2所述的方法,所述方法还包括:在将数据原子地写入到所述第一存储设备的未暴露位置之后,原子地更新元数据以指示当前数据在所述第一存储设备上,将所述第一存储设备的未暴露位置转换成所述第一存储设备的暴露位置,以及将所述第二存储设备的暴露位置转换成所述第二存储设备的未暴露位置。8.根据权利要求7所述的方法,其中在所述元数据的更新之前或之后执行所述读取操作,并且其中:如果在所述元数据的更新之前执行所述读取操作,则返回在所述第二存储设备的暴露位置中存储的数据;和如果在所述元数据的更新之后执行所述读取操作,则返回被原子地写入到被转换成所述第一存储设备的暴露位置的所述第一存储设备的未暴露位置的数据。9.一种系统,包括:存储器;和耦合所述存储器的处理器,其中所述处理器可操作来:保持第一存储设备和第二存储设备的暴露和未暴露位置;响应于接收到请求,执行写入操作以在跨越所述第一存储设备和所述第二存储设备的位置中写入数据,在所述第一存储设备的所述未暴露位置中原子地写入整个数据。10.根据权利要求9所述的系统,所述操作还包括:响应于接收到执行读取操作的请求,如果在所述第一存储设备的所述未暴露位置中的所述整个数据的写入不成功,则返回在所述第二存储设备的所述暴露位置中存储的数据。11.根据权利要求10所述的系统,其中,所述未暴露位置的大小至少等于最大数据传送大小,其中所述第二存储设备的所述暴露位置是所述第二存储设备的先前未暴露位置,其中将所述未暴露位置朝向所述第一存储设备上的位置的末尾以及朝向所述第二存储设备上的位置的开头分配,并且其中所述未暴露位置未被暴露给除所述系统之外的其他实体。12.根据权利要求10所述的系统,其中所述处理器还可操作来:响应于接收到执行所述写入操作的请求,并且在原子地写入所述整个数据之前,获取元数据上的锁定,其中所述元数据指示当前数据在所述第二存储设备的所述暴露位置上;在原子地写入所述整个数据之后,原子地更新所述元数据以指示当前数据在所述第一存储设备上,并且其中响应于原子地更新所述元数据,所述第一存储设备的未暴露位置变成所述第一存储设备的暴露位置,并且所述第二存储设备的暴露位置变成所述第二存储设备的未暴露位置;和在更新所述元数据之后释放所述元数据上的锁定。13.根据权利要求12所述的系统,其中,所述读取操作等待执行,直到释放了所述元数据上的锁定。14.根据权利要求13所述的系统...

【专利技术属性】
技术研发人员:JA博伊德SE布里奇
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1