KR20070101208A - 메모리 인터페이스, 메모리 장치, 프로그램 및/또는 데이터메모리 액세스 제어 방법 - Google Patents
메모리 인터페이스, 메모리 장치, 프로그램 및/또는 데이터메모리 액세스 제어 방법 Download PDFInfo
- Publication number
- KR20070101208A KR20070101208A KR1020077007615A KR20077007615A KR20070101208A KR 20070101208 A KR20070101208 A KR 20070101208A KR 1020077007615 A KR1020077007615 A KR 1020077007615A KR 20077007615 A KR20077007615 A KR 20077007615A KR 20070101208 A KR20070101208 A KR 20070101208A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- offset
- urom
- srom
- erom
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
다수의 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)으로 분할된 프로그램 및/또는 데이터 메모리(MEM)로의 액세스를 제어하는 메모리 인터페이스(1)가 개시된다. 메모리 인터페이스(1)는 휘발성 오프셋 메모리(3)에 저장되고 주어진 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)에 할당된 오프셋 값(OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2)을 갖는 논리적 메모리 어드레스(iadr[0-i]) 상에서 논리적 연산을 수행함으로써 상기 논리적 메모리 어드레스(iadr[0-i])를 물리적 메모리 어드레스(phys_adr[0-j])로 변환하는 어드레스 계산 수단(2)을 포함한다. 이에 따라, 적어도 하나의 오프셋 값(OFFSET_BOOT)이 프로그램 및/또는 데이터 메모리(MEM) 내의 사전설정된 어드레스로부터 판독된다.
Description
본 발명은 다수의 메모리 영역으로 분할된 프로그램 및/또는 데이터 메모리로의 액세스를 제어하되, 주어진 메모리 영역에 할당된 오프셋 값을 갖는 논리적 메모리 어드레스 상에서 논리적 연산을 수행하여 논리적 메모리 어드레스를 물리적 메모리 어드레스로 변환하는 어드레스 계산 수단을 포함하는 메모리 인터페이스에 관한 것이다.
본 발명은 또한 본 발명에 다른 메모리 인터페이스를 구비한 메모리 장치에 관한 것이다.
마지막으로, 본 발명은 또한 다수의 메모리 영역으로 분할된 프로그램 및/또는 데이터 메모리로의 액세스를 제어하는 방법에 관한 것으로, 이 방법에 있어서 메모리 인터페이스는 주어진 메모리 영역에 할당된 오프셋 값을 갖는 논리적 메모리 어드레스 상에서 논리적 연산을 수행함으로써 논리적 메모리 어드레스를 물리적 메모리 어드레스로 변환한다.
논리적 및 물리적으로 모두 상이한 영역을 갖는 데이터 메모리 및 프로그램은 종래기술에 잘 알려져 있다. 이 방식에서는, 도 1의 좌측에 도시한 바와 같이, 예컨대 본 명세서에서 개발된 마이크로제어기 기반 집적 회로(IC) 내의 프로그램 메모리 MEM의 논리적 분할이 존재한다. 프로그램 메모리 MEM의 상기 논리적 분할은 크기 면에서 각각 256 바이트인 메모리 블록을 갖는 시스템 영역 SROM 0, ..., SROM 5.5와, 2개의 사용자 영역, 즉 크기 면에서 각각 256 바이트인 메모리 블록을 갖는 제 1 사용자 영역 EROM 0 , ..., EROM 7.5 및 크기 면에서 각각 256 바이트인 메모리 블록을 갖는 제 2 사용자 영역 UROM 0 , ..., UROM 3.5를 포함한다. 선택사안으로, 테스트 영역(도시하지 않음)도 존재할 수 있다. 시스템 내의 개별적인 메모리 위치와 사용자 영역은 논리적 어드레스 iadr[0-12]에 의해 액세스되는데, 비트 iadr[0] 내지 iadr[7]은 주어진 메모리 블록 내에서 개별적인 메모리 위치를 어드레싱하는 데 사용되고, 비트 iadr[8] 내지 iadr[12]는 메모리 블록을 선택하는 데 사용된다. 또한, 논리적 시스템 메모리 영역 SROM 0, ..., SROM 5.5와 논리적 사용자 메모리 영역 EROM 0, ..., EROM 7.5 및 UROM 0, ..., UROM 3.5 사이를 식별하기 위해 제공되는 제어 신호 en_sysrom이 있다. 제어 신호 en_sysrom이 1인 경우에는 시스템 메모리 영역 SROM 0, ..., SROM 5.5가 액세스되며, 제어 신호 en_sysrom이 0인 경우에는 사용자 메모리 영역 EROM 0, ..., EROM 7.5 및 UROM 0, ..., UROM 3.5가 액세스된다. 도시한 실시예에서, 제어 신호 en_sysrom의 원리적인 기능은 제 14 어드레스 비트와 동일하다. 알 수 있는 바와 같이, 어드레스 공간에서 논리적 어드레싱에 의해서 액세스될 수 있는 부분만이 사용된다. 시스템 메모리 영역 SROM 0, ..., SROM 5.5와 논리적 사용자 메모리 영역 EROM 0, ..., EROM 7.5 및 UROM 0, ..., UROM 3.5에서 사용되지 않는 메모리 블록은 도 1에 X로 표시된다. 또한, 논리적 메모리 영역 SROM 0, ..., SROM 5.5, EROM 0, ..., EROM 7.5, UROM 0, ..., UROM 3.5는, 2개의 메모리 모듈 MEM1 및 MEM2를 개략적인 형태로 도시하고 있는 도 1의 우측에 예시한 바와 같이, 상이한 물리적 메모리 중에서 분할될 수 있다. 논리적 시스템 메모리 영역 SROM 0, ..., SROM 5.5 및 제 2 사용자 영역 UROM 0, ..., UROM 3.5는 메모리 모듈 MEM1에 통합되고, 반면에 제 1 사용자 메모리 영역 EROM 0, ..., EROM 7.5만이 메모리 모듈 MEM2에 위치한다. 제 1 메모리 모듈 MEM1은 시스템 메모리 영역 SROM 0, ..., SROM 5.5 및 제 2 사용자 영역 UROM 0, ..., UROM 3.5에 의해 완전히 점유되고, 제 1 메모리 모듈 MEM2는 제 1 사용자 메모리 영역 EROM 0, ..., EROM 7.5에 의해 완전히 점유되며, 사용되지 않는 물리적 메모리 영역은 존재하지 않음을 알 수 있다. 개별적인 메모리 모듈 MEM1 및 MEM2는 상이한 유형의 메모리로부터 선택될 수 있는데, 메모리 모듈 MEM1은 1회 기록가능 ROM의 형태를 취할 수 있고, 메모리 모듈 MEM2는 재기록가능 EEROM 또는 플래시 메모리의 형태를 취할 수 있다.
시스템 메모리 영역 SROM 0, ..., SROM 5.5와 논리적 사용자 메모리 영역 EROM 0, ..., EROM 7.5 및 UROM 0, ..., UROM 3.5의 논리적 어드레싱 때문에, 논리적 어드레스 iadr[0-12]를 개별적인 메모리 모듈 MEM1 및 MEM2의 정확한 물리적 어드레스에 맵핑하기 위한 메모리 인터페이스가 필요하다. 도 1에 도시한 실시예에 서, 논리적 시스템 메모리 영역 SROM 0, ..., SROM 5.5 및 제 1 사용자 메모리 영역 EROM 0, ..., EROM 7.5의 논리적 시스템 어드레스와 물리적 어드레스 사이의 관계는 직선적이다. 그러나 제 2 사용자 메모리 영역 UROM 0, ..., UROM 3.5의 경우에는, 논리적 시스템 어드레스 iadr[0-12]에서 오프셋을 감산하여 물리적 어드레스를 결정하는 계산 유닛이 필요하다. 또한, 논리적 시스템 어드레스 iadr[0-12]는 정확한 물리적 메모리 모듈 MEM1에 할당되어야 한다.
최근에는, 상이한 메모리 구조를 갖는 각각의 제품에 대해 별도의 메모리 인터페이스가 설계되어야 한다는 단점도 발견되었다. 이에 따라, 회로 설계는 메모리의 크기 및/또는 유형의 임의의 변화 시에 개조되어야 한다. 메모리 영역의 후속 할당 변화는 가능하지 않다. ROM 마스크 제품에서는 메모리의 물리적 크기가 아닌 프로그램만이 변화될 수 있다. 마찬가지로, 메모리 영역의 크기를 밸런싱할 가능성도 거의 없다. 따라서 일부의 다른 영역에서 필요한 하나의 메모리 영역에 사용되지 않고 남겨지는 메모리가 존재할 수 있다.
본 발명의 목적은 첫 번째 단락에서 설명한 종류의 메모리 인터페이스, 두 번째 단락에서 설명한 종류의 메모리 장치, 및 세 번째 단락에서 설명한 종류의 메모리 액세스 제어 방법을 제공하되, 전술한 단점을 회피시키는 데 있다.
전술한 목적을 달성하기 위해, 첫 번째 단락에서 설명한 종류의 메모리 인터페이스는 오프셋 값을 휘발성 오프셋 메모리에 기록하는 오프셋 제어 수단을 더 포함하되, 이 오프셋 제어 수단은 프로그램 및/또는 데이터 메모리 내의 사전설정된 어드레스로부터 적어도 하나의 오프셋 값을 판독하도록 구성된다.
전술한 목적을 달성하기 위해, 본 발명에 따른 메모리 인터페이스와, 다수의 메모리 영역으로 분할되고 오프셋 값이 저장되는 사전 설정된 메모리 위치를 갖는 프로그램 및/또는 데이터 메모리를 포함하는 메모리 장치도 설명된다.
마지막으로, 도입부에서 설명한 종류의 방법으로서, 어드레스 변환 이전에 프로그램 및/또는 데이터 메모리 내의 사전 설정된 어드레스로부터 적어도 하나의 오프셋 값이 판독되어 휘발성 오프셋 메모리에 저장되는 방법이 설명된다.
본 발명에 따른 특징에 의해서 달성되는 것은, 상이한 메모리 구조가 새로운 제품을 위해 요구되는 경우에 메모리 인터페이스 자체는 더 이상 변화될 필요가 없게 된다는 것이다. 단지, 메모리 구성이 재프로그램되어야 한다. 이것은 새로운 제품이 생성될 때의 설계 공정을 가속화시킨다. 따라서 ROM 변형의 경우, 단지 메모리를 대체하고 구조를 재프로그램하는 것만이 필요하게 되는데, 이는 새로운 오프셋 값을 기록하여 프로그램 및/또는 데이터 메모리 내의 메모리 위치를 비휘발성 방식으로 사전 설정함으로써 이루어진다. 더 이상의 설계 변화 단계는 필요치 않다. 메모리 영역의 할당은 ROM 마스크를 변화시킴으로써 간단히 변화될 수 있다. 따라서 ROM 마스크 제품의 경우, 심지어 새로운 ROM 코드에 의해 추가 비용 없이 메모리 영역을 간단히 재구성할 수 있다. 이것은 ROM이 단지 사용되는 메모리의 경우에 특히 유리한데, 이는 메모리 구성을 저장하는 데 더 이상의 메모리가 필요하지 않기 때문이다. 또한, 오프셋 제어 수단에 의해 오프셋 값을 휘발성 오프셋 메모리에 기록하는 시퀀스의 하드웨어 기반 속성은 사용자에 의한 비인증 메모리 액세스가 회피된다는 이점을 제공하지만, 예컨대 새로운 시스템 프로그램이 구현되어 더 많은 메모리 공간 또는 상이한 메모리 분할을 요구하는 경우에는 여전히 메모리 세그먼트를 변화시킬 수 있다.
그것은 오프셋 제어 수단이 프로그램 및/또는 데이터 메모리 내의 사전 설정된 어드레스로부터 오프셋 값을 판독하여 메모리 인터페이스의 초기화 시에 휘발성 오프셋 메모리에 기록하도록 구성되는 경우에 유리한데, 메모리 인터페이스는 이후에만 프로그램 및/또는 데이터 메모리로의 액세스를 인증하도록 구성된다. 메모리 인터페이스는 프로그램에 의한 사용을 위해 인에이블되거나, 정확한 오프셋 값이 오프셋 메모리에 기록된 후에만 프로그램 코드를 구동하도록 인에이블되는 것이 유리하다. 따라서 금지된 메모리 액세스가 배제될 수 있다.
그것은 또한 어드레스 계산 수단이 메모리 영역을 선택하는 적어도 하나의 제어 신호를 수신하여 논리적 메모리 어드레스가 물리적 메모리 어드레스로 변환될 때에만 그 제어 신호를 고려하도록 구성되는 것이 유리하다. 이것은 논리적 메모리 영역이 매우 유연한 방식으로 구성될 수 있고, 선택적으로 액세스될 수 있다는 이점을 제공한다. 예를 들어, 별도의 제어 라인은 각각의 논리적 메모리 영역(시스템 영역, 사용자 영역)에 할당될 수 있고, 논리적 메모리 영역은 그러한 제어 라인 중 하나에 선택적으로 신호를 인가함으로써 선택될 수 있는 데 반해, 그와 동시에 다른 논리적 메모리 영역으로의 액세스는 차단된다.
오프셋 제어 수단이 메모리 인터페이스의 구동 시에 오프셋 값을 휘발성 오프셋 메모리에 기록하도록 구성되는 것도 유리한데, 이는 그 방식으로 메모리 인터페이스가 구동 시간에 재구성될 수 있기 때문이다.
마지막으로, 그것은 오프셋 제어 수단이 오프셋 제어 입력 및 오프셋 구성 입력을 포함하고, 오프셋 구성 입력 중 하나로부터 오프셋 값을 판독하여 오프셋 제어 입력에서의 신호 함수로서 휘발성 오프셋 메모리에 기록하도록 구성되는 것이 유리하다. 이 방식으로, 메모리 인터페이스는 구동 시간에 사전 설정된 방식으로 재구성가능하다. 이를 위해, 프로그램에 의해 동작될 수 있는 오프셋 제어 입력은 오프셋 제어 수단이 오프셋 구성 입력을 통해 오프셋 값을 판독하게 하는데, 오프셋 구성 입력은 오프셋 값이 저장되어 있는 비휘발성 메모리에 액세스함으로써 오프셋 값을 공급한다. 비휘발성 메모리는 배선 회로, 마스크-프로그램가능 위치 등을 포함할 수 있다.
본 발명의 이러한 양상 및 그 밖의 양상은 이후에 설명하는 실시예로부터 자명해지며, 그러한 실시예를 참조하여 명확히 설명될 것이지만, 본 발명이 그 실시예로 제한되는 것은 아니다.
도 1은 2개의 물리적 메모리 모듈 사이에서 분할된 3개의 논리적 메모리 영역을 갖는 메모리 장치의 예시도,
도 2는 본 발명에 따른 메모리 장치 및 메모리 인터페이스의 개략적인 회로 블록도이다.
도 2는 본 발명에 따른 메모리 장치 및 메모리 인터페이스(1)에 대한 실시예의 회로 블록도로서, 이 메모리 장치 및 메모리 인터페이스(1)에 의해서 도 1에 도시하고 전술한 메모리의 논리적 및 물리적 분할이 구현된다. 메모리 장치는 도 1에 도시한 2개의 메모리 모듈 MEM1 및 MEM2를 포함하는 프로그램 및/또는 데이터 메모리 MEM을 포함하며, 메모리 모듈 MEM1은 예컨대 1회 기록가능 ROM의 형태를 취하고, 메모리 모듈 MEM2는 예컨대 재기록가능 EEPROM 또는 플래시 메모리의 형태를 취한다. 메모리 모듈 MEM1 및 MEM2 내의 개별적인 저장 위치는 물리적 어드레스 버스(9)를 통해서 액세스될 수 있다. 그들의 데이터("데이터"라고 도시함)는 데이터 버스(11)를 통해서 판독될 수 있으며, 재기록 메모리 모듈 MEM2의 경우에도 상기 데이터 버스(11)를 통해서 판독될 수 있다. 본 발명의 목적을 위해, 메모리 MEM의 논리적 또는 물리적 분할이 블록들로 조직되는지의 여부 또는 어드레싱이 선형인지의 여부는 중요하지 않다. 메모리 블록의 크기도 마찬가지로 블록으로 조직된 메모리 MEM의 경우에 중요하지 않다. 도 1의 설명에서 전술한 바와 같이, 프로그램 및/또는 데이터 메모리 MEM은 논리적 시스템 메모리 영역 SROM 0, ..., SROM 5.5와, 두 가지 논리적 사용자 메모리 영역 UROM 0, ..., UROM 3.5 및 EROM 0, ..., EROM 7.5를 포함하는데, 이들은 2개의 물리적 메모리 모듈 MEM1 및 MEM2에 각각 분리된다. 본 발명에 따른 메모리 인터페이스(1)는 논리적 메모리 어드레스 iadr[0-i]를 물리적 메모리 어드레스 phys_adr[0-j]로 정확하게 변환하는 데 도움이 된다.
메모리 인터페이스(1)는 하드웨어 형태의 어드레스 계산 수단(2)을 포함한다. 어드레스 계산 수단(2)은 논리적 어드레스 버스(10)를 구비하는데, 상기 논리적 어드레스 버스(10)는 도시한 실시예에서 도 1에 도시한 메모리 구성에 따라 13개의 어드레스 라인을 구비하고 있다. 어드레스 계산 수단(2)은 또한 제어 라인(12)용 입력을 구비하며, 이에 따라 논리적 시스템 메모리 영역 SROM 0, ..., SROM 5.5 또는 논리적 사용자 메모리 영역 UROM 0, ..., UROM 3.5 및 EROM 0, ..., EROM 7.5를 선택하는 데 사용되는 제어 신호 en_sysrom용 입력을 구비한다. 도시한 실시예에서, 제어 라인(12)의 기능은 추가 어드레스 라인의 기능과 동일한데, 이는 제어 신호 en_sysrom이 논리적 레벨 1인 경우에 시스템 메모리 영역 SROM 0, ..., SROM 5.5가 액세스되고, 제어 신호 en_sysrom이 논리적 레벨 0인 경우에 사용자 메모리 영역 UROM 0, ..., UROM 3.5 및 EROM 0, ..., EROM 7.5가 액세스되기 때문이다. 개별적인 메모리 위치는 논리적 메모리 어드레스 iadr[0-i]를 통해서 어드레싱된다.
그러나, 본 발명에 따르면, 다수의 제어 라인(도면에는 도시하지 않음)이 존재할 수 있음에 유의해야 한다. 이 경우, 이러한 제어 라인 각각이 한 가지 논리적 메모리 영역 SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5와 통신하는 데 사용될 수 있거나, 또는 이들 제어 라인 상의 신호 조합이 논리적 메모리 영역 SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5의 조합과 통신하는 데 사용된다.
논리적 어드레스 버스(10) 및 제어 라인(12)을 통해서, 시스템 메모리 위치 및 사용자 메모리 위치의 논리적 메모리 어드레스 iadr[0-i]가 어드레스 계산 수단(2)으로 공급된다. 또한, 선택 정보는 어드레싱되어야 하는 것이 시스템 메모리 영역 SROM 0, ..., SROM 5.5인지, 또는 사용자 메모리 영역 UROM 0, ..., UROM 3.5 또는 EROM 0, ..., EROM 7.5 중 하나인지에 따라서 어드레스 계산 수단(2)에 전달된다. 이러한 논리적 메모리 어드레스 iadr[0-i] 및 선택 정보는 어드레스 계산 수단(2)에서 물리적 메모리 모듈 MEM1 및 MEM2의 물리적 메모리 어드레스 phys_adr[0-j]로 변환된다. 또한, 어드레스 계산 수단(2)은 선택적으로 액세스될 수 있는 개별적인 메모리 모듈 MEM1 및 MEM2에 의해 칩 선택 신호 CS1 및 CS2를 생성한다.
어드레스 계산 수단(2)은 논리적 어드레스 버스(10)를 통해서 수신된 논리적 메모리 어드레스 isdr[0-i]를 메모리 모듈 MEM1 및 MEM2 내의 메모리 위치에 할당된 물리적 메모리 어드레스 phys_adr[0-j]로 변환한다. 그렇게 할 때, 어드레스 계산 수단은 사전 설정된 오프셋 값 OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2를 갖는 논리적 메모리 어드레스 iadr[0-i] 상에서 논리적 연산을 수행한다. 바람직한 단순한 실시예에서, 논리적 연산은 논리적 메모리 어드레스 iadr[0-i]에서 오프셋 OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2의 가산 또는 감산을 포함한다. 그러나, 본 발명은 이러한 형태의 논리적 연산으로 제한되는 것은 아니다. 간단히 예를 들어, 다른 형태의 논리적 연산, 즉 물리적 어드레스 phys_adr[0-j]로의 변환 시에 논리적 메모리 어드레스 iadr[0-i]에의 다수의 오프셋 OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2의 가산 및 상기 논리적 메모리 어드레스 iadr[0-i]에의 오프셋 합계의 가산 또는 감산, 또는 추가 메모리 어드레스 변위의 고려, 또는 메모리 블록 크기의 추가 배수화 등이 언급될 것이다.
어드레스 계산 수단(2)의 어드레스 출력은 결정된 물리적 메모리 어드레스 phys_adr[0-j]가 기록되는 물리적 어드레스 버스(9)를 통해서 접속된다. 하나의 물리적 어드레스 버스(9) 및 다수의 칩 선택 신호 CS1, CS2 대신, 다수의 어드레스 버스(9) 또는 이들 가능성의 조합이 존재할 수 있다.
종래기술에서는 논리적 연산에 사용되는 오프셋 값이 고정되거나 메모리 인터페이스(1)의 비휘발성 메모리에 저장되는 반면, 본 발명에 따른 메모리 인터페이스(1)는 예컨대, 플립-플롭 또는 래치의 형태를 취할 수 있고, 오프셋 값 OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2가 기록되어 이후에 메모리 어드레스 iadr[0-i]를 이용한 논리적 연산을 위한 어드레스 계산 수단(2)에 의해 오프셋 메모리로부터 판독될 수 있는 휘발성 오프셋 메모리(3)를 포함할 수 있다. 오프셋 메모리(3)로의 오프셋 값 OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2의 기록은 이 경우에 하드웨어 형태로 메모리 인터페이스(1) 내에 구현되는 오프셋 제어 수단(4)에 의해 수행된다.
본 발명에 따르면, 메모리 인터페이스(1)의 초기화 동안, 오프셋 제어 수단(4)은 프로그램 및/또는 데이터 메모리 MEM 내의 사전설정된 저장 위치(화살표(5)로 표시한 바와 같이 본 일례에서는 메모리 모듈 MEM1)로부터 오프셋 값 OFFSET_BOOT을 판독하고, 이 오프셋 값 OFFSET_BOOT를 휘발성 오프셋 메모리(3)에 기록하여, 메모리 인터페이스(1)가 정확한 오프셋 값 OFFSET_BOOT으로 부팅되게 한 다. 오프셋 값 OFFSET_BOOT이 다수의 메모리 영역으로 분할된 메모리 모듈 MEM1에 기록되게 하는 것이 유용하며, 바람직하게는 상기 메모리 모듈 MEM1에 대한 특정 오프셋 구성이 상기 메모리 모듈 MEM1에 저장되는 것에 유의해야 한다. 또한, 어드레스 계산 수단(2)은 휘발성 오프셋 메모리(3)로의 오프셋 값 OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2의 기록이 완료되어, 인에이블링 신호 en_ad에 의해 상징적으로 나타낸 바와 같이 프로그램 및/또는 데이터 메모리 MEM으로의 액세스가 허여될 때까지 오프셋 제어 수단(4)에 의해 디스에이블링된다. 하드웨어 수단(2)에 의해 수행되는 메모리 인터페이스91)의 초기화에 의해, 프로그램 및/또는 데이터 메모리 MEM의 정확한 분할은 상기 메모리로부터의 임의의 코드가 실행될 수 있기 전에 설정된다. 사용자에 의한 비인증 메모리 액세스는 이 방식에 의해 효과적으로 방지된다.
본 발명에 따른 이러한 설비로 인해, 메모리 인터페이스(1) 자체는 수정된 프로그램 및/또는 데이터 메모리 구성이 사용될 경우에 더 이상 수정될 필요가 없다. 그 대신, 다만, 그 구성은 수정된 오프셋 값 OFFSET_BOOT이 사용될 새로운 프로그램 및/또는 데이터 메모리 MEM에 기록됨으로써 용이한 방식으로 재프로그램되어야 한다. 물론, 이것은 새로운 제품이 생성될 때의 설계 공정을 가속화시킨다. 이 방식으로, 메모리 영역의 할당은 ROM 마스크의 변화에 의해 간단히 변화될 수 있다. 따라서, ROM 마스크 제품의 경우, 메모리 영역 SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5의 설비는 추가 비용을 들이지 않고서 각각의 새로운 ROM 코드를 이용하여 재구성될 수 있다.
본 발명에 따른 메모리 인터페이스(1)의 매우 유연한 다른 실시예에서, 오프셋 제어 수단(4)은 메모리 인터페이스91)의 구동 시간에 오프셋 값 OFFSET_RT1, OFFSET_RT2를 휘발성 오프셋 메모리(3)에 기록하여, 메모리 분할이 소프트웨어에 의해 변화될 수 있게 구성된다. 이를 위해, 오프셋 제어 수단(4)은 오프셋 제어 입력(6) 및 2개의 오프셋 구성 입력(7, 8)을 구비한다. 오프셋 제어 입력(6)에서 소프트웨어로 제어되는 신호의 함수로서, 오프셋 제어 수단(4)은 (오프셋 구성 입력(7)을 통해) OFFSET_RT1을 판독하거나 (오프셋 구성 입력(8)을 통해) OFFSET_RT2를 판독하며, 이러한 오프셋 값을 휘발성 오프셋 메모리(3)에 기록한다. 이 방식으로, 메모리 구성은 구동 시간에 변화될 수 있다. 오프셋 구성 입력(7, 8)은 오프셋 값 OFFSET_RT1, OFFSET_RT2가 저장된 비휘발성 메모리(도시하지 않음)에 의해 오프셋 값 OFFSET_RT1, OFFSET_RT2를 얻으며, 비휘발성 메모리는 배선 회로, 마스크-프로그램가능 위치 등을 포함한다.
전술한 실시예는 본 발명을 제한하는 것이 아니라 예시하는 것이며, 당업자라면 첨부한 청구범위에 의해 정의된 바와 같은 본 발명의 범주로부터 벗어나지 않고서 많은 다른 실시예를 설계할 수 있을 것이라는 점에 유의한다. 청구범위에서, 괄호 안의 임의의 참조 부호는 청구범위를 제한하는 것으로 이해되어서는 안 된다. "포함하는" 및 "포함한다" 등의 용어는 임의의 청구항 또는 명세서 전체에 나열된 구성요소 또는 단계 이외의 다른 구성요소 또는 단계를 배제하는 것이 아니다. 구성요소의 단수 표시는 그러한 구성요소의 복수 표시를 배제하는 것이 아니며, 그 반대도 마찬가지이다. 여러 가지 수단을 나열한 장치 청구항에서, 그러한 수단 몇 몇은 하드웨어 또는 소프트웨어의 동일한 아이템에 의해 구현될 수 있다. 소정 측정치가 서로 다른 종속항에 인용된다는 단순한 사실은 그러한 측정치의 조합이 이득을 얻는 데 사용될 수 있다는 것을 나타내는 것은 아니다.
Claims (10)
- 다수의 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)으로 분할된 프로그램 및/또는 데이터 메모리(MEM)로의 액세스를 제어하는 메모리 인터페이스(1)로서,휘발성 오프셋 메모리(3)에 저장되고 주어진 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)에 할당된 오프셋 값(OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2)을 갖는 논리적 메모리 어드레스(iadr[0-i]) 상에서 논리적 연산을 수행함으로써 상기 논리적 메모리 어드레스(iadr[0-i])를 물리적 메모리 어드레스(phys_adr[0-j])로 변환하는 어드레스 계산 수단(2)과,상기 오프셋 값(OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2)을 상기 휘발성 오프셋 메모리(3)에 기록하며, 상기 프로그램 및/또는 데이터 메모리(MEM) 내의 사전설정된 어드레스로부터 적어도 하나의 오프셋 값(OFFSET_BOOT)을 판독하는 오프셋 제어 수단(4)을 포함하는메모리 인터페이스.
- 제 1 항에 있어서,상기 오프셋 제어 수단은 상기 프로그램 및/또는 데이터 메모리(MEM) 내의 사전설정된 어드레스로부터 오프셋 값(OFFSET_BOOT)을 판독하여, 상기 메모리 인터 페이스(1)의 초기화 시에 상기 휘발성 오프셋 메모리(3)에 기록하며,상기 메모리 인터페이스(1)는 그 후에만 상기 프로그램 및/또는 데이터 메모리(MEM)로의 액세스를 허여하는메모리 인터페이스.
- 제 1 항에 있어서,상기 어드레스 계산 수단(2)은 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)을 선택하는 적어도 하나의 제어 신호(en_sysrom)를 수신하고, 상기 논리적 메모리 어드레스(iadr[0-i])를 물리적 메모리 어드레스(phys_adr[0-j])로 변환할 때 상기 제어 신호를 고려하는메모리 인터페이스.
- 제 1 항에 있어서,상기 오프셋 제어 수단(4)은 상기 메모리 인터페이스(1)의 구동 시간에 오프셋 값(OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2)을 상기 휘발성 오프셋 메모리(3)에 기록하는메모리 인터페이스.
- 제 4 항에 있어서,상기 오프셋 제어 수단(4)은 오프셋 제어 입력(6) 및 오프셋 구성 입력(7, 8)을 포함하며, 상기 오프셋 구성 입력(7, 8) 중 하나로부터 오프셋 값(OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2)을 판독하여 상기 오프셋 제어 입력(6)에서 신호 함수로서 상기 휘발성 오프셋 메모리(3)에 기록하는메모리 인터페이스.
- 제 1 항 내지 제 5 항 중 어느 한 항의 메모리 인터페이스(1)와, 다수의 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)으로 분할되고 오프셋 값(OFFSET_BOOT)이 저장된 사전설정된 메모리 위치를 가지는 프로그램 및/또는 데이터 메모리(MEM)를 포함하는메모리 장치.
- 다수의 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)으로 분할된 프로그램 및/또는 데이터 메모리(MEM)로의 액세스를 제어하는 방법으로서,메모리인터페이스(1)는,상기 프로그램 및/또는 데이터 메모리(MEM) 내의 사전설정된 어드레스로부터 적어도 하나의 오프셋 값(OFFSET_BOOT)을 판독하는 단계와,상기 적어도 하나의 오프셋 값(OFFSET_BOOT)을 휘발성 오프셋 메모리(3)에 저장하는 단계와,주어진 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)에 할당되고 상기 휘발성 메모리(3)에 저장된 오프셋 값(OFFSET_BOOT, OFFSET_RT1, OFFSET_RT2)을 갖는 논리적 메모리 어드레스(iadr[0-i]) 상에서의 논리적 연산의 수행에 의해 상기 논리적 메모리 어드레스(iadr[0-i])를 물리적 메모리 어드레스(phys_adr[0-j])로 변환하는 단계를 수행하는프로그램 및/또는 데이터 메모리 액세스 제어 방법.
- 제 7 항에 있어서,상기 오프셋 값(OFFSET_BOOT)의 판독 및 저장 단계는 상기 메모리 인터페이스(1)의 초기화 시에 발생하며, 상기 프로그래 및/또는 데이터 메모리(MEM)로의 액세스는 그 후에만 허여되는프로그램 및/또는 데이터 메모리 액세스 제어 방법.
- 제 7 항에 있어서,상기 메모리 영역(SROM 0, ..., SROM 5.5, UROM 0, ..., UROM 3.5, EROM 0, ..., EROM 7.5)을 선택하는 적어도 하나의 제어 신호(en_sysrom)는 상기 논리적 메모리 어드레스(iadr[0-i])를 물리적 메모리 어드레스(phys_adr[0-j])로 변환할 때 평가 및 고려되는프로그램 및/또는 데이터 메모리 액세스 제어 방법.
- 제 7 항에 있어서,오프셋 값(OFFSET_RT1, OFFSET_RT2)은 상기 메모리 인터페이스(1)이 구동 시간에 상기 휘발성 오프셋 메모리(3)에 기록되는프로그램 및/또는 데이터 메모리 액세스 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04104247 | 2004-09-03 | ||
EP04104247.4 | 2004-09-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070101208A true KR20070101208A (ko) | 2007-10-16 |
Family
ID=35169763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077007615A KR20070101208A (ko) | 2004-09-03 | 2005-08-25 | 메모리 인터페이스, 메모리 장치, 프로그램 및/또는 데이터메모리 액세스 제어 방법 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1789870A1 (ko) |
JP (1) | JP2008511896A (ko) |
KR (1) | KR20070101208A (ko) |
CN (1) | CN100520711C (ko) |
WO (1) | WO2006024999A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461134C (zh) * | 2007-03-27 | 2009-02-11 | 华为技术有限公司 | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6467035B2 (en) | 1997-09-08 | 2002-10-15 | Agere Systems Guardian Corp. | System and method for performing table look-ups using a multiple data fetch architecture |
US6363469B1 (en) | 1998-07-13 | 2002-03-26 | Matsushita Electric Industrial Co., Ltd. | Address generation apparatus |
-
2005
- 2005-08-25 KR KR1020077007615A patent/KR20070101208A/ko not_active Application Discontinuation
- 2005-08-25 JP JP2007529400A patent/JP2008511896A/ja not_active Withdrawn
- 2005-08-25 WO PCT/IB2005/052790 patent/WO2006024999A1/en active Application Filing
- 2005-08-25 CN CNB2005800374988A patent/CN100520711C/zh not_active Expired - Fee Related
- 2005-08-25 EP EP05781155A patent/EP1789870A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2008511896A (ja) | 2008-04-17 |
CN100520711C (zh) | 2009-07-29 |
EP1789870A1 (en) | 2007-05-30 |
CN101057216A (zh) | 2007-10-17 |
WO2006024999A1 (en) | 2006-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3703507B2 (ja) | 不揮発性メモリ | |
KR100531192B1 (ko) | 비휘발성 메모리의 제어방법 | |
US5966727A (en) | Combination flash memory and dram memory board interleave-bypass memory access method, and memory access device incorporating both the same | |
KR100274099B1 (ko) | 점진적으로 프로그램가능한 비휘발성 메모리 및 이를 구비한 집적 회로와 비휘발성 메모리 프로그래밍 방법 | |
KR960701414A (ko) | 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드 | |
CN1216141A (zh) | 能同时读程序写数据的程序和数据组合不挥发性存储器 | |
KR19990063999A (ko) | 컴퓨터 시스템의 플래시 eeprom 주메모리 | |
KR20070117606A (ko) | 데이터용과 에러 정정 코드용으로 전환가능한 부분을 갖는메모리 | |
JP2009506414A (ja) | メモリ・バンクに分割されたメモリ空間を構成するための方法 | |
JPH05233464A (ja) | Eepromのデータ書換方法およびeepromカード | |
US6493260B2 (en) | Nonvolatile memory device, having parts with different access time, reliability, and capacity | |
US4992976A (en) | Method of allocating board slot numbers with altering software | |
JP2001084780A (ja) | 不揮発性半導体記憶装置 | |
KR100286915B1 (ko) | 플래시 이이피롬을 내부에 포함한 마이크로컴퓨터 | |
JP2008152549A (ja) | メモリ装置、およびメモリ装置のパスワード記憶方法 | |
US6078984A (en) | Method of operating a control system which includes a nonvolatile memory unit having memory banks and a volatile memory unit | |
KR20070101208A (ko) | 메모리 인터페이스, 메모리 장치, 프로그램 및/또는 데이터메모리 액세스 제어 방법 | |
US5226015A (en) | Semiconductor memory system | |
JPH07153284A (ja) | 不揮発性半導体記憶装置及びその制御方法 | |
JP2842442B2 (ja) | マイクロコンピュータ、不揮発性半導体記憶装置、ならびにその書込みおよび消去方法 | |
JPS6086642A (ja) | メモリ制御情報設定方式 | |
JP4220351B2 (ja) | データ読み取り動作及び書き込み動作を同時に実行可能な集積回路及び方法 | |
JP2932392B2 (ja) | メモリカード | |
JP2510604B2 (ja) | 記憶装置 | |
JPH11259357A (ja) | 半導体集積装置及び不揮発性メモリ書き込み方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |