KR20160007417A - 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법 - Google Patents

외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법 Download PDF

Info

Publication number
KR20160007417A
KR20160007417A KR1020150097744A KR20150097744A KR20160007417A KR 20160007417 A KR20160007417 A KR 20160007417A KR 1020150097744 A KR1020150097744 A KR 1020150097744A KR 20150097744 A KR20150097744 A KR 20150097744A KR 20160007417 A KR20160007417 A KR 20160007417A
Authority
KR
South Korea
Prior art keywords
memory
storage device
speed storage
main
main memory
Prior art date
Application number
KR1020150097744A
Other languages
English (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 주식회사 태진인포텍
Publication of KR20160007417A publication Critical patent/KR20160007417A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

본 발명은 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법에 관한 것이다.
본 발명은 메인 메모리 및 저속 저장 장치를 포함하고, 메인 메모리와 저속 저장 장치 사이에 초고속 저장 장치를 연결하여, 메인 메모리 자원 할당이 고정되어 사용자에게 할당되지만, 초고속 저장 장치가 메인 메모리 자원으로 활용되어 사용자가 필요로 하는 경우 추가로 할당해 주고 필요로 하지 않으면 할당을 해제하는 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법을 제공한다.

Description

외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법{IN-MEMORY EXTENDING SYSTEM USING EXTERNAL HIGH SPEED STORAGE DEVICE AND METHOD THEREOF}
본 발명은 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법에 관한 것이다.
현재 시스템 외부의 인 메모리의 활용도가 그 속도와 사용의 편리성에 의해 많이 높아 지고 있다. 이에 따라 많은 인 메모리의 용량에 대한 요구도 높아지고 있으며, 이를 어떻게 활용하여 보다 효율적으로 사용하는가에 대한 연구 개발 또한 점차 활발해지고 있다. 이는 현재까지 인 메모리의 용량 확장이 자유롭지 않으며, 인 메모리의 데이터 입출력 속도를 따라올 수 있는 저장 매체가 없는 데에 기인하고 있다.
본 발명의 해결하고자 하는 과제는 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법을 제공하는 데 있다.
본 발명은 메인 메모리 및 저속 저장 장치를 포함하고, 메인 메모리와 저속 저장 장치 사이에 초고속 저장 장치가 연결되어, 메인 메모리의 자원 할당이 고정되어 사용자에게 할당되지만, 초고속 저장 장치가 메인 메모리의 자원으로 활용되어, 사용자가 필요로 하는 경우 추가로 자원을 할당해 주고, 필요로 하지 않으면 할당된 자원을 해제하는 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법을 제공한다.
본 발명의 일 실시예에 따른 초고속 저장 장치를 활용한 인 메모리 확장 시스템은 메인 메모리; 상기 메인 메모리에 비해 상대적으로 입출력 속도가 낮은 저속 저장 장치; 상기 메인 메모리와 상기 저속 저장 장치를 연결하는 메인 브리지 컨트롤러; 및 상기 메인 메모리 및 상기 메인 브리지 컨트롤러에 연결되고, 상기 저속 저장 장치에 비해 상대적으로 입출력 속도가 높은 초고속 저장 장치를 포함하며, 상기 메인 메모리와 상기 초고속 저장 장치가 하나의 가상 메인 메모리로 설정되고, 상기 가상 메인 메모리중 상기 초고속 저장 장치의 메모리 용량이 사용자별로 불균일하게 할당되며, 상기 초고속 저장 장치는 상기 메인 메모리가 설치된 보드의 외부에 설치된다.
상기 초고속 저장 장치는 적어도 하나의 메모리 블록을 포함하는 메모리 어레이; 상기 메모리 어레이에 연결되어 상기 메모리 어레이를 제어하는 메모리 제어기; 상기 메모리 제어기에 연결되어 에러 보정 코드를 제어하는 ECC(Error Correction Code) 제어기; 상기 메모리 제어기에 연결되어 직접 메모리 억세스를 제어하는 DMA(Direct Memory Access) 제어기; 및, 상기 메모리 제어기 및 상기 메인 브리지 컨트롤러에 연결되는 호스트 인터페이스부를 포함한다.
상기 초고속 저장 장치는 상기 메인 메모리 및 상기 메인 브리지 컨트롤러에 메모리 확장 브리지 컨트롤러를 통하여 연결된다. 상기 초고속 저장 장치와 상기 메모리 확장 브리지 컨트롤러의 사이에는 외부 접속 브리지 컨트롤러가 더 개재될 수 있다. 상기 메모리 확장 브리지 컨트롤러는 상기 메인 메모리 및 상기 메인 브리지 컨트롤러에 메모리 인터페이스를 통하여 연결된다. 상기 외부 접속 브리지 컨트롤러는 상기 초고속 저장 장치와 상기 메모리 확장 브리지 컨트롤러에 초고속 인터페이스 방식으로 연결될 수 있다.
상기 저속 저장 장치는 레이드(RAID; Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks) 컨트롤러를 통하여 상기 메인 브리지 컨트롤러에 연결된다.
상기 저속 저장 장치는 HDD(Hard Disk Drive) 및 플래시 SSD(Solid State Drive) 중에서 적어도 하나를 포함한다.
상기 메인 브리지 컨트롤러에는 상기 메인 브리지 컨트롤러를 제어하는 프로세싱 유닛이 더 연결된다.
상기 프로세싱 유닛의 제어에 의해 상기 메인 메모리와 상기 초고속 저장 장치가 하나의 가상 메인 메모리로 설정된다.
상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 요구에 따라 불균일하게 할당된다.
상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 실행된 프로그램의 크기에 따라 불균일하게 할당된다.
본 발명의 일 실시예에 따른 초고속 저장 장치를 활용한 인 메모리 확장 방법은 메인 메모리, 상기 메인 메모리에 비해 상대적으로 입출력 속도가 낮은 저속 저장 장치 및 상기 저속 저장 장치에 비해 상대적으로 입출력 속도가 높은 초고속 저장 장치를 구비하는 단계; 상기 메인 메모리와 상기 초고속 저장 장치를 하나의 가상 메인 메모리로 설정하는 단계; 및 상기 가상 메인 메모리중 상기 초고속 저장 장치의 메모리 용량을 사용자별로 불균일하게 할당하는 단계를 포함하고, 상기 초고속 저장 장치는 상기 메인 메모리가 설치된 보드의 외부에 설치된다.
상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 요구에 따라 불균일하게 할당된다.
상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 실행된 프로그램 크기에 따라 불균일하게 할당된다.
본 발명에 따르면, 메인 메모리와 저속 저장 장치 사이에 초고속 저장 장치가 연결되어, 사용자의 요구에 보다 능동적으로 대응할 수 있는 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법이 제공된다.
즉, 본 발명에 따르면, 메인 메모리의 자원 할당이 일반적인 VDI(Virtual Device Interface)와 마찬가지로 고정되어 사용자에게 할당되지만, 추가된 초고속 저장 장치가 메인 메모리의 자원으로 활용되어, 사용자가 필요로 하는 경우 추가로 메모리를 할당해 주고, 필요로 하지 않으면 할당된 메모리를 해제하여, 사용자마다 사용할 때 가장 큰 성능을 발휘할 수 있도록 하는 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법이 제공된다.
도 1은 본 발명에 따른 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법을 설명하기 위한 개략도이다.
도 2는 본 발명에 이용된 초고속 저장 장치의 일례를 도시한 개략도이다.
도 3은 일반적인 인 메모리 자원 할당 상태를 도시한 개략도이다.
도 4는 본 발명에 따른 인 메모리 자원 할당 상태를 도시한 개략도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.
또한, 이하의 도면은 편의 및 명확성을 위하여 과장된 것이며, 도면상에서 동일 부호는 동일한 요소를 지칭한다. 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하기 위하여 사용되며, 본 발명을 제한하기 위한 것이 아니다. 본 명세서에서 사용된 바와 같이, 단수 형태는 문맥상 다른 경우를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 경우 "포함한다(comprise)" 및/또는 "포함하는(comprising)"은 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 하나 이상의 다른 형상, 숫자, 동작, 부재, 요소 및 /또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.
본 명세서에서 사용된 "제1부재와 제2부재가 연결된다"라는 표현은 제1부재와 제2부재가 직접 연결되는 것을 의미할 뿐만 아니라, 제1부재와 제2부재의 사이에 제3부재가 개재된 채로 제1부재와 제2부재가 간접적으로 연결되는 것까지 의미한다.
또한, 본 명세서에서 사용되는 "메인 메모리"란 용어는 프로세싱 유닛에 연결된 "인 메모리"를 포함하는 개념이다. 나아가, 본 명세서에서 사용되는 "초고속 저장 장치"는 메모리 어레이, 메모리 제어기, ECC(Error Correction Code) 제어기, DMA(Direct Memory Access) 제어기 및 호스트 인터페이스부를 포함하는 개념이다. 또한, 본 명세서에서 "메모리 용량"을 경우에 따라 "자원(resource)"으로 기재하기도 한다. 따라서, 메인 메모리, 인 메모리, 초고속 저장 장치, 메모리 용량 및 자원 등은 본 명세서에서 정의하는 바에 따라 그 의미가 적절히 해석되어야 한다.
도 1은 본 발명에 따른 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법을 설명하기 위한 개략도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 인 메모리 확장 시스템(100)은 프로세싱 유닛(110), 메인 브리지 컨트롤러(120), 메인 메모리(130), 저속 저장 장치(140), 레이드(RAID; Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks) 컨트롤러(150), 초고속 저장 장치(160) 및 메모리 확장 브리지 컨트롤러(170)를 포함한다.
여기서, 프로세싱 유닛(110)과 메인 브리지 컨트롤러(120), 프로세싱 유닛(110)과 메인 메모리(130), 그리고 초고속 저장 장치(160)와 메모리 확장 브리지 컨트롤러(170)는 상호간 QPI(QuickPath Interconnect) 인터페이스 또는 고속 시리얼 인터페이스와 같은 초고속 인터페이스 방식으로 연결될 수 있고, 메인 브리지 컨트롤러(120)와 레이드(RAID) 컨트롤러(150)는 PCI(Peripheral Component Interconnect)-익스프레스 인터페이스 방식으로 연결될 수 있으며, 저속 저장 장치(140)와 레이드(RAID) 컨트롤러(150)는 SAS(Serial Attached Small Computer System Interface) 인터페이스 방식 또는 SATA(Serial Advanced Technology Attachment) 인터페이스 방식으로 연결될 수 있다. 그러나, 이러한 인터페이스 방식은 본 발명을 이해하기 위한 일 예이며, 이러한 인터페이스 방식으로 본 발명이 한정되지 않는다.
한편, 상술한 시스템(100)은 소위 VDI(Virtual Device Interface)로 정의될 수 있으나, 본 발명이 이로서 한정되는 것도 아니며, 이밖에 다양한 시스템이 가능하다. 예를 들면, 프로세싱 유닛(110) 및 저속 저장 장치(140)가 없는 시스템도 가능하다.
이하에서는 각 구성 요소, 각 구성 요소의 연결 관계 및 기능에 대하여 설명한다.
프로세싱 유닛(110)은 중앙 처리 장치(CPU : centrol processing unit)를 포함하는 개념이며, 저속 저장 장치(140)에 탑재된 운영체제 프로그램(operating system) 및/또는 응용 프로그램(applicatin program) 등을 처리하기 위한 제반 동작을 수행하는 역할을 한다. 예컨대, 프로세싱 유닛(110)은 저속 저장 장치(140)로부터 메인 메모리(130)에 로딩된 운영체제 프로그램 및/또는 응용 프로그램을 억세스하기 위하여 메인 브리지 컨트롤러(120)를 제어한다. 또한, 아래에서 다시 설명하겠지만, 프로세싱 유닛(110)은 메인 메모리(130)와 초고속 저장 장치(160)를 하나의 가상 메인 메모리(190, 도 4 참조)로 설정 및/또는 정의하는 역할도 한다.
메인 브리지 컨트롤러(120)는 프로세싱 유닛(110)에 메인 메모리(130), 저속 저장 장치(140) 및 초고속 저장 장치(160)를 전기적으로 연결하는 역할을 하며, 이들 상호간에 통신이 가능하도록 하는 역할을 한다. 즉, 프로세싱 유닛(110)이 메인 브리지 컨트롤러(120)를 제어함으로써, 이에 연결된 메인 메모리(130), 저속 저장 장치(140) 및 초고속 저장 장치(160)들 상호간 통신하도록 하며, 특히 메인 메모리(130) 및 초고속 저장 장치(160)가 하나의 가상 메인 메모리(190)로 설정 및/또는 정의되도록 한다.
메인 메모리(130)는 프로세싱 유닛(110)의 제어에 의해 저속 저장 장치(140)로부터 운영체제 프로그램 및/또는 응용 프로그램이 메인 메모리(130)에 로딩되도록 하는 역할을 한다. 이를 위해 메인 메모리(130)는 고속의 데이터 입출력이 가능한 다수의 휘발성 반도체 메모리(예를 들면, DDR, DDR2, DDR3, SDRAM 등)가 구비된 다수의 메모리 디스크를 포함할 수 있다. 이러한 메인 메모리(130)는 초고속 저장 장치(160)와 함께 가상 메인 메모리(190)를 형성 및 할당하고, 이와 같이 할당된 영역들의 정보를 상호 맵핑하여, 입력 동작 또는 출력 동작을 수행하도록 한다.
즉, 메인 메모리(130)는, 프로세싱 유닛(110)의 운영체제 프로그램 및/또는 응용 프로그램 처리에 따른 데이터를 입력 및 출력하기 위해, 메인 메모리(130)의 특정 메모리 영역을 할당하고, 초고속 저장 장치(160)의 특정 가상 메모리 영역을 상술한 특정 메모리 영역과 매칭시키며, 상기 매칭된 메인 메모리(130) 및 초고속 저장 장치(160)의 데이터들이 상호 맵핑되어 입력 및 출력되도록 한다.
저속 저장 장치(140)는 운영체제 프로그램 및/또는 응용 프로그램을 저장하고 있으며, 프로세싱 유닛(110)의 제어 의해 이를 메인 메모리(130)에 로딩하는 역할을 한다. 이러한 저속 저장 장치(140)는 HDD(Hard Disk Drive), 플래시 SSD(Solid State Drive) 및 그 등가물 중에서 적어도 하나를 포함하나, 본 발명에서 이를 한정하는 것은 아니다. 더불어, 저속 저장 장치(140)는 메인 메모리(130)에 비해 상대적으로 입출력 속도가 낮다는 의미이다.
레이드 컨트롤러(150)는 다수의 저속 저장 장치(140)(예를 들면, HDD 또는 플래시 SSD)를 하나의 가상 장치로 구성하여 대용량 저장 장치를 구현하도록 하는 역할을 한다. 또한, 레이드 컨트롤러(150)는 다수의 저속 저장 장치(140)에 데이터를 분할 저장하여, 전송 속도를 향상시키고, 가동 중 생길 수 있는 저속 저장 장치(140)의 에러를 시스템 정지 없이 교체하고 복구하도록 한다.
초고속 저장 장치(160)는 상술한 바와 같이 메인 메모리(130)에 연결되어 가상 메인 메모리(190)로 설정 및/또는 정의됨으로써, 인 메모리 용량을 확장하는 역할을 한다. 이를 위해 초고속 저장 장치(160)는 고속의 데이터 입출력이 가능한 다수의 휘발성 반도체 메모리(예를 들면, DDR, DDR2, DDR3, SDRAM 등)가 구비된 다수의 메모리 디스크를 포함한다. 더불어, 이러한 초고속 저장 장치(160)는 메모리 디스크들이 병렬로 배치되는 구성을 가질 수 있다. 여기서, 초고속 저장 장치(160)는 저속 저장 장치(140)에 비해 상대적으로 입출력 속도가 높다는 의미이다.
한편, 이러한 초고속 저장 장치(160)는 메인 메모리(130)가 설치된 보드(180)의 외부에 설치된다. 즉, 초고속 저장 장치(160)는 외장형이다. 다시 설명하면, 프로세싱 유닛(110), 메인 브리지 컨트롤러(120), 메인 메모리(130), 저속 저장 장치(140), 레이드(RAID) 컨트롤러(150), 메모리 확장 브리지 컨트롤러(170)가 설치된 보드(180)의 외측에 상술한 초고속 저장 장치(160)가 전기적으로 연결된다. 다르게 설명하면, 초고속 저장 장치(160)는 별도의 전원 공급 구조 및 노이즈 방지 구조를 갖는 외장형 케이블에 의해 시스템(100)에 연결된다.
더불어, 본 발명은 초고속 저장 장치(160)를 메모리 확장 브리지 컨트롤러(170)에 연결하기 위해, 초고속 저장 장치(160)와 메모리 확장 브리지 컨트롤러(170)의 사이에 외부 접속 브리지 컨트롤러(210)가 더 개재될 수 있다. 이러한 외부 접속 브리지 컨트롤러(210)는 초고속 저장 장치(160)와 메모리 확장 브리지 컨트롤러(170)에 QPI(QuickPath Interconnect) 인터페이스 또는 고속 시리얼 인터페이스와 같은 초고속 인터페이스 방식으로 연결될 수 있으나, 이러한 연결 방식으로 본 발명이 한정되지 않는다. 더불어, 외부 접속 브리지 컨트롤러(210) 역시 상술한 보드(180)에 설치될 수 있다.
메모리 확장 브리지 컨트롤러(170)는 초고속 저장 장치(160)를 메인 메모리(130) 및/또는 메인 브리지 컨트롤러(120)에 연결시키는 역할을 한다. 더불어, 메모리 확장 브리지 컨트롤러(170)는 메인 메모리(130) 및/또는 메인 브리지 컨트롤러(120)에 메모리 인터페이스를 통하여 연결된다.
실질적으로, 메모리 확장 브리지 컨트롤러(170)는 메인 메모리(130) 중 어느 하나가 제거된 비어 있는 슬롯에 마운트됨으로써, 메모리 확장 브리지 컨트롤러(170)가 메인 메모리(130)에 쉽게 전기적으로 연결될 수 있다. 더욱이, 초고속 저장 장치(160)의 메모리 종류와 메인 메모리(130)의 메모리 종류가 동일 및/또는 유사하고, 더욱이 초고속 저장 장치(160)는 메인 메모리(130)가 비어 있는 슬롯에 마운트됨으로써, 실질적으로 메인 메모리(130)와 초고속 저장 장치(160)의 사이에 속도 차이는 발생하지 않게 된다.
한편, 일반적으로, VDI는 프로세싱 유닛, 메인 메모리, 저속 저장 장치 등으로 이루어져 있으며, 이러한 VDI에서 가장 큰 문제점은 프로세싱 유닛, 메인 메모리, 저속 저장 장치 등의 자원이 초기에 고정적으로 설정되어 있으며, 이에 따라 사용자의 요구에 능동적으로 대처할 수 없다는 것이다.
특히, 메인 메모리의 경우 사용자가 VDI를 사용하는데 있어서 그 요구에 따라 자원 할당을 달리하여야 가장 최적의 성능을 볼 수 있으나 일반적인 VDI에서는 이를 수행할 수 없다.
이에 본 발명에서는 상술한 바와 같이 메인 메모리(130)와 저속 저장 장치(140)의 사이에 초고속 저장 장치(160)를 추가적으로 연결하여 사용자의 요구에 보다 능동적으로 처리할 수 있게 된다.
즉, 본 발명의 가장 큰 핵심은 메인 메모리(130)의 자원 할당이 일반적인 VDI와 마찬가지로 고정되어 사용자에게 할당되지만, 추가된 초고속 저장 장치(160)를 메인 메모리(130)의 자원으로 활용하여 사용자가 필요로 하는 경우 추가로 자원을 할당해 주고, 필요가 없어지면 자원 할당을 해제하여, 사용자마다 사용할 때 가장 큰 성능을 발휘할 수 있도록 해 준다는 것이다.
다르게 설명하면, 본 발명의 특징은 메모리 확장 브리지 컨트롤러(170)를 통하여 초고속 저장 장치(160)를 메인 메모리(130)가 설치된 보드(180)의 외부에 추가하여 기존의 메인 메모리(130)의 역할을 분담하여 처리할 수 있도록 함으로써, VDI의 구성에 있어서 자원 할당을 능동적으로 처리할 수 있도록 하였다는 것이다.
도 2는 본 발명에 이용된 초고속 저장 장치의 일례를 도시한 개략도이다.
도 2에 도시된 바와 같이, 본 발명에 이용된 초고속 저장 장치(160)는 메모리 어레이(162), 메모리 제어기(163), ECC(Error Correction Code) 제어기(164), DMA(Direct Memory Access) 제어기(165) 및 호스트 인터페이스부(166)를 포함한다.
메모리 어레이(162)는 적어도 하나의 메모리 블록(161)을 포함한다. 메모리 제어기(163)는 메모리 어레이(162)에 연결되어 메모리 어레이(162)를 제어한다. ECC 제어기(164)는 메모리 제어기(163)에 연결되어 에러 보정 코드를 제어한다. DMA 제어기(165)는 메모리 제어기(163)에 연결되어 직접 메모리 억세스를 제어한다. 호스트 인터페이스부(166)는 메모리 제어기(163)에 연결된 동시에, 메모리 확장 브리지 컨트롤러(170)를 통하여 메인 브리지 컨트롤러(120)에 연결됨으로써, 결국 초고속 저장 장치(160)가 메인 메모리(130)와 통신할 수 있도록 한다.
여기서, 메모리 제어기(163), ECC 제어기(164), DMA 제어기(165) 및 호스트 인터페이스부(166)는 직렬로 연결될 뿐만 아니라 상호간 병렬로 연결될 수도 있다. 또한, DMA 제어기(165)에는 추가적으로 백업 제어부(167)가 연결되고, 백업 제어부(167)에는 백업 저장부(168)가 연결될 수 있다.
백업 저장부(168)는 하드 디스크와 같이 저속 비휘발성 저장 장치로 구성되며, 초고속 저장 장치(160)의 데이터를 저장한다. 백업 제어부(167)는 백업 저장부(168)의 데이터 입력 및 출력을 제어해서 백업 저장부(168)의 내에 초고속 저장 장치(160)에 저장된 데이터를 백업한다.
한편, 본 발명에서 초고속 저장 장치(160)가 상술한 구성으로만 한정되는 것은 아니고, 이밖에 다른 구성의 장치도 가능하다.
본 발명은 이러한 초고속 저장 장치(160)를 이용하여 인 메모리를 확장하는 가상 메모리를 형성할 수 있다. 이는 단순한 용량의 확장뿐만 아니라, 고정적으로 용량이 정해져 있는 인 메모리의 자원에 비하여 사용자의 필요에 따라 고정적으로 할당되어 있는 인 메모리 자원에 초고속 저장 장치(160)를 이용한 가상 메모리 자원을 가변적으로 할당하여 사용할 수 있게 된다.
도 3은 일반적인 인 메모리 자원 할당 상태를 도시한 개략도이다.
도 3에 도시된 바와 같이, 일반적인 시스템에서 인 메모리(또는 메인 메모리)의 자원 할당 상태를 살펴보면, 시스템은 사용자, 응용프로그램, 프로세싱 유닛(CPU 포함), 메인 메모리 및 저속 저장 장치를 포함하고, 사용자별로 초기에 자원이 할당됨으로써, 사용자의 요구에 능동적으로 대처하기 어려움을 알 수 있다.
즉, 일반적인 시스템에서 인 메모리는 용량 증설에 한계가 있으며, 자원 할당량이 고정되어 있다. 또한, 일반적인 시스템에서 인 메모리의 활용도가 점차 높아지고 있으나(인 메모리 DB, VDI 등), 인 메모리 용량 증설은 프로세싱 유닛의 인터페이스의 한계와, 임피던스 미스 매칭에 따른 병렬화의 한계에 의하여 자유롭지 못하다. 더욱이, 인 메모리 자원의 할당 면에서 사용자의 요구와 관계없이 초기 설정된 자원 할당량이 고정되어 있으므로, 자원을 많이 필요로 하는 사용자는 성능 면에서 불만을 가지게 되며, 자원을 조금 필요로 하는 사용자는 자원을 불필요하게 낭비하게 된다.
도 4는 본 발명에 따른 인 메모리 자원 할당 상태를 도시한 개략도이다.
도 4에 도시된 바와 같이, 본 발명에서는 다수의 사용자가 존재하며, 사용자마다 응용프로그램, 프로세싱 유닛(110), 메인 메모리(130), 초고속 저장 장치(160) 및 저속 저장 장치(140)를 각각 할당받아 사용하게 된다. 물론, 메인 메모리(130)와 초고속 저장 장치(160)는 하나의 가상 메인 메모리(190)로 동작하며, 상술한 바와 같이 사용자마다 서로 다른 초고속 저장 장치(160)의 메모리 용량을 할당받게 된다.
다르게 설명하면, 본 발명에서는 초고속 저장 장치(160)를 활용하여 메인 메모리(130)와 결합된 가상 메인 메모리(190)를 구비하여, 초고속 저장 장치(160)의 자원 할당을 사용자별로 불균일하게 받게 됨으로써, 일반적인 시스템에서 가지고 있던 문제를 해결할 수 있게 된다. 즉, 메인 메모리(130)와 초고속 저장 장치(160)가 결합되어 하나의 가상 메인 메모리(190)로 구성되고, 사용자별 요구에 따라 초고속 저장 장치(160) 중 일정 메모리 용량을 할당받게 됨으로써, 사용자별 요구에 능동적으로 대처할 수 있게 된다.
물론, 이를 위해 프로세싱 유닛(110)은 별도의 프로그램인 솔루션 관리자를 이용할 수 있는데, 이는 사용자별 요구 또는 사용자별 실행되는 프로그램의 크기에 따라, 이에 따른 초고속 저장 장치(160)에서의 메모리 용량을 수동으로 또는 자동으로 불균일하게 할당하도록 한다.
다르게 설명하면, 본 발명에서는 가상 메인 메모리(190) 중 초고속 저장 장치(160)의 메모리 용량이 인 메모리 확장 시스템(100)을 사용하는 사용자별 요구에 의해 수동으로 불균일하게 변경 또는 할당되거나, 또는 프로세싱 유닛(110)에 의해 사용자별 실행된 프로그램 크기에 따라 자동으로 불균일하게 변경 또는 할당될 수 있다.
다시 설명하면, 일반적인 시스템에 초고속 저장 장치(160)를 장착하여 상술한 인 메모리 문제를 해결하게 된다. 여기서 사용하는 초고속 저장 장치(160)는 반도체 저장 장치로서 메모리 인터페이스를 통해 메인 메모리(130)에 연결되며, 이에 따라 저장 장치이면서 동시에 메인 메모리(130)와 같은 정도의 데이터 입력 및 출력 속도를 갖게 된다.
또한, 이와 같이 하여, 메모리 용량 증설이 자유롭고 사용자별 요구를 분석하여 자원 할당을 불균일하게 가변적으로 수행하므로 보다 나은 성능 및 자원 관리가 가능하게 된다.
한편, 이러한 본 발명에 따른 시스템(100)은 클라우드 컴퓨팅 장치의 한 구성 요소로서 동작될 수 있다. 즉, 다수의 사용자들이 가진 단말기를 통해서는 주로 입력 및 출력 작업만 이루어지고, 정보의 분석 및 처리, 저장, 관리, 유통 등의 작업이 클라우드라고 불리는 제3의 공간에서 이루어지며, 이러한 클라우드 컴퓨팅 장치에서 본 발명에 따른 외장형 초고속 저장 장치(160)를 활용한 인 메모리 확장 시스템(100)이 이용될 수 있다.
이하에서는, 본 발명에 따른 초고속 저장 장치를 활용한 인 메모리 확장 방법을 설명한다. 더불어, 도 1 및 도 4를 함께 참조한다.
우선, 메인 메모리(130), 메인 메모리(130)에 비해 상대적으로 입출력 속도가 낮은 저속 저장 장치(140)와, 저속 저장 장치(140)에 비해 상대적으로 입출력 속도가 높은 초고속 저장 장치(160)를 구비한다. 여기서, 메인 메모리(130), 저속 저장 장치(140) 및 초고속 저장 장치(160)는 메인 브리지 컨트롤러(120)에 연결되며, 이러한 메인 브리지 컨트롤러(120)는 프로세싱 유닛(110)에 의해 제어될 수 있다.
이어서, 메인 메모리(130)와 초고속 저장 장치(160)를 하나의 가상 메인 메모리(190)로 설정한다. 즉, 프로세싱 유닛(110)이 별도의 프로그램인 솔루션 관리자를 이용하여 메인 메모리(130)와 초고속 저장 장치(160)를 하나의 가상 메인 메모리(190)로 설정할 수 있다.
이어서, 상기 가상 메인 메모리(190)중 상기 초고속 저장 장치(160)의 용량을 사용자별로 변경 및/또는 할당한다. 즉, 프로세싱 유닛(110)이 솔루션 관리자를 이용하여 수동 또는 자동으로 가상 메인 메모리(190) 중 초고속 저장 장치(160)의 메모리 용량을 사용자별로 변경 및/또는 할당한다.
좀 더 구체적으로 설명하면, 프로세싱 유닛(110)은 사용자별 요구(예를 들면, 시스템 관리자에게 사용자가 전화, 이메일 또는 SMS 등으로 원하는 메모리 용량을 요청함)에 따라 수동으로 초고속 저장 장치(160)의 용량을 불균일하게 변경 및 또는 할당할 수 있다. 여기서, "수동으로"의 의미는 시스템 관리자가 수동으로 메모리 용량을 변경 및 할당한다는 의미이다.
또한, 프로세싱 유닛(110)은 사용자별 실행되는 프로그램의 크기에 따라, 자동으로 초고속 저장 장치(160)의 용량을 불균일하게 변경 및 할당할 수 있다. 여기서, "자동으로"의 의미는 시스템 관리자가 아닌 프로세싱 유닛(110)이 메모리 용량을 변경 및 할당한다는 의미이다.
이와 같이, 본 발명은 메인 메모리(130) 및 저속 저장 장치(140)를 포함하고, 메인 메모리(130)와 저속 저장 장치(140) 사이에 초고속 저장 장치(160)를 연결하여, 메인 메모리(130)의 자원 할당이 고정되어 사용자에게 할당되지만, 초고속 저장 장치(160)가 메인 메모리(130)의 자원으로 활용되어, 사용자가 메모리 용량이 추가로 필요로 하는 경우 메모리 용량을 추가로 할당해 주고, 메모리 용량의 추가 필요로 하지 않으면 할당된 메모리 용량을 해제하는 초고속 저장 장치를 활용한 인 메모리 확장 방법을 제공하게 된다.
이상에서 설명한 것은 본 발명에 따른 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
100; 본 발명에 따른 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템
110; 프로세싱 유닛 120; 메인 브리지 컨트롤러
130; 메인 메모리 140; 저속 저장 장치
150; 레이드 컨트롤러 160; 초고속 저장 장치
170; 메모리 확장 브리지 컨트롤러 180; 보드

Claims (15)

  1. 메인 메모리;
    상기 메인 메모리에 비해 상대적으로 입출력 속도가 낮은 저속 저장 장치;
    상기 메인 메모리와 상기 저속 저장 장치를 연결하는 메인 브리지 컨트롤러; 및
    상기 메인 메모리 및 상기 메인 브리지 컨트롤러에 연결되고, 상기 저속 저장 장치에 비해 상대적으로 입출력 속도가 높은 초고속 저장 장치를 포함하며,
    상기 메인 메모리와 상기 초고속 저장 장치가 하나의 가상 메인 메모리로 설정되고, 상기 가상 메인 메모리중 상기 초고속 저장 장치의 메모리 용량이 사용자별로 불균일하게 할당되며,
    상기 초고속 저장 장치는 상기 메인 메모리가 설치된 보드의 외부에 설치된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  2. 제 1 항에 있어서,
    상기 초고속 저장 장치는
    적어도 하나의 메모리 블록을 포함하는 메모리 어레이;
    상기 메모리 어레이에 연결되어 상기 메모리 어레이를 제어하는 메모리 제어기;
    상기 메모리 제어기에 연결되어 에러 보정 코드를 제어하는 ECC(Error Correction Code) 제어기;
    상기 메모리 제어기에 연결되어 직접 메모리 억세스를 제어하는 DMA(Direct Memory Access) 제어기; 및,
    상기 메모리 제어기 및 상기 메인 브리지 컨트롤러에 연결되는 호스트 인터페이스부를 포함함을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  3. 제 1 항에 있어서,
    상기 초고속 저장 장치는 상기 메인 메모리 및 상기 메인 브리지 컨트롤러에 메모리 확장 브리지 컨트롤러를 통하여 연결된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  4. 제 3 항에 있어서,
    상기 초고속 저장 장치와 상기 메모리 확장 브리지 컨트롤러의 사이에는 외부 접속 브리지 컨트롤러가 더 개재된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  5. 제 1 항에 있어서,
    상기 메모리 확장 브리지 컨트롤러는 상기 메인 메모리 및 상기 메인 브리지 컨트롤러에 메모리 인터페이스를 통하여 연결된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  6. 제 4 항에 있어서,
    상기 외부 접속 브리지 컨트롤러는 상기 초고속 저장 장치와 상기 메모리 확장 브리지 컨트롤러에 초고속 인터페이스 방식으로 연결된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  7. 제 1 항에 있어서,
    상기 저속 저장 장치는 레이드(RAID; Redundant Array of Independent Disks 혹은 Redundant Array of Inexpensive Disks) 컨트롤러를 통하여 상기 메인 브리지 컨트롤러에 연결된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  8. 제 1 항에 있어서,
    상기 저속 저장 장치는 HDD(Hard Disk Drive) 및 플래시 SSD(Solid State Drive) 중에서 적어도 하나를 포함함을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  9. 제 1 항에 있어서,
    상기 메인 브리지 컨트롤러에는 상기 메인 브리지 컨트롤러를 제어하는 프로세싱 유닛이 더 연결된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  10. 제 9 항에 있어서,
    상기 프로세싱 유닛의 제어에 의해 상기 메인 메모리와 상기 초고속 저장 장치가 하나의 가상 메인 메모리로 설정됨을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  11. 제 1 항에 있어서,
    상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 요구에 따라 불균일하게 할당됨을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  12. 제 1 항에 있어서,
    상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 실행된 프로그램의 크기에 따라 불균일하게 할당됨을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 시스템.
  13. 메인 메모리, 상기 메인 메모리에 비해 상대적으로 입출력 속도가 낮은 저속 저장 장치 및 상기 저속 저장 장치에 비해 상대적으로 입출력 속도가 높은 초고속 저장 장치를 구비하는 단계;
    상기 메인 메모리와 상기 초고속 저장 장치를 하나의 가상 메인 메모리로 설정하는 단계; 및
    상기 가상 메인 메모리중 상기 초고속 저장 장치의 메모리 용량을 사용자별로 불균일하게 할당하는 단계를 포함하고,
    상기 초고속 저장 장치는 상기 메인 메모리가 설치된 보드의 외부에 설치된 것을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 방법.
  14. 제 13 항에 있어서,
    상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 요구에 따라 불균일하게 할당됨을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 방법.
  15. 제 13 항에 있어서,
    상기 초고속 저장 장치의 메모리 용량은 상기 사용자별 실행된 프로그램 크기에 따라 불균일하게 할당됨을 특징으로 하는 초고속 저장 장치를 활용한 인 메모리 확장 방법.
KR1020150097744A 2014-07-11 2015-07-09 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법 KR20160007417A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140087298 2014-07-11
KR20140087298 2014-07-11

Publications (1)

Publication Number Publication Date
KR20160007417A true KR20160007417A (ko) 2016-01-20

Family

ID=55308053

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150097744A KR20160007417A (ko) 2014-07-11 2015-07-09 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20160007417A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210048215A (ko) * 2019-10-23 2021-05-03 김의섭 확장형 클라우드 스토리지 장치 및 확장형 클라우드 스토리지 장치를 이용하는 서비스 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210048215A (ko) * 2019-10-23 2021-05-03 김의섭 확장형 클라우드 스토리지 장치 및 확장형 클라우드 스토리지 장치를 이용하는 서비스 방법

Similar Documents

Publication Publication Date Title
US11029853B2 (en) Dynamic segment allocation for write requests by a storage system
KR102519904B1 (ko) 영구 메모리 할당 및 구성
US10042750B2 (en) Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor
US10467176B2 (en) Information processing apparatus
US9519615B2 (en) Multiprocessor system with independent direct access to bulk solid state memory resources
US10248346B2 (en) Modular architecture for extreme-scale distributed processing applications
US9329792B2 (en) Storage thin provisioning and space reclamation
Moon et al. Introducing ssds to the hadoop mapreduce framework
CN111095188A (zh) 使用基于云的模组的动态数据重定位
KR20150044655A (ko) 데이터 저장 장치
KR101579941B1 (ko) 가상머신 i/o 관리 방법 및 장치
US9830110B2 (en) System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller
JP5893028B2 (ja) キャッシングに対応したストレージ装置上における効率的なシーケンシャルロギングのためのシステム及び方法
Kim et al. FAST I/O: QoS supports for urgent I/Os in NVMe SSDs
US20230176966A1 (en) Methods and apparatus for persistent data structures
KR20150116627A (ko) 컨트롤러 및 그것을 포함하는 데이터 저장 장치
US20130346657A1 (en) File system on i/o daughter card
US10437495B1 (en) Storage system with binding of host non-volatile memory to one or more storage devices
US10671307B2 (en) Storage system and operating method thereof
KR20160007417A (ko) 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법
US10089201B2 (en) Storage device, storage system and non-transitory computer-readable storage medium for mirroring of data
KR20160007416A (ko) 내장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법
KR20160007415A (ko) 외장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법
KR20160007414A (ko) 내장형 초고속 저장 장치를 활용한 인 메모리 확장 시스템 및 그 방법
US20210157724A1 (en) Network fabric storage system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application