一种闪存控制器及其控制方法、闪存存储设备技术

技术编号:7953632 阅读:172 留言:0更新日期:2012-11-08 23:03
本发明专利技术适用于固态存储技术领域,提供了一种闪存控制器及其控制方法、闪存存储设备,闪存控制器的控制方法包括:命令产生状态机从闪存的多个命令接口接收命令,将命令翻译后转发给核心控制器,并将命令完成状态信息的地址预写入缓冲寄存器;核心控制器执行命令,数据地址状态机根据核心控制器的执行情况动态的为其提供数据地址;核心控制器执行命令完成后,命令回收状态机从核心控制器查询该命令对应的命令完成状态信息,并根据缓冲寄存器中的地址向内存中写入命令完成状态信息。借此,本发明专利技术能够提高命令执行的速度,保证核心控制器有足够的命令去实现高性能数据传输,保证了闪存控制器的性能,同时提高命令的产生和回收的效率。

【技术实现步骤摘要】

本专利技术涉及固态存储
,尤其涉及一种闪存控制器及其控制方法、闪存存储设备
技术介绍
当前闪存中的闪存控制器同时控制多个闪存颗粒,这些闪存颗粒共享一个数据和命令的通道,控制器通过片选信号实现对选定闪存颗粒的操作。为了实现高速传输的目标,要求闪存颗粒的数据和命令通道不间断的传输命令和数据,闪存控制器满负荷的在多个闪存颗粒之间切换工作,因此,需要闪存控制能够拿到多个闪存颗粒的命令,且能够灵活的在命令之间切换。图I是一种现有闪存控制器的原理结构图,该闪存控制器包括一个核心控制器、多个命令控制器以及多个闪存颗粒,核心控制器负责控制多个命令在对应的闪存颗粒之间的切换,核心控制器之前的多个命令控制器(接口控制器)分别对应闪存颗粒,为闪存颗粒提供命令。该方案每个闪存颗粒需要一个命令控制器,每个命令控制器负责从命令接口获取命令、翻译命令并发送命令到核心控制器,然后等待核心控制器执行命令完成后执行对应的收集状态和写回状态的操作。核心控制器需要多个命令去调度实现高性能,因此,在命令接口上,需要多个命令控制器,增加硬件资源的开销,增加芯片的面积和功耗。同时,且每个命令控制器发出命令后需等待命令完成并回收完成信息,每个命令控制器维持控制一个命令的时间过长,命令切换时间长,降低命令执行的速度。此外,命令控制器需要把命令发送给核心控制器,也需要把该命令所操作的数据地址发送给核心控制器,如果数据来源于多个地址或者数据要分散写到多个地址,对于一个命令,命令控制器需要提供给核心控制器多个数据的地址,而由于核心控制器缓存地址的空间有限,可能会导致命令控制器状态机停在某个状态,降低命令执行的速度。综上可知,现有的闪存控制器在实际使用上显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种闪存控制器及其控制方法、闪存存储设备,能够提高命令执行的速度,保证核心控制器有足够的命令去实现高性能数据传输,保证了闪存控制器的性能,同时提高命令的产生和回收的效率,减少硬件资源的开销,降低芯片面积和功耗。为了实现上述目的,本专利技术提供一种闪存控制器的控制方法,包括命令产生状态机从闪存的多个命令接口接收命令,将所述命令翻译后转发给核心控制器,并将命令完成状态信息的地址预写入缓冲寄存器;所述核心控制器执行所述命令,数据地址状态机根据所述核心控制器的执行情况动态的为其提供数据地址;所述核心控制器执行所述命令完成后,命令回收状态机从所述核心控制器查询该命令对应的命令完成状态信息,并根据所述缓冲寄存器中的地址向内存中写入所述命令完成状态信息。根 据本专利技术的控制方法,“命令产生状态机从闪存的多个命令接口接收命令,将所述命令翻译后转发给核心控制器”的步骤具体为所述命令产生状态机对所述多个命令接口的总线命令队列进行轮询;若某个总线命令队列不为空,则所述命令产生状态机获取其中一个命令;所述命令产生状态机根据所述命令从内存中获取该命令的详细信息打包后发送给所述核心控制器;所述命令产生状态机继续对所述总线命令队列进行轮询,直至所述多个命令接口上没有命令或者核心控制器不能够再接收命令。根据本专利技术的控制方法,“所述命令产生状态机根据所述命令从内存中获取该命令的详细信息打包后发送给所述核心控制器”的步骤中,所述命令的详细信息包括所述命令的操作类型以及所述命令的操作模式,所述命令的操作类型包括读闪存、写闪存以及擦除闪存;所述命令的操作模式包括对闪存的一个页全部数据操作或者部分数据操作。根据本专利技术的控制方法,“命令回收状态机从所述核心控制器查询该命令对应的命令完成状态信息”的步骤中,所述命令完成状态信息为所述核心控制器执行所述命令的结果,包括所述命令是否执行成功以及所述命令执行失败的类型。根据本专利技术的控制方法,“数据地址状态机根据核心控制器的执行情况动态的为核心控制器提供数据地址”的步骤中,所述数据地址为数据读出的目的地址或数据写入的源地址。本专利技术相应提供一种闪存控制器,包括命令产生状态机,用于从闪存的多个命令接口接收命令,将所述命令翻译后转发给核心控制器,并将命令完成状态信息的地址预写入缓冲寄存器;核心控制器,用于接收所述命令产生状态机发来的命令并根据数据地址状态机提供的数据地址执行所述命令,并向命令回收状态机返回所述命令完成状态信息;数据地址状态机,用于根据核心控制器的执行情况动态的为其提供数据地址;命令回收状态机,用于所述核心控制器执行所述命令完成后从所述核心控制器查询该命令对应的命令完成状态信息,并根据所述缓冲寄存器中的地址将所述命令完成状态信息写入内存。根据本专利技术的闪存控制器,所述命令产生状态机还用于对多个命令接口的总线命令队列进行轮询,若某个总线命令队列不为空,则命令产生状态机获取其中一个命令并从内存中获取该命令的详细信息打包后发送给所述核心控制器,直至所述多个命令接口上没有命令或者核心控制器不能够再接收命令。根据本专利技术的闪存控制器,所述命令的详细信息包括所述命令的操作类型以及所述命令的操作模式,所述命令的操作类型包括读闪存、写闪存以及擦除闪存;所述命令的操作模式包括对闪存的一个页全部数据操作或者部分数据操作。根据本专利技术的闪存控制器,所述命令完成状态信息为所述核心控制器执行所述命令的结果,包括所述命令是否执行成功以及所述命令执行失败的类型;所述数据地址为数据读出的目的地址或数据写入的源地址。本专利技术还提供一种闪存存储设备,包括多个命令接口、与所述多个命令接口对应的多个闪存颗粒以及与所述多个命令接口以及多个闪存颗粒分别连接的闪存控制器,所述闪存控制器包括命令产生状态机,用于从闪存的多个命令接口接收命令,将所述命令翻译后转发给核心控制器,并将命令完成状态信息的地址预写入缓冲寄存器;核心控制器,用于接收所述命令产生状态机发来的命令并根据数据地址状态机提供的数据地址执行所述命令,并向命令回收状态机返回所述命令完成状态信息;数据地址状态机,用于根据核心控制器的执行情况动态的为其提供数据地址;命令回收状态机,用于所述核心控制器执行所述命令完成后从所述核心控制器查询该命令对应的命令完成状态信息,并根据所述缓冲寄存器中的地址将所述命令完成状态信息写入内存。本专利技术通过命令产生状态机不断从命令接口获取命令并发送到核心控制器,数据地址状态机动态的为核心控制器提供数据地址,命令回收状态机从核心控制器回收命令完成状态信息并写回该信息。本专利技术只需要命令产生状态机、数据地址状态机以及命令回收状态机即可实现对核心控制器满负荷运转的控制,同时通过分离命令产生和数据地址产生机制的方式提高命令执行的速度,命令产生状态机只负责从接口获取命令并翻译命令发往 核心控制器,命令产生状态机只需把命令发送到核心控制器就可以回复到空闲状态,去执行发起下一个命令的操作,把数据地址的传输工作交给数据地址产生器,使得命令产生器可以以最快的速度完成命令执行的操作,不影响后续命令的执行,增加了命令执行的灵活度,减少了命令切换的时间。同时命令的产生和回收由独立的状态机完成,命令产生后不必等待该命令的回收,降低芯片面积和功耗提高了命令的产生和回收的效率,减少硬件资源的开销,相对于现有采用多个命令控制器控制特定的闪存颗粒,本方案只需要一个状态机动态的为核心控制器提供命令去控制多个闪存颗粒本文档来自技高网
...

【技术保护点】
一种闪存控制器的控制方法,其特征在于,包括:命令产生状态机从闪存的多个命令接口接收命令,将所述命令翻译后转发给核心控制器,并将命令完成状态信息的地址预写入缓冲寄存器;所述核心控制器执行所述命令,数据地址状态机根据所述核心控制器的执行情况动态的为其提供数据地址;所述核心控制器执行所述命令完成后,命令回收状态机从所述核心控制器查询该命令对应的命令完成状态信息,并根据所述缓冲寄存器中的地址向内存中写入所述命令完成状态信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:莫海锋
申请(专利权)人:记忆科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1