D2d bus interface initialization method and device and chip
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN INTELLIFUSION TECHNOLOGIES CO LTD
- Filing Date
- 2021-12-31
- Publication Date
- 2026-06-19
Smart Images

Figure CN116414738B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a D2D bus interface initialization method, apparatus and chip. Background Technology
[0002] As large-scale data centers, artificial intelligence, and network application chips pursue higher computing power, each die (a bare die or bare chip, a small piece of integrated circuit body of semiconductor material without packaging) is interconnected through a high-bandwidth, low-latency die-to-die bus interface (D2D bus interface) to combine multiple dies into one package, making it more suitable for computationally intensive and workload-heavy applications such as HPC.
[0003] The initialization parameters for the D2D bus interface are stored in the bootrom, which increases the storage space occupied by the bootrom. Because the D2D parameters need to be loaded from the bootrom to complete the D2D bus interface initialization, the code complexity of the bootrom is increased, and its stability is reduced. Furthermore, due to the complexity of the D2D bus interface, its high operating frequency, and the large number of variable parameters, it cannot be guaranteed that the parameters stored in the bootrom can correctly initialize the D2D bus interface under various environments (such as high and low temperatures). If initialization fails, the entire bootrom cannot boot, thus rendering the chip unusable. Summary of the Invention
[0004] This application provides a D2D bus interface initialization method, apparatus, and chip to solve the technical problems in the prior art multi-die boot method, where the initialization parameters of the D2D bus interface are fixed in the bootrom, which exacerbates the storage space occupation of the bootrom, increases code complexity, and reduces stability. Furthermore, the fixed initialization parameters of the D2D bus interface cannot be applied to various environments, and once initialization fails, the entire bootrom cannot boot.
[0005] In a first aspect, this application provides a D2D bus interface initialization method, which is executed by a master die. The master die establishes a communication connection with at least one first-level slave die, and each first-level slave die establishes a communication connection with at least one second-level slave die. The method includes:
[0006] The initialization parameters of the D2D bus interface corresponding to the master die are obtained from the preset storage device. The storage device is connected to the master die and stores the initialization parameters of the D2D bus interface corresponding to the master die and all slave dies respectively.
[0007] After the initialization of the D2D bus interface corresponding to the master die is completed according to the initialization parameters of the D2D bus interface corresponding to the master die, the initialization parameters of the D2D bus interface corresponding to the i-th slave die are obtained from the storage device.
[0008] The initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level are transmitted to the j-th slave die of the i-th level through the pre-built j-th data transmission channel of the i-th level, so that the j-th slave die of the i-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the i-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level.
[0009] When there is an (i+1)th level slave die, and it is determined that the i-th level slave die has completed its initialization work, continue to obtain the initialization parameters of the D2D bus interface corresponding to the (i+1)th level slave die from the storage device.
[0010] The initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level are transmitted to the j-th slave die of the (i+1)-th level through the pre-built data transmission channel of the (i+1)-th level, so that the j-th slave die of the (i+1)-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level.
[0011] The process ends when it is confirmed that all slave dies have completed the D2D bus interface initialization, where i and j are both positive integers.
[0012] Secondly, this application provides a D2D bus interface initialization device, the device comprising:
[0013] The acquisition module is used to acquire the initialization parameters of the D2D bus interface corresponding to the main die from a preset storage device. The storage device is connected to the main die and stores the initialization parameters of the D2D bus interface corresponding to the main die and all slave dies respectively.
[0014] The processing module completes the initialization of the D2D bus interface corresponding to the main die based on the initialization parameters of the D2D bus interface corresponding to the main die.
[0015] The acquisition module is also used to acquire the initialization parameters of the D2D bus interface corresponding to the i-th slave die from the storage device after the processing module completes the initialization of the D2D bus interface corresponding to the master die according to the initialization parameters of the D2D bus interface corresponding to the master die.
[0016] The sending module is used to transmit the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level to the j-th slave die of the i-th level through the pre-built j-th data transmission channel of the i-th level, so that the j-th slave die of the i-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the i-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level.
[0017] The acquisition module is also used to continue to acquire the initialization parameters of the D2D bus interface corresponding to the (i+1)th level slave die from the storage device when there is an (i+1)th level slave die and it is determined that the (i)th level slave die has completed the initialization work.
[0018] The transmitting module is also used to transmit the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level through the pre-built data transmission channel of the (i+1)-th level to the j-th slave die of the (i+1)-th level, so that the j-th slave die of the (i+1)-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level.
[0019] The processing module is also used to terminate when it is determined that all slave dies have completed the D2D bus interface initialization work, where i and j are both positive integers.
[0020] Thirdly, a chip is provided, the chip including a master die, at least one first-level slave die, at least one second-level slave die, and a storage device, wherein the master die includes at least a processor and a D2D bus interface, and each slave die includes at least a D2D bus interface.
[0021] The master die establishes communication connections with at least one first-level slave die and the memory device, respectively;
[0022] Each primary slave die establishes a communication connection with at least one secondary slave die;
[0023] The storage device stores the initialization parameters of the master die and the D2D bus interfaces corresponding to all slave dies.
[0024] The processor is configured to obtain initialization parameters of the D2D bus interfaces corresponding to the master die and all slave dies respectively from the storage device, and execute the steps of the D2D bus interface initialization method as described in the first aspect.
[0025] Fourthly, a computer-readable storage medium is provided having a computer program stored thereon, the computer program being executed by a processor to implement the steps of the D2D bus interface initialization method as described in any embodiment of the first aspect.
[0026] The technical solutions provided in this application have the following advantages compared with the prior art:
[0027] The method provided in this application configures the initialization parameters of the D2D bus interface in external storage, which effectively reduces the storage space occupied by the bootrom and increases the bootrom's storage capacity. Furthermore, since the initialization parameters of the D2D bus interface are not loaded from the die into the bootrom, the code complexity of the bootrom is reduced, significantly improving its stability. In addition, the initialization parameters of the D2D bus interface are no longer fixed in the bootrom; the variable parameters in the external storage can be adjusted arbitrarily according to the operating frequency, application environment, etc., making it flexible and applicable to any situation and application scenario. This ensures that the D2D bus interface initialization process proceeds smoothly, enabling the bootrom to start successfully and allowing the chip to function normally, greatly improving system stability. Attached Figure Description
[0028] Figure 1 This is a schematic diagram of a D2D bus interface initialization method provided in an embodiment of the present invention;
[0029] Figure 2 A flowchart of a multi-grain startup process provided by the present invention;
[0030] Figure 3 This is a schematic diagram of the specific execution process of the main grain provided by the present invention;
[0031] Figure 4 This is a schematic diagram of the specific execution process method provided by the present invention from the die;
[0032] Figure 5 A schematic diagram of a polycrystalline structure comprising eight grains provided by the present invention;
[0033] Figure 6 This is a schematic diagram of a D2D bus interface initialization device provided in an embodiment of the present invention. Detailed Implementation
[0034] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0035] To facilitate understanding of the embodiments of the present invention, further explanations and descriptions will be provided below with reference to the accompanying drawings and specific embodiments. These embodiments do not constitute a limitation on the embodiments of the present invention.
[0036] To address the technical problems mentioned in the background section, this application provides a D2D bus interface initialization method, as detailed below. Figure 1 As shown, Figure 1 This is a schematic flowchart of a D2D bus interface initialization method provided by an embodiment of the present invention. Before introducing the method flow provided by the embodiment of the present invention, the execution subject of the method is first explained. The method is executed by the master die, which establishes a communication connection with at least one first-level slave die. Each first-level slave die establishes a communication connection with at least one second-level slave die. The master die, at least one first-level slave die, and at least one second-level slave die constitute a polycrystalline structure. The concept of a polycrystalline structure is briefly introduced below.
[0037] Multi-die architecture involves connecting multiple dies to each other via a D2D interface, combining them into a single package. This makes it more suitable for computationally intensive and workload-heavy applications. Each die in a multi-die architecture has its own bootrom, and after running the bootrom, each die will jump to the PCS stage.
[0038] Unlike existing technologies, in this embodiment, the initialization parameters of the D2D bus interface are not fixed in the bootrom. Instead, they are obtained from an external storage device. Furthermore, the initialization operation of the main die's D2D bus interface can be performed during the die startup Power and Control System (PCS) phase. Alternatively, it can be performed at other stages of die startup (the die startup phase is existing technology and will not be discussed further here), without any limitations in this application. In this embodiment, execution during the PCS phase is used as an example, while the initialization of the die's D2D bus interface is completed within the bootrom.
[0039] The method steps for initializing the D2D bus interface in this embodiment of the invention are described in detail below. The method steps include:
[0040] Step 110: Obtain the initialization parameters of the D2D bus interface corresponding to the main die from the preset storage device.
[0041] Specifically, the storage device is connected to the master die, and the storage device stores the initialization parameters of the master die and the D2D bus interfaces corresponding to all slave dies.
[0042] Configuring the initialization parameters of the D2D bus interface in an external, pre-defined storage device offers two advantages. First, it reduces the space occupied in the bootrom, improving bootrom stability. The initialization parameters of the D2D bus interface are no longer fixed in the bootrom; they can be freely adjusted in the storage device according to different application scenarios (e.g., suitable for different high and low temperatures), making them more flexible and usable. Second, it increases the success rate of D2D bus interface initialization, further ensuring successful booting of the bootrom and improving system startup stability.
[0043] Storage devices, such as various flash memory or PCS images, are storage components with caching capabilities.
[0044] Step 120: After completing the initialization of the D2D bus interface corresponding to the main die according to the initialization parameters of the D2D bus interface corresponding to the main die, the initialization parameters of the D2D bus interface corresponding to the i-th slave die are obtained from the storage device.
[0045] Specifically, after the master die obtains the initialization parameters of its corresponding D2D bus interface from the storage device, it immediately performs D2D initialization. After completing the initialization, it obtains the initialization parameters of the D2D bus interface corresponding to the i-th slave die from the storage device.
[0046] Specifically, the execution stage of obtaining the initialization parameters of the D2D bus interface corresponding to the i-th slave die from the storage device can be performed as long as it is not in the bootrom stage. The purpose is to save storage space in the bootrom of the master die and reduce the code complexity of the bootrom in the master die.
[0047] For example, in the PCS stage mentioned above, preferably, the execution efficiency of the main die is better in the PCS stage than in other stages, so the PCS stage is preferred.
[0048] Step 130: The initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level are transmitted to the j-th slave die of the i-th level through the pre-built j-th data transmission channel of the i-th level.
[0049] Specifically, the process of obtaining the initialization parameters of the D2D bus interface corresponding to the i-th level j-th slave die from the storage device is similar to that described in step 110, and will not be repeated here.
[0050] Instead of passing the initialization parameters of the D2D bus interface in the bootrom, the master die passes the initialization parameters of the D2D bus interface corresponding to the i-th slave die to the i-th slave die in the PCS stage. This ensures that the bootrom design is simple and reliable.
[0051] After the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level are transmitted to the j-th slave die of the i-th level through the pre-constructed j-th data transmission channel of the i-th level, the j-th slave die of the i-th level completes the initialization of the D2D bus interface corresponding to the j-th slave die of the i-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level. The specific operation process is not the focus of this application, and can be found in the prior art.
[0052] Step 140: When there is an (i+1)th level slave die and it is determined that the i-th level slave die has completed its initialization work, continue to obtain the initialization parameters of the D2D bus interface corresponding to the (i+1)th level slave die from the storage device.
[0053] Specifically, the master die can determine the total number of slave dies and the number of slave dies in each level based on pre-configured information. Therefore, after the master die finds that the i-th level slave die has completed its initialization, it can further determine whether there are i+1 level slave dies.
[0054] When it is determined that there is an (i+1)th level slave die, the initialization parameters of the D2D bus interface corresponding to the (i+1)th level slave die are obtained from the storage device.
[0055] The process of obtaining the initialization parameters of the D2D bus interface corresponding to the (i+1)th level slave die is described above in the section on obtaining the initialization parameters of the D2D bus interface corresponding to the i-th level slave die, and will not be repeated here.
[0056] Step 150: The initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level are transmitted to the j-th slave die of the (i+1)-th level through the pre-built data transmission channel of the (i+1)-th level.
[0057] Specifically, the process of passing the initialization parameters of the D2D bus interface corresponding to the (i+1)th level j-th slave die is the same as the process of passing the initialization parameters of the D2D bus interface corresponding to the (i)th level j-th slave die. The only difference is that this time it needs to be done through the (i+1)th level j-th data transmission channel, instead of the (i)th level j-th data transmission channel.
[0058] The initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level are passed to the j-th slave die of the (i+1)-th level, which is also to facilitate the j-th slave die of the (i+1)-th level to complete the initialization operation of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level.
[0059] Step 160 ends when it is confirmed that all slave dies have completed the D2D bus interface initialization.
[0060] Specifically, each slave die automatically updates its internal status register after completing the initialization of its own D2D bus interface. For example, before initialization, the status register has a value of 0; after initialization, it has a value of 1. Since slave dies establish communication connections with each other, they can know the initialization status of the D2D bus interface of each adjacent slave die. For instance, the master die can know the initialization status of the D2D bus interface of the first-level slave die it communicates with, and the first-level slave die can know the initialization status of the master die and the second-level slave die it communicates with. And so on, the master die can know the D2D bus initialization status of all slave dies through the communication connections between them.
[0061] The master die periodically queries the completion status of the D2D bus interface initialization work of all slave dies. The process ends when it is determined that all slave dies have completed the D2D bus interface initialization work, where i is a positive integer.
[0062] The D2D bus interface initialization method provided in this invention configures the initialization parameters of the D2D bus interface into the storage device, which can effectively reduce the storage space occupied in the bootrom and increase the storage space of the bootrom. Furthermore, since the initialization parameters of the D2D bus interface from the die are not loaded into the bootrom, the code complexity of the bootrom can be reduced, greatly improving the stability of the bootrom. In addition, the initialization parameters of the D2D bus interface are no longer fixed in the bootrom; the variable parameters in the D2D stored in the storage device can be freely adjusted according to the operating frequency, application environment, etc., so that it can flexibly adapt to any situation and application scenario. This ensures that the D2D bus interface initialization work can proceed smoothly, thereby enabling the bootrom to start successfully and allowing the chip to function normally, greatly improving system stability.
[0063] Optionally, in a concrete example, the i-th level j-th data transmission channel is the data transmission channel established between the master die and the i-th level j-th slave die.
[0064] The (i+1)th level j-th data transmission channel is the data transmission channel established between the master die and the (i+1)th level j-th slave die.
[0065] Optionally, in a concrete example, the j-th data transmission channel of the (i+1)-th level is a data transmission channel established on the basis of the preset data transmission channel of the i-th level.
[0066] In one optional example, the data transmission channel includes a physical data transmission channel and / or a virtual data transmission channel.
[0067] See details Figure 2 As shown, Figure 2 A flowchart illustrating a multi-grain startup process provided by this invention is shown. The diagram shows four grains, including one master grain (die1) and three slave grains (die2-die4). The slave grains include primary slave grains (die2 and die3) and secondary slave grains (die4).
[0068] Dies 1 to 4 include D2D 1 and D2D 2. Different dies are interconnected through D2D interfaces to achieve multiple die combinations.
[0069] The bootrom in each die will no longer configure the initialization parameters of the D2D bus interface. The master die establishes communication connections with each slave die through data transmission to transmit the initialization parameters of the slave die's D2D bus interface.
[0070] Optional, see Figure 2 As shown, the data transmission channel in this embodiment is a physical data transmission channel, for example, a data transmission channel between the master die and each slave die is established through a Universal Asynchronous Receiver / Transmitter (UART).
[0071] See Figure 2 As shown, the master die (die1) establishes a communication connection with the UART2 interface in the first-level slave die (die2) through the UART1 interface, forming the first data transmission channel of the first level, which is used to transmit the initialization parameters of the D2D bus interface of die2.
[0072] The master die (die1) establishes a communication connection with the UART1 interface in the first-level slave die (die4) through the UART2 interface, forming the second data transmission channel of the first level, which is used to transmit the initialization parameters of the D2D bus interface of die4.
[0073] Optionally, the first data transmission channel of the second-level slave die (die3) and the master die (die1) can be a data transmission channel established based on the preset data transmission channel of the first level. For example, the master die (die1) establishes a communication connection with the UART1 interface of the first-level slave die (die4) through the UART2 interface, and then establishes a communication connection with the UART1 interface of the second-level slave die (die3) through the UART2 interface of the first-level slave die (die4), thereby forming the second data transmission channel.
[0074] In another feasible approach, the master die (die1) establishes a communication connection with the UART2 interface of the first-level slave die (die2) through the UART1 interface, and then establishes a communication connection with the UART2 interface of the second-level slave die (die3) through the UART1 interface of the first-level slave die (die2), thereby forming a second data transmission channel.
[0075] Of course, the embodiments in this application only illustrate the case of two levels of slave dies. Therefore, the data transmission channel between the second-level slave die and the master die needs to be built on the data transmission channel of the previous level. However, when there are too many levels of slave dies, the path corresponding to the data transmission channel between the master die and the slave die at a deeper level will also have more possibilities. Therefore, the second data transmission channel may not necessarily be built on the basis of the first data transmission channel corresponding to the slave die at the previous level (specifically, it needs to be determined according to the actual situation).
[0076] The specific data transmission channel to be selected for transmitting the initialization parameters of the D2D bus interface from the die can be set according to the actual situation, and will not be elaborated further here.
[0077] It should be noted that, taking die2 as an example, die2 includes two D2D bus interfaces, and these two D2D bus interfaces can share the same initialization parameters. Therefore, after receiving the initialization parameters from the main die via the corresponding data transmission through the D2D bus interfaces, the two D2D bus interfaces in die2 perform initialization work simultaneously during the initialization process. Similarly, Figure 2 All dies shown correspond to two D2D bus interfaces. When initializing the D2D bus interface of each die, both D2D bus interfaces in the die are initialized simultaneously, which will not be emphasized again later.
[0078] The j-th data transmission channel of the i-th level is a data transmission channel established between the master die and the j-th slave die of the i-th level, which transmits the initialization parameters of the D2D bus interface. During this process, there is no need for slave dies of other levels to act as "intermediary objects" to transmit the initialization parameters of the D2D bus interface of the slave die of the current level. This is equivalent to reducing the code logic complexity of the slave dies of the intermediate level, reducing the bootrom storage space occupied, and improving the stability of the bootrom.
[0079] Optionally, the j-th data transmission channel of the (i+1)-th level can be established based on the preset data transmission channel of the i-th level, which can also save data transmission resources and reduce transmission costs.
[0080] Of course, if the j-th data transmission channel of the (i+1)-th level is not established based on the preset data transmission channel of the i-th level, but is an independent data transmission channel directly established between the master die and the j-th slave die of the (i+1)-th level, then data transmission does not need to consider whether the D2D bus interface initialization of the slave die of the previous level is completed, which can further improve data transmission efficiency.
[0081] In practical applications, the construction of all data transmission channels can be completed by comprehensively evaluating data transmission efficiency and data transmission cost based on the actual situation.
[0082] Optionally, in another specific embodiment, such as Figure 2 In the multi-chip startup structure diagram shown, when the i-th (first-level) slave chip includes multiple slave chips, as described in the previous embodiment, the initialization work of the i-th level slave chip is found to be completed. This can be further refined to the operation of immediately executing the initialization parameters of the D2D bus interface corresponding to the i+1 level slave chip from the storage device when any slave chip in the i-th level is found to have completed initialization work and when it is determined that there is an i+1 level slave chip.
[0083] In other words, during execution, if there is a slave die at level i+1, it is not required that the D2D bus interface initialization work of all slave dies at level i be completed before the D2D initialization work of the next level slave die can be executed. Instead, after the D2D bus interface initialization work of any slave die at level i is completed, the initialization parameters of the D2D bus interface corresponding to the slave die at level i+1 can be obtained from the storage device. The initialization parameters of the D2D bus interface corresponding to the j-th slave die at level i+1 are then transmitted to the j-th slave die at level i+1 through the pre-built data transmission channel between the master die and the j-th slave die at level i+1, so that the j-th slave die at level i+1 can complete the D2D bus interface initialization work, thereby improving the efficiency of the slave die's D2D bus interface initialization work.
[0084] by Figure 2 Taking the first-level slave die and the second-level slave die as an example, the first-level slave die includes two (die2 and die4), and the second-level slave die is die3. In this embodiment, it is not required that both die2 and die4 complete the D2D bus interface initialization work before the D2D bus interface initialization work of die3 (including passing the initialization parameters of the D2D bus interface of die3) can be executed. Instead, the D2D bus interface initialization work of die3 can be executed after either die2 or die4 completes the D2D bus interface initialization work.
[0085] This method can greatly improve the efficiency of D2D bus interface initialization. This advantage is particularly noticeable when there are a large number of slave chips.
[0086] Figure 3 The specific execution flow of the master die is illustrated. Figure 4 The specific execution flow from the die is illustrated; see below for details. Figure 3 and Figure 4 As shown.
[0087] Figure 3 In the process, after entering the PCS stage, the master die first reads the initialization parameters of the master die's D2D bus interface from the storage device, and then executes the D2D bus interface initialization work in the master die. After completion, based on the status value in the status register corresponding to each slave die, it determines whether all slave dies have completed the D2D bus interface initialization work. If a slave die has not completed the D2D bus interface initialization work, the master die uses UART to send the corresponding D2D bus interface initialization parameters to the slave dies level by level. If, based on the status value in the status register corresponding to each slave die, it is determined that all slave dies have completed the D2D bus interface initialization work, the D2D bus interface initialization work ends, the PCS is copied to the slave dies, and subsequent operations are executed.
[0088] The above is a simplified operation process for the main grain. For detailed procedures, please refer to the description of the above method embodiments. It will not be elaborated further here.
[0089] See Figure 4 As shown, Figure 4 The diagram illustrates the specific workflow of the slave die, including: receiving the initialization parameters of the D2D bus interface transmitted by the master die through the UART channel; then, completing the initialization of the D2D bus interface according to the initialization parameters; and writing the completion status to its corresponding status register after completing the initialization. Afterwards, it waits for the master die to copy the PCS to itself, and upon receiving the PCS, it enters the PCS stage.
[0090] Figure 4 The detailed process of execution is not the focus of this application's embodiments, and therefore will not be described in detail. For details, please refer to the prior art.
[0091] For a more detailed explanation, this embodiment of the invention also provides a schematic diagram of a multi-die structure including eight dies establishing communication connections. See details below. Figure 5 As shown, die0 is the master die. Die1 and die7 are first-level slave dies. Die2 and die6 are second-level slave dies, and so on, for a total of 4 levels of slave dies.
[0092] The secondary slave die is established based on the preset data transmission channel of the primary slave die. For example, secondary slave die2 is established based on the data transmission channel established between die0 and die1 in the first stage. die6 is established based on the data transmission channel established between die0 and die7 in the second stage.
[0093] The communication connection relationship of each of the 8 dies and the initialization process of the specific D2D bus interface of the die can be found above, and will not be repeated here.
[0094] Additionally, it should be noted that besides the D2D bus interface initialization method described above, initialization can also be completed sequentially. For example, after the master die (die0) completes initialization, it passes the D2D bus interface initialization parameters to die1. After confirming that die1 has completed initialization, it then passes the D2D bus interface initialization parameters to die2 to ensure that die2 has completed its D2D bus interface initialization, and so on. The specific method used will not be elaborated further here.
[0095] It should also be noted that although this application classifies slave grains into primary slave grains, secondary slave grains, and even multi-grained slave grains, in actual applications, there is no distinction between primary and secondary, or multi-level, slave grains. Slave grains have the same subordinate status. In this embodiment, they are defined as primary, secondary, or even multi-level only for the convenience of illustrating the initialization execution order of slave grains. The term "level" here has no substantial meaning.
[0096] In this embodiment, the initialization parameters of the D2D bus interface for each slave die are transmitted through the master die. This simplifies the bootrom implementation and enhances the reliability of bootrom startup. Furthermore, this application does not use a progressive transmission of D2D bus interface initialization parameters from slave dies to the next level or the level after that; instead, the master die dominates the entire process. This is because if the process were not entirely master-driven and slave dies were required, the slave dies would need to support sending commands (e.g., instructing the next-level slave die to transmit the D2D bus interface initialization parameters to the destination), sending data (the D2D bus interface initialization parameters), receiving acknowledgments, and handling exceptions (e.g., reporting faults to the master die if a part of the transmission channel malfunctions). These factors undoubtedly increase the processing logic of the slave dies, leading to more logic code, a higher error rate, and more complex management of the slave dies.
[0097] Furthermore, reporting faults through hierarchical channels and transmitting commands and data through hierarchical channels undoubtedly consumes more network bandwidth and involves more "checkpoints." After receiving fault information, the main chip also needs to transmit solutions through hierarchical channels, making transmission efficiency and reliability unavoidable issues.
[0098] In this application, these problems can be completely avoided. When the execution entity is the master chip, it is no longer necessary to transmit commands and data simultaneously; only data transmission is required. When a transmission channel fails, there is no need to report the fault at each level. Instead, the master chip immediately changes the transmission path upon confirming the transmission failure, saving time and improving efficiency. Because the slave chip reduces data transmission and control operations, the amount of logic code editing is significantly reduced, and the management of the slave chip is relatively simpler. In this application, both the slave chip and the bootrom design are relatively simpler and more reliable. Using UART for data transmission further ensures data transmission stability and efficiency. Furthermore, to improve data transmission efficiency, a UART rate greater than 1 Mbps can be used.
[0099] The above are several embodiments of the D2D bus interface initialization method provided in this application. Other embodiments of the D2D bus interface initialization provided in this application will be described below. Please refer to the following for details.
[0100] Figure 6 A D2D bus interface initialization device is provided for embodiments of the present invention. The device includes: an acquisition module 601, a processing module 602, and a sending module 603.
[0101] The acquisition module 601 is used to acquire the initialization parameters of the D2D bus interface corresponding to the main die from a preset storage device. The storage device is connected to the main die and stores the initialization parameters of the D2D bus interface corresponding to the main die and all slave dies respectively.
[0102] The processing module 602 is used to complete the initialization of the D2D bus interface corresponding to the main die according to the initialization parameters of the D2D bus interface corresponding to the main die.
[0103] The acquisition module 601 is also used to acquire the initialization parameters of the D2D bus interface corresponding to the i-th slave die from the storage device after the processing module completes the initialization work of the D2D bus interface corresponding to the master die according to the initialization parameters of the D2D bus interface corresponding to the master die.
[0104] The sending module 603 is used to transmit the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level to the j-th slave die of the i-th level through the pre-built j-th data transmission channel of the i-th level, so that the j-th slave die of the i-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the i-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level.
[0105] The acquisition module 601 is also used to continue to acquire the initialization parameters of the D2D bus interface corresponding to the (i+1)th level slave die from the storage device when there is an (i+1)th level slave die and it is determined that the i-th level slave die has completed the initialization work.
[0106] The transmitting module 603 is further configured to transmit the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level through the pre-constructed data transmission channel of the (i+1)-th level to the j-th slave die of the (i+1)-th level, so that the j-th slave die of the (i+1)-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level.
[0107] The processing module 602 is also used to terminate when it is determined that all slave dies have completed the D2D bus interface initialization work, where i and j are both positive integers.
[0108] Optionally, the j-th data transmission channel of the i-th level is the data transmission channel established between the master die and the j-th slave die of the i-th level;
[0109] The (i+1)th level j-th data transmission channel is the data transmission channel established between the master die and the (i+1)th level j-th slave die.
[0110] Optionally, the j-th data transmission channel of the (i+1)-th level is a data transmission channel established based on the preset data transmission channel of the i-th level.
[0111] Optionally, the data transmission channel may include a physical data transmission channel and / or a virtual data transmission channel.
[0112] Optionally, when the number of slave dies in the i-th level includes multiple dies and there is an i+1-th level slave die, when the processing module 602 determines that any slave die in the i-th level has completed the initialization work, the acquisition module 601 is also used to immediately perform the operation of acquiring the initialization parameters of the D2D bus interface corresponding to the i+1-th level slave die from the outside.
[0113] The functions performed by each component in the D2D bus interface initialization device provided in this embodiment of the invention have been described in detail in any of the above method embodiments, and therefore will not be repeated here.
[0114] This invention provides a D2D bus interface initialization device that configures the initialization parameters of the D2D bus interface in a storage device, effectively reducing the storage space occupied by the bootrom and increasing the bootrom's storage capacity. Furthermore, the loading and execution of the initialization parameters of the D2D bus interface from the die is no longer in the bootrom, but implemented during the PCS stage. This reduces the code complexity of the bootrom and greatly improves its stability. In addition, the initialization parameters of the D2D bus interface are no longer fixed in the bootrom; the variable parameters in the D2D stored in the storage device can be freely adjusted according to the operating frequency, application environment, etc., making it flexible and applicable to any situation and application scenario. This ensures that the D2D bus interface initialization process proceeds smoothly, enabling the bootrom to start successfully and allowing the chip to function normally, greatly improving system stability.
[0115] This invention also provides a chip comprising a master die, at least one first-level slave die, at least one second-level slave die, and a storage device. The master die includes at least a processor and a D2D bus interface, and each slave die includes at least a D2D bus interface.
[0116] The master die establishes communication connections with at least one first-level slave die and the memory device, respectively;
[0117] Each primary slave die establishes a communication connection with at least one secondary slave die;
[0118] The storage device stores the initialization parameters of the master die and the D2D bus interfaces corresponding to all slave dies.
[0119] The processor is configured to obtain initialization parameters of the D2D bus interfaces corresponding to the master die and all slave dies respectively from the storage device, and execute the D2D bus interface initialization method as described in any of the above embodiments.
[0120] The functions of each component in this chip have been described in detail above, so they will not be repeated here.
[0121] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the D2D bus interface initialization method provided in any of the foregoing method embodiments.
[0122] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes the element.
[0123] The above are merely specific embodiments of the present invention, enabling those skilled in the art to understand or implement the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the present invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.
Claims
1. A method for initializing a D2D bus interface, characterized by, The method is executed by a master die, which establishes a communication connection with at least one first-level slave die, and each first-level slave die establishes a communication connection with at least one second-level slave die. The method includes: The initialization parameters of the D2D bus interface corresponding to the master die are obtained from a preset storage device. The storage device is connected to the master die and stores the initialization parameters of the D2D bus interface corresponding to the master die and all slave dies respectively. After the initialization of the D2D bus interface corresponding to the master die is completed according to the initialization parameters of the D2D bus interface corresponding to the master die, the initialization parameters of the D2D bus interface corresponding to the i-th slave die are obtained from the storage device. The initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level are transmitted to the j-th slave die of the i-th level through the pre-constructed j-th data transmission channel of the i-th level, so that the j-th slave die of the i-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the i-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the i-th level. When there is an (i+1)th level slave die, and it is determined that the i-th level slave die has completed the initialization work, the initialization parameters of the D2D bus interface corresponding to the (i+1)-th level slave die are obtained from the storage device. The initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level are transmitted to the j-th slave die of the (i+1)-th level through the pre-constructed data transmission channel of the (i+1)-th level, so that the j-th slave die of the (i+1)-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level. The process ends when it is confirmed that all slave dies have completed the D2D bus interface initialization, where i and j are both positive integers.
2. The method of claim 1, wherein, The i-th level j-th data transmission channel is the data transmission channel established between the master die and the i-th level j-th slave die; The (i+1)th level j-th data transmission channel is the data transmission channel established between the master die and the (i+1)th level j-th slave die.
3. The method of claim 2, wherein, The (i+1)th level j-th data transmission channel is a data transmission channel established based on the preset data transmission channel of the i-th level.
4. The method according to any one of claims 1-3, characterized in that, The data transmission channel includes a physical data transmission channel and / or a virtual data transmission channel.
5. The method according to any one of claims 1-3, characterized in that, When the number of the i-th level slave dies includes multiple dies, and there is an (i+1)-th level slave die, when it is determined that any slave die among the i-th level slave dies has completed the initialization work, the operation of obtaining the initialization parameters of the D2D bus interface corresponding to the (i+1)-th level slave die from the outside is immediately executed.
6. A D2D bus interface initialization device, characterized in that, The device includes: The acquisition module is used to acquire the initialization parameters of the D2D bus interface corresponding to the main die from a preset storage device. The storage device is connected to the main die and stores the initialization parameters of the D2D bus interface corresponding to the main die and all slave dies respectively. The processing module is used to complete the initialization of the D2D bus interface corresponding to the main die according to the initialization parameters of the D2D bus interface corresponding to the main die. The acquisition module is further configured to acquire the initialization parameters of the D2D bus interface corresponding to the i-th slave die from the storage device after the processing module completes the initialization of the D2D bus interface corresponding to the master die according to the initialization parameters of the D2D bus interface corresponding to the master die. The sending module is used to transmit the initialization parameters of the D2D bus interface corresponding to the i-th level j-th slave die through the pre-constructed i-th level j-th data transmission channel to the i-th level j-th slave die, so that the i-th level j-th slave die can complete the initialization of the D2D bus interface corresponding to the i-th level j-th slave die according to the initialization parameters of the D2D bus interface corresponding to the i-th level j-th slave die; The acquisition module is also used to continue to acquire the initialization parameters of the D2D bus interface corresponding to the (i+1)th level slave die from the storage device when there is an (i+1)th level slave die and it is determined that the (i)th level slave die has completed the initialization work. The sending module is also used to transmit the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level through the pre-constructed j-th data transmission channel of the (i+1)-th level to the j-th slave die of the (i+1)-th level, so that the j-th slave die of the (i+1)-th level can complete the initialization of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level according to the initialization parameters of the D2D bus interface corresponding to the j-th slave die of the (i+1)-th level. The processing module is also used to terminate when it is determined that all slave dies have completed the D2D bus interface initialization work, where i and j are both positive integers.
7. The apparatus according to claim 6, characterized in that, The i-th level j-th data transmission channel is the data transmission channel established between the master die and the i-th level j-th slave die; The (i+1)th level j-th data transmission channel is the data transmission channel established between the master die and the (i+1)th level j-th slave die.
8. The apparatus according to claim 6 or 7, characterized in that, When the number of the i-th level slave dies includes multiple dies, and there is an (i+1)-th level slave die, when the processing module determines that any slave die among the i-th level slave dies has completed the initialization work, the acquisition module is also used to immediately perform the operation of acquiring the initialization parameters of the D2D bus interface corresponding to the (i+1)-th level slave die from the outside.
9. A chip, characterized in that, The chip includes a master die, at least one first-level slave die, at least one second-level slave die, and a storage device. The master die includes at least a processor and a D2D bus interface, and each slave die includes at least a D2D bus interface. The master die establishes communication connections with at least one first-level slave die and the storage device, respectively. Each of the first-level slave dies establishes a communication connection with at least one second-level slave die; The storage device stores the initialization parameters of the master die and the D2D bus interfaces corresponding to all slave dies. The processor is configured to obtain initialization parameters of the D2D bus interfaces corresponding to the master die and all slave dies respectively from the storage device, and execute the method as described in any one of claims 1-5.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the D2D bus interface initialization method as described in any one of claims 1-5.