A data processing method and related device
By negotiating the synchronization length capability and adopting a product calculation method, the problem of excessively long synchronization data transmission time in the UFS protocol is solved, thereby reducing power consumption and transmission latency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-01-08
- Publication Date
- 2026-07-10
AI Technical Summary
In existing technologies, the UFS protocol needs to send excessively long synchronization data before sending synchronization data, resulting in wasted power consumption and increased latency in payload data transmission.
By negotiating the synchronization length capability, the transmission duration of synchronization data is determined by a product calculation method, thereby shortening the transmission duration of synchronization data and replacing the exponential scheme with a linear scheme.
It reduces the time required to send synchronization data, reduces power consumption, and lowers the latency of payload data transmission.
Smart Images

Figure CN122372128A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to a data processing method and related equipment. Background Technology
[0002] Currently, the Universal Flash Storage (UFS) protocol is being used more and more widely. UFS is a flash storage specification designed for use in consumer electronics products such as smartphones and digital cameras. The Mobile Industry Processor Interface (MIPI) Mobile Physical Layer (M-PHY) is a crucial protocol within UFS. According to the MIPI MPHY protocol, before transmitting payload data, a set of prepare and synchronize data needs to be sent. The synchronized data is primarily used to enable the receiving end to perform clock and data recovery (CDR) locking, after which the receiving end can correctly parse the payload data.
[0003] Based on the MPHY protocol definition, during the chain establishment process, the sending and receiving ends negotiate synchronization length capabilities. Subsequently, before sending payload messages, it is necessary to ensure that the sending end's synchronization data transmission duration is greater than the receiving end's synchronization length capability requirement. For example, if the sending end's synchronization length capability requirement is 8200 symbol intervals (SI), according to the exponential calculation method specified in the MPHY protocol, the synchronization data transmission duration of RX needs to be configured to 2... 14 SI, or 16834SI. Therefore, before sending the payload, approximately 3.5µs of synchronization data needs to be sent. The excessive margin in the transmission time of the synchronization data leads to wasted power consumption and also increases the transmission latency of the payload data.
[0004] Therefore, how to shorten the transmission time of synchronization data is an urgent technical problem to be solved. Summary of the Invention
[0005] This application provides a data processing method and related equipment that can shorten the transmission time of synchronous data, thereby reducing power consumption and reducing the transmission latency of payload data.
[0006] In a first aspect, this application provides a data processing method, which is executed by a first device, or by some components (e.g., a processor, chip, or chip system) of the first device, or by a logic module or software capable of implementing all or part of the functions of the first device. In the first aspect and its possible embodiments, taking the execution of the data processing method by a first device as an example, the first device receives first information sent by a first UFS device, the first information indicating the synchronization length capability of the first UFS device, the first information including a first synchronization length; the first device determines a first duration based on the first information, and when a first condition is met, the first duration is the product of the first synchronization length and a first value, the first value being greater than 1; the first device sends first synchronization data, the transmission duration of the first synchronization data being the first duration.
[0007] In the first aspect, the first device is the transmitter of synchronization data. For example, the first device can be a second UFS device, and the first UFS device can be the receiver of synchronization data. The first device receives first information, which indicates the synchronization length capability of the first UFS device. That is, the first UFS device negotiates the synchronization length capability with the first device through the first information, and the first information includes a first synchronization length. The first device can determine a first duration based on the first information, which is the duration for transmitting the first synchronization data. The first duration is the product of the first synchronization length and a first value. In this application, the first duration is calculated using a product method, i.e., a linear scheme. Compared with an exponential scheme, in this application, as the synchronization duration increases, the corresponding transmission duration of the synchronization data does not experience explosive growth, and this application can shorten the transmission duration of the synchronization data. For example, the first value can be 256, and the TX synchronization length capability requirement is 8200SI. According to the MPHY protocol, the first synchronization length can be 33 at this time. The corresponding RX synchronization length capability configuration is 8488SI. The RX synchronization length capability needs to be configured to 16834SI, which requires sending an additional 0.12us of synchronization data. The additional transmission time of the synchronization data is shortened, thereby reducing the transmission time of the synchronization data, reducing power consumption, and reducing the transmission latency of the payload data.
[0008] Optionally, the first device can also be a UFS device.
[0009] Optionally, the first information can be the receiver's synchronization length capability (RX_SYNC_LENGTH_CAPABILITY), such as RX_HS_G5_SYNC_LENGTH_CAPABILITY defined in the UFS protocol. RX_SYNC_LENGTH_CAPABILITY is used to indicate the synchronization length capability of the first UFS device.
[0010] Optionally, the above synchronization length can be the SYNC_length defined by the UFS protocol.
[0011] In one alternative implementation of the first aspect, the first information further includes a synchronization range, which includes a first range, a second range, or a third range, wherein the first duration corresponding to the first range, the second range, and the third range is calculated in different ways.
[0012] The above implementation defines three synchronization ranges, while the current UFS protocol only defines two synchronization ranges. Furthermore, the calculation methods for the first duration of the three synchronization ranges in this application are different. This application provides more selectable synchronization ranges and more ways to calculate the transmission duration of synchronization data, thereby allowing for more flexible selection of the synchronization range based on the attributes of the first device, network conditions, or task latency requirements, or based on the attributes of the first UFS node, network conditions, or task latency requirements.
[0013] Optionally, the first range mentioned above can be fine within the synchronization range defined by the UFS protocol, or the first range can also be fine-grained.
[0014] Optionally, the second range mentioned above can be the coarse range defined by the UFS protocol, or the first range can also be coarse-grained.
[0015] Optionally, the aforementioned third range can be user-defined. For example, the developer of the first device can determine the third range based on synchronization length capabilities, etc.
[0016] Optionally, the synchronization range may also include a fourth range or a fifth range, wherein the calculation method for the first duration of any two ranges among the fourth range, fifth range, first range, second range and third range is different.
[0017] In one alternative implementation of the first aspect, the first device sends the second information to the first UFS device, the second information being used to configure the synchronization length capability of the first UFS device, the synchronization range in the second information being the third range.
[0018] Based on the above implementation method, the first device negotiates its synchronization length capability with the first UFS device through the second information. This application proposes a new scenario, namely, the synchronization range of the first device is a third range, so that the first UFS device can reduce the transmission time of synchronization data by using the calculation method newly defined in this application instead of the exponential scheme.
[0019] In one alternative implementation of the first aspect, the first condition is that the synchronization range is the third range, the third range corresponds to i synchronization lengths, i>16, i≤64, and i is an integer.
[0020] In the above implementation, the first condition is set to the third synchronization range. Therefore, the first duration corresponding to the third range is the product of the first synchronization length and the first value. That is, the calculation formula for the transmission duration of the synchronization data corresponding to the third range is a newly defined calculation method in this application. Furthermore, the value of the synchronization length corresponding to the third range is i, where i > 16 and i ≤ 64, and i is an integer. Compared to the current protocol which defines no more than 16 synchronization lengths, this application provides a wider variety of synchronization lengths corresponding to the third range, thus enabling compatibility with UFS devices with different CDR locking capabilities, especially some UFS devices with weaker CDR locking capabilities.
[0021] Optionally, a typical example of this application is i = 64.
[0022] Optionally, the configuration value for the synchronization length corresponding to the third range is k, where k ≥ 0, k ≤ 63, and k is a positive integer. For example, the synchronization length can be 31, 63, etc.
[0023] In one alternative implementation of the first aspect, the seventh and eighth bits of the first information are used to indicate the synchronization range.
[0024] Based on the above implementation, the bits used to indicate the synchronization range in this application are the same as the bits used to indicate the synchronization range defined in the current UFS protocol, which can be compatible with current UFS devices based on the UFS protocol and reduce the protocol burden.
[0025] Optionally, the seventh and eighth bits are located in the reserve field of RX_SYNC_LENGTH_CAPABILITY.
[0026] In one alternative implementation of the first aspect, the first 6 bits of the first information are used to indicate the first synchronization length.
[0027] Based on the above implementation, the bit used to indicate the first synchronization length in this application is the same as the bit used to indicate the synchronization length defined in the current UFS protocol, which can be compatible with current UFS devices based on the UFS protocol and reduce the protocol burden.
[0028] Optionally, the first six bits are located in the reserve field of RX_SYNC_LENGTH_CAPABILITY.
[0029] Optionally, when the CDR locking capability indication duration of the first UFS device is closest to T in the table. SYNC A, but T SYNC When A is less than the CDR locking capability indication duration, the synchronization range is configured as the third range, where the CDR locking capability indication duration of the first UFS device is closest to T in the table. SYNC B but T SYNC When B is greater than the CDR locking capability indication duration, the synchronization range is configured as the first range, the second range, or the third range.
[0030] Optionally, if the first UFS device does not support the third range or does not support the calculation method of the first duration corresponding to the third range, the synchronization range is set to the first range or the second range.
[0031] Optionally, the first duration is the transmission duration of the synchronization data sent by the first device to the first UFS device.
[0032] Optionally, the first duration can be the product of the first synchronization length and the first value, or it can be any other combination of the first synchronization length and the first value.
[0033] In one alternative implementation of the first aspect, the first value is greater than or equal to 16, and the first value is less than or equal to 512.
[0034] Based on the above implementation method, the range of the first value is [16, 512]. When the first value is within this range, the first duration calculated in the end can be compatible with UFS devices with poor clock locking capability.
[0035] Optionally, the choice of the first value is related to i. In two typical application scenarios of this application: when i is 16, that is, when there are 16 synchronization lengths, the first value is 256; when i is 32, that is, when there are 32 synchronization lengths, the first value is 128.
[0036] Optionally, after initiating the chain establishment operation and obtaining the first information of the first UFS device, the unipro protocol internally records the first synchronization length at different rates according to the calculation formula for the first duration. Subsequently, when the unipro protocol needs to send a message, before configuring the MPHY side to start a burst operation, it configures the corresponding protocol register of the MPHY according to the recorded first synchronization length. The MPHY protocol implementation calculates the first duration to be sent according to the above formula and sends the corresponding SYNC code.
[0037] Optionally, the first synchronization data can be sent during the burst; see [link to relevant documentation]. Figure 6 When sending a burst, prepare data is typically sent first, followed by synchronization data, and then the payload data. This application adjusts the calculation method of the synchronization data transmission duration, i.e., the first duration, to make the final first duration more reasonable. By shortening the synchronization data transmission duration within a reasonable range, the latency of the payload data can be reduced, as well as power consumption.
[0038] A second aspect of this application provides a communication device, comprising a transceiver unit and a processing unit, for performing all or part of the operations described in the first, second, or third aspects. The communication device may be a network device such as a router or switch, or a controller, or a component within a network device or controller for performing related operations, such as a line card or interface board, or a chip system for performing related operations, which may include one or more chips. When the communication device is a chip system, the transceiver unit may be, for example, an interface circuit of the chip, and the processing unit may be, for example, a processing circuit of the chip.
[0039] For example, when the communication device is the first device in the first aspect, the receiving unit is configured to receive first information sent by the first general-purpose flash memory storage (UFS) device, the first information being used to indicate the synchronization length capability of the first UFS device, the first information including a first synchronization length; the processing unit is configured to determine a first duration based on the first information, wherein when a first condition is met, the first duration is the product of the first synchronization length and a first value, the first value being greater than 1; the processing unit is configured to send first synchronization data, the transmission duration of the first synchronization data being the first duration.
[0040] In one alternative implementation of the second aspect, the first information further includes a synchronization range, which includes a first range, a second range, or a third range, wherein the calculation methods for the first duration corresponding to the first range, the second range, and the third range are different.
[0041] In one alternative implementation of the second aspect, the first condition is that the synchronization range is the third range, the third range corresponds to i synchronization lengths, i>16, i≤64, and i is an integer.
[0042] In one alternative implementation of the second aspect, the first value is greater than or equal to 16, and the first value is less than or equal to 512.
[0043] In an optional implementation of the second aspect, the sending unit is further configured to: send the second information to the first UFS device, the second information being used to configure the synchronization length capability of the first UFS device, the synchronization range in the second information being the third range.
[0044] In an alternative implementation of the second aspect, the seventh and eighth bits of the first information are used to indicate the synchronization range.
[0045] In an alternative implementation of the second aspect, the first 6 bits of the first information are used to indicate the first synchronization length.
[0046] Thirdly, embodiments of this application provide a communication device, including: a processor coupled to a memory for storing instructions, which, when executed by the processor, cause the processor to implement the method described in the first aspect or any possible implementation of the first aspect.
[0047] Fourthly, embodiments of this application provide a computer-readable storage medium having instructions stored thereon, which, when executed, cause a computer to perform the method described in the first aspect or any possible implementation of the first aspect.
[0048] Fifthly, embodiments of this application provide a computer program product including computer program code, which, when run on a computer, causes the computer to perform the method described in the first aspect or any possible implementation of the first aspect.
[0049] In a sixth aspect, embodiments of this application provide a chip, including: a processor coupled to a memory for storing instructions, which, when executed by the processor, cause the chip to implement the method described in the first aspect or any possible implementation of the first aspect.
[0050] The technical effects of any of the implementation methods in aspects two through six can be found in the technical effects of the first aspect and its implementation methods mentioned above, and will not be repeated here. Attached Figure Description
[0051] Figure 1 A main architecture diagram of the UFS protocol provided in this application embodiment;
[0052] Figure 2 A schematic diagram of a UFS protocol layered structure provided in this application embodiment;
[0053] Figure 3 A schematic diagram of a system architecture provided for an embodiment of this application;
[0054] Figure 4 A flowchart illustrating a method 100 provided in an embodiment of this application;
[0055] Figure 5 A schematic diagram of the message structure of the first information provided in the embodiments of this application;
[0056] Figure 6 A schematic diagram illustrating the transmission format of burst provided in an embodiment of this application;
[0057] Figure 7 A schematic diagram of a communication device provided in an embodiment of this application;
[0058] Figure 8 This is yet another structural schematic diagram of a communication device provided in an embodiment of this application. Detailed Implementation
[0059] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the implementation methods of the embodiments of this application will be further described in detail below with reference to the accompanying drawings.
[0060] The following explanations are provided for some of the terms used in the embodiments of this application.
[0061] 1. UFS
[0062] UFS is a new file system standard that offers better performance, efficiency, and scalability. UFS employs the faster Non-volatile Memory Express (NVMe) technology, supports parallel read and write operations, and improves random access speed and input / output (IO) processing capabilities. Especially on mobile devices such as smartphones and tablets, it can significantly improve data transfer speeds and application response times.
[0063] Please see Figure 1 , Figure 1This is the core architecture of UFS. The overall UFS architecture mainly consists of the UFS host controller and the UFS device. The corresponding UFS protocol is also divided into two parts: the UFS host controller interface (HCI) protocol and the UFS protocol. The unified protocol (UniPro) acts as the data link layer of UFS, responsible for the connection between the host and the device. UniPro not only defines the data link layer, but it is also a relatively complete protocol stack.
[0064] 2. UFS Protocol
[0065] The UFS protocol is an interface specification for solid-state storage devices (such as UFS memory cards), developed by the Joint Electron Device Engineering Council (JEDEC). The UFS protocol was designed to provide a high-performance, low-power storage solution to meet the speed and capacity requirements of mobile devices. It is primarily used in applications requiring frequent data exchange and high-speed access, such as running operating systems, processing large amounts of multimedia content, running demanding games, or real-time data processing. It is particularly suitable for response-time-sensitive mobile device environments, improving user experience and optimizing overall device performance. The UFS 4.0 protocol has been released and is widely used in consumer electronics storage devices. The demand for I / O bandwidth in storage systems is increasing year by year, and the MPHY line rate in the UFS protocol has been progressively increasing with each iteration, doubling with each new version.
[0066] Please see Figure 2 , Figure 2 This is a schematic diagram of the UFS protocol's layered structure. The UFS protocol is designed with a four-layer structure, specifically including:
[0067] Application Layer: The application layer of the UFS protocol stack does not define its own native command set, but instead adopts a simplified version of the Small Computer System Interface (SCSI) command set. SCSI is a widely used storage device interface standard that defines how storage devices communicate with computer systems.
[0068] Transport Layer: The UFS transport protocol (UTP) is defined by JEDEC. This layer is responsible for encapsulating application layer commands and data into UFS protocol information units (UPIUs) and managing their transmission between UFS devices and hosts.
[0069] Data Link Layer: The data link layer of the UFS protocol stack is based on the MIPI Alliance's UniPro specification. UniPro is a flexible interconnection protocol that supports multiple communication interfaces, including UFS.
[0070] Physical Layer: The physical layer of UFS also adopts the MIPI Alliance's M-PHY specification. M-PHY defines electrical and physical characteristics, such as signal transmission methods and voltage levels, to support high-speed data transmission.
[0071] 3. BURST
[0072] Data transmission occurs during a BURST in power-saving mode. HS-BURST can be transmitted in HS-MODE, and LS-BURST in LS-MODE. There are two variants of LS-BURST: PWM-BURST for Type I modules and SYS-BURST for Type II modules. According to the protocol archive, during a BURST, before transmitting valid payload data, a PREPARE and synchronization data segment must be sent, as specified in the MIPI MPHY protocol. The synchronization data is primarily used to lock the SERDES CDR on the peer MPHY RX side, allowing the peer RX to correctly parse the payload data.
[0073] 4. PREPARE for BURST
[0074] PREPARE is the initial sub-state of BURST, allowing LINE and data transmission / reception to be configured before the bit stream begins. During PREPARE, the LINE state is DIF-P. If M-RX is configured to terminate the LINE during BURST, the termination function is enabled during PREPARE. Signal integrity should be maintained should any changes occur to the termination state. At the end of PREPARE, the LINE signal will be set. The length of PREPARE is configurable.
[0075] 5. SYNC
[0076] For HS-MODE, a SYNC sequence should follow the PREPARE sub-state cycle. The SYNC sequence is used for bit synchronization of the M-RX to the embedded clock data stream. The SYNC sequence has a minimum duration T. SYNC It is configurable to adapt to different application conditions. In HS-BURST, SYNC is followed by PAYLOAD, which begins with MARKER0 (MK0). If 8b10b encoding is enabled, the protocol layer can request the transmission of MARKER0. If MARKER0 is not requested to be transmitted before the configured SYNC length expires, and 8b10b encoding is enabled, the SYNC sequence will be extended until the protocol layer requests the transmission of MARKER0. SYS-BURST and PWM-BURST do not include SYNC.
[0077] 6. In this application, information, data, and data stream can be used interchangeably. Information, data, and data stream are exemplary names and can be replaced with any possible names, such as message, signaling, data packet, protocol data unit (PDU), or information stream.
[0078] 7. The terms "system" and "network" in the embodiments of this application can be used interchangeably. "Including" means "including but not limited to". When A includes multiple elements or situations, A can be one or more of those elements or situations. For example, if A includes B or C, then A can be B, A can be C, and A can also be B and C. "At least one" means one or more, and "more" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, "at least one of A, B, and C" includes A, B, C, AB, AC, BC, or ABC. Furthermore, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are used to distinguish multiple objects and are not used to limit the order, sequence, priority or importance of multiple objects.
[0079] The system architecture on which the embodiments of this application are based is illustrated below.
[0080] To facilitate understanding of the embodiments of this application, Figure 3 A possible, non-limiting system schematic diagram is shown. Figure 3The communication system shown includes UFS device 101 and UFS device 102. UFS device 101 and UFS device 102 can transmit data or information, as well as signaling, messages, or signals.
[0081] Optionally, UFS device 101 and UFS device 102 may be located in the same device, such as in device 103.
[0082] Optionally, UFS device 101 and UFS device 102 may house two different chips in 103.
[0083] Currently, the Universal Flash Storage (UFS) protocol is being used more and more widely. UFS is a flash storage specification designed for use in consumer electronics products such as smartphones and digital cameras. The Mobile Industry Processor Interface (MIPI) Mobile Physical Layer (M-PHY) is a crucial protocol within UFS. According to the MIPI MPHY protocol, before transmitting payload data, a set of prepare and synchronize data needs to be sent. The synchronized data is primarily used to enable the receiving end to perform clock and data recovery (CDR) locking, after which the receiving end can correctly parse the payload data.
[0084] Based on the MPHY protocol definition, during the chain establishment process, the sending and receiving ends negotiate synchronization length capabilities. Subsequently, before sending payload messages, it is necessary to ensure that the sending end's synchronization data transmission duration is greater than the receiving end's synchronization length capability requirement. For example, if the sending end's synchronization length capability requirement is 8200 symbol intervals (SI), according to the exponential calculation method specified in the MPHY protocol, the synchronization data transmission duration of RX needs to be configured to 2... 14 SI, or 16834SI. Therefore, before sending the payload, approximately 3.5µs of synchronization data needs to be sent. The excessive margin in the transmission time of the synchronization data leads to wasted power consumption and also increases the transmission latency of the payload data.
[0085] Therefore, how to shorten the transmission time of synchronization data is an urgent technical problem to be solved.
[0086] To address the aforementioned technical problems, this application proposes a data processing method 100. In method 100, a first device acts as a transmitter of synchronization data. For example, the first device can be a second UFS device, and the first UFS device can be a receiver of synchronization data. The first device receives first information, which indicates the synchronization length capability of the first UFS device. That is, the first UFS device negotiates the synchronization length capability with the first device through the first information, which includes a first synchronization length. The first device can determine a first duration based on the first information. The first duration is the duration for transmitting the first synchronization data. The first duration is the product of the first synchronization length and a first value. In this application, the first duration is calculated using a product method, i.e., a linear scheme. Compared to an exponential scheme, in this application, as the synchronization duration increases, the corresponding transmission duration of the synchronization data does not experience explosive growth. This application can shorten the transmission duration of the synchronization data, thereby reducing power consumption and reducing the transmission latency of the payload data.
[0087] The following is combined with Figure 4 This section will specifically introduce the method 100 provided in the embodiments of this application. Optionally, when Figure 4 The method shown is applied to Figure 3 When the system is shown, Figure 4 The first device in the process can be UFS device 101 and UFS device 102. Figure 4 The method is illustrated using the first device as the execution subject of the interaction, but this application does not limit the execution subject of the interaction. For example, the execution subject of S401-S403 and related implementations can be the first device, or the execution subject of S401-S403 and related implementations can be a chip, chip system, or processor that supports the first device in implementing the method, or a logic module or software that can implement all or part of the functions of the first device.
[0088] like Figure 4 As shown, the method 100 provided in this application embodiment includes the following steps:
[0089] S401: The first device receives the first information sent by the first UFS device;
[0090] The first information is used to indicate the synchronization length capability of a UFS device, and the first information includes a first synchronization length.
[0091] Optionally, UFS device is an exemplary term in this application and can be replaced with any possible term, such as node, UFS storage, storage node, etc.
[0092] Optionally, the UFS device can be a chip in a terminal device, such as a mobile phone, tablet, laptop, augmented reality (AR) / virtual reality (VR) device, in-vehicle terminal, etc.
[0093] Optionally, the first device can also be a UFS device.
[0094] Optionally, the synchronization length capability in this application is an exemplary term and can be replaced with any possible term, such as CDR locking capability, receiver synchronization length capability, RX SYNC capability value, etc.
[0095] Optionally, the first information can be the receiver's synchronization length capability (RX_SYNC_LENGTH_CAPABILITY), such as RX_HS_G5_SYNC_LENGTH_CAPABILITY defined in the UFS protocol. RX_SYNC_LENGTH_CAPABILITY is used to indicate the synchronization length capability of the first UFS device.
[0096] Optionally, the above synchronization length can be the SYNC_length defined by the UFS protocol.
[0097] The scope of synchronization in this application is described below:
[0098] In one alternative implementation, the first information further includes a synchronization range, which includes a first range, a second range, or a third range, wherein the calculation methods for the first duration corresponding to the first range, the second range, and the third range are different.
[0099] The above implementation defines three synchronization ranges, while the current UFS protocol only defines two synchronization ranges. Furthermore, the calculation methods for the first duration of the three synchronization ranges in this application are different. This application provides more selectable synchronization ranges and more ways to calculate the transmission duration of synchronization data, thereby allowing for more flexible selection of the synchronization range based on the attributes of the first device, network conditions, or task latency requirements, or based on the attributes of the first UFS node, network conditions, or task latency requirements.
[0100] Optionally, the first range mentioned above can be fine within the synchronization range defined by the UFS protocol, or the first range can also be fine-grained.
[0101] Optionally, the second range mentioned above can be the coarse range defined by the UFS protocol, or the first range can also be coarse-grained.
[0102] Optionally, the aforementioned third range can be user-defined. For example, the developer of the first device can determine the third range based on synchronization length capabilities, etc.
[0103] Optionally, the synchronization range may also include a fourth range or a fifth range, wherein the calculation method for the first duration of any two ranges among the fourth range, fifth range, first range, second range and third range is different.
[0104] In one alternative implementation, the first device sends the second information to the first UFS device, the second information being used to configure the synchronization length capability of the first UFS device, and the synchronization range in the second information being the third range.
[0105] Based on the above implementation method, the first device negotiates its synchronization length capability with the first UFS device through the second information. This application proposes a new scenario, namely, the synchronization range of the first device is a third range, so that the first UFS device can reduce the transmission time of synchronization data by using the calculation method newly defined in this application instead of the exponential scheme.
[0106] S402: The first device determines a first duration based on the first information;
[0107] When the first condition is met, the first duration is the product of the first synchronization length and the first value, where the first value is greater than 1.
[0108] The first condition of this application is described below:
[0109] In one alternative implementation, the first condition is that the synchronization range is the third range, which corresponds to i synchronization lengths, where i > 16, i ≤ 64, and i is an integer.
[0110] In the above implementation, the first condition is set to the third synchronization range. Therefore, the first duration corresponding to the third range is the product of the first synchronization length and the first value. That is, the calculation formula for the transmission duration of the synchronization data corresponding to the third range is a newly defined calculation method in this application. Furthermore, the value of the synchronization length corresponding to the third range is i, where i > 16 and i ≤ 64, and i is an integer. Compared to the current protocol which defines no more than 16 synchronization lengths, this application provides a wider variety of synchronization lengths corresponding to the third range, thus enabling compatibility with UFS devices with different CDR locking capabilities, especially some UFS devices with weaker CDR locking capabilities.
[0111] Optionally, a typical example of this application is i = 64.
[0112] Optionally, the configuration value for the synchronization length corresponding to the third range is k, where k ≥ 0, k ≤ 63, and k is a positive integer. For example, the synchronization length can be 31, 63, etc.
[0113] In one alternative implementation, the seventh and eighth bits of the first information are used to indicate the synchronization range.
[0114] Based on the above implementation, the bits used to indicate the synchronization range in this application are the same as the bits used to indicate the synchronization range defined in the current UFS protocol, which can be compatible with current UFS devices based on the UFS protocol and reduce the protocol burden.
[0115] Optional, please refer to Figure 5 The seventh and eighth bits are located in the reserve field of RX_SYNC_LENGTH_CAPABILITY, and the first information can be the reserve field of RX_SYNC_LENGTH_CAPABILITY.
[0116] In one alternative implementation, the first 6 bits of the first information are used to indicate the first synchronization length.
[0117] Based on the above implementation, the bit used to indicate the first synchronization length in this application is the same as the bit used to indicate the synchronization length defined in the current UFS protocol, which can be compatible with current UFS devices based on the UFS protocol and reduce the protocol burden.
[0118] Optional, please refer to Figure 5 The first six bits are located in the reserve field of RX_SYNC_LENGTH_CAPABILITY, and this first information can be the reserve field of RX_SYNC_LENGTH_CAPABILITY.
[0119] For example, based on the foregoing description, the synchronization length capability specified in this application can be summarized in the following table:
[0120] Table 1
[0121]
[0122] In this table, fine represents the first range, coarse represents the second range, and User_defined represents the third range. The table above uses i as an example of 64, in which case the synchronization length corresponding to the third range is 0-63.
[0123] The logical relationship between the configuration characteristics of the sender and the capability characteristics of the receiver as defined in the UFS protocol can be referred to in the following table:
[0124] Table 2
[0125]
[0126] As can be seen from the table above, the UFS protocol defines that the synchronization length of the sender must be greater than or equal to the synchronization length defined in the receiver's capability.
[0127] The table below shows the correspondence between the synchronization length and the transmission duration of the synchronization data for the first and second ranges. The synchronization length is the one defined in the current UFS protocol, and the synchronization duration is calculated based on the synchronization length using the current UFS protocol. See below for details:
[0128] Table 3
[0129]
[0130] The table below shows the correspondence between the synchronization length and the transmission duration of the synchronization data corresponding to the third range. The synchronization length is the synchronization length corresponding to the third range defined in this application, and the synchronization duration is calculated using the calculation method defined for the third range in this application. See below for details:
[0131] Table 4
[0132]
[0133] T in the table above SYNC The duration for sending synchronization data is called the first duration. The time in the table above is T. SYNC The unit is converted from SI to us to obtain the time.
[0134] Regarding how to determine whether the synchronization range is the first, second, or third range, this application provides several optional examples, as follows:
[0135] Example 1: The first UFS device can determine the synchronization range based on the first UFS device's CDR locking capability.
[0136] Optionally, when the CDR locking capability indication duration of the first UFS device is closest to T in the table. SYNC A, but T SYNC When A is less than the CDR locking capability indication duration, the synchronization range is configured as the third range, where the CDR locking capability indication duration of the first UFS device is closest to T in the table. SYNC B but T SYNCWhen B is greater than the CDR locking capability indication duration, the synchronization range is configured as the first range, the second range, or the third range.
[0137] For example, when the CDR locking capability indication duration of the first UFS device is 4100 SI, the synchronization range can be set to the third range. The reason is that, according to the logical relationship in Table 1, the first duration needs to be greater than 4100 SI. If the synchronization range is set to the first or second range, it will follow the synchronization length defined in the current UFS protocol and the calculation method of the first duration defined in the current UFS protocol. According to Table 2, the corresponding optimal first duration is 8192 SI. At this time, about 4092 SI of synchronization data needs to be sent, which wastes power consumption and will increase the transmission delay of payload data. If the synchronization range is set to the third range, the calculation method of the first duration provided in this application will be followed, that is, the first duration is the product of the first synchronization length and the first value. According to the logical relationship in Table 1, the first duration needs to be greater than 4100 SI. According to Table 1, the corresponding optimal first duration is 4352 SI. At this time, about 252 SI of synchronization data need to be sent. It can be seen that compared with choosing the first range or the second range, choosing the third range results in a shorter transmission time of synchronization data and lower power consumption. Therefore, the transmission delay of payload data increases.
[0138] For example, when the CDR locking capability indication duration of the first UFS device is 7900 SI, the synchronization range can be set to the first range, the second range, or the third range. The reason is that, according to the logical relationship in Table 1, the first duration needs to be greater than 7900 SI. If the synchronization range is set to the first range or the second range, it will follow the synchronization length defined in the current UFS protocol and the calculation method of the first duration defined in the current UFS protocol. According to Table 2, the corresponding optimal first duration is 8192 SI, at which point about 292 SI of synchronization data needs to be sent. If the synchronization range is set to the third range, the calculation method of the first duration provided in this application will be followed, that is, the first duration is the product of the first synchronization length and the first value. According to the logical relationship in Table 1, the first duration needs to be greater than 7936 SI. According to Table 1, the corresponding optimal first duration is 7936 SI. At this time, about 36 SI of synchronization data needs to be sent. It can be seen that compared with choosing the first range or the second range, the transmission time of synchronization data is slightly reduced when choosing the third range, but the difference is not large. Any of these three can be chosen. Of course, in this case, the optimal choice of synchronization range is the third range.
[0139] Example 2: The first UFS device can determine the synchronization range based on the device's capabilities.
[0140] Optionally, if the first UFS device does not support the third range or does not support the calculation method of the first duration corresponding to the third range, the synchronization range is set to the first range or the second range.
[0141] The first duration in this application is described below:
[0142] Optionally, the first duration is the transmission duration of the synchronization data sent by the first device to the first UFS device.
[0143] Optionally, the first duration can be the product of the first synchronization length and the first value, or it can be any other combination of the first synchronization length and the first value.
[0144] For example, the first duration = the first synchronization length * the first value + a, where the parameter a can be defined by the user or preset by the system.
[0145] For example, the first duration = the first synchronization length * the first value * b, where the parameter b can be defined by the user or preset by the system, and the parameter b ≥ 0.
[0146] It is understandable that this application improves the calculation formula for the transmission duration of synchronization data in the current UFS protocol. The transmission duration of synchronization data, i.e. the first duration, is calculated by multiplication, which is a linear scheme. Compared with the exponential scheme, in this application, as the synchronization duration increases, the transmission duration of the corresponding synchronization data does not increase explosively. This application can shorten the transmission duration of synchronization data, thereby reducing power consumption and reducing the transmission latency of payload data.
[0147] The calculation formulas for the first duration corresponding to the first, second, and third ranges in this application are different. Please refer to the table below, which provides an example of the calculation method for the first duration corresponding to the first, second, and third ranges:
[0148] Table 5
[0149]
[0150]
[0151] As shown in the table above, when the synchronization range is FINE, which is the first range, T SYNC =SYNC_length, which means the first duration is the first synchronization length. When the synchronization range is COARSE, which is the second range, T SYNC =min(2 SYNC _ length,2 14 That is, the first duration is 2. SYNC _ length and 2 14 When the minimum value in the range is reached, and the synchronization range is the third range (i.e., when the first condition is met), then according to the calculation method described above, the first duration is configured in units of 256 SI, and the exponential scheme is no longer used. In the table above, 256 SI is an example of the first value; the first value can also be 128, etc. When the first value is 128, the first duration is configured in units of 128 SI.
[0152] In one alternative implementation, the first value is greater than or equal to 16, and the first value is less than or equal to 512.
[0153] Based on the above implementation method, the range of the first value is [16, 512]. When the first value is within this range, the first duration calculated in the end can be compatible with UFS devices with poor clock locking capability.
[0154] Optionally, the choice of the first value is related to i. In two typical application scenarios of this application: when i is 16, that is, when there are 16 synchronization lengths, the first value is 256; when i is 32, that is, when there are 32 synchronization lengths, the first value is 128.
[0155] As mentioned earlier, the synchronization range can be the first, second, and third ranges, as well as the fourth and fifth ranges. The calculation method for the synchronization length differs between any two of these ranges. An example is provided below to aid understanding:
[0156] In one example, the first range is defined as fine, then the range of the synchronization length corresponding to the first range is [1, 15]. The formula for calculating the first duration corresponding to the first range is: T SYNC =SYNC_length.
[0157] In one example, the second range is the aforementioned coarse, then the synchronization length corresponding to the second range ranges from [0, 15], and the formula for calculating the first duration corresponding to the second range is: T SYNC =min(2 SYNC_length ,2 14 That is, the first duration is 2. SYNC_length and 2 14 The minimum value in.
[0158] In one example, the third range is the aforementioned UESR_DEFINED, then the range of the synchronization length corresponding to the third range is [0, 63]. The formula for calculating the first duration corresponding to the third range is: T SYNC=SYNC_length*256, meaning the first duration is the product of the synchronization length and 256, and the first value is 256.
[0159] In one example, the synchronization length corresponding to the fourth range is in the range [0, 31], and the formula for calculating the first duration corresponding to the fourth range is: T SYNC =SYNC_length*128, meaning the first duration is the product of the synchronization length and 128, and the first value is 128.
[0160] In one example, the synchronization length corresponding to the fifth range is in the range [0, 15], and the formula for calculating the first duration corresponding to the fourth range is: T SYNC =SYNC_length*64, meaning the first duration is the product of the synchronization length and 64, and the first value is 64.
[0161] Optionally, after initiating the chain establishment operation and obtaining the first information of the first UFS device, the unipro protocol internally records the first synchronization length at different rates according to the calculation formula for the first duration. Subsequently, when the unipro protocol needs to send a message, before configuring the MPHY side to start a burst operation, it configures the corresponding protocol register of the MPHY according to the recorded first synchronization length. The MPHY protocol implementation calculates the first duration to be sent according to the above formula and sends the corresponding SYNC code.
[0162] S403: The first device sends the first synchronization data.
[0163] The duration for sending the first synchronization data is the first duration.
[0164] Optionally, the first synchronization data can be sent during the burst; see [link to relevant documentation]. Figure 6 When sending a burst, prepare data is typically sent first, followed by synchronization data, and then payload data. This application adjusts the calculation method of the synchronization data transmission duration, i.e., the first duration, to make the final first duration more reasonable. By shortening the synchronization data transmission duration within a reasonable range, the latency of payload data can be reduced, as well as power consumption.
[0165] Based on the above method 100 and its possible implementations, the solution proposed in this application is to calculate T using a standard protocol. SYNCBased on the formula, a new SYNC duration calculation method is implemented using the reserve field of RX_SYNC_LENGTH_CAPABILITY. This fully utilizes the CDR locking capability of the physical layer SERDES. Without increasing system complexity, the SYNC Length configuration is made more reasonable, optimizing system IO access latency and power consumption. For example, after using the scheme provided in this application, the SYNC_length in SYNC_LENGTH_Capability can be configured according to the local CDR locking capability, with a margin reserved in units of 256 SI. The SYNC_range is configured to 2. During the link establishment process, the UFS device will negotiate the capability information of both parties. Based on the contents of the other party's RX_SYNC_LENGTH_CAPABILITY register, the calculation method defined in this application is used, with a configuration in units of 256 SI, instead of using an exponential scheme. This application can select different configurations when interfacing with different UFS devices, while still maintaining compatibility with standard protocol implementations. Furthermore, based on the current UFS protocol, this application introduces a new synchronization range, namely the third range. This third range corresponds to a new method for calculating the synchronization data transmission duration. Compared to the exponential scheme, the product scheme avoids an explosive increase, thus preventing the calculated duration from reaching T. SYNC In cases where the margin is too large, the transmission time of synchronization data can be shortened within a reasonable range, thereby reducing payload data latency and power consumption. Furthermore, this application introduces a new synchronization range. This third range corresponds to more types of synchronization lengths, offering a wider selection of synchronization lengths. This application can have more than 16 types of synchronization lengths; taking 64 types of synchronization lengths as an example, the corresponding value range of the synchronization length is [0, 63]. The synchronization length can be 60, 61, or even 63, thus ensuring compatibility with UFS devices with poor CDR locking capabilities. Moreover, although this application introduces a new synchronization range (the third range) and a new synchronization length, the bits used to indicate the third range and the bits used to indicate the synchronization length are the same as those in the existing UFS protocol, ensuring compatibility with existing UFS protocols.
[0166] Calculations show that this application can achieve good technical results in the following scenarios:
[0167] 1. When the rate is configured as G5 rateB fast mode, the technical solution of this application can reduce the IO latency and reduce the redundancy of the SYNC data transmission time to within 100ns. For example, when sending the first burst after switching from other rates to G5 rate, the solution provided by this application can be used. Another example is when the protocol side sends the first burst after exiting H8 each time.
[0168] 2. When the rate mode is configured as fast_auto, the MPHY will enter a stopped state when the link is idle. Afterward, each time new payload data needs to be sent, a new burst will be started, meaning SYNC data needs to be sent each time. In this scenario, the solution provided in this application can significantly optimize the transmission latency and performance of the PHY layer.
[0169] 3. If the link is operating at a lower speed (such as G4 / G1), the solution provided in this application can be used. Since the UI is larger at lower speeds, this application can achieve greater latency gains, and power consumption will also be significantly optimized.
[0170] Accordingly, embodiments of this application also provide related apparatus for implementing the above-described solutions. For details, please refer to... Figure 7 , Figure 7 This is a schematic diagram of a communication device provided in an embodiment of this application. Figure 7 The communication device 300 can be a chip, chip system, or processor used to support the communication device in implementing the method; alternatively, the communication device can also be a logical configuration item, logical module, or software used to implement all or part of the functions of the communication device. For example... Figure 7 As shown, the communication device 300 includes: a receiving unit 301, a processing unit 302, and a transmitting unit 303.
[0171] For example, when the communication device 300 is the first device in method 100, the receiving unit 301 is used to receive first information sent by the first general-purpose flash memory storage (UFS) device, the first information being used to indicate the synchronization length capability of the first UFS device, the first information including a first synchronization length; the processing unit 302 is used to determine a first duration based on the first information, and when a first condition is met, the first duration is the product of the first synchronization length and a first value, the first value being greater than 1; the processing unit 302 is used to send first synchronization data, the transmission duration of the first synchronization data being the first duration.
[0172] In one alternative implementation, the first information further includes a synchronization range, which includes a first range, a second range, or a third range, wherein the calculation methods for the first duration corresponding to the first range, the second range, and the third range are different.
[0173] In one alternative implementation, the first condition is that the synchronization range is the third range, which corresponds to i synchronization lengths, where i > 16, i ≤ 64, and i is an integer.
[0174] In one alternative implementation, the first value is greater than or equal to 16, and the first value is less than or equal to 512.
[0175] In one alternative implementation, the sending unit is further configured to: send the second information to the first UFS device, the second information being used to configure the synchronization length capability of the first UFS device, the synchronization range in the second information being the third range.
[0176] In one alternative implementation, the seventh and eighth bits of the first information are used to indicate the synchronization range.
[0177] In one alternative implementation, the first 6 bits of the first information are used to indicate the first synchronization length.
[0178] It should be noted that the information interaction and execution process between the modules / units in the communication device are different from those in this application. Figure 4 The corresponding method embodiments are based on the same concept, and the details can be found in the descriptions of the method embodiments shown above in this application, which will not be repeated here.
[0179] Please see Figure 8 , Figure 8 This is a schematic diagram of the logical structure of a communication device 40 provided in an embodiment of this application. Figure 8 The communication device 40 in the middle can be deployed with Figure 4 The communication device described in the corresponding embodiment is used to implement Figure 4 The communication device 40 in the corresponding embodiment performs the following functions. It includes a memory 401, a processor 402, a communication interface 403, and a bus 404. The memory 401, processor 402, and communication interface 403 are interconnected via the bus 404.
[0180] The memory 401 can be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 401 can store programs. When the program stored in the memory 401 is executed by the processor 402, the processor 402 and the communication interface 403 are used to execute S401-S403 of the above-described network configuration method embodiment.
[0181] Processor 402 may be a central processing unit (CPU), microprocessor, application-specific integrated circuit (ASIC), graphics processing unit (GPU), digital signal processor (DSP), field-programmable gate array (FPGA), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, or any combination thereof, for executing related programs to implement one or more steps in S401-S403 of the network configuration method embodiment in this application. Alternatively, it may implement one or more steps in S401 of the network configuration method embodiment in this application. The steps of the data processing method disclosed in conjunction with the embodiments of this application can be executed by a compiler and an executor, wherein the compiler and executor can be executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules may reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in memory 401. Processor 402 reads the information in memory 401 and executes one or more steps of S401-S403 in the network configuration method embodiment of this application in conjunction with its hardware; or, in conjunction with its hardware, executes S401 in the network configuration method embodiment of this application.
[0182] The communication interface 403 uses transceiver devices, such as, but not limited to, transceivers, to enable communication between the communication device 40 and other devices or communication networks.
[0183] Bus 404 enables the transmission of information between various components of computer device 40 (e.g., memory 401, processor 402, and communication interface 403). Bus 404 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0184] It should be noted that the information interaction and execution process between the various modules / units in the controller are different from those in this application. Figure 4 The corresponding method embodiments are based on the same concept, and the details can be found in the descriptions of the method embodiments shown above in this application, which will not be repeated here.
[0185] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computer device, it causes the at least one computer device to perform the aforementioned actions. Figure 4 The method described in the illustrated embodiment.
[0186] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any usable medium that a computing device can store, or a data storage device such as a data center containing one or more usable media. The usable medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform the aforementioned operations. Figure 4 The method described in the illustrated embodiment.
[0187] The communication device provided in this application embodiment can specifically be a chip, which includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip to perform the above-mentioned operations. Figure 4The method described in the illustrated embodiment. Optionally, the storage unit is a storage unit within the chip, such as a register, cache, etc. The storage unit can also be a storage unit located outside the chip within the wireless access device, such as read-only memory (ROM) or other types of static storage devices that can store static information and instructions, random access memory (RAM), etc.
[0188] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the accompanying drawings of the device embodiments provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0189] Through the above description of the embodiments, those skilled in the art can clearly understand that the embodiments of this application can be implemented by means of software plus necessary general-purpose hardware, or by special-purpose hardware including dedicated integrated circuits, dedicated CPUs, dedicated memory, dedicated components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can be diverse, such as analog circuits, digital circuits, or dedicated circuits. However, for the embodiments of this application, software program implementation is more often a better implementation method. Based on this understanding, the technical solution of the embodiments of this application, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods of the various embodiments of this application.
[0190] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0191] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).
[0192] In the various embodiments of this application, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions between different embodiments are consistent and can be referenced by each other. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.
Claims
1. A data processing method, characterized in that, include: Receive first information sent by a first general-purpose flash storage (UFS) device, the first information being used to indicate the synchronization length capability of the first UFS device, the first information including a first synchronization length; Based on the first information, a first duration is determined. When the first condition is met, the first duration is the product of the first synchronization length and the first value, where the first value is greater than 1. Send the first synchronization data, the duration of which is the first duration.
2. The method according to claim 1, characterized in that, The first information also includes a synchronization range, which includes a first range, a second range, or a third range, wherein the calculation methods for the first duration corresponding to the first range, the second range, and the third range are different.
3. The method according to claim 2, characterized in that, The first condition is that the synchronization range is the third range, and the third range corresponds to i synchronization lengths, where i > 16, i ≤ 64, and i is an integer.
4. The method according to any one of claims 1 to 3, characterized in that, The first value is greater than or equal to 16, and the first value is less than or equal to 512.
5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: The second information is sent to the first UFS device. The second information is used to configure the synchronization length capability of the first UFS device. The synchronization range in the second information is the third range.
6. The method according to any one of claims 1 to 5, characterized in that, The seventh and eighth bits in the first information are used to indicate the synchronization range.
7. The method according to any one of claims 1 to 6, characterized in that, The first 6 bits in the first information are used to indicate the first synchronization length.
8. A data processing apparatus, characterized in that, The device includes: A receiving unit is configured to receive first information sent by a first UFS device, the first information being used to indicate the synchronization length capability of the first UFS device, the first information including a first synchronization length; The processing unit is configured to determine a first duration based on the first information. When a first condition is met, the first duration is the product of the first synchronization length and a first value, wherein the first value is greater than 1. The sending unit is used to send first synchronization data, the sending duration of which is the first duration.
9. The apparatus according to claim 8, characterized in that, The first information also includes a synchronization range, which includes a first range, a second range, or a third range, wherein the calculation methods for the first duration corresponding to the first range, the second range, and the third range are different.
10. The apparatus according to claim 9, characterized in that, The first condition is that the synchronization range is the third range, and the third range corresponds to i synchronization lengths, where i > 16, i ≤ 64, and i is an integer.
11. The apparatus according to any one of claims 8 to 10, characterized in that, The first value is greater than or equal to 16, and the first value is less than or equal to 512.
12. The apparatus according to any one of claims 8 to 11, characterized in that, The transmitting unit is further configured to: The second information is sent to the first UFS device. The second information is used to configure the synchronization length capability of the first UFS device. The synchronization range in the second information is the third range.
13. The apparatus according to any one of claims 9 to 12, characterized in that, The seventh and eighth bits in the first information are used to indicate the synchronization range.
14. The apparatus according to any one of claims 8 to 13, characterized in that, The first 6 bits in the first information are used to indicate the first synchronization length.
15. A communication device, characterized in that, include: Communication interface and processor; The communication interface and the processor perform the method as described in any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that, The medium stores instructions that, when executed by a processor, implement the method of any one of claims 1 to 7.
17. A computer program product, characterized in that, Includes instructions that, when executed on a processor, perform the method as described in any one of claims 1 to 7.
18. A chip, characterized in that, It includes at least one processing unit and an interface circuit, the interface circuit being used to provide program instructions or data to the at least one processing unit, the at least one processing unit being used to execute the program instructions to implement the method of any one of claims 1 to 7.