KR20080061044A - 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법 - Google Patents

다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법 Download PDF

Info

Publication number
KR20080061044A
KR20080061044A KR1020060135801A KR20060135801A KR20080061044A KR 20080061044 A KR20080061044 A KR 20080061044A KR 1020060135801 A KR1020060135801 A KR 1020060135801A KR 20060135801 A KR20060135801 A KR 20060135801A KR 20080061044 A KR20080061044 A KR 20080061044A
Authority
KR
South Korea
Prior art keywords
region
spd
area
data
memory module
Prior art date
Application number
KR1020060135801A
Other languages
English (en)
Other versions
KR100894251B1 (ko
Inventor
신영준
김형석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060135801A priority Critical patent/KR100894251B1/ko
Priority to US12/000,131 priority patent/US8037275B2/en
Publication of KR20080061044A publication Critical patent/KR20080061044A/ko
Application granted granted Critical
Publication of KR100894251B1 publication Critical patent/KR100894251B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

다중화된 SPD 롬을 가지는 메모리 모듈 시스템 및 메모리 모듈 시스템의 부팅 방법이 개시된다. 메모리 모듈 시스템은 제1 영역과 제2 영역을 포함하는 적어도 두 개 이상의 영역으로 나누어진 SPD 롬 및 초기화 신호가 입력되면 제1 영역과 제2 영역에 동일하게 쓰여진 SPD 데이터의 비교 결과에 기초하여 시스템을 부팅하는 메모리 컨트롤러를 포함한다. 메모리 모듈 시스템은 제1 영역과 제2 영역의 SPD 데이터가 다른 경우에도 안정적으로 시스템을 부팅한다.

Description

다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그 부팅 방법{Memory module system with multiple SPD ROM and boothing method of the memory module system}
도 1은 종래 기술에 따른 SPD 롬의 구성을 나타내는 블록도이다.
도 2는 기존의 SPD 롬을 사용하는 경우 시스템이 부팅되는 과정을 나타내는 플로우 차트이다.
도 3은 3은 본 발명의 일 실시예에 따른 다중화된 SPD 롬을 사용하는 메모리 모듈 시스템을 나타내는 블록도이다.
도 4a는 본 발명의 일 실시예에 따른 다중화된 SPD 롬의 구성을 나타내는 블록도이다.
도 4b는 도 4a의 SPD 롬의 내부 구성을 나타내는 블록도이다.
도 5는 도 3의 SPD 롬이 3 개 이상의 다중화된 영역으로 구성되는 경우를 나타내는 블록도이다.
도 6은 본 발명의 일 실시예에 따른 메모리 모듈 시스템의 부팅 방법을 나태는 플로우 차트이다.
<도면의 주요 부분에 대한 설명>
310: 메모리 컨트롤러 320: 메모리 모듈
330: SPD 롬 340: 제1 영역
350: 제2 영역
본 발명은 시스템 부팅 장치 및 방법에 관한 것으로, 보다 상세하게는 다중화된 SPD 롬을 사용하여 시스템을 부팅하는 메모리 모듈 시스템 및 그 부팅 방법에 관한 것이다.
대부분의 시스템은 운영체제를 비롯한 용용프로그램이 동작하기 이전의 초기 부팅, 기본적인 시스템 점검 및 응용프로그램 로딩을 위한 작은 소프트웨어 프로그램을 가지고 있다. 일반적으로 이러한 소프트웨어 프로그램은 시스템 내에 위치하는 롬(ROM) 형태의 디바이스에 저장된다. 이 롬은 다양한 종류가 사용될 수 있다. 이 롬을 SPD 롬이라 부른다.
도 1은 종래 기술에 따른 SPD 롬의 구성을 나타내는 블록도이다.
도 1을 참조하면, 기존의 SPD 롬(100)은 한 개의 영역으로 사용된다. 이와 같이 한 개의 영역으로 사용되는 SPD 롬(100)은 전체가 사용되는 것이 아니라, 일정한 부분만이 사용된다. 일반적으로 SPD 롬(100)은 크게 바뀌는 일이 없다. 그러나 초기 응용프로그램의 로딩 기능이나 점검 기능 등이 변경되는 경우에는 SPD 롬(100) 내의 소프트웨어 프로그램을 수정하여야 하므로 SPD 롬(100)의 변경이 불가피하다. 또한 SPD 롬(100)을 포함하는 시스템(미도시)의 소프트웨어 프로그램에 문제가 발생한 경우, 기존의 소프트웨어 프로그램으로 복구시키기 위하여 SPD 롬(100)의 변경이 필요하다. 이러한 예로는 응용 프로그램의 오작동으로 인한 SPD 롬 영역의 침범등을 들 수 있다.
SPD 롬(100)의 변경은 하드웨어적으로 직접 SPD 롬(100)을 변경하는 방법 또는 소프트웨어적으로 기존의 소트프웨어 프로그램을 수정하는 방법에 의하여 이루어질 수 있다. 하지만 이러한 변경 방법은 시간이 너무 많이 걸린다는 문제점이 있다.
도 2는 기존의 SPD 롬을 사용하는 경우 시스템이 부팅되는 과정을 나타내는 플로우 차트이다.
도 2를 참조하면, 시스템에 초기화 신호가 입력되면(S210), SPD 롬(100)으로부터 SPD 데이터를 읽어들인다(S220). SPD 데이터에 이상이 없으면(S230), 시스템의 부팅은 완료된다(S260). SPD 데이터에 이상이 있으면(S240), 외부의 저장장치를 이용하여 시스템의 부팅을 완료하거나(S250), 시스템이 다운된다(S270). 즉, SPD 데이터에 문제가 있을 경우에는 시스템이 다운되거나 외부의 저장장치를 이용하여야만 하므로 안정적인 시스템 부팅이 가능하지 않다. 이러한 문제는 단일한 SPD 롬을 사용하는데서 발생한다.
상기 문제점을 해결하기 위한 본 발명의 목적은 하나의 SPD 롬을 두 개 이상으로 나누어 시스템을 안정적으로 부팅하는 메모리 모듈 시스템을 제공하는데 있다.
본 발명의 다른 목적은 하나의 SPD 롬을 두 개 이상으로 나누어 시스템을 안정적으로 부팅하는 메모리 모듈 시스템의 부팅 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 메모리 모듈 시스템은 SPD 롬 및 메모리 컨트롤러를 포함한다.
상기 SPD 롬은 메모리 모듈에 장착되며 상기 메모리 모듈에 대한 SPD 데이터를 저장하는, 제1 영역과 제2 영역을 포함하는 적어도 두 개 이상의 영역으로 나누어진다. 상기 메모리 컨트롤러는 초기화 신호가 입력되면 상기 제1 영역과 제2 영역에 동일하게 쓰여진 상기 SPD 데이터의 비교 결과에 기초하여 시스템을 부팅한다.
실시예에서, 상기 제1 영역은 상기 SPD 데이터가 쓰여진 후 락이 걸려 읽기 동작만이 가능한 영역이고, 상기 제2 영역은 락이 걸리지 않아 읽기 및 쓰기 동작이 가능한 영역일 수 있다.
실시예에서, 상기 메모리 컨트롤러는 상기 비교결과 상기 제1 영역과 상기 제2 영역에서 읽혀진 SPD 데이터가 서로 다른 경우, 상기 제1 영역의 SPD 데이터를 상기 제2 영역으로 복제하여 상기 시스템을 부팅할 수 있다. 상기 제1 영역은 상기 SPD 롬의 상위 바이트 영역에 배치되고, 상기 제2 영역은 상기 SPD 롬의 하위 바이트 영역에 배치될 수 있다. 상기 적어도 두 개 이상의 영역에는 내부에 각각 해당하는 시작 어드레스가 할당될 수 있다.
실시예에서, 상기 SPD 롬은 불휘발성 메모리일 수 있다.
실시예에서, 상기 메모리 컨트롤러는 상기 비교결과 상기 제1 영역과 상기 제2 영역의 SPD 데이터가 다른 경우, 상기 제1 영역의 SPD 데이터를 직접 읽어들여 상기 시스템을 부팅할 수 있다. 상기 메모리 컨트롤러는 상기 시작 어드레스를 상기 상위 바이트로 지정하여 상기 제1 영역의 SPD 데이터를 읽어들여 상기 시스템을 부팅할 수 있다.
실시예에서, 상기 제2 영역의 SPD 데이터로 인해 정정이 필요한 경우, 상기 제1 영역의 락이 걸린 위치의 데이터를 읽어 들여 상기 제2 영역으로 SPD 데이터를 복제하여 상기 제2 영역의 SPD 데이터를 정정할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 메모리 모듈 시스템은 데이터를 저장하는 메모리 모듈, 상기 메모리 모듈에 장착되며 상기 메모리 모듈에 대한 SPD 데이터를 저장하는, 제1 영역과 제2 영역을 포함하는 적어도 두 개 이상의 영역으로 나누어진 SPD(serial presence detect) 롬 및 초기화 신호가 입력되면 상기 제1 영역과 상기 제2 영역에 동일하게 쓰여진 SPD 데이터의 비교결과에 기초하여 시스템을 부팅하는 메모리 컨트롤러를 포함한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 제1 영역과 제2 영역을 포함하여 적어도 두 개 이상의 영역으로 나누어진 SPD 롬을 포함하는 메모리 모듈 시스템의 부팅 방법은 초기화 신호를 입력 받는 단계, 상기 제1 영역과 상기 제2 영역에 동일하게 쓰여진 SPD 데이터를 읽어들이는 단계 및 상기 제1 영역과 상기 제2 영역의 상기 SPD 데이터의 비교 결과에 기초하여 시스템을 부팅하는 단계를 포함한다.
실시예에서, 상기 제1 영역은 상기 SPD 데이터가 쓰여진 후 락이 걸려 읽기 동작만이 가능한 영역이고, 상기 제2 영역은 읽기 및 쓰기 동작이 가능한 영역일 수 있다.
실시예에서, 상기 SPD 데이터의 비교 결과, 상기 제1 영역의 SPD 데이터와 상기 제2 영역의 SPD 데이터가 서로 다른 경우, 상기 제1 영역의 SPD 데이터를 상기 제2 영역의 SPD 데이터로 복제하는 단계를 더 포함할 수 있다.
실시예에서, 상기 제 1 영역은 상기 SPD 롬의 상위 바이트 영역에 배치되고, 상기 제 1 영역은 상기 SPD 롬의 하위 바이트 영역에 배치되고, 상기 적어도 2 개 이상의 영역에는 각각 시작 어드레스가 할당될 수 있다.
실시예에서, 상기 비교 결과 상기 제1 영역과 상기 제2 영역의 SPD 데이터가 다른 경우, 상기 제1 영역의 SPD 데이터를 직접 리드하여 상기 시스템을 부팅하는 단계를 더 포함할 수 있다. 상기 시작 어드레스를 상기 상위 바이트로 지정하여 상기 제1 영역의 SPD 데이터 읽기를 할 수 있다.
실시예에서, 상기 제2 영역의 SPD 데이터로 인해 정정이 필요한 경우, 상기 제1 영역의 락이 걸린 위치의 데이터를 읽어 들여 상기 제2 영역으로 SPD 데이터를 복제하여 상기 제2 영역의 SPD 데이터를 정정할 수 있다.
본 발명의 일 실시예에 따른 메모리 모듈 시스템 및 그 부팅 방법은 하나의 SPD 롬을 두 개 이상의 영역으로 나누어 각 영역의 SPD 데이터를 비교하여 시스템을 부팅함으로써 시스템이 다운되는 일 없이 안정적으로 시스템을 부팅할 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기 능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않 는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 구성요소를 나타낸다.
도 3은 본 발명의 일 실시예에 따른 다중화된 SPD 롬을 사용하는 메모리 모듈 시스템을 나타내는 블록도이다.
도 4a는 본 발명의 일 실시예에 따른 다중화된 SPD 롬의 구성을 나타내는 블록도이다.
도 3과 도 4a를 참조하면, 본 발명의 일 실시예에 따른 메모리 모듈 시스템은 메모리 컨트롤러(310), 메모리 모듈(320), SPD 롬(330)을 포함한다.
SPD 롬(330)은 제1 영역(340)과 제2 영역(350)을 포함한다. 물론 SPD 롬은(330)은 제1 영역(340)과 제2 영역(350)을 포함하여 더 많은 영역으로 구성될 수도 있다. 제1 영역(340)과 제2 영역(350)은 컴퓨터의 하드 디스크처럼 하나의 SPD 롬을 두 개의 영역으로 구분한 것이다. 이는 SPD 롬이 전체 영역을 사용하지 않고 일부 영역만을 사용하기 때문에 가능하다. SPD 롬(330)은 불휘발성 메모리 중 EEPROM이나 SRAM으로 구성될 수 있다.
메모리 모듈(320)에는 복수 개의 메모리들이 장착되어 있다. 하지만, 본 발명은 메모리 모듈 시스템에만 한정되는 것은 아니고 SPD 롬이나 부트 롬을 사용하는 일반적인 시스템에 적용할 수 있다는 것은 당업자에게 자명하다.
메모리 컨트롤러(310)는 시스템(300)에 초기화 신호가 입력되면 제1 영역(340)과 제2 영역(350)에 동일하게 쓰여진 SPD 데이터의 비교결과에 기초하여 시스템(300)을 부팅한다.
SPD 롬(300)의 제1 영역(340)과 제2 영역(350)에는 동일한 SPD 데이터가 쓰여진다. SPD 데이터에는 메모리 모듈(320)을 구성하는 시스템 메모리에 대한 기본적인 정보가 포함되어 있다.
제1 영역(340)은 SPD 데이터가 쓰여진 후 락이 걸려 읽기 동작만이 가능한 영역이다. 반면에 제2 영역(350)은 SPD 데이터가 쓰여진 후 락이 걸리지 않아 읽기 동작 및 쓰기 동작이 가능한 영역이다. 즉, 제1 영역(340)의 SPD 데이터는 락이 풀리기 전에는 변하지 않는 보호되는 데이터이다. 또한 제1 영역(340)은 SPD 롬(330)의 상위 바이트 영역에 배치되고, 제2 영역(350)은 SPD 롬(330)의 하위 바이트 영역에 배치된다. 제1 영역(340) 및 제2 영역(350)에는 해당하는 시작 어드레스가 할당된다.
시스템(300)에 초기화 신호가 입력되면, 즉 사용자가 전원을 켜거나 리셋 버튼을 누르면, 메모리 컨트롤러(310)는 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터를 읽어와 두 데이터를 비교한다. 비교 결과, 두 SPD 데이터가 일치하는 경우에, 시스템의 부팅은 완료된다.
하지만, 비교 결과, 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터가 일치하지 않는 경우, 메모리 컨트롤러(310)는 제1 영역(340)의 SPD 데이터를 제2 영역(350)으로 복사하여 시스템(300)의 부팅을 완료할 수 있다. 또한 비교 결과, 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터가 일치하지 않는 경우, 메모리 컨트롤러(310)는 제1 영역(340)의 SPD 데이터를 직접 읽어들여 시스템(300)의 부팅을 완료할 수 있다. 이 경우에 있어서, 시작 어드레스를 제1 영역(340)이 배치되어 있는 상위 바이트로 지정하면, 메모리 컨트롤러(310)는 제1 영역(340)의 SPD 데이터를 직접 읽어들여 시스템(300)의 부팅을 완료한다.
비교 결과, 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터가 다른 경우의 일련의 동작들은 자동으로 실행되도록 할 수 있다. 따라서 시스템(300)은 다운되지도 않고 외부 메모리를 사용하지도 않아도 안정적으로 부팅할 수 있게 된다.
제1 영역(340) 및 제2 영역(350)의 SPD 데이터에 대한 수정이 필요한 경우에는 제1 영역(340)에 걸린 락을 해제하고, 데이터 수정 후에 다시 락을 걸면 되므로 데이터 수정도 필요할 때 가능하다.
도 4b는 도 4a의 SPD 롬의 내부 구성을 나타내는 블록도이다.
도 4b를 참조하면, 제1 영역(340)은 시작 영역(341), 선택 코드 영역(343), 제1 SPD 데이터(345) 및 제1 헤더(347)를 포함한다. 제2 영역(350)은 시작 영역(351), 선택 코드 영역(353), 제2 SPD 데이터(355) 및 제2 헤더(357)를 포함한다.
시작 영역(341, 351)은 SPD 롬(310)의 리셋 번지에서 동작하는 작은 프로그램 영역이다. 선택 영역(343, 353)은 제1 SPD 데이터(345) 및 제2 SPD 데이터(355) 중 어느 데이터로 부팅을 시도할 것인지를 선택하는 기능을 가진다. 기본적으로 본 발명에서는 먼저 제2 SPD 데이터(355)로 부팅을 시도한다. 제1 SPD 데이터(345) 및 제2 SPD 데이터(355)는 시스템 부팅에 사용되는 실제적인 프로그램이다. 제1 헤더(347) 및 제2 헤더(357)는 제1 SPD 데이터(345) 및 제2 SPD 데이터(355)의 버전이나 기타 정보들을 포함한다.
도 5는 도 3의 SPD 롬이 3 개 이상의 다중화된 영역으로 구성되는 경우를 나타내는 블록도이다.
도 5를 참조하면, 다중화된 영역으로 구성되는 SPD 롬(330)은 A 영역(360), B 영역(370), C 영역(380) 등을 포함할 수 있다. A 영역(360), B 영역(370), C 영역(380) 등에는 각각 시작 어드레스가 할당된다. 이 경우에 복수개의 영역 중 2 개의 영역을 제1 영역 및 제2 영역으로 지정하면, 도 3의 경우와 마찬가지로 시스템을 안정적으로 부팅할 수 있다.
도 6은 본 발명의 일 실시예에 따른 메모리 모듈 시스템의 부팅 방법을 나태는 플로우 차트이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 메모리 모듈 시스템의 부팅 방법은 초기화 신호를 입력받는 단계(S610), 제1 영역과 제2 영역에 동일하게 쓰여진 SPD 데이터를 읽어들이는 단계(S620), SPD 데이터의 비교 결과에 기초하여 시스템을 부팅하는 단계(S630)를 포함한다.
이한 도 3 내지 도 6을 참조하여 본 발명의 일 실시예에 따른 메모리 모듈 시스템의 부팅 방법을 상세히 설명한다.
메모리 모듈 시스템(300)에 초기화 신호가 입력되면(S610), 즉 사용자가 파워 버튼을 누르거나 리셋 버튼을 누르면, 메모리 컨트롤러(310)는 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터를 리드한다(S620). 제1 영역(340)은 SPD 데이터가 쓰여진 후 락이 걸려 읽기 동작만이 가능한 영역이다. 즉, 제1 영역(340)의 SPD 데이터는 락이 풀리기 전에는 편집할 수 없다. 제2 영역(350)에는 락이 걸리지 않아 읽기 동작 및 쓰기 동작이 가능한 영역이다. 제1 영역(340)은 SPD 롬(330)의 상위 영역에 배치되고, 제2 영역(350)은 SPD 롬(330)의 하위 영역에 배치된다. 각 영역에는 해당하는 시작 어드레스가 할당된다.
메모리 컨트롤러(310)는 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터를 비교한다(S620). 비교 결과 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터가 일치하면(S640), 시스템(300)의 부팅이 완료된다. 비교결과 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터가 일치하지 않으면, 즉, 제2 영역(350)의 SPD 데이터가 변경되거나 손상되었으면, 메모리 컨트롤러(310)는 제1 영역(340)의 SPD 데이터를 제2 영역(350)으로 복사(S650)하여 시스템(310)의 부팅을 완료한다.
다른 방법으로서는, 비교결과 제1 영역(340)의 SPD 데이터와 제2 영역(350)의 SPD 데이터가 일치하지 않으면, 메모리 컨트롤러(310)는 보호되는 제1 영역(3400의 SPD 데이터를 이용하여(S660) 시스템(300)의 부팅을 완료한다. 이 경우 에 있어서, 메모리 컨트롤러(310)는 시작 어드레스를 상위 바이트로 지정하여 제1 영역(340)의 SPD 데이터를 직접 리드하여 시스템(300)의 부팅을 완료한다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 메모리 모듈 시스템 및 그 부팅 방법은 하나의 SPD 롬을 하드 디스크처럼 두 개 이상의 영역으로 두 영역의 SPD 데이터를 비교하여 시스템을 부팅하기 때문에 SPD 데이터 오류에 의한 오동작 및 부팅 불량을 사전에 방지 할 수 있으며, 별도의 저장 장치를 사용하지 않고도 시스템이 다운되는 일 없이 안정적으로 시스템을 부팅할 수 있다. 본 발명은 메모리 모듈 시스템에만 적용되는 것은 아니고, SPD 롬이나 부트 롬을 사용하는 일반적인 시스템에도 적용할 수 있음은 당업자에게 자명하다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (25)

  1. 메모리 모듈에 장착되며 상기 메모리 모듈에 대한 SPD 데이터를 저장하는, 제1 영역과 제2 영역을 포함하는 적어도 두 개 이상의 영역으로 나누어진 SPD(serial presence detect) 롬; 및
    초기화 신호가 입력되면 상기 제1 영역과 제2 영역에 동일하게 쓰여진 상기 SPD 데이터의 비교 결과에 기초하여 시스템을 부팅하는 메모리 컨트롤러를 포함하는 메모리 모듈 시스템.
  2. 제 1 항에 있어서, 상기 제1 영역은 상기 SPD 데이터가 쓰여진 후 락이 걸려 읽기 동작만이 가능한 영역이고, 상기 제2 영역은 락이 걸리지 않아 읽기 동작 및 쓰기 동작이 가능한 영역인 것을 특징으로 하는 메모리 모듈 시스템.
  3. 제 2 항에 있어서, 상기 메모리 컨트롤러는 상기 비교결과 상기 제1 영역과 상기 제2 영역에서 읽혀진 SPD 데이터가 서로 다른 경우, 상기 제1 영역의 SPD 데이터를 상기 제2 영역으로 복제하여 상기 시스템을 부팅하는 것을 특징으로 하는 메모리 모듈 시스템.
  4. 제 3 항에 있어서, 상기 제1 영역은 상기 SPD 롬의 상위 바이트 영역에 배치되고, 상기 제2 영역은 상기 SPD 롬의 하위 바이트 영역에 배치되는 것을 특징으로 하는 메모리 모듈 시스템.
  5. 제 4 항에 있어서, 상기 적어도 두 개 이상의 영역에는 각각 해당하는 시작 어드레스가 할당되는 것을 특징으로 하는 메모리 모듈 시스템.
  6. 제 5 항에 있어서, 상기 SPD 롬은 불휘발성 메모리인 것을 특징으로 하는 메모리 모듈 시스템.
  7. 제 2 항에 있어서, 상기 메모리 컨트롤러는 상기 비교결과 상기 제1 영역과 상기 제2 영역의 SPD 데이터가 다른 경우, 상기 제1 영역의 SPD 데이터를 직접 읽어들여 상기 시스템을 부팅하는 것을 특징으로 하는 메모리 모듈 시스템.
  8. 제 7 항에 있어서, 상기 제1 영역은 상기 SPD 롬의 상위 바이트 영역에 배치되고, 상기 제2 영역은 상기 SPD 롬의 하위 바이트 영역에 배치되는 것을 특징으로 하는 메모리 모듈 시스템.
  9. 제 8 항에 있어서, 상기 적어도 두 개 이상의 영역에는 내부에 각각 해당하는 시작 어드레스가 할당되는 것을 특징으로 하는 메모리 모듈 시스템.
  10. 제 9 항에 있어서, 상기 메모리 컨트롤러는 상기 시작 어드레스를 상기 상위 바이트로 지정하여 상기 제1 영역의 SPD 데이터를 리드하여 상기 시스템을 부팅하는 것을 특징으로 하는 메모리 모듈 시스템.
  11. 제 10 항에 있어서, 상기 SPD 롬은 불휘발성 메모리인 것을 특징으로 하는 메모리 모듈 시스템.
  12. 제 2 항에 있어서, 상기 제 2영역의 SPD 데이터 오류로 인해 정정이 필요한 경우, 상기 제1 영역의 락이 걸린 위치의 데이터를 읽어들여 상기 제2 영역으로 SPD 데이터를 복제하여 상기 2영역의 SPD 데이터를 정정하는 것을 특징으로 하는 메모리 모듈 시스템.
  13. 데이터를 저장하는 메모리 모듈;
    상기 메모리 모듈에 장착되며 상기 메모리 모듈에 대한 SPD 데이터를 저장하는, 제1 영역과 제2 영역을 포함하는 적어도 두 개 이상의 영역으로 나누어진 SPD(serial presence detect) 롬; 및
    초기화 신호가 입력되면 상기 제1 영역과 상기 제2 영역에 동일하게 쓰여진 SPD 데이터의 비교결과에 기초하여 시스템을 부팅하는 메모리 컨트롤러를 포함하는 것을 특징으로 하는 메모리 모듈 시스템.
  14. 제 13 항에 있어서, 상기 메모리 컨트롤러는 상기 비교결과 상기 제1 영역과 상기 제2 영역에서 읽혀진 SPD 데이터가 서로 다른 경우, 상기 제1 영역의 SPD 데이터를 상기 제2 영역으로 복제하여 상기 시스템을 부팅하는 것을 특징으로 하는 메모리 모듈 시스템.
  15. 제 13 항에 있어서, 상기 메모리 컨트롤러는 상기 비교결과 상기 제1 영역과 상기 제2 영역의 SPD 데이터가 다른 경우, 상기 제1 영역의 SPD 데이터를 직접 읽어들여 상기 시스템을 부팅하는 것을 특징으로 하는 메모리 모듈 시스템.
  16. 제1 영역과 제2 영역을 포함하여 적어도 두 개 이상의 영역으로 나누어진 SPD 롬을 포함하는 메모리 모듈 시스템의 부팅 방법으로서,
    초기화 신호를 입력 받는 단계;
    상기 제1 영역과 상기 제2 영역에 동일하게 쓰여진 SPD 데이터를 읽어들이는 단계; 및
    상기 제1 영역과 상기 제2 영역의 상기 SPD 데이터의 비교 결과에 기초하여 시스템을 부팅하는 단계를 포함하는 메모리 모듈 시스템의 부팅 방법.
  17. 제 16 항에 있어서, 상기 제1 영역은 상기 SPD 데이터가 쓰여진 후 락이 걸려 읽기 동작만이 가능한 영역이고, 상기 제2 영역은 읽기 동작 및 쓰기 동작이 가능한 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  18. 제 17 항에 있어서, 상기 SPD 데이터의 비교 결과, 상기 제1 영역의 SPD 데이터와 상기 제2 영역의 SPD 데이터가 서로 다른 경우, 상기 제1 영역의 SPD 데이터를 상기 제2 영역의 SPD 데이터로 복제하는 단계를 더 포함하는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  19. 제 18 항에 있어서, 상기 제 1 영역은 상기 SPD 롬의 상위 바이트 영역에 배치되고, 상기 제 1 영역은 상기 SPD 롬의 하위 바이트 영역에 배치되는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  20. 제 19 항에 있어서, 상기 적어도 2 개 이상의 영역에는 내부에 각각 시작 어드레스가 할당되는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  21. 제 17 항에 있어서, 상기 비교 결과 상기 제1 영역과 상기 제2 영역의 SPD 데이터가 다른 경우, 상기 제1 영역의 SPD 데이터를 직접 리드하여 상기 시스템을 부팅하는 단계를 더 포함하는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  22. 제 21 항에 있어서, 상기 제 1 영역은 상기 SPD 롬의 상위 바이트 영역에 배치되고, 상기 제 1 영역은 상기 SPD 롬의 하위 바이트 영역에 배치되는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  23. 제 22 항에 있어서, 상기 적어도 2 개 이상의 영역에는 내부에 각각 시작 어드레스가 할당되는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  24. 제 23 항에 있어서, 상기 시작 어드레스를 상기 상위 바이트로 지정하여 상기 제1 영역의 SPD 데이터를 리드하는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
  25. 제 17 항에 있어서, 상기 제2 영역의 SPD 데이터 오류로 인해 정정이 필요한 경우, 상기 제1 영역의 락이 걸린 위치의 데이터를 읽어들여 상기 제2 영역으로 SPD 데이터를 복제하여 상기 제2 영역의 SPD 데이터를 정정하는 것을 특징으로 하는 메모리 모듈 시스템의 부팅 방법.
KR1020060135801A 2006-12-28 2006-12-28 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법 KR100894251B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060135801A KR100894251B1 (ko) 2006-12-28 2006-12-28 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법
US12/000,131 US8037275B2 (en) 2006-12-28 2007-12-10 Memory module system using a partitioned serial presence detect memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060135801A KR100894251B1 (ko) 2006-12-28 2006-12-28 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법

Publications (2)

Publication Number Publication Date
KR20080061044A true KR20080061044A (ko) 2008-07-02
KR100894251B1 KR100894251B1 (ko) 2009-04-21

Family

ID=39585691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060135801A KR100894251B1 (ko) 2006-12-28 2006-12-28 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법

Country Status (2)

Country Link
US (1) US8037275B2 (ko)
KR (1) KR100894251B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2187185B1 (de) * 2008-11-17 2016-03-16 VEGA Grieshaber KG Feldgerät mit getrennten Speicherbereichen
US8977831B2 (en) * 2009-02-11 2015-03-10 Stec, Inc. Flash backed DRAM module storing parameter information of the DRAM module in the flash
KR20120121231A (ko) * 2011-04-26 2012-11-05 삼성전자주식회사 메모리 장치 및 메모리 시스템
US8990479B2 (en) 2012-07-30 2015-03-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Using persistent memory regions within memory devices to collect serial presence detect and performance data
JP7067270B2 (ja) * 2018-05-25 2022-05-16 富士通株式会社 情報処理装置,ロードプログラムおよびロード方法
CN110297726B (zh) * 2019-07-03 2023-08-25 上海兆芯集成电路股份有限公司 具有串行存在检测数据的计算机系统及内存模块控制方法
TWI792819B (zh) * 2021-12-30 2023-02-11 技嘉科技股份有限公司 電腦裝置、記憶體模組的設定方法以及主機板

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877066A (ja) * 1994-08-31 1996-03-22 Tdk Corp フラッシュメモリコントローラ
US6173382B1 (en) * 1998-04-28 2001-01-09 International Business Machines Corporation Dynamic configuration of memory module using modified presence detect data
US6625692B1 (en) * 1999-04-14 2003-09-23 Micron Technology, Inc. Integrated semiconductor memory chip with presence detect data capability
KR100422928B1 (ko) 1999-09-22 2004-03-12 엘지전자 주식회사 데이터 처리 시스템의 부팅 장치 및 방법
JP2002259227A (ja) 2001-03-02 2002-09-13 Ricoh Co Ltd 電子機器装置およびその制御プログラムを記録した記録媒体
KR20030077731A (ko) * 2002-03-26 2003-10-04 주식회사 현대시스콤 플래시 롬의 부팅 영역 선택방법
KR20030085392A (ko) * 2002-04-30 2003-11-05 주식회사 현대시스콤 통신 시스템에서 롬 멀티-부팅 방법
KR20040000205A (ko) 2002-06-24 2004-01-03 엘지전자 주식회사 내장형 시스템의 초기값 오류진단 및 복구방법
KR20050068722A (ko) * 2003-12-30 2005-07-05 엘지전자 주식회사 하드웨어 부트의 원격 제어 장치 및 그 방법
JP4616586B2 (ja) * 2004-06-30 2011-01-19 富士通株式会社 メモリ初期化制御装置
US20060064563A1 (en) * 2004-09-23 2006-03-23 Hobson Louis B Caching presence detection data
KR100654446B1 (ko) * 2004-12-09 2006-12-06 삼성전자주식회사 보안 부팅 장치 및 방법
KR100703969B1 (ko) * 2005-04-07 2007-04-06 삼성전자주식회사 메모리 모듈의 테스트 장치

Also Published As

Publication number Publication date
US8037275B2 (en) 2011-10-11
KR100894251B1 (ko) 2009-04-21
US20080162867A1 (en) 2008-07-03

Similar Documents

Publication Publication Date Title
KR100894251B1 (ko) 다중화된 에스피디 롬을 가지는 메모리 모듈 시스템 및 그부팅 방법
CN101558452B (zh) 用于在闪速eeprom存储页中重构可靠性数据的方法和装置
US6834384B2 (en) Methods and apparatus for upgrading firmware in an embedded system
JP4868216B2 (ja) ファームウェア更新回路およびファームウェア更新方法
US20080141016A1 (en) Computer System and Related Method for Preventing Failure of Updating BIOS Programs
US8812910B2 (en) Pilot process method for system boot and associated apparatus
US7366042B2 (en) Defective column(s) in a memory device/card is/are skipped while serial data programming is performed
KR100717110B1 (ko) 롬 데이터 패치 회로, 이를 포함하는 임베디드 시스템 및롬 데이터 패치 방법
US20080256416A1 (en) Apparatus and method for initializing memory
JPH0412863B2 (ko)
US8219860B2 (en) Microprocessor system for controlling at least partly safety-critical processes
JPS6221143B2 (ko)
JP2004013719A (ja) 多重化された不揮発性メモリの更新回路、及び多重化された不揮発性メモリの更新方法
JP4483876B2 (ja) 二重化システムにおける記憶装置の制御方法
US20100235680A1 (en) Microprocessor System for Controlling or Regulating at least partly Safety-Critical Processes
EP3783490B1 (en) Operating method of memory controller and storage device
US9594792B2 (en) Multiple processor system
JPS6234260A (ja) 不揮発性メモリアクセス方式
US20050055530A1 (en) Method and apparatus for protecting a specific memory section
JP2005050442A (ja) 冗長メモリ回路
JP2010015477A (ja) フラッシュメモリ制御装置及びフラッシュメモリ制御方法
JP2007011839A (ja) メモリ管理方法及びメモリ管理システム
US10452309B2 (en) Method and device operating a memory device
US20110145519A1 (en) Data writing apparatus and data writing method
KR830002883B1 (ko) 마이크로 프로그램 제어장치

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
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee