WO2021207972A1 - 数据传输方法、数据传输装置、电子设备和存储介质 - Google Patents

数据传输方法、数据传输装置、电子设备和存储介质 Download PDF

Info

Publication number
WO2021207972A1
WO2021207972A1 PCT/CN2020/084907 CN2020084907W WO2021207972A1 WO 2021207972 A1 WO2021207972 A1 WO 2021207972A1 CN 2020084907 W CN2020084907 W CN 2020084907W WO 2021207972 A1 WO2021207972 A1 WO 2021207972A1
Authority
WO
WIPO (PCT)
Prior art keywords
sampling point
emmc
test
clock cycle
sampling
Prior art date
Application number
PCT/CN2020/084907
Other languages
English (en)
French (fr)
Inventor
杨颖�
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN202080004981.0A priority Critical patent/CN112673364A/zh
Priority to PCT/CN2020/084907 priority patent/WO2021207972A1/zh
Publication of WO2021207972A1 publication Critical patent/WO2021207972A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Definitions

  • This application relates to the field of computer technology, and in particular to a data transmission method, data transmission device, electronic equipment, and storage medium.
  • eMMC Embedded MultiMedia Card
  • a suitable sampling point needs to be selected through the test process. For example, a clock cycle can usually be divided into 256 test points. For each test point, a set of procedures is used to test whether it is suitable as a sampling point, and the final selected sampling point is determined according to the test results of each test point.
  • the embodiments of the present application provide a data transmission method, a data transmission device, an electronic device, and a storage medium to solve the technical problem that it takes a long time to determine a sampling point.
  • an embodiment of the present application provides a data transmission method, including:
  • Sampling points for obtaining data from eMMC are determined from a plurality of test points in the clock cycle, wherein the time used to determine the sampling points is less than a preset time, and the preset time is all test points traversing the clock cycle The time required to determine the sampling point;
  • an embodiment of the present application provides a data transmission device, including:
  • Memory used to store instructions
  • the processor is configured to run the instructions stored in the memory to realize:
  • a sampling point for obtaining data from the eMMC is determined from a plurality of test points in the clock cycle, wherein the time for determining the sampling point is less than a preset time, and the preset time is all the test points traversing the clock cycle The time required to determine the sampling point;
  • an embodiment of the present application provides a data transmission device, including:
  • the receiving circuit is used to obtain data from the eMMC according to the sampling point.
  • an embodiment of the present application provides an electronic device, including the data transmission device described in the second aspect and an eMMC.
  • an embodiment of the present application provides an electronic device, including the data transmission device described in the third aspect and an eMMC.
  • an embodiment of the present application provides a computer-readable storage medium, including instructions, which when run on a computer, cause the computer to execute the data transmission method described in the first aspect.
  • embodiments of the present application provide a computer program product, including instructions, which when run on a computer, cause the computer to execute the data transmission method described in the first aspect.
  • the data transmission method, data transmission device, electronic equipment, and storage medium provided in the embodiments of the present application can determine sampling points for obtaining data from eMMC from multiple test points in a clock cycle, where the sampling points used for determining the sampling points The time is less than the preset time, and the preset time is the time required to determine the sampling point by traversing all the test points of the clock cycle. After the sampling point is determined, the data can be obtained from the eMMC according to the sampling point. Effectively reduce the time it takes to determine the sampling point, improve the overall efficiency of data transmission, and increase the processing speed of the device.
  • FIG. 1 is a schematic diagram of an application scenario of a data processing method provided by an embodiment of this application;
  • FIG. 2 is a schematic flowchart of a data transmission method provided by an embodiment of this application.
  • FIG. 3 is a schematic flowchart of another data transmission method provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of the positions of sampling points in a data processing method provided by an embodiment of the application.
  • FIG. 6 is a schematic structural diagram of a data transmission device provided by an embodiment of the application.
  • FIG. 7 is a schematic structural diagram of another data transmission device provided by an embodiment of the application.
  • FIG. 1 is a schematic diagram of an application scenario of a data processing method provided by an embodiment of the application. As shown in Figure 1, the host controller is connected to the eMMC for data transmission with the eMMC.
  • the main controller can be any chip with data processing functions, such as Advanced RISC Machines (ARM), Digital Signal Processor (DSP), and Field Programmable Logic Gate Array (Field Programmable Logic Gate Array). Programmable Gate Array, FPGA), etc.
  • ARM Advanced RISC Machines
  • DSP Digital Signal Processor
  • FPGA Field Programmable Logic Gate Array
  • the eMMC and the main controller may be connected through a bus, the eMMC may store data such as a software program, etc., and the main controller may obtain and run the software program from the eMMC.
  • FIG. 2 is a schematic flowchart of a data transmission method provided by an embodiment of the application. As shown in Figure 2, the data transmission method may include:
  • sampling points for obtaining data from eMMC from a plurality of test points in a clock cycle wherein the time used to determine the sampling points is less than a preset time, and the preset time is all that traverses the clock cycle
  • the test point determines the time required for the sampling point.
  • the execution subject of the data transmission method in this embodiment may be the main controller in FIG. 1.
  • the eMMC may be any memory with a data storage function.
  • Normal eMMC has multiple speed modes.
  • conventional eMMC can include legacy, HS SDR, HS DDR, HS200, HS400 and several different speed modes.
  • the low-speed mode such as HS SDR is usually used at startup.
  • Low-speed mode There is no need to determine the sampling point. Accurate data can be obtained by sampling at any time of the clock cycle.
  • the bus clock in HS SDR mode is only 52Mhz, and the transmission rate can only reach 52MB/s.
  • the software With the continuous development of programs and the ever-increasing amount of data, the speed of starting through the HS SDR mode has become slower and slower.
  • An optional way to increase the startup speed is to quickly increase to a high-speed mode such as HS200 or HS400 mode after power-on, the transmission rate can reach 200MB/s or 400MB/s, but HS200 or HS400 mode needs to be determined first Appropriate sampling points can accurately obtain data from eMMC.
  • multiple test points can be set in one clock cycle, and the sampling points can be selected from multiple test points in the clock cycle.
  • the intervals between the test points in the clock cycle can be equal. If the duration of one clock cycle is T and the clock cycle includes N test points, the time interval between any two adjacent test points can be T/N.
  • a clock cycle can usually include 256 or more test points. Taking 256 as an example, if the clock cycle is 5ns, the interval between two adjacent test points is 5/256ns, and any one of the test points may be used as Sampling point during data transmission.
  • one of the 256 test points of the clock cycle can be selected as a sampling point, and the time used to determine the sampling point is less than the time required to determine the sampling point through all the test points of the clock cycle.
  • traversing all the test points of the clock cycle to determine the sampling point refers to testing all the test points of the clock cycle to determine the sampling point.
  • the sampling point can be determined with a time less than 256t.
  • the sampling point can be determined by testing only part of the test points, or the test process can be skipped and the sampling point can be determined by other methods without testing the test points.
  • sampling points are determined from multiple test points
  • data transmission can be realized according to the sampling points. For example, in the 256 points of the clock cycle, the 30th point is determined to be the sampling point. Then, in the data transmission process, the 30th point is sampled in each clock cycle to accurately obtain the transmitted data .
  • the acquired data may include a software program, and after acquiring the software program from the eMMC according to the sampling point, the software program may be run, thereby realizing the normal operation of the device.
  • the main controller and eMMC can communicate in low-speed mode.
  • the main controller sends a CMD command to the eMMC to wake up the eMMC, and then the main controller can determine the sampling point , And switch to high-speed mode according to the sampling point, communicate with eMMC through high-speed mode, obtain software programs from eMMC, and run the software programs, so the software programs stored in eMMC can be read faster
  • the startup speed can be greatly improved and the startup time of the entire device can be reduced.
  • the methods in the embodiments of the present application can also be applied at any other time in the working process.
  • the software program can be obtained from the eMMC in the low-speed mode.
  • the sampling point can be determined at any time in the future according to the method provided by each embodiment of the application, and then the high-speed mode can be switched Data transmission with eMMC.
  • the main controller may directly obtain data from the eMMC according to the sampling point.
  • both the main controller and the eMMC may be connected to a memory, the main controller may control the eMMC to transmit data to the memory, and the main controller may slave all Read the data from the memory. After the sampling point is determined, the specific implementation principle of the communication between the main controller, the eMMC and the memory belongs to the prior art, and will not be repeated here.
  • the data transmission method provided in this embodiment can determine a sampling point for obtaining data from eMMC from a plurality of test points in a clock cycle, wherein the time for determining the sampling point is less than a preset time, and the preset time In order to traverse all the test points of the clock cycle to determine the time required to determine the sampling point, after the sampling point is determined, data can be obtained from the eMMC according to the sampling point, which can effectively reduce the time taken to determine the sampling point and improve The overall efficiency of data transmission improves the processing speed of the equipment.
  • the process of determining the sampling point by the method of testing the test point is recorded as the tuning process.
  • the tuning process needs to traverse each test point of the clock cycle to determine the sampling point.
  • the efficiency of determining sampling points can be improved by avoiding the tuning process, or the efficiency of determining sampling points can be improved by reducing the time of the tuning process. The following examples are used to illustrate.
  • FIG. 3 is a schematic flowchart of another data transmission method provided by an embodiment of the application.
  • the scheme shown in Fig. 3 is based on the scheme shown in Fig. 2 and stores the previous tuning results, and uses the stored sampling point (used saved tuning point) to determine the sampling point after the current power-on.
  • the data transmission method may include:
  • sampling points are determined by 301 to 302.
  • the pre-stored sampling point information may be the sampling point information previously determined through the tuning process, for example, it may be the sampling point information determined in the last tuning process, or may be the sampling point information determined in any previous tuning process.
  • the sampling point selection of eMMC is related to the eMMC device itself, main controller, circuit board design, temperature and other conditions, it can be predicted that in a short time, the environment changes little, and the product is finalized (eMMC device determination, main controller Under the condition of confirming and confirming the circuit board design), the sampling point will not change much. Therefore, the sampling point determined by the tuning process can be used as the sampling point for this data transmission.
  • the pre-stored sampling point information may include sampling point information obtained by testing at least part of the test points of the clock cycle before the last power-off. For example, all test points of the clock cycle can be tested to determine the sampling points, or only part of the test points can be tested to determine the sampling points.
  • the information of the sampling point can be stored for the next direct use, for example, the previous sampling point information is read at the next startup, thereby directly switching to the high-speed mode, reducing the need to read software programs Time, improve the start-up speed.
  • the sampling point information may be information used to indicate the position of the sampling point in the clock cycle.
  • the sampling point information may be used to indicate the sampling point is the test point of the clock cycle, or the sampling point and the clock The time interval between the rising edges of the cycle, etc.
  • the sampling point information can be stored in any non-volatile memory (not lost after power failure).
  • the sampling point information may be stored in the eMMC, that is, obtaining the pre-stored old sampling point information may include: obtaining the sampling point information stored in the eMMC, and storing the sampling point information through the eMMC , No need to add new hardware equipment, effectively saving cost and equipment size.
  • the sampling point information may be stored in an eMMC partition, and the stored sampling point information may be obtained from the eMMC partition.
  • the partition may be any partition in eMMC, for example, boot partition, Replay Protected Memory Block (RPMB) partition, UserData partition in eMMC, or separate logical partitions such as GPP (General Purpose Partitions) partition, etc. From any of the above partitions, select a free block that will not be used to store sampling point information.
  • RPMB Replay Protected Memory Block
  • GPP General Purpose Partitions
  • sampling point information may be stored in a non-volatile register of the eMMC, and the stored sampling point information may be obtained from the non-volatile register of the eMMC.
  • the non-volatile memory may be the EXT_CSD register in eMMC, in which the register bit (bit) or Byte (byte) that can be read and written, is not lost after power-off, and has no other use ), to store the sampling point information, because the register can be directly read by CMD instruction, and the access speed is faster than the read partition, so the startup speed can be effectively improved.
  • the pre-stored sampling point After reading the pre-stored sampling point information, you can directly use the pre-stored sampling point as the sampling point for this data transmission. Alternatively, the pre-stored sampling points can also be corrected. For example, as the number of uses increases, the position of the best sampling point will gradually drift. Then, each time the pre-stored sampling point information is obtained, Use sampling point +1 as this sampling point.
  • the sampling points used to obtain data from the eMMC can be determined from multiple test points in the clock cycle. Because the time required to read the sampling point information is much less than traversing all the test points in the clock cycle to determine the sampling point. Therefore, the method provided in this embodiment can effectively improve the efficiency of determining sampling points.
  • the pre-stored sampling point information may be obtained from the eMMC at the first transmission rate.
  • data may be acquired from the eMMC at a second transmission rate, where the second transmission rate is greater than the first transmission rate.
  • the first transmission rate and the second transmission rate may respectively correspond to the low-speed mode and the high-speed mode of the eMMC, thereby effectively realizing the switching between the low-speed mode and the high-speed mode, and ensuring normal and smooth operation.
  • a tuning process can also be performed in the subsequent work process, because the most suitable sampling point changes with time The location of may also change, so it is necessary to constantly update the stored sampling point information.
  • the sampling point after the current power-on by testing at least part of the test points of the clock cycle during the eMMC idle period , And store the determined sampling point information.
  • storing the determined sampling point information may include: storing the determined sampling point and deleting the originally stored sampling point; or, overwriting the determined sampling point information with the original Sampling point information.
  • the determined sampling point information can be used for the next time, ensuring that the sampling point information is updated in real time and improving the accuracy of data transmission.
  • the originally stored sampling point information may be retained. After the next power-on, you can select one of the multiple pre-stored sampling point information to use, for example, you can select the latest stored sampling point information to use.
  • a check value corresponding to the sampling point information may be calculated by a check algorithm, and the sampling point information and the corresponding check value may be stored.
  • the check algorithm may include a cyclic redundancy check (Cyclic Redundancy Check, CRC) algorithm or a secure hash algorithm (Secure Hash Algorithm, SHA), etc.
  • CRC Cyclic Redundancy Check
  • SHA Secure Hash Algorithm
  • the data transmission method provided in this embodiment obtains pre-stored sampling point information, and determines the sampling point used to obtain data from the eMMC according to the pre-stored sampling point information, and does not need to check all the test points of the clock cycle.
  • the sampling point can be determined by testing, which effectively improves the overall efficiency of data transmission.
  • eMMC hardware information, main control hardware information, and environmental information can be obtained, and sampling points can be determined from multiple test points in a clock cycle according to the eMMC hardware information, main control hardware information, and environmental information.
  • the sampling point selection of eMMC is related to the conditions of the eMMC device itself, the main controller, and the environment, the most suitable sampling point may be different after each power-on. According to the eMMC hardware information and main control hardware information obtained , Environmental information, you can calculate the corresponding sampling point.
  • the eMMC hardware information may include the time that eMMC has been used and/or the number of times it has been used
  • the main control hardware information may include the time that the main controller has been used and/or the number of times it has been used, etc.
  • the environment The information may include temperature information and/or humidity information and so on.
  • the used time or times of the eMMC and the main controller may specifically indicate the used time or times after the factory.
  • the eMMC and the main controller may be tested in advance to establish the correspondence between eMMC hardware information, main control hardware information, environmental information, and other data and sampling points, and save the correspondence. Further, in the actual work process, the corresponding relationship can also be continuously updated according to the actual work status. When necessary, the sampling points can be determined by the corresponding relationship, so that the selection of the sampling points meets the requirements of the current eMMC hardware state, the main control hardware state, and the environment state, and the speed of selecting the sampling points is effectively improved.
  • FIG. 4 is a schematic flowchart of another data transmission method provided by an embodiment of the application.
  • the solution shown in FIG. 4 is based on the solution shown in FIG. 2 by testing the test points in a partial interval of the clock cycle to determine the sampling points.
  • the data transmission method may include:
  • test points in a clock cycle there may be multiple available test points, and the available means that the data can be accurately obtained from the eMMC when the test point is used as the sampling point.
  • sampling points can be determined by 401 and 402.
  • the tuning process is still needed to determine the sampling points.
  • a dichotomy (dichotomous division tuning) method can be used to reduce the time of the tuning process.
  • FIG. 5 is a schematic diagram of the positions of sampling points in a data processing method provided by an embodiment of the application.
  • the tuning process is to select a suitable test point from a clock cycle as the sampling point. Therefore, a clock cycle can be regarded as a ring.
  • the distribution of the available test points and the unavailable test points is usually divided into sections. The test points will be clustered together, and the unavailable test points will also be clustered together.
  • the circle shown in Figure 5 represents a clock cycle, in which the shaded part represents the range where the unavailable test points are located, that is, the unavailable interval, and the white part represents the range where the available test points are located, that is, the available range.
  • the most suitable test point for sampling is also the test point in the middle of the available interval, that is, the midpoint of the white part in Figure 5.
  • testing the test points of a partial interval of the clock cycle to determine the available interval of the clock cycle may include: sequentially testing the test points of the clock cycle until it is determined that the clock cycle The dividing line from usable to unavailable and the dividing line from unavailable to usable for the test point; according to the dividing line from usable to unavailable and the dividing line from unavailable to usable, determine the The available range of clock cycles.
  • the dividing line from usable to unavailable and the dividing line from unavailable to usable can be the two dividing lines between the shaded part and the white part in Figure 5.
  • the demarcation line can quickly and accurately determine the available interval.
  • each test point can be tested in turn.
  • a test data packet can be obtained from the eMMC according to the test point, and the obtained test data packet can be combined with the one stored locally (that is, stored in the main controller).
  • the test data packets are compared, and if they are consistent, the test point is determined to be an available test point, and if they are inconsistent, the test point is determined to be an unusable test point.
  • the test can stop at the j+1th point, because the available interval is determined from the i-th point to the jth point. In this way, only need to test j+1 times to determine the available interval.
  • test point After determining the available interval, you can select a test point from the available interval as the sampling point. Although there may be multiple available test points, due to temperature drift and other reasons, the available test points may continue to drift during the work process. The originally available test points will become unusable test points after a period of time. But this drift is generally not too serious.
  • determining the sampling point according to the available interval in 402 may include: selecting a test point located at the center of the available interval as the sampling point.
  • a test point located at the center of the available interval For example, the black point in the middle of the white part of the circle in Figure 3 can be used as the sampling point, which can avoid the unavailability of the sampling point due to environmental changes during the work process, and improve the stability of data transmission.
  • the (i+j)/2th point can be selected as the sampling point. If (i+j)/2 is not an integer, the test point corresponding to the integer part can be selected as the sampling point.
  • test points other than the center position in the available interval may also be selected as sampling points.
  • test points within a preset range around the center position may be selected as sampling points.
  • the sampling points used to obtain data from eMMC can be determined from multiple test points in the clock cycle. Since only part of the test points are tested, the time used to determine the sampling points in this embodiment is less than the traversal All test points of the clock cycle determine the time required for the sampling point.
  • the data transmission method provided in this embodiment can determine the sampling point by testing the test points in the partial interval of the clock cycle. Compared with the method of determining the sampling point for the test points traversing the clock cycle, the tuning process can be effectively reduced. Time, compared to the method of directly reading the last stored sampling point information to determine the sampling point, the sampling point determined according to the tuning process is more in line with the demand after this power-on, and the accuracy of selecting the sampling point is improved.
  • a part of the test points in the clock cycle may be tested to determine the sampling points, wherein any two test points in the part of the test points are not adjacent. In other words, select several non-adjacent sampling points from all sampling points in the clock cycle for testing.
  • An optional implementation manner is to select a test point every n points among all the sampling points of the clock cycle, and perform a test on the selected test point to determine whether it is usable. For example, it is possible to test only a singular number of test points, or to test every 5 test points.
  • At least one available test point can be found, and then a sampling point is determined from the at least one available test point. For example, among the at least one available test point, the middle test point may be selected as the sampling point, so that the sampling point can be determined without traversing all the test points.
  • Another alternative implementation is to divide the entire clock cycle into multiple intervals, and select a test point from each interval for testing, determine whether the test point is available, and finally, according to the test results of each interval , Select an interval as the most suitable interval for sampling, and select a test point from the most suitable interval for sampling as the sampling point.
  • the most suitable interval for sampling may be an interval located at the center of the interval where the test points available for testing are located.
  • FIG. 6 is a schematic structural diagram of a data transmission device provided by an embodiment of the application.
  • the data transmission device may be any device capable of realizing a data transmission function, such as the main controller in FIG. 1.
  • the data transmission device may execute the data transmission method corresponding to FIG. 2. Referring to FIG. 6, as shown in FIG. 6, the data transmission device may include:
  • the memory 11 is used to store instructions
  • the processor 12 is configured to run instructions stored in the memory to realize:
  • Sampling points for obtaining data from eMMC are determined from a plurality of test points in the clock cycle, wherein the time used to determine the sampling points is less than a preset time, and the preset time is all test points traversing the clock cycle The time required to determine the sampling point;
  • the structure of the data transmission apparatus may further include a communication interface 13 for communicating with other devices or a communication network.
  • the data includes a software program
  • the device processor 12 is further configured to:
  • the software program After obtaining the software program from the eMMC according to the sampling point, the software program is run.
  • the processor 12 when determining sampling points for obtaining data from eMMC from a plurality of test points in a clock cycle, the processor 12 is specifically configured to:
  • the sampling point used to obtain data from the eMMC is determined.
  • the pre-stored sampling point information includes sampling point information obtained by testing at least part of the test points of the clock cycle before the last power-off.
  • the processor 12 when acquiring pre-stored old sampling point information, the processor 12 is specifically configured to:
  • the processor 12 when acquiring the sampling point information stored in the eMMC, the processor 12 is specifically configured to:
  • the processor 12 when acquiring the sampling point information stored in the eMMC, the processor 12 is specifically configured to:
  • the processor 12 when acquiring the sampling point information stored in the eMMC, the processor 12 is specifically configured to:
  • the sampling point information is obtained from the eMMC at the first transmission rate.
  • the method when acquiring data from the eMMC according to the sampling point, the method includes:
  • the second transmission rate is greater than the first transmission rate.
  • the processor 12 is further configured to:
  • the sampling points after this power-on are determined;
  • the processor 12 when storing the determined sampling point information, is specifically configured to:
  • the processor 12 when determining sampling points for obtaining data from eMMC from a plurality of test points in a clock cycle, the processor 12 is specifically configured to:
  • the processor 12 when testing the test points in the partial interval of the clock cycle to determine the sampling points, the processor 12 is specifically configured to:
  • test points in a partial interval of the clock cycle to determine an available interval of the clock cycle, wherein the available interval is an interval in which test points are available in the clock cycle;
  • the sampling point is determined.
  • the processor 12 when testing the test points of the partial interval of the clock cycle to determine the available interval of the clock cycle, the processor 12 is specifically configured to:
  • the available interval of the clock cycle is determined.
  • the processor 12 when testing any test point of the clock cycle, is specifically configured to:
  • the obtained test data packet is compared with the locally stored test data packet, and if they are consistent, the test point is determined to be an available test point, and if they are inconsistent, the test point is determined to be an unusable test point.
  • the processor 12 when determining the sampling point according to the available interval, is specifically configured to:
  • test point located at the center of the available interval is selected as the sampling point.
  • the processor 12 when determining sampling points for obtaining data from eMMC from a plurality of test points in a clock cycle, the processor 12 is specifically configured to:
  • the eMMC hardware information includes the time and/or the number of times the eMMC has been used; the main control hardware information includes the time and/or the main controller used to control the eMMC has been used. Or the number of times it has been used; the environmental information includes temperature information and/or humidity information.
  • the processor 12 when determining sampling points for obtaining data from eMMC from a plurality of test points in a clock cycle, the processor 12 is specifically configured to:
  • test points that are not adjacent to each other are selected from all the sampling points of the clock cycle for testing, and the sampling points are determined.
  • the processor 12 is specifically configured to:
  • a test point is selected as the sampling point from the interval most suitable for sampling.
  • the data transmission device shown in FIG. 6 can execute the methods of the embodiments shown in FIG. 1 to FIG. 5. For parts that are not described in detail in this embodiment, reference may be made to the related descriptions of the embodiments shown in FIG. 1 to FIG. 5. For the implementation process and technical effects of this technical solution, please refer to the description in the embodiment shown in FIG. 1 to FIG. 5, which will not be repeated here.
  • FIG. 7 is a schematic structural diagram of another data transmission device provided by an embodiment of the application.
  • the data transmission device may execute the data transmission method corresponding to FIG. 2.
  • the data transmission device may include:
  • the processing circuit 701 is configured to determine a sampling point for obtaining data from the eMMC from a plurality of test points in the clock cycle, wherein the time for determining the sampling point is less than a preset time, and the preset time is to traverse the All test points of the clock cycle determine the time required for sampling points;
  • the receiving circuit 702 is configured to obtain data from the eMMC according to the sampling point.
  • the data includes a software program
  • the processing circuit 702 is further used to:
  • the software program After obtaining the software program from the eMMC according to the sampling point, the software program is run.
  • the processing circuit 702 when determining sampling points for acquiring data from eMMC from multiple test points in a clock cycle, is specifically configured to:
  • the sampling point used to obtain data from the eMMC is determined.
  • the pre-stored sampling point information includes sampling point information obtained by testing at least part of the test points of the clock cycle before the last power-off.
  • the processing circuit 702 when acquiring pre-stored old sampling point information, is specifically configured to:
  • the processing circuit 702 when acquiring the sampling point information stored in the eMMC, the processing circuit 702 is specifically configured to:
  • the processing circuit 702 when acquiring the sampling point information stored in the eMMC, the processing circuit 702 is specifically configured to:
  • the processing circuit 702 when acquiring the sampling point information stored in the eMMC, the processing circuit 702 is specifically configured to:
  • the sampling point information is obtained from the eMMC at the first transmission rate.
  • the method when acquiring data from the eMMC according to the sampling point, the method includes:
  • the second transmission rate is greater than the first transmission rate.
  • the processing circuit 702 is further configured to:
  • the sampling points after this power-on are determined;
  • the processing circuit 702 when storing the determined sampling point information, is specifically configured to:
  • the processing circuit 702 when determining sampling points for acquiring data from eMMC from multiple test points in a clock cycle, is specifically configured to:
  • the processing circuit 702 when testing the test points in the partial interval of the clock cycle to determine the sampling points, the processing circuit 702 is specifically configured to:
  • test points in a partial interval of the clock cycle to determine an available interval of the clock cycle, wherein the available interval is an interval in which test points are available in the clock cycle;
  • the sampling point is determined.
  • the processing circuit 702 when testing the test points in a partial interval of the clock cycle to determine the available interval of the clock cycle, the processing circuit 702 is specifically configured to:
  • the available interval of the clock cycle is determined.
  • the processing circuit 702 when testing any test point of the clock cycle, is specifically configured to:
  • the obtained test data packet is compared with the locally stored test data packet, and if they are consistent, the test point is determined to be an available test point, and if they are inconsistent, the test point is determined to be an unusable test point.
  • the processing circuit 702 when determining the sampling point according to the available interval, is specifically configured to:
  • test point located at the center of the available interval is selected as the sampling point.
  • the processing circuit 702 when determining sampling points for acquiring data from eMMC from multiple test points in a clock cycle, is specifically configured to:
  • the eMMC hardware information includes the time and/or the number of times the eMMC has been used; the main control hardware information includes the time and/or the main controller used to control the eMMC has been used. Or the number of times it has been used; the environmental information includes temperature information and/or humidity information.
  • the processing circuit 702 when determining sampling points for acquiring data from eMMC from multiple test points in a clock cycle, is specifically configured to:
  • test points that are not adjacent to each other are selected from all the sampling points of the clock cycle for testing, and the sampling points are determined.
  • the processing circuit 702 is specifically configured to:
  • a test point is selected as the sampling point from the interval most suitable for sampling.
  • the processing circuit 701 and the receiving circuit 702 in this embodiment can be implemented by hardware circuits.
  • comparing data can be realized by a comparator; determining the middle position of an interval can be realized by an addition circuit and a division circuit.
  • the data transmission device shown in FIG. 7 can execute the methods of the embodiments shown in FIG. 1 to FIG. 5. For parts that are not described in detail in this embodiment, reference may be made to the related descriptions of the embodiments shown in FIG. 1 to FIG. 5. For the implementation process and technical effects of this technical solution, please refer to the description in the embodiment shown in FIG. 1 to FIG. 5, which will not be repeated here.
  • An embodiment of the present application also provides an electronic device, including the data transmission device and eMMC provided in the embodiment shown in FIG. 6.
  • An embodiment of the present application also provides an electronic device, including the data transmission device and eMMC provided in the embodiment shown in FIG. 7.
  • an embodiment of the present application provides a computer-readable storage medium, including instructions, which when run on a computer, cause the computer to execute the data transmission method in the above-mentioned embodiments shown in FIGS. 1 to 5.
  • an embodiment of the present application provides a computer program product, including instructions, which when run on a computer, cause the computer to execute the data transmission method in the embodiments shown in FIGS. 1 to 5.
  • the disclosed related remote control device and method can be implemented in other ways.
  • the embodiments of the remote control device described above are merely illustrative.
  • the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components. It can be combined or integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, remote control devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer processor (processor) execute all or part of the steps of the method described in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read_Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disks or optical disks and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本申请实施例提供一种数据传输方法、数据传输装置、电子设备和存储介质,其中方法包括:从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;根据所述采样点,从所述eMMC获取数据。本申请实施例提供的数据传输方法、数据传输装置、电子设备和存储介质,能够有效减少确定采样点所花费的时间,提高数据传输的整体效率,提升设备的处理速度。

Description

数据传输方法、数据传输装置、电子设备和存储介质 技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输方法、数据传输装置、电子设备和存储介质。
背景技术
目前,很多电子设备使用嵌入式多媒体卡(Embedded Multi Media Card,eMMC)作为存储介质来存储相应的软件程序,在电子设备启动时,可以从eMMC中读取预先存入的软件程序,从而根据读取到的软件程序进行工作。
在一些技术中,如果需要以较高的速率从eMMC读取软件程序,需要先通过测试流程选取一个合适的采样点。例如,通常可以将一个时钟周期分为256个测试点,对于每一个测试点,通过一套流程测试其是否适于作为采样点,并根据各个测试点的测试结果来确定最终选择的采样点。
上述技术的不足之处在于,确定采样点的流程冗长,时间消耗较多,导致设备处理速度较慢。
发明内容
本申请实施例提供了一种数据传输方法、数据传输装置、电子设备和存储介质,用以解决确定采样点花费的时间较久的技术问题。
第一方面,本申请实施例提供一种数据传输方法,包括:
从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
根据所述采样点,从所述eMMC获取数据。
第二方面,本申请实施例提供一种数据传输装置,包括:
存储器,用于存储指令;
处理器,用于运行所述存储器中存储的指令以实现:
从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中, 确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
根据所述采样点,从所述eMMC获取数据。
第三方面,本申请实施例提供一种数据传输装置,包括:
处理电路,用于从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
接收电路,用于根据所述采样点,从所述eMMC获取数据。
第四方面,本申请实施例提供一种电子设备,包括第二方面所述的数据传输装置以及eMMC。
第五方面,本申请实施例提供一种电子设备,包括第三方面所述的数据传输装置以及eMMC。
第六方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据传输方法。
第七方面,本申请实施例提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的数据传输方法。
本申请实施例提供的数据传输方法、数据传输装置、电子设备和存储介质,可以从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间,在确定采样点后,可以根据所述采样点,从所述eMMC获取数据,能够有效减少确定采样点所花费的时间,提高数据传输的整体效率,提升设备的处理速度。
附图说明
图1为本申请实施例提供的数据处理方法的一种应用场景示意图;
图2为本申请实施例提供的一种数据传输方法的流程示意图;
图3为本申请实施例提供的另一种数据传输方法的流程示意图;
图4为本申请实施例提供的又一种数据传输方法的流程示意图;
图5为本申请实施例提供的一种数据处理方法中采样点的位置示意图;
图6为本申请实施例提供的一种数据传输装置的结构示意图;
图7为本申请实施例提供的另一种数据传输装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
图1为本申请实施例提供的数据处理方法的一种应用场景示意图。如图1所示,主控制器(host controller)与eMMC连接,用于与eMMC进行数据传输。
所述主控制器可以是任意具有数据处理功能的芯片,例如高级精简指令集处理器(Advanced RISC Machines,ARM)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等。
所述eMMC与所述主控制器之间可以通过总线实现连接,所述eMMC中可以存储有数据如软件程序等,所述主控制器可以从所述eMMC获取所述软件程序并运行。
下面结合附图,对本申请的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图2为本申请实施例提供的一种数据传输方法的流程示意图。如图2所示,所述数据传输方法,可以包括:
201、从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间。
可选的,本实施例中数据传输方法的执行主体可以为图1中的主控制器。本实施例中,所述eMMC可以为任意具有数据存储功能的存储器。通常的eMMC有多种速度模式,例如常规的eMMC可以包括legacy、HS SDR、HS DDR、HS200、HS400几种不同的速度模式,在启动时通常使用的是低速模式如HS SDR等模式,低速模式下不需要确定采样点,在时钟周期的任意时刻采样都可以获取到准确的数据,但是HS SDR模式的总线时钟(clock)最高仅有52Mhz,传输速率也只能到52MB/s,在如今软件程序不断发展,数据量越来越大的情况下,通过HS SDR模式实现启动的速度也就变得越来越慢。
一种可选的提高启动速度的方式是,在上电后即迅速提高到高速模式如HS200或者HS400模式,传输速率可以达到200MB/s或者400MB/s,但HS200或者HS400模式都需要先确定一个合适的采样点,才能准确地从eMMC获取数据。
具体地,可以在一个时钟周期内设置多个测试点,采样点可以从时钟周期内的多个测试点中选取。一般情况下,时钟周期内的各个测试点之间的间隔可以相等。若一个时钟周期的时长为T,所述时钟周期包括N个测试点,则任意相邻两测试点之间的时间间隔可以为T/N。
一个时钟周期通常可以包括256个或者更多的测试点,以256个为例,假设时钟周期为5ns,则相邻两个测试点之间间隔5/256ns,其中任意一个测试点都有可能作为数据传输过程中的采样点。
在201中,可以从时钟周期的256个测试点中选择一个作为采样点,确定采样点所用的时间小于遍历所述时钟周期的所有测试点确定采样点所需的时间。
其中,遍历所述时钟周期的所有测试点确定采样点,是指对所述时钟周期的全部测试点进行测试以确定采样点。
假设对一个测试点进行测试需要花费的时间为t,那么遍历256个测试点,需要256t的时间才能选择出采样点,而本实施例中,可以用小于256t的时间确定采样点。
在201中,确定所述采样点可以有多种实现方式,只要满足所用的时间小于遍历所述时钟周期的测试点所需的时间即可。
可选的,可以通过仅对部分测试点进行测试来确定采样点,或者,可以跳过测试流程,在不对测试点进行测试的情况下用其它方法确定采样点。
202、根据所述采样点,从所述eMMC获取数据。
在从多个测试点中确定采样点后,可以根据所述采样点实现数据的传输。例如,在时钟周期的256个点中,确定第30个点为采样点,那么,在数据传输过程中,在每个时钟周期,都对第30个点进行采样,从而准确地获取传输的数据。
本实施例中的方法可以应用于主控制器的启动过程。具体地,所获取的数据可以包括软件程序,在根据所述采样点,从所述eMMC获取软件程序之后,可以运行所述软件程序,从而实现设备的正常工作。
可选的,在上电(power on)后,主控制器与eMMC之间可以通过低速模 式进行通信,主控制器向eMMC发送CMD指令,唤醒所述eMMC,然后,主控制器可以确定采样点,并根据所述采样点,切换到高速模式,通过高速模式与eMMC进行通信,从eMMC获取软件程序,并运行所述软件程序,因此,存储在eMMC中的软件程序可以被更快地读取到主控制器中,从而可以大大提高启动速度,减少整个设备的启动时间。
除了启动过程以外,本申请各实施例中的方法也可以应用于工作过程中的任意其它时刻。例如,在启动过程中,可以通过低速模式从eMMC获取软件程序,在软件程序传输完毕并运行后,可以在以后的任意时刻,按照本申请各实施例提供的方法确定采样点,然后切换高速模式与eMMC进行数据传输。
在一个可选的实施方式中,所述主控制器可以根据采样点直接从eMMC获取数据。在其他可选的实施方式中,所述主控制器和所述eMMC均可以与内存连接,所述主控制器可以控制所述eMMC将数据传输至所述内存,所述主控制器可以从所述内存中读取所述数据。在确定采样点后,主控制器、eMMC和内存之间进行通信的具体实现原理属于现有技术,此处不再赘述。
本实施例提供的数据传输方法,可以从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间,在确定采样点后,可以根据所述采样点,从所述eMMC获取数据,能够有效减少确定采样点所花费的时间,提高数据传输的整体效率,提升设备的处理速度。
本申请各实施例中,将通过对测试点进行测试的方法确定采样点的流程记为tuning(测试)流程。在一些技术中,tuning流程需要遍历时钟周期的各个测试点才能确定采样点。本申请实施例中,可以通过避开tuning流程来提高确定采样点的效率,或者,可以通过减少tuning流程的时间来提高确定采样点的效率。下面分别通过以下实施例进行说明。
图3为本申请实施例提供的另一种数据传输方法的流程示意图。图3所示方案是在图2所示方案的基础上,将前一次的tuning结果存储下来,使用已存储的采样点(use saved tuning point)来确定本次上电后的采样点。
如图3所示,所述数据传输方法可以包括:
301、获取预先存储的采样点信息。
302、根据所述预先存储的采样点信息,确定所述用于从eMMC获取数据的 采样点。
本实施例中,通过301至302来确定采样点。
其中,所述预先存储的采样点信息,可以是之前通过tuning流程确定的采样点信息,例如可以是上一次tuning流程确定的采样点信息,也可以是之前任意一次tuning流程确定的采样点信息。
虽然eMMC的采样点选取和eMMC器件本身、主控制器、电路板设计、温度等条件都有关系,但是可以预计的是在短时间、环境变化不大、产品定型(eMMC器件确定、主控制器确定以及电路板设计确定)的情况下,采样点基本不会发生太大变化。因此,可以使用之前通过tuning流程确定的采样点作为本次传输数据时的采样点。
可选的,所述预先存储的采样点信息可以包括上一次下电前通过对所述时钟周期的至少部分测试点进行测试得到的采样点的信息。例如,可以对时钟周期的全部测试点进行测试,确定采样点,也可以仅对部分测试点进行测试,确定采样点。
在每次通过tuning流程确定采样点后,可以存储采样点的信息,供下一次直接使用,例如在下一次启动时读取上一次的采样点信息,从而直接切换到高速模式,减少读取软件程序的时间,提高启动速度。
所述采样点信息可以为用于表示采样点在时钟周期中的位置的信息,例如,所述采样点信息可以用于表示采样点是时钟周期的第几个测试点,或者,采样点与时钟周期上升沿之间的时间间隔等。
可以将采样点信息存储到任意非易失性(掉电不丢)的存储器中。可选的,可以将所述采样点信息存储到所述eMMC中,即,获取预先存储的旧的采样点信息,可以包括:获取所述eMMC中存储的采样点信息,通过eMMC存储采样点信息,无需增加新的硬件设备,有效节约成本和设备尺寸。
在一个可选的实施方式中,所述采样点信息可以存储在eMMC的分区中,从所述eMMC的分区中可以获取所存储的采样点信息。
所述分区可以为eMMC中的任意分区,例如可以为eMMC中boot分区、RPMB(Replay Protected Memory Block)分区、UserData分区、或者单独划分出的逻辑分区例如GPP(General Purpose Partitions)分区等。从上述任一分区中,选择一个不会被使用的、空闲的块(block)来存储采样点信息。
在另一个可选的实施方式中,所述采样点信息可以存储在eMMC的非易失 性的寄存器中,从所述eMMC的非易失性的寄存器中可以获取存储的采样点信息。
可选的,所述非易失性的存储器可以为eMMC中的EXT_CSD寄存器,在该寄存器中选取可读写的、掉电不丢失的、没有它用的寄存器bit(位)或者Byte(字节),来存储采样点信息,因为该寄存器可以直接通过CMD指令读取,而且访问速度比读分区要快,因此可以有效提高的启动速度。
在读取到预先存储的采样点信息后,可以直接以预先存储的采样点作为本次数据传输的采样点。或者,也可以对所述预先存储的采样点进行修正,例如,随着使用次数的增加,最佳采样点的位置也会逐渐漂移,那么可以在每次获取到预先存储的采样点信息后,将采样点+1作为本次采样点使用。
通过301至302,可以从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,由于读取采样点信息所需的时间要远小于遍历时钟周期的所有测试点确定采样点所需的时间,因此本实施例提供的方法可以有效提高确定采样点的效率。
303、根据所述采样点,从所述eMMC获取数据。
本实施例中303的具体实现原理和过程可以参见前述实施例,此处不再赘述。
可选的,在上电后,可以以第一传输速率从所述eMMC获取所述预先存储的采样点信息。在获取到采样点后,可以以第二传输速率从所述eMMC获取数据,其中,所述第二传输速率大于所述第一传输速率。所述第一传输速率和所述第二传输速率可以分别对应于eMMC的低速模式和高速模式,从而有效实现低速模式和高速模式的切换,保证正常顺利工作。
可选的,在根据本实施例提供的方法确定采样点并从eMMC获取软件程序以实现启动流程后,还可以在后续工作过程中进行一次tuning流程,因为随着时间变化,最合适的采样点的位置也可能会发生变化,因此需要不断地更新存储的采样点信息。
可选的,在通过读取预先存储的采样点信息确定本次的采样点后,还可以在eMMC空闲期间,通过对时钟周期的至少部分测试点进行测试,确定本次上电后的采样点,并存储所确定的采样点信息。
在一可选的实施方式中,存储所确定的采样点信息,可以包括:存储所述所确定的采样点并删除原来存储的采样点;或者,将所述所确定的采样点 信息覆盖原来的采样点信息。所述所确定的采样点信息可以供下一次使用,保证采样点信息被实时更新,提高数据传输的准确性。
在另一可选的实施方式中,在存储所确定的采样点信息后,可以保留原来存储的采样点信息。在下一次上电后,可以从预先存储的多个采样点信息中选择其中一个使用,例如可以选择最新存储的采样点信息使用。
在存储所确定的采样点信息时,可以通过校验算法计算所述采样点信息对应的校验值,存储所述采样点信息及对应的校验值。其中,所述校验算法可以包括循环冗余校验(Cyclic Redundancy Check,CRC)算法或安全散列算法(Secure Hash Algorithm,SHA)等。通过校验手段可以保证存储的采样点信息的准确性。
本实施例提供的数据传输方法,通过获取预先存储的采样点信息,并根据所述预先存储的采样点信息,确定所述用于从eMMC获取数据的采样点,无需对时钟周期的所有测试点进行测试即可确定采样点,有效提高了数据传输的整体效率。
除了图3所示实施例提供的方案以外,还可以通过其他方法避开tuning流程确定采样点。可选的,可以获取eMMC硬件信息、主控硬件信息、环境信息,根据所述eMMC硬件信息、主控硬件信息、环境信息,从时钟周期内的多个测试点中确定采样点。
由于eMMC的采样点选取和eMMC器件本身、主控制器、环境等条件有关系,因此,每次上电后对应的最合适的采样点可能并不相同,根据获取eMMC硬件信息、主控硬件信息、环境信息,可以计算对应的采样点。
其中,所述eMMC硬件信息可以包括eMMC已经使用的时间和/或已经使用的次数等,所述主控硬件信息可以包括主控制器已经使用的时间和/或已经使用的次数等,所述环境信息可以包括温度信息和/或湿度信息等。可选的,所述eMMC和主控制器的已经使用的时间或次数可以具体是指出厂后已经使用的时间或次数。
具体地,可以预先对eMMC和主控制器进行测试,建立eMMC硬件信息、主控硬件信息、环境信息等数据与采样点之间的对应关系,并保存所述对应关系。进一步地,在实际工作过程中还可以不断地根据实际工作状态更新所述对应关系。在需要时,可以通过所述对应关系确定采样点,使得采样点的选择满足当前的eMMC硬件状态、主控硬件状态以及环境状态的需求,有效提高 选择采样点的速度。
图4为本申请实施例提供的又一种数据传输方法的流程示意图。图4所示方案是在图2所示方案的基础上,对所述时钟周期的部分区间的测试点进行测试,确定采样点。
如图4所示,所述数据传输方法可以包括:
401、对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,其中,所述可用区间为所述时钟周期中可用的测试点所在的区间。
在一个时钟周期中的全部测试点中,可能会有多个可用的测试点,其中可用表示以该测试点作为采样点时可以准确地从eMMC获取数据。
402、根据所述可用区间,确定采样点。
本实施例中,可以通过401和402来确定采样点。本实施例中在确定采样点时依然需要用到tuning流程,但是,不是遍历全部的测试点,而是仅对其中部分测试点进行测试。具体地,可以采用二分法(dichotomous division tuning)的方式来减少tuning流程的时间。
图5为本申请实施例提供的一种数据处理方法中采样点的位置示意图。tuning流程是从一个时钟周期中选取一个合适的测试点作为采样点,因此,可以将一个时钟周期看做一个圆环,通常可用的测试点与不可用的测试点的分布是成段的,可用的测试点会集中在一起,不可用的测试点也会集中在一起。图5所示的圆环表示一个时钟周期,其中阴影部分表示不可用的测试点所在的范围即不可用区间,白色部分表示可用的测试点所在的范围即可用区间。通常最适合采样的测试点也是可用区间的中间的那个测试点,即图5中的白色部分的中点。
可选的,401中的对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,可以包括:依次对时钟周期的测试点进行测试,直至确定所述时钟周期中测试点从可用变为不可用的分界线以及从不可用变为可用的分界线;根据所述从可用变为不可用的分界线以及所述从不可用变为可用的分界线,确定所述时钟周期的可用区间。
如图5所示,测试点从可用变为不可用的分界线以及从不可用变为可用的分界线,可以为图5中阴影部分与白色部分的两个分界线,通过找到可用和不可用的分界线,能够快速、准确地确定可用区间。
可以从时钟周期的第一个测试点开始,依次对各个测试点进行测试。在对所述时钟周期的任一测试点进行测试时,可以根据该测试点从所述eMMC中获取测试数据包,将获取到的测试数据包与本地存储(即主控制器中存储的)的测试数据包进行对比,若一致,则确定所述测试点为可用的测试点,若不一致,则确定所述测试点为不可用的测试点。
假设所述时钟周期中第1个点至第i-1个点是不可用的,第i个点至第j个点是可用的,第j+1个点至第256个点又是不可用的,那么测试到第j+1个点就可以停止了,因为确定了可用区间为第i个点至第j个点所在的区间。这样,只需要测试j+1次,就可以确定可用区间。
在确定可用区间后,可以从可用区间中选择一个测试点作为采样点。虽然可能存在多个可用的测试点,但是由于温漂等原因,在工作过程中,可用测试点可能会不断发生漂移,原本可用的测试点,在一段时间后会变为不可用的测试点,但是这种漂移一般不会太严重。
可选的,402中的根据所述可用区间,确定采样点,可以包括:选择位于所述可用区间中心位置的测试点作为所述采样点。例如,图3中圆环白色部分中间位置的黑点可以作为采样点,能够最大限度地避免工作过程中的环境变化导致采样点不可用,提高数据传输的稳定性。
例如,按照前文的假设,可以选择第(i+j)/2个点作为采样点,若(i+j)/2非整数,则可以选择其整数部分对应的测试点作为采样点。
在其他可选的实现方式中,也可以选择可用区间中除中心位置以外的测试点作为采样点,例如,可以选择中心位置周围预设范围内的测试点作为采样点。
通过401至402,可以从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,由于仅仅对部分测试点进行了测试,因此,本实施例中确定采样点所用的时间小于遍历所述时钟周期的所有测试点确定采样点所需的时间。
403、根据所述采样点,从所述eMMC获取数据。
本实施例中403的具体实现原理和过程可以参见前述实施例,此处不再赘述。
本实施例提供的数据传输方法,可以通过对所述时钟周期的部分区间的测试点进行测试,确定采样点,相比对遍历时钟周期的测试点确定采样点的方法,能够有效减少tuning流程的时间,相比于直接读取上一次存储的采样 点信息来确定采样点的方法,根据tuning流程确定的采样点更加符合本次上电后的需求,提高了选择采样点的准确性。
除了图4所示实施例提供的方案以外,还可以通过其他方法来减少tuning流程的时间。可选的,可以对所述时钟周期内的部分测试点进行测试,确定采样点,其中,所述部分测试点中任意两测试点均不相邻。也就是说,从时钟周期的全部采样点中选择互不相邻的若干采样点进行测试。
一种可选的实施方式是,在所述时钟周期的全部采样点中,每隔n个点,挑选出一个测试点,对挑选出的测试点进行测试,确定其是否可用。例如,可以仅对单数的测试点进行测试,或者,每隔5个测试点测试一次。
在对若干个测试点进行测试后,可以找到至少一个可用的测试点,然后,从所述至少一个可用的测试点中确定采样点。例如,可以在所述至少一个可用的测试点中,选择最中间的测试点作为采样点,从而实现不需遍历所有的测试点也可以确定采样点。
另一种可选的实施方式是,可以将整个时钟周期划分多个区间,并从每个区间中选择一个测试点进行测试,确定该测试点是不是可用的,最后,根据各个区间的测试结果,选择一个区间作为最适合采样的区间,并从所述最适合采样的区间中选择一个测试点作为采样点。
其中,所述最适合采样的区间可以为经测试可用的测试点所在的区间中,位于中心位置的区间。
例如,将整个时钟周期分为10个区间,每个区间挑选出一个测试点,分别记为第1至第10个测试点,假设经过测试,第1、2、3个测试点是不可用的,第4至第10个测试点是可用的,那么可以确定第4至第10个区间中,位于中间位置的区间,即第7个区间是最适合采样的区间,从中选择一个测试点作为采样点。
通过在时钟周期的全部采样点中选择互不相邻的若干采样点进行测试,无需遍历全部的采样点,可以在兼顾准确性的基础上,提升采样点选取的效率。
图6为本申请实施例提供的一种数据传输装置的结构示意图。所述数据传输装置可以为任意能够实现数据传输功能的装置,例如图1中的主控制器。所述数据传输装置可以执行上述图2所对应的数据传输方法,参考附图6所示,所述数据传输装置可以包括:
存储器11,用于存储指令;
处理器12,用于运行所述存储器中存储的指令以实现:
从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
根据所述采样点,从所述eMMC获取数据。
可选的,该数据传输装置的结构中还可以包括通信接口13,用于与其他设备或通信网络通信。
在一个可实施的方式中,所述数据包括软件程序,所述装置处理器12还用于:
在根据所述采样点,从所述eMMC获取软件程序之后,运行所述软件程序。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器12具体用于:
获取预先存储的采样点信息;
根据所述预先存储的采样点信息,确定所述用于从eMMC获取数据的采样点。
在一个可实施的方式中,所述预先存储的采样点信息包括上一次下电前通过对所述时钟周期的至少部分测试点进行测试得到的采样点的信息。
在一个可实施的方式中,在获取预先存储的旧的采样点信息时,所述处理器12具体用于:
获取所述eMMC中存储的采样点信息。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息时,所述处理器12具体用于:
获取所述eMMC的分区中存储的采样点信息。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息时,所述处理器12具体用于:
获取所述eMMC的非易失性的寄存器中存储的采样点信息。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息时,所述处理器12具体用于:
在上电后,以第一传输速率从所述eMMC获取采样点信息。
在一个可实施的方式中,在根据所述采样点,从所述eMMC获取数据时, 包括:
根据所述采样点,以第二传输速率从所述eMMC获取数据;
其中,所述第二传输速率大于所述第一传输速率。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息之后,所述处理器12还用于:
在eMMC空闲期间,通过对所述时钟周期的至少部分测试点进行测试,确定本次上电后的采样点;
存储所确定的采样点信息。
在一个可实施的方式中,在存储所确定的采样点信息时,所述处理器12具体用于:
通过校验算法计算所述采样点信息对应的校验值;
存储所述采样点信息及对应的校验值。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器12具体用于:
对所述时钟周期的部分区间的测试点进行测试,确定采样点。
在一个可实施的方式中,在对所述时钟周期的部分区间的测试点进行测试,确定采样点时,所述处理器12具体用于:
对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,其中,所述可用区间为所述时钟周期中可用的测试点所在的区间;
根据所述可用区间,确定采样点。
在一个可实施的方式中,在对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间时,所述处理器12具体用于:
依次对时钟周期的测试点进行测试,直至确定所述时钟周期中测试点从可用变为不可用的分界线以及从不可用变为可用的分界线;
根据所述从可用变为不可用的分界线以及所述从不可用变为可用的分界线,确定所述时钟周期的可用区间。
在一个可实施的方式中,在对所述时钟周期的任一测试点进行测试时,所述处理器12具体用于:
根据该测试点从所述eMMC中获取测试数据包;
将获取到的测试数据包与本地存储的测试数据包进行对比,若一致,则确定所述测试点为可用的测试点,若不一致,则确定所述测试点为不可用的 测试点。
在一个可实施的方式中,在根据所述可用区间,确定采样点时,所述处理器12具体用于:
选择位于所述可用区间中心位置的测试点作为所述采样点。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器12具体用于:
获取eMMC硬件信息、主控硬件信息、环境信息中的至少一项,根据所获取的至少一项信息,从时钟周期内的多个测试点中确定采样点。
在一个可实施的方式中,所述eMMC硬件信息包括eMMC已经使用的时间和/或已经使用的次数;所述主控硬件信息包括用于控制所述eMMC的主控制器已经使用的时间和/或已经使用的次数;所述环境信息包括温度信息和/或湿度信息。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器12具体用于:
从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点。
在一个可实施的方式中,在从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点时,所述处理器12具体用于:
将所述时钟周期划分为多个区间,每个区间选择一个测试点进行测试;
根据测试的结果,选择最适合采样的区间;
从所述最适合采样的区间中选择一个测试点作为采样点。
图6所示数据传输装置可以执行图1-图5所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图5所示实施例中的描述,在此不再赘述。
图7为本申请实施例提供的另一种数据传输装置的结构示意图。所述数据传输装置可以执行上述图2所对应的数据传输方法,参考附图7所示,所述数据传输装置可以包括:
处理电路701,用于从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
接收电路702,用于根据所述采样点,从所述eMMC获取数据。
在一个可实施的方式中,所述数据包括软件程序,所述处理电路702还用于:
在根据所述采样点,从所述eMMC获取软件程序之后,运行所述软件程序。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理电路702具体用于:
获取预先存储的采样点信息;
根据所述预先存储采样点信息,确定所述用于从eMMC获取数据的采样点。
在一个可实施的方式中,所述预先存储的采样点信息包括上一次下电前通过对所述时钟周期的至少部分测试点进行测试得到的采样点的信息。
在一个可实施的方式中,在获取预先存储的旧的采样点信息时,所述处理电路702具体用于:
获取所述eMMC中存储的采样点信息。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息时,所述处理电路702具体用于:
获取所述eMMC的分区中存储的采样点信息。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息时,所述处理电路702具体用于:
获取所述eMMC的非易失性的寄存器中存储的采样点信息。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息时,所述处理电路702具体用于:
在上电后,以第一传输速率从所述eMMC获取采样点信息。
在一个可实施的方式中,在根据所述采样点,从所述eMMC获取数据时,包括:
根据所述采样点,以第二传输速率从所述eMMC获取数据;
其中,所述第二传输速率大于所述第一传输速率。
在一个可实施的方式中,在获取所述eMMC中存储的采样点信息之后,所述处理电路702还用于:
在eMMC空闲期间,通过对所述时钟周期的至少部分测试点进行测试,确定本次上电后的采样点;
存储所确定的采样点信息。
在一个可实施的方式中,在存储所确定的采样点信息时,所述处理电路 702具体用于:
通过校验算法计算所述采样点信息对应的校验值;
存储所述采样点信息及对应的校验值。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理电路702具体用于:
对所述时钟周期的部分区间的测试点进行测试,确定采样点。
在一个可实施的方式中,在对所述时钟周期的部分区间的测试点进行测试,确定采样点时,所述处理电路702具体用于:
对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,其中,所述可用区间为所述时钟周期中可用的测试点所在的区间;
根据所述可用区间,确定采样点。
在一个可实施的方式中,在对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间时,所述处理电路702具体用于:
依次对时钟周期的测试点进行测试,直至确定所述时钟周期中测试点从可用变为不可用的分界线以及从不可用变为可用的分界线;
根据所述从可用变为不可用的分界线以及所述从不可用变为可用的分界线,确定所述时钟周期的可用区间。
在一个可实施的方式中,在对所述时钟周期的任一测试点进行测试时,所述处理电路702具体用于:
根据该测试点从所述eMMC中获取测试数据包;
将获取到的测试数据包与本地存储的测试数据包进行对比,若一致,则确定所述测试点为可用的测试点,若不一致,则确定所述测试点为不可用的测试点。
在一个可实施的方式中,在根据所述可用区间,确定采样点时,所述处理电路702具体用于:
选择位于所述可用区间中心位置的测试点作为所述采样点。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理电路702具体用于:
获取eMMC硬件信息、主控硬件信息、环境信息中的至少一项,根据所获取的至少一项信息,从时钟周期内的多个测试点中确定采样点。
在一个可实施的方式中,所述eMMC硬件信息包括eMMC已经使用的时间和/ 或已经使用的次数;所述主控硬件信息包括用于控制所述eMMC的主控制器已经使用的时间和/或已经使用的次数;所述环境信息包括温度信息和/或湿度信息。
在一个可实施的方式中,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理电路702具体用于:
从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点。
在一个可实施的方式中,在从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点时,所述处理电路702具体用于:
将所述时钟周期划分为多个区间,每个区间选择一个测试点进行测试;
根据测试的结果,选择最适合采样的区间;
从所述最适合采样的区间中选择一个测试点作为采样点。
本实施例中的处理电路701、接收电路702,可以通过硬件电路来实现。例如,对数据进行比对,可以通过比较器实现;确定区间的中间位置,可以通过加法电路和除法电路来实现。
图7所示数据传输装置可以执行图1-图5所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图5所示实施例中的描述,在此不再赘述。
本申请实施例还提供一种电子设备,包括图6所示实施例提供的数据传输装置以及eMMC。
本申请实施例还提供一种电子设备,包括图7所示实施例提供的数据传输装置以及eMMC。
本申请实施例提供的电子设备中各部件的结构、功能均可以参见前述实施例,此处不再赘述。
另外,本申请实施例提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上述图1-图5所示实施例中的数据传输方法。
另外,本申请实施例提供了一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行图1-图5所示实施例中的数据传输方法。
以上各个实施例中的技术方案、技术特征在与本相冲突的情况下均可以单独,或者进行组合,只要未超出本领域技术人员的认知范围,均属于本申 请保护范围内的等同实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的相关遥控装置和方法,可以通过其它的方式实现。例如,以上所描述的遥控装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,遥控装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read_Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁盘或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并 不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (49)

  1. 一种数据传输方法,其特征在于,包括:
    从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
    根据所述采样点,从所述eMMC获取数据。
  2. 根据权利要求1所述的方法,其特征在于,所述数据包括软件程序,所述方法还包括:
    在根据所述采样点,从所述eMMC获取软件程序之后,运行所述软件程序。
  3. 根据权利要求1所述的方法,其特征在于,从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,包括:
    获取预先存储的采样点信息;
    根据所述预先存储的采样点信息,确定所述用于从eMMC获取数据的采样点。
  4. 根据权利要求3所述的方法,其特征在于,所述预先存储的采样点信息包括上一次下电前通过对所述时钟周期的至少部分测试点进行测试得到的采样点的信息。
  5. 根据权利要求3所述的方法,其特征在于,获取预先存储的采样点信息,包括:
    获取所述eMMC中存储的采样点信息。
  6. 根据权利要求5所述的方法,其特征在于,获取所述eMMC中存储的采样点信息,包括:
    获取所述eMMC的分区中存储的采样点信息。
  7. 根据权利要求5所述的方法,其特征在于,获取所述eMMC中存储的采样点信息,包括:
    获取所述eMMC的非易失性的寄存器中存储的采样点信息。
  8. 根据权利要求5所述的方法,其特征在于,获取所述eMMC中存储的采样点信息,包括:
    在上电后,以第一传输速率从所述eMMC获取采样点信息。
  9. 根据权利要求8所述的方法,其特征在于,根据所述采样点,从所述eMMC获取数据,包括:
    根据所述采样点,以第二传输速率从所述eMMC获取数据;
    其中,所述第二传输速率大于所述第一传输速率。
  10. 根据权利要求5所述的方法,其特征在于,在获取所述eMMC中存储的采样点信息之后,还包括:
    在eMMC空闲期间,通过对所述时钟周期的至少部分测试点进行测试,确定本次上电后的采样点;
    存储所确定的采样点信息。
  11. 根据权利要求10所述的方法,其特征在于,存储所确定的采样点信息,包括:
    通过校验算法计算所述采样点信息对应的校验值;
    存储所述采样点信息及对应的校验值。
  12. 根据权利要求1所述的方法,其特征在于,从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,包括:
    对所述时钟周期的部分区间的测试点进行测试,确定采样点。
  13. 根据权利要求12所述的方法,其特征在于,对所述时钟周期的部分区间的测试点进行测试,确定采样点,包括:
    对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,其中,所述可用区间为所述时钟周期中可用的测试点所在的区间;
    根据所述可用区间,确定采样点。
  14. 根据权利要求13所述的方法,其特征在于,对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,包括:
    依次对时钟周期的测试点进行测试,直至确定所述时钟周期中测试点从可用变为不可用的分界线以及从不可用变为可用的分界线;
    根据所述从可用变为不可用的分界线以及所述从不可用变为可用的分界线,确定所述时钟周期的可用区间。
  15. 根据权利要求14所述的方法,其特征在于,对所述时钟周期的任一测试点进行测试,包括:
    根据该测试点从所述eMMC中获取测试数据包;
    将获取到的测试数据包与本地存储的测试数据包进行对比,若一致,则 确定所述测试点为可用的测试点,若不一致,则确定所述测试点为不可用的测试点。
  16. 根据权利要求13所述的方法,其特征在于,根据所述可用区间,确定采样点,包括:
    选择位于所述可用区间中心位置的测试点作为所述采样点。
  17. 根据权利要求1所述的方法,其特征在于,从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,包括:
    获取eMMC硬件信息、主控硬件信息、环境信息中的至少一项,根据所获取的至少一项信息,从时钟周期内的多个测试点中确定采样点。
  18. 根据权利要求17所述的方法,其特征在于,所述eMMC硬件信息包括eMMC已经使用的时间和/或已经使用的次数;所述主控硬件信息包括用于控制所述eMMC的主控制器已经使用的时间和/或已经使用的次数;所述环境信息包括温度信息和/或湿度信息。
  19. 根据权利要求1所述的方法,其特征在于,从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,包括:
    从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点。
  20. 根据权利要求19所述的方法,其特征在于,从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点,包括:
    将所述时钟周期划分为多个区间,每个区间选择一个测试点进行测试;
    根据测试的结果,选择最适合采样的区间;
    从所述最适合采样的区间中选择一个测试点作为采样点。
  21. 一种数据传输装置,其特征在于,包括:
    存储器,用于存储指令;
    处理器,用于运行所述存储器中存储的指令以实现:
    从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
    根据所述采样点,从所述eMMC获取数据。
  22. 根据权利要求21所述的装置,其特征在于,所述数据包括软件程序,所述处理器还用于:
    在根据所述采样点,从所述eMMC获取软件程序之后,运行所述软件程序。
  23. 根据权利要求21所述的装置,其特征在于,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器具体用于:
    获取预先存储的采样点信息;
    根据所述预先存储采样点信息,确定所述用于从eMMC获取数据的采样点。
  24. 根据权利要求23所述的装置,其特征在于,所述预先存储的采样点信息包括上一次下电前通过对所述时钟周期的至少部分测试点进行测试得到的采样点的信息。
  25. 根据权利要求23所述的装置,其特征在于,在获取预先存储的采样点信息时,所述处理器具体用于:
    获取所述eMMC中存储的采样点信息。
  26. 根据权利要求25所述的装置,其特征在于,在获取所述eMMC中存储的采样点信息时,所述处理器具体用于:
    获取所述eMMC的分区中存储的采样点信息。
  27. 根据权利要求25所述的装置,其特征在于,在获取所述eMMC中存储的采样点信息时,所述处理器具体用于:
    获取所述eMMC的非易失性的寄存器中存储的采样点信息。
  28. 根据权利要求25所述的装置,其特征在于,在获取所述eMMC中存储的采样点信息时,所述处理器具体用于:
    在上电后,以第一传输速率从所述eMMC获取采样点信息。
  29. 根据权利要求28所述的装置,其特征在于,在根据所述采样点,从所述eMMC获取数据时,包括:
    根据所述采样点,以第二传输速率从所述eMMC获取数据;
    其中,所述第二传输速率大于所述第一传输速率。
  30. 根据权利要求25所述的装置,其特征在于,在获取所述eMMC中存储的采样点信息之后,所述处理器还用于:
    在eMMC空闲期间,通过对所述时钟周期的至少部分测试点进行测试,确定本次上电后的采样点;
    存储所确定的采样点信息。
  31. 根据权利要求30所述的装置,其特征在于,在存储所确定的采样点信息时,所述处理器具体用于:
    通过校验算法计算所述采样点信息对应的校验值;
    存储所述采样点信息及对应的校验值。
  32. 根据权利要求21所述的装置,其特征在于,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器具体用于:
    对所述时钟周期的部分区间的测试点进行测试,确定采样点。
  33. 根据权利要求32所述的装置,其特征在于,在对所述时钟周期的部分区间的测试点进行测试,确定采样点时,所述处理器具体用于:
    对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,其中,所述可用区间为所述时钟周期中可用的测试点所在的区间;
    根据所述可用区间,确定采样点。
  34. 根据权利要求33所述的装置,其特征在于,在对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间时,所述处理器具体用于:
    依次对时钟周期的测试点进行测试,直至确定所述时钟周期中测试点从可用变为不可用的分界线以及从不可用变为可用的分界线;
    根据所述从可用变为不可用的分界线以及所述从不可用变为可用的分界线,确定所述时钟周期的可用区间。
  35. 根据权利要求34所述的装置,其特征在于,在对所述时钟周期的任一测试点进行测试时,所述处理器具体用于:
    根据该测试点从所述eMMC中获取测试数据包;
    将获取到的测试数据包与本地存储的测试数据包进行对比,若一致,则确定所述测试点为可用的测试点,若不一致,则确定所述测试点为不可用的测试点。
  36. 根据权利要求33所述的装置,其特征在于,在根据所述可用区间,确定采样点时,所述处理器具体用于:
    选择位于所述可用区间中心位置的测试点作为所述采样点。
  37. 根据权利要求21所述的装置,其特征在于,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器具体用于:
    获取eMMC硬件信息、主控硬件信息、环境信息中的至少一项,根据所获取的至少一项信息,从时钟周期内的多个测试点中确定采样点。
  38. 根据权利要求37所述的装置,其特征在于,所述eMMC硬件信息包括 eMMC已经使用的时间和/或已经使用的次数;所述主控硬件信息包括用于控制所述eMMC的主控制器已经使用的时间和/或已经使用的次数;所述环境信息包括温度信息和/或湿度信息。
  39. 根据权利要求21所述的装置,其特征在于,在从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点时,所述处理器具体用于:
    从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点。
  40. 根据权利要求39所述的装置,其特征在于,在从所述时钟周期的全部采样点中选择互不相邻的若干测试点进行测试,确定采样点时,所述处理器具体用于:
    将所述时钟周期划分为多个区间,每个区间选择一个测试点进行测试;
    根据测试的结果,选择最适合采样的区间;
    从所述最适合采样的区间中选择一个测试点作为采样点。
  41. 一种数据传输装置,其特征在于,包括:
    处理电路,用于从时钟周期的多个测试点中确定用于从eMMC获取数据的采样点,其中,确定所述采样点所用的时间小于预设时间,所述预设时间为遍历所述时钟周期的所有测试点确定采样点所需的时间;
    接收电路,用于根据所述采样点,从所述eMMC获取数据。
  42. 根据权利要求41所述的装置,其特征在于,所述处理电路具体用于:
    获取预先存储的采样点信息;
    根据所述预先存储的采样点信息,确定所述用于从eMMC获取数据的采样点。
  43. 根据权利要求42所述的装置,其特征在于,所述预先存储的采样点信息包括上一次下电前通过对所述时钟周期的至少部分测试点进行测试得到的采样点的信息。
  44. 根据权利要求41所述的装置,其特征在于,所述处理电路具体用于:
    对所述时钟周期的部分区间的测试点进行测试,确定采样点。
  45. 根据权利要求41所述的装置,其特征在于,所述处理电路具体用于:
    对所述时钟周期的部分区间的测试点进行测试,确定所述时钟周期的可用区间,其中,所述可用区间为所述时钟周期中可用的测试点所在的区间;
    根据所述可用区间,确定采样点。
  46. 一种电子设备,其特征在于,包括:权利要求21-40任一项所述的数据传输装置以及eMMC。
  47. 一种电子设备,其特征在于,包括:权利要求41-45任一项所述的数据传输装置以及eMMC。
  48. 一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-20中任意一项所述的数据传输方法。
  49. 一种计算机程序产品,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-20中任一项所述的数据传输方法。
PCT/CN2020/084907 2020-04-15 2020-04-15 数据传输方法、数据传输装置、电子设备和存储介质 WO2021207972A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080004981.0A CN112673364A (zh) 2020-04-15 2020-04-15 数据传输方法、数据传输装置、电子设备和存储介质
PCT/CN2020/084907 WO2021207972A1 (zh) 2020-04-15 2020-04-15 数据传输方法、数据传输装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/084907 WO2021207972A1 (zh) 2020-04-15 2020-04-15 数据传输方法、数据传输装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
WO2021207972A1 true WO2021207972A1 (zh) 2021-10-21

Family

ID=75413946

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/084907 WO2021207972A1 (zh) 2020-04-15 2020-04-15 数据传输方法、数据传输装置、电子设备和存储介质

Country Status (2)

Country Link
CN (1) CN112673364A (zh)
WO (1) WO2021207972A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501235A (zh) * 2023-06-29 2023-07-28 珠海妙存科技有限公司 一种采样点的确定方法、系统、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082398A1 (en) * 2012-09-14 2014-03-20 Samsung Semiconductor Co., Ltd. EMBEDDED MULTIMEDIA CARD (eMMC), HOST CONTROLLING eMMC, AND METHOD OPERATING eMMC SYSTEM
CN107273314A (zh) * 2017-05-24 2017-10-20 深圳市紫光同创电子有限公司 嵌入式多媒体芯片数据读取方法、设备及系统
CN109144938A (zh) * 2018-11-12 2019-01-04 成都傅立叶电子科技有限公司 一种实现eMMC芯片HS400高速接口通信的方法及系统
CN109213703A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种数据检测方法及数据检测装置
CN110764440A (zh) * 2019-07-31 2020-02-07 晶晨半导体(上海)股份有限公司 一种存储器的信号采样方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082398A1 (en) * 2012-09-14 2014-03-20 Samsung Semiconductor Co., Ltd. EMBEDDED MULTIMEDIA CARD (eMMC), HOST CONTROLLING eMMC, AND METHOD OPERATING eMMC SYSTEM
CN107273314A (zh) * 2017-05-24 2017-10-20 深圳市紫光同创电子有限公司 嵌入式多媒体芯片数据读取方法、设备及系统
CN109213703A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种数据检测方法及数据检测装置
CN109144938A (zh) * 2018-11-12 2019-01-04 成都傅立叶电子科技有限公司 一种实现eMMC芯片HS400高速接口通信的方法及系统
CN110764440A (zh) * 2019-07-31 2020-02-07 晶晨半导体(上海)股份有限公司 一种存储器的信号采样方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501235A (zh) * 2023-06-29 2023-07-28 珠海妙存科技有限公司 一种采样点的确定方法、系统、装置及存储介质
CN116501235B (zh) * 2023-06-29 2024-02-23 珠海妙存科技有限公司 一种采样点的确定方法、系统、装置及存储介质

Also Published As

Publication number Publication date
CN112673364A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
CN108351813B (zh) 用于在非易失性存储器快速(NVMe)控制器的不同网络地址上使能个别的NVMe输入/输出(IO)队列的方法和装置
KR101182601B1 (ko) 최적화된 비-휘발성 저장 시스템
US11960749B2 (en) Data migration method, host, and solid state disk
US20140095555A1 (en) File management device and method for storage system
RU2475818C2 (ru) Способы и системы обмена данными
US20090217067A1 (en) Systems and Methods for Reducing Power Consumption in a Redundant Storage Array
JP2021501941A (ja) メモリブロックリクレーム方法およびメモリブロックリクレーム装置
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
US20240311262A1 (en) Method and apparatus for processing storage medium failure and solid state drive
CN110765032A (zh) 基于系统管理总线接口对i2c存储器进行读写的方法
CN111679794A (zh) 多控存储系统中进行数据同步的方法和装置
CN112597078A (zh) 数据处理系统、存储器系统和用于操作存储器系统的方法
CN111291022B (zh) 一种基于区块链的数据存储系统
WO2021207972A1 (zh) 数据传输方法、数据传输装置、电子设备和存储介质
CN115756556A (zh) 一种基于图形处理器的bios更新方法
CN105404591A (zh) 处理器系统及其存储器控制方法
US20110246702A1 (en) Management Of Configuration Data Using Persistent Memories Requiring Block-Wise Erase Before Rewriting
JP6944117B2 (ja) 情報処理装置、転送制御方法および転送制御プログラム
US9588882B2 (en) Non-volatile memory sector rotation
US20060277326A1 (en) Data transfer system and method
US20110078387A1 (en) Writing to memory using shared address buses
US8554995B2 (en) Connecting a storage subsystem and an electronic device with a control device that hides details of the storage subsystem
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
TWI715294B (zh) 基於系統管理匯流排界面對i2c記憶體進行讀寫的方法
US12045179B2 (en) Method for handling configuration data for an interconnection protocol within hibernate operation, controller, and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20931226

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20931226

Country of ref document: EP

Kind code of ref document: A1