IP Library Granted Patent US 12,271,259
Granted Patent B2
US 12,271,259 · App. 18/114,963 · Granted Apr 8, 2025

Out-of-bounds recovery circuit

Inventors: Ashish Darbari (Abbots Langley, GB); Iain Singleton (Hemel Hempstead, GB)
Assignee: Imagination Technologies Limited
G06F11/0793G06F11/073G06F11/0736G06F11/0754G06F21/52G06F30/30G06F30/392G06F2115/10G06F2117/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,271,259
App. No.
18/114,963
Granted
Apr 8, 2025
Kind
B2
Abstract

Out-of-bounds recovery circuits configured to detect an out-of-bounds violation in an electronic device, and cause the electronic device to transition to a predetermined safe state when an out-of-bounds violation is detected. The out-of-bounds recovery circuits include detection logic configured to detect that an out-of-bounds violation has occurred when a processing element of the electronic device has fetched an instruction from an unallowable memory address range for the current operating state of the electronic device; and transition logic configured to cause the electronic device to transition to a predetermined safe state when an out-of-bounds violation has been detected by the detection logic.

Claims (27)

1. An out-of-bounds recovery circuit for an electronic device, the out-of-bounds recovery circuit comprising:

detection logic configured to:

monitor one or more control and/or data signals of the electronic device; and

detect an out-of-bounds violation in the electronic device, when the detection logic determines, based on the one or more control and/or data signals of the electronic device, a processing element of the electronic device has fetched an instruction from a non-allowable memory address for a current operating state of the electronic device; and

transition logic configured to, in response to the detection logic detecting an out-of-bounds violation, cause the electronic device to transition to a predetermined safe state by (i) raising an interrupt, (ii) disabling one or more valid signals of the electronic device, and (iii) setting a current state of the processing element to an idle state.

2. The out-of-bounds recovery circuit of claim 1 , wherein the one or more valid signals comprises a signal that indicates whether a program counter of the processing element has valid data and safe data.

3. The out-of-bounds recovery circuit of claim 2 , wherein, when the detection logic has not detected an out-of-bounds violation, the signal that indicates whether the program counter has valid data and safe data is set to a signal that indicates whether the program counter comprises valid data.

4. The out-of-bounds recovery circuit of claim 1 , wherein the one or more valid signals comprises a signal that controls communication to a domain of the electronic device.

5. The out-of-bounds recovery circuit of claim 1 , wherein the one or more valid signals comprises a signal that controls data to a network on chip fabric.

6. The out-of-bounds recovery circuit of claim 1 , wherein the transition logic is further configured to transition the electronic device to the safe state by disabling execution of external programs.

7. The out-of-bounds recovery circuit of claim 1 , wherein raising an interrupt comprises setting an interrupt line to a predetermined value.

8. The out-of-bounds recovery circuit of claim 1 , wherein the one or more control and/or data signals comprises a signal indicating a current value of a program counter of the processing element, and the detection logic is configured to determine that the processing element has fetched an instruction from a non-allowable memory address for the current operating state of the electronic device when the current value of the program counter does not fall within at least one allowable memory address range for the current operating state of the electronic device.

9. The out-of-bounds recovery circuit of claim 1 , wherein the current operating state is a boot operating state in which the electronic device executes boot firmware.

10. The out-of-bounds recovery circuit of claim 1 , wherein the electronic device is operable in one or more operating states and each operating state is associated with one or more allowable memory address ranges.

11. The out-of-bounds recovery circuit of claim 10 , wherein the detection logic comprises address range generator logic configured to identify the one or more allowable memory address ranges associated with each of the one or more operating states.

12. The out-of-bounds recovery circuit of claim 10 , wherein the electronic device is operable in a boot operating state and a normal operating state, and the one or more control and/or data signals comprises a signal indicating whether a power on sequence is complete.

13. The out-of-bounds recovery circuit of claim 12 , wherein the detection logic is configured to determine that the electronic device is in the boot operating state when the power on sequence is not complete and determine that the electronic device is in the normal operating state when the power on sequence is complete.

14. The out-of-bounds recovery circuit of claim 1 , wherein the detection logic comprises an out-of-bounds violation detected register, and the detection logic is configured to, in response to detecting an out-of-bounds violation, set the out-of-bounds violation detected register; and the transition logic is configured to determine that the detection logic has detected an out-of-bounds violation based on the out-of-bounds violation detected register.

15. The out-of-bounds recovery circuit of claim 1 , wherein the detection logic is configured to, in response to detecting an out-of-bounds violation, generate a signal indicating that the detection logic has detected an out-of-bounds violation, and the transition logic is configured to determine whether the detection logic has detected an out-of-bounds violation based on the generated signal.

16. The out-of-bounds recovery circuit of claim 1 , wherein the electronic device is a power management unit.

17. The out-of-bounds recovery circuit of claim 1 , wherein the out-of-bounds recovery circuit is embodied in hardware on an integrated circuit.

18. A method of recovering an electronic device from an out-of-bounds violation, the method comprising:

monitoring, by an out-of-bounds recovery circuit, one or more control and/or data signals of the electronic device;

detecting, by the out-of-bounds recovery circuit, an out-of-bounds violation in the electronic device when it is determined, from the one or more control and/or data signals of the electronic device, that a processing element of the electronic device has fetched an instruction from a non-allowable memory address for a current operating state of the electronic device; and

in response to detecting an out-of-bounds violation, causing, by the out-of-bounds recovery circuit, the electronic device to transition to a predetermined safe state by (i) raising an interrupt, (ii) disabling one or more valid signals of the electronic device, and (iii) setting a current state of the processing element to an idle state.

19. An electronic device comprising a processing element and the out-of-bounds recovery circuit as set forth in claim 1 .

20. A non-transitory computer readable storage medium having stored thereon a computer readable dataset description of an integrated circuit that, when processed in an integrated circuit manufacturing system, causes the integrated circuit manufacturing system to manufacture the out-of-bounds recovery circuit as set forth in claim 1 .

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
Priority Claims (1)
GB 1617530 · Oct 14, 2016 · national
Continuity (4)
Continuation 17338538 · Jun 3, 2021
Continuation 17028253 · Sep 22, 2020
Continuation 15784746 · Oct 16, 2017
Related Publication 20230205621A1 · Jun 29, 2023
References Cited (36)
US 5483649A · Kuznetsov et al. · 1996 [cited by applicant]
US 5497494A · Combs et al. · 1996 [cited by applicant]
US 5513337A · Gillespie et al. · 1996 [cited by applicant]
US 5758174A · Crump et al. · 1998 [cited by applicant]
US 5765001A · Clark et al. · 1998 [cited by applicant]
US 8352694B2 · Heo et al. · 2013 [cited by applicant]
US 8505032B2 · Craddock · 2013 [cited by examiner]
US 8510599B2 · Coneski · 2013 [cited by examiner]
US 8656228B2 · Check · 2014 [cited by examiner]
US 8887091B2 · Yamaji · 2014 [cited by examiner]
US 9032400B1 · Thomas · 2015 [cited by examiner]
US 9354967B1 · Craddock · 2016 [cited by examiner]
US 9672164B2 · McCarthy et al. · 2017 [cited by applicant]
US 10037439B2 · Anderson et al. · 2018 [cited by applicant]
US 10360162B2 · McCarthy et al. · 2019 [cited by applicant]
US 20020051538A1 · Kaplan · 2002 [cited by examiner]
US 20030079158A1 · Tower et al. · 2003 [cited by applicant]
US 20070157011A1 · Kumar · 2007 [cited by examiner]
US 20080244206A1 · Heo et al. · 2008 [cited by applicant]
US 20090271861A1 · Yoshida · 2009 [cited by applicant]
US 20100313061A1 · Huth · 2010 [cited by examiner]
US 20110202739A1 · Grisenthwaite · 2011 [cited by applicant]
US 20120221884A1 · Carter et al. · 2012 [cited by applicant]
US 20130326193A1 · McCarthy et al. · 2013 [cited by applicant]
US 20140032962A1 · Deshpande · 2014 [cited by applicant]
US 20140115389A1 · Fan · 2014 [cited by examiner]
US 20140344543A1 · Huang · 2014 [cited by examiner]
US 20150261547A1 · Seo et al. · 2015 [cited by applicant]
US 20170147356A1 · Kotary · 2017 [cited by examiner]
US 20170220404A1 · Polar Seminario · 2017 [cited by applicant]
US 20180107537A1 · Darbari et al. · 2018 [cited by applicant]
EP 1329787A2 · 2003 [cited by applicant]
EP 1912419A1 · 2008 [cited by applicant]
EP 2669807A2 · 2013 [cited by applicant]
WO 2005116842A2 · 2005 [cited by applicant]
WO 2006093618A2 · 2006 [cited by applicant]