WO2022252987A1 - Method and apparatus for testing memory chip - Google Patents

Method and apparatus for testing memory chip Download PDF

Info

Publication number
WO2022252987A1
WO2022252987A1 PCT/CN2022/093601 CN2022093601W WO2022252987A1 WO 2022252987 A1 WO2022252987 A1 WO 2022252987A1 CN 2022093601 W CN2022093601 W CN 2022093601W WO 2022252987 A1 WO2022252987 A1 WO 2022252987A1
Authority
WO
WIPO (PCT)
Prior art keywords
binary sequence
memory chip
data signal
processor
coding
Prior art date
Application number
PCT/CN2022/093601
Other languages
French (fr)
Chinese (zh)
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 华为技术有限公司
Publication of WO2022252987A1 publication Critical patent/WO2022252987A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor

Definitions

  • the embodiments of the present application relate to the field of chip technology, and in particular, to a method and device for testing a memory chip.
  • the memory chip is the basis for the processor to perform calculations, and is used to temporarily store calculation data in the processor.
  • the memory chip needs to go through the initialization process after the electronic device is turned on.
  • the memory chip is first tested to obtain the best reference value of the initialization parameters of the memory chip before normal high-speed data transmission can be performed. For example: after obtaining the reference value for judging whether the level of the data signal transmitted between the processor and the memory chip is high or low, thereby judging whether the transmitted data signal carries a reference level of "1" or "0", In order to perform normal high-speed data transmission.
  • the binary sequence selected during the test directly affects the result of the obtained reference value of the initialization parameter.
  • the more the selected binary sequence can stimulate the crosstalk (crosstalk) and intersymbol interference (inter symbol interference, ISI) of the data signal the more appropriate the result will be.
  • crosstalk crosstalk
  • intersymbol interference inter symbol interference, ISI
  • two binary sequences are used in the test process of the memory chip, one binary sequence is used as the victim line pattern, the other binary sequence is used as the offending line pattern, and one of the N data signal lines of the memory chip is a data signal line
  • the data signal carrying the pattern of the victim line is transmitted, and the other N-1 data signal lines transmit the data signal carrying the pattern of the offending line.
  • ISI is mainly determined by the pattern of the victim line
  • crosstalk is mainly determined by the pattern of the offending line around the pattern of the victim line. Decide.
  • simple binary sequences (such as 0101, 0011, etc.) cannot effectively stimulate the ISI and crosstalk of the data signal.
  • PRBS pseudorandom binary sequence
  • one PRBS is used as the victim line pattern
  • the other PRBS is used as the violation line pattern
  • PRBS The characteristic is that PRBS with an order of N can traverse 2 N -1 kinds of coding combinations, and the longest N consecutive 1s and N-1 consecutive 0s can appear. Each frequency component is very rich, which can effectively stimulate the data signal. ISI and crosstalk.
  • using two different PRBS one PRBS as the victim line pattern and the other PRBS as the offending line pattern, does not stimulate the crosstalk of the data signal very well, which will affect the reliability of the obtained reference value of the initialization parameters. sex.
  • Embodiments of the present application provide a memory chip testing method and device, which are used to improve the reliability of reference values of determined initialization parameters.
  • the embodiment of the present application provides a method for testing a memory chip, which can be performed by electronic devices such as smart phones, tablet computers, smart cameras, self-driving vehicles, and personal computers.
  • the method includes: using the first binary The sequence and the second binary sequence test the value of the initialization parameter of the memory chip, wherein the second binary sequence has H jumps in the same direction and I with respect to the first binary sequence With respect to the reverse jump of the first binary sequence, one of the N data signal lines of the memory chip transmits the first binary sequence, and one of the other N-1 data signal lines At least one data signal line transmits the second binary sequence, the N is an integer greater than or equal to 2, the H and the I are integers greater than or equal to 1; the initialization parameters obtained according to the test The value range is to determine the reference value of the initialization parameter; perform data transmission with the memory chip according to the reference value.
  • one or more of the N data signal lines of the memory chip transmits the first binary sequence, and among the N data signal lines, except for the data signal line used to transmit the first binary sequence
  • One or more of the remaining data signal lines transmit the second binary sequence.
  • Two or more data signal lines among the N data signal lines of the memory chip, at least one of which is used to transmit the first binary sequence, and at least one of the remaining data signal lines is used to transmit the second binary sequence sequence.
  • the jump is the conversion of two adjacent bits in a binary sequence, such as the change of the values of two adjacent bits (such as the first bit and the second bit) in a binary sequence from 0 to 1 Or change from 1 to 0.
  • the comparison of the same direction jump and the reverse jump is whether the direction of the two jumps from the same bit position in the first binary sequence and the second binary sequence is the same direction or the reverse direction, and the same direction refers to this Both jumps are from 1 to 0 or both are from 0 to 1.
  • Reverse means that one of the two jumps changes from 0 to 1, and the other jumps from 0 to 1. 1 to 0 variation.
  • the second binary sequence has rich transitions in the same direction and reverse transitions compared with the first binary sequence, the carrying capacity transmitted in the data signal line Compared with the data signal carrying the first binary sequence transmitted in the data signal line, the data signal of the second binary sequence has the same level change in the same direction at multiple transmission moments (for example, the data signals at a certain transmission moment are all changed by High level (carrying "1") changes to low level (carrying "0")), and the same reverse level change at multiple transmission moments (such as a data signal at a certain transmission moment is high level (carrying "0")) 1") changes to low level (carrying "0"), another data signal is low level (carrying "0") and changes to high level (carrying "1”)), which will give the second binary signal
  • the data signal of the second binary sequence has the same level change in the same direction at multiple transmission moments (for example, the data signals at a certain transmission moment are all changed by High level (carrying "1") changes to low level (carrying "0")), and the
  • the initialization parameters include one or more of a reference level, a data strobe signal (data strobe signal, DQS) phase adjustment amplitude, and the like.
  • the reference level is the level at which the memory chip or the processor recognizes the state of the data signal level during data transmission. Specifically, when identifying the level state of the data signal, if the level of the data signal is greater than or equal to the reference level level, it is high level, the level of the data signal is lower than the reference level, then the level of the data signal is low level; DQS phase adjustment range indicates the transmission delay of DQS, and DQS is the trigger data transmission process The memory chip or processor recognizes the signal of the data signal level state. By changing the value of the DQS phase adjustment range, the moment when DQS triggers the memory chip or processor to recognize the data signal level state can be adjusted.
  • the first binary sequence is a pseudo-random binary sequence with a variable marking ratio.
  • variable mark ratio pseudo-random binary sequence is pseudo-random in the immutable mark ratio
  • the AND operation based on the binary sequence is more random than the immutable tag ratio pseudo-random binary sequence, and the number of consecutive bits with the same value "0 or 1" that can appear in the sequence is more.
  • the pseudo-random binary sequence with variable marking ratio is used as the first binary sequence, which can make the level of the data signal carrying the first binary sequence (the high level carrying "1" and the high level carrying "0") Low level) is more random, which brings stronger inter-symbol interference, thereby improving the reliability of the reference value of the determined initialization parameter.
  • the length of the first binary sequence can also be shortened while ensuring the reliability of the reference value of the determined initialization parameter, thereby improving the testing efficiency of the memory chip and improving the user's booting experience.
  • the second binary sequence is determined by performing reverse processing on one or more jumps in the first binary sequence to determine the second binary sequence sequence.
  • one or more jumps in the first binary sequence can be reversed, such as converting two adjacent 10s in the first binary sequence to 01, or converting two adjacent The bit 01 is transformed into 10, and the second binary sequence is quickly obtained, which is beneficial to improving the test efficiency of the memory chip.
  • the second binary sequence is determined in the following manner: the first binary sequence is divided in units of M bits, and in the first binary sequence Determine a plurality of coding units, wherein there is no repeated bit between any two coding units in the plurality of coding units, and the M is an integer greater than or equal to 2; the target coding combination carried in the plurality of coding units The coding unit of is marked as the target coding unit, wherein the target coding combination is one or more of the 2 M coding combinations corresponding to the coding unit; the target coding unit in the first binary sequence is The transition is reversed to determine the second binary sequence.
  • each M bit in the first binary sequence can be used as the coding unit for coding, and one or more of the 2 M coding combinations corresponding to the coding unit can be used as the target coding combination, and the target coding
  • the jumps in the combined target coding unit are reversely processed to determine the second binary sequence, and quickly obtain the second binary sequence, which is beneficial to improving the test efficiency of the memory chip.
  • half of the 2 M coding combinations are the target coding combinations.
  • half of the 2 M coding combinations are used as the target coding combination, which is conducive to balancing the number of forward jumps and reverse jumps of the second binary sequence relative to the first binary sequence, Fully stimulate the crosstalk brought by the jumps in the same direction and the reverse direction to the data signal carrying the first binary sequence, and improve the reliability of the reference value of the determined initialization parameter.
  • the embodiment of the present application provides a device for initializing a memory chip.
  • the device has the function of realizing the above-mentioned first aspect or any possible design method of the first aspect.
  • the function can be realized by hardware, or A corresponding software implementation may be performed by hardware.
  • the hardware or software includes one or more units (modules) corresponding to the above functions, such as an initialization test unit, a determination unit and a transmission unit.
  • an embodiment of the present application provides an electronic device, the electronic device includes a processor, a memory, and a memory chip, and when the processor executes the computer program stored in the memory, the memory chip executes the above-mentioned first The method described in one aspect or any possible design of the first aspect.
  • an embodiment of the present application provides a chip system, the chip system includes: a processor and an interface, the processor is used to call and execute a computer program from the interface, when the processor executes the computer program , the method described in the first aspect or any possible design of the first aspect may be implemented.
  • the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium has a computer for executing the method described in the above-mentioned first aspect or any possible design of the first aspect program.
  • the embodiment of the present application also provides a computer program product, including a computer program, when the computer program is executed, it can realize the above-mentioned first aspect or any possible design of the first aspect. method.
  • FIG. 1 is a schematic diagram of the connection between a processor and a memory chip in an electronic device provided by an embodiment of the present application;
  • Fig. 2 is the DQ schematic diagram that the embodiment of the present application provides
  • FIG. 3 is one of the relative timing diagrams of DQ and DQS provided by the embodiment of the present application.
  • FIG. 4 is the second schematic diagram of the relative timing of DQ and DQS provided by the embodiment of the present application.
  • Figure 5 is a conceptual diagram of the automatic rotation victim-aggressor pattern provided by the embodiment of the present application.
  • Fig. 6 provides the schematic diagram of memory chip test pattern excitation mode for the embodiment of the present application.
  • FIG. 7 is one of the schematic structural diagrams of electronic equipment provided by the embodiment of the present application.
  • Fig. 8 is the second schematic diagram of the structure of the electronic device provided by the embodiment of the present application.
  • FIG. 9 is a schematic diagram of a test method for a memory chip provided in an embodiment of the present application.
  • FIG. 10 is a schematic diagram of the level change of DQ interference provided by the embodiment of the present application.
  • FIG. 11 is a schematic diagram of the first binary sequence and the second binary sequence provided by the embodiment of the present application.
  • FIG. 12 is a schematic diagram of transition processing in a coding unit provided by an embodiment of the present application.
  • Fig. 13 is the schematic diagram that produces PRBS 7 that the embodiment of the present application provides;
  • FIG. 14 is a schematic diagram of generating a VMRQ-PRBS provided by an embodiment of the present application.
  • FIG. 15 is a schematic diagram of determining the value range of the DQS phase adjustment amplitude provided by the embodiment of the present application.
  • FIG. 16 is a schematic diagram of the memory training algorithm provided by the embodiment of the present application.
  • Figure 17 is one of the schematic diagrams of the simulation results provided by the embodiment of the present application.
  • Figure 18 is the second schematic diagram of the simulation results provided by the embodiment of the present application.
  • Figure 19 is the third schematic diagram of the simulation results provided by the embodiment of the present application.
  • FIG. 20 is a schematic diagram of an initialization device for a memory chip provided by an embodiment of the present application.
  • the memory chip is the basis for the processor to perform calculations, and is used to temporarily store calculation data in the processor.
  • the processor and the memory chip can be connected through a memory bus.
  • the memory bus may include data signal lines and timing signal lines.
  • the data signal line can transmit the data signal (data signal), and DQ is used to represent the data signal in this application, wherein, DQ is a double data rate synchronous dynamic random access memory (DDR SDRAM) protocol, also known as DDR protocol, the abbreviation of the data signal defined in it, and the timing signal line can transmit the data strobe signal (data strobe signal).
  • DQS is used to represent the data strobe signal.
  • DQS is defined in the DDR protocol
  • the abbreviation of the data strobe pulse signal, DQ and DQS are both periodic signals, and the two generally have the same cycle length.
  • FIG. 1 it is a schematic diagram of the connection between the processor and the memory chip in an electronic device provided by the embodiment of the present application through a memory bus, wherein the memory bus may include N data signal lines and M timing signal lines, N , M is an integer greater than or equal to 2.
  • the memory bus includes a total of 8 data signal lines from data signal line DQ0 to data signal line DQ7, and a total of 2 timing signal lines from timing signal line DQS0 to timing signal line DQS1 Take this as an example.
  • jumping refers to the change of two adjacent bit values in a binary sequence, such as the change of two adjacent bit values from 0 to 1 or from 1 to 0.
  • the comparison of the same direction jump and the reverse jump is whether the direction of the two jumps from the same bit position in the two binary sequences is the same direction or the same direction, and the same direction means that the two jumps are from 0 to
  • the change of 1 or both changes from 1 to 0, and the reverse means that one of the two jumps changes from 0 to 1, and the other jump changes from 1 to 0.
  • the value of the 1st bit and the 2nd bit in the first binary sequence are “10" and the value of the 1st bit and the 2nd bit in the second binary sequence are "10", the transition between the first bit and the second bit in the first binary sequence "10” and the transition between the first bit and the second bit in the second binary sequence” 10" is jumping in the same direction.
  • the value of the 5th bit and the 6th bit in the first binary sequence are “10”
  • the value of the 5th bit and the 6th bit in the second binary sequence If it is "01" then the transition "10" between the 5th bit and the 6th bit in the first binary sequence and the transition between the 5th bit and the 6th bit in the second binary sequence "01" is the reverse jump.
  • Jumping can also refer to the high-low change (or conversion) of the level (that is, voltage) in the data signal, including changing from high level (carrying "1") to low level (carrying "0"), and changing from low level to low level (carrying "0"). Low level (carrying "0”) changes to high level (carrying "1”).
  • inter symbol interference refers to the interference of the same signal due to the overlapping of multipath propagation at the receiving end, and can also be called inter symbol interference. Usually caused by signal transmission multipath and fading and distortion.
  • Crosstalk is noise caused by coupling between two data signal lines, mutual inductance and mutual capacitance between data signal lines. It is an undesired amount of energy produced by the coupling of one data signal to another data signal, which can lead to data loss and transmission errors.
  • the pressure of the binary sequence can also be called the pattern pressure.
  • the pressure of the binary sequence can be understood as when the memory chip is tested using the binary sequence, the binary sequence stimulates the transmission between the processor and the memory chip.
  • the ability of crosstalk and/or intersymbol interference of the data signal the greater the pressure of the binary sequence, the stronger the ability to stimulate crosstalk and/or intersymbol interference.
  • the ability to stimulate inter-symbol interference is mainly related to the maximum length of contiguous identical digits (CID) that can appear in the binary sequence carried by the data signal, that is, the maximum number of continuous 1s and 0s that can appear.
  • CID contiguous identical digits
  • the processor in the electronic device can not only read data from the memory chip, but also write data to the memory chip.
  • the processor can pass the data signal line DQ0 -The data signal line DQ7 sends DQ to the memory chip, and sends DQS to the memory chip through the timing signal line DQS0 and timing signal line DQS1, where DQ can carry the data that the processor wants to write into the memory chip, and DQS can trigger the memory chip to identify the above DQ level state, and then the data carried in DQ can be written into the memory chip.
  • the data signal line DQ0-data signal line DQ7 can transmit 8 DQs in parallel.
  • the data signal line DQ0 can transmit DQ0
  • the data signal line DQ1 can transmit DQ1, . . .
  • the data signal line DQ7 can transmit DQ7.
  • the timing signal line DQS0 can transmit DQS0
  • the timing signal line DQS1 can transmit DQS1.
  • DQ0-DQ7 can be periodic signals, and different data can be carried by controlling the level in the cycle, so as to realize data transmission.
  • DQ can be any DQ in DQ0-DQ7
  • DQ can transmit 1 bit (bit) data in one cycle
  • DQ can transmit 1 bit data "1"
  • DQ if DQ is low level in one cycle, 1 bit data "0" can be transmitted.
  • the levels of the DQ carrying 1010001 are high, low, high, low, low, low, high in sequence during the 7 cycles of transmitting 1010001, and are used to transmit 7-bit data "1010001".
  • DQS (can be any DQS in DQS0-DQS1) is usually a data strobe signal with the same period length as DQ, which is used to trigger the memory chip to identify the level state of DQ, and then write the data carried in DQ memory chips.
  • the timing signal line DQS0 can transmit DQS0
  • the timing signal line DQS1 can transmit DQS1, wherein DQS0 and DQS1 are anti-phase signals (that is, in the same cycle, one of DQS0 and DQS1 is high level, and the other is Low level)
  • the intersection point between DQS0 and DQS1 can be used as a trigger point to trigger the memory chip to recognize the level state of DQ.
  • DQS is used to refer to DQS0 and DQS1 in the embodiment of the present application.
  • the memory chip identifies whether the level state of DQ is high or low relative to the reference level, where the reference level is configured by the processor and can be used to identify the level of DQ status level. Wherein, if at the trigger point of identifying the level state of DQ, the level of DQ is greater than or equal to the reference level, then the memory chip determines that the level of DQ is a high level; if at the trigger point of identifying the level state of DQ, If the level of DQ is lower than the reference level, the memory chip determines that the level of DQ is a low level.
  • the relative delay between DQS and DQ can be adjusted by the DQS phase adjustment range (that is, the transmission delay of DQS).
  • the DQS phase adjustment range that is, the transmission delay of DQS.
  • the processor usually needs to test the memory chip, such as performing a write (write)/read (read) test, to obtain the best initialization parameters (such as DQS phase adjustment range and/or reference voltage) High-speed data transmission with the memory chip can only be performed after the value is referenced.
  • the value of the initialization parameter is usually constantly adjusted to test whether the data signal in the data signal line can be accurately transmitted under different values, and then determine the value range of the initialization parameter that can enable the accurate transmission of the data signal, and According to the value range of the initialization parameter, an optimal value is selected from the value range of the initialization parameter as a reference value for data transmission between the processor and the memory chip.
  • the write/read test of the memory chip mainly includes the following schemes:
  • victim-aggressor aggressor
  • victim-aggressor algorithm has two main features: (1) using two different pseudo-random binary sequences (pseudo-random binary sequence, PRBS), a PRBS As the victim line pattern used by the victim, one PRBS is used as the aggressor's aggressor line pattern, and the two PRBS are completely random.
  • PRBS pseudo-random binary sequence
  • PRBS pseudo-random binary sequence
  • PRBS pseudo-random binary sequence
  • PRBS pseudo-random binary sequence
  • PRBS pseudo-random binary sequence
  • PRBS pseudo-random binary sequence
  • PRBS pseudo-random binary sequence
  • the role of different data signal lines will change over time, such as data signal Line 1 will take on the role of aggressor, aggressor, aggressor and victim in turn as time changes.
  • the data signal line to be tested between the processor and the memory chip acts as a victim to transmit the data signal carrying the pattern of the victim line
  • the other data signal lines act as the role of the aggressor to transmit the pattern of the pattern of the victim line.
  • the data signal trying to introduce stronger ISI and crosstalk.
  • the existing victim-aggressor algorithm uses two completely random PRBSs for the victim line pattern and the aggressor line pattern, which cannot bring sufficient crosstalk to the data signal carrying the victim line pattern.
  • Scheme 2 is similar to the above scheme, the difference is that scheme 2 adopts two PRBS15 (that is, PRBS with an order of 15) as the victim line pattern and the offending line pattern respectively, and the PRBS15 adopted by the offending line pattern is The first PRBS15 and the PRBS15 adopted by the code pattern of the victim line is the second PRBS15 as an example.
  • the first PRBS15 can adopt a completely random PRBS15
  • the second PRBS15 is the first PRBS15 that is reversed, wherein the negative of the first PRBS15 refers to the negative of the value "1" or "0" of the bit in the first PRBS15, wherein "1" and "0” are mutually opposite values.
  • the inverted first PRBS 15 is "101...01".
  • each rectangle represents a data signal transmission of the data signal line
  • the rectangle filled with black represents the data signal carrying the first PRBS15
  • the rectangle without black filling represents the data signal carrying the second PRBS15.
  • the tested data signal line between the processor and the memory chip transmits the data signal carrying the second PRB15, and other data signal lines transmit the data signal carrying the first PRB15 (such as the second group) -Example of group 9), it is also possible to additionally test whether the data signals in the data signal lines can be transmitted accurately by allowing the 8 data signal lines to transmit the data signals carrying the first PRB15.
  • this solution directly adopts two completely opposite PRBS15, which cannot guarantee sufficient crosstalk to the data signal carrying the victim line pattern (i.e. the second PRBS15), and the length of the PRBS15 is longer, and the test efficiency of the memory chip is relatively low. If it is low, it will lead to a longer boot time and affect the user's boot experience.
  • the present application aims to provide a test scheme of a memory chip, by adopting H jumps in the same direction with respect to the first binary sequence and having I jumps in the opposite direction with respect to the first binary sequence
  • the second binary sequence utilizes the characteristics that the second binary sequence has rich transitions in the same direction and reverse transitions compared with the first binary sequence, and fully stimulates the second transmission of at least one data signal line of the memory chip.
  • Binary sequence that is, the transmitted data signal carrying the second binary sequence
  • the first binary sequence transmitted in a certain data signal line of the memory chip that is, the transmitted data signal carrying the first binary sequence
  • the crosstalk brought by the data signal thereby improving the reliability of the reference value of the determined initialization parameter.
  • FIG. 7 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • FIG. 7 is obtained by logically dividing the electronic device shown in FIG. 1 according to software layers and hardware layers.
  • the electronic device in Fig. 7 may include a hardware layer and a software layer, wherein the software layer may include one or more application programs and an operating system, the hardware layer may include a processor, a memory chip, and a memory, and the operating system is used to manage hardware and software
  • the system software of resources, the processor and the memory chip in FIG. 7 may be the processor and the memory chip in FIG. 1 .
  • the processor is the control center of the electronic device. It uses various interfaces and buses to connect various components of the electronic device, such as connecting to the memory chip through the memory bus.
  • the specific connection between the processor and the memory chip through the memory bus can be referred to in Figure 1. Let me repeat.
  • a processor may include one or more processing units, or referred to as physical cores, for example, the processor in FIG. 7 includes core 0 and core 1 .
  • the processor may also include registers, which may be used to store reference values of initialization parameters of the memory chip and the like.
  • the processor can be a central processing unit (central processing unit, CPU), and the processor can also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application specific integrated circuits (application specific integrated circuits, ASICs), Off-the-shelf programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the memory chip (also called memory) can be DDR SDRAM, such as the 4th generation DDR (4th DDR, DDR4) SDRAM, the 5th generation DDR (5th DDR, DDR5) SDRAM, etc.
  • Dynamic random access memory low power double data rate SDRAM, LPDDR), etc., can be used to temporarily store computing data in the processor.
  • the memory chip may further include registers, which may be used to store reference values of initialization parameters of the memory chip and the like.
  • the memory may store an operating system and an application program, and may also store data generated by the operating system and the application program during operation.
  • the electronic device may further include firmware (firmware). Since firmware is a kind of software embedded in hardware, including computer instructions, it can be divided into software layers according to logical division.
  • the basic input/output system (BIOS) is a common piece of firmware that performs hardware initialization during the power-on boot phase and provides runtime services for the operating system.
  • the BIOS of the electronic device can be used to execute the computer instructions of the memory chip test method. After the electronic device is turned on, the BIOS executes the memory chip test method to test the memory chip.
  • the computer instructions in the BIOS can be stored on the motherboard of the electronic device, specifically can be stored in the read-only memory (read-only memory, ROM) chip on the motherboard, of course the BIOS can also be stored in the electronic device as shown in Figure 7.
  • the memory includes but is not limited to flash memory (flash memory), hard disk, optical disk, universal serial bus (universal serial bus, USB) disk, etc.
  • the memory and the memory chip may be the same storage medium, that is, the memory chip stores computer instructions for implementing the memory testing method.
  • the processor of the electronic device invokes the BIOS to perform hardware initialization
  • the computer instruction is invoked to execute the memory testing method provided by each embodiment of the present application to complete the memory chip test.
  • the schematic diagram of the physical structure of the electronic device may be as shown in Figure 8, including a memory, a processor, and a memory chip, and the processor, memory chip, and memory may be the processor, memory chip, and memory shown in Figure 7. Part and all of the implementation manner can refer to the corresponding description in FIG. 7 .
  • multiple refers to two or more than two.
  • “And/or” describes the association relationship of associated objects, indicating that there may be three relationships, for example, A and/or B , can mean: there is A alone, A and B exist at the same time, and B exists alone.
  • the character “/” generally indicates that the associated objects are an "or” relationship.
  • the embodiments of this application refer to ordinal numerals such as “first” and “second” to distinguish multiple objects, and are not used to limit the order, timing, priority or importance of multiple objects, and The description of "the first” and “the second” does not limit the objects to be different.
  • FIG. 9 is a schematic diagram of a method for testing a memory chip provided in an embodiment of the present application, the method comprising:
  • S901 The processor uses the first binary sequence and the second binary sequence to test the value of the initialization parameter of the memory chip.
  • one data signal line transmits the first binary sequence (that is, transmits the data signal carrying the first binary sequence), and one of the other N-1 data signal lines At least one data signal line transmits the second binary sequence (ie, transmits a data signal carrying the second binary sequence).
  • Whether the first binary sequence can be correctly written into the memory chip is related to the interference received by the data signal carrying the first binary sequence sent by the processor to the memory chip through the data signal line, as shown in Figure 10, the data
  • the signal When the signal is subject to crosstalk and/or intersymbol interference, the level of the data signal will change, which may cause the first binary sequence carried by the data signal to be incorrectly written into the memory chip.
  • the crosstalk is mainly related to the forward jump and reverse jump between the binary sequences carried by adjacent data signals.
  • the second binary sequence used has H jumps in the same direction relative to the first binary sequence and I reverse jumps relative to the first binary sequence jump, H and I are integers greater than or equal to 1; and one data signal line in the N data signal lines of the memory chip can transmit the first binary sequence, and the other N-1 data signal lines can all transmit the second binary sequence.
  • the comparison of the same direction jump and the reverse jump is whether the direction of the two jumps from the same bit position in the first binary sequence and the second binary sequence is the same direction or the same direction, and the same direction refers to These two jumps are both changes from 0 to 1 or both are changes from 1 to 0.
  • the reverse means that one of the two jumps changes from 0 to 1, and the other jumps from 0 to 1. 1 to 0 variation.
  • the second binary sequence has 3 jumps in the same direction and 3 reverse transitions relative to the first binary sequence.
  • the first binary sequence can adopt a completely random PRBS, such as a PRBS with a completely random order of 7, etc., where the PRBS with an order of 7 refers to the initial code (initial code) that generates PRBS 7 Composed of 0 and/or 1), the number of bits or the size is 7, that is, the PRBS is obtained by performing an exclusive OR operation on several initial codes and performing circular shift output.
  • the second binary sequence can be determined based on the first binary sequence.
  • the processor can reverse process one or more transitions in the first binary sequence to determine the second binary sequence.
  • the processor may randomly select one or more transitions in the first binary sequence that do not have repeated bits between each other for reverse processing, Get the second binary sequence.
  • the processor can select "10" in the first bit and the second bit in the first binary sequence, "10” in the fifth bit and the sixth bit, and "10” in the first bit and the second bit
  • the "10" of the first bit and the second bit is converted by the decoding circuit is "01"
  • the reverse processing of "10" of the 6th bit and the 6th bit obtains the second binary sequence "01110111001110000110 (only a part is shown)".
  • the decoding circuit can be any of the first bit and the second bit in the first binary sequence, "10” in the fifth bit and the sixth bit, and "10” in the first bit and the second bit
  • the processor may also divide the first binary sequence in units of 2 bits to obtain multiple coding units with no repeated bits between any two coding units, such as obtaining 10, 11, 10, 11, 00, 11, 10, 00, 01, 10 and other coding units, and reverse the coding unit corresponding to a specific jump through the decoding circuit, such as encoding the corresponding jump "10"
  • the unit is converted to "01".
  • the second binary sequence "01 11 01 11 00 11 01 00 01 01 (only part shown)" obtained after being processed by the decoding circuit.
  • the processor may also divide the first binary sequence in units of M bits, and determine that there is no repeated bit multiple encoding between any two coding units in the first binary sequence unit, mark the coding unit carrying the target coding combination among the multiple coding units as the target coding unit, and perform reverse processing on the transition in the target coding unit in the first binary sequence, and then determine the second binary sequence .
  • M is an integer greater than or equal to 2.
  • part of the 2 M coding combinations corresponding to the coding unit may be used as the target coding combination, or all of the 2 M coding combinations may be used as the target coding combination, which is not limited in this application.
  • the 2 M coding combinations can be combined Half of the coding combinations are used as target coding combinations.
  • a coding unit including M bits corresponds to 8 coding combinations, which are 000, 001, 010, 011, 100, 101, 110, and 111, respectively.
  • 100, 101, 110, 111 can be used as the target coding combination
  • the coding unit carrying 100, 101, 110, 111 can be marked as the target coding unit, and the transition in the target coding unit is reversely processed.
  • the processor can reversely process the transitions in the target coding units carrying 100, 101, 110, and 111 through the decoding circuit, and then the output of 100 after processing through the decoding circuit It can be 01X, 101, the output processed by the decoding circuit can be 010, 110, the output processed by the decoding circuit can be X01, and the output of 111 processed by the decoding circuit can be XXX, where X can be 0 or 1 .
  • the processor can also maintain the jumps in the non-target coding units carrying 000, 001, 010, and 011 unchanged, then the output of 000 processed by the decoding circuit can be XXX, and the output of 001 processed by the decoding circuit can be The output of X01 and 010 processed by the decoding circuit can be 010, and the output of 011 processed by the decoding circuit can be 01X, where X can be 0 or 1.
  • the coding combination containing X can also be set as a high-frequency coding combination (such as 010, 101, 011, etc.), so as to increase the crosstalk capability of the determined second binary sequence to the first binary sequence.
  • the decoding circuit can be set to output the input 000 as 010, the input 001 as 101, the input 010 as 010, the input 011 as 011, and the input 100 as 011. Output the input 101 as 010, output the input 110 as 001, and output the input 111 as 101.
  • the above is an example of the non-target coding units carrying 000, 001, 010, and 011 being processed by the decoding circuit.
  • the non-target coding units carrying 000, 001, 010, and 011 may not be processed by the decoding circuit, and the value of each bit in the non-target coding unit remains unchanged.
  • the first binary sequence may not be integrally divided by M, and some bits in the first binary sequence that cannot be integrally divided by M may not be processed. Still taking M as 3, the decoding circuit adopts the processing method shown in Figure 12 as an example, assuming that the first binary sequence is 101 110 110 011 100 001 10, then the obtained second binary sequence is 010 001 001 011 011 101 10, the last 2 bits of the second binary sequence are the same as the last 2 bits of the first binary sequence, and the last 2 bits of the first binary sequence are not corrected when determining the second binary sequence to process.
  • PRBS 7 (that is, a PRBS with an order of 7).
  • PRBS is generated by a linear feedback shift register (linear feedback shift register, LFSR), through a set of initial codes (for PRBS7, the initial code is 7 Bits, consisting of 0 and/or 1) are subjected to XOR operation and circularly shifted to output, and a pseudo-random binary sequence in which the ratio of the number of bits occupied by "0" and "1" is equal can be obtained.
  • LFSR linear feedback shift register
  • the first binary sequence can also use a variable mark ratio pseudo-random binary sequence (variable mark ratio quasi-PRBS, VMRQ-PRBS), that is, a 0/1 ratio variable pseudo-random binary sequence.
  • VMRQ-PRBS variable mark ratio quasi-PRBS
  • VMRQ-PRBS is a kind of PRBS with a variable ratio of the number of bits occupied by "0" and "1". It is generated by ANDing certain bits of PRBS on the basis of N-order PRBS.
  • the common ratio is 1 /8, 1/4, 3/4, and 7/8.
  • the AND operation is performed on the 2 bits in the PRBS output by the standard PRBS7 pattern generator (standard PRBS7 pattern generator), and the pseudo-random binary whose value is 1 and the number of bits occupied is 1/4 of the total number of PRBS bits can be obtained
  • Sequence that is, to obtain a VMRQ-PRBS with a proportion of 1/4; perform an AND operation on the 3 bits in the output PRBS, and obtain a pseudo-random binary sequence whose value is 1 and the number of bits is 1/8 of the total number of PRBS bits , that is, a VMRQ-PRBS with a ratio of 1 to 1/8 is obtained.
  • Inverting the VMRQ-PRBS with 1 proportions of 1/4 and 1/8 can obtain the VMRQ-PRBS with 0 proportions of 1/4 and 1/8.
  • VMRQ-PRBS7 As shown in Table 1, it is 1/4 ratio (ratio) 1 bit displacement (bit shift) VMRQ-PRBS7 (that is, VMRQ-PRBS7 with a ratio of 1/4) and PRBS 7 The longest continuous 1 number and the most Long consecutive 0 count.
  • the ability of the binary sequence to stimulate intersymbol interference is mainly related to the maximum CID length that can appear in the binary sequence.
  • VMRQ-PRBS as the first binary sequence, it can effectively stimulate the interference received by the data signal carrying the first binary sequence.
  • the inter-symbol interference makes the obtained reference value of the initialization parameter suitable for the real service transmission of the processor and the memory chip. It is also beneficial to shorten the length of the first binary sequence while ensuring the reliability of the obtained reference value of the initialization parameter, thereby improving the test efficiency of the memory chip.
  • the following takes the write test of the memory chip using the first binary sequence and the second binary sequence as an example, and introduces how to use the first binary sequence and the second binary sequence to set the value of the initialization parameter of the memory chip carry out testing.
  • the processor can send DQ0 carrying the first binary sequence to the memory chip through the data signal line DQ0, send DQ1-DQ7 carrying the second binary sequence to the memory chip through the data signal line DQ1-data signal line DQ7, and pass The timing signal line DQS0 and the timing signal line DQS1 send DQS to the memory chip.
  • the processor gradually reduces the DQS The value of the phase adjustment amplitude is reached until the first binary sequence carried by DQ0 cannot be correctly written into the memory chip.
  • the relative timing position between the trigger point for identifying the level state of DQ and DQ0 determined according to DQS may be as shown in B in FIG. 15 .
  • the processor gradually increases the value of the DQS phase adjustment range until the first binary sequence carried by DQ0 cannot be correctly written into the memory again. chip.
  • the relative timing position between the trigger point for identifying the level state of DQ and DQ0 determined according to DQS may be shown as C in FIG. 15 .
  • the processor can obtain the value range of the DQS phase adjustment range from P1 to P2 .
  • the processor can gradually reduce the value of the reference level until the first binary sequence carried by DQ0 cannot be written correctly. memory chips. At this time, it is assumed that the value of the reference level is Q1.
  • the processor gradually increases the value of the reference level until the first binary sequence carried by DQ0 cannot be correctly written into the memory chip again. .
  • the processor obtains that the value range of the reference level is Q1 to Q2.
  • S902 The processor determines a reference value of the initialization parameter according to the value range of the initialization parameter obtained through testing.
  • the trigger point for identifying the DQ state determined by the memory chip based on DQS may deviate from the ideal trigger point for identifying the DQ state.
  • the trigger point for identifying the DQ state is earlier than the ideal trigger point or snooze.
  • the DQ level recognized by the memory chip may also deviate from the ideal DQ level, for example, the DQ level recognized by the memory chip may be higher or lower than the DQ level sent by the processor.
  • DQS The reference value of the phase adjustment range may be (P1+P2)/2, that is, the median of the value range of the DQS phase adjustment range, so as to have more redundancy to cope with the influence of factors such as noise.
  • the processor can also use the data signal line DQ0-data signal line DQ7
  • the group P1 and P2 with the largest difference among the corresponding groups of P1 and P2 is used to determine the reference value of the DQS phase adjustment range.
  • the reference level In order to ensure that the reference value of the determined reference level has more redundancy to deal with the influence of factors such as noise, in some embodiments, taking the value range of the reference level as an example from Q1 to Q2, the reference level The reference value of can be (Q1+Q2)/2, that is, the median of the value range of the reference level.
  • the processor can also use the data signal line DQ0-data signal line DQ7
  • the group of Q1 and Q2 with the largest difference among the corresponding groups of Q1 and Q2 is used to determine the reference value of the reference level.
  • the processor in order to improve the accuracy of the test of the memory chip, can also first determine the reference value of the DQS phase adjustment range, and then base the reference value on the basis of the reference value of the DQS phase adjustment range and the default reference level. Test the value of the level to determine the value range of the reference level, and then determine the reference value of the reference level; or first determine the reference value of the reference level, and then adjust the amplitude and reference level in the default DQS phase The DQS phase adjustment range is tested on the basis of the reference value, so as to determine the value range of the DQS phase adjustment range, and then determine the reference value of the DQS phase adjustment range.
  • S903 The processor performs data transmission with the memory chip according to the reference value.
  • the processor After obtaining the reference value of the DQS phase adjustment range and/or the reference value of the reference level by performing a write test on the memory chip, the processor writes the obtained reference value of the DQS phase adjustment range and/or the reference value of the reference level
  • the memory chip can identify the level of the data signal sent by the processor based on the reference value of the DQS phase adjustment range and/or the reference value of the reference level stored in the register, and then identify the data signal
  • the data carried by the processor enables the processor to write data to the memory chip.
  • the above mainly introduces how to determine the reference value of the DQS phase adjustment range and the reference value of the reference level from the aspect of writing the memory chip.
  • the memory chip can pass the data signal.
  • the line DQ0 to the data signal line DQ7 sends DQ to the processor, and sends DQS to the processor through the timing signal line DQS0 and the timing signal line DQS1, wherein the DQ can carry the data to be read by the processor.
  • How to determine the reference value of the DQS phase adjustment range and the reference value of the reference level when performing a read test on a memory chip can refer to How to determine the reference value and reference value of the DQS phase adjustment range when performing a write test on a memory chip The realization of the reference value of the level will not be repeated here.
  • the processor After obtaining the reference value of the DQS phase adjustment range and/or the reference value of the reference level by performing a read test on the memory chip, the processor will obtain the reference value of the DQS phase adjustment range and/or the reference value of the reference level The value is written into the register of the processor, and the processor can identify the level of the data signal sent by the memory chip based on the reference value of the DQS phase adjustment range and/or the reference value of the reference level stored in the register, and then identify The data carried by the data signal enables the processor to read data from the memory chip.
  • the memory chip testing method of the present application can be used in the training or testing scenarios of the memory chip.
  • Binary sequence to stimulate the DQ victim line eye diagram, and then use a certain algorithm to find the center point of the inner contour through the inner contour of the DQ victim line eye diagram, which is also the reference value of the initialization parameters of the memory chip.
  • the first binary sequence (victimized line pattern) and the second binary sequence (violated line pattern) are used to test the memory chip by the memory chip training algorithm (such as the DDR training algorithm) as For example, it mainly includes using the default reference level (default-VREF) as a reference to find the left and right boundaries of the inner contour of the eye diagram of the DQ victim line (that is, the value range of the DQS phase adjustment range), and average the left and right boundaries to determine the DQS phase adjustment The reference value of the amplitude. Based on the reference value of the DQS phase adjustment range, find the upper and lower boundaries of the eye diagram of the DQ victim line (that is, the value range of the reference voltage), and average the upper and lower boundaries to determine the reference value of the reference voltage.
  • the default-VREF default reference level
  • the victim line pattern (the first binary sequence) of this application adopts VMRQ-PRBS11 (that is, the VMRQ-PRBS whose order is 11), the above-mentioned first scheme and the first Two kinds of schemes all adopt PRBS15 (that is, the PRBS that the order is 15) as an example, wherein the pattern length required by the second scheme is 9*32767 bits; the pattern length required by this application is 8*4094 bits (requires 8 DQ transmits the victim line code pattern respectively); The code pattern length of the present application is 1/9 of the second scheme.
  • the device may include corresponding hardware structures and/or software modules for performing various functions.
  • the present application can be implemented in the form of hardware or a combination of hardware and computer software in combination with the units and algorithm steps of each example described in the embodiments disclosed herein. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
  • FIG. 20 shows a possible exemplary block diagram of the memory chip initialization device involved in the embodiment of the present application.
  • the memory chip initialization device 2000 may exist in the form of a software module or a hardware module.
  • the memory chip initialization apparatus 2000 may include: an initialization testing unit 2001 , a determination unit 2002 and a transmission unit 2003 .
  • the apparatus may exist in the form of a software module, and the firmware of the electronic device as shown in FIG. 7 includes a software module for implementing the software module.
  • the computer instructions of the software module may be stored in a storage medium, such as the memory in FIG. 7 or the storage space inside the memory chip in FIG. 7 .
  • firmware such as BIOS
  • the processor will call the stored computer instructions for realizing the functions of each software module of the device, use the first binary sequence and the second binary sequence to test the memory chip, and finally obtain the memory chip
  • the processor can configure the registers in the memory chip or the registers in the processor according to the obtained reference value, so as to realize a more reliable test of the memory chip and make the direct data transmission between the processor and the memory chip more efficient. reliable.
  • the initialization testing unit 2001 is configured to use the first binary sequence and the second binary sequence to test the value of the initialization parameter of the memory chip, wherein the second binary sequence
  • the binary sequence has H jumps in the same direction relative to the first binary sequence and 1 reverse jumps relative to the first binary sequence, and the N data signal lines of the memory chip
  • One of the data signal lines transmits the first binary sequence
  • at least one data signal line in the other N-1 data signal lines transmits the second binary sequence, wherein the jump becomes two adjacent binary sequences in a binary sequence Changes in bit values
  • the N is an integer greater than or equal to 2
  • the H and the I are integers greater than or equal to 1;
  • the determining unit 2002 is configured to determine a reference value of the initialization parameter according to the value range of the initialization parameter obtained by testing;
  • the transmission unit 2003 is configured to perform data transmission with the memory chip according to the reference value.
  • the first binary sequence is a pseudo-random binary sequence with a variable marking ratio.
  • the determining unit 2002 is further configured to reversely process one or more transitions in the first binary sequence to determine the second binary sequence.
  • the determining unit 2002 is further configured to divide the first binary sequence in units of M bits, and determine multiple codes in the first binary sequence unit, wherein there is no repeated bit between any two coding units in the plurality of coding units, and the M is an integer greater than or equal to 2; mark the coding unit carrying the target coding combination in the plurality of coding units is the target coding unit, wherein the target coding combination is one or more of the 2 M coding combinations corresponding to the coding unit; the jump in the target coding unit in the first binary sequence is reversed For processing, the second binary sequence is determined.
  • half of the 2 M coding combinations are the target coding combinations.
  • the initialization parameters include at least one of the following: a reference level, and a phase adjustment amplitude of the data strobe signal DQS.
  • a computer-readable storage medium on which a computer program (or instruction) is stored, and when the computer program runs on an electronic device, the electronic device can execute the method described in the above-mentioned embodiment.
  • the test method of the memory chip may be a memory in an electronic device, and the BIOS stored in the memory stores a computer program for implementing a test method for a memory chip, and the processor in the electronic device may Scheduling and running the computer program to implement the memory chip testing method in the above method embodiment.
  • a computer program product includes a computer program for implementing a memory chip testing method.
  • the computer program When executed, it can implement the method in the above-mentioned embodiment.
  • the test method of the memory chip As an example: as shown in FIG. 8, the computer program product may be written into the memory of the electronic device (or in the BIOS), and the processor in the electronic device may schedule and run the computer program included in the computer program product, The method for testing the memory chip in the above method embodiment is realized.
  • a chip system includes: a processor and an interface, and the processor is used to call and execute a computer program for implementing a test method of a memory chip from the interface , when the processor executes the computer program, the memory chip testing method in the above method embodiment is realized.
  • the interface can be an interface circuit, as shown in Figure 8, the processor can call and execute the computer program stored in the memory for implementing the test method of the memory chip through the interface circuit connecting the processor and the memory , implementing the method for testing the memory chip in the above method embodiment.
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions
  • the device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The present application relates to the technical field of chips. Disclosed are a method and apparatus for testing a memory chip, which method and apparatus are used for improving the reliability of a determined value of an initialization parameter. The method comprises: testing a value of an initialization parameter of a memory chip by using a first binary sequence and a second binary sequence, wherein the second binary sequence has H forward jumps relative to the first binary sequence and I backward jumps relative to the first binary sequence, one of N data signal lines of the memory chip transmits the first binary sequence, and at least one of the other (N-1) data signal lines transmits the second binary sequence, and H and I are integers greater than or equal to 1; determining a reference value of the initialization parameter according to a value range of the initialization parameter that is obtained by means of testing; and performing data transmission with the memory chip according to the reference value.

Description

一种内存芯片的测试方法及装置Method and device for testing a memory chip
相关申请的交叉引用Cross References to Related Applications
本申请要求在2021年05月31日提交中国专利局、申请号为202110601640.8、申请名称为“一种内存芯片的测试方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application submitted to the China Patent Office on May 31, 2021, with the application number 202110601640.8 and the application name "A Method and Device for Testing Memory Chips", the entire contents of which are incorporated herein by reference. Applying.
技术领域technical field
本申请实施例涉及芯片技术领域,尤其涉及一种内存芯片的测试方法及装置。The embodiments of the present application relate to the field of chip technology, and in particular, to a method and device for testing a memory chip.
背景技术Background technique
在目前的电子设备中,大多集成有处理器和内存芯片。其中,内存芯片是处理器进行运算的基础,用于暂时存放处理器中的运算数据。内存芯片在电子设备开机后需要经过初始化过程,先对内存芯片进行测试,得到内存芯片的初始化参数最佳的参考取值后,才能正常的进行高速数据传输。例如:得到用于判断处理器和内存芯片间传输的数据信号的电平是高还是低,从而判断传输的数据信号承载的是“1”还是“0”的基准电平的参考取值后,才能正常的进行高速数据传输。Most of the current electronic devices are integrated with processors and memory chips. Wherein, the memory chip is the basis for the processor to perform calculations, and is used to temporarily store calculation data in the processor. The memory chip needs to go through the initialization process after the electronic device is turned on. The memory chip is first tested to obtain the best reference value of the initialization parameters of the memory chip before normal high-speed data transmission can be performed. For example: after obtaining the reference value for judging whether the level of the data signal transmitted between the processor and the memory chip is high or low, thereby judging whether the transmitted data signal carries a reference level of "1" or "0", In order to perform normal high-speed data transmission.
测试过程中选用的二进制序列直接影响得到的初始化参数的参考取值的结果。选用的二进制序列越能激发出数据信号的串扰(crosstalk)和符号间干扰(inter symbol interference,ISI),得到的结果就更合适。同时选用的二进制序列越短,对内存芯片进行测试的时间就越短,开机体验对用户就更友好。其中,在对内存芯片的测试过程中会用到两个二进制序列,一个二进制序列作为受害线码型,另一个二进制序列作为侵害线码型,内存芯片的N条数据信号线中一条数据信号线传输承载受害线码型的数据信号,其它N-1条数据信号线传输承载侵害线码型的数据信号,ISI主要由受害线码型决定,crosstalk主要由受害线码型周边的侵害线码型决定。但简单二进制序列(如0101、0011等)无法有效的激发数据信号的ISI和crosstalk。The binary sequence selected during the test directly affects the result of the obtained reference value of the initialization parameter. The more the selected binary sequence can stimulate the crosstalk (crosstalk) and intersymbol interference (inter symbol interference, ISI) of the data signal, the more appropriate the result will be. At the same time, the shorter the binary sequence selected, the shorter the time to test the memory chip, and the more user-friendly the boot experience. Among them, two binary sequences are used in the test process of the memory chip, one binary sequence is used as the victim line pattern, the other binary sequence is used as the offending line pattern, and one of the N data signal lines of the memory chip is a data signal line The data signal carrying the pattern of the victim line is transmitted, and the other N-1 data signal lines transmit the data signal carrying the pattern of the offending line. ISI is mainly determined by the pattern of the victim line, and crosstalk is mainly determined by the pattern of the offending line around the pattern of the victim line. Decide. But simple binary sequences (such as 0101, 0011, etc.) cannot effectively stimulate the ISI and crosstalk of the data signal.
为了激发数据信号的ISI和crosstalk,伪随机二进制序列(pseudorandom binary sequence,PRBS)已广泛用于对内存芯片的测试过程中,一个PRBS作为受害线码型,另一个PRBS作为侵害线码型,PRBS的特点是阶数为N的PRBS可以遍历2 N-1种编码组合,可以出现最长N个连续的1,N-1个连续的0,各频率成分很丰富,能有效的激发数据信号的ISI和crosstalk。然而,采用两个不同的PRBS,一个PRBS作为受害线码型,另一个PRBS作为侵害线码型,并不能很好的激发出数据信号的crosstalk,会影响得到的初始化参数的参考取值的可靠性。 In order to stimulate the ISI and crosstalk of the data signal, the pseudorandom binary sequence (PRBS) has been widely used in the testing process of the memory chip, one PRBS is used as the victim line pattern, and the other PRBS is used as the violation line pattern, PRBS The characteristic is that PRBS with an order of N can traverse 2 N -1 kinds of coding combinations, and the longest N consecutive 1s and N-1 consecutive 0s can appear. Each frequency component is very rich, which can effectively stimulate the data signal. ISI and crosstalk. However, using two different PRBS, one PRBS as the victim line pattern and the other PRBS as the offending line pattern, does not stimulate the crosstalk of the data signal very well, which will affect the reliability of the obtained reference value of the initialization parameters. sex.
发明内容Contents of the invention
本申请实施例提供一种内存芯片的测试方法及装置,用以提高确定的初始化参数的参考取值的可靠性。Embodiments of the present application provide a memory chip testing method and device, which are used to improve the reliability of reference values of determined initialization parameters.
第一方面,本申请实施例提供一种内存芯片的测试方法,该方法可由智能手机、平板 电脑、智能摄像机、自动驾驶车辆、个人计算机等电子设备执行,该方法包括:采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线中至少一条数据信号线传输所述第二二进制序列,所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;根据所述参考取值与所述内存芯片进行数据传输。也就是说,内存芯片的N条数据信号线中一条或多条数据信号线传输第一二进制序列,N条数据信号线中除用于传输第一二进制序列的数据信号线之外的剩余的数据信号线中的一条或多条数据信号线传输第二二进制序列。内存芯片的N条数据信号线中两条或大于两条的数据信号线,其中至少一条用于传输第一二进制序列,剩下的数据信号线中至少一条用于传输第二二进制序列。In the first aspect, the embodiment of the present application provides a method for testing a memory chip, which can be performed by electronic devices such as smart phones, tablet computers, smart cameras, self-driving vehicles, and personal computers. The method includes: using the first binary The sequence and the second binary sequence test the value of the initialization parameter of the memory chip, wherein the second binary sequence has H jumps in the same direction and I with respect to the first binary sequence With respect to the reverse jump of the first binary sequence, one of the N data signal lines of the memory chip transmits the first binary sequence, and one of the other N-1 data signal lines At least one data signal line transmits the second binary sequence, the N is an integer greater than or equal to 2, the H and the I are integers greater than or equal to 1; the initialization parameters obtained according to the test The value range is to determine the reference value of the initialization parameter; perform data transmission with the memory chip according to the reference value. That is to say, one or more of the N data signal lines of the memory chip transmits the first binary sequence, and among the N data signal lines, except for the data signal line used to transmit the first binary sequence One or more of the remaining data signal lines transmit the second binary sequence. Two or more data signal lines among the N data signal lines of the memory chip, at least one of which is used to transmit the first binary sequence, and at least one of the remaining data signal lines is used to transmit the second binary sequence sequence.
在本申请实施例中,跳变为一个二进制序列中相邻两比特值的变换,如一个二进制序列中相邻两比特(如第1个比特和第2个比特)值由0到1的变化或由1到0的变化。同向跳变和反向跳变比较的是来自第一二进制序列和来自第二二进制序列中相同比特位置的两个跳变的方向是同向还是反向,同向是指这两个跳变均为由1到0的变化或者均为由0到1的变化,反向是指这两个跳变中的一个跳变为由0到1的变化、另一个跳变为由1到0的变化。In the embodiment of this application, the jump is the conversion of two adjacent bits in a binary sequence, such as the change of the values of two adjacent bits (such as the first bit and the second bit) in a binary sequence from 0 to 1 Or change from 1 to 0. The comparison of the same direction jump and the reverse jump is whether the direction of the two jumps from the same bit position in the first binary sequence and the second binary sequence is the same direction or the reverse direction, and the same direction refers to this Both jumps are from 1 to 0 or both are from 0 to 1. Reverse means that one of the two jumps changes from 0 to 1, and the other jumps from 0 to 1. 1 to 0 variation.
由于数据信号间耦合作用,一个数据信号上的电平变化会导致另一数据信号也产生类似的电平变化,给另一数据信号带来串扰,影响另一数据信号的传输。在本申请实施例中,在进行内存芯片的测试时,由于第二二进制序列相对于第一二进制序列具有丰富的同向跳变和反向跳变,数据信号线中传输的承载第二二进制序列的数据信号,相对于数据信号线中传输的承载第一二进制序列的数据信号具有多个传输时刻相同的同向电平变化(如某一传输时刻数据信号均由高电平(承载“1”)变化为低电平(承载“0”)),以及多个传输时刻相同的反向电平变化(如某一传输时刻一个数据信号为高电平(承载“1”)变化为低电平(承载“0”),另一个数据信号为低电平(承载“0”)变化为高电平(承载“1”)),会给承载第二二进制序列的数据信号带来同向电平变化和反向电平变化的干扰,进而给承载第二二进制序列的数据信号带来较强的串扰,从而提高确定的初始化参数的参考取值的可靠性。Due to the coupling effect between data signals, a level change on one data signal will cause a similar level change on another data signal, which will bring crosstalk to another data signal and affect the transmission of another data signal. In the embodiment of the present application, when testing the memory chip, since the second binary sequence has rich transitions in the same direction and reverse transitions compared with the first binary sequence, the carrying capacity transmitted in the data signal line Compared with the data signal carrying the first binary sequence transmitted in the data signal line, the data signal of the second binary sequence has the same level change in the same direction at multiple transmission moments (for example, the data signals at a certain transmission moment are all changed by High level (carrying "1") changes to low level (carrying "0")), and the same reverse level change at multiple transmission moments (such as a data signal at a certain transmission moment is high level (carrying "0")) 1") changes to low level (carrying "0"), another data signal is low level (carrying "0") and changes to high level (carrying "1")), which will give the second binary signal The data signal of the sequence brings the interference of the same direction level change and the reverse level change, and then brings strong crosstalk to the data signal carrying the second binary sequence, thereby improving the reference value of the determined initialization parameter. reliability.
在一种可能的设计中,所述初始化参数包括基准电平、数据选通脉冲信号(data strobe signal,DQS)相位调节幅度等中的一项或多项。In a possible design, the initialization parameters include one or more of a reference level, a data strobe signal (data strobe signal, DQS) phase adjustment amplitude, and the like.
其中,基准电平是在数据传输过程中内存芯片或处理器识别数据信号电平状态的电平,具体的,在识别数据信号的电平状态时,如果数据信号的电平大于或等于基准电平,则为高电平,数据信号的电平小于基准电平,则数据信号的电平为低电平;DQS相位调节幅度表示的是DQS的传输时延,而DQS为触发数据传输过程中内存芯片或处理器识别数据信号电平状态的信号,通过改变DQS相位调节幅度的取值,可以调节DQS触发内存芯片或处理器识别数据信号电平状态的时刻。Wherein, the reference level is the level at which the memory chip or the processor recognizes the state of the data signal level during data transmission. Specifically, when identifying the level state of the data signal, if the level of the data signal is greater than or equal to the reference level level, it is high level, the level of the data signal is lower than the reference level, then the level of the data signal is low level; DQS phase adjustment range indicates the transmission delay of DQS, and DQS is the trigger data transmission process The memory chip or processor recognizes the signal of the data signal level state. By changing the value of the DQS phase adjustment range, the moment when DQS triggers the memory chip or processor to recognize the data signal level state can be adjusted.
在一种可能的设计中,所述第一二进制序列为可变标记比率伪随机二进制序列。In a possible design, the first binary sequence is a pseudo-random binary sequence with a variable marking ratio.
数据信号的电平越具有随机性,数据信号间各个电平间产生的干扰越强,数据信号受到的符号间干扰越强,而可变标记比率伪随机二进制序列是在不可变标记比率伪随机二进制序列的基础上进行与运算产生的,相对于不可变标记比率伪随机二进制序列更具有随机 性,序列中可以出现的连续相同值“0或1”的比特数量更多。上述设计中,采用可变标记比率伪随机二进制序列作为第一二进制序列,可以使得承载第一二进制序列的数据信号的电平(承载“1”的高电平和承载“0”的低电平)更具有随机性,带来更强的符号间干扰,从而提高确定的初始化参数的参考取值的可靠性。同时,也可以在保障确定的初始化参数的参考取值的可靠性下,缩短第一二进制序列的长度,从而提高内存芯片的测试效率,提高用户的开机体验。The more random the level of the data signal, the stronger the interference between the various levels of the data signal, the stronger the inter-symbol interference received by the data signal, and the variable mark ratio pseudo-random binary sequence is pseudo-random in the immutable mark ratio The AND operation based on the binary sequence is more random than the immutable tag ratio pseudo-random binary sequence, and the number of consecutive bits with the same value "0 or 1" that can appear in the sequence is more. In the above design, the pseudo-random binary sequence with variable marking ratio is used as the first binary sequence, which can make the level of the data signal carrying the first binary sequence (the high level carrying "1" and the high level carrying "0") Low level) is more random, which brings stronger inter-symbol interference, thereby improving the reliability of the reference value of the determined initialization parameter. At the same time, the length of the first binary sequence can also be shortened while ensuring the reliability of the reference value of the determined initialization parameter, thereby improving the testing efficiency of the memory chip and improving the user's booting experience.
在一种可能的设计中,通过以下方式确定所述第二二进制序列:对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。In a possible design, the second binary sequence is determined by performing reverse processing on one or more jumps in the first binary sequence to determine the second binary sequence sequence.
上述设计中,可以通过对第一二进制序列中的一个或多个跳变进行反向处理,如将第一二进制序列中相邻两比特的10变换为01,或将相邻两比特的01变换为10,快速得到第二二进制序列,有利于提高内存芯片的测试效率。In the above design, one or more jumps in the first binary sequence can be reversed, such as converting two adjacent 10s in the first binary sequence to 01, or converting two adjacent The bit 01 is transformed into 10, and the second binary sequence is quickly obtained, which is beneficial to improving the test efficiency of the memory chip.
在一种可能的设计中,通过以下方式确定所述第二二进制序列:以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2 M种编码组合中的一种或多种;将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。 In a possible design, the second binary sequence is determined in the following manner: the first binary sequence is divided in units of M bits, and in the first binary sequence Determine a plurality of coding units, wherein there is no repeated bit between any two coding units in the plurality of coding units, and the M is an integer greater than or equal to 2; the target coding combination carried in the plurality of coding units The coding unit of is marked as the target coding unit, wherein the target coding combination is one or more of the 2 M coding combinations corresponding to the coding unit; the target coding unit in the first binary sequence is The transition is reversed to determine the second binary sequence.
上述设计中,可以以第一二进制序列中每M个比特为编码单位进行编码,并将编码单位对应的2 M种编码组合中的一种或多种作为目标编码组合,将携带目标编码组合的目标编码单元中的跳变进行反向处理,确定第二二进制序列,快速得到第二二进制序列,有利于提高内存芯片的测试效率。 In the above design, each M bit in the first binary sequence can be used as the coding unit for coding, and one or more of the 2 M coding combinations corresponding to the coding unit can be used as the target coding combination, and the target coding The jumps in the combined target coding unit are reversely processed to determine the second binary sequence, and quickly obtain the second binary sequence, which is beneficial to improving the test efficiency of the memory chip.
在一种可能的设计中,所述2 M种编码组合中的一半编码组合为所述目标编码组合。 In a possible design, half of the 2 M coding combinations are the target coding combinations.
上述设计中,将2 M种编码组合中的一半编码组合作为目标编码组合,有利于均衡第二二进制序列相对于第一二进制序列的同向跳变和反向跳变的数量,充分激发同向跳变和反向跳变给承载第一二进制序列的数据信号带来的串扰,提高确定的初始化参数的参考取值的可靠性。 In the above design, half of the 2 M coding combinations are used as the target coding combination, which is conducive to balancing the number of forward jumps and reverse jumps of the second binary sequence relative to the first binary sequence, Fully stimulate the crosstalk brought by the jumps in the same direction and the reverse direction to the data signal carrying the first binary sequence, and improve the reliability of the reference value of the determined initialization parameter.
第二方面,本申请实施例提供一种内存芯片的初始化装置,该装置具有实现上述第一方面或者第一方面的任一种可能的设计中方法的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元(模块),比如包括初始化测试单元、确定单元和传输单元。In the second aspect, the embodiment of the present application provides a device for initializing a memory chip. The device has the function of realizing the above-mentioned first aspect or any possible design method of the first aspect. The function can be realized by hardware, or A corresponding software implementation may be performed by hardware. The hardware or software includes one or more units (modules) corresponding to the above functions, such as an initialization test unit, a determination unit and a transmission unit.
第三方面,本申请实施例提供一种电子设备,所述电子设备包括处理器、存储器和内存芯片,所述处理器执行所述存储器中存储的计算机程序时,通过所述内存芯片执行上述第一方面或者第一方面的任一种可能的设计中所述的方法。In a third aspect, an embodiment of the present application provides an electronic device, the electronic device includes a processor, a memory, and a memory chip, and when the processor executes the computer program stored in the memory, the memory chip executes the above-mentioned first The method described in one aspect or any possible design of the first aspect.
第四方面,本申请实施例提供一种芯片系统,所述芯片系统包括:处理器和接口,所述处理器用于从所述接口调用并执行计算机程序,当所述处理器执行所述计算机程序时,可以实现上述第一方面或者第一方面的任一种可能的设计中所述的方法。In a fourth aspect, an embodiment of the present application provides a chip system, the chip system includes: a processor and an interface, the processor is used to call and execute a computer program from the interface, when the processor executes the computer program , the method described in the first aspect or any possible design of the first aspect may be implemented.
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质具有用于执行上述第一方面或者第一方面的任一种可能的设计中所述的方法的计算机程序。In the fifth aspect, the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium has a computer for executing the method described in the above-mentioned first aspect or any possible design of the first aspect program.
第六方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,当所述计算机程序被执行时,可以实现上述第一方面或者第一方面的任一种可能的设计中所述的方法。In the sixth aspect, the embodiment of the present application also provides a computer program product, including a computer program, when the computer program is executed, it can realize the above-mentioned first aspect or any possible design of the first aspect. method.
上述第二方面至第六方面所能达到的技术效果请参照上述第一方面所能达到的技术效果,这里不再重复赘述。Please refer to the technical effects achieved by the first aspect above for the technical effects achieved by the second aspect to the sixth aspect above, and will not be repeated here.
附图说明Description of drawings
图1为本申请实施例提供的电子设备中处理器和内存芯片连接示意图;FIG. 1 is a schematic diagram of the connection between a processor and a memory chip in an electronic device provided by an embodiment of the present application;
图2为本申请实施例提供的DQ示意图;Fig. 2 is the DQ schematic diagram that the embodiment of the present application provides;
图3为本申请实施例提供的DQ和DQS相对时序示意图之一;FIG. 3 is one of the relative timing diagrams of DQ and DQS provided by the embodiment of the present application;
图4为本申请实施例提供的DQ和DQS相对时序示意图之二;FIG. 4 is the second schematic diagram of the relative timing of DQ and DQS provided by the embodiment of the present application;
图5为本申请实施例提供的自动旋转victim-aggressor pattern概念图;Figure 5 is a conceptual diagram of the automatic rotation victim-aggressor pattern provided by the embodiment of the present application;
图6为本申请实施例提供内存芯片测试码型激励方式示意图;Fig. 6 provides the schematic diagram of memory chip test pattern excitation mode for the embodiment of the present application;
图7为本申请实施例提供的电子设备结构示意图之一;FIG. 7 is one of the schematic structural diagrams of electronic equipment provided by the embodiment of the present application;
图8为本申请实施例提供的电子设备结构示意图之二;Fig. 8 is the second schematic diagram of the structure of the electronic device provided by the embodiment of the present application;
图9为本申请实施例提供的内存芯片的测试方法示意图;FIG. 9 is a schematic diagram of a test method for a memory chip provided in an embodiment of the present application;
图10为本申请实施例提供的DQ受到干扰的电平变化示意图;FIG. 10 is a schematic diagram of the level change of DQ interference provided by the embodiment of the present application;
图11为本申请实施例提供的第一二进制序列和第二二进制序列示意图;FIG. 11 is a schematic diagram of the first binary sequence and the second binary sequence provided by the embodiment of the present application;
图12为本申请实施例提供的对编码单元中的跳变处理示意图;FIG. 12 is a schematic diagram of transition processing in a coding unit provided by an embodiment of the present application;
图13为本申请实施例提供的产生PRBS 7的示意图;Fig. 13 is the schematic diagram that produces PRBS 7 that the embodiment of the present application provides;
图14为本申请实施例提供的产生VMRQ-PRBS的示意图;FIG. 14 is a schematic diagram of generating a VMRQ-PRBS provided by an embodiment of the present application;
图15为本申请实施例提供的DQS相位调节幅度的取值范围确定示意图;FIG. 15 is a schematic diagram of determining the value range of the DQS phase adjustment amplitude provided by the embodiment of the present application;
图16为本申请实施例提供的内存训练算法示意图;FIG. 16 is a schematic diagram of the memory training algorithm provided by the embodiment of the present application;
图17为本申请实施例提供的仿真结果示意图之一;Figure 17 is one of the schematic diagrams of the simulation results provided by the embodiment of the present application;
图18为本申请实施例提供的仿真结果示意图之二;Figure 18 is the second schematic diagram of the simulation results provided by the embodiment of the present application;
图19为本申请实施例提供的仿真结果示意图之三;Figure 19 is the third schematic diagram of the simulation results provided by the embodiment of the present application;
图20为本申请实施例提供的内存芯片的初始化装置示意图。FIG. 20 is a schematic diagram of an initialization device for a memory chip provided by an embodiment of the present application.
具体实施方式Detailed ways
在目前的电子设备(如智能手机、平板电脑、智能摄像机、自动驾驶车辆、个人计算机(personal computer,PC)等)中,大多集成有处理器和内存芯片。其中,内存芯片是处理器进行运算的基础,用于暂时存放处理器中的运算数据。处理器和内存芯片之间可以通过内存总线连接。其中,内存总线可包括数据信号线和时序信号线。数据信号线可以传输数据信号(data signal),在本申请中用DQ代表数据信号,其中,DQ是双倍速率同步动态随机存储(double data rate synchronous dynamic random access memory,DDR SDRAM)协议,又称DDR协议,里面定义的数据信号的简称,而时序信号线则可以传输数据选通脉冲信号(data strobe signal),在本申请中用DQS代表数据选通脉冲信号,其中,DQS是DDR协议里面定义的数据选通脉冲信号的简称,DQ和DQS皆为周期性信号,二者一般具有相同的周期长度。In current electronic devices (such as smartphones, tablet computers, smart cameras, self-driving vehicles, personal computers (PCs), etc.), most of them are integrated with processors and memory chips. Wherein, the memory chip is the basis for the processor to perform calculations, and is used to temporarily store calculation data in the processor. The processor and the memory chip can be connected through a memory bus. Wherein, the memory bus may include data signal lines and timing signal lines. The data signal line can transmit the data signal (data signal), and DQ is used to represent the data signal in this application, wherein, DQ is a double data rate synchronous dynamic random access memory (DDR SDRAM) protocol, also known as DDR protocol, the abbreviation of the data signal defined in it, and the timing signal line can transmit the data strobe signal (data strobe signal). In this application, DQS is used to represent the data strobe signal. Among them, DQS is defined in the DDR protocol The abbreviation of the data strobe pulse signal, DQ and DQS are both periodic signals, and the two generally have the same cycle length.
如图1所示,为本申请实施例提供的一种电子设备中处理器和内存芯片之间通过内存总线连接的示意图,其中内存总线可包括N条数据信号线和M条时序信号线,N、M为大于等于2的整数,在本申请实施例中以内存总线包括数据信号线DQ0-数据信号线DQ7共 8条数据信号线,时序信号线DQS0-时序信号线DQS1共2条时序信号线为例进行说明。As shown in Figure 1, it is a schematic diagram of the connection between the processor and the memory chip in an electronic device provided by the embodiment of the present application through a memory bus, wherein the memory bus may include N data signal lines and M timing signal lines, N , M is an integer greater than or equal to 2. In the embodiment of the present application, the memory bus includes a total of 8 data signal lines from data signal line DQ0 to data signal line DQ7, and a total of 2 timing signal lines from timing signal line DQS0 to timing signal line DQS1 Take this as an example.
在介绍本申请实施例之前,首先对本申请实施例中涉及的部分用语进行解释说明,以便于本领域技术人员理解。Before introducing the embodiments of the present application, some terms involved in the embodiments of the present application are firstly explained, so as to facilitate the understanding of those skilled in the art.
1)、跳变,在本申请实施例中跳变指一个二进制序列中相邻两比特值的变化,如相邻两比特值由0到1的变化或由1到0的变化。其中,同向跳变和反向跳变比较的是来自于两个二进制序列中相同比特位置的两个跳变的方向是同向还是方向,同向指这两个跳变均为由0到1的变化或者均为由1到0的变化,反向指这两个跳变中的一个跳变为由0到1的变化、另一个跳变为由1到0的变化。例如:在第一二进制序列中第1个比特的值和第2个比特的值为“10”,在第二二进制序列中第1个比特的值和第2个比特的值为“10”,则位于第一二进制序列中第1个比特和第2个比特的跳变“10”与位于第二二进制序列中第1个比特和第2个比特的跳变“10”为同向跳变。再例如:在第一二进制序列中第5个比特的值和第6个比特的值为“10”,在第二二进制序列中第5个比特的值和第6个比特的值为“01”,则位于第一二进制序列中第5个比特和第6个比特的跳变“10”与位于第二二进制序列中第5个比特和第6个比特的跳变“01”为反向跳变。另外,在承载二进制序列的数据信号中通常数据信号的高电平承载“1”,低电平承载“0”。跳变也可以指数据信号中电平(也即电压)的高低变化(或转换),包括由高电平(承载“1”)变化为低电平(承载“0”),以及由低电平(承载“0”)变化为高电平(承载“1”)。1) Jumping. In the embodiment of the present application, jumping refers to the change of two adjacent bit values in a binary sequence, such as the change of two adjacent bit values from 0 to 1 or from 1 to 0. Among them, the comparison of the same direction jump and the reverse jump is whether the direction of the two jumps from the same bit position in the two binary sequences is the same direction or the same direction, and the same direction means that the two jumps are from 0 to The change of 1 or both changes from 1 to 0, and the reverse means that one of the two jumps changes from 0 to 1, and the other jump changes from 1 to 0. For example: the value of the 1st bit and the 2nd bit in the first binary sequence are "10", and the value of the 1st bit and the 2nd bit in the second binary sequence are "10", the transition between the first bit and the second bit in the first binary sequence "10" and the transition between the first bit and the second bit in the second binary sequence" 10" is jumping in the same direction. Another example: the value of the 5th bit and the 6th bit in the first binary sequence are "10", the value of the 5th bit and the 6th bit in the second binary sequence If it is "01", then the transition "10" between the 5th bit and the 6th bit in the first binary sequence and the transition between the 5th bit and the 6th bit in the second binary sequence "01" is the reverse jump. In addition, in a data signal carrying a binary sequence, usually the high level of the data signal carries "1", and the low level carries "0". Jumping can also refer to the high-low change (or conversion) of the level (that is, voltage) in the data signal, including changing from high level (carrying "1") to low level (carrying "0"), and changing from low level to low level (carrying "0"). Low level (carrying "0") changes to high level (carrying "1").
2)、符号间干扰(inter symbol interference,ISI),是指同一信号由于多径传播在接收端的相互重叠而产生的干扰,也可以称为码间干扰。通常由信号传输多径与衰落以及失真引起。2), inter symbol interference (inter symbol interference, ISI), refers to the interference of the same signal due to the overlapping of multipath propagation at the receiving end, and can also be called inter symbol interference. Usually caused by signal transmission multipath and fading and distortion.
3)、串扰(crosstalk),串扰是两个数据信号线之间的耦合、数据信号线之间的互感和互容引起的噪声。它是一个数据信号对另外一个数据信号耦合所产生的一种不受欢迎的能量值,可能会导致数据丢失和传输错误。3) Crosstalk, crosstalk is noise caused by coupling between two data signal lines, mutual inductance and mutual capacitance between data signal lines. It is an undesired amount of energy produced by the coupling of one data signal to another data signal, which can lead to data loss and transmission errors.
4)、二进制序列的压力,也可以称码型压力,在本申请实施例中,二进制序列的压力可以理解为采用二进制序列对内存芯片进行测试时,二进制序列激发处理器和内存芯片之间传输的数据信号的串扰和/或符号间干扰的能力,二进制序列的压力越大,表示激发串扰和/或符号间干扰的能力越强。其中,激发符号间干扰的能力,主要与数据信号承载的二进制序列中可以出现的最大连续相同数字(contiguous identical digits,CID)长度有关,也即与可以出现的连续的1,连续的0的最大长度有关,CID长度越大激发符号间干扰的能力越强;激发串扰的能力,主要与相邻数据信号间承载的二进制序列间的同向跳变和反向跳变的数量有关,二进制序列间的同向跳变和反向跳变的数量越多,数据信号间产生的干扰越多,激发串扰的能力越强。4) The pressure of the binary sequence can also be called the pattern pressure. In the embodiment of the present application, the pressure of the binary sequence can be understood as when the memory chip is tested using the binary sequence, the binary sequence stimulates the transmission between the processor and the memory chip. The ability of crosstalk and/or intersymbol interference of the data signal, the greater the pressure of the binary sequence, the stronger the ability to stimulate crosstalk and/or intersymbol interference. Among them, the ability to stimulate inter-symbol interference is mainly related to the maximum length of contiguous identical digits (CID) that can appear in the binary sequence carried by the data signal, that is, the maximum number of continuous 1s and 0s that can appear. The longer the CID length, the stronger the ability to stimulate inter-symbol interference; the ability to stimulate crosstalk is mainly related to the number of forward transitions and reverse transitions between binary sequences carried between adjacent data signals. The more the number of forward transitions and reverse transitions, the more interference between data signals, and the stronger the ability to stimulate crosstalk.
电子设备中的处理器既可以从内存芯片读取数据,也可以向内存芯片写入数据,以处理器向内存芯片写入数据为例,如图1所示,处理器可以通过数据信号线DQ0-数据信号线DQ7向内存芯片发送DQ,以及通过时序信号线DQS0和时序信号线DQS1向内存芯片发送DQS,其中DQ可以承载处理器所要写入内存芯片的数据,DQS可以触发内存芯片识别上述DQ的电平状态,进而可以将DQ中承载的数据写入内存芯片。The processor in the electronic device can not only read data from the memory chip, but also write data to the memory chip. Taking the processor writing data to the memory chip as an example, as shown in Figure 1, the processor can pass the data signal line DQ0 -The data signal line DQ7 sends DQ to the memory chip, and sends DQS to the memory chip through the timing signal line DQS0 and timing signal line DQS1, where DQ can carry the data that the processor wants to write into the memory chip, and DQS can trigger the memory chip to identify the above DQ level state, and then the data carried in DQ can be written into the memory chip.
具体的,数据信号线DQ0-数据信号线DQ7可以并行传输8个DQ。例如,数据信号线DQ0可以传输DQ0,数据信号线DQ1可以传输DQ1,……,数据信号线DQ7可以传输DQ7。时序信号线DQS0可以传输DQS0,时序信号线DQS1可以传输DQS1。其中 DQ0-DQ7可以为周期性信号,通过控制周期内的电平可以承载不同数据,从而实现数据传输。如图2所示,DQ(可以为DQ0-DQ7中的任一DQ)在一个周期内可以传输1比特(bit)数据,其中如果一个周期内DQ是高电平可以传输1比特数据“1”,如果一个周期内DQ是低电平可以传输1比特数据“0”。作为一种示例,承载1010001的DQ在传输1010001的7个周期内的电平依次为高、低、高、低、低、低、高,用于传输7比特的数据“1010001”。Specifically, the data signal line DQ0-data signal line DQ7 can transmit 8 DQs in parallel. For example, the data signal line DQ0 can transmit DQ0, the data signal line DQ1 can transmit DQ1, . . . , and the data signal line DQ7 can transmit DQ7. The timing signal line DQS0 can transmit DQS0, and the timing signal line DQS1 can transmit DQS1. Among them, DQ0-DQ7 can be periodic signals, and different data can be carried by controlling the level in the cycle, so as to realize data transmission. As shown in Figure 2, DQ (can be any DQ in DQ0-DQ7) can transmit 1 bit (bit) data in one cycle, and if DQ is high level in one cycle, it can transmit 1 bit data "1" , if DQ is low level in one cycle, 1 bit data "0" can be transmitted. As an example, the levels of the DQ carrying 1010001 are high, low, high, low, low, low, high in sequence during the 7 cycles of transmitting 1010001, and are used to transmit 7-bit data "1010001".
DQS(可以为DQS0-DQS1中的任一DQS)通常为与DQ具有相同的周期长度的数据选通脉冲信号,用于触发内存芯片识别DQ的电平状态,进而将DQ中承载的数据写入内存芯片。如图3所示,时序信号线DQS0可以传输DQS0,时序信号线DQS1可以传输DQS1,其中,DQS0和DQS1为反相信号(即在同一个周期内DQS0和DQS1一个为高电平、另一个为低电平),DQS0和DQS1之间的交叉点(也即DQS0和DQS1电平相等的点)可以作为触发内存芯片识别DQ的电平状态的触发点。也就是说当内存芯片确定接收到的DQS0和DQS1处于交叉点时,也即处于DQS0和DQS1电平相等的时刻时,内存芯片可以识别当前DQ的电平状态,从而可以将DQ所承载的数据写入内存芯片,为了便于表述,本申请实施例接下来以DQS代指DQS0和DQS1。DQS (can be any DQS in DQS0-DQS1) is usually a data strobe signal with the same period length as DQ, which is used to trigger the memory chip to identify the level state of DQ, and then write the data carried in DQ memory chips. As shown in Figure 3, the timing signal line DQS0 can transmit DQS0, and the timing signal line DQS1 can transmit DQS1, wherein DQS0 and DQS1 are anti-phase signals (that is, in the same cycle, one of DQS0 and DQS1 is high level, and the other is Low level), the intersection point between DQS0 and DQS1 (that is, the point where the levels of DQS0 and DQS1 are equal) can be used as a trigger point to trigger the memory chip to recognize the level state of DQ. That is to say, when the memory chip determines that the received DQS0 and DQS1 are at the intersection point, that is, at the moment when the levels of DQS0 and DQS1 are equal, the memory chip can identify the current level state of DQ, so that the data carried by DQ can be Writing into the memory chip, for the convenience of expression, DQS is used to refer to DQS0 and DQS1 in the embodiment of the present application.
另外,在数据传输过程中,内存芯片识别DQ的电平状态是高电平还是低电平是相对基准电平而言的,其中基准电平是由处理器配置的可用于识别DQ的电平状态的电平。其中,如果在识别DQ的电平状态的触发点,DQ的电平大于或等于基准电平,则内存芯片确定DQ的电平为高电平;如果在识别DQ的电平状态的触发点,DQ的电平小于基准电平,则内存芯片确定DQ的电平为低电平。如图4所示,内存识别能否准确识别DQ的电平状态与DQS和DQ之间的相对时序(相对时延)和基准电平的取值息息相关。基准电平的取值不合理和/或DQS和DQ之间的相对时序设置不合理,会造成内存芯片在识别DQ的电平状态的触发点将DQ的高电平误识别为低电平,造成内存芯片将DQ承载的“1”误判为“0”;当然也可能造成内存芯片在识别DQ的电平状态的触发点将DQ的低电平误识别为高电平,造成内存芯片将DQ承载的“0”误判为“1”。而DQS和DQ之间的相对时延可以由DQS相位调节幅度(也即DQS的传输时延)调节,通过调节DQS相位调节幅度可以改变DQS相对于DQ的时序(也即时延)。In addition, during data transmission, the memory chip identifies whether the level state of DQ is high or low relative to the reference level, where the reference level is configured by the processor and can be used to identify the level of DQ status level. Wherein, if at the trigger point of identifying the level state of DQ, the level of DQ is greater than or equal to the reference level, then the memory chip determines that the level of DQ is a high level; if at the trigger point of identifying the level state of DQ, If the level of DQ is lower than the reference level, the memory chip determines that the level of DQ is a low level. As shown in Figure 4, whether the memory identification can accurately identify the level state of DQ is closely related to the relative timing (relative time delay) between DQS and DQ and the value of the reference level. The value of the reference level is unreasonable and/or the relative timing setting between DQS and DQ is unreasonable, which will cause the memory chip to misidentify the high level of DQ as a low level at the trigger point of identifying the level state of DQ. Cause the memory chip to misjudge the "1" carried by DQ as "0"; of course, it may also cause the memory chip to misidentify the low level of DQ as a high level at the trigger point of identifying the level state of DQ, causing the memory chip to The "0" carried by the DQ is misjudged as "1". The relative delay between DQS and DQ can be adjusted by the DQS phase adjustment range (that is, the transmission delay of DQS). By adjusting the DQS phase adjustment range, the timing (that is, delay) of DQS relative to DQ can be changed.
因此在电子设备在启动后,处理器通常需要对内存芯片的进行测试,如进行写(write)/读(read)测试,得到初始化参数(如DQS相位调节幅度和/或基准电压)最佳的参考取值后,才能与内存芯片进行高速数据传输。其中在测试时通常是不断调整初始化参数的取值,测试不同的取值下,数据信号线中的数据信号能否准确传输,进而确定能够使数据信号准确传输的初始化参数的取值范围,并根据初始化参数的取值范围,从初始化参数的取值范围中选取出一个最佳的取值作为参考取值,用于处理器和内存芯片的数据传输。Therefore, after the electronic device is started, the processor usually needs to test the memory chip, such as performing a write (write)/read (read) test, to obtain the best initialization parameters (such as DQS phase adjustment range and/or reference voltage) High-speed data transmission with the memory chip can only be performed after the value is referenced. During the test, the value of the initialization parameter is usually constantly adjusted to test whether the data signal in the data signal line can be accurately transmitted under different values, and then determine the value range of the initialization parameter that can enable the accurate transmission of the data signal, and According to the value range of the initialization parameter, an optimal value is selected from the value range of the initialization parameter as a reference value for data transmission between the processor and the memory chip.
目前对内存芯片的写/读测试主要包括以下几种方案:At present, the write/read test of the memory chip mainly includes the following schemes:
方案一:受害者(victim)-侵害者(aggressor)算法,victim-aggressor算法主要有两个特点:(1)采用两个不同的伪随机二进制序列(pseudo-random binary sequence,PRBS),一个PRBS作为victim采用的受害线码型,一个PRBS作为aggressor采用的侵害线码型,两个PRBS完全随机。(2)提供victim-aggressor模式(pattern)自动旋转功能,多条数据信号线轮流在victim角色和aggressor角色间转换。如图5所示,包括17个并行数据信号线,每个方块表示数据信号线作为的角色,如victim角色或aggressor角色,随着时间变化不同数据信号线作为的角色会发生变化,如数据信号线1随着时间变化会依次作为 aggressor角色、aggressor角色、aggressor角色和victim角色。具体在对内存芯片进行读/写测试时,处理器和内存芯片间被测试的数据信号线作为victim角色传输承载受害线码型的数据信号,其它数据信号线作为aggressor角色传输承载侵害线码型的数据信号,试图引入更强的ISI和crosstalk。然而,现有victim-aggressor算法采用的受害线码型和侵害线码型为两个完全随机的PRBS,并不能给承载受害线码型的数据信号带来足够的串扰。Scheme 1: victim (victim)-aggressor (aggressor) algorithm, victim-aggressor algorithm has two main features: (1) using two different pseudo-random binary sequences (pseudo-random binary sequence, PRBS), a PRBS As the victim line pattern used by the victim, one PRBS is used as the aggressor's aggressor line pattern, and the two PRBS are completely random. (2) Provide victim-aggressor mode (pattern) automatic rotation function, multiple data signal lines switch between victim and aggressor roles in turn. As shown in Figure 5, it includes 17 parallel data signal lines. Each square represents the role of the data signal line, such as the role of victim or the role of aggressor. The role of different data signal lines will change over time, such as data signal Line 1 will take on the role of aggressor, aggressor, aggressor and victim in turn as time changes. Specifically, when performing a read/write test on the memory chip, the data signal line to be tested between the processor and the memory chip acts as a victim to transmit the data signal carrying the pattern of the victim line, and the other data signal lines act as the role of the aggressor to transmit the pattern of the pattern of the victim line. The data signal, trying to introduce stronger ISI and crosstalk. However, the existing victim-aggressor algorithm uses two completely random PRBSs for the victim line pattern and the aggressor line pattern, which cannot bring sufficient crosstalk to the data signal carrying the victim line pattern.
方案二:方案二与上述方案一部分类似,不同的是方案二采用两个PRBS15(即阶数为15的PRBS)分别作为受害线码型和侵害线码型,以侵害线码型采用的PRBS15为第一PRBS15、受害线码型采用的PRBS15为第二PRBS15为例。其中第一PRBS15可以采用完全随机的PRBS15,第二PRBS15则是取反的第一PRBS15,其中对第一PRBS15取反指对第一PRBS15中比特的值“1”或“0”取反,其中“1”和“0”互为相反的值,以第一PRBS15为“010……10”为例,则取反后的第一PRBS15为“101……01”。Scheme 2: Scheme 2 is similar to the above scheme, the difference is that scheme 2 adopts two PRBS15 (that is, PRBS with an order of 15) as the victim line pattern and the offending line pattern respectively, and the PRBS15 adopted by the offending line pattern is The first PRBS15 and the PRBS15 adopted by the code pattern of the victim line is the second PRBS15 as an example. Wherein the first PRBS15 can adopt a completely random PRBS15, and the second PRBS15 is the first PRBS15 that is reversed, wherein the negative of the first PRBS15 refers to the negative of the value "1" or "0" of the bit in the first PRBS15, wherein "1" and "0" are mutually opposite values. Taking the first PRBS 15 as "010...10" as an example, the inverted first PRBS 15 is "101...01".
以电子设备的处理器和内存芯片之间存在8条数据信号线(数据信号线DQ0-数据信号线DQ7)为例,如图6所示,每个矩形表示数据信号线的一次数据信号传输,其中黑色填充的矩形表示承载第一PRBS15的数据信号,无黑色填充的矩形表示承载第二PRBS15的数据信号。具体在对内存芯片进行读/写测试时,处理器和内存芯片间被测试的数据信号线传输承载第二PRB15的数据信号,其它数据信号线传输承载第一PRB15的数据信号(如第2组-第9组的示例),还可以通过让8条数据信号线均传输承载第一PRB15的数据信号,额外的测试数据信号线中的数据信号能否准确传输。然而,该方案直接采用两个完全相反的PRBS15,同样不能保证给承载受害线码型(即第二PRBS15)的数据信号带来足够的串扰,并且PRBS15的长度较长,内存芯片的测试效率较低,会导致开机时间较长,影响用户的开机体验。Taking 8 data signal lines (data signal line DQ0-data signal line DQ7) between the processor and the memory chip of the electronic device as an example, as shown in Figure 6, each rectangle represents a data signal transmission of the data signal line, The rectangle filled with black represents the data signal carrying the first PRBS15, and the rectangle without black filling represents the data signal carrying the second PRBS15. Specifically, when the memory chip is read/written, the tested data signal line between the processor and the memory chip transmits the data signal carrying the second PRB15, and other data signal lines transmit the data signal carrying the first PRB15 (such as the second group) -Example of group 9), it is also possible to additionally test whether the data signals in the data signal lines can be transmitted accurately by allowing the 8 data signal lines to transmit the data signals carrying the first PRB15. However, this solution directly adopts two completely opposite PRBS15, which cannot guarantee sufficient crosstalk to the data signal carrying the victim line pattern (i.e. the second PRBS15), and the length of the PRBS15 is longer, and the test efficiency of the memory chip is relatively low. If it is low, it will lead to a longer boot time and affect the user's boot experience.
本申请旨在提供一种内存芯片的测试方案,通过采用具有H个相对于第一二进制序列的同向跳变、以及具有I个相对于第一二进制序列的反向跳变的第二二进制序列,利用第二二进制序列相对第一二进制序列具有丰富的同向跳变和反向跳变的特点,充分激发内存芯片的至少一条数据信号线传输的第二二进制序列(即传输的承载第二二进制序列的数据信号),对内存芯片的某一条数据信号线中传输的第一二进制序列(即传输的承载第一二进制序列的数据信号)带来的串扰,从而提高确定的初始化参数的参考取值的可靠性。The present application aims to provide a test scheme of a memory chip, by adopting H jumps in the same direction with respect to the first binary sequence and having I jumps in the opposite direction with respect to the first binary sequence The second binary sequence utilizes the characteristics that the second binary sequence has rich transitions in the same direction and reverse transitions compared with the first binary sequence, and fully stimulates the second transmission of at least one data signal line of the memory chip. Binary sequence (that is, the transmitted data signal carrying the second binary sequence), and the first binary sequence transmitted in a certain data signal line of the memory chip (that is, the transmitted data signal carrying the first binary sequence) The crosstalk brought by the data signal), thereby improving the reliability of the reference value of the determined initialization parameter.
图7为本申请实施例提供的电子设备的结构示意图,图7是图1所示的电子设备按照软件层和硬件层的逻辑划分得到的。图7中的电子设备可以包括硬件层和软件层,其中软件层可以包括一个或多个应用程序和操作系统,硬件层可以包括处理器、内存芯片和存储器,操作系统是用于管理硬件与软件资源的系统软件,图7中的处理器和内存芯片可以是图1中的处理器和内存芯片。FIG. 7 is a schematic structural diagram of an electronic device provided by an embodiment of the present application. FIG. 7 is obtained by logically dividing the electronic device shown in FIG. 1 according to software layers and hardware layers. The electronic device in Fig. 7 may include a hardware layer and a software layer, wherein the software layer may include one or more application programs and an operating system, the hardware layer may include a processor, a memory chip, and a memory, and the operating system is used to manage hardware and software The system software of resources, the processor and the memory chip in FIG. 7 may be the processor and the memory chip in FIG. 1 .
处理器是电子设备的控制中心,利用各种接口和总线连接电子设备的各个部件,如通过内存总线与内存芯片连接,具体处理器通过内存总线与内存芯片的连接可参照图1所示,不再进行赘述。在一些实施例中,处理器可包括一个或多个处理单元,或称为物理核,例如图7中处理器包括核0和核1。处理器还可以包括寄存器,寄存器可用于存储内存芯片的初始化参数的参考取值等。处理器可以是中央处理单元(central processing unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑 器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。The processor is the control center of the electronic device. It uses various interfaces and buses to connect various components of the electronic device, such as connecting to the memory chip through the memory bus. The specific connection between the processor and the memory chip through the memory bus can be referred to in Figure 1. Let me repeat. In some embodiments, a processor may include one or more processing units, or referred to as physical cores, for example, the processor in FIG. 7 includes core 0 and core 1 . The processor may also include registers, which may be used to store reference values of initialization parameters of the memory chip and the like. The processor can be a central processing unit (central processing unit, CPU), and the processor can also be other general-purpose processors, digital signal processors (digital signal processors, DSP), application specific integrated circuits (application specific integrated circuits, ASICs), Off-the-shelf programmable gate array (field-programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
内存芯片(也可以称为内存)可以是DDR SDRAM,例如第4代DDR(4th DDR,DDR4)SDRAM、第5代DDR(5th DDR,DDR5)SDRAM等,还可以为低功耗双倍速率同步动态随机存储器(low power double data rate SDRAM,LPDDR)等,可以用于暂时存放处理器中的运算数据。此外内存芯片中还可以包括寄存器,可用于存储内存芯片的初始化参数的参考取值等。The memory chip (also called memory) can be DDR SDRAM, such as the 4th generation DDR (4th DDR, DDR4) SDRAM, the 5th generation DDR (5th DDR, DDR5) SDRAM, etc. Dynamic random access memory (low power double data rate SDRAM, LPDDR), etc., can be used to temporarily store computing data in the processor. In addition, the memory chip may further include registers, which may be used to store reference values of initialization parameters of the memory chip and the like.
存储器中可以存储有操作系统和应用程序,还可存储在运行过程中操作系统和应用程序产生的数据。The memory may store an operating system and an application program, and may also store data generated by the operating system and the application program during operation.
如图7所示,电子设备中还可以包括固件(firmware)。由于固件是一种嵌入在硬件中的软件,包括计算机指令,因此按照逻辑划分,可以将固件划分在软件层。基本输入输出系统(basic input/output system,BIOS)是一种常见的固件,在通电引导阶段运行硬件初始化,以及为操作系统提供运行时服务。在本申请实施例中,在电子设备的BIOS可以用于执行内存芯片的测试方法的计算机指令,在电子设备开机后,BIOS中执行内存芯片的测试方法,对内存芯片进行测试,测试完成后,将得到的初始化参数的参考值,写入处理器的寄存器和/或内存芯片的寄存器中,根据处理器的寄存器和/或内存芯片的寄存器中的初始化参数的参考取值,处理器和内存芯片即可实现高速数据传输,其中通常处理器的寄存器中写入读(处理器从内存芯片中读取数据)测试得到的初始化参数的参考取值,内存芯片的寄存器中写入写(处理器向内存芯片写入数据)测试得到的初始化参数的参考取值。As shown in FIG. 7 , the electronic device may further include firmware (firmware). Since firmware is a kind of software embedded in hardware, including computer instructions, it can be divided into software layers according to logical division. The basic input/output system (BIOS) is a common piece of firmware that performs hardware initialization during the power-on boot phase and provides runtime services for the operating system. In the embodiment of the present application, the BIOS of the electronic device can be used to execute the computer instructions of the memory chip test method. After the electronic device is turned on, the BIOS executes the memory chip test method to test the memory chip. After the test is completed, Write the obtained reference value of the initialization parameter into the register of the processor and/or the register of the memory chip, according to the reference value of the initialization parameter in the register of the processor and/or the register of the memory chip, the processor and the memory chip High-speed data transmission can be realized, wherein the reference value of the initialization parameter obtained by the test of writing (the processor reads data from the memory chip) in the register of the processor, and writing (the processor reads the data from the memory chip) in the register of the memory chip. The reference value of the initialization parameter obtained from the memory chip write data) test.
BIOS中的计算机指令可以存储在电子设备的主板上,具体的可以存储在主板上的只读存储器(read-only memory,ROM)芯片中,当然也可以将BIOS存储在如图7所示的电子设备的存储器中,存储器包括但不限于闪存(flash memory)、硬盘、光盘、通用串行总线(universal serial bus,USB)盘等。在一种实现方式中,存储器和内存芯片可以为同一个存储介质,即内存芯片中存储有用于实现内存测试方法的计算机指令。当电子设备的处理器调用BIOS以执行硬件的初始化时,该计算机指令被调用,以执行本申请各个实施例提供的内存测试方法,完成对内存芯片的测试。The computer instructions in the BIOS can be stored on the motherboard of the electronic device, specifically can be stored in the read-only memory (read-only memory, ROM) chip on the motherboard, of course the BIOS can also be stored in the electronic device as shown in Figure 7. In the memory of the device, the memory includes but is not limited to flash memory (flash memory), hard disk, optical disk, universal serial bus (universal serial bus, USB) disk, etc. In an implementation manner, the memory and the memory chip may be the same storage medium, that is, the memory chip stores computer instructions for implementing the memory testing method. When the processor of the electronic device invokes the BIOS to perform hardware initialization, the computer instruction is invoked to execute the memory testing method provided by each embodiment of the present application to complete the memory chip test.
以BIOS存储在存储器中为例,电子设备的物理结构示意图可以如图8所示,包括存储器、处理器和内存芯片,处理器、内存芯片和存储器可以为图7中处理器、内存芯片和存储器的部分和全部,实现方式可以参照图7中对应的描述。Taking the BIOS stored in the memory as an example, the schematic diagram of the physical structure of the electronic device may be as shown in Figure 8, including a memory, a processor, and a memory chip, and the processor, memory chip, and memory may be the processor, memory chip, and memory shown in Figure 7. Part and all of the implementation manner can refer to the corresponding description in FIG. 7 .
另外,需要理解的是,本申请中,多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系。另外,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度,并且“第一”、“第二”的描述也并不限定对象一定不同。在本申请中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。在本申请中,“示例性的”或者“例如”等词用于表示例子、例证或说明,被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。下面将结合附图, 对本申请实施例进行详细描述。In addition, it should be understood that in this application, multiple" refers to two or more than two. "And/or" describes the association relationship of associated objects, indicating that there may be three relationships, for example, A and/or B , can mean: there is A alone, A and B exist at the same time, and B exists alone. In the text description of this application, the character "/" generally indicates that the associated objects are an "or" relationship. In addition, unless To the contrary, the embodiments of this application refer to ordinal numerals such as "first" and "second" to distinguish multiple objects, and are not used to limit the order, timing, priority or importance of multiple objects, and The description of "the first" and "the second" does not limit the objects to be different. The various numbers involved in the application are only for the convenience of description and are not used to limit the scope of the embodiments of the application. Above-mentioned The size of the sequence number of each process does not mean the sequence of execution, and the execution sequence of each process should be determined with its function and internal logic.In this application, words such as "exemplary" or "for example" are used to represent examples, To illustrate or illustrate, any embodiment or design described as "exemplary" or "for example" should not be construed as being preferred or more advantageous than other embodiments or designs. The use of "exemplary" or " Words such as "are intended to present related concepts in a specific manner for easy understanding. The embodiments of the present application will be described in detail below in conjunction with the accompanying drawings.
图9为本申请实施例提供的一种内存芯片的测试方法示意图,该方法包括:FIG. 9 is a schematic diagram of a method for testing a memory chip provided in an embodiment of the present application, the method comprising:
S901:处理器采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试。S901: The processor uses the first binary sequence and the second binary sequence to test the value of the initialization parameter of the memory chip.
其中,内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列(即传输承载所述第一二进制序列的数据信号)、其它N-1条数据信号线中至少一条数据信号线传输所述第二二进制序列(即传输承载所述第二二进制序列的数据信号)。Among the N data signal lines of the memory chip, one data signal line transmits the first binary sequence (that is, transmits the data signal carrying the first binary sequence), and one of the other N-1 data signal lines At least one data signal line transmits the second binary sequence (ie, transmits a data signal carrying the second binary sequence).
第一二进制序列能否正确的写入内存芯片,与处理器通过数据信号线向内存芯片发送的承载第一二进制序列的数据信号所受到的干扰相关,如图10所示,数据信号受到串扰和/或符号间干扰,数据信号的电平会发生变换,可能会导致数据信号所承载的第一二进制序列无法正确写入内存芯片。而串扰主要与相邻数据信号承载的二进制序列之间的同向跳变和反向跳变有关,为了更大程度的激发承载第一二进制序列的数据信号所受的串扰,在本申请实施例中,在对内存芯片进行测试时,采用的第二二进制序列具有H个相对于第一二进制序列的同向跳变和I个相对于第一二进制序列的反向跳变,H和I为大于或等于1的整数;并可以令内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线均传输所述第二二进制序列。Whether the first binary sequence can be correctly written into the memory chip is related to the interference received by the data signal carrying the first binary sequence sent by the processor to the memory chip through the data signal line, as shown in Figure 10, the data When the signal is subject to crosstalk and/or intersymbol interference, the level of the data signal will change, which may cause the first binary sequence carried by the data signal to be incorrectly written into the memory chip. The crosstalk is mainly related to the forward jump and reverse jump between the binary sequences carried by adjacent data signals. In order to stimulate the crosstalk suffered by the data signal carrying the first binary sequence to a greater extent, in this application In an embodiment, when the memory chip is tested, the second binary sequence used has H jumps in the same direction relative to the first binary sequence and I reverse jumps relative to the first binary sequence jump, H and I are integers greater than or equal to 1; and one data signal line in the N data signal lines of the memory chip can transmit the first binary sequence, and the other N-1 data signal lines can all transmit the second binary sequence.
其中,同向跳变和反向跳变比较的是来自于第一二进制序列和来自第二二进制序列中相同比特位置的两个跳变的方向是同向还是方向,同向指这两个跳变均为由0到1的变化或者均为由1到0的变化,反向指这两个跳变中的一个跳变为由0到1的变化、另一个跳变为由1到0的变化。如图11所示,以第一二进制序列为101000111001010、第二二进制序列为011000110110010为例,第二二进制序列具有3个相对于第一二进制序列的同向跳变和3个相对于第一二进制序列的反向跳变。Among them, the comparison of the same direction jump and the reverse jump is whether the direction of the two jumps from the same bit position in the first binary sequence and the second binary sequence is the same direction or the same direction, and the same direction refers to These two jumps are both changes from 0 to 1 or both are changes from 1 to 0. The reverse means that one of the two jumps changes from 0 to 1, and the other jumps from 0 to 1. 1 to 0 variation. As shown in Figure 11, taking the first binary sequence as 101000111001010 and the second binary sequence as 011000110110010 as an example, the second binary sequence has 3 jumps in the same direction and 3 reverse transitions relative to the first binary sequence.
在本申请实施例中,第一二进制序列可以采用完全随机的PRBS,如完全随机的阶数为7的PRBS等,其中阶数为7的PRBS是指产生PRBS 7的初始码(初始码由0和/或1组成)的位数或大小为7,也即PRBS是通过对几位的初始码进行异或运算循环移位输出得到的。而第二二进制序列可以基于第一二进制序列确定。在一些实施中,处理器可以将第一二进制序列中的一个或多个跳变进行反向处理,确定第二二进制序列。In the embodiment of the present application, the first binary sequence can adopt a completely random PRBS, such as a PRBS with a completely random order of 7, etc., where the PRBS with an order of 7 refers to the initial code (initial code) that generates PRBS 7 Composed of 0 and/or 1), the number of bits or the size is 7, that is, the PRBS is obtained by performing an exclusive OR operation on several initial codes and performing circular shift output. And the second binary sequence can be determined based on the first binary sequence. In some implementations, the processor can reverse process one or more transitions in the first binary sequence to determine the second binary sequence.
以第一二进制序列为10111011001110000110(仅示出部分)为例,处理器可以在第一二进制序列中随机选取一个或多个相互之间不存在重复比特的跳变进行反向处理,得到第二二进制序列。例如:处理器可以选取第一二进制序列中第1个比特和第2个比特的“10”、第5个比特和第6个比特的“10”,第1个比特和第2个比特对应的跳变“10”与第5个比特和第6个比特对应的跳变“10”之间不存在重复比特,通过译码电路将第1个比特和第2个比特的“10”转换为“01”,将第5个比特和第6个比特的“10”转换为“01”,实现将第一二进制序列中第1个比特和第2个比特的“10”、第5个比特和第6个比特的“10”的反向处理,得到第二二进制序列“01110111001110000110(仅示出部分)”。其中译码电路可以集成在处理器中,也可以在电子设备中单独设置并与处理器连接,本申请不做限定。Taking the first binary sequence as 10111011001110000110 (only a part is shown) as an example, the processor may randomly select one or more transitions in the first binary sequence that do not have repeated bits between each other for reverse processing, Get the second binary sequence. For example: the processor can select "10" in the first bit and the second bit in the first binary sequence, "10" in the fifth bit and the sixth bit, and "10" in the first bit and the second bit There is no repeated bit between the corresponding transition "10" and the transition "10" corresponding to the 5th bit and the 6th bit, and the "10" of the first bit and the second bit is converted by the decoding circuit is "01", convert the "10" of the 5th bit and the 6th bit into "01", and realize the "10" and the 5th bit of the 1st bit and the 2nd bit in the first binary sequence The reverse processing of "10" of the 6th bit and the 6th bit obtains the second binary sequence "01110111001110000110 (only a part is shown)". The decoding circuit can be integrated in the processor, or it can be separately set in the electronic device and connected to the processor, which is not limited in this application.
作为另一种示例,处理器还可以以2个比特为单位对第一二进制序列进行划分,得到任意两个编码单元之间不存在重复比特的多个编码单元,如得到10、11、10、11、00、11、10、00、01、10等多个编码单元,并对通过译码电路将对应特定跳变的编码单元进行反向处理,如将对应跳变“10”的编码单元转换为“01”。通过译码电路处理后得到的第二二进制 序列“01 11 01 11 00 11 01 00 01 01(仅示出部分)”。As another example, the processor may also divide the first binary sequence in units of 2 bits to obtain multiple coding units with no repeated bits between any two coding units, such as obtaining 10, 11, 10, 11, 00, 11, 10, 00, 01, 10 and other coding units, and reverse the coding unit corresponding to a specific jump through the decoding circuit, such as encoding the corresponding jump "10" The unit is converted to "01". The second binary sequence "01 11 01 11 00 11 01 00 01 01 (only part shown)" obtained after being processed by the decoding circuit.
在一些实施中,处理器还可以以每M个比特为单位对第一二进制序列进行划分,在第一二进制序列中确定出任意两个编码单元之间不存在重复比特多个编码单元,将多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,并将第一二进制序列中目标编码单元中的跳变进行反向处理,进而确定第二二进制序列。其中,M为大于或等于2的整数。In some implementations, the processor may also divide the first binary sequence in units of M bits, and determine that there is no repeated bit multiple encoding between any two coding units in the first binary sequence unit, mark the coding unit carrying the target coding combination among the multiple coding units as the target coding unit, and perform reverse processing on the transition in the target coding unit in the first binary sequence, and then determine the second binary sequence . Wherein, M is an integer greater than or equal to 2.
具体的,可以将编码单元对应的2 M种编码组合中的部分编码组合作为目标编码组合,也可以将2 M种编码组合全部作为目标编码组合,本申请不做限定。另外,为了保障得到的第二二进制序列相对于第一二进制序列具有充足和反向跳变和同向跳变,以达到最佳的串扰效果,可以将2 M种编码组合中的一半编码组合作为目标编码组合。 Specifically, part of the 2 M coding combinations corresponding to the coding unit may be used as the target coding combination, or all of the 2 M coding combinations may be used as the target coding combination, which is not limited in this application. In addition, in order to ensure that the obtained second binary sequence has sufficient reverse jumps and forward jumps relative to the first binary sequence to achieve the best crosstalk effect, the 2 M coding combinations can be combined Half of the coding combinations are used as target coding combinations.
以M为3为例,包括M个比特的编码单位对应8种编码组合,分别为000、001、010、011、100、101、110、111。可以100、101、110、111作为目标编码组合,将携带100、101、110、111的编码单元标记为目标编码单元,对目标编码单元中的跳变进行反向处理。Taking M as 3 as an example, a coding unit including M bits corresponds to 8 coding combinations, which are 000, 001, 010, 011, 100, 101, 110, and 111, respectively. 100, 101, 110, 111 can be used as the target coding combination, the coding unit carrying 100, 101, 110, 111 can be marked as the target coding unit, and the transition in the target coding unit is reversely processed.
作为一种示例,如图12所示,处理器可以将携带100、101、110、111的目标编码单元中的跳变通过译码电路进行反向处理,则100通过译码电路处理后的输出可以为01X、101通过译码电路处理后的输出可以为010,110通过译码电路处理后的输出可以为X01,111通过译码电路处理后的输出可以为XXX,其中X可以为0或1。处理器还可以维持携带000、001、010、011的非目标编码单元中的跳变不变,则000通过译码电路处理后的输出可以为XXX、001通过译码电路处理后的输出可以为X01,010通过译码电路处理后的输出可以为010,则011通过译码电路处理后的输出可以为01X,其中X可以为0或1。As an example, as shown in Figure 12, the processor can reversely process the transitions in the target coding units carrying 100, 101, 110, and 111 through the decoding circuit, and then the output of 100 after processing through the decoding circuit It can be 01X, 101, the output processed by the decoding circuit can be 010, 110, the output processed by the decoding circuit can be X01, and the output of 111 processed by the decoding circuit can be XXX, where X can be 0 or 1 . The processor can also maintain the jumps in the non-target coding units carrying 000, 001, 010, and 011 unchanged, then the output of 000 processed by the decoding circuit can be XXX, and the output of 001 processed by the decoding circuit can be The output of X01 and 010 processed by the decoding circuit can be 010, and the output of 011 processed by the decoding circuit can be 01X, where X can be 0 or 1.
在一些实施中,还可以将包含X的编码组合设置为高频编码组合(如010、101、011等),增加确定的第二二进制序列对第一二进制序列的串扰能力。如图12所示,则可以设置译码电路将输入的000输出为010、将输入的001输出为101、将输入的010输出为010、将输入的011输出为011、将输入的100输出为011、将输入的101输出为010、将输入的110输出为001、将输入的111输出为101。In some implementations, the coding combination containing X can also be set as a high-frequency coding combination (such as 010, 101, 011, etc.), so as to increase the crosstalk capability of the determined second binary sequence to the first binary sequence. As shown in Figure 12, the decoding circuit can be set to output the input 000 as 010, the input 001 as 101, the input 010 as 010, the input 011 as 011, and the input 100 as 011. Output the input 101 as 010, output the input 110 as 001, and output the input 111 as 101.
需要理解的是,上述是以携带000、001、010、011的非目标编码单元也通过译码电路进行处理为例说明的,在一些实施中,携带000、001、010、011的非目标编码单元也可以不通过译码电路进行处理,非目标编码单元中各比特的值维持不变。It should be understood that the above is an example of the non-target coding units carrying 000, 001, 010, and 011 being processed by the decoding circuit. In some implementations, the non-target coding units carrying 000, 001, 010, and 011 The unit may not be processed by the decoding circuit, and the value of each bit in the non-target coding unit remains unchanged.
另外,需要理解的是,第一二进制序列可能存在不能被M整分的情况,对于第一二进制序列中不能被M整分的部分比特,可以不对该部分比特进行处理。仍以M为3,译码电路采用如图12所示的处理方式为例,假设第一二进制序列为101 110 110 011 100 001 10,则得到的第二二进制序列为010 001 001 011 011 101 10,第二二进制序列的最后2比特与第一二进制序列的最后2比特相同,在确定第二二进制序列时,未对第一二进制序列的最后2比特进行处理。In addition, it should be understood that the first binary sequence may not be integrally divided by M, and some bits in the first binary sequence that cannot be integrally divided by M may not be processed. Still taking M as 3, the decoding circuit adopts the processing method shown in Figure 12 as an example, assuming that the first binary sequence is 101 110 110 011 100 001 10, then the obtained second binary sequence is 010 001 001 011 011 101 10, the last 2 bits of the second binary sequence are the same as the last 2 bits of the first binary sequence, and the last 2 bits of the first binary sequence are not corrected when determining the second binary sequence to process.
PRBS中“0”和“1”所占比特数量的比率是相等的,也即在PRBS中值为0的比特数量和值为1的比特数量相同。如图13所示为产生PRBS 7(即阶数为7的PRBS)的示意图,PRBS由线性反馈移位寄存器(linear feedback shift register,LFSR)生成,通过一组初始码(对于PRBS7初始码为7位,由0和/或1组成)进行异或运算循环移位输出,就可以得到“0”和“1”所占比特数量的比率相等的伪随机二进制序列。The ratio of the number of bits occupied by "0" and "1" in the PRBS is equal, that is, the number of bits with a value of 0 and the number of bits with a value of 1 in the PRBS are the same. As shown in Figure 13, it is a schematic diagram of generating PRBS 7 (that is, a PRBS with an order of 7). PRBS is generated by a linear feedback shift register (linear feedback shift register, LFSR), through a set of initial codes (for PRBS7, the initial code is 7 Bits, consisting of 0 and/or 1) are subjected to XOR operation and circularly shifted to output, and a pseudo-random binary sequence in which the ratio of the number of bits occupied by "0" and "1" is equal can be obtained.
为了更大程度的激发承载第一二进制序列的数据信号所受的符号间干扰,使得到的初 始化参数的参考取值适应于处理器与内存芯片的真实业务传输,在本申请实施例中,第一二进制序列还可以采用可变标记比率伪随机二进制序列(variable mark ratio quasi-PRBS,VMRQ-PRBS),也即采用0/1占比可变伪随机二进制序列。In order to stimulate the inter-symbol interference suffered by the data signal carrying the first binary sequence to a greater extent, so that the obtained reference value of the initialization parameter is suitable for the real service transmission between the processor and the memory chip, in the embodiment of the present application , the first binary sequence can also use a variable mark ratio pseudo-random binary sequence (variable mark ratio quasi-PRBS, VMRQ-PRBS), that is, a 0/1 ratio variable pseudo-random binary sequence.
VMRQ-PRBS是一种“0”和“1”所占比特数量的比率可变的PRBS,是在N阶的PRBS的基础上对PRBS的某几位进行与运算产生的,常见的比率有1/8、1/4、3/4和7/8。如图14所示,对标准PRBS7图形发生器(standard PRBS7 pattern generator)输出的PRBS中的2位进行与运算,可得到值为1所占比特数量为PRBS比特总数量1/4的伪随机二进制序列,即得到1占比为1/4的VMRQ-PRBS;对输出的PRBS中的3位进行与运算,可得到值为1所占比特数量为PRBS比特总数量1/8的伪随机二进制序列,即得到1占比为1/8的VMRQ-PRBS。对1占比为1/4和1/8的VMRQ-PRBS取反即可得到0占比为1/4和1/8的VMRQ-PRBS。VMRQ-PRBS is a kind of PRBS with a variable ratio of the number of bits occupied by "0" and "1". It is generated by ANDing certain bits of PRBS on the basis of N-order PRBS. The common ratio is 1 /8, 1/4, 3/4, and 7/8. As shown in Figure 14, the AND operation is performed on the 2 bits in the PRBS output by the standard PRBS7 pattern generator (standard PRBS7 pattern generator), and the pseudo-random binary whose value is 1 and the number of bits occupied is 1/4 of the total number of PRBS bits can be obtained Sequence, that is, to obtain a VMRQ-PRBS with a proportion of 1/4; perform an AND operation on the 3 bits in the output PRBS, and obtain a pseudo-random binary sequence whose value is 1 and the number of bits is 1/8 of the total number of PRBS bits , that is, a VMRQ-PRBS with a ratio of 1 to 1/8 is obtained. Inverting the VMRQ-PRBS with 1 proportions of 1/4 and 1/8 can obtain the VMRQ-PRBS with 0 proportions of 1/4 and 1/8.
如表1所示,为1/4比率(ratio)1比特位移(bit shift)VMRQ-PRBS7(也即1占比为1/4的VMRQ-PRBS7)与PRBS 7的最长连1数和最长连0数。二进制序列激发符号间干扰的能力,主要与二进制序列可以出现的最大CID长度有关,通过采用VMRQ-PRBS作为第一二进制序列,可以有效激发承载第一二进制序列的数据信号所受的符号间干扰,使得到的初始化参数的参考取值适应于处理器与内存芯片的真实业务传输。也有利于在保障得到的初始化参数的参考取值的可靠性的情况下,缩短第一二进制序列的长度,从而提高内存芯片的测试效率。As shown in Table 1, it is 1/4 ratio (ratio) 1 bit displacement (bit shift) VMRQ-PRBS7 (that is, VMRQ-PRBS7 with a ratio of 1/4) and PRBS 7 The longest continuous 1 number and the most Long consecutive 0 count. The ability of the binary sequence to stimulate intersymbol interference is mainly related to the maximum CID length that can appear in the binary sequence. By using VMRQ-PRBS as the first binary sequence, it can effectively stimulate the interference received by the data signal carrying the first binary sequence. The inter-symbol interference makes the obtained reference value of the initialization parameter suitable for the real service transmission of the processor and the memory chip. It is also beneficial to shorten the length of the first binary sequence while ensuring the reliability of the obtained reference value of the initialization parameter, thereby improving the test efficiency of the memory chip.
模式model 最长连1数Longest streak of 1 最长连0数The longest consecutive number of 0
PRB7 PRB7 77 66
1/4ratio1 bit shift VMRQ-PRBS71/4ratio1 bit shift VMRQ-PRBS7 1212 1212
表1Table 1
下面以采用第一二进制序列和第二二进制序列对内存芯片进行写测试为例,介绍如何使用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试。The following takes the write test of the memory chip using the first binary sequence and the second binary sequence as an example, and introduces how to use the first binary sequence and the second binary sequence to set the value of the initialization parameter of the memory chip carry out testing.
处理器可以通过数据信号线DQ0向内存芯片发送承载第一二进制序列的DQ0,通过数据信号线DQ1-数据信号线DQ7向内存芯片发送承载第二二进制序列的DQ1-DQ7,并通过时序信号线DQS0和时序信号线DQS1向内存芯片发送DQS。如图15中的A所示,在默认基准电平、默认DQS相位调节幅度下,也即在默认的基准电平的取值和默认的DQS相位调节幅度的取值下,处理器逐渐缩小DQS相位调节幅度的取值,直至出现DQ0所承载的第一二进制序列无法正确写入内存芯片。此时,根据DQS确定的识别DQ的电平状态的触发点与DQ0之间的相对时序位置可以如图15中的B所示。The processor can send DQ0 carrying the first binary sequence to the memory chip through the data signal line DQ0, send DQ1-DQ7 carrying the second binary sequence to the memory chip through the data signal line DQ1-data signal line DQ7, and pass The timing signal line DQS0 and the timing signal line DQS1 send DQS to the memory chip. As shown in A in Figure 15, under the default reference level and the default DQS phase adjustment range, that is, under the default reference level value and the default DQS phase adjustment range value, the processor gradually reduces the DQS The value of the phase adjustment amplitude is reached until the first binary sequence carried by DQ0 cannot be correctly written into the memory chip. At this time, the relative timing position between the trigger point for identifying the level state of DQ and DQ0 determined according to DQS may be as shown in B in FIG. 15 .
处理器在DQ0所承载的第一二进制序列无法正确写入内存芯片后,逐渐增大DQS相位调节幅度的取值,直至出现DQ0所承载的第一二进制序列再次无法正确写入内存芯片。此时,根据DQS确定的识别DQ的电平状态的触发点与DQ0之间的相对时序位置可以如图15中的C所示。假设图15中的B中DQS相位调节幅度的取值为P1,图15中的C中DQS相位调节幅度的取值为P2,则处理器可以得到DQS相位调节幅度的取值范围为P1到P2。After the first binary sequence carried by DQ0 cannot be correctly written into the memory chip, the processor gradually increases the value of the DQS phase adjustment range until the first binary sequence carried by DQ0 cannot be correctly written into the memory again. chip. At this time, the relative timing position between the trigger point for identifying the level state of DQ and DQ0 determined according to DQS may be shown as C in FIG. 15 . Assuming that the value of the DQS phase adjustment range in B in Figure 15 is P1, and the value of the DQS phase adjustment range in C in Figure 15 is P2, the processor can obtain the value range of the DQS phase adjustment range from P1 to P2 .
同样,对于基准电平的测试,在默认基准电平、默认DQS相位调节幅度下,处理器可以逐渐缩小基准电平的取值,直至出现DQ0所承载的第一二进制序列无法正确写入内存 芯片。此时,假设基准电平的取值为Q1。Similarly, for the test of the reference level, under the default reference level and the default DQS phase adjustment range, the processor can gradually reduce the value of the reference level until the first binary sequence carried by DQ0 cannot be written correctly. memory chips. At this time, it is assumed that the value of the reference level is Q1.
处理器在DQ0所承载的第一二进制序列无法正确写入内存芯片后,逐渐增大基准电平的取值,直至出现DQ0所承载的第一二进制序列再次无法正确写入内存芯片。此时,假设基准电平的取值为Q2,则处理器得到基准电平的取值范围为Q1到Q2。After the first binary sequence carried by DQ0 cannot be correctly written into the memory chip, the processor gradually increases the value of the reference level until the first binary sequence carried by DQ0 cannot be correctly written into the memory chip again. . At this time, assuming that the value of the reference level is Q2, the processor obtains that the value range of the reference level is Q1 to Q2.
S902:所述处理器根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值。S902: The processor determines a reference value of the initialization parameter according to the value range of the initialization parameter obtained through testing.
在实际应用中,受噪声等因素的影响,内存芯片根据DQS确定的识别DQ状态的触发点可能会偏离理想的识别DQ状态的触发点,如相对理想的识别DQ状态的触发点在时间上提前或延后。内存芯片识别的DQ的电平也可能偏离理想的DQ的电平,如内存芯片识别的DQ的电平可能高于或低于处理器发送的DQ的电平。In practical applications, affected by factors such as noise, the trigger point for identifying the DQ state determined by the memory chip based on DQS may deviate from the ideal trigger point for identifying the DQ state. For example, the trigger point for identifying the DQ state is earlier than the ideal trigger point or snooze. The DQ level recognized by the memory chip may also deviate from the ideal DQ level, for example, the DQ level recognized by the memory chip may be higher or lower than the DQ level sent by the processor.
为了确保确定的DQS相位调节幅度的参考取值有更多的冗余量应对噪声等因素的影响,在一些实施例中,以DQS相位调节幅度的取值范围为P1到P2为例,则DQS相位调节幅度的参考取值可以为(P1+P2)/2,也即为DQS相位调节幅度的取值范围的中位数,以有更多的冗余量应对噪声等因素的影响。In order to ensure that the reference value of the determined DQS phase adjustment range has more redundancy to deal with the influence of factors such as noise, in some embodiments, taking the value range of the DQS phase adjustment range from P1 to P2 as an example, then DQS The reference value of the phase adjustment range may be (P1+P2)/2, that is, the median of the value range of the DQS phase adjustment range, so as to have more redundancy to cope with the influence of factors such as noise.
另外,如果处理器还基于数据信号线DQ1-数据信号线DQ7测试得到多组DQS相位调节幅度的取值范围,即多组P1和P2,处理器还可以将数据信号线DQ0-数据信号线DQ7对应的多组P1和P2中差值最大的一组P1和P2,用于确定DQS相位调节幅度的参考取值。In addition, if the processor also obtains the value ranges of multiple sets of DQS phase adjustment amplitudes based on the data signal line DQ1-data signal line DQ7 test, that is, multiple sets of P1 and P2, the processor can also use the data signal line DQ0-data signal line DQ7 The group P1 and P2 with the largest difference among the corresponding groups of P1 and P2 is used to determine the reference value of the DQS phase adjustment range.
为了确保确定的基准电平的参考取值有更多的冗余量应对噪声等因素的影响,在一些实施例中,以基准电平的取值范围为Q1到Q2为例,则基准电平的参考取值可以为(Q1+Q2)/2,也即为基准电平的取值范围的中位数。In order to ensure that the reference value of the determined reference level has more redundancy to deal with the influence of factors such as noise, in some embodiments, taking the value range of the reference level as an example from Q1 to Q2, the reference level The reference value of can be (Q1+Q2)/2, that is, the median of the value range of the reference level.
另外,如果处理器还基于数据信号线DQ1-数据信号线DQ7也测试得到多组基准电平的取值范围,即多组Q1和Q2,处理器还可以将数据信号线DQ0-数据信号线DQ7对应的多组Q1和Q2中差值最大的一组Q1和Q2,用于确定基准电平的参考取值。In addition, if the processor also tests the value ranges of multiple sets of reference levels based on the data signal line DQ1-data signal line DQ7, that is, multiple sets of Q1 and Q2, the processor can also use the data signal line DQ0-data signal line DQ7 The group of Q1 and Q2 with the largest difference among the corresponding groups of Q1 and Q2 is used to determine the reference value of the reference level.
在一些实施中,为了提高内存芯片的测试的准确性,处理器也可以先确定DQS相位调节幅度的参考取值,然后在DQS相位调节幅度的参考取值、默认基准电平的基础上对基准电平的取值进行测试,从而确定基准电平的取值范围,进而确定基准电平的参考取值;或者先确定基准电平的参考取值,然后在默认DQS相位调节幅度、基准电平的参考取值的基础上对DQS相位调节幅度进行测试,从而确定DQS相位调节幅度的取值范围,进而确定DQS相位调节幅度的参考取值。In some implementations, in order to improve the accuracy of the test of the memory chip, the processor can also first determine the reference value of the DQS phase adjustment range, and then base the reference value on the basis of the reference value of the DQS phase adjustment range and the default reference level. Test the value of the level to determine the value range of the reference level, and then determine the reference value of the reference level; or first determine the reference value of the reference level, and then adjust the amplitude and reference level in the default DQS phase The DQS phase adjustment range is tested on the basis of the reference value, so as to determine the value range of the DQS phase adjustment range, and then determine the reference value of the DQS phase adjustment range.
S903:所述处理器根据所述参考取值与所述内存芯片进行数据传输。S903: The processor performs data transmission with the memory chip according to the reference value.
通过对内存芯片进行写测试得到DQS相位调节幅度的参考取值和/或基准电平的参考取值后,处理器将得到的DQS相位调节幅度的参考和/或基准电平的参考取值写入内存芯片的寄存器中,内存芯片即可基于寄存器中保存的DQS相位调节幅度的参考取值和/或基准电平的参考取值,识别处理器发送的数据信号的电平,进而识别数据信号承载的数据,从而实现处理器向内存芯片写入数据。After obtaining the reference value of the DQS phase adjustment range and/or the reference value of the reference level by performing a write test on the memory chip, the processor writes the obtained reference value of the DQS phase adjustment range and/or the reference value of the reference level The memory chip can identify the level of the data signal sent by the processor based on the reference value of the DQS phase adjustment range and/or the reference value of the reference level stored in the register, and then identify the data signal The data carried by the processor enables the processor to write data to the memory chip.
上述主要从对内存芯片进行写测试的方面,对如何确定DQS相位调节幅度的参考取值、基准电平的参考取值进行了介绍,在对内存芯片进行读测试时,内存芯片可以通过数据信号线DQ0至数据信号线DQ7向处理器发送DQ,以及通过时序信号线DQS0和时序信号线DQS1向处理器发送DQS,其中DQ可以承载处理器所要读取的数据。对于内存芯 片进行读测试时,如何确定DQS相位调节幅度的参考取值、基准电平的参考取值的实现可以参考对内存芯片进行写测试时,如何确定DQS相位调节幅度的参考取值、基准电平的参考取值的实现,不再进行赘述。The above mainly introduces how to determine the reference value of the DQS phase adjustment range and the reference value of the reference level from the aspect of writing the memory chip. When the memory chip is read and tested, the memory chip can pass the data signal. The line DQ0 to the data signal line DQ7 sends DQ to the processor, and sends DQS to the processor through the timing signal line DQS0 and the timing signal line DQS1, wherein the DQ can carry the data to be read by the processor. How to determine the reference value of the DQS phase adjustment range and the reference value of the reference level when performing a read test on a memory chip can refer to How to determine the reference value and reference value of the DQS phase adjustment range when performing a write test on a memory chip The realization of the reference value of the level will not be repeated here.
通过对内存芯片进行读测试得到DQS相位调节幅度的参考取值和/或基准电平的参考取值后,处理器将得到的DQS相位调节幅度的参考取值和/或基准电平的参考取值写入处理器的寄存器中,处理器即可基于寄存器中保存的DQS相位调节幅度的参考取值和/或基准电平的参考取值,识别内存芯片发送的数据信号的电平,进而识别数据信号承载的数据,从而实现处理器从内存芯片中读取数据。After obtaining the reference value of the DQS phase adjustment range and/or the reference value of the reference level by performing a read test on the memory chip, the processor will obtain the reference value of the DQS phase adjustment range and/or the reference value of the reference level The value is written into the register of the processor, and the processor can identify the level of the data signal sent by the memory chip based on the reference value of the DQS phase adjustment range and/or the reference value of the reference level stored in the register, and then identify The data carried by the data signal enables the processor to read data from the memory chip.
需要理解的是,本申请的内存芯片的测试方法,可用于内存芯片的训练或测试场景中,主要原理是先通过受害线码型(第一二进制序列)和侵害线码型(第二二进制序列)激励出DQ受害线眼图,通过DQ受害线眼图内轮廓再利用一定的算法找到内轮廓中心点,也就内存芯片的初始化参数的参考取值。如图16所示,以通过内存芯片训练算法(如DDR training算法)采用第一二进制序列(受害线码型)和第二二进制序列(侵害线码型)对内存芯片进行测试为例,主要包括以默认基准电平(default-VREF)为基准,找到DQ受害线眼图内轮廓的左右边界(即DQS相位调节幅度的取值范围),对左右边界取平均,确定DQS相位调节幅度的参考取值。以DQS相位调节幅度的参考取值为基准,找到DQ受害线眼图内轮廓的上下边界(即基准电压的取值范围),对上下边界取平均,确定基准电压的参考取值。It should be understood that the memory chip testing method of the present application can be used in the training or testing scenarios of the memory chip. Binary sequence) to stimulate the DQ victim line eye diagram, and then use a certain algorithm to find the center point of the inner contour through the inner contour of the DQ victim line eye diagram, which is also the reference value of the initialization parameters of the memory chip. As shown in Figure 16, the first binary sequence (victimized line pattern) and the second binary sequence (violated line pattern) are used to test the memory chip by the memory chip training algorithm (such as the DDR training algorithm) as For example, it mainly includes using the default reference level (default-VREF) as a reference to find the left and right boundaries of the inner contour of the eye diagram of the DQ victim line (that is, the value range of the DQS phase adjustment range), and average the left and right boundaries to determine the DQS phase adjustment The reference value of the amplitude. Based on the reference value of the DQS phase adjustment range, find the upper and lower boundaries of the eye diagram of the DQ victim line (that is, the value range of the reference voltage), and average the upper and lower boundaries to determine the reference value of the reference voltage.
如表2所示,对于一组8个DQ,本申请受害线码型(第一二进制序列)采用VMRQ-PRBS11(即阶数为11的VMRQ-PRBS),上述第一种方案和第二种方案均采用PRBS15(即阶数为15的PRBS)为例,其中第二种方案需要的码型长度为9*32767位;本申请需要的码型长度为8*4094位(需要8个DQ分别传输受害线码型);本申请的码型长度为第二种方案的1/9。As shown in Table 2, for a group of 8 DQs, the victim line pattern (the first binary sequence) of this application adopts VMRQ-PRBS11 (that is, the VMRQ-PRBS whose order is 11), the above-mentioned first scheme and the first Two kinds of schemes all adopt PRBS15 (that is, the PRBS that the order is 15) as an example, wherein the pattern length required by the second scheme is 9*32767 bits; the pattern length required by this application is 8*4094 bits (requires 8 DQ transmits the victim line code pattern respectively); The code pattern length of the present application is 1/9 of the second scheme.
我们通过仿真分析验证码型的压力,以1位信号的仿真为例,不同传输速率下,仿真结果如图17、图18、图19所示,可以看出本申请受害线码型长度短,但带来的码间干扰和串扰是最大的,能确定出可靠性最高的初始化参数的参考取值。其中EH表示眼高(eye high),EW表示眼宽(eye width)。We use simulation analysis to verify the pressure of the code pattern. Taking the simulation of a 1-bit signal as an example, the simulation results are shown in Figure 17, Figure 18, and Figure 19 under different transmission rates. It can be seen that the code pattern length of the victim line in this application is short. However, the resulting intersymbol interference and crosstalk are the largest, and the reference value of the initialization parameter with the highest reliability can be determined. Among them, EH means eye height (eye high), and EW means eye width (eye width).
Figure PCTCN2022093601-appb-000001
Figure PCTCN2022093601-appb-000001
Figure PCTCN2022093601-appb-000002
Figure PCTCN2022093601-appb-000002
表2Table 2
上述主要从方法流程的角度对本申请提供的方案进行了介绍,下述将从硬件或逻辑划分模块的角度对本申请实施例的技术方案进行详细阐述。可以理解的是,为了实现上述功能,装置可以包括执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。The above mainly introduces the solutions provided by the present application from the perspective of method flow, and the following will elaborate on the technical solutions of the embodiments of the present application from the perspective of hardware or logic division modules. It can be understood that, in order to realize the above functions, the device may include corresponding hardware structures and/or software modules for performing various functions. Those skilled in the art should easily realize that the present application can be implemented in the form of hardware or a combination of hardware and computer software in combination with the units and algorithm steps of each example described in the embodiments disclosed herein. Whether a certain function is executed by hardware or computer software drives hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be regarded as exceeding the scope of the present application.
在采用集成的单元的情况下,图20示出了本申请实施例中所涉及的内存芯片的初始化装置可能的示例性框图,该内存芯片的初始化装置2000可以以软件模块或硬件模块的形式存在。内存芯片的初始化装置2000可以包括:初始化测试单元2001、确定单元2002和传输单元2003。In the case of using an integrated unit, FIG. 20 shows a possible exemplary block diagram of the memory chip initialization device involved in the embodiment of the present application. The memory chip initialization device 2000 may exist in the form of a software module or a hardware module. . The memory chip initialization apparatus 2000 may include: an initialization testing unit 2001 , a determination unit 2002 and a transmission unit 2003 .
一种示例中,该装置可以以软件模块的形式存在,如图7所示的电子设备的固件中包括有用于实现该软件模块。该软件模块的计算机指令可以存储在存储介质中,比如图7中的存储器或者图7中的内存芯片内部的存储空间上。在电子设备开机时,电子设备的处理器会调用固件(例如BIOS)来执行硬件初始化。在这一环节中,处理器会调用存储的用于实现该装置各软件模块的功能的计算机指令,使用第一二进制序列和第二二进制序列对内存芯片做测试,最终得到内存芯片的初始化参数的参考取值,处理器可以根据得到的参考取值配置内存芯片中的寄存器或者处理器中的寄存器,从而实现更可靠的内存芯片的测试,使得处理器和内存芯片直接数据传输更可靠。In an example, the apparatus may exist in the form of a software module, and the firmware of the electronic device as shown in FIG. 7 includes a software module for implementing the software module. The computer instructions of the software module may be stored in a storage medium, such as the memory in FIG. 7 or the storage space inside the memory chip in FIG. 7 . When the electronic device is turned on, the processor of the electronic device calls firmware (such as BIOS) to perform hardware initialization. In this link, the processor will call the stored computer instructions for realizing the functions of each software module of the device, use the first binary sequence and the second binary sequence to test the memory chip, and finally obtain the memory chip The processor can configure the registers in the memory chip or the registers in the processor according to the obtained reference value, so as to realize a more reliable test of the memory chip and make the direct data transmission between the processor and the memory chip more efficient. reliable.
具体地,在一个实施例中,所述初始化测试单元2001,用于采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线中至少一条数据信号线传输所述第二二进制序列,其中跳变为一个二进制序列中相邻两比特值的变化、所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;Specifically, in one embodiment, the initialization testing unit 2001 is configured to use the first binary sequence and the second binary sequence to test the value of the initialization parameter of the memory chip, wherein the second binary sequence The binary sequence has H jumps in the same direction relative to the first binary sequence and 1 reverse jumps relative to the first binary sequence, and the N data signal lines of the memory chip One of the data signal lines transmits the first binary sequence, and at least one data signal line in the other N-1 data signal lines transmits the second binary sequence, wherein the jump becomes two adjacent binary sequences in a binary sequence Changes in bit values, the N is an integer greater than or equal to 2, the H and the I are integers greater than or equal to 1;
所述确定单元2002,用于根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;The determining unit 2002 is configured to determine a reference value of the initialization parameter according to the value range of the initialization parameter obtained by testing;
所述传输单元2003,用于根据所述参考取值与所述内存芯片进行数据传输。The transmission unit 2003 is configured to perform data transmission with the memory chip according to the reference value.
在一种可能的设计中,所述第一二进制序列为可变标记比率伪随机二进制序列。In a possible design, the first binary sequence is a pseudo-random binary sequence with a variable marking ratio.
在一种可能的设计中,所述确定单元2002,还用于对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。In a possible design, the determining unit 2002 is further configured to reversely process one or more transitions in the first binary sequence to determine the second binary sequence.
在一种可能的设计中,所述确定单元2002,还用于以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2 M种编码组合中的一种或多种;将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。 In a possible design, the determining unit 2002 is further configured to divide the first binary sequence in units of M bits, and determine multiple codes in the first binary sequence unit, wherein there is no repeated bit between any two coding units in the plurality of coding units, and the M is an integer greater than or equal to 2; mark the coding unit carrying the target coding combination in the plurality of coding units is the target coding unit, wherein the target coding combination is one or more of the 2 M coding combinations corresponding to the coding unit; the jump in the target coding unit in the first binary sequence is reversed For processing, the second binary sequence is determined.
在一种可能的设计中,所述2 M种编码组合中的一半编码组合为所述目标编码组合。 In a possible design, half of the 2 M coding combinations are the target coding combinations.
在一种可能的设计中,所述初始化参数包括以下中的至少一项:基准电平、数据选通脉冲信号DQS相位调节幅度。In a possible design, the initialization parameters include at least one of the following: a reference level, and a phase adjustment amplitude of the data strobe signal DQS.
作为本实施例的另一种形式,提供一种计算机可读存储介质,其上存储有计算机程序(或指令),该计算机程序在电子设备上运行时,使得电子设备可以执行上述方法实施例中的内存芯片的测试方法。作为一种示例,如图8所示,计算机可读存储介质可以为电子设备中的存储器,存储器中存储的BIOS中存储有用于实现内存芯片的测试方法的计算机程序,电子设备中的处理器可以调度并运行所述计算机程序,实现上述方法实施例中的内存芯片的测试方法。As another form of this embodiment, a computer-readable storage medium is provided, on which a computer program (or instruction) is stored, and when the computer program runs on an electronic device, the electronic device can execute the method described in the above-mentioned embodiment. The test method of the memory chip. As an example, as shown in FIG. 8, the computer-readable storage medium may be a memory in an electronic device, and the BIOS stored in the memory stores a computer program for implementing a test method for a memory chip, and the processor in the electronic device may Scheduling and running the computer program to implement the memory chip testing method in the above method embodiment.
作为本实施例的另一种形式,提供一种计算机程序产品,所述计算机程序产品包括用于实现内存芯片的测试方法的计算机程序,当所述计算机程序执行时,可以实现上述方法实施例中的内存芯片的测试方法。作为一种示例:如图8所示,可以将所述计算机程序产品写入电子设备的存储器(或BIOS中),电子设备中的处理器可以调度并运行所述计算机程序产品包括的计算机程序,实现上述方法实施例中的内存芯片的测试方法。As another form of this embodiment, a computer program product is provided. The computer program product includes a computer program for implementing a memory chip testing method. When the computer program is executed, it can implement the method in the above-mentioned embodiment. The test method of the memory chip. As an example: as shown in FIG. 8, the computer program product may be written into the memory of the electronic device (or in the BIOS), and the processor in the electronic device may schedule and run the computer program included in the computer program product, The method for testing the memory chip in the above method embodiment is realized.
作为本实施例的另一种形式,提供一种芯片系统,所述芯片系统包括:处理器和接口,所述处理器用于从所述接口调用并执行用于实现内存芯片的测试方法的计算机程序,当所述处理器执行所述计算机程序时,实现上述方法实施例中的内存芯片的测试方法。作为一种示例,所述接口可以为接口电路,如图8所示,处理器可以通过连接处理器和存储器的接口电路,调用并执行存储器中存储的用于实现内存芯片的测试方法的计算机程序,实现上述方法实施例中的内存芯片的测试方法。As another form of this embodiment, a chip system is provided, the chip system includes: a processor and an interface, and the processor is used to call and execute a computer program for implementing a test method of a memory chip from the interface , when the processor executes the computer program, the memory chip testing method in the above method embodiment is realized. As an example, the interface can be an interface circuit, as shown in Figure 8, the processor can call and execute the computer program stored in the memory for implementing the test method of the memory chip through the interface circuit connecting the processor and the memory , implementing the method for testing the memory chip in the above method embodiment.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowcharts and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present application. It should be understood that each procedure and/or block in the flowchart and/or block diagram, and a combination of procedures and/or blocks in the flowchart and/or block diagram can be realized by computer program instructions. These computer program instructions may be provided to a general purpose computer, special purpose computer, embedded processor, or processor of other programmable data processing equipment to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing equipment produce a An apparatus for realizing the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装 置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions The device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby The instructions provide steps for implementing the functions specified in the flow chart or blocks of the flowchart and/or the block or blocks of the block diagrams.
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。While preferred embodiments of the present application have been described, additional changes and modifications to these embodiments can be made by those skilled in the art once the basic inventive concept is appreciated. Therefore, the appended claims are intended to be construed to cover the preferred embodiment and all changes and modifications which fall within the scope of the application.
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Apparently, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. In this way, if the modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and equivalent technologies, the present application also intends to include these modifications and variations.

Claims (16)

  1. 一种内存芯片的测试方法,其特征在于,包括:A method for testing a memory chip, characterized in that it comprises:
    采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列,其它N-1条数据信号线中一条或多条数据信号线传输所述第二二进制序列,其中跳变为一个二进制序列中相邻两比特值的变化、所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;The value of the initialization parameter of the memory chip is tested by using the first binary sequence and the second binary sequence, wherein the second binary sequence has H values corresponding to the first binary sequence To jump and 1 reverse jump relative to the first binary sequence, one data signal line in the N data signal lines of the memory chip transmits the first binary sequence, and the other N- One or more data signal lines in one data signal line transmit the second binary sequence, wherein the jump is a change of two adjacent bit values in a binary sequence, and the N is an integer greater than or equal to 2, The H and the I are integers greater than or equal to 1;
    根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;Determine the reference value of the initialization parameter according to the value range of the initialization parameter obtained by the test;
    根据所述参考取值与所述内存芯片进行数据传输。Data transmission is performed with the memory chip according to the reference value.
  2. 如权利要求1所述的方法,其特征在于,所述第一二进制序列为可变标记比率伪随机二进制序列。The method according to claim 1, wherein the first binary sequence is a variable marking ratio pseudo-random binary sequence.
  3. 如权利要求1或2所述的方法,其特征在于,通过以下方式确定所述第二二进制序列:The method according to claim 1 or 2, wherein the second binary sequence is determined in the following manner:
    对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。performing reverse processing on one or more jumps in the first binary sequence to determine the second binary sequence.
  4. 如权利要求1-3中任一项所述的方法,其特征在于,通过以下方式确定所述第二二进制序列:The method according to any one of claims 1-3, wherein the second binary sequence is determined in the following manner:
    以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;dividing the first binary sequence in units of every M bits, and determining a plurality of coding units in the first binary sequence, wherein any two coding units in the plurality of coding units There is no repeated bit between, and the M is an integer greater than or equal to 2;
    将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2 M种编码组合中的一种或多种; Mark the coding unit carrying the target coding combination among the multiple coding units as the target coding unit, where the target coding combination is one or more of the 2 M coding combinations corresponding to the coding unit;
    将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。performing reverse processing on transitions in the target coding unit in the first binary sequence to determine the second binary sequence.
  5. 如权利要求4所述的方法,其特征在于,所述2 M种编码组合中的一半编码组合为所述目标编码组合。 The method according to claim 4, wherein half of the 2 M coding combinations are the target coding combinations.
  6. 如权利要求1-5中任一项所述的方法,其特征在于,所述初始化参数包括以下中的至少一项:The method according to any one of claims 1-5, wherein the initialization parameters include at least one of the following:
    基准电平、数据选通脉冲信号DQS相位调节幅度。Reference level, data strobe pulse signal DQS phase adjustment range.
  7. 一种内存芯片的初始化装置,其特征在于,包括:初始化测试单元、确定单元和传输单元;An initialization device for a memory chip, characterized in that it includes: an initialization test unit, a determination unit, and a transmission unit;
    所述初始化测试单元,用于采用第一二进制序列和第二二进制序列对内存芯片的初始化参数的取值进行测试,其中所述第二二进制序列具有H个相对于所述第一二进制序列的同向跳变和I个相对于所述第一二进制序列的反向跳变,所述内存芯片的N条数据信号线中一条数据信号线传输所述第一二进制序列、其它N-1条数据信号线中一条或多条数据信号线传输所述第二二进制序列,其中跳变为一个二进制序列中相邻两比特值的变化、所述N为大于或等于2的整数、所述H和所述I为大于或等于1的整数;The initialization test unit is used to test the value of the initialization parameter of the memory chip by using the first binary sequence and the second binary sequence, wherein the second binary sequence has H values corresponding to the The jump in the same direction of the first binary sequence and one reverse jump relative to the first binary sequence, one data signal line in the N data signal lines of the memory chip transmits the first The binary sequence, one or more data signal lines in the other N-1 data signal lines transmit the second binary sequence, wherein the jump is the change of two adjacent bit values in a binary sequence, the N is an integer greater than or equal to 2, said H and said I are integers greater than or equal to 1;
    所述确定单元,用于根据测试得到的所述初始化参数的取值范围,确定所述初始化参数的参考取值;The determination unit is configured to determine the reference value of the initialization parameter according to the value range of the initialization parameter obtained by testing;
    所述传输单元,用于根据所述参考取值与所述内存芯片进行数据传输。The transmission unit is configured to perform data transmission with the memory chip according to the reference value.
  8. 如权利要求7所述的装置,其特征在于,所述第一二进制序列为可变标记比率伪随机二进制序列。The device according to claim 7, wherein the first binary sequence is a variable marking ratio pseudo-random binary sequence.
  9. 如权利要求7或8所述的装置,其特征在于,所述确定单元,还用于对所述第一二进制序列中一个或多个跳变进行反向处理,确定所述第二二进制序列。The device according to claim 7 or 8, wherein the determining unit is further configured to reversely process one or more jumps in the first binary sequence to determine the second binary sequence binary sequence.
  10. 如权利要求7-9中任一项所述的装置,其特征在于,所述确定单元,还用于以每M个比特为单位对所述第一二进制序列进行划分,在所述第一二进制序列中确定多个编码单元,其中所述多个编码单元中的任意两个编码单元之间不存在重复比特,所述M为大于或等于2的整数;将所述多个编码单元中携带目标编码组合的编码单元标记为目标编码单元,其中所述目标编码组合为所述编码单元对应的2 M种编码组合中的一种或多种;将所述第一二进制序列中目标编码单元中的跳变进行反向处理,确定所述第二二进制序列。 The device according to any one of claims 7-9, wherein the determining unit is further configured to divide the first binary sequence in units of every M bits, and in the A plurality of coding units are determined in a binary sequence, wherein there is no repeated bit between any two coding units in the plurality of coding units, and the M is an integer greater than or equal to 2; the plurality of coding units The coding unit carrying the target coding combination in the unit is marked as the target coding unit, wherein the target coding combination is one or more of the 2 M coding combinations corresponding to the coding unit; the first binary sequence The transition in the target coding unit is reversely processed to determine the second binary sequence.
  11. 如权利要求10所述的装置,其特征在于,所述2 M种编码组合中的一半编码组合为所述目标编码组合。 The device according to claim 10, wherein half of the 2 M coding combinations are the target coding combinations.
  12. 如权利要求7-11中任一项所述的装置,其特征在于,所述初始化参数包括以下中的至少一项:The device according to any one of claims 7-11, wherein the initialization parameters include at least one of the following:
    基准电平、数据选通脉冲信号DQS相位调节幅度。Reference level, data strobe pulse signal DQS phase adjustment range.
  13. 一种电子设备,其特征在于,包括处理器、存储器和内存芯片;An electronic device, characterized in that it includes a processor, a memory and a memory chip;
    所述存储器,用于存储程序指令;The memory is used to store program instructions;
    所述处理器,用于通过调用所述存储器存储的程序指令,通过所述内存芯片执行如权利要求1-6中任一项所述的方法。The processor is configured to execute the method according to any one of claims 1-6 through the memory chip by calling program instructions stored in the memory.
  14. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-6中任一项所述的方法。A computer-readable storage medium, characterized in that the computer-readable storage medium is used to store a computer program, and when the computer program is run on an electronic device, the electronic device executes the method described in claims 1-6. any one of the methods described.
  15. 一种芯片系统,其特征在于,所述芯片系统包括:A chip system, characterized in that the chip system includes:
    处理器和接口,所述处理器用于从所述接口调用并执行计算机程序,当所述处理器执行所述计算机程序时,实现如权利要求1-6中任一项所述的方法。A processor and an interface, the processor is used to invoke and execute a computer program from the interface, and when the processor executes the computer program, the method according to any one of claims 1-6 is realized.
  16. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当所述计算机程序执行时,实现如权利要求1-6中任一项所述的方法。A computer program product, characterized in that the computer program product includes a computer program, and when the computer program is executed, the method according to any one of claims 1-6 is implemented.
PCT/CN2022/093601 2021-05-31 2022-05-18 Method and apparatus for testing memory chip WO2022252987A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110601640.8A CN115482873A (en) 2021-05-31 2021-05-31 Memory chip testing method and device
CN202110601640.8 2021-05-31

Publications (1)

Publication Number Publication Date
WO2022252987A1 true WO2022252987A1 (en) 2022-12-08

Family

ID=84322771

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/093601 WO2022252987A1 (en) 2021-05-31 2022-05-18 Method and apparatus for testing memory chip

Country Status (2)

Country Link
CN (1) CN115482873A (en)
WO (1) WO2022252987A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243354A1 (en) * 2011-03-24 2012-09-27 Texas Instruments Incorporated Repairing Soft Failures in Memory Cells in SRAM Arrays
CN104810062A (en) * 2015-05-12 2015-07-29 东南大学 PUF (polyurethane foam) feature test method and device of SRAM (static random access memory) chip
CN109961824A (en) * 2019-03-27 2019-07-02 苏州浪潮智能科技有限公司 A kind of internal storage testing method
CN110928736A (en) * 2019-12-06 2020-03-27 迈普通信技术股份有限公司 Memory parameter debugging method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120243354A1 (en) * 2011-03-24 2012-09-27 Texas Instruments Incorporated Repairing Soft Failures in Memory Cells in SRAM Arrays
CN104810062A (en) * 2015-05-12 2015-07-29 东南大学 PUF (polyurethane foam) feature test method and device of SRAM (static random access memory) chip
CN109961824A (en) * 2019-03-27 2019-07-02 苏州浪潮智能科技有限公司 A kind of internal storage testing method
CN110928736A (en) * 2019-12-06 2020-03-27 迈普通信技术股份有限公司 Memory parameter debugging method and device

Also Published As

Publication number Publication date
CN115482873A (en) 2022-12-16

Similar Documents

Publication Publication Date Title
JP6884138B2 (en) Low Power Double Error Correction-Triple Error Detection (DEC-TED) Decoder
JP5283393B2 (en) Memory system and method of handling instructions of the system
KR101753714B1 (en) Method and apparatus for treatment of state confidence data retrieved from a non-volatile memory array
US9166625B2 (en) Circuits, integrated circuits, and methods for interleaved parity computation
US11010062B2 (en) Method for providing read data flow control or error reporting using a read data strobe
US9923578B2 (en) Parity check circuit and memory device including the same
CN1959686A (en) Methods and system to model arrangements of asynchronous interface
CN103218271B (en) A kind of data error-correcting method and device
JP2020508515A (en) Realizing a single data rate (SDR) mode or a double data rate (DDR) mode for a command and address (CA) bus of a registering clock drive (RCD) for a dynamic random access memory (DRAM)
KR20120098326A (en) Semiconductor apparatus and method of processing data
US10860518B2 (en) Integrated circuit system
JP2015506039A (en) Integrated data masking, data poisoning and data bus inversion signaling
WO2023216751A1 (en) Memory check pin processing method and apparatus, device, storage medium, and computer program product
TWI827438B (en) Memory system and operating method thereof
WO2022252987A1 (en) Method and apparatus for testing memory chip
US11586419B2 (en) Dynamic pseudo-random bit sequence generator and methods therefor
US10566996B2 (en) Energy efficient adaptive data encoding method and circuit
CN203250306U (en) Efficient hardware CRC verifying device
US10635628B2 (en) Host controller apparatus, host controller device, and method for a host controller for determining information related to a time shift for transmitting instructions on a command and address bus, host controller and computer system
US11893240B2 (en) Reducing latency in pseudo channel based memory systems
TWI823436B (en) Apparatus and method for generating low-density parity-check (ldpc) code
US11594268B2 (en) Memory device deserializer circuit with a reduced form factor
TW201822199A (en) Memory control device and memory control method
US20090290594A1 (en) Method and Device for Transmitting Signal Between Devices
WO2023159734A1 (en) Data transmission circuit, data transmission method, and memory

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: 22815034

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE