KR20220086690A - 기지국에서의 섀도우 계산 - Google Patents
기지국에서의 섀도우 계산 Download PDFInfo
- Publication number
- KR20220086690A KR20220086690A KR1020227018246A KR20227018246A KR20220086690A KR 20220086690 A KR20220086690 A KR 20220086690A KR 1020227018246 A KR1020227018246 A KR 1020227018246A KR 20227018246 A KR20227018246 A KR 20227018246A KR 20220086690 A KR20220086690 A KR 20220086690A
- Authority
- KR
- South Korea
- Prior art keywords
- base station
- memory
- cellular base
- shadow
- calculation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/08—Access point devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5015—Service provider selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mobile Radio Communication Systems (AREA)
- Executing Machine-Instructions (AREA)
Abstract
기지국에서 섀도우 계산을 구현하기 위한 시스템 및 방법. 시스템 및 방법은, 모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 기지국(예를 들어, 셀룰러 기지국)에서 개시하는 것을 포함하는 방법을 포함할 수 있다. 메인 계산은 계산 작업을 포함할 수 있고, 섀도우 계산은 메인 계산의 적어도 일부이거나 파생물일 수 있다. 방법은 기지국에 의해 섀도우 계산을 실행하는 단계를 더 포함할 수 있다.
Description
관련 출원
본 출원은 미국 특허 출원 번호 16/713,996(출원일: 2019년 12월 13일, 발명의 명칭: "SHADOW COMPUTATIONS IN BASE STATIONS")(전체 내용이 본 명세서에 포함됨)의 우선권을 주장한다.
기술 분야
본 명세서에 개시된 적어도 일부 실시형태는 기지국에서 섀도우 계산을 하는 것에 관한 것이다. 그리고, 본 명세서에 개시된 적어도 일부 실시형태는 계산 능력을 갖는 메모리 모듈에 관한 것이다. 또한, 본 명세서에 개시된 적어도 일부 실시형태는 복수의 이러한 메모리 모듈을 갖는 시스템에 관한 것이다.
기지국은 지상 모바일 서비스에서 지상국으로 간주될 수 있다. 이 용어는 모바일 전화, 무선 컴퓨터 네트워킹 및 기타 무선 통신의 맥락에서 그리고 토지 측량의 맥락에서 사용될 수 있다. 셀룰러 기지국은 안테나와 전자 통신 장비가 배치되는 셀룰러 가능 모바일 디바이스 사이트이다. 배치는 라디오 마스트, 타워 또는 기타 돌출된 구조물에 있을 수 있다. 이러한 구조물은 셀룰러 네트워크에서 셀(또는 인접 셀)을 형성할 수 있다. 돌출된 구조물은 안테나와 하나 이상의 트랜시버 세트, 디지털 신호 프로세서, 제어 전자 기기, 타이밍을 위한 GPS 수신기, 기본 및 백업 전력 공급원, 보호를 지원할 수 있다.
일반적으로, 기지국은 컴퓨터 하드웨어 구성요소를 포함할 수 있다. 그리고, 컴퓨터 하드웨어 구성요소는 인쇄 회로 보드(PCB)에 장착될 수 있다. 컴퓨터 하드웨어 구성요소는 집적 회로에 통합될 수도 있다. 이러한 집적 회로는 PCB에 장착될 수 있다. PCB는 전도성 트랙, 패드 및 기타 특징부를 사용하여 전자 구성요소를 기계적으로 지지하고 전기적으로 연결할 수 있다.
메모리 모듈은 다수의 메모리 구성요소가 PCB에 장착되는 PCB를 포함할 수 있다. 이러한 메모리 모듈의 예로는 단일 인라인 메모리 모듈(SIMM) 및 이중 인라인 메모리 모듈(DIMM)을 포함한다. 단일 인라인 메모리 모듈(SIMM)은 랜덤 액세스 메모리를 포함하는 메모리 모듈 유형이다. SIMM은 SIMM의 접점이 모듈의 양쪽에서 중복된다는 점에서 이중 인라인 메모리 모듈(DIMM)과는 다르다. DIMM의 경우에는 그렇지 않다. DIMM은 모듈의 각 측에 별도의 전기 접점을 가진다. 또 다른 차이점은 SIMM에는 일반적으로 32비트 데이터 경로가 있는 반면 DIMM에는 일반적으로 64비트 데이터 경로가 있다는 것이다. DIMM은 일반적으로 하나 이상의 DIMM을 포함할 수 있을 만큼 충분히 큰 현재 컴퓨터에 사용되고, DIMM은 다수의 동적 랜덤 액세스 메모리(DRAM) 집적 회로를 포함할 수 있다. 랩톱 컴퓨터와 같은 더 작은 컴퓨터의 경우 종종 작은 아웃라인 이중 인라인 메모리 모듈(SO-DIMM)이 사용된다.
또한, 메모리 구성요소는 시스템 온 칩(SoC)에 통합될 수 있다. SoC는 컴퓨터 구성요소를 단일 칩에 통합하는 집적 회로(IC)이다. SoC에서 일반적인 컴퓨터 구성요소는 중앙 처리 유닛(CPU), 메모리, 입력/출력 포트 및 보조 저장부를 포함한다. SoC는 단일 기판 또는 마이크로칩에 모든 구성요소를 포함할 수 있으며, 일부 칩은 1/4보다 작을 수 있다. SoC는 다양한 신호 처리 기능을 포함할 수 있으며, 그래픽 처리 유닛(GPU)과 같은 특수 프로세서 또는 보조 프로세서를 포함할 수 있다. 긴밀하게 통합된 것에 의해 SoC는 동등한 기능의 기존 멀티칩 시스템보다 훨씬 적은 전력을 소비할 수 있다. 이것은 (예를 들어, 스마트폰 및 태블릿에서) 모바일 컴퓨팅 디바이스의 통합에 유리한 SoC를 만든다. 또한, SoC는 (특히 스마트 디바이스가 작은 경우) 임베디드 시스템과 사물 인터넷에 유용할 수 있다.
본 발명은 이하에 주어진 상세한 설명 및 본 발명의 다양한 실시형태의 첨부된 도면으로부터 보다 완전히 이해될 수 있을 것이다.
도 1 및 도 2는 본 발명의 일부 실시형태에 따라 섀도우 계산을 제공할 수 있는 기지국을 포함하는 예시적인 네트워크 시스템을 도시한다.
도 3 및 도 4는 본 발명의 일부 실시형태에 따라 도 1 및 도 2에 도시된 기지국에 의해 수행될 수 있는 예시적인 동작의 흐름도를 도시한다.
도 5 및 도 6은 본 발명의 일부 실시형태에 따른 예시적인 메모리 모듈을 도시한다.
도 7 및 도 8은 본 발명의 일부 실시형태에 따른 예시적인 메모리 모듈 시스템을 도시한다.
도 9는 본 발명의 일부 실시형태에 따른 컴퓨팅 디바이스를 포함하는 예시적인 네트워크 시스템을 도시한다.
도 1 및 도 2는 본 발명의 일부 실시형태에 따라 섀도우 계산을 제공할 수 있는 기지국을 포함하는 예시적인 네트워크 시스템을 도시한다.
도 3 및 도 4는 본 발명의 일부 실시형태에 따라 도 1 및 도 2에 도시된 기지국에 의해 수행될 수 있는 예시적인 동작의 흐름도를 도시한다.
도 5 및 도 6은 본 발명의 일부 실시형태에 따른 예시적인 메모리 모듈을 도시한다.
도 7 및 도 8은 본 발명의 일부 실시형태에 따른 예시적인 메모리 모듈 시스템을 도시한다.
도 9는 본 발명의 일부 실시형태에 따른 컴퓨팅 디바이스를 포함하는 예시적인 네트워크 시스템을 도시한다.
본 명세서에 개시된 적어도 일부 실시형태는 기지국에서 섀도우 계산을 하는 것에 관한 것이다. 일부 실시형태에서, 모바일 디바이스의 계산은 셀룰러 기지국과 같은 기지국으로 부분적으로 또는 완전히 오프로드(offloaded)된다. 기지국은 특수 목적 제어기 또는 중앙 처리 유닛으로 구성된 메모리 모듈 또는 메모리 모듈 시스템(예를 들어, DIMM 또는 복수의 DIMM을 갖는 시스템)을 포함하는 컴퓨팅 디바이스를 포함할 수 있다. 모바일 디바이스가 하나의 기지국의 범위로부터 다른 기지국 범위로 이동함에 따라 모바일 디바이스의 계산 작업도 하나의 기지국으로부터 다른 기지국으로 이동할 수 있다. 예를 들어, 가장 가까운 기지국은 모바일 디바이스의 섀도우 컴퓨팅 유닛으로 기능하고 섀도우 계산을 수행할 수 있다.
또한, 본 명세서에 개시된 적어도 일부 실시형태는 기지국에서 섀도우 계산을 구현하기 위한 시스템 및 방법을 포함한다. 시스템 및 방법은, 모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 기지국(예를 들어, 셀룰러 기지국)에서 개시하는 것을 포함하는 방법을 포함할 수 있다. 메인 계산은 계산 작업을 포함할 수 있고, 섀도우 계산은 메인 계산의 적어도 일부이거나 파생물(derivative)일 수 있다. 방법은 기지국에 의해 섀도우 계산을 실행하는 단계를 더 포함할 수 있다.
또한, 본 명세서에 개시된 적어도 일부 실시형태는 계산 능력을 갖는 메모리 모듈에 관한 것이다. 그리고, 본 명세서에 개시된 적어도 일부 실시형태는 복수의 이러한 메모리 모듈을 갖는 시스템에 관한 것이다. 이러한 메모리 모듈 및 이러한 시스템은 본 명세서에 개시된 기지국들 중 임의의 하나에 포함될 수 있다. 보다 구체적으로, 본 명세서에 개시된 적어도 일부 실시형태는 복수의 메모리 칩, 적어도 하나의 제어기(예를 들어, 중앙 처리 유닛 또는 특수 목적 제어기), 및 메모리 모듈에 대한 입력 및 출력 데이터를 전달하도록 구성된 적어도 하나의 인터페이스 디바이스를 갖는 메모리 모듈을 포함한다. 입력 및 출력 데이터는 메모리 모듈이 설치된 컴퓨팅 디바이스의 적어도 하나의 프로세서(예를 들어, 중앙 처리 유닛)를 우회한다. 그리고, 적어도 하나의 인터페이스 디바이스는 입력 및 출력 데이터를 컴퓨팅 디바이스의 적어도 하나의 다른 메모리 모듈에 전달하도록 구성될 수 있다. 또한, 메모리 모듈은 메모리 모듈 시스템의 복수의 메모리 모듈 중 하나의 모듈일 수 있다. 또한, 메모리 모듈 또는 메모리 모듈 시스템은 본 명세서에 개시된 기지국들 중 임의의 하나에 포함될 수 있다.
일부 실시형태에서, 메모리 모듈은 DIMM, SO-DIMM, 등록된 DIMM(RDIMM), 미니-RDIMM, 소켓형 메모리 스택 또는 소켓형 시스템 온 패키지 또는 다른 유형의 메모리용 패키지 온 패키지(PoP)이거나 이를 포함할 수 있다. 그리고, 일부 실시형태에서, 메모리 모듈은 GPU, 인공 지능(AI) 가속기, 및/또는 메모리 내 처리(PIM) 유닛과 같은 특수 목적 칩을 포함하도록 구성될 수 있다. 또한, 일부 실시형태에서, 메모리 모듈은 프로세서와 메모리 모듈 사이의 메모리 버스를 통하지 않고 유선 연결, 무선 연결 또는 이들의 조합을 통해 주변 디바이스(예를 들어, 디스플레이 또는 다른 유형의 사용자 인터페이스)에 결과를 출력할 수 있다. 예를 들어, 일부 실시형태에서, 메모리 모듈은 메모리 모듈과 메모리 모듈을 호스팅하는 컴퓨팅 디바이스의 메인 프로세서 사이의 메모리 버스를 통하지 않고 유선 연결 또는 무선 연결 또는 칩 내 광 상호 연결부를 통해 주변 디바이스에 결과를 출력할 수 있다. 본 명세서에 개시된 이러한 메모리 모듈 및 기타 메모리 모듈은 그래픽 파이프라인의 처리(예를 들어, 기하 형상, 투영, 조명, 클리핑, 래스터화, 셰이딩, 스크린 스트리밍 등을 위한 데이터 처리)를 가속화할 수 있다. 또한, 서로 통신하는 복수의 이러한 메모리 모듈을 갖는 시스템은 그래픽 파이프라인의 처리를 더욱 가속화할 수 있다.
도 1은 적어도 기지국(102)(셀룰러 기지국일 수 있음) 및 컴퓨팅 디바이스(122a, 122b 및 122c)를 포함하는 것으로 도시된 예시적인 네트워크 시스템(100)을 도시한다. 도 2에 도시된 네트워크 시스템(100)은 또한 적어도 모바일 디바이스(200) 및 기지국(222a, 222b 및 222c)을 포함하는 것으로 도시된다. 기지국(222a 내지 222c)은 셀룰러 기지국일 수 있다. 네트워크 시스템(100)은 본 발명의 일부 실시형태에 따라 섀도우 계산을 제공할 수 있다.
도 1의 예시된 구성요소 중 적어도 일부는 기능적으로 및/또는 구조적으로 도 2의 예시된 구성요소와 유사할 수 있다. 예를 들어, 컴퓨팅 디바이스(122a, 122b 및 122c) 각각은 모바일 디바이스(200)와 유사한 특징부 및/또는 기능을 가질 수 있다. 그리고, 예를 들어, 기지국(102)은 기지국(222a, 222b 및 222c) 각각과 유사한 특징부 및/또는 기능을 가질 수 있다.
도 1 및 도 2의 네트워크 시스템(100)은 하나 이상의 통신 네트워크(120)를 통해 네트워크 연결된다. 본 명세서에 설명된 통신 네트워크(예를 들어, 네트워크(들)(120))는 블루투스 등과 같은 적어도 로컬 대 디바이스 네트워크, 광역 네트워크(WAN), 근거리 네트워크(LAN), 인트라넷, 4G 또는 5G와 같은 모바일 무선 네트워크, WiFi 네트워크, 엑스트라넷, 인터넷 및/또는 이들의 임의의 조합을 포함할 수 있다. 네트워크 시스템(100)은 피어 투 피어(peer-to-peer) 네트워크, 클라이언트-서버 네트워크, 클라우드 컴퓨팅 환경 등의 일부일 수 있다. 또한, 본 명세서에 설명된 임의의 컴퓨팅 디바이스는 일종의 컴퓨터 시스템을 포함할 수 있다. 그리고, 이러한 컴퓨터 시스템은 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷(예를 들어, 네트워크(들)(120) 참조)에서 다른 디바이스에 대한 네트워크 인터페이스를 포함할 수 있다. 컴퓨터 시스템은 또한 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계의 자격으로, 피어 투 피어(또는 분산) 네트워크 환경에서 피어 기계로, 또는 클라우드 컴퓨팅 인프라 또는 환경에서 서버 또는 클라이언트 기계로 동작할 수 있다.
또한, 도 1은 예시적인 기지국(102)의 예시적인 부분들을 도시한다. 기지국(102)은 도 1 및 도 2에 도시된 바와 같이 네트워크(들)(120)에 통신 가능하게 결합될 수 있다. 기지국(102)은 적어도 버스(104), 제어기(106)(예를 들어, CPU 또는 특수 ASIC 또는 FPGA), 및 네트워크 인터페이스(108)를 포함한다. 기지국(102)은 또한 복수의 메모리 모듈(예를 들어, 메모리 모듈(110a 및 110b) 참조)을 포함한다. 기지국(102)은 또한 데이터 저장 시스템(도시되지 않음), 및 기지국(도시되지 않음)의 일부일 수 있는 다른 구성요소를 포함할 수 있다. 도시되지 않은 기지국(102)의 다른 구성요소는 셀룰러 기지국의 일부를 포함할 수 있다. 본 발명의 목적을 위한 셀룰러 기지국은 안테나 및 전자 통신 장비가 배치되는 셀룰러 가능 모바일 디바이스 사이트로 간주될 수 있다. 배치는 라디오 마스트, 타워 또는 기타 돌출된 구조물에 있을 수 있다. 이러한 구조물은 셀룰러 네트워크에서 셀(또는 인접 셀)을 형성할 수 있다. 돌출된 구조물은 안테나와 하나 이상의 트랜시버 세트, 디지털 신호 프로세서, 제어 전자 기기, 타이밍을 위한 GPS 수신기, 기본 및 백업 전력 공급원, 보호를 지원할 수 있다.
본 명세서에 설명된 기지국(102)과 기타 기지국의 메모리 모듈(예를 들어, 메모리 모듈(110a 및 110b) 참조) 각각은 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조), 복수의 메모리 칩(예를 들어, 메모리 칩(112a 및 112b) 참조), 및 아 특수 목적 제어기를 복수의 메모리 칩에 연결하는 메모리 버스(예를 들어, 메모리 버스(118) 참조)를 포함할 수 있다. 각각의 메모리 모듈은 또한 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(116) 참조)를 포함할 수 있다. 메모리 모듈이 네트워크 인터페이스를 갖는 실시형태에서, 메모리 버스(예를 들어, 메모리 버스(118) 참조)는 네트워크 인터페이스 및 특수 목적 제어기를 복수의 메모리 칩에 연결할 수 있다.
도 1에 도시된 바와 같이, 메모리 모듈(110a)은 특수 목적 제어기(114), 메모리 칩(112a 및 112b)을 포함하는 복수의 메모리 칩, 네트워크 인터페이스(116), 및 이 특수 목적 제어기, 복수의 메모리 칩, 및 네트워크 인터페이스를 연결하는 메모리 버스(118)를 포함한다. 또한, 도시된 바와 같이, 네트워크 인터페이스(116)는 네트워크 인터페이스를 갖는 모듈이 선택적인 것임을 나타내는 파선 박스로 표현된다. 네트워크 인터페이스를 포함하는 이러한 실시형태에서, 메모리 모듈은 자기 자신의 각각의 네트워크 인터페이스를 갖기 때문에, 메모리 모듈은 네트워크 인터페이스(108)를 통한 외부 디바이스들과의 통신을 우회할 수 있다. 메모리 모듈이 네트워크 인터페이스를 갖지 않는 실시형태에서, 기지국의 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(108) 참조)는 외부 디바이스와 통신하는 데 사용될 수 있다. 이러한 외부 디바이스는 기지국(102)의 외부 디바이스이다.
일부 실시형태에서, 언급된 바와 같이, 기지국(102)은 셀룰러 기지국이거나 셀룰러 기지국을 포함하거나 셀룰러 기지국의 일부이다. 셀룰러 기지국 또는 기지국(102)은 모바일 디바이스(예를 들어, 컴퓨팅 디바이스(122a 내지 122c) 참조)에 대해 실행되는 메인 계산의 섀도우 계산을 수신 및/또는 개시하도록 구성될 수 있다. 메인 계산은 계산 작업을 포함할 수 있고, 섀도우 계산은 메인 계산의 적어도 일부이거나 파생물일 수 있다. 셀룰러 기지국 또는 기지국(102)은 또한 섀도우 계산을 실행하도록 구성될 수 있다. 일부 실시형태에서, 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)는 모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 수신 및/또는 개시하도록 구성될 수 있고, 섀도우 계산을 실행하도록 구성될 수 있다.
셀룰러 기지국 또는 기지국(102)은 또한 실행된 섀도우 계산의 출력 데이터를 모바일 디바이스 또는 다른 디바이스로 송신하도록 구성될 수 있다. 일부 실시형태에서, 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)는 실행된 섀도우 계산의 출력 데이터를 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(108) 또는 네트워크 인터페이스(116) 참조) 및 통신 네트워크(예를 들어, 네트워크(들)(120) 참조)를 통해 모바일 디바이스 또는 다른 디바이스로 송신하도록 구성될 수 있다.
셀룰러 기지국 또는 기지국(102)은 또한 실행된 섀도우 계산의 출력 데이터를 다른 셀룰러 기지국과 같은 다른 기지국(예를 들어, 기지국(222a, 222b 및 222c) 참조)으로 송신하도록 구성될 수 있다. 일부 실시형태에서, 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)는 실행된 섀도우 계산의 출력 데이터를 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(108) 또는 네트워크 인터페이스(116) 참조) 및 통신 네트워크(예를 들어, 네트워크(들)(120) 참조)를 통해 다른 셀룰러 기지국과 같은 다른 기지국(예를 들어, 기지국(222a 내지 222c) 참조)으로 송신하도록 구성될 수 있다.
일부 실시형태에서, 셀룰러 기지국 또는 기지국(102)은 또한 섀도우 계산을 다시 모바일 디바이스로 송신하도록 구성될 수 있다. 일부 실시형태에서, 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)는 섀도우 계산을 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(108) 또는 네트워크 인터페이스(116) 참조) 및 통신 네트워크(예를 들어, 네트워크(들)(120) 참조)를 통해 다시 모바일 디바이스로 송신하도록 구성될 수 있다.
일부 실시형태에서, 셀룰러 기지국 또는 기지국(102)은 또한 섀도우 계산으로부터 적어도 하나의 다른 섀도우 계산을 파생시키고, 그런 다음 다른 섀도우 계산(들)을 기지국이 아닌 적어도 하나의 디바이스에 송신하도록 구성될 수 있다. 예를 들어, 셀룰러 기지국 또는 기지국(102)은 또한 섀도우 계산으로부터 다른 섀도우 계산(들)을 파생시킨 다음, 다른 섀도우 계산(들)을 다른 기지국 또는 다른 셀룰러 기지국으로 송신하도록 구성될 수 있다. 일부 실시형태에서, 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)는 섀도우 계산으로부터 다른 섀도우 계산(들)을 도출한 다음, 다른 섀도우 계산(들)을 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(108) 또는 네트워크 인터페이스(116) 참조) 및 통신 네트워크(예를 들어, 네트워크(120) 참조)를 통해 기지국 이외의 적어도 하나의 디바이스로 송신하도록 구성될 수 있다.
일부 실시형태에서, 셀룰러 기지국 또는 기지국(102)은 또한, 모바일 디바이스가 다른 기지국 또는 다른 셀룰러 기지국(예를 들어, 기지국(222a 내지 222c) 참조)의 임계 거리 내에 있을 때, 다른 기지국 또는 다른 셀룰러 기지국이 기지국 또는 셀룰러 기지국보다 더 적은 네트워크 트래픽을 경험할 때, 및/또는 다른 기지국 또는 다른 셀룰러 기지국이 기지국 또는 셀룰러 기지국보다 더 큰 계산 능력을 가질 때 섀도우 계산을 다른 기지국 또는 셀룰러 기지국으로 송신하도록 구성될 수 있다. 일부 실시형태에서, 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)는 모바일 디바이스가 다른 기지국 또는 다른 셀룰러 기지국(예를 들어, 기지국(222a 내지 222c) 참조)의 임계 거리 내에 있을 때, 다른 기지국 또는 다른 셀룰러 기지국이 기지국 또는 셀룰러 기지국보다 더 적은 네트워크 트래픽을 경험할 때, 및/또는 다른 기지국 또는 다른 셀룰러 기지국이 기지국 또는 셀룰러 기지국보다 더 큰 계산 능력을 가질 때 섀도우 계산을 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(108) 또는 네트워크 인터페이스(116) 참조) 및 통신 네트워크(예를 들어, 네트워크(120) 참조)를 통해 다른 기지국 또는 셀룰러 기지국으로 송신하도록 구성될 수 있다. 이러한 실시형태 및 다른 실시형태에서, 다른 셀룰러 기지국 또는 다른 기지국(예를 들어, 기지국(222a 내지 222c) 참조)은 또한 섀도우 계산을 다시 모바일 디바이스로 송신하도록 구성될 수 있다. 일부 실시형태에서, 다른 기지국 또는 다른 셀룰러 기지국의 특수 목적 제어기는 섀도우 계산을 네트워크 인터페이스 및 통신 네트워크를 통해 다시 모바일 디바이스로 송신하도록 구성될 수 있다.
일부 실시형태에서, 섀도우 계산을 송신 및 수신하는 것은 하나의 시간 기간에 전체적으로 수행되거나 또는 부분적으로 다수의 이산 시간 기간 간에 분할될 수 있다. 또한, 섀도우 계산을 송신 및 수신하는 것은 섀도우 계산을 마이그레이션한 후(예를 들어, 하나의 디바이스로부터 다른 디바이스로 마이그레이션한 후) 섀도우 계산이 파생된 초기 계산이 더 이상 존재하지 않도록 계산의 전체 마이그레이션을 포함할 수 있다. 섀도우 계산을 전체적으로 또는 부분적으로 전송할 때 이것은 계산 작업으로 분할될 수 있다. 그리고, 이러한 분할된 작업은 기지국 또는 다른 유형의 디바이스 또는 장치 간에 할당될 수 있다. 또한, 섀도우 계산은 다양한 출처에서 온 재조합된 섀도우 계산으로부터 파생되어, 계산의 일부가 더 많은 디바이스로부터 더 적은 디바이스에서 실행될 수 있다. 다시 말해, 하나 이상의 섀도우 계산은 많은 디바이스로부터 더 적은 수의 디바이스 또는 기지국으로 통합될 수 있다. 게다가, 섀도우 계산의 출력을 송신하는 것은 다수의 다른 섀도우 계산을 생성하거나 시작할 수 있다. 그리고, 이러한 조치는 또한 관련 섀도우 계산(들)을 생성하거나 종료하는 특정 기준을 충족할 때 섀도우 계산의 분리된 데이터 세트와 기타 관련 데이터를 병합할 수 있다.
도 1에 도시된 바와 같이, 버스(104)는 제어기(106), 네트워크 인터페이스(108), 및 복수의 메모리 모듈(예를 들어, 메모리 모듈(110a 및 110b) 참조)을 통신 가능하게 결합시킨다. 버스(104)는 또한 이러한 부분을 데이터 저장 시스템 및 다른 구성요소와 같은 기지국의 다른 부분에 통신 가능하게 결합시킬 수 있다. 기지국(102)은 적어도 제어기(106) 및 메모리(메모리 모듈(110a 및 110b) 참조)를 포함하는 컴퓨터 시스템을 포함하고, 여기서 메모리는 판독 전용 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM), 예를 들어, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM), 정적 랜덤 액세스 메모리(SRAM), 크로스 포인트(cross-point) 또는 크로스 바(cross-bar) 메모리, 크로스바 메모리 등을 포함할 수 있다. 컴퓨터 시스템은 또한 도시되지 않은 데이터 저장 시스템을 포함할 수 있으며, 이러한 부분은 버스(104)(다수의 버스를 포함할 수 있음)를 통해 서로 통신할 수 있다.
일부 실시형태와 관련하여, 도 1은 본 발명의 실시형태가 동작할 수 있는 컴퓨터 시스템을 갖는 기지국(102)의 블록도를 포함한다. 일부 실시형태에서, 컴퓨터 시스템은, 실행될 때, 본 명세서에서 논의된 방법론 중 임의의 하나 이상을 기계로 하여금 적어도 부분적으로 수행하게 하기 위한 명령어 세트를 포함할 수 있다. 이러한 실시형태에서, 기계는 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷(예를 들어, 네트워크(들)(120) 참조)의 다른 기계에 연결될 수 있다(예를 들어, 네트워크 인터페이스(108)를 통해 네트워크로 연결될 수 있다). 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계의 자격으로, 피어 투 피어(또는 분산) 네트워크 환경에서 피어 기계로, 또는 클라우드 컴퓨팅 인프라 또는 환경에서 서버 또는 클라이언트 기계로 동작할 수 있다.
기지국의 제어기(106)는 마이크로프로세서, 중앙 처리 유닛 등과 같은 하나 이상의 일반 목적 처리 디바이스이거나 일반 목적 처리 디바이스를 포함할 수 있다. 보다 구체적으로, 처리 디바이스는 복잡한 명령어 세트 컴퓨팅(CISC) 마이크로프로세서, 감소된 명령어 세트 컴퓨팅(RISC) 마이크로프로세서, 매우 긴 명령어 워드(VLIW) 마이크로프로세서, 단일 명령어 다중 데이터(SIMD), 다중 명령어 다중 데이터(MIMD), 또는 다른 명령어 세트를 구현하는 프로세서, 또는 명령어 세트의 조합을 구현하는 프로세서일 수 있다. 제어기(106)는 또한 ASIC, FPGA와 같은 프로그래밍 가능 논리 회로, 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 디바이스일 수 있다. 제어기(106)는 본 명세서에서 논의된 동작 및 단계 중 적어도 일부를 수행하기 위한 명령어를 실행하도록 구성될 수 있다.
기지국(102)의 데이터 저장 시스템(도시되지 않음)은 본 명세서에 설명된 방법론 또는 기능 중 하나 이상을 구현할 수 있는 하나 이상의 명령어 세트 또는 소프트웨어를 저장하는 기계 판독 가능 저장 매체(컴퓨터 판독 가능 매체라고도 알려짐)를 포함할 수 있다. 기지국(102)의 데이터 저장 시스템은 데이터 저장 시스템에 상주하는 명령어를 적어도 부분적으로 실행할 수 있는 것과 같은 실행 능력을 가질 수 있다. 명령어는 또한 컴퓨터 시스템에 의해 실행되는 동안 메모리(예를 들어, 메모리 모듈(110a 및 110b) 참조) 내에 및/또는 제어기(106) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 기지국의 메모리와 제어기는 또한 기계 판독 가능 저장 매체를 구성한다. 기지국(102)의 메모리는 메인 메모리이거나 메인 메모리를 포함할 수 있다. 기지국(102)의 메모리는 메모리에 상주하는 명령어를 적어도 부분적으로 실행할 수 있는 것과 같은 실행 능력을 가질 수 있다.
본 명세서에 설명된 기지국(102)의 메모리(예를 들어, 메모리 모듈(110a 및 110b) 참조)뿐만 아니라 컴퓨팅 디바이스의 메모리는 다양한 유형의 메모리를 포함할 수 있다. 예를 들어, 이러한 메모리는 플래시 메모리 셀을 갖는 플래시 메모리를 포함할 수 있다. 또한, 예를 들어, 이러한 메모리는 DRAM 셀을 포함하는 동적 랜덤 액세스 메모리(DRAM)를 포함할 수 있다. 또한, 예를 들어, 이러한 메모리는 또한 NVRAM 셀을 포함하는 비휘발성 랜덤 액세스 메모리(NVRAM)를 포함할 수 있다. NVRAM 셀은 3D XPoint 메모리 셀을 포함할 수 있다.
일부 실시형태는 복수의 메모리 모듈(예를 들어, 메모리 모듈(110a 및 110b) 참조)을 포함하는 시스템과 같은 기지국용 시스템을 포함할 수 있다. 이러한 시스템은 복수의 메모리 모듈을 포함할 수 있고, 각각의 메모리 모듈은 기지국(예를 들어, 기지국(102) 참조)의 인쇄 회로 보드(PCB)에 삽입되도록 구성된다. 그리고, 이러한 실시형태에서, 각각의 메모리 모듈은 복수의 메모리 칩(예를 들어, 메모리 칩(112a 및 112b) 참조) 및 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)를 포함할 수 있다.
본 명세서에 설명된 이러한 실시형태 및 다른 실시형태에서, 특수 목적 제어기는 그래픽 처리 유닛(GPU) 또는 인공 지능(AI) 가속기이거나, 이를 포함하거나, 이의 일부일 수 있다. 그리고, 특수 목적 제어기는 복수의 메모리 칩에 결합될 수 있다. 이러한 예에서, 특수 목적 제어기는 모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 수신 및/또는 개시하고; 섀도우 계산을 실행하도록 구성될 수 있다. 이러한 예에서 특수 목적 제어기는 실행된 섀도우 계산의 출력 데이터를 모바일 디바이스로 송신하도록 구성될 수도 있다. 이러한 예에서 특수 목적 제어기는 또한 실행된 섀도우 계산의 출력 데이터를 다른 셀룰러 기지국으로 송신하도록 구성될 수 있다. 이러한 예에서 특수 목적 제어기는 또한 섀도우 계산을 다른 셀룰러 기지국으로 송신하도록 구성될 수 있다. 이러한 예에서 특수 목적 제어기는 또한 모바일 디바이스가 다른 셀룰러 기지국의 임계 거리 내에 있을 때, 다른 셀룰러 기지국이 셀룰러 기지국보다 더 적은 네트워크 트래픽을 경험할 때, 그리고/또는 다른 셀룰러 기지국이 셀룰러 기지국보다 더 큰 계산 능력을 가질 때 섀도우 계산을 다른 셀룰러 기지국으로 송신하도록 구성될 수 있다. 이러한 예에서 특수 목적 제어기는 또한 섀도우 계산을 다시 모바일 디바이스로 송신하도록 구성될 수 있다.
일부 실시형태는 복수의 메모리 칩, 복수의 전기 접점, 및 특수 목적 제어기를 갖는 장치를 포함할 수 있다. 그리고, 이러한 장치는 장치가 설치된 컴퓨팅 디바이스의 메인 프로세서를 우회하는 하나 이상의 통신 네트워크를 통해 특수 목적 제어기의 입력 및 출력 데이터를 전달하도록 구성된 네트워크 인터페이스 디바이스를 가질 수 있다. 장치가 설치된 컴퓨팅 디바이스는 기지국(예를 들어, 기지국(102))의 컴퓨팅 디바이스이거나, 또는 기지국에 연결된 컴퓨팅 디바이스, 예를 들어, 컴퓨팅 디바이스(122a 내지 122c)와 같이 하나 이상의 네트워크(예를 들어, 네트워크(들)(120) 참조)를 통해 연결된 컴퓨팅 디바이스일 수 있다.
일부 실시형태에서, 이러한 장치는 마더보드의 메모리 슬롯에 삽입되도록 구성된 인쇄 회로 보드(PCB)를 포함할 수 있다. 그리고, 복수의 메모리 칩은 PCB에 결합될 수 있다. 그리고, 복수의 전기 접점은 PCB의 각 측에 있을 수 있다. 또한, 특수 목적 제어기는 PCB에 결합될 수 있다. 그리고, 네트워크 인터페이스 디바이스는 PCB에 결합될 수 있다. 이러한 예 및 다른 예에서, 특수 목적 제어기는 그래픽 처리 유닛(GPU) 및/또는 AI 가속기와 같은 다른 유형의 특수 목적 제어기를 포함할 수 있다. 이러한 예 및 다른 예에서, 네트워크 인터페이스 디바이스는 하나 이상의 무선 네트워크를 통해 통신하도록 구성된 무선 네트워크 인터페이스 디바이스를 포함할 수 있다. 그리고, 하나 이상의 통신 네트워크는 장치가 설치된 컴퓨팅 디바이스의 메인 데이터 버스를 우회할 수 있다.
장치는 또한 복수의 메모리 칩의 입력 및 출력 데이터를 시스템이 설치된 컴퓨팅 디바이스의 메인 프로세서로 전달하기 위해 복수의 메모리 칩을 복수의 전기 접점 중 적어도 일부에 연결하도록 구성된 제1 연결부를 포함할 수 있다. 장치는 또한 복수의 메모리 칩을 특수 목적 제어기에 연결하도록 구성된 제2 연결부를 포함할 수 있다. 그리고, 장치는, 장치가 설치된 컴퓨팅 디바이스의 메인 프로세서를 우회하는 통신 경로를 통해, 네트워크 인터페이스 디바이스가 다른 디바이스로부터 특수 목적 제어기에 대한 입력 데이터를 수신하고, 특수 목적 제어기의 출력 데이터를 다른 디바이스로 전달하도록 특수 목적 제어기를 네트워크 인터페이스 디바이스에 연결하도록 구성된 제3 연결부를 포함할 수 있다.
장치는 또한 특수 목적 제어기가 복수의 메모리 칩에 액세스하는 동안 메인 프로세서가 복수의 메모리 칩에 있는 데이터에 액세스하려고 시도할 때 충돌을 해결하도록 구성된 중재자(arbiter)를 포함할 수 있다.
일부 실시형태는 복수의 이중 인라인 메모리 모듈(DIMM)을 갖는 시스템을 포함할 수 있다. 복수의 DIMM의 각각의 DIMM은 복수의 DIMM과 별개인 추가 PCB의 메모리 슬롯에 삽입되도록 구성된 PCB를 포함할 수 있다. 복수의 DIMM의 각각의 DIMM은 PCB에 결합된 복수의 메모리 칩과, PCB의 각 측 상의 복수의 전기 접점을 포함할 수 있다. 복수의 DIMM의 각각의 DIMM은 PCB에 결합된 특수 목적 제어기를 포함할 수 있다. 그리고, 복수의 DIMM의 각각의 DIMM은, PCB에 결합되고 시스템이 설치된 컴퓨팅 디바이스의 메인 프로세서를 우회하는 하나 이상의 통신 네트워크를 통해 통신하도록 구성된 네트워크 인터페이스 디바이스를 포함할 수 있다. 시스템이 설치된 컴퓨팅 디바이스는 기지국(예를 들어, 기지국(102))의 컴퓨팅 디바이스이거나, 기지국에 연결된 컴퓨팅 디바이스, 예를 들어, 컴퓨팅 디바이스(122a 내지 122c)와 같이 하나 이상의 네트워크(예를 들어, 네트워크(들)(120) 참조)를 통해 연결된 컴퓨팅 디바이스일 수 있다.
일부 실시형태에서, 이러한 시스템은, 복수의 DIMM과 별개이고 복수의 DIMM의 특수 목적 제어기에 의한 계산을 조정하도록 구성된 외부 제어기를 포함할 수 있다. 그리고, 이러한 실시형태에서, 시스템은, 복수의 DIMM과 별개이고 복수의 DIMM을 수용하도록 구성된 복수의 메모리 슬롯을 포함하는 추가 PCB를 가질 수 있다. 그리고, 외부 제어기는 추가 PCB에 결합될 수 있다. 또한, 이러한 실시형태에서, 추가 PCB는 마더보드일 수 있고, 외부 제어기는 중앙 처리 유닛(CPU)을 포함할 수 있다.
이러한 예 및 다른 예에서, 특수 목적 제어기는 그래픽 처리 유닛(GPU) 및/또는 AI 가속기와 같은 다른 유형의 특수 목적 제어기를 포함할 수 있다. 그리고, 이러한 예 및 다른 예에서, 복수의 DIMM의 각각의 DIMM의 네트워크 인터페이스 디바이스는 무선 네트워크를 통해 통신하도록 구성된 무선 네트워크 인터페이스 디바이스를 포함할 수 있다.
일부 실시형태에서, 복수의 DIMM의 각각의 DIMM에 대해, DIMM의 무선 네트워크 인터페이스 디바이스는 특수 목적 제어기에 대한 입력 데이터를 수신하고, 시스템이 설치된 컴퓨팅 디바이스의 메인 프로세서를 우회하는 하나 이상의 무선 통신 링크를 통해 특수 목적 제어기의 출력 데이터를 하나 이상의 디스플레이에 전달하도록 구성된다.
일부 실시형태는 DIMM을 포함할 수 있다. DIMM은 마더보드의 메모리 슬롯에 삽입되도록 구성된 인쇄 회로 보드(PCB)를 포함할 수 있다. DIMM은 또한 PCB에 결합된 복수의 메모리 칩과, PCB의 각 측에 있는 복수의 전기 접점을 포함할 수 있다. DIMM은 PCB에 결합된 특수 목적 제어기를 더 포함될 수 있다. DIMM은, 또한 PCB에 결합되고 DIMM이 설치된 컴퓨팅 디바이스의 메인 프로세서를 우회하는 하나 이상의 통신 네트워크를 통해 특수 목적 제어기의 입력 및 출력 데이터를 전달하도록 구성된 네트워크 인터페이스 디바이스를 포함할 수 있다. DIMM이 설치된 컴퓨팅 디바이스는, 기지국(예를 들어, 기지국(102))의 컴퓨팅 디바이스 또는 기지국에 연결된 컴퓨팅 디바이스, 예를 들어, 컴퓨팅 디바이스(122a 내지 122c)와 같이 하나 이상의 네트워크(예를 들어, 네트워크(120) 참조)를 통해 연결된 컴퓨팅 디바이스일 수 있다. 이러한 실시형태 및 다른 실시형태에서, 그리고 DIMM이 모바일 디바이스에 있는 경우, DIMM은 작은 아웃라인 이중 인라인 메모리 모듈(SO-DIMM)일 수 있다. 또한, 이러한 예 및 기타 예에서, 특수 목적 제어기는 그래픽 처리 유닛(GPU) 및/또는 AI 가속기와 같은 다른 유형의 특수 목적 제어기를 포함한다. 그리고, 이러한 예 및 다른 예에서, 네트워크 인터페이스 디바이스는 하나 이상의 무선 네트워크를 통해 통신하도록 구성된 무선 네트워크 인터페이스 디바이스를 포함할 수 있다.
또한, 이러한 예 및 기타 예에서, DIMM은 시스템이 설치된 컴퓨팅 디바이스의 메인 프로세서에 복수의 메모리 칩의 입력 및 출력 데이터를 전달하기 위해 복수의 메모리 칩을 전기 접점의 적어도 일부에 연결하도록 구성된 제1 연결부를 포함할 수 있다. DIMM은 또한 복수의 메모리 칩을 GPU에 연결하도록 구성된 제2 연결부를 포함할 수 있다. 그리고, DIMM은, DIMM이 설치된 컴퓨팅 디바이스의 메인 프로세서를 우회하는 통신 경로를 통해, 네트워크 인터페이스 디바이스가 다른 디바이스로부터 GPU에 대한 입력 데이터를 수신하고, GPU의 출력 데이터를 다른 디바이스에 전달하도록 GPU를 네트워크 인터페이스 디바이스에 연결하도록 구성된 제3 연결부를 포함할 수 있다.
또한, 이러한 예 및 기타 예에서, 하나 이상의 통신 네트워크는 DIMM이 설치된 컴퓨팅 디바이스의 메인 데이터 버스를 우회한다.
그리고, DIMM은 특수 목적 제어기가 DIMM의 복수의 메모리 칩에 액세스하는 동안 메인 프로세서가 복수의 메모리 칩에 있는 데이터에 액세스하려고 시도할 때 충돌을 해결하도록 구성된 중재자를 포함할 수 있다.
도 2는 적어도 컴퓨팅 디바이스(122a 내지 122c) 및 기지국(102)(예를 들어, 도 1 참조)을 포함하고 모바일 디바이스(200) 및 기지국(222a, 222b, 및 222c)(예를 들어, 도 2 참조)을 포함하는 예시적인 네트워크 시스템(100)을 도시한다. 네트워크 시스템(100)은 본 발명의 일부 실시형태에 따라 섀도우 계산을 제공할 수 있다.
도 2의 예시된 구성요소 중 적어도 일부는 기능적으로 및/또는 구조적으로 도 1의 예시된 구성요소와 유사할 수 있다. 예를 들어, 모바일 디바이스(200)는 컴퓨팅 디바이스(122a 내지 122c) 중 임의의 것과 유사한 특징부 및/또는 기능을 가질 수 있다. 그리고, 예를 들어, 기지국(222a 내지 222c) 각각은 기지국(102)과 유사한 특징부 및/또는 기능을 가질 수 있다.
또한, 도 2는 예시적인 모바일 디바이스(200)의 예시적인 부분을 도시한다. 모바일 디바이스(200)는 도 1 및 도 2에 도시된 바와 같이 네트워크(들)(120)에 통신 가능하게 결합될 수 있다. 모바일 디바이스(200)는 적어도 버스(206), 제어기(208)(예를 들어, CPU), 메모리(210), 네트워크 인터페이스(212), 데이터 저장 시스템(214), 및 기타 구성요소(216)(GPS 구성요소, 다양한 유형의 사용자 인터페이스 구성요소와 같은 I/O 구성요소, 및 센서뿐만 아니라 카메라와 같은 모바일 또는 컴퓨팅 디바이스에서 볼 수 있는 임의의 유형의 구성요소일 수 있음)를 포함한다. 다른 구성요소(216)는 하나 이상의 사용자 인터페이스(예를 들어, GUI, 청각적 사용자 인터페이스, 촉각적 사용자 인터페이스 등), 디스플레이, 다른 유형의 센서, 촉각, 오디오 및/또는 시각적 입력/출력 디바이스, 추가 응용 특정 메모리, 하나 이상의 추가 제어기(예를 들어, GPU), 또는 이들의 임의의 조합을 포함할 수 있다. 버스(206)는 제어기(208), 메모리(210), 네트워크 인터페이스(212), 데이터 저장 시스템(214) 및 다른 구성요소(216)를 통신 가능하게 결합한다. 컴퓨팅 디바이스(202)는 버스(206)(다수의 버스를 포함할 수 있음)를 통해 서로 통신하는, 적어도 제어기(208), 메모리(210)(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM), 예를 들어, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM), 정적 랜덤 액세스 메모리(SRAM), 크로스 포인트 또는 크로스 바 메모리, 크로스바 메모리 등), 및 데이터 저장 시스템(214)을 포함하는 컴퓨터 시스템을 포함한다.
다시 말해, 도 2는 본 발명의 실시형태가 동작할 수 있는 컴퓨터 시스템을 갖는 모바일 디바이스(200)의 블록도이다. 일부 실시형태에서, 컴퓨터 시스템은, 실행될 때, 본 명세서에서 논의된 방법론 중 임의의 하나 이상을 기계로 하여금 적어도 부분적으로 수행하게 하기 위한 명령어 세트를 포함할 수 있다. 이러한 실시형태에서, 기계는 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷(예를 들어, 네트워크(들)(120) 참조)의 다른 기계에 연결될 수 있다(예를 들어, 네트워크 인터페이스(212)를 통해 네트워크로 연결될 수 있다). 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계의 자격으로, 피어 투 피어(또는 분산) 네트워크 환경에서 피어 기계로, 또는 클라우드 컴퓨팅 인프라 또는 환경에서 서버 또는 클라이언트 기계로 동작할 수 있다.
제어기(208)는 마이크로프로세서, 중앙 처리 유닛 등과 같은 하나 이상의 일반 목적 처리 디바이스를 나타낸다. 보다 구체적으로, 처리 디바이스는 복잡한 명령어 세트 컴퓨팅(CISC) 마이크로프로세서, 감소된 명령어 세트 컴퓨팅(RISC) 마이크로프로세서, 매우 긴 명령어 워드(VLIW) 마이크로프로세서, 단일 명령어 다중 데이터(SIMD), 다중 명령어 다중 데이터(MIMD), 또는 다른 명령어 세트를 구현하는 프로세서, 또는 명령어 세트의 조합을 구현하는 프로세서일 수 있다. 제어기(208)는 또한 ASIC, FPGA와 같은 프로그래밍 가능 논리 회로, 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 디바이스일 수 있다. 제어기(208)는 본 명세서에서 논의된 동작 및 단계를 수행하기 위한 명령어를 실행하도록 구성된다. 제어기(208)는 하나 이상의 통신 네트워크(예를 들어, 네트워크(들)(120))를 통해 통신하기 위해 네트워크 인터페이스(212)와 같은 네트워크 인터페이스 디바이스를 더 포함할 수 있다.
데이터 저장 시스템(214)은 본 명세서에 설명된 방법론 또는 기능 중 임의의 하나 이상을 구현하는 하나 이상의 명령어 세트 또는 소프트웨어를 저장하는 기계 판독 가능 저장 매체(컴퓨터 판독 가능 매체라고도 알려짐)를 포함할 수 있다. 데이터 저장 시스템(214)은 데이터 저장 시스템에 상주하는 명령어를 적어도 부분적으로 실행할 수 있는 것과 같은 실행 능력을 가질 수 있다. 명령어는 또한 컴퓨터 시스템에 의해 실행되는 동안 메모리(210) 내에 및/또는 제어기(208) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 메모리(210)와 제어기(208)는 또한 기계 판독 가능 저장 매체를 구성한다. 메모리(210)는 모바일 디바이스(200)의 메인 메모리이거나 메인 메모리를 포함할 수 있다. 메모리(210)는 메모리에 상주하는 명령어를 적어도 부분적으로 실행할 수 있는 것과 같은 실행 능력을 가질 수 있다.
네트워크 시스템(100)은 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(122a 내지 122c)뿐만 아니라 모바일 디바이스(200) 참조)를 포함하고, 컴퓨팅 디바이스 각각은 하나 이상의 버스, 제어기, 메모리, 네트워크 인터페이스, 저장 시스템, 및 기타 구성요소를 포함할 수 있다. 또한, 도 1 및 도 2에 도시된 컴퓨팅 디바이스 각각은 모바일 디바이스 등의 일부, 예를 들어, 스마트폰, 태블릿 컴퓨터, IoT 디바이스, 스마트 텔레비전, 스마트 시계, 안경 또는 기타 스마트 가전 기기, 차량 내 정보 시스템, 웨어러블 스마트 디바이스, 게임 콘솔, PC, 디지털 카메라 또는 이들의 임의의 조합이거나 이를 포함하거나 이의 일부일 수 있다. 도시된 바와 같이, 컴퓨팅 디바이스는 블루투스 등과 같은 적어도 로컬 대 디바이스 네트워크, 광역 네트워크(WAN), 근거리 네트워크(LAN), 인트라넷, 4G 또는 5G와 같은 모바일 무선 네트워크, 엑스트라넷, 인터넷 및/또는 이들의 임의의 조합을 포함하는 네트워크(들)(120)에 연결될 수 있다.
본 명세서에 설명된 컴퓨팅 또는 모바일 디바이스(예를 들어, 컴퓨팅 디바이스(122a 내지 122c)뿐만 아니라 모바일 디바이스(200)) 각각은 개인용 컴퓨터(PC), 태블릿 PC, 셋톱 박스(STB), 개인용 휴대 정보 단말기(PDA), 셀룰러 폰, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 기계가 취해야 할 조치를 지정하는 일련의 명령어(순차적이든 아니든)를 실행할 수 있는 임의의 기계이거나 임의의 기계로 대체될 수 있다.
또한, 도 2에 도시된 모바일 디바이스(200)뿐만 아니라 도 1에 도시된 기지국(102)의 컴퓨팅 시스템에 대해 단일 기계(예를 들어, 제어기(106), 네트워크 인터페이스 디바이스(108), 버스(104), 및 메모리 모듈(110a 및 110b)의 조합 참조)가 도시되어 있지만, "기계"라는 용어는 또한 본 명세서에서 논의된 방법론 또는 동작 중 하나 이상을 수행하기 위해 명령어 세트(또는 다중 세트)를 개별적으로 또는 공동으로 실행하는 임의의 기계의 집합을 포함하는 것으로 간주되어야 한다. 그리고, 예시된 컴퓨팅 또는 모바일 디바이스뿐만 아니라 컴퓨팅 시스템 각각은 각각 적어도 버스 및/또는 마더보드, 하나 이상의 제어기(예를 들어, 하나 이상의 CPU), 임시 데이터 저장부를 포함할 수 있는 메인 메모리, 적어도 하나의 유형의 네트워크 인터페이스, 영구 데이터 저장부를 포함할 수 있는 저장 시스템, 및/또는 이들의 임의의 조합을 포함할 수 있다. 일부 다중 디바이스 실시형태에서, 하나의 디바이스는 본 명세서에 설명된 방법의 일부 부분을 완료한 다음, 다른 디바이스가 본 명세서에 설명된 방법의 다른 단계를 계속 수행할 수 있도록 완료 결과를 네트워크를 통해 다른 디바이스로 송신할 수 있다.
예시적인 실시형태에서는 메모리, 제어기 및 데이터 저장 부분이 각각 단일 부분인 것으로 도시되어 있지만, 각각의 부분은 명령어를 저장하고 각각의 동작을 수행할 수 있는 단일 부분 또는 다수의 부분을 포함하는 것으로 간주되어야 한다. "기계 판독 가능 저장 매체"라는 용어는 또한, 기계에 의해 실행하기 위한 명령어 세트를 저장 또는 인코딩할 수 있고 본 발명의 방법론 중 임의의 하나 이상을 기계로 하여금 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서 "기계 판독 가능 저장 매체"라는 용어는 솔리드 스테이트 메모리, 광학 매체 및 자기 매체를 포함하지만 이들로 제한되지 않는 것으로 간주되어야 한다.
도 3 및 도 4는 본 발명의 일부 실시형태에 따라 도 1 및 도 2에 도시된 기지국에 의해 수행될 수 있는 방법(300 및 400)의 예시적인 동작의 흐름도를 각각 도시한다. 일부 실시형태에서, 방법(300 및 400)의 예시적인 동작은 하나 이상의 특수 목적 제어기(예를 들어, 특수 목적 제어기(114) 참조)에 의해 수행될 수 있다. 그리고, 이러한 실시형태에서, 송신 및 수신 동작은 하나 이상의 네트워크 인터페이스(예를 들어, 네트워크 인터페이스(108) 또는 네트워크 인터페이스(116) 참조) 및 하나 이상의 통신 네트워크(예를 들어, 네트워크(들)(120) 참조)를 통해 발생할 수 있다.
도 3에서, 방법(300)은, 기지국(예를 들어, 셀룰러 기지국)에 의해, 모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 수신하고 개시하는 단계(302)에서 시작한다. 이 개시는 하나 이상의 특수 목적 제어기에 의해 수행될 수 있고, 수신은 하나 이상의 네트워크 인터페이스를 통해 하나 이상의 특수 목적 제어기에 의해 수행될 수 있다. 메인 계산은 계산 작업을 포함할 수 있고, 섀도우 계산은 메인 계산의 적어도 일부이거나 파생물일 수 있다. 섀도우 계산은 일반 컴퓨팅 디바이스에 대해서도 사용될 수 있다. 그리고, 모바일 디바이스 또는 다른 컴퓨팅 디바이스는 섀도우 계산을 기지국으로 송신할 수 있다. 다시 말해, 섀도우 계산은 모바일 디바이스 또는 다른 컴퓨팅 디바이스로부터 수신될 수 있다.
단계(304)에서, 방법(300)은 기지국에 의해 섀도우 계산을 실행하는 것으로 계속된다.
단계(306)에서, 방법(300)은 실행된 섀도우 계산의 출력 데이터를 기지국에 의해 모바일 디바이스 또는 다른 디바이스로 송신하는 것으로 계속된다. 여러 디바이스는 섀도우 계산으로 생성된 데이터 출력에 의존할 수 있다.
단계(308)에서, 방법(300)은 실행된 섀도우 계산의 출력 데이터를 기지국에 의해 다른 기지국(예를 들어, 다른 셀룰러 기지국)으로 송신하는 것으로 계속된다. 일부 경우에, 여러 기지국은 섀도우 계산 및 계산 출력을 생성하기 위하여 중간 출력을 전달하거나 교환할 수 있다.
단계(310)에서, 방법(300)은 하나 이상의 전환 기준이 충족되는지 여부를 결정하는 것으로 계속된다. 하나 이상의 전환 기준이 충족되는지 여부를 결정하는 것은 모바일 디바이스가 다른 기지국의 임계 거리 내에 있는지 여부를 결정하는 것, 다른 기지국이 기지국보다 더 적은 네트워크 트래픽을 경험하는지 여부를 결정하는 것, 다른 기지국이 기지국보다 더 큰 계산 능력을 갖는지 여부를 결정하는 것, 또는 이들의 임의의 조합을 포함할 수 있다.
단계(312)에서, 방법(300)은 하나 이상의 전환 기준이 충족될 때 기지국에 의해 섀도우 계산을 다른 기지국(예를 들어, 다른 셀룰러 기지국)으로 송신하는 것으로 계속된다. 예를 들어, 단계(312)에서, 방법(300)은 모바일 디바이스가 다른 기지국의 임계 거리 내에 있을 때 기지국에 의해 섀도우 계산을 다른 기지국으로 송신하는 단계를 포함할 수 있다. 또한, 예를 들어, 단계(312)에서, 방법(300)은 다른 기지국이 기지국보다 더 적은 네트워크 트래픽을 경험할 때 기지국에 의해 섀도우 계산을 다른 기지국으로 송신하는 단계를 포함할 수 있다. 또한, 예를 들어, 단계(312)에서, 방법(300)은 다른 기지국이 기지국보다 더 큰 계산 능력을 가질 때 기지국에 의해 섀도우 계산을 다른 기지국에 송신하는 단계를 포함할 수 있다. 섀도우 계산이 다른 기지국으로 송신되거나 전환되면 기지국도 섀도우 계산을 유지할 수 있다.
단계(314a)에서, 방법(300)은 기지국에 의해 섀도우 계산을 다시 모바일 디바이스로 송신하는 것으로 계속된다. 섀도우 계산이 단계(312)를 통해 다른 기지국으로 전환되지 않았기 때문에 기지국은 섀도우 계산을 다시 모바일 디바이스로 송신한다.
단계(314b)에서, 방법(300)은 다른 기지국에 의해 섀도우 계산을 다시 모바일 디바이스로 송신하는 것으로 계속된다. 다른 기지국은 섀도우 계산이 단계(312)를 통해 다른 기지국으로 전환되었기 때문에 섀도우 계산을 다시 모바일 디바이스로 송신한다. 섀도우 계산이 다른 기지국으로 송신되거나 전환될 때 기지국도 섀도우 계산을 유지하고 섀도우 계산을 모바일 디바이스에도 반환할 수 있다.
도 4에 도시된 바와 같이, 방법(400)은 방법(300)의 모든 단계를 포함하고, 추가적으로 단계(402, 404, 406, 408a 및 408b)를 포함한다.
방법(400)은, 모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 기지국(예를 들어, 셀룰러 기지국)에 의해 수신하고 개시하는 단계(302)에서 시작할 수 있다. 그리고, 방법(400)은 단계(304)에서, 기지국에 의해 섀도우 계산을 실행하는 것으로 계속될 수 있다. 그런 다음, 단계(304) 이후에, 방법(400)은 분기된다. 방법은 방법(300)의 나머지 단계(단계(306, 308, 310, 312, 314a 및 314b)를 포함함)를 계속 수행할 수 있고/있거나, 방법은 추가 단계(402, 404, 406, 408a 및 408b)를 계속 수행할 수 있다.
단계(402)에서, 방법(400)은 기지국에 의해 섀도우 계산으로부터 다른 섀도우 계산을 파생시키는 것으로 계속된다.
단계(404)에서, 방법(400)은 하나 이상의 전환 기준이 충족되는지 여부를 결정하는 것으로 계속된다. 하나 이상의 전환 기준이 충족되는지 여부를 결정하는 것은 모바일 디바이스가 다른 기지국의 임계 거리 내에 있는지 여부를 결정하는 것, 다른 기지국이 기지국보다 더 적은 네트워크 트래픽을 경험하는지 여부를 결정하는 것, 다른 기지국이 기지국보다 더 큰 계산 능력을 갖는지 여부를 결정하는 것, 또는 이들의 임의의 조합을 포함할 수 있다.
단계(406)에서, 방법(400)은 하나 이상의 전환 기준이 충족될 때 파생된 다른 섀도우 계산을 기지국에 의해 다른 기지국(예를 들어, 다른 셀룰러 기지국)으로 송신하는 것으로 계속된다. 예를 들어, 단계(406)에서, 방법(400)은 모바일 디바이스가 다른 기지국의 임계 거리 내에 있을 때 파생된 다른 섀도우 계산을 기지국에 의해 다른 기지국으로 송신하는 단계를 포함할 수 있다. 또한, 예를 들어, 단계(406)에서, 방법(400)은 다른 기지국이 기지국보다 더 적은 네트워크 트래픽을 경험할 때 파생된 다른 섀도우 계산을 기지국에 의해 다른 기지국으로 송신하는 단계를 포함할 수 있다. 또한, 예를 들어, 단계(406)에서, 방법(400)은 다른 기지국이 기지국보다 더 큰 계산 능력을 가질 때 파생된 다른 섀도우 계산을 기지국에 의해 다른 기지국으로 송신하는 단계를 포함할 수 있다. 파생된 다른 섀도우 계산이 다른 기지국으로 송신되거나 전환될 때 기지국은 파생된 다른 섀도우 계산을 또한 유지할 수 있다.
단계(408a)에서, 방법(400)은 파생된 다른 섀도우 계산을 기지국에 의해 다시 모바일 디바이스로 송신하는 것으로 계속된다. 파생된 다른 섀도우 계산은 단계(406)를 통해 다른 기지국으로 전환되지 않았기 때문에 기지국은 파생된 다른 섀도우 계산을 다시 모바일 디바이스로 송신한다.
단계(408b)에서, 방법(400)은 파생된 다른 섀도우 계산을 다른 기지국에 의해 다시 모바일 디바이스로 송신하는 것으로 계속된다. 파생된 다른 섀도우 계산은 단계(406)를 통해 다른 기지국으로 전환되었기 때문에 다른 기지국은 파생된 다른 섀도우 계산을 다시 모바일 디바이스로 송신한다. 파생된 다른 섀도우 계산이 다른 기지국으로 송신되거나 전환될 때, 기지국은 파생된 다른 섀도우 계산을 또한 유지하고, 파생된 다른 섀도우 계산을 또한 모바일 디바이스로 반환할 수 있다.
일부 실시형태에서, 방법(300 및/또는 400)의 단계는 입력 데이터를 모니터링하고, 동작을 수행하고, 데이터를 후속 단계로 출력함으로써 각 단계를 독립적으로 실행할 수 있는 것과 같이 연속 프로세스로서 구현될 수 있는 것으로 이해되어야 한다. 또한, 단계는 이산 이벤트 프로세스로 구현될 수 있고, 예를 들어, 각각의 단계는 트리거되어야 하는 이벤트에서 트리거되어 특정 출력을 생성할 수 있다. 또한 도 3 및 도 4 각각은 도 1 및 도 2에 부분적으로 제시된 것보다 더 복잡한 시스템의 가능한 더 큰 방법 내의 최소 방법을 나타내는 것으로 이해되어야 한다.
일부 실시형태에서, 비일시적 컴퓨터 판독 가능 저장 매체(예를 들어, 메모리 모듈(110a 및 110b) 참조)는 컴퓨팅 디바이스와 연관된 프로세서(예를 들어, 특수 목적 제어기(114) 참조)에 의해 실행될 때 본 명세서에 설명된 동작 중 임의의 하나 이상의 동작을 포함하는 방법과 같은 방법을 수행할 수 있는 컴퓨터 실행 가능 명령어로 유형적으로 인코딩될 수 있다.
도 5 및 도 6은 본 발명의 일부 실시형태에 따른 예시적인 메모리 모듈(502 및 602)을 각각 도시한다. 메모리 모듈(502 또는 602) 중 하나는 장치 및/또는 시스템이거나, 이를 포함하거나, 이의 일부일 수 있다.
도 5는 복수의 메모리 칩(예를 들어, 메모리 칩(504a, 504b 및 504c) 참조)을 갖는 메모리 모듈(502)을 도시한다. 메모리 모듈(502)은 또한 적어도 하나의 제어기(예를 들어, 제어기(506a 및 506b) 참조)를 갖는다. 도시된 바와 같이, 메모리 모듈(502)의 상이한 실시형태는 하나의 제어기(예를 들어, 제어기(506a)), 2개의 제어기(예를 들어, 제어기(506a 및 506b)), 또는 2개 초과의 제어기를 가질 수 있다. 파선 박스는 선택적 구성요소를 나타내는 것으로 이해되어야 한다. 또한, 메모리 모듈(502)의 실시형태는 2개의 메모리 칩 또는 2개 초과의 메모리 칩을 가질 수 있는 것으로 이해되어야 한다.
메모리 모듈의 메모리와 같은 본 명세서에 설명된 메모리는 다양한 유형의 메모리를 포함할 수 있다. 예를 들어, 이러한 메모리는 플래시 메모리 셀을 갖는 플래시 메모리를 포함할 수 있다. 또한, 예를 들어, 이러한 메모리는 DRAM 셀을 포함하는 동적 랜덤 액세스 메모리(DRAM)를 포함할 수 있다. 또한, 예를 들어, 이러한 메모리는 또한 NVRAM 셀을 포함하는 비휘발성 랜덤 액세스 메모리(NVRAM)를 포함할 수 있다. NVRAM 셀은 3D XPoint 메모리 셀을 포함할 수 있다.
메모리 모듈(502)은 또한 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)를 갖는 것으로 도시되어 있다. 도시된 바와 같이, 메모리 모듈(502)의 상이한 실시형태는 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a)), 2개의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a 및 508b)), 또는 2개 초과의 인터페이스 디바이스를 가질 수 있다. 그리고, 언급된 바와 같이, 파선 박스는 선택적 구성요소를 나타내는 것으로 이해되어야 한다. 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)는 메모리 모듈(502)에 대한 입력 및 출력 데이터를 전달하도록 구성될 수 있다. 입력 및 출력 데이터는 메모리 모듈(502)이 설치된 시스템의 적어도 하나의 프로세서(예를 들어, 메인 프로세서)를 우회할 수 있다(예를 들어, 인터페이스(508a 및 508b)는, 연결(518a 및 518b)을 통해, 메모리 모듈(502)이 설치된 시스템의 다른 디바이스(514)에 연결되고, 메모리 모듈이 설치된 시스템의 적어도 하나의 프로세서(512)를 우회하는 것을 참조). 일부 실시형태에서, 도 5에 도시된 바와 같이, 입력 및 출력 데이터는 메모리 모듈(502)이 설치된 시스템의 데이터 버스(예를 들어, 메인 데이터 버스)를 우회한다(예를 들어, 인터페이스(508a 및 508b)는, 연결(518a 및 518b)을 통해, 메모리 모듈이 설치된 시스템의 다른 디바이스(514)에 연결되고, 메모리 모듈이 설치된 시스템의 버스(516)(다수의 버스를 포함할 수 있음)를 우회하는 것을 참조). 파선 연결은 선택적 연결을 나타내는 것으로 이해되어야 한다.
메모리 모듈(502)은 또한 복수의 메모리 칩(예를 들어, 메모리 칩(504a, 504b 및 504c) 참조), 제어기(들)(예를 들어, 제어기(506a 및 506b) 참조), 및 인터페이스 디바이스(들)(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)를 연결하는 버스(510)(다수의 버스를 포함할 수 있음)를 갖는 것으로 도시되어 있다. 버스(510)는 메모리 모듈이 설치된 시스템의 버스(예를 들어, 버스(516) 참조)의 일부일 수 있으며, 이는 메모리 모듈(502)을 이것이 설치된 시스템의 나머지 부분에 연결한다. 메모리 모듈을 버스(516) 및 시스템의 나머지 부분에 연결하는 버스(510)의 파선 부분으로 도시된 바와 같이, 버스(510)는 일부 실시형태에서 버스(516)와 별개일 수 있고, 다른 실시형태에서 버스(516)에 연결될 수 있다. 파선 연결은 선택적 연결을 나타내는 것으로 이해되어야 한다. 메모리 모듈(502)의 제어기(예를 들어, 제어기(506a 및 506b) 참조) 중 하나 이상은 버스(510)를 통해 그리고 버스(516)를 우회하는 연결(예를 들어, 연결(518a 및 518b) 참조)을 통해 전달되는 데이터를 중재할 수 있다.
본 명세서에 언급된 인터페이스 디바이스 및 다른 인터페이스 디바이스는 하나 이상의 네트워크 인터페이스 디바이스, 하나 이상의 링크, 하나 이상의 버스, 하나 이상의 포트, 하나 이상의 피어 투 피어 링크, 또는 이들의 임의의 조합을 포함할 수 있다.
일부 실시형태에서, 메모리 모듈(502)은 전역 공유 컨텍스트(global shared context)를 구현할 수 있다. 일반적으로, 전역 공유 컨텍스트는 인터페이스 디바이스를 통해 서로 통신하는 메모리 모듈(502 또는 602)의 복수의 인스턴스(instance)를 포함한다. 전역 공유 컨텍스트는 많은 양의 메모리가 유용하고 메모리에 근접한 데이터 처리가 그래픽 처리를 향상시킬 수 있기 때문에 그래픽 처리 및 그래픽 애플리케이션에 유용할 수 있다. 이러한 실시형태 및 기타 실시형태에서, 인터페이스 디바이스(들)(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)는 통신 메모리 모듈이 설치된 시스템에 설치된 메모리 모듈의 적어도 하나의 다른 인스턴스에 입력 및 출력 데이터를 전달하도록 구성될 수 있다.
일부 실시형태에서, 본 명세서에 설명된 메모리 모듈(502) 또는 다른 메모리 모듈, 본 명세서에 설명된 제어기(506a) 또는 다른 제어기, 본 명세서에 설명된 인터페이스 디바이스(508a) 또는 다른 인터페이스 디바이스, 본 명세서에 설명된 메모리 칩(504a, 504b 및 504c) 또는 다른 메모리 칩, 또는 이들의 임의의 조합은 시스템 온 칩(SoC), 시스템 온 패키지(SoP), 예를 들어, 상호 배치된 칩릿 시스템, 또는 이종 다이 스택 등의 일부일 수 있다. 이러한 모든 실시형태는 서로 결합되고 시스템의 나머지 부분과 결합되기 위한 PCB를 반드시 포함할 필요는 없는 긴밀하게 통합된 IP 블록 및 칩을 나타낸다. SoC 또는 다른 실시형태를 포함하거나 이의 일부인 실시형태는 하나 이상의 GPU 또는 하나 이상의 다른 유형의 특수 프로세서 및/또는 하나 이상의 PIM 유닛을 포함할 수 있다. SoC 또는 다른 실시형태를 포함하거나 이의 일부인 실시형태는 메모리 제어기, 디스플레이 싱크(display sink)(예를 들어, HDMI 또는 디스플레이포트), 무선 인터페이스 또는 네트워크용 라디오, AI 엔진 또는 가속기, 스케일러 유형 프로세서, 벡터형 프로세서, CPU 코어 등을 포함하거나 이에 연결된 프로세서를 포함할 수 있다.
도 5에 도시되지 않은, 메모리 모듈(502)은 또한 복수의 전기 접점을 포함할 수 있다. 메모리 모듈(502)은 또한 마더보드의 메모리 슬롯으로 삽입되도록 구성된 PCB를 포함할 수 있다. 이러한 실시형태에서, 복수의 메모리 칩(예를 들어, 메모리 칩(504a, 504b 및 504c) 참조)은 PCB에 결합될 수 있고, 복수의 전기 접점은 PCB의 각 측에 있을 수 있다. 또한, 제어기(들)(예를 들어, 제어기(506a 및 506b) 참조)는 PCB에 결합될 수 있고, 인터페이스 디바이스(들)(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)는 PCB에 결합될 수 있다.
일부 실시형태에서, 제어기(들)(예를 들어, 제어기(506a 및 506b) 참조)는 적어도 하나의 특수 목적 제어기이거나, 이를 포함하거나, 이의 일부일 수 있다. 특수 목적 제어기(들)는 GPU, AI 가속기, 신경 처리 유닛(NPU), 다른 유형의 특수 목적 제어기, PIM 유닛, 또는 이들의 임의의 조합이거나 이를 포함하거나 이의 일부일 수 있다.
일부 실시형태에서, 인터페이스 디바이스(들)(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)는 적어도 부분적으로 무선으로 통신하는 적어도 하나의 무선 인터페이스 디바이스를 포함하거나, 또는 칩들 사이에 광 통신을 제공하는 칩 내 광 상호 연결부를 포함할 수 있다. 인터페이스 디바이스(들)의 다른 부분은 유선을 통해 통신할 수 있다. 인터페이스 디바이스(들)는 또한 다수의 기능 및/또는 채널 및 채널 유형을 가진 하이브리드 인터페이스 디바이스일 수 있다. 인터페이스 디바이스(들)는 네트워크 인터페이스 디바이스(예를 들어, 무선 네트워크 인터페이스 디바이스)이거나, 이를 포함하거나, 이의 일부일 수 있다. 인터페이스 디바이스(들)는 적어도 하나의 무선 인터페이스 디바이스를 포함할 수 있고/있거나, 유선 링크는 하나 이상의 유선 및/또는 무선 네트워크, 피어 투 피어 링크, 포트, 버스 등을 통해 통신하도록 구성될 수 있다.
일부 실시형태에서, 메모리 모듈(502)은 메모리 모듈(502)이 설치된 컴퓨팅 디바이스의 프로세서(예를 들어, 컴퓨팅 디바이스의 메인 프로세서)에 복수의 메모리 칩의 입력 및 출력 데이터를 전달하기 위해 복수의 전기 접점 중 적어도 일부에 복수의 메모리 칩(예를 들어, 메모리 칩(504a, 504b 및 504c))을 연결하도록 구성된 제1 연결부를 포함할 수 있다. 메모리 모듈(502)은 또한 복수의 메모리 칩을 제어기(들)(예를 들어, 제어기(506a 및 506b) 참조)에 연결하도록 구성된 제2 연결부를 포함할 수 있다. 메모리 모듈(502)은 또한 메모리 모듈(502)이 설치된 컴퓨팅 디바이스의 프로세서를 우회하는 통신 경로를 통해, 인터페이스 디바이스(들)가 다른 디바이스로부터 제어기(들)에 대한 입력 데이터를 수신하고, 제어기(들)의 출력 데이터를 다른 디바이스에 전달하도록 제어기(들)를 인터페이스 디바이스(들)(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)에 연결하도록 구성된 하나 이상의 제3 연결부를 포함할 수 있다.
도 6은 메모리 모듈(502)과 다소 유사한 메모리 모듈(602)을 도시한다. 그러나, 메모리 모듈(602)은 적어도 하나의 중재자(예를 들어, 중재자(604a 및 604b) 참조)를 갖는 것으로 도시되어 있다. 도 6은 도 5에 도시된 칩(예를 들어, 메모리 칩(504a, 504b 및 504c) 참조)과 유사한 복수의 메모리 칩을 갖는 메모리 모듈(602)을 도시한다. 메모리 모듈(602)은 또한 도 5에 도시된 적어도 하나의 제어기(예를 들어, 제어기(506a 및 506b) 참조)와 유사한 적어도 하나의 제어기를 갖는다. 또한 도 6에 도시된 바와 같이, 메모리 모듈(502)의 상이한 실시형태는 하나의 제어기(예를 들어, 제어기(506a)), 2개의 제어기(예를 들어, 제어기(506a 및 506b)), 또는 2개 초과의 제어기를 가질 수 있다. 파선 박스는 선택적 구성요소를 나타내는 것으로 이해되어야 한다. 또한, 메모리 모듈(602)의 실시형태는 2개의 메모리 칩 또는 2개 초과의 메모리 칩을 가질 수 있는 것으로 이해되어야 한다.
또한, 도 6에 도시된 바와 같이, 메모리 모듈(602)은 도 5에 도시된 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)와 유사한 적어도 하나의 인터페이스 디바이스를 갖는 것으로 도시된다. 도시된 바와 같이, 메모리 모듈(602)의 상이한 실시형태는 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a)), 2개의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a 및 508b)), 또는 2개 초과의 인터페이스 디바이스를 가질 수 있다. 그리고, 언급된 바와 같이, 파선 박스는 선택적 구성요소를 나타내는 것으로 이해되어야 한다. 인터페이스 디바이스(들)(예를 들어, 인터페이스 디바이스(508a 및 508b) 참조)는 메모리 모듈(602)에 대한 입력 및 출력 데이터를 전달하도록 구성될 수 있다. 입력 및 출력 데이터는 메모리 모듈(602)이 설치된 시스템의 프로세서(예를 들어, 메인 프로세서)를 우회할 수 있다. 일부 실시형태에서, 입력 및 출력 데이터는 메모리 모듈(602)이 설치된 시스템의 데이터 버스(예를 들어, 메인 데이터 버스)를 우회한다.
추가적으로, 언급된 바와 같이 그리고 도 6에 도시된 바와 같이, 메모리 모듈(602)은 적어도 하나의 중재자(예를 들어, 중재자(604a 및 604b))를 포함한다. 적어도 하나의 중재자는 제어기(들)(예를 들어, 제어기(506a 및 506b) 참조)가 복수의 메모리 칩에 액세스하는 동안 호스팅 컴퓨팅 디바이스의 프로세서가 복수의 메모리 칩(예를 들어, 메모리 칩(504a 및 504b) 참조)에 있는 데이터에 액세스하려고 시도할 때 충돌을 해결하도록 구성될 수 있다. 도시된 바와 같이, 메모리 모듈(602)의 상이한 실시형태는 하나의 중재자(예를 들어, 중재자(604a)), 2개의 중재자(예를 들어, 중재자(604a 및 604b)), 또는 2개 초과의 중재자를 가질 수 있다. 그리고, 언급된 바와 같이, 파선 박스와 연결부는 선택적 구성요소를 나타내는 것으로 이해되어야 한다.
일부 실시형태에서, 중재자는 제어기의 일부일 수 있고, 각각의 제어기는 이러한 칩과 외부 디바이스(메인 프로세서와 시스템)에 액세스하는 모든 디바이스 중에서 메모리 칩에 대한 액세스를 중재하는 하나의 중재자를 가질 수 있다. 다른 실시형태에서 중재자는 각각의 중재자가 처리 순서대로 각 칩에 대한 메모리 요청을 큐(queue)에 추가하고 메모리 칩 내의 동일한 어드레스에 대한 요청과 관련된 충돌을 해결할 수 있도록 메모리 칩의 일부일 수 있다. 또한, 일부 실시형태에서, 메모리 모듈(202)의 중재자(예를 들어, 중재자(604a 및 604b) 참조) 중 하나 이상은 메모리 모듈(602)이 설치된 시스템의 버스(510)를 통해 및 버스(516)를 우회하는 연결(예를 들어, 연결(518a 및 518b) 참조)을 통해 전달된 데이터를 중재할 수 있다.
도 5 및 도 6에 도시되고 언급된 바와 같이, 메모리 모듈(502)과 메모리 모듈(602)은 복수의 메모리 칩, 적어도 하나의 제어기(예를 들어, 적어도 하나의 특수 목적 제어기), 및 메모리 모듈에 대한 입력 및 출력 데이터를 전달하도록 구성된 적어도 하나의 인터페이스 디바이스를 포함한다. 입력 및 출력 데이터는 메모리 모듈(502 또는 602)이 설치된 컴퓨팅 디바이스의 프로세서를 우회한다. 그리고, 인터페이스 디바이스(들)는 입력 및 출력 데이터를 컴퓨팅 디바이스(도 5 및 도 6에 도시되지 않음) 내의 적어도 하나의 다른 메모리 모듈에 전달하도록 구성될 수 있다. 일부 실시형태에서, 입력 및 출력 데이터 또는 그 일부는 (예를 들어, 메모리 모듈의 상태를 등록하기 위해) 메인 프로세서를 통해 전달되고 메인 프로세서에 의해 처리된다.
메모리 모듈(502 또는 602)의 인터페이스 디바이스(들)는 하나 이상의 통신 네트워크를 통해 제어기(들)의 입력 및 출력 데이터를 전달하도록 구성될 수 있는 적어도 하나의 네트워크 인터페이스 디바이스를 포함할 수 있다. 제어기(들)는 GPU, AI 가속기, NPU, 다른 유형의 특수 목적 제어기, PIM 유닛, 또는 이들의 임의의 조합을 포함할 수 있다. 메모리 모듈(502 또는 602)의 적어도 하나의 인터페이스 디바이스는 하나 이상의 무선 통신 네트워크를 통해 적어도 부분적으로 무선으로 통신하도록 구성된 적어도 하나의 무선 인터페이스 디바이스를 포함하거나 또는 칩들 사이에 광 통신을 제공하는 칩 내 광 상호 연결부를 포함할 수 있고, 하나 이상의 무선 통신 네트워크 또는 칩 내 광 상호 연결부는 메모리 모듈(502 또는 602)이 설치된 컴퓨팅 디바이스의 데이터 버스(예를 들어, 메인 데이터 버스)를 우회할 수 있다. 일부 실시형태에서, 무선 통신은 시스템에 설치된 다수의 메모리 모듈 사이에서 발생할 수 있다. 예를 들어, 무선 수신기는 (PC 보드에 설치된 DIMM과 같이) 근접한 공간에 정렬된 모듈 간의 데이터 통신을 허용할 수 있다. 이것은 이러한 통신의 속도를 증가시킬 수 있다. 구체적으로, 일부 실시형태에서, 테라헤르츠 무선 통신(THz: Terahertz Wireless Communication)은 100s Gb/sec의 속도를 가능하게 할 수 있다. 따라서, 이러한 예에서, 인트라 칩 또는 인트라 모듈 THz 복사선은 본 명세서에 개시된 메모리 모듈 간에 대량의 데이터 교환을 지원할 수 있다.
그리고, 구체적으로 도 6에 도시된 바와 같이, 메모리 모듈(602)은 메모리 모듈의 제어기(들)가 메모리 모듈의 복수의 메모리 칩에 액세스하는 동안 메모리 모듈을 갖는 컴퓨팅 디바이스의 프로세서가 복수의 메모리 칩의 데이터에 액세스하려고 시도할 때 충돌을 해결하도록 구성된 적어도 하나의 중재자를 포함한다.
도 7 및 도 8은 본 발명의 일부 실시형태에 따른 예시적인 메모리 모듈 시스템(702 및 802)을 각각 도시한다. 도 8은 도 7에 도시된 메모리 모듈 시스템(702)과 다소 유사한 메모리 모듈 시스템(802)을 도시한다. 그러나, 메모리 모듈 시스템(802)은 적어도 하나의 중재자(예를 들어, 중재자(804a 및 804b) 참조)를 갖는 것으로 도시된다. 메모리 모듈 시스템(802)에 포함된 것으로 도시된 적어도 하나의 중재자는 메모리 모듈 시스템 내의 적어도 하나의 제어기가 메모리 칩에 액세스하는 동안 메모리 모듈 시스템(802)을 갖거나 호스팅하는 컴퓨팅 디바이스의 프로세서가 메모리 모듈 시스템의 하나 이상의 메모리 칩에 있는 데이터에 액세스하려고 시도할 때 충돌을 해결하도록 구성된다.
도시된 메모리 모듈 시스템(702 및 802) 모두는 복수의 메모리 모듈(예를 들어, 메모리 모듈(704a, 704b 및 704c) 참조)을 포함한다. 그리고, 메모리 모듈 각각은 복수의 메모리 칩을 포함한다. 복수의 메모리 모듈(예를 들어, 메모리 모듈(704a, 704b 및 704c) 참조)의 각각의 메모리 모듈은 메모리 모듈(502) 또는 메모리 모듈(602)일 수 있다. 메모리 모듈 시스템(702 및 802) 각각은 또한 적어도 하나의 외부 제어기(예를 들어, 외부 제어기(706a 및 706b) 참조) 및 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(708a 및 708b) 참조)를 포함한다.
메모리 모듈 시스템(702 및 802)은 각각 복수의 메모리 모듈(예를 들어, 메모리 모듈(704a, 704b 및 704c) 참조), 적어도 하나의 외부 제어기(예를 들어, 외부 제어기(706a 및 706b) 참조), 및 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(708a 및 708b) 참조)를 연결하는 버스(710)(다수의 버스를 포함할 수 있음)를 갖는 것으로 도시되어 있다.
메모리 모듈 시스템(702 및 802)은 각각 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(708a 및 708b) 참조)를 갖는 것으로 도시되어 있다. 도시된 바와 같이, 메모리 모듈(702 및 802)의 상이한 실시형태는 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(708a)), 2개의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(708a 및 708b)), 또는 2개 초과의 인터페이스 디바이스를 가질 수 있다. 그리고, 언급된 바와 같이, 파선 박스는 선택적 구성요소를 나타내는 것으로 이해되어야 한다. 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(708a 및 708b) 참조)는 메모리 모듈 시스템(702 및 802) 각각에 대한 입력 및 출력 데이터를 전달하도록 구성될 수 있다. 입력 및 출력 데이터는 메모리 모듈 시스템(702 및 802) 중 하나가 설치된 각각의 시스템의 프로세서(예를 들어, 메인 프로세서)를 우회할 수 있다(예를 들어, 인터페이스(708a 및 708b)는, 연결(718a 및 718b)을 통해, 메모리 모듈 시스템(702 및 802) 중 하나가 설치된 시스템의 다른 디바이스(714)에 연결되고, 시스템의 적어도 하나의 프로세서(712)를 우회하는 것을 참조). 일부 실시형태에서, 도 7에 도시된 바와 같이, 입력 및 출력 데이터는 메모리 모듈 시스템(702 및 802) 중 하나가 설치된 시스템의 데이터 버스(예를 들어, 메인 데이터 버스)를 우회한다(예를 들어, 인터페이스(708a 및 708b)는, 연결(718a 및 718b)을 통해, 시스템의 다른 디바이스(714)에 연결되고, 시스템의 버스(716)(다수의 버스를 포함할 수 있음)를 우회하는 것을 참조). 파선 연결은 선택적 연결을 나타내는 것으로 이해되어야 한다.
또한, 버스(710)는 메모리 모듈 시스템(702 및 802) 중 하나가 설치된 시스템의 버스(예를 들어, 버스(716) 참조)의 일부일 수 있으며, 이는 메모리 모듈 시스템(702 및 802) 중 하나를 이것이 설치된 시스템의 나머지 부분에 연결한다. 메모리 모듈 시스템을 버스(716) 및 시스템의 나머지 부분에 연결하는 버스(710)의 파선 부분으로 도시된 바와 같이, 버스(710)는 일부 실시형태에서 버스(716)와 별개일 수 있고, 다른 실시형태에서 버스(716)에 연결될 수 있다. 파선 연결은 선택적 연결을 나타내는 것으로 이해되어야 한다. 메모리 모듈 시스템(702 및 802) 각각의 제어기(예를 들어, 제어기(706a 및 706b) 참조) 중 하나 이상은 버스(710)를 통해 및 버스(716)를 우회하는 연결(예를 들어, 연결(718a 및 718b) 참조)을 통해 전달되는 데이터를 중재할 수 있다.
도시된 바와 같이, 외부 제어기(예를 들어, 외부 제어기(706a 및 706b) 참조)는 메모리 모듈 시스템(702 및 802) 각각에서 복수의 메모리 모듈(예를 들어, 메모리 모듈(704a, 704b 및 704c) 참조)과 별개이다. 메모리 모듈 시스템(702 및 802)의 일부 실시형태에서, 외부 제어기(들)는 복수의 메모리 모듈의 제어기(예를 들어, 제어기(506a 및 506b) 및 메모리 모듈(502, 602, 및 704a 내지 704c) 참조)에 의한 계산을 조정하도록 구성될 수 있다. 또한, 외부 제어기(들)는 복수의 메모리 모듈의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(508a 및 508b) 및 메모리 모듈(502, 602, 및 704a 내지 704c) 참조)에 의한 통신을 조정하도록 구성될 수 있다.
또한, 도시된 바와 같이, 인터페이스 디바이스(들)(예를 들어, 인터페이스 디바이스(708a 및 708b) 참조)는 메모리 모듈 시스템(702 및 802) 각각에서 복수의 메모리 모듈(예를 들어, 메모리 모듈(704a, 704b 및 704c) 참조)과 별개이다. 메모리 모듈 시스템(702 및 802)의 적어도 하나의 인터페이스 디바이스(예를 들어, 인터페이스 디바이스(708a 및 708b) 참조)는 적어도 부분적으로 무선으로 통신하는 적어도 하나의 무선 인터페이스 디바이스를 포함하거나, 칩들 사이에 광 통신을 제공하는 칩 내 광 상호 연결부를 포함할 수 있다. 메모리 모듈 시스템(702 및 802)의 인터페이스 디바이스(들)의 다른 부분은 유선을 통해 통신할 수 있다. 메모리 모듈 시스템(702 및 802)의 적어도 하나의 인터페이스 디바이스는 또한 다수의 기능 및/또는 채널 및 채널 유형을 갖는 하이브리드 인터페이스 디바이스일 수 있다. 메모리 모듈 시스템(702 및 802)의 인터페이스 디바이스(들)는 네트워크 인터페이스 디바이스(예를 들어, 무선 네트워크 인터페이스 디바이스)이거나, 이를 포함하거나, 이의 일부일 수 있다. 메모리 모듈 시스템(702 및 802)의 인터페이스(들) 디바이스는 적어도 하나의 무선 인터페이스 디바이스를 포함할 수 있고/있거나, 유선 링크는 하나 이상의 유선 및/또는 무선 네트워크, 피어 투 피어 링크, 포트, 버스 등을 통해 통신하도록 구성될 수 있다.
또한, 복수의 메모리 모듈(예를 들어, 메모리 모듈(704a, 704b 및 704c) 참조)은 복수의 상이한 유형의 메모리 구조부일 수 있다. 예를 들어, 복수의 메모리 모듈은 하나 이상의 DIMM, 하나 이상의 SO-DIMM, 하나 이상의 RDIMM, 하나 이상의 미니-RDIMM, 하나 이상의 소켓형 메모리 스택, 하나 이상의 소켓형 시스템 온 패키지 또는 다른 유형의 메모리용 PoP, 하나 이상의 다른 유형의 메모리 구조부 또는 모듈, 또는 이들의 임의의 조합이거나, 이의 일부이거나, 이를 포함할 수 있다.
또한, 본 명세서에 설명된 메모리 모듈 각각은 상이한 유형의 메모리 구조부일 수 있다. 예를 들어, 본 명세서에 설명된 메모리 모듈은 DIMM, SO-DIMM, RDIMM, 미니-RDIMM, 소켓형 메모리 스택 또는 소켓형 시스템 온 패키지 또는 다른 유형의 메모리용 PoP이거나, 이의 일부이거나 이를 포함할 수 있다.
예를 들어, 메모리 모듈 시스템(702 또는 802)의 일부 실시형태에서, 시스템은 복수의 DIMM을 포함할 수 있다. 그리고, 복수의 DIMM의 각각의 DIMM은 복수의 DIMM과 별개인 추가 PCB의 메모리 슬롯에 삽입되도록 구성된 PCB를 포함할 수 있다. 또한, 복수의 DIMM의 각각의 DIMM은 PCB에 결합된 복수의 메모리 칩, PCB의 각 측에 있는 복수의 전기 접점, PCB에 결합된 적어도 하나의 제어기(예를 들어, 적어도 하나의 특수 목적 제어기), 및 DIMM에 대한 입력 및 출력 데이터를 전달하도록 구성된 적어도 하나의 인터페이스 디바이스를 포함할 수 있다. 입력 및 출력 데이터는 DIMM 및 시스템이 설치된 컴퓨팅 디바이스의 적어도 하나의 프로세서를 우회한다. 그리고, DIMM을 갖는 시스템(702 및 802)의 이러한 실시형태에서, 인터페이스 디바이스(들)는 입력 및 출력 데이터를 복수의 DIMM 중 적어도 하나의 다른 DIMM에 전달하도록 구성될 수 있다.
또한, DIMM을 갖는 시스템(702 및 802)의 이러한 실시형태에서, 외부 제어기는 복수의 DIMM과 별개이고, 복수의 DIMM의 특수 목적 제어기에 의한 계산을 조정하도록 구성될 수 있다. 외부 제어기는 또한 복수의 DIMM의 인터페이스 디바이스에 의한 통신을 조정하도록 구성될 수 있다. 그리고, 이러한 실시형태에서, 추가 PCB는 복수의 DIMM과 별개이고, 복수의 DIMM을 수용하도록 구성된 복수의 메모리 슬롯을 포함할 수 있다. 또한, 외부 제어기는 추가 PCB에 결합될 수 있고, 추가 PCB는 마더보드일 수 있고, 외부 제어기는 중앙 처리 유닛(CPU) 또는 특수 목적 제어기와 같은 다른 유형의 프로세서를 포함할 수 있다.
일부 실시형태에서, 복수의 DIMM의 각각의 DIMM의 적어도 하나의 제어기는 특수 목적 제어기일 수 있다. 예를 들어, 적어도 하나의 제어기는 GPU, AI 가속기, NPU, 다른 유형의 특수 목적 제어기, PIM 유닛, 또는 이들의 임의의 조합이거나, 이의 일부이거나 이를 포함할 수 있다.
일부 실시형태에서, 복수의 DIMM의 DIMM의 인터페이스 디바이스(들)는 적어도 부분적으로 무선으로 통신하도록 구성된 무선 인터페이스 디바이스를 포함하거나, 또는 칩들 사이에 광 통신을 제공하는 칩 내 광 상호 연결부를 포함할 수 있다. 그리고, 이러한 예에서, 복수의 DIMM의 각각의 DIMM에 대해, DIMM의 무선 인터페이스 디바이스는 적어도 하나의 제어기에 대한 입력 데이터를 수신하고, 시스템이 설치된 시스템(702 또는 802)을 호스팅하는 컴퓨팅 디바이스의 프로세서를 우회하는 하나 이상의 무선 통신 링크를 통해 제어기(들)의 출력 데이터를 하나 이상의 사용자 인터페이스에 전달하도록 구성될 수 있다. 하나 이상의 사용자 인터페이스는 촉각 UI(터치), 시각 UI(시각), 예를 들어, GUI, 청각 UI(소리), 후각 UI(냄새), 평형 UI(균형), 미각 UI(미각), 또는 이들의 임의의 조합을 포함하는, 임의의 유형의 사용자 인터페이스(UI) 중 하나 이상을 포함할 수 있다.
일부 실시형태에서, DIMM은 하나 이상의 고속 무선 인터페이스를 통해 서로 통신할 수 있다. DIMM은 설치, 정렬 및 서로 근접할 수 있으므로 근접한 전송기가 있는 고속 무선 인터페이스를 사용하여 DIMM 간에 데이터를 전송할 수 있다. 또한, 와이어는 메모리 슬롯에 삽입될 때 PCB에 연결하는 측이 아닌 각 DIMM의 측을 통해 DIMM을 연결할 수 있다.
도 9는 본 발명의 일부 실시형태에 따라 적어도 컴퓨팅 디바이스(902, 922a, 922b, 922c 및 922d)를 포함하는 예시적인 네트워크 시스템(900)을 도시한다. 또한, 도 9는 네트워크 시스템(900)의 일부인 예시적인 컴퓨팅 디바이스(902)의 예시적인 부분을 도시한다. 그리고, 도 9는, 이러한 컴퓨팅 디바이스가 다양한 기계, 장치 및 시스템, 예를 들어, IoT 디바이스, 모바일 디바이스, 통신 네트워크 디바이스 및 장치(예를 들어, 기지국(930) 참조), 기기(예를 들어, 기기(940) 참조) 및 차량(예를 들어, 차량(950) 참조)에 통합될 수 있는 방식을 도시한다.
컴퓨팅 디바이스(902) 및 네트워크 시스템(900)의 다른 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스(922a, 922b, 922c 및 922d) 참조)는 하나 이상의 통신 네트워크(920)에 통신 가능하게 결합될 수 있다. 컴퓨팅 디바이스(902)는 적어도 버스(906), 제어기(908)(예를 들어, CPU), 제1 메모리(910), 네트워크 인터페이스(912), 데이터 저장 시스템(914), 다른 구성요소(916)(이는 모바일 또는 컴퓨팅 디바이스에서 볼 수 있는 임의의 유형의 구성요소, 예를 들어, GPS 구성요소, I/O 구성요소, 예를 들어, 다양한 유형의 사용자 인터페이스 구성요소, 및 센서뿐만 아니라 카메라), 및 제2 메모리(918)(메모리 모듈(502 또는 602) 또는 메모리 모듈 시스템(702 또는 802)을 포함할 수 있음)를 포함한다. 다른 구성요소(916)는 하나 이상의 사용자 인터페이스(예를 들어, GUI, 청각적 사용자 인터페이스, 촉각적 사용자 인터페이스 등), 디스플레이, 다른 유형의 센서, 촉각, 오디오 및/또는 시각적 입력/출력 디바이스, 추가 응용 특정 메모리, 하나 이상의 추가 제어기(예를 들어, GPU), 또는 이들의 임의의 조합을 포함할 수 있다. 버스(906)는 제어기(908), 제1 메모리(910), 네트워크 인터페이스(912), 데이터 저장 시스템(914) 및 다른 구성요소(916)를 통신 가능하게 결합시키고, 일부 실시형태에서 이러한 구성요소를 제2 메모리(912)에 결합시킬 수 있다. 언급된 바와 같이, 파선 박스 및 연결은 선택적 구성요소를 나타내는 것으로 이해되어야 한다.
컴퓨팅 디바이스(902)는 버스(906)(다수의 버스를 포함할 수 있음)를 통해 서로 통신할 수 있는, 적어도 제어기(908), 제1 메모리(910) 및 제2 메모리(518)(예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM), 예를 들어, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM), 정적 랜덤 액세스 메모리(SRAM), 크로스 포인트 또는 크로스 바 메모리, 크로스바 메모리 등), 및 데이터 저장 시스템(914)을 포함하는 컴퓨터 시스템을 포함한다. 일부 실시형태에서, 제2 메모리(518)는 버스(506)를 통해 통신하지 않을 수 있다.
다시 말해, 도 9는 본 발명의 실시형태가 동작할 수 있는 컴퓨터 시스템을 갖는 컴퓨팅 디바이스(902)의 블록도를 포함한다. 일부 실시형태에서, 컴퓨터 시스템은, 실행될 때, 본 명세서에서 논의된 방법론 중 임의의 하나 이상을 기계로 하여금 적어도 부분적으로 수행하게 하기 위한 명령어 세트를 포함할 수 있다. 이러한 실시형태에서, 기계는 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷(예를 들어, 네트워크(들)(920) 참조)의 다른 기계에 연결될 수 있다(예를 들어, 네트워크 인터페이스(912)를 통해 네트워크로 연결될 수 있다). 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계의 자격으로, 피어 투 피어(또는 분산) 네트워크 환경에서 피어 기계로, 또는 클라우드 컴퓨팅 인프라 또는 환경에서 서버 또는 클라이언트 기계로 동작할 수 있다.
제어기(908)는 마이크로프로세서, 중앙 처리 유닛 등과 같은 하나 이상의 일반 목적 처리 디바이스를 나타낸다. 보다 구체적으로, 처리 디바이스는 복잡한 명령어 세트 컴퓨팅(CISC) 마이크로프로세서, 감소된 명령어 세트 컴퓨팅(RISC) 마이크로프로세서, 매우 긴 명령어 워드(VLIW) 마이크로프로세서, 단일 명령어 다중 데이터(SIMD), 다중 명령어 다중 데이터(MIMD), 또는 다른 명령어 세트를 구현하는 프로세서, 또는 명령어 세트의 조합을 구현하는 프로세서일 수 있다. 제어기(908)는 또한 ASIC, FPGA와 같은 프로그래밍 가능 논리 회로, 디지털 신호 프로세서(DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 디바이스일 수 있다. 제어기(908)는 본 명세서에서 논의된 동작 및 단계를 수행하기 위한 명령어를 실행하도록 구성된다. 제어기(908)는 하나 이상의 통신 네트워크(예를 들어, 네트워크(들)(920))를 통해 통신하기 위해 네트워크 인터페이스(912)와 같은 네트워크 인터페이스 디바이스를 더 포함할 수 있다.
데이터 저장 시스템(914)은 본 명세서에 설명된 방법론 또는 기능 중 임의의 하나 이상을 구현하는 하나 이상의 명령어 세트 또는 소프트웨어를 저장하는 기계 판독 가능 저장 매체(컴퓨터 판독 가능 매체라고도 알려짐)를 포함할 수 있다. 데이터 저장 시스템(914)은 데이터 저장 시스템에 상주하는 명령어를 적어도 부분적으로 실행할 수 있는 것과 같은 실행 능력을 가질 수 있다. 명령어는 또한, 컴퓨터 시스템에 의해 실행되는 동안 제1 메모리(910)와 제2 메모리(918) 중 적어도 하나 내에 및/또는 제어기(908) 내에 완전히 또는 적어도 부분적으로 상주할 수 있고, 제1 메모리(910)와 제2 메모리(918) 중 적어도 하나뿐만 아니라 제어기(908)는 또한 기계 판독 가능 저장 매체를 구성한다. 제1 메모리(910)는 컴퓨팅 디바이스(902)의 메인 메모리이거나 이를 포함할 수 있다. 제1 메모리(910)와 제2 메모리(918)는 메모리에 상주하는 명령어를 적어도 부분적으로 실행할 수 있는 것과 같은 실행 능력을 가질 수 있다.
언급된 바와 같이, 네트워크 시스템(900)은 컴퓨팅 디바이스를 포함하고, 컴퓨팅 디바이스 각각은 하나 이상의 버스, 제어기, 메모리, 네트워크 인터페이스, 저장 시스템, 및 기타 구성요소를 포함할 수 있다. 또한, 도 9에 도시되고 본 명세서에 설명된 컴퓨팅 디바이스 각각은 모바일 디바이스 등, 예를 들어, 스마트폰, 태블릿 컴퓨터, IoT 디바이스, 스마트 텔레비전, 스마트 시계, 안경 또는 기타 스마트 가전 기기, 차량 내 정보 시스템, 웨어러블 스마트 디바이스, 게임 콘솔, PC, 디지털 카메라 또는 이들의 임의의 조합을 포함하거나 이의 일부일 수 있다. 도시된 바와 같이, 컴퓨팅 디바이스는 블루투스 등과 같은 적어도 로컬 대 디바이스 네트워크, 광역 네트워크(WAN), 근거리 네트워크(LAN), 인트라넷, 4G 또는 5G와 같은 모바일 무선 네트워크, 엑스트라넷, 인터넷 및/또는 이들의 임의의 조합을 포함하는 네트워크(들)(920)에 연결될 수 있다. 일부 실시형태에서, 파선 연결(919)로 도시된 바와 같이, 제2 메모리(918)는 통신 네트워크(들)(920)를 통해 다른 디바이스와 별도로 통신할 수 있도록 적어도 하나의 네트워크 인터페이스를 포함할 수 있다. 예를 들어, 제2 메모리(918)의 메모리 모듈 또는 메모리 모듈 시스템(예를 들어, 메모리 모듈(502 및 602), 및 메모리 모듈 시스템(702 및 802) 참조)은 이러한 구성요소가 통신 네트워크(들)(920)를 통해 다른 디바이스와 별도로 통신할 수 있도록 자체 네트워크 인터페이스를 가질 수 있다.
본 명세서에 설명된 컴퓨팅 디바이스 각각은 개인용 컴퓨터(PC), 태블릿 PC, 셋톱박스(STB), 개인용 휴대 정보 단말기(PDA), 셀룰러 폰, 웹 기기, 서버, 네트워크 라우터, 스위치나 브리지, 또는 기계가 취해야 할 조치를 지정하는 일련의 명령어(순차적이든 아니든)를 실행할 수 있는 임의의 기계이거나 임의의 기계로 대체될 수 있다.
또한, 도 9에 도시된 컴퓨팅 디바이스(902)에 대해 단일 기계가 도시되어 있지만, "기계"라는 용어는 또한 본 명세서에서 논의된 방법론 또는 동작 중 하나 이상을 수행하기 위해 명령어 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 임의의 기계의 집합을 포함하는 것으로 간주되어야 한다. 그리고, 예시된 컴퓨팅 디바이스뿐만 아니라 컴퓨팅 시스템 각각은 각각 적어도 버스 및/또는 마더보드, 하나 이상의 제어기(예를 들어, 하나 이상의 CPU), 임시 데이터 저장부를 포함할 수 있는 메인 메모리, 적어도 하나의 유형의 네트워크 인터페이스, 영구 데이터 저장부를 포함할 수 있는 저장 시스템, 및/또는 이들의 임의의 조합을 포함할 수 있다. 일부 다중 디바이스 실시형태에서, 하나의 디바이스는 본 명세서에 설명된 방법의 일부 부분을 완료한 다음, 다른 디바이스가 본 명세서에 설명된 방법의 다른 단계를 계속 수행할 수 있도록 네트워크를 통해 완료 결과를 다른 디바이스로 송신할 수 있다.
예시적인 실시형태에서는 메모리, 제어기 및 데이터 저장 부분이 각각 단일 부분인 것으로 도시되어 있지만, 각 부분은 명령어를 저장하고 각각의 동작을 수행할 수 있는 단일 부분 또는 다수의 부분을 포함하는 것으로 간주되어야 한다. "기계 판독 가능 저장 매체"라는 용어는 또한, 기계에 의해 실행하기 위한 명령어 세트를 저장하거나 인코딩할 수 있고, 본 발명의 방법론 중 임의의 하나 이상을 기계로 하여금 수행하게 하는 임의의 매체를 포함하는 것으로 간주되어야 한다. 따라서 "기계 판독 가능 저장 매체"라는 용어는 솔리드 스테이트 메모리, 광학 매체 및 자기 매체를 포함하지만 이들로 제한되지 않는 것으로 간주되어야 한다.
이전의 상세한 설명의 일부 부분은 컴퓨터 메모리 내의 데이터 비트에 대한 동작 알고리즘 및 기호 표현의 관점에서 제시되었다. 이러한 알고리즘 설명 및 표현은 데이터 처리 기술 분야에 통상의 지식을 가진 자가 자신의 작업 내용을 이 기술 분야에 통상의 지식을 가진 다른 사람에게 가장 효과적으로 전달하기 위해 사용하는 방법이다. 알고리즘은 여기에서 일반적으로 원하는 결과로 이어지는 자체 일관된 동작 시퀀스로 간주된다. 동작은 물리량의 물리적 조작이 필요한 동작이다. 일반적으로 반드시 그런 것은 아니지만 이러한 양은 저장, 결합, 비교 및 그 밖에 조작될 수 있는 전기 또는 자기 신호의 형태를 취한다. 주로 일반적인 사용을 위해 이러한 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 언급하는 것이 때때로 편리한 것으로 입증되었다.
그러나, 이러한 용어 및 유사한 용어는 모두 적절한 물리량과 관련되어야 하며, 이러한 양에 적용되는 편리한 명칭일 뿐이라는 점을 염두에 두어야 한다. 본 발명은, 컴퓨터 시스템의 레지스터 및 메모리 내에서 물리적 (전자적) 수량으로 표현되는 데이터를, 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 이러한 정보 저장 시스템 내에서 물리적 수량으로 유사하게 표현되는 다른 데이터로 조작하고 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 조치 및 프로세스를 언급할 수 있다.
본 발명은 또한 본 명세서의 동작을 수행하기 위한 장치에 관한 것이다. 이 장치는 의도된 목적을 위해 특별히 구성되거나, 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성된 일반 목적 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은 컴퓨터 시스템 버스에 각각 결합된, 플로피 디스크, 광 디스크, CD-ROM 및 광자기 디스크, 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 전자 명령어를 저장하는 데 적합한 임의의 유형의 매체를 포함하는 임의의 유형의 디스크와 같은, 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
본 명세서에 제시된 알고리즘 및 디스플레이는 본질적으로 임의의 특정 컴퓨터 또는 기타 장치와 관련이 없다. 다양한 일반 목적 시스템이 본 명세서의 내용에 따른 프로그램과 함께 사용되거나, 또는 방법을 수행하기 위해 보다 특수 장치를 구성하는 것이 편리한 것으로 입증될 수 있다. 이러한 다양한 시스템의 구조는 아래 설명에 제시된 바와 같이 나타난다. 또한, 본 발명은 임의의 특정 프로그래밍 언어를 참조하여 설명되지 않는다. 다양한 프로그래밍 언어는 본 명세서에 설명된 본 발명의 내용을 구현하는 데 사용될 수 있는 것으로 이해된다.
본 발명은 본 발명에 따른 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 디바이스)을 프로그래밍하는 데 사용될 수 있는 명령어를 저장하는 기계 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 기계 판독 가능 매체는 기계(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 일부 실시형태에서, 기계 판독 가능(예를 들어, 컴퓨터 판독 가능) 매체는 판독 전용 메모리("ROM"), 랜덤 액세스 메모리("RAM"), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 구성요소 등과 같은 기계(예를 들어, 컴퓨터) 판독 가능 저장 매체를 포함한다.
전술한 명세서에서, 본 발명의 실시형태는 그 특정 예시적인 실시형태를 참조하여 설명되었다. 하기 청구범위에 제시된 본 발명의 실시형태의 보다 넓은 정신 및 범위를 벗어나지 않고 다양한 변형이 본 실시형태에 이루어질 수 있음이 명백하다. 따라서, 본 명세서 및 도면은 본 발명을 제한하는 의미가 아니라 본 발명을 예시하는 의미로 간주되어야 한다.
Claims (20)
- 방법으로서,
모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 셀룰러 기지국에서 개시하는 단계로서, 상기 메인 계산은 계산 작업을 포함하고, 상기 섀도우 계산은 상기 메인 계산의 적어도 일부이거나 파생물(derivative)인, 상기 메인 계산의 섀도우 계산을 개시하는 단계; 및
상기 셀룰러 기지국에 의해 상기 섀도우 계산을 실행하는 단계
를 포함하는, 방법. - 제1항에 있어서, 상기 셀룰러 기지국에 의해 상기 실행된 섀도우 계산의 출력 데이터를 상기 모바일 디바이스 또는 다른 디바이스로 송신하는 단계를 포함하는, 방법.
- 제1항에 있어서, 상기 셀룰러 기지국에 의해 상기 실행된 섀도우 계산의 출력 데이터를 다른 셀룰러 기지국으로 송신하는 단계를 포함하는, 방법.
- 제1항에 있어서, 상기 셀룰러 기지국에 의해 상기 섀도우 계산을 다른 셀룰러 기지국으로 송신하는 단계를 포함하는, 방법.
- 제4항에 있어서, 상기 모바일 디바이스가 상기 다른 셀룰러 기지국의 임계 거리 내에 있을 때, 상기 셀룰러 기지국에 의해 상기 섀도우 계산을 상기 다른 셀룰러 기지국으로 송신하는 단계를 포함하는, 방법.
- 제4항에 있어서, 상기 다른 셀룰러 기지국이 상기 셀룰러 기지국보다 더 적은 네트워크 트래픽을 경험할 때, 상기 셀룰러 기지국에 의해 상기 섀도우 계산을 다른 셀룰러 기지국으로 송신하는 단계를 포함하는, 방법.
- 제4항에 있어서, 상기 다른 셀룰러 기지국이 상기 셀룰러 기지국보다 더 큰 계산 능력을 가질 때, 상기 셀룰러 기지국에 의해 상기 섀도우 계산을 상기 다른 셀룰러 기지국으로 송신하는 단계를 포함하는, 방법.
- 제4항에 있어서, 상기 다른 셀룰러 기지국에 의해 상기 섀도우 계산을 다시 상기 모바일 디바이스로 송신하는 단계를 포함하는, 방법.
- 제1항에 있어서, 상기 셀룰러 기지국에 의해 상기 섀도우 계산을 다시 상기 모바일 디바이스로 송신하는 단계를 포함하는, 방법.
- 제1항에 있어서,
상기 셀룰러 기지국에 의해 상기 섀도우 계산으로부터 적어도 하나의 다른 섀도우 계산을 파생시키는 단계; 및
상기 셀룰러 기지국에 의해 상기 적어도 하나의 다른 섀도우 계산을 상기 기지국이 아닌 적어도 하나의 디바이스로 송신하는 단계
를 포함하는, 방법. - 제10항에 있어서, 상기 셀룰러 기지국에 의해 상기 적어도 하나의 다른 섀도우 계산을 다른 셀룰러 기지국으로 송신하는 단계를 포함하는, 방법.
- 기지국용 시스템으로서,
복수의 메모리 모듈을 포함하고, 각각의 메모리 모듈은 인쇄 회로 보드(PCB)에 삽입되도록 구성되고, 각각의 메모리 모듈은,
복수의 메모리 칩; 및
상기 복수의 메모리 칩에 결합된 적어도 하나의 그래픽 처리 유닛(GPU)을 포함하고, 상기 그래픽 처리 유닛은,
모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 개시하고, 상기 메인 계산은 계산 작업을 포함하고, 상기 섀도우 계산은 상기 메인 계산의 적어도 일부이거나 파생물이고;
상기 섀도우 계산을 실행하도록 구성된, 시스템. - 제12항에 있어서, 상기 적어도 하나의 GPU는 실행된 섀도우 계산의 출력 데이터를 상기 모바일 디바이스로 송신하도록 구성된, 시스템.
- 제12항에 있어서, 상기 적어도 하나의 GPU는 실행된 섀도우 계산의 출력 데이터를 다른 셀룰러 기지국으로 송신하도록 구성된, 시스템.
- 제12항에 있어서, 상기 적어도 하나의 GPU는 상기 섀도우 계산을 다른 셀룰러 기지국으로 송신하도록 구성된, 시스템.
- 제15항에 있어서, 상기 적어도 하나의 GPU는 상기 모바일 디바이스가 상기 다른 셀룰러 기지국의 임계 거리 내에 있을 때 상기 섀도우 계산을 상기 다른 셀룰러 기지국으로 송신하도록 구성된, 시스템.
- 제15항에 있어서, 상기 적어도 하나의 GPU는 상기 다른 셀룰러 기지국이 상기 셀룰러 기지국보다 더 적은 네트워크 트래픽을 경험할 때 상기 섀도우 계산을 상기 다른 셀룰러 기지국으로 송신하도록 구성된, 시스템.
- 제15항에 있어서, 상기 적어도 하나의 GPU는 상기 다른 셀룰러 기지국이 상기 셀룰러 기지국보다 더 큰 계산 능력을 가질 때 상기 섀도우 계산을 상기 다른 셀룰러 기지국으로 송신하도록 구성된, 시스템.
- 제12항에 있어서, 상기 적어도 하나의 GPU는 상기 섀도우 계산을 다시 상기 모바일 디바이스로 송신하도록 구성된, 시스템.
- 기지국용 시스템으로서,
복수의 메모리 모듈을 포함하고, 각각의 메모리 모듈은 인쇄 회로 보드(PCB)에 삽입되도록 구성되고, 각각의 메모리 모듈은,
복수의 메모리 칩; 및
상기 복수의 메모리 칩에 결합된 적어도 하나의 인공 지능(AI) 가속기를 포함하고, 상기 인공 지능 가속기는,
상기 모바일 디바이스에 대해 실행되는 메인 계산의 섀도우 계산을 수신하고, 상기 메인 계산은 계산 작업을 포함하고, 상기 섀도우 계산은 상기 메인 계산의 적어도 일부이거나 파생물이고;
상기 섀도우 계산을 실행하도록 구성된, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/713,996 | 2019-12-13 | ||
US16/713,996 US11941455B2 (en) | 2019-12-13 | 2019-12-13 | Shadow computations in base stations |
PCT/US2020/062981 WO2021118849A1 (en) | 2019-12-13 | 2020-12-03 | Shadow computations in base stations |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220086690A true KR20220086690A (ko) | 2022-06-23 |
Family
ID=76317903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227018246A KR20220086690A (ko) | 2019-12-13 | 2020-12-03 | 기지국에서의 섀도우 계산 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11941455B2 (ko) |
EP (1) | EP4073662A4 (ko) |
JP (1) | JP7383822B2 (ko) |
KR (1) | KR20220086690A (ko) |
CN (1) | CN114787789A (ko) |
WO (1) | WO2021118849A1 (ko) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000023236A (ja) * | 1998-06-29 | 2000-01-21 | Nec Corp | 端末位置追跡システムおよび端末位置追跡方法、並びに記録媒体 |
JP3371812B2 (ja) * | 1998-07-02 | 2003-01-27 | 株式会社村田製作所 | 積層型インダクタアレイ |
JP3793048B2 (ja) | 2001-06-28 | 2006-07-05 | 富士通株式会社 | インターネットを用いた分散処理システム及び方法 |
KR100800915B1 (ko) * | 2006-09-01 | 2008-02-04 | 엘지노텔 주식회사 | 무선 통신 자원 할당 제어를 통한 무선 링크 커버리지 확장방법 |
KR101104963B1 (ko) | 2008-12-19 | 2012-01-12 | 한국전자통신연구원 | 기지국의 제어채널 관리장치와, 사용자 단말의 제어채널 검색장치 및 이동통신 시스템의 제어채널 할당방법 |
JP5477174B2 (ja) | 2010-06-07 | 2014-04-23 | 株式会社リコー | 分散処理システム |
JP5757203B2 (ja) | 2011-09-07 | 2015-07-29 | 住友電気工業株式会社 | 無線基地局装置、通信制御方法および通信制御プログラム |
US8953478B2 (en) | 2012-01-27 | 2015-02-10 | Intel Corporation | Evolved node B and method for coherent coordinated multipoint transmission with per CSI-RS feedback |
US10530882B2 (en) * | 2013-03-15 | 2020-01-07 | Vivint, Inc. | Content storage and processing in network base stations and methods for content delivery in a mesh network |
US10437747B2 (en) * | 2015-04-10 | 2019-10-08 | Rambus Inc. | Memory appliance couplings and operations |
JP6520693B2 (ja) | 2015-12-18 | 2019-05-29 | トヨタ自動車株式会社 | 計算リソース提供方法および計算リソース提供システム |
EP3394751A1 (en) * | 2015-12-23 | 2018-10-31 | IDAC Holdings, Inc. | Methods of offloading computation from mobile device to cloud |
US10440096B2 (en) | 2016-12-28 | 2019-10-08 | Intel IP Corporation | Application computation offloading for mobile edge computing |
US10873412B2 (en) | 2017-07-27 | 2020-12-22 | Virginia Polytechnic Institute And State University | System and method for real-time optimized scheduling for network data transmission |
US10673503B2 (en) * | 2017-08-23 | 2020-06-02 | Samsung Electronics Co., Ltd. | Method and device for performing beam forming |
US20190090158A1 (en) * | 2017-09-20 | 2019-03-21 | Qualcomm Incorporated | Enhanced network-assisted services |
-
2019
- 2019-12-13 US US16/713,996 patent/US11941455B2/en active Active
-
2020
- 2020-12-03 CN CN202080085393.4A patent/CN114787789A/zh active Pending
- 2020-12-03 EP EP20899954.0A patent/EP4073662A4/en active Pending
- 2020-12-03 JP JP2022535424A patent/JP7383822B2/ja active Active
- 2020-12-03 KR KR1020227018246A patent/KR20220086690A/ko unknown
- 2020-12-03 WO PCT/US2020/062981 patent/WO2021118849A1/en unknown
-
2024
- 2024-03-21 US US18/612,658 patent/US20240231951A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210182119A1 (en) | 2021-06-17 |
US20240231951A1 (en) | 2024-07-11 |
WO2021118849A1 (en) | 2021-06-17 |
US11941455B2 (en) | 2024-03-26 |
EP4073662A4 (en) | 2023-12-06 |
EP4073662A1 (en) | 2022-10-19 |
CN114787789A (zh) | 2022-07-22 |
JP7383822B2 (ja) | 2023-11-20 |
JP2023505856A (ja) | 2023-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11973697B2 (en) | Composing diverse remote cores and FPGAs | |
US20150222547A1 (en) | Efficient management of network traffic in a multi-cpu server | |
US11922304B2 (en) | Remote artificial intelligence (AI) acceleration system | |
KR102382186B1 (ko) | 딥 러닝을 위한 고성능 컴퓨팅 시스템 | |
EP3731089B1 (en) | Scheduling method and related apparatus | |
US20160292115A1 (en) | Methods and Apparatus for IO, Processing and Memory Bandwidth Optimization for Analytics Systems | |
US11729088B2 (en) | Broadcast switch system in a network-on-chip (NoC) | |
US20220107907A1 (en) | Memory module with computation capability | |
JP6254617B2 (ja) | 改良3dトーラス | |
WO2014101502A8 (zh) | 基于内存芯片互连的内存访问处理方法、内存芯片及系统 | |
KR20220086690A (ko) | 기지국에서의 섀도우 계산 | |
US20240020261A1 (en) | Peer-to-peer route through in a reconfigurable computing system | |
JP6837621B1 (ja) | ロボット | |
WO2020087248A1 (zh) | 多核芯片数据总线布线结构和数据发送的方法 | |
CN112988653B (zh) | 数据处理电路、装置以及方法 | |
KR20230068572A (ko) | 메모리 어레이 내의 연결 회로 |