[发明专利]固态硬盘控制器及其控制方法、固态硬盘、固态硬盘系统在审
申请号: | 202211711357.1 | 申请日: | 2022-12-29 |
公开(公告)号: | CN116185566A | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 黄运新;方浩俊 | 申请(专利权)人: | 深圳大普微电子科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F8/76 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 陈金赏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 固态 硬盘 控制器 及其 控制 方法 系统 | ||
本申请涉及固态硬盘应用领域,公开了一种固态硬盘控制器及其控制方法、固态硬盘、固态硬盘系统,通过在固态硬盘控制器设置虚拟机来运行固态硬盘固件,设置模拟器来模拟固态硬盘控制器的硬件模块,使得在固态硬盘固件向硬件模块发送访问请求时,由虚拟机截获该访问请求,并转发给模拟器来模拟硬件模块的行为,一方面,通过在固态硬盘控制器中设置虚拟机和模拟器,能够将软件和硬件解耦,实现固态硬盘固件在虚拟机上的运行,有利于实现固态硬盘的定制开发,另一方面,使得第三方能够基于模拟器进行二次开发,提高开发效率。
技术领域
本申请涉及固态硬盘应用领域,特别是涉及一种固态硬盘控制器及其控制方法、固态硬盘、固态硬盘系统。
背景技术
固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(flash存储芯片或DRAM存储芯片)。
目前,固态硬盘的软件开发采用了基于多核的、软硬件紧耦合的固件开发方式,其中,绝大部分软件由主控芯片原厂开发,然后经过长时间、大量样本的严格测试,才能达到量产出货标准,涉及到大量的人力、物力和测试费用支出。一旦软件有任何修改,大量的测试又得重来一遍。在这种模式下,第三方想要基于原厂的主控芯片做产品级的软件开发,难度大,一款企业级的SSD产品软件开发,量产时间长,研发费用投入大。因此,现有的SSD产品,绝大部分都是主控芯片原厂开发,单纯做独立软件开发的SSD厂商占比比较小。
同时,市场上有大量的SSD二次开发的需求,在目前的SSD软硬件架构的现实情况下,不得不委托SSD原厂来做,导致开发成本高、时效性差。
发明内容
本申请实施例提供一种固态硬盘控制器及其控制方法、固态硬盘、固态硬盘系统,以降低开发成本,提高开发效率。
本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种固态硬盘控制器,包括:
虚拟机,用于运行固态硬盘固件;
模拟器,连接虚拟机,用于模拟固态硬盘控制器的至少一个硬件模块;
其中,当固态硬盘固件向硬件模块发送访问请求时,虚拟机截获访问请求,并将访问请求发送给模拟器,以使模拟器模拟硬件模块的行为。
在一些实施例中,固态硬盘控制器包括多个处理单元,多个处理单元支持虚拟化,多个处理单元包括多个运行级别;
虚拟机虚拟出多个虚拟处理单元,虚拟处理单元用于运行固态硬盘固件。
在一些实施例中,固态硬盘固件对应一个映像文件;
模拟器用于加载映像文件到虚拟处理单元,以使虚拟处理单元运行固态硬盘固件。
在一些实施例中,固态硬盘控制器包括多个硬件模块,其中,硬件模块包括PCIe模块、NVMe模块、缓冲管理模块、ECC模块、闪存管理模块中的至少一个;
模拟器包括多个虚拟硬件模块,每一个虚拟硬件模块用于一一对应模拟固态硬盘控制器的一个硬件模块,其中,虚拟硬件模块包括虚拟PCIe模块、虚拟NVMe模块、虚拟缓冲管理模块、虚拟ECC模块、虚拟闪存管理模块中的至少一个。
在一些实施例中,通过虚拟PCIe模块向虚拟机发送操作命令。
在一些实施例中,虚拟机包括:
虚拟机监视器,用于截获固态硬盘固件向硬件模块发送的访问请求。
在一些实施例中,固态硬盘控制器还包括:
中断控制器,连接固态硬盘控制器的处理单元,用于管理和控制可屏蔽中断、对可屏蔽中断进行优先权判定、向处理单元发送中断信号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大普微电子科技有限公司,未经深圳大普微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211711357.1/2.html,转载请声明来源钻瓜专利网。