KR20160043763A - 칩 및 칩의 제어 방법 - Google Patents

칩 및 칩의 제어 방법 Download PDF

Info

Publication number
KR20160043763A
KR20160043763A KR1020140138377A KR20140138377A KR20160043763A KR 20160043763 A KR20160043763 A KR 20160043763A KR 1020140138377 A KR1020140138377 A KR 1020140138377A KR 20140138377 A KR20140138377 A KR 20140138377A KR 20160043763 A KR20160043763 A KR 20160043763A
Authority
KR
South Korea
Prior art keywords
main logic
unit
chip
toggling
enable signal
Prior art date
Application number
KR1020140138377A
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 삼성전자주식회사
Priority to KR1020140138377A priority Critical patent/KR20160043763A/ko
Priority to US14/658,857 priority patent/US20160105168A1/en
Publication of KR20160043763A publication Critical patent/KR20160043763A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/06Modifications for ensuring a fully conducting state
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • 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
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

칩(chip)이 개시된다. 일 실시예는 인에이블 신호에 따라 동작하는 메인 로직부의 동작 상태 정보를 획득하고, 상기 동작 상태 정보에 기초하여 상기 메인 로직부의 토글링 조건이 만족되는지 여부를 판단한다.

Description

칩 및 칩의 제어 방법{CHIP AND METHOD OF CONTROLLINF A CHIP}
아래 실시예들은 칩 및 칩의 제어 방법에 관한 것으로, 보다 구체적으로, 칩의 성능 저하를 방지하기 위한 기술에 관한 것이다.
칩의 소자의 사용 빈도가 높거나 사용 기간이 길수록 칩의 소자의 성능 열화 또는 전력 소비는 증가한다. 칩의 수명을 증가시키기 위해 칩 내부의 로직 및 셀을 교체하는 것은 불가능하다. 칩의 성능은 칩을 포함하는 시스템 또는 단말기의 성능과 연관성이 높다. 칩의 성능을 유지하는 것은 시스템 또는 단말기의 성능을 유지하는 것과 관련이 있다.
일 측에 따른 칩은 복수의 메인 로직부; 및 상기 복수의 메인 로직부 중 인에이블 신호에 따라 동작하는 메인 로직부의 동작 상태 정보를 획득하고, 상기 동작 상태 정보에 기초하여 상기 메인 로직부의 토글링 조건이 만족되는지 여부를 판단하며, 상기 판단에 따라 상기 메인 로직부의 토글링을 위한 제어 신호를 생성하는 제어부를 포함하고, 상기 복수의 메인 로직부 각각은 서로 동일하다.
이 때, 상기 칩은 상기 제어 신호에 기초하여, 상기 인에이블 신호에 따라 동작하는 메인 로직부를 토글링하는 토글링부를 더 포함한다.
상기 동작 상태 정보는, 상기 인에이블 신호에 따라 동작하는 메인 로직부의 온도 정보, 동작 시간 정보, 및 에러 정보 중 적어도 하나를 포함한다.
상기 제어부는 상기 인에이블 신호에 따라 동작하는 메인 로직부의 동작 시간을 획득하는 내부 타이머를 포함한다.
상기 제어부는 온도와 비트 데이터가 맵핑된 테이블을 저장하는 컨트롤 레지스터를 포함한다.
상기 제어부는 상기 인에이블 신호에 따라 동작하는 메인 로직부의 성능(performance)을 모니터링한다.
상기 토글링 조건은, 상기 인에이블 신호에 따라 동작하는 메인 로직부의 누적된 동작 시간이 임계 시간 이상인지를 나타내는 제1 조건; 상기 인에이블 신호에 따라 동작하는 메인 로직부의 온도가 임계 온도 이상인지를 나타내는 제2 조건; 및 상기 인에이블 신호가 메인 로직부에 인가되는 동안, 상기 인에이블 신호에 따라 동작하는 메인 로직부가 생성한 비트 스트림에서 발생한 에러의 횟수가 임계값 이상인지를 나타내는 제3 조건 중 적어도 하나일 수 있다.
다른 일 측에 따른 칩은 복수의 메모리부; 상기 복수의 메모리부를 액세스하는 적어도 하나의 로직부; 및 상기 복수의 메모리부 중 상기 로직부가 액세스하는 메모리부의 동작 상태 정보를 획득하고, 상기 동작 상태 정보에 기초하여 상기 메모리부의 토글링 조건이 만족되는지 여부를 판단하며, 상기 판단에 따라 상기 메모리부의 토글링을 위한 제어 신호를 생성하는 제어부를 포함한다.
이 때, 칩은 상기 제어 신호에 기초하여, 상기 로직부가 액세스하는 메모리부를 토글링하는 토글링부를 더 포함한다.
상기 동작 상태 정보는 상기 로직부가 액세스하는 메모리부의 온도 정보 및 동작 시간 정보 중 적어도 하나를 포함한다.
상기 토글링 조건은 상기 로직부가 액세스하는 메모리부의 누적된 동작 시간이 임계 시간 이상인지를 나타내는 제1 조건; 및 상기 로직부가 액세스하는 메모리부의 온도가 임계 온도 이상인지를 나타내는 제2 조건 중 적어도 하나일 수 있다.
상기 제어부는 상기 로직부가 액세스하는 메모리부의 동작 시간을 획득하는 내부 타이머를 포함한다.
상기 제어부는, 온도와 비트 데이터가 매핑된 테이블을 저장하는 컨트롤 레지스터를 포함한다.
일 실시예에 따른 칩의 제어 방법은 복수의 메인 로직들 중 인에이블 신호에 따라 동작하는 메인 로직의 동작 상태 정보를 획득하는 단계; 상기 동작 상태 정보에 기초하여, 상기 메인 로직의 토글링 조건이 만족되는지 여부를 판단하는 단계; 및 상기 판단에 따라 상기 메인 로직의 토글링을 위한 제어 신호를 생성하는 단계를 포함하고, 상기 복수의 메인 로직 각각은 서로 동일하다.
도 1은 일 실시예에 따른 칩을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 칩의 디지털 디자인 로직을 서명하기 위한 도면이다.
도 3은 다른 실시예에 따른 칩의 디지털 디자인 로직을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 칩의 메인 로직부의 결정을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 칩의 제어 방법을 설명하기 위한 순서도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 칩을 설명하기 위한 도면이다. 도 1을 참조하면, 일 실시예에 따른 칩(chip)(100)은 복수의 메인 로직부(110 및 120), 제어부(130), 및 토글링부(140)를 포함한다.
메인 로직부(110) 및 메인 로직부(120)는 서로 동일하다. 칩(100)에서 메인 로직부(110) 및 메인 로직부(120)가 수행하는 동작은 동일하다. 일 실시예에 따른 칩(100)은 복수 개의 동일한 로직들을 포함한다. 메인 로직부(110) 또는 메인 로직부(120)는 칩(100)에서 활용 빈도가 가장 높을 수 있다. 또는, 메인 로직부(110) 또는 메인 로직부(120)는 칩(100)에서 전력 소비가 가장 높을 수 있다.
포스트 레이아웃 시뮬레이션의 결과를 기초로 이중화 대상이 되는 로직이 결정될 수 있다. 예를 들어, 초기 디지털 디자인에 포스트 시뮬레이션이 적용되는 경우, 초기 디지털 디자인에 포함된 복수의 로직들의 전력 소비 또는 활용 빈도가 확인될 수 있다. 복수의 로직들 중 전력 소비 또는 활용 빈도가 가장 높은 로직이 메인 로직부로 결정될 수 있다. 메인 로직부의 이중화 결과, 칩(100)은 복수의 메인 로직부(110 및 120)를 포함한다.
제어부(130)는 복수의 메인 로직부(110 및 120)중에서 인에이블 신호에 따라 동작하는 메인 로직부(110)의 상태 정보를 획득한다. 메인 로직부(110)는 토글링부(140)에 의해 다른 로직(칩(100)의 외부회로)과 연결될 수 있다.
동작 상태는 인에이블 신호에 따라 동작하는 메인 로직부(110)의 동작 시간 정보, 온도 정보, 및 에러 정보 중 적어도 하나를 포함할 수 있다. 제어부(130)는 메인 로직부(110)의 동작 시간 정보, 온도 정보, 및 에러 정보를 획득할 수 있다.
제어부(130)는 메인 로직부(110)의 동작 시간 정보를 획득하는 내부 타이머(internal timer)를 포함할 수 있다. 인에이블 신호가 메인 로직부(110)에 인가되는 경우, 클락(clock)이 동작하고, 메인 로직부(110)가 동작할 수 있다. 제어부(130)는 인에이블 신호의 인가에 따라 메인 로직부(110)가 동작하는 시간을 클락을 통해 계산할 수 있다. 메인 로직부(110)가 동작한 시간은 누적될 수 있고, 제어부(130)는 누적된 메인 로직부(110)의 동작 시간이 임계 동작 시간 이상인지 확인할 수 있다.
메인 로직부(110)의 누적된 동작 시간이 임계 동작 시간 이상인 경우, 제어부(130)는 메인 로직부(110)의 토글링 조건이 만족된다고 판단할 수 있다. 제어부(130)는 토글링을 위한 제어 신호를 생성하고, 토글링부(140)에 제어 신호를 전달할 수 있다. 토글링부(140)는 제어 신호에 따라 메인 로직부(110)를 토글링할 수 있고, 메인 로직부(120)가 다른 로직과 연결될 수 있다. 제어부(130)으로부터 인에이블 신호가 메인 로직부(120)에 인가됨에 따라 메인 로직부(120)가 동작한다.
일 실시예에 따라, 제어부(130)는 토글링이 발생하는 경우, 누적된 메인 로직부(110)의 동작 시간을 초기화 할 수 있다. 또한, 제어부(130)는 메인 로직부(120)로의 토글링이 발생하는 경우, 메인 로직부(120)의 동작 시간 정보를 획득할 수 있다. 제어부(130)는 메인 로직부(120)의 누적된 동작 시간이 임계 동작 시간 이상인지 확인할 수 있다. 상기 확인에 따라 누적된 메인 로직부(120)의 동작 시간이 임계 동작 시간 이상인 경우, 제어부(130)는 메인 로직부(110)로 토글링하라는 제어 신호를 생성할 수 있다. 또는, 제어부(130)는 다른 메인 로직부로 토글링하라는 제어 신호를 생성할 수 있다.
일 실시예에 따라, 제어부(130)는 메인 로직부(110)의 온도 정보를 획득할 수 있다. 메인 로직부(110)의 온도는 온도 센서에 의해 측정될 수 있다. 여기서, 온도 센서는 칩(100)의 내부에 위치할 수 있고, 외부에 위치할 수 있다. 일 실시예에 있어서, 인에이블 신호가 메인 로직부(110)에 인가됨에 따라 메인 로직부(110)가 동작하는 경우, 온도 센서는 동작하는 메인 로직부(110)의 온도를 측정할 수 있다. 온도 센서는 인에이블 신호가 메인 로직부(110)로 인가됨을 기초로 메인 로직부(110)의 온도를 측정할 수 있다. 또는, 메인 로직부(110)의 동작이 완료된 후, 온도 센서는 메인 로직부(110)의 온도를 측정할 수 있다. 온도 센서가 측정한 메인 로직부(110)의 온도는 제어부(130)로 전송될 수 있다. 제어부(130)는 메인 로직부(110)의 온도 정보를 획득할 수 있다.
제어부(130)은 온도와 비트 데이터가 맵핑된 테이블을 저장하는 컨트롤 레지스터(Control Register)를 포함할 수 있다. 예를 들어, 컨트롤 레지스터는 섭씨 25도와 0000는 맵핑되고, 섭씨 26도는 0001과 맵핑되며, 섭씨 27도는 0010와 맵핑되는 정보가 기록된 테이블을 저장할 수 있다. 컨트롤 레지스터는 읽고 쓰기(read and write)가 가능할 수 있다. 컨트롤 레지스터의 읽고 쓰기가 가능하여 칩(100)이 사용되는 환경에 따라 온도와 비트 데이터의 맵핑은 변할 수 있다.
제어부(130)은 컨트롤 레지스터에 저장된 테이블을 참조할 수 있고, 획득한 메인 로직부(110)의 온도 정보가 임계 온도 이상인지 확인할 수 있다. 메인 로직부(110)의 온도가 임계 온도 이상인 경우, 메인 로직부(110)의 토글링 조건이 만족될 수 있다. 예를 들어, 메인 로직부(110)의 토글링을 나타내는 임계 온도가 섭씨 30도라고 하자. 제어부(130)는 온도 센서를 통해 메인 로직부(110)의 온도를 확인할 수 있고, 메인 로직부(110)의 온도가 섭씨 32도인 경우, 제어부(130)는 메인 로직부(110)의 토글링 조건이 만족된다고 판단할 수 있다.
제어부(130)는 메인 로직부(120)로 토글링하라는 제어 신호를 생성할 수 있고, 토글링부(140)는 제어 신호에 따라 메인 로직부(110)를 토글링할 수 있다. 토글링에 기초하여, 메인 로직부(120)는 토글링 이전에 메인 로직부(110)와 연결된 다른 로직과 연결될 수 있다. 토글링이 발생하고, 인에이블 신호에 따라 메인 로직부(120)가 동작하는 경우, 제어부(130)는 메인 로직부(120)의 온도 정보를 획득할 수 있다. 제어부(130)는 메인 로직부(120)의 온도가 임계 온도 이상이 되는지 확인할 수 있다. 메인 로직부(120)의 온도가 임계 온도 이상이 되는 경우, 제어부(120)는 메인 로직부(110)로 토글링하라는 제어 신호를 생성할 수 있다. 또는, 제어부(120)는 다른 메인 로직부로 토글링하라는 제어 신호를 생성할 수 있다.
토글링부(140)는 제어 신호에 따라 메인 로직부(110)로 토글링할 수 있다. 토글링에 기초하여, 메인 로직부(110)는 토글링 이전에 메인 로직부(120)와 연결된 다른 로직과 연결될 수 있다.
일 실시예에 따라, 제어부(130)는 메인 로직부(110)의 동작 시간 정보 및 온도 정보를 조합하고, 메인 로직부(110)의 토글링 조건이 만족하는지 판단할 수 있다. 예를 들어, 제어부(130)는 메인 로직부(110)의 누적된 동작 시간이 임계 동작 시간 이상이 되고, 인에이블 신호의 인가에 따라 동작하는 메인 로직부(110)의 온도가 임계 온도 이상이 되는 경우, 메인 로직부(110)의 토글링 조건이 만족된다고 판단할 수 있다.
일 실시예에 따라, 제어부(130)는 메인 로직부(110)의 성능을 모니터링할 수 있고, 성능이 임계 레벨 이하인 경우, 메인 로직부(110)의 토글링 조건이 만족된다고 판단할 수 있다. 예를 들어, 제어부(130)는 메인 로직부(110)의 동작에 따라 발생하는 에러를 모니터링할 수 있다. 보다 구체적으로, 인에이블 신호가 메인 로직부(110)에 인가되는 동안, 메인 로직부(110)는 동작할 수 있다. 동작에 따라 메인 로직부(110)는 비트 스트림을 생성할 수 있다. 제어부(130)는 비트 스트림에서 발생한 에러의 개수를 카운트할 수 있다. 비트 스트림에서 발생한 에러의 개수가 임계값 이상인 경우, 제어부(130)는 메인 로직부(110)의 토글링 조건이 만족된다고 판단할 수 있다.
도 2는 일 실시예에 따른 칩의 디지털 디자인 로직을 서명하기 위한 도면이다. 도 2를 참조하면, 디지털 디자인 로직(200)은 복수의 메인 로직 블록(210 및 220), 제어 로직 블록(230), 및 스위치(240)를 포함한다.
메인 로직 블록(210) 및 메인 로직 블록(220)은 서로 동일한 로직 블록이다.
초기 디지털 디자인 로직에 포스트 레이아웃 시뮬레이션이 적용될 수 있고, 포스트 레이아웃 시뮬레이션의 결과를 기초로 이중화 대상이 되는 로직 블록이 결정될 수 있다. 도 2에서 이중화 대상이 된 로직 블록은 메인 로직 블록(210)일 수 있다. 디지털 디자인 로직(200)은 초기 디지털 디자인 로직에 비해 메인 로직 블록(220), 제어 로직 블록(230), 및 스위치(240)를 더 포함할 수 있다.
제어 로직 블록(230)은 복수의 메인 로직 블록(210 및 220)의 동작 상태 정보를 획득한다. 동작 상태 정보를 획득하기 위해 제어 로직 블록(230)은 내부 타이머(Inter Timer)(231), 컨트롤 레지스터(Control Register)(232), 조합 로직(Combinational Logic)(233), 선택 제어 레지스터(Selection Control Register), MUX(235), 및 스위칭 컨트롤 로직(236)을 포함한다.
메인 로직 블록(210)으로 스위치가 스위칭되어 메인 로직 블록(210)이 다른 로직(250)과 연결된다고 하자. 메인 로직 블록(210)이 인에이블 신호의 인가에 따라 다른 로직(250)으로 데이터를 전달할 수 있다.
제어 로직 블록(230)은 메인 로직 블록(210)의 동작 상태 정보에 기초하여 메인 로직 블록(210)의 토글링 조건이 만족되는지 판단할 수 있다.
내부 타이머(231)는 메인 로직 블록(210)의 동작 시간 정보를 획득할 수 있다. 메인 로직 블록(210)의 누적된 동작 시간이 임계 동작 시간 이상인 경우, 제어 로직 블록(230)은 스위칭 컨트롤 로직(236)을 통해 스위치(240)로 토글링을 위한 제어 신호를 전송할 수 있다. 메인 로직 블록(210)에서 메인 로직 블록(220)으로 토글링이 발생하고, 토글링에 따라 메인 로직 블록(220)이 다른 로직(250)과 연결될 수 있다.
컨트롤 레지스터(232)는 온도와 비트 데이터가 맵핑된 테이블을 저장할 수 있다. 온도 센서에 의해 측정된 메인 로직 블록(210)의 온도 정보는 컨트롤 레지스터(232)로 전달될 수 있다. 메인 로직 블록(210)의 온도가 임계 온도 이상이 되는 경우, 제어 로직 블록(230)은 스위칭 컨트롤 로직(236)을 통해 스위치(240)로 토글링을 위한 제어 신호를 전송할 수 있다. 메인 로직 블록(210)에서 메인 로직 블록(220)으로 토글링이 발생하고, 토글링에 따라 메인 로직 블록(220)이 다른 로직(250)과 연결될 수 있다.
조합 로직(233)은 메인 로직 블록(210)의 동작 시간 정보 및 온도 정보의 조합을 이용하여 메인 로직 블록(210)의 토글링을 결정할 수 있다. 예를 들어, 메인 로직 블록(210)의 누적된 동작 시간이 임계 동작 시간 이상이고, 메인 로직 블록(210)의 온도가 임계 온도 이상인 경우, 메인 로직 블록(210)의 토글링을 위한 제어 신호가 생성될 수 있다.
도 2에는 도시되지 않았으나, 제어 로직 블록(230)은 메인 로직 블록(210)의 성능을 기록하기 위한 레지스터를 더 포함할 수 있다. 예를 들어, 제어 로직 블록(230)은 메인 로직 블록(210)이 생성하는 비트 스트림에서 발생하는 에러를 기록하기 위한 레지스터를 더 포함할 수 있다. 제어 로직 블록(230)은 에러의 횟수가 임계값 이상이 되는 경우, 메인 로직 블록(210)의 토글링 조건이 만족된다고 판단할 수 있다.
메인 로직 블록(220)으로 토글링되는 경우, 제어 로직 블록(230)은 메인 로직 블록(220)의 동작 상태 정보를 획득한다. 제어 로직 블록(230)은 메인 로직 블록(220)의 동작 상태 정보에 기초하여 메인 로직 블록(220)의 토글링 조건이 만족되는지 확인한다. 토글링 조건이 만족되는 경우, 메인 로직 블록(220)의 토글링이 발생하고, 메인 로직 블록(210)은 다른 로직(250)과 연결될 수 있다.
메인 로직 블록(210)과 메인 로직 블록(220)은 동시에 사용되지 않을 수 있다. 사용되지 않는 메인 로직 블록에 대해서 Clock/Power Gating을 적용할 수 있고, Clock/Power Gating의 적용에 따라 불필요한 전력 소모가 예방될 수 있다.
도 1을 통해 기술된 사항들은 도 2를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명은 생략한다.
도 3은 다른 실시예에 따른 칩의 디지털 디자인 로직을 설명하기 위한 도면이다. 도 3을 참조하면, 칩의 디지털 디자인 로직(300)은 로직부(310), 복수의 메모리부(320 및 330), 제어부(340), 및 스위치(350)를 포함한다.
로직부(310)는 메모리를 필수적으로 이용하거나 빈번히 이용하는 로직일 수 있다. 로직부(310)는 복수의 메모리부(320 및 330)를 액세스한다. 여기서, 로직부(310)는 메모리부(320) 및 메모리부(330)을 동시에 액세스할 수 없다. 로직부(310)는 스위치(350)에 의해 연결된 메모리부에 액세스할 수 있다.
제어부(340)는 복수의 메모리부(320 및 330) 중 로직부(310)가 액세스하는 메모리부의 동작 상태 정보를 획득한다. 여기서, 로직부(310)는 메모리부(320)를 액세스한다고 하자. 제어부(340)는 메모리부(320)의 동작 상태 정보를 획득할 수 있다. 제어부(340)가 획득하는 메모리부(320)의 동작 상태 정보는 온도 정보 및 동작 시간 정보 중 적어도 하나일 수 있다.
제어부(340)는 내부 타이머(341)를 통해 메모리부(320)의 동작 시간 정보를 획득할 수 있다. 메모리부(320)의 누적된 동작 시간이 임계 동작 시간 이상인 경우, 제어부(340)는 메모리부(320)를 토글링하기 위한 제어 신호를 생성할 수 있다. 제어 신호에 따라 스위치는 메모리부(320)를 토글링하고, 로직부(310)는 메모리부(330)를 액세스할 수 있다.
제어부(340)는 메모리부(320)의 온도 정보를 획득할 수 있다. 칩의 내부 또는 외부에 위치한 온도 센서를 통해 메모리부(320)의 온도가 측정될 수 있다. 메모리부(320)의 온도 정보는 컨트롤 레지스터(342)에 전달될 수 있다. 컨트롤 레지스터(342)는 온도와 비트 데이터가 맵핑된 테이블을 저장할 수 있다. 제어부(340)는 테이블을 참조하여 메모리부(320)의 온도가 임계 온도 이상이 되는지 확인할 수 있다. 메모리부(320)의 온도가 임계 온도 이상이 되는 경우, 제어부(340)는 스위칭 컨트롤 로직을 통해 스위치(350)로 제어 신호를 전달할 수 있다. 스위치(350)는 메모리부(320)를 토글링할 수 있고, 토글링에 따라 로직부(310)는 메모리부(330)를 액세스할 수 있다.
토글링 조건이 만족되는지 여부를 판단함으로써 복수의 메모리부(320 및 330)의 토글링이 발생한다. 복수의 메모리부(320 및 330)를 토글링함으로써, 복수의 메모리부(320 및 330)뿐만 아니라 칩의 성능 열화를 효울적으로 방지할 수 있다.
도 4는 도 1에 도시된 메인 로직부의 결정 및 도 2에 도시된 메인 로직 블록의 결정을 설명하기 위한 도면이다.
디지털 로직 디자인에 시뮬레이션이 적용된다. 여기서, 적용되는 시뮬레이션은 포스트 레이아웃 시뮬레이션(Post Layout Simulation)일 수 있다(410). 시뮬레이션을 통해 디지털 로직 디자인에 포함된 로직 블록 중에서 활용 빈도가 높은 로직 블록이 예측될 수 있다. 또한, 시뮬레이션을 통해 디지털 로직 디자인에 포함된 로직 블록 중에서 전력 소비가 높은 로직 블록이 예측될 수 있다.
시뮬레이션의 적용 후, 디지털 로직 디자인에서 이중화(dualization)의 대상이 되는 메인 로직 블록이 선택될 수 있다(420). 이중화의 대상이 되는 메인 로직 블록은 시뮬레이션의 결과에 기초하여 결정될 수 있다.
이중화의 대상이 되는 메인 로직 블록이 선택된 후, 메인 로직 블록과 동일한 메인 로직 블록이 디지털 로직 디자인에 추가될 수 있다. 메인 로직 블록이 이중화되고, 디지털 로직 디자인은 서로 동일한 복수의 메인 로직 블록을 포함할 수 있다.
복수의 메인 로직 블록 중 먼저 사용될 메인 로직 블록이 설정될 수 있다(430). 디지털 로직 디자인에서 활용 빈도 또는 전력 소비가 많은 메인 로직 블록이 결정되고, 메인 로직 블록이 이중화될 수 있다.
도 4에 도시된 단계(410) 내지 단계(430)은 이중화를 위한 사전 프로세서(400)(Pre Process)라고 할 수 있다. 사전 프로세스를 통해 이중화의 대상이 되는 로직이 결정된다. 도 1에 도시된 칩 및 도 2에 도시된 디지털 로직 디자인은 사전 프로세서가 적용된 결과이다. 사전 프로세서의 적용에 기초하여 도 1의 메인 로직부 및 도 2의 메인 로직 블록이 이중화되고, 토글링을 위한 도 1의 제어부 및 도 2의 제어 로직 블록이 추가될 수 있다.
도 5는 일 실시예에 따른 칩의 제어 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 칩은 칩에 포함된 복수의 메인 로직 중 인에이블 신호에 따라 동작하는 메인 로직의 동작 상태 정보를 획득한다(510). 칩은 복수의 메인 로직을 포함하고, 복수의 메인 로직은 동시에 동작하지 않는다. 스위치에 의해 복수의 메인 로직 중 어느 하나가 인에이블 신호의 인가에 따라 동작할 수 있다.
복수의 메인 로직 각각은 서로 동일한 로직이다. 칩에 포함된 복수의 로직들 중에서 포스트 시뮬레이션의 결과를 기초로 메인 로직이 결정될 수 있다. 예를 들어, 초기 디지털 디자인에 포스트 시뮬레이션이 적용되는 경우, 디지털 디자인에 포함된 복수의 로직들의 전력 소비 또는 활용 빈도가 확인될 수 있다. 복수의 로직들 중 전력 소비 또는 활용 빈도가 가장 높은 로직이 메인 로직으로 결정될 수 있다. 메인 로직의 이중화 결과, 칩은 복수의 메인 로직을 포함한다.
상기 동작 상태는 메인 로직부의 온도 정보, 동작 시간 정보, 및 에러 정보 중 적어도 하나를 포함할 수 있다.
칩은 동작 상태 정보에 기초하여, 메인 로직의 토글링 조건이 만족되는지 여부를 판단한다(520). 여기서, 토글링 조건은 인에이블 신호에 따라 동작하는 메인 로직의 누적된 동작 시간이 임계 시간 이상인지를 나타내는 제1 조건, 인에이블 신호에 따라 동작하는 메인 로직의 온도가 임계 온도 이상인지를 나타내는 제2 조건, 및 인에이블 신호가 메인 로직에 인가되는 동안, 인에이블 신호에 따라 동작하는 메인 로직이 생성한 비트 스트림에서 발생한 에러의 횟수가 임계값 이상인지를 나타내는 제3 조건 증 적어도 하나일 수 있다.
토글링 조건이 만족되는 경우, 칩은 토글링을 위한 제어 신호를 생성한다(530). 칩에 포함된 스위치는 인에이블 신호의 인가에 따라 동작하는 메인 로직을 토글링한다(540).
토글링에 기초하여, 다른 메인 로직은 메인 로직의 동작과 동일한 동작을 수행할 수 있다.
다른 실시예에 따른 칩의 동작 방법에서, 칩은 복수의 메모리부 중 로직부가 액세스하는 메모리부의 동작 상태 정보를 획득한다. 또한, 칩은 동작 상태 정보에 기초하여 메모리부의 토글링 조건이 만족되는지 여부를 판단한다. 또한, 칩은 상기 판단에 따라 상기 메모리부의 토글링을 위한 제어 신호를 생성한다. 또한, 칩은 상기 제어 신호에 기초하여, 로직부가 액세스하는 메모리부를 토글링한다. 여기서, 칩은 복수의 메모리부를 포함하고, 복수의 메모리부를 액세스하는 적어도 하나의 로직부를 포함한다. 로직부는 복수의 메모리부를 동시에 액세스할 수 없다. 로직부는 스위치를 통해 연결된 메모리부를 액세스할 수 있다.
도 1 내지 도 4를 통해 기술된 사항은 도 5를 통해 기술된 사항에 적용될 수 있으므로, 상세한 설명은 생략한다.
실시예들은 칩 또는 칩을 포함하는 시스템 및 단말기의 라이프 사이클(life cycle)을 연장할 수 있다. 실시예들은 외부 접근을 통한 보상 방법이 아닌 레이아웃 시뮬레이션을 통해 예측된 블록 로직 또는 셀을 이중화할 수 있고, 스위칭 조건에 따라 이중화된 블록 로직 또는 셀의 제어가 가능할 수 있다. 이중화에 기초하여 열화에 따라 증가하는 소모 전력을 줄일 수 있다.
또한, 실시예들은 보상 제어를 위한 외부 장치가 필요하지 않을 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (17)

  1. 복수의 메인 로직부; 및
    상기 복수의 메인 로직부 중 인에이블 신호에 따라 동작하는 메인 로직부의 동작 상태 정보를 획득하고, 상기 동작 상태 정보에 기초하여 상기 메인 로직부의 토글링 조건이 만족되는지 여부를 판단하며, 상기 판단에 따라 상기 메인 로직부의 토글링을 위한 제어 신호를 생성하는 제어부
    을 포함하고,
    상기 복수의 메인 로직부 각각은 서로 동일한,
    칩(chip).
  2. 제1항에 있어서,
    상기 제어 신호에 기초하여, 상기 인에이블 신호에 따라 동작하는 메인 로직부를 토글링하는 토글링부
    를 더 포함하는,
    칩.
  3. 제1항에 있어서,
    상기 동작 상태 정보는,
    상기 인에이블 신호에 따라 동작하는 메인 로직부의 온도 정보, 동작 시간 정보, 및 에러 정보 중 적어도 하나를 포함하는,
    칩.
  4. 제1항에 있어서,
    상기 제어부는
    상기 인에이블 신호에 따라 동작하는 메인 로직부의 동작 시간을 획득하는 내부 타이머를 포함하는,
    칩.
  5. 제1항에 있어서,
    상기 제어부는,
    온도와 비트 데이터가 맵핑된 테이블을 저장하는 컨트롤 레지스터를 포함하는,
    칩.
  6. 제1항에 있어서,
    상기 제어부는,
    상기 인에이블 신호에 따라 동작하는 메인 로직부의 성능(performance)을 모니터링하는,
    칩.
  7. 제1항에 있어서,
    상기 토글링 조건은,
    상기 인에이블 신호에 따라 동작하는 메인 로직부의 누적된 동작 시간이 임계 시간 이상인지를 나타내는 제1 조건;
    상기 인에이블 신호에 따라 동작하는 메인 로직부의 온도가 임계 온도 이상인지를 나타내는 제2 조건; 및
    상기 인에이블 신호가 메인 로직부에 인가되는 동안, 상기 인에이블 신호에 따라 동작하는 메인 로직부가 생성한 비트 스트림에서 발생한 에러의 횟수가 임계값 이상인지를 나타내는 제3 조건
    중 적어도 하나인,
    칩.
  8. 복수의 메모리부;
    상기 복수의 메모리부를 액세스하는 적어도 하나의 로직부; 및
    상기 복수의 메모리부 중 상기 로직부가 액세스하는 메모리부의 동작 상태 정보를 획득하고, 상기 동작 상태 정보에 기초하여 상기 메모리부의 토글링 조건이 만족되는지 여부를 판단하며, 상기 판단에 따라 상기 메모리부의 토글링을 위한 제어 신호를 생성하는 제어부
    을 포함하는 칩.
  9. 제8항에 있어서,
    상기 제어 신호에 기초하여, 상기 로직부가 액세스하는 메모리부를 토글링하는 토글링부
    를 더 포함하는,
    칩.
  10. 제8항에 있어서,
    상기 동작 상태 정보는,
    상기 로직부가 액세스하는 메모리부의 온도 정보 및 동작 시간 정보 중 적어도 하나를 포함하는,
    칩.
  11. 제8항에 있어서,
    상기 토글링 조건은,
    상기 로직부가 액세스하는 메모리부의 누적된 동작 시간이 임계 시간 이상인지를 나타내는 제1 조건; 및
    상기 로직부가 액세스하는 메모리부의 온도가 임계 온도 이상인지를 나타내는 제2 조건 중 적어도 하나인,
    칩.
  12. 제8항에 있어서,
    상기 제어부는
    상기 로직부가 액세스하는 메모리부의 동작 시간을 획득하는 내부 타이머를 포함하는,
    칩.
  13. 제8항에 있어서,
    상기 제어부는,
    온도와 비트 데이터가 매핑된 테이블을 저장하는 컨트롤 레지스터를 포함하는,
    칩.
  14. 복수의 메인 로직들 중 인에이블 신호에 따라 동작하는 메인 로직의 동작 상태 정보를 획득하는 단계;
    상기 동작 상태 정보에 기초하여, 상기 메인 로직의 토글링 조건이 만족되는지 여부를 판단하는 단계; 및
    상기 판단에 따라 상기 메인 로직의 토글링을 위한 제어 신호를 생성하는 단계
    를 포함하고,
    상기 복수의 메인 로직들 각각은 서로 동일한,
    칩의 제어 방법.
  15. 제14항에 있어서,
    상기 제어 신호에 기초하여, 상기 인에이블 신호에 따라 동작하는 메인 로직을 토글링하는 단계
    를 더 포함하는 칩의 제어 방법.
  16. 제14항에 있어서,
    상기 동작 상태 정보는,
    상기 인에이블 신호에 따라 동작하는 메인 로직의 온도 정보, 동작 시간 정보, 및 에러 정보 중 적어도 하나를 포함하는,
    칩의 제어 방법.
  17. 제14항에 있어서,
    상기 토글링 조건은,
    상기 인에이블 신호에 따라 동작하는 메인 로직의 누적된 동작 시간이 임계 시간 이상인지를 나타내는 제1 조건;
    상기 인에이블 신호에 따라 동작하는 메인 로직의 온도가 임계 온도 이상인지를 나타내는 제2 조건; 및
    상기 인에이블 신호가 메인 로직에 인가되는 동안, 상기 인에이블 신호에 따라 동작하는 메인 로직이 생성한 비트 스트림에서 발생한 에러의 횟수가 임계값 이상인지를 나타내는 제3 조건
    중 적어도 하나인,
    칩의 제어 방법.
KR1020140138377A 2014-10-14 2014-10-14 칩 및 칩의 제어 방법 KR20160043763A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140138377A KR20160043763A (ko) 2014-10-14 2014-10-14 칩 및 칩의 제어 방법
US14/658,857 US20160105168A1 (en) 2014-10-14 2015-03-16 Chip and chip control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140138377A KR20160043763A (ko) 2014-10-14 2014-10-14 칩 및 칩의 제어 방법

Publications (1)

Publication Number Publication Date
KR20160043763A true KR20160043763A (ko) 2016-04-22

Family

ID=55656163

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140138377A KR20160043763A (ko) 2014-10-14 2014-10-14 칩 및 칩의 제어 방법

Country Status (2)

Country Link
US (1) US20160105168A1 (ko)
KR (1) KR20160043763A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733046B2 (en) * 2018-04-20 2020-08-04 Micron Technology, Inc. Transaction metadata
CN109460316B (zh) * 2018-09-17 2020-12-11 至誉科技(武汉)有限公司 基于温差均衡的数据恢复方法以及系统、存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043465B2 (en) * 2000-02-24 2006-05-09 Holding B.E.V.S.A. Method and device for perception of an object by its shape, its size and/or its orientation
US20080229050A1 (en) * 2007-03-13 2008-09-18 Sony Ericsson Mobile Communications Ab Dynamic page on demand buffer size for power savings
KR20130061967A (ko) * 2011-12-02 2013-06-12 삼성전자주식회사 메모리 시스템 및 그것의 웨어 레벨링 방법
TWI483111B (zh) * 2012-09-20 2015-05-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置

Also Published As

Publication number Publication date
US20160105168A1 (en) 2016-04-14

Similar Documents

Publication Publication Date Title
US10372339B2 (en) Extensible memory hub
US10734087B2 (en) Retention-drift-history-based non-volatile memory read threshold optimization
US10324642B2 (en) Peripheral component interconnect express (PCIe) solid state drive (SSD) accelerator
US9329948B2 (en) Measuring cell damage for wear leveling in a non-volatile memory
JP5462160B2 (ja) メモリの動的電圧調整
US7925899B2 (en) Method, system, and apparatus for runtime power estimation
KR102553539B1 (ko) 고체 상태 드라이브에서 가비지 수집 리소스 할당을 적응시키는 메커니즘
US10141071B2 (en) Predictive count fail byte (CFBYTE) for non-volatile memory
US20190089619A1 (en) Self-test engine for network on chip
TWI605333B (zh) 用於電源及效能之適應性停用及啓用睡眠狀態之技術
US20130326263A1 (en) Dynamically allocatable memory error mitigation
CN107515731B (zh) 一种基于固态盘的进化存储系统及其工作方法
KR20170130380A (ko) 비휘발성 메모리에서 결함에 대한 내성을 향상시키기 위한 방법 및 장치
US20150153393A1 (en) System on Chip Circuits and Related Systems and Methods of Operating the Same
JP2013145554A5 (ko)
KR20160043763A (ko) 칩 및 칩의 제어 방법
US9484113B2 (en) Error-correction coding for hot-swapping semiconductor devices
US8918700B2 (en) Apparatus and method for controlling access to a memory device
US9459943B2 (en) Fault isolation by counting abnormalities
US9092486B2 (en) Extensible I/O activity logs
US20140115408A1 (en) Maximum frequency and minimum voltage discovery
JP6237202B2 (ja) 半導体記憶装置およびその制御方法
Sasan et al. History & Variation Trained Cache (HVT-Cache): A process variation aware and fine grain voltage scalable cache with active access history monitoring
US11023247B2 (en) Processor package with optimization based on package connection type
WO2019054434A1 (ja) 故障予兆検出装置、故障予兆検出方法、及び、故障予兆検出プログラムが格納された記録媒体

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