[发明专利]多核CPU的负载均衡方法、多核CPU及固态硬盘有效
申请号: | 201410302672.8 | 申请日: | 2014-06-27 |
公开(公告)号: | CN104102458B | 公开(公告)日: | 2017-11-10 |
发明(设计)人: | 曹堪宇;朱荣臻;高会娟 | 申请(专利权)人: | 北京兆易创新科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50 |
代理公司: | 北京润泽恒知识产权代理有限公司11319 | 代理人: | 刘祥景 |
地址: | 100083 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 cpu 负载 均衡 方法 固态 硬盘 | ||
技术领域
本发明涉及数据存储技术领域,特别是涉及一种多核CPU的负载均衡方法、多核CPU及固态硬盘。
背景技术
SSD(固态硬盘,Solid State Disk)是一种使用闪存作为存储介质的一类硬盘,其相对于传统硬盘,具有更高速度、更低功耗和更低噪音等优点。
由于固态硬盘所使用的闪存有擦写次数限制,一旦某一闪存块擦除/写入到达一定次数,就可能造成无法写入数据,或者数据损坏。为了避免这种情况发生,固态硬盘引入了FTL(闪存转换层,Flash translation layer),FTL通过主机的LBA(逻辑块地址,Logic Block Address)映射为闪存的PBA(物理块地址,Physics Block Address),对闪存的每个物理块进行管理,做到每个物理块的擦写次数均衡,延长了闪存的寿命,使得固态硬盘也有传统硬盘的使用寿命。FTL可以在主机端实现,也可以在设备端实现。
当在采用多核CPU的设备端实现FTL时,现有多核CPU的负载均衡方案通常根据功能将主机的读写请求分担到上述多核CPU上进行处理,比如有些CPU专门处理前端NVMe(非易失性存储总线,Non-Volatile Memory Express)协议功能的读写请求,有些CPU专门处理Nand flash功能的读写请求,有些CPU专门处理损耗均衡(Wear leveling)功能的读写请求,有些CPU专门处理页映射(Page mapping)功能的读写请求,等等。然而,在按照上述方案处理读写请求的过程中,CPU之间很有可能要进行数据共享,也即,在很多情况下需要在两个或两个以上CPU之间进行通讯,而CPU之间的通讯往往需要复杂的算法,这无疑增加了负载均衡代码的开发周期,降低了开发效率。
发明内容
本发明实施例所要解决的技术问题是提供一种多核CPU的负载均衡方法、多核CPU及固态硬盘,能够简化软件设计,提高开发效率。
为了解决上述问题,本发明公开了一种多核CPU的负载均衡方法,所述多核CPU包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,所述方法包括:
前端CPU将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;
前端CPU依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
优选的,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。
优选的,所述每个子请求与对应后端CPU的映射关系中,所述后端CPU对应的子请求数量为对应闪存页所包含LBA的数量的整数倍。
优选的,所述前端CPU依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系的步骤,包括:
首先依据所述子请求的编号对所述后端CPU数量和每个闪存页所包含LBA的数量的乘积进行求余运算,然后依据求余运算结果对所述每个闪存页所包含LBA的数量进行取整运算,所述取整运算结果为所述子请求的编号对应后端CPU的编号。
优选的,所述方法还包括:
所述前端CPU接收来自所述后端CPU的子请求处理完毕的通知;
所述前端CPU在等待所述读写请求中所有子请求都处理完毕后,向所述主机发送读写请求处理完毕的通知。
另一方面,本发明还公开了一种多核CPU,包括一个前端CPU和至少一个后端CPU,其中的每个后端CPU用于管理固态硬盘的闪存,且各后端CPU管理的闪存不同,其中的前端CPU包括:
拆分模块,用于将来自主机的读写请求拆分为以逻辑块地址LBA为单位的子请求;
映射模块,用于依据后端CPU数量和每个闪存页所包含LBA的数量,得到所述子请求与对应后端CPU的映射关系;所述映射关系中每个子请求对应唯一的后端CPU;及
第一发送模块,用于依据所述映射关系,将所述子请求发送至对应的后端CPU,由所述后端CPU在所管理的闪存中对所述子请求进行闪存转换层FTL处理。
优选的,所述每个子请求与对应后端CPU的映射关系中,同一读写请求的子请求在所述后端CPU中错开。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京兆易创新科技股份有限公司,未经北京兆易创新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410302672.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用程序的进程启动方法及计算机系统
- 下一篇:一种信息处理方法及电子设备