KR20020089886A - 피시아이 인터페이스를 이용한 데이터 저장장치 - Google Patents
피시아이 인터페이스를 이용한 데이터 저장장치 Download PDFInfo
- Publication number
- KR20020089886A KR20020089886A KR1020010028869A KR20010028869A KR20020089886A KR 20020089886 A KR20020089886 A KR 20020089886A KR 1020010028869 A KR1020010028869 A KR 1020010028869A KR 20010028869 A KR20010028869 A KR 20010028869A KR 20020089886 A KR20020089886 A KR 20020089886A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- address
- pci bus
- pci
- unit
- Prior art date
Links
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/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI 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/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
본 발명은 PCI 버스상의 데이터를 효율적으로 저장하는 장치에 관한 것으로, 이를 위한 본 발명은, PCI 버스상의 명령어와 어드레스를 감지하여 PCI 버스상의 어드레스와 데이터와 명령어를 인가받는 PCI 버스 인터페이스부; 상기 PCI 버스 인터페이스부로부터 입력된 명령어와 어드레스와 데이터에 응답하여 유효한 데이터를 생성하고, 다음번의 유효한 데이터를 저장할 최적의 어드레스를 발생시키는 어드레스 컨트롤부; 상기 어드레스 컨트롤부에서 생성된 어드레스와 데이터에 응답하여 유효한 데이터만을 저장하는 데이터 저장부; 및 상기 어드레스 컨트롤부를 통하여 데이터 저장부에 저장된 데이터를 인가받아 로컬 버스의 데이터 형태로 변환하여 전송하거나 상기 로컬 버스의 명령어와 어드레스를 인가받는 로컬 버스 인터페이스부를 포함하여 이루어지는 것을 특징으로 한다.
Description
본 발명은 PCI 인터페이스를 사용하는 저장장치에 관한것으로, 특히 PCI 버스상의 데이터를 효율적으로 저장하는 장치에 관한 것이다.
PCI(Peripheral component interconnect, 이하 PCI라 한다) 버스는 데이터 전송을 위한 버스로서 이전의 베사-로컬 버스 방식의 느린 데이터 전송속도를 개선한 데이터 전송 버스를 말한다.
PCI 버스는 다수의 전원 라인과, 32개의 어드레스-데이터 라인과, 다수의 제어 라인을 포함하여 모두 64개의 라인으로 구성되고, 최고 33 Mhz로 동작하는 동기버스로 32비트 연산을 기반으로 하며, PCI 버스상의 모든 제어신호의 제어 동작의 타이밍은 PCI 버스상의 클럭 신호와 동기되므로 PCI 버스에 연결되는 디바이스의 동작이 안정되는 특징이 있다.
도 1을 참조하여 종래의 PCI 인터페이스를 사용하는 저장장치의 문제점을 살펴보기로 한다.
도 1을 참조하면 종래의 PCI 버스상의 데이터를 저장하는 저장장치는, PCI 버스상의 명령어와 어드레스를 감지하여 PCI 버스상의 어드레스와 데이터를 인가받는 PCI 버스 인터페이스부(1)와, 상기 PCI 버스 인터페이스부(1)로부터 명령어와 어드레스와 데이터를 입력받아, 상기 입력된 어드레스에 따라 데이터를 저장하거나 읽어내는 데이터 저장부(2)와, 상기 데이터 저장부(2)에 저장된 데이터를 인가받아 로컬 버스의 데이터 형태로 변환하여 전송하거나 상기 로컬 버스의 명령어와 어드레스를 인가받는 로컬 버스 인터페이스부(3)를 포함하여 이루어진다.
상기한 구성을 가진 종래의 PCI 인터페이스를 사용하는 저장장치의 동작을 살펴보기로 한다.
먼저, 중앙처리장치(도면에 도시되지 않음)나 상기 데이터 저장부(2)로 데이터를 전송하고자 하는 디바이스(도면에 도시되지 않음)로 부터, PCI 버스상에 상기 데이터 저장부(2)로 데이터를 기록또는 읽어 오라는 명령어와 상기 데이터 저장부에 데이터가 저장될 어드레스가 플로팅(floating)된다.
PCI 버스는 어드레스와 데이터가 동일한 버스선을 사용하는데, 어드레스가 먼저 전송되고 전송된 어드레스에 이어서 데이터가 전송되는 특징이 있으므로 상기 PCI 버스상의 어드레스를 접수한 PCI 인터페이스부(1)에는 상기 중앙 처리장치나, 데이터 저장부(2)로 데이터를 전송하고자 하는 디바이스로 부터 전송된 데이터를 인가받게 된다.
다음으로, PCI 버스상에 플로팅된 명령어와 어드레스는 상기 데이터 저장부(2)에 연결된 PCI 인터페이스부(1)에 입력되어 데이터 저장부의 클럭 속도에 맞는 데이터로 재 구성된다.
상기 PCI 인터페이스부(1)의 출력은 상기 데이터 저장부(2)로 인가되며, PCI 인터페이스부(1)로부터 인가된 어드레스와 명령에 따라 데이터 저장부(2)에 데이터가 저장되게 된다.
여기서, PCI 버스 구조에서 데이터가 저장되는 메커니즘을 잠시 살펴보기로 한다.
PCI 버스는 상기한 바와 같이 32개의 어드레스-데이터 라인으로 구성되는데 상기 32개의 어드레스-데이터 라인을 8비트 단위로 제어할수 있다.
상기 8비트 단위로 제어하는 신호는 바이트 인에이블 신호(byteenable:BE[3:0])라고 불리며 4비트로 구성되어 있다.
상기 제어신호 BE[3:0]는 로우 레벨에서 활성화 되는 제어신호로 32비트로 구성된 어드레스-데이터 라인을 4등분하는데, 4등분되어 8비트로 구성된 각각의 어드레스-데이터 라인을 레인(LANE)이라 하고 각각의 레인은 제어신호(BE[3:0])에 의하여 사용 여부가 결정된다.
예를들어, 상기 4비트로 구성된 제어신호 BE[3:0]의 각각의 비트가 0000 이면, 32비트의 어드레스-데이터 라인을 모두 사용한다는 의미이다.
이경우 상기 데이터 저장부(2)는 32비트의 데이터를 인가받으며, 만약 제어신호 BE[3:0]의 각각의 비트가 0001이면 데이터 저장부(2)는 24비트의 데이터를 인가받으며, BE[3:0]의 각각의 비트가 0011이면 데이터 저장부(2)는 상위 16비트를 인가받는다.
따라서, 상기 PCI 버스 인터페이스부(1)에서 출력되는 명령어 중에는 제어신호(BE[3:0])가 포함되어 PCI 버스상의 데이터중 무효한 데이터와 유효한 데이터를 구분지어 상기 데이터 저장부(2)에 기록하게 된다.
상기한 바와 같은 종래의 PCI 인터페이스를 이용한 저장장치는, 제어신호(BE[3:0])에 의하여 유효한 데이터와 무효한 데이터를 구분지어서 저장하기는 하지만 제어신호(BE[3:0])에 의하여 무효한 데이터로 간주된 데이터도 상기 PCI 인터페이스를 이용한 저장장치에 저장되게 된다.
따라서, PCI 인터페이스를 이용한 저장장치(예컨데 FIFO, SRAM, 하드 디스크등)의 데이터 저장 효율을 떨어뜨리고 저장 공간을 낭비하는 문제점이 있었다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 데이터 저장 효율을 극대화한 PCI 인터페이스를 이용한 데이터 저장장치를 제공함에 그 목적이 있다.
도 1은 종래의 PCI 인터페이스를 사용하는 저장장치의 블럭 다이어그램.
도 2는 본 발명에 따른 PCI 인터페이스를 사용하는 저장장치의 블럭 다이어그램.
도 3은 본 발명에 따른 어드레스 컨트롤부의 블럭 다이어그램.
* 도면의 주요부분에 대한 부호의 설명
10 : PCI 버스부 20 : PCI 버스 인터페이스부
30 : 어드레스 컨트롤부 40 : 데이터 저장부
50 : 로컬 버스 인터페이스부 60 : 로컬 버스부
본 발명은 PCI 버스상의 데이터를 효율적으로 저장하는 장치에 관한 것으로 이를 위한 본 발명은, PCI 버스상의 명령어와 어드레스를 감지하여 PCI 버스상의 어드레스와 데이터와 명령어를 인가받는 PCI 버스 인터페이스부; 상기 PCI 버스 인터페이스부로부터 입력된 명령어와 어드레스와 데이터에 응답하여 유효한 데이터를 생성하고, 다음번의 유효한 데이터를 저장할 최적의 어드레스를 발생시키는 어드레스 컨트롤부; 상기 어드레스 컨트롤부에서 생성된 어드레스와 데이터에 응답하여 유효한 데이터만을 저장하는 데이터 저장부; 및 상기 어드레스 컨트롤부를 통하여 데이터 저장부에 저장된 데이터를 인가받아 로컬 버스의 데이터 형태로 변환하여 전송하거나 상기 로컬 버스의 명령어와 어드레스를 인가받는 로컬 버스 인터페이스부를 포함하여 이루어지는 것을 특징으로 한다.
이하 본 발명이 속하는 기술분야에서 통상의 지식을 가진자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도 2는 본 발명에 따른 PCI 인터페이스를 이용한 데이터 저장장치를 나타낸다.
도 2를 참조하면, 데이터를 상호 전송하는 PCI 버스(10)와, PCI 버스상의 명령어와 어드레스를 감지하여 PCI 버스상의 어드레스, 데이터 및 명령어를 인가받는 PCI 버스 인터페이스부(20)와, 상기 PCI 버스 인터페이스부(20)로부터 입력된 명령어와 어드레스와 데이터에 응답하여 유효한 데이터를 저장하는데 필요한 만큼의 어드레스를 발생시키고, 상기 발생된 어드레스에 이어서 유효한 데이터만을 전송하는 어드레스 컨트롤부(30)와, 상기 어드레스 컨트롤부(30)에서 생성된 어드레스와 전송되는 데이터에 응답하여 유효한 데이터만을 저장하는 데이터 저장부(40) 및 상기 어드레스 컨트롤부(30)를 통하여 데이터 저장부(40)에 저장된 데이터를 인가받아 로컬 버스의 데이터 형태로 변환하여 전송하거나 상기 로컬 버스의 명령어와 어드레스를 인가받는 로컬 버스 인터페이스부(50)를 포함하여 이루어진다.
구체적으로, 상기 어드레스 컨트롤부(30)는 PCI 버스에서 전송되는 데이터중 유효한 데이터만을 검출하는 제어신호를 저장하는 제어신호 레지스터부(31)와, PCI 버스에서 전송되는 어드레스를 저장하는 어드레스 레지스터부(32)와,상기 제어신호 레지스터부(31)와 어드레스 레지스터부(32)의 출력값에 응답하여 상기 데이터 저장부(40)에서 읽어올 어드레스를 생성하는 읽기주소 생성부(33)와, 상기 제어신호 레지스터부(31)와 어드레스 레지스터부(32)의 출력값에 응답하여 상기 데이터 저장부(40)에 유효한 데이터만 기록하는데 필요한 어드레스를 생성하는 쓰기주소 생성부(34) 및 상기 PCI 버스 인터페이스부(20)에서 인가된 명령어에 응답하여 상기 읽기주소 생성부(33)와 쓰기주소 생성부(34)중 하나만을 활성화 시키는 기능 선택부(35)를 포함하여 실시 구성된다.
상기한 구성의 PCI 인터페이스를 이용한 데이터 저장장치의 동작을 도 2와 도 3을 참조하여 상세히 설명하도록 한다.
먼저, 중앙처리장치(도면에 도시되지 않음)나 상기 데이터 저장부(40)로 데이터를 전송하고자 하는 디바이스(도면에 도시되지 않음)로 부터, PCI 버스상에 상기 데이터 저장부(40)로 데이터를 기록 하거나 읽어 오라는 명령어와 상기 데이터 저장부에 데이터가 저장될 어드레스가 플로팅(floating)된다.
PCI 버스(10)는 어드레스와 데이터가 동일한 버스선을 사용하는데, 어드레스가 먼저 전송되고 전송된 어드레스에 이어서 데이터가 전송되는 특징이 있으므로 상기 PCI 버스(10)상의 어드레스를 접수한 PCI 인터페이스부(20)에는 상기 중앙 처리장치나, 데이터 저장부(40)로 데이터를 전송하고자 하는 디바이스로 부터 전송된 데이터를 인가받게 된다.
다음으로, PCI 버스상에 플로팅된 명령어와 어드레스와 데이터는 상기 PCI 인터페이스부(20)에 입력되어 어드레스 컨트롤부(30)의 클럭 속도에 맞는 데이터로 재 구성된다.
다음으로, 상기 제어신호 레지스터부(31)에는 PCI 인터페이스부(20)에서 전송된 제어신호(BE[3:0])가 저장되고, 어드레스 레지스터부(32)에는 상기 PCI 인터페이스부(20)에서 전송된 어드레스와 데이터가 인가된다.
다음으로, 읽기주소 생성부(33)에서는 상기 제어신호 레지스터부(31)과 어드레스 레지스터부(32)에서 출력된 값에 응답하여 상기 데이터 저장부(40)에서 읽어올 어드레스를 생성하고, 쓰기주소 생성부(34)에서는 상기 제어신호 레지스터부(31)와 어드레스 레지스터부(32)에서 출력된 값에 응답하여 상기 데이터 저장부에 유효한 데이터만 기록하는데 필요한 어드레스를 생성한다.
여기서, 상기 쓰기주소 생성부(34)는 상기 PCI 버스 인터페이스부(20)에서 전송된 데이터중에서 유효한 데이터만을 골라서 데이터 저장부(40)에 기록하게 되는데 아래의 표 1을 참조하면, 상기 제어신호 레지스터부(31)에 인가된 제어신호(BE[3:0])가 0000 인경우에는 상기 PCI 버스 인터페이스부(20)로부터 인가된 32비트의 데이터가 모두 유효한 데이터임을 나타낸다.
제어신호(BE[3:0]) | |
0 0 0 0 | 32 비트 유효 |
0 0 0 1 | 24 비트 유효 |
0 0 1 1 | 16 비트 유효 |
0 1 1 1 | 8 비트 유효 |
이때, 상기 데이터 저장부(40)가 0000H 번지부터 데이터를 기록한다고 가정하면, 쓰기주소 생성부는 상기 제어신호(BE[3:0])를 감지하여 32비트 모두가 유효한 데이터 이므로 데이터 저장부(40)에 모두 저장하게 되며, 상기 쓰기주소 생성부(34)는 0020H 번지를 가리킨다.
즉, 상기 쓰기주소 생성부(34)는 PCI 버스 인터페이스부(20)에서 전송된 데이터를 데이터 저장부(40)에 저장한다음, 데이터 저장부(40)에 데이터 저장이 끝난 곳의 어드레스(0020H)를 지정함으로서, 다음번의 데이터가 상기 지정된어드레스(0020H)부터 저장되도록 한다.
만약 다음번의 데이터가 인가되고, 이때 제어신호 레지스터(31)로 인가된 제어신호(BE[3:0])가 0001이라고 가정하면, 24비트의 데이터가 유효하므로 상기 0020H번지부터 24비트가 차례대로 저장되므로 0021H 번지부터 0038H 번지까지 저장되게 되며, 상기 쓰기주소 생성기는 0038H 번지를 가리키게 된다.
이상에서 설명한 바와 같이 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명이 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.
상기한 바와 같이 본 발명은 PCI 인터페이스를 이용한 데이터 저장장치의 저장효율을 극대화 할 수 있다.
Claims (2)
- PCI 버스상의 명령어와 어드레스를 감지하여 PCI 버스상의 어드레스와 데이터와 명령어를 인가받는 PCI 버스 인터페이스부;상기 PCI 버스 인터페이스부로부터 입력된 명령어와 어드레스와 데이터에 응답하여 유효한 데이터를 생성하고, 다음번의 유효한 데이터를 저장할 최적의 어드레스를 발생시키는 어드레스 컨트롤부;상기 어드레스 컨트롤부에서 생성된 어드레스와 데이터에 응답하여 유효한 데이터만을 저장하는 데이터 저장부; 및상기 어드레스 컨트롤부를 통하여 데이터 저장부에 저장된 데이터를 인가받아 로컬 버스의 데이터 형태로 변환하여 상기 로컬버스로 전송하거나 상기 로컬 버스의 명령어와 어드레스를 인가받는 로컬 버스 인터페이스부를 포함하여 이루어지는 PCI 인터페이스를 이용한 데이터 저장장치.
- 제 1 항에 있어서,상기 어드레스 컨트롤부는,PCI 버스에서 전송되는 데이터중 유효한 데이터만을 검출하는 제어신호를 저장하는 제어신호 레지스터부;PCI 버스에서 전송되는 어드레스를 저장하는 어드레스 레지스터부;상기 제어신호 레지스터부와 어드레스 레지스터부의 출력값에 응답하여 상기 데이터 저장부에서 읽어올 어드레스를 생성하는 읽기주소 생성부;상기 제어신호 레지스터부와 어드레스 레지스터의 출력값에 응답하여 상기 데이터 저장부에 유효한 데이터만 기록하는데 필요한 어드레스를 생성하는 쓰기주소 생성부; 및상기 PCI 버스 인터페이스부에서 인가된 명령어에 응답하여 상기 읽기주소 생성부와 쓰기주소 생성부중 하나만을 활성화 시키는 기능 선택부를 포함하여 이루어지는 것을 특징으로 하는 PCI 인터페이스를 이용한 데이터 저장장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010028869A KR20020089886A (ko) | 2001-05-25 | 2001-05-25 | 피시아이 인터페이스를 이용한 데이터 저장장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010028869A KR20020089886A (ko) | 2001-05-25 | 2001-05-25 | 피시아이 인터페이스를 이용한 데이터 저장장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020089886A true KR20020089886A (ko) | 2002-11-30 |
Family
ID=27706385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010028869A KR20020089886A (ko) | 2001-05-25 | 2001-05-25 | 피시아이 인터페이스를 이용한 데이터 저장장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20020089886A (ko) |
-
2001
- 2001-05-25 KR KR1020010028869A patent/KR20020089886A/ko not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5602780A (en) | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory | |
KR100694440B1 (ko) | 반도체기억장치 | |
US20070067580A1 (en) | Memory Access Interface for a Micro-Controller System with Address/Data Multiplexing Bus | |
KR20030089988A (ko) | 서로 다른 데이터 버스 폭을 갖는 장치들을 위한인터페이스 및 이를 이용한 데이터 전송방법 | |
KR20020089886A (ko) | 피시아이 인터페이스를 이용한 데이터 저장장치 | |
US4652994A (en) | System for transmitting data to auxiliary memory device | |
GB2228813A (en) | Data array conversion | |
KR19990026343A (ko) | 직병렬 데이터 전송을 위한 적응가능한 인터페이스 회로 | |
JP2570986B2 (ja) | データ転送制御装置及び方法 | |
US5566350A (en) | Information device for providing fast data transfer with minimum overhead | |
KR20050064568A (ko) | 온-칩 직렬 주변장치 버스 시스템 및 그 운용방법 | |
JP2969896B2 (ja) | Ramのデータ書き込み制御方法 | |
KR100313933B1 (ko) | 데이터전송제어장치 | |
JP2004087027A (ja) | アクセス回路 | |
KR100346268B1 (ko) | 데이터 버스 제어 시스템 | |
KR19980026617A (ko) | 직렬 데이터 통신 시스템 | |
JPH08161258A (ja) | データ処理装置 | |
JPH079280Y2 (ja) | スタック回路 | |
SU1541623A1 (ru) | Устройство дл сопр жени ЭВМ с периферийным устройством | |
JPS61184655A (ja) | デ−タ転送方式 | |
JP2968636B2 (ja) | マイクロコンピュータ | |
JPH03209544A (ja) | メモリ制御回路 | |
JPS63192152A (ja) | デ−タ伝送方式 | |
JPH0991244A (ja) | データ転送装置 | |
JPH10105457A (ja) | メモリ制御システムおよびメモリ制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |