扇区边缘缓存器的制作方法

文档序号:6566875阅读:220来源:国知局

专利名称::扇区边缘缓存器的制作方法
技术领域
:本发明总体上涉及采用硬盘驱动器存储技术的数据处理系统。更具体地,本发明涉及在对磁盘的写操作期间提高系统性能的扇区边缘缓存器。
背景技术
:在各种数据处理系统中,低成本使ATA(高级技术附件)磁盘驱动器成为用于数据存储的最受欢迎选择。通过提供各种特性如热插拔、柔性布线和用于所有数据、命令和状态信息的CRC(循环冗余校验),串行ATA(SATA)协议的发展加深了其受欢迎的程度。此外,ATA磁盘驱动器的存储密度使其用于大容量存储系统时特别有优势。因此,独立磁盘冗余阵列(RAID)工具,传统上使用SCSI或光纤通道磁盘驱动器技术,目前采用ATA磁盘驱动器。但是,目前的ATA磁盘驱动器只支持512字节的标准大小的扇区格式,而与磁盘驱动器相互作用的应用程序或其他软件,如RAID工具,要求不同大小的扇区。扇区是用于访问磁盘的最小单元。扇区大小的不同要求在由应用程序指定的地址和扇区,称为逻辑地址和逻辑扇区,与磁盘驱动器的物理地址和物理扇区之间进行转换。扇区大小的差别还产生了驱动器的逻辑与物理扇区之间的非对齐。例如,如果逻辑扇区比物理扇区大(字节上),则逻辑扇区与多个物理扇区重叠。因此,对一个逻辑扇区的一个写操作实际上是多个物理扇区的一个写操作,虽然这些扇区中一个或所有的一部分没有被写入。这些部分位于逻辑扇区与物理扇区之间重叠部分的边缘,这样的边缘称为扇区边缘。该写操作需要额外的读i/o操作以获取来自扇区边缘的数据。因此,额外的读VO操作对执行小的写操作或大的非对齐写操作的应用程序有性能影响。为了利用ATA技术的各种优点,因此需要一种能够避免或减少因写操作期间读扇区边缘引起的性能损失的系统和方法。
发明内容一方面,本发明的特征在于处理对存储磁盘的输入/输出(I/O)请求的方法,其中1/0请求使用不同于存储磁盘的扇区大小格式。该方法包括接收对应于虚拟磁盘的逻辑地址上的读操作的I/O请求。确定与逻辑地址关联的逻辑扇区,并将其映射到存储磁盘的物理扇区的一部分。确定物理扇区的扇区边缘,并将其存储在缓存器中。另一方面,本发明的特征在于具有包括物理扇区的存储磁盘的数据处理系统。数据处理系统包括执行应用软件的主机系统,应用软件执行对虚拟磁盘的输入/输出(I/O)操作。数据存储系统还包括根据应用软件的工/0操作向存储磁盘发送I/O请求的输入/输出(I/O)控制器。i/o请求使用具有不同于存储磁盘的扇区大小格式的逻辑扇区。I/O控制器具有扇区映射器,其用于将逻辑扇区映射到存储磁盘的物理扇区及识别与每一个逻辑扇区关联的物理扇区的-个或多个扇区边缘。1/0控制器读取与1/0请求中引用的逻辑扇区关联的每一个扇区边缘。扇区边缘缓存器存储由VO控制器读取的每一个扇区边缘。又一方面,本发明的特征在于用于执行对存储磁盘的输入/输出(1/0)操作的装置。该装置包括用于执行应用软件的装置,应用软件执行对虚拟磁盘的1/0操作。该装置还包括根据应用软件的1/0操作对存储磁盘发出1/0请求的装置,用于将工/0请求的逻辑扇区映射到存储磁盘的物理扇区的装置。逻辑扇区具有不同于存储磁盘的扇区大小格式。该装置还具有用于识别与每一个逻辑扇区关联的物理扇区的一个或多个扇区边缘的装置,用于读取与在1/0请求中选定的逻辑扇区关联的每一个扇区边缘的装置,以及用于缓存每一个扇区边缘的装置。结合附图参考以下说明,可以更好地理解本发明的以上和进一步优点,其中不同的附图中同样的数字代表同样结构的元件和特征。附图不是限定本发明的范围,重点在于说明本发明的原理。图1是根据本发明构建的数据处理系统的实施例的框图,数据处理系统包括主机、IA)控制器和磁盘阵列。图2-4是说明示例性的逻辑扇区到物理扇区的部分映射的框图,其中每一个逻辑扇区的字节数比物理扇区大,且在逻辑扇区映射到的每一个物理扇区内每一个逻辑扇区的映射形成前导扇区边缘、拖尾扇区边缘或二者。图5是说明示例性的逻辑扇区到物理扇区的部分映射的框图,适用于采取统一大小段的对齐I/O操作,每一个段包括预定数量的扇区。图6是响应读请求从物理磁盘读取数据的过程的实施例的流程图7是响应写请求向物理磁盘写入数据的过程的实施例的流程图。图8-11是说明示例性的逻辑扇区到物理扇区的部分映射的框图,其中每一个逻辑扇区的字节数比物理扇区小,且在逻辑扇区映射到的每一个物理扇区内每一个逻辑扇区的映射形成前导扇区边缘、拖尾扇区边缘或二者。具体实施方式如在此所述,本发明的特征在于用于避免和减轻与从磁盘预读扇区边缘关联的性能损失的系统和方法。当数据处理系统的软件与使用大小不同于物理存储器的扇区格式的逻辑存储器相互作用时,产生扇区边缘。软件发出寻址到逻辑扇区的读和写请求,逻辑扇区被映射到存储磁盘的物理扇区。对被称为段的扇区组的对齐1/0操作能避免预读扇区边缘的需求。然而,小的(即大小小于一个段)或非对齐的写操作要求预读扇区边缘,从而预读扇区边缘能与将要写入的新数据结合。这种结合再写入到磁盘。使用本发明的扇区边缘缓存器避免每一次写操作均需要预读扇区边缘。对逻辑块的写操作可以查找已经存储在缓存器中的上一次的预读扇区边缘,因此避免了需要执行I/O操作以从磁盘获取扇区边缘。此外,扇区边缘缓存器可以有益地与RAID-5工具结合通常,RAID-5工具中的写操作需要经过读-修改-写的过程。因此,可以在读-修改-写过程的读阶段期间读取和缓存扇区边缘。当在该过程的写阶段期间结合扇区边缘与新数据时,不需要额外的预读。读-修改-写过程的读阶段减轻与将逻辑扇区映射到物理扇区关联的性能损失。图1表示根据本发明构建的数据处理系统10的实施例。数据处理系统10包括主机系统14、工/0控制器18和磁盘26的阵列22。通常,主机系统14是具有永久存储器的基于处理器的系统,永久存储器用于存储数据和应用程序,如主机应用程序30。主机应用程序的示例包括但不限于数据库、操作系统和文件系统。主机系统14通过主机存储器互联28(例如光纤通道总线、SCST总线)与VO控制器18通信。响应由主机应用程序30发起的读和、'I/O操作,I/O控制器18实现用于控制对磁盘28的访问的I/O子系统(例如RAID-O、RAID-1、RAID-5工具)。通过1/0控制器18,主机应用程序30与磁盘阵列22的磁盘26相互作用,I/O控制器将磁盘阵列作为一个或多个虚拟磁盘32提供给主机应用程序。此外,主机应用程序30向虚拟磁盘32发出I/O请求,且I/O控制器18将这些I/O请求转换为对磁盘阵列22中的物理磁盘26的I/O请求。在磁盘阵列22中的每一个磁盘26具有多个扇区,在此称为物理扇区。物理扇区具有统一的字节大小。根据木发明,在[/0控制器1q11—h6/it/n;志*「hP.ImtVi白k一Akf字&斗,、'昭左S"f^iR7"口-^rT=p磁盘26上的物理扇区的字节大小。(通常,人小的差别可归因于为了执行具体工/0子系统的功能T/0控制器使用额外的信息(例如元数据))。为了将I/0控制器18引用的逻辑扇区转换为磁盘26的物理扇区,1/0控制器18具有扇区映射器34。在该实施例中,多个扇区边缘缓存器38位于I/O控制器18中,用于存储扇区边缘。每一个扇区边缘缓存器38与磁盘阵列22中的一个磁盘26关联,并缓存从该磁盘26获取的扇区边缘。在其他实施例中,一个缓存器能支持磁盘阵列中的多个磁盘或所有磁盘。缓存器38是写直达缓存器。通常,每一个扇区边缘缓存器38的大小相对较小,如l兆字节的存储器,并可以使用高速存储器实现,如动态RAM、静态RAM和同步动态RAM。一个优点是扇区边缘缓存器38通过只缓存扇区边缘和避免必须缓存整个i/o请求节省了大量的存储器。当缓存器条目有效时,在缓存器38中的扇区边缘数据永远不是脏数据(即包含已经不存储在磁盘上的数据),扇区边缘数据镜像物理呈现在磁盘上的数据,这些数据从该磁盘上获取。除了扇区边缘数据,扇区边缘缓存器38中的每一个缓存器条目还具有其他关联数据,例如地址标签(指示物理地址)、控制位(即指示缓存器条目是否有效和缓存器条目最后使用的时间)。在从磁盘读操作期间,1/0控制器18在扇区边缘缓存器38中加入一个或多个扇区边缘,或者当前在缓存器38中覆盖写入的一个或多个扇区边缘。在对磁盘的写操作期间,1/0控制器18可以无效当前在缓存器中的一个或多个扇区边缘,以指示数据不再与磁盘26上的数据匹配。在优选实施例中,数据处理系统10是联网的存储系统,其中I/O控制器18作为具有光纤通道前端和串行ATA后端(即磁盘26是ATA磁盘驱动器)的存储处理器运行,并提供RAID-5工具。RAID-5工具对写入磁盘的数据进行奇偶性计算。奇偶性计算实时地进行,而且是RAID-5的典型读-修改-写过程的一部分。写入的数据和奇偶数据在磁盘阵列22中多个磁盘26进行条带化;磁盘26上对应的扇区定义条带。如果磁盘阵列上的一个磁盘26失效,RAID-5从仍然有效的磁盘上的奇偶性数据和数据块重新生成在失效的磁盘上去失的数据。对每一个写请求,RAID-5系统作为读-修改-写过程的一部分执行多个I/O操作。一个I/O操作在将使用新数据更新的条带数据块中进行读取,另一个I/0操作读取与数据块关联的奇偶块。根据本发明的原理,读工/o操作还导致与数据和奇偶块关联的扇区边缘缓存在扇区边缘缓存器38中。随后,修改奇偶性以反映新的数据。然后,另一1/0操作在奇偶块中写入更新后的奇偶性,并在数据块中写入新的数据。而且,在优选实施例中,ATA磁盘驱动器具有512字节的物理扇区,而RAID-5工具采用520字节的扇区。但是,当逻辑扇区的字节数比物理扇区少时,本发明的原理也适用,如下进一步所述。应当理解优选实施例只是实现本发明的各种系统结构的一个示例。例如,其他等级的RAID,如RAID-0和RAID-1,虽然不如使用RAID-5工具实施有益,但也可以实施本发明,因为RAID-0和RAID-1不执行类似RAID-5的读-修改-写过程。此外,当向虚拟磁盘32发出由IA)控制器18提供的I/O请求时,主机应用程序30的不同实施例可以使用具有扇区大小格式相同或不同于物理磁盘26的扇区(也可以视为逻辑扇区)。图2说明了映射示例的一部分,其中逻辑扇区50的长度大于物理扇区54。在该示例中,每个逻辑扇区的长度是520字节,而物理扇区的长度是512字节。假设映射中没有中断或者未使用的地址,将520字节的逻辑扇区映射到512字节的物理扇区的通用算法如下LBA512二(LBA52*520)/512—这是丢弃余数的整数。OFFSET^二(LBA咖*520)。級—-这是求摸的函数。其中,LBA512是包含对应于逻辑扇区LBA520的数据起点的物理扇区,0FFSET512提供在物理扇区LBA512内的字节偏移,物理扇区LBA512包含逻辑扇区LBA520的第一个字节。形式(扇区、偏移)代表在512字节的扇区地址空间中520字节的扇区数据的地址。读取扇区LBA520的所有数据要求从物理地址(LBA512,0FFSET512)经过物理地址(LBA512+1,(0FFSET512+520-1)%512)i卖取数据。i亥算法适用于单扇区(即不适用于多扇区请求)。如图所示,逻辑扇区50包括标记为块A、块B和块N的数据块;物理扇区54包括标记为块0、块l、块2和块n的数据块。其他中间的物理和逻辑扇区用省略号表示,未示出。下文中逻辑扇区50的数据块也称为逻辑块,物理扇区54的数据块也称为物理块。作为说明性的示例,逻辑块A映射到物理块0的全部和物理块1的前导部分58。逻辑块A未映射到的物理块1的部分62称为拖尾扇区边缘,因为未映射的部分62跟在(即地址上跟随)己映射的前导部分58之后。因此,逻辑块A具有关联的拖尾扇区边缘,但是没有关联的前导扇区边缘。图3是图2的示例性映射,具体涉及逻辑块B。块B映射到物理块1的部分62和物理块2的前导部分66。因此,物理块1的部分62对应于相对于逻辑块A(图2)的拖尾扇区边缘和相对于逻辑块B的扇区数据。在此,物理块l的前导部分58是前导扇区边缘,物理块2的拖尾部分70是拖尾扇区边缘。因此,物理块1的部分58对应于相对于逻辑块A的扇区数据和相对于逻辑块B的前导扇区边缘。指向逻辑块A的写操作可以改变物理块1的部分58的数据内容,因此作为与逻辑块B关联的前导扇区边缘,操作无效任何已缓存的部分58的版本。类似地,指向逻辑块B的写操作可以改变物理块1的部分62的数据内容,因此作为与逻辑块A关联的拖尾扇区边缘,操作无效仟何已缓存的部分62的版本。图4仍是图2的示例性映射,在此具体涉及逻辑块N到物理扇区n和n-1的映射。逻辑块N映射到物理块n--1的拖尾部分74并映射到物理块n的全部。逻辑块N不映射到物理块n-l的前导部分78。因此,这一具体的逻辑-物理扇区的映射产生了前导扇区边缘,但不产生拖尾扇区边缘。例如使用520字节的逻辑扇区和512的字节的物理扇区,逻辑扇区与物理扇区之间末尾地址的对齐出现在每第64个逻辑扇区和每第65个物理扇区。在逻辑扇区与物理扇区之间实现末尾地址的对齐的段,例如由映射到65个512字节的物理扇区的64个520字节的逻辑扇区组成的段,对这样的大小统一的段的I/O访问具有在对段的对齐写操作期间不需要预读扇区边缘的优点。另一优点是这样的段的大小相比下表1中描述的其他的段的大小完全利用了磁盘26的存储容量。图5表示段的定义包括四个物理扇区的示例。如图所示,一个段60(阴影部分)具有四个标记为块O、块l、块2和块3的物理数据块。在这一示例中,每一个块是512字节的物理块。此后块4和每第四个物理块是新段的起点。图示为520字节的逻辑块到512字节的物理块的映射的示例。三个逻辑块,包括块A、块B和块C,映射到四个物理块块0、块l、块2和块3。映射确保逻辑块的起始地址与每一个段的第一块的起始地址对齐(例如块A和块O,块D和块4)。如图所示,冈此四个物理扇区的段大小不在任何逻辑块与物理块之间产生末尾地址的对齐。从而,一些物理地址不能使用,如图所示部分82。为了从改进的写性能屮受益(例如不用必须预读扇区边缘),尽管损失地址空间,但也是可以接受的折中。其他的段大小,再次引用520字节的逻辑扇区和512字节的物理扇区,也产生不能使用的物理地址。例如,8、16和32个逻辑块的段的大小也具有一定程度的地址空间损失。当段的大小是64个逻辑块(520字节)的整数倍(即65个物理块(512字节))时,没有地址损失。下表比较示例的段的大小与不可用的存储容量的百分比。表1<table>tableseeoriginaldocumentpage12</column></row><table>图6是根据本发明从磁盘26的物理扇区读取数据和缓存扇区边缘的过程的实施例。在步骤74,应用程序30用于针对逻辑地址上的数据的读请求。该逻辑地址落入具体的逻辑扇区(步骤76)。扇区映射器34将逻辑扇区映射到(步骤78)给定磁盘的一个或多个物理扇区。如果逻辑扇区的字节数大于物理扇区,则映射识别至少两个物理扇区。如果逻辑扇区小于物理扇区,则映射识别一个或至多两个物理扇区。从每一个识别的物理块读取(步骤82)数据块。在步骤86,I/O控制器18识别每一个从逻辑-物理扇区的映射产生的扇区边缘。识别出的扇区边缘可以是前导扇区边缘、拖尾扇区边缘,或者二者,这取决于引用的逻辑扇区和具体的逻辑扇区到物理扇区的映射。根据本发明,I/0控制器18在与给定磁盘关联的扇区边缘缓存器38中存储(步骤90)识别出的扇区边缘。如果在缓冲扇区边缘时,扇区边缘缓存器38目前充满有效的缓冲条目,则移走最老的条目(即最少使用的)从而为新的扇区边缘留出空间。如果扇区边缘缓存器38目前包含正要缓存的扇区边缘的条目,在一实施例中覆盖写入该条目。覆盖缓存的条目实际上改变了现有条目的老化状态,用于随后确定最后使用的条目,如果现有的条目当前无效,恢复有效的状态。参考图3,以示例说明读操作。假设应用程序发出用于逻辑块B上的数据的读请求。逻辑块B到物理块1和2的映射识别来自物理块1的前导扇区边缘58和来自物理块2的拖尾扇区边缘70。I/O控制器18在扇区边缘缓存器38中存储前导扇区边缘58和拖尾扇区边缘70,并将来自物理块1的部分62和来自物理块2的部分66的扇区数据返冋应用程序30以满足读请求。图7是使用本发明的扇区缓存器38将数据写入磁盘26的物理扇区的过程100的实施例。在歩骤104,应用程序30发出改变逻辑扇区上的数据的写请求。扇区映射器34将逻辑扇区映射到(步骤108)给定磁盘的一个或多个物理扇区。1/0控制器18计算(歩骤112)与该逻辑扇区关联的每一个扇区边缘(前导、拖尾或二者)。在步骤116,I/O控制器18访问与给定磁盘关联的扇区边缘缓存器38以确定目前是否已缓存扇区边缘。如果扇区边缘缓存器38具有查找的扇区边缘条目且该条目有效,I/O控制器18结合(歩骤120)将要写入的新数据部分与该扇区边缘。例如,将任何前导扇区边缘先附加到新数据并将任何拖尾扇区边缘增补到新数据。每一个扇区边缘与适当的新数据部分的结合随后写入(步骤124)到物理扇区。因此,缓存扇区边缘能够避免为了执行对物理块的写操作而要预读物理块内容的需求。例如,假设有对图3的逻辑块B的写请求。此外,逻辑块B映射到物理块1和2,产生物理块1的前导扇区边缘58和物理块2的拖尾扇区边缘70。再假设I/O控制器18在扇区边缘缓存器38中查找到前导扇区边缘58和拖尾扇区边缘70,且两个条目都有效。通过将前导扇区边缘58先附加到逻辑扇区B的新数据的第一部分,I/O控制器18再产生将要写入物理块1的数据。这一部分对应于物理块1的部分62。通过将拖尾扇区边缘70增补到逻辑块B的新数据的第二部分,I/O控制器18还产生将要写入物理块2的数据。这一部分对应于物理块2的部分66。I/O控制器18之后将前导扇区边缘58与新数据的第一部分的结合写入物理块1,并将拖尾扇区边缘70与新数据的第二部分的结合写入物理块2。将新数据写入一个或多个物理块能够引起扇区边缘缓存器38中的变化。继续上一个例子,将新数据写入逻辑块B导致将新数据写入物理块1和2。具体地如图3所示,新数据写入物理块1的地址部分62和物理块2的地址部分66。这些地址部分62、66也能对应于已缓存的扇区边缘地址部分62可以是用于读和写逻辑块A的拖尾扇区边缘,如图2所示;地址部分66可以是用于读和写逻辑块C(未示出)的前导扇区边缘。如果这些扇区边缘之一或二者H前己经缓存在扇区边缘缓存器38中,对逻辑块B的写入导致与其关联的缓存条R无效。再次参考图7,相反,如果扇区边缘缓存器38目前没有每一所搜索扇区边缘的条目,I/O控制器18从逻辑块映射到的物理块读取(步骤128)数据,将在步骤116确定的每一个扇区边缘存储(步骤132)到与给定磁盘26关联的扇区边缘缓存器38,将要写入的新数据的一部分与每一个扇区边缘结合(步骤120),以及将结合的数据写入(步骤124)适合的物理扇区。因为与一个逻辑扇区关联的扇区边缘也能容纳与另一个逻辑扇区关联的扇区数据,所以读-修改-写操作很细微,从而在写操作期间不能修改扇区边缘。因此,本发明的数据处理系统采用覆盖物理扇区的锁定策略。在先入先用的基础上向工/0请求给出对物理扇区的锁定。此外,如果数据处理系统10具有多个访问同一磁盘的存储处理器,同一时间能修改该磁盘的给定物理扇区的存储处理器不多于一个。RA工D-5工具的读-修改-写过程非常适合预读过程和扇区边缘的缓存。因为RAID-5写操作从磁盘预读数据和奇偶性以在对磁盘进行写之前重新计算奇偶性,所以预读能用于获取和缓存扇区边缘。因此,结合RAID-5工具与扇区边缘缓存器的实施例能够减轻在逻辑扇区-物理扇区的会话期间与预读扇区边缘关联的性能损失。此外,采用实现无地址损失的段大小,例如64个520字节/65个512字节的段能够优化基于成本和存储性能的数据处理系统10的设计。其他等级的在执行写操作时不采用读-修改-写过程的RAID工具,例如RAID-1,不引起与预读扇区边缘关联的性能损失。尽管如此,在后续的对扇区边缘己经缓存且目前有效的物理块的写期间,这样的RAID工具也能受益。如上所述,在本发明的一些实施例中,逻辑扇区的字节数可以比物理扇区小。例如,图8说明示例性的部分映射,其中每一个逻辑扇区50的长度是520字节,物理扇区54'的长度是1024字节。逻辑扇区50包括块A、块B、块C、块D和块N;物理扇区54'包括块0、块1、块2和块n,其他中间的物理和逻辑扇区用省略号表示,未示出。作为说明性的示例,整个逻辑扇区A映射到物理块O,并留下未映射的部分150,其是拖尾扇区边缘。因此,对逻辑扇区A的读导致缓存关联的拖尾扇区边缘。图9表示具体涉及逻辑块B的图8的示例性映射。块B横跨两个物理块,块0和块1,并映射到物理块0的拖尾部分154和物理块1的前导部分158。块B不映射到物理块0的前导部分162或物理块1的拖尾部分166。对于这一具体的用于逻辑块B的逻辑-物理的扇区映射,前导部分162是前导扇区边缘,拖尾部分166是拖尾扇区边缘。图10再次表示图8的示例性映射,在此具体涉及逻辑块C到物理扇区的映射。逻辑块C的全部映射到物理块1的中间部分170,不映射到同一物理块的前导部分174或拖尾部分。因此,这一具休的逻辑-物理的扇区映射产生前导扇区边缘(部分174)和拖尾扇区边缘(部分178),二者是同一物理扇区(块l)的部分。图11再次表示图8的示例性映射,在此具体涉及逻辑块N到物理块n的映射。逻辑块N的全部映射到物理块n中的拖尾部分182,留下未映射的前导扇区边缘186。因此,对逻辑块N的读和写操作导致缓存前导扇区边缘186。例如,使用520字节的逻辑扇区和1024字节物理扇区,逻辑-物理扇区的映射之间的末尾地址对齐出现在每第128个逻辑扇区和每第65个物理扇区。虽然参考具体的优选实施例表示和说明本发明,但是本领域的技术人员应当理解,可以做出形式和细节上的各种变化而不脱离权利要求限定的本发明的精神和范围。例如,缓存扇区边缘的原理通常适用于任何与物理存储器相互作用的软件,物理存储器使用大小不同于物理存储器的扇区格式,不仅仅是具体的1/0控制器指定的逻辑扇区与磁盘的物理扇区之间。权利要求1、处理对存储磁盘的输入/输出(I/O)请求的方法,其中I/O请求使用不同于存储磁盘的扇区大小格式,该方法包括接收在虚拟磁盘的逻辑地址读操作的I/O请求;确定与逻辑地址关联的逻辑扇区;将逻辑扇区映射到存储磁盘的物理扇区的一部分;确定物理扇区的扇区边缘;及在缓存器中存储扇区边缘。2、根据权利要求1所述的方法,进一歩包括在对虚拟磁盘的逻辑地址写入新数据的写操作期间,从缓存器读取扇区边缘;连接扇区边缘与新数据;及在物理扇区中存储扇区边缘与新数据的连接。3、根据权利要求1所述的方法,进一步包括接收对逻辑扇区写入新数据的写请求;确定逻辑块映射到的每一个物理扇区的每一个扇区边缘;从缓存器获得每一个扇区边缘;结合每一个扇区边缘与新数据;及对逻辑扇区映射到的每一个物理扇区写入每一个扇区边缘与新数据的结合。4、根据权利要求1所述的方法,其中物理扇区是第一物理扇区,并进一歩包括执行对存储磁盘的第二物理扇区的写操作,写操作改变第一物理扇区的扇区边缘中的数据,及无效与该扇区边缘关联的缓存器中的缓存条目。5、根据权利要求1所述的方法,其中存储磁盘具有大小小于逻辑扇区的物理扇区。6、根据权利要求1所述的方法,进一步包括执行段大小对齐操作的步骤,其中段包括预定数量的逻辑扇区。7、根据权利要求6所述的方法,其中段中的多个逻辑扇区均匀地映射到存储磁盘的多个物理扇区,从而不损失存储磁盘的存储容量地利用存储磁盘。8、根据权利要求1所述的方法,其中存储磁盘是高级技术附件磁盘。9、根据权利要求1所述的方法,其中读操作是RAID-5工具的读-修改-写过程的一部分。10、具有包括物理扇区的存储磁盘的数据处理系统,该数据处理系统包括执行应用软件的主机系统,应用软件执行对虚拟磁盘的输入/输出(I/O)操作;根据应用软件的I/O操作,用于向存储磁盘发送I/O请求的输入/输出(I/O)控制器,IAH青求使用具有不同于存储磁盘的扇区大小格式的逻辑扇区,工/o控制器具有扇区映射器,扇区映射器用于将逻辑扇区映射到存储磁盘的物理扇区和用于识别与每一个逻辑扇区关联的物理扇区的一个或多个扇区边缘,1/0控制器读取与1/0请求中引用的逻辑扇区关联的每一扇区边缘;及存储由I/O控制器读取的每一扇区边缘的扇区边缘缓存器。11、根据权利要求10所述的数据处理系统,其中每一个逻辑扇区的字节数大于每一个物理扇区。12、根据权利要求10所述的数据处理系统,其中I/0控制器执行RAID-5工具。13、根据权利要求12所述的数据处理系统,其中存储磁盘是高级技术附件磁盘。14、根据权利要求10所述的数据处理系统,其中存储磁盘是卨级技术附件磁盘。15、根据权利要求10所述的数据处理系统,其中应用软件执行大小包括多个扇区的段的对齐I/O操作。16、根据权利要求15所述的数据处理系统,其中段大小将虚拟磁盘的第一多个逻辑扇区均匀地映射到存储磁盘的第二多个物理扇区,从而不损失存储磁盘的存储容量地利用存储磁盘。17、用于执行对存储磁盘的输入/输出(I/O)操作的装置,该装置包括用于执行应用软件的装置,该应用软件执行对虚拟磁盘的输入/输出(I/O)操作;用于根据应用软件的1/0操作向存储磁盘发出1/0请求的装置;用于将I/O请求的逻辑扇区映射到存储磁盘的物理扇区的装置,逻辑扇区具有不同于存储磁盘的扇区大小格式;用于识别与每一个逻辑扇区关联的物理扇区的一个或多个扇区边缘的装置;用于读取与在I/O请求中选定的逻辑扇区关联的每一个扇区边缘的装置;及用于缓存每一个扇区边缘的装置。18、根据权利要求17所述的装置,其中每一个逻辑扇区的字节数大于每一个物理扇区。19、根据权利要求17所述的数据处理系统,其中用于发送工/0请求的装置包括RAID-5工具。20、根据权利要求17所述的数据处理系统,其中存储磁盘是高级技术附件磁盘。全文摘要使用大小不同于存储磁盘的扇区格式对存储磁盘进行写要求在写操作进行之前从磁盘的扇区读取扇区边缘。因此由于必须预读扇区边缘,写操作引起损失。通过存储在上一次执行的读和写操作期间从扇区获得的扇区边缘,扇区边缘缓存器避免了性能损失。不在写操作期间从磁盘预读扇区边缘,输入/输出控制器可以检查扇区边缘缓存器以确定每一个合适的扇区边缘是否已经提供,并随后结合新数据与已缓存的扇区边缘。通过在读阶段期间读取和缓存扇区边缘,使用读-修改-写过程执行写操作的RAID-5工具从扇区边缘缓存器受益,从而在写阶段期间不需要额外的预读。文档编号G06F12/08GK101151598SQ200680009996公开日2008年3月26日申请日期2006年3月9日优先权日2005年3月30日发明者乔尔·J.·扬,史蒂夫·莫利申请人:伊姆西公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1