Patent Publication Number: US-2023139518-A1

Title: Method and device for testing memory array structure, and storage medium

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     The application is a continuation of International Patent Application No. PCT/CN2021/136448, filed on Dec. 8, 2021, which claims priority to Chinese Patent Application No. 202111282629.6, filed on Nov. 1, 2021 and entitled “METHOD AND DEVICE FOR TESTING MEMORY ARRAY STRUCTURE, AND STORAGE MEDIUM”. The disclosures of International Patent Application No. PCT/CN2021/136448 and Chinese Patent Application No. 202111282629.6, are hereby incorporated by reference in their entireties. 
    
    
     BACKGROUND 
     During IC design, reverse design is usually required. The reverse design analyzes and makes reference to an internal structure of an existing chip. 
     However, due to characteristics such as micro-size, large-scale integration of the chip, or the like, implementation of the reverse design requires usage of a dedicated reverse test device which is costly and complicated to operate. With critical dimensions of the chip decreasing continuously, the reverse test device becomes more and more difficult to meet the requirements of the reverse design. 
     SUMMARY 
     The disclosure relates to the technical field of integrated circuit (IC) designs, and in particular to a method and device for testing a memory array structure, and a non-transitory storage medium. 
     In a first aspect, a method for testing a memory array structure is provided. The method includes the following operations. 
     Respective storage data corresponding to each preset test pattern is written into a to-be-tested memory array, where the each preset test pattern is one of preset test patterns in a preset test pattern library. 
     A row aggressing test is repeatedly performed on the to-be-tested memory array until a bit error occurs in the storage data, to obtain row aggressing test times corresponding to the each preset test pattern of the to-be-tested memory array, where the bit error characterizes that the storage data has changed. 
     A target preset test pattern corresponding to the to-be-tested memory array is determined from the preset test pattern library based on the row aggressing test times. 
     An array structure of the to-be-tested memory array is determined based on the target preset test pattern. 
     In a second aspect, a device for testing a memory array structure is provided. The device includes a memory and a processor. 
     The memory is configured to store instructions executable by the processor. 
     The processor is configured to perform, when executing the executable instructions stored in the memory, operations including: 
     writing respective storage data corresponding to each preset test pattern into a to-be-tested memory array, where the each preset test pattern is one of preset test patterns in a preset test pattern library; 
     repeatedly performing a row aggressing test on the to-be-tested memory array until a bit error occurs in the storage data, to obtain row aggressing test times corresponding to the each preset test pattern of the to-be-tested memory array, where the bit error characterizes that the storage data has changed; 
     determining, based on the row aggressing test times, a target preset test pattern corresponding to the to-be-tested memory array from the preset test pattern library; and 
     determining an array structure of the to-be-tested memory array based on the target preset test pattern. 
     In a third aspect, a non-transitory storage medium is provided. The non-transitory storage medium stores executable instructions that, when executed by a processor, cause the processor to perform operations including: 
     writing respective storage data corresponding to each preset test pattern into a to-be-tested memory array, where the each preset test pattern is one of preset test patterns in a preset test pattern library; 
     repeatedly performing a row aggressing test on the to-be-tested memory array until a bit error occurs in the storage data, to obtain row aggressing test times corresponding to the each preset test pattern of the to-be-tested memory array, where the bit error characterizes that the storage data has changed; 
     determining, based on the row aggressing test times, a target preset test pattern corresponding to the to-be-tested memory array from the preset test pattern library; and 
     determining an array structure of the to-be-tested memory array based on the target preset test pattern. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a schematic architectural diagram of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  2    is a first flowchart of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  3    is a first schematic diagram of effects of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  4    is a second schematic diagram of effects of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  5    is a third schematic diagram of effects of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  6    is a fourth schematic diagram of effects of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  7    is a second flowchart of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  8    is a third flowchart of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  9    is a fourth flowchart of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  10    is a fifth flowchart of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  11    is a sixth flowchart of a method for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  12    is a first schematic structural diagram of a device for testing a memory array structure according to an embodiment of the disclosure. 
         FIG.  13    is a second schematic structural diagram of a device for testing a memory array structure according to an embodiment of the disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     In order to make the objectives, technical solutions and advantages of the disclosure clearer, the technical solutions of the disclosure are further described in detail below with reference to the accompanying drawings and embodiments. The described embodiments shall not be construed as limitation of the disclosure. All other embodiments obtained by those of ordinary skill in the art without paying any creative work shall fall within the scope of protection of the disclosure. 
     In the following descriptions, reference is made to “some embodiments” which describe a subset of all possible embodiments. However, it may be understood that “some embodiments” may be a same or different subset of all possible embodiments and may be combined with each other without conflict. 
     When “first/second” or a similar description appears in the application document, the following explanations are added. In the following descriptions, the term “first/second/third” involved is intended only to distinguish similar objects and does not represent a specific order for the objects. It may be understood that “first/second/third” may interchange a specific order or ranking where allowed, so that the embodiments of the disclosure described here may be implemented in an order other than those illustrated or described here. 
     Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the art to which the disclosure belongs. The terms used herein are intended only to describe the embodiments of the disclosure, and are not intended to limit the disclosure. 
     During IC design, it is usually necessary to analyze and make reference to an internal structure of an existing chip, that is, reverse design is required. In particular, manufacturers which start late in design and production have a big gap with respect to international advanced design and production manufacturers, and need to learn from and make reference to design methods and experience of other manufacturers. 
     However, design methods of various manufacturers are usually not disclosed to the public, and in order to understand internal structures of their chips, it is usually necessary to use a dedicated reverse test device which is costly and complicated to operate. For example, ADVANTEST T5503HS is a conventional Automatic Test Equipment (ATE) testing machine capable of achieving certain testing and analysis operations of SDRAM array, however, it is expensive and may cost up to 2 million dollars per each machine. Furthermore, the ATE testing machine has complicated operation processes, including Depot, Delayering, Imaging, Stitching, Aligning, Annotation, Extraction, Analysis, Schematic Capture, Netlist, Simulation, Verification, and Reports. Therefore, the ATE testing machine cannot be popularized easily. 
     On the other hand, with continuous development of IC technologies, integration of chip becoming higher and higher, testing and analysis operations of an internal structure of the chip become more and more difficult, and the existing test devices become more and more difficult to meet the requirements of the reverse design. 
     In view of the above problems, it is desirable that the embodiments of the disclosure provide a method and device for testing a memory array structure, and a storage medium, which can determine the memory array structure without using conventional reverse test devices, thereby reducing the cost of the reverse design and simplifying the reverse design process. 
       FIG.  1    is an optional schematic architectural diagram of a method for testing a memory array structure according to an embodiment of the disclosure. As shown in  FIG.  1   , the embodiment of the disclosure may test and analyze SDRAM  02  based on a Field Programmable Gate Array (FPGA)  01 . The embodiment of the disclosure may develop a customized memory controller  03  and a Double Data Rate (DDR) Physical Layer (PHY)  04  based on FPGA  01  platform, to transmit any command that meets the requirement of Joint Electron Device Engineering Council (JEDEC) to any specified address within SDRAM  02 . The memory controller  03  and the DDR PHY  04  are located in a Central Processing Unit (CPU) or a System on Chip (SoC) main control chip, the memory controller  03  is connected to the DDR PHY  04 , and the DDR PHY  04  is externally connected to SDRAM  02 . The memory controller  03  is responsible for transmitting commands such as read/write to the DDR PHY  04 ; and the DDR PHY  04  translates the commands into control signals and transmits them to respective pins on SDRAM  02 . 
       FIG.  2    is an optional schematic flowchart of a method for testing a memory array structure according to an embodiment of the disclosure, which will be described with reference to operations shown in  FIG.  2   . 
     In S 101 , respective storage data corresponding to each preset test pattern is written into a to-be-tested memory array, where the preset test pattern is one of preset test patterns in a preset test pattern library. 
     In the embodiment of the disclosure, a test device may write respective storage data corresponding to each preset test pattern into the to-be-tested memory array. 
     It should be noted that the preset test pattern library is preset in the test device, and different preset test patterns correspond to different storage data; certain storage data is written into the memory array, so that memory cells in the memory array have corresponding charge storage conditions. A technician may prepare to-be-tested memory arrays belonging to the same batch, for analysis and testing, and the to-be-tested memory arrays have the same array structure. All of the to-be-tested memory arrays are analyzed and tested, the analysis results obtained are more reliable than results obtained by analyzing and testing a single to-be-tested memory array only. 
     In the embodiment of the disclosure, firstly, the test device may partition memory cells of the to-be-tested memory array into Aggressor Row and Victim Row located adjacent to each other in the array structure. As shown in  FIG.  3   , A 10 , A 11 , A 12  and A 13  are partitioned as aggressor rows, and a word line (WL) where they are located is referred to as an aggressor row WL (WL AGGR ); V 00 , V 01 , V 02  and V 03  as well as V 20 , V 21 , V 22  and V 23  are partitioned as victim rows, and WLs where they are located are referred to as victim row WLs (WL VICT ). 
     Then, the test device may write aggressor row storage data into the aggressor row and write victim row storage data into the victim row. The aggressor row storage data is characterized as alternately changing binary codes, and the victim row storage data is characterized as continuously identical binary codes. For example, the test device may sequentially and alternately write, into the aggressor row, 01010101 and 10101010, i.e., 0x55 and 0xAA in hexadecimal, according to a first preset test pattern. That is, the test device may sequentially write 0x55, AA, 55, AA . . . or 0xAA, 55, AA, 55 . . . into the aggressor row; and continuously write, into the victim row, 00000000 or 11111111, i.e., 0x00 or 0xFF in hexadecimal, that is, sequentially write 0x00, 00, 00, 00 . . . or 0xFF, FF, FF, FF . . . into the victim row. For another example, the test device may continuously write 01010101 or 10101010 into the aggressor row according to a second preset test pattern, that is, continuously write 0x55, 55, 55, 55 . . . or 0xAA, AA, AA, AA . . . into the aggressor row; and continuously write 00000000 or 11111111 into the victim row, that is, sequentially write 0x00, 00, 00, 00 . . . or 0xFF, FF, FF, FF . . . into the victim row. 
     In S 102 , a row aggressing test is repeatedly performed on the to-be-tested memory array until a bit error occurs in the storage data, to obtain row aggressing test times corresponding to the each preset test pattern of the to-be-tested memory array, where the bit error characterizes that the storage data has changed. 
     In the embodiment of the disclosure, after writing the storage data, the test device may repeatedly perform the row aggressing test on the to-be-tested memory array; and stop the row aggressing test when occurrence of the bit error is detected in the storage data, and record corresponding row aggressing test times. 
     In the embodiment of the disclosure, the test device may perform the row aggressing test in a manner of Row Hammer. Referring to  FIG.  3   , the test device may perform ACT and PRE on the aggressor rows A 10 , A 11 , A 12  and A 13  quickly, repeatedly and alternately (that is, ACT-&gt;PRE-&gt;ACT-&gt;PRE . . . ). Performing ACT and PRE once is equivalent to performing quick access to the aggressor row once, which may generate interference to adjacent victim rows. The victim rows may discharge slowly due to frequent interference, and when the amount of charge stored in a victim memory cell is lower than a critical value as a result of the discharge, the bit error occurs, that is, the stored data changes, for example, from 1 to 0. 
     Furthermore, the test device may read existing storage data in the to-be-tested memory array at any time, and compare it with the written storage data; when the read storage data is different from the written storage data, that is, the bit error occurs, the row aggressing test is stopped and corresponding test times are recorded. 
     In S 103 , a target preset test pattern corresponding to the to-be-tested memory array is determined from the preset test pattern library based on the row aggressing test times. 
     In the embodiment of the disclosure, with respect to the to-be-tested memory array, the test device may determine the target preset test pattern corresponding to the to-be-tested memory array from the preset test pattern library based on the row aggressing test times. 
     In the embodiment of the disclosure, the test device may determine minimum row aggressing test times as target test times; and then determine the target preset test pattern corresponding to the target test times from the preset test pattern library. The target test times are the minimum row aggressing test times, and the target preset test pattern corresponding to the target test times is a test pattern in which bit error is easiest to occur. 
     For example, with respect to a preset test pattern, 10,000 ACT-PRE operations are performed on an aggressor row in the to-be-tested memory array, and then errors of data of adjacent victim rows are checked (i.e., checking whether a bit error occurs). When there is no error, 20,000 ACT-PRE operations are performed on the aggressor row, and then errors of data of the adjacent victim rows are checked. These processes are repeated until the bit error occurs in the adjacent victim rows, and the row aggressing test times corresponding to the preset test pattern are recorded, for example, occurrence of the bit error begins in the adjacent victim rows after 100,000 ACT-PRE operations. Then, with respect to another preset test pattern, the above processes are repeated for the same aggressor row in the to-be-tested memory array, until the bit error occurs in the adjacent victim rows, for example, occurrence of the bit error begins in the adjacent victim rows after 200,000 ACT-PRE operations. Then the preset test pattern corresponding to 100,000 times may be determined as the target preset test pattern. 
     In S 104 , an array structure of the to-be-tested memory array is determined based on the target preset test pattern. 
     In the embodiment of the disclosure, the test device may obtain the target preset test pattern of the to-be-tested memory array according to the above method. After all target preset test patterns corresponding to to-be-tested memory arrays having the same array structure are obtained, the array structures of the to-be-tested memory arrays may be determined based on the target preset test patterns. 
     It should be noted that the degree of difficulty or ease of occurrence of the bit error in the victim row is related to charge storage conditions in memory cells around it. As shown in  FIG.  4   , when the victim row V 20  is in a fully charged state while each of the memory cells around it is in an uncharged state, the victim row V 20  is easiest to be affected by Row Hammer and thus subjected to the bit error, that is, occurrence of the bit error may be detected through minimum times of row aggressing tests. Therefore, charge states of the memory cells around the victim row may be reflected based on the row aggressing test times; and then the array structure of the to-be-tested memory array may be deduced by combining with contents of the written storage data. 
     For example, when the target preset test pattern of the to-be-tested memory array is the first preset test pattern, the test device may determine that the array structure of the to-be-tested memory array is a first array structure. The first array structure is characterized by placing N continuous transmission bits of an m-th signal together, here m is greater than or equal to zero and less than or equal to M−1, and each of M and N is a multiple of 8.  FIG.  5    shows characteristics of the first array structure. As shown in  FIG.  5   , eight continuous transmission bits (burst length) Y=0 to Y=7 of the 0−th signal DQ 0  are placed together in a group, here the burst length characterizes the amount of data throughput of the memory array at a time. 
     For another example, when the target preset test pattern of the to-be-tested memory array is the second preset test pattern, the test device may determine that the array structure of the to-be-tested memory array is a second array structure. The second array structure is characterized by placing the n-th continuous transmission bits of M signals together, here n is greater than or equal to zero and less than or equal to N−1, and each of M and N is a multiple of 8.  FIG.  6    shows characteristics of the second array structure. As shown in  FIG.  6   , the 0−th continuous transmission bit Y=0 of eight signals DQ 0  to DQ 7  are placed together in a group. 
     It may be understood that according to the preset test pattern, the storage data is written into the to-be-tested memory array, then the row aggressing test is repeatedly performed on the to-be-tested memory array, and the row aggressing test times are recorded when the bit error occurs, to determine the target preset test pattern. Because the target preset test patterns, in which bit error is easiest to occur, corresponding to different array structures are different, the array structure of the to-be-tested memory array may be deduced by determining the target preset test pattern. Therefore, the array structure of the memory array may be determined based on the FPGA platform only without using an expensive and complicated testing machine, thereby reducing the cost of reverse design and simplifying the reverse design process. 
     In some embodiments of the disclosure, the to-be-tested memory array may include an aggressor row and a victim row located adjacent to each other in the array structure of the to-be-tested memory array. 
     The storage data may include aggressor row storage data and victim row storage data. The aggressor row storage data is characterized as alternately changing binary codes, such as 01010101 or 10101010, i.e., 0x55 or 0xAA in hexadecimal. The victim row storage data is characterized as continuously identical binary codes, such as 00000000 or 11111111, i.e., 0x00 or 0xFF in hexadecimal. 
     The preset test pattern library may include a first preset test pattern and a second preset test pattern, and the array structure may include a first array structure and a second array structure. 
     In some embodiments of the disclosure, the operation S 101  shown in  FIG.  2    may be implemented by an operation S 1011  shown in  FIG.  7   , which will be described with reference to respective operations. 
     In S 1011 , for each preset test pattern, a respective aggressor row storage data is written into the aggressor row and a respective victim row storage data is written into the victim row. 
     In the embodiment of the disclosure, for each preset test pattern, the test device may write the respective aggressor row storage data into the aggressor row of the to-be-tested memory array and write the respective victim row storage data into the victim row of the to-be-tested memory array. 
     It should be noted that when the victim row is in a fully charged state while each of the memory cells around it is in an uncharged state, the victim row is easiest to be affected by Row Hammer and thus subjected to the bit error. Therefore, the above situation may occur in the memory cell by writing alternately changing binary codes into the aggressor row and writing continuously identical binary codes into the victim row, for example, each of C 1 , C 2  and C 3  illustrated in  FIG.  5    and C 4 , C 5  and C 6  illustrated in  FIG.  6    is in the fully charged state, while each of the memory cells around them is in the uncharged state. 
     It may be understood that the aggressor row storage data is set to alternately changing binary codes, the victim row storage data is set to continuously identical binary codes, and the two types of codes are written into the to-be-tested memory array, respectively. Therefore, charge distribution situation prone to bit error may be generated in the memory array, so that the bit error may be induced by the row aggressing test to obtain row aggressing test times. 
     In some embodiments of the disclosure, the operation S 104  shown in  FIG.  2    may be implemented by an operation S 1041 , which will be described with reference to respective operations. 
     In S 1041 , when the target preset test pattern is the first preset test pattern, a first array structure of the to-be-tested memory array is determined based on the first preset test pattern. 
     In the embodiment of the disclosure, the test device may write the storage data into both the aggressor row and the victim row, according to the first preset test pattern. When the first preset test pattern is finally determined as the target preset test pattern, the test device may determine, based on the first preset test pattern, the array structure of the to-be-tested memory array as the first array structure. 
     For example, the first preset test pattern characterizes sequentially writing 0x55, AA, 55, AA . . . or 0xAA, 55, AA, 55 . . . into the aggressor row; and sequentially writing 0x00, 00, 00, 00 . . . or 0xFF, FF, FF, FF . . . into the victim row. The first array structure is characterized by placing N continuous transmission bits of an m-th signal together, here m is greater than or equal to zero and less than or equal to M−1, and each of M and N is a multiple of 8. 
     In some embodiments of the disclosure, the operation S 104  shown in  FIG.  2    may be implemented by an operation S 1042 , which will be described with reference to respective operations. 
     In S 1042 , when the target preset test pattern is the second preset test pattern, a second array structure of the to-be-tested memory array is determined based on the second preset test pattern. 
     In the embodiment of the disclosure, the test device may write the storage data into both the aggressor row and the victim row, according to the second preset test pattern. When the second preset test pattern is finally determined as the target preset test pattern, the test device may determine, based on the second preset test pattern, the array structures of at least two to-be-tested memory arrays as the second array structure. 
     For example, the second preset test pattern characterizes continuously writing 0x55, 55, 55, 55 . . . or 0xAA, AA, AA, AA . . . into the aggressor row; and sequentially writing 0x00, 00, 00, 00 . . . or 0xFF, FF, FF, FF . . . into the victim row. The second array structure is characterized by placing the n-th continuous transmission bits of M signals together, here n is greater than or equal to zero and less than or equal to N−1, and each of M and N is a multiple of 8. 
     In some embodiments of the disclosure, the aggressor row storage data may include first aggressor row sub-storage data and second aggressor row sub-storage data having opposite values, such as 0x55 and 0xAA, at each corresponding data bit thereof. The victim row storage data may include first victim row sub-storage data and second victim row sub-storage data having opposite values, such as 0x00 and 0xFF, at each corresponding data bit thereof. 
     In some embodiments of the disclosure, the operation S 1011  shown in  FIG.  7    may be implemented by operations S 201 ˜S 204 , which will be described with reference to respective operations. 
     In S 201 , according to the first preset test pattern, the first aggressor row sub-storage data and the second aggressor row sub-storage data are sequentially and alternately written into the aggressor row, and the first victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the first preset test pattern, the test device may sequentially and alternately write the first aggressor row sub-storage data and the second aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row. For example, the test device may sequentially and alternately write 0x55, AA, 55, AA . . . into the aggressor row and continuously write 0x00, 00, 00, 00 . . . into the victim row. 
     In S 202 , according to the first preset test pattern, the first aggressor row sub-storage data and the second aggressor row sub-storage data are sequentially and alternately written into the aggressor row, and the second victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the first preset test pattern, the test device may also sequentially and alternately write the first aggressor row sub-storage data and the second aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row. For example, the test device may sequentially and alternately write 0x55, AA, 55, AA . . . into the aggressor row and continuously write 0xFF, FF, FF, FF . . . into the victim row. 
     In S 203 , according to the first preset test pattern, the second aggressor row sub-storage data and the first aggressor row sub-storage data are sequentially and alternately written into the aggressor row, and the first victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the first preset test pattern, the test device may also sequentially and alternately write the second aggressor row sub-storage data and the first aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row. For example, the test device may sequentially and alternately write 0xAA, 55, AA, 55 . . . into the aggressor row and continuously write 0x00, 00, 00, 00 . . . into the victim row. 
     In S 204 , according to the first preset test pattern, the second aggressor row sub-storage data and the first aggressor row sub-storage data are sequentially and alternately written into the aggressor row, and the second victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the first preset test pattern, the test device may also sequentially and alternately write the second aggressor row sub-storage data and the first aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row. For example, the test device may sequentially and alternately write 0xAA, 55, AA, 55 . . . into the aggressor row and continuously write 0xFF, FF, FF, FF . . . into the victim row. 
     In some embodiments of the disclosure, the operation S 1011  shown in  FIG.  7    may be implemented by operations S 301 ˜S 304 , which will be described with reference to respective operations. 
     In S 301 , according to the second preset test pattern, the first aggressor row sub-storage data is continuously written into the aggressor row, and the first victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the second preset test pattern, the test device may continuously write the first aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row. For example, the test device may continuously write 0x55, 55, 55, 55 . . . into the aggressor row and continuously write 0x00, 00, 00, 00 . . . into the victim row. 
     In S 302 , according to the second preset test pattern, the first aggressor row sub-storage data is continuously written into the aggressor row, and the second victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the second preset test pattern, the test device may also continuously write the first aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row. For example, the test device may continuously write 0x55, 55, 55, 55 . . . into the aggressor row and continuously write 0xFF, FF, FF, FF . . . into the victim row. 
     In S 303 , according to the second preset test pattern, the second aggressor row sub-storage data is continuously written into the aggressor row, and the first victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the second preset test pattern, the test device may also continuously write the second aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row. For example, the test device may continuously write 0xAA, AA, AA, AA . . . into the aggressor row and continuously write 0x00, 00, 00, 00 . . . into the victim row. 
     In S 304 , according to the second preset test pattern, the second aggressor row sub-storage data is continuously written into the aggressor row, and the second victim row sub-storage data is continuously written into the victim row. 
     In the embodiment of the disclosure, according to the second preset test pattern, the test device may also continuously write the second aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row. For example, the test device may continuously write 0xAA, AA, AA, AA . . . into the aggressor row and continuously write 0xFF, FF, FF, FF . . . into the victim row. 
     In some embodiments of the disclosure, the row aggressing test may include quick access. The operation S 102  shown in  FIG.  2    may be implemented by an operation S 1021 , which will be described with reference to respective operations. 
     In S 1021 , quick access to the aggressor row is repeatedly performed. 
     In the embodiment of the disclosure, the test device may repeatedly perform the quick access to the aggressor row, which may generate interference to an adjacent victim row. The victim row may discharge slowly due to frequent interference, and when the amount of charge stored in a victim memory cell is lower than a critical value as a result of the discharge, the bit error occurs, that is, the stored data changes, for example, from 1 to 0. 
     In some embodiments of the disclosure, the operation S 1021  may be implemented by operations S 1022 ˜S 1023  shown in  FIG.  8   , which will be described with reference to respective operations. 
     In S 1022 , ACT and PRE are quickly performed on the aggressor row, to perform the quick access to the aggressor row once. 
     In the embodiment of the disclosure, the test device may quickly perform ACT and PRE on the aggressor row, to perform the quick access to the aggressor row once. 
     In S 1023 , the ACT and PRE are performed repeatedly on the aggressor row, to repeatedly perform the quick access to the aggressor row. 
     In the embodiment of the disclosure, the test device may repeatedly perform ACT-PRE-ACT-PRE . . . on the aggressor row, to achieve repeated quick access. 
     In some embodiments of the disclosure, the operation S 103  shown in  FIG.  2    may be implemented by operations S 1031 ˜S 1032  shown in  FIG.  9   , which will be described with reference to respective operations. 
     In S 1031 , minimum row aggressing test times are determined as target test times. 
     In the embodiment of the disclosure, for the to-be-tested memory array, the test device may determine the minimum row aggressing test times as target test times. 
     In S 1032 , the target preset test pattern corresponding to the target test times is determined from the preset test pattern library. 
     In the embodiment of the disclosure, the target test times are the minimum row aggressing test times, and the target preset test pattern corresponding to the target test times is a test pattern in which bit error is easiest to occur. The test device may determine the test pattern, in which bit error is easiest to occur (that is, the most bit error-prone test pattern), in the preset test pattern library as the target preset test pattern. 
     It may be understood that the test pattern in which bit error is easiest to occur is determined as the target preset test pattern, so that the array structure of the to-be-tested memory array may be deduced according to the target preset test pattern. Therefore, the array structure of the memory array may be determined based on the FPGA platform only without using an expensive and complicated testing machine, thereby reducing the cost of reverse design and simplifying the reverse design process. 
     In some embodiments of the disclosure, the to-be-tested memory array may be contained in SDRAM. The array structure of SDRAM may be determined by the above methods. 
     In some embodiments of the disclosure, before the operation S 101  shown in  FIG.  2   , the method may further include an operation S 105  shown in  FIG.  10   , which will be described with reference to respective operations. 
     In S 105 , a normal read-write test is performed on the to-be-tested memory array, to verify that the to-be-tested memory array is in a normal operating state. 
     In the embodiment of the disclosure, before a structure test is performed on the to-be-tested memory array, normal read-write tests such as write, read back, check, and the like, may be performed on the to-be-tested memory array, to verify that the to-be-tested memory array is in a normal operating state. 
     It may be understood that before the test is performed, the normal read-write test is performed on the to-be-tested memory array, to verify that the operation state of the to-be-tested memory array is normal, thereby avoiding an impact on accuracy of the structure test result due to an abnormal state of the to-be-tested memory array. 
       FIG.  11    is an optional schematic flowchart of a method for testing a memory array structure according to an embodiment of the disclosure, which will be described with reference to operations shown in  FIG.  11   . 
     In S 401 , it is confirmed that the test platform operates normally. 
     In the embodiment of the disclosure, before performing a chip structure test, a designer may first confirm whether the FPGA test platform operates normally. For example, a Row Hammer test is performed with an SDRAM with a known array structure to verify whether the test result is consistent with that under the known array structure. 
     In S 402 , the to-be-tested SDRAM is installed. 
     In the embodiment of the disclosure, after confirming that the test platform operates normally, the designer may install the to-be-tested SDRAM t into the test device. 
     In S 403 , a normal operation is performed on the to-be-tested SDRAM to verify that the to-be-tested SDRAM is in a normal operating state. 
     In the embodiment of the disclosure, the designer may first perform the normal operation such as write, read back, check, and the like on the to-be-tested SDRAM, to verify whether the operation state of the to-be-tested SDRAM is normal. 
     In S 404 , the storage data is written into the to-be-tested SDRAM based on the preset test pattern, and Row Hammer test is performed. 
     In the embodiment of the disclosure, after verifying that the operation state of the to-be-tested SDRAM is normal, the designer may write the storage data into the to-be-tested SDRAM through the test device and perform Row Hammer test; that is, the aggressor row storage data and the victim row storage data are written into the aggressor row and the victim row, respectively, according to the preset test pattern, and Row Hammer test is performed to perform ACT and PRE on the aggressor row quickly, repeatedly and alternately. 
     In S 405 , the test result is analyzed to determine the target preset test pattern. 
     In the embodiment of the disclosure, after completing the Row Hammer test, the designer may analyze Row Hammer test result through the test device, and find out a preset test pattern corresponding to the worst case with the smallest times according to Row Hammer aggressing times that have been carried out when bit error occurs for the first time, and determine the preset test pattern as the target preset test pattern. 
     In S 406 , the above test is performed on other to-be-tested SDRAMs in the same batch. 
     In the embodiment of the disclosure, after the structure test on a certain to-be-tested SDRAM ends, the designer may perform the above structure test on all other to-be-tested SDRAMs of the same batch through the test device, and these to-be-tested SDRAMs have the same array structure. 
     In S 407 , array structures of all to-be-tested SDRAMs in the same batch are determined based on target preset test patterns of these to-be-tested SDRAMs. 
     In the embodiment of the disclosure, the designer may determine target preset test patterns of all to-be-tested SDRAMs in the same batch through the test device, and determine an array structure of these to-be-tested SDRAMs. Analysis test is performed on all the to-be-tested memory arrays in the same batch, the analysis result obtained is more reliable than that obtained under analysis test performed on single to-be-tested memory array only. 
     It may be understood that FPGA-based SDRAM test platform does not need to occupy a fixed space of the to-be-tested SDRAM, and may test across the entire internal space of the SDRAM. It has the advantages of low price and high popularity compared with ATE testing machine; and it has the advantages of quick operation and easy mastery compared with conventional reverse engineering. 
       FIG.  12    is an optional schematic structural diagram of a device for testing a memory array structure according to an embodiment of the disclosure. As shown in  FIG.  12   , an embodiment of the disclosure further provides a device  800  for testing a memory array structure, including a writing unit  804 , a row aggressing test unit  805  and a determination unit  806 . 
     The writing unit  804  is configured to write respective storage data corresponding to each preset test pattern into a to-be-tested memory array, where the each preset test pattern is one of preset test patterns in a preset test pattern library. 
     The row aggressing test unit  805  is configured to repeatedly perform a row aggressing test on the to-be-tested memory array until a bit error occurs in the storage data, to obtain row aggressing test times corresponding to the each preset test pattern of the to-be-tested memory array. The bit error characterizes that the storage data has changed. 
     The determination unit  806  is configured to determine, based on the row aggressing test times, a target preset test pattern corresponding to the to-be-tested memory array from the preset test pattern library, and determine an array structure of the to-be-tested memory array based on the target preset test pattern. 
     In some embodiments of the disclosure, the to-be-tested memory array may include an aggressor row and a victim row located adjacent to each other in the array structure of the to-be-tested memory array. The storage data may include aggressor row storage data characterized as alternately changing binary codes and victim row storage data characterized as continuously identical binary codes. The preset test pattern library may include a first preset test pattern and a second preset test pattern, and the array structure may include a first array structure and a second array structure. 
     In some embodiments of the disclosure, the writing unit  804  may further be configured to write the aggressor row storage data into the aggressor row and write the victim row storage data into the victim row, according to the each preset test pattern. 
     In some embodiments of the disclosure, the determination unit  806  may further be configured to determine a first array structure of the to-be-tested memory array based on the first preset test pattern when the target preset test pattern is the first preset test pattern. 
     In some embodiments of the disclosure, the first array structure may be characterized by placing N continuous transmission bits of an m-th signal together, here m is greater than or equal to zero and less than or equal to M−1, and each of M and N is a multiple of 8. 
     In some embodiments of the disclosure, the determination unit  806  may further be configured to determine a second array structure of the to-be-tested memory array based on the second preset test pattern when the target preset test pattern is the second preset test pattern. 
     In some embodiments of the disclosure, the second array structure may be characterized by placing n-th continuous transmission bits of M signals together, here n is greater than or equal to zero and less than or equal to N−1, and each of M and N is a multiple of 8. 
     In some embodiments of the disclosure, the aggressor row storage data may include first aggressor row sub-storage data and second aggressor row sub-storage data having opposite values at each corresponding data bit thereof. The victim row storage data may include first victim row sub-storage data and second victim row sub-storage data having opposite values at each corresponding data bit thereof. 
     In some embodiments of the disclosure, the writing unit  804  may further be configured to: sequentially and alternately write the first aggressor row sub-storage data and the second aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row, according to the first preset test pattern; or, sequentially and alternately write the first aggressor row sub-storage data and the second aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row, according to the first preset test pattern; or, sequentially and alternately write the second aggressor row sub-storage data and the first aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row, according to the first preset test pattern; or, sequentially and alternately write the second aggressor row sub-storage data and the first aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row, according to the first preset test pattern. 
     In some embodiments of the disclosure, the writing unit  804  may further be configured to: continuously write the first aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row, according to the second preset test pattern; or, continuously write the first aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row, according to the second preset test pattern; or, continuously write the second aggressor row sub-storage data into the aggressor row, and continuously write the first victim row sub-storage data into the victim row, according to the second preset test pattern; or, continuously write the second aggressor row sub-storage data into the aggressor row, and continuously write the second victim row sub-storage data into the victim row, according to the second preset test pattern. 
     In some embodiments of the disclosure, the row aggressing test unit  805  may further be configured to repeatedly perform quick access to the aggressor row. 
     In some embodiments of the disclosure, the row aggressing test unit  805  may further be configured to quickly perform ACT and PRE on the aggressor row, to perform the quick access to the aggressor row once; and repeat the process, to repeatedly perform the quick access to the aggressor row. 
     In some embodiments of the disclosure, the determination unit  806  may further be configured to determine minimum row aggressing test times as target test times, and determine the target preset test pattern corresponding to the target test times from the preset test pattern library. 
     In some embodiments of the disclosure, the to-be-tested memory array may be contained in SDRAM. 
     In some embodiments of the disclosure, the device for testing a memory array structure  800  may further include a normal test unit  807 . 
     The normal test unit  807  is configured to perform a normal read-write test on the to-be-tested memory array, to verify that operation state of the to-be-tested memory array is normal. 
       FIG.  13    is an optional schematic structural diagram of a device for testing a memory array structure according to an embodiment of the disclosure. As shown in  FIG.  13   , hardware entities of the device  800  for testing a memory array structure include a processor  801 , a communication interface  802  and a memory  803 . 
     The processor  801  usually controls overall operation of the device for testing a memory array structure  800 . 
     The communication interface  802  may enable the device for testing a memory array structure  800  to communicate with other devices or apparatuses over a network. 
     The memory  803  is configured to store instructions and applications executable by the processor  801 , and may also cache data (e.g., image data, audio data, voice communication data, and video communication data) to be processed or already processed by the processor  801  and modules in the device for testing a memory array structure  800 , and may be implemented by a flash memory (FLASH) or Random Access Memory (RAM). 
     It should be noted that in the embodiments of the disclosure, when the above method for testing a memory array structure is implemented in form of a software function module and sold or used as an independent product, it may also be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the embodiments of the disclosure substantially or parts making contributions to the related art may be embodied in form of a software product, and the computer software product is stored in a storage medium, including several instructions configured to enable the device for testing a memory array structure  800  (which may be a personal computer, a server, a network device, or the like) to execute all or part of the method in each embodiment of the disclosure. The abovementioned storage medium includes various media capable of storing program codes such as a U disk, a mobile hard disk, a Read Only Memory (ROM), a magnetic disk, an optical disk, or the like. Therefore, the embodiments of the disclosure are not limited to any particular combination of hardware and software. 
     Accordingly, an embodiment of the disclosure provide a computer-readable storage medium having stored therein a computer program that, when executed by a processor, causes the processor to perform operations of the method corresponding to the above device for testing a memory array structure. 
     It should be noted here that the above descriptions of the storage medium and device embodiments are similar to the above descriptions of the method embodiments and have advantageous effects similar to those of the method embodiments. Technical details not disclosed in the storage medium and device embodiments of the disclosure may be understood with reference to the descriptions of the method embodiments of the disclosure. 
     It should be noted that in the disclosure, the terms “include”, “including” or any other variation thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device including a series of elements includes not only those elements but also other elements that are not listed explicitly, or elements inherent to such process, method, article, or device. Without any more limitation, an element defined by a sentence “include a . . . ” does not exclude other identical elements also existing in a process, method, article, or device including the element. 
     In some embodiments provided by the disclosure, it should be understood that the disclosed device and method may be implemented in another manner. The above device embodiments are only schematic, for example, division of the units is only logical function division, and other division manners may be adopted during practical implementation. For example, multiple units or components may be combined or integrated into another system, or some characteristics may be ignored or not executed. Furthermore, coupling or direct coupling or communication connection between each shown or discussed component may be indirect coupling or communication connection, implemented through some interfaces, of the device or the units, and may be electrical, mechanical or adopt other forms. 
     The units described as separate parts may be or may not be physically separated, and parts shown as units may be or may not be physical units, and namely may be located in the same place, or may also be distributed to multiple network units. Part or all of the units may be selected to achieve the purpose of the solutions of the embodiments according to a practical requirement. 
     Furthermore, each functional unit in each embodiment of the disclosure may be integrated into a processing unit, each unit may also physically exist independently, and two or more than two units may also be integrated into a unit; the integrated unit may be implemented in form of hardware or in form of hardware plus software functional units. 
     The above descriptions are merely specific embodiments of the disclosure, however, the scope of protection of the disclosure is not limited thereto, and variation or replacement readily conceivable by any person skilled in the art within the technical scope of the disclosure shall fall within the scope of protection of the disclosure. Therefore, the scope of protection of the disclosure is subjected to the scope of protection of the claims. 
     INDUSTRIAL PRACTICABILITY 
     The embodiments of the disclosure provide a method and device for testing a memory array structure, and a storage medium, in which respective storage data corresponding to each preset test pattern is written into a to-be-tested memory array; then a row aggressing test is repeatedly performed on the to-be-tested memory array until a bit error occurs in the storage data, to obtain row aggressing test times, corresponding to the each preset test pattern, of the to-be-tested memory array, here the bit error characterizes that the storage data has changed; then a target preset test pattern corresponding to the to-be-tested memory array is determined from the preset test pattern library based on the row aggressing test times; finally, an array structure of the to-be-tested memory array is determined based on the target preset test pattern. Therefore, the memory array structure is determined without using conventional reverse test devices, which avoids the problem of high cost and complicated process caused by using conventional reverse design methods, thereby reducing the cost of reverse design and simplifying the reverse design process.