KR101477809B1 - A computer system and method controlling memory module - Google Patents

A computer system and method controlling memory module Download PDF

Info

Publication number
KR101477809B1
KR101477809B1 KR1020080081274A KR20080081274A KR101477809B1 KR 101477809 B1 KR101477809 B1 KR 101477809B1 KR 1020080081274 A KR1020080081274 A KR 1020080081274A KR 20080081274 A KR20080081274 A KR 20080081274A KR 101477809 B1 KR101477809 B1 KR 101477809B1
Authority
KR
South Korea
Prior art keywords
memory
clock
memory module
controller
controlling
Prior art date
Application number
KR1020080081274A
Other languages
Korean (ko)
Other versions
KR20100022656A (en
Inventor
이세진
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020080081274A priority Critical patent/KR101477809B1/en
Publication of KR20100022656A publication Critical patent/KR20100022656A/en
Application granted granted Critical
Publication of KR101477809B1 publication Critical patent/KR101477809B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Dram (AREA)

Abstract

본 발명은 메모리 모듈을 제어하는 컴퓨터 시스템 및 그 메모리 모듈 제어방법에 관한 것으로, 복수의 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하는 메모리 콘트롤러를 포함하는 컴퓨터 시스템 및 그 메모리 모듈 제어방법에 관한 것이다. 이를 위해 본 발명에 따른 메모리 모듈을 제어하는 컴퓨터 시스템은, 데이터를 저장하는 복수의 메모리 모듈; 상기 복수의 메모리 모듈을 제어하며, 상기 각 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하는 메모리 콘트롤러; 사용자에게 데이터를 출력하고, 사용자로부터 입력을 수신하는 입출력 장치; 상기 입출력 장치를 제어하는 입출력 콘트롤러; 및 상기 구성요소들의 동작을 제어하는 중앙처리장치;를 포함한다. The present invention relates to a computer system for controlling a memory module and a memory module control method thereof, and more particularly, to a computer system including a memory controller for controlling the use of a memory module having the fastest speed among a plurality of memory modules, . To this end, a computer system for controlling a memory module according to the present invention includes: a plurality of memory modules for storing data; A memory controller for controlling the plurality of memory modules and controlling the memory module having the fastest speed among the memory modules to be used first; An input / output device for outputting data to a user and receiving input from a user; An input / output controller for controlling the input / output device; And a central processing unit for controlling the operation of the components.

메모리 모듈, 메모리 콘트롤러, 클럭 속도, 클럭 발생기 Memory module, memory controller, clock speed, clock generator

Description

메모리 모듈을 제어하는 컴퓨터 시스템 및 그 제어방법{A computer system and method controlling memory module}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a computer system for controlling a memory module,

본 발명은 메모리 모듈을 제어하는 컴퓨터 시스템 및 그 메모리 모듈 제어방법에 관한 것으로, 더 구체적으로는 복수의 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하는 메모리 콘트롤러를 포함하는 컴퓨터 시스템 및 그 메모리 모듈 제어방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system for controlling a memory module and a memory module control method thereof, and more particularly to a computer system including a memory controller for controlling the use of a memory module having the highest speed among a plurality of memory modules, To a memory module control method.

메모리는 컴퓨터, 통신시스템, 화상처리시스템 등에서 사용되는 데이터나 명령 등을 일시적 또는 영구적으로 저장하기 위하여 사용되는 것을 총칭하는 것이다. 대표적으로 반도체, 테이프, 디스크, 광학방식 등이 있는 데 현재 반도체 메모리가 대부분을 차지하고 있다. 이런 반도체 메모리는 데이터 저장방식의 전기적 특성 등에 따라 구분되는 DRAM, SRAM, Flash Memory, ROM 등의 여러 종류가 있는데 이 중 DRAM이 차지하는 비중이 가장 크다.The memory is collectively referred to as being used for temporarily or permanently storing data or commands used in a computer, a communication system, an image processing system, or the like. Typically, semiconductors, tapes, discs, optical systems, etc. are present, but semiconductor memories are the majority. There are many types of semiconductor memories, such as DRAM, SRAM, Flash Memory, and ROM, which are classified according to the electrical characteristics of the data storage method, among which DRAM is the largest.

상기 DRAM(Dynamic Random Access Memory)은 저장전위가 시간에 따라 변화하기 때문에 주기적으로 저장전위를 원래의 상태로 회복하기 위해 주기적인 리프레쉬 동작이 필요하다. 캐패시터에 저장된 전하량이 데이터 판정 기준이 되므로 읽기 동 작에서 이 전하량의 차이에 따른 전압 차이를 유지하고 이 전압차이를 감지 증폭하여 데이터를 출력하기 때문에 파괴된 저장 데이터를 다시 복구하여 셀에 저장시켜야 하는 동적인 특성을 갖고 있다. Since the storage potential of DRAM (Dynamic Random Access Memory) changes with time, periodic refresh operation is required to periodically restore the storage potential to the original state. Since the amount of charge stored in the capacitor becomes the data decision criterion, the voltage difference according to the difference of the charge amount is maintained in the reading operation, and the detected difference data is outputted to output the data. It has dynamic characteristics.

위와 같은 메모리를 실제적으로 시스템에 사용할 때는 모듈로 만들어서 생산되는 데 모듈(module)이라는 것은 하나의 기능을 가진 소자의 집합으로 인쇄회로기판(PCB)상에 여러 가지 반도체 소자 등의 패키지 장치가 탑재되어 다수의 접속핀인 탭에 의해 패널 등에 연결되어 설치된다.When such a memory is actually used in a system, it is produced by making a module. A module is a set of elements having one function. A package device such as a semiconductor device is mounted on a printed circuit board (PCB) And is connected to a panel or the like by tabs having a plurality of connection pins.

컴퓨터 시스템에 사용되는 메모리 장치 중 가장 보편적으로 사용되는 램(SDRAM) 메모리 모듈인 DIMM(Dual In-Line Memory Module)은 JEDEC(Joint Electron Device Engineering Council)규격 또는 인텔 규격으로 정의된 신호들을 사용한다.The dual in-line memory module (DIMM), which is the most commonly used DRAM (SDRAM) memory module among the memory devices used in computer systems, uses signals defined by Joint Electron Device Engineering Council (JEDEC) standard or Intel standard.

또한, 메모리 모듈의 특성을 나타내는 속도는 PC66, PC100, PC133 등으로 구분된다. 이 속도는 메모리의 동작 주파수를 나타내며 예컨대, PC100은 100MHz의 클럭속도를 말한다. The speed at which the characteristics of the memory module are expressed is classified into PC66, PC100, and PC133. This speed represents the operating frequency of the memory, for example, the PC 100 refers to a clock speed of 100 MHz.

예를 들어, 100MHz로 동작하는 메모리와 133MHz로 동작하는 메모리를 장착했을 때, 메인보드는 두 메모리가 각각 100, 133으로 동작한다는 것을 파악하고 두 메모리가 모두 오류없이 동작할 수 있는 속도인 100으로 두 메모리가 작동하도록 자동설정하게 된다. For example, with a memory running at 100 MHz and a memory running at 133 MHz, the motherboard knows that both memories are operating at 100 and 133, respectively, and the speed at which both memories can operate without errors It will automatically set both memories to work.

즉, 하나의 컴퓨터 시스템에 복수 개의 메모리 모듈이 존재하는 경우에 상기 메모리 모듈들의 동작 속도가 상이한 경우에는 시스템의 구조상 각 메모리 모듈을 느린 동작속도에 맞추어 동작시켜야 하는 불합리함이 존재한다.That is, when there are a plurality of memory modules in one computer system, there is an unreasonable necessity to operate each memory module at a slow operating speed in the structure of the system when the operating speeds of the memory modules are different.

이에 따라, 종래에는 동작 속도가 빠른 메모리 모듈이 장착되더라도 가장 느린 동작속도를 갖는 메모리 모듈의 동작 속도로 동작하기 때문에 메모리 모듈의 동작 속도를 최대한 발휘할 수 없다는 단점이 있다. Accordingly, even if a memory module with a high operating speed is mounted in the related art, the memory module operates at the operating speed of the memory module having the slowest operating speed, so that the operating speed of the memory module can not be maximized.

이러한 종래의 문제점을 해결하기 위하여, 본 발명은 복수의 메모리 모듈을 제어하여 상기 각 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하여 메모리 효율을 높일 수 있는 컴퓨터 시스템을 제공하는 것을 목적으로 한다.In order to solve such conventional problems, the present invention aims to provide a computer system capable of controlling a plurality of memory modules and controlling the memory module having the fastest speed among the memory modules to be used first, thereby improving memory efficiency do.

본 발명의 일 실시예에 따른 컴퓨터 시스템은, 데이터를 저장하는 복수의 메모리 모듈; 상기 복수의 메모리 모듈을 제어하며, 상기 각 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하는 메모리 콘트롤러; 사용자에게 데이터를 출력하고, 사용자로부터 입력을 수신하는 입출력 장치; 상기 입출력 장치를 제어하는 입출력 콘트롤러; 및 상기 구성요소들의 동작을 제어하는 중앙처리장치;를 포함한다. A computer system according to an embodiment of the present invention includes a plurality of memory modules for storing data; A memory controller for controlling the plurality of memory modules and controlling the memory module having the fastest speed among the memory modules to be used first; An input / output device for outputting data to a user and receiving input from a user; An input / output controller for controlling the input / output device; And a central processing unit for controlling the operation of the components.

본 발명의 일 실시예에 따른 메모리 콘트롤러는, 복수의 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하는 메모리 콘트롤러로서, 상기 복수의 메모리 모듈의 클럭 속도를 읽어 들여 상기 속도들을 비교하는 클럭 콘트롤러; 상기 클럭 콘트롤러로부터 비교된 클럭 속도를 수신하여 속도가 가장 빠른 메모리 모듈로 CKE(clock enable) 신호를 전송하는 복수의 채널 콘트롤러; 및 상기 채널 콘트롤러마다 하나씩 연결된 복수의 레지스터;를 포함한다. A memory controller according to an embodiment of the present invention controls a memory module having the fastest speed among the plurality of memory modules to be used first. The memory controller reads a clock speed of the plurality of memory modules, Controller; A plurality of channel controllers for receiving the compared clock speed from the clock controller and transmitting a clock enable (CKE) signal to the memory module having the fastest speed; And a plurality of registers connected to the channel controllers one by one.

본 발명의 다른 실시예에 따른 메모리 모듈 제어방법은, 복수의 메모리 모듈 의 클럭 속도를 읽어들이는 단계; 상기 읽어들인 복수의 클럭 속도를 비교하는 단계; 상기 비교 결과, 복수의 메모리 모듈 중 클럭 속도가 가장 빠른 메모리 모듈에 연결된 클럭 발생기만을 동작시켜 해당 모듈을 우선 사용하는 단계;를 포함한다. According to another aspect of the present invention, there is provided a method of controlling a memory module, comprising: reading a clock rate of a plurality of memory modules; Comparing the plurality of read clock rates; As a result of comparison, only the clock generator connected to the memory module having the highest clock speed among the plurality of memory modules is operated to use the corresponding module first.

본 발명의 컴퓨터 시스템 및 메모리 모듈 제어방법에 따르면 복수의 메모리 모듈을 제어하여 상기 각 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용함으로써 메모리 효율을 향상시킬 수 있다.According to the computer system and the memory module control method of the present invention, memory efficiency can be improved by controlling a plurality of memory modules and using the memory module having the highest speed among the memory modules first.

이하 첨부도면을 참조하여 본 발명의 실시예들을 보다 상세히 설명하고자 한다. Embodiments of the present invention will now be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 컴퓨터 시스템을 나타내는 구성블록도이다.1 is a block diagram illustrating a computer system according to an embodiment of the present invention.

컴퓨터 시스템은 CPU(1), 메모리 모듈(2), 메모리 콘트롤러(3), 입출력 장치(4), 입출력 콘트롤러(5) 및 HDD(6)를 포함할 수 있다. The computer system may include a CPU 1, a memory module 2, a memory controller 3, an input / output device 4, an input / output controller 5 and an HDD 6.

CPU(1)는 중앙처리장치로서, 상기 메모리 모듈(2), 메모리 콘트롤러(3), 입출력 장치(4) 및 입출력 콘트롤러(5) 등을 비롯한 컴퓨터 시스템의 대부분의 디바이스를 제어한다. The CPU 1 is a central processing unit and controls most of the devices of the computer system including the memory module 2, the memory controller 3, the input / output device 4, and the input / output controller 5.

메모리 모듈(2)은 컴퓨터 시스템의 동작에 필요한 프로그램 및 각종 데이터를 저장한다. 메모리 모듈(2)은 다수개의 메모리 칩으로 구성되며, 메모리 칩은 일정 개수가 모여 메모리 뱅크로 구성될 수 있다. 따라서 메모리 모듈(2)은 수개의 메모리 칩 또는 메모리 뱅크로 구성될 수 있다. The memory module 2 stores programs and various data necessary for the operation of the computer system. The memory module 2 is constituted by a plurality of memory chips, and a predetermined number of memory chips may be constituted by memory banks. Thus, the memory module 2 may be composed of several memory chips or memory banks.

하나의 컴퓨터 시스템에는 복수의 메모리 모듈(2)이 존재할 수 있다. 그런데 각 메모리 모듈(2)은 동일한 회사, 동일한 규격의 제품일 경우에는 동작 특성이 동일하지만, 각 메모리 모듈(2)이 서로 다른 회사 또는 다른 규격을 가지는 경우에는 동작 특성이 상이하다. A plurality of memory modules 2 may exist in one computer system. However, each memory module 2 has the same operating characteristics when it is a product of the same company and the same standard, but its operation characteristics are different when each memory module 2 has a different company or different standard.

메모리 콘트롤러(3)는 상기 복수의 메모리 모듈(2)을 제어하여, 메모리 모듈(2)에 데이터를 저장하거나 인출한다. 본 발명에 따른 메모리 콘트롤러(3)는 상기 복수의 메모리 모듈(2) 중 속도가 가장 빠른 메모리 모듈(2)을 우선 사용하도록 제어할 수 있다. 상기 메모리 콘트롤러(3)에 대한 구체적인 설명은 후술한다. The memory controller 3 controls the plurality of memory modules 2 to store or fetch data in the memory module 2. [ The memory controller 3 according to the present invention can control so that the memory module 2 having the fastest speed among the plurality of memory modules 2 is used first. A detailed description of the memory controller 3 will be given later.

입출력 장치(4)는 처리할 데이터를 입력장치를 통해 사용자로부터 입력을 수신하고, 컴퓨터가 처리한 결과 데이터를 출력장치를 통해 출력한다. 입력장치는 키보드, 스캐너, 마우스, 터치스크린, 조이스틱, 카드판독기, 음성입력장치, 광학식 문자판독기 및 광학마크판독기 등이 있다. 출력장치는 프린터, CRT, 음성합성장치 및 음성응답장치 등이 있다. 입출력 콘트롤러(5)는 상기 입출력 장치(4)를 제어한다. The input / output device 4 receives input from the user via the input device, and outputs the resultant data processed by the computer through the output device. Input devices include keyboards, scanners, mice, touch screens, joysticks, card readers, voice input devices, optical character readers, and optical mark readers. The output device includes a printer, a CRT, a voice synthesizer, and a voice response device. The input / output controller (5) controls the input / output device (4).

HDD(6)는 데이터를 저장하고 읽어내도록 하는 보조기억장치이다. The HDD 6 is an auxiliary storage device for storing and reading data.

도 2는 본 발명의 일 실시예에 따른 메모리 콘트롤러(3)와 제1메모리 모듈(31) 및 제2메모리 모듈(32)의 구성블록도를 나타낸다.2 shows a block diagram of the configuration of the memory controller 3, the first memory module 31 and the second memory module 32 according to an embodiment of the present invention.

제1메모리 모듈(31) 및 제2메모리 모듈(32)은 다수의 메모리 칩을 PCB상에 탑재한 것일 수 있다. 이러한 메모리 모듈로는 SIMM(Single In-Line Memory Module)과 DIMM(Dual In-Line Memory Module)이 있다. SIMM은 PCB의 한쪽면에 메모리 칩을 탑해한 것이며, DIMM은 PCB의 양쪽면을 모두 사용하는 것이다. 현재, 메모리 모듈의 대부분은 DIMM이 차지하고 있다. The first memory module 31 and the second memory module 32 may have a plurality of memory chips mounted on a PCB. These memory modules include a single in-line memory module (SIMM) and a dual in-line memory module (DIMM). A SIMM is a memory chip mounted on one side of a PCB, and a DIMM is used on both sides of a PCB. Currently, most of the memory modules are occupied by DIMMs.

본 발명에 따른 제1메모리 모듈(31) 및 제2메모리 모듈(32)은 SIMM과 DIMM을 모두 포함하지만, 이에 한정되지는 않는다. The first memory module 31 and the second memory module 32 according to the present invention include both SIMMs and DIMMs, but are not limited thereto.

상기 제1메모리 모듈(31) 및 제2메모리 모듈(32)과 CPU간의 인터페이스를 지원하는 메모리 콘트롤러(3)는 제1채널 콘트롤러(10)와 제1레지스터(14), 제2채널 콘트롤러(20)와 제2레지스터(24) 및 클럭 콘트롤러(40)를 포함할 수 있다.The memory controller 3 supporting the interface between the first memory module 31 and the second memory module 32 and the CPU includes a first channel controller 10 and a first register 14, a second channel controller 20 A second register 24, and a clock controller 40. The first and second registers 24,

제1채널 콘트롤러(10)는 데이터 콘트롤러(11), 어드레스 콘트롤러(12) 및 커맨드 콘트롤러(13)를 포함할 수 있다. The first channel controller 10 may include a data controller 11, an address controller 12, and a command controller 13.

데이터 콘트롤러(11)는 제1메모리 모듈(31)의 데이터를 제어하는 인터페이스로, 후술할 커맨드 콘트롤러(13)에서 찾아낸 제1메모리 모듈(31)의 위치에 데이터를 저장하거나, 인출한다. 상기 제1메모리 모듈(31)로 DM, DQ, DQM 신호를 전송한다.The data controller 11 is an interface for controlling data of the first memory module 31 and stores or fetches data at the position of the first memory module 31 found by the command controller 13 to be described later. And transmits DM, DQ, and DQM signals to the first memory module 31.

DM(Data Mask)신호가 인에이블 되면 해당 메모리 모듈에는 데이터가 입력되지 않는다. DQ(Data Bus)신호는 실제 데이터를 포함하는 신호이다. DQM(DQS, Data Strobes)신호는 DQS와 DQS#이 교차하는 지점에서 데이터가 전달되도록 하는 신호이다. When the DM (Data Mask) signal is enabled, no data is input to the corresponding memory module. The DQ (Data Bus) signal is a signal containing actual data. The DQS (Data Strobes) signal is a signal for transmitting data at a point where DQS and DQS # intersect.

어드레스 콘트롤러(12)는 제1메모리 모듈(31)의 어드레스를 제어하는 인터페 이스이다. 구체적으로 제1메모리 모듈(31)에서 데이터가 기록되거나 데이터를 읽어올 위치 또는 어드레스를 알아내기 위해 CPU로부터의 요청을 해석하여 시스템 어드레스를 메모리 어드레스로 변환시키고, 상기 변환된 메모리 어드레스에 따라 메모리 칩을 선택한다. 상기 어드레스 콘트롤러(12)는 제1메모리 모듈(31)로 CS, ADD, BA 신호를 전송한다.The address controller 12 is an interface for controlling the address of the first memory module 31. Specifically, the first memory module 31 interprets the request from the CPU to read out the position or the address at which data is to be written or to read data, thereby converting the system address into a memory address. In accordance with the converted memory address, . The address controller 12 transmits CS, ADD, and BA signals to the first memory module 31.

CS(Chip Select)신호는 하나의 메모리 모듈을 구성하는 다수의 메모리 칩 중에서 어떤 칩을 선택할지 결정한다. ADD(MA, Memory Address)신호는 메모리 모듈의 행, 열 주소를 제공하는데 사용된다. BA(Bank Address)신호는 메모리 모듈을 구성하는 칩은 다수의 셀로 구성되는데, 상기 셀 중 어떤 셀을 선택할지 결정한다. The CS (Chip Select) signal determines which of a plurality of memory chips constituting one memory module is to be selected. The ADD (MA, Memory Address) signal is used to provide the row and column addresses of the memory modules. A BA (Bank Address) signal is formed of a plurality of cells constituting a memory module, and determines which one of the cells to select.

커맨드 콘트롤러(13)는 상기 어드레스 콘트롤러(12)에서 생성된 메모리 어드레스에 따라 해당 RAS, CAS, WE, CKE 신호를 제1메모리 모듈(31)로 전송한다. 이로써 데이터의 입출력이 가능하도록 제1메모리 모듈(31)의 해당 위치를 찾아낸다.The command controller 13 transmits the corresponding RAS, CAS, WE, and CKE signals to the first memory module 31 according to the memory address generated by the address controller 12. Thus, the corresponding position of the first memory module 31 is detected so that data can be input and output.

RAS(Row Address Signal)는 인에이블(enable)시에 들어가는 메모리 어드레스가 제1메모리 모듈(31)의 어드레스 중 행 주소임을 나타내며, CAS(Column Address Signal)는 인에이블(enable)시에 들어가는 메모리 어드레스가 제1메모리 모듈(31)의 어드레스 중 열 주소임을 나타낸다.A row address signal (RAS) indicates that a memory address entered at the time of enable is a row address of an address of the first memory module 31. A column address signal (CAS) indicates a memory address Indicates the column address of the address of the first memory module 31. [

WE(Write Enable)신호는 제1메모리 모듈(31)에 데이터 저장시 전송되는 신호로서, 데이터가 저장되는 경우에만 상기 제1메모리 모듈(31)로 전송된다. The WE (Write Enable) signal is transmitted when the data is stored in the first memory module 31, and is transmitted to the first memory module 31 only when data is stored.

CKE(Clock Enable)신호는 제1메모리 모듈(31)의 클럭 속도에 해당하는 클럭을 발생시켜 상기 제1메모리 모듈(31)을 사용할 수 있게 한다. The CKE (Clock Enable) signal generates a clock corresponding to the clock speed of the first memory module 31 to enable the first memory module 31 to be used.

제1레지스터(14)는 제1메모리 모듈(31) 제어에 필요한 명령이나 데이터를 저장한다. 제1채널 콘트롤러(10)를 동작시키기 위한 프로그램을 제1레지스터(14)에 저장할 수 있다. The first register 14 stores commands and data necessary for controlling the first memory module 31. [ A program for operating the first channel controller 10 may be stored in the first register 14. [

클럭 콘트롤러(40)는 상기 제1메모리 모듈(31)과 상기 제2메모리 모듈(32)로부터 각각의 클럭 속도를 읽어 상기 속도들을 비교한다. 또한 상기 클럭 콘트롤러(40)는 각 메모리 모듈(31, 32)에 해당하는 클럭 속도에 대한 정보를 각 채널 콘트롤러(10, 20)와 상기 채널 콘트롤러(10, 20)마다 하나씩 연결된 레지스터(14, 24)로 전송하여 준다. The clock controller 40 reads the respective clock rates from the first memory module 31 and the second memory module 32 to compare the speeds. The clock controller 40 stores information on a clock rate corresponding to each of the memory modules 31 and 32 in the registers 14 and 24 connected to the channel controllers 10 and 20 and the channel controllers 10 and 20, ).

상기 클럭 콘트롤러(40) 내에는 하나 이상의 메모리 모듈용 클럭 발생기(미도시)를 포함할 수 있다. 상기 하나 이상의 클럭 발생기는 복수개의 메모리 모듈과 연결되어, 각 메모리 모듈에 맞는 클럭을 발생시킨다. 상기 클럭 발생기는 메모리 모듈의 갯수에 대응되어야 하며, 메모리 모듈은 사용자에 의해 추가될 수 있으므로, 메모리 콘트롤러(3)가 최대한 지원할 수 있는 메모리 모듈의 갯수만큼 클럭 발생기를 구비하는 것이 바람직하다.The clock controller 40 may include a clock generator (not shown) for one or more memory modules. The at least one clock generator is coupled to a plurality of memory modules to generate a clock suitable for each memory module. The clock generator should correspond to the number of memory modules and the memory module may be added by the user so that it is preferable that the clock generator has as many as the number of memory modules that the memory controller 3 can support.

상기 클럭 발생기는 대응되는 메모리 모듈에 대해서만 클럭을 카운트하며, 선택된 메모리 모듈을 제어하고자 할 때, 해당 메모리 모듈에 대응되는 클럭 발생기를 이용하여 클럭을 카운트하게 된다.The clock generator counts the clock only for the corresponding memory module, and when the selected memory module is to be controlled, the clock generator counts the clock using the clock generator corresponding to the memory module.

따라서 복수의 메모리 모듈에 대응되는 클럭 발생기가 존재하므로, CPU는 각 메모리 모듈의 동작 특성에 따라 결정되는 동작속도로 각 메모리 모듈을 제어할 수 있다.Therefore, since there is a clock generator corresponding to a plurality of memory modules, the CPU can control each memory module at an operating speed determined according to the operating characteristics of each memory module.

제2채널 콘트롤러(20)의 구성요소들, 즉 데이터 콘트롤러(21), 어드레스 콘트롤러(22), 커맨드 콘트롤러(23) 및 제2레지스터(24)는 전술한 제1채널 콘트롤러(10) 및 제1레지스터(14)와 그 구성 및 기능이 동일하다.The components of the second channel controller 20, that is, the data controller 21, the address controller 22, the command controller 23 and the second register 24 are connected to the first channel controller 10 and the first channel controller 10 The configuration and the function of the register 14 are the same.

본 발명에 따른 일 실시예에서, 상기 제1메모리 모듈(31) 및 제2메모리 모듈(32)에 데이터를 저장하거나 인출하는 과정을 살펴보면 다음과 같다.In one embodiment of the present invention, a process of storing or fetching data in the first memory module 31 and the second memory module 32 will be described.

먼저, CPU는 제1메모리 모듈(31)과 제2메모리 모듈(32)의 클럭 속도에 대한 정보를 인출하도록 제어한다. 그리고 상기 CPU는 각 제1메모리 모듈(31)과 제2메모리 모듈(32)의 동작시 필요한 클럭 수에 따라, 클럭 콘트롤러(40)가 해당 메모리 모듈(31, 32)에 대응되는 클럭으로 동작되도록 셋팅한다.First, the CPU controls to fetch information on the clock speeds of the first memory module 31 and the second memory module 32. The CPU controls the clock controller 40 so that the clock controller 40 operates on the clocks corresponding to the memory modules 31 and 32 according to the number of clocks required for operation of the first memory module 31 and the second memory module 32 Setting.

즉, 상기 클럭 콘트롤러(40)는 각 메모리 모듈(31, 32)의 클럭 속도에 대한 정보를 수신하여 클럭 속도의 차이를 비교한다. That is, the clock controller 40 receives information on the clock speeds of the memory modules 31 and 32, and compares the difference in clock speed.

상기 클럭 속도를 비교한 결과, 클럭 속도가 더 빠른 메모리 모듈을 먼저 사용하도록 한다. As a result of comparing the clock speed, a memory module with a faster clock speed is first used.

또한, 상기 클럭 콘트롤러(40)는 수신된 각 메모리 모듈(31, 32)의 클럭 속도에 대한 정보를 각 채널 콘트롤러(10, 20)와 각 레지스터(14, 24)로 전송한다. The clock controller 40 transmits information on the clock speeds of the received memory modules 31 and 32 to the respective channel controllers 10 and 20 and the registers 14 and 24.

일 실시예에서, 제1메모리 모듈(31)의 클럭 속도가 제2메모리 모듈(32)보다 더 빠르다면, 제1메모리 모듈(31)만을 우선 사용하게 할 수 있다. In one embodiment, if the clock speed of the first memory module 31 is faster than the second memory module 32, then only the first memory module 31 may be used first.

상기 제1채널 콘트롤러(10) 내의 어드레스 콘트롤러(12)는 제1메모리 모듈(31)을 먼저 사용하기 위해서, 사용할 데이터의 어드레스를 알아낸다. 이때, 상 기 어드레스 콘트롤러(12)는 제1메모리 모듈(31)로 전술한 CS, ADD, BA 신호를 전송할 수 있다. The address controller 12 in the first channel controller 10 finds the address of the data to be used first to use the first memory module 31. At this time, the address controller 12 can transmit the CS, ADD, and BA signals to the first memory module 31.

이에 대해 커맨트 콘트롤러(13)는 상기 어드레스 콘트롤러(12)에서 생성된 메모리 어드레스에 따라 해당 RAS, CAS, WE, CKE신호를 제1메모리 모듈(31)로 전송한다. In response to this, the comment controller 13 transmits the corresponding RAS, CAS, WE, and CKE signals to the first memory module 31 according to the memory address generated by the address controller 12.

따라서 상기 제1메모리 모듈(31)에 연결된 클럭 발생기만을 동작시켜 상기 제1메모리 모듈(31)을 우선 사용하게 할 수 있다. Therefore, only the clock generator connected to the first memory module 31 can be operated to use the first memory module 31 first.

이때, 사용하지 않을 제2메모리 모듈(32)에 입력되는 CKE(clock enable)를 디스에이블(disable)시켜 클럭 발생기의 동작을 막을 수 있다.At this time, the operation of the clock generator can be prevented by disabling CKE (clock enable) input to the second memory module 32 which is not to be used.

실시예에 따라서는, 사용하지 않을 제2메모리 모듈(32)에 입력되는 CS를 디스에이블(disable)시켜 상기 제2메모리 모듈(32)을 사용하지 않을 수 있다.According to an embodiment, the second memory module 32 may be disabled by disabling the CS input to the second memory module 32 that is not to be used.

또한, 사용하지 않을 제2메모리 모듈(32)에 입력되는 RAS, CAS를 디스에이블(disable)시켜 상기 제2메모리 모듈(32)에 어드레싱을 하지 않게 할 수 있다. Also, it is possible to disable RAS and CAS input to the second memory module 32 which is not to be used, thereby preventing the second memory module 32 from being addressed.

다만 상기 클럭 콘트롤러(40)는 메모리의 사용량을 주기적으로 체크하여, 추가 메모리가 필요한 경우 속도가 높은 순서대로 다른 메모리 모듈을 추가적으로 동작시킬 수 있다. 이를 위해 속도가 높은 순서대로 다른 메모리 모듈에 연결된 클럭 발생기를 추가적으로 동작시킬 수 있다. However, the clock controller 40 periodically checks the usage amount of the memory, and may further operate the other memory modules in the order of higher speed when the additional memory is required. To this end, additional clock generators connected to different memory modules in the order of higher speed can be operated.

따라서 제1메모리 모듈(31)의 사용 후, 추가적으로 제2메모리 모듈(32)이 필요하게 되면, 상기 제2메모리 모듈(32)을 동작시킬 수 있다. 이 경우, 추가될 제2 메모리 모듈(32)에 입력되는 CKE(clock enable)를 인에이블(enable)시켜 클럭 발생기를 동작시킬 수 있다. Accordingly, after the first memory module 31 is used, if the second memory module 32 is additionally required, the second memory module 32 can be operated. In this case, the clock generator can be operated by enabling CKE (clock enable) input to the second memory module 32 to be added.

전술한 실시예에서는 메모리 모듈이 2개인 경우를 설명하였으나, 본 발명은 그 이상의 메모리 모듈을 사용하는 경우에도 적용될 수 있음은 물론이다. In the above-described embodiment, the case where two memory modules are used has been described. However, it goes without saying that the present invention can be applied to the case of using more memory modules.

도 1은 본 발명에 따른 컴퓨터 시스템의 개략적인 구성블록도이다. 1 is a schematic block diagram of a computer system according to the present invention.

도 2는 본 발명에 따른 메모리 콘트롤러의 개략적인 구성블록도이다. 2 is a schematic block diagram of a memory controller according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명 *Description of the Related Art [0002]

1 : CPU(중앙처리장치) 2 : 메모리 모듈1: CPU (central processing unit) 2: memory module

3 : 메모리 콘트롤러 4 : 입출력 장치3: Memory controller 4: I / O device

5 : 입출력 콘트롤러 6 : HDD5: I / O controller 6: HDD

10 : 제1채널 콘트롤러 31 : 제1메모리 모듈10: first channel controller 31: first memory module

20 : 제1채널 콘트롤러 32 : 제2메모리 모듈20: first channel controller 32: second memory module

11, 21 : 데이터 콘트롤러 12, 22 : 어드레스 콘트롤러11, 21: Data controller 12, 22: Address controller

13, 23 : 커맨드 콘트롤러 40 : 클럭 콘트롤러13, 23: Command controller 40: Clock controller

14 : 제1레지스터 24 : 제2레지스터14: first register 24: second register

Claims (10)

데이터를 저장하는 복수의 메모리 모듈;A plurality of memory modules for storing data; 상기 복수의 메모리 모듈을 제어하며, 상기 각 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하는 메모리 콘트롤러;A memory controller for controlling the plurality of memory modules and controlling the memory module having the fastest speed among the memory modules to be used first; 사용자에게 데이터를 출력하고, 사용자로부터 입력을 수신하는 입출력 장치;An input / output device for outputting data to a user and receiving input from a user; 상기 입출력 장치를 제어하는 입출력 콘트롤러; 및An input / output controller for controlling the input / output device; And 상기 구성요소들의 동작을 제어하는 중앙처리장치;A central processing unit for controlling the operation of the components; 를 포함하는 컴퓨터 시스템.≪ / RTI > 복수의 메모리 모듈 중 속도가 가장 빠른 메모리 모듈을 우선 사용하도록 제어하는 메모리 콘트롤러로서,A memory controller for controlling to use a memory module having the fastest speed among a plurality of memory modules, 상기 복수의 메모리 모듈의 클럭 속도를 읽어 들여 상기 속도들을 비교하는 클럭 콘트롤러;A clock controller for reading the clock speeds of the plurality of memory modules and comparing the speeds; 상기 클럭 콘트롤러로부터 비교된 클럭 속도를 수신하여 속도가 가장 빠른 메모리 모듈로 CKE(clock enable) 신호를 전송하는 복수의 채널 콘트롤러; 및A plurality of channel controllers for receiving the compared clock speed from the clock controller and transmitting a clock enable (CKE) signal to the memory module having the fastest speed; And 상기 채널 콘트롤러마다 하나씩 연결된 복수의 레지스터; A plurality of registers connected to the channel controllers one by one; 를 포함하는 메모리 콘트롤러.. 제2항에 있어서,3. The method of claim 2, 상기 복수의 채널 콘트롤러 각각은 데이터 콘트롤러, 어드레스 콘트롤러 및 커맨드 콘트롤러를 포함하는 메모리 콘트롤러.Wherein each of the plurality of channel controllers includes a data controller, an address controller, and a command controller. 제2항에 있어서,3. The method of claim 2, 상기 클럭 콘트롤러에는 하나 이상의 클럭 발생기를 포함하는 메모리 콘트롤러.Wherein the clock controller comprises one or more clock generators. 제4항에 있어서,5. The method of claim 4, 상기 하나 이상의 클럭 발생기는 복수의 메모리 모듈과 연결되어, 각 메모리 모듈에 맞는 클럭을 발생시키는 메모리 콘트롤러. Wherein the at least one clock generator is coupled to a plurality of memory modules to generate a clock suitable for each memory module. 제2항에 있어서,3. The method of claim 2, 상기 클럭 콘트롤러는 메모리의 사용량을 주기적으로 체크하여, 추가 메모리가 필요한 경우 속도가 빠른 순서대로 다른 메모리 모듈을 추가적으로 동작시키는 메모리 콘트롤러. Wherein the clock controller periodically checks the amount of memory usage and further operates the other memory modules in order of speed when an additional memory is needed. 복수의 메모리 모듈의 클럭 속도를 읽어들이는 단계;Reading a clock speed of a plurality of memory modules; 상기 읽어들인 복수의 클럭 속도를 비교하는 단계;Comparing the plurality of read clock rates; 상기 비교 결과, 복수의 메모리 모듈 중 클럭 속도가 가장 빠른 메모리 모듈에 연결된 클럭 발생기만을 동작시켜 해당 모듈을 우선 사용하는 단계;As a result of the comparison, only the clock generator connected to the memory module having the highest clock speed among the plurality of memory modules is operated to use the corresponding module first; 를 포함하는 메모리 모듈 제어방법.≪ / RTI > 제7항에 있어서,8. The method of claim 7, 사용하지 않을 메모리 모듈에 입력되는 CKE(clock enable)를 디스에이블(disable)시켜 클럭 발생기의 동작을 막는 단계;Disabling clock enable (CKE) input to a memory module not to be used to prevent operation of the clock generator; 를 더 포함하는 메모리 모듈 제어방법.≪ / RTI > 제7항에 있어서,8. The method of claim 7, 추가 메모리가 필요한 경우 속도가 빠른 순서대로 다른 메모리 모듈을 추가적으로 동작시키는 단계;Further operating other memory modules in order of increasing speed if additional memory is needed; 를 더 포함하는 메모리 모듈 제어방법. ≪ / RTI > 제9항에 있어서,10. The method of claim 9, 상기 추가될 메모리 모듈에 입력되는 CKE(clock enable)를 인에이블(enable)시켜 클럭 발생기를 동작시키는 메모리 모듈 제어 방법.And activating a clock enable (CKE) input to the memory module to be added to operate the clock generator.
KR1020080081274A 2008-08-20 2008-08-20 A computer system and method controlling memory module KR101477809B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080081274A KR101477809B1 (en) 2008-08-20 2008-08-20 A computer system and method controlling memory module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080081274A KR101477809B1 (en) 2008-08-20 2008-08-20 A computer system and method controlling memory module

Publications (2)

Publication Number Publication Date
KR20100022656A KR20100022656A (en) 2010-03-03
KR101477809B1 true KR101477809B1 (en) 2014-12-30

Family

ID=42175113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080081274A KR101477809B1 (en) 2008-08-20 2008-08-20 A computer system and method controlling memory module

Country Status (1)

Country Link
KR (1) KR101477809B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990088104A (en) * 1998-05-07 1999-12-27 니시무로 타이죠 Data synchronous transmitting system and method of synchronously transmitting data
KR20050082956A (en) * 2004-02-20 2005-08-24 삼성전자주식회사 Memory system
KR100714396B1 (en) * 2005-07-18 2007-05-04 삼성전자주식회사 Computer system for improving processing speed of memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990088104A (en) * 1998-05-07 1999-12-27 니시무로 타이죠 Data synchronous transmitting system and method of synchronously transmitting data
KR20050082956A (en) * 2004-02-20 2005-08-24 삼성전자주식회사 Memory system
KR100714396B1 (en) * 2005-07-18 2007-05-04 삼성전자주식회사 Computer system for improving processing speed of memory

Also Published As

Publication number Publication date
KR20100022656A (en) 2010-03-03

Similar Documents

Publication Publication Date Title
US7421558B2 (en) System controlling interface timing in memory module and related method
US6611905B1 (en) Memory interface with programable clock to output time based on wide range of receiver loads
US7120754B2 (en) Synchronous DRAM with selectable internal prefetch size
KR101019443B1 (en) Memory apparatus, error correction supporting method thereof, computer readable recording medium having supporting program thereof recorded, memory card, circuit board and electronic device
US5446860A (en) Apparatus for determining a computer memory configuration of memory modules using presence detect bits shifted serially into a configuration register
US7929361B2 (en) Circuit using a shared delay locked loop (DLL) and method therefor
KR20070007513A (en) Memory module and memory system including the same
KR20140108379A (en) Refresh address generator and volatile memory device comprising thereof
US20080177913A1 (en) Memory systems and memory access methods
US8938600B2 (en) Memory system, memory control method, and recording medium storing memory control program
JP2007249738A (en) Memory access controller
US9672891B2 (en) Memory device, memory module including the memory device, method of fabricating the memory module, and method of repairing the memory module
KR20110083859A (en) Memory module including a memory buffer and memory system having the same
KR20170059239A (en) Memory device and memory system having heterogeneous memories
US10976368B2 (en) Memory apparatus relating to determination of a failed region and test method thereof, memory module and system using the same
JP2010092261A (en) Memory module, and auxiliary module for memory
KR101477809B1 (en) A computer system and method controlling memory module
WO2007116483A1 (en) Memory apparatus, its control method, its control program, memory card, circuit board, and electronic device
US10698781B2 (en) Semiconductor memory module, semiconductor memory system, and method of accessing semiconductor memory module
US7278015B2 (en) Methods and devices for DRAM initialization
JP5040306B2 (en) Storage control device and storage control method
JP2008293413A (en) Accessing method for extension memory, electronic equipment, and memory module
US6731565B2 (en) Programmable memory controller and controlling method
CN1275162C (en) Initializing setting method of dynamic rondom access storage
US8635418B2 (en) Memory system and method for passing configuration commands

Legal Events

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

Payment date: 20171124

Year of fee payment: 4