Persistent Storage Transfer to Log Volatile Buffered Data

20230058603 · 2023-02-23

    Inventors

    Cpc classification

    International classification

    Abstract

    Disclosed is an Data Logging Device including a computing unit (CU) and a primary storage with at least one non-volatile random-access memory (NVRAM) region, wherein the CU is configured to collect data, at least one ring-buffer is implemented in said NVRAM region, the ring-buffer is configured to store the data, and the CU and the primary storage are connected by a data interface and configured to transfer the data from the CU to the ring-buffer.

    Claims

    1. A method comprising: collecting, with a computing unit of a vehicle, vehicle data from a data link between vehicle systems that perform functions on the vehicle; transferring, to a vehicle memory storage, the vehicle data for writing to a ring buffer implemented in a region of the vehicle memory storage, the region with the ring buffer being different from a persistent region of the vehicle memory storage that persistently stores previous vehicle data written to the ring buffer; determining energy required to provide an amount of time needed for copying the vehicle data from the region with the ring buffer to the persistent region with the previous vehicle data; and in response to a trigger event on the vehicle, copying, within the vehicle memory storage, the vehicle data from the region with the ring buffer into the persistent region with the previous vehicle data including scaling a backup energy source to deliver the energy required for the amount of time needed for copying the vehicle data to the persistent region of the vehicle memory storage.

    2. The method of claim 1, the method further comprising: persistently storing the ring buffer and the previous vehicle data copied to the persistent the region by storing the vehicle data copied from the region with the ring buffer each time trigger events happen to be stored in a different part of the persistent region than the previous vehicle data stored in the persistent region.

    3. The method of claim 1, wherein the amount of time needed is only sufficient for the vehicle memory storage to include the region with the ring buffer to be part of the persistent region of the vehicle memory storage.

    4. The method of claim 1, further comprising: accessing, with a computer having an interface to the vehicle memory storage, the persistent region to access the previous vehicle data recorded to the vehicle memory storage each time the vehicle data is copied from the ring buffer in response to trigger events.

    5. The method of claim 1, wherein the trigger event comprises a power loss from the vehicle.

    6. The method of claim 1, wherein the trigger event comprises a vehicle accident.

    7. The method of claim 1, wherein the trigger event corresponds to at least one of an occurrence of deviations in the vehicle data, irregularities in the vehicle data, or specific patterns in the vehicle data.

    8. The method of claim 1, wherein the vehicle memory storage comprises non-volatile dual in-line memory (NVDIMM-N) storage including: a volatile part that implements the region with the ring buffer; a non-volatile part that implements the persistent region, the backup energy source; a data interface that receives the vehicle data being transferred to the vehicle memory storage; and a control unit that manages the copying in response to the trigger event by controlling the scaling of the backup energy source to deliver the energy required to finish copying the vehicle data to be with the previous vehicle data that already exists within the vehicle memory storage.

    9. The method of claim 8, wherein scaling the backup energy source comprises scaling the backup energy source to power the control unit with the energy for only the amount of time needed for copying the ring buffer within the vehicle memory storage.

    10. The method of claim 8, wherein the amount of time needed for copying the ring buffer within the vehicle memory storage is only sufficient the control unit to: include the region with the ring buffer as part of the persistent region; and implement the ring buffer for subsequent vehicle data in a different third region of the vehicle memory storage.

    11. The method of claim 8, wherein the volatile part of the NVDIMM-N storage comprises a random-access memory (RAM) and the non-volatile part of the NVDIMM-N storage comprises a NAND flash memory, the RAM and the NAND flash being integrated into a single NVDIMM-N storage component.

    12. A system comprising: a computing unit configured to collect vehicle data from a data link between vehicle systems that perform functions on the vehicle; and a vehicle memory storage having: a data interface configured to receive the vehicle data from the computing unit; a region configured as a ring buffer for temporarily storing the vehicle data received at the data interface; a persistent region, different from the region with the ring buffer, and configured to persistently store previous vehicle data written to the ring buffer; a control unit configured to respond to a trigger event on the vehicle; and a backup energy source configured to provide an amount of energy such that the energy delivered is scaled such that the energy the control unit is sufficiently operable for an amount of time needed to copy the ring buffer to the persistent region.

    13. The system of claim 12, wherein the vehicle memory storage comprises non-volatile dual in-line memory (NVDIMM-N) storage.

    14. The system of claim 12, wherein the vehicle memory storage further comprises: a switch configured to, in response to the trigger event, transfer the vehicle data from the data interface and to the control unit at least in part from using the backup energy source.

    15. The system of claim 12, wherein the control unit is further configured to: persistently store the ring buffer and the previous vehicle data copied to the persistent the region by storing the vehicle data copied from the region with the ring buffer each time trigger events happen to be stored in a different part of the persistent region than the previous vehicle data stored in the persistent region.

    16. The system of claim 12, wherein the amount of time needed is only sufficient for the vehicle memory storage to reconfigure the region with the ring buffer to be part of the persistent region of the vehicle memory storage.

    17. The system of claim 12, wherein the backup energy source is scaled to power the control unit for only the amount of time needed for copying the ring buffer within the vehicle memory storage.

    18. The system of claim 12, wherein the trigger event corresponds to at least one of an occurrence of deviations in the vehicle data, irregularities in the vehicle data, or specific patterns in the vehicle data.

    19. The system of claim 12, wherein the trigger event comprises a power loss from the vehicle.

    20. The system of claim 12, wherein a memory size of the persistent region is equal to or multiple times larger than a memory size of the region with the ring buffer.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0033] Exemplary embodiments and functions of the present disclosure are described herein in conjunction with the following drawings, showing schematically in:

    [0034] FIG. 1 a first embodiment of a Data Logging Device,

    [0035] FIG. 2 a second embodiment of a Data Logging Device, and

    [0036] FIG. 3 a third embodiment of a Data Logging Device.

    DETAILED DESCRIPTION

    [0037] FIG. 1 depicts a first embodiment of a Data Logging Device 10 in a schematic view. The Data Logging Device 10 can persistently store data, in particular automotive data, in case of an event. The data can for example be vehicle data such as vehicle telematics data (like for example speed, steering angle, braking), sensor data, object data from an AD (Autonomous Driving) or ADAS (Advanced Driver Assistant Systems) processing toolchain, but also information on a driver state or other data. In the shown embodiment the data is vehicle data of a not shown vehicle. However, the present disclosure is not limited to the automotive field but can also be applied to other fields such as motorcycles, aerospace and the like.

    [0038] The Data Logging Device 10 unit comprises a computing unit (CU) 12 and a primary storage 14 with a system memory region 30 and a one non-volatile random-access memory (NVRAM) region 32. The NVRAM region 32 comprises a persistent memory region 36 and a memory region which is implemented as a ring-buffer 34 and which is different from the persistent memory region 36.

    [0039] The CU 12 collects vehicle data via a data link 28, for example using a publisher—subscriber principle, such that the CU 12 can access the data which is published from any point of an automotive data processing chain.

    [0040] During operation of the Data Logging Device 10, the vehicle data collected by the CU 12 is transferred from the CU 12 to the primary storage 14 via a data interface 16, in particular a data line physically connecting the CU 12 and the primary storage 14, for at least temporal storage in the ring-buffer 34. This means that “old” data transferred previously from the CU 12 is continuously being overwritten by “new” data currently incoming from the CU 12. As the endurance of the NVRAM region 32 can be assumed to be infinite, the ring-buffer 34 can be overwritten endlessly.

    [0041] In case of a trigger event, the data content in the ring-buffer 34 is persistently stored in the persistent memory region 36. If the ring-buffer 34 is implemented as a volatile memory region, the data content in the ring-buffer 34 is transferred to the persistent memory region 36 in case of the trigger event. If the ring-buffer 34 is implemented as a non-volatile memory region, the data content in the ring-buffer 34 is kept at its current location in the NVRAM region 32. In other words, a section of the NVRAM region 32 implemented as the ring-buffer 34 becomes a part of the persistent memory region 36. For a further storage of data coming from the CU 12, a ring-buffer 34 is implemented in a section of the NVRAM region 32 different from the persistent memory region 36.

    [0042] The Data Logging Device 10 further includes an interface 26 configured to allow for a read-out of the persistently stored data. The interface 26 can for example be a plug connector. If a read-out is desired, the Data Logging Device 10 can be connected to a not shown data analysis system for accessing the stored data. In this way the data can be fully recovered and a trigger event like for example a power loss of the Data Logging Device 10 is not causing any data loss.

    [0043] FIG. 2 depicts a second embodiment of a Data Logging Device 10 in a schematic view. The Data Logging Device 10 unit comprises a computing unit (CU) 12 and a primary storage 14 which are connected by a data interface 16, in particular a data line physically connecting the CU 12 and the primary storage 14. The CU 12 collects the vehicle data via a data link 28, for example using a publisher—subscriber principle, such that the CU 12 can access the vehicle data which is published from any point of an automotive data processing chain.

    [0044] The primary storage 14 in the second embodiment is an implementation of non-volatile dual in-line memory (NVDIMM-N) technology, comprising a NVRAM region 32, 32′, a control unit 18 and a backup energy source 24.

    [0045] The NVRAM region 32, 32′ is realized by a volatile RAM memory 20 and a non-volatile NAND flash memory 22. The volatile RAM memory 20 provides a system memory region 30 for hosting an operating system of the CU 12. A further region of the volatile RAM memory 20 is implemented as a ring-buffer 34. This means that “old” data transferred previously from the CU 12 is continuously being overwritten by “new” data currently incoming from the CU 12. The size of the ring-buffer 34 is setup in a way such that it matches the product of a transfer rate of data from the CU 12 to the ring-buffer 34 and a desired recording time around the time of a trigger event. As the endurance of the NVRAM region 32 can be assumed to be infinite, the ring-buffer 34 can be overwritten endlessly.

    [0046] The implementation of the ring-buffer 34 is purely software based, wherein the ring-buffer 34 can be mounted as a memory drive to the CU 12. The ring-buffer 34 can be accessed by the operating system running on the CU 12 for example by allocating a certain memory region in the NVRAM region 32, optionally formatting it with a filesystem and mounting said memory region as storage to the CU 12. As such, the ring-buffer 34 can be used like a common solid state disk (SSD), enabling a storage of the data in the ring-buffer 34 similar to a storage on a SSD.

    [0047] During operation of the Data Logging Device 10, the data collected by the CU 12 is transferred from the CU 12 to the primary storage 14 via the data interface 16 for a temporal storage in the ring-buffer 34.

    [0048] In case of a trigger event, like for example a power loss of the Data Logging Device 10 or an accident of the vehicle, the control unit 18 of the primary storage 14 receives a trigger and instantaneously starts to copy the data which is currently in the ring-buffer 34 into a persistent memory region 36 within the non-volatile NAND flash memory 22. In this way a persistent storage of the data in the persistent memory region 36 is ensured. The required energy for this operation is delivered by the backup energy source 24 which is scaled in a way such that the energy is sufficient for the time needed to copy the data.

    [0049] The memory size of the ring-buffer 34 is setup in a way such that it matches the product of transfer rate of data from the CU 12 to the primary storage 14 and a desired recording time of data in case of a trigger event. To allow to persistently store the data of multiple trigger events in the NAND flash memory 22, its memory size can be larger, for example between 8 and 12 times larger than the memory size of the ring-buffer 34. This allows to persistently store the data of multiple trigger events on the NAND flash memory 22. As the data will be stored on the NAND flash memory 22 only in case of a trigger event, the number of program/erase cycles on the NAND flash memory 22 is low.

    [0050] After the trigger event has terminated, storage of data in the ring-buffer 34 can resume. For a read-out of the persistently stored data in the NAND flash memory 22, the Data Collecting Device 10 can be connected to a not shown data analysis system via the read-out interface 26. The data analysis system can mount the persistent memory region 36 of the NAND flash memory 22 and access the data. As the NAND flash memory 22 is non-volatile, the data is fully recovered. Therefore, a trigger event like for example a power loss of the Data Logging Device 10 is not causing any data loss.

    [0051] By combining a CU 12 with a primary storage 14 including a NVRAM region 32, 32′, the Data Logging Device 10 allows collecting and storing data with a high capacity memory, a high write speed and a high endurance.

    [0052] FIG. 3 depicts a third embodiment of an EDR 10 in a schematic view. The third embodiment differs from the embodiment of FIG. 2 in that the Data Logging Device 10 comprises a data switch 38, for example a multiplex (MUX) switch, which is connected to the CU 12 and the control unit 18. The operating mode of the Data Logging Device 10 of the third embodiment is the same as the operating mode of the Data Logging Device 10 of the second embodiment. During normal operation, that is, in absence of a trigger event, the data switch 38 allows data from the CU 12 to be stored in the ring-buffer 34. As a trigger event occurs, the data switch 38 receives a trigger to allow the data in the ring-buffer to be transferred to a persistent memory region 36 within the non-volatile NAND flash memory unit 22 for a persistent storage.