KR101011171B1 - 메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치 - Google Patents

메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치 Download PDF

Info

Publication number
KR101011171B1
KR101011171B1 KR1020087008986A KR20087008986A KR101011171B1 KR 101011171 B1 KR101011171 B1 KR 101011171B1 KR 1020087008986 A KR1020087008986 A KR 1020087008986A KR 20087008986 A KR20087008986 A KR 20087008986A KR 101011171 B1 KR101011171 B1 KR 101011171B1
Authority
KR
South Korea
Prior art keywords
area
address
memory
logical address
way
Prior art date
Application number
KR1020087008986A
Other languages
English (en)
Other versions
KR20080049824A (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 후지쯔 가부시끼가이샤
Publication of KR20080049824A publication Critical patent/KR20080049824A/ko
Application granted granted Critical
Publication of KR101011171B1 publication Critical patent/KR101011171B1/ko

Links

Images

Classifications

    • 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
    • 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/0607Interleaved addressing
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Abstract

본 발명은 소자 선택 어드레스와 메모리 소자 어드레스로 구성되는 실 어드레스에 의해 복수의 메모리 소자를, N 영역으로 분할된 논리 어드레스 공간을 이용한 CPU의 논리 어드레스를 웨이수(W)로 결정되는 실 어드레스로 변환하여 인터리브 제어에 의해 액세스한다. 복수의 메모리 소자로 구성되는 실 어드레스 공간을, CPU 논리 어드레스 공간의 영역수(N)에 인터리브 제어의 최대 웨이수(Wmax)를 곱한 (N× Wmax) 영역으로 분할하여 이용 가능 정보를 기록한 전체 웨이수에 공통인 실 어드레스 영역 이용표를 작성하여 유지하고, 메모리 소자의 이상을 검출했을 때에 실 어드레스 영역 이용표의 이상 개소를 포함하는 영역에 이용 금지 정보를 기록한다. 시스템 기동 시 또는 재구성 시에는, 인터리브 제어의 웨이수로 결정되는 메모리 구성에 대응하여, 실 어드레스 영역 이용표로부터 논리 어드레스 공간을 N 영역으로 분할하여 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 그때마다 생성하여, CPU가 이용하는 논리 어드레스 공간의 영역을 결정한다.

Description

메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치{METHOD, STORAGE MEDIUM, AND APPARATUS FOR CONTROLLING MEMORY, AND INFORMATION PROCESSING APPARATUS}
본 발명은 복수의 메모리 모듈로 구성된 메모리를 액세스하는 메모리 제어 방법, 프로그램 및 장치에 관한 것으로, 특히, 메모리 모듈의 이상 개소에 기초하여 CPU의 어드레스 공간에 이용 금지 영역을 설정하는 메모리 제어 방법, 프로그램 및 장치에 관한 것이다.
종래, 멀티 CPU 구성의 컴퓨터 시스템에 이용되는 주기억 등의 기억 장치에 있어서는, 독립적으로 액세스 가능한 메모리 소자인 복수의 메모리 모듈(메모리 뱅크라고도 함)을 보드에 실장하여 기억 장치를 구축하고 있고, 이와 같이 기억 장치에 이용되는 메모리 모듈은, 메모리 모듈의 생산 과정에 의해 생기는 품질의 변동은 회피할 수 없다.
이 메모리 모듈의 생산 상의 품질의 변동에 의해, 기억 장치에 실장하여 이용하고 있는 동안에, 일부의 어드레스에 대해 데이터의 기록 및 판독을 정상적으로 행할 수 없게 되는 이상이 발생하는 경우가 있다. 메모리 이상을 검출한 경우에는, 메모리 이상을 일으키고 있는 메모리 모듈을 특정하고, 시스템으로부터 이상 부분을 배제하는 것으로, 시스템을 안정 운용하는 것이 중요하다.
또한, 한번 이상이라고 인식한 메모리 모듈에 대해서는, 예컨대 인터리브 제어의 웨이수(number of ways)의 변경에 의해 메모리 구성이 변하더라도, 이상 메모리 모듈이 교환될 때까지는 시스템에 짜 넣지 않도록 하는 것이, 운용 시스템에 있어서의 견뢰성의 향상, 운용 후에 고장이 발생했을 때의 고장 보수 작업 시간, 보수에 걸리는 비용의 절감을 위해 필요한 일이다.
그래서 종래의 기억 장치에 있어서는, 메모리 컨트롤러의 하드웨어 기능에 의해, 메모리 이상을 검출한 경우에, 메모리 이상을 일으키고 있는 메모리 모듈을 특정하여, 시스템으로부터 이상 부분을 배제하도록 하고 있다. 즉, 메모리 컨트롤러는 CPU로부터 보이는 메모리 모듈의 어드레스 공간을 적당한 크기의 영역으로 분할하여, 메모리 모듈의 이상을 검출한 경우에는, 이상 개소에 대응한 영역을 이용 금지로 설정하고, CPU에 의해 이용 가능한 영역에 이상 개소를 포함하는 영역을 짜 넣지 않도록 메모리를 축퇴하는 메모리 제어를 행하고 있다.
[특허 문헌 1] 일본 특허 공개 평 제2-166543호 공보
[특허 문헌 2] 일본 특허 공개 평 제4-165548호 공보
그러나, 종래의 메모리 제어에 있어서는, 메모리 이상을 일으키고 있는 메모리 모듈을 특정하여 시스템에 짜 넣지 않도록 축퇴하는 기능을 하드웨어 기능에 의해 실장하고 있었기 때문에, 실장 회로의 증대에 의한 비용 상승 및 사이즈 증대가 문제가 되고 있다.
또한 CPU로부터 보이는 메모리 모듈의 어드레스 공간을 적당한 크기의 영역으로 분할하여 CPU에서 이용 가능한 영역을 관리하는 종래의 메모리 제어 방법에 있어서는, 인터리브 제어에 있어서의 웨이수(number of ways)의 변경에 따라 메모리 구성을 변경한 경우에 대응할 수 없다.
예컨대 인터리브 제어의 웨이수는 1웨이(인터리브 없음)에서 2웨이의 메모리 구성으로 변경한 경우, 메모리 모듈의 실 어드레스와 CPU로부터 보이는 논리 어드레스와의 대응 관계도 변경되게 되고, 예컨대 메모리 구성 변경 전의 이상 개소의 어드레스는 m 번째의 영역에 대응하고 있었던 것이, 메모리 구성 변경 후에는 별도의 n 번째의 영역에 대응한다고 하는 경우가 발생한다.
이 때문에 메모리 구성을 변경한 후에, 다시 메모리 모듈의 이상 개소를 특정하여, 구성 변경 후의 CPU로부터 보이는 어드레스 공간의 분할 영역에 대해, 메모리 모듈의 이상 개소에 대응한 영역을 판별하여 이용 금지로 설정하고, CPU의 이용 영역에 이상 개소를 포함하는 영역을 짜 넣지 않도록 하는 영역 관리를 필요로 하며, 구성 변경 전의 영역 이용 정보를 구성 변경 후에 이어받을 수 없어, 메모리 재구성 후의 CPU 이용 가능 영역을 결정하기 위한 처리 부담이 증대하고, 메모리 구성 변경 후의 처리 재개에 시간이 걸리는 문제가 있다.
본 발명은, CPU로부터 본 메모리 어드레스 공간을 분할한 영역의 이용 정보를 메모리 구성을 변경했을 때에 이어받아, 구성 변경 후의 영역 이용 정보를 간단하고또한 신속하게 설정 가능하게 하는 메모리 제어 장치, 방법 및 프로그램을 제공하는 것을 목적으로 한다.
(방법)
본 발명은 메모리 제어 방법을 제공한다. 즉 본 발명은, 논리 어드레스를 실 어드레스로 변환하여 메모리를 액세스하는 메모리 제어 방법에 있어서,
메모리의 이상을 검출했을 때에, 메모리의 실 어드레스 공간의 이용 가능 정보를 기록한 실 어드레스 영역 이용표 중의, 이상이 검출된 메모리에 대응하는 영역에 이용 금지 정보를 기록하는 단계와,
실 어드레스 영역 이용표로부터, 논리 어드레스 공간에 있어서의 각 영역의 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하는 단계
를 구비한 것을 특징으로 한다.
본 발명은 메모리 제어 방법을 제공한다. 즉 본 발명은, CPU로부터의 논리 어드레스를, 소자 선택 어드레스와 메모리 소자 어드레스로 구성되는 실 어드레스로 변환하여 복수의 메모리 소자를 액세스하는 메모리 제어 방법에 있어서,
N 영역으로 분할된 논리 어드레스 공간을 이용한 CPU의 논리 어드레스를 웨이수(W)로 결정되는 실 어드레스로 변환하여 복수의 메모리 소자를 인터리브 제어에 의해 액세스하고, 상이한 웨이수(W)의 지정에 의해 메모리 구성을 재구성 가능한 인터리브 제어 단계와,
복수의 메모리 소자로 구성되는 실 어드레스 공간을, CPU 논리 어드레스 공간의 영역수(N)에 인터리브 제어의 최대 웨이수(Wmax)를 곱한 (N× Wmax) 영역으로 분할하여 이용 가능 정보를 기록한 전체 웨이수에 공통인 실 어드레스 영역 이용표를 작성하고, 메모리 소자의 이상을 검출했을 때에 실 어드레스 영역 이용표의 이상 개소를 포함하는 영역에 이용 금지 정보를 기록하는 실 어드레스 영역 관리 단계와,
인터리브 제어 단계의 웨이수(W)로 결정되는 메모리 구성에 대응하여, 실 어드레스 영역 이용표로부터 논리 어드레스 공간에 있어서의 각 영역에 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하여 CPU가 이용하는 논리 어드레스 공간의 영역을 결정하는 논리 어드레스 영역 관리 단계
를 구비한 것을 특징으로 한다.
여기서, 인터리브 제어 단계는 2의 누승수로 되는 상이한 웨이수(W) 중 어느 하나가 지정에 의해 메모리 구성을 재구성한다.
(1-2 웨이 전환)
인터리브 제어 단계가 웨이수 1 또는 2의 지정에 의해 메모리 재구성이 가능한 경우,
실 어드레스 영역 관리 단계는(괄호 내는, 예컨대 CPU 어드레스가 10 비트, 메모리 소자 어드레스가 A7∼A0의 8 비트, 소자 선택 어드레스가 B1∼B0의 2 비트인 경우),
소자 선택 어드레스의 하위 2 비트(B1 B0),
실 어드레스의 최상위 비트(A7) 및
실 어드레스의 최하위 비트(A0)
의 4 비트 어드레스(B1 B0 A7 A0)에 의해 CPU 논리 어드레스 공간의 영역수(N)에 인터리브 제어의 최대 웨이수 2를 곱하여 (N× 2) 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 실 어드레스 영역 이용표를 생성하고,
논리 어드레스 영역 관리 단계는, 인터리브 제어 단계가 1웨이로 결정되는 메모리 구성의 경우, 실 어드레스 영역 이용표의
소자 선택 어드레스의 하위 2 비트(B1 B0) 및
실 어드레스의 최상위 비트(A7)
의 3 비트 어드레스(B1 B0 A7)에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 1웨이 논리 어드레스 영역 이용표를 작성하여 CPU가 이용하는 논리 어드레스 공간의 영역을 결정하고,
또한 논리 어드레스 영역 관리 단계는, 인터리브 제어 단계가 2웨이로 결정되는 메모리 구성의 경우, 실 어드레스 영역 이용표의
소자 선택 어드레스의 하위 제2 비트(B1),
실 어드레스의 최하위 비트(A0) 및
실 어드레스의 최상위 비트(A7)
의 3 비트 어드레스(B1 A0 A7)에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 2웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 이용하는 논리 어드레스 공간의 영역을 결정하는 것을 특징으로 하는 메모리 제어 방법.
(1-2-4 웨이 전환)
인터리브 제어 단계가, 웨이수 1, 2 또는 4의 지정에 의해 메모리 재구성 가능한 경우,
실 어드레스 영역 관리 단계는(괄호 내는, 예컨대 CPU 어드레스가 10 비트, 메모리 소자 어드레스가 A7∼A0의 8 비트, 소자 선택 어드레스가 B1∼B0의 2 비트인 경우),
소자 선택 어드레스의 하위 2 비트(B1 B0),
실 어드레스의 최상위 비트(A7) 및
실 어드레스의 최하위 2 비트(A1 A0)
의 5 비트 어드레스(B1 B0 A7 A1 A0)에 의해 CPU 논리 어드레스 공간의 영역수(N)에 인터리브 제어의 최대 웨이수 4를 곱하여 (N× 4) 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 실 어드레스 영역 이용표를 생성하고,
논리 어드레스 영역 관리 단계는, 인터리브 제어 단계가 1웨이로 결정되는 메모리 구성의 경우, 실 어드레스 영역 이용표의
소자 선택 어드레스의 하위 2 비트(B1 B0) 및
실 어드레스의 최상위 비트(A7)
의 3 비트 어드레스(B1 B0 A7)에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 1웨이 논리 어드레스 영역 이용표를 작성하여 CPU가 이용하는 논리 어드레스 공간의 분할 영역을 결정하고,
또한 논리 어드레스 영역 관리 단계는, 인터리브 제어 단계가 2웨이로 결정되는 메모리 구성의 경우, 실 어드레스 영역 이용표의
소자 선택 어드레스의 하위 제2 비트(B1),
실 어드레스의 최하위 비트(A0) 및
실 어드레스의 최상위 비트(A7)
의 3 비트 어드레스(B1 A0 A7)에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 2웨이 논리 어드레스 영역 이용표를 작성하여 CPU가 이용하는 논리 어드레스 공간의 분할 영역을 결정하고,
또한 논리 어드레스 영역 관리 단계는, 인터리브 제어 단계가 4웨이로 결정되는 메모리 구성의 경우, 실 어드레스 영역 이용표의
실 어드레스의 하위 2 비트(A1 A0) 및
실 어드레스의 최상위 비트(A7)
의 3 비트 어드레스(A1 A0 A7)에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 4웨이 논리 어드레스 영역 이용표를 작성하여 CPU가 이용하는 논리 어드레스 공간의 분할 영역을 결정한다.
(프로그램)
본 발명은 메모리 제어 프로그램을 제공한다. 본 발명의 메모리 제어 프로그램은, CPU로부터의 논리 어드레스를, 소자 선택 어드레스와 메모리 소자 어드레스로 구성되는 실 어드레스로 변환하여 복수의 메모리 소자를 액세스하는 메모리 제어 장치의 컴퓨터에,
N 영역으로 분할된 논리 어드레스 공간을 이용한 CPU의 논리 어드레스를 웨이수(W)로 결정되는 실 어드레스로 변환하여 복수의 메모리 소자를 인터리브 제어에 의해 액세스하고, 상이한 웨이수(W)의 지정에 의해 메모리 구성을 재구성 가능한 인터리브 제어 단계와,
복수의 메모리 소자로 구성되는 실 어드레스 공간을, CPU 논리 어드레스 공간의 영역수(N)에 인터리브 제어의 최대 웨이수(Wmax)를 곱한 (N× Wmax) 영역으로 분할하여 이용 가능 정보를 기록한 전체 웨이수에 공통인 실 어드레스 영역 이용표를 작성하고, 메모리 소자의 이상을 검출했을 때에 실 어드레스 영역 이용표의 이상 개소를 포함하는 영역에 이용 금지 정보를 기록하는 실 어드레스 영역 관리 단계와,
인터리브 제어 단계의 웨이수(W)로 결정되는 메모리 구성에 대응하여, 실 어드레스 영역 이용표로부터 논리 어드레스 공간에 있어서의 각 영역에 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하여 CPU가 이용하는 논리 어드레스 공간의 영역을 결정하는 논리 어드레스 영역 관리 단계
를 실행시키는 것을 특징으로 한다.
(장치)
본 발명은 메모리 제어 장치를 제공한다. 즉, 본 발명의 메모리 제어 장치는,
소자 선택 어드레스와 메모리 소자 어드레스로 구성되는 실 어드레스에 의해 액세스되는 복수의 메모리 소자와,
N 영역으로 분할된 논리 어드레스 공간을 이용한 CPU의 논리 어드레스를 웨이수(W)로 결정되는 실 어드레스로 변환하여 상기 복수의 메모리 소자를 인터리브 제어에 의해 액세스하고, 상이한 웨이수(W)의 지정에 의해 메모리 구성을 재구성 가능한 인터리브 제어부와,
복수의 메모리 소자로 구성되는 실 어드레스 공간을, CPU 논리 어드레스 공간의 영역수(N)에 인터리브 제어의 최대 웨이수(Wmax)를 곱한 (N× Wmax) 영역으로 분할하여 이용 가능 정보를 기록한 전체 웨이수에 공통인 실 어드레스 영역 이용표를 작성하여, 메모리 소자의 이상을 검출했을 때에 실 어드레스 영역 이용표의 이상 개소를 포함하는 영역에 이용 금지 정보를 기록하는 실 어드레스 영역 관리부와,
인터리브 제어부의 웨이수(W)로 결정되는 메모리 구성에 대응하여, 실 어드레스 영역 이용표로부터 논리 어드레스 공간에 있어서의 각 영역에 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하여 CPU가 이용하는 논리 어드레스 공간의 영역을 결정하는 논리 어드레스 영역 관리부
를 구비한 것을 특징으로 한다.
본 발명은 정보 처리 장치를 제공한다. 즉, 본 발명은,
처리부와,
처리부에 접속되어, 정보를 기억하는 기억부와,
기억부로의 액세스를 제어하는 메모리 제어부를 구비한 정보 처리 장치에 있어서,
메모리 제어부는, CPU로부터의 논리 어드레스를 실 어드레스로 변환하여 기억부를 액세스하는 제어부와,
기억부의 실 어드레스 공간의 영역마다에 기억부의 이용 가부 정보를 기억한 제1 테이블에, 이상이 검출된 상기 기억부의 영역에 관한 이용 금지 정보를 기록하는 실 어드레스 관리부와,
제1 테이블 내용에 기초하여, 논리 어드레스 공간에 있어서의 각 영역의 이용 가부 정보를 기록한 논리 어드레스 영역 이용표의 내용을 갱신하는 논리 어드레스 영역 관리부
를 구비한 것을 특징으로 한다.
[발명의 효과]
본 발명에 따르면, CPU로부터 본 메모리 모듈의 이용 가능한 영역의 관리를 메모리 소자 어드레스를 기준으로 하여 행한다. 메모리 소자 어드레스는, 메모리의 구성 변경에 의존하지 않고, 메모리 소자에 의해 결정된다. 메모리 이상 개소가 동일하면, 그 이상 개소를 가리키는 메모리 소자 어드레스는 변하지 않는다. 이 메모리 소자 어드레스에 의한 이용 가능 영역의 정보로서 실 어드레스 영역 이용표를 작성하여, 이 실 어드레스 영역 이용표를, 그 때의 메모리 구성에 대응하는 CPU로부터 보이는 어드레스에서의 이용 가능한 영역 정보인 논리 어드레스 영역 이용표로 변환하여, 이 논리 어드레스 영역 이용표의 정보를 바탕으로 메모리 이용 가능 영역을 결정한다.
이 때문에, 메모리 소자 어드레스에 의한 이용 가능 영역의 정보로서 실 어드레스 영역 이용표를 작성하여 유지시켜 두기만해도 좋고, 인터리브 제어의 웨이수에 대응한 메모리 구성마다에 상이한 CPU 어드레스로부터 본 메모리 이용 가능 정보를 유지할 필요가 없어져, 메모리 이용 가능 영역의 관리가 용이하게 된다.
또한 메모리의 구성 변경에 의해, 메모리 소자 어드레스와 CPU로부터 보이는 어드레스의 대응이 변경이 된 경우, 변경 전의 메모리 이상 개소에 기초하는 메모리 축퇴 정보를 이어받을 수 있어, 새로운 CPU로부터 보이는 어드레스에서의 메모리 축퇴 정보를 간단히 작성할 수 있다.
도 1은 본 발명의 메모리 제어 장치를 구비한 컴퓨터 시스템의 블록도.
도 2는 도 1의 메모리 컨트롤러의 어드레스 변환 기구의 설명도.
도 3은 1웨이 인터리브의 메모리 구성에 의한 어드레스 변환 기구의 설명도.
도 4는 도 3의 1웨이 인터리브의 어드레스 변환에 대응한 어드레스맵의 설명도.
도 5는 1웨이 인터리브에 의한 메모리 모듈의 액세스의 설명도.
도 6은 2웨이 인터리브의 메모리 구성에 의한 어드레스 변환 기구의 설명도.
도 7은 도 6의 2웨이 인터리브의 어드레스 변환에 대응한 어드레스맵의 설명도.
도 8은 2웨이 인터리브에 의한 메모리 모듈의 액세스의 설명도.
도 9는 CPU 어드레스 공간을 8영역으로 한 경우의 인터리브 제어의 웨이수에 대한 실 어드레스 공간의 분할 영역수, CPU 어드레스와 실 어드레스의 대응 관계의 설명도.
도 10은 1웨이와 2웨이로 메모리 재구성 가능한 경우에 작성되는 메모리 소자 어드레스의 실 어드레스 영역 이용표와, 그로부터 작성되는 1웨이 메모리 구성 시의 CPU의 논리 어드레스 영역 이용표의 설명도.
도 11은 1웨이와 2웨이로 메모리 재구성 가능한 경우에 작성되는 메모리 소자 어드레스의 실 어드레스 영역 이용표와, 그로부터 작성되는 2웨이 메모리 구성 시의 CPU의 논리 어드레스 영역 이용표의 설명도.
도 12는 본 발명에 있어서의 메모리 소자 어드레스의 실 어드레스 영역 이용표 작성 처리의 흐름도.
도 13은 도 12의 처리에 의해 작성한 실 어드레스 영역 이용표로부터 웨이수에 따른 메모리 구성의 논리 어드레스 영역 이용표를 작성하여, CPU의 사용 영역을 결정하는 컴퓨터 시스템의 흐름도.
도 14는 도 13의 단계 S6에 의한 1웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도.
도 15는 도 14에 계속되는 2웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도.
도 16은 4웨이 인터리브의 메모리 구성에 의한 어드레스 변환 기구의 설명도.
도 17은 도 16의 4웨이 인터리브의 어드레스 변환에 대응한 어드레스맵의 설명도.
도 18은 도 17에 계속되는 어드레스맵의 설명도.
도 19는 4웨이 인터리브에 의한 메모리 모듈의 액세스의 설명도.
도 20은 1웨이, 2웨이 또는 4웨이로 메모리 재구성 가능한 경우에 작성되는 메모리 소자 어드레스의 실 어드레스 영역 이용표와, 그로부터 1웨이 메모리 구성 시의 CPU의 논리 어드레스 영역 이용표를 작성하는 처리의 설명도.
도 21은 1웨이, 2웨이 또는 4웨이로 메모리 재구성 가능한 경우에 작성되는 메모리 소자 어드레스의 실 어드레스 영역 이용표와, 그로부터 2웨이 메모리 구성 시의 CPU의 논리 어드레스 영역 이용표를 작성하는 처리의 설명도.
도 22는 1웨이, 2웨이 또는 4웨이로 메모리 재구성 가능한 경우에 작성되는 메모리 소자 어드레스의 실 어드레스 영역 이용표와, 그로부터 4웨이 메모리 구성 시의 CPU의 논리 어드레스 영역 이용표를 작성하는 처리의 설명도.
도 23은 도 22의 실 어드레스 영역 이용표로부터 작성한 논리 어드레스 영역 이용표의 설명도.
도 24는 1웨이, 2웨이 또는 4웨이에 대응한 실 어드레스 영역 이용표로부터 1웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도.
도 25는 1웨이, 2웨이 또는 4웨이에 대응한 실 어드레스 영역 이용표로부터 2웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도.
도 26은 1웨이, 2웨이 또는 4웨이에 대응한 실 어드레스 영역 이용표로부터 4웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도.
도 1은 본 발명의 메모리 제어 장치를 구비한 컴퓨터 시스템의 블록도이다. 도 1에 있어서, 본 발명의 메모리 제어 장치를 구성하는 메모리 컨트롤러(10)에 대해서는, CPU(12-1∼12-4)과 메모리 모듈(14-1∼14-4)이 접속되어 있다. 메모리 컨트롤러(10)에는 인터리브 제어부(16), 실 어드레스 영역 관리부(18) 및 논리 어드 레스 영역 관리부(20)가 설치되고, 또한 실 어드레스 영역 관리 파일(22)이 접속되어 있다.
메모리 컨트롤러(10)의 인터리브 제어부(16)는 상이한 웨이수(W)의 지정에 의해 메모리 구성을 재구성 가능하고, 웨이수(W)로서는 예컨대 2의 누승이 되는 1웨이, 2웨이, 4웨이라고 하는 웨이수의 메모리 구성에 의한 인터리브 제어를 행한다.
여기서 인터리브 제어는 복수의 메모리 모듈에 대해 동일 어드레스를 지정하여, 모듈 선택 어드레스에 의해 모듈을 교대로 전환하면서 액세스하는 제어이고, 메모리 모듈을 순서대로 선택하여 액세스하는 경우에 비해, 미리 어드레스 지정이 행해진 상태로 모듈을 전환하기 때문에, 메모리 모듈의 고속 동작이 가능하다.
그리고 2웨이의 인터리브란 2개의 메모리 모듈간에 걸쳐 동일 어드레스를 지정하여 모듈을 전환하는 제어이고, 4웨이란 4개의 메모리 모듈에 대해 동일 어드레스를 지정한 상태로 모듈을 순서대로 전환하여 액세스하는 제어이다.
또한 1웨이의 인터리브 제어란, 메모리 모듈을 순서대로 선택하면서 액세스하는 것으로, 복수의 메모리 모듈에 걸친 어드레스 지정이 아니기 때문에, 이것은 인터리브없는 액세스이지만, 설명을 이해하기 쉽게 하기 위해, 이하에 있어서는 인터리브 없음을 1웨이의 인터리브 제어로 하고 있다.
또한 인터리브 제어부(16)에 있어서는, 메모리 모듈(14-1∼14-4)측에 있어서의 메모리 고장에 대응하기 위해, CPU(12-1∼12-4)의 CPU 어드레스에서 보이는 논리 어드레스 공간을 복수 영역, 예컨대 N 영역으로 분할하여, 메모리 이상을 검출 했을 때는 이상 개소에 대응한 영역을 이용 금지로 하는 영역 이용 관리를 행하고 있다.
이 CPU 공간에 있어서의 이용 관리 영역은, 종래는 CPU의 어드레스 공간의 분할 영역으로 나누어 영역 이용 정보, 즉 이용 가능한지 이용 금지인지를 저장한 논리 어드레스 영역 이용표를 작성하고, 이에 기초하여 CPU가 이용하는 논리 어드레스 공간의 영역을 결정하고 있지만, 본 발명에 있어서는, 이러한 CPU의 논리 어드레스 공간을 관리하는 논리 어드레스 영역 이용표를 고정적으로 메모리 컨트롤러(10)가 유지하지 않고, 메모리 모듈(14-1∼14-4)측의 메모리 소자 어드레스에 기초하여, CPU의 논리 어드레스 공간의 논리 어드레스 영역 이용표에 변환 가능한 실 어드레스 영역 이용표를 작성하여 유지하고 있다.
즉 메모리 컨트롤러(10)에 설치한 실 어드레스 영역 관리부(18)는 메모리 모듈(14-1∼14-4)로 구성되는 실 어드레스 공간을, CPU측의 논리 어드레스 공간의 영역수(W)에, 인터리브 제어부(16)로 재구성 가능한 상이한 웨이수(W) 중의 최대 웨이수 Wmax를 곱한 (N× Wmax)의 영역으로 분할하여, 이 분할 영역마다, 초기 상태에 있어서는 이용 가능 정보를 기록한 전체 웨이수의 메모리 구성으로 공용할 수 있는 실 어드레스 영역 이용표를 작성하고 있다.
이 실 어드레스 영역 이용표에는, 메모리 모듈(14-1∼14-4)의 이상을 검출했을 때에, 이상 개소를 포함하는 실 어드레스 영역 이용표의 영역에 이용 금지 정보를 기록한다. 실 어드레스 영역 관리부(18)에서 작성된 인터리브 제어부(16)에서 메모리 구성의 재구성 가능한 전체 웨이수에 공통인 실 어드레스 영역 이용표는, 실 어드레스 영역 관리 파일(22)에 보존된다.
메모리 컨트롤러(10)의 논리 어드레스 영역 관리부(20)는 컴퓨터 시스템의 기동 시 혹은 인터리브 제어부(16)에 있어서의 메모리 구성의 재구성 시에, 실 어드레스 영역 관리 파일(22)에 유지되어 있는 실 어드레스 영역 이용표로부터 CPU측의 논리 어드레스 공간을 N 영역으로 분할하여 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 그 때마다 작성하고, 작성한 논리 어드레스 영역 이용표에 기초하여, 기동 시 또는 메모리 재구성 시에 CPU(12-1∼12-4)가 이용하는 논리 어드레스 공간의 영역을 결정하도록 하고 있다.
이와 같이 본 발명의 메모리 제어에 있어서는, 메모리 모듈(14-1∼14-4)의 실 어드레스로부터 본 CPU측의 논리 어드레스 공간의 영역을 생성 가능한 실 어드레스 영역 이용표를 작성하여 유지해 두는 것으로, 인터리브 제어부(16)로 웨이수에 따라 메모리 구성이 결정되면, 그 웨이수에 따라 결정된 메모리 구성에 대응한 변환 처리에 의해 실 어드레스 영역 관리 파일(22)에 유지되어 있는 실 어드레스 영역 이용표로부터, 그 때의 웨이수의 인터리브 제어에 대응한 논리 어드레스 영역 이용표를 그 때마다 작성하여, CPU가 이용하는 논리 어드레스 공간의 영역을 결정할 수 있다.
이 결과, 메모리 컨트롤러(10)에 있어서 메모리 구성을 변경한 경우에도, 변경 전의 영역 이용 정보를 변경 후에 이어받아, CPU의 어드레스 공간에 있어서의 영역의 이용 가능 정보 또는 이용 금지 정보를 간단히 생성하여, 메모리 모듈(14-1∼14-4)의 임의의 위치에 있어서의 이상 개소를 CPU측의 영역에 짜 넣지 않도록 할 수 있다.
이러한 본 발명의 메모리 제어에 대해, 인터리브 제어부(16)로 웨이수 1 또는 2의 지정에 의해 메모리 재구성이 가능한 경우를 예로 들어 구체적으로 설명한다.
도 2는 도 1의 메모리 컨트롤러(10)의 웨이수의 설정에 의해 인터리브 제어의 메모리 구성을 재구성 가능한 어드레스 변환 기구의 설명도이다.
도 2에 있어서, 메모리 모듈(14-1∼14-4)은 각각 256 바이트이고, 합계 사이즈는 1024 바이트를 예로 들고 있다. 이러한 메모리 모듈(14-1∼14-4)로 구성되는 1024 바이트의 메모리 공간에 대해, CPU(12-1∼12-4)측에 있어서는, 예컨대 N= 8 영역으로 분할하여 이용 가능 정보를 관리하고 있고, CPU측의 1 영역의 사이즈는 128 바이트가 된다.
메모리 모듈(14-1∼14-4)로 구성되는 1024 바이트의 메모리 공간은, CPU(12-1∼12-4)로부터의 10 비트의 CPU 어드레스(C9∼C0)로 액세스할 수 있다. 이 때문에 메모리 컨트롤러(10)에는, 10 비트의 CPU 어드레스(C9∼C0)를 유지하는 입력 어드레스 레지스터(26)가 설치된다.
한편, 메모리 모듈(14-1∼14-4)의 실 어드레스는, 메모리 모듈(14-1∼14-4)의 각각을 액세스하는 8 비트의 메모리 소자 어드레스(A7∼A0)와, 메모리 모듈(14-1∼14-4)을 선택하기 위한 2 비트의 소자 선택 어드레스(B1, B0)로 구성된다.
이 때문에 메모리 모듈(14-1∼14-4)측에는, 메모리 소자 어드레스(A7∼A0)를 저장하는 출력 어드레스 레지스터(28)와, 소자 선택 어드레스(B1, B0)를 유지하는 모듈 선택 레지스터(30)가 설치되고, 모듈 선택 레지스터(30)의 어드레스는 메모리 모듈 선택기(32)에 입력되며, B1, B0= 00, 01, 10, 11에 의해, 메모리 모듈(14-1∼14-4)을 순차 선택할 수 있도록 하고 있다.
입력 어드레스 레지스터(26)와 출력 어드레스 레지스터(28) 사이에는 셀렉터(34, 36)가 설치된다. 셀렉터(34)는 입력 어드레스 레지스터(26)의 상위 2 비트(C9, C8)와 출력 어드레스 레지스터(28)의 하위 2 비트(A1, A0)의 전환 접속을 행한다. 또한 셀렉터(36)는, 입력 어드레스 레지스터(26)의 상위 2 비트(C9, C8)와 하위 2 비트(C1, C0)의 모듈 선택 레지스터(30)의 소자 선택 비트(B1, B0)에 대한 전환 접속을 행한다.
여기서 메모리 컨트롤러(10)의 인터리브 제어에 있어서의 웨이수는, 1웨이, 2웨이, 4웨이의 3개에 의한 메모리 구성의 전환을 예로 들고 있고, 셀렉터(34, 36)에 의한 전환 접속으로 1웨이, 2웨이 또는 4웨이에 의한 어드레스 변환 기구를 실현하기 위한 접속을 확립할 수 있도록 하고 있다.
이 때문에, 입력 어드레스 레지스터(26), 출력 어드레스 레지스터(28), 메모리 모듈 선택기(32)에 설치한 모듈 선택 레지스터(30) 및 셀렉터(34, 36)에 의해, 인터리브 제어에 의한 웨이 메모리 구성(24)을 구축할 수 있다.
도 3은 1웨이 인터리브의 메모리 구성에 의한 어드레스 변환 기구의 설명도이다. 도 3에 있어서, 메모리 컨트롤러(10)는 도 2에 도시한 셀렉터(34, 36)에 의한 접속 전환으로, 도시의 1웨이 메모리 구성(24-1)의 입력 어드레스 레지스터(26)에 대한 출력 어드레스 레지스터(28) 및 모듈 선택 레지스터(30)의 접속을 확립하 여, 이에 따라 CPU(12-1∼12-4)로부터의 10 비트의 CPU 어드레스(C9∼C0)를 입력 어드레스 레지스터(26)에 유지한 상태로, 출력 어드레스 레지스터(28)의 메모리 모듈(14-1∼14-4)의 8 비트의 메모리 소자 어드레스(A7∼A0)와 모듈 선택을 위한 소자 선택 어드레스(B1, B0)로 변환하여, 1웨이 인터리브에 따른 메모리 액세스를 실행한다.
1웨이 메모리 구성(24-1)은 인터리브가 없는 경우이고, 이 경우에는 CPU 어드레스의 상위 2 비트(C9, C8)를 소자 선택 어드레스(B1, B0)로 변환하고, CPU 어드레스의 하위 8 비트(C7∼C0)를 메모리 소자 어드레스(A7∼A0)로 변환하여 액세스한다.
도 4는 도 3의 1웨이 인터리브의 어드레스 변환에 대응한 1웨이 어드레스 비트맵(38-1)의 설명도이다. 도 4에 있어서, 1웨이 어드레스맵(38-1)은, 상란에 메모리 선택과 메모리 어드레스로 나누어, CPU 어드레스(C9∼C0)와 실 어드레스가 되는 소자 선택 어드레스(B1, B0) 및 메모리 소자 어드레스(A7∼A0)를 표시하고 있고, CPU 어드레스(C9∼C0)를 올(all) 0로부터 올 1까지 순차 변화시켰을 때의 어드레스 비트와, 이에 대응한 어드레스 10진표시를 나타내고 있다.
도 5는 1웨이 인터리브에 의한 메모리 모듈의 액세스 설명도이고, 이 경우의 액세스는 단순하며, 4개의 메모리 모듈(14-1∼14-4)은 점선으로 도시한 바와 같이, CPU측으로부터 본 경우에 8개의 영역(42-1∼42-8)으로 나누어져 있지만, CPU 어드레스를 올 0로부터 올 1까지 순차 변화시킨 경우, 화살표(44-1∼44-8)로 도시한 바와 같이 메모리 모듈(14-1∼14-4)의 순서, 즉 CPU측으로부터 본 영역(42-1∼42-8) 의 순서로 액세스할 수 있다.
여기서 도 3의 메모리 모듈(14-1)의 어드레스 「11111111」, 즉 10진 표시로 어드레스 255번에 데이터의 기록 및 판독을 할 수 없는 메모리 이상이 발생하고 있었다고 하면, 도 4의 1웨이 어드레스맵(38-1)에 있어서는 이상 개소(40)가 되고, 이것은 CPU 어드레스(C9∼C0)로부터 보면 「00111111111」이 되고, 10진 표시로 한 경우에도 동일하게 255번 어드레스가 된다.
도 6은 2웨이 인터리브의 메모리 구성에 의한 어드레스 변환 기구의 설명도이다. 도 6의 메모리 컨트롤러(10)에 있어서는, 인터리브 제어의 웨이수(W)를 2웨이로 지정하는 것으로, 2웨이 메모리 구성(24-2)에 도시하는 입력 어드레스 레지스터(26)에 대한 출력 어드레스 레지스터(28)와 메모리 모듈 선택기(32)에 설치한 모듈 선택 레지스터(30) 사이의 접속이 확립된다.
도 7은 도 6의 2웨이 인터리브의 어드레스 변환에 대응한 2웨이 어드레스맵(38-2)의 설명도이다. 이 2웨이의 인터리브 제어에 있어서는, 도 8의 메모리 모듈(14-1∼14-4)에 도시한 바와 같이, 2개의 메모리 모듈(14-1∼14-2)의 CPU측의 분할수로 결정되는 128 바이트 단위의 영역에 대해, 선두 어드레스로 화살표(60-1)에 도시한 바와 같이, 메모리 모듈(14-1)과 메모리 모듈(14-2)의 동일 어드레스를 지정한 상태로, 소자 선택 어드레스에 의해 메모리 모듈(14-1, 14-2)을 순서대로 전환하여 2 어드레스분의 액세스를 행한다.
이것을 메모리 모듈(14-1, 14-2)의 전반 영역에 대해 행한 후, 다음으로 후반 영역에 대해 이것을 반복한다. 계속해서, 다음 메모리 모듈(14-3, 14-4)에 대 해, 화살표(60-3, 60-4)로 도시한 바와 같이, 128 바이트로 나눈 전반 영역의 동일 어드레스의 지정에 의한 순차 판독과 후반 영역의 동일 어드레스의 지정에 의한 순차 판독을 반복한다.
이러한 2웨이 인터리브에 의한 도 7의 2웨이 어드레스맵(38-2)에 있어서는, CPU 어드레스(C9∼C0)의 올 0로부터 올 1에의 변화에 대해, 메모리 모듈(14-1, 14-2)을 대상으로 한 우수 어드레스 영역(58-1)과 기수 어드레스 영역(58-2) 및 메모리 모듈(14-3, 14-4)을 대상으로 한 우수 어드레스 영역(58-3)과 기수 어드레스 영역(58-4)으로 나누어진다.
그리고 전반의 우수 어드레스 영역(58-1)과 기수 어드레스 영역(58-2)에 있어서는, 메모리 선택 어드레스에 도시한 바와 같이, 소자 선택 어드레스(B1, B0)가 「00」 「01」로 교대로 변화하는 것으로, 동일 어드레스를 2개의 메모리 모듈(14-1, 14-2)로 지정한 상태로 모듈 선택을 하는 2웨이의 인터리브 제어를 행하고 있다. 이 점은 후반의 우수 어드레스 영역(58-3), 기수 어드레스 영역(58-4)에 대응한 메모리 모듈(14-3, 14-4)에 대해서도 동일하다.
이러한 2웨이 어드레스맵(38-2)에 있어서는, 맵 상에 있어서의 도 4에 도시한 1웨이 어드레스맵(38-1)에 있어서의 이상 개소(40)는 동일한 어드레스 위치로서 보존할 수 있다.
도 9는 본 발명의 메모리 제어에 있어서의 CPU 어드레스 공간의 분할 영역수(N), 인터리브의 웨이수(W), CPU 어드레스 공간의 분할 영역수(N)에 최대 웨이수(Wmax)를 곱한 값으로서 주어지는 실 어드레스 공간의 분할 영역수(M), 또한, 이 에 대응한 CPU 및 실메모리 어드레스의 대응 관계의 설명도이다. 즉 도 9의 대응표는, N= 8, W= 1, 2, 4, M= 8, 16, 32로 한 경우에 대해, 각각의 메모리 구성에 있어서의 어드레스 변환 기구의 변환 관계를 표시하고 있다.
도 10은 도 1의 메모리 컨트롤러(10)의 인터리브 제어부(16)로 1웨이와 2웨이로 메모리 재구성 가능한 경우의 실 어드레스 영역 관리부(18)에 의해 생성되는 실 어드레스 이용표와, 논리 어드레스 영역 관리부(20)에 의해 실 어드레스 이용표로부터 작성되는 1웨이의 메모리 구성에서 사용하는 논리 어드레스 영역 이용표의 설명도이다.
도 10(A)는 도 10(B)에 도시하는 실 어드레스 영역 이용표(48)로부터 도 10(C)에 도시하는 1웨이 논리 어드레스 영역 이용표(50-1)를 작성하기 위해 사용하는 1웨이 서치 레지스터(46-1)이다.
우선 도 10(B)의 실 어드레스 영역 이용표(48)는, 항목란(54)에 도시한 바와 같이, 메모리 모듈(14-1∼14-4)의 실 어드레스를 구성하는 소자 선택 어드레스와 메모리 소자 어드레스를 사용한 도 9의 대응표로부터 결정되는 16 영역으로 나누어 이용 플래그를 저장하고 있다.
이 실 어드레스 영역 이용표(48)에 저장하는 실 어드레스는, 실 어드레스 영역 이용표(48)의 상부에 설명적으로 부가한 항목(52)과 같이, 도 3의 1웨이 메모리 구성(24-1)에 도시하는 어드레스 변환 기구에 의해, CPU 어드레스의 C9, C8, C7, C0의 4 비트가 대응하고 있다.
여기서 실 어드레스 영역 이용표(48)의 이용 플래그는, 이용 가능 정보로서 「○」을 기재하고, 이용 금지 정보로서 도 4에 도시한 이상 개소(40)의 어드레스를 포함하는 영역에 「×」를 기록하고 있다.
이러한 실 어드레스 영역 이용표(48)로부터 1웨이의 인터리브 제어의 메모리 구성에 필요한 도 10(C)의 1웨이 논리 어드레스 영역 이용표(50-1)를 작성할 때는, 도 10(A)의 1웨이 서치 레지스터(46-1)를 사용하여 실 어드레스 영역 이용표(48)의 이용 플래그를 조사한다.
1웨이 서치 레지스터(46-1)는 X, Y, Z, 또한 「0/1」영역과 이용 플래그의 저장 영역으로 구성되어 있고, 실 어드레스 영역 이용표(48)를 조사할 때는
X= B1
Y= B0
Z= A7
A0= 0/1
을 저장하여, 상위 3 비트가 동일하고 4비트째가 0 또는 1로 변화되는 4 비트 어드레스의 2영역을 조사한다.
이러한 1웨이 서치 레지스터(46-1)에 의한 실 어드레스 영역 이용표(48)의 조사는, 표의 오른쪽에 화살표로 나타낸 바와 같이, 영역쌍(56-1∼56-8)의 각 2개의 영역에 대해, 이용 플래그가 이용 가능 「○」인지 이용 금지 「×」인지를 조사하여, 2개의 영역에 대해 양쪽 모두 이용 가능 「○」이면, 이에 대응한 도 10(C)의 영역의 이용 플래그를 이용 가능 「○」으로 하고, 어느 한쪽이 이용 금지 「×」이면 도 10(C)의 논리 어드레스 영역 이용표(50-1)의 이용 플래그는 이용 금 지 「×」로 한다.
이러한 실 어드레스 영역 이용표(48)로부터 작성된 1웨이 논리 어드레스 영역 이용표(50-1)를 보면, CPU 영역의 2번째의 영역 #1이 이용 금지 「×」로 되어 있다.
도 11은 도 10(B)와 동일한 실 어드레스 영역 이용표(48)를 사용하여, 2웨이의 인터리브 제어에 의한 메모리 구성 시에 2웨이 논리 어드레스 영역 이용표를 작성하는 처리의 설명도이다.
도 11(A)은 도 11(B)의 실 어드레스 영역 이용표(48)로부터 도 11(C)의 2웨이 논리 어드레스 영역 이용표(50-2)를 작성하기 위한 조사를 행하는 2웨이 서치 레지스터(46-2)이다. 2웨이 서치 레지스터(46-2)에는 상위측에서
X= B1
B0= 0/1
Z= A7
Y= A0
을 저장하여, 각각의 4 비트 영역에서 결정되는 영역의 이용 플래그를 조사한다.
이 2웨이 서치 레지스터(46-2)를 사용한 실 어드레스 영역 이용표(48)의 조사는, 오른쪽의 화살표로 나타내는 영역쌍(62-1∼62-8)에 대해, 2개의 영역의 이용 플래그가 양쪽 모두 이용 허가 「○」이면 도 11(C)의 2웨이 논리 어드레스 영역 이용표(50-2)의 대응하는 영역의 이용 플래그를 이용 가능 「○」로 하고, 어느 한 쪽이 이용 금지 「×」이면 2웨이 논리 어드레스 영역 이용표(50-2)의 대응하는 영역의 이용 플래그를 이용 금지 「×」로 기록한다.
이 결과, 2웨이의 인터리브 제어에 의한 메모리 구성에 있어서의 2웨이 논리 어드레스 영역 이용표(50-2)의 메모리 이상 개소를 포함하는 CPU 영역은, 4번째의 CPU 영역 #3인 것을 알 수 있다.
도 12는 본 발명에 있어서의 메모리 소자 어드레스로부터 본 실 어드레스 영역 이용표를 작성하는 처리의 흐름도이다. 도 12에 있어서, 실 어드레스 영역 이용표의 작성 처리는, 단계 S1에서 논리 어드레스 공간의 분할 영역수(N), 예컨대 N= 8을 판독, 단계 S2에서 메모리 구성 가능한 웨이수(W), 예컨대 W= 1, 2, 4를 판독하고, 단계 S3에서 논리 어드레스 공간의 영역수(N)에 최대 웨이수(Wmax)를 곱셈하여 실 어드레스 공간의 분할수 M을 산출한다. 예컨대 1웨이와 2웨이로 전환 가능한 경우에는, M= 8× 2= 16으로서 16 영역의 분할수를 구한다.
계속해서 단계 S4에서, 예컨대 도 10(B)에 도시한 바와 같은 1웨이와 2웨이의 재구성이 가능한 경우에는, 소자 선택 어드레스(B1, B0) 및 메모리 소자 어드레스의 최상위 비트(A7)와 최하위 비트(A0)의 4 비트를 사용하여 16 분할한 영역을 갖는 실 어드레스 영역 이용표를 작성하여, 그 이용 플래그, 즉 이용 정보로서는, 초기 작성 시에 있어서는 이용 가능 「○」을 기록한다.
도 13은 도 12의 처리에 의해 작성한 실 어드레스 영역 이용표로부터 인터리브 제어의 웨이수에 따른 메모리 구성의 논리 어드레스표를 작성하여 CPU의 사용 영역을 결정하는 컴퓨터 시스템의 흐름도이다.
도 13에 있어서, 컴퓨터 시스템은, 단계 S1에서 전원 기동에 따라 초기화와 진단을 실행하여, 단계 S2라도 메모리 이상이 검출되면, 단계 S3에서 이상 메모리 모듈의 소자 선택 어드레스와 메모리 소자 어드레스를 취득하고, 단계 S4에서, 이미 작성한 실 어드레스 영역 이용표의 이상 개소에 대응한 분할 영역에 사용 금지 정보를 기록한다. 물론 단계 S2에서 메모리 이상이 없으면, 단계 S3, 단계 S4의 처리는 스킵한다.
계속해서 단계 S5에서 메모리 구성의 웨이수를 취득하여, 단계 S6에서 실 어드레스 영역 이용표로부터 웨이수로 결정되는 메모리 구성의 논리 어드레스 영역 이용표를 작성하여, CPU의 이용 영역을 결정한다.
계속해서 단계 S7에서 컴퓨터의 부팅 처리에 따라 OS의 설치를 행하여, 단계 S8에서 애플리케이션에 의한 운용 처리에 들어간다. 이 운용 처리 중에 단계 S9에서 메모리 구성의 변경이 있으면, 단계 S5로 되돌아가, 이 메모리 구성의 변경에 따른 변경 후의 웨이수를 취득하고, 단계 S6에서 실 어드레스 영역 이용표로부터 메모리 구성 변경 후의 웨이수로 결정되는 메모리 구성의 논리 어드레스 영역 이용표를 작성하여 CPU의 이용 영역을 결정하며, 재기동 등에 의해 단계 S7에서의 OS의 인스톨을 지나, 단계 S8의 애플리케이션에 의한 운용 처리에 들어간다.
도 14는 도 13의 단계 S6에 의한 1웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도이다. 도 14에 있어서, 단계 S1에서 인터리브에 의한 메모리 구성이 1웨이인 것을 판별하면, 단계 S2로 진행하여, 도 10(A)의 1웨이 서치 레지스터(46-1)에 실 어드레스 영역 이용표(48)의 실 어드레스측의 4 비 트를 배치한 후, 단계 S3에서 어드레스 XY를 올 0에 세트하고, 단계 S4에서 어드레스 XYZ에 대해 실 어드레스 영역 이용표(48)에 있어서의 A0= 0의 영역과 A0= 1의 영역의 이용 플래그를 조사한다.
단계 S5에서 2개의 영역의 양쪽이 이용 허가 「○」이면 단계 S6을 스킵하고, 적어도 어느 한쪽이 이용 금지 「×」인 경우에는 단계 S6에서 도 10(C)의 1웨이 논리 어드레스 영역 이용표(50-1)에, 그 때의 어드레스 XYZ에 대응한 영역에 사용 금지 「×」를 기록한다.
계속해서 단계 S7에서 어드레스 XYZ가 최종 어드레스인지의 여부를 체크하여, 최종 어드레스가 아니면, 단계 S8에서 어드레스 XYZ를 하나 인크리먼트하고, 단계 S4로부터의 처리를 반복한다.
도 15는 도 14에 계속되는 2웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도이다. 도 15에 있어서는, 단계 S9에서 메모리 구성이 2웨이인 것을 판별하면, 단계 S10으로 진행하여, 도 11(A)에 도시한 2웨이 서치 레지스터(46-2)에 도 11(B)의 실 어드레스 영역 이용표(48)의 어드레스를 세트한다.
계속해서 단계 S11에서 어드레스 XYZ를 올 0의 초기값에 세트한 후, 단계 S12에서 어드레스 XY에 대해 B0= 0와 B0= 1의 2개의 영역의 이용 플래그를 조사한다. 계속해서 단계 S13에서 2개의 영역의 이용 플래그의 양쪽이 이용 허가 「○」의 경우는, 단계 S14는 스킵한다.
적어도 어느 한쪽이 이용 금지 「×」인 경우에는 단계 S14로 진행하여, 도 11(C)에 도시한 2웨이 논리 어드레스 영역 이용표(50-2)의 어드레스 XYZ에 대응한 영역에 이용 금지 「×」를 기록한다. 계속해서 단계 S15에서 어드레스 XYZ가 최종어드레스인지의 여부를 체크하여, 그렇지 않으면 단계 S16으로 되돌아가 어드레스 XYZ를 하나 인크리먼트하고, 단계 S12로부터의 처리를 반복한다.
다음으로 도 1의 메모리 컨트롤러(10)에 설치한 인터리브 제어부(16)에 있어서, 인터리브 제어에 의한 메모리 구성으로서, 1웨이, 2웨이 및 4웨이의 메모리 재구성이 가능한 경우의 실 어드레스 영역 이용표의 작성과, 그로부터 생성하는 논리 어드레스 영역 이용표의 작성을 설명한다.
도 16은 4웨이 인터리브의 메모리 구성에 의한 어드레스 변환 기구의 설명도 이고, 메모리 컨트롤러(10)에 있어서의 입력 어드레스 레지스터(26)에 대해, 출력 어드레스 레지스터(28) 및 모듈 선택 레지스터(30)는 도시와 같이 접속되며, 이에 따라 4웨이 메모리 구성(24-3)을 확립한다.
도 17 및 도 18은 도 16의 4웨이 인터리브의 어드레스 변환에 대응한 4웨이 어드레스맵(38-3)의 설명도이다.
도 19는 4웨이 인터리브에 의한 메모리 모듈의 액세스의 설명도이다. 도 19에 있어서, 4웨이의 인터리브 제어에 있어서는, 256 바이트 사이즈를 갖는 메모리 모듈(14-1∼14-4)을 CPU측의 분할수 8에 따른 128 바이트 영역으로 나누고, 화살표(66-1∼66-3)에 도시한 바와 같이, 메모리 모듈(14-1∼14-4)의 전반에 대해, 동일 어드레스를 지정한 상태로 소자 선택 어드레스에 의해 메모리 모듈(14-1, 14-2, 14-3, 14-4)을 순서대로 선택하여, 4웨이 인터리브의 액세스를 행한다.
이것을 메모리 모듈(14-1∼14-4)의 전반 영역에 대해 반복한 후, 후반 영역 에 대해 화살표(68-1, 68-2, 68-3)로 나타낸 바와 같이, 4개의 메모리 모듈(14-1∼14-4)에 대해 동일 어드레스를 지정한 상태로 소자 선택 어드레스에 의해 순차 전환하여, 4 인터리브에 의한 액세스를 반복한다.
이러한 4웨이의 인터리브 제어에 의한 도 17 및 도 18의 4웨이 어드레스맵(38-3)에 있어서는, 우선 제1 어드레스 영역(64-1)에 나타낸 바와 같이, 각 메모리 모듈(14-1∼14-4)에 대해, 어드레스 10진 표시에 도시한 바와 같이 어드레스 번호(0, 4, 8, …)로 4 어드레스씩 뛰어넘어 4웨이 인터리브에 의한 액세스를 행하고, 계속해서 제2 어드레스 영역(64-2)과 같이, 10진 표시에서 어드레스 번호(1, 5, 7, …)와 같이 4 어드레스 간격으로 되는 인터리브를 행하며, 또한 제3 어드레스 영역(64-3)에서 어드레스 번호(2, 6, 12, …)와 같이 4웨이 인터리브의 액세스를 행하고, 또한 도 18의 제4 어드레스 영역(64-4)에 나타낸 바와 같이 어드레스 번호(3, 7, 11, …)로 하는 4웨이 인터리브에 의한 액세스를 행하게 된다.
도 20은 1웨이, 2웨이, 4웨이로 메모리 재구성 가능한 경우에 작성되는 실 어드레스 영역 이용표와, 그로부터 1웨이 메모리 구성 시의 CPU 어드레스의 논리 어드레스 영역 이용표를 작성하는 처리의 설명도이다.
도 20(A)은 도 20(B)의 실 어드레스 영역 이용표(72)로부터 1웨이 논리 어드레스표를 작성하기 위해 사용하는 1웨이 서치 레지스터(70-1)의 설명도이다.
우선 도 20(B)의 1웨이, 2웨이 및 4웨이에 대응한 실 어드레스 영역 이용표(72)는 도 10(B)에 도시한 1웨이와 2웨이에 대응한 실 어드레스 영역 이용표(48)에, 메모리 어드레스 비트(A1)를 더 추가한 4 비트로 하는 것으로, 실 어드레스 영 역을 32 영역으로 분할하고 있다.
도 20(A)의 1웨이 서치 레지스터(70-1)는, 도 10(A)의 1웨이 서치 레지스터(46-1)에 메모리 어드레스의 어드레스 비트 A1= 0/1를 부가하고, 이 1웨이 서치 레지스터(70-1)를 사용하여 실 어드레스 영역 이용표(72)를 조사하는 것으로, 도 10(C)에 도시한 것과 동일한 1웨이 논리 어드레스 영역 이용표(50-1)를 작성할 수 있다.
1웨이 서치 레지스터(70-1)에 의한 실 어드레스 영역 이용표(72)의 조사는, 4개의 영역을 1그룹으로 한 그룹(78-1∼78-8)의 각각에 대해, 4영역의 이용 플래그가 전부 이용 가능 「○」이면, 도 10(C)의 1웨이 논리 어드레스 영역 이용표(50-1)의 대응하는 이용 플래그에 이용 가능 「○」을 기록한다.
1그룹을 구성하는 영역 중 적어도 어느 하나가 이용 금지 「×」이면, 도 10(C)의 1웨이 논리 어드레스 영역 이용표(50-1)의 이용 플래그에 이용 금지 「×」를 기록한다.
도 21은 도 20(B)과 동일한 실 어드레스 영역 이용표(72)를 사용하여, 도 21(A)의 2웨이 서치 레지스터(70-2)에 의해 조사하여, 도 11(C)와 동일한 2웨이 논리 어드레스 영역 이용표(50-2)를 작성하는 처리이다.
이 경우에는, 2웨이 서치 레지스터(70-2)에 의해 실 어드레스 영역 이용표(72)의 오른쪽에 화살표로 나타내는 4개의 영역의 그룹(80-1∼80-8)의 각각의 이용 플래그를 조사하여, 4개의 영역의 이용 플래그가 전부 이용 가능 「○」이면 2웨이 논리 어드레스 영역 이용표(50-2)에 이용 가능 「○」를 기록하고, 4개의 영 역 중 적어도 어느 하나가 이용 불가 「×」이면 2웨이 논리 어드레스 영역 이용표(50-2)에 이용 금지 「×」를 기록한다.
도 22는 도 20(B)와 동일한 실 어드레스 영역 이용표(72)를 사용하여 4웨이의 메모리 구성에 대응한 논리 어드레스 영역 이용표를 작성하는 처리의 설명도이다. 도 22(A)는 실 어드레스 영역 이용표(72)의 조사에 사용하는 4웨이 서치 레지스터70-3이며,
X= A1
Y= A0
Z= A7
B0= 0/1
B1= 0/1
을 세트한다.
즉, 어드레스 XYZ를 000∼111로 변화시키면서 각 위치마다에 B1, B0를 00, 01, 10, 11의 4단계로 변화시켜, 실 어드레스 영역 이용표(72)를 조사한다.
이 4웨이 서치 레지스터(70-3)를 이용한 실 어드레스 영역 이용표(72)의 조사에 의해, 그 오른쪽에 화살표로 나타내는 4영역의 그룹(82-1∼82-8)에 대해, 4영역의 이용 플래그가 전부 이용 가능 「○」이면, 도 23의 4웨이 논리 어드레스 영역 이용표(50-3)의 대응하는 이용 플래그에 이용 가능 「○」를 기록한다. 한편, 4영역 중 적어도 어느 하나의 이용 플래그가 이용 금지 「×」이면, 도 23의 4웨이 논리 어드레스 영역 이용표(50-3)의 이용 플래그에 이용 금지 「×」를 저장한다.
이러한 실 어드레스 영역 이용표(48)로부터 작성된 도 23의 4웨이 논리 어드레스 영역 이용표(50-3)를 보면, CPU 영역의 8번째의 영역 #7이 이용 금지 「×」라고 되어 있다.
이와 같이, 1웨이, 2웨이, 4웨이에 대해 메모리 구성이 재구성 가능한 경우에 대해서도, 메모리 소자 어드레스로부터 본 하나의 실 어드레스 영역 이용표(72)를 작성하여 보존해 두는 것으로, 그 후는 메모리 구성이 확정될 때마다, 그 메모리 구성을 확정하는 인터리브 제어의 웨이수에 따른 실 어드레스 영역 이용표의 조사, 즉 변환 조작에 의해, 각각의 웨이수에 대응한 논리 어드레스 영역 이용표를 작성하여, CPU측의 사용 가능 영역을 결정할 수 있다.
도 24는 도 20에 도시한 실 어드레스 영역 이용표로부터 1웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리이며, 단계 S1에서 1웨이를 판별하면, 단계 S2에서 실 어드레스 영역 이용표(72)의 어드레스를 1웨이 서치 레지스터(70-1)에 세트하고, 단계 S3에서 어드레스 XYZ를 초기값에 세트한 후, 단계 S4에서 어드레스 XYZ에 대해 A1, A0= 00, 01, 10, 11의 4영역에 대해 이용 플래그를 조사한다.
계속해서 단계 S5에서 4영역의 모두가 이용 허가이면 단계 S6은 스킵하고, 적어도 어느 하나가 이용 금지이면 단계 S6에서 1웨이 논리 어드레스 영역 이용표의 어드레스 XYZ에 사용 금지를 기록한다. 이러한 처리를 단계 S7에서 어드레스 XY의 최종 어드레스를 판별할 때까지, 단계 S8에서 어드레스 XY를 인크리먼트하면서 반복한다.
도 25는 도 21에 있어서 실 어드레스 영역 이용표(72)로부터 2웨이 메모리 구성 시의 논리 어드레스 영역 이용표를 작성하는 처리의 흐름도이다. 도 25에 있어서, 단계 S9에서 2웨이의 메모리 구성을 판별하면, 단계 S10에서 실 어드레스 영역 이용표(72)의 어드레스를 2웨이 서치 레지스터(70-2)에 세트하고, 단계 S11에서 어드레스 XYZ를 초기 어드레스에 세트한 후, 단계 S12에서 어드레스 XYZ에 대해 A1, B0= 00, 01, 10, 11의 4영역의 이용 플래그를 조사한다.
계속해서 단계 S13에서 4영역의 모두가 이용 허가 「○」이면 단계 S14는 스킵하고, 적어도 어느 하나가 이용 불가 「×」이면 단계 S14에서 2웨이 논리 어드레스 영역 이용표의 어드레스 XYZ의 영역에 이용 금지 「×」를 기록한다. 이 단계 S12로부터의 처리를, 단계 S15에서 최종 어드레스를 판별할 때까지, 단계 S16에서 어드레스를 인크리먼트하면서 반복한다.
도 26은 도 22 및 도 23에 있어서의 실 어드레스 영역 이용표(72)로부터 4웨이구성 시의 논리 어드레스 영역 이용표(50-3)를 작성하는 처리의 흐름도이다. 도 26에 있어서, 단계 S17에서 4웨이의 메모리 구성을 판별하면, 단계 S18에서 실 어드레스 영역 이용표(72)의 어드레스를 4웨이 서치 레지스터(70-3)에 세트하고, 단계 S19에서 어드레스 XYZ를 초기값에 세트한 후, 단계 S20에서 어드레스 XYZ에 대해 B1, B0= 00, 01, 10, 11의 4영역의 이용 플래그를 조사한다.
계속해서 단계 S21에서, 4영역의 모두가 이용 허가 「○」이면 단계 S22는 스킵하고, 적어도 어느 하나가 이용 금지 「×」이면 단계 S22로 진행하여, 도 23의 4웨이 논리 어드레스 영역 이용표(50-3)의 이용 플래그에 이용 금지 「×」를 기록한다. 이 단계 S20로부터의 처리를, 단계 S23에서 최종 어드레스를 판별할 때까지, 단계 S24에서 어드레스를 인크리먼트하면서 반복한다.
또한 본 발명은, 컴퓨터 시스템의 메모리 컨트롤러, 즉 메모리 제어 장치에서 실행되는 프로그램을 제공하는 것으로, 이 프로그램은 도 12, 도 13, 도 14, 도 15, 도 24, 도 25, 도 26의 흐름도에 도시한 내용을 갖게 된다.
또한 상기의 실시형태는, CPU의 논리 어드레스 공간의 분할수 N을 N= 8, 인터리브 제어의 웨이수를 1웨이, 2웨이, 4웨이로 한 경우를 예로 드는 것이지만, CPU 공간의 분할수 N 및 인터리브 제어의 웨이수(W)는 필요에 따라 임의로 정할 수 있고, 바람직하게는 각각 2의 누승수(거듭제곱)로서 정하는 것이 바람직하다.
또한 상기의 실시형태는, 설명을 간단히 하기 위해, 메모리 모듈 한개당 사이즈를 256 바이트로 한 경우를 예로 드는 것이었지만, 이 메모리 모듈의 메모리 사이즈에 대해서도 필요에 따라 적절한 값을 들 수 있다.
또한 상기의 실시형태에 있어서는, 컴퓨터 시스템의 기동 시와 메모리 재구성 시에 있어서의 실 어드레스 영역 이용표로부터의 논리 어드레스 영역 이용표의 작성 처리를 예로 드는 것이었지만, 이 실 어드레스 영역 이용표로부터의 작성 처리는, 이외에, 전원 다운에 수반하는 재기동 시, 시스템 전환에 의한 재구성 시 등, 적절한메모리 구성의 타이밍, 나아가서는 메모리 모듈에 대해 새로운 이상 개소를 검출했을 때에 행하도록 하더라도 좋다.
특히 메모리 모듈의 고장 검출에 대해서는, 보존하고 있는 실 어드레스 영역 이용표의 대응하는 영역의 허가 플래그를 이용 금지에 재기록하는 처리를 이상 검 출이 행해질 때마다 실행하는 것이 바람직하다. 이에 따라, 메모리 이상에 의한 축퇴 상황을 리얼 타임으로 반영한 CPU측에 있어서의 메모리 영역의 이용에 반영한 제어를 행할 수 있다.
또한 본 발명은 그 목적과 이점을 손상하지 않는 적절한 변형을 포함하고, 또한 상기의 실시형태에 나타낸 수치에 의한 한정은 받지 않는다.

Claims (18)

  1. 논리 어드레스를 실 어드레스로 변환하여 메모리를 액세스하는 메모리 제어 방법에 있어서,
    상기 메모리의 이상을 검출했을 때에, 상기 메모리의 실 어드레스 공간의 이용 가능 정보를 기록한 실 어드레스 영역 이용표 중의, 상기 이상이 검출된 메모리에 대응하는 영역에 이용 금지 정보를 기록하는 단계와,
    상기 실 어드레스 영역 이용표로부터, 상기 논리 어드레스 공간에 있어서의 각 영역의 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하는 단계
    를 포함하는 것을 특징으로 하는 메모리 제어 방법.
  2. CPU로부터의 논리 어드레스를 소자 선택 어드레스와 메모리 소자 어드레스로 구성되는 실 어드레스로 변환하여 복수의 메모리 소자를 액세스하는 메모리 제어 방법에 있어서,
    N 영역으로 분할된 논리 어드레스 공간을 갖는 CPU의 논리 어드레스를 웨이수(number of ways, W)로 결정되는 실 어드레스로 변환하여 상기 복수의 메모리 소자를 인터리브 제어에 의해 액세스하고, 상이한 웨이수(W)의 지정에 의해 메모리 구성을 재구성할 수 있는 인터리브 제어 단계와,
    상기 메모리 소자의 이상을 검출했을 때에, 상기 복수의 메모리 소자로 구성되는 실 어드레스 공간을, 상기 CPU 논리 어드레스 공간의 영역수(N)에 상기 인터리브 제어의 최대 웨이수(Wmax)를 곱한 (N× Wmax) 영역으로 분할하여, 이용 가능 정보를 기록한 실 어드레스 영역 이용표의 이상(異常) 개소를 포함하는 영역에 이용 금지 정보를 기록하는 실 어드레스 영역 관리 단계와,
    상기 인터리브 제어 단계의 웨이수(W)로 결정되는 메모리 구성에 대응하여, 상기 실 어드레스 영역 이용표로부터 상기 논리 어드레스 공간에 있어서의 각 영역의 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하는 논리 어드레스 영역 관리 단계
    를 포함하는 것을 특징으로 하는 메모리 제어 방법.
  3. 제2항에 있어서, 상기 인터리브 제어 단계는, 2의 누승수로 되는 상이한 웨이수(W) 중 어느 하나가 지정에 의해 메모리 구성을 재구성하는 것을 특징으로 하는 메모리 제어 방법.
  4. 제2항에 있어서,
    상기 인터리브 제어 단계는, 웨이수 1 또는 2의 지정에 의해 메모리 재구성이 가능하고,
    상기 실 어드레스 영역 관리 단계는,
    소자 선택 어드레스의 하위 2 비트,
    실 어드레스의 최상위 비트, 및
    실 어드레스의 최하위 비트
    의 4 비트 어드레스에 의해 상기 CPU 논리 어드레스 공간의 영역수(N)에 상기 인터리브 제어의 최대 웨이수 2를 곱하여 (N× 2) 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 실 어드레스 영역 이용표를 생성하고,
    상기 논리 어드레스 영역 관리 단계는, 상기 인터리브 제어 단계가 1웨이로 결정되는 메모리 구성인 경우, 상기 실 어드레스 영역 이용표의
    소자 선택 어드레스의 하위 2 비트, 및
    실 어드레스의 최하위 비트
    의 3 비트 어드레스에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 1웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하고,
    또한, 상기 논리 어드레스 영역 관리 단계는, 상기 인터리브 제어 단계가 2웨이로 결정되는 메모리 구성인 경우, 상기 실 어드레스 영역 이용표의
    소자 선택 어드레스의 하위 제2 비트,
    실 어드레스의 최하위 비트, 및
    실 어드레스의 최상위 비트
    의 3 비트 어드레스에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 2웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하는 것을 특징으로 하는 메모리 제어 방법.
  5. 제2항에 있어서,
    상기 인터리브 제어 단계는, 웨이수 1 또는 2의 지정에 의해 메모리 재구성이 가능하고,
    상기 실 어드레스 영역 관리 단계는,
    소자 선택 어드레스의 하위 2 비트,
    실 어드레스의 최상위 비트, 및
    실 어드레스의 최하위 비트
    의 4 비트 어드레스에 의해 상기 CPU 논리 어드레스 공간의 영역수(N)에 상기 인터리브 제어의 최대 웨이수 2를 곱하여 (N× 2) 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 실 어드레스 영역 이용표를 생성하는 것을 특징으로 하는 메모리 제어 방법.
  6. 제2항에 있어서,
    상기 인터리브 제어 단계는, 웨이수 1 또는 2의 지정에 의해 메모리 재구성이 가능하고,
    상기 논리 어드레스 영역 관리 단계는, 상기 인터리브 제어 단계가 1웨이로 결정되는 메모리 구성인 경우, 상기 실 어드레스 영역 이용표의
    소자 선택 어드레스의 하위 2 비트, 및
    실 어드레스의 최하위 비트
    의 3 비트 어드레스에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 1웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하는 것을 특징으로 하는 메모리 제어 방법.
  7. 제2항에 있어서,
    상기 인터리브 제어 단계는, 웨이수 1 또는 2의 지정에 의해 메모리 재구성이 가능하고,
    상기 논리 어드레스 영역 관리 단계는, 상기 인터리브 제어 단계가 2웨이로 결정되는 메모리 구성인 경우, 상기 실 어드레스 영역 이용표의
    소자 선택 어드레스의 하위 제2 비트,
    실 어드레스의 최하위 비트, 및
    실 어드레스의 최상위 비트
    의 3 비트 어드레스에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 2웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하는 것을 특징으로 하는 메모리 제어 방법.
  8. 제2항에 있어서,
    상기 인터리브 제어 단계는, 웨이수 1, 2 또는 4의 지정에 의해 메모리 재구성 가능하고,
    상기 실 어드레스 영역 관리 단계는,
    소자 선택 어드레스의 하위 2 비트,
    실 어드레스의 최상위 비트, 및
    실 어드레스의 하위 2 비트
    의 5 비트 어드레스에 의해 상기 CPU 논리 어드레스 공간의 영역수(N)에 상기 인터리브 제어의 최대 웨이수 4를 곱하여 (N× 4) 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 실 어드레스 영역 이용표를 생성하고,
    상기 논리 어드레스 영역 관리 단계는, 상기 인터리브 제어 단계가 1웨이로 결정되는 메모리 구성인 경우, 상기 실 어드레스 영역 이용표의
    소자 선택 어드레스의 하위 2 비트, 및
    실 어드레스의 최하위 비트
    의 3 비트 어드레스에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 1웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하며,
    또한 상기 논리 어드레스 영역 관리 단계는, 상기 인터리브 제어 단계가 2웨이로 결정되는 메모리 구성인 경우, 상기 실 어드레스 영역 이용표의
    소자 선택 어드레스의 하위 제2 비트,
    실 어드레스의 최하위 비트, 및
    실 어드레스의 최상위 비트
    의 3 비트 어드레스에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 2웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하고,
    또한 상기 논리 어드레스 영역 관리 단계는, 상기 인터리브 제어 단계가 4웨이로 결정되는 메모리 구성인 경우, 상기 실 어드레스 영역 이용표의
    실 어드레스의 하위 2 비트 및
    실 어드레스의 최상위 비트
    의 3 비트 어드레스에 의해 N 분할된 각 영역에 이용 허가 정보 또는 이용 금지 정보를 기록한 4웨이 논리 어드레스 영역 이용표를 작성하여, 상기 CPU가 사용하는 상기 논리 어드레스 공간의 영역을 결정하는 것을 특징으로 하는 메모리 제어 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. CPU로부터의 논리 어드레스를 소자 선택 어드레스와 메모리 소자 어드레스로 구성되는 실 어드레스로 변환하여, 복수의 메모리 소자를 액세스하는 메모리 제어 장치의 컴퓨터에서,
    N 영역으로 분할된 논리 어드레스 공간을 이용한 CPU의 논리 어드레스를 웨이수(W)로 결정되는 실 어드레스로 변환하여 상기 복수의 메모리 소자를 인터리브 제어에 의해 액세스하고, 상이한 웨이수(W)의 지정에 의해 메모리 구성을 재구성할 수 있는 인터리브 제어 단계와,
    상기 복수의 메모리 소자로 구성되는 실 어드레스 공간을, 상기 CPU 논리 어드레스 공간의 영역수(N)에 상기 인터리브 제어의 최대 웨이수(Wmax)를 곱한 (N× Wmax) 영역으로 분할하여 이용 가능 정보를 기록한 전체 웨이수에 공통인 실 어드레스 영역 이용표를 작성하고, 상기 메모리 소자의 이상을 검출했을 때에 상기 실 어드레스 영역 이용표의 이상 개소를 포함하는 영역에 이용 금지 정보를 기록하는 실 어드레스 영역 관리 단계와,
    상기 인터리브 제어 단계의 웨이수(W)로 결정되는 메모리 구성에 대응하여, 상기 실 어드레스 영역 이용표로부터 상기 논리 어드레스 공간에 있어서의 각 영역에 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하는 논리 어드레스 영역 관리 단계
    를 실행시키는 것을 특징으로 하는 메모리 제어 프로그램을 기록한 컴퓨터 판독 가능한 기억 매체.
  14. 실 어드레스에 의해 복수의 메모리 소자를 액세스하는 메모리 제어 장치에 있어서,
    CPU의 논리 어드레스를 실 어드레스로 변환하여 상기 복수의 메모리 소자를 액세스하는 제어부와,
    상기 복수의 메모리 소자로 구성되는 실 어드레스 공간에 있어서의 메모리 소자의 이용 가능 정보를 기록한 실 어드레스 영역 이용표의 이상이 검출된 메모리 소자에 대응하는 영역에 이용 금지 정보를 기록하는 실 어드레스 영역 관리부와,
    상기 실 어드레스 영역 이용표로부터, 상기 논리 어드레스 공간에 있어서의 각 영역에 이용 가능 정보 또는 이용 금지 정보를 기록한 논리 어드레스 영역 이용표를 생성하여, 상기 CPU가 이용하는 상기 논리 어드레스 공간의 영역을 결정하는 논리 어드레스 영역 관리부
    를 포함하는 것을 특징으로 하는 메모리 제어 장치.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 복수의 CPU로 구성되는 처리부와,
    상기 처리부에 접속되어, 정보를 기억하는 기억부와,
    상기 기억부로의 액세스를 제어하는 메모리 제어부를 구비한 정보 처리 장치에 있어서,
    상기 메모리 제어부는, 상기 CPU로부터의 논리 어드레스를 실 어드레스로 변환하여 상기 기억부를 액세스하는 제어부와,
    상기 기억부의 실 어드레스 공간의 영역마다에 상기 기억부의 이용 가부 정보를 기억한 제1 테이블에, 이상이 검출된 상기 기억부의 영역에 관한 이용 금지 정보를 기록하는 실 어드레스 관리부와,
    상기 제1 테이블 내용에 기초하여, 상기 논리 어드레스 공간에 있어서의 각 영역의 이용 가부 정보를 기록한 논리 어드레스 영역 이용표의 내용을 갱신하는 논리 어드레스 영역 관리부
    를 포함하는 것을 특징으로 하는 정보 처리 장치.
KR1020087008986A 2005-12-28 2005-12-28 메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치 KR101011171B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/024053 WO2007077595A1 (ja) 2005-12-28 2005-12-28 メモリ制御方法、プログラム及び装置

Publications (2)

Publication Number Publication Date
KR20080049824A KR20080049824A (ko) 2008-06-04
KR101011171B1 true KR101011171B1 (ko) 2011-01-26

Family

ID=38227962

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087008986A KR101011171B1 (ko) 2005-12-28 2005-12-28 메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치

Country Status (6)

Country Link
US (1) US8219881B2 (ko)
EP (1) EP1967955A4 (ko)
JP (1) JP4810542B2 (ko)
KR (1) KR101011171B1 (ko)
CN (1) CN101292229B (ko)
WO (1) WO2007077595A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101553651B1 (ko) * 2009-10-13 2015-09-17 삼성전자 주식회사 다중 뱅크 메모리 액세스 장치
US9256531B2 (en) 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
CN103197999B (zh) * 2013-03-22 2016-08-03 北京百度网讯科技有限公司 一种内存故障自动定位方法及装置
US9495291B2 (en) * 2013-09-27 2016-11-15 Qualcomm Incorporated Configurable spreading function for memory interleaving
US9043638B1 (en) * 2014-11-14 2015-05-26 Quanta Computer Inc. Method for enhancing memory fault tolerance

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312120A (ja) 1998-04-28 1999-11-09 Nec Eng Ltd 記憶装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5532188A (en) * 1978-08-29 1980-03-06 Nec Corp Reconstruction controller of memory module
JPS5552600A (en) * 1978-10-13 1980-04-17 Nec Corp Main memory unit
US4736293A (en) * 1984-04-11 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Interleaved set-associative memory
JPH01156852A (ja) * 1987-12-15 1989-06-20 Nec Corp インターリーブ制御方式
JPH02166543A (ja) 1988-12-21 1990-06-27 Nec Ibaraki Ltd 複数メモリ用動作制御装置
JPH0430231A (ja) * 1990-05-25 1992-02-03 Hitachi Ltd 主記憶アドレッシング方式
JPH04145557A (ja) 1990-10-05 1992-05-19 Nec Corp 記憶装置の障害処理方式
JPH04165548A (ja) 1990-10-30 1992-06-11 Fujitsu Ltd メモリアドレス制御方式
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
EP0615190A1 (en) * 1993-03-11 1994-09-14 Data General Corporation Expandable memory for a digital computer
US5524231A (en) * 1993-06-30 1996-06-04 Intel Corporation Nonvolatile memory card with an address table and an address translation logic for mapping out defective blocks within the memory card
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
JP4315488B2 (ja) * 1998-06-30 2009-08-19 ソニー株式会社 データ記憶装置、データ処理装置、データ処理システム並びにデータ処理方法
US6748480B2 (en) * 1999-12-27 2004-06-08 Gregory V. Chudnovsky Multi-bank, fault-tolerant, high-performance memory addressing system and method
JP3741258B2 (ja) * 2000-03-31 2006-02-01 シャープ株式会社 半導体記憶装置およびその救済方法
JP2002278836A (ja) * 2001-03-15 2002-09-27 Oki Electric Ind Co Ltd キャッシュメモリ
DE10127194B4 (de) * 2001-06-05 2008-08-21 Infineon Technologies Ag Verfahren und Vorrichtung zum Ausblenden von nicht funktionstüchtigen Speicherzellen
US6874070B2 (en) * 2002-02-22 2005-03-29 Hewlett-Packard Development Company, L.P. System and method for memory interleaving using cell map with entry grouping for higher-way interleaving
JP4145557B2 (ja) 2002-04-24 2008-09-03 東芝機械株式会社 主軸端面清掃機能を有する自動工具交換装置およびそのシーケンス制御装置
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
JP4165548B2 (ja) 2005-10-06 2008-10-15 株式会社日立製作所 利用条件販売型デジタルコンテンツ販売電子モールシステム
US7486537B2 (en) * 2006-07-31 2009-02-03 Sandisk 3D Llc Method for using a mixed-use memory array with different data states

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312120A (ja) 1998-04-28 1999-11-09 Nec Eng Ltd 記憶装置

Also Published As

Publication number Publication date
CN101292229A (zh) 2008-10-22
US20080189493A1 (en) 2008-08-07
JP4810542B2 (ja) 2011-11-09
EP1967955A1 (en) 2008-09-10
US8219881B2 (en) 2012-07-10
JPWO2007077595A1 (ja) 2009-06-04
WO2007077595A1 (ja) 2007-07-12
EP1967955A4 (en) 2009-10-21
CN101292229B (zh) 2012-05-30
KR20080049824A (ko) 2008-06-04

Similar Documents

Publication Publication Date Title
EP0394436B1 (en) Automatically variable memory interleaving system
KR101011171B1 (ko) 메모리 제어 방법, 기억 매체 및 장치와 정보 처리 장치
US4254463A (en) Data processing system with address translation
JPH03290765A (ja) ビットマップ・イメージの90度回転方法
US5668974A (en) Memory with variable levels of interleaving and associated configurator circuit
KR100757128B1 (ko) 플래시 메모리를 이용한 메모리 카드 및 그 제어 방법
US4489403A (en) Fault alignment control system and circuits
US4378590A (en) Register allocation apparatus
JPS621047A (ja) メモリ回路を有する半導体装置
US4599721A (en) Programmable cross bar multiplexer
US4497020A (en) Selective mapping system and method
US4435754A (en) Method of selecting PROM data for selective mapping system
JPH0562380B2 (ko)
JPS5844263B2 (ja) 記憶制御回路
JP2016139447A (ja) 半導体記憶装置およびデータ書き込み方法
CN114328298B (zh) 一种用于向量存取的片内存储器地址映射系统及方法
JPS5994283A (ja) バツフアメモリ制御装置
JP2787958B2 (ja) 文字パターン発生器
CN107704330A (zh) 具有由单独的虚拟区域管理的多个信息存储表的存储器设备及其控制方法
JPH0259560B2 (ko)
RU2115160C1 (ru) Устройство динамического изменения адресов памяти
JPH0244445A (ja) データ処理装置
JPS5993489A (ja) 縦/横パタ−ン変換方式
JP2970822B2 (ja) タイムスロット入替え回路
JP2000285696A (ja) メモリテスト装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee