Channel management
By adopting the dynamic allocation technology of metaphoton waveguides and channels on the automotive platform, combined with the determination of data types and priority levels, the crosstalk and jitter problems under limited channels are solved, and higher quality and reliable data transmission is achieved.
Patent Information
- Application Number
- CN202411340934.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-13
- Filing Date
- 2024-09-25
- Publication Date
- 2025-05-13
AI Technical Summary
The prior art is difficult to effectively manage a limited number of channels on automotive platforms, resulting in crosstalk and jitter problems, affecting the quality and reliability of data transmission.
Using dynamic allocation technology of metaphoton waveguides and channels (waveguide subcarriers), the controller determines the type and priority of data, dynamically allocates the channel subset, and retains unused channel gaps between the channel subsets to reduce crosstalk.
By dynamically allocating channels and reservation gaps, crosstalk and jitter are significantly reduced, improving the quality and reliability of data transmission, especially in high-bandwidth, low-latency communication scenarios.
Smart Images

Figure CN119995718A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to devices, systems, and methods associated with channel management for data within a network. Background Art
[0002] The computing device may be, for example, a personal laptop computer, a desktop computer, a smart phone, smart glasses, a tablet computer, a wrist-worn device, a mobile device, a digital camera, a network server, a vehicle, and / or redundant combinations thereof, as well as other types of computing devices.
[0003] A computing device may be used to perform operations. For example, performing operations may include communicating with other devices and / or systems. Communicating with other devices and / or systems may utilize resources of the computing device. For example, performing operations may utilize memory resources, processing resources, and power resources. Summary of the invention
[0004] In one aspect, the present disclosure provides an optical communication system, comprising: an optical source configured to send an optical signal; a meta-waveguide having a finite number of channels, the meta-waveguide coupled to the optical source and configured to transmit the optical signal; and a controller coupled to the optical source and the meta-waveguide, the controller being configured to: determine a type of data to be sent via the meta-waveguide, cause an optical signal indicating the data to be sent through at least one of the channels; and, depending on the type of the data, cause a gap including at least one unutilized channel to be reserved between the at least one channel and another utilized channel.
[0005] In another aspect, the present disclosure provides an optical communication method, comprising: determining a first priority level of first data to be sent as a first optical signal via a meta-waveguide having a limited number of channels; determining a second priority level of second data to be sent as a second optical signal via the meta-waveguide; determining a first subset of the channels via which the first data is to be sent; determining a second subset of the channels via which the second data is to be sent; depending on the first priority level and the second priority level, reserving a gap including unutilized channels between the first subset of channels and the second subset of channels; sending the first signal via the first subset of channels; and sending the second signal via the second subset of channels.
[0006] In another aspect, the present disclosure provides an advanced driver assistance system (ADAS), comprising: a memory device; a plurality of vehicle data sources; a meta-waveguide comprising a plurality of channels coupled to the memory device; and a controller coupled to the memory device, the plurality of vehicle data sources, and the meta-waveguide, wherein the controller is configured to: determine a priority level of data received from the plurality of vehicle data sources; reserve a gap including at least one unutilized channel between a first channel for exchanging the first type of data with the memory device and a second channel for exchanging the second type of data with the memory device depending on a first priority level of the first type of data and a second priority level of the second type of data; exchange the first type of data with the memory device via the first channel; and exchange the second type of data with the memory device via the second channel. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 An example computing system including a memory subsystem according to some embodiments of the present disclosure is described.
[0008] Figure 2 A network for channel management according to some embodiments of the present disclosure is described.
[0009] Figure 3 is a flow chart illustrating a method for using a channel management tool according to some embodiments of the present disclosure.
[0010] Figure 4 An example of a system including a computing system in a vehicle according to some embodiments of the present disclosure is described.
[0011] Figure 5 is a block diagram of an example computer system in which embodiments of the present disclosure may operate. DETAILED DESCRIPTION
[0012] The present disclosure includes devices, methods and systems associated with channel management of data within a network. Recent automotive applications have a large number of low-complexity electronic control units (ECUs) connected by buses operating according to standards such as controller area networks (CAN), FlexRay or media-oriented systems transport (MOST). However, automotive applications and platforms are moving towards high-bandwidth, low-latency communications across fewer high-complexity computing nodes. Future automotive platforms may be composed of fewer high-performance computing and memory devices that can deliver level 3 or higher (L3+) advanced driver assistance system (ADAS) features on demand. The on-demand aspect of automotive workloads may result in large variations in data movement across communication channels, which may result in higher jitter rates. Jitter is a deviation from the true periodicity of an expected periodic signal (carrier or subcarrier), which may be caused by interference and / or crosstalk with the carrier of other signals. Crosstalk is a phenomenon due to which a signal transmitted on one channel produces an undesirable effect in another channel. Therefore, the disclosure herein describes a crosstalk-aware time-sensitive network for an automotive platform that employs dynamic allocation of meta-photonic waveguides and channels (waveguide subcarriers). A meta-waveguide consists of a finite number of subcarrier channels. As described herein, a group of processes associated with a specific functional aspect of an automotive platform may be assigned one or more channels in a waveguide. Channels are allocated so that gaps are created between utilized channels. The gaps provided by unutilized channels are maximized based on the function and priority of the data, which enables crosstalk reduction.
[0013] In situations where a channel requires increased crosstalk protection (e.g., where a channel is assigned to a critical situation), the microring resonator modulating the channel can be electro-optically tuned so that the channel selection is shifted, thereby achieving higher channel spacing at the expense of increased energy consumption. In addition, the spacing between channels can be optimized to ensure the safety and reliability of the system. For example, a channel carrying highly sensitive information that can affect the safety of passengers (e.g., ADAS) is channel-gapped from other non-critical applications. In addition, using this embodiment, applications that experience higher jitter can be assigned additional channels, effectively doubling the bandwidth available to the process.
[0014] Embodiments include a network including a channel management device and a processing device. The channel management device may be configured to allocate a subset of channels for sending data, reserve gaps between channels for sending data, and send data on the allocated channels within the subset of channels. The channel management device may be communicatively coupled to a computing system and configured to reduce crosstalk by reserving gaps between data to be sent in the network through the channels.
[0015] When sending optical signals through channels, embodiments of the present disclosure can reduce and / or prevent crosstalk. An optical communication system may include: an optical source configured to send an optical signal; a meta-waveguide having a finite number of channels, the meta-waveguide coupled to the optical source and configured to transmit the optical signal; and a controller coupled to the optical source and the meta-waveguide, the controller configured to determine a type of data to be sent via the meta-waveguide, cause an optical signal indicating the data to be sent through at least one of the channels, and, depending on the type of the data, cause a gap including at least one unutilized channel to be retained between the at least one channel and another utilized channel.
[0016] The figures herein follow a numbering convention in which the first digit or digits correspond to the figure number of the drawing and the remaining digits identify the element or component in the drawing. Similar elements or components between different figures may be identified by using similar numerals. For example, reference numeral 115 may refer to Figure 1 Element "15" in , and similar elements in Figure 4 415. Multiple similar elements within a figure may be referenced by a reference numeral followed by a hyphen and another number or letter. For example, 200-1 may refer to Figure 2 200-1 and 200-2 in the figure may refer to reference element 200-2, which may be similar to element 203-1. Such similar elements may be generally labeled without hyphens and additional numbers or letters. For example, elements 200-1, 200-2, and / or 200-M or other similar elements may be collectively referred to as 200.
[0017] As used herein, "a", "an" or "several" may refer to one or more things, and "plurality" may refer to two or more such things. For example, a memory device may refer to one or more memory devices, and a plurality of memory devices may refer to two or more memory devices. In addition, the designators "A", "M", "N", "P", "Q", etc. used herein (especially with respect to reference numerals in the drawings) indicate that a number of the particular features so indicated may be included in several embodiments of the present disclosure.
[0018] Figure 1 An example computing system 100 is illustrated that includes a memory subsystem 110 according to some embodiments of the present disclosure. Memory subsystem 110 may include media such as one or more volatile memory devices (such as memory device 140), one or more non-volatile memory devices (such as memory device 130), or a combination thereof.
[0019] The memory subsystem 110 may be a storage device, a memory module, or a mixture of storage devices and memory modules. Examples of storage devices include solid state drives (SSDs), flash memory drives, universal serial bus (USB) flash drives, embedded multimedia controller (eMMC) drives, universal flash storage (UFS) drives, secure digital (SD) cards, and hard disk drives (HDDs). Examples of memory modules include dual in-line memory modules (DIMMs), small outline DIMMs (SO-DIMMs), and various types of non-volatile dual in-line memory modules (NVDIMMs).
[0020] The computing system 100 may be a computing device such as a desktop computer, a laptop computer, a network server, a mobile device, a vehicle (such as an airplane, drone, train, car, or other transportation vehicle), a device with Internet of Things (IoT) capabilities, an embedded computer (e.g., an embedded computer included in a vehicle, industrial equipment, or a networked commercial device), or such a computing device that includes a memory and a processing device.
[0021] The computing system 100 may include a host system 120 coupled to one or more memory subsystems 110. In some embodiments, the host system 120 may be coupled to memory subsystems 110 of different types. Figure 1 An example of a host system 120 coupled to one memory subsystem 110 is illustrated. As used herein, the term "coupled to" or "coupled with" may refer to a connection between components, which may be an indirect communication connection or a direct communication connection (e.g., without intervening components), whether wired or wireless, including connections such as electrical, optical, magnetic, etc.
[0022] The host system 120 may include a processor chipset and a software stack executed by the processor chipset. The processor chipset may include one or more cores, one or more caches, a memory controller (e.g., an NVDIMM controller), and a storage protocol controller (e.g., a PCIe controller, a SATA controller). The host system 120 uses the memory subsystem 110, for example, to write data to the memory subsystem 110 and read data from the memory subsystem 110.
[0023] The host system 120 may be coupled to the memory subsystem 110 via an interface, such as a physical host interface. Examples of interfaces include, but are not limited to, a Serial Advanced Technology Attachment (SATA) interface, a Peripheral Component Interconnect Express (PCIe) interface, a Universal Serial Bus (USB) interface, a Fibre Channel, a Small Computer System Interface (SCSI), a Serial Attached SCSI (SAS), a Dual In-line Memory Module (DIMM) interface (e.g., a DIMM slot interface supporting a Double Data Rate (DDR)), an Open NAND Flash Interface (ONFI), a Double Data Rate (DDR), a Low Power Double Data Rate (LPDDR), a Universal Serial Bus (USB), or any other interface. The interface may be used to transfer data between the host system 120 and the memory subsystem 110. When the memory subsystem 110 is coupled to the host system 120 through a PCIe interface, the host system 120 may further utilize an NVM Express (NVMe) interface to access memory components, such as the memory device 130. The interface may provide a means for passing control, address, data, and other signals between the memory subsystem 110 and the host system 120. Figure 1 Memory subsystem 110 is illustrated as an example. In general, host system 120 can access multiple memory subsystems via the same communication connection, multiple separate communication connections, and / or a combination of communication connections.
[0024] Memory devices 130, 140 may include any combination of different types of non-volatile memory devices and / or volatile memory devices. Volatile memory devices such as memory device 140 may be, but are not limited to, random access memory (RAM), such as dynamic random access memory (DRAM) and synchronous dynamic random access memory (SDRAM).
[0025] Some examples of nonvolatile memory devices (eg, memory device 130) include NAND flash memory and write-in-place memory. NAND flash memory includes, for example, two-dimensional NAND (2D NAND) and three-dimensional NAND (3D NAND).
[0026] Each of the memory devices 130 may include one or more memory cell arrays. One type of memory cell, such as a single level cell (SLC), may store one bit per cell. Other types of memory cells, such as multi-level cells (MLC), three-level cells (TLC), four-level cells (QLC), and five-level cells (PLC), may store multiple bits per cell. In some embodiments, each of the memory devices 130 may include one or more memory cell arrays, such as SLC, MLC, TLC, QLC, or any combination thereof. In some embodiments, a particular memory device may include an SLC portion and an MLC portion, a TLC portion, a QLC portion, or a PLC portion of a memory cell. The memory cells of the memory device 130 may be grouped into pages, which may refer to a logical unit of a memory device for storing data. For some types of memory, such as NAND, pages may be grouped to form blocks.
[0027] Although non-volatile memory components such as NAND-type memories (e.g., 2D NAND, 3D NAND) have been described, the memory device 130 may be based on any other type of non-volatile memory or storage device, such as read-only memory (ROM), phase-change memory (PCM), self-select memory, other chalcogenide-based memories, ferroelectric transistor random access memory (FeTRAM), ferroelectric random access memory (FeRAM), magnetic random access memory (MRAM), spin transfer torque (STT)-MRAM, conductive bridging RAM (CBRAM), resistive random access memory (RRAM), oxide-based RRAM (OxRAM), "NOR" (NOR) flash memory, and electrically erasable programmable read-only memory (EEPROM).
[0028] The memory subsystem controller 115 (or, for simplicity, controller 115) may communicate with the memory device 130 to perform operations, such as reading data, writing data, or erasing data at the memory device 130, and other such operations. The memory subsystem controller 115 may include hardware, such as one or more integrated circuits and / or discrete components, buffer memory, or a combination thereof. The hardware may include digital circuitry with dedicated (i.e., hard-coded) logic for performing the operations described herein. The memory subsystem controller 115 may be a microcontroller, dedicated logic circuitry (e.g., a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), etc.), or other suitable processor.
[0029] The memory subsystem controller 115 may be a processing device including one or more processors, such as the processor 117, configured to execute instructions stored in a local memory 119. In the illustrated example, the local memory 119 of the memory subsystem controller 115 includes an embedded memory configured to store instructions for executing various processes, operations, logic flows, and routines that control the operation of the memory subsystem 110, including handling communications between the memory subsystem 110 and the host system 120.
[0030] In some embodiments, local memory 119 may include memory registers that store memory pointers, fetched data, etc. Local memory 119 may also include read-only memory (ROM) for storing microcode. Figure 1 The example memory subsystem 110 in FIG. 1 has been described as including a memory subsystem controller 115, but in another embodiment of the present disclosure, the memory subsystem 110 does not include a memory subsystem controller 115, but may rely on external control (e.g., provided by an external host or by a processor or controller separate from the memory subsystem).
[0031] In general, the memory subsystem controller 115 may receive commands or operations from the host system 120 and may convert the commands or operations into instructions or appropriate commands to achieve the desired access to the memory device 130 and / or the memory device 140. The memory subsystem controller 115 may be responsible for other operations such as wear leveling operations, garbage collection operations, error detection and error correction code (ECC) operations, encryption operations, cache operations, and address translation between logical addresses (e.g., logical block addresses (LBA), namespaces) and physical addresses (e.g., physical block addresses) associated with the memory device 130. The memory subsystem controller 115 may further include a host interface (not shown) circuit system to communicate with the host system 120 via a physical host interface (not shown). The host interface circuit system may convert commands received from the host system 120 into command instructions to access the memory device 130 and / or the memory device 140, and also convert responses associated with the memory device 130 and / or the memory device 140 into information for the host system 120.
[0032] The memory subsystem 110 may also include additional circuitry or components not illustrated. In some embodiments, the memory subsystem 110 may include a cache or buffer (e.g., a DRAM) and address circuitry (e.g., a row decoder and a column decoder) that may receive addresses from the memory subsystem controller 115 and decode the addresses to access the memory device 130 and / or the memory device 140.
[0033] In some embodiments, the memory device 130 includes a local media controller 139 that operates in conjunction with the memory subsystem controller 115 to perform operations on one or more memory cells of the memory device 130. An external controller (e.g., the memory subsystem controller 115) may externally manage the memory device 130 (e.g., perform media management operations on the memory device 130). In some embodiments, the memory device 130 is a managed memory device, which is a raw memory device combined with a local controller (e.g., the local controller 139) for media management within the same memory device package. An example of a managed memory device is a managed NAND (MNAND) device.
[0034] In some embodiments, the memory subsystem controller 115 may include a channel management circuitry 113. The memory subsystem controller 115 may use the channel management circuitry 113 to send an optical signal indicative of data over at least one channel within the vehicle based on a channel management model stored in the memory devices 130, 140. The memory subsystem controller 115 may further use the channel management circuitry 113 to cause a gap including at least one unutilized channel to remain between a utilized channel and another utilized channel depending on the type of data based on the channel management model stored in the memory devices 130, 140.
[0035] Figure 2 A network 201 is illustrated that includes a channel management circuit system 213 according to some embodiments of the present disclosure. The network 201 includes a computing device (e.g., computing system 200) that includes a memory device for sending data over a channel. For example, an optical communication system (e.g., computing system 200) may include an optical source (e.g., Figure 4 The computing system 200 may be a computing device such as a desktop computer, a laptop computer, a network server, a mobile device, a vehicle (such as an airplane, a drone, a train, a car, or other transportation vehicle), a device with Internet of Things (IoT) capabilities, an embedded computer (such as an embedded computer included in a vehicle, industrial equipment, or a networked commercial device), or such a computing device including a memory and a processing device.
[0036] In some embodiments, a controller (e.g., Figure 4A controller 415 of the embodiment of the present invention may be coupled to the optical source and the meta-waveguide. The controller may cause the channel management circuit system 213 to determine the type of data sent through the channel 228 of the meta-waveguide. The data sent may have different attributes, such as different priority levels, different functions and / or different quantities, etc. The channel management circuit system 213 may use different attributes to determine the type of data sent through the channel 228 of the meta-waveguide. In addition, the controller may cause an optical signal indicating data to be sent through at least one of the channels 228 of the meta-waveguide via the channel management circuit system 213. The computing system 200 may use the channel management circuit system 213 to send data by allocating a channel 228 for sending data. In some embodiments, the channel management circuit system 213 may be a microring resonator for active and inactive selection channels. For example, the channel management circuit system 213 may determine a subset of channels dedicated to sending optical signals through the channels 228. For example, the channel management circuit system 213 may decide which channels 228 will be used to send data and which channels 228 will not be utilized to create a buffer between channels used to send data. As described herein, the controller, via the channel management circuitry 213 , may cause a gap including at least one unutilized channel 228 to be maintained between a utilized channel 228 and another utilized channel 228 .
[0037] In some embodiments, before the channel management circuit system 213 sends the data through the channel 228, the channel management circuit system 213 may send the optical signal through the converter 226. For example, if the optical signal is a digital signal, the converter 226 may convert the optical signal to an analog signal (or vice versa). In some embodiments, a first device (e.g., the first computing system 200-1) may generate data to be sent to another device (e.g., the third computing system 200-M). The first computing system 200-1 may use the first channel management circuit system 213-1 to specify the channel 228 to send the data to the third computing system 200-M. The first channel management circuit system 213-1 may cause the optical signal to be sent through the first converter 226-1 before allocating the channel 228 to send the optical signal. Then, the second converter 226-Q may receive the optical signal before sending the data to the third computing system 200-M on the opposite end of the channel 228. Similarly, the third computing system 200-M may send the data through the second channel management circuit system 213-P and through the second converter 226-Q. The second management circuit system 213-P will allocate channel 228 to send data to the second computing system 200-2 via an optical signal. Converter 226 can perform the opposite ADC / DAC function when receiving data. For example, if analog / digital conversion is performed before sending a signal, digital / analog conversion can be performed after receiving the signal.
[0038] The controller may cause the channel management circuit system 213 to assign subsets of the channels 228 to specified functions. The channel management circuit system 213 may allocate optical signals based on the function of the data. In some embodiments, each function may be assigned a different subset of the channels 228 through which to send data. In a non-limiting example, if the first computing system 200-1 and the second computing system 200-2 are embedded computers included in a vehicle, the first computing system 200-1 may have a function of communicating with the brakes of the vehicle, and the second computing system 200-2 may have a function of communicating with the seats of the vehicle. In this way, the channel management circuit system 213 may assign each subset of the channels 228 to a corresponding function (e.g., brakes and seats). In addition, the channel management circuit system 213 may retain different gaps between each of the multiple subsets of the channels 228 depending on the corresponding type of data associated with the corresponding function. In some embodiments, the gaps may consist of all unutilized channels 228.
[0039] For example, the first channel management circuit system 213-1 may allocate channels 228-1, 228-2, 228-3, 228-4, and 228-5 to a function assigned to the first computing system 200-1. Additionally, the first channel management circuit system 213-1 may allocate channel 228-10 to a function assigned to the second computing system 200-2. In some embodiments, the type of function may determine the amount of channels that the channel management circuit system 213 will allocate to the function and / or to the computing system 200 that transmits data associated with the function. For example, functions with high priority levels may be allocated more channels 228 than functions with low priority levels. Referring to the previous example, communicating with the brakes of a vehicle may be an extremely important function because the brakes deal with the safety of the vehicle, passengers, and items in the vehicle. In contrast, communicating with the seats of the vehicle may not be as important as communicating with the brakes. The function of the first computing system 200-1 may have a higher priority than the function of the second computing system 200-2. Thus, the first channel management circuitry 213-1 may allocate more channels 228-1, 228-2, 228-3, 228-4, and 228-5 (eg, five channels) to the functions of the first computing system 200-1 than channel 228-10 (eg, one channel) to the functions of the second computing system 200-2.
[0040] In some embodiments, the channel management circuit system 213 can allocate channels to data based on the amount of data. Depending on the amount of data being sent, the channel management circuit system 213 can send the optical signal through one channel 228 or multiple channels 228. Increasing the number of channels 228 used to send data can increase the bandwidth available for transmitting data and reduce the time delay between signal transmission and reception compared to using one channel 228 to send an equal or greater amount of data. In addition, depending on the priority of the data, sending data through multiple channels can help reduce time delays. This allows the data to reach the intended destination faster than sending the data through a single channel 228.
[0041] In some embodiments, channel management circuitry 213 may determine a subset of channels 228 over which to send data. The number of channels in a subset of channels 228 may depend on the attributes of the data, such as the priority of the data, the amount of data, the function of the data, etc. For example, if sending data over a single channel has an increased chance of crosstalk and / or gives a higher chance of jitter, channel management circuitry 213 may send data using two or more channels 228 to reduce the chance of crosstalk and / or jitter. Each channel 228 used to send an optical signal to another platform is part of a subset of channels 228 assigned by channel management circuitry 213.
[0042] The subset of channels 228 may include utilized channels 228 (e.g., channels used to send optical signals indicating data) and / or unutilized channels (e.g., channels not used to send optical signals indicating data). In some embodiments, the channel management circuitry 213 may use the unutilized channels to create gaps between channels carrying optical signals from a first data source and optical signals from a second data source. For example, a first subset of channels may include channels 228-1, 228-2, 228-3, 228-4. A first channel 228-1 in the first subset of channels may be used to send a first optical signal indicating first data. The channel management circuitry 213 may reserve channels 228-2, 228-3, 228-4 to create a gap between the first channel 228-1 used to send optical signals and another utilized channel 228 (e.g., channel 228-5) in the second subset of channels 228.
[0043] In some embodiments, the size of the reserved gap may depend on the priority level of the data. The channel management circuitry 213 may increase or decrease (e.g., reduce and / or eliminate) the amount of channels in the gap based on the priority level of the data. For example, the channel management circuitry 213 may increase the gap between utilized channels when the priority level of the data sent through at least one of the utilized channels is high, and decrease (e.g., reduce and / or eliminate) the gap when the priority level of the data sent through at least one of the utilized channels is low.
[0044] The channel management circuit system 213 may allocate channels for sending data in a manner that reduces jitter and crosstalk compared to sending data on any available channel to maintain the integrity of the data being sent. In a non-limiting example, the channel management circuit system 213 may receive data at different and / or similar priority levels. For example, the channel management circuit system 213 may receive first data with a high priority level, second data with a low priority level, and third data with a low priority level. The channel management circuit system 213 may assign a subset of channels 228 to each data before sending the data through the channel. Based on the priority level, the channel management circuit system 213 may reserve gaps between the utilized channels 228 to prevent jitter and crosstalk. For example, the channel management circuit system 213 may assign a first subset of channels including channels 228-1, 228-2, 228-3, 228-4, and 228-5 for the first data, a second subset of channels including channel 228-6 for the second data, and a third subset of channels including channel 228-7 for the third data. Then, channel management circuit system 213 may reserve channels 228-2, 228-3, 228-4, and 228-5 as gaps while sending an optical signal indicating the first data through channel 228-1. Channel management circuit system 213 may further send an optical signal indicating the second data on channel 228-6 and send an optical signal indicating the third data on channel 228-7. Since the first data has a higher priority (e.g., based on the function of the data, etc.), channel management circuit system 213 may create a buffer between the utilized channel sending the first data and the utilized channel sending the second and third data to prevent crosstalk and / or jitter from affecting the first data.
[0045] In another non-limiting example, the channel management circuitry 213 may receive first data having a high priority level, second data having a high priority level, and third data having a low priority level. The channel management circuitry 213 may assign a first subset of channels including channels 228-1, 228-2, 228-3, and 228-4 for the first data, a second subset of channels including channels 228-5, 228-6, 228-7, 228-8, 228-9 for the second data, and a third subset of channels including channel 228-10 for the third data. The channel management circuitry 213 may then reserve channels 228-2, 228-3, and 228-4 as gaps while sending an optical signal indicating the first data over channel 228-1. Channel management circuitry 213 may further reserve channels 228-6, 228-7, 228-8, and 228-9 as gaps and send an optical signal indicating the second data on channel 228-5. Finally, channel management circuitry 213 may send an optical signal indicating the third data on channel 228-10. Creating gaps for the first data and the second data may prevent crosstalk and / or jitter when the first data and the second data are sent, which may help maintain the integrity of the high priority data being sent.
[0046] In yet another non-limiting example, the channel management circuitry 213 may receive first data having a high priority level, second data having a high priority level, and third data having a medium priority level. The channel management circuitry 213 may assign a first subset of channels including channels 228-1, 228-2, 228-3, and 228-4 for the first data, a second subset of channels including channels 228-5, 228-6, 228-7, 228-8, 228-9 for the second data, and a third subset including channels 228-10, 228-11, and 228-N for the third data. The channel management circuitry 213 may then reserve channels 228-2, 228-3, and 228-4 as gaps while sending an optical signal indicating the first data through channel 228-1. Channel management circuitry 213 may further reserve channels 228-6, 228-7, 228-8, and 228-9 as gaps and send an optical signal on channel 228-5 indicating the second data. Finally, channel management circuitry 213 may send an optical signal on channel 228-10 indicating the third data while reserving channels 228-11 and 228-N. When data is sent over network 201, the buffer space between channels 228-1, 228-5, and 228-10 being utilized may assist in preventing crosstalk and / or jitter. In this example, the first and second data are considered high priority, but the reserved gaps for each data are different. Although the first and second data may have high priority, the second data may have a higher priority than the first data, as evidenced by the larger gaps.
[0047] Figure 3 331 is a flow chart illustrating a method 331 for using a channel management tool according to some embodiments of the present disclosure. The method 331 may be performed by processing logic, which may include hardware (e.g., a processing device, a circuit system, a dedicated logic, a programmable logic, a microcode, hardware of a device, an integrated circuit, etc.), software (e.g., instructions running or executed on a processing device), or a combination thereof. As an example, the method 331 may be performed by the previously described method in conjunction with Figure 1 The processing device 117 described herein is executed by the processing device 117 described herein. Although shown in a specific sequence or order, unless otherwise specified, the order of the processes may be modified. Therefore, the illustrated embodiments should be understood as examples only, and the illustrated processes may be performed in a different order, and some processes may be performed in parallel. In addition, one or more processes may be omitted in various embodiments. Therefore, not all processes are required in every embodiment. Other process flows are possible.
[0048] At block 332, method 331 may include determining a first priority level of first data to be sent as a first optical signal via a meta-waveguide having a limited number of channels. In some embodiments, before the controller causes the data to be sent through the meta-waveguide, the controller may evaluate the type of data being sent. That is, the controller may first determine the priority level of the data to determine the best way to convey the signal through the meta-waveguide. For example, if the data has a high priority, the controller may focus on sending the signal through the meta-waveguide in a manner that reduces crosstalk.
[0049] At block 333, method 331 may include determining a second priority level for second data to be sent as a second optical signal via the meta-waveguide. In some embodiments, the controller may determine the priority level of the second data and compare the priority level of the second data with the priority level of the first data. The controller may use the priority levels of the first data and the second data to determine the position of the corresponding signal on the channel of the meta-waveguide. For example, as described herein, the controller may cause the signal to be sent through a higher priority channel with reduced crosstalk by increasing the number of unused channels between other signals. Conversely, if the data has a low priority, the controller may not attempt to reduce crosstalk.
[0050] At block 334, method 331 may include determining a first subset of channels via which the first data is to be sent. In some embodiments, based on the priority level, the controller may dedicate a subset of channels (including one or more channels) to sending the first data through the element waveguide. As described herein, when sending an optical signal indicating the first data, the controller may use the channels included in the subset of channels to reduce crosstalk.
[0051] Similarly, at block 335, method 331 may include determining a second subset of channels via which the second data is to be sent. In some embodiments, determining the second subset of channels may include constraining the number of the second subset of channels relative to the number of the first subset of channels in response to the first priority level being higher than the second priority level. The controller may dedicate a subset of channels (including one or more channels) to sending the second data through the meta-waveguide.
[0052] At block 336, method 331 may include reserving gaps including unutilized channels between a first subset of channels and a second subset of channels depending on a first priority level and a second priority level. In some embodiments, the first subset of channels and the second subset of channels may include utilized channels and unutilized channels. The respective number of channels in the first subset of channels and the second subset of channels that are reserved as unutilized to create gaps may be based on the first priority level and the second priority level. If the first priority level is different from the second priority level, the respective number of unutilized channels including gaps for the first subset of channels and the second subset of channels may be different. For example, if the first data includes automotive safety data and the second data includes infotainment data, the priority levels of the first data and the second data are different, and the gaps for each data may be set accordingly. Depending on the priority level and the amount of data in the first data, an optical signal indicating the first data may be sent through one or more channels of the first subset of channels. Similarly, depending on the priority level and the amount of data in the second data, an optical signal indicating the second data may be sent through one or more channels of the second subset of channels. The remaining channels in the first subset of channels may be unutilized channels reserved for creating gaps between utilized channels of the first subset of channels and utilized channels of the second subset of channels.
[0053] The second subset of data may contain utilized and unutilized channels. The utilized channels of the second subset of channels may be separated from the utilized channels of another subset of channels (e.g., the first subset). For example, the unutilized channels of the second subset of channels may be reserved to create gaps between the utilized channels of the first subset of channels, and / or may be reserved to create gaps between the utilized channels of another subset of channels (e.g., the third subset of channels). In some embodiments, the number of unutilized channels between the utilized channels in the first subset of channels and the utilized channels in the second subset of channels depends on the priority of the first data and the second data. For example, data with a higher priority may have gaps with more unutilized channels than data with a lower priority. For example, if the first data has the highest priority compared to the second data and the third data and the second data and the third data have the same priority, the reserved gap of the unutilized channels between the first data and the second data may be greater than the reserved gap of the unutilized channels between the second data and the third data. The size of the gap may be related to the priority of the data.
[0054] At block 337, method 331 may include sending a first signal via a first subset of channels. At block 338, method 331 may include sending a second signal via a second subset of channels. Once the priority levels of the data are established and the gaps based on the priority levels have been set, optical signals indicating the first data may be sent via utilized channels of the first subset of channels, and optical signals indicating the second data may be sent via utilized channels of the second subset of channels.
[0055] Figure 4 An example of a system including a computing system 400 in a vehicle 412 according to some embodiments of the present disclosure is illustrated. The computing system 400 may include a host 420, a memory subsystem 410, which for simplicity is illustrated as including a controller 415 and a non-volatile memory device 430, but is generally similar to Figure 1 4. The host 420 and therefore the computing system 400 may be coupled to a number of automotive data sources (e.g., sensors 444) directly, as described for sensor 444-1, or via a transceiver 442, as described for sensors 444-2, 444-3, 444-4, ..., 444-A. The transceiver 442 is capable of wirelessly receiving time-based telemetry sensor data from the sensor 444, for example, via radio frequency communication. In at least one embodiment, each of the sensors 444 may communicate wirelessly with the computing system 400 via the transceiver 442. In at least one embodiment, each of the sensors 444 is directly connected to the host 420 (e.g., via wires or optical cables). As used herein, the term "telemetry sensor data" refers to data collected by a sensor 444 that is remote from the memory subsystem 410 (receiving equipment) storing the data.
[0056] Each of the vehicles 412 may include an advanced driver assistance system (ADAS). In some embodiments, the ADAS may include a memory device 430, a transceiver 442 configured to communicate with a sensor 444 and a host 420, and a controller 415 coupled to the memory device 430. The vehicles 412 may be automobiles (e.g., cars, vans, trucks, etc.), connected vehicles (e.g., vehicles with computing capabilities that communicate with external servers), autonomous vehicles (e.g., vehicles with self-automated capabilities such as self-driving), drones, airplanes, ships, and / or any object used to transport people and / or goods. Figure 4The sensors 444 illustrated in may include instance attributes. For example, sensor 444-1 may be a navigation sensor, such as a global positioning system (GPS) receiver. Sensor 444-2 may be a microphone or camera sensor that collects data from the front or speedometer of vehicle 412. As another example, sensors 444-4 and 444-A may be tire pressure sensors. As another example, sensor 444 may represent a number of engine sensors, such as a temperature sensor, a pressure sensor, a voltmeter, an ammeter, a tachometer, a fuel gauge, etc. As another example, sensor 444 may represent a camera.
[0057] The ADAS may also include a host 420 coupled to the computing system 400. The host 420 may be connected to the element waveguide including a plurality of channels 428 through a channel management circuit system. The channel 428 may be coupled to the controller 415, the memory subsystem 410, and the memory device 430 through the host 420 including the channel management circuit system. The host 420 may execute instructions to provide an overall control system and / or operating system for the vehicle 412. In some embodiments, the host 420 may include a channel management circuit system designed to assist in channel allocation when the systems of the vehicle 412 (e.g., sensors 444, computing system 400, controller 415, memory device 430) communicate with each other. The host 420, through the channel management circuit system, may monitor the communication channels and data, and send the data from the sensor 444 to the memory subsystem 410 through the appropriate channel to prevent crosstalk, as discussed herein. For example, the host 420 may receive data from the sensor 444 in the vehicle 412, and allocate channels and / or subsets of channels to send the data to the memory subsystem 410. The host 420 may cause the channel management circuitry to send an optical signal to the memory subsystem 410, the controller 415, and / or the memory device 430 via the selected channel 428. The channel management circuitry may use the priority, function, and size of the data to determine which channels 428 are allocated to the data. Similarly, the host may allocate channels 428 via the channel management circuitry to send data to other systems in the vehicle 412. For example, the host 420 may receive data from a first sensor 444-1 and allocate channels 428 to send the data to another sensor 444-2. The priority of data received by multiple sources (e.g., sensors 444) may be determined by the channel management circuitry. For example, the host 420 may receive data from a first sensor 444-1 and a second sensor 444-2 and determine the priority and function of the received data to determine a subset of channels for each data.
[0058] Figure 5An example machine illustrating a computer system (500) within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. In some embodiments, the computer system 500 may correspond to a host system (e.g., Figure 1 ), which includes, is coupled to, or utilizes a memory subsystem (e.g., Figure 1 110 in the memory subsystem 110), or can be used to perform operations of the controller (for example, to execute an operating system to perform operations corresponding to Figure 2 In some embodiments, the machine may be connected (e.g., using a network) to other machines in a LAN, an intranet, an extranet, and / or the Internet. The machine may operate in the capacity of a server or a client user machine in a client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server or a client user machine in a cloud computing infrastructure or environment.
[0059] The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a vehicle, a network appliance, a server, a network router, a switch or a bridge, or any machine capable of executing (sequentially or otherwise) a set of instructions that specify actions to be taken by the machine. Further, while a single machine is described, the term "machine" shall also be taken to include any collection of machines that individually or collectively execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0060] The example computer system 500 includes a processing device 517, a main memory 551 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM), such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM)), etc.), a static memory 555 (e.g., flash memory, static random access memory (SRAM), etc.) and a data storage system 550, which communicate with each other via a bus 558.
[0061] The processing device 517 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, or the like. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or multiple processors implementing a combination of instruction sets. The processing device 517 may also be one or more special-purpose processing devices, such as an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like. The processing device 517 is configured to execute instructions 554 for performing the operations and steps discussed herein. The computer system 500 may further include a network interface device 553 to communicate over a network 556.
[0062] The data storage system 550 may include a machine-readable storage medium 552 (also referred to as a computer-readable medium) on which is stored one or more sets of instructions 554 or software embodying any one or more of the methodologies or functions described herein. During execution of the instructions 554 by the computer system 500, the instructions may also reside, in whole or in part, within the main memory 551 and / or within the processing device 517, which also constitute machine-readable storage media. The machine-readable storage medium 552, the data storage system 550, and / or the main memory 551 may correspond to Figure 1 The memory subsystem 110 in.
[0063] In one embodiment, instructions 554 include implementing instructions corresponding to channel management 513 (e.g. Figure 1 113 in the channel management circuit system 114). Although the machine-readable storage medium 552 is shown as a single medium in the example embodiment, the term "machine-readable storage medium" should be considered to include a single medium or multiple media storing one or more sets of instructions. The term "machine-readable storage medium" should also be considered to include any medium capable of storing or encoding a set of instructions for execution by a machine and causing the machine to perform any one or more of the methods of the present disclosure. Therefore, the term "machine-readable storage medium" should be considered to include, but not limited to, solid-state memory, optical media, and magnetic media.
[0064] Although specific embodiments have been illustrated and described herein, it will be appreciated by those skilled in the art that arrangements calculated to achieve the same results may replace the specific embodiments shown. The present disclosure is intended to cover adaptations or variations of several embodiments of the present disclosure. It should be appreciated that the above description has been made in an illustrative and non-restrictive manner. A person of ordinary skill in the art will understand the combination of the above embodiments and other embodiments not specifically described herein after reviewing the above description. The scope of several embodiments of the present disclosure includes other applications in which the above structures and methods are used. Therefore, the scope of several embodiments of the present disclosure should be determined with reference to the entire scope of the attached claims and the equivalents authorized by such claims.
[0065] In the foregoing detailed description, some features are grouped together in a single embodiment for the purpose of simplifying the invention. This method of disclosure should not be interpreted as reflecting the intention that the disclosed embodiments of the present disclosure must use more features than those explicitly recited in each claim. Rather, as the appended claims reflect, the subject matter of the invention exists in less than all the features of a single disclosed embodiment. Therefore, the appended claims are hereby incorporated into the detailed description, with each claim independently serving as a separate embodiment.
Claims
1. An optical communication system, comprising: an optical source configured to transmit an optical signal; a meta-waveguide having a finite number of channels, the meta-waveguide coupled to the optical source and configured to transmit the optical signal; and a controller coupled to the optical source and the meta-waveguide, the controller being configured to: determining the type of data to be sent via the meta-waveguide, causing an optical signal indicative of the data to be transmitted over at least one of the channels; and Depending on the type of the data, a gap including at least one unutilized channel is left between the at least one channel and another utilized channel.
2. The optical communication system of claim 1, wherein the controller is further configured to assign subsets of the channels to designated functions.
3. The optical communication system of claim 2, wherein the controller is further configured to: assigning each of a plurality of subsets of the channels to a respective function; and A different gap is retained between each of the plurality of subsets of the channels depending on a respective type of data associated with the respective function.
4. The optical communication system of claim 1 , further comprising a microring resonator coupled to the element waveguide and the controller; Wherein the controller is configured to operate the microring resonator to preserve the gap.
5. The optical communication system of claim 1, wherein the gap includes a certain number of the channels depending on the type of data.
6. The optical communication system of claim 1, wherein the controller is configured to: causing a first optical signal indicative of a first type of data to be transmitted over a first channel; causing a second optical signal indicative of a second type of data to be transmitted over the second channel; causing a third optical signal indicative of a third type of data to be transmitted over a third channel; enabling a first gap to be used between the first channel and the second channel; and A second gap is used between the second channel and the third channel, wherein a relative size of the first gap and the second gap is based on a relative importance of the first type of data, the second type of data, and the third type of data.
7. The optical communication system of claim 6, wherein the channel comprises a subcarrier channel.
8. The optical communication system of claim 1, wherein the controller is configured such that the gap includes each unutilized channel.
9. An optical communication method, comprising: determining a first priority level of first data to be transmitted as a first optical signal via a meta-waveguide having a limited number of channels; determining a second priority level for second data to be sent as a second optical signal via the meta-waveguide; determining a first subset of the channels via which to transmit the first data; determining a second subset of the channels via which to transmit the second data; Depending on the first priority level and the second priority level, reserving a gap including unutilized channels between the first subset of channels and the second subset of channels; transmitting the first signal via a first subset of the channels; and The second signal is sent via a second subset of the channels.
10. The method of claim 9, wherein reserving the gap comprises reserving a number of the channels as unutilized based on the first priority level and the second priority level.
11. The method of claim 9, wherein determining the second subset of channels comprises constraining a number of the second subset of channels relative to a number of the first subset of channels in response to the first priority level being higher than the second priority level.
12. The method of claim 11, wherein the first data comprises automobile safety data; wherein the second data comprises infotainment data; and The method is performed by an advanced driver assistance system.
13. The method of claim 12, further comprising using a microring resonator to preserve the gap.
14. The method of claim 9, wherein the gap comprises each unutilized channel of the element waveguide; and Wherein the channel comprises a subcarrier channel of the element waveguide.
15. An advanced driver assistance system (ADAS), comprising: Memory device; Multiple automotive data sources; a meta-waveguide comprising a plurality of channels coupled to the memory device; and a controller coupled to the memory device, the plurality of automotive data sources, and the meta-waveguide, wherein the controller is configured to: determining a priority level for data received from the plurality of vehicle data sources; Depending on a first priority level for data of a first type and a second priority level for data of a second type, reserving a gap including at least one unutilized channel between a first channel for exchanging data of the first type with the memory device and a second channel for exchanging data of the second type with the memory device; exchanging data of the first type with the memory device via the first channel; and The second type of data is exchanged with the memory device via the second channel.
16. The ADAS of claim 15, wherein the controller is configured to allocate a first number of channels to be used to exchange the first type of data based on the first priority level; and A second number of channels to be used to exchange data of the second type is allocated based on the second priority level. 17 . The ADAS of claim 16 , wherein the controller is configured to prioritize crosstalk reduction provided by the gap over bandwidth provided by the first number of channels and the second number of channels.
18. The ADAS of claim 16, wherein the first type of data is received from a first automotive data source associated with a first function of the ADAS; and The second type of data is received from a second vehicle data source associated with a second function of the ADAS.
19. The ADAS of claim 16, wherein the second number of channels is less than the first number of channels; and The second type of data has a lower priority than the first type of data.
20. The ADAS of claim 15, wherein the channel comprises a subcarrier channel of the element-waveguide.