CN118609635A - ONFI TESTCHIP built-in self-test method and device based on LFSR design - Google Patents
ONFI TESTCHIP built-in self-test method and device based on LFSR design Download PDFInfo
- Publication number
- CN118609635A CN118609635A CN202411078933.2A CN202411078933A CN118609635A CN 118609635 A CN118609635 A CN 118609635A CN 202411078933 A CN202411078933 A CN 202411078933A CN 118609635 A CN118609635 A CN 118609635A
- Authority
- CN
- China
- Prior art keywords
- data
- lfsr
- srams
- error
- read
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/54—Arrangements for designing test circuits, e.g. design for test [DFT] tools
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种基于LFSR设计的ONFI TESTCHIP内建自测试方法及装置。结合LFSR电路与ECC校验方法,基于MUX选择多种模式测试数据(顺序、固定、随机)。LFSR生成随机数测试序列,写阶段,LFSR生成数据并传输至CONTROLLER;读阶段,LFSR生成比较序列与读回数据对比,在顺序数和固定数的校验模式中,检测SRAMs到NAND FLASH的读写数据通路,若数据报错则记录错误位置。本发明提供了多种模式的测试序列对多个测试支路的随机组合进行同步测试,实现分段式路径检测以及多路径检测,可节约测试成本与时间、实现出错位置的精准定位、提高系统的可测性和可靠性。
The present invention discloses an ONFI TESTCHIP built-in self-test method and device based on LFSR design. Combining LFSR circuit and ECC verification method, multiple modes of test data (sequential, fixed, random) are selected based on MUX. LFSR generates a random number test sequence. In the write phase, LFSR generates data and transmits it to CONTROLLER; in the read phase, LFSR generates a comparison sequence to compare with the read-back data. In the sequential number and fixed number verification modes, the read and write data path from SRAMs to NAND FLASH is detected, and if the data is wrong, the error position is recorded. The present invention provides a test sequence with multiple modes to synchronously test the random combination of multiple test branches, realize segmented path detection and multi-path detection, save test cost and time, realize accurate positioning of the error position, and improve the testability and reliability of the system.
Description
技术领域Technical Field
本发明涉及存储读写测试领域,更具体的,涉及一种基于LFSR设计的ONFITESTCHIP内建自测试方法及装置。The present invention relates to the field of storage read-write testing, and more specifically to an ONFITESTCHIP built-in self-test method and device based on LFSR design.
背景技术Background Art
随着各种存储技术的发展,系统集成度提高以及面积增大,其可靠性面临越来越大的挑战。由于材料杂质,制造工艺的复杂度以及芯片运行过程中的温度电压变化等因素对可靠性的影响越来越明显,测试是保证芯片产品质量和可靠性的重要手段。目前,系统测试已经趋于专业化,大多数集成IP技术中,主要内自建电路测试方案。但随着设计、集成度和工艺的高速发展,芯片测试面临着资源限制、成本攀升、功耗增加和新故障类型出现等巨大的挑战。例如,随着芯片的集成度越来越高,尽管芯片集成核的数量增加不断增加,但其I/O引脚数量鲜有增加,导致测试时,访问内部电路极其困难。此外,测试功耗会对芯片性能及可靠性产生不良影响,过高的功耗会影响芯片测试质量及效率。因此,随着多复杂IP核集成数量的增加,需要使用一种可节约测试成本、缩短测试时间、提高系统的可测性和可靠性电路对集成IP进行芯片测试,从而来弥补上述因素造成偏差。With the development of various storage technologies, the system integration is improved and the area is increased, and its reliability faces greater and greater challenges. As the influence of factors such as material impurities, the complexity of the manufacturing process, and the temperature and voltage changes during the operation of the chip on reliability is becoming more and more obvious, testing is an important means to ensure the quality and reliability of chip products. At present, system testing has become specialized, and most integrated IP technologies mainly use self-built circuit testing solutions. However, with the rapid development of design, integration and technology, chip testing faces huge challenges such as resource limitations, rising costs, increased power consumption and the emergence of new fault types. For example, as the integration of chips becomes higher and higher, although the number of chip integrated cores continues to increase, the number of its I/O pins rarely increases, making it extremely difficult to access the internal circuit during testing. In addition, test power consumption will have an adverse effect on chip performance and reliability, and excessive power consumption will affect the quality and efficiency of chip testing. Therefore, with the increase in the number of integrated multi-complex IP cores, it is necessary to use a circuit that can save test costs, shorten test time, and improve the testability and reliability of the system to test the integrated IP chip, so as to compensate for the deviation caused by the above factors.
发明内容Summary of the invention
本发明克服了现有技术的缺陷,提出了一种基于LFSR设计的ONFI TESTCHIP内建自测试方法及装置。The invention overcomes the defects of the prior art and proposes an ONFI TESTCHIP built-in self-test method and device based on LFSR design.
本发明中,ONFI(Open NAND Flash Interface),是一种开放式NAND快闪存储器接口,TESTCHIP(测试芯片)是用于验证和测试电路设计的芯片,该芯片包含了逻辑生成模块(Logic Generator),控制器IP(CONTROLLER)和物理层IP(PHY,用于NAND FLASH和CONTROLLER之间通信连接)。本发明逻辑电路组件主要在ONFI TESTCHIP的LogicGenerator模块里的子模块ONFI_CTRL_WRAP(和寄存器模块ONFI_CTRL_TOP_REG同级)里的次级模块MEM WRAPPER。本发明具有如下优势:支持固定数、顺序数、随机数的多种模式的测试向量生成;支持对多个测试支路的随机组合进行同步测试;支持轮询测试;支持在故障诊断中,测试过程可以随时中断,进行准确报错和定位,电路的正常功能可以重新开始。In the present invention, ONFI (Open NAND Flash Interface) is an open NAND flash memory interface, and TESTCHIP (test chip) is a chip used to verify and test circuit design, which includes a logic generator module (Logic Generator), a controller IP (CONTROLLER) and a physical layer IP (PHY, used for communication connection between NAND FLASH and CONTROLLER). The logic circuit component of the present invention is mainly in the secondary module MEM WRAPPER in the submodule ONFI_CTRL_WRAP (same level as the register module ONFI_CTRL_TOP_REG) in the LogicGenerator module of ONFI TESTCHIP. The present invention has the following advantages: supports the generation of test vectors in multiple modes of fixed numbers, sequential numbers, and random numbers; supports synchronous testing of random combinations of multiple test branches; supports polling testing; supports that the test process can be interrupted at any time during fault diagnosis, accurate error reporting and positioning are performed, and the normal function of the circuit can be restarted.
本发明第一方面提供了一种基于LFSR设计的ONFI TESTCHIP内建自测试方法,包括:The first aspect of the present invention provides an ONFI TESTCHIP built-in self-test method based on LFSR design, comprising:
S1:基于LFSR电路和ECC校验结合,即LFSR和CRW_MEM_ECC的结合,通过MUX选择运用顺序数、固定数、随机数不同模式的测试数据序列,数据来源DATA_IN和SEED;S1: Based on the combination of LFSR circuit and ECC check, that is, the combination of LFSR and CRW_MEM_ECC, the test data sequence with different modes of sequential number, fixed number and random number is selected through MUX, and the data sources are DATA_IN and SEED;
S2:设定随机数的种子值SEED、顺序数;S2: Set the seed value SEED and sequence number of the random number;
S3:启动随机数LFSR检测,检测作为正常读写功能使用的SRAMs-DMA_INTF接口-控制器CONTROLLER这一数据通路情况;S3: Start random number LFSR detection to detect the data path of SRAMs-DMA_INTF interface-controller CONTROLLER used for normal read and write functions;
S4:在启动随机数测试序列时,外部配置data_select选择lfsr随机数测试模式,并输入SEED,用作校验功能的SRAM则根据所需要测试的SRAM-DMA_INTF接口-控制器CONTROLLER通路选择和用作正常读写功能使用的SRAM输入一样的种子值;发送写命令,控制器CONTROLLER接收到指令运作后进入读取阶段的SRAM会收到直接存取器接口发送过来的读取信号rd_en,相应的随机数测试序列lfsr_gen_data通过LFSR迅速响应生成,此时,SEED为输入LFSR的种子值,rd/wr_en为LFSR所需读写使能;然后,CONTROLLER将基于DMA_INTF的数据mem_data_out进行即时处理,并产生用作校验功能的LFSR的写使能信号wr_en,用于产生读回比较序列的LFSR迅速响应生成比较数据序列lfsr_cmp_data,将lfsr_cmp_data和CONTROLLER即时处理的数据序列rdbc_data进行对比,对比基于cmp逻辑,如果数据不一致,则将进行报错,报错信号lfsr_error将触发内部地址生成器ex/in_gen_data_addr生成用于存储LFSR随机数序列存储的地址并将存在的错误数据rdbc_data存储至出错的SRAM,同时,对应SEED生成的比较数据序列lfsr_cmp_data也会写入用作校验功能的SRAM,用于定位数据序列出错位置,该报错过程通过读取种子值判断SRAM出错定位,然后读取出错SRAM的内容并和校验SRAM里的内容进行比较,定位出具体出错位置,如果rdbc_data和lfsr_cmp_data一致,此时数据不会存储至SRAMs;S4: When starting the random number test sequence, the external configuration data_select selects the lfsr random number test mode and inputs SEED. The SRAM used for the verification function selects the same seed value as the SRAM used for normal read and write functions according to the SRAM-DMA_INTF interface-controller CONTROLLER path to be tested; a write command is sent, and the controller CONTROLLER receives the instruction and operates. The SRAM that enters the read phase will receive the read signal rd_en sent by the direct access interface, and the corresponding random number test sequence lfsr_gen_data is generated through the LFSR rapid response. At this time, SEED is the seed value of the input LFSR, and rd/wr_en is the read and write enable required by the LFSR; then, the CONTROLLER processes the data mem_data_out based on the DMA_INTF in real time, and generates a write enable signal wr_en for the LFSR used for the verification function, which is used to generate the LFSR rapid response of the read back comparison sequence. The comparison data sequence lfsr_cmp_data is generated in quick response, and lfsr_cmp_data is compared with the data sequence rdbc_data processed in real time by CONTROLLER. The comparison is based on cmp logic. If the data is inconsistent, an error will be reported. The error signal lfsr_error will trigger the internal address generator ex/in_gen_data_addr to generate an address for storing the LFSR random number sequence and store the existing error data rdbc_data to the error SRAM. At the same time, the comparison data sequence lfsr_cmp_data generated by the corresponding SEED will also be written into the SRAM used for verification function to locate the error position of the data sequence. The error reporting process determines the SRAM error location by reading the seed value, and then reads the content of the error SRAM and compares it with the content in the verification SRAM to locate the specific error position. If rdbc_data and lfsr_cmp_data are consistent, the data will not be stored in SRAMs at this time;
S5:顺序数和固定数的校验模式用于检测正常读写功能SRAMs到NANDFLASH的读写数据通路,未写数据部分的SRAMs可当作错误数据储蓄池,校验时,用作正常读写功能的SRAMs随机选取组合使用并进行同时校验,一部分SRAMs用于写数据,一部分SRAMs用于存储读回报错的数据,如果校验不报错,则将正确数据存在读回指定的SRAMs,如果校验报错,则读出写入SRAMs的数据和对应存储读回出错SRAMs的数据进行对比和定位出具体出错位置;S5: The sequential number and fixed number verification modes are used to detect the read and write data path from the normal read and write function SRAMs to the NANDFLASH. The SRAMs of the unwritten data part can be used as an error data storage pool. During the verification, the SRAMs used for normal read and write functions are randomly selected and used in combination and verified at the same time. A part of the SRAMs is used to write data, and a part of the SRAMs is used to store the data reported by the read error. If the verification does not report an error, the correct data is stored in the specified SRAMs for reading back. If the verification reports an error, the data written to the SRAMs is read and compared with the corresponding data stored in the error SRAMs to locate the specific error location;
S6:启动顺序数/固定数测试序列,外部配置data_select选择顺序数/固定数测试模式,并对用做校验功能的SRAM输入DATA_IN,外部发送带有相应SRAMs外部映射首地址的写命令和写数据,CONTROLLER接收到指令运作后,进入读取阶段的SRAMs会收到CONTROLLER的读取请求,将mem_data_out取走经过PHY传输到非易失存储介质NAND FLASH,写数据阶段完成;然后,发送带有指定SRAMs外部映射首地址的读命令,CONTROLLER接收到指令运作后从NAND FLASH侧读回数据序列rdbc_data,生成dam_addr并对指定的SRAMs发送写请求,此时,用作校验功能的SRAM接收到一个读请求,对经过处理的读取地址mem_addr中存储的比较序列lfsr_cmp_data读出,通过cmp逻辑对lfsr_cmp_data和从NAND FLASH侧读回的rdbc_data进行对比,如果数据不一致,则进行报错,报错信号lfsr_error,并将错误数据存储至指定的SRAMs,通过读出写SRAMs的数据和对应存储读回出错SRAMs的数据进行对比并定位数据序列的出错位置;S6: Start the sequential number/fixed number test sequence, externally configure data_select to select the sequential number/fixed number test mode, and input DATA_IN to the SRAM used for verification function, and externally send the write command and write data with the corresponding SRAMs external mapping first address. After the CONTROLLER receives the instruction operation, the SRAMs entering the read phase will receive the CONTROLLER's read request, take mem_data_out and transmit it to the non-volatile storage medium NAND FLASH through PHY, and the write data phase is completed; then, send a read command with the specified SRAMs external mapping first address. After receiving the instruction operation, the CONTROLLER reads back the data sequence rdbc_data from the NAND FLASH side, generates dam_addr and sends a write request to the specified SRAMs. At this time, the SRAM used for verification function receives a read request, reads out the comparison sequence lfsr_cmp_data stored in the processed read address mem_addr, and compares lfsr_cmp_data with the data from NAND through the cmp logic. The rdbc_data read back by the FLASH side is compared. If the data is inconsistent, an error is reported, and the error signal lfsr_error is reported. The error data is stored in the specified SRAMs. The error position of the data sequence is located by comparing the data read out of the write SRAMs with the corresponding data stored in the error SRAMs.
S7:在上述S4与S6过程中,基于用户测试计划,可通过发送停止命令将正在进行的测试停止操作,若出现读写错误,设定触发中止测试;S7: In the above S4 and S6 processes, based on the user test plan, the ongoing test can be stopped by sending a stop command. If a read or write error occurs, the trigger is set to terminate the test;
S8:基于不同测试模式的选择,MEM WRAPPER的SRAMs通过随机组合进行测试适应。S8: Based on the selection of different test modes, the SRAMs of MEM WRAPPER are tested and adapted through random combinations.
本方案中,所述S2中,所述随机数对应DATA_IN值由外部输入,并且输入数据的模板pattern可进行设定。In this solution, in S2, the random number corresponding to the DATA_IN value is input from the outside, and the template pattern of the input data can be set.
本方案中,所述S3中,所述SRAMs-DMA_INTF接口中,该DMA接口用于在SRAM和CONTROLLER之前提供高速数据传输。In this solution, in S3, in the SRAMs-DMA_INTF interface, the DMA interface is used to provide high-speed data transmission between the SRAM and the CONTROLLER.
本方案中,所述S4中,对于输入SEED,对应所要测验的SRAM-DMA_INTF接口-控制器CONTROLLER通路可以选择不同的种子值SEED。In this solution, in S4, for the input SEED, different seed values SEED can be selected corresponding to the SRAM-DMA_INTF interface-controller CONTROLLER path to be tested.
本方案中,所述S6中,所述通过cmp逻辑对lfsr_cmp_data和从NAND FLASH侧读回的rdbc_data进行对比,如果数据不一致,则进行报错中,若对比过程数据一致或者无需比较时,则选用DMA返回的地址dma_addr,此时数据写入指定的SRAMs。In this solution, in S6, the lfsr_cmp_data is compared with the rdbc_data read back from the NAND FLASH side through the cmp logic. If the data are inconsistent, an error is reported. If the data are consistent during the comparison process or no comparison is required, the address dma_addr returned by the DMA is selected, and the data is written to the specified SRAMs.
本发明第二方面还提供了一种基于LFSR设计的ONFI TESTCHIP内建自测试装置,该装置包括:MEM WRAPPER、SRAM、LFSR电路、ONFI快闪存储器接口、TESTCHIP测试芯片、该芯片包含了逻辑生成模块Logic Generator、控制器IP、物理层IP;所述装置运行时实现如下步骤:The second aspect of the present invention also provides an ONFI TESTCHIP built-in self-test device based on LFSR design, the device comprises: MEM WRAPPER, SRAM, LFSR circuit, ONFI flash memory interface, TESTCHIP test chip, the chip comprises a logic generation module Logic Generator, controller IP, physical layer IP; the device implements the following steps when running:
S1:基于LFSR电路和ECC校验结合,即LFSR和CRW_MEM_ECC的结合,通过MUX选择运用顺序数、固定数、随机数不同模式的测试数据序列,数据来源DATA_IN和SEED;S1: Based on the combination of LFSR circuit and ECC check, that is, the combination of LFSR and CRW_MEM_ECC, the test data sequence with different modes of sequential number, fixed number and random number is selected through MUX, and the data sources are DATA_IN and SEED;
S2:设定随机数的种子值SEED、顺序数;S2: Set the seed value SEED and sequence number of the random number;
S3:启动随机数LFSR检测,检测作为正常读写功能使用的SRAMs-DMA_INTF接口-控制器CONTROLLER这一数据通路情况;S3: Start random number LFSR detection to detect the data path of SRAMs-DMA_INTF interface-controller CONTROLLER used for normal read and write functions;
S4:在启动随机数测试序列时,外部配置data_select选择lfsr随机数测试模式,并输入SEED,用作校验功能的SRAM则根据所需要测试的SRAM-DMA_INTF接口-控制器CONTROLLER通路选择和用作正常读写功能使用的SRAM输入一样的种子值;发送写命令,控制器CONTROLLER接收到指令运作后进入读取阶段的SRAM会收到直接存取器接口发送过来的读取信号rd_en,相应的随机数测试序列lfsr_gen_data通过LFSR迅速响应生成,此时,SEED为输入LFSR的种子值,rd/wr_en为LFSR所需读写使能;然后,CONTROLLER将基于DMA_INTF的数据mem_data_out进行即时处理,并产生用作校验功能的LFSR的写使能信号wr_en,用于产生读回比较序列的LFSR迅速响应生成比较数据序列lfsr_cmp_data,将lfsr_cmp_data和CONTROLLER即时处理的数据序列rdbc_data进行对比,对比基于cmp逻辑,如果数据不一致,则将进行报错,报错信号lfsr_error将触发内部地址生成器ex/in_gen_data_addr生成用于存储LFSR随机数序列存储的地址并将存在的错误数据rdbc_data存储至出错的SRAM,同时,对应SEED生成的比较数据序列lfsr_cmp_data也会写入用作校验功能的SRAM,用于定位数据序列出错位置,该报错过程通过读取种子值判断SRAM出错定位,然后读取出错SRAM的内容并和校验SRAM里的内容进行比较,定位出具体出错位置,如果rdbc_data和lfsr_cmp_data一致,此时数据不会存储至SRAMs;S4: When starting the random number test sequence, the external configuration data_select selects the lfsr random number test mode and inputs SEED. The SRAM used for the verification function selects the same seed value as the SRAM used for normal read and write functions according to the SRAM-DMA_INTF interface-controller CONTROLLER path to be tested; a write command is sent, and the controller CONTROLLER receives the instruction and operates. The SRAM that enters the read phase will receive the read signal rd_en sent by the direct access interface, and the corresponding random number test sequence lfsr_gen_data is generated through the LFSR rapid response. At this time, SEED is the seed value of the input LFSR, and rd/wr_en is the read and write enable required by the LFSR; then, the CONTROLLER processes the data mem_data_out based on the DMA_INTF in real time, and generates a write enable signal wr_en for the LFSR used for the verification function, which is used to generate the LFSR rapid response of the read back comparison sequence. The comparison data sequence lfsr_cmp_data is generated in quick response, and lfsr_cmp_data is compared with the data sequence rdbc_data processed in real time by CONTROLLER. The comparison is based on cmp logic. If the data is inconsistent, an error will be reported. The error signal lfsr_error will trigger the internal address generator ex/in_gen_data_addr to generate an address for storing the LFSR random number sequence and store the existing error data rdbc_data to the error SRAM. At the same time, the comparison data sequence lfsr_cmp_data generated by the corresponding SEED will also be written into the SRAM used for verification function to locate the error position of the data sequence. The error reporting process determines the SRAM error location by reading the seed value, and then reads the content of the error SRAM and compares it with the content in the verification SRAM to locate the specific error position. If rdbc_data and lfsr_cmp_data are consistent, the data will not be stored in SRAMs at this time;
S5:顺序数和固定数的校验模式用于检测正常读写功能SRAMs到NANDFLASH的读写数据通路,未写数据部分的SRAMs可当作错误数据储蓄池,校验时,用作正常读写功能的SRAMs随机选取组合使用并进行同时校验,一部分SRAMs用于写数据,一部分SRAMs用于存储读回报错的数据,如果校验不报错,则将正确数据存在读回指定的SRAMs,如果校验报错,则读出写入SRAMs的数据和对应存储读回出错SRAMs的数据进行对比和定位出具体出错位置;S5: The sequential number and fixed number verification modes are used to detect the read and write data path from the normal read and write function SRAMs to the NANDFLASH. The SRAMs of the unwritten data part can be used as an error data storage pool. During the verification, the SRAMs used for normal read and write functions are randomly selected and used in combination and verified at the same time. A part of the SRAMs is used to write data, and a part of the SRAMs is used to store the data reported by the read error. If the verification does not report an error, the correct data is stored in the specified SRAMs for reading back. If the verification reports an error, the data written to the SRAMs is read and compared with the corresponding data stored in the error SRAMs to locate the specific error location;
S6:启动顺序数/固定数测试序列,外部配置data_select选择顺序数/固定数测试模式,并对用做校验功能的SRAM输入DATA_IN,外部发送带有相应SRAMs外部映射首地址的写命令和写数据,CONTROLLER接收到指令运作后,进入读取阶段的SRAMs会收到CONTROLLER的读取请求,将mem_data_out取走经过PHY传输到非易失存储介质NAND FLASH,写数据阶段完成;然后,发送带有指定SRAMs外部映射首地址的读命令,CONTROLLER接收到指令运作后从NAND FLASH侧读回数据序列rdbc_data,生成dam_addr并对指定的SRAMs发送写请求,此时,用作校验功能的SRAM接收到一个读请求,对经过处理的读取地址mem_addr中存储的比较序列lfsr_cmp_data读出,通过cmp逻辑对lfsr_cmp_data和从NAND FLASH侧读回的rdbc_data进行对比,如果数据不一致,则进行报错,报错信号lfsr_error,并将错误数据存储至指定的SRAMs,通过读出写SRAMs的数据和对应存储读回出错SRAMs的数据进行对比并定位数据序列的出错位置;S6: Start the sequential number/fixed number test sequence, externally configure data_select to select the sequential number/fixed number test mode, and input DATA_IN to the SRAM used for verification function, and externally send the write command and write data with the corresponding SRAMs external mapping first address. After the CONTROLLER receives the instruction operation, the SRAMs entering the read phase will receive the CONTROLLER's read request, take mem_data_out and transmit it to the non-volatile storage medium NAND FLASH through PHY, and the write data phase is completed; then, send a read command with the specified SRAMs external mapping first address. After receiving the instruction operation, the CONTROLLER reads back the data sequence rdbc_data from the NAND FLASH side, generates dam_addr and sends a write request to the specified SRAMs. At this time, the SRAM used for verification function receives a read request, reads out the comparison sequence lfsr_cmp_data stored in the processed read address mem_addr, and compares lfsr_cmp_data with the data from NAND through the cmp logic. The rdbc_data read back by the FLASH side is compared. If the data is inconsistent, an error is reported, and the error signal lfsr_error is reported. The error data is stored in the specified SRAMs. The error position of the data sequence is located by comparing the data read out of the write SRAMs with the corresponding data stored in the error SRAMs.
S7:在上述S4与S6过程中,基于用户测试计划,可通过发送停止命令将正在进行的测试停止操作,若出现读写错误,设定触发中止测试;S7: In the above S4 and S6 processes, based on the user test plan, the ongoing test can be stopped by sending a stop command. If a read or write error occurs, the trigger is set to terminate the test;
S8:基于不同测试模式的选择,MEM WRAPPER的SRAMs通过随机组合进行测试适应。S8: Based on the selection of different test modes, the SRAMs of MEM WRAPPER are tested and adapted through random combinations.
通过本发明,能够实现以下技术效果:The present invention can achieve the following technical effects:
本发明基于LFSR电路和ECC校验结合,支持固定数、顺序数、随机数的多种模式的测试向量生成,有效提高测试效果;The present invention is based on the combination of LFSR circuit and ECC check, supports the generation of test vectors in multiple modes of fixed numbers, sequential numbers, and random numbers, and effectively improves the test effect;
本发明基于LFSR电路和SRAM多路选择复用支持对多个测试支路的随机组合进行同步测试并支持分段式、多路径测试,且不需要额外的校验检测内存作为储蓄池存储出错数据,减少测试成本;The present invention supports synchronous testing of random combinations of multiple test branches based on LFSR circuits and SRAM multiplexing, and supports segmented and multi-path testing, and does not require additional verification detection memory as a storage pool to store error data, thereby reducing testing costs;
本发明基于LFSR电路和DMA运作机制进行校验电路设计支持轮询测试,有效提高测试效果;The present invention designs a verification circuit based on an LFSR circuit and a DMA operation mechanism to support polling testing, thereby effectively improving the test effect;
本发明基于LFSR电路和DMA运作机制进行故障检测结果输出电路设计支持在故障诊断中,测试过程可以随时中断,进行准确报错和定位,电路的正常功能可以重新开始。有效提高测试可靠性与系统适应性。The present invention supports the design of the fault detection result output circuit based on the LFSR circuit and the DMA operation mechanism, and supports that the test process can be interrupted at any time during fault diagnosis, and accurate error reporting and positioning can be performed, and the normal function of the circuit can be restarted, which effectively improves the test reliability and system adaptability.
本发明公开了一种基于LFSR设计的ONFI TESTCHIP内建自测试方法及装置。结合LFSR电路与ECC校验方法,基于MUX选择多种模式测试数据(顺序、固定、随机)。LFSR生成随机数测试序列,用于SRAM与CONTROLLER间的读写测试。写阶段,LFSR生成数据并传输至CONTROLLER;读阶段,LFSR生成比较序列与读回数据对比,在顺序数和固定数的校验模式中,检测SRAMs到NAND FLASH的读写数据通路,SRAMs可通过随机选取组合使用并进行同时校验,若数据报错则记录错误位置。测试过程支持多次轮询测试,通过停止命令控制测试过程。本发明提供了多种模式的测试序列对多个测试支路的随机组合进行同步测试,实现分段式路径检测以及多路径检测,可节约测试成本与时间、实现出错位置的精准定位、提高系统的可测性和可靠性。The invention discloses an ONFI TESTCHIP built-in self-test method and device based on LFSR design. Combining LFSR circuit and ECC verification method, multiple modes of test data (sequential, fixed, random) are selected based on MUX. LFSR generates a random number test sequence for read and write test between SRAM and CONTROLLER. In the write phase, LFSR generates data and transmits it to CONTROLLER; in the read phase, LFSR generates a comparison sequence to compare with the read-back data. In the sequential number and fixed number verification modes, the read and write data path from SRAMs to NAND FLASH is detected. SRAMs can be used in combination by random selection and verified simultaneously. If the data is wrong, the error position is recorded. The test process supports multiple polling tests, and the test process is controlled by a stop command. The invention provides a test sequence with multiple modes to synchronously test the random combination of multiple test branches, realize segmented path detection and multi-path detection, save test cost and time, realize accurate positioning of error positions, and improve the testability and reliability of the system.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1示出了本发明内建自测试装置示意图。FIG. 1 shows a schematic diagram of a built-in self-test device according to the present invention.
具体实施方式DETAILED DESCRIPTION
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。In order to more clearly understand the above-mentioned purpose, features and advantages of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the protection scope of the present invention is not limited to the specific embodiments disclosed below.
图1示出了本发明内建自测试装置示意图。FIG. 1 shows a schematic diagram of a built-in self-test device according to the present invention.
集成电路可根据电路处理信号类型不同分为模拟集成电路和数字电路。本发明主要用于对数字集成电路的测试,验证其逻辑功能和时序是否满足特定规定。Integrated circuits can be divided into analog integrated circuits and digital circuits according to the types of signals processed by the circuits. The present invention is mainly used to test digital integrated circuits to verify whether their logic functions and timing meet specific regulations.
线性反馈移位寄存器(LFSR)是内测试电路中最基本的标准模块结构,具有速度快、消耗逻辑门小等优势,且具有通用性。本发明主要基于LFSR在优化测试向量压缩及缩短测试应用时间方面的优势,对测试电路进行设计配置,提供多模式、低功耗和高速的ONFITESTCHIP内建自测试方法,提供了多种模式的测试序列对多个测试支路的随机组合进行同步测试,实现分段式路径检测以及多路径检测,可节约测试成本、缩短测试时间、提高系统的可测性和可靠性。The linear feedback shift register (LFSR) is the most basic standard module structure in the internal test circuit, which has the advantages of high speed, small consumption of logic gates, and versatility. The present invention is mainly based on the advantages of LFSR in optimizing test vector compression and shortening test application time, designs and configures the test circuit, provides a multi-mode, low-power and high-speed ONFITESTCHIP built-in self-test method, provides a multi-mode test sequence to synchronously test the random combination of multiple test branches, realizes segmented path detection and multi-path detection, can save test costs, shorten test time, and improve the testability and reliability of the system.
其中,ONFI(Open NAND Flash Interface),是一种开放式NAND快闪存储器接口,TESTCHIP(测试芯片)是用于验证和测试电路设计的芯片,该芯片包含了逻辑生成模块(Logic Generator),控制器IP(CONTROLLER)和物理层IP(PHY,用于NAND FLASH和CONTROLLER之间通信连接)。本发明逻辑电路组件主要在ONFI TESTCHIP的LogicGenerator模块里的子模块ONFI_CTRL_WRAP(和寄存器模块ONFI_CTRL_TOP_REG同级)里的次级模块MEM WRAPPER。本发明具有如下优势:支持固定数、顺序数、随机数的多种模式的测试向量生成;支持对多个测试支路的随机组合进行同步测试;支持分段式路径检测,且可满足多路径检测;支持轮询测试;支持在故障诊断中,测试过程可以随时中断,进行准确报错和定位,电路的正常功能可以重新开始;此外,这一检测电路不需要额外多的用作校验功能的静态读写存储器(SRAM)作为储蓄池存储错误数据。Among them, ONFI (Open NAND Flash Interface) is an open NAND flash memory interface, and TESTCHIP (test chip) is a chip used to verify and test circuit design. The chip includes a logic generation module (Logic Generator), a controller IP (CONTROLLER) and a physical layer IP (PHY, used for communication between NAND FLASH and CONTROLLER). The logic circuit component of the present invention is mainly in the secondary module MEM WRAPPER in the submodule ONFI_CTRL_WRAP (same level as the register module ONFI_CTRL_TOP_REG) in the LogicGenerator module of ONFI TESTCHIP. The present invention has the following advantages: supports generation of test vectors in various modes such as fixed numbers, sequential numbers and random numbers; supports synchronous testing of random combinations of multiple test branches; supports segmented path detection and can meet multi-path detection; supports polling testing; supports interruption of the test process at any time during fault diagnosis, accurate error reporting and positioning, and the normal function of the circuit can be restarted; in addition, this detection circuit does not require additional static read-write memory (SRAM) used for verification function as a storage pool to store error data.
如图1所示,为本发明内建自测试装置示意图;As shown in FIG1 , it is a schematic diagram of a built-in self-test device of the present invention;
本发明装置组件包括在封装的MEM WRAPPE(存储器包)里例化相应的LFSR电路,并根据SRAM的不同功能应用做相应的随机序列产生机制(LFSR),以及内部地址生成器(ex/in_gen_data_addr)。此外,还需增加比较逻辑电路并增加多路选择器(MUX)作为选择不同数据序列测试模式的开关以及增加在出现错误时进行报错和数据存储便于检错识别定位的机制的电路设计。本发明的测试实现方法如下:The device components of the present invention include instantiating the corresponding LFSR circuit in the packaged MEM WRAPPE (memory package), and making corresponding random sequence generation mechanisms (LFSR) and internal address generators (ex/in_gen_data_addr) according to different functional applications of SRAM. In addition, it is necessary to add a comparison logic circuit and a multiplexer (MUX) as a switch for selecting different data sequence test modes, and to add a circuit design for a mechanism of error reporting and data storage when an error occurs to facilitate error detection, identification and positioning. The test implementation method of the present invention is as follows:
S1:基于LFSR电路和ECC校验结合,即LFSR和CRW_MEM_ECC的结合,通过MUX选择运用顺序数、固定数、随机数不同模式的测试数据序列,数据来源DATA_IN和SEED;S1: Based on the combination of LFSR circuit and ECC check, that is, the combination of LFSR and CRW_MEM_ECC, the test data sequence with different modes of sequential number, fixed number and random number is selected through MUX, and the data sources are DATA_IN and SEED;
S2:设定随机数的种子值SEED、顺序数;S2: Set the seed value SEED and sequence number of the random number;
S3:启动随机数LFSR检测,检测作为正常读写功能使用的SRAMs-DMA_INTF接口-控制器CONTROLLER这一数据通路情况;S3: Start random number LFSR detection to detect the data path of SRAMs-DMA_INTF interface-controller CONTROLLER used for normal read and write functions;
S4:在启动随机数测试序列时,外部配置data_select选择lfsr随机数测试模式,并输入SEED,对应所要测验的SRAM-DMA_INTF接口-控制器CONTROLLER通路可以选择不同的种子值,用作校验功能的SRAM则根据所需要测试的SRAM-DMA_INTF接口-控制器CONTROLLER通路选择和用作正常读写功能使用的SRAM输入一样的种子值;发送写命令,控制器CONTROLLER接收到指令运作后进入读取阶段的SRAM会收到直接存取器接口发送过来的读取信号rd_en,此时,相应的随机数测试序列lfsr_gen_data通过LFSR迅速响应生成,此时,SEED为输入LFSR的种子值,rd/wr_en为LFSR所需读写使能;然后,CONTROLLER将基于DMA_INTF的数据mem_data_out进行即时处理,并产生用作校验功能的LFSR的写使能信号wr_en,用于产生读回比较序列的LFSR迅速响应生成比较数据序列lfsr_cmp_data,将lfsr_cmp_data和CONTROLLER即时处理的数据序列rdbc_data进行对比,对比基于cmp逻辑,如果数据不一致,则将进行报错,报错信号lfsr_error将触发内部地址生成器ex/in_gen_data_addr生成用于存储LFSR随机数序列存储的地址并将存在的错误数据rdbc_data存储至出错的SRAM,同时,对应SEED生成的比较数据序列lfsr_cmp_data也会写入用作校验功能的SRAM,用于定位数据序列出错位置,该报错过程通过读取种子值判断SRAM出错定位,然后读取出错SRAM的内容并和校验SRAM里的内容进行比较,定位出具体出错位置,如果rdbc_data和lfsr_cmp_data一致,此时数据不会存储至SRAMs;S4: When starting the random number test sequence, the external configuration data_select selects the lfsr random number test mode and inputs SEED. Different seed values can be selected for the SRAM-DMA_INTF interface-controller CONTROLLER path to be tested. The SRAM used for the verification function selects the same seed value as the SRAM used for normal read and write functions according to the SRAM-DMA_INTF interface-controller CONTROLLER path to be tested; a write command is sent, and the controller CONTROLLER receives the instruction and enters the read phase. The SRAM will receive the read signal rd_en sent by the direct access interface. At this time, the corresponding random number test sequence lfsr_gen_data is generated through the LFSR in a rapid response. At this time, SEED is the seed value input to the LFSR, and rd/wr_en is the read and write enable required by the LFSR; then, the CONTROLLER processes the data mem_data_out based on the DMA_INTF in real time, and generates a write signal for the LFSR used for the verification function. Enable signal wr_en, which is used to generate the LFSR read-back comparison sequence, to quickly respond and generate the comparison data sequence lfsr_cmp_data, and compare lfsr_cmp_data with the data sequence rdbc_data processed immediately by CONTROLLER. The comparison is based on cmp logic. If the data is inconsistent, an error will be reported. The error signal lfsr_error will trigger the internal address generator ex/in_gen_data_addr to generate an address for storing the LFSR random number sequence and store the existing error data rdbc_data to the error SRAM. At the same time, the comparison data sequence lfsr_cmp_data generated by the corresponding SEED will also be written into the SRAM used for verification function to locate the error position of the data sequence. The error reporting process determines the SRAM error location by reading the seed value, and then reads the content of the error SRAM and compares it with the content in the verification SRAM to locate the specific error position. If rdbc_data and lfsr_cmp_data are consistent, the data will not be stored in the SRAMs at this time.
S5:顺序数和固定数的校验模式用于检测正常读写功能SRAMs到NANDFLASH的读写数据通路,未写数据部分的SRAMs可当作错误数据储蓄池,校验时,用作正常读写功能的SRAMs随机选取组合使用并进行同时校验,一部分SRAMs用于写数据,一部分SRAMs用于存储读回报错的数据,如果校验不报错,则将正确数据存在读回指定的SRAMs,如果校验报错,则读出写入SRAMs的数据和对应存储读回出错SRAMs的数据进行对比和定位出具体出错位置;S5: The sequential number and fixed number verification modes are used to detect the read and write data path from the normal read and write function SRAMs to the NANDFLASH. The SRAMs of the unwritten data part can be used as an error data storage pool. During the verification, the SRAMs used for normal read and write functions are randomly selected and used in combination and verified at the same time. A part of the SRAMs is used to write data, and a part of the SRAMs is used to store the data reported by the read error. If the verification does not report an error, the correct data is stored in the specified SRAMs for reading back. If the verification reports an error, the data written to the SRAMs is read and compared with the corresponding data stored in the error SRAMs to locate the specific error location;
S6:启动顺序数/固定数测试序列,外部配置data_select选择顺序数/固定数测试模式,并对用做校验功能的SRAM输入DATA_IN,外部发送带有相应SRAMs外部映射首地址的写命令和写数据,CONTROLLER接收到指令运作后,进入读取阶段的SRAMs会收到CONTROLLER的读取请求,将mem_data_out取走经过PHY传输到非易失存储介质NAND FLASH,写数据阶段完成;然后,发送带有指定SRAMs外部映射首地址的读命令,CONTROLLER接收到指令运作后从NAND FLASH侧读回数据序列rdbc_data,生成dam_addr并对指定的SRAMs发送写请求,此时,用作校验功能的SRAM接收到一个读请求,对经过处理的读取地址mem_addr中存储的比较序列lfsr_cmp_data读出,通过cmp逻辑对lfsr_cmp_data和从NAND FLASH侧读回的rdbc_data进行对比,如果数据不一致,则进行报错,报错信号lfsr_error,并将错误数据存储至指定的SRAMs,通过读出写SRAMs的数据和对应存储读回出错SRAMs的数据进行对比并定位数据序列的出错位置,如果数据一致或者无需比较时,则选用DMA返回的地址dma_addr,此时数据写入指定的SRAMs;S6: Start the sequential number/fixed number test sequence, externally configure data_select to select the sequential number/fixed number test mode, and input DATA_IN to the SRAM used for verification function, and externally send the write command and write data with the corresponding SRAMs external mapping first address. After the CONTROLLER receives the instruction operation, the SRAMs entering the read phase will receive the CONTROLLER's read request, take mem_data_out and transmit it to the non-volatile storage medium NAND FLASH through PHY, and the write data phase is completed; then, send a read command with the specified SRAMs external mapping first address. After receiving the instruction operation, the CONTROLLER reads back the data sequence rdbc_data from the NAND FLASH side, generates dam_addr and sends a write request to the specified SRAMs. At this time, the SRAM used for verification function receives a read request, reads out the comparison sequence lfsr_cmp_data stored in the processed read address mem_addr, and compares lfsr_cmp_data with the data from NAND through the cmp logic. The rdbc_data read back by the FLASH side is compared. If the data is inconsistent, an error is reported, the error signal lfsr_error is reported, and the error data is stored in the specified SRAMs. The data written to the SRAMs is read and compared with the corresponding data stored in the error SRAMs to locate the error position of the data sequence. If the data is consistent or no comparison is required, the address dma_addr returned by the DMA is selected, and the data is written to the specified SRAMs.
S7:在上述S4与S6过程中,基于用户测试计划,可通过发送停止命令将正在进行的测试停止操作,若出现读写错误,设定触发中止测试;S7: In the above S4 and S6 processes, based on the user test plan, the ongoing test can be stopped by sending a stop command. If a read or write error occurs, the trigger is set to terminate the test;
S8:基于不同测试模式的选择,MEM WRAPPER的SRAMs通过随机组合进行测试适应。S8: Based on the selection of different test modes, the SRAMs of MEM WRAPPER are tested and adapted through random combinations.
需要说明的是,所述随机数对应DATA_IN值由外部输入,并且输入数据的模板pattern可进行设定。It should be noted that the random number corresponding to the DATA_IN value is input from the outside, and the template pattern of the input data can be set.
所述SRAMs-DMA_INTF接口中,该DMA接口用于在SRAM和CONTROLLER之前提供高速数据传输。In the SRAMs-DMA_INTF interface, the DMA interface is used to provide high-speed data transmission between the SRAM and the CONTROLLER.
顺序数和固定数的校验模式不需要额外的校验检测内存作为储蓄池存储出错数据,因为在使用固定数/顺序数检错逻辑时,未写数据部分的SRAMs可以当作错误数据储蓄池。Sequential and fixed number check modes do not require additional checksum memory as a storage pool to store error data, because when using fixed number/sequential number error detection logic, the SRAMs in the unwritten data portion can be used as an error data storage pool.
所述对用做校验功能的SRAM输入DATA_IN中,该输入数据pattern可以自主选择。外部发送带有相应SRAMs外部映射首地址的写命令和写数据中,对应的数据和用做校验功能的SRAM输入的数据模板一致。In the SRAM input DATA_IN used for verification function, the input data pattern can be selected independently. In the external sending of the write command and write data with the corresponding SRAMs external mapping first address, the corresponding data is consistent with the data template of the SRAM input used for verification function.
所述S7步骤中,基于DMA的特性,对测试序列进行轮询操作,校验多次读写下测试电路的可靠性,增加错误检测覆盖率。并且停止电路测试操作并不影响随后测试电路正常功能开启。In step S7, based on the characteristics of DMA, the test sequence is polled to verify the reliability of the test circuit after multiple reads and writes, thereby increasing the error detection coverage. Moreover, stopping the circuit test operation does not affect the subsequent normal function start of the test circuit.
根据不同测试模式的选择,MEM WRAPPER的SRAMs可以随机组合,同时检测随机组合的SRAMs到NAND FLASH的电路可靠性,也可以检测SRAMs-DMA_INTF-CONTROLLER数据通路,支持分段式路径检测,且可满足多路径检测。这一可行性操作有助于提升检测效率以及增加检测覆盖率。According to the selection of different test modes, the SRAMs of MEM WRAPPER can be randomly combined, and the circuit reliability of the randomly combined SRAMs to NAND FLASH can be tested at the same time. The SRAMs-DMA_INTF-CONTROLLER data path can also be tested, supporting segmented path detection and meeting multi-path detection. This feasible operation helps to improve detection efficiency and increase detection coverage.
用户测试计划可基于用户设定,选择性进行测试停止。User test plans can selectively stop tests based on user settings.
所述种子值(SEED)由外部输入,并且可以改变。The seed value (SEED) is input externally and can be changed.
本发明LFSR电路设计的ONFI TESTCHIP内建自测试方法采用逻辑门涉及具有小、结构简单与通用性的特点,可以满足多种模式的测试向量生成,且支持灵活组合随机并行测试不同支路电路,支持分段式路径检测,满足多路径检测,且不需要额外多的校验检测内存作为储蓄池存储出错数据,可进行轮询测试操作,支持随时停止不影响电路正常功能重新开始,并支持准确报错和定位。在满足设计指标同时,灵活设计,可节约测试成本、缩短测试时间、提高系统的可测性和可靠性电路。The ONFI TESTCHIP built-in self-test method of the LFSR circuit design of the present invention adopts the characteristics of small logic gates, simple structure and versatility, can meet the test vector generation of multiple modes, and supports flexible combination of random parallel testing of different branch circuits, supports segmented path detection, meets multi-path detection, and does not require additional verification detection memory as a storage pool to store error data, can perform polling test operations, support stopping at any time without affecting the normal function of the circuit and restarting, and supports accurate error reporting and positioning. While meeting the design indicators, the flexible design can save test costs, shorten test time, and improve the testability and reliability of the system circuit.
本发明第二方面提供一种基于LFSR设计的ONFI TESTCHIP内建自测试装置,其特征在于,该装置包括:MEM WRAPPER、SRAM、LFSR电路、ONFI快闪存储器接口、TESTCHIP测试芯片、该芯片包含了逻辑生成模块Logic Generator、控制器IP、物理层IP;所述装置运行时实现如上述S1~S8步骤。The second aspect of the present invention provides an ONFI TESTCHIP built-in self-test device based on LFSR design, characterized in that the device includes: MEM WRAPPER, SRAM, LFSR circuit, ONFI flash memory interface, TESTCHIP test chip, the chip includes a logic generation module Logic Generator, controller IP, physical layer IP; when the device is running, the above steps S1 to S8 are implemented.
本发明公开了一种基于LFSR设计的ONFI TESTCHIP内建自测试方法及装置。结合LFSR电路与ECC校验方法,基于MUX选择多种模式测试数据(顺序、固定、随机)。LFSR生成随机数测试序列,用于SRAM与CONTROLLER间的读写测试。写阶段,LFSR生成数据并传输至CONTROLLER;读阶段,LFSR生成比较序列与读回数据对比,在顺序数和固定数的校验模式中,检测SRAMs到NAND FLASH的读写数据通路,SRAMs可通过随机选取组合使用并进行同时校验,若数据报错则记录错误位置。测试过程支持多次轮询测试,通过停止命令控制测试过程。本发明提供了多种模式的测试序列对多个测试支路的随机组合进行同步测试,实现分段式路径检测以及多路径检测,可节约测试成本与时间、实现出错位置的精准定位、提高系统的可测性和可靠性。The invention discloses an ONFI TESTCHIP built-in self-test method and device based on LFSR design. Combining LFSR circuit and ECC verification method, multiple modes of test data (sequential, fixed, random) are selected based on MUX. LFSR generates a random number test sequence for read and write test between SRAM and CONTROLLER. In the write phase, LFSR generates data and transmits it to CONTROLLER; in the read phase, LFSR generates a comparison sequence to compare with the read-back data. In the sequential number and fixed number verification modes, the read and write data path from SRAMs to NAND FLASH is detected. SRAMs can be used in combination by random selection and verified simultaneously. If the data is wrong, the error position is recorded. The test process supports multiple polling tests, and the test process is controlled by a stop command. The invention provides a test sequence with multiple modes to synchronously test the random combination of multiple test branches, realize segmented path detection and multi-path detection, save test cost and time, realize accurate positioning of error positions, and improve the testability and reliability of the system.
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some features can be ignored, or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。In addition, all functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may be separately used as a unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。A person skilled in the art can understand that: all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), disks or optical disks, etc. Various media that can store program codes.
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Alternatively, if the above-mentioned integrated unit of the present invention is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present invention can be essentially or partly reflected in the form of a software product that contributes to the prior art. The computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the methods described in each embodiment of the present invention. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROM, RAM, magnetic disks or optical disks.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。The above description is only a specific implementation mode of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411078933.2A CN118609635B (en) | 2024-08-07 | 2024-08-07 | ONFI TESTCHIP built-in self-test method and device based on LFSR design |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411078933.2A CN118609635B (en) | 2024-08-07 | 2024-08-07 | ONFI TESTCHIP built-in self-test method and device based on LFSR design |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118609635A true CN118609635A (en) | 2024-09-06 |
CN118609635B CN118609635B (en) | 2024-11-19 |
Family
ID=92552218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411078933.2A Active CN118609635B (en) | 2024-08-07 | 2024-08-07 | ONFI TESTCHIP built-in self-test method and device based on LFSR design |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118609635B (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
US20020093356A1 (en) * | 2000-11-30 | 2002-07-18 | Williams Thomas W. | Intelligent test vector formatting to reduce test vector size and allow encryption thereof for integrated circuit testing |
US6807646B1 (en) * | 2002-03-04 | 2004-10-19 | Synopsys, Inc. | System and method for time slicing deterministic patterns for reseeding in logic built-in self-test |
US20050099950A1 (en) * | 2003-11-10 | 2005-05-12 | Yoshihiko Koga | Communication test device |
US20060179369A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | Memory built-in self test engine apparatus and method with trigger on failure and multiple patterns per load capability |
CN101894591A (en) * | 2010-07-26 | 2010-11-24 | 清华大学 | Linear feedback shift register (LFSR)-based random test device for external storage interface |
US20140257739A1 (en) * | 2013-03-07 | 2014-09-11 | International Business Machines Corporation | Implementing random content of program loops in random test generation for processor verification |
CN104412327A (en) * | 2013-01-02 | 2015-03-11 | 默思股份有限公司 | Built in self-testing and repair device and method |
CN105760268A (en) * | 2016-02-23 | 2016-07-13 | 大唐微电子技术有限公司 | On-chip random access memory built-in self-testing method and device |
US20240003974A1 (en) * | 2022-06-30 | 2024-01-04 | Ampere Computing Llc | Component die validation built-in self-test (vbist) engine |
-
2024
- 2024-08-07 CN CN202411078933.2A patent/CN118609635B/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
US4449182B1 (en) * | 1981-10-05 | 1989-12-12 | ||
US20020093356A1 (en) * | 2000-11-30 | 2002-07-18 | Williams Thomas W. | Intelligent test vector formatting to reduce test vector size and allow encryption thereof for integrated circuit testing |
US6807646B1 (en) * | 2002-03-04 | 2004-10-19 | Synopsys, Inc. | System and method for time slicing deterministic patterns for reseeding in logic built-in self-test |
US20050099950A1 (en) * | 2003-11-10 | 2005-05-12 | Yoshihiko Koga | Communication test device |
US20060179369A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | Memory built-in self test engine apparatus and method with trigger on failure and multiple patterns per load capability |
CN101894591A (en) * | 2010-07-26 | 2010-11-24 | 清华大学 | Linear feedback shift register (LFSR)-based random test device for external storage interface |
CN104412327A (en) * | 2013-01-02 | 2015-03-11 | 默思股份有限公司 | Built in self-testing and repair device and method |
US20140257739A1 (en) * | 2013-03-07 | 2014-09-11 | International Business Machines Corporation | Implementing random content of program loops in random test generation for processor verification |
CN105760268A (en) * | 2016-02-23 | 2016-07-13 | 大唐微电子技术有限公司 | On-chip random access memory built-in self-testing method and device |
US20240003974A1 (en) * | 2022-06-30 | 2024-01-04 | Ampere Computing Llc | Component die validation built-in self-test (vbist) engine |
Also Published As
Publication number | Publication date |
---|---|
CN118609635B (en) | 2024-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4571749B2 (en) | Efficient simultaneous testing of integrated circuit devices to produce expected responses using known good devices | |
US7284166B2 (en) | Programmable multi-mode built-in self-test and self-repair structure for embedded memory arrays | |
KR100536984B1 (en) | Hierarchical built-in self-test for system-on-chip design | |
JP3746621B2 (en) | Self-test circuit for composite semiconductor memory device and self-test method using the same | |
KR100447910B1 (en) | Array-built-in-self-test(abist) for efficient, fast, bitmapping of large embedded arrays in manufacturing test | |
CN100399473C (en) | Built-in self-test system and method | |
US7979759B2 (en) | Test and bring-up of an enhanced cascade interconnect memory system | |
US5173906A (en) | Built-in self test for integrated circuits | |
CN100392617C (en) | System on chip and test/debug method applied to system on chip | |
CN103310852B (en) | MBIST Controller Structure System Compatible with SRAM/ROM Based on IEEE 1500 Standard | |
JP3795822B2 (en) | Embedded self-test circuit and design verification method | |
KR20090086616A (en) | Circuits and Methods for Testing Multi-Device Systems | |
CN112614534B (en) | MBIST circuit system | |
JPH09127206A (en) | Integrated-circuit testing method for acquiring fault information with regard to selected fault and built-in type self-testing device | |
US9640279B1 (en) | Apparatus and method for built-in test and repair of 3D-IC memory | |
TWI463502B (en) | Embedded testing module | |
US5751729A (en) | Method and apparatus for efficient self testing of on-chip memory | |
US7353442B2 (en) | On-chip and at-speed tester for testing and characterization of different types of memories | |
WO2007114373A1 (en) | Test method, test system, and auxiliary substrate | |
US20180218778A1 (en) | Embedded Memory Testing with Storage Borrowing | |
CN101727980A (en) | Multi-chip module | |
CN103310849A (en) | Test circuit, memory system, and test method of memory system | |
CN118609635A (en) | ONFI TESTCHIP built-in self-test method and device based on LFSR design | |
CN110415751B (en) | A Parameterizable Configurable Memory Built-in Self-Test Circuit | |
Querbach et al. | A reusable BIST with software assisted repair technology for improved memory and IO debug, validation and test time |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |