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

用于写入数据的方法、装置和系统制造方法及图纸

技术编号:2919985 阅读:209 留言:0更新日期:2012-04-11 18:40
提供了一种方法、系统和程序,用于管理布置在数据组织类型诸如RAID阵列中的多个盘存储单元上的条带中所存储的用户数据和奇偶数据的更新。在一个实施例中,将可能含有不一致的用户数据和奇偶数据的条带记录存储在盘存储单元中。另一方面,在将条带记录写入盘存储单元之前,用于多个写过程的条带条目被允许累积。另一方面,条带记录可被写入不同的盘存储单元,并使用生成号来标识条带的最近记录。

【技术实现步骤摘要】
【国外来华专利技术】
实施例涉及用于在组织系统中例如RAID系统中更新数据的方法、系统和程序。
技术介绍
已提出了许多技术用于组织存储在存储设备例如盘驱动器中的数据。一个这种数据存储组织称为独立(或廉价)盘冗余阵列或(RAID)。在RAID组织中,两个或更多个盘驱动器配合使用,以改进容错或性能,或二者。有不同类型的RAID数据存储组织,并且这些不同的类型常称为RAID 0级、1级、2级...。例如,在RAID 0级数据组织中,使用户文件数据成“条带”状,即,用户数据块分布在多个盘上以改进性能。但是,在RAID 0级数据组织中,如果其中一个驱动器失效,则通常没有提供冗余作数据恢复。RAID 3级数据组织与RAID 0级类似,但通常保留有一个盘来存储纠错数据,常常称为“奇偶数据”。如果一个驱动器失效,则该奇偶数据就可用来重建丢失的用户数据。图1示出RAID 5级数据组织的一个实例,包括在盘驱动器20a、20b、...20e上的多个条带条带1、条带2、...条带n。每个条带包括多个用户数据块10和一个奇偶数据块12。没有特定的盘驱动器专门用来存储奇偶数据块12。而是,用于这些条带的奇偶数据块12分布在阵列的所有盘20a、20b、...20e上,以进一步改进性能。图2示出了当用新数据更新RAID系统中一个条带上例如条带n上的老用户数据时为了生成新奇偶数据可进行的逻辑运算。如图2所示,可对条带n上的新用户数据30和老用户数据32进行“异或”逻辑操作。“异或”操作的结果可与条带n的老奇偶数据33进行“异或”运算,以生成条带n的新奇偶数据36。新奇偶数据36可用来重写在适当RAID存储单元上的老奇偶数据33,且新用户数据30可用于重写在适当RAID存储单元上的老数据32。由于任一特定条带的用户数据和奇偶数据通常驻留在不同的盘驱动器上,因此一个条带的用户数据和奇偶数据经常不是同时更新的。新用户数据可能写入条带之后新奇偶数据才被写入,或反之亦然。如果在更新条带的写入操作中间系统断电,那么在一些系统中,条带的用户数据就会与条带的奇偶数据不一致。于是,如果在写入操作完成之前系统因断电或其它故障而中断,则可保存这些条带、通常称为“脏条带”的一个记录,它可能含有奇偶不一致。例如,一些已知的存储控制器具有非易失性存储器,例如NVRAM(非易失性随机存取存储器),其中保持了脏条带记录。一旦供电恢复,存储控制器就可存取非易失性存储器中的脏条带记录,并恢复所列出的脏条带的奇偶一致性。尽管如此,但业界一直有一种需要,要改进数据存储组织中的处理器性能。附图说明现参阅附图,所有附图中相同的参考编号表示对应的部件图1示出在多个盘驱动器上条带中的RAID数据现有技术组织;图2示出在数据更新中RAID奇偶数据的现有技术生成;图3示出实现本专利技术各方面的计算环境的一个实施例;图4示出可用于图3的计算环境的存储控制器实例;图5A示出存储在盘驱动器上的脏条带记录的一个实施例;图5B示出由日志管理器保持的脏条带记录的一个实施例;图6示出管理脏条带记录所执行操作的一个实施例;图7示出与脏条带记录配合写入数据所执行操作的实施例; 图8示出管理脏条带记录以及与脏条带记录配合写入数据所进行操作的一个实施例的时间线图表;图9示出由日志管理器与脏条带记录配合所保持的清洗记录的一个实施例;以及图10示出可与所述实施例一起使用的体系结构。具体实施例方式在以下说明中,参阅附图,其中附图形成本专利技术的一部分,并示出几个实施例。应理解,可使用其它实施例,并可作结构和操作改变。图3示出可以实现数据更新的计算环境实例。计算机102包括一个或多个中央处理单元(CPU)104(仅示出一个)、内存106、非易失性存储器108、存储处理器109以及操作系统110。计算机102可通过网络适配器112与网络111通信。应用程序114在内存106中执行,并能够从存储器108中读出数据和向其写入数据。计算机102可包括业界已知的任何计算设备,例如大型机、服务器、个人计算机、工作站、膝上型电脑、手持计算机、电话设备、网络设备、虚拟化设备、存储控制器等等。业界已知的任何CPU 104和操作系统110都可使用。作为内存管理操作的一部分,内存106中的程序和数据可交换到存储器108中。设备驱动程序120在内存106中执行,并包括存储控制器特定指令,以与存储处理器109以及操作系统110和存储处理器109之间的接口通信。设备驱动程序120包括日志管理器130,它管理保持有存储在存储器108中的数据单元的记录,其中奇偶可能由于进行中的数据更新而不一致。例如,存储器108可包括多个盘驱动器150a、150b、...150n,组织类型如RAID的一个级别,其中保持了奇偶数据。在某些实现中,存储处理器109执行某些操作,以协助计算机102从存储器108中读出数据和向其写入数据。例如,存储处理器109可具有软件、固件或硬件或它们的组合,以将LBA(逻辑块地址)地址从计算机102转换成盘驱动器150a、150b、...150n的柱面、磁头和扇区规范。适用的存储处理器109的一个实例是本申请受让人、英特尔公司销售的80200处理器和80312配套集成电路。在另一实施例中,类似于80200处理器和80312配套集成电路的存储控制器可更改为包括日志管理器130和本文所述写入过程的部分或全部功能。图4示意图示出存储处理器109的一个实例。存储处理器109便于在主机102和存储器108之间快速移动大量数据。存储处理器109包括电桥160,它在主机102的主总线162和连接到存储器108的存储控制器166的次总线164之间。电桥160允许例如可以是串行-高级技术附件(SATA)控制器的存储控制器166与主总线162物理隔离。关于SATA体系结构的详情在技术说明书“串行ATA高速串行化AT附件(Serial ATAHigh Speed Serialized AT Attachment)”Rev.1.0A(2003年1月)中有说明。主地址转换单元168提供从主总线162通过局部总线174到处理器170和局部内存172的高通过量数据通路。连接到局部总线174的还有逻辑引擎175,它可为处理器170提供附加处理资源。次地址转换单元178提供从处理器170和局部内存172到次总线164的高通过量数据通路。在所示实施例中,总线162、164是PCI总线,但其它类型的外围总线也可使用。关于PCI体系结构的详情在PCI-SIG出版的“PCI局部总线(PCI Local Bus),Rev.2.3”中提供了。局部内存172具有内存控制器180。在所示实施例中,局部内存172是RAM型存储器,用于对数据进行高速缓存。也可使用其它类型的存储器。直接存储器存取(DMA)控制器允许从主机102到局部内存172以及从局部内存172到驱动器150a...150n的直接存储器传送。此外,可以提供非易失性存储器,例如非易失性随机存取(NVRAM)存储器,以存储脏条带信息。用于执行RAID类型数据存储和传送的功能可在存储处理器109、驱动程序120或二者的组合中实现。该功能也可在其它设备例如网络适配器112中实现。按照所示实施例的一个方面,日志管理器130在非易失性存本文档来自技高网...

【技术保护点】
一种写入数据的方法,包括:在盘存储单元中存储第一记录,其中所述第一记录包括存储在多个盘存储单元上的用户数据和奇偶数据的条带可能含有奇偶不一致的指示;在由所述记录指示的所述条带中写入用户数据和奇偶数据;以及清除所述指示 。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:F科拉多
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1