CN117746951A - 一种模拟eeprom的电路设计方法 - Google Patents

一种模拟eeprom的电路设计方法 Download PDF

Info

Publication number
CN117746951A
CN117746951A CN202311555612.2A CN202311555612A CN117746951A CN 117746951 A CN117746951 A CN 117746951A CN 202311555612 A CN202311555612 A CN 202311555612A CN 117746951 A CN117746951 A CN 117746951A
Authority
CN
China
Prior art keywords
data
page
sram
jumping
address
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
Application number
CN202311555612.2A
Other languages
English (en)
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.)
China Key System and Integrated Circuit Co Ltd
Original Assignee
China Key System and Integrated Circuit Co Ltd
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 China Key System and Integrated Circuit Co Ltd filed Critical China Key System and Integrated Circuit Co Ltd
Priority to CN202311555612.2A priority Critical patent/CN117746951A/zh
Publication of CN117746951A publication Critical patent/CN117746951A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及一种模拟EEPROM的电路设计方法,基于模拟EEPROM的结构、Sram和eFlash中的数据存储格式、操作时序搭建,模拟EEPROM的结构电路包含一块用于存数据的Data Sram、一块用于存储映射地址和有效位的Tag Sram以及一块用于备份数据的eFlash。在复位结束以后,通过初始化操作把eFlash中的最新数据读取存入Data Sram和Tag Sram;在写入EEPROM的时候,数据会写入Data Sram然后再备份到eFlash并且记录到Tag Sram;当数据区快写满的时候,通过整理操作把最新的数据读取并且把最新的数据写到某几页的空间去,并且更新Tag Sram。

Description

一种模拟EEPROM的电路设计方法
技术领域
本发明涉及控制器和存储器技术领域,尤其是指一种模拟EEPROM的电路设计方法。
背景技术
在微控制器中,eFlash作为一种非易失性存储器,具有容量大,存储密度高,价格低等优势。而EEPROM同样也是一种非易失性存储器,相比于eFlash,其优点在于编程的方式更为灵活,支持对字节的擦除和编程并且可擦写的次数更多,使用寿命更长。
因此,eFlash更适合存储代码和常量,即不需要频繁更新、数据量大的场景,比如说音频数据、图片数据、程序等等。而EEPROM适合存储需要频繁更新数据、数据量小的场景,比如系统参数配置等等。
针对现有的EEPROM存储器,一者其受工艺的影响较大,有些成熟的工艺线并不提供EEPROM的IP,使得芯片开发者没有任何选择的余地。如果需要使用EEPROM,必须采用外置存储芯片。如此一来安全性、可靠性和集成性不能让人满意。二者其成本较高,相同单位容量的EEPROM比eFlash价格更高。
发明内容
为解决上述技术问题,本发明的一种模拟EEPROM的电路设计方法,所述电路设计方法基于模拟EEPROM的结构、Sram和eFlash中的数据存储格式、操作时序搭建,操作时序包括初始化操作、写入操作、整理操作,先要初始化操作,然后写入操作,写满的时候会发起整理操作,整理完了继续写入操作,然后循环作业;初始化操作包括如下步骤:
步骤S501:遍历所有页的首地址,从第一个扇区开始,读取扇区的首地址,遍历完所有的32个区域,如果有数据页、擦除页则写入对应的寄存器;
步骤S502:判断是否在活动数据页,即32个区域里是否存在活动数据区域,如果不存在活动数据区域,则初始化操作已完成,如果存在活动数据区域;
步骤S503:从活动数据区域的下一个页开始,遍历该页并且加载数据,读取每页的首地址;
步骤S504:判断是数据页则准备加载数据跳转到下步骤S505,否则跳转到步骤S503;
步骤S505:逐条读取数据页中的有效数据以及数据的实际地址,把数据写入DataSram同时把数据的实际地址写入对应的Tag Sram并且标记为有效;
步骤S506:是否所有的页已遍历完毕,如果是则初始化已完成,否则跳转到步骤S503;
写入操作包括如下步骤:
步骤S301,查看擦除页寄存器,是否有需要擦除但是还没有执行页擦除操作的页;判断是则跳转到步骤S304,否则跳转到步骤S302;
步骤S302,查看地址指针,是否已指向活动页的最后一个地址;判断是则跳转到步骤S303,否则跳转到步骤S305;
步骤S303,查看空白页寄存器,是否还有剩余;判断是则跳转到步骤S306,否则跳转到步骤S307;
步骤S304,执行页擦除操作:
判断是首页,则读取该页的擦除次数,把次数暂存在寄存器中,若不是首页则直接对该页进行一次页擦除操作;
判断是首页,则在完成以后把擦除次数加1写回到首地址,否则不需要执行该操作,页擦除操作完成;
步骤S305,对数据区的下一个空白页做初始化:
判断当前有活动页,则在上一个活动页写入非活动标记;
在下一个将要写入数据的空白页的首地址写入数据活动标记;
步骤S306,数据写入与维护:
读取Tag Sram得到旧数据的映射地址以及有效位,读取Data Sram得到可能存在的旧数据;
若有效位有效则跳转到下工序Ⅰ,无效则跳转到工序Ⅱ;
工序Ⅰ,在旧数据的映射地址写入数据无效状态位,跳转到工序Ⅱ;
工序Ⅱ,把新数据写入活动区的下一条存储位置,同时写入实际地址以及有效状态位;
把新数据的映射地址写入Tag Sram,并且标注为有效;
步骤S307,转入整理操作;
整理操作包括如下步骤:
步骤S401,查看空白页寄存器,寻找一块新的页并且标记为替换区;
步骤S402,从Tag Sram读取有效数据,然后搬移到替换页,跳转到步骤S403;
步骤S403,判断是否把的Data Sram读取完毕;若是则跳转到步骤S405,否则跳转到步骤S404;
步骤S404,替换页的数据是否已经写满;若是则跳转到步骤S401,否则跳转到步骤S402;
步骤S405,把除了替换页以外的数据页全部标记为等待被擦除的状态;
步骤S406,把替换页的标记全部改成数据页,并且把最后一个替换页改成数据活动页。
在本发明的一个实施例中,整理操作中步骤S402中还具体包括如下工序:
工序1,从0地址开始逐条读Tag Sram,若没有读完则继续读取;
工序2,得到有效位,若该数据有效,则跳转到工序3,若该数据无效,则跳转到工序1;
工序3,读Data Sram得到数据;
工序4,把该数据写入到eFlash替换区的下一条地址;
工序5,写Tag Sram更新当前数据的存储位置,跳转到工序1。
在本发明的一个实施例中,模拟EEPROM的结构包括:
Data Sram;用于缓存写入EEPROM的数据,其位宽和深度与实际需要的EEPROM的位宽和深度保持一致,数据总线可以直接对其进行读写访问;
eFlash,用于存储数据以便掉电后可以读回;eFlash的大小决定了EEPROM的寿命;eFlash越大,EEPROM的可擦写次数越多;每当新的数据写入Data Sram的时候都要同步备份到eFlash中,每当出现断电复位以后都要从eFlash中搜寻有效的数据以及该数据的实际地址,然后写入Data Sram以及对应的Tag Sram;
Tag Sram,用于存储有效标记和映射地址;有效位表示当前数据是否有效,映射地址表示当前数据备份于eFlash中的物理地址;每当新的数据写入Data Sram时都会更新TagSram。
在本发明的一个实施例中,Sram和eFlash中的数据存储格式:
eFlash划分为数据区和替换区,数据区用来备份EEPROM的数据,而替换区用于当数据区写满的时候整理数据;数据区和替换区都有多页组成,其中每页的首地址用于标记该页的属性,剩余地址用于存储数据。
本发明的上述技术方案相比现有技术具有以下优点:本发明所述的电路设计方法,使用Sram和eFlash来模拟EEPROM解决了当工艺厂无法提供EEPROM的IP,而芯片的应用必须要集成EEPROM的问题。
通过使用Sram以及eFlash来模拟EEPROM既解决了上述两个问题,同时硬件层面还具备一定的灵活性。例如在应用需要大容量eFlash的时候,可以把这部分Sram和eFlash作为通用Sram和通用eFlash使用;在应用需要EEPROM的时候,通过分区操作可以把这部分Sram和eFlash作为模拟EEPROM专用。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。
图1是本发明所述模拟EEPROM的结构图;
图2是本发明所述Sram和eFlash中的数据存储格式图;
图3是本发明所述模拟EEPROM的写入操作流程图;
图4是本发明所述模拟EEPROM的整理操作流程图;
图5是本发明所述模拟EEPROM的初始化操作流程图。
具体实施方式
本实施例提供一种模拟EEPROM的电路设计方法,基于图1所示模拟EEPROM的结构图和图2所示的Sram和eFlash中的数据存储格式以及图3-5所示的操作时序图,模拟EEPROM的电路包含一块用于存数据的Data Sram、一块用于存储映射地址和有效位的Tag Sram以及一块用于备份数据的eFlash。
在复位结束以后,通过初始化操作把eFlash中的最新数据读取存入Data Sram和Tag Sram;在写入EEPROM的时候,数据会写入Data Sram然后再备份到eFlash并且记录到Tag Sram;当数据区快写满的时候,通过整理操作把最新的数据读取并且把最新的数据写到某几页的空间去,并且更新TagSram。
如图1为模拟EEPROM的结构图所示,包含:
Data Sram 101,用于缓存写入EEPROM的数据,其位宽和深度与实际需要的EEPROM的位宽和深度保持一致,数据总线可以直接对其进行读写访问;
Tag Sram 103,用于存储有效标记和映射地址。有效位表示当前数据是否有效,映射地址表示当前数据备份于eFlash中的物理地址。每当新的数据写入Data Sram时都会更新Tag Sram;
eFlash 102,用于存储数据以便掉电后可以读回。eFlash的大小决定了EEPROM的寿命。eFlash越大,EEPROM的可擦写次数越多。每当新的数据写入Data Sram的时候都要同步备份到eFlash中,每当出现断电复位以后都要从eFlash中搜寻有效的数据以及该数据的实际地址,然后写入Data Sram以及对应的Tag Sram。
如图2为Sram和eFlash中的数据存储格式:
eFlash划分为数据区和替换区,数据区用来备份EEPROM的数据,而替换区用于当数据区写满的时候整理数据。数据区和替换区都有多页组成,其中每页的首地址用于标记该页的属性,剩余地址用于存储数据。为了方便称述,在此定义几个名词:
活动页:即目前正在写入的页;
擦除页:需要执行擦除操作的页;
整理页:整理操作用到的页;
空白页:除了活动页,擦除页,整理页以外剩余的页。
首地址的存储格式201,其中包含擦除次数,标记位和状态位。擦除次数用于记录该页的擦除次数,方便应用人员评估EEPROM的剩余寿命;标记位“0000”表示数据页,“1100”表示替换页;状态位“1111_11”表示空白页,“1111_00”表示活动页,“1100_00”表示非活动页,“0000_00”表示擦除页。
剩余地址的存储格式202,其中包含数据,实际地址,标记位和状态位。数据用于存储EEPROM的备份数据;地址用于存储Data Sram中的实际地址;状态位“00”表示数据有效,“11”表示数据无效。
如图3为模拟EEPROM的写入操作流程图:
步骤S301,查看擦除页寄存器,是否有需要擦除但是还没有执行页擦除操作的页。如果是则跳转到步骤S304,否则跳转到步骤S302。
步骤S302,查看地址指针,是否已指向活动页的最后一个地址。如果是则跳转到步骤S303,否则跳转到步骤S305。
步骤S303,查看空白页寄存器,是否还有剩余。如果是则跳转到步骤S306,否则跳转到步骤S307。
步骤S304,执行页擦除操作:
判断是首页,则读取该页的擦除次数,把次数暂存在寄存器中,若不是首页则直接对该页进行一次页擦除操作;
判断是首页,则在完成以后把擦除次数加1写回到首地址,否则不需要执行该操作,页擦除操作完成;
步骤S305,对数据区的下一个空白页做初始化:
判断当前有活动页,则在上一个活动页写入非活动标记;
在下一个将要写入数据的空白页的首地址写入数据活动标记;
步骤S306,数据写入与维护:
读取Tag Sram(103)得到旧数据的映射地址以及有效位,读取Data Sram(101)得到可能存在的旧数据;
若有效位有效则跳转到下工序Ⅰ,无效则跳转到工序Ⅱ;
工序Ⅰ,在旧数据的映射地址写入数据无效状态位,跳转到工序Ⅱ;
工序Ⅱ,把新数据写入活动区的下一条存储位置,同时写入实际地址以及有效状态位;
把新数据的映射地址写入Tag Sram(103),并且标注为有效。
步骤S307,整理操作具体见下文。
如图4为模拟EEPROM的整理操作流程图:
步骤S401,查看空白页寄存器,寻找一块新的页并且标记为替换区,跳转到步骤S402。
步骤S402,从Tag Sram读取有效数据,然后搬移到替换页,跳转到步骤S403。
工序1,从0地址开始逐条读Tag Sram,若没有读完则继续读取;
工序2,得到有效位,若该数据有效,则跳转到工序3,若该数据无效,则跳转到工序1;
工序3,读Data Sram得到数据;
工序4,把该数据写入到eFlash替换区的下一条地址;
工序5,写Tag Sram更新当前数据的存储位置,跳转到工序1。
步骤S403,是否已经把的Data Sram读取完毕。如果是则跳转到步骤S405,否则跳转到步骤S404。
步骤S404,替换页的数据是否已经写满。如果是则跳转到步骤S401,否则跳转到步骤S402。
步骤S405,把除了替换页以外的数据页全部标记为等待被擦除的状态,跳转到步骤S406。
步骤S406,把替换页的标记全部改成数据页,并且把最后一个替换页改成数据活动页。
如图5为模拟EEPROM的初始化操作流程图:
步骤S501,从第一个扇区开始,读取扇区的首地址,遍历完所有的32个区域,如果有数据页、擦除页则写入对应的寄存器,跳转到步骤S502。
步骤S502,判断32个区域里是否存在活动数据区域,如果不存在活动数据区域,则初始化操作已完成,如果存在活动数据区域,则跳转到步骤S503。
步骤S503,从活动数据区域的下一个页开始,遍历该页并且加载数据,读取每页的首地址,跳转到步骤S504。
步骤S504,如果是数据页则准备加载数据,跳转到步骤S505,否则跳转到步骤S503。
步骤S505,逐条读取数据页中的有效数据以及数据的实际地址,把数据写入DataSram同时把数据的实际地址写入对应的Tag Sram并且标记为有效,跳转到步骤S506。
步骤S506,是否所有的页已遍历完毕,如果是则初始化已完成,否则跳转到503。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (4)

1.一种模拟EEPROM的电路设计方法,所述电路设计方法基于模拟EEPROM的结构、Sram和eFlash(102)中的数据存储格式、操作时序搭建,其特征在于,操作时序包括初始化操作、写入操作、整理操作,先要初始化操作,然后写入操作,写满的时候会发起整理操作,整理完了继续写入操作,然后循环作业;初始化操作包括如下步骤:
步骤S501:遍历所有页的首地址,从第一个扇区开始,读取扇区的首地址,遍历完所有的32个区域,如果有数据页、擦除页则写入对应的寄存器;
步骤S502:判断是否在活动数据页,即32个区域里是否存在活动数据区域,如果不存在活动数据区域,则初始化操作已完成,如果存在活动数据区域;
步骤S503:从活动数据区域的下一个页开始,遍历该页并且加载数据,读取每页的首地址;
步骤S504:判断是数据页则准备加载数据跳转到下步骤S505,否则跳转到步骤S503;
步骤S505:逐条读取数据页中的有效数据以及数据的实际地址,把数据写入Data Sram(101)同时把数据的实际地址写入对应的Tag Sram(103)并且标记为有效;
步骤S506:是否所有的页已遍历完毕,如果是则初始化已完成,否则跳转到步骤S503;
写入操作包括如下步骤:
步骤S301,查看擦除页寄存器,是否有需要擦除但是还没有执行页擦除操作的页;判断是则跳转到步骤S304,否则跳转到步骤S302;
步骤S302,查看地址指针,是否已指向活动页的最后一个地址;判断是则跳转到步骤S303,否则跳转到步骤S305;
步骤S303,查看空白页寄存器,是否还有剩余;判断是则跳转到步骤S306,否则跳转到步骤S307;
步骤S304,执行页擦除操作:
判断是首页,则读取该页的擦除次数,把次数暂存在寄存器中,若不是首页则直接对该页进行一次页擦除操作;
判断是首页,则在完成以后把擦除次数加1写回到首地址,否则不需要执行该操作,页擦除操作完成;
步骤S305,对数据区的下一个空白页做初始化:
判断当前有活动页,则在上一个活动页写入非活动标记;
在下一个将要写入数据的空白页的首地址写入数据活动标记;
步骤S306,数据写入与维护:
读取Tag Sram(103)得到旧数据的映射地址以及有效位,读取Data Sram(101)得到可能存在的旧数据;
若有效位有效则跳转到下工序Ⅰ,无效则跳转到工序Ⅱ;
工序Ⅰ,在旧数据的映射地址写入数据无效状态位,跳转到工序Ⅱ;
工序Ⅱ,把新数据写入活动区的下一条存储位置,同时写入实际地址以及有效状态位;
把新数据的映射地址写入Tag Sram(103),并且标注为有效;
步骤S307,转入整理操作;
整理操作包括如下步骤:
步骤S401,查看空白页寄存器,寻找一块新的页并且标记为替换区;
步骤S402,从Tag Sram(103)读取有效数据,然后搬移到替换页,跳转到步骤S403;
步骤S403,判断是否把的Data Sram(101)读取完毕;若是则跳转到步骤S405,否则跳转到步骤S404;
步骤S404,替换页的数据是否已经写满;若是则跳转到步骤S401,否则跳转到步骤S402;
步骤S405,把除了替换页以外的数据页全部标记为等待被擦除的状态;
步骤S406,把替换页的标记全部改成数据页,并且把最后一个替换页改成数据活动页。
2.根据权利要求1所述的电路设计方法,其特征在于:整理操作中步骤S402中还具体包括如下工序:
工序1,从0地址开始逐条读Tag Sram(103),若没有读完则继续读取;
工序2,得到有效位,若该数据有效,则跳转到工序3,若该数据无效,则跳转到工序1;
工序3,读Data Sram(101)得到数据;
工序4,把该数据写入到eFlash(102)替换区的下一条地址;
工序5,写Tag Sram(103)更新当前数据的存储位置,跳转到工序1。
3.根据权利要求1所述的电路设计方法,其特征在于:模拟EEPROM的结构包括:
Data Sram(101);用于缓存写入EEPROM的数据,其位宽和深度与实际需要的EEPROM的位宽和深度保持一致,数据总线可以直接对其进行读写访问;
eFlash(102),用于存储数据以便掉电后可以读回;eFlash(102)的大小决定了EEPROM的寿命;eFlash(102)越大,EEPROM的可擦写次数越多;每当新的数据写入Data Sram(101)的时候都要同步备份到eFlash(102)中,每当出现断电复位以后都要从eFlash(102)中搜寻有效的数据以及该数据的实际地址,然后写入Data Sram(101)以及对应的Tag Sram(103);
Tag Sram(103),用于存储有效标记和映射地址;有效位表示当前数据是否有效,映射地址表示当前数据备份于eFlash(102)中的物理地址;每当新的数据写入Data Sram(101)时都会更新Tag Sram(103)。
4.根据权利要求1所述的电路设计方法,其特征在于:Sram和eFlash中的数据存储格式:
eFlash划分为数据区和替换区,数据区用来备份EEPROM的数据,而替换区用于当数据区写满的时候整理数据;数据区和替换区都有多页组成,其中每页的首地址用于标记该页的属性,剩余地址用于存储数据。
CN202311555612.2A 2023-11-21 2023-11-21 一种模拟eeprom的电路设计方法 Pending CN117746951A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311555612.2A CN117746951A (zh) 2023-11-21 2023-11-21 一种模拟eeprom的电路设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311555612.2A CN117746951A (zh) 2023-11-21 2023-11-21 一种模拟eeprom的电路设计方法

Publications (1)

Publication Number Publication Date
CN117746951A true CN117746951A (zh) 2024-03-22

Family

ID=90251686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311555612.2A Pending CN117746951A (zh) 2023-11-21 2023-11-21 一种模拟eeprom的电路设计方法

Country Status (1)

Country Link
CN (1) CN117746951A (zh)

Similar Documents

Publication Publication Date Title
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
KR100572328B1 (ko) 배드 블록 관리부를 포함하는 플래시 메모리 시스템
EP1739683B1 (en) Space management for managing high capacity nonvolatile memory
US6262918B1 (en) Space management for managing high capacity nonvolatile memory
US7634624B2 (en) Memory system for data storage and retrieval
US6865658B2 (en) Nonvolatile data management system using data segments and link information
US20080250188A1 (en) Memory Controller, Nonvolatile Storage, Nonvolatile Storage System, and Memory Control Method
US6839798B1 (en) Flash memory capable of storing frequently rewritten data
JP2005516264A (ja) 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
CN107045423B (zh) 存储器装置及其数据存取方法
CN114968096A (zh) 一种存储器的控制方法、存储器与存储系统
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
JP2003058417A (ja) 記憶装置
CN115878033B (zh) 一种固态硬盘及其映射表管理方法
JPH11282765A (ja) フラッシュメモリを使用した外部記憶装置
CN112466371B (zh) 一种循环利用闪存模拟字节擦除功能的方法
CN117746951A (zh) 一种模拟eeprom的电路设计方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
US8751770B2 (en) Semiconductor recording apparatus and semiconductor recording system
JP2005092678A (ja) 半導体メモリカード及び不揮発性メモリのデータ消去処理方法
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
KR100490603B1 (ko) 플래시 메모리 동작 제어 방법 및 장치
CN112162933B (zh) 一种闪存的数据结构、存储方法、读取方法及转移方法
CN110427161B (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