发明内容
本发明解决的技术问题在于,提供一种测试硬盘接口传输速率的方法,藉以解决公知技术中所存在的因为利用随机读取硬盘内部数据的方法,而得到误差较大的硬盘接口传输速率的问题。
本发明所公开的一种测试硬盘接口传输速率的方法用以取得一硬盘传输接口的一接口传输速率。此硬盘传输接口连接一硬盘及一处理器,且硬盘具有多个数据区块。首先,取得硬盘的一标称传输速率。接着,随机读取硬盘中相异的多个数据区块,并据以计算一第一传输速率。并且,依据标称传输速率和第一传输速率,取得一临界速率。接着,重复读取同一个数据区块,并据以计算一第二传输速率。最后,判断第二传输速率是否大于临界速率,若是,则重复读取同一个数据区块,并计算出此硬盘传输接口的接口传输速率。
本发明所公开的一种测试硬盘接口传输速率的方法用以取得一硬盘传输接口的一接口传输速率。此硬盘传输接口连接一磁盘阵列控制器及一处理器,且磁盘阵列控制器连接至少一硬盘,硬盘具有多个数据区块。首先,关闭磁盘阵列控制器的一快取,并取得硬盘的一标称传输速率。接着,随机读取硬盘中相异的多个数据区块,并据以计算一第一传输速率。接着,依据标称传输速率和第一传输速率,取得一临界速率。并且,依据临界速率,取得一接口临界传输速率。最后,开启磁盘阵列控制器的快取,且依据接口临界传输速率,取得接口传输速率。
根据本发明的一实施例中,其中依据上述的标称传输速率和第一传输速率,取得临界速率的步骤包含:依据标称传输速率和第一传输速率以一加权平均法取得临界速率。
根据本发明的一实施例中,其中上述取得接口传输速率的步骤包含:重复读取同一个数据区块,并计算一第二传输速率。判断第二传输速率是否大于临界速率;若是,则重复读取同一个数据区块,并计算接口临界传输速率。
根据本发明的一实施例中,其中上述取得接口传输速率的步骤包含:重复读取同一个数据区块,并计算一第三传输速率。判断第三传输速率是否大于接口临界传输速率。若是,则重复读取同一个数据区块,并计算接口传输速率。
根据本发明的一种测试硬盘接口传输速率的方法,其利用一临界速率来作为判断硬盘是否由硬盘的高速缓存中将数据读取出来且传输给相对应的控制器的信息传输速率。更详细地说,因为重复读取同一个硬盘的数据区块的数据时,此数据会传输至硬盘的高速缓存。而将硬盘的高速缓存读取出并传输出去的速率,即为硬盘接口传输速率。
有关本发明的特征、实作与功效,兹配合图示作最佳实施例详细说明如下。
具体实施方式
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域的技术人员了解本发明的技术内容并据以实施,且根据本说明书所公开的内容、权利要求及附图,任何本领域的技术人员可轻易地理解本发明相关的目的及优点。
请参照图1所示的本发明的第一实施例的系统架构示意图。本发明第一实施例中此系统架构包括,一中央处理器(Central Processing Unit,CPU)10、一南桥芯片(Southbridge)20、一硬盘传输接口30、一桥接器40及一硬盘(Hard Disk Drive,HDD)50。其中,硬盘50与桥接器40电性相连接,且桥接器40与硬盘传输接口30电性相连接。此外,硬盘传输接口30与南桥芯片20电性相连接,且南桥芯片20与中央处理器10电性相连接。
此外,在本实施例中,将以一外围组件互连接口(Peripheral Component Interconnect,PCI)作为硬盘传输接口30的实施例来做说明。另外,目前常见的桥接器40包括ATA(Advanced Technology Attachment)、SATA(Serial ATA)、SCSI(Small Computer System Interfaces)和SAS(Serial Attached SCSI)等规格,但并不以本实施例所公开的桥接器40为限。除此之外,此硬盘50内部并具有一高速缓存(Cache)(图中未表示)。
根据本发明第一实施例,说明一种测试硬盘接口传输率的方法。硬盘接口传输率为计算机通过硬盘传输接口30,从硬盘50的高速缓存将数据读取出来且传输给相对应的控制器(图中未表示)的传输速率。
请参照图2所示的本发明第一实施例的测试硬盘接口传输率的方法的流程图。于本实施例的步骤100中,先取得硬盘50的一硬盘标称速率。而此硬盘标称速率由一硬盘50的硬盘韧体中读取出此硬盘50的硬盘规格信息,并依照一硬盘标称速率对照表,由此硬盘标称速率对照表找出相对应此硬盘规格信息的硬盘标称速率。在本实施例中所使用的硬盘50其标称速率为150MB/s,但并不以本实施例中所使用的硬盘50及其所具有的硬盘标称速率为限。
接着,于步骤101中,随机的读取硬盘50中相异的多个数据区块的数据,并且根据每次读取这些相异的多个数据区块的数据所得到的接口传输速率来计算多次读取的平均速率,并且将此接口传输速率的平均速率定义为一第一传输速率。其中,当随机的读取硬盘50中相异的多个数据区块的数据时,硬盘50中的高速缓存不启动。因此,此一步骤所得到的第一传输速率为直接从硬盘50将数据读取出来且传输给相对应的控制器的速率。在本实施例中所使用的硬盘50其随机的读取硬盘50中相异的多个数据区块的数据所计算得到的第一传输速率约为60MB/s,但并不以本实施例中所使用的硬盘50及其计算出的第一传输速率为限。
于步骤102中,根据步骤100及步骤101中所得到的硬盘标称速率和第一传输速率计算出一临界速率。此临界速率利用一加权平均法取得,举例来说,临界速率=60MB/s+(150MB/s-60MB/s)×40%=96MB/s。其中,于此临界速率的加权平均法中,其加权公式与加权值为使用者所自行定义而得,故并不以此实施例中所公开的加权公式与加权值为限。
接着,于步骤103中,重复的读取硬盘50中同一个数据区块的数据,并且根据多次读取此同一个数据区块的数据所得到的接口传输速率来计算一多次读取的平均速率,并且将此接口传输速率的平均速率定义为一第二传输速率。
并且于步骤104中,比对步骤102与步骤103所得到的第二传输速率和临界速率,并判断第二传输速率是否大于临界速率。其中,若第二传输速率大于临界速率,表示此经过重复读取的硬盘50中同一个数据区块的数据从硬盘50中存入硬盘50的高速缓存中。此外,若第二传输速率小于临界速率,表示此经过重复读取的硬盘50中同一个数据区块的数据并没有从硬盘50中存入硬盘50的高速缓存中。
因此,若第二传输速率大于临界速率,于步骤105中则继续重复读取同一块数据区块的数据,并且根据多次读取此同一个数据区块的数据所得到的接口传输速率来计算一多次读取的平均速率,此传输速率即为硬盘接口传输速率。且此硬盘接口传输速率即为从硬盘50的硬盘高速缓存将数据读取出来且传输给相对应的控制器的速率。
除此之外,若第二传输速率小于临界速率,表示此第二传输速率为从硬盘50中将数据读取出来且传输给相对应的控制器的速率。则回到步骤103继续重复读取硬盘50中的同一个数据区块的数据,直到于步骤104中判断出第二传输速率大于临界速率。接着,再执行步骤105重复前述步骤得到硬盘接口传输速率。
请参照图3所示的本发明的第二实施例的系统架构示意图。本发明第二实施例中此系统架构包括,一中央处理器(Central Processing Unit,CPU)10、一南桥芯片(Southbridge)20、一硬盘传输接口30、一磁盘阵列(Redundant Array of Independent Disks,RAID)60及一硬盘(Hard Disk Drive,HDD)50。其中,至少一硬盘50与磁盘阵列60电性相连接,而磁盘阵列60与硬盘传输接口30电性相连接。硬盘传输接口30与南桥芯片20电性相连接,且南桥芯片20与中央处理器10电性相连接。
此外,在本实施例中,将以一外围组件互连接口(Peripheral Component Interconnect,PCI)作为硬盘传输接口30的实施例来做说明。除此之外,此硬盘50内部并具有一高速缓存(Cache)(图中未表示)。
根据本发明第二实施例,说明一种测试硬盘接口传输率的方法。并且,此硬盘传输接口30电性相连接一磁盘阵列60。硬盘接口传输率为计算机通过硬盘传输接口30,从硬盘50的高速缓存将数据读取出来且传输给相对应的控制器(图中未表示)的信息传输速率。
请参照图4所示的本发明第二实施例的测试硬盘接口传输率的方法的流程图。于本实施例的步骤200中,先关闭磁盘阵列60的磁盘阵列控制器的快取。
接着,于本实施例的步骤201中,取得硬盘50的一硬盘标称速率。而此硬盘标称速率由一硬盘50的硬盘韧体中读取出此硬盘50的硬盘规格信息,并依照一硬盘标称速率对照表,由此硬盘标称速率对照表找出相对应此硬盘规格信息的硬盘标称速率。
接着,于步骤202中,随机的读取硬盘50中相异的多个数据区块的数据,并且根据每次读取这些相异的多个数据区块的数据所得到的接口传输速率来计算一多次读取的平均速率,并且将此接口传输速率的平均速率定义为一第一传输速率。其中,当随机的读取硬盘50中相异的多个数据区块的数据时,硬盘50中的高速缓存不启动。因此,此一步骤所得到的第一传输速率为直接从硬盘50将数据读取出来且传输给相对应的控制器的速率。
于步骤203中,根据步骤201及步骤202中所得到的硬盘标称速率和第一传输速率计算出一临界速率。此临界速率利用一加权平均法取得,举例来说,硬盘标称速率为150MB/s,第一传输速率为60MB/s。因此,临界速率=60MB/s+(150MB/s-60MB/s)×40%=96MB/s。其中,于此临界速率的加权平均法中,其加权公式与加权值为使用者所自行定义而得,故并不以此实施例中所公开的加权公式与加权值为限。
接着,于步骤204中,重复的读取硬盘50中同一个数据区块的数据,并且根据多次读取此同一个数据区块的数据所得到的接口传输速率来计算一多次读取的平均速率,并且将此接口传输速率的平均速率定义为一第二传输速率。
并且于步骤205中,比对步骤203与步骤204所得到的临界速率和第二传输速率,并判断第二传输速率是否大于临界速率。其中,若第二传输速率大于临界速率,表示此经过重复读取的硬盘50中同一个数据区块的数据从硬盘50中存入硬盘50的高速缓存中。此外,若第二传输速率小于临界速率,表示此经过重复读取的硬盘50中同一个数据区块的数据并没有从硬盘50中存入硬盘50的高速缓存中。
因此,若第二传输速率大于临界速率,于步骤206中则继续重复读取同一块数据区块的数据,并且根据多次读取此同一个数据区块的数据所得到的接口传输速率来计算一多次读取的平均速率,此传输速率即为接口临界传输速率。
此外,若第二传输速率小于临界速率,表示此第二传输速率为从硬盘50中将数据读取出来且传输给相对应的控制器的速率。则回到步骤203继续重复读取硬盘50中的同一个数据区块的数据,直到于步骤205中判断出第二传输速率大于临界速率。接着,再执行步骤206重复前述步骤得到接口临界传输速率。
接着,于步骤207中,开启磁盘阵列控制器的快取。于步骤208中,重复的读取硬盘50中同一个数据区块的数据,并且根据多次读取此同一个数据区块的数据所得到的接口传输速率来计算一多次读取的平均速率,并且将此接口传输速率的平均速率定义为一第三传输速率。
并且于步骤209中,比对步骤206与步骤208所得到的接口临界传输速率和第三传输速率,并判断第三传输速率是否大于接口临界传输速率。若第三传输速率大于接口临界传输速率,于步骤210中则继续重复读取同一块数据区块的数据,并且根据多次读取此同一个数据区块的数据所得到的接口传输速率来计算一多次读取的平均速率,此接口传输速率即为硬盘接口传输速率。
除此之外,若第三传输速率小于临界速率,则回到步骤208继续重复读取硬盘50中的同一个数据区块的数据,直到于步骤209中判断出第三传输速率大于接口临界传输速率。接着,再执行步骤210重复前述步骤得到硬盘接口传输速率。
综上所述,根据本发明的一种测试硬盘接口传输速率的方法,其利用一临界速率来作为判断硬盘是否由硬盘的高速缓存中将数据读取出来且传输给相对应的控制器的信息传输速率。更详细地说,当重复读取同一个硬盘的数据区块的数据时,此数据会传输至硬盘的高速缓存。而从硬盘的高速缓存读取出并传输出去的速率,即为硬盘接口传输速率。相较于公知技术利用此方式所得到的硬盘接口传输速率,可以得到较为精确的测试结果。