메모리 기술이 발달함에 따라 메모리의 집적도가 증가하게 되었고, 이러한 변화는 구성요소들의 크기를 작아지게 만들고, 고장의 감응성이 증가하게 하였다. 그리고 고장은 더욱 복잡하게 되었다. 또한, 칩 하나에 포함되어있는 저장 요소가 늘어남에 따라 테스트 시간도 증가하게 되었다. 그리고 SOC 기술의 발달로 대용량의 내장 메모리를 통합할 수 있게 되었지만, 테스트 과정이 복잡하게 되어 외부 테스트 환경에서는 내장 메모리를 테스트하기 어렵게 되었다. 본 논문에서 제안하는 테스트 구조는 내장 테스트를 사용하여 외부 테스트 환경 없이 테스트가 가능하다. 제안하는 내장 테스트 구조는 다양한 알고리즘을 적용 가능하므로, 생산 공정의 수율 변화에 따른 알고리즘 변화에 적용이 가능하다. 그리고 메모리에 내장되어 테스트하므로, At-Speed 테스트가 가능하다. 즉, 다양한 알고리즘과 여러 형태의 메모리 블록을 테스트 가능하기 때문에 높은 효율성을 가진다.
메모리 기술이 발달함에 따라 메모리의 집적도가 증가하게 되었고, 이러한 변화는 구성요소들의 크기를 작아지게 만들고, 고장의 감응성이 증가하게 하였다. 그리고 고장은 더욱 복잡하게 되었다. 또한, 칩 하나에 포함되어있는 저장 요소가 늘어남에 따라 테스트 시간도 증가하게 되었다. 그리고 SOC 기술의 발달로 대용량의 내장 메모리를 통합할 수 있게 되었지만, 테스트 과정이 복잡하게 되어 외부 테스트 환경에서는 내장 메모리를 테스트하기 어렵게 되었다. 본 논문에서 제안하는 테스트 구조는 내장 테스트를 사용하여 외부 테스트 환경 없이 테스트가 가능하다. 제안하는 내장 테스트 구조는 다양한 알고리즘을 적용 가능하므로, 생산 공정의 수율 변화에 따른 알고리즘 변화에 적용이 가능하다. 그리고 메모리에 내장되어 테스트하므로, At-Speed 테스트가 가능하다. 즉, 다양한 알고리즘과 여러 형태의 메모리 블록을 테스트 가능하기 때문에 높은 효율성을 가진다.
The density of Memory has been increased by great challenge for memory technology. Therefore, elements of memory become more smaller than before and the sensitivity to faults increases. As a result of these changes, memory testing becomes more complex. In addition, as the number of storage elements ...
The density of Memory has been increased by great challenge for memory technology. Therefore, elements of memory become more smaller than before and the sensitivity to faults increases. As a result of these changes, memory testing becomes more complex. In addition, as the number of storage elements per chip increases, the test cost becomes more remarkable as the cost per transistor drops. Recent development in system-on-chip (SOC) technology makes it possible to incorporate large embedded memories into a chip. However, it also complicates the test process, since usually the embedded memories cannot be controlled from the external environment. Proposed design doesn't need controls from outside environment, because it integrates into memory. In general, there are a variety of memory modules in SOC, and it is not possible to test all of them with a single algorithm. Thus, the proposed scheme supports the various memory testing process. Moreover, it is able to At-Speed test in a memory module. consequently, the proposed is more efficient in terms of test cost and test data to be applied.
The density of Memory has been increased by great challenge for memory technology. Therefore, elements of memory become more smaller than before and the sensitivity to faults increases. As a result of these changes, memory testing becomes more complex. In addition, as the number of storage elements per chip increases, the test cost becomes more remarkable as the cost per transistor drops. Recent development in system-on-chip (SOC) technology makes it possible to incorporate large embedded memories into a chip. However, it also complicates the test process, since usually the embedded memories cannot be controlled from the external environment. Proposed design doesn't need controls from outside environment, because it integrates into memory. In general, there are a variety of memory modules in SOC, and it is not possible to test all of them with a single algorithm. Thus, the proposed scheme supports the various memory testing process. Moreover, it is able to At-Speed test in a memory module. consequently, the proposed is more efficient in terms of test cost and test data to be applied.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
이에 따라 내장되어 있는 메모리에 대한 테스트의 정확성과 비용, 시간이 중요한 문제로 부각되었다. 따라서 본 논문에서는 적은 오버헤드를 가지고, 빠른 속도로 동작하며, 다양한 알고리즘을 지원하는 프로그램 가능한 메모리 내장 자체 테스트를 개발하였다.
본 논문에서는 매크로 코드에 의해 동작하는 FSM방식의 내장 자체 테스트 구조를 제안한다. 이 구조에서는 알고리즘을 선택하기 위한 간단한 코드만을 ATE가 내장 자체 테스트 실행 명령과 함께 입력하여 주면 제안하는 내장 자체 테스트가 자동으로 선택된 알고리즘에 맞는 테스트 명령을 만들어 테스트를 수행하게 된다.
제안 방법
1. 프로그램 가능한 내장 자체 테스트 구조 검증 본 논문에서 제안한 내장 자체 테스트 설계에 대한 구현은 VeiilogHDL로 기술하여 구현하였다. 구현에 대한 검증은 Xilinx사의 ISE 8.
Xilinx ISE 8.1i를 사용하여 제안하는 메모리 테스트구조를 구현하여 보았다. 테스트 할 메모리의 '크기를 1KByte, 64KByte, 256K①yte로 정하였고, 각 메모리는 32bit 워드를 가지며 8, 14, 16 bit 크기의 주소를 가진다.
Address Decoder Faults, Stuck-At Faults가 모델링 되었지만; 이것들은 매우 추상적이었기에 실제 메모리 고장을 완벽하게 반영할 수 없었다. 그 후, 실제 디자인에서의 실제 고장을 반영하기 위해서 물리적 레이아웃 수준의 실험결과를 바탕으로 State-Coupling Fault, Data-Retention Fault 고장 모델이 성립되었다. 하지만 메모리의 크기가 커짐에 따라 기존의 기능 고장 모델로는 모든 고장을 표현하는 것이 불가능해졌다.
알고리즘 생성 모듈은 End_MM 신호를 받을 때마다 순서대로 March Element를 MM_code에 인가한다. 마지막 March Element를 보내고 나서 백그라운드 데이터를 바꾸어 주는 BG_CNT를 하나 증가시켜주고 바뀐 백그라운드 데이터를 적용시키기 위하여 알고리즘을 다시 실행한다. 이러한 과정을 반복하여 백그라운드 데이터를 모두 적용하게 되면 End_of_BIST를인가하여 내장 자체 테스트가 끝났음을 알린다.
같은 구조로 되어 있다. 외부로부터 알고리즘을 선택 받고, 알고리즘의 March Elements 순서에 맞게 March Elements를 전달하는 알고리즘 생성 모듈 (Algorithm Generator), March Element를 메모리에적용시키는 테스트 제어 모듈(Test Controller)로 구성되어 있다.
내장 자체 테스트 구조를 제안한다. 이 구조에서는 알고리즘을 선택하기 위한 간단한 코드만을 ATE가 내장 자체 테스트 실행 명령과 함께 입력하여 주면 제안하는 내장 자체 테스트가 자동으로 선택된 알고리즘에 맞는 테스트 명령을 만들어 테스트를 수행하게 된다. 제안하는 구조에서는 두 가지 FSM이 존재 한다.
제안하는 구조에서는 두 가지 FSM이 존재 한다. 첫 번째는 알고리즘을 선택하여 March Elements를 만들어주고 만들어진 March Elements를 테스트 제어 모듈에 적절한 시간에 맞추어 보내어 주는 FSM과 메모리에 접근할 때 사용하는 FSM으로 구성되어 진다. 본 논문의 구성은 서론에 이어 2장 기존의 고장 모델링과 메모리 내장 자체 테스트 알고리즘을 설명하고, 3 장에서는 제안하는 프로그램 가능한 메모리 내장 자체 테스트의 구조를 언급한다.
대상 데이터
테스트 제어 모듈은 주소를 발생 시키는 주소 생성회로(Address Generator Logic, AGL), 내장 메모리에 읽기/쓰기 동작에 적합한 신호를 발생시키는 읽기/쓰기 신호 생성 모듈(Read/Write Signal Generator), 마지막으로 메모리에서 읽어 온 값을 정상 동작일 경우의 값과 비교하는 비교 모듈(Comparator)로 구성되어 진다. 제안하는 프로그램 가능한 메모리 내장 자체 테스트의 전체 흐름은 다음과 같다.
데이터처리
프로그램 가능한 내장 자체 테스트 구조 검증 본 논문에서 제안한 내장 자체 테스트 설계에 대한 구현은 VeiilogHDL로 기술하여 구현하였다. 구현에 대한 검증은 Xilinx사의 ISE 8.1i에서 제공하는 시뮬레이터를 사용하여 RTL 검증을 하였다.
성능/효과
지원한다. 그리하여 Read Destructive Coupling fault, Write Disturb Fault, Transition Coupling Fault, Incorrect Read fault 와 같은 가장 최근에 모델링된 고장도 검출이 가능하며, 단순한 MATS+ 알고리즘을 이용하면 SF 만을 검출하지만, 가장 빠른 속도로 테스트 할 수 있다. 또한 표 6과 같이 제안하는 테스트 회로는 기존의 테스트 보다 더 많은 고장을 검출하지만, 그 시간은 증가하지 않고 오히려 줄어든 것을 알 수 있다.
그림 8을 보면 메모리의 크기가 1KByte인 메모리를 테스트하는 메모리 테스트 회로의 오버헤드는 4.036%이고, 64KByte 메모리를 테스트하는 회로의 오버헤드는 0.084%, 256KByte 메모리의 경우 0.017%의 오버헤드를 가졌다. 메모리는 용량이 커짐에 따른 면적 증가율이 해당 메모리를 테스트하는 회로의 크기 증가율보다 매우 크게 증가 하였다.
그리하여 Read Destructive Coupling fault, Write Disturb Fault, Transition Coupling Fault, Incorrect Read fault 와 같은 가장 최근에 모델링된 고장도 검출이 가능하며, 단순한 MATS+ 알고리즘을 이용하면 SF 만을 검출하지만, 가장 빠른 속도로 테스트 할 수 있다. 또한 표 6과 같이 제안하는 테스트 회로는 기존의 테스트 보다 더 많은 고장을 검출하지만, 그 시간은 증가하지 않고 오히려 줄어든 것을 알 수 있다. 지원하는 알고리즘이 많음에 따라 테스트 회로의 크기가 증가하였지만, 회로의 면적 증가 오버헤드는 그림 8에서 보는 바와 같이 메모리 회로의 크기에 비하여 매우 작은 것을 알 수 있다.
메모리 생산 공정 초기에는 많은 고장이 발생하게 되므로, 현재까지 모델링 된 모든 고장을 검출해 낼 수 있는 March SS 알고리즘이 포함되어있고, 생산이 거듭될수록 공정은 안정화 되므로, 단순하고 빠른 MATS+ 와 같은 알고리즘을 지원할 수 있게 하였다.
017%의 오버헤드를 가졌다. 메모리는 용량이 커짐에 따른 면적 증가율이 해당 메모리를 테스트하는 회로의 크기 증가율보다 매우 크게 증가 하였다. 즉, 메모리 면적은 메모리 크기에 거의 비례하게 증가하였지만, 제안하는 테스트 회로는 비슷한 수준의 크기를 유지하는 것을 알 수 있다.
본 논문에서 제안하는 프로그램 가능한 내장 자체 테스트는 전체 메모리 크기와 비교하였을 경우, 매우 작은 면적 오버헤드를 가지고 있다. 또한 기존의 내장 자체 테스트鈍보다 지원 가능한 알고리즘의 개수가 더 많고, 더 빠른 속도로 동작이 가능하다.
그리하여 메모리 테스트를 수행하는 과정에서 시간과 비용이 증가하게 되었다. 제안하는 프로그램 가능한 메모리 내장 자체 테스트는 메모리에 내장 되어 테스트를 실행하므로, 외부 테스트 환경의 제약 없이 테스트 가능하고, 여러 개의 알고리즘을 지원하여 생산과정의 필요성에 따라 다양한 알고리즘을 설계 변경 없이 적용할 수 있게 되었다.
메모리는 용량이 커짐에 따른 면적 증가율이 해당 메모리를 테스트하는 회로의 크기 증가율보다 매우 크게 증가 하였다. 즉, 메모리 면적은 메모리 크기에 거의 비례하게 증가하였지만, 제안하는 테스트 회로는 비슷한 수준의 크기를 유지하는 것을 알 수 있다.
즉, 모든 알고리즘의 총 March Element수는 35개 이지만, 동일한 March Element에는 같은 번호를 부여하였기에, 1에서 14까지의 번호가 부여된 March Elements로 모든 알고리즘을 표현할 수 있게 되었다. 이러한 취합 과정을 거쳐 정리된 March Elements는 표 5와 같다.
후속연구
또한 기존의 내장 자체 테스트鈍보다 지원 가능한 알고리즘의 개수가 더 많고, 더 빠른 속도로 동작이 가능하다. 결과적으로 제안하는 테스트 구조를 사용하면 테스트 시간과 비용을 줄일 수 있을 것으로 예상한다.
참고문헌 (10)
A. J. van de Goor and A. Offerman, 'Towards a uniform notation for memory tests,' in Proc. European Design and Test Conf., pp. 420-427, 1996
V. G. Mikitjuk, V. N. Yarmolik and A. J. van de Goor, 'RAM testing algorithms for detecting multiple linked faults,' in Proc. European Design and Test Conf., pp. 435-439, 1996
P. H. Bardell and W. H. McAnney, 'Built-in test for RAMs,' IEEE Design & Test of Computers, Vol. 5, No. 4, pp. 29-36, Aug 1988
V. D. Agrawal, C. R. Kime and K. K. Saluja, 'A tutorial on built-in self-test. I. Principles,'IEEE Design & Test of Computers, Vol. 10, No. 1, pp. 73-82, Mar 1993
V. D. Agrawal, C. R. Kime and K. K. Saluja, 'A tutorial on built-in self-test. 2. Principles,' IEEE Design & Test of Computers, Vol. 10, No. 2, pp. 69-77, Mar 1993
S. Park, K. Lee, C. Im, N. Kwak, K. Kim and Y. Choi, 'Designing built-in self-test circuits for embedded memories test,' in Proc. AP-ASIC 2000, 2nd IEEE Asia Pacific Conf., pp. 315-318, Aug 2000
K. Zarrineh and S. J. Upadhyaya, 'On programmable memory built-in self test architectures,' in Proc. IEEE Design, Automation and Test in Europe Conf., pp. 708-713, Mar 1999
S. Hamdioui, G. Gaydadjiev and A. J. van de Goor, 'The state-of-art and future trends in testing embedded memories,' Memory Technology, Design and Testing, 2004. Records of the 2004 International Workshop, pp. 54-59, Aug 2004
S. Hamdioui, A. J. van de Goor and M. Rodgers, 'March SS: A Test for All Static Simple RAM Faults,' Memory Technology, Design and Testing, 2002. (MTDT 2002). in Proc. The 2002 IEEE International Workshop, pp. 95-100, July 2002
P. C. Tsai, S. J. Wang and F. M. Chang, 'FSM-Based Programmable Memory BIST with Macro Command,' in Proc. The 2005 IEEE International Workshop on Memory Technology, Design, and Testing, pp. 72-75, Aug 2005
※ AI-Helper는 부적절한 답변을 할 수 있습니다.