CN114490460B - 一种用于asic的flash控制器及其控制方法 - Google Patents
一种用于asic的flash控制器及其控制方法 Download PDFInfo
- Publication number
- CN114490460B CN114490460B CN202210328975.1A CN202210328975A CN114490460B CN 114490460 B CN114490460 B CN 114490460B CN 202210328975 A CN202210328975 A CN 202210328975A CN 114490460 B CN114490460 B CN 114490460B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- flash
- clock
- mode
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000005540 biological transmission Effects 0.000 claims abstract description 51
- 230000008569 process Effects 0.000 claims description 23
- 230000010363 phase shift Effects 0.000 claims description 18
- 230000002093 peripheral effect Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 13
- 230000009191 jumping Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000000630 rising effect Effects 0.000 description 9
- 238000005070 sampling Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 230000001976 improved effect Effects 0.000 description 4
- 230000008093 supporting effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Systems (AREA)
Abstract
一种用于ASIC的FLASH控制器及其控制方法,所述控制器包括主控模块,以及与主控模块连接的仲裁模块、读数据fifo和写数据fifo;所述读数据fifo和写数据fifo均与仲裁模块和数据接口模块连接,其中数据接口模块连接AHB数据总线;所述控制器还包括寄存器模块,所述寄存器模块连接读数据fifo、写数据fifo、仲裁模块和配置接口模块,配置接口模块连接AHB配置总线,所述主控模块通过同步模块连接所述寄存器模块。本发明通过使用AHB数据总线和AHB配置总线两套总线接口对应不同的操作,通过DMA数据传输和大容量内部缓存单元来完成FLASH通用读写操作,精简控制器的操作流程,提高数据传输效率。
Description
技术领域
本发明属于集成电路技术领域,具体涉及一种用于ASIC的FLASH控制器及其控制方法。
背景技术
随着FLASH 技术的飞速发展,越来越多的器件支持时钟信号的双边沿触发数据传输,即Double transfer Rate,缩写为DTR。采用了DTR技术的FLASH传输速率为单沿数据传输技术的两倍。目前,已推出的SPI NOR FLASH器件在DTR模式下的最高速率已经到达了200MHz。在相对低频的逻辑芯片片上存储应用中,NOR FLASH器件能够以少量的接口提供较高速的数据传输速率并且支持芯片内执行,即eXecute In Place,缩写为XIP。
申请号201811314760.4,专利名称为一种可配置且高效的嵌入式Nor-FLASH控制器级控制方法的中国专利提出了一种通过大容量缓存和自动擦除Nor-FLASH数据的控制方法来提高FLASH数据写入速率。但是这个方法对数据读写的带宽提高有限,不能让高性能FLASH器件的性能发挥到极致。
申请号201610934188.6,专利名称为一种基于串行FLASH控制器接收数据的方法及装置的中国专利提出了一种方法:引入了独立的两个时钟、一个工作时钟作为FLASH器件时钟,一个更高频的时钟作为FLASH器件返回数据的采样时钟;并对FLASH返回的串行数据信号进行延时的办法来提高串行FLASH数据的传输速度。但是这两个时钟也会增加信号跨时钟域后的亚稳态风险,并且在一个FLASH控制器控制2片FLASH大带宽传输数据的情况下,通常需要八线Octal SPI来进行传输数据,则需要对8根数据线进行延时处理,这增大了逻辑单元的面积和功耗。
发明内容
为克服现有技术存在的技术缺陷,本发明公开了一种用于ASIC的DTR- FLASH控制器及其控制方法。
本发明所述用于ASIC的FLASH控制器,包括主控模块,以及与主控模块连接的仲裁模块、读数据fifo和写数据fifo;所述读数据fifo和写数据fifo均与仲裁模块和数据接口模块连接,其中数据接口模块连接AHB数据总线;
所述FLASH控制器还包括寄存器模块,所述寄存器模块连接读数据fifo、写数据fifo、仲裁模块和配置接口模块,配置接口模块连接AHB配置总线,所述主控模块通过同步模块连接所述寄存器模块;
所述主控模块内部包含数据发送器子模块,用于发送FLASH数据信息;数据接收器子模块,用于配置采集FLASH接口的数据;时钟发生器子模块,用于产生时钟。
优选的,所述时钟发生器子模块包括TX时钟产生支路,产生的TX时钟作为FLASH器件工作时钟;
所述TX时钟产生支路包括第一分频模块和与分频模块输出端连接的第一时钟旁路选择器,所述第一时钟旁路选择器还与TX 时钟门控模块连接。
优选的,所述时钟发生器子模块还包括RX时钟产生支路,产生的RX时钟作为内部数据采集时钟;
所述RX时钟产生支路包括第二分频模块和与第二分频模块输出端连接的第一相位移动选择器;
所述RX时钟产生支路还包括反相器及与反相器输出端连接的第三分频模块,所述第三分频模块输出端连接所述第一相位移动选择器;
所述RX时钟产生支路还包括第一RX时钟门控模块和第二RX时钟门控模块,第一RX时钟门控模块和第二RX时钟门控模块输出端连接第二相位移动选择器;第一相位移动选择器和第二相位移动选择器输出端连接第二时钟旁路选择器;其中第一RX时钟门控模块和第二RX时钟门控模块输出信号相位相差一个主时钟周期。
本发明还公开了一种用于ASIC的FLASH控制器控制方法,包括仲裁模块工作模式,所述仲裁模块工作模式包括以下3种:
模式M4:
当寄存器配置为FLASH XIP模式时,仲裁模块进入XIP模式空闲状态,
如果仲裁模块判断配置为对FLASH的XIP读操作,则发出XIP读操作的主动握手信号,进入XIP读状态;期间系统从读数据fifo中读回地址对应的数据,等待主控模块发出的握手返回信号后进入XIP握手从状态;
如果仲裁模块判断配置不是对FLASH的XIP读操作,则保持为XIP模式空闲状态;
模式M5:当寄存器配置为FLASH XIP读预取模式时,仲裁模块进入XIP模式空闲状态,
如果仲裁模块判断配置为对FLASH的XIP预取读操作,则发出XIP预取读操作的主动握手信号,然后进入XIP预取读状态,期间系统从读数据fifo中读回数据,控制器从FLASH器件中将后续地址对应的数据读回到读数据fifo中,仲裁模块完成一次XIP预取读后,进入XIP预取空闲状态等待下一次XIP读取;
仲裁模块判断下一次XIP读操作传输过来的地址是否为当前数据匹配的地址,如果当前数据和地址匹配,则将读数据fifo中对应数据返回;
如果数据和地址不匹配,则进入XIP地址跳转状态,将当前的数据丢弃,并判断读数据fifo中下一个预取数据是否匹配当前地址,如果不能匹配,则将非匹配的数据丢弃,直到读取到与当前地址匹配的数据为止;如果传输地址超出预取地址判断范围,则用传输过来的地址重新对FLASH进行数据读取;
如果仲裁模块判断配置不是对FLASH的XIP写操作,则保持为XIP模式空闲状态;
模式M6:当寄存器配置为FLASH XIP模式时,仲裁模块进入XIP模式空闲状态,如果仲裁模块判断配置为对FLASH的XIP写操作,则发出XIP写操作的主动握手信号,然后进入XIP写状态,期间系统将数据存入写数据fifo中,等待主控模块将地址对应的数据写入并收到握手返回信号后进入XIP握手从状态;
如果仲裁模块判断配置不是对FLASH的XIP写操作,则保持为XIP模式空闲状态;
所述控制方法还包括主控模块控制方式,所述主控模块的控制方式包括以下两种:主控模块收到仲裁模块的主动握手信号后,主控模块从空闲状态进入握手从状态1,并返回给仲裁模块握手响应信号结束握手过程;
主控模块向仲裁模块发起主动握手请求,从片选高状态进入握手主状态,仲裁模块收到握手请求后,发出握手响应信号,主控模块接收到握手响应并结束握手过程。
优选的:所述主控模块结束握手过程后,后续控制方式还包括以下方式:
主控控制方式1:握手过程完成数据同步后,FLASH器件开始工作;
主控控制方式2:根据传输配置将命令数据信息转化为命令周期发送的SPI时序接口信号;
主控控制方式3:根据传输配置将地址数据信息转化地址周期发送的SPI时序接口信号;
主控控制方式4:根据传输配置将扩充字节数据信息转化扩充字节周期发送的SPI时序接口信号;
主控控制方式5:根据传输配置将虚位数据信息转化虚位周期发送的SPI时序接口信号;
主控控制方式6:根据传输配置将读取数据信息转化读数据状态发送的SPI时序接口信号;
主控控制方式7:根据传输配置将写入数据信息转化写数据状态发送的SPI时序接口信号;
主控控制方式8:在读数据状态中,如果主控模块从FLASH器件接收的缓存数据触发预先配置的fifo写满阈值,表示继续缓存数据将会导致数据部分丢失;主控模块会进入等待FIFO就绪状态,FIFO缓存数据就绪后,继续发送新的SPI指令;
主控控制方式9:主控模块进入等待FIFO就绪状态后,如有新的配置传输请求,则进入握手从状态2同步新的数据,并清空fifo中的无效数据;
主控控制方式10:当完成数据的传输后, FLASH器件停止工作,结束对FLASH的操作;
主控控制方式11:主控模块完成握手后进入到空闲状态等待新的指令操作。
优选的:所述仲裁模块工作模式还包括以下3种:
模式M1:当寄存器配置为FLASH普通配置模式时,仲裁模块进入通用配置模式空闲状态,然后发出主动握手信号,等待主控模块发送完配置的数据,并收到握手返回信号后进入通用握手从状态;
模式M2:当寄存器配置为FLASH普通数据模式时,先进入通用数据模式空闲状态,如果仲裁模块判断配置为对FLASH的读操作,则发出读操作的主动握手信号,然后进入通用读状态,等待系统将要读的数据从读数据fifo读到数据接口总线;
等待主控模块将FLASH中数据读完,并收到握手返回信号后进入通用握手从状态;如果仲裁模块判断配置不是对FLASH的通用读操作,则保持为通用数据模式空闲状态;
模式M3:当寄存器配置为FLASH普通数据模式时,先进入通用数据模式空闲状态,如果仲裁模块判断配置为对FLASH的写操作,则发出写操作的主动握手信号,然后进入通用写状态,等待数据存入写数据fifo中;
等待主控模块将数据写完,并收到握手返回信号后进入通用握手从状态;如果仲裁模块判断配置不是对FLASH的通用写操作,则保持为通用数据模式空闲状态。
本发明通过使用AHB数据总线和AHB配置总线两套总线接口对应不同的操作,从而支持使用2个片选信号来完成FLASH大带宽数据流控制,通过DMA数据传输和大容量内部缓存单元来完成FLASH通用读写操作,精简控制器的操作流程,提高数据传输效率。
本发明通过灵活的时序调节设计,降低了控制器的面积和功耗,同时留出了足够的时序余量,减少数字后端实现时的工作量,缩短项目的周期。可调节的时序提高了芯片在运行在复杂环境下的稳定性。
本发明支持在SPI单线模式下的数据带宽为:≤166Mbit/s; 在SPI octcal(8线)模式下的数据带宽为: ≤166MByte/s;在DTR模式下的数据带宽为:≤400Mbyte/s。
附图说明
图1为本发明所述FLASH控制器的一个典型应用场景示意图;
图2为本发明所述FLASH控制器的一个内部设计架构具体实施方式示意图;
图3为本发明所述仲裁模块仲裁状态图的一个具体实现方式示意图;
图3中M1-M6表示不同的工作模式;
图4为本发明所述主控模块状态图的一个具体实现方式示意图;
图5为本发明所述时钟生成模块的一个具体实现方式示意图。
具体实施方式
下面对本发明的具体实施方式作进一步的详细说明。
本发明所述本发明所述FLASH控制器的一个典型应用场景如图1所示。
图1中, FLASH控制器采用DTR(双边沿触发数据传输, Double transfer Rate)FLASH控制器, FLASH控制器通过AHB(先进高性能总线,Advanced High-performance Bus)数据总线和AHB配置总线与总线矩阵连接,总线矩阵通过直接存储器访问(DMA)的AHB总线与DMA控制器连接, 并通过数据总线DBUS、指令总线IBUS、系统总线 SBUS与CPU中央处理单元连接。CPU内核通过IBUS完成指令获取,通过数据总线DBUS完成数据加载和访问,通过SBUS完成外设访问。
图1 中DMA控制器用于存储数据的直接传输;SCU控制器提供了DTR FLASH控制器所需的时钟和复位信号;总线矩阵为DMA控制器总线、CPU中央处理器三条总线与DTR FLASH控制器总线提供了访问仲裁管理。端口IOPAD用于FLASH器件输入输出引脚的接口管理。
所述FLASH控制器通过使用AHB数据总线和AHB配置总线两套总线接口对应不同的操作。
在有大量数据传输的需求时,使用AHB数据总线接口,在发送控制器配置和FLASH指令时,使用AHB配置总线接口。从而支持使用2个片选信号来完成FLASH大带宽数据流控制、并且可配置多种SPI接口:支持单线SPI、双线SPI、四线SPI、八线SPI配置,以及时钟单沿数据收发及DTR时钟双沿数据收发,兼容FLASH的各种命令操作。SPI为串行外设接口(Serial Peripheral Interface)。
通过DMA数据传输和大容量内部缓存单元来完成FLASH通用读写操作,精简控制器的操作流程,提高数据传输效率。
通过AHB数据总线接口解析出AHB总线协议的读写信号、读写地址和数据长度信息来完成XIP操作,并可设置数据预取方式;当预取模式开启时,控制器会根据数据地址在FLASH器件中预先读取数据,并判断下一个发送来的地址是否在预取范围。如在范围内,将直接返回对应地址存储的数据,从而可提高数据读取性能。通过上电默认配置为芯片内执行操作可以在FLASH器件中对系统进行引导启动。
本发明所述FLASH控制器,在FLASH采用伪静态随机存储器(PSRAM)时,可同时支持串行SPI、Quad SPI(四线SPI接口)和Octal SPI(八线SPI接口) 等几种接口的PSRAM来实现XIP写操作。由AHB总线协议信号解析出读写信号、读写地址和数据长度信息来完成XIP写入,兼容PSRAM的各种命令操作。
本发明所述FLASH控制器内置时钟生成模块,在内部生成时钟,利于时序灵活调节:时钟生成模块支持多个时钟频点配置,可配置为输入主时钟的1/2/4/6/8分频;数据接收时钟RX时钟相位调节。
本发明所述FLASH控制器的一个内部设计架构如图2所示。
包括主控模块,以及与主控模块连接的仲裁模块、读数据fifo和写数据fifo;所述读数据fifo和写数据fifo均与仲裁模块和数据接口模块连接,其中数据接口模块连接AHB数据总线;
所述FLASH控制器还包括寄存器模块,所述寄存器模块连接读数据fifo、写数据fifo、仲裁模块和配置接口模块,配置接口模块连接AHB配置总线,所述主控模块通过同步模块连接所述寄存器模块;
所述主控模块内部包含数据发送器子模块,用于发送FLASH数据信息,支持发送数据相位调节;数据接收器子模块,用于配置采集FLASH接口的数据;时钟发生器子模块,用于产生时钟。
寄存器模块主要用于存储FLASH控制器的相关参数和控制器当前状态。此模块能够将总线对控制器的配置信息发送给相应的模块,并收集各子模块的信息,产生状态和中断信息。
配置接口模块为寄存器模块的总线接口,主要用于控制器参数的读写。此模块为AHB从接口,对接外部总线矩阵的AHB主接口,能将AHB的信号转换成读写使能,与寄存器模块进行数据交互。
数据接口模块为AHB数据传输接口,用于数据流的传输。此模块将读数据fifo(先进先出寄存器)里缓存的FLASH数据读取到总线矩阵上,也可以将总线矩阵传过来的数据传缓存到写数据fifo中。它同时能把读写的地址和数据长度信息发送给仲裁模块。
仲裁模块判断当前传输方式,根据数据接口和配置接口模块传过来的数据决定当前的操作:把对应的传输模式和相应的地址、数据长度信息发送给主控模块;当使用DMA进行读写操作时,仲裁模块产生DMA传输请求信号;可按照AHB单一传输或突发传输的方式传输数据。
主控模块主要适配FLASH接口协议,通过状态机控制读写数据缓存、灵活配置数据收发格式和FLASH器件接口时序,如图4所示。主控模块内部包含了三个子模块:数据发送器子模块用于发送FLASH数据信息,时钟发生器子模块用于产生FLASH器件时钟TX时钟和数据接收器模块的采样时钟RX时钟。时钟发生器子模块内部采用的高度灵活的设计用于RX时钟的时序调节。数据接收器子模块可以根据不同的接口方式配置采集FLASH接口的数据。主控模块也用状态握手、完成各种模式切换和地址跳转、数据准备等。
写数据fifo、读数据fifo和内置于寄存器模块中的缓存寄存器用于缓存内部数据。数据缓存可配置2种数据缓存方式:1、配置寄存器方式;2、FIFO存储方式,大容量写数据FIFO缓存单元,可一次性缓存烧写FLASH page的数据,提高数据发送速率,触发阈值可配置,且为异步fifo。
同步模块用于内部异步时钟域信号的跨时钟域处理。
本发明所述仲裁模块仲裁状态图的一个具体实现方式如图3所示,能产生至少6种控制模式,分别为:
模式M1:当寄存器配置为FLASH普通配置模式时,仲裁模块进入通用配置模式空闲状态,然后发出主动握手信号,等待主控模块发送完配置的数据后收到握手返回信号进入通用握手从状态。表示发送的配置已经完成。模式M1主要应用于FLASH指令的传输,不涉及数据的传输,通过配置内置于寄存器模块中的缓存寄存器即可完成单条指令的读写。指令的配置简单、响应速度很快。
模式M2:当寄存器配置为FLASH普通数据模式时,先进入通用数据模式空闲状态,如果仲裁模块判断配置为对FLASH的读操作,则发出读操作的主动握手信号,然后进入通用读状态,等待系统将要读的数据从读数据fifo读到数据接口总线。
等待主控模块读完配置数据量的数据并收到其握手返回信号后,仲裁模块进入通用握手从状态,表示读取数据已经完成读取。模式M2主要用于从FLASH器件中读取大量数据的场景,需要使用fifo作为数据缓存及DMA搬运数据。
如果仲裁模块判断配置不是对FLASH的通用读操作,则保持为通用数据模式空闲状态。
模式M3:当寄存器配置为FLASH普通数据模式时,先进入通用数据模式空闲状态,如果仲裁模块判断配置为对FLASH的写操作,则发出写操作的主动握手信号,然后进入通用写状态,等待数据存入写数据fifo中。
等待主控模块发送完写入FLASH的数据并收到其握手返回信号后,仲裁模块进入通用握手从状态。表示发送的数据已经完成写入。模式M3主要应用于FLASH器件数据烧写的场景。需要使用fifo作为数据缓存及DMA搬运数据。通常FLASH一个页单元的数据烧写需要毫秒级的时间,因此FLASH的写操作常在较低的工作频率下运行。
如果仲裁模块判断配置不是对FLASH的通用写操作,则保持为通用数据模式空闲状态。
本发明还提出了三种芯片内执行(XIP)的工作模式;
模式M4:当寄存器配置为FLASH XIP模式时,先进入XIP模式空闲状态,如果仲裁模块判断配置为对FLASH的XIP读操作,则发出XIP读操作的主动握手信号,然后进入XIP读状态,期间系统可用总线从读数据fifo中读回数据,等待主控模块读到一个地址对应的FLASH数据并收到握手返回信号后,进入XIP握手从状态,表示一个地址对应的数据已经读回。
如果仲裁模块判断配置不是对FLASH的XIP读操作,则保持为XIP模式空闲状态。
模式M4主要应用于对FLASH存储的数据上进行芯片内执行的场景,需要使用fifo缓存数据,不需要DMA搬运数据。系统总线能在FLASH芯片内执行程序,但有一定的时序开销。
模式M5:当寄存器配置为FLASH XIP读预取模式时,先进入XIP模式空闲状态,如果仲裁模块判断配置为对FLASH的XIP预取读操作,则发出XIP预取读操作的主动握手信号,然后进入XIP预取读状态,期间系统用总线从读数据fifo中读回数据,控制器会不断地从FLASH器件中将后续地址对应的数据读回到读数据fifo中,仲裁模块完成一次XIP预取读后,进入XIP预取空闲状态等待下一次的XIP读取。仲裁模块会判断下一次XIP读操作传输过来的地址是否为当前数据匹配的地址,如果当前的数据和地址匹配,则立即将读数据fifo中对应的数据返回,如果数据和地址不匹配,则进入XIP地址跳转状态,将当前的数据丢弃,并判断fifo中下一个预取数据是否匹配当前地址,如果不能匹配,则将非匹配的数据丢弃,直到读取到当前地址匹配的数据为止。如果传输过来的地址超出了地址判断的范围,则用传输过来的地址对FLASH进行数据读取。当状态在XIP预取空闲状态时,可以退出预取模式,进入XIP退出预取握手主状态,回到XIP模式空闲状态。仲裁模块在XIP等待握手状态时收到握手返回信号则进入XIP握手从状态。表示数据已经读回。
如果仲裁模块判断配置不是对FLASH的XIP预取读操作,则保持为XIP模式空闲状态。
模式M5主要应用于对FLASH存储的数据进行快速读取的高性能场景,需要使用fifo缓存数据,不需要DMA搬运数据。预取开启后,系统总线读取数据时能大幅减少时序开销,提高数据读取速率。
模式M6:在所述控制器连接的FLASH为PSRAM器件时,可以配置为XIP写模式。当寄存器配置为FLASH XIP模式时,先进入XIP模式空闲状态,如果仲裁模块判断配置为对FLASH的XIP写操作,则发出XIP写操作的主动握手信号,然后进入XIP写状态,期间系统可用总线将数据存入写数据fifo中,等待主控模块将一个地址对应的PSRAM数据写入并收到握手返回信号后进入XIP握手从状态。表示一个地址对应的数据已经写入。
如果仲裁模块判断配置不是对FLASH的XIP写操作,则保持为XIP模式空闲状态。
模式M6主要应用于使用PSRAM器件且有在高速写数据的场景,由于FLASH器件的烧写时间较长、使用PSRAM器件能直接快速写入,简化操作流程。
其中,各个模式中XIP模式空闲状态表示仲裁模块根据CPU的配置进入了XIP工作状态,但没有开始数据传输操作。XIP握手从状态表示仲裁模块正在和主控模块进行握手,主控模块在XIP工作模式下完成了数据传输操作后向仲裁模块发起主动握手信号,通知仲裁模块数据传输结束。通用握手从状态同理。
各个模式中,寄存器配置为什么模式,由CPU发送的命令决定,由寄存器模块完成配置。
本发明主控模块的一个控制状态图如图4所示,主控模块和仲裁模块之间建立握手过程包括以下两种典型控制方式:
仲裁模块根据CPU发送的配置信息完成工作模式仲裁后,就会进入到主动握手状态,将具体工作信息发送给主控模块来完成对FLASH器件的具体操作。同时主控模块收到仲裁模块的主动握手信号后,主控模块从空闲状态进入握手从状态1,并返回给仲裁模块握手响应信号来结束握手过程。
或由主控模块向仲裁模块发起主动握手请求,仲裁模块收到握手请求后,发出握手响应信号,主控模块接收到握手响应并退出握手过程。
本发明中仲裁模块和主控模块通过握手配合进行各个模式切换控制,能够高效地同步不同模块间的数据,而不会引起数据冲突。通过握手过程获取新的指令的方式保证了正在进行中的数据传输的正确性,避免非法操作引起的数据冲突和系统崩溃。
握手配合的过程是仲裁模块和主控模块两个模块处于数据传输的准备和结束阶段。主动握手信号发出后,接收模块在空闲状态下才进入从握手状态,进入握手从状态,结束握手过程;结束握手过程后进行数据传输。
例如模式M4中仲裁模块发出XIP读操作的主动握手信号后,主控模块接收到仲裁模块的主动握手信号,如果此时主控模块为空闲状态,则返回握手响应信号结束握手过程,如果主控模块为其他状态,则进入其他主控状态。又例如主控模块发起主动握手信号,仲裁模块接到后,如果仲裁模块在XIP等待握手状态时则进入XIP握手从状态。
又例如,当仲裁模块工作在XIP读操作期间,CPU突然将控制器的工作模式从XIP读操作更改为XIP预取读操作,但此时仲裁模块没有接收到主控模块完成数据传输工作后发起的主动握手请求并回到空闲状态,则忽略更改当前工作模式的指令。主控模块完成了数据传输工作后会主动向仲裁模块发起握手请求并回到空闲状态等待新的握手来接收新的指令,或者在等待FIFO就绪状态期间,控制器与flash器件间没有数据传输情况下通过新的握手来接收新的指令,在其他状态和flash器件数据进行传输期间,主控模块不会进入到握手状态获取新的指令。
主控模块和仲裁模块建立握手过程后,后续操作根据具体的工作信息决定,主要包括以下方式:
主控控制方式1:握手过程完成模块间的数据同步后,主控模块进入FLASH 片选低状态,通常FLASH器件在片选信号为低电平时开始工作。
主控控制方式2:根据传输配置将命令数据信息转化为命令周期状态发送的SPI时序接口信号。发送的命令数据长度可配置,此步骤可以根据应用需求跳过。
主控控制方式3:根据传输配置将地址数据信息转化地址周期状态发送的SPI时序接口信号。发送的地址数据长度可配置,此步骤可以根据应用需求跳过。
主控控制方式4:根据传输配置将扩充字节数据信息转化扩充字节周期状态发送的SPI时序接口信号。此步骤可以根据应用需求跳过。
主控控制方式5:根据传输配置将虚位数据信息转化虚位周期状态发送的SPI时序接口信号。发送的虚位周期长度可配置,此步骤可以根据应用需求跳过。
主控控制方式6:根据传输配置将读取数据信息转化读数据状态发送的SPI时序接口信号。读取数据的长度可配置,此步骤可以根据应用需求跳过。
主控控制方式7:根据传输配置将写入数据信息转化写数据状态发送的SPI时序接口信号。此步骤可以根据应用需求跳过。
上述的主控控制方式1到主控控制方式7所述的命令周期、地址周期、扩充字节、虚位周期、读数据、写数据等每个主控控制方式都可以跳过来满足不同的应用场景需求。比如只工作在指令周期、或者只工作在指令周期加地址周期等。
主控控制方式8:在读数据状态中,如果主控模块从FLASH器件接收的缓存数据触发预先配置的fifo写满阈值,表示继续缓存数据将会导致数据部分丢失;主控模块会进入等待FIFO就绪状态,FIFO缓存数据就绪后,继续发送新的SPI指令。
主控控制方式9:主控模块进入等待FIFO就绪状态时,如果有新的配置请求传输,则进入握手从状态2同步新的数据,并清空fifo中的无效数据。
主控控制方式10:当完成数据的收发后,主控模块进入片选高状态, FLASH器件在片选信号为高电平时停止工作,结束对FLASH的操作,
主控控制方式11:向仲裁模块发起主动握手请求,仲裁模块收到握手请求后,发出握手响应信号,主控模块接收到握手响应并退出握手过程。
主控控制方式12:主控模块完成握手后进入到空闲状态等待新的指令操作。
本发明所述时钟发生器子模块的一个具体电路结构如图5所示,利用主时钟和多个正负沿使能信号分别产生TX时钟和RX时钟。
所述时钟发生器子模块包括TX时钟产生支路,所述TX时钟产生支路包括第一分频模块和与分频模块输出端连接的第一时钟旁路选择器,所述第一时钟旁路选择器还与TX时钟门控模块连接;
使用时,主时钟与TX 时钟门控模块和第一分频模块的输入端连接;第一分频模块输入由外部输入的TX时钟正沿使能信号和TX时钟负沿使能信号控制。
时钟发生器子模块产生作为FLASH器件工作时钟的TX时钟,并且TX时钟可配置为主时钟的同频、2分频、4分频、6分频、8分频。TX时钟的具体产生过程为如下:
步骤1: 输入DTR FLASH控制器的主时钟为系统工作时钟,主控模块根据CPU配置的分频系数产生分频时钟TX时钟正沿使能和TX时钟负沿使能两个控制信号,TX时钟正沿使能信号和TX时钟负沿使能信号分别控制将主时钟2分频、4分频、6分频、8分频后的TX时钟的上升沿和下降沿。当TX时钟正沿使能有效且TX时钟负沿使能信号无效时,TX时钟由低电平转换为高电平;当TX时钟正沿使能无效且TX时钟负沿使能信号有效时,TX时钟由高电平转换为低电平。
步骤2:主时钟经过TX时钟门控模块后得到门控后的TX时钟。TX时钟门控模块的功能是产生与主时钟相同频率的时钟 ,主控模块根据当前发送或接收FLASH数据的控制状态产生时钟门控信号,FLASH需要工作时钟的时候,打开门控,开始输出时钟;FLASH没有工作的时候,关闭门控。停止输出时钟。门控模块的具体电路为本领域现有技术,在此不再赘述。
步骤3:门控后的TX时钟和分频后的TX时钟经过第一时钟旁路选择器选择后得到TX时钟,选择信号为时钟旁路选择信号。
所述时钟发生器子模块还产生作为内部数据采集时钟的RX时钟。RX时钟可配置为同频、2分频、4分频、6分频、8分频等,支持可配置的相位平移,比如基于主时钟产生的8分频RX时钟,可以将RX时钟平移1到8个主时钟周期。即分频时钟的相位平移可以达到分频系数的大小。同频模式下,仅支持一个主时钟周期的相位调节。
所述时钟发生器子模块还包括RX时钟产生支路,所述RX时钟产生支路包括第二分频模块和与第二分频模块输出端连接的第一相位移动选择器;
所述RX时钟产生支路还包括反相器及与反相器输出端连接的第三分频模块,所述第三分频模块输出端连接所述第一相位移动选择器;
所述RX时钟产生支路还包括第一RX时钟门控模块和第二RX时钟门控模块,第一RX时钟门控模块和第二RX时钟门控模块输出端连接第二相位移动选择器;第一相位移动选择器和第二相位移动选择器输出端连接第二时钟旁路选择器;其中第一RX时钟门控模块和第二RX时钟门控模块输出信号由于两个门控单元的门控信号有效时间不同,相位相差一个主时钟周期;
所述第二时钟旁路选择器输出端通过延时模块连接DQS选择器;
使用时,主时钟与第一RX时钟门控模块、第二RX时钟门控模块反相器和第二分频模块连接;第二分频模块由主控模块输入RX时钟正沿使能信号和RX时钟负沿使能信号控制。DQS信号输入到所述DQS选择器。FLASH器件数据选通输出信号(DQS)可以准确指示每个数据传输的周期,用于接收方准确接收数据。
RX时钟的一个具体产生过程如下:
步骤1:RX时钟正沿使能信号和RX时钟负沿使能信号控制分频时钟的上升沿和下降沿得到分频后的RX时钟; RX时钟正沿使能和RX时钟负沿使能两个信号由分频系数配置产生。
步骤2:主时钟通过反相器后得到的反相主时钟,由反相主时钟采样分频后的RX时钟,得到相位偏移90度的负沿采样的分频RX时钟。
步骤3:分频后的RX时钟和负沿采样的分频RX时钟经过RX时钟移相使能信号控制的第一相位移动选择器后,将选择出的信号送入第二时钟旁路选择器。
步骤4:主时钟经过两个RX时钟门控单元后,得到相位相差一个周期的两个数据采样时钟:门控后的RX时钟1和门控后的RX时钟2。
步骤5:将门控后的RX时钟1和门控后的RX时钟2经过第二相位移动选择器,选择后得到的时钟送入第二时钟旁路选择器。第二时钟旁路选择器的选择信号为时钟旁路选择信号。
步骤6:由第二时钟旁路选择器选择出的信号连接延时模块做时钟延时微调,微调等级可设定为1到32级,根据实现标准单元的性能,延时时间也不同(互补金属氧化物半导体的延时时间受工艺、温度、电压的影响较大)。通常情况下,1级延时单元延时为皮秒级,32级延时单元总计延时为纳秒级,输出延时后的RX时钟。
步骤7: 将延时后的RX时钟和FLASH器件DQS信号送入DQS选择器,选择得到的RX时钟为数据的采样时钟,DQS选择器的选择信号为RX时钟DQS选择信号。
其中DQS信号是FLASH器件输出到控制器的信号,FLASH器件数据选通输出信号(DQS)可以准确指示每个数据传输的周期。
各个分频模块可以采用单个D触发器,相位移动选择器和时钟旁路选择器为本领域现有技术;本发明中时钟发生器子模块产生TX时钟和RX时钟,TX时钟的上升沿和下降沿都可作为数据发送的时钟沿,RX时钟上升沿和下降沿都可以作为数据采样的时钟沿。且各个时钟具有高度的可调性,具体分为3种等级:
第一级调节为分频相位平移,这一级时序可调范围大,RX时钟是由主时钟分频而来,它的上升沿可以在分频范围内调节,比如配置RX时钟8分频时,RX时钟的上升沿开始的时间点可以从第1个主时钟周期到第8个主时钟周期范围进行选择;
第二级调节为采样时钟沿调节,通过上升沿和下降沿选择调节,例如选择分频后的RX时钟的上升沿,为0度相位调节;负沿采样的分频RX时钟的上升沿,为90度相位调节;分频后的RX时钟的下降沿,为180度相位调节;负沿采样的分频RX时钟的下降沿,为270度相位调节;第二级调节的调节范围为一个主时钟周期的90度相位;
第三级为延时模块的延时调节,这一级时序可调范围较小,用于时钟信号的细微调节。
上述三级调节能够让本设计在常温、以及高低温环境下准确采样数据,提高芯片的稳定性。由于具有可调节的时钟,给后端实现步骤留下了较大的时序余量,数字后端人员可以不用花费太多的时间和精力在控制器逻辑的时序满足上面,从而加快了项目进度。
前文所述的为本发明的各个优选实施例,各个优选实施例中的优选实施方式如果不是明显自相矛盾或以某一优选实施方式为前提,各个优选实施方式都可以任意叠加组合使用,所述实施例以及实施例中的具体参数仅是为了清楚表述发明人的发明验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。
Claims (6)
1.一种用于ASIC的FLASH控制器,其特征在于,包括主控模块,以及与主控模块连接的仲裁模块、读数据fifo和写数据fifo;所述读数据fifo和写数据fifo均与仲裁模块和数据接口模块连接,其中数据接口模块连接AHB数据总线;
所述FLASH控制器还包括寄存器模块,所述寄存器模块连接读数据fifo、写数据fifo、仲裁模块和配置接口模块,配置接口模块连接AHB配置总线,所述主控模块通过同步模块连接所述寄存器模块;
所述主控模块内部包含数据发送器子模块,用于发送FLASH数据信息;数据接收器子模块,用于配置采集FLASH接口的数据;时钟发生器子模块,用于产生时钟。
2.如权利要求1所述用于ASIC的FLASH控制器,其特征在于, 所述时钟发生器子模块包括TX时钟产生支路,产生的TX时钟作为FLASH器件工作时钟;
所述TX时钟产生支路包括第一分频模块和与分频模块输出端连接的第一时钟旁路选择器,所述第一时钟旁路选择器还与TX 时钟门控模块连接。
3.如权利要求1或2 所述用于ASIC的FLASH控制器,其特征在于,所述时钟发生器子模块还包括RX时钟产生支路,产生的RX时钟作为内部数据采集时钟;
所述RX时钟产生支路包括第二分频模块和与第二分频模块输出端连接的第一相位移动选择器;
所述RX时钟产生支路还包括反相器及与反相器输出端连接的第三分频模块,所述第三分频模块输出端连接所述第一相位移动选择器;
所述RX时钟产生支路还包括第一RX时钟门控模块和第二RX时钟门控模块,第一RX时钟门控模块和第二RX时钟门控模块输出端连接第二相位移动选择器;第一相位移动选择器和第二相位移动选择器输出端连接第二时钟旁路选择器;其中第一RX时钟门控模块和第二RX时钟门控模块输出信号相位相差一个主时钟周期。
4.一种用于权利要求1至3任意一项所述FLASH控制器的控制方法,其特征在于,包括仲裁模块工作模式,所述仲裁模块工作模式包括以下3种:
模式M4:
当寄存器配置为FLASH XIP模式时,仲裁模块进入XIP模式空闲状态,
如果仲裁模块判断配置为对FLASH的XIP读操作,则发出XIP读操作的主动握手信号,进入XIP读状态;期间系统从读数据fifo中读回地址对应的数据,等待主控模块发出的握手返回信号后进入XIP握手从状态;
如果仲裁模块判断配置不是对FLASH的XIP读操作,则保持为XIP模式空闲状态;
模式M5:当寄存器配置为FLASH XIP读预取模式时,仲裁模块进入XIP模式空闲状态,
如果仲裁模块判断配置为对FLASH的XIP预取读操作,则发出XIP预取读操作的主动握手信号,然后进入XIP预取读状态,期间系统从读数据fifo中读回数据,控制器从FLASH器件中将后续地址对应的数据读回到读数据fifo中,仲裁模块完成一次XIP预取读后,进入XIP预取空闲状态等待下一次XIP读取;
仲裁模块判断下一次XIP读操作传输过来的地址是否为当前数据匹配的地址,如果当前数据和地址匹配,则将读数据fifo中对应数据返回;
如果数据和地址不匹配,则进入XIP地址跳转状态,将当前的数据丢弃,并判断读数据fifo中下一个预取数据是否匹配当前地址,如果不能匹配,则将非匹配的数据丢弃,直到读取到与当前地址匹配的数据为止;如果传输地址超出预取地址判断范围,则用传输过来的地址重新对FLASH进行数据读取;
如果仲裁模块判断配置不是对FLASH的XIP写操作,则保持为XIP模式空闲状态;
模式M6:当寄存器配置为FLASH XIP模式时,仲裁模块进入XIP模式空闲状态,如果仲裁模块判断配置为对FLASH的XIP写操作,则发出XIP写操作的主动握手信号,然后进入XIP写状态,期间系统将数据存入写数据fifo中,等待主控模块将地址对应的数据写入并收到握手返回信号后进入XIP握手从状态;
如果仲裁模块判断配置不是对FLASH的XIP写操作,则保持为XIP模式空闲状态;
所述控制方法还包括主控模块控制方式,所述主控模块控制方式包括以下两种:主控模块收到仲裁模块的主动握手信号后,主控模块从空闲状态进入握手从状态1,并返回给仲裁模块握手响应信号结束握手过程;
主控模块向仲裁模块发起主动握手请求,从片选高状态进入握手主状态,仲裁模块收到握手请求后,发出握手响应信号,主控模块接收到握手响应并结束握手过程。
5.如权利要求4所述控制方法,其特征在于:所述主控模块结束握手过程后,后续控制方式还包括以下方式:
主控控制方式1:握手过程完成数据同步后,FLASH器件开始工作;
主控控制方式2:根据传输配置将命令数据信息转化为命令周期发送的SPI时序接口信号;
主控控制方式3:根据传输配置将地址数据信息转化地址周期发送的SPI时序接口信号;
主控控制方式4:根据传输配置将扩充字节数据信息转化扩充字节周期发送的SPI时序接口信号;
主控控制方式5:根据传输配置将虚位数据信息转化虚位周期发送的SPI时序接口信号;
主控控制方式6:根据传输配置将读取数据信息转化读数据状态发送的SPI时序接口信号;
主控控制方式7:根据传输配置将写入数据信息转化写数据状态发送的SPI时序接口信号;
主控控制方式8:在读数据状态中,如果主控模块从FLASH器件接收的缓存数据触发预先配置的fifo写满阈值,表示继续缓存数据将会导致数据部分丢失;主控模块会进入等待FIFO就绪状态,FIFO缓存数据就绪后,继续发送新的SPI指令;
主控控制方式9:主控模块进入等待FIFO就绪状态后,如有新的配置传输请求,则进入握手从状态2同步新的数据,并清空fifo中的无效数据;
主控控制方式10:当完成数据的传输后, FLASH器件停止工作,结束对FLASH的操作;
主控控制方式11:主控模块完成握手后进入到空闲状态等待新的指令操作。
6.如权利要求4所述控制方法,其特征在于:所述仲裁模块工作模式还包括以下3种:
模式M1:当寄存器配置为FLASH普通配置模式时,仲裁模块进入通用配置模式空闲状态,然后发出主动握手信号,等待主控模块发送完配置的数据,并收到握手返回信号后进入通用握手从状态;
模式M2:当寄存器配置为FLASH普通数据模式时,先进入通用数据模式空闲状态,如果仲裁模块判断配置为对FLASH的读操作,则发出读操作的主动握手信号,然后进入通用读状态,等待系统将要读的数据从读数据fifo读到数据接口总线;
等待主控模块将FLASH中数据读完,并收到握手返回信号后进入通用握手从状态;如果仲裁模块判断配置不是对FLASH的通用读操作,则保持为通用数据模式空闲状态;
模式M3:当寄存器配置为FLASH普通数据模式时,先进入通用数据模式空闲状态,如果仲裁模块判断配置为对FLASH的写操作,则发出写操作的主动握手信号,然后进入通用写状态,等待数据存入写数据fifo中;
等待主控模块将数据写完,并收到握手返回信号后进入通用握手从状态;如果仲裁模块判断配置不是对FLASH的通用写操作,则保持为通用数据模式空闲状态。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210328975.1A CN114490460B (zh) | 2022-03-31 | 2022-03-31 | 一种用于asic的flash控制器及其控制方法 |
US18/181,198 US11768607B1 (en) | 2022-03-31 | 2023-03-09 | Flash controller for ASIC and control method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210328975.1A CN114490460B (zh) | 2022-03-31 | 2022-03-31 | 一种用于asic的flash控制器及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114490460A CN114490460A (zh) | 2022-05-13 |
CN114490460B true CN114490460B (zh) | 2022-06-28 |
Family
ID=81488931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210328975.1A Active CN114490460B (zh) | 2022-03-31 | 2022-03-31 | 一种用于asic的flash控制器及其控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11768607B1 (zh) |
CN (1) | CN114490460B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858431B (zh) * | 2023-02-21 | 2023-05-30 | 北京国科环宇科技股份有限公司 | 数据传输控制方法、控制器及电子设备 |
CN116661695B (zh) * | 2023-06-02 | 2024-03-15 | 灵动微电子(苏州)有限公司 | 一种总线加速方法和装置 |
CN117171070B (zh) * | 2023-11-03 | 2024-03-26 | 太初(无锡)电子科技有限公司 | 一种基于axi接口的交叉存取系统 |
CN117472668B (zh) * | 2023-11-07 | 2024-06-11 | 合芯科技有限公司 | 存储控制器的测试方法及测试平台 |
CN117573609B (zh) * | 2024-01-16 | 2024-05-03 | 宁波中控微电子有限公司 | 一种具有冗余功能的片上系统及其控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
CN106874224A (zh) * | 2017-02-17 | 2017-06-20 | 杭州朔天科技有限公司 | 自动搬运且适应器件的多线SPI‑Flash控制器 |
CN108052750A (zh) * | 2017-12-19 | 2018-05-18 | 郑州云海信息技术有限公司 | 基于fpga的spi flash控制器及其设计方法 |
CN111931442A (zh) * | 2020-09-24 | 2020-11-13 | 广东高云半导体科技股份有限公司 | Fpga内嵌flash控制器及电子装置 |
CN112463651A (zh) * | 2020-12-07 | 2021-03-09 | 长沙景嘉微电子股份有限公司 | Qspi控制器,图像处理器及闪存访问方法 |
CN113032300A (zh) * | 2021-03-23 | 2021-06-25 | 安谋科技(中国)有限公司 | 数据的传输控制方法 |
CN113220498A (zh) * | 2021-05-08 | 2021-08-06 | 青芯半导体科技(上海)有限公司 | 一种支持加密存储的嵌入式Flash控制器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569118B2 (en) * | 2014-12-30 | 2017-02-14 | International Business Machines Corporation | Promoting consistent response times in a data storage system having multiple data retrieval mechanisms |
CN109669888A (zh) | 2018-11-06 | 2019-04-23 | 电子科技大学 | 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法 |
US11061670B2 (en) * | 2019-03-05 | 2021-07-13 | Marvell Asia Pte, Ltd. | Dual-interface flash memory controller with execute-in-place cache control |
US11050427B1 (en) * | 2020-09-23 | 2021-06-29 | Silicon Motion, Inc. | Fractional frequency divider and flash memory controller |
JP2022094033A (ja) * | 2020-12-14 | 2022-06-24 | キオクシア株式会社 | メモリシステム |
-
2022
- 2022-03-31 CN CN202210328975.1A patent/CN114490460B/zh active Active
-
2023
- 2023-03-09 US US18/181,198 patent/US11768607B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102231142A (zh) * | 2011-07-21 | 2011-11-02 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
CN106874224A (zh) * | 2017-02-17 | 2017-06-20 | 杭州朔天科技有限公司 | 自动搬运且适应器件的多线SPI‑Flash控制器 |
CN108052750A (zh) * | 2017-12-19 | 2018-05-18 | 郑州云海信息技术有限公司 | 基于fpga的spi flash控制器及其设计方法 |
CN111931442A (zh) * | 2020-09-24 | 2020-11-13 | 广东高云半导体科技股份有限公司 | Fpga内嵌flash控制器及电子装置 |
CN112463651A (zh) * | 2020-12-07 | 2021-03-09 | 长沙景嘉微电子股份有限公司 | Qspi控制器,图像处理器及闪存访问方法 |
CN113032300A (zh) * | 2021-03-23 | 2021-06-25 | 安谋科技(中国)有限公司 | 数据的传输控制方法 |
CN113220498A (zh) * | 2021-05-08 | 2021-08-06 | 青芯半导体科技(上海)有限公司 | 一种支持加密存储的嵌入式Flash控制器 |
Non-Patent Citations (1)
Title |
---|
一种兼容AHB总线的Nor Flash控制器IP设计;田鹏 等;《微电子学与计算机》;20130605;88-91,96 * |
Also Published As
Publication number | Publication date |
---|---|
US11768607B1 (en) | 2023-09-26 |
CN114490460A (zh) | 2022-05-13 |
US20230315298A1 (en) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114490460B (zh) | 一种用于asic的flash控制器及其控制方法 | |
US7096296B2 (en) | Supercharge message exchanger | |
US8266369B2 (en) | Flash memory interface | |
KR100913279B1 (ko) | 버스를 통해 메모리 프리패치 명령들을 전송하기 위한 방법 및 장치 | |
US6002882A (en) | Bidirectional communication port for digital signal processor | |
US20040054864A1 (en) | Memory controller | |
CN111143264B (zh) | 实现同步模式的apb桥、实现异步模式的apb桥及其控制方法 | |
JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
GB2430053A (en) | Accessing external memory from an system on a chip integrated circuit | |
CN101162448A (zh) | 一种usb高速数据隧道的硬件传输方法 | |
EP2207101A1 (en) | Method and device for parallel interfacing | |
CN111563059A (zh) | 一种基于PCIe的多FPGA动态配置装置及方法 | |
JP2003228549A (ja) | バスブリッジ回路のアクセス制御方法及び装置 | |
US6954869B2 (en) | Methods and apparatus for clock domain conversion in digital processing systems | |
CN113760792A (zh) | 基于fpga的图像存取的axi4总线控制电路及其数据传输方法 | |
CN100343778C (zh) | 数据传送方法和数据传送桥接器 | |
CN110008162B (zh) | 一种缓冲接口电路及基于该电路传输数据的方法和应用 | |
CN115328832B (zh) | 一种基于pcie dma的数据调度系统与方法 | |
WO2008023219A1 (en) | Pipelined device and a method for executing transactions in a pipelined device | |
CN108228517A (zh) | I3c电路设备、系统及通信方法 | |
US9367495B1 (en) | High speed integrated circuit interface | |
US7330991B2 (en) | Method and/or apparatus for paging to a dynamic memory array | |
KR100266963B1 (ko) | 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 | |
US20040064662A1 (en) | Methods and apparatus for bus control in digital signal processors | |
CN117312210B (zh) | 一种通用扩展risc-v处理器性能的方法 |
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 |