CN117546031A - 掉电检测方法及相关设备 - Google Patents

掉电检测方法及相关设备 Download PDF

Info

Publication number
CN117546031A
CN117546031A CN202180099607.8A CN202180099607A CN117546031A CN 117546031 A CN117546031 A CN 117546031A CN 202180099607 A CN202180099607 A CN 202180099607A CN 117546031 A CN117546031 A CN 117546031A
Authority
CN
China
Prior art keywords
memory
low power
controller
memory controller
volatile
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
CN202180099607.8A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117546031A publication Critical patent/CN117546031A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/143Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • 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)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

一种掉电检测方法及相关设备,其中方法应用于存储控制器(51),存储控制器(51)与存储器(52)耦合,存储器(52)为非易失性存储器,存储器(52)中设置有易失性存储单元(521);存储控制器(51)在进入低功耗模式之前,将目标数据写入至易失性存储单元(521);存储控制器(51)在检测到用于退出低功耗模式的唤醒请求之后,从易失性存储单元(521)中获取数据;存储控制器(51)根据从易失性存储单元(521)中获取的数据,判断存储器(52)在存储控制器(51)处于低功耗模式期间是否发生过掉电;若存储器(52)在存储控制器(51)处于低功耗模式期间发生过掉电,存储控制器(51)则对存储器(52)进行初始化。能够避免存储控制器(51)在退出低功耗模式后对存储器(52)进行访问出现异常。

Description

掉电检测方法及相关设备 技术领域
本申请涉及数据处理技术领域,尤其涉及一种掉电(Power-off)检测方法及相关设备。
背景技术
固态存储器(Solid-State Memory)一般包括存储控制器和存储介质,存储控制器通过存储器接口对存储介质进行访问。固态存储器进入低功耗模式(也称为休眠状态)时,存储控制器也会进入低功耗模式。在固态存储器处于低功耗模式期间,存储介质可能会出现掉电情况。若存储介质在固态存储器处于低功耗模式期间发生过掉电,则存储控制器在退出低功耗模式后对存储介质进行访问会出现异常。因此,如何避免存储控制器在退出低功耗模式后对存储介质进行访问出现异常,是急需解决的技术问题。
发明内容
本申请实施例公开了一种掉电检测方法及相关设备,能够避免存储控制器在退出低功耗模式后对存储器进行访问出现异常。
第一方面,本申请实施例提供了一种掉电检测方法,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述方法包括:在所述存储控制器进入低功耗模式之前,将目标数据写入至所述易失性存储单元;在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电;若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,则对所述存储器进行初始化。其中,存储器中设置的易失性存储单元可以为存储器中本身存在的易失性存储单元,也可以是为实现本申请技术方案特意在存储器中单独设置的易失性存储单元。
在本申请实施例中,与存储控制器耦合的存储器为非易失性存储器,且该存储器中设置有易失性存储单元,当主机对存储器没有数据访问时,存储控制器会进入到低功耗模式以降低功耗,存储控制器在进入低功耗模式之前将目标数据写入到易失性存储单元中;存储控制器处于低功耗模式期间,当主机需要对存储器进行数据访问时,存储控制器会检测到用于退出低功耗模式的唤醒请求,于是从易失性存储单元中获取数据;由于易失性存储单元在发生掉电前后,其中存储的数据是会发生变化的,存储控制器可以根据目标数据和从易失性存储单元中获取到的数据,判断处于低功耗模式期间,存储器是否发生过掉电;例如,易失性存储单元之前存储有目标数据,存储控制器可以从获取到的数据中判断易失性存储单元存储的目标数据是否发生过变化,以此来判断存储器是否发生过掉电;如果存储器没有发生过掉电,则存储控制器退出低功耗模式之后,即可依据主机对存储器的数据访问直接对存储器进行访问;如果存储器发生过掉电,存储控制器则对存储器进行初始化,存储器初始化完成后,再退出低功耗模式,如此,存储控制器在退出低功耗模式之后,也可以依据主机对存储器的数 据访问对存储器进行访问,从而避免访问出现异常。本申请提供的掉电检测的原理为:根据易失性存储单元存储的目标数据在存储控制器处于低功耗模式期间是否发生过变化,判断存储器在存储控制器处于低功耗模式期间是否发生过掉电。现有技术的掉电检测原理为:存储控制器在处于低功耗模式期间持续对存储器的电源进行检测,以此判断存储器是否发生掉电。本申请提供的掉电检测的原理区别于现有技术对存储器的电源进行检测的掉电检测原理。由于现有技术的掉电检测,存储控制器在处于低功耗模式期间需要持续对存储器的电源进行检测,也即存储控制器在处于低功耗模式期间还是在进行电源检测的工作,这会产生功耗,与让存储控制器进入低功耗模式的初衷相违背。本申请提供的掉电检测,在需要判断存储器是否发生掉电时,存储控制器仅需检测一次存储器中的易失性存储单元存储的目标数据有没有发生过变化,即可判断出存储器是否发生掉电,故可以降低功耗。此外,现有技术的掉电检测,需要对存储控制器的结构进行改进,在存储控制器中设置电源检测装置(例如电源检测电路)以对存储器的电源进行持续检测,故导致存储控制器成本增加;而本申请不需要对存储控制器的结构进行改进,从而不会导致存储控制器成本增加;并且,因存储器中一般均存在一些易失性存储单元,本申请涉及的易失性存储单元也可以直接采用存储器中现有的易失性存储单元,从而也不会导致存储器成本增加。
在一种可能的实现方式中,所述根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在本申请实施例中,易失性存储单元在发生掉电前后,其中存储的数据是会发生变化;存储控制器在进入低功耗模式之前,已经将目标数据写入至易失性存储单元中了,如果存储器在存储控制器处于低功耗模式期间没有发生过掉电,则从易失性存储单元中获取的数据包含目标数据的全部,或者说包含的目标数据与之前写入的目标数据相同;如果存储器在存储控制器处于低功耗模式期间发生过掉电,则从易失性存储单元中获取的数据不包含目标数据或包含目标数据的部分,或着说包含的目标数据与之前写入的目标数据不相同。如此,通过从易失性存储单元中获取的数据判断易失性存储单元中存储的目标数据是否发生变化,进而可以判断出存储器是否发生过掉电。
在一种可能的实现方式中,若所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;否则,所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在本申请实施例中,存储器中的易失性存储单元存储的目标数据没有发生过变化,则说明存储器没有发生过掉电;存储器中的易失性存储单元存储的目标数据发生过变化,则说明存储器发生过掉电,存储控制器需要对存储器进行初始化,以避免存储控制器退出低功耗模式之后访问存储器出现异常。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器(Cache)或随机存取存储器(Random Access Memory,RAM)。
在本申请实施例中,存储器的内部一般都均设置有高速缓冲存储器和/或随机存取存储器,高速缓冲存储器和随机存取存储器为易失性存储器,以存储器的内部的高速缓冲存储器和/或随机存取存储器为本方案的易失性存储单元,将目标数据写入存储器的内部的高速缓冲 存储器和/或随机存取存储器,无需再另外在存储器中单独设置易失性存储单元,从而可以节省成本。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器(Register);所述目标数据对应所述状态寄存器的状态;所述根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在本申请实施例中,易失性存储单元可以为状态寄存器,写入至状态寄存器中的目标数据对应状态寄存器的状态,将目标数据写入状态寄存器也即将状态写入状态寄存器,而状态寄存器发生掉电前后的状态是会变化的,如此可以根据状态寄存器的状态是否发生变化来判断存储器是否发生掉电。具体地,从状态寄存器中获取数据,也即从状态寄存器中读取状态寄存器的状态,根据读取的状态寄存器的状态判断状态寄存器的状态在存储控制器处于低功耗模数期间是否发生变化;如果状态寄存器的状态发生过变化,则存储器发生过掉电;如果状态寄存器的状态没有发生过变化,则存储器没有发生过掉电。
第二方面,本申请实施例提供了一种掉电检测方法,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述方法包括:根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在本申请实施例中,与存储控制器耦合的存储器为非易失性存储器,且该存储器中设置有易失性存储单元,易失性存储单元中存储有目标数据;本申请提供的掉电检测的原理为:根据易失性存储单元存储的目标数据在存储控制器处于低功耗模式期间是否发生过变化,判断存储器在存储控制器处于低功耗模式期间是否发生过掉电。现有技术的掉电检测原理为:存储控制器在处于低功耗模式期间持续对存储器的电源进行检测,以此判断存储器是否发生掉电。本申请提供的掉电检测的原理区别于现有技术对存储器的电源进行检测的掉电检测原理。由于现有技术的掉电检测,存储控制器在处于低功耗模式期间需要持续对存储器的电源进行检测,也即存储控制器在处于低功耗模式期间还是在进行电源检测的工作,这会产生功耗,与让存储控制器进入低功耗模式的初衷相违背。本申请提供的掉电检测,在需要判断存储器是否发生掉电时,存储控制器仅需检测一次存储器中的易失性存储单元存储的目标数据有没有发生过变化,即可判断出存储器是否发生掉电,故可以降低功耗。此外,现有技术的掉电检测,需要对存储控制器的结构进行改进,在存储控制器中设置电源检测装置(例如电源检测电路)以对存储器的电源进行持续检测,故导致存储控制器成本增加;而本申请不需要对存储控制器的结构进行改进,从而不会导致存储控制器成本增加;并且,因存储器中一般均存在一些易失性存储单元,本申请涉及的易失性存储单元也可以直接采用存储器中现有的易失性存储单元,从而也不会导致存储器成本增加。
在一种可能的实现方式中,若所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;否则,所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在本申请实施例中,存储器中的易失性存储单元存储的目标数据没有发生过变化,则说明存储器没有发生过掉电;存储器中的易失性存储单元存储的目标数据发生过变化,则说明 存储器发生过掉电,从而实现掉电检测。
在一种可能的实现方式中,在所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述方法还包括:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述易失性存储单元;在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化。
在本申请实施例中,存储控制器在进入低功耗模式之前将目标数据写入到易失性存储单元中;存储控制器处于低功耗模式期间,当主机需要对存储器进行数据访问时,存储控制器会检测到用于退出低功耗模式的唤醒请求,于是从易失性存储单元中获取数据;由于易失性存储单元在发生掉电前后,其中存储的数据是会发生变化的,故存储控制器可以根据从易失性存储单元中获取到的数据,判断易失性存储单元存储的目标数据是否发生过变化,进而可以判断出存储器是否发生过掉电。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
在本申请实施例中,存储器的内部一般都均设置有高速缓冲存储器和/或随机存取存储器,高速缓冲存储器和随机存取存储器为易失性存储器,以存储器的内部的高速缓冲存储器和/或随机存取存储器为本方案的易失性存储单元,将目标数据写入存储器的内部的高速缓冲存储器和/或随机存取存储器,无需再另外在存储器中单独设置易失性存储单元,从而可以节省成本。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在本申请实施例中,易失性存储单元可以为状态寄存器,状态寄存器中存储的目标数据对应状态寄存器的状态,而状态寄存器发生掉电前后的状态是会变化的,如此可以根据状态寄存器的状态是否发生变化来判断存储器是否发生掉电。
在一种可能的实现方式中,在所述根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述方法还包括:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述状态寄存器;在检测到用于退出低功耗模式的唤醒请求之后,从所述状态寄存器中获取数据;根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化。
在本申请实施例中,状态寄存器中存储的目标数据对应状态寄存器的状态,存储控制器在进入低功耗模式之前将目标数据写入到状态寄存器中,也即将状态写入状态寄存器;存储控制器从状态寄存器中获取数据,也即从状态寄存器中读取状态寄存器的状态;存储控制器根据从状态寄存器中获取的数据判断状态寄存器的状态是否发生过变化,也即根据读取的状态寄存器的状态判断状态寄存器的状态是否发生变化;如果状态寄存器的状态发生过变化,则存储器发生过掉电;如果状态寄存器的状态没有发生过变化,则存储器没有发生过掉电,从而实现掉电检测。
在一种可能的实现方式中,若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,所述方法还包括:在所述存储控制器退出低功耗模式之前,对所述存储器进行初始化。
在本申请实施例中,如果存储器在存储控制器处于低功耗模式期间发生过掉电,存储控制器则对存储器进行初始化,存储器初始化完成后,再退出低功耗模式;如此,存储控制器在退出低功耗模式之后,对存储器进行访问时,可以避免访问出现异常。
第三方面,本申请实施例提供了一种掉电检测装置,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述装置包括处理单元,所述处理单元用于:在所述存储控制器进入低功耗模式之前,将目标数据写入至所述易失性存储单元;在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电;若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,则对所述存储器进行初始化。
在一种可能的实现方式中,所述处理单元具体用于:根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在一种可能的实现方式中,所述处理单元具体用于:若所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则确定所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;否则,确定所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述处理单元具体用于:根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
需要说明的是,第三方面的有益效果可以参照第一方面的描述,此处不再重复描述。
第四方面,本申请实施例提供了一种掉电检测装置,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述装置包括:处理单元,用于根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在一种可能的实现方式中,所述处理单元具体用于:若所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则确定所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;否则,确定所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在一种可能的实现方式中,在所述根据所述易失性存储单元存储的目标数据在所述存储 控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述处理单元还用于:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述易失性存储单元;在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述处理单元具体用于:根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在一种可能的实现方式中,所述处理单元还用于:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述状态寄存器;在检测到用于退出低功耗模式的唤醒请求之后,从所述状态寄存器中获取数据;根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化。
在一种可能的实现方式中,若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,所述处理单元还用于:在所述存储控制器退出低功耗模式之前,对所述存储器进行初始化。
需要说明的是,第四方面的有益效果可以参照第二方面的描述,此处不再重复描述。
第五方面,本申请实施例提供了一种存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述存储控制器用于执行如上述第一方面或第二方面中任一项所述的方法。
第六方面,本申请实施例提供了一种存储设备,包括第五方面所述的存储控制器和存储器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元。
第七方面,本申请实施例提供了一种电子设备,所述电子设备包括第五方面的存储控制器或第六方面的存储设备。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器进行如上述第一方面或第二方面中任一项所述的方法。
第九方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器进行如上述第一方面或第二方面中任一项所述的方法。
附图说明
图1是固态存储器的结构示意图。
图2是存储控制器在无掉电检测情况下进入、退出低功耗模式的流程图。
图3是具备基于电源的掉电检测的固态存储器的结构示意图。
图4是存储控制器在基于电源的掉电检测情况下进入、退出低功耗模式的流程图。
图5是本申请实施例提供的一种具备掉电检测功能的存储设备的结构示意图。
图6是本申请实施例提供的一种存储控制器在基于易失性存储单元的掉电检测情况下进入、退出低功耗模式的流程图。
图7是本申请实施例提供的一种掉电检测方法的流程示意图。
图8是本申请实施例提供的另一种掉电检测方法的流程示意图。
图9是本申请实施例提供的一种掉电检测装置的结构示意图。
图10是本申请实施例提供的另一种掉电检测装置的结构示意图。
图11是本申请实施例提供的一种电子设备的结构示意图。
图12是本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本说明书中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本说明书所描述的实施例可以与其它实施例相结合。
为了便于理解本申请实施例,进一步分析并提出本申请所具体要解决的技术问题。
如图1所示,固态硬盘(Solid State Disk,SSD)、通用闪存存储(Universal Flash Storage,UFS)、嵌入式多媒体卡(Embedded Multi Media Card,eMMC)等固态存储器(Solid-State Memory)由存储控制器和闪存(Flash)存储介质组成,存储控制器包括中央处理器(Central Processing Unit,CPU)、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM);存储控制器通过Flash存储器接口与Flash存储介质连接,实现对Flash存储介质进行数据的读写访问;存储控制器通过主机(Host)接口与主机连接。
对于功耗敏感的应用场景(例如手机等消费类产品),当用户对固态存储器无数据访问时,会要求固态存储器进入低功耗模式,此时固态存储器中的存储控制器也会进入低功耗模式。存储控制器进入低功耗模式后,存储控制器中的CPU、ROM、RAM等模块进入休眠状态或者关闭状态。在固态存储器处于低功耗模式的情况下,当用户对固态存储器有数据访问时,要求存储控制器快速退出低功耗模式,并对固态存储器中的Flash存储介质进行访问。
在固态存储器处于低功耗模式期间,即便对固态存储器中的Flash存储介质持续供电,Flash存储介质也可能出现掉电情况,例如因为一些异常情况导致Flash存储介质的电源出现跌落或者短暂的断电。若Flash存储介质在存储控制器处于低功耗模式期间发生过掉电,则存储控制器需要对Flash存储介质进行重新初始化,才能使得在Flash存储介质掉电之后仍可以被存储控制器正常访问。其中,初始化主要包括存储器接口链路建链、存储器接口参数配置、存储器工作模式设置等操作;例如,对Flash存储器接口链路建链、对Flash存储器接口参数配置,对Flash存储介质工作模式设置等操作。
目前,关于如何避免存储控制器在退出低功耗模式后对存储介质进行访问出现异常的方案有多种,在此示例性的介绍前述两种方案。
现有方案一:存储控制器处于低功耗模式期间不检测存储介质是否发生掉电,每次退出低功耗模式前对存储介质进行初始化。
其中,实现现有方案一的固态存储器的结构可以如图1所示;现有方案一的实现流程如图2所示,包括如下步骤:
步骤201、存储控制器进入低功耗模式。
步骤202、存储控制器判断是否被唤醒退出低功耗模式;若判断结果为没有被唤醒退出低功耗模式,则继续判断是否被唤醒退出低功耗模式;若判断结果为被唤醒退出低功耗模式,则进入步骤203。其中,被唤醒退出低功耗模式是指存储控制器被主机唤醒退出低功耗模式。
步骤203、存储控制器固件进入退出低功耗模式流程。也即,当存储控制器进入低功耗模式之后,检测到被Host唤醒,存储控制器固件会进入退出低功耗模式的处理流程。其中,存储控制器固件是指存储控制器内部保存的驱动程序,也即安装在存储控制器中的固件程序。
步骤204、存储控制器固件重新初始化Flash存储介质。也即,存储控制器固件对Flash存储介质进行重新初始化。
步骤205、Flash存储介质配置Flash寄存器。
步骤206、Flash存储介质正常工作。也即,当Flash存储介质的相关寄存器完成配置后,Flash存储介质进入正常工作模式。
步骤207、存储控制器固件完成退出低功耗模式操作。其中,存储控制器固件完成退出低功耗模式的相关操作后,通知存储控制器退出低功耗模式。
步骤208、存储控制器退出低功耗模式。其中,存储控制器在退出低功耗模式之后,可以正常接收Host对Flash存储介质的访问请求。
在现有方案一中,无论Flash存储介质的供电在存储控制器处于退出低功耗模式期间是否出现掉电,存储控制器在退出低功耗模式之前都会对Flash存储介质进行重新初始化。由于一般要求退出低功耗模式的时延在1ms以内,而Flash存储介质的一次初始化会占用100us的时间,不利于快速退出低功耗模式以响应用户访问的诉求。
现有方案二:存储控制器处于低功耗模式期间持续检测存储介质是否发生掉电,仅在存储介质是否发生过掉电的情况下,退出低功耗模式前对存储介质进行初始化。
其中,实现现有方案二的固态存储器的结构可以如图3所示,图3所示的固态存储器是在图1所示的固态存储器的结构上改进的,其在存储控制器内部增加电源检测单元,电源检测单元支持持续对Flash存储介质的电源进行检测,或在存储控制器处于低功耗模式期间持续对Flash存储介质的电源进行检测,以确定Flash存储介质是否发生掉电。现有方案二的实现流程如图4所示,包括如下步骤:
步骤401、存储控制器进入低功耗模式。
步骤402、存储控制器检测Flash存储介质的电源。具体地,存储控制器的电源检测单元在存储控制器处于低功耗模式期间持续对Flash存储介质的电源进行检测,以确定Flash存储介质是否发生掉电。
步骤403、存储控制器判断Flash存储介质是否发生掉电。其中,若判断结果为Flash存储介质没有发生掉电,则继续判断Flash存储介质是否发生掉电;若判断结果为Flash存储介质发生掉电,则执行步骤404。
步骤404、存储控制器更新电源状态寄存器。其中,电源状态寄存器为存储控制器中的状态寄存器,其用于寄存Flash存储介质的电源状态。
步骤405、存储控制器判断是否被唤醒退出低功耗模式;若判断结果为没有被唤醒退出低功耗模式,则返回步骤403,继续检测Flash存储介质的电源;若判断结果为被唤醒退出低功耗模式,则进入步骤406。其中,被唤醒退出低功耗模式是指存储控制器被主机唤醒退出低功耗模式。
步骤406、存储控制器固件进入退出低功耗模式流程。也即,存储控制器进入低功耗模式后,电源检测单元持续检测Flash存储介质的电源状态,当检测到Flash存储介质断电或者电源跌落时,更新电源状态寄存器的状态信息,指示在低功耗模式下出现Flash存储介质断电;当Host唤醒存储控制器退出低功耗模式时,存储控制器固件进入退低功耗流程。
步骤407、存储控制器固件读取电源状态寄存器。也即,存储控制器固件读取电源状态寄存器中的指示Flash存储介质的电源状态的状态信息。
步骤408、存储控制器固件判断Flash存储介质是否发生过掉电。其中,存储控制器固件读取电源状态寄存器中指示Flash存储介质的电源状态的状态信息;如果状态信息指示出现掉电,存储控制器固件执行步骤409,对Flash存储介质重新初始化,使Flash存储介质进入正常工作模式;如果状态信息指示未出现掉电,则存储控制器固件执行步骤412,完成退出低功耗模式的相关操作,通知存储控制器退出低功耗模式。
步骤409、存储控制器固件重新初始化Flash存储介质。
步骤410、Flash存储介质配置Flash寄存器。
步骤411、Flash存储介质正常工作。也即,当Flash存储介质的相关寄存器完成配置后,Flash存储介质进入正常工作模式。
步骤412、存储控制器固件完成退出低功耗模式操作。
步骤413、存储控制器退出低功耗模式。
在现有方案二中,存储控制器支持在低功耗模式下对Flash存储介质的电源状态进行检测,会使得存储控制器在低功耗模式下的功耗增加50%左右,同时存储控制器内部因为支持此功能(增加电源检测模块)而导致成本增加。
综上对现有方案分析可知,现有方案是在存储控制器每次退出低功耗模式之前均重新初 始化Flash存储介质;或是在存储控制器处于低功耗模式期间对Flash存储介质进行持续供电检测,只有在检测到Flash存储介质有断电操作或者电源跌落后,才会重新初始化Flash存储介质。但这两种方式都有额外的代价,前者会增加了退出低功耗模式的时延,后者要求存储控制器或固态存储器在低功耗模式期间支持持续对Flash存储介质进行电源检测。
因此,本申请所要解决的技术问题可以包括如下:
(1)存储控制器在低功耗模式下不支持对Flash存储介质的电源检测功能,每次退出低功耗模式之前都要对Flash存储介质进行重新初始化,导致退出低功耗模式的时延增大的问题。
(2)存储控制器在低功耗模式下支持对Flash存储介质的电源检测功能,但导致低功耗模式的功耗增大的问题。
(3)存储控制器在低功耗模式下支持对Flash存储介质的电源检测功能,但导致存储控制器的成本增加的问题。
基于上述分析存在的问题,本申请提供了一种在低功耗模式下检测存储介质的电源是否发生掉电的方案,本申请的存储控制器在低功耗模式下,无需监控存储介质的电源状态,通过存储介质内部的易失性存储单元的数据或状态的变化,判断存储介质的电源是否出现过掉电,从而解决现有技术方案中存在的问题。
下面通过具体实施方式对本申请提供的技术方案进行详细的介绍。
请参阅图5,图5是本申请实施例提供的一种具备掉电检测功能的存储设备的结构示意图。如图5所示,该存储设备50为固态存储设备,该存储设备50包括存储控制器51和存储器52,存储控制器51包括存储访问控制模块511和低功耗掉电检测模块512,存储器52包括易失性存储单元521。存储控制器51可以通过主机(Host)接口513与主机(图5中未示出)通信,存储控制器51可以通过存储器接口514与存储器52通信。在存储控制器51内部,存储访问控制模块511通过主机接口513与主机通信以及通过存储器接口514与存储器52通信,存储访问控制模块511还与低功耗掉电检测模块512通信连接,低功耗掉电检测模块512还通过存储器接口514与存储器52通信。
需要说明的是,存储控制器51里有CPU,CPU负责做存储控制器51的控制;存储控制器51一般会包含CPU、RAM、ROM等功能单元;存储控制器51和存储器(存储介质)52组成了存储设备50。存储设备50可以是一块由存储控制器51和存储器52组成的单板,也可以是存储控制器51和存储器52合封在一起的一个芯片。
主机接口513实现存储控制器51与主机之间的连接,用于接收主机对存储设备50的访问,并将主机的访问转换为对后端存储的访问。存储设备50与主机之间的总线可以是嵌入式多媒体卡(Embedded Multi Media Card,eMMC)总线、通用闪存存储(Universal Flash Storage,UFS)总线、高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIe)总线、MVMe(Non-Volatile Memory Express)总线等,如此,主机接口513可以是eMMC、UFS、PCIe、NVMe等的接口。本申请对主机接口513可能的具体实现不作限定。
存储访问控制模块511将后端存储的访问转换为对存储器52的访问。其中,存储访问控制模块511可以为存储控制器中的CPU。
存储器接口514实现存储控制器51与存储器52之间的连接,用于将存储访问控制模块511对存储器52的访问转换为对存储器52的访问的时序及命令操作。存储控制器51和存储器52之间的总线可以是开放FLASH接口(Open NAND Flash Interface,ONFI)总线、TOGGLE 总线、通用FALSH接口(Common Flash Interface,CFI)总线、串行外设接口(Serial Peripheral Interface,SPI)总线、双倍速随机存储器(Double Data Rate,DDR)总线等,如此,存储器接口514为ONFI、TOGGLE总线接口、CFI、SPI、DDR总线接口等接口。本申请对存储器接口514可能的具体实现不作限定。
低功耗掉电检测模块512用于判断存储器52在低功耗模式期间中是否发生过掉电。其中,低功耗掉电检测模块512可以是存储控制器内部的一个硬件检测单元,例如低功耗掉电检测模块512为存储控制器中的CPU;低功耗掉电检测模块512也可以是存储控制器通过固件程序实现的一个检测功能模块。
存储器52也即存储介质,存储器52为非易失性存储器,存储器52可以为闪存(Flash)、双倍速随机存储器(Double Data Rate,DDR)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)等非易失性存储介质。本申请对存储器52可能的具体实现不作限定。
优选地,本申请存储器52可以为闪存(Flash),存储设备50可以是存储介质为Flash的嵌入式多媒体卡(Embedded Multi Media Card,eMMC)芯片、通用闪存存储(Universal Flash Storage,UFS)芯片、固态硬盘(Solid State Disk,SSD)、NAND闪存(NAND Flash)、非易失闪存(NorFlash)等存储设备。
可选地,本申请存储器52可以为DDR、DRAM、SRAM等,存储设备50可以是存储介质为双倍速随机存储器(Double Data Rate,DDR)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)等的存储设备。此种情况,本实施例对存储器52的固件程序和主机的设备驱动进行改进,也即需要对主机和存储器52进行相应编程,使其能够完成本申请相应功能。通过修改控制DRAM、DDR、SRAM等存储器的固件,在标准的数据传输总线(如DDR总线、SPI总线等)上进行本申请相应的操作。
易失性存储单元521可以是存储器内部掉电后存储的数据或状态会发生改变的单元,易失性存储单元521可以为高速缓冲存储器、随机存取存储器、状态寄存器等。以存储设备50为NAND Flash为例,易失性存储单元521可以是Flash内部的高速缓冲存储器(Cache)、随机存取存储器(Random Access Memory,RAM)或者寄存器(Register)等。本申请对易失性存储单元521可能的具体实现不作限定。其中,易失性存储单元521用于存储目标数据;当易失性存储单元521为状态寄存器时,存入状态寄存器的目标数据对应该状态寄存器的状态。
本申请的存储设备50或存储控制器51,在低功耗模式下,可以通过存储器52内部的易失性存储单元521存储的目标数据或状态的变化,判断存储器52的电源是否出现过掉电。
请参阅图6,图6是本申请实施例提供的一种存储控制器在基于易失性存储单元的掉电检测情况下进入、退出低功耗模式的流程图。图6所示的流程应用于图5所示的存储设备50,包括但不限于如下步骤:
步骤601、存储控制器进入低功耗模式。
具体地,主机通知存储控制器进入低功耗模式;例如,主机通过主机接口向存储设备发送指令,指示存储设备进入低功耗模式,从而存储控制器开始执行进入低功耗模式的操作。
步骤602、存储访问控制模块确保存储器中的易失性存储单元存储有目标数据。
由于本申请根据存储器中的易失性存储单元存储的目标数据在低功耗模式期间是否发生 变化,来判断存储器在低功耗模式期间是否发生过掉电;因此存储控制器在进入低功耗模式之前,需要确保存储器中的易失性存储单元存储有目标数据;在易失性存储单元没有存储目标数据的情况下,需要将目标数据写入至存储器中的易失性存储单元中。
其中,由存储控制器中的存储访问控制模块操作存储器,将目标数据写入至存储器中的易失性存储单元中。具体地,存储访问控制模块通过存储器接口将目标数据写入至存储器中的易失性存储单元中。
需要说明的是,存储控制器进入低功耗模式之前,还需要确保存储器或易失性存储单元是处于供电状态的,此为掉电检测的前提。
步骤603、存储器中的易失性存储单元存储有目标数据。
具体地,存储器中的易失性存储单元在没有存储目标数据的情况下,存储器接收到将目标数据写入至易失性存储单元的操作指令,使得易失性存储单元存储有目标数据。
步骤604、存储控制器休眠。也即,存储控制器进入休眠状态。
步骤605、存储控制器判断是否被唤醒退出低功耗模式。
休眠状态下的存储控制器可以检测唤醒请求,该唤醒请求用于存储控制器退出低功耗模式;存储控制器在检测到该唤醒请求的情况下,会开始执行退出低功耗模式的操作。该唤醒请求是来自存储设备外部的请求,例如该唤醒请求为存储控制器接收到的外部的访问请求,该访问请求可以为管理类、IO读写类请求。
其中,存储控制器检测到唤醒请求,判断到需要唤醒退出低功耗模式,则进行退出低功耗模式操作,执行步骤606;存储控制器如果未检测到唤醒请求,则持续休眠,并继续判断是否被唤醒退出低功耗模式。
步骤606、存储访问控制模块获取易失性存储单元中的数据。
具体地,存储访问控制模块读取易失性存储单元中的数据,例如存储访问控制模块通过存储器接口向存储器发送读取易失性存储单元中的数据的指令。
步骤607、存储器返回易失性存储单元中的数据。
具体地,存储器将易失性存储单元中存储的数据返回给存储控制器中的低功耗掉电检测模块。
步骤608、低功耗掉电检测模块判断易失性存储单元存储的目标数据是否发生过变化。
具体地,低功耗掉电检测模块接收到存储器返回的易失性存储单元中的数据之后,根据存储器返回的易失性存储单元中的数据判断易失性存储单元存储的目标数据在低功耗模式期间是否发生过变化。例如,比对存储器返回的易失性存储单元中的数据是否存在目标数据,或者说判断从易失性存储单元中获取的数据包含目标数据的全部;在存储器返回的易失性存储单元中的数据是否存在目标数据的情况下,判断目标数据和之前存进去时有没有变化,或者说从易失性存储单元中获取的数据包含的目标数据与之前写入的目标数据是否相同。
作为一种示例,目标数据是固化在代码空间中的,也即在代码里固定好写入至易失性存储单元的目标数据是什么;从而低功耗掉电检测模块接收到存储器返回的易失性存储单元中的数据之后,可以直接根据存储器返回的易失性存储单元中的数据,判断易失性存储单元存储的目标数据是否发生过变化。
作为另一种示例,目标数据不是固化在代码空间中的,此种情况下存储控制器需要将目标数据存储在本地,例如存储在存储控制器中的ROM或RAM中;低功耗掉电检测模块接收到存储器返回的易失性存储单元中的数据之后,将存储器返回的易失性存储单元中的数据与本地存储的目标数据进行比对,以此来判断易失性存储单元存储的目标数据在低功耗模式期 间是否发生过变化。
其中,如果易失性存储单元存储的目标数据在低功耗模式期间发生过变化,则判定存储器在低功耗模式期间发生过掉电,进入步骤609;如果易失性存储单元存储的目标数据在低功耗模式期间没有发生过变化,则判定存储器在低功耗模式期间没有发生过掉电,进入步骤612。
步骤609、存储访问控制模块重新初始化存储器。
具体地,存储访问控制模块向存储器发送初始化存储器的请求;其中,存储器初始化,主要包括存储器接口链路建链、存储器接口参数配置、存储器工作模式设置等操作。
步骤610、存储器完成初始化配置。
具体地,存储器根据存储访问控制模块初始化存储器的请求完成对存储器初始化的配置操作。
步骤611、存储器正常工作。
具体地,存储器完成初始化操作后进入正常工作模式,从而存储器可以正常工作了,之后存储控制器访问存储器就不会发生访问异常。
步骤612、存储访问控制模块完成退出低功耗操作。
具体地,存储访问控制模块完成退出低功耗模式的操作,通知存储控制器可以退出低功耗模式了。
步骤613、存储控制器退出低功耗模式。
具体地,存储控制器在接收到来自存储访问控制模块的退出低功耗模式的通知后,退出低功耗模式;存储控制器退出低功耗模式之后,即可根据主机的指令对存储器进行访问了。
需要说明的是,存储控制器退出低功耗模式,也即存储设备退出低功耗模式。
在一种可能的实现方式中,易失性存储单元为状态寄存器,目标数据对应状态寄存器的状态;从而状态寄存器存储有目标数据时,状态寄存器的状态为某个预设状态;如此:
步骤602中,存储访问控制模块确保存储器中的易失性存储单元存储有目标数据,也即存储访问控制模块确保存储器中的状态寄存器的状态为某个预设状态;存储访问控制模块将目标数据写入易失性存储单元,也即存储访问控制模将某个预设状态写入状态寄存器,例如目标数据为状态信息,将该状态信息存入状态寄存器;
步骤603中,存储器中的易失性存储单元存储有目标数据,也即存储器中的状态寄存器的状态为设定的某个预设状态;
步骤606中,存储访问控制模块获取易失性存储单元中的数据,也即存储访问控制模块获取状态寄存器的状态;
步骤607中,存储器返回易失性存储单元中的数据,也即存储器返回状态寄存器的状态;
步骤608中,低功耗掉电检测模块判断易失性存储单元存储的目标数据是否发生过变化,也即低功耗掉电检测模块判断存储器返回状态寄存器的状态与预设状态相比是否发生过变化;若状态寄存器的状态发生过变化,则存储器在低功耗模式期间发生过断电,否则存储器在低功耗模式期间没有发生过断电。
本申请实施例,通过存储器内部的易失性存储单元存储的数据或状态在低功耗模式期间是否发生变化,来判断存储器在低功耗模式期间是否发生过掉电。本申请至少具备以下有益效果:
(1)相比于存储控制器在低功耗模式下不支持对存储器进行电源检测功能,本申请可以减少存储控制器或存储设备退出低功耗模式消耗的时间;原因在于:无需每次退出低功耗模 式时都对存储器进行初始化,节省退出低功耗模式时延,可以节省100us。
(2)相比于存储控制器在低功耗模式下支持对存储器持续进行电源检测功能,本申请可以降低存储控制器在低功耗模式下的功耗;原因在于:存储控制器在低功耗模式下无需运行对存储器进行电源检测的电源检测装置,存储控制器运行功耗降低,可以降低50%。
(3)相比于存储控制器在低功耗模式下支持对存储器持续进行电源检测功能,本申请可以降低存储控制器成本;原因在于:存储控制器无需预留在低功耗模式下对存储器进行电源检测的电源检测装置(例如电源检测电路),降低存储控制器的设计和制造成本。
请参阅图7,图7是本申请实施例提供的一种掉电检测方法的流程示意图,该方法应用于存储控制器,该存储控制器可以为图5所示的存储设备50中的存储控制器51,该存储控制器与存储器耦合,该存储器为非易失性存储器,该存储器中设置有易失性存储单元;该方法包括但不限于如下步骤:
步骤701、在所述存储控制器进入低功耗模式之前,将目标数据写入至所述易失性存储单元;
步骤702、在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;
步骤703、根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电;
步骤704、若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,则对所述存储器进行初始化。
其中,存储器中设置的易失性存储单元可以为存储器中本身存在的易失性存储单元,也可以是为实现本申请技术方案特意在存储器中单独设置的易失性存储单元。
需要说明的是,本申请是应用场景为:存储控制器在退出低功耗模式的过程中,判断存储器在低功耗模式下是否出现过掉电,存储控制器根据判断的结果决定是否需要对存储器进行初始化。
在本申请实施例中,与存储控制器耦合的存储器为非易失性存储器,且该存储器中设置有易失性存储单元,当主机对存储器没有数据访问时,存储控制器会进入到低功耗模式以降低功耗,存储控制器在进入低功耗模式之前将目标数据写入到易失性存储单元中;存储控制器处于低功耗模式期间,当主机需要对存储器进行数据访问时,存储控制器会检测到用于退出低功耗模式的唤醒请求,于是从易失性存储单元中获取数据;由于易失性存储单元在发生掉电前后,其中存储的数据是会发生变化的,存储控制器可以根据从易失性存储单元中获取到的数据,判断处于低功耗模式期间,存储器是否发生过掉电;例如,易失性存储单元之前存储有目标数据,存储控制器可以从获取到的数据中判断易失性存储单元存储的目标数据是否发生过变化,以此来判断存储器是否发生过掉电;如果存储器没有发生过掉电,则存储控制器退出低功耗模式之后,即可依据主机对存储器的数据访问直接对存储器进行访问;如果存储器发生过掉电,存储控制器则对存储器进行初始化,存储器初始化完成后,再退出低功耗模式,如此,存储控制器在退出低功耗模式之后,也可以依据主机对存储器的数据访问对存储器进行访问,从而避免访问出现异常。本申请提供的掉电检测的原理为:根据易失性存储单元存储的目标数据在存储控制器处于低功耗模式期间是否发生过变化,判断存储器在存储控制器处于低功耗模式期间是否发生过掉电。现有技术的掉电检测原理为:存储控制器在处于低功耗模式期间持续对存储器的电源进行检测,以此判断存储器是否发生掉电。本申请 提供的掉电检测的原理区别于现有技术对存储器的电源进行检测的掉电检测原理。由于现有技术的掉电检测,存储控制器在处于低功耗模式期间需要持续对存储器的电源进行检测,也即存储控制器在处于低功耗模式期间还是在进行电源检测的工作,这会产生功耗,与让存储控制器进入低功耗模式的初衷相违背。本申请提供的掉电检测,在需要判断存储器是否发生掉电时,存储控制器仅需检测一次存储器中的易失性存储单元存储的目标数据有没有发生过变化,即可判断出存储器是否发生掉电,故可以降低功耗。此外,现有技术的掉电检测,需要对存储控制器的结构进行改进,在存储控制器中设置电源检测装置(例如电源检测电路)以对存储器的电源进行持续检测,故导致存储控制器成本增加;而本申请不需要对存储控制器的结构进行改进,从而不会导致存储控制器成本增加;并且,因存储器中一般均存在一些易失性存储单元,本申请涉及的易失性存储单元也可以直接采用存储器中现有的易失性存储单元,从而也不会导致存储器成本增加。
在一种可能的实现方式中,所述根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在本申请实施例中,易失性存储单元在发生掉电前后,其中存储的数据是会发生变化;存储控制器在进入低功耗模式之前,已经将目标数据写入至易失性存储单元中了,如果存储器在存储控制器处于低功耗模式期间没有发生过掉电,则从易失性存储单元中获取的数据包含目标数据的全部,或者说包含的目标数据与之前写入的目标数据相同;如果存储器在存储控制器处于低功耗模式期间发生过掉电,则从易失性存储单元中获取的数据不包含目标数据或包含目标数据的部分,或着说包含的目标数据与之前写入的目标数据不相同。如此,通过从易失性存储单元中获取的数据判断易失性存储单元中存储的目标数据是否发生变化,进而可以判断出存储器是否发生过掉电。
在一种可能的实现方式中,若所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;否则,所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在本申请实施例中,存储器中的易失性存储单元存储的目标数据没有发生过变化,则说明存储器没有发生过掉电;存储器中的易失性存储单元存储的目标数据发生过变化,则说明存储器发生过掉电,存储控制器需要对存储器进行初始化,以避免存储控制器退出低功耗模式之后访问存储器出现异常。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器(Cache)或随机存取存储器(Random Access Memory,RAM)。
在本申请实施例中,存储器的内部一般都均设置有高速缓冲存储器和/或随机存取存储器,高速缓冲存储器和随机存取存储器为易失性存储器,以存储器的内部的高速缓冲存储器和/或随机存取存储器为本方案的易失性存储单元,将目标数据写入存储器的内部的高速缓冲存储器和/或随机存取存储器,无需再另外在存储器中单独设置易失性存储单元,从而可以节省成本。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器(Register);所述目标数据对应所述状态寄存器的状态;所述根据所述目标数据和从所述易失性存储单元中获取的数 据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在本申请实施例中,易失性存储单元可以为状态寄存器,写入至状态寄存器中的目标数据对应状态寄存器的状态,将目标数据写入状态寄存器也即将状态写入状态寄存器,而状态寄存器发生掉电前后的状态是会变化的,如此可以根据状态寄存器的状态是否发生变化来判断存储器是否发生掉电。具体地,从状态寄存器中获取数据,也即从状态寄存器中读取状态寄存器的状态,根据读取的状态寄存器的状态判断状态寄存器的状态在存储控制器处于低功耗模数期间是否发生变化;如果状态寄存器的状态发生过变化,则存储器发生过掉电;如果状态寄存器的状态没有发生过变化,则存储器没有发生过掉电。
需要说明的是,图7中所描述的掉电检测方法的具体流程,可参见上述图5和图6所示的实施例中的相关描述,此处不再赘述。
请参阅图8,图8是本申请实施例提供的一种掉电检测方法的流程示意图,该方法应用于存储控制器,该存储控制器可以为图5所示的存储设备50中的存储控制器51,该存储控制器与存储器耦合,该存储器为非易失性存储器,该存储器中设置有易失性存储单元;该方法包括但不限于如下步骤:
步骤801、根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
需要说明的是,本申请是应用场景为:存储控制器在退出低功耗模式的过程中,判断存储器在低功耗模式下是否出现过掉电,存储控制器根据判断的结果决定是否需要对存储器进行初始化。
在本申请实施例中,与存储控制器耦合的存储器为非易失性存储器,且该存储器中设置有易失性存储单元,易失性存储单元中存储有目标数据;本申请提供的掉电检测的原理为:根据易失性存储单元存储的目标数据在存储控制器处于低功耗模式期间是否发生过变化,判断存储器在存储控制器处于低功耗模式期间是否发生过掉电。现有技术的掉电检测原理为:存储控制器在处于低功耗模式期间持续对存储器的电源进行检测,以此判断存储器是否发生掉电。本申请提供的掉电检测的原理区别于现有技术对存储器的电源进行检测的掉电检测原理。由于现有技术的掉电检测,存储控制器在处于低功耗模式期间需要持续对存储器的电源进行检测,也即存储控制器在处于低功耗模式期间还是在进行电源检测的工作,这会产生功耗,与让存储控制器进入低功耗模式的初衷相违背。本申请提供的掉电检测,在需要判断存储器是否发生掉电时,存储控制器仅需检测一次存储器中的易失性存储单元存储的目标数据有没有发生过变化,即可判断出存储器是否发生掉电,故可以降低功耗。此外,现有技术的掉电检测,需要对存储控制器的结构进行改进,在存储控制器中设置电源检测装置(例如电源检测电路)以对存储器的电源进行持续检测,故导致存储控制器成本增加;而本申请不需要对存储控制器的结构进行改进,从而不会导致存储控制器成本增加;并且,因存储器中一般均存在一些易失性存储单元,本申请涉及的易失性存储单元也可以直接采用存储器中现有的易失性存储单元,从而也不会导致存储器成本增加。
在一种可能的实现方式中,若所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则所述存储器在所述存储控制器处于低功耗模式期间未发 生过掉电;否则,所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在本申请实施例中,存储器中的易失性存储单元存储的目标数据没有发生过变化,则说明存储器没有发生过掉电;存储器中的易失性存储单元存储的目标数据发生过变化,则说明存储器发生过掉电,从而实现掉电检测。
在一种可能的实现方式中,在所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述方法还包括:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述易失性存储单元;在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化。
在本申请实施例中,存储控制器在进入低功耗模式之前将目标数据写入到易失性存储单元中;存储控制器处于低功耗模式期间,当主机需要对存储器进行数据访问时,存储控制器会检测到用于退出低功耗模式的唤醒请求,于是从易失性存储单元中获取数据;由于易失性存储单元在发生掉电前后,其中存储的数据是会发生变化的,故存储控制器可以根据从易失性存储单元中获取到的数据,判断易失性存储单元存储的目标数据是否发生过变化,进而可以判断出存储器是否发生过掉电。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
在本申请实施例中,存储器的内部一般都均设置有高速缓冲存储器和/或随机存取存储器,高速缓冲存储器和随机存取存储器为易失性存储器,以存储器的内部的高速缓冲存储器和/或随机存取存储器为本方案的易失性存储单元,将目标数据写入存储器的内部的高速缓冲存储器和/或随机存取存储器,无需再另外在存储器中单独设置易失性存储单元,从而可以节省成本。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在本申请实施例中,易失性存储单元可以为状态寄存器,状态寄存器中存储的目标数据对应状态寄存器的状态,而状态寄存器发生掉电前后的状态是会变化的,如此可以根据状态寄存器的状态是否发生变化来判断存储器是否发生掉电。
在一种可能的实现方式中,在所述根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述方法还包括:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述状态寄存器;在检测到用于退出低功耗模式的唤醒请求之后,从所述状态寄存器中获取数据;根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化。
在本申请实施例中,状态寄存器中存储的目标数据对应状态寄存器的状态,存储控制器在进入低功耗模式之前将目标数据写入到状态寄存器中,也即将状态写入状态寄存器;存储控制器从状态寄存器中获取数据,也即从状态寄存器中读取状态寄存器的状态;存储控制器根据从状态寄存器中获取的数据判断状态寄存器的状态是否发生过变化,也即根据读取的状 态寄存器的状态判断状态寄存器的状态是否发生变化;如果状态寄存器的状态发生过变化,则存储器发生过掉电;如果状态寄存器的状态没有发生过变化,则存储器没有发生过掉电,从而实现掉电检测。
在一种可能的实现方式中,若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,所述方法还包括:在所述存储控制器退出低功耗模式之前,对所述存储器进行初始化。
在本申请实施例中,如果存储器在存储控制器处于低功耗模式期间发生过掉电,存储控制器则对存储器进行初始化,存储器初始化完成后,再退出低功耗模式;如此,存储控制器在退出低功耗模式之后,对存储器进行访问时,可以避免访问出现异常。
需要说明的是,图8中所描述的掉电检测方法的具体流程,可参见上述图5、图6和图7所示的实施例中的相关描述,此处不再赘述。
请参阅图9,图9是本申请实施例提供了一种掉电检测装置的结构示意图,该掉电检测装置900应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;该掉电检测装置包括处理单元901和通信单元902,其中,该处理单元901,用于执行如图7所示的方法实施例中的任一步骤,且在执行诸如获取等数据传输时,可选择的调用该通信单元902来完成相应操作。下面进行详细说明。
在一种可能的实现方式中,所述处理单元901用于:在所述存储控制器进入低功耗模式之前,将目标数据写入至所述易失性存储单元;在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电;若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,则对所述存储器进行初始化。
在一种可能的实现方式中,所述处理单元901具体用于:根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在一种可能的实现方式中,所述处理单元901具体用于:若所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则确定所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;否则,确定所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述处理单元901具体用于:根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化;根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
其中,该掉电检测装置900还可以包括存储单元903,用于存储存储控制器的程序代码和数据。该处理单元901可以是处理器,该通信单元902可以收发器,该存储单元903可以是存储器(例如RAM、ROM)。
需要说明的是,掉电检测装置900各个单元的实现还可以对应参照图7所示的方法实施例 的相应描述,以及掉电检测装置900带来的有益效果也可以参照图7所示的方法实施例的相应描述,此处不再重复描述。
请参阅图10,图10是本申请实施例提供了一种掉电检测装置的结构示意图,该掉电检测装置1000应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;该掉电检测装置包括处理单元1001和通信单元1002,其中,该处理单元1001,用于执行如图8所示的方法实施例中的任一步骤,且在执行诸如获取等数据传输时,可选择的调用该通信单元1002来完成相应操作。下面进行详细说明。
在一种可能的实现方式中,所述处理单元1001用于:根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在一种可能的实现方式中,所述处理单元1001具体用于:若所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则确定所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;否则,确定所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
在一种可能的实现方式中,在所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述处理单元1001还用于:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述易失性存储单元;在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化。
在一种可能的实现方式中,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
在一种可能的实现方式中,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述处理单元1001具体用于:根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
在一种可能的实现方式中,所述处理单元1001还用于:在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述状态寄存器;在检测到用于退出低功耗模式的唤醒请求之后,从所述状态寄存器中获取数据;根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化。
在一种可能的实现方式中,若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,所述处理单元1001还用于:在所述存储控制器退出低功耗模式之前,对所述存储器进行初始化。
其中,该掉电检测装置1000还可以包括存储单元1003,用于存储存储控制器的程序代码和数据。该处理单元1001可以是处理器,该通信单元1002可以收发器,该存储单元1003可以是存储器(例如RAM、ROM)。
需要说明的是,掉电检测装置1000各个单元的实现还可以对应参照图8所示的方法实施例的相应描述,以及掉电检测装置1000带来的有益效果也可以参照图8所示的方法实施例的相应描述,此处不再重复描述。
请参阅图11,图11是本申请实施例提供的一种电子设备的结构示意图。该电子设备1100可以包括天线系统1110、射频(Radio Frequency,RF)电路1120、处理器1130、存储器1140、摄像头1150、音频电路1160、显示屏1170、一个或多个传感器1180和无线收发器1190等。
其中,该存储器1140可以为图5所示的存储设备50,该存储器1140可以执行图6、图7或图8所示的方法;或该存储器1140中包括存储控制器,该存储器1140中的存储控制器可以执行图6、图7或图8所示的方法。
天线系统1110可以是一个或多个天线,还可以是由多个天线组成的天线阵列。射频电路1120可以包括一个或多个模拟射频收发器,该射频电路1120还可以包括一个或多个数字射频收发器,该射频电路1120耦合到天线系统1110。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。该射频电路1120可用于各类蜂窝无线通信。
处理器1130可包括通信处理器,该通信处理器可用来控制射频电路1120通过天线系统1110实现信号的接收和发送,该信号可以是语音信号、媒体信号或控制信号。该处理器1130可以包括各种通用处理设备,例如可以是通用中央处理器(Central Processing Unit,CPU)、片上系统(System on Chip,SOC)、集成在SOC上的处理器、单独的处理器芯片或控制器等;该处理器1130还可以包括专用处理设备,例如专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或数字信号处理器(Digital Signal Processor,DSP)、专用的视频或图形处理器、图形处理单元(Graphics Processing Unit,GPU)以及神经网络处理单元(Neural-network Processing Unit,NPU)等。该处理器1130可以是多个处理器构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。该处理器可以包括模拟-数字转换器(Analog-to-Digital Converter,ADC)、数字-模拟转换器(Digital-to-Analog Converter,DAC)以实现装置不同部件之间信号的连接。
存储器1140耦合到处理器1130,具体的,该存储器1140可以通过一个或多个存储器控制器耦合到处理器1130。存储器1140可以用于存储计算机程序指令,包括计算机操作系统(Operation System,OS),各种用户应用程序和用户数据等。处理器1130可以从存储器1140读取计算机程序指令或用户数据,或者向存储器1140存入计算机程序指令或用户数据,以实现相关的处理功能。该存储器1140可以是非掉电易失性存储器,例如是EMMC(Embedded Multi Media Card,嵌入式多媒体卡)、UFS(Universal Flash Storage,通用闪存存储)或只读存储器(Read-Only Memory,ROM),或者是可存储静态信息和指令的其他类型的静态存储设备,还可以是掉电易失性存储器(volatile memory),例如随机存取存储器(Random Access Memory,RAM)、静态随机存取存储器(Static random-access memory,SRAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、光碟存储器(包括压缩光碟、激光碟、数字通用光碟或蓝光光碟等)、磁盘存储介质或者其他磁存储设备,但不限于此。可选的,存储器1140可以独立在处理器1130之外,存储器1140也可以和处理器1130集成在一起。
摄像头1150用于采集图像或视频,音频电路1160与处理器1130耦合。该音频电路1160可以包括麦克风1161和扬声器1162,麦克风1161可以从外界接收声音输入,扬声器1162可以实现音频数据的播放。
显示屏1170,用于向用户提供各种显示界面或者可供选择的各种菜单信息,示例性的, 显示屏1170显示的内容包括但不限于,软键盘、虚拟鼠标、虚拟按键和图标等,这些显示内容与内部的具体模块或功能相关联,显示屏1170还可以接受用户输入,具体的,显示屏1170可以包括显示面板1171和触控面板1172。
传感器1180可以包括图像传感器、运动传感器、接近度传感器、环境噪声传感器、声音传感器、加速率计、温度传感器、陀螺仪或者其他类型的传感器,以及它们的各种形式的组合。处理器1130通过I/O子系统110中的传感器控制器112驱动传感器1180接收音频信息、图像信息或运动信息等各种信息,传感器1180将接收的信息传到处理器1130中进行处理。
无线收发器1190,该无线收发器1190可以向其他设备提供无线连接能力,其他设备可以是无线耳麦、蓝牙耳机、无线鼠标或无线键盘等外围设备,也可以是无线网络,例如无线保真(Wireless Fidelity,WiFi)网络、无线个人局域网络(Wireless Personal Area Network,WPAN)或者其WLAN等。无线收发器1190可以是蓝牙兼容的收发器,用于将处理器1130以无线方式耦合到蓝牙耳机、无线鼠标等外围设备,该无线收发器1190也可以是WiFi兼容的收发器,用于将处理器1130以无线方式耦合到无线网络或其他设备。
电子设备1100还可以包括其他输入设备114,耦合到处理器1130以接收各种用户输入,例如接收输入的号码、姓名、地址以及媒体选择等,其他输入设备114可以包括键盘、物理按钮(按压按钮、摇臂按钮等)、拨号盘或滑动开关等。电子设备1100还可以包括上述的I/O子系统110和电源1101。应当理解,图11中的电子设备1100仅仅是一种示例,对电子设备1100的具体形态不构成限定,电子设备1100还可以包括图11中未显示出来的现有的或者将来可能增加的其他组成部分。
请参阅图12,图12是本申请实施例提供的另一种电子设备的结构示意图。该电子设备1200包括:至少一个CPU,存储器,存储器的类型例如可以包括SRAM和ROM,微控制器(Micro controller Unit,MCU)、WLAN子系统、总线、传输接口等。虽然图12中未示出,该电子设备1200还可以包括应用处理器(Application Processor,AP),NPU等其他专用处理器,以及电源管理子系统、时钟管理子系统和功耗管理子系统等其他子系统。
其中,该存储器可以为图5所示的存储设备50,该存储器可以执行图6、图7或图8所示的方法;或该存储器中包括存储控制器,该存储器中的存储控制器可以执行图6、图7或图8所示的方法。
电子设备1200的上述各个部分通过连接器相耦合,示例性的,连接器包括各类接口、传输线或总线等,这些接口通常是电性通信接口,但是也可能是机械接口或其它形式的接口,本实施例对此不做限定。
可选的,CPU可以是一个单核(single-CPU)处理器或多核(multi-CPU)处理器;可选的,CPU可以是多个处理器构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。在一种可选的情况中,CPU通过调用片上述存储器或者片外存储器中存储的程序指令实现如前述方法实施例中的任一种掉电检测方法。在一种可选的情况中,CPU和MCU共同实现如前述方法实施例中的任一种掉电检测方法,例如CPU完成掉电检测方法中的部分步骤,而MCU完成掉电检测方法中的其他步骤。在一种可选的情况中,AP或者其他专用处理器通过调用片上述存储器或者片外存储器中存储的程序指令实现如前述方法实施例中的任一种掉电检测方法。
该传输接口可以为处理器芯片的接收和发送数据的接口,该传输接口通常包括多种接口,在一种可选的情况下,该传输接口可以包括内部整合电路(Inter-Integrated Circuit,I2C)接 口、串行外设接口(Serial Peripheral Interface,SPI)、通用异步收发机(Universal asynchronous receiver-transmitter,UART)接口、通用输入输出(General-purpose input/output,GPIO)接口等。应当理解,这些接口可以是通过复用相同的物理接口来实现不同的功能。
在一种可选的情况中,传输接口还可以包括高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)、V-By-One接口、嵌入式显示端口(Embedded Display Port,eDP)、移动产业处理器接口(Mobile Industry Processor Interface,MIPI)或Display Port(DP)等。
在一种可选的情况中,上述各部分集成在同一个芯片上;在另一种可选的情况中,存储器可以是独立存在的芯片。
WLAN子系统例如可以包括射频电路和基带。
在本申请实施例中涉及的芯片是以集成电路工艺制造在同一个半导体衬底上的系统,也叫半导体芯片,其可以是利用集成电路工艺制作在衬底(通常是例如硅一类的半导体材料)上形成的集成电路的集合,其外层通常被半导体封装材料封装。所述集成电路可以包括各类功能器件,每一类功能器件包括逻辑门电路、金属氧化物半导体(Metal-Oxide-Semiconductor,MOS)晶体管、双极晶体管或二极管等晶体管,也可包括电容、电阻或电感等其他部件。每个功能器件可以独立工作或者在必要的驱动软件的作用下工作,可以实现通信、运算、或存储等各类功能。
本申请实施例还提供了一种存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述存储控制器用于执行如前述图6、图7或图8中所述的方法。
本申请实施例还提供了一种存储设备,包括存储控制器和存储器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元,所述存储控制器用于执行如前述图6、图7或图8中所述的方法。
本申请实施例还提供了一种电子设备,所述电子设备包括存储控制器或存储设备,所述存储设备包括存储控制器,所述存储控制器用于执行如前述图6、图7或图8中所述的方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器进行如前述图6、图7或图8中所述的方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器进行如前述图6、图7或图8中所述的方法。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本说明书中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。此外,本申请各实施例中的术语、解释说明,可以参照其他实施例中相应的描述。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
以上描述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (28)

  1. 一种掉电检测方法,其特征在于,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述方法包括:
    在所述存储控制器进入低功耗模式之前,将目标数据写入至所述易失性存储单元;
    在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;
    根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电;
    若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,则对所述存储器进行初始化。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:
    根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化;
    根据所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  3. 根据权利要求2所述的方法,其特征在于,若所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;
    否则,所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:
    根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化;
    根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  6. 一种掉电检测方法,其特征在于,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述方法包括:
    根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  7. 根据权利要求6所述的方法,其特征在于,若所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;
    否则,所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
  8. 根据权利要求6或7所述的方法,其特征在于,在所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述方法还包括:
    在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述易失性存储单元;
    在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;
    根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化。
  9. 根据权利要求6-8任一项所述的方法,其特征在于,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
  10. 根据权利要求6-9所述的方法,其特征在于,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电,包括:
    根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  11. 根据权利要求10所述的方法,其特征在于,在所述根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述方法还包括:
    在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述状态寄存器;
    在检测到用于退出低功耗模式的唤醒请求之后,从所述状态寄存器中获取数据;
    根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化。
  12. 根据权利要求6-11任一项所述的方法,其特征在于,若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,所述方法还包括:
    在所述存储控制器退出低功耗模式之前,对所述存储器进行初始化。
  13. 一种掉电检测装置,其特征在于,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述装置包括处理单元,所述处理单元用于:
    在所述存储控制器进入低功耗模式之前,将目标数据写入至所述易失性存储单元;
    在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;
    根据所述目标数据和从所述易失性存储单元中获取的数据,判断所述存储器在所述存储 控制器处于低功耗模式期间是否发生过掉电;
    若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,则对所述存储器进行初始化。
  14. 根据权利要求13所述的装置,其特征在于,所述处理单元具体用于:
    根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化;
    根据所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  15. 根据权利要求14所述的装置,其特征在于,所述处理单元具体用于:
    若所述易失性存储单元存储的所述目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则确定所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;
    否则,确定所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
  16. 根据权利要求13-15任一项所述的装置,其特征在于,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
  17. 根据权利要求13-16任一项所述的装置,其特征在于,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述处理单元具体用于:
    根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化;
    根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  18. 一种掉电检测装置,其特征在于,应用于存储控制器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述装置包括:
    处理单元,用于根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  19. 根据权利要求18所述的装置,其特征在于,所述处理单元具体用于:
    若所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间未发生过变化,则确定所述存储器在所述存储控制器处于低功耗模式期间未发生过掉电;
    否则,确定所述存储器在所述存储控制器处于低功耗模式期间发生过掉电。
  20. 根据权利要求18或19所述的装置,其特征在于,在所述根据所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电之前,所述处理单元还用于:
    在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述易失性存储单元;
    在检测到用于退出低功耗模式的唤醒请求之后,从所述易失性存储单元中获取数据;
    根据从所述易失性存储单元中获取的数据,判断所述易失性存储单元存储的目标数据在所述存储控制器处于低功耗模式期间是否发生过变化。
  21. 根据权利要求18-20任一项所述的装置,其特征在于,所述易失性存储单元为以下任意一项:高速缓冲存储器或随机存取存储器。
  22. 根据权利要求21所述的装置,其特征在于,所述易失性存储单元为状态寄存器;所述目标数据对应所述状态寄存器的状态;所述处理单元具体用于:
    根据所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化,判断所述存储器在所述存储控制器处于低功耗模式期间是否发生过掉电。
  23. 根据权利要求22所述的装置,其特征在于,所述处理单元还用于:
    在所述存储控制器进入低功耗模式之前,将所述目标数据写入至所述状态寄存器;
    在检测到用于退出低功耗模式的唤醒请求之后,从所述状态寄存器中获取数据;
    根据从所述状态寄存器中获取的数据,判断所述状态寄存器的状态在所述存储控制器处于低功耗模式期间是否发生过变化。
  24. 根据权利要求18-23任一项所述的装置,其特征在于,若所述存储器在所述存储控制器处于低功耗模式期间发生过掉电,所述处理单元还用于:
    在所述存储控制器退出低功耗模式之前,对所述存储器进行初始化。
  25. 一种存储控制器,其特征在于,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元;所述存储控制器用于执行如权利要求1-5或6-12中任一项所述的方法。
  26. 一种存储设备,其特征在于,包括权利要求25所述的存储控制器和存储器,所述存储控制器与存储器耦合,所述存储器为非易失性存储器,所述存储器中设置有易失性存储单元。
  27. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器进行如权利要求1-5或6-12中任一项所述的方法。
  28. 一种计算机程序产品,所述计算机程序产品包括计算机程序,当所述计算机程序在计算机或处理器上运行时,使得所述计算机或所述处理器进行如权利要求1-5或6-12中任一项所述的方法。
CN202180099607.8A 2021-08-17 2021-08-17 掉电检测方法及相关设备 Pending CN117546031A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/112905 WO2023019415A1 (zh) 2021-08-17 2021-08-17 掉电检测方法及相关设备

Publications (1)

Publication Number Publication Date
CN117546031A true CN117546031A (zh) 2024-02-09

Family

ID=85239947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180099607.8A Pending CN117546031A (zh) 2021-08-17 2021-08-17 掉电检测方法及相关设备

Country Status (3)

Country Link
EP (1) EP4369009A1 (zh)
CN (1) CN117546031A (zh)
WO (1) WO2023019415A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116773894B (zh) * 2023-06-15 2023-12-15 浙江恒业电子股份有限公司 一种采集器掉电检测系统及其方法
CN116913351B (zh) * 2023-09-13 2023-12-26 合肥康芯威存储技术有限公司 一种存储设备数据丢失测试方法、装置、介质及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5494850A (en) * 1978-01-11 1979-07-26 Nissan Motor Arithmetic processor
JPS6289153A (ja) * 1985-10-15 1987-04-23 Hochiki Corp 記憶装置
US5542042A (en) * 1993-05-27 1996-07-30 Whirlpool Corporation Method and apparatus for monitoring volatile memory validity
CN103777537B (zh) * 2014-01-28 2018-03-13 无锡云动科技发展有限公司 一种低功耗控制电路及存储装置
CN108121428A (zh) * 2017-12-06 2018-06-05 北京慧驰科技有限公司 一种瞬时掉电时mcu的内存数据保护方法和装置
CN111161785A (zh) * 2019-12-31 2020-05-15 展讯通信(上海)有限公司 静态随机存储器及其故障检测电路

Also Published As

Publication number Publication date
EP4369009A1 (en) 2024-05-15
WO2023019415A1 (zh) 2023-02-23

Similar Documents

Publication Publication Date Title
US11079261B2 (en) System on a chip with always-on processor
US10915160B2 (en) System on a chip with fast wake from sleep
US10261894B2 (en) System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
EP1356366B9 (en) Computer peripheral device that remains operable when central processor operations are suspended
US8583953B2 (en) Power control for information handling system having shared resources
US11971769B2 (en) Mobile device including context hub and operation method thereof
US8682274B2 (en) System and method for radio antenna sharing in an information handling system
CN117546031A (zh) 掉电检测方法及相关设备
US11550592B2 (en) Methods and apparatus to utilize non-volatile memory for computer system boot
US20150362980A1 (en) Always-On Processor as a Coprocessor
US11392318B2 (en) Electronic device and method of utilizing storage space thereof
CN113703799A (zh) 计算设备及其bios更新方法和介质
WO2019072179A1 (zh) 应用程序运行控制方法及装置
WO2014139119A1 (en) Providing hybrid touchpad in computing device
CN114661364A (zh) 协处理芯片的启动方法、装置、存储介质及电子装置
CN116737601B (zh) 将外设寄存器扩展为系统ram的方法、装置及存储介质
CN116737488B (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