KR20030033952A - 반도체 장치 및 오리지날 코드(originalcode) 수정 방법과 광학 네비게이션 센서 - Google Patents

반도체 장치 및 오리지날 코드(originalcode) 수정 방법과 광학 네비게이션 센서 Download PDF

Info

Publication number
KR20030033952A
KR20030033952A KR1020020064356A KR20020064356A KR20030033952A KR 20030033952 A KR20030033952 A KR 20030033952A KR 1020020064356 A KR1020020064356 A KR 1020020064356A KR 20020064356 A KR20020064356 A KR 20020064356A KR 20030033952 A KR20030033952 A KR 20030033952A
Authority
KR
South Korea
Prior art keywords
reprogrammable
shadow memory
memory
code
shadow
Prior art date
Application number
KR1020020064356A
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 KR20030033952A publication Critical patent/KR20030033952A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Image Input (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 반도체 장치를 제조한 후 장치의 펌 웨어(firmware)를 수정하기 위한 반도체 장치 및 방법에 관한 것으로서, 섀도 메모리를 사용하여 롬(ROM)에 있는 오리지날(original) 펌 웨어의 일부 또는 전부를 섀도(shadow)한다. 예시적인 실시예에서, 반도체 장치는 펌 웨어에 포함되어 있는 네비게이션(navigation) 코드와 캡쳐된 표면 이미지(captured surface image)를 사용하여 추적 정보를 생성하는 광학 네비게이션 센서이다.  섀도 메모리는 오리지날 펌 웨어를 수정된 펌 웨어 전체 또는 오리지날 펌 웨어의 대응하는 일부를 대체하는 오리지날 펌 웨어의 수정된 일부로 프로그래밍될 수 있다.  섀도 메모리를 이용함으로써 반도체 장치 제조 후 장치의 오리지날 펌 웨어를 갱신시킬 수가 있다. 또한, 섀도 메모리는 반도체 장치 제조 후에 제품 식별 정보 및 전유 기능성 코드와 같은 다른 데이타를 반도체 장치로 짜넣을 수 있게 한다.

Description

반도체 장치 및 오리지날 코드(ORIGINAL CODE) 수정 방법과 광학 네비게이션 센서{OPTICAL NAVIGATION SENSOR WITH SHADOW MEMORY}
본 발명은 전반적으로 반도체 장치에 관한 것으로서, 특히 광학 네비게이션 센서에 관한 것이다.
광학 네비게이션 센서는 컴퓨터 마우스나 소지형 스캐너와 같은 소지형 장치에 사용되어 장치의 움직임을 광학적으로 추적하기 위한 것으로서, 그동안 계속하여 발전되어 왔다. 기계적인 추적 장치와 달리 광학 네비게이션 센서는 어떠한 기계적 구성 요소도 포함하고 있지 않다. 대신에, 광학 네비게이션 센서는 광학적으로 순차적인 표면 이미지(Surface Images)를 획득하는 고체 상태 영상 센서(Solid-State Imaging Sensor)를 이용한다. 그리고 나서, 이러한 순차적인 표면 이미지들은 수학적으로 분석하여 움직임의 방향과 크기를 결정함으로써 소지형 장치의 위치 변화를 측정하게 된다. 광학 네비게이션 센서의 출력은 소지형 장치의 움직임을 추적하는 네비게이션 정보(navigation Information)를 제공하는 Δx와 Δy의 상대적 변위값들의 스트림(stream)이 될 수도 있다. 광학 네비게이션 센서는 기계적 구성 요소에 영향을 받지 않기 때문에 일반적으로 기계적 추적 장치들보다도 더 정확하고 신뢰할만하다.
통상적인 광학 네비게이션 센서는 고체 상태 영상 센서와 ROM 및 프로세서를포함하고 있다.  고체 상태 영상 센서는 CCD(Charged Coupled Device) 센서나 CMOS(Complementary Metal Oxide Semiconductor) 영상 센서 또는 기타 감광성 영상 센서일 수 있다.  고체 상태 영상 센서는 소지형 장치가 조작되는 표면의 영상들을 순차적으로 캡쳐하는 데에 이용된다. 이어서, 이러한 순차적인 표면 이미지들은 Δx와 Δy의 상대적 변위값들의 스트림을 출력하는 네비게이션 코드를 이용하여 광학 네비게이션 센서의 프로세서에 의하여 처리된다.  네비게이션 코드는 광학 네비게이션 센서를 제조하는 동안 ROM으로 프로그래밍되는 펌 웨어로서 광학 네비게이션 센서의 ROM에 저장된다. ROM을 이용하여 네비게이션 코드를 저장하면서 칩 면적과 전력 소모량에 있어 경제적이다.
통상 광학적 네비게이션 센서는 그 제조 후에는 ROM을 교체하지 않고서는 센서의 펌 웨어를 변경할 수 없는 문제점을 가지고 있다. 따라서, 가령 소프트웨어 버그로 인해 네비게이션 코드가 갱신 또는 수정될 경우엔, 디버그(debug)된 네비게이션 코드를 센서에 짜넣기 위해 새로운 광학 네비게이션 센서를 제조할 필요가 있었다. 그와 같은 한계로 인해 어떤 이유로든 원 네비게이션 코드가 수정될 필요가 있을 경우 광학 네비게이션 센서가 장착된 소지형 장치의 제품을 배출하는 일정을 지연시키고 제조 비용을 증가시킬 수 있다.
이러한 문제점들을 볼 때, 장치 제조 후에 광학 네비게이션 센서의 펌 웨어를 수정할 수 있는 광학 네비게이션 센서와 방법이 필요하다.
본 발명은 반도체 장치를 제조한 후 장치의 펌 웨어(firmware)를 수정하기 위한 반도체 장치 및 방법에 관한 것으로서, 섀도 메모리를 사용하여 롬(ROM)에 있는 오리지날(original) 펌 웨어의 일부 또는 전부를 섀도(shadow)한다. 예시적인 실시예에서, 반도체 장치는 펌 웨어에 포함되어 있는 네비게이션(navigation) 코드와 캡쳐된 표면 이미지(captured surface image)를 사용하여 추적 정보를 생성하는 광학 네비게이션 센서이다.  섀도 메모리는 오리지날 펌 웨어를 수정된 펌 웨어 전체 또는 오리지날 펌 웨어의 대응하는 일부를 대체하는 오리지날 펌 웨어의 수정된 일부로 프로그래밍될 수 있다.  섀도 메모리를 이용함으로써 반도체 장치 제조 후 장치의 오리지날 펌 웨어를 갱신시킬 수가 있다. 또한, 섀도 메모리는 반도체 장치 제조 후에 제품 식별 정보 및 전유 기능성 코드와 같은 다른 데이타를 반도체 장치로 짜넣을 수 있게 한다.
본 발명에 따른 반도체 장치는 오리지날 코드(original code)를 포함하고 있는 재프로그램 불가 메모리(Non-Reprogrammable Memory), 수정 코드(modified code)로 프로그래밍될 수 있는 재프로그램 가능 섀도 메모리(Reprogrammable Shadow Memory), 재프로그램 가능 섀도 메모리에 있는 수정 코드 중 적어도 한 개를 포함하고 있는 액세스 코드에 따라 입력 데이타를 처리하는 프로세서 및 동작상 프로세서를 재프로그램 불가 메모리와 재프로그램 가능 섀도 메모리를 접속시키고, 프로세서의 요구에 응답하여 재프로그램 불가 메모리와 재프로그램 가능 섀도 메모리에 액세스 코드를 프로세서에 선택적으로 제공하는 섀도 메모리 제어장치(Shadow Memory Controller)를 구비하고 있다.
일 실시예로, 반도체 장치는 프로세서에 의해 처리되어 반도체 장치의 추적 정보를 발생시키는 영상들을 전자적으로 캡쳐하는 고체 상태 영상 센서를 더 구비하고 있다.
일 실시예에서, 프로세서는 수정 코드가 반도체 장치로 로드(load)될 때 암호화된 포맷인 수정 코드가 반조체로 로드되어 재프로그램 가능 섀도 메모리로 프로그래밍될 때, 수정 코드를 해독하도록 구성되어 있다.
일 실시예에서, 재프로그램 가능 섀도 메모리는 재프로그램 불가 메모리의 저장용량보다 크거나 같은 저장용량을 갖는다. 이 경우, 섀도 메모리 제어 장치는 동작하는 동안 재프로그램 가능 섀도 메모리의 수정 코드를 프로세서에만 제공하도록 구성되어 있다.
다른 실시예에서, 재프로그램 가능 섀도 메모리는 재프로그램 불가 메모리보다 저장용량이 작다. 이 경우, 섀도 메모리 제어 장치는 동작 중에 재프로그램 가능 섀도 메모리로부터 수정 코드와 재프로그램 불가 메모리로부터 오리지날 코드를 각각 프로세서에 선택적으로 제공하도록 구성되어 있다.
일 실시예에서, 재프로그램 가능 섀도 메모리는 반도체 장치 제조 후 부가 데이타로 프로그래밍될 수 있다. 부가 데이타는 제품 식별 정보 및/또는 전유 기능성 코드를 구비할 수도 있다.
본 발명에 따른 반도체 장치의 재프로그램 불가 메모리에 있는 오리지날 코드를 수정하는 방법은 반도체 장치 제조 후 오리지날 코드의 수정 코드를 반도체장치의 재프로그램 가능 섀도 메모리에 프로그래밍하는 단계와, 재프로그램 가능 섀도 메모리에 있는 수정 코드를 액세스하는 단계 및 적어도 재프로그램 가능 섀도 메모리에 있는 수정 코드를 이용하여 입력 데이타를 처리하는 단계를 구비한다.
일 실시예로, 오리지날 코드 수정 방법은 반도체 장치의 고체 상태 영상 센서를 이용하여 영상들을 캡쳐하여 입력 데이타를 생성하는 단계를 더 구비한다. 이 경우 입력 데이타를 처리하는 단계는 반도체 장치의 추적 정보를 생성하는 단계를 구비한다.
일 실시예에서, 오리지날 코드 수정 방법은 수정 코드의 암호화된 데이타를 반도체 장치에 로드하는 단계와, 수정 코드들을 반도체 장치의 재프로그램 가능 섀도 메모리에 프로그래밍하기 전에 수정 코드를 암호화된 데이타를 해독하는 단계를 더 구비하고 있다.
일 실시예에서, 재프로그램 가능 섀도 메모리의 수정 코드를 액세스하는 단계에는 재프로그램 가능 섀도 메모리의 수정 코드만을 검색하여 입력 데이타를 처리하는 단계를 구비하고 있다.
다른 실시예에서, 재프로그램 가능 섀도 메모리의 수정 코드를 액세스하는 단계에는 재프로그램 가능 섀도 메모리의 수정 코드와 재프로그램이 불가 메모리의 오리지날 코드를 선택적으로 검색하여 입력 데이타를 처리하는 단계를 구비하고 있다.
일 실시예에서, 방법은 부가 데이타를 반도체 장치의 재프로그램 가능 섀도 메모리로 프로그래밍하는 단계를 더 구비하고 있다. 부가 데이타는 제품 식별 정보 및/또는 전유 기능성 코드를 포함할 수도 있다.
본 발명의 그 밖의 특징과 장점은 첨부된 도면과 함께 본 발명의 원리를 예로써 설명하는 후술하는 발명의 상세한 설명으로부터 더욱 분명해질 것이다.
도 1은 본 발명에 따른 광학 네비게이션 센서의 블럭도,
도 2는 프로세서를 롬(ROM)과 섀도 메모리에 접속시키는 광학 네비게이션 센서의 섀도 메모리 제어 장치를 설명하는 블럭도,
도 3은 광학 네비게이션 센서의 섀도 메모리 제어 장치의 블럭도,
도 4는 본 발명에 따른 광학 네비게이션 센서의 펌 웨어 수정 방법에 대한 처리 순서도이다.
도면의 주요 부분에 대한 부호의 설명
100 : 광학 네비게이션 센서102 : 고체 상태 영상 센서
104 : A/D 컨버터106 : 프로세서
108 : 섀도 메모리 제어 장치110 : ROM
112 : 섀도 메모리114 : 입/출력 인터페이스
202 : 제어 버스`204 : 어드레스 버스
206 : 데이타 버스310 : 어드레스 비교부
312, 314 : 다중화기
도 1을 참조하면, 본 발명에 따른 광학 네비게이션 센서(100)가 도시되어 있다. 광학 네비게이션 센서(100)는 기준 표면(reference surface)에 대한 센서의 추적 정보를 제공하도록 동작한다. 따라서, 광학 네비게이션 센서는 추적 정보를 요구하는 컴퓨터 마우스나 소지형 스캐너와 같은 소지형 장치에 사용될 수 있다. 추적 정보는 기준 표면의 영상들을 순차적으로 캡쳐함으로써 광학 네비게이션 센서에 의해 생성되어 기준 표면에 관한 센서의 움직임을 탐지한다. 그런 다음, 이들 순차적인 표면 이미지들은 펌 웨어로서 센서에 내장된 네비게이션 코드를 사용하여 수학적으로 처리되어 추적 정보를 생성한다. 통상의 광학 네비게이션 센서와 달리, 본 발명에 따른 광학 네비게이션 센서(100)는 센서를 제조한 후에도 네비게이션 코드가 쉽게 디버그(debug)되거나 수정될 수 있도록 설계되었다. 더우기, 광학 네비게이션 센서는 제조 후에도 전유 코드 및 정보에 대한 프로그래밍을 가능하게 해준다.
광학 네비게이션 센서(100)는 고체 상태 영상 센서(102), A/D 컨버터(analog-to-digital converter)(104), 프로세서(106), 섀도 메모리 제어 장치(108), ROM(110), 섀도 메모리(112) 및 입/출력 인터페이스(interface)(114)를구비한다. 발명의 특성을 불필요하게 애매하게 하지 않도록, 통상적인 광학 네비게이션 센서에서도 공통적으로 발견되는 다른 구성 요소에 대해서는 본 상세한 설명에서 설명하지 않았다. 예시적인 실시예로, 광학 네비게이션 센서는 ASIC(Application Specific Integrated Circuit)이다. 따라서, 이 실시예에서, 광학 네비게이션 센서의 구성 요소들은 단일 반도체 칩 상에 있다.
광학 네비게이션 센서(100)의 고체 상태 영상 센서(102)는 기준 표면의 영상을 전자적으로 캡쳐하도록 동작한다. 고체 상태 영상 센서(102)는 CCD(Charged Coupled Device) 센서나 CMOS(Complimentry Metal Oxide Semiconductor) 영상 센서 또는 감광성 영상 센서일 수 있다. 가령, 고체 상태 영상 센서는 (16×16) 픽셀(pixel) 영상 센서일 수 있다. 그러나, 고체 상태 영상 센서는 이보다 더 크거나 작아도 무방하다. 고체 상태 영상 센서는 아날로그 영상 신호로서 영상을 캡쳐한다. 따라서, 고체 상태 영상 센서의 출력은 일련의 아날로그 신호로서, 광학 네비게이션 센서의 A/D 컨버터(104)에 의해 디지탈 영상 신호로 변환된다.
광학 네비게이션 센서(100)의 ROM(110)은 원 네비게이션 코드를 포함하는 오리지날 펌 웨어를 담고 있다. 오리지날 펌 웨어는 광학 네비게이션 센서를 제조하는 동안 ROM에 프로그래밍된다. 따라서, ROM(110)은 광학 네비게이션 센서를 제조한 후에는 ROM 안의 오리지날 펌 웨어를 수정하기 위해 재프로그래밍될 수 없다. ROM은 어떠한 형태의 판독 전용 메모리라도 무방하다.
광학 네비게이션 센서(100)의 섀도 메모리(112)는 재프로그래밍 가능 메모리이다. 섀도 메모리는 판독/기록 RAM과 같은 어떤 형태의 판독/기록 메모리라도 무방하다. 본 발명의 첫 번째 실시예에서, 섀도 메모리는 적어도 ROM(110)과 동일한 저장용량을 갖고 있다. 이 경우, 섀도 메모리는 ROM에 있는 오리지날 펌 웨어의 완전히 수정된 버젼 전체를 저장하는 데에 사용된다. 따라서, 섀도 메모리가 수정된 펌 웨어로 프로그래밍될 때 ROM에 있는 전체 오리지날 펌 웨어는 섀도 메모리에 있는 수정된 펌 웨어에 의해 "섀도"될 수 있다. 즉, ROM에 있던 오리지날 펌 웨어는 섀도 메모리에 있는 수정된 펌 웨어에 의하여 완전히 대체된다.
섀도 메모리(112)를 사용하면 ROM 안의 오리지날 펌 웨어를 대체할 수 있는 수정된 펌 웨어를 섀도 메모리에 프로그래밍함으로써 오리지날 펌 웨어에 버그가 발견되면 ROM(110) 안의 광학 네비게이션 센서의 오리지날 펌 웨어가 재프로그래밍될 수 있다. 또한, 오리지날 펌 웨어의 갱신이 광학 네비게이션 센서에 프로그래밍되어 광학 네비게이션 센서가 장착된 장치의 제조가 하여금 최신식의 광학 네비게이션 기술을 최종 적재물(final shipping products)에 결합시킬 수 있게 한다. 아울러, 섀도 메모리는 장치 제조업자가 제품 식별 정보 및 전유 기능성을 광학 네비게이션 센서에 구현할 수 있게 함으로써 각 장치 제조자들이 각자의 제품을 서로 식별할 수 있게 해준다.
본 발명에 따른 두 번째 실시예로서, 광학 네비게이션 센서(100)의 섀도 메모리(112)는 ROM(110)보다 저장용량이 작다. 예컨데, 섀도 메모리의 저장용량은 ROM의,또는일 수 있다. 더 작은 크기의 섀도 메모리를 사용하게 되면 광학 네비게이션 센서를 제조하는 데에 드는 전체 비용을 줄일 수가 있다. 또한, 본 발명의 두 번째 실시예에 따라 섀도 메모리의 크기가 작아지면 광학 네비게이션 센서의 크기를 줄일 수가 있게 된다.
두 번째 실시예에서, 줄어든 섀도 메모리(112)의 저장용량때문에, ROM(110) 안의 오리지날 펌 웨어를 대체할 수 있는 수정된 펌 웨어 전체가 섀도 메모리에 프로그래밍될 수는 없다. 따라서, 이 경우 수정된 펌 웨어의 일부만이 더 작은 크기의 섀도 메모리에 프로그래밍된다. 섀도 메모리 안에 있는 수정된 펌 웨어의 일부는 본 상세한 설명에서 때로는 수정된 펌 웨어로 칭하기도 한다. 이러한 펌 웨어의 일부는 ROM 안에 있는 오리지날 펌 웨어의 대응되는 부분들을 섀도하는 데에 사용된다. 따라서, ROM 안에 있는 오리지날 펌 웨어는 본질적으로 오리지날 펌 웨어의 선택된 부분을 섀도 메모리에 프로그래밍되는 대응 수정 부분으로 대체함으로써 수정될 수 있다. 가령, 오리지날 펌 웨어 안에 있는 네비게이션 코드의 어느 한 부분이 버그를 가지고 있는 것으로 발견되면, 네비게이션 코드의 대응하는 디버그된 부분이 좀더 작은 크기의 섀도 메모리에 프로그래밍될 수 있다. 이 경우, 네비게이션 코드의 디버그된 부분이 섀도 메모리로 프로그래밍된 후에는, 원 네비게이션 코드의 대응 부분보다는 섀도 메모리의 디버그된 부분이 사용되어 처음에 ROM에 프로그래밍되었던 네비게이션 코드를 효과적으로 디버그한다. 첫 번째 실시예와 마찬가지로, 크기가 더 작은 섀도 메모리도 제품 식별 정보 및 전유 기능성 코드와 같은 부가 정보나 코드를 프로그래밍하는 데에 사용될 수 있다.
전술한 바와 같이, 첫 번째 실시예에 따른 섀도 메모리(112)가 ROM(110)의 오리지날 펌 웨어를 전체적으로 섀도하는 데에 사용될 수 있는 반면, 두 번째 실시예에 따른 섀도 메모리는 오리지날 펌 웨어를 부분적으로 섀도하는 데에 사용될 수 있다. 그러나, 첫 번째 실시예에 따른 섀도 메모리도 ROM의 오리지날 펌 웨어를 부분적으로 섀도하는 데에 사용될 수 있다.
일반적으로 ROM은 RAM보다 속도가 느리다. 따라서, 종래에 섀도 기술은 속도가 느린 ROM 대신에 속도가 매우 빠른 RAM을 사용함으로써 컴퓨터의 속도를 증가시키기 위하여 사용되어 왔다. 예를 들어, 개인용 컴퓨터(PC)는 컴퓨터가 부팅될 때 ROM에서 RAM으로 BIOS 코드를 복사하도록 구성되어 있다. 따라서, ROM에 있는 BIOS 코드는 RAM에서 복사되는데, 복사된 BIOS 코드는 ROM에 있는 원 BIOS 코드보다 더 빨리 액세스될 수 있다. 이러한 통상적인 기술에서 RAM, 즉 섀도 메모리에 있는 코드는 ROM에 있는 오리지날 코드와 동일하지만, 본 발명에서는 그렇지 않다.
광학 네비게이션 센서(100)의 프로세서(106)는 ROM(110)에 있는 오리지날 펌 웨어 및/또는 섀도 메모리(112)에 있는 수정된 펌 웨어를 이용하여 고체 상태 영상 센서(102)에 의하여 캡쳐된 표면 이미지를 처리하도록 동작한다. 프로세서는 A/D 컨버터(104)에 접속되어 캡쳐된 표면 이미지의 디지탈 영상 신호를 받는다. 아울러, 프로세서는 섀도 메모리 제어 장치(108)를 경유하여 ROM과 섀도 메모리에 접속되어 오리지날 펌 웨어 및/또는 수정된 펌 웨어를 선택적으로 액세스한다. 오리지날 펌 웨어 및/또는 수정된 펌 웨어에 있는 네비게이션 코드를 사용하여, 프로세서는 수학적 계산을 이용하여 디지탈 영상 신호들을 처리함으로써 입/출력 인터페이스(interface)(114)를 통해 추적 정보를 출력한다. 예시적인 실시예로서, 추적 정보는 Δx와 Δy의 상대적 변위값의 스트림으로 생성된다. 프로세서에 의하여 수행되는 수학적인 계산은 예측, 상관 및 삽입을 포함할 수도 있다.
광학 네비게이션 센서(100)의 섀도 메모리 제어 장치(108)는 ROM(110)에 있는 오리지날 펌 웨어와 섀도 메모리(112)에 있는 수정된 펌 웨어 중 어느 하나를 프로세서(106)에 선택적으로 제공하도록 동작한다. 따라서, 프로세서가 펌 웨어에 대한 액세스를 시도할 때, 섀도 메모리 제어 장치는 프로세서와 ROM 및 섀도 메모리 간의 인터페이스 역할을 하여 적절한 데이타를 제공한다. 첫 번째 실시예에서, 섀도 메모리 제어 장치는 ROM에 있는 오리지날 펌 웨어만 제공되는 정상 모드나, 섀도 메모리에 있는 수정된 펌 웨어만 제공되는 섀도 모드로 작동한다. 두 번째 실시예에서, 섀도 메모리 제어 장치는 특정 데이타를 액세스하는 프로세서의 요구 또는 어드레스 신호에 따라, ROM의 오리지날 펌 웨어 또는 섀도 메모리의 수정된 펌 웨어로부터 데이타를 선택적으로 제공한다.
예시적인 실시예로, 도 2에 도시된 바와 같이, 섀도 메모리 제어 장치(108)는 제어 버스(202), 어드레스 버스(204) 및 데이타 버스(206)에 의해 프로세서에 접속되어 있다. 제어 버스(202)는 프로세서로부터 제어 신호를 전송하여 섀도 메모리(112)에 데이타를 기록하는 데에 사용된다. 제어 신호에는 어드레스 신호 기록된 데이타, 기록 선택 신호가 포함될 수도 있다. 어드레스 버스(204)는 프로세서로부터 어드레스 신호를 전송하여 ROM 또는 섀도 메모리로부터 데이타를 판독하는 데에 사용된다. 데이타 버스(206)는 어드레스 신호에 따라, 섀도 메모리 제어 장치를 경유하여 ROM 또는 섀도 메모리로부터 데이타를 받는 데에 사용된다. 섀도 메모리 제어 장치도 마찬가지로 섀도 메모리 제어 버스(208), 섀도 메모리 어드레스 버스(210) 및 섀도 메모리 데이타 버스(212)에 의하여 섀도 메모리에 접속돼 있다. 섀도 메모리 제어 버스(208)는 기록된 데이타와 선택 신호를 섀도 메모리로 전송하는 데에 이용된다. 섀도 메모리 어드레스 버스(210) 및 데이타 버스(212)는 어드레스 신호를 섀도 메모리에 전송하고 새도 메모리로부터 대응 데이타를 받는 데에 이용된다. 새도 메모리 제어 장치도 ROM 어드레스 버스(214) 및 ROM 데이타 버스(216)에 의하여 ROM에 접속되어 있다. ROM 어드레스 및 데이타 버스는 어드레스 신호를 ROM에 전송하고 ROM으로부터 대응 데이타를 받는 데에 이용된다.
도 3에 도시된 바와 같이, 섀도 메모리 제어 장치(108)는 섀도 메모리 제어부(302), 섀도 메모리 인에이블(enable)부(304), 섀도 메모리 기록 어드레스부(306), 선택사양인 ROM 어드레스부(308), 어드레스 비교부(310) 및 다중화기(multiplexer)(312, 314)를 구비한다. 섀도 메모리 제어 장치의 각 구성 요소들(302 내지 306, 312)은 데이타를 섀도 메모리(112)에 기록하는 데에 이용된다. 섀도 메모리 인에이블부(304)는 다중화기(312)를 인에이블시켜 어드레스 신호를 전송함으로써 섀도 메모리에 데이타를 기록할 수 있도록 해준다. 섀도 메모리 기록 어드레스부(306)는 데이타가 기록될 섀도 메모리에서의 위치를 식별하도록 동작한다. 섀도 메모리에서의 위치가 식별되면, 섀도 메모리 기록 어드레스부는 어드레스 버스(204)로부터의 신호 대신, 섀도 메모리 기록 어드레스부(306)로부터의 신호를 보낼 수 있도록 되어 있는 다중화기(312)를 통해 적절한 어드레스 신호를 섀도 메모리에 전송한다. 섀도 메모리 제어부(302)는 프로세서(106)로부터 받은 제어 신호에 응답하여 기록 선택 신호와 섀도 메모리에 기록될 데이타를 섀도 메모리에선택적으로 전송하여 데이타가 섀도 메모리에 기록될 수 있도록 한다.
섀도 메모리 제어 장치(108)의 구성 요소들(308, 310, 314)은 ROM(110) 또는 섀도 메모리(112)로부터의 데이타를 선택적으로 판독하는 데에 이용된다. 선택사양인 ROM 어드레스부(308)는 프로세서(106)로부터 받은 어드레스 신호에 응답하여 ROM 어드레스 신호 또는 불변(constant) 신호를 ROM으로 보내도록 동작한다. 불변 신호는 섀도 메모리로부터의 데이타만 판독되고 있을 때, 예컨데 섀도 모드 동안에 이용된다. ROM은 ROM 어드레스부로부터 받은 불변 신호에 응답하지 않도록 구성될 수 있으며, 따라서 프로세서로부터 받은 모든 어드레스 신호에 대하여 ROM으로부터 원하지 않는 데이타를 판독하지 않음으로써 전력 소비량을 줄일 수가 있다. 어드레스 비교부(310)는 프로세서로부터 받은 초기 어드레스 신호에 따라, 다중화기(314)를 제어하여 섀도 메모리로부터의 데이타나 ROM으로부터의 데이타가 프로세서에 전송될 수 있도록 동작한다.
도 1로 돌아가서, 광학 네비게이션 센서(100)의 입/출력 인터페이스(114)는 수정된 펌 웨어가 센서에 로드되어 섀도 메모리 제어 장치(108)를 통해 수정된 펌 웨어를 섀도 메모리(112)에 프로그래밍하도록 해준다. 또한, 입/출력 인터페이스는 광학 네비게이션 센서가 캡쳐된 표면 이미지를 사용하여 프로세서(106)에 의해 계산된 추적 정보를 출력할 수 있도록 해준다. 입/출력 인터페이스는 수정된 펌 웨어를 받고 전자 데이타로서 추적 정보를 출력하는 포트(port)이다. 가령, 입/출력 인터페이스는 직렬 포트일 수도 있다. 예시적인 실시예로, 광학 네비게이션 센서에 로드된 수정된 펌 웨어는 알려진 암호화 체계에 따라 암호화된다. 암호화된수정된 펌 웨어는 프로세서에 고정 배선될 수 있는 키(key)를 사용하여 프로세서(106)에 의해 해독된다. 그런 다음, 해독된 펌 웨어는 수정된 펌 웨어를 섀도 메모리에 프로그래밍하는 데에 이용된다. 수정된 펌 웨어가 암호화되기 때문에, 수정된 펌 웨어는 인터넷과 같이 널리 사용되는 분배 채널을 통해 안전하게 분배될 수 있다.
수정된 펌 웨어가 입/출력 인터페이스(114)를 통해 섀도 메모리(112)로 프로그래밍된 후에, 수정된 펌 웨어는 수정된 펌 웨어를 삭제하고 새로운 펌 웨어를 프로그래밍함으로써 새로운 펌 웨어로 대체될 수 있다. 따라서, 섀도 메모리에 있는 펌 웨어는 무한히 재프로그래밍될 수 있다.
도 4의 순서도를 참조하여, 광학 네비게이션 센서(100)의 ROM(110)에 있는 오리지날 펌 웨어를 수정시키는 방법을 설명하도록 한다. 단계 402에서는, 수정된 펌 웨어가 광학 네비게이션 센서에 로드된다. 수정된 펌 웨어는 수정된 펌 웨어 전체이거나, 오리지날 펌 웨어의 하나 이상의 수정된 부분들일 수 있다. 예시적인 실시예로, 수정된 펌 웨어는 알려진 암호화 체계를 사용하여 암호화된다. 선택사양인 단계 404에서, 수정된 펌 웨어가 암호화되면 수정 코드는 키를 사용하여 해독된다. 다음으로 단계 406에서, 해독된 수정 펌 웨어는 섀도 메모리 제어 장치(108)를 통해 광학 네비게이션 센서의 섀도 메모리(112)에 프로그래밍된다. 단계 408에서, 표면 이미지들은 상기 광학 네비게이션 센서의 고체 상태 영상 센서(102)에 의해 전자적으로 캡쳐된다. 단계 410에서, 섀도 메모리에 있는 수정된 펌 웨어가 광학 네비게이션 센서가 동작하는 동안 섀도 메모리 제어 장치를 통해 프로세서(106)에 의하여 액세스된다. 단계 412에서, 캡쳐된 영상들은 수정된 펌 웨어를 이용하여 처리되어 광학 네비게이션 센서의 추적 정보를 생성한다.
비록 본 발명의 특별한 실시예가 묘사되고 설명되어졌지만, 본 발명은 묘사되고 설명된 특정 형태나 구성으로 한정되지 않는다. 본 발명의 범위는 여기에 첨부한 특허청구범위 및 그와 균등한 범위로 정의된다.
상기 언급한 바와 같이, 본 발명에 따른 반도체 장치는 섀도 메모리를 이용함으로써 반도체 장치 제조 후에도 오리지날 펌 웨어를 용이하게 갱신 또는 수정할 수 있으며,제품 식별 정보 및 전유 기능성 코드들과 같은 다른 데이타들을 장치에 짜넣을 수 있다.

Claims (22)

  1. 오리지날 코드(Original Code)를 포함하고 있는 재프로그램 불가 메모리(Non-Reprogrammable Memory)와,
    수정 코드(Modified Code)로 프로그래밍될 수 있는 재프로그램 가능 섀도 메모리(Reprogrammable Shadow Memory)와,
    상기 재프로그램 가능 섀도 메모리에 있는 상기 수정 코드 중 적어도 한 개를 포함하고 있는 상기 액세스 코드에 따라 입력 데이타를 처리하는 프로세서와,
    동작상 상기 프로세서를 상기 재프로그램 불가 메모리와 상기 재프로그램 가능 섀도 메모리에 접속시키고, 상기 프로세서의 요구에 응답하여 상기 액세스 코드를 상기 재프로그램 불가 메모리와 상기 재프로그램 가능 섀도 메모리로부터 상기 프로세서에 선택적으로 제공하는 섀도 메모리 제어 장치
    를 포함하는 반도체 장치.
  2. 제 1 항에 있어서,
    상기 프로세서에 의해 처리되어 상기 반도체 장치의 추적 정보를 발생시키는 영상(image)들을 전자적으로 캡쳐(capture)하는 고체 상태 영상 센서(Solid-State Imaging Sensor)를 더 포함하는 반도체 장치.
  3. 제 1 항에 있어서,
    상기 프로세서는 상기 반도체 장치로 로드(load)될 때 암호화된 포맷인 상기 수정 코드가 상기 반도체 장치로 로드되어 상기 재프로그램 가능 섀도 메모리로 프로그래밍될 때, 상기 수정 코드를 해독하도록 구성되어 있는 반도체 장치.
  4. 제 1 항에 있어서,
    상기 재프로그램 가능 섀도 메모리는 상기 재프로그램 불가 메모리의 저장용량보다 실질적으로 크거나 같은 저장용량을 갖는 것을 특징으로 하는 반도체 장치.
  5. 제 4 항에 있어서,
    상기 섀도 메모리 제어 장치는 동작 동안 상기 재프로그램 가능 섀도 메모리로부터 상기 프로세서에 상기 수정 코드만을 제공하도록 구성되어 있는 반도체 장치.
  6. 제 1 항에 있어서,
    상기 재프로그램 가능 섀도 메모리는 상기 재프로그램 불가 메모리보다 저장용량이 작은 것을 특징으로 하는 반도체 장치.
  7. 제 6 항에 있어서,
    상기 섀도 메모리 제어 장치는 동작 중에 상기 재프로그램 가능 섀도 메모리로부터 수정 코드와 상기 재프로그램 불가 메모리로부터 오리지날 코드를 상기 프로세서로 선택적으로 제공하도록 구성되어 있는 반도체 장치.
  8. 제 1 항에 있어서,
    상기 재프로그램 가능 섀도 메모리는 상기 반도체 장치 제조 후에 제품 식별 정보 데이타(Product Identification Information Data) 및 전유 기능성 데이타(Proprietry Funtionality Data)로 구성된 그룹에서 선택되는 부가 데이타로 프로그래밍될 수 있는 반도체 장치.
  9. 제 1 항에 있어서,
    상기 재프로그램 불가 메모리는 롬(ROM)이고, 상기 재프로그램 가능 섀도 메모리는 판독/기록 램(RAM)인 반도체 장치.
  10. 제 1 항에 있어서,
    상기 재프로그램 불가 메모리, 상기 재프로그램 가능 섀도 메모리, 상기 프로세서 및 상기 섀도 메모리 제어 장치는 ASIC(Aapplication Specific Integrated Circuit) 구성 요소인 반도체 장치.
  11. 반도체 장치의 재프로그램 불가 메모리의 오리지날 코드 수정 방법에 있어서,
    상기 반도체 장치 제조 후 상기 오리지날 코드의 수정 코드를 반도체 장치의 재프로그램 가능 섀도 메모리에 프로그래밍하는 단계와,
    상기 재프로그램 가능 섀도 메모리에 있는 상기 수정 코드를 액세스하는 단계와,
    적어도 상기 재프로그램 가능 섀도 메모리에 있는 수정 코드를 이용하여 입력 데이타를 처리하는 단계
    를 포함하는 오리지날 코드 수정 방법.
  12. 제 11 항에 있어서,
    상기 반도체 장치의 고체 상태 영상 센서를 이용하여 영상들을 캡쳐하여 상기 입력 데이타를 생성하는 단계를 더 포함하고,
    상기 입력 데이타 처리 단계는 상기 반도체 장치의 추적 정보를 생성하는 단계를 포함하는
    오리지날 코드 수정 방법.
  13. 제 11 항에 있어서,
    상기 수정 코드의 암호화된 데이타를 상기 반도체 장치에 로드하는 단계와,
    상기 수정 코드를 상기 반도체 장치의 재프로그램 가능 섀도 메모리에 프로그래밍하기 전에 상기 수정 코드의 암호화된 데이타를 해독하는 단계
    를 더 포함하는 오리지날 코드 수정 방법.
  14. 제 11 항에 있어서,
    상기 재프로그램 가능 섀도 메모리의 상기 수정 코드를 액세스하는 단계에는 상기 재프로그램 가능 섀도 메모리의 수정 코드만을 검색하여 상기 입력 데이타를 처리하는 단계를 포함하는 오리지날 코드 수정 방법.
  15. 제 11 항에 있어서,
    상기 재프로그램 가능 섀도 메모리의 수정 코드를 액세스하는 단계에는 상기 재프로그램 가능 섀도 메모리의 상기 수정 코드와 상기 재프로그램 불가 메모리의 상기 오리지날 코드를 선택적으로 검색하여 상기 입력 데이타를 처리하는 단계를 포함하는 오리지날 코드 수정 방법.
  16. 제 11 항에 있어서,
    제품 식별 정보 데이타 및 전유 기능성 데이타로 구성된 그룹에서 선택되는 부가 데이타를 상기 반도체 장치의 상기 재프로그램 가능 섀도 메모리로 프로그래밍하는 단계를 더 포함하는 오리지날 코드 수정 방법.
  17. 제 11 항에 있어서,
    상기 재프로그래밍 불가 메모리와 상기 재프로그래밍 가능 섀도 메모리가 ASIC 구성 요소인 오리지날 코드 수정 방법.
  18. 영상 데이타로서 영상을 캡쳐하는 감광성 센서와,
    오리지날 코드를 포함하고 있는 재프로그램 불가 메모리와,
    수정 코드로 프로그래밍될 수 있는 재프로그램 가능 섀도 메모리와,
    상기 재프로그램 가능 섀도 메모리의 수정 코드 중 적어도 수 개를 포함하는 액세스 코드에 따라 상기 영상 데이타를 처리하는 프로세서와,
    동작상 상기 프로세서를 상기 재프로그램 불가 메모리와 상기 재프로그램 가능 섀도 메모리에 접속시키고, 상기 프로세서의 요구에 응답하여 상기 액세스 코드를 상기 재프로그램 불가 메모리와 상기 재프로그램 가능 섀도 메모리로부터 상기 프로세서에 선택적으로 제공하는 섀도 메모리 제어 장치
    를 포함하는 광학 네비게이션 센서(Optical Navigation Sensor).
  19. 제 18 항에 있어서,
    상기 프로세서는 광학 네비게이션 센서로 로드될 때 암호화된 포맷인 상기 수정 코드가 상기 광학 네비게이션 센서로 로드되어 상기 재프로그램 가능 섀도 메모리로 프로그래밍될 때 상기 수정 코드를 해독하기 위하여 구성되어 있는 광학 네비게이션 센서.
  20. 제 18 항에 있어서,
    상기 섀도 메모리 제어 장치는 동작 동안 상기 재프로그램 가능 섀도 메모리로부터 상기 프로세서에 상기 수정 코드만을 제공하도록 구성되어 있는 광학 네비게이션 센서.
  21. 제 18 항에 있어서,
    섀도 메모리 제어 장치는 동작 중에 상기 재프로그램 가능 섀도 메모리로부터 수정 코드와 상기 재프로그램 불가 메모리로부터 오리지날 코드를 상기 프로세서로 선택적으로 제공하도록 구성되어 있는 광학 네비게이션 센서.
  22. 제 18 항에 있어서,
    상기 감광성 센서, 상기 재프로그램 불가 섀도 메모리, 재프로그램 가능 섀도 메모리, 상기 프로세서 및 상기 섀도 메모리 제어 장치를 ASIC 구성 요소인 광학 네비게이션 센서.
KR1020020064356A 2001-10-22 2002-10-21 반도체 장치 및 오리지날 코드(originalcode) 수정 방법과 광학 네비게이션 센서 KR20030033952A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/053,993 2001-10-22
US10/053,993 US20030079097A1 (en) 2001-10-22 2001-10-22 Optical navigation sensor with shadow memory

Publications (1)

Publication Number Publication Date
KR20030033952A true KR20030033952A (ko) 2003-05-01

Family

ID=21987982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020064356A KR20030033952A (ko) 2001-10-22 2002-10-21 반도체 장치 및 오리지날 코드(originalcode) 수정 방법과 광학 네비게이션 센서

Country Status (4)

Country Link
US (1) US20030079097A1 (ko)
EP (1) EP1304617A2 (ko)
JP (1) JP2003157179A (ko)
KR (1) KR20030033952A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4520952B2 (ja) * 2006-02-14 2010-08-11 セイコーインスツル株式会社 音楽練習支援機器
US20100106904A1 (en) * 2008-10-23 2010-04-29 Dell Products L.P. Shadow raid cache memory
TWI469052B (zh) * 2008-12-12 2015-01-11 Genesys Logic Inc 具有複數修正儲存單元的程式更新系統及其方法
US8516450B2 (en) * 2010-03-19 2013-08-20 Oracle International Corporation Detecting real-time invalid memory references
KR20210046418A (ko) * 2019-10-18 2021-04-28 삼성전자주식회사 보안 패치가 가능한 롬을 갖는 반도체 장치 및 그것의 패치 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7456933B2 (en) * 2004-09-08 2008-11-25 Carl Zeiss Smt Ag Method for improving the imaging properties of a projection objective for a microlithographic projection exposure apparatus

Also Published As

Publication number Publication date
JP2003157179A (ja) 2003-05-30
EP1304617A2 (en) 2003-04-23
US20030079097A1 (en) 2003-04-24

Similar Documents

Publication Publication Date Title
US7424648B2 (en) Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
EP2235662B1 (en) Vision sensors, systems, and methods
US7362355B1 (en) Digital CMOS image sensor incorporating a programmable multi-functional lookup table
KR20040076793A (ko) 카메라장치 및 카메라장치의 기동방법, 프로그램
EP1619589A1 (fr) Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé
KR100196333B1 (ko) 디엠에이 명령의 프리-로딩을 이용한 디엠에이 데이터 전송방법
US20070003148A1 (en) Image processing apparatus and image pickup device
US20120033101A9 (en) Apparatus and methods for controlling image sensors
US7684065B2 (en) Unauthorized copy preventing system, unauthorized copy preventing method, unauthorized copy preventing program and computer-readable information recording medium
KR20030033952A (ko) 반도체 장치 및 오리지날 코드(originalcode) 수정 방법과 광학 네비게이션 센서
JP4640989B2 (ja) 画像処理装置及び画像処理制御方法
JP5508164B2 (ja) 撮像装置及びその制御方法
US20230059937A1 (en) Information processing apparatus and control method thereof
KR100944597B1 (ko) 촬상 장치 및 타이밍 발생기 시스템
US20110001844A1 (en) Blink signal detection circuit, blink signal detection method, object sensing apparatus, object sensing method, and imaging system
JP7310138B2 (ja) 画像処理装置、画像処理装置の故障検知方法、及びプログラム
JP2022072452A (ja) 情報処理装置、及びプログラム
JP4253206B2 (ja) デジタルカメラ
JP3500711B2 (ja) 外観検査装置
CN112840278B (zh) 可编程逻辑控制器、外部仪器、方法及程序
US20230314507A1 (en) Information processing apparatus and information processing method
US11360462B2 (en) Support device and support program
JP7159555B2 (ja) 画像処理装置、画像処理方法及びプログラム
US20050119549A1 (en) Embedded metal-programmable image processing array for digital still camera and camrecorder products
JP5353457B2 (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