Data logging system that collects and stores input data
By using volatile memory in the data recording system to temporarily store data and copy it to nonvolatile memory when the trigger event occurs, the problem of limited number of nonvolatile memory programming cycles is solved, and the use of in vehicles is realized The ability to store all data over the lifetime and reduces the need for backup power.
Patent Information
- Application Number
- CN202110160009.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-02-11
- Filing Date
- 2021-02-05
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2041-02-05
AI Technical Summary
When existing data recording systems store event data, the number of programming cycles and erasing cycles of nonvolatile memory is limited, resulting in the possibility of not being able to store all relevant data during the service life of the vehicle, and a large amount of backup power is required when the trigger event occurs. Data replication.
The data recording system uses volatile memory to temporarily store input data, and when a trigger event occurs, the data in the volatile memory is copied into the non-volatile memory, and only the event data is copied using a backup power supply.
In this way, the number of programming cycles and erasing cycles of nonvolatile memory is reduced, the need for backup power is reduced, all required data can be stored for the vehicle's service life, and safely when the trigger event occurs Copy event data.
Smart Images

Figure CN113257317B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data logging systems collecting and storing input data, the data logging systems comprising a processing unit collecting the input data and storage means for storing event data, ie input data related to a triggering event. Background Art
[0002] Such data recording systems are computing systems which can be used, for example, in automobiles, in particular in vehicles having an autonomous driving system or one or more ADAS (Advanced Driver Assistance Systems).
[0003] For safety reasons, data from the vehicle (e.g., data captured by sensors for autonomous driving or ADAS) needs to be logged, ie, collected and stored by the vehicle's computing system.
[0004] When a triggering event such as a collision occurs at "time zero t0" or "start time" (the time of the triggering event), the data recording system is required to record event data, ie specific data elements for a recording period defined relative to time zero.
[0005] The triggering event may be a collision (vehicle accident), a sudden deceleration of the vehicle, an unexpected loss of power to the vehicle battery powering the onboard electronic and / or computing components, or any other event to be investigated by analyzing the recorded data.
[0006] Typically, the recording period relative to time zero (the time of the triggering event) starts before time zero and ends at time zero, or for some specific data elements, starts before time zero and ends after time zero. The duration of the recording period can be specified by the regulations. It is usually a few seconds before time zero to a few milliseconds or seconds after time zero.
[0007] Since time zero (the time considered as a triggering event such as a collision) is not known a priori, data from the vehicle needs to be recorded permanently or continuously. Then, when a triggering event occurs at any time, the recorded data is intended to be used in order to help determine whether a human driver or AD (autonomous driving) or ADAS (advanced driver assistance system) is responsible for the triggering event (e.g., collision).
[0008] There are a number of solutions to record (ie, collect and store) event data, which is data recorded for a recording period relative to time zero, which represents the time when a triggering event, such as a collision, occurs.
[0009] A first solution consists in storing the input data continuously and directly in a non-volatile memory in a mass storage device connected to the processing unit via an interface system. The mass storage device is intended to retain the stored data even after the power supply is cut off. The mass storage device comprises: a controller, a non-volatile memory such as a NAND flash memory and usually an additional volatile memory (for example a RAM or a cache memory). In operation, the processing unit collects the input data and passes these input data directly to the peripheral mass storage device. The additional volatile memory in the mass storage device can be used as temporary storage before writing the data to the non-volatile memory in order to limit the number of programming cycles of the non-volatile memory and also temporarily store the current operating data of the controller.
[0010] The advantage of this first solution is that when a triggering event occurs and the power supply is also removed from the system, only a small amount of energy from the backup power supply is required to enable the non-volatile memory in the mass storage device to complete the ongoing write operation. However, the main disadvantage of such non-volatile memories is that they usually have a limited number of programming cycles and erase cycles (also known as "P / E cycles"). As previously explained, since the triggering event may occur at any time, it is necessary to continuously store the data from the vehicle. During the service life of the vehicle, the amount of data to be stored may be so large that it may exceed the number of programming cycles and erase cycles allowed for the non-volatile memory in the mass storage device. In order to circumvent this problem, either the memory size must be increased (which means a higher cost for the data recording system) or the amount of data to be recorded must be reduced (which has the consequence that all relevant data cannot be stored so as not to exceed the number of programming cycles and erase cycles allowed). Depending on the type of non-volatile memory in the mass storage device, other disadvantages may occur. Hard disk drives and optical disks are non-volatile storage components with removable parts, which are not suitable for vehicles. Magnetoresistive random access memory (MRAM) and ferroelectric RAM (FeRAM, F-RAM, or FRAM) are non-volatile random access memories with only very small storage capacities (a few megabytes). 3D XPoint is another non-volatile memory, but no automotive-grade products of 3D XPoint are available yet. NAND flash memory is a common memory used in cars, but is limited to about 1,000 program and erase cycles.
[0011] A second solution consists in first temporarily storing the data in a volatile system memory (e.g., RAM (Random Access Memory)) attached to the processing unit and then, when a triggering event occurs, under the control of a memory controller in the processing unit or under the control of the processing unit, copying the stored data in a burst from the volatile system memory of the processing unit to a non-volatile memory in a mass storage device connected to the processing unit. When a power outage also occurs when a triggering event occurs, it is necessary to use a backup power supply to power the components performing the data copying. The volatile system memory used for temporary storage of data can be a ring buffer memory that erases the oldest stored data when new input data must be stored by overwriting.
[0012] The advantage of the second solution is that the number of programming cycles and erasing cycles of the volatile system memory of the processing unit is considered to be unlimited, which allows to store all the required data during the service life of the vehicle. Another advantage is that the copying of the data of the volatile system memory of the processing unit to the non-volatile memory in the mass storage device is performed only when a triggering event occurs, which means a lower number of programming cycles and erasing cycles on the non-volatile memory in the mass storage device during the service life of the vehicle.
[0013] However, a disadvantage of the second solution is that, in the event of a power outage when a triggering event occurs, a large amount of backup power is required to allow the data logging system to copy data from the volatile system memory of the processing unit to the non-volatile memory in the mass storage device.
[0014] US 2019 / 0042414A1 discloses a non-volatile dual in-line memory module (NVDIMM) emulation using a host memory buffer in a computing platform using a non-volatile storage device. When a power-on event occurs on the computing platform, a host memory buffer is allocated in a system storage device in the computing platform, and a backup storage of the host memory buffer is copied from the non-volatile storage device to the host memory buffer in the system storage device. When a power-off event or a refresh event occurs on the computing platform, the host memory buffer is copied from the system memory device in the computing platform to the corresponding backup storage for the host memory buffer in the non-volatile storage device. The solution disclosed in US 2019 / 0042414A1 is close to the second solution described previously and presents the same advantages and disadvantages.
[0015] The present disclosure improves upon the described situation with a better tradeoff between limiting the number of programming and erasing cycles on non-volatile memory used to store event data upon the occurrence of a triggering event and limiting the amount of power required to perform storage of these event data upon the occurrence of a triggering event. Summary of the invention
[0016] The present disclosure relates to a data recording system for collecting and storing input data, the data recording system comprising: a processing unit, which collects input data; and a peripheral storage device, which is connected to the processing unit via an interface system, the peripheral storage device recording event data in a non-volatile memory, wherein the event data is input data stored for a recording period relative to time zero, and the time zero represents the time when a triggering event occurs, characterized in that the peripheral storage device also includes a volatile memory, and when the input data is collected, the data recording system stores the input data in the volatile memory of the peripheral storage device, and when the triggering event occurs, the data recording system copies the stored input data as an event data set from the volatile memory of the peripheral storage device to the non-volatile memory of the peripheral storage device.
[0017] Such a data logging system presents the following advantages: when a triggering event occurs, it is only necessary to supply power to the storage device in order to safely copy the event data.
[0018] Copies of multiple input data corresponding to multiple corresponding trigger events can be copied from the volatile memory of the peripheral storage device to the non-volatile memory of the peripheral storage device. The non-volatile memory can store multiple event data sets corresponding to the multiple trigger events. For each trigger event, the input data can be copied to the non-volatile memory while the previously stored event data is saved in the non-volatile memory. The input data can be copied until a predetermined maximum amount of data is stored. The predetermined maximum amount of data can correspond to the storage capacity of the non-volatile memory or to a portion of the storage capacity of the non-volatile memory allocated for event data storage. When the amount of data stored in the non-volatile memory has reached the maximum amount, the earliest event data is overwritten by the latest event data.
[0019] In a specific embodiment, when no trigger event occurs, the data recording system overwrites the input data stored in the volatile memory of the peripheral storage device without copying the input data stored in the volatile memory of the peripheral storage device to the non-volatile memory of the peripheral storage device.
[0020] The data logging system may include a volatile memory (such as a volatile system memory) of the processing unit, which is used as temporary storage and workspace for operating the processing unit. Advantageously, the volatile system memory of the processing unit is different from the volatile memory of the storage device.
[0021] The data recording system may further comprise a backup power supply device, and in the event of a power outage when the triggering event occurs, the backup power supply device advantageously only supplies power to the peripheral storage device.
[0022] The data recording system may be equipped with a product, which is, for example, a moving body such as a vehicle or any other type of device such as a medical device. In some embodiments, when one of the triggering events in the group including an impact event of the product equipped with the data recording system, a collision event of the product, a deceleration event of the product, and a power-off event of the product occurs, the data recording system copies the stored input data from the volatile memory to the non-volatile memory in the peripheral storage device.
[0023] The volatile memory of the peripheral storage device may be implemented at least partially as a ring buffer memory. Advantageously, in the absence of a triggering event, the volatile memory stores new input data by overwriting the oldest stored input data when at least one of the following two situations occurs:
[0024] The volatile memory is full, and
[0025] A given amount of input data has been stored, which corresponds to the required amount of data that needs to be stored for a recording period of one triggering event.
[0026] When power is removed from the data logging system and no triggering event has occurred, input data stored in the volatile memory of the peripheral storage device is lost without being copied to the non-volatile memory of the peripheral storage device.
[0027] The volatile memory of the peripheral storage device may be a RAM (Random Access Memory) or a cache memory. The non-volatile memory of the peripheral storage device may be a flash memory, such as a NAND flash memory.
[0028] The interface system is, for example, a PCI Express (Peripheral Component Interconnect Express) interface. Other types of memory interfaces may also be used, such as a UFS (Universal Flash Storage) interface.
[0029] Advantageously, when input data is collected by the processing unit, said input data is directly transferred to the storage device.
[0030] A second aspect of the present disclosure relates to a product equipped with the data recording system defined above. The product may be a mobile body such as a car or an aircraft or any other device (eg a medical device).
[0031] A third aspect of the present disclosure relates to a non-transitory computer-readable medium containing program instructions, the program instructions causing a data logging system to collect and store input data, the data logging system comprising: a processing unit, the processing unit collecting input data; and a peripheral storage device, the peripheral storage device connected to the processing unit via an interface system, the peripheral storage device recording event data in a non-volatile memory, the event data being input data stored for a recording period relative to time zero, the time zero representing the time when a triggering event occurs, the data logging system performing the following steps:
[0032] When input data is collected, storing the input data in a volatile memory of a peripheral storage device, and
[0033] When a trigger event occurs, the stored input data is copied from the volatile memory of the peripheral storage device to the non-volatile memory of the peripheral storage device. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Other features, objects and advantages of the present disclosure will become more apparent from a reading of the detailed description of non-limiting embodiments made with reference to the accompanying drawings.
[0035] Figure 1 A data logging system according to an exemplary embodiment is shown.
[0036] Figure 2 Shows the integration Figure 1 Data logging system for cars.
[0037] Figure 3 It shows Figure 1 An exemplary simplified flow chart of how the data logging system works. DETAILED DESCRIPTION
[0038] Figure 1 An example data recording system 100 that collects and stores input data 300 is illustrated. The data recording system 100 may be equipped, for example, with a car 200 having autonomous driving functions and / or one or more ADAS (Advanced Driver Assistance Systems). However, the data recording system 100 may be equipped with any other product. The product may be a mobile body such as an aircraft or any other device (e.g., a medical device).
[0039] The data recording system 100 is a computing system having a computing platform 110 and a peripheral storage device 120. The computing platform 110 has a processing unit 111 or a CPU (central processing unit), a volatile system memory 112, and a non-volatile system memory 113. The data recording system 100 may have one or more processing units 111. For the purpose of simplicity, Figure 1 A processing unit 111 is shown.
[0040] The processing unit 111 has at least one CPU core 114 or CPU processor, and a memory controller 115 that controls a volatile system memory 112 and a non-volatile system memory 113 .
[0041] Both volatile system memory 112 and non-volatile system memory 113 are system memory or computer memory in which processing unit 111 saves current programs and data in use. System memory 112 and 113 are attached to processing unit 111 and are necessary for processing unit 111 to work. Volatile system memory 112 is a volatile memory (e.g., RAM (Random Access Memory)) used as temporary storage and work space for processing unit 111, especially temporary storage and work space for operating system and applications in use. Non-volatile system memory 113 is a non-volatile memory (e.g., a flash memory unit) that stores an operating system and one or more applications that can be used by processing unit 111.
[0042] The storage device 120 is a peripheral storage device connected to the processing unit 111 through an interface system 130 (e.g., a PCI Express (Peripheral Component Interconnect Express) interface or a UFS (Universal Flash Storage) interface). The storage device 120 is an additional storage device different from the system memories 112 and 113 attached to the CPU 111. The storage device 120 is not necessary for the processing unit 111 to work. The storage device 120 may be a large-capacity storage device.
[0043] The function of the storage device 120 is to store event data 301 even when power is removed from the data recording system 100. The expression "event data" labeled 301 can be defined as the input data 300 recorded for a recording period relative to "time zero", which represents the time when a triggering event occurs. A triggering event can be defined as an event that triggers the permanent storage of an event data set in the data recording system 100. A triggering event is an event that a user or operator may want to analyze later (after the triggering event) based on the permanently stored event data. In the case where the data recording system 100 is equipped with a mobile body (such as a vehicle) having a power supply device that supplies power to the data recording system 100, the triggering event may be an impact event of the mobile body, a crash event of the mobile body, a power loss event of the battery, a deceleration event of the mobile body, or any other event that the operator may want to analyze later. For example, the triggering event used in the present disclosure can be specified within the regulations of the event data recorder.
[0044] The recording period of event data may start before time zero (i.e., before the time of the triggering event) and end at time zero or after time zero (e.g., depending on the type of data element). The duration of the recording period may be specified by the regulations or the manufacturer. For example, it may be a few seconds before time zero to a few milliseconds or seconds after time zero.
[0045] The storage device 120 includes a controller 121 , a volatile memory 122 , and a nonvolatile memory 123 .
[0046] The volatile memory 122 may be, for example, a RAM (Random Access Memory) or a cache memory having a linear organization. A portion of the volatile memory 122 stores the input data 300, which portion may be implemented as a ring buffer.
[0047] The non-volatile memory 123 may be, for example, a flash memory cell, such as a NAND flash memory.
[0048] The first role of the volatile memory 122 is to be used as a temporary storage and workspace for the operation of the controller 121. In the present disclosure, in the case where a trigger event occurs and permanent storage of data in the non-volatile memory 123 must be performed, the second role of the volatile memory 122 is to be used as a temporary storage of the input data 300. The volatile memory 122 stores the input data 300 delivered by the processing unit 111 when the input data 300 is collected. Under the control of the controller 121, when a trigger event occurs, the data temporarily stored in the volatile memory 122 is copied to the non-volatile memory 123 to perform permanent storage of the event data; or when no trigger event occurs, the oldest data stored in the volatile memory 122 is overwritten by the latest input data without being copied to the non-volatile memory 123.
[0049] As previously indicated, the volatile system memory 112 of the processing unit 111 is used as temporary storage and workspace for operating the processing unit 111. This volatile system memory 112 of the processing unit 111 is different from the volatile memory 122 of the storage device 120 connected to the processing unit 111 via the interface system 130 and the role of the storage device 120 is to record event data in the non-volatile memory 123, for example, for subsequent analysis of these event data.
[0050] The data recording system 100 has one or more other interface systems (not shown) through which the processing unit 111 receives input data 300. These input data 300 may come from various data source units, such as sensors, measurement units, data receivers, etc. The data source units may be equipped with the vehicle 200 (or more generally, a product equipped with the data recording system 100). Some specific data source units may be external to the vehicle 200 (or a product equipped with the data recording system 100). In such a case, the external data source may need to interface with the vehicle (or product).
[0051] In common operation, the data recording system 100 is powered by a first power source. The first power source may be, for example, a battery. For example, in a vehicle, the data recording system 100 is powered by a car battery. When a trigger event occurs, the power source may be removed from the data recording system 100 at the same time (however, this is not always the case when a trigger event occurs). In other words, in some cases, the power supply from the first power source may be interrupted. In such a case, a second power source, i.e., a backup power supply device 140, is used. For this second power source, there are different possible implementations. For example, the second power source may be a battery. Alternatively, the second power source may be energy stored in one or more capacitors. The vehicle 200 (or more generally, a product equipped with the data recording system 100) or the data recording system 100 itself is equipped with such a backup power supply device 140. In the case where the first power source is disconnected when a trigger event occurs, the backup power supply device 140 only supplies power to the storage device 120 so that the event data can be safely copied from the volatile memory 122 to the non-volatile memory 123 within the storage device.
[0052] Now, refer to Figure 2 and Figure 3 The operation of the data recording system 100 is described.
[0053] In this exemplary embodiment, the data recording system 100 is equipped with a car 200, which is equipped with multiple data source units, including: sensors (such as cameras, LiDAR sensors, radar sensors), measurement units (such as IMU (inertial measurement unit)), and data receivers (such as GPS receivers), etc. These data source units (sensors, measurement units, and data receivers) can provide data for autonomous driving of the vehicle 200 or one or more ADAS of the vehicle 200. Some data source units may also provide intermediate calculation results from the software, which may be generated by the fusion of data from multiple sensors. Such data may be, for example, an "occupancy grid" or "trajectory" representing a driving plan. Some of the intermediate calculation results may also be of interest to be stored in the data recording system as part of the input data.
[0054] In operation, the data source unit sends data as input data 300 to the processing unit 111. Thus, in step S0, these input data 300 are continuously collected by the processing unit 111 over time.
[0055] Advantageously, when the input data 300 are collected by the processing unit 111, these input data 300 are transferred to the storage device 120 via the interface system 130 over time, step S1. The interface speed of the interface 130 may be higher than the data rate of the input data 300. In such a case, the input data 300 may be arranged in data packets that are transferred to the storage device 120 in a non-continuous manner. In such a case, the input data 300 are transferred to the storage device 120 in the form of data bursts, one data packet after another. Overall, this achieves a continuous flow of the input data 300 from the processing unit 111 to the storage device 120 without losing the input data 300.
[0056] In addition, in step S1, when the input data 300 are received by the processing unit 111, these input data 300 can be transferred directly from the processing unit 111 to the storage device 120. In fact, in order to reduce the risk of data loss in the event of a power outage, the input data 300 can be transferred directly to the storage device 120, that is, without delay except for the time required for the data transfer. Since the interface speed of the interface 130 can be higher than the data rate of the input data 300, the time required for the data transfer can correspond to the time required to arrange the input data 300 in data packets that are transferred to the storage device 120 packet by packet in the form of data bursts. It should also be mentioned that the input data 300 can be mainly used by the processing unit 111, for example, to calculate driving decisions for autonomous driving. For the purpose of using the input data 300 by the processing unit 111, the input data 300 is also stored in the memory 112 attached to the processing unit 111.
[0057] In the storage device 120, the delivered input data 300 is first stored in the volatile memory 122 in step S2. Since the portion of the volatile memory 122 storing the input data 300 is organized as a ring buffer memory, when the volatile memory is full (and no triggering event has occurred), subsequent writing of new input data in the volatile memory 122 is performed by overwriting the oldest stored input data in the storing step S2. In a particular embodiment, the overwriting of data in the volatile memory 122 is not started only when the volatile memory 122 is full. Considering a given rate of input data rate (x megabytes per second) and a required recording period of a triggering event spanning time zero (y seconds), the required amount of data 'A' that needs to be stored for the recording period of a triggering event can be calculated as follows:
[0058] A=x*y
[0059] The data amount "A" corresponds to the required memory amount that the ring buffer of the volatile memory 122 must be able to store. When the data amount is exceeded, that is, when the data amount corresponding to the required data amount "A" is already stored in the volatile memory 122, data overwriting is performed to store new input data in the volatile memory 122.
[0060] In step S3, the processing unit 111 determines whether a trigger event occurs. Determining whether a trigger event occurs is well known to those skilled in the art, and thus will not be described in this disclosure.
[0061] When a trigger event such as a collision occurs ( Figure 3 In step S4, the processing unit 111 notifies the controller 121 of the storage device 120. Then, in step S5, under the control of the controller 121, the input data 300 currently stored in the volatile memory 122 of the storage device 120 is copied to the non-volatile memory 123 of the storage device 120 as an event data set. All data currently stored in the volatile memory 122 or only a part of all data may be copied to the non-volatile memory 123. This depends on the event data that needs to be recorded.
[0062] When the event data set has been copied to the non-volatile memory 123 , after step S5 , the system 100 may return to step S0 to continue collecting input data.
[0063] Then, when another triggering event occurs, advantageously, the event data (which may include one or more event data sets corresponding to one or more corresponding triggering events) already stored in the non-volatile memory 123 will not be overwritten. Available storage in the non-volatile memory 123 can be used to add new event data to the event data already stored. In other words, in some embodiments, the non-volatile memory 123 stores multiple event data sets corresponding to multiple triggering events. Copies of event data can be made in the non-volatile memory 123 until a predetermined maximum amount of data is stored. The predetermined maximum amount of data can correspond to the storage capacity of the non-volatile memory or to a portion of the storage capacity in the non-volatile memory that is allocated for event data storage. When the amount of data stored in the non-volatile memory reaches the maximum amount, according to a first option, the earliest event data can be overwritten by the latest event data. Alternatively, according to a second option, the copying of another event data can be prevented until the multiple event data sets have been analyzed and the operator has erased these event data sets. The selected option may depend on the operator or procedure requirements.
[0064] In the event that power (provided by the first power source) is removed from the data logging system 100 when a triggering event occurs, the backup power supply device 140 advantageously provides power only to the storage device 120, at least temporarily, to allow event data to be copied from the volatile memory 122 to the non-volatile memory 123 within the storage device 120.
[0065] When no triggering event has occurred ( Figure 3 If the branch “No” in , the process returns to step S0 and continues to collect input data 300.
[0066] When power is removed from the data logging system 100 at any time (e.g., because the system is voluntarily shut down by a user or operator) and when there is no triggering event, the input data 300 currently stored in the volatile memory 122 of the storage device 120 is not copied to the non-volatile memory 123 and may be lost. In some software implementations, when a user initiates a system shutdown, the memory may be cleared if the previously allocated memory is declared free.
[0067] When no trigger event occurs, in the case where the system is shut down or powered off without a trigger event, input data stored in the volatile memory 122 of the peripheral storage device 120 is overwritten by new input data or lost (ie, not copied to the nonvolatile memory 123 ).
[0068] In the specific embodiment described, the data recording system 100 is equipped with a car 200. In other embodiments, the data recording system 100 can be equipped with any other mobile body, such as an airplane. In this case, when one of the predetermined events in the group including an impact event of the mobile body, a collision event of the mobile body, a deceleration event of the mobile body, and a power failure event of the battery supplying power to the data recording system occurs, the data recording system copies the stored input data from the volatile memory 122 to the non-volatile memory 123 in the peripheral storage device 120. Other triggering events can be considered, as previously indicated in the present disclosure. In other embodiments, the data recording system can be integrated into a product that is not a mobile body, such as a medical device. In this case, the triggering event may be that the power supply is accidentally removed from the medical device.
[0069] The present disclosure also relates to a non-transitory computer-readable medium containing program instructions, which program instructions cause the data recording system 100 to perform the steps described previously, in particular: when input data 300 is collected, the input data 300 is stored in the volatile memory 122 of the peripheral storage device, and when a triggering event occurs, the stored input data is copied from the volatile memory 122 of the storage device 120 to the non-volatile memory 123 of the storage device 120 as an event data set.
[0070] The program instructions are stored in a storage module associated with the vehicle, such as a volatile memory (e.g., RAM, etc.) and / or a non-volatile memory (e.g., ROM, flash memory (e.g., NAND flash memory), etc., which is permanently or detachably integrated in the vehicle, or can be connected to the vehicle, for example, via the “cloud”, and can be executed by a computer or calculator of the vehicle (such as one or more modules of an electronic control unit (ECU)). The program instructions can be at least partially stored in the storage device 120.
[0071] In vehicle 200 , data logging system 100 may be a separate hardware unit built into vehicle 200 , or may be an integrated part of some other autonomous driving or ADAS system controller.
Claims
1. A data recording system (100) for collecting and storing input data (300), the data recording system comprising: a processing unit (111), the processing unit (111) collecting input data (300); as well as a peripheral storage device (120), the peripheral storage device (120) being connected to the processing unit (111) via an interface system (130), the peripheral storage device recording event data (301) in a non-volatile memory (123), The event data (301) is input data stored for a recording period relative to time zero, wherein time zero represents the time when a triggering event occurs. The invention is characterized in that the peripheral storage device (120) further comprises a volatile memory (122), and when the input data (300) is collected, the data recording system (100) stores the input data (300) in the volatile memory (122) of the peripheral storage device (120), and when a trigger event occurs, the data recording system (100) copies the stored input data as an event data set from the volatile memory (122) of the peripheral storage device (120) to the non-volatile memory (123) of the peripheral storage device (120), The data recording system further comprises a backup power supply device (140), and in the event of a power outage when the trigger event occurs, the backup power supply device (140) only supplies power to the peripheral storage device (120).
2. The data recording system according to claim 1, characterized in that Multiple corresponding copies of input data (300) stored in the volatile memory (122) of the peripheral storage device (120) triggered by multiple trigger events are copied to the non-volatile memory (123) of the peripheral storage device (120), and the non-volatile memory (123) stores multiple event data sets corresponding to the multiple trigger events.
3. The data recording system according to claim 1 or 2, characterized in that: When no trigger event occurs, the data recording system (100) overwrites the input data (300) stored in the volatile memory (122) of the peripheral storage device (120) and does not copy the input data (300) stored in the volatile memory (122) of the peripheral storage device (120) to the non-volatile memory (123) of the peripheral storage device (120).
4. The data recording system according to claim 1 or 2, further comprising a volatile system memory (112) of the processing unit (111), the volatile system memory (112) being used as a temporary storage and work space for operating the processing unit (111), the volatile system memory of the processing unit (111) being different from the volatile memory (122) of the peripheral storage device (120).
5. The data recording system according to claim 1 or 2, characterized in that: The data recording system (100) is equipped with a product, and when one of the triggering events in the group including an impact event of the product, a deceleration event of the product, and a power-off event of the product occurs, the data recording system (100) copies the input data stored in the peripheral storage device (120) from the volatile memory (122) to the non-volatile memory (123).
6. The data recording system according to claim 1 or 2, characterized in that: The volatile memory (122) of the peripheral storage device (120) is at least partially implemented as a ring buffer memory, and in the absence of a trigger event, the volatile memory (122) stores new input data (300) by overwriting the earliest stored input data when at least one of the following two situations occurs: The volatile memory (122) is full, or A given amount of input data (300) has been stored, corresponding to a required amount of data that needs to be stored for a recording period of one triggering event.
7. The data recording system according to claim 1 or 2, characterized in that: When power is removed from the data logging system (100) and no trigger event occurs, the input data stored in the volatile memory (122) of the peripheral storage device (120) is lost without being copied to the non-volatile memory (123) of the peripheral storage device (120).
8. The data recording system according to claim 1 or 2, characterized in that: The volatile memory of the peripheral storage device is a random access memory RAM or a cache memory.
9. The data recording system according to claim 1 or 2, characterized in that: The nonvolatile memory of the peripheral storage device is a flash memory.
10. The data recording system according to claim 1 or 2, characterized in that: The interface system is a high-speed peripheral component interconnect PCI Express interface or a universal flash memory UFS interface.
11. The data recording system according to claim 1 or 2, characterized in that: When the input data (300) is collected by the processing unit (111), the input data (300) is directly transferred to the peripheral storage device (120).
12. A product provided with a data recording system according to any one of claims 1 to 11.
13. A car equipped with a data recording system according to any one of claims 1 to 11.
14. A non-transitory computer readable medium containing program instructions, the program instructions causing a data logging system (100) to collect and store input data (300), the data logging system (100) comprising: A processing unit (111) collecting input data (300); a peripheral storage device (120) connected to the processing unit (111) via an interface system (130), the peripheral storage device recording event data in a non-volatile memory (123), the event data being input data stored for a recording period relative to time zero, the time zero representing the time when a triggering event occurs, the data recording system performing the following steps: When the input data (300) is collected, storing the input data (300) in the volatile memory (122) of the peripheral storage device (120); When a trigger event occurs, the stored input data is copied from the volatile memory (122) of the peripheral storage device (120) to the non-volatile memory (123) of the peripheral storage device (120) as an event data set; as well as In the event of a power outage when the trigger event occurs, power is supplied only to the peripheral storage device (120) from the backup power supply device (140) of the data recording system (100).
Citation Information
Patent Citations
Nvdimm emulation using a host memory buffer
US20190042414A1
Control device for a vehicle and vehicle control method
US20170233000A1
Black Box Data Recorder with Artificial Intelligence Processor in Autonomous Driving Vehicle
US20190302766A1