CN118012355A - 模拟eeprom及其控制方法、模拟控制器、存储介质 - Google Patents
模拟eeprom及其控制方法、模拟控制器、存储介质 Download PDFInfo
- Publication number
- CN118012355A CN118012355A CN202410426164.4A CN202410426164A CN118012355A CN 118012355 A CN118012355 A CN 118012355A CN 202410426164 A CN202410426164 A CN 202410426164A CN 118012355 A CN118012355 A CN 118012355A
- Authority
- CN
- China
- Prior art keywords
- analog
- flash
- eeprom
- data
- sram
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004088 simulation Methods 0.000 claims abstract description 28
- 238000012544 monitoring process Methods 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 105
- 238000012423 maintenance Methods 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 18
- 230000007704 transition Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种模拟EEPROM及其控制方法、模拟控制器、存储介质。所述模拟控制器,适于在接收到所述写操作请求后,控制所述SRAM控制单元执行写操作,并监测Flash写入指示信息是否发生变化,并在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。采用上述方案,可以提高基于Flash和SRAM模拟EEPROM的写操作效率。
Description
技术领域
本发明涉及存储器技术领域,具体涉及一种模拟EEPROM及其控制方法、模拟控制器、存储介质。
背景技术
在芯片产品中,往往需要管理非易失性数据,比如,在系统启动时,需要将关键数据读取至系统内,防止芯片掉电后丢失数据。
带电可擦可编程只读存储器(Electrically Erasable Programmable read onlymemory,EEPROM)和闪存(Flash)作为存储设备,均具有掉电数据不丢失的特性。
其中,EEPROM的写入和擦除可以1字节(byte)为单位进行操作,比较自由,且擦写寿命达百万次,但存在造价较高、读写速度较慢的缺点。Flash的写入单位通常为数个byte(如4 byte),而擦写单位为1扇区(sector),且擦写寿命仅十万次,但其造价低廉,且读写速度相对较快。
对于低成本芯片产品而言,其应用存在使用EEPROM的需求,为了降低成本,使用Flash来模拟EEPROM就成为一种有效的方法。使用Flash模拟EEPROM时,通常还需要一块静态随机存取存储器(Static Random-Access Memory,SRAM)以实现byte单位的读写操作。
然而,现有基于Flash和SRAM模拟EEPROM的方案,写操作效率较低。
发明内容
本发明要解决的问题是:提高基于Flash和SRAM模拟EEPROM的写操作效率。
为解决上述问题,本发明实施例提供了一种模拟控制器,所述模拟控制器应用于模拟EEPROM中,所述模拟EEPROM,包括:SRAM单元、Flash单元及模拟控制单元;所述SRAM单元包括:SRAM控制单元及SRAM存储单元;
所述Flash单元包括:Flash控制单元及Flash存储单元;
所述模拟控制单元包括:模拟控制器及模拟寄存器;所述模拟寄存器中存储有Flash写入指示信息;
所述SRAM控制单元,适于在模拟EEPROM的存储模式为模拟EEPROM模式时,接收写操作请求,将所述写操作请求发送至所述模拟控制器,并在所述模拟控制器的控制下将所述写操作请求中携带的数据写入至所述SRAM存储单元中;
所述Flash控制单元,适于在所述模拟控制器的控制下,将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中;
其中:所述模拟控制器,适于在接收到所述写操作请求后,控制所述SRAM控制单元执行写操作,并监测Flash写入指示信息是否发生变化,并在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
本发明实施例还提供了一种模拟EEPROM的控制方法,应用于模拟EEPROM,所述模拟EEPROM包括SRAM单元、Flash单元及模拟控制单元;其中:所述SRAM单元包括:SRAM控制单元及SRAM存储单元;所述Flash单元包括:Flash控制单元及Flash存储单元;所述模拟控制单元包括:模拟控制器及模拟寄存器;所述模拟寄存器中存储有Flash写入指示信息;
所述SRAM控制单元,适于接收写操作请求,并将所述写操作请求中携带的数据写入至所述SRAM存储单元中,以及将所述写操作请求发送至所述模拟控制器;
所述方法包括:所述模拟控制器在模拟EEPROM的存储模式为模拟EEPROM模式时,控制所述SRAM控制单元执行写操作,并监测Flash写入指示信息是否发生变化,并在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现上述任一种所述方法的步骤。
本发明实施例还提供了一种模拟EEPROM,所述模拟EEPROM包括上述任一种所述的模拟控制器。
与现有技术相比,本发明实施例的技术方案具有以下优点:
应用本发明的方案,SRAM控制单元将数据写入至SRAM存储单元后,模拟控制器先监测Flash写入指示信息是否发生变化,在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,才控制SRAM控制单元对Flash存储单元执行写操作。通过设置Flash写入指示信息,可以将对SRAM存储单元的写操作与对Flash存储单元的写操作分开执行,相对于每对SRAM存储单元执行一次写操作就立即对Flash存储单元执行写操作,由于对SRAM存储单元执行写操作的速度很快,通常几个时钟周期就可以完成,而对Flash存储单元执行写操作的速度很慢,故通过Flash写入指示信息可以控制模拟控制器再对SRAM存储单元执行多次写操作后,才对Flash存储单元执行一次写操作,进而可以减少每次对SRAM存储单元执行写操作时等待Flash存储单元执行写操作的时间,提升写操作效率。
附图说明
图1是本发明实施例中一种模拟EEPROM的结构示意图;
图2是本发明实施例中模拟EEPROM的一种状态转换示意图;
图3是本发明实施例中一种模拟EEPROM的写操作流程示意图;
图4是本发明实施例中模拟EEPROM的另一种状态转换示意图;
图5是本发明实施例中模拟EEPROM的又一种状态转换示意图;
图6是本发明实施例中模拟EEPROM的再一种状态转换示意图。
具体实施方式
目前,基于Flash和SRAM模拟EEPROM的方案,每对SRAM存储单元执行一次写操作就立即对Flash存储单元执行写操作。
由于对SRAM存储单元执行写操作的速度很快,通常几个时钟周期就可以完成,而对Flash存储单元执行写操作的速度很慢,故每次对SRAM存储单元执行写操作后,都需要等待Flash存储单元执行一次写操作,才能再次对RAM存储单元执行写操作,由此导致写操作效率较低。
针对该问题,本发明提供了一种模拟EEPROM,采用该方案,SRAM控制单元将数据写入至SRAM存储单元后,模拟控制器先监测Flash写入指示信息是否发生变化,在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,才控制SRAM控制单元对Flash存储单元执行写操作。通过设置Flash写入指示信息,可以将对SRAM存储单元的写操作与对Flash存储单元的写操作分开执行,进而可以减少每次对SRAM存储单元执行写操作时等待Flash存储单元执行写操作的时间,提升写操作效率。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细地说明。
参照图1,本发明实施例提供了一种模拟EEPROM10,所述模拟EEPROM10可以包括:SRAM单元11、Flash单元12及模拟控制单元13。其中:
所述SRAM单元11可以包括:SRAM控制单元111及SRAM存储单元112;
所述Flash单元12可以包括:Flash控制单元121及Flash存储单元122;
所述模拟控制单元13可以包括:模拟控制器131及模拟寄存器132;所述模拟寄存器132中存储有Flash写入指示信息;
所述SRAM控制单元111,适于在模拟EEPROM的存储模式为模拟EEPROM模式时,接收写操作请求,将所述写操作请求发送至所述模拟控制器131,并在所述模拟控制器131的控制下将所述写操作请求中携带的数据写入至所述SRAM存储单元112中;
所述Flash控制单元121,适于在所述模拟控制器131的控制下,将所述SRAM存储单元112未更新至所述Flash存储单元122的数据写入至所述Flash存储单元122中;
在本发明实施例中,所述模拟控制器131,适于在接收到所述写操作请求后,控制所述SRAM控制单元111执行写操作,并监测Flash写入指示信息write_done是否发生变化,并在监测到Flash写入指示信息write_done指示向Flash存储单元中写入数据后,控制Flash控制单元121将所述SRAM存储单元112未更新至所述Flash存储单元122的数据,写入至所述Flash存储单元122中。
通过设置Flash写入指示信息write_done,使得模拟控制器131对SRAM存储单元112的写操作与对Flash存储单元122的写操作分开执行,进而可以减少每次对SRAM存储单元112执行写操作时等待Flash存储单元122执行写操作的时间,提升写操作效率。
在具体实施中,SRAM控制单元111内部可以设置有SRAM寄存器,该SRAM寄存器可以用于存储SRAM控制单元111运行时所需信息。SRAM控制单元111可以设置有总线接口,通过总线接口与总线连接。模拟EEPROM10外部的处理器,可以通过总线以及总线接口访问SRAM控制单元111,从而向SRAM控制单元111发送相应的操作请求,或者更改SRAM寄存器的配置。
具体地,SRAM控制单元111可以设置有两个总线接口,分别为第一SRAM总线接口及第二SRAM总线接口。通过第一SRAM总线接口,SRAM控制单元111可以与第一总线连接,从而接收外部处理器发送的操作请求,比如,写操作请求或者读操作请求,从而实现相应的数据操作。通过第二SRAM总线接口,SRAM控制单元111可以与第二总线连接,从而实现对SRAM寄存器的配置。
在具体实施中,Flash控制单元121内部可以设置有Flash寄存器,该Flash寄存器可以用于存储Flash控制单元121运行时所需信息。Flash控制单元121可以设置有总线接口,通过总线接口与总线连接。模拟EEPROM10外部的处理器,可以通过总线以及总线接口访问Flash控制单元121,从而向Flash控制单元121发送相应的操作请求,或者更改Flash寄存器的配置
具体地,Flash控制单元121可以设置有两个总线接口,分别为第一Flash总线接口及第二Flash总线接口。通过第一Flash总线接口,Flash控制单元121可以与第一总线连接,从而接收外部处理器发送的操作请求,比如,写操作请求或者读操作请求,从而实现相应的数据操作。通过第二Flash总线接口,Flash控制单元121可以与第二总线连接,从而实现对Flash寄存器的配置。
在具体实施中,模拟寄存器132用于存储模拟控制器131运行时所需信息。模拟控制器131可以设置有总线接口,通过总线接口与总线连接。模拟EEPROM10外部的处理器,可以通过总线以及总线接口访问模拟寄存器132,从而通过模拟控制器131更改模拟寄存器132的配置。
具体地,模拟控制器131可以设置有一个总线接口。通过唯一的总线接口,模拟控制器131可以与第二总线连接,从而实现对模拟寄存器132配置的更改。
在具体实施中,第一总线可以为高级高性能 (Advanced High Performance Bus,AHB)总线,连接第一总线的接口为AHB接口。第二总线可以为外围总线 (AdvancedPeripheral Bus,APB),连接第二总线的接口为APB接口。
在具体实施中,所述模拟EEPROM可以仅存在一种存储模式,即模拟EEPROM模式。模拟EEPROM模式下,所述模拟EEPROM可以仅作为EEPROM使用。
在一实施例中,所述模拟EEPROM还可以存在另一种模式,即RAM模式。RAM模式下,所述模拟EEPROM不作为EEPROM使用,所述模拟EEPROM10中SRAM单元11就作为单纯的SRAM使用,Flash单元12作为单纯的Flash使用,由此可以增加模拟EEPROM使用的灵活性。
在具体实施中,参照图2,模拟EEPROM在空闲态下且处于模拟EEPROM模式时,通过SRAM控制单元111接收写操作请求,可以执行对模拟EEPROM的写操作,在写操作完成后,模拟EEPROM转换为空闲态。
图3为模拟EEPROM模式下模拟EEPROM的写操作流程。参照图3,在具体实施中,模拟EEPROM模式下,需要对模拟EEPROM执行写操作时,外部处理器可以通过第一SRAM总线接口向SRAM控制单元111发送写操作请求。SRAM控制单元111在接收到该写操作请求后,可以将写操作请求发送至所述模拟控制器131。
在具体实施中,模拟控制器131在接收到写操作请求后,可以向SRAM控制单元111发送写操作控制信号。SRAM控制单元111在接收到该写操作控制信号后,对SRAM存储单元112执行写操作。
模拟控制器131在控制SRAM控制单元111执行写操作的同时,可以读取模拟寄存器132中的信息,再确定后续操作。具体地,模拟寄存器132中可以存储有Flash写入指示信息write_done。该Flash写入指示信息write_done的默认值可以为“0”,表示不对Flash存储单元122执行写操作。外部处理器可以在需要模拟控制器131执行写操作时,通过模拟控制器131与第二总线的接口,可以将模拟寄存器132中Flash写入指示信息write_done的值修改为“1”,此时,Flash写入指示信息write_done取值的改变会触发模拟寄存器132对Flash存储单元122执行写操作。
在具体实施中,外部处理器可以基于当前使用场景确定是否需要模拟控制器131执行写操作,比如,外部处理器可以在SRAM控制单元111对SRAM存储单元112执行一段相对高强度的写操作后(即写入多个数据),再修改Flash写入指示信息write_done的值。或者,外部处理器可以在SRAM控制单元111对SRAM存储单元112执行写操作达到设定时间后,再修改Flash写入指示信息write_done的值。由此可以使得SRAM控制单元111能够连续地对SRAM存储单元112执行写操作,而不被中断,模拟控制器131可以在SRAM存储单元112执行写操作后,再对Flash存储单元122执行写操作,由于后续模拟控制器131对Flash存储单元122执行写操作的过程对用户而言是不可见的,故相当于变相提高了写操作效率。
当模拟控制器131检测到flash写入指示信息write_done为“1”时,可以控制Flash控制单元121对Flash存储单元122执行写操作。
在本发明的一实施例中,所述SRAM存储单元112中存储有数据以及各数据对应的数据信息。
相应地,所述SRAM控制单元111,在所述模拟控制器131的控制下,读取所述SRAM存储单元112中各个数据的数据信息,确定所述SRAM存储单元112未更新至所述Flash存储单元的数据并发送至所述模拟控制器131。
具体地,每个写入至SRAM存储单元112的数据都有对应的数据信息。此时,SRAM存储单元112的存储空间可以分为第一SRAM存储子单元及第二SRAM存储子单元,所述第一SRAM存储子单元及第二SRAM存储子单元的大小可以相同。其中,所述第一SRAM存储子单元可以用于存储写入至模拟EEPROM的数据,所述第二SRAM存储子单元可以用于存储所述写入至模拟EEPROM的数据对应的数据信息。比如,SRAM存储单元112为大小2*a KB,则第一SRAM存储子单元的大小可以为a KB,第二SRAM存储子单元的大小也为a KB,第一SRAM存储子单元中每个字可以存储32bit的数据,第二SRAM存储子单元中每个字也可以存储32比特的数据。
进一步地,在一实施例中,所述第一SRAM存储子单元可以包括多个模拟EEPROM区域。所述Flash单元12中可以配置有每个模拟EEPROM区域的保护标识信息。具体地,可以在Flash寄存器内存储每个模拟EEPROM区域的保护标识信息,基于模拟EEPROM区域的保护标识信息,可以确定该模拟EEPROM区域是否处于保护状态。处于保护状态的模拟EEPROM区域不允许写入数据,而未处于保护状态的模拟EEPROM区域允许写入数据。
在具体实施中,外部处理器可以通过总线接口对第一SRAM存储子单元包含的模拟EEPROM区域进行配置(包括模拟EEPROM区域的大小、位置及数量)。外部处理器也可以通过总线接口对模拟EEPROM区域的保护信息进行配置。为了提高数据安全性,一经配置,模拟EEPROM区域及其保护信息便不可篡改,但受保护的模拟EEPROM区域可以增加而不可减少。比如,所述第一SRAM存储子单元可以分为10个模拟EEPROM区域,外部处理器可以配置第0个至第7个模拟EEPROM区域为受保护区域,后续外部处理器还可以增加第8个模拟EEPROM区域为受保护区域。被保护的模拟EEPROM区域只允许读操作,由此可以对模拟EEPROM进行数据保护。
相应地,所述模拟控制器131,适于在接收到所述写操作请求后,基于所述模拟EEPROM区域的保护标识信息确定所述写操作请求对应的写地址是否位于受保护的模拟EEPROM区域内,在所述写操作请求对应的写地址位于受保护的模拟EEPROM区域内时进行错误提示,否则控制所述SRAM控制单元执行写操作。
例如,当写操作请求对应的写地址位于保护的模拟EEPROM区域内时,模拟控制器131可以产生标识试图写EEPROM保护区域的错误提示信息prot_viol。若写操作请求对应的写地址没有位于保护的模拟EEPROM区域内,则模拟控制器131可以产生写操作控制信号,控制SRAM控制单元112执行写操作。
在具体实施中,所述数据信息可以包括:对应数据的写状态信息、对应数据在Flash的地址信息。
具体地,在一实施例中,所述对应数据的写状态信息包括:对应数据已更新至Flash、对应数据只在SRAM未更新至Flash及对应数据不存在。也就是说,通过设置写状态信息,可以对数据的是否写入至Flash的状态进行标识,便于后续基于该写状态信息识别未更新至Flash的数据,进而能够快速将未更新至Flash的数据写入至Flash存储单元122。
比如,以数据信息长度为32 bit为例,可以将其中第24至27bit作为数据的写状态信息,设置“1111”来标识对应数据已更新至Flash,设置“0011” 来标识对应数据只在SRAM未更新至Flash,设置“0000” 来标识对应数据不存在。后续读取数据信息中第24至27bit来确定对应数据是否更新至Flash中。
对应数据在Flash的地址信息通常由对应数据所在扇区标识信息(sector num)及扇区标识信息指向的扇区内的地址信息(inter address)。其中,扇区标识信息,指的是对应数据在Flash存储单元122中所在的扇区号(sector num)。所述Flash存储单元包括多个扇区,每个扇区的大小通常为1KB,具体可以根据实际工艺确定。比如,可以设置32 bit的数据信息中第10至15bit,来标识数据所在的扇区号,第0至9bit来标识数据在Flash存储单元122中存储地址。后续基于对应数据所在扇区标识信息及对应数据在Flash的地址信息,可以便于模拟控制器131执行维护操作。
所述SRAM控制单元111可以在模拟EEPROM初始化的过程中,获得对应数据的数据信息并存储在SRAM存储单元112中。后续所述模拟控制器131在监测到Flash写入指示信息write_done为“1”时,再控制Flash控制单元121对Flash存储单元122执行写操作。
基于数据信息中数据的写状态信息,可以快速找到未更新至所述Flash存储单元122的数据,从而完成Flash存储单元121的写入,提高Flash存储单元121写操作的效率。
在本发明的一实施例中,所述模拟控制器131,适于在控制所述Flash控制单元121对所述Flash存储单元122执行写操作之前,确定自身及所述Flash控制单元121是否空闲,并在自身及所述Flash控制单元121均空闲时,控制所述Flash控制单元121对所述Flash存储单元122执行写操作。
在具体实施中,所述模拟寄存器132中还可以存储有SRAM数据更新标识信息data_unsync。SRAM数据更新标识信息data_unsync用于标识SRAM存储单元112中存储的数据是否更新。外部处理器在向SRAM存储单元112中写数据后,模拟控制器131可以更改模拟寄存器132中SRAM数据更新标识信息data_unsync,比如,SRAM数据更新标识信息data_unsync默认值为“0”,模拟控制器131可以在外部处理器向SRAM存储单元112中写数据后,将SRAM数据更新标识信息data_unsync的值修改为“1”。
相应地,所述模拟控制器132,适于在监测到Flash写入指示信息write_done指示向Flash存储单元中写入数据,且SRAM数据更新标识信息data_unsync标识所述SRAM存储单元中数据发生更新时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。当所述SRAM存储单元中数据未发生更新时,所述模拟控制器132可以重新监测Flash写入指示信息write_done是否发生变化。
在本发明的一实施例中,所述模拟控制器131,适于在控制所述Flash控制单元121对所述Flash存储单元122执行写操作之前,确定及自身所述Flash控制单元121是否空闲,并在自身及所述Flash控制单元121均空闲时,才控制所述Flash控制单元122对所述Flash存储单元122执行写操作。当自身及所述Flash控制单元121非空闲时,所述模拟控制器132可以重新监测Flash写入指示信息write_done是否发生变化。
具体地,所述模拟寄存器132还可以存储有模拟控制器状态标识信息eee_bsy。所述模拟控制器状态标识信息eee_bsy用于标识模拟控制器131处于空闲状态还是繁忙状态。模拟控制器132可以随时监测自身的状态,并基于监测结果调整模拟控制器状态标识信息eee_bsy的值。比如,模拟控制器132空闲状态时,模拟控制器状态标识信息eee_bsy的值可以为“0”,反之为“1”。
Flash寄存器可以存储有Flash状态标识信息Flash_bsy,所述Flash状态标识信息Flash_bsy用于标识Flash控制单元121处于空闲状态还是繁忙状态。模拟控制器132可以监测Flash控制单元121的状态,并基于监测结果调整Flash状态标识信息Flash_bsy的值。比如,Flash控制单元121空闲状态时,对应Flash状态标识信息Flash_bsy的值可以为“0”,反之为“1”。
在具体实施中,模拟控制器132可以在产生所述写操作控制信号之前,基于所述Flash状态标识信息Flash_bsy确定所述Flash控制单元121是否空闲,基于所述模拟控制器状态标识信息eee_bsy确定自身是否空闲,并在所述Flash控制单元121空闲且所述模拟控制器132自身空闲时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
如果Flash控制单元121繁忙或者模拟控制器132繁忙,则模拟控制器132可以报错,即产生标识写EEPROM操作失败的错误提示信息。在一些实施例中,如果Flash控制单元121繁忙或者模拟控制器132繁忙,模拟控制器132可以继续监测Flash状态标识信息Flash_bsy及模拟控制器状态标识信息eee_bsy,直至Flash控制单元121空闲且所述模拟控制器132自身空闲,再控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。当然,如果Flash控制单元121繁忙或者模拟控制器132繁忙,模拟控制器132也可以直接终止写操作。
在具体实施中,模拟控制器132在执行写操作的过程中,若发现模拟寄存器132中存在上一次操作产生的未清除的错误提示信息,则模拟控制器132可以清除上一次操作产生的未清除的错误提示信息,并继续执行写操作。
在具体实施中,模拟控制器131控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中的过程中,也就是控制Flash控制单元121执行写操作的过程中,可以先向SRAM控制单元111发送数据信息扫描信号,所述数据信息扫描信号可以控制SRAM控制单元111扫描各个数据的数据信息并发送至模拟控制器131。模拟控制器131对数据信息进行分析,确定该数据信息对应的数据是否更新至Flash存储单元121。若模拟控制器131分析确定该数据信息对应的数据未更新至Flash存储单元121,则模拟控制器131可以向SRAM控制单元111发送数据请求信号,来获得该数据信息对应的数据,并将所获得的数据发送至Flash控制单元121,由Flash控制单元121将该数据写入至Flash存储单元121。
在具体实施中,模拟控制器131可以在每扫描到一个未更新至Flash存储单元121的数据,即控制Flash控制单元121执行写操作,直至扫描完所有数据信息,将所有未更新至Flash存储单元121的数据更新至Flash存储单元121中。其中,SRAM控制单元111可以在Flash控制单元121执行写操作的同时,更新SRAM存储单元112中数据信息,使得每个数据的数据信息保持数据更新后的状态。
可以理解的是,在Flash控制单元121执行写操作的过程中,Flash状态标识信息Flash_bsy标识Flash控制单元121处于繁忙状态,模拟控制器131自身也处于繁忙状态。
在具体实施中,在向Flash存储单元写入数据的过程中,Flash单元也可能出现大量硬件错误,此时,模拟控制器132也可以进行报错。
在具体实施中,所述Flash单元12中还可以存储有存储模式标识信息,所述存储模式标志信息适于标识所述模拟EEPROM的存储模式。将存储模式标识信息存储在Flash单元,在上电或复位后,存储模式标识信息可以被存储至模拟寄存器132内。后续在模拟EEPROM上电后,后续模拟控制器131可以从模拟寄存器132读取存储模式标识信息,便可确定当前的存储模式。
在本发明的一实施例中,可以通过在Flash寄存器内配置分区信息EFLASH_SIZE,来作为存储模式标识信息。所述分区信息EFLASH_SIZE用于标识Flash存储单元122内用于作为EEPROM使用的存储空间大小。通过配置分区信息EFLASH_SIZE,可以指定当前存储模式为模拟EEPROM模式还是RAM模式。
此时,所述Flash存储单元122可以包括:第一Flash存储子单元以及第二Flash存储子单元;所述第一Flash存储子单元适于存储写入至模拟EEPROM的数据;所述第二Flash存储子单元适于存储写入至所述Flash单元的数据。
所述分区信息EFLASH_SIZE用于标识第一Flash存储子单元的大小。比如,可以配置Flash寄存器内某2个比特作为分区信息EFLASH_SIZE,当该2个比特的值为0时,表示第一Flash存储子单元为0KB,即Flash存储单元122中作为EEPROM使用的存储空间大小为0KB,此时,当前存储模式为RAM模式。当该2个比特的值为1时,表示第一Flash存储子单元为32KB,即Flash存储单元122中作为EEPROM使用的存储空间大小为32KB,此时,当前存储模式为模拟EEPROM模式且存储空间大小为32KB。当该2个比特的值为2时,表示第一Flash存储子单元为48KB,即Flash存储单元122中作为EEPROM使用的存储空间大小为48KB,此时,当前存储模式为模拟EEPROM模式且存储空间大小为48KB。当该2个比特的值为3时,表示第一Flash存储子单元为64KB,即Flash存储单元122中作为EEPROM使用的存储空间大小为64KB,此时,当前存储模式为模拟EEPROM模式且存储空间大小为64KB。
在具体实施中,在当前存储模式为模拟EEPROM模式时,第一Flash存储子单元不能被用户访问,而第二Flash存储子单元仍能够被用户访问。在当前存储模式为RAM模式时,第一Flash存储子单元及第二Flash存储子单元均能够被用户访问。
需要说明的是,所述存储模式标识信息是不可篡改的。一经配置,第一Flash存储子单元的大小便不能再被改动。
在本发明的一实施例中,所述模拟寄存器132中还存储有模式转换标识信息eee_disable,所述模式转换标识信息eee_disable适于指示将当前存储模式转换为另一存储模式。
在具体实施中,所述模式转换标识信息eee_disable是可以通过外部处理器进行读写的。外部处理器可以将模式转换标识信息eee_disable的值进行修改,从而将当前存储模式转换为另一存储模式。
在本发明的一实施例中,Flash单元内还可以存储模式锁定信息MODE_LOCK,所述存储模式锁定信息MODE_LOCK用于模式锁定,不允许后续通过模拟寄存器132将存储模式转换。后续上电或者复位后,存储模式锁定信息MODE_LOCK可以被存储至模拟寄存器132内,从而便于模拟控制器131读取。比如,在当前存储模式为模拟EEPROM模式时,通过配置存储模式锁定信息MODE_LOCK,可以不允许使用过程中屏蔽EEPROM功能,从而可以使得模拟EEPROM的设置变得固定专用,能够防止不希望的意外功能篡改。
具体地,默认情况下,存储模式锁定信息MODE_LOCK的值可以为“0”,当存储模式锁定信息MODE_LOCK的值修改为 “1”时,表示模式锁定。此时,不允许后续通过模拟寄存器132将模式转换标识信息eee_disable进行置位。
也就是说,在模式转换标识信息eee_disable指示模数转换时,若MODE_LOCK的值为“0”,则模拟EEPROM的存储模式可以进行模式转换,否则模拟EEPROM的存储模式保持不变。
在其它实施例中,也可以不设置存储模式锁定信息MODE_LOCK,此时仅根据模式转换标识信息eee_disable确定是否进行模式转换即可。
在本发明的一实施例中,参照图4,MODE_LOCK的值为“0”时,若所述模式转换标识信息eee_disable指示模拟EEPROM由模拟EEPROM模式转换为RAM模式,则所述模拟控制器131还适于执行RAM复位操作。
具体地,基于分区信息将当前存储模式配置为模拟EEPROM模式,后续外部处理器通过模式转换标识信息eee_disable=1,将存储模式由模拟EEPROM模式转换为RAM模式。当发现模式转换标识信息eee_disable=1时,模拟控制器131可以先检查自身是否处于繁忙状态(即查看模拟控制器状态标识信息eee_bsy的值),并通过Flash控制单元121来确定是否锁定了模式转换功能(即查看存储模式锁定信息MODE_LOCK的值)。若模拟控制器131空闲且MODE_LOCK=0,则模拟控制器131可以将模拟控制器状态标识信息eee_bsy置“0”,同时开始将SRAM存储单元112内数据及数据信息清零。这样,即可访问第一SRAM存储子单元及第二SRAM存储子单元。
在具体实施中,SRAM控制单元111内的SRAM寄存器可以存储有SRAM状态标识信息ram_bsy,该SRAM状态标识信息ram_bsy用于标识SRAM状态。在模拟EEPROM模式下,SRAM控制单元111受控于模拟控制器131进行读写操作、RAM复位操作等,此时,SRAM状态标识信息ram_bsy处于繁忙状态,即始终拉高为高电平。
在本发明的一实施例中,参照图5,在模拟控制器131执行RAM复位操作后,模拟EEPROM处于RAM模式下。此时,若再次改变模式转换标识信息eee_disable的值,比如将eee_disable的值由“1”修改为“0”,则模拟控制器131还适于执行模拟EEPROM复位操作。执行模拟EEPROM复位操作后,模拟EEPROM由RAM模式转换为模拟EEPROM模式。
具体地,当发现模式转换标识信息eee_disable=0时,模拟控制器131可以先检查Flash控制单元121是否处于繁忙状态(即查看Flash状态标识信息Flash_bsy的值),SRAM控制单元111是否处于繁忙状态(即查看SRAM状态标识信息ram_bsy的值)。若Flash控制单元121及SRAM控制单元111均空闲,则模拟控制器131可以将SRAM存储单元112内数据清零,再将Flash存储单元内存储的数据的记录信息整理成数据和数据对应的记录信息并写入读取到SRAM存储单元112中。
执行模拟EEPROM复位操作的过程中,Flash控制单元121处于繁忙状态,即Flash状态标识信息Flash_bsy置位Flash控制单元121的繁忙状态。模拟寄存器132内模拟控制器状态标识信息eee_bsy也置位模拟控制器131处于繁忙状态。
在一实施例中,参照图6,所述模拟控制器131还适于在模拟EEPROM上电或者重启后,确定模拟EEPROM的存储模式,并执行相应模式对应的初始化操作。
在本发明的一实施例中,所述Flash存储单元121中每个扇区内存储的信息包括:数据记录信息以及所在扇区头部信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
其中,所述SRAM存储单元112中的数据在写入至Flash存储单元122时,需要增加信息后再存入Flash存储单元122中,增加的信息即该数据的记录信息。所述数据的记录信息,可以记录该数据对应于SRAM存储单元112的地址以及数据状态。所述数据状态可以为有数据状态以及无数据状态。比如,可以在数据记录信息的第0至31bit存储数据本身,第32至39bit存储数据状态,在第48至58存储该数据对应于SRAM存储单元112的地址。数据状态的取值可以为:“0xff”表示本数据记录内无数据,“0x00” 表示本数据记录内有数据。数据状态为本数据记录内无数据的记录信息,为无效记录信息。数据状态为本数据记录内有数据的记录信息,为有效记录信息。
在一实施例中,所述扇区头部信息包括:所在扇区的擦除次数信息、所在扇区的写入状态信息以及死区标识信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
具体地,扇区头部信息可以包含两个64bit,第一个64bit可以存储本扇区的擦除次数信息current erased cnt及本扇区的写入状态信息sector state,第二个64bit可以存储死区标识信息dead_flag。其中,第一个64bit的第0至7bit可以存储本扇区的写入状态信息sector state,第32至51bit可以存储本扇区的擦除次数信息current erased cnt。所述本扇区的写入状态信息sector state取值可以为:“0xff”表示本扇区已擦除,“0x00” 表示本扇区包含数据记录信息(即未被擦除)。本扇区的擦除次数信息current erased cnt可以为具体的擦除次数值。第二个64bit的第0至7bit可以存储死区标识信息,比如,“0xff”表示本扇区为有效扇区,“0x00” 表示本扇区为死区。
在具体实施中,模拟EEPROM发生上电或者重启的过程中,若分区信息指定存储模式为模拟EEPROM模式,则模拟控制器将默认当前模式为模拟EEPROM模式,并执行模拟EEPROM模式的初始化流程。模拟EEPROM模式的初始化会将第一Flash存储子单元的数据读取到SRAM存储单元中,并将一些模拟EEPROM模式运行必须的信息保存在模拟寄存器中。
具体地,模拟控制器可以在等待SRAM单元完成了初始化后,进行Flash内数据记录信息的读取,获取基本信息。读取数据记录信息后,模拟控制器就获得了Flash存储单元中数据记录的起始地址,随后就从该起始地址开始进行记录信息的读取,将有效记录信息对应data读取至SRAM存储单元。Flash存储单元中可能保存有对应同一个SRAM地址的多个记录信息,而其中最新的那个记录信息才保有最新的值,由于记录信息的读取从记录信息的起始地址开始,在SRAM存储单元中新的记录信息自然会将旧的记录信息替换掉。
在具体实施中,所述模拟寄存器还存储有模拟EEPROM初始化失败标识信息eee_init_failed;所述模拟控制器适于在执行所述初始化操作的过程中,读取所述模拟EEPROM初始化失败标识信息eee_init_failed,确定是否使用所述模拟EEPROM模式。
具体地,模拟EEPROM在运行过程中可能出现过多的Flash硬件错误,导致模拟EEPROM无法完成初始化。一般来讲,Flash存储单元中有效扇区的Flash地址是相连的,若读取扇区头部信息的过程中发现了不连续的有效扇区,则可以产生模拟EEPROM初始化失败标识信息eee_init_failed。其中,有效扇区可以被无效扇区及死区所分开,此时不认为有效扇区不连续。另外,在读取所有扇区头部信息之后,也可以统计空闲扇区(已被擦除且未被使用的空闲且可使用的扇区)个数,若空闲扇区个数为0,此时表明模拟EEPROM认为没有可用的空闲扇区,则模拟控制器也可以产生模拟EEPROM初始化失败标识信息eee_init_failed。
若模拟EEPROM初始化失败标识信息eee_init_failed发生置位,则模拟控制器在没有禁止模式转换的情况下,可以将当前模式转换为SRAM模式,如果继续使用模拟EEPROM模式,可能导致意想不到的错误。
在具体实施中,所述模拟寄存器内可以存储有SRAM初始化完毕的标识信息ram_rdy,后续在RAM模式下对SRAM单元的操作,需要在SRAM初始化完毕的情况下执行。所述模拟寄存器内还可以存储有模拟EEPROM初始化完毕的标识信息eee_rdy,后续对模拟寄存器的操作,需要在模拟EEPROM初始化完毕的情况下执行。
在具体实施中,模拟EEPROM在空闲态时,也可以接收到读操作请求。此时,若模拟EEPROM处于SRAM模式,且SRAM初始化完毕,则可以由SRAM控制单元基于该读操作请求完成数据读取。若模拟EEPROM处于模拟EEPROM模式,且模拟EEPROM初始化完毕,则可以由SRAM控制单元完成数据读取。
为了提高模拟EEPROM的耐用性,在实际应用中,所述模拟控制器还需要对模拟EEPROM执行维护操作。所述维护操作指的是:在将Flash存储单元中部分数据擦除,以接纳新数据。
现有基于SRAM及Flash模拟EEPROM的方案,在Flash存储单元的一个Flash区域写满后,需要将该区域内所有有效数据取出放到另一Flash区域,并擦除原写满的Flash区域。由于需要把该区域内所有有效数据取出,故会增加对Flash存储单元的写操作次数,从而影响硬件寿命。
针对该问题,在本发明的一实施例中,参照图1,所述模拟控制器131可以基于Flash存储单元122当前空闲扇区个数,对所述模拟EEPROM10执行维护操作。模拟寄存器132可以在每次执行写操作或者初始化操作后,对模拟EEPROM10执行维护操作。
具体地,模拟控制器131可以在初始化后或者写操作后,读取Flash存储单元122中的扇区头部信息,来得到Flash存储单元122当前空闲扇区个数信息ready_num、所述Flash存储单元122中数据的起始地址信息start_addr及结束地址信息end_addr,以及所述Flash存储单元122中每个扇区的状态信息sector_sts。模拟控制器131可以将所读取到的数据记录信息存储在模拟寄存器132中。
所述模拟控制器131还适于在模拟EEPROM模式下,判断所述Flash存储单元122当前空闲扇区个数是否小于空闲扇区的总数ready_size,并在所述Flash存储单元122当前空闲扇区个数小于所述空闲扇区的总数ready_size时,对所述模拟EEPROM10执行维护操作。
在具体实施中,空闲扇区的总数ready_size可以由外部处理器在Flash单元中进行配置。空闲扇区的总数ready_size也属于不可篡改的信息,即一经配置后不能变更。
当对Flash执行初始化或者写操作后,Flash存储单元122内空闲扇区的数量会发生变更。模拟控制器131会实时读取Flash存储单元122中写入状态信息sector state,从而基于空闲扇区的总数ready_size以及当前Flash存储单元122中有数据的扇区个数,得到当前空闲扇区个数信息ready_num。在前空闲扇区个数信息ready_num小于空闲扇区的总数ready_size时,执行维护操作。
在模拟EEPROM运行过程中,考虑到在同一操作中可能连续出现多次Flash硬件错误,这会导致空闲扇区的消耗而却可能得不到补充,因此预先设置允许运行过程中的空闲扇区阈值ready_num_lt,作为空闲扇区个数可允许的最小值,当空闲扇区个数小于该空闲扇区阈值ready_num_lt时,认为模拟EEPROM已经不适合使用,由此可以使得用户能够对硬件寿命有所预期,避免不可挽回的数据丢失。其中,空闲扇区阈值ready_num_lt可以由外部处理器在Flash单元中进行配置。空闲扇区阈值ready_num_lt也属于不可篡改的信息,即一经配置后不能变更。
在本发明的一实施例中,所述维护操作包括:将所述Flash存储单元122中最老扇区存储的有效数据记录信息存储至所述Flash存储单元122最新扇区,并对所述最老扇区执行擦除操作,直至所述Flash存储单元122当前空闲扇区个数大于或等于所述空闲扇区的总数ready_size。
在具体实施中,模拟控制器131可以基于Flash存储单元122中数据的起始地址信息start_addr及结束地址信息end_addr,确定Flash存储单元122中最老扇区。通常情况下,Flash存储单元122中最老扇区为Flash存储单元122起始地址的数据记录信息所在扇区。Flash存储单元122中最新扇区为结束地址的数据记录信息所在扇区。这样,在需要对模拟EEPROM进行维护时,无需对旧数据进行标记,可以直接将Flash存储单元122起始地址所在扇区中数据记录信息,存储至结束地址所在扇区中。
相对于将一个区域有效数据全部取出再存放到另一个区域,本发明实施例中的方案,可以减少对Flash存储单元122的擦写次数,提高硬件寿命,并且维护操作用时较少。另外,通过监测当前空闲扇区个数,维护操作总在写操作或者初始化操作后的才执行,且擦除前将最老扇区的有效数据搬至最新扇区后进行,此时即便产生意外的掉电,数据也不会因此丢失,降低数据丢失风险,并且可以提升Flash存储单元122的耐用性。
在具体实施中,可能因为数据搬运造成新扇区被使用,或者擦除掉的是死区,这都会导致当前空闲扇区的数量不变。故在擦除一个扇区后,模拟控制器131仍执行检查操作,直至Flash存储单元122当前空闲扇区个数大于或等于所述空闲扇区的总数ready_size,否则再次进行维护。
在具体实施中,每对Flash存储单元122执行一次写操作,或者每执行一次初始化操作,模拟控制器131都可以执行维护操作,在Flash存储单元122当前空闲扇区个数大于或等于所述空闲扇区的总数ready_size后,才允许执行其它操作。其中,所述空闲扇区的总数ready_size可以根据实际耐用性需求进行设置,由此可以满足多种应用需求。
在一实施例中,所述模拟控制器131还适于在执行维护操作过程中,检测所述Flash单元12是否发生硬件错误,并在所述Flash单元12发生硬件错误次数达到预设次数阈值时,停止执行所述维护操作,对进行相应的错误提示。
具体地,对于多次执行维护的情况,如果Flash硬件错误发生过多可能导致模拟控制器131的工作无法维持,模拟控制器131可以始终记录当前空闲扇区个数,在当前空闲扇区个数小于预设空闲扇区阈值时,则报告错误,状态机也走向空闲状态。比如,在当前空闲扇区个数小于预设空闲扇区阈值时,模拟控制器131可以产生错误提示信息space_err,来提示当前空闲扇区数量过少。
采用本发明的方案,可以减小Flash的擦写次数以延长模拟EEPROM的寿命。并且,写操作及维护操作均可以快速地完成,耐用性更好。
本发明的方案,还能够提高数据的安全性,配置也更灵活。
另外,本发明的方案,模拟EEPROM可以在RAM模式及模拟EEPROM模式切换,满足多种应用需求。
通过对各种错误进行提示,可以提高用户体验。
为了使本领域技术人员更好地理解和实现本发明,以下对上述模拟EEPROM对应的控制方法及计算机可读存储介质进行详细描述。
本发明实施例还提供了一种模拟EEPROM的控制方法,所述模拟EEPROM包括:SRAM单元、Flash单元及模拟控制单元;其中:所述SRAM单元包括:SRAM控制单元及SRAM存储单元;所述Flash单元包括:Flash控制单元及Flash存储单元;所述模拟控制单元包括:模拟控制器及模拟寄存器;所述模拟寄存器中存储有Flash写入指示信息。其中,所述SRAM控制单元,适于接收写操作请求,并将所述写操作请求中携带的数据写入至所述SRAM存储单元中,以及将所述写操作请求发送至所述模拟控制器;
所述方法包括:
所述模拟控制器在模拟EEPROM的存储模式为模拟EEPROM模式时,控制所述SRAM控制单元执行写操作,并监测Flash写入指示信息是否发生变化,并在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
在一实施例中,所述SRAM存储单元中存储有数据以及各数据对应的数据信息。
在一实施例中,所述数据信息包括:对应数据的写状态信息、对应数据在Flash的地址信息;其中,所述对应数据的写状态信息包括:对应数据已更新至Flash、对应数据只在SRAM未更新至Flash及对应数据不存在。
在一实施例中,所述模拟寄存器还存储有SRAM数据更新标识信息。此时,所述模拟控制器在监测到Flash写入指示信息指示向Flash存储单元中写入数据,且SRAM数据更新标识信息标识所述SRAM存储单元中数据发生更新时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
在一实施例中,所述模拟寄存器还存储有Flash状态标识信息及模拟控制器状态标识信息。此时,所述模拟控制器,在控制所述Flash控制单元对所述Flash存储单元执行写操作之前,确定及自身所述Flash控制单元是否空闲,并在自身及所述Flash控制单元均空闲时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
关于所述模拟EEPROM的写操作控制过程,具体可以参照上述关于图1及图2中实施例的描述,此处不再赘述。
在具体实施中,所述模拟EEPROM可以仅存在模拟EEPROM模式一种存储模式。
在一实施例中,所述模拟EEPROM的存储模式还可以包括:RAM模式。也就是说,所述模拟EEPROM可以同时存在模拟EEPROM模式及RAM模式两种存储模式。
在一实施例中,所述Flash单元中存储有存储模式标识信息,所述存储模式标志信息适于标识所述模拟EEPROM的存储模式。通过存储模式标识信息,可以标识模拟EEPROM当前的存储模式。
为了满足不同存储模式下的使用需求,在一实施例中,所述SRAM存储单元包括:第一SRAM存储子单元及第二SRAM存储子单元。其中,当所述模拟EEPROM存储模式为模拟EEPROM模式时,所述第一SRAM存储子单元适于存储写入至模拟EEPROM的数据,所述第二SRAM存储子单元适于存储所述写入至模拟EEPROM的数据对应的数据信息。当所述模拟EEPROM存储模式为RAM模式时,所述第一SRAM存储子单元及第二SRAM存储子单元均用于存储写入至所述SRAM单元的数据。
在一实施例中,所述第一SRAM存储子单元包括多个模拟EEPROM区域,所述Flash单元中配置有每个模拟EEPROM区域的保护标识信息。
此时,所述模拟控制器在接收到所述写操作请求后,可以基于所述模拟EEPROM区域的保护标识信息确定所述写操作请求对应的写地址是否位于受保护的模拟EEPROM区域内,在所述写操作请求对应的写地址位于受保护的模拟EEPROM区域内时进行错误提示,否则控制所述SRAM控制单元执行写操作。
为了满足不同存储模式下的使用需求,在一实施例中,所述Flash存储单元包括:第一Flash存储子单元以及第二Flash存储子单元;所述第一Flash存储子单元适于存储写入至模拟EEPROM的数据;所述第二Flash存储子单元适于存储写入至所述Flash单元的数据。
在一实施例中,所述模拟寄存器中还存储有模式转换标识信息,所述模式转换标识信息适于指示将当前存储模式转换为另一存储模式。基于该模式转换标识信息,可以控制模拟EEPROM灵活地进行模式转换。
在一实施例中,所述方法还包括:当所述模式转换标识信息指示模拟EEPROM由模拟EEPROM模式转换为RAM模式时,所述模拟控制器执行RAM复位操作。执行RAM复位操作后,模拟EEPROM由模拟EEPROM模式转换为RAM模式。后续可以按照RAM模式常规SRAM及Flash的操作控制方法实现相应的操作。
在一实施例中,所述方法还包括:当所述模式转换标识信息指示模拟EEPROM由RAM模式转换为模拟EEPROM模式时,所述模拟控制器执行模拟EEPROM复位操作。执行模拟EEPROM复位操作后,模拟EEPROM由RAM模式转换为模拟EEPROM复位操作。此时,可以按照本发明实施例中模拟EEPROM模式下的控制方法实现相应的操作。
在一实施例中,所述方法还包括:在上电或者重启后,所述模拟控制器确定模拟EEPROM的存储模式,并执行相应模式对应的初始化操作。
在一实施例中,所述Flash存储单元中每个扇区内存储的信息包括:数据记录信息以及所在扇区头部信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
在一实施例中,所述扇区头部信息包括:所在扇区的擦除次数信息、所在扇区的写入状态信息以及死区标识信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
在一实施例中,所述模拟寄存器还存储有模拟EEPROM初始化失败标识信息;所述模拟控制器在执行所述初始化操作的过程中,读取所述模拟EEPROM初始化失败标识信息,确定是否使用所述模拟EEPROM模式。
在一实施例中,所述模拟寄存器还存储有模拟EEPROM初始化失败标识信息;所述方法还包括:所述模拟控制器在执行所述初始化操作之前,读取所述模拟EEPROM初始化失败标识信息,确定是否使用所述模拟EEPROM模式。
关于所述模拟控制器对模拟EEPROM执行初始化操作的过程,具体可以参照上述关于模拟控制器相关功能的描述进行实施,此处不再赘述。
在一实施例中,所述模拟寄存器还存储有所述Flash存储单元当前空闲扇区个数信息、所述Flash存储单元中数据的起始地址信息及结束地址信息,以及所述Flash存储单元中每个扇区的状态信息。
在一实施例中,所述方法还包括:所述模拟控制器在模拟EEPROM模式下,判断所述Flash存储单元当前空闲扇区个数是否小于空闲扇区的总数ready_size,并在所述Flash存储单元当前空闲扇区个数小于所述空闲扇区的总数ready_size时,对所述模拟EEPROM执行维护操作。
在一实施例中,所述维护操作包括:将所述Flash存储单元中最老扇区存储的有效数据记录信息存储至所述Flash存储单元最新扇区,并对所述最老扇区执行擦除操作,直至所述Flash存储单元当前空闲扇区个数大于或等于所述空闲扇区的总数ready_size。
在一实施例中,所述模拟控制器在执行维护操作过程中,检测所述Flash单元是否发生硬件错误,并在所述Flash单元发生硬件错误次数达到预设次数阈值时,停止执行所述维护操作,对进行相应的错误提示。
可以理解的是,在实际应用中,对模拟EEPROM的各种操作可以分别独立执行,并不以执行完成某一操作为前提。具体地,在上电或者重启后,可以对模拟EEPROM执行初始化操作。初始化后,对于空闲态下的模拟EEPROM,可以对该模拟EEPROM执行写操作,也可以对该模拟EEPROM执行读操作。当模拟EEPROM由模拟EEPROM模式转换为RAM模式时,对模拟EEPROM执行RAM复位操作。当模拟EEPROM由RAM模式转换为模拟EEPROM模式时,模拟控制器执行模拟EEPROM复位操作。在写操作或者初始化操作后,模拟控制器执行维护操作。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现上述任一种方法的步骤。
在具体实施中,所述计算机可读存储介质可以包括:ROM、RAM、磁盘或光盘等。
关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (44)
1.一种模拟控制器,其特征在于,所述模拟控制器应用于模拟EEPROM中,所述模拟EEPROM,包括:SRAM单元、Flash单元及模拟控制单元;
所述SRAM单元包括:SRAM控制单元及SRAM存储单元;
所述Flash单元包括:Flash控制单元及Flash存储单元;
所述模拟控制单元包括:模拟控制器及模拟寄存器;所述模拟寄存器中存储有Flash写入指示信息;
所述SRAM控制单元,适于在模拟EEPROM的存储模式为模拟EEPROM模式时,接收写操作请求,将所述写操作请求发送至所述模拟控制器,并在所述模拟控制器的控制下将所述写操作请求中携带的数据写入至所述SRAM存储单元中;
所述Flash控制单元,适于在所述模拟控制器的控制下,将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中;
其中:所述模拟控制器,适于在接收到所述写操作请求后,控制所述SRAM控制单元执行写操作,并监测Flash写入指示信息是否发生变化,并在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
2.如权利要求1所述的模拟控制器,其特征在于,所述SRAM存储单元中存储有数据以及各数据对应的数据信息。
3.如权利要求2所述的模拟控制器,其特征在于,所述数据信息包括:对应数据的写状态信息、对应数据在Flash的地址信息;其中,所述对应数据的写状态信息包括:对应数据已更新至Flash、对应数据只在SRAM未更新至Flash及对应数据不存在。
4.如权利要求1所述的模拟控制器,其特征在于,所述模拟寄存器还存储有SRAM数据更新标识信息;
所述模拟控制器,适于在监测到Flash写入指示信息指示向Flash存储单元中写入数据,且SRAM数据更新标识信息标识所述SRAM存储单元中数据发生更新时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
5.如权利要求1所述的模拟控制器,其特征在于,所述模拟控制器,适于在控制所述Flash控制单元对所述Flash存储单元执行写操作之前,确定自身所述Flash控制单元是否空闲,并在自身及所述Flash控制单元均空闲时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
6.如权利要求1所述的模拟控制器,其特征在于,所述模拟EEPROM的存储模式还包括:RAM模式。
7.如权利要求6所述的模拟控制器,其特征在于,所述Flash单元中存储有存储模式标识信息,所述存储模式标志信息适于标识所述模拟EEPROM的存储模式。
8.如权利要求7所述的模拟控制器,其特征在于,所述SRAM存储单元包括:第一SRAM存储子单元及第二SRAM存储子单元;
当所述模拟EEPROM存储模式为模拟EEPROM模式时,所述第一SRAM存储子单元适于存储写入至模拟EEPROM的数据,所述第二SRAM存储子单元适于存储所述写入至模拟EEPROM的数据对应的数据信息;
当所述模拟EEPROM存储模式为RAM模式时,所述第一SRAM存储子单元及第二SRAM存储子单元均用于存储写入至所述SRAM单元的数据。
9.如权利要求8所述的模拟控制器,其特征在于,所述第一SRAM存储子单元包括多个模拟EEPROM区域,所述Flash单元中配置有每个模拟EEPROM区域的保护标识信息;
所述模拟控制器,适于在接收到所述写操作请求后,基于所述模拟EEPROM区域的保护标识信息确定所述写操作请求对应的写地址是否位于受保护的模拟EEPROM区域内,在所述写操作请求对应的写地址位于受保护的模拟EEPROM区域内时进行错误提示,否则控制所述SRAM控制单元执行写操作。
10.如权利要求8所述的模拟控制器,其特征在于,所述Flash存储单元包括:第一Flash存储子单元以及第二Flash存储子单元;所述第一Flash存储子单元适于存储写入至模拟EEPROM的数据;所述第二Flash存储子单元适于存储写入至所述Flash单元的数据。
11.如权利要求10所述的模拟控制器,其特征在于,所述模拟寄存器中还存储有模式转换标识信息,所述模式转换标识信息适于指示将当前存储模式转换为另一存储模式。
12.如权利要求11所述的模拟控制器,其特征在于,当所述模式转换标识信息指示模拟EEPROM由模拟EEPROM模式转换为RAM模式时,所述模拟控制器还适于执行RAM复位操作。
13.如权利要求11所述的模拟控制器,其特征在于,当所述模式转换标识信息指示模拟EEPROM由RAM模式转换为模拟EEPROM模式时,所述模拟控制器还适于执行模拟EEPROM复位操作。
14.如权利要求7所述的模拟控制器,其特征在于,所述模拟控制器还适于在上电或者重启后,确定模拟EEPROM的存储模式,并执行相应模式对应的初始化操作。
15.如权利要求14所述的模拟控制器,其特征在于,所述Flash存储单元中每个扇区内存储的信息包括:数据记录信息以及所在扇区头部信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
16.如权利要求15所述的模拟控制器,其特征在于,所述扇区头部信息包括:所在扇区的擦除次数信息、所在扇区的写入状态信息以及死区标识信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
17.如权利要求14所述的模拟控制器,其特征在于,所述模拟寄存器还存储有模拟EEPROM初始化失败标识信息;所述模拟控制器适于在执行所述初始化操作的过程中,读取所述模拟EEPROM初始化失败标识信息,确定是否使用所述模拟EEPROM模式。
18.如权利要求1至17任一项所述的模拟控制器,其特征在于,所述模拟寄存器还存储有所述Flash存储单元当前空闲扇区个数信息、所述Flash存储单元中数据的起始地址信息及结束地址信息,以及所述Flash存储单元中每个扇区的状态信息。
19.如权利要求18所述的模拟控制器,其特征在于,所述模拟控制器还适于在模拟EEPROM模式下,判断所述Flash存储单元当前空闲扇区个数是否小于空闲扇区的总数,并在所述Flash存储单元当前空闲扇区个数小于所述空闲扇区的总数时,对所述模拟EEPROM执行维护操作。
20.如权利要求19所述的模拟控制器,其特征在于,所述模拟控制器还适于在执行维护操作过程中,检测所述Flash单元是否发生硬件错误,并在所述Flash单元发生硬件错误次数达到预设次数阈值时,停止执行所述维护操作,对进行相应的错误提示。
21.一种模拟EEPROM的控制方法,其特征在于,应用于模拟EEPROM,所述模拟EEPROM包括SRAM单元、Flash单元及模拟控制单元;其中:所述SRAM单元包括:SRAM控制单元及SRAM存储单元;所述Flash单元包括:Flash控制单元及Flash存储单元;所述模拟控制单元包括:模拟控制器及模拟寄存器;所述模拟寄存器中存储有Flash写入指示信息;
所述SRAM控制单元,适于接收写操作请求,并将所述写操作请求中携带的数据写入至所述SRAM存储单元中,以及将所述写操作请求发送至所述模拟控制器;
所述方法包括:
所述模拟控制器在模拟EEPROM的存储模式为模拟EEPROM模式时,控制所述SRAM控制单元执行写操作,并监测Flash写入指示信息是否发生变化,并在监测到Flash写入指示信息指示向Flash存储单元中写入数据后,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
22.如权利要求21所述的模拟EEPROM的控制方法,其特征在于,所述SRAM存储单元中存储有数据以及各数据对应的数据信息。
23.如权利要求22所述的模拟EEPROM的控制方法,其特征在于,所述数据信息包括:对应数据的写状态信息、对应数据Flash的地址信息;其中,所述对应数据的写状态信息包括:对应数据已更新至Flash、对应数据只在SRAM未更新至Flash及对应数据不存在。
24.如权利要求23所述的模拟EEPROM的控制方法,其特征在于,所述模拟寄存器还存储有SRAM数据更新标识信息;
所述模拟控制器在监测到Flash写入指示信息指示向Flash存储单元中写入数据,且SRAM数据更新标识信息标识所述SRAM存储单元中数据发生更新时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
25.如权利要求24所述的模拟EEPROM的控制方法,其特征在于,所述模拟寄存器还存储有Flash状态标识信息及模拟控制器状态标识信息;
所述模拟控制器,在控制所述Flash控制单元对所述Flash存储单元执行写操作之前,确定及自身所述Flash控制单元是否空闲,并在自身及所述Flash控制单元均空闲时,控制Flash控制单元将所述SRAM存储单元未更新至所述Flash存储单元的数据,写入至所述Flash存储单元中。
26.如权利要求21所述的模拟EEPROM的控制方法,其特征在于,所述模拟EEPROM的存储模式还包括:RAM模式。
27.如权利要求26所述的模拟EEPROM的控制方法,其特征在于,所述Flash单元中存储有存储模式标识信息,所述存储模式标识信息适于标识所述模拟EEPROM的存储模式。
28.如权利要求27所述的模拟EEPROM的控制方法,其特征在于,所述SRAM存储单元包括:第一SRAM存储子单元及第二SRAM存储子单元;
当所述模拟EEPROM存储模式为模拟EEPROM模式时,所述第一SRAM存储子单元适于存储写入至模拟EEPROM的数据,所述第二SRAM存储子单元适于存储所述写入至模拟EEPROM的数据对应的数据信息;
当所述模拟EEPROM存储模式为RAM模式时,所述第一SRAM存储子单元及第二SRAM存储子单元均用于存储写入至所述SRAM单元的数据。
29.如权利要求28所述的模拟EEPROM的控制方法,其特征在于,所述第一SRAM存储子单元包括多个模拟EEPROM区域,所述Flash单元中配置有每个模拟EEPROM区域的保护标识信息;
所述模拟控制器在接收到所述写操作请求后,基于所述模拟EEPROM区域的保护标识信息确定所述写操作请求对应的写地址是否位于受保护的模拟EEPROM区域内,在所述写操作请求对应的写地址位于受保护的模拟EEPROM区域内时进行错误提示,否则控制所述SRAM控制单元执行写操作。
30.如权利要求28所述的模拟EEPROM的控制方法,其特征在于,所述Flash存储单元包括:第一Flash存储子单元以及第二Flash存储子单元;所述第一Flash存储子单元适于存储写入至模拟EEPROM的数据;所述第二Flash存储子单元适于存储写入至所述Flash单元的数据。
31.如权利要求30所述的模拟EEPROM的控制方法,其特征在于,所述模拟寄存器中还存储有模式转换标识信息,所述模式转换标识信息适于指示将当前存储模式转换为另一存储模式。
32.如权利要求31所述的模拟EEPROM的控制方法,其特征在于,还包括:当所述模式转换标识信息指示模拟EEPROM由模拟EEPROM模式转换为RAM模式时,所述模拟控制器执行RAM复位操作。
33.如权利要求31所述的模拟EEPROM的控制方法,其特征在于,还包括:当所述模式转换标识信息指示模拟EEPROM由RAM模式转换为模拟EEPROM模式时,所述模拟控制器执行模拟EEPROM复位操作。
34.如权利要求31所述的模拟EEPROM的控制方法,其特征在于,还包括:在上电或者重启后,所述模拟控制器确定模拟EEPROM的存储模式,并执行相应模式对应的初始化操作。
35.如权利要求34所述的模拟EEPROM的控制方法,其特征在于,所述Flash存储单元中每个扇区内存储的信息包括:数据记录信息以及所在扇区头部信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
36.如权利要求35所述的模拟EEPROM的控制方法,其特征在于,所述扇区头部信息包括:所在扇区的擦除次数信息、所在扇区的写入状态信息以及死区标识信息;所述数据记录信息包括:数据及所述数据对应的记录信息。
37.如权利要求35所述的模拟EEPROM的控制方法,其特征在于,所述模拟寄存器还存储有模拟EEPROM初始化失败标识信息;所述模拟控制器在执行所述初始化操作的过程中,读取所述模拟EEPROM初始化失败标识信息,确定是否使用所述模拟EEPROM模式。
38.如权利要求36所述的模拟EEPROM的控制方法,其特征在于,所述模拟寄存器还存储有模拟EEPROM初始化失败标识信息;所述方法还包括:所述模拟控制器在执行所述初始化操作之前,读取所述模拟EEPROM初始化失败标识信息,确定是否使用所述模拟EEPROM模式。
39.如权利要求21至38任一项所述的模拟EEPROM的控制方法,其特征在于,所述模拟寄存器还存储有所述Flash存储单元当前空闲扇区个数信息、所述Flash存储单元中数据的起始地址信息及结束地址信息,以及所述Flash存储单元中每个扇区的状态信息。
40.如权利要求39所述的模拟EEPROM的控制方法,其特征在于,还包括:所述模拟控制器在模拟EEPROM模式下,判断所述Flash存储单元当前空闲扇区个数是否小于预设空闲扇区的总数,并在所述Flash存储单元当前空闲扇区个数小于所述空闲扇区的总数时,对所述模拟EEPROM执行维护操作。
41.如权利要求40所述的模拟EEPROM的控制方法,其特征在于,所述维护操作包括:将所述Flash存储单元中最老扇区存储的有效数据记录信息存储至所述Flash存储单元最新扇区,并对所述最老扇区执行擦除操作,直至所述Flash存储单元当前空闲扇区个数大于或等于所述预设空闲扇区的总数。
42.如权利要求40所述的模拟EEPROM的控制方法,其特征在于,所述模拟控制器在执行维护操作过程中,检测所述Flash单元是否发生硬件错误,并在所述Flash单元发生硬件错误次数达到预设次数阈值时,停止执行所述维护操作,对进行相应的错误提示。
43.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行,以实现权利要求21至42任一项所述方法的步骤。
44.一种模拟EEPROM,其特征在于,包括权利要求1至20中任一项所述的模拟控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410426164.4A CN118012355B (zh) | 2024-04-10 | 2024-04-10 | 模拟eeprom及其控制方法、模拟控制器、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410426164.4A CN118012355B (zh) | 2024-04-10 | 2024-04-10 | 模拟eeprom及其控制方法、模拟控制器、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118012355A true CN118012355A (zh) | 2024-05-10 |
CN118012355B CN118012355B (zh) | 2024-07-05 |
Family
ID=90947501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410426164.4A Active CN118012355B (zh) | 2024-04-10 | 2024-04-10 | 模拟eeprom及其控制方法、模拟控制器、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118012355B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122195A (en) * | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on nonvolatile memory |
US20180357013A1 (en) * | 2016-02-19 | 2018-12-13 | Huawei Technologies Co.,Ltd. | Method and apparatus for accessing flash memory device |
CN109669888A (zh) * | 2018-11-06 | 2019-04-23 | 电子科技大学 | 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法 |
CN110045927A (zh) * | 2019-04-16 | 2019-07-23 | 华大半导体有限公司 | 一种使用闪存模拟具有原子操作特性的eeprom的方法 |
CN110554842A (zh) * | 2019-09-06 | 2019-12-10 | 华大半导体有限公司 | 一种使用闪存模拟eeprom的方法 |
CN112799587A (zh) * | 2020-11-23 | 2021-05-14 | 哲库科技(北京)有限公司 | 处理器系统、核间通信方法、处理器以及存储单元 |
CN115079947A (zh) * | 2022-06-15 | 2022-09-20 | 东莞铭普光磁股份有限公司 | 一种光模块的实时响应方法及光模块、存储介质 |
CN115905086A (zh) * | 2022-12-21 | 2023-04-04 | 北京紫光芯能科技有限公司 | 基于axi同步读写单口sram的控制方法及控制器 |
CN116301601A (zh) * | 2023-02-16 | 2023-06-23 | 上海东软载波微电子有限公司 | 嵌入式系统内置Flash模拟EEPROM的数据存储方法及装置 |
CN116737078A (zh) * | 2023-06-25 | 2023-09-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种快速闪存读写系统、方法、设备及介质 |
US20230315306A1 (en) * | 2020-08-31 | 2023-10-05 | Sony Semiconductor Solutions Corporation | Logic simulation device and logic simulation program |
CN116909487A (zh) * | 2023-09-05 | 2023-10-20 | 北京智芯微电子科技有限公司 | 数据读写方法、芯片、嵌入式微控制器和智能终端设备 |
WO2023241160A1 (zh) * | 2022-06-13 | 2023-12-21 | 武汉杰开科技有限公司 | 基于模拟eeprom的数据写入及管理方法 |
CN117289860A (zh) * | 2023-09-05 | 2023-12-26 | 北京智芯微电子科技有限公司 | 嵌入式微控制器及其数据读写方法 |
CN117555478A (zh) * | 2023-10-19 | 2024-02-13 | 苏州琪埔维半导体有限公司 | 一种基于闪存的模拟eeprom读写方法 |
CN117742588A (zh) * | 2023-11-30 | 2024-03-22 | 武汉芯必达微电子有限公司 | 使用Flash模拟EEPROM的数据存储方法及系统 |
-
2024
- 2024-04-10 CN CN202410426164.4A patent/CN118012355B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122195A (en) * | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on nonvolatile memory |
US20180357013A1 (en) * | 2016-02-19 | 2018-12-13 | Huawei Technologies Co.,Ltd. | Method and apparatus for accessing flash memory device |
CN109669888A (zh) * | 2018-11-06 | 2019-04-23 | 电子科技大学 | 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法 |
CN110045927A (zh) * | 2019-04-16 | 2019-07-23 | 华大半导体有限公司 | 一种使用闪存模拟具有原子操作特性的eeprom的方法 |
CN110554842A (zh) * | 2019-09-06 | 2019-12-10 | 华大半导体有限公司 | 一种使用闪存模拟eeprom的方法 |
US20230315306A1 (en) * | 2020-08-31 | 2023-10-05 | Sony Semiconductor Solutions Corporation | Logic simulation device and logic simulation program |
CN112799587A (zh) * | 2020-11-23 | 2021-05-14 | 哲库科技(北京)有限公司 | 处理器系统、核间通信方法、处理器以及存储单元 |
WO2023241160A1 (zh) * | 2022-06-13 | 2023-12-21 | 武汉杰开科技有限公司 | 基于模拟eeprom的数据写入及管理方法 |
CN115079947A (zh) * | 2022-06-15 | 2022-09-20 | 东莞铭普光磁股份有限公司 | 一种光模块的实时响应方法及光模块、存储介质 |
CN115905086A (zh) * | 2022-12-21 | 2023-04-04 | 北京紫光芯能科技有限公司 | 基于axi同步读写单口sram的控制方法及控制器 |
CN116301601A (zh) * | 2023-02-16 | 2023-06-23 | 上海东软载波微电子有限公司 | 嵌入式系统内置Flash模拟EEPROM的数据存储方法及装置 |
CN116737078A (zh) * | 2023-06-25 | 2023-09-12 | 山东云海国创云计算装备产业创新中心有限公司 | 一种快速闪存读写系统、方法、设备及介质 |
CN116909487A (zh) * | 2023-09-05 | 2023-10-20 | 北京智芯微电子科技有限公司 | 数据读写方法、芯片、嵌入式微控制器和智能终端设备 |
CN117289860A (zh) * | 2023-09-05 | 2023-12-26 | 北京智芯微电子科技有限公司 | 嵌入式微控制器及其数据读写方法 |
CN117555478A (zh) * | 2023-10-19 | 2024-02-13 | 苏州琪埔维半导体有限公司 | 一种基于闪存的模拟eeprom读写方法 |
CN117742588A (zh) * | 2023-11-30 | 2024-03-22 | 武汉芯必达微电子有限公司 | 使用Flash模拟EEPROM的数据存储方法及系统 |
Non-Patent Citations (1)
Title |
---|
吕泽承 , 杨柳林: "利用F206片内Flash进行在线编程", 单片机与嵌入式系统应用, no. 03, 1 March 2004 (2004-03-01) * |
Also Published As
Publication number | Publication date |
---|---|
CN118012355B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6646931B2 (en) | Life warning generation system and method of semiconductor storage device equipped with flash memory | |
US5522076A (en) | Computer system having BIOS (basic input/output system)-ROM (Read Only Memory) writing function | |
US6463550B1 (en) | Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory | |
JP3301064B2 (ja) | 低電力モード・コンピュータ | |
US20020091965A1 (en) | System and method for early detection of impending failure of a data storage system | |
US20050024954A1 (en) | Programming suspend status indicator for flash memory | |
US10579300B2 (en) | Information handling system firmware persistent memory runtime reclaim | |
KR20010006749A (ko) | 설치된 모든 대용량 저장 장치들의 리부트/파워 온리컨피그레이션을 최종 사용한 컨피그레이션과 동일하게하도록 각각의 대용량 저장 장치의 비휘발성 메모리에시스템 레벨 대용량 저장 컨피그레이션 데이터를 저장하는장치 및 방법 | |
US10877686B2 (en) | Mass storage device with host initiated buffer flushing | |
US6189070B1 (en) | Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory | |
JP2003109384A (ja) | データ書込装置、データ書込制御方法及びプログラム | |
JPH06309234A (ja) | ディスク制御装置 | |
JPH0528039A (ja) | 記憶装置 | |
CN115639971B (zh) | 数据写入方法、装置、电子设备、存储介质及程序产品 | |
JP2002529853A (ja) | 大容量メモリを備えたサブシステムのハードディスクのために書き込みを保護したディスクキャッシュ装置と方法 | |
CN114661368B (zh) | 一种芯片及其启动方法 | |
US20070277028A1 (en) | Method and system for recovery from reprogramming failures in nonvolatile memory | |
CN118012355B (zh) | 模拟eeprom及其控制方法、模拟控制器、存储介质 | |
JPH1063442A (ja) | 半導体ディスク装置 | |
CN112947971B (zh) | 一种fpga远程更新装置及方法 | |
US7743277B2 (en) | System and method for detecting and reducing data corruption in a storage device | |
JPH06222985A (ja) | メモリ制御装置 | |
JPH1165898A (ja) | 電子計算機の保守方式 | |
CN117591036B (zh) | 基于固件与芯片微内核的占位数据补齐方法及系统 | |
US20040133755A1 (en) | Minimization of overhead of non-volatile memory operation |
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 |