CN112363864A - 检测数据维持有效性的方法、检测装置和芯片 - Google Patents

检测数据维持有效性的方法、检测装置和芯片 Download PDF

Info

Publication number
CN112363864A
CN112363864A CN202011242957.9A CN202011242957A CN112363864A CN 112363864 A CN112363864 A CN 112363864A CN 202011242957 A CN202011242957 A CN 202011242957A CN 112363864 A CN112363864 A CN 112363864A
Authority
CN
China
Prior art keywords
chip
data
detection
addresses
storage
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
CN202011242957.9A
Other languages
English (en)
Other versions
CN112363864B (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011242957.9A priority Critical patent/CN112363864B/zh
Publication of CN112363864A publication Critical patent/CN112363864A/zh
Application granted granted Critical
Publication of CN112363864B publication Critical patent/CN112363864B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例提供一种检测数据维持有效性的方法、检测装置和芯片,该方法包括:在片上系统断电前,将片上系统执行的最近一次写操作对应的地址作为种子地址,基于种子地址从存储系统的存储阵列中随机确定出多个检测地址,并基于多个检测地址当前存储的数据,生成多个第一校验码;将种子地址和/或多个检测地址作为多个第一校验码的关联数据,将关联数据和多个第一校验码存入存储阵列中的指定区域,指定区域是片上系统不可写入数据的区域;在片上系统非首次上电时,根据关联数据对多个第一校验码以及多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,检测结果用于反映存储阵列是否在副电源模式下将存储阵列内的数据有效维持。

Description

检测数据维持有效性的方法、检测装置和芯片
技术领域
本申请涉及存储阵列数据检测技术领域,具体而言,涉及一种检测数据维持有效性的方法、检测装置和芯片。
背景技术
对于内部含有存储阵列且具备数据维持能力的存储系统,例如,实时时钟(RealTimeClock,RTC)系统,可用于存储片上系统(System-on-a-Chip,SOC)写入的系统数据。
这种存储系统的供电系统通常采用主电源和副电源交替供电的方式,当主电源停止为存储阵列和片上系统供电时,存储系统中的存储阵列自动切换为副电源供电模式,使得存储系统中的存储阵列能够在主电源断电期间,维持存储阵列内的数据有效。
但是,在长时间采用副电源供电的情况下,副电源会随着时间推移而出现电压下降的情况。在副电源的电压下降至一定程度时,会导致存储阵列中的数据不再能够保持。因此,需要对存储阵列的数据维持有效性进行检测。
现有的一种处理方式是:在存储阵列内部划分出一片检测专用的区域,并在该区域中存放用于数据对比检测的固定值,例如,1010、a5a5等固定值。在片上系统上电完成之后,片上系统发送一系列的读写指令以访问该区域,得到读出数据,通过对比读出数据与期望值的方式检测存储阵列内的数据是否得到有效维持。
但是,这种检测方式得到的结果缺乏代表性,仅能检测特定区域的数据维持有效性。
发明内容
本申请的目的在于提供一种检测数据维持有效性的方法、检测装置和芯片,能够改善现有检测方式仅能检测特定区域的数据维持有效性的问题。
第一方面,本申请实施例提供一种检测数据维持有效性的方法,所述方法包括:
在片上系统断电前,将所述片上系统执行的最近一次写操作对应的地址作为种子地址,基于所述种子地址从存储系统的存储阵列中随机确定出多个检测地址,并基于所述多个检测地址当前存储的数据,生成多个第一校验码;
将所述种子地址和/或所述多个检测地址作为所述多个第一校验码的关联数据,将所述关联数据和所述多个第一校验码存入所述存储阵列中的指定区域,所述指定区域是所述片上系统不可写入数据的区域;
在所述片上系统非首次上电时,根据所述关联数据对所述多个第一校验码以及所述多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,所述检测结果用于反映所述存储阵列是否在副电源模式下将存储阵列内的数据有效维持。
在上述方法中,将片上系统在断电前执行的最近一次写操作对应的地址作为种子地址,并基于种子地址随机确定多个检测区域,为随机确定的该多个检测区域生成多个第一校验码。而在片上系统非首次上电时,对多个第一校验码以及该多个检测地址当前存储的数据进行循环冗余校验,以此得到检测结果。相较于基于固定区域、固定值进行检测的方式,上述方法是对随机确定的区域以及这些区域对应的第一校验码进行循环冗余校验,且随机确定出的多个检测区域是基于片上系统在断电前执行的最近一次写操作对应的地址确定出的,以此得到的检测结果更具代表性,这种基于种子地址进行随机性校验检测的方式可以降低错判、漏判概率。
其中,通过将种子地址和/或多个检测地址作为关联数据,将关联数据和生成的第一校验码存入片上系统不可写的指定区域,可以避免检测过程对片上系统已经写入存储阵列的数据造成破坏,基于此执行的校验检测过程可以保障检测结果的可靠性。
在可选的实施方式中,所述方法还包括:
在所述片上系统首次上电时,向所述存储阵列写入随机数据。
通过上述实现方式,可以在片上系统首次上电时实现对存储阵列的初始化,并且初始化过程是写入随机数据,以此有利于在片上系统断电前,为存储阵列生成更具随机性的第一校验码。相较于在初始化时向存储阵列写入全0或全1等默认值的方式,如果初始化时写入的是默认值,那么当片上系统仅对存储阵列中的几个地址进行读写操作时,会导致整个存储阵列中存在大量的相同数据(默认值),在这种情况下选取地址来生成校验码时,会导致校验码的重复率较高,而上述实施方式写入存储阵列的是随机数据,以此可以降低各个第一校验码之间的重复率,提升检测结果的可靠性。
在可选的实施方式中,所述向所述存储阵列写入随机数据,包括:
通过部署在所述存储系统中的检测装置生成所述随机数据,或,接收所述片上系统在首次上电时发送的所述随机数据;
通过所述检测装置将所述随机数据写入所述存储阵列。
通过上述实现方式,提供了一种能够实现初始化的方式,在该实现方式中,通过内置存储阵列的存储系统本身可以实现对于存储阵列的初始化操作。其中,随机数据的内容可以是存储系统自行生成的,也可以是片上系统提供的。
在可选的实施方式中,所述在片上系统断电前,将所述片上系统执行的最近一次写操作对应的地址作为种子地址,基于所述种子地址从存储系统的存储阵列中随机确定出多个检测地址,包括:
在所述存储系统接收到所述片上系统发送的断电提示信号时,通过部署在所述存储系统中的检测装置根据所述种子地址进行随机运算,以从所述存储阵列的各个可写区域中得到多个随机地址,作为所述多个检测地址。
通过上述实现方式,提供了一种可以由存储系统自行根据种子地址随机确定多个检测地址的实现方式,基于该实现方式,可以降低检测过程对于片上系统的依赖性,有利于片上系统的系统集成。
在可选的实施方式中,所述基于所述多个检测地址当前存储的数据,生成多个第一校验码,包括:
通过所述检测装置根据所述多个检测地址生成第一读取指令,并根据所述第一读取指令获取所述多个检测地址当前存储的多个阵列数据;
通过所述检测装置根据所述多个阵列数据,生成所述多个第一校验码。
通过上述实现方式,提供了一种可以由存储系统自行根据多个检测地址,读取得到这些检测地址中当前存储的阵列数据,并基于阵列数据生成第一校验码的实现方式。基于该实现方式,可以降低校验、检测过程对于片上系统的依赖性,可降低片上系统的集成难度。
在可选的实施方式中,所述在所述片上系统非首次上电时,根据所述关联数据对所述多个第一校验码以及所述多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,包括:
在所述片上系统非首次上电时,通过部署在所述存储系统中的检测装置生成第二读取指令,并根据所述第二读取指令,从所述指定区域中获取所述关联数据和所述多个第一校验码;
通过所述检测装置根据所述关联数据确定所述多个检测地址,并从所述多个检测地址中获取当前存储的多个阵列数据;
通过所述检测装置对所述多个第一校验码以及所述多个检测地址当前存储的多个阵列数据,进行循环冗余校验,得到所述检测结果。
通过上述实现方式,可以由存储系统自行实现校验过程,在校验过程中,采用了片上系统断电前的时间段为存储阵列的部分区域生成的校验码,以及片上系统重新上电时从这部分区域中读取到的多个阵列数据,进行循环冗余校验,这种随机性校验的方案可以减少错判、漏判概率。
在可选的实施方式中,在所述关联数据为所述种子地址时,所述通过所述检测装置根据所述关联数据确定所述多个检测地址,并从所述多个检测地址中获取当前存储的多个阵列数据,包括:
通过所述检测装置根据所述种子地址进行随机运算,得到多个检测地址;
通过所述检测装置从随机运算得到的所述多个检测地址中,获取所述多个检测地址当前存储的多个阵列数据。
通过上述实现方式,可以从存储阵列中基于种子地址随机确定出部分区域,从而能够对随机确定出的这部分区域中存储的多个阵列数据进行检测,这种基于种子地址进行随机性校验的方式,可以降低错判、漏判概率,相较于对固定区域、固定值进行比对检测的方式,检测得到的结果更具代表性。
在可选的实施方式中,在所述关联数据为所述多个检测地址时,所述通过所述检测装置根据所述关联数据确定所述多个检测地址,并从所述多个检测地址中获取当前存储的多个阵列数据,包括:
通过所述检测装置根据从所述指定区域中获取得到的多个检测地址,从所述多个检测地址中获取所述多个检测地址当前存储的多个阵列数据。
通过上述实现方式,提供了一种可以由存储系统自行从存储阵列的部分区域中提取当前存储的多个阵列数据的实现方式,可降低检测过程对于片上系统的依赖性,片上系统无需为了检测过程多次访问存储系统中的存储阵列。
在可选的实施方式中,所述存储系统在主电源模式下与所述片上系统采用相同的电源供电;
在所述片上系统断电期间,所述存储系统采用副电源模式对所述存储系统内部的所述存储阵列供电。
在上述实现方式中,提供了一种存储系统与片上系统之间的供电关系,基于存在这一供电关系的存储系统、供电系统,执行校验检测过程得到的检测结果可以反映存储系统在片上系统断电期间是否将阵列中的数据有效维持,有利于实现对于存储阵列在副电源模式下的数据维持有效性检测。
在可选的实施方式中,所述存储系统是实时时钟系统。
基于该实现方式,可以检测实时时钟系统中的存储阵列在副电源模式下的数据维持有效性。
第二方面,本申请实施例提供一种检测装置,所述检测装置包括:种子获取模块、第一处理模块、第二处理模块;
所述种子获取模块,用于在片上系统断电前,读取所述片上系统执行的最近一次写操作对应的地址,并将所述片上系统执行的最近一次写操作对应的地址确定为种子地址;
所述第一处理模块,用于在所述片上系统断电前,基于所述种子地址从存储系统的存储阵列中随机确定出多个检测地址,并基于所述多个检测地址当前存储的数据,生成多个第一校验码;
所述第一处理模块,还用于在所述片上系统断电前,将所述种子地址和/或所述多个检测地址作为所述多个第一校验码的关联数据,将所述关联数据和所述多个第一校验码存入所述存储阵列中的指定区域,所述指定区域是所述片上系统不可写入数据的区域;
所述第二处理模块,用于在所述片上系统非首次上电时,根据所述关联数据对所述多个第一校验码以及所述多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,所述检测结果用于反映所述存储阵列是否在副电源模式下将存储阵列内的数据有效维持。
通过上述检测装置,可以执行前述第一方面提供的方法,可以对随机确定的区域以及这些区域对应的第一校验码进行循环冗余校验,可得到更具代表性的检测结果,有利于降低错判、漏判概率。
在可选的实施方式中,所述检测装置还包括初始化模块;
所述初始化模块,用于在所述片上系统首次上电时,向所述存储阵列写入随机数据。
通过上述实现方式,可以降低各个第一校验码之间的重复率,可提升检测结果的可靠性。
第三方面,本申请实施例提供一种芯片,所述芯片中包括片上系统以及与所述片上系统连接的存储系统;
所述存储系统采用主电源模式或副电源模式供电;
在主电源模式下,所述存储系统与所述片上系统采用相同的电源供电;
在所述片上系统断电期间,所述存储系统用于采用副电源模式对所述存储系统内部的存储阵列供电,所述存储阵列中包括所述片上系统不可写入数据的指定区域以及能够提供给所述片上系统写入数据的可写区域;
所述芯片用于执行前述第一方面所述的方法。
第四方面,本申请实施例提供一种电路系统,包括第一芯片和第二芯片;
所述第一芯片中包括片上系统,所述第二芯片中包括存储系统,所述片上系统与所述存储系统连接;
所述存储系统采用主电源模式或副电源模式供电;
在主电源模式下,所述存储系统与所述片上系统采用相同的电源供电;
在所述片上系统断电期间,所述存储系统用于采用副电源模式对所述存储系统内部的存储阵列供电,所述存储阵列中包括所述片上系统不可写入数据的指定区域以及能够提供给所述片上系统写入数据的可写区域;
所述第二芯片用于执行前述第一方面所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一个实例中的片上系统和存储系统之间的关系示意图。
图2为本申请实施例提供的一种应用于片上系统和存储系统的状态切换示意图。
图3为本申请实施例提供的一种检测数据维持有效性的方法的流程示意图。
图4为本申请实施例提供的一种检测数据维持有效性的方法的部分流程示意图。
图5为本申请实施例提供的另一种应用于片上系统和存储系统的状态切换示意图。
图6为本申请实施例提供的另一种检测数据维持有效性的方法的流程示意图。
图7为本申请实施例提供的一种检测装置的功能模块框图。
图8为本申请实施例提供的一种芯片结构示意图。
图9为本申请实施例提供的一种电路系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
为了便于理解,下面将对本申请实施例中的部分术语概念进行介绍。
SOC:System-on-a-Chip,称为系统级芯片,也有称片上系统,意指是一个产品,是一个有专用目标的集成电路,片上系统中包含完整系统并有嵌入软件的全部内容。
RTC:RealTimeClock,实时时钟,本质上是基于某个特定实基频率的计数器,一般采用32768Hz晶振做为实基频率来源。
VRM:Voltage Regulator Module,电压调节模组,是为芯片提供合适的供应电压的一项装置。
DRV:Data Retention Voltage,数据维持电压值,指的是能够维持存储阵列内的数据有效的最低电压值。
CRC:Cyclic Redundancy Check,是一种常用的校错、纠错技术,本质上是利用除法及余数的原理来作错误侦测。
Retention:在存储阵列范畴内指的是,在存储阵列的主电源关闭以后,以电荷电容器(电池等)作为副电源为存储阵列提供电能的情况下,存储阵列维持阵列内数据有效的一种能力。
LFSR:linear feedback shift register,线性反馈移位寄存器,常用于生成伪随机数、伪随机噪声序列,可应用于快速数字计数器、扰频器领域。
存储系统:在本申请实施例中的存储系统,是指带有存储阵列且具备数据维持能力,即具备Retention功能的一种系统,且该系统采用主电源模式供电或副电源模式供电。其中,主电源是指同时为存储系统和片上系统进行供电的电源,在片上系统上电时,存储系统采用的是主电源模式供电。在片上系统断电期间,存储系统采用的是副电源模式供电。
如背景技术所述,当主电源停止为片上系统(SOC)和存储系统中的存储阵列供电时,即,片上系统断电时,存储系统中的存储阵列自动切换为副电源模式供电,使得存储系统中的存储阵列能够在主电源断电期间,维持阵列内的数据。
但是,如果存储系统采用的副电源模式是:以电荷电容器(包括电池等)这类随着时间推移而电压不断下降的电源提供电能,则存储阵列会因为副电源的供电能力下降而出现阵列内的数据无法有效维持的风险。
有鉴于此,本申请实施例提供了一种能够检测存储阵列的数据维持有效性的方案,该方案可称为data retention check,先根据片上系统在断电前执行的最近一次操作确定出种子地址,再基于种子地址随机确定多个检测区域,然后基于这些随机确定出的区域,在下一次上电时,对这些随机确定出的区域此时存储的数据进行循环冗余校验,以此得到更具有代表性的检测结果,通过这样的方式有利于实现对于整个存储阵列的数据维持有效性检测。相较于对固定区域、固定值进行对比检测的方式,可以降低错判、漏判概率。
下面将结合图1对本申请实施例的一种应用场景进行介绍。
如图1所示,当主电源VDD1同时为片上系统100、存储系统200供电时,片上系统100可以向存储系统200中的存储阵列201进行数据读写操作。当主电源VDD1停止供电时,存储系统200切换为副电源VDD2进行供电。其中,存储系统200可通过一个切换装置Q来切换主电源VDD1或副电源VDD2供电,切换装置Q可基于当前为存储系统200提供电能的电源,向存储系统200的存储阵列201提供工作电压VDD_R。在该工作电压VDD_R满足存储阵列201的数据维持电压值(DRV)时,存储阵列201内的数据可维持有效。
可以理解的是,图1所示的场景仅作为示意。
下面将结合图2介绍本申请实施例提供的一种检测数据维持有效性的方法。该方法可用于对图1所示场景下的存储阵列进行数据维持有效性检测。
为了便于理解,下面将从多个阶段对本申请实施例提供的一种检测数据维持有效性的方法进行介绍。
如图2所示,该多个阶段可包括:第一阶段、第二阶段、第三阶段、第四阶段。
在片上系统能够对存储系统中的存储阵列进行数据读写时,可视为处于第一阶段。第一阶段可理解为主电压模式下的正常读写交互阶段,在主电源模式下,片上系统向存储系统中的存储阵列进行数据读写。
第二阶段发生在主电源即将断电时,即片上系统断电前、即将断电时。示例性地,当片上系统检测到关机操作时,可视为进入第二阶段。其中,片上系统检测到关机操作时,片上系统可向存储系统发送断电提示数据,以使存储系统得知此时主电源准备停止供电,进入第二阶段。
第三阶段是主电源停止为片上系统和存储系统进行供电的时间段。在第三阶段,主电源断电,存储系统采用副电源模式供电,以此维持存储阵列内的数据有效,但随着时间变化,副电源的供电能力可能会降低,从而使得存储阵列在该阶段可能出现无法继续维持阵列内的数据有效的情况。
在片上系统再次上电时,可视为进入第四阶段。当片上系统对存储阵列进行过读写操作后,断电并重新上电(例如重新开机)时,对存储阵列进行数据维持有效性检测。
如图3所示,该检测数据维持有效性的方法包括步骤S31-S33。
作为一种实施方式,S31-S33的方法对应的功能模块可以封装为检测装置,该检测装置可部署在片上系统中,也可部署在存储系统中。当该检测装置被部署在存储系统中时,可以降低整个检测过程对于片上系统的依赖,使得片上系统无需在检测数据维持有效性的过程中与存储阵列进行多次数据交互,有利于片上系统的系统集成。
在本申请实施例中,存储系统在主电源模式下与片上系统采用相同的电源供电,且在片上系统断电期间,存储系统采用副电源模式对存储系统内部的存储阵列供电。
S31:在片上系统断电前,将片上系统执行的最近一次写操作对应的地址作为种子地址,基于种子地址从存储系统的存储阵列中随机确定出多个检测地址,并基于多个检测地址当前存储的数据,生成多个第一校验码。
其中,片上系统可以检测到断电操作并基于断电操作确定此时主电源即将断电。片上系统可以在确定主电源即将停止供电时,向存储系统输出断电提示数据。存储系统可根据片上系统发送的断电提示数据,确定此时主电源即将断电。
S32:将种子地址和/或多个检测地址作为多个第一校验码的关联数据,将关联数据和多个第一校验码存入存储阵列中的指定区域,指定区域是片上系统不可写入数据的区域。
在本申请实施例中,存储阵列中可设置片上系统可写入数据的可写区域,和片上系统不可写入数据的指定区域。其中,存储阵列的可写区域视为对片上系统可见,该可写区域对片上系统可见是指:片上系统能够在第一阶段对该存储阵列的可写区域进行读写操作。该存储阵列的指定区域视为对片上系统不可见,指定区域对片上系统不可见是指:片上系统在第一阶段无法对该存储阵列的指定区域进行数据写入。
其中,通过将种子地址和/或多个检测地址作为关联数据,将关联数据和生成的第一校验码存入片上系统不可写的指定区域,可以避免检测过程对片上系统已经写入存储阵列的数据造成破坏,基于此执行的校验检测过程可以保障检测结果的可靠性。
其中,步骤S31和S32是在片上系统断电前的处理步骤,即,S31和S32是第二阶段的处理步骤。
在一些实施例中,S31和S32的步骤可以合并,例如可以先将种子地址或多个检测地址先存入存储阵列的指定区域,将基于多个检测地址当前(第二阶段)存储的数据生成的多个第一校验码存入该指定区域。
在将关联数据和生成的多个第一校验码存入指定区域后,存储阵列采用副电源模块供电,进入第三阶段。
S33:在片上系统非首次上电时,根据关联数据对多个第一校验码以及多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,检测结果用于反映存储阵列是否在副电源模式下将存储阵列内的数据有效维持。
其中,在S33中的非首次上电可理解为重新上电、再次上电。步骤S33是第四阶段的处理步骤。
在S33中,可以基于指定区域中存储的关联数据和多个第一校验码,进行循环冗余校验(CRC校验)。
作为S33中进行循环冗余校验的一种实施方式,可以在片上系统非首次上电时,基于关联数据重新确定出S31中的多个检测区域,并根据该多个检测区域当前存储的数据与S31生成的多个第一校验码,进行除法运算实现循环冗余校验。由于循环冗余校验的本质是二进制除法,基于循环冗余校验的原理,在生成校验码的过程中可基于一个生成多项式(例如5’b10011)来生成第一校验码。每个检测区域中存储的阵列数据可以视为被除数,生成的第一校验码可以视为余数,如果存储阵列在副电源模式下(片上系统断电期间)没有发生数据变化,那么被除数减去余数后所得到的新被除数能够被该生成多项式整除,可通过对第一校验码和关联的检测区域中当前存储的阵列数据进行异或运算得到该新被除数。如果该新被除数能够被该生成多项式整除,则表示校验通过,可视为存储阵列在副电源模式下将存储阵列内的数据有效维持,而如果不能够整除,有余数则表示未通过校验,存储阵列在副电源模式下未能将存储阵列内的数据有效维持。在该新被除数能够被该生成多项式整除时,余数为0,可代表存储阵列内的数据有效,而不能整除时,余数不为0,说明在副电源供电阶段,存储阵列内的数据发生了改变。
作为S33中进行循环冗余校验的另一种实施方式,可以是在片上系统非首次上电时,基于关联数据重新确定出S31中的多个检测区域,并根据该多个检测区域当前存储的数据,生成多个第二校验码,然后将此时生成的多个第二校验码与S31生成的多个第一校验码进行对比,以此实现循环冗余校验,得到检测结果。如果检测结果指示多个第二校验码和多个第一校验码完全匹配,可视为存储阵列在副电源模式下将存储阵列内的数据有效维持,如果检测结果指示多个第二校验码无法与多个第一校验码完全匹配,可视为存储阵列在副电源模式下未能将存储阵列内的数据有效维持。
其中,第二校验码和第一校验码完全匹配是指:采用了相同的运算方式对两次确定的检测区域进行校验码计算,得到数值相同的校验码,并且第一校验码关联的检测区域与第二校验码关联的检测区域相同。
在上述S31-S33的方法中,将片上系统在断电前执行的最近一次写操作对应的地址作为种子地址,并基于种子地址随机确定多个检测区域,为随机确定的该多个检测区域生成多个第一校验码。而在片上系统非首次上电时,对多个第一校验码以及该多个检测地址当前存储的数据进行循环冗余校验,以此得到检测结果。相较于基于固定区域、固定值进行检测的方式,上述方法是对随机确定的区域以及这些区域对应的第一校验码进行循环冗余校验,且随机确定出的多个检测区域是基于片上系统在断电前执行的最近一次写操作对应的地址确定出的,以此得到的检测结果更具代表性,这种基于种子地址进行随机性校验检测的方式可以降低错判、漏判概率。
其中,存储阵列未能在副电源模式下将存储阵列内的数据有效维持的可能情况包括:副电源的寿命变短、供电能力降低、副电源接触不良、因意外因素导致副电源在主电源断电期间出现暂时断电等。
可选的,如果上述S31-S33的功能模块封装在检测装置中,且检测装置部署在存储系统中。在S33之后,如图4所示,上述方法还可包括S34。
S34:将检测结果发送给片上系统,以供片上系统根据该检测结果,对该存储阵列中的可写区域进行继续读写,或将写入该可写区域中的所有数据删除。
其中,如果检测结果指示此次校验通过,即指示存储阵列在副电源模式下将存储阵列内的数据有效维持时,片上系统可根据该检测结果,继续访问存储阵列,以对存储阵列中的可写区域进行普通的读写操作(参考第一阶段)。如果检测结果指示此次校验未通过,即指示存储阵列在副电源模式下未能将存储阵列内的数据有效维持时,片上系统可根据该检测结果将存储阵列中的数据擦除。例如,片上系统可在确定此次校验未通过时,向存储系统发送擦除指令,以使存储系统根据该擦除指令将片上系统写入存储阵列中的所有数据删除。
可选的,如果检测装置被部署在片上系统中,则片上系统根据S33得到的检测结果,在检测结果指示此次校验通过时,将存储阵列的可写区域继续进行普通的读写操作(参考第一阶段),如果检测结果指示此次校验未通过,则可将片上系统写入存储阵列的可写区域中的所有数据删除。
可选的,如图5所示,上述的多个阶段还可包括:初始化阶段。
其中,在片上系统首次上电时,或,在通过S33的检测结果确定出存储阵列在副电源模式下未能将存储阵列内的数据有效维持时,或,当片上系统写入存储阵列的可写区域中的所有数据被删除时,可视为进入初始化阶段。
如图6所示,在初始化阶段,上述方法还可以包括S30。在执行S30之后,可重新进入第一阶段,以使片上系统能够重新对存储阵列进行数据读写。
S30:在初始化阶段,向存储阵列写入随机数据。
通过向存储阵列写入随机数据的方式可以实现对于存储阵列的初始化操作。
在一个应用场景下,在片上系统首次上电时,进入初始化阶段,此时可向存储阵列写入随机数据。
其中,通过在片上系统首次上电时实现对存储阵列的初始化,并且初始化过程是写入随机数据,将有利于在片上系统断电前(第二阶段)为存储阵列生成更具随机性的第一校验码。相较于在初始化时向存储阵列写入全0或全1等默认值的方式,如果初始化时写入的是默认值,那么当片上系统仅对存储阵列中的几个地址进行读写操作时,会导致整个存储阵列中存在大量的相同数据(默认值),在这种情况下选取地址来生成校验码时,会导致校验码的重复率较高,而上述实施方式中写入存储阵列的是随机数据,以此可以降低各个第一校验码之间的重复率,提升检测结果的可靠性。
关于上述S30,作为一种向存储阵列写入随机数据的实现方式,在S31-S33的方法是通过存储系统执行的情况下,向存储阵列写入随机数据的过程可以包括子步骤S301-S302。
S301:通过部署在存储系统中的检测装置生成随机数据,或,接收片上系统在首次上电时发送的随机数据。
S302:通过检测装置将随机数据写入存储阵列。
通过上述S301-S302的实现方式,提供了一种能够由存储系统自行实现初始化的方式,在该实现方式中,通过内置存储阵列的存储系统本身可以实现对于存储阵列的初始化操作。其中,随机数据的内容可以是存储系统自行生成的,也可以是片上系统提供的。
下面将以S31-S33的方法由存储系统执行为例,对S31-S33的具体处理过程进行阐述。其中,S31-S31的方法可以由存储系统通过部署在该存储系统内部的检测装置执行。
可选的,上述S31中随机确定多个检测地址的过程,可包括子步骤S311。
S311:在存储系统接收到片上系统发送的断电提示信号时,通过部署在存储系统中的检测装置根据种子地址进行随机运算,以从存储阵列的各个可写区域中得到多个随机地址,作为多个检测地址。
其中,可以采用预先设置的随机运算方式计算得到多个随机地址。本领域技术人员可以根据实际需要设置每次选取的随机地址数量,例如,可以设置为选取150、200、500个。
示例性的,可以将种子地址作为随机运算过程的输入参数,基于线性反馈移位寄存器(LFSR)的计算原理,计算得到多个随机地址作为多个检测地址。
基于S311的实现方式,提供了一种可以由存储系统自行根据种子地址随机确定多个检测地址的实现方式,基于该实现方式可以降低检测过程对于片上系统的依赖性,有利于片上系统的系统集成。
可选的,上述S31中基于多个检测地址当前存储的数据生成多个第一校验码的过程,可包括子步骤S312-S313。
S312:通过检测装置根据多个检测地址生成第一读取指令,并根据第一读取指令获取多个检测地址当前存储的多个阵列数据。
其中,第一读取指令可以是对片上系统不可见的指令。
S313:通过检测装置根据多个阵列数据,生成多个第一校验码。
其中,可以基于循环冗余校验原理生成第一校验码,关于校验码或循环冗余校验的内容可参考前述对于S33的循环冗余校验介绍内容。
通过上述S312-S313的实现方式,提供了一种可以由存储系统自行根据多个检测地址,读取得到这些检测地址中当前存储的阵列数据,并基于阵列数据生成第一校验码的实现方式。基于该实现方式,可以降低校验、检测过程对于片上系统的依赖性,可降低片上系统的集成难度。
可选的,上述S32中将关联数据和多个第一校验码存入存储阵列中的指定区域的实现过程,可以包括子步骤S321-S322。
S321:将关联数据存入指定区域中的目标地址中。
其中,可以通过检测装置生成第一写入指令,并根据第一写入指令将关联数据存入指定区域中的目标地址中。第一写入指令对应片上系统不可见。
S322:将多个第一校验码中的各个校验码存入所述目标地址之后的多个连续地址中。
其中,可以通过检测装置生成多个第二写入指令,并根据多个第二写入指令将多个第一校验码中的各个校验码存入目标地址之后的多个连续地址中。第二写入指令对应片上系统不可见。
示例性地,假设存储阵列中地址编号为00000-fffff的区域提供给片上系统进行数据写入的可写区域,编号为aa0-aaf的区域是片上系统不可进行数据写入的指定区域,可以将关联数据存入存储阵列中编号为aa0-aaf的地址对应的指定区域。
假设根据种子地址随机确定了3个检测地址,并基于该三个检测地址存储的数据生成与该三个检测地址存储的数据关联的3个第一校验码。
在一个实例中,可以将种子地址存入编号为aa0的地址,编号为aa0的地址可作为目标地址。与该种子地址关联的3个第一校验码可存入编号为编号为aa1-aa3的3个地址中。
在另一个实例中,可将该3个检测地址依次存入编号为aa1-aa3的3个地址中,编号为aa1-aa3的3个地址可作为目标地址。基于该3个检测地址存储的数据生成的3个第一校验码,可分别存储编号为aa4-aa6的3个地址中。
可以理解的是,上述存储方式仅作为示意,在其他实施例中可以采用其他存放方式,例如可以交叉存储,示例性的,可以在编号为aa1、aa3、aa5的3个地址中存放检测地址,并将编号为aa1、aa3、aa5的3个地址作为目标地址,分别在编号为aa1、aa3、aa5的3个地址之后的编号为aa2、aa4、aa6的3个地址中依序存放3个第一校验码。
基于S321-S322的实施方式,有利于降低数据读取难度,可简化检测地址和第一校验码在地址存储方面的映射关系,有利于按照地址编号顺序读取指定区域中的数据并进行后续校验,有利于快速实现循环冗余校验。
可选的,上述S33可以包括子步骤S331-S333。
S331:在片上系统非首次上电时,通过部署在存储系统中的检测装置生成第二读取指令,并根据第二读取指令,从指定区域中获取关联数据和多个第一校验码。
其中,第二读取指令可以是对片上系统不可见的指令。
读取关联数据和多个第一校验码的方式与将关联数据和多个第一校验码的地址存储方式有关,可以生成多条第二读取指令来读取关联数据和多个第一校验码。
S332:通过检测装置根据关联数据确定多个检测地址,并从多个检测地址中获取当前存储的多个阵列数据。
作为S332的一种实现方式,在关联数据为种子地址时,S332可以包括:通过检测装置根据种子地址进行随机运算,得到多个检测地址,以及通过检测装置从随机运算得到的多个检测地址中,获取多个检测地址当前存储的多个阵列数据。
其中,在该实施方式下,如果种子地址未发生变化,且检测地址的随机运算方式与S31中计算多个检测地址的方式完全相同,则在S332中确定的多个检测地址是与S31中随机确定的多个检测地址完全相同的地址。
相较于从指定区域中读取多个检测地址并基于此得到多个阵列数据的实现方式,通过从指定区域中读取种子地址从而获取多个阵列数据的方式,有利于减少数据读取次数。通过该实现方式可以从存储阵列中,基于种子地址随机确定出部分区域,从而能够对随机确定出的这部分区域中存储的多个阵列数据进行检测,这种基于种子地址进行随机性校验的方式,可以降低错判、漏判概率,相较于对固定区域、固定值进行比对检测的方式,检测得到的结果更具代表性。
作为S332的另一种实现方式,在关联数据为多个检测地址时,S332可以包括:通过检测装置根据从指定区域中获取得到的多个检测地址,从多个检测地址中获取多个检测地址当前存储的多个阵列数据。
以此提供了一种可以由存储系统自行从存储阵列的部分区域中提取当前存储的多个阵列数据的实现方式,可降低检测过程对于片上系统的依赖性,片上系统无需为了检测过程多次访问存储系统中的存储阵列。
在得到多个检测地址当前(第三阶段)存储的多个阵列数据之后,执行S333。
S333:通过检测装置对多个第一校验码以及多个检测地址当前存储的多个阵列数据,进行循环冗余校验,得到检测结果。
关于循环冗余校验的内容,请参阅前述相关描述,在此不再赘述。
通过上述S331-S333的实现方式,可以由存储系统自行实现校验过程,在校验过程中,采用了片上系统断电前的时间段为存储阵列的部分区域生成的校验码,以及片上系统重新上电时从这部分区域中读取到的多个阵列数据,进行循环冗余校验,这种随机性校验的方案可以减少错判、漏判概率。
在一个实例中,本申请实施例中的存储系统是实时时钟系统。
该实时时钟系统(RTC系统)带有存储阵列,且具有在副电源模式下对存储阵列内的数据进行维持的功能,即Retention功能。该实时时钟系统可以与片上系统集成在一个芯片中。
该实时时钟系统采用板载的电压调节模组(VRM)提供的直流电或板载电池进行供电。该电压调节模组可作为主电源,提供1.8V、3.3V等直流电。板载电池可作为副电源,可提供1.5V电池电压。当电压调节模组停止供电时,该实时时钟系统会自动切换成电池供电,以此维持实时时钟系统内的存储阵列数据不被改写。当长时间处于电池供电的情况下,随着电池电压的下降,会导致实时时钟系统内部存储阵列中的数据不再能够保持。当该实时时钟系统能够执行本申请实施例提供的检测数据维持有效性的方法时,可检测检测实时时钟系统中的存储阵列在副电源模式下的数据维持有效性。
可以理解的是,基于本申请实施例提供的原理,不仅可以适用于对实时时钟系统(RTC系统)进行数据维持有效性检测,还可适用于内部含有具有retention能力的存储阵列的其他系统,并且该系统的副电源采用电荷电容器(包括电池等)一类随着时间推移而出现电压不断下降情况的检测场景。
基于同一发明构思,如图7所示,本申请实施例还提供一种检测装置400。该检测装置400可用于执行前述的检测数据维持有效性的方法。
如图7所示,该检测装置400包括:种子获取模块401、第一处理模块402、第二处理模块403。
种子获取模块401,用于在片上系统断电前,读取片上系统执行的最近一次写操作对应的地址,并将片上系统执行的最近一次写操作对应的地址确定为种子地址。
第一处理模块402,用于在片上系统断电前,基于种子地址从存储系统的存储阵列中随机确定出多个检测地址,并基于多个检测地址当前存储的数据,生成多个第一校验码。
第一处理模块402,还用于在片上系统断电前,将种子地址和/或多个检测地址作为多个第一校验码的关联数据,将关联数据和多个第一校验码存入存储阵列中的指定区域,指定区域是片上系统不可写入数据的区域。
第二处理模块403,用于在片上系统非首次上电时,根据关联数据对多个第一校验码以及多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,检测结果用于反映存储阵列是否在副电源模式下将存储阵列内的数据有效维持。
通过上述的检测装置400,可以执行前述的方法,可以对随机确定的区域以及这些区域对应的第一校验码进行循环冗余校验,可得到更具代表性的检测结果,有利于降低错判、漏判概率。
可选的,该检测装置400还可包括初始化模块。初始化模块用于在片上系统首次上电时,向存储阵列写入随机数据。以此可以降低各个第一校验码之间的重复率,可提升检测结果的可靠性。
本申请实施例中的检测装置400可部署在存储系统中。
可选的,该检测装置400中的初始化模块还可用于:生成随机数据,或,接收片上系统在首次上电时发送的随机数据;将随机数据写入所述存储阵列。
可选的,该检测装置400中的第一处理模块402还可用于:在存储系统接收到片上系统发送的断电提示信号时,根据种子地址进行随机运算,以从存储阵列的各个可写区域中得到多个随机地址,作为多个检测地址。
可选的,该第一处理模块402还可用于:根据多个检测地址生成第一读取指令,并根据第一读取指令获取多个检测地址当前存储的多个阵列数据;根据多个阵列数据,生成多个第一校验码。
可选的,该检测装置400中的第二处理模块403还可用于:在片上系统非首次上电时,生成第二读取指令,并根据第二读取指令,从指定区域中获取关联数据和多个第一校验码;根据关联数据确定多个检测地址,并从所述多个检测地址中获取当前存储的多个阵列数据;对多个第一校验码以及多个检测地址当前存储的多个阵列数据进行循环冗余校验,得到检测结果。
可选的,在关联数据为种子地址时,该第二处理模块403还可用于:根据种子地址进行随机运算,得到多个检测地址;从随机运算得到的多个检测地址中,获取该多个检测地址当前存储的多个阵列数据。
可选的,在关联数据为多个检测地址时,该第二处理模块403还可用于:根据从指定区域中获取得到的多个检测地址,从多个检测地址中获取该多个检测地址当前存储的多个阵列数据。
关于该检测装置400的其他细节,可参考前述方法部分的相关内容,在此不再赘述。
基于同一发明构思,如图8所示,本申请实施例还提供一种芯片10,该芯片10中包括片上系统100以及与片上系统100连接的存储系统200。在图8中,VDD1表示主电源,VDD2表示副电源。
该存储系统200采用主电源模式或副电源模式供电。
在主电源模式下,存储系统200与片上系统100采用相同的电源供电。
在片上系统100断电期间,存储系统200用于采用副电源模式对存储系统200内部的存储阵列供电,存储阵列中包括片上系统100不可写入数据的指定区域以及能够提供给片上系统100写入数据的可写区域。
该芯片10用于执行前述检测数据维持有效性的方法。
基于同一发明构思,如图9所示,本申请实施例还提供一种电路系统,该电路系统包括第一芯片20和第二芯片30。
第一芯片20中包括片上系统100,第二芯片30中包括存储系统200,片上系统100与存储系统200连接。
存储系统200采用主电源模式或副电源模式供电。
在主电源模式下,存储系统200与片上系统100采用相同的电源供电。
在片上系统100断电期间,存储系统200用于采用副电源模式对存储系统200内部的存储阵列供电,存储阵列中包括片上系统100不可写入数据的指定区域以及能够提供给片上系统100写入数据的可写区域。
第二芯片30用于执行前述检测数据维持有效性的方法。
可选的,该电路系统还可包括第一电源和第二电源,第一电源可作为主电源,第二电源可作为副电源。在图9中,VDD1表示主电源,VDD2表示副电源。
综上所述,相较于在内置存储阵列的系统中搭建专用硬件检测电路来检测副电源电压的方式,需要在存储系统的芯片10内搭建硬件检测电路来检测副电源的电压,并在检测到副电源的电压值低于一个阈值时,确定存储阵列内的数据没有得到有效维持,这种搭建硬件检测电路的方式会受到工艺迭代的产品限制,随着芯片10工艺迭代,需要对硬件检测电路进行不断的改进,并且数据维持电压值(DRV)这一阈值的具体设定需要根据不同的芯片10工艺、实际的芯片10设计进行复杂的设计。而本申请实施例提供的方法可以通过部署软件检测装置实现上述方法的功能,可以数字电路、软件功能模块实现检测的方式实现上述方法,更具有通用性,免受工艺迭代的限制。
相较于背景技术中的现有技术,本申请实施例可通过对具有Retention能力、带有存储阵列的存储系统集成专用的检测装置,以实现本申请实施例提供的方法,并且以基于种子地址确定的随机区域,基于随机区域存储的数据,以循环冗余校验的随机校验方案实现检测过程,整个方案可以降低对于片上系统的依赖性,无线片上系统在检测过程中多次访问存储阵列,有利于降低片上系统的集成难度。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,方法中的多个步骤对应的功能模块可以结合或者可以集成到另一个系统。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以用软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本申请各个实施例方法的全部或部分步骤。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (14)

1.一种检测数据维持有效性的方法,其特征在于,所述方法包括:
在片上系统断电前,将所述片上系统执行的最近一次写操作对应的地址作为种子地址,基于所述种子地址从存储系统的存储阵列中随机确定出多个检测地址,并基于所述多个检测地址当前存储的数据,生成多个第一校验码;
将所述种子地址和/或所述多个检测地址作为所述多个第一校验码的关联数据,将所述关联数据和所述多个第一校验码存入所述存储阵列中的指定区域,所述指定区域是所述片上系统不可写入数据的区域;
在所述片上系统非首次上电时,根据所述关联数据对所述多个第一校验码以及所述多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,所述检测结果用于反映所述存储阵列是否在副电源模式下将所述存储阵列内的数据有效维持。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述片上系统首次上电时,向所述存储阵列写入随机数据。
3.根据权利要求2所述的方法,其特征在于,所述向所述存储阵列写入随机数据,包括:
通过部署在所述存储系统中的检测装置生成所述随机数据,或,接收所述片上系统在首次上电时发送的所述随机数据;
通过所述检测装置将所述随机数据写入所述存储阵列。
4.根据权利要求1所述的方法,其特征在于,所述在片上系统断电前,将所述片上系统执行的最近一次写操作对应的地址作为种子地址,基于所述种子地址从存储系统的存储阵列中随机确定出多个检测地址,包括:
在所述存储系统接收到所述片上系统发送的断电提示信号时,通过部署在所述存储系统中的检测装置根据所述种子地址进行随机运算,以从所述存储阵列的各个可写区域中得到多个随机地址,作为所述多个检测地址。
5.根据权利要求4所述的方法,其特征在于,所述基于所述多个检测地址当前存储的数据,生成多个第一校验码,包括:
通过所述检测装置根据所述多个检测地址生成第一读取指令,并根据所述第一读取指令获取所述多个检测地址当前存储的多个阵列数据;
通过所述检测装置根据所述多个阵列数据,生成所述多个第一校验码。
6.根据权利要求1所述的方法,其特征在于,所述在所述片上系统非首次上电时,根据所述关联数据对所述多个第一校验码以及所述多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,包括:
在所述片上系统非首次上电时,通过部署在所述存储系统中的检测装置生成第二读取指令,并根据所述第二读取指令,从所述指定区域中获取所述关联数据和所述多个第一校验码;
通过所述检测装置根据所述关联数据确定所述多个检测地址,并从所述多个检测地址中获取当前存储的多个阵列数据;
通过所述检测装置对所述多个第一校验码以及所述多个检测地址当前存储的多个阵列数据,进行循环冗余校验,得到所述检测结果。
7.根据权利要求6所述的方法,其特征在于,在所述关联数据为所述种子地址时,所述通过所述检测装置根据所述关联数据确定所述多个检测地址,并从所述多个检测地址中获取当前存储的多个阵列数据,包括:
通过所述检测装置根据所述种子地址进行随机运算,得到多个检测地址;
通过所述检测装置从随机运算得到的所述多个检测地址中,获取所述多个检测地址当前存储的多个阵列数据。
8.根据权利要求6所述的方法,其特征在于,在所述关联数据为所述多个检测地址时,所述通过所述检测装置根据所述关联数据确定所述多个检测地址,并从所述多个检测地址中获取当前存储的多个阵列数据,包括:
通过所述检测装置根据从所述指定区域中获取得到的多个检测地址,从所述多个检测地址中获取所述多个检测地址当前存储的多个阵列数据。
9.根据权利要求1-8任一项所述的方法,其特征在于,
所述存储系统在主电源模式下与所述片上系统采用相同的电源供电;
在所述片上系统断电期间,所述存储系统采用副电源模式对所述存储系统内部的所述存储阵列供电。
10.根据权利要求1-8任一项所述的方法,其特征在于,所述存储系统是实时时钟系统。
11.一种检测装置,其特征在于,所述检测装置包括:种子获取模块、第一处理模块、第二处理模块;
所述种子获取模块,用于在片上系统断电前,读取所述片上系统执行的最近一次写操作对应的地址,并将所述片上系统执行的最近一次写操作对应的地址确定为种子地址;
所述第一处理模块,用于在所述片上系统断电前,基于所述种子地址从存储系统的存储阵列中随机确定出多个检测地址,并基于所述多个检测地址当前存储的数据,生成多个第一校验码;
所述第一处理模块,还用于在所述片上系统断电前,将所述种子地址和/或所述多个检测地址作为所述多个第一校验码的关联数据,将所述关联数据和所述多个第一校验码存入所述存储阵列中的指定区域,所述指定区域是所述片上系统不可写入数据的区域;
所述第二处理模块,用于在所述片上系统非首次上电时,根据所述关联数据对所述多个第一校验码以及所述多个检测地址当前存储的数据进行循环冗余校验,得到检测结果,所述检测结果用于反映所述存储阵列是否在副电源模式下将所述存储阵列内的数据有效维持。
12.根据权利要求11所述的检测装置,其特征在于,所述检测装置还包括初始化模块;
所述初始化模块,用于在所述片上系统首次上电时,向所述存储阵列写入随机数据。
13.一种芯片,其特征在于,所述芯片中包括片上系统以及与所述片上系统连接的存储系统;
所述存储系统采用主电源模式或副电源模式供电;
在主电源模式下,所述存储系统与所述片上系统采用相同的电源供电;
在所述片上系统断电期间,所述存储系统用于采用副电源模式对所述存储系统内部的存储阵列供电,所述存储阵列中包括所述片上系统不可写入数据的指定区域以及能够提供给所述片上系统写入数据的可写区域;
所述芯片用于执行权利要求1-10任一项所述的方法。
14.一种电路系统,其特征在于,包括第一芯片和第二芯片;
所述第一芯片中包括片上系统,所述第二芯片中包括存储系统,所述片上系统与所述存储系统连接;
所述存储系统采用主电源模式或副电源模式供电;
在主电源模式下,所述存储系统与所述片上系统采用相同的电源供电;
在所述片上系统断电期间,所述存储系统用于采用副电源模式对所述存储系统内部的存储阵列供电,所述存储阵列中包括所述片上系统不可写入数据的指定区域以及能够提供给所述片上系统写入数据的可写区域;
所述第二芯片用于执行权利要求1-10任一项所述的方法。
CN202011242957.9A 2020-11-09 2020-11-09 检测数据维持有效性的方法、检测装置和芯片 Active CN112363864B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011242957.9A CN112363864B (zh) 2020-11-09 2020-11-09 检测数据维持有效性的方法、检测装置和芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011242957.9A CN112363864B (zh) 2020-11-09 2020-11-09 检测数据维持有效性的方法、检测装置和芯片

Publications (2)

Publication Number Publication Date
CN112363864A true CN112363864A (zh) 2021-02-12
CN112363864B CN112363864B (zh) 2023-10-27

Family

ID=74509839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011242957.9A Active CN112363864B (zh) 2020-11-09 2020-11-09 检测数据维持有效性的方法、检测装置和芯片

Country Status (1)

Country Link
CN (1) CN112363864B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658352A (en) * 1983-06-02 1987-04-14 Pioneer Electronic Corporation Computer system with a back-up power supply
CN105892935A (zh) * 2015-02-13 2016-08-24 株式会社东芝 磁盘装置以及转移保存管理信息的方法
CN106649142A (zh) * 2016-12-02 2017-05-10 北京航天长征飞行器研究所 一种具有断电续存功能的高速存储器
CN107257281A (zh) * 2017-05-31 2017-10-17 百富计算机技术(深圳)有限公司 Nor flash存储密钥记录的方法、装置及计算机可读存储介质
CN109426582A (zh) * 2017-08-30 2019-03-05 慧荣科技股份有限公司 用于存储装置为错误处置进行数据处理的方法及控制器
CN110780811A (zh) * 2019-09-19 2020-02-11 华为技术有限公司 数据保护方法、装置及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4658352A (en) * 1983-06-02 1987-04-14 Pioneer Electronic Corporation Computer system with a back-up power supply
CN105892935A (zh) * 2015-02-13 2016-08-24 株式会社东芝 磁盘装置以及转移保存管理信息的方法
CN106649142A (zh) * 2016-12-02 2017-05-10 北京航天长征飞行器研究所 一种具有断电续存功能的高速存储器
CN107257281A (zh) * 2017-05-31 2017-10-17 百富计算机技术(深圳)有限公司 Nor flash存储密钥记录的方法、装置及计算机可读存储介质
CN109426582A (zh) * 2017-08-30 2019-03-05 慧荣科技股份有限公司 用于存储装置为错误处置进行数据处理的方法及控制器
CN110780811A (zh) * 2019-09-19 2020-02-11 华为技术有限公司 数据保护方法、装置及存储介质

Also Published As

Publication number Publication date
CN112363864B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
US9317299B2 (en) Method and device for cold starting android mobile terminal
US20200004318A1 (en) Card and host apparatus
US11995348B2 (en) Data and power management of partitioned buffer in a storage device
KR101358776B1 (ko) 장비의 리부트 이유를 기록하는 장치 및 방법
CN102890657A (zh) 一种减少eeprom的数据读写出错的方法
CN106021002B (zh) 一种嵌入式设备数据读写方法及装置
CN101710253A (zh) 嵌入式系统的深度休眠方法
CN103678030A (zh) 多系统设备启动系统及其方法
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
KR20150029402A (ko) 데이터 저장 시스템 및 그것의 동작 방법
US20210382660A1 (en) Apparatus and method for performing recovery operation of memory system
US10303386B2 (en) Data processing device and method for saving power in a data processing device
CN115659425A (zh) 固态硬盘及其限次访问控制方法、电子设备
CN112306726A (zh) 一种抗单粒子翻转系统及方法
KR20210006121A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
CN112363864B (zh) 检测数据维持有效性的方法、检测装置和芯片
CN218333137U (zh) 固态硬盘及电子设备
US20150089293A1 (en) Non-Volatile Logic Based Processing Device
KR102227196B1 (ko) 데이터 저장 시스템 및 그것의 동작 방법
KR20220007988A (ko) 신뢰성 확보를 위한 메모리 시스템
JP2005050442A (ja) 冗長メモリ回路
CN112272024A (zh) Fpga器件的配置数据的刷新方法、电路和存储介质
US20070274302A1 (en) Data Storage Device, Memory Managing Method, and Program
CN108132857B (zh) 一种fpga断电状态精确恢复方法
CN107451073B (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
CB02 Change of applicant information

Address after: Industrial incubation-3-8, North 2-204, No. 18, Haitai West Road, Huayuan Industrial Zone, Binhai New Area, Tianjin 300450

Applicant after: Haiguang Information Technology Co.,Ltd.

Address before: 100082 industrial incubation-3-8, North 2-204, 18 Haitai West Road, Huayuan Industrial Zone, Haidian District, Beijing

Applicant before: Haiguang Information Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant