KR20110110799A - 메모리 시스템을 모니터링하기 위한 시스템 및 방법 - Google Patents
메모리 시스템을 모니터링하기 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20110110799A KR20110110799A KR1020117018848A KR20117018848A KR20110110799A KR 20110110799 A KR20110110799 A KR 20110110799A KR 1020117018848 A KR1020117018848 A KR 1020117018848A KR 20117018848 A KR20117018848 A KR 20117018848A KR 20110110799 A KR20110110799 A KR 20110110799A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- vault
- communication
- coupled
- volt
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
- G06F11/3062—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System (AREA)
- Alarm Systems (AREA)
- Burglar Alarm Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
메모리 볼트에 연관된 제 1의 한 세트의 동작 파라미터들을 모니터하고, 메모리 볼트에 연관된 제 2의 한 세트의 동작 파라미터들을 조절하며, 호스트 장치로 경고 및 보고하는 동작들을 수행하게 동작하는 것들을 포함한 시스템들 및 방법들이 개시된다.
Description
관련출원
이 특허출원은 참조로서 여기에 포함시키는 2009년 1월 12일에 출원된 미국특허출원번호 12/352,381로부터의 우선권 혜택을 주장한다.
여기에 기술된 여러 실시예들은 반도체 메모리들에 연관된 시스템들 및 방법들, 및 메모리 시스템을 감시하는 방법들에 관계된 것이다.
마이크로프로세서 기술은 반도체 메모리 기술보다 더 빠른 속도로 발전하였다. 결국, 최신의 호스트 프로세서와 명령들 및 데이터를 수신하기 위해 프로세서가 상대하는 반도체 메모리 서브-시스템 간에 성능에서 불일치가 흔히 존재한다. 예를 들어, 일부 하이-엔드 서버들은 메모리 요청들에 대한 응답을 기다리는데 있어 4개의 클럭 사이클 중 3개의 클럭 사이클 동안 아이들 상태에 있는 것으로 추정된다.
또한, 소프트웨어 애플리케이션 및 운영 시스템 기술의 발달은 프로세서 코어들 및 스레드(thread)의 수가 계속하여 증가함에 따라 더 높은 밀도의 메모리 서브-시스템에 대한 요구를 증가시켰다. 그러나, 현 기술의 메모리 서브-시스템들은 흔히 성능과 밀도 간에 절충을 제기한다. 더 큰 대역폭들은 JEDEC(Joint Electron 장치 Engineering Council) 전기 명세의 범위를 넘지 않고 시스템 내 연결될 수 있는 메모리 카드들 또는 모듈들의 수를 제한할 수 있다.
JEDEC 인터페이스에 대한 확장들이 제안되었으나 일반적으로 앞으로 예상되는 메모리 대역폭들 및 밀도들에 관해선 제안된 것이 없다. 약점들 속에는 메모리 파워 최적화 및 호스트 프로세서와 메모리 서브-시스템 간에 인터페이스의 고유성이 없는 것도 들어있다. 후자의 약점 때문에 프로세서 및/또는 메모리 기술들이 변하였을 때 인터페이스를 다시 설계해야 할 필요성이 야기될 수 있다.
도 1은 본 발명의 여러 실시예들에 따른 메모리 시스템의 블록도이다.
도 2는 여러 실시예에 따라 로직 다이가 적층된 적층-다이 3D 메모리 어레이를 절단하여 도시한 개념도이다.
도 3 및 도 4는 여러 실시예들에 따라 예로서의 패킷들에 연관된 필드들을 나타낸 패킷도이다.
도 5는 여러 실시예들에 따라 메모리 볼트 제어기 및 연관된 모듈들의 블록도이다.
도 5a는 여러 실시예들에 따른 메모리 시스템의 블록도이다.
도 6a, 도 6b, 도 6c, 및 도 6d는 여러 실시예들에 따른 방법을 예시한 흐름도들이다.
도 2는 여러 실시예에 따라 로직 다이가 적층된 적층-다이 3D 메모리 어레이를 절단하여 도시한 개념도이다.
도 3 및 도 4는 여러 실시예들에 따라 예로서의 패킷들에 연관된 필드들을 나타낸 패킷도이다.
도 5는 여러 실시예들에 따라 메모리 볼트 제어기 및 연관된 모듈들의 블록도이다.
도 5a는 여러 실시예들에 따른 메모리 시스템의 블록도이다.
도 6a, 도 6b, 도 6c, 및 도 6d는 여러 실시예들에 따른 방법을 예시한 흐름도들이다.
도 1은 본 발명의 여러 실시예들에 따른 메모리 시스템(100)의 블록도이다. 하나 이상의 실시예들은 하나 이상의 발원측 장치들과 한 세트의 적층된-어레이 메모리 "볼트들(vault)" 간에 복수의 외향 스트림들의 명령들, 어드레스들, 및/또는 데이터를 실질적으로 동시에 전송하게 동작한다. 메모리 시스템 밀도, 대역폭, 병행성, 및 확장성이 증가하게 될 수 있다.
복수-다이 메모리 어레이 실시예들은 여기에서는 일반적으로 종래 설계의 각각의 개개의 메모리 어레이 다이 상에 배치되는 제어 로직을 모은다. 본원에서 "메모리 볼트들"이라고 하는 적층된 일 그룹의 다이들의 소부분들은 공통의 제어 로직을 공유한다. 메모리 볼트 아키텍처는 더 작은 입도(granularity)의 기동된 메모리 뱅크들을 제공하면서도 에너지 효율을 증가시키기 위해 메모리 제어 로직을 전략적으로 분할한다. 여기에서 실시예들은 호스트 프로세스 대 메모리 시스템 간의 표준화된 인터페이스를 할 수 있게 한다. 표준화된 인터페이스는 메모리 기술이 발전함에 따라 재설계 사이클 시간을 감소시킬 수 있다.
도 2는 여러 실시예에 따라 로직 다이(202)가 적층된 적층-다이 3D 메모리 어레이(200)를 절단하여 도시한 개념도이다. 메모리 시스템(100)은 적층-다이 3D 메모리 어레이(200)와 같이 타일식 메모리 어레이들의 하나 이상의 적층들을 포함한다. 복수의 메모리 어레이들(예를 들면, 메모리 어레이(203))은 복수의 적층된 다이들 각각(예를 들면, 적층된 다이(204))에 제조된다.
적층된 다이들 각각은 복수의 "타일들"(예를 들면, 적층된 다이(204)에 연관된 타일들(205A, 205B, 205C))로 논리적으로 분할된다. 각각의 타일(예를 들면, 타일(205C))은 하나 이상의 메모리 어레이들(203)을 포함할 수 있다. 일부 실시예들에서, 각각의 메모리 어레이(203)는 메모리 시스템(100) 내 하나 이상의 독립적 메모리 뱅크들로서 구성될 수 있다. 메모리 어레이들(203)은 임의의 특별한 메모리 기술로 제한되지 않으며, 동적 랜덤-액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 플래시 메모리, 등을 포함할 수 있다.
적층된 한 세트의 메모리 어레이 타일들(208)은 적층된 다이들 각각으로부터 단일의 타일(예를 들면, 타일들(212B, 212C, 212D)이며, 기초 타일은 도 1에서 가려져 있다)을 포함할 수 있다. 파워, 어드레스, 및/또는 데이터 및 유사한 공통의 신호들은 이를테면 "웨이퍼-관통 상호연결들"(TWI)과 같은 도전성 경로들(예를 들면, 도전성 경로(224)) 상에 "Z" 차원(220)으로, 적층된 한 세트의 타일들(208)을 가로질러 갈 수 있다. 이에 따라 적층-다이 3D 메모리 어레이(200)는 한 세트의 메모리 "볼트들"(예를 들면, 메모리 볼트(230))로 분할된다. 각각의 메모리 볼트는 복수의 적층된 다이들 각각으로부터, 적층된 한 세트의 타일들을 포함한다. 볼트의 각각의 타일은 하나 이상의 메모리 어레이들(예를 들면, 메모리 어레이(240))을 포함한다.
결과적인 한 세트의 메모리 볼트들(102)이 도 1에 도시되었다. 이하 기술되는 제어, 스위칭, 및 통신 로직은 로직 다이(202) 상에 제조된다. 메모리 시스템(100)은 복수의 메모리 볼트 제어기들(MVC)(104)(예를 들면, MVC(106))를 포함한다. 각각의 MVC는 대응하는 메모리 볼트(예를 들면, 메모리 볼트(110))에 1 대 1 관계로 통신이 되게 결합된다. 이에 따라 각각의 MVC는 다른 MVC들과 이들의 각각의 메모리 볼트들 간의 통신과는 독립적으로, 대응하는 메모리 볼트와 통신할 수 있다.
또한, 메모리 시스템(100)은 복수의 구성가능한 직렬화된 통신 링크 인터페이스들(SCLI)(112)을 포함한다. SCLI들(112)은 일 그룹의 외향 SCLI들(113)(예를 들면, 외향 SCLI(114)) 및 일 그룹의 내향 SCLI들(115)로 분할된다. 복수의 SCLI들(112) 각각은 다른 SCLI들(112)과 동시에 동작할 수 있다. 아울러 SCLI들(112)은 복수의 MVC들(104)을 통신이 되게 하나 이상의 호스트 프로세서(들)(114)에 결합한다. 메모리 시스템(100)은 호스트 프로세서(들)(114)에 대한 고도의 추상화된, 복수-링크, 고-스루풋 인터페이스를 제공한다.
또한, 메모리 시스템(100)은 매트릭스 스위치(116)를 포함할 수 있다. 매트릭스 스위치(116)는 복수의 SCLI들(112)에 그리고 복수의 MVC들(104)에 통신이 되게 결합된다. 매트릭스 스위치(116)는 각각의 SCLI을 선택된 MVC에 교차 연결할 수 있다. 이에 따라 호스트 프로세서(들)(114)은 실질적으로 동시에 복수의 SCLI들(112)을 통해 복수의 메모리 볼트들(102)에 액세스할 수 있다. 이 아키텍처는 복수-코어 기술들을 포함한 최신의 프로세서 기술들이 필요로 하는 프로세서-대-메모리 대역폭을 제공할 수 있다.
또한, 메모리 시스템(100)은 매트릭스 스위치(116)에 통신이 되게 결합된 메모리 패브릭(fabric) 제어 레지스터(117)를 포함할 수 있다. 메모리 패브릭 제어 레지스터(117)는 구성 소스로부터 메모리 패브릭 구성 파라미터들을 받아들여 선택된 모드에 따라 동작하게 메모리 시스템(100)의 하나 이상의 성분들을 구성한다. 예를 들어, 매트릭스 스위치(116)와, 복수의 메모리 볼트들(102) 및 복수의 MVC들(104) 각각은 일반적으로 개별적 메모리 요청들에 응하여 서로간에 독립적으로 동작하게 구성될 수 있다. 이러한 구성은 SCLI들(112)과 메모리 볼트들(102) 간에 병행성의 결과로서 메모리 시스템 대역폭을 향상시킬 수 있다.
대안적으로, 메모리 장치(100)는 복수의 메모리 볼트들(102) 중 둘 이상의 일부와 MVC들 중 대응하는 일부가 단일 요청에 응하여 동기하여 동작하게 메모리 패브릭 제어 레지스터(117)를 통해 재구성될 수도 있다. 후자의 구성은, 이하 더 기술되는 바와 같이, 통상적 데이터 워드의 폭보다 넓은 데이터 워드에 액세스하기 위해 사용되어 레이턴시를 감소시킬 수 있다. 그외 구성들은 선택된 비트 패턴을 메모리 패브릭 제어 레지스터(117)에 로딩함으로써 가능해질 수 있다.
도 3 및 도 4는 여러 실시예들에 따라, 각각, 예로서의 패킷들(300, 400)에 연관된 필드들을 나타낸 패킷도들이다. 도 3 및 도 4에 비추어 도 1을 다시 살펴보면, 메모리 시스템(100)은 매트릭스 스위치(116)에 통신이 되게 결합되는 복수의 패킷 디코더들(118)(예를 들면, 패킷 디코더(120))을 포함한다. 호스트 프로세서(들)(114)는 일부 실시예들에서 예로서의 패킷(300 또는 400)의 구조와 유사할 수 있는 외향 패킷(122)을 조립한다. 즉, 외향 패킷(122)은 명령 필드(310), 어드레스 필드(320), 및/또는 데이터 필드(410)를 포함할 수 있다. 이어서, 호스트 프로세서(114)는 이하 더 설명되는 방식으로 외향 패킷(122)을 외향 SCLI(예를 들면, 외향 SCLI(114))를 거쳐 패킷 디코더(120)에 보낸다.
외향 SCLI(114)는 복수의 외향 차분 쌍 직렬 경로들(differential pair serial paths)(DPSP)(128)을 포함할 수 있다. DPSP들(128)은 호스트 프로세서(들)(114)에 통신이 되게 결합되며 외향 패킷(122)을 일괄적으로 수송할 수 있다. 즉, 복수의 외향 DPSP들(128)의 각각의 DPSP는 외향 패킷(122)의 제 1 데이터 레이트 외향 서브-패킷 부분을 제 1 데이터 레이트로 수송할 수 있다.
또한, 외향 SCLI(114)는 복수의 외향 DPSP들(128)에 통신이 되게 결합된 역직렬화기(deserializer)(130)를 포함할 수 있다. 역직렬화기(130)는 외향 패킷(122)의 각각의 제 1 데이터 레이트 외향 서브-패킷 부분을 복수의 제 2 데이터 레이트 외향 서브-패킷들로 전환한다. 복수의 제 2 데이터 레이트 외향 서브-패킷들은 제 1 복수의 외향 단단(single-ended) 데이터 경로들(SEDP)(134)을 거쳐 제 2 데이터 레이트로 보내진다. 제 2 데이터 레이트는 제 1 데이터 레이트 보다 느리다.
또한, 외향 SCLI(114)는 역직렬화기(130)에 통신이 되게 결합되는 디멀티플렉서(138)를 포함할 수 있다. 디멀티플렉서(138)는 복수의 제 2 데이터 레이트 외향 서브-패킷들 각각을 복수의 제 3 데이터 레이트 외향 서브-패킷들로 전환한다. 복수의 제 3 데이터 레이트 외향 서브-패킷들은 제 2 복수의 외향 SEDP들(142)을 거쳐 패킷 디코더(120)에 제 3 데이터 레이트로 보내진다. 제 3 데이터 레이트는 제 2 데이터 레이트보다 느리다.
패킷 디코더(120)는 외향 패킷(122)을 수신하고, 명령 필드(310)(예를 들면, 예를 든 패킷(300)의), 어드레스 필드(320)(예를 들면, 예를 든 패킷(300)의), 및/또는 데이터 필드(예를 들면, 예를 든 패킷(400)의)를 추출한다. 일부 실시예들에서, 패킷 디코더(120)는 대응하는 한 세트의 메모리 볼트 선택 신호들을 판정하기 위해 어드레스 필드(320)를 디코딩한다. 패킷 디코더(120)는 한 세트의 메모리 볼트 선택 신호들을 인터페이스(146)를 통해 매트릭스 스위치(116)에 제공한다. 볼트 선택 신호들은 입력 데이터 경로들(148)을 외향 패킷(122)에 대응하는 MVC(106)로 전환되게 한다.
이제 내향 데이터 경로들의 논의로 가면, 메모리 시스템(100)은 매트릭스 스위치(116)에 통신이 되게 결합된 복수의 패킷 엔코더들(154)(예를 들면, 패킷 엔코더(158))을 포함할 수 있다. 패킷 엔코더(158)는 내향 메모리 명령, 내향 메모리 어드레스, 및/또는 내향 메모리 데이터를 복수의 MVC들(104) 중 하나로부터 매트릭스 스위치(116)를 통해 수신할 수 있다. 패킷 엔코더(158)는 내향 SCLI(164)를 거쳐 호스트 프로세서(들)(114)에 송신하기 위해 내향 메모리 명령, 어드레스, 및/또는 데이터를 내향 패킷(160)으로 엔코딩한다.
일부 실시예들에서, 패킷 엔코더(158)는 내향 패킷(160)을 복수의 제 3 데이터 레이트 내향 서브-패킷들로 분할할 수 있다. 패킷 엔코더(158)는 복수의 제 3 데이터 레이트 내향 서브-패킷들을 제 1의 복수의 내향 단단 데이터 경로들(SEDP)(166)을 거쳐 제 3 데이터 레이트로 보낼 수 있다. 또한, 메모리 시스템(100)은 패킷 엔코더(158)에 통신이 되게 결합되는 멀티플렉서(168)를 포함할 수 있다. 멀티플렉서(168)는 제 3 데이터 레이트 내향 서브-패킷들의 복수의 부분들 각각을 제 2 데이터 레이트 내향 서브-패킷으로 멀티플렉스할 수 있다. 멀티플렉서(168)는 제 2 데이터 레이트 내향 서브-패킷들을 제 3 데이터 레이트보다는 빠른 제 2 데이터 레이트로 제 2 복수의 내향 SEDP들(170)을 거쳐 보낸다.
메모리 시스템(100)은 멀티플렉서(168)에 통신이 되게 결합된 직렬화기(172)를 더 포함할 수 있다. 직렬화기(172)는 제 2 데이터 레이트 내향 서브-패킷들의 복수의 부분들 각각을 제 1 데이터 레이트 내향 서브-패킷으로 모은다. 제 1 데이터 레이트 내향 서브-패킷들은 제 2 데이터 레이트보다는 빠른 제 1 데이터 레이트로 복수의 내향 차분 쌍 직렬 경로들(DPSP)(174)을 거쳐 호스트 프로세서(들)(114)에 보내진다. 이에 따라, 명령, 어드레스, 및 데이터 정보는 매트릭스 스위치(116)를 통해 SCLI들(112)을 거쳐 호스트 프로세서(들)(114)와 MVC들(104) 간에 송수신될 수 있다.
도 5는 여러 실시예들에 따라 MVC(예를 들면, MVC(106)) 및 연관된 모듈들의 블록도이다. MVC(106)는 프로그램가능 볼트 제어 로직(PVCL) 성분(예를 들면, PVCL(510))을 포함할 수 있다. PVCL(510)은 MVC(106)를 대응하는 메모리 볼트(예를 들면, 메모리 볼트(110))에 인터페이스시킨다. PVCL(510)은 대응하는 메모리 볼트(110)에 연관된 하나 이상의 뱅크 제어 신호들 및/또는 타이밍 신호들을 발생한다.
PVCL(510)은 선택된 구성 또는 선택된 기술의 메모리 볼트(110)에 맞게 MVC(106)를 수정하게 구성될 수 있다. 이에 따라, 예를 들어, 메모리 장치(100)는 초기에는 현재 가용한 DDR2 DRAM들을 사용하여 구성될 수 있다. 나중에 메모리 시스템(100)은 DDR3 뱅크 제어 및 타이밍 로직을 포함하게 PVCL(510)을 재구성함으로써 DDR3-기반 메모리 볼트 기술을 수용하도록 수정될 수 있다.
또한, MVC(106)는 PVCL(510)에 통신이 되게 결합되는 메모리 시퀀서(514)를 포함할 수 있다. 메모리 시퀀서(514)는 연관된 메모리 볼트(110)를 구현하기 위해 사용되는 기술에 기초하여 메모리 기술에 따른 한 세트의 동작들을 수행한다. 메모리 시퀀서(514)는 예를 들면, 명령 디코딩 동작들, 메모리 어드레스 멀티플렉싱 동작들, 메모리 어드레스 디멀티플렉싱 동작들, 메모리 리프레시 동작들, 메모리 볼트 훈련 동작들, 및/또는 대응하는 메모리 볼트(110)에 연관된 메모리 볼트 프리페치 동작들을 수행할 수 있다. 일부 실시예들에서, 메모리 시퀀서(514)는 DRAM 시퀀서를 포함할 수 있다. 일부 실시예들에서, 메모리 리프레시 동작들은 리프레시 제어기(515)에서 발원할 수도 있다.
메모리 시퀀서(514)는 선택된 구성 또는 기술의 메모리 볼트(110)에 맞게 메모리 시스템(100)을 수정하게 구성될 수 있다. 예를 들어, 메모리 시퀀서(514)는 메모리 시스템(100)에 연관된 다른 메모리 시퀀서들과 동기하여 동작하게 구성될 수 있다. 이러한 구성은 단일 캐시 라인 요청에 응하여 복수의 메모리 볼트들로부터 넓은 데이터 워드를 호스트 프로세서(들)(114)에 연관된 캐시 라인(도시되지 않음)에 전달하기 위해 사용될 수 있다.
또한, MVC(106)는 기입 버퍼(516)를 포함할 수 있다. 기입 버퍼(516)는 호스트 프로세서(들)(114)로부터 MVC(106)에 도착하는 데이터를 버퍼하기 위해 PVCL(510)에 통신이 되게 결합될 수 있다. MVC(106)는 판독 버퍼(517)를 더 포함할 수 있다. 판독 버퍼(517)는 대응하는 메모리 볼트(110)로부터 MVC(106)에 도착하는 데이터를 버퍼하기 위해 PVCL(510)에 통신이 되게 결합될 수 있다.
또한, MVC(106)는 비순서 요청 큐(out-of-order request queue)(518)를 포함할 수 있다. 비순서 요청 큐(518)는 메모리 볼트(110)에 포함된 복수의 메모리 뱅크들에 순서화된 한 시퀀스의 판독 및/또는 기입 동작들을 설정한다. 순서화된 시퀀스는 뱅크 충돌을 줄이고 판독 대 기입 턴어라운드 시간을 감소시키기 위해서 임의의 단일의 메모리 뱅크에의 순차적인 동작들을 피하기 위해서 선택된다.
또한, MVC(106)는 메모리 볼트 수선 로직(MVRL) 성분(524)을 포함할 수 있다. MVRL(524)은 어레이 수선 로직(526)을 사용하여 결함 메모리 어레이 어드레스 재매핑(remapping) 동작들을 수행하게 메모리 볼트(110)에 통신이 되게 결합될 수 있다. 또한, MVRL(524)은 TWI 수선 로직(528)을 사용하여 메모리 볼트(110)에 연관된 TWI 수선 동작들을 수행할 수 있다.
도 5a는 여러 실시예들에 따른 메모리 시스템(5000)의 블록도이다. 메모리 시스템(5000)은 메모리 볼트들(102)(예를 들면, 메모리 볼트(110)) 및 대응하는 한 세트의 MVC들(104)(예를 들면, MVC(106))을 포함할 수 있다. MVC들은 앞서 논의한 바와 같이 메모리 어레이 다이들(예를 들면, 도 2의 메모리 어레이 다이(204))에 적층된 로직 다이(예를 들면, 도 2의 로직 다이(202)) 상에 제조된다.
도 5a 의 다음의 논의는 예로서의 메모리 볼트(110)와, 예로서의 MVC(106)와, 메모리 시스템(5000)의 모니터링 및 제어에 연관된 여러 구조적 요소들 간에 연결들에 대한 것이다. 그러나, 이하 기술되고 도 5a에 도시된 연결들 및 기능은 한 세트의 메모리 볼트들(102) 각각에 그리고 한 세트의 MVC들(104) 각각에 적용됨에 유의한다.
또한, 메모리 시스템(5000)은 시스템 모니터 프로세서(5004)(예를 들면 내장형 프로세서 또는 상태머신을 포함할 수도 있음)를 포함할 수 있다. 시스템 모니터 프로세서(5004)는 한 세트의 메모리 볼트들(102) 각각에 그리고 한 세트의 MVC들(104) 각각에 통신이 되게 결합된다. 프로세서(5004)는 메모리 볼트에 연관된, 이를테면 제 1 한 세트의 동작 파라미터들과 같은, 적어도 한 동작 파라미터를 감시하고, 호스트 장치(도 5a에 도시되지 않음)에 경고 경고 및/또는 보고하는 동작들을 수행한다. 일부 실시예들에서, 프로세서(5004)는 이하 더 기술되는 바와 같이 메모리 볼트(110)에 연관된, 이를테면 제 2 한 세트의 동작 파라미터들과 같은 적어도 한 동작 파라미터를 조절할 수도 있다.
메모리 시스템(5000)은 시스템 모니터 프로세서(5004)에 통신이 되게 결합되는 하나 이상의 센서들(예를 들면, 전압 센서(5006), 온도 센서(5008) 및/또는 비트 오류 검출기)를 더 포함할 수 있다. 센서들(5006, 5008)은 단지 예들이며, 다른 센서들이 여러 실시예들에서 포함될 수도 있다. 센서들은 제 1 한 세트의 동작 파라미터들에 연관된 한 세트의 값들(예를 들면, 한 세트의 전압들 또는 한 세트의 온도들)을 감지할 수 있다.
센서 모니터링 모듈(5010)은 시스템 모니터 프로세서(5004)에 통신이 되게 결합될 수 있다. 센서 모니터링 모듈(5010)은 한 세트의 감지된 값들을 저장한다. 일부 실시예들에서, 센서 모니터링 모듈(5010)은 감지된 값들을 대응하는 한 세트의 경고 임계값들과 비교한다.
또한, 메모리 시스템(5000)은 시스템 모니터 프로세서(5004)에 통신이 되게 결합되는 통계적 분석 모듈(5012)을 포함할 수 있다. 통계적 분석 모듈(5012)은 한 세트의 감지된 값들에 대한 통계적 계산을 수행한다.
메모리 시스템(5000)은 시스템 모니터 프로세서(5004)에 통신이 되게 결합되는 보고 및 경고 모듈(5014)을 더 포함할 수 있다. 보고 및 경고 모듈(5014)은 감지된 값이 대응하는 경고 임계값을 초과한다면 호스트 장치에 경고한다. 일부 실시예들에서, 보고 및 경고 모듈(5014)은 호스트 장치에 통계 및 성능 데이터도 보고한다.
파워 분배 시스템(5016)은 시스템 모니터 프로세서(5004)에 통신이 되게 결합 될 수 있다. 파워 분배 시스템(5016)은 메모리 볼트(110) 내에 센서들(예를 들면, 센서들(5006, 5008))로부터 동작 파라미터 센서 데이터(예를 들면, 전압 레벨 측정 또는 온도 측정)를 수신한다. 파워 분배 시스템(5016)은 각각의 어레이에 연관된 파워 사용 레벨에 따라 메모리 볼트(110)의 소부분들에(예를 들면, 메모리 어레이 다이에 혹은 다이 상에 개개의 메모리 어레이에) 서플라이 전압 레벨들 을 조절한다.
또한, 메모리 시스템(5000)은 동적 수선(repair) 모듈(5022)에 통신이 되게 결합되는 오류 정정 부호(ECC) 모듈(5020)과 같은 오류 모니터를 포함할 수 있다. 일부 실시예들에서, 동적 수선 모듈(5022)은 MVRL(524)를 통해 ECC 모듈(5020)에 결합될 수 있다. ECC 모듈(5020)은 하나 이상의 소프트 오류 정정, 하드 비트 불량, 리프레시 조절, 및/또는 불량 비아들(vias)을 검출한다. 동적 수선 모듈(5022)은 시스템 모니터 프로세서(5004)에 통신이 되게 결합된다. 동적 수선 모듈(5022)은 소프트 오류 정정, 하드 비트 불량, 리프레시 조절, 및/또는 비아 불량의 통지를 수신하고 정정 동작을 취한다.
메모리 볼트 수선 로직(MVRL)(524)은 동적 수선 모듈(5022)에 통신이 되게 결합 될 수 있다. MVRL(524)은 메모리 요청들을 불량 메모리 어레이들에서 예비 메모리 어레이들로 리다이렉트한다. 일부 실시예들에서, MVRL(524)은 메모리 볼트 신호들을 불량 비아들에서 예비 비아들로 리다이렉트 하기도 한다.
메모리 시스템(5000)은 PVCL(510)을 더 포함할 수 있다. PVCL(510)은 앞서 기술된 바와 같이, 호스트 장치와 메모리 볼트(110) 간에 데이터 및 어드레스 워드들을 통신 링크들(예를 들면, 도 1의 통신 링크들(112))을 통해 전송한다. 또한, PVCL(510)은 다수의 메모리 볼트 소부분들 각각에 대응하는 소부분 어드레스들(예를 들면, 다이 어드레스들, 어레이 어드레스들, 행 어드레스들, 및 열 어드레스들)을 얻기 위해 어드레스 워드들을 디코딩한다.
트래픽 밀도 모니터(5026)는 시스템 모니터 프로세서 및/또는 PVCL(510)에 통신이 되게 결합될 수 있다. 트래픽 밀도 모니터(5026)는 몇개의 메모리 볼트 소부분들 각각에의 액세스 빈도를 모니터한다. 일부 실시예들에서, 트래픽 밀도 모니터(5026)는 통신 링크들을 거쳐가는 트래픽량을 모니터하고 액세스 빈도 및 트래픽량 통계들을 호스트 장치에 보고한다.
일부 실시예들에서, 트래픽 밀도 모니터(5026)는 부하-균형 동작들을 수행할 것을 PVCL(510)에게 지시하게 구성된다. 예를 들면, 트래픽 밀도 모니터(5026)는 과다 이용된 소부분들에 대응하는 소부분 어드레스들 대신에 메모리 볼트(110)의 과소 이용된 소부분들에 대응하는 소부분 어드레스들을 대체할 것을 PVCL(510)에 지시할 수 있다. 이러한 동작들에 따라 레이턴시가 감소하게 되고 및/또는 스루풋이 높아질 수 있게 된다.
일부 실시예들에서, 트래픽 밀도 모니터(5026)는 피드-포워드 정보를 파워 분배 시스템(5016)에 제공하게 구성될 수 있다. 피드-포워드 정보는 예를 들면 소부분 이용의 최근 이력 및/또는 예상을 포함할 수 있다. 파워 분배 시스템(5016)은 메모리 볼트(110)의 여러 소부분들에서의 파워 요건을 예측하기 위해 피드-포워드 정보를 이용할 수 있다.
또한, 메모리 시스템(5000)은 시스템 모니터 프로세서(5004)에 및/또는 PVCL(510)에 통신이 되게 결합되는 데이터 아이(eye) 모니터(5028)를 포함할 수 있다. 데이터 아이 모니터(5028)는 주기적 데이터 스트로브 위치설정 조절 루틴들을 수행하고 메모리 볼트를 개별적으로 데이터 스트로브 드리프트에 관계된 경향을 추적한다. 즉, 메모리 볼트, 메모리 볼트 다이, 또는 다이 상에 메모리 셀 어레이에의 데이터 스트로브 타이밍은 일련의 판독 또는 기입 액세스들을 수행하면서 한 범위에 걸쳐 증분적으로 조절될 수 있다. 범위의 한계는 판독 또는 기입 오류들을 검출함으로써 결정될 수 있다. 범위의 중앙은 한계 사이에 중간점으로서 계산될 수 있고 요망되는 스트로브 타이밍으로서 "데이터 아이"의 중앙이 선택될 수 있다. 일부 실시예들에서, 데이터 스트로브 조절은 메모리 볼트를 포함하는 몇개의 다이들 각각에 대해 개별적으로 수행될 수도 있다. 앞에서 기술된 성분들 중 어느 것이든 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합들의 실시예들을 포함한 다수의 방법들로 구현될 수 있다. 이 맥락에서 "소프트웨어"는 단지 소프트웨어 리스트가 아니라 법정 소프트웨어 구조들을 언급하는 것에 유의한다.
따라서, 메모리 시스템(100); 메모리 어레이들(200, 203, 240, 527); 다이(202, 204); 타일들(205A, 205B, 205C, 208, 212B, 212C, 212D); "Z" 차원(220); 경로들(224, 148); 메모리 볼트들(230, 102, 110); MVC들(104, 106); SCLI들(112, 113, 114, 115, 164); 프로세서(들)(114); 매트릭스 스위치(116); 레지스터(117); 패킷들(300, 400, 122, 160); 패킷 디코더들(118, 120); 필드들(310, 320, 410); DPSP들(128, 174); 역직렬화기(130); SEDP들(134, 142, 166, 170); 디멀티플렉서(138); 인터페이스(146); 패킷 엔코더들(154, 158); 멀티플렉서(168); 직렬화기(172); PVCL(510); 메모리 시퀀서(514); 리프레시 제어기(515); 버퍼들(516, 517); 비순서 요청 큐(518); MVRL(524); 어레이 수선 로직(526); TWI 수선 로직(528); 메모리 시스템(5000); 시스템 모니터 프로세서(5004); 센서들(5006, 5008); 센서 모니터링 모듈(5010); 통계적 분석 모듈(5012); 보고 및 경고 모듈(5014); 파워 분배 시스템(5016); ECC 모듈(5020); 동적 수선 모듈(5022); 트래픽 밀도 모니터(5026); 및 데이터 아이 모니터(5028)는 모두가 여기에서는 "모듈들"임을 특징으로 할 수 있다.
모듈들은 메모리 시스템(100)의 구조에 의해 요망되는 바와 같이 그리고 여러 실시예들의 특정 구현들에 적합한 대로, 하드웨어 회로, 광학 성분들, 단일 혹은 복수 -프로세서 회로들, 메모리 회로들, 소프트웨어 프로그램 모듈들 및 객체들(소프트웨어 목록이 아닌), 펌웨어, 및 이들의 조합을 포함할 수 있다.
여러 실시예들의 장치 및 시스템들은 고-밀도, 복수-링크, 고-스루풋 반도체 메모리 서브-시스템(5000) 이외의 응용들에서 유용할 수도 있다. 이에 따라, 발명의 여러 실시예들은 이것으로 제한되는 것이 아니다. 메모리 시스템(5000)의 예시들은 여러 실시예들의 구조의 전반적인 이해를 제공하기 위한 것이다. 여기에 기술된 구조들을 이용할 수도 있을 장치 및 시스템들의 모든 요소들 및 특징들에 대한 완전한 설명으로서 사용되게 한 것이 아니다.
여러 실시예들의 신규한 장치 및 시스템들은 컴퓨터들, 통신 및 신호 처리 회로, 단일-프로세서 혹은 복수-프로세서 모듈들, 단일 혹은 복수의 내장형 프로세서들, 복수-코어 프로세서들, 데이터 스위치들, 및 다중층, 다중-칩 모듈들을 포함한 응용특정의 모듈들에서 사용되는 전자회로를 포함하거나 이에 탑재될 수 있다. 이러한 장치 및 시스템들은 텔레비전들, 셀룰라 전화들, 개인용 컴퓨터들(예를 들면, 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 휴대 컴퓨터들, 타블렛 컴퓨터들, 등), 워크스테이션들, 라디오들, 비디오 플레이어들, 오디오 플레이어들(예를 들면, MP3(Motion Picture Experts Group, Audio Layer 3) 플레이어들), 차량들, 의료장치들(예를 들면, 심장 모니터, 혈압 모니터, 등), 셋탑박스들, 등과 같은 다양한 전자 시스템들 내에 서브-성분들로서 포함될 수 있다. 일부 실시예들은 다수의 방법들을 포함할 수도 있다.
도 6a, 도 6b, 도 6c, 및 도 6d는 여러 실시예들에 따른 방법(1000)을 예시한 흐름도들이다. 방법(1000)은 메모리 볼트에 연관된 적어도 한 동작 파라미터, 무엇보다도, 이를테면 전압, 온도, 타이밍 파라미터들, 메모리 볼트 이용 통계, 및/또는 데이터 오류를 감시하는 것을 포함한다. 일부 실시예들에서, 방법(1000)은 메모리 볼트에 연관된 적어도 한 동작 파라미터, 이를테면 서플라이 전압, 데이터 스트로브 타이밍, 및/또는 결함 메모리 어레이 대체를 조절하는 것을 포함할 수도 있다. 방법(1000)은 호스트 장치에 경고 및 보고하는 동작들을 수행하는 것을 더 포함할 수 있다.
방법(1000)은 블록(1006)에서 한 세트의 경고 임계값들을 수신하는 것부터 시작할 수 있다. 방법(1000)은 블록(1010)에서 한 세트의 경고 임계값들을 저장하는 것으로 계속할 수 있다.
또한, 방법(1000)은 블록(1012)에서 제 1 한 세트의 동작 파라미터들에 연관된 한 세트의 값들을 감지하고, 블록(1014)에서 한 세트의 감지된 값들을 저장하는 것을 더 포함할 수 있다. 방법(1000)은 블록(1016)에서 한 세트의 감지된 값들을 한 세트의 경고 임계값들의 대응하는 값들과 비교하는 것을 더 포함할 수 있다.
방법(1000)은 블록(1020)에서 한 세트의 감지된 값들에 관한 통계적 계산을 수행하는 것과, 블록(1022)에서 통계 및 성능 데이터를 호스트 장치에 보고하는 것을 포함할 수 있다. 일부 실시예들에서, 방법(1000)은 블록(1024)에서 감지된 값이 대응하는 경고 임계값을 초과한다면 호스트 장치에 경고하는 것을 더 포함할 수 있다.
방법(1000)은 블록(1028)에서 메모리 볼트 내의 센서들로부터 하나 이상의 전압 레벨 측정 혹은 온도 측정을 수신하는 것으로 계속될 수 있다. 여러 실시예들은 메모리 볼트 레벨, 메모리 어레이 다이 레벨, 혹은 심지어 메모리 어레이 레벨에서 센서들을 포함할 수 있다. 또한, 방법(1000)은 블록(1032)에서 전압 레벨 측정 혹은 온도 측정에 응하여 메모리 볼트 내의 서플라이 전압 레벨들을 조절하는 것을 포함할 수 있다. 이러한 조절들은 메모리 볼트 레벨, 메모리 어레이 다이 레벨, 혹은 메모리 어레이 레벨에서 행해질 수 있다.
방법(1000)은 블록(1036)에서 하나 이상의 소프트 오류 정정, 하드 비트 불량, 및/또는 리프레시 조절을 검출하는 것으로 계속될 수 있다. 오류는 ECC 모듈(예를 들면, 도 5a의 ECC 모듈(5020))에서, PVCL(예를 들면, 도 5a의 PVCL(510))에서, 및/또는 로직 다이(202) 내 혹은 메모리 볼트 자체 내 어떤 다른 적합한 지점에서 검출될 수 있다. 또한, 방법(1000)은 블록(1040)에서 소프트 오류 정정, 하드 비트 불량, 및/또는 리프레시 조절의 통지를 수신하는 것을 포함할 수 있다. 이러한 통지들은 예를 들면, 도 5a의 동적 수선 모듈(5022)에서 수신될 수 있고, 불량 혹은 불량이 난 메모리 어레이를 나타낼 수 있다. 방법(1000)은 블록(1042)에서, 불량 메모리 어레이들로부터 메모리 요청들을 예비 메모리 어레이들에 리다이렉트 하는 것을 더 포함할 수 있다.
방법(1000)은 블록(1046)에서 이를테면 불량 웨이퍼-관통 상호연결(예를 들면, 적어도 부분적으로 웨이퍼를 관통하여 확장하는 도전성 경로)과 같은 하나 이상의 불량 도전성 경로들(이하 "불량 비아"라 함)을 검출하는 것으로 계속될 수 있다. 불량 비아 이벤트들은 ECC 모듈, PVCL, 및/또는 로직 다이(202) 내 혹은 메모리 볼트 자체 내 그외 어떤 다른 적합한 지점에서 검출될 수 있다. 또한, 방법(1000)은 블록(1048)에서 불량 비아들의 통지들을 수신하는 것을 포함할 수 있다. 이러한 통지는 예를 들면, 도 5a의 동적 수선 모듈(5022)에서 수신될 수 있다. 방법(1000)은 블록(1050)에서 불량 비아들로부터 메모리 볼트 신호들을 예비 비아들에 리다이렉트 하는 것을 더 포함할 수 있다.
방법(1000)은 블록(1054)에서, 호스트 장치와 메모리 볼트 간에 통신 링크들을 거쳐 데이터 및/또는 어드레스 워드들을 전송하는 것으로 계속될 수 있다. 또한, 방법(1000)은 블록(1056)에서, 메모리 볼트 소부분 어드레스들을 얻기 위해 어드레스 워드들을 디코딩하는 것을 포함할 수 있다. 각각의 소부분 어드레스는 메모리 볼트의 소부분에 대응한다. 소부분은 예를 들면 다이 또는 메모리 어레이를 포함할 수 있다.
또한, 방법(1000)은 블록(1058)에서 통신 링크들를 거쳐가는 트래픽량을 감시하고 블록(1060)에서 트래픽량을 호스트 장치에 보고하는 것을 포함할 수 있다. 방법(1000)은 블록(1062)에서 메모리 볼트의 소부분들 각각에의 액세스의 빈도를 감시하고 블록(1064)에서 액세스 빈도를 호스트 장치에 보고하는 것을 포함할 수 있다.
방법(1000)은 블록(1068)에서 메모리 어드레스 할당을 관리함으로써 메모리 볼트의 여러 소부분들의 이용에 균형을 맞추는 것으로 계속될 수 있다. 예를 들면, 호스트 장치 운영 시스템은 메모리 서브-시스템으로부터 호스트 장치에 수신되는 소부분 이용의 보고들에 기초하여 물리적 메모리를 덜 이용되는 메모리 볼트 소부분들에 할당할 수 있다.
또한, 방법(1000)은 블록(1070)에서, 메모리 볼트의 여러 소부분들의 이용에 균형을 맞추기 위해 소부분 어드레스들을 대체하는 것을 포함할 수 있다. 일부 실시예들에서, 예를 들면, MVC는 메모리 볼트 소부분 이용에 균형을 맞추기 위해 심하게 사용되는 소부분 어드레스들을 덜 사용되는 소부분 어드레스들로 대체하게 지시될 수 있다.
방법(1000)은 블록(1074)에서, 피드-포워드 소부분 이용 정보를 파워 분배 시스템에 제공하는 것을 더 포함할 수 있다. 소부분 이용 정보는 메모리 볼트의 여러 소부분들에서의 파워 요건을 예측하기 위해 사용될 수 있다. 또한, 방법(1000)은 블록(1076)에서, 메모리 볼트의 여러 소부분들에의 파워 이용성을 개별적으로 조절하는 것을 포함할 수 있다. 예를 들면, 서플라이 전압은 고 액세스 부하가 예상되는 메모리 어레이들에 대해 증가될 수 있다.
방법(1000)은 블록(1080)에서 주기적 데이터 스트로브 위치설정 조절 루틴을 수행하는 것으로 계속될 수 있다. 즉, 메모리 볼트에, 메모리 볼트 다이에, 혹은 다이 상의 메모리 셀 어레이에의 데이터 스트로브 타이밍은 일련의 판독 또는 기입 액세스들을 수행하면서 한 범위에 걸쳐 증분적으로 조절될 수 있다. 범위의 한계는 판독 또는 기입 오류를 검출함으로써 결정될 수 있다. 범위의 중앙은 한계 사이에 중간점으로서 계산될 수 있고 요망되는 스트로브 타이밍으로서 "데이터 아이"의 중앙이 선택될 수 있다. 일부 실시예들에서, 방법(1000)은 블록(1082)에서, 메모리 볼트, 메모리 볼트 다이, 혹은 다이 상의 메모리 셀 어레이에서 데이터 스트로브 드리프트에 관계된 경향을 추적하는 것을 포함할 수 있다.
여기에 기술된 동작들은 기술된 순서 이외의 순서로 실행될 수 있음에 유의한다. 여기에서 확인되는 방법들에 관련하여 기술된 다양한 동작들은 반복적으로, 일련으로, 및/또는 병렬로 실행될 수도 있다.
소프트웨어 프로그램은 소프트웨어 프로그램에 정의된 기능들을 실행하기 위해 컴퓨터-기반 시스템에서 컴퓨터-판독가능 매체로부터 기동될 수 있다. 여기에 개시된 방법들을 구현하고 수행하기 위해 서례되는 소프트웨어 프로그램들 을 작성하기 위해 각종 프로그래밍 언어들이 사용될 수 있다. 프로그램들은 자바 또는 C++와 같은 객체-지향적 언어 를사용하여 객체-지향적 형식으로 구조화될 수 있다. 대안적으로, 프로그램들은 어셈블리 또는 C와 같은 절차적 언어를 사용하여 절차-지향적 형식으로 구조화될 수 있다. 소프트웨어 성분들은 무엇보다도, 애플리케이션 프로그램 인터페이스들, 프로세스간 통신 기술들, 및 원격 프로시처 호출들을 포함한 공지된 메커니즘들을 사용하여 통신할 수 있다. 여러 실시예들의 교시된 바들은 임의의 특정한 프로그래밍 언어 또는 환경으로 제한되지 않는다.
여기에 기술된 장치, 시스템들, 및 방법들은 메모리 볼트에 연관된 동작 파라미터들을 모니터하고 조절하게 동작할 수 있다. 동작 파라미터들은 통계적으로 분석되고 메모리 볼트에 결합된 호스트 장치에 보고될 수 있다. 경고 임계값들이 설정될 수 있고 하나 이상의 파라미터들이 대응하는 임계값들을 초과한다면 경고들이 호스트 장치에 발행된다. 이들 작업들은 메모리 볼트에 적층된 로직 다이 상의 모듈들에 의해 수행될 수 있어, 호스트 장치로부터 이러한 처리를 없앴을 수 있다. 모니터링/제어 기능들과 메모리 볼트 간에 고 레벨들의 통합은 낮은 비용으로 성능이 증가될 수 있게 한다. 예를 들면, 데이터 스트로브 조절은 메모리 볼트에 대응하는 다이 적층 내 각 다이마다 개별적으로 수행될 수 있다. 결국, 넓은 범위의 타이밍 능력들을 가진 메모리 어레이 다이들이 메모리 볼트를 제조하기 위해 사용될 수 있다. 증가된 제조 수율 및 감소된 비용의 결과를 가져올 수 있다.
제한이 아니라 예시에 의해서, 동반된 도면들은 요지가 실시될 수 있는 특정 실시예들을 나타낸다. 예시된 실시예들은 당업자들이 여기 개시된 교시된 바들을 실시할 수 있게 하는데 충분한 상세로 기술된다. 구조적 및 논리적 대치들 및 변경들이 본 개시의 범위 내에서 행해질 수 있게 다른 실시예들이 사용될 수 있고 이로부터 도출될 수 있다. 그러므로, 이 상세한 설명은 한정의 의미로 취해지지 않아야 한다. 여러 실시예들의 범위는 첨부된 청구항들 및 이러한 청구항들이 부여하는 완전한 범위의 등가물들에 의해 정의된다.
발명적 요지의 이러한 실시예들은 단지 편의상, 그리고 사실상 하나 이상이 개시되었을지라도 임의의 단일 발명 혹은 발명적 개념으로 본원을 자발적으로 한정하지 않고 "발명"이라는 용어로 개별적으로 혹은 총괄적으로 언급될 수 있다. 따라서, 특정한 실시예들이 여기에 예시되고 기술되었을지라도 동일 결과들을 달성하기 위해 계획되는 임의의 배열은 도시된 특정 실시예들을 대신할 수 있음을 당업자들은 알 것이다. 본 개시는 여러 실시예들의 임의의 및 모든 수정들 또는 변형들을 포함한다. 위에 실시예들, 및 다른 실시예들의 조합들은 위에 설명을 검토하였을 때 당업자들에게 명백해질 것이다.
본원의 초록은 기술적 개시의 본질을 당업자가 신속하게 확인할 수 있게 할 초록을 요구하는 37 C.F.R.§1.72(b)에 준하여 제공된다. 이것은 청구항들의 범위 또는 의미를 해석하거나 제한시키기 위해 사용되지 않을 것이라는 전제로 제출된다. 전술한 상세한 설명에서, 본 개시를 간소화할 목적으로 여러 특징들을 단일의 실시예에 함께 모았다. 개시의 본 방법은 각 청구항에 분명히 인용된 것보다 더 많은 특징들을 요구하는 것으로 해석되지 않아야 한다. 그보다는, 발명적 요지는 단일의 개시된 실시예의 모든 특징들 미만에서 발견될 수도 있다. 따라서, 다음의 청구항들은 상세한 설명에 포함시키고 각 청구항은 개별적 실시예로서 존립한다.
Claims (42)
- 메모리 시스템에 있어서,
각각의 메모리 어레이가 복수의 적층된 메모리 다이들 중 하나의 다이 상에 위치된 것인, 복수의 적층된 메모리 어레이들을 포함하는 메모리 볼트;
상기 적층된 메모리 다이들에 적층된 로직 다이 상에 위치되고, 상기 메모리 볼트에 통신이 되도록 결합되어 상기 메모리 볼트에 연관된 제어, 스위칭, 또는 통신 로직 중 적어도 하나를 제공하는, 메모리 볼트 제어기(MVC); 및
상기 메모리 볼트에 연관된 적어도 하나의 동작 파라미터를 모니터하고 상기 메모리 볼트에 연관된 적어도 하나의 동작 파라미터를 조절하기 위한 상기 로직 다이의 시스템 모니터 프로세서를 포함하는, 메모리 시스템.
- 청구항 1에 있어서,
상기 모니터된 적어도 하나의 동작 파라미터에 연관된 값을 감지하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 적어도 하나의 센서; 및
상기 감지된 값을 대응하는 임계값과 비교하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 센서 모니터링 모듈을 더 포함하는, 메모리 시스템.
- 청구항 2에 있어서,
상기 적어도 하나의 센서는 전압 센서, 온도 센서, 타이밍 측정 장치, 또는 비트 오류 검출기 중 적어도 하나를 포함하는, 메모리 시스템.
- 청구항 2에 있어서,
상기 적어도 하나의 센서는 메모리 볼트 레벨, 메모리 어레이 다이 레벨, 또는 메모리 어레이 레벨에 있는 것인, 메모리 시스템.
- 청구항 2에 있어서,
상기 감지된 값에 대해 통계적 계산을 수행하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 통계적 분석 모듈을 더 포함하는, 메모리 시스템.
- 청구항 5에 있어서,
통계 또는 성능 데이터 중 적어도 하나를 발원 장치로 보고하기 위해 상기 시스템 모니터 프로세서에 그리고 상기 통계적 분석 모듈에 통신이 되도록 결합된 보고 모듈을 더 포함하는, 메모리 시스템.
- 청구항 2에 있어서,
상기 감지된 값이 상기 임계값을 초과하는 경우 발원 장치로 경고하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 경고 모듈을 더 포함하는, 메모리 시스템.
- 청구항 1에 있어서,
상기 감지된 값에 응하여 서플라이 전압 레벨들을 조절하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 파워 분배 시스템을 더 포함하는, 메모리 시스템.
- 청구항 8에 있어서,
상기 파워 분배 시스템은 각각의 소부분(subsection)에 연관된 파워 사용 레벨에 따라 상기 메모리 볼트의 개개의 소부분들에의 서플라이 전압 레벨들을 조절하게 구성된, 메모리 시스템.
- 청구항 1에 있어서,
소프트 오류 정정, 하드 비트 불량, 리프레시 조절, 또는 도전성 경로 불량 중 적어도 하나의 통지를 수신한 것에 응하여 정정 동작을 취하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 동적 수선 모듈;
상기 소프트 오류, 상기 하드 비트 불량, 상기 리프레시 조절, 또는 상기 도전성 경로 불량 중 적어도 하나를 검출하기 위해 상기 동적 수선 모듈 또는 상기 시스템 모니터 프로세서 중 적어도 하나에 통신이 되도록 결합된 오류 정정 부호(ECC) 모듈; 및
불량 메모리 어레이들로부터 메모리 요청들을 예비 메모리 어레이들로 리다이렉트하고 불량 도전성 경로들로부터 메모리 볼트 신호들을 예비 도전성 경로들로 리다이렉트하기 위해 상기 동적 수선 모듈에 통신이 되도록 결합된 메모리 볼트 수선 로직을 더 포함하는, 메모리 시스템.
- 청구항 1에 있어서,
상기 메모리 볼트의 소부분들에의 액세스 빈도를 모니터하고, 발원 장치와 상기 메모리 볼트 간의 통신 링크들을 거쳐가는 트래픽량을 모니터하며, 및/또는 상기 발원 장치에 상기 액세스 빈도 및 트래픽량을 보고하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 트래픽 밀도 모니터를 더 포함하는, 메모리 시스템.
- 청구항 11에 있어서,
상기 통신 링크들과 상기 메모리 볼트 간에 데이터 및 어드레스 워드들을 전송하고 상기 메모리 볼트의 상기 소부분들 각각에 대응하는 소부분 어드레스들을 획득하기 위해 상기 어드레스 워드들을 디코딩하기 위해서 상기 트래픽 밀도 모니터에 통신이 되도록 결합된 프로그램가능 볼트 제어 로직(PVCL)을 더 포함하는, 메모리 시스템.
- 청구항 12에 있어서,
상기 트래픽 밀도 모니터는 상기 메모리 볼트의 상기 소부분들의 이용에 균형을 맞추기 위해 소부분 어드레스들을 대체할 것을 상기 PVCL에 지시하게 구성된, 메모리 시스템.
- 청구항 11에 있어서,
상기 트래픽 밀도 모니터는 상기 메모리 볼트의 상기 소부분들에서의 파워 요구들을 예상하기 위해 파워 분배 시스템에 피드-포워드 정보를 제공하게 구성된, 메모리 시스템.
- 청구항 1에 있어서,
주기적 데이터 스트로브 위치설정 조절 루틴을 수행하고 및/또는 데이터 스트로브 드리프트에 관계된 경향들을 추적하기 위해서 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 데이터 아이(eye) 모니터를 더 포함하는, 메모리 시스템.
- 메모리 볼트에 연관된 적어도 하나의 동작 파라미터를 모니터하는 단계;
상기 메모리 볼트에 연관된 적어도 하나의 동작 파라미터를 조절하는 단계; 및
발원 장치로 경고 또는 보고 동작들 중 적어도 하나를 수행하는 단계를 포함하는, 방법.
- 청구항 16에 있어서,
한 세트의 경고 임계값들을 수신하는 단계; 및
상기 한 세트의 경고 임계값들을 저장하는 단계를 더 포함하는, 방법.
- 청구항 17에 있어서,
상기 적어도 하나의 동작 파라미터를 모니터하는 단계는,
제 1의 한 세트의 동작 파라미터들에 연관된 한 세트의 값들을 감지하는 단계; 및
상기 한 세트의 감지된 값들을 상기 한 세트의 경고 임계값들의 대응하는 것들과 비교하는 단계를 포함하는, 방법.
- 청구항 18에 있어서,
상기 한 세트의 감지된 값들에 대한 통계적 계산을 수행하는 단계를 더 포함하는, 방법.
- 청구항 16에 있어서,
상기 발원 장치로 통계 및/또는 성능 데이터 중 적어도 하나를 보고하는 단계를 더 포함하고, 상기 발원 장치는 호스트 장치를 포함하는, 방법.
- 청구항 15에 있어서,
상기 한 세트의 감지된 값들 중 하나가 상기 한 세트의 경고 임계값들 중 대응하는 값을 초과하는 경우 상기 발원 장치로 경고하는 단계를 더 포함하는, 방법.
- 청구항 16에 있어서,
상기 적어도 하나의 동작 파라미터를 모니터하는 단계는 상기 메모리 볼트 내의 센서들로부터 전압 레벨 측정 또는 온도 측정 중 적어도 하나를 수신하는 단계를 포함하고,
상기 메모리 볼트에 연관된 적어도 하나의 동작 파라미터를 조절하는 단계는 각각의 어레이에 연관된 파워 사용 레벨에 따라 상기 메모리 볼트 내 개개의 메모리 어레이들에의 서플라이 전압 레벨들을 조절하는 단계를 포함하는, 방법.
- 청구항 16에 있어서,
소프트 오류 정정, 하드 비트 불량, 혹은 리프레시 조절 중 적어도 하나를 검출하는 단계; 및
상기 검출에 응하여 불량 메모리 어레이로부터 메모리 요청들을 예비 메모리 어레이로 리다이렉트 하는 단계를 더 포함하는, 방법.
- 청구항 16에 있어서,
적어도 하나의 불량 도전성 경로를 검출하는 단계; 및
상기 불량 도전성 경로로부터 메모리 볼트 신호들을 예비 도전성 경로로 리다이렉트 하는 단계를 더 포함하는, 방법.
- 청구항 16에 있어서,
상기 발원 장치와 상기 메모리 볼트 간의 통신 링크들을 거쳐 데이터 및 어드레스 워드들을 전송하는 단계; 및
상기 메모리 볼트에 연관된 복수의 소부분들 각각에 대응하는 메모리 볼트 소부분 어드레스들을 획득하기 위해 상기 어드레스 워드들을 디코딩하는 단계를 더 포함하는, 방법.
- 청구항 25에 있어서,
상기 통신 링크들을 거쳐가는 트래픽량을 모니터하는 단계; 및
상기 트래픽량을 상기 발원 장치로 보고하는 단계를 더 포함하는, 방법.
- 청구항 25에 있어서,
상기 메모리 볼트의 복수의 소부분들에의 액세스 빈도를 모니터하는 단계; 및
상기 액세스 빈도를 상기 발원 장치로 보고하는 단계를 더 포함하는, 방법.
- 청구항 27에 있어서,
메모리 어드레스 할당을 관리함으로써 상기 메모리 볼트의 복수의 소부분들의 이용의 균형을 맞추는 단계를 더 포함하는, 방법.
- 청구항 27에 있어서,
상기 메모리 볼트의 복수의 소부분들의 이용의 균형을 맞추기 위해 소부분 어드레스들을 대체하는 단계를 더 포함하는, 방법.
- 청구항 27에 있어서,
상기 메모리 볼트의 상기 소부분들에서의 파워 요구들을 예상하기 위해 파워 분배 시스템에 피드-포워드 소부분 이용 정보를 제공하는 단계; 및
상기 메모리 볼트의 상기 소부분들 각각에의 파워 이용성을 개별적으로 조절하는 단계를 더 포함하는, 방법.
- 청구항 16에 있어서,
메모리 볼트 다이에서 데이터 아이의 중심을 맞추기 위해 주기적 데이터 스트로브 위치설정 조절 루틴을 수행하는 단계; 및/또는
상기 메모리 볼트 다이에서 데이터 스트로브 드리프트에 관계된 경향들을 추적하는 단계를 더 포함하는, 방법.
- 메모리 시스템에 있어서,
각각의 메모리 어레이가 복수의 적층된 메모리 다이들 중 하나의 다이 상에 위치된 것인, 복수의 적층된 메모리 어레이들을 포함하는 메모리 볼트; 및
상기 적층된 메모리 다이들에 적층된 로직 다이를 포함하며,
상기 로직 다이는,
상기 메모리 볼트에 통신이 되도록 결합되어 상기 메모리 볼트에 연관된 제어, 스위칭, 또는 통신 로직 중 적어도 하나를 제공하는, 메모리 볼트 제어기(MVC);
상기 MVC에 통신이 되도록 결합된 시스템 모니터 프로세서; 및
소프트 오류 정정, 하드 비트 불량, 리프레시 조절, 또는 도전성 경로 불량 중 적어도 하나의 통지를 수신한 것에 응하여 정정 동작을 취하기 위해 상기 시스템 모니터 프로세서에 통신이 되도록 결합된 동적 수선 모듈을 포함하는, 메모리 시스템.
- 청구항 32에 있어서,
상기 MVC는 상기 소프트 오류, 상기 하드 비트 불량, 상기 리프레시 조절, 또는 상기 도전성 경로 불량 중 적어도 하나를 검출하는 오류 모니터를 포함하는, 메모리 시스템.
- 청구항 32에 있어서,
상기 MVC는 불량 메모리 어레이들로부터 메모리 요청들을 예비 메모리 어레이들로 리다이렉트하고 및/또는 불량 도전성 경로들로부터 메모리 볼트 신호들을 예비 도전성 경로들로 리다이렉트하기 위해 상기 동적 수선 모듈에 통신이 되도록 결합된 메모리 볼트 수선 로직(MVRL)을 포함하는, 메모리 시스템.
- 메모리 시스템에 있어서
각각의 메모리 어레이가 복수의 적층된 메모리 다이들 중 하나의 다이 상에 위치된 것인, 복수의 적층된 메모리 어레이들을 포함하는 메모리 볼트; 및
상기 적층된 메모리 다이들에 적층된 로직 다이를 포함하며,
상기 로직 다이는,
상기 메모리 볼트에 통신이 되도록 결합되어 상기 메모리 볼트에 연관된 제어, 스위칭, 또는 통신 로직 중 적어도 하나를 제공하는, 메모리 볼트 제어기(MVC);
상기 MVC에 통신이 되도록 결합된 시스템 모니터 프로세서; 및
상기 메모리 볼트의 소부분들에의 액세스 빈도를 모니터하기 위해 상기 시스템 모니터 프로세서에 및/또는 상기 MVC에 통신이 되도록 결합된 트래픽 밀도 모니터를 포함하는, 메모리 시스템.
- 청구항 35에 있어서,
상기 트래픽 밀도 모니터는 발원 장치와 상기 메모리 볼트 간의 통신 링크들을 거쳐가는 트래픽량을 모니터하고 및/또는 상기 액세스 빈도 및/또는 트래픽량을 상기 발원 장치로 보고하게 더욱 구성된, 메모리 시스템.
- 청구항 35에 있어서,
상기 MVC는 상기 통신 링크들과 상기 메모리 볼트 간에 데이터 및 어드레스 워드들을 전송하기 위해서, 그리고 상기 어드레스 워드들을 디코딩하여 상기 메모리 볼트의 상기 소부분들 각각에 대응하는 소부분 어드레스들을 획득하기 위해 상기 트래픽 밀도 모니터에 통신이 되도록 결합된 프로그램가능 볼트 제어 로직(PVCL)을 포함하는, 메모리 시스템.
- 청구항 35에 있어서,
상기 트래픽 밀도 모니터는 상기 메모리 볼트의 상기 소부분들의 이용의 균형을 맞추기 위해 소부분 어드레스들을 대체할 것을 상기 PVCL에 지시하게 구성된, 메모리 시스템.
- 청구항 35에 있어서,
상기 트래픽 밀도 모니터는 상기 메모리 볼트의 상기 소부분들에서의 파워 요구들을 예상하기 위해 파워 분배 시스템에 피드-포워드 정보를 제공하게 더욱 구성된, 메모리 시스템.
- 메모리 시스템에 있어서
각각의 메모리 어레이가 복수의 적층된 메모리 다이들 중 하나의 다이 상에 위치된 것인, 복수의 적층된 메모리 어레이들을 포함하는 메모리 볼트; 및
상기 적층된 메모리 다이들에 적층된 로직 다이를 포함하며,
상기 로직 다이는,
상기 메모리 볼트에 통신이 되도록 결합되어 상기 메모리 볼트에 연관된 제어, 스위칭, 또는 통신 로직 중 적어도 하나를 제공하는, 메모리 볼트 제어기(MVC);
상기 MVC에 통신이 되도록 결합된 시스템 모니터 프로세서; 및
데이터 스트로브 타이밍을 조절하고 및/또는 데이터 스트로브 드리프트에 관계된 경향들을 추적하기 위해 상기 시스템 모니터 프로세서에 및/또는 상기 MVC에 통신이 되도록 결합된 데이터 아이 모니터를 포함하는, 메모리 시스템.
- 청구항 40에 있어서,
상기 데이터 아이 모니터는,
일련의 판독 또는 기입 액세스들을 수행하면서, 한 범위에 걸쳐 상기 메모리 볼트, 메모리 볼트 다이 중 적어도 하나, 또는 상기 메모리 볼트 다이 상의 메모리 셀 어레이에의 데이터 스트로브 타이밍을 증분적으로 조절하고;
판독 또는 기입 오류들을 검출함으로써 상기 범위의 한계들을 결정하며;
상기 범위의 중앙을 상기 한계들 사이의 중간점으로서 계산하고; 및
상기 범위의 상기 중앙을 요망되는 스트로브 타이밍으로서 선택하게 구성된, 메모리 시스템.
- 청구항 40에 있어서,
상기 데이터 아이 모니터는 상기 메모리 볼트를 포함하는 상기 다이들 각각에 대해 데이터 스트로브 타이밍을 조절하게 구성된, 메모리 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/352,381 | 2009-01-12 | ||
US12/352,381 US8032804B2 (en) | 2009-01-12 | 2009-01-12 | Systems and methods for monitoring a memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110110799A true KR20110110799A (ko) | 2011-10-07 |
KR101603814B1 KR101603814B1 (ko) | 2016-03-16 |
Family
ID=42317217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117018848A KR101603814B1 (ko) | 2009-01-12 | 2010-01-12 | 메모리 시스템을 모니터링하기 위한 시스템 및 방법 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8032804B2 (ko) |
EP (1) | EP2386084B1 (ko) |
JP (2) | JP2012515381A (ko) |
KR (1) | KR101603814B1 (ko) |
CN (1) | CN102272737B (ko) |
TW (1) | TWI505089B (ko) |
WO (1) | WO2010081157A2 (ko) |
Families Citing this family (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8032804B2 (en) | 2009-01-12 | 2011-10-04 | Micron Technology, Inc. | Systems and methods for monitoring a memory system |
US8127185B2 (en) * | 2009-01-23 | 2012-02-28 | Micron Technology, Inc. | Memory devices and methods for managing error regions |
US8018752B2 (en) * | 2009-03-23 | 2011-09-13 | Micron Technology, Inc. | Configurable bandwidth memory devices and methods |
US8996836B2 (en) | 2009-12-18 | 2015-03-31 | Micron Technology, Inc. | Stacked device detection and identification |
JP5421152B2 (ja) | 2010-03-08 | 2014-02-19 | ルネサスエレクトロニクス株式会社 | 半導体集積回路 |
US8412882B2 (en) * | 2010-06-18 | 2013-04-02 | Microsoft Corporation | Leveraging chip variability |
US8464107B2 (en) * | 2010-06-28 | 2013-06-11 | Qualcomm Incorporated | Surrogate circuit for testing an interface |
US8364813B2 (en) | 2010-11-02 | 2013-01-29 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US8386602B2 (en) | 2010-11-02 | 2013-02-26 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system |
US8621277B2 (en) * | 2010-12-06 | 2013-12-31 | International Business Machines Corporation | Dynamic administration of component event reporting in a distributed processing system |
US8737231B2 (en) | 2010-12-07 | 2014-05-27 | International Business Machines Corporation | Dynamic administration of event pools for relevant event and alert analysis during event storms |
US8805999B2 (en) | 2010-12-07 | 2014-08-12 | International Business Machines Corporation | Administering event reporting rules in a distributed processing system |
US8868984B2 (en) | 2010-12-07 | 2014-10-21 | International Business Machines Corporation | Relevant alert delivery in a distributed processing system with event listeners and alert listeners |
KR101214285B1 (ko) * | 2010-12-30 | 2012-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US9658678B2 (en) | 2011-03-31 | 2017-05-23 | Intel Corporation | Induced thermal gradients |
US9490003B2 (en) * | 2011-03-31 | 2016-11-08 | Intel Corporation | Induced thermal gradients |
US8756462B2 (en) | 2011-05-24 | 2014-06-17 | International Business Machines Corporation | Configurable alert delivery for reducing the amount of alerts transmitted in a distributed processing system |
US8645757B2 (en) | 2011-05-26 | 2014-02-04 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US9213621B2 (en) | 2011-05-27 | 2015-12-15 | International Business Machines Corporation | Administering event pools for relevant event analysis in a distributed processing system |
US8676883B2 (en) | 2011-05-27 | 2014-03-18 | International Business Machines Corporation | Event management in a distributed processing system |
US8392385B2 (en) | 2011-06-22 | 2013-03-05 | International Business Machines Corporation | Flexible event data content management for relevant event and alert analysis within a distributed processing system |
US8713366B2 (en) | 2011-06-22 | 2014-04-29 | International Business Machines Corporation | Restarting event and alert analysis after a shutdown in a distributed processing system |
US8880943B2 (en) | 2011-06-22 | 2014-11-04 | International Business Machines Corporation | Restarting event and alert analysis after a shutdown in a distributed processing system |
US9419650B2 (en) | 2011-06-22 | 2016-08-16 | International Business Machines Corporation | Flexible event data content management for relevant event and alert analysis within a distributed processing system |
TWI430094B (zh) | 2011-09-22 | 2014-03-11 | Phison Electronics Corp | 記憶體儲存裝置、記憶體控制器與溫度管理方法 |
US20130097272A1 (en) | 2011-10-18 | 2013-04-18 | International Business Machines Corporation | Prioritized Alert Delivery In A Distributed Processing System |
US20130097215A1 (en) | 2011-10-18 | 2013-04-18 | International Business Machines Corporation | Selected Alert Delivery In A Distributed Processing System |
US9178936B2 (en) | 2011-10-18 | 2015-11-03 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
US8887175B2 (en) | 2011-10-18 | 2014-11-11 | International Business Machines Corporation | Administering incident pools for event and alert analysis |
US8713581B2 (en) | 2011-10-27 | 2014-04-29 | International Business Machines Corporation | Selected alert delivery in a distributed processing system |
TWI454910B (zh) * | 2011-11-03 | 2014-10-01 | Winbond Electronics Corp | 記憶體裝置之操作方法、讀取數位記憶體的方法及其應用、及其記憶體裝置 |
EP2783367A4 (en) * | 2011-11-25 | 2015-07-22 | Conversant Intellectual Property Man Inc | STORAGE SYSTEM AND METHOD WITH STACKED STORAGE DICES |
US8867286B2 (en) * | 2011-12-20 | 2014-10-21 | Industrial Technology Research Institute | Repairable multi-layer memory chip stack and method thereof |
DE112011105998T5 (de) | 2011-12-23 | 2014-09-18 | Intel Corporation | Speicheroperationen unter Verwendung von Systemtemperatursensordaten |
EP4086767A1 (en) | 2011-12-27 | 2022-11-09 | INTEL Corporation | Methods and apparatus to manage workload memory allocation |
CN105718223B (zh) * | 2011-12-27 | 2019-11-12 | 英特尔公司 | 管理工作负载存储器分配的方法和设备 |
US8874979B2 (en) | 2012-06-14 | 2014-10-28 | International Business Machines Corporation | Three dimensional(3D) memory device sparing |
US8869007B2 (en) | 2012-06-14 | 2014-10-21 | International Business Machines Corporation | Three dimensional (3D) memory device sparing |
US9478502B2 (en) * | 2012-07-26 | 2016-10-25 | Micron Technology, Inc. | Device identification assignment and total device number detection |
US8954811B2 (en) | 2012-08-06 | 2015-02-10 | International Business Machines Corporation | Administering incident pools for incident analysis |
US9697147B2 (en) | 2012-08-06 | 2017-07-04 | Advanced Micro Devices, Inc. | Stacked memory device with metadata management |
US8922243B2 (en) | 2012-12-23 | 2014-12-30 | Advanced Micro Devices, Inc. | Die-stacked memory device with reconfigurable logic |
US8943366B2 (en) | 2012-08-09 | 2015-01-27 | International Business Machines Corporation | Administering checkpoints for incident analysis |
US9170948B2 (en) | 2012-12-23 | 2015-10-27 | Advanced Micro Devices, Inc. | Cache coherency using die-stacked memory device with logic die |
US9201777B2 (en) | 2012-12-23 | 2015-12-01 | Advanced Micro Devices, Inc. | Quality of service support using stacked memory device with logic die |
US9065722B2 (en) | 2012-12-23 | 2015-06-23 | Advanced Micro Devices, Inc. | Die-stacked device with partitioned multi-hop network |
US9135185B2 (en) | 2012-12-23 | 2015-09-15 | Advanced Micro Devices, Inc. | Die-stacked memory device providing data translation |
US10042750B2 (en) | 2013-03-15 | 2018-08-07 | Micron Technology, Inc. | Apparatuses and methods for adaptive control of memory using an adaptive memory controller with a memory management hypervisor |
JP6195342B2 (ja) * | 2013-03-27 | 2017-09-13 | キヤノン株式会社 | 情報処理装置およびメモリアクセス制御方法 |
US9361184B2 (en) | 2013-05-09 | 2016-06-07 | International Business Machines Corporation | Selecting during a system shutdown procedure, a restart incident checkpoint of an incident analyzer in a distributed processing system |
US10083069B2 (en) | 2013-06-27 | 2018-09-25 | Sandisk Technologies Llc | Word line defect detection and handling for a data storage device |
US9286948B2 (en) | 2013-07-15 | 2016-03-15 | Advanced Micro Devices, Inc. | Query operations for stacked-die memory device |
US9170860B2 (en) | 2013-07-26 | 2015-10-27 | International Business Machines Corporation | Parallel incident processing |
US9658902B2 (en) | 2013-08-22 | 2017-05-23 | Globalfoundries Inc. | Adaptive clock throttling for event processing |
US9256482B2 (en) | 2013-08-23 | 2016-02-09 | International Business Machines Corporation | Determining whether to send an alert in a distributed processing system |
US9086968B2 (en) | 2013-09-11 | 2015-07-21 | International Business Machines Corporation | Checkpointing for delayed alert creation |
US9602337B2 (en) | 2013-09-11 | 2017-03-21 | International Business Machines Corporation | Event and alert analysis in a distributed processing system |
US9389943B2 (en) | 2014-01-07 | 2016-07-12 | International Business Machines Corporation | Determining a number of unique incidents in a plurality of incidents for incident processing in a distributed processing system |
KR102088343B1 (ko) | 2014-02-05 | 2020-03-12 | 삼성전자주식회사 | 반도체 메모리 장치 |
US8929169B1 (en) | 2014-05-13 | 2015-01-06 | Sandisk Technologies Inc. | Power management for nonvolatile memory array |
US20160124785A1 (en) * | 2014-10-30 | 2016-05-05 | Siemens Aktiengesellschaft | System and method of safety monitoring for embedded systems |
US20160162185A1 (en) * | 2014-12-05 | 2016-06-09 | Sandisk Technologies Inc. | Data programming for a memory having a three-dimensional memory configuration |
US9940457B2 (en) | 2015-02-13 | 2018-04-10 | International Business Machines Corporation | Detecting a cryogenic attack on a memory device with embedded error correction |
US9606851B2 (en) | 2015-02-02 | 2017-03-28 | International Business Machines Corporation | Error monitoring of a memory device containing embedded error correction |
US10020031B2 (en) * | 2015-05-21 | 2018-07-10 | Arm Limited | Location-based optimization for memory systems |
KR102602694B1 (ko) * | 2015-12-15 | 2023-11-15 | 삼성전자주식회사 | 스토리지 컨트롤러의 작동 방법과 이를 포함하는 스토리지 장치의 작동 방법 |
US10078544B2 (en) * | 2015-12-19 | 2018-09-18 | Intel Corporation | Apparatus and method for an on-chip reliability controller |
KR102529171B1 (ko) * | 2016-02-26 | 2023-05-04 | 삼성전자주식회사 | 메모리 장치 진단 시스템 |
US9767892B1 (en) * | 2016-04-27 | 2017-09-19 | Altera Corporation | Memory elements with dynamic pull-up weakening write assist circuitry |
KR102571497B1 (ko) | 2016-05-10 | 2023-08-29 | 삼성전자주식회사 | 멀티 스택 칩 패키지를 포함하는 데이터 저장 장치 및 그것의 동작 방법 |
US10013192B2 (en) | 2016-08-17 | 2018-07-03 | Nxp Usa, Inc. | Soft error detection in a memory system |
US9753806B1 (en) | 2016-10-14 | 2017-09-05 | International Business Machines Corporation | Implementing signal integrity fail recovery and mainline calibration for DRAM |
KR102030462B1 (ko) * | 2017-12-08 | 2019-10-10 | 현대오트론 주식회사 | 복수의 차량용 멀티 코어 프로세서 오류 모니터링 장치 및 그 방법 |
US10740177B2 (en) * | 2018-01-16 | 2020-08-11 | International Business Machines Corporation | Optimizing error correcting code in three-dimensional stacked memory |
US20190273649A1 (en) * | 2018-03-02 | 2019-09-05 | Nxp B.V. | Vehicle quality of service device |
US10446246B2 (en) | 2018-03-14 | 2019-10-15 | Silicon Storage Technology, Inc. | Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network |
JP6991446B2 (ja) * | 2018-05-18 | 2022-01-12 | 日本電信電話株式会社 | パケット処理装置及びそのメモリアクセス制御方法 |
US10895983B2 (en) | 2018-11-06 | 2021-01-19 | Micron Technology, Inc. | Memory element profiling and operational adjustments |
US10990480B1 (en) | 2019-04-05 | 2021-04-27 | Pure Storage, Inc. | Performance of RAID rebuild operations by a storage group controller of a storage system |
US10923199B2 (en) | 2019-05-01 | 2021-02-16 | Micron Technology, Inc. | Peak current management in a memory array |
US11449245B2 (en) | 2019-06-13 | 2022-09-20 | Western Digital Technologies, Inc. | Power target calibration for controlling drive-to-drive performance variations in solid state drives (SSDs) |
US11599299B2 (en) * | 2019-11-19 | 2023-03-07 | Invensas Llc | 3D memory circuit |
US11188244B2 (en) * | 2020-04-14 | 2021-11-30 | Micron Technology, Inc. | Adjusting trim settings to improve memory performance or reliability |
JP7500263B2 (ja) * | 2020-04-27 | 2024-06-17 | キオクシア株式会社 | メモリデバイス、および温度センサのキャリブレーション方法 |
US11372572B2 (en) * | 2020-05-08 | 2022-06-28 | Kyndryl, Inc. | Self-relocating data center based on predicted events |
US11307782B2 (en) * | 2020-06-03 | 2022-04-19 | Micron Technology, Inc. | Host identification and verification system and method for a memory system |
US11600355B2 (en) * | 2020-07-28 | 2023-03-07 | Micron Technology, Inc. | Monitoring and adjusting access operations at a memory device |
US20230065593A1 (en) * | 2021-08-31 | 2023-03-02 | Micron Technology, Inc. | Memory traffic monitoring |
US20240087636A1 (en) * | 2022-09-08 | 2024-03-14 | Advanced Micro Devices, Inc. | Dynamic Memory Operations |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912680B1 (en) * | 1997-02-11 | 2005-06-28 | Micron Technology, Inc. | Memory system with dynamic timing correction |
US6551857B2 (en) * | 1997-04-04 | 2003-04-22 | Elm Technology Corporation | Three dimensional structure integrated circuits |
JP3940539B2 (ja) * | 2000-02-03 | 2007-07-04 | 株式会社日立製作所 | 半導体集積回路 |
US6487102B1 (en) * | 2000-09-18 | 2002-11-26 | Intel Corporation | Memory module having buffer for isolating stacked memory devices |
JP3551139B2 (ja) * | 2000-09-21 | 2004-08-04 | 日本電気株式会社 | 動画像再生システム及び動画像再生方法 |
TW594743B (en) * | 2001-11-07 | 2004-06-21 | Fujitsu Ltd | Memory device and internal control method therefor |
US20040004861A1 (en) * | 2002-07-05 | 2004-01-08 | Impinj, Inc. A Delware Corporation | Differential EEPROM using pFET floating gate transistors |
US7132311B2 (en) * | 2002-07-26 | 2006-11-07 | Intel Corporation | Encapsulation of a stack of semiconductor dice |
AU2003255254A1 (en) * | 2002-08-08 | 2004-02-25 | Glenn J. Leedy | Vertical system integration |
JP4419049B2 (ja) * | 2003-04-21 | 2010-02-24 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
US20040215912A1 (en) * | 2003-04-24 | 2004-10-28 | George Vergis | Method and apparatus to establish, report and adjust system memory usage |
US7428644B2 (en) * | 2003-06-20 | 2008-09-23 | Micron Technology, Inc. | System and method for selective memory module power management |
US7210059B2 (en) * | 2003-08-19 | 2007-04-24 | Micron Technology, Inc. | System and method for on-board diagnostics of memory modules |
US20050041453A1 (en) * | 2003-08-22 | 2005-02-24 | Brazis Paul W. | Method and apparatus for reading and writing to solid-state memory |
US7219294B2 (en) * | 2003-11-14 | 2007-05-15 | Intel Corporation | Early CRC delivery for partial frame |
JP3896112B2 (ja) * | 2003-12-25 | 2007-03-22 | エルピーダメモリ株式会社 | 半導体集積回路装置 |
US7450456B2 (en) | 2005-03-30 | 2008-11-11 | Intel Corporation | Temperature determination and communication for multiple devices of a memory module |
US8089795B2 (en) * | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US8060774B2 (en) * | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US7327592B2 (en) * | 2005-08-30 | 2008-02-05 | Micron Technology, Inc. | Self-identifying stacked die semiconductor components |
DE112006002300B4 (de) * | 2005-09-02 | 2013-12-19 | Google, Inc. | Vorrichtung zum Stapeln von DRAMs |
US7622961B2 (en) * | 2005-09-23 | 2009-11-24 | Intel Corporation | Method and apparatus for late timing transition detection |
US7562271B2 (en) * | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
WO2007095080A2 (en) * | 2006-02-09 | 2007-08-23 | Metaram, Inc. | Memory circuit system and method |
US7769964B2 (en) * | 2006-08-21 | 2010-08-03 | Intel Corporation | Technique to perform memory reference filtering |
JP2008140220A (ja) * | 2006-12-04 | 2008-06-19 | Nec Corp | 半導体装置 |
JP5616636B2 (ja) * | 2006-12-14 | 2014-10-29 | ラムバス・インコーポレーテッド | マルチダイメモリ素子 |
JP2008251070A (ja) * | 2007-03-29 | 2008-10-16 | Hitachi Ltd | 半導体記憶装置 |
JP5012898B2 (ja) * | 2007-07-18 | 2012-08-29 | 富士通株式会社 | メモリリフレッシュ装置およびメモリリフレッシュ方法 |
US20090196093A1 (en) * | 2008-01-31 | 2009-08-06 | Qimonda Ag | Stacked die memory |
US8756486B2 (en) * | 2008-07-02 | 2014-06-17 | Micron Technology, Inc. | Method and apparatus for repairing high capacity/high bandwidth memory devices |
US8032804B2 (en) | 2009-01-12 | 2011-10-04 | Micron Technology, Inc. | Systems and methods for monitoring a memory system |
-
2009
- 2009-01-12 US US12/352,381 patent/US8032804B2/en active Active
-
2010
- 2010-01-12 JP JP2011545530A patent/JP2012515381A/ja active Pending
- 2010-01-12 CN CN201080004431.5A patent/CN102272737B/zh active Active
- 2010-01-12 WO PCT/US2010/020786 patent/WO2010081157A2/en active Application Filing
- 2010-01-12 KR KR1020117018848A patent/KR101603814B1/ko active IP Right Grant
- 2010-01-12 EP EP10729673.3A patent/EP2386084B1/en active Active
- 2010-01-12 TW TW099100727A patent/TWI505089B/zh active
-
2011
- 2011-09-30 US US13/250,688 patent/US8234528B2/en active Active
-
2012
- 2012-07-30 US US13/561,837 patent/US8601332B2/en active Active
-
2015
- 2015-01-05 JP JP2015000218A patent/JP5952923B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US8601332B2 (en) | 2013-12-03 |
TW201030515A (en) | 2010-08-16 |
US20100180150A1 (en) | 2010-07-15 |
US8032804B2 (en) | 2011-10-04 |
WO2010081157A3 (en) | 2010-10-21 |
EP2386084B1 (en) | 2019-08-14 |
US8234528B2 (en) | 2012-07-31 |
JP2012515381A (ja) | 2012-07-05 |
JP2015109100A (ja) | 2015-06-11 |
TWI505089B (zh) | 2015-10-21 |
JP5952923B2 (ja) | 2016-07-13 |
CN102272737A (zh) | 2011-12-07 |
US20120023376A1 (en) | 2012-01-26 |
WO2010081157A2 (en) | 2010-07-15 |
CN102272737B (zh) | 2015-07-08 |
EP2386084A2 (en) | 2011-11-16 |
US20120297241A1 (en) | 2012-11-22 |
EP2386084A4 (en) | 2013-09-11 |
KR101603814B1 (ko) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101603814B1 (ko) | 메모리 시스템을 모니터링하기 위한 시스템 및 방법 | |
US8683164B2 (en) | Stacked-die memory systems and methods for training stacked-die memory systems | |
JP6127038B2 (ja) | メモリシステムおよび方法 | |
KR101609311B1 (ko) | 메모리 장치 파워 관리기 및 방법 | |
KR101528659B1 (ko) | 가변 메모리 리프레시 장치들 및 방법들 | |
US8806131B2 (en) | Multi-serial interface stacked-die memory architecture | |
JP2014238908A (ja) | スイッチインターフェース積層ダイメモリアーキテクチャ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190218 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200226 Year of fee payment: 5 |