CN210639608U - 一种ospi控制装置 - Google Patents
一种ospi控制装置 Download PDFInfo
- Publication number
- CN210639608U CN210639608U CN201922422274.0U CN201922422274U CN210639608U CN 210639608 U CN210639608 U CN 210639608U CN 201922422274 U CN201922422274 U CN 201922422274U CN 210639608 U CN210639608 U CN 210639608U
- Authority
- CN
- China
- Prior art keywords
- ospi
- interface
- data
- xip
- memory
- 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
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本实用新型公开了一种OSPI控制装置,包括中央处理器通过总线与OSPI控制器的XIP接口连接,OSPI控制器通过XIP接口与高速缓冲存储器cache连接;所述OSPI控制器的XIP接口与FIFO存储器连接,FIFO存储器通过OSPI接口与外部存储器连接;所述中央处理器的读数据命令经由总线通过XIP接口发送至高速缓冲存储器cache中;所述XIP接口通过总线接收中央处理器的写数据命令和被写入数据,将写数据命令通过OSPI接口发送至外部存储器;将被写入数据发送至FIFO存储器中,FIFO存储器将接收的被写入数据通过OSPI接口发送至外部存储器。在XIP接口通路中增加高速缓冲存储器cache,通过XIP接口与高速缓冲存储器cache和FIFO存储器的连接,实现在XIP接口通路进行读数据和写操作。
Description
技术领域
本实用新型涉及控制器存储和读取技术领域,特别是涉及一种OSPI控制装置。
背景技术
本部分的陈述仅仅是提供了与本实用新型相关的背景技术信息,不必然构成在先技术。
随着科技的不断进步,各种新兴市场(如人工智能,物联网和智能家居等)的不断发展,对于各种芯片功能的要求越来越高,随之而来对于芯片上数据的传输速度和存储容量的要求也不断增加,而芯片内部的存储单元的成本很高,这就要求发展片外存储单元,片外存储单元容量不断提升的同时,与芯片之间数据的传输速度也需要不断提高。
Octal SPI(八线SPI),即OSPI,是在摩托罗拉公司推出的SPI(串行外设接口)的基础上逐渐扩展起来的,由SPI到双线,四线到目前的八线SPI,传统的OSPI控制器主要存在两个缺点:
一是OSPI控制器与系统总线之间的数据传输速度远超过OSPI控制器与外部存储单元之间的数据传输速度,因为系统总线的始终频率一般在200MHz以上,数据线的位宽为32位或64位,而OSPI总线的始终频率一般在100MHz~200MHz,数据线位宽最多为8位;
二是XIP接口通路只能进行读数据操作,不能进行写操作,当需要进行写操作时需要从XIP接口切换到系统从接口进行数据的写入,极大的影响了传输的实时性和OSPI的工作效率。
实用新型内容
为了解决上述问题,本实用新型提出了一种OSPI控制装置,在XIP接口通路中增加高速缓冲存储器cache,通过XIP接口与高速缓冲存储器cache和FIFO存储器的连接,实现在XIP接口通路进行读数据和写操作。
为了实现上述目的,本实用新型采用如下技术方案:
第一方面,本实用新型提供一种OSPI控制装置,包括:中央处理器、OSPI控制器、高速缓冲存储器cache、FIFO存储器和外部存储器;
所述中央处理器通过总线与OSPI控制器的XIP接口连接,OSPI控制器通过XIP接口与高速缓冲存储器cache连接;
所述OSPI控制器的XIP接口与FIFO存储器连接,FIFO存储器通过OSPI接口与外部存储器连接;
所述中央处理器的读数据命令经由总线通过XIP接口发送至高速缓冲存储器cache中;
所述XIP接口通过总线接收中央处理器的写数据命令和被写入数据,将写数据命令通过OSPI接口发送至外部存储器;将被写入数据发送至FIFO存储器中,FIFO存储器将接收的被写入数据通过OSPI接口发送至外部存储器。
作为可能的一些实现方式,所述XIP接口通过总线接收中央处理器的读数据命令,将读数据命令通过OSPI接口发送至外部存储单元;
外部存储单元将目标数据通过OSPI接口发送到FIFO存储器中。
作为可能的一些实现方式,所述OSPI接口将写数据命令发送至外部存储器,还包括OSPI接口接收数据擦除命令发送至外部存储器。
作为可能的一些实现方式,所述外部存储器包括Flash存储器和Psram存储器。
与现有技术相比,本实用新型的有益效果为:
本实用新型可应用于有直接寻址通路的外部存储单元的主控制器中,通过在直接寻址通路中增加高速缓冲存储器cache,减少了直接寻址通路中数据读取的速度和效率;
本实用新型XIP接口支持数据的写入,避免了数据读写过程中直接命令通路和系统接口通路之间的切换;
本实用新型完整的OSPI控制器的实现架构,对于Flash和Psram等外部存储单元的主控制器的设计实现具有很好的指导借鉴意义。
附图说明
构成本实用新型的一部分的说明书附图用来提供对本实用新型的进一步理解,本实用新型的示意性实施例及其说明用于解释本实用新型,并不构成对本实用新型的不当限定。
图1为OSPI控制系统框图;
图2为传统OSPI控制器模块框图;
图3为本实用新型OSPI控制器结构框图;
图4为XIP通路结构框图;
图5为XIP通路数据读取流程;
图6为XIP通路数据写入流程。
具体实施方式:
下面结合附图与实施例对本实用新型做进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本实用新型提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本实用新型所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本实用新型的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,OSPI控制器是芯片系统与外部存储单元通过OSPI总线协议进行数据传输的控制模块。当芯片系统需要将数据发送到外部存储单元时,CPU或其他可以主动发出命令的模块(后面简称主模块)先通过系统总线,如AXI或AHB,将命令和数据发送给OSPI控制器;然后OSPI控制器将收到的来自芯片系统的命令和数据转化为符合OSPI协议的命令和数据,通过OSPI总线发送给外部存储单元。
当芯片系统需要从外部存储单元获取数据时,CPU或其他主模块先通过系统总线,如AXI或AHB,将命令发送给OSPI控制器;然后OSPI控制器将命令通过OSPI总线发送给外部存储单元,然后再通过OSPI总线接收来自外部存储单元的数据,最后再通知芯片系统将数据读走。
如图2所示,传统的OSPI控制器与系统总线(AXI或AHB,下面以AHB为例)之间一般有两个接口:一个系统从接口和一个XIP(eXecute-In-Place,直接寻址执行)接口。
系统从接口一般包括对OSPI控制器的相关控制寄存器的配置,以及与外部存储之间进行数据的读写,特别是大批量数据的读写都要通过系统从接口来进行。
XIP接口则是直接地址寻址,一般只进行读数据操作。因为当外部存储为Flash时,写之前需要先进行数据的擦除,而且写操作耗时比较久,不是通过XIP接口进行。
XIP接口的优点是直接进行地址寻址操作,如CPU通过AHB总线发送到OSPI控制器XIP接口的地址就是外部存储单元的地址(而发送给系统从接口的地址为OSPI控制器内部寄存器的地址),这样就不需要额外的驱动,CPU可以直接对外部存储单元进行数据的读取,此时的外部存储单元就相当于芯片内部存储单元的扩充,且多数情况下是用来存放CPU需要执行的指令操作系统。
上述的传统OSPI控制器主要存在两个缺点,一是OSPI控制器与系统总线之间的数据传输速度远超过OSPI控制器与外部存储单元之间的数据传输速度,因为系统总线的始终频率一般在200MHz以上,数据线的位宽为32位或64位,而OSPI总线的始终频率一般在100MHz~200MHz,数据线位宽最多为8位;
二是XIP接口通路只能进行读数据操作,不能进行写操作,当需要进行写操作时需要从XIP接口切换到系统从接口进行数据的写入,极大的影响了传输的实时性和OSPI的工作效率。
针对上述问题,本实用新型在XIP接口通路中增加cache(高速缓存)功能,cache的作用是将芯片系统通过XIP接口从外部存储单元中读取的数据进行存储,并记录数据对应的地址的关键部分,当芯片系统下一次从XIP接口读取相同地址的数据时,就不需要从外部存储单元中读取,可以直接将cache中的数据给到芯片系统,可以大大减少数据的读取时间;
同时增加自动写擦除控制模块,允许当外部存储单元为Flash时,可以通过XIP接口对外部存储单元进行数据的写入。通过以上改进,可以有效的提高数据的读取速度,同时避免了频繁的系统接口和XIP接口之间的切换,极大的提高了OSPI传输的实时性和工作效率。
实施例1
如图3所示,本实施例提供一种OSPI控制装置,包括:中央处理器、OSPI控制器、高速缓冲存储器cache、FIFO存储器和外部存储器;
所述中央处理器通过总线与OSPI控制器的XIP接口连接,OSPI控制器通过XIP接口与高速缓冲存储器cache连接;
所述OSPI控制器的XIP接口与FIFO存储器连接,FIFO存储器通过OSPI接口与外部存储器连接。
所述中央处理器的读数据命令经由总线通过XIP接口发送至高速缓冲存储器cache中。
所述XIP接口通过总线接收中央处理器的写数据命令和被写入数据,将写数据命令通过OSPI接口发送至外部存储器;将被写入数据发送至FIFO存储器中,FIFO存储器将接收的被写入数据通过OSPI接口发送至外部存储器。
所述XIP接口通过总线接收中央处理器的读数据命令,还包括将读数据命令通过OSPI接口发送至外部存储单元;外部存储单元将目标数据通过OSPI接口发送到FIFO存储器中。
所述OSPI接口将写数据命令发送至外部存储器,还包括OSPI接口接收数据擦除命令发送至外部存储器。所述外部存储器包括Flash存储器和Psram存储器。
本实施例中的中央处理器、OSPI控制器、高速缓冲存储器cache、FIFO存储器和外部存储器等器件均可采用常规的型号,例如中央处理器CPU的龙芯系列芯片等,Flash存储器采用型号为W25Q128芯片等。
实施例2
OSPI控制器同样包含系统从和XIP两个系统总线接口,对OSPI控制器相关寄存器进行配置和读取以及对外部存储单元中的相关寄存器的配置命令都是要从系统从接口进入,这一部分与传统OSPI控制器基本相同,这里不做详述。
对于XIP接口通路,本实施例提供一种OSPI读数据控制方法,包括:
CPU经过系统总线(以AHB为例)发送符合AHB协议的读数据命令,XIP接口接收到相应命令后进行解析,根据命令中的地址和数据长度,判断在cache中是否存储需要的数据,若有则直接将数据给回芯片系统;
若没有,则通过XIP命令控制模块产生相应的数据读命令,给到OSPI接口;
OSPI接口将接收到的命令转换为符合OSPI总线协议的命令发送给外部存储单元,并接收响应数据,将数据返回给芯片系统,同时存入cache。
如图4所示,cache(高速缓存)包括地址映射、替换控制、标记SRAM和数据SRAM。XIP接口通路中具体数据的读取流程如图5:
XIP接口接收到来自AHB总线的数据读取命令,将命令进行转换,然后将读写信号、地址、数据长度发送给地址映射模块;
地址映射模块根据接收到的地址的中间几位,来读取标记SRAM中的标记,然后将标记与地址的高几位进行比较;若相同则表示命中,命中后从数据SRAM中读取相应的数据,并返回给XIP接口;
若未命中,则通知XIP命令控制模块,XIP命令控制模块接到未命中的信息后会将从XIP接口接收的相关信息发送给OSPI接口,OSPI接口将读命令转换为符合OSPI协议的命令发送出去;
接收来自外部储存单元的数据,并将数据缓存到数据FIFO中;替换控制模块将数据从数据FIFO中读出,替换控制模块先将数据返回给XIP接口,XIP接口将数据返回给AHB总线;同时将标记SRAM中的标记替换掉,再将数据存入数据SRAM中。
实施例3
本实施例提供一种OSPI写数据控制方法,包括:
CPU经过系统总线(以AHB为例)发送符合AHB协议的写数据命令和需要写入的数据,XIP接口接收到相应命令后进行解析,并将数据存入数据FIFO中;
在将命令发送给OSPI接口之前,先判断外部存储模块是否为Flash,若是,则首先通过XIP命令控制模块产生数据擦除命令,并通过OSPI接口发送出去;
然后根据命令中的地址和数据长度,发送响应的写数据命令,并将数据FIFO中的数据给到OSPI接口,最后根据OSPI协议将命令和数据发送给外部存储单元。
如图6所示,XIP通路数据写入流程为:
XIP接口接收到来自AHB总线的数据写入命令和对应的数据,然后将命令进行转换,将读写信号、地址、数据长度发送给XIP命令控制模块,并将数据发送给XIP数据控制模块;
XIP命令控制模块根据OSPI控制寄存器给出的信息作出判断,若外部存储单元为Flash,则从OSPI寄存器中读取需要擦除的数据长度,并将擦除命令发送给OSPI接口,然后再将写数据命令发送给OSPI接口;
OSPI接口先以符合OSPI协议的形式将擦除命令发送给外部存储单元,然后从数据FIFO中读出从XIP数据控制模块写入的数据,最后将写命令和写数据发送给外部存储单元。
以上仅为本实用新型的优选实施例而已,并不用于限制本实用新型,对于本领域的技术人员来说,本实用新型可以有各种更改和变化。凡在本实用新型的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。
上述虽然结合附图对本实用新型的具体实施方式进行了描述,但并非对本实用新型保护范围的限制,所属领域技术人员应该明白,在本实用新型的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本实用新型的保护范围以内。
Claims (4)
1.一种OSPI控制装置,其特征在于,包括:中央处理器、OSPI控制器、高速缓冲存储器cache、FIFO存储器和外部存储器;
所述中央处理器通过总线与OSPI控制器的XIP接口连接,OSPI控制器通过XIP接口与高速缓冲存储器cache连接;
所述OSPI控制器的XIP接口与FIFO存储器连接,FIFO存储器通过OSPI接口与外部存储器连接;
所述中央处理器的读数据命令经由总线通过XIP接口发送至高速缓冲存储器cache中;
所述XIP接口通过总线接收中央处理器的写数据命令和被写入数据,将写数据命令通过OSPI接口发送至外部存储器;将被写入数据发送至FIFO存储器中,FIFO存储器将接收的被写入数据通过OSPI接口发送至外部存储器。
2.如权利要求1所述的一种OSPI控制装置,其特征在于,
所述XIP接口通过总线接收中央处理器的读数据命令,将读数据命令通过OSPI接口发送至外部存储单元;
外部存储单元将目标数据通过OSPI接口发送到FIFO存储器中。
3.如权利要求1所述的一种OSPI控制装置,其特征在于,
所述OSPI接口将写数据命令发送至外部存储器,还包括OSPI接口接收数据擦除命令发送至外部存储器。
4.如权利要求1所述的一种OSPI控制装置,其特征在于,
所述外部存储器包括Flash存储器和Psram存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201922422274.0U CN210639608U (zh) | 2019-12-26 | 2019-12-26 | 一种ospi控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201922422274.0U CN210639608U (zh) | 2019-12-26 | 2019-12-26 | 一种ospi控制装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN210639608U true CN210639608U (zh) | 2020-05-29 |
Family
ID=70795983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201922422274.0U Active CN210639608U (zh) | 2019-12-26 | 2019-12-26 | 一种ospi控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN210639608U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874337A (zh) * | 2019-12-26 | 2020-03-10 | 山东方寸微电子科技有限公司 | 一种ospi控制装置及方法 |
CN114385255A (zh) * | 2022-01-13 | 2022-04-22 | 深圳市捷诚技术服务有限公司 | Pos机的控制方法、系统、装置以及计算可读介质 |
-
2019
- 2019-12-26 CN CN201922422274.0U patent/CN210639608U/zh active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874337A (zh) * | 2019-12-26 | 2020-03-10 | 山东方寸微电子科技有限公司 | 一种ospi控制装置及方法 |
CN114385255A (zh) * | 2022-01-13 | 2022-04-22 | 深圳市捷诚技术服务有限公司 | Pos机的控制方法、系统、装置以及计算可读介质 |
CN114385255B (zh) * | 2022-01-13 | 2023-11-21 | 深圳市捷诚技术服务有限公司 | Pos机的控制方法、系统、装置以及计算可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE50067E1 (en) | Storage device including flash memory and capable of predicting storage device performance based on performance parameters | |
CN110874337A (zh) | 一种ospi控制装置及方法 | |
US6366977B1 (en) | Semiconductor storage device employing cluster unit data transfer scheme and data management method thereof | |
KR100673013B1 (ko) | 메모리 컨트롤러 및 그것을 포함한 데이터 처리 시스템 | |
US6434658B1 (en) | Memory device operable with a small-capacity buffer memory and having a flash memory | |
JP2000067574A (ja) | 半導体記憶装置 | |
US8244963B2 (en) | Method for giving read commands and reading data, and controller and storage system using the same | |
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 | |
CN105740163A (zh) | 一种Nand Flash坏块管理方法 | |
KR100794312B1 (ko) | 명령어 자동 처리 유니트를 포함한 메모리 컨트롤러 및그를 포함한 메모리 시스템 | |
CN210639608U (zh) | 一种ospi控制装置 | |
KR20090026941A (ko) | 복수개의 비휘발성 데이터 저장매체를 구비한 저장장치의가상 파일 시스템에서 어드레스 맵핑을 수행하는 방법 및그 장치 | |
CN102279712A (zh) | 一种适用于互联网存储系统的存储控制方法、系统和装置 | |
KR20070118533A (ko) | 불휘발성 메모리 | |
CN111782154A (zh) | 数据搬移方法、装置及系统 | |
US20020144066A1 (en) | Status register architecture for flexible read-while-write device | |
CN112256203B (zh) | Flash存储器的写入方法、装置、设备、介质及系统 | |
CN110765060B (zh) | Mdio总线到并行总线转换方法及装置、设备、介质 | |
CN116149554B (zh) | 一种基于risc-v及其扩展指令的数据存储处理系统及其方法 | |
KR100222908B1 (ko) | 플래시 메모리 시스템 | |
CN113806282A (zh) | 异构控制系统及异构控制系统的加载方法 | |
JP2000306389A (ja) | 不揮発性半導体メモリを用いた記憶装置 | |
CN115857805B (zh) | 人工智能可计算存储系统 | |
US20240028199A1 (en) | Memory system and memory control method | |
JP2000148583A (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |