KR20190048456A - 컴퓨팅 디바이스 및 그것의 동작방법 - Google Patents
컴퓨팅 디바이스 및 그것의 동작방법 Download PDFInfo
- Publication number
- KR20190048456A KR20190048456A KR1020170143428A KR20170143428A KR20190048456A KR 20190048456 A KR20190048456 A KR 20190048456A KR 1020170143428 A KR1020170143428 A KR 1020170143428A KR 20170143428 A KR20170143428 A KR 20170143428A KR 20190048456 A KR20190048456 A KR 20190048456A
- Authority
- KR
- South Korea
- Prior art keywords
- memory device
- memory
- request
- blade
- management unit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- 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
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
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)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명의 실시 예에 따른 컴퓨팅 디바이스는 복수의 메모리 블레이드들; 및 상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부를 포함하고, 상기 복수의 메모리 블레이드들 각각은 여분 메모리 장치를 포함하는 복수의 메모리 장치들; 및 적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는 컨트롤러를 포함하고, 상기 컨트롤러는 상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터; 상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부; 다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및 상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터를 포함할 수 있다.
Description
본 발명은 컴퓨팅 디바이스에 관한 것으로, 보다 구체적으로는 효율적인 데이터 처리를 위한 시스템 및 그것의 동작방법에 관한 것이다.
데이터는 4차 산업혁명 시대 기업들의 비즈니스에 가장 중요한 자산이 되고 있으며, 이에 대규모 데이터를 빠르게 전송 및 분석하도록 지원하는 최신 기술에 대한 수요가 점차 증가하고 있다. 예를 들어, 인공지능, 자율주행, 로봇, 헬스케어, 가상현실(virtual reality, VR)/증강현실(augmented reality, AR), 스마트홈 등이 확대됨에 따라 서버나 데이터 센터에 대한 수요의 증가가 예상되고 있다.
레거시(legacy) 데이터 센터는 자원들(예; 컴퓨팅, 네트워킹, 스토리지)을 하나의 장비 내에 포함시키는 구조였다. 그러나 미래의 대용량 데이터 센터는 자원들을 각각 별개로 구성하고, 논리적으로 자원들을 재구성하는 구조를 가질 수 있다. 예를 들어, 대용량 데이터 센터는 자원들을 각각 랙(rack) 수준에서 모듈화하고, 용도에 따라 자원들을 재구성하여 공급할 수 있는 구조를 가질 수 있다. 따라서 미래의 대용량 데이터 센터에 사용하기 적합한 통합형 스토리지 또는 메모리 디바이스가 요구되고 있다.
시스템-온-칩(system-on-chip; SoC) 유닛은 전형적으로 단일 칩 상에 전자 시스템의 다중 컴포넌트들을 집적한다. 그것은 예를 들어, 디지털, 아날로그, 혼합 신호, 및 종종 무선주파수 기능들을 하나의 칩 상에 모두 포함할 수 있다. 메모리 블레이드는 이러한 SoC 유닛들과 다양한 메모리들의 조합으로 이루어 질 수 있으며, 필요한 모든 기능을 단일 SoC내에 포함시킬 경우 하나의 SoC로 구성 될 수도 있다. 빅데이터와 같은 거대한 용량을 가진 데이터의 저장 및 처리를 위해 메모리 블레이드간 서로 연결이 필요하다. 연결된 메모리 블레이드간에 데이터의 무결성(integrity)은 보장이 되어야 한다. 복수의 메모리 블레이드간에 정보의 공유가 진행되어 있는 상태에서 어느 하나의 메모리 블레이드에 시스템 오류 혹은 파워 다운(power down) 등 여러 이유로 정상동작이 어려울 경우 데이터의 무결성을 보장할 수 없는 경우를 방지할 수 있는 해결책이 필요하다.
본 발명은 복수의 메모리 장치들 각각을 효율적으로 관리하는 컴퓨팅 디바이스 및 그것의 동작 방법의 제공을 목적으로 한다.
본 발명의 실시 예들에 따른 컴퓨팅 디바이스에 있어서, 복수의 메모리 블레이드들; 및 상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부를 포함하고, 상기 복수의 메모리 블레이드들 각각은 여분 메모리 장치를 포함하는 복수의 메모리 장치들; 및 적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는 컨트롤러를 포함하고, 상기 컨트롤러는 상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터; 상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부; 다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및 상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터를 포함할 수 있다.
본 발명의 실시 예에 따르면, 오류가 발생된 메모리 장치에 대한 복구를 효과적으로 할 수 있으며, 메모리 장치의 전원을 각각 관리하여 데이터 무결성(data intergrity)을 유지할 수 있다.
도 1은 컴퓨팅 디바이스를 도시하는 도면이다.
도 2 및 도 3은 본 발명의 실시 예에 따른 컴퓨팅 디바이스의 구성을 도시하는 도면들이다.
도 4는 본 발명의 실시 예에 따른 컴퓨터 블레이드의 구성을 도시하는 도면이다.
도 5는 본 발명의 실시 예에 따른 메모리 블레이드의 구성을 도시하는 도면들이다.
도 6는 본 발명의 실시 예에 따른 메모리 블레이드의 구조를 개략적으로 도시한 도면이다.
도 7은 본 발명의 실시 예에 따른 메모리 블레이드를 포함하는 컴퓨팅 디바이스의 구조를 개략적으로 나타낸 도면이다.
도 8은 본 발명의 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 9은 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10a는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10b는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10c는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10d는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 11은 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 12은 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 13는 본 발명의 실시 예에 따른 메타정보의 구성요소를 개략적으로 나타낸 도면이다.
도 2 및 도 3은 본 발명의 실시 예에 따른 컴퓨팅 디바이스의 구성을 도시하는 도면들이다.
도 4는 본 발명의 실시 예에 따른 컴퓨터 블레이드의 구성을 도시하는 도면이다.
도 5는 본 발명의 실시 예에 따른 메모리 블레이드의 구성을 도시하는 도면들이다.
도 6는 본 발명의 실시 예에 따른 메모리 블레이드의 구조를 개략적으로 도시한 도면이다.
도 7은 본 발명의 실시 예에 따른 메모리 블레이드를 포함하는 컴퓨팅 디바이스의 구조를 개략적으로 나타낸 도면이다.
도 8은 본 발명의 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 9은 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10a는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10b는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10c는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 10d는 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 11은 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 12은 본 발명의 다른 실시 예에 따른 컴퓨팅 디바이스의 동작을 나타낸 흐름도이다.
도 13는 본 발명의 실시 예에 따른 메타정보의 구성요소를 개략적으로 나타낸 도면이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩뜨리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 1은 컴퓨팅 디바이스(10)을 도시하는 도면이다. 도 1을 참조하면, 컴퓨팅 디바이스(10)은 다수의 컴퓨팅 랙들(computing racks)과 관리 인터페이스(management interface, 30), 그리고 이들 사이의 통신이 가능하도록 하는 네트워크(network, 40)을 포함할 수 있다. 이러한 랙스케일 구조(rack-scale architecture)를 가지는 컴퓨팅 디바이스(10)은 대용량 데이터 처리를 위한 데이터 센터 등에 사용될 수 있다.
다수의 컴퓨팅 랙들 각각은 단독으로 하나의 컴퓨팅 디바이스(computing device)를 구현할 수 있다. 이를 대신하여, 다수의 컴퓨팅 랙들 각각은 다른 컴퓨팅 랙들과의 조합으로 하나의 컴퓨팅 디바이스를 구현할 수 있다. 이러한 컴퓨팅 랙들의 구체적인 구성 및 동작에 대한 설명은 후술될 것이다.
관리 인터페이스(30)은 사용자가 컴퓨팅 디바이스 10을 조정, 운영 또는 관리할 수 있도록 하는 인터액티브 인터페이스(interactive interface)를 제공할 수 있다. 관리 인터페이스(30)는 컴퓨터, 멀티프로세서 시스템, 서버, 랙마운트(rack-mount) 서버, 블레이드(blade) 서버, 랩탑(lap-top) 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 웨어러블 컴퓨팅 디바이스, 네트워크 기기, 웹 기기, 분산 컴퓨팅 시스템, 프로세서 기반 시스템, 및/또는 소비자 전자 기기를 포함하는, 임의 유형의 연산 디바이스로서 구현될 수 있다.
일부 실시 예들에서, 관리 인터페이스(30)은 컴퓨팅 랙들에 의해 수행될 수 있는 연산 기능들이나, 관리 인터페이스(30)에 의해 수행될 수 있는 사용자 인터페이스 기능들을 가지는 분산 시스템에 의해 구현될 수 있다. 다른 일부 실시 예들에서, 관리 인터페이스(30)는 네트워크(40)를 통하여 분산된 다중 컴퓨팅 디바이스들에 의해 구성되고 클라우드(cloud)로서 동작하는 가상 서버(virtual server)에 의해 구현될 수 있다. 관리 인터페이스(30)은 프로세서, 입력/출력 서브시스템, 메모리, 데이터 스토리지 디바이스 및 통신 회로를 포함할 수 있다.
네트워크(40)은 컴퓨팅 랙들과 관리 인터페이스(30) 사이 및/또는 컴퓨팅 랙들 사이에서의 데이터를 송수신할 수 있다. 네트워크(40)은 적절한 수의 다양한 유선 및/또는 유선 네트워크들에 의해 구현될 수 있다. 예를 들어, 네트워크(40)은 유선 또는 무선 LAN(local area network), WAN(wide area network) 셀룰라 네트워크, 및/또는 인터넷과 같이 공개적으로 억세스 가능한 글로벌 네트워크(publicly-accessible, global network)에 의해 구현되거나 이를 포함할 수 있다. 추가적으로, 네트워크(40)은 보조적인 컴퓨터들, 라우터(router)들 및 스위치들과 같은 적절한 수의 보조적인 네트워크 디바이스들을 포함할 수 있다.
도 2는 본 발명의 실시 예에 따른 랙 구조를 가지는 컴퓨팅 디바이스를 도시하는 도면이다.
도 2를 참조하면, 컴퓨팅 랙(20) 은 구성요소들의 구조, 형태 및 호칭 등에 제한되는 것은 아니지만, 다양한 형태의 구성요소들을 포함할 수 있다. 예를 들어, 컴퓨팅 랙(20) 은 다수의 드로워(drawer)들(21 내지 29)를 포함할 수 있다. 다수의 드로워들 (21 내지 29) 각각은 다수의 모듈(module)들을 포함할 수 있다. 다수의 모듈들 각각은 다수의 블레이드(blade)들을 포함할 수 있다.
다양한 실시 예들에 있어서, 컴퓨팅 랙(20)은 적절한 수의 연산 블레이드(compute blade), 메모리 블레이드(memory blade) 및/또는 상호접속 블레이드(interconnect blade)의 조합에 의해 구현될 수 있다. 여기서는 컴퓨팅 랙(20)이 다수의 블레이드들의 조합에 의해 구현되는 것으로 정의되고 있지만, 이를 대신하여, 드로워들, 모듈들, 트레이들, 보드들, 샷시들 또는 유닛들 등의 다양한 이름으로 구현되는 것으로 정의될 수 있음에 유의하여야 한다. 이러한 컴퓨팅 랙(20)의 구성요소들은 구현의 편의상 기능별로 분류 및 구별되는 구조를 가질 수 있다. 제한되는 것은 아니지만, 컴퓨팅 랙(20)은 상단부터 상호접속 블레이드, 연산 블레이드, 메모리 블레이드의 순서로 분류된 구조를 가질 수 있다. 이러한 컴퓨팅 랙(20) 및 이에 의해 구현되는 컴퓨팅 디바이스는 "랙스케일 시스템(rack-scale system)" 또는"분류 시스템(disaggregated system)"으로 명명될 수 있다.
다양한 실시 예들에 있어서, 컴퓨팅 디바이스는 하나의 컴퓨팅 랙(20)에 의해 구현될 수 있다. 이를 대신하여, 컴퓨팅 디바이스는 2개 이상의 컴퓨팅 랙들에 포함되는 모든 구성요소들에 의해 구현되거나, 2개 이상의 컴퓨팅 랙들에 포함되는 일부 구성요소들의 조합에 의해 구현되거나, 하나의 컴퓨팅 랙(20)에 포함되는 일부 구성요소들에 의해 구현될 수 있다.
다양한 실시 예들에 있어서, 컴퓨팅 디바이스는 컴퓨팅 랙(20)에 포함되는 적절한 수의 연산 블레이드, 메모리 블레이드 및 상호접속 블레이드(interconnect blade)의 조합에 의해 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(20A)는 2개의 연산 블레이드들, 3개의 메모리 블레이드들 및 1개의 상호접속 블레이드에 의해 구현될 수 있다. 다른 예로, 컴퓨팅 디바이스(20B)는 3개의 연산 블레이드들, 2개의 메모리 블레이드들 및 1개의 상호접속 블레이드에 의해 구현될 수 있다. 또 다른 예로, 컴퓨팅 디바이스(20C)는 1개의 연산 블레이드들, 4개의 메모리 블레이드들 및 1개의 상호접속 블레이드에 의해 구현될 수 있다.
비록 도 2에서는 컴퓨팅 랙(20)이 적절한 수의 연산 블레이드, 메모리 블레이드 및/또는 상호접속 블레이드의 조합에 의해 구현되는 경우를 도시하고 있지만, 컴퓨팅 랙(20)은 통상의 서버 등에서 확인될 수 있는, 파워 시스템, 냉각 시스템, 입력/출력 디바이스들과 같은 추가적인 구성요소들을 포함할 수 있다.
도 3은 본 발명의 실시 예에 따른 컴퓨팅 디바이스의 블록 구성을 도시하는 도면이다.
도 3을 참조하면, 컴퓨팅 디바이스는 다수의 연산 블레이드들(compute blades, 200), 다수의 메모리 블레이드들(memory blades, 400) 및 상호접속 블레이드(interconnect blade, 300)를 포함할 수 있다. 다수의 연산 블레이드들(200)은 풀드 연산 블레이드(pooled compute blades), 풀드 연산 시스템 등으로 불리울 수 있다. 유사하게, 다수의 메모리 블레이드들은 풀드 메모리 블레이드(pooled memory blade), 풀드 메모리 블레이드 등으로 불리울 수 있다. 여기서는 컴퓨팅 디바이스가 다수의 블레이드들의 조합에 의해 구현되는 것으로 정의되고 있지만, 이를 대신하여 드로워들, 모듈들, 트레이들, 보드들, 샷시들 또는 유닛들 등의 다양한 이름으로 구현되는 것으로 정의될 수 있음에 유의하여야 한다.
다수의 연산 블레이드들(200) 각각은 하나 또는 그 이상의 프로세서, 프로세싱/컨트롤 회로, 또는 중앙처리장치(central processing unit, CPU)와 같은 프로세싱 요소를 포함할 수 있다.
다수의 메모리 블레이드들(400) 각각은 다수의 휘발성 메모리(volatile memory)들 및/또는 비휘발성 메모리(nonvolatile memory)들과 같은 다양한 형태의 메모리들을 포함할 수 있다. 예를 들어, 다수의 메모리 블레이드들(400) 다수의 DRAM(Dynamic Random Access Memory)들, 플래시 메모리(flash memory)들, 메모리 카드들, 하드 디스크 드라이브(hard disk drive, HDD)들, 솔리드 스테이트 드라이브(solid state drive, SSD)들, 및/또는 이들의 조합들을 포함할 수 있다.
다수의 메모리 블레이드들(400) 각각은 연산 블레이드들(200) 각각에 포함되는 하나 이상의 프로세싱 요소에 의해 분할되거나, 할당되거나, 또는 지정되어 사용될 수 있다. 또한 다수의 메모리 블레이드들(400) 각각은 연산 블레이드들(200)에 의해 초기화 및/또는 수행될 수 있는 하나 이상의 오퍼레이팅 시스템(operating system, OS)들을 저장할 수 있다.
상호접속 블레이드(300)은 연산 블레이드들(200) 각각에 포함되는 하나 이상의 프로세싱 요소에 의해 분할, 할당 또는 지정되어 사용될 수 있는, 임의의 통신 회로, 디바이스, 또는 이들의 결합에 의해 구현될 수 있다. 예를 들어, 상호접속 블레이드(300)은 임의 개수의 네트워크 인터페이스 포트들, 카드들, 또는 스위치들로서 구현될 수 있다. 상호접속 블레이드(300)은 통신을 실행시키기 위한, 하나 이상의 유선 또는 유선 통신 기술들과 관련된 프로토콜들을 사용할 수 있다. 예를 들어, 상호접속 블레이드(300)은 PCIe(Peripheral Component Interconnect Express), QPI(QuickPath Interconnect), 이더넷(Ethernet) 등과 같은 프로토콜들에 따라 연산 블레이드들(200)과 메모리 블레이드들(400) 사이의 통신을 지원할 수 있다.
도 4는 본 발명의 실시 예에 따른 컴퓨터 블레이드(200)의 구성을 도시하는 도면이다.
도 4를 참조하면, 컴퓨터 블레이드(200)은 하나 이상의 중앙처리장치(central processing unit, CPU, 210), 하나 이상의 로컬 메모리(local memory, 220) 및 입출력(input/output, I/O) 인터페이스(interface, 230)를 포함할 수 있다.
CPU(210)은 도 3에 도시된 다수의 메모리 블레이드들(400) 중에서 사용하기 위한 적어도 하나의 메모리 블레이드를 분할, 할당 또는 지정할 수 있다. 또한 CPU(210)은 분할, 할당 또는 지정된 적어도 하나의 메모리 블레이드를 초기화하고, 이들을 통해 데이터의 리드 동작, 라이트(또는 프로그램) 동작 등을 수행할 수 있다.
로컬 메모리(220)은 CPU(210)의 동작 수행 중에 필요한 데이터를 저장할 수 있다. 다양한 실시 예들에 있어서, 하나의 로컬 메모리(220)은 하나의 CPU(210)에 일대일 대응하는 구조를 가질 수 있다.
I/O 인터페이스(230)은 도 3의 상호접속 블레이드(300)을 통한 CPU(210)과 메모리 블레이드들(400) 사이에서의 인터페이싱을 지원할 수 있다. I/O 인터페이스 (230)은 하나 이상의 유선 또는 유선 통신 기술들과 관련된 프로토콜들을 사용하여, CPU(210)으로부터 상호접속 블레이드(300)으로의 송신 데이터를 출력하고, 상호접속 블레이드(300)으로부터 CPU(210)으로의 수신 데이터를 입력할 수 있다. 예를 들어, I/O 인터페이스(230)는 PCIe(Peripheral Component Interconnect Express), QPI(QuickPath Interconnect), 이더넷(Ethernet) 등과 같은 프로토콜들에 따라 CPU (210)과 상호접속 블레이드(300) 사이의 통신을 지원할 수 있다.
도 5는 본 발명의 실시 예에 따른 메모리 블레이드(400)의 구성을 도시하는 도면들이다.
도 5를 참조하면, 메모리 블레이드(400)은 컨트롤러(410)와 다수의 메모리들 (420)을 포함할 수 있다. 다수의 메모리들(420)은 컨트롤러(410)의 제어에 따라 데이터를 저장(또는 라이트)하고, 저장된 데이터를 출력(또는 리드)할 수 있다. 다수의 메모리들(420)은 제1 그룹의 메모리들(420A), 제2 그룹의 메모리들(420B) 및 제3 그룹의 메모리들(420C)를 포함할 수 있다. 제1 그룹의 메모리들(420A), 제2 그룹의 메모리들(420B) 및 제3 그룹의 메모리들(420C)은 서로 동일한 특성을 가질 수도 있고, 서로 다른 특성을 가질 수 있다. 다양한 실시 예들에 있어서, 제1 그룹의 메모리들(420A), 제2 그룹의 메모리들(420B) 및 제3 그룹의 메모리들(420C)은 저장 용량(capacity) 또는 레이턴시(latency) 측면에서 서로 다른 특성을 가지는 메모리들일 수 있다.
컨트롤러(410)은 데이터 컨트롤러(data controller, 510), 메모리 컨트롤러들(memory controller, MC, 520A-520C), 및 I/O 인터페이스(530)을 포함할 수 있다.
데이터 컨트롤러(510)은 도 3의 연산 블레이드들(200)과 다수의 메모리들(420) 사이에서 송수신되는 데이터를 제어할 수 있다. 예를 들어, 라이트 요청 또는 커맨드에 응답하여, 데이터 컨트롤러(510)은 연산 블레이드들(200)로부터의 라이트를 위한 데이터를 수신하고, 이 데이터를 다수의 메모리들(420) 중에서 해당하는 메모리에 라이트하는 라이트 동작을 제어할 수 있다. 다른 예로, 리드 요청 또는 커맨드에 응답하여, 데이터 컨트롤러(510)은 연산 블레이드들(200)으로부터 다수의 메모리들(420) 중에서 특정 메모리에 저장된 데이터를 리드하고, 리드 데이터를 연산 블레이드들(200) 중에서 해당하는 연산 블레이드로 출력하는 리드 동작을 제어할 수 있다.
메모리 컨트롤러들(520A-520C)는 데이터 컨트롤러(510)과 다수의 메모리들 (420)의 사이에 위치하며, 이들 사이에서의 인터페이싱을 지원할 수 있다. 메모리 컨트롤러들(520)은 다수의 메모리들(420)에 포함되는 제1 그룹의 메모리들(420A), 제2 그룹의 메모리들(420B) 및 제3 그룹의 메모리들(420C)를 각각에 대응하는 메모리 컨트롤러(iMC0, 520A), 메모리 컨트롤러(iMC1, 520B), 메모리 컨트롤러(iMC2, 520C)를 포함할 수 있다. 메모리 컨트롤러(iMC0, 520A)는 데이터 컨트롤러(510)와 제 1 그룹의 메모리들(420A)의 사이에 위치하며, 이들 사이에서의 데이터 송수신을 지원할 수 있다. 메모리 컨트롤러(iMC1, 520B)는 데이터 컨트롤러(510)과 제2 그룹의 메모리들(420B)의 사이에 위치하며, 이들 사이에서의 데이터 송수신을 지원할 수 있다. 메모리 컨트롤러(iMC2, 520C)는 데이터 컨트롤러(510)과 제3 그룹의 메모리들(420C)의 사이에 위치하며, 이들 사이에서의 데이터 송수신을 지원할 수 있다. 예를 들면, 제 3 그룹의 메모리들(420C)가 플래시 메모리인 경우, 메모리 컨트롤러(iMC2, 520C)는 플래시 컨트롤러(flash controller)일 수 있다. 제 1 그룹 내지 제 3 그룹의 메모리들(420A 내지 420C)는 설명의 편의를 위한 예시일 뿐이며, 이에 제한되는 것은 아니다.
I/O 인터페이스(530)은 도 3의 상호접속 블레이드(300)을 통한 데이터 컨트롤러(510)과 연산 블레이드들(200) 사이에서의 인터페이싱을 지원할 수 있다. I/O 인터페이스(530)는 하나 이상의 유선 또는 유선 통신 기술들과 관련된 프로토콜들을 사용하여, 데이터 컨트롤러(510)으로부터 상호접속 블레이드(300)으로의 송신 데이터를 출력하고, 상호접속 블레이드(300)으로부터 데이터 컨트롤러(510)으로의 수신 데이터를 입력할 수 있다. 예를 들어, I/O 인터페이스(530)눈 PCIe(Peripheral Component Interconnect Express), QPI(QuickPath Interconnect), 이더넷(Ethernet) 등과 같은 프로토콜들에 따라 데이터 컨트롤러(510)과 상호접속 블레이드(300) 사이의 통신을 지원할 수 있다.
전술한 바와 같이, 미래의 데이터 센터와 같은 서버 시스템 또는 컴퓨팅 디바이스는 연산 블레이드들, 메모리 또는 스토리지 블레이드들 등과 같은 다수의 블레이드들이 단위 랙 내에서 구별되어 장착되는 구조를 가질 수 있다. 이때 하나의 메모리 블레이드에는 다양한 사용자 워크로드(user workload)를 충족시키기 위하여 서로 다른 특성을 가지는 다수의 메모리들이 포함될 수 있다. 즉, 하나의 메모리 블레이드는 DRAM, PCRAM, MRAM, STT-RAM, 플래시 메모리와 같은 다수의 메모리들이 통합된 형태를 가지는 통합 메모리 디바이스(convergence memory device)일 수 있다. 이러한 통합 메모리 디바이스는 각 메모리들이 서로 다른 특성을 가지기 때문에 다양한 사용 모델(usage model)에 활용될 수 있다.
이하에서는 복수의 메모리 블레이드(600a 내지 600n)을 포함하는 컴퓨팅 디바이스(700)이 설명된다.
시스템-온-칩(system-on-chip; SoC) 유닛은 전형적으로 단일 칩 상에 전자 시스템의 다중 컴포넌트들을 집적한다. 예를 들어, 디지털, 아날로그, 혼합 신호, 및 종종 무선주파수 기능들을 하나의 칩 상에 모두 포함할 수 있다. 메모리 블레이드(110)은 이러한 SoC 유닛들과 다양한 메모리들의 조합으로 이루어 질 수 있으며, 필요한 모든 기능을 단일 SoC내에 포함시킬 경우 하나의 SoC로 구성 될 수도 있다. 빅 데이터와 같은 거대한 데이터량의 저장 및 처리를 위해 복수의 메모리 블레이드(110)들은 서로 통신할 수 있다.
따라서, 시스템의 안정성을 위하여 연결된 메모리 블레이드들간에 효율적인 데이터 처리가 보장되어야 한다. 복수의 메모리 블레이드들간에 정보의 공유가 진행되어 있는 상태에서 어느 하나의 메모리 블레이드에 시스템 오류(system failure) 또는 갑작스런 전원 꺼짐(power down)등 여러 이유로 정상동작이 어려울 경우 데이터의 무결성(data intergrity)을 보장할 수 없는 경우를 방지 할 수 있는 해결책이 필요하다.
도 6는 본 발명 실시 예에 따른 메모리 블레이드(600)의 구조를 개략적으로 나타내는 도면이다.
도 1을 참조하면, 메모리 블레이드(600)는 메모리 블레이드(400)와 대응될 수 있다. 메모리 블레이드(600)는 컨트롤러(670) 및 다수의 DIMM(Dual In-line Memory Module)에 삽입된 복수의 메모리 장치들(691 내지 69n)을 포함할 수 있다. 컨트롤러(670)는 도 5에서 설명된 컨트롤러(410)와 대응될 수 있으며, 복수의 메모리 장치들(691 내지 69n) 각각은 메모리(420)와 대응될 수 있다.
메모리 블레이드(600)는 공유 메모리 장치(685)와 지역 메모리 장치(680)을 나누어 구비할 수 있다. 즉, 지역 메모리 장치(680)는 복수의 메모리 장치들(691 내지 69n)을 포함할 수 있다. 복수의 메모리 장치들(691 내지 69n) 각각의 수명은 동일하지 않다. 나아가, 복수의 메모리 장치들(691 내지 69n) 각각에 개별적으로 오류가 발생될 수 있다. 따라서, 복수의 메모리 장치들(691 내지 69n) 각각에 대하여 개별적으로 오류를 복구할 필요성이 있다. 예를 들면, 오류가 발생된 메모리 장치를 새로운 메모리 장치로 교체할 수 있다. 나아가, 본 발명의 실시 예에 따르면, 메모리 블레이드(600)는 하나 이상의 DIMM 슬롯에 여분 메모리 장치(695)를 구비할 수 있다. 도면에 도시되지는 아니하였으나, 여분 메모리 장치(695)는 하나 이상일 수 있다.
공유 메모리 장치(685)는 다른 메모리 블레이드가 자체 메모리 블레이드로 리드 혹은 라이트 요청한 데이터만을 저장할 수 있다. 예를 들면, 다른 메모리 블레이드가 자체 메모리 블레이드로 리드 요청한 경우, 요청에 대응하는 데이터의 메모리 위치가 자체 메모리 블레이드의 지역 메모리 장치에 저장되어 있다면, 컨트롤러(670)는 공유 메모리 장치(685)에 해당 데이터를 저장하도록 각각의 메모리 장치들을 제어할 수 있다. 나아가, 공유 메모리 장치(685)에 저장된 데이터는 큐로써 관리될 수 있으며, 상기 큐의 개수가 임계 값보다 큰 경우, 공유 메모리 장치(685)에서 다시 지역 메모리 장치로 이동할 수 있다. 또한, 공유 메모리 장치(685)는 입출력 채널을 복수 개 가질 수 있다. 따라서, 컨트롤러(670) 및 이하에서 설명되는 어드레스 라우터(640)와 동시에 통신할 수 있다. 공유 메모리 장치(685)은 도 12에서 더욱 자세히 설명된다.
컨트롤러(670)는 모니터(610), 전원관리부(620), 프로세서(630), 어드레스 라우터(640), 노드 컨트롤러(650)를 포함할 수 있다.
모니터(610)는 주기적으로 복수의 메모리 장치들(691 내지 69n) 각각의 결함유무를 판단할 수 있다. 예를 들면, 모니터(610)는 복수의 메모리 장치들(691 내지 69n) 각각의 오류 빈도를 확인하여, 임계 값보다 큰 오류 빈도값을 갖는 메모리 장치는 결함 메모리 장치로 판단할 수 있다. 예를 들면, 모니터(610)는 복수의 메모리 장치들(691 내지 69n) 각각의 온도를 확인하여, 임계 값보다 큰 온도값을 갖는 메모리 장치는 결함 메모리 장치로 판단할 수 있다. 만약, 결함 메모리 장치가 발생된다면, 모니터(610)는 상기 결함 메모리 장치의 위치정보를 저장할 수 있다. 또한, 모니터(610)는 주기적으로 복수의 메모리 장치들(691 내지 69n) 각각의 사용가능을 나타내는 플래그를 사용하며, 플래그 테이블을 저장할 수 있다. 나아가, 모니터(610)는 상기 플래그 테이블을 주기적으로 업데이트할 수 있다. 예를 들면, 플래그 테이블은 여분 메모리 장치(695)의 가용 유무에 대한 정보를 포함할 수 있다. 구체적으로, 모니터(610)는 여분 메모리 장치(695)의 사용 가능에 대한 플래그를 플래그 테이블에 기초하요 확인할 수 있으며, 여분 메모리 장치(695)와 통신하여 주기적으로 상기 플래그 테이블을 업데이트할 수 있다. 또한, 모니터(610)는 복수의 결함 메모리 장치들이 존재하는 경우에, 결함 메모리 장치에 대한 백업동작의 순서를 설정할 수 있다. 백업동작은 이하에서 구체적으로 설명된다. 예를 들면, 모니터(610) 오류 빈도 값이 임계 값보다 큰 값을 갖는 결함 메모리 장치를 최우선 백업 동작으로 순서를 설정할 수 있다. 또한, 전류값이 임계 값보다 큰 결함 메모리 장치 및 온도값이 임계 값보다 큰 결함 메모리 장치를 후 순위로 하여 큐(queue)를 생성할 수 있으며, 이러한 순서정보를 저장할 수 있다. 나아가, 후 순위 결함 메모리 장치에 대한 백업 동작은 선 순위 결함 메모리 장치에 대한 백업 동작이 완료될 때까지 진행되지 아니할 수 있다.
전원관리부(620)는 도 1를 참조하면, 전원관리부(620)은 PMU(140)과 대응될 수 있으며, 컨트롤러(670)에 포함된 구성 요소들의 파워를 제공 및 관리할 수 있다. 나아가, 복수의 메모리 장치들(691 내지 69n)의 파워를 각각 제공 및 관리할 수 있다. 예를 들면, 전원관리부(620)는 결함 메모리 장치의 슬롯(slot)의 파워를 오프(Off)시키고, 여분 메모리 장치의 슬롯(slot)의 파워를 온(On)시킬 수 있다. 나아가, 전원관리부(620)는 공유 메모리 장치와 지역 메모리 장치들의 전원을 구분하여 제공할 수 있다. 뿐만 아니라, 전원관리부(620)는 컨트롤러(670)에 포함된 구성요소 각각에 파워를 제공할 수 있다. 예를 들면, 전원관리부(620)는 어드레스 라우터(640), 노드 컨트롤러(650) 및 공유 메모리 장치(685)에만 파워를 제공할 수 있다. 즉, 전원관리부(620)로 인하여 어드레스 라우터(640), 노드 컨트롤러(650) 및 공유 메모리 장치(685)의 독립성이 강화될 수 있다.
프로세서(630)은 도 1에서 설명된 프로세서(134)와 대응될 수 있다. 프로세서(630)는 메모리 블레이드(600)의 전체적인 동작을 제어할 수 있다. 특히, 결함 메모리 장치에 저장된 데이터를 여분 메모리 장치(695)로 복사하는 백업 동작을 수행하도록 각 메모리 장치들을 제어할 수 있다.
어드레스 라우터(640)와 노드 컨트롤러(650)는 컨트롤러(670)에 포함될 수 있다. 다만, 도 6에는 표시되지 아니하였으나, 컨트롤러(670)와는 별도의 구성으로 메모리 블레이드(600) 내에 위치할 수 있다.
노드 컨트롤러(650)는 다른 메모리 블레이드에서 이슈된 요청을 수신할 수 있다. 구체적으로, 다른 메모리 블레이드에서 이슈된 요청은 도 7에서 설명되는 메모리 블레이드 관리부(750)를 통하여 자체 메모리 블레이드의 노드 컨트롤러(650)로 전달될 수 있다.
어드레스 라우터(640)는 상기 요청에 대한 데이터의 메타정보에 기초하여 메모리 장치의 위치를 결정할 수 있다. 어드레스 라우터(640)는 논리 주소를 물리 주소로 변환할 수 있다. 변환에 필요한 정보는 메타정보로서 어드레스 라우터(640)에 저장되거나 공유 메모리 장치(685)에 저장될 수 있다. 상기 메타정보에 대하여는 도 13에서 더 자세히 설명된다.
도면에 설명은 되지 아니하였으나, 복수의 DIMM 슬롯(slot) 각각은 LED 표시기(indicator)를 구비할 수 있다. LED 표시기는 해당 DIMM 슬롯에 삽입된 메모리 장치의 현재 상태 정보를 나타낼 수 있다. 예를 들면, 해당 메모리 장치가 정상 동작을 하고 있는 경우, LED 표시기는 녹색 불을 밝힐 수 있다. 또한, 해당 메모리 장치의 상태가 좋지 않은 경우, 예를 들면, 오류 발생률이 사전 설정된 임계 값에 가까워 지는 경우, LED 표시기는 노란 불을 밝힐 수 있다. 나아가, 해당 메모리 장치가 백업 동작을 대기하는 경우, LED 표시기는 빨간색 불을 밝힐 수 있다. 뿐만 아니라, 백업 동작에서 데이터를 송신하는 쪽, 예를 들면, 결함 메모리 장치에서 여분 메모리 장치(695)로 데이터를 송신하는 경우, 결함 메모리 장치가 삽입된 DIMM 슬롯에 구비된 LED 표시기는 빨간색 불을 점멸할 수 있다. 반면에, 백업 동작에서 데이터를 수신하는 쪽, 상기의 예에서 여분 메모리 장치가 삽입된 DIMM 슬롯에 구빈된 LED 표시기는 파란색 불을 점멸할 수 있다. 또한, 여분 메모리 장치(695) 결함 메모리 장치를 대신하여 동작할 경우, 여분 메모리 장치(695)가 삽입된 DIMM 슬롯의 LED 표시기는 파란색 불이 켜질 수 있다.
도 7는 본 발명의 실시 예에 따른 컴퓨팅 디바이스(700)의 구조를 개략적으로 나타낸 도면이다.
본 발명의 일 실시 예에 따른 컴퓨팅 디바이스(700)은 메모리 블레이드 관리부(750) 및 복수의 메모리 블레이드들(600a 내지 600n, n은 정수)을 포함할 수 있다. 메모리 블레이드 관리부(750)는 도 3 내지 4 에서 설명된 연산 블레이드(200)에 포함될 수 있다.
메모리 블레이드 관리부(750)는 앞서 설명된 상호연결 블레이드(300)를 통하여 복수의 메모리 블레이드들(600a 내지 600n) 각각과 통신할 수 있다. 특히 메모리 블레이드 관리부(750)는 복수의 메모리 블레이드들(600a 내지 600n) 각각을 제어할 수 있다. 구체적으로, 메모리 블레이드 관리부(750)는 복수의 메모리 블레이드들(600a 내지 600n) 각각에 포함된 컨트롤러들(670a 내지 670n) 각각을 제어할 수 있다. 나아가, 메모리 블레이드 관리부(750)는 복수의 메모리 블레이드들(600a 내지 600n)에 포함된 복수의 메모리 장치들 각각의 주소정보 및 복수의 메모리 블레이드들(600a 내지 600n) 각각의 플래그 테이블이 저장된 글로벌 맵(global map)을 저장하고 있다. 복수의 메모리 블레이드들(600a 내지 600n)은 메모리 블레이드 관리부(750)를 통하여 통신할 수 있으므로, 메모리 블레이드 관리부(750)는 복수의 메모리 블레이드들(600a 내지 600n) 각각과 주기적으로 통신하여 글로벌 맵을 업데이트할 수 있다.
또한, 도 6를 참조하면, 노드 컨트롤러(650)는 다른 메모리 블레이드에서 발생된 리드 혹은 라이트 요청(request)를 수신할 수 있으며, 메모리 블레이드 관리부(750)를 통하여 데이터 전송이 실행될 수 있다. 예를 들면 제 1 메모리 블레이드(600a)에 포함된 제 1 노드 컨트롤러와 제 2 메모리 블레이드(600b)에 포함된 노드 컨트롤러는 메모리 블레이드 관리부(750)를 통하여 데이터를 통신할 수 있다. 제 2 메모리 블레이드(600b)로부터 제 1 메모리 블레이드(600a)에 포함된 메모리 장치로 접근을 요청하는 경우, 먼저 제 2 메모리 블레이드(600b)에서 제 2 노드 컨트롤러를 통하여 메모리 블레이드 관리부(750)에게 상기 요청을 전달할 수 있다. 그 후, 메모리 블레이드 관리부(750)는 글로벌 맵에 기초하여 제 1 메모리 블레이드(600a)내의 제 1 노드 컨트롤러에 해당 요청을 전달할 수 있으며, 해당 요청에 대한 데이터의 주소정보는 제 1 메모리 블레이드(600a)에 포함된 제 1 어드레스 라우터로 전달이 될 수 있다. 제 1 어드레스 라우터는 해당 요청에 대한 데이터의 메타정보에 기초하여 메모리 장치의 위치를 결정할 수 있다. 요청에 대한 메모리 블레이드의 동작 과정은 도 12에서 자세히 설명된다.
도 8은 본 발명 일 실시 예에 따른 컴퓨팅 디바이스(700)의 동작을 개략적으로 나타낸 흐름도이다. 이하에서는 설명의 편의를 위하여, 해당 메모리 장치가 사용 가능한 상태이면 해당 플래그가 '1', 해당 메모리 장치가 사용 불가능한 상태이면 해당 플래그가'0'으로 표시된다고 가정한다.
단계 S801에서, 모니터(610)은 결함이 발생된 메모리 장치의 슬롯(slot) 위치를 판단할 수 있으며, 결함 메모리 장치의 위치정보를 저장할 수 있다. 또한, 도면에는 도시되지 아니하였으나, 모니터(610)는 여분 메모리 장치(695)의 사용 가부를 플래그 테이블을 통하여 확인할 수 있다. 나아가, 상기 결함 메모리 장치가 삽입된 DIMM 슬롯에 구비된 LED 표시기에는 빨간색 불이 켜질 수 있다.
단계 S803에서, 컨트롤러(670), 구체적으로 모니터(610)는 상기 결함 메모리가 발생된 슬롯(slot)의 위치를 메모리 블레이드 관리부(750)에게 전달할 수 있다. 또한, 컨트롤러(670)는 메모리 블레이드 관리부(750)에게 플래그 테이블을 전달할 수 있다. 메모리 블레이드 관리부(750)는 전달 받은 플래그 테이블에 기초하여 글로벌 맵을 업데이트할 수 있다. 만약, 여분 메모리 장치(695)에 대응하는 플래그가 '1'이라면, 메모리 블레이드 관리부(750)는 결함 메모리 장치로 이슈된 요청이 여분 메모리 장치로(585) 전달될 수 있도록 메모리 블레이드(600)을 제어할 수 있다.
단계 S805에서, 먼저, 메모리 블레이드 관리부(750)의 제어에 따라, 전원관리부(620)는 여분 메모리 장치(695)의 슬롯의 파워를 온(On)할 수 있다.
단계 S807에서, 여분 메모리 장치(695)의 슬롯의 파워가 온(On)되자마자, 프로세서(630)는 결함 메모리 장치에 저장된 데이터를 여분 메모리 장치(695)로 복사하는 백업 동작을 수행하도록 결함 메모리 장치 및 여분 메모리 장치(695)를 제어할 수 있다. 백업 동작 중에는, 결함 메모리 장치가 삽입된 DIMM 슬롯의 LED 표시기는 빨간색 불을 점멸할 수 있으며, 여분 메모리 장치가 삽입된 DIMM 슬롯의 LED 표시기는 파란색 불을 점멸할 수 있다. 상기 백업 동작이 완료된 후에, 전원관리부(620)는 결함 메모리 장치의 슬롯의 파워를 컷(cut)할 수 있다. 나아가, 모니터(610)는 여분 메모리 장치(695)에 대응하는 플래그가 '0'이 되도록 플래그 테이블을 업데이트할 수 있다. 나아가, 상기 여분 메모리 장치가 삽입된 DIMM 슬롯의 LED 표시기에는 파란색 불이 켜질 수 있다.
단계 S809에서, 컨트롤러(670)는 여분 메모리 장치(695)의 위치정보 및 업데이트된 플래그 테이블을 메모리 블레이드 관리부(750)에게 전달할 수 있으며, 메모리 블레이드 관리부는 이에 기초하여 글로벌 맵을 업데이트할 수 있다. 이로써, 메모리 블레이드 관리부(750)는 여분 메모리 장치(695)에 대하여 외부(예를 들면, 호스트)로부터 생성된 리드 요청 혹은 라이트 요청을 전달할 수 있다. 구체적으로, 프로세서(630)는 결함 메모리 장치를 대신하여 여분 메모리 장치(695)를 상기 요청을 수행하도록 여분 메모리 장치(695)를 제어할 수 있다. 또한, 메모리 블레이드 관리부(750)는 글로벌 맵에 기초하여 해당 메모리 블레이드의 여분 메모리 장치(695)를 사용할 수 없음을 확인할 수 있다.
이 후, 단계 S811에서, 결함 메모리 장치는 정상 메모리 장치로 복구될 수 있다. 예를 들면, 결함 메모리 장치는 제거되고, 정상 메모리 장치로 교체될 수 있다. 정상 메모리 장치로 복구될 경우, 전원관리부(620)는 자동적으로 정상 메모리 장치의 슬롯의 파워를 온(On)할 수 있다. 도면에 표시되진 아니하였으나, 모니터(610)는 정상 메모리 장치에 대응하는 플래그를 '1'로 나타내도록 플래그 테이블을 업데이트할 수 있다.
단계 S813에서, 컨트롤러(670)는 상기 정상 메모리 장치의 위치정보 및 플래그 테이블을 메모리 블레이드 관리부(750)에게 전달할 수 있으며, 메모리 블레이드 관리부는(650) 이에 기초하여 글로벌 맵을 업데이트할 수 있다. 그 후, 메모리 블레이드 관리부(750)는 여분 메모리 장치(695)를 대신하여 정상 메모리 장치로 외부로부터 생성된 리드 요청 혹은 라이트 요청을 전달하도록 해당 메모리 장치들을 제어할 수 있다. 다만, 상기 실시 예와는 다르게, 도면에는 표시되지 아니하였으나, 메모리 블레이드 관리부(750)는 상기 정상 메모리 장치를 새로운 여분 메모리 장치로 할당할 수 있다. 즉, 이전 여분 메모리 장치(695)가 결함 메모리 장치를 대신할 수 있다.
단계 S815에서, 메모리 블레이드 관리부(750)의 제어에 따라, 프로세서(630)는 여분 메모리 장치(695)에 저장된 데이터를 상기 정상 메모리 장치로 이동시키도록 여분 메모리 장치(695) 및 상기 정상 메모리 장치를 제어할 수 있다. 즉, 프로세서(630)는 여분 메모리 장치(695)에 저장된 데이터를 새로운 메모리 장치로 복사하는 백업 동작을 수행하도록 여분 메모리 장치(695) 및 상기 정상 메모리 장치를 제어할 수 있다. 백업 동작 중에는, 여분 메모리 장치(695)가 삽입된 DIMM 슬롯의 LED 표시기에는 빨간색 불이 점멸될 수 있으며, 상기 정상 메모리 장치가 삽입된 DIMM 슬롯의 LED 표시기에는 파란색 불이 점멸될 수 있다. 상기 백업 동작이 완료된 후에, 전원관리부(620)는 여분 메모리 장치의 슬롯의 파워를 컷(cut)할 수 있다. 나아가, 상기 정상 메모리 장치가 삽입된 DIMM 슬롯의 LED 표시기에는 녹색 불이 켜질 수 있다. 나아가, 모니터(610)는 여분 메모리 장치(510)에 대응하는 플래그를 '1'로 표시하고, 정상 메모리 장치에 대응하는 플래그를 '0'으로 표시하도록 플래그 테이블을 업데이트할 수 있다.
단계 S817에서, 컨트롤러(670)는 상기 정상 메모리 장치의 위치정보 및 플래그 테이블을 메모리 블레이드 관리부(750)에게 전달할 수 있으며, 메모리 블레이드 관리부(750)는 이에 기초하여 글로벌 맵을 업데이트할 수 있다. 이로써, 메모리 블레이드 관리부(750)는 상기 정상 메모리 장치에 대하여 외부(예를 들면, 호스트)로부터 생성된 리드 요청 혹은 라이트 요청을 전달할 수 있다.
단계 S801 내지 S817를 통하여, 컴퓨팅 디바이스(700)은 결함 메모리 장치에 저장된 데이터를 보호할 수 있으며, 항상 정상인 데이터를 유지할 수 있도록 시스템을 구성할 수 있다. 뿐만 아니라, 본 발명은 결함 메모리 장치가 발생하더라도 시스템에 부담을 주지 아니하며 매끄럽게 결함 메모리 장치를 정상 메모리 장치로 복구할 수 있다.
도 9은 본 발명의 실시 예에 따른 컴퓨팅 디바이스(700)의 동작을 개략적으로 나타낸 흐름도이다. 구체적으로, 제 1 메모리 블레이드(600a)의 제 1 여분 메모리 장치가 이미 사용되고 있는 경우 혹은 사용될 수 없는 경우, 제 2 메모리 블레이드(600b)의 제 2 여분 메모리 장치를 사용하는 방법을 나타낸 흐름도이다.
단계 S901에서, 모니터(610)는 결함이 발생된 메모리 장치의 슬롯(slot) 위치를 판단할 수 있으며, 결함 메모리 장치의 위치정보를 저장할 수 있다.
단계 S903에서, 모니터(610)는 저장된 플래그 테이블에 기초하여 제 1 메모리 블레이드(600a)의 제 1 여분 메모리 장치(695a)를 사용할 수 있는지 확인할 수 있다.
만약, 제 1 메모리 블레이드(600a)의 제 1 여분 메모리 장치(695a)가 사용될 수 있다면(단계 S903에서 'Yes') 즉, 제 1 여분 메모리 장치(695a)에 대응하는 플래그가 '1'이라면, 단계 S913에서 제 1 여분 메모리 장치(695a)를 대상으로 백업 동작이 수행될 수 있다.
반면에 제 1 여분 메모리 장치(695a)가 사용될 수 없다면(단계 S903에서 'No') 즉, 제 1 여분 메모리 장치(695a)에 대응하는 플래그가 '0'이라면, 단계 S905에서, 제 1 컨트롤러(670a)는 제 1 여분 메모리 장치(695a)에 대한 사용 정보 즉, 플래그 정보가 포함된 플래그 테이블을 메모리 블레이드 관리부(750)에게 전달할 수 있다. 나아가, 메모리 블레이드 관리부(750)는 사익 전달받은 플래그 테이블에 기초하여 글로벌 맵을 업데이트할 수 있다.
단계 S907에서, 메모리 블레이드 관리부(750)는 글로벌 맵에 기초하여 제 1 여분 메모리 장치(695a)를 대신하여 제 1 메모리 블레이드(600a)에 포함된 결함 메모리 장치의 데이터를 백업할 수 있는 여분 메모리 장치를 검색할 수 있다.
만약, 제 2 여분 메모리 장치(695b)가 사용 가능하다면(단계 S907에서, 'Yes') 즉 제 2 여분 메모리 장치(695b)에 대응하는 플래그가 '1'이라면, 단계 S913에서, 메모리 블레이드 관리부(750)는 제 1 여분 메모리 장치(695a)를 대신하여 제 2 여분 메모리 장치(695b)가 제 1 메모리 블레이드(600a)의 결함 메모리 장치의 데이터에 대하여 백업 동작을 수행하도록 제어할 수 있다. 구체적으로, 제 1 프로세서가 제 1 메모리 블레이드(600a)에서 발생된 결함 메모리 장치에 저장된 데이터를 복사하도록 결함 메모리 장치를 제어하고, 제 1 노드 컨트롤러는 메모리 블레이드 관리부(750)에게 전달할 수 있다. 나아가, 제 2 노드 컨트롤러가 상기 데이터를 메모리 블레이드 관리부(750)로부터 전달받고, 제 2 프로세서가 제 2 여분 메모리 장치(695b)에 상기 데이터를 라이트하도록 제 2 여분 메모리 장치(695b)를 제어할 수 있다.
반면에, 제 2 여분 메모리 장치(695b)가 사용 불가능하다면(단계 S907에서, 'No') 즉, 제 2 여분 메모리 장치에 대응하는 플래그가 '0'이라면, 단계 S909에서, 메모리 블레이드 관리부(750)는 다시 한번 제 1 여분 메모리 장치(695a)가 사용 가능한지를 판단하기 위하여 글로벌 맵을 확인할 수 있다. 즉, 자체 메모리 블레이드의 여분 메모리 장치에 대한 플래그를 재 검색할 수 있다.
만약 제 1 메모리 블레이드(600a)의 제 1 여분 메모리 장치(695a)가 사용 가능하면(단계 S909에서, 'Yes') 즉 제 1 여분 메모리 장치(695a)에 대응하는 플래그가 '1'이라면, 단계 S913에서, 프로세서(630)는 백업 동작을 수행하도록 제 1 여분 메모리 장치(695a)를 제어할 수 있다.
반면에, 제 1 여분 메모리 장치(695a)가 사용 불가능하다면(단계 S909에서 'No') 즉 제 1 여분 메모리 장치(695a)에 대응하는 플래그가 '0'이라면, 단계 S911에서, 메모리 블레이드 관리부(750)는 해당 백업 동작을 잠시 중단하도록 제 1 메모리 블레이드(600a)을 제어할 수 있다. 나아가, 컴퓨팅 디바이스(700)은 다시 사용할 수 있는 여분 메모리 장치가 검색될 때까지 단계 S905 내지 단계 S911를 반복하여 수행할 수 있다.
도 10는 본 발명의 실시 예에 다른 메모리 블레이드(600)의 동작을 개략적으로 나타낸 흐름도이다. 구체적으로, 도 10a 내지 도 10d는 복수의 메모리 장치들 각각의 상태를 점검하며, 결함 메모리 장치인지를 판단하는 컴퓨팅 디바이스(700)의 동작을 나타낸 흐름도이다.
도 10a는 제 1 파라미터에 기초하여 결함 메모리 장치를 판별하는 메모리 블레이드(600)의 동작을 나타낸 흐름도이다. 구체적으로, 상기 제 1 파라미터는 메모리 장치의 에러 발생률일 수 있다.
단계 S1001에서, 모니터(610)는 복수의 메모리 장치들(691 내지 69n) 각각의 상태, 즉 결함유무를 주기적으로 점검할 수 있다.
단계 S1003에서, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 오류 발생률이 사전 설정된 임계 값보다 큰 메모리 장치가 존재하는 경우, 모니터(610)는 해당 메모리 장치를 결함 메모리 장치로 판단할 수 있다.
만약, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 오류 발생률이 사전 설정된 임계 값보다 큰 메모리 장치가 존재하지 않는다면(단계 S1003에서, 'No'), 모니터(610)는 다시 단계 S1001 및 S1003를 반복할 수 있다.
반면에, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 오류 발생률이 사전 설정된 임계 값보다 큰 메모리 장치가 존재한다면(단계 S1003에서, 'Yes'), 모니터(610)는 결함 메모리 장치의 위치정보를 저장할 수 있다.
나아가, 단계 S1011에서, 모니터(610)는 상기 결함 메모리 장치의 위치정보를 메모리 블레이드 관리부(750)에 전달할 수 있다.
도 10b는 제 2 파라미터에 기초하여 결함 메모리 장치를 판별하는 메모리 블레이드(600)의 동작을 나타낸 흐름도이다. 상기 제 2 파라미터는 메모리 장치의 온도일 수 있다.
단계 S1001에서, 앞서 설명된 바와 같이, 모니터(610)는 복수의 메모리 장치들(691 내지 69n) 각각의 상태, 즉 결함유무를 주기적으로 점검할 수 있다.
단계 S1005에서, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 온도가 사전 설정된 임계 값보다 큰 메모리 장치가 존재하는 경우, 모니터(610)는 해당 메모리 장치를 결함 메모리 장치로 판단할 수 있다.
만약, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 온도가 사전 설정된 임계 값보다 큰 메모리 장치가 존재하지 않는다면(단계 S1005에서, 'No'), 모니터(610)는 다시 단계 S1001 및 S1005를 반복할 수 있다.
반면에, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 온도가 사전 설정된 임계 값보다 큰 메모리 장치가 존재한다면(단계 S1005에서, 'Yes'), 모니터(610)는 결함 메모리 장치의 위치정보를 저장할 수 있다.
나아가, 단계 S1011에서, 모니터(610)는 상기 결함 메모리 장치의 위치정보를 메모리 블레이드 관리부(750)에 전달할 수 있다.
도 10c는 제 3 파라미터에 기초하여 결함 메모리 장치를 판별하는 메모리 블레이드(600)의 동작을 나타낸 흐름도이다. 상기 제 3 파라미터는 메모리 장치에 흐르는 전류값일 수 있다.
단계 S1001에서, 앞서 설명된 바와 같이, 모니터(610)는 복수의 메모리 장치들(691 내지 69n) 각각의 상태, 즉 결함유무를 주기적으로 점검할 수 있다.
단계 S1007에서, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치에 흐르는 전류 값이 사전 설정된 임계 값보다 큰 메모리 장치가 존재하는 경우, 모니터(610)는 해당 메모리 장치를 결함 메모리 장치로 판단할 수 있다.
만약, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치에 흐르는 전류값이 사전 설정된 임계 값보다 큰 메모리 장치가 존재하지 않는다면(단계 S1007에서, 'No'), 모니터(610)는 다시 단계 S1001 및 단계 S1007를 반복할 수 있다.
반면에, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치에 흐르는 전류 값이 사전 설정된 임계 값보다 큰 메모리 장치가 존재한다면(단계 S1007에서, 'Yes'), 모니터(610)는 결함 메모리 장치의 위치정보를 저장할 수 있다.
나아가, 단계 S1011에서, 모니터(610)는 상기 결함 메모리 장치의 위치정보를 메모리 블레이드 관리부(750)에 전달할 수 있다.
도 10d는 제 4 파라미터에 기초하여 결함 메모리 장치를 판별하는 메모리 블레이드(600)의 동작을 나타낸 흐름도이다. 구체적으로, 상기 제 4 파라미터는 메모리 장치의 에러 발생률일 수 있다.
단계 S1001에서, 모니터(610)는 복수의 메모리 장치들(691 내지 69n) 각각의 상태, 즉 결함유무를 주기적으로 점검할 수 있다.
단계 S1009에서, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 뒤틀림(distortion) 값이 사전 설정된 임계 값보다 큰 메모리 장치가 존재하는 경우, 모니터(610)는 해당 메모리 장치를 결함 메모리 장치로 판단할 수 있다.
만약, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 뒤틀림 값이 사전 설정된 임계 값보다 큰 메모리 장치가 존재하지 않는다면(단계 S1009에서, 'No'), 모니터(610)는 다시 단계 S1001 및 S1009를 반복할 수 있다.
반면에, 복수의 메모리 장치들(691 내지 69n) 중 메모리 장치의 뒤틀림 값이 사전 설정된 임계 값보다 큰 메모리 장치가 존재한다면(단계 S1009에서, 'Yes'), 모니터(610)는 결함 메모리 장치의 위치정보를 저장할 수 있다.
나아가, 단계 S1011에서, 모니터(610)는 상기 결함 메모리 장치의 위치정보를 메모리 블레이드 관리부(750)에 전달할 수 있다.
도 11은 본 발명의 실시 예에 따른 메모리 블레이드(600)의 동작을 개략적으로 나타낸 도면이다. 구체적으로, 메모리 블레이드(600) 내에서 복수의 결함 메모리 장치들이 발생된 경우, 결함 메모리 장치들 각각에 대한 백업 동작의 순위를 설정하여 순차적으로 백업을 수행하는 메모리 블레이드(600)의 동작을 나타낸 흐름도이다.
단계 S1101에서, 모니터(610)는 결함 메모리 장치의 슬롯(slot) 위치를 판단할 수 있으며, 결함 메모리 장치의 위치정보를 저장할 수 있다.
단계 S1103에서, 모니터(610)는 결함 메모리 장치의 개수를 판단할 수 있다.
만약, 하나의 DIMM 슬롯(slot)에서 오류가 발생된 경우(단계 S1103에서, 'Yes'), 단계 S1113에서, 메모리 블레이드(600)는 백업 동작을 수행할 수 있다.
반면에, 복수의 DIMM 슬롯(slot)에서 오류가 발생된 경우(단계 S1103에서, 'No'), 단계 S1105에서, 모니터(610)는 도 10에서 설명된 제 1 파라미터 내지 제 4 파라미터에 기초하여 복수의 결함 메모리 장치들에 백업 동작의 순서를 설정할 수 있다. 나아가, 모니터(610)는 설정된 순서정보를 저장할 수 있다. 예를 들면, 모니터(610)는 오류 발생률이 임계 값보다 큰 결함 메모리 장치를 흐르는 전류 값이 임계 값보다 큰 결함 메모리 장치보다 백업 동작을 먼저 수행하도록 순서를 설정할 수 있다.
단계 S1107에서, 프로세서(630)는 상기 순서정보에 기초하여 최우선 순위를 갖는 결함 메모리 장치들에 대하여 백업 동작을 수행하도록 해당 결함 메모리 장치 및 여분 메모리 장치를 제어할 수 있다.
단계 S1109에서, 모니터(610)는 다시 차 순위 처리 대상인 결함 메모리 장치들에 대하여 큐(Queue)를 생성하여 저장할 수 있다. 예를 들면, 상기 큐는 오류 발생률이 임계 값보다 큰 결함 메모리 장치, 흐르는 전류 값이 임계 값보다 큰 결함 메모리 장치 및 온도값이 임계값보다 큰 결함 메모리 장치 순서로 생성될 수 있다. 나아가, 단계 S1111에서, 선 순위 처리 대상인 결함 메모리 장치에 대한 백업 동작이 완료될 때까지 메모리 블레이드 관리부(550)는 후 순위 결함 메모리 장치에 대하여 백업 동작을 수행하지 않도록 메모리 블레이드를 제어할 수 있다. 나아가, 선 순위 처리 대상인 결함 메모리 장치에 대한 백업 동작이 완료된 후에, 컴퓨팅 디바이스(700) 상기 단계 S1105 내지 S1111을 반복하여 수행할 수 있다.
도 12은 본 발명의 일 실시 예에 따른 컴퓨팅 디바이스(700)의 동작을 개략적으로 나타낸 흐름도이다. 구체적으로, 도 12은 복수의 메모리 블레이드(600a 내지 600n)들이 메모리 블레이드 관리부(750)를 통하여 서로 통신하는 방법을 나타낸다. 이하에서는 설명의 편의를 위하여 컴퓨팅 디바이스(700)의 동작은 제 1 메모리 블레이드(600a)와 제 2 메모리 블레이드(600b)를 기준으로 하여 설명된다. 또한, 제 2 메모리 블레이드(600b)의 제 2 컨트롤러(670b)에서 리드 혹은 라이트 요청이 발생된 것으로 가정한다.
단계 S1201에서, 제 2 컨트롤러(670b)에 포함된 제 2 노드 컨트롤러는 발생된 리드 혹은 라이트 요청을 메모리 블레이드 관리부(750)에 전달할 수 있다.
단계 S1203에서, 메모리 블레이드 관리부(750)는 제 2 노드 컨트롤러로부터 전달받은 리드 혹은 라이트 요청을 글로벌 맵에 기초하여 제 1 컨트롤러(670a)에 포함된 제 1 노드 컨트롤러에 리드 요청 혹은 라이트 요청을 전달할 수 있다.
단계 S1205에서, 제 1 노드 컨트롤러는 전달된 요청에 대한 주소 정보를 제 1 어드레스 라우터에 전달할 수 있다. 나아가, 제 1 어드레스 라우터는 상기 요청에 대한 데이터의 메타정보에 기초하여 상기 주소정보를 확인한 후, 메모리 장치의 위치를 결정할 수 있다. 즉, 어드레스 라우터(640)는 데이터 패스(data path)를 설정할 수 있다.
만약 상기 요청에 대한 메모리 장치의 위치가 지역 메모리 장치인 경우(단계S1205에서 'Yes'), 단계 S1207에서, 제 1 프로세서는 상기 지역 메모리 장치에 저장된 상기 요청에 대응하는 데이터를 제 1 공유 메모리 장치(685a)로 복사하도록 해당 메모리 장치를 제어할 수 있다. 나아가, 제 1 어드레스 라우터는 상기 데이터가 지역 메모리 장치에서 공유 메모리 장치(685a)로 복사되었음을 나타낼 수 있도록 메타정보를 수정할 수 있다.
그 후, 단계 S1209에서, 제 1 메모리 블레이드(600a)은 상기 요청에 대응하는 리드 혹은 라이트 동작을 수행할 수 있다.
예를 들면, 상기 요청이 리드 요청인 경우, 제 1 프로세서는 해당 데이터를 리드하도록 상기 지역 메모리 장치를 제어할 수 있으며, 리드된 데이터는 제 1 노드 컨트롤러 및 메모리 블레이드 관리부(750)를 통하여 제 2 메모리 블레이드(600b)으로 전달될 수 있다.
또한, 상기 요청이 라이트 요청인 경우, 제 1 프로세서는 단계 S1207에서 공유 메모리 장치(685a)로 복사된 데이터에 대하여 라이트 동작을 수행하도록 공유 메모리 장치(685a)를 제어할 수 있다. 동시에, 제 1 어드레스 라우터는 상기 라이트 동작으로 인하여 공유 메모리 장치(685a)에 저장된 데이터와 지역 메모리 장치에 저장된 데이터가 다르다는 표시를 하기 위하여 메타정보를 수정할 수 있다.
반면에, 상기 요청에 대한 메모리 장치의 위치가 공유 메모리 장치(685a)인 경우(단계 S1205에서 'No'), 단계 S1209에서, 제 1 메모리 블레이드(600a)은 공유 메모리 장치(685a)에 대하여 앞서 설명된 방법으로 상기 요청에 대응하는 리드 혹은 라이트 동작을 수행할 수 있다.
도면에는 설명되지 아니하였으나, 도 6에서 설명된 바와 같이, 공유 메모리 장치(685)에 저장된 데이터는 큐로써 관리될 수 있으며, 큐의 개수가 임계 값보다 큰 경우 공유 메모리 장치(685)에서 지역 메모리 장치로 이동할 수 있다. 예를 들면, 제 2 메모리 블레이드(600b)에서 발행된 요청으로 인하여 제 1 프로세서는 지역 메모리 장치에 저장된 데이터를 제 1 공유 메모리 장치(685a)로 복사할 수 있다. 나아가, 이러한 요청이 반복될 경우, 제 1 공유 메모리 장치(685a)에는 복사된 데이터가 누적될 수 있다. 따라서, 제 1 어드레스 라우터는 제 1 공유 메모리 장치에 저장된 데이터에 대하여 큐로써 관리하고, 상기 큐의 개수가 사전 설정된 임계 값보다 큰 경우, 제 1 어드레스 라우터는 제 1 프로세서에게 상기 큐에 대한 정보를 전단할 수 있다. 그래서 제 1 프로세서는 제 1 공유 메모리 장치(685a)에 저장된 데이터를 메타정보에 기초하여 지역 메모리 장치로 이동시키도록 해당 메모리 장치들을 제어할 수 있다.
도 13는 본 발명의 실시 예에 따른 메타정보(1700)의 구조를 개략적으로 나타낸 도면이다.
도2를 참조하면, 메타정보(1700)내 command index(1310), target address(1320), change of data(1330), target ID(1340), source ID(1750)등의 field 정보를 예시한다. Command index(1310)은 타 메모리 블레이드로부터 수신된 요청의 순서를 표시할 수 있고, target address(1320)은 수신된 요청에 해당하는 메모리 장치의 위치를 표시할 수 있다. 또한, change of data(1330)은 수신된 요청에 의하여 데이터의 변경이 가능함을 표시할 수 있고, target ID(1340)은 요청이 전달되는 메모리 블레이드를 표시할 수 있고, source ID(1750)은 요청을 전달한 메모리 블레이드를 표시할 수 있다.
예를 들면, 제 2 메모리 블레이드(600b)가 변경이 필요한 데이터를 리드하기 위하여 제 1 메모리 블레이드(600a)에게 데이터를 요청하면, 제 1 메모리 블레이드(600a)는 상기 요청에 대한 데이터의 메타정보(1700)를 생성하여 command index(1310)에 요청 순서에 대한 정보를 기입하고, change of data(1330)에 해당 데이터가 변경될 수 있음을 표시하며, source ID(1750)에 제 2 메모리 블레이드(600b)의 ID를 표시한다. 요청된 데이터는 공유 메모리 장치로 복사하고, 어드레스 라우터(640)또는 공유 메모리 장치(150)가 보관하고 있는 어드레스 테이블를 업데이트할 수 있다. 제 2 메모리 블레이드(600b)으로부터 수신된 요청이 데이터의 변경을 필요로 하지 않는 경우, 데이터를 공유 메모리 장치로 복사하지 않을 수 있다. 제 2 메모리 블레이드(600b)가 동일한 메모리 장치로 읽기 요청을 진행한 경우, 제 1 메모리 블레이드(600a)는 상기 요청에 대응하는 메모리 장치로 공유 메모리 장치를 선택할 수 있다.
본 발명의 실시 예들에 따르면, 복수의 메모리 블레이드들 각각에 포함된 공유 메모리장치의 파워 도메인(power domain)을 분리시켜, 컨트롤러와 공유 메모리 장치 외의 메모리 장치들에 오류가 발생하여도 노드 컨트롤러 및 어드레스 라우터와 공유 메모리 장치간 연결이 유지되어 전체 시스템의 오류를 방지 할 수 있다. 또한, 일부 메모리 블레이드의 오류로 인한 전체 시스템 오류를 방지할 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Claims (187)
- 복수의 메모리 블레이드들; 및
상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부
를 포함하고,
상기 복수의 메모리 블레이드들 각각은
여분 메모리 장치를 포함하는 복수의 메모리 장치들; 및
적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는 컨트롤러를 포함하고,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터;
상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부;
다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및
상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터
를 포함하는 컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 모니터는
상기 복수의 메모리 장치들 각각의 위치정보 및 사용 가부에 대한 플래그 테이블을 저장하며,
결함 메모리 장치의 유무를 판단하고, 상기 플래그 테이블에 기초하여 상기 여분 메모리 장치의 사용 가부를 판단하며, 주기적으로 상기 플래그 테이블을 업데이트하는
컴퓨팅 디바이스.
- 제 2 항에 있어서,
상기 복수의 메모리 장치들 중 결함 메모리 장치가 존재하는 경우,
상기 모니터는
상기 결함 메모리 장치의 위치 정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 결함 메모리 장치 대신 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 3 항에 있어서,
상기 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용할 수 없는 경우,
상기 메모리 블레이드 관리부는 상기 플래그 테이블에 기초하여 다른 메모리 블레이드에 포함된 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 4 항에 있어서,
상기 전원 관리부는
상기 여분 메모리 장치의 슬롯(slot)를 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 5 항에 있어서,
상기 결함 메모리 장치에 저장된 데이터를 상기 여분 메모리 장치로 복사하는 백업동작을 수행하도록 상기 결함 메모리 장치 및 상기 여분 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 6 항에 있어서,
상기 백업동작이 완료된 후,
상기 전원 관리부는
상기 결함 메모리 장치의 슬롯(slot)을 파워-오프(power-off)하는
컴퓨팅 디바이스.
- 제 7 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 메모리 블레이드 관리부에게 상기 플래그 테이블을 전달하는
컴퓨팅 디바이스.
- 제 8 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 전원관리부는
정상 메모리 장치의 슬롯(slot)을 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 9 항에 있어서,
상기 모니터는
상기 정상 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 정상 메모리 장치의 위치정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에 전달하고,
상기 메모리 블레이드 관리부는
상기 여분 메모리 장치 대신 상기 정상 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 10 항에 있어서,
상기 프로세서는
상기 여분 메모리 장치에 저장된 데이터를 상기 정상 메모리 장치로 복사하는 백업동작을 수행하도록 상기 여분 메모리 장치 및 상기 정상 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 11 항에 있어서,
상기 전원관리부는
상기 여분 메모리 장치의 슬롯(slot)을 파워-오프(power off)하는
컴퓨팅 디바이스.
- 제 12 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 정상 메모리 장치에 대하여 리드 혹은 라이트 요청을 전달하는
컴퓨팅 디바이스.
- 제 8 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 모니터는
상기 정상 메모리 장치가 새로운 여분 메모리 장치로 사용된다는 정보를 상기 메모리 블레이드 관리부에 전달하는
컴퓨팅 디바이스.
- 제 2 항에 있어서,
상기 모니터는
제 1 파라미터 값 내지 제 4 파라미터 값이 대응하는 임계 값보다 큰 값을 갖는 메모리 장치를 상기 결함 메모리 장치로 판단하고,
상기 제 1 파라미터 값은 에러 발생률 값이고, 상기 제 2 파라미터 값은 온도값, 제 3 파라미터 값은 해당 메모리 장치에 흐르는 전류값 및 상기 제 4 파라미터는 해당 메모리 장치의 뒤틀림(distortion) 값인
컴퓨팅 디바이스.
- 제 15 항에 있어서,
복수의 결함 메모리 장치들이 존재하는 경우,
상기 모니터는
상기 제 1 파라미터 값 내지 제 4 파라미터 값에 기초하여 백업 동작을 위한 상기 복수의 결함 메모리 장치들의 처리 순서를 정하는
컴퓨팅 디바이스.
- 제 16 항에 있어서,
상기 프로세서는
상기 처리 순서에 기초하여 순차적으로 상기 백업 동작을 수행하도록 해당 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 제 1 항에 있어서,
상기 복수의 메모리 장치는
공유 메모리 장치 및 지역 메모리 장치를 포함할 수 있으며,
상기 공유 메모리 장치는
타 메모리 블레이드로부터 리드 혹은 라이트 요청된 데이터만이 저장되며,
컴퓨팅 디바이스.
- 제 18 항에 있어서,
상기 메모리 블레이드 관리부는
상기 복수의 메모리 블레이드들 각각에서 발생된 요청들을 상기 글로벌 맵에 기초하여 해당 메모리 블레이드로 전달하는
컴퓨팅 디바이스.
- 제 19 항에 있어서,
상기 메타정보는
상기 요청의 순서정보, 상기 요청의 대상이 되는 메모리 장치 주소정보, 상기 요청에 의하여 대응하는 데이터의 변경에 대한 정보, 상기 요청을 전달받은 메모리 블레이드 정보 및 상기 요청을 전달한 메모리 블레이드 정보를 포함하는
컴퓨팅 디바이스.
- 제 20 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 공유 메모리 장치인 경우,
상기 프로세서는
상기 요청에 대응하는 데이터에 대하여 리드 혹은 라이트 동작을 수행하도록 상기 공유 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 20 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 라이트 요청인 경우,
상기 프로세서는
상기 라이트 요청에 대응하는 데이터를 상기 공유 메모리 장치로 복사하고, 상기 공유 메모리 장치에 복사된 상기 데이터에 대하여 라이트 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 22 항에 있어서,
상기 어드레스 라우터는
상기 라이트 요청에 대한 데이터의 메타정보를 변경하는
컴퓨팅 디바이스.
- 제 23 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 20 항에 있어서,
상기 요청에 대응하는 상기 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 리드 요청인 경우,
상기 프로세서는
상기 리드 요청에 대응하는 데이터를 상기 공유 메모리 장치에 복사하고, 상기 데이터에 대하여 리드 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 25항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 여분 메모리 장치를 포함하는 복수의 메모리 장치들; 및
컨트롤러를 구비하는 메모리 블레이드를 포함하고,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터; 및
상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부;
다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및
상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터
를 포함하는 컴퓨팅 디바이스.
- 제 27 항에 있어서,
상기 메모리 블레이드는 복수이고,
상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부
를 더 포함하는 컴퓨팅 디바이스.
- 제 28 항에 있어서,
상기 컨트롤러는 적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 제 29 항에 있어서,
상기 모니터는
상기 복수의 메모리 장치들 각각의 위치정보 및 사용 가부에 대한 플래그 테이블을 저장하며,
결함 메모리 장치의 유무를 판단하고, 상기 플래그 테이블에 기초하여 상기 여분 메모리 장치의 사용 가부를 판단하며, 주기적으로 상기 플래그 테이블을 업데이트하는
컴퓨팅 디바이스.
- 제 30 항에 있어서,
상기 복수의 메모리 장치들 중 결함 메모리 장치가 존재하는 경우,
상기 모니터는
상기 결함 메모리 장치의 위치 정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 결함 메모리 장치 대신 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 31 항에 있어서,
상기 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용할 수 없는 경우,
상기 메모리 블레이드 관리부는 상기 플래그 테이블에 기초하여 다른 메모리 블레이드에 포함된 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 32 항에 있어서,
상기 전원 관리부는
상기 여분 메모리 장치의 슬롯(slot)를 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 33 항에 있어서,
상기 결함 메모리 장치에 저장된 데이터를 상기 여분 메모리 장치로 복사하는 백업동작을 수행하도록 상기 결함 메모리 장치 및 상기 여분 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 34 항에 있어서,
상기 백업동작이 완료된 후,
상기 전원 관리부는
상기 결함 메모리 장치의 슬롯(slot)을 파워-오프(power-off)하는
컴퓨팅 디바이스.
- 제 35 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 메모리 블레이드 관리부에게 상기 플래그 테이블을 전달하는
컴퓨팅 디바이스.
- 제 36 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 전원관리부는
정상 메모리 장치의 슬롯(slot)을 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 37 항에 있어서,
상기 모니터는
상기 정상 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 정상 메모리 장치의 위치정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에 전달하고,
상기 메모리 블레이드 관리부는
상기 여분 메모리 장치 대신 상기 정상 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 38 항에 있어서,
상기 프로세서는
상기 여분 메모리 장치에 저장된 데이터를 상기 정상 메모리 장치로 복사하는 백업동작을 수행하도록 상기 여분 메모리 장치 및 상기 정상 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 39 항에 있어서,
상기 전원관리부는
상기 여분 메모리 장치의 슬롯(slot)을 파워-오프(power off)하는
컴퓨팅 디바이스.
- 제 40 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 정상 메모리 장치에 대하여 리드 혹은 라이트 요청을 전달하는
컴퓨팅 디바이스.
- 제 36 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 모니터는
상기 정상 메모리 장치가 새로운 여분 메모리 장치로 사용된다는 정보를 상기 메모리 블레이드 관리부에 전달하는
컴퓨팅 디바이스.
- 제 30 항에 있어서,
상기 모니터는
제 1 파라미터 값 내지 제 4 파라미터 값이 대응하는 임계 값보다 큰 값을 갖는 메모리 장치를 상기 결함 메모리 장치로 판단하고,
상기 제 1 파라미터 값은 에러 발생률 값이고, 상기 제 2 파라미터 값은 온도값, 제 3 파라미터 값은 해당 메모리 장치에 흐르는 전류값 및 상기 제 4 파라미터는 해당 메모리 장치의 뒤틀림(distortion) 값인
컴퓨팅 디바이스.
- 제 33 항에 있어서,
복수의 결함 메모리 장치들이 존재하는 경우,
상기 모니터는
상기 제 1 파라미터 값 내지 제 4 파라미터 값에 기초하여 백업 동작을 위한 상기 복수의 결함 메모리 장치들의 처리 순서를 정하는
컴퓨팅 디바이스.
- 제 44 항에 있어서,
상기 프로세서는
상기 처리 순서에 기초하여 순차적으로 상기 백업 동작을 수행하도록 해당 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 제 29 항에 있어서,
상기 복수의 메모리 장치들은
공유 메모리 장치 및 다수의 지역 메모리 장치들을 포함하며,
상기 공유 메모리 장치에는
타 메모리 블레이드로부터 리드 혹은 라이트 요청된 데이터만이 저장되는
컴퓨팅 디바이스.
- 제 46 항에 있어서,
상기 메모리 블레이드 관리부는
상기 복수의 메모리 블레이드들 각각에서 발생된 요청들을 상기 글로벌 맵에 기초하여 해당 메모리 블레이드로 전달하는
컴퓨팅 디바이스.
- 제 47 항에 있어서,
상기 메타정보는
상기 요청의 순서정보, 상기 요청의 대상이 되는 메모리 장치 주소정보, 상기 요청에 의하여 대응하는 데이터의 변경에 대한 정보, 상기 요청을 전달받은 메모리 블레이드 정보 및 상기 요청을 전달한 메모리 블레이드 정보를 포함하는
컴퓨팅 디바이스.
- 제 48 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 공유 메모리 장치인 경우,
상기 요청에 대응하는 데이터에 대하여 리드 혹은 라이트 동작을 수행하도록 상기 공유 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 48 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 라이트 요청인 경우,
상기 라이트 요청에 대응하는 데이터를 상기 공유 메모리 장치로 복사하고, 상기 공유 메모리 장치에 복사된 상기 데이터에 대하여 라이트 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 50 항에 있어서,
상기 어드레스 라우터는
상기 라이트 요청에 대한 데이터의 메타정보를 변경하는
컴퓨팅 디바이스.
- 제 51 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 48 항에 있어서,
상기 요청에 대응하는 상기 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 리드 요청인 경우,
상기 프로세서는
상기 리드 요청에 대응하는 데이터를 상기 공유 메모리 장치에 복사하고, 상기 데이터에 대하여 리드 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 53 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 복수의 메모리 블레이드들; 및
상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부
를 포함하고,
상기 복수의 메모리 블레이드들 각각은
여분 메모리 장치를 포함하는 복수의 메모리 장치들; 및
적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는 컨트롤러를 포함하고,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터; 및
상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부;
를 포함하는 컴퓨팅 디바이스.
- 제 55 항에 있어서,
상기 모니터는
상기 복수의 메모리 장치들 각각의 위치정보 및 사용 가부에 대한 플래그 테이블을 저장하며,
결함 메모리 장치의 유무를 판단하고, 상기 플래그 테이블에 기초하여 상기 여분 메모리 장치의 사용 가부를 판단하며, 주기적으로 상기 플래그 테이블을 업데이트하는
컴퓨팅 디바이스.
- 제 56 항에 있어서,
상기 복수의 메모리 장치들 중 결함 메모리 장치가 존재하는 경우,
상기 모니터는
상기 결함 메모리 장치의 위치 정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 결함 메모리 장치 대신 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 57 항에 있어서,
상기 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용할 수 없는 경우,
상기 메모리 블레이드 관리부는 상기 플래그 테이블에 기초하여 다른 메모리 블레이드에 포함된 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 58 항에 있어서,
상기 전원 관리부는
상기 여분 메모리 장치의 슬롯(slot)를 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 59 항에 있어서,
상기 결함 메모리 장치에 저장된 데이터를 상기 여분 메모리 장치로 복사하는 백업동작을 수행하도록 상기 결함 메모리 장치 및 상기 여분 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 60 항에 있어서,
상기 백업동작이 완료된 후,
상기 전원 관리부는
상기 결함 메모리 장치의 슬롯(slot)을 파워-오프(power-off)하는
컴퓨팅 디바이스.
- 제 61 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 메모리 블레이드 관리부에게 상기 플래그 테이블을 전달하는
컴퓨팅 디바이스.
- 제 62 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 전원관리부는
정상 메모리 장치의 슬롯(slot)을 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 63 항에 있어서,
상기 모니터는
상기 정상 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 정상 메모리 장치의 위치정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에 전달하고,
상기 메모리 블레이드 관리부는
상기 여분 메모리 장치 대신 상기 정상 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 64 항에 있어서,
상기 프로세서는
상기 여분 메모리 장치에 저장된 데이터를 상기 정상 메모리 장치로 복사하는 백업동작을 수행하도록 상기 여분 메모리 장치 및 상기 정상 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 65 항에 있어서,
상기 전원관리부는
상기 여분 메모리 장치의 슬롯(slot)을 파워-오프(power off)하는
컴퓨팅 디바이스.
- 제 66 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 정상 메모리 장치에 대하여 리드 혹은 라이트 요청을 전달하는
컴퓨팅 디바이스.
- 제 62 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 모니터는
상기 정상 메모리 장치가 새로운 여분 메모리 장치로 사용된다는 정보를 상기 메모리 블레이드 관리부에 전달하는
컴퓨팅 디바이스.
- 제 56 항에 있어서,
상기 모니터는
제 1 파라미터 값 내지 제 4 파라미터 값이 대응하는 임계 값보다 큰 값을 갖는 메모리 장치를 상기 결함 메모리 장치로 판단하고,
상기 제 1 파라미터 값은 에러 발생률 값이고, 상기 제 2 파라미터 값은 온도값, 제 3 파라미터 값은 해당 메모리 장치에 흐르는 전류값 및 상기 제 4 파라미터는 해당 메모리 장치의 뒤틀림(distortion) 값인
컴퓨팅 디바이스.
- 제 69 항에 있어서,
복수의 결함 메모리 장치들이 존재하는 경우,
상기 모니터는
상기 제 1 파라미터 값 내지 제 4 파라미터 값에 기초하여 백업 동작을 위한 상기 복수의 결함 메모리 장치들의 처리 순서를 정하는
컴퓨팅 디바이스.
- 제 70 항에 있어서,
상기 프로세서는
상기 처리 순서에 기초하여 순차적으로 상기 백업 동작을 수행하도록 해당 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 제 55 항에 있어서,
상기 컨트롤러는
다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및
상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터
를 더 포함하는 컴퓨팅 디바이스.
- 제 72 항에 있어서,
상기 복수의 메모리 장치들은
공유 메모리 장치 및 다수의 지역 메모리 장치들을 포함하며,
상기 공유 메모리 장치에는
타 메모리 블레이드로부터 리드 혹은 라이트 요청된 데이터만이 저장되는
컴퓨팅 디바이스.
- 제 73 항에 있어서,
상기 메모리 블레이드 관리부는
상기 복수의 메모리 블레이드들 각각에서 발생된 요청들을 상기 글로벌 맵에 기초하여 해당 메모리 블레이드로 전달하는
컴퓨팅 디바이스.
- 제 74 항에 있어서,
상기 메타정보는
상기 요청의 순서정보, 상기 요청의 대상이 되는 메모리 장치 주소정보, 상기 요청에 의하여 대응하는 데이터의 변경에 대한 정보, 상기 요청을 전달받은 메모리 블레이드 정보 및 상기 요청을 전달한 메모리 블레이드 정보를 포함하는
컴퓨팅 디바이스.
- 제 75 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 공유 메모리 장치인 경우,
상기 요청에 대응하는 데이터에 대하여 리드 혹은 라이트 동작을 수행하도록 상기 공유 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 75 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 라이트 요청인 경우,
상기 라이트 요청에 대응하는 데이터를 상기 공유 메모리 장치로 복사하고, 상기 공유 메모리 장치에 복사된 상기 데이터에 대하여 라이트 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 77 항에 있어서,
상기 어드레스 라우터는
상기 라이트 요청에 대한 데이터의 메타정보를 변경하는
컴퓨팅 디바이스.
- 제 78 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 77 항에 있어서,
상기 요청에 대응하는 상기 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 리드 요청인 경우,
상기 프로세서는
상기 리드 요청에 대응하는 데이터를 상기 공유 메모리 장치에 복사하고, 상기 데이터에 대하여 리드 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 80 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 여분 메모리 장치를 포함하는 복수의 메모리 장치들; 및
컨트롤러를 포함하는 메모리 블레이드를 포함하고,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터; 및
상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부
를 포함하는 컴퓨팅 디바이스.
- 제 82 항에 있어서,
상기 메모리 블레이드는 복수이고,
상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부
를 더 포함하는 컴퓨팅 디바이스.
- 제 83 항에 있어서,
상기 컨트롤러는 적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 제 84 항에 있어서,
상기 모니터는
상기 복수의 메모리 장치들 각각의 위치정보 및 사용 가부에 대한 플래그 테이블을 저장하며,
결함 메모리 장치의 유무를 판단하고, 상기 플래그 테이블에 기초하여 상기 여분 메모리 장치의 사용 가부를 판단하며, 주기적으로 상기 플래그 테이블을 업데이트하는
컴퓨팅 디바이스.
- 제 85 항에 있어서,
상기 복수의 메모리 장치들 중 결함 메모리 장치가 존재하는 경우,
상기 모니터는
상기 결함 메모리 장치의 위치 정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 결함 메모리 장치 대신 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 86 항에 있어서,
상기 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용할 수 없는 경우,
상기 메모리 블레이드 관리부는 상기 플래그 테이블에 기초하여 다른 메모리 블레이드에 포함된 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 87 항에 있어서,
상기 전원 관리부는
상기 여분 메모리 장치의 슬롯(slot)를 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 88 항에 있어서,
상기 결함 메모리 장치에 저장된 데이터를 상기 여분 메모리 장치로 복사하는 백업동작을 수행하도록 상기 결함 메모리 장치 및 상기 여분 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 89 항에 있어서,
상기 백업동작이 완료된 후,
상기 전원 관리부는
상기 결함 메모리 장치의 슬롯(slot)을 파워-오프(power-off)하는
컴퓨팅 디바이스.
- 제 90 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 메모리 블레이드 관리부에게 상기 플래그 테이블을 전달하는
컴퓨팅 디바이스.
- 제 91 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 전원관리부는
정상 메모리 장치의 슬롯(slot)을 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 92 항에 있어서,
상기 모니터는
상기 정상 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 정상 메모리 장치의 위치정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에 전달하고,
상기 메모리 블레이드 관리부는
상기 여분 메모리 장치 대신 상기 정상 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 93 항에 있어서,
상기 프로세서는
상기 여분 메모리 장치에 저장된 데이터를 상기 정상 메모리 장치로 복사하는 백업동작을 수행하도록 상기 여분 메모리 장치 및 상기 정상 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 94 항에 있어서,
상기 전원관리부는
상기 여분 메모리 장치의 슬롯(slot)을 파워-오프(power off)하는
컴퓨팅 디바이스.
- 제 95 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 정상 메모리 장치에 대하여 리드 혹은 라이트 요청을 전달하는
컴퓨팅 디바이스.
- 제 91 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 모니터는
상기 정상 메모리 장치가 새로운 여분 메모리 장치로 사용된다는 정보를 상기 메모리 블레이드 관리부에 전달하는
컴퓨팅 디바이스.
- 제 85 항에 있어서,
상기 모니터는
제 1 파라미터 값 내지 제 4 파라미터 값이 대응하는 임계 값보다 큰 값을 갖는 메모리 장치를 상기 결함 메모리 장치로 판단하고,
상기 제 1 파라미터 값은 에러 발생률 값이고, 상기 제 2 파라미터 값은 온도값, 제 3 파라미터 값은 해당 메모리 장치에 흐르는 전류값 및 상기 제 4 파라미터는 해당 메모리 장치의 뒤틀림(distortion) 값인
컴퓨팅 디바이스.
- 제 98 항에 있어서,
복수의 결함 메모리 장치들이 존재하는 경우,
상기 모니터는
상기 제 1 파라미터 값 내지 제 4 파라미터 값에 기초하여 백업 동작을 위한 상기 복수의 결함 메모리 장치들의 처리 순서를 정하는
컴퓨팅 디바이스.
- 제 99 항에 있어서,
상기 프로세서는
상기 처리 순서에 기초하여 순차적으로 상기 백업 동작을 수행하도록 해당 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 제 84 항에 있어서,
상기 컨트롤러는
다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및
상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터
를 포함하는 컴퓨팅 디바이스.
- 제 101 항에 있어서,
상기 복수의 메모리 장치들은
공유 메모리 장치 및 다수의 지역 메모리 장치들을 포함하며,
상기 공유 메모리 장치에는
타 메모리 블레이드로부터 리드 혹은 라이트 요청된 데이터만이 저장되는
컴퓨팅 디바이스.
- 제 102 항에 있어서,
상기 메모리 블레이드 관리부는
상기 복수의 메모리 블레이드들 각각에서 발생된 요청들을 상기 글로벌 맵에 기초하여 해당 메모리 블레이드로 전달하는
컴퓨팅 디바이스.
- 제 103 항에 있어서,
상기 메타정보는
상기 요청의 순서정보, 상기 요청의 대상이 되는 메모리 장치 주소정보, 상기 요청에 의하여 대응하는 데이터의 변경에 대한 정보, 상기 요청을 전달받은 메모리 블레이드 정보 및 상기 요청을 전달한 메모리 블레이드 정보를 포함하는
컴퓨팅 디바이스.
- 제 104 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 공유 메모리 장치인 경우,
상기 요청에 대응하는 데이터에 대하여 리드 혹은 라이트 동작을 수행하도록 상기 공유 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 104 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 라이트 요청인 경우,
상기 라이트 요청에 대응하는 데이터를 상기 공유 메모리 장치로 복사하고, 상기 공유 메모리 장치에 복사된 상기 데이터에 대하여 라이트 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 106 항에 있어서,
상기 어드레스 라우터는
상기 라이트 요청에 대한 데이터의 메타정보를 변경하는
컴퓨팅 디바이스.
- 제 107 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 104 항에 있어서,
상기 요청에 대응하는 상기 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 리드 요청인 경우,
상기 프로세서는
상기 리드 요청에 대응하는 데이터를 상기 공유 메모리 장치에 복사하고, 상기 데이터에 대하여 리드 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 109 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 복수의 메모리 블레이드들; 및
상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부
를 포함하고,
상기 복수의 메모리 블레이드들 각각은
복수의 메모리 장치들; 및
적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는 컨트롤러
를 포함하고,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부;
다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및
상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터
를 포함하는 컴퓨팅 디바이스. - 제 111 항에 있어서,
상기 복수의 메모리 장치들은
공유 메모리 장치 및 다수의 지역 메모리 장치들을 포함하며,
상기 공유 메모리 장치에는
타 메모리 블레이드로부터 리드 혹은 라이트 요청된 데이터만이 저장되는
컴퓨팅 디바이스.
- 제 112 항에 있어서,
상기 메모리 블레이드 관리부는
상기 복수의 메모리 블레이드들 각각에서 발생된 요청들을 상기 글로벌 맵에 기초하여 해당 메모리 블레이드로 전달하는
컴퓨팅 디바이스.
- 제 113 항에 있어서,
상기 메타정보는
상기 요청의 순서정보, 상기 요청의 대상이 되는 메모리 장치 주소정보, 상기 요청에 의하여 대응하는 데이터의 변경에 대한 정보, 상기 요청을 전달받은 메모리 블레이드 정보 및 상기 요청을 전달한 메모리 블레이드 정보를 포함하는
컴퓨팅 디바이스.
- 제 114 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 공유 메모리 장치인 경우,
상기 요청에 대응하는 데이터에 대하여 리드 혹은 라이트 동작을 수행하도록 상기 공유 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 114 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 라이트 요청인 경우,
상기 라이트 요청에 대응하는 데이터를 상기 공유 메모리 장치로 복사하고, 상기 공유 메모리 장치에 복사된 상기 데이터에 대하여 라이트 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 116 항에 있어서,
상기 어드레스 라우터는
상기 라이트 요청에 대한 데이터의 메타정보를 변경하는
컴퓨팅 디바이스.
- 제 117 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 114 항에 있어서,
상기 요청에 대응하는 상기 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 리드 요청인 경우,
상기 프로세서는
상기 리드 요청에 대응하는 데이터를 상기 공유 메모리 장치에 복사하고, 상기 데이터에 대하여 리드 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 119 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 111 항에 있어서,
상기 복수의 메모리 장치들은 여분 메모리 장치를 포함하며,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터
를 더 포함하는 컴퓨팅 디바이스.
- 제 121 항에 있어서,
상기 모니터는
상기 복수의 메모리 장치들 각각의 위치정보 및 사용 가부에 대한 플래그 테이블을 저장하며,
결함 메모리 장치의 유무를 판단하고, 상기 플래그 테이블에 기초하여 상기 여분 메모리 장치의 사용 가부를 판단하며, 주기적으로 상기 플래그 테이블을 업데이트하는
컴퓨팅 디바이스.
- 제 122 항에 있어서,
상기 복수의 메모리 장치들 중 결함 메모리 장치가 존재하는 경우,
상기 모니터는
상기 결함 메모리 장치의 위치 정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 결함 메모리 장치 대신 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스. - 제 123 항에 있어서,
상기 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용할 수 없는 경우,
상기 메모리 블레이드 관리부는 상기 플래그 테이블에 기초하여 다른 메모리 블레이드에 포함된 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 124 항에 있어서,
상기 전원 관리부는
상기 여분 메모리 장치의 슬롯(slot)를 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 125 항에 있어서,
상기 결함 메모리 장치에 저장된 데이터를 상기 여분 메모리 장치로 복사하는 백업동작을 수행하도록 상기 결함 메모리 장치 및 상기 여분 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 126 항에 있어서,
상기 백업동작이 완료된 후,
상기 전원 관리부는
상기 결함 메모리 장치의 슬롯(slot)을 파워-오프(power-off)하는
컴퓨팅 디바이스.
- 제 127 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 메모리 블레이드 관리부에게 상기 플래그 테이블을 전달하는
컴퓨팅 디바이스.
- 제 128 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 전원관리부는
정상 메모리 장치의 슬롯(slot)을 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 129 항에 있어서,
상기 모니터는
상기 정상 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 정상 메모리 장치의 위치정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에 전달하고,
상기 메모리 블레이드 관리부는
상기 여분 메모리 장치 대신 상기 정상 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 130 항에 있어서,
상기 프로세서는
상기 여분 메모리 장치에 저장된 데이터를 상기 정상 메모리 장치로 복사하는 백업동작을 수행하도록 상기 여분 메모리 장치 및 상기 정상 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 131 항에 있어서,
상기 전원관리부는
상기 여분 메모리 장치의 슬롯(slot)을 파워-오프(power off)하는
컴퓨팅 디바이스.
- 제 132 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 정상 메모리 장치에 대하여 리드 혹은 라이트 요청을 전달하는
컴퓨팅 디바이스.
- 제 128 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 모니터는
상기 정상 메모리 장치가 새로운 여분 메모리 장치로 사용된다는 정보를 상기 메모리 블레이드 관리부에 전달하는
컴퓨팅 디바이스.
- 제 122 항에 있어서,
상기 모니터는
제 1 파라미터 값 내지 제 4 파라미터 값이 대응하는 임계 값보다 큰 값을 갖는 메모리 장치를 상기 결함 메모리 장치로 판단하고,
상기 제 1 파라미터 값은 에러 발생률 값이고, 상기 제 2 파라미터 값은 온도값, 제 3 파라미터 값은 해당 메모리 장치에 흐르는 전류값 및 상기 제 4 파라미터는 해당 메모리 장치의 뒤틀림(distortion) 값인
컴퓨팅 디바이스.
- 제 135 항에 있어서,
복수의 결함 메모리 장치들이 존재하는 경우,
상기 모니터는
상기 제 1 파라미터 값 내지 제 4 파라미터 값에 기초하여 백업 동작을 위한 상기 복수의 결함 메모리 장치들의 처리 순서를 정하는
컴퓨팅 디바이스.
- 제 136 항에 있어서,
상기 프로세서는
상기 처리 순서에 기초하여 순차적으로 상기 백업 동작을 수행하도록 해당 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 복수의 메모리 장치들; 및
컨트롤러를 포함하는 메모리 블레이드를 포함하고,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 전원 및 상기 컨트롤러의 구성요소들 각각의 전원을 관리하는 전원관리부;
다른 메모리 블레이드로부터 전달된 요청을 수신하는 노드 컨트롤러; 및
상기 요청에 대한 데이터의 메타정보에 기초하여 상기 복수의 메모리 장치들 중 상기 요청에 대응하는 메모리 장치를 결정하는 어드레스 라우터
를 포함하는 컴퓨팅 디바이스.
- 제 138 항에 있어서,
상기 메모리 블레이드는 복수이고,
상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 상기 복수의 메모리 블레이드들 각각을 제어하는 메모리 블레이드 관리부
를 더 포함하는 컴퓨팅 디바이스.
- 제 139 항에 있어서,
상기 컨트롤러는
적어도 상기 메모리 블레이드 관리부의 제어에 따라 상기 복수의 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 제 140 항에 있어서,
상기 복수의 메모리 장치들은
공유 메모리 장치 및 다수의 지역 메모리 장치들을 포함하며,
상기 공유 메모리 장치에는
타 메모리 블레이드로부터 리드 혹은 라이트 요청된 데이터만이 저장되는
컴퓨팅 디바이스.
- 제 141 항에 있어서,
상기 메모리 블레이드 관리부는
상기 복수의 메모리 블레이드들 각각에서 발생된 요청들을 상기 글로벌 맵에 기초하여 해당 메모리 블레이드로 전달하는
컴퓨팅 디바이스.
- 제 142 항에 있어서,
상기 메타정보는
상기 요청의 순서정보, 상기 요청의 대상이 되는 메모리 장치 주소정보, 상기 요청에 의하여 대응하는 데이터의 변경에 대한 정보, 상기 요청을 전달받은 메모리 블레이드 정보 및 상기 요청을 전달한 메모리 블레이드 정보를 포함하는
컴퓨팅 디바이스.
- 제 143 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 공유 메모리 장치인 경우,
상기 요청에 대응하는 데이터에 대하여 리드 혹은 라이트 동작을 수행하도록 상기 공유 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 143 항에 있어서,
상기 요청에 대응하는 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 라이트 요청인 경우,
상기 라이트 요청에 대응하는 데이터를 상기 공유 메모리 장치로 복사하고, 상기 공유 메모리 장치에 복사된 상기 데이터에 대하여 라이트 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 145 항에 있어서,
상기 어드레스 라우터는
상기 라이트 요청에 대한 데이터의 메타정보를 변경하는
컴퓨팅 디바이스.
- 제 146 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 143 항에 있어서,
상기 요청에 대응하는 상기 메모리 장치의 주소가 상기 지역 메모리 장치이며, 상기 요청은 리드 요청인 경우,
상기 프로세서는
상기 리드 요청에 대응하는 데이터를 상기 공유 메모리 장치에 복사하고, 상기 데이터에 대하여 리드 동작을 수행하도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스. - 제 148 항에 있어서,
상기 프로세서는
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키도록 상기 공유 메모리 장치 및 상기 지역 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 140 항에 있어서,
상기 복수의 메모리 장치들은 여분 메모리 장치를 포함하고,
상기 컨트롤러는
상기 복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 모니터;
를 더 포함하는 컴퓨팅 디바이스.
- 제 150 항에 있어서,
상기 모니터는
상기 복수의 메모리 장치들 각각의 위치정보 및 사용 가부에 대한 플래그 테이블을 저장하며,
결함 메모리 장치의 유무를 판단하고, 상기 플래그 테이블에 기초하여 상기 여분 메모리 장치의 사용 가부를 판단하며, 주기적으로 상기 플래그 테이블을 업데이트하는
컴퓨팅 디바이스.
- 제 151 항에 있어서,
상기 복수의 메모리 장치들 중 결함 메모리 장치가 존재하는 경우,
상기 모니터는
상기 결함 메모리 장치의 위치 정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 결함 메모리 장치 대신 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 152 항에 있어서,
상기 해당 메모리 블레이드에 포함된 상기 여분 메모리 장치를 사용할 수 없는 경우,
상기 메모리 블레이드 관리부는 상기 플래그 테이블에 기초하여 다른 메모리 블레이드에 포함된 여분 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 153 항에 있어서,
상기 전원 관리부는
상기 여분 메모리 장치의 슬롯(slot)를 파워-온(power-on)하는
컴퓨팅 디바이스.
- 제 154 항에 있어서,
상기 결함 메모리 장치에 저장된 데이터를 상기 여분 메모리 장치로 복사하는 백업동작을 수행하도록 상기 결함 메모리 장치 및 상기 여분 메모리 장치를 제어하는 프로세서
를 더 포함하는 컴퓨팅 디바이스.
- 제 155 항에 있어서,
상기 백업동작이 완료된 후,
상기 전원 관리부는
상기 결함 메모리 장치의 슬롯(slot)을 파워-오프(power-off)하는
컴퓨팅 디바이스.
- 제 156 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 메모리 블레이드 관리부에게 상기 플래그 테이블을 전달하는
컴퓨팅 디바이스.
- 제 157 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 전원관리부는
정상 메모리 장치의 슬롯(slot)을 파워-온(power-on)하는
컴퓨팅 디바이스. - 제 158 항에 있어서,
상기 모니터는
상기 정상 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 정상 메모리 장치의 위치정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에 전달하고,
상기 메모리 블레이드 관리부는
상기 여분 메모리 장치 대신 상기 정상 메모리 장치를 사용하도록 해당 메모리 블레이드를 제어하는
컴퓨팅 디바이스.
- 제 159 항에 있어서,
상기 프로세서는
상기 여분 메모리 장치에 저장된 데이터를 상기 정상 메모리 장치로 복사하는 백업동작을 수행하도록 상기 여분 메모리 장치 및 상기 정상 메모리 장치를 제어하는
컴퓨팅 디바이스.
- 제 160 항에 있어서,
상기 전원관리부는
상기 여분 메모리 장치의 슬롯(slot)을 파워-오프(power off)하는
컴퓨팅 디바이스.
- 제 161 항에 있어서,
상기 모니터는
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고,
상기 메모리 블레이드 관리부는
상기 정상 메모리 장치에 대하여 리드 혹은 라이트 요청을 전달하는
컴퓨팅 디바이스.
- 제 158 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 모니터는
상기 정상 메모리 장치가 새로운 여분 메모리 장치로 사용된다는 정보를 상기 메모리 블레이드 관리부에 전달하는
컴퓨팅 디바이스.
- 제 151 항에 있어서,
상기 모니터는
제 1 파라미터 값 내지 제 4 파라미터 값이 대응하는 임계 값보다 큰 값을 갖는 메모리 장치를 상기 결함 메모리 장치로 판단하고,
상기 제 1 파라미터 값은 에러 발생률 값이고, 상기 제 2 파라미터 값은 온도값, 제 3 파라미터 값은 해당 메모리 장치에 흐르는 전류값 및 상기 제 4 파라미터는 해당 메모리 장치의 뒤틀림(distortion) 값인
컴퓨팅 디바이스.
- 제 164 항에 있어서,
복수의 결함 메모리 장치들이 존재하는 경우,
상기 모니터는
상기 제 1 파라미터 값 내지 제 4 파라미터 값에 기초하여 백업 동작을 위한 상기 복수의 결함 메모리 장치들의 처리 순서를 정하는
컴퓨팅 디바이스. - 제 165 항에 있어서,
상기 프로세서는
상기 처리 순서에 기초하여 순차적으로 상기 백업 동작을 수행하도록 해당 메모리 장치들을 제어하는
컴퓨팅 디바이스.
- 각각 여분 메모리 장치를 포함하는 복수의 메모리 장치와 컨트롤러를 포함하는 복수의 메모리 블레이드들 및 메모리 블레이드 관리부를 포함하는 컴퓨팅 디바이스의 동작 방법에 있어서,
복수의 메모리 장치들 각각의 상태를 주기적으로 점검하는 제 1 단계;
결함 메모리 장치 발생 시,
상기 결함 메모리 장치의 위치정보를 메모리 블레이드 관리부로 전달하는 제 2 단계;
상기 여분 메모리 장치를 파워-온(On)하는 제 3 단계; 및
상기 결함 메모리 장치에 저장된 데이터를 상기 여분 메모리 장치로 복사하는 제 4 단계
로 구성된 컴퓨팅 디바이스의 동작방법.
- 제 167 항에 있어서,
상기 제 1 단계는
상기 복수의 메모리 장치들 각각의 위치정보 및 사용 가부에 대한 플래그 테이블을 저장하여, 결함 메모리 장치의 유무를 판단하고, 상기 플래그 테이블에 기초하여 상기 여분 메모리 장치의 사용 가부를 판단하며, 주기적으로 상기 플래그 테이블을 업데이트하는
컴퓨팅 디바이스의 동작방법.
- 제 168 항에 있어서,
상기 여분 메모리 장치를 사용할 수 없다면,
상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 사용 가능한 여분 메모리 장치를 다른 메모리 블레이드에서 검색하는
컴퓨팅 디바이스의 동작방법.
- 제 169 항에 있어서,
상기 결함 메모리 장치의 슬롯(slot)의 전원을 오프(Off)하는 제 5 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법. - 제 170 항에 있어서,
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 메모리 블레이드 관리부에게 상기 플래그 테이블을 전달하는 제 6 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 제 171 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 정상 메모리 장치의 슬롯(slot)의 전원을 온(On)하는 제 7 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 제 172 항에 있어서,
상기 정상 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 정상 메모리 장치의 위치정보 및 상기 플래그 테이블을 상기 메모리 블레이드 관리부에 전달 제 8 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 제 173 항에 있어서,
상기 여분 메모리 장치에 저장된 데이터를 상기 정상 메모리 장치로 복사하는 제 9 단계; 및
상기 여분 메모리 장치의 슬롯(slot)의 전원을 오프(Off)하는 제 10 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 제 174 항에 있어서,
상기 여분 메모리 장치에 대응하는 플래그를 변경하도록 상기 플래그 테이블을 업데이트하고, 상기 플래그 테이블을 상기 메모리 블레이드 관리부에게 전달하고 제 11 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 제 171 항에 있어서,
상기 결함 메모리 장치가 정상 메모리 장치로 복구된 후,
상기 정상 메모리 장치가 새로운 여분 메모리 장치로 사용된다는 정보를 상기 메모리 블레이드 관리부에 전달하는 제 7 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법. - 제 167 항에 있어서,
상기 제 1 단계는
제 1 파라미터 값 내지 제 4 파라미터 값이 대응하는 임계 값보다 큰 값을 갖는 메모리 장치를 상기 결함 메모리 장치로 판단하고,
상기 제 1 파라미터 값은 에러 발생률 값이고, 상기 제 2 파라미터 값은 온도값, 제 3 파라미터 값은 해당 메모리 장치에 흐르는 전류값 및 상기 제 4 파라미터는 해당 메모리 장치의 뒤틀림(distortion) 값인
컴퓨팅 디바이스의 동작방법.
- 제 177 항에 있어서,
복수의 결함 메모리 장치들이 존재하는 경우,
제 2 단계 이전에
상기 제 1 파라미터 값 내지 제 4 파라미터 값에 기초하여 백업 동작을 위한 상기 복수의 결함 메모리 장치들의 처리 순서를 정하는 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 각각 공유 메모리 장치 및 복수의 지역 메모리 장치들을 포함하는 복수의 메모리 장치와 컨트롤러를 포함하는 복수의 메모리 블레이드들 및 메모리 블레이드 관리부를 포함하는 컴퓨팅 디바이스의 동작 방법에 있어서,
메모리 블레이드에서 생성된 요청을 메모리 블레이드 관리부로 전달하는 제 1 단계;
상기 요청을 상기 복수의 메모리 블레이드들 각각의 정보를 포함하는 글로벌 맵에 기초하여 해당 메모리 블레이드에 전달하는 제 2 단계;
상기 요청에 대한 데이터의 메타정보에 기초하여 메모리 장치를 결정하는 제 3 단계;
로 구성된 컴퓨팅 디바이스의 동작방법.
- 제 179 항에 있어서,
상기 메타정보는
상기 요청의 순서정보, 상기 요청의 대상이 되는 메모리 장치 주소정보, 상기 요청에 의하여 대응하는 데이터의 변경에 대한 정보, 상기 요청을 전달받은 메모리 블레이드 정보 및 상기 요청을 전달한 메모리 블레이드 정보를 포함하는
컴퓨팅 디바이스의 동작방법.
- 제 180 항에 있어서,
상기 제 3 단계에서 결정된 메모리 장치가 공유 메모리 장치라면,
상기 요청에 대응하는 동작을 수행하는 제 4 단계;
로 구성된 컴퓨팅 디바이스의 동작방법.
- 제 180 항에 있어서,
상기 제 3 단계에서 결정된 메모리 장치가 지역 메모리 장치라면,
상기 요청에 대응하는 데이터를 공유 메모리 장치로 복사하는 제 4 단계; 및
상기 요청에 대응하는 동작을 수행하는 제 5 단계;
로 구성된 컴퓨팅 디바이스의 동작방법.
- 제 182 항에 있어서,
상기 요청이 라이트 요청인 경우,
상기 제 5 단계는 상기 공유 메모리 장치로 복사된 상기 데이터에 대하여 라이트 동작을 수행하는
컴퓨팅 디바이스의 동작방법.
- 제 183 항에 있어서,
상기 라이트 요청에 대한 데이터의 메타정보를 변경하는 제 6 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 제 184 항에 있어서,
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 상기 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키는 제 7 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
- 제 182 항에 있어서,
상기 요청이 리드 요청인 경우,
상기 제 5 단계는 상기 리드 요청에 대응하는 지역 메모리 장치에 저장된 데이터에 대하여 리드 동작을 수행하는
컴퓨팅 디바이스의 동작방법.
- 제 186 항에 있어서,
상기 공유 메모리 장치에 저장된 데이터 큐가 사전 설정된 임계치보다 큰 경우, 상기 데이터 각각에 대응하는 지역 메모리 장치로 상기 메타정보에 기초하여 상기 데이터를 이동시키는 제 7 단계
를 더 포함하는 컴퓨팅 디바이스의 동작방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170143428A KR102387181B1 (ko) | 2017-10-31 | 2017-10-31 | 컴퓨팅 디바이스 및 그것의 동작방법 |
US16/039,220 US10928871B2 (en) | 2017-10-31 | 2018-07-18 | Computing device and operation method thereof |
US16/851,660 US11636014B2 (en) | 2017-10-31 | 2020-04-17 | Memory system and data processing system including the same |
US17/949,287 US12056027B2 (en) | 2017-10-31 | 2022-09-21 | Memory system and data processing system including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170143428A KR102387181B1 (ko) | 2017-10-31 | 2017-10-31 | 컴퓨팅 디바이스 및 그것의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190048456A true KR20190048456A (ko) | 2019-05-09 |
KR102387181B1 KR102387181B1 (ko) | 2022-04-19 |
Family
ID=66245518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170143428A KR102387181B1 (ko) | 2017-10-31 | 2017-10-31 | 컴퓨팅 디바이스 및 그것의 동작방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10928871B2 (ko) |
KR (1) | KR102387181B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11036399B2 (en) | 2018-04-23 | 2021-06-15 | SK Hynix Inc. | Memory system and operating method of the memory system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005556A1 (en) * | 2009-06-29 | 2012-01-05 | Jichuan Chang | Organizing And Managing A Memory Blade With Super Pages And Buffers |
JP2012178014A (ja) * | 2011-02-25 | 2012-09-13 | Hitachi Ltd | 故障予測・対策方法及びクライアントサーバシステム |
US20130275705A1 (en) * | 2012-04-13 | 2013-10-17 | International Business Machines Corporation | Remote memory management when switching optically-connected memory |
KR20160107158A (ko) * | 2013-11-12 | 2016-09-13 | 스카이에라, 엘엘씨 | 비휘발성 메모리 기반 저장 디바이스에서 정보를 라우팅하는 장치 및 방법 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024517B1 (en) | 2001-09-27 | 2006-04-04 | Emc Corporation | System and method for configuring data storage in accordance with workload requirements |
US20040054776A1 (en) | 2002-09-16 | 2004-03-18 | Finisar Corporation | Network expert analysis process |
JP4267420B2 (ja) | 2003-10-20 | 2009-05-27 | 株式会社日立製作所 | ストレージ装置及びバックアップ取得方法 |
KR20050033060A (ko) | 2005-03-17 | 2005-04-08 | (주)제타스톰 | 네트워크를 이용한 핫 스페어 구성 시스템 및 방법 |
US7644148B2 (en) | 2005-05-16 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Historical data based workload allocation |
US20080222348A1 (en) | 2007-03-08 | 2008-09-11 | Scandisk Il Ltd. | File system for managing files according to application |
US20080309349A1 (en) | 2007-06-15 | 2008-12-18 | Computer Access Technology Corporation | Flexible interposer system |
US8670971B2 (en) | 2007-07-31 | 2014-03-11 | Hewlett-Packard Development Company, L.P. | Datacenter workload evaluation |
JP2009238114A (ja) | 2008-03-28 | 2009-10-15 | Hitachi Ltd | ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム |
US7971013B2 (en) | 2008-04-30 | 2011-06-28 | Xiotech Corporation | Compensating for write speed differences between mirroring storage devices by striping |
JP5108667B2 (ja) * | 2008-07-23 | 2012-12-26 | 株式会社日立製作所 | リモートコピーシステム、及びリモートサイトの省電力化方法 |
EP2372556A4 (en) | 2008-12-01 | 2012-07-11 | Fujitsu Ltd | CONTROL UNIT, INFORMATION PROCESSING DEVICE AND METHOD FOR CONTROLLING INFORMATION PROCESSING DEVICE |
JP5326673B2 (ja) | 2009-03-06 | 2013-10-30 | 富士通株式会社 | 制御回路、情報処理装置及び情報処理装置の制御方法 |
US20110041005A1 (en) | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
US8839032B2 (en) | 2009-12-08 | 2014-09-16 | Hewlett-Packard Development Company, L.P. | Managing errors in a data processing system |
JP5368285B2 (ja) | 2009-12-11 | 2013-12-18 | 株式会社日立製作所 | 計算機システム、計算機リソースの管理方法及びプログラム |
US8938582B2 (en) * | 2010-07-01 | 2015-01-20 | Infinidat Ltd. | Storage systems with reduced energy consumption |
JP2012094030A (ja) | 2010-10-28 | 2012-05-17 | Hitachi Ltd | 計算機システム及び処理制御方法 |
US8775988B2 (en) * | 2011-06-01 | 2014-07-08 | International Business Machines Corporation | Decentralized dynamically scheduled parallel static timing analysis |
US9159374B2 (en) * | 2011-11-02 | 2015-10-13 | Novachips Canada Inc. | Flash memory module and memory subsystem |
US9128662B2 (en) * | 2011-12-23 | 2015-09-08 | Novachips Canada Inc. | Solid state drive memory system |
US8910017B2 (en) | 2012-07-02 | 2014-12-09 | Sandisk Technologies Inc. | Flash memory with random partition |
US9442854B2 (en) | 2012-11-15 | 2016-09-13 | Elwha Llc | Memory circuitry including computational circuitry for performing supplemental functions |
KR101999132B1 (ko) | 2012-12-17 | 2019-10-01 | 삼성전자주식회사 | 가상 머신 환경에서 메모리 관리 방법 및 장치 |
US9294263B2 (en) | 2014-01-02 | 2016-03-22 | Advanced Micro Devices, Inc. | Methods and systems of synchronizer selection |
US9678797B2 (en) | 2014-03-10 | 2017-06-13 | Microsoft Technology Licensing, Llc | Dynamic resource management for multi-process applications |
US20160055058A1 (en) | 2014-08-19 | 2016-02-25 | Hongzhong Zheng | Memory system architecture |
KR101644712B1 (ko) | 2014-12-15 | 2016-08-02 | 한국과학기술원 | 블록 단위 연접 비씨에이치 부호의 성능을 향상시키는 오류 정정 방법 및 복호 방법 |
US9535606B2 (en) | 2014-12-22 | 2017-01-03 | Intel Corporation | Virtual serial presence detect for pooled memory |
KR20160144560A (ko) | 2015-06-08 | 2016-12-19 | 삼성전자주식회사 | 호스트에 의해 접근되는 오류 정보를 생성하는 불휘발성 메모리 모듈, 스토리지 장치, 및 전자 장치 |
KR102449193B1 (ko) | 2015-12-04 | 2022-09-29 | 삼성전자주식회사 | 버퍼를 포함하는 메모리 패키지, 확장 가능한 메모리 모듈 및 멀티-모듈 메모리 시스템 |
US11003381B2 (en) | 2017-03-07 | 2021-05-11 | Samsung Electronics Co., Ltd. | Non-volatile memory storage device capable of self-reporting performance capabilities |
-
2017
- 2017-10-31 KR KR1020170143428A patent/KR102387181B1/ko active IP Right Grant
-
2018
- 2018-07-18 US US16/039,220 patent/US10928871B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120005556A1 (en) * | 2009-06-29 | 2012-01-05 | Jichuan Chang | Organizing And Managing A Memory Blade With Super Pages And Buffers |
JP2012178014A (ja) * | 2011-02-25 | 2012-09-13 | Hitachi Ltd | 故障予測・対策方法及びクライアントサーバシステム |
US20130275705A1 (en) * | 2012-04-13 | 2013-10-17 | International Business Machines Corporation | Remote memory management when switching optically-connected memory |
KR20160107158A (ko) * | 2013-11-12 | 2016-09-13 | 스카이에라, 엘엘씨 | 비휘발성 메모리 기반 저장 디바이스에서 정보를 라우팅하는 장치 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11036399B2 (en) | 2018-04-23 | 2021-06-15 | SK Hynix Inc. | Memory system and operating method of the memory system |
Also Published As
Publication number | Publication date |
---|---|
US20190129483A1 (en) | 2019-05-02 |
US10928871B2 (en) | 2021-02-23 |
KR102387181B1 (ko) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12056027B2 (en) | Memory system and data processing system including the same | |
US9542320B2 (en) | Multi-node cache coherency with input output virtualization | |
JP2015532985A (ja) | 大規模なデータ記憶および受け渡しシステム | |
US10805264B2 (en) | Automatic hostname assignment for microservers | |
US20220107740A1 (en) | Reconfigurable storage system | |
US11288122B1 (en) | High availability storage system | |
US11405455B2 (en) | Elastic scaling in a storage network environment | |
WO2021012169A1 (zh) | 一种提高存储系统可靠性的方法和相关装置 | |
JP7368942B2 (ja) | メモリシステムを含むコンピュータシステム | |
EP4002139B1 (en) | Memory expander, host device using memory expander, and operation method of server system including memory expander | |
KR102586768B1 (ko) | 컴퓨팅 시스템 및 그것의 동작방법 | |
KR102387181B1 (ko) | 컴퓨팅 디바이스 및 그것의 동작방법 | |
US11385815B2 (en) | Storage system | |
JP7299724B2 (ja) | メモリシステム及びその動作方法 | |
KR102394695B1 (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR102684940B1 (ko) | 데이터 처리 시스템 | |
JP2021124796A (ja) | 分散コンピューティングシステム及びリソース割当方法 | |
US9501290B1 (en) | Techniques for generating unique identifiers | |
US20240354210A1 (en) | Memory system and data processing system including the same | |
KR20230163238A (ko) | 분산된 스토리지 장치들을 관리하는 컴퓨팅 시스템, 및 그것의 동작하는 방법 | |
CN118210449A (zh) | 缓存同步方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |