KR100818298B1 - 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법 - Google Patents
가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법 Download PDFInfo
- Publication number
- KR100818298B1 KR100818298B1 KR1020060062660A KR20060062660A KR100818298B1 KR 100818298 B1 KR100818298 B1 KR 100818298B1 KR 1020060062660 A KR1020060062660 A KR 1020060062660A KR 20060062660 A KR20060062660 A KR 20060062660A KR 100818298 B1 KR100818298 B1 KR 100818298B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- serial
- data
- link
- information
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
본 발명은 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리의 액세스 방법에 관한 것이다.
본 발명에 따른 메모리 시스템은, 적어도 하나의 메모리; 및 상기 각 메모리와 시리얼(serial) 포트를 통해 상기 시리얼 포트의 물리적인 위치 및 순서에 상관없이 가변적으로 시리얼 링크 연결을 설정하고 상기 시리얼 링크 연결을 통해 메모리 데이터를 시리얼 방식으로 송수신하는 메모리 컨트롤러를 포함한다.
메모리, 메모리 컨트롤러, 메모리 인터페이스, 시리얼 링크, 시리얼 포트, 물리 포트, 가상 포트, 메모리 데이터 전송, 메모리 데이터 변환
Description
도 1은 본 발명의 일 실시예에 따른 고속의 가변 시리얼 정합 방식을 기반으로 메모리 컨트롤러와 메모리를 연결 구성한 일실시예 구성도이다.
도 2는 도 1의 메모리 컨트롤러의 메모리 초기화 과정을 나타낸 순서도이다.
도 3은 본 발명의 일 실시예에 따른 메모리의 내부 구성 블록도이다.
도 4는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 내부 구성 블럭도이다.
도 5는 도 4의 메모리 컨트롤러의 메모리 어드레스 변환과정을 보인 도면이다.
도 6은 본 발명의 일 실시예에 따른 메모리 컨트롤러와 메모리 사이의 가상 시리얼 포트 번호 교환에 대한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 메모리 컨트롤러의 시리얼 포트 사이의 전송 딜레이 보상에 대한 예시도이다.
도 8은 본 발명의 일 실시예에 따른 메모리의 ID를 메모리 외부의 피롬(PROM)에 보관하는 예시도이다.
도 9는 본 발명의 일 실시예에 따른 메모리의 ID를 메모리 외부의 풀업 풀다 운 신호 입력을 통해 설정하는 예시도이다.
도 10 은 본 발명의 일 실시예에 따른 메모리의 ID를 메모리 내부의 특정 메모리 공간에 보관하는 예시도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
1 : 메모리 컨트롤러 2 : CPU
3,6 : 시리얼 포트 4 : 시리얼 링크
5 : 메모리 채널 9 : 메모리
본 발명은 메모리 시스템 및 그 메모리 액세스 방법에 관한 것으로서, 보다 상세하게는 가변 시리얼(serial) 정합 방식의 메모리 시스템 및 그 메모리에 대한 액세스 방법에 관한 것이다.
일반적으로, 널리 사용되고 있는 메모리로 에스디램(SDRAM)이 있고, 그 밖에 알디램(RDRAM), 에스램(SRAM), 에프씨램(FCRAM) 등이 있으며, 이들 대부분이 버스 형태의 페러럴 데이터 인터페이스와 독립된 클럭 신호를 가지고 있다. 메모리 컨트롤러는 CPU에서 메모리 액세스 명령을 받아 메모리의 내용을 읽고 쓰기 위해 어드레스 신호와 제어 신호를 내보내고, 데이터 라인을 통해 메모리에서 데이터를 읽어 CPU에 전달하거나 CPU에서 내려온 데이터를 메모리에 쓰는 역할을 한다. 근래 반도 체 기술의 발달로 소자의 집적도가 높아짐에 따라 CPU와 메모리 컨트롤러가 단일 칩 형태로 나오기도 한다.
고성능 CPU는 큰 대역폭의 메모리 버스를 요구함과 동시에 많은 데이터를 저장할 수 있는 큰 메모리 공간을 필요로 한다. 그러나, 종래의 페러럴 메모리 인터페이스 방식에서 보다 많은 메모리를 수용하기 위해서는 많은 수의 메모리 핀(pin)을 메모리 컨트롤러에 할당해야 하고, 큰 대역폭의 메모리 인터페이스를 만족시키기 위해 높은 클럭과 이에 동기된 페러럴 데이터/어드레스/제어 신호를 만들어야 하고, 높은 클럭킹(clocking)하에서 안정적으로 메모리를 액세스하기 위해서는 버스 구조의 메모리 인터페이스에서 생기는 신호 간섭과 반사의 영향을 최소화 하면서 버스에 물린 메모리의 수를 줄여야 하는 어려움이 있다.
상기 메모리 인터페이스를 프린트 회로 기판(PCB:print circuit board)에 구현하기 위해서는 관련 소자의 배치와 관련 신호의 배선에 제약이 많이 따르면서 기판 층수가 늘고, 기판의 재질이 고가 사양이 되어야 한다. 또한 메모리 버스에서 문제가 발생할 경우 대처 할 수 있는 방법이 한정되어 있고, 데이터 신호 두개 이상에서 문제가 발생했을 경우 치유할 방법이 전무하다.
이러한 이유로 고성능의 CPU 성능을 지원하면서 큰 용량의 메모리를 고속으로 연결할 수 있으며, 프린트 회로 기판 설계에 있어 비용을 줄이면서 오류를 최소화 할 수 있고, 메모리 인터페이스 고장에 대한 대응 능력이 향상된 메모리 액세스 방식이 요구된다.
본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 메모리 컨트롤러가 다수의 시리얼 링크 포트를 가지고 있고, 메모리가 요구하는 시리얼 링크를 할당하는데 있어 고정된 시리얼 링크 포트 연결 구성이 아닌 프린트 회로 기판(PCB)의 배선 및 배치에 용이한 가변적 시리얼 링크 포트 연결 구성이 가능한 메모리 시스템 및 그 메모리 액세스 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 메모리 컨트롤러가 다수의 시리얼 링크 포트를 가지고 있고, 메모리가 요구하는 시리얼 링크를 할당하는데 있어, 메모리 초기 설정단계를 거쳐 메모리별로 시리얼 링크 포트를 정렬하고 메모리 스피드정보, 사이즈 정보 및 기타 설정정보를 메모리별로 관리하며 메모리의 어드레스 위치가 시리얼 링크의 연결구성에 의해 결정되지 않고 필요에 따라 변경가능 하게하고 메모리 및 메모리 연결 링크의 고장을 점검할 수 있는 메모리 시스템 및 그 메모리 액세스 방법을 제공하는데 다른 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 가변 시리얼 정합 방식의 메모리 시스템은, 적어도 하나의 메모리; 및 상기 각 메모리와 시리얼(serial) 포트를 통해 상기 시리얼 포트의 물리적인 위치 및 순서에 상관없이 가변적으로 시리얼 링크 연결을 설정하고 상기 시리얼 링크 연결을 통해 메모리 데이터를 시리얼 방식으로 송수신하는 메모리 컨트롤러를 포함한다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러는 상기 적어도 하나의 메모리의 고장 발생시 상기 메모리의 초기 설정 과정에서 고장 메모리를 제외한 나머지 정상 메모리의 시리얼 링크 연결만을 설정함으로써 상기 메모리와의 가용 시리얼 링크 수를 필요에 따라 변경할 수 있다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러는 상기 메모리와의 물리적인 시리얼 링크 연결에 상관없이 메모리 ID에 대응하는 주소정보를 변경할 수 있다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러는, 입력되는 메모리 디바이스의 주소정보를 디코딩하는 어드레스 디코더; 상기 주소정보에 대응하는 메모리 ID를 검출하여 전송하고, 해당 데이터 처리를 수행하며 상기 메모리의 초기화/관리를 수행하는 메모리 데이터 전송부; 상기 메모리 데이터 전송부와의 내부 정보교환을 수행하고, 상기 메모리 ID에 대한 시리얼 포트를 검색하며, 메모리 데이터의 시리얼/패러럴 변환기능을 수행하고 상기 시리얼 포트의 관리를 수행하는 메모리 데이터 변환부; 및 상기 시리얼 링크를 통해 상기 메모리로 메모리 데이터를 고속의 시리얼 방식으로 전송하는 복수의 시리얼 포트를 포함할 수 있다.
이때, 상기 메모리 데이터 전송부는, 상기 어드레스 디코더로부터 입력되는 메모리 주소와 이에 대응하는 메모리 ID를 관리하는 메모리 맵 테이블; 상기 메모리 데이터 주소정보, 제어 정보, 사이즈 정보 및 에러체크정보에 따라 메모리 데이터 처리를 위한 정보를 페러럴 형태의 메모리 데이터 패킷으로 관리하는 데이터 처리부; 및 상기 메모리의 스캐닝 및 상기 메모리 맵 테이블을 관리하고, 상기 메모리의 고장 여부를 관리하는 메모리 초기화/관리부를 포함할 수 있다.
여기서, 상기 메모리 데이터 변환부는, 상기 메모리 데이터 전송부와 내부 정보 교환을 위한 내부 헤더 처리부; 상기 메모리 ID에 대응하는 시리얼 링크 포트들을 관리하고 검색하는 메모리 ID 테이블; 페러럴 메모리 데이터를 시리얼 메모리 데이터로 변환하는 데이터 신호 변환부; 및 시리얼 포트의 상태를 점검하고 고장 링크의 보고 및 처리 기능을 수행하는 링크 관리부를 포함할 수 있다.
또한, 상기 메모리 ID 테이블은 상기 메모리 ID에 해당하는 물리 링크 번호와 가상 링크 번호를 포함할 수 있다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러는 상기 메모리의 초기 설정 과정에서, 상기 메모리에 연결된 물리적인 시리얼 포트들을 검색하고, 상기 검색된 시리얼 포트들을 상기 메모리를 기준으로 정렬하고, 동일 메모리에 연결된 물리적인 시리얼 포트들을 낮은 번호 순서부터 순차적으로 가상 시리얼 포트 번호를 부여하고, 그 결과를 해당 시리얼 포트를 통해 메모리의 시리얼 포트로 전송하여 상기 메모리의 시리얼 포트가 메모리 컨트롤러와 동일한 가상 시리얼 포트 번호를 갖도록 할 수 있다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러는 상기 메모리와 시리얼 링크 상태정보를 송수신하며 고장 링크정보를 저장하고 상기 메모리의 초기 설정과정에서 고장 링크를 배제하고 가용할 수 있는 링크로만 메모리 인터페이스를 구현할 수 있다.
이때, 상기 메모리 컨트롤러는 전원인가, 리셋 및 메모리 초기화 명령 중 적어도 하나에 의해 메모리 초기 설정을 수행할 수 있다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러는 메모리 초기 설정 과정에 서 동일 메모리에 연결된 시리얼 링크들의 전송 딜레이 차이를 구하고, 메모리와의 시리얼 데이터 송수신에 있어서 시리얼 링크들의 전송 딜레이 차이를 보상할 수 있다.
본 발명의 일 실시예에서, 상기 메모리 컨트롤러가 동일 메모리에 연결된 시리얼 포트들을 찾기 위해 순차적으로 각 시리얼 포트를 통해 메모리 ID 요구 메시지를 메모리로 보내고, 상기 메모리는 자신의 메모리 ID를 응답 메시지에 실어 보낼 수 있다.
이때, 상기 메모리 컨트롤러는 상기 메모리 외부의 전용 롬 또는 상기 메모리 외부의 풀업 풀다운 신호입력을 이용하거나, 또는 상기 메모리 내부에 ID 저장 중 어느 하나를 통해 상기 메모리 ID를 저장할 수 있다.
본 발명의 일 실시예에서, 상기 메모리는, 상기 메모리 로직을 포함하는 메모리 코어; 상기 메모리 데이터를 처리하는 데이터 처리부; 상기 메모리 데이터를 저장하는 메모리 정보 저장부; 상기 메모리 컨트롤러와 연결되는 시리얼 링크를 관리하고, 해당 메모리 데이터의 시리얼/페러럴 변화 기능을 수행하는 링크 관리/변환부; 및 상기 메모리 컨트롤러와 상기 시리얼 링크로 연결되어 상기 메모리 데이터를 시리얼 방식으로 송수신하는 복수의 시리얼 포트를 포함할 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 메모리를 초기화하고 메모리 데이터를 중개하는 고속의 가변 시리얼 정합 방식의 메모리 컨트롤러는, 입력되는 메모리 주소정보를 디코딩하는 어드레스 디코더; 상기 주소정보에 대응하는 메 모리 ID를 검출하여 전송하고, 해당 데이터 처리 기능을 수행하며, 상기 메모리의 초기화/관리를 수행하는 메모리 데이터 전송부; 상기 메모리 데이터 전송부와의 내부 정보교환을 수행하고, 상기 메모리 ID에 대한 시리얼 링크 포트를 검색하며, 메모리 데이터의 시리얼/패러럴 변환기능을 수행하고 상기 시리얼 링크 포트의 링크 관리기능을 수행하는 메모리 데이터 변환부; 및 상기 메모리 데이터를 고속의 시리얼 방식으로 전송하는 복수의 시리얼 포트를 포함하며, 상기 메모리와 상기 시리얼 포트를 통해 시리얼 포트의 물리적인 위치 및 순서에 상관없이 가변적으로 시리얼 링크 연결을 설정하여 메모리 데이터를 시리얼 방식으로 송수신함을 특징으로 한다.
본 발명의 일 실시예에서, 상기 메모리 데이터 변환부는, 상기 메모리 데이터 전송부와 내부 정보 교환을 위한 내부 헤더 처리부; 상기 메모리 ID에 대응하는 시리얼 링크 포트들을 관리하고 검색하는 메모리 ID 테이블; 페러럴 메모리 데이터를 시리얼 메모리 데이터로 변환하는 데이터 신호 변환부; 및 시리얼 포트의 상태를 점검하고 고장 링크의 보고 및 처리 기능을 수행하는 링크 관리부를 포함할 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 메모리 컨트롤러에 의해 액세스되는 가변 시리얼 정합방식의 메모리에 있어서, 상기 메모리 로직을 포함하는 메모리 코어; 상기 메모리 데이터를 처리하는 데이터 처리부; 상기 메모리 데이터를 저장하는 메모리 정보 저장부; 상기 메모리 컨트롤러와 연결되는 시리얼 링크 를 관리하고, 해당 데이터의 시리얼/페러럴 변화 기능을 수행하는 링크 관리/변환부; 및 상기 메모리 컨트롤러와 상기 시리얼 링크로 연결되어 메모리 데이터를 시리얼 링크로 송수신하는 복수의 시리얼 포트를 포함한다.
또한, 상기 목적을 달성하기 위한 본 발명에 따른 메모리 컨트롤러에서의 가변 직렬 병합 방식의 메모리 액세스 방법에 있어서, 메모리 컨트롤러가 액세스할 메모리를 검색하고 액세스 관련 링크를 초기화하는 제1단계; 상기 메모리 읽기 명령이 입력되면, 페러럴 메모리 주소와 제어 명령을 받아 해당 메모리 ID를 검색하고 상기 메모리 ID에서 연결 링크를 찾고 페러럴 메모리 주소 및 제어 명령을 시리얼 데이터로 변환하여 상기 연결 링크를 통해 해당 메모리로 명령요구번호와 함께 전송하는 제2단계; 상기 메모리가 읽기 명령과 어드레스를 받고 메모리 코어에서 해당 데이터를 연결 링크를 통해 명령요구번호와 함께 전송하는 제3단계; 상기 시리얼 링크로 입력되는 데이터에서 상기 명령요구번호를 확인하고, 시리얼 데이터를 패러럴 데이터로 변환하여 상기 명령요구번호에 맞춰 상기 읽기명령의 전송측으로 전달하는 제4단계; 상기 읽기 명령 전송측이 상기 메모리를 쓸 때 패러럴 데이터 형태의 데이터와 어드레스에서 해당 시리얼 링크를 찾아 상기 메모리로 명령요구번호와 함께 전송하는 제5단계; 및 상기 메모리가 쓰기 명령을 입력 받아 해당 메모리 코어에 상기 데이터를 쓰는 제6단계를 포함한다.
본 발명의 일 실시예에서, 상기 제1단계는, 모든 시리얼 링크에 메모리 ID, 사이즈 정보 및 속도 정보 요구 메시지를 메모리로 보내고 상기 메모리로부터 응답을 수신하는 단계; 상기 메모리 ID 별로 링크 정보를 메모리 ID 테이블에 입력하는 단계; 상기 메모리 ID별로 어드레스 위치를 메모리 맵 테이블에 입력하는 단계; 동일 메모리에 연결된 링크들을 동기화하는 단계; 및 상기 동일 메모리에 연결된 링크들의 가상 링크 번호를 교환하는 단계를 포함할 수 있다.
이하, 본 발명의 바람직한 실시예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 고속의 가변 시리얼 정합 방식을 기반으로 메모리 컨트롤러와 메모리를 연결 구성한 일실시예 구성도이다.
도 1에 도시된 바와 같이, 메모리 컨트롤러(1)는 다수의 시리얼(serial) 포트(3)를 가지고 있고 상기 각 시리얼 포트(3)는 하나의 시리얼 링크(4)를 통해 상대 메모리(9)의 시리얼 포트(6)와 대응하여 연결되며, 적어도 하나의 시리얼 링크(4)로 구성된 하나의 메모리 채널(5)이 메모리(9)와 메모리 컨트롤러(1) 사이의 연결 통로가 된다.
상기 메모리 컨트롤러(1)와 메모리(9) 사이의 연결을 위한 시리얼 링크(4)는 적어도 한 개 이상이면 데이터 송수신이 가능하고, 상기 메모리(9)가 지원하는 포트 수 만큼 최대로 해당 시리얼 링크 수를 늘릴 수 있다. 고장 링크가 발생하면, 메모리 컨트롤러(1)는 고장 링크를 제외한 나머지 정상 링크만으로 메모리(9)와 메모리 컨트롤러(1) 사이의 연결을 가능하게 한다.
상기 메모리(9)는 시리얼 포트(6)를 포함하는 시리얼/페러럴(serial/parallel) 데이터 변환 및 주소/제어 정보 처리 블록(8)을 통해 메모리 코어(10)에 메모리 값을 쓰거나 읽는다. 메모리 컨트롤러(1)는 중앙처리장치(CPU)(2)의 메모리 액세스 주소를 디코딩하는 어드레스 맵(12)을 포함하고, 이 맵을 통해 액세스하고자 하는 메모리의 시리얼 링크 그룹(11)을 찾는다. 어드레스 맵(12)상의 메모리(9) 위치는 메모리 설정 단계에서 결정되는데, 상기 메모리(9)와 메모리 컨트롤러(1) 사이의 물리적인 시리얼 링크들의 번호와 무관하다. 특정 메모리 고장이 발생할 경우, 메모리 컨트롤러(1)는 고장난 메모리를 어드레스 맵(12)에서 지우고 그 자리를 나머지 메모리가 채운다. 이와 같이 메모리 컨트롤러(1)는 상기 메모리(9)와의 가용 시리얼 링크 수를 필요에 따라 변경할 수 있다.
메모리 모듈(7)은 다수의 메모리(9)를 포함하여 구성될 수 있고, 이 메모리 모듈(7)의 정보를 저장하는 피롬(PROM)(15)을 구비할 수 있다. 이에 따라, 메모리 컨트롤러(1)는 피롬(PROM) 인터페이스 포트(13)와 연결된 피롬(PROM) 신호(14)를 통해 메모리 모듈(7)의 피롬(PROM)(15)에서 메모리 모듈(7) 내부의 정보를 가져 올 수 있다.
도 2는 도 1의 메모리 컨트롤러의 메모리 초기화 과정을 나타낸 순서도이다.
도 2에 도시된 바와 같이, 메모리 설정 시작 요구가 발생하면(16), 메모리 컨트롤러(1)는 자신의 모든 시리얼 포트 속도를 최저로 설정하고(17), 시리얼 포트 처음부터 메모리 ID 읽기를 시작한다(18,19). 상기 메모리 컨트롤러(1)는 시리얼 포트(3)를 통해 메모리 ID 요구 메시지를 내보내고, 메모리(9)로부터 응답 메시지가 오는지를 확인해서(20) 메모리 ID가 오면 해당 시리얼 포트(6)에 대한 메모리 ID를 저장한다(21).
시리얼 포트의 메모리 ID 읽기 작업이 끝나면, 메모리 컨트롤러(1)는 다음 시리얼 포트로 넘어가서(22) 메모리 ID 읽기를 동일한 방법으로 하는데, 더 이상 선택할 시리얼 포트가 없으면(23) 다음 단계(24)로 넘어간다. 상기 메모리 컨트롤러(1)는 모든 시리얼 포트의 메모리 ID 읽기 작업이 끝나면, 메모리 ID 테이블을 작성하고(24), 각 메모리 ID에 대한 시리얼 포트 정보와 시리얼 포트 번호 부여작업을 수행한다(25). 이때 메모리 컨트롤러(1)는 상기 메모리와 시리얼 포트를 통해 상기 시리얼 포트의 물리적인 위치 및 순서에 상관없이 가변적으로 시리얼 링크 연결을 설정하고 상기 시리얼 링크 연결을 통해 메모리 데이터를 시리얼 방식으로 송수신한다. 이와 같이 메모리 컨트롤러(1)와 메모리(9) 사이의 연결 구성의 기본 단위를 시리얼 링크(4)로 하고, 상기 시리얼 링크(4)의 연결이 메모리 컨트롤러(1)의 특정 시리얼 포트 내지 특정 시리얼 포트 그룹에 제한되지 않도록 하고, 시리얼 포트의 순서 또는 번호에 얽매이지 않게 시리얼 링크(4)의 연결을 구현한다. 따라서, 상기 메모리 컨트롤러(1)는 각 시리얼 포트를 통해 메모리(9)로 가상 시리얼 포트 번호를 보내고, 메모리(9)가 이를 받아 각 시리얼 포트의 가상 시리얼 포트 번호를 설정함으로써, 메모리 컨트롤러(1)와 메모리(9) 사이의 물리적인 시리얼 포트 번호 는 다르지만 가상 시리얼 포트 번호는 동일하게 된다. 이에 따라 메모리 컨트롤러(1)는 가상 시리얼 포트를 통해 메모리(9)에 액세스하는 것이 가능하다.
즉, 메모리 컨트롤러(1)는 메모리 ID 테이블의 첫 번째 인덱스를 시작으로(26) 해당 메모리의 최고 시리얼 포트 속도를 읽어오고(27), 메모리 컨트롤러(1)와 메모리(9) 사이의 최적의 시리얼 링크 스피드를 설정하고, 동일 메모리에 연결된 시리얼 포트 사이의 전송 딜레이 보상 작업을 수행한다(28). 또한 메모리 컨트롤러(1)는 메모리의 사이즈 정보를 읽어 들여(29), 메모리 맵 테이블에 상기 메모리 ID에 해당하는 메모리의 어드레스 위치를 지정한다(30). 메모리 컨트롤러(1)는 이러한 과정을 메모리 ID 테이블의 마지막 인덱스가 나올 때까지 계속한다(31,32). 상기의 모든 작업이 끝나면, 메모리 컨트롤러(1)는 실제 메모리 데이터 읽기 쓰기가 가능한 메모리 설정 단계의 완료 상태를 유지한다(33).
도 3은 본 발명의 일 실시예에 따른 메모리의 내부 구성 블록도이다.
도 3에 도시된 바와 같이, 메모리(46)에서 시리얼 포트(34)는 메모리 컨트롤러(1)와 시리얼 데이터를 주고 받는 통로 역할을 하고 메모리 컨트롤러(1)와 동일한 번호의 가상 시리얼 포트(35)에 맵핑(mapping)된다.
시리얼/페러럴 블록(36)은 메모리 데이터의 시리얼/페러럴 데이터 변환을 하고, 각 시리얼 포트의 상태 정보 및 제어 기능을 수행한다. 시리얼/페러럴 블록(36)은 시리얼 데이터를 페러럴 데이터로 바꾸고, 이를 메모리(46) 내부의 페러럴 데이터 버스(40)를 통해 데이터 처리 블록(38)과 메모리 정보 블록(45)을 포함 하는 메모리 데이터 전송 블록(37)에 전달한다.
데이터 처리 블록(38)은 메모리 데이터의 주소 및 제어 정보를 이용하여 메모리 코어(39)에서 데이터 읽기 및 쓰기 작업을 하고, 데이터의 사이즈 정보를 이용하여 연속 쓰기 및 읽기 작업을 수행한다. 또한 데이터 처리 블록(38)은 에러 체크 정보를 이용하여 데이터의 오류를 찾으며, 데이터의 기타 모든 정보의 취합 및 관련 기능을 수행한다.
메모리 정보 블록(45)은 메모리 설정단계에 필요한 메모리 사이즈 정보(42), 시리얼 포트 스피드 정보(43) 및 기타 메모리 설정 정보(44)를 포함한다. 메모리 데이터는 시리얼 포트 단계에서는 시리얼 방식의 데이터 형태(47)로 각 시리얼 포트에 실리고, 페러럴 데이터 버스(40) 단계에서는 페러럴 데이터 형태의 데이터 패킷 구조(48)로 버스에 실린다.
도 4는 본 발명의 일 실시예에 따른 메모리 컨트롤러의 내부 구성 블럭도이다.
도 4에 도시된 바와 같이, 메모리 컨트롤러(1)는 메모리 액세스를 위해 크게 어드레스 디코더(50)와 메모리 데이터 전송부(51)와 메모리 데이터 변환부(52)와 시리얼 포트 블록(53)을 포함한다. 상기 어드레스 디코더(50)는 CPU(49)에서 어드레스(54)를 받아 메모리 인터페이스 블록(501), PCI 디바이스블록(502) 및 기타 I/O 디바이스 블록(503)을 활성화시킨다. 본 발명의 실시예에 따른 메모리 액세스는 어드레스 디코더(50)가 메모리 인터페이스 블록(501)을 디코딩할 때 가능하다.
상기 메모리 데이터 전송부(51)는 어드레스 디코더(50)가 메모리 인터페이스 블록(501)을 활성화시키고 CPU(49)가 보낸 어드레스(54)를 전달하면, 해당 메모리 주소와 관련된 메모리 ID를 메모리 맵테이블(56)에서 찾아 그 결과를 메모리 데이터 변환부(52)로 내부 헤더(Internal Header) 형태로 보낸다.
또한, 상기 메모리 데이터 전송부(51)는 메모리 데이터 주소정보, 제어정보, 사이즈 정보, 에러체크정보 및 기타 메모리 데이터 처리에 필요한 정보를 취합하여 페러럴 형태의 메모리 데이터 패킷으로 만드는 데이터 처리 블록(57)과, 메모리 스캐닝과 메모리맵 테이블 관리와 고장 메모리 처리 기능을 하는 메모리 초기화/관리 블록(58)을 포함하여 구성된다.
상기 메모리 데이터 변환부(52)는 메모리 데이터 전송부(51)와의 내부 정보 교환을 위한 내부 헤더(Internal Header) 처리 블록(59)과, 메모리 ID에 관련된 시리얼 링크 포트들을 찾기 위한 메모리 ID 테이블(60)과, 페러럴 메모리 데이터 패킷(66)을 시리얼 메모리 데이터(67)로 변환하는 데이터 신호 변환 블록(61)과, 시리얼 포트의 상태를 점검하고 고장링크의 보고 및 처리 기능을 하는 링크 관리 블록(62)을 포함하여 구성된다.
상기 시리얼 포트 블록(53)은 가상 시리얼 포트(63)와 물리 시리얼 포트(64)를 포함하며 메모리 데이터 변환부(52)에서 보낸 시리얼 메모리 데이터(67)를 해당 메모리로 내보내거나 메모리에서 보낸 시리얼 메모리 데이터(67)를 메모리 데이터 변환부(52)로 전달한다. 가상 링크 포트(63)와 물리 링크 포트(64)에 대한 맵핑(mapping) 정보는 메모리 ID 테이블(60)에 존재한다.
도 5는 도 4의 메모리 컨트롤러의 메모리 어드레스 변환과정을 보인 도면이다.
도 5에 도시된 바와 같이, CPU(2)에서 메모리 액세스 명령과 어드레스를 받으면, 메모리 데이터 전송부(68)는 메모리맵테이블(70)에서 CPU(2)가 액세스 하고자 하는 메모리 어드레스(73)에 해당하는 메모리 ID(74)를 찾고, 이를 메모리 데이터 전송부(68)와 메모리 데이터 변환부(69) 사이에 있는 내부 버스(72)를 통해 내보낸다.
메모리 데이터 변환부(69)는 메모리 ID를 받아 메모리 ID 테이블(71)에서 메모리 ID(75)에 해당하는 시리얼 포트 번호들을 검색한다. 이때 테이블의 시리얼 포트 필드(76)는 물리 포트 번호와 가상 포트 번호 정보를 모두 포함한다.
메모리 어드레스(73)에 해당하는 시리얼 포트들(76)을 찾으면, 메모리 데이터 변환부(69)는 메모리 데이터 전송부(68)에서 받은 페러럴 메모리 데이터를 가용할 수 있는 시리얼 포트에 맞게 시리얼 메모리 데이터로 변환한 후 해당 메모리에 전송한다.
메모리에서 시리얼 메모리 데이터를 수신한 메모리 데이터 변환부(69)는 메모리 주소 정보, 사이즈 정보, 에러 체크 정보 및 기타 메모리 교환에 필요한 정보를 포함하는 페러럴의 메모리 데이터 패킷으로 만들고, 이를 메모리 데이터 전송부(68)로 전달한다.
상기 메모리 데이터 변환부(69)에 있는 메모리 ID 테이블(71)은 메모리 ID(75)와 관련된 시리얼 포트 정보(76) 뿐만 아니라 해당 메모리의 사이즈 정 보(77)와 링크 속도 정보(78) 와 통계 데이터 및 기타 링크 설정과 관련된 정보(79)를 포함한다.
도 6은 본 발명의 일 실시예에 따른 메모리 컨트롤러와 메모리 사이의 가상 시리얼 포트 번호 교환에 대한 예시도이다.
도 6에 도시된 바와 같이, 메모리 컨트롤러(80)는 시리얼 링크(90)를 통해 메모리(81)에 메모리 컨트롤러의 물리 포트(87)에 맵핑된 가상 포트(86)의 번호(84)를 넘겨준다. 이때 메모리(81)는 물리 포트(88)를 통해 넘겨받은 메모리 컨트롤러(80)의 가상 포트 번호(84)를 자신의 가상 포트(89)로 맵핑한다.
메모리 컨트롤러(80)의 물리 포트 정보와 가상 포트 정보는 메모리 데이터 변환부(82)에 있는 메모리 ID 테이블(85)의 시리얼 포트 정보 필드에 있고, 이는 메모리 초기 시리얼 포트 설정 단계에서 값이 채워진다.
도 7은 본 발명의 일 실시예에 따른 메모리 컨트롤러의 시리얼 포트 사이의 전송 딜레이 보상에 대한 예시도이다.
도 7에 도시된 바와 같이, 메모리 컨트롤러(91)의 시리얼 포트(94)와 메모리(92)의 시리얼 포트(95) 사이 시리얼 데이터 통신에 있어, 시리얼 링크(97) 사이의 배선 길이 차이 등으로 인해 생기는 전송 딜레이 차이를 보상하기 위해, 메모리 컨트롤러(91)는 시리얼 포트(94) 단에서 시리얼 데이터를 보낼 때, 메모리 데이터 변환부(93)의 데이터 신호 변환 블록(96)에서 사전에 학습된 전송 딜레이 차이를 보상하여 내부적으로 동기화된 시리얼 데이터(98)를 외부적으로는 전송 딜레이 차이를 보상한 시리얼 데이터(99)로 만들어 보낸다.
메모리(92)의 시리얼 포트(95) 단에서는 전송 딜레이 차이를 보상한 시리얼 데이터(99)가 시리얼 링크(97)를 통해 오면서 전송 딜레이 차이가 상쇄된 시리얼 데이터(100)를 받게 된다. 메모리(92)는 메모리 컨트롤러(91)로 데이터를 보낼 때, 동기화된 시리얼 데이터(100)를 시리얼 링크(97)를 통해 전송한다. 메모리 컨트롤러(91)는 배선 길이 차이 등으로 생기는 전송 딜레이 차이가 포함된 시리얼 데이터(99)를 시리얼 포트(94) 단에서 받고, 이를 메모리 데이터 변환부(93)의 데이터 신호 변환 블록(96)에서 보상하여 동기화된 시리얼 데이터(98)로 만든다.
시리얼 링크 사이의 전송 딜레이 차이에 대한 학습은 메모리 초기 설정 과정에서 이루어지는데, 사전에 약속된 데이터 패턴을 메모리와 주고 받으면서 시리얼 링크 간의 전송 딜레이 차이를 구하게 된다.
도 8은 본 발명의 일 실시예에 따른 메모리의 ID를 메모리 외부의 피롬(PROM)에 보관하는 예시도이다.
도 8에 도시된 바와 같이, 메모리(101)의 ID는 메모리(101) 외부의 피롬(PROM, programmable ROM) (102)에 있다. 이때, 데이터 처리 블록(104)은 메모리(101)의 전원 또는 리셋 인가와 동시에 상기 피롬(102)에서 메모리 ID를 읽어 메모리 정보 블록(105)에 저장한다.
또한 메모리(101)의 데이터 처리 블록(104)은 메모리 컨트롤러에서 시리얼 포트(103)를 통해 메모리 ID값을 요구할 때, 메모리 정보 블록(105)에 있는 ID 값을 해당 시리얼 포트(103)로 내보낸다.
도 9는 본 발명의 일 실시예에 따른 메모리의 ID를 메모리 외부의 풀업 풀다운 신호 입력을 통해 설정하는 예시도이다.
도 9에 도시된 바와 같이, 메모리(106)의 ID는 메모리(106) 외부의 풀업/다운(pull up/down) 설정(107)에 의해 값이 결정된다. 이에 따라, 데이터 처리 블록(104)은 메모리(101)의 전원 또는 리셋 인가와 동시에 상기 풀업/다운 설정(107)에서 메모리 ID를 읽어 메모리 정보 블록(110)에 저장한다.
또한, 상기 메모리(106)의 데이터 처리 블록(109)은 메모리 컨트롤러에서 시리얼 포트(108)를 통해 메모리 ID값을 요구할 때, 메모리 정보 블록(110)에 있는 ID 값을 해당 시리얼 포트(108)로 내보낸다.
도 10 은 본 발명의 일 실시예에 따른 메모리의 ID를 메모리 내부의 특정 메모리 공간에 보관하는 예시도이다.
도 10에 도시된 바와 같이, 메모리(111)의 ID는 메모리(111) 내부의 칩(CHIP) ID 블록(112)에 저장되어 있다. 이에 따라, 데이터 처리 블록(114)은 메모리(111)의 전원 또는 리셋 인가와 동시에 칩 ID 블록(112)에서 메모리 ID를 읽어 메모리 정보 블록(115)에 저장한다.
또한 메모리(111)의 데이터 처리 블록(114)은 메모리 컨트롤러에서 시리얼 포트(113)를 통해 메모리 ID값을 요구할 때, 메모리 정보 블록(115)에 있는 ID 값을 해당 시리얼 포트(113)로 내보낸다.
이상에서는 본 발명에서 특정의 바람직한 실시예에 대하여 도시하고 설명하였다. 그러나, 본 발명은 상술한 실시예에 한정되지 아니하며, 특허 청구의 범위에서 첨부하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 및 균등한 타 실시가 가능할 것이다.
본 발명에 따르면, 메모리 컨트롤러에서 메모리의 연결 구성을 가변의 시리얼 링크를 기반으로 하고, 메모리의 어드레스를 가상으로 설정하여 변경할 수 있으며, 메모리 연결 링크와 메모리 자체의 고장에 대한 대응 능력을 높여 시스템 설계에 소요되는 시간과 비용을 줄일 수 있고, 시스템의 신뢰성과 가용성을 높이며, 메모리 용량 확장에 있어 설계와 구현의 용이함을 높일 수 있는 효과가 있다.
Claims (19)
- 적어도 하나의 메모리; 및상기 각 메모리와 시리얼(serial) 포트를 통해 상기 시리얼 포트의 물리적인 위치 및 순서에 상관없이 가변적으로 시리얼 링크 연결을 설정하고 상기 시리얼 링크 연결을 통해 메모리 데이터를 시리얼 방식으로 송수신하는 메모리 컨트롤러; 를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서, 상기 메모리 컨트롤러는,상기 적어도 하나의 메모리의 고장 발생시 상기 메모리의 초기 설정 과정에서 고장 메모리를 제외한 나머지 정상 메모리의 시리얼 링크 연결만을 설정함으로써 상기 메모리와의 가용 시리얼 링크 수를 필요에 따라 변경하는 것을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서, 상기 메모리 컨트롤러는,상기 메모리와의 물리적인 시리얼 링크 연결에 상관없이 메모리 ID에 대응하는 주소정보를 변경가능함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서, 상기 메모리 컨트롤러는,입력되는 메모리 디바이스의 주소정보를 디코딩하는 어드레스 디코더;상기 주소정보에 대응하는 메모리 ID를 검출하여 전송하고, 해당 데이터 처 리를 수행하며 상기 메모리의 초기화/관리를 수행하는 메모리 데이터 전송부;상기 메모리 데이터 전송부와의 내부 정보교환을 수행하고, 상기 메모리 ID에 대한 시리얼 포트를 검색하며, 메모리 데이터의 시리얼/패러럴 변환기능을 수행하고 상기 시리얼 포트의 관리를 수행하는 메모리 데이터 변환부; 및상기 시리얼 링크를 통해 상기 메모리로 메모리 데이터를 고속의 시리얼 방식으로 전송하는 복수의 시리얼 포트; 를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제4항에 있어서, 상기 메모리 데이터 전송부는,상기 어드레스 디코더로부터 입력되는 메모리 주소와 이에 대응하는 메모리 ID를 관리하는 메모리 맵 테이블;상기 메모리 데이터 주소정보, 제어 정보, 사이즈 정보 및 에러체크정보에 따라 메모리 데이터 처리를 위한 정보를 페러럴 형태의 메모리 데이터 패킷으로 관리하는 데이터 처리부; 및상기 메모리의 스캐닝 및 상기 메모리 맵 테이블을 관리하고, 상기 메모리의 고장 여부를 관리하는 메모리 초기화/관리부; 를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제4항에 있어서, 상기 메모리 데이터 변환부는,상기 메모리 데이터 전송부와 내부 정보 교환을 위한 내부 헤더 처리부;상기 메모리 ID에 대응하는 시리얼 링크 포트들을 관리하고 검색하는 메모리 ID 테이블;페러럴 메모리 데이터를 시리얼 메모리 데이터로 변환하는 데이터 신호 변환부; 및시리얼 포트의 상태를 점검하고 고장 링크의 보고 및 처리 기능을 수행하는 링크 관리부; 를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제6항에 있어서, 상기 메모리 ID 테이블은,상기 메모리 ID에 해당하는 물리 링크 번호와 가상 링크 번호를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서, 상기 메모리 컨트롤러는,상기 메모리의 초기 설정 과정에서, 상기 메모리에 연결된 물리적인 시리얼 포트들을 검색하고, 상기 검색된 시리얼 포트들을 상기 메모리를 기준으로 정렬하고, 동일 메모리에 연결된 물리적인 시리얼 포트들을 낮은 번호 순서부터 순차적으로 가상 시리얼 포트 번호를 부여하고, 그 결과를 해당 시리얼 포트를 통해 메모리의 시리얼 포트로 전송하여 상기 메모리의 시리얼 포트가 메모리 컨트롤러와 동일한 가상 시리얼 포트 번호를 갖도록 함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서, 상기 메모리 컨트롤러는,상기 메모리와 시리얼 링크 상태정보를 송수신하며 고장 링크정보를 저장하고 상기 메모리의 초기 설정과정에서 고장 링크를 배제하고 가용할 수 있는 링크로만 메모리 인터페이스를 구현함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제9항에 있어서, 상기 메모리 컨트롤러는,전원인가, 리셋 및 메모리 초기화 명령 중 적어도 하나에 의해 메모리 초기 설정을 수행함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서, 상기 메모리 컨트롤러는,상기 메모리 초기 설정 과정에서 동일 메모리에 연결된 시리얼 링크들의 전송 딜레이 차이를 구하고, 메모리와의 시리얼 데이터 송수신에 있어서 시리얼 링크들의 전송 딜레이 차이를 보상함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서,상기 메모리 컨트롤러가 동일 메모리에 연결된 시리얼 포트들을 찾기 위해 순차적으로 각 시리얼 포트를 통해 메모리 ID 요구 메시지를 메모리로 보내고, 상기 메모리는 자신의 메모리 ID를 응답 메시지에 실어 보냄을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제12항에 있어서, 상기 메모리 컨트롤러는,상기 메모리 외부의 전용 롬 또는 상기 메모리 외부의 풀업 풀다운 신호입력을 이용하거나, 또는 상기 메모리 내부에 ID 저장 중 어느 하나를 통해 상기 메모리 ID를 저장함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 제1항에 있어서, 상기 메모리는,메모리 로직을 포함하는 메모리 코어;상기 메모리 데이터를 처리하는 데이터 처리부;상기 메모리 데이터를 저장하는 메모리 정보 저장부;상기 메모리 컨트롤러와 연결되는 시리얼 링크를 관리하고, 해당 메모리 데이터의 시리얼/페러럴 변화 기능을 수행하는 링크 관리/변환부; 및상기 메모리 컨트롤러와 상기 시리얼 링크로 연결되어 상기 메모리 데이터를 시리얼 방식으로 송수신하는 복수의 시리얼 포트; 를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 시스템.
- 메모리를 초기화하고 메모리 데이터를 중개하는 가변 시리얼 정합 방식의 메모리 컨트롤러에 있어서,입력되는 메모리 주소정보를 디코딩하는 어드레스 디코더;상기 주소정보에 대응하는 메모리 ID를 검출하여 전송하고, 해당 데이터 처리 기능을 수행하며, 상기 메모리의 초기화/관리를 수행하는 메모리 데이터 전송부;상기 메모리 데이터 전송부와의 내부 정보교환을 수행하고, 상기 메모리 ID에 대한 시리얼 링크 포트를 검색하며, 메모리 데이터의 시리얼/패러럴 변환기능을 수행하고 상기 시리얼 링크 포트의 링크 관리기능을 수행하는 메모리 데이터 변환부; 및상기 메모리 데이터를 고속의 시리얼 방식으로 전송하는 복수의 시리얼 포트; 를 포함하며,상기 메모리와 상기 시리얼(serial) 포트를 통해 시리얼 포트의 물리적인 위치 및 순서에 상관없이 가변적으로 시리얼 링크 연결을 설정하여 메모리 데이터를 시리얼 방식으로 송수신함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 컨트롤러.
- 제15항에 있어서, 상기 메모리 데이터 변환부는,상기 메모리 데이터 전송부와 내부 정보 교환을 위한 내부 헤더 처리부;상기 메모리 ID에 대응하는 시리얼 링크 포트들을 관리하고 검색하는 메모리 ID 테이블;페러럴 메모리 데이터를 시리얼 메모리 데이터로 변환하는 데이터 신호 변환부; 및시리얼 포트의 상태를 점검하고 고장 링크의 보고 및 처리 기능을 수행하는 링크 관리부; 를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리 컨트롤러.
- 메모리 컨트롤러에 의해 액세스되는 가변 시리얼 정합방식의 메모리에 있어서,메모리 로직을 포함하는 메모리 코어;메모리 데이터를 처리하는 데이터 처리부;상기 메모리 데이터를 저장하는 메모리 정보 저장부;상기 메모리 컨트롤러와 연결되는 시리얼 링크를 관리하고, 해당 데이터의 시리얼/페러럴 변화 기능을 수행하는 링크 관리/변환부; 및상기 메모리 컨트롤러와 상기 시리얼 링크로 연결되어 메모리 데이터를 시리얼 링크로 송수신하는 복수의 시리얼 포트; 를 포함함을 특징으로 하는 가변 시리얼 정합 방식의 메모리.
- 메모리 컨트롤러에서의 가변 직렬 병합 방식의 메모리 액세스 방법에 있어서,메모리 컨트롤러가 액세스할 메모리를 검색하고 액세스 관련 링크를 초기화하는 제1단계;상기 메모리 읽기 명령이 입력되면, 페러럴 메모리 주소와 제어 명령을 받아 해당 메모리 ID를 검색하고 상기 메모리 ID에서 연결 링크를 찾고 페러럴 메모리 주소 및 제어 명령을 시리얼 데이터로 변환하여 상기 연결 링크를 통해 해당 메모리로 명령요구번호와 함께 전송하는 제2단계;상기 메모리가 읽기 명령과 어드레스를 받고 메모리 코어에서 해당 데이터를 연결 링크를 통해 명령요구번호와 함께 전송하는 제3단계;상기 시리얼 링크로 입력되는 데이터에서 상기 명령요구번호를 확인하고, 시리얼 데이터를 패러럴 데이터로 변환하여 상기 명령요구번호에 맞춰 상기 읽기명령의 전송측으로 전달하는 제4단계;상기 읽기 명령 전송측이 상기 메모리를 쓸 때 패러럴 데이터 형태의 데이터와 어드레스에서 해당 시리얼 링크를 찾아 상기 메모리로 명령요구번호와 함께 전송하는 제5단계; 및상기 메모리가 쓰기 명령을 입력 받아 해당 메모리 코어에 상기 데이터를 쓰는 제6단계; 를 포함함을 특징으로 하는 가변 직렬 병합 방식의 메모리 액세스 방법.
- 제18항에 있어서, 상기 제1단계는,모든 시리얼 링크에 메모리 ID, 사이즈 정보 및 속도 정보 요구 메시지를 메모리로 보내고 상기 메모리로부터 응답을 수신하는 단계;상기 메모리 ID 별로 링크 정보를 메모리 ID 테이블에 입력하는 단계;상기 메모리 ID별로 어드레스 위치를 메모리 맵 테이블에 입력하는 단계;동일 메모리에 연결된 링크들을 동기화하는 단계; 및상기 동일 메모리에 연결된 링크들의 가상 링크 번호를 교환하는 단계; 를 포함함을 특징으로 하는 가변 직렬 병합 방식의 메모리 액세스 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060062660A KR100818298B1 (ko) | 2005-12-08 | 2006-07-04 | 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법 |
US11/524,235 US7649795B2 (en) | 2005-12-08 | 2006-09-19 | Memory with flexible serial interfaces and method for accessing memory thereof |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050119919 | 2005-12-08 | ||
KR20050119919 | 2005-12-08 | ||
KR1020060062660A KR100818298B1 (ko) | 2005-12-08 | 2006-07-04 | 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070061196A KR20070061196A (ko) | 2007-06-13 |
KR100818298B1 true KR100818298B1 (ko) | 2008-03-31 |
Family
ID=38139133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060062660A KR100818298B1 (ko) | 2005-12-08 | 2006-07-04 | 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7649795B2 (ko) |
KR (1) | KR100818298B1 (ko) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7529139B2 (en) * | 2007-01-26 | 2009-05-05 | Mediatek, Inc. | N-port memory circuits allowing M memory addresses to be accessed concurrently and signal processing methods thereof |
KR100934227B1 (ko) * | 2007-09-21 | 2009-12-29 | 한국전자통신연구원 | 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치 |
KR101003102B1 (ko) | 2008-09-24 | 2010-12-21 | 한국전자통신연구원 | 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치 |
US8621128B2 (en) * | 2009-12-04 | 2013-12-31 | St-Ericsson Sa | Methods and systems for reliable link startup |
US8943224B2 (en) * | 2010-03-15 | 2015-01-27 | Rambus Inc. | Chip selection in a symmetric interconnection topology |
WO2011132310A1 (ja) * | 2010-04-23 | 2011-10-27 | 株式会社日立製作所 | 情報処理装置、及び、半導体記憶装置 |
JP2012128778A (ja) * | 2010-12-17 | 2012-07-05 | Sony Corp | データ転送装置、メモリ制御装置、およびメモリシステム |
US10191884B2 (en) * | 2014-01-28 | 2019-01-29 | Hewlett Packard Enterprise Development Lp | Managing a multi-lane serial link |
CN104916302A (zh) * | 2015-06-05 | 2015-09-16 | 浪潮集团有限公司 | 一种带有加密认证功能的usb移动存储 |
US10108364B2 (en) | 2015-06-26 | 2018-10-23 | Nxp Usa, Inc. | IC module and method of decoding resource access requests |
KR102457820B1 (ko) * | 2016-03-02 | 2022-10-24 | 한국전자통신연구원 | 메모리 인터페이스 장치 |
US10712948B1 (en) * | 2016-10-28 | 2020-07-14 | Pure Storage, Inc. | Predictive storage expansion |
CN111599391B (zh) * | 2020-05-25 | 2022-03-22 | 无锡中微亿芯有限公司 | 基于动态可重配技术的可扩展多端口块状存储单元 |
US12019568B2 (en) | 2021-03-30 | 2024-06-25 | Electronics And Telecommunications Research Institute | Serial communication method and system for memory access |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR880011663A (ko) * | 1987-03-09 | 1988-10-29 | 오레그 이. 앨버 | 메모리 관리장치와 이 장치에서 사용하기 위한 방법 및 이 장치를 가지고 있는 시스템 |
KR960002005A (ko) * | 1994-06-27 | 1996-01-26 | 윌리암 티. 엘리스 | 메모리 어드레스 공간 관리 방법, 메모리 어드레스 공간 관리 장치 및 컴퓨터 시스템 |
KR960024937A (ko) * | 1994-12-12 | 1996-07-20 | 정장호 | 디지탈 아이씨의 휴대용 기능 검사장치 및 그 제어방법 |
KR0153017B1 (ko) * | 1993-12-08 | 1998-11-16 | 서평원 | 메모리 및 라인 정합 기능을 갖는 전전자 교환기의 링크 처리 시스템 |
US6029217A (en) | 1994-10-03 | 2000-02-22 | International Business Machines Corporation | Queued arbitration mechanism for data processing system |
JP2000181898A (ja) | 1998-12-14 | 2000-06-30 | Nec Corp | フラッシュメモリ搭載型シングルチップマイクロコンピュータ |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5293597A (en) * | 1987-03-09 | 1994-03-08 | At&T Bell Laboratories | Concurrent context memory management unit |
US6137734A (en) * | 1999-03-30 | 2000-10-24 | Lsi Logic Corporation | Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals |
US7941056B2 (en) | 2001-08-30 | 2011-05-10 | Micron Technology, Inc. | Optical interconnect in high-speed memory systems |
US7313639B2 (en) * | 2003-01-13 | 2007-12-25 | Rambus Inc. | Memory system and device with serialized data transfer |
US7421525B2 (en) | 2003-05-13 | 2008-09-02 | Advanced Micro Devices, Inc. | System including a host connected to a plurality of memory modules via a serial memory interconnect |
US20050210185A1 (en) | 2004-03-18 | 2005-09-22 | Kirsten Renick | System and method for organizing data transfers with memory hub memory modules |
US7167410B2 (en) * | 2005-04-26 | 2007-01-23 | Magnalynx | Memory system and memory device having a serial interface |
-
2006
- 2006-07-04 KR KR1020060062660A patent/KR100818298B1/ko not_active IP Right Cessation
- 2006-09-19 US US11/524,235 patent/US7649795B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR880011663A (ko) * | 1987-03-09 | 1988-10-29 | 오레그 이. 앨버 | 메모리 관리장치와 이 장치에서 사용하기 위한 방법 및 이 장치를 가지고 있는 시스템 |
KR0153017B1 (ko) * | 1993-12-08 | 1998-11-16 | 서평원 | 메모리 및 라인 정합 기능을 갖는 전전자 교환기의 링크 처리 시스템 |
KR960002005A (ko) * | 1994-06-27 | 1996-01-26 | 윌리암 티. 엘리스 | 메모리 어드레스 공간 관리 방법, 메모리 어드레스 공간 관리 장치 및 컴퓨터 시스템 |
US6029217A (en) | 1994-10-03 | 2000-02-22 | International Business Machines Corporation | Queued arbitration mechanism for data processing system |
KR960024937A (ko) * | 1994-12-12 | 1996-07-20 | 정장호 | 디지탈 아이씨의 휴대용 기능 검사장치 및 그 제어방법 |
JP2000181898A (ja) | 1998-12-14 | 2000-06-30 | Nec Corp | フラッシュメモリ搭載型シングルチップマイクロコンピュータ |
Also Published As
Publication number | Publication date |
---|---|
US20070133311A1 (en) | 2007-06-14 |
US7649795B2 (en) | 2010-01-19 |
KR20070061196A (ko) | 2007-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100818298B1 (ko) | 가변 시리얼 정합 방식의 메모리 시스템 및 그 메모리액세스 방법 | |
CN101405708B (zh) | 自动计算机器的存储器系统 | |
EP1587112B1 (en) | Buffered memory module with configurable interface width. | |
US7206897B2 (en) | Memory module having an integrated circuit buffer device | |
US6502161B1 (en) | Memory system including a point-to-point linked memory subsystem | |
US6771526B2 (en) | Method and apparatus for data transfer | |
EP3279798B1 (en) | System including hierarchical memory modules having different types of integrated circuit memory devices | |
KR100934227B1 (ko) | 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치 | |
WO2005116838A1 (en) | Configurable width buffered module having a bypass circuit | |
WO2007112166A2 (en) | System and method for re-routing signals between memory system components | |
US20070016698A1 (en) | Memory channel response scheduling | |
US7561455B2 (en) | Memory system using single wavelength optical transmission | |
US7920433B2 (en) | Method and apparatus for storage device with a logic unit and method for manufacturing same | |
CN110364195A (zh) | 存储器件以及包括其的存储系统 | |
US20080228988A1 (en) | Method for transmitting configuration data via a configuration data bus in a memory arrangement, configuration data bus structure, memory arrangement, and computer system | |
KR20060062152A (ko) | 개선된 버스구조를 구현하는 프로세서 보드 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130304 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140303 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150226 Year of fee payment: 8 |
|
LAPS | Lapse due to unpaid annual fee |