Data access method, multi-chip cascading method and system, device, and storage medium

By receiving and updating data access instructions, multi-chip cascade is realized, which solves the problem that a single chip is difficult to meet complex application scenarios, and realizes flexible cross-chip data access and extended addressing.

WO2025138639A1PCT designated stage expired Publication Date: 2025-07-03CALTERAH SEMICON TECH (SHANGHAI) CO LTD

Patent Information

Application Number
PCT/CN2024/099821
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-12-26
Filing Date
2024-06-18
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Single chips are difficult to meet the increasingly complex application scenario requirements. How to effectively use multiple chip connections to form a multi-chip system to achieve a cascaded system with low complexity.

Method used

By receiving data access instructions from the previous chip, a new access address is determined based on the access address and the address space information of the current chip, and updated it and sent it to the next chip, cross-chip data access in multi-chip cascade mode is realized.

Benefits of technology

It realizes the flexibility to build a cascade chipset with a larger addressable range, meets the needs of different products or applications, and simplifies the chip cascade process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024099821_03072025_PF_FP_ABST
    Figure CN2024099821_03072025_PF_FP_ABST
Patent Text Reader

Abstract

A data access method, comprising: receiving a first data access instruction from an upper-level chip; determining a new access address on the basis of an access address in the first data access instruction and address space information of a current chip; and updating the access address in the first data access instruction to the new access address, and then sending to the next-level chip the first data access instruction after update so as to access target data. According to the data access method, cross-chip data access in a multi-chip cascading mode can be realized, and a cascade chip group having a larger addressable range can be flexibly constructed according to requirements, so as to meet different product or application requirements. Further disclosed are a multi-chip cascading method and system, a device, and a storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Data access method, multi-chip cascading method, system, device and storage medium

[0001] This application claims priority to the Chinese patent application filed on December 26, 2023, with application number 2023118172270 and invention name “A data access, multi-level chip cascade method, system, device and storage medium”, the contents of which should be understood as incorporated into this application by reference. Technical Field

[0002] The present application relates to, but is not limited to, the field of computer chip technology. Background Art

[0003] As chip systems grow larger and more complex, the amount of data that various SoCs (System on Chips) must process in specific application scenarios continues to climb. A single chip is increasingly unable to meet the demands of increasingly complex applications. Therefore, connecting multiple chips to form multi-chip systems has become a solution.

[0004] The design of a reasonable chip topology and inter-chip data access schemes directly determines the implementation complexity and applicable scenarios of a multi-chip system. How to effectively connect multiple chips to form a multi-chip cascade system that meets different application requirements while maintaining low implementation complexity has become a topic of constant exploration for those skilled in the art.

[0005] Summary of the Invention

[0006] The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.

[0007] The embodiments of the present application provide a data access method, a multi-chip cascade method, a system, a device and a storage medium. Based on the proposed access address planning and update method, cross-chip data access can be achieved in a multi-chip cascade mode, and a cascade chipset with a larger addressable range can be flexibly constructed on demand to meet the needs of different products or applications.

[0008] This application provides a data access method, including:

[0009] receiving a first data access instruction from an upper-level chip;

[0010] Determining a new access address according to the access address in the first data access instruction and address space information of the current chip;

[0011] After the access address in the first data access instruction is updated to the new access address, the updated first data access instruction is sent to the next-level chip to access the target data.

[0012] The present application also provides a multi-chip cascading method, comprising:

[0013] At least two chips are cascaded in a linear manner;

[0014] The at least two chips include: a head chip and a tail chip; except for the tail chip, each of the at least two chips corresponds to a next-level chip;

[0015] Each of the at least two chips performs data access according to the data access method described in any embodiment of the present application.

[0016] The present application also provides a multi-chip cascading method, comprising:

[0017] At least two chips are cascaded in a ring manner;

[0018] The at least two chips include: a head chip and a tail chip; each of the at least two chips corresponds to a next-level chip;

[0019] Each of the at least two chips performs data access according to the data access method described in any embodiment of the present application.

[0020] The present application also provides a multi-chip cascading method, comprising:

[0021] At least two chipsets are connected to the central processing unit in a star-shaped manner;

[0022] Each chipset includes at least two chips, and the at least two chips in each chipset are cascaded using the multi-chip cascading method described in any embodiment of the present application.

[0023] The present application also provides a multi-chip cascade system, comprising:

[0024] At least two chips cascaded in a linear manner;

[0025] The at least two chips include: a head chip and a tail chip; except for the tail chip, each of the at least two chips corresponds to a next-level chip;

[0026] Each of the at least two chips performs data access according to the data access method described in any embodiment of the present application.

[0027] The present application also provides a multi-chip cascade system, comprising:

[0028] At least two chips cascaded in a ring manner;

[0029] The at least two chips include: a head chip and a tail chip; each of the at least two chips corresponds to a next-level chip;

[0030] Each of the at least two chips performs data access according to the data access method described in any embodiment of the present application.

[0031] The present application also provides a multi-chip cascade system, comprising:

[0032] a central processing unit and at least two chipsets;

[0033] The at least two chipsets are connected to the central processing unit in a star-shaped manner;

[0034] Each chipset includes at least two chips, and the at least two chips in each chipset are cascaded using the multi-chip cascading method described in any embodiment of the present application.

[0035] The present application also provides an electronic device, comprising:

[0036] one or more processors;

[0037] a storage device for storing one or more programs,

[0038] When the one or more programs are executed by the one or more processors, the one or more processors implement the data access method as described in any embodiment of the present application.

[0039] The present application also provides an electronic device, comprising:

[0040] one or more processors;

[0041] a storage device for storing one or more programs,

[0042] When the one or more programs are executed by the one or more processors, the one or more processors implement the multi-chip cascading method as described in any embodiment of the present application.

[0043] The present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the data access method as described in any embodiment of the present application.

[0044] The present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the multi-chip cascading method as described in any embodiment of the present application.

[0045] Other features and advantages of the present application will be described in the following description, and in part will become apparent from the description, or will be understood by practicing the present application. Other advantages of the present application can be realized and obtained by the solutions described in the description and the drawings.

[0046] Still other aspects will become apparent upon reading and understanding the accompanying drawings and detailed description.

[0047] Summary of the Figures

[0048] The accompanying drawings are used to provide an understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.

[0049] FIG1 is a flow chart of a data access method provided in an embodiment of the present application;

[0050] FIG2 is a flow chart of another data access method provided in an embodiment of the present application;

[0051] FIG3 is a flow chart of another data access method provided in an embodiment of the present application;

[0052] FIG4 is a flow chart of another data access method provided in an embodiment of the present application;

[0053] FIG5 is a schematic diagram of a linear topology cascade chip structure provided by an embodiment of the present application;

[0054] FIG6 is a schematic diagram of another linear topology cascade chip structure provided in an embodiment of the present application;

[0055] FIG7 is a schematic diagram of a cascade chip structure of a ring topology provided in an embodiment of the present application;

[0056] FIG8 is a schematic diagram of another ring topology cascade chip structure provided in an embodiment of the present application;

[0057] FIG9 is a schematic diagram of communication signals between cascaded chips provided in an embodiment of the present application;

[0058] FIG10 is a schematic diagram of a cascade chip structure of a linear and star composite topology provided in an embodiment of the present application;

[0059] FIG11 is a schematic diagram of a cascade chip structure of a ring and star composite topology provided in an embodiment of the present application;

[0060] FIG12 is a schematic diagram of a cascade chip structure of a linear expansion topology provided in an embodiment of the present application;

[0061] FIG13 is a schematic diagram of a cascade chip structure of a ring expansion topology provided in an embodiment of the present application;

[0062] FIG14 is a schematic diagram of a cascade chip structure of a linear and star composite expansion topology provided in an embodiment of the present application;

[0063] FIG15 is a schematic diagram of a cascade chip structure of a ring and star composite expansion topology provided in an embodiment of the present application.

[0064] Details

[0065] This application describes multiple embodiments, but this description is exemplary rather than restrictive, and it will be apparent to those skilled in the art that there may be more embodiments and implementations within the scope of the embodiments described herein. Although many possible feature combinations are shown in the drawings and discussed in the detailed description, many other combinations of the disclosed features are also possible. Unless specifically limited, any feature or element of any embodiment may be used in combination with any other feature or element in any other embodiment, or may replace any other feature or element in any other embodiment.

[0066] This application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features, and elements disclosed in this application may also be combined with any conventional features or elements to form a unique inventive solution defined by the claims. Any features or elements of any embodiment may also be combined with features or elements from other inventive solutions to form another unique inventive solution defined by the claims. Therefore, it should be understood that any feature shown and / or discussed in this application may be implemented individually or in any appropriate combination. Therefore, except for the limitations made according to the appended claims and their equivalents, the embodiments are not subject to other limitations. In addition, various modifications and changes may be made within the scope of protection of the appended claims.

[0067] In addition, when describing representative embodiments, the specification may have presented the method and / or process as a specific sequence of steps. However, to the extent that the method or process does not rely on the specific order of the steps described herein, the method or process should not be limited to the steps in the specific order described. As will be understood by those skilled in the art, other orders of steps are also possible. Therefore, the specific order of the steps set forth in the specification should not be interpreted as a limitation to the claims. In addition, the claims for the method and / or process should not be limited to performing their steps in the order written, and those skilled in the art can readily understand that these orders can be changed and still remain within the spirit and scope of the embodiments of the present application.

[0068] It should be noted that the descriptions of "first", "second", etc. in the embodiments of the present application are for descriptive purposes only and should not be understood as indicating or implying their relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of the present invention, the meaning of "plurality" is at least two, for example, two, three, etc., unless otherwise clearly and specifically defined.

[0069] In chip design, the basic positioning is a scenario where a single chip works. As the complexity of applications increases, the requirements for chip processing power, chip capacity, and addressable range are increasing, and the chip configuration needs to be continuously expanded. However, different products or applications have different requirements for chip processing power and capacity. The continuous pursuit of expanded high-configuration single-chip solutions is not friendly to effectively control chip costs, product size, and product costs. The embodiment of the present application provides a data access method that realizes cross-chip addressing and data access based on the cascade topology of the chip. It can flexibly and simply realize the cascade combination of single chip to multiple chips, and build a cascade chipset that meets different configuration needs with a basic single chip to meet the needs of various product specifications or applications.

[0070] This embodiment of the present application provides a data access method, as shown in FIG1 , including:

[0071] Step 110, receiving a first data access instruction from an upper-level chip;

[0072] Step 120: determining a new access address based on the access address in the first data access instruction and the address space information of the current chip;

[0073] Step 130 : After updating the access address in the first data access instruction to the new access address, the updated first data access instruction is sent to the next-level chip to access the target data.

[0074] It should be noted that in the embodiments of the present application, the first data access instruction and the second data access instruction are different types of data access instructions for the current chip. The first and second are relative concepts, belonging to two data access instructions from different perspectives. The first data access instruction comes from other external chips and is a data access instruction sent to the current chip by other external chips. The second data access instruction is a data access instruction initiated by the current chip itself. For the current chip, the second data access instruction can also be sent to the cascaded external chip. After it is issued, for the external chip that receives the instruction, the instruction is the first data access instruction.

[0075] In some exemplary embodiments, the address space information includes: a maximum addressable range within a chip and an address range accessible to external cascade chips.

[0076] In some exemplary embodiments, the maximum addressable range within the chip includes an address range accessible to an external cascade chip.

[0077] The maximum addressable range on a chip indicates that if the address is within this range, it will be addressed on the chip. If it exceeds this range, an error will be reported or the address will be addressed on another chip. It should be noted that the specific address space division within the maximum addressable range on a chip is determined by the current chip design requirements. All addresses can be allocated for use, or some addresses can be reserved for use. This is not limited to a specific aspect.

[0078] The address range accessible to external cascade chips means that addresses within this range are allowed to be accessed by external chips, and the address range is included in the maximum addressable range within the chip.

[0079] It should be noted that in order to achieve the cascading of multiple chips, the data access method described in this application is proposed. The cascading of multiple chips can expand the address space. The address space accessible to the current chip is partly its own on-chip address space, and partly the sum of the accessible address spaces of the cascaded external chips. For example, the current chip is N0, and its maximum on-chip addressable range is 0x0000_0000~0x7FFF_FFFF. There are 8 chips N1-N8 cascaded externally, and the accessible address range of each provided external chip is 0x0000_0000~0x0FFF_FFFF. Then, the maximum address range that N0 can access is: 0x0000_0000~0xFFFF_FFFF, of which 0x0000_0000~0x7FFF_FFFF is addressed within its own chip, and 0x8000_0000~0xFFFF_FFFF is addressed within the accessible address range provided by N1-N8. At this time, the access address width is 32 bits. The highest 4 bits are used to determine whether data is accessed on-chip or off-chip. If the highest 4 bits are less than 0x8, on-chip addressing is performed. If they are greater than or equal to 0x8, off-chip addressing is performed.

[0080] The maximum addressable range within the chip can be defined as an upper threshold, for example, 0x8000_0000, indicating that access addresses less than the upper threshold 0x8000_0000 are addressed within the chip. Alternatively, the maximum addressable range within the chip can be defined as a start address and an end address, for example, 0x0000_0000 to 0x7FFF_FFFF, indicating that access addresses within this start address and end address are all addressed within the chip. The specific definition is not limited to the aspects of the examples in this application.

[0081] The address range accessible to external cascade chips can be defined as an upper threshold, for example: 0x1000_0000, indicating that the access address less than the upper threshold 0x1000_0000 is the address space within the current chip that can be accessed by external chips. Alternatively, the address range accessible to external cascade chips can be defined as a start address and an end address, for example, 0x0000_0000 to 0x0FFF_FFFF, indicating that the access address within this start address and end address is the address space within the current chip that can be accessed by external chips.

[0082] In some exemplary embodiments, the address range accessible to the external cascade chip is at most equal to the maximum addressable range within the chip.

[0083] In some exemplary embodiments, the address range accessible to the external cascade chip is within the lower address range of the maximum addressable range on the chip. A low address refers to an address with a smaller address value; for example, the maximum addressable range on the chip is 0x0000_0000 to 0x7FFF_FFFF, where 0x0000_0000 to 0x0FFF_FFFF is the address range accessible to the external cascade chip. The address range accessible to the external cascade chip corresponds to an address offset. For example, the address range accessible to the external cascade chip is 0x0000_0000 to 0x0FFF_FFFF, and its corresponding address offset is 0x1000_0000.

[0084] It should be noted that the address range of 0x1000_0000 to 0x7FFF_FFFF included in the maximum addressable range on the chip can be accessed by other instructions generated by the current chip, or it can be reserved and unallocated addresses. Among them, low addresses refer to addresses with smaller address values.

[0085] In some exemplary embodiments, based on specific address space planning, within the total accessible address range, the maximum addressable range within the chip corresponds to a lower address range within the total accessible address range. The maximum addressable range within the chip corresponds to an address offset. For example, the maximum addressable range within the chip is 0x0000_0000 to 0x7FFF_FFFF, and its corresponding address offset is 0x8000_0000.

[0086] It should be noted that, in the embodiment of the present application, accessing target data according to data access instructions is not limited to accessing specific on-chip components, but can access on-chip memory, registers, and peripheral devices, etc.

[0087] In some exemplary embodiments, determining a new access address according to the access address in the first data access instruction and address space information of the current chip includes:

[0088] According to the access address in the first data access instruction, the maximum addressable range on the chip of the current chip and the accessible address range of the external cascade chip, if it is determined that the access address exceeds the accessible range on the chip of the current chip, the new access address is determined.

[0089] In some exemplary embodiments, whether the access address exceeds the on-chip accessible range of the current chip is determined according to the following method:

[0090] Subtract the offset corresponding to the maximum addressable range of the current chip from the access address in the first data access instruction to obtain an address difference;

[0091] If the address difference falls within the address range accessible to the external cascade chip of the current chip, determining that the address does not exceed the on-chip accessible range of the current chip;

[0092] When the address difference does not fall within the address range accessible to the external cascade chip of the current chip, it is determined that the address exceeds the on-chip accessible range of the current chip.

[0093] For example, the maximum addressable range of the current chip is 0x0000_0000~0x7FFF_FFFF, corresponding to an offset of 0x8000_0000; the external cascade chip can access the address range of 0x0000_0000~0x0FFF_FFF, corresponding to an offset of 0x1000_0000. The access address in the first data access instruction is 0x9100_0000, 0x9100_0000-0x8000_0000=0x1100_0000, which does not fall within the range of 0x0000_0000~0x0FFF_FFF, then it is judged that the access address 0x9100_0000 exceeds the on-chip accessible range of the current chip, and the new access address is determined; the access address in the first data access instruction is 0x8100_0000, 0x8100_0000-0x8000_0000=0x0100_0000, which falls within the range of 0x0000_0000~0x0FFF_FFF, then it is judged that the access address 0x8100_0000 does not exceed the on-chip accessible range of the current chip, that is, it is within the on-chip accessible range of the current chip.

[0094] In some exemplary embodiments, as shown in FIG2 , the method further includes:

[0095] Step 140, based on the access address in the first data access instruction, the maximum addressable range on the chip of the current chip and the accessible address range of the external cascade chip, determine that the access address in the first data access instruction is within the accessible range on the chip of the current chip, and then access the target data in the current chip based on the access address and the maximum addressable range on the chip of the current chip.

[0096] In some exemplary embodiments, accessing target data in the current chip according to the access address and the maximum addressable range of the current chip includes:

[0097] The address offset corresponding to the maximum addressable range within the current chip is subtracted from the access address in the first data access instruction to obtain an on-chip access address, and the target data in the current chip is accessed.

[0098] For example, the access address in the first data access instruction is 0x8100_0000, 0x8100_0000-0x8000_0000=0x0100_0000, which falls between 0x0000_0000~0x0FFF_FFF. It is judged that the access address 0x8100_0000 does not exceed the on-chip accessible range of the current chip, that is, within the on-chip accessible range of the current chip, and the target data in the current chip is accessed; 0x8100_0000-0x8000_0000=0x0100_0000, and the on-chip access address 0x0100_0000 is obtained. According to the on-chip access address 0x0100_0000, the on-chip addressing of the current chip is performed to access the target data.

[0099] In some exemplary embodiments, as shown in FIG3 , the method further includes:

[0100] Step 150: Based on the access address in the first data access instruction, the maximum addressable range on the chip of the current chip, and the accessible address range of the external cascade chip, it is determined that the access address in the first data access instruction exceeds the accessible range on the chip of the current chip, but if the current chip is not cascaded to the next level chip, the first data access instruction is discarded or exception handling is performed.

[0101] For example, the access address in the first data access instruction is 0x9100_0000, 0x9100_0000-0x8000_0000=0x1100_0000, which does not fall within the range of 0x0000_0000~0x0FFF_FFF. It is then determined that the access address 0x9100_0000 exceeds the on-chip accessible range of the current chip, but the current chip is not cascaded to the next-level chip, so the data access instruction is discarded or exception handling is performed.

[0102] In some exemplary embodiments, the new access address in step 130 is determined according to the following method:

[0103] The address offset corresponding to the address range accessible to the external cascade chip of the current chip is subtracted from the access address in the received first data access instruction to obtain the new access address.

[0104] That is, AddNew=Address-AddOffset;

[0105] Wherein, AddNew is the new access address, Address is the access address in the received first data access instruction, and AddOffset is the address offset corresponding to the address range accessible to the external cascade chip of the current chip.

[0106] For example, the access address in the first data access instruction is 0x9100_0000, 0x9100_0000-0x8000_0000=0x1100_0000, which does not fall within the range of 0x0000_0000~0x0FFF_FFF. It is then determined that the access address 0x9100_0000 exceeds the on-chip accessible range of the current chip, and the new access address is calculated: 0x9100_0000-0x1000_0000=0x8100_0000. After the access address in the first data access instruction is changed to the new access address 0x8100_0000, it is sent to the next-level chip.

[0107] In some exemplary embodiments, sending the updated first data access instruction to the next-level chip to access the target data includes:

[0108] Method 1: the current chip sends the updated first data access instruction to the next-level chip to access the target data;

[0109] or,

[0110] Method 2: After the current chip completes handshake with the next-level chip, the current chip sends the updated first data access instruction to the next-level chip to access the target data;

[0111] or,

[0112] Mode three: the current chip sends a corresponding data block transfer instruction to the next-level chip according to the updated first data access instruction to access the target data.

[0113] Mode 1 is also called direct forwarding transmission, mode 2 is called handshake transmission, and mode 3 is called block transmission. In other words, data between chips can be transmitted using any of these three modes. As you can understand, direct forwarding transmission has a relatively high bit error rate, while handshake transmission has a relatively low bit error rate. Block transmission is more suitable for transmitting large amounts of data. You can choose the desired transmission mode based on your data transmission needs, and you are not limited to a specific mode.

[0114] In some exemplary embodiments, as shown in FIG4 , the method further includes:

[0115] Step 160 , access the target data in the current chip or send the second data access instruction to the next-level chip to access the target data according to the access address in the second data access instruction initiated by the current chip and the maximum addressable range of the current chip.

[0116] In some exemplary embodiments, step 160 includes:

[0117] According to the access address in the second data access instruction initiated by the current chip and the maximum addressable range of the current chip, if it is determined that the access address in the second data access instruction exceeds the maximum addressable range of the current chip, the second data access instruction is sent to the next-level chip to access the target data;

[0118] or,

[0119] According to the access address in the second data access instruction initiated by the current chip and the maximum addressable range within the chip of the current chip, if it is determined that the access address in the second data access instruction is within the maximum addressable range within the chip of the current chip, the target data in the current chip is accessed according to the access address in the second data access instruction.

[0120] For example, if the access address in the second data access instruction is 0x7100_0000, and the maximum addressable range of the current chip N0 is 0x0000_0000 to 0x7FFF_FFFF, the access address 0x7100_0000 is within the maximum addressable range of the current chip. Therefore, the target data in the current chip is accessed according to the access address 0x7100_0000. For another example, if the access address in the second data access instruction is 0x8100_0000, and the maximum addressable range of the current chip is 0x0000_0000 to 0x7FFF_FFFF, the access address 0x8100_0000 exceeds the maximum addressable range of the current chip. Therefore, the second data access instruction is sent to the next cascade chip N1. It can be understood that for N0, the data access instruction is a data access instruction initiated by N0 itself, which is the second data access instruction; for N1, the data access instruction is an instruction from the upper-level chip N0, which is the first data access instruction.

[0121] It can be understood that after the current chip completes the corresponding local access for the received first data access instruction or receives a response from the next-level chip, it returns a response to the previous-level chip. After the current chip completes the corresponding local access for the second data access instruction or receives a response from the next-level chip, it performs subsequent processing accordingly. Based on this, according to the solution provided in the embodiment of the present application, each level of chip can achieve intra-chip or cross-chip data access after multiple chips are cascaded.

[0122] It can be understood that according to the data access method provided in the embodiments of the present application, for multiple cascaded chips, based on the planned address space, each chip at each level implements target data access according to the corresponding data access instruction processing rules for both the second data access instruction initiated by itself and the first data access instruction from other external chips. This allows for flexible and on-demand configuration of the cascade structure, achieving simple and unified logic.

[0123] The embodiment of the present application also provides a multi-chip cascading method, including:

[0124] At least two chips are cascaded in a linear manner;

[0125] The at least two chips include: a head chip and a tail chip; except for the tail chip, each of the at least two chips corresponds to a next-level chip;

[0126] Each of the at least two chips accesses data according to the method described in any embodiment of the present application.

[0127] That is to say, in the linear cascade, the head chip is not connected to the previous chip, the tail chip is not connected to the next chip, and the other chips have corresponding connections to the previous chip and the next chip.

[0128] In some exemplary embodiments, each chip in the cascade is a chip of the same specification; each chip has the same address space information.

[0129] In some exemplary embodiments, each chip in the cascade is a chip of a different specification; and chips of different specifications have different address space information.

[0130] In some exemplary embodiments, as shown in FIG5 , nine identical chips, N0-N8, are cascaded in a linear fashion. For chip N0, the maximum addressable range within the chip is 0x0000_0000 to 0x7FFF_FFFF, but the actual allocated range is 0x0000_0000 to 0x0FFF_FFFF, leaving other addresses reserved for use. For chips N1-N8, each chip has a maximum addressable range within the chip of 0x0000_0000 to 0x7FFF_FFFF, but the actual allocated range is 0x0000_0000 to 0x0FFF_FFFF, leaving other addresses reserved for use. Externally cascaded chips can access addresses in the range 0x0000_0000 to 0x0FFF_FFFF.

[0131] For N0, the data in the chip can be accessed through the address space 0x0000_0000~0x0FFF_FFFF, the first-level chip N1 can be accessed through the address space 0x8000_0000~0x8FFF_FFFF, the second-level chip N2 can be accessed through the address space 0x9000_0000~0x9FFF_FFFF, the third-level chip N3 can be accessed through the address space 0xA000_0000~0xAFFF_FFFF, and the third-level chip N4 can be accessed through the address space 0xB000_0000~0x BFFF_FFFF can access the off-chip fourth-level chip N4, the off-chip fifth-level chip N5 can be accessed through the address space 0xC000_0000~0xCFFF_FFFF, the off-chip sixth-level chip N6 can be accessed through the address space 0xD000_0000~0xDFFF_FFFF, the off-chip seventh-level chip N7 can be accessed through the address space 0xE000_0000~0xEFFF_FFFF, and the off-chip eighth-level chip N8 can be accessed through the address space 0xF000_0000~0xFFFF_FFFF.

[0132] For N0, the chip address space division of N0-N8 is shown in Table 1:

[0133] Table 1 Division of chip address space

[0134] Each chip N1-N8 receives the first data access instruction sent by the previous level chip, and subtracts the address offset 0x8000_0000 corresponding to the maximum addressable range within the chip from its access address. If the result is within the address range 0x0000_0000 to 0x0FFF_FFFF accessible to the external cascade chip, the chip is accessed according to the result. If the result exceeds the address range 0x0000_0000 to 0x0FFF_FFFF accessible to the external cascade chip, the new access address is calculated as the received access address minus the address offset 0x1000_0000 corresponding to the address range accessible to the external cascade chip, and the first data access instruction with the updated access address is sent to the next level chip.

[0135] For example, N0 initiates a second data access instruction with an access address of 0x9100_0000, executes step 160 to send the second data access instruction to the next-level chip N1; N1 executes step 110 to receive the first data access instruction with an access address of 0x9100_0000, executes step 120 to determine that the new access address is 0x8100_0000, and continues to execute step 130 to update the access address of the first data access instruction to 0x8100_0000. 0, and sends it to the next-level chip N2; N2 executes step 110 and receives the first data access instruction with the access address 0x8100_0000. Then, it executes step 140 and determines that the access address 0x8100_0000 is within the on-chip accessible range of the current chip N2. It then calculates the on-chip access address 0x8100_0000-0x8000_0000=0x0100_0000 and accesses the target data in N2 based on 0x0100_0000. That is, the second data access instruction with the access address 0x9100_0000 initiated by N0 ultimately obtains the target data from N2.

[0136] In a linear connection, only the previous chip can access the next chip, and the next chip cannot access the previous chip. The chip access relationship is shown in Table 2. Chip N0 can access all subsequent chips from N1 to N8; chip N1 can access all subsequent chips from N2 to N8; chip N2 can access all subsequent chips from N3 to N8; chip N3 can access all subsequent chips from N4 to N8; chip N4 can access all subsequent chips from N5 to N8; chip N5 can access all subsequent chips from N6 to N8; chip N6 can access subsequent chips N7 and N8; chip N7 can access subsequent chip N8; and chip N8 can only access itself.

[0137] Table 2 Linear connection chip access relationship

[0138] In some exemplary embodiments, there are eight linear topologies, N0-N8, depending on the number of connected chips, as shown in FIG7 . Similar to FIG5 , these structures allow the front-stage chip to access the back-stage chip.

[0139] In some exemplary embodiments, the access address bit width is 32 bits. The highest 2 bits are used to determine whether data is accessed on-chip or off-chip. If the highest 2 bits are less than 01, on-chip addressing is performed. If they are greater than or equal to 01, off-chip addressing is performed. The maximum addressable range on-chip is 0x0000_0000~0x3FFF_FFFF, and its corresponding address offset is 0x4000_0000. The actual allocation uses 0x0000_0000~0x3FFF_FFFF. The external cascade chip can access the address range of 0x0000_0000~0x3FFF_FFFF, and its corresponding address offset is 0x4000_0000. The four chips N0-N3 are cascaded. For N0, the chip address space of N0-N3 is divided as shown in Table 3:

[0140] Table 3 Division of chip address space

[0141] It can be understood that the detailed addressing process is based on the highest bits of the addressing address to perform on-chip addressing or off-chip addressing, which can be flexibly determined according to design requirements. More examples will not be discussed in detail here.

[0142] The embodiment of the present application also provides a multi-chip cascading method, including:

[0143] At least two chips are cascaded in a ring manner;

[0144] The at least two chips include: a head chip and a tail chip; each of the at least two chips corresponds to a next-level chip;

[0145] Each chip performs data access according to the data access method described in any embodiment of the present application.

[0146] In other words, all chips in a ring-shaped cascade have corresponding connections to the previous and next chips, with the head and tail chips connected. The head and tail chips are defined relative to each other in the ring structure, and any node on the ring can serve as either the head or tail chip.

[0147] In some exemplary embodiments, each level of chips in the cascade is a chip of the same specification; and each level of chips has the same address space information.

[0148] In some exemplary embodiments, each level of the cascaded chips are chips of different specifications; and chips of different specifications have different address space information.

[0149] In some exemplary embodiments, as shown in FIG7 , nine identical chips, N0-N8, are cascaded in a ring configuration. Each chip, N0-N8, has a maximum internal addressable range of 0x0000_0000 to 0x7FFF_FFFF, but actual addresses are allocated and used from 0x0000_0000 to 0x0FFF_FFFF. Other addresses are reserved and unallocated. External cascaded chips can access addresses in the range 0x0000_0000 to 0x0FFF_FFFF.

[0150] In the ring connection shown in Figure 7, all chips are connected in a ring. In this case, all chips are equal in terms of connectivity, with no hierarchy. Each chip can initiate access to any external chip. The chip access relationship is shown in Table 4.

[0151] Table 4 Ring connection chip access relationship

[0152] For chip N0, it can access chips N1, N2, N3, N4, N5, N6, N7, and N8 according to the arrows shown in Figure 7; chip N1 can access chips N2, N3, N4, N5, N6, N7, N8, and N0 according to the arrows shown in Figure 7; chip N2 can access chips N3, N4, N5, N6, N7, N8, N0, and N1 according to the arrows shown in Figure 7; chip N3 can access chips N4, N5, N6, N7, N8, N0, N1, and N2 according to the arrows shown in Figure 7; chip N4 can access chips N1, N2, N3, N4, N5, N6, N7, N8, N0, N1, and N2 according to the arrows shown in Figure 7. N5, N6, N7, N8, N0, N1, N2, N3; chip N5 can access chips N6, N7, N8, N0, N1, N2, N3, N4 according to the arrows shown in Figure 7; chip N6 can access chips N7, N8, N0, N1, N2, N3, N4, N5 according to the arrows shown in Figure 7; chip N7 can access chips N8, N0, N1, N2, N3, N4, N5, N6 according to the arrows shown in Figure 7; chip N8 can access chips N0, N1, N2, N3, N4, N5, N6, N7 according to the arrows shown in Figure 7.

[0153] In some exemplary embodiments, the ring topology, N0-N8, has eight ring topologies according to the number of connected chips, as shown in FIG8 . These structures are the same as FIG7 , and each chip can initiate an access to any off-chip chip.

[0154] In some exemplary embodiments, as shown in FIG9 , inter-chip cascade signal types include synchronization signals, data signals, and low-speed management signals. Synchronization signals coordinate the synchronous operation of multiple chips. Data signals provide inter-chip data transmission and have a relatively high data transmission rate, also known as high-speed data signals. Management signals manage high-speed links and the operation of each chip and have a relatively low data transmission rate, also known as low-speed management signals.

[0155] As you can see, each chip is connected to the next-level chip via cascade signals. Synchronous signals are forwarded to the next-level chip via a forwarding mechanism. Pulse-level synchronous signals are output to the next-level chip via an additional amplifier, and RF synchronous signals are also output to the next-level chip via an amplifier. Data signals are forwarded to the next-level chip via the next-level on-chip bus. Management signals are connected via adaptation to signal lines. When using the I2C (Inter-Integrated Circuit) protocol, simply connect the I2C slave within the chip to the bus via an open-drain transmission transistor, and connect a pull-up resistor to the bus. This signal connection method only requires two chips to be connected to form a system.

[0156] As shown in Figure 9, management signals enhance the functional safety of the chip topology system. Before data transmission, the data signal path is trained using management signals to achieve the optimal configuration before data transmission begins. During data transmission, a cyclic redundancy check (CRC) is added. During data transmission, the receiver verifies the received data. If an error is found, the sender is notified via management signals to retransmit the data.

[0157] The embodiment of the present application also provides a multi-chip cascading method, including:

[0158] At least two chipsets are connected to the central processing unit in a star-shaped manner;

[0159] Each chipset includes at least two chips, and the at least two chips in each chipset are cascaded in a linear manner as described in the embodiment of the present application or in a ring manner as described in the embodiment of the present application.

[0160] The present application also provides a multi-chip cascade system, including:

[0161] At least two chips cascaded in a linear manner;

[0162] The at least two chips include: a head chip and a tail chip; except for the tail chip, each of the at least two chips corresponds to a next-level chip;

[0163] Each of the at least two chips performs data access according to the data access method described in any embodiment of the present application.

[0164] The present application also provides a multi-chip cascade system, including:

[0165] At least two chips cascaded in a ring manner;

[0166] The at least two chips include: a head chip and a tail chip; each of the at least two chips corresponds to a next-level chip;

[0167] Each of the at least two chips performs data access according to the data access method described in any embodiment of the present application.

[0168] The present application also provides a multi-chip cascade system, including:

[0169] a central processing unit and at least two chipsets;

[0170] The at least two chipsets are connected to the central processing unit in a star-shaped manner;

[0171] Each chipset includes at least two chips, and the at least two chips in each chipset are cascaded in a linear manner as described in the embodiment of the present application or in a ring manner as described in the embodiment of the present application.

[0172] In some exemplary embodiments, as shown in Figure 10, a composite topology combining linear and star topologies is employed. This structure consists of a linear topology connected to a central processing unit (CPU), which is connected to the CPU via other means, such as Ethernet, CAN bus, etc. Figure 10 illustrates a four-chip linear and star topology. Each chipset comprises a linear topology composed of multiple chips of equal or varying numbers. The number of linear topologies, and therefore the number of chipsets, can also be flexibly configured as needed.

[0173] In some exemplary embodiments, as shown in Figure 11, a composite topology combining ring and star is employed. This structure consists of a ring topology connected to a central processing unit (CPU), which is connected to the CPU via other means, such as Ethernet, CAN bus, etc. Figure 11 illustrates a four-chip ring and star topology. Each chipset is a linear topology composed of multiple chips of equal or varying numbers. The number of ring topologies, and therefore the number of chipsets, can be flexibly configured as needed.

[0174] It's understood that different chip connection topologies can be applied to different systems. Linear and ring topologies can be applied to package-level and PCB-level system connections. Composite star topologies can be applied to domain system connections, such as indoor system connections and in-vehicle system connections.

[0175] The embodiment of the present application also provides a multi-chip cascade system, which, based on a limited address bit width, can expand and connect more chips through upper-layer software.

[0176] In some exemplary embodiments, as shown in FIG12 , the chips are connected in a linear extension topology. With a 32-bit address width, chips N9 through Nk are extended chips. N0 can access chip N8 at most based on address addressing, while chips N9 through Nk can be accessed via software. This is true for each chip. The data access method provided in the embodiments of this application can access up to eight off-chip chips via access addresses, and chips beyond these eight chips can be accessed via software.

[0177] In some exemplary embodiments, as shown in FIG13 , the chips are connected in a ring-shaped extended topology. With a 32-bit address width, chips N9 to Nk are extended chips. N0 can access chip N8 at the most by addressing, and chips N9 to Nk can be accessed via software. This is true for each chip. The data access method provided in the embodiments of the present application can access up to eight off-chip chips via access addresses, and chips beyond these eight chips can be accessed via software.

[0178] In some exemplary embodiments, as shown in Figures 14 and 15 , these are extended topologies that combine the linear and ring topologies of Figures 12 and 13 with a star topology. Each local topology is the same as in Figures 12 and 13 . These structures are constructed by connecting a linear or ring topology to a central processing unit (CPU), which is connected to the CPU via other means, such as Ethernet, CAN bus, etc. The number of linear or ring topologies in Figures 14 and 15 can be arbitrary depending on the scenario.

[0179] An embodiment of the present application further provides an electronic device, including:

[0180] one or more processors;

[0181] a storage device for storing one or more programs,

[0182] When the one or more programs are executed by the one or more processors, the one or more processors implement the data access method as described in any embodiment of the present application.

[0183] An embodiment of the present application further provides an electronic device, including:

[0184] one or more processors;

[0185] a storage device for storing one or more programs,

[0186] When the one or more programs are executed by the one or more processors, the one or more processors implement the multi-chip cascading method as described in any embodiment of the present application.

[0187] An embodiment of the present application further provides a computer storage medium, wherein the storage medium stores a computer program, wherein the computer program is configured to execute the data access method as described in any embodiment of the present application when running.

[0188] An embodiment of the present application further provides a computer storage medium, wherein the storage medium stores a computer program, wherein the computer program is configured to execute the multi-chip cascading method as described in any embodiment of the present application when running.

[0189] It can be seen that based on the access address planning and update method proposed in this application, the data access method can realize cross-chip data access in a multi-chip cascade mode, and can flexibly construct a cascade chipset with a larger addressable range on demand to meet the needs of different products or applications.

[0190] It will be appreciated by those skilled in the art that all or some of the steps, systems, and functional modules / units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In hardware implementations, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all components may be implemented as software executed by a processor, such as a digital signal processor or a microprocessor, or implemented as hardware, or implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or temporary medium). As is well known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable, and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by a computer. In addition, it is well known to those skilled in the art that communication media generally embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.

Claims

1. A data access method, comprising: Receiving a first data access instruction from an upper-level chip; Determining a new access address according to the access address in the first data access instruction and the address space information of the current chip; After updating the access address in the first data access instruction to the new access address, sending the updated first data access instruction to a lower-level chip to access target data.

2. The data access method according to claim 1, wherein The address space information includes: the maximum addressable range within the chip and the accessible address range of external cascaded chips; The determining of the new access address according to the access address in the first data access instruction and the address space information of the current chip includes: When it is determined that the access address exceeds the accessible range within the current chip according to the access address in the first data access instruction, the maximum addressable range within the current chip, and the accessible address range of external cascaded chips, determining the new access address.

3. The data access method according to claim 2, wherein The new access address is determined according to the following method: Subtracting the address offset corresponding to the accessible address range of the external cascaded chips of the current chip from the access address in the received first data access instruction to obtain the new access address.

4. The data access method according to claim 2, further comprising: When it is determined that the access address in the first data access instruction is within the accessible range within the current chip according to the access address in the first data access instruction, the maximum addressable range within the current chip, and the accessible address range of external cascaded chips, accessing the target data in the current chip according to the access address and the maximum addressable range within the current chip; Or, When it is determined that the access address in the first data access instruction exceeds the accessible range within the current chip but the current chip is not cascaded with a lower-level chip according to the access address in the first data access instruction, the maximum addressable range within the current chip, and the accessible address range of external cascaded chips, discarding the first data access instruction or performing an exception handling.

5. The data access method according to claim 4, wherein The accessing of the target data in the current chip according to the access address and the maximum addressable range within the current chip includes: Subtracting the address offset corresponding to the maximum addressable range within the current chip from the access address in the first data access instruction to obtain an in-chip access address, and accessing the target data in the current chip.

6. The data access method according to any one of claims 1-5, wherein The sending of the updated first data access instruction to a lower-level chip to access target data includes: The current chip sending the updated first data access instruction to the lower-level chip to access the target data; Or, after the current chip and the lower-level chip complete a handshake, sending the updated first data access instruction to the lower-level chip to access the target data; Alternatively, according to the updated first data access instruction, the current chip sends a corresponding data block transfer instruction to the next-level chip to access the target data.

7. The data access method according to claim 2, further comprising: Accessing the target data in the current chip or sending the second data access instruction to the next-level chip to access the target data according to the access address in the second data access instruction initiated by the current chip and the maximum addressable range within the chip of the current chip.

8. A multi-chip cascading method, comprising: At least two chips are cascaded in a linear manner; Wherein, the at least two chips include: a head chip and a tail chip; except for the tail chip among the at least two chips, each chip corresponds to a next-level chip; Each of the at least two chips performs data access according to the data access method according to any one of claims 1-7.

9. A multi-chip cascading method, comprising: At least two chips are cascaded in a ring manner; Wherein, the at least two chips include: a head chip and a tail chip; each of the at least two chips corresponds to a next-level chip; Each chip performs data access according to the data access method according to any one of claims 1-7.

10. A multi-chip cascading method, comprising: At least two chip groups are connected to a central processing unit in a star manner; Wherein, each chip group includes at least two chips, and at least two chips within each chip group are cascaded according to the multi-chip cascading method according to claim 8 or 9.

11. A multi-chip cascading system, comprising: At least two chips cascaded in a linear manner; Wherein, the at least two chips include: a head chip and a tail chip; except for the tail chip among the at least two chips, each chip corresponds to a next-level chip; Each of the at least two chips performs data access according to the data access method according to any one of claims 1-7.

12. A multi-chip cascading system, comprising: At least two chips cascaded in a ring manner; Wherein, the at least two chips include: a head chip and a tail chip; each of the at least two chips corresponds to a next-level chip; Each chip performs data access according to the data access method according to any one of claims 1-7.

13. A multi-chip cascading system, comprising: A central processing unit and at least two chip groups; Wherein, the at least two chip groups are connected to the central processing unit in a star manner; Each chip group includes at least two chips, and at least two chips within each chip group are cascaded according to the multi-chip cascading method according to claim 8 or 9.

14. An electronic device, comprising: One or more processors; A storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the data access method according to any one of claims 1-7, or implement the multi-chip cascading method according to any one of claims 8-10.

15. A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the data access method according to any one of claims 1-7, or implements the multi-chip cascading method according to any one of claims 8-10.

Citation Information

Patent Citations

  • Data access, multi-chip cascade method, system, device and storage medium

    CN117743259B

  • Information processing apparatus and data transfer method

    CN106210389A

  • Unified address space for multiple hardware accelerators using dedicated low latency links

    CN112543925A

  • Data access method, chip, electronic equipment and storage medium

    CN116795731A

  • Data access method and system, multi-chip cascading method and system, equipment and storage medium

    CN117743259A

Cited By

  • Multi-chip interconnection system and decoding method thereof

    CN121277876A

  • Cross-chip access method and device, medium, program product and multi-chip system

    CN121880264A

  • Cross-chip access method, apparatus, medium, program product, and multi-chip system

    CN121880264B