CN117093535A - 一种片上系统及相关系统上电恢复方法 - Google Patents

一种片上系统及相关系统上电恢复方法 Download PDF

Info

Publication number
CN117093535A
CN117093535A CN202210519490.0A CN202210519490A CN117093535A CN 117093535 A CN117093535 A CN 117093535A CN 202210519490 A CN202210519490 A CN 202210519490A CN 117093535 A CN117093535 A CN 117093535A
Authority
CN
China
Prior art keywords
target
processing unit
memory
repair information
target processing
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
CN202210519490.0A
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
Priority to CN202210519490.0A priority Critical patent/CN117093535A/zh
Priority to PCT/CN2023/093266 priority patent/WO2023217186A1/zh
Publication of CN117093535A publication Critical patent/CN117093535A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7846On-chip cache and off-chip main memory
    • 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
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例公开了一种片上系统及相关系统上电恢复方法,其特征在于,所述片上系统包括N个处理单元,所述N个处理单元中的目标处理单元包括多个第一存储器,其中,所述目标处理单元用于:在内部的目标存储区域中存储目标修复信息,所述目标修复信息为多个第一存储器中出现故障的第一存储器的信息;当目标处理单元从第一模式切换到第二模式后,从目标存储区域读取目标修复信息,并对多个第一存储器进行坏点修复;其中,在第一模式下,目标处理单元中除目标存储区域以外的部分或全部部件处于下电状态,且目标存储区域处于上电状态;在第二模式下,目标处理单元整体处于上电状态。采用本发明实施例可以缩短处理单元上电后的恢复时间。

Description

一种片上系统及相关系统上电恢复方法
技术领域
本申请涉及电子电路技术领域,尤其涉及一种片上系统及相关系统上电恢复方法。
背景技术
片上系统(System on Chip,SOC),是指在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术,即可以在一个芯片上集成中央处理单元、调制解调处理单元、图像信号处理单元、视频编解码单元、数字信号处理单元等多种处理单元,以及存储器模块、电源等模块。随着SOC的广泛应用,为降低SOC的功耗,SOC上的每个处理单元在空闲状态下可以进行下电操作,需要工作时再进行上电操作,避免了处理单元在空闲且未下电的状态下依旧消耗大量电能的问题。但当处理单元再次上电后,需要先进行上电恢复(如处理单元上电后需要先进行内部存储器的坏点修复),然后才能开始正常工作。在一些面向高帧率的游戏,虚拟现实技术(Virtual Reality,VR)或新型穿戴设备等应用场景下,处理单元的上电恢复时间越长,则会限制各处理单元空闲下电的使用场景,影响用户体验。
因此,如何提供一种片上系统及相关的上电恢复方法,以缩短处理单元上电后的恢复时间,是亟待解决的问题。
发明内容
本申请实施例所要解决的技术问题在于,提供一种片上系统及相关系统上电恢复方法,以缩短系统上电后的恢复时间。
第一方面,本申请实施案例提供一种片上系统,其特征在于,所述片上系统包括N个处理单元,所述N个处理单元中的目标处理单元包括多个第一存储器,所述多个第一存储器均为易失性存储器,所述目标处理单元为所述N个处理单元中的任意一个处理单元,N、M为大于0的整数,其中,所述目标处理单元用于:在内部的目标存储区域中存储目标修复信息,所述目标修复信息为所述多个第一存储器中出现故障的第一存储器的信息;当所述目标处理单元从第一模式切换到第二模式后,从所述目标存储区域读取所述目标修复信息,并对所述多个第一存储器进行坏点修复;其中,在所述第一模式下,所述目标处理单元中除所述目标存储区域以外的部分或全部部件处于下电状态,且所述目标存储区域处于上电状态;在所述第二模式下,所述目标处理单元整体处于上电状态。
在本发明实施例中,通过在片上系统内部的每个处理单元内部都新增或划分一个目标存储区域,专门用于存储每个处理单元自身的目标修复信息,且将该目标存储区域配置为当处理单元下电时,该目标存储区域依旧可以处于上电状态,以使得每个处理单元重新上电后可以直接基于内部的目标修复信息进行存储器的坏点修复,而无需从处理单元外部去获取相应的目标修复信息,大大地缩短了处理单元上电后的存储器故障修复时间。具体地,在处理单元的内部增加或划分一个目标存储区域,专门用于存储处理单元自身的目标修复信息(即为处理单元内部出现故障的第一存储器的相关信息),且该目标存储区域在处理单元下电时依旧处于上电状态(例如为目标存储区域设置单独的供电电源),以使得目标存储区域存储的目标修复信息在处理单元下电时不丢失。进一步地,当处理单元下电之后又重新上电时,由于目标存储区域一直处于上电状态(即存储在该目标存储区域中的目标修复信息未丢失),因此处理单元可从内部未下电的目标存储区域中直接获得自身的目标修复信息,而无需再从外部的存储模块获取对应的目标修复信息。而在现有技术中,处理单元每次下电后,由于处理单元未对目标修复信息进行存储,因此当处理单元再次上电时,需要向处理单元外部的存储模块获取自身的目标修复信息,导致处理单元上电后的存储器故障修复时间过长的问题。综上,在本发明实施例中的处理单元重新上电时,处理单元可以直接基于内部存储的目标修复信息进行第一存储器的坏点修复,而无需再从处理单元外部获取目标修复信息,减少了处理单元进行存储器故障修复的时间,从而处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述片上系统还包括第二存储器,所述第二存储器为非易失性存储器;所述第二存储器用于:存储所述N个处理单元中每个处理单元的所述目标修复信息。
在本发明实施例中,片上系统首次上电使用前,可对每个处理单元都进行硬件测试得到每个处理单元的目标修复信息,然后可将每个处理单元的目标修复信息都存储在第二存储器中,由于该第二存储器为非易失性存储器(即下电后数据不会丢失),因此在第二存储器处于下电状态时,各个处理单元的目标修复信息也不会丢失。进一步地,当处理单元上电后,若处理单元内部的目标存储区域中没有目标修复信息,则可以从处理单元外部的第二存储器中获取自身的目标修复信息,进而处理单元可以基于该目标修复信息进行存储器坏点修复,同时还可以将该目标修复信息存储至目标存储区域,以使得处理单元再次上电时,处理单元可以直接基于内部存储的目标修复信息进行存储器的坏点修复,而无需再从处理单元外部获取该目标修复信息,减少了处理单元进行存储器故障修复的时间,从而处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述片上系统还包括第三存储器,所述第三存储器为易失性存储器;当所述片上系统从下电状态切换为上电状态时,所述第三存储器还用于:从所述第二存储器读取所述目标处理单元的所述目标修复信息并进行存储。
在本发明实施例中,第三存储器可以为静态随机存取存储器(SRAM),即易失性存储器,当片上系统从下电状态切换为上电状态时,该第三存储器可用于从第二存储器中读取每个处理单元的目标修复信息并进行存储,以便于在处理单元内部的目标存储区中没有目标修复信息时,处理单元能够从外部的第三存储器中获取到自身的目标修复信息。由于处理单元访问非易失性存储器的速度远小于访问易失性存储器的速度,因此将非易失性存储器中的数据先加载至易失性存储器中,然后处理单元再从易失性存储器中读取目标数据,能够降低处理单元从外部读取数据的时间。
在一种可能的实现方式中,所述目标处理单元还用于:若所述目标存储区域中不存在所述目标修复信息,则从所述第三存储器获取所述目标处理单元的所述目标修复信息,并存储至内部的所述目标存储区域中。
在本发明实施例中,若目标处理单元中的目标存储区域中不存在目标修复信息,则目标处理单元需要从外部获取自身的目标修复信息,即可以从目标处理单元外部的第三存储器中获取自身的目标修复信息,进而目标处理单元可以基于该目标修复信息进行存储器坏点修复,同时还可以将该目标修复信息存储至目标存储区域,以使得在目标处理单元再次上电时,目标处理单元可以直接基于内部存储的目标修复信息进行存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述目标处理单元中还包括第一寄存器;所述目标处理单元具体用于:将所述第一寄存器作为所述目标存储区域存储所述目标修复信息。
在本发明实施例中,目标处理单元的内部增加一个第一寄存器作为目标存储区域,专门用于存储目标处理单元的目标修复信息,且该第一寄存器在目标处理单元处于空闲下电状态时依旧处于上电状态,以使得第一寄存器存储的目标修复信息在目标处理单元处于空闲下电时不丢失。因此,在该目标处理单元重新上电时,目标处理单元可以直接基于第一寄存器存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述第一寄存器通过专用电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分或全部部件处于下电状态时,所述第一寄存器处于上电状态,或者所述第一寄存器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分部件处于下电状态时,所述第一寄存器处于上电状态。
在本发明实施例中,目标处理单元中除第一寄存器以外的部分或全部部件可以由第一电源域来控制上下电,目标处理单元中第一寄存器可由其他电源域来控制上下电。在目标处理单元处于空闲状态时,可以通过断开第一电源域使得目标处理单元处于下电状态以节约电能,但第一寄存器一直保持在上电状态以使得存储的目标修复信息不丢失。进一步地,在该目标处理单元重新上电时,目标处理单元可以直接基于第一寄存器存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述目标处理单元还用于:通过所述译码模块从所述第一寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
在本发明实施例中,目标处理单元重新上电时,目标处理单元可以直接基于第一寄存器存储的目标修复信息通过译码模块对目标处理单元中的多个第一存储器进行配置,以避免目标处理单元使用出现故障的第一存储器。由于目标处理单元重新上电后无需再从目标处理单元外部获取目标修复信息,因此减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述目标处理单元具体用于:将所述多个第一存储器作为所述目标存储区域存储所述目标修复信息,所述多个第一存储器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述多个第一存储器以外的部分部件处于下电状态时,所述多个第一存储器处于上电状态。
在本发明实施例中,在目标处理单元内部的多个第一存储器中划分一个目标存储区域,专门用于存储目标处理单元的目标修复信息,且该存储区域在目标处理单元处于空闲下电状态时依旧处于上电状态,以使得存储区域存储的目标修复信息在目标处理单元处于空闲下电时不丢失。因此,在该目标处理单元重新上电时,目标处理单元可以直接基于多个第一存储器存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述目标处理单元中包括第二寄存器,所述目标处理单元还用于:当所述目标处理单元从所述第一模式切换到所述第二模式后,通过所述第二寄存器从所述多个第一存储器中获取所述目标修复信息并进行存储。
在本发明实施例中,为便于后续对目标修复信息进行译码,可以在目标处理单元中增加一个第二寄存器,且目标处理单元下电该第二寄存器也处于下电状态。当目标处理单元再次上电时,第二寄存器可以从第一存储器获取目标修复信息并进行存储。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述目标处理单元还用于:通过所述译码模块从所述第二寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
在本发明实施例中,目标处理单元重新上电时,目标处理单元可以基于第二寄存器中的目标修复信息通过译码模块对目标处理单元中的多个第一存储器进行配置,以避免目标处理单元使用出现故障的第一存储器。由于目标处理单元重新上电后无需再从目标处理单元外部获取目标修复信息,因此减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述目标处理单元还包括备用存储器;所述目标处理单元具体用于:基于所述目标修复信息,通过所述译码模块确定所述出现故障的第一存储器;对所述出现故障的第一存储器进行坏点隔离,并启用所述备用存储器。
在本发明实施例中,在目标处理单元重新上电时,目标处理单元可以直接基于目标存储区域存储的目标修复信息通过译码模块确定多个第一存储器中出现故障的第一存储器,并将出现故障的第一存储器进行坏点隔离,然后启用备用存储器,以避免目标处理单元使用出现故障的第一存储器,导致系统异常。同时,由于目标处理单元重新上电后无需再从目标处理单元外部获取目标修复信息,因此减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
第二方面,本申请提供了一种系统上电恢复方法,其特征在于,应用于片上系统,所述片上系统包括N个处理单元,所述N个处理单元中的目标处理单元包括多个第一存储器,所述多个第一存储器均为易失性存储器,所述目标处理单元为所述N个处理单元中的任意一个处理单元,N、M为大于0的整数,所述方法包括:通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,所述目标修复信息为所述多个第一存储器中出现故障的第一存储器的信息;当所述目标处理单元从第一模式切换到第二模式后,通过所述目标处理单元从所述目标存储区域读取所述目标修复信息,并对所述多个第一存储器进行坏点修复;其中,在所述第一模式下,所述目标处理单元中除所述目标存储区域以外的部分或全部部件处于下电状态,且所述目标存储区域处于上电状态;在所述第二模式下,所述目标处理单元整体处于上电状态。
在一种可能的实现方式中,所述片上系统还包括第二存储器,所述第二存储器为非易失性存储器;所述方法还包括:通过所述第二存储器存储所述N个处理单元中每个处理单元的所述目标修复信息。
在一种可能的实现方式中,所述片上系统还包括第三存储器,所述第三存储器为易失性存储器;当所述片上系统从下电状态切换为上电状态时,所述方法还包括:通过所述第三存储器从所述第二存储器读取所述目标处理单元的所述目标修复信息并进行存储。
在一种可能的实现方式中,所述方法还包括:若所述目标存储区域中不存在所述目标修复信息,则通过所述目标处理单元从所述第三存储器获取所述目标处理单元的所述目标修复信息,并存储至内部的所述目标存储区域中。
在一种可能的实现方式中,所述目标处理单元中还包括第一寄存器;所述通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,包括:将所述第一寄存器作为所述目标存储区域存储所述目标修复信息。
在一种可能的实现方式中,所述第一寄存器通过专用电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分或全部部件处于下电状态时,所述第一寄存器处于上电状态,或者所述第一寄存器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分部件处于下电状态时,所述第一寄存器处于上电状态。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述方法还包括:通过所述目标处理单元中的所述译码模块从所述第一寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
在一种可能的实现方式中,所述通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,包括:将所述多个第一存储器作为所述目标存储区域存储所述目标修复信息,所述多个第一存储器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述多个第一存储器以外的部分部件处于下电状态时,所述多个第一存储器处于上电状态。
在一种可能的实现方式中,所述目标处理单元中包括第二寄存器,所述方法还包括:当所述目标处理单元从所述第一模式切换到所述第二模式后,通过所述第二寄存器从所述多个第一存储器中获取所述目标修复信息并进行存储。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述方法还包括;通过所述目标处理单元中的所述译码模块从所述第二寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
在一种可能的实现方式中,所述目标处理单元还包括备用存储器;所述对所述多个第一存储器进行坏点修复,包括:基于所述目标修复信息,通过所述译码模块确定所述出现故障的第一存储器;对所述出现故障的第一存储器进行坏点隔离,并启用所述备用存储器。
第三方面,本申请提供了一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第二方面任意一项所述的方法。
第四方面,本申请实施例提供一种电子设备,该电子设备中包括处理器,处理器被配置为支持该电子设备实现第二方面提供的一种系统上电恢复方法中相应的功能。该电子设备还可以包括存储器,存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。该电子设备还可以包括通信接口,用于该电子设备与其他设备或通信网络通信。
第五方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述第二方面中所涉及的功能,例如,生成或处理上述系统上电恢复方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
第六方面,本申请提供一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行上述第三方面中任意一项所述的方法。
附图说明
图1为本发明实施例提供的一种片上系统的结构示意图。
图2为本发明实施例提供的一种片上系统示意图。
图3为本发明实施例提供的一种具有第二存储器的片上系统的示意图。
图4为本发明实施例提供的一种具有第三存储器的片上系统的示意图。
图5为本发明实施例提供的一种处理单元内部结构示意图。
图6为本发明实施例提供的一种目标处理单元内部结构示意图。
图7为本发明实施例提供的另一种目标处理单元内部结构示意图。
图8为本发明实施例提供的一种目标处理单元上电恢复示意图。
图9为本发明实施例提供的另一种目标处理单元上电恢复示意图。
图10为本发明实施例提供的又一种目标处理单元内部结构示意图。
图11为本发明实施例提供的又一种目标处理单元上电恢复示意图。
图12为本发明实施例提供的一种系统上电恢复流程示意图。
图13是本发明实施例提供的一种系统上电恢复方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
基于上述,本发明实施例提供一种片上系统。请参见图1,图1为本发明实施例提供的一种片上系统的结构示意图,片上系统(System on Chip,SOC)是指在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术。片上系统10一般可以包括处理器100、片上存储模块101、内置自修复模块102和外围部件电路等,且片上系统10可内置于各种电子设备中,如服务器、个人计算机、平板电脑、手机、个人数字助理、智能穿戴设备等各类设备。具体地,
处理器100,可运行操作系统、文件系统或应用程序等,以控制连接到处理器100的多个硬件或软件元件,并且可处理各种数据并执行操作。处理器100可以包括一个或多个处理单元(也可称处理核),例如:处理器100可以包括中央处理单元(Central ProcessingUnit,CPU)、调制解调处理单元、图形处理单元(graphics processing unit,GPU)、图像信号处理单元(image signal processor,ISP)、视频编解码单元、数字信号处理单元(digital signal processor,DSP)、基带处理单元和神经网络处理单元(neural-networkprocessing unit,NPU)等中的一个或多个。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个器件中。处理器100中的每个处理单元(如CPU)可将片上存储模块101中存储的指令或数据加载到处理单元内部的存储器中,并把需要运算的指令或数据调到计算单元中进行运算,当运算完成后计算单元再将结果临时存储在内部的存储器中,并将需要长期存储的指令或数据存储至片上存储模块101中。此外,若片上存储模块101中存储了多个处理单元中每个处理单元的存储器的修复信息,那么处理器100中的每个处理单元(如CPU)可将片上存储模块101中所存储的修复信息加载至处理单元内部并进行存储器的坏点修复。可选的,片上存储模块101存储的一个或多个存储器的修复信息是不可更改且不可擦除的。
需要说明的是,每个处理单元(如CPU)内部的存储器通常为掉电易失性存储器,断电时会丢失其上存储的内容。每个处理单元内部的存储器都可用于暂时存放处理单元(如CPU)中的运算数据,以及与片上存储模块101或其他外部存储器交互数据,可作为操作系统或其他正在运行中的程序的临时数据的存储媒介。例如,运行于CPU上的操作系统把需要运算的数据从内部的存储器调到计算单元中进行运算,当运算完成后计算单元再将结果传送出来并临时存储在内部的存储器中。处理单元内部的存储器可以包括静态随机存取存储器(Static RandomAccess Memory,SRAM),其中,静态随机存取存储器又可包括单端口静态随机存取存储器以及双端口静态随机存取存储器。
片上存储模块101,为掉电非易失性存储器,断电后其存储的内容不会丢失。片上存储模块101可用于长期存储处理器100运行所涉及的指令和数据,如本申请涉及的每个处理单元(如CPU)内部的存储器的修复信息、启动程序、操作系统、应用程序和数据等。由于处理器100中的处理单元不能直接读取片上存储模块101中的指令和数据,也不能直接向片上存储模块101写入指令或数据。因此,处理单元(如CPU)在执行读(或加载)命令时,实际上是将存储在片上存储模块101中的待读内容(包括指令和/或数据)先临时加载至内部的存储器中,然后再由CPU从内部的存储器中读出;而在执行写(即存储)命令时,实际上是由CPU先将待存储数据(包括指令和/或数据)临时写入至内部的存储器中,然后再从内部的存储器存储至片上存储模块101中。片上存储模块101可以包括Flash闪存(例如,NAND闪存、NOR闪存等)、通用闪存存储器(universal flash storage,UFS)、嵌入式多媒体卡eMMC、通用闪存存储多芯片封装uMCP存储器、嵌入式多媒体卡多芯片封装eMCP存储器、固态驱动器(SSD)等中的一个或多个。片上存储模块101还可以包括一次性可编程存储器(eFuse),该eFuse可专门用于存储处理器100中每个处理单元的存储器的修复信息,以使得存储的一个或多个存储器的修复信息不可更改也不可擦除。
内置自修复模块102,位于处理器100外部,可以包括静态随机存取存储器(SRAM),可用于从片上存储模块101中读取每个处理单元(如CPU)内部的存储器的修复信息并进行存储,以便于各个处理单元上电时能够再从内置自修复模块102直接获取到各自内部的存储器的修复信息。每个处理单元内部的存储器在生产过程中会出现无法避免的故障,因此在生产时可以设计备用存储器,当存储器出现故障时可以使用备用的存储器来维持正常工作。在首次使用片上系统10前,需要先对硬件进行测试,若在硬件测试中发现某个存储器出现故障,则可以将出现故障的存储器进行标记得到修复信息,并且可以将该修复信息存储至片上存储模块101中(SOC下电后该信息也不会丢失)。每个处理单元上电后,需要进行存储器的坏点修复,进而处理单元(如CPU)才能恢复正常工作,即每个处理单元都需要先获取各自内部的存储器的修复信息,从而基于修复信息将出现故障的存储器进行隔离并可将其关联至备用的存储器进行使用。由于上电后处理单元(如CPU)无法直接读取片上存储模块101中的数据,且在处理单元未获取到内部的存储器的修复信息前,为避免将数据加载到出现故障的存储器中,处理单元也不会直接使用内部的存储器,因此可通过内置自修复模块102先从片上存储模块101中读取所有处理单元内部的存储器的修复信息并进行存储,从而各个处理单元上电后可以直接从内置自修复模块102获取到各自的存储器的修复信息,然后可基于该修复信息进行存储器的坏点修复。在本发明实施例中,可在处理单元中增加或划分一个存储模块,该存储模块用于存储内部的存储器的修复信息,且在该处理单元下电后修复信息不会丢失(即处理单元下电后,修复信息依旧存储在处理单元内部),因此该处理单元再次上电时,处理单元可以直接基于存储的修复信息进行存储器的坏点修复,而无需再从处理单元外部获取该修复信息,减少了处理单元进行存储器故障修复的时间,从而处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
可以理解的是,图1中的片上系统10的结构只是本发明实施例提供的一些示例性的实施方式,本发明实施例中的片上系统10的结构包括但不仅限于以上实现方式。
下面结合本发明实施例中的附图对本发明实施例进行描述。
请参见图2,图2为本发明实施例提供的一种片上系统示意图,下面将结合附图2对本申请实施例中的片上系统进行详细描述。如图2所示,该片上系统20包括:N个处理单元201,所述N个处理单元中的目标处理单元包括多个第一存储器,所述多个第一存储器均为易失性存储器,所述目标处理单元为所述N个处理单元中的任意一个处理单元,N为大于0的整数。需要说明的是,图2中的片上系统20可以包括上述图1中片上系统10的部分或全部功能,N个处理单元201可以包括上述图1中的处理器100的处理单元的全部或部分功能。其中,
所述目标处理单元用于:在内部的目标存储区域中存储目标修复信息,所述目标修复信息为所述多个第一存储器中出现故障的第一存储器的信息。具体地,片上系统20中可以包括一个或多个处理单元,处理单元可以为中央处理单元(CPU)、调制解调处理单元、图形处理单元(GPU)、图像信号处理单元(ISP)、视频编解码单元、数字信号处理单元(DSP)、基带处理单元和神经网络处理单元(NPU)等。在每个处理单元的内部可包括多个第一存储器,且每个处理单元内部的第一存储器的数量可以相同,也可以不同,在此不作限定。第一存储器通常为掉电易失性存储器,断电时会丢失其上存储的内容。第一存储器的作用是暂时存放处理单元(如CPU)中的运算数据(如CPU中计算单元的运算结果),以及与片上的存储模块或其他外部存储器交互数据,可作为操作系统或其他正在运行中的程序的临时数据的存储媒介。由于每个处理单元内部的第一存储器在生产过程中会出现无法避免的故障,因此在对片上系统20首次上电使用前,需要先对硬件进行测试,若在硬件测试中发现某个第一存储器出现故障,则可以将出现故障的第一存储器进行标记得到目标修复信息。在本发明实施例中,可在目标处理单元(如CPU)的内部增加或划分一个目标存储区域,专门用于存储目标处理单元的目标修复信息,且在该目标处理单元下电后目标修复信息不会丢失,即目标处理单元下电后,目标修复信息依旧存储在目标处理单元的内部。
所述目标处理单元还用于:当所述目标处理单元从第一模式切换到第二模式后,从所述目标存储区域读取所述目标修复信息,并对所述多个第一存储器进行坏点修复;其中,在所述第一模式下,所述目标处理单元中除所述目标存储区域以外的部分或全部部件处于下电状态,且所述目标存储区域处于上电状态;在所述第二模式下,所述目标处理单元整体处于上电状态。具体地,目标处理单元的第一模式可以理解为目标处理单元处于空闲下电状态,但目标处理单元内部的目标存储区域未下电,如目标处理单元中的计算单元等部件都处于下电状态,但目标存储区域依旧处于上电状态,或是目标处理单元中的计算单元等部件处于下电状态,但目标存储区域和部分器件(如时钟单元等)依旧处于上电状态,以使得目标存储区域存储的目标修复信息在目标处理单元空闲下电时不丢失;目标处理单元的第二模式可以理解为目标处理单元处于工作上电状态,即目标处理单元中的计算单元等部件都处于上电状态。目标处理单元从第一模式切换到第二模式可以理解为目标处理单元从空闲下电状态切换为工作上电状态。由于每个处理单元从第一模式切换至第二模式后,还需要对第一存储器进行坏点修复,进而处理单元(如CPU)才能恢复正常工作,即每个处理单元在重新上电后,都需要先确定出现故障的第一存储器,然后才能开始正常运算,以避免将运算结果存储至出现故障的第一存储器中导致处理单元出现异常的问题。在本发明实施例中,由于在目标处理单元的内部增加或划分一个目标存储区域,专门用于存储目标处理单元的目标修复信息,且该目标存储区域在目标处理单元处于空闲下电状态时依旧处于上电状态,以使得目标存储区域存储的目标修复信息在目标处理单元处于空闲下电时不丢失。因此,在该目标处理单元重新上电时,目标处理单元可以直接基于内部存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述片上系统20还包括第二存储器,所述第二存储器为非易失性存储器;所述第二存储器用于:存储所述N个处理单元中每个处理单元的所述目标修复信息。具体地,在片上系统20首次上电使用前,可对每个处理单元都进行硬件测试得到每个处理单元的目标修复信息,然后可将每个处理单元的目标修复信息都存储在第二存储器中,由于该第二存储器为非易失性存储器(即下电后数据不会丢失),因此在第二存储器处于下电状态时,各个处理单元的目标修复信息也不会丢失。可选的,第二存储器中存储的一个或多个存储器的目标修复信息是不可更改且不可擦除的。进一步地,当处理单元上电后,若处理单元内部的目标存储区域中没有存储目标修复信息,则可以从处理单元外部的第二存储器中获取自身的目标修复信息,进而处理单元可以基于该目标修复信息进行存储器坏点修复,同时还可以将该目标修复信息存储至目标存储区域,以使得在处理单元再次上电时,处理单元可以直接基于内部存储的目标修复信息进行存储器的坏点修复,而无需再从处理单元外部获取该目标修复信息,减少了处理单元进行存储器故障修复的时间,从而处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
例如,如图3所示,图3为本发明实施例提供的一种具有第二存储器的片上系统的示意图,图中片上系统20的片上存储模块202为本发明实施例提及的第二存储器(可以具有上述图1中的片上存储模块101的部分或全部功能),可以为一次性可编程存储器(eFuse)。片上系统20的处理器200中可以包括CPU和GPU(图3中以两个处理单元为例),目标处理单元可以为CPU,也可以为GPU;CPU中可以包括一个或多个第一存储器,GPU中也可以包括一个或多个第一存储器;片上存储模块202中存储了CPU的目标修复信息和GPU的目标修复信息。在CPU上电时,若CPU内部的目标存储区域中没有存储CPU的目标修复信息,则CPU可以从CPU外部的片上存储模块202中获取自身的目标修复信息,并基于该目标修复信息进行存储器坏点修复,同时还可以将该目标修复信息存储至CPU内部的目标存储区域中,以便CPU再次上电时,CPU可以直接基于内部存储的目标修复信息进行存储器的坏点修复,而无需再从CPU外部获取目标修复信息,减少了CPU进行存储器坏点修复的时间,从而CPU能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述片上系统20还包括第三存储器,所述第三存储器为易失性存储器;当所述片上系统从下电状态切换为上电状态时,所述第三存储器用于:从所述第二存储器读取所述目标处理单元的所述目标修复信息并进行存储。具体地,第三存储器可以为静态随机存取存储器(SRAM),即易失性存储器,当片上系统20从下电状态切换为上电状态时,该第三存储器可用于从第二存储器中读取每个处理单元的目标修复信息并进行存储,以便于在处理单元内部的目标存储区中没有存储目标修复信息时,处理单元能够从外部的第三存储器中获取到自身的目标修复信息。由于处理单元访问非易失性存储器的速度远小于访问易失性存储器的速度,因此将非易失性存储器中的数据先加载至易失性存储器中,然后处理单元再从易失性存储器中读取目标数据,能够降低处理单元从外部读取数据的时间。
例如,如图4所示,图4为本发明实施例提供的一种具有第三存储器的片上系统的示意图,图中片上系统20的内置自修复模块203可以为本发明实施例提及的第三存储器(可以具有上述图1中的内置自修复模块102的部分或全部功能),片上系统20的处理器200中可以包括CPU和GPU(图3中以两个处理单元为例);CPU中可以包括一个或多个第一存储器,GPU中也可以包括一个或多个第一存储器;片上存储模块202中存储了CPU的目标修复信息和GPU的目标修复信息。在片上系统20上电时,可先将片上存储模块202中存储的CPU的目标修复信息和GPU的目标修复信息先加载至内置自修复模块203,以降低CPU或GPU从外部读取数据的时间。进一步地,以目标处理单元为CPU为例进行说明,在CPU上电时,若CPU内部的目标存储区域中没有存储CPU的目标修复信息,则CPU可以从CPU外部的内置自修复模块203中获取自身的目标修复信息,并基于该目标修复信息进行存储器坏点修复,同时还可以将该目标修复信息存储至CPU内部的目标存储区域中,以便CPU再次上电时,CPU可以直接基于内部存储的目标修复信息进行存储器的坏点修复,而无需再从CPU外部获取目标修复信息,减少了CPU进行存储器坏点修复的时间,从而CPU能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述目标处理单元还用于:若所述目标存储区域中不存在所述目标修复信息,则从所述第三存储器获取所述目标处理单元的所述目标修复信息,并存储至内部的所述目标存储区域中。具体地,若目标处理单元中的目标存储区域中不存在目标修复信息,则目标处理单元需要从外部获取自身的目标修复信息,即可以从目标处理单元外部的第三存储器中获取自身的目标修复信息,进而目标处理单元可以基于该目标修复信息进行存储器坏点修复,同时还可以将该目标修复信息存储至目标存储区域,以使得在目标处理单元再次上电时,目标处理单元可以直接基于内部存储的目标修复信息进行存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
例如,如图4所示,以目标处理单元为CPU为例进行说明,在CPU上电时,若CPU内部的目标存储区域中没有存储CPU的目标修复信息,则CPU可以从CPU外部的内置自修复模块203中获取自身的目标修复信息,并基于该目标修复信息进行存储器坏点修复,同时还可以将该目标修复信息存储至CPU内部的目标存储区域中,以便CPU再次上电时,CPU可以直接基于内部存储的目标修复信息进行存储器的坏点修复,而无需再从CPU外部获取目标修复信息,减少了CPU进行存储器坏点修复的时间,从而CPU能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
需要说明的是,如图5所示,图5为本发明实施例提供的一种处理单元内部结构示意图,图中每个处理单元中可以包括一个或多个SRAM,且为每个SRAM都划分或分配了一个目标存储区域用于存储自身的修复信息,SRAM的数量可以根据应用需求进行调整,在此不作具体限定。需要强调的是,上述提及的多个第一存储器可以组成处理单元中的一个SRAM,目标修复信息也可以表示该SRAM的修复信息。由于处理单元中的每个SRAM工作流程相似,因此在本发明实施例中以一个SRAM为例进行详细说明,其他SRAM的工作流程不再重复赘述。
在一种可能的实现方式中,所述目标处理单元中还包括第一寄存器;所述目标处理单元具体用于:将所述第一寄存器作为所述目标存储区域存储所述目标修复信息。具体地,在目标处理单元的内部增加一个第一寄存器作为目标存储区域,专门用于存储目标处理单元的目标修复信息,且该第一寄存器在目标处理单元处于空闲下电状态时依旧处于上电状态,以使得第一寄存器存储的目标修复信息在目标处理单元处于空闲下电时不丢失。进一步地,在该目标处理单元重新上电时,目标处理单元可以直接基于第一寄存器存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
在一种可能的实现方式中,所述第一寄存器通过专用电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分或全部部件处于下电状态时,所述第一寄存器处于上电状态,或者所述第一寄存器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分部件处于下电状态时,所述第一寄存器处于上电状态。具体地,目标处理单元中除第一寄存器以外的部分或全部部件可以由第一电源域来控制上下电,目标处理单元中第一寄存器可由其他电源域来控制上下电。在目标处理单元处于空闲状态时,可以通过断开第一电源域使得目标处理单元下电以节约电能,但第一寄存器一直保持在上电状态以使得存储的目标修复信息不丢失。进一步地,在该目标处理单元重新上电时,目标处理单元可以直接基于第一寄存器存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
例如,如图6所示,图6为本发明实施例提供的一种目标处理单元内部结构示意图,图中目标处理单元包括4个第一存储器,分别为C0、C1、C2和C3;C4为备用存储器;第一寄存器为目标存储区域,第一寄存器可以为保留寄存器;目标处理单元中除第一寄存器以外的部分或全部部件可以由第一电源域VDDP来控制上下电,目标处理单元中第一寄存器可由专用电源域VDD_ret和VDDP一起来控制上下电。当目标处理单元处于空闲状态时,VDDP下电,目标处理单元中的计算单元和第一存储器等部件下电,但VDD_ret不下电,以使得第一寄存器存储的目标修复信息不丢失。
需要说明的是,保留寄存器采用双电源结构且VDD_ret保持一直有电,该类寄存器在普通寄存器功能基础上增加了保存(save)和恢复(restore)功能。save端口脉冲信号使得其Q端数据保存至其内部VDD_ret电源域的锁存器中;restore端口脉冲信号使得VDD_ret电源域寄存的数据返回到Q端,且这两个操作都在纳秒时长等级完成。因此,为节省功耗将VDDP和VDDC下电前,先保存目标修复信息至VDD_ret域的锁存器中,再需要目标处理单元工作前先快速完成目标修复信息恢复到Q端,以使得目标处理单元重新上电后能够从保留寄存器中获取到目标修复信息。
又例如,如图7所示,图7为本发明实施例提供的另一种目标处理单元内部结构示意图,图中目标处理单元包括4个第一存储器,分别为C0、C1、C2和C3;C4为备用存储器;第一寄存器为目标存储区域,第一寄存器可以由VDDC域寄存器组成;目标处理单元中除第一寄存器和多个第一存储器以外的部分或全部部件可以由第一电源域VDDP来控制上下电,第一寄存器和多个第一存储器可以由第二电源域VDDC来控制上下电。当目标处理单元处于空闲状态时,VDDP下电,目标处理单元中的计算单元等部件下电,但VDDC不下电,以使得第一寄存器存储的目标修复信息不丢失。
需要说明的是,第一寄存器可以由VDDC域寄存器和电平转换器组成,电平转换器主要完成信号在VDDP和VDDC两电源之间正常传输功能。该图7的装置可应用于数字逻辑电路下电但第一存储器内数据需保存的场景;相较于上述图6的装置第一寄存器减少了save和restore的操作,进一步减少了目标处理单元的上电恢复时长,但需VDDC保持一直有电。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述目标处理单元还用于:通过所述译码模块从所述第一寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。具体地,在目标处理单元重新上电时,目标处理单元可以直接基于第一寄存器存储的目标修复信息通过译码模块对目标处理单元中的多个第一存储器进行配置,以避免目标处理单元使用出现故障的第一存储器。由于目标处理单元重新上电后无需再从目标处理单元外部获取目标修复信息,因此减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
例如,如图8所示,图8为本发明实施例提供的一种目标处理单元上电恢复示意图,图中假设目标处理单元包括4个第一存储器,分别为C0、C1、C2和C3,其中C1为出现故障的存储器;C4为备用存储器;第一寄存器为目标存储区域。当目标处理单元重新上电后,译码模块从第一寄存器中获取目标修复信息并进行译码,得到C1为出现故障的存储器。进一步地,可向目标处理单元中的第一存储器发送0111,然后通过选择器将C1进行隔离,然后可以启用备用存储器C4,以避免目标处理单元使用出现故障的第一存储器。
又例如,如图9所示,图9为本发明实施例提供的另一种目标处理单元上电恢复示意图,图中假设目标处理单元包括4个第一存储器,分别为C0、C1、C2和C3,其中C1为出现故障的存储器;C4为备用存储器;第一寄存器为目标存储区域。当目标处理单元重新上电后,译码模块从第一寄存器中获取目标修复信息并进行译码,得到C1为出现故障的存储器。进一步地,可向目标处理单元中的第一存储器发送0111,然后通过选择器将C1进行隔离,然后可以启用备用存储器C4,以避免目标处理单元使用出现故障的第一存储器。
在一种可能的实现方式中,所述目标处理单元具体用于:将所述多个第一存储器作为所述目标存储区域存储所述目标修复信息,所述多个第一存储器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述多个第一存储器以外的部分部件处于下电状态时,所述多个第一存储器处于上电状态。具体地,在目标处理单元内部的多个第一存储器中划分一个目标存储区域,专门用于存储目标处理单元的目标修复信息,且该存储区域在目标处理单元处于空闲下电状态时依旧处于上电状态,以使得存储区域存储的目标修复信息在目标处理单元处于空闲下电时不丢失。因此,在该目标处理单元重新上电时,目标处理单元可以直接基于多个第一存储器存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
例如,如图10所示,图10为本发明实施例提供的又一种目标处理单元内部结构示意图,图中目标处理单元包括4个第一存储器,分别为C0、C1、C2和C3;C4为备用存储器;C0’、C1’、C2’和C3’为被划分的目标存储区域;目标处理单元中除第一存储器以外的部分或全部部件可以由VDDP来控制上下电,目标处理单元中第一存储器可由VDDC来控制上下电。当目标处理单元处于空闲状态时,VDDP下电,目标处理单元中的计算单元等部件下电,但VDDC不下电,以使得第一存储器中存储的目标修复信息不丢失。
需要说明的是,SRAM是一种面积利用率极高的器件,上述图6的装置和上述图7的装置都有可能导致SRAM的无效面积增加,进而导致SoC资源的严重浪费。因此,上述图10的装置直接利用多个第一存储器来存储目标修复信息,对面积影响较小。
在一种可能的实现方式中,所述目标处理单元中包括第二寄存器,所述目标处理单元还用于:当所述目标处理单元从所述第一模式切换到所述第二模式后,通过所述第二寄存器从所述多个第一存储器中获取所述目标修复信息并进行存储。具体地,为便于后续对目标修复信息进行译码,可以在目标处理单元中增加一个第二寄存器,且目标处理单元下电该第二寄存器也处于下电状态。当目标处理单元再次上电时,第二寄存器可以从第一存储器获取目标修复信息并进行存储。例如,如图10所示,当目标处理单元再次上电后,第二寄存器先从C0’、C1’、C2’和C3’中获取目标修复信息并保存,以便后续译码模块对目标修复信息进行译码。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述目标处理单元还用于:通过所述译码模块从所述第二寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。具体地,在目标处理单元重新上电时,目标处理单元可以基于第二寄存器中的目标修复信息通过译码模块对目标处理单元中的多个第一存储器进行配置,以避免目标处理单元使用出现故障的第一存储器。由于目标处理单元重新上电后无需再从目标处理单元外部获取目标修复信息,因此减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
例如,如图11所示,图11为本发明实施例提供的又一种目标处理单元上电恢复示意图,图中假设目标处理单元包括4个第一存储器,分别为C0、C1、C2和C3,其中C1为出现故障的存储器;C4为备用存储器;C0’、C1’、C2’和C3’为被划分的目标存储区域。当目标处理单元重新上电后,第二寄存器先从C0’、C1’、C2’和C3’中读取目标修复信息并存储,然后译码模块从第二寄存器中获取目标修复信息并进行译码,得到C1为出现故障的存储器。进一步地,可向目标处理单元中的第一存储器发送0111,然后通过选择器将C1进行隔离,然后可以启用备用存储器C4,以避免目标处理单元使用出现故障的第一存储器。
在一种可能的实现方式中,所述目标处理单元还包括备用存储器;所述目标处理单元具体用于:基于所述目标修复信息,通过所述译码模块确定所述出现故障的第一存储器;对所述出现故障的第一存储器进行坏点隔离,并启用所述备用存储器。具体地,在目标处理单元重新上电时,目标处理单元可以直接基于目标存储区域存储的目标修复信息通过译码模块确定多个第一存储器中出现故障的第一存储器,并将出现故障的第一存储器进行坏点隔离,然后启用备用存储器,以避免目标处理单元使用出现故障的第一存储器,导致系统异常。
例如,如图12所示,图12为本发明实施例提供的一种系统上电恢复流程示意图,图中当检测到模块(即处理单元)需要工作时,首先为模块上电,然后判断是否为开机场景,若否,则处理单元直接从目标存储区域中获取本地的目标修复信息输入SRAM内,在模块完成配置信息恢复后开始正常工作;若是,则可从片上存储模块获取自身的目标修复信息,并将目标修复信息串行输入到模块的各SRAM内,在模块完成配置后开始正常工作,同时需要配置信息保存,将目标修复信息存储在处理单元内部。
通过本发明实施例,由于在目标处理单元的内部增加或划分一个目标存储区域,专门用于存储目标处理单元的目标修复信息,且该目标存储区域在目标处理单元处于空闲下电状态时依旧处于上电状态,以使得目标存储区域存储的目标修复信息在目标处理单元处于空闲下电时不丢失。因此,在该目标处理单元重新上电时,目标处理单元可以直接基于内部存储的目标修复信息进行第一存储器的坏点修复,而无需再从目标处理单元外部获取该目标修复信息,减少了目标处理单元进行存储器坏点修复的时间,从而目标处理单元能够更加快速地恢复正常工作,缩短了系统上电恢复时间。
上述详细阐述了本发明实施例的片上系统,下面提供了本发明实施例的相关方法。
请参见图13,图13是本发明实施例提供的一种系统上电恢复方法的流程图,该方法适用于上述图2中的一种片上系统以及包含所述片上系统的设备。该方法可以包括以下步骤S301-步骤S302。所述片上系统包括N个处理单元,所述N个处理单元中的目标处理单元包括多个第一存储器,所述多个第一存储器均为易失性存储器,所述目标处理单元为所述N个处理单元中的任意一个处理单元,N、M为大于0的整数。详细描述如下:
步骤S301:通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,所述目标修复信息为所述多个第一存储器中出现故障的第一存储器的信息。
步骤S302:当所述目标处理单元从第一模式切换到第二模式后,通过所述目标处理单元从所述目标存储区域读取所述目标修复信息,并对所述多个第一存储器进行坏点修复。
具体地,其中,在所述第一模式下,所述目标处理单元中除所述目标存储区域以外的部分或全部部件处于下电状态,且所述目标存储区域处于上电状态;在所述第二模式下,所述目标处理单元整体处于上电状态。
在一种可能的实现方式中,所述片上系统还包括第二存储器,所述第二存储器为非易失性存储器;所述方法还包括:通过所述第二存储器存储所述N个处理单元中每个处理单元的所述目标修复信息。
在一种可能的实现方式中,所述片上系统还包括第三存储器,所述第三存储器为易失性存储器;当所述片上系统从下电状态切换为上电状态时,所述方法还包括:通过所述第三存储器从所述第二存储器读取所述目标处理单元的所述目标修复信息并进行存储。
在一种可能的实现方式中,所述方法还包括:若所述目标存储区域中不存在所述目标修复信息,则通过所述目标处理单元从所述第三存储器获取所述目标处理单元的所述目标修复信息,并存储至内部的所述目标存储区域中。
在一种可能的实现方式中,所述目标处理单元中还包括第一寄存器;所述通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,包括:将所述第一寄存器作为所述目标存储区域存储所述目标修复信息。
在一种可能的实现方式中,所述第一寄存器通过专用电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分或全部部件处于下电状态时,所述第一寄存器处于上电状态,或者所述第一寄存器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分部件处于下电状态时,所述第一寄存器处于上电状态。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述方法还包括:通过所述目标处理单元中的所述译码模块从所述第一寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
在一种可能的实现方式中,所述通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,包括:将所述多个第一存储器作为所述目标存储区域存储所述目标修复信息,所述多个第一存储器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述多个第一存储器以外的部分部件处于下电状态时,所述多个第一存储器处于上电状态。
在一种可能的实现方式中,所述目标处理单元中包括第二寄存器,所述方法还包括:当所述目标处理单元从所述第一模式切换到所述第二模式后,通过所述第二寄存器从所述多个第一存储器中获取所述目标修复信息并进行存储。
在一种可能的实现方式中,所述目标处理单元中还包括译码模块,所述方法还包括;通过所述目标处理单元中的所述译码模块从所述第二寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
在一种可能的实现方式中,所述目标处理单元还包括备用存储器;所述对所述多个第一存储器进行坏点修复,包括:基于所述目标修复信息,通过所述译码模块确定所述出现故障的第一存储器;对所述出现故障的第一存储器进行坏点隔离,并启用所述备用存储器。
通过本发明实施例提供的方法,可以缩短处理单元上电后的恢复时间。
本申请提供了一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种系统上电恢复方法。
本申请实施例提供一种电子设备,该电子设备中包括处理器,处理器被配置为支持该电子设备实现上述任意一种系统上电恢复方法中相应的功能。该电子设备还可以包括存储器,存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。该电子设备还可以包括通信接口,用于该电子设备与其他设备或通信网络通信。
本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持电子设备实现上述所涉及的功能,例如,生成或处理上述一种系统上电恢复方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存电子设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
本申请提供一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机执行时,使得所述计算机执行上述一种系统上电恢复方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器(Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (24)

1.一种片上系统,其特征在于,所述片上系统包括N个处理单元,所述N个处理单元中的目标处理单元包括多个第一存储器,所述多个第一存储器均为易失性存储器,所述目标处理单元为所述N个处理单元中的任意一个处理单元,N为大于0的整数,其中,
所述目标处理单元用于:
在内部的目标存储区域中存储目标修复信息,所述目标修复信息为所述多个第一存储器中出现故障的第一存储器的信息;
当所述目标处理单元从第一模式切换到第二模式后,从所述目标存储区域读取所述目标修复信息,并对所述多个第一存储器进行坏点修复;其中,在所述第一模式下,所述目标处理单元中除所述目标存储区域以外的部分或全部部件处于下电状态,且所述目标存储区域处于上电状态;在所述第二模式下,所述目标处理单元整体处于上电状态。
2.如权利要求1所述系统,其特征在于,所述片上系统还包括第二存储器,所述第二存储器为非易失性存储器;所述第二存储器用于:
存储所述N个处理单元中每个处理单元的所述目标修复信息。
3.如权利要求2所述的系统,其特征在于,所述片上系统还包括第三存储器,所述第三存储器为易失性存储器;当所述片上系统从下电状态切换为上电状态时,所述第三存储器用于:
从所述第二存储器读取所述目标处理单元的所述目标修复信息并进行存储。
4.如权利要求3所述的系统,其特征在于,所述目标处理单元还用于:
若所述目标存储区域中不存在所述目标修复信息,则从所述第三存储器获取所述目标处理单元的所述目标修复信息,并存储至内部的所述目标存储区域中。
5.如权利要求1-4任意一项所述系统,其特征在于,所述目标处理单元中还包括第一寄存器;所述目标处理单元具体用于:
将所述第一寄存器作为所述目标存储区域存储所述目标修复信息。
6.如权利要求5所述系统,其特征在于,所述第一寄存器通过专用电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分或全部部件处于下电状态时,所述第一寄存器处于上电状态,或者所述第一寄存器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分部件处于下电状态时,所述第一寄存器处于上电状态。
7.如权利要求5或6所述的系统,其特征在于,所述目标处理单元中还包括译码模块,所述目标处理单元还用于:
通过所述译码模块从所述第一寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
8.如权利要求1-4任意一项所述系统,其特征在于,所述目标处理单元具体用于:
将所述多个第一存储器作为所述目标存储区域存储所述目标修复信息,所述多个第一存储器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述多个第一存储器以外的部分部件处于下电状态时,所述多个第一存储器处于上电状态。
9.如权利要求8所述的系统,其特征在于,所述目标处理单元中包括第二寄存器,所述目标处理单元还用于:
当所述目标处理单元从所述第一模式切换到所述第二模式后,通过所述第二寄存器从所述多个第一存储器中获取所述目标修复信息并进行存储。
10.如权利要求9所述的系统,其特征在于,所述目标处理单元中还包括译码模块,所述目标处理单元还用于:
通过所述译码模块从所述第二寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
11.如权利要求7或10所述的系统,其特征在于,所述目标处理单元还包括备用存储器;所述目标处理单元具体用于:
基于所述目标修复信息,通过所述译码模块确定所述出现故障的第一存储器;
对所述出现故障的第一存储器进行坏点隔离,并启用所述备用存储器。
12.一种系统上电恢复方法,其特征在于,应用于片上系统,所述片上系统包括N个处理单元,所述N个处理单元中的目标处理单元包括多个第一存储器,所述多个第一存储器均为易失性存储器,所述目标处理单元为所述N个处理单元中的任意一个处理单元,N、M为大于0的整数,所述方法包括:
通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,所述目标修复信息为所述多个第一存储器中出现故障的第一存储器的信息;
当所述目标处理单元从第一模式切换到第二模式后,通过所述目标处理单元从所述目标存储区域读取所述目标修复信息,并对所述多个第一存储器进行坏点修复;其中,在所述第一模式下,所述目标处理单元中除所述目标存储区域以外的部分或全部部件处于下电状态,且所述目标存储区域处于上电状态;在所述第二模式下,所述目标处理单元整体处于上电状态。
13.如权利要求12所述方法,其特征在于,所述片上系统还包括第二存储器,所述第二存储器为非易失性存储器;所述方法还包括:
通过所述第二存储器存储所述N个处理单元中每个处理单元的所述目标修复信息。
14.如权利要求13所述的方法,其特征在于,所述片上系统还包括第三存储器,所述第三存储器为易失性存储器;当所述片上系统从下电状态切换为上电状态时,所述方法还包括:
通过所述第三存储器从所述第二存储器读取所述目标处理单元的所述目标修复信息并进行存储。
15.如权利要求14所述的方法,其特征在于,所述方法还包括:
若所述目标存储区域中不存在所述目标修复信息,则通过所述目标处理单元从所述第三存储器获取所述目标处理单元的所述目标修复信息,并存储至内部的所述目标存储区域中。
16.如权利要求12-15任意一项所述方法,其特征在于,所述目标处理单元中还包括第一寄存器;所述通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,包括:
将所述第一寄存器作为所述目标存储区域存储所述目标修复信息。
17.如权利要求16所述方法,其特征在于,所述第一寄存器通过专用电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分或全部部件处于下电状态时,所述第一寄存器处于上电状态,或者所述第一寄存器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述第一寄存器以外的部分部件处于下电状态时,所述第一寄存器处于上电状态。
18.如权利要求16或17所述的方法,其特征在于,所述目标处理单元中还包括译码模块,所述方法还包括:
通过所述目标处理单元中的所述译码模块从所述第一寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
19.如权利要求12-15任意一项所述方法,其特征在于,所述通过所述目标处理单元在内部的目标存储区域中存储目标修复信息,包括:
将所述多个第一存储器作为所述目标存储区域存储所述目标修复信息,所述多个第一存储器通过所述目标处理单元的常开电源域供电使得在所述目标处理单元中除所述多个第一存储器以外的部分部件处于下电状态时,所述多个第一存储器处于上电状态。
20.如权利要求19所述的方法,其特征在于,所述目标处理单元中包括第二寄存器,所述方法还包括:
当所述目标处理单元从所述第一模式切换到所述第二模式后,通过所述第二寄存器从所述多个第一存储器中获取所述目标修复信息并进行存储。
21.如权利要求20所述的方法,其特征在于,所述目标处理单元中还包括译码模块,所述方法还包括;
通过所述目标处理单元中的所述译码模块从所述第二寄存器获取所述目标修复信息,并基于所述目标修复信息对所述多个第一存储器进行译码配置。
22.如权利要求20或21所述的方法,其特征在于,所述目标处理单元还包括备用存储器;所述对所述多个第一存储器进行坏点修复,包括:
基于所述目标修复信息,通过所述译码模块确定所述出现故障的第一存储器;
对所述出现故障的第一存储器进行坏点隔离,并启用所述备用存储器。
23.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述权利要求12-22中任意一项所述的方法。
24.一种计算机程序,其特征在于,所述计算机程序包括指令,当所述计算机程序被计算机或处理器执行时,使得所述计算机或处理器执行如权利要求12-22中任意一项所述的方法。
CN202210519490.0A 2022-05-13 2022-05-13 一种片上系统及相关系统上电恢复方法 Pending CN117093535A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210519490.0A CN117093535A (zh) 2022-05-13 2022-05-13 一种片上系统及相关系统上电恢复方法
PCT/CN2023/093266 WO2023217186A1 (zh) 2022-05-13 2023-05-10 一种片上系统及相关系统上电恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210519490.0A CN117093535A (zh) 2022-05-13 2022-05-13 一种片上系统及相关系统上电恢复方法

Publications (1)

Publication Number Publication Date
CN117093535A true CN117093535A (zh) 2023-11-21

Family

ID=88729711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210519490.0A Pending CN117093535A (zh) 2022-05-13 2022-05-13 一种片上系统及相关系统上电恢复方法

Country Status (2)

Country Link
CN (1) CN117093535A (zh)
WO (1) WO2023217186A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152187B2 (en) * 2003-11-26 2006-12-19 Texas Instruments Incorporated Low-power SRAM E-fuse repair methodology
CN115104084A (zh) * 2020-02-24 2022-09-23 华为技术有限公司 存储器、芯片及存储器的修复信息的保存方法
CN112083791B (zh) * 2020-09-15 2021-09-24 南方电网数字电网研究院有限公司 芯片功耗优化方法、装置、计算机设备和存储介质
KR20220040202A (ko) * 2020-09-23 2022-03-30 삼성전기주식회사 플래쉬리스 ois 드라이버 회로 및 ois 장치
CN113608930B (zh) * 2021-08-24 2023-06-13 厦门紫光展锐科技有限公司 系统芯片和电子设备

Also Published As

Publication number Publication date
WO2023217186A1 (zh) 2023-11-16

Similar Documents

Publication Publication Date Title
US10642685B2 (en) Cache memory and processor system
CN103119554B (zh) 提供平台无关的存储器逻辑
KR101862112B1 (ko) 비휘발성 메모리(nvm) 기술 기반 메모리의 부팅 시간 제로화의 가속화
CN107797642B (zh) 一种备电方法及装置
JP2007172591A (ja) マルチノード・システムにおいてアクティブなプロセッサの数を動的に変更する方法及び構成
US10540232B2 (en) Recovery using programmable logic device
US8832355B2 (en) Storage device, storage controlling device, and storage controlling method
JP2005158061A (ja) メモリの回復方法及び回復能力を有するメモリデバイス
US9652259B2 (en) Apparatus and method for managing register information in a processing system
US8665626B2 (en) Semiconductor integrated circuit and control method
CN103475514A (zh) 无bmc的节点、集群系统及bios修复和升级方法
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
CN117093535A (zh) 一种片上系统及相关系统上电恢复方法
CN215910890U (zh) 一种众核计算电路和堆叠芯片
CN109783266B (zh) 一种面向空间计算机引导区的多模冗余与数据维护系统
CN112346556A (zh) 提高芯片低功耗效率的方法、装置、计算机设备及介质
JP6385322B2 (ja) 情報処理装置
CN117037884B (zh) 在存储阵列中使用的熔断器单元及其处理方法、存储阵列
CN114816023B (zh) 服务器备电功能优化方法、系统、终端及存储介质
CN114116306B (zh) 磁盘阵列掉电下的数据备份方法、系统、终端及存储介质
CN115714714B (zh) 管理网络智能切换系统、方法、计算机设备和存储介质
CN113360318B (zh) 一种资料备份方法、系统、存储介质及设备
CN117827554A (zh) 测试方法、装置、计算机设备和存储介质
CN113515405A (zh) 地址管理方法和装置
KR20230166812A (ko) 배터리 모듈이 포함된 스토리지 시스템 및 그 동작 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication