Nothing Special   »   [go: up one dir, main page]

KR102586223B1 - 시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법 - Google Patents

시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR102586223B1
KR102586223B1 KR1020220020552A KR20220020552A KR102586223B1 KR 102586223 B1 KR102586223 B1 KR 102586223B1 KR 1020220020552 A KR1020220020552 A KR 1020220020552A KR 20220020552 A KR20220020552 A KR 20220020552A KR 102586223 B1 KR102586223 B1 KR 102586223B1
Authority
KR
South Korea
Prior art keywords
signal
efuse
mode
trim
serial interface
Prior art date
Application number
KR1020220020552A
Other languages
English (en)
Other versions
KR20230123618A (ko
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 주식회사 키파운드리
Priority to KR1020220020552A priority Critical patent/KR102586223B1/ko
Priority to US17/977,221 priority patent/US20230307075A1/en
Publication of KR20230123618A publication Critical patent/KR20230123618A/ko
Application granted granted Critical
Publication of KR102586223B1 publication Critical patent/KR102586223B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/16Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

본 문서의 다양한 실시 예들은 시리얼 인터페이스(serial interface, SI) 로직을 포함하는 이퓨즈(eFuse) 방식의 오티피 메모리(one time programmable memory) 및 그의 동작 방법에 관한 것이다. 시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리는, 복수의 메모리 셀들에 대해 한 번의 데이터 쓰기 및 복수 번의 데이터 독출이 가능한 이퓨즈 IP(eFuse intellectual property), 및 시리얼 인터페이스 통신을 통해 마스터 장치로부터 클럭 신호 및 트림 신호를 수신하고, 수신된 클럭 신호 및 트림 신호를 기반으로 상기 이퓨즈 IP에 데이터 쓰기 또는 데이터 독출을 수행하는 시리얼 인터페이스 로직을 포함하며, 상기 트림 신호는, 시작 신호, 쓰기 모드 또는 독출 모드를 나타내는 모드 신호, 및 상기 복수의 메모리 셀들에 대응되는 복수의 어드레스들 각각에 대한 독출 여부 또는 쓰기 여부를 나타내는 제어 신호들을 포함할 수 있다.

Description

시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법{eFuse OTP memory comprising seral interface logic and operating method thereof}
본 문서의 다양한 실시 예들은 시리얼 인터페이스 로직을 포함하는 오티피 메모리 장치 및 그의 동작 방법에 관한 것이다.
PMIC(power management IC) 설정 파라미터를 내장하기 위하여 비휘발성 메모리를 구비할 수 있다. 특히, PMIC는 다양한 방식의 비휘발성 메모리들 중 별도의 추가 공정이 필요 없는 이퓨즈(eFuse) 방식의 오티피(OTP; one time programmable) 메모리를 많이 사용하고 있는 추세이다.
오티피 메모리는 한 번의 데이터 쓰기 동작만 허용하고, 한 번의 데이터 쓰기 이후에는 추가적인 데이터 쓰기가 불가능한 메모리를 통칭한다. 오티피 메모리는 주로, 이퓨즈 방식을 사용하며, 이퓨즈 방식은 이퓨즈가 끊어졌는지 이어졌는지에 따라 이진 정보를 제공하는 방식을 의미한다.
일반적으로, 이퓨즈 방식의 오티피 메모리를 사용하기 위해서, 커스텀(custom) IC를 설계하는 고객은 매우 복잡한 이퓨즈 방식의 오티피 메모리의 규격을 이해해야만 한다.
그러나, 상술한 바와 같이 고객이 직접 이퓨즈 방식의 오티피 메모리에 대한 제어 회로를 설계하는 경우, 쓰기/독출 기능(write/read function)에 대한 검토 미비, 또는 설계 단계에서의 결함으로 인한 문제가 발생될 수 있다. 따라서, 고객의 사용 편의성을 향상시키기 위한 제어 로직이 개발될 필요가 있다.
본 문서의 다양한 실시 예들은 이퓨즈 방식의 오티피 메모리를 제어하기 위한 시리얼 인터페이스(serial interface, SI) 로직을 포함하는 이퓨즈 방식의 오티피 메모리 및 그의 동작 방법에 대해 개시한다.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 문서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 실시 예들에 따르면, 시리얼 인터페이스(serial interface, SI) 로직을 포함하는 이퓨즈(eFuse) 방식의 오티피 메모리(one time programmable memory)는, 복수의 메모리 셀들에 대해 한 번의 데이터 쓰기(write) 및 복수 번의 데이터 독출(read)이 가능한 이퓨즈 IP(eFuse intellectual property), 및 시리얼 인터페이스 통신을 통해 마스터 장치로부터 클럭 신호 및 트림 신호를 수신하고, 수신된 클럭 신호 및 트림 신호를 기반으로 상기 이퓨즈 IP에 데이터 쓰기 또는 데이터 독출을 수행하는 시리얼 인터페이스 로직을 포함하며, 상기 트림 신호는, 시작 신호, 쓰기 모드 또는 독출 모드를 나타내는 모드 신호, 및 상기 복수의 메모리 셀들에 대응되는 복수의 어드레스들 각각에 대한 독출 여부 또는 쓰기 여부를 나타내는 제어 신호들을 포함할 수 있다.
일 실시 예에 따르면, 상기 시리얼 인터페이스 로직은, 상기 마스터 장치로부터 상기 클럭 신호를 수신하기 위한 클럭 단자, 및 상기 마스터 장치로부터 상기 트림 신호를 수신하기 위한 트림 단자를 포함하며, 상기 시리얼 인터페이스 로직은, 상기 트림 단자를 통해 수신되는 상기 시작 신호를 인지하여 독출 또는 쓰기 이벤트의 발생 여부를 결정하고, 상기 트림 단자를 통해 상기 모드 신호를 수신하여 상기 이퓨즈 방식의 오티피 메모리의 동작 모드를 상기 쓰기 모드 또는 상기 독출 모드로 결정하고, 상기 트림 단자를 통해 상기 복수의 어드레스들 각각에 대한 독출 여부 또는 쓰기 여부를 나타내는 제어 신호들을 수신하여, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행할 수 있다.
일 실시 예에 따르면, 상기 시리얼 인터페이스 로직은, 상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 독출 모드로 결정되는 경우, n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 독출 여부를 결정하고, 상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하며, 상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호일 수 있다.
일 실시 예에 따르면, 상기 시리얼 인터페이스 로직은, 상기 수신된 클럭 신호를 기반으로 상기 시리얼 인터페이스 로직 내에서 이용될 메인 클럭 신호를 생성하고, 상기 메인 클럭 신호를 기반으로, 상기 트림 신호를 인지할 수 있다.
일 실시 예에 따르면, 상기 시리얼 인터페이스 로직은, 상기 n번째 어드레스에 대한 독출을 위해, 상기 이퓨즈 IP의 출력 버퍼를 인에이블 시키기 위한 EN 신호 및 상기 이퓨즈 IP의 감지 증폭기를 인에이블시키기 위한 SAEN 신호를 생성하고, 상기 EN 신호는, 상기 메인 클럭 신호를 제1 지연 시간만큼 지연시킨 제1 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력되며, 상기 SAEN 신호는, 상기 메인 클럭 신호를 제2 지연 시간만큼 지연시킨 제2 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력될 수 있다.
일 실시 예에 따르면, 상기 시리얼 인터페이스 로직은, 상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 쓰기 모드로 결정되는 경우, n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 쓰기 여부를 결정하고, 상기 n번째 어드레스에 대한 쓰기가 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하며, 상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호일 수 있다.
일 실시 예에 따르면, 상기 시리얼 인터페이스 로직은, 상기 마스터 장치로부터 리셋 신호를 수신하기 위한 리셋 단자를 더 포함하며, 상기 시리얼 인터페이스 로직은, 상기 리셋 단자를 통해 로우 레벨의 상기 리셋 신호가 수신된 이후에 상기 트림 단자를 통해 하이 레벨의 상기 시작 신호를 수신할 수 있다.
일 실시 예에 따르면, 상기 트림 신호는, 종료 신호를 더 포함하며, 상기 시리얼 인터페이스 로직은, 상기 트림 단자를 통해 상기 종료 신호가 수신되면, 상기 쓰기 모드 또는 상기 독출 모드를 종료할 수 있다.
일 실시 예에 따르면, 시리얼 인터페이스(serial interface, SI) 로직 및 이퓨즈 IP(eFuse intellectual property)를 포함하는 이퓨즈(eFuse) 방식의 오티피 메모리(one time programmable memory)의 동작 방법은, 트림 단자를 통해 마스터 장치로부터 수신되는 시작 신호를 인지하여 독출 또는 쓰기 이벤트를 감지하는 동작, 상기 트림 단자를 통해 상기 마스터 장치로부터 쓰기 모드 또는 독출 모드를 나타내는 모드 신호를 수신하여 상기 이퓨즈 방식의 오티피 메모리의 동작 모드를 상기 쓰기 모드 또는 상기 독출 모드로 결정하는 동작, 및 상기 트림 단자를 통해 복수의 메모리 셀들에 대응되는 복수의 어드레스들 각각에 대한 독출 여부 또는 쓰기 여부를 나타내는 제어 신호들을 수신하여, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는 동작을 포함할 수 있다.
일 실시 예에 따르면, 상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 상기 독출 모드로 결정되는 경우, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는 동작은, n번째 어드레스에 대한 제어 신호를 수신하는 동작, 상기 n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 독출 여부를 결정하는 동작, 및 상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하는 동작을 포함하며, 상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호일 수 있다.
다양한 실시 예들에 따르면, 오티피 메모리(one time programmable memory)의 동작 방법은, 클럭 단자를 통해 상기 마스터 장치로부터 클럭 신호를 수신하는 동작, 상기 수신된 클럭 신호를 기반으로 메인 클럭 신호를 생성하는 동작 및 상기 메인 클럭 신호를 기반으로, 상기 트림 신호를 인지하는 동작을 더 포함할 수 있다.
일 실시 예에 따르면, 오티피 메모리(one time programmable memory)의 동작 방법은, 상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 이퓨즈 IP의 출력 버퍼를 인에이블 시키기 위한 EN 신호 및 상기 이퓨즈 IP의 감지 증폭기를 인에이블 시키기 위한 SAEN 신호를 생성하는 동작을 더 포함하고, 상기 EN 신호는, 상기 메인 클럭 신호를 제1 지연 시간만큼 지연시킨 제1 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력되며, 상기 SAEN 신호는, 상기 메인 클럭 신호를 제2 지연 시간만큼 지연시킨 제2 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력될 수 있다.
일 실시 예에 따르면, 상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 쓰기 모드로 결정되는 경우, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는 동작은, n번째 어드레스에 대한 제어 신호를 수신하는 동작, 상기 n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 쓰기 여부를 결정하는 동작, 상기 n번째 어드레스에 대한 쓰기가 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하는 동작을 포함하며, 상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호일 수 있다.
일 실시 예에 따르면, 리셋 단자를 통해 상기 마스터 장치로부터 리셋 신호를 수신하는 동작을 더 포함하며, 상기 시작 신호는, 상기 리셋 단자를 통해 로우 레벨의 상기 리셋 신호가 수신된 이후에 수신될 수 있다.
일 실시 예에 따르면, 상기 트림 단자를 통해 상기 마스터 장치로부터 종료 신호를 수신하여 상기 쓰기 모드 또는 상기 독출 모드를 종료하는 동작을 더 포함할 수 있다.
다양한 실시 예들에 따르면, 이퓨즈(eFuse) 방식의 오티피 메모리(OPT, one time programmable memory)를 포함하는 시스템은, 시리얼 인터페이스 통신을 통해 클럭 신호와 트림 신호를 출력하는 마스터 장치, 및 상기 시리얼 인터페이스 통신을 통해 상기 마스터 장치로부터 상기 클럭 신호 및 상기 트림 신호를 수신하고, 상기 클럭 신호 및 트림 신호를 기반으로 이퓨즈 IP(eFuse intellectual property)에 데이터 쓰기(write) 또는 데이터 독출(read)을 수행하는 이퓨즈(eFuse) 방식의 오티피 메모리를 포함하며, 상기 트림 신호는, 시작 신호, 쓰기 모드 또는 독출 모드를 나타내는 모드 신호, 및 상기 이퓨즈 IP에 포함되는 복수의 메모리 셀들에 대응되는 복수의 어드레스들 각각에 대한 독출 여부 또는 쓰기 여부를 나타내는 제어 신호들을 포함할 수 있다.
일 실시 예에 따르면, 이퓨즈 방식의 오티피 메모리는, 상기 마스터 장치로부터 상기 클럭 신호를 수신하기 위한 클럭 단자, 및 상기 마스터 장치로부터 상기 트림 신호를 수신하기 위한 트림 단자를 포함하며, 상기 이퓨즈 방식의 오티피 메모리는, 상기 트림 단자를 통해 상기 마스터 장치로부터 수신되는 상기 시작 신호를 인지하여 독출 또는 쓰기 이벤트를 감지하고, 상기 트림 단자를 통해 상기 마스터 장치로부터 상기 모드 신호를 수신하여 상기 이퓨즈 방식의 오티피 메모리의 동작 모드를 상기 쓰기 모드 또는 상기 독출 모드로 결정하고, 상기 트림 단자를 통해 상기 복수의 어드레스들 각각에 대한 상기 제어 신호들을 수신하여, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행할 수 있다.
일 실시 예에 따르면, 상기 이퓨즈 방식의 오티피 메모리는, 상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 독출 모드로 결정되는 경우, n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 독출 여부를 결정하고, 상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP를 출력하며, 상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호일 수 있다.
일 실시 예에 따르면, 상기 이퓨즈 방식의 오티피 메모리는, 상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 쓰기 모드로 결정되는 경우, n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 쓰기 여부를 결정하고, 상기 n번째 어드레스에 대한 쓰기가 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하며, 상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호일 수 있다.
본 문서의 다양한 실시 예들에 따르면, 시리얼 인터페이스 로직을 포함하는 오티피 메모리에서, 2개의 입력 단자를 통해 입력되는 신호를 기반으로 이퓨즈 방식의 오티피 메모리에 대한 독출 및 쓰기 동작을 수행할 수 있다. 따라서, 고객 제품의 설계 복잡도를 최소화할 수 있으며, 소형 IP(intellectual property) 폼 팩터를 위한 콤팩트 로직(compact logic) 및 저전력의 구현이 가능하다.
도 1은 본 문서의 다양한 실시 예들에 따른 이퓨즈(eFuse) 방식의 오티피 메모리(OPT, one time programmable memory)를 포함하는 시스템의 구조를 도시하는 도면이다.
도 2는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스(serial interface) 로직을 포함하는 이퓨즈 방식의 오티피 메모리의 상세한 구조를 도시하는 도면이다.
도 3은 본 문서의 다양한 실시 예들에 따른 트림 신호의 구성을 도시하는 도면이다.
도 4는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직과 이퓨즈 IP 내 메모리 셀들의 연결 구조를 도시하는 도면이다.
도 5a는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직 내부의 클럭 신호들을 도시하는 도면이다.
도 5b는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직에서, 트림 신호 및 클럭 신호 기반으로 이퓨즈 IP의 독출 및 쓰기 동작을 제어하는 타이밍도이다.
도 5c는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직에서 트림 신호 및 클럭 신호를 기반으로 이퓨즈 IP의 독출 동작을 제어하는 예시도이다.
도 5d는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직에서 트림 신호 및 클럭 신호를 기반으로 이퓨즈 IP의 쓰기 동작을 제어하는 예시도이다.
도 6은 본 문서의 다양한 실시 예들에서, 트림 신호에 따른 상태 천이도이다.
도 7a 및 도 7b는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직의 내부 동작을 도시한다.
도 8a는 본 문서의 다양한 실시 예들에 따른 이퓨즈(eFuse) 방식의 오티피 메모리의 데이터를 독출하기 위한 전체 신호에 대한 타이밍도이다.
도 8b는 본 문서의 다양한 실시 예들에 따른 이퓨즈 방식의 오티피 메모리에 데이터를 쓰기 위한 전체 신호에 대한 타이밍도이다.
도 9a, 도 9b, 및 도 9c는 본 문서의 다양한 실시 예들에 따라 eFuse_SI_IP가 스탠바이(standby) 모드에 있게 되는 경우의 예들을 도시한 도면이다.
도 10a 및 도 10b는 본 문서의 다양한 실시 예들에 따른 금지 동작을 도시하는 도면이다.
도 11은 본 문서의 다양한 실시 예들에 따른 마스터 장치의 흐름도이다.
도 12는 본 문서의 다양한 실시 예들에 따른 eFuse_SI_IP의 흐름도이다.
도 13은 본 문서의 다양한 실시 예들에 따른 eFuse_SI_IP에서 트림 신호를 기반으로 독출 동작 또는 쓰기 동작을 제어하는 흐름도이다.
본 문서의 이점 및 특징, 그리고 그것들을 달성하는 장치 및 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 문서는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시 예들은 본 문서의 개시가 완전하도록 하며, 본 문서가 속하는 기술분야에서 통상의 지식을 가진 자에게 문서의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 문서는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 또는 유사한 구성 요소에 대해서는, 동일 또는 유사한 참조 부호가 사용될 수 있다.
하나의 구성 요소가 다른 구성 요소와 "연결된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 구성 요소와 직접 연결 또는 커플링된 경우 또는 중간에 다른 구성 요소를 개재한 경우를 모두 포함한다. 반면, 하나의 구성 요소가 다른 구성 요소와 "직접 연결된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 구성 요소를 개재하지 않은 것을 나타낸다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 문서를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
비록 제 1, 제 2 등이 다양한 구성 요소들을 서술하기 위해서 사용되나, 이들 구성 요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성 요소를 다른 구성 요소와 구별하기 위하여 사용하는 것이다.
따라서, 이하에서 언급되는 제 1 구성 요소는 본 문서의 기술적 사상 내에서 제2 구성 요소 일 수도 있음은 물론이다. 다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 문서가 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 실시 예에서 사용되는 '부' 또는 '모듈'이라는 용어는 소프트웨어 또는 eFPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부' 또는 '모듈'은 어떤 역할들을 수행한다. 그렇지만 '부' 또는 '모듈'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부' 또는 '모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부' 또는 '모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성 요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 '부' 또는 '모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부' 또는 '모듈'들로 결합되거나 추가적인 구성요소들과 '부' 또는 '모듈'들로 더 분리될 수 있다.
본 문서의 몇몇 실시 예들과 관련하여 설명되는 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 커플링되며, 그 프로세서는 기록 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다.
도 1은 본 문서의 다양한 실시 예들에 따른 이퓨즈(eFuse) 방식의 오티피 메모리(one time programmable memory)를 포함하는 시스템(100)의 구조를 도시하는 도면이다. 이하에서 도 1의 적어도 하나의 구성 요소는 도 2, 도 3, 도 4, 도 5a, 및 도 5b를 참조하여 상세히 설명할 것이다. 도 2는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스(serial interface, SI) 로직을 포함하는 이퓨즈 방식의 오티피 메모리의 상세한 구조를 도시하는 도면이고, 도 3은 본 문서의 다양한 실시 예들에 따른 트림(TRIM) 신호의 구성을 도시하는 도면이다. 도 4는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직과 이퓨즈 IP 내 메모리 셀들의 연결 구조를 도시하는 도면이고, 도 5a는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직 내부의 클럭 신호들을 도시하는 도면이다. 도 5b는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직에서, 트림 신호 및 클럭 신호 기반으로 이퓨즈 IP의 독출 및 쓰기 동작을 제어하는 타이밍도이다. 이하 실시 예들에서, 시리얼 인터페이스 로직을 포함하는 이퓨즈(eFuse) 방식의 오티피 메모리는 eFuse_SI_IP(eFuse_serial interface_intellectual property)로 지칭될 수 있다.
도 1을 참조하면, 이퓨즈(eFuse) 방식의 오티피 메모리(one time programmable memory)를 포함하는 시스템(100)은, 마스터 장치(110), 및 eFuse_SI_IP(120)를 포함할 수 있다.
다양한 실시 예들에 따르면, 마스터 장치(110)는 시리얼 인터페이스를 통해 eFuse_SI_IP(120)로 데이터를 독출하거나 데이터를 쓰기 위한 제어 신호를 송신할 수 있다. 마스터 장치(110)는, 예를 들어, AP(Application Processor), 또는 MCU(micro controller unit)를 포함하는 칩일 수 있다. 마스터 장치(110)는 eFuse_SI_IP(120)에 포함된 적어도 하나의 셀에 데이터를 쓰거나(또는 프로그래밍하거나), 적어도 하나의 셀에 쓰여진 데이터를 독출하기 위한 제어 신호를 시리얼 인터페이스를 통해 eFuse_SI_IP(120)로 송신할 수 있다. 일 실시 예에 따르면, 데이터를 독출하거나 데이터를 쓰기 위한 제어 신호는, 리셋 신호, 트림 신호, 또는 클럭 신호 중 적어도 하나를 포함할 수 있다.
다양한 실시 예들에 따르면, eFuse_SI_IP(120)는 시리얼 인터페이스를 통해 마스터 장치(110)로부터 제어 신호를 수신하고, 수신된 제어 신호에 기초하여 eFuse IP(124)에 대한 데이터 쓰기 또는 데이터 독출을 수행할 수 있다. eFuse_SI_IP(120)는, 예를 들어, 시리얼 인터페이스를 통해 마스터 장치(110)의 통제를 받는 슬레이브 칩일 수 있다.
다양한 실시 예들에 따르면, eFuse_SI_IP(120)는 시리얼 인터페이스 로직(serial interface logic, 122) 및 eFuse IP(124)를 포함할 수 있다.
시리얼 인터페이스 로직(122)은 마스터 장치(110)로부터 수신되는 제어 신호를 기반으로, eFuse IP(124)의 특정 어드레스에 데이터를 쓰기 위한 쓰기 모드 관련 제어 신호를 eFuse IP(124)로 출력하거나, eFuse IP(124)의 특정 어드레스에 쓰여진 데이터를 독출하기 위한 독출 모드 관련 제어 신호를 eFuse IP(124)로 출력할 수 있다.
eFuse IP(124)는 시리얼 인터페이스 로직(122)으로부터 제공되는 쓰기 모드 관련 제어 신호, 또는 독출 모드 관련 제어 신호에 따라 n개의 어드레스를 갖는 n비트 메모리에 데이터를 쓰거나, n비트 메모리의 데이터를 독출할 수 있다. 이하 설명되는 실시 예들에서는, eFuse IP(124)가 16비트 메모리를 포함하는 경우를 예로 들어 설명한다. 그러나, 이는 이해를 돕기 위한 예시일 뿐, 본 문서의 다양한 실시 예들은 16비트 메모리에 한정되지 않는다.
다양한 실시 예들에 따르면, eFuse_SI_IP(120)는 도 2에 도시된 바와 같이 구성될 수 있다.
도 2를 참조하면, eFuse_SI_IP(120)는 마스터 장치(110)와 시리얼 인터페이스를 통해 통신하기 위해 리셋 단자(210), 트림 단자(213), 및 클럭 단자(215)를 포함할 수 있고, 메모리 셀에 저장되어 있는 데이터를 출력하는 출력 단자(DO[15:0])를 포함할 수 있다. 추가적으로, eFuse_SI_IP(120)는 출력 신호를 생성하기 위해 사용한 클럭 신호를 출력하기 위한 출력 클럭 단자(SCLKD)를 더 포함할 수 있다.
또한, eFuse_SI_IP(120)의 시리얼 인터페이스 로직(122)과 eFuse IP(124) 간에는 eFuse IP(124)를 제어하기 위한 리셋 신호(RSTB), RDA, RD[15:0], EN, SAEN, WR[15:0], WRA, SCLKD 신호가 서로 연결될 수 있다.
시리얼 인터페이스 로직(122)은 신호 분석부(201) 및 디코더(203)를 포함할 수 있다. 시리얼 인터페이스 로직(122)은 마스터 장치(110)와 시리얼 인터페이스를 통해 통신하기 위해 리셋 단자(210), 트림 단자(213), 및/또는 클럭 단자(215)를 포함할 수 있다. 리셋 단자(210)는 마스터 장치(110)로부터 로우 레벨(LOW level)의 리셋 신호(RSTB)를 수신하기 위한 단자이고, 트림 단자(213)는 마스터 장치(110)로부터 트림 신호(TRIM)를 수신하기 위한 단자일 수 있다. 트림 신호는, 데이터 신호를 포함할 수 있어, 트림 단자는 데이터 단자로 지칭될 수도 있다. 클럭 단자(215)는 마스터 장치(110)로부터 클럭 신호(CLK)를 수신하기 위한 단자일 수 있다.
다양한 실시 예들에 따르면, 시리얼 인터페이스 로직(122)은 리셋 단자(210), 트림 단자(213), 및/또는 클럭 단자(215)를 통해 수신되는 신호를 신호 분석부(201)를 이용하여 분석하고, 분석 결과를 기반으로 디코더(203)를 통해 쓰기 모드 관련 제어 신호(WR[15:0], WRA), 또는 독출 모드 관련 제어 신호(RDA, RD[15:0], EN, SAEN)를 생성하여, eFuse IP(124)로 출력할 수 있다. 추가적으로 시리얼 인터페이스 로직(122)은 리셋 단자(210)로 수신되는 리셋 신호를 바로 eFuse IP(124)로 전달하고, 클럭 단자(215)로 수신되는 클럭 신호를 지연시킨 클럭 신호(SCLKD)를 eFuse IP(124)로 전달할 수 있다.
일 실시 예에 따르면, 쓰기 모드 관련 제어 신호는, 쓰기 동작이 수행될 어드레스를 나타내는 WR 신호(WR[15:0])를 포함할 수 있고, 추가적으로 WR 신호가 유효한 신호임을 나타내는 WRA 신호를 더 포함할 수 있다. WR 신호(WR[15:0])는, 16비트 메모리에 포함된 16개의 메모리 셀들 각각의 어드레스를 나타내도록 16비트로 구성될 수 있다. 예를 들어, WR 신호(WR[15:0])의 각 비트는, 16개의 메모리 셀들 각각에 1 대 1로 매칭될 수 있다. 예컨대, WR 신호의 1번째 비트(WR[0])는, 16개의 메모리 셀들 중 제1 어드레스에 대응되는 제1 메모리 셀에 매칭되고, WR 신호의 3번째 비트(WR[2])는, 16개의 메모리 셀들 중 제3 어드레스에 대응되는 제3 메모리 셀에 매칭될 수 있다. 따라서, WR 신호(WR[15:0])의 각 비트의 값은, 각 어드레스에 대응되는 메모리 셀에 대한 쓰기 여부를 나타낼 수 있다. 예를 들어, WR 신호(WR[15:0])의 1번째 비트가 0(또는 로우 레벨)인 경우, 제1 어드레스에 대응되는 제1 메모리 셀에 대한 쓰기를 수행하지 않음을 나타내고, 2번째 비트가 1(또는 하이 레벨)인 경우, 제2 어드레스에 대응되는 제2 메모리 셀에 대한 쓰기를 수행해야함을 나타낼 수 있다.
일 실시 예에 따르면, 독출 모드 관련 제어 신호는, 독출 동작이 수행될 어드레스를 나타내는 RD 신호(RD[15:0]), 독출 동작 시 eFuse IP(124)의 출력 버퍼를 제어하기 위한 EN 신호, 또는 eFuse IP(124)의 감지 증폭기를 제어하기 위한 SAEN 신호 중 적어도 하나를 포함할 수 있다. 또한, 독출 모드 관련 제어 신호는 추가적으로 RD 신호(RD[15:0])가 유효함을 나타내는 RDA 신호를 더 포함할 수 있다. RD 신호(RD[15:0])는, 16비트 메모리에 포함된 16개의 메모리 셀들 각각의 어드레스를 나타내도록 16비트로 구성될 수 있다. 예를 들어, RD 신호(RD[15:0])의 각 비트는, 16개의 메모리 셀들 각각의 어드레스와 1 대 1로 매칭될 수 있다. 예컨대, RD 신호의 2번째 비트(RD[1])는, 16개의 메모리 셀들 중 제2 어드레스에 대응되는 제2 메모리 셀에 매칭되고, RD 신호의 5번째 비트(RD[4])는, 16개의 메모리 셀들 중 제5 어드레스에 대응되는 제5 메모리 셀의 어드레스에 매칭될 수 있다. 따라서, RD 신호(RD[15:0])의 각 비트의 값은, 각 어드레스에 대응되는 메모리 셀에 대한 독출 여부를 나타낼 수 있다. 예를 들어, RD 신호의 1번째 비트(RD[0])가 0(또는 로우 레벨)인 경우, 제1 어드레스에 대응되는 제1 메모리 셀에 대한 독출을 수행하지 않음을 나타내고, 2번째 비트(RD[1])가 1(또는 하이 레벨)인 경우, 제2 어드레스에 대응되는 제2 메모리 셀에 대한 독출을 수행해야함을 나타낼 수 있다.
다양한 실시 예들에 따르면, 신호 분석부(201)는 리셋 단자(210), 트림 단자(213), 및/또는 클럭 단자(215)를 통해 수신되는 신호를 분석할 수 있다. 일 실시 예에 따르면, 신호 분석부(201)는 리셋 단자(210)를 통해 로우 레벨의 리셋 신호를 감지하고, 지정된 리셋 기간(reset duration)이 경과되면, 트림 단자(213) 및 클럭 단자(215)를 통해 트림 신호(TRIM)와 클럭 신호(CLK)를 수신할 수 있다.
일 실시 예에 따르면, 신호 분석부(201)는 트림 단자(213)를 통해 마스터 장치(110)로부터, 도 3에 도시된 바와 같은 구조의 트림 신호(300)를 수신할 수 있다. 예를 들어, 트림 신호(300)는, 쓰기 또는 독출의 시작 여부를 나타내는 시작 신호(START, 311), 쓰기 모드 또는 독출 모드 중 어느 하나의 모드를 나타내는 모드 신호(WR/RD, 321), n개의 어드레스들에 대한 트림 신호들(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n)), 및 쓰기 모드 또는 독출 모드의 종료 여부를 나타내는 종료 신호(STOP, 341)를 포함할 수 있다. 여기서, 도 3의 각 신호들은 순차적으로 수신될 수 있다. 예를 들어, 시작 신호(311)가 먼저 수신된 이후에 모드 신호(321)가 수신되고, 그 후 n개의 어드레스들 각각에 대한 트림 신호들(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))이 수신되고, 마지막으로 종료 신호(341)가 수신될 수 있다. 여기서, n개의 어드레스들 각각에 대한 트림 신호들(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n)) 또한 순차적으로 수신될 수 있다. 예를 들어, 트림 단자를 통해 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM(331-1))가 먼저 수신되고, 그 다음으로 제2 어드레스에 대한 트림 신호(ADDR[1]_TRM)가 수신되고 마지막으로 제n 어드레스에 대한 트림 신호(ADDR[n-1]_TRM)가 수신될 수 있다. 또는 제n 어드레스에 대한 트림 신호(ADDR[n-1]_TRM)가 먼저 수신되고, 그 다음으로 제n-1 어드레스에 대한 트림 신호(ADDR[n-2]_TRM)가 수신되고 마지막으로 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM(331-1))가 수신될 수 있다. 일 실시 예에 따르면, 도 3의 각 신호들의 시간 구간의 길이는 모두 동일하게 설정될 수 있다. 예를 들어, 시작 신호(311)의 시간 구간, 모드 신호(321)의 시간 구간, n개의 어드레스들에 대한 트림 신호들(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n)) 각각의 시간 구간, 및 종료 신호(341)의 시간 구간의 길이는 모두 동일할 수 있다. 일 예로, 도 3의 각 신호들의 시간 구간은 클럭 펄스가 2번 반복되는 시간 구간으로 설정될 수 있다. 예컨대, 클럭 신호의 주기가 10us인 경우, 도 3의 각 신호들의 시간 구간은 20us에 해당하는 시간 구간으로 결정될 수 있다. 이는, 예시일 뿐, 본 문서의 다양한 실시 예들은 이에 한정되지 않는다.
일 실시 예에 따르면, 신호 분석부(201)는 로우 레벨의 리셋 신호(RSTB)가 지정된 리셋 기간 동안 감지된 후, 트림 단자(213)를 통해 시작 신호(311)가 수신되는지 여부를 감지하여, 독출 또는 쓰기를 위한 이벤트 발생 여부를 결정할 수 있다. 시작 신호(311)는, 예를 들어, 하이 레벨의 신호일 수 있다. 이는 예시일 뿐, 본 문서의 실시 예들은 이에 한정되지 않는다. 예를 들어, 설계 방식에 따라, 시작 신호(311)는, 로우 레벨의 트림 신호일 수도 있다. 신호 분석부(201)는 리셋 단자(210)를 통해 로우 레벨의 리셋 신호가 감지된 이후에 트림 단자(213)를 통해 하이 레벨의 시작 신호(311)가 수신될 시, 독출 또는 쓰기를 위한 이벤트가 발생된 것으로 결정할 수 있다. 즉, 신호 분석부(201)는 리셋 단자를 통해 리셋 신호가 수신된 이후 트림 단자를 통해 하이 레벨의 신호가 수신되는 경우 이 신호를 시작 신호(311)로 인식하여 독출 또는 쓰기를 위한 이벤트가 발생된 것으로 결정할 수 있다.
일 실시 예에 따르면, 신호 분석부(201)는 독출 또는 쓰기를 위한 이벤트가 발생된 것으로 결정될 시(시작 신호(311) 감지 시), 트림 단자(213)를 통해 시작 신호(311) 다음으로 수신되는 모드 신호(321)를 분석하여, 독출 모드 또는 쓰기 모드 중 어느 모드로 동작해야 할지 결정할 수 있다. 예를 들어, 신호 분석부(201)는 트림 단자(213)를 통해 수신되는 모드 신호(321)의 레벨이 하이 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 독출 모드(RD mode)로 결정할 수 있다. 다른 예로, 신호 분석부(201)는 트림 단자(213)를 통해 수신되는 모드 신호(321)의 레벨이 로우 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 쓰기 모드(WR mode)로 결정할 수 있다. 이는 예시일 뿐, 본 문서의 다양한 실시 예들은 이에 한정되지 않는다. 예를 들어, 신호 분석부(201)는, 모드 신호(321)의 레벨이 로우 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 독출 모드로 결정하고, 모드 신호(321)의 레벨이 하이 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 쓰기 모드로 결정할 수도 있다. 일 실시 예에 따르면, 신호 분석부(201)는 결정된 모드에 대응되는 모드 신호를 생성할 수 있다. 예를 들어, 신호 분석부(201)는 모드 신호(321)를 기반으로 독출 모드를 수행해야함이 결정될 시, 독출 모드를 나타내는 하이 레벨의 독출 모드(RM) 신호를 생성할 수 있다. 다른 예로, 신호 분석부(201)는 모드 신호(321)를 기반으로 쓰기 모드를 수행해야 함이 결정될 시, 쓰기 모드를 나타내는 하이 레벨의 쓰기 모드(WM) 신호를 생성할 수 있다. 여기서, 독출 모드(RM) 신호 및/또는 쓰기 모드(WM) 신호는 시리얼 인터페이스 로직(122) 내부에서 이용되는 신호로, eFuse IP(124)로 출력되지 않을 것이다.
일 실시 예에 따르면, 신호 분석부(201)는 모드 신호(321)를 통해 독출 모드 또는 쓰기 모드 중 수행해야할 모드가 결정되면, 트림 단자(213)를 통해 그 다음 수신되는 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))를 분석할 수 있다. 신호 분석부(201)는 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))를 기반으로, n비트 메모리 셀들 각각에 대해 독출을 수행할지 또는 쓰기를 수행할지 여부를 결정할 수 있다. 신호 분석부(201)는 독출 또는 쓰기가 결정된 메모리 셀에 대해, 원 핫 인코딩(one-hot encoding) 방식을 기반으로, 독출 또는 쓰기가 수행되도록 제어할 수 있다.
일 실시 예에 따르면, n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n)) 각각은, 해당 어드레스에 대한 독출 또는 쓰기 동작 수행 여부를 나타낼 수 있다.
예를 들어, 독출 모드 시, 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM)가 하이 레벨인 경우, 제1 메모리 셀에 대한 독출 동작이 수행되어야 함을 나타내고, 제2 어드레스에 대한 트림 신호(ADDR[1]_TRM)가 로우 레벨인 경우, 제2 메모리 셀에 대해서는 독출 동작이 수행되지 않음을 나타낼 수 있다. 제n 어드레스에 대한 트림 신호(ADDR[n-1]_TRM)가 하이 레벨인 경우, 제n-1 메모리 셀에 대해서는 독출 동작이 수행되어야 함을 나타낼 수 있다.
다른 예로, 쓰기 모드 시, 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM)가 하이 레벨인 경우, 제1 메모리 셀에 대한 쓰기 동작이 수행되어야 함을 나타내고, 제2 어드레스에 대한 트림 신호(ADDR[1]_TRM)가 로우 레벨인 경우, 제2 메모리 셀에 대해서는 쓰기 동작이 수행되지 않음을 나타낼 수 있다. 제n 어드레스에 대한 트림 신호(ADDR[n-1]_TRM)가 하이 레벨인 경우, 제n 메모리 셀에 대해서는 쓰기 동작이 수행되어야 함을 나타낼 수 있다.
일 실시 예에 따르면, 디코더(203)는 신호 분석부(201)에서 분석 및 결정된 정보를 기반으로, 쓰기 모드 관련 제어 신호, 또는 독출 모드 관련 제어 신호를 생성하여 출력할 수 있다. 예를 들어, 디코더(203)는 쓰기 모드 시, WR 신호(WR[15:0])를 생성하고, 생성된 WR 신호를 eFuse IP(124)로 출력할 수 있다. 다른 예로, 디코더(203)는 독출 모드 시, RD 신호(RD[15:0]), EN 신호, 및 SAEN 신호를 생성하여 eFuse IP(124)로 출력할 수 있다.
일 실시 예에 따르면, 시리얼 인터페이스 로직(122) 및 eFuse IP(124)는 도 4에 도시된 바와 같이 연결됨으로써, WR 신호(WR[15:0]) 및/또는 RD 신호(RD[15:0])를 송수신할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 WR 신호(WR[15:0])를 출력하기 위한 16개의 WR 출력 단자들(WR[0], WR[1], ..., WR[14], WR[15])을 구비하고, RD 신호(RD[15:0])를 출력하기 위한 16개의 RD 출력 단자들(RD[0], RD[1], ..., RD[14], RD[15])을 구비할 수 있다. 시리얼 인터페이스 로직(122)의 WR 출력 단자들은 eFuse IP(124)에 포함된 메모리 셀들(efuse unit cell[0], efuse unit cell[1], ... efuse unit cell[14], efuse unit cell[15]) 각각에 구비된 WR 입력 단자들(WR[0], WR[1], ..., WR[14], WR[15])에 1 대 1로 연결되고, 시리얼 인터페이스 로직(122)의 RD 출력 단자들은 eFuse IP(124)에 포함된 메모리 셀들(efuse unit cell[0], efuse unit cell[1], ... efuse unit cell[14], efuse unit cell[15]) 각각에 구비된 RD 입력 단자들(RD[0], RD[1], ..., RD[14], RD[15])에 1 대 1로 연결될 수 있다.
따라서, 시리얼 인터페이스 로직(122)은 eFuse IP(124)의 복수의 메모리 셀들 중 데이터 쓰기를 수행하고자 하는 메모리 셀에 연결된 WR 출력 단자를 통해 하이 레벨의 신호를 출력하고, 그 외 메모리 셀들에 연결된 WR 출력 단자들을 통해 로우 레벨의 신호를 출력할 수 있다. 이에 따라, eFuse IP(124)의 메모리 셀들 중 하이 레벨의 신호를 수신한 메모리 셀에 대한 데이터 쓰기가 수행되고, 그 외 메모리 셀들은 초기 상태를 유지할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 eFuse IP(124)의 제1 메모리 셀(eFuse unit cell[0])에 데이터를 쓰기 위해, WR[0] 단자를 통해 하이 레벨의 신호를 출력하고, 그 외 WR[1], …, WR[15] 단자들을 통해서는 로우 레벨의 신호를 출력할 수 있다. 이 경우, eFuse IP(124)의 제1 메모리 셀(eFuse unit cell[0])에 대한 쓰기 동작이 수행되고, 그 외 메모리 셀들(eFuse unit cell[1], ..., eFuse unit cell[15])은 초기 상태를 유지할 것이다.
또한, 시리얼 인터페이스 로직(122)은 eFuse IP(124)의 복수의 메모리 셀들 중 독출하고자 하는 메모리 셀에 연결된 RD 출력 단자로 하이 레벨의 신호를 출력하고, 그 외 메모리 셀들에 연결된 RD 출력 단자로는 로우 레벨의 신호를 출력할 수 있다. 이에 따라, eFuse IP(124)의 메모리 셀들 중 하이 레벨의 신호를 수신한 메모리 셀은 독출되고, 그 외 메모리 셀들은 독출되지 않을 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 eFuse IP(124)의 제1 메모리 셀(eFuse unit cell[0])의 데이터를 독출하기 위해, RD[0] 단자를 통해 하이 레벨의 신호를 출력하고, 그 외 RD[1], …, RD[15] 단자들을 통해서는 로우 레벨의 신호를 출력할 수 있다. 이 경우, eFuse IP(124)의 제1 메모리 셀(eFuse unit cell[0])의 데이터는 독출되고, 그 외 메모리 셀들(eFuse unit cell[1], ..., eFuse unit cell[15])의 데이터는 독출되지 않을 것이다.
다양한 실시 예들에 따르면, 시리얼 인터페이스 로직(122)은 클럭 단자를 통해 수신되는 클럭 신호를 기반으로, eFuse_SI_IP(120)에서 사용될 내부 클럭 신호들을 생성할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 도 5에 도시된 바와 같이, 클럭 단자를 통해 수신되는 클럭 신호(CLK, 505)를 기반으로, eFuse_SI_IP(120)에서 사용될 내부 클럭 신호들(SCLKA(531), SCLKB(533), SCLKC(535), SCLKD(537))을 생성할 수 있다.
일 실시 예에 따르면, 시리얼 인터페이스 로직(122)은 클럭 단자를 통해 수신되는 클럭 신호(CLK, 505)를 2분주하여, 메인 클럭 신호(SCLKA, 531)를 생성할 수 있다. 시리얼 인터페이스 로직(122)은 메인 클럭 신호(SCLKA, 531)를 기반으로, 트림 신호의 시작 신호 구간, 모드 신호 구간, n개의 어드레스 각각에 대한 트림 신호 구간, 및 종료 신호 구간을 구분할 수 있다.
일 실시 예에 따르면, 시리얼 인터페이스 로직(122)은 메인 클럭 신호(SCLKA, 531)를 기반으로, 서브 클럭 신호들(SCLKB(533), SCLKC(535), SCLKD(537))을 생성할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 메인 클럭 신호를 지정된 제1 지연 시간만큼 지연시킨 제1 서브 클럭 신호(SCLKB, 533), 메인 클럭 신호를 지정된 제2 지연 시간만큼 지연시킨 제2 서브 클럭 신호(SCLKC, 535), 및 메인 클럭 신호를 지정된 제3 지연 시간만큼 지연시킨 제3 서브 클럭 신호(SCLKD, 537)를 생성할 수 있다. 여기서, 제2 지연 시간은, 제1 지연 시간보다 크고, 제3 지연 시간은 제2 지연 시간보다 클 수 있다. 일 실시 예에 따르면, 제1 서브 클럭 신호(SCLKB, 533)는 EN 신호의 출력 타이밍을 제어하기 위해 이용되며, 제2 서브 클럭 신호(SCLKC, 535)는 SAEN 신호의 출력 타이밍을 제어하기 위해 이용될 수 있다. 예를 들어, EN 신호는, 제1 서브 클럭 신호(SCLKB, 533)의 상승 에지 시점에 출력되며, SAEN 신호는 제2 내부 서브 클럭 신호(SCLKC, 535)의 상승 에지 시점에 출력될 수 있다. 일 실시 예에 따르면, 제3 서브 클럭 신호(SCLKD, 537)는 eFuse IP(124)의 동작을 위해 eFuse IP(124)로 출력될 수 있다.
다양한 실시 예들에 따르면, 시리얼 인터페이스 로직(122)은 도 5b에 도시된 바와 같이, 리셋 단자, 트림 단자, 및/또는 클럭 단자를 통해 수신되는 신호를 기반으로, 쓰기 모드 관련 제어 신호, 또는 독출 모드 관련 제어 신호를 생성하여 출력할 수 있다.
도 5b를 참조하면, 시리얼 인터페이스 로직(122)은 리셋 단자를 통해 리셋 기간(TRST, 541) 동안 로우 레벨의 리셋(RSTB) 신호(501)를 수신할 수 있다. 시리얼 인터페이스 로직(122)은 트림 단자를 통해 리셋 기간이 경과된 이후에 수신되는 트림 신호(503)가 하이 레벨인지 또는 로우 레벨인지 확인할 수 있다. 로우 레벨인 경우, 시리얼 인터페이스 로직(122)은 독출 모드 또는 쓰기 모드가 시작되지 않는 것으로 결정할 수 있다. 하이 레벨인 경우, 시리얼 인터페이스 로직(122)은 시작 신호(311)로 인식하여 독출 모드 또는 쓰기 모드가 시작되는 것으로 결정할 수 있다. 이때, 시리얼 인터페이스 로직(122)은 클럭(CLK) 신호(505)를 2 분주하여, 메인 클럭 신호(SCLKA, 531)를 생성할 수 있다.
시리얼 인터페이스 로직(122)은 독출 모드 또는 쓰기 모드의 시작이 결정되면, 트림 단자를 통해 수신되는 모드 신호(313)가 하이 레벨인지 또는 로우 레벨인지 확인하여 eFuse_SI_IP(120)의 동작 모드를 결정할 수 있다. 시리얼 인터페이스 로직(122)은 모드 신호(313)가 하이 레벨인 경우에는 eFuse_SI_IP(120)의 동작 모드를 독출 모드(RD mode)로 결정하고, 모드 신호(313)가 로우 레벨인 경우에는 eFuse_SI_IP(120)의 동작 모드를 쓰기 모드(WR mode)로 결정할 수 있다. 시리얼 인터페이스 로직(122)은 동작 모드가 결정되면, 결정된 동작 모드를 나타내는 쓰기 모드 신호 또는 독출 모드 신호(WM/RM)(511)를 생성할 수 있다. 이때, 쓰기 모드 신호(WM) 또는 독출 모드 신호(RM)(511)는 eFuse_SI_IP(120)의 전체 어드레스 영역에 대한 쓰기 모드 또는 독출 모드 제어가 완료되는 시간 구간인 TL0(545) 시간 구간 동안 생성될 수 있다.
시리얼 인터페이스 로직(122)은 동작 모드가 결정되면, 트림 단자를 통해 수신되는 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))를 확인하여, 각 어드레스에 대한 쓰기 여부, 또는 독출 여부를 결정할 수 있다.
먼저, 동작 모드가 쓰기 모드로 결정된 경우에 대해 설명한다.
일 실시 예에 따르면, 시리얼 인터페이스 로직(122)은 쓰기 모드 신호(WM)가 생성된 상태에서 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM)가 하이 레벨인 경우, 제1 어드레스(ADDR[0])에 대한 쓰기를 결정할 수 있다. 일 실시 예에 따르면, 시리얼 인터페이스 로직(122)은 제1 어드레스(ADDR[0])에 대한 쓰기를 하기 위해, 메인 클럭 신호(SCKLA)의 상승 에지 시점에 WR[0] 단자(521-1)로 하이 레벨의 신호(551)를 출력하고, WR[1], ..., WR[15] 단자들(521-2 내지 521-16)로는 로우 레벨의 신호를 출력할 수 있다. 시리얼 인터페이스 로직(122)은 트림 단자를 통해 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM)가 수신된 이후에, 제2 어드레스에 대한 트림 신호(ADDR[1]_TRM)를 수신할 수 있다. 제2 어드레스에 대한 트림 신호(ADDR[1]_TRM)가 하이 레벨인 경우, 시리얼 인터페이스 로직(122)은 제2 어드레스(ADDR[1])에 대한 쓰기를 결정하고, 메인 클럭 신호(SCKLA)의 상승 에지 시점에 WR[1] 단자(521-2)로 하이 레벨(553)의 신호를 출력하고, WR[0], WR[2], ..., WR[15] 단자들(521-1, 521-3 내지 521-16)로는 로우 레벨의 신호를 출력할 수 있다. 시리얼 인터페이스 로직(122)은 트림 단자를 통해 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))가 모두 수신될 때까지 상술한 바와 같은 동작을 반복할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 해당 시점에 쓰기 동작을 수행하고자 하는 메모리 셀로만 1을 출력하고, 그 외 메모리 셀들로는 0을 출력하는 원-핫 인코딩 방식을 이용할 수 있다.
다음으로, 동작 모드가 독출 모드로 결정된 경우에 대해 설명한다.
일 실시 예에 따르면, 시리얼 인터페이스 로직(122)은 독출 모드 신호(RM)가 생성된 상태에서 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM)가 하이 레벨인 경우, 제1 어드레스(ADDR[0])에 대한 독출을 결정할 수 있다. 일 실시 예에 따르면, 시리얼 인터페이스 로직(122)은 제1 어드레스(ADDR[0])에 대한 독출을 위해, 메인 클럭 신호(SCKLA)의 상승 에지 시점에 RD[0] 단자(523-1)로 하이 레벨의 신호(551)를 출력하고, RD[1], ..., RD[15] 단자들(523-1 내지 523-16)로는 로우 레벨의 신호를 출력할 수 있다. 이때, 시리얼 인터페이스 로직(122)은 EN 신호(513) 및 SAEN 신호(515)를 eFuse IP(124)로 출력할 수 있다. EN 신호(513)는 제1 서브 클럭 신호(SCLKB)의 상승 에지 시점에 출력되고, SAEN 신호(515)는 제2 서브 클럭 신호(SCLKC)의 상승 에지 시점에 출력될 수 있다. 시리얼 인터페이스 로직(122)은 트림 단자를 통해 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))가 모두 수신될 때까지 상술한 바와 같은 동작을 반복할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 해당 시점에 독출하고자 하는 메모리 셀로만 1을 출력하고, 그 외 메모리 셀들로는 0을 출력하는 원-핫 인코딩 방식을 이용할 수 있다.
일 실시 예에 따르면, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))가 모두 수신된 후, 독출 모드 또는 쓰기 모드를 종료하는 종료 신호를 수신할 수 있다. 종료 신호는, 하이 레벨 또는 로우 레벨 중 어느 하나의 레벨로 설정될 수 있다.
이하에서는, 도 5c 및 도 5d를 참조하여, 시리얼 인터페이스 로직(122)에서 트림 신호 및 클럭 신호를 기반으로, eFuse IP(124)로 제어 신호를 출력하는 예시에 대해 설명할 것이다.
도 5c는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직에서 트림 신호 및 클럭 신호를 기반으로 이퓨즈 IP의 독출 동작을 제어하는 예시도이다.
도 5c를 참조하면, 시리얼 인터페이스 로직(122)은 리셋 단자를 통해 로우 레벨의 리셋(RSTB) 신호(501)를 수신한 후, 트림 단자를 통해 트림 신호(503)를 수신할 수 있다. 시리얼 인터페이스 로직(122)은 수신한 트림 신호(503)에서 하이 레벨의 시작 신호(561)가 인식된 경우, 독출 모드 또는 쓰기 모드가 시작됨을 결정할 수 있다. 이때, 시리얼 인터페이스 로직(122)은 클럭(CLK) 신호(505)를 2 분주하여, 메인 클럭 신호(SCLKA, 531)를 생성하고 이에 기초하여 트림 신호를 인식할 수 있다. 이는 예시일 뿐, 본 문서의 실시 예들은 이에 한정되지 않는다. 즉, 분주없이 클럭 신호(505)를 그대로 메인 클럭 신호(531)로 사용할 수도 있고, 또는 4분주한 클럭 신호를 메인 클럭 신호(531)로 사용할 수도 있다.
이후, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 수신한 신호에서 하이 레벨의 모드 신호(562)를 인식하면, eFuse_SI_IP(120)의 동작 모드를 독출 모드(RD mode)로 결정할 수 있다. 시리얼 인터페이스 로직(122)은 동작 모드가 독출 모드임을 나타내는 독출 모드 신호(RM)(571)를 생성할 수 있다. 독출 모드 신호(571)는 eFuse IP(124)로 출력되지 않고, 시리얼 인터페이스 로직(122) 내부에서 사용될 수 있다.
시리얼 인터페이스 로직(122)은 동작 모드가 독출 모드로 결정되면, 트림 단자를 통해 수신되는 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(331-1), ..., ADDR[n-1]_TRM(331-n))를 인식하여, 각 어드레스에 대한 독출 여부를 결정할 수 있다. 여기서는, ADDR[0], ADDR[4], ADDR[5]에 대한 트림 신호가 하이 레벨이고, 그 외 어드레스들에 대한 트림 신호는 로우 레벨인 경우를 가정한다.
시리얼 인터페이스 로직(122)은 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM, 563-1)가 하이 레벨인 것을 인식하면, 제1 어드레스(ADDR[0])에 대한 독출을 결정하고, RD 신호(RD[15:0], 523)를 통해 제1 어드레스(ADDR[0])에 대한 독출을 수행함을 나타내는 신호를 출력할 수 있다. 예컨대, 시리얼 인터페이스 로직(122)은 제1 어드레스(ADDR[0])에 대한 독출을 위해, 메인 클럭 신호(SCKLA, 531)의 상승 에지 시점에 '0000000000000001'의 RD 신호(RD[15:0])를 eFuse IP(124)로 출력할 수 있다. 추가적으로, 시리얼 인터페이스 로직(122)은 제1 서브 클럭 신호(SCLKB)를 기반으로 EN 신호(513)를 출력하고, 제2 서브 클럭 신호(SCLKC)를 기반으로 SAEN 신호(515)를 eFuse IP(124)로 출력할 수 있다. 그러면, eFuse IP(124)에서는, 제3 서브 클럭 신호(SCLKD)를 기반으로, 제1 어드레스에 대한 데이터를 독출할 수 있다.
시리얼 인터페이스 로직(122)은 제2 어드레스에 대한 트림 신호(ADDR[1]_TRM), 제3 어드레스에 대한 트림 신호(ADDR[2]_TRM), 제4 어드레스에 대한 트림 신호(ADDR[3]_TRM)가 로우 레벨임을 인식하면, 해당 어드레스들에 대한 독출은 수행하지 않는다.
시리얼 인터페이스 로직(122)은 제5 어드레스에 대한 트림 신호(ADDR[4]_TRM, 563-5)가 하이 레벨임을 인식하여, 제5 어드레스(ADDR[4])에 대한 독출을 결정하고, RD 신호(RD[15:0], 523)를 통해 제5 어드레스에 대한 독출을 수행함을 나타내는 신호를 출력할 수 있다. 예컨대, 시리얼 인터페이스 로직(122)은 제5 어드레스에 대한 독출을 위해, 메인 클럭 신호(SCKLA)의 상승 에지 시점에 '0000000000010000'의 RD 신호(RD[15:0])를 eFuse IP(124)로 출력할 수 있다. 추가적으로, 시리얼 인터페이스 로직(122)은 제1 서브 클럭 신호(SCLKB)를 기반으로 EN 신호(513)를 출력하고, 제2 서브 클럭 신호(SCLKC)를 기반으로 SAEN 신호(515)를 eFuse IP(124)로 출력할 수 있다. 그러면, eFuse IP(124)에서는, 제3 서브 클럭 신호(SCLKD)를 기반으로, 제5 어드레스에 대한 데이터를 독출할 수 있다.
시리얼 인터페이스 로직(122)은 제6 내지 제15 어드레스들 각각에 대한 트림 신호(ADDR[5] 내지 ADDR[15])에 대해서도 하이 레벨로 인식되는 지 아니면 로우 레벨로 인식되는 지에 따라 상술한 바와 동일하게 동작할 수 있다.
시리얼 인터페이스 로직(122)은 제16 어드레스에 대한 트림 신호(ADDR[15])가 수신된 이후, 종료 신호를 수신할 수 있다.
도 5d는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직에서 트림 신호 및 클럭 신호를 기반으로 이퓨즈 IP의 쓰기 동작을 제어하는 예시도이다.
도 5d를 참조하면, 시리얼 인터페이스 로직(122)은 리셋 단자를 통해 로우 레벨의 리셋(RSTB) 신호(501)를 수신한 후, 트림 단자를 통해 트림 신호(503)를 수신할 수 있다. 시리얼 인터페이스 로직(122)은 수신한 트림 신호(503)에서 하이 레벨의 시작 신호(581)가 인식된 경우, 독출 모드 또는 쓰기 모드가 시작됨을 결정할 수 있다. 이때, 시리얼 인터페이스 로직(122)은 클럭(CLK) 신호(505)를 2 분주하여, 메인 클럭 신호(SCLKA, 531)를 생성하고 이에 기초하여 트림 신호를 인식할 수 있다. 이는 예시일 뿐, 본 문서의 실시 예들은 이에 한정되지 않는다. 즉, 분주없이 클럭 신호(505)를 그대로 메인 클럭 신호(531)로 사용할 수도 있고, 또는 4 분주한 클럭 신호를 메인 클럭 신호(531)로 사용할 수도 있다.
이후, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 수신한 신호에서 로우 레벨의 모드 신호(582)를 인식하면, eFuse_SI_IP(120)의 동작 모드를 쓰기 모드(WR mode)로 결정할 수 있다. 시리얼 인터페이스 로직(122)은 동작 모드가 쓰기 모드임을 나타내는 쓰기 모드 신호(WM)(591)를 생성할 수 있다. 쓰기 모드 신호(591)는 eFuse IP(124)로 출력되지 않고, 시리얼 인터페이스 로직(122) 내부에서 사용될 수 있다.
시리얼 인터페이스 로직(122)은 동작 모드가 쓰기 모드로 결정되면, 트림 단자를 통해 수신되는 n개의 어드레스들 각각에 대한 트림 신호(ADDR[0]_TRM(583-1), ..., ADDR[15]_TRM(583-16))를 인식하여, 각 어드레스에 대한 쓰기 여부를 결정할 수 있다. 여기서는, ADDR[0], ADDR[1], ADDR[9], ADDR[11], ADDR[12], ADDR[13], ADDR[14]에 대한 트림 신호가 하이 레벨이고, 그 외 어드레스들에 대한 트림 신호는 로우 레벨인 경우를 가정한다.
시리얼 인터페이스 로직(122)은 제1 어드레스에 대한 트림 신호(ADDR[0]_TRM, 583-1)가 하이 레벨인 것을 인식하면, 제1 어드레스(ADDR[0])에 대한 쓰기를 결정하고, WR 신호(WR[15:0], 521)를 통해 제1 어드레스(ADDR[0])에 대한 쓰기를 수행함을 나타내는 신호를 출력할 수 있다. 예컨대, 시리얼 인터페이스 로직(122)은 제1 어드레스(ADDR[0])에 대한 쓰기를 위해, 메인 클럭 신호(SCKLA, 531)의 상승 에지 시점에 '0000000000000001'의 WR 신호(WR[15:0])를 eFuse IP(124)로 출력할 수 있다.
시리얼 인터페이스 로직(122)은 제2 어드레스에 대한 트림 신호(ADDR[1]_TRM, 583-2)도 하이 레벨인 것을 인식하면, 제2 어드레스(ADDR[1])에 대해서도 쓰기를 결정하고, WR 신호(WR[15:0], 521)를 통해 제2 어드레스(ADDR[1])에 대한 쓰기를 수행함을 나타내는 신호를 출력할 수 있다. 예컨대, 시리얼 인터페이스 로직(122)은 제2 어드레스(ADDR[1])에 대한 쓰기를 위해, 메인 클럭 신호(SCKLA, 531)의 상승 에지 시점에 '0000000000000010'의 WR 신호(WR[15:0])를 eFuse IP(124)로 출력할 수 있다.
시리얼 인터페이스 로직(122)은 제3 어드레스에 대한 트림 신호(ADDR[2]_TRM, 583-3)가 로우 레벨인 것을 인식하면, 제3 어드레스(ADDR[2])에 대해서는 쓰기를 수행하지 않는다. 따라서, 시리얼 인터페이스 로직(122)은 제3 어드레스(ADDR[2])에 대한 쓰기를 수행하지 않기 위해, 메인 클럭 신호(SCKLA, 531)의 상승 에지 시점에 '0000000000000000'의 WR 신호(WR[15:0])를 eFuse IP(124)로 출력할 수 있다.
시리얼 인터페이스 로직(122)은 그 외 어드레스들에 대한 트림 신호에 대해서도 하이 레벨로 인식되는 지 아니면 로우 레벨로 인식되는 지에 따라 상술한 바와 동일하게 동작할 수 있다.
시리얼 인터페이스 로직(122)은 제16 어드레스에 대한 트림 신호(ADDR[15]_TRM)가 수신된 이후, 종료 신호를 수신할 수 있다.
도 6은 본 문서의 다양한 실시 예들에서, 트림 신호에 따른 상태 천이도이다.
도 6을 참조하면, 시리얼 인터페이스 로직(122)은 리셋 단자 및 트림 단자를 통해 수신되는 신호에 기초하여 eFuse_SI_IP(120)의 동작 상태를 결정할 수 있다. 시리얼 인터페이스 로직(122)은 시작(START) 상태(601)에서 리셋 단자를 통해 로우 레벨의 리셋(RSTB) 신호가 감지되는 경우, 초기 설정을 수행하는 초기 조건(initial conditions) 상태(611)로 천이할 수 있다. 여기서, 시작 상태(601)는 시리얼 인터페이스 로직(122)이 리셋 단자를 통해 리셋 신호가 수신되기를 대기하거나, 리셋 신호를 수신하는 아이들(idle) 상태일 수 있고, 초기 조건 상태(611)는, 시리얼 인터페이스 로직(122)에서 내부 파라미터들이 초기 값으로 설정되는 상태일 수 있다.
시리얼 인터페이스 로직(122)은 트림 단자를 통해 로우 레벨의 신호가 수신되는 경우, 초기 조건 상태(611)를 유지하고, 트림 단자를 통해 하이 레벨의 시작 신호가 인식되는 경우, WRD 상태(613)로 천이할 수 있다. WRD 상태(613)는 시리얼 인터페이스 로직(122)이 트림 단자를 통해 모드 신호를 인식하기 위한 상태일 수 있다.
시리얼 인터페이스 로직(122)은 WRD 상태(613)에서 트림 단자를 통해 모드 신호가 수신되면, eFuse_SI_IP(120)의 동작 모드를 독출 모드(RD mode) 또는 쓰기 모드(WR mode)로 결정하고, ADDR 상태(615)로 천이할 수 있다. ADDR 상태(615)는 시리얼 인터페이스 로직(122)이 eFuse IP(124)의 메모리 셀들의 각 어드레스에 대한 트림 신호를 수신하는 상태일 수 있다. 시리얼 인터페이스 로직(122)은 ADDR 상태(615)에서 각 어드레스에 대한 트림 신호를 수신하고, 수신된 트림 신호에 따라 해당 어드레스를 기반으로 해당 메모리 셀에 대한 쓰기 또는 독출을 수행할 수 있다.
시리얼 인터페이스 로직(122)은 트림 단자를 통해 16개의 어드레스들에 대한 트림 신호가 모두 수신될 때까지, ADDR 상태(615)를 유지할 수 있다. 시리얼 인터페이스 로직(122)은 트림 단자를 통해 16개의 어드레스들에 대한 트림 신호가 모두 수신되면, RD/PGM STOP 상태(617)로 천이할 수 있다. RD/PGM STOP 상태(617)는 시리얼 인터페이스 로직(122)이 트림 단자를 통해 독출 모드 종료 신호(RDSP) 또는 쓰기 모드 종료 신호(PGMSP)를 수신하는 상태일 수 있다. 여기서, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 로우 레벨의 신호와 하이 레벨의 신호를 연속적으로 인식하면 독출 모드 종료 신호(RDSP) 또는 쓰기 모드 종료 신호(PGMSP)를 수신한 것으로 인식할 수 있다. 인터페이스 로직(122)은 트림 단자를 통해 종료 신호가 수신되면, 초기 조건 상태(611)로 되돌아갈 수 있다.
도 7a 및 도 7b는 본 문서의 다양한 실시 예들에 따른 시리얼 인터페이스 로직의 내부 동작을 도시한다.
도 7a 및 도 7b를 참조하면, 아이들(IDLE) 상태의 시리얼 인터페이스 로직(122)은 동작 701에서 'RSTB == 0' 조건이 만족되는지 여부를 결정할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 아이들 상태에서 로우 레벨의 리셋(RSTB) 신호가 수신되는지 여부를 결정할 수 있다.
'RSTB == 0'이 만족되는 경우, 시리얼 인터페이스 로직(122)은 동작 703에서 초기 조건 설정을 수행할 수 있다. 초기 조건 설정은 내부 파라미터들인 CN, ENR, ENW, RM, WM을 0으로 설정하는 동작을 포함할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 CN[4:0] = 'd0, ENR = 1'b0, ENW = 1'b0, RM = 1'b0, WM = 1'b0으로 설정할 수 있다. 여기서, CN은 트림 단자를 통해 수신되는 트림 신호를 구분하기 위한 카운트 값을 의미할 수 있고, ENR은 독출 모드에서 EN 또는 SAEN을 생성하기 위해 내부적으로 사용되는 신호이고, ENW는 쓰기 모드에서 내부적으로 사용되는 신호이고, RM 및 WM은 각각 위에서 설명한 바 있는 독출 모드 신호 및 쓰기 모드 신호일 수 있다.
초기 조건 설정이 완료되면, 시리얼 인터페이스 로직(122)은 동작 705에서 'TRM == 1' 조건이 만족되는지 여부를 결정할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 하이 레벨의 시작 신호가 수신되는지 여부를 결정할 수 있다.
'TRM == 1' 조건이 만족되는 경우, 시리얼 인터페이스 로직(122)은 독출 또는 쓰기를 위한 이벤트가 발생된 것으로 결정하고, 동작 707에서 CN = CN+1 로 설정할 수 있다. 이에 따라, CN은 1이 될 수 있다.
시리얼 인터페이스 로직(122)은 동작 709에서 'TRM == 1' 조건이 만족되는지 여부를 결정할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 수신되는 신호(TRM)의 레벨을 인식하여 독출 모드인지 쓰기 모드 인지를 결정할 수 있다.
시리얼 인터페이스 로직(122)은 CN이 1인 상태에서 'TRM == 1' 조건이 만족되는 경우, 즉, 트림 단자를 통해 수신되는 모드 신호가 독출 모드를 나타내는 하이 레벨인 경우, 동작 713에서 CN = CN +1, 및 RM = 1 로 설정할 수 있다. 여기서, RM =1 은, eFuse_SI_IP(120)의 동작 모드가 독출 모드임을 의미할 수 있다. 또한, CN은 2가 될 수 있다.
시리얼 인터페이스 로직(122)은 CN이 1인 상태에서 'TRM == 1' 조건이 만족되지 않는 경우, 즉, 트림 단자를 통해 수신되는 모드 신호가 쓰기 모드를 나타내는 로우 레벨인 경우, 동작 711에서 CN = CN +1, 및 WM = 1 로 설정할 수 있다. 여기서, WM =1 은, eFuse_SI_IP(120)의 동작 모드가 쓰기 모드임을 의미할 수 있다. 또한, CN은 2가 될 수 있다.
도 7b를 참조하면, 동작 715에 의해 시리얼 인터페이스 로직(122)은 RM = 1인지, WM = 1인지 관계없이, 동작 721로 진행할 수 있다. 즉, RM =1 또는 WM = 1인 상태에서, 시리얼 인터페이스 로직(122)은 동작 721에서 'CN < 5'b10010', 즉 'CN이 18보다 작다는' 조건이 만족되는지 여부를 결정할 수 있다. 'CN < 5'b10010' 조건이 만족되지 않는 경우, 시리얼 인터페이스 로직(122)은 동작 703으로 되돌아갈 수 있다.
'CN < 5'b10010' 조건이 만족되는 경우, 시리얼 인터페이스 로직(122)은 동작 723에서 CN = CN+1 로 설정할 수 있다. 여기서, CN은 3보다 크거나 같은 값이 될 수 있다.
시리얼 인터페이스 로직(122)은 동작 725에서, 현재 모드가 RM = 1인 독출 모드인지, WM = 1인 쓰기 모드인지 여부를 결정할 수 있다.
RM = 1인 독출 모드인 경우, 시리얼 인터페이스 로직(122)은 동작 731로 진행하여, 'TRM = 1'b1' 인지 여부를 결정할 수 있다. 즉, 트림 단자를 통해 수신되는 트림 신호가 하이 레벨인지 여부를 결정할 수 있다. 'TRM = 1'b1' 인 경우, 시리얼 인터페이스 로직(122)은 동작 735으로 진행하여, ENR = TRM, 및 ENW = ~TRM으로 설정할 수 있다. 여기서 '~TRM'은 TRM 신호를 반전시킨 신호일 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 수신되는 각 어드레스에 대한 트림 신호의 레벨이 하이 레벨인 경우, ENR을 하이 레벨인 1로 설정하고, ENW는 로우 레벨인 0으로 설정할 수 있다.
'TRM = 1'b1' 이 아닌 경우, 시리얼 인터페이스 로직(122)은 동작 733으로 진행하여, ENR = TRM, 및 ENW = TRM으로 설정할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 수신되는 각 어드레스에 대한 트림 신호의 레벨이 로우 레벨인 경우, ENR 및 ENW를 모두 로우 레벨인 0으로 설정할 수 있다.
동작 737에 의해 시리얼 인터페이스 로직(122)은 'TRM = 1'b1'을 만족했는지 여부에 관계없이, 동작 739로 진행할 수 있다.
시리얼 인터페이스 로직(122)은 동작 739에서, CN 값을 이용하여 ADDR을 설정하고, RD/WR 디코더를 이용하여, 설정된 ADDR을 나타내는 신호를 eFuse IP(124)로 출력할 수 있다. 설정된 ADDR을 나타내는 신호는, eFuse IP(124)의 복수의 메모리 셀들 중, 설정된 ADDR에 대응되는 메모리 셀로는 하이 레벨을 출력하고, 그 외 메모리 셀들에는 로우 레벨을 출력하는 신호일 수 있다. 여기서 ADDR은 CN에서 4'b0011을 차감하여 계산될 수 있고, RD/WR 디코더는 ADDR 값에 기초하여 RD 신호(RD[15:0])중에서 ADDR에 대응하는 하나의 비트만 하이 레벨로 설정하고 나머지 비트들을 로우 레벨로 설정하는 원 핫 디코딩을 수행할 수 있다.
시리얼 인터페이스 로직(122)은 동작 741에서, eFuse IP(124)로 출력하는 EN 및 SAEN 신호를 생성할 수 있다. 일 실시 예에 따라, EN 신호는 EN = ENR & (SCLKB | SCLKC)에 의해 설정되고, SAEN 신호는 SAEN = ENR & SCLKC에 의해 설정될 수 있다. 여기서 '&'는 'AND' 로직을 의미할 수 있다. 따라서, ENR이 하이 레벨인 1로 설정된 경우, EN 및 SAEN 신호 각각은 SCLKB 및 SCLKC가 하이 레벨인 시간 영역에서 하이 레벨로 eFuse IP(124)로 출력될 수 있다. 시리얼 인터페이스 로직(122)은 동작 741 이후 동작 721로 되돌아가 다음 어드레스에 대해 상술한 바와 같은 독출 신호를 생성하는 작업을 수행할 수 있다.
WM = 1인 쓰기 모드인 경우, 시리얼 인터페이스 로직(122)은 동작 751로 진행하여, 'TRM = 1'b1' 인지 여부를 결정할 수 있다. 즉, 트림 단자를 통해 수신되는 트림 신호가 하이 레벨인지 여부를 결정할 수 있다. 'TRM = 1'b1' 인 경우, 시리얼 인터페이스 로직(122)은 동작 755으로 진행하여, ENR = ~TRM, 및 ENW = TRM으로 설정할 수 있다. 여기서 '~TRM'은 TRM 신호를 반전시킨 신호일 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 수신되는 각 어드레스에 대한 트림 신호의 레벨이 하이 레벨인 경우, ENR을 로우 레벨인 0으로 설정하고, ENW는 하이 레벨인 1로 설정할 수 있다.
'TRM = 1'b1' 이 아닌 경우, 시리얼 인터페이스 로직(122)은 동작 753으로 진행하여, ENR = TRM, 및 ENW = TRM으로 설정할 수 있다. 예를 들어, 시리얼 인터페이스 로직(122)은 트림 단자를 통해 수신되는 각 어드레스에 대한 트림 신호의 레벨이 로우 레벨인 경우, ENR 및 ENW를 모두 로우 레벨인 0으로 설정할 수 있다.
동작 757에 의해 시리얼 인터페이스 로직(122)은 'TRM = 1'b1'을 만족했는지 여부에 관계없이, 동작 759로 진행할 수 있다.
시리얼 인터페이스 로직(122)은 동작 759에서, eFuse IP(124)로 출력하는 WREN 신호를 생성할 수 있다. 일 실시 예에 따라, WREN 신호는 WREN = ENW & SCLKB에 의해 설정될 수 있다. 여기서 '&'는 'AND' 로직을 의미할 수 있다. 따라서, ENW이 하이 레벨인 1로 설정된 경우, ENW 신호는 SCLKB가 하이 레벨인 시간 영역에서 하이 레벨로 eFuse IP(124)로 출력될 수 있다. 시리얼 인터페이스 로직(122)은 동작 759 이후 동작 761로 갈 수 있다.
시리얼 인터페이스 로직(122)은 동작 761에서, CN 값을 이용하여 ADDR을 설정하고, RD/WR 디코더를 이용하여, 설정된 ADDR을 나타내는 신호를 eFuse IP(124)로 출력할 수 있다. 설정된 ADDR을 나타내는 신호는, eFuse IP(124)의 복수의 메모리 셀들 중, 설정된 ADDR에 대응되는 메모리 셀로는 하이 레벨을 출력하고, 그 외 메모리 셀들에는 로우 레벨을 출력하는 신호일 수 있다. 여기서 ADDR은 CN에서 4'b0011을 차감하여 계산될 수 있다. 일 실시 예에 따르면, 동작 761의 RD/WR 디코더는 동작 739의 디코더와 동일할 수 있고, RD/WR 디코더는 ADDR 값에 기초하여 WR 신호(WR[15:0])중에서 ADDR에 대응하는 하나의 비트만 하이 레벨로 설정하고 나머지 비트들을 로우 레벨로 설정하는 원 핫 디코딩을 수행할 수 있다. 시리얼 인터페이스 로직(122)은 동작 761 이후 동작 721로 되돌아가 다음 어드레스에 대해 상술한 바와 같은 쓰기 신호를 생성하는 작업을 수행할 수 있다.
이하에서는, 도 8a 및 도 8b를 참조하여, 시리얼 인터페이스 로직(122)에서 리셋(RSTB) 신호, 트림 신호, 및 클럭 신호를 기반으로 생성되는 신호들을 예를 들어 설명할 것이다.
도 8a는 본 문서의 다양한 실시 예들에 따른 이퓨즈(eFuse) 방식의 오티피 메모리의 데이터를 독출하기 위한 전체 신호에 대한 타이밍도이다.
도 8a를 참조하면, 시리얼 인터페이스 로직(122)은 클럭 신호(803)를 2분주하여 SCLKA 신호(807)를 생성할 수 있고, SCLKA 신호(807)를 서로 다른 시간 간격으로 지연시킨 SCLKB(825), SCLKC(827), 및 SCLKD(829)를 생성하여, 내부 클럭 또는 제어 신호를 생성하는 데 사용할 수 있다.
시리얼 인터페이스 로직(122)은 생성한 SCLKA 신호(807)에 기초하여 트림 신호(805)가 하이 레벨인지 로우 레벨 인지를 인식하여 내부 동작을 수행할 수 있다.
시리얼 인터페이스 로직(122)은 최초 시작 상태(601)에서 리셋 신호(801)가 로우 레벨임을 인식하면, 초기 조건 상태(611)로 천이할 수 있다. 또는 도 3에 도시된 트림 신호가 트림 단자(213)로 입력되어 독출 동작 또는 쓰기 동작이 완료된 후 초기 조건 상태(611)로 천이할 수 있다. 그러면 시리얼 인터페이스 로직(122)은 도 7의 동작 703에 따라 초기 조건을 설정할 수 있다. 일 실시 예에 따라, CN(809)은 5'b0으로 초기화하고, ENR(811), RM(813), RDA(815), ENW(831), WM(833), 및 WRA(835)을 1'b0로 초기화할 수 있다.
시리얼 인터페이스 로직(122)은 수신되는 트림 신호(805)가 하이 레벨인 것을 인식하면, 동작 707에 따라 CN(809)을 1증가시키고, 초기 조건 상태(611)에서 WRD 상태(613)로 천이한다. 즉, WRD 상태(613)는 CN(809)이 1값을 가질 수 있다.
시리얼 인터페이스 로직(122)은 WRD 상태(613) 즉, CN(809)이 1인 상태에서 동작 709에 따라 SCLKA 신호(807)의 하강 에지가 발생되는 시점에 인식되는 트림 신호(805)를 기반으로 수행하여야 하는 동작 모드가 독출 모드인지 또는 쓰기 모드인지 여부를 결정할 수 있다.
도 8a의 일 예에서, 시리얼 인터페이스 로직(122)은 트림 신호(805)가 하이 레벨인 것을 인식하여, 동작 모드를 독출 모드로 결정하고, 동작 713에 따라 RM 신호(813)를 하이 레벨(1'b1)로 설정하고, CN(809)을 1 증가시켜 '5'b00010'으로 설정할 수 있다. RM 신호(813)는 SCLKA 신호(807)의 상승 에지 시점에 하이 레벨이 되며, 독출 모드가 종료될 때까지 하이 레벨로 유지될 수 있다. 이때, 시리얼 인터페이스 로직(122)은 WRD 상태(613)에서 ADDR 상태(615)로 천이할 수 있다.
시리얼 인터페이스 로직(122)은 ADDR 상태(615)에서, 동작 721에 따라 CN(809)이 '5'b10010'(10진수로 18)보다 작은지를 판단하고, 작으면, SCLKA 신호(807)의 하강 에지가 발생되는 시점에 수신되는 트림 신호(805)를 기반으로 CN(809)에 기초하여 생성된 어드레스에 대해 독출 여부를 결정할 수 있다. 현재의 CN(809)이 '5'b00010'이면 동작 723에 따라 CN(809)이 1증가하여 '5'b00011'이 된다. 또한, 동작 731에 따라, 시리얼 인터페이스 로직(122)은 트림 신호(805)가 하이 레벨임을 인식하면, 동작 735에 따라, ENR(811)을 하이 레벨(1'b1)로 설정되고, ENW(831)를 로우 레벨(1'b0)로 설정할 수 있다. 그리고 시리얼 인터페이스 로직(122)은, 동작 739에 따라, ADDR=CN-4'b0011은 0으로 되어 ADDR[0]에 대해 독출이 수행되어야 함을 결정할 수 있다. 또한, 시리얼 인터페이스 로직(122)의 RD/WR 디코더는 0으로 설정된 ADDR 값과 ENR(811)이 하이 레벨로 설정된 것에 기초하여 RDA 신호(815)를 하이 레벨로 설정하고, 독출 동작이 수행될 어드레스가 ADDR[0]임을 나타내기 위하여 RD 신호(RD[15:0], 817)를 '4'h0001' ('16'b0000000000000001')로 설정하여 eFuse IP(124)로 출력할 수 있다. 또한, 시리얼 인터페이스 로직(122)은, 동작 741에 따라, EN 신호(821) 및 SAEN 신호(823)를 생성하여 eFuse IP(124)로 출력할 수 있다. RD 신호(RD[15:0], 817)의 출력 시점은 SCLKA(807)의 상승 에지에 의해 결정되고, EN 신호(821)의 출력 시점은 SCLKB(825)에 의해 결정되며, SAEN 신호(823)는 SCLKC(827)에 의해 결정될 수 있다.
상술한 바와 같이 시리얼 인터페이스 로직(122)이 ADDR[0]에 대한 독출 제어 신호를 출력한 이후, 시리얼 인터페이스 로직(122)은 여전히 ADDR 상태(615)에서 CN(809)이 '5'b00011'이므로 동작 721을 통과하여, SCLKA 신호(807)의 하강 에지가 발생되는 시점에 수신되는 트림 신호(805)를 기반으로 ADDR[1]에 대한 독출 여부를 결정할 수 있다. 시리얼 인터페이스 로직(122)은, 동작 723에 따라, CN(809)을 1 증가시키고, 동작 731에서 트림 신호(805)가 로우 레벨임을 인식하고, 동작 733에 따라, ENR(811) 및 ENW(831)를 모두 로우 레벨로 설정할 수 있다. 또한, 시리얼 인터페이스 로직(122)은, 동작 739에 따라, ENR(811)이 로우 레벨로 설정된 것에 기초하여 RDA 신호(815)를 로우 레벨로 설정하고, RD 신호(RD[15:0], 817)를 '4'h0000'으로 설정하여 eFuse IP(124)로 출력할 수 있다. 또한, 시리얼 인터페이스 로직(122)은, 동작 741에 따라, EN 신호(821) 및 SAEN 신호(823)를 생성하여 eFuse IP(124)로 출력할 수 있다. 다만, RDA 신호(815), EN 신호(821) 및 SAEN 신호(823)가 모두 로우 레벨이기 때문에 eFuse IP(124)는 독출 동작을 수행하지 않을 것이다.
시리얼 인터페이스 로직(122)이 상술한 바와 같은 동작을 n개의 어드레스(예: 16개의 어드레스)들에 대해 반복적으로 수행한 후에는, CN(809)이 '5'b10010'이 되고, 시리얼 인터페이스 로직(122)은 동작 721에서의 조건에 따라 동작 703을 수행하여 초기 조건 상태(611)로 천이할 수 있다. 이때, 시리얼 인터페이스 로직(122)은 ADDR 상태(615)에서 종료 상태(617)로 천이하고, 종료 상태(617)에서 트림 단자(213)를 통해 종료 신호(예를 들어 로우 레벨 이후 하이 레벨이 입력되는 종료 신호)를 수신하면 초기 조건 상태(611)로 천이할 수 있다.
시리얼 인터페이스 로직(122)은 초기 조건 상태(611)에서 내부 파라미터들을 다 로우 레벨로 초기화하고, 다음 하이 레벨의 시작 신호(311)가 수신될 때까지 대기할 수 있다.
도 8b는 본 문서의 다양한 실시 예들에 따른 이퓨즈(eFuse) 방식의 오티피 메모리에 데이터를 쓰기 위한 전체 신호에 대한 타이밍도이다.
도 8b를 참조하면, 시리얼 인터페이스 로직(122)은 최초 시작 상태(601)에서 리셋 신호(801)가 로우 레벨임을 인식하면, 초기 조건 상태(611)로 천이할 수 있다. 또는 도 3에 도시된 트림 신호가 트림 단자(213)로 입력되어 독출 동작 또는 쓰기 동작이 완료된 후 초기 조건 상태(611)로 천이할 수 있다. 그러면 시리얼 인터페이스 로직(122)은 도 7의 동작 703에 따라 초기 조건을 설정할 수 있다. 일 실시 예에 따라, CN(809)은 5'b0으로 초기화하고, ENR(811), RM(813), RDA(815), ENW(831), WM(833), 및 WRA(835)을 1'b0로 초기화할 수 있다.
시리얼 인터페이스 로직(122)은 수신되는 트림 신호(805)가 하이 레벨인 것을 인식하면, 동작 707에 따라 CN(809)을 1증가시키고, 초기 조건 상태(611)에서 WRD 상태(613)로 천이한다. 즉, WRD 상태(613)는 CN(809)이 1값을 가질 수 있다.
시리얼 인터페이스 로직(122)은 WRD 상태(613) 즉, CN(809)이 1인 상태에서 동작 709에 따라 SCLKA 신호(807)의 하강 에지가 발생되는 시점에 인식되는 트림 신호(805)를 기반으로 수행하여야 하는 동작 모드가 독출 모드인지 또는 쓰기 모드인지 여부를 결정할 수 있다.
도 8b의 일 예에서, 시리얼 인터페이스 로직(122)은 트림 신호(805)가 로우 레벨인 것을 인식하여, 동작 모드를 쓰기 모드로 결정하고, 동작 711에 따라, WM 신호(833)를 하이 레벨(1'b1)로 설정하고, CN(809)을 1 증가시켜 '5'b00010'으로 설정할 수 있다. WM 신호(833)는 SCLKA 신호(807)의 상승 에지 시점에 하이 레벨이 되며, 쓰기 모드가 종료될 때까지 하이 레벨로 유지될 수 있다. 이때, 시리얼 인터페이스 로직(122)은 WRD 상태(613)에서 ADDR 상태(615)로 천이할 수 있다.
시리얼 인터페이스 로직(122)은 ADDR 상태(615)에서, 동작 721에 따라 CN(809)이 '5'b10010'(10진수로 18)보다 작은지를 판단하고, 작으면, SCLKA 신호(807)의 하강 에지가 발생되는 시점에 수신되는 트림 신호(805)를 기반으로 CN(809)에 기초하여 생성된 어드레스에 대해 쓰기 여부를 결정할 수 있다. 현재의 CN(809)이 '5'b00010'이면 동작 723에 따라 CN(809)이 1증가하여 '5'b00011'이 된다. 또한, 동작 751에 따라, 시리얼 인터페이스 로직(122)은 트림 신호(805)가 하이 레벨임을 인식하면, 동작 755에 따라, ENW(831)를 하이 레벨(1'b1)로 설정되고, ENR(811)을 로우 레벨(1'b0)로 설정할 수 있다. 그리고 시리얼 인터페이스 로직(122)은, 동작 761에 따라, ADDR=CN-4'b0011은 0으로 되어 ADDR[0]에 대해 쓰기 동작이 수행되어야 함을 결정할 수 있다. 또한, 시리얼 인터페이스 로직(122)의 RD/WR 디코더는 0으로 설정된 ADDR 값과 ENW(831)가 하이 레벨로 설정된 것에 기초하여 WRA(835)를 로우 레벨로 설정하고, 쓰기 동작이 수행될 어드레스가 ADDR[0]임을 나타내기 위하여 WR 신호(WR[15:0], 837)를 '4'h0001' ('16'b0000000000000001')로 설정하여 eFuse IP(124)로 출력할 수 있다. WR 신호(WR[15:0], 837)의 출력 시점은 SCLKA(807)에 의해 결정될 수 있다.
상술한 바와 같이 시리얼 인터페이스 로직(122)이 ADDR[0]에 대한 쓰기 제어 신호를 출력한 이후, 시리얼 인터페이스 로직(122)은 여전히 ADDR 상태(615)에서 CN(809)이 '5'b00011'이므로 동작 721을 통과하여, SCLKA 신호(807)의 하강 에지가 발생되는 시점에 수신되는 트림 신호(805)를 기반으로 ADDR[1]에 대한 쓰기 여부를 결정할 수 있다. 시리얼 인터페이스 로직(122)은, 동작 723에 따라, CN(809)을 1 증가시키고, 동작 731에서 트림 신호(805)가 로우 레벨임을 인식하고, 동작 733에 따라, ENR(811) 및 ENW(831)를 모두 로우 레벨로 설정할 수 있다. 또한, 시리얼 인터페이스 로직(122)은, 동작 761에 따라, ENW(831)이 로우 레벨로 설정된 것에 기초하여 WRA 신호(835)를 하이 레벨로 설정하고, WR 신호(WR[15:0], 837)를 '4'h0000'으로 설정하여 eFuse IP(124)로 출력할 수 있다. 다만, WRA 신호(835)가 하이 레벨이기 때문에 eFuse IP(124)는 쓰기 동작을 수행하지 않을 것이다.
시리얼 인터페이스 로직(122)이 상술한 바와 같은 동작을 n개의 어드레스(예: 16개의 어드레스)들에 대해 반복적으로 수행한 후에는, CN(809)이 '5'b10010'이 되고, 시리얼 인터페이스 로직(122)은 동작 721에서의 조건에 따라 동작 703을 수행하여 초기 조건 상태(611)로 천이할 수 있다. 이때, 시리얼 인터페이스 로직(122)은 ADDR 상태(615)에서 종료 상태(617)로 천이하고, 종료 상태(617)에서 트림 단자(213)를 통해 종료 신호(예를 들어 로우 레벨 이후 하이 레벨이 입력되는 종료 신호)를 수신하면 초기 조건 상태(611)로 천이할 수 있다.
시리얼 인터페이스 로직(122)은 초기 조건 상태(611)에서 내부 파라미터들(CN(809), ENR(811), RM(813), ENW(831), WM(833))을 다 로우 레벨로 초기화하고, 다음 하이 레벨의 시작 신호(311)가 수신될 때까지 대기할 수 있다.
도 9a, 도 9b, 및 도 9c는 본 문서의 다양한 실시 예들에 따라 eFuse_SI_IP(120)가 스탠바이(standby) 모드에 있게 되는 경우의 예들을 도시한 도면이다. 여기서, 스탠바이 모드는, 독출 또는 쓰기 모드가 수행되지 않고 대기하고 있는 모드를 의미할 수 있다.
본 문서의 다양한 실시 예들에서, 시리얼 인터페이스 로직(122)은 트림 신호 및 클럭 신호를 기반으로 eFuse_SI_IP(120)의 동작 모드를 독출 모드 또는 쓰기 모드로 결정하고, 결정된 동작 모드에 따라 eFuse IP(124)로 제어 신호를 출력한다. 따라서, 도 9a 또는 도 9c에 도시된 바와 같이 클럭 단자(215)로 클럭 신호(505)가 입력되지 않고, 연속적인 하이 레벨 신호나 연속적인 로우 레벨 신호만 입력(910 또는 930 참조)된다면, 트림 단자(213)로 트림 신호(503)가 들어오는 것에 상관없이 eFuse_SI_IP(120)는 독출 모드 또는 쓰기 모드로 동작하지 않고, 스탠바이 모드로 동작할 수 있다.
또 다른 일 실시 예로 도 9b에 도시된 것처럼 클럭 단자(215)를 통해 클럭 신호(CLK)가 제대로 들어오더라도, 하이 레벨의 시작 신호가 트림 단자(213)로 입력되지 않고, 트림 단자(213)로 계속적인 로우 레벨의 트림 신호(503)만 입력(920 참조)된다면 eFuse_SI_IP(120)는 독출 모드 또는 쓰기 모드로 동작하지 않고, 스탠바이 모드로 동작할 수 있다. 이때, 트림 단자(215)로 도 3에 도시된 하이 레벨의 시작 신호(311)로 시작되는 트림 신호(300)가 입력된다면 스탠바이 모드에서 벗어나 독출 모드 또는 쓰기 모드로 동작할 수 있다.
도 10a 및 도 10b는 본 문서의 다양한 실시 예들에 따른 금지 동작을 도시하는 도면이다.
본 문서의 다양한 실시 예들에 따르면, 이퓨즈(eFuse) 방식의 오티피 메모리를 포함하는 시스템(100)에서는 n비트 메모리에 데이터를 쓰거나, n비트 메모리의 데이터를 독출하기 위해서는, 도 3에 도시된 바와 같은, 트림 신호를 모두 송수신해야 한다. 예를 들어, n개의 메모리 셀들 중 제1 어드레스의 메모리 셀에 대해서만 쓰기가 필요하고, 그 외 메모리 셀들에 대해서 쓰기 동작을 수행할 필요가 없다 하더라도, 모든 어드레스들에 대한 트림 신호를 송수신해야 한다. 예컨대, 본 문서의 다양한 실시 예들에 따르면, 도 10a에 도시된 바와 같이, 쓰기 모드 중에 클럭 신호를 로우 또는 하이 레벨로 유지(1001)하여 쓰기 모드 또는 쓰기 동작을 중단하는 것은 허용되지 않는다.
다른 예로, n개의 메모리 셀들 중 제1 어드레스의 메모리 셀에 대해서만 독출이 필요하고, 그 외 메모리 셀들에 대해서 독출할 필요가 없다 하더라도, 모든 어드레스들에 대한 트림 신호를 송수신해야 한다. 예컨대, 본 문서의 다양한 실시 예들에 따르면, 도 10b에 도시된 바와 같이, 독출 모드 중에 클럭 신호를 로우 또는 하이 레벨로 유지(1011)하여 독출 모드 또는 독출 동작을 중단하는 것은 허용되지 않는다.
도 11은 본 문서의 다양한 실시 예들에 따른 마스터 장치의 흐름도이다.
도 11을 참조하면, 마스터 장치(110)는 동작 1101에서 독출 또는 쓰기를 위한 이벤트가 생성되었음을 알리는 시작 신호(START, 311)를 eFuse_SI_IP(120)로 전송할 수 있다. 예를 들어, 마스터 장치(110)는 독출 모드 또는 쓰기 모드의 시작을 나타내는 하이 레벨의 시작 신호(311)를 eFuse_SI_IP(120)로 전송할 수 있다. 일 실시 예에 따르면, 마스터 장치(100)는 시작 신호(311) 전송 전에 로우 레벨의 리셋 신호(RSTB)를 eFuse_SI_IP(120)로 전송할 수 있다. 일 실시 예에 따르면, 마스터 장치(100)는 트림 신호를 전송 시, eFuse_SI_IP(120)로 클럭 신호를 함께 전송할 수 있다.
마스터 장치(110)는 동작 1103에서 모드 신호(321)를 eFuse_SI_IP(120)로 전송할 수 있다. 예를 들어, 마스터 장치(110)는 시작 신호(311)를 전송한 이후에 수행할 동작이 독출 모드 인지 아니면 쓰기 모드 인지를 나타내는 모드 신호(321)를 eFuse_SI_IP(120)로 전송할 수 있다. 마스터 장치(110)는 eFuse_SI_IP(120)의 eFuse IP(124)에 대한 쓰기가 필요한 경우, 쓰기 모드를 나타내는 로우 레벨의 모드 신호를 eFuse_SI_IP(120)로 전송할 수 있다. 마스터 장치(110)는 eFuse_SI_IP(120)의 eFuse IP(124)에 대한 독출이 필요한 경우, 독출 모드를 나타내는 하이 레벨의 모드 신호(321)를 eFuse_SI_IP(120)로 전송할 수 있다.
마스터 장치(110)는 동작 1105에서, 독출 또는 쓰기 동작이 수행될 어드레스를 나타내는 트림 신호를 eFuse_SI_IP(120)로 전송할 수 있다. 예를 들어, 마스터 장치(110)는 eFuse_SI_IP(120)에 포함된 eFuse IP(124)의 각 메모리 셀들 중 독출 또는 쓰기가 필요한 적어도 하나의 메모리 셀을 결정하고, 독출 또는 쓰기가 필요한 적어도 하나의 메모리 셀의 어드레스를 나타내는 트림 신호를 eFuse_SI_IP(120)로 전송할 수 있다. 일 실시 예에 따르면, 마스터 장치(110)는 eFuse IP(124)에 구비되는 메모리 셀의 개수가 n인 경우 제1 어드레스부터 제n 어드레스까지의 각각의 어드레스에 대해 독출 또는 쓰기를 수행할 것일 지를 나타내는 트림 신호를 순차적으로 전송할 수 있다. 예를 들어, 마스터 장치(110)는 제1 어드레스에 대한 독출 또는 쓰기 여부를 나타내는 트림 신호(ADDR[0]_TRM(331-1))를 먼저 전송하고, 그 다음으로 제2 어드레스에 대한 독출 또는 쓰기 여부를 나타내는 트림 신호(ADDR[1]_TRM)를 전송하고 마지막으로 제n 어드레스에 대한 독출 또는 쓰기 여부를 나타내는 트림 신호(ADDR[n-1]_TRM)를 순차적으로 전송할 수 있다.
일 실시 예에 따르면, 마스터 장치(110)는 동작 1107에서, 독출 또는 쓰기 동작이 수행될 어드레스를 나타내는 트림 신호(331)를 eFuse_SI_IP(120)로 전송한 이후, 쓰기 모드 또는 독출 모드의 종료를 나타내는 종료 신호(341)를 eFuse_SI_IP(120)로 전송할 수 있다. 쓰기 모드 또는 독출 모드의 종료를 나타내는 종료 신호(341)는 로우 레벨 이후 하이 레벨의 신호를 전송하는 것으로 미리 설정될 수 있다.
도 12는 본 문서의 다양한 실시 예들에 따른 eFuse_SI_IP의 흐름도이다.
도 12를 참조하면, eFuse_SI_IP(120)는 동작 1201에서 마스터 장치(120)로부터 트림 단자(210)를 통해 수신되는 시작 신호를 인지하여 독출 또는 쓰기 이벤트의 발생 여부를 결정할 수 있다. 예를 들어, eFuse_SI_IP(120)는 트림 단자를 통해 수신되는 트림 신호의 레벨을 분석하여, 독출 또는 쓰기 이벤트가 발생되는지 여부를 결정할 수 있다. eFuse_SI_IP(120)는 하이 레벨의 시작 신호가 수신될 경우, 독출 또는 쓰기 이벤트가 발생된 것으로 결정할 수 있다. 일 실시 예에 따르면, eFuse_SI_IP(120)는 시작 신호 수신 전에 로우 레벨의 리셋 신호를 수신할 수 있다. 일 실시 예에 따르면, eFuse_SI_IP(120)는 트림 신호를 수신 시, 클럭 단자(215)를 통해 클럭 신호를 수신할 수 있다. 일 실시 예에 따르면, eFuse_SI_IP(120)는 클럭 단자(215)를 통해 정상적인 클럭 신호가 수신되지 않는 경우(예: 클럭 단자를 통해 수신되는 신호가 하이 레벨을 유지하는 경우), 트림 단자를 통해 하이 레벨의 트림 신호가 수신되더라도, 독출 또는 쓰기 이벤트가 발생되지 않은 것으로 결정할 수 있다.
eFuse_SI_IP(120)는 동작 1203에서 시작 신호 이후 트림 단자(213)를 통해 수신되는 모드 신호(321)를 기초로, 독출 모드 또는 쓰기 모드를 결정할 수 있다. 예를 들어, eFuse_SI_IP(120)는 트림 단자(213)를 통해 수행하여야 할 모드를 나타내는 모드 신호를 마스터 장치(110)로부터 수신하고, 수신된 모드 신호의 레벨을 기반으로 eFuse_SI_IP(120)의 동작 모드를 결정할 수 있다. eFuse_SI_IP(120)는 모드 신호가 하이 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 독출 모드로 결정하고, 모드 신호가 로우 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 쓰기 모드로 결정할 수 있다.
eFuse_SI_IP(120)는 동작 1205에서 n개의 어드레스에 대한 트림 신호를 기반으로, 해당 어드레스에 독출 또는 쓰기 동작을 수행할 수 있다. 예를 들어, eFuse_SI_IP(120)는 트림 단자(213)를 통해 n개의 어드레스 각각에 대한 독출 여부 또는 쓰기 여부를 나타내는 트림 신호를 수신하고, 수신된 트림 신호를 기반으로 각 어드레스의 메모리 셀에 대한 독출 또는 쓰기 동작을 수행할 수 있다. 여기서, 각 어드레스는, 1비트의 메모리 셀에 1 대 1 매칭될 수 있다.
일 실시 예에 따르면, eFuse_SI_IP(120)는 추가적으로 동작 1207에서, 트림 단자(213)를 통해 n개의 어드레스에 대한 트림 신호를 수신한 후, 쓰기 모드 또는 독출 모드의 종료를 나타내는 종료 신호(341)를 수신할 수 있다. eFuse_SI_IP(120)는 쓰기 모드 또는 독출 모드의 종료를 나타내는 종료 신호(341)를 수신하면, 쓰기 모드 또는 독출 모드에 대한 이벤트를 종료할 수 있다.
도 13은 본 문서의 다양한 실시 예들에 따른 eFuse_SI_IP(120)에서 트림 신호를 기반으로 독출 동작 또는 쓰기 동작을 제어하는 흐름도이다. 도 13의 실시 예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.
도 13을 참조하면, eFuse_SI_IP(120)는 동작 1301에서 트림 단자를 통해 시작 신호(311)가 감지되는지 여부를 결정할 수 있다. eFuse_SI_IP(120)는 트림 단자를 통해 하이 레벨의 시작 신호가 감지될 시, 동작 1303에서 트림 단자를 통해 모드 신호(321)를 수신할 수 있다. 예를 들어, 모드 신호는, 수행하여야 할 동작이 독출 동작인지 아니면 쓰기 동작인지를 나타내는 신호로, 트림 단자를 통해 하이 레벨의 시작 신호가 수신된 이후, 시작 신호에 연속하여 수신될 수 있다.
eFuse_SI_IP(120)는 동작 1305에서 eFuse_SI_IP(120)의 동작 모드가 독출 모드인지 여부를 결정할 수 있다. 예를 들어, eFuse_SI_IP(120)는 모드 신호(321)가 하이 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 독출 모드로 결정하고, 모드 신호가 로우 레벨인 경우, eFuse_SI_IP(120)의 동작 모드를 쓰기 모드로 결정할 수 있다.
eFuse_SI_IP(120)의 동작 모드가 독출 모드인 경우, eFuse_SI_IP(120)는 동작 1307에서 하이 레벨의 독출 모드(RM) 신호를 생성할 수 있다. 독출 모드(RM) 신호는 eFuse_SI_IP(120)의 시리얼 인터페이스 로직(122) 내부에서만 이용되며, eFuse IP(124)로 제공되지 않을 수 있다.
eFuse_SI_IP(120)는 동작 1309에서 트림 단자를 통해 ADDR[n]에 대하여 독출 동작을 수행할 지를 나타내는 트림 신호를 수신할 수 있다. 이때 n은 0부터 시작할 수 있다. eFuse_SI_IP(120)는 동작 1311에서 ADDR[n]에 대한 트림 신호가 1, 즉, 하이 레벨인지 여부를 결정할 수 있다.
동작 1311에서 ADDR[n]에 대한 트림 신호가 하이 레벨인 것으로 결정된 경우, eFuse_SI_IP(120)는 동작 1313에서 원 핫 인코딩 방식을 이용하여 ADDR[n]에 대한 독출 동작을 수행할 수 있다. 일 실시 예에 따르면, eFuse_SI_IP(120)의 시리얼 인터페이스 로직(122)은 ADDR[n]에 대한 독출 동작을 수행하기 위해, 독출이 필요한 ADDR[n]을 나타내는 RD 신호(예: RD[15:0]), EN, 및 SAEN 신호를 생성하여 eFuse IP(124)로 출력할 수 있다. 추가적으로 eFuse_SI_IP(120)의 시리얼 인터페이스 로직(122)은 RD 신호가 유효함을 나타내는 RDA 신호를 생성하여 eFuse IP(124)로 출력할 수도 있다. 독출이 필요한 ADDR[n]을 나타내는 RD 신호는, 예를 들어, n번째 비트만 1이고, 그 외 비트는 0으로 구성된 신호일 수 있다.
동작 1311에서 ADDR[n]에 대한 트림 신호가 로우 레벨인 것으로 결정된 경우, eFuse_SI_IP(120)는 ADDR[n]에 대한 독출 동작이 필요하지 않음을 결정하고, 동작 1313을 수행하지 않고 동작 1315로 바로 진행할 수 있다.
동작 1315에서, eFuse_SI_IP(120)는 n이 15인지 여부를 결정할 수 있다. 예를 들어, eFuse_SI_IP(120)는 16비트 메모리 셀의 모든 어드레스들에 대한 트림 신호를 수신 및 처리하였는지 여부를 결정할 수 있다.
n이 15가 아닌 경우(예: n이 15보다 작은 경우), eFuse_SI_IP(120)는 동작 1319에서 n = n+1로 설정하여, n의 값을 1만큼 증가시킨 후, 동작 1309로 되돌아가 이후 동작들을 재 수행할 수 있다.
n이 15인 경우, eFuse_SI_IP(120)는 16비트 메모리 셀의 모든 어드레스들에 대한 트림 신호를 수신 및 처리한 것으로 결정하고, 동작 1317에서 트림 단자를 통해 RD 모드 종료 신호를 수신할 수 있다. eFuse_SI_IP(120)는 RD 모드 종료 신호가 수신되면, RD 모드를 종료하고 초기 상태로 되돌아갈 수 있다.
eFuse_SI_IP(120)의 동작 모드가 독출 모드가 아닌 경우, 즉, eFuse_SI_IP(120)의 동작 모드가 쓰기 모드인 경우, eFuse_SI_IP(120)는 동작 1321에서 하이 레벨의 쓰기 모드(RM) 신호를 생성할 수 있다. 쓰기 모드(RM) 신호는 시리얼 인터페이스 로직(122) 내부에서 이용되며, eFuse IP(124)로 제공되지 않는다.
eFuse_SI_IP(120)는 동작 1323에서 트림 단자를 통해 ADDR[n]에 대한 트림 신호를 수신할 수 있다. 예를 들어, eFuse_SI_IP(120)는 트림 단자를 통해 n번째 어드레스에 대한 쓰기 여부를 나타내는 트림 신호를 수신할 수 있다. n의 초기 값은 0일 수 있다.
eFuse_SI_IP(120)는 동작 1325에서 ADDR[n]에 대한 트림 신호가 1, 즉, 하이 레벨인지 여부를 결정할 수 있다.
동작 1325에서 ADDR[n]에 대한 트림 신호가 하이 레벨인 것으로 결정된 경우, eFuse_SI_IP(120)는 동작 1327에서 원 핫 인코딩 방식을 이용하여 ADDR[n]에 대한 쓰기 동작을 수행할 수 있다. 일 실시 예에 따르면, eFuse_SI_IP(120)의 시리얼 인터페이스 로직(122)은 ADDR[n]에 대한 쓰기 동작을 수행하기 위해, 쓰기가 필요한 ADDR[n]을 나타내는 WR 신호(예: WR[15:0])를 생성하여 eFuse IP(124)로 출력할 수 있다. 쓰기가 필요한 ADDR[n]을 나타내는 WR 신호는, 예를 들어, n번째 비트만 1이고, 그 외 비트는 0으로 구성된 신호일 수 있다. 또한, eFuse_SI_IP(120)의 시리얼 인터페이스 로직(122)은 추가적으로 WR 신호가 유효한지를 나타내는 WRA 신호를 생성하여 eFuse IP(124)로 출력할 수 있다.
동작 1325에서 ADDR[n]에 대한 트림 신호가 로우 레벨인 것으로 결정된 경우, eFuse_SI_IP(120)는 ADDR[n]에 대한 쓰기가 필요하지 않음을 결정하고, 동작 1329로 바로 진행할 수 있다.
동작 1329에서, eFuse_SI_IP(120)는 n이 15인지 여부를 결정할 수 있다. 예를 들어, eFuse_SI_IP(120)는 16비트 메모리 셀의 모든 어드레스들에 대한 트림 신호를 수신 및 처리하였는지 여부를 결정할 수 있다.
n이 15가 아닌 경우(예: n이 15보다 작은 경우), eFuse_SI_IP(120)는 동작 1333에서 n = n+1로 설정하여, n의 값을 1만큼 증가시킨 후, 동작 1323으로 되돌아가 이후 동작들을 재수행할 수 있다.
n이 15인 경우, eFuse_SI_IP(120)는 16비트 메모리 셀의 모든 어드레스들에 대한 트림 신호를 수신 및 처리한 것으로 결정하고, 동작 1331에서 트림 단자를 통해 쓰기 모드 종료 신호를 수신할 수 있다. eFuse_SI_IP(120)는 쓰기 모드 종료 신호가 수신되면, 쓰기 모드를 종료하고 초기 상태로 되돌아갈 수 있다.
상술한 바와 같이, 본 문서의 다양한 실시 예들에서는, eFuse_SI_IP(120)가 트림 단자와 클럭 단자의 2개의 입력 단자를 통해 입력되는 신호를 기반으로, eFuse IP(124)에 데이터를 쓰거나, eFuse IP(124)의 데이터를 독출할 수 있다. 따라서, 고객 제품의 설계 복잡도를 최소화할 수 있으며, 소형 IP(intellectual property) 폼 팩터(form factor)를 위한 콤팩트 로직(compact logic) 및 저전력의 구현이 가능하다.
100: 시스템 110: 마스터 장치
120: eFuse_SI_IP 122: 시리얼 인터페이스 로직
124: eFuse IP 201: 신호 분석부
203: 디코더

Claims (19)

  1. 시리얼 인터페이스(serial interface, SI) 로직을 포함하는 이퓨즈(eFuse) 방식의 오티피 메모리(one time programmable memory)에 있어서,
    복수의 메모리 셀들에 대해 한 번의 데이터 쓰기 및 복수 번의 데이터 독출이 가능한 이퓨즈 IP(eFuse intellectual property)를 포함하고,
    상기 시리얼 인터페이스 로직은 시리얼 인터페이스 통신을 통해 마스터 장치로부터 클럭 신호 및 트림 신호를 수신하고, 수신된 클럭 신호 및 트림 신호를 기반으로 상기 이퓨즈 IP에 데이터 쓰기 또는 데이터 독출을 수행하며,
    상기 트림 신호는,
    시작 신호;
    쓰기 모드 또는 독출 모드를 나타내는 모드 신호; 및
    상기 복수의 메모리 셀들에 대응되는 복수의 어드레스들 각각에 대해 상기 모드 신호에 따른 동작을 수행할지 또는 수행하지 않을지 나타내는 제어 신호들을 포함하는, 이퓨즈 방식의 오티피 메모리.
  2. 제1항에 있어서,
    상기 시리얼 인터페이스 로직은,
    상기 마스터 장치로부터 상기 클럭 신호를 수신하기 위한 클럭 단자; 및
    상기 마스터 장치로부터 상기 트림 신호를 수신하기 위한 트림 단자를 포함하며,
    상기 시리얼 인터페이스 로직은,
    상기 트림 단자를 통해 수신되는 상기 시작 신호를 인지하여 독출 또는 쓰기 이벤트의 발생 여부를 결정하고,
    상기 트림 단자를 통해 상기 모드 신호를 수신하여 상기 이퓨즈 방식의 오티피 메모리의 동작 모드를 상기 쓰기 모드 또는 상기 독출 모드로 결정하고,
    상기 트림 단자를 통해 상기 복수의 어드레스들 각각에 대한 독출 여부 또는 쓰기 여부를 나타내는 제어 신호들을 수신하여, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는, 이퓨즈 방식의 오티피 메모리.
  3. 제2항에 있어서,
    상기 시리얼 인터페이스 로직은,
    상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 독출 모드로 결정되는 경우,
    n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 독출 여부를 결정하고,
    상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하며,
    상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호인, 이퓨즈 방식의 오티피 메모리.
  4. 제3항에 있어서,
    상기 시리얼 인터페이스 로직은,
    상기 수신된 클럭 신호를 기반으로 상기 시리얼 인터페이스 로직 내에서 이용될 메인 클럭 신호를 생성하고,
    상기 메인 클럭 신호를 기반으로, 상기 트림 신호를 인지하는, 이퓨즈 방식의 오티피 메모리.
  5. 제4항에 있어서,
    상기 시리얼 인터페이스 로직은,
    상기 n번째 어드레스에 대한 독출을 위해, 상기 이퓨즈 IP의 출력 버퍼를 인에이블 시키기 위한 EN 신호; 및
    상기 이퓨즈 IP의 감지 증폭기를 인에이블 시키기 위한 SAEN 신호를 생성하고,
    상기 EN 신호는, 상기 메인 클럭 신호를 제1 지연 시간만큼 지연시킨 제1 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력되며,
    상기 SAEN 신호는, 상기 메인 클럭 신호를 제2 지연 시간만큼 지연시킨 제2 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력되는, 이퓨즈 방식의 오티피 메모리.
  6. 제2항에 있어서,
    상기 시리얼 인터페이스 로직은,
    상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 쓰기 모드로 결정되는 경우,
    n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 쓰기 여부를 결정하고,
    상기 n번째 어드레스에 대한 쓰기가 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하며,
    상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호인, 이퓨즈 방식의 오티피 메모리.
  7. 제2항에 있어서,
    상기 시리얼 인터페이스 로직은, 상기 마스터 장치로부터 리셋 신호를 수신하기 위한 리셋 단자를 더 포함하며,
    상기 시리얼 인터페이스 로직은, 상기 리셋 단자를 통해 로우 레벨의 상기 리셋 신호가 수신된 이후에 상기 트림 단자를 통해 하이 레벨의 상기 시작 신호를 수신하는, 이퓨즈 방식의 오티피 메모리.
  8. 제2항에 있어서,
    상기 트림 신호는, 종료 신호를 더 포함하며,
    상기 시리얼 인터페이스 로직은, 상기 트림 단자를 통해 상기 종료 신호가 수신되면, 상기 쓰기 모드 또는 상기 독출 모드를 종료하는, 이퓨즈 방식의 오티피 메모리.
  9. 시리얼 인터페이스(serial interface, SI) 로직 및 이퓨즈 IP(eFuse intellectual property)를 포함하는 이퓨즈(eFuse) 방식의 오티피 메모리(one time programmable memory)의 동작 방법에 있어서,
    트림 단자를 통해 마스터 장치로부터 수신되는 시작 신호를 인지하여 독출 또는 쓰기 이벤트를 감지하는 동작;
    상기 트림 단자를 통해 상기 마스터 장치로부터 쓰기 모드 또는 독출 모드를 나타내는 모드 신호를 수신하여 상기 이퓨즈 방식의 오티피 메모리의 동작 모드를 상기 쓰기 모드 또는 상기 독출 모드로 결정하는 동작; 및
    상기 트림 단자를 통해 복수의 메모리 셀들에 대응되는 복수의 어드레스들 각각에 대해 상기 모드 신호에 따른 동작을 수행할지 또는 수행하지 않을지를 나타내는 제어 신호들을 수신하여, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는 동작을 포함하는, 방법.
  10. 제9항에 있어서,
    상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 상기 독출 모드로 결정되는 경우, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는 동작은,
    n번째 어드레스에 대한 제어 신호를 수신하는 동작;
    상기 n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 독출 여부를 결정하는 동작; 및
    상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하는 동작을 포함하며,
    상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호인, 방법.
  11. 제10항에 있어서,
    클럭 단자를 통해 상기 마스터 장치로부터 클럭 신호를 수신하는 동작;
    상기 수신된 클럭 신호를 기반으로 메인 클럭 신호를 생성하는 동작; 및
    상기 메인 클럭 신호를 기반으로, 트림 신호를 인지하는 동작을 더 포함하는, 방법.
  12. 제11항에 있어서,
    상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 이퓨즈 IP의 출력 버퍼를 인에이블 시키기 위한 EN 신호 및 상기 이퓨즈 IP의 감지 증폭기를 인에이블 시키기 위한 SAEN 신호를 생성하는 동작을 더 포함하고,
    상기 EN 신호는, 상기 메인 클럭 신호를 제1 지연 시간만큼 지연시킨 제1 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력되며,
    상기 SAEN 신호는, 상기 메인 클럭 신호를 제2 지연 시간만큼 지연시킨 제2 서브 클럭 신호에 기반하여 상기 이퓨즈 IP로 출력되는, 방법.
  13. 제9항에 있어서,
    상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 쓰기 모드로 결정되는 경우, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는 동작은,
    n번째 어드레스에 대한 제어 신호를 수신하는 동작;
    상기 n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 쓰기 여부를 결정하는 동작; 및
    상기 n번째 어드레스에 대한 쓰기가 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하는 동작을 포함하며,
    상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호인, 방법.
  14. 제9항에 있어서,
    리셋 단자를 통해 상기 마스터 장치로부터 리셋 신호를 수신하는 동작을 더 포함하며,
    상기 시작 신호는, 상기 리셋 단자를 통해 로우 레벨의 상기 리셋 신호가 수신된 이후에 수신되는 방법.
  15. 제9항에 있어서,
    상기 트림 단자를 통해 상기 마스터 장치로부터 종료 신호를 수신하여 상기 쓰기 모드 또는 상기 독출 모드를 종료하는 동작을 더 포함하는, 방법.
  16. 이퓨즈(eFuse) 방식의 오티피 메모리(OPT, one time programmable memory)를 포함하는 시스템에 있어서,
    시리얼 인터페이스 통신을 통해 클럭 신호와 트림 신호를 출력하는 마스터 장치; 및
    상기 시리얼 인터페이스 통신을 통해 상기 마스터 장치로부터 상기 클럭 신호 및 상기 트림 신호를 수신하고, 상기 클럭 신호 및 트림 신호를 기반으로 이퓨즈 IP(eFuse intellectual property)에 데이터 쓰기(write) 또는 데이터 독출(read)을 수행하는 이퓨즈(eFuse) 방식의 오티피 메모리를 포함하며,
    상기 트림 신호는,
    시작 신호;
    쓰기 모드 또는 독출 모드를 나타내는 모드 신호; 및
    상기 이퓨즈 IP에 포함되는 복수의 메모리 셀들에 대응되는 복수의 어드레스들 각각에 대해 상기 모드 신호에 따른 동작을 수행할지 또는 수행하지 않을지 나타내는 제어 신호들을 포함하는, 시스템.
  17. 제16항에 있어서,
    상기 이퓨즈 방식의 오티피 메모리는, 상기 마스터 장치로부터 상기 클럭 신호를 수신하기 위한 클럭 단자 및 상기 마스터 장치로부터 상기 트림 신호를 수신하기 위한 트림 단자를 포함하며,
    상기 이퓨즈 방식의 오티피 메모리는,
    상기 트림 단자를 통해 상기 마스터 장치로부터 수신되는 상기 시작 신호를 인지하여 독출 또는 쓰기 이벤트를 감지하고,
    상기 트림 단자를 통해 상기 마스터 장치로부터 상기 모드 신호를 수신하여 상기 이퓨즈 방식의 오티피 메모리의 동작 모드를 상기 쓰기 모드 또는 상기 독출 모드로 결정하고,
    상기 트림 단자를 통해 상기 복수의 어드레스들 각각에 대한 상기 제어 신호들을 수신하여, 상기 복수의 어드레스들 각각에 대한 독출 또는 쓰기를 수행하는, 시스템.
  18. 제17항에 있어서,
    상기 이퓨즈 방식의 오티피 메모리는,
    상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 독출 모드로 결정되는 경우,
    n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 독출 여부를 결정하고,
    상기 n번째 어드레스에 대한 독출이 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하며,
    상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호인, 시스템.
  19. 제17항에 있어서,
    상기 이퓨즈 방식의 오티피 메모리는,
    상기 이퓨즈 방식의 오티피 메모리의 동작 모드가 쓰기 모드로 결정되는 경우,
    n번째 어드레스에 대한 제어 신호를 기반으로, 상기 n번째 어드레스에 대한 쓰기 여부를 결정하고,
    상기 n번째 어드레스에 대한 쓰기가 결정될 시, 상기 n번째 어드레스를 나타내는 신호를 상기 이퓨즈 IP로 출력하며,
    상기 n번째 어드레스를 나타내는 신호는, n번째 비트 값이 1이고, 그 외 비트들의 값은 0인 신호인, 시스템.
KR1020220020552A 2022-02-17 2022-02-17 시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법 KR102586223B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220020552A KR102586223B1 (ko) 2022-02-17 2022-02-17 시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법
US17/977,221 US20230307075A1 (en) 2022-02-17 2022-10-31 eFUSE OTP MEMORY DEVICE INCLUDING SERIAL INTERFACE LOGIC AND OPERATION METHOD THEREOF

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220020552A KR102586223B1 (ko) 2022-02-17 2022-02-17 시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20230123618A KR20230123618A (ko) 2023-08-24
KR102586223B1 true KR102586223B1 (ko) 2023-10-06

Family

ID=87841537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220020552A KR102586223B1 (ko) 2022-02-17 2022-02-17 시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법

Country Status (2)

Country Link
US (1) US20230307075A1 (ko)
KR (1) KR102586223B1 (ko)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0325607A (ja) * 1989-06-23 1991-02-04 Nec Eng Ltd シリアルインターフェースにおけるリセット方式
US6414878B2 (en) * 1992-03-17 2002-07-02 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein
KR19990074710A (ko) * 1998-03-13 1999-10-05 윤종용 시리얼 인터페이스 장치
JP4564321B2 (ja) * 2004-09-30 2010-10-20 株式会社東芝 カード型電子機器
US8102710B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for setting access and modification for synchronous serial interface NAND
US7983099B2 (en) * 2007-12-20 2011-07-19 Mosaid Technologies Incorporated Dual function compatible non-volatile memory device
JP2010182349A (ja) * 2009-02-03 2010-08-19 Toshiba Corp 半導体記憶装置及びその自己テスト方法
US8843692B2 (en) * 2010-04-27 2014-09-23 Conversant Intellectual Property Management Inc. System of interconnected nonvolatile memories having automatic status packet
US9019791B2 (en) * 2010-11-03 2015-04-28 Shine C. Chung Low-pin-count non-volatile memory interface for 3D IC
US8923085B2 (en) * 2010-11-03 2014-12-30 Shine C. Chung Low-pin-count non-volatile memory embedded in a integrated circuit without any additional pins for access
US8861249B2 (en) * 2012-02-06 2014-10-14 Shine C. Chung Circuit and system of a low density one-time programmable memory
KR102406664B1 (ko) * 2016-02-24 2022-06-08 삼성전자주식회사 Otp 메모리 및 그것의 데이터 기입 방법

Also Published As

Publication number Publication date
KR20230123618A (ko) 2023-08-24
US20230307075A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
KR100232322B1 (ko) 동기형 반도체 기억 장치
USRE41245E1 (en) Semiconductor memory device
US5880996A (en) Memory system having non-volatile data storage structure for memory control parameters and method
KR100433686B1 (ko) 메모리,메모리를위한프로그래밍방법및프로그램회로
US5438548A (en) Synchronous memory with reduced power access mode
US6701419B2 (en) Interlaced memory device with random or sequential access
KR100399672B1 (ko) 메모리소자,컴퓨터시스템,데이터전송방법,및비동기메모리소자변형방법
JP2007048432A (ja) デュアルページプログラム機能を有するフラッシュメモリ装置のページバッファ回路およびそのプログラム動作方法
US20060265564A1 (en) Software command sequence for optimized power consumption
JP2011513812A (ja) メモリ回路中の調整可能なパイプライン
US20230051672A1 (en) Modular memory architecture with gated sub-array operation dependent on stored data content
JP5101123B2 (ja) 半導体メモリ装置のバースト読み出し回路及びバーストデータ出力方法
KR102586223B1 (ko) 시리얼 인터페이스 로직을 포함하는 이퓨즈 방식의 오티피 메모리 장치 및 그의 동작 방법
US5493241A (en) Memory having a decoder with improved address hold time
JPH0383299A (ja) 半導体記憶装置
US7362635B2 (en) Semiconductor memory device
US7210030B2 (en) Programmable memory initialization system and method
US7770081B2 (en) Interface circuit for a single logic input pin of an electronic system
JP5103467B2 (ja) クロック同期式検出増幅器を備える記憶装置およびその動作方法
JP2000040363A (ja) 半導体記憶装置
JPH11328997A (ja) 半導体メモリ装置及びバーイン試験方法
JPH07192481A (ja) 半導体記憶装置
US6934216B2 (en) Semiconductor memory device
JP4558438B2 (ja) 入力信号のトランジション区間で安定的に動作するパスゲート回路、これを備えるセルフリフレッシュ回路、及びパスゲート回路の制御方法
KR100615610B1 (ko) 반도체 메모리 장치 및 이 장치의 컬럼 인에이블 신호발생방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant