CN112259142A - 用于自容式仪器的超低功耗的大容量数据存储方法 - Google Patents

用于自容式仪器的超低功耗的大容量数据存储方法 Download PDF

Info

Publication number
CN112259142A
CN112259142A CN202011187324.2A CN202011187324A CN112259142A CN 112259142 A CN112259142 A CN 112259142A CN 202011187324 A CN202011187324 A CN 202011187324A CN 112259142 A CN112259142 A CN 112259142A
Authority
CN
China
Prior art keywords
flash
data
emmc
register
emmc flash
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
Application number
CN202011187324.2A
Other languages
English (en)
Other versions
CN112259142B (zh
Inventor
曹平
江伟
黄锡汝
李超
安琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
An Qi
Cao Ping
Hefei Zhongke Caixiang Technology Co ltd
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202011187324.2A priority Critical patent/CN112259142B/zh
Publication of CN112259142A publication Critical patent/CN112259142A/zh
Application granted granted Critical
Publication of CN112259142B publication Critical patent/CN112259142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种数据存储方法,包括以下内容:自容式仪器上电后启动一次eMMC Flash初始化;作业过程中,待存储数据先缓存在低功耗SRAM中,此时eMMC Flash处于极低功耗睡眠模式;当SRAM接近满之后触发转运过程,此时唤醒eMMC Flash,数据从SRAM中转运到eMMC Flash,即SRAM向eMMC Flash发起一次单块写的写操作请求;转运完成后eMMC Flash再次进入睡眠模式;自容式仪器作业过程中不断执行上述SRAM和eMMC Flash组合存储的循环;当自容式仪器回收到地面后,将通过多块读的方式快速读出数据;所述方法中采用基于Flash架构的低功耗FPGA作为自容式仪器的控制中心;通过FPGA硬件逻辑实现存储控制。

Description

用于自容式仪器的超低功耗的大容量数据存储方法
技术领域
本发明涉及自容式仪器的数据存储技术领域,尤其涉及一种超低功耗的大容量数据存储方法。
背景技术
在一些自容式仪器应用场景中,自容式仪器由电池供电,需要长期独立工作,并且工作期间记录的大量数据都需要记录在自容式仪器本地,比如深海水温水深监测仪、海底节点地震勘探仪器、移动式数字地震仪、环境监测仪器等。
自容式仪器被投放到工作环境后往往需要长期工作数月,供电十分不便,只能依靠自身携带的电池供电,同时便携自容式仪器整体设计上往往有体积、机械尺寸等限制,因此能装配的电池的数量、体积也有限。故自容式仪器需要具有低功耗的特性才能保证自容式仪器可以长时间而不掉电。自容式仪器工作期间不与外界通讯,期间采集的数据量往往多达几十甚至上百GB,这些数据只能存储在本地,等到作业结束,自容式仪器回收后才将数据回读。
自容式仪器内部的电路往往比较复杂,需要控制数据采集、数据存储、数据传输、电路供电等各个模块元件的运行,此时简单的MCU微控制器不能胜任电路的控制中心的功能,通常使用FPGA或者SoC作为电路的控制中心。FPGA主要通过其可编程的特性定制出自容式仪器内部的控制电路,实现仪器内部各个元器件的协调工作,并具有数据处理,接口通讯等功能。SoC不仅具有FPGA可编程逻辑的功能,还支持软件的开发,灵活性更大。
自容式仪器工作期间需要存储的数据往往在几十GB到上百GB,要存储这些数据,SD卡和eMMC Flash是容量适合的存储芯片。SD卡和eMMC Flash都是将闪存控制器和NANDFlash封装在一起,两者协议兼容,SD卡是基于MMC协议发展起来的,只不过SD卡单独封装,而eMMC是BGA封装,更适合在PCB焊接且eMMC的读写速度更优一些。
常规的做法是用SoC芯片控制SD卡或者eMMC Flash芯片。使用SoC实现软硬件协同设计主要的考虑点是通过软件来控制SD卡或者eMMC Flash。SD卡或者eMMC Flash协议比较复杂,通常采用软件控制,相关的资料包括软件代码和驱动程序比较丰富,技术开发难度较低。
SoC控制SD卡或者eMMC Flash的常规方法有3个问题。第一个问题是自容式仪器源源不断的采集数据,而Flash一直工作在写入模式,功耗将会很大。自容式仪器在长达数月的工作期间源头数据率一般较低且平缓,如果Flash一直工作在写入模式以便及时写入这些数据的话Flash芯片功耗为几百毫瓦,具体数值和数据源速率有关,数据源速率越快,Flash的写入操作就越频繁,功耗越大。
第二个问题是为了方便地控制SD卡或者eMMC Flash使用SoC作为电路主控制器,这和使用FPGA相比带来了更大的功耗。如果只是控制电路其他元件的工作,FPGA就可以胜任。eMMC Flash控制比较复杂,使用SoC控制Flash会简化开发者的设计工作和降低设计难度,但这是以增加功耗为代价的。SoC的功耗往往是同等逻辑量FPGA的数倍。如果可以实现FPGA硬件逻辑直接控制eMMC Flash的技术,就可以减少电路主控制器带来的功耗。
第三个问题是常规的主控制器芯片FPGA和SoC主要都是基于SRAM工艺的,不具备低功耗的特性。FPGA和SoC两的大主流厂商Intel和Xilinx的产品占据了90%的市场,但是Intel和Xilinx的FPGA和SoC是基于SRAM架构的,不具备低功耗的特性。另一种非易失Flash架构的FPGA和SoC技术上显著特征是具有更低的功耗,适合追求超低功耗的应用场景,典型厂商为Microsemi。
故目前亟需一种降低自容式仪器数据存储功耗的存储方法,以便解决自容式仪器低功耗设计和大容量数据存储等场景需求的问题。
发明内容
有鉴于此,本发明的主要目的在于提供一种超低功耗的大容量数据存储方法,以期部分地解决上述技术问题中的至少之一。
为了实现上述目的,作为本发明的一方面,提供了一种数据存储方法,包括以下内容:
自容式仪器上电后启动一次eMMC Flash初始化;
作业过程中,待存储数据先缓存在低功耗SRAM中,此时eMMC Flash处于极低功耗睡眠模式;
当SRAM接近满之后触发转运过程,此时唤醒eMMC Flash,数据从SRAM中转运到eMMC Flash,即SRAM向eMMC Flash发起一次单块写的写操作请求;
转运完成后eMMC Flash再次进入睡眠模式;
自容式仪器作业过程中不断执行上述SRAM和eMMC Flash组合存储的循环;
当自容式仪器回收到地面后,将通过多块读的方式快速读出数据;
所述方法中采用基于Flash架构的低功耗FPGA作为自容式仪器的控制中心;
通过FPGA硬件逻辑实现存储控制,包括对eMMC Flash和SRAM的控制。
其中,所述FPGA硬件逻辑实现eMMC Flash控制的方法为根据eMMC协议设计出初始化流程和读写操作应该下发的指令内容和预期响应,并通过AHB Lite总线主机接口读写MMC Core内部寄存器实现和eMMC Flash芯片的通讯;eMMC Flash初始化和读写控制过程中,除了CMD0复位指令没有响应外,其他指令都会收到eMMC Flash给出的响应。
其中,用户逻辑控制MMC Core向eMMC Flash下发指令与获取响应的过程具体包括:
每次下发指令需要写指令序号寄存器和写指令参数寄存器;
当MMC Core收到完整的指令序号和指令参数后会生成起始位、停止位和CRC校验,并发起对应指令;
当MMC Core接收到来自eMMC Flash芯片的响应后,会将MMC Core的状态寄存器的响应接收标志位置位;
用户逻辑在下发指令后不断查询MMC Core的状态寄存器;
当检测到响应接收标志位置位后再查询MMC Core的中断状态寄存器;如果中断状态寄存器置位,则报错,否则进入下一步读取MMC Core的响应寄存器内容。
其中,所述eMMC Flash初始化具体包括:
上电后启动初始化;
下发CMD0复位指令使eMMC Flash进入空闲状态;
依次下发CMD1、CMD2、CMD3和CMD9分别查询Flash芯片的OCR寄存器、CID寄存器、设置相对地址和查询CSD寄存器,了解eMMC Flash芯片的出厂性能和允许的操作;
下发CMD7使eMMC Flash进入传输模式;
下发CMD16设置读写操作时的块长度,并修改MMC Core中的块长度寄存器数值;
下发CMD6设置eMMC Flash的数据总线为8比特位宽;
初始化完成。
其中,所述单块写具体包括:
下发单块写对应的指令CMD24并读取响应;
向MMC Core内部的写入数据寄存器传递待写入Flash的数据;
查询MMC Core内部的单块操作中断状态寄存器,等待MMC Core完成单块写操作;
写MMC Core内部的单块操作中断清除寄存器,使得单块操作中断状态寄存器复位;
等待编程完成,编程过程数据线最低位会被拉低,编程完成后8根数据线都会被拉高;
写操作完成。
其中,所述多块读的控制流程具体包括:
下发指令CMD23设置多块操作的块数量;
改写MMC Core内部的块数量寄存器的值;
下发多块读指令CMD18,指令参数为Flash芯片的读地址;
查询MMC Core的多块操作中断状态寄存器;
从MMC Core的读出数据寄存器中读取所读数据,单个块的数据量为512字节,故应读数据字节量为512*块数量;
改写MMC Core内部的多块操作中断清除寄存器,使得多块操作中断状态寄存器复位;
读操作完成。
基于上述技术方案可知,本发明的数据存储方法相对于现有技术至少具有如下有益效果的一部分:
本发明提出一种超低功耗的大容量存储方法,解决自容式仪器低功耗设计和大容量数据存储等场景需求的问题,比如深海水温水深监测仪、海底节点地震勘探仪器、移动式数字地震仪等。在这些场景中,自容式仪器由电池供电,需要长期独立工作,并且工作期间记录的大量数据都需要记录在自容式仪器本地。低功耗的大容量存储方法可以满足大容量数据存储和自容式仪器长时间运行的要求。
附图说明
图1为本发明实施例提供的低功耗大容量数据存储方法示意图;
图2为本发明实施例提供的SRAM和Flash组合存储数据流过程图;
图3为本发明实施例提供的基于SRAM(左)和Flash(右)架构FPGA可编程单元结构对比;
图4为本发明实施例提供的MMC Core内部结构图;
图5为本发明实施例提供的硬件逻辑控制eMMC Flash的逻辑框图;
图6为本发明实施例提供的eMMC Flash初始化流程图;
图7为本发明实施例提供的用户逻辑控制MMC Core下发指令与获取响应过程图;
图8为本发明实施例提供的eMMC Flash写操作控制流程图;
图9为本发明实施例提供的读操作控制流程图。
具体实施方式
本发明提出一种超低功耗的大容量存储方法,解决自容式仪器低功耗设计和大容量数据存储等场景需求的问题。比如深海水温水深监测仪、海底节点地震勘探仪器、移动式数字地震仪等。在这些场景中,自容式仪器由电池供电,需要长期独立工作,并且工作期间记录的大量数据都需要记录在自容式仪器本地。低功耗的大容量存储方法可以满足大容量数据存储和自容式仪器长时间运行的要求。本发明所提出的方法有三个关键设计:一是采用SRAM芯片+eMMC Flash芯片组合的方式极大地降低eMMC Flash芯片本身的功耗。二是选择基于Flash架构的FPGA降低主控制器的功耗。三是通过FPGA硬件逻辑控制eMMC Flash,比SoC软件控制eMMC Flash进一步降低了主控制器的功耗。
具体的,本发明公开了一种数据存储方法,包括以下内容:
自容式仪器上电后启动一次eMMC Flash初始化;
作业过程中,待存储数据先缓存在低功耗SRAM中,此时eMMC Flash处于极低功耗睡眠模式;
当SRAM接近满之后触发转运过程,此时唤醒eMMC Flash,数据从SRAM中转运到eMMC Flash,即SRAM向eMMC Flash发起一次单块写的写操作请求;
转运完成后eMMC Flash再次进入睡眠模式;
自容式仪器作业过程中不断执行上述SRAM和eMMC Flash组合存储的循环;
当自容式仪器回收到地面后,将通过多块读的方式快速读出数据;
所述方法中采用基于Flash架构的低功耗FPGA作为自容式仪器的控制中心;
通过FPGA硬件逻辑实现存储控制,包括对eMMC Flash和SRAM的控制。
其中,所述FPGA硬件逻辑实现eMMC Flash控制的方法为根据eMMC协议设计出初始化流程和读写操作应该下发的指令内容和预期响应,并通过AHB Lite总线主机接口读写MMC Core内部寄存器实现和eMMC Flash芯片的通讯;eMMC Flash初始化和读写控制过程中,除了CMD0复位指令没有响应外,其他指令都会收到eMMC Flash给出的响应。
其中,用户逻辑控制MMC Core向eMMC Flash下发指令与获取响应的过程具体包括:
每次下发指令需要写指令序号寄存器和写指令参数寄存器;
当MMC Core收到完整的指令序号和指令参数后会生成起始位、停止位和CRC校验,并发起对应指令;
当MMC Core接收到来自eMMC Flash芯片的响应后,会将MMC Core的状态寄存器的响应接收标志位置位;
用户逻辑在下发指令后不断查询MMC Core的状态寄存器;
当检测到响应接收标志位置位后再查询MMC Core的中断状态寄存器;如果中断状态寄存器置位,则报错,否则进入下一步读取MMC Core的响应寄存器内容。
其中,所述eMMC Flash初始化具体包括:
上电后启动初始化;
下发CMD0复位指令使eMMC Flash进入空闲状态;
依次下发CMD1、CMD2、CMD3和CMD9分别查询Flash芯片的OCR寄存器、CID寄存器、设置相对地址和查询CSD寄存器,了解eMMC Flash芯片的出厂性能和允许的操作;
下发CMD7使eMMC Flash进入传输模式;
下发CMD16设置读写操作时的块长度,并修改MMC Core中的块长度寄存器数值;
下发CMD6设置eMMC Flash的数据总线为8比特位宽;
初始化完成。
其中,所述单块写具体包括:
下发单块写对应的指令CMD24并读取响应;
向MMC Core内部的写入数据寄存器传递待写入Flash的数据;
查询MMC Core内部的单块操作中断状态寄存器,等待MMC Core完成单块写操作;
写MMC Core内部的单块操作中断清除寄存器,使得单块操作中断状态寄存器复位;
等待编程完成,编程过程数据线最低位会被拉低,编程完成后8根数据线都会被拉高;
写操作完成。
其中,所述多块读的控制流程具体包括:
下发指令CMD23设置多块操作的块数量;
改写MMC Core内部的块数量寄存器的值;
下发多块读指令CMD18,指令参数为Flash芯片的读地址;
查询MMC Core的多块操作中断状态寄存器;
从MMC Core的读出数据寄存器中读取所读数据,单个块的数据量为512字节,故应读数据字节量为512*块数量;
改写MMC Core内部的多块操作中断清除寄存器,使得多块操作中断状态寄存器复位;
读操作完成。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
如图1所示,为低功耗大容量存储方法的示意图;该方法有三个关键设计:一是采用SRAM芯片+eMMC Flash芯片组合的方式极大地降低eMMC Flash芯片本身的功耗。二是选择基于Flash架构的FPGA降低主控制器的功耗。三是通过FPGA硬件逻辑控制eMMC Flash,比SoC软件控制eMMC Flash进一步降低了主控制器的功耗。以下逐条详述。
第一,采用低功耗SRAM芯片+eMMC Flash芯片组合的方式大幅降低eMMC Flash芯片本身的功耗。自容式仪器工作期间,源源不断的采集数据,如果直接用eMMC Flash存储数据,那么eMMC Flash保持在写入模式的功耗为几百毫瓦。然而,eMMC Flash芯片本身具有一种休眠模式,该模式下eMMC Flash芯片的功耗只有约1毫瓦,相比写入模式的功耗低了两个数量级,可以忽略不计。为了使eMMC Flash进入休眠模式同时该存储的数据又不丢失,那就需要在数据源和eMMC Flash之间加入一级缓存。低功耗的静态随机存储器SRAM是非常合适的缓存材料。它功耗低,读写功耗一般只有几毫瓦,并且容量较大,实际选用时可以根据具体应用场景选择合适容量的SRAM。SRAM和Flash组合存储的完整数据流过程如图2所示,采集到的数据首先存放在SRAM中,此时eMMC Flash处于休眠状态,当SRAM缓存接近满的时候,再唤醒eMMC Flash将读出SRAM缓存的数据再写入Flash,写入完成后Flash再次进入休眠模式。按此循环完成数据存储,就可以实现完成数据存储的同时,使得eMMC Flash几乎处于极低功耗的休眠模式,从而使得eMMC Flash和SRAM合计总平均功耗可降低至10mW以内。
第二,选择基于Flash架构的FPGA降低主控制器的功耗。主要的FPGA和SoC是基于SRAM架构,不具备低功耗的特性,典型厂商为Intel和Xilinx。而基于Flash架构的FPGA最显著的特性就是低功耗,典型厂商为Microsemi。如图3所示为基于SRAM(左)和Flash(右)架构FPGA可编程单元结构对比图,基于Flash技术的FPGA和SoC每个可编程的开关都是由单个个晶体管构成,而基于SRAM技术的FPGA每个可编程开关是由6个晶体管构成,因此基于Flash架构的FPGA的开关消耗功耗要比基于SRAM架构的FPGA低很多。另外基于Flash架构的FPGA由于掉电非易失,不需要配置过程,所以只有静态功耗和动态功耗,相比基于SRAM架构的FPGA省去了上电功耗和配置功耗。根据Microsemi公司的评测结果,基于Flash架构的FPGA和SoC比基于SRAM架构的同级别FPGA和SoC的总功耗低30%到50%。
第三,实现了FPGA硬件逻辑实时控制eMMC Flash,比SoC软件控制eMMC Flash显著降低了主控制器的功耗。eMMC协议基通过命令和数据总线实现通讯。对eMMC Flash的每次操作由命令(主机到设备)和响应(设备到主机)组成,指令和响应复用一根指令线,在涉及数据读写时还伴随着数据线上的数据传输。为了实现FPGA硬件逻辑实时控制eMMC Flash的技术,设计了完整的基于MMC Core的初始化和读写控制状态机。首先根据eMMC协议设计出eMMC初始化流程和读写操作应该下发的指令内容和预期响应,然后读写MMC Core内部的指令、状态、响应和数据寄存器,最终实现对eMMC Flash芯片的控制。
本实施例选取的自容式仪器存储电路选择的eMMC Flash芯片型号为闪迪公司的SDINADF4-64G-H,容量为64GB。选择低功耗SRAM芯片的型号为CY62167EV18LL-55BVXI,存储容量为2GB,该SRAM功耗极低,典型读写功耗为4mW@1MHz时钟频率,无操作时空闲状态功耗只有几微瓦。自容式仪器工作时,如图1低功耗大容量存储方法的示意图所示,设置SRAM的接近满深度为可以缓存约1分钟的采集数据,SRAM缓存数据的这1分钟里eMMC Flash处于休眠状态,功耗只有1毫瓦左右,相比eMMC Flash的写入模式的几百毫瓦功耗可以忽略不计。而从SRAM读出数据再写入Flash的过程很快,只有不到1秒钟,Flash仅仅在这1秒不到的时间里处于写入模式。因此在一个读写循环里,Flash几乎都处于休眠状态。eMMC Flash进入休眠模式可以通过下发休眠指令实现。实际上eMMC Flash底层是基于iNAND Flash的,iNAND的一个独特的特点是自动进入和退出休眠模式。在完成一个操作后,如果没有收到进一步的命令eMMC Flash将进入自动休眠模式。当控制器访问处于休眠模式时的eMMCFlash,向eMMC Flash发出的任何命令都将使它退出休眠并作出响应。实际运用中为了操控简便,运用了eMMC Flash这种自动休眠的特性,每次读取SRAM数据再写入Flash的过程结束后Flash自动进入休眠,直到下一次SRAM接近满触发转运过程再被唤醒。
FPGA选用Microsemi厂商的IGLOO2系列FPGA,具体型号为M2GL025-FG484I。该FPGA基于Flash架构,和Xilinx以及Intel的同等资源量FPFA相比,功耗极低。
FPGA硬件逻辑控制eMMC Flash,比SoC软件控制eMMC Flash节省功耗的技术核心是硬件逻辑实现eMMC Flash的复杂协议控制。图5是硬件逻辑控制eMMC Flash的逻辑框图,其中MMC Core负责和eMMC Flash芯片直接通信,用户逻辑通过读写MMC Core的内部寄存器实现对eMMC Flash芯片的控制。图4是MMC Core内部结构图,它包含一个AMBA High-performance Bus-Lite(AHB-Lite)从机接口、数据缓存FIFO、状态寄存器组和MMC主控模块。用户逻辑根据eMMC协议设计出初始化流程和读写操作应该下发的指令内容和预期响应,并通过AHB Lite总线主机接口将这些指令写入到MMC Core内部的相关指令寄存器,并查询MMC Core内部的状态、响应和数据寄存器,最终实现和eMMC Flash芯片的通讯。用户逻辑对eMMC Flash的控制主要分为初始化模块、写操作控制模块和读操作控制模块三个部分,下面逐一说明初始化、写操作和读操作的具体控制方法。
eMMC Flash在实现数据读写前需要先实现初始化。初始化下发指令的顺序如图6eMMC Flash初始化流程图所示,具体过程描述如下。
1)上电后启动初始化。eMMC Flash规范要求初始化过程eMMC Flash芯片接口的时钟频率不大于400kHz,故首先改写MMC Core中的时钟分频寄存器,使得MMC Core输出给Flash芯片的时钟频率低于400kHz.然后根据eMMC Flash规范等待1ms.
2)下发CMD0复位指令使eMMC Flash进入空闲状态。
3)依次下发CMD1、CMD2、CMD3和CMD9分别查询Flash芯片的OCR(OperationConditions Register)寄存器、CID(Card Identification Register)寄存器、设置相对地址和查询CSD(Card-Specific Data Register)寄存器,了解改eMMC Flash芯片的出厂性能和允许的操作,比如电压、读写速度参数,最大读写块长度等,这一步在eMMC Flash初始化中是必须进行的。
4)下发CMD7使eMMC Flash进入传输模式,这样后续才能进行Flash数据读写操作。
5)下发CMD16设置读写操作时的块长度,eMMC Flash的读写操作时以块为单位的。在前述步骤中通过查询CSD寄存器可知,该eMMC Flash芯片允许的最大读写长度为512字节,故此处设置读写操作的块长度为512字节。同时要对应修改MMC Core中的块长度寄存器数值。
6)下发CMD6使eMMC Flash进入高速模式,并修改MMCCore中的时钟分配寄存器数值。
7)下发CMD6设置eMMC Flash的数据总线为8比特位宽。eMMC Flash数据线物理宽度为8比特,但是它支持1bit/4bit/8bit传输,初始化是要选择传输所用的位宽,这里为了加快数据传输,选用8比特位宽。
8)初始化完成。
用户逻辑向eMMC Flash下发指令和获取反馈的过程都是通过AHB Lite总线读写MMC Core中的相关寄存器实现的。除了CMD0复位指令没有响应外,其他指令都会收到eMMCFlash给出的响应。典型的用户逻辑通过MMC Core实现和eMMC Flash交互的过程如图7所示,每次下发指令需要写指令序号寄存器和写指令参数寄存器,比如下发CMD1,需要向MMCCore的指令序号寄存器中写入数值1,并向指令参数寄存器写入数值32’hc0ff8080作为CMD1的指令参数,当MMC Core收到完整的指令序号和指令参数后会会生成起始位、停止位和CRC校验,并发起对应指令。当MMC Core接收到来自eMMC Flash芯片的响应后,会将MMCCore的状态寄存器的响应接收标志位置位。用户逻辑在下发指令后不断查询MMC Core的状态寄存器,当检测到响应接收标志位置位后再查询MMC Core的中断状态寄存器,如果中断状态寄存器置位,则报错,否则进入下一步读取MMC Core的响应状态寄存器内容,至此一个完整的与MMC Core交互的指令下发与响应接收过程完成。
eMMC Flash读写操作支持单块读写和多块读写。自容式仪器的采集过程源头数据速率平缓,因此eMMC Flash写操作选择单块写的方式,相比多块写具有设计简单、FPGA资源占用少的优点。在自容式仪器回收到地面之后,要求快速的读出存储数据,因此eMMC Flash读操作采用多块读的方式,相比单块读,速率快好几倍,具体值和设置一次读操作读取块数有关,比如设置一次读出16个块时读出速率超过100Mbps。
eMMC Flash单块写的流程如图8所示。具体过程如下。
1)下发单块写对应的指令CMD24并读取响应,该过程与图7描述的常规下发指令过程相同。
2)向MMC Core内部的写入数据寄存器传递待写入Flash的数据。单块写的数据量为512字节。当传递的待写数据量达到512字节时传递完成。MMC Core会将这些数据加上起始位、停止位和CRC校验后按规定时序发给eMMC Flash芯片。当MMC Core完成该过程后会将内部的单块操作中断状态寄存器写完成标志位置位。
3)查询MMC Core内部的单块操作中断状态寄存器,等待MMC Core完成单块写操作。
4)写MMC Core内部的单块操作中断清除寄存器,使得单块操作中断状态寄存器复位。因为在上一步中单块操作中断状态寄存器的写完成标志位已经置位,因此需要将其复位,这样在写入下一个块的数据时块操作中断状态寄存器仍然可以正确的提示写操作完成情况。
5)等待编程完成。eMMC Flash芯片在收到待写数据后需要时间编程,将这些数据写入非易失存储介质,编程过程数据线最低位会被拉低以提示编程尚未完成。编程完成后8根数据线都会被拉高。
6)写操作完成。
eMMC Flash多块读的控制流程如图9所示。具体过程如下。
1)下发指令CMD23设置多块操作的块数量为16,该过程与图7描述的指令下发过程相同。
2)改写MMC Core内部的块数量寄存器的值为16。
3)下发多块读指令CMD18,指令参数为Flash芯片的读地址。该过程与图7描述的指令下发过程相同。
4)查询MMC Core的多块操作中断状态寄存器。当MMCCore收到来自eMMC Flash芯片的读出数据后,会将多块操作中断状态寄存器的读完成标志位置位。
5)从MMC Core的读出数据寄存器中读取所读数据,单个块的数据量为512字节,故应读数据字节量为512*16(块数量)。
6)改写MMC Core内部的多块操作中断清除寄存器,使得多块操作中断状态寄存器复位。因为在上一步中多块操作中断状态寄存器的读完成标志位已经置位,因此需要将其复位,这样在下一次多块读操作时多块操作中断状态寄存器仍然可以正确的提示读操作完成情况。
7)读操作完成。
完整的存储流程结合图1低功耗大容量存储方法的示意图和图2SRAM和Flash组合存储数据流过程可知。上电后启动一次eMMC Flash初始化。自容式仪器作业过程中,数据首先缓存在SRAM中,每当SRAM接近满之后触发转运过程,发起一次Flash写操作请求。eMMCFlash写操作为单块写方式。写操作请求发起后,从SRAM读出一个块的数据并存入转运FIFO。转运FIFO用于SRAM和eMMC Flash之间的跨时钟域同步和数据缓存。eMMC Flash写控制模块收到Flash写操作请求执行写操作,并将转运FIFO中的一块数据写入eMMC Flash。如此循环执行转运直到SRAM接近空则此次转运完成,Flash自动进入休眠,直到下一次SRAM接近满触发转运过程时被唤醒。当从SRAM读数据操作时,待存储的数据暂存在FPGA内部的小容量FIFO中。当自容式仪器回收到地面后,将通过多块读的方式快速将工作期间记录的数据读出。
综上所述,本发明提出的一种超低功耗的大容量存储方法具有存储容量大、功耗低的优点,解决自容式仪器在低功耗设计和大容量数据存储等场景需求的问题,典型应用场景如深海水温水深监测仪、海底节点地震勘探仪器、移动式数字地震仪等。本发明专利选用eMMC Flash芯片作为存储器件,eMMC Flash芯片的存储容量从8GB到128GB不等,可以适配自容式仪器不同的数据量需求。自容式仪器常规存储大量数据的做法是使用SoC控制eMMC Flash功耗在几百毫瓦,而本发明专利的显著优势是低功耗。本发明专利中的三种关键技术都大幅降低了功耗。第一,应用SRAM芯片+eMMC Flash芯片组合的方式极大地降低eMMC Flash芯片本身的功耗,应用该技术可以将存储芯片的功耗从几百毫瓦降低到10mW以内。第二,采用基于Flash架构的FPGA降低主控制器的功耗。根据Microsemi公司的测试结论,基于Flash架构的FPGA比基于SRAM架构的FPGA功耗低30%到50%。实现了FPGA硬件逻辑实时控制eMMC Flash,比SoC软件控制eMMC Flash进一步降低了主控制器的功耗。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种数据存储方法,其特征在于,包括以下内容:
自容式仪器上电后启动一次eMMC Flash初始化;
作业过程中,待存储数据先缓存在低功耗SRAM中,此时eMMC Flash处于极低功耗睡眠模式;
当SRAM接近满之后触发转运过程,此时唤醒eMMC Flash,数据从SRAM中转运到eMMCFlash,即SRAM向eMMC Flash发起一次单块写的写操作请求;
转运完成后eMMC Flash再次进入睡眠模式;
自容式仪器作业过程中不断执行上述SRAM和eMMC Flash组合存储的循环;
当自容式仪器回收到地面后,将通过多块读的方式快速读出数据;
所述方法中采用基于Flash架构的低功耗FPGA作为自容式仪器的控制中心;
通过FPGA硬件逻辑实现存储控制,包括对eMMC Flash和SRAM的控制。
2.根据权利要求1所述的数据存储方法,其特征在于,所述FPGA硬件逻辑实现eMMCFlash控制的方法为根据eMMC协议设计出初始化流程和读写操作应该下发的指令内容和预期响应,并通过AHB Lite总线主机接口读写MMC Core内部寄存器实现和eMMC Flash芯片的通讯;eMMC Flash初始化和读写控制过程中,除了CMD0复位指令没有响应外,其他指令都会收到eMMC Flash给出的响应。
3.根据权利要求2所述的数据存储方法,其特征在于,用户逻辑控制MMC Core向eMMCFlash下发指令与获取响应的过程具体包括:
每次下发指令需要写指令序号寄存器和写指令参数寄存器;
当MMC Core收到完整的指令序号和指令参数后会生成起始位、停止位和CRC校验,并发起对应指令;
当MMC Core接收到来自eMMC Flash芯片的响应后,会将MMC Core的状态寄存器的响应接收标志位置位;
用户逻辑在下发指令后不断查询MMC Core的状态寄存器;
当检测到响应接收标志位置位后再查询MMC Core的中断状态寄存器;如果中断状态寄存器置位,则报错,否则进入下一步读取MMC Core的响应寄存器内容。
4.根据权利要求1所述的数据存储方法,其特征在于,所述eMMC Flash初始化具体包括:
上电后启动初始化;
下发CMD0复位指令使eMMC Flash进入空闲状态;
依次下发CMD1、CMD2、CMD3和CMD9分别查询Flash芯片的OCR寄存器、CID寄存器、设置相对地址和查询CSD寄存器,了解eMMC Flash芯片的出厂性能和允许的操作;
下发CMD7使eMMC Flash进入传输模式;
下发CMD16设置读写操作时的块长度,并修改MMC Core中的块长度寄存器数值;
下发CMD6设置eMMC Flash的数据总线为8比特位宽;
初始化完成。
5.根据权利要求1所述的数据存储方法,其特征在于,所述单块写具体包括:
下发单块写对应的指令CMD24并读取响应;
向MMC Core内部的写入数据寄存器传递待写入Flash的数据;
查询MMC Core内部的单块操作中断状态寄存器,等待MMC Core完成单块写操作;
写MMC Core内部的单块操作中断清除寄存器,使得单块操作中断状态寄存器复位;
等待编程完成,编程过程数据线最低位会被拉低,编程完成后8根数据线都会被拉高;
写操作完成。
6.根据权利要求1所述的数据存储方法,其特征在于,所述多块读的控制流程具体包括:
下发指令CMD23设置多块操作的块数量;
改写MMC Core内部的块数量寄存器的值;
下发多块读指令CMD18,指令参数为Flash芯片的读地址;
查询MMC Core的多块操作中断状态寄存器;
从MMC Core的读出数据寄存器中读取所读数据,单个块的数据量为512字节,故应读数据字节量为512*块数量;
改写MMC Core内部的多块操作中断清除寄存器,使得多块操作中断状态寄存器复位;
读操作完成。
CN202011187324.2A 2020-10-29 2020-10-29 用于自容式仪器的超低功耗的大容量数据存储方法 Active CN112259142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011187324.2A CN112259142B (zh) 2020-10-29 2020-10-29 用于自容式仪器的超低功耗的大容量数据存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011187324.2A CN112259142B (zh) 2020-10-29 2020-10-29 用于自容式仪器的超低功耗的大容量数据存储方法

Publications (2)

Publication Number Publication Date
CN112259142A true CN112259142A (zh) 2021-01-22
CN112259142B CN112259142B (zh) 2023-08-18

Family

ID=74267867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011187324.2A Active CN112259142B (zh) 2020-10-29 2020-10-29 用于自容式仪器的超低功耗的大容量数据存储方法

Country Status (1)

Country Link
CN (1) CN112259142B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760376A (zh) * 2021-09-06 2021-12-07 合肥松豪电子科技有限公司 TP芯片CPU在Eflash上同时运行且操作的方法
CN114138693A (zh) * 2021-11-25 2022-03-04 中国电子科技集团公司第五十四研究所 一种基于sram的等效双端口ram装置
CN115686383A (zh) * 2022-12-30 2023-02-03 摩尔线程智能科技(北京)有限责任公司 存储器的控制方法和控制器以及芯片系统
CN117453491A (zh) * 2023-12-18 2024-01-26 深圳大普微电子股份有限公司 功耗确定方法及闪存设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5563839A (en) * 1995-03-30 1996-10-08 Simtek Corporation Semiconductor memory device having a sleep mode
US6026027A (en) * 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
US20080040598A1 (en) * 1999-08-04 2008-02-14 Super Talent Electronics Inc. Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
CN103280238A (zh) * 2013-06-27 2013-09-04 山东量子科学技术研究院有限公司 基于FPGA的eMMC控制器及其工作方法
CN104769520A (zh) * 2012-11-05 2015-07-08 高通股份有限公司 用于动态存储器功率管理的系统和方法
CN105092103A (zh) * 2014-05-04 2015-11-25 昆山双桥传感器测控技术有限公司 基于wifi节点型压力传感器及其工作状态管控制方法
CN205507737U (zh) * 2016-03-31 2016-08-24 北京润科通用技术有限公司 一种数据存储系统
CN110488673A (zh) * 2019-06-26 2019-11-22 珠海格力电器股份有限公司 一种低功耗模式的数据处理模块及数据处理方法
CN110658749A (zh) * 2019-09-12 2020-01-07 中国科学院声学研究所北海研究站 一种座底式声学潜标的低功耗数据采集存储系统及方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026027A (en) * 1994-01-31 2000-02-15 Norand Corporation Flash memory system having memory cache
US5563839A (en) * 1995-03-30 1996-10-08 Simtek Corporation Semiconductor memory device having a sleep mode
US20080040598A1 (en) * 1999-08-04 2008-02-14 Super Talent Electronics Inc. Flash micro-controller with shadow boot-loader SRAM for dual-device booting of micro-controller and host
CN104769520A (zh) * 2012-11-05 2015-07-08 高通股份有限公司 用于动态存储器功率管理的系统和方法
CN103280238A (zh) * 2013-06-27 2013-09-04 山东量子科学技术研究院有限公司 基于FPGA的eMMC控制器及其工作方法
CN105092103A (zh) * 2014-05-04 2015-11-25 昆山双桥传感器测控技术有限公司 基于wifi节点型压力传感器及其工作状态管控制方法
CN205507737U (zh) * 2016-03-31 2016-08-24 北京润科通用技术有限公司 一种数据存储系统
CN110488673A (zh) * 2019-06-26 2019-11-22 珠海格力电器股份有限公司 一种低功耗模式的数据处理模块及数据处理方法
CN110658749A (zh) * 2019-09-12 2020-01-07 中国科学院声学研究所北海研究站 一种座底式声学潜标的低功耗数据采集存储系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张旭光: ""低功耗自容式机械海流计的研制"", 《中国优秀硕士学位论文全文数据库 基础科学辑》 *
曹平: ""勘探地震数据获取系统设计"", 《中国博士学位论文全文数据库 基础科学辑》 *
钱承山: ""一种低功耗电子系统的设计"", 《山东科技大学学报( 自然科学版)》, vol. 23, no. 3 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760376A (zh) * 2021-09-06 2021-12-07 合肥松豪电子科技有限公司 TP芯片CPU在Eflash上同时运行且操作的方法
CN113760376B (zh) * 2021-09-06 2024-05-28 合肥松豪电子科技有限公司 TP芯片CPU在Eflash上同时运行且操作的方法
CN114138693A (zh) * 2021-11-25 2022-03-04 中国电子科技集团公司第五十四研究所 一种基于sram的等效双端口ram装置
CN115686383A (zh) * 2022-12-30 2023-02-03 摩尔线程智能科技(北京)有限责任公司 存储器的控制方法和控制器以及芯片系统
CN117453491A (zh) * 2023-12-18 2024-01-26 深圳大普微电子股份有限公司 功耗确定方法及闪存设备
CN117453491B (zh) * 2023-12-18 2024-05-14 深圳大普微电子股份有限公司 功耗确定方法及闪存设备

Also Published As

Publication number Publication date
CN112259142B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN112259142B (zh) 用于自容式仪器的超低功耗的大容量数据存储方法
CN101133404B (zh) 用于与存储器装置通信的系统和方法
US5826092A (en) Method and apparatus for performance optimization in power-managed computer systems
CN103810113B (zh) 一种非易失存储器和动态随机存取存储器的融合内存系统
CN100456272C (zh) 利用快闪存储器引导的系统和方法
US10140062B1 (en) Automatic resumption of suspended write operation upon completion of higher priority write operation in a memory device
US8195971B2 (en) Solid state disk and method of managing power supply thereof and terminal including the same
US8285920B2 (en) Memory device with dynamic controllable physical logical mapping table loading
CN107943540B (zh) 一种自适应非易失性存储器时序的程序加载结构和方法
CN105159695B (zh) 一种基于非易失控制的射频模块初始化系统及方法
CN102999453B (zh) 用于系统芯片集成的通用非易失性存储器控制装置
CN105808455A (zh) 访问内存的方法、存储级内存及计算机系统
CN109783411A (zh) 一种基于fpga的flash阵列控制方法及控制器
CN101334758A (zh) 用于嵌入式系统扩展存储空间的装置和方法
TWI259361B (en) Semiconductor memory device
CN109471819A (zh) 为来自主机的读取请求提供短的读取响应时间的存储设备
CN105474182A (zh) 在电子设备处于低功率模式的同时支持周期性写操作的存储设备
US20080007569A1 (en) Control protocol and signaling in a new memory architecture
TW201437812A (zh) 記憶體存取方法、記憶體存取控制方法、記憶體裝置與記憶體控制器
CN100524170C (zh) 一种控制存储器进入低功耗模式的控制器及控制方法
US11662944B2 (en) Method and apparatus for performing resuming management
JP2003140963A (ja) 半導体記憶システム
CN116149554B (zh) 一种基于risc-v及其扩展指令的数据存储处理系统及其方法
US20160334861A1 (en) Power management for a data storage system
CN102985916A (zh) 微控制器及其控制方法

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
TA01 Transfer of patent application right

Effective date of registration: 20220106

Address after: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Applicant after: University of Science and Technology of China

Applicant after: Cao Ping

Applicant after: An Qi

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Applicant before: University of Science and Technology of China

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20221102

Address after: 102-B3, Embedded R&D Building, Advanced Technology Research Institute, University of Science and Technology of China, No. 5089, West Wangjiang Road, High tech Zone, Hefei, Anhui, 230094

Applicant after: Hefei Zhongke Caixiang Technology Co.,Ltd.

Address before: C1407, Material Research Building, East District, University of Science and Technology of China, No. 96, Jinzhai Road, Baohe District, Hefei, Anhui, 230026

Applicant before: Cao Ping

Applicant before: An Qi

Effective date of registration: 20221102

Address after: C1407, Material Research Building, East District, University of Science and Technology of China, No. 96, Jinzhai Road, Baohe District, Hefei, Anhui, 230026

Applicant after: Cao Ping

Applicant after: An Qi

Address before: 230026 Jinzhai Road, Baohe District, Hefei, Anhui Province, No. 96

Applicant before: University of Science and Technology of China

Applicant before: Cao Ping

Applicant before: An Qi

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant