一种数据读写方法以及主板的制作方法

文档序号:9417302阅读:250来源:国知局
一种数据读写方法以及主板的制作方法
【技术领域】
[0001]本申请涉及通信领域,尤其涉及一种数据读写方法以及主板。
【背景技术】
[0002]存储服务器是一种能提供很大存储空间的服务器,它必须具有快速的处理芯片,较大的RAM (Random Access Memory,随机存取存储器),以及非常大的内部磁盘空间,以便应对终端用户随时可能出现的应用调配需求。
[0003]在存储服务器中,主板通常是一台存储服务器设计的核心。存储服务器主板的现有架构中,CPU通常通过SAS(Serial Attached SCSI,即串行SCSI技术)控制器以及SAS扩展器与磁盘阵列建立连接,在进行数据读写时,CPU将从I/O业务口接收到读1请求和写1请求通过SAS控制器以及SAS扩展器下发到磁盘阵列,由磁盘阵列来完成对应的读写操作,然后将读写操作的执行结果再通过SAS控制器以及SAS扩展器返回给CPU,再由CPU通过I/O业务口送出。
[0004]可见,存储服务器的现有架构中,在进行数据读写时,数据经过的路线太长,导致延迟增大,从而影响存储服务器的整体性能。

【发明内容】

[0005]本申请提出一种主板,应用于存储服务器,所述主板包括基于FPGA的数据读写模块、内存以及业务口 ;所述内存与所述基于FPGA的数据读写模块相连接;所述业务口通过所述数据读写模块与所述存储服务器的磁盘阵列相连接;其中:
[0006]所述基于FPGA的数据读写模块,用于从所述业务口接收读写1请求,并将接收到的读写1请求下发至所述磁盘阵列;
[0007]当所述磁盘阵列执行与所述读写1请求对应的读写操作后,所述基于FPGA的数据读写模块进一步用于接收所述磁盘阵列返回的与所述读写操作对应的执行结果,并将所述执行结果通过所述业务口发送给所述读写1请求的发起端主机。
[0008]可选的,所述基于FPGA的数据读写模块进一步用于:
[0009]当从所述业务口接收到读1请求,并将该读1请求下发到所述磁盘阵列后,接收所述磁盘阵列在执行与所述读1请求对应的读操作后返回的读取到的数据,将该数据通过所述业务口发送给所述读1请求的发起端主机;
[0010]当从所述业务口接收到写1请求,并将该写1请求下发到所述磁盘阵列后,在所述内存中缓存与该写1请求对应的写入数据,并在所述磁盘阵列在执行与所述写1请求对应的写操作将缓存在所述内存中的所述写入数据写入成功后,接收所述磁盘阵列返回的写入成功的通告消息,并将该通告消息通过所述业务口发送给所述写1请求的发起端主机。
[0011]可选的,所述基于FPGA的数据读写模块进一步用于:
[0012]在将接收到的读1请求或写1请求下发至所述磁盘阵列之前,解析所述读1请求或写1请求获取对应的读地址或写地址;
[0013]判断获取到的与所述读1请求或写1请求对应的读地址或写地址是否命中所述内存中预设的热点数据库中的地址索引;
[0014]当获取到的与所述读1请求对应的读地址命中所述预设的热点数据库中的地址索引时,从所述内存中预设的热点数据库中读取与该地址索引对应的热点数据,并将读取到的该热点数据通过所述业务口发送给所述读1请求的发起端主机;
[0015]当获取到的与所述写1请求对应的写地址命中所述预设的热点数据库中的地址索引时,将与该写1请求对应的数据存入所述内存,以对所述预设的热点数据库中与该地址索引对应的热点数据进行更新。
[0016]可选的,所述基于FPGA的数据读写模块进一步用于:
[0017]在判断获取到的与所述读1请求或写1请求对应的读地址或写地址是否命中所述内存中预设的热点数据库中的地址索引之前,针对与所述读地址或写地址对应的数据进行访问次数统计;
[0018]判断统计出的访问次数是否达到阈值;
[0019]当统计出的任一数据的访问次数达到阈值时,将该数据作为热点数据保存在所述预设的热点数据库中,并在该热点数据库中创建该数据与该数据的地址索引之间的对应关系O
[0020]可选的,所述基于FPGA的数据读写模块进一步用于:
[0021]当所述预设的热点数据库中任一热点数据未被访问的持续时长达到预设时长时,判断该热点数据是否被修改;
[0022]当该热点数据未被修改时,删除所述预设的热点数据库中保存的该热点数据,以及与该热点数据对应的地址索引;
[0023]当该热点数据被修改时,将该热点数据从所述预设的热点数据库中回写到所述磁盘阵列,并删除所述预设的热点数据库中保存的与该热点数据对应的地址索引。
[0024]本申请还提出一种数据读写方法,应用于存储服务器,所述存储服务器的主板包括基于FPGA的数据读写模块、内存以及业务口 ;所述内存与所述基于FPGA的数据读写模块相连接;所述业务口通过所述数据读写模块与所述存储服务器的磁盘阵列相连接;所述方法包括:
[0025]步骤A、所述基于FPGA的数据读写模块从所述业务口接收读写1请求,并将接收到的读写1请求下发至所述磁盘阵列;
[0026]步骤B、当所述磁盘阵列执行与所述读写1请求对应的读写操作后,所述基于FPGA的数据读写模块接收所述磁盘阵列返回的与所述读写操作对应的执行结果,并将所述执行结果通过所述业务口发送给所述读写1请求的发起端主机。
[0027]可选的,所述步骤B具体包括:
[0028]当所述基于FPGA的数据读写模块从所述业务口接收到读1请求,并将该读1请求下发到所述磁盘阵列后,接收所述磁盘阵列在执行与所述读1请求对应的读操作后返回的读取到的数据,将该数据通过所述业务口发送给所述读1请求的发起端主机;
[0029]当所述基于FPGA的数据读写模块从所述业务口接收到写1请求,并将该写1请求下发到所述磁盘阵列后,在所述内存中缓存与该写1请求对应的写入数据,并在所述磁盘阵列在执行与所述写1请求对应的写操作将缓存在所述内存中的所述写入数据写入成功后,接收所述磁盘阵列返回的写入成功的通告消息,并将该通告消息通过所述业务口发送给所述写1请求的发起端主机。
[0030]可选的,所述方法还包括:
[0031]所述基于FPGA的数据读写模块在将接收到的读1请求或写1请求下发至所述磁盘阵列之前,解析所述读1请求或写1请求获取对应的读地址或写地址;
[0032]判断获取到的与所述读1请求或写1请求对应的读地址或写地址是否命中所述内存中预设的热点数据库中的地址索引;
[0033]当获取到的与所述读1请求对应的读地址命中所述预设的热点数据库中的地址索引时,从所述内存中预设的热点数据库中读取与该地址索引对应的热点数据,并将读取到的该热点数据通过所述业务口发送给所述读1请求的发起端主机;
[0034]当获取到的与所述写1请求对应的写地址命中所述预设的热点数据库中的地址索引时,将与该写1请求对应的数据存入所述内存,对所述预设的热点数据库中与该地址索引的对应的热点数据进行更新。
[0035]可选的,所述方法还包括:
[0036]所述基于FPGA的数据读写模块在判断获取到的与所述读1请求或写1请求对应的读地址或写地址是否命中所述内存中预设的热点数据库中的地址索引之前,针对与所述读地址或写地址对应的数据进行访问次数统计;
[0037]判断统计出的读取次数是否达到阈值;
[0038]当统计出的任一数据的访问次数达到阈值时,将该数据作为热点数据保存在所述预设的热点数据库中,并在该热点数据库中创建该数据与该数据的地址索引之间的对应关系O
[0039]可选的,所述方法还包括:
[0040]所述基于FPGA的数据读写模块在所述预设的热点数据库中任一热点数据未被读取的持续时长达到预设时长时,判断该热点数据是否被修改;
[0041]当该热点数据未被修改时,删除所述预设的热点数据库中保存的该热点数据,以及与该热点数据对应的地址索引;
[0042]当该热点数据被修改时,将该热点数据从所述预设的热点数据库中回写到所述磁盘阵列,并删除所述预设的热点数据库中保存的与该热点数据对应的地址索引。
[0043]本申请提出一种新的存储服务器的主板架构,通过基于FPGA的数据读写模块从所述业务口接收读写1请求,并将接收到的读写1请求下发至所述磁盘阵列,由磁盘阵列根据来执行与所述读写1请求对应的读写操作,当磁盘阵列执行完成所述读写操作后,基于FPGA的数据读写模块接收磁盘阵列返回的与所述读写操作对应的执行结果,并将该执行结果通过所述业务口发送给所述读写1请求的发起端主机。
[0044]由于在该主板架构中,由基于FPGA的数据读写模块来替代CPU进行数据读写,CPU不再负责数据读写,因此可以降低CPU的负担;而且,在该主板架构中,基于FPGA的数据读写模块与磁盘阵列直连,不再需要引入SAS控制器以及SAS扩展器,因此在进行数据读写过程中,可以缩短在进行数据读写时的数据通路,减少数据延迟,从而可以提高存储服务器的整体性能。
【附图说明】
[0045]图1是本申请一实施例提供的一种存储服务器的主板架构图;
[0046]图2是本申请一实施例提供的另一种存储服务器的主板架构图;
[0047]图3是本申请一实
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1