CN116679887A - 用于NAND Flash的通用控制模块及方法 - Google Patents
用于NAND Flash的通用控制模块及方法 Download PDFInfo
- Publication number
- CN116679887A CN116679887A CN202310915570.2A CN202310915570A CN116679887A CN 116679887 A CN116679887 A CN 116679887A CN 202310915570 A CN202310915570 A CN 202310915570A CN 116679887 A CN116679887 A CN 116679887A
- Authority
- CN
- China
- Prior art keywords
- nand flash
- register
- interface
- time sequence
- target
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 239000002245 particle Substances 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims abstract description 6
- 230000008569 process Effects 0.000 claims description 15
- 239000008187 granular material Substances 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 claims 2
- 229940044442 onfi Drugs 0.000 claims 2
- 230000015654 memory Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本申请提供一种用于NAND Flash的通用控制模块及方法,属于存储器技术领域,所述通用控制模块集成于物理层,包括:依次通信连接的参数配置子模块、状态机和DFI接口;参数配置子模块包括预先定义的寄存器接口,用于响应于用户的参数配置操作对目标寄存器进行赋值;目标寄存器包括命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器;状态机用于基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值生成用于访问NAND Flash的接口时序控制信号;DFI接口用于基于接口时序控制信号访问目标NAND Flash颗粒,能兼容ONFI5.1的全部命令,降低SOC电路复杂度及成本。
Description
技术领域
本申请涉及存储器技术领域,尤其涉及一种用于NAND Flash的通用控制模块及方法。
背景技术
目前ONFI(Open NAND Flash Interface)已经发展到5.1版本,其接口速率已经达到3600MT/s。为了满足ONFI5.1的接口速率,在SOC(System on Chip,片上系统)的设计中通常需要在NAND Flash控制器和NAND Flash颗粒中加入物理层来保证接口的稳定性。同时,通过物理层将NAND Flash控制器送来的命令转化成NAND Flash颗粒的接口时序,以对NANDFlash颗粒执行数据写入、数据读取等操作。
然而现有技术中的物理层并不能兼容所有的ONFI命令,导致需要增加额外的控制电路以对物理层无法兼容的ONFI命令进行处理,进而导致SOC的电路复杂度及开发成本显著提高。
发明内容
本申请提供一种用于NAND Flash的通用控制模块及方法,以用于解决现有技术中的物理层无法兼容所有的ONFI命令导致的SOC电路复杂度及开发成本提高的问题。
本申请提供一种用于NAND Flash的通用控制模块,所述通用控制模块集成于物理层,所述通用控制模块包括:依次通信连接的参数配置子模块、状态机和DFI接口;
所述参数配置子模块包括预先定义的寄存器接口,所述寄存器接口用于响应于用户的参数配置操作,对目标寄存器进行赋值;所述目标寄存器包括命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器;
所述状态机用于基于所述命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;
所述DFI接口用于基于所述接口时序控制信号访问目标NAND Flash颗粒。
根据本申请提供的一种用于NAND Flash的通用控制模块,所述状态机还用于在DFI接口访问目标NAND Flash颗粒的过程中获取目标NAND Flash颗粒的当前状态,并基于所述目标NAND Flash颗粒的当前状态更新所述接口时序控制信号,相应的,所述DFI接口还用于基于更新的接口时序控制信号访问目标NAND Flash颗粒。
根据本申请提供的一种用于NAND Flash的通用控制模块,所述命令寄存器用于存储ONFI操作码,所述ONFI操作码用于指示操作类型,所述操作类型包括输入数据类和输出数据类;
所述地址寄存器用于存储目标NAND Flash颗粒的待访问地址;
所述时序参数寄存器用于存储时序参数,所述时序参数包括读数据和写数据分别对应的延迟信息;
所述数据长度寄存器用于存储待读取的数据长度或待写入的数据长度。
根据本申请提供的一种用于NAND Flash的通用控制模块,所述目标寄存器还包括数据寄存器,所述数据寄存器用于存储待写入目标NAND Flash颗粒的数据。
根据本申请提供的一种用于NAND Flash的通用控制模块,所述输入数据类包括读ID子类和读数据子类。
本申请还提供一种用于NAND Flash的通用控制方法,所述方法应用于前述用于NAND Flash的通用控制模块的状态机,所述方法包括:
基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;
将所述接口时序控制信号发送给DFI接口,以供所述DFI接口基于所述接口时序控制信号访问目标NAND Flash颗粒。
根据本申请提供的一种用于NAND Flash的通用控制方法,所述基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号,具体包括:
基于命令寄存器中的参数值确定操作类型,基于地址寄存器中的参数值确定待访问地址,基于时序参数寄存器中的参数值确定延迟信息,基于数据长度寄存器中的参数值确定数据长度;
基于所述操作类型、待访问地址、延迟信息及数据长度,生成用于访问NAND Flash的接口时序控制信号。
根据本申请提供的一种用于NAND Flash的通用控制方法,所述基于所述操作类型、待访问地址、延迟信息及数据长度,生成用于访问NAND Flash的接口时序控制信号,具体包括:
基于所述操作类型、待访问地址、延迟信息及数据长度,确定NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件;
基于NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件,生成用于访问NAND Flash的接口时序控制信号。
根据本申请提供的一种用于NAND Flash的通用控制方法,所述方法还包括:
在DFI接口访问目标NAND Flash颗粒的过程中获取目标NAND Flash颗粒的当前状态,并基于所述目标NAND Flash颗粒的当前状态更新所述接口时序控制信号。
根据本申请提供的一种用于NAND Flash的通用控制方法,所述不同时段对应的状态包括:空闲状态、命令发送状态、地址发送状态、等待状态、数据输入状态、数据输出状态。
本申请提供的用于NAND Flash的通用控制模块及方法,所述通用控制模块集成于物理层,所述通用控制模块包括:依次通信连接的参数配置子模块、状态机和DFI接口;所述参数配置子模块包括预先定义的寄存器接口,所述寄存器接口用于响应于用户的参数配置操作,对目标寄存器进行赋值;所述目标寄存器包括命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器;所述状态机用于基于所述命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;所述DFI接口用于基于所述接口时序控制信号访问目标NAND Flash颗粒,能够兼容ONFI5.1spec对应的所有命令,大大降低SOC电路复杂度及开发成本。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的用于NAND Flash的通用控制模块的结构示意图;
图2是本申请提供的用于NAND Flash的通用控制方法的流程示意图;
图3是本申请提供的状态机的状态切换流程示意图;
图4是本申请提供的读ID过程对应的控制时序示意图;
图5是本申请提供的写数据训练过程对应的控制时序示意图;
图6是本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请提供的用于NAND Flash的通用控制模块的结构示意图,如图1所示,所述通用控制模块集成于物理层,所述通用控制模块包括:依次通信连接的参数配置子模块、状态机和DFI接口;
所述参数配置子模块包括预先定义的寄存器接口,所述寄存器接口用于响应于用户的参数配置操作,对目标寄存器进行赋值;所述目标寄存器包括命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器;
所述状态机用于基于所述命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;
所述DFI接口用于基于所述接口时序控制信号访问目标NAND Flash颗粒。
具体的,为了适配ONFI5.1 spec对应的所有命令,本申请实施例预先定义了用于软件交互的寄存器接口,以用于配置当前需要发送的ONFI命令对应的控制参数,所述控制参数包括命令、地址、时序参数及数据长度,状态机能够基于当前需要发送的ONFI命令对应的控制参数,生成用于访问NAND Flash的接口时序控制信号,进而所述DFI接口能够基于所述接口时序控制信号访问目标NAND Flash颗粒,以对目标NAND Flash颗粒进行读、写等操作。可以理解的是,所述目标NAND Flash颗粒可以是NAND Flash存储器中的任一颗粒。基于此,无论NAND Flash的型号、厂家如何变化,均可以通过用户配置ONFI命令对应的控制参数的方式实现目标NAND Flash颗粒的访问,进而可以在不增加SOC电路复杂度及开发成本的情况下保证对ONFI所有命令的兼容。同时,本申请实施例的用于NAND Flash的通用控制模块还可以通过物理层来完成自测试,保证通路的稳定性和正确性,且完全不需要NANDFlash控制器的参与即可完成各种初始化和training的工作。可以理解的是,对目标寄存器的赋值操作可以通过外部MCU实现。值得注意的是,本申请实施例的用于NAND Flash的通用控制模块可以兼容任意ONFI命令,并不局限于ONFI5.1。
更具体的,所述命令寄存器用于存储ONFI操作码,所述ONFI操作码用于指示操作类型,所述操作类型包括输入数据类和输出数据类;
所述地址寄存器用于存储目标NAND Flash颗粒的待访问地址;
所述时序参数寄存器用于存储时序参数,所述时序参数包括读数据和写数据分别对应的延迟信息;
所述数据长度寄存器用于存储待读取的数据长度或待写入的数据长度。
另外,所述输入数据类包括读ID子类和读数据子类。
基于此,所述状态机即可基于命令寄存器中的参数值确定操作类型,基于地址寄存器中的参数值确定待访问地址,基于时序参数寄存器中的参数值确定延迟信息,基于数据长度寄存器中的参数值确定数据长度,进而基于所述操作类型、待访问地址、延迟信息及数据长度,生成用于访问NAND Flash的接口时序控制信号,能够高效实现接口时序控制信号的生成。
所述状态机还用于在DFI接口访问目标NAND Flash颗粒的过程中获取目标NANDFlash颗粒的当前状态,并基于所述目标NAND Flash颗粒的当前状态更新所述接口时序控制信号,相应的,所述DFI接口还用于基于更新的接口时序控制信号访问目标NAND Flash颗粒。
由于目标NAND Flash颗粒的空闲、忙碌和非法状态会对访问过程产生影响(例如忙碌和非法状态无法访问),而通过状态机生成的接口时序控制信号在用户不主动更改控制参数的情况下并不会主动更新,因此会导致访问失败的情形。针对该问题,本申请实施例中状态机会在DFI接口访问目标NAND Flash颗粒的过程中获取目标NAND Flash颗粒的当前状态,并基于所述目标NAND Flash颗粒的当前状态更新所述接口时序控制信号,相应的,所述DFI接口还用于基于更新的接口时序控制信号访问目标NAND Flash颗粒,基于此,即可保证目标NAND Flash颗粒的有效访问。
所述目标寄存器还包括数据寄存器,所述数据寄存器用于存储待写入目标NANDFlash颗粒的数据。
基于此,能够在对目标NAND Flash颗粒进行写操作时快速获取待写入目标NANDFlash颗粒的数据,进一步保证NAND Flash的访问效率。
本申请实施例提供的用于NAND Flash的通用控制模块,所述通用控制模块集成于物理层,所述通用控制模块包括:依次通信连接的参数配置子模块、状态机和DFI接口;所述参数配置子模块包括预先定义的寄存器接口,所述寄存器接口用于响应于用户的参数配置操作,对目标寄存器进行赋值;所述目标寄存器包括命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器;所述状态机用于基于所述命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;所述DFI接口用于基于所述接口时序控制信号访问目标NAND Flash颗粒,能够兼容ONFI5.1spec对应的所有命令,大大降低SOC电路复杂度及开发成本。同时还可以通过物理层来完成自测试,保证通路的稳定性和正确性,且完全不需要NAND Flash控制器的参与即可完成各种初始化和training的工作。
基于上述任一实施例,图2是本申请提供的用于NAND Flash的通用控制方法的流程示意图,如图2所示,所述方法应用于前述用于NAND Flash的通用控制模块的状态机,所述方法包括:
步骤101,基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;
步骤102,将所述接口时序控制信号发送给DFI接口,以供所述DFI接口基于所述接口时序控制信号访问目标NAND Flash颗粒。
具体的,所述基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号,具体包括:
基于命令寄存器中的参数值确定操作类型,基于地址寄存器中的参数值确定待访问地址,基于时序参数寄存器中的参数值确定延迟信息,基于数据长度寄存器中的参数值确定数据长度;
基于所述操作类型、待访问地址、延迟信息及数据长度,生成用于访问NAND Flash的接口时序控制信号。
更具体的,所述基于所述操作类型、待访问地址、延迟信息及数据长度,生成用于访问NAND Flash的接口时序控制信号,具体包括:
基于所述操作类型、待访问地址、延迟信息及数据长度,确定NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件;
基于NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件,生成用于访问NAND Flash的接口时序控制信号。
图3是本申请提供的状态机的状态切换流程示意图,如图3所示,所述不同时段对应的状态包括:空闲状态、命令发送状态、地址发送状态、等待状态、数据输入状态、数据输出状态。可以理解的是,对于不同的ONFI命令通常对应于不同的时序模式,用户可以通过ONFI spec查询不同ONFI命令对应的时序模式,进而基于当前ONFI命令对应的时序模式设置目标寄存器,基于此,状态机即可基于目标寄存器对应的参数值确定ONFI命令对应的操作类型、待访问地址、延迟信息及数据长度,进而基于所述操作类型、待访问地址、延迟信息及数据长度确定NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件,并基于NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件生成用于访问NAND Flash的接口时序控制信号。
如图3所示,状态机的状态会从空闲状态启动,根据命令有效标志位或地址有效标志位确定进入命令周期(对应于命令发送状态)或地址周期(对应于地址发送状态),同时根据读使能信号或写使能信号确定进入数据输入状态或数据输出状态。如果数据输出或输入完成,且目标NAND Flash颗粒状态空闲,则代表ONFI命令执行完毕,状态机切回空闲状态。值得注意的是,本申请实施例会基于延迟信息确定进入数据输入状态或数据输出状态的时间节点,同时根据数据长度确定数据输入状态或数据输出状态的保持时间,进而生成用于访问NAND Flash的接口时序控制信号,基于此可以实现目标NAND Flash颗粒的高效准确访问。可以理解的是,所述命令有效标志位、地址有效标志位、读使能信号和写使能信号均是通过寄存器接口配置的。
基于上述方法,本申请实施例可以通过物理层来完成自测试,保证通路的稳定性和正确性,且完全不需要NAND Flash控制器的参与即可完成各种初始化和training的工作。图4是本申请提供的读ID过程对应的控制时序示意图,如图4所示,其中,Cycle Type指周期类型,DQ[7:0]为发送/接收的数据,R/B_n为NAND Flash的状态指示位。在初始化过程中要实现读ID操作,仅需将命令周期的内容配置成EDh,将地址周期的内容配置成00h,同时根据tR(Page read time),tRR(Ready to data output cycle),tWB(WE_n high to RB_nlow)来配置延迟信息,并配置读取的数据长度,状态机即可按照图4所示的时序生成用于访问NAND Flash的接口时序控制信号,并通过DFI接口访问目标NAND Flash颗粒以读取ID。图5是本申请提供的写数据训练过程对应的控制时序示意图,如图5所示,其中,Cycle Type指周期类型,DQ[7:0]为发送/接收的数据,为NAND Flash的状态指示位。在写数据训练过程中仅需先将命令周期的内容配置成63h,并配置LUN(Logical Unit Number,逻辑单元号码)地址(对应于地址周期),将写数据延迟配置成tADL(Address cycle to data loadingtime),之后配置写数据长度,运行之后,状态机即可按照图5上部所示的时序生成用于访问NAND Flash的接口时序控制信号,并通过DFI接口访问目标NAND Flash颗粒以将数据写入目标NAND Flash颗粒。当目标NAND Flash颗粒完成数据写入并处于空闲状态后,将命令周期配置成64h,并配置LUN地址,将读数据延迟配置成tWHRT(Address cycle to dataoutputfor training),然后配置读数据长度,运行之后,状态机即可按照图5下部所示的时序生成用于访问NAND Flash的接口时序控制信号,并通过DFI接口访问目标NAND Flash颗粒以从目标NAND Flash颗粒中读取数据。将读到的数据和写入数据做对比,即可完成自测试。
值得注意的是,所述方法还包括:
在DFI接口访问目标NAND Flash颗粒的过程中获取目标NAND Flash颗粒的当前状态,并基于所述目标NAND Flash颗粒的当前状态更新所述接口时序控制信号。
其具体实现原理和效果在前述实施例已经进行了详细阐述,在此不再赘述。
本申请实施例提供的用于NAND Flash的通用控制方法,通过基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;将所述接口时序控制信号发送给DFI接口,以供所述DFI接口基于所述接口时序控制信号访问目标NAND Flash颗粒,能够兼容ONFI5.1 spec对应的所有命令,大大降低SOC电路复杂度及开发成本,同时可以通过物理层来完成自测试,保证通路的稳定性和正确性,且完全不需要NAND Flash控制器的参与即可完成各种初始化和training的工作。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器201、通信接口202、存储器203和通信总线204,其中,处理器201,通信接口202,存储器203通过通信总线204完成相互间的通信。处理器201可以调用存储器203中的逻辑指令,以执行上述各方法所提供的用于NAND Flash的通用控制方法,所述方法包括:基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NANDFlash的接口时序控制信号;将所述接口时序控制信号发送给DFI接口,以供所述DFI接口基于所述接口时序控制信号访问目标NAND Flash颗粒。
此外,上述的存储器203中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的用于NAND Flash的通用控制方法,所述方法包括:基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;将所述接口时序控制信号发送给DFI接口,以供所述DFI接口基于所述接口时序控制信号访问目标NAND Flash颗粒。
又一方面,本申请还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的用于NAND Flash的通用控制方法,所述方法包括:基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;将所述接口时序控制信号发送给DFI接口,以供所述DFI接口基于所述接口时序控制信号访问目标NAND Flash颗粒。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种用于NAND Flash的通用控制模块,其特征在于,所述通用控制模块集成于物理层,所述通用控制模块包括:依次通信连接的参数配置子模块、状态机和DFI接口;
所述参数配置子模块包括预先定义的寄存器接口,所述寄存器接口用于响应于用户的参数配置操作,对目标寄存器进行赋值;所述目标寄存器包括命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器;
所述状态机用于基于所述命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;
所述DFI接口用于基于所述接口时序控制信号访问目标NAND Flash颗粒。
2.根据权利要求1所述的用于NAND Flash的通用控制模块,其特征在于,所述状态机还用于在DFI接口访问目标NAND Flash颗粒的过程中获取目标NAND Flash颗粒的当前状态,并基于所述目标NAND Flash颗粒的当前状态更新所述接口时序控制信号,相应的,所述DFI接口还用于基于更新的接口时序控制信号访问目标NAND Flash颗粒。
3.根据权利要求2所述的用于NAND Flash的通用控制模块,其特征在于,所述命令寄存器用于存储ONFI操作码,所述ONFI操作码用于指示操作类型,所述操作类型包括输入数据类和输出数据类;
所述地址寄存器用于存储目标NAND Flash颗粒的待访问地址;
所述时序参数寄存器用于存储时序参数,所述时序参数包括读数据和写数据分别对应的延迟信息;
所述数据长度寄存器用于存储待读取的数据长度或待写入的数据长度。
4.根据权利要求3所述的用于NAND Flash的通用控制模块,其特征在于,所述目标寄存器还包括数据寄存器,所述数据寄存器用于存储待写入目标NAND Flash颗粒的数据。
5.根据权利要求4所述的用于NAND Flash的通用控制模块,其特征在于,所述输入数据类包括读ID子类和读数据子类。
6.一种用于NAND Flash的通用控制方法,其特征在于,所述方法应用于权利要求5所述的用于NAND Flash的通用控制模块的状态机,所述方法包括:
基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NAND Flash的接口时序控制信号;
将所述接口时序控制信号发送给DFI接口,以供所述DFI接口基于所述接口时序控制信号访问目标NAND Flash颗粒。
7.根据权利要求6所述的用于NAND Flash的通用控制方法,其特征在于,所述基于命令寄存器、地址寄存器、时序参数寄存器和数据长度寄存器对应的参数值,生成用于访问NANDFlash的接口时序控制信号,具体包括:
基于命令寄存器中的参数值确定操作类型,基于地址寄存器中的参数值确定待访问地址,基于时序参数寄存器中的参数值确定延迟信息,基于数据长度寄存器中的参数值确定数据长度;
基于所述操作类型、待访问地址、延迟信息及数据长度,生成用于访问NAND Flash的接口时序控制信号。
8.根据权利要求7所述的用于NAND Flash的通用控制方法,其特征在于,所述基于所述操作类型、待访问地址、延迟信息及数据长度,生成用于访问NAND Flash的接口时序控制信号,具体包括:
基于所述操作类型、待访问地址、延迟信息及数据长度,确定NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件;
基于NAND Flash访问期间不同时段对应的状态及不同状态之间的切换条件,生成用于访问NAND Flash的接口时序控制信号。
9.根据权利要求8所述的用于NAND Flash的通用控制方法,其特征在于,所述方法还包括:
在DFI接口访问目标NAND Flash颗粒的过程中获取目标NAND Flash颗粒的当前状态,并基于所述目标NAND Flash颗粒的当前状态更新所述接口时序控制信号。
10.根据权利要求9所述的用于NAND Flash的通用控制方法,其特征在于,所述不同时段对应的状态包括:空闲状态、命令发送状态、地址发送状态、等待状态、数据输入状态、数据输出状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915570.2A CN116679887B (zh) | 2023-07-24 | 2023-07-24 | 用于NAND Flash的通用控制模块及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310915570.2A CN116679887B (zh) | 2023-07-24 | 2023-07-24 | 用于NAND Flash的通用控制模块及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116679887A true CN116679887A (zh) | 2023-09-01 |
CN116679887B CN116679887B (zh) | 2023-10-24 |
Family
ID=87785773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310915570.2A Active CN116679887B (zh) | 2023-07-24 | 2023-07-24 | 用于NAND Flash的通用控制模块及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116679887B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076351A (zh) * | 2023-10-11 | 2023-11-17 | 合肥奎芯集成电路设计有限公司 | 基于onfi phy接口规范的内存访问方法和装置 |
CN118245408A (zh) * | 2024-05-27 | 2024-06-25 | 合肥奎芯集成电路设计有限公司 | 用于访问集成NAND Flash的控制电路和控制方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040264261A1 (en) * | 2003-06-26 | 2004-12-30 | Takayuki Suzuki | Controller and method for writing data |
CN105931670A (zh) * | 2016-04-22 | 2016-09-07 | 西安电子科技大学 | 基于Nand Flash存储器阵列的存储控制装置 |
CN106776391A (zh) * | 2016-12-13 | 2017-05-31 | 成都信息工程大学 | 一种NAND Flash控制器的控制方法和装置 |
CN106776104A (zh) * | 2016-11-11 | 2017-05-31 | 大唐微电子技术有限公司 | 一种Nand Flash控制器和终端以及控制Nand Flash的方法 |
CN111078602A (zh) * | 2019-12-27 | 2020-04-28 | 深圳大普微电子科技有限公司 | 一种闪存主控芯片及其控制方法、测试方法及存储设备 |
CN111913666A (zh) * | 2020-07-31 | 2020-11-10 | 深圳忆联信息系统有限公司 | 兼容不同协议Nand颗粒的方法、装置、计算机设备及存储介质 |
US20210390065A1 (en) * | 2020-06-15 | 2021-12-16 | SK Hynix Inc. | Memory device and method of operating the same |
CN114063906A (zh) * | 2021-10-15 | 2022-02-18 | 北京得瑞领新科技有限公司 | Nand闪存中物理块的管理方法、装置及ssd设备 |
US20220171564A1 (en) * | 2020-12-01 | 2022-06-02 | SK Hynix Inc. | Apparatus and method for maintaining data stored in a memory system |
CN116244225A (zh) * | 2021-12-08 | 2023-06-09 | 华为技术有限公司 | 存储介质、存储元件、存储介质配置方法及数据传输方法 |
-
2023
- 2023-07-24 CN CN202310915570.2A patent/CN116679887B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040264261A1 (en) * | 2003-06-26 | 2004-12-30 | Takayuki Suzuki | Controller and method for writing data |
CN105931670A (zh) * | 2016-04-22 | 2016-09-07 | 西安电子科技大学 | 基于Nand Flash存储器阵列的存储控制装置 |
CN106776104A (zh) * | 2016-11-11 | 2017-05-31 | 大唐微电子技术有限公司 | 一种Nand Flash控制器和终端以及控制Nand Flash的方法 |
CN106776391A (zh) * | 2016-12-13 | 2017-05-31 | 成都信息工程大学 | 一种NAND Flash控制器的控制方法和装置 |
CN111078602A (zh) * | 2019-12-27 | 2020-04-28 | 深圳大普微电子科技有限公司 | 一种闪存主控芯片及其控制方法、测试方法及存储设备 |
US20210390065A1 (en) * | 2020-06-15 | 2021-12-16 | SK Hynix Inc. | Memory device and method of operating the same |
CN111913666A (zh) * | 2020-07-31 | 2020-11-10 | 深圳忆联信息系统有限公司 | 兼容不同协议Nand颗粒的方法、装置、计算机设备及存储介质 |
US20220171564A1 (en) * | 2020-12-01 | 2022-06-02 | SK Hynix Inc. | Apparatus and method for maintaining data stored in a memory system |
CN114063906A (zh) * | 2021-10-15 | 2022-02-18 | 北京得瑞领新科技有限公司 | Nand闪存中物理块的管理方法、装置及ssd设备 |
CN116244225A (zh) * | 2021-12-08 | 2023-06-09 | 华为技术有限公司 | 存储介质、存储元件、存储介质配置方法及数据传输方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076351A (zh) * | 2023-10-11 | 2023-11-17 | 合肥奎芯集成电路设计有限公司 | 基于onfi phy接口规范的内存访问方法和装置 |
CN117076351B (zh) * | 2023-10-11 | 2024-01-19 | 合肥奎芯集成电路设计有限公司 | 基于onfi phy接口规范的内存访问方法和装置 |
CN118245408A (zh) * | 2024-05-27 | 2024-06-25 | 合肥奎芯集成电路设计有限公司 | 用于访问集成NAND Flash的控制电路和控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116679887B (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116679887B (zh) | 用于NAND Flash的通用控制模块及方法 | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
CN109669729B (zh) | 一种处理器的启动引导方法 | |
US8996788B2 (en) | Configurable flash interface | |
US10776042B2 (en) | Methods for garbage collection and apparatuses using the same | |
CN110941395A (zh) | 动态随机存取存储器、内存管理方法、系统及存储介质 | |
CN110765032A (zh) | 基于系统管理总线接口对i2c存储器进行读写的方法 | |
CN112148649B (zh) | 一种u-boot系统下的eMMCHS400传输模式实现方法及装置 | |
CN111399752A (zh) | 不同类型存储单元的控制装置及方法 | |
US10496422B2 (en) | Serial device emulator using two memory levels with dynamic and configurable response | |
US7404026B2 (en) | Multi media card with high storage capacity | |
CN110413331B (zh) | 基于rom的spi nor flash识别方法、装置、系统及存储介质 | |
US7743184B2 (en) | Coherent access register data transfer device and methods thereof | |
EP4167080A1 (en) | Memory initialisation apparatus and method, and computer system | |
WO2024087607A1 (zh) | 闪存管理算法调试方法、系统、设备和可读存储介质 | |
CN115981913A (zh) | 基于sram的ecc校验方法及装置 | |
CN115862714A (zh) | Ssd读延迟优化方法、装置、计算机设备及存储介质 | |
CN115687172A (zh) | 内存初始化方法、计算机设备及存储介质 | |
TWI859110B (zh) | 用於NAND Flash的通用控制模組及其方法 | |
KR20090053164A (ko) | 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법 | |
CN112732176A (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
US20130346680A1 (en) | Emulated electrically erasable memory having an address ram for data stored in flash memory | |
CN111063387A (zh) | 一种固态硬盘性能测试方法、装置、设备及存储介质 | |
US7213142B2 (en) | System and method to initialize registers with an EEPROM stored boot sequence |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |