Data saving system and data saving method

The data storage system prioritizes data with higher safety risks during write access collisions in vehicles, preventing data loss and maintaining data integrity by using a shared storage device and a priority control unit.

JP2025097886APending Publication Date: 2025-07-01PANASONIC AUTOMOTIVE SYST CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024104845
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-19
Filing Date
2024-06-28
Publication Date
2025-07-01

AI Technical Summary

Technical Problem

In data storage systems of vehicles, particularly those with automatic driving functions, there is a risk of data loss due to collisions in write access to shared storage devices, which can result in the disappearance of critical data related to vehicle travel.

Method used

A data storage system with a shared storage device, control devices, and a priority control unit that manages data writing based on predefined priorities set in the control devices and other devices, ensuring that data with higher safety risks is prioritized during collisions.

Benefits of technology

The system effectively prevents the loss of critical data related to vehicle travel by prioritizing data with higher safety risks during write access collisions, ensuring data integrity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025097886000001_ABST
    Figure 2025097886000001_ABST
Patent Text Reader

Abstract

To provide a data saving system or the like in which loss of data about vehicle traveling is suppressed.SOLUTION: A data saving system 1 mounted on a mobile body includes a shared storage apparatus 40, a control apparatus (e.g. first Host 20A) that can perform writing into the shared storage apparatus 40, one or more devices each of which can write data into the shared storage apparatus 40 without going through the control apparatus, and a priority control unit 11 that is connected between the shared storage apparatus 40 and each of the control apparatus and the one or more devices, and performs control regarding data writing from the control apparatus and the one or more devices into the shared storage apparatus 40 on the basis of a first priority level determined for the control apparatus or a second device 30B included in the one or more devices and a second priority level which represents a priority level of writing by a first device 30A determined by the control apparatus.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a data storage system and a data storage method.

Background Art

[0002] Conventionally, in a vehicle, when a predetermined event such as a collision or sudden braking occurs, and data such as logs and videos acquired during normal times are stored in a data storage unit (storage device). When the vehicle is a vehicle equipped with an automatic driving function, the amount of data to be stored becomes enormous. Therefore, Patent Document 1 discloses a technique for reducing the data storage amount by changing the data recording target to the data storage unit according to the level of the automatic driving mode.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] By the way, in a data storage system that stores data in a moving body such as a vehicle, it is desired to suppress the disappearance of data related to vehicle travel.

[0005] Therefore, the present disclosure provides a data storage system and a data storage method in which the disappearance of data related to vehicle travel is suppressed.

Means for Solving the Problems

[0006] A data storage system according to one aspect of the present disclosure is a data storage system mounted on a moving body, including a shared storage device, a control device capable of writing to the shared storage device, one or more devices each capable of writing data to the shared storage device without going through the control device, and a priority control unit connected between each of the control device and the one or more devices and the shared storage device, and configured to perform control regarding writing of data from the control device and the one or more devices to the shared storage device based on a first priority set in a second device included in the control device or the one or more devices, and a second priority indicating a writing priority of a first device included in the one or more devices set by the control device.

[0007] A data storage method according to one aspect of the present disclosure is a data storage method executed by a data storage system mounted on a moving body. The data storage system includes a shared storage device, a control device capable of writing to the shared storage device, and one or more devices each capable of writing data to the shared storage device without going through the control device. The data storage method performs control regarding writing of data from the control device and the one or more devices to the shared storage device based on a first priority set in a second device included in the control device or the one or more devices, and a second priority indicating a writing priority of a first device included in the one or more devices set by the control device.

Effect of the Invention

[0008] According to one aspect of the present disclosure, it is possible to realize a data storage system or the like in which data related to vehicle running is suppressed from disappearing.

Brief Description of the Drawings

[0009]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Embodiments for Carrying Out the Invention

[0010] (Background Leading to the Present Disclosure) In a vehicle, it has been considered to provide a shared storage device in which a plurality of Hosts, a plurality of devices, etc. can commonly store data. However, in the shared storage device of the vehicle, when a data write access collision occurs to the shared storage device by a plurality of Hosts, a plurality of devices, etc., there is a risk that data related to vehicle running may be lost. The data related to vehicle running includes data acquired in the vehicle, for example, sensing results of sensors mounted on the vehicle, various Logs, etc. The data related to vehicle running includes, for example, data with a high safety risk in vehicle running. The data with a high safety risk in vehicle running may be, for example, data required for the vehicle to run safely, or data required when an external analyst analyzes the state of the vehicle.

[0011] Note that a write access collision means that two or more devices among a plurality of Hosts and a plurality of devices simultaneously execute a write access to the shared storage device. Simultaneous includes not only being completely simultaneous but also having a time difference within a predetermined time (for example, being substantially simultaneous).

[0012] On the other hand, regarding the technology for suppressing the loss of data with a high safety risk in vehicle driving when there is a collision in write access from a plurality of Hosts (for example, a plurality of ECUs) to a shared storage device, the applicant of the present application has filed Japanese Patent Application Laid-Open No. 2023-145314 as a prior patent application related to the original idea of the inventor. The prior patent application discloses applying prioritization considering the safety risk in vehicle driving to the VC (Virtual Channel) of PCIe (Peripheral Component Interconnect express) (registered trademark). Note that the prioritization may be applied to the VC of CXL (Compute Express Link) (registered trademark) or the like.

[0013] Therefore, in the present disclosure, mainly described is the technology for suppressing the loss of data with a high safety risk in vehicle driving and the like when a collision occurs in write access from a plurality of devices to a shared storage device, and when a collision occurs in write access from a device and a Host to the shared storage device.

[0014] Note that Patent Document 1 does not disclose a technology for suppressing the loss of data when a collision occurs in write access.

[0015] Hereinafter, embodiments and the like will be specifically described with reference to the drawings.

[0016] Note that all of the embodiments and the like described below show comprehensive or specific examples. The numerical values, shapes, components, arrangement positions and connection forms of the components, steps, order of steps, etc. shown in the following embodiments are merely examples and are not intended to limit the present disclosure. In addition, among the components in the following embodiments, the components not described in the independent claims are described as optional components.

[0017] Also, in each figure, substantially the same configuration is denoted by the same reference numeral, and overlapping descriptions are omitted or simplified.

[0018] In addition, in this specification, terms indicating the relationship between elements such as the same, as well as numerical values and numerical ranges, are not expressions representing only strict meanings, but are expressions meaning that they include substantially equivalent ranges, for example, differences of about several percent (or about 10%).

[0019] In addition, in this specification, ordinal numbers such as "first" and "second" do not mean the number or order of components, unless otherwise specified, and are used for the purpose of avoiding confusion and distinguishing between components of the same type.

[0020] (Embodiment) Hereinafter, a data storage system and a data storage method according to this embodiment will be described with reference to FIGS. 1 to 5.

[0021] [1. Configuration of Data Storage System] FIG. 1 is a block diagram showing the functional configuration of a data storage system 1 according to this embodiment.

[0022] The data storage system 1 is a system for storing data in the movement of a moving body, which is mounted on a moving body such as a vehicle, an aircraft (for example, a drone), a ship, or a railway. Hereinafter, an example in which the data storage system 1 is mounted on a vehicle will be described.

[0023] As shown in FIG. 1, the data storage system 1 includes a switch 10, a first host 20A and a second host 20B, a first device 30A and a second device 30B, and a shared storage device 40. Hereinafter, an example in which PCIe is used as an interface in the data storage system 1 will be described.

[0024] The switch 10, also referred to as a PCIe switch, has a function of distributing (Switching) the data output from the first host 20A and the second host 20B to downstream endpoint devices (in the example of FIG. 1, the first device 30A, the second device 30B, and the shared storage device 40).

[0025] For example, when the switch 10 outputs data from the first host 20A to the first device 30A, it acquires the data from the first host 20A via the first upstream port 12 (hereinafter also referred to as the first UP12), and distributes (outputs) the acquired data to the first device 30A via the first downstream port 14 (hereinafter also referred to as the first DP14). That is, the switch 10 communicably connects the first host 20A and the first device 30A. Note that the data may include, for example, the processing content to be executed by the first device 30A and the VC.

[0026] Also, for example, when the switch 10 writes (stores) data from the second host 20B to the shared storage device 40, it acquires the data from the second host 20B via the second upstream port 13 (hereinafter also referred to as the second UP13), and distributes (writes) the acquired data to the shared storage device 40 via the third downstream port 16 (hereinafter also referred to as the third DP16). That is, the switch 10 communicably connects the second host 20B and the shared storage device 40.

[0027] The switch 10 includes a priority control unit 11, a first UP12, a second UP13, a first DP14, a second downstream port 15 (hereinafter also referred to as the second DP15), and a third DP16.

[0028] The priority control unit 11 is connected between each of a plurality of Hosts and a plurality of devices and the shared storage device 40, and controls the writing of data from each of the plurality of Hosts and the plurality of devices to the shared storage device 40. When a write access to the shared storage device 40 collides, the priority control unit 11 controls the priority order of writing data to the shared storage device 40. Specifically, the priority control unit 11 performs control (priority control) to preferentially write one piece of data selected according to the value of the VC to the shared storage device 40. In the present embodiment, the priority control unit 11 performs write control to the shared storage device 40 for the data from each of the plurality of Hosts and the plurality of devices by round-robin control, for example.

[0029] The first UP 12 is an upstream port connected to the first Host 20A and the priority control unit 11.

[0030] The second UP 13 is an upstream port connected to the second Host 20B and the priority control unit 11.

[0031] The first DP 14 is a downstream port connected to the first device 30A and the priority control unit 11. The first DP 14 may have a storage unit that stores the VC (an example of the second priority level) set in the first device 30A (or the own device). The storage unit is realized by, for example, a semiconductor memory.

[0032] The second DP 15 is a downstream port connected to the second device 30B and the priority control unit 11. The second DP 15 may have a storage unit that stores the VC (an example of the first priority level) set in the second device 30B (or the own device). The storage unit is realized by, for example, a semiconductor memory.

[0033] The third DP 16 is a downstream port connected to the shared storage device 40 and the priority control unit 11.

[0034] The first host 20A and the second host 20B are examples of control devices, and are components (for example, circuits) that function as hosts in data communication via a PCIe bus (that is, PCIe communication), and correspond to root complex devices in the PCIe standard. The first host 20A and the second host 20B may include, for example, each functional component realized by a CPU (Central Processing Unit) or MPU (Micro Processor Unit) that executes processing, and a memory unit such as a ROM (Read Only Memory) and a RAM (Random Access Memory) that stores programs for causing each functional component to execute various processes. The first host 20A and the second host 20B may be realized by, for example, an ECU (Electronic Control Unit) mounted on a vehicle.

[0035] Note that the number of hosts included in the data storage system 1 is not particularly limited, and it may include only at least one of the first host 20A and the second host 20B (that is, only one host), or may include three or more hosts.

[0036] The first host 20A is connected to the first UP 12 of the switch 10 and has one or more master units (not shown) that are processing units that execute processing for writing different data to the shared storage device 40. Examples of the data include an event log related to an event in the vehicle, a video related to an event in the vehicle, and download information. In other words, examples of the processing executed by each of the one or more master units include recording of an event log, recording of a video, and downloading (recording of downloaded information).

[0037] The second host 20B is connected to the second UP 13 of the switch 10 and has one or more master parts (not shown) that execute processes for writing different data to the shared storage device 40. Examples of the data include an event log related to an event in the vehicle, a video related to an event in the vehicle, and download information. In other words, examples of the processes executed by each of the one or more master parts include recording an event log, recording a video, and downloading.

[0038] When the first host 20A and the second host 20B write data to the shared storage device 40, they store the VC (value of the VC) set in the host (or the connected DP) in the TC (Traffic Class) storage part (TC field) of the header of the data and output the data including the VC.

[0039] The first device 30A and the second device 30B are an example of a plurality of devices connected to the PCIe bus and correspond to, for example, endpoint devices in the PCIe standard. Also, the first device 30A and the second device 30B are realized by, for example, an Input / Output device or the like. The first device 30A and the second device 30B may include, for example, each functional component realized by a CPU or MPU that executes a process, and a memory part such as a ROM and a RAM that stores a program for causing each functional component to execute various processes. The first device 30A and the second device 30B may be a camera, a sonar, a network, a GPGPU (General-Purpose computing on Graphics Processing Units), or the like.

[0040] Note that the number of devices included in the data storage system 1 is not particularly limited, and it may include only at least one of the first device 30A and the second device 30B (that is, only one device), or may include three or more devices.

[0041] The first device 30A and the second device 30B may have a storage unit (not shown) that acquires the VC set in its own device from the Host and stores the acquired VC. The storage unit is realized by, for example, a semiconductor memory.

[0042] The first device 30A and the second device 30B can write data to the shared storage device 40 without going through the first Host 20A and the second Host 20B. That is, the data storage system 1 has a mechanism that allows direct communication between endpoint devices connected to the PCIe bus. Here, direct communication means that the endpoint devices communicate with each other without going through the Host.

[0043] In this way, in the access from the first device 30A and the second device 30B to the shared storage device 40, data can be transferred peer-to-peer (P2P) without going through the Host. That is, the first device 30A and the second device 30B perform data transfer using a method that does not require a VC. For example, the first device 30A and the second device 30B may perform DMA (Direct Memory Access) transfer of data to the shared storage device 40.

[0044] In this case, since there is a possibility that an appropriate VC is not set in each device, in this embodiment, the Host sets the VC of each device. The setting of the VC will be described later with reference to FIG. 2.

[0045] The shared storage device 40 is a storage device that is connected to each Host and each device and can write data from each Host and each device. The shared storage device 40 corresponds to, for example, an endpoint device in the PCIe standard. In this embodiment, the shared storage device 40 is a non-volatile storage device. The shared storage device 40 includes, for example, a substrate and a plurality of non-volatile semiconductor memories arranged on the substrate.

[0046] Further, the data storage system 1 may include one or more memories (e.g., a temporary memory) (not shown) for suppressing the loss of data (unselected data) whose access is awaited by the priority control unit 11. The priority control unit 11 may temporarily store the unselected data in the memory, and after writing the selected data to the shared storage device 40, write the data stored in the memory to the shared storage device 40. The data written to the shared storage device 40 is deleted from the memory. The memory is realized by, for example, a volatile semiconductor memory or the like.

[0047] [2. Operation of Data Storage System] Subsequently, the operation of the data storage system 1 configured as described above will be described with reference to FIGS. 2 to 5. First, the setting of the VC (value of VC) of each device by the Host will be described with reference to FIGS. 2 and 3. FIG. 2 is a sequence diagram showing the operation (data storage method) of setting the VC in the data storage system 1 according to the present embodiment. In FIG. 2, an example in which the first Host 20A sets the VC of each device 30 is illustrated. The device 30 includes, for example, a first device 30A and a second device 30B. Note that setting the VC means setting the value of the VC.

[0048] As shown in FIG. 2, first, the first Host 20A starts acquiring the driving state of the vehicle (an example of the state of a moving body) (S11). The first Host 20A may acquire the driving state from at least one of the devices 30, for example. In step S11, each Host may start acquiring the driving state of the vehicle. Also, the driving state of the vehicle is acquired at predetermined time intervals after step S12.

[0049] Next, each Host sets the VC of each master unit it has based on the driving state of the vehicle and a table for setting the VC (see FIG. 3 described later) (S12). Specifically, the first Host 20A sets the VC of each master unit it has based on the driving state of the vehicle and a table for setting the VC. Similarly, the second Host 20B sets the VC of each master unit it has based on the driving state of the vehicle and a table for setting the VC. Note that one Host (for example, the first Host 20A) may determine the processing content to be executed for each master unit in another Host other than itself, and set the VC corresponding to the determined processing content based on the VC setting table. In this case, the first Host 20A outputs the VC set for the other Host.

[0050] FIG. 3 is a diagram showing an example of a VC setting table according to the present embodiment. The VC setting table shown in FIG. 3 is, for example, a VC setting table commonly used for setting VCs in the data storage system 1, and may be stored in a storage unit (not shown) provided in each Host, or may be stored in the shared storage device 40. The VC setting table is an example of a common table for setting the first priority to the third priority.

[0051] As shown in FIG. 3, the VC setting table is a table in which VCs, priorities, access classifications, devices, processing classifications, and example processing contents are associated with each other.

[0052] The VC is information used for determining the priority order in the priority control unit 11. In the example of FIG. 3, eight levels from 0 to 7 are set. 0 to 7 are examples of VC values.

[0053] Priority indicates the degree of priority for writing data to the shared storage device 40 for each access classification (e.g., high, low). Figure 3 shows an example where the higher the value of VC, the higher the priority. Also, for example, when data in the ASIL (Automotive Safety Integrity Level) light collides with data in non-ASIL, it indicates that the data in the ASIL light is written to the shared storage device 40 with priority. Also, for example, it shows that the more important the data is for vehicle safety, the higher the priority is set.

[0054] Access classification indicates the classification of the process of writing data, and includes ASIL light, non-ASIL light, and communication (communication light). The ASIL light indicates access related to safety (writing of data related to safety), the non-ASIL light indicates access not related to safety (writing of data not related to safety), and communication indicates download access from a server device outside the vehicle (writing of downloaded data).

[0055] Device indicates information for identifying device 30. In the case of the configuration in Figure 1, the device indicates information for identifying the first device 30A, the second device 30B, etc.

[0056] Process classification indicates the process classification for data for each access classification, and includes event Log recording, event recording, continuous recording, continuous Log recording, download, etc.

[0057] Event Log recording and event recording are included in the access classification as ASIL Lite. Event Log recording is to record the Log related to events related to vehicle safety in the shared storage device 40. For example, as shown in the processing content example, it includes recording the Log before and after the risk detection in the obstacle detection. Event recording is to record videos and the like related to events related to vehicle safety. For example, as shown in the processing content example, it includes recording videos and detection analysis images before and after the risk detection in the obstacle detection.

[0058] Continuous recording and continuous Log recording are included in the access classification as non-ASIL Lite. Continuous recording is to continuously record videos not related to safety. For example, it includes driving video recording. Continuous Log recording is to continuously record Logs not related to safety. For example, it includes driving Logs (such as position information), own vehicle information (such as vehicle status), and passenger status (such as blood pressure).

[0059] Download is included in communication. Download is to download information from a server outside the vehicle. For example, as shown in the processing content example, it includes software updates such as OTA (Over The Air) and management data from the server device.

[0060] Note that the VC setting table shown in Figure 3 is an example. For example, the access classification may further include "entertainment", "HW (hardware) function", etc. Since the safety risk in vehicle driving is low for "entertainment", for example, VC0~1 may be set according to the processing content. Also, for "HW function", the VC according to the processing content may be set.

[0061] In this way, the value of VC, that is, the priority, is set not for each access classification but for each processing classification. For example, in the case of the VC setting table shown in Figure 3, when the write access of event Log recording and the write access of event recording conflict, the write access of event Log recording with a larger VC value (higher priority) is prioritized.

[0062] For each master part of each Host, a VC is allocated based on the VC setting table shown in FIG. 3. When setting the VC for each master part of the Host, the device items shown in FIG. 3 may be ignored.

[0063] Since the data to be handled by each master part is determined in advance, a VC setting table including the VC value corresponding to the data to be handled is prepared in advance. And, if the first Host 20A has the first to third master parts, the data handled by the first master part is the data of the event Log, the data handled by the second master part is the data of the event recording, and the data handled by the third master part is the data of the constant Log (running Log), the first Host 20A sets the VC value "7" for the first master part, the VC value "6" for the second master part, and the VC value "4" for the third master part.

[0064] Referring to FIG. 2 again, next, the first Host 20A sets the VC to the DP of each device 30 based on the running state of the vehicle and the VC setting table (S13). The first Host 20A determines the processing content to be executed on each device 30 according to the running state of the vehicle, and sets the VC corresponding to the determined processing content based on the VC setting table. The VC setting table used in step S13 is the same table as the VC setting table used in step S12 (for example, the VC setting table shown in FIG. 3). That is, the VC of each master part of each Host and the VC of each device 30 are set based on the same table (that is, the same standard).

[0065] Here, the setting of VC in the case where the first device 30A is a data processing device and the second device 30B is a device that inputs data from a camera or a sensor will be described. When it is detected that an event with a high safety risk in vehicle driving has occurred based on the driving state of the vehicle, and the first host 20A assigns event Log recording as a processing classification to the first device 30A, the first host 20A sets the VC value of the first device 30A to "7". Similarly, when the first host 20A assigns event recording as a processing classification to the second device 30B, the first host 20A sets the VC value of the second device 30B to "6". Note that examples of events with a high safety risk in vehicle driving include the occurrence of sudden braking and the detection of an approaching object, but it is not limited to this, and other events may also be possible. For example, the event is preset.

[0066] Also, in a situation where an event with a high safety risk in vehicle driving does not occur (for example, constantly) based on the driving state of the vehicle, when the first host 20A assigns constant Log recording as a processing classification to the first device 30A, the first host 20A sets the VC value of the first device 30A to any one of "2 to 4" according to the processing content. Similarly, when the first host 20A assigns constant recording as a processing classification to the second device 30B, the first host 20A sets the VC value of the second device 30B to "5".

[0067] In this way, the first host 20A may be configured to be able to set the processing content and VC of each master unit and each device 30 of its own device according to the driving state of the vehicle. That is, the first host 20A may dynamically change the VC of each master unit and each device 30 of its own device according to the driving state of the vehicle. Note that each host may set the VC of each device 30 in a shared manner. For example, the first host 20A may set the VC of at least one device (for example, the first device 30A).

[0068] Next, in addition to the processing content, the first host 20A outputs the set VC to each device 30 (S14). In step S14, the first host 20A notifies each device 30 of the processing content and the VC by, for example, PCIe communication. In addition to storing the processing content, each device 30 stores the acquired VC (S21). Note that the VC may be stored in a storage unit of the device itself, or may be stored in a storage unit of the DP to which the device 30 is connected.

[0069] Next, based on the driving state (for example, a change in the driving state), the first host 20A determines whether to change the processing content of each device 30 (S15). For example, when the driving state transitions from the occurrence of an event with a high safety risk and the non-occurrence of an event with a high safety risk or the occurrence of an event with a low safety risk, the first host 20A may determine to change the processing content of the device. In addition, the determination criterion for whether to change the processing content may be set for each device 30, for example. In this way, the first host 20A determines whether to change the processing content to be executed on each device 30 based on the driving state of the vehicle.

[0070] Next, when the first host 20A determines to change the processing content of the device 30 (Yes in S15), it changes the VC of the DP of the device 30 (S16). That is, the first host 20A re-sets (updates) the VC of the device 30 based on the driving state of the vehicle at that timing and the VC setting table. In addition, when the first host 20A determines not to change the processing content of the device 30 (No in S15), it does not perform the process of updating the processing content and the VC for the device 30.

[0071] Next, in addition to the changed processing content, the first host 20A outputs the changed VC to the device 30 (S17). In step S17, the first host 20A notifies the device 30 of the changed processing content and VC by, for example, PCIe communication. Further, the device 30 stores the acquired VC, that is, updates the stored VC (value of the VC) (S22). In this way, when the first host 20A determines to change the processing content of the device 30, it further updates the VC (an example of the second priority and the third priority) of the device 30 according to the changed processing content.

[0072] As a result, the processing content and VC corresponding to the running state of the vehicle at that time are set in each device 30. The update of the processing content and VC may be periodically executed while the vehicle is running.

[0073] Subsequently, the operation of the device 30 will be described with reference to FIG. 4. FIG. 4 is a flowchart showing the operation (data storage method) of the device 30 according to the present embodiment. Hereinafter, the operation of the first device 30A will be described with reference to FIG. 4.

[0074] As shown in FIG. 4, the first device 30A determines whether to perform a write access to the shared storage device 40 (S31). The first device 30A determines to perform a write access to the shared storage device 40, for example, when the execution timing of the processing content set by the first host 20A arrives.

[0075] Next, when the first device 30A determines to perform a write access to the shared storage device 40 (Yes in S31), it reads out the VC (value of the VC) set in its own device from the storage unit (S32). The first device 30A acquires the VC by, for example, reading it from the storage unit. Further, when the first device 30A determines not to perform a write access to the shared storage device 40 (No in S31), it returns to step S31 and continues the process.

[0076] Next, the first device 30A stores the VC acquired in step S32 in the TC storage section of the data header, and executes a write access to the shared storage device 40 for the data in which the VC is stored (S33). The first device 30A stores the value of the VC in the TC storage section of the header, which is information unnecessary for outputting data to the shared storage device 40 via P2P, and performs a write access.

[0077] As a result, since each piece of data input from each Host and each device 30 to the priority control unit 11 includes a VC, when a write access to the shared storage device 40 is executed, the priority control unit 11 can determine which data to give priority to for writing to the shared storage device 40 based on the VCs of the collided data.

[0078] If the DP stores the VC of the device 30, the processes shown in steps S32 and S33 may be executed by the DP. For example, the DP may acquire the VC by reading the VC of the device 30 stored in the storage section of its own device, store the VC in the TC storage section of the header of the data output from the device 30, and output the data in which the VC is stored to the shared storage device 40 via the priority control unit 11. That is, the VC may not be stored in the TC storage section of the header of the data from the device 30, and the VC may be stored in the TC storage section of the header in the DP.

[0079] Subsequently, the operation of the priority control unit 11 will be described with reference to FIG. 5. FIG. 5 is a flowchart showing the operation (data storage method) of the priority control unit 11 according to the present embodiment.

[0080] As shown in FIG. 5, the priority control unit 11 determines whether a write access to the shared storage device 40 has occurred (S41). If it is determined that a write access has occurred (Yes in S41), the process proceeds to step S42. If it is determined that a write access has not occurred (No in S41), the process returns to step S41 and the process continues.

[0081] Next, when the priority control unit 11 determines that a write access has occurred, it further determines whether a simultaneous access has occurred (S42). In step S42, the priority control unit 11 determines whether a write access to the shared storage device 40 has collided.

[0082] Next, when the priority control unit 11 determines that a simultaneous access has occurred (Yes in S42), it selects the access from the UP / DP with the largest VC included in the data among the simultaneous accesses that have occurred (S43). That is, when a simultaneous access has occurred, the priority control unit 11 prioritizes the access with the largest VC among two or more accesses in which the simultaneous access has occurred, and writes the data corresponding to the access to the shared storage device 40 with priority by outputting the data to the shared storage device 40. The priority control unit 11 acquires the value of the VC stored in the TC storage unit of the header of each piece of data in which a simultaneous access has occurred, and makes the determination in step S43.

[0083] For example, when a write access of data to the shared storage device 40 occurs simultaneously between any one of the Hosts and any one of the devices 30, the priority control unit 11 may select one of any one of the Hosts and any one of the devices 30 based on the first priority and the second priority, and write the data of the selected one to the shared storage device 40 with priority. Further, for example, when a write access of data to the shared storage device 40 occurs simultaneously in two or more of the devices 30, the priority control unit 11 may select one of the two or more devices 30 based on the priority of each of the two or more devices 30, and write the data of the selected one device 30 to the shared storage device 40 with priority. In this case, the priority of one of the two or more devices 30 is an example of the first priority, and the priority of another one of the two or more devices 30 is an example of the second priority.

[0084] Also, when the priority control unit 11 determines that no simultaneous access has occurred (No in S42), since there is only one access to the shared storage device 40, it selects the access from the current UP / DP (S44). That is, when no simultaneous access has occurred, the priority control unit 11 outputs the data corresponding to the acquired access to the shared storage device 40 without using the VC, thereby writing the data to the shared storage device 40.

[0085] In this way, in the data storage system 1, by performing priority control regarding the write access to the shared storage device 40 using the VC assigned to each device 30 and the VC assigned to each master unit in each Host, when the write access to the shared storage device 40 collides, it is possible to suppress the loss of data with a high safety risk in vehicle driving.

[0086] Note that when write accesses with the same VC value collide in the Host and the device 30, the priority control unit 11 may determine to prioritize the write access from the Host. Also, when write accesses with the same VC value collide between Hosts, or when write accesses with the same VC value collide between device 30s, the priority control unit 11 may perform priority control according to a preset priority order.

[0087] Note that in this embodiment, the priority control unit 11 has described the case where data write accesses to the shared storage device 40 occur simultaneously between any one of each Host and any one of each device 30, and the case where data write accesses to the shared storage device 40 occur simultaneously in two or more of each device 30. However, in addition to or instead of these two cases, the priority control unit 11 according to the present disclosure may perform write control to the shared storage device 40 based on the VC value stored in the TC storage unit of the data from each Host when the data write addresses to the shared storage device 40 occur simultaneously in each Host.

[0088] (Modification of the Embodiment) Hereinafter, the data storage system according to this modification will be described with reference to FIG. 6. In the following, the description will focus on the differences from the embodiment, and the description of the same or similar content as the embodiment will be omitted or simplified.

[0089] FIG. 6 is a block diagram showing the functional configuration of the data storage system 1a according to this modification. FIG. 6 shows the configuration of an example when the data storage system 1a is realized by HPC (High-Performance Computing).

[0090] As shown in FIG. 6, the data storage system 1a includes a switch 10a, a first host 20A and a second host 20B, each device 30, a shared storage device 40, a TCU (Telematic Control Unit) 50, and a network 60.

[0091] In addition to the switch 10 according to the embodiment, the switch 10a includes a fourth downstream port 17 (hereinafter also referred to as the fourth DP17) and a fifth downstream port 18 (hereinafter also referred to as the fifth DP18).

[0092] The fourth DP17 is a downstream port connected to the GPU (Graphics Processing Unit) expansion unit 34 and the priority control unit 11. The fourth DP17 may have a storage unit for storing the VC set in the GPU expansion unit 34 (or its own device). The storage unit is realized by, for example, a semiconductor memory.

[0093] The fifth DP18 is a downstream port connected to the connector 35 (function expansion unit 36 via the connector 35) and the priority control unit 11. The fifth DP18 may have a storage unit for storing the VC set in the connector 35 (or the function expansion unit 36). The storage unit is realized by, for example, a semiconductor memory.

[0094] In this modified example, the first host 20A functions as a CDC (Cockpit Domain Controller). The CDC is an in-vehicle computer for integrally controlling a group of cockpit products such as IVI (In-vehicle infotainment), meters, HUD (Head Up Display), and an occupant monitoring system.

[0095] Also, the first host 20A writes data (fourth data) such as program updates, information updates from a server device, and information obtained from the Internet, which is acquired via the TCU 50, to the shared storage device 40. As a result, the software of the vehicle can be updated by wireless communication, so that, for example, upgrades can be easily performed.

[0096] In this modified example, the second host 20B functions as a post-processing unit for AD (Autonomous Driving) / ADAS (Advanced Driver-Assistance Systems). The second host 20B performs predetermined post-processing on information used for the control of AD / ADAS. The predetermined post-processing is, for example, preset.

[0097] Each device 30 includes a processing unit 31, an NPU (Network Processing Unit) 33, a GPU expansion unit 34, and a connector 35.

[0098] The processing unit 31 acquires data from a sensor 32 (for example, a camera) for driving or occupant monitoring, performs predetermined pre-processing on the acquired data, and writes the data (first data) on which the predetermined pre-processing has been performed to the shared storage device 40. When the data is an image, the predetermined pre-processing is, for example, but not limited to, image processing. The predetermined pre-processing is preset. The processing unit 31 corresponds to, for example, the first device 30A shown in FIG. 1. The processing unit 31 may be configured to include each functional component such as a CPU or an MPU and a memory unit for causing each functional component to execute various processes.

[0099] The sensor 32 is a sensor attached to the vehicle and measuring the surroundings or the interior of the vehicle. The sensor is, for example, a camera, LiDAR (Light Detection And Ranging), etc., but is not limited thereto.

[0100] The NPU 33 performs, for example, AI processing on predetermined data. The predetermined data is, for example, the first data. The AI processing is not particularly limited, but may be, for example, object detection processing. The NPU 33 corresponds to the second device 30B shown in FIG. 1. The NPU 33 may be configured to include each functional component such as a CPU or an MPU, and a memory unit for causing each functional component to execute various processes.

[0101] In addition to the NPU 33, the second Host 20B also performs predetermined post-processing on the first data. A part of the data (second data) that is processed by the NPU 33 and the second Host 20B with respect to the first data and is used for the control of AD / ADAS in the vehicle is written to the shared storage device 40. Also, a part of the data (third data) that is processed by the NPU 33 and the second Host 20B with respect to the first data and is used for the control of occupant monitoring in the cockpit is written to the shared storage device 40.

[0102] The GPU expansion unit 34 performs graphics processing for expanding graphics display or functions, and writes the processed data (fifth data) to the shared storage device 40. The GPU expansion unit 34 may be configured to include each functional component such as a GPU, and a memory unit for causing each functional component to execute various processes.

[0103] The connector 35 is a connector for connecting the switch 10a and the function expansion unit 36.

[0104] The function expansion unit 36 is a device externally attached via a connector 35 in order to expand the functions of the data storage system 1a. The function expansion unit 36 may be, for example, an externally attached device for entertainment. The function expansion unit 36 writes predetermined data (sixth data) corresponding to the function expansion to the shared storage device 40.

[0105] The TCU 50 is connected to the first host 20A, has a communication interface with a network 60 outside the vehicle, and is a communication unit for performing two-way information communication between the vehicle and the outside (for example, performing two-way communication via OTA). The TCU 50 transmits, for example, information notified from the first host 20A to an external device (for example, a server device) via the network 60. Further, the TCU 50 receives data such as program updates, information updates from the server device, and information obtained from the Internet (for example, weather and traffic information) from an external device.

[0106] The network 60 is a communication network that communicably connects the vehicle and an external device. For example, a communication network such as the Internet is used, but it is not limited thereto.

[0107] As described above, according to the data storage system 1a, write access for storing the first data to the sixth data can be performed from each host and each device 30 to the shared storage device 40.

[0108] When write accesses to at least two of the first data to the sixth data collide, the priority control unit 11 performs priority control based on the value of the VC of the host (for example, the master unit of the host) or device that is the write source, and controls to write one data selected based on the value of the VC to the shared storage device 40.

[0109] For example, each Host sets the VC of each master unit it has based on the driving state of the vehicle and the VC setting table. Also, when each Host accesses each device 30, it sets the VC of each device 30. For example, the first Host 20A sets the VC of each device 30 based on the driving state of the vehicle and the VC setting table. For the first Host 20A, for example, when the current processing content is event Log recording, it assigns "7" to the VC of the NPU 33, and when it is event recording, it assigns "6" to the VC of the NPU 33. Also, for the first Host 20A, for example, when the current processing content is continuous recording, it assigns "5" to the VC of the NPU 33, and when it is continuous Log recording, it assigns any one of "2 to 4" according to the processing content.

[0110] For the first Host 20A, for example, since the safety risk in vehicle driving for the GPU expansion unit 34 is low, it assigns a VC of "0 to 1" according to the processing content.

[0111] The first Host 20A assigns a VC according to the processing content of the device connected via the connector 35 to the device. For example, when the function expansion unit 36 is an entertainment device, the first Host 20A assigns a VC of "0 to 1" according to the processing content because the safety risk in vehicle driving is low. Also, for example, when the function expansion unit 36 is an expansion device for HW functions, the first Host 20A assigns a VC according to the safety risk in vehicle driving. Also, when the second Host 20B also accesses each device 30, it performs the same operation as the first Host 20A.

[0112] Here, in DPs other than the DP to which the shared storage device 40 is connected, the value of the VC assigned above is held until the VC assignment from the Host is changed. Thereby, the VC is properly set when accessing the shared storage device 40 from the device 30, and the priority control by the VC of the present disclosure becomes possible in the priority control unit 11.

[0113] Note that when accessing the shared storage device 40 from the Host, since the value of the VC is set in the TC storage section of the header at the time of access from the Host to the shared storage device 40, it is not necessary to allocate a VC as in the device 30.

[0114] (Other Embodiments) As described above, the data storage system and the data storage method according to one or more aspects have been described based on the embodiments and the like. However, the present disclosure is not limited to these embodiments and the like. As long as the gist of the present disclosure is not deviated from, various modifications conceived by those skilled in the art applied to this embodiment, or forms constructed by combining components in different embodiments may also be included in the present disclosure.

[0115] For example, in the above embodiments, PCIe is exemplified as the interface, but it is not limited thereto. For example, CXL (Compute Express Link), Ethernet, etc. may be used as the interface, or other interfaces may be used. When CXL is used as the interface, information indicating the priority of the data may be included in the TC storage unit (TC field) in the header of the data. In this case, the first host 20A and the second host 20B are components (e.g., circuits) that function as hosts in data communication via the CXL bus (i.e., CXL communication), corresponding to the root complex device in the CXL standard, and the first device 30A, the second device 30B, and the shared storage device 40 correspond to the endpoint devices in the CXL standard. For example, when the communication between the first host 20A and the second host 20B and the shared storage device 40, and the communication between the first device 30A and the second device 30B and the shared storage device 40 are each performed according to the CXL standard, the first priority and the second priority are stored in the TC storage unit of the header part of the data, and the priority control unit 11 may control the writing of data to the shared storage device 40 based on the first priority and the second priority stored in the TC storage unit of the data. Note that, for example, even when the communication between the first host 20A and the second host 20B and the shared storage device 40, and the communication between the first device 30A and the second device 30B and the shared storage device 40 are each performed according to the PCI Express standard, similarly, the first priority and the second priority are stored in the TC storage unit of the header part of the data, and the priority control unit 11 may control the writing of data to the shared storage device 40 based on the first priority and the second priority stored in the TC storage unit of the data. Also, when Ethernet is used as the interface, information indicating the priority of the data may be included in the PCP (Priority Code Point), IP Precedence, or DSCP (Differentiated Services Code Point) of the Virtual LAN (VLAN) included in the header of the Ethernet frame.

[0116] Further, for example, when the priority control unit in the above-described embodiments outputs data from each device to the shared storage device, the value of VC stored in the TC storage unit of the header of the data may be deleted. Thereby, the capacity of the data can be slightly reduced.

[0117] Also, in the above-described embodiments, each component may be configured by dedicated hardware or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.

[0118] Also, the order in which each step in the flowchart is executed is for illustrative purposes to specifically describe the present disclosure, and may be in an order other than the above. Also, some of the above steps may be executed simultaneously (in parallel) with other steps, or some of the above steps may not be executed.

[0119] Also, the division of the functional blocks in the block diagram is an example, and a plurality of functional blocks may be realized as one functional block, one functional block may be divided into a plurality, or some functions may be transferred to other functional blocks. Also, the functions of a plurality of functional blocks having similar functions may be processed by a single piece of hardware or software in parallel or in a time-sharing manner.

[0120] Also, the data storage system according to the above-described embodiments may be realized as a single device or may be realized by a plurality of devices. When the data storage system is realized by a plurality of devices, each component included in the data storage system may be distributed among the plurality of devices in any manner. When the data storage system is realized by a plurality of devices, the communication method between the plurality of devices is not particularly limited and may be wireless communication or may be wired communication. Also, wireless communication and wired communication may be combined between the devices.

[0121] In addition, each component described in the above embodiments and the like may be implemented as software, or typically, may be implemented as an LSI which is an integrated circuit. These may be integrated into individual chips, or may be integrated into one chip so as to include some or all of them. Here, an LSI is used as an example, but depending on the degree of integration, it may also be referred to as an IC, a system LSI, a super LSI, or an ultra LSI. Also, the method of integrating circuits is not limited to LSI, and it may be implemented by a dedicated circuit (a general-purpose circuit that executes a dedicated program) or a general-purpose processor. After manufacturing the LSI, an FPGA (Field Programmable Gate Array) that can be programmed, or a reconfigurable processor that can reconfigure the connection or setting of circuit cells inside the LSI may be used. Furthermore, if a technology for integrating circuits that replaces the LSI appears due to the progress of semiconductor technology or a derived alternative technology, naturally, the integration of components may be performed using that technology.

[0122] A system LSI is a super multi-functional LSI manufactured by integrating a plurality of processing units on one chip. Specifically, it is a computer system including a microprocessor, a ROM, a RAM, and the like. A computer program is stored in the ROM. By operating according to the computer program, the microprocessor enables the system LSI to achieve its functions.

[0123] Also, one aspect of the present disclosure may be a computer program that causes a computer to execute each characteristic step included in the data storage method shown in any one of FIGS. 2, 4, and 5.

[0124] Also, for example, the program may be a program for causing a computer to execute. Further, one aspect of the present disclosure may be a computer-readable non-transitory recording medium on which such a program is recorded. For example, such a program may be recorded on a recording medium and distributed or circulated. For example, the distributed program may be installed in a device having another processor, and by causing the processor to execute the program, it is possible to cause the device to perform each of the above processes.

[0125] (Appendix) (Technology 1) A data storage system mounted on a moving body, comprising: a shared storage device; a control device (e.g., the first Host 20A) that can write to the shared storage device; one or more devices (e.g., the first device 30A, the second device 30B) that can write data to the shared storage device without going through the control device; and a priority control unit that is connected between each of the control device and the one or more devices and the shared storage device, and performs control regarding writing of data from the control device and the one or more devices to the shared storage device based on a first priority (e.g., VC) set in a second device included in the control device or the one or more devices, and a second priority (e.g., VC) indicating the writing priority of a first device included in the one or more devices set by the control device.

[0126] Thereby, since the control device sets the second priority for the first device 30A, when a write access conflict occurs between the control device or the second device 30B and the first device 30A, the priority control unit 11 can determine which data to prioritize writing to the shared storage device 40 based on the first priority and the second priority. Therefore, the data storage system 1 can suppress the disappearance of data related to vehicle travel when a write access conflict occurs between the control device or the second device 30B and the first device 30A.

[0127] (Technology 2) When a write access to the shared storage device occurs simultaneously in the control device and the first device, the priority control unit selects one of the control device and the first device based on the first priority and the second priority set in the control device, and preferentially writes the data of the selected one of them to the shared storage device. This is the data storage system 1 of Technology 1.

[0128] As a result, when the write accesses of the control device and the first device 30A collide, the data storage system 1 can suppress the loss of data related to vehicle running based on the first priority and the second priority.

[0129] (Technology 3) The control device sets the first priority indicating the write priority of the second device to the second device. When a write access to the shared storage device occurs simultaneously in the first device and the second device, the priority control unit selects one of the first device and the second device based on the first priority and the second priority, and preferentially writes the data of the selected one of them to the shared storage device. This is the data storage system 1 of Technology 1.

[0130] As a result, since the first priority is set to the second device 30B by the control device, when the write accesses of the first device 30A and the second device 30B collide, the data storage system 1 can suppress the loss of data related to vehicle running based on the first priority and the second priority.

[0131] (Technology 4) The control device allocates the processing content to be executed by the first device based on the state of the moving body, and sets the second priority corresponding to the allocated processing content to the first device. This is the data storage system 1 according to any one of Technologies 1 to 3.

[0132] Accordingly, the control device can set a second priority according to the state of the moving body. For example, when the state of the moving body is a state with a high safety risk during movement, the control device can set the second priority high to suppress the loss of data with a high safety risk in the movement of the moving body.

[0133] (Technology 5) The control device determines whether to change the content of the process to be executed by the first device based on the state of the moving body. When it is determined to change the content of the process, the second priority is further updated according to the changed content of the process. This is the data storage system 1 of Technology 4.

[0134] Accordingly, when the content of the process of the first device 30A is changed, the second priority (for example, VC) is updated accordingly. Therefore, the second priority according to the state of the moving body at that time can be set for the first device 30A. Thus, the determination (priority control) in the priority control unit 11 when a write access collision occurs can be performed more accurately.

[0135] (Technology 6) A switch having the priority control unit is provided. The switch has an upstream port to which the control device is connected and a downstream port to which the first device is connected and which stores the second priority. This is the data storage system 1 of any one of Technologies 1 to 5.

[0136] Accordingly, when a write access collision occurs between the control device connected to the upstream port and the first device 30A connected to the downstream port, it is possible to suppress the loss of data related to vehicle running.

[0137] (Technology 7) The first device DMA-transfers data to the shared storage device. This is the data storage system 1 of any one of Technologies 1 to 6.

[0138] Thus, even when the first device 30A communicates using a transfer method that does not use VC in communication such as DMA transfer, the control device sets the second priority for the first device 30A, so that it is possible to more reliably suppress the loss of data related to vehicle running.

[0139] (Technique 8) The control device is a root complex device in the PCI Express standard, and the first device is an endpoint device in the PCI Express standard, which is the data storage system 1 according to any one of Techniques 1 to 7.

[0140] Thus, when PCI Express is used as an interface, it is possible to suppress the loss of data related to vehicle running when a write access collision occurs between the root complex device and the endpoint device.

[0141] (Technique 9) Communication is performed between the control device, the one or more devices, and the shared storage device according to the PCI Express standard. The first priority and the second priority are stored in the TC storage part of the header part of the data. The priority control part controls the writing of data to the shared storage device based on the first priority and the second priority stored in the TC storage part of the data, which is the data storage system 1 according to any one of Techniques 1 to 7.

[0142] Thus, when communication is performed according to the PCI Express standard, it is possible to suppress the loss of data when a write access collision occurs between the write access by the control device and the write access by one or more devices.

[0143] (Technique 10) The control device is a root complex device in the CXL (Compute Express Link) standard, and the first device is an endpoint device in the CXL standard, which is the data storage system 1 according to any one of Techniques 1 to 7.

[0144] Thus, when CXL is used as the interface, it is possible to prevent data related to vehicle driving from being lost when a write access conflict occurs between the root complex device and the endpoint device.

[0145] (Technical 11) Communication is performed between the control device, the one or more devices, and the shared storage device in accordance with the CXL standard. The first priority and the second priority are stored in the TC storage section of the header section of the data. The priority control section controls the writing of data to the shared storage device based on the first priority and the second priority stored in the TC storage section of the data. This is the data storage system 1 according to any one of Technologies 1 to 7.

[0146] Thus, when communication is performed in accordance with the CXL standard, it is possible to prevent data from being lost when a write access conflict occurs between a write access by the control device and a write access by one or more devices.

[0147] (Technical 12) The first device includes at least one of a camera, a sonar, a network, and a GPGPU. This is the data storage system 1 according to any one of Technologies 1 to 9.

[0148] Thus, it is possible to prevent data of at least one of a camera, a sonar, a network, and a GPGPU mounted on the moving body from being lost.

[0149] (Technical 13) The data storage system 1 according to any one of Technologies 1 to 10 includes a storage section that stores a common table for setting the first priority and the second priority.

[0150] Thus, the control device can easily set the first priority and the second priority by using the table.

[0151] (Technology 14) A data storage method executed by a data storage system mounted on a mobile body, wherein the data storage system includes a shared storage device, a control device (e.g., the first Host 20A) that can write to the shared storage device, and one or more devices (e.g., the first device 30A, the second device 30B) that can write data to the shared storage device without going through the control device. The data storage method performs control related to writing data from the control device and the one or more devices to the shared storage device based on a first priority set in a second device included in the control device or the one or more devices, and a second priority indicating the writing priority of a first device included in the one or more devices set by the control device.

[0152] This achieves the same effect as the above data storage system 1.

Industrial Applicability

[0153] The present disclosure is useful for a data storage system that stores data acquired by a mobile body such as a vehicle.

Explanation of Reference Numerals

[0154] 1, 1a Data storage system 10, 10a Switch 11 Priority control unit 12 First upstream port (First UP) 13 Second upstream port (Second UP) 14 First downstream port (First DP) 15 Second downstream port (Second DP) 16 Third downstream port (Third DP) 17 Fourth downstream port (Fourth DP) 18 Fifth downstream port (Fifth DP) 20A First Host (Control device) 20B Second Host (Control device) 30 Devices 30A First Device (Device) 30B Second Device (Device) 31 Processing Unit (Device) 32 Sensor 33 NPU (Device) 34 GPU Expansion Unit (Device) 35 Connector (Device) 36 Function Expansion Unit 40 Shared Storage Device

Claims

1. A data storage system mounted on a moving object, comprising: A shared storage device; A control device capable of writing to the shared storage device; one or more devices, each of which can write data to the shared storage device without going through the control device; a priority control unit that is connected between the control device and each of the one or more devices and the shared storage device, and controls writing of data from the control device and the one or more devices to the shared storage device based on a first priority set in the control device or a second device included in the one or more devices, and a second priority set by the control device and indicating a writing priority of a first device included in the one or more devices. Data storage system.

2. When data write access to the shared storage device occurs simultaneously in the control device and the first device, the priority control unit selects one of the control device and the first device based on the first priority and the second priority set in the control device, and writes data of the selected one to the shared storage device with priority. The data storage system according to claim 1 .

3. the control device sets the first priority, which indicates a writing priority of the second device, to the second device; When data write access to the shared storage device occurs simultaneously in the first device and the second device, the priority control unit selects one of the first device and the second device based on the first priority and the second priority, and writes data of the selected one of the devices to the shared storage device with priority. The data storage system according to claim 1 .

4. The control device assigns processing content to be executed by the first device based on a state of the moving object, and sets the second priority level for the first device according to the assigned processing content. The data storage system according to any one of claims 1 to 3.

5. The control device determines whether or not to change the processing content to be executed by the first device based on the state of the moving object, and when it is determined that the processing content is to be changed, updates the second priority according to the changed processing content. The data storage system according to claim 4.

6. a switch having the priority control unit, The switch is an upstream port to which the control device is connected; a downstream port to which the first device is connected and which stores the second priority; The data storage system according to any one of claims 1 to 3.

7. The first device transfers data to the shared storage device using DMA (Direct Memory Access). The data storage system according to any one of claims 1 to 3.

8. the control device is a root complex device in the PCI Express standard, The first device is an endpoint device in the PCI Express standard. The data storage system according to any one of claims 1 to 3.

9. communication is performed between the control device and the one or more devices and the shared storage device in accordance with a PCI Express standard; the first priority and the second priority are stored in a TC storage section of a header section of the data, The priority control unit controls writing of data to the shared storage device based on the first priority and the second priority stored in a TC storage unit of the data. The data storage system according to any one of claims 1 to 3.

10. The control device is a root complex device in the CXL (Compute Express Link) standard, The first device is an endpoint device in the CXL standard. The data storage system according to any one of claims 1 to 3.

11. communication is performed between the control device and the one or more devices and the shared storage device in accordance with the CXL standard; the first priority and the second priority are stored in a TC storage section of a header section of the data, The priority control unit controls writing of data to the shared storage device based on the first priority and the second priority stored in a TC storage unit of the data. The data storage system according to any one of claims 1 to 3.

12. The first device includes at least one of a camera, a sonar, a network, and a general-purpose computing on graphics processing unit (GPGPU). The data storage system according to any one of claims 1 to 3.

13. A storage unit is provided for storing a common table for setting the first priority and the second priority. The data storage system according to any one of claims 1 to 3.

14. A data storage method executed by a data storage system mounted on a moving object, comprising: The data storage system includes: A shared storage device; A control device capable of writing to the shared storage device; each of which comprises one or more devices capable of writing data to the shared storage device without going through the control device; The data storage method includes: Control of writing data from the control device and the one or more devices to the shared storage device is performed based on a first priority set to the control device or a second device included in the one or more devices, and a second priority indicating a writing priority of a first device included in the one or more devices set by the control device. How data is stored.

Citation Information

Patent Citations

  • Vehicle recording device and information recording method

    JP2021174413A