KR102457095B1 - 딜레이 가변 소자를 포함하는 메모리 모듈 및 그것의 딜레이 설정 방법 - Google Patents
딜레이 가변 소자를 포함하는 메모리 모듈 및 그것의 딜레이 설정 방법 Download PDFInfo
- Publication number
- KR102457095B1 KR102457095B1 KR1020160044909A KR20160044909A KR102457095B1 KR 102457095 B1 KR102457095 B1 KR 102457095B1 KR 1020160044909 A KR1020160044909 A KR 1020160044909A KR 20160044909 A KR20160044909 A KR 20160044909A KR 102457095 B1 KR102457095 B1 KR 102457095B1
- Authority
- KR
- South Korea
- Prior art keywords
- dimm
- data groups
- variable delay
- delays
- reproduce
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
본 발명의 실시 예에 따른 메모리 모듈은 컨트롤러 칩, 제 1 및 제 2 인터페이스, 복수의 데이터 그룹, 복수의 가변 딜레이 소자, 제 1 및 제 2 회로망을 포함할 수 있다. 제 1 인터페이스는 컨트롤러 칩과 호스트 프로세서 간의 신호들을 전송할 수 있다. 제 2 인터페이스는 복수의 데이터 그룹과 호스트 프로세서 간의 정보를 전송할 수 있다. 제 1 회로망은 컨트롤러 칩을 복수의 가변 딜레이 소자 각각과 연결할 수 있다. 제 2 회로망은 복수의 가변 딜레이 소자 각각을 복수의 데이터 그룹 중 하나와 연결할 수 있다. 복수의 가변 딜레이 소자 각각은 플라이 바이(Fly-By) DIMM(Dual In-Line Memory Module) 구조를 대체하도록 결정된 스큐 딜레이(Skew Delay)를 재현하도록 구성될 수 있다.
Description
본 발명은 메모리 장치에 관한 것으로, 좀 더 구체적으로 딜레이 가변 소자를 포함하는 메모리 모듈 및 그것의 딜레이 설정 방법에 관한 것이다.
기존의 DIMM(Dual In-Line Memory Module)들은 신호 기판 상에서 실행되는 복수의 DRAM(Dynamic Random Access Memory) 소자를 포함한다. 개별적인 DRAM 소자들은 메모리 컨트롤러로 향하는 신호 라인들에 연결된다. 이를 통해, 개별적인 DRAM 소자들은 메모리 컨트롤러로부터 데이터를 수신하거나 메모리 컨트롤러에 데이터를 전송한다.
또한, DIMM은 호스트 프로세서로부터 클록 신호를 수신한다. 이어, 클록 신호는 DIMM 내부를 통해 DRAM 소자 각각에 전달된다. 클록 신호의 라이징(Rising) 또는 폴링(Falling) 엣지(Edge)와 같은 사전에 결정된 스케쥴에 따라 발생하는 동작들처럼, 데이터를 전송할 때 혹은 데이터를 수신할 것으로 예상될 때, 클록 신호들은 DRAM 소자들을 유도(Guide)하도록 돕는다.
하지만, DIMM들의 크기가 크지 않고 신호들이 빛에 가까운 속도로 전송된다고 하더라도, 여전히 신호들이 DIMM을 따라 전송되는데 측정 가능한 시간이 걸린다. 빛이 한 발자국의 거리를 이동하는데 대략 1 nsec가 걸린다는 것을 상기하자. 초당 수십억의 동작을 수행하는 컴퓨터들에 있어서, 순간의 시간이라도 DIMM이 동작하는 방법에서 차이를 만들 수 있다. 다른 DRAM 소자들은 그들의 신호들을 각각 다른 시점에서 수신할 수 있다. 즉, DRAM 소자들은 도달 시간이 다른 신호들을 수신할 수 있다. JEDEC에 의해 정의된 커맨드/어드레스/클록 버스 상의 Fly-By DIMM 토폴로지(Topology)는 어플리케이션에 의해 정의된 보드 채널의 스큐(Skew)와 결합하여 커맨드 어드레스가 다른 시간에 도착하는 현상을 야기한다. 이러한 현상은 현재의 메모리 컨트롤러들에 의해 처리되어야 한다. 또한, 다른 DIMM 디자인들은 다른 보드 채널의 스큐를 가질 수 있다.
메모리 컨트롤러들은 토폴로지에 기반한 시차를 갖는 도착 시간들 및 적정 수준의 보드 채널의 스큐 범위를 처리하도록 디자인된다. 메모리 컨트롤러들은 특정 DIMM 및 DIMM까지의 배선(Interconnect)에 대한 정확한 보드 채널의 스큐를 알기 위해 트레이닝(Traning)을 수행할 수 있다. 다른 메모리 컨트롤러들은 그들이 용인할 수 있는 보드 채널의 스큐 범위에 대한 다른 한계 값을 갖는다. 하지만, 모든 메모리 컨트롤러들은 DIMM들이 일정한 보드 채널 스큐를 가질 것으로 예상한다.
기존의 DIMM들과는 대조적으로, DIMM SSD(Solid State Drives)는 복수의 DRAM 소자들을 갖지 않는다. DIMM SSD는 모든 데이터를 저장하는 하나의 칩 만을 갖는다. 결과적으로, DIMM SSD는 커맨드/어드레스/클록 스큐를 갖지 않는다. 즉, 모든 데이터는 동시에 읽히거나 쓰일 수 있다. 하지만, 메모리 컨트롤러들은 DIMM이 일정한 바이트/니블(Nibble) 스큐를 가질 것으로 예상하기 때문에, 바이트/니블 배선에 대한 신호들의 전송 시간이 좀 더 정렬되는 경우, 이에 따른 노이즈가 유발될 수 있다. 또한, 이러한 노이즈는 시스템의 동작에 영향을 줄 수 있다.
따라서, DIMM SSD들을 보드 채널의 스큐를 예측하는 메모리 컨트롤러들과 함께 사용하기 위한 방법이 요구된다.
본 발명의 목적은 SSD를 포함하는 DIMM을 지원하기 위해 기존 DIMM의 딜레이를 모델링하여 재현하는 딜레이 가변 소자를 포함하는 메모리 모듈 및 그것의 딜레이 설정 방법을 제공하는데에 있다.
본 발명의 실시 예에 따른 메모리 모듈은 컨트롤러 칩, 제 1 및 제 2 인터페이스, 복수의 데이터 그룹, 복수의 가변 딜레이 소자, 제 1 및 제 2 회로망을 포함할 수 있다. 제 1 인터페이스는 컨트롤러 칩과 호스트 프로세서 간의 신호들을 전송할 수 있다. 제 2 인터페이스는 복수의 데이터 그룹과 호스트 프로세서 간의 정보를 전송할 수 있다. 제 1 회로망은 컨트롤러 칩을 복수의 가변 딜레이 소자 각각과 연결할 수 있다. 제 2 회로망은 복수의 가변 딜레이 소자 각각을 복수의 데이터 그룹 중 하나와 연결할 수 있다. 복수의 가변 딜레이 소자 각각은 플라이 바이(Fly-By) DIMM(Dual In-Line Memory Module) 구조를 대체하도록 결정된 스큐 딜레이(Skew Delay)를 재현하도록 구성될 수 있다.
본 발명의 실시 예에 따른 복수의 딜레이를 갖는 메모리 모듈의 딜레이 설정 방법은 DIMM을 조사하는 단계, 한 그룹의 배선들과 연관된 DIMM 내의 복수의 딜레이를 결정하는 단계, SSD(Solid State Drive)를 이용하는 DIMM을 구현하기 위해 복수의 딜레이를 갖는 DIMM을 구성하는 단계를 포함할 수 있다.
본 발명에 따르면, 메모리 컨트롤러를 사용하는 시스템 상에서 SSD를 포함하는 DIMM은 기존의 DIMM과 같이 동작할 수 있다. 따라서, SSD를 포함하는 DIMM이 기존의 DIMM 채널을 이용할 수 있다. 결과적으로, 메모리의 통신 속도가 향상될 수 있다.
본 발명의 실시 예들은 제한적인 방법으로서가 아니라 예로서 도시되었으며, 첨부 도면에서 유사한 참조 번호는 유사한 요소를 참조한다.
도 1a 및 1b는 기존의 DIMM을 보여주는 그림이다.
도 2a는 보드 채널 스큐가 없는 클록 신호 및 메모리 칩 신호를 보여주는 그림이다.
도 2b는 보드 채널의 스큐가 있는 클록 신호 및 메모리 칩 신호를 보여주는 그림이다.
도 3은 본 발명의 실시 예에 따른 DIMM의 사용을 지원할 수 있는 시스템을 보여주는 그림이다.
도 4는 도 3의 DIMM을 자세히 보여주는 그림이다.
도 5는 도 4의 가변 딜레이 소자를 자세히 보여주는 그림이다.
도 6a 및 도 6b는 본 발명의 실시 예에 따른 도 3의 DIMM 내의 도 4의 가변 딜레이 소자를 프로그래밍 하는 방법을 보여주는 순서도이다.
도 7은 도 2a 내지 도 6b에 따른 DIMM들을 사용할 수 있는 장치를 보여주는 그림이다.
도 1a 및 1b는 기존의 DIMM을 보여주는 그림이다.
도 2a는 보드 채널 스큐가 없는 클록 신호 및 메모리 칩 신호를 보여주는 그림이다.
도 2b는 보드 채널의 스큐가 있는 클록 신호 및 메모리 칩 신호를 보여주는 그림이다.
도 3은 본 발명의 실시 예에 따른 DIMM의 사용을 지원할 수 있는 시스템을 보여주는 그림이다.
도 4는 도 3의 DIMM을 자세히 보여주는 그림이다.
도 5는 도 4의 가변 딜레이 소자를 자세히 보여주는 그림이다.
도 6a 및 도 6b는 본 발명의 실시 예에 따른 도 3의 DIMM 내의 도 4의 가변 딜레이 소자를 프로그래밍 하는 방법을 보여주는 순서도이다.
도 7은 도 2a 내지 도 6b에 따른 DIMM들을 사용할 수 있는 장치를 보여주는 그림이다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, DIMM이 본 발명의 특징 및 기능을 설명하기 위한 예로서 사용될 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다.
도 1a 및 1b는 기존의 DIMM을 보여주는 그림이다. 도 1a에서는, UDIMM(Unregistered Dual In-Line Memory Module)이 도시되었다. UDIMM(105)은 UDIMM(Unbuffered Dual In-Line Memory Module)으로 표현되기도 한다. 이는 UDIMM(105)은 복수의 DRAM 모듈과 호스트 메모리 컨트롤러 사이에 레지스터를 포함하고 있지 않기 때문이다. UDIMM(105)은 복수의 DRAM 모듈(110, 115, 120)과 같이 복수의 DRAM 모듈을 포함할 수 있다.
클록 신호와 같은 신호를 위한 하나 또는 하나 이상의 배선들(125)은 호스트 메모리 컨트롤러와 복수의 DRAM 모듈(110, 115, 120)을 연결할 수 있다. 도 1a를 참조하면, 배선들(125)은 호스트 메모리 컨트롤러로부터 DRAM 모듈(110)로, DRAM 모듈(110)에서 DRAM 모듈(115)로, DRAM 모듈(115)에서 DRAM 모듈(120)로 연결된다. 당업자는 도 1a이 단지 UDIMM(105)의 일 예를 도시하였음을 알 수 있을 것이다. 예를 들어, UDIMM(105)은 다른 어떠한 형태의 UDIMM도 포함할 수 있다.
도 1a와 비교하면, 도 1b에서, RDIMM(130)(Registered DIMM)이 도시되었다. RDIMM(130)은 도 1a의 UDIMM(105)과 같이 복수의 DRAM 모듈(110, 115, 120)을 포함할 수 있다. 하지만, RDIMM(130)은 레지스터(135)를 포함할 수 있다. 레지스터(135)는 호스트 메모리 컨트롤러와 복수의 DRAM 모듈(110, 115, 120) 사이의 버퍼(Buffer)와 같이 동작할 수 있다.
도 1a에서, 배선들(125)은 호스트 컨트롤러를 복수의 DRAM 모듈(110, 115, 120)과 순차적으로 연결한다. 이와는 대조적으로, 도 1b에서, 배선들(140)은 레지스터(135)를 일부의 복수의 DRAM 모듈(110, 115, 120)과 연결하고, 배선들(145)은 레지스터(135)를 다른 일부의 복수의 DRAM 모듈과 연결한다. 당업자는 도 1a이 단지 RDIMM(130)의 일 예를 도시하였음을 알 수 있을 것이다. 예를 들어, RDIMM(130)은 다른 어떠한 형태의 RDIMM도 포함할 수 있다.
상술한 UDIMM(105) 및 RDIMM(130)의 공통적인 구성은 복수의 DRAM 모듈(110, 115, 120)의 존재 및 복수의 DRAM 모듈(110, 115, 120)로 다른 길이의 배선들(125, 140, 145)을 따라 전송되는 신호들이다. 신호들이 다른 길이의 배선들을 통해 전송되기 때문에, 신호들은 복수의 DRAM 모듈(110, 115, 120)에 각각 다른 시점에 도달한다. 이러한 현상은 복수의 DIMM(105, 130) 간의 바이트/니블 스큐를 야기한다.
도 2a는 보드 채널 스큐가 없는 클록 신호 및 메모리 칩 신호를 보여주는 그림이다. 도 2a에서, 클록 신호(205) 및 메모리 칩 신호(210)가 도시되었다. 메모리 칩 신호(210)는 가로 축의 시간에 따라 메모리 칩에 클록 신호(205)가 도착하는 것을 표현하기 위해 도시되었다. 이상적인 경우, 메모리 칩 신호(210)는 정확히 클록 신호(205)와 동기된다.
다만, 현실은 이상적이지 않다. 도 1a 및 도 1b에서 상술한 바와 같이, 신호들은 도 1a의 UDIMM(105) 내의 배선들(125) 및 도 1b의 RDIMM(130) 내의 배선들(140, 145)을 따라 다른 길이의 배선을 통과하여 전송된다. 결과적으로, 신호들은 복수의 DRAM 모듈(110, 115, 120)에 다른 시점에 도달한다.
도 2b는 보드 채널의 스큐가 있는 클록 신호 및 메모리 칩 신호를 보여주는 그림이다. 도 2b를 참조하면, 복수의 메모리 칩 신호(215, 220, 225, 230)는 클록 신호(205)에 대하여 스큐를 갖고 있다. 또한, 복수의 메모리 칩 신호(215, 220, 225, 230) 사이에도 스큐가 존재한다.
신호들이 복수의 메모리 칩에 클록 신호(205)와 동기되어 도착하지 않기 때문에, 호스트 메모리 컨트롤러는 자체적으로 정확한 복수의 메모리 칩 신호(215, 220, 225, 230)의 스큐 값을 결정하기 위해 트레이닝을 수행해야 한다. 메모리 칩 각각에 대한 스큐를 알기 위해 호스트 컨트롤러 자체적으로 트레이닝하는 과정은 잘 이해된 과정이다.
도 3은 본 발명의 실시 예에 따른 DIMM의 사용을 지원할 수 있는 시스템을 보여주는 그림이다. 도 3에서, 컴퓨터 시스템(305)이 도시되었다. 컴퓨터 시스템(305)은 컴퓨터(310), 모니터(315), 키보드(320), 그리고 마우스(325)를 포함할 수 있다. 당업자는 컴퓨터 시스템(305)에 다른 구성 요소들이 포함될 수 있음을 쉽게 이해할 수 있을 것이다. 예를 들어, 컴퓨터 시스템(305)은 프린터와 같은 I/O 장치 등을 더 포함할 수 있다. 더불어, 컴퓨터 시스템(305)은 도 1에 도시된 기존의 내부 구성 요소들을 포함할 수 있다. 예를 들어, 기존의 내부 구성 요소들은 호스트 메모리 컨트롤러(335)가 집적된 호스트 프로세서(330), 그리고 스토리지(340) 등을 포함할 수 있다.
도 3에 도시되지 않았지만, 당업자는 컴퓨터 시스템(305)이 그래픽 카드, 모뎀 등의 다른 내부 구성 요소들을 포함할 수 있다는 것을 쉽게 이해할 수 있을 것이다. 또한, 당업자는 컴퓨터 시스템(305)이 다른 컴퓨터 시스템과 직접적으로 혹은 다른 타입의 네트워크(미도시)를 통해 상호 작용할 수 있음을 쉽게 이해할 수 있을 것이다. 더불어, 비록 도 3은 컴퓨터 시스템(305)이 기존의 데스크 탑(Desktop) 컴퓨터로서 도시되었지만, 당업자는 컴퓨터 시스템(305)이 어떠한 형태의 머신 또는 컴퓨팅 장치가 될 수 있음을 쉽게 이해할 수 있을 것이다. 예를 들어, 상술한 머신 또는 컴퓨팅 장치는 랩 탑(Laptop) 컴퓨터, 태블릿 컴퓨터, PDA(Personal Digital Assistant), 또는 스마트 폰 등을 포함할 수 있다.
또한, 컴퓨터 시스템(305)은 DIMM(345)을 포함할 수 있다. 정보를 저장하기 위한 복수의 칩들을 포함하는 DRAM과 같은 기존의 DIMM 모듈과 달리, DIMM(345)은 모든 정보를 저장하기 위한 단일 칩을 포함할 수 있다. 모든 정보가 단일 칩에 저장되기 때문에, 기존 DIMM 모듈에 영향을 미치는 보드 채널 스큐를 방지할 수 있다. 하지만, 상술한 바와 같이, 호스트 메모리 컨트롤러(335)는 메모리가 보드 채널 스큐를 가질 것이라고 예상하기 때문에, DIMM(345) 내의 보드 채널 스큐가 존재하지 않는 경우, DIMM(345)은 호스트 메모리 컨트롤러(335)와 제대로 연동될 수 없다.
도 4는 도 3의 DIMM을 자세히 보여주는 그림이다. 도 4를 참조하면, DIMM(345)은 클록/커맨드/어드레스 수신 모듈(402), 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420), 그리고 복수의 가변 딜레이 소자(422, 424, 426, 428, 430, 432, 434, 436, 438)를 포함할 수 있다. DIMM(345)은 도 3의 호스트 프로세서(330) 및 호스트 메모리 컨트롤러(335)가 클록/커맨드/어드레스 수신 모듈(402)과 통신하기 위한 인터페이스(440)를 포함할 수 있다. DIMM(345)은 도 3의 호스트 프로세서(330) 및 호스트 메모리 컨트롤러(335)와 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420) 간의 데이터 교환을 위한 복수의 인터페이스(442, 444, 446, 448, 450, 452, 454, 456, 458, 452, 454, 456, 458)를 포함할 수 있다. 예를 들어, 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420)은 데이터 읽기 및 쓰기 정보를 포함할 수 있다.
또한, DIMM(345)은 복수의 회로 망(460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494)을 포함할 수 있다. 복수의 회로 망(460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486, 488, 490, 492, 494)은 클록/커맨드/어드레스 수신 모듈(402), 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420), 그리고 복수의 가변 딜레이 소자(422, 424, 426, 428, 430, 432, 434, 436, 438)를 연결한다.
복수의 가변 딜레이 소자(422, 424, 426, 428, 430, 432, 434, 436, 438)는 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420)이 도 1a 및 도 1b의 복수의 DRAM 모듈(110, 115, 120)과 같이 동작하도록 한다. 즉, 복수의 가변 딜레이 소자(422, 424, 426, 428, 430, 432, 434, 436, 438)는 클록, 전송 데이터 신호, 및 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420)에 대한 다른 신호들의 전송을 지연시킨다. 이에, DRAM 모듈을 포함하는 기존의 DIMM과 같이, 신호들은 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420)에 의해 시차를 두고 수신된다. 이를 통해, DIMM(345)은 표준 Fly-By 토폴로지를 대신할 수 있다. 이러한 방법은 신호 무결점(Signal Integrity) 문제를 줄이기 위한 향상된 신호의 전송을 제공하고, 해당 방법이 수행되는 버스의 최대 주파수 대역폭을 증가시킬 수 있다.
도 4는 바이트 단위의 데이터를 의미하는 데이터 그룹(예를 들어, 복수의 데이터 그룹(404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420))을 도시하고 있지만, 이는 본 발명의 일 실시 예일 뿐이다. 본 발명의 다른 실시 예들은 복수의 니블(Nibble), 복수의 워드(Word), 더블 워드(Double Words), 혹은 다른 어떠한 사이즈의 데이터 그룹도 저장할 수 있다.
도 5는 도 4의 가변 딜레이 소자를 자세히 보여주는 그림이다. 도 5에서, 가변 딜레이 소자(422)가 도시되었다. 복수의 가변 딜레이 소자(424, 426, 428, 430)는 유사하게 디자인 되어 유사한 기능을 수행할 수 있다. 가변 딜레이 소자(422)는 메모리 소자(505), 딜레이 측정 유닛(510), 그리고 송신기(515)를 포함할 수 있다. 메모리 소자(505)는 딜레이 시간(520)을 저장할 수 있다. 딜레이 시간(520)은 가변 딜레이 소자(422)에 대한 원하는 지연 시간을 의미한다. 딜레이 측정 유닛(510)은 가변 딜레이 소자(422)가 적합한 신호(예를 들어, 클록 신호 또는 전송 데이터 신호)를 수신한 이후 지나간 시간을 측정한다. 딜레이 측정 유닛(510)이 메모리 소자(505)에 저장된 딜레이 시간(520)과 비교하여 적합한 딜레이 시간을 측정한 경우, 송신기(515)는 회로망을 따라 특정 데이터 그룹(예를 들어, 도 4의 데이터 그룹(404))으로 적합한 신호를 전송할 수 있다.
비록 딜레이 측정 유닛(510)이 지나간 '시간'을 측정하는 것으로 설명되었지만, 본 발명은 초 단위 또는 초 단위의 일부(예를 들어, 1ns)의 시간을 측정하는 데에 한정되지 않는다. 본 발명의 실시 예들은 시간을 측정하는 어떠한 방식도 포함할 수 있다. 예를 들어, 복수의 DRAM 모듈을 사용하는 기존의 DIMM 내의 신호들이 도달 시간이 다른 전송 형태를 재현하기 위해, 딜레이 측정 유닛(510)은 클록 사이클의 횟수, 또는 클록 사이클의 일부를 측정할 수 있다. 다른 시스템들은 각각 다른 속도로 동작할 수 있기 때문에, 클록 사이클의 길이는 해당 시스템에 의존한다. 하지만, 이러한 경우에도 클록 사이클은 시간을 측정하기 위한 하나의 방법일 수 있다.
6a 및 도 6b는 본 발명의 실시 예에 따른 도 3의 DIMM 내의 도 4의 가변 딜레이 소자를 프로그래밍 하는 방법을 보여주는 순서도이다.
도 6a를 참조하면, 605 단계에서, 도 1a 및 도 1b의 복수의 DIMM(105, 130) 같은 기존의 DIMM에 대한 조사가 수행된다. 이는 1a 및 도 1b의 복수의 DIMM(105, 130)의 배선들에 대한 보드 채널 스큐를 측정하기 위함이다.
610 단계에서, 1a 및 도 1b의 복수의 DIMM(105, 130)의 배선들에 대한 보드 채널 스큐가 결정될 수 있다. 615 단계에서, DIMM(345)은 1a 및 도 1b의 복수의 DIMM(105, 130)에 대한 DIMM 스큐를 구현하도록 프로그램될 수 있다.
도 6b에서, DIMM(345)을 프로그램하는 방법이 도시되었다. 620 단계에서, 복수의 가변 딜레이 소자(422, 424, 426, 428, 430, 432, 434, 436, 438) 중에 프로그램이 요구되는 가변 딜레이 소자가 있는지 여부가 결정될 수 있다. 프로그램이 요구되는 가변 딜레이 소자가 없는 경우(No 방향), 절차는 종료된다. 프로그램이 요구되는 가변 딜레이 소자가 있는 경우(Yes 방향), 절차는 625 단계로 진행된다.
625 단계에서, 복수의 가변 딜레이 소자(422, 424, 426, 428, 430, 432, 434, 436, 438) 중 하나가 선택될 수 있다. 630 단계에서, 선택된 가변 딜레이 소자가 프로그램될 수 있다. 620 내지 630 단계를 통해, 복수의 가변 딜레이 소자(422, 424, 426, 428, 430, 432, 434, 436, 438) 각각은 프로그램될 수 있다.
도 6a 및 도 6b를 참조하면, '프로그래밍'은 특정 가변 딜레이 소자들을 설정하는 것을 의미할 수 있다. 여기서, 특정 가변 딜레이 소자들은 특정 딜레이를 제공하도록 디자인된다. 혹은, '프로그래밍'은, 예를 들어 PROM(Programmable Read-Only Memory)을 일부 변경하도록 코딩하여 일반적인 가변 딜레이 소자들이 사용할 딜레이의 레벨을 명령할 수 있다. 여기서, '프로그래밍'은 프로세서 상에서 실행될 수 있는 소프트웨어 코드로서만 해석되어서는 안 된다.
도 6a 및 도 6b를 참조하면, 하나의 실시 예가 도시되었다. 하지만, 당업자는 상술한 단계의 순서를 변경하거나, 일부 단계를 생략하거나, 도면에서 도시되지 않은 연결을 포함하여 다른 실시 예들이 구현될 수 있음은 쉽게 이해할 수 있을 것이다. 명시적으로 설명되었는지 여부와 관계 없이, 이러한 순서도의 변형들은 본 발명의 실시 예로서 간주될 수 있다.
이하에서 본 발명의 특정 양상들이 적용될 수 있는 적합한 시스템 또는 시스템들에 대한 간략하고 일반적인 설명이 제공될 것이다.
도 7은 도 2a 내지 도 6b에 따른 DIMM들을 사용할 수 있는 장치를 보여주는 그림이다. 도 7을 참조하면, 일반적으로 시스템(305)은 메모리 컨트롤러(335) 및 클록(705)을 포함하는 하나 또는 하나 이상의 호스트 프로세서(330)를 포함할 수 있다. 메모리 컨트롤러(335) 및 클록(705)은 시스템(305)의 구성 요소들의 동작을 조정하기 위해 사용될 수 있다. 또한, 호스트 프로세서(330)는 메모리(730)(예를 들어, RAM(Random Access Memory), ROM(Read-Only Memory), DIMM, 또는 다른 상태 저장 매체)와 연결될 수 있다. 호스트 프로세서(330)는 예를 들어 이더넷(Ethernet) 커넥터와 같은 네트워크 커넥터(710) 및 스토리지(340)와 연결될 수 있다. 또한, 호스트 프로세서(330)는 유저 인터페이스(720) 및 그리고 I/O(Input/Output) 엔진(725)을 이용하여 제어될 수 있는 I/O 인터페이스 포트들이 부착된 버스(715)와 연결될 수 있다.
시스템(305)은 적어도 부분적으로 기존의 입력 장치들로부터의 입력에 의해 제어될 수 있다. 예를 들어, 기존의 입력 장치들은 키보드들, 마우스들을 포함할 수 있다. 혹은, 이러한 제어는 다른 머신으로부터 수신된 지침들, VR(Virtual Reality) 환경과의 상호 작용, 생체 인식 피드백, 가상 머신들, 또는 다른 입력 신호들에 의해 수행될 수 있다.
여기서 사용된 ‘시스템’ 이라는 용어는 광범위하게 단일 머신 혹은 시스템, 가상 머신, 또는 통신 결합 머신들의 시스템, 가상 머신들, 또는 함께 동작하는 장치들을 포함할 수 있다. 예시적인 시스템들은 퍼스널(Personal) 컴퓨터들, 워크스테이션들, 서버들, 포터블(Portable) 컴퓨터들, 포켓용(Handheld) 장치들, 휴대전화들, 태블릿들 등을 포함할 수 있다. 혹은 예시적인 시스템들은 자동차들, 기차들, 택시들과 같은 개인용 또는 대중 교통 등과 같은 교통 장치들을 포함할 수 있다.
시스템은 내장 컨트롤러들 등을 포함할 수 있다. 예를 들어, 내장 컨트롤러들은 프로그램이 가능하거나 혹은 불가능한 로직 장치들 또는 어레이(Array), ASIC(Application Specific Integrated Circuits), 내장 컴퓨터들, 스마트 카드들 등을 포함할 수 있다. 시스템은 하나 또는 하나 이상의 원격 머신과의 하나 또는 하나 이상의 연결을 사용할 수 있다. 예를 들어, 이러한 연결은 네트워크 인터페이스, 모뎀, 또는 다른 의사 전달 연결을 통해 이루어질 수 있다.
시스템은 인트라넷, 인터넷, LAN(Local Area Network), WAN(Wide Area Network) 등과 같은 물리적 및/또는 논리적 네트워크 방법에 의해 상호 연결될 수 있다. 당업자는 네트워크 통신이 다양한 유선 및/또는 무선 근거리 또는 장거리 캐리어 및 프로토콜을 이용할 수 있다는 것을 쉽게 이해할 수 있을 것이다. 예를 들어, 캐리어 및 프로토콜은 RF(Radio Frequency), 위성(Satellite), 마이크로 웨이브(Microwave), IEEE(Institute of Electrical and Electronics Engineers) 802.11, Bluetooth®, 광학, 적외선, 케이블, 레이저 등을 포함할 수 있다.
본 발명의 실시 예들은 기능들, 단계들, 데이터 구조들, 어플리케이션 프로그램들을 포함하는 관련 데이터를 참조하여 설명될 수 있다. 기능들, 단계들, 데이터 구조들, 어플리케이션 프로그램들은 시스템에 의해 엑세스되는 경우에 시스템이 테스크를 수행하거나 추상적인 데이터 타입들 또는 로우 레벨(Low-Level)의 하드웨어 컨텍스트(Context)들을 정의하도록 한다. 예를 들어, 상술한 관련 데이터는 RAM, ROM과 같은 휘발성 및/또는 불휘발성 메모리에 저장될 수 있다. 또는, 관련 데이터는 다른 스토리지 장치들 및 그들의 관련 스토리지 매체에 저장될 수 있다. 예를 들어, 관련 스토리지 매체는 하드 드라이브들, 플로피 디스크(Floppy-Disks), 광학 스토리지(Optical Storage), 테이프(Tapes), 플래시 메모리(Flash Memory), 메모리 스틱(Memory Sticks), 디지털 비디오 디스크(Digital Video Disks), 생체 스토리지(Biological Storage) 등을 포함할 수 있다.
관련 데이터는 패킷, 시리얼(Serial) 데이터, 패러렐(Parallel) 데이터, 전파 신호 등의 형태로 물리적 및/또는 논리적 네트워크를 포함하는 통신 환경을 통해 전송될 수 있다. 또한, 관련 데이터는 압축되거나 암호화된 형태로 이용될 수 있다. 관련 데이터는 분산 환경에서 이용될 수 있고, 시스템 엑세스에 대해 가까이 및/또는 멀리 저장될 수 있다.
본 발명의 실시 예들은 유형의 논 트랜지토리(Non-transitory)의 시스템 리더블(Readable) 매체를 포함할 수 있다. 시스템 리더블 매체는 하나 또는 하나 이상의 프로세서에 의해 수행되는 명령, 여기서 기술된 본 발명의 요소들을 수행하는 명령들로 구성된 명령들을 포함할 수 있다.
본 발명의 실시 예들은 제한 없이 다음의 예시들에 확장될 수 있다.
제 1 예에 따른 DIMM은 컨트롤러 칩; 컨트롤러 칩과 호스트 프로세서 간의 신호들을 전송하는 제 1 인터페이스; 복수의 데이터 그룹; 복수의 데이터 그룹과 호스트 프로세서 간의 정보를 전송하는 제 2 인터페이스; 복수의 가변 딜레이 소자; 컨트롤러 칩을 복수의 가변 딜레이 소자 각각과 연결하는 제 1 회로망; 그리고 복수의 가변 딜레이 소자 각각을 복수의 데이터 그룹 중 하나와 연결하는 제 2 회로망을 포함하되, 복수의 데이터 그룹 각각은 하나의 그룹에 대한 정보의 일부를 저장하고, 복수의 가변 딜레이 소자 각각은 플라이 바이(Fly-By) DIMM 구조(Topology)를 대체하도록 결정된 스큐 딜레이(Skew Delay)를 재현하도록 구성될 수 있다.
제 2 예에서, DIMM은 제 1 예에 따른 DIMM을 포함한다. 복수의 가변 딜레이 소자 각각은, 딜레이 시간을 저장하는 메모리 소자, 딜레이 시간을 측정하기 위한 딜레이 측정 유닛, 딜레이 측정 유닛이 딜레이 시간을 측정한 후에 신호를 전송하는 송신기를 포함한다.
제 3 예에서, DIMM은 제 2 예에 따른 DIMM을 포함한다. 메모리 소자는 클록 사이클로 측정된 딜레이 시간을 저장하도록 동작하고, 딜레이 측정 유닛은 클록 사이클의 횟수를 측정하도록 동작한다.
제 4 예에서, DIMM은 제 1 예에 따른 DIMM을 포함한다. 그룹은 바이트 단위의 정보를 포함하고, 복수의 데이터 그룹은 X8 DRAM 구성을 구현(Simulate)한다.
제 5 예에서, DIMM은 제 1 예에 따른 DIMM을 포함한다. 그룹은 니블 단위의 정보를 포함한다. 복수의 데이터 그룹은 X4 DRAM 구성을 구현(Simulate)한다.
제 6 예에서, DIMM은 제 1 예에 따른 DIMM을 포함한다. 복수의 가변 딜레이 소자는 선택된 스큐 딜레이를 고정적으로 재현하도록 구성된다.
제 7 예에서, DIMM은 제 1 예에 따른 DIMM을 포함한다. 복수의 가변 딜레이 소자는 선택된 스큐 딜레이를 동적으로 재현하도록 구성된다.
제 8 예에서, DIMM은 제 1 예에 따른 DIMM을 포함한다. 복수의 가변 딜레이 소자는 복수의 데이터 그룹에 대한 클록 신호를 지연시킨다.
제 9 예에서, DIMM은 제 8 예에 따른 DIMM을 포함한다. 복수의 데이터 그룹은 복수의 가변 딜레이 소자로부터 각각 도달 시간이 다른 클록 신호들을 수신할 수 있다.
제 10 예에서, DIMM은 제 1 예에 따른 DIMM을 포함한다. 복수의 가변 딜레이 소자는 복수의 데이터 그룹에 대한 전송 데이터 신호를 지연시킨다.
제 11 예에서, DIMM은 제 8 예에 따른 DIMM을 포함한다. 복수의 데이터 그룹은 복수의 가변 딜레이 소자로부터 각각 도달 시간이 다른 전송 데이터 신호들을 수신할 수 있다.
제 12 예에 따른 방법은 DIMM을 조사하는 단계; 한 그룹의 배선들과 연관된 DIMM 내의 복수의 딜레이를 결정하는 단계; SSD를 이용하는 DIMM을 구현하기 위해 복수의 딜레이를 갖는 DIMM을 구성하는 단계를 포함한다.
제 13 예에서, 방법은 제 12 예에 따른 방법을 포함한다. DIMM을 구성하는 단계는 상기 그룹 내의 복수의 데이터 그룹 상에 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계를 포함한다.
제 14 예에서, 방법은 제 13 예에 따른 방법을 포함한다. 상기 그룹 내의 복수의 데이터 그룹 상에 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계는 복수의 가변 딜레이 소자 중 하나의 가변 딜레이 소자 내에 복수의 딜레이 각각에 대한 딜레이 시간을 프로그래밍 하는 단계를 포함한다. 복수의 가변 딜레이 소자 각각은 복수의 데이터 그룹 중 하나와 연결된다.
제 15 예에서, 방법은 제 13 예에 따른 방법을 포함한다. 상기 그룹 내의 복수의 데이터 그룹 상에 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계는 복수의 클록 신호 상에 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계를 포함한다. 복수의 클록 신호 각각은 복수의 데이터 그룹 중 하나에 제공된다.
제 16 예에서, 방법은 제 15 예에 따른 방법을 포함한다. 복수의 클록 신호 상의 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계는 복수의 데이터 그룹에 대해 복수의 클록 신호 각각의 도달 시간이 다르도록 DIMM을 구성하는 단계를 포함한다.
제 17 예에서, 방법은 제 13 예에 따른 방법을 포함한다. 상기 그룹 내의 복수의 데이터 그룹 상에 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계는 복수의 전송 데이터 신호 상에 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계를 포함한다. 복수의 전송 데이터 신호 각각은 복수의 데이터 그룹 중 하나에 제공된다.
제 18 예에서, 방법은 제 17 예에 따른 방법을 포함한다. 상기 그룹 내의 복수의 데이터 그룹 상에 복수의 딜레이를 재현하도록 DIMM을 구성하는 단계는 복수의 데이터 그룹에 대해 복수의 전송 데이터 신호 각각의 도달 시간이 다르도록 DIMM을 구성하는 단계를 포함한다.
본 발명은 여러 실시 예의 관점에서 설명되었으나, 이 기술분야의 숙련된 기술자는 본 발명이 설명된 실시 예에 제한되지 않으며, 첨부된 청구항의 진의 및 범위 내에서의 변형 및 변경과 함께 실행될 수 있다는 것을 인식할 것이다. 그러므로, 설명은 제한적이지 않고 예시적인 것으로 간주되어야 한다.
105 : UDIMM 110, 115, 120 : 복수의 DRAM 모듈
125, 140, 145 : 배선들 130 : RDIMM
135 : 레지스터 305 : 컴퓨터 시스템
310 : 컴퓨터 315 : 모니터
320 : 키보드 325 : 마우스
330 : 호스트 프로세서 335 : 호스트 메모리 컨트롤러
340 : 스토리지 345 : DIMM
402 : 클록/커맨드/어드레스 수신 모듈
404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420 :
복수의 데이터 그룹
422, 424, 426, 428, 430, 432, 434, 436, 438 : 복수의 가변 딜레이 소자
442, 444, 446, 448, 450, 452, 454, 456, 458, 452, 454, 456, 458 :
복수의 인터페이스
460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486,
488, 490, 492, 494 : 복수의 회로망
505 : 메모리 소자 510 : 딜레이 측정 유닛
515 : 송신기 705 : 메모리
710 : 네트워크 커넥터 715 : 버스
720 : 유저 인터페이스 725 : I/O 엔진
125, 140, 145 : 배선들 130 : RDIMM
135 : 레지스터 305 : 컴퓨터 시스템
310 : 컴퓨터 315 : 모니터
320 : 키보드 325 : 마우스
330 : 호스트 프로세서 335 : 호스트 메모리 컨트롤러
340 : 스토리지 345 : DIMM
402 : 클록/커맨드/어드레스 수신 모듈
404, 406, 408, 410, 412, 414, 416, 418, 420, 414, 416, 418, 420 :
복수의 데이터 그룹
422, 424, 426, 428, 430, 432, 434, 436, 438 : 복수의 가변 딜레이 소자
442, 444, 446, 448, 450, 452, 454, 456, 458, 452, 454, 456, 458 :
복수의 인터페이스
460, 462, 464, 466, 468, 470, 472, 474, 476, 478, 480, 482, 484, 486,
488, 490, 492, 494 : 복수의 회로망
505 : 메모리 소자 510 : 딜레이 측정 유닛
515 : 송신기 705 : 메모리
710 : 네트워크 커넥터 715 : 버스
720 : 유저 인터페이스 725 : I/O 엔진
Claims (16)
- 컨트롤러 칩;
상기 컨트롤러 칩과 호스트 프로세서 간의 신호들을 전송하는 제 1 인터페이스;
복수의 데이터 그룹;
상기 복수의 데이터 그룹과 상기 호스트 프로세서 간의 정보를 전송하는 제 2 인터페이스;
복수의 가변 딜레이 소자;
상기 컨트롤러 칩을 상기 복수의 가변 딜레이 소자 각각과 연결하는 제 1 회로망; 그리고
상기 복수의 가변 딜레이 소자 각각을 상기 복수의 데이터 그룹 중 하나와 연결하는 제 2 회로망을 포함하되,
상기 복수의 데이터 그룹 각각은 하나의 그룹에 대한 정보의 일부를 저장하고,
상기 복수의 가변 딜레이 소자 각각은 플라이 바이(Fly-By) DIMM(Dual In-Line Memory Module) 토폴로지를 나타내는 선택된 스큐 딜레이(skew delay)를 재현하도록 구성되고,
상기 선택된 스큐 딜레이는 DIMM 조사에 의해 결정되고,
상기 복수의 가변 딜레이 소자는 상기 선택된 스큐 딜레이를 고정적으로 또는 동적으로 재현하도록 더 구성되고,
메모리 모듈은, 상기 복수의 가변 딜레이 소자가 상기 선택된 스큐 딜레이를 고정적으로 또는 동적으로 재현한 후, 프로그램이 요구되는 가변 딜레이 소자가 있는지 여부를 결정하고, 상기 프로그램이 요구되는 가변 딜레이 소자가 있다고 결정한 것에 응답하여 상기 프로그램이 요구되는 가변 딜레이 소자를 프로그램하는 메모리 모듈. - 제 1 항에 있어,
상기 복수의 데이터 그룹 각각은 바이트 단위의 정보를 포함하고, 상기 복수의 데이터 그룹은 X8 DRAM 구성을 구현(Simulate)하는 메모리 모듈. - 제 1 항에 있어,
상기 복수의 데이터 그룹 각각은 니블 단위의 정보를 포함하고, 상기 복수의 데이터 그룹은 X4 DRAM 구성을 구현하는 메모리 모듈. - 삭제
- 삭제
- 제 1 항에 있어,
상기 복수의 가변 딜레이 소자는 상기 복수의 데이터 그룹에 대한 클록 신호를 지연시키는 메모리 모듈. - 제 6 항에 있어,
상기 복수의 데이터 그룹은 상기 복수의 가변 딜레이 소자로부터 각각 도달 시간이 다른 클록 신호들을 수신하는 메모리 모듈. - 제 1 항에 있어,
상기 복수의 가변 딜레이 소자는 상기 복수의 데이터 그룹에 대한 전송 데이터 신호를 지연시키는 메모리 모듈. - 제 6 항에 있어,
상기 복수의 데이터 그룹은 상기 복수의 가변 딜레이 소자로부터 각각 도달 시간이 다른 전송 데이터 신호들을 수신하는 메모리 모듈. - 복수의 딜레이를 갖는 메모리 모듈의 딜레이 설정 방법에 있어,
DIMM(Dual In-Line Memory Module)을 조사하는 단계;
한 그룹의 배선들과 연관된 상기 DIMM 내의 복수의 딜레이를 결정하는 단계; 그리고
SSD(Solid State Drive)를 이용하는 DIMM을 구현하기 위해 상기 복수의 딜레이를 갖는 상기 DIMM을 구성하는 단계를 포함하되,
상기 DIMM을 구성하는 단계는 상기 그룹 내의 복수의 데이터 그룹 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계를 포함하고, 그리고
상기 복수의 딜레이는 상기 DIMM의 조사에 의해 결정되고, 고정적으로 또는 동적으로 재현되고,
상기 딜레이 설정 방법은:
상기 복수의 딜레이를 고정적으로 또는 동적으로 재현한 후, 프로그램이 요구되는 가변 딜레이 소자가 있는지 여부를 결정하는 단계; 및
상기 프로그램이 요구되는 가변 딜레이 소자가 있다고 결정한 것에 응답하여, 상기 프로그램이 요구되는 가변 딜레이 소자를 프로그램하는 단계를 더 포함하는 딜레이 설정 방법. - 삭제
- 제 10 항에 있어,
상기 그룹 내의 복수의 데이터 그룹 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계는 복수의 가변 딜레이 소자 중 하나의 가변 딜레이 소자 내에 상기 복수의 딜레이 각각에 대한 딜레이 시간을 프로그래밍 하는 단계를 포함하되,
상기 복수의 가변 딜레이 소자 각각은 상기 복수의 데이터 그룹 중 하나와 연결되는 딜레이 설정 방법. - 제 10 항에 있어,
상기 그룹 내의 복수의 데이터 그룹 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계는 복수의 클록 신호 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계를 포함하되,
상기 복수의 클록 신호 각각은 상기 복수의 데이터 그룹 중 하나에 제공되는 딜레이 설정 방법. - 제 13 항에 있어,
상기 복수의 클록 신호 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계는 상기 복수의 데이터 그룹에 대해 상기 복수의 클록 신호 각각의 도달 시간이 다르도록 상기 DIMM을 구성하는 단계를 포함하는 딜레이 설정 방법. - 제 10 항에 있어,
상기 그룹 내의 복수의 데이터 그룹 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계는 상기 복수의 전송 데이터 신호 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계를 포함하되,
상기 복수의 전송 데이터 신호 각각은 상기 복수의 데이터 그룹 중 하나에 제공되는 딜레이 설정 방법. - 제 15 항에 있어,
상기 그룹 내의 복수의 데이터 그룹 상에 상기 복수의 딜레이를 재현하도록 상기 DIMM을 구성하는 단계는 상기 복수의 데이터 그룹에 대해 상기 복수의 전송 데이터 신호 각각의 도달 시간이 다르도록 상기 DIMM을 구성하는 단계를 포함하는 딜레이 설정 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562238659P | 2015-10-07 | 2015-10-07 | |
US62/238,659 | 2015-10-07 | ||
US14/973,720 US9666263B2 (en) | 2015-10-07 | 2015-12-17 | DIMM SSD SoC DRAM byte lane skewing |
US14/973,720 | 2015-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170041615A KR20170041615A (ko) | 2017-04-17 |
KR102457095B1 true KR102457095B1 (ko) | 2022-10-20 |
Family
ID=58499806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160044909A KR102457095B1 (ko) | 2015-10-07 | 2016-04-12 | 딜레이 가변 소자를 포함하는 메모리 모듈 및 그것의 딜레이 설정 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9666263B2 (ko) |
JP (1) | JP6775353B2 (ko) |
KR (1) | KR102457095B1 (ko) |
CN (1) | CN106569967B (ko) |
TW (1) | TW201714174A (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10845866B2 (en) * | 2017-06-22 | 2020-11-24 | Micron Technology, Inc. | Non-volatile memory system or sub-system |
BR112021006044A2 (pt) | 2018-12-21 | 2021-06-29 | Illumina, Inc. | depleção de rna baseada em nuclease |
US11531496B2 (en) | 2020-07-22 | 2022-12-20 | Samsung Electronics Co., Ltd. | Memory modules and memory systems having the same |
KR20230045861A (ko) * | 2021-09-29 | 2023-04-05 | 삼성전자주식회사 | 메모리 모듈의 반도체 메모리 장치의 동작을 설계 레벨에서 검증하는 시뮬레이션 방법 및 시스템 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020010300A (ko) * | 2000-07-29 | 2002-02-04 | 박종섭 | 반도체 소자의 클럭 테스트 장치 |
US7289386B2 (en) * | 2004-03-05 | 2007-10-30 | Netlist, Inc. | Memory module decoder |
JP5156932B2 (ja) * | 2004-03-31 | 2013-03-06 | ラウンド ロック リサーチ、エルエルシー | 集積回路における信号タイミングの再構成 |
KR100725783B1 (ko) * | 2004-12-14 | 2007-06-08 | 한국전자통신연구원 | Snmp를 이용한 망 관리 에이전트로 구성된홈게이트웨이 시스템 및 홈게이트웨이 시스템에서snmp를 이용한 망 관리 에이전트 구성 방법 |
KR20060081522A (ko) | 2005-01-10 | 2006-07-13 | 삼성전자주식회사 | 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기 |
US7457978B2 (en) | 2005-05-09 | 2008-11-25 | Micron Technology, Inc. | Adjustable byte lane offset for memory module to reduce skew |
KR101300854B1 (ko) * | 2007-03-05 | 2013-08-27 | 삼성전자주식회사 | 직교 주파수 다중 접속 무선 통신 시스템에서 자원 할당장치 및 방법 |
US7725783B2 (en) * | 2007-07-20 | 2010-05-25 | International Business Machines Corporation | Method and apparatus for repeatable drive strength assessments of high speed memory DIMMs |
KR100897298B1 (ko) * | 2007-12-27 | 2009-05-14 | (주)인디링스 | 읽기 신호 타이밍을 조정하는 플래시 메모리 장치 및플래시 메모리 장치의 읽기 제어 방법 |
US7975164B2 (en) | 2008-06-06 | 2011-07-05 | Uniquify, Incorporated | DDR memory controller |
US8073090B2 (en) | 2008-07-11 | 2011-12-06 | Integrated Device Technology, Inc. | Synchronous de-skew with programmable latency for multi-lane high speed serial interface |
US8472279B2 (en) * | 2010-08-31 | 2013-06-25 | Micron Technology, Inc. | Channel skewing |
KR20150006560A (ko) * | 2013-07-09 | 2015-01-19 | 주식회사 에스원 | 디지털 도어 락의 소비 전력 감소를 통한 배터리 수명 연장 방법 및 이를 이용한 디지털 도어락 시스템 |
KR102147228B1 (ko) * | 2014-01-23 | 2020-08-24 | 삼성전자주식회사 | 타겟 모듈의 라이트 레벨링을 제어하는 라이트 레벨링 제어 회로 및 그에 따른 라이트 레벨링 제어방법 |
-
2015
- 2015-12-17 US US14/973,720 patent/US9666263B2/en active Active
-
2016
- 2016-04-12 KR KR1020160044909A patent/KR102457095B1/ko active IP Right Grant
- 2016-06-14 TW TW105118476A patent/TW201714174A/zh unknown
- 2016-08-24 JP JP2016163470A patent/JP6775353B2/ja active Active
- 2016-09-08 CN CN201610810976.4A patent/CN106569967B/zh active Active
Non-Patent Citations (5)
Title |
---|
미국공개특허 제2015-0206560호(2015.07.23.) 1부.* |
미국등록특허 제7725783호(2010.05.25.) 1부.* |
미국등록특허 제8081537호(2011.12.20.) 1부.* |
한국공개특허 제10-2002-0010300호(2002.02.04.) 1부.* |
한국공개특허 제10-2013-0042628호(2013.04.26.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
TW201714174A (zh) | 2017-04-16 |
KR20170041615A (ko) | 2017-04-17 |
US20170103796A1 (en) | 2017-04-13 |
US9666263B2 (en) | 2017-05-30 |
JP6775353B2 (ja) | 2020-10-28 |
CN106569967B (zh) | 2019-11-22 |
JP2017073122A (ja) | 2017-04-13 |
CN106569967A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102317657B1 (ko) | Nvdimm을 포함하는 장치 및 그것의 엑세스 방법 | |
KR102457095B1 (ko) | 딜레이 가변 소자를 포함하는 메모리 모듈 및 그것의 딜레이 설정 방법 | |
US20150261446A1 (en) | Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller | |
US9824004B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
KR102363526B1 (ko) | 복수의 엑세스 모드를 지원하는 불휘발성 메모리를 포함하는 시스템 및 그것의 엑세스 방법 | |
US9412468B2 (en) | Semiconductor devices and semiconductor systems for conducting a training operation | |
US9665289B1 (en) | Eye scan for memory channel | |
CN106205728B (zh) | 奇偶校验电路及包括该奇偶校验电路的存储器装置 | |
US20180293196A1 (en) | System, Apparatus And Method For Link Training For A Multi-Drop Interconnect | |
CN115525587A (zh) | 存储器协议 | |
CN110659235A (zh) | 数据选通多路复用器 | |
KR102689091B1 (ko) | 메모리 모듈 및 그것의 동작 방법 | |
US10503657B2 (en) | DIMM SSD Addressing performance techniques | |
US10095640B2 (en) | Multi mode address spaces for PC to device transfer optimization | |
US20160034405A1 (en) | Heterogeneous memory system and data communication method in the same | |
US10430088B2 (en) | Storage device configured to perform two-way communication with host and operating method thereof | |
US11704130B2 (en) | Indexing external memory in a reconfigurable compute fabric | |
US11048443B1 (en) | Non-volatile memory interface | |
US7900079B2 (en) | Data capture window synchronizing method for generating data bit sequences and adjusting capture window on parallel data paths | |
CN113031849A (zh) | 直接内存存取单元及控制部件 | |
KR102433013B1 (ko) | 메모리 모듈 및 이를 갖는 솔리드 스테이트 디스크 | |
KR102267388B1 (ko) | 메모리 프로토콜 | |
CN115905036A (zh) | 一种数据访问系统、方法及相关设备 | |
CN114443558A (zh) | 一种可控ep传输数据的方法、装置及介质 | |
JP2007179172A (ja) | 論理回路検証システムおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |