KR102289787B1 - 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 - Google Patents
메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 Download PDFInfo
- Publication number
- KR102289787B1 KR102289787B1 KR1020177004309A KR20177004309A KR102289787B1 KR 102289787 B1 KR102289787 B1 KR 102289787B1 KR 1020177004309 A KR1020177004309 A KR 1020177004309A KR 20177004309 A KR20177004309 A KR 20177004309A KR 102289787 B1 KR102289787 B1 KR 102289787B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- memory device
- comparison
- memory
- data
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Dram (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
메모리 디바이스에서 비교 정보를 결정하기 위한 기술 및 메커니즘. 일 실시예에서, 메모리 디바이스는 메모리 디바이스의 메모리 위치에 대응하는 주소를 포함하거나 지시하는 신호를 메모리 제어기로부터 수신한다. 신호가 비교 동작을 지시하는 것으로 결정되는 경우, 메모리 디바이스는 메모리 위치에 저장된 데이터를 검색하고, 이 데이터와 수신된 신호에 포함되거나 그에 의해 지시되는 기준 데이터 값의 비교를 수행한다. 메모리 디바이스는 비교의 결과를 나타내는 정보를 메모리 제어기로 전송한다. 다른 실시예에서, 메모리 제어기는 그러한 메모리 디바이스에 의한 비교 동작을 제어하기 위한 신호를 제공한다.
Description
본 발명은 메모리 디바이스에 관한 것으로서, 보다 상세하게는 메모리 디바이스의 메모리 셀에 의해 저장된 데이터를 비교하는 것에 관한 것이지만 이에 국한되지는 않는다.
내용 어드레싱 가능 메모리("CAM")는 일반적으로 복수의 메모리 위치에 데이터를 저장한다. CAM은 입력 데이터를 저장된 데이터와 비교하고 입력 값이 저장된 값과 매칭되는 메모리 위치를 식별하는 지시자 신호를 생성하는 값 매칭 논리를 포함할 수 있다. 값 매치는 종종 "히트"라고 한다. CAM 기술의 이러한 특성은 지난 20년간 점점 더 이용 가능해졌다.
그러나 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory) 등의 연속 세대가 계속해서 규모와 가격 면에서 감소함에 따라 그러한 저렴한 대용량 RAM(Random Access Memory) 유형의 효율적인 서치를 지원하는 CAM의 메커니즘과 같은 메커니즘에 대한 부수적인 요구가 증가하고 있다. 디바이스 네트워킹의 더 광범위하고 다양한 통합도 이러한 메커니즘에 대한 요구를 유발하였다.
데이터 비교에서 "상관없음(don't care)" 상태의 사용을 지원하는 3진 CAM 기술은 기본 2진 CAM에 대한 하나의 개량이었다. 그러나, CAM 디바이스의 비교적 큰 메모리 셀 크기는 부수적인 작은 저장 용량 및 비싼 가격과 함께 계속해서 많은 사용 사례에서 CAM 사용에 대한 장애가 되고 있다. CAM에 대한 대안의 필요성은 예를 들어 CAM의 메모리 서치 기능의 일부 버전을 구현하기 위한 대체 소프트웨어 접근법의 사용에 의해 입증된다.
본 발명의 다양한 실시예는 첨부 도면에 한정이 아니라 예로서 도시된다. 도면에서:
도 1a는 일 실시예에 따른 판독 동작을 수행하기 위한 시스템의 요소를 도시하는 고레벨 기능 블록도이다.
도 1b는 일 실시예에 따른 데이터 비교 동작을 수행하기 위한 시스템의 요소를 나타내는 기능 블록도이다.
도 2는 일 실시예에 따른 데이터 비교 동작을 지원하는 메모리 디바이스의 요소를 도시하는 고레벨 기능 블록도이다.
도 3은 일 실시예에 따른 메모리 디바이스를 동작시키는 방법의 요소를 도시하는 흐름도이다.
도 4는 일 실시예에 따른 비교 결과 정보를 교환하기 위한 메모리 제어기의 요소를 도시하는 고레벨 기능 블록도이다.
도 5는 일 실시예에 따른 메모리 디바이스를 제어하기 위한 방법의 요소를 나타내는 흐름도이다.
도 6은 일 실시예에 따른 비교 결과 정보를 결정하기 위한 신호 교환의 요소를 나타내는 타이밍이다.
도 7은 일 실시예에 따른 메모리 리소스에 액세스하기 위한 컴퓨팅 시스템의 요소를 도시하는 블록도이다.
도 8은 일 실시예에 따른 메모리 리소스에 액세스하기 위한 이동 디바이스의 요소를 도시하는 블록도이다.
도 1a는 일 실시예에 따른 판독 동작을 수행하기 위한 시스템의 요소를 도시하는 고레벨 기능 블록도이다.
도 1b는 일 실시예에 따른 데이터 비교 동작을 수행하기 위한 시스템의 요소를 나타내는 기능 블록도이다.
도 2는 일 실시예에 따른 데이터 비교 동작을 지원하는 메모리 디바이스의 요소를 도시하는 고레벨 기능 블록도이다.
도 3은 일 실시예에 따른 메모리 디바이스를 동작시키는 방법의 요소를 도시하는 흐름도이다.
도 4는 일 실시예에 따른 비교 결과 정보를 교환하기 위한 메모리 제어기의 요소를 도시하는 고레벨 기능 블록도이다.
도 5는 일 실시예에 따른 메모리 디바이스를 제어하기 위한 방법의 요소를 나타내는 흐름도이다.
도 6은 일 실시예에 따른 비교 결과 정보를 결정하기 위한 신호 교환의 요소를 나타내는 타이밍이다.
도 7은 일 실시예에 따른 메모리 리소스에 액세스하기 위한 컴퓨팅 시스템의 요소를 도시하는 블록도이다.
도 8은 일 실시예에 따른 메모리 리소스에 액세스하기 위한 이동 디바이스의 요소를 도시하는 블록도이다.
본 명세서에 설명된 실시예는 메모리 디바이스가 그 메모리 디바이스에 저장된 데이터에 대한 기준값의 비교를 수행하는 기술 및/또는 메커니즘을 다양하게 제공한다. 이러한 기술 및/또는 메커니즘 중 적어도 일부는 예로서 크기 및/또는 비용 면에서 (임의의 CAM과 구별되는) RAM의 상대적인 이점을 활용하여 CAM의 기능에 대한 제한된 대체물의 역할을 하는 기능을 제공할 기회가 존재한다는 인식의 결과이다.
본 명세서에서 특정 실시예는 기준 데이터 값(입력 데이터)과 DRAM 디바이스에 저장된 값 간의 비교의 DRAM 디바이스에서의 수행을 지원하는 기술 및/또는 메커니즘과 관련하여 설명된다. 또한, 그러한 비교를 설명하는 정보는 예를 들어 DRAM 디바이스로부터 메모리 제어기로 통신될 수 있다. 그러나, 이러한 논의는 정적 RAM(SRAM), 스핀 전달 토크 자기 저항 RAM(STT-MRAM), 저항성 RAM(ReRAM) 등을 포함하지만 이에 한정되지 않는 임의의 다른 다양한 다른 유형의 RAM에서 수행되는 비교에 추가로 또는 대안으로 적용되도록 확장될 수 있다.
이러한 DRAM 디바이스는 메모리 셀의 어레이, 및 DRAM 디바이스에 결합된 호스트(예를 들어, 메모리 제어기)로부터 기준 데이터 값을 수신하도록 구성된 회로를 포함하는 액세스 논리를 포함할 수 있다. DRAM 디바이스는 기준 데이터 값을 메모리 어레이에 저장된 값과 비교할 수 있고, 비교 결과에 기초하여, 예를 들어 기준값과 저장된 데이터 사이의 매치를 포함하는 히트 또는 대안적으로 기준값과 저장된 데이터 사이의 미스매치를 포함하는 미스를 나타내는 하나 이상의 신호를 생성할 수 있다. 일 실시예에서, 액세스 논리는 호스트로부터 수신된 시그널링에 기초하여, 메모리 디바이스의 비교 모드가 그러한 시그널링과 관련하여 수신된 주소 정보 및 데이터를 처리하도록 구성되어야 하는지(의 여부)를 결정한다.
특정 실시예는 예를 들어, 다른 종래의 메모리 회로의 기능에 추가하여 내용 기반 데이터 비교 기능을 구현하기 위한 (예를 들어, 패키지화된 디바이스의) 메모리 칩을 다양하게 제공한다. 도 1a 및 1b는 일 실시예에 따른 시스템(100)의 특징을 다양하게 도시한다. 시스템(100)은 메모리 디바이스(110) 및 호스트(120)를 포함할 수 있으며, 호스트(120)의 입출력(I/O) 인터페이스(125)는 인터커넥트(105)를 통해 메모리 디바이스(110)의 I/O 인터페이스(115)에 결합된다. 호스트(120)는 호스트(120)에 포함되거나 결합되는 호스트 프로세서를 위해 메모리 디바이스(110)에 대한 액세스를 제공하기 위한 메모리 제어기를 포함할 수 있다. 이러한 호스트 프로세서는 시스템(100)을 포함하는 컴퓨터 플랫폼을 위한 범용 운영 체제 및/또는 다른 소프트웨어를 실행하도록 구성된 회로를 포함할 수 있다. 일 실시예에서, 메모리 디바이스(110)는 호스트(120)의 임의의 IC 다이 이외에 집적 회로(IC) 다이이다. 예를 들어, 메모리 디바이스(110)는 호스트(120)의 임의의 패키지화된 디바이스 이외의 패키지화된 디바이스일 수 있다. 다른 실시예에서, 시스템(100)은 시스템-온-칩(SoC) 디바이스이다.
인터커넥트(105)는 호스트(120)와 메모리 디바이스(110) 사이의 시그널링을 다양하게 교환하기 위한 신호 라인을 포함할 수 있다. 예로서, 인터커넥트(105)는 데이터 버스, 주소 버스, 커맨드 버스, 및/또는 호스트(120)가 메모리 디바이스(110)에 액세스하거나 그를 제어하는 것을 지원하는 일부 또는 모든 그러한 버스의 임의의 다양한 조합을 포함할 수 있다. 인터커넥트(105)는 메모리 디바이스(110)에 대한 (예를 들어, 커맨드, 주소 및/또는 데이터 시그널링 이외의) 제어 시그널링을 위한 하나 이상의 제어 신호 라인을 추가로 포함할 수 있다. 이 분야의 기술자는 그러한 제어 신호 라인이, 예를 들어, 칩 선택 신호, 기입 인에이블 신호, 출력 인에이블 신호, 클럭 신호, 열 주소 스트로브 신호, 행 주소 스트로브 신호 또는 임의의 다양한 다른 종래의 제어 신호 하나 이상을 통신할 수 있다는 것을 알 것이다. 본 명세서에서 논의된 바와 같이, 인터커넥트(105)의 하나 이상의 제어 신호 라인은 메모리 디바이스(110)가 호스트(120)에 의해 제공된 주소 정보 및/또는 데이터와 관련하여 데이터 비교 동작(또는 단순히 "비교 동작")을 수행하도록 지정하는 신호를 통신할 수 있다.
메모리 디바이스(110)는 예를 들어 데이터가 워드 라인 또는 등가물을 통해 액세스 가능한 메모리 셀의 행을 갖는 임의의 다양한 유형의 메모리 기술을 포함할 수 있다. 일 실시예에서, 메모리 디바이스(110)는 DRAM 기술을 포함한다. 메모리 디바이스(110)는 시스템(100)의 더 큰 메모리 디바이스(도시되지 않음) 내의 IC 패키지일 수 있다. 예를 들어, 메모리 디바이스(110)는 듀얼 인라인 메모리 모듈(DIMM)과 같은 메모리 모듈의 DRAM 디바이스일 수 있다.
메모리 디바이스(110)는 하나 이상의 논리 및/또는 물리 메모리 그룹을 나타내는 메모리 어레이(140)를 포함할 수 있다. 하나의 그러한 메모리 그룹의 일례는 예로서 행 및 열 내에 배열된 저장 요소를 포함할 수 있는 메모리 리소스 뱅크이다. 메모리 디바이스(110)는 적어도 부분적으로 메모리 어레이(140)에 대한 액세스를 용이하게 하는 액세스 논리(170)를 포함할 수 있으며, 예로서 이러한 액세스는 호스트(120)로부터 하나 이상의 커맨드를 서비스하기 위해 제공된다. 액세스 논리(170)는 종래의 기술에 따라 리소스 액세스를 제공하는 메모리 디바이스(110)의 논리를 포함하거나 그와 함께 동작할 수 있으며, 예로서 비교 논리(160)의 기능은 본 명세서에서 논의된 추가적인 기능으로 그러한 종래 기술을 보완한다. 제한이 아닌 예로서, 액세스 논리(170)는 메모리 어레이(140) 내의 적절한 메모리 위치에 대한 액세스 명령어를 디코딩하는 데 사용되는 커맨드 논리 및 주소 논리(미도시)를 포함하거나 그에 결합될 수 있다.
호스트(120)는 인터커넥트(105)의 버스를 통해 커맨드 또는 명령어를 메모리 디바이스(110)에 전송할 수 있다. 이러한 커맨드는 메모리 디바이스(110)에 의해 해석될 수 있는데, 이는 메모리 디바이스(110)가 메모리 내의 다양한 액세스 기능을 수행하기 위해 커맨드 정보를 디코딩하고/하거나 열 논리 및/또는 행 논리로 주소 정보를 디코딩하는 것을 포함한다. 예를 들어, 이러한 논리는 열 주소 스트로브 또는 신호(CAS) 및 행 주소 스트로브 또는 신호(RAS)의 조합으로 메모리 어레이(140) 내의 특정 위치에 액세스할 수 있다. 메모리의 행은 공지된 메모리 아키텍처 또는 그 파생물에 따라 구현될 수 있다. 간단히, 메모리 어레이(140)의 행은 메모리(110)의 열 논리에 의해 생성된 CAS에 의해 식별되는 바와 같이, 메모리 셀의 하나 이상의 어드레싱 가능한 열을 포함할 수 있다. 행은 각각 메모리(110)의 행 논리에 의해 생성된 RAS를 통해 다양하게 어드레싱될 수 있다.
주어진 신호 세트가 I/O 인터페이스(115)에 결합된 데이터 버스를 통해 교환된 데이터를 기입하고/하거나 교환될 데이터를 판독하기 위해 메모리 어레이(140)로 전송될 수 있다. 일 실시예에서, 호스트(120)는 I/O 인터페이스(125)를 통해 인터커넥트(105)에 커맨드를 전송하기 위해 예로서 임의의 다양한 하드웨어 논리 및/또는 실행 소프트웨어 논리를 포함하는 제어 논리(130)를 포함한다. 제어 논리(130)는 하나 이상의 종래 기술에 따라 전송되는 커맨드를 생성, 전송 또는 결정하기 위한 동작을 수행하는 메모리 제어기의 논리를 포함하거나 그에 결합될 수 있다. 제한이 아닌 예로서, 제어 논리(130)는 예를 들어, DDR3 SDRAM JEDEC Standard JESD79- 3C, April 2008 등과 같은 듀얼 데이터 레이트(DDR) 사양의 일부 또는 모든 요구를 따르는 다른 종래의 커맨드/주소 시그널링 기능을 보완할 수 있다.
도 1a는 메모리 어레이(140)의 판독 액세스를 위해 시스템(100)에 의해 수행되는 교환의 뷰(100a)를 나타낸다. 뷰(100a)에 도시된 바와 같이, 이러한 교환은 제어 논리(130)가 액세스 논리(170)에 대한 판독 동작을 지시하기 위한 신호(135a)를 인터커넥트(105)를 통해 전송하는 것을 포함할 수 있다. 이러한 신호(135a)는 데이터가 메모리 어레이(140)로부터 검색(retrieval)되어 호스트(120)로 전송되어야 한다는 것을 액세스 논리(170)에 지시하기 위한 (예를 들어, 인터커넥트(105)의 커맨드 버스를 통해 전송되는) 판독 커맨드를 포함할 수 있다. 신호(135a)는 그러한 데이터가 검색될 특정 메모리 위치(예시적인 위치(150)로 표시됨)의 주소를 지정하거나 지시하는 (예를 들어, 인터커넥트(105)의 주소 버스를 통해 전송되는) 주소 정보를 추가로 포함할 수 있다. 시그널링(135a)에 응답하여, 액세스 논리(170)는 예를 들어 종래의 판독 액세스 기술로부터 적응된 동작을 이용하여 위치(150)에 저장된 데이터를 검색하고, 검색된 데이터를 인터커넥트(105)를 통해 응답(180a) 내에서 전송할 수 있다.
응답(180a)과 같은 판독 액세스 응답의 생성은, 하나 이상의 관점에서, 도 1b의 뷰(100b)에 나타낸 것과 같은 비교 동작에 참여하는 비교 논리(160)와 무관할 수 있다. 뷰(100b)에 도시된 바와 같이, 제어 논리(130)는 인터커넥트(105)을 통해 액세스 논리(170)에 대한 비교 동작을 지시하기 위한 신호(135b)를 전송할 수 있다. 이러한 신호(135b)는 소정 데이터가 메모리 어레이(140)로부터 검색되고 소정의 기준값과 비교되어야 한다는 것을 지정하는, 판독 커맨드와 구별되는 전용 비교 커맨드를 포함할 수 있으며, 메모리 디바이스(110)는 비교 결과를 나타내는 정보를 호스트(120)에 전송한다.
일부 실시예에서, 신호(135b)는 단독으로 또는 신호(135b)의 커맨드와 함께, 소정의 비교 동작이 수행되어야 한다는 것을 메모리 디바이스(110)에 지시하는 제어 시그널링을 포함한다. 제한이 아닌 예로서, I/O 인터페이스(125) 및 I/O 인터페이스(115)는 각각 비교 동작을 수행할지를 지정하는 제어 신호를 교환하기 위해 전용화된 각각의 콘택(예를 들어, 핀, 패드, 볼 등)을 포함할 수 있다.
신호(135b)는 호스트(120)로부터 수신된 기준값과의 비교를 위해 데이터가 검색될 표적 메모리 위치(예를 들어, 위치(150))의 주소를 지정하거나 지시하는 주소 정보를 추가로 포함할 수 있다. 비교 동작 및 판독 동작은 메모리 어레이(140)의 상이한 각각의 어드레싱 가능 위치를 표적화할 수 있다. 일 실시예에서, 신호(135b)는 메모리 어레이(110)의 표적 위치에 저장된 데이터와 비교될 기준값을 추가로 포함할 수 있다. 예를 들어, 기준값(164)은 호스트(120)로부터 인터커넥트(105)의 데이터 버스를 통해 메모리 디바이스(110)로 교환할 수 있다. 기준값(164)은 비교 논리(160)에 포함되거나 그에 의해 액세스 가능한 저장소(162)에 저장될 수 있다.
시그널링(135b)에 응답하여, 액세스 논리(170)는 위치(150)(또는 메모리 어레이(140)의 소정의 다른 표적 위치)에 저장된 데이터를 검색할 수 있다. 검색된 데이터는 기준값(164)과의 비교를 위해 비교 논리(160)에 제공될 수 있다. 예를 들어, 신호(135b)에 응답하여, 액세스 논리(170)는 검색된 데이터를 I/O 인터페이스(115)에 제공하는 대신에 또는 그에 더하여 검색된 데이터를 비교 논리(170)에 제공하도록 구성(예를 들어, 재구성)될 수 있다. 비교 논리(160)는 데이터 비교의 결과를 나타내는 정보를 출력할 수 있으며, 호스트(120)에 대한 응답(180b)은 이러한 데이터 비교를 포함하거나 그에 기초한다. 일 실시예에서, 응답(180b)은 저장된 데이터의 하나 이상의 비트가 각각 기준값(164)의 대응하는 비트와 매칭되는지(의 여부)를 지시하는 하나 이상의 비트를 포함한다.
도 2는 일 실시예에 따른 메모리 디바이스를 동작시키는 방법(200)의 요소를 도시한다. 방법(200)은 예를 들어, 메모리 디바이스(110)의 일부 또는 모든 특징을 포함하는 메모리에 의해 수행될 수 있다. 다양한 실시예의 특정 특징을 설명하기 위해, 방법(200)은 도 3에 도시된 메모리 디바이스(300)의 동작과 관련하여 여기에서 논의된다. 그러나, 그러한 논의는 본 명세서에서 논의된 비교 기능을 제공하는 다른 실시예에 따른 임의의 다양한 메모리 디바이스에 부가적으로 또는 대안적으로 적용되도록 확장될 수 있다.
메모리 디바이스(300)는 각각이 각각의 주소에 대응하는 복수의 메모리 위치들을 포함하는 메모리 어레이(310)를 포함할 수 있다. 일 실시예에서, 방법(200)은 210에서 제1 메모리 위치에 대응하는 제1 주소를 포함하거나 지시하는 신호를 메모리 디바이스에서 수신하는 단계를 포함한다. 메모리 디바이스(300)의 소정의 특징이 이제 방법(200)에 따라 판독 동작 및 비교 동작 중 하나를 수행하기 위한 그러한 신호의 처리와 관련하여 설명된다.
신호는 메모리 디바이스(300)의 I/O 인터페이스 회로를 통해 210에서 수신될 수 있으며, 예로서 그러한 I/O 인터페이스 회로는 하나 이상의 버스를 통해 메모리 제어기(미도시)에 다양하게 결합되는 주소 인터페이스(320), 커맨드 인터페이스(322) 및/또는 데이터 인터페이스(324)를 포함한다. 210에서 수신된 신호는 수신된 신호에 의해 표적화된 (예시적인 행(315)에 의해 표시되는) 메모리 어레이(310)의 특정 어드레싱 가능 위치에 대한 주소를 포함할 수 있다. 210에서 수신된 신호는 메모리 디바이스(300)를 제어하기 위해 메모리 제어기에 의해 사용되는 커맨드 세트의 커맨드, 예를 들어 판독 커맨드 또는 비교 커맨드를 추가로 포함할 수 있다. 일부 유형의 액세스에 있어서, 210에서 수신된 신호는 데이터는 제1 주소에 대한 액세스와 관련될 데이터를 추가로 포함할 수 있다. 예를 들어, 이러한 데이터는 제1 메모리 위치에 기입될 데이터 또는 대안적으로는 제1 메모리 위치에 저장된 데이터와 비교될 기준 데이터 값을 포함할 수 있다. 메모리 디바이스(310)는 예를 들어 이러한 신호의 상대적인 타이밍 및/또는 수신된 신호에 포함되거나 대응하는 제어 시그널링(예를 들어, 커맨드, 주소 및/또는 데이터 시그널링 이외의 것)에 기초하여, 이러한 주소, 커맨드 및/또는 데이터 신호를 서로 연관시키도록 구성될 수 있다.
그러한 제어 시그널링은 예로서 메모리 디바이스(300)의 제어 인터페이스(345)를 통해 수신될 수 있다. 제어 인터페이스(345)는 메모리 디바이스(300)에 결합된 호스트(도시되지 않음)로부터 제어 신호를 다양하게 수신하기 위한 콘택을 포함할 수 있다. 이러한 제어 신호는 예로서 칩 선택 신호(CS), 기입 인에이블 신호(WE), 행 주소 스트로브 신호(RAS), 열 주소 스트로브 신호(CAS), 클럭 신호(CLK) 등 중 하나 이상을 포함할 수 있다. 이 분야의 기술자는 그러한 제어 신호가 종래의 메모리 제어 기술에 따르거나 그로부터 적응될 수 있음을 알 것이며, 그 세부 사항은 본 명세서에서 논의되지 않으며 특정 실시예를 제한하지 않는다.
특정 실시예가 이와 관련하여 제한되지는 않지만, 주소가 언제 메모리 어레이(310)에 대한 (예를 들어, 판독 액세스와 대조되는) 비교 액세스와 관련되어야 하는지를 메모리 디바이스(300)에 더 지시하기 위해 다른 종래의 제어 시그널링이 수정되거나 확장될 수 있다. 예를 들어, 일부 실시예에서, 제어 인터페이스(345)는 메모리 디바이스(300)에 의해 수신된 관련 주소 및 데이터가 메모리 디바이스(300)가 비교 동작을 수행하기 위한 것임을 지정하는 비교 제어 시그널링을 수신한다. 이러한 비교 제어 시그널링은 다른 실시예에 따라 임의의 다양한 기술에 의해 통신될 수 있다. 예를 들어, 전용 비교 제어 신호(CMP)는 비교 동작이 수행되어야 하는지(의 여부)만을 통신하는 제어 인터페이스(345)의 콘택을 통해 수신될 수 있다. 대안으로, 비교 제어 시그널링은 다양한 시간에 상이한 유형의 제어 정보도 통신하는 제어 인터페이스(345)의 하나 이상의 콘택을 통해 수신될 수 있다. 한정이 아닌 예로서, 비교 동작은 그러한 신호의 타이밍, 시퀀스 및/또는 조합으로 인해 비교 커맨드 동작이 수행되어야 함을 나타내는 것으로서 메모리 디바이스(300)에 의해 인식되는 특정 신호 값(예를 들어, 논리 하이 또는 논리 로우) 또는 신호 값의 시퀀스를 수신하는 제어 인터페이스(345)의 RAS 콘택, CAS 콘택, WE 콘택 및/또는 다른 콘택에 의해 지시될 수 있다.
일 실시예에서, 신호 CMP와 같은 비교 제어 시그널링이 메모리 디바이스(300)의 커맨드 논리(340)에 제공될 수 있다. 이러한 비교 제어 시그널링은 비교 동작을 커맨드 인터페이스(322)를 통해 수신된 커맨드, 예로서 판독 커맨드에 대한 변경자로서 지시하거나, 대안으로서 비교 동작을 커맨드 인터페이스(322)를 통해 수신되는 임의의 커맨드의 부재에 대한 예외로서 시그널링할 수 있다. 그러나, 다른 실시예는 임의의 명시적인 제어 신호 메커니즘 이외의 수단에 의해 메모리 디바이스(300)에 대한 비교 동작을 지시한다. 예를 들어, 메모리 디바이스(300)의 커맨드 논리(340)은 커맨드 인터페이스(322)를 통해 비교 동작이 수행되어야 한다는 것을 명시적으로 나타내는 전용 비교 커맨드를 수신할 수 있다. 이러한 실시예에서는, 비교 동작이 수행되어야 함을 나타내기 위한 신호 CMP와 같은 어떠한 부가적인 제어 시그널링도 존재하지 않는다.
메모리 디바이스(300)의 액세스 논리는 메모리 어레이(310)에 기입하기 위한 데이터를 통신하는 회로를 포함하는 입력 경로를 추가로 포함할 수 있다. 이러한 액세스 논리는 메모리 어레이(310)로부터 검색된 데이터를 - 예로서, 호스트가 그러한 검색된 데이터를 판독하게 하기 위해 - 통신하는 회로를 포함하는 출력 경로를 추가로 포함할 수 있다. 제한이 아닌 예로서, 메모리 디바이스(300)의 입력 경로 회로는 데이터 인터페이스(324)를 통해 수신된 데이터를 일시적으로 저장하는 입력 버퍼(350), 직렬/병렬 컨버터(S2P)(352) 및 감지 증폭기(334)로 데이터를 출력하도록 결합된 기입 버퍼(354)를 포함할 수 있다. 대안으로 또는 부가적으로, 메모리 디바이스(300)의 출력 경로 회로는 감지 증폭기(334)로부터 데이터를 수신하도록 결합된 전치 증폭기(PreAmp)(360), 병렬/직렬 컨버터(P2S)(362) 및 데이터 인터페이스(324)로 전송되기 전에 데이터를 일시적으로 저장하는 출력 버퍼(364)를 포함할 수 있다. 그러나, 이러한 입력 경로 회로 및 출력 경로 회로는 단지 하나의 구현을 예시할 뿐이며, 특정 실시예를 제한하는 것은 아니다. 이러한 회로의 동작은 종래의 메모리 액세스 메커니즘으로부터 적응될 수 있으며, 이는 특정 실시예의 특징을 모호하게 하는 것을 피하기 위해 본 명세서에서 상세히 설명되지 않는다.
메모리 디바이스(300)는 예로서 판독 동작과 대조적인 비교 동작의 수행을 수용하도록 메모리 디바이스(300)의 입력 경로 회로 및/또는 출력 경로 회로를 다양하게 구성(예로서, 재구성)하기 위한, 예시적인 모드 논리(370)에 의해 나타낸 바와 같은 회로를 추가로 포함할 수 있다. 모드 논리(370)는 데이터 인터페이스(324)로부터 메모리 어레이(310)로 입력 경로의 적어도 일부를 따라 데이터의 통신을 용이하게 하고/하거나 변경하도록 결합될 수 있으며, 예로서 모드 논리(370)의 회로가 입력 버퍼(350)와 S2P(352) 사이에 결합된다. 메모리 어레이(310)에 대한 기입 액세스가 발생하는 경우, 모드 논리(370)는 (예를 들어, 커맨드 논리(340)에 응답하여) 입력 버퍼(350) 및 S2P(352)로부터의 하나 이상의 데이터 통신 경로로부터 분리되거나, 그를 구성하거나, 허용할 수 있다. 이와 달리, 메모리 어레이(310)에서의 비교 동작을 촉진하기 위해, 모드 논리(370)은 대신, 즉 그러한 기준 데이터를 메모리 어레이(310)로의 기입을 위해 지향시키는 대신 데이터 인터페이스(324)로부터 기준 데이터 저장소(372)로 교환될 기준 데이터에 대한 경로를 구성할 수 있다.
대안적으로 또는 부가적으로, 모드 논리(370)은 메모리 어레이(310)로부터 데이터 인터페이스(324)로의 출력 경로의 적어도 일부를 따라 데이터의 통신을 용이하게 하고/하거나 변경하도록 결합될 수 있으며, 예로서 모드 논리(370)의 회로는 P2S(362)와 출력 버퍼(364) 사이에 결합된다. 메모리 어레이(310)의 판독 액세스가 발생하는 경우, 모드 논리(370)은 (예를 들어, 커맨드 논리(340)에 응답하여) P2S(362)로부터 출력 버퍼(364)로 교환될 검색된 데이터에 대한 하나 이상의 통신 경로로부터 분리되거나, 그를 구성 또는 허용할 수 있다. 이와 달리, 모드 논리(370)은 메모리 어레이(310)에서의 비교 동작을 용이하게 하기 위해, 기준 데이터 저장소(372)에 저장된 기준 데이터와 비교하기 위해 비교기(374)에 추가적으로 또는 대안적으로 통신될 검색된 데이터에 대한 경로를 구성할 수 있다. 이러한 다양한 경로의 구성 가능성은 도 3에 모드 논리(370)의 스위치 요소로서 기능적으로 표현된다. 그러나, 임의의 다양한 종래의 스위치 또는 다른 그러한 구성 회로가 상이한 실시예에 따라 이러한 기능을 제공하도록 적응될 수 있다.
일 실시예에서, 모드 논리(370)은 커맨드 논리(340)로부터 수신된 시그널링에 응답하며, 그러한 시그널링은 판독 동작 및 비교 동작 중 특정 동작을 나타낼 수 있다. 그러나, 다른 실시예에서, 모드 논리(370)은 신호 CMP 또는 다른 그러한 비교 제어 시그널링과 같은 임의의 다양한 추가 또는 대안 신호에 응답할 수 있다. 모드 논리(370)은 메모리 어레이(310)로부터 입력 경로를 따라 통신되는 데이터가 예를 들어 데이터 인터페이스(324)로 통신되는 것에 더하여 또는 그 대신에 비교기(374)로 통신되어야 하는 모드를 설정하기 위한 스위치 논리 및/또는 다른 구성 회로를 포함할 수 있다. 대안적으로 또는 부가적으로, 그러한 모드는 데이터가 예로서 메모리 어레이(310)에 기입되는 대신에 데이터 인터페이스(324)로부터 떨어진 출력 경로를 따라 통신되어 기준 데이터 저장소(372)로 통신되기 위한 것일 수 있다.
방법(200)은 210에서 수신된 신호에 응답하여 비교 동작이 수행되어야 하는지를 결정하는 단계를 포함할 수 있으며, 이는 비교 액세스 및 (비교 액세스와 구별되는) 판독 액세스를 포함하는 복수의 액세스 유형 중 하나로부터 선택하는 것을 포함한다. 메모리에 대한 비교 액세스의 특징을 설명하기 위해, 방법(200)은 비교 액세스 및 판독 액세스 중 하나를 선택적으로 수행하는 것으로 도시된다. 그러나, 특정 실시예는 비교 액세스만을 수행한다는 것을 이해한다. 제한이 아닌 예로서, 방법(200)은 215에서 210에서 수신된 신호가 수행될 소정의 비교 동작을 나타내는 지를 결정하는 단계를 포함할 수 있다. 방법(200)은 240에서 210에서 수신된 신호가 수행될 소정의 판독 동작을 나타내는지를 결정하는 단계를 추가로 포함할 수 있다. 215에서의 결정 및/또는 240에서 결정은 210에서 수신된 신호 내에 포함된 커맨드 및/또는 비교 제어 시그널링에 기초하여 (커맨드 논리(340)와 같은) 메모리 디바이스(300)의 액세스 논리에 의해 수행될 수 있다. 215에서의 결정 및 240에서의 결정의 특정 시퀀스는 단지 예시적인 것이며, 특정 실시예를 한정하지 않는다.
수신된 신호에 기초하여 비교 동작이 수행되어야 한다고 215에서 결정되면, 방법(400)은 그러한 비교 동작의 수행을 개시할 수 있다. 예를 들어, 방법(200)은 220에서 제1 메모리 위치에 저장된 데이터를 검색하는 단계를 포함할 수 있다. 220에서의 검색은 예로서 종래의 기술에 따라 판독 액세스를 위해서도 수행되는 하나 이상의 동작을 포함할 수 있다. 제한이 아닌 예로서, 표적 행(315)으로부터의 데이터의 검색은 행 디코더(330) 및 열 디코더(332)가 수신된 신호의 각각의 주소 정보를 수신하는 것을 포함할 수 있다. 디코더(330, 332)는 행(315)을 포함하는 메모리 셀의 활성화를 위한 신호를 생성하기 위해 이러한 주소 정보를 다양하게 디코딩할 수 있다. 그러한 디코딩된 주소 정보에 기초하여, 메모리 디바이스(300)의 감지 증폭기(334)는 행(315)의 일부 또는 모든 메모리 셀에 다양하게 저장된 비트 값을 나타내는 신호를 생성할 수 있다.
(215에서와 같이) 비교 동작의 검출에 응답하여, 모드 논리(370)는 비교 동작을 위한 모드를 구성하도록(또는 그러한 모드를 유지하도록) 시그널링될 수 있다. 이러한 구성은 210에서 수신된 신호에 포함된, 데이터 인터페이스(324)를 통해 수신된 입력 데이터 값을 기준 데이터 저장소(372)에 저장하기 위한 경로를 설정하는 것을 포함할 수 있다. 이러한 구성은 표적 행(315)으로부터 검색된 데이터를 비교기(374)에 전송하기 위한 경로를 설정하는 것을 추가로 포함할 수 있다.
방법(200)은 225에서 모드 논리(370)에 의한 구성에 기초하여, 220에서 검색된 데이터와 수신된 신호에 포함된 기준 데이터 값의 비교를 수행하는 단계를 추가로 포함할 수 있다. 210에서 수신된 신호가 비교 동작을 위한 것이 아닌(예로서, 대신에 판독 동작을 위한 것인) 시나리오에서, 신호는 어떠한 그러한 기준 데이터 값도 포함하지 않을 수 있다. 225에서 수행된 비교에 기초하여, 방법(400)은 230에서 비교 결과를 나타내는 정보를 메모리 디바이스로부터 전송할 수 있다.
일 실시예에서, 이러한 비교 결과 정보는 호스트가 기준 데이터 값과 저장된 값이 서로 동일한지(의 여부)를 나타내는 것으로 인식하도록 구성된 단일 비트 값만을 포함한다. 다른 실시예에서, 결과는 다수 비트의 비교 정보를 포함한다. 예를 들어, 225에서 수행된 비교는 8 비트 저장 데이터 값 X[0:7]을 8 비트 기준 데이터 값 Y[0:7]과 비교하는 것을 포함할 수 있다. 이러한 실시예에서, 비교 결과는 8 비트 값 Z[0:7]일 수 있으며, 이들 각각의 비트는 X[0:7] 및 Y[0:7]의 대응하는 비트가 서로 동일한지를 나타낸다. 한정이 아닌 예로서, Z[0]은 (X[0]Y[0])과 동일할 수 있고, Z[1]은 (X[1]Y[1])과 동일할 수 있고, 기타 등등일 수 있다. 상이한 실시예에 따라, 임의의 다양한 추가 또는 대안 유형의 비교가 수행될 수 있고/있거나(225), 비교 결과 정보가 230에서 전송될 수 있다. 일부 또는 모든 비교 결과 정보가 230에서 예를 들어 전용 매치/미스 출력(376)을 통해 전송될 수 있다. 대안으로, 일부 또는 모든 비교 결과 정보는 데이터 인터페이스(324)와 같은 다른 수단을 통해 통신될 수 있다.
일부 실시예에서, 방법(200)은 비교 액세스 이외의 액세스를 구현하기 위한 동작을 추가로 포함한다. 예를 들어, 240에서, 수신된 신호에 기초하여 판독 동작이 수행되어야 한다고 결정되는 경우, 방법(200)은 그러한 판독 동작의 수행을 개시할 수 있다. 그렇지 않으면, 방법(200)은 대안으로서 비교 액세스 또는 판독 액세스 이외의 소정의 메모리 액세스를 구현하기 위해 동작을 종료하거나 수행할 수 있다(도시되지 않음).
판독 액세스의 수행은 245에서 제1 메모리 위치에 저장된 데이터를 검색하는 것을 포함할 수 있다. 220에서의 검색은 220에서 달리 수행되는 것과 같은 하나 이상의 데이터 검색 동작을 포함할 수 있다. (240에서와 같이) 판독 동작의 검출에 응답하여, 모드 논리(370)은 판독 동작을 위한 모드를 구성하도록(또는 그러한 모드를 유지하도록) 시그널링될 수 있다. 그러한 구성은 검색된 데이터를 데이터 인터페이스(324)에 제공하기 위해 감지 증폭기(334)를 통신 가능하게 결합하는 경로를 설정하는 것을 포함할 수 있다. 방법(200)은 250에서 메모리 디바이스로부터 제1 메모리 위치로부터 판독된 데이터를 전송하는 단계를 추가로 포함할 수 있다. 이러한 판독 동작은 적어도 판독 동작이 메모리 디바이스(300)에서 수행되는 임의의 비교와 무관하게 수행될 수 있는 한은 비교 동작과 구별될 수 있다. 특정 실시예가 이에 국한되지는 않지만, 비교 동작은 저장된 데이터 값을 호스트에 통신하는 것을 추가로 포함할 수 있다. 이러한 실시예에서, 비교 동작은 (메모리 디바이스에서 이러한 비교 정보를 결정하는 것을 피하는) 다른 유형의 판독 동작과 구별되는 (메모리 디바이스에서 비교 정보도 결정하는) 하나의 유형의 판독 동작으로 간주될 수 있다.
도 4는 일 실시예에 따른 메모리 디바이스를 제어하기 위한 방법(400)의 요소를 도시한다. 방법(400)은 메모리 디바이스(110)의 기능의 일부 또는 전부를 제공하는 메모리 디바이스를 제어하도록 수행될 수 있으며, 예를 들어 방법(400)은 제어 논리(130)에 의해 수행된다. 방법(400)에 따라 제어되는 메모리 디바이스는 하나의 실시예에서 방법(200)을 자체적으로 수행할 수 있다. 다양한 실시예의 특정 특징을 설명하기 위해, 방법(200)은 도 5에 도시된 메모리 제어기(500)와 관련하여 여기서 설명된다. 그러나, 그러한 논의는 본 명세서에서 논의된 바와 같이 비교 정보를 결정하기 위해 메모리 디바이스를 제어하는 임의의 다양한 호스트 디바이스에 부가적으로 또는 대안적으로 적용되도록 확장될 수 있다.
일 실시예에서, 방법(400)은 410에서, 비교 동작, 기준 데이터 값 및 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 나타내는 제1 신호를 메모리 디바이스에 전송하는 단계를 포함한다. 메모리 제어기(500)의 예시적인 실시예에서, I/O 회로는 제1 주소를 전송하거나 지시하기 위한 주소 인터페이스(512), 및 기준 데이터 값을 전송 또는 지시하기 위한 데이터 인터페이스(516)를 포함한다. 주소 결정 논리(520) 및 기준 데이터 저장소(540)는 예를 들어 중앙 처리 유닛 또는 메모리 제어기(500)에 결합되거나 통합된 다른 호스트 논리(도시되지 않음)로부터의 메모리 액세스 요청에 응답하여 제1 주소 및 기준 데이터 값을 제공할 수 있다. 일부 실시예에서, 비교 동작은 커맨드 인터페이스(514)를 통해 교환되는 커맨드 신호 및/또는 제어 신호 인터페이스(518)를 통해 교환되는 하나 이상의 비교 제어 신호에 의해 지시될 수 있다. 메모리 제어기(500)의 커맨드 논리(530)는 호스트 논리로부터의 메모리 액세스 요구에 기초하여 그러한 커맨드 신호를 생성할 수 있다. 특정 실시예는 메모리 제어기(500)가 비교 동작을 수행하기 위한 특정 주소 및/또는 기준값을 결정하는 특정 기술에 대해 제한되지 않는다.
410에서 전송된 제1 신호는 예를 들어, 비교 동작을 나타내기 위해 215에서 결정된 신호에 대응할 수 있다. 제1 신호에 기초하여, 메모리 디바이스는 기준 데이터 값과 제1 위치에 저장된 데이터의 비교를 수행한다. 방법(400)은 420에서, 제1 신호에 응답하여 메모리 디바이스로부터 메모리 디바이스에서 수행된 비교의 결과를 나타내는 정보를 수신하는 단계를 추가로 포함한다. 일 실시예에서, 평가 논리(550)은 그러한 정보를 처리하여, 예를 들어 추가 비교 동작이 수행될 필요가 있는지를 결정할 수 있다. 이러한 처리는 평가 논리(550)가 후속 비교 동작이 상이한 메모리 위치를 표적화해야 하는지 그리고/또는 후속 비교 동작이 상이한 기준 데이터 값에 기초해야 하는지를 결정하는 것을 포함할 수 있다. 이러한 처리의 특정 세부 사항은 구현 고유 요구에 의존할 수 있으며 특정 실시예를 제한하지 않는다.
특정 실시예가 이에 국한되지는 않지만, 방법(400)은 메모리 디바이스의 판독 액세스(또는 다른 액세스)를 구현하기 위한 추가 동작을 추가로 포함할 수 있다. 한정이 아니라 예로서, 방법(400)은 430에서, 제2 신호를 메모리 디바이스로 전송하는 단계를 추가로 포함할 수 있으며, 제2 신호는 제1 주소(또는 대안적으로 다른 메모리 위치에 대한 주소) 및 비교 동작이 아닌 판독 동작을 지시한다. 대안적으로, 430에서 전송된 제2 신호는 제1 주소 이외의 메모리의 주소를 판독 액세스를 위해 표적화할 수 있다. 제2 신호에 응답하여, 메모리 디바이스는 제1 위치에 저장된 제2 데이터를 검색할 수 있다. 제2 데이터는 410에서 전송된 제1 신호에 의해 표적화된 제1 데이터일 수 있지만, 특정 실시예는 이에 국한되지 않는다. 일 실시예에서, 방법(400)은 440에서, 제2 신호에 응답하여 메모리 디바이스로부터 제2 데이터를 수신하는 단계를 추가로 포함한다.
도 6은 일 실시예에 따른 메모리 제어기와 메모리 디바이스 간의 신호 교환을 나타내는 타이밍도(600)를 도시한다. 타이밍도(600)에 표현된 시그널링은 예를 들어 제어 논리(130)(예를 들어, 메모리 제어기)와 메모리 디바이스(110) 사이에서 교환될 수 있다.
타이밍도(600)에서, 클럭 신호(CLK)는 메모리 디바이스의 타이밍을 조절한다. 타이밍도(600)의 커맨드 시그널링(CMD)은 커맨드 인터페이스(322) 및/또는 커맨드 인터페이스(514)와 교환되는 것과 같은 하나 이상의 커맨드 신호를 나타내며, (Y+1) 비트 주소 버스 ADD[0:Y]의 주소 시그널링은 주소 인터페이스(320) 및/또는 주소 인터페이스(512)를 통해 교환되는 것과 같은 하나 이상의 주소 신호를 나타낸다. CMD의 커맨드는 하나 이상의 전용 커맨드 신호 콘택 및 일부 실시예에서는 하나 이상의 추가 제어 신호 콘택(예를 들어, RAS, CAS, WE 등을 포함함)의 조합을 사용하여 통신될 수 있다. 타이밍도(600)의 (Z+1) 비트 데이터 버스(DQ[0:Z])의 데이터 시그널링은 데이터 인터페이스(324) 및/또는 데이터 인터페이스(516)를 통해 교환되는 것과 같은 데이터 신호를 나타낸다.
시간 t0에서, 커맨드 시그널링(CMD)은 액세스될 메모리 디바이스의 DRAM 셀에 대비하여 활성화 커맨드(ACT)를 통신한다. ACT 커맨드는 시그널링 ADD에 의해 통신되는 행 주소 정보(Row)와 일치할 수 있다. 비교 커맨드(CMP)은 커맨드 시그널링(CMD)에 의해 후속적으로 통신될 수 있으며, 예를 들어 CMP는 타이밍 제약(tRCD)의 만료를 허용하도록 타이밍된다. 일 실시예에서, tRCD는 메모리 제어기의 행 주소 표명과 열 주소의 후속 표명 사이에 요구되는 최소 시간이다. 타이밍도(600)의 예에서, tRCD 제약은 후속 열 주소 정보(Col)가 시간 t3과 시간 t4 사이인 CLK의 상승 에지 이후에 표명될 것을 요구한다.
커맨드 시그널링(CMD)은 예를 들어 열 주소 시그널링(Col)과 동시에 통신되는 비교 커맨드(CMP)를 포함할 수 있다. 기준 데이터 값(Entry)은 또한 DQ[0:Z]의 데이터 시그널링의 일부로서, 예로서 또한 CMP와 동시에 전송될 수 있다. 판독 레이턴시 기간(RL) 후에, 비교 결과 정보는 메모리 디바이스에 의해 전송될 수 있다. 기간(RL)은 메모리 디바이스가 데이터 비교 모드를 구성하고, Row 및 Col에 의해 표적화된 메모리 위치로부터 데이터를 검색하고, 그러한 데이터를 기준 데이터 값(Entry)과 비교하는 데 걸리는 시간에 의해 결정된다. 특정 실시예가 이에 국한되지는 않지만, 비교 결과 정보는 DQ[0:Z]의 데이터 신호를 교환하기 위한 신호 라인과 다른 전용 출력(Match)에 의해 통신될 수 있다. 제한이 아닌 예로서, 비트들 M0, M1, ..., M7을 포함하는 Match 비트의 시퀀스 각각은 각각의 비트 쌍(저장된 데이터의 비트 및 기준 데이터의 대응하는 비트를 포함함)이 서로 동일한지(의 여부)를 지정할 수 있다. 다른 실시예에서, DQ[0:Z]는 다른 그러한 비교 결과 정보, 에러 정정 정보 등을 통신하는 데 사용될 수 있다. 타이밍도(600)에 도시된 예시적인 실시예에서, DQ[0:Z]는 메모리 어레이로부터 검색된, 예를 들어 D0 내지 D7을 포함하는 데이터 비트를 호스트로 판독하는 데 사용된다.
도 7은 메모리 비교 액세스가 구현될 수 있는 컴퓨팅 시스템의 일 실시예의 블록도이다. 시스템(700)은 본원에 기술된 임의의 실시예에 따른 컴퓨팅 디바이스를 나타내며, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 게임 또는 엔터테인먼트 제어 시스템, 스캐너, 복사기, 프린터, 또는 다른 전자 디바이스일 수 있다. 시스템(700)은 시스템(700)에 대한 명령어의 처리, 동작 관리 및 실행을 제공하는 프로세서(720)를 포함할 수 있다. 프로세서(720)는 임의의 유형의 마이크로프로세서, 중앙 처리 유닛(CPU), 처리 코어, 또는 시스템(700)에 대한 처리를 제공하기 위한 다른 처리 하드웨어를 포함할 수 있다. 프로세서(720)는 시스템(700)의 전체 동작을 제어하며, 하나 이상의 프로그래밍 가능한 범용 또는 특수목적 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 프로그래밍 가능한 제어기들, 주문형 집적 회로(ASIC)들, 프로그래밍 가능한 논리 디바이스(PLD)들, 또는 이와 유사한 것, 또는 이러한 디바이스들의 조합일 수 있거나, 또는 이들을 포함할 수 있다.
메모리 서브시스템(730)은 시스템(700)의 메인 메모리를 나타내며, 프로세서(720)에 의해 실행될 코드, 또는 루틴을 실행할 시에 사용될 데이터 값에 대한 임시 저장을 제공한다. 메모리 서브시스템(730)은 판독-전용 메모리(ROM), 플래시 메모리, 하나 이상의 다양한 랜덤 액세스 메모리(RAM)와 같은 하나 이상의 메모리 디바이스, 또는 다른 메모리 디바이스, 또는 이러한 디바이스의 조합을 포함할 수 있다. 메모리 서브시스템(730)은, 특히, 시스템(700) 내의 명령어들의 실행을 위한 소프트웨어 플랫폼을 제공하는 운영 체제(OS)(736)를 저장 및 호스팅한다. 추가로, 다른 명령어들(738)은 메모리 서브시스템(730)에 저장되고 이로부터 실행되어 시스템(700)의 논리 및 처리를 제공한다. OS(736) 및 명령어들(738)은 프로세서(720)에 의해 실행된다.
메모리 서브시스템(730)은 그것이 데이터, 명령어들, 프로그램들, 또는 다른 항목들을 저장하는 메모리 디바이스(732)를 포함할 수 있다. 하나의 실시예에서, 메모리 서브시스템은 본 명세서에서 설명되는 임의의 실시예에 따른 메모리 제어기이고 메모리(732)에서 계산된 비교 결과 정보를 수신하는 메모리 제어기(734)를 포함한다.
프로세서(720) 및 메모리 서브시스템(730)은 버스/버스 시스템(710)에 연결된다. 버스(710)는, 적절한 브리지들, 어댑터들 및/또는 제어기들에 의해 접속되는, 임의의 하나 이상의 별도의 물리적 버스들, 통신 라인들/인터페이스들, 및/또는 점대점 접속들을 나타내는 추상적 개념(abstraction)이다. 따라서, 버스(710)는, 예를 들어, 시스템 버스, PCI(Peripheral Component Interconnect) 버스, 하이퍼전송(HyperTransport) 또는 산업 표준 아키텍처(ISA; industry standard architecture) 버스, 소형 컴퓨터 시스템 인터페이스(SCSI; small computer system interface) 버스, 유니버설 직렬 버스(USB; universal serial bus), 또는 전기 전자 기술자 협회(IEEE; Institute of Electrical and Electronics Engineers) 표준 1394 버스(일반적으로 "파이어와이어(Firewire)"라고 지칭됨) 중 하나 이상을 포함할 수 있다. 버스(710)의 버스들은 또한 네트워크 인터페이스(750) 내의 인터페이스들에 대응할 수 있다.
시스템(700)은 또한 버스(710)에 결합된 하나 이상의 입출력(I/O) 인터페이스(들)(740), 네트워크 인터페이스(750), 하나 이상의 내부 대용량 저장 디바이스(들)(760), 및 주변기기 인터페이스(770)를 포함할 수 있다. I/O 인터페이스(740)는 사용자가 시스템(700)과 상호작용하는 하나 이상의 인터페이스 컴포넌트(예를 들어, 비디오, 오디오 및/또는 영숫자 인터페이싱)를 포함할 수 있다. 네트워크 인터페이스(750)는 하나 이상의 네트워크를 통해 원격 디바이스들(예를 들어, 서버들, 다른 컴퓨팅 디바이스들)과 통신하는 능력을 시스템(700)에 제공한다. 네트워크 인터페이스(750)는 이더넷 어댑터, 무선 상호접속 컴포넌트들, USB(유니버설 직렬 버스), 또는 다른 유선 또는 무선 표준 기반 또는 사유 인터페이스들을 포함할 수 있다.
저장소(760)는 하나 이상의 자기, 고체 상태, 또는 광학 기반 디스크들, 또는 조합과 같은 비휘발성 방식으로 대용량의 데이터를 저장하기 위한 임의의 종래의 매체일 수 있거나 이를 포함할 수 있다. 저장소(760)는 코드 또는 명령어 및 데이터(762)를 영구 상태로 유지한다(즉, 시스템(700)에 대한 전력의 중단에도 값이 유지된다). 저장소(760)는 포괄적으로 "메모리"인 것으로 간주될 수 있지만, 메모리(730)는 프로세서(720)에 명령어들을 제공하기 위한 실행 또는 동작 메모리이다. 저장소(760)는 비휘발성인 반면, 메모리(730)는 휘발성 메모리를 포함할 수 있다(즉, 시스템 700)에 대한 전력이 중단되면 데이터의 값 또는 상태는 불확실하다).
주변기기 인터페이스(peripheral interface)(770)는 위에서 구체적으로 언급되지 않은 임의의 하드웨어 인터페이스를 포함할 수 있다. 주변기기들은 일반적으로 시스템(700)에 종속적으로 접속하는 디바이스들을 지칭한다. 종속적 접속은, 동작이 실행되며 사용자가 상호작용하는 소프트웨어 및/또는 하드웨어 플랫폼을 시스템(700)이 제공하는 접속이다.
도 8은 메모리에 대한 비교 액세스가 구현될 수 있는 이동 디바이스의 일 실시예의 블록도이다. 디바이스(800)는, 컴퓨팅 태블릿, 이동 전화 또는 스마트폰, 무선-인에이블형 e-리더기, 또는 다른 이동 디바이스와 같은, 이동 컴퓨팅 디바이스를 나타낸다. 컴포넌트들 중 특정한 것들이 일반적으로 도시되어 있으며, 이러한 디바이스의 모든 컴포넌트들이 디바이스(800)에 도시된 것은 아니라는 점이 이해될 것이다.
디바이스(800)는 디바이스(800)의 주요 처리 동작을 수행하는 프로세서(810)를 포함할 수 있다. 프로세서(810)는 마이크로프로세서들, 응용 프로세서들, 마이크로컨트롤러들, 프로그래밍 가능한 논리 디바이스들, 또는 다른 처리 수단과 같은 하나 이상의 물리적 디바이스들을 포함할 수 있다. 프로세서(810)에 의해 수행되는 처리 동작들은 애플리케이션들 및/또는 디바이스 기능들이 실행되는 운영 플랫폼 또는 운영 체제의 실행을 포함한다. 처리 동작들은 인간 사용자에 의한 또는 다른 디바이스들에 의한 I/O(입출력)에 관련되는 동작들, 전력 관리에 관련되는 동작들, 및/또는 디바이스(800)를 또 다른 디바이스에 접속하는 것에 관련되는 동작들을 포함한다. 이러한 처리 동작들은 오디오 I/O 및/또는 디스플레이 I/O에 관련된 동작들을 또한 포함할 수 있다.
일 실시예에서, 디바이스(800)는, 컴퓨팅 디바이스에 오디오 기능들을 제공하는 것과 관련되는 하드웨어(예를 들어, 오디오 하드웨어 및 오디오 회로들) 및 소프트웨어(예를 들어, 드라이버들, 코덱들) 컴포넌트들을 나타내는, 오디오 서브시스템(820)을 포함한다. 오디오 기능들은 스피커 및/또는 헤드폰 출력뿐만 아니라 마이크로폰 입력을 포함할 수 있다. 이러한 기능들을 위한 디바이스들은 디바이스(800) 내에 통합되거나, 또는 디바이스(800)에 접속될 수 있다. 일 실시예에서, 사용자는 프로세서(810)에 의해 수신되고 처리되는 오디오 커맨드들을 제공하는 것에 의해 디바이스(800)와 상호작용한다.
디스플레이 서브시스템(830)은 사용자가 컴퓨팅 디바이스와 상호작용하기 위한 시각적 및/또는 촉각적 디스플레이를 제공하는 하드웨어(예를 들어, 디스플레이 디바이스들) 및 소프트웨어(예를 들어, 드라이버들) 컴포넌트들을 나타낸다. 디스플레이 서브시스템(830)은, 사용자에게 표시를 제공하는 데 사용되는 특정 스크린 또는 하드웨어 디바이스를 포함할 수 있는 디스플레이 인터페이스(832)를 포함할 수 있다. 일 실시예에서, 디스플레이 인터페이스(832)는 디스플레이에 관련되는 적어도 일부 처리를 수행하기 위한 프로세서(810)와는 별개인 논리를 포함한다. 일 실시예에서, 디스플레이 서브시스템(830)은 출력 및 입력 양자 모두를 사용자에게 제공하는 터치스크린 디바이스를 포함한다.
I/O 제어기(840)는 사용자와의 상호작용에 관련되는 하드웨어 디바이스들 및 소프트웨어 컴포넌트들을 나타낸다. I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)의 일부분인 하드웨어를 관리하도록 동작할 수 있다. 추가로, I/O 제어기(840)는 사용자가 시스템과 상호작용할 수 있는 디바이스(800)에 접속하는 추가 디바이스들에 대한 접속점을 예시한다. 예를 들어, 디바이스(800)에 부착될 수 있는 디바이스들은 마이크로폰 디바이스들, 스피커 또는 스테레오 시스템들, 비디오 시스템들 또는 다른 디스플레이 디바이스, 키보드 또는 키패드 디바이스들, 또는 카드 리더기들 또는 다른 디바이스들과 같은 특정 애플리케이션과 함께 사용하기 위한 다른 I/O 디바이스들을 포함할 수 있다.
위에서 언급된 바와 같이, I/O 제어기(840)는 오디오 서브시스템(820) 및/또는 디스플레이 서브시스템(830)과 상호작용할 수 있다. 예를 들어, 마이크로폰 또는 다른 오디오 디바이스를 통한 입력은 디바이스(800)의 하나 이상의 애플리케이션들 또는 기능들에 대한 입력 또는 커맨드들을 제공할 수 있다. 추가적으로, 오디오 출력이 디스플레이 출력 대신에 또는 디스플레이 출력에 추가하여 제공될 수 있다. 다른 예에서, 디스플레이 서브시스템이 터치스크린을 포함하는 경우, 디스플레이 디바이스는 또한, I/O 제어기(840)에 의해 적어도 부분적으로 관리될 수 있는 입력 디바이스로서 작용한다. 또한, I/O 제어기(840)에 의해 관리되는 I/O 기능들을 제공하기 위해 디바이스(800) 상에 추가적인 버튼들 또는 스위치들이 존재할 수 있다.
일 실시예에서, I/O 제어기(840)는 가속도계들, 카메라들, 광 센서들 또는 다른 환경 센서들, 자이로스코프들, 글로벌 포지셔닝 시스템(GPS), 또는 디바이스(800)에 포함될 수 있는 다른 하드웨어와 같은 디바이스들을 관리한다. 입력은 (잡음에 대한 필터링, 밝기 검출을 위한 디스플레이들의 조정, 카메라에 대한 플래시의 적용, 또는 다른 피처들과 같이) 그 동작들에 영향을 주기 위해 환경적 입력을 시스템에 제공하는 것뿐만 아니라, 직접적인 사용자 상호작용의 일부일 수 있다.
일 실시예에서, 디바이스(800)는 배터리 전력 사용량, 배터리의 충전, 및 절전 동작에 관련되는 특징들을 관리하는 전력 관리(850)를 포함한다. 메모리 서브시스템(860)은 디바이스(800)에 정보를 저장하기 위한 메모리 디바이스(들)(862)를 포함할 수 있다. 메모리 서브시스템(860)은 비휘발성(메모리 디바이스에 대한 전력이 중단되는 경우 상태가 변경되지 않음) 및/또는 휘발성(메모리 디바이스에 대한 전력이 중단되는 경우 상태가 불확정적임) 메모리 디바이스들을 포함할 수 있다. 메모리(860)는 응용 데이터, 사용자 데이터, 음악, 사진들, 문서들 또는 다른 데이터, 및 시스템(800)의 애플리케이션들 및 기능들의 실행과 관련된 시스템 데이터(장기적 또는 일시적)를 저장할 수 있다.
일 실시예에서, 메모리 서브시스템(860)은(또한 시스템(800)의 제어의 일부로서 고려될 수 있고, 잠재적으로 프로세서(810)의 일부로서 고려될 수 있는) 메모리 제어기(864)를 포함한다. 메모리 제어기(864)는 메모리(862)가 메모리(862)에 저장된 데이터 값과 메모리(862)에 제공되는 기준 값을 국지적으로 비교하게 하기 위한 시그널링을 통신할 수 있다.
접속성(connectivity)(870)은 디바이스(800)가 외부 디바이스들과 통신할 수 있게 하는 하드웨어 디바이스들(예를 들어, 무선 및/또는 유선 커넥터들 및 통신 하드웨어) 및 소프트웨어 컴포넌트들(예를 들어, 드라이버들, 프로토콜 스택들)을 포함할 수 있다. 디바이스는, 헤드셋들, 프린터들 또는 다른 디바이스들과 같은 주변기기들뿐만 아니라, 다른 컴퓨팅 디바이스들, 무선 액세스 포인트들 또는 기지국들과 같은 별개의 디바이스들일 수 있다.
접속성(870)은 다수의 상이한 유형들의 접속성을 포함할 수 있다. 일반화하기 위해, 디바이스(800)는 셀룰러 연결(872) 및 무선 연결(874)을 갖는 것으로 도시된다. 셀룰러 접속성(872)은 일반적으로, GSM(global system for mobile communications) 또는 변형물들 또는 파생물들, CDMA(code division multiple access) 또는 변형물들 또는 파생물들, TDM(time division multiplexing) 또는 변형물들 또는 파생물들, LTE(long term evolution-"4G"라고도 지칭됨), 또는 다른 셀룰러 서비스 표준들을 통해 제공되는 것과 같이, 무선 캐리어들에 의해 제공되는 셀룰러 네트워크 접속성을 지칭한다. 무선 접속성(874)은 셀룰러가 아닌 무선 접속성을 지칭하고, 개인 영역 네트워크들(예컨대, 블루투스), 로컬 영역 네트워크(예컨대, WiFi), 및/또는 광역 네트워크(예컨대, WiMax), 또는 다른 무선 통신을 포함할 수 있다. 무선 통신은 비고체 매체를 통해 변조된 전자기 복사를 사용하여 데이터를 전송하는 것을 나타낸다. 유선 통신은 고체 통신 매체를 통해 발생한다.
주변기기 접속들(880)은, 하드웨어 인터페이스들 및 커넥터들뿐만 아니라, 주변기기 접속들을 이루기 위한 소프트웨어 컴포넌트들(예를 들어 드라이버들, 프로토콜 스택들)을 포함한다. 디바이스(800)가 다른 컴퓨팅 디바이스들에 대한 주변 디바이스("로"(882))일 수 있을 뿐만 아니라, 그에 접속된 주변 디바이스들("로부터"(884))을 가질 수 있다는 점이 모두 이해될 것이다. 디바이스(800)는 일반적으로, 디바이스(800) 상의 콘텐츠를 관리하는 것(예를 들어, 다운로드 및/또는 업로드, 변경, 동기화)과 같은 목적으로 다른 컴퓨팅 디바이스들에 접속하기 위한 "도킹" 커넥터를 가진다. 추가로, 도킹 커넥터는 디바이스(800)가 예를 들어 시청각 또는 다른 시스템들에 대한 콘텐츠 출력을 제어할 수 있게 하는 특정 주변 기기들에 디바이스(800)가 접속할 수 있게 할 수 있다.
사유 도킹 커넥터 또는 다른 사유 접속 하드웨어에 더하여, 디바이스(800)는 공통 또는 표준 기반 커넥터들을 통한 주변기기 접속들(880)을 수행할 수 있다. 통상의 유형들은 USB(Universal Serial Bus) 커넥터(다수의 상이한 하드웨어 인터페이스들 중 임의의 것을 포함할 수 있음), MiniDisplayPort(MDP)를 비롯한 DisplayPort, HDMI(High Definition Multimedia Interface), 파이어와이어, 또는 다른 유형을 포함할 수 있다.
일 구현에서, 메모리 디바이스는 제1 주소에 대응하는 제1 메모리 위치를 포함하는 메모리 어레이, 상기 메모리 디바이스를 메모리 제어기에 결합하기 위한 입출력(I/O) 인터페이스, 상기 I/O 인터페이스를 통해 상기 메모리 제어기로부터 제1 신호를 수신하도록 구성되는 회로를 포함하는 액세스 논리 - 상기 제1 신호는 상기 제1 주소를 지시함 -, 및 상기 액세스 논리에 결합되는 비교 논리를 포함한다. 상기 제1 신호가 비교 동작을 지시하는 경우, 상기 액세스 논리는 상기 제1 위치에 저장된 제1 데이터를 검색하고, 상기 비교 논리는 상기 제1 데이터와 상기 제1 신호의 기준 데이터 값의 비교를 수행하고, 상기 메모리 디바이스로부터 상기 비교의 결과를 나타내는 정보를 전송한다.
일 실시예에서, 상기 제1 신호가 상기 비교 동작이 아닌 판독 동작을 지시하는 경우, 상기 액세스 논리는 상기 제1 데이터를 검색하고, 상기 메모리 디바이스로부터 상기 제1 데이터를 전송한다. 다른 실시예에서, 상기 제1 신호는 비교 커맨드를 포함한다. 다른 실시예에서, 상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함한다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터와 상기 기준 데이터 값이 서로 동일한지를 지정하는 단일 비트이다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시한다. 다른 실시예에서, 상기 기준 데이터 값은 상기 메모리 디바이스의 데이터 버스 인터페이스를 통해 통신된다.
다른 구현에서, 메모리 제어기는 상기 메모리 제어기를 메모리 디바이스에 결합하기 위한 입출력(I/O) 인터페이스, 및 상기 I/O 인터페이스를 통해 제1 신호를 상기 메모리 디바이스로 전송하도록 구성되는 회로를 포함하는 제어 논리를 포함하고, 상기 제1 신호는 비교 동작, 기준 데이터 값, 및 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시하고, 상기 제1 신호에 응답하여, 상기 메모리 디바이스는 상기 기준 데이터 값과 상기 제1 위치에 저장된 제1 데이터의 비교를 수행한다. 상기 I/O 인터페이스는 또한 상기 제1 신호에 응답하여 상기 비교의 결과를 나타내는 정보를 상기 메모리 디바이스로부터 수신한다.
일 실시예에서, 상기 제어 논리는 또한 상기 I/O 인터페이스를 통해 제2 신호를 상기 메모리 디바이스로 전송하며, 상기 제2 신호는 상기 제1 주소 및 상기 비교 동작이 아닌 판독 동작을 지시하고, 상기 제2 신호에 응답하여, 상기 메모리 디바이스는 상기 제1 위치에 저장된 제2 데이터를 검색하고, 상기 I/O 인터페이스는 또한 상기 제2 신호에 응답하여 상기 메모리 디바이스로부터 상기 제2 데이터를 수신한다. 다른 실시예에서, 상기 제1 신호는 비교 커맨드를 포함한다. 다른 실시예에서, 상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함한다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터와 상기 기준 데이터 값이 서로 동일한지를 지정하는 단일 비트이다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시한다. 다른 실시예에서, 상기 기준 데이터 값은 상기 메모리 디바이스의 데이터 버스 인터페이스를 통해 통신된다.
다른 구현에서, 메모리 디바이스에서의 방법은 상기 메모리 디바이스에 결합된 메모리 제어기로부터 제1 신호를 수신하는 단계 - 상기 제1 신호는 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시함 -, 및 상기 제1 신호가 비교 동작을 지시하는 경우에, 상기 제1 위치에 저장된 제1 데이터를 검색하는 단계, 상기 제1 데이터와 상기 제1 신호의 기준 데이터 값의 비교를 수행하는 단계, 및 상기 메모리 디바이스로부터 상기 비교의 결과를 나타내는 정보를 전송하는 단계를 포함한다.
일 실시예에서, 상기 방법은 상기 제1 신호가 상기 비교 동작이 아닌 판독 동작을 지시하는 경우에, 상기 제1 위치에 저장된 제1 데이터를 검색하는 단계, 및 상기 메모리 디바이스로부터 상기 제1 데이터를 전송하는 단계를 추가로 포함한다. 다른 실시예에서, 상기 제1 신호는 비교 커맨드를 포함한다. 다른 실시예에서, 상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함한다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터와 상기 기준 데이터 값이 서로 동일한지를 지정하는 단일 비트이다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시한다. 다른 실시예에서, 상기 기준 데이터 값은 상기 메모리 디바이스의 데이터 버스 인터페이스를 통해 통신된다.
다른 구현에서, 메모리 제어기에서의 방법은 제1 신호를 상기 메모리 제어기에 결합된 메모리 디바이스로 전송하는 단계를 포함하고, 상기 제1 신호는 비교 동작, 기준 데이터 값, 및 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시하고, 상기 제1 신호에 응답하여, 상기 메모리 디바이스는 상기 기준 데이터 값과 상기 제1 위치에 저장된 제1 데이터의 비교를 수행한다. 상기 방법은 상기 제1 신호에 응답하여 상기 비교의 결과를 나타내는 정보를 상기 메모리 디바이스로부터 수신하는 단계를 추가로 포함한다. 일 실시예에서, 상기 방법은 제2 신호를 상기 메모리 디바이스로 전송하는 단계 - 상기 제2 신호는 상기 제1 주소 및 상기 비교 동작이 아닌 판독 동작을 지시하고, 상기 제2 신호에 응답하여, 상기 메모리 디바이스는 상기 제1 위치에 저장된 제2 데이터를 검색함 -, 및 상기 제2 신호에 응답하여 상기 메모리 디바이스로부터 상기 제2 데이터를 수신하는 단계를 추가로 포함한다. 다른 실시예에서, 상기 제1 신호는 비교 커맨드를 포함한다. 다른 실시예에서, 상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함한다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터와 상기 기준 데이터 값이 서로 동일한지를 지정하는 단일 비트이다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시한다. 다른 실시예에서, 상기 기준 데이터 값은 상기 메모리 디바이스의 데이터 버스 인터페이스를 통해 통신된다.
다른 구현에서, 하나 이상의 처리 유닛에 의해 실행될 때, 메모리 제어기로 하여금, 제1 신호를 상기 메모리 제어기에 결합된 메모리 디바이스로 전송하는 단계를 포함하는 방법을 수행하게 하는 명령어를 저장한 컴퓨터 판독 가능 저장 매체로서, 상기 제1 신호는 비교 동작, 기준 데이터 값, 및 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시하고, 상기 제1 신호에 응답하여, 상기 메모리 디바이스는 상기 기준 데이터 값과 상기 제1 위치에 저장된 제1 데이터의 비교를 수행한다. 상기 방법은 상기 제1 신호에 응답하여 상기 비교의 결과를 나타내는 정보를 상기 메모리 디바이스로부터 수신하는 단계를 추가로 포함한다.
일 실시예에서, 상기 방법은 제2 신호를 상기 메모리 디바이스로 전송하는 단계 - 상기 제2 신호는 상기 제1 주소 및 상기 비교 동작이 아닌 판독 동작을 지시하고, 상기 제2 신호에 응답하여, 상기 메모리 디바이스는 상기 제1 위치에 저장된 제2 데이터를 검색함 -, 및 상기 제2 신호에 응답하여 상기 메모리 디바이스로부터 상기 제2 데이터를 수신하는 단계를 추가로 포함한다. 다른 실시예에서, 상기 제1 신호가 상기 비교 동작이 아닌 판독 동작을 지시하는 경우, 액세스 논리는 상기 제1 데이터를 검색하고, 상기 메모리 디바이스로부터 상기 제1 데이터를 전송한다. 다른 실시예에서, 상기 제1 신호는 비교 커맨드를 포함한다. 다른 실시예에서, 상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함한다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터와 상기 기준 데이터 값이 서로 동일한지를 지정하는 단일 비트이다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시한다. 다른 실시예에서, 상기 기준 데이터 값은 상기 메모리 디바이스의 데이터 버스 인터페이스를 통해 통신된다.
다른 구현에서, 시스템은 메모리 제어기, 인터커넥트, 및 상기 인터커넥트를 통해 상기 메모리 제어기에 결합되는 메모리 디바이스를 포함한다. 상기 메모리 디바이스는 제1 주소에 대응하는 제1 메모리 위치를 포함하는 메모리 어레이, 상기 메모리 디바이스를 메모리 제어기에 결합하기 위한 입출력(I/O) 인터페이스, 상기 I/O 인터페이스를 통해 상기 메모리 제어기로부터 제1 신호를 수신하기 위한 액세스 논리 - 상기 제1 신호는 상기 제1 주소를 지시함 -, 및 상기 액세스 논리에 결합되는 비교 논리를 포함한다. 상기 제1 신호가 비교 동작을 지시하는 경우, 상기 액세스 논리는 상기 제1 위치에 저장된 제1 데이터를 검색하고, 상기 비교 논리는 상기 제1 데이터와 상기 제1 신호의 기준 데이터 값의 비교를 수행하고, 상기 메모리 디바이스로부터 상기 비교의 결과를 나타내는 정보를 전송한다.
일 실시예에서, 상기 제1 신호가 상기 비교 동작이 아닌 판독 동작을 지시하는 경우, 상기 액세스 논리는 상기 제1 데이터를 검색하고, 상기 메모리 디바이스로부터 상기 제1 데이터를 전송한다. 다른 실시예에서, 상기 제1 신호는 비교 커맨드를 포함한다. 다른 실시예에서, 상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함한다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터와 상기 기준 데이터 값이 서로 동일한지를 지정하는 단일 비트이다. 다른 실시예에서, 상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시한다. 다른 실시예에서, 상기 기준 데이터 값은 상기 메모리 디바이스의 데이터 버스 인터페이스를 통해 통신된다.
메모리 디바이스를 동작시키는 기술들 및 아키텍처들이 본 명세서에서 설명된다. 위의 설명에서는, 설명을 목적으로, 특정 실시예들의 철저한 이해를 제공하기 위해서 다수의 특정 상세가 제시한다. 그러나, 소정 실시예들은 이러한 특정 상세 없이 수행될 수 있다는 점이 관련 분야의 통상의 기술자에게 명백할 것이다. 다른 경우에, 본 설명을 모호하게 하는 것을 회피하기 위해서 구조들 및 디바이스들은 블록도 형태로 도시된다.
명세서에서 "일 실시예" 또는 "실시예"에 대한 참조는 실시예와 관련되어 설명된 특정적인 특징, 구조, 또는 특성이 본 발명의 적어도 일 실시예에 포함된다는 것을 의미한다. 명세서의 다양한 곳에서의 문구 "일 실시예에서"의 등장은 반드시 모두가 동일한 실시예를 지칭하는 것은 아니다.
본 명세서의 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 연산들의 알고리즘들 및 심벌 표현들의 관점에서 제시된다. 이러한 알고리즘 설명들 및 표현들은, 컴퓨팅 기술분야의 통상의 기술자가 그들의 작업의 본질을 본 기술분야의 다른 통상의 기술자에게 가장 효과적으로 전달하기 위해 이용되는 수단이다. 알고리즘은, 본 명세서에서 및 일반적으로, 바라는 결과로 이끄는 자기 모순 없는 단계들의 시퀀스라고 인식된다. 단계들은 물리량들의 물리적인 조작을 요구하는 것들이다. 반드시 그렇지는 않더라도, 보통은 이러한 양들은 저장되고, 전송되고, 조합되고, 비교되고, 및 다른 식으로 조작되는 것이 가능한 전기 또는 자기 신호의 형태를 취한다. 때로는 주로 통상적인 용법을 이유로, 이러한 신호를 비트, 값, 요소, 기호, 문자, 항, 또는 숫자 등으로 지칭하는 것이 편리한 것으로 드러났다.
그러나 명심해야 할 것은 이러한 및 유사한 용어들 전부가 적절한 물리량과 연관되게 될 것이고, 이러한 양들에 적용되는 편리한 표지일 뿐이라는 점이다. 하기의 설명에서 명백하게 특별히 달리 기술되지 않는 한, 본 설명 전체에 걸쳐서, "처리" 또는 "컴퓨팅" 또는 "계산" 또는 "결정" 또는 "표시" 등과 같은 용어들을 사용하는 설명은, 컴퓨터 시스템의 레지스터들 및 메모리들 내의 물리적(전자) 양들로서 표현되는 데이터를 조작하고 이 데이터를 컴퓨터 시스템 메모리 또는 레지스터 또는 기타 그러한 정보 저장소, 송신 또는 디스플레이 디바이스들 내의 물리적 양들로 유사하게 표현되는 다른 데이터로 전환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 디바이스의 작용 및 프로세스들을 지칭한다는 것이 이해될 것이다.
특정 실시예들은 또한 본 명세서에서 동작들을 수행하는 장치와 관련된다. 이러한 장치는 특별히 요구된 목적을 위해 구성될 수 있거나, 또는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크, 광학 디스크, CD-ROM 및 광자기 디스크를 포함하는 임의의 유형의 디스크, 판독 전용 메모리(ROM), 동적 RAM(DRAM)과 같은 랜덤 액세스 메모리(RAM), EPROM, EEPROM, 자기 또는 광학 카드, 또는 컴퓨터 시스템 버스에 결합되며 전자 명령어들을 저장하기에 적합한 임의의 유형의 매체와 같지만 이에 제한되지는 않는 컴퓨터 판독 가능 저장 매체에 저장될 수 있다.
본 명세서에 제시된 알고리즘들 및 디스플레이들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련되지는 않는다. 다양한 범용 시스템들이 본 명세서에서의 교시들에 따라 프로그램들과 함께 이용될 수 있거나, 또는 요구된 방법 단계들을 수행하도록 더 특수화된 장치를 구성하는 것이 편리한 것으로 입증될 수 있다. 다양한 이러한 시스템들을 위한 요구된 구조는 이하의 상세한 설명에 등장할 것이다. 추가로, 특정 실시예들은 임의의 특정 프로그래밍 언어를 참조하여 설명되지는 않는다. 각종의 프로그래밍 언어들이 본 명세서에 설명된 바와 같은 이러한 실시예들의 교시들을 구현하는데 이용될 수 있다는 점이 인식될 것이다.
본 명세서에 설명되는 것 외에, 그것의 범위로부터 벗어나지 않으면서 본 명세서의 개시된 실시예들 및 구현들에 대해 다양한 변경들이 이루어질 수 있다. 따라서, 본 명세서의 예시들 및 예들은 제한적인 의미가 아니라 예시적인 것으로 해석되어야 한다. 본 발명의 범위는 다음의 청구범위에 관련해서만 평가되어야 한다.
Claims (25)
- 메모리 디바이스로서,
제1 주소에 대응하는 제1 메모리 위치를 포함하는 메모리 어레이;
상기 메모리 디바이스를 메모리 제어기에 결합하기 위한 입출력(I/O) 인터페이스;
상기 I/O 인터페이스를 통해 상기 메모리 제어기로부터 제1 신호를 수신하도록 구성되는 회로를 포함하는 액세스 논리 - 상기 제1 신호는 상기 제1 주소를 지시함 -; 및
상기 액세스 논리에 결합되는 비교 논리
를 포함하고,
상기 제1 신호가 비교 동작을 지시하는 경우:
상기 액세스 논리는 상기 제1 주소에 저장된 제1 데이터를 검색(retrieve)하고;
상기 비교 논리는 상기 제1 데이터와 상기 제1 신호의 기준 데이터 값의 비교를 수행하고, 상기 메모리 디바이스로부터 상기 비교의 결과를 나타내는 정보를 전송하고,
상기 제1 신호가 상기 비교 동작이 아닌 판독 동작을 지시하는 경우, 상기 액세스 논리는 상기 제1 데이터를 검색하고, 상기 메모리 디바이스로부터 상기 제1 데이터를 전송하는 메모리 디바이스. - 삭제
- 제1항에 있어서,
상기 제1 신호는 비교 커맨드를 포함하는 메모리 디바이스. - 제1항에 있어서,
상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함하는 메모리 디바이스. - 제1항에 있어서,
상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터와 상기 기준 데이터 값이 서로 동일한지를 지정하는 단일 비트인 메모리 디바이스. - 제1항에 있어서,
상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시하는 메모리 디바이스. - 제1항에 있어서,
상기 기준 데이터 값은 상기 메모리 디바이스의 데이터 버스 인터페이스를 통해 통신되는 메모리 디바이스. - 메모리 제어기로서,
상기 메모리 제어기를 메모리 디바이스에 결합하기 위한 입출력(I/O) 인터페이스; 및
상기 I/O 인터페이스를 통해 제1 신호를 상기 메모리 디바이스로 전송하도록 구성되는 회로를 포함하는 제어 논리
를 포함하고, 상기 제1 신호는 비교 동작, 기준 데이터 값, 및 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시하고, 상기 제1 신호에 응답하여, 상기 메모리 디바이스는 상기 기준 데이터 값과 상기 제1 위치에 저장된 제1 데이터의 비교를 수행하고;
상기 I/O 인터페이스는 또한 상기 제1 신호에 응답하여 상기 비교의 결과를 나타내는 정보를 상기 메모리 디바이스로부터 수신하고,
상기 제어 논리는 또한 상기 I/O 인터페이스를 통해 제2 신호를 상기 메모리 디바이스로 전송하며, 상기 제2 신호는 상기 제1 주소 및 상기 비교 동작이 아닌 판독 동작을 지시하고, 상기 제2 신호에 응답하여, 상기 메모리 디바이스는 상기 제1 위치에 저장된 제2 데이터를 검색하고, 상기 I/O 인터페이스는 또한 상기 제2 신호에 응답하여 상기 메모리 디바이스로부터 상기 제2 데이터를 수신하는 메모리 제어기. - 삭제
- 제8항에 있어서,
상기 제1 신호는 비교 커맨드를 포함하는 메모리 제어기. - 제8항에 있어서,
상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함하는 메모리 제어기. - 메모리 디바이스에서의 방법으로서,
상기 메모리 디바이스에 결합된 메모리 제어기로부터 제1 신호를 수신하는 단계 - 상기 제1 신호는 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시함 -; 및
상기 제1 신호가 비교 동작을 지시하는 경우에:
상기 제1 위치에 저장된 제1 데이터를 검색하는 단계;
상기 제1 데이터와 상기 제1 신호의 기준 데이터 값의 비교를 수행하는 단계;
상기 메모리 디바이스로부터 상기 비교의 결과를 나타내는 정보를 전송하는 단계; 및
상기 제1 신호가 상기 비교 동작이 아닌 판독 동작을 지시하는 경우에:
상기 제1 위치에 저장된 제1 데이터를 검색하는 단계; 및
상기 메모리 디바이스로부터 상기 제1 데이터를 전송하는 단계
를 포함하는 방법. - 삭제
- 제12항에 있어서,
상기 제1 신호는 비교 커맨드를 포함하는 방법. - 제12항에 있어서,
상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함하는 방법. - 메모리 제어기에서의 방법으로서,
제1 신호를 상기 메모리 제어기에 결합된 메모리 디바이스로 전송하는 단계 - 상기 제1 신호는 비교 동작, 기준 데이터 값, 및 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시하고, 상기 제1 신호에 응답하여, 상기 메모리 디바이스는 상기 기준 데이터 값과 상기 제1 위치에 저장된 제1 데이터의 비교를 수행함 -;
상기 제1 신호에 응답하여 상기 비교의 결과를 나타내는 정보를 상기 메모리 디바이스로부터 수신하는 단계;
제2 신호를 상기 메모리 디바이스로 전송하는 단계 - 상기 제2 신호는 상기 제1 주소 및 상기 비교 동작이 아닌 판독 동작을 지시하고, 상기 제2 신호에 응답하여, 상기 메모리 디바이스는 상기 제1 위치에 저장된 제2 데이터를 검색함 -; 및
상기 제2 신호에 응답하여 상기 메모리 디바이스로부터 상기 제2 데이터를 수신하는 단계
를 포함하는 방법. - 삭제
- 제16항에 있어서,
상기 제1 신호는 비교 커맨드를 포함하는 방법. - 제16항에 있어서,
상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함하는 방법. - 하나 이상의 처리 유닛에 의해 실행될 때 메모리 제어기로 하여금,
제1 신호를 상기 메모리 제어기에 결합된 메모리 디바이스로 전송하는 단계 - 상기 제1 신호는 비교 동작, 기준 데이터 값, 및 상기 메모리 디바이스의 메모리 어레이의 제1 위치에 대응하는 제1 주소를 지시하고, 상기 제1 신호에 응답하여, 상기 메모리 디바이스는 상기 기준 데이터 값과 상기 제1 위치에 저장된 제1 데이터의 비교를 수행함 -;
상기 제1 신호에 응답하여 상기 비교의 결과를 나타내는 정보를 상기 메모리 디바이스로부터 수신하는 단계;
제2 신호를 상기 메모리 디바이스로 전송하는 단계 - 상기 제2 신호는 상기 제1 주소 및 상기 비교 동작이 아닌 판독 동작을 지시하고, 상기 제2 신호에 응답하여, 상기 메모리 디바이스는 상기 제1 위치에 저장된 제2 데이터를 검색함 -; 및
상기 제2 신호에 응답하여 상기 메모리 디바이스로부터 상기 제2 데이터를 수신하는 단계
를 포함하는 방법을 수행하게 하는 명령어들을 저장한 컴퓨터 판독 가능 저장 매체. - 삭제
- 제20항에 있어서,
상기 제1 신호가 상기 비교 동작이 아닌 판독 동작을 지시하는 경우, 액세스 논리는 상기 제1 데이터를 검색하고, 상기 메모리 디바이스로부터 상기 제1 데이터를 전송하는 컴퓨터 판독 가능 저장 매체. - 제20항에 있어서,
상기 제1 신호는 비교 커맨드를 포함하는 컴퓨터 판독 가능 저장 매체. - 제20항에 있어서,
상기 제1 신호는 상기 비교 동작이 수행되어야 한다는 것을 지정하는 제어 신호를 포함하는 컴퓨터 판독 가능 저장 매체. - 제20항에 있어서,
상기 비교의 상기 결과를 나타내는 상기 정보는 상기 제1 데이터의 비트 및 상기 기준 데이터 값의 비트를 포함하는 각각의 비트 쌍에 각각 대응하는 복수의 비트를 포함하며, 상기 복수의 비트 각각은 상기 대응하는 비트 쌍이 서로 매칭되는지를 지시하는 컴퓨터 판독 가능 저장 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020217025172A KR102443078B1 (ko) | 2014-09-22 | 2015-08-18 | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/493,130 | 2014-09-22 | ||
US14/493,130 US9600183B2 (en) | 2014-09-22 | 2014-09-22 | Apparatus, system and method for determining comparison information based on memory data |
PCT/US2015/045638 WO2016048483A1 (en) | 2014-09-22 | 2015-08-18 | Apparatus, system and method for determining comparison information based on memory data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217025172A Division KR102443078B1 (ko) | 2014-09-22 | 2015-08-18 | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170034401A KR20170034401A (ko) | 2017-03-28 |
KR102289787B1 true KR102289787B1 (ko) | 2021-08-17 |
Family
ID=55525750
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217025172A KR102443078B1 (ko) | 2014-09-22 | 2015-08-18 | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 |
KR1020227031140A KR20220134024A (ko) | 2014-09-22 | 2015-08-18 | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 |
KR1020177004309A KR102289787B1 (ko) | 2014-09-22 | 2015-08-18 | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217025172A KR102443078B1 (ko) | 2014-09-22 | 2015-08-18 | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 |
KR1020227031140A KR20220134024A (ko) | 2014-09-22 | 2015-08-18 | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9600183B2 (ko) |
KR (3) | KR102443078B1 (ko) |
CN (1) | CN106575517B (ko) |
DE (1) | DE112015003397B4 (ko) |
TW (1) | TWI607308B (ko) |
WO (1) | WO2016048483A1 (ko) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10115446B1 (en) | 2015-04-21 | 2018-10-30 | Spin Transfer Technologies, Inc. | Spin transfer torque MRAM device with error buffer |
US20170010972A1 (en) * | 2015-07-09 | 2017-01-12 | Centipede Semi Ltd. | Processor with efficient processing of recurring load instructions |
US10185561B2 (en) | 2015-07-09 | 2019-01-22 | Centipede Semi Ltd. | Processor with efficient memory access |
US10163479B2 (en) | 2015-08-14 | 2018-12-25 | Spin Transfer Technologies, Inc. | Method and apparatus for bipolar memory write-verify |
KR102633091B1 (ko) * | 2016-09-19 | 2024-02-06 | 삼성전자주식회사 | 메모리 셀의 에러 확인 기능을 갖는 메모리 장치 및 이를 포함하는 메모리 모듈 |
US10192602B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Smart cache design to prevent overflow for a memory device with a dynamic redundancy register |
US10460781B2 (en) | 2016-09-27 | 2019-10-29 | Spin Memory, Inc. | Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
US10437723B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device |
US10192601B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers |
US10446210B2 (en) | 2016-09-27 | 2019-10-15 | Spin Memory, Inc. | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US10366774B2 (en) | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
US10437491B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register |
US10546625B2 (en) | 2016-09-27 | 2020-01-28 | Spin Memory, Inc. | Method of optimizing write voltage based on error buffer occupancy |
US10360964B2 (en) | 2016-09-27 | 2019-07-23 | Spin Memory, Inc. | Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device |
US10628316B2 (en) | 2016-09-27 | 2020-04-21 | Spin Memory, Inc. | Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register |
US10529439B2 (en) | 2017-10-24 | 2020-01-07 | Spin Memory, Inc. | On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects |
US10481976B2 (en) | 2017-10-24 | 2019-11-19 | Spin Memory, Inc. | Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers |
US10656994B2 (en) | 2017-10-24 | 2020-05-19 | Spin Memory, Inc. | Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques |
US10489245B2 (en) | 2017-10-24 | 2019-11-26 | Spin Memory, Inc. | Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them |
US10836400B2 (en) * | 2017-12-19 | 2020-11-17 | Micron Technology, Inc. | Implementing safety measures in applications |
US10360962B1 (en) | 2017-12-28 | 2019-07-23 | Spin Memory, Inc. | Memory array with individually trimmable sense amplifiers |
US10395712B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Memory array with horizontal source line and sacrificial bitline per virtual source |
US10395711B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Perpendicular source and bit lines for an MRAM array |
US10424726B2 (en) | 2017-12-28 | 2019-09-24 | Spin Memory, Inc. | Process for improving photoresist pillar adhesion during MRAM fabrication |
US10891997B2 (en) | 2017-12-28 | 2021-01-12 | Spin Memory, Inc. | Memory array with horizontal source line and a virtual source line |
US10811594B2 (en) | 2017-12-28 | 2020-10-20 | Spin Memory, Inc. | Process for hard mask development for MRAM pillar formation using photolithography |
US10424723B2 (en) | 2017-12-29 | 2019-09-24 | Spin Memory, Inc. | Magnetic tunnel junction devices including an optimization layer |
US10784439B2 (en) | 2017-12-29 | 2020-09-22 | Spin Memory, Inc. | Precessional spin current magnetic tunnel junction devices and methods of manufacture |
US10840439B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Magnetic tunnel junction (MTJ) fabrication methods and systems |
US10546624B2 (en) | 2017-12-29 | 2020-01-28 | Spin Memory, Inc. | Multi-port random access memory |
US10886330B2 (en) | 2017-12-29 | 2021-01-05 | Spin Memory, Inc. | Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch |
US10840436B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture |
US10367139B2 (en) | 2017-12-29 | 2019-07-30 | Spin Memory, Inc. | Methods of manufacturing magnetic tunnel junction devices |
US10438996B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Methods of fabricating magnetic tunnel junctions integrated with selectors |
US10438995B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Devices including magnetic tunnel junctions integrated with selectors |
US10446744B2 (en) | 2018-03-08 | 2019-10-15 | Spin Memory, Inc. | Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same |
US11107974B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer |
US11107978B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US10784437B2 (en) | 2018-03-23 | 2020-09-22 | Spin Memory, Inc. | Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US20190296220A1 (en) | 2018-03-23 | 2019-09-26 | Spin Transfer Technologies, Inc. | Magnetic Tunnel Junction Devices Including an Annular Free Magnetic Layer and a Planar Reference Magnetic Layer |
US10411185B1 (en) | 2018-05-30 | 2019-09-10 | Spin Memory, Inc. | Process for creating a high density magnetic tunnel junction array test platform |
US10559338B2 (en) | 2018-07-06 | 2020-02-11 | Spin Memory, Inc. | Multi-bit cell read-out techniques |
US10600478B2 (en) | 2018-07-06 | 2020-03-24 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10692569B2 (en) | 2018-07-06 | 2020-06-23 | Spin Memory, Inc. | Read-out techniques for multi-bit cells |
US10593396B2 (en) | 2018-07-06 | 2020-03-17 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10650875B2 (en) | 2018-08-21 | 2020-05-12 | Spin Memory, Inc. | System for a wide temperature range nonvolatile memory |
US10699761B2 (en) | 2018-09-18 | 2020-06-30 | Spin Memory, Inc. | Word line decoder memory architecture |
US10971680B2 (en) | 2018-10-01 | 2021-04-06 | Spin Memory, Inc. | Multi terminal device stack formation methods |
US11621293B2 (en) | 2018-10-01 | 2023-04-04 | Integrated Silicon Solution, (Cayman) Inc. | Multi terminal device stack systems and methods |
US10825534B2 (en) | 2018-10-26 | 2020-11-03 | Intel Corporation | Per row activation count values embedded in storage cell array storage cells |
US11107979B2 (en) | 2018-12-28 | 2021-08-31 | Spin Memory, Inc. | Patterned silicide structures and methods of manufacture |
CN109859785B (zh) * | 2019-01-11 | 2020-11-06 | 中电海康集团有限公司 | 一种时钟自适应访问mram的装置 |
JP2020205003A (ja) | 2019-06-19 | 2020-12-24 | キオクシア株式会社 | メモリシステム、メモリコントローラ、及び半導体記憶装置 |
FR3116146B1 (fr) * | 2020-11-12 | 2023-12-01 | St Microelectronics Rousset | Procédé de gestion d’une opération de modification du contenu mémorisé d’un dispositif de mémoire, et dispositif de mémoire correspondant |
CN114594991A (zh) * | 2020-12-03 | 2022-06-07 | 意法半导体股份有限公司 | 硬件加速器设备、对应的系统和操作方法 |
US11372559B1 (en) | 2021-02-19 | 2022-06-28 | Western Digital Technologies, Inc. | Data storage device and method for enabling a compare command with built-in data transformations |
US11726715B2 (en) * | 2021-10-11 | 2023-08-15 | Western Digital Technologies, Inc. | Efficient data path in compare command execution |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003196962A (ja) | 2002-08-02 | 2003-07-11 | Sony Corp | 記録再生装置及び検索回路 |
US20050071567A1 (en) * | 2003-09-30 | 2005-03-31 | Andy Spix | Modular register array |
WO2006087832A1 (ja) * | 2005-02-18 | 2006-08-24 | Duaxes Corporation | データ処理装置 |
US20070150445A1 (en) | 2005-12-23 | 2007-06-28 | Filenet Corporation | Dynamic holds of record dispositions during record management |
WO2008060919A2 (en) | 2006-11-07 | 2008-05-22 | Like.Com | Image recognition system for use in analysing images of objects and applications thereof |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240003B1 (en) | 2000-05-01 | 2001-05-29 | Micron Technology, Inc. | DRAM content addressable memory using part of the content as an address |
US7188263B1 (en) | 2003-05-07 | 2007-03-06 | Nvidia Corporation | Method and apparatus for controlling power state of a multi-lane serial bus link having a plurality of state transition detectors wherein powering down all the state transition detectors except one |
US7167946B2 (en) | 2003-09-30 | 2007-01-23 | Intel Corporation | Method and apparatus for implicit DRAM precharge |
US20070165457A1 (en) * | 2005-09-30 | 2007-07-19 | Jin-Ki Kim | Nonvolatile memory system |
KR100914265B1 (ko) * | 2007-05-10 | 2009-08-27 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법 |
US7929356B2 (en) * | 2008-09-05 | 2011-04-19 | Atmel Corporation | Method and system to access memory |
WO2011080768A1 (en) | 2009-12-29 | 2011-07-07 | Ferdinando Bedeschi | Memory devices comprising partitions with particular ecc attributes |
JP2011175615A (ja) | 2010-01-27 | 2011-09-08 | Toshiba Corp | ホスト装置およびメモリデバイス |
KR20110124992A (ko) | 2010-05-12 | 2011-11-18 | 삼성전자주식회사 | 반도체 메모리 장치 및 반도체 메모리 시스템 |
US8688962B2 (en) * | 2011-04-01 | 2014-04-01 | Intel Corporation | Gather cache architecture |
US9134919B2 (en) * | 2012-03-29 | 2015-09-15 | Samsung Electronics Co., Ltd. | Memory device including priority information and method of operating the same |
US9202551B2 (en) | 2012-06-28 | 2015-12-01 | Intel Corporation | Flexible command addressing for memory |
KR20140043560A (ko) | 2012-09-24 | 2014-04-10 | 삼성전자주식회사 | 메모리 특성 정보를 저장하는 반도체 메모리 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 반도체 메모리 장치의 동작방법 |
US9552164B2 (en) * | 2012-11-30 | 2017-01-24 | Intel Corporation | Apparatus, method and system for determining reference voltages for a memory |
KR101781277B1 (ko) | 2012-11-30 | 2017-09-22 | 인텔 코포레이션 | 집적 회로 패키지의 다수의 칩들에 대한 종단을 제공하는 장치, 방법 및 시스템 |
KR102025341B1 (ko) * | 2012-12-04 | 2019-09-25 | 삼성전자 주식회사 | 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
US9009531B2 (en) | 2012-12-05 | 2015-04-14 | Intel Corporation | Memory subsystem data bus stress testing |
US9026888B2 (en) * | 2012-12-21 | 2015-05-05 | Intel Corporation | Method, system and apparatus for providing access to error correction information |
US9317464B2 (en) * | 2014-06-26 | 2016-04-19 | Intel Corporation | Method, apparatus and system for configuring coupling with input-output contacts of an integrated circuit |
-
2014
- 2014-09-22 US US14/493,130 patent/US9600183B2/en active Active
-
2015
- 2015-08-07 TW TW104125806A patent/TWI607308B/zh not_active IP Right Cessation
- 2015-08-18 KR KR1020217025172A patent/KR102443078B1/ko active IP Right Grant
- 2015-08-18 KR KR1020227031140A patent/KR20220134024A/ko not_active Application Discontinuation
- 2015-08-18 KR KR1020177004309A patent/KR102289787B1/ko active IP Right Grant
- 2015-08-18 WO PCT/US2015/045638 patent/WO2016048483A1/en active Application Filing
- 2015-08-18 DE DE112015003397.1T patent/DE112015003397B4/de active Active
- 2015-08-18 CN CN201580044539.XA patent/CN106575517B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003196962A (ja) | 2002-08-02 | 2003-07-11 | Sony Corp | 記録再生装置及び検索回路 |
US20050071567A1 (en) * | 2003-09-30 | 2005-03-31 | Andy Spix | Modular register array |
WO2006087832A1 (ja) * | 2005-02-18 | 2006-08-24 | Duaxes Corporation | データ処理装置 |
US20070150445A1 (en) | 2005-12-23 | 2007-06-28 | Filenet Corporation | Dynamic holds of record dispositions during record management |
WO2008060919A2 (en) | 2006-11-07 | 2008-05-22 | Like.Com | Image recognition system for use in analysing images of objects and applications thereof |
Also Published As
Publication number | Publication date |
---|---|
TW201626231A (zh) | 2016-07-16 |
US9600183B2 (en) | 2017-03-21 |
DE112015003397B4 (de) | 2024-02-15 |
TWI607308B (zh) | 2017-12-01 |
KR20220134024A (ko) | 2022-10-05 |
CN106575517B (zh) | 2019-10-01 |
CN106575517A (zh) | 2017-04-19 |
KR20170034401A (ko) | 2017-03-28 |
KR102443078B1 (ko) | 2022-09-14 |
DE112015003397T5 (de) | 2017-04-27 |
KR20210100758A (ko) | 2021-08-17 |
WO2016048483A1 (en) | 2016-03-31 |
US20160085443A1 (en) | 2016-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102289787B1 (ko) | 메모리 데이터에 기초하여 비교 정보를 결정하기 위한 장치, 시스템 및 방법 | |
US9871519B2 (en) | On-die termination control without a dedicated pin in a multi-rank system | |
KR101742892B1 (ko) | 다중 사이클 명령에 의한 메모리 디바이스 액세스를 위한 장치, 방법 및 시스템 | |
US9552164B2 (en) | Apparatus, method and system for determining reference voltages for a memory | |
US10121532B2 (en) | Apparatus, method and system for performing successive writes to a bank of a dynamic random access memory | |
US20160162416A1 (en) | Apparatus and Method for Reducing Latency Between Host and a Storage Device | |
US10599206B2 (en) | Techniques to change a mode of operation for a memory device | |
US8972685B2 (en) | Method, apparatus and system for exchanging communications via a command/address bus | |
US9390785B2 (en) | Method, apparatus and system for determining a write recovery time of a memory based on temperature | |
JP2021111333A (ja) | 不揮発性メモリの自動インクリメント書き込みカウント | |
JP6275922B2 (ja) | 黙示プリチャージ指令の信号方式を管理するための方法、装置、及びシステム | |
TW202111543A (zh) | 串列記憶體設備i/o模式選擇 | |
CN107301872B (zh) | 半导体存储器装置的操作方法 | |
US20230112776A1 (en) | Operation method of memory module, operation method of memory controller, and operation method of memory system | |
EP4160419A1 (en) | Operation method of memory module, operation method of memory controller, and operation method of memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |