CN107622027A - 一种多合一Flash控制器及制卡方法 - Google Patents
一种多合一Flash控制器及制卡方法 Download PDFInfo
- Publication number
- CN107622027A CN107622027A CN201710854265.1A CN201710854265A CN107622027A CN 107622027 A CN107622027 A CN 107622027A CN 201710854265 A CN201710854265 A CN 201710854265A CN 107622027 A CN107622027 A CN 107622027A
- Authority
- CN
- China
- Prior art keywords
- module
- flash
- flash memory
- controller
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种多合一Flash控制器及制卡方法,控制器包括控制模式选择引脚、SPI/SD/EMMC总线协议解析模块、微处理器模块、数据缓存模块、闪存管理控制模块以及芯片的模拟模块;总线协议解析模块与微处理器、模拟模块以及数据缓存模块连接,总线协议解析模块外部设有控制模式选择引脚,控制模式选择引脚连接控制器内部的选择器电路,启动对应控制模式;总线协议解析模块对数据进行解析,并通知微处理器模块进行分析,内置软件针对不同的命令控制闪存管理模块进行相应的控制。该控制器将三种专用芯片功能集成到一颗芯片上,加速了芯片开发进度,有效降低了芯片设计成本和流片成本。
Description
技术领域
本发明属于集成电路芯片设计领域,特别涉及一种多合一Flash控制器及其制卡方法。
背景技术
目前有专用SPI Flash控制器芯片、SD Flash控制器芯片、eMMC Flash控制器芯片,基于不同的应用场景来选用不同接口类型的控制器芯片。不同接口的 Flash控制芯片只有接口协议部分不同,内部Flash控制管理部分的设计都是相同的。随着Flash容量和性能的不断提高,对Flash管理控制越来越复杂。导致控制器芯片的开发难度越来越大,工艺要求越来越高,随之而来的控制器整个开发成本很高。
发明内容
本发明的目的是提供一种将SPI、SD、eMMC三种总线协议整合在一颗芯片内部的方案。实现有效共享芯片内部设计资源,在不大幅增大Flash控制芯片面积的前提下,将三种专用芯片功能集成到一颗芯片上,加速了芯片开发进度,有效降低了芯片设计成本和流片成本。
本发明提供的一种多合一Flash控制器,所述控制器包括控制模式选择引脚、总线接口模块、微处理器模块、数据缓存模块、闪存管理控制模块;
所述总线协议解析模块与微处理器、模拟模块以及数据缓存模块连接,所述总线协议解析模块外部连接有控制模式选择引脚,所述控制模式选择引脚连接控制器内部的选择器电路,启动对应控制模式;
所述总线协议解析模块对数据进行解析,并通知微处理器模块进行分析,内置软件针对不同的命令控制闪存管理模块进行相应的控制。
所述总线协议解析模块用于解析SPI、SD、EMMC三种闪存各自对应的接口协议,所述控制模式选择引脚针对SPI、SD、EMMC三种闪存设置触发信号。
所述为处理器模块包含只读存储器和存取存储器,所述只读存储器用于存放引导程序和数据,所述存取存储器用于存储变量。
所述数据缓存模块用于存放不同型号闪存上传或下载的数据信息。
该控制器还包括程序SRAM模块,所述程序SRAM模块用于存放所述控制器对每个型号芯片的对应的控制指令、接口协议。
针对上述控制器本发明还提供一种多合一Flash控制器的制卡方法,对控制器上电,从闪存管理控制模块读取软件列表;然后从所述闪存管理控制模块将程序下载在程序SRAM上对程序进行烧制;
所述烧制过程首先通过引导程序启动到某一型号芯片模式,读取闪存管理控制模块中闪存的ID,确认闪存型号;
再将控制程序下传到闪存中;
分别针对各型号芯片进行控制程序烧制。
该方法利用Snopsys公司的design compiler工具对所述控制程序进行烧制。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
我们针对控制器芯片内部各模块利用Snopsys公司的design compiler工具,基于中芯国际SMIC 110nm的工艺库进行综合,得到各模块的面积报告。从结果来看:SD/MMC,SPI协议解析模块所占的总面积为3.6%。其他共用模块所占面积超过96%。充分说明三合一模式对于芯片面积的影响很小,也就是三合一控制器芯片相比单一芯片成本增加非常有限。但用一次芯片生产成本得到三颗不同的芯片,这样大大降低了芯片生产成本。
附图说明
图1为本发明中微处理器模块示意图;
图2为本发明中Flash管理控制模块示意图;
图3为本发明内部结构示意图;
图4、图5为制卡程序流程;
图6为芯片上电工作;
图7为SPI模式结构框图;
图8为SD模式结构框图;
图9为eMMC模式结构框图;
图10为SPI模式数据写入流程示意图;
图11为SD/eMMC模式情形1数据写入流程示意图;
图12为SD/eMMC模式情形2数据写入流程示意图。
具体实施方式
本发明的实施提供一种SPI/SD/EMMC三合一Flash控制器,为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
如图1、图2、图3所示,本发明提供的SPI/SD/EMMC三合一Flash控制器在结构上,具体为:
本发明提供的一种多合一Flash控制器,所述控制器包括控制模式选择引脚、总线接口模块、微处理器模块、数据缓存模块、闪存管理控制模块;
所述总线协议解析模块与微处理器、模拟模块以及数据缓存模块连接,所述总线协议解析模块外部连接有控制模式选择引脚,所述控制模式选择引脚连接控制器内部的选择器电路,启动对应控制模式;
所述总线协议解析模块对数据进行解析,并通知微处理器模块进行分析,内置软件针对不同的命令控制闪存管理模块进行相应的控制。
如图7、图8、图9所示,所述总线协议解析模块用于解析SPI、SD、EMMC 三种闪存各自对应的接口协议,所述控制模式选择引脚针对SPI、SD、EMMC 三种闪存设置触发信号。
所述为处理器模块包含只读存储器和存取存储器,所述只读存储器用于存放引导程序和数据,所述存取存储器用于存储变量。
所述数据缓存模块用于存放不同型号闪存上传或下载的数据信息。
该控制器还包括程序SRAM模块,所述程序SRAM模块用于存放所述控制器对每个型号芯片的对应的控制指令、接口协议。
根据模式选择信号mode_sel0,mode_sel1确定工作模式,启动相对应的接口模块(SPI/SD/eMMC),接口总线IF_Data_bus的数据会进入接口模块和数据缓存模块。接口模块进行相对应接口协议的解析,根据解析结果,如果是写入操作在 MCU模块软件的控制下把数据缓存器中的数据写入Flash闪存中。如果是读出操作,由MCU模块把数据从Flash闪存读出并写到数据缓存模块,然后启动接口模块将数据按照所选择接口协议规格送到接口总线IF_Data_bus。
针对上述控制器本发明还提供一种多合一Flash控制器的制卡方法,对控制器上电,从闪存管理控制模块读取软件列表;然后从所述闪存管理控制模块将程序下载在程序SRAM上对程序进行烧制;
所述烧制过程首先通过引导程序启动到某一型号芯片模式,读取闪存管理控制模块中闪存的ID,确认闪存型号;
再将控制程序下传到闪存中;
分别针对各型号芯片进行控制程序烧制。
该方法利用Snopsys公司的design compiler工具对所述控制程序进行烧制。
软件模式切换实现
控制芯片和Flash电路生产后,需要针对不同的flash型号写入不同的程序,这个过程称为制卡。我们采用在制卡阶段写入对应接口模式的软件的方式,而没有采用一个软件集成三总线功能的方式。这样可以减少了芯片内部软件存储模块的容量,有效利用了芯片空间,降低芯片成本。控制模块(控制器+Flash)在出厂时由制卡软件写入相对应模式的软件代码。为实现此种方式,我们在芯片内部内置SRAM,上电后可以通过ROM程序自动读取Flash中的软件代码,并载入到SRAM中。软件流程如图4、图5、图6所示。
控制器总体结构上划分为总线协议解析模块、微处理器模块和Flash管理控制模块。
1)芯片内部MCU,ROM,iRAM为微处理器模块,内置软件程序。由三种模式可以共享。,如图1所示。
2)Program0SRAM,Promgram1SRAM,SRAM Mapping Table,Flash XC, ECC,ChanelCtrl等Flash管理控制模块由三种模式可以共享。(如图2所示)
3)增加两个芯片管脚Mode_sel0,mode_sel1来选择工作模式。
4)控制器芯片内部结构如图3所示。内部模块分为SPI/SD/eMMC总线协议解析模块(Protocol interpreter),微处理器模块,数据缓存模块,Flash管理控制模块以及芯片必要的Analog模块。
5)闪存的特性是以页为单位写入数据,通用的闪存页的大小是2k字节,4k 字节,8k字节。主机对于不同总线模式的操作方式不同,SPI接口定义主机端以页(page)为单位对控制器进行读写操作,SD/eMMC接口定义主机端以512字节为单位进行读写操作。为了实现内部硬件资源共享,首先在软件结构上需要针对不同模式设计相应的处理流程。
图10至图12分别为各种闪存写入数据的流程示意图,以2k bytes page写入为例子。为了共享内部数据缓存资源。
SPI接口数据写入过程,SPI模式因为是以页为单位进行读写操作。需要一页字节的数据缓冲空间,为了不增加额外的ram,硬件设计上把SD/eMMC模式下用于copy-back功能的16k SRAM,用于SPI模式下的数据缓存0和数据缓存 1。写入流程如图10。
同样以一页2k字节为例子,SD/eMMC接口定义主机以512字节为单位写入,所以SD/eMMC需要增加一个数据处理模块,将数据凑齐2k字节才能写入闪存。此处分两种情形,情形1:主机下发的数据,正好满2k字节,软件只要把这2k数据写入页数据缓存,然后写入flash即可,如图11。
情形2:主机下发的数据不足2k字节,就停止了传输,此时软件需要从Flash 读取要写入页的数据,并复制不足的部分数据到页数据缓存,把一页凑齐然后写入flash。
采用软件实现控制器内各闪存的数据共享功能还有很多种,就不一一列举了。采用本发明所提供的三合一flash控制器能够有效利用控制器的各功能模块,节约控制器成本。
如图4至图6所示,控制器设计方法为:
1)控制器工作模式设定:通过外置管脚设定。
2)设定工作模式后,内部由选择器电路启动相应的总线协议解析模块。
3)同时微处理器模块也切换到相应总线协议处理模式。
4)总线协议解析模块对数据进行解析,并通知微处理器模块进行分析,内置软件针对不同的命令控制闪存管理模块进行相应的处理。
本实施例针对控制器芯片内部各模块利用Snopsys公司的design compiler工具,基于中芯国际SMIC 110nm的工艺库进行综合,得到各模块的面积报告。从结果(表1)来看:SD/MMC,SPI协议解析模块所占的总面积为3.6%。其他共用模块所占面积超过96%。充分说明三合一模式对于芯片面积的影响很小,也就是三合一控制器芯片相比单一芯片成本增加非常有限。但用一次芯片生产成本得到三颗不同的芯片,这样大大降低了芯片生产成本。
表1
本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。
Claims (7)
1.一种多合一Flash控制器,其特征在于,所述控制器包括控制模式选择引脚、总线接口模块、微处理器模块、数据缓存模块、闪存管理控制模块;
所述总线协议解析模块与微处理器、模拟模块以及数据缓存模块连接,所述总线协议解析模块外部连接有控制模式选择引脚,所述控制模式选择引脚连接控制器内部的选择器电路,启动对应控制模式;
所述总线协议解析模块对数据进行解析,并通知微处理器模块进行分析,内置软件针对不同的命令控制闪存管理模块进行相应的控制。
2.根据权利要求1所述的一种多合一Flash控制器,其特征在于,所述总线协议解析模块用于解析SPI、SD、EMMC三种闪存各自对应的接口协议,所述控制模式选择引脚针对SPI、SD、EMMC三种闪存设置触发信号。
3.根据权利要求1所述的一种多合一Flash控制器,其特征在于,所述为处理器模块包含只读存储器和存取存储器,所述只读存储器用于存放引导程序和数据,所述存取存储器用于存储变量。
4.根据权利要求1所述的一种多合一Flash控制器,其特征在于,所述数据缓存模块用于存放不同型号闪存上传或下载的数据信息。
5.根据权利要求1至4任一项所述的一种多合一Flash控制器,其特征在于,该控制器还包括程序SRAM模块,所述程序SRAM模块用于存放所述控制器对每个型号芯片的对应的控制指令、接口协议。
6.一种多合一Flash控制器的制卡方法,其特征在于,对控制器上电,从闪存管理控制模块读取软件列表;然后从所述闪存管理控制模块将程序下载在程序SRAM上对程序进行烧制;所述烧制过程首先通过引导程序启动到某一型号芯片模式,读取闪存管理控制模块中闪存的ID,确认闪存型号;
再将控制程序下传到闪存中;
分别针对各型号芯片进行控制程序烧制。
7.根据权利要求6所述的一种多合一Flash控制器的制卡方法,其特征在于,该方法利用Snopsys公司的design compiler工具对所述控制程序进行烧制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710854265.1A CN107622027A (zh) | 2017-09-20 | 2017-09-20 | 一种多合一Flash控制器及制卡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710854265.1A CN107622027A (zh) | 2017-09-20 | 2017-09-20 | 一种多合一Flash控制器及制卡方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107622027A true CN107622027A (zh) | 2018-01-23 |
Family
ID=61090099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710854265.1A Pending CN107622027A (zh) | 2017-09-20 | 2017-09-20 | 一种多合一Flash控制器及制卡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107622027A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287671A (zh) * | 2018-04-10 | 2018-07-17 | 南京扬贺扬微电子科技有限公司 | 一种具有boot功能的SD卡及其制卡方法 |
CN111817924A (zh) * | 2020-09-01 | 2020-10-23 | 深圳芯邦科技股份有限公司 | 一种测试方法及相关设备 |
CN112395218A (zh) * | 2020-10-29 | 2021-02-23 | 南京扬贺扬微电子科技有限公司 | 具有DDR高传输介面的新型SPI-NAND Flash存储芯片及操作方法 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184724A1 (en) * | 2005-02-11 | 2006-08-17 | M-Systems Flash Disk Pioneers, Ltd. | NAND flash memory system architecture |
CN101004798A (zh) * | 2006-12-30 | 2007-07-25 | 凤凰微电子(中国)有限公司 | 支持高性能计算、大容量存储、高速传输和新型应用的智能卡 |
CN101527161A (zh) * | 2009-04-23 | 2009-09-09 | 浙江正原电气股份有限公司 | 一种快速烧写NAND flash的方法和装置 |
CN101814058A (zh) * | 2010-03-17 | 2010-08-25 | 苏州国芯科技有限公司 | 通用存储装置 |
CN205670293U (zh) * | 2016-05-25 | 2016-11-02 | 北京润科通用技术有限公司 | 一种数据存储系统 |
CN106569839A (zh) * | 2015-10-08 | 2017-04-19 | 华为技术有限公司 | 电路板及其固件烧录方法 |
-
2017
- 2017-09-20 CN CN201710854265.1A patent/CN107622027A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184724A1 (en) * | 2005-02-11 | 2006-08-17 | M-Systems Flash Disk Pioneers, Ltd. | NAND flash memory system architecture |
CN101004798A (zh) * | 2006-12-30 | 2007-07-25 | 凤凰微电子(中国)有限公司 | 支持高性能计算、大容量存储、高速传输和新型应用的智能卡 |
CN101527161A (zh) * | 2009-04-23 | 2009-09-09 | 浙江正原电气股份有限公司 | 一种快速烧写NAND flash的方法和装置 |
CN101814058A (zh) * | 2010-03-17 | 2010-08-25 | 苏州国芯科技有限公司 | 通用存储装置 |
CN106569839A (zh) * | 2015-10-08 | 2017-04-19 | 华为技术有限公司 | 电路板及其固件烧录方法 |
CN205670293U (zh) * | 2016-05-25 | 2016-11-02 | 北京润科通用技术有限公司 | 一种数据存储系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108287671A (zh) * | 2018-04-10 | 2018-07-17 | 南京扬贺扬微电子科技有限公司 | 一种具有boot功能的SD卡及其制卡方法 |
CN111817924A (zh) * | 2020-09-01 | 2020-10-23 | 深圳芯邦科技股份有限公司 | 一种测试方法及相关设备 |
CN112395218A (zh) * | 2020-10-29 | 2021-02-23 | 南京扬贺扬微电子科技有限公司 | 具有DDR高传输介面的新型SPI-NAND Flash存储芯片及操作方法 |
CN112395218B (zh) * | 2020-10-29 | 2024-04-09 | 南京扬贺扬微电子科技有限公司 | 具有DDR高传输介面的SPI-NAND Flash存储芯片及操作方法 |
CN114816571A (zh) * | 2022-04-15 | 2022-07-29 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
CN114816571B (zh) * | 2022-04-15 | 2023-06-16 | 西安广和通无线通信有限公司 | 外挂闪存的方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107622027A (zh) | 一种多合一Flash控制器及制卡方法 | |
CN107977217B (zh) | 在线加载xilinx-fpga多版本更新程序的方法 | |
US10296217B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US7856546B2 (en) | Configurable processor module accelerator using a programmable logic device | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
EP4009184A1 (en) | Network-on-chip data processing method and device | |
CN106707848A (zh) | 一种控制系统的控制程序组织结构和下载方法 | |
CN107832078B (zh) | 基于dsp的fpga程序在线更新电路 | |
CN106843955A (zh) | 基于文件压缩及非接触式的fpga动态配置方法 | |
CN102736938A (zh) | Fpga配置程序的烧写方法 | |
CN101334758A (zh) | 用于嵌入式系统扩展存储空间的装置和方法 | |
CN105446920A (zh) | 基于龙芯的fpga嵌入式计算机及其配置方法 | |
CN102253844B (zh) | 一种启动处理器的方法和设备 | |
CN104461660A (zh) | 一种异构系统的多模式动态加载方法 | |
CN108153536B (zh) | 一种动态调整ram空间的dsp在线升级方法 | |
CN103678187A (zh) | 一种微控制单元及其控制方法 | |
US20200133649A1 (en) | Processor controlled programmable logic device modification | |
CN201708785U (zh) | 一种实现fpga实时动态配置的系统 | |
CN104714792A (zh) | 多进程共享数据处理方法和装置 | |
CN101788946B (zh) | Cpld上连接有e2prom设备的固件烧结方法及装置 | |
CN203250312U (zh) | 一种接口形式可扩展的通用核心处理子板 | |
CN108399076A (zh) | 一种基于uefi的固件更新方法与装置 | |
CN109656838A (zh) | 处理器系统及其存储器控制方法 | |
WO2020113421A1 (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN106571156B (zh) | 一种高速读写ram的接口电路及方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180123 |
|
RJ01 | Rejection of invention patent application after publication |