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

文档序号:9432199阅读:335来源:国知局
一种数据读写方法以及主板的制作方法
【技术领域】
[0001]本申请涉及通信领域,尤其涉及一种数据读写方法以及主板。
【背景技术】
[0002]存储服务器是一种能提供很大存储空间的服务器,它必须具有快速的处理芯片,较大的RAM (Random Access Memory,随机存取存储器),以及非常大的内部磁盘空间,以便应对终端用户随时可能出现的应用调配需求。
[0003]在存储服务器中,主板通常是一台存储服务器设计的核心。存储服务器主板的现有架构中,CPU通常通过SAS(Serial Attached SCSI,即串行SCSI技术)控制器以及SAS扩展器与磁盘阵列建立连接,在进行数据读写时,CPU将从I/O业务口接收到读1请求和写1请求通过SAS控制器以及SAS扩展器下发到磁盘阵列,来完成对应的读写操作。
[0004]磁盘阵列在完成对应的读写操作时,磁盘阵列中的磁盘设备以恒定的速率旋转,为了能够完成读操作和写操作,磁盘的磁头必须能移动到所要求的磁道上,并等待所要求扇区的开始位置旋转到磁头下,然后再开始读操作和写操作。
[0005]因此,磁盘设备在进行数据读写时,数据读写所耗费的总时长通常可以包括寻道时间,旋转延时时间和传输时间三部分。由于在实际应用中,磁盘在进行数据读写时,磁头寻道时间和旋转延时间通常比较长,如果CPU频繁访问磁盘,磁盘工作的大部分时间都在寻道,工作效率将非常低下,必然导致整个计算系统运行缓慢,因此对磁盘访问进行加速十分有必要。

【发明内容】

[0006]本申请提出一种数据读写方法,应用于存储服务器,所述存储服务器的主板包括CPU、基于FPGA的数据读写模块、内存;所述基于FPGA的数据读写模块与所述CPU以及所述存储服务器的磁盘阵列分别相连接;所述内存与所述基于FPGA的数据读写模块相连接;所述方法包括:
[0007]步骤A、所述基于FPGA的数据读写模块接收所述CPU下发的读写1请求,并对所述读写1请求进行解析获取对应的读写地址;
[0008]步骤B、所述基于FPGA的数据读写模块判断获取到所述读写地址是否命中所述内存中预设的热点数据库中的地址索引;
[0009]步骤C、当获取到的所述读写地址命中所述预设的热点数据库中的地址索引时,所述基于FPGA的数据读写模块基于所述热点数据库中的热点数据在本地执行与所述读写1请求对应的读写操作。
[0010]可选的,所述步骤C具体包括:
[0011]当解析CPU下发的读1请求获取到的读地址命中所述预设的热点数据库中的地址索引时,从所述内存中预设的热点数据库中读取与该地址索引对应的热点数据,并将读取到的热点数据返回给CPU,以由CPU将该热点数据发送给所述读1请求的发起端主机;
[0012]当解析CPU下发的写1请求获取到的写地址命中所述预设的热点数据库中的地址索引时,将与该写1请求对应的写入数据存入所述热点数据库,对所述热点数据库中与该地址索引对应的热点数据进行更新。
[0013]可选的,所述步骤B具体包括:
[0014]在判断获取到所述读写地址是否命中所述内存中预设的热点数据库中的地址索引之前,针对与所述读写地址对应的数据进行访问次数统计;
[0015]判断统计出的访问次数是否达到阈值;
[0016]当统计出的任一数据的访问次数达到阈值时,将该数据作为热点数据保存在所述预设的热点数据库中,并在该热点数据库中创建该数据与该数据的地址索引之间的对应关系O
[0017]可选的,所述步骤B进一步包括:
[0018]当所述预设的热点数据库中任一热点数据未被读取的持续时长达到预设时长时,将该热点数据从所述内存中回写到所述磁盘阵列,并删除所述预设的热点数据库中保存的与该热点数据对应的地址索引。
[0019]可选的,所述内存包括大容量闪存。
[0020]本申请还提出一种主板,应用于存储服务器,所述主板包括CPU、基于FPGA的数据读写模块、内存;其中,所述基于FPGA的数据读写模块与所述CPU以及所述存储服务器的磁盘阵列分别相连接;所述内存与所述基于FPGA的数据读写模块相连接;其中:
[0021]所述基于FPGA的数据读写模块,用于接收所述CPU下发的读写1请求,并对所述读写1请求进行解析获取对应的读写地址;
[0022]所述基于FPGA的数据读写模块进一步判断获取到所述读写地址是否命中所述内存中预设的热点数据库中的地址索引;
[0023]当获取到的所述读写地址命中所述预设的热点数据库中的地址索引时,所述基于FPGA的数据读写模块进一步用于基于所述热点数据库中的热点数据在本地执行与所述读写1请求对应的读写操作。
[0024]可选的,所述基于FPGA的数据读写模块进一步用于:
[0025]当解析CPU下发的读1请求获取到的读地址命中所述预设的热点数据库中的地址索引时,从所述内存中预设的热点数据库中读取与该地址索引对应的热点数据,并将读取到的热点数据返回给CPU,以由CPU将该热点数据发送给所述读1请求的发起端主机;
[0026]当解析CPU下发的写1请求获取到的写地址命中所述预设的热点数据库中的地址索引时,将与该写1请求对应的写入数据存入所述热点数据库,对所述热点数据库中与该地址索引对应的热点数据进行更新。
[0027]可选的,所述基于FPGA的数据读写模块进一步用于:
[0028]在判断获取到所述读写地址是否命中所述内存中预设的热点数据库中的地址索引之前,针对与所述读写地址对应的数据进行访问次数统计;
[0029]判断统计出的访问次数是否达到阈值;
[0030]当统计出的任一数据的访问次数达到阈值时,将该数据作为热点数据保存在所述预设的热点数据库中,并在该热点数据库中创建该数据与该数据的地址索引之间的对应关系O
[0031]可选的,所述基于FPGA的数据读写模块进一步用于:
[0032]当所述预设的热点数据库中任一热点数据未被读取的持续时长达到预设时长时,将该热点数据从所述内存中回写到所述磁盘阵列,并删除所述预设的热点数据库中保存的与该热点数据对应的地址索引。
[0033]可选的,所述内存包括大容量闪存。
[0034]本申请提出一种新的存储服务器的主板架构,该主板架构中包括CPU、基于FPGA的数据读写模块、内存;所述基于FPGA的数据读写模块与所述CPU以及所述存储服务器的磁盘阵列分别相连接;所述内存与所述基于FPGA的数据读写模块相连接。CPU在进行数据读写时,基于FPGA的数据读写模块接收CPU下发的读写1请求,对所述读写1请求进行解析获取对应的读写地址,并判断获取到所述读写地址是否命中所述内存中预设的热点数据库中的地址索引;当获取到的所述读写地址命中所述预设的热点数据库中的地址索引时,所述基于FPGA的数据读写模块基于所述热点数据库中的热点数据在本地执行与所述读写1请求对应的读写操作。
[0035]由于在该主板架构中,当CPU发起的读写1请求对应的读写数据命中热点数据库中的热点数据时,将由基于FPGA的数据读写模块根据基于所述热点数据库中的数据在其本地完成与所述读写1请求对应的读写操作,而不需要将该读写1请求下发到磁盘阵列来执行对应的读写操作,因此可以有效的减少磁盘阵列中单块磁盘的读写操作次数节省磁盘的寻道时长,从而可以实现磁盘访问的加速,极大的提高了热点数据的访问速度,提升了存储服务器的整体读写性能。
【附图说明】
[0036]图1是本申请一实施例提供的一种存储服务器的主板架构图;
[0037]图2是本申请一实施例提供的另一种存储服务器的主板架构图;
[0038]图3是本申请一实施例提供的一种数据读写方法的流程图。
【具体实施方式】
[0039]请参见图1,图1为现有实现中存储服务器的主板架构示意图。
[0040]如图1所示,在存储服务器的主板架构中,通常包括业务1 口、CPU、1H
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1