KR20060053883A - 반도체장치 식별코드 작성방법과 반도체장치 식별방법 및반도체장치 - Google Patents

반도체장치 식별코드 작성방법과 반도체장치 식별방법 및반도체장치 Download PDF

Info

Publication number
KR20060053883A
KR20060053883A KR1020050065167A KR20050065167A KR20060053883A KR 20060053883 A KR20060053883 A KR 20060053883A KR 1020050065167 A KR1020050065167 A KR 1020050065167A KR 20050065167 A KR20050065167 A KR 20050065167A KR 20060053883 A KR20060053883 A KR 20060053883A
Authority
KR
South Korea
Prior art keywords
code
semiconductor device
circuit
logic value
identification code
Prior art date
Application number
KR1020050065167A
Other languages
English (en)
Inventor
요시아키 야마구치
다츠야 후루카와
고이치 시모카와
Original Assignee
마츠시타 덴끼 산교 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마츠시타 덴끼 산교 가부시키가이샤 filed Critical 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20060053883A publication Critical patent/KR20060053883A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/02Manufacture or treatment of semiconductor devices or of parts thereof
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • H01L21/67294Apparatus for monitoring, sorting or marking using identification means, e.g. labels on substrates or labels on containers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31722Addressing or selecting of test units, e.g. transmission protocols for selecting test units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은, 반도체장치 자체를 이용하여 실행하는 저원가의 반도체장치 식별방법과, 그 식별방법에 이용되는 식별코드를 제공하는 것이다.
플립플롭, RAM 혹은 SRAM 등의 메모리 셀을 갖는 반도체장치의 전원을 온으로 하여, 각 메모리 셀로부터 처음으로 출력되는 Hi 또는 Lo의 논리신호를 취득한다. 그리고 그 논리신호의 조합을 고유 식별코드로 하여 반도체장치의 식별에 사용한다.

Description

반도체장치 식별코드 작성방법과 반도체장치 식별방법 및 반도체장치{METHOD FOR GENERATING IDENTIFICATION CODE OF SEMICONDUCTOR DEVICE, METHOD FOR IDENTIFYING SEMICONDUCTOR DEVICE AND SEMICONDUCTOR DEVICE}
도 1은 SRAM을 구비하는 반도체장치에 외부전원을 투입한 뒤 처음으로 출력된 신호를 배열한 초기패턴코드의 예를 나타내는 도.
도 2는 도 1에 나타내는 SRAM 초기패턴코드를 16진수화한 값을 나타내는 도.
도 3은 불안정한 단위회로를 갖는 SRAM에 있어서, 제 1 실시예에서 서술한 방법으로 SRAM 초기패턴코드를 n 회 반복하여 취득한 결과를 나타내는 표.
도 4는 n 회 반복하여 취득한 초기패턴코드를 논리연산(AND)으로 처리한 후의 결과를 나타내는 표.
도 5는 칩 고유코드를 나타내는 표.
도 6은 고유코드를 구하는 조작을 실현하는 논리회로도.
도 7은 각 칩의 마스크코드를 나타내는 표.
도 8은 도 6에 나타내는 회로에 있어서, 반도체장치의 각 단위회로로부터의 출력(AND회로(11) 및 OR회로(12)의 입력)과, AND레지스터(13) 및 OR레지스터(14)의 출력과, 고유코드 및 마스크코드 각각의 진리값을 나타내는 표.
도 9는 반도체장치가 특정 ID코드를 가졌는지 여부를 자동적으로 식별하기 위한 고유코드 비교회로의 예를 나타내는 회로도.
도 10은 해밍거리의 개념을 설명하기 위한 도.
도 11은 도 9에 나타낸 회로를 이용하여 반도체장치를 식별할 경우에, 대상 고유코드, 대상 마스크코드, 비교 고유코드, 대상 마스크코드 및 해밍거리값의 진리값을 나타내는 표.
도 12는 정확하게 반도체장치를 식별할 수 있는 고유코드를 취득하기 위한 단계를 나타내는 흐름도.
* 도면의 주요 부분에 대한 부호의 설명 *
11, 21, 22 : AND회로 12 : OR회로
13 : AND레지스터 14 : OR레지스터
15 : Exclusive NOR회로 16 : 고유코드 유지부
17 : 마스크레지스터 18 : 마스크코드 유지부
23 : 판정회로
본 발명은, 다수의 플립플롭 혹은 RAM(Random Access Memory) 등 Hi/Lo 2 값을 출력하는 회로를 기판 상에 형성하여 이루어지는 반도체장치의 식별코드 작성방법과 반도체장치의 식별방법 및 반도체집적회로에 관한 것이다.
반도체집적회로의 제조공정을 관리할 경우나 그 불량 해석을 실행할 경우 등 에, 반도체기판으로 형성되는 개개의 칩(die)의 식별이 필요하게 된다. 예를 들어 집적회로의 출하 후 불량에 관해, 그 원인을 해석하여 대책을 마련하기 위해서는, 반도체제조공정 혹은 조립 실장공정의 이력까지 거슬러 올라 조사할 필요가 있다. 또 확산공정에 원인을 추구할 경우는, 그 불량이 된 칩이 제조된 기간, 로트(lot), 웨이퍼 및 웨이퍼의 위치까지 특정함으로써, 그 칩이 받은 각 공정처리조건을 특정할 수 있는 것이다. 이와 같은 식별을 가능하게 하기 위해, 출하 전에 개개의 반도체장치(칩, 다이)에 특유의 식별번호나 기호를 부여하는 처리가 실시된다.
종래의 반도체장치 식별방법으로, 레이저트리머를 이용하여 반도체칩 상에 형성된 디바이스 인식용 패턴에 식별정보를 기억시키는 방법이나, 반도체칩에 내장된 불휘발성 메모리에 그 칩의 식별정보를 기입하는 방법이 있다. 또 일특개 2003-203832호 공보에는, 절연표면을 갖는 기판 상에 형성된 TFT의 특성편차를 이용하여 식별번호를 생성하는 방법이 기재되어 있다. 이 방법은, TFT의 특성편차에 기초하여 1 비트 난수를 출력하는 고유비트 생성회로를 포함하는 기판 식별회로를 칩 상에 형성해두고, 1 비트 난수를 발생시켜 칩에 고유의 수치를 발생시키고, 이를 식별번호로서 사용하는 것이다.
그러나 레이저트리머를 이용하여 개개의 반도체장치 식별정보를 기억시키는 방법에서는, 레이저트리머장치의 도입이 필요함과 더불어 정보기입조작이 복잡해진다. 또 불휘발성 메모리를 이용하는 방법에서는, 불휘발성 메모리를 본래 필요로 하지 않는 반도체장치에서도 그 공정을 추가 실시해야 하므로, 모든 경우에 시간과 원가가 걸린다는 결점이 있다.
또 일특개 2003-203832호 공보에 기재된 방법은, 반도체장치가 본래 구비하는 TFT를 이용하는 것인 점에서 저원가이기는 하나, 이 방법으로 식별 가능한 것은 절연표면을 갖는 기판에 형성된 TFT를 구비하는 반도체장치에 한정된다. 때문에 실리콘기판에 형성된 MOS형 트랜지스터나 바이폴라트랜지스터로 구성되는 일반적인 반도체장치의 식별방법으로는 사용할 수 없다는 결점이 있다.
본 발명의 목적은, 상기 과제를 해결하는 것으로, 반도체장치 자체를 이용하여 실행하는 저원가의 반도체장치 식별방법과, 이 식별방법에 이용하는 식별코드를 제공하는 데 있다.
본 발명의 반도체장치의 식별코드작성방법은, 논리값을 출력하는 복수의 단위회로를 구비하는 반도체장치의 식별코드작성방법으로서, 상기 반도체장치에 전원을 투입했을 때, 상기 단위회로 각각으로부터 출력되는 논리값을 취득하는 단계(a)와, 상기 논리값을 이용하여 상기 반도체장치의 식별코드를 작성하는 단계(b)를 구비하는 것을 특징으로 한다.
반도체장치에 전원을 투입하여 처음으로 출력되는 논리값에는 정상동작 시에 비해 반도체장치의 제조 차이가 크게 반영된다. 따라서 반도체장치 고유의 논리값을 얻을 수 있으므로, 보다 정확하게 반도체장치의 식별을 실행할 수 있는 식별코드를 얻을 수 있다. 또 반도체장치 자체를 이용하여 식별코드를 얻을 수 있으므로, 식별의 간략화 및 저원가화가 가능하다. 또 얻어진 식별코드는, 그 반도체장치에 처음부터 구비된 트랜지스터 특성의 차이에 기초한 것이므로, 웨이퍼상태, 조립 후의 실장상태 및 칩 상태 등 어떠한 상태라도 용이하게 식별정보를 채취할 수 있다.
상기 단계(a) 후에, 상기 반도체장치에 재차 전원을 투입하여, 상기 단위회로 각각으로부터 출력되는 논리값을 취득하는 단계(c)를 추가로 구비하며, 상기 단계(b)에서는, 상기 식별코드 중 하나로서, 상기 복수의 단위회로 중 상기 단계(a) 및 상기 단계(c)에서 논리값이 변동하는 불안정 단위회로를 마스킹한 고유코드를 작성해도 된다. 여기서 "마스킹한다"란, 불안정 단위회로의 출력을 "0"으로 하는 것을 말하며, 고유코드에서는, 항상 "0"이 출력되는 단위회로와 불안정 단위회로와의 논리값이 "0"이 된다. 이 경우에는, 고유코드에 불안정한 단위회로로부터의 출력값이 반영되지 않으므로, 특성이 차이나는 불안정한 단위회로를 갖는 반도체장치라도 보다 정확하게 식별할 수 있는 식별코드를 얻을 수 있다.
상기 단계(b)에서는, 상기 식별코드 중 하나로서, 상기 단위회로 중 상기 불안정 단위회로의 논리값만이 "0"이 되는 마스크코드도 작성해도 된다. 이 경우에는 고유코드와 마스크코드를 이용하여 보다 정확한 식별을 실행할 수 있게 된다. 구체적으로는, 식별대상이 될 반도체장치의 고유코드(대상 고유코드)와, 비교를 위한 마스크코드(비교 마스크코드)를 AND연산하여, 식별대상이 될 마스크코드(대상 마스크코드)와, 비교를 위한 고유코드(비교 고유코드)를 AND연산한다. 그리고 이들 2 개의 값을 비교함으로써, 보다 정확하게 반도체장치의 식별을 행할 수 있다.
상기 단계(a) 전에는, 상기 복수의 단위회로 모두에 "0" 또는 "1"을 기입한 후에 상기 전원을 절단하고, 상기 단계(c) 전에도, 상기 복수의 단위회로 모두에 "0" 또는 "1"을 기입한 후에 상기 전원을 절단해도 된다. 이 경우 단계(a)에 있어서, 불안정한 단위회로는 초기화됐을 때의 잔류전하 영향을 받아, "0"을 기입한 경우에는 "0"을, "1"을 기입한 경우에는 "1"을 출력한다. 이로써 불안정한 단위회로를 보다 확실하게 검출할 수 있다.
상기 단계(b)에서는, 상기 단계(a)에서 얻어지는 논리값과 상기 단계(c)에서 얻어지는 논리값 중, "1"의 비율이 소정값 이상인 논리값만을 이용하여 상기 고유코드를 작성해도 된다. 이 경우에는, 전원을 투입해도 단위회로가 데이터를 판독하는 모드로 진입하지 않은 경우에 얻어지는, "0"이 많은 논리값을 이용하지 않고 고유코드를 작성할 수 있다. 따라서 최종적으로 얻어지는 고유코드에 "0"의 데이터가 많아지는 것을 방지할 수 있다.
상기 단계(a)를 실행한 후이며 상기 단계(c)를 실행하기 전에, 상기 단계(a)에서 얻어진 논리값을 이용하여 중간 식별코드를 작성하는 단계(e)를 추가로 구비하며, 상기 단계(b)에서는, 상기 단계(c)에서 얻어진 논리값과 상기 중간 식별코드와의 해밍거리가 소정값 이하이면, 재차 상기 단계(c)에서 얻어진 논리값을 이용하여 상기 식별코드를 작성해도 된다. 이 경우에는, 다른 논리값과의 차이가 큰 논리값을 이용하지 않고 식별코드를 작성할 수 있으므로, 보다 정확한 식별코드를 얻을 수 있다.
또 상기 단계(c) 후에, 상기 단계(c)에서 얻어진 논리값을 이용하여 중간 식별코드를 작성하는 단계(f)를 추가로 구비하며, 상기 단계(b)에서는, 상기 중간 식별코드와 상기 단계(a)에서 얻어진 논리값과의 해밍거리가 소정값 이하이면, 상기 단계(a)에서 얻어진 논리값을 이용하여 상기 식별코드를 작성해도 된다. 이 경우에는 다른 논리값과의 차이가 큰 논리값을 이용하지 않고 식별코드를 작성할 수 있으므로, 보다 정확한 식별코드를 얻을 수 있다.
상기 단위회로는, 전원을 절단함으로써, 유지했던 논리값이 소거되는 회로인 것이 바람직하다.
상기 단위회로는 플립플롭 또는 SRAM이라도 된다.
본 발명의 반도체장치의 식별방법은, 상술한 반도체장치 식별코드작성방법으로 작성된 상기 식별코드를 이용한 반도체장치의 식별방법으로서, 식별 대상이 될 반도체장치에서 취득한 상기 고유코드와 비교용 마스크코드를 AND연산한 제 1 값과, 식별 대상이 될 반도체장치에서 취득한 상기 마스크코드와 비교용 고유코드를 AND연산한 제 2 값을 비교함으로써 식별한다.
이 방법으로 식별을 행하면, 반도체장치가 정확하게 식별되는 확률을 최대한 높일 수 있다.
상기 제 1 값과 상기 제 2 값이 완전히 일치하는지 여부로 식별해도 된다.
상기 제 1 값과 상기 제 2 값의 해밍거리가 소정 값 이하인지 여부로 식별해도 된다.
본 발명의 반도체장치는, 논리값을 출력하는 복수의 단위회로를 갖는 논리값 출력회로와, 상기 논리값 출력회로에 전원을 투입했을 때, 상기 단위회로 각각으로부터 출력되는 논리값을 취득하여, 상기 논리값 출력회로의 식별정보를 작성하는 식별정보 생성회로를 구비해도 된다.
반도체장치에 전원을 투입하여 처음으로 출력되는 논리값에는 정상동작 시와 비교하여 반도체장치의 제조편차가 크게 반영된다. 따라서 이 식별정보 생성회로에서는, 반도체장치 고유의 논리값을 얻을 수 있다. 이로써 본 발명의 반도체장치에서는, 보다 정확하게 식별을 행할 수 있다.
상기 복수의 단위회로 중 상기 논리값이 상기 논리값 출력회로로부터 출력될 때마다 변동하는 불안정 단위회로를 마스킹하는 마스크회로를 추가로 구비해도 된다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부 도면과 관련한 다음의 상세한 설명을 통해 보다 분명해질 것이다.
(실시예)
이하에 본 발명의 실시예에 대해 도면을 참조하면서 설명하기로 한다.
(제 1 실시예)
본 발명에 의한 반도체장치(칩)의 식별방법은, 다음과 같은 개념에 기초하는 것이다. 일반적으로, 논리회로를 포함하는 LSI나 시스템LSI로 불리는 반도체집적회로에는, MOS프로세스나 COMS프로세스로 형성된 다수의 플립플롭, RAM 또는 SRAM(Static Random Access Memory)이 배치된다. 이들 회로는 복수의 MOS트랜지스터로 구성되며, 제조조건이 시간에 따라 차이가 나므로, 로트에서의 복수 웨이퍼 각각이나, 1 매의 웨이퍼 내 위치에 따라, 트랜지스터 패턴치수나 불순물확산농도에 편차가 생긴다. 이와 같은 제조공정에서의 편차가 반영되어, 동일하게 설계된 트랜지스터라도 임계값 차이 등의 동작출력특성의 차이를 갖는다.
본 발명은 플립플롭, RAM 혹은 SRAM 등과 같은 Hi/Lo(혹은 1/0)의 2 값 출력을 실행하는 회로를 탑재한 반도체장치에 있어서, 동작출력 차이를 칩 식별에 이용하는 것이다. 구체적으로는, 반도체장치의 전원을 온 했을 때 복수의 단위회로로부터 처음으로 출력되는 신호의 조합인 난수패턴을 식별정보로서 이용한다. 반도체장치의 전원을 온시킨 직후의 출력신호를 이용하는 것은, 정상동작 시와 비교하여 제조편차가 크게 반영되기 때문이다.
본 발명에서는 출력신호의 난수패턴을 식별정보로 하는 것이므로, 플립플롭, RAM 혹은 SRAM 등의 메모리셀을 구성하는 회로는, Hi와 Lo의 신호를 어느 한쪽으로 치우침 없이 동일한 정도의 확률로 출력하는 것이 바람직하다. 따라서 이들 회로는, 전기적으로 대칭이 되도록 트랜지스터 등의 소자가 조립된 것이 바람직하다. 또 전원을 오프 함으로써, 그 때까지 유지했던 정보가 즉시 소거되는 회로인 것이 바람직하다. 이하에서는 반도체장치로 SRAM이 탑재된 경우를 예로 하여 설명을 진행하기로 한다.
도 1은, SRAM을 구비하는 반도체장치에 외부전원을 투입한 후 최초로 출력된 신호를 배열한 초기패턴코드의 예를 나타내는 도이다. 초기패턴코드는, 반도체장치 중 SRAM을 지정하는 특정 어드레스의 메모리셀(단위회로)로부터 출력된다. 또 도 1에서, 횡방향(비트)으로는 32 개의 메모리셀이 배치되고, 종방향(워드)으로는 2 개의 메모리셀이 배치된다. 즉 이 초기패턴코드는, 32비트 2워드의 SRAM으로 형성된 것이다.
도 1에서, "H"는 Hi(1) 데이터를 나타내며, 공백은 Lo(0) 데이터를 나타낸 다. 이 조합이 반도체장치 각각에 고유의 식별정보가 된다. 이 식별정보를 얻기 위한 조작은, 예를 들어 확산공정 종료 후에 웨이퍼 상태에서 LSI테스터를 이용하여 통상의 프로빙 검사를 실행할 때, 부가적으로 실시하면 된다. 보다 구체적으로는, 통상의 프로빙 검사를 실시한 후 등에, 미리 정해둔 SRAM 지정어드레스의 데이터를 출력시킴으로써, 초기패턴코드를 채취하면 된다. 이와 같이, 식별정보를 얻기 위한 조작을 통상의 검사에 부가적으로 실시할 경우에는, 전용 장치나 공정 등 특별한 준비가 필요 없다는 이점이 있다. 또 도 1에서는 32비트 2워드로 패턴코드를 구성하지만, 본 실시예는 이에 한정되지 않으며, Hi와 Lo 데이터를 조합한 다른 형식의 패턴코드를 구축해도 상관없다.
도 2는 도 1에 나타내는 SRAM 초기패턴코드를 16진수화 한 값을 나타내는 도이다. 도 2에 나타내는 바와 같이, Hi, Lo로 구성되는 초기패턴코드를 16진수화 함으로써, 식별정보데이터 용량의 축소가 가능해진다. 상술한 바와 같이, 프로빙검사 시에 초기패턴코드를 취득한 경우에, 초기패턴코드는 16진수화 한 형태로 프로빙검사 데이터와 함께 칩 각각에 보존된다.
본 실시예에서는, 반도체장치에 전원을 투입하고 최초로 출력되는 초기패턴코드를 취득하여 식별코드로 한다. 초기패턴코드에는, 정상동작 시와 비교하여 반도체장치의 제조차이가 크게 반영된다. 이로써 반도체장치에 고유의 식별코드를 얻을 수 있으므로, 보다 정확하게 반도체장치의 식별을 행할 수 있다. 또 본 실시예에서는, 반도체장치 자체를 이용하여 식별을 행할 수 있으므로, 식별의 간략화 및 저원가화가 가능하다. 또 얻어진 초기패턴코드는, 그 반도체장치에 처음부터 구비 된 트랜지스터특성의 차이에 기초한 것이므로, 웨이퍼상태, 조립 후의 실장상태 및 칩상태 등 어떠한 상태라도 용이하게 식별정보 채취가 가능하다.
(제 2 실시예)
제 1 실시예에서 설명한 바와 같이, 본 발명의 칩 식별코드 작성방법은, 전원투입 시에 SRAM 지정 어드레스로 출력되는 신호로부터 초기패턴코드를 취득하고, 이를 식별코드로 하는 것이다. 그러나 전원 투입 시, 지정 어드레스로부터 항상 동일한 신호(데이터)가 출력되는 것은 아니다. 특히 트랜지스터특성이나 메모리셀 전기특성 등이 차이나는 불안정한 단위회로에서는, 출력이 고르지 못한 경우가 있어, 전원 투입 시마다 Hi/Lo 출력이 변동되는 것이 있다. 그래서 본 실시예에서는, 불안정한 단위회로를 구비한 칩이라도 확실하게 식별할 수 있는 방법을 제공한다.
도 3은 불안정한 단위회로를 구비한 SRAM에 있어서, 제 1 실시예에서 서술한 방법으로 SRAM의 초기패턴코드를 n회 반복하여 취득한 결과를 나타내는 표이다. 도 3에 나타내는 제 n 회까지의 초기패턴코드에는, 완전히 일치하는 것이 없음을 알 수 있다. 본 실시예에서는 이와 같은 초기패턴코드에 대해 논리연산을 실행한다. 보다 구체적으로는, 제 n 회까지 각 회의 패턴코드 각 단위회로별로 AND연산을 실행하여 불안정한 단위회로의 코드를 Lo로 간주하여 제거하는 것이다.
도 4는, n 회 반복하여 취득한 초기패턴코드를 논리연산(AND)으로 처리한 후의 결과를 나타내는 표이다. 도 4에 나타내는 결과는, 도 3에 나타내는 각 단위회로의 초기패턴코드에 대해, 제 1 회∼제 n 회까지 값의 AND연산을 행한다. 그리고 제 1 회∼제 n 회까지에서 1 회라도 다른 값이 있으면, 그 단위회로의 연산결과는 Lo가 된다. 연산결과가 Lo로 된 단위회로는, 도 4에서는 코드 "D"로 나타내며, 패턴코드 불일치 단위회로가 된다. 그 후 도 5에 나타내는 바와 같이, 패턴코드 불안정 단위회로를 제외시키는 조작을 실행하고, 이를 반도체장치(칩) 고유의 패턴코드(이하에서는 "고유코드"라 칭함)로 한다. 도 5는 칩의 고유코드를 나타내는 표이다.
이상의 방법으로 고유코드를 구하는 조작은, 도 6에 나타내는 논리회로로 실현된다. 도 6은, 고유코드를 구하는 조작을 실현하는 논리회로를 나타내는 회로도이다. 도 6에 나타내는 회로에서는 고유코드가 구해지는 것만이 아닌, "마스크코드"로 불리는 부수적인 코드도 동시에 생성된다. "마스크코드"는 고유코드와 마찬가지의 32비트 2워드의 코드이며, 도 4에서 패턴코드 불일치 데이터 "D"가 출력된 불안정 단위회로의 코드만이 Lo이고, 그 이외의 코드가 Hi로 된 구성을 갖는다.
도 6에 나타내는 회로는, 각 단위회로로부터의 제 1 회∼제 n 회까지의 데이터를 수취하는 AND회로(11) 및 OR회로(12)와, AND회로(11)로부터의 출력을 수취하는 AND레지스터(13)와, OR회로(12)로부터의 출력을 수취하는 OR레지스터(14)와, AND레지스터(13) 및 OR레지스터(14)로부터의 출력을 수취하는 ExclusiveNOR회로(15)와, AND레지스터(13)로부터의 출력을 고유코드로서 유지하는 고유코드 유지부(16)와, ExclusiveNOR회로(15)로부터의 출력을 수취하는 마스크레지스터(17)와, 마스크레지스터(17)로부터의 출력을 마스크코드로서 유지하는 마스크코드 유지부(18)를 구비한다. 여기서 도 6에는, AND회로(11) 및 OR회로(12)의 입력으로서 각각 1 개의 입력만 기재하나, 실제로는 각 단위회로에서 제 1 회∼제 n 회까지의 n 개의 데이터가 입력된다.
도 6에 나타내는 논리회로에서는, AND회로(11)에 데이터를 입력함과 동시에, OR회로(12)에도 데이터를 입력한다. 그리고 AND회로(11)로부터 출력된 데이터는, AND레지스터(13)를 통해 고유코드 유지부(16)로 출력됨과 동시에, ExclusiveNOR회로(15)로 출력된다. 이 때 고유코드 유지부(16)에는, 도 5에 나타내는 고유코드가 유지된다. 한편 OR회로(12)에 입력된 데이터는, OR레지스터(14)를 통해 ExclusiveNOR회로(15)로 입력된다. ExclusiveNOR회로(15)에서는 AND회로(11)로부터의 출력과 OR회로(12)로부터의 출력이 동일한 경우에는 Hi가 출력되며, 다를 경우는 Lo가 출력된다. 그 결과 ExclusiveNOR회로(15)로부터의 출력에서 Lo(공백)로 되는 단위회로는, 도 4에서 패턴코드 불일치데이터 "D"가 출력된 단위회로와 일치한다. 즉 도 7에 나타내는 바와 같이 ExclusiveNOR회로(15)로부터의 출력인 마스크코드는, 초기패턴코드가 불안정인 단위회로에서는 Lo로 되고, 그 이외의 단위회로에서는 Hi로 된다. 도 7은 각 칩의 마스크코드를 나타내는 표이다. 이 마스크코드는, 실제로 반도체장치가 특정 고유코드를 갖고 있는지 여부를 조회하는 보조코드이나, 이의 사용방법에 대해서는 뒤에 상술하기로 한다. 그리고 실제로 반도체장치를 식별할 때 이용되는 코드는, 고유코드와 마스크코드의 그룹으로 이루어지며, 본 명세서에서는 이 그룹을 "ID코드"라 칭한다.
도 6에 나타내는 회로는, 예를 들어 초기패턴코드를 취득하기 위한 LSI테스터 내에 ID코드 생성용 프로그램을 작성하여 실현할 수 있다. 혹은 도 6에 나타내는 회로를 개개의 반도체장치 상에 형성하고, 반도체장치로부터 출력된 초기패턴코 드(Hi 또는 Lo)를 그 위에 배치하는 회로에 입력해도 된다. 또 도 6에 나타내는 회로를 반도체장치와는 별개의 기판에 작성해도 된다.
도 8은 도 6에 나타내는 회로에 있어서, 반도체장치 각 단위회로로부터의 출력(AND회로(11) 및 OR회로(12)의 입력)과, AND레지스터(13) 및 OR레지스터(14)의 출력과, 고유코드 및 마스크코드 각각의 진리값을 나타내는 표이다. 그 결과는 제 0 단위회로에서 제 3 단위회로까지의 4 개 단위회로로부터, 5 회 식별정보를 판독한 것이다. 제 0 단위회로의 사례에서는, 5 회의 판독 중에 모두 "0"이 출력되며, 이 경우에는 고유코드가 "0", 마스크코드가 "1"이 된다. 제 1 단위회로, 제 2 단위회로의 사례에서는, 5 회의 판독에서 "1" 및 "0" 양쪽이 출력된 경우이며, 이 경우에는 고유코드가 "0", 마스크코드가 "0"이 된다. 또 표 중 제 1 단위회로, 제 2 단위회로에서는, 제 2 회에서 제 4 회까지의 출력으로 "X"가 기재되며, 이는 "Don't Care(1이라도 좋고 0이라도 좋음)"의 의미를 나타낸다. 제 1 단위회로 및 제 2 단위회로에서는, 제 1 회와 제 5 회의 출력이 다르므로, AND레지스터(13) 및 OR레지스터(14)의 출력은 상기 2 회의 출력만으로 결정된다. 즉 제 2 회에서 제 4 회까지의 출력은 고려하지 않아도 결과에 영향이 없으므로, 실제로는 "0" 또는 "1" 중 어는 한쪽이 출력됐지만 그 기록을 생략한 것이다. 다음으로 제 3 단위회로의 사례에서는 5 회의 판독 모두 "1"이 출력되어, 이 경우는 고유코드가 "1", 마스크코드가 "1"이 된다.
다음으로 상술한 방법으로 얻어진 ID코드를 이용하여, 실제로 반도체장치의 식별(디바이스 식별)을 실시하는 방법을 서술하기로 한다. 도 9는 반도체장치가 특 정 ID코드를 갖고 있는지 여부를 자동적으로 식별하기 위한 고유코드 비교회로의 예를 나타내는 회로도이다.
도 9에 나타내는 고유코드 비교회로는, 대상고유코드와 비교마스크코드가 입력되는 AND회로(21)와, 대상마스크코드와 비교고유코드가 입력되는 AND회로(22)와, AND회로(21, 22)의 출력을 수취하는 판정회로(23)로 구성된다. 도 9에 나타내는 고유코드 비교회로에서는, 우선 식별하고자 하는 반도체장치의 ID코드(대상고유코드, 대상마스크코드라 칭함)를 앞서 서술한 방법으로 취득한다. 다음으로, 얻어진 대상고유코드와 기준이 될 비교마스크코드의 AND연산 처리를 AND회로(21)에서 실행하고, 얻어진 대상마스크코드와 기준이 될 비교고유코드의 AND연산 처리를 AND회로(22)에서 실행한다. 그 후, 판정회로(23)에서 AND회로(21)와 AND회로(22)의 출력값 비교조회를 실행한다. 도 9에 나타내는 판정회로(23)는 이른바 해밍거리의 연산을 실행하는 회로이다. 판정회로(23)에서는, 해밍거리 값이 0일 경우에는, 반도체장치가 비교고유코드와 동일ID코드를 가진 것으로 판단되며, 해밍거리 값이 0이 아닐 경우는, 반도체장치가 비교고유코드와 동일ID코드를 갖지 않은 것으로 판단된다.
여기서 해밍거리에 대해 설명한다. 도 10은 해밍거리의 개념을 설명하기 위한 도이다. AND회로(21)로부터의 출력 값을 A로 하고, AND회로(22)로부터의 출력 값을 B로 했을 때, 이들 출력에 대해 A가 B로 변화하는 정도로서, 부호 A, B의 거리(해밍거리)로 나타낼 수 있다. 여기서 해밍거리는, 부호(A)와 부호(B)를 비교한 경우에 값이 다른 단위회로(비트)의 수로 정의한다. n 단위회로로 구성된 메모리셀에서의 부호 A, B간 거리(d)는 하기의 수식(1)으로 표시할 수 있다.
(수식 1)
도 10은 n=8(단위회로)일 경우의 부호 A, B간 해밍거리를 나타낸다. ai는 AND회로(21)로부터의 출력 값을 나타내며, bi는 AND회로(22)로부터의 출력 값을 나타낸다. 수식 1에, 도 10에 나타내는 ai, bi 값을 대입시켜 계산하면, 이 경우의 해밍거리는 3이다.
도 11은, 도 9에 나타낸 회로를 이용하여 반도체장치를 식별하는 경우에 있어서, 대상고유코드, 대상마스크코드, 비교고유코드, 비교마스크코드 및 해밍거리값의 진리값을 나타내는 표이다. 대상고유코드와 대상마스크코드의 조합은, (0, 0)(0, 1)(1, 1)의 3 가지이며, 비교고유코드와 비교마스크코드의 조합도 마찬가지로 3 가지뿐이므로, 이들 3 종류 코드의 조합은 9 가지가 된다. 도 11에서는 이들 9 종류의 모든 조합을 나타낸다. 여기서 도 11에 나타내는 해밍거리는 1 단위회로의 출력 값을 이용하여 판정하므로, 상기 수식 1에서는 i=1, n=1이다.
도 11에서의 제 1 단에 나타내는 경우에, 대상고유코드가 "0"이며 비교마스크코드가 "0"이므로, AND회로(21)(도 9에 나타내는)의 AND처리는 "0"이 되고, 대상마스크코드가 "0"이며 비교고유코드가 "0"이므로, AND회로(22)(도 9에 나타내는)의 AND처리는 "0"이 된다. AND회로(21, 22)의 출력은 모두 "0"이므로, 상기 수식 1에 ai=0, bi=0을 대입하면, 이 때의 해밍거리는 "0"이 된다. 해밍거리가 "0"일 경우에, 식별 대상이 될 반도체장치의 대상코드는, 비교코드와 일치한 것으로 판단된다. 도 11의 제 1 단에서는, 확실히 대상코드와 비교코드가 일치한다. 도 11의 제 2 단에서 제 5 단까지와 제 7 단에서는 AND회로(21, 22)의 출력이 모두 "0"이므로, 해밍거리가 "0"이 되어, 반도체장치의 대상코드와 비교코드가 일치한 것으로 판단된다. 또 도 11의 제 9 단에서는, AND회로(21, 22)의 출력이 모두 "1"이므로, 해밍거리가 "0"이 되어, 반도체장치의 대상코드와 비교코드가 일치한 것으로 판단된다.
한편, 도 11의 제 6 단에 나타내는 경우는, 대상고유코드가 "0"이고 비교마스크코드가 "1"이므로, AND회로(21)(도 9에 나타내는)의 AND처리는 "0"이 되고, 대상마스크코드가 "1"이며 비교고유코드가 "1"이므로, AND회로(22)(도 9에 나타내는)의 AND처리는 "1"이 된다. 상기 수식 1에 ai=0, bi=1을 대입하면, 양자의 해밍거리는 "1"이 된다. 해밍거리가 "1"일 경우에, 식별 대상이 될 반도체장치의 대상코드는, 비교코드와 일치하지 않는 것으로 판단된다. 도 11의 제 8 단에서는, AND회로(21)의 출력이 "1"이며, AND회로(22)의 출력이 "0"이므로, 해밍거리가 "1"이 되어, 반도체장치의 대상코드와 비교코드는 불일치인 것으로 판단된다.
여기서 상술한 방법에서는, 해밍거리가 0일 경우에만, 즉 대상ID코드와 비교ID코드가 완전히 일치했을 때 반도체장치가 비교ID코드와 동일코드를 가진 것으로 판정된다. 그러나 제조나 실장의 공정을 거침으로써 ID코드의 일부 비트가 변화될 경우가 있다. 특히 실장 시에는 칩이 고온으로 가열되어 스트레스도 인가되므로, 플립플롭이나 SRAM의 소자특성이 변화되기 쉽다. 예를 들어 반도체기판에 확산층을 형성하는 공정이 종료된 후의 특성기능 검사 시에 ID코드를 취득하고, 칩 실장 후에 반도체장치를 식별하기 위해 ID코드 식별을 실시하면, 해밍거리가 완전히 일치하지 않을 우려가 있다. 이와 같은 문제를 해결하기 위해서는, ID코드가 일치한다 고 생각해도 좋을 해밍거리의 소정 범위를 결정하고, 일치하지 않는 해밍거리가 그 범위 내에 있을 경우에는 일치한 것으로 판정하면 된다. 예를 들어 ID코드가 64 개의 비트를 가졌을 경우, 판정기준을, 해밍거리가 ID코드를 구성하는 비트 수의 10% 이하 값일 때에 일치하는 것으로 하면, 도 9에 나타내는 회로에서 산출되는 해밍거리의 값이 6 이하라면 일치하는 것으로 판정한다.
본 실시예에서는, 복수의 초기패턴코드로 고유코드를 작성함으로써, 불안정 단위회로의 데이터를 "0" 또는 Lo로 하여 고유코드로부터 제외시킬 수 있다. 따라서 가령 불안정한 단위회로를 가진 칩이라도 보다 확실한 식별이 가능하게 된다.
또 대상고유코드와 비교마스크코드를 AND연산하고, 대상마스크코드와 비교고유코드를 AND연산하여, 이들 값의 해밍거리를 계산함으로써 반도체장치가 정확하게 식별될 확률을 최대한 높일 수 있다. 예를 들어 대상고유코드와 비교고유코드를 AND처리하고, 대상마스크코드와 비교마스크코드를 AND처리하여, 이들 결과의 해밍거리를 구한 경우, 반도체장치가 정확하게 식별될 확률은 90∼95% 정도로 낮았다. 이에 반해 도 11에 나타내는 방법으로 대상고유코드와 비교마스크코드를 비교하고, 대상마스크코드와 비교고유코드를 비교한 경우에는, 반도체장치가 정확하게 식별될 확률이 매우 높아진다. 이와 같이 도 11에 나타내는 회로에 의하면 수백 개, 수천 개란 대량의 반도체칩으로부터 특정 ID코드를 갖는 반도체칩을 자동적으로 추출해낼 수 있다.
(제 3 실시예)
본 실시예에서는, 처음에 ID코드를 취득한 후 실장 등 각종 처리공정이 실시 되어 플립플롭이나 SRAM 등 소자의 출력이 변동되어도, 안정된 ID코드를 확실하게 작성하는 방법을 제공한다.
본 실시예에서는, 우선 ID코드를 취득하는 셀의 전체 단위회로를 "1" 및 "0" 중 어느 한쪽 상태로 초기화시킨 후에 전원을 한번 끈 후 다시 전원을 넣는 동작을 반복하여, 도 3에 예시하는 바와 같은 초기패턴코드를 복수 회 취득한다. 이 방법을 실행하면, 불안정한 단위회로는 초기화됐을 때의 잔류전하 영향을 받아, 전체 단위회로를 "1"로 초기화시켰을 경우는 "1"을, 전체 단위회로를 "0"으로 초기화시켰을 경우는 "0"을 출력한다. 그리고 복수 회 취득한 초기패턴코드에 대해 도 6에 나타내는 회로를 이용하여 연산을 실행하면, 불안정 단위회로가 Lo로 되어 제거된 고유코드가 생성된다. 이 방법에서는 불안정한 단위회로를 보다 확실하게 검출할 수 있다.
그런데, 취득한 초기패턴코드 중에 Lo데이터가 매우 많이 포함된 것이 출현할 경우가 있다. 이 원인으로는, 전원을 투입해도 셀의 단위회로가 데이터를 판독하는 모드(테스트모드)상태로 진입하지 않은 것을 생각할 수 있다. 복수의 초기패턴코드 중에 Lo데이터가 많은 초기패턴코드가 포함되면 최종적으로 얻어지는 고유코드에서도 Lo데이터가 많아져버려, 반도체칩의 비교조회가 어려워진다.
이와 같은 문제를 회피하기 위해서는, n 회 반복 취득한 초기패턴코드에 대해, 도 6의 회로 연산을 실행할 때, Hi 수가 일정 수 이하인 초기패턴코드(최종적으로 초기패턴코드가 되지 않는 중간 패턴코드)는 채용하지 않고, 새로 취득한 초기패턴코드를 이용하면 된다. 또는 다음과 같은 연산, 조작을 도입해도 된다. 즉, n 개의 초기패턴코드를 취득할 예정인 경우, i 개(i<n)의 초기패턴코드를 취득한 시점에서 도 6에 나타내는 회로를 이용하여 연산을 실행함으로써 중간 고유코드를 취득한다. 그 후 제 i+1 회에 취득한 초기패턴코드와 상기 중간ID코드를 비교하여 양자의 해밍거리가 일정 이상 클 때, 그 초기패턴코드를 제외시킨다. 이와 같이 하여 해밍거리가 일정 값 이하인 초기패턴코드만을 채용하여 도 6에 나타내는 회로를 이용한 연산을 실행함으로써 최종고유코드를 취득한다. 이 경우에는 다른 논리값과의 차이가 큰 논리값을 이용하지 않고 고유코드를 작성할 수 있으므로, 보다 정확한 고유코드를 얻을 수 있다. 이 방법의 변형예로서, 취득 중인 초기패턴코드를 중간ID코드와 비교하는 대신, 그 때까지 취득한 i 개의 초기패턴코드와, 제 i+1 회의 초기패턴코드를 이용하여 산출된 해밍거리를 비교해도 된다.
여기서 이상 서술한 방법을 구체적으로 실행하는 단계에 대해, 도면을 참조하면서 설명한다. 도 12는 정확하게 반도체장치를 식별할 수 있는 고유코드를 취득하기 위한 단계를 나타내는 흐름도이다. 여기서는 고유코드를 SRAM으로부터 취득하는 경우에 대해 설명한다. 도 12에 나타내는 바와 같이 우선, 단계(St1)에서 반도체장치의 전원을 ON으로 하고, 단계(St2)에서 SRAM의 단위회로 중 코드를 취득할 소정 단위회로 전부, 예를 들어 계 64 비트(32비트가 1워드에 상당하는 경우에, 32비트×2워드)의 단위회로에 "0"을 기입하여 초기화한다. 그 후, 단계(St3)에서 전원을 끈다. 이어서 단계(St4)에서 재차 전원을 투입하고, 단계(St5)에서 SRAM의 초기패턴코드의 데이터를 판독한 후, 단계(St6)에서 다시 전원을 끈다. 다음으로 단계(St7)에서 모든 단위회로 중 판독한 초기패턴코드의 값이 Hi 또는 "1"로 된 것의 비율을 조사하여, 그 비율이 24/64 이상인지 여부를 판정한다. 24/64 미만이면 다시 처음으로 돌아가 조작을 되풀이한다. 비율이 24/64 이상이면, 단계(St8)에서 전회까지 취득한 초기패턴코드 모두를 이용하여 얻어진 중간고유코드와, 이번 회에 취득한 초기패턴코드를 비교하여, 양자의 해밍거리를 산출한다. 그리고 해밍거리가 10 이하인지 여부를 판정하여, 해밍거리가 10보다 크면 단계(St1)로 되돌아가 재차 초기패턴코드를 취득한다. 해밍거리가 10 이하이면 이를 초기패턴으로 하고 단계(St9)로 진행한다. 단계(St9)에서는, 초기패턴코드가 10 개 취득됐는지 여부를 판정하고, 취득하지 못했다면 단계(St1)로 되돌아가 다음의 초기패턴코드를 취득한다. 10 개 취득되었다면, 다음의 단계(St10)로 진행한다.
단계(St10)에서는 반도체장치의 전원을 ON으로 한다. 이어서 단계(St11)에서 SRAM 중 코드를 취득할 소정 단위회로 전부에 "1"을 기입하여 초기화한다. 그 후, 단계(St3)∼단계(St9)와 마찬가지의 방법으로 단계(St12)∼단계(St18)를 실행함으로써 10 개의 초기패턴코드를 취득한다. 여기서 단계(St12)∼단계(St18)에 대한 설명은, 단계(St3)∼단계(St9)와 마찬가지이므로 생략한다. 이상의 단계로써 합계 20 개의 초기패턴을 취득하고, 마지막으로 도 6에 나타내는 회로에서 논리연산을 실행하여 최종적인 ID코드를 얻는다. 본 실시예에서 얻어지는 ID코드는, 불안정한 요소를 포함한 단위회로가 더욱 엄밀하게 제외되므로, 보다 정확하게 반도체장치의 식별을 실행할 수 있다.
다음으로 다수 반도체장치(칩)의 ID코드를 특정 ID코드(상기한 비교ID코드)와 조회할 때는, 각 반도체장치의 ID를 도 12에 나타내는 방법으로 취득하고, 도 9 에 나타내는 회로에 의한 연산을 실시하여 비교조회한다. 이 때 판정회로(23)에서의 일치·불일치 판정은 해밍거리가 0일 때 일치로 해도 되며, 해밍거리가 고유코드 비트 수의 10% 이하인 값으로 됐을 때 일치로 판단해도 된다.
이상과 같이 본 발명에 의하면, TFT와 같은 특수한 디바이스를 탑재하지 않고, 통상의 플립플롭이나 SRAM 등 "0(또는 Lo)" 및 "1(또는 Hi)"의 논리값을 출력하는 회로가 탑재되는 반도체장치에서 개개의 디바이스 ID코드를 특별한 회로 없이 작성할 수 있으며, 또 그 식별을 실행할 수 있다.
이상과 같이 본 발명에 의하면, 보다 정확하며 보다 간편하게 반도체장치의 식별을 행할 수 있다.
본 발명에 관한 반도체장치의 식별코드 작성방법과 이를 이용한 식별방법은, 특별히 반도체칩 인식용 패턴이나 회로를 준비하지 않아도, 플립플롭이나 SRAM 등 "0"과 "1"의 논리값을 출력하는 회로가 탑재된 디바이스의 식별을 행할 수 있는 점에서 유용하다.

Claims (14)

  1. 논리값을 출력하는 복수의 단위회로를 구비하는 반도체장치의 식별코드작성방법으로서,
    상기 반도체장치에 전원을 투입했을 때, 상기 단위회로 각각으로부터 출력되는 논리값을 취득하는 단계(a)와,
    상기 논리값을 이용하여 상기 반도체장치의 식별코드를 작성하는 단계(b)를 구비하는 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  2. 제 1 항에 있어서,
    상기 단계(a) 후에, 상기 반도체장치에 재차 전원을 투입하여, 상기 단위회로 각각으로부터 출력되는 논리값을 취득하는 단계(c)를 추가로 구비하며,
    상기 단계(b)에서는, 상기 식별코드 중 하나로서, 상기 복수의 단위회로 중 상기 단계(a) 및 상기 단계(c)에서 논리값이 변동하는 불안정 단위회로를 마스킹한 고유코드를 작성하는 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  3. 제 2 항에 있어서,
    상기 단계(b)에서는, 상기 식별코드 중 하나로서, 상기 단위회로 중 상기 불안정 단위회로의 논리값만이 "0"이 되는 마스크코드도 작성하는 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  4. 제 2 항에 있어서,
    상기 단계(a) 전에는, 상기 복수의 단위회로 모두에 "0" 또는 "1"을 기입한 후에 상기 전원을 절단하고,
    상기 단계(c) 전에도, 상기 복수의 단위회로 모두에 "0" 또는 "1"을 기입한 후에 상기 전원을 절단하는 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  5. 제 2 항에 있어서,
    상기 단계(b)에서는, 상기 단계(a)에서 얻어지는 논리값과 상기 단계(c)에서 얻어지는 논리값 중, "1"의 비율이 소정값 이상인 논리값만을 이용하여 상기 고유코드를 작성하는 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  6. 제 2 항에 있어서,
    상기 단계(a)를 실행한 후이며 상기 단계(c)를 실행하기 전에, 상기 단계(a)에서 얻어진 논리값을 이용하여 중간 식별코드를 작성하는 단계(e)를 추가로 구비하며,
    상기 단계(b)에서는, 상기 단계(c)에서 얻어진 논리값과 상기 중간 식별코드와의 해밍거리가 소정값 이하이면, 상기 단계(c)에서 얻어진 논리값을 이용하여 상기 식별코드를 작성하는 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  7. 제 2 항에 있어서,
    상기 단계(c) 후에, 상기 단계(c)에서 얻어진 논리값을 이용하여 중간 식별코드를 작성하는 단계(f)를 추가로 구비하며,
    상기 단계(b)에서는, 상기 중간 식별코드와 상기 단계(a)에서 얻어진 논리값과의 해밍거리가 소정값 이하이면, 상기 단계(a)에서 얻어진 논리값을 이용하여 상기 식별코드를 작성하는 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  8. 제 1 항에 있어서,
    상기 단위회로는, 전원을 절단함으로써, 유지했던 논리값이 소거되는 회로인 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  9. 제 8 항에 있어서,
    상기 단위회로는 플립플롭 또는 SRAM인 것을 특징으로 하는 반도체장치의 식별코드작성방법.
  10. 제 3 항 기재의 반도체장치 식별코드작성방법으로 작성된 상기 식별코드를 이용한 반도체장치의 식별방법으로서,
    식별 대상이 될 반도체장치에서 취득한 상기 고유코드와 비교용 마스크코드를 AND연산한 제 1 값과, 식별 대상이 될 반도체장치에서 취득한 상기 마스크코드와 비교용 고유코드를 AND연산한 제 2 값을 비교함으로써 식별하는 것을 특징으로 하는 반도체장치의 식별방법.
  11. 제 10 항에 있어서,
    상기 제 1 값과 상기 제 2 값이 완전히 일치하는지 여부로 식별하는 것을 특징으로 하는 반도체장치의 식별방법.
  12. 제 10 항에 있어서,
    상기 제 1 값과 상기 제 2 값의 해밍거리가 소정 값 이하인지 여부로 식별하는 것을 특징으로 하는 반도체장치의 식별방법.
  13. 논리값을 출력하는 복수의 단위회로를 갖는 논리값 출력회로와,
    상기 논리값 출력회로에 전원을 투입했을 때, 상기 단위회로 각각으로부터 출력되는 논리값을 취득하여, 상기 논리값 출력회로의 식별정보를 작성하는 식별정보 생성회로를 구비하는 것을 특징으로 하는 반도체장치.
  14. 제 13 항에 있어서,
    상기 복수의 단위회로 중 상기 논리값이 상기 논리값 출력회로로부터 출력될 때마다 변동하는 불안정 단위회로를 마스킹하는 마스크회로를 추가로 구비하는 것을 특징으로 하는 반도체장치.
KR1020050065167A 2004-08-23 2005-07-19 반도체장치 식별코드 작성방법과 반도체장치 식별방법 및반도체장치 KR20060053883A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004241987A JP2006060109A (ja) 2004-08-23 2004-08-23 半導体装置の識別コード作成方法および半導体装置の識別方法並びに半導体装置
JPJP-P-2004-00241987 2004-08-23

Publications (1)

Publication Number Publication Date
KR20060053883A true KR20060053883A (ko) 2006-05-22

Family

ID=35996047

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050065167A KR20060053883A (ko) 2004-08-23 2005-07-19 반도체장치 식별코드 작성방법과 반도체장치 식별방법 및반도체장치

Country Status (5)

Country Link
US (1) US20060050580A1 (ko)
JP (1) JP2006060109A (ko)
KR (1) KR20060053883A (ko)
CN (1) CN1741265A (ko)
TW (1) TW200608466A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190000041A (ko) * 2017-06-22 2019-01-02 한양대학교 에리카산학협력단 반도체 칩 정품 인증용 고유값 설정 방법, 반도체 칩 정품 인증용 고유값을 포함하는 데이터베이스, 및 이를 포함하는 인증서버

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4159779B2 (ja) * 2001-12-28 2008-10-01 株式会社半導体エネルギー研究所 半導体装置、電子機器
US7222040B1 (en) * 2005-12-22 2007-05-22 Sony Computer Entertainment Inc. Methods and apparatus for producing an IC identification number
US7676531B2 (en) * 2005-12-22 2010-03-09 Sony Computer Entertainment Inc. Methods and apparatus for random number generation
EP2011123B1 (en) * 2006-04-13 2015-03-04 Nxp B.V. Semiconductor device identifier generation method and semiconductor device
US8510608B2 (en) 2006-11-06 2013-08-13 Panasonic Corporation Generating PUF error correcting code using redundant hardware
US8347091B2 (en) 2006-11-06 2013-01-01 Panasonic Corporation Authenticator apparatus
US8219857B2 (en) * 2008-06-26 2012-07-10 International Business Machines Corporation Temperature-profiled device fingerprint generation and authentication from power-up states of static cells
SG177597A1 (en) * 2009-07-10 2012-03-29 Certicom Corp System and method for performing serialization of devices
WO2011115648A1 (en) * 2010-03-15 2011-09-22 Rambus Inc. Chip selection in a symmetric interconnection topology
JP6106043B2 (ja) * 2013-07-25 2017-03-29 ルネサスエレクトロニクス株式会社 半導体集積回路装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01182992A (ja) * 1988-01-14 1989-07-20 Mitsubishi Electric Corp 半導体記憶装置
JP4601737B2 (ja) * 1998-10-28 2010-12-22 株式会社東芝 メモリ混載ロジックlsi
JP3959966B2 (ja) * 1999-04-27 2007-08-15 セイコーエプソン株式会社 半導体集積回路
JP4045434B2 (ja) * 2003-04-23 2008-02-13 株式会社日立製作所 モジュール型計算機システム及びi/oモジュール
JP2005072355A (ja) * 2003-08-26 2005-03-17 Sanyo Electric Co Ltd 半導体装置及びid発生装置
JP3898682B2 (ja) * 2003-10-03 2007-03-28 株式会社東芝 半導体集積回路
US7663473B2 (en) * 2004-02-12 2010-02-16 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, IC card, IC tag, RFID, transponder, bills, securities, passport, electronic apparatus, bag, and clothes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190000041A (ko) * 2017-06-22 2019-01-02 한양대학교 에리카산학협력단 반도체 칩 정품 인증용 고유값 설정 방법, 반도체 칩 정품 인증용 고유값을 포함하는 데이터베이스, 및 이를 포함하는 인증서버

Also Published As

Publication number Publication date
TW200608466A (en) 2006-03-01
JP2006060109A (ja) 2006-03-02
CN1741265A (zh) 2006-03-01
US20060050580A1 (en) 2006-03-09

Similar Documents

Publication Publication Date Title
KR20060053883A (ko) 반도체장치 식별코드 작성방법과 반도체장치 식별방법 및반도체장치
KR100812850B1 (ko) 반도체 집적회로장치의 식별방법, 반도체 집적회로장치의제조방법, 반도체 집적회로장치 및 반도체 칩
US7499353B2 (en) Integrated circuit chip having non-volatile on-chip memories for providing programmable functions and features
US6893883B2 (en) Method and apparatus using an on-chip ring oscillator for chip identification
EP0765522B1 (en) Memory test system
US6963511B2 (en) Semiconductor integrated circuit
US7222274B2 (en) Testing and repair methodology for memories having redundancy
US7657798B2 (en) Semiconductor integrated circuit and the same checking method
US6445002B1 (en) SRAM-based semiconductor integrated circuit testing element
JP4114739B2 (ja) 半導体識別回路と半導体集積回路装置
US6847563B2 (en) Semiconductor storage device and method for remedying defects of memory cells
JP2006208031A (ja) 半導体センサ装置とその製造方法と補正方法
JP5013387B2 (ja) 集積回路装置の識別方法、集積回路装置の製造方法、集積回路装置、半導体チップ及び実装体
US7254759B2 (en) Methods and systems for semiconductor defect detection
US11881258B2 (en) Apparatus and related method to indicate stability and instability in bit cell
US11776654B2 (en) Fail bit repair solution determination method and device
US20080052029A1 (en) Unique binary identifier using existing state elements
CN101133417A (zh) 用于测试由支电路组成的半导体电路的测试方法和制造方法
JP2002299561A (ja) 半導体集積回路装置およびその製造方法
CN115424948A (zh) 晶圆背面缺陷追溯方法、存储介质及系统
Zhang et al. SRAM yield-per-area optimization under spatially-correlated process variation
KR100578225B1 (ko) 칩 종류 표시 회로 및 칩 종류 기록/식별 방법
CN110911297A (zh) 随管芯级可追溯性的过程变化
Benso et al. Memory read faults: taxonomy and automatic test generation
Sujana et al. Modeling of Redundancy Analyzer in Built In Self Repair for RAMs

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid