Search

US-20260125004-A1 - SYSTEMS AND METHODS FOR REDUNDANCY IN RUNTIME VARIANTS

US20260125004A1US 20260125004 A1US20260125004 A1US 20260125004A1US-20260125004-A1

Abstract

Electric vehicles, methods of operating electric vehicles, and methods of manufacturing electric vehicles are disclosed. A system includes a module configured to control an aspect of an electric vehicle, and a main controller including a variant manager. The variant manager is configured to retrieve redundant sets of runtime variants from respective memory storage locations, wherein a set of runtime variants affects how the module controls the aspect of the electric vehicle, determine an error-free set of runtime variants based on comparing the redundant sets of runtime variants, and apply the error-free set of runtime variants to the module. The electric vehicle may include a battery, and the module may be a battery management system configured to control the battery. Comparing the redundant sets of runtime variants may include performing a cyclic redundancy check.

Inventors

  • Tejas Abhay Chafekar
  • Justin William Vaughn Jones

Assignees

  • RIVIAN IP HOLDINGS, LLC

Dates

Publication Date
20260507
Application Date
20250415

Claims (20)

  1. 1 . A system comprising: a module configured to control an aspect of an electric vehicle (EV); and a main controller comprising a variant manager configured to: retrieve redundant sets of runtime variants from respective memory storage locations, wherein a set of runtime variants affects how the module controls the aspect of the EV; determine an error-free set of runtime variants based on comparing the redundant sets of runtime variants; and apply the error-free set of runtime variants to the module.
  2. 2 . The system of claim 1 , further comprising: a battery, wherein the module comprises a battery management system configured to control the battery.
  3. 3 . The system of claim 1 , wherein comparing the redundant sets of runtime variants comprises performing a cyclic redundancy check on the redundant sets of runtime variants.
  4. 4 . The system of claim 1 , wherein the main controller is configured to boot the module into an initial state prior to applying the error-free set of runtime variants, wherein the initial state provides for limited operation of the module.
  5. 5 . The system of claim 1 , wherein the respective memory storage locations comprise at least one location at the module and at least one other location at the main controller.
  6. 6 . The system of claim 1 , further comprising a communications bus to communicatively couple the module to the main controller.
  7. 7 . The system of claim 1 , wherein the main controller comprises a lock-step-enabled CPU core configured to execute the variant manager.
  8. 8 . The system of claim 1 , wherein the variant manager is further configured to request the error-free set of runtime variants from a cloud-connected storage facility in response to determining that the retrieved redundant sets of runtime variants do not comprise the error-free set of runtime variants.
  9. 9 . A method of operating an electric vehicle (EV), the method comprising: retrieving redundant sets of runtime variants from respective memory storage locations of the EV, wherein a set of runtime variants affects how a module controls an aspect of the EV; determining an error-free set of runtime variants based on comparing the redundant sets of runtime variants; and applying the error-free set of runtime variants to the module to control the aspect of the EV.
  10. 10 . The method of claim 9 , wherein the EV comprises a battery, and the module comprises a battery management system configured to control the battery.
  11. 11 . The method of claim 9 , wherein comparing the redundant sets of runtime variants comprises performing a cyclic redundancy check on the redundant sets of runtime variants.
  12. 12 . The method of claim 9 , further comprising booting the module into an initial state prior to applying the error-free set of runtime variants, wherein the initial state provides for limited operation of the module.
  13. 13 . The method of claim 9 , wherein the respective memory storage locations comprise at least one location at the module and at least one other location at a main controller.
  14. 14 . The method of claim 9 , wherein applying the error-free set of runtime variants to the module comprises communicating, over a communications bus, the error-free set of runtime variants to the module from a main controller comprising a variant manager.
  15. 15 . The method of claim 9 , wherein the retrieving, determining, and applying are executed by a lock-step-enabled CPU core configured to execute a variant manager application.
  16. 16 . The method of claim 9 further comprising requesting the error-free set of runtime variants from a cloud-connected storage facility in response to determining that the retrieved redundant sets of runtime variants do not comprise the error-free set of runtime variants.
  17. 17 . A method of manufacturing an electric vehicle (EV), the method comprising: loading a variant manager onto a first component of the EV; and causing the variant manager to: redundantly write at least one set of runtime variants to multiple respective locations of a second component of the EV; and determine whether each set of runtime variants stored at the multiple respective locations of the second component of the EV are in agreement.
  18. 18 . The method of claim 17 , wherein the first component comprises a main controller board of the EV and second component comprises a battery pack of the EV.
  19. 19 . The method of claim 18 , wherein causing the variant manager to redundantly write the at least one set of runtime variants comprises: writing the at least one set of runtime variants to the first component of the EV, and causing the first component of the EV to broadcast the at least one set of runtime variants to the multiple respective locations of the second component of the EV.
  20. 20 . The method of claim 17 , further comprising, in response to determining that each set of runtime variants stored at the multiple respective locations of the second component of the EV are in agreement, causing the variant manager to configure a core application of the EV based on the at least one set of runtime variants.

Description

CROSS REFERENCE TO RELATED APPLICATIONS This disclosure claims the benefit of copending, commonly-assigned U.S. Provisional Patent Application No. 63/717,191, filed Nov. 6, 2024, which is hereby incorporated by reference herein in its entirety. INTRODUCTION The present disclosure is directed to systems and methods for redundancy in runtime variants. More specifically, the present disclosure is directed to redundantly storing sets of runtime variant settings in multiple hardware locations and to verifying the accuracy of selected runtime variant settings based on comparison of the redundant values stored across the multiple hardware locations. SUMMARY Software systems may rely on variant-based configurations for interoperability. For example, a core application may be configurable to run with multiple sets of calibration settings. For a given core application, a particular set of calibration settings may be selected at various times, including when building a system relying on the application (e.g., a build-time variation) or when powering on (e.g., waking from a sleep state) a system relying on the application (e.g., a run-time variation). However, if a set of calibration settings is stored in memory, and any aspect of that memory gets corrupted, then the core application may load the corrupted calibration settings, which could affect the performance of the system relying on the core application. In accordance with some embodiments of this disclosure, an electric vehicle (EV) is configured to operate a battery management system (BMS) and other electronic control units (ECUs) of the EV (any of which may be referred to as a module) using at least one core application and at least one set of calibration settings. The EV is configured to store the set of calibration settings in multiple locations. When booting the core application, installing the core application, or otherwise instantiating the set of calibration settings, the EV is configured to check the multiple locations to confirm that the core application applies the set of calibration settings without any errors. For example, the multiple locations may include any two or more of: internal flash (e.g., DFLASH) memory of a CPU; external flash (e.g., EEPROM) memory; memory of a telematics control module (TCM); or memory of an ECU. For another example, the multiple locations may include at least two discrete locations on any one or more of the aforementioned locations. For another example, the multiple locations may include at least one remote location (e.g., a cloud server communicatively coupled to the EV). For example, confirming that the core application applies the set of calibration settings without any errors may include reading at least two sets of settings stored at respective locations and implementing an error-checking mechanism, including a cyclic redundancy check (CRC) or evaluation of a checksum. For another example, confirming that the core application applies the set of calibration settings without any errors may include reading at least three sets of settings stored at respective locations and implementing a voting-based mechanism (e.g., to apply whichever setting is returned by the greatest number of sets of settings). In accordance with some embodiments of this disclosure, electric vehicles, methods of operating electric vehicles, and methods of manufacturing electric vehicles are disclosed. An electric vehicle includes a module configured to control an aspect of the EV, and a main controller including a variant manager. The variant manager is configured to retrieve redundant sets of runtime variants from respective memory storage locations, wherein a set of runtime variants affects how the module controls the aspect of the EV, determine an error-free set of runtime variants based on comparing the redundant sets of runtime variants, and apply the error-free set of runtime variants to the module. BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects and advantages of the disclosure will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which: FIG. 1 shows an electric vehicle having a main controller and memory, where the memory stores runtime variants at multiple locations and the main controller is configured to check the runtime variants; FIG. 2 is an illustrative flowchart of a method for providing redundancy in runtime variant-based calibrations; and FIG. 3 is an illustrative flowchart of a method for manufacturing an electric vehicle with redundancy in runtime variant-based calibrations. DETAILED DESCRIPTION An electric vehicle (EV) typically includes an electric motor system. The electric motor system may include a battery pack and a battery management system (BMS). The BMS may be configured based on details of the battery pack, such as the battery chemistry, cooling architecture (e