KR20200077388A - 분산 저장 환경 - Google Patents

분산 저장 환경 Download PDF

Info

Publication number
KR20200077388A
KR20200077388A KR1020190120744A KR20190120744A KR20200077388A KR 20200077388 A KR20200077388 A KR 20200077388A KR 1020190120744 A KR1020190120744 A KR 1020190120744A KR 20190120744 A KR20190120744 A KR 20190120744A KR 20200077388 A KR20200077388 A KR 20200077388A
Authority
KR
South Korea
Prior art keywords
devices
nucleus
system controller
super cell
super
Prior art date
Application number
KR1020190120744A
Other languages
English (en)
Other versions
KR102226566B1 (ko
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 KR20200077388A publication Critical patent/KR20200077388A/ko
Application granted granted Critical
Publication of KR102226566B1 publication Critical patent/KR102226566B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

분산 저장 환경에서 장치를 제어하는 방법은 네트워크 내 복수의 장치를 복수의 슈퍼 셀로 분할하는 단계를 포함하며, 여기서 각 슈퍼 셀은 복수의 장치의 서브세트를 포함한다. 각각의 슈퍼 셀에 대해, 시스템 제어기는 슈퍼 셀 내의 장치를 뉴클리어스 장치로 지정하도록 구성되며, 여기서 슈퍼 셀 내의 뉴클리어스 장치는 슈퍼 셀 내의 멤버 장치를 제어한다. 시스템 제어기는 또한, 특정 작업과 연관된 커맨드를 뉴클리어스 장치에 전송하고 특정 작업의 수행에 관한 정보를 뉴클리어스 장치로부터 수신하도록 구성되며, 여기서 이 정보는 특정 작업의 각 부분의 수행과 연관된 슈퍼 셀의 멤버 장치로부터 집계된 정보를 포함한다.

Description

분산 저장 환경{DECENTRALIZED STORAGE ENVIRONMENT}
본 개시는 일반적으로 자동 검사 장비에 관한 것으로, 보다 구체적으로는 이러한 장비를 제어하는 기법에 관한 것이다.
자동 검사 장비(Automated Test Equipment: ATE)는 반도체 웨이퍼 또는 다이, 집적 회로(IC), 회로 보드 또는 SSD(Solid-State Drive)와 같은 패키지 장치에 대해 테스트를 수행하는 임의의 테스트 어셈블리일 수 있다. ATE 어셈블리는 측정을 신속하게 수행하고 테스트 결과를 생성하는 자동 검사를 실행하는 데 사용될 수 있으며, 테스트 결과는 이후에 분석될 수 있다. ATE 어셈블리는 계측기(meter)에 연결된 컴퓨터 시스템에서부터 맞춤형 전용 컴퓨터 제어 시스템 및 전자 부품을 자동으로 테스트하고/하거나 시스템 온 칩(SOC) 테스트 또는 집적 회로 테스트와 같이 반도체 웨이퍼 테스트를 할 수 있는 다양한 테스트 기기를 포함하는 복잡한 자동 검사 어셈블리에 이르기까지 어떤 것이든 될 수 있다. ATE 시스템은 장치가 설계된 대로 기능하도록 보장하기 위해 실시하는 장치 테스트에 소요되는 시간을 줄이는 동시에 장치가 소비자에게 도달하기 전에 그 장치 내에 불량한 부품이 있는지 확인하는 진단 도구 역할을 한다.
ATE 시스템은 ATE 시스템의 동작을 지시하는 컴퓨터 또는 시스템 제어기 장치를 포함하는 것이 일반적이다. 일반적으로, 컴퓨터는 (i) 테스트 개발 환경 및 (ii) 장치 테스트 환경을 제공하기 위해 하나 이상의 전문 소프트웨어 프로그램을 실행한다. 테스트 개발 환경에서, 사용자는 일반적으로 테스트 프로그램을 생성하는데, 예를 들어, ATE 시스템의 다양한 부분을 제어하는 하나 이상의 파일의 소프트웨어 기반 구성을 생성한다. 장치 테스트 환경에서, 사용자는 일반적으로 ATE 시스템에 테스트를 위한 하나 이상의 장치를 제공하고, 테스트 프로그램에 따라 각 장치를 테스트하도록 시스템 제어기에 지시한다. 사용자는 단순히 ATE 시스템에 추가 장치를 제공하고 테스트 프로그램에 따라 추가 장치를 테스트하도록 ATE 시스템에게 지시함으로써 추가 장치를 테스트할 수 있다. 따라서, ATE 시스템은 사용자가 테스트 프로그램에 기초하여 일관되고 자동화된 방식으로 많은 장치를 테스트할 수 있게 한다.
현재 SSD 저장 장치 세트 또는 어레이가 ATE 시스템에서 테스트되는 경우, 각 저장 장치는 시스템 제어기로부터 장치로 별도의 통신 채널을 사용하여 통신한다. 이로 인해 시스템 제어기에 연결된 주 통신 채널을 통과해야 하는 많은 양의 트래픽이 발생한다. 일반적으로 이것은 몇몇 종류의 PCIE 백본일 수 있다. 이는 시스템 제어기의 주 통신 접점에서 병목 현상을 일으킬 수 있다. 또한, 시스템 제어기가 장치 세트 내 각 개별 장치에 (세트의 용도 변경, 암호화 설정, 장치 재설정 등을 위해) 동일한 커맨드를 보내야 한다면, 커맨드 및 데이터를 복제해서 시스템 제어기로부터 각 장치로 전달해야 하므로 통신 메커니즘이 비효율적으로 된다. 이 토폴로지는 매우 비효율적이며 채널 병목 현상 문제를 발생시켜 전체 시스템 성능 및 효율성을 저하시킨다.
중앙 집중식 제어 시스템을 갖춘 엔터프라이즈 또는 다른 유형의 클라우드 기반 저장 시스템에서도 비슷한 문제가 발생한다. 스트리밍 서비스, 클라우드 저장 서비스, 소셜 네트워킹 등이 출현한 이래로 클라우드 컴퓨팅 시장이 크게 증가했다. 데이터는 대량의 데이터를 저장, 처리 또는 배포하기 위한 대규모 네트워크 서버 그룹을 포함하는 데이터 센터에 저장된다. 데이터는 상호접속된 하드 드라이브 어레이를 사용하여 클라우드 컴퓨팅 시스템에 저장된다. 현재 업계에서 하드 드라이브에 사용되는 일반적인 저장 프로토콜은 NVMe, SAS 및 SATA이다. 중앙에서 제어되는 클라우드 컴퓨팅 시스템의 문제점 중 하나는 장치 구성 및 제어와 관련된 트래픽이 저장되어 있는 데이터와 관련된 트래픽과 인밴드(in-band) 통신할 필요가 있다는 것이다. 일반적으로, 제어 서버는 장치를 구성하고 제어하기 위해 클라우드 기반 시스템의 각 장치와 통신할 수 있어야 한다. 이는 오버헤드로 인해 데이터 대역폭이 줄어들게 한다.
또한, 종래의 클라우드 컴퓨팅 시스템과 관련된 또 다른 과제는 클라우드 컴퓨팅 시스템 내의 장치 또는 하드 드라이브가 고장나거나 유지 보수를 받고 있는 경우, 유지 보수 또는 고장에 관한 정보가 일반적으로 적시에 제어 서버에 전달되지 않는다는 것이다. 또는, 제어 서버가, 유지 보수 중이거나 또는 고장난 각 장치에 적시에 대응하기에 자원이 부족할 수도 있다. 이로 인해, 기존 클라우드 컴퓨팅 시스템의 신뢰도가 떨어진다.
따라서, 예컨대 SSD 장치와 같은 각각의 장치의 제어가 ATE 프레임워크 전체에 걸쳐 분산되는 테스트 환경이 요구된다. 또한, 시스템 제어기와 각 장치 사이에 별도의 채널을 요구하지 않으면서 ATE 시스템의 각 장치에 커맨드를 전송할 수 있는 테스트 환경이 요구된다. 또한, 구성 및 제어 트래픽이 데이터 트래픽으로부터 아웃오브밴드(out of band)로 통신하는 클라우드 컴퓨팅 시스템이 요구된다. 또한, 유지 보수 또는 고장 중에도 장치와 연관된 데이터에 쉽게 액세스할 수 있는 클라우드 컴퓨팅 시스템이 요구된다. 기술된 시스템의 바람직한 양태들을 제한없이 이용하여, 본 발명의 실시예는 이들 문제를 해결하기 위한 새로운 해결책을 제공한다.
본 발명의 실시예는 (ATE 프레임워크 또는 클라우드 컴퓨팅 시스템에서) 하드 드라이브의 서브세트가 그 서브세트 내의 장치들(예컨대, SSD 장치들) 중 하나를 뉴클리어스(nucleus) 또는 서브 제어기 장치로 선택하게 함으로써 종래의 시스템의 문제점을 해결한다. 즉, 전체 ATE 프레임워크 또는 클라우드 컴퓨팅 시스템은 장치의 다수의 장치 서브세트("슈퍼 셀"이라고도 함)를 포함하며, 뉴클리어스로 지정된 슈퍼 셀 내의 장치가 각각의 서브세트 또는 슈퍼 셀을 제어한다.
일 실시예에서, 뉴클리어스는 슈퍼 셀 내의 다른 장치들을 직접 제어하고 이들과 통신할 수 있다. 이 때문에 시스템 제어기는 각 장치를 독립적으로 제어할 필요가 없다. 본 발명의 일 실시예에서, 시스템 제어기는 명령어 또는 데이터를 뉴클리어스로 전송할 수 있으며, 그러면 뉴클리어스가 (시스템 제어기에서 수신된 명령어에 따라) 커맨드, 상태, 데이터 또는 구성 정보를 슈퍼 셀의 다른 장치와 직접 통신할 수 있으며, 이러한 정보는 시스템 제어기로부터 발송되지 않는다. 따라서, 병목 현상 문제가 줄어들고 시스템 제어기가 슈퍼 셀의 각 하드 드라이브에 커맨드를 직접 복제해야 할 필요가 줄어든다. 또한, 뉴클리어스는 일반적으로 시스템에서 장치의 서브세트만 제어하고 이들 장치와 매우 근접해 있을 것이므로, 이들 장치의 고장 또는 유지 보수에 관한 정보를 쉽게 검색할 수 있다. 더욱이, 뉴클리어스는 (시스템 제어기에 비해) 근접성 및 낮은 오버헤드로 인해 고장 또는 유지 보수를 받고 있는 슈퍼 셀의 장치에 보다 쉽게 대응할 수 있다.
분산 저장 환경에서 장치를 제어하는 방법은 네트워크 내 복수의 장치를 복수의 슈퍼 셀로 분할하는 단계를 포함하며, 여기서 각 슈퍼 셀은 복수의 장치의 서브세트를 포함한다. 각각의 슈퍼 셀에 대해, 시스템 제어기는 슈퍼 셀 내의 한 장치를 뉴클리어스 장치로 지정하도록 구성되며, 여기서 슈퍼 셀 내의 뉴클리어스 장치는 슈퍼 셀 내의 멤버 장치를 제어한다. 시스템 제어기는 또한, 특정 작업과 연관된 커맨드를 뉴클리어스 장치로 전송하고 특정 작업의 수행에 관한 정보를 뉴클리어스 장치로부터 수신하도록 구성되며, 여기서 이 정보는 특정 작업의 각 부분의 수행과 연관된 슈퍼 셀의 멤버 장치로부터 집계된 정보를 포함한다.
분산 저장 시스템은 네트워크 내의 복수의 장치를 복수의 슈퍼 셀로 분할하도록 동작 가능한 시스템 제어기를 포함하고, 각각의 슈퍼 셀은 복수의 장치의 서브세트를 포함한다. 이 시스템은 시스템 제어기와 복수의 슈퍼 셀 사이에 통신을 가능하게 하도록 동작 가능한 백본을 포함한다. 또한, 이 시스템은 복수의 슈퍼 셀을 포함하고, 각 슈퍼 셀은 슈퍼 셀의 멤버 장치들로부터 지정된 뉴클리어스 장치를 포함하고, (a) 특정 작업과 연관된 시스템 제어기로부터 커맨드를 수신하고, (b) 슈퍼 셀 내의 멤버 장치들 사이에 특정 작업을 분배하고, (c) 이들 멤버 장치로부터 특정 작업의 수행에 관한 정보를 수집하고, (d) 이 정보를 시스템 제어기로 전달한다.
첨부된 도면과 함께 다음의 상세한 설명은 본 발명의 특성 및 장점에 대해 보다 잘 이해할 수 있게 할 것이다.
본 발명의 실시예는 첨부 도면의 도면에서 제한이 아닌 예로서 도시되며, 유사한 참조 번호는 유사한 요소를 지칭한다.
도 1은 본 발명의 분산 저장 환경의 실시예가 본 발명의 일 실시예에 따라 구현될 수 있는 컴퓨터 시스템이다.
도 2는 DUT가 제어된 환경 챔버에 배치되는 일반적인 테스트 환경을 도시한 것이다.
도 3은 테스터 슬라이스 및 테스터 슬라이스와 시스템 제어기 및 DUT와의 상호 접속의 예시적인 실시예를 도시한 블록도이다.
도 4a는 본 발명의 일 실시예에 따른 DUT 인터페이스 보드(DIB)와 인터페이스된 프리미티브를 도시한 것이다.
도 4b는 복수의 프리미티브를 포함하는 작업 셀을 도시한 것이다.
도 5는 본 발명의 일 실시예에 따른 2개의 슈퍼 셀을 갖는 예시적인 분산 네트워크 토폴로지를 도시한 것이다.
도 6은 본 발명의 일 실시예에 따른 4개의 슈퍼 셀을 갖는 다른 예시적인 분산 네트워크 토폴로지를 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른, 구성 명령이 시스템 제어기로부터 슈퍼 셀의 뉴클리어스 장치로 무선으로 전달되는 예시적인 분산 네트워크 토폴로지를 도시한 것이다.
도 8은 본 발명의 일 실시예에 따른, 슈퍼 셀을 사용하여 ATE 프레임워크에서 테스트를 실행하기 위한 구성을 도시한 것이다.
도 9는 본 발명의 일 실시예에 따른 분산 저장 환경에서 장치를 제어하기 위한 예시적인 컴퓨터 구현 프로세스의 흐름도를 도시한 것이다.
이제 본 개시의 다양한 실시예를 자세히 참고할 것이며, 그 예는 첨부 도면에 도시되어 있다. 본 개시는 이들 실시예와 관련하여 설명하지만, 본 개시를 이들 실시예로 제한하고자 하는 것은 아니다. 반대로, 본 개시는 첨부된 청구범위에 의해 정의되는 본 개시의 사상 및 범위 내에 포함될 수 있는 대안, 변형 및 균등물을 포함하고자 한다. 또한, 본 발명의 다음의 상세한 설명에서, 본 발명의 완전한 이해를 위해 다수의 특정 세부 사항을 설명한다. 그러나, 본 개시는 이러한 특정 세부 사항 없이도 실시될 수 있음을 이해할 수 있을 것이다. 다른 경우에, 공지된 방법, 절차, 컴포넌트 및 회로는 본 개시의 양태를 불필요하게 모호하게 하지 않기 위해 상세히 설명하지 않았다.
후술하는 상세한 설명의 일부분은 컴퓨터 메모리 내의 데이터 비트에 대한 동작의 절차, 논리 블록, 처리 및 다른 부호적 표현의 관점에서 제시된다. 이들 설명 및 표현은 데이터 처리 분야의 당업자가 자신의 작업의 내용을 다른 당업자에게 가장 효과적으로 전달하기 위해 사용하는 수단이다. 본 출원에서, 절차, 논리 블록, 프로세스 등은 원하는 결과를 이끌어내는 단계들 또는 명령어들의 일관된 시퀀스인 것으로 생각된다. 이들 단계는 물리량의 물리적을 이용하는 단계들이다. 일반적으로, 반드시 그런 것은 아니지만, 이러한 양은 컴퓨터 시스템에서 저장, 전송, 결합, 비교 및 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 이들 신호는 일반적으로 트랜잭션, 비트, 값, 요소, 심볼, 문자, 샘플, 픽셀 등으로 사용하기 때문에, 이렇게 지칭하는 것이 때론 편리한 것으로 밝혀졌다.
그러나, 이들 용어 및 유사한 용어들 모두는 적절한 물리량과 관련되며 이들 수량에 적용되는 편리한 라벨일 뿐이라는 점을 주지하라. 하기 논의로부터 명백하듯이 구체적으로 다르게 언급하지 않는 한, 본 개시 전반에 걸쳐, "분할", "지정", "송신", "수신", "구성", "제공", "실행", "획득", "구현", "프로그래밍", "할당", "연관", "설정", "액세스", "제어", "결정", "식별", "유지 관리", "판독", "기록"등과 같은 용어를 사용한 논의는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치 또는 프로세서(예컨대, 도 1의 시스템(110))의 동작 및 프로세스(예컨대, 도 9의 흐름도(900))를 지칭한다. 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치는 컴퓨터 시스템 메모리, 레지스터 또는 다른 그러한 정보 저장부, 전송 또는 디스플레이 장치 내에서 물리적(전자) 수량으로 표현된 데이터를 조작하고 변환한다.
본 명세서에서 설명하는 실시예들은 하나 이상의 컴퓨터 또는 다른 장치에 의해 실행되는, 프로그램 모듈과 같은, 일부 형태의 컴퓨터 판독 가능 저장 매체에 상주하는 컴퓨터 실행 가능 명령어의 일반적인 맥락에서 논의될 수 있다. 예를들어, 제한적인 것은 아니지만, 컴퓨터 판독 가능 저장 매체는 비일시적 컴퓨터 판독 가능 저장 매체 및 통신 매체를 포함할 수 있고, 비일시적 컴퓨터 판독 가능 매체는 일시적인 전파 신호를 제외한 모든 컴퓨터 판독 가능 매체를 포함한다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 프로그램 모듈의 기능은 다양한 실시예에서 원하는대로 조합되거나 분산될 수 있다.
컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비 분리형 매체를 포함한다. 컴퓨터 저장 매체는, RAM(random access memory), ROM(read only memory), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 또는 기타 메모리 기술, CD-ROM(compact disk ROM), DVD(digital versatile disks) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용할 수 있고 해당 정보를 검색하기 위해 액세스될 수 있는 기타 매체를 포함하지만 이에 제한되지 않는다.
통신 매체는 컴퓨터 실행 가능 명령어, 데이터 구조 및 프로그램 모듈을 구현할 수 있으며, 정보 전달 매체를 포함한다. 예를 들면, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체와, 음향, 무선 주파수(RF), 적외선 및 기타 무선 매체와 같은 무선 매체를 포함하지만, 이에 제한되지는 않는다. 이상의 것들 중 임의의 조합이 또한 컴퓨터 판독 가능 매체의 범위 내에 포함될 수 있다.
도 1은 본 발명의 일 실시예에 따른, 본 발명의 분산 저장 환경의 실시예가 구현될 수 있는 컴퓨터 시스템(110)이다.
일 실시예에서, 시스템(110)은 시스템 제어기(또는 제어 서버)의 기능을 수행할 수 있다. 시스템(110)은 컴퓨터 판독 가능 명령어를 실행할 수 있는 임의의 단일 또는 다중 프로세서 컴퓨팅 장치 또는 시스템을 광범위하게 나타낸다. 제어 시스템(110)의 예로는 워크 스테이션, 랩탑, 클라이언트 측 단말기, 서버, 분산 컴퓨팅 시스템, 핸드 헬드 장치, 또는 임의의 다른 컴퓨팅 시스템 또는 장치를 들 수 있지만, 이들로 제한되지는 않는다. 가장 기본적인 구성에서, 제어 시스템(110)은 적어도 하나의 프로세서(114) 및 시스템 메모리(116)를 포함할 수 있다.
프로세서(114)는 일반적으로 데이터를 처리하거나 또는 명령어를 해석하고 실행할 수 있는 임의의 유형 또는 형태의 처리 유닛을 나타낸다. 특정 실시예에서, 프로세서(114)는 소프트웨어 애플리케이션 또는 모듈로부터 명령어를 수신할 수 있다. 이들 명령어는 프로세서(114)로 하여금 본 명세서에 설명 및/또는 예시된 하나 이상의 예시적인 실시예의 기능을 수행하게 할 수 있다.
시스템 메모리(116)는 일반적으로 데이터 및/또는 다른 컴퓨터 판독 가능 명령어를 저장할 수 있는 임의의 유형 또는 형태의 휘발성 또는 비휘발성 저장 장치 또는 매체를 나타낸다. 시스템 메모리(116)의 예로는 RAM, ROM, 플래시 메모리, 또는 임의의 다른 적절한 메모리 장치가 있지만 이에 제한되지는 않는다. 요구되는 것은 아니지만, 특정 실시예에서, 제어 시스템(110)은 휘발성 메모리 유닛(예컨대, 시스템 메모리(116)) 및 비 휘발성 저장 장치(예컨대, 주 기억 장치(132))를 모두 포함할 수 있다.
테스터 제어 시스템(110)은 또한 프로세서(114) 및 시스템 메모리(116) 외에 하나 이상의 컴포넌트 또는 요소를 포함할 수 있다. 예를 들어, 도 2a의 실시예에서, 제어 시스템(110)은 메모리 제어기(118), 입/출력(I/O) 제어기(120), 및 통신 인터페이스(122)를 포함하며, 이들 각각은 통신 인프라스트럭처(112)를 통해 상호접속될 수 있다. 통신 인프라스트럭처(112)는 일반적으로 컴퓨팅 장치의 하나 이상의 컴포넌트 사이의 통신을 용이하게 할 수 있는 임의의 유형 또는 형태의 인프라 스트럭처를 나타낸다. 통신 인프라스트럭처(112)의 예로는 통신 버스(예컨대, ISA(Industry Standard Architecture), PCI(Peripheral Component Interconnect), PCIe(PCI Express) 또는 이와 유사한 버스)를 들 수 있지만 이에 제한되지 않는다.
메모리 제어기(118)는 일반적으로 메모리 또는 데이터를 처리하거나 제어 시스템(110)의 하나 이상의 컴포넌트들 사이의 통신을 제어할 수 있는 임의의 유형 또는 형태의 장치를 나타낸다. 예를 들어, 메모리 제어기(118)는 통신 인프라스트럭처(112)를 통해 프로세서(114), 시스템 메모리(116) 및 I/O 제어기(120) 사이의 통신을 제어할 수 있다.
I/O 제어기(120)는 일반적으로 컴퓨팅 장치의 입력 및 출력 기능을 조정 및/또는 제어할 수 있는 임의의 유형 또는 형태의 모듈을 나타낸다. 예를 들어, I/O 제어기(120)는 프로세서(114), 시스템 메모리(116), 통신 인터페이스(122), 디스플레이 어댑터(126), 입력 인터페이스(130) 및 스토리지 인터페이스(134)와 같은 제어 시스템(110)의 하나 이상의 요소들 사이에서 데이터의 전송을 제어하거나 또는 용이하게 할 수 있다.
통신 인터페이스(122)는 예시적인 제어 시스템(110)과 하나 이상의 추가 장치 사이의 통신을 용이하게 할 수 있는 임의의 유형 또는 형태의 통신 장치 또는 어댑터를 광범위하게 나타낸다. 예를 들어, 통신 인터페이스(122)는 추가 제어 시스템을 포함하는 사설 또는 공공 네트워크와 제어 시스템(110) 사이의 통신을 용이하게 할 수 있다. 통신 인터페이스(122)의 예로는 유선 네트워크 인터페이스(예컨대, 네트워크 인터페이스 카드), 무선 네트워크 인터페이스(예컨대, 무선 네트워크 인터페이스 카드), 모뎀 및 임의의 다른 적합한 인터페이스를 들 수 있지만, 이에 제한되지는 않는다. 일 실시예에서, 통신 인터페이스(122)는 인터넷과 같은 네트워크로의 직접 링크를 통해 원격 서버로의 직접 접속을 제공한다. 통신 인터페이스(122)는 또한 임의의 다른 적절한 접속을 통해 그러한 접속을 간접적으로 제공할 수도 있다.
통신 인터페이스(122)는 또한 외부 버스 또는 통신 채널을 통해 제어 시스템(110)과 하나 이상의 추가 네트워크 또는 저장 장치 사이의 통신을 용이하게 하도록 구성된 호스트 어댑터를 나타낼 수 있다. 호스트 어댑터의 예로는 SCSI(Small Computer System Interface) 호스트 어댑터, USB(Universal Serial Bus) 호스트 어댑터, IEEE(Institute of Electrical and Electronics Engineers) 1394 호스트 어댑터, SATA(Serial Advanced Technology Attachment) 및 eSATA(External SATA) 호스트 어댑터, ATA(Advanced Technology Attachment) 및 PATA(Parallel ATA) 호스트 어댑터, 파이버 채널 인터페이스 어댑터, 이더넷 어댑터 등이 있지만, 이들로 제한되지는 않는다. 통신 인터페이스(122)는 또한 제어 시스템(110)이 분산 또는 원격 컴퓨팅에 관여하게 할 수 있다. 예를 들어, 통신 인터페이스(122)는 원격 장치로부터 명령어를 수신하거나 실행을 위해 원격 장치로 명령어를 송신할 수 있다.
도 1에 도시된 바와 같이, 제어 시스템(110)은 또한 디스플레이 어댑터(126)를 통해 통신 인프라스트럭처(112)에 연결된 적어도 하나의 디스플레이 장치(124)를 포함할 수 있다. 디스플레이 장치(124)는 일반적으로 디스플레이 어댑터(126)에 의해 전달된 정보를 시각적으로 표시할 수 있는 임의의 유형 또는 형태의 장치를 나타낸다. 유사하게, 디스플레이 어댑터(126)는 일반적으로 디스플레이 장치(124) 상에 디스플레이하기 위해 그래픽, 텍스트 및 다른 데이터를 전달하도록 구성된 임의의 유형 또는 형태의 장치를 나타낸다.
도 1에 도시된 바와 같이, 제어 시스템(110)은 또한 입력 인터페이스(130)를 통해 통신 인프라스트럭처(112)에 연결된 적어도 하나의 입력 장치(128)를 포함할 수 있다. 입력 장치(128)는 일반적으로 제어 시스템(110)에 컴퓨터 또는 인간이 생성한 입력을 제공할 수 있는 임의의 유형 또는 형태의 입력 장치를 나타낸다. 입력 장치(128)의 예로는 키보드, 포인팅 장치, 음성 인식 장치 또는 임의의 다른 입력 장치를 포함하지만 이에 제한되지는 않는다.
도 1에 도시된 바와 같이, 제어 시스템(110)은 또한 저장 인터페이스(134)를 통해 통신 인프라스트럭처(112)에 연결된 주 기억 장치(132) 및 백업 저장 장치(133)를 포함할 수 있다. 저장 장치(132 및 133)는 일반적으로 데이터 및/또는 다른 컴퓨터 판독 가능 명령어를 저장할 수 있는 임의의 유형 또는 형태의 저장 장치 또는 매체를 나타낸다. 예를 들어, 저장 장치(132 및 133)는 자기 디스크 드라이브(예컨대, 이른바 하드 드라이브), 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 플래시 드라이브 등일 수 있다. 저장 인터페이스(134)는 일반적으로 저장 장치(132 및 133)와 제어 시스템(110)의 다른 컴포넌트 사이에서 데이터를 전송하기 위한 임의의 유형 또는 형태의 인터페이스 또는 장치를 나타낸다.
일례에서, 데이터베이스(140)는 주 기억 장치(132)에 저장될 수 있다. 데이터베이스(140)는 단일 데이터베이스 또는 컴퓨팅 장치의 일부를 나타낼 수도 있고 또는 복수의 데이터베이스 또는 컴퓨팅 장치를 나타낼 수 있다. 예를 들어, 데이터베이스(140)는 제어 시스템(110 )의 일부 및/또는 하기 도 2의 예시적인 네트워크 아키텍처(200)의 일부를 나타내거나 또는 그 일부에 저장될 수 있다. 또는, 데이터베이스(140)는 제어 시스템(110) 및/또는 네트워크 아키텍처(200)의 일부와 같은 컴퓨팅 장치에 의해 액세스될 수 있는 하나 이상의 물리적으로 분리된 장치를 나타내거나 또는 이 장치에 저장될 수 있다.
계속해서 도 1을 참조하면, 저장 장치(132 및 133)는 컴퓨터 소프트웨어, 데이터 또는 다른 컴퓨터 판독 가능 정보를 저장하도록 구성된 착탈식 저장 유닛에 대해 판독 및/또는 기록하도록 구성될 수 있다. 적절한 착탈식 저장 유닛의 예로는 플로피 디스크, 자기 테이프, 광 디스크, 플래시 메모리 장치 등을 들 수 있지만, 이에 제한되지는 않는다. 저장 장치(132 및 133)는 또한 컴퓨터 소프트웨어, 데이터 또는 다른 컴퓨터 판독 가능 명령어들이 제어 시스템(110)으로 로딩될 수 있게 하는 다른 유사한 구조들 또는 장치들을 포함할 수 있다. 예를 들어, 저장 장치(132 및 133)는 소프트웨어, 데이터 또는 다른 컴퓨터 판독 가능 정보를 판독 및 기록하도록 구성될 수 있다. 저장 장치(132 및 133)는 또한 제어 시스템(110)의 일부일 수도 있고 또는 다른 인터페이스 시스템을 통해 액세스되는 별도의 장치일 수도 있다.
많은 다른 장치 또는 서브 시스템이 제어 시스템(110)에 접속될 수 있다. 반대로, 본 명세서에 기술된 실시예를 실시하기 위해 도 1에 도시된 모든 구성 요소 및 장치가 존재할 필요는 없다. 전술한 장치 및 서브시스템은 도 1에 도시된 것과 다른 방식으로 상호접속될 수도 있다. 제어 시스템(110)은 또한 임의의 수의 소프트웨어, 펌웨어 및/또는 하드웨어 구성을 이용할 수 있다. 예를 들어, 본 명세서에 개시된 실시예는 컴퓨터 판독 가능 매체에 컴퓨터 프로그램(컴퓨터 소프트웨어, 소프트웨어 애플리케이션, 컴퓨터 판독 가능 명령어 또는 컴퓨터 제어 로직이라고도 함)으로서 인코딩될 수 있다.
컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능 매체는 제어 시스템(110)에 로딩될 수 있다. 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램의 전부 또는 일부는 이후에 시스템 메모리(116) 및/또는 저장 장치(132 및 133)의 다양한 부분에 저장될 수 있다. 프로세서(114)에 의해 실행될 경우, 제어 시스템(110)에 로딩된 컴퓨터 프로그램 은 프로세서(114)로 하여금 본 명세서에 기술하거나 예시한 실시예의 기능을 수행하기 위한 수단을 수행하거나 그러한 수단이 될 수 있다. 이에 더하여 또는 이에 갈음하여, 본 명세서에서 기술하거나 예시한 실시예는 펌웨어 및/또는 하드웨어로 구현될 수 있다.
분산 저장 환경(DECENTRALIZED STORAGE ENVIRONMENT)
도 2는 피시험 장치(DUT)가 제어된 환경 챔버(10) 또는 "오븐"에 배치되는 일반적인 테스트 환경을 보여준다. DUT, 예컨대, SSD는 테스트 헤드(20)의 테스터 슬라이스에 접속된다. 많은 DUT가 단일 테스터 슬라이스(40)에 접속될 수 있다. 테스터 슬라이스는 테스트 회로를 포함하며, 테스트 회로는 테스트 계획에 따라 DUT에 대해 테스트를 수행한다. 테스트 헤드(20)마다 많은 테스터 슬라이스가 있을 수 있다. DUT는 오븐(10)에 삽입될 때 트레이(30)에 배치된다. 오븐(10) 내에 있을 때, DUT는 일반적으로 챔버(10)의 제어된 환경을 방해하지 않도록 사용자가 접근할 수 없다. 또한, 테스트 헤드는 통상적으로 테스트 헤드에 직접 연결된 단일 시스템 제어기(도시되어 있지 않음)에 의해 제어되며, 이러한 방식으로 테스트 헤드(20)의 모든 슬라이스를 제어한다. DUT에 대한 테스트 계획을 실행하는 단일 사용자는 일반적으로 제어기 컴퓨터를 운영한다.
전술한 바와 같이, 이 테스트 환경의 문제점은, SSD 저장 장치 세트 또는 어레이가 ATE 시스템에서 테스트 중인 경우, 각각의 저장 장치가 시스템 제어기로부터 장치로의 별도의 통신 채널을 사용하여 통신한다는 것이다. 이로 인해 시스템 제어기에 연결된 주 통신 채널을 통과해야 하는 많은 양의 트래픽이 발생한다. 이는 시스템 제어기의 주 통신 접점에서 병목 현상을 일으킬 수 있다. 또한, 시스템 제어기가 장치 세트 내 각 개별 장치에 (세트의 용도 변경, 암호화 설정, 장치 재설정 등을 위해) 동일한 커맨드를 보내야 한다면, 커맨드 및 데이터를 복제해서 시스템 제어기로부터 각 장치로 전달해야 하므로 통신 메커니즘이 비효율적으로 된다.
도 3은 테스터 슬라이스 및 테스터 슬라이스와 시스템 제어기 및 DUT와의 상호 접속의 예시적인 실시예를 도시한 블록도이다.
도 3을 참조하면, 각각의 테스터 슬라이스는 사이트 모듈을 포함한다. 일 실시예에서, 사이트 모듈은 테스터 슬라이스(340A-340N) 상에 기계적으로 구성될 수 있는데, 여기서 각각의 테스터 슬라이스는 적어도 하나의 사이트 모듈을 포함한다. 통상의 실시예에서, 각각의 테스터 슬라이스는 2개의 사이트 모듈 및 2개의 장치 전원 공급 보드를 포함할 수 있다. 다른 실시예에서, 테스터 슬라이스는 보다 많거나 또는 보다 적은 사이트 모듈 및/또는 전원 공급 보드를 포함할 수도 있다. 예를 들어, 도 3의 테스터 슬라이스(340A)는 사이트 모듈(310A 및 310B) 및 장치 전원 공급 보드(332A 및 332B)를 포함한다. 그러나, 테스터 슬라이스 상에서 구성할 수 있는 장치 전원 공급 보드 또는 사이트 모듈의 수에는 제한이 없다. 테스터 슬라이스(340)는 네트워크 스위치(302)를 통해 시스템 제어기(301)에 연결된다. 네트워크 스위치(302)는 32비트 폭 버스를 사용하여 각 사이트 모듈에 연결될 수 있다.
일 실시예에서, 시스템 제어기(301)는 컴퓨터 시스템일 수 있는데, 예를 들면 ATE의 사용자가 테스트 프로그램을 로드하고 ATE(300)에 접속된 DUT에 대한 테스트를 실행할 수 있도록 사용자 인터페이스를 제공하는 개인용 컴퓨터(PC)일 수 있다. 아드반테스트 스타일러스(Advantest StylusTM) 운영 체제는 장치 테스트 중에 일반적으로 사용되는 테스트 소프트웨어의 한 예이다. 이 소프트웨어는 테스트를 구성하고 제어할 수 있게 하는 그래픽 사용자 인터페이스를 사용자에게 제공한다. 이 소프트웨어는 또한 테스트 흐름을 제어하고, 테스트 프로그램의 상태를 제어하며, 어느 테스트 프로그램이 실행중인지 판정하고, 테스트 결과 및 테스트 흐름과 관련된 기타 데이터를 기록하는 기능을 포함할 수 있다. 일 실시예에서, 시스템 제어기는 512개의 DUT에 접속되고 이를 제어할 수 있다.
일 실시예에서, 시스템 제어기(301)는 이더넷 스위치와 같은 네트워크 스위치를 통해 사이트 모듈 보드(310A-310B)에 접속될 수 있다. 다른 실시예들에서, 네트워크 스위치는 예를 들어 파이버 채널, 802.11 또는 ATM과 같은 다른 프로토콜과 호환될 수 있다.
장치 전원 공급 보드(332A-332B) 각각은 사이트 모듈(310A-310B) 중 하나로부터 제어될 수 있다. 테스터 프로세서(304)에서 실행되는 소프트웨어는 특정 사이트 모듈에 장치 전원을 할당하도록 구성될 수 있다. 일 실시예에서, 사이트 모듈(310A-310B)과 장치 전원(332A-332B)은 고속 직렬 프로토콜, 예를 들어 PCIe(Peripheral Component Interconnect Express), SATA(Serial AT Attachment) 또는 SAS(Serial Attached SCSI)를 사용하여 서로 통신하도록 구성된다.
일 실시예에서, 각각의 사이트 모듈은 도 3에 도시된 바와 같이 2개의 FPGA로 구성된다. 도 3 의 실시예에서 FPGA(316 및 318) 각각은 테스터 프로세서(304)에 의해 제어된다. 테스터 프로세서(304)는 도 3에 시스템 버스(330, 332)로 나타낸 PCIe와 같은 8개의 레인의 고속 직렬 프로토콜 인터페이스를 사용하여 각각의 FPGA와 통신할 수 있다. 다른 실시예에서, 테스터 프로세서(304)는 상이한 고속 직렬 프로토콜, 예를 들어 직렬 SATA(Serial AT Attachment) 또는 SAS(Serial Attached SCSI)를 이용하여 FPGA와 통신할 수도 있다.
FPGA(316 및 318)는 메모리 모듈(308 및 304)에 제각기 접속된다. 메모리 모듈은 FPGA 장치 및 테스터 프로세서(304) 모두와 결합되고 이들에 의해 제어될 수 있다.
FPGA(316 및 318)는 제각기 버스(352 및 354)를 통해 로드 보드(380)상의 DUT(372A-372M)에 접속될 수 있다. 로드 보드(380)는 라인(352 및 354)에서 DUT와 통신하기 위해 사용되는 프로토콜에 무관한 사이트 모듈 단부에서 범용 고속 접속을 허용하는 물리적인 하니스(harness)이다. 그러나, DUT 단부에서는 로드 보드가 DUT에 의해 사용되는 프로토콜에 특정된 커넥터를 갖도록 설계되어야 한다.
도 3은 테스터 슬라이스의 예시적인 실시예일 뿐이라는 점에 유의해야 한다. 또한, 본 발명의 실시예는 도 3에 도시된 테스터 슬라이스의 유형으로만 제한되지 않음에 유의해야 한다. 본 발명의 실시예는 이하에 더 논의되는 바와 같이 상이한 유형의 테스터 슬라이스 및 프리미티브를 포함할 수 있다.
본 발명의 일 실시예에서, DUT(372A-372M)는 테스트를 위해 열 챔버(390) 내부에 배치되는 로드 보드(380) 상에 로딩된다. DUT(372A-372M) 및 로드 보드(380)는 장치 전원(332A, 332B)으로부터 전력을 얻는다.
각 FPGA에 접속될 수 있는 DUT의 수는 FPGA의 트랜시버 수 및 각 DUT에 필요한 I/O 레인 수에 따라 결정된다. 일 실시예에서, FPGA(316 및 318)는 각각 32개의 고속 트랜시버를 포함할 수 있고, 버스(352 및 354)는 각각 32 비트 폭일 수 있지만, 응용에 따라 더 많거나 더 적게 구현될 수 있다. 예를 들어, 각각의 DUT에 8개의 I/O 레인이 필요한 경우, 해당 시스템의 각 FPGA에 4개의 DUT만 접속할 수 있다.
도 4a는 본 발명의 일 실시예에 따른 DUT 인터페이스 보드(DIB)와 인터페이스된 프리미티브를 도시한 것이다. 도 2에 도시된 테스터 슬라이스(40)와 유사하게, 도 4의 프리미티브는 테스트 헤드에 들어맞고 테스트 회로를 포함하는 개별 테스트 모듈의 한 유형으로, 테스트 회로는 테스트 계획에 따라 DUT에 대해 테스트를 수행한다. 프리미티브는 모든 다양한 전자기기, 예컨대 사이트 모듈, 전원 등을 수용하는 인클로저(450)를 포함한다. DIB(400)는 DUT(420)용 크기의 커스텀 커넥터를 사용하여 복수의 DUT(420)를 수용할 수 있다. DIB(400)는 인클로저(470)를 포함할 수 있다. DIB(400)는 도 3에 도시된 로드 보드(380)와 유사한 로드 보드(도시되어 있지 않음)를 통해 프리미티브(410)의 범용 백플레인(도시되어 있지 않음)에 인터페이스한다. 프리미티브(410)는 DUT(420)에 대한 테스트 계획을 수행하기 위한 테스트 회로(도 3에 도시된 테스터 슬라이스(340A)와 유사함)를 포함한다. 프리미티브(410)는 임의의 다른 프리미티브와 독립적으로 동작할 수 있고 제어 서버(도 3에 도시된 시스템 제어기(301)와 유사함)에 접속된다.
도 4b는 단일 테스터 랙(492) 내에 복수의 프리미티브(491)를 포함하는 작업 셀을 도시한 것이다. 본 발명의 실시예는 DUT를 테스트하기 위해 복수의 프리미티브(도 4b에 도시된 프리미티브와 유사함) 및 관련 DIB를 이용한다. 본 발명의 실시예는 또한 테스터 슬라이스(도 2의 테스터 슬라이스(40)와 유사함)를 사용하여 DUT를 테스트할 수 있다. 각 프리미티브(또는 테스터 슬라이스)는 모듈식인데, 이는 다른 프리미티브(또는 테스터 슬라이스)와 독립적으로 동작할 수 있음을 의미한다. 프리미티브는 명령, 제어, 관리 등을 위해 제어 서버와 통신한다. 제어 서버는 지원하는 다양한 프리미티브에 대한 복수의 애플리케이션 프로그램 또는 테스트 계획을 호스트할 수 있다. 프리미티브는 표준 IP 네트워크를 통해 서버와 통신할 수 있다. 원격으로 위치해 있는 다양한 컴퓨터 시스템이 표준 IP 네트워크 접속을 통해 서버에 액세스할 수 있다.
각각의 프리미티브는 동시에 여러 SSD에 접속되어 이들을 테스트할 수 있다. 또한, 각각의 프리미티브는 제어 서버에 의해 제어된다. 전술한 바와 같이, 이 테스트 환경과 관련된 문제는 종래의 시스템에서는 ATE 프레임워크 내의 프리미티브에 접속된 각 SSD가 개별 통신 채널을 사용하여 제어 서버와 통신하여 시스템 제어기에서 병목을 발생시킨다는 것이다. 또한, 그 결과 시스템 제어기가 프리미티브에 접속된 모든 장치에 복제 명령을 전송하게 된다.
본 발명의 일 실시예에서, 시스템 제어기(예컨대, 도 3의 제어기(301))는 프리미티브(예컨대, 도 4b에 도시된 바와 같이 랙에 배열된 프리미티브) 내의 뉴클리어스 장치에 연결될 수 있으며, 여기서 시스템 제어기는 제어 및 구성 정보를 프리미티브 내의 뉴클리어스 장치로 송신하고, 뉴클리어스 장치는 프리미티브 내의 다른 멤버 장치(예컨대, SSD DUT)와 통신한다. 예를 들어, 도 5에 도시된 바와 같이, 슈퍼 셀(530) 및 관련 뉴클리어스 장치(550)는 테스트 랙 내의 단일 프리미티브의 일부일 수 있는 반면, 슈퍼 셀(540) 및 관련 뉴클리어스 장치(555)는 동일한 테스트 랙 내의 다른 프리미티브의 일부일 수 있다. 시스템 제어기(501)(시스템 제어기(301)와 유사함)는 이하에 더 설명되는 바와 같이 다양한 프리미티브(및 관련 슈퍼 셀)와 통신한다.
또한 전술한 바와 같이, (도 2, 3, 4A 및 4B와 관련하여 논의한) ATE 프레임워크에서 직면하는 것과 유사한 과제가 일반적으로 클라우드 컴퓨팅 시스템에서도 발생한다. 예를 들어, 종래의 클라우드 컴퓨팅 환경에서, 제어 서버는 일반적으로 장치를 구성하고 제어하기 위해 클라우드 기반 시스템의 각 장치와 통신할 수 있어야 한다. 이는 오버헤드로 인해 데이터 대역폭이 줄어들게 한다. 클라우드 컴퓨팅 시스템에 관한 실시예에서, 슈퍼 셀(530 및 540)은 이메일 또는 다른 데이터를 저장하는 서버 팜의 일부인 저장 장치를 포함할 수 있다.
도 5는 본 발명의 일 실시예에 따른 2개의 슈퍼 셀을 갖는 예시적인 분산 네트워크 토폴로지를 도시한 것이다. 종래의 ATE 또는 클라우드 컴퓨팅 시스템의 단점을 해결하기 위해, 본 발명의 실시예는 하나 이상의 "슈퍼 셀"로 조직되는 네트워크 토폴로지를 제공하며, 각각의 슈퍼 셀은 다수의 SSD 장치를 포함한다. 시스템 제어기(510)는 하나 이상의 슈퍼 셀(도 5의 슈퍼 셀(530, 540))을 구성한다. 슈퍼 셀은 임의의 크기를 가질 수 있는데, 즉, 각 슈퍼 셀은 임의의 수의 SSD 장치를 포함할 수 있다. 또한, 단일 네트워크 내의 각 슈퍼 셀이 다른 슈퍼 셀과 상이한 크기를 가질 수도 있다. 일 실시예에서, 슈퍼 셀 내의 장치는 단일 저장 유닛으로서 동작하도록 구성될 수 있다.
도 5에 도시된 실시예는 ATE 프레임워크 환경 및 클라우드 컴퓨팅 환경 모두에 적용 가능하다는 점에 유의해야 한다. 전술한 바와 같이, 슈퍼 셀(530) 및 관련 뉴클리어스 장치(550)는 테스트 랙 내의 단일 프리미티브의 일부일 수 있는 반면, 슈퍼 셀(540) 및 관련 뉴클리어스 장치(555)는 동일한 테스트 랙 내의 다른 프리미티브의 일부일 수 있다. 또는, 슈퍼 셀(530 및 540)이 이메일 또는 다른 데이터를 저장하는 클라우드 컴퓨팅 시스템의 서버 팜의 일부인 저장 장치를 포함할 수 있다.
도 5에 도시된 바와 같이, 시스템 제어기(510)는 백본, 예를 들어 PCIe 백본에 접속된다. 백본은 여러 통신 프로토콜 중 하나를 사용할 수 있으며 PCIe로 제한되지 않는다. 또한, SSD 장치의 2개의 슈퍼 셀(530 및 540)이 백본(520)에 연결된다. 각각의 세트는 복수의 SSD 장치를 포함하고, 이들은 모두 PCIe 백본(520)에 접속된다. SSD 장치는, 동일 장소에 위치하는 경우, 이들 사이의 무선 통신 기능을 가질 수 있다. 멤버 장치의 무선 범위는 특정 예에서 슈퍼 셀의 크기를 제한할 수 있음에 유의해야 한다. 예를 들어, 슈퍼 셀 내의 장치들이 서로 무선으로 통신하도록 구성될 경우, 슈퍼 셀의 크기는 슈퍼 셀 내의 각 장치가 신호 감쇠없이 서로 무선으로 통신할 수 있도록 제한된다. 즉, 슈퍼 셀의 모든 멤버 장치는 신호 손실없이 서로 통신할 수 있어야 한다.
다른 실시예에서는, 슈퍼 셀의 장치들이 뉴클리어스와만 대화하도록 구성되며 이들 사이에 통신할 필요가 있다. 이 실시예에서, 슈퍼 셀은 모든 장치가 어떠한 신호 저하없이 뉴클리어스 장치와 통신할 수 있도록 하는 크기가 필요하다.
ATE 프레임워크 또는 클라우드 컴퓨팅 시스템 내 각각의 슈퍼 셀에서, 분산 시스템은 슈퍼 셀 내의 장치들(예컨대, SSD 장치) 중 하나를 뉴클리어스 또는 서브 제어기 장치로 선택하도록 구성될 것이다. 즉, 전체 ATE 프레임워크 또는 클라우드 컴퓨팅 시스템은 장치의 다수의 장치 서브세트(또는 슈퍼 셀)를 포함하며, 여기서 뉴클리어스로 지정된 슈퍼 셀 내의 장치가 각각의 서브세트 또는 슈퍼 셀을 제어한다.
일 실시예에서, 초기 구성 동안, 각각의 서브세트 또는 슈퍼 셀은 일련의 커맨드 및 정보가 슈퍼 셀을 도는 뉴클리어스 선택 프로세스(도 5에 요소(560 및 565)로 표시)로 들어갈 수 있다. 장치들은 프로그래밍되는데 이용될 수 있는 특정 기준, 예컨대 가장 높은 처리 능력 또는 가장 많은 리소스를 갖는 장치를 선택하는 것 등에 기초하여 뉴클리어스를 선택한다. 뉴클리어스 선택 프로세스 동안, 슈퍼 셀 내의 장치들은 서로 무선으로 통신할 수 있다. 이 통신은 또한 백본(520)을 통해 수행될 수 있다. 뉴클리어스 선택 프로세스의 결과는 각각의 슈퍼 셀이 장치(550) 및 장치(555)로 도시된 뉴클리어스를 선택한다는 것이다.
슈퍼 셀의 다양한 멤버들 사이의 뉴클리어스 선택 프로세스를 통해 뉴클리어스가 확립되는 실시예에서, 뉴클리어스의 아이덴티티가 선택 후에 시스템 제어기(510)로 전달된다.
다른 실시예에서, 예를 들어, 시스템 제어기는 네트워크의 다양한 SSD 장치를 슈퍼 셀로 조직할 수 있으며, 또한 지정된 각 슈퍼 셀의 장치를 뉴클리어스로 선택할 수 있다. 예를 들어, 시스템 제어기는 분산 토폴로지 내의 각각의 장치가 속하는 슈퍼 셀을 지정하고, 또한 각각의 슈퍼 셀에 대한 뉴클리어스를 결정할 수 있다. 예로서, 시스템 제어기는, 각각의 슈퍼 셀이 14개의 멤버만을 갖도록 지정할 수 있고, 또한 각각의 슈퍼 셀 내의 14개의 장치 중 하나가 멤버 장치의 활동을 관리하기 위한 뉴클리어스로서 동작하도록 지정할 수 있다.
일 실시예에서, 시스템 제어기는 단순히 네트워크 내 특정 장치(예컨대, 가장 많은 자원을 갖는 장치)를 뉴클리어스 장치로 지정할 수 있다. 각각의 뉴클리어스는 자율적으로 프로그래밍되어 인근 SSD와 통신하고 통신 프로토콜을 설정하여 슈퍼 셀에 멤버쉽을 설정할 수 있다. 예를 들어, 뉴클리어스는 근처의 장치를 폴링하고 아직 다른 슈퍼 셀의 일부가 아닌 장치를 멤버십 기반에 통합할 수 있다. 슈퍼 셀이 설정되면, 뉴클리어스는 시스템 제어기(510)와 다시 통신하여 슈퍼 셀을 구성하는 모든 SSD의 집합을 보고한다.
뉴클리어스는 슈퍼 셀을 제어하고 시스템 제어기(510)와 통신하며 그 반대도 마찬가지이다. 뉴클리어스 선택에 사용된 기준은 일 실시예에서 임의적일 수 있다. 예를 들어, 기준은 뉴클리어스 장치로서 가장 많은 자원을 갖는 장치를 선택하는 것을 포함할 수 있다. 이와 달리, 다른 기준, 예를 들어 더 빠른 프로세서 또는 최상의 "건강" 기록을 갖는 장치를 선택하는 것이 사용될 수 있다. 결국, 슈퍼 셀 내의 어떤 장치를 뉴클리어스로 지정할지를 결정하기 위해 임의의 다른 수의 상이한 기준이 사용될 수 있다.
여기서, 일단 슈퍼 셀 및 뉴클리어스가 확립되면, 시스템 제어기(510)는 슈퍼 셀의 임의의 또는 모든 장치를 제어하기 위해 배치 커맨드 또는 데이터 또는 상태 정보를 뉴클리어스에 전달할 수 있다. 즉, 슈퍼 셀과 뉴클리어스가 확립되면, 슈퍼 셀 내의 임의의 장치로의 통신 또는 커맨드는 먼저 시스템 제어기로부터 뉴클리어스 장치로 송신된다. 그 후 뉴클리어스가 개별 장치와 통신한다. 이는 어떠한 업스트림 통신에 대해서도 마찬가지이다. 예를 들어, ATE 프레임워크에서, 뉴클리어스 장치는 시스템 제어기(510)로부터 테스트 프로그램에 관한 정보를 수신할 수 있고, 이어서 각 멤버 장치에 대한 테스트 스케줄링을 담당할 것이다. 즉, 일 실시예에서, 뉴클리어스는, 시스템 제어기로부터 테스트 프로그램 정보를 수신해서 슈퍼 셀의 모든 멤버 장치에 대해 특정 테스트를 실행하도록 프로그래밍될 수 있다. 이렇게 하면, 제어기가 접속된 모든 장치의 테스트를 동시에 관리할 필요가 없기 때문에, 피시험 장치(DUT)당 테스트 실행 비용이 줄어든다.
일반적으로 뉴클리어스를 제외한 어떠한 슈퍼 셀(예컨대, 530 및 540)의 멤버도 시스템 제어기(510)와 직접 통신하지 않을 것이라는 점에 유의해야 한다. 일 실시예에서, 뉴클리어스는 슈퍼 셀 내의 모든 장치와 무선으로 통신할 수 있다.
실제로, 슈퍼 셀이 확립된 후, 시스템 제어기(510)는 슈퍼 셀을 단일의 큰 저장 장치인 것처럼 취급할 수 있고, 뉴클리어스를 시스템 제어기(510)로부터의 고 레벨 커맨드를 어레이의 내 SSD 장치에 대한 저 레벨의 개별 커맨드 및 데이터로 변환하는 중개자가 될 수 있게 한다. 슈퍼 셀의 장치로부터 상태 정보를 수집하는 경우에도 마찬가지이다. 실제로, 슈퍼 셀의 장치는 상태 정보를 뉴클리어스에 전달할 수 있으며, 뉴클리어스는 이 정보를 집계하여 시스템 제어기(510)로 전송할 수 있다. 일 실시예에서, 이들 기능은 시스템 제어기(510)와 뉴클리어스(550 또는 555) 사이에 커맨드 신택스를 확립함으로써 구현될 수 있다.
일 실시예에서, 뉴클리어스는 슈퍼 셀 내의 다른 장치들을 직접 제어하고 이들과 통신할 수 있다. 이 때문에 시스템 제어기는 각 장치를 독립적으로 제어할 필요가 없게 된다. 전술한 바와 같이, 본 발명의 일 실시예에서, 시스템 제어기는 명령어 또는 데이터를 뉴클리어스로 전송할 수 있고, 그러면 뉴클리어스가 (시스템 제어기에서 수신된 명령어에 따라) 커맨드, 상태, 데이터 또는 구성 정보를 슈퍼 셀의 다른 장치와 직접 통신할 수 있으며, 이러한 정보가 시스템 제어기로부터 나올 필요는 없다. 즉, 스토리지 백본을 통한 구성 커맨드는 서버와 뉴클리어스 장치 사이에서만 발생한다. 이는 명령 및 구성 정보 대신 데이터를 통신하도록 백본(520)을 비운다(free up).
일 실시예에서, 시스템 제어기(510)와 뉴클리어스 장치(550 및 555) 사이에서 교환되는 구성 커맨드는 무선 네트워크로 마이그레이션되어, 유선 백본은 저장 데이터만 통신하도록 비워진다. 이를 통해 스토리지 백플레인 통신으로부터 (제어기와 뉴클리어스 장치 사이에 교환되는) 구성/하우스키핑(house-keeping) 커맨드를 완전히 분리할 수 있다. 커맨드가 시스템 제어기(510)로부터 네트워크의 모든 뉴클리어스 장치로 전달될 수 있는 방법 중 하나는 도 7과 관련하여 추가로 논의되는 바와 같이 노드 호핑을 통하는 것이다.
시스템 제어기(510)로부터 슈퍼 셀의 각각의 개별 SSD가 아니라 뉴클리어스로 소정의 통신이 이루어짐으로써, PCIE 트래픽이 PCIE 백본(20) 상의 시스템 제어기 근처의 병목 지점에서 감소하는 이점이 있다. 그렇지 않으면 개별 SSD로부터 제어기(510)로의 별도의 통신을 요구하는 뉴클리어스로부터 시스템 제어기(510)로의 어떠한 통신에 대해서도 마찬가지이다. 슈퍼 셀의 SSD 장치는 또한 서로 무선으로 통신할 수 있기 때문에, 이는 백본(520)의 트래픽을 추가로 감소시킨다.
데이터 경로로부터 특정 셋업 및 하우스 키핑 커맨드를 오프로드하면 본 발명의 실시예는 전체 네트워크 데이터 전송 대역폭을 유리하게 증가시킬 수 있다. 이는 시스템 제어기의 병목 현상을 완화하고 시스템 제어기가 커맨드를 슈퍼 셀의 각 하드 드라이브에 직접 복제해야 할 필요를 경감시키기 때문에, 종래의 ATE 시스템 및 클라우드 컴퓨팅 네트워크에 비해 상당한 진전이다.
또한, 뉴클리어스는 일반적으로 시스템에서 장치의 서브세트만 제어하고 이들 장치와 매우 근접해 있을 것이므로, 이들 장치 중 어느 것에 대한 고장 또는 유지 보수에 관한 정보를 쉽게 검색할 수 있다.
도 5의 분산 토폴로지는 몇 가지 다른 유리한 기능을 제공한다. 일단 뉴클리어스가 확립되면, 뉴클리어스에 의해 알려진 로드 밸런싱 특성 및 이력 정보에 기초하여 특정 장치로 데이터를 전송함으로써, SSD의 슈퍼 셀 또는 서브세트에 걸친 데이터 스토리지의 로드 밸런싱에 효과적일 수 있다. 이것은 제어기(510)에 대해 투명하게 수행될 수 있다. 뉴클리어스는 시스템 제어기보다 훨씬 작은 SSD의 서브세트를 관리하고 있기 때문에 이러한 로드 밸런싱을 수행할 대역폭을 갖고 있다.
또한, 구성 정보가 제어기(510)로부터 뉴클리어스로 전달될 수 있고, 뉴클리어스는 슈퍼 셀의 장치를 개별적으로 구성하는 것(예컨대, 슈퍼 셀의 용도 변경 등)을 담당할 수 있다. 일 실시예에서, 뉴클리어스는 시스템 제어기에 의해 특정 작업을 수행하도록 구성될 수 있으며, 그러면 뉴클리어스는 특정 작업을 수행하기 위해 슈퍼 셀 내 하드 드라이브를 구성하고 용도 변경시킬 수 있다. 즉, 일단 뉴클리어스가 특정 기능을 수행하도록 구성되면, 뉴클리어스는 그 기능을 슈퍼 셀의 다른 멤버 장치에게 브로드캐스트하거나 분배할 수 있다. 따라서, 뉴클리어스는 제어기(510)로부터의 커맨드에 기초하여 슈퍼 셀을 용도변경하는 역할을 할 수 있다.
뉴클리어스는 또한 슈퍼 셀에 걸쳐 중복 스토리지를 설정하는 것을 담당할 수 있다. 또한, 뉴클리어스는 또한 슈퍼 셀의 각각의 SSD 장치로부터 상태 및 건강/진단 정보를 수집하고 그 정보를 제어기(510)로 다시 전달하고/하거나 불량하거나 또는 장애가 있음을 나타낼 수 있는 SDD를 드롭시키거나 또는 감소시키도록 조치를 취하는 것을 담당할 수 있다. 이런 방식으로 도 5의 토폴로지는 종래의 시스템에 비해 장애가 있거나 또는 유지 보수 중인 SSD에 대응하는 데 훨씬 적합하므로, 컴퓨터 관련 기술을 크게 개선할 수 있다.
일 실시예에서, 뉴클리어스는 또한 제어기(510)로부터 수신된 명령에 따라 슈퍼 셀에 걸쳐 암호화를 확립하는 역할을 할 수 있다.
도 6은 본 발명의 일 실시예에 따른 4개의 슈퍼 셀을 갖는 다른 예시적인 분산 네트워크 토폴로지를 도시한 것이다. 도 6에 도시된 바와 같이, 시스템 제어기(620)는 스토리지 백플레인 네트워크(690)를 통해 슈퍼 셀과 통신한다. 도 6은 분산 네트워크(여러 프리미티브 또는 클라우드 컴퓨팅 네트워크를 포함하는 ATE 프레임워크일 수 있음) 내의 4개의 서로 다른 슈퍼 셀(610, 620, 640 및 650)을 도시한 것이다. 도 6에 도시된 바와 같이, 모든 슈퍼 셀이 동일한 크기를 가질 필요는 없다. 예를 들어, 슈퍼 셀(640)은 다른 슈퍼 셀보다 더 적은 멤버 장치를 갖는다.
일 실시예에서, 뉴클리어스 장치는 필요한 경우 멤버 드라이브를 추가하도록 프로그램될 수 있다. 예를 들어, 슈퍼 셀(610)의 뉴클리어스 장치(691)가 특정 작업을 수행하도록 프로그래밍되고 시간이 지남에 따라 작업을 수행하기 위해 슈퍼 셀에 더 많은 스토리지 드라이브가 필요하다면, 뉴클리어스 장치는, 예를 들어 아직은 슈퍼 셀의 일부가 아닌 드라이브(687)를 추가하도록 프로그램될 수 있다. 또는, 뉴클리어스 장치(691)는 슈퍼 셀(620)로부터 드라이브를 빌리기 위해 뉴클리어스 장치(692)와 통신하도록 프로그래밍될 수 있다.
유사하게, 슈퍼 셀의 멤버 장치가 고장나거나 유지 보수를 받고 있는 경우, 뉴클리어스 장치는 문제가 있는 장치에 대응하는데 시스템 제어기(620)보다 훨씬 더 양호하게 배치되어 있다. 뉴클리어스가 멤버 장치가 고장나거나 유지 보수 중이라고 판정하고 슈퍼 셀이 기능 장애 장치를 보상하기 위해 추가 스토리지를 필요로 하는 경우, 뉴클리어스는 인접 슈퍼 셀로부터 장치를 빌리거나 또는, 예를 들어 장치(687)와 같이 어떠한 슈퍼 셀에도 속하지 않은 장치를 포함시킬 수 있다.
또한, 일 실시예에서, 전체 슈퍼 셀이 서비스될 필요가 있는 경우, 근처의 슈퍼 셀 및 그와 관련된 뉴클리어스 장치가 서비스되는 슈퍼 셀의 기능을 수행하도록 용도 변경될 수 있다. 예를 들어, 슈퍼 셀(610)이 특정 임계 데이터를 저장하는 경우, 슈퍼 셀(620)의 뉴클리어스 장치(692)는 슈퍼 셀이 서비스되는 동안 슈퍼 셀(610)의 기능을 수행하도록 멤버 장치를 제어하도록 일시적으로 프로그래밍될 수 있다.
일 실시예에서, 특정 슈퍼 셀의 뉴클리어스 장치가 고장난 경우, 인접 슈퍼 셀의 뉴클리어스 장치가 고장난 뉴클리어스 장치의 멤버를 채용할 수 있다. 예를 들어, 뉴클리어스 장치(691)가 고장나거나 유지 보수를 받고 있다면, 뉴클리어스 장치(692)가 슈퍼 셀(610)의 모든 멤버 장치를 채용하도록 구성될 수 있다.
또한, 일 실시예에서, 슈퍼 셀(610) 내의 다른 멤버 장치가 뉴클리어스 장치(691)와 동일한 계산 능력을 갖는 경우, 본 발명의 실시예는 또한 멤버 장치가 뉴클리어스의 역할을 수행하도록 승격시키는 유연성을 갖도록 프로그램될 수 있다. 즉, 멤버 장치가 요구되는 최소 계산 능력을 갖고 있다고 가정하면, 뉴클리어스 장치가 고장나거나 유지 보수 중인 경우, 이 멤버 장치가 뉴클리어스 장치의 역할을 하도록 승격될 수 있다.
따라서, 본 발명의 실시예는 유연성 및 리던던시를 통해 향상된 신뢰도를 제공한다. 예를 들어, 멤버 장치는 고장나거나 유지 보수 중일 때 다른 장치로 교체될 수 있다. 다른 예로서, 뉴클리어스 장치는 슈퍼 셀의 기능을 변경하도록 쉽게 재구성될 수 있다. 또한, 슈퍼 셀은 하드 드라이브 멤버십을 변경할 수 있는 유연성을 갖추고 있다. 더 많은 자원이 필요한 경우, 뉴클리어스 장치를 재구성해서 인접 슈퍼 셀의 하드 드라이브 멤버를 재할당할 수 있다. 또한, 슈퍼 셀이 고장 나거나 유지 보수를 위해 오프라인 상태인 경우, 인접 슈퍼 셀을 일시적으로 재구성하여 서비스를 이어나갈 수 있다. 본 발명의 실시예들에 의해 유연성이 증가되어, 실시간 신뢰도가 더욱 높아진다.
도 7은 본 발명의 일 실시예에 따른, 구성 명령이 시스템 제어기로부터 슈퍼 셀의 뉴클리어스 장치로 무선으로 전달되는 예시적인 분산 네트워크 토폴로지를 도시한 것이다. 도 7에 도시된 실시예에서, 노드-홉핑(hopping)을 통해 인접 슈퍼 셀로/또는 이로부터 슈퍼 셀로 커맨드를 전송함으로써, 구성 커맨드가 시스템 제어기(720)로부터 타겟 슈퍼 셀(725)로 전달된다. 도 7에 도시된 바와 같이, 커맨드는 먼저 슈퍼 셀(723)에 의해 수신된다. 슈퍼 셀(723)의 뉴클리어스 장치는 제어기(720)로부터 수신된 커맨드를 분석하고 이들 커맨드가 다른 슈퍼 셀을 위한 것인지 판정하도록 구성된다. 슈퍼 셀(723)의 뉴클리어스 장치는 이들 커맨드를 타겟 슈퍼 셀(725)의 방향으로 인접해 있는 슈퍼 셀로 무선으로 전송할 수 있다. 일련의 유사한 노드 홉을 지나서, 커맨드는 최종적으로 타겟 슈퍼 셀(725)에 도달한다. 이런 방식으로 타겟 슈퍼 셀 구성 커맨드는 무선 통신을 통해 타겟 슈퍼 셀의 멤버 하드 드라이브 커뮤니티에 배포된다.
도 7에 도시된 슈퍼 셀은 ATE 프레임워크에서 테스트되는 SSD를 포함하거나 예를 들어 서버 팜(server farm)과 같은 클라우드 컴퓨팅 시스템에 저장 장치를 포함할 수 있음에 유의해야 한다.
도 8은 본 발명의 일 실시예에 따른, 슈퍼 셀을 사용하여 ATE 프레임워크에서 테스트를 실행하기 위한 구성을 도시한 것이다.
전술한 바와 같이, ATE 프레임워크에서, 뉴클리어스 장치는 시스템 제어기(800)로부터 테스트 프로그램에 관한 정보를 수신할 수 있고, 이어서 각 멤버 장치에 대한 테스트 스케줄링을 담당할 것이다. 즉, 일 실시예에서, 뉴클리어스는 시스템 제어기로부터 테스트 프로그램 정보를 수신하고 슈퍼 셀의 모든 멤버 장치에 대해 특정 테스트를 실행하도록 프로그래밍될 수 있다.
도 8에 도시된 바와 같이, 시스템 제어기(800)는 복수의 프리미티브, 예를 들어 프리미티브(801, 802, 803 및 804)에 접속하여 이들과 통신할 수 있다. 일 실시예에서, 도 8에 도시된 각각의 프리미티브는 도 4b에 도시된 바와 같이 단일 랙에 배치될 수 있다.
일 실시예에서, 프리미티브에 접속된 장치들 중 하나는 뉴클리어스, 예를 들어 뉴클리어스(891 또는 892)로 선택될 수 있다. 프리미티브 내에서 테스트되는 장치들 중 하나일 수 있는 뉴클리어스는 프리미티브 내의 다른 모든 멤버 장치의 활동을 제어할 것이다. 다른 실시예에서, 프리미티브는 복수의 뉴클리어스 장치(예컨대, 장치(893, 894 및 895))를 포함할 수 있으며, 이들 각각은 도 8에 도시된 바와 같이 자신의 멤버 장치 세트에 접속된다. 이러한 방식으로, 각 개별 프리미티브가 테스트하고 관리하는 SSD의 수가 증가한다.
프리미티브에 접속된 다른 SSD의 테스트를 관리하기 위해 프리미티브에서 하나 이상의 뉴클리어스 장치를 선택하면, 시스템 제어기(800) 및 SSD가 접속되는 프리미티브 내의 각 테스터 슬라이스에 대한 계산 처리 부하가 줄어든다.
일 실시예에서, 뉴클리어스 장치(예컨대, 장치(891, 893 등))는 피시험 장치는 아니지만 접속된 모든 SSD 장치의 테스트를 관리하도록 프로그램되는 특별히 구성된 제어기 장치일 수 있다.
뉴클리어스 장치는, 예를 들어 접속된 DUT에 대한 테스트의 실행을 개시하고, 그 결과를 모아서 시스템 제어기(800)에 다시 보고하도록 구성될 수 있다. 예를 들어, 뉴클리어스 장치는 특정 멤버 장치에 대한 특정 테스트를 실행하거나 특정 장치에 대한 특정 테스트 패턴을 실행하도록 인텔리전스로 프로그래밍될 수 있다. 또한, 멤버 장치는 그들의 결과를 뉴클리어스 장치에 무선으로 통신하도록 구성될 수 있으며, 이는 프리미티브에 대한 다수의 물리적 접속의 필요성을 제거하고 네트워크 트래픽을 감소시킨다.
일 실시예에서, 임의의 뉴클리어스 내의 멤버 장치의 무선 기능은, 예컨대 무선 기능을 제공할 수 있는 SSD와 같은 멤버 장치의 외부 포트에 맞는 확장 카드 또는 도터 카드로 활성화될 수 있다. 확장 카드는 유선 백본에 접속될 수 있어 SSD를 유선 및 무선 통신 기능으로 사용할 수 있게 한다. 백본으로의 유선 접속은 주로 스토리지 데이터를 전달하는 데 사용될 수 있지만 무선 접속은 전술한 제어 및 구성 커맨드에 사용될 수 있다.
도 9는 본 발명의 일 실시예에 따른 탈집중화 또는 분산 저장 환경에서 장치를 제어하기 위한 예시적인 컴퓨터 구현 프로세스의 흐름도를 도시한 것이다. 그러나, 본 발명은 흐름도(900)에 의해 제공되는 설명으로 한정되지 않는다. 오히려, 다른 기능적 흐름들이 본 발명의 범위 및 사상 내에 있다는 것이 본 명세서에 제공된 개시로부터 당업자에게 명백할 것이다. 흐름도(900)는 전술한 실시예들을 계속 참조하여 설명할 것이지만, 방법은 이들 실시예들로 제한되지 않는다.
단계(902)에서, 시스템 제어기(510)는 네트워크(클라우드 컴퓨팅 네트워크 또는 ATE 프레임워크) 내의 장치를 복수의 슈퍼 셀로 분할하도록 구성되며, 각 슈퍼 셀은 복수의 멤버 장치를 포함한다.
단계(904)에서, 각각의 슈퍼 셀의 멤버 장치 중 하나는 뉴클리어스 장치로서 지정되고, 뉴클리어스 장치는 슈퍼 셀 내의 다른 멤버 장치를 제어한다. 뉴클리어스 장치는 시스템 제어기(501)에 의해 지정될 수 있다. 또는, 뉴클리어스 장치는 일부 기준에 기초하여 멤버 장치들이 그들 가운데서 뉴클리어스 장치를 선택하는 선택 프로세스를 통해 선택될 수 있다.
단계(906)에서, 구성 및 다른 하우스 키핑 커맨드가 시스템 제어기(510)로부터 각각의 뉴클리어스 장치와 관련된 슈퍼 셀이 수행할 필요가 있는 특정 작업과 연관된 네트워크 내 뉴클리어스 장치(예컨대, 550 및 555)로 전송된다. 뉴클리어스 장치는 특정 작업을 수행하도록 멤버 장치를 구성하도록 프로그램된다.
단계(908)에서, 각각의 슈퍼 셀의 뉴클리어스 장치로부터 정보가 수신되며, 그 결과는 각각의 뉴클리어스 장치의 멤버 장치로부터의 특정 작업의 수행과 관련된 정보를 포함한다.
설명을 위해, 전술한 설명은 특정 실시예를 참조하여 기술하였다. 그러나, 상기 예시적인 논의는 본 발명을 개시된 정확한 형태로 철저하게 하거나 제한하려는 것이 아니다. 위 개시에 비추어 많은 수정 및 변형이 가능하다. 실시예들은 본 발명의 원리 및 그 실제 응용을 가장 잘 설명하기 위해 선택하여 설명하였으며, 당업자가 본 발명 및 특정 용도에 적합한 다양한 변형을 갖는 다양한 실시예를 가장 잘 이용할 수 있게 한다.

Claims (25)

  1. 분산 환경에서 장치를 제어하는 방법으로서,
    네트워크 내의 복수의 장치를 복수의 슈퍼 셀로 분할하는 단계 - 각각의 슈퍼 셀은 상기 복수의 장치의 서브세트를 포함함 - 와,
    각각의 슈퍼 셀에 대해,
    상기 슈퍼 셀 내의 장치를 뉴클리어스 장치로 지정하는 단계 - 상기 슈퍼 셀 내의 뉴클리어스 장치는 상기 슈퍼 셀 내의 멤버 장치를 제어함 - 와,
    특정 작업과 연관된 커맨드를 상기 뉴클리어스 장치로 송신하는 단계 - 상기 뉴클리어스 장치는 상기 멤버 장치와 통신하고, 상기 특정 작업의 일부분을 수행하도록 상기 멤버 장치를 구성함 - 와,
    상기 뉴클리어스 장치로부터 상기 특정 작업의 수행에 대한 정보를 수신하는 단계 - 상기 정보는 상기 특정 작업의 제각기의 부분의 수행과 연관된 상기 슈퍼 셀의 상기 멤버 장치로부터 집계된 정보를 포함함 - 를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 복수의 장치는 솔리드 스테이트 장치(SSD)를 포함하는
    방법.
  3. 제1항에 있어서,
    상기 복수의 장치는 피시험 장치(DUT)인
    방법.
  4. 제3항에 있어서,
    상기 네트워크는 복수의 프리미티브와 통신가능하게 연결된 시스템 제어기를 포함하는 자동 검사 장치(ATE) 프레임워크이며, 상기 복수의 프리미티브는 상기 복수의 장치에 통신가능하게 연결되어 이들 장치를 테스트하도록 구성되고, 상기 복수의 프리미티브 각각은 상기 복수의 장치의 서브세트와 통신하여 이들 장치를 테스트하도록 구성되는
    방법.
  5. 제4항에 있어서,
    상기 복수의 프리미티브 각각에 연결된 상기 복수의 장치의 제각기의 서브세트는 슈퍼 셀을 포함하는
    방법.
  6. 제4항에 있어서,
    상기 분할하는 단계, 상기 지정하는 단계, 상기 송신하는 단계 및 상기 수신하는 단계는 상기 시스템 제어기에 의해 수행되고, 상기 시스템 제어기는 유선 PCIe 백본을 통해 상기 복수의 슈퍼 셀의 제각기의 뉴클리어스 장치와 커맨드 정보를 통신하도록 구성되는
    방법.
  7. 제4항에 있어서,
    상기 분할하는 단계, 상기 지정하는 단계, 상기 송신하는 단계 및 상기 수신하는 단계는 상기 시스템 제어기에 의해 수행되고, 상기 시스템 제어기는 노드 호핑(node-hopping)을 사용하여 무선 네트워크를 통해 상기 복수의 슈퍼 셀의 제각기의 뉴클리어스 장치와 커맨드 정보를 통신하도록 구성되는
    방법.
  8. 제1항에 있어서,
    상기 네트워크는 클라우드 컴퓨팅 네트워크이고, 상기 복수의 장치는 상기 클라우드 컴퓨팅 네트워크 내의 SSD인
    방법.
  9. 제1항에 있어서,
    상기 지정하는 단계는 사전 결정된 기준 세트에 기초하여 상기 뉴클리어스 장치를 선택하는 단계를 포함하는
    방법.
  10. 제9항에 있어서,
    상기 사전결정된 기준 세트는 장치의 처리 능력, 장치의 성능 기록(performance history), 장치의 저장 용량으로 이루어진 그룹으로부터 선택되는
    방법.
  11. 제1항에 있어서,
    상기 지정하는 단계는 상기 슈퍼 셀의 상기 멤버 장치들 사이의 선택 프로세스에 기초하여 상기 뉴클리어스 장치를 선택하는 단계를 포함하는
    방법.
  12. 제1항에 있어서,
    상기 멤버 장치는 무선 네트워크를 통해 상기 뉴클리어스 장치와 통신하도록 구성되는
    방법.
  13. 제1항에 있어서,
    상기 뉴클리어스 장치는, 상기 복수의 슈퍼 셀 중 이웃하는 슈퍼 셀들로부터 추가의 멤버 장치를, 자신의 제각기의 슈퍼 셀에 추가하도록 구성되는
    방법.
  14. 제1항에 있어서,
    각각의 슈퍼 셀에 대해, 뉴클리어스 장치가 고장났다는 판정에 응답하여, 상기 슈퍼 셀 내의 멤버 장치 중 하나를 뉴클리어스 장치의 상태로 승격시키는 단계를 더 포함하는
    방법.
  15. 제1항에 있어서,
    상기 멤버 장치는 제각기의 슈퍼 셀의 상기 뉴클리어스 장치와 독점적으로 통신하도록 구성되는
    방법.
  16. 분산 저장 시스템으로서,
    네트워크 내의 복수의 장치를 복수의 슈퍼 셀로 분할하도록 동작가능한 시스템 제어기 - 각각의 슈퍼 셀은 상기 복수의 장치의 서브세트를 포함함 - 와,
    상기 시스템 제어기와 상기 복수의 슈퍼 셀 사이에 통신을 가능하게 하도록 동작 가능한 백본과,
    상기 복수의 슈퍼 셀을 포함하되,
    각각의 슈퍼 셀은, 상기 슈퍼 셀 내의 멤버 장치로부터 지정된 뉴클리어스 장치를 포함하고, 상기 시스템 제어기로부터 특정 작업과 연관된 커맨드를 수신하고, 상기 슈퍼 셀 내의 상기 멤버 장치들 사이에 상기 특정 작업을 할당하며, 상기 멤버 장치로부터 상기 특정 작업의 수행에 관한 정보를 수집하고, 상기 정보를 상기 시스템 제어기에 전달하도록 구성되는
    분산 저장 시스템.
  17. 제16항에 있어서,
    상기 복수의 장치는 솔리드 스테이트 장치(SSD)를 포함하는
    분산 저장 시스템.
  18. 제16항에 있어서,
    상기 복수의 슈퍼 셀 각각은 ATE 프레임워크 내의 프리미티브와 연관되고, 상기 ATE 프레임워크 내의 각각의 프리미티브는 상기 복수의 장치의 제각기의 서브세트에 대한 테스트를 제어하는
    분산 저장 시스템.
  19. 제16항에 있어서,
    상기 네트워크는 클라우드 컴퓨팅 네트워크이고, 상기 복수의 장치는 상기 클라우드 컴퓨팅 네트워크 내의 SSD인
    분산 저장 시스템.
  20. 제16항에 있어서,
    상기 뉴클리어스 장치는 무선 네트워크를 통해 상기 멤버 장치와 통신하는
    분산 저장 시스템.
  21. 제16항에 있어서,
    상기 뉴클리어스 장치는 상기 백본을 통해 상기 시스템 제어기와 통신하는
    분산 저장 시스템.
  22. 제16항에 있어서,
    상기 뉴클리어스 장치는 노드호핑에 의해 무선 네트워크를 통해 상기 시스템 제어기와 통신하고, 상기 백본은 저장 데이터에 관한 정보를 전달하도록 동작가능한
    분산 저장 시스템.
  23. 분산 저장 네트워크로서,
    복수의 슈퍼 셀 - 각각의 슈퍼 셀은 복수의 멤버 장치를 포함하고, 상기 복수의 멤버 장치 중에서 선택된 뉴클리어스 장치는 상기 복수의 멤버 장치와 통신하고 제어하도록 동작가능함 - 과,
    상기 복수의 슈퍼 셀 각각의 관련 뉴클리어스 장치와 독점적으로 통신하도록 동작가능한 시스템 제어기 - 상기 시스템 제어기는 상기 복수의 슈퍼 셀 각각의 상기 관련 뉴클리어스 장치와 구성 및 커맨드 정보를 교환함 - 와,
    상기 복수의 슈퍼 셀을 상기 시스템 제어기에 통신가능하게 연결하도록 동작가능한 백본 - 상기 백본은, 상기 복수의 슈퍼 셀 각각의 상기 관련 뉴클리어스 장치와 상기 시스템 제어기 사이에서 커맨드 및 구성 정보를 전달하고 상기 복수의 슈퍼 셀 각각의 상기 복수의 멤버 장치와 상기 시스템 제어기 사이에서 저장 데이터를 전달하는데 사용됨 - 을 포함하되,
    상기 시스템 제어기는 특정 작업과 연관된 커맨드를 상기 복수의 슈퍼 셀 각각의 상기 관련 뉴클리어스 장치로 전달하고, 상기 관련 뉴클리어스 장치는 상기 특정 작업의 일부분을 수행하도록 제각기의 슈퍼 셀의 멤버 장치를 구성하는
    분산 저장 네트워크.
  24. 제23항에 있어서,
    상기 복수의 슈퍼 셀 각각의 멤버 장치는 제각기의 슈퍼 셀의 상기 관련 뉴클리어스 장치와 독점적으로 통신하도록 구성되는
    분산 저장 네트워크.
  25. 제23항에 있어서,
    상기 복수의 멤버 장치는 솔리드 스테이트 장치(SSD)를 포함하는
    분산 저장 네트워크.
KR1020190120744A 2018-12-20 2019-09-30 분산 저장 환경 KR102226566B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/227,479 2018-12-20
US16/227,479 US11108640B2 (en) 2018-12-20 2018-12-20 Controlling devices in a decentralized storage environment

Publications (2)

Publication Number Publication Date
KR20200077388A true KR20200077388A (ko) 2020-06-30
KR102226566B1 KR102226566B1 (ko) 2021-03-10

Family

ID=71097893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190120744A KR102226566B1 (ko) 2018-12-20 2019-09-30 분산 저장 환경

Country Status (5)

Country Link
US (1) US11108640B2 (ko)
JP (1) JP6871980B2 (ko)
KR (1) KR102226566B1 (ko)
CN (1) CN111352745B (ko)
TW (1) TWI743554B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6733768B1 (ja) * 2019-03-29 2020-08-05 ダイキン工業株式会社 機器ネットワークシステム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1083315A (ja) * 1996-06-07 1998-03-31 Toshiba Corp 分散形試験ユニット、診断ネットワークシステム、および診断方法
JP3192890B2 (ja) * 1994-11-21 2001-07-30 富士通株式会社 並列試験装置
KR20070047427A (ko) * 2005-11-02 2007-05-07 삼성전자주식회사 네트워크상의 장치 그룹을 모니터링하는 시스템 및 방법
KR20160012982A (ko) * 2013-02-21 2016-02-03 주식회사 아도반테스토 프로토콜 독립적 디바이스 시험 시스템 내 프로토콜 재구성을 지원하는 클라우드 기반 인트라스트럭처

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4097274B2 (ja) * 2004-07-07 2008-06-11 株式会社東芝 リソース探索方法、クラスタシステム、計算機、及び、クラスタ
US7860968B2 (en) * 2005-11-21 2010-12-28 Sap Ag Hierarchical, multi-tiered mapping and monitoring architecture for smart items
US8307366B2 (en) * 2006-03-30 2012-11-06 Apple Inc. Post-processing phase in a distributed processing system using assignment information
JP4308241B2 (ja) * 2006-11-10 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション ジョブ実行方法、ジョブ実行システム及びジョブ実行プログラム
US8321870B2 (en) * 2009-08-14 2012-11-27 General Electric Company Method and system for distributed computation having sub-task processing and sub-solution redistribution
CN102065112B (zh) * 2009-11-18 2013-04-03 ***通信集团公司 对等网络***、建立对等网络***的方法及相关装置
US8612580B2 (en) * 2011-05-31 2013-12-17 Microsoft Corporation Distributed computing framework
US9042229B2 (en) * 2011-10-06 2015-05-26 International Business Machines Corporation Partitioning a network switch into multiple switching domains
US9672073B2 (en) * 2012-06-07 2017-06-06 Sybase, Inc. Non-periodic check-pointing for fine granular retry of work in a distributed computing environment
CN103902225B (zh) * 2012-12-26 2017-04-12 中国电信股份有限公司 存储资源集中管理的方法与***
US9565626B2 (en) * 2013-01-17 2017-02-07 Qualcomm Incorporated Prioritizing radio access types for closed subscriber group cells
JP6089884B2 (ja) * 2013-03-29 2017-03-08 富士通株式会社 情報処理システム,情報処理装置,情報処理装置の制御プログラム,及び情報処理システムの制御方法
US9538134B2 (en) * 2013-12-23 2017-01-03 Vonage Business Inc. Method and system for resource load balancing in a conferencing session
US8989199B1 (en) * 2014-02-24 2015-03-24 Level 3 Communications, Llc Control device discovery in networks having separate control and forwarding devices
US9468078B1 (en) * 2015-05-01 2016-10-11 Abl Ip Holding Llc Lighting system with cellular networking
US10966128B2 (en) * 2016-02-15 2021-03-30 Telefonaktiebolaget Lm Ericsson (Publ) Network nodes and methods performed therein for enabling communication in a communication network
US10557886B2 (en) * 2017-04-28 2020-02-11 Advantest Corporation Test system supporting multiple users using different applications
US10289797B1 (en) * 2017-08-28 2019-05-14 Cadence Design Systems, Inc. Local cluster refinement
US10511524B2 (en) * 2017-10-03 2019-12-17 Futurewei Technologies, Inc. Controller communications in access networks
US20190342172A1 (en) * 2018-05-01 2019-11-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Sending predefined configuration information from a first computer to a second computer in a management network group
US10776097B2 (en) * 2018-07-30 2020-09-15 International Business Machines Corporation Hierarchical spanning tree software patching with fragmentation support

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3192890B2 (ja) * 1994-11-21 2001-07-30 富士通株式会社 並列試験装置
JPH1083315A (ja) * 1996-06-07 1998-03-31 Toshiba Corp 分散形試験ユニット、診断ネットワークシステム、および診断方法
KR20070047427A (ko) * 2005-11-02 2007-05-07 삼성전자주식회사 네트워크상의 장치 그룹을 모니터링하는 시스템 및 방법
KR20160012982A (ko) * 2013-02-21 2016-02-03 주식회사 아도반테스토 프로토콜 독립적 디바이스 시험 시스템 내 프로토콜 재구성을 지원하는 클라우드 기반 인트라스트럭처

Also Published As

Publication number Publication date
JP6871980B2 (ja) 2021-05-19
CN111352745A (zh) 2020-06-30
US20200204447A1 (en) 2020-06-25
JP2020102192A (ja) 2020-07-02
TW202032370A (zh) 2020-09-01
TWI743554B (zh) 2021-10-21
KR102226566B1 (ko) 2021-03-10
US11108640B2 (en) 2021-08-31
CN111352745B (zh) 2024-02-27

Similar Documents

Publication Publication Date Title
US10162007B2 (en) Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently
US9952276B2 (en) Tester with mixed protocol engine in a FPGA block
US10161993B2 (en) Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
US9810729B2 (en) Tester with acceleration for packet building within a FPGA block
US8812913B2 (en) Method and apparatus for isolating storage devices to facilitate reliable communication
US10855791B2 (en) Clustered storage system path quiescence analysis
US9310427B2 (en) High speed tester communication interface between test slice and trays
US20140236527A1 (en) Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US20140237292A1 (en) Gui implementations on central controller computer system for supporting protocol independent device testing
KR102479320B1 (ko) 상이한 애플리케이션을 사용하는 복수의 사용자를 지원하기 위한 시험 시스템
US11828787B2 (en) Eye diagram capture test during production
CN105446657A (zh) 一种监控raid卡的方法
CN105094687B (zh) 固态硬盘控制电路及固态硬盘装置与固态硬盘存取***
KR102226566B1 (ko) 분산 저장 환경
CN116009785A (zh) 一种硬盘管理的方法及计算设备
CN114201439B (zh) 服务器信号识别优化方法、***及存储介质
CN108959026A (zh) 一种精确监控raid卡的方法
US11029882B2 (en) Secure multiple server access to a non-volatile storage device
CN107273198B (zh) 一种ssd控制芯片的中断控制方法、装置及ssd设备
US11747999B1 (en) Automated non-disruptive migration of hosts to an authenticated storage array connection
US11876864B1 (en) Using predictive analytics on SFP metrics to influence the target port selection process
US20220342709A1 (en) Distributed storage workload management
CN116208620A (zh) 一种算力模块集群的***镜像烧录装置及方法
CN117194123A (zh) Raid卡测试方法、测试装置以及测试治具板
CN115048048A (zh) 数据存储***、数据存储方法、存储介质及电子装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant