KR100559736B1 - 메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한메모리 모듈 및 허브 - Google Patents
메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한메모리 모듈 및 허브 Download PDFInfo
- Publication number
- KR100559736B1 KR100559736B1 KR1020040075773A KR20040075773A KR100559736B1 KR 100559736 B1 KR100559736 B1 KR 100559736B1 KR 1020040075773 A KR1020040075773 A KR 1020040075773A KR 20040075773 A KR20040075773 A KR 20040075773A KR 100559736 B1 KR100559736 B1 KR 100559736B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- data
- packet
- hub
- write
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4243—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
다수의 메모리 모듈이 데이지 체인으로 연결된 메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한 메모리 모듈의 허브가 개시된다. 테스트용 데이터의 쓰기 동작시 모듈 및 랭크 무시 모드로 다수의 메모리 모듈을 진입시켜서 한번의 쓰기 명령으로 데이지 체인에 연결된 모든 메모리 모듈에 대해 쓰기 동작을 실시한다. 또한, 읽기 동작시 한번의 읽기 명령으로 인접한 메모리 모듈들의 데이터들을 상호 비교하여 메모리 모듈에서 데이터들의 비교 동작이 수행되도록 한다.
Description
도 1은 일반적인 FBDIMM을 포함하는 메모리 시스템의 블록도 이다.
도 2는 도 1의 메모리 시스템의 쓰기 읽기 동작을 설명하기 위한 타이밍도를 나타낸다.
도 3은 본 발명에 의한 FBDIMM을 포함하는 메모리 시스템의 바람직한 일실시예의 블록도를 나타낸다.
도 4는 사우스 바운드 패킷포맷을 설명하기 위한 도면이다.
도 5는 노스 바운드 패킷포맷을 설명하기 위한 도면이다.
도 6은 사우스 바운드 패킷으로부터 디코딩된 커맨드의 진리표를 나타낸다.
도 7은 본 발명의 메모리 시스템의 기준클록, 메모리 동작클록 및 패킷 단위 간격(UI)의 타이밍 관계를 나타낸다.
도 8은 본 발명에 의한 메모리 시스템의 허브의 바람직한 일 실시예의 블록도를 나타낸다.
도 9는 본 발명에 의한 메모리 시스템의 모두 쓰기 읽기 모드의 동작 타이밍 관계를 나타낸다.
도 10은 본 발명에 의한 FB-DIMM 메모리 시스템의 메모리 컨트롤러의 테스트 동작을 설명하기 위한 순서도이다.
도 11은 본 발명에 의한 메모리 모듈의 각 허브에서 동작을 설명하기 위한 순서도이다.
도 12는 도 11의 테스트 동작 루틴의 동작을 설명하기 위한 순서도이다.
도 13은 본 발명에 의한 메모리 시스템의 허브의 바람직한 다른 실시예의 블록도를 나타낸다.
본 발명은 메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한 메모리 모듈 및 메모리 제어장치에 관한 것으로 더욱 상세하게는 다수의 메모리가 PCB(Printed Circuit Board)상에 탑재된 메모리 모듈로 구성된 메모리 시스템 및 그 테스트 방법에 관한 것이다.
다수의 메모리를 PCB상에 탑재하는 메모리 모듈로는 SIMM(Single In-line Memory Module)과 DIMM(Dual In-line Memory Module)이 있다. SIMM은 PCB의 한쪽 면에 메모리 칩을 탑재한 것이며, DIMM은 PCB의 양쪽면을 모두 사용하는 것이다.
현재, 메모리 모듈의 대부분은 DIMM이 차지하고 있다. 또한, DIMM은FBDIMM(Fully Buffered Dual In-line Memory Module)과 Registered DIMM(이하 R- DIMM이라 한다)으로 분류된다. 최근 메모리 시스템의 고속화 및 고용량화를 위해 FBDIMM이 많은 연구가 진행되고 있다.
FBDIMM으로 구성된 메모리 시스템은 마더보트(MotherBoard)상에 다수의 슬롯과 상기 다수의 슬롯에 삽입된 다수의 FBDIMM으로 이루어진다.
도 1은 종래 기술에 의한 FBDIMM을 포함한 메모리 시스템의 블록도이다.
도 1을 참조하면, 메모리 시스템(100)은 호스트(110)와 데이지 체인으로 연결된 다수의 FBDIMM들(MM1~MMn, n은 1보다 큰 자연수를 의미한다.)로 구성된다. FBDIMM들(MM1~MMn)은 데이지 체인상에 통상 8개까지 연결 된다. 일반적인 FBDIMM에 관한 상세 설명은 미국 특허번호 6,317,352와 국내 특허공개번호 2003-0064400에 개시되어 있다.
호스트(110)는 다수의 FBDIMM(MM1~MMn)으로 고속의 사우스바운드(Southbound, 이하 SB라 한다.)패킷을 송신하는 송신단(STx)과 다수의 FBDIMM에서 호스트로 전송되는 노스바운드(Northbound, 이하 NB라 한다.) 패킷을 수신하는 수신단(NRx)를 구비한다.
FBDIMM(MM1~MMn)은 허브(Hub)(120 또는 120-n)와 다수의 메모리들(M1~Mn,n은 1보다 큰 자연수를 의미한다.)로 구성된다. 각각의 허브들은 SB 송수신단(STx,SRx), NB 송수신단(NTx,NRx) 및 제어부(122)를 구비한다.
SB 수신단(SRx)은 호스트(110) 또는 SB 패킷 전송 반대방향으로 인접한 FBIMM에서 전송되는 고속 SB 패킷을 수신한다.
제어부는 SB 수신단(SRx)에서 수신된 SB 패킷을 디코딩하여 메모리 정보, 즉 데이터, 커맨드 및 어드레스 정보를 발생하고, 메모리로부터 독출된 데이터를 인코딩하여 노스 바운드 패킷을 생성한다.
SB 송신단(SRx)은 SB 수신단(STx)으로 수신된 SB 패킷을 그 전송방향으로 인접한 FBDIMM으로 전송한다. NB 수신단(NRx)은 NB 패킷 전송 반대방향으로 인접한 FBDIMM에서 전송되는 고속 NB 패킷을 수신한다. NB 송신단(NTx)은 호스트 또는 NB 패킷 진행방향으로 인접한 FBDIMM으로 고속 NB 패킷을 송신한다.
또한 각각의 허브는 FBDIMM에 탑재된 메모리들(M1~Mn)과의 인터페이스를 위한 메모리 인터페이스부(124)를 갖는다.
도 2는 종래의 메모리 시스템에서의 쓰기 및 읽기 동작 타이밍도를 나타낸다.
도 2를 참조하면, SB 패킷은 다수의 FBDIMM상의 각 허브의 송수신단을 통해 마지막 FBDIMM(MMn)까지 메모리 클럭(CLK_MEM)의 한 주기 내에 전달된다. 전달된 SB 패킷 정보는 각각의 허브의 제어부에서 디코딩되고, 커맨드 정보 내에 포함된 목적지 정보를 해석하여 목적지 정보와 동일한 모듈식별정보를 가진 해당 모듈에서만 커맨드를 수행하고 목적지 정보와 다른 모듈식별정보를 가진 나머지 다른 모듈들은 자신의 커맨드가 아니므로 무시한다. 즉, 패킷에 포함된 목적지 정보를 가진 FBDIMM만 선택된다. 타이밍도에서는 패킷의 목적지가 모듈(MM1)인 경우를 나타낸다.
따라서, 선택된 FBDIMM(MM1)의 허브(120-1)의 메모리 인터페이스부(124)는 액티브 커맨드(ACT1)와 라이트 커맨드(WR1)를 순차적으로 입력하여 다수의 메모리 장치(M1~Mn)에 수신된 쓰기 데이터(W1)를 전송하여 쓰기 동작을 수행한다. 이어서, 선택된 FBDIMM(MM2)의 허브(120-2)의 메모리 인터페이스부(124)는 액티브 커맨드(ACT2)와 라이트 커맨드(WR2)를 순차적으로 입력하여 다수의 메모리 장치(M1~Mn)에 수신된 쓰기 데이터(W2)를 전송하여 쓰기 동작을 수행한다.
데이터를 기입한 다음에 호스트는 MM1의 읽기 동작을 수행하기 위해 읽기 커맨드(RD1)를 포함하는 SBP을 전송한다. FBDIMM(MM1)의 허브(120-1)의 수신단(STx)에서는 SBP를 수신하여 목적지 정보가 모듈식별정보와 동일하므로 디코딩된 커맨드를 수행하여 해당 어드레스로부터 데이터(R1)를 독출한다. 나머지 다른 모듈들은 목적지 정보가 자신의 모듈식별정보와 일치하지 않으므로 디코딩된 명령을 무시한다. 이어서, MM2에서는 읽기 커맨드(RD2)를 수신하여 데이터(R2)를 독출한다.
데이터(R1)과 (R2)는 각각 노스 바운드 패킷들로 인코딩되어 다음 메모리 클럭에서 호스트(110)로 전송된다.
이와 같이 종래에는 메모리 모듈마다 액티브 커맨드, 쓰기 커맨드, 액티브 커맨드, 읽기 커맨드를 각각 별도로 제공하여 개별적으로 쓰기와 읽기를 반복하여야 하므로 예컨대 8개의 모듈(MM1~MMn)을 테스트하고자 할 경우 8번의 쓰기 동작과 읽기 동작을 순차적으로 반복하지 않으면 안되었다.
이와 같이 종래의 다수의 메모리 모듈이 실장된 메모리 시스템을 테스트하는 경우에는 모듈 수 만큼 테스트 데이터를 쓰고 읽는 과정을 반복하여야 하므로 테스트 하는 데 과도한 시간이 소모되어 테스트의 효율성이 낮은 단점을 가진다.
상기와 같은 문제점을 해결하기 위한 본 발명의 제1 목적은, 테스트 모드 진입신호를 설정하는 레지스터와 수신단에서 수신된 데이터와 자기 데이터를 비교하는 비교기를 갖는 허브를 제공함에 있다.
본 발명의 제2 목적은 하나 이상의 메모리 장치와 상기 허브를 갖는 메모리 모듈을 제공함에 있다.
본 발명의 제3 목적은 한번의 쓰기 명령으로 다수개의 메모리 모듈에 동일한 데이터를 쓸 수 있는 메모리 모듈 시스템 및 그 방법을 제공하는데 있다.
본 발명의 제4 목적은 2개의 메모리 모듈로부터 출력된 데이터로 메모리 모듈들의 정상 동작 여부를 테스트 할 수 있는 메모리 모듈 시스템 및 그 방법을 제공하는데 있다.
본 발명의 제5 목적은 짧은 시간에 메모리 시스템을 테스트할 수 있는 테스트 방법을 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 메모리 시스템은 호스트와 데이지 체인으로 연결된 적어도 복수의 메모리 모듈들로 구성한다. 여기서 메모리 모듈은 FB-DIMM이 바람직하다. 각 메모리 모듈들은 각각 적어도 하나의 메모리 칩과 허브를 포함한다.
여기서, 허브는 메모리 모듈 기판에 장착되고, 호스트 동작속도의 데이터를 디램과 같은 메모리 동작속도의 데이터로 버퍼링하여 호스트와 복수의 디램들 사이의 데이터를 중계하는 장치를 말한다.
허브는 크게 데이터 송수신부, 제1인터페이스부, 제2인터페이스부, 데이터 처리부를 포함한다. 송수신부는 제1수신단, 제1송신단, 제2수신단, 제2송신단을 포함한다. 제1수신버스와 연결된 제1수신단을 통해 수신된 복수의 제1데이타열, 즉 사우스 바운드 패킷 또는 쓰기 패킷을 제1송신단과 연결된 제1송신버스를 통해 송신하고, 제2수신버스와 연결된 제2수신단을 통해 수신된 복수의 제2데이터열, 즉 노스 바운드 패킷, 또는 읽기 패킷을 제2송신단에 연결된 제2송신버스를 통해 송신한다.
따라서, 하나의 메모리 모듈의 제1 및 제2 송신버스는 다른 하나의 메모리 모듈의 제1 및 제2수신버스로 각각 제공되어 메모리 모듈들은 포인트 투 포인트 방식으로 연결된다.
제1인터페이스부는 제3버스, 즉 시스템 관리 버스를 통해 호스트와 연결되고, 테스트 모드신호와 테스트 결과신호를 송수신한다. 레지스터는 호스트로부터 제공된 테스트 모드신호 또는 모두 쓰기 읽기 모드신호와 호스트로 송신하기 위한 테스트 결과신호, 또는 검출신호를 저장한다.
제2인터페이스부는 허브와 복수의 메모리 칩들 사이를 연결하는 제4버스, 즉, 메모리 데이터 버스, 어드레스 버스 및 커맨드 버스를 포함하는 버스를 통하여 메모리 데이터를 송수신한다.
데이터 처리부는 상기 제1인터페이스부를 통해 테스트 모드 설정시에 상기 데이터 송수신부를 통과하는 사우스 바운드 패킷을 받아들여 상기 제2인터페이스부를 통해 상기 복수의 메모리 칩들에 조건없이 기입하고, 상기 복수의 메모리 칩들 에 기입된 데이터를 독출하고, 독출된 데이터를 상기 복수의 제2데이터열과 비교하여 그 결과를 제3버스로 송신한다. 여기서 데이터 처리부는 패킷처리부, 비교기, 멀티플렉서 등을 포함한다.
본 발명에서는 테스트 모드는 크게 두 가지 동작모드, 즉 모두 쓰기 동작모드와 모두 읽기 동작모드로 구성된다.
본 발명의 패킷처리부는 수신된 사우스바운드 패킷을 디코딩하여 목적지 정보, 메모리 데이터, 쓰기 커맨드 및 어드레스 정보를 획득하고, 테스트 모드의 모두 쓰기 동작상태에서는 획득된 목적지 정보와 자신의 모듈식별정보의 일치여부에 관계없이 쓰기 커맨드 및 어드레스정보에 의해 상기 메모리 데이터가 하나 이상의 메모리 장치에 기입되도록 메모리 인터페이스부를 제어한다.
또한, 패킷처리부는 읽기 커맨드 및 어드레스 정보를 포함하는 사우스 바운드 패킷에 응답하여 상기 하나 이상의 메모리 칩으로부터 제2 데이터 정보를 독출하여 노스 바운드 패킷을 생성한다. 멀티플렉서는 모두 읽기모드에서는 노스 바운드 패킷을 비교기로 연결시키고 정상동작모드에서는 제2송신버스에 연결시킨다. 비교기는 모두 읽기 동작모드에서 인에이블되어 제2수신버스를 통해 수신된 노스 바운드 패킷과 상기 멀티플렉서를 통해 전달된 노스 바운드 패킷을 비교한다.
본 발명에서 비교기는 제1데이터 정보를 포함하는 노스 바운드 패킷과 제2 데이터 정보를 포함하는 노스 바운드 패킷의 비교결과를 검출 레지스터에 저장한다.
본 발명의 메모리 시스템의 테스트 방법은 먼저 모두 쓰기 동작을 수행한다. 모두 쓰기 동작은 호스트에 데이지 체인으로 연결된 다수의 메모리 모듈들을 모두 쓰기 모드로 동작모드를 설정함으로써 이루어진다. 이어서, 호스트에서 상기 다수의 메모리 모듈들로 쓰기 패킷을 동시에 전송한다. 각 메모리 모듈들에서 쓰기 패킷을 디코딩하여 목적지 정보, 쓰기 커맨드, 어드레스 및 쓰기 데이터 정보를 획득한다. 모두 쓰기 모드 설정에 응답하여 상기 획득된 목적지 정보와 각 모듈들 자신의 모듈식별정보의 일치여부에 관계없이, 상기 다수의 메모리 모듈들에서 각각 탑재된 적어도 하나의 메모리 칩의 상기 획득된 어드레스로 지정된 저장장소에, 상기 획득된 쓰기 데이터 정보를 동시에 기입한다.
여기서 모드설정은 데이지 체인과는 별도의 시스템 관리 버스를 통해 호스트로부터 상기 복수의 메모리 모듈들에 동시에 전송된 테스트 모드 설정명령에 의해 이루어지는 것이 바람직하다.
다음에 모두 읽기 동작을 수행한다. 모두 읽기 모드설정은 데이지 체인으로 연결되고 하나 이상의 메모리 칩 및 허브로 구성된 다수의 메모리 모듈들을 모두 읽기 모드로 동작모드를 설정함으로서 이루어진다. 호스트에서 상기 데이지 체인을 통하여 상기 다수의 메모리 모듈들의 각 허브로 쓰기 패킷을 동시에 전송한다. 각 허브에서 수신된 쓰기 패킷을 디코딩하여 목적지 정보, 읽기 커맨드, 어드레스를 획득한다. 설정된 모두 읽기 테스트 모드에 응답하여 상기 획득된 목적지 정보와 각 허브 자신의 모듈식별정보의 일치여부에 관계없이, 다수의 메모리 모듈들에서 각각 탑재된 적어도 하나의 메모리 칩의 상기 획득된 어드레스로 지정된 저장장소로부터 읽기 데이터 정보를 동시에 독출한다. 각 허브들에서, 상기 독출된 읽기 데 이터를 포함하는 읽기 패킷을 각각 생성함과 동시에 데이지 체인의 최종단에 연결된 메모리 모듈의 허브로부터 생성된 읽기 패킷을 호스트를 향하여 전송하고, 호스트와 최종단의 메모리 모듈 사이에 연결된 각 메모리 모듈들에서, 최종단의 메모리 모듈로부터 전송된 읽기 패킷을 수신하여 자신의 허브에서 생성된 읽기 패킷과 비교하여 불량을 판단한다. 비교결과의 검출신호를 레지스터에 저장하고 저장된 검출신호를 호스트로 전송한다.
본 발명에서는 메모리 시스템의 테스트시 패킷 식별동작을 무시하고 모든 모듈들의 각 메모리 칩들에 동시에 테스트 데이터를 쓰고, 이어서, 메모리 칩에 쓰인 테스트 데이터를 동시에 독출함과 동시에 인접 메모리 모듈로부터 제공된 테스트 데이터를 비교함으로써 불량여부를 테스트한다.
따라서, 1회의 쓰기 동작과 1회의 읽기동작에 의해 메모리 시스템의 모든 메모리 모듈의 테스트를 수행함으로써 테스트 효율을 향상시킬 수 있다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 구체적으로 설명하고자 한다. 이 실시예는 이 기술에 숙련된 자들이 본 발명을 실시할 수 있게 충분히 상세하게 기술한다.
< 실시예 1 >
도 3은 본 발명에 의한 FBDIMM을 포함하는 메모리 시스템의 바람직한 일실시예의 블록도를 나타낸다.
도 3을 참조하면, 메모리 시스템은 8개의 FB-DIMM 메모리 모듈들(200)로 구 성한다. 각 모듈들(200)은 각각 하나의 허브, 즉 AMB(Advanced Memory Buffer) 칩(210)과 복수의 DDR 디램 칩(220)들을 포함한다.
각 모듈들(200)의 AMB 칩(210)들은 제1버스(310) 및 제2버스(320)를 통해 데이지 체인방식으로 호스트, 즉 메모리 콘트롤러(300)에 연결된다. 메모리 콘트롤러(300)는 제1버스(310)를 통하여 사우스 바운드 패킷을 메모리 모듈들(200)에 송신한다. 메모리 콘트롤러(300)는 제2버스(320)를 통하여 메모리 모듈들(200)로부터 송신된 노스 바운드 패킷을 수신한다.
각 모듈들(200)은 제3버스(330), 즉 시스템 관리버스(SMBus)를 통하여 메모리 콘트롤러(300)와 공통 연결된다. 또한, 각 모듈들(200)은 클록소스(302)로부터 기준클록신호를 제공받는다. 기준클록신호는 각 모듈(200) 내부의 메모리 칩의 동작클록신호의 1/2의 주파수를 가진다.
도 4는 사우스 바운드 패킷포맷을 설명하기 위한 도면이다.
도 4를 참조하면, 사우스 바운드 패킷(SBP)은 메모리 동작클록신호의 1주기에 12개의 비트들로 이루어진 10개의 데이터열로 이루어진다. 사우스 바운드 패킷(SBP)은 전체 120비트로 구성되고, 40비트의 3개 프레임을 포함한다. 프레임은 커맨드 프레임(CF), 쓰기 데이터 프레임(WDF1, WDF2), NOP(NO Operation) 프레임을 포함한다. 커맨드 프레임(CF)은 16비트의 CRC 코드와 24비트의 커맨드정보를 포함한다. 쓰기 데이터 프레임(WDF1)은 WDF2)은 상위 36비트의 메모리 데이터를 포함하고, 쓰기 데이터 프레임(WDF2)은 하위 36비트의 메모리 데이터를 포함한다.
도 5는 노스 바운드 패킷포맷을 설명하기 위한 도면이다.
도 5를 참조하면, 노스 바운드 패킷(NBP)은 메모리 동작클록신호의 1주기에 12개의 데이터들로 이루어진 14개의 데이터열로 이루어진다. 노스 바운드 패킷(NBP)은 2개의 읽기 데이터 프레임(RDF1, RDF2)를 포함한다. 각 읽기 데이터 프레임은 72비트의 메모리 데이터를 포함한다.
도 6은 사우스 바운드 패킷으로부터 디코딩된 커맨드의 진리표를 나타낸다.
도 6을 참조하면, 24비트 커맨드는 3비트 목적지 정보(DST), 1비트 랭크선택정보(RS), 디램 커맨드(CMD), 어드레스(ADDR)를 포함한다. 3비트 목적지 정보(DST)는 8개의 모듈들에 각각 대응하는 서로 다른 8개의 모듈식별 코드값들을 가진다. 예컨대 "000"은 첫 번째 모듈이고, "111"은 마지막 8번째 모듈 등으로 지정된다. 랭크선택비트(RS)는 모듈의 양면 중 어느 한 면을 선택하기 위한 비트이다.
따라서, 각 모듈마다 목적지 정보(DST)는 고유한 값을 가지게 된다.
디램 커맨드(CMD)는 어드레스 정보를 포함하는 액티브 커맨드, 쓰기 커맨드, 읽기 커맨드와 어드레스 정보를 포함하지 않는 다른 커맨드들을 구분한다. 액티브 커맨드는 21번째 비트값 "1"로 정의되고, 나머지 비트들의 조합은 디램 뱅크 어드레스와 로우 어드레스 값으로 제공된다.
쓰기 커맨드와 읽기 커맨드는 19 및 20번째 비트들의 조합("11" 및 "10")에 의해 서로 구분되고 나머지 비트들의 조합은 컬럼 어드레스 값으로 제공된다.
도 7은 기준클록신호, 메모리 동작클록신호, 패킷 전송 데이터의 단위 간격(UI)의 타이밍을 나타낸다. 도 6에 도시한 바와 같이 메모리 동작클록신호(CLK_DRAM)은 기준클록신호(CLK_REF)의 2배의 주파수를 가진다. 메모리 동작클록의 1주기는 12개의 패킷데이터의 단위 간격(UI :Unit Interval)에 대응됨을 알 수 있다.
도 8은 본 발명에 의한 허브(210)의 바람직한 일실시예의 블록도를 나타낸다. 도 8을 참조하면, 허브(210)는 데이터 송수신부(212), 제1인터페이스부(214), 제2인터페이스부(216) 및 데이터처리부(218)를 포함한다.
데이터 송수신부(212)는 제1수신단(SRx), 제1송신단(STx), 제2수신단(NRx), 제2송신단(NTx)을 포함한다.
모듈(200-1)의 제1수신단(SRx)은 메모리 콘트롤러(300)로부터 송신된 사우스 바운드 패킷(SBP)을 수신하도록 버스(310)에 연결된다. 제1수신단(SRx)을 통해 수신된 사우스 바운드 패킷(SBP)은 제1송신단(STx)에 연결된다. 제1송신단(STx)은 인접 모듈(200-2)의 제1수신단(SRx)에 SBP를 을 수신하도록 버스(312)에 연결된다. 버스 310, 312는 모두 사우스 바운드 패킷을 전송하기 위한 전용 버스 구조를 가진다. 버스 310과 312는 각각 동일한 사우스 바운드 패킷을 전송하지만 각 모듈의 송수신단에 의해 서로 아이솔레이션 되어 포인트 투 포인트 방식으로 연결된다.
모듈(200-1)의 제2수신단(NRx)은 인접 모듈(200-2)로부터 송신된 노스 바운드 패킷(NBP)을 수신하도록 버스(322)에 연결된다. 제2수신단(NRx)을 통해 수신된 노스 바운드 패킷(NBP)은 제2송신단(NTx)에 연결된다. 제2송신단(NTx)은 메모리 콘트롤러(300)에 NBP를 송신하도록 버스(320)에 연결된다. 버스 322, 320은 모두 노스 바운드 패킷을 전송하기 위한 전용 버스 구조를 가진다. 마찬가지로 버스320, 322는 포인트 투 포인트 방식으로 연결된다.
제1인터페이스부(214)는 버스(330)를 통하여 메모리 콘트롤러(300)와 시스템 관리 정보를 송수신하기 위하여 모드설정 레지스터(RG1)와 검출 레지스터(RG2)를 포함한다. 제1인터페이스부(214)는 버스(330)를 통해 메모리 콘트롤러(300)로부터 제공된 테스트 모드신호 또는 모두 쓰기 읽기 모드신호를 수신하여 모드설정 레지스터(RG1)에 저장하고 내부 버스(IB4)를 통하여 데이터 처리부(218)에 모드설정신호를 제공한다. 또한, 제1인터페이스부(214)는 데이터 처리부(218)로부터 내부 버스(IB9)를 통하여 제공된 검출신호를 검출 레지스터(RG2)에 저장하고 버스(330)를 통하여 메모리 콘트롤러(300)로 검출신호를 송신한다.
제2인터페이스부(216)는 내부 버스(IB2)를 통하여 데이터 처리부(218)과 연결되고, 메모리 버스(IB3)를 통하여 복수의 디램 칩들(200)과 연결된다. 제2인터페이스부(216)는 내부 버스(IB2)를 통하여 허브 동작 클록 속도로 메모리 데이터 또는 커맨드 및 어드레스 정보를 수신받거나 독출된 메모리 데이터를 데이터 처리부(218)에 전달한다. 또한, 제2인터페이스부(216)는 메모리 동작클록 속도로 메모리 데이터 또는 커맨드 및 어드레스 정보를 디램 칩들(220)에 제공하고, 디램 칩(220)들로부터 독출된 메모리 데이터를 받아들인다.
데이터 처리부(218)는 패킷 처리부(PKP), 멀티플렉서(MUX), 비교기(COM)를 포함한다.
패킷처리부(PKP)는 제1수신단(SRx)를 통하여 수신된 사우스 바운드 패킷(SBP)을 내부 버스(IB1)를 통해서 받아들인다. 패킷의 제1프레임의 커맨드를 디코딩하여 목적지 정보, 랭크정보, 커맨드 및 어드레스 정보 등을 획득한다. 제2 및 제3 프레임이 쓰기 데이터 프레임이면 관련된 72비트의 메모리 데이터를 획득한다.
정상동작모드이면, 패킷처리부(PKP)는 제1 프레임으로부터 획득된 목적지 정보를 자신의 모듈식별정보와 비교하여 현재 수신된 커맨드가 자신의 커맨드인지를 판단한다. 자신의 커맨드가 아니면 다음 커맨드 수신시 까지 대기한다. 자신의 커맨드이면 획득된 명령을 수행하기 위하여 제2인터페이스부(210)를 통하여 획득된 커맨드, 어드레스 또는 쓰기 데이터 들을 메모리 칩(220)들에 제공한다. 한편, 읽기 명령인 경우에는 메모리 칩들로부터 독출된 메모리 데이터를 받아서 노스 바운드 패킷(NBP)을 생성한다. 생성된 노스 바운드 패킷(NBP)는 내부 버스(IB5), 멀티 플렉서(MUX), 내부 버스(IB6)을 거쳐서 제2송신단(NTx)에 제공된다.
테스트 동작모드이면, 패킷처리부(PKP)는 사우스 바운드 패킷의 쓰기 커맨드 수신되면 획득된 목적지 정보가 자신의 모듈식별정보와 일치하던 일치하지 않던 관계없이 무조건적으로 쓰기 커맨드를 수행한다. 이어서, 읽기 커맨드가 수신되면 마찬가지로 획득된 목적지 정보가 자신의 모듈식별정보와 일치하던 일치하지 않던 관계없이 무조건적으로 읽기 커맨드를 수행하여 메모리 데이터를 독출하여 노스 바운드 패킷을 생성한다. 그리고, 제어신호(C1)을 액티브시켜서 멀티플렉서(MUX)가 내부 버스(IB7)를 선택하도록 제어하고, 제어신호(C2)를 액티브시켜서 비교기(COM)를 인에이블상태로 제어한다. 따라서, 비교기(COM)는 내부 버스(IB7)를 통해 자신의 내부에서 생성된 노스 바운드 패킷과 제2수신단(NRx)를 통해 모듈(200-2)로부터 제공된 노스 바운드 패킷을 내부 버스(IB8)를 통해서 입력받아 서로 비교한다.
비교기(COM)의 비교결과는 내부 버스(IB9)를 통하여 레지스터(RG2)에 저장된 다. 비교된 두 노스 바운드 패킷이 일치하면 정상검출신호가 레지스터(RG2)에 저장되고, 일치하지 않으면 불량검출신호가 레지스터(RG2)에 저장된다.
한편, 마지막 모듈(MM2)의 허브(210)에서 테스트 모드의 쓰기 동작은 다른 모듈의 허브들과 동일하게 동작하지만 읽기 동작시에는 비교기(COM)는 디스에이블 상태로 유지하고 멀티플렉서(MUX)는 내부버스(IB6)를 선택하도록 제어한다. 그러므로, 마지막 모듈에서는 DDR2-DRAM(220)에서 독출된 데이터를 패킷 처리부(PKP)에서 인코딩하여 다음 메모리 클록 주기에 NBP로 송출한다. 송출된 NBP는 동일 메모리 클록 주기에 MM1 및 호스트(300)에 전달된다. MM1에 전달된 MM2의 NBP는 비교기(COM)에 의해 MM1에서 생성된 NBP와 동일 메모리 클록 주기에 서로 비교된다. 비교기(COM)의 비교결과는 레지스터(RG2)에 저장된다. 레지스터(RG2)에 저장된 불량검출신호는 다음 클록주기에 SMBus(330)를 통해 메모리 콘트롤러(300)에 전달된다.
즉, 데이지 체인의 최종단에 연결된 마지막 모듈(MM2)은 테스트 모드에서 데이터를 기입하고 기입된 데이터를 독출하여 NBP로 송출한다. 그러나, 메모리 콘트롤러(300)와 마지막 모듈(MM2)의 사이에 연결된 모듈(MM1)은 데이터를 기입하고 기입된 데이터를 독출하여 NBP를 생성하지만 이를 외부로 송출하지 않고 허브 내부에서 수신된 NBP와 비교하여 불량여부를 검출한다. 상기 실시예에서는 메모리 콘트롤러(300)와 마지막 모듈(MM2)의 사이에 연결된 하나의 모듈(MM1)에 대해서 설명하였으나 복수의 모듈들을 연결한 경우에도 동일한 동작을 수행한다.
따라서, 한번의 쓰기 동작과 한번의 읽기 동작에 의해 8개의 메모리 모듈들을 동시에 불량 테스트하는 것이 가능하게 된다.
도 10은 본 발명에 의한 FB-DIMM 메모리 시스템의 메모리 컨트롤러의 테스트 동작을 설명하기 위한 순서도이다.
도 10을 참조하면, 메모리 컨트롤러(300)에서는 FB-DIMM 으로 구성한 메모리 시스템의 테스트를 위하여 SMBus를 통하여 모든 모듈들을 테스트 모드로 설정한다(S102). 모드 설정을 한 후에 테스트 데이터를 모든 모듈에 쓰기 위한 SBP를 생성하여 버스(310)를 통하여 모듈들에 송신한다(S104). 테스트 데이터 기입동작이 완료되면, 이어서, 모든 모듈에 기입된 테스트 데이터를 독출하기 위한 SBP를 생성하여 버스(320)를 통하여 모듈들에 송신한다(S106). 읽기 SBP에 응답하여 마지막 모듈로부터 송출된 NBP를 버스(320, 322)를 통하여 수신되면(S108) SMBus를 통하여 각 모듈들로부터 불량검출신호의 송출을 요청하여(S110), 모든 모듈로부터 검출신호를 수신한다(S112). 수신된 검출신호를 분석하여 어떤 모듈에서 불량이 발생하였는지를 판단하고(S114) 테스트 동작을 종료한다.
이와 같은 메모리 콘트롤러(300)의 테스트 동작에 응답하여 각 모듈들의 허브(210)에서는 도 11 및 도 12에 도시한 바와 같이 동작을 수행한다.
도 11은 본 발명에 의한 메모리 모듈의 각 허브에서 동작을 설명하기 위한 순서도이다.
도 11을 참조하면, 각 모듈의 허브(210)에서는 전원 투입시 시스템을 초기화하고(S120) 대기상태를 유지한다. SMBus(330)를 통하여 메모리 콘트롤러(300)로부터 테스트 모드 설정신호의 수신을 체크한다(S122). 데이터 처리부(218)에서는 테스트 모드 설정신호가 없으면 정상동작모드로 인식하고 비교기(COM)는 디스에이블 상태로 유지하고 멀티플렉서(MUX)는 IB6를 선택하도록 제어한다(S124).
이와 같은 상태에서 SBP이 수신되면(S126), 패킷처리부(PKP)에서는 수신된 SBP를 디코딩하고(S128) 디코딩된 커맨드의 목적지 정보를 자신의 모듈식별정보와 비교한다(S130), 일치하면, 수신된 커맨드가 자신의 커맨드인 것으로 판단하고, 일치하지 않으면 자신의 커맨드가 아니므로 무시한다. S130단계에서 일치하면, 디코딩된 커맨드가 쓰기 커맨드인지 아니면 읽기 커맨드인지를 판단한다(S131). 쓰기 커맨드이면, 디코딩된 쓰기 데이터를 메모리 인터페이스부(216)를 통해 메모리 칩(220)에 전달한다(S132).
S131단계에서 읽기 커맨드이면 메모리 인터페이스부(216)를 통하여 메모리 칩(200)으로부터 독출된 읽기 데이터를 수신한다(S134). 수신된 읽기 데이터를 인코딩하여 NBP를 생성하고(S136), 생성된 NBP를 버스를 통하여 메모리 콘트롤러로 송출한다(S138).
S130단계에서 체크사항이 아니거나, S132 및 S138단계에서 동작이 완료되면 종료이면(S140), 동작을 종료하고 아니면 S122단계로 복귀한다.
이와 같은 정상동작을 수행하다가 S122단계에서 테스트 모드 설정이 체크되면, 테스트 동작루틴을 수행한다(S141).
도 12는 도 11의 테스트 동작 루틴의 동작을 설명하기 위한 순서도이다.
도 12를 참조하면, 테스트 동작루틴에서는 테스트 동작모드가 설정되면, 패킷처리부(PKP)에서는 자신이 마지막 모듈인지를 체크한다(S142). 패킷처리부에서는 마지막 모듈이면, 마지막 모듈 플래그(LM)를 "1"로 세팅하고 비교기(COM)는 디스에 이블시키고, 멀티플렉서(MUX)는 IB6을 선택하도록 제어한다(S144).
142단계에서 마지막 모듈이 아니면, 마지막 모듈 플래그 값을 "0"으로 세팅하고, 비교기(COM)는 인에이블시키고, 멀티플렉서(MUX)는 IB7을 선택하도록 제어한다(S146).
마지막 모듈(MM2)에서는 SBP 수신을 체크하고(S148), SBP가 수신되면 SBP를 디코딩하고(S150), 디코딩된 커맨드가 쓰기 커맨드인지 아니면 읽기 커맨드인지를 판단한다(S151). 쓰기 커맨드이면, 디코딩된 목적지 정보에 관계없이 디코딩된 쓰기 데이터를 메모리 인터페이스부(216)를 통해 메모리 칩(220)에 전달하여 저장한다(S152).
S151단계에서 읽기 커맨드이면 디코딩된 목적지 정보에 관계없이 메모리 인터페이스부(216)에서 읽기 커맨드를 실행하여 메모리 칩(200)으로부터 읽기 데이터를 읽어온다(S154). 패킷처리부(PKP)에서는 수신된 읽기 데이터를 인코딩하여 NBP를 생성한다(S156). 이어서, 마지막 모듈 플래그 값을 체크하여(S158) "1"이면 생성된 NBP를 버스를 통하여 송출한다(S160).
S158단계에서 "1"이 아니면 마지막 모듈이 아니므로, 수신된 NBP와 자신이 생성한 NBP를 비교기(COM)를 통하여 비교한다(S162). 비교결과는 검출 레지스터(RG2)에 저장시킨다(S164). 메모리 콘트롤러(300)로부터 요청시 레지스터(RG2)에 저장된 비교결과, 즉 검출신호를 SMBus(330)를 통하여 메모리 콘트롤러(300)로 송출한다.
S152, S160, S166단계를 완료시 테스트 종료여부를 체크하고(S168) 종료가 아니면 S142단계로 복귀하고, 종료이면 메인 프로그램의 리턴한다.
< 실시예 2 >
도 13은 본 발명에 의한 메모리 시스템의 허브의 바람직한 다른 실시예의 블록도를 나타낸다.
다른 실시예는 상술한 일실시예와 비교하면 NBP 상태에서 비교하는 것이 아니라 읽기 데이터 상태에서 실질적인 데이터들을 비교한 점이 다르고, 나머지 부분은 동일한 동작을 수행한다. 따라서, 동일한 부분은 동일 부호로 처리하고 구체적인 설명은 생략한다.
데이터처리부(219)는 패킷 처리부(PKP1), 멀티플렉서(MUX1), 비교기(COM1)를 포함한다.
패킷처리부(PKP1)는 제1수신단(SRx)를 통하여 수신된 사우스 바운드 패킷(SBP)을 내부 버스(IB1)를 통해서 받아들인다. 패킷의 제1프레임의 커맨드를 디코딩하여 목적지 정보, 랭크정보, 커맨드 및 어드레스 정보 등을 획득한다. 제2 및 제3 프레임이 쓰기 데이터 프레임이면 관련된 72비트의 메모리 데이터를 획득한다.
정상동작모드이면, 패킷처리부(PKP)는 제1 프레임으로부터 획득된 목적지 정보를 자신의 모듈식별정보와 비교하여 현재 수신된 커맨드가 자신의 커맨드인지를 판단한다. 자신의 커맨드가 아니면 다음 커맨드 수신시 까지 대기한다. 자신의 커맨드이면 획득된 명령을 수행하기 위하여 제2인터페이스부(210)를 통하여 획득된 커맨드, 어드레스 또는 쓰기 데이터 들을 메모리 칩(220)들에 제공한다. 한편, 읽기 명령인 경우에는 메모리 칩들로부터 독출된 메모리 데이터를 받아서 노스 바운 드 패킷(NBP)을 생성한다. 생성된 노스 바운드 패킷(NBP)은 내부 버스(IB5), 멀티 플렉서(MUX), 내부 버스(IB6)을 거쳐서 제2송신단(NTx)에 제공된다.
테스트 동작모드이면, 패킷처리부(PKP)는 사우스 바운드 패킷의 쓰기 커맨드가 수신되면 획득된 목적지 정보가 자신의 모듈식별정보와 일치하던 일치하지 않던 관계없이 무조건적으로 쓰기 커맨드를 수행한다. 이어서, 읽기 커맨드가 수신되면 마찬가지로 획득된 목적지 정보가 자신의 모듈식별정보와 일치하던 일치하지 않던 관계없이 무조건적으로 읽기 커맨드를 수행하여 메모리 데이터를 독출하여 노스 바운드 패킷을 생성한다. 그리고, 제어신호(C1)를 액티브시켜서 내부버스(IB2)가 비교기(COM1)의 일측에 연결되도록 멀티플렉서(MUX1)를 제어하고, 제어신호(C2)를 액티브시켜서 비교기(COM)를 인에이블상태로 제어한다.
패킷처리부(PKP1)는 제2수신단(NRx)를 통해 모듈(200-2)로부터 제공된 노스 바운드 패킷(NBP)을 내부 버스(IB10)를 통해서 입력받아 디코딩하여 MM2의 읽기 데이터를 복원시킨다. 복원된 읽기 데이터는 내부버스(IB11)를 통하여 비교기(COM1)에 제공된다.
따라서, 비교기(COM1)는 입력된 두개의 읽기 데이터들을 비교하고 그 결과를 내부 버스(IB9)를 통하여 레지스터(RG2)에 저장된다. 비교된 두 읽기 데이터가 일치하면 정상검출신호가 레지스터(RG2)에 저장되고, 일치하지 않으면 검출신호가 레지스터(RG2)에 저장된다.
한편, 마지막 모듈(MM2)의 허브(210)에서 테스트 모드의 쓰기 동작은 다른 모듈의 허브들과 동일하게 동작하지만 읽기 동작시에는 비교기(COM1) 및 멀티플렉 서는 디스에이블 상태로 유지시킨다. 그러므로, 마지막 모듈에서는 DDR2-DRAM(220)에서 독출된 데이터를 패킷 처리부(PKP1)에서 인코딩하여 다음 메모리 클록 주기에 NBP로 송출한다. 송출된 NBP는 동일 메모리 클록 주기에 MM1 및 호스트(300)에 전달된다. MM1에 전달된 MM2의 NBP는 디코딩되어 데이터로 복원된 다음에 비교기(COM)에 의해 MM1에서 독출된 읽기 데이터와 동일 메모리 클록 주기에 서로 비교된다. 비교기(COM)의 비교결과는 레지스터(RG2)에 저장된다. 레지스터(RG2)에 저장된 검출신호는 다음 클록주기에 SMBus(330)를 통해 메모리 콘트롤러(300)에 전달된다.
즉, 데이지 체인의 최종단에 연결된 마지막 모듈(MM2)은 테스트 모드에서 데이터를 기입하고 기입된 데이터를 독출하여 NBP로 송출한다. 그러나, 메모리 콘트롤러(300)와 마지막 모듈(MM2)의 사이에 연결된 모듈(MM1)은 데이터를 기입하고 기입된 데이터를 독출하여 이를 외부로 송출하지 않고 허브 내부에서 수신된 NBP로부터 디코딩된 데이터와 비교하여 불량여부를 검출한다. 상기 실시예에서는 메모리 콘트롤러(300)와 마지막 모듈(MM2)의 사이에 연결된 하나의 모듈(MM1)에 대해서 설명하였으나 복수의 모듈들을 연결한 경우에도 동일한 동작을 수행한다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
상기와 같은 본 발명에 따르면, 데이지 체인 상에 연결된 다수의 메모리 모 듈에 대해 한번에 테스트 데이터의 쓰기 동작을 수행할 수 있고, 또한 다수의 메모리 모듈로부터 출력되는 데이터들을 메모리 모듈상의 허브에서 연속적으로 비교하여 테스트 결과를 알 수 있으므로 메모리 모듈의 테스트 시간을 감소시킬 수 있다.
Claims (18)
- 사우스 바운드 패킷을 수신하는 제1 수신단;상기 수신된 사우스 바운드 패킷을 송신하는 제1 송신단;테스트 모드 신호를 저장하는 모드 설정 레지스터;상기 수신된 사우스 바운드 패킷을 목적지 정보, 쓰기 커맨드, 어드레스 정보 또는 쓰기 데이터로 디코딩하고, 상기 테스트 모드 신호에 응답해서 상기 목적지 정보에 관계없이 상기 쓰기 커맨드, 어드레스 정보 또는 쓰기 데이터를 출력하는 패킷 처리부 및상기 쓰기 커맨드, 어드레스 정보 및 쓰기 데이터를 하나 이상의 메모리에 전달하는 메모리 인터페이스부를 포함하는 메모리 모듈용 허브.
- 제 1항에 있어서, 상기 허브는제1데이터 정보를 포함하는 제1노스 바운드 패킷을 수신하는 제2 수신단;상기 제1노스 바운드 패킷을 송신하는 제2 송신단; 및읽기 커맨드 및 어드레스 정보를 포함하는 사우스 바운드 패킷에 응답하여 상기 하나 이상의 메모리로부터 독출된 제2데이터 정보를 포함하고 상기 패킷 처리부를 통해 생성된 제2노스 바운드 패킷과 상기 제1노스 바운드 패킷을 비교하는 비교기를 더 포함하는 것을 특징으로 하는 메모리 모듈용 허브.
- 제 2항에 있어서, 상기 비교기는상기 테스트 모드신호에 응답해서 인에이블되고,상기 비교결과를 저장하는 검출하는 검출 레지스터를 더 구비하는(구비하는 것의 주체가 비교기로 해석될 것 같음?) 것을 특징으로 하는 메모리 모듈용 허브.
- 하나 이상의 메모리; 및상기 하나 이상의 메모리에 신호를 인터페이스하는 허브를 구비하고,상기 허브는사우스 바운드 패킷을 수신하는 제1 수신단;상기 수신된 사우스 바운드 패킷을 송신하는 제1 송신단;테스트 모드 신호를 저장하는 모드 설정 레지스터;상기 수신된 사우스 바운드 패킷을 목적지 정보, 쓰기 커맨드, 어드레스 정보 또는 쓰기 데이터로 디코딩하고, 상기 테스트 모드 신호에 응답해서 상기 목적지 정보에 관계없이 상기 쓰기 커맨드, 어드레스 정보 또는 쓰기 데이터를 출력하는 패킷 처리부 및상기 쓰기 커맨드, 어드레스 정보 및 쓰기 데이터를 하나 이상의 메모리에 전달하는 메모리 인터페이스부를 포함하는 것을 특징으로 하는 메모리 모듈.
- 제 4항에 있어서, 상기 허브는,제1데이터 정보를 포함하는 제1노스 바운드 패킷을 수신하는 제2 수신단;상기 제1노스 바운드 패킷을 송신하는 제2 송신단; 및읽기 커맨드 및 어드레스 정보를 포함하는 사우스 바운드 패킷에 응답하여 상기 하나 이상의 메모리로부터 독출된 제2데이터 정보를 포함하고 상기 패킷 처리부를 통해 생성된 제2노스 바운드 패킷과 상기 제1노스 바운드 패킷을 비교하는 비교기를 더 포함하는 것을 특징으로 하는 메모리 모듈.
- 제 5항에 있어서, 상기 비교기는상기 테스트 모드신호에 응답해서 인에이블되고,상기 비교결과를 저장하는 검출하는 검출 레지스터를 더 구비하는 것을 특징으로 하는 메모리 모듈.
- 사우스 바운드 패킷을 송신하는 송신단과 노스 바운드 패킷을 수신하는 수신단을 구비하는 호스트의 송신단과 수신단에 각각 데이지 체인으로 연결된 복수의 메모리 모듈들을 구비하고,상기 각 메모리 모듈들은 하나 이상의 메모리 칩 및 허브를 구비하고,상기 복수의 메모리 모듈들의 각 허브는사우스 바운드 패킷을 수신하는 제1 수신단;상기 수신된 사우스 바운드 패킷을 송신하는 제1 송신단;테스트 모드 신호를 저장하는 모드 설정 레지스터;상기 수신된 사우스 바운드 패킷을 목적지 정보, 쓰기 커맨드, 어드레스 정 보 또는 쓰기 데이터로 디코딩하고, 상기 테스트 모드 신호에 응답해서 상기 목적지 정보에 관계없이 상기 쓰기 커맨드, 어드레스 정보 또는 쓰기 데이터를 출력하는 패킷 처리부 및상기 쓰기 커맨드, 어드레스 정보 및 쓰기 데이터를 하나 이상의 메모리에 전달하는 메모리 인터페이스부를 포함하는 것을 특징으로 하는 메모리 시스템.
- 상기 제7 항에 있어서, 상기 허브는인접하는 하나의 메모리 모듈로부터 제공된 제1데이터 정보를 포함하는 제1노스 바운드 패킷을 수신하는 제2 수신단;인접하는 다른 하나의 메모리 모듈에 상기 제1노스 바운드 패킷을 송신하는 제2 송신단; 및읽기 커맨드 및 어드레스 정보를 포함하는 사우스 바운드 패킷에 응답하여 상기 하나 이상의 메모리로부터 독출된 제2데이터 정보를 포함하고 상기 패킷 처리부를 통해 생성된 제2노스 바운드 패킷과 상기 제1노스 바운드 패킷을 비교하는 비교기를 더 포함하는 것을 특징으로 하는 메모리 시스템.
- 상기 제8 항에 있어서, 상기 비교기는상기 테스트 모드신호에 응답해서 인에이블되고,상기 비교결과를 저장하는 검출하는 검출 레지스터를 더 구비하는 것을 특징으로 하는 메모리 시스템.
- 제9항에 있어서, 상기 모드설정 레지스터 및 검출 레지스터들은상기 호스트와 시스템 관리버스를 통하여 연결되고, 상기 모드설정 레지스터는 상기 시스템 관리 버스를 통하여 테스트 모드신호를 수신받고, 상기 검출 레지스터는 상기 시스템 관리 버스를 통하여 비교결과신호를 상기 호스트로 송신하는 것을 특징으로 하는 메모리 시스템.
- 호스트에 데이지 체인으로 연결된 다수의 메모리 모듈들을 모두 쓰기 테스트 모드로 동시에 설정시키는 단계;상기 호스트에서 상기 다수의 메모리 모듈들로 쓰기 패킷을 동시에 전송하는 단계;각 메모리 모듈들에서 상기 쓰기 패킷을 디코딩하여 목적지 정보, 쓰기 커맨드, 어드레스 및 쓰기 데이터 정보를 획득하는 단계; 및상기 테스트 모드 설정에 응답하여 상기 획득된 목적지 정보와 각 모듈들 자신의 모듈식별정보의 일치여부에 관계없이, 상기 다수의 메모리 모듈들에서 각각 탑재된 적어도 하나의 메모리 칩의 상기 획득된 어드레스로 지정된 저장장소에, 상기 획득된 쓰기 데이터 정보를 동시에 쓰는 단계를 포함하는 메모리 시스템의 테스트 방법.
- 제11 항에 있어서 상기 테스트 모드 설정 단계는상기 데이지 체인과는 별도의 시스템 관리 버스를 통해 호스트로부터 상기 복수의 메모리 모듈들에 동시에 전송된 테스트 모드 설정명령에 의해 이루어지는 것을 특징으로 하는 메모리 시스템 테스트 방법.
- 호스트에 데이지 체인으로 연결되고 하나 이상의 메모리 칩 및 허브로 구성된 다수의 메모리 모듈들을 모두 읽기 테스트 모드로 설정시키는 단계;상기 호스트에서 상기 데이지 체인을 통하여 상기 다수의 메모리 모듈들의 각 허브로 쓰기 패킷(여기서 쓰기 패킷은 SBP를 의미함)을 동시에 전송하는 단계;상기 각 허브에서 상기 수신된 쓰기 패킷을 디코딩하여 목적지 정보, 읽기 커맨드, 어드레스를 획득하는 단계;상기 설정된 모두 읽기 테스트 모드에 응답하여 상기 획득된 목적지 정보와 각 허브 자신의 모듈식별정보의 일치여부에 관계없이, 상기 다수의 메모리 모듈들에서 각각 탑재된 적어도 하나의 메모리 칩의 상기 획득된 어드레스로 지정된 저장장소로부터 읽기 데이터 정보를 동시에 독출하는 단계;상기 각 허브들에서, 상기 독출된 읽기 데이터를 포함하는 읽기 패킷(NBP를 의미함)을 각각 생성함과 동시에 상기 데이지 체인의 최종단에 연결된 메모리 모듈의 허브로부터 생성된 읽기 패킷을 상기 호스트를 향하여 전송하고, 상기 호스트와 상기 최종단의 메모리 모듈 사이에 연결된 각 메모리 모듈들에서, 상기 최종단의 메모리 모듈로부터 전송된 읽기 패킷을 수신하여 자신의 허브에서 생성된 읽기 패킷과 비교하여 불량을 판단하는 단계를 포함하는 것을 특징으로 하는 메모리 시스 템의 테스트 방법.
- 제 13항에 있어서, 상기 각 허브에서 상기 읽기 패킷의 비교 결과를 상기 데이지 체인과 별도의 시스템 관리버스를 통하여 상기 호스트로 송신하는 단계를 더 구비하는 것을 특징으로 하는 메모리 시스템의 테스트 방법.
- 제1 메모리 모듈에서 하나 이상의 제1메모리 칩으로부터 제1 어드레스에 상응하는 제1 데이터를 제1 허브로 독출하는 단계;상기 제1 메모리 모듈과 인접한 제2 메모리 모듈에서 하나 이상의 제2메모리장치로부터 상기 제1 어드레스에 상응하는 제2 데이터를 제2 허브로 독출하는 단계;상기 제2 허브의 제2 데이터를 상기 1 허브로 전송하는 단계; 및상기 제1허브에서 상기 제1 데이터와 상기 제2데이터를 비교하는 단계를 포함하는 것을 특징으로 하는 메모리 시스템의 테스트 방법.
- 제15항에 있어서, 상기 제1허브에서 비교결과를 발생하는 것을 특징으로 하는 메모리 시스템의 테스트 방법.
- 제1수신버스를 통해 수신된 복수의 제1데이터열을 제1송신버스를 통해 송신하고, 제2수신버스를 통해 수신된 복수의 제2데이터열을 제2송신버스를 통해 송신 하는 데이터 송수신부;제3버스를 통해 테스트 모드신호와 테스트 결과신호를 송수신하는 제1인터페이스부;제4버스를 통해 복수의 메모리 칩들과 메모리 데이터를 송수신하는 제2인터페이스부; 및상기 제1인터페이스부를 통해 테스트 모드 설정시에 상기 송수신부를 통과하는 상기 복수의 제1데이터열을 조건없이 받아들여 상기 제2인터페이스부를 통해 상기 복수의 메모리 칩들에 기입하고, 상기 복수의 메모리 칩들에 기입된 데이터를 독출하고, 독출된 데이터를 상기 복수의 제2데이터열과 비교하여 그 결과를 제3버스에 송신하는 데이터 처리부를 구비한 것을 특징으로 하는 메모리 모듈용 허브.
- 허브와 복수의 메모리 모듈들을 구비하고, 각각 고유의 모듈식별정보로 서로 구분되는 복수의 메모리 모듈들을 데이지 체인방식으로 메모리 콘트롤러에 연결한 메모리 시스템에 있어서, 상기 복수의 메모리 모듈들의 테스트 방법은상기 복수의 모듈들을 테스트 모드로 설정하는 단계;상기 설정된 테스트 모드에서, 상기 복수의 메모리 모듈들의 각 메모리 칩들에 동일 타이밍으로 테스트 데이터를 기입하는 단계; 및상기 복수의 메모리 모듈들의 각 메모리 칩들로부터 각각 기입된 데이터를 동일 타이밍으로 독출하는 것을 특징으로 하는 메모리 시스템의 테스트 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040075773A KR100559736B1 (ko) | 2004-09-22 | 2004-09-22 | 메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한메모리 모듈 및 허브 |
US11/030,328 US8060799B2 (en) | 2004-06-11 | 2005-01-07 | Hub, memory module, memory system and methods for reading and writing to the same |
DE102005015828A DE102005015828A1 (de) | 2004-06-11 | 2005-04-06 | Hub, Speichermodul, Speichersystem, sowie dazugehörige Schreib- und Leseverfahren |
TW094111016A TW200615753A (en) | 2004-06-11 | 2005-04-07 | Hub, memory module, memory system and methods for reading and writing to the same |
JP2005162842A JP4786941B2 (ja) | 2004-06-11 | 2005-06-02 | ハブ、メモリモジュール、及びメモリシステムとこれを通じた読み込み方法及び書き込み方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040075773A KR100559736B1 (ko) | 2004-09-22 | 2004-09-22 | 메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한메모리 모듈 및 허브 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100559736B1 true KR100559736B1 (ko) | 2006-03-10 |
Family
ID=37179546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040075773A KR100559736B1 (ko) | 2004-06-11 | 2004-09-22 | 메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한메모리 모듈 및 허브 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100559736B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117485B2 (en) | 2008-05-08 | 2012-02-14 | Samsung Electronics Co., Ltd. | Memory system for seamless switching |
KR101314893B1 (ko) | 2006-03-28 | 2013-10-04 | 모사이드 테크놀로지스 인코퍼레이티드 | 비휘발성 메모리의 데이지 체인 배열 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050013455A (ko) * | 2003-07-28 | 2005-02-04 | 삼성전자주식회사 | 허브를 갖는 메모리 모듈 |
KR20050013454A (ko) * | 2003-07-28 | 2005-02-04 | 삼성전자주식회사 | 메모리 모듈 테스트 시스템 및 메모리 모듈 평가 시스템 |
-
2004
- 2004-09-22 KR KR1020040075773A patent/KR100559736B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050013455A (ko) * | 2003-07-28 | 2005-02-04 | 삼성전자주식회사 | 허브를 갖는 메모리 모듈 |
KR20050013454A (ko) * | 2003-07-28 | 2005-02-04 | 삼성전자주식회사 | 메모리 모듈 테스트 시스템 및 메모리 모듈 평가 시스템 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101314893B1 (ko) | 2006-03-28 | 2013-10-04 | 모사이드 테크놀로지스 인코퍼레이티드 | 비휘발성 메모리의 데이지 체인 배열 |
US8117485B2 (en) | 2008-05-08 | 2012-02-14 | Samsung Electronics Co., Ltd. | Memory system for seamless switching |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10262699B2 (en) | Memory device for performing internal process and operating method thereof | |
TWI607308B (zh) | 用於基於記憶體資料判定比較資訊之設備、系統與方法 | |
US11094371B2 (en) | Memory device for processing operation and method of operating the same | |
US8060799B2 (en) | Hub, memory module, memory system and methods for reading and writing to the same | |
CN107240413B (zh) | 半导体存储器装置及其操作方法 | |
US9389953B2 (en) | Semiconductor memory device and system conducting parity check and operating method of semiconductor memory device | |
US12088291B2 (en) | Apparatus for transmitting and receiving a signal, a method of operating the same, a memory device, and a method of operating the memory device | |
EP3625800B1 (en) | Systems and methods for frequency mode detection and implementation | |
KR20170039451A (ko) | 메모리 모듈 및 이를 포함하는 반도체 메모리 시스템 | |
KR20080068934A (ko) | 메모리 시스템 | |
US9442658B2 (en) | Apparatuses and methods including selectively providing a single or separate chip select signals | |
KR100666612B1 (ko) | 리던던시 코드 체크 기능을 가지는 반도체 메모리 장치 및그것을 구비한 메모리 시스템 | |
US20160300625A1 (en) | Semiconductor apparatus and test method thereof | |
JP4786941B2 (ja) | ハブ、メモリモジュール、及びメモリシステムとこれを通じた読み込み方法及び書き込み方法 | |
KR100559736B1 (ko) | 메모리 시스템, 그 테스트 방법 및 이를 수행하기 위한메모리 모듈 및 허브 | |
KR100597473B1 (ko) | 메모리 모듈의 테스트 방법 및 이를 수행하기 위한 메모리모듈의 허브 | |
US7697363B2 (en) | Memory device having data input and output ports and memory module and memory system including the same |
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: 20130228 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140228 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |