This disclosure generally relates to an automated-vehicle resource management system, and more particularly relates to a system that manages a memory capacity.
It is known to boot the software of a vehicle-system at each key-on event to repair various software related system capacity shortages. As vehicle software becomes more complex, the boot times become longer and may lead to customer dissatisfaction if a particular software feature is not immediately available for use.
In accordance with one embodiment, an automated-vehicle resource management system is provided. The automated-vehicle resource management system includes a memory and a controller. The memory is used to store a program-and-data and is characterized by a capacity. The controller is in communication with the memory. The controller is configured to determine when a vehicle is not-in-use. The controller is further configured to determine a percentage of the capacity that is used by the program-and-data. The controller is further configured to suspend the operation of the system when the vehicle is not-in-use and the percentage is not greater than a threshold. The controller is further configured to re-boot the system when the vehicle is not-in-use and the percentage is greater than the threshold. The controller is further configured to determine a battery-usage value while the system is suspended and schedule a power-down of the system when the battery-usage value is greater than a usage-budget value. The controller is further configured to determine a time-duration from the previous re-boot and schedule the re-boot of the system when the vehicle is not-in-use and the time-duration is greater than a time-threshold.
Further features and advantages will appear more clearly on a reading of the following detailed description of the preferred embodiment, which is given by way of non-limiting example only and with reference to the accompanying drawings.
The present invention will now be described, by way of example with reference to the accompanying drawings, in which:
The system 10 includes the memory 14 used to store the program-and-data 20. The memory 14 is characterized by a capacity 22 typically measured in gigabytes (GB) and may include the random-access-memory (RAM), a NOR flash-memory, a NAND flash-memory, a read-only-memory (ROM), and read-write-memory (RWM). The program-and-data 20 contain various software and associated calibration parameters necessary for the operation of the vehicle 12, as will be recognized by one skilled in the art.
The system 10 also includes a controller 24, in electrical communication with the memory 14. The controller 24 may include a processor (not shown) such as a microprocessor or other control circuitry such as analog and/or digital control circuitry including an application specific integrated circuit (ASIC) for processing data as should be evident to those skilled in the art. The controller 24 may include other memory-devices (not shown), including non-volatile-memory, such as electrically-erasable-programmable-read-only-memory (EEPROM) for storing one or more routines, thresholds and captured-data. The one or more routines may be executed by the processor to perform steps for determining if signals received by the controller 24 indicate the vehicle 12 is not-in-use as described herein.
The controller 24 is configured to determine when the vehicle 12 is not-in-use and may include monitoring various vehicle-systems such as an ignition-state, a door opening and a door closing, a phone call, an occupant-classification-system (OCS), and any active system-shut-down-delays (i.e. audio-system, video-system, courtesy lighting, electrical-system, etc.), for example. The controller 24 may determine that the vehicle 12 is not-in-use when the ignition-state is off, the phone call is inactive, the occupants of the vehicle 12 have exited the vehicle 12 based on the door opening and door closing and the OCS, and the system-shut-down-delays are expired, for example.
The controller 24 may be further configured to learn a usage-period 26 of the vehicle 12 and store the usage-period 26 information in the memory 14 for scheduling a future re-boot 16 (
The controller 24 is further configured to re-boot 16 the system 10 when the vehicle 12 is not-in-use and the percentage 32 is greater than the threshold 34. That is, when the utilization of the memory 14 has exceeded 90% of the total memory 14 the system 10 will schedule 28 a re-boot 16 for a time when the vehicle 12 is not-in-use. The re-boot 16 may be scheduled 28 based on the learned usage-period 26 as described previously. After the scheduled 28 re-boot 16 is complete, the system 10 may be placed in suspend 18 providing for rapid access to the features of the system 10 when a wake-up 42 event occurs as described previously.
The controller 24 is further configured to determine a battery-usage value 36 while the system 10 is in suspend 18 and execute a power-down 38 of the system 10 when the battery-usage value 36 is greater than a usage-budget value 40. A typical usage-budget value 40 of the system 10 in suspend 18 may be two milli-Amp-hours (2 mA-h) at a battery voltage of 14.4 Volts (14.4 V). That is, if the system 10 draws 4 mA while in suspend 18, a power-down 38 may occur after one-half hour (0.5 h) to prevent further draw-down of the battery. During the power-down 38 the RAM is de-powered and the program-and-data 20 is cleared from the RAM. A power-up event will initiate a cold-boot where the RAM is powered and the program-and-data 20 that is stored in the flash-memory is loaded into the RAM, typically taking several seconds and resulting in delayed access to the features of the system 10 until the cold-boot is complete.
The controller 24 is further configured to determine a time-duration 44 from the previous re-boot 16 and schedule 28 a re-boot 16 of the system 10 when the vehicle 12 is not-in-use and the time-duration 44 is greater than a time-threshold 46. The time-threshold 46 may be set to meet the customer requirements and may typically be 18 hours, for example.
Accordingly, an automated-vehicle resource management system 10, and a controller 24 for the automated-vehicle resource management system 10 is provided. The system 10 is an improvement over prior automated-vehicle resource management systems because the system 10 is configured to provide for rapid access to the features of the system 10 and re-boot 16 the system 10 at a time when a vehicle 12 is not-in-use, after which the system 10 may be placed in the suspend 18 mode.
While this invention has been described in terms of the preferred embodiments thereof, it is not intended to be so limited, but rather only to the extent set forth in the claims that follow.