KR100467102B1 - Data storage system - Google Patents

Data storage system Download PDF

Info

Publication number
KR100467102B1
KR100467102B1 KR10-2002-0029573A KR20020029573A KR100467102B1 KR 100467102 B1 KR100467102 B1 KR 100467102B1 KR 20020029573 A KR20020029573 A KR 20020029573A KR 100467102 B1 KR100467102 B1 KR 100467102B1
Authority
KR
South Korea
Prior art keywords
memory
data
bus
controller
storage system
Prior art date
Application number
KR10-2002-0029573A
Other languages
Korean (ko)
Other versions
KR20030091498A (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 KR10-2002-0029573A priority Critical patent/KR100467102B1/en
Publication of KR20030091498A publication Critical patent/KR20030091498A/en
Application granted granted Critical
Publication of KR100467102B1 publication Critical patent/KR100467102B1/en

Links

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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 데이터 저장 시스템에 있어서, 미리 설정된 외부 버스(SCSI 버스)와 미리 설정된 내부 버스(PCI 버스)와 인터페이스하는 인터페이스 제어부와, 다수의 메모리 블록으로 구성되며, 내부 버스 상으로 입력되는 데이터를 해당 메모리 블록을 구동시켜 저장하는 메모리 모듈과, 시스템의 전체 동작을 총괄적으로 제어하며, 인터페이스 제어부를 통해 입력되는 외부 데이터 포맷과 상기 내부 데이터 포맷을 상호 변환하는 제어 모듈을 포함하여 구성함을 특징으로 한다.The present invention relates to a data storage system, comprising: an interface controller for interfacing with a preset external bus (SCSI bus) and a preset internal bus (PCI bus), a plurality of memory blocks, and corresponding data input on the internal bus. And a memory module for driving and storing the memory block and the overall control of the entire operation of the system, and a control module for converting the external data format input through the interface controller and the internal data format. .

Description

데이터 저장 시스템{DATA STORAGE SYSTEM}Data Storage System {DATA STORAGE SYSTEM}

본 발명은 컴퓨터 시스템에 사용되는 데이터 저장 시스템에 관한 것으로, 특히 보다 고성능 및 안정성을 가지는 데이터 저장 시스템에 관한 것이다.The present invention relates to data storage systems for use in computer systems, and more particularly to data storage systems having higher performance and stability.

컴퓨터시스템의 성능은 중앙처리장치(Central Processor Unit:이하 CPU라 함)와 입출력 서브(sub) 시스템에 의해 좌우된다. 최근 VLSI 기술의 발전으로 CPU의 처리속도는 크게 향상되었음에도 불구하고 입출력 서브시스템의 성능개선은 느리게 이루어지고 있기 때문에 전체 시스템의 실행시간 중에서 입출력에 소요되는시간의 비율이 점차 증대되고 있는 실정이다. 또한 입출력 서브시스템의 오류발생시 데이터 복구비용이 점차 증가함에 따라 뛰어난 성능과 신뢰성을 갖춘 입출력 서브 시스템의 개발 필요성이 대두되고 있다.The performance of a computer system depends on the central processor unit (hereinafter referred to as a CPU) and the input / output sub system. Although the processing speed of the CPU has been greatly improved due to the recent development of the VLSI technology, the performance improvement of the input / output subsystem is slow. Therefore, the ratio of the time required for the input / output among the execution time of the entire system is gradually increasing. In addition, as the cost of data recovery in the event of an error in the I / O subsystem gradually increases, the necessity of developing an I / O subsystem with excellent performance and reliability has emerged.

컴퓨터시스템의 보조기억장치로 널리 사용되고 있는 대표적인 자기디스크 기억장치인 하드디스크 드라이브(HDD: Hard Disk Drive)는 정보의 저장을 위한 자기 디스크(이하 디스크라 함)에 정보를 자기 형태로 저장하며, 높은 정보 저장율로 인해 컴퓨터 시스템의 보조기억장치로 널리 사용되고 있다. 또한 최근 들어 인터넷의 급격한 확장에 따른 개인용 컴퓨터와 서버의 급격히 증가됨에 따라 그 용도가 더욱 증가하고 있다.The hard disk drive (HDD), a representative magnetic disk storage device widely used as an auxiliary memory device of a computer system, stores information in a magnetic form on a magnetic disk (hereinafter referred to as a disk) for storing information. Due to the information storage rate, it is widely used as an auxiliary memory device of a computer system. In addition, the recent increase in the use of personal computers and servers due to the rapid expansion of the Internet has been increasing its use.

상기 하드디스크 드라이브는 외부 호스트(호스트 컴퓨터)로부터 전송되는 데이터를 마그네틱층이 형성되어 있는 고속 회전 디스크 상에서 헤드를 통해 자기적으로 기록되어 있는 데이터를 읽어들임으로 기록 위치를 검색하고, 헤드를 이용하여 상기 데이터에 따른 전기신호로 자화시켜 데이터를 해당 위치에 기록하며, 상기 디스크 상의 자화 형태를 헤드를 통해 전기적 신호로 변환하여 자화 형태로 기록된 데이터를 독출한다.The hard disk drive reads data recorded magnetically through a head on a high speed rotating disk on which a magnetic layer is formed and transmits data transmitted from an external host (host computer). The data is magnetized by the electric signal according to the data, and the data is recorded at the corresponding position. The magnetized form on the disc is converted into an electrical signal through the head to read the data recorded in the magnetized form.

그런데, 이와 같이 보조기억장치로서 범용적으로 사용되는 하드디스크 드라이브는 데이터를 읽고 쓰기 위해 기구적인 디스크의 구동 및 헤드 이동에 따른 상당한 검색 시간 및 억세스 시간이 소요되어, 그 데이터 처리 속도의 한계를 가져오게 된다. 이러한 하드디스크 드라이브의 처리 속도의 한계는 이를 채용한 컴퓨터시스템의 전체 성능에 결정적인 영향을 미치게 된다. 더욱이 이러한 하드디스크 드라이브는 성능의 한계에 따른 문제점뿐만 아니라 상대적으로 넓은 면적의 점유 및 기구적 고장의 문제점도 지니고 있다.By the way, the hard disk drive that is used as a secondary storage device as a general purpose storage device requires a considerable retrieval time and access time due to mechanical disk drive and head movement in order to read and write data, thereby limiting the data processing speed. Come. The limitation of the processing speed of such a hard disk drive has a decisive effect on the overall performance of the computer system employing it. Moreover, these hard disk drives not only have problems due to limitations in performance, but also have a problem of large area occupancy and mechanical failure.

이와 같은 하드디스크 드라이브를 최근 급증하는 인터넷의 서버(게임 서버, 웹서버, 메일서버 등)에 채용할 경우에, 폭증하는 인터넷 수요와 급속히 발전하는 전송 속도에 비해 하드디스크 드라이브의 물리적인 처리 속도의 한계는 특히 접속자 수가 증가할수록 각 접속자의 요구에 대한 응답 속도의 현저한 저하의 문제 및 과도한 부하에 따른 시스템다운 등 치명적인 문제를 일으킬 수 있게 된다.When such a hard disk drive is employed in a rapidly increasing server of the Internet (game server, web server, mail server, etc.), the physical processing speed of the hard disk drive of the hard disk drive compared to the exploding Internet demand and the rapidly developing transfer speed The limitation is that as the number of accessor increases, it can cause fatal problems such as a significant drop in response speed for each accessor's request and a system down due to excessive load.

따라서 본 발명의 목적은 처리 속도를 비약적으로 향상 시켜 고성능의 동작을 수행할 수 있는 대용량 데이터 저장 시스템을 제공함에 있다.Accordingly, an object of the present invention is to provide a large-capacity data storage system that can perform a high performance operation by dramatically improving the processing speed.

본 발명의 다른 목적은 보다 안정성에서 뛰어난 대용량 데이터 저장 시스템을 제공함에 있다.Another object of the present invention is to provide a large data storage system excellent in stability.

상기한 목적을 달성하기 위하여 본 발명에 따르면, 저장공간의 확장이 용이한 대용량 데이터 저장 시스템에 있어서, 미리 설정된 외부 버스와 미리 설정된 내부 버스 사이를 인터페이스하기 위한 인터페이스 제어부와, 대용량 저장을 위해 복수의 메모리 블록들로 구성되는 메모리 모듈과, 상기 메모리 블록을 지정하기 위한 상위 어드레스 및 상기 메모리 블록내의 위치를 지정하기 위한 하위 어드레스를 설정하기 위한 레지스터를 포함하며, 상기 레지스터에 설정된 어드레스에 따라 상기 메모리 모듈로부터 상기 블록 사이즈의 데이터를 독출해서 제어 모듈에 구비된 로컬 메모리로 미러링(mirroring)하는 메모리 컨트롤러와, 상기 로컬 메모리를 구비하고, 상기 인터페이스 제어부를 통해 입력되는 외부 데이터 포맷과 상기 내부 데이터 포맷을 상호 변환하는 기능을 담당하며, 상기 메모리 모듈에 새로운 데이터를 기록하기 위해서 상기 로컬 메모리에 미러링된 데이터에 새로운 데이터를 입력하고, 상기 메모리 모듈로부터 데이터를 독출하기 위해서 상기 로컬 메모리에 미러링된 해당 데이터를 상기 인터페이스 제어부를 통해 외부로 출력하는 상기 제어 모듈을 포함하는 것을 특징으로 한다.In order to achieve the above object, according to the present invention, in the mass data storage system that is easy to expand the storage space, an interface control unit for interfacing between a preset external bus and a preset internal bus, and a plurality of A memory module comprising memory blocks, a register configured to set an upper address for designating the memory block and a lower address for designating a position in the memory block, the memory module according to an address set in the register; A memory controller which reads the block size data from the data and mirrors it to a local memory included in a control module, and an external data format having the local memory and inputted through the interface controller, and the internal data format. side And inputting new data into the data mirrored in the local memory to write new data to the memory module, and interface the corresponding data mirrored to the local memory to read data from the memory module. And the control module outputting to the outside through a control unit.

도 1은 본 발명의 일 실시예에 따른 데이터 저장 시스템의 전체 블록 예시도1 is an exemplary block diagram of a data storage system according to an embodiment of the present invention.

도 2는 도 1 중 PCI/메모리 컨트롤러의 상세 블록 구성도2 is a detailed block diagram of the PCI / memory controller of FIG.

도 3은 도 2중 PCI 인터페이스 제어부의 상세 블록 구성도3 is a detailed block diagram of a PCI interface controller of FIG.

도 4는 본 발명의 일 실시예에 따른 시스템 확장시의 구조를 나타낸 블록 구성도4 is a block diagram showing the structure of the system expansion in accordance with an embodiment of the present invention

이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명에서는 구체적인 구성 소자 등과 같은 특정 사항들이 나타나고 있는데 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들이 본 발명의 범위 내에서 소정의 변형이나 혹은 변경이 이루어질 수 있음은 이 기술분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, specific details such as specific components are shown, which are provided to help a more general understanding of the present invention, and it is understood that these specific details may be changed or changed within the scope of the present invention. It is self-evident to those of ordinary knowledge in Esau.

도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 저장 시스템(100)은 SCSI 인터페이스 제어부(10), 메모리 카드 모듈(20), CPU 모듈(30), PCI 인터페이스 버스(40) 및 제어 신호 버스(50)를 포함한다. SCSI 인터페이스 제어부(10)는 외부 SCSI(Small Computer System Interface) 버스를 데이터 저장 시스템(100)에 적합한 내부 PCI 버스로 변환하여, CPU 모듈(30)에 의해 처리되어지는 SCSI 버스 명령을 허용한다. 잘 알려진 바와 같이, SCSI는 개인 컴퓨터를 디스크 드라이브, 테이프 드라이브, CD-ROM 디바이스, 프린터 및 스캐너와 같은 주변 장치와 기존의 인터페이스에 비해 더 빨리 더 적응성있게 인터페이스하도록 허용하는 산업 표준 인터페이스이다. SCSI 포트는 오늘날 대부분의 개인 컴퓨터에 구현되고있으며 모든 주요 오퍼레이팅 시스템에 의해 지원된다.Referring to FIG. 1, a data storage system 100 according to an exemplary embodiment may include a SCSI interface controller 10, a memory card module 20, a CPU module 30, a PCI interface bus 40, and a control signal. And a bus 50. The SCSI interface control unit 10 converts an external Small Computer System Interface (SCSI) bus into an internal PCI bus suitable for the data storage system 100 to allow SCSI bus commands to be processed by the CPU module 30. As is well known, SCSI is an industry standard interface that allows a personal computer to interface more quickly with existing peripherals such as disk drives, tape drives, CD-ROM devices, printers, and scanners, more quickly than traditional interfaces. SCSI ports are implemented in most personal computers today and are supported by all major operating systems.

CPU 모듈(30)은 SCSI 인터페이스 제어부(10)의 모든 요소를 제어하며, 내부 PCI 버스를 관리하며, SCSI 버스를 통해 입출력되는 SCSI 정보를 데이터 저장 시스템(100)이 종래의 HDD와 동일한 동작을 보이도록 적절한 내부 포맷으로 변환한다.The CPU module 30 controls all elements of the SCSI interface controller 10, manages an internal PCI bus, and displays the SCSI information input and output through the SCSI bus as the data storage system 100 performs the same operation as a conventional HDD. To an appropriate internal format.

SDRAM, 램버스(Rambus) DRAM, DDR 또는 다른 유사한 메모리로 구성되는 메모리 카드 모듈(20)은 PCI/메모리 컨트롤러(21) 및 4개의 동일한 사이즈의 서브 메모리를 각각 갖는 다수의 메모리 모듈들(예를 들면, 22, 23)을 포함한다.The memory card module 20, consisting of SDRAM, Rambus DRAM, DDR or other similar memory, includes a plurality of memory modules each having a PCI / memory controller 21 and four equally sized sub-memories (e.g., , 22, 23).

PCI 인터페이스 버스(40) 및 제어신호 버스(50)는 내부 데이터 및 제어 신호 처리를 위한 내부의 버스들이며 PCI 64비트 버스 인터페이스 표준을 사용한다.PCI interface bus 40 and control signal bus 50 are internal busses for processing internal data and control signals and use the PCI 64-bit bus interface standard.

본 발명에 따르면, 메모리 카드 모듈(20)은 PCI/메모리 컨트롤러 및 다수의 서브 메모리들을 포함하며 팬-아웃(fan-out) 문제를 방지하게 되는 계층적인 구조를 가진다. 팬-아웃 문제는 신호가 원 신호 라인으로부터 다수의 전송 라인으로 분할되어 그 결과 신호 전압이 낮아져서 출력됨으로 일어난다. 본 발명의 트리 구조에서 신호들이 중간 단계에서 보상되고 하부 계층으로 포워드 되므로, 이에 따라 신호 손실 문제가 제거된다.According to the present invention, the memory card module 20 includes a PCI / memory controller and a plurality of sub memories and has a hierarchical structure that prevents a fan-out problem. The fan-out problem occurs as the signal is split from the original signal line into multiple transmission lines, resulting in a lower signal voltage and output. In the tree structure of the present invention, the signals are compensated in the intermediate stage and forwarded to the lower layer, thus eliminating the signal loss problem.

대용량의 메모리일수록 원 신호라인으로부터 신호의 분할이 증가되며, 이에 따라 각 메모리에 전달되는 신호는 결국 감쇠된다. 특히, 본 발명에서는 상당한 대용량의 메모리를 구현하므로 원 신호선에서 나오는 신호들의 나누어짐이 매우 커진다. 이에 따라 각 메모리에 전달되는 신호들의 감쇠 현상이 크게 발생할 수 있으며, 이러한 문제를 해결하기 위하여 신호들의 전달 경로 중간에 신호들을 보상해주는 형태를 구현하며 이를 위해 트리식의 계층적 구조를 구현한다. 이때 신호 보상을 위해 요구되는 클럭 딜레이는 PCI/메모리 컨트롤러(21)에 의해 구현된다.The larger the memory, the greater the division of the signal from the original signal line, so that the signal delivered to each memory is eventually attenuated. In particular, in the present invention, since a large amount of memory is implemented, the division of signals coming from the original signal line becomes very large. As a result, attenuation of signals transmitted to each memory may occur greatly. In order to solve such a problem, a form of compensating signals in the middle of a transmission path of signals is implemented, and a tree hierarchical structure is implemented for this purpose. In this case, the clock delay required for signal compensation is implemented by the PCI / memory controller 21.

트리 구조를 적용한 PCI/메모리 컨트롤러(21)는 계층적 형으로 분산된 메모리 모듈(22)을 제어함으로써, 한 시스템에서 사용시 저장 매체로써의 기능을 할 때 전체 시스템의 구동 전력을 사용하지 않고 실제 접근하는 메모리의 주소의 물리적인 메모리만 구동을 시키고 나머지 부분은 저전력 모드로 전환하도록 한다. 이에 따라, 시스템에서 최저 전원을 사용하기 때문에 소비되는 전력도 적게 소모되어 백업 시스템인 배터리의 지속 시간이 장시간 유지된다.The PCI / memory controller 21 applying the tree structure controls the memory modules 22 distributed in a hierarchical manner, so that the PCI / memory controller 21 does not use the driving power of the entire system when functioning as a storage medium when used in one system. It only drives the physical memory at the address of the memory, and switches the rest to low power mode. Accordingly, since the system uses the lowest power, less power is consumed and the battery life of the backup system is maintained for a long time.

도 2는 도 1 중 본 발명의 일 실시예에 따른 PCI/메모리 컨트롤러의 상세 구성도이다. 도 2에 도시된 바와 같이, PCI/메모리 컨트롤러(21)는 제1메모리 제어부(21a), 제2메모리 제어부(21b) PCI 인터페이스 제어부(21c)를 포함한다. PCI 인터페이스 제어부(21c)는 표준 PCI 명령, 제어, 데이터 신호처리를 담당하며, PCI 인터페이스 버스(40) 및 제1, 제2메모리 제어부(21a, 21b)와의 브리지 역할을 담당한다. 제1, 제2메모리 제어부(21a, 21b) 각각은 PCI 인터페이스 제어부(21c)로부터 내부 버스 B2를 거쳐 제공된 PCI 명령의 요구에 의해 억세스하는 메모리의 내부 메모리의 직접적인 리드/라이트 기능과, 상기 SCSI 인터페이스 제어부(10)를 통해 입출력되는 데이터를 내부 메모리 어드레스에 매칭시켜 저장매체 기능을 할 수 있도록 한다. 특히 제1메모리 제어부(21c)는 PCI 인터페이스 제어부(21c)를 통해 내부 버스 B2를 거쳐 제공된 PCI 명령에 응답하여 제1 메모리 모듈(22)의 어떠한 서브 메모리에 직접적인 리드/라이트 동작을 수행한다. 제2메모리 제어부(22c)는 PCI 인터페이스 제어부(21c)를 통해 버스 B2를 거쳐 제공된 PCI 명령에 응답하여 제2 메모리 모듈(23)의 어떠한 서브 메모리에 직접적인 리드/라이트 동작을 수행한다. 한편, 상기 제1, 제2 메모리 제어부(21a, 21b)는 대용량의 메모리를 처리하기 때문에메모리를 구동시키고자할 때 소모되는 전력을 줄이기 위해, 리드/라이트 동작에 있어서 단지 PCI 인터페이스 제어부(21c)에서 요청하는 메모리 주소에 해당하는 메모리만 구동시키며 나머지 메모리는 저전력 모드로 동작하게 한다. 이에 따라 전력 소모가 최소화 될 수 있다.FIG. 2 is a detailed configuration diagram of a PCI / memory controller according to an embodiment of the present invention. As shown in FIG. 2, the PCI / memory controller 21 includes a first memory controller 21a and a second memory controller 21b and a PCI interface controller 21c. The PCI interface controller 21c is responsible for standard PCI command, control, and data signal processing, and serves as a bridge between the PCI interface bus 40 and the first and second memory controllers 21a and 21b. Each of the first and second memory controllers 21a and 21b has a direct read / write function of the internal memory of the memory accessed by the PCI command provided from the PCI interface controller 21c via the internal bus B2, and the SCSI interface. The data input / output through the controller 10 may be matched with an internal memory address so as to function as a storage medium. In particular, the first memory controller 21c performs a read / write operation directly to any sub memory of the first memory module 22 in response to the PCI command provided through the internal bus B2 through the PCI interface controller 21c. The second memory controller 22c performs a read / write operation directly to any sub memory of the second memory module 23 in response to the PCI command provided through the bus B2 through the PCI interface controller 21c. Meanwhile, since the first and second memory controllers 21a and 21b process a large amount of memory, only the PCI interface controller 21c is used in the read / write operation in order to reduce power consumed when driving the memory. Only the memory corresponding to the memory address requested by is driven and the remaining memory is operated in low power mode. Accordingly, power consumption can be minimized.

도 3은 본 발명의 일 실시예에 따른 도 2의 PCI 인터페이스 제어부의 상세 블록 구성도이다. 도 3을 참조하여, PCI 인터페이스 제어부(21c)의 내부 동작 알고리즘을 보다 상세히 설명한다.3 is a detailed block diagram of the PCI interface controller of FIG. 2 according to an embodiment of the present invention. Referring to FIG. 3, the internal operation algorithm of the PCI interface controller 21c will be described in more detail.

도 3에 도시된 바와 같이, PCI 인터페이스 제어부(21c)는 구성(CFG: Configuration) 레지스터 R/W(1), I/O 리드/라이트(2), 메모리 R/W(3) 및 하위 어드레스 비트(4) 및 상위 어드레스 비트(5) 및 선택 비트(6)를 갖는 레지스터부(7)를 포함한다. PCI 인터페이스 제어부의 설계에 있어서 선행되어야 하는 부분은, 기본 설정은 범용이든 전용이든 CPU의 메모리 맵에서 바라볼 때 CPU에서 어드레싱 가능하며 시스템 동작에 방해를 주지 않는 어드레스 영역을 가져야 한다는 것이다.As shown in FIG. 3, the PCI interface controller 21c includes a configuration register R / W 1, an I / O read / write 2, a memory R / W 3, and a lower address bit. And a register portion 7 having an upper address bit 5 and a select bit 6. An important part of the design of the PCI interface controller is that the basic configuration, whether general or dedicated, should have an address area that can be addressed by the CPU when viewed from the CPU's memory map and does not interfere with system operation.

하위 어드레스 비트(4)는 이러한 어드레스 영역의 범위를 벗어나지 않는 CPU의 종속적인 메모리 맵 내의 설정 영역의 주소를 나타낸다. 메모리 제어부 설계시에 PCI 인터페이스할 어드레스 범위를 설정하고, 하위 어드레스 비트(4)를 사용할 비트 범위를 설정해놓음으로써, 이를 사용할 수 있게 된다.The lower address bit 4 indicates the address of the setting area in the dependent memory map of the CPU without departing from the range of this address area. In designing the memory control section, the address range to be PCI interfaced is set, and the bit range to use the lower address bits 4 is set, so that it can be used.

상위 어드레스 비트(5)는 CPU에서 주어질 수 있는 메모리 맵의 영역에 벗어나는 메모리 어드레스 영역을 사용하고자 할 때 설정하는 것으로 상위 메모리 어드레스 영역은 PCI 인터페이스 제어부(21c) 설계시에 사용할 용량의 범위에 따라 미리 적절한 비트 범위로 설정된다.The upper address bit 5 is set when a memory address area outside the area of the memory map that can be given by the CPU is used. The upper memory address area is set in advance according to the range of capacity to be used in designing the PCI interface controller 21c. It is set to the appropriate bit range.

선택 비트(6)는 메모리 모듈들을 직접 억세스하고 신호 드라이브의 팬아웃 문제점등을 해결하고 확장성의 용이성을 고려하여 설정된다. 하위 어드레스 영역의 최대값에서 최소 1이상의 비트를 할애하여야 한다.The select bit 6 is set by directly accessing the memory modules, solving the fan-out problem of the signal drive, etc., and considering the ease of scalability. At least one bit should be allocated from the maximum value of the lower address area.

PCI 인터페이스 제어부의 동작 알고리즘은 다음과 같다.The operation algorithm of the PCI interface controller is as follows.

PCI 인터페이스 제어부(21c)의 설계시에 하위 어드레스 비트(4), 상위 어드레스 비트(5) 및 선택 비트(6)는 미리 적절한 값으로 설정된다. 이때 PCI 인터페이스를 위해, PCI 명령 중 PCI 메모리 리드/라이트 명령으로 대용량의 어드레싱을 하기 위해, 메모리 억세스 전에 I/O 리드/라이트(2)를 통하여 상위 어드레스 비트를 레지스터부(7)에 미리 설정한다. 메모리 억세스시 하위 어드레스 비트를 어드레싱 하는데, I/O 인터페이스로 쓰여진 상위 비트와 연결하여 [상기 상위 어드레스 비트 + 하위 어드레스 비트 = 총 어드레스 비트]를 억세스 메모리 어드레스 비트로 사용한다. 레지스터의 최상위 비트는 메모리 모듈을 선택하기 위해 사용된다. 이와 같이 본 발명은 하위 어드레스 사이즈와 메인 시스템(CPU)에서 접근할수 있는 어드레스(상위 어드레스)에 의해 대용량 저장장치를 구성한다. 상기 메모리 억세스 어드레스가 소정 상위 비트와 소정 하위 비트로 구분된다는 것은 메모리 모듈을 복수의 블록들로 구분할수 있다는 것을 의미한다. 여기서, 상위 어드레스 비트 수는 블록의 개수에 따라 결정되고, 하위 어드레스 비트수는 상기 블록의 사이즈에 따라 결정된다. 즉, 상기 상위 어드레스 비트, 하위 어드레스 비트 및 선택 비트의 수를 적절히 조정하면 메모리 용량을 용이하게 확장할수 있다.In designing the PCI interface controller 21c, the lower address bits 4, the upper address bits 5, and the selection bits 6 are set to appropriate values in advance. At this time, in order to address a large amount of the PCI memory read / write commands among the PCI commands, the upper address bits are previously set in the register unit 7 through the I / O read / write 2 before the memory access. . When addressing the memory, the lower address bits are addressed, and the upper address bits + lower address bits = total address bits are used as access memory address bits in connection with the upper bits written to the I / O interface. The most significant bit of the register is used to select the memory module. As such, the present invention constitutes a mass storage device by a lower address size and an address (upper address) accessible from the main system (CPU). The fact that the memory access address is divided into predetermined upper bits and predetermined lower bits means that the memory module may be divided into a plurality of blocks. Here, the number of upper address bits is determined according to the number of blocks, and the number of lower address bits is determined according to the size of the block. That is, by appropriately adjusting the number of the upper address bits, the lower address bits, and the selection bits, the memory capacity can be easily expanded.

이를 보다 상세히 설명하면, 상기 CPU에서 측에서 바라보는 하위 어드레스라 함은 PCI 메모리 어드레스 영역을 가리키는 것으로서, 기본적으로 CPU 측에서 PCI 장치에서 사용되는 메모리 어드레스 영역이다. 이 영역은 메모리 맵 상에서 수 기가바이트 단위의 메모리 맵을 사용할 수 없으며, PCI 메모리 어드레스 영역은 시스템 메모리 맵 상에 한정되어 있으므로, 대용량의 메모리 어드레스 영역을 사용하기 위해 PCI 인터페이스를 통하여 내부의 수 기가바이트 메모리 데이터 영역에 실제 메모리 어드레스로 접근하여 데이터를 리드/라이트하는 방식을 가진다. 간단히 살펴보면, 먼저 PCI/메모리 컨트롤러(21)는 상기 레지스터부(7)에 설정된 어드레스에 따라 메모리 모듈로부터 상기 블록 사이즈의 데이터를 독출해서 상기 CPU모듈(30)의 로컬 메모리에 미러링함으로써 데이터 처리에 필요한 준비를 수행하게 된다. 이후, 데이터의 입력(write)은 상기 로컬메모리에 미러링된 데이터에 새로운 데이터를 입력함으로써 실시간 처리된다. 한편, 데이터의 출력(read)은 상기 로컬메모리에 미러링된 데이터를 SCSI인터페이스 컨트롤러(10)를 통해 외부로 출력함으로써 수행된다. 이와 같이, 블록 사이즈와 메인 메모리(CPU모듈의 로컬 메모리)에 할당되는 사이즈는 일치되도록 구성하고, 데이터를 블록단위로 메인 메모리에 미러링하며, 상기 메인 메모리에 미러링된 영역을 변경함으로써 데이터를 실시간 처리한다.In more detail, the lower address viewed by the CPU refers to a PCI memory address area, which is basically a memory address area used by the PCI device on the CPU side. Since this area cannot use a multi-gigabyte memory map on the memory map, and the PCI memory address area is limited on the system memory map, several gigabytes of internals are available through the PCI interface to use a large memory address area. The memory data area is accessed with a real memory address to read / write data. In brief, first, the PCI / memory controller 21 reads the block size data from the memory module according to the address set in the register unit 7 and mirrors the local memory of the CPU module 30 to process the data. You will be prepared. Thereafter, data write is processed in real time by inputting new data into the data mirrored in the local memory. On the other hand, the read of data is performed by outputting the data mirrored in the local memory to the outside through the SCSI interface controller 10. As such, the block size and the size allocated to the main memory (local memory of the CPU module) are configured to match, mirror the data to the main memory block by block, and change the area mirrored to the main memory to process the data in real time. do.

예를 들어, 32비트 어드레스 영역을 갖는 CPU 시스템에서 본 발명에 따른 방법을 적용할 경우에 CPU 측에서 바라보는 하위 어드레스를 19비트로 사용하기로 결정하여 CPU에서 바라보는 메모리 맵 영역을 1MB로 할당하여 놓고, I/O 리드/라이트 할 상위 어드레스를 11비트(2048 바이트)를 할당하고 , 선택 비트로서 2비트를 할당하여 PCI/메모리 컨트롤러를 설계하였을 경우에 이 컨트롤러의 사용 가능한 용량은 32기가바이트가 되며 이는 하기와 같이 계산할 수 있다.For example, when applying the method according to the present invention in a CPU system having a 32-bit address area, it is decided to use a lower address viewed from the CPU side as 19 bits, and allocates a memory map area viewed from the CPU to 1 MB. If you design a PCI / memory controller by assigning 11 bits (2048 bytes) to the upper address to read / write and assigning 2 bits as the select bits, the available capacity of this controller is 32GB. This can be calculated as follows.

- 하위 어드레스 영역 : 1Mbyte (19bit)-Lower address area: 1Mbyte (19bit)

- 상위 어드레스 영역 : 2048byte (11bit)-Upper address area: 2048byte (11bit)

- 하위, 상위의 영역 : 4byte(32bit)-Lower, upper range: 4 bytes (32 bits)

- 선택 비트 영역 : 2bit(4개 영역)-Selection bit area: 2bit (4 areas)

- 총용량 : ((1MByte * 2KByte) * 4byte) * 4 = 32Gbyte-Total capacity: ((1MByte * 2KByte) * 4byte) * 4 = 32Gbyte

이와 같은 방식으로 하위 어드레스 비트, 상위 어드레스 비트, 선택 비트를 32비트 어드레스 영역의 범위한도에서만 적용 시에도 128만 테라바이트까지도 사용가능하게 되며, 이는 64비트, 128비트, 512비트 어드레스 영역을 확장하여 적용할 경우에는 천문학적인 용량의 범위를 제어할 수 있게 된다. 따라서 시스템의 변화와 용량의 요구치가 기하 급수적으로 늘어난다고 하더라도 용량의 제약을 벗어날 수 있게 된다.In this way, even when the lower address bits, upper address bits, and selection bits are applied only within the 32-bit address range, up to 128 million terabytes can be used, which expands the 64-bit, 128-bit, and 512-bit address ranges. When applied, the range of astronomical doses can be controlled. Thus, even if the system changes and capacity requirements increase exponentially, capacity constraints can be overcome.

도 4는 본 발명의 일 실시예에 따른 시스템의 확장을 보여주고 있다. 도 4를 참조하면, 본 발명의 일 실시예에 따라 구현된 시스템은 PCI 버스를 통해 하드웨어적인 변화를 최소화하여 확장시킬 수 있게 되며, 용량 확장을 위해 필요시에 PCI 버스 상에 PCI 브리지(110,120)를 구비하여 PCI 버스를 확장한다. 또한 도 4를 참조하면, SCSI 인터페이스 컨트롤러(10)를 이용하여 PCI 버스를 통하여 외부 인터페이스와의 데이터 전송을 할 수 있도록 함으로써, 본 발명에서 적용한 ultra-160 SCSI 방식뿐만 아니라 IDE, ATA, IEEE1394 등과 같은 다양한 데이터 버스 전송 방식으로 변환을 할 경우에도 쉽게 변경 가능하도록 한다.4 shows an extension of a system according to an embodiment of the invention. Referring to FIG. 4, a system implemented according to an embodiment of the present invention can be expanded by minimizing hardware changes through a PCI bus, and a PCI bridge 110 and 120 on a PCI bus as necessary for capacity expansion. Expand the PCI bus. In addition, referring to Figure 4, by using the SCSI interface controller 10 to transmit data to the external interface via the PCI bus, as well as the ultra-160 SCSI scheme applied in the present invention, such as IDE, ATA, IEEE1394, etc. It can be easily changed even when converting to various data bus transfer methods.

상기와 같이 본 발명의 일 실시예에 따른 데이터 저장 시스템이 이루어질 수 있으며, 한편 상기한 본 발명의 설명에서는 구체적인 실시예에 관해 설명하였으나 여러 가지 변형이 본 발명의 범위를 벗어나지 않고 실시될 수 있다. 따라서 본 발명의 범위는 설명된 실시예에 의하여 정할 것이 아니고 청구범위와 청구범위의 균등한 것에 의하여 정하여져야 할 것이다.As described above, a data storage system according to an exemplary embodiment of the present invention may be implemented. Meanwhile, although the specific exemplary embodiments have been described in the above description of the present invention, various modifications may be made without departing from the scope of the present invention. Therefore, the scope of the present invention should not be defined by the described embodiments, but by the claims and equivalents of the claims.

상기한 바와 같이, 본 발명에 따른 데이터 저장 시스템은 고성능 및 안정성을 가지는 대용량의 메모리 저장 기능을 수행할 수 있다. 현재 고성능 SCSI 버스의 경우 최고 320Mbyte/s 전송 속도를 제공하고 있으나, 범용적인 하드디스크 드라이브는 최고 43Mbyte/s의 성능밖에 제공하지 못하고 있다. 이에 비해 본 발명에 따른 데이터 저장 장치는 내부 메모 억세스를 위하여 예를 들어, PCI 66MHz/64Bit 버스를 적용하여 최고 528MHz/s의 전송 속도를 제공함으로써, SCSI 버스의 최고 전송 속도를 충분히 만족시키며, 일반 하드디스크 드라이브와 비교하여 볼 때 최고 12배의 성능 향상을 가져온다.As described above, the data storage system according to the present invention can perform a large capacity memory storage function having high performance and stability. Current high-performance SCSI buses offer up to 320Mbyte / s transfer rates, while general-purpose hard disk drives offer up to 43Mbyte / s performance. In contrast, the data storage device according to the present invention satisfies the maximum transfer speed of the SCSI bus by providing a transfer speed of up to 528 MHz / s by applying a PCI 66 MHz / 64Bit bus, for example, for internal memo access. That's up to 12x better performance than hard disk drives.

Claims (6)

저장공간의 확장이 용이한 대용량 데이터 저장 시스템에 있어서,In the large data storage system that can easily expand the storage space, 미리 설정된 외부 버스와 미리 설정된 내부 버스 사이를 인터페이스하기 위한 인터페이스 제어부와,An interface controller for interfacing between a preset external bus and a preset internal bus, 대용량 저장을 위해 복수의 메모리 블록들로 구성되는 메모리 모듈과,A memory module composed of a plurality of memory blocks for mass storage, 상기 메모리 블록을 지정하기 위한 상위 어드레스 및 상기 메모리 블록내의 위치를 지정하기 위한 하위 어드레스를 설정하기 위한 레지스터를 포함하며, 상기 레지스터에 설정된 어드레스에 따라 상기 메모리 모듈로부터 상기 블록 사이즈의 데이터를 독출해서 제어 모듈에 구비된 로컬 메모리로 미러링(mirroring)하는 메모리 컨트롤러와,And a register for setting an upper address for designating the memory block and a lower address for designating a position in the memory block, and reading and controlling data of the block size from the memory module according to the address set in the register. A memory controller for mirroring to local memory provided in the module, 상기 로컬 메모리를 구비하고, 상기 인터페이스 제어부를 통해 입력되는 외부 데이터 포맷과 상기 내부 데이터 포맷을 상호 변환하는 기능을 담당하며, 상기 메모리 모듈에 새로운 데이터를 기록하기 위해서 상기 로컬 메모리에 미러링된 데이터에 새로운 데이터를 입력하고, 상기 메모리 모듈로부터 데이터를 독출하기 위해서 상기 로컬 메모리에 미러링된 해당 데이터를 상기 인터페이스 제어부를 통해 외부로 출력하는 상기 제어 모듈을 포함하는 것을 특징으로 하는 데이터 저장 시스템.And a function of converting the external data format and the internal data format inputted through the interface control unit with each other, and writing new data to the mirrored data in the local memory to write new data to the memory module. And a control module configured to input data and to output corresponding data mirrored to the local memory to the outside through the interface controller in order to read data from the memory module. 제1항에 있어서, 상기 외부 버스는 IDE, ATA, IEEE1394 또는 Ultra-160 SCSI 중 선택된 인터페이스 버스이며, 상기 내부 버스는 PCI 인터페이스 버스임을 특징으로 하는 데이터 저장 시스템.The data storage system of claim 1, wherein the external bus is a selected interface bus among IDE, ATA, IEEE1394, or Ultra-160 SCSI, and the internal bus is a PCI interface bus. 제1항에 있어서, 상기 메모리 모듈의 메모리 블록은 SDRAM, 램버스(Rambus) DRAM, DDR에서 선택된 하나로 구성될 수 있음을 특징으로 하는 데이터 저장 시스템.The data storage system of claim 1, wherein the memory block of the memory module is one selected from SDRAM, Rambus DRAM, and DDR. 제1항에 있어서, 상기 메모리 모듈의 메모리 블록들은 계층적으로 분산되어 구성되는 것을 특징으로 하는 데이터 저장 시스템.The data storage system of claim 1, wherein the memory blocks of the memory module are hierarchically distributed. 제4항에 있어서, 상기 메모리 컨트롤러는,The memory controller of claim 4, wherein the memory controller comprises: 상기 내부 버스의 명령, 제어 및 데이터 신호처리를 담당하며, 서브 메모리 제어부와의 브리지 역할을 담당하는 내부 메모리 제어부와,An internal memory controller responsible for command, control, and data signal processing of the internal bus, and a bridge with a sub memory controller; 상기 내부 메모리 제어부로부터의 명령에 따라 상기 메모리 모듈에 직접 리드/라이트 동작을 수행하며, 상기 리드/라이트 동작이 수행되는 해당 메모리 블록만 구동하고 나머지 메모리 블록들은 저전력으로 구동시키는 상기 서브 메모리 제어부를 포함하는 것을 특징으로 하는 데이터 저장 시스템.The sub memory controller performs a read / write operation directly on the memory module according to a command from the internal memory controller, and drives only a corresponding memory block in which the read / write operation is performed and drives the remaining memory blocks at low power. Data storage system, characterized in that. 삭제delete
KR10-2002-0029573A 2002-05-28 2002-05-28 Data storage system KR100467102B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0029573A KR100467102B1 (en) 2002-05-28 2002-05-28 Data storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0029573A KR100467102B1 (en) 2002-05-28 2002-05-28 Data storage system

Publications (2)

Publication Number Publication Date
KR20030091498A KR20030091498A (en) 2003-12-03
KR100467102B1 true KR100467102B1 (en) 2005-01-24

Family

ID=32384676

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0029573A KR100467102B1 (en) 2002-05-28 2002-05-28 Data storage system

Country Status (1)

Country Link
KR (1) KR100467102B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101128172B1 (en) * 2006-03-21 2012-03-23 엘지전자 주식회사 Storage controller for computer system
US8024508B2 (en) 2006-03-21 2011-09-20 Lg Electronics Inc. Computer storage control
KR101128255B1 (en) * 2006-03-21 2012-03-23 엘지전자 주식회사 Storage controller for computer system
KR101086417B1 (en) 2006-11-27 2011-11-25 삼성전자주식회사 Apparatus and method for partial access of dynamic random access memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960024859A (en) * 1994-12-16 1996-07-20 웨인 피이 베일리 Disk array storage system with high performance parity architecture
KR19990049719A (en) * 1997-12-15 1999-07-05 김영환 PCI master card
KR19990047968A (en) * 1997-12-06 1999-07-05 정선종 Structure of Array Controller with Dual I / O Bus for Raid System
KR20000016944A (en) * 1998-08-21 2000-03-25 포만 제프리 엘 Increasing i/o performance through storage of packetized operational information in local memory
JP2001060177A (en) * 1999-08-20 2001-03-06 Sony Corp Data streamer
JP2001069278A (en) * 1999-07-23 2001-03-16 Xerox Corp Data flow control/storage device for image reproducing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960024859A (en) * 1994-12-16 1996-07-20 웨인 피이 베일리 Disk array storage system with high performance parity architecture
KR19990047968A (en) * 1997-12-06 1999-07-05 정선종 Structure of Array Controller with Dual I / O Bus for Raid System
KR19990049719A (en) * 1997-12-15 1999-07-05 김영환 PCI master card
KR20000016944A (en) * 1998-08-21 2000-03-25 포만 제프리 엘 Increasing i/o performance through storage of packetized operational information in local memory
JP2001069278A (en) * 1999-07-23 2001-03-16 Xerox Corp Data flow control/storage device for image reproducing system
JP2001060177A (en) * 1999-08-20 2001-03-06 Sony Corp Data streamer

Also Published As

Publication number Publication date
KR20030091498A (en) 2003-12-03

Similar Documents

Publication Publication Date Title
US7945737B2 (en) Memory hub with internal cache and/or memory access prediction
US7644231B2 (en) Selective information caching on disk drive
CN101443726B (en) Comprise the adaptive memory system of the hard disk drive with flash interface
US7418526B2 (en) Memory hub and method for providing memory sequencing hints
CN1222876C (en) Raid controller system and method with ATA emulation host interface
US8024508B2 (en) Computer storage control
US20040010659A1 (en) External storage subsystem
US8244975B2 (en) Command queue ordering by flipping active write zones
US8850128B2 (en) Implementing data storage and dual port, dual-element storage device
JP2003140837A (en) Disk array control device
US6775744B2 (en) Disk memory device
KR102585883B1 (en) Operating method of memory system and memory system
JP2012507100A (en) Logical unit operation
KR100388338B1 (en) Method for controlling cache memories, computer system, hard disk drive unit, and hard disk control unit
EP0682314B1 (en) Redundant disk storage system
US6594724B1 (en) Enhanced DASD with smaller supplementary DASD
US7069409B2 (en) System for addressing a data storage unit used in a computer
KR100467102B1 (en) Data storage system
US6430660B1 (en) Unified memory hard disk drive system
US6934803B2 (en) Methods and structure for multi-drive mirroring in a resource constrained raid controller
US10861490B1 (en) Multi-controller data storage devices and methods
CN104424124A (en) Memory device, electronic equipment and method for controlling memory device
CN110349611B (en) Semiconductor memory module and memory system
KR100464788B1 (en) apparatus and method for high-speed storage
US20030051105A1 (en) Compact flash ATA card

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100111

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee