CN114566200A - Flash控制方法及Flash控制器 - Google Patents
Flash控制方法及Flash控制器 Download PDFInfo
- Publication number
- CN114566200A CN114566200A CN202210116676.1A CN202210116676A CN114566200A CN 114566200 A CN114566200 A CN 114566200A CN 202210116676 A CN202210116676 A CN 202210116676A CN 114566200 A CN114566200 A CN 114566200A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- instruction
- control module
- control instruction
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开提供一种Flash控制方法及Flash控制器,所述方法包括:从接收到的第一控制指令中获取第一总线地址,第一控制指令为读指令;根据预设的地址映射关系,确定第一总线地址对应的Flash存储器地址;根据Flash存储器地址从Flash存储器中相应位置获取数据。本公开实施例利用第一总线地址与Flash存储器地址之间的映射关系,确定Flash存储器地址,可以直接从Flash存储器相应位置读取数据,避开寄存器的操作,从而提升从Flash存储器中读取数据的效率。
Description
技术领域
本公开涉及Flash控制技术领域,具体涉及一种Flash控制方法及Flash控制器。
背景技术
Flash(FLASH闪存,Flash Memory)作为非易失性存储器,被广泛应用在各类便携式数字设备中,基于Flash的SSD(Solid State Disk,固态硬盘)包括Flash控制器和Flash存储器(即Flash芯片)。Flash控制器大多都支持对Flash存储器的读取、检验、编程控制,并支持ECC(Error Correcting Code,误差校正码)校验。
相关技术中,Flash控制器通常利用寄存器对Flash存储器进行访问,一般会根据命令设置传输的模式、地址长度、地址、数据和数据长度等,然后根据命令时序对Flash存储器中存储的数据进行读写处理,并针对读指令将读取到的数据缓存在寄存器中。这种依赖寄存器的Flash控制方案传输效率低。
发明内容
本公开提供一种Flash控制方法及Flash控制器。
第一方面,本公开实施例提供一种Flash控制方法,包括:
从接收到的第一控制指令中获取第一总线地址,所述第一控制指令为读指令;
根据预设的地址映射关系,确定所述第一总线地址对应的Flash存储器地址;
根据所述Flash存储器地址从Flash存储器中相应位置获取数据。
在一些实施例中,所述Flash存储器地址包括NOR Flash存储器地址和NAND Flash存储器地址。
在一些实施例中,所述方法还包括:
从接收到的第二控制指令中获取第二总线地址,所述第二控制指令为读指令或写指令;
根据所述第二总线地址,在相应的寄存器中执行与所述第二控制指令对应的数据处理操作。
在一些实施例中,所述Flash控制器包括第一控制模块和第二控制模块,在接收第一控制指令和第二控制指令之前,所述方法还包括:
接收中央处理器CPU发送的控制指令,获取其中携带的总线地址;
响应于所述总线地址为第一总线地址,向所述第一控制模块发送携带所述第一总线地址的第一控制指令;
响应于所述总线地址为第二总线地址,向所述第二控制模块发送携带所述第二总线地址的第二控制指令。
在一些实施例中,所述从接收到的第一控制指令中获取第一总线地址,包括:响应于在所述Flash存储器复位过程中接收到第一控制指令,缓存所述第一控制指令,并在所述Flash存储器复位完成之后,从所述第一控制指令中获取第一总线地址;和/或,
所述从接收到的第二控制指令中获取第二总线地址,包括:响应于在所述Flash存储器复位过程中接收到第二控制指令,缓存所述第二控制指令,并在所述Flash存储器复位完成之后,从所述第二控制指令中获取第二总线地址。
在一些实施例中,所述Flash存储器为NOR Flash存储器,所述Flash存储器复位完成,包括:所述NOR Flash存储器上电复位完成;
所述Flash存储器为NAND Flash存储器,所述Flash存储器复位完成,包括:所述NAND Flash存储器上电复位完成且软件复位完成。
又一方面,本公开实施例还提供一种Flash控制器,包括第一控制模块、命令控制模块和发送模块,所述命令控制模块分别与所述第一控制模块和所述发送模块相连;
所述第一控制模块用于,从接收到的第一控制指令中获取第一总线地址,所述第一控制指令为读指令;根据预设的地址映射关系,确定所述第一总线地址对应的Flash存储器地址;
所述命令控制模块用于,根据所述Flash存储器地址生成数据查询指令;
所述发送模块用于,将所述数据查询指令发送给所述Flash存储器,并在接收到所述Flash存储器发送的数据后,将所述数据发送给所述第一控制模块,所述数据为所述Flash存储器根据所述Flash存储器地址获取到的数据。
在一些实施例中,所述Flash控制器还包括第二控制模块,所述第二控制模块与所述命令控制模块相连,用于从接收到的第二控制指令中获取第二总线地址,所述第二控制指令为读指令或写指令;根据所述第二总线地址,在相应的寄存器中执行与所述第二控制指令对应的数据处理操作。
在一些实施例中,所述Flash控制器还包括指令分发模块,所述指令分发模块与所述第一控制模块和所述第二控制模块相连,用于接收中央处理器CPU发送的控制指令,获取其中携带的总线地址;响应于所述总线地址为第一总线地址,向所述第一控制模块发送携带所述第一总线地址的第一控制指令;响应于所述总线地址为第二总线地址,向所述第二控制模块发送携带所述第二总线地址的第二控制指令。
在一些实施例中,所述第一控制模块和所述第二控制模块通过AHB总线与所述指令分发模块连接。
在一些实施例中,所述Flash控制器还包括复位控制模块,复位控制模块与所述第一控制模块和所述第二控制模块相连;
所述第一控制模块用于,响应于在所述Flash存储器复位过程中接收到第一控制指令,缓存所述第一控制指令;
所述第二控制模块用于,响应于在所述Flash存储器复位过程中接收到第二控制指令,缓存所述第二控制指令;
所述复位控制模块用于,在所述Flash存储器复位完成之后,指示所述第一控制模块从所述第一控制指令中获取第一总线地址;和/或,在所述Flash存储器复位完成之后,从所述第二控制指令中获取第二总线地址。
在一些实施例中,所述第一控制模块包括缓存单元,所述缓存单元的位宽为8-64比特,所述缓存单元用于,缓存所述数据。
本公开实施例提供的Flash控制方法,应用于Flash控制器,所述方法包括:从接收到的第一控制指令中获取第一总线地址,第一控制指令为读指令;根据预设的地址映射关系,确定第一总线地址对应的Flash存储器地址;根据Flash存储器地址从Flash存储器中相应位置获取数据。本公开实施例利用第一总线地址与Flash存储器地址之间的映射关系,确定Flash存储器地址,可以直接从Flash存储器相应位置读取数据,避开寄存器的操作,从而提升从Flash存储器中读取数据的效率。
附图说明
图1为本公开实施例提供的Flash控制方法流程示意图一;
图2为本公开实施例提供的Flash控制方法流程示意图二;
图3为本公开实施例提供的指令分发的流程示意图;
图4为本公开实施例提供的Flash控制器的结构示意图一;
图5为本公开实施例提供的Flash控制器的结构示意图二;
图6为本公开实施例提供的Flash控制器的结构示意图三;
图7为本公开实施例提供的Flash控制器的结构示意图四;
图8为本公开实施例提供的Flash控制器的结构示意图五。
具体实施方式
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本公开实施例提供一种Flash控制方法,如图1所示,所述Flash控制方法应用于Flash控制器,Flash控制器至少包括第一控制模块,所述Flash控制方法包括以下步骤:
步骤11,从接收到的第一控制指令中获取第一总线地址,第一控制指令为读指令。
在本步骤中,第一控制模块接收到读指令后,获取其中携带的第一总线地址。第一控制模块可以为AHB(Advanced High Performance Bus,高级高性能总线)从机(AHB SLV),第一控制模块内预设有第一总线地址与Flash存储器地址之间的映射关系。
步骤12,根据预设的地址映射关系,确定第一总线地址对应的Flash存储器地址。
在本步骤中,第一控制模块根据第一总线地址查询所述地址映射关系,确定出第一总线地址对应的Flash存储器地址,Flash存储器地址为数据在Flash存储器内的存储地址。
步骤13,根据Flash存储器地址从Flash存储器中相应位置获取数据。
在本步骤中,Flash控制器将Flash存储器地址封装在数据读取命令中,并将数据读取命令发送给Flash存储器,用以在Flash存储器相应位置查询数据。在接收到Flash存储器返回的数据之后,将数据缓存在第一控制模块内,并发送给CPU(central processingunit,中央处理器)。
本公开实施例提供的Flash控制方法,应用于Flash控制器,所述方法包括:从接收到的第一控制指令中获取第一总线地址,第一控制指令为读指令;根据预设的地址映射关系,确定第一总线地址对应的Flash存储器地址;根据Flash存储器地址从Flash存储器中相应位置获取数据。本公开实施例利用第一总线地址与Flash存储器地址之间的映射关系,确定Flash存储器地址,可以直接从Flash存储器相应位置读取数据,避开寄存器的操作,从而提升从Flash存储器中读取数据的效率。
在相关技术中,Flash控制器只能访问单一类型的Flash存储器,在系统挂载多种Flash存储器的情况下,就需要多个Flash控制器与之相匹配,导致系统硬件结构复杂,成本高。
为了解决上述问题,在本公开一些实施例中,Flash控制器支持2种类型的Flash存储器。相应的,Flash存储器地址包括NORFlash存储器地址和NANDFlash存储器地址,这样,可以只设置1个Flash控制器即可匹配NORFlash存储器和NANDFlash存储器,从而简化硬件结构,降低成本。
在一些实施例中,所述Flash控制器还包括第二控制模块,如图2所示,所述Flash控制方法还包括以下步骤:
步骤21,从接收到的第二控制指令中获取第二总线地址,第二控制指令为读指令或写指令。
在本步骤中,第二控制模块接收到读指令或写指令后,获取其中携带的第二总线地址。第二控制模块可以为AHB寄存器从机(AHB reg SLV),第二控制模块能够实现对Flash存储器中数据的读取和写入。
步骤22,根据第二总线地址,在相应的寄存器中执行与第二控制指令对应的数据处理操作。
在本步骤中,针对读指令,第二控制模块根据第二总线地址从寄存器中相应位置读取数据,该数据是从Flash存储器中获取并缓存在寄存器中的;针对写指令,第二控制模块根据第二总线地址将待写入的数据写入相应的寄存器,再将该待写入的数据写入Flash存储器。
在一些实施例中,Flash控制器包括第一控制模块、第二控制模块和指令分发模块,如图3所示,在接收第一控制指令和第二控制指令(即步骤11和步骤21)之前,所述Flash控制方法还包括以下步骤:
步骤31,接收CPU发送的控制指令,获取其中携带的总线地址。
在本步骤中,指令分发模块接收CPU发送的控制指令,并获取控制指令中携带的总线地址。需要说明的是,指令分发模块与CPU可以通过AHB总线连接。
步骤32,若总线地址为第一总线地址,则执行步骤33;若总线地址为第二总线地址,则执行步骤34。
在本步骤中,指令分发模块根据总线地址判断由哪个控制模块处理该控制指令,示例性的,根据总线地址的地址段进行指令分发,若总线地址属于第一总线地址的地址段,则由第一控制模块处理该控制指令,即执行步骤33;若总线地址属于第二总线的地址段,则由第二控制模块处理该控制指令,即执行步骤34。
步骤33,向第一控制模块发送携带第一总线地址的第一控制指令。
在本步骤中,指令分发模块封装第一总线地址,生成第一控制指令,并将第一控制指令发送给第一控制模块。
步骤34,向第二控制模块发送携带第二总线地址的第二控制指令。
在本步骤中,指令分发模块封装第二总线地址,生成第二控制指令,并将第二控制指令发送给第二控制模块。
本公开实施例兼顾两种Flash控制方案,不但可以利用第一控制模块实现数据读取,也可以利用第二控制模块实现数据读取和写入,用户可以选择两种Flash控制方案,使用更为灵活。
在一些实施例中,第一控制模块通过AHB总线接收第一控制指令,第二控制模块通过AHB总线第二控制指令,这样只用一种总线即可,节约总线资源。
在相关技术中,若在Flash存储器复位过程中接收到控制指令,Flash控制器会丢弃该控制指令,导致该复位时间段内的数据处理指令丢失。为解决上述问题,本公开实施例对在Flash存储器复位过程中接收到的控制指令进行缓存,并在Flash存储器复位完成之后处理该控制指令,避免控制指令的丢失。
相应的,在一些实施例中,所述从接收到的第一控制指令中获取第一总线地址(即步骤11),包括以下步骤:响应于在Flash存储器复位过程中接收到第一控制指令,缓存第一控制指令,并在Flash存储器复位完成之后,从第一控制指令中获取第一总线地址。
在一些实施例中,所述从接收到的第二控制指令中获取第二总线地址(即步骤21),包括以下步骤:响应于在Flash存储器复位过程中接收到第二控制指令,缓存第二控制指令,并在Flash存储器复位完成之后,从第二控制指令中获取第二总线地址。
在一些实施例中,Flash存储器为NOR Flash存储器,所述Flash存储器复位完成,包括:NOR Flash存储器上电复位完成。
在一些实施例中,Flash存储器为NAND Flash存储器,所述Flash存储器复位完成,包括:NAND Flash存储器上电复位完成且软件复位完成。
在一些实施例中,所述Flash控制方法还可以包括以下步骤:接收时钟频率配置指令,根据时钟频率配置指令配置时钟频率。由于不同的Flash存储器的时钟频率不同,因此根据收时钟频率配置指令配置时钟频率,可以调整时钟分频,这样可以适用于不同时钟频率的Flash存储器。
相关技术中,Flash控制器只支持一种类型的Flash存储器的操作,并且传输效率比较低。对于上电等待和复位等待还需要其他的上电复位等待模块实现。除此之外,大部分Flash控制器只支持通过寄存器对Flash存储器进行操作。本公开实施例对于这些问题做出了针对性的设计,并完全解决了上述问题,拥有更加方便的使用体验,并且在传输效率方面也做出了极大的提高。
基于相同的技术构思,本公开实施例还提供一种Flash控制器,如图4所示,包括第一控制模块101、命令控制模块102和发送模块103,命令控制模块102分别与第一控制模块101和发送模块103相连。
第一控制模块101用于,从接收到的第一控制指令中获取第一总线地址,所述第一控制指令为读指令;根据预设的地址映射关系,确定所述第一总线地址对应的Flash存储器地址。
命令控制模块102用于,根据所述Flash存储器地址生成数据查询指令。
发送模块103用于,将所述数据查询指令发送给所述Flash存储器,并在接收到所述Flash存储器发送的数据后,将所述数据发送给所述第一控制模块,所述数据为所述Flash存储器根据所述Flash存储器地址获取到的数据。
在一些实施例中,所述Flash存储器地址包括NOR Flash存储器地址和NAND Flash存储器地址。
在一些实施例中,如图5所示,所述Flash控制器还包括第二控制模块104,第二控制模块104与命令控制模块102相连,用于从接收到的第二控制指令中获取第二总线地址,所述第二控制指令为读指令或写指令;根据所述第二总线地址,在相应的寄存器中执行与所述第二控制指令对应的数据处理操作。
在一些实施例中,如图6所示,所述Flash控制器还包括指令分发模块105,指令分发模块105与第一控制模块101和第二控制模块104相连,用于接收中央处理器CPU发送的控制指令,获取其中携带的总线地址;响应于所述总线地址为第一总线地址,向所述第一控制模块发送携带所述第一总线地址的第一控制指令;响应于所述总线地址为第二总线地址,向所述第二控制模块发送携带所述第二总线地址的第二控制指令。
在一些实施例中,第一控制模块101和第二控制模块104通过AHB总线与指令分发模块105连接。
在一些实施例中,如图7所示,,所述Flash控制器还包括复位控制模块106,复位控制模块106与第一控制模块101和第二控制模块104相连。
第一控制模块还用于,响应于在所述Flash存储器复位过程中接收到第一控制指令,缓存所述第一控制指令。
所述第二控制模块还用于,响应于在所述Flash存储器复位过程中接收到第二控制指令,缓存所述第二控制指令。
复位控制模块106用于,在所述Flash存储器复位完成之后,指示所述第一控制模块从所述第一控制指令中获取第一总线地址;和/或,在所述Flash存储器复位完成之后,从所述第二控制指令中获取第二总线地址。
在一些实施例中,第一控制模块101包括缓存单元,所述缓存单元的位宽为8-64比特,所述缓存单元用于,缓存所述数据。通过在第一控制模块101内增加缓存的位宽,可以提高数据读取的效率。
在一些实施例中,第二控制模块104还用于,接收时钟频率配置指令,根据所述时钟频率配置指令配置时钟频率。
以下结合一具体实例,对本公开实施例的Flash控制器进行详细说明。如图8所示,所述Flash控制器包括:命令分发模块、AHB寄存器控制从机(AHB reg SLV,即第二控制模块)、AHB从机(AHB SLV,即第一控制模块)、命令控制模块(Flash cmd exe)、SPI(SerialPeripheral Interface,串行外设接口)txrx送模块(即发送模块)、复位控制模块(FLASHPOWER UP CTRL)。其中,命令分发模块用于对CPU下发的控制命令向AHB寄存器控制从机或AHB从机分发,AHB reg SLV模块可以进行相关寄存器的配置,配置成功后向Flash存储器中发送对应的数据。AHB SLV模块直接通过AHB总线对Flash存储器进行直接读操作,直接利用AHB总线地址作为Flash存储器的读地址。FLASH POWER UP CTRL模块对Flash存储器进行上电等待和复位等待。Flash cmd exe模块对接收到的命令进行重新的组装,组装成Flash存储器需要的命令格式。SPI数据发送模块与Flash存储器交互,完成数据读取操作。
本公开实施例提供的Flash控制器是全硬件实现的SPI Flash控制器,支持对NANDFlash存储器和NOR Flash存储器的控制,具体控制何种Flash存储器可以通过I/O直接选择。本公开实施例支持直接通过AHB协议将Flash空间映射到系统空间,还可以直接通过寄存器对Flash存储器进行各种操作。同时本控制器支持对Flash进行1线,2线和4线操作,系统上电成功后可直接通过AHB总线对Flash存储器进行读操作。同时,通过AHB直接读数据时,支持8个DW(Data Warehouse,数据仓库)深度缓存,可以极大提升读取Flash存储器的效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。
Claims (12)
1.一种Flash控制方法,应用于Flash控制器,其特征在于,所述方法包括:
从接收到的第一控制指令中获取第一总线地址,所述第一控制指令为读指令;
根据预设的地址映射关系,确定所述第一总线地址对应的Flash存储器地址;
根据所述Flash存储器地址从Flash存储器中相应位置获取数据。
2.如权利要求1所述的方法,其特征在于,所述Flash存储器地址包括NOR Flash存储器地址和NAND Flash存储器地址。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
从接收到的第二控制指令中获取第二总线地址,所述第二控制指令为读指令或写指令;
根据所述第二总线地址,在相应的寄存器中执行与所述第二控制指令对应的数据处理操作。
4.如权利要求3所述的方法,其特征在于,所述Flash控制器包括第一控制模块和第二控制模块,在接收第一控制指令和第二控制指令之前,所述方法还包括:
接收中央处理器CPU发送的控制指令,获取其中携带的总线地址;
响应于所述总线地址为第一总线地址,向所述第一控制模块发送携带所述第一总线地址的第一控制指令;
响应于所述总线地址为第二总线地址,向所述第二控制模块发送携带所述第二总线地址的第二控制指令。
5.如权利要求3所述的方法,其特征在于,所述从接收到的第一控制指令中获取第一总线地址,包括:响应于在所述Flash存储器复位过程中接收到第一控制指令,缓存所述第一控制指令,并在所述Flash存储器复位完成之后,从所述第一控制指令中获取第一总线地址;和/或,
所述从接收到的第二控制指令中获取第二总线地址,包括:响应于在所述Flash存储器复位过程中接收到第二控制指令,缓存所述第二控制指令,并在所述Flash存储器复位完成之后,从所述第二控制指令中获取第二总线地址。
6.如权利要求5所述的方法,其特征在于,所述Flash存储器为NOR Flash存储器,所述Flash存储器复位完成,包括:所述NOR Flash存储器上电复位完成;
所述Flash存储器为NAND Flash存储器,所述Flash存储器复位完成,包括:所述NANDFlash存储器上电复位完成且软件复位完成。
7.一种Flash控制器,其特征在于,包括第一控制模块、命令控制模块和发送模块,所述命令控制模块分别与所述第一控制模块和所述发送模块相连;
所述第一控制模块用于,从接收到的第一控制指令中获取第一总线地址,所述第一控制指令为读指令;根据预设的地址映射关系,确定所述第一总线地址对应的Flash存储器地址;
所述命令控制模块用于,根据所述Flash存储器地址生成数据查询指令;
所述发送模块用于,将所述数据查询指令发送给所述Flash存储器,并在接收到所述Flash存储器发送的数据后,将所述数据发送给所述第一控制模块,所述数据为所述Flash存储器根据所述Flash存储器地址获取到的数据。
8.如权利要求7所述的Flash控制器,其特征在于,还包括第二控制模块,所述第二控制模块与所述命令控制模块相连,用于从接收到的第二控制指令中获取第二总线地址,所述第二控制指令为读指令或写指令;根据所述第二总线地址,在相应的寄存器中执行与所述第二控制指令对应的数据处理操作。
9.如权利要求8所述的Flash控制器,其特征在于,还包括指令分发模块,所述指令分发模块与所述第一控制模块和所述第二控制模块相连,用于接收中央处理器CPU发送的控制指令,获取其中携带的总线地址;响应于所述总线地址为第一总线地址,向所述第一控制模块发送携带所述第一总线地址的第一控制指令;响应于所述总线地址为第二总线地址,向所述第二控制模块发送携带所述第二总线地址的第二控制指令。
10.如权利要求9所述的Flash控制器,其特征在于,所述第一控制模块和所述第二控制模块通过AHB总线与所述指令分发模块连接。
11.如权利要求8所述的Flash控制器,其特征在于,还包括复位控制模块,复位控制模块与所述第一控制模块和所述第二控制模块相连;
所述第一控制模块用于,响应于在所述Flash存储器复位过程中接收到第一控制指令,缓存所述第一控制指令;
所述第二控制模块用于,响应于在所述Flash存储器复位过程中接收到第二控制指令,缓存所述第二控制指令;
所述复位控制模块用于,在所述Flash存储器复位完成之后,指示所述第一控制模块从所述第一控制指令中获取第一总线地址;和/或,在所述Flash存储器复位完成之后,从所述第二控制指令中获取第二总线地址。
12.如权利要求7-11任一项所述的Flash控制器,其特征在于,所述第一控制模块包括缓存单元,所述缓存单元的位宽为8-64比特,所述缓存单元用于,缓存所述数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210116676.1A CN114566200A (zh) | 2022-02-07 | 2022-02-07 | Flash控制方法及Flash控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210116676.1A CN114566200A (zh) | 2022-02-07 | 2022-02-07 | Flash控制方法及Flash控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114566200A true CN114566200A (zh) | 2022-05-31 |
Family
ID=81714308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210116676.1A Pending CN114566200A (zh) | 2022-02-07 | 2022-02-07 | Flash控制方法及Flash控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114566200A (zh) |
-
2022
- 2022-02-07 CN CN202210116676.1A patent/CN114566200A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10108373B2 (en) | Host, system, and methods for transmitting commands to non-volatile memory card | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
CN101266829B (zh) | 存储卡、包含存储卡的存储系统及存储卡的操作方法 | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
US9792072B2 (en) | Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system | |
US20140089568A1 (en) | Embedded multimedia card (emmc), host for controlling the emmc, and methods of operating the emmc and the host | |
CN110941395B (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
US10776042B2 (en) | Methods for garbage collection and apparatuses using the same | |
CN106372011A (zh) | 用于pcie ssd控制器的高性能主机队列监控器 | |
CN104281413A (zh) | 命令队列管理方法、存储器控制器及存储器储存装置 | |
CN1577292A (zh) | 存储控制芯片及数据存储控制方法 | |
CN116679887B (zh) | 用于NAND Flash的通用控制模块及方法 | |
US20210109852A1 (en) | Controller and data storage system having the same | |
TW201303605A (zh) | 資料串分派與傳送方法、記憶體控制器與記憶體儲存裝置 | |
WO2009115058A1 (zh) | 提供闪存存储功能的主板及其存储方法 | |
CN114566200A (zh) | Flash控制方法及Flash控制器 | |
CN116243867A (zh) | Ssd的容量提升方法、nand后端硬件电路、装置、设备及介质 | |
CN115203099A (zh) | 包括pipe5到pipe4转换器的系统及其方法 | |
US8006029B2 (en) | DDR flash implementation with direct register access to legacy flash functions | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
US7707378B2 (en) | DDR flash implementation with hybrid row buffers and direct access interface to legacy flash functions | |
TWI712052B (zh) | 記憶體管理方法、儲存控制器與儲存裝置 | |
WO2024012093A1 (zh) | 一种ssd、ssd的主控芯片及ssd资源管理方法 | |
CN102446071B (zh) | 取得一存储器状态资讯的接取方法、电子装置及程序产品 | |
KR20030000017A (ko) | 플래시 메모리 제어 장치 및 플래시 메모리 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |