IP Library › Granted Patent US 12,265,440
Granted Patent B2
US 12,265,440 · App. 18/455,008 · Granted Apr 1, 2025

System, apparatus and method for loose lock-step redundancy power management

Inventors: Efraim Rotem (Haifa, IL); Eliezer Weissmann (Haifa, IL); Doron Rajwan (Rishon Le-Zion, IL); Nir Rosenzweig (Givat Ella, IL); Yoni Aizik (Haifa, IL)
Assignee: Intel Corporation
G06F1/324G06F1/3296
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,265,440
App. No.
18/455,008
Granted
Apr 1, 2025
Kind
B2
Abstract

A processor includes a plurality of cores, at least two of which may execute redundantly, a configuration register to store a first synchronization domain indicator to indicate that a first core and a second core are associated with a first synchronization domain, and a power controller having a synchronization circuit to cause a dynamic adjustment to a frequency of at least one of the first and second cores to cause these cores to operate at a common frequency, based at least in part on the first synchronization domain indicator.

Claims (43)

1. An apparatus comprising:

a first core comprising:

a fetch circuit to fetch instructions;

a decode circuit to decode the instructions;

an execution circuit to execute arithmetic and logic operations;

a second core comprising:

a second fetch circuit to fetch instructions;

a second decode circuit to decode the instructions;

a second execution circuit to execute arithmetic and logic operations,

wherein in a first mode the first core and the second core are to operate at a common frequency, and in a second mode the first core and the second core are to operate at independent frequencies;

memory to store a first indicator, the first indicator to have a first value to indicate that the first core and a second core are to execute in the first mode to redundantly execute a first task at the common frequency; and

a controller to cause the first core and the second core to operate in the second mode at the independent frequencies, and thereafter operate in the first mode at the common frequency to redundantly execute the first task based at least in part on the first value of the first indicator.

2. The apparatus of claim 1 , further comprising a cluster comprising the first core and the second core.

3. The apparatus of claim 2 , further comprising a third core, wherein the controller is to cause the third core to execute a second task different than the first task.

4. The apparatus of claim 3 , wherein the third core is heterogeneous to the first core.

5. The apparatus of claim 3 , wherein the controller is to cause the third core to execute the second task while the first core and the second core execute the first task redundantly.

6. The apparatus of claim 1 , wherein the controller is to cause the first core and the second core to operate at the independent frequencies based at least in part on a second value of the first indicator.

7. The apparatus of claim 1 , wherein the apparatus is to perform a functional safety application in the first mode.

8. The apparatus of claim 1 , wherein the controller comprises a power controller.

9. The apparatus of claim 8 , wherein the power controller is to cause at least the first core to perform dynamic frequency scaling.

10. The apparatus of claim 8 , wherein the power controller is to cause at least the first core to enter into a retention mode in which a retention voltage is provided to at least the first core.

11. The apparatus of claim 1 , wherein the first core is to execute main code and the second core is to execute checker code.

12. The apparatus of claim 1 , further comprising a redundancy circuit to compare a first result of the redundant execution of the first task on the first core to a second result of the redundant execution of the first task on the second core, and to raise an error if the first result does not at least substantially match the second result.

13. The apparatus of claim 1 , wherein the controller is to set the common frequency to be a highest of the independent frequencies.

14. A system on chip comprising:

a central processing circuit (CPU) comprising:

a first core;

a second core, wherein the first core and the second core are to execute a first task redundantly;

a graphics processing circuit (GPU) coupled to the CPU, the GPU comprising at least one graphics engine to perform graphics processing;

memory to store a first indicator, the first indicator to have a first value to indicate that the first core and the second core are to redundantly execute the first task; and

a controller to cause the first core and the second core to operate at independent frequencies, and thereafter to operate at a common frequency to redundantly execute the first task based at least in part on the first value of the first indicator.

15. The system on chip of claim 14 , wherein the controller is to cause the first core and the second core to operate at the independent frequencies based at least in part on a second value of the first indicator.

16. The system on chip of claim 14 , wherein the second core is to redundantly execute the first task within 1 to 10,000 execution cycles of the first task by the first core.

17. The system on chip of claim 14 , further comprising a redundancy circuit to compare a first result of the redundant execution of the first task on the first core to a second result of the redundant execution of the first task on the second core.

18. An apparatus comprising:

a first core;

a second core;

a storage to store a first indicator, wherein the first indicator is to indicate that the first core and the second core are to redundantly execute a first task when the first indicator has a first value; and

a controller coupled to the storage, wherein the controller is to cause the first core and the second core to operate with independent core operation and thereafter to operate with redundancy in lockstep operation,

wherein, in the redundancy in lockstep operation the first core and the second core are to operate at a common frequency to redundantly execute the first task based at least in part on the first value of the first indicator, and

wherein, in the independent core operation the first core and the second core are to operate at independent frequencies based at least in part on a second value of the first indicator.

19. The apparatus of claim 18 , wherein the controller is to cause the first core and the second core to operate at the common frequency that is a highest of the independent frequencies.

20. The apparatus of claim 18 , further comprising a security processor.

Continuity (6)
Continuation 17824984 · May 26, 2022
Continuation 17210759 · Mar 24, 2021
Continuation 16663645 · Oct 25, 2019
Continuation 16546441 · Aug 21, 2019
Continuation 15635307 · Jun 28, 2017
Related Publication 20230393641A1 · Dec 7, 2023
References Cited (114)
US 5163153A · Cole et al. · 1992 [cited by applicant]
US 5522087A · Hsiang · 1996 [cited by applicant]
US 5590341A · Matter · 1996 [cited by applicant]
US 5621250A · Kim · 1997 [cited by applicant]
US 5931950A · Hsu · 1999 [cited by applicant]
US 6748546B1 · Mirov et al. · 2004 [cited by applicant]
US 6792392B1 · Knight · 2004 [cited by applicant]
US 6823516B1 · Cooper · 2004 [cited by applicant]
US 6829713B2 · Cooper et al. · 2004 [cited by applicant]
US 6996728B2 · Singh · 2006 [cited by applicant]
US 7010708B2 · Ma · 2006 [cited by applicant]
US 7043649B2 · Terrell · 2006 [cited by applicant]
US 7055060B2 · Nguyen et al. · 2006 [cited by applicant]
US 7093147B2 · Farkas et al. · 2006 [cited by applicant]
US 7111179B1 · Girson et al. · 2006 [cited by applicant]
US 7194643B2 · Gonzalez et al. · 2007 [cited by applicant]
US 7272730B1 · Acquaviva et al. · 2007 [cited by applicant]
US 7296181B2 · Safford et al. · 2007 [cited by applicant]
US 7412615B2 · Yokota et al. · 2008 [cited by applicant]
US 7434073B2 · Magklis · 2008 [cited by applicant]
US 7437270B2 · Song et al. · 2008 [cited by applicant]
US 7454632B2 · Kardach et al. · 2008 [cited by applicant]
US 7529956B2 · Stufflebeam · 2009 [cited by applicant]
US 7539885B2 · Ma · 2009 [cited by applicant]
US 7730340B2 · Hu et al. · 2010 [cited by applicant]
US 10379596B2 · Weissmann et al. · 2019 [cited by applicant]
US 10990154B2 · Rotem et al. · 2021 [cited by applicant]
US 10990155B2 · Rotem et al. · 2021 [cited by applicant]
US 20010044909A1 · Oh et al. · 2001 [cited by applicant]
US 20020194509A1 · Plante et al. · 2002 [cited by applicant]
US 20030061383A1 · Zilka · 2003 [cited by applicant]
US 20040064752A1 · Kazachinsky et al. · 2004 [cited by applicant]
US 20040098560A1 · Storvik et al. · 2004 [cited by applicant]
US 20040139356A1 · Ma · 2004 [cited by applicant]
US 20040268166A1 · Farkas et al. · 2004 [cited by applicant]
US 20050022038A1 · Kaushik et al. · 2005 [cited by applicant]
US 20050033881A1 · Yao · 2005 [cited by applicant]
US 20050132238A1 · Nanja · 2005 [cited by applicant]
US 20060050670A1 · Hillyard et al. · 2006 [cited by applicant]
US 20060053326A1 · Naveh · 2006 [cited by applicant]
US 20060059286A1 · Bertone et al. · 2006 [cited by applicant]
US 20060069936A1 · Lint et al. · 2006 [cited by applicant]
US 20060117202A1 · Magklis et al. · 2006 [cited by applicant]
US 20060184287A1 · Belady et al. · 2006 [cited by applicant]
US 20070005995A1 · Kardach et al. · 2007 [cited by applicant]
US 20070016817A1 · Albonesi et al. · 2007 [cited by applicant]
US 20070022348A1 · Racunas et al. · 2007 [cited by applicant]
US 20070079294A1 · Knight · 2007 [cited by applicant]
US 20070106827A1 · Boatright et al. · 2007 [cited by applicant]
US 20070156992A1 · Jahagirdar · 2007 [cited by applicant]
US 20070168712A1 · Racunas et al. · 2007 [cited by applicant]
US 20070214342A1 · Newburn · 2007 [cited by applicant]
US 20070239398A1 · Song et al. · 2007 [cited by applicant]
US 20070245163A1 · Lu et al. · 2007 [cited by applicant]
US 20080028240A1 · Arai et al. · 2008 [cited by applicant]
US 20080136397A1 · Gunther · 2008 [cited by applicant]
US 20080250260A1 · Tomita · 2008 [cited by applicant]
US 20090006871A1 · Liu et al. · 2009 [cited by applicant]
US 20090150695A1 · Song et al. · 2009 [cited by applicant]
US 20090150696A1 · Song et al. · 2009 [cited by applicant]
US 20090158061A1 · Schmitz et al. · 2009 [cited by applicant]
US 20090158067A1 · Bodas et al. · 2009 [cited by applicant]
US 20090172375A1 · Rotem et al. · 2009 [cited by applicant]
US 20090172428A1 · Lee · 2009 [cited by applicant]
US 20090235105A1 · Branover et al. · 2009 [cited by applicant]
US 20100115309A1 · Carvalho et al. · 2010 [cited by applicant]
US 20100146513A1 · Song · 2010 [cited by applicant]
US 20100191997A1 · Dodeja et al. · 2010 [cited by applicant]
US 20110154090A1 · Dixon et al. · 2011 [cited by applicant]
US 20120079290A1 · Kumar · 2012 [cited by applicant]
US 20120246506A1 · Knight · 2012 [cited by applicant]
US 20130061064A1 · Ananthakrishnan et al. · 2013 [cited by applicant]
US 20130080803A1 · Ananthakrishnan et al. · 2013 [cited by applicant]
US 20130080804A1 · Ananthakrishnan et al. · 2013 [cited by applicant]
US 20130111120A1 · Ananthakrishnan et al. · 2013 [cited by applicant]
US 20130111121A1 · Ananthakrishnan et al. · 2013 [cited by applicant]
US 20130111226A1 · Ananthakrishnan et al. · 2013 [cited by applicant]
US 20130111236A1 · Ananthakrishnan et al. · 2013 [cited by applicant]
US 20130346774A1 · Bhandaru et al. · 2013 [cited by applicant]
US 20140068290A1 · Bhandaru et al. · 2014 [cited by applicant]
US 20140173247A1 · Litovtcherko et al. · 2014 [cited by applicant]
US 20140195829A1 · Bhandaru et al. · 2014 [cited by applicant]
US 20140208141A1 · Bhandaru et al. · 2014 [cited by applicant]
US 20150067310A1 · Henry · 2015 [cited by applicant]
US 20150248138A1 · Feero · 2015 [cited by applicant]
US 20200057481A1 · Rotem et al. · 2020 [cited by applicant]
EP 1282030A1 · 2003 [cited by applicant]
Non-Final Office Action issued Feb. 13, 2019 for U.S. Appl. No. 15/635,307, 11 pages. [cited by applicant]
Notice of Allowance issued May 22, 2019 for U.S. Appl. No. 15/635,307, 11 pages. [cited by applicant]
Non-Final Office Action issued Sep. 1, 2020 for U.S. Appl. No. 16/546,441, 19 pages. [cited by applicant]
Notice of Allowance issued Dec. 9, 2020 for U.S. Appl. No. 16/546,441, 8 pages. [cited by applicant]
Non-Final Office Action issued Sep. 23, 2020 for U.S. Appl. No. 16/663,645, 17 pages. [cited by applicant]
Notice of Allowance issued Jan. 11, 2021 for U.S. Appl. No. 16/663,645, 9 pages. [cited by applicant]
Notice of Allowance issued Apr. 1, 2022 for U.S. Appl. No. 17/210,759, 8 pages. [cited by applicant]
Notice of Allowance issued Apr. 18, 2023 for U.S. Appl. No. 17/824,984, 10 pages. [cited by applicant]
Intel Developer Forum, IDF2010, Opher Kahn, et al., “Intel Next Generation Microarchitecture Codename Sandy Bridge: New Processor Innovations,” Sep. 13, 2010, 58 pages. [cited by applicant]
SPEC-Power and Performance, Design Overview V1.10, Standard Performance Information Corp., Oct. 21, 2008, 6 pages. [cited by applicant]
Intel Technology Journal, “Power and Thermal Management in the Intel Core Duo Processor,” May 15, 2006, pp. 109-122. [cited by applicant]
Anoop Iyer, et al., “Power and Performance Evaluation of Globally Asynchronous Locally Synchronous Processors,” 2002, pp. 1-11. [cited by applicant]
Greg Semeraro, et al., “Hiding Synchronization Delays in a GALS Processor Microarchitecture,” 2004, pp. 1-13. [cited by applicant]
Joan-Manuel Parcerisa, et al., “Efficient Interconnects for Clustered Microarchitectures,” 2002, pp. 1-10. [cited by applicant]
Grigorios Magklis, et al., “Profile-Based Dynamic Voltage and Frequency Scalling for a Multiple Clock Domain Microprocessor,” 2003, pp. 1-12. [cited by applicant]
Greg Semeraro, et al., “Dynamic Frequency and Voltage Control for a Multiple Clock Domain Architecture,” 2002, pp. 1-12. [cited by applicant]
Greg Semeraro, “Energy-Efficient Processor Design Using Multiple Clock Domains with Dynamic Voltge and Frequency Scaling,” 2002, pp. 29-40. [cited by applicant]
Diana Marculescu, “Application Adaptive Energy Efficient Clustered Architecture,” 2004, pp. 344-349. [cited by applicant]
L. Benini, et al., “System-Level Dynamic Power Management,” 1999, pp. 23-31. [cited by applicant]
Ravindra Jejurikar, et al., “Leakage Aware Dynamic Voltage Scaling For Real-Time Embedded Systems,” 2004, pp. 275-280. [cited by applicant]
Ravindra Jejurikar, et al., “Dynamic Slack Reclamation With Procrastination Scheduling in Real-Time Embedded Systems,”2005, pp. 13-17. [cited by applicant]
R. Todling, et al., “Some Strategies For Kalman Filtering and Smoothing,” 1996, pp. 1-21. [cited by applicant]
R.E. Kalman, “A New Approach to Linear Filtering and Prediction Problems,” 1960, pp. 1-12. [cited by applicant]
Intel Corporation, “Intel 64 and IA-32 Architectures Software Developer's Manual,” vol. 38: System Programming Guide, Part 2, Apr. 2016, Chapter 14 Power and Thermal Management (14.1-14.9.5), 39 pages. [cited by applicant]
Intel Corporation, “Intel 64 and IA-32 Architectures Software Developer's Manual,” vol. 3: (3A, 3B & 3C): System Programming Guide, Feb. 2014, Chapter 14 Power and Thermal Management (14.1-14.9.5), 44 pages. [cited by applicant]
International Searching Authority, “Notification of Transmittal of the International Search Report and the Written Opinon of the International Seasrching Authoirty,” mailed Sep. 5, 2018, in International Application No.… [cited by applicant]
M. Baumeister, Using Decoupled Parallel Mode for Safety Applications, Freescale Semiconductor, Doc MP564XLWP, Rev. 0, 2009, pp. 1-18. [cited by applicant]