Communication via serializer / deserializer
By using a programmable read-only memory to store an abbreviated software version for initializing serializer/deserializer communication, the inefficiencies in existing SerDes methods are addressed, resulting in more efficient and compact communication solutions.
Patent Information
- Application Number
- FR2023014545
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-20
- Publication Date
- 2025-06-27
AI Technical Summary
Existing serializer/deserializer (SerDes) communication methods are inefficient, particularly in terms of component size and initialization processes, which can lead to increased system size and complexity.
Implementing an electronic device with a programmable read-only memory (PROM) to store an abbreviated software version for initializing serializer/deserializer communication, allowing the device to receive and store complete software for full communication implementation.
This approach enables more efficient and compact serializer/deserializer communication by allowing devices to initiate communication autonomously, reducing system size, and improving reliability.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Communication by serializer / deserializer Technical field
[0001] The present description relates generally to electronic circuits and devices, and to communications between several electronic circuits or devices. The present description relates more particularly to communication using a serializer / deserializer module. Prior art
[0002] Serializer / Deserializer (SerDes) components, or serializer / deserializer modules, are components that enable electronic devices to implement communications transferring a high data rate. These serializer / deserializer components are generally integrated into the electronic devices implementing the communication.
[0003] It would be desirable to be able to improve, at least in part, certain aspects of communications using serializer / deserializer components. Summary of the invention
[0004] There is a need for more efficient serializer / deserializer communications.
[0005] There is a need for electronic devices implementing communications using more efficient serializer / deserializer components.
[0006] There is a need for electronic devices implementing communications using more compact components.
[0007] One embodiment overcomes all or part of the drawbacks of electronic devices implementing communications using serializer / deserializer components.
[0008] One embodiment overcomes all or part of the drawbacks of known methods of initializing communication by serializer / deserializer.
[0009] One embodiment overcomes all or part of the drawbacks of known serializer / deserializer communication methods.
[0010] One embodiment provides an electronic device storing only software adapted to initialize serializer / deserializer communication.
[0011] One embodiment provides a method for initializing communication by serializer / deserializer implemented by the device described above.
[0012] An embodiment provides an electronic device adapted to implement a communication by serializer / deserializer comprising a first memory adapted to store a first software adapted to initialize said communication, said first software being different from a second software adapted to implement said communication.
[0013] Another embodiment provides a method for initializing a communication by serializer / deserializer by an electronic device comprising a first memory adapted to store a first software adapted to initialize said communication, said first software being different from a second software adapted to implement said communication.
[0014] According to one embodiment, said first memory is a programmable read-only memory.
[0015] According to one embodiment, the first software is an abbreviated version of said second software.
[0016] According to one embodiment, once the first software has been used, said device is adapted to receive said second software.
[0017] According to one embodiment, said second software is sent by a first control circuit external to said device.
[0018] According to one embodiment, said second software is stored in a second memory of said device.
[0019] According to one embodiment, the second memory is a static RAM of a serializer / deserializer module of said device.
[0020] According to one embodiment, said first software is adapted to initialize said communication having a first data rate lower than a second data rate of said communication when it is implemented by said second software.
[0021] According to one embodiment, said first software is adapted to initialize said communication having first functionalities different from second functionalities of said communication when it is implemented by said second software.
[0022] Another embodiment provides a method of communicating a serializer / deserializer communication comprising the method described above.
[0023] Another embodiment provides an electronic system comprising at least one device described above. Brief description of the drawings
[0024] These characteristics and advantages, as well as others, will be explained in detail in the following description of particular embodiments given without limitation in relation to the attached figures among which:
[0025] [Fig.l] represents an electronic system within which, according to one embodiment, communication by serializer / deserializer is implemented; and
[0026] [Fig.2] represents an embodiment of a method for starting a communication by serializer / deserializer within the system of [Fig.l]. Description of the embodiments
[0027] The same elements have been designated by the same references in the different figures. In particular, the structural and / or functional elements common to the different embodiments may have the same references and may have identical structural, dimensional and material properties.
[0028] For the sake of clarity, only the steps and elements useful for understanding the embodiments described have been represented and are detailed.
[0029] Unless otherwise specified, when referring to two elements connected to each other, this means directly connected without intermediate elements other than conductors, and when referring to two elements connected (in English "coupled") to each other, this means that these two elements can be connected or be connected by means of one or more other elements.
[0030] In the following description, when reference is made to absolute position qualifiers, such as the terms "front", "back", "top", "bottom", "left", "right", etc., or relative position qualifiers, such as the terms "above", "below", "upper", "lower", etc., or to orientation qualifiers, such as the terms "horizontal", "vertical", etc., reference is made unless otherwise specified to the orientation of the figures.
[0031] Unless otherwise specified, the expressions "about", "approximately", "substantially", and "of the order of" mean to within 10%, preferably to within 5%.
[0032] The embodiments described below relate to devices suitable for implementing serializer / deserializer communication. Such communication is communication between electronic devices using serializer / deserializer (SerDes) components, integrated into the electronic devices, to transmit data. Such components make it possible to transmit data, normally broadcast on several communication channels, on a single communication channel. In other words, such a component makes it possible to serialize data received in parallel on several inputs. To implement such communication, electronic devices generally need to be able to implement software associated with serializer / deserializer communication. This software is generally a very low-level program, also called microcode or firmware.
[0033] The embodiments described below overcome a problem of storing the software associated with communication by serializer / deserializer in an electronic device implementing it. Indeed, such software is generally stored in a non-volatile memory external to the serializer / deserializer component of said device. For reasons of size and financial costs, certain devices cannot include non-volatile memory for storing software. For this, the Embodiments described below include a programmable read-only memory, i.e. a memory that can be programmed only once, adapted to store an abbreviated version of the software allowing only to initialize a limited serializer / deserializer communication. Once the communication is initialized, the serializer / deserializer component of the device is adapted to receive and store, in one of its internal memories, said complete software.
[0034] Furthermore, these embodiments can be applied to any electronic system using a plurality of serializer / deserializer components, such as, for example, communication systems, such as antennas, for example active antennas, data storage systems, such as data centers, etc. These embodiments are particularly suitable for electronic systems comprising a large number of electronic devices adapted to implement serializer / deserializer communication between them.
[0035] [Fig.l] represents, schematically and in block form, an embodiment of an electronic system 100 according to one embodiment.
[0036] The system 100 comprises several electronic devices, for example at least two electronic devices, adapted to implement communication by serializer / deserializer. In the example illustrated in [Fig.l], the system 100 comprises five electronic devices including a master electronic device 101 (Master), or commander, and four remote electronic devices 102 (Remote 1, Remote 2, Remote 3, Remote 4), slave, or responder.
[0037] Each electronic device 101, 102 of the system 100 comprises at least one serializer / deserializer component 1011, respectively 1021, or serializer / deserializer module enabling it to implement a serializer / deserializer communication with another device of the system 100. More particularly, each electronic device 101, 102 comprises a serializer / deserializer module for each other electronic device with which it is adapted to implement a serializer / deserializer communication. In other words, if an electronic device is adapted to communicate with two other electronic devices, it then comprises two serializer / deserializer modules. In the example illustrated in [Fig.l], the electronic device 101 is adapted to implement serializer / deserializer communication with three of the devices 102 (Remote 1, Remote 2, Remote 3), and one device 102 (Remote 4) is adapted to implement communication with only one of the other devices 102 (Remote 1). Thus, the device 101 comprises three serializer / deserializer modules, and each device 102 comprises one serializer / deserializer module, except one device 102 (Remote 1) which comprises two serializer / deserializer modules.
[0038] More particularly, the device 101 comprises: - a serializer / deserializer module 1011 bearing the reference "Serdes IP 1" adapted to communicate with the device 102 bearing the reference "Remote 1"; - a serializer / deserializer module 1011 bearing the reference "Serdes IP 2" adapted to communicate with the device 102 bearing the reference "Remote 2"; and - a serializer / deserializer module 1011 bearing the reference "Serdes IP 3" adapted to communicate with the device 102 bearing the reference "Remote 3".
[0039] According to one embodiment, each component 1011, 1021 comprises a control circuit accompanied by a memory 10111 (MCU+SRAM), respectively 10211 (MCU+SRAM). According to one example, the control circuit is a processor, a microprocessor, a controller, or a microcontroller. According to a preferred embodiment, the main control circuit 101 is a microcontroller. According to one embodiment, the memory is a random access memory, such as, preferably, a static random access memory (SRAM, Static Random Access Memory).
[0040] According to one example, the electronic device is a complex electronic device, such as a processor or a microprocessor.
[0041] According to one embodiment, each device 102 comprises, in addition to its component 1021, at least one small capacity programmable read-only memory (OTP) 1022. According to one example, the memory 1022 has a capacity of a few kilobytes, for example less than 5 kBytes. According to one embodiment, the programmable read-only memory 1022 is a one-time programmable (OTP) memory.
[0042] In addition, the system 100 further comprises at least one non-volatile memory 103 (EXT NVM) external to the devices 101 and 102. According to one example, the non-volatile memory 103 may be accessible to the device 101, but is not accessible to the devices 102. According to one example, the storage capacity of the memory 103 is greater than the storage capacity of the programmable read-only memories 1022 of the devices 102.
[0043] To implement serializer / deserializer communication, each device 101, 102 must implement software suitable for implementing such communication. More particularly, each control circuit 10111, respectively 10211, must implement software suitable for implementing such communication. For this, such software must be stored in the memory accompanying each control circuit 10111, respectively 10211.
[0044] As previously stated, this software is generally a very low-level program, also called microcode or firmware. A very low-level program is a computer program that allows the direct control of electronic hardware components, without any other software intermediary.
[0045] According to one embodiment, each device 102 is adapted to store in its memory 1022, not the software for implementing serializer / deserializer communication, but software 10221 (FW_L) suitable for, at least, initializing limited serializer / deserializer communication. Software 1031 (FW_F) for implementing serializer / deserializer communication is, for its part, stored in the external non-volatile memory 103 of the system 100. The software 1031 is only provided to the device 102 when a communication is initialized. When the software 1031 is provided to the device 102, it is stored in the memory associated with its control circuit 10211 of its module 1021.
[0046] According to one embodiment, the software 10221 is different from the software 1031 in that it includes fewer functionalities. According to one embodiment, the software 10221 is an abbreviated, or simplified, version of the software 1031. Thus, the code of the software 10221 is smaller than the code of the software 1031. The code of the software 10221 can therefore be stored in the memory 10211 while the code of the software is too large to be stored by this memory. An advantage here is therefore to be able to refrain from installing a non-volatile memory external to the module 1021, and therefore to make the system 100 more compact.
[0047] According to one embodiment, the software 10221 makes it possible to initialize a communication by serializer / deserializer at a more reliable rate than the rate of such a communication implemented by the software 1031. The initialization of such a communication is described in detail in relation to [Fig.2].
[0048] According to an alternative embodiment, the software 10221 makes it possible to initialize a communication by serializer / deserializer at the same rate as the rate of such a communication implemented by the software 1031, having different functionalities. More particularly, a communication initialized by the software 10221 may have fewer functionalities than a communication initialized by the software 1031. According to one example, the software 10221 may not implement functionalities related to adaptation to the environment in which the system 100 is located, such as for example adaptation to the ambient temperature.
[0049] According to yet another embodiment variant, the software 10221 makes it possible to initialize a communication by serializer / deserializer at a lower rate and presenting different functionalities than a communication implemented by the software 1031.
[0050] An advantage of this embodiment is that by making the software 10221 directly accessible to the devices 102, they can initiate communication autonomously. Indeed, one could have thought of installing a communication channel solely dedicated to the transmission of the software 1031 to the device 102, but this adds communication channels to the system and therefore increases its size, and can also reduce its reliability.
[0051] [Fig.2] is a block diagram illustrating the implementation of a method initialization 200 of a communication by serializer / deserializer within the electronic system 100 described in relation to [Fig.l]. More particularly, the communication concerned here is a communication between the device 101 and one of the devices 102.
[0052] At an initial step 201 (FW_L -> OTP), the software 10221 is stored in the programmable read-only memory 1022 of the device 102. According to one example, this step is performed after the manufacture of the device 102, for example, during a test phase. This step has the advantage of allowing a user of the system 100 to store the version of the software 10221 that he wants in a simple manner, rather than having to ask the manufacturer of the system 100 to do so.
[0053] At a step 202 (Remote FW_L ->MCU), following step 201, the device 102 wants to implement communication by serializer / deserializer with the device 101. The software 10221 is downloaded from the memory 1022 to the module 1021, then is installed to initialize the communication by serializer / deserializer.
[0054] At another initial step 203 (FW_F -> NVM), the software 1031 is stored in the non-volatile memory 103 of the system 100. According to one example, this step can be carried out at any stage of the life of the system 100, and more particularly at any stage of the life of the non-volatile memory 103.
[0055] At a step 204 (Remote FW_F ->MCU), following step 203, the device 101 wants to implement communication by serializer / deserializer with the device 102. The software 1031 is downloaded from the memory 103 to the module 1011, then is installed to initialize the communication by serializer / deserializer.
[0056] At a step 205 (Init Limited Serdes), successive to steps 202 and 204, a communication by serializer / deserializer is initialized. For this, the device 101 uses the software 1031 which makes it possible to implement a complete communication, for example at high speed, and the device 102 uses the software 10221 which makes it possible to implement a limited communication, for example at low speed and / or presenting fewer functionalities. Only a limited communication can therefore be initialized between the devices 101 and 102, and such a communication is initialized.
[0057] At a step 206 (Limited SerDes Established), subsequent to step 205, a limited serializer / deserializer communication has been initialized and is ready to operate. According to one example, the communication may transmit and receive data at a first data rate, for example a low rate. This first data rate is, for example, of the order of 3 Gbits / s.
[0058] At a step 207 (DL FW_F), following step 206, the device 102 is then adapted to receive the software 1031 to completely implement the communication by serializer / deserializer. For this, the device 101 sends, by the initialized limited communication, the software 1031 to the device 102.
[0059] At a step 208 (Remote Update FW), following step 207, the software 1031 is received by the device 102 which stores it in the memory 10211 of its module 1021. According to one example, the software 1031 is used to update the software 10221, for example, without interrupting the communication.
[0060] At a step 209 (Full SerDes Established), following step 208, the device 102 therefore uses the software 1031 to implement a complete serializer / deserializer communication. According to one example, the communication can transmit and receive data at a second data rate, for example a high rate. In one example, the second throughput is higher than the first throughput. In one example, the second throughput is of the order of 112 Gbits / s.
[0061] According to one embodiment, the initialization method 200 can be included in a serializer / deserializer communication method.
[0062] Various embodiments and variations have been described. Those skilled in the art will understand that certain features of these various embodiments and variations could be combined, and other variations will occur to those skilled in the art.
[0063] Finally, the practical implementation of the embodiments and variants described is within the reach of those skilled in the art from the functional indications given above.
Claims
Claims
1. Electronic device (102) adapted to implement a communication by serializer / deserializer comprising a first memory (1022) adapted to store a first software (10221) adapted to initialize said communication, said first software (10221) being different from a second software (1031) adapted to implement said communication.
2. The device of claim 1, wherein said first memory (1022) is a programmable read-only memory.
3. Device according to claim 1 or 2, wherein the first software (10221) is an abbreviated version of said second software (1031).
4. Device according to any one of claims 1 to 3, wherein, once the first software (10221) has been used, said device (102) is adapted to receive said second software (1031).
5. Device according to claim 4, wherein said second software (1031) is sent by a first control circuit (101) external to said device (102).
6. Device according to claim 4 or 5, wherein said second software (1031) is stored in a second memory (10211) of said device (102).
7. Device according to claim 6, wherein the second memory (10211) is a static RAM of a serializer / deserializer module (1021) of said device (102).
8. Device according to any one of claims 1 to 7, wherein said first software (10221) is adapted to initialize said communication having a first data rate lower than a second data rate of said communication when implemented by said second software (1031).
9. Device according to any one of claims 1 to 8, wherein said first software (10221) is adapted to initialize said communication having first functionalities different from second functionalities of said communication when it is implemented by said second software (1031).
10. Method for initializing (200) a communication by serializer / deserializer by an electronic device (102) according to any one of claims 1 to 9, comprising a first memory (1022) adapted to store a first software (10221) adapted to initialize said communication, said first software (10221) being different from a second software (1031) adapted to implement said communication.
11. A method of communicating a serializer / deserializer communication comprising the method of claim 10.
12. Electronic system (100) comprising at least one device (101, 102) according to any one of claims 1 to 9.
Citation Information
Patent Citations
Serialization function loading mechanism optimization method and device based on IROS and medium
CN116842074A
System and method for processing messages using native data serialization / deserialization in a service-oriented pipeline architecture
US20100083277A1
Method, apparatus and computer program to perform dynamic selection of serialization processing schemes
US20110138168A1