双控磁盘阵列间通过vpd芯片进行数据交换的方法与装置的制造方法

文档序号:9471103阅读:742来源:国知局
双控磁盘阵列间通过vpd芯片进行数据交换的方法与装置的制造方法
【技术领域】
[0001]本发明属于数据存储技术领域,更具体地,涉及一种双控磁盘阵列间通过VPD芯片进行数据交换的方法与装置。
【背景技术】
[0002]磁盘阵列(RedundantArrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(ParityCheck)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
[0003]磁盘阵列上有一个主要的部件叫控制器,只有一个控制器的磁盘阵列叫单控磁盘阵列。具有两个控制器的磁盘阵列叫双控磁盘阵列。在现有双控磁盘阵列中,大部分是通过CPU的直接内存访问(Direct1nal Memory Access, DMA)通道进行双控间的数据交换工作,由于CPU的复杂性,容易造成CPU资源的抢占和浪费。

【发明内容】

[0004]针对现有技术的以上缺陷或改进需求,本发明提供了一种双控磁盘阵列间通过重要产品数据(vital product data,VPD)芯片进行数据交换的方法与装置,其目的在于利用VPD芯片在双控磁盘中来存储和传递较小的数据结构,由此解决现有技术中双控磁盘间传输数据所造成的抢占和浪费CPU资源的的技术问题。
[0005]为了实现上述目的,按照本发明的一个方面,提供了一种双控磁盘阵列间通过VPD芯片进行数据交换的方法,包括:
[0006]若双控磁盘阵列中的第一磁盘阵列需要向第二磁盘阵列传输数据,则将所述数据写入所述双控磁盘阵列的VPD芯片中;
[0007]双控磁盘阵列中的第一磁盘阵列和第二磁盘阵列均周期性判断所述VPD芯片中是否写入了需要传输给所述第一磁盘阵列或第二磁盘阵列的数据,如果是,则所述第一磁盘阵列或第二磁盘阵列读取所述VPD芯片中的数据。
[0008]按照本发明的另一方面,还提供了一种双控磁盘阵列间通过vro芯片进行数据交换的装置,包括第一控制器、第二控制器和VPD芯片,其中:
[0009]所述第一控制器,用于在需要向第二控制器传输数据时,将所述数据写入所述双控磁盘阵列的VPD芯片中;
[0010]所述VPD芯片,用于存储所述数据;
[0011]所述第二控制器,用于周期性判断所述vro芯片中是否写入了需要传输给第二控制器的数据,如果是,则所述第二控制器读取所述VPD芯片中的数据;
[0012]所述第一控制器,还用于周期性判断所述vro芯片中是否写入了需要传输给第一控制器的数据,如果是,则所述第一控制器读取所述VPD芯片中的数据。
[0013]总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益技术效果:
[0014]1、本发明方法通过双控磁盘阵列自身所具有的VPD芯片来存储和传输两个磁盘阵列中需要传输的数据,而不是现有技术中通过CPU的dma通道进行双控间的数据交换工作,从而不会造成cpu资源的抢占和浪费;从而不会对双控磁盘阵列的结构造成改变,只需对控制器的控制程序稍作修改即可,不会增加额外成本。
[0015]2、本发明方法通过在VPD芯片上存储的Vpdinfo (flag,data)来表示双控间传输数据的状态、并存储要传输的数据,实现方式简单并且效率高。
【附图说明】
[0016]图1是本发明双控磁盘阵列间通过VPD芯片进行数据交换方法的示意图;
[0017]图2为本发明双控磁盘阵列间通过VPD芯片进行数据交换的装置的结构示意图。
【具体实施方式】
[0018]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0019]如图1所示,本发明提供了一种双控磁盘阵列间通过VPD芯片进行数据交换的方法,包括:
[0020]S1、若双控磁盘阵列中的第一控制器需要向第二控制器传输数据,则将所述数据写入所述双控磁盘阵列的VPD芯片中;
[0021]S2、双控磁盘阵列中的第一控制器和第二控制器均周期性判断所述VPD芯片中是否写入了需要传输给所述第一控制器或第二控制器的数据;
[0022]S3、如果是,则所述第一控制器或第二控制器读取所述vro芯片中的数据。
[0023]如果步骤S2的判断结果为否,则说明VPD芯片中未写入需要传输给所述第一控制器或第二控制器的数据,则不做任何处理,继续周期性判断所述vro芯片中是否写入了需要传输给所述第一控制器或第二控制器的数据;
[0024]其中,所述vro芯片是安装在双控磁盘阵列背板上的一个存储芯片,可以分别联通2个控制器,一般用来存储产品厂商,型号等信息;在此,我们利用VPD芯片来存储某控制器需要向另一控制器传输的数据。
[0025]在本发明中,利用VPD芯片来传输的数据通常是较小的数据,因此,只需要在所述vro芯片中划定一小片存储区域,用来存储上述需要传输的数据即可。
[0026]为了利用VPD芯片来传输芯片,本发明在所述VPD芯片中通过如下数据结构存储需要传输的数据:
[0027]Vpdinfo (flag, data),
[0028]其中,所述flag为用于表示VPD芯片中数据存储状态的标志位,所述data为用于存储需要传输的数据的数据位。
[0029]通过上述数据结构,第一控制器和所述第二控制器可以通过读取所述数据结构Vpdinfo中的flag来判断所述VPD芯片中是否写入了需要传输给所述第一控制器或第二控制器的数据。
[0030]例如,当flag为O表示没有数据,flag为I表示第一控制器发送数据给第二控制器,flag为2表示第二控制器发送数据给第一控制器。当然上述flag也可以用其他的数据表示相应含义,在具体实施中可根据需要设定。
[0031]通过上述数据结构,若双控磁盘阵列中的第一控制器需要向第二控制器传输数据,则将所述数据写入所述双控磁盘阵列的VPD芯片中数据结构Vpdinfo的data数据位,并将所述数据结构Vpdinfo的flag标志位设置为I。
[0032]同理,若双控磁盘阵列中的第二控制器需要向第一控制器传输数据,则将所述数据写入所述双控磁盘阵列的VPD芯片中数据结构Vpdinfo的data数据位,并将所述数据结构Vpdinfo的flag标志位设置为2。
[0
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1