一种配置缓存的方法、装置和电子设备及数据读写装置的制作方法

文档序号:6578817阅读:122来源:国知局

专利名称::一种配置缓存的方法、装置和电子设备及数据读写装置的制作方法
技术领域
:本发明涉及信息
技术领域
,特别涉及一种配置缓存的方法、装置和电子设备及通过该缓存进行数据读写的装置。
背景技术
:RAID(RedundantArrayofIndependentDisks独立磁盘冗余阵列)是将多块硬盘通过控制器结合而成的虚拟单台大容量的硬盘,RAID的特点是不仅加快了多块硬盘同时读写的速度,而且通过不同的算法提高硬盘中数据的冗余及容错性。现有技术中为了节省CPU(中央处理器)资源的消耗,通过DMA(DirectMemoryAddress,直接存储器访问)来完成数据的存取,这样不仅大大提高DMA引擎的数据传输带宽,而且也提高RAID引擎的数据带宽,从而提高系统读写数据的效率。但是,发明人在实现本发明的过程中发现现有技术中存在的缺陷在于由于RAID引擎结构固定,所以其运算带宽也相对固定。一旦达到传输数据的瓶颈往往造成RAID引擎工作不连续,进而影响了系统的工作效率。虽然现有技术也对此提出了一些解决的办法,比如通过RAID引擎和DMA引擎串行读写数据的方式来改善系统读写数据的效率,但这种方法无法使得RAID引擎和DMA引擎同时工作,严重浪费系统带宽;所以如何使得RAID引擎和DMA引擎同时工作,从而提高RAID运算系统读写数据的效率己成为本领域技术人员希望解决的技术问题。
发明内容本发明实施例的目的在于提供一种配置独立磁盘冗余阵列运算系统中缓存的方法、装置和电子设备,通过本发明实施例可以在不增加独立磁盘冗余阵列运算系统中缓存的情况下,对包括不同硬盘数的独立磁盘冗余阵列运算系统中的缓存配置不同的策略,充分利用固有缓存来配置带宽,保证配置完毕的缓存中各个存储区有足够的数据深度,从而使得运算系统中RAID引擎的运算带宽保持在一个合适的水准,为提高独立磁盘冗余阵列运算系统的读写数据的效率提供了有效解决途径。本发明实施例的目的还在于提供一种对独立磁盘冗余阵列运算系统屮缓存进行读写数据的装置,通过本发明实施例使得RAID引擎和DMA引擎同时工作,从而提高RAID运算系统读写数据的效率。为实现上述目的,本发明实施例提供一种配置独立磁盘冗余阵列运算系统中缓存的方法,所述方法包括获取独立磁盘冗余阵列运算系统中的硬盘个数以及预先设定的单次读写的数据量;根据所述独立磁盘冗余阵列运算系统中缓存的大小以及获取到的所述硬盘个数和预先设定的单次读写的数据量,分配所述独立磁盘冗余阵列运算系统中缓存的存储区。为实现上述目的,本发明实施例还提供一种配置独立磁盘冗余阵列运算系统中缓存的装置,该装置包括-获取单元,用于获取独立磁盘冗余阵列运算系统中的硬盘个数以及预先设定的单次读写的数据量;存储区分配单元,用于根据所述独立磁盘冗余阵列运算系统中缓存的大小以及获取到的所述硬盘个数和预先设定的单次读写的数据量,分配所述独立磁盘冗余阵列运算系统中缓存的存储区。为实现上述目的,本发明实施例还提供一种对独立磁盘冗余阵列运算系统中缓存进行读写数据的装置,所述装置包括获取单元,用于获取所述计算机系统中的硬盘个数以及所述计算机系统中的硬盘的单次读写的数据量;存储区分配单元,用于根据所述缓存的大小、所述硬盘个数、以及所述单次读写的数据量,在所述缓存中划分存储区;数据读写单元,用于根据在所述缓存中划分存储区,对数据进行读写操作。为实现上述方法,本发明实施例还提供一种电子设备,其包括上述配置独立磁盘冗余阵列运算系统中缓存的装置。本发明实施例的有益效果在于,在独立磁盘冗余阵列运算系统中缓存一定的情况下,根据硬盘数以及需要读写的数据量动态配置缓存中的存储区,使得配置完毕的缓存中的存储区对应当前的硬盘数以及需要读写的数据量时都可以提供足够的数据深度,为提高独立磁盘冗余阵列运算系统读写数据的效率提供了有效解决途径。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例一的配置RAID缓存的方法的流程框图。图2是本发明实施例二的配置RAID缓存的方法的流程框图。图3a是本发明实施例三的配置RAID缓存的方法的流程框图。图3b是本发明实施例三的硬盘数与数据带宽的曲线图。图4是本发明实施例四的配置RAID缓存的装置的结构框图。图5是本发明实施例五的电子设备的结构框图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例为一种配置独立磁盘冗余阵列运算系统(即RAID运算系统)中缓存的技术,根据RAID运算系统中硬盘的个数以及需要读写的数据量配置RAID运算系统中缓存的存储区,进而根据硬盘的个数以及需要读写的数据量调整缓存中存储区的数据深度,从而使得RAID运算系统在读写数据的时候拥有足够的数据深度,保证甚至提高了RAID运算系统读写数据的效率。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。实施例一本发明实施例提供一种配置RAID运算系统中缓存的方法,如图1所示,图1为本发明实施例一的配置RAID运算系统中缓存的方法的流程框图,该流程包括如下步骤101.获取RAID运算系统中的硬盘个数以及单次读写的数据量;102.根据所述RAID运算系统中缓存的大小、所述硬盘个数、以及单次读写的数据量,对所述RAID运算系统中缓存的存储区进行划分。本实施例中步骤101可以通过软件配写寄存器获取RAID运算系统中硬盘的个数以及单次读写的数据量,所述单次读写的数据量是对缓存中的每个存储区单次读写的数据量大小,其可根据RAID运算系统中缓存的大小预先进行设定,而且一旦设定在后续读写操作中就固定不变,读写数据引擎每次就依据该数据量固定的读写数据。硬盘个数就是指挂在RAID运算系统屮的硬盘个数,每个硬盘上都有一定量的数据。一般来说,硬盘数最大为32块,最小为4块。当获取到所述硬盘个数以及单次读写的数据量后,步骤102就根据所述RAID运算系统中缓存的大小、所述硬盘个数、以及所述单次读写的数据量对所述RAID运算系统的缓存的存储区进行划分。具体的,在本发明实施例中,根据情况,将RAID运算系统中的缓存划分成多个具有数据存储能力的存储区,而这些存储区可同时用于处理不同任务,比如Raid运算引擎的计算任务以及DMA的数据存取任务。在RAID运算系统,硬盘个数越多,单位时间需要读写的数据量也就越大,从而就需要更多地缓存空间。因此,当硬盘个数较多时,为了保证读写操作时都有足够的缓存空间,也就是说要保证缓存的每个存储区都要有足够的缓存空间,从而要减少存储区的数目。当硬盘个数较少时,说明需要读写的数据量就较小,此时不需要缓存的每个存储区有较大的存储空间,从而可以增加存储区的个数,以保证可以同时应付多种任务。在本发明实施例中,所述Raid运算系统的缓存可采用先入先出缓存(FirstInFirstOut,FIFO)的形式实现。本发明实施例的优点在于,对Raki运算系统的缓存进行分区,使得不同的存储区用于处理不同的任务,有效地提高了系统的效率。实施例二本发明实施例提供一种配置RAID运算系统中缓存的方法,如图2所示,图2为本发明实施例二的配置RAID运算系统中缓存的方法的流程框图,该流程包括如下步骤-201.获取RAID运算系统中的硬盘个数n以及单次读写的数据量p。具体的,可以通过软件配写寄存器获取本次RAID运算系统中硬盘的个数以及单次读写的数据量,所述单次读写的数据量是根据RAID运算系统中缓存状况的预先设定的值,其表示对缓存中存储区单次读写的数据量大小,至于其设定的策略在本发明中不作讨论。硬盘个数就是指挂在RAID运算系统中存储有需要被读写数据的硬盘数。202.获取硬盘个数n以及单次读写的数据量p各自对应的缓存地址线宽度xl禾卩x2。由于当缓存大小确定之后,缓存的相应的地址线宽度即也为确定值。而在本发明实施例中,地址线中包括保存硬盘个数、单次读写的数据量以及存储区的信息,因此,只需要在地址线中减去硬盘个数信息、单次读写的数据量信息后得到的余下的可用于存储存储区的划分信息的宽度值,即可知道缓存中可以划分的存储区得个数。需要理解的是,地址线宽度的值为二进制的值,而在计算中亦需要将硬盘数、单次读写的数据量的信息转化为二进制值。具体的,在本发明实施例中,硬盘数对应的地址线宽度可通过査找映射表来获得的,如下表所示-.硬盘数(单位块)地址线宽度大小(单位比特)<table>tableseeoriginaldocumentpage9</column></row><table>表1通过表1可知,当RAID运算系统中的硬盘数在32-17块时,此时的硬盘数对应的地址线宽度地址线宽度大小为5bit。在另一可选择的实施例中,亦可以通过计算来得到xl和x2,可参照式l和式2来求得xl和x2,其中,xl=ceil(log2(n)),x2=log2(p),ceil(log2(n》表示对1og2(n)向上取整。具体地,从二进制的角度说,32块硬盘对应的二进制信息是25,16块硬盘对应的二进制信息是24,因此为了满足需要,在大于16小于32的硬盘数所对应的地址线宽度就是5。同理,当RAID运算系统中的硬盘数在16-9块时,此时的硬盘数对应的缓存地址线宽度大小为4bit。当RAID运算系统屮的硬盘数在8-5块时,此时的硬盘数对应的缓存地址线宽度大小为3bit。当RAID运算系统中的硬盘数最少为4(22)块时,此时的硬盘数对应的缓存地址线宽度大小即为2bit。203.根据缓存的总地址线宽度X、系统的硬盘个数对应的地址线宽度、以及单次读写的数据量对应的地址线宽度,获得在缓存中划分的存储区的个数K,其中K^2(x'x"x2)。由于缓存的大小是一定的,其总地址线宽度地址线宽度是已知的,又由于其地址线宽度地址线宽度是由预先设定的单次读写的数据量、硬盘个数以及存储区个数三个参数对应的地址线宽度地址线宽度组成。当获取到硬盘个数以及单次读写的数据量各自对应的缓存地址线宽度地址线宽度时,将这三个参数全部转化为二进制求余所得的二进制数值就是存储区个数对应的二进制数值,再转化为十进制后即获得存储区个数。举例来说,当缓存大小为4K,硬盘数为4,预先设定的单次读写的数据量为64byte时,将这三个参数转换为二进制分别是缓存的地址线宽度为总的12bit(212byte=4k),硬盘数对应的地址线宽度为2bit,预先设定的单次读写的数据量对应的地址线宽度为6bit,所以缓存剩余地址线宽度即为4bit,对应的缓存存储区个数就为24,即为16个存储区。再比如,当缓存大小为4K,硬盘数为32,单次读写的数据量为64byte时,将这三个参数转换为二进制分别是缓存的地址线宽度为总的12bit,硬盘数对应的地址线宽度为5bit,预先设定的单次读写的数据量对应的地址线宽度为6bit,所以缓存剩余地址线宽度即为lbit,对应的缓存存储区个数就为21,即为2个存储区。204,根据得到的所述存储区个数在缓存中划分存储区。此处根据步骤203在计算出存储区个数后划分RAID运算系统缓存中的存储区。比如以64个存储空间的FIFO为例,当存储区个数为16时,将在RAID缓存中划分16个相同的存储区,每个存储区不仅有固定的4个存储空间而且每个存储区都对应所有硬盘中的数据;当存储区个数为2时,将在RAID缓存中划分2个相同的存储区,每个存储区不仅有固定的32个存储空间而且每个存储区都对应所有硬盘中的数据。本实施例的优点在于,根据缓存的总地址线宽度以及系统的硬盘个数对应的地址线宽度、单次读写的数据量对应的地址线宽度,可以计算出需要在缓存中划分的存储区的个数,从而根据存储区的个数对缓存的存储区进行动态划分,充分利用固有缓存来配置缓存中的存储区,进而达到配置带宽的目的,为提高RAID运算系统的读写数据的效率提供了有效解决途径。实施例三本发明实施例提供一种对RAID运算系统中缓存进行读写数据的方法,如图3a所示,图3a为本发明实施例三的流程框图,该流程包括如下步骤301.获取RAID运算系统中的硬盘个数n以及单次读写的数据量p。302.获取硬盘个数n以及单次读写的数据量p各自对应的缓存地址线宽度xl和x2。303.根据缓存的总地址线宽度X、系统的硬盘个数对应的地址线宽度、以及单次读写的数据量对应的地址线宽度,获得在缓存中划分的存储区的个数K,其中K=2(x-x1"2)。304.根据得到的所述存储区个数在缓存中划分存储区。305.根据硬盘个数、单次读写的数据量以及存储区个数对所述缓存进行数据读写操作。本发明实施例中301304同实施例二的201204,故不再赘述。所述的对RAID运算系统中缓存进行读写数据的方法根据系统的硬盘数和单次读写数据量灵活分配缓存的存储空间,在保证不影响缓存功能的情况下,对缓存的存储空间进行划分,使得RAID系统的数据的读取和写入可以在不同的存储区中同时进行,提高了系统的灵活性,而且保证了在各种情况下的数据读写的顺畅。其中,如图3a虚线框所示,作为本发明可选择的实施例,本实施例的步骤305可以包括351.根据所述硬盘个数、预先设定的单次读写的数据量以及存储区个数生成缓存地址,以使所述缓存地址包括硬盘个数、单次读写的数据量、以及存储区个数的信息;所述生成缓存地址即是将硬盘个数、单次读写的数据量以及存储区个数对应的二进制数值映射在缓存地址线宽度中,其中将缓存地址线的首地址线宽度对应单次需要读写的数据量,尾地址线宽度对应存储区个数,首、尾地址之间的中间地址线宽度对应硬盘个数。352.根据所述缓存地址对所述缓存进行数据读写操作。此处本实施例可以根据硬盘个数、预先设定的单次读写的数据量以及分配的存储区个数三个参数为基础生成缓存地址,通过对所述缓存地址的操作完成对所述RAID运算系统中的数据进行读写,而操作数据进行读写的方式可以是类似于乒乓操作的将存储区中的数据以先写入再读取再写入再读取的循环读写数据的方式。以64个存储空间的先入先出缓存为例,由于先入先出缓存在RAID运算系统中的存储容量是一定的,所以该缓存的地址线宽度也是一定的,假设缓存地址线宽度为13bit,将该地址分为三部分首地址线宽度、尾地址线宽度和首、尾地址之间的中间地址线宽度。首地址线宽度对应需要读写的数据量,假设需要读写的数据量的地址线宽度地址线宽度为128byte(27bit)时,首地址线宽度就为7bit。中间地址线宽度对应硬盘的个数,假设硬盘个数为4(22)时,中间地址线宽度地址线宽度就为2bit。尾地址线宽度对应划分后的存储区个数,地址线宽度因为缓存地址线宽度为13bit,所以尾地址线宽度就等于13-2-7=4bit,即划分后的存储区个数为16(24)。地址线宽度根据首地址线宽度、尾地址线宽度和中间地址线宽度,就可以生成缓存地址,即将首地址线宽度、尾地址线宽度和中间地址线宽度对应添加到缓存地址线中,从而使得所述缓存地址包括硬盘个数、需要读写的数据量以及分配的存储区个数三种信息,根据所述缓存地址中的这三种信息,釆用兵乓操作在各个存储区中对数据进行读写。比如,以先入先出缓存为例,所述先入先出缓存有64个存储空间,当RAID运算系统中缓存大小为4K,硬盘数为16,单次读写的数据量为64byte时,缓存中的存储区个数即为4,每个存储区有16个存储空间,DMA引擎根据缓存地址中的硬盘数为16、预先设定的单次读写的数据量64byte以及存储区个数4即可知道当前缓存中存储区的分配情况,从16块硬盘中的一块硬盘读取64byte的数据,再将所述64byte的数据写入其中一个存储区中的1个存储空间中,再依次从其他硬盘中分别读取64byte的数据写入各个存储区中,与此同时,RAID引擎在DMA引擎写入第一个数据后即开始对该存储空间中的该数据进行读取的操作,当读取完毕时,读取下1个存储空间中的64byte的数据。当DMA引擎完成第一轮4个存储区的数据写入工作后即开始进行下一轮的数据写入工作;而RAID引擎完成第一轮4个存储区的读取数据工作后郎开始第二轮的数据读取工作;以此所述DMA引擎和RAID引擎不断进行数据的写入以及读取过程,直到16块硬盘中的数据被全部读写完毕。这样即使在硬盘数较少并且读写的数据较小时,每个存储区都可以保证一定的缓存空间,使RAID引擎可以连续工作。本发明实施例的优点在于,不仅可以通过计算划分缓存中的存储区,而且还可以根据划分好的存储区以及硬盘个数、需要读写的数据量生成缓存地址,通过缓存地址对RAID运算系统中的数据进行读写操作,这样不管硬盘中有多少数据在进行读写操作时都可以获得较好的数据深度,从而提高了单位时间内RAID运算系统中缓存区的数据读取次数和效率,进而提高了缓存区的数据带宽,最大限度的提高RAID运算系统后端的运算带宽及读写数据的效率,如图3b所示,图3b为根据本发明实施例使用的方法后,RAID运算系统中硬盘数(4-32块)与数据带宽对应的曲线图,由图中可以清楚看出,在硬盘较少时,也就是读写的数据较小时,数据带宽仍较高,说明此时RAID运算系统读写数据的效率也很高。实施例四本发明实施例还提供一种配置RAID运算系统中缓存的装置,如图4所示,图4为本发明实施例的配置RAID运算系统中缓存的装置的结构框图,该装置包括获取单元401和存储区分配单元402,还可以包括数据读写单元403,获取单元401,主要用于获取RAID运算系统中的硬盘个数以及预先设定的单次读写的数据量;存储区分配单元402,主要用于根据所述RAID运算系统中缓存的大小以及所述获取单元401获取到的硬盘个数和预先设定的单次读写的数据量,分配所述RAID运算系统缓存的存储区;数据读写单元403,主要用于根据所述硬盘个数、预先设定的单次读写的数据量以及存储区个数对所述缓存进行数据读写操作。其中所述存储区分配单元402可以包括获取模块421、计算模块422以及存储区划分模块423,获取模块421,主要用于获取硬盘个数以及预先设定的单次读写的数据量各自对应的缓存地址线宽度;计算模块422,主要用于在获取模块421获取到RAID运算系统中的硬盘个数以及预先设定的单次读写的数据量各自对应的缓存地址线宽度之后,根据所述RAID运算系统中缓存总地址线宽度以及获取到的所述硬盘个数和预先设定的单次读写的数据量各自对应的缓存地址线宽度,计算需要在缓存中划分的存储区个数;存储区划分模块423,主要用于根据计算模块422计算出的所述存储区个数划分缓存中的存储区。其中,所述计算模块422在计算缓存中的存储区个数时,根据所述系统中缓存的总地址线宽度、所述硬盘个数所对应的地址线宽度、以及所述单次读写的数据量所对应的地址线宽度,计算可用于存储区划分的地址线宽度,根据所述可用于存储区划分的地址线宽度,计算可划分的存储区个数。所述数据读写单元403可以包括缓存地址生成模块431以及数据读写模块432,缓存地址生成模块431,主要用于根据所述硬盘个数、预先设定的单次读写的数据量以及存储区个数生成缓存地址,以使所述缓存地址包括硬盘个数、预先设定的单次读写的数据量以及存储区个数的信息;数据读写模块432,主要用于根据所述缓存地址对所述缓存进行数据读写操作。比如根据所述缓存地址,通过乒乓操作对所述独立磁盘冗余阵列中的数据进行读写。本发明实施例所述的缓存可以为先入先出缓存,这样数据读写模块432可以利用这种先入先出缓存通过乒乓操作等可将存储区中的数据以先写入再读取再写入再读取的方式循环读写数据,从而增加每个存储区的数据深度。而在数据读写单元403或数据读写模块432中读取数据可以由RAID引擎完成,写入数据可以由DMA引擎完成。由上可以看出,本发明实施例所述的装置可以很好的执行实施例一以及实施例二所述的方法,根据需要读写的数据量以及这些数据量对应的硬盘数动态配置缓存中的存储区,使得配置完毕的缓存中的存储区对应当前的硬盘数以及需要读写的数据量时都可以提供足够的数据深度,当数据读写单元403对这些数据进行读写操作时可以获得较好的数据深度,从而提高了RAID缓存区的数据读取次数和效率,进而提高了缓存区的数据带宽,最大限度的提高RAID后端的运算带宽及读写数据的效率。实施例五本发明实施例还提供一种电子设备,如图5所示,该电子设备包括上述实施例提供的配置RAID运算系统中缓存的装置,配置RAID运算系统中缓存的装置,主要用于获取RAID中需要读写的数据量和对应所述数据量的硬盘个数,并根据获取到的硬盘个数和需要读写的数据量分配所述RAID缓存中存储区。还可以用于根据所述硬盘个数、需要读写的数据量以及分配的存储区对所述RAID中的数据进行读写操作。需要说明的是,上述读写数据的功能也可以通过另一装置与本配置RAID运算系统中缓存的装置进行交互来实现。即本配置RAID运算系统中缓存的装置只用于分配所述RAID缓存中存储区,而所述另一装置用于根据所述分配的存储区对所述RAID中的数据进行读写操作,比如RAID运算引擎和DMA引擎。其中相关单元或模块的组成与设置与上述实施例三相同,故不再赘述。本发明实施例电子设备的类型可以是路由器、交换机、基站、基站控制器、数字用户线路接入复用器(DSLAM)、归属位置寄存器(HomeLocationRegister,HLR)、手机、个人数码助理(PersonalDigitalAssistant,PDA)、计算机、服务器、机顶盒、家用电器、以及各种电子设备、网络设备或计算机相关设备等。本发明实施例的有益效果在于,通过对RAID缓存进行科学的划分,使得缓存区在RAID进行读写过程中可以维持足够的数据深度,从而提高了RAID缓存区的数据读取次数和效率,进而提高了缓存区的数据带宽,最大限度的提高RAID后端的运算带宽及读写数据的效率。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,或者二者的结合来实施。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该软件模块或计算机软件产品可以存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。存储介质可以是随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域
内所公知的任意其它形式的存储介质。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而己,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种配置系统缓存的方法,其特征在于,所述方法包括获取系统中的硬盘个数以及单次读写的数据量;根据系统中缓存的大小、所述硬盘个数、以及所述单次读写的数据量,在所述缓存中划分存储区。2.根据权利要求1所述的方法,其特征在于,所述根据所述系统中缓存的大小、所述硬盘个数、以及所述单次读写的数据量,在所述缓存中划分存储区包括获取所述硬盘个数、所述单次读写的数据量各自对应的缓存地址线宽度;根据所述系统缓存的总地址线宽度、所述硬盘个数所对应的地址线宽度、以及所述单次读写的数据量所对应的地址线宽度,计算缓存中的存储区个数;根据计算出的所述存储区个数划分缓存中的存储区。3.根据权利要求2所述的方法,其特征在于,所述根据所述系统缓存的总地址线宽度、所述硬盘个数所对应的地址线宽度、以及所述单次读写的数据量所对应的地址线宽度,计算缓存中的存储区个数包括根据所述系统缓存的总地址线宽度、所述硬盘个数所对应的地址线宽度、以及所述单次读写的数据量所对应的地址线宽度,计算可用于存储区划分的地址线宽度;根据所述可用于存储区划分的地址线宽度,计算可划分的存储区个数。4.一种配置缓存的装置,用于计算机系统中,其特征在于,所述装置包括:获取单元,用于获取所述计算机系统中的硬盘个数以及所述计算机系统中的硬盘的单次读写的数据量;存储区分配单元,用于根据系统中缓存的大小、所述硬盘个数、以及所述单次读写的数据量,在所述缓存中划分存储区。5.根据权利要求4所述的装置,其特征在于,所述存储区分配单元包括获取模块,用于获取所述硬盘个数以及单次读写的数据量各自对应的缓存地址线宽度;计算模块,用于在获取所述硬盘个数以及所述单次读写的数据量各自对应的缓存地址线宽度之后,根据所述系统缓存总地址线宽度、所述硬盘个数对应的地址线宽度、以及所述单次读写的数据量对应的地址线宽度,计算缓存中的存储区个数;存储区划分模块,用于根据计算模块计算出的所述存储区个数划分缓存中的存储区。6.根据权利要求5所述的装置,其特征在于,所述计算模块在计算缓存中的存储区个数时,根据所述系统缓存的总地址线宽度、所述硬盘个数所对应的地址线宽度、以及所述单次读写的数据量所对应的地址线宽度,计算可用于存储区划分的地址线宽度,根据所述可用于存储区划分的地址线宽度,计算可划分的存储区个数。7.根据权利要求4所述的装置,其特征在于,所述缓存为先入先出缓存。8.—种对缓存进行读写数据的装置,用于计算机系统中,其特征在于,所述装置包括获取单元,用于获取所述计算机系统中的硬盘个数以及所述计算机系统中的硬盘的单次读写的数据量;存储区分配单元,用于根据系统中缓存的大小、所述硬盘个数、以及所述单次读写的数据量,在所述缓存中划分存储区;数据读写单元,用于根据在所述缓存中划分的存储区,对数据进行读写操作。9.一种电子设备,其特征在于,所述电子设备包括如权利要求5~8所述的装置。10.根据权利要求9所述的电子设备,其特征在于,所述电子设备的类型包括路由器、或交换机、或网关、或手机、或计算机、或服务器。全文摘要本发明实施例公开了一种配置系统中缓存的方法、装置和电子设备及相应数据读写装置,其中所述配置系统缓存的方法包括获取独立磁盘冗余阵列运算系统中的硬盘个数以及单次读写的数据量;根据所述独立磁盘冗余阵列运算系统中缓存的大小以及获取到的所述硬盘个数和预先设定的单次读写的数据量分配所述独立磁盘冗余阵列运算系统中缓存的存储区。通过本发明实施例,在独立磁盘冗余阵列中缓存一定的情况下,根据硬盘数以及预先设定的单次读写的数据量动态配置缓存中的存储区,使得配置完毕的缓存中的存储区对应当前的硬盘数以及需要读写的数据量时都可以提供足够的数据深度,为提高独立磁盘冗余阵列读写数据的效率提供了有效解决途径。文档编号G06F3/06GK101566933SQ20091014883公开日2009年10月28日申请日期2009年6月11日优先权日2009年6月11日发明者吉熊申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1