KR20190110154A - 데이터 경로에서의 컴퓨팅 장치 및 방법 - Google Patents

데이터 경로에서의 컴퓨팅 장치 및 방법 Download PDF

Info

Publication number
KR20190110154A
KR20190110154A KR1020197027442A KR20197027442A KR20190110154A KR 20190110154 A KR20190110154 A KR 20190110154A KR 1020197027442 A KR1020197027442 A KR 1020197027442A KR 20197027442 A KR20197027442 A KR 20197027442A KR 20190110154 A KR20190110154 A KR 20190110154A
Authority
KR
South Korea
Prior art keywords
shared
array
computing
data
line
Prior art date
Application number
KR1020197027442A
Other languages
English (en)
Other versions
KR102305389B1 (ko
Inventor
글렌 이. 허쉬
리차드 씨. 머피
Original Assignee
마이크론 테크놀로지, 인크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크론 테크놀로지, 인크 filed Critical 마이크론 테크놀로지, 인크
Publication of KR20190110154A publication Critical patent/KR20190110154A/ko
Application granted granted Critical
Publication of KR102305389B1 publication Critical patent/KR102305389B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

본 개시는 데이터 경로에서의 컴퓨팅 장치 및 방법을 포함한다. 예시적인 장치는 메모리 셀의 어레이를 포함한다. 감지 회로가 메모리 셀 어레이에 연결된다. 공유 입/출력(I/O) 라인이 어레이와 관련된 데이터 경로를 제공한다. 공유 I/O 라인은 감지 회로를 공유 I/O 라인의 데이터 경로에 있는 컴퓨팅 구성요소에 연결한다.

Description

데이터 경로에서의 컴퓨팅 장치 및 방법
본 발명은 일반적으로 반도체 메모리 및 방법에 관한 것으로,보다 상세하게는 데이터 경로에서의 컴퓨팅 장치 및 방법에 관한 것이다.
메모리 디바이스는 일반적으로 컴퓨터 또는 다른 전자 시스템에서 내부 반도체 집적 회로로서 제공된다. 휘발성 및 비휘발성 메모리를 포함하여 많은 다른 유형의 메모리가 있다. 휘발성 메모리는 데이터(예를 들어, 호스트 데이터, 에러 데이터 등)를 유지하기 위해 전력을 필요로할 수 있으며, 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 및 사이리스터 랜덤 액세스 메모리(TRAM) 등을 포함한다. 비휘발성 메모리는 전원이 공급되지 않을 때 저장된 데이터를 유지함으로써 영구적 인 데이터를 제공할 수 있으며 NAND 플래시 메모리, NOR 플래시 메모리, 및 가변 저항 메모리, 가령, PCRAM(phase change random access memory), RRAM(resistive random access memory), MRAM(magnetoresistive random access memory), 예를 들어 스핀 토크 전달 랜덤 액세스 메모리(STT RAM), 등을 포함할 수 있다.
전자 시스템은, 명령을 불러들여 실행하고 실행된 명령의 결과를 적합한 위치에 저장할 수 있는, 다수의 처리 자원(예를 들어, 하나 이상의 프로세서)을 종종 포함한다. 프로세서는 예를 들어 산술 논리 유닛(ALU) 회로, 부동 소수점 유닛(FPU) 회로 및 조합 논리 블록과 같은 다수의 기능 유닛을 포함할 수 있으며, 이는 데이터(예를 들어, 하나 이상의 피연산자)에 대한 연산을 수행함으로써 명령을 실행하는 데 사용될 수 있다. 본 명세서에 사용된 바와 같이, 연산은 예를 들어 AND, OR, NOT, NOT, NAND, NOR 및 XOR과 같은 부울 연산 및/또는 다른 연산(예를 들어, 반전, 시프트, 산술, 통계, 등) 일 수 있다. 예를 들어, 기능 유닛 회로는 다수의 연산을 통해 피연산자에 대한 덧셈, 뺄셈, 곱셈 및 나눗셈과 같은 산술 연산을 수행하는 데 사용될 수 있다.
전자 시스템의 많은 구성 요소가 실행을 위해 기능 유닛 회로에 명령을 제공하는 데 관여할 수 있다. 명령은 예를 들어 제어기 및/또는 호스트 프로세서와 같은 처리 자원에 의해 실행될 수 있다. 데이터(예를 들어, 명령어가 실행될 피연산자)는 기능 유닛 회로에 의해 액세스 가능한 메모리 어레이에 저장될 수 있다. 명령 및/또는 데이터는 메모리 어레이로부터 불러들여지고, 기능 유닛 회로가 데이터에 대한 명령을 실행하기 전에 시퀀싱 및/또는 버퍼링될 수 있다. 또한, 기능 유닛 회로를 통해 하나 또는 다수의 클럭 사이클에서 상이한 유형의 동작이 수행될 수 있으므로, 명령 및/또는 데이터의 중간 결과가 또한 시퀀싱 및/또는 버퍼링될 수 있다. 하나 이상의 클럭 사이클에서 동작을 완료하기 위한 시퀀스는 동작 사이클이라고 지칭될 수 있다. 하나의 동작 사이클을 완료하는데 걸리는 시간은, 컴퓨팅 장치 및/또는 시스템의 프로세싱 및 컴퓨팅 성능 및 전력 소비 측면에서 비용이 든다.
많은 경우에, 처리 자원(예를 들어, 프로세서 및 관련 기능 유닛 회로)는 메모리 어레이 외부에 있을 수 있고, 데이터는 처리 자원과 메모리 어레이 사이의 버스를 통해 액세스되어 일련의 명령이 실행된다. 프로세싱 및/또는 로직 리소스가 메모리 내부 및/또는 메모리 근처에(예를 들어, 메모리 어레이와 동일한 칩 상에 직접) 구현될 수 있는 메모리 내 프로세싱(PIM) 디바이스에서 프로세싱 성능이 개선될 수 있다. PIM(Process-in-memory) 장치는 외부 통신을 줄이고 제거하여 시간을 절약할 수 있고, 전력을 절감할 수 있다.
도 1a는 본 개시의 다수의 실시예에 따른 메모리 디바이스를 포함하는 전자 시스템 형태의 장치의 블록도이다.
도 1b는 본 개시의 다수의 실시예에 따라 어레이의 뱅크 섹션에 대해 로컬인 데이터 경로에 공유 입력/출력(I/O) 라인을 갖는 메모리 디바이스를 포함하는 전자 시스템 형태의 장치의 다른 블록도이다.
도 2는 본 개시의 많은 실시예들에 따른, 컴퓨팅 구성요소를 포함하는 메모리 디바이스의 감지 회로를 도시하는 개략도이다.
도 3은 본 개시의 다수의 실시예에 따른 어레이의 데이터 경로에서 복수의 공유 I/O 라인에 대한 회로를 도시한 개략도이다.
도 4a는 어레이에 대해 국한된 데이터 경로에서 복수의 공유 I/O 라인에 의해, 복수의 로직 스트라이프를 갖는, 컴퓨팅 유닛에 연결된 어레이의 복수의 섹션을 도시하는 블록도이다.
도 4b는 어레이에 대해 로컬인 데이터 경로에서 복수의 공유 I/O 라인에 의해 컴퓨팅 유닛 내의 복수의 컴퓨팅 구성요소에 연결된 복수의 어레이를 도시하는 블록도로서, 이러한 컴퓨팅 구성요소는 공유 I/O 라인의 데이터 경로의 피치와 동일한 피치, 그리고 어레이에 대한 디지트 라인의 피치의 배수인, 피치를 가진다.
도 5는 본 개시의 다수의 실시예들에 따른 메모리 디바이스에 대한 제어기의 예를 도시하는 블록도이다.
도 6은 메모리 디바이스에 대한 제어기의 다른 예를 도시하는 블록도이며, 이러한 제어기는 어레이에 대해 로컬인 데이터 경로 내 공유 I/O 라인을 사용하여 복수의 로직 스트라이프를 갖는 컴퓨팅 유닛에 대한 데이터 값의 이동을 제어하는 역할을 한다.
도 7은 본 개시의 많은 실시예들에 따른 메모리 디바이스에 대한 감지 회로를 도시하는 개략도이다.
도 8은 본 개시의 다수의 실시예에 따라 도 3에 도시된 감지 회로에 의해 구현되는 선택 가능한 논리 동작 결과를 도시하는 논리표다.
본 개시는 데이터 경로에서 계산하기 위한 장치 및 방법을 포함한다. 적어도 하나의 실시예에서, 장치는 메모리 셀 어레이 및 메모리 셀 어레이에 연결된 감지 회로를 갖는 메모리 디바이스를 포함한다. 일부 실시예에서, 메모리 디바이스는 PIM(process in memory) 디바이스 일 수 있고, 감지 회로는 감지 증폭기 및 컴퓨팅 구성요소(예를 들어, 메모리 셀의 각 칼럼에 결합됨)를 포함할 수 있다.
공유 입력/출력(I/O) 라인은 어레이와 관련된 데이터 경로로서 기능한다. 공유 I/O 라인은 감지 회로를 공유 I/O 라인의 데이터 경로에 있는 컴퓨팅 구성요소에 연결한다. 공유 I/O 라인의 데이터 경로와 관련된 컴퓨팅 구성요소는 데이터 경로의 피치와 동일한 피치를 가지며, 이는 메모리 셀 어레이에 대한 디지트 라인의 피치의 함수이다. 예를 들어, 컴퓨팅 구성요소는 메모리 셀 어레이에 대한 디지트 라인 피치의 정수배 인 피치를 갖는다. 본 명세서에서 사용되는 "공유 I/O 라인"은 메모리 셀 어레이의 피치의 함수 인 피치를 갖는 데이터 경로에서 어레이에 대해 로컬인 I/O 라인을 의미하는 것으로 의도된다. 공유 I/O는 메모리 어레이에 대한 뱅크 상에 위치될 수 있고, 어레이의 복수의 칼럼, 예를 들어 DRAM(Dynamic Random Access Memory) 어레이에 대한 상보적 디지트 라인으로 다중화될 수 있다. 공유 I/O는 DDR4와 같은 어레이 프로토콜에 따른 어레이 내외로 데이터를 이동시키도록 구성된, 및/또는 호스트와 메모리 디바이스 간의 데이터 이동을 위해 구성된, 어레이와 관련된 I/O 회로와는 다르고 구분된다.
일부 실시예들에서, 컴퓨팅 구성요소는 어레이에 대해 로컬인 데이터 경로의 공유 I/O 라인과 연관된 로직 스트라이프 내에 있다. 어레이는 어레이에 대해 로컬인 데이터 경로에 대해 복수의 공유 I/O 라인을 가질 수 있고 로직 스트라이프는 복수의 컴퓨팅 구성요소를 가질 수 있다. 복수의 컴퓨팅 구성요소들 각각은 어레이에 대해 로컬인 데이터 경로의 복수의 공유 I/O 라인들 중 적어도 하나와 관련된다. 일부 실시예들에서, 복수의 컴퓨팅 구성요소들 각각 중 하나는 어레이에 대해 로컬인 데이터 경로의 복수의 공유 I/O 라인들 중 하나와 관련된다.
일부 실시예들에서, 복수의 컴퓨팅 구성요소들 각각은 어레이에 대해 로컬인 데이터 경로의 복수의 공유 I/O 라인들 중 다른 하나로 시프트될 수 있다. 일부 실시예에서, 어레이는 동적 랜덤 액세스 메모리(DRAM) 어레이이고 감지 회로는 감지 증폭기 및 컴퓨팅 구성요소를 포함한다.
메모리 디바이스는 제어기를 포함하고, 메모리 셀의 칼럼에 선택적으로 결합되고 감지 회로로부터 이동된 데이터 값을 저장(예를 들어, 캐시)하도록 구성된 래치를 더 포함할 수 있다. 메모리 디바이스는 어레이의 메모리 셀의 로우로부터, 어레이에 대해 로컬인 데이터 경로의 복수의 공유 I/O 라인 중 하나와 연관된 컴퓨팅 구성요소까지, 데이터 값의 이동을 지시하도록 구성된 제어기를 포함한다.
이하에서 더 상세히 설명되는 바와 같이, 실시예예서는 호스트 시스템이, 데이터의 유지(예를 들어, 저장) 및/또는 데이터의 처리를 위해, 다수의 위치(예를 들어, 어레이, 서브 어레이 및/또는 서브 어레이의 일부)를 하나 이상의 DRAM 뱅크에서 할당할 수 있다. 호스트 시스템 및 제어기는 프로그램 명령(예를 들어, PIM 명령 명령어) 및 데이터의 전체 블록에 대한 어드레스 해상을 수행할 수 있고, 목적지(가령, 타겟) 뱅크 내의 할당된 위치(가령, 서브어레이 및 서브어레이의 일부분)에 데이터 및 명령의 할당, 저장, 및/또는 이동(가령, 흐름)을 지시(가령, 제어)할 수 있다. 데이터 기록 및/또는 명령 실행(예를 들어, 본 명세서에 기술된 바와 같은 동작 수행)은 DRAM 디바이스에 대한 통상의 DRAM 기입 경로를 이용할 수 있다. 독자가 이해할 수 있는 바와 같이, DRAM 스타일 PIM 디바이스가 본 명세서에 제시된 예와 관련하여 논의되지만, 실시예는 PIM DRAM 구현에 제한되지 않는다.
본 명세서에 기술된 메모리 디바이스는 서브 어레이 뱅크에 대한 다수의 제어기, 개별 서브 어레이에 대한 제어기 및/또는 래치 구성 요소에 대한 제어기(예를 들어, 각각의 제어기는 시퀀서, 상태 머신, 마이크로컨트롤러, 서브프로세서, ALU 회로, 또는 그외 다른 종류의 제어기)를 이용하여, 데이터(가령, 하나 이상의 피연산자)에 대한 동작을 수행하기 위한 한 세트의 명령어를 실행할 수 있다. 본 명세서에 사용된 바와 같이, 연산은 예를 들어 AND, OR, NOT, NOT, NAND, NOR 및 XOR과 같은 부울 논리 연산 및/또는 다른 연산(예를 들어, 다른 많은 가능한 작업 중 반전, 시프트, 산술, 통계)일 수 있다. 예를 들어, 기능 유닛 회로는 다수의 논리 연산을 통해 피연산자에 대한 덧셈, 뺄셈, 곱셈 및 나눗셈과 같은 산술 연산을 수행하는 데 사용될 수 있다.
본 개시는 예를 들어, (예를 들어, 다른 유형의 메모리 어레이 중에서 DRAM 어레이에서) 동일한 뱅크, 동일한 뱅크의 동일한 서브 어레이 및/또는 동일한 서브어레이 내 동일한 로우로부터의 데이터 값에 대한 판독 및/또는 기록 동작의 실행과 실질적으로 동시에, 메모리 셀들에 저장된 데이터 값들에 대해 수행될 동작들(예를 들어, AND, OR, 리프레쉬, 로우 카피(row copy), 시프트, 덧셈, 곱셈 등과 같은 PIM 동작들)을 가능하게하는 것을 기술한다. 예를 들어, 이 동작들은 여기서 기술된 바와 같이 제어기 및/또는 호스트에 의해 동일한 데이터 값에 대한 판독 및/또는 기입 동작의 수행과 실질적으로 동시에, 서브어레이의 메모리 셀의 로우에 저장된 데이터 값에 대해 수행될 수 있다.
따라서, 로우가 어레이에서 감지되도록 활성화될 때, 로우의 메모리 셀에 저장된 데이터 값(예를 들어, 전체 로우에 대한 데이터 값)은 예를 들어, 어레이와 연관된 데이터 경로에서 복수의 컴퓨팅 구성요소들(예를 들어, 각각이 컴퓨팅 유닛에서 로직 스트라이프의 적어도 일부를 형성함)로 이동(예를 들어, 복사, 전달 및/또는 전송)될 수 있다. 복수의 공유 입력/출력(I/O) 라인은 데이터 값을 어레이에 대해 국한된 데이터 경로 내 복수의 컴퓨팅 구성요소에 연결한다. 공유 I/O 라인의 데이터 경로와 관련된 복수의 컴퓨팅 구성요소는 메모리 셀 어레이에 대한 디지트 라인 피치의 함수인 피치를 갖는다. 본 명세서에 기술된 일부 실시예들에서, 컴퓨팅 유닛 내의 로직 스트라이프에 대한 복수의 컴퓨팅 구성요소들은 어레이의 뱅크에 대한 각각의 뱅크 섹션과 연관될 수 있다. 공유 I/O와 관련된 컴퓨팅 구성요소는 어레이에 대해 국한된 공유 I/O의 데이터 경로에 결합(예를 들어, 여기에 기술된 바와 같이 직접 또는 간접적으로 연결)되도록 구성될 수 있고, 메모리 디바이스로부터 떨어진 호스트에 연결된 데이터 버스에, 및/또는, 메모리 디바이스 상의 어레이의 일 뱅크를 메모리 디바이스 상의 일 어레이의 다른 뱅크에 연결하는 데이터 버스에, 더 결합될 수 있다.
일 예에서, 본 개시는 일부 실시예들에서, 로우가 감지될 때, 로우의 데이터 값들(예를 들어, 로우의 모든 16,384 개의 메모리 셀들로부터의 데이터 값들)이, 어레이에 대해 국한된 공유 I/O의 데이터 경로에서 컴퓨팅 유닛의 로직 스트라이프로 공유 I/O 라인상에서 추가로 이동되도록, 래치 구성요소, 가령, 감지 증폭기에 저장(가령, 캐싱)되도록 이동될 수 있다. 일례에서, 이천 개의 데이터 값(2K)은 래치로부터 2천개의(2K) 공유 I/O 라인을 통해 16,000개의 칼럼(예를 들어, 디지트 라인 쌍) x 8 웨이 멀티플렉서까지 컴퓨팅 유닛에 대한 로직 스트라이프 내 2천개의(2K) 컴퓨팅 구성요소(가령, 2K 비트)로 다중화될 수 있다. 다른 예에서, 천개의 데이터 값(1K)은 래치로부터 16,000 칼럼(가령, 디지털 라인 쌍) x 16 웨이 멀티플렉서까지 일천(1K)개의 공유 I/O 라인을 통해 컴퓨팅 유닛에 대한 로직 스트라이프 내 일천(1K) 컴퓨팅 구성요소(가령, 1K 비트)로 다중화될 수 있다. 이와 같이, 데이터 값이 빠져나간 뱅크, 서브 어레이 및/또는 로우의 메모리 셀은 그 안에 저장된 다른 데이터 값에 대한 동작을 수행하기 위해 이용될 수 있다(예를 들어, 어레이에 대해 로컬인 공유 I/O의 데이터 경로 내 컴퓨팅 유닛의 로직 스트라이프로 원래의 데이터 값을 이동시킴으로써).
본 명세서에서 사용되는 바와 같이, 데이터 이동은 예를 들어 데이터 값을 소스 위치로부터 목적지 위치로 복사, 전달(trasnferring) 및/또는 전송(transproting)하는 것을 포함하는 포괄적인 용어이다. 예를 들어, 데이터는 서브 어레이의 래치, 예를 들어 감지 증폭기로부터, 어레이에 대해 국한된 공유 I/O 라인의 데이터 경로에서 로직 스트라이프의 컴퓨팅 구성요소로 이동될 수 있다. 데이터 값을 복사하면, 래치에 저장된(캐시 된) 데이터 값이 복사되어 어레이에 대해 로컬인 공유 I/O 라인의 데이터 경로 내 로직 스트라이프의 컴퓨팅 구성요소로 이동하고, 서브어레이의 로우에 저장된 원래의 데이터 값이 변함없이 유지될 수 있다. 데이터 값을 전달(transferring)하면, 래치에 저장(캐시)된 데이터 값이 복사되어 어레이에 대해 로컬인 공유 I/O 라인의 데이터 경로 내 로직 스트라이프의 컴퓨팅 구성요소로 이동하고, 서브 어레이의 로우에 저장된 원래의 데이터 값 중 적어도 하나는 변경될 수 있다(예를 들어, 본 명세서에 기술된 바와 같이, 소거에 의해 및/또는 후속 기록 동작에 의해). 데이터 값의 전송은 복사 및/또는 전달 데이터 값이 이동하는 프로세스를 나타내는 데 사용될 수 있다(예: 데이터 값이 소스 위치에서 공유 I/O 라인 상에 배치되어 있다가 목적지 위치로 전송됨).
PIM DRAM 아키텍처의 구현은 감지 증폭기 및 컴퓨팅 구성요소 레벨(예를 들어, 로직 스트라이프)에서 프로세싱을 수행할 수 있다. PIM DRAM 아키텍처의 구현예에서는 유한한 수의 메모리 셀만이, 어레이에 대해 국한된 공유 I/O 라인의 데이터 경로 내 로직 스트라이프의 각 컴퓨팅 구성요소에 연결될 수 있다(예를 들어, 위의 한 예에서 제시된 바와 같이 약 1K 또는 1024개의 메모리 셀). 하나의 어레이는 약 8K 내지 약 16K 칼럼(한 쌍의 디지트 라인) 및 관련 감지 증폭기를 포함할 수 있다. 어레이의 뱅크는 4 개의 사분면으로 분할될 수 있고 각각의 사분면은 복수의 서브 어레이, 가령, 32개의 서브어레이를 가질 수 있다. 각각의 서브 어레이는 복수의 로우, 예를 들어 512 개의 로우를 가질 수 있고 약 16K 칼럼에 연결될 수 있다. 그러나, 실시예는이 예시적인 예에 제한되지 않는다.
일부 실시예들에서, 컴퓨팅 유닛의 일부로서 복수의 로직 스트라이프가 각각의 사분면과 연관될 수 있다. 예를 들어, 어레이에 대해 로컬인 공유 I/O 라인의 데이터 경로 내 컴퓨팅 유닛의 각 로직 스트라이프는 뱅크의 각 사분면 내 서브 어레이와 연관될 수 있다. 따라서, 위의 예에서, 어레이에 대해 로컬인 공유 I/O 라인의 데이터 경로의 컴퓨팅 유닛은 128 개의 로직 스트라이프(4 개의 사분면, 사분면 당 32 개의 서브 어레이 각각에 대한 하나의 로직 스트라이프)를 가질 수 있다. 그러나, 실시예는 이 예시적인 예에 제한되지 않는다. 일부 실시예에서, 메모리 뱅크(예를 들어, DRAM 어레이 내의 메모리 셀의 뱅크)는 약 1 기가비트의 메모리를 제공하기 위해 64K 로우 x 16K 칼럼의 DRAM을 포함할 수 있다.
본 개시는 어레이와 관련된 감지 회로로부터 이동(예를 들어, 복사, 전달, 및/또는 전송)된 데이터 값을 저장(캐시)하기 위한 감지 증폭기로서 기능하는 복수의 래치를 포함하는, 어레이에 대해 로컬인 공유 I/O 라인의 데이터 경로에서의 컴퓨팅 구성요소를 기술한다. 컴퓨팅 구성요소는 어레이에 대해 로컬인 복수의 공유 I/O 라인의 데이터 경로 내 컴퓨팅 유닛 내의 복수의 로직 스트라이프에 있을 수 있되, 복수의 로직 스트라이프는 각각 총 개수의 컴퓨팅 구성요소의 서브세트를 포함한다. 컴퓨팅 구성요소들(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)(가령, 도 1ab와 관련하여 도시 및 기술됨)은 어레이의 뱅크(121-1)에 대해 로컬인 복수의 공유 I/O 라인(155)의 데이터 경로의 피치와 동일한 피치를 갖는다. 실시예들에 따르면, 복수의 공유 I/O 라인(155)의 데이터 경로의 피치는 메모리 셀 어레이의 디지트 라인의 피치의 함수이다. 컴퓨팅 구성요소들(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)은 감지 회로(150) 및/또는 추가 래치(170)(도 1a에 도시 됨)에 의해 복수의 공유 I/O 라인(155)의 데이터 경로에 연결될 수 있다.
이와 같이, 이러한 아키텍처는 어레이에 대해 로컬인 복수의 공유 I/O 라인의 데이터 경로 내 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)로, 어레이의 로우에 저장된 데이터 값을 이동(예를 들어, 복사, 전달 및/또는 전송)하는 것을 용이하게 할 수 있다. 감지 증폭기를 구비하고, 일부 실시예에서 도 2에 도시된 바와 같이 컴퓨팅 구성요소를 또한 포함할 수 있는, 감지 회로(150)는 어레이에 대해 로컬인 복수의 공유 I/O 라인의 데이터 경로 내 컴퓨팅 유닛의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)에, 어레이 내 메모리 셀의 다중화된 칼럼으로부터의 메모리 셀을 결합할 수 있다. 이러한 방식으로, 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)는 (도 3-7과 연계하여 논의되는) 선택 로직을 이용하여 복수의 공유 I/O 라인(155)을 통해 칼럼의 메모리 셀에 간접적으로 연결될 수 있다.
본 명세서에 기술된 메모리 어레이 아키텍처는 방금 기술된 것 외에도 많은 이점을 제공할 수 있다. 예를 들어, 다른 동작의 실행(예를 들어, DDR4 I/O 동작의 실행)과 병행하여 메모리 셀에 저장된 데이터에 대해 PIM 동작이 수행될 수 있게함으로써 전체 처리 속도가 증가될 수 있다. 예를 들어, PIM 동작은 어레이에 대해 로컬인 복수의 공유 I/O 라인의 데이터 경로 내 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)를 가진 컴퓨팅 유닛에서 수행될 수 있다. 예를 들어, 제한없이, 일단 데이터 값이 어레이의 로우로부터 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)에 로딩되면, 컴퓨팅 동작은 60나노초의 어레이 내 로우를 파이어링하는데 필요한 예시적 시간에 비해, 데이터 값을 로우 내로 되돌릴 필요없이 2나노초의 속도로 컴퓨팅 유닛에서 제어될 수 있다. 이러한 방식으로, 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)는 로우의 원래 데이터 값이 일 로우 내로 다시 저장되거나 그외 다른 곳에 저장되거나 및/또는 기록될 때, 소정의 함수(가령, AND, OR, NOR, XOR, 덧셈, 뺄셈, 곱셈, 나눗셈, 등)의 실행을 위한 이동한 데이터 값의 저장을 제공한다. 도 5 및 도 6과 연계하여 더 논의되는 바와 같이, 어레이에 대해 로컬인 복수의 공유 I/O 라인의 데이터 경로 내 컴퓨팅 유닛의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)는 뱅크의 제어기에 의해 지시될 수 있다.
본 개시의 다음의 상세한 설명에서, 본 개시의 일부를 형성하고 본 개시의 하나 이상의 실시예들이 어떻게 실시될 수 있는지를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 개시의 실시예를 실시할 수 있도록 충분히 상세하게 설명되며, 다른 실시예가 이용될 수 있고 본 개시의 범위로부터 벗어나지 않으면서, 절차적, 전기적 및 구조적 변경이 이루어질 수 있음을 이해해야한다.
본 명세서에서 사용되는 바와 같이, 특히 도면에서 참조 번호와 관련하여 "X", "Y", "N", "M"등과 같은 지정자는, 이와 같이 지정된 다수의 특정 특징부가 포함도리 수 있음을 표시한다. 또한, 본 명세서에서 사용된 용어는 특정 실시예들을 설명하기 위한 것이며 제한하려는 것이 아님을 이해해야한다. 본 명세서에 사용된 바와 같이, 단수 형태 "일", "하나의" 및 "상기"는 문맥 상 명백하게 다르게 지시되지 않는 한, 단수형 및 복수형 지시자를 모두 포함할 수 있다. 또한, "다수", "적어도 하나" 및 "하나 이상"(예를 들어, 다수의 메모리 어레이)은 하나 이상의 메모리 어레이를 지칭할 수 있는 반면, "복수"는 그런 것들 중 하나보다 많음을 의미한다. 또한, "할 수 있는" 및 "될 수 있는"이라는 단어는 본 출원 전체에서 강제적(즉, 필수적)인 의미가 아닌 허용적인 의미(즉, 가능할 수 있는 가능성을 가짐)로 사용된다. "포함하는" 및 그 파생어는 "포함하지만 이에 제한되지 않는"을 의미한다. "결합된"및 "결합"이라는 용어는 문맥에 따라 적절하게, 물리적으로 또는 명령 및/또는 데이터의 액세스 및 이동(전송)을 위해 직접적으로 또는 간접적으로 연결되는 것을 의미한다. "데이터"및 "데이터 값"이라는 용어는 본 명세서에서 상호 교환 가능하게 사용되며 문맥에 따라 동일한 의미를 가질 수 있다.
본 명세서에 설명된 바와 같이, 복수의 공유 I/O 라인(155)은 각 어레이에 연결된 선택 로직을 통해 메모리 셀의 복수의 서브 어레이, 뱅크 섹션, 사분면, 로우 및/또는 특정 칼럼에 의해 선택적으로 공유될 수 있다. 예를 들어, 다수의 칼럼의 선택가능한 서브세트(가령, 총 개수의 칼럼 중 8개, 16개, 등의 칼럼 서브세트) 각각에 대해 감지 증폭기 및 선택 로직을 포함한, 감지 회로(150) 및/또는 추가 래치(170)는, 복수의 공유 I/O 라인의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)로 데이터 값이 이동하도록 복수의 공유 I/O 라인(155) 각각에 선택적으로 연결될 수 있다. 일부 실시예에서, 복수의 공유 I/O 라인(155) 각각에 선택가능하게 결합되는 복수의 컴퓨팅 구성요소(131-1,..., 131-M)는 복수의 공유 I/O 라인에 선택가능하게 연결되는 다수의 칼럼, 가령, 2K, 1K, 등에 대응할 수 있다. "일", "하나의" 및 "상기"의 단수 형태가 본 명세서에서 단수형 및 복수형을 모두 포함할 수 있기 때문에, "하나의 공유 I/O 라인"은 반대의 표현이 명백하지 않을 경우 "공유 I/O 라인의 상보적 쌍"을 지칭하기 위해 사용될 수 있다. 또한, "공유 I/O 라인들"은 "복수의 공유 I/O 라인"의 약어이다.
본 명세서의 도면은 첫번째 숫자가 도면 번호에 대응하고 나머지 숫자는 도면의 요소 또는 구성 요소를 식별하는 번호 부여 규칙을 따른다. 상이한 도면들 사이의 유사한 요소 또는 구성 요소는 유사한 디지트를 사용함으로써 식별될 수 있다. 예를 들어, 108은 도 1a에서 "08" 요소를 지칭할 수 있고, 유사한 요소는 도 2에서 208로 참조될 수 있다. 이해될 바와 같이, 본 명세서의 다양한 실시예들에 도시된 요소들은 본 개시의 다수의 추가 실시예들을 제공하기 위해 추가, 교환 및/또는 제거될 수 있다. 또한, 도면들에 제공된 요소들의 비율 및/또는 상대적인 스케일은 본 개시의 특정 실시예들을 예시하기 위한 것이며 제한적인 의미로 간주되어서는 안된다.
도 1a는 본 개시의 다수의 실시예들에 따른 메모리 어레이(130)를 포함하는 메모리 디바이스(120)를 포함하는 컴퓨팅 시스템(100) 형태의 장치의 블록도이다. 본 명세서에서 사용되는 바와 같이, 메모리 디바이스(120), 제어기(140), 메모리 어레이(130), 감지 회로(150) 및/또는 다수의 추가 래치(170)는 또한 별도로 "장치"로 간주될 수 있다.
본 명세서에 사용된 바와 같이, 추가 래치는 어레이 내 메모리 셀들의 데이터 값을 감지, 결합, 및/또는 이동(가령, 판독, 저장, 캐시)시키는, 그리고 도 1b, 3-4, 및 6-7에 도시된 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)와는 구별되는, 추가 기능(가령, 증폭기, 선택 로직)을 의미한다. 도 1ab에 도시된 바와 같이, 어레이에 대해 로컬인 복수의 공유 입력/출력(I/O) 라인(155)의 데이터 경로 내 로직 스트라이프(124-1,..., 124-N)는 뱅크(121-1) 내 메모리 셀의 다양한 뱅크 섹션(123-1,..., 123-N)과 연계도리 수 있다. 뱅크(121-1)는 메모리 디바이스(120)상의 복수의 뱅크 중 하나 일 수 있다.
도 1a의 시스템(100)은 메모리 디바이스(120)에 결합된(예를 들어, 연결된) 호스트(110)를 포함한다. 호스트(110)는 다양한 다른 유형의 호스트 중에서 개인용 랩톱 컴퓨터, 데스크탑 컴퓨터, 디지털 카메라, 스마트 폰, 또는 메모리 카드 판독기와 같은 호스트 시스템일 수 있다. 호스트(110)는 시스템 마더 보드 및/또는 백플레인을 포함할 수 있고, 다수의 처리 자원(예를 들어, 하나 이상의 프로세서, 마이크로 프로세서 또는 일부 다른 유형의 제어 회로)을 포함할 수 있다. 시스템(100)은 별개의 집적 회로를 포함할 수 있고, 또는, 호스트(110)와 메모리 디바이스(120)가 모두 동일한 집적 회로 상에 있을 수 있다. 시스템(100)은 예를 들어 서버 시스템 및/또는 고성능 컴퓨팅(HPC) 시스템 및/또는 그 일부일 수 있다. 도 1a에 도시된 예는 종종 폰 뉴만(Von Neumann) 아키텍처와 관련된 하나 이상의 구성요소(가령, CPU, ALU, 등)를 포함할 수 없는, 논-폰 뉴만 아키텍처로 구현도리 수 있다.
명확성을 위해, 시스템(100)은 본 개시와 특히 관련이 있은 특징들에 초점을 맞추도록 단순화되었다. 메모리 어레이(130)는 다른 유형의 어레이 중에서 DRAM 어레이, SRAM 어레이, STT RAM 어레이, PCRAM 어레이, TRAM 어레이, RRAM 어레이, NAND 플래시 어레이 및/또는 NOR 플래시 어레이 일 수 있다. 어레이(130)는 액세스 라인들(본 명세서에서 워드 라인 또는 선택 라인으로 지칭될 수 있음)에 의해 연결된 로우들 및 감지 라인들(본 명세서에서 데이터 라인 또는 디지트 라인으로 지칭될 수 있음)에 의해 연결된 칼럼으로 배열된 메모리 셀을 포함할 수 있다. 단일 어레이(130)가 도 1a에 도시되어 있지만, 실시예는 그렇게 제한되지 않는다. 예를 들어, 메모리 디바이스(120)는 다수의 어레이(130)(예를 들어, 다수의 DRAM 셀 뱅크, NAND 플래시 셀 등)를 포함할 수 있다.
메모리 디바이스(120)는 (예를 들어, 외부 ALU 회로에 또는 로컬 I/O 라인 및 전역 I/O 라인을 통해 DRAM DQ에 제공되는) I/O 회로(144)에 의해 데이터 버스(156)(예를 들어, 호스트(110)에 연결된 I/O 버스)를 통해 제공된 어드레스 신호를 래치하기 위한 주소 회로(142)를 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, DRAM DQ는 버스(예를 들어, 데이터 버스(156))를 통해 뱅크로부터(예를 들어, 제어기(140) 및/또는 호스트(110) 내외로) 데이터의 입력 및/또는 데이터의 출력을 가능하게할 수 있다. 기록 동작 동안, 전압(높음 = 1, 낮음 = 0)이 DQ(예를 들어, 핀)에 인가될 수 있다. 이 전압은 적절한 신호로 변환되어 선택된 메모리 셀에 저장될 수 있다. 판독 동작 동안, 액세스가 완료되면, 선택된 메모리 셀로부터 판독된 데이터 값이 DQ에 나타날 수 있고, 출력이 인에이블될 수 있다(예를 들어, 출력 인에이블 신호가 낮음에 의해). 다른 경우에, DQ는 높은 임피던스 상태에 있을 수 있어서, DQ는 전류를 소싱 또는 싱킹하지 않으며 시스템에 신호를 나타내지 않는다. 이것은 또한 본 명세서에 설명된 바와 같이 둘 이상의 디바이스(예를 들어, 뱅크)가 조합 데이터 버스를 공유할 때 DQ 경합을 감소시킬 수 있다. 이러한 DQ는 어레이(130)에 대해 로컬인 데이터 경로 내(도 1ab에서) 복수의 공유 I/O 라인(155)과 분리되어 구별된다.
상태 및 예외 정보는 예를 들어 대역 외(OOB) 버스(157), 예를 들어 고속 인터페이스(HSI)를 통해 메모리 디바이스(120)의 제어기(140)로부터 채널 제어기(143)로 제공될 수 있고, 이는 다시 채널 제어기(143)로부터 호스트(110)로 제공될 수 있다. 채널 제어기(143)는 복수의 메모리 디바이스(120) 각각에 대한 동작과 관련된 다양한 뱅크들에 대한 뱅크 명령, 애플리케이션 명령어(가령, 동작 순서에 대한), 및 아규먼트(PIM 명령)를 저장하도록 각자의 뱅크의 어레이 내 복수의 위치(가령, 서브어레이용 제어기)를 할당하기 위해 로직 구성요소를 포함할 수 있다. 채널 제어기(143)는 복수의 메모리 디바이스(120)에 명령(가령, PIM 명령)을 급파하여, 메모리 디바이스(120)의 주어진 뱅크(121)(도 1ab) 내에 이러한 프로그램 명령어를 저장할 수 있다.
어드레스 신호는 어드레스 회로(142)를 통해 수신되고 로우 디코더(146) 및 칼럼 디코더(152)에 의해 디코딩되어 메모리 어레이(130)에 액세스한다. 데이터는 감지 회로(150)의 앞서 기술된 다수의 감지 증폭기를 이용하여 감지 라인(디지트 라인) 상의 전압 및/또는 전류 변화를 감지함으로써 메모리 어레이(130)로부터 감지(판독)될 수 있다. 감지 증폭기는 메모리 어레이(130)로부터 데이터의 페이지(예를 들어, 로우)를 판독하고 래치할 수 있다. 추가의 컴퓨팅 회로가, 본 명세서에 기술된 바와 같이, 감지 회로(150)에 결합될 수 있고, 감지 증폭기와 조합하여 데이터를 감지, 저장(예를 들어, 캐시 및/또는 버퍼), 컴퓨팅 기능 수행(예를 들어, 동작) 및/또는 이동시키기 위해 사용될 수 있다. I/O 회로(144)는 데이터 버스(156)(예를 들어, 64 비트 폭 데이터 버스)를 통해 호스트(110)와의 양방향 데이터 통신을 위해 사용될 수 있다. 기록 회로(148)는 메모리 어레이(130)에 데이터를 기록하는데 사용될 수 있다.
제어기(140)(예를 들어, 도 5에 도시된 뱅크 제어 로직, 시퀀서 및 타이밍 회로)는 호스트(110)로부터 제어 버스(154)에 의해 제공되는 신호(예를 들어, 명령)를 디코딩할 수 있다. 이들 신호는 다양한 다른 동작들 중에서, 데이터 감지, 데이터 저장, 데이터 이동(예를 들어, 데이터 값의 복사, 전달 및/또는 전송), 데이터 기록 및/또는 데이터 소거 동작을 포함한, 메모리 어레이(130)에서 수행되는 동작을 제어하는데 사용될 수 있는 칩 인에이블 신호, 기록 인에이블 신호, 및/또는 어드레스 래치 신호를 포함할 수 있다. 다양한 실시예에서, 제을 할(140)는 호스트(110)로부터 명령어를 실행하고 메모리 어레이(130)에 액세스할 책임이 있다. 제어기(140)는 상태 머신, 시퀀서, 또는 다른 유형의 제어기일 수 있다. 제어기(140)는 어레이(예를 들어, 메모리 어레이(130))의 로우에서 데이터 시프팅(예를 들어, 우측 또는 좌측)을 제어하고, 예컨대 AND, OR, NOR, XOR, 덧셈, 뺄셈, 곱셈, 나눗셈, 등과 같은 컴퓨팅 동작의 연산을 수행하기 위해 마이크로 코드 명령어를 실행할 수 있다.
감지 회로(150)의 예는 아래에서 더 설명된다(예를 들어, 도 2 및 3에서). 예를 들어, 일부 실시예에서, 감지 회로(150)는, 누산기 역할을 할 수 있고 각각의 서브 어레이에서(예를 들어, 상보적 감지 라인과 관련된 데이터에 대한) 연산을 수행하는 데 사용될 수 있는, 다수의 감지 증폭기 및 다수의 컴퓨팅 구성요소를 포함할 수 있다.
일부 실시예에서, 감지 회로(150)는 메모리 어레이(130)에 저장된 데이터를 입력으로서 사용하여 동작을 수행하고, 감지 라인 어드레스 액세스를 통해 데이터를 전달함없이(예를 들어, 칼럼 디코딩 신호를 발생없이), 복사, 전달, 전송, 기록, 논리 및/또는 저장 동작을 위한 데이터의 이동에 참여하는 데 사용될 수 있다. 메모리 어레이(130) 내의 상이한 위치. 이와 같이, 다양한 컴퓨팅 기능은 감지 회로(150) 외부의 처리 자원에 의해(가령, 호스트(110)와 관련된 프로세서에 의해, 또는, 제어기(140) 상에서 또는 그외 다른 곳에서 디바이스(120) 상에 위치하는 ALU 회로와 같은 다른 처리 회로에 의해) 수행되기보다(또는 처리 자원과 연관되기보다), 감지 회로(150)를 이용하여 감지 회로 내에서 수행될 수 있다. 그러나, 또한, 본 개시에 따른 실시예는 어레이의 로우로부터 컴퓨팅 유닛 내 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)로 이동된 데이터 값에 대해 컴퓨팅 기능을 수행한다. 예를 들어, 실시예에 따르면, 60 나노초(ns)의 어레이의 로우를 파이어링하는데 필요한 예시적인 시간과 비교하여, 데이터 값을 로우로 다시 이동시킬 필요없이 2 나노초(ns)의 속도로 컴퓨팅 유닛에서 컴퓨팅 동작이 제어될 수 있다.
다양한 이전의 접근법에서, 예를 들어, 피연산자와 관련된 데이터는 감지 회로를 통해 메모리로부터 판독되고 I/O 라인을 통해(예를 들어, 로컬 I/O 라인 및/또는 글로벌 I/O 라인을 통해) 외부 ALU 회로에 제공될 것이다. 외부 ALU 회로는 다수의 레지스터를 포함할 수 있고 피연산자를 사용하여 컴퓨팅 기능을 수행할 것이며, 결과는 I/O 회로(144)를 통해 어레이로 다시 전달될 것이다.
대조적으로, 본 개시에 따른 실시예는 어레이에 대해 로컬인 데이터 경로 내 컴퓨팅 유닛에서, 어레이의 로우로부터 복수의 공유 I/O 라인(155)을 통해 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)로 이동된, 데이터 값에 대한 컴퓨팅 기능을 수행한다. 또한, 감지 회로(150)는 메모리 어레이(130)에 저장된 데이터에 대한 동작을 수행하고 그 결과를 감지 회로에 연결된 I/O 라인(예를 들어, 로컬 I/O 라인)을 인에이블시키지 않고 메모리 어레이(130)에 다시 저장하도록 구성될 수 있다. 그러나, 일단 로딩되면, 컴퓨팅 동작은 가령, 60ns와 같이, 어레이 내 로우를 파이어링하는데 필요한 예시적 시간에 비해, 데이터 값을 다시 로우 내로 이동시킬 필요없이, 훨씬 빠르게, 가령, 2ns의 속도로, 컴퓨팅 유닛에서 제어될 수 있다. 감지 회로(150)는 어레이의 메모리 셀과 규칙적으로(on pitch)형성될 수 있다. 복수의 공유 I/O 라인(155)의 데이터 경로와 관련된 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)는 데이터 경로의 피치와 동일한 피치이자, 메모리 셀의 어레이에 대한 디지트 라인의 피치의 함수인 피치를 갖는다. 예를 들어, 컴퓨팅 구성요소는 메모리 셀의 어레이에 대한 디지트 라인의 피치의 정수배인 피치를 가진다.
예를 들어, 본 명세서에 설명된 감지 회로(150)는 한 쌍의 상보적 감지 라인(예컨대, 디지트 라인)과 동일한 피치로 형성될 수 있다. 예로서, 한 쌍의 상보 메모리 셀은 6F2 피치(예를 들어, 3F x 2F)를 갖는 셀 크기를 가질 수 있으며, 여기서 F는 피쳐 크기이다. 상보적 메모리 셀들에 대한 한 쌍의 상보 감지 라인들의 피치가 3F이면, 규칙적 피치의 감지 회로는 감지 회로(예를 들어, 각각의 상보 감지 라인 쌍당 감지 증폭기 및 대응하는 컴퓨팅 구성요소)가 상보 감지 라인의 3F 피치 내에 들어맞도록 형성됨을 나타낸다. 마찬가지로, 복수의 공유 I/O 라인(155)의 데이터 경로와 관련된 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)는 상보적 감지 라인의 3F 피치의 함수인 피치를 가진다. 예를 들어, 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)는 메모리 셀 어레이에 대한 디지트 라인의 3F 피치의 정수배인 피치를 가질 것이다.
대조적으로, 다양한 종래 시스템의 처리 자원(들)(예를 들어, ALU와 같은 컴퓨팅 엔진)의 회로는 메모리 어레이와 관련된 피치 규칙을 따르지 않을 수 있다. 예를 들어, 메모리 어레이의 메모리 셀은 4F2 또는 6F2 셀 크기를 가질 수 있다. 따라서, 이전 시스템의 ALU 회로와 관련된 디바이스(예를 들어, 논리 게이트)는 메모리 셀과 규칙적으로(가령, 감지 라인과 동일 리치로) 형성되지 않을 수 있고, 이는 예를 들어, 칩 크기 및/또는 메모리 밀도에 영향을 미칠 수 있다. 일부 컴퓨팅 시스템 및 서브 시스템(예를 들어, 중앙 처리 장치(CPU))과 관련하여, 데이터는 여기서 설명되는 바와 같이, 메모리(예를 들어, 어레이의 메모리 셀)와 함께 규칙적 피치 및/또는 칩이 아닌 위치에서 처리될 수 있다. 예를 들어, 데이터는 가령, 메모리와 규칙적 피치가 아니라, 호스트와 관련된 처리 자원에 의해 처리될 수 있다.
이와 같이, 다수의 실시예들에서, 감지 회로(150)가 그러한 컴퓨팅 기능들을 수행하기 위해 적절한 동작들을 수행하거나 또는 외부 처리 자원 이용없이 어레이에 대해 로컬인 복수의 공유 I/O 라인의 데이터 경로에서 이러한 동작들을 수행할 수 있기 때문에, 어레이(130) 및 감지 회로(150) 외부의 회로가 컴퓨팅 기능들을 수행하기 위해 필요하지 않다. 따라서, 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N) 및/또는 감지 회로(150)는 이러한 외부 처리 자원(또는 이러한 외부 처리 자원의 적어도 대역폭 소비)을 적어도 어느 정도 보완하거나 대체하는데 사용될 수 있다. 일부 실시예들에서, 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N) 및/또는 감지 회로(150)는 외부 처리 자원(예를 들어, 호스트(110))에 의해 수행된 동작에 추가하여 동작 수행(예를 들어, 명령어 실행)을 위해 사용될 수 있다. 예를 들어, 호스트(110) 및/또는 감지 회로(150)는 특정 동작만을 및/또는 특정 수의 동작만을 수행하도록 제한될 수 있다.
본 명세서에 기술된 동작은 메모리-내 처리(PIM) 가능 디바이스와 관련된 동작을 포함할 수 있다. PIM 가능 디바이스 작업은 비트 벡터 기반 작업을 사용할 수 있다. 본 명세서에서 사용되는 용어 "비트 벡터"는 메모리 셀 어레이의 로우에 물리적으로 연속적으로 저장된 비트 벡터 메모리 디바이스(예를 들어, PIM 디바이스)상의 물리적으로 인접한 수의 비트를 의미하는 것으로 의도된다. 따라서, 본 명세서에서 사용되는 "비트 벡터 연산"은 가상 어드레스 공간의 연속 부분(예를 들어, PIM 디바이스에 의해 사용되는)인 비트 벡터상에서 수행되는 연산을 의미하는 것으로 의도된다. 예를 들어, PIM 디바이스에서 가상 어드레스 공간의 로우는 16K 비트의 비트 길이를 가질 수 있다(예를 들어, DRAM 구성에서 16K 상보적 메모리 셀 쌍에 대응함). 본 명세서에 기술된 바와 같이, 이러한 16K 비트 로우에 대한 감지 회로(150)는 16 비트 로우의 대응하는 메모리 셀에 선택적으로 결합된 감지 라인과 일정 피치로 형성된 대응하는 16K 처리 소자(예를 들어, 본 명세서에 기술된 바와 같은 컴퓨팅 구성요소)를 포함할 수 있다. PIM 디바이스의 컴퓨팅 구성요소는 감지 회로(150)에 의해 감지된(예를 들어, 여기서 기술되는 바와 같이, 컴퓨팅 구성요소와 짝을 이룬 감지 증폭기에 의해 감지되거나 및/또는 감지 증폭기에 저장된) 메모리 셀의 로우의 비트 벡터의 단일 비트 상에서 일 비트 처리 요소(PE)로서 동작할 수 있다. 마찬가지로, 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)는 어레이에서 감지된 메모리 셀의 로우의 비트 벡터의 단일 비트 상에서 일 비트 처리 요소(PE)로 동작할 수 있다.
I/O 라인을 인에이블링하는 것은 디코드 신호(예를 들어, 칼럼 디코드 신호)에 연결된 게이트 및 I/O 라인에 연결된 소스/드레인을 갖는 트랜지스터를 인에이블(예를 들어, 턴-온, 활성화)하는 것을 포함할 수 있다. 그러나, 실시예들은 I/O 라인을 인에이블링하지 않는 것으로 제한되지 않는다. 예를 들어, 다수의 실시예들에서, 감지 회로(예를 들어, 150)는 어레이의 칼럼 디코딩 라인들의 인에이블링없이 동작들을 수행하기 위해 사용될 수 있다.
그러나, 복수의 공유 I/O 라인(155)은 컴퓨팅 동작이 더 빨리 제어될 수 있도록 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)에 데이터 값을 로딩하기 위해 인에이블링될 수 있다. 예를 들어, 컴퓨팅 유닛 내 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)에서, 컴퓨팅 동작은 2나노초(ns)의 속도로 수행될 수 있다. 이러한 속도 향상은 어레이 내 로우의 파이어링에 사용되는 관련 시간(60 나노초(ns))과 함께 데이터 값을 로우 내로 다시 이동시킬 필요없음에 기인할 수 있다.
도 1ab는 본 개시의 다수의 실시예들에 따른 메모리 디바이스의 뱅크(121-1)의 블록도이다. 예를 들어, 뱅크(121-1)는 메모리 디바이스(120)의 예시적인 뱅크를 나타낼 수 있다. 도 1ab에 도시된 바와 같이, 뱅크(121-1)는 (X로 수평으로 도시 된) 복수의 메인 메모리 칼럼(예를 들어, 예시 DRAM 뱅크에서 16,384 개의 칼럼)을 포함할 수 있다. 또한, 뱅크(121-1)는 뱅크 섹션(예를 들어, 32 개의 서브 어레이의 사분면)(123-1, 123-2,…. 123-N)으로 나누어질 수 있다. 각각의 뱅크 섹션은 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및 로직 스트라이프(124-1,..., 124-N)와 연관될 수 있다. 뱅크 섹션(123-1,..., 123-N) 각각은 (Y로 수직으로 도시된) 복수의 로우를 포함할 수 있다(가령, 각각의 섹션은 에시 DRAM 뱅크에서 512개의 로우를 각각 포함할 수 있는 32개의 서브어레이를 포함하는 사분면일 수 있음). 예시적인 실시예는 여기에 설명된 칼럼 및 로우의 예시적인 수평 및/또는 수직 배향 또는 그 예시 개수에 제한되지 않는다.
도 1ab에 도시된 바와 같이, 뱅크(121-1)는 복수의 뱅크 섹션(123-1,..., 123-N)으로 분할될 수 있다. 각각의 뱅크 섹션은 관련된 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및 로직 스트라이프(124-1,..., 124-N)를 가질 수 있다. 뱅크(121-1)는 복수의 공유 I/O 라인(155)의 데이터 경로 내 컴퓨팅 유닛의 복수의 컴퓨팅 구성요소(131-1,..., 131-M) 및/또는 로직 스트라이프(124-1,..., 124-N)에 로딩된 데이터 값에 대한 동작을 지시하기 위해 제어기(140)를 포함할 수 있다.
도 2는 본 개시의 다수의 실시예에 따른 감지 회로(250)를 도시한 개략도이다. 감지 회로(250)는 도 1a에 도시된 감지 회로(150)에 대응할 수 있다.
도 2의 예시적인 실시예에 도시된 바와 같이, 메모리 셀은 저장 소자(예를 들어, 커패시터) 및 액세스 디바이스(예를 들어, 트랜지스터)를 포함할 수 있다. 예를 들어, 제 1 메모리 셀은 트랜지스터(202-1) 및 커패시터(203-1)를 포함할 수 있고, 제 2 메모리 셀은 트랜지스터(202-2) 및 커패시터(203-2) 등을 포함할 수 있다. 이 실시예에서, 메모리 어레이(230)는 1T1B(일 트랜지스터 일 커패시터) 메모리 셀의 DRAM 어레이이며, 하지만다. 구성의 다른 실시예(예를 들어, 메모리 셀당 2 개의 트랜지스터 및 2 개의 커패시터를 갖는 2T2C)가 사용될 수 있다. 다수의 실시예들에서, 메모리 셀들은 파괴적인 판독 메모리 셀 들일 수 있다(예를 들어, 셀에 저장된 데이터를 판독하는 것은 셀에 원래 저장된 데이터가 판독된 후에 리프레쉬되도록 데이터를 파괴한다).
메모리 어레이(230)의 셀은 액세스(워드) 라인(204-X)(로우 X), 204-Y(로우 Y) 등에 의해 결합된 로우, 및 상보적 감지 라인 쌍(예를 들어, 도 2에 도시된 디지트 라인 DIGIT(D) 및 DIGIT(D)_)에 의해 결합된 칼럼으로 배열될 수 있다. 각각의 상보적 감지 라인 쌍에 대응하는 개별 감지 라인은 각각 DIGIT(D)의 경우 디지트 라인(205-1) 및 DIGIT(D)_의 경우 디지트 라인(205-2), 또는 도 3 및 4a-4b의 대응하는 참조 번호로 또한 지칭될 수 있다. 상보적 디지트 라인의 한 쌍만이 도 2에 도시되어 있지만, 본 개시의 실시예는 그렇게 제한되지 않으며, 메모리 셀의 어레이는 디지트 라인 및 메모리 셀의 추가 칼럼(예를 들어, 4,096, 8,192, 16,384개, 등)을 포함할 수 있다.
로우 및 칼럼이 평면에서 직교 배향된 것으로 도시되어 있지만, 실시예는 그렇게 제한되지 않는다. 예를 들어, 로우 및 칼럼은 임의의 가능한 3 차원 구성에서 서로에 대해 배향될 수 있다. 예를 들어, 로우 및 칼럼은 서로에 대해 임의의 각도로 배향될 수 있고, 실질적으로 수평 평면 또는 실질적으로 수직 평면으로 배향될 수 있고/있거나 다른 가능한 3 차원 구성 중에서 접힌 토폴로지로 배향될 수 있다.
메모리 셀은 상이한 디지트 라인 및 워드 라인에 연결될 수 있다. 예를 들어, 트랜지스터(202-1)의 제 1 소스/드레인 영역은 디지트 라인(205-1(D))에 연결될 수 있고, 트랜지스터(202-1)의 제 2 소스/드레인 영역은 커패시터(203-1)에 연결될 수 있고, 트랜지스터(202-1)의 게이트는 워드 라인(204-Y)에 연결될 수 있다. 트랜지스터(202-2)의 제 1 소스/드레인 영역은 디지트 라인(205-2(D)_)에 연결될 수 있고, 트랜지스터(202-2)의 제 2 소스/드레인 영역은 커패시터(203-2)에 연결될 수 있으며, 트랜지스터(202-2)는 워드 라인(204-X)에 연결될 수 있다. 도 2에 도시된 바와 같이, 셀 플레이트는 각각의 커패시터(203-1 및 203-2)에 결합될 수 있다. 셀 플레이트는 다양한 메모리 어레이 구성에서 기준 전압(예를 들어, 접지)이 인가될 수 있는 공통 노드 일 수 있다.
메모리 어레이(230)는 본 개시의 많은 실시예들에 따라 감지 회로(250)에 연결되도록 구성된다. 이 실시예에서, 감지 회로(250)는 감지 증폭기(206) 및 각각의 메모리 셀 칼럼에 대응하는(예를 들어, 상보적 디지트 라인의 각 쌍에 결합 된) 컴퓨팅 구성요소(231)를 포함한다. 감지 증폭기(206)는 한 쌍의 상보적 디지트 라인(205-1 및 205-2)에 연결될 수 있다. 컴퓨팅 구성요소(231)는 패스 게이트(207-1 및 207-2)를 통해 감지 증폭기(206)에 연결될 수 있다. 패스 게이트(207-1, 207-2)의 게이트는 동작 선택 로직(213)에 연결될 수 있다.
동작 선택 로직(213)은 감지 증폭기(206)와 컴퓨팅 구성요소(231) 사이에 전이되지 않은 한 쌍의 상보적 디지트 라인을 결합하는 패스 게이트를 제어하기 위한 패스 게이트 로직과, 감지 증폭기(206)와 컴퓨팅 구성요소(231) 사이에 전송되는 한 쌍의 상보적 디지트 라인을 결합하는 스왑 게이트를 제어하기 위한 스왑 게이트 로직을 포함하도록 구성될 수 있다. 연산 선택 로직(213)은 또한 한 쌍의 상보적 디지트 라인(205-1 및 205-2)에 연결될 수 있다. 동작 선택 로직(213)은 선택된 동작에 기초하여 패스 게이트(207-1 및 207-2)의 연속성을 제어하도록 구성될 수 있다.
감지 증폭기(206)는 선택된 메모리 셀에 저장된 데이터 값(예를 들어, 논리 상태)을 결정하도록 동작될 수 있다. 감지 증폭기(206)는 본 명세서에서 1 차 래치로 지칭될 수 있는 크로스 결합 래치를 포함할 수 있다. 도 2에 도시된 예에서, 감지 증폭기(206)에 대응하는 회로는 한 쌍의 상보적 디지트 라인(D 205-1 및(D)_205-2)에 연결된 4 개의 트랜지스터를 포함하는 래치(215)를 포함한다. 그러나, 실시예는 이 예에 한정되지 않는다. 래치(215)는 n- 채널 트랜지스터(예를 들어, NMOS 트랜지스터)(227-1 및 227-2)와 같은 교차 결합 래치(예를 들어,한 쌍의 트랜지스터의 게이트) 일 수 있고, 예를 들어 p- 채널 트랜지스터(예를 들어, PMOS 트랜지스터)(229-1 및 229-2)와 같은, 다른 한 쌍의 트랜지스터의 게이트와 교차 결합될 수 있다. 트랜지스터(227-1, 227-2, 229-1, 229-2)를 포함하는 교차 결합 래치(215)는 1 차 래치로 지칭될 수 있다.
동작시, 메모리 셀이 감지(예를 들어, 판독)될 때, 디지트 라인(205-1(D) 또는 205-2(D)_) 중 하나의 전압은 디지트 라인 205-1(D) 또는 205-2(D)_ 중 다른 하나의 전압보다 약간 더 클 것이다. ACT 신호 및 RNL* 신호는 감지 증폭기(206)를 인에이블(예를 들어, 파이어링)시키기 위해 로우 값으로 구동될 수 있다. 더 낮은 전압을 갖는 디지트 라인(205-1(D) 또는 205-2(D)_)은 PMOS 트랜지스터(229-1 또는 229-2) 중 하나를 PMOS 트랜지스터(229-1 또는 229-2)의 다른 하나보다 더 큰 정도로 턴온할 것이며, 따라서 다른 디지트 라인(205-1(D) 또는 205-2(D)_)보다 더 크게 보다 높은 전압을 가진 디지트 라인(205-1(D) 또는 205-2(D)_)을 구동하여, 하이 값으로 구동된다.
유사하게, 보다 높은 전압을 갖는 디지트 라인(205-1(D) 또는 205-2(D)_)은 NMOS 트랜지스터(227-1 또는 227-2) 중 하나를 NMOS 트랜지스터(227-1 또는 227-2) 중 다른 하나보다 더 크게 턴온하여, 다른 디지트 라인(205-1(D) 또는 205-2(D)_)보다 더 크게 보다 낮은 전압을 갖는 디지트 라인(205-1(D) 또는 205-2(D)_)을 로우 값으로 구동 시킨다. 결과적으로, 짧은 지연 후에, 약간 더 큰 전압을 갖는 디지트 라인(205-1(D) 또는 205-2(D)_)은 소스 트랜지스터를 통해 공급 전압(VCC)의 전압으로 구동되고, 다른 디지트 라인(205-1(D) 또는 205-2(D)_)은 싱크 트랜지스터를 통해 기준 전압(예를 들어, 접지)의 전압으로 구동된다. 따라서, 교차 결합된 NMOS 트랜지스터(227-1 및 227-2) 및 PMOS 트랜지스터(229-1 및 229-2)는 감지 증폭기 쌍으로서 기능하여, 디지트 라인(205-1(D) 또는 205-2(D)_)의 차동 전압을 증폭시키고, 선택된 메모리 셀로부터 감지된 데이터 값을 래치하도록 동작한다.
실시예는 도 2에 도시된 감지 증폭기(206) 구성으로 제한되지 않는다. 예로서, 감지 증폭기(206)는 전류 모드 감지 증폭기 및 단일 종단 감지 증폭기(예를 들어, 하나의 디지트 라인에 결합된 감지 증폭기)일 수 있다. 또한, 본 개시의 실시예는 도 2에 도시된 것과 같은 접힌 디지트 라인 아키텍처로 제한되지 않는다.
감지 증폭기(206)는 컴퓨팅 구성요소(231)와 함께 어레이로부터의 데이터를 입력으로서 사용하여 다양한 동작을 수행하도록 동작될 수 있다. 다수의 실시예들에서, 동작의 결과는 디지트 라인 어드레스 액세스를 통해 데이터를 전송하지 않고(예를 들어, 데이터가 로컬 I/O 라인을 통해 어레이 및 감지 회로로부터 외부의 회로로 전송되도록 칼럼 디코드 신호를 발생시키지 않고) 어레이로 다시 저장될 수 있다. 이와 같이, 본 개시의 다수의 실시예는 다양한 이전의 접근법보다 적은 전력을 사용하여 동작 및 관련 컴퓨팅 기능을 수행할 수 있다. 또한, 다수의 실시예는 컴퓨팅 기능을 수행하기 위해(예를 들어, 메모리와 이산 프로세서 사이에서) 로컬 및 글로벌 I/O 라인을 통해 데이터를 전송할 필요가 없기 때문에, 많은 실시예는 종래의 접근 방식에 비해 향상된(예를 들어, 더 빠른) 처리 기능을 얻을 수 있다.
감지 증폭기(206)는 디지트 라인(205-1(D) 및 205-2(D)_)을 평형화하도록 구성될 수 있는 평형 회로(214)를 더 포함할 수 있다. 이 예에서, 평형 회로(214)는 디지트 라인(205-1(D) 및 205-2(D)_) 사이에 연결된 트랜지스터(224)를 포함한다. 평형 회로(214)는 또한 평형 전압(예를 들어, VDD/2)에 연결된 제 1 소스/드레인 영역을 각각 갖는 트랜지스터(225-1 및 225-2)를 포함하며, 여기서 VDD는 어레이와 관련된 공급 전압이다. 트랜지스터(225-1)의 제 2 소스/드레인 영역은 디지트 라인(205-1(D))에 연결될 수 있고, 트랜지스터(225-2)의 제 2 소스/드레인 영역은 디지트 라인(205-2(D)_)에 연결될 수 있다. 트랜지스터(224, 225-1 및 225-2)의 게이트는 함께 평형(EQ) 제어 신호 라인(226)에 연결될 수 있다. 이와 같이, EQ를 활성화시키면 트랜지스터(224, 225-1 및 225-2)가 활성화되어, 디지트 라인(205-1(D) 및 205-2(D)_)을 함께 평형 전압(예를 들어, VCC/2)으로 단락시킨다.
비록 도 2가 평형 회로(214)를 포함하는 감지 증폭기(206)를 도시하지만, 실시예는 이에 제한되지 않으며, 평형 회로(214)는 감지 증폭기(206)로부터 이산 적으로 구현될 수 있고, 도 2에 도시된 것과 다른 구성으로 구현될 수 있으며, 전혀 구현되지 않을 수도 있다.
이하에서 더 설명되는 바와 같이, 다수의 실시예들에서, 감지 회로(250)(예를 들어, 감지 증폭기(206) 및 컴퓨팅 구성요소(231))는 로컬 또는 글로벌 I/O 라인을 통해 감지 회로로부터 데이터 전송없이(예를 들어, 가령, 칼럼 디코드 신호의 활성화를 통한 감지 라인 어드레스 액세스 수행없이) 선택된 동작을 수행하고 초기에 결과를 감지 증폭기(206) 또는 컴퓨팅 구성요소(231) 중 하나에 저장하도록 동작될 수 있다.
그러나, 본 명세서에 기술된 실시예에 추가로, 감지 증폭기를 가지며, 일부 실시예에서 도 2에 도시된 바와 같이 컴퓨팅 구성요소를 포함할 수 있는, 감지 회로(150)는 도 4와 관련하여 논의되는 바와 같이, 어레이에 대해 로컬인 복수의 공유 I/O 라인(455)의 데이터 경로 내 컴퓨팅 유닛(460)의 컴퓨팅 구성요소(431-1,..., 431-M) 및/또는 로직 스트라이프(424-1,..., 424-N)에, 어레이 내 메모리 셀의 다중화된 칼럼으로부터의 메모리 셀을 또한 결합시킬 수 있다. 이러한 방식으로, 컴퓨팅 구성요소(431-1,..., 431-M) 및/또는 로직 스트라이프(424-1,..., 424-N)는 (도 3-7을 참조하여 논의되는) 선택 로직을 통해 복수의 공유 I/O 라인(455)을 통해 일 칼럼의 메모리 셀에 간접적으로 연결될 수 있다.
연산의 실행(예를 들어, 데이터 값을 포함하는 부울 논리 연산)은 기본적이고 일반적으로 사용된다. 부울 논리 연산은 많은 상위 수준 연산에서 사용된다. 결과적으로, 개선된 동작으로 실현될 수 있는 속도 및/또는 전력 효율은 고차 기능의 속도 및/또는 전력 효율로 변환될 수 있다.
도 2에 도시된 바와 같이, 컴퓨팅 구성요소(231)는 본 명세서에서 이차 래치(264)로 지칭될 수 있는 래치를 포함할 수 있다. 이차 래치(264)는 전술한 것과 유사한 방식으로 구성되고 동작될 수 있다. 2 차 래치에 포함 된 한 쌍의 교차 결합된 p- 채널 트랜지스터(예를 들어, PMOS 트랜지스터)는 공급 전압(예를 들어, VDD)에 결합된 그들의 각각의 소스를 가질 수 있다는 점을 제외하고는 1 차 래치(215)에 대해 2 차 래치의 교차 결합된 n- 채널 트랜지스터(예를 들어, NMOS 트랜지스터)는 2 차 래치가 연속적으로 인에이블되도록 기준 전압(예를 들어, 접지)에 선택적으로 결합된 각각의 소스를 가질 수 있다. 컴퓨팅 구성요소(231)의 구성은도 2에 도시된 것에 제한되지 않으며, 다양한 다른 실시예들이 가능하다.
본 명세서에 설명된 바와 같이, 메모리 디바이스(예를 들어, 도 1a의 120)는 데이터 버스(예를 들어, 156) 및 제어 버스(예를 들어, 154)를 통해 호스트(예를 들어, 110)에 연결되도록 구성될 수 있다. 메모리 디바이스(120)의 뱅크(121)는 메모리 셀의 복수의 뱅크 섹션(도 1ab에서 123-1,..., 123-N)을 포함할 수 있다. 뱅크(121)는 메모리 셀의 복수의 칼럼(도 1ab)을 통해 복수의 어레이에 연결된 감지 회로(예를 들어, 도 1a의 150 및도 2 및 3의 대응하는 참조 번호)를 포함할 수 있다. 감지 회로는 각각의 칼럼에 결합된 감지 증폭기 및 컴퓨팅 구성요소(예를 들어, 도 2에서 각각 206 및 231)를 포함할 수 있다.
각각의 뱅크 섹션(123)은 어레이(230)에 대해 로컬인 복수의 공유 I/O 라인(도 1ab의 155)의 데이터 경로 내 컴퓨팅 유닛의 로직 스트라이프(가령, 도 1ab의 124-0, 124-1,..., 124-N-1)와 연관될 수 있다. 뱅크에 연결된 제어기(예를 들어, 도 1a-1b의 140)는 본 명세서에 설명된 바와 같이, 어레이(230)에 대해 로컬인 복수의 공유 I/O 라인(355/455)(도 3 및 도 4)의 데이터 경로 내 컴퓨팅 유닛(360/460)(도 3 및 4)의 로직 스트라이프(424)(도 4)의 컴퓨팅 구성요소(431)(도 4)로의 데이터 값의 이동을 지시하도록 구성될 수 있다.
메모리 디바이스는 메모리 셀의 다수의 복수의 칼럼(도 1ab)에 대응할 수 있는 복수의 컴퓨팅 구성요소(예를 들어, 도 4에서 각각 431-1,..., 431-Z)를 갖는 로직 스트라이프(예를 들어, 도 1ab에서 124 및 도 4에서 424)를 포함할 수 있다. 도 3과 관련하여 더 논의된 바와 같이, 감지 회로(250)의 감지 증폭기(206) 및/또는 컴퓨팅 구성요소(231)의 수는 (예를 들어, 도 3의 칼럼 선택 회로(358-1 및 358-2)를 통해) 복수의 공유 I/O 라인(355)(도 3)에 선택적으로 결합될 수 있다. 칼럼 선택 회로는 복수의(예를 들어, 다른 가능성 중에서도 4 개, 8 개 및 16 개) 감지 증폭기 및/또는 컴퓨팅 구성 요소에 선택적으로 결합 됨으로써 어레이의 특정 칼럼의 메모리 셀에서 데이터를 선택적으로 감지하도록 구성될 수 있다. .
일부 실시예들에서, 뱅크 내의 다수의 복수의 로직 스트라이프들(예를 들어, 도 1ab에서 124-1,..., 124-N)은 뱅크 내 도 1ab의 다수의 뱅크 섹션들(123-1,..., 123-N)(가령, 복수의 서브어레이를 가진 4분면)에 대응할 수 있다. 로직 스트라이프는 도 2에 도시되는 컴퓨팅 구성요소(231)같은 어레이(230)에 대해 로컬인 공유 I/O(455)(도 4)의 데이터 경로에서 복수의 컴퓨팅 구성요소들(431-1,..., 431-Z)(도 4)을 포함할 수 있다. 도 3에 도시되는 바와 같이, 어레이의 로우로부터 감지된 데이터 값은 복수의 공유 I/O 라인(355)(도 3)의 데이터 경로 내 도 3의 컴퓨팅 유닛(360) 내 복수의 컴퓨팅 구성요소(431)(도 4)에 복수의 공유 I/O라인(355)(도 3)을 통해 칼럼 선택 로직에 의해 병렬로 이동할 수 있다. 일부 실시예들에서, 데이터의 양은 복수의 공유 I/O 라인의 적어도 천 비트 폭에 대응할 수 있다.
본원에 기술된 바와 같이, 메모리 셀 어레이는 명령에 응답하여 데이터를 소스 위치로부터 목적지 위치까지 공유 I/O 라인을 통해 이동(예를 들어, 복사, 전달 및/또는 전송)하도록 구성된 제어기를 갖춘 DRAM 메모리 셀의 구현을 포함할 수 있다. 다양한 실시예들에서, 소스 위치는 제 1 뱅크에 있을 수 있고 목적지 위치는 어레이(230)에 대해 국한된 공유 I/O 라인(355)(도 3)의 데이터 경로 내 컴퓨팅 유닛(360)(도 3)에 있을 수 있다.
도 3에 설명된 바와 같이, 장치는 공유 I/O 라인(가령, 도 3의 355)에 제 1 개수의 감지 증폭기 및 컴퓨팅 구성요소와 관련된 특정 로우(가령, 도 3의 319) 및 칼럼 어드레스를 포함한, 데이터를 소스 위치로부터 이동(가령, 복사, 전달, 및/또는 전송)하도록 구성될 수 있다. 추가적으로, 장치는 공유 I/O 라인(355)(도 3)의 데이터 경로 내 컴퓨팅 유닛(360)(도 3)과 관련된 특정 로직 스트라이프(424)(도 4)를 포함한, 데이터를 목적지 위치로 이동하도록 구성될 수 있다. 알다시피, 각각의 공유 I/O 라인(355)(도 3)은 상보적 쌍의 공유 I/O 라인(가령, 도 3의 공유 I/O 라인 및 공유 I/O 라인*)을 실제로 포함할 수 있다. 여기서 기술되는 일부 실시예에서, 2048 개의 공유 I/O 라인(예를 들어, 상보적 공유 I/O 라인 쌍)은 2048 비트 폭의 공유 I/O 라인으로 구성될 수 있다. 본 명세서에 기술된 일부 실시예에서, 1024 개의 공유 I/O 라인(예를 들어, 상보적 공유 I/O 라인 쌍)은 1024 비트 폭의 공유 I/O 라인으로 구성될 수 있다.
도 3은 본 개시의 많은 실시예들에 따른 메모리 디바이스에서의 데이터 이동을 위한 회로를 도시한 개략도이다. 도 3은 각각의 상보적 쌍의 공유 I/O 라인(355)(예를 들어, 공유 I/O 라인 및 공유 I/O 라인*)에 각각 결합된 8 개의 감지 증폭기(예를 들어, 각각 306-0, 306-1,..., 306-7에 도시된 감지 증폭기 0, 1,..., 7)를 도시한다. 도 3은 또한 각각의 패스 게이트(307-1 및 307-2) 및 디지트 라인(305-1 및 305-2)을 통해 각각의 감지 증폭기(가령, 306-0에서 감지 증폭기 0에 대해 도시됨)에 각각 결합된 8 개의 컴퓨팅 구성요소(예를 들어, 331-0, 331-1,..., 331-7에 도시된 컴퓨팅 구성요소 0, 1,..., 7)를 도시한다. 예를 들어, 패스 게이트는 도 2에 도시된 바와 같이 연결될 수 있고, 동작 선택 신호(Pass)에 의해 제어될 수 있다. 예를 들어, 선택 로직의 출력은 패스 게이트(307-1 및 307-2)의 게이트 및 디지트 라인(305-1 및 305-2)에 연결될 수 있다. 대응하는 쌍의 감지 증폭기 및 컴퓨팅 구성 요소는 350-0, 350-1,..., 350-7로 표시된 감지 회로의 형성에 기여할 수 있다.
한 쌍의 상보적 디지트 라인(305-1 및 305-2) 상에 존재하는 데이터 값은 도 2와 관련하여 설명된 바와 같이 컴퓨팅 구성요소(331-0)에 로딩될 수 있다. 예를 들어, 패스 게이트(307-1 및 307-2)가 인에이블되면, 한 쌍의 상보적 디지트 라인(305-1 및 305-2)의 데이터 값은 감지 증폭기로부터 컴퓨팅 구성요소로 전달될 수 있다(예를 들어, 306-0 내지 331-0). 한 쌍의 상보적 디지트 라인(305-1 및 305-2)의 데이터 값은 감지 증폭기가 발사될 때 감지 증폭기(306-0)에 저장된 데이터 값일 수 있다.
도 3의 감지 증폭기(306-0, 306-1,..., 306-7) 각각은 도 2에 도시된 감지 증폭기(206)에 대응할 수 있다. 도 3에 도시된 컴퓨팅 구성요소(331-0, 331-1,..., 331-7)은 각각도 2에 도시된 컴퓨팅 구성요소(231)에 대응할 수 있다. 하나의 감지 증폭기와 하나의 컴퓨팅 구성요소의 조합은 공유 I/O 라인(355)의 데이터 경로에서 다수의 로직 스트라이프에 의해 공유되는 공유 I/O 라인(355)에 연결된 DRAM 메모리 서브 어레이(325)의 일부분의 감지 회로(가령, 350-0, 350-1,… , 350-7)에 기여할 수 있다.
도 3에 도시된 실시예의 구성은 명확성을 위해 도시되어 있으며 이들 구성에 제한되지 않는다. 예를 들어, 컴퓨팅 구성요소(331-0, 331-1,..., 331-7) 및 공유 I/O 라인(355)과 조합된 감지 증폭기(306-0, 306-1,..., 306-7))에 대한 도 3에 도시된 구성은 메모리 셀(도시되지 않음)의 칼럼(322) 위에 형성된 감지 회로의 컴퓨팅 구성요소(331-0, 331-1,..., 331-7)와 감지 증폭기(306-0, 306-1,..., 306-7)의 조합의 절반과, 메모리 셀의 칼럼(322) 아래 형성된 절반으로 제한되지 않는다. 공유 I/O 라인(355)에 결합되도록 구성되는 감지 회로를 형성하는 컴퓨팅 구성요소와 감지 증폭기의 이러한 조합의 수가 8로 제한되지도 않는다. 추가적으로, 공유 I/O 라인의 구성은 상보적 디지트 라인(305-1, 305-2)의 2개의 세트 각각을 개별적으로 결합하기 위해 2개로 갈라짐에 제한되지 않으며, 공유 I/O 라인(355)의 배치가 (컴퓨팅 구성요소 및 감지 증폭기의 조합의 말단에 위치하기보다) 감지 회로를 형성하는 컴퓨팅 구성요소 및 감지 증폭기의 조합의 중간 위치로 제한되지도 않는다.
도 3에 도시된 회로는 또한 서브 어레이(325)의 특정 칼럼(322), 이와 관련된 상보적 디지트 라인(305-1 및 305-2), 및 공유 I/O 라인(355)(가령, 도 1a-1b에 도시된 제어기(140)에 의해 지시됨)과 관련하여 데이터 이동 동작을 구현하도록 구성된 칼럼 선택 회로(358-1 및 358-2)를 도시한다. 예를 들어, 칼럼 선택 회로(358-1)는 칼럼 0(332-0), 칼럼 2, 칼럼 4 및 칼럼 6과 같은 대응하는 칼럼과 결합하도록 구성된 선택 라인 0, 2, 4 및 6을 갖는다. 칼럼 선택 회로(358-2)는 칼럼 1, 칼럼 3, 칼럼 5 및 칼럼 7과 같은 대응하는 칼럼과 결합하도록 구성된 선택 라인 1, 3, 5 및 7을 갖는다. 도 3와 연계하여 설명되는 칼럼 선택 회로(358)는 다양한 실시예들에서, 멀티플렉서, 예를 들어, 8 방향 멀티플렉서, 16 방향 멀티플렉서 등에 의해 구현되고 그에 포함된 기능성의 적어도 일부를 나타낼 수 있다.
제어기(140)는 칼럼 선택 회로(358)에 연결되어 감지 증폭기에 저장된 데이터 값에 액세스, 구성요소를 계산, 및/또는 한 쌍의 상보적 디지트 라인(가령, 선택 트랜지스터(359-1, 359-2)가 선택 라인 0으로부터 신호를 통해 활성화될 때 305-1, 305-2)에 존재하하도록 선택 라인(가령, 선택 라인 0)을 제어할 수 있다. 선택 트랜지스터(359-1 및 359-2)를 활성화시키면(가령, 제어기(140)에 의해 지시됨), 감지 증폭기(306-0), 컴퓨팅 구성요소(331-0) 및/또는 상보적 디지트 라인(305-1 및 305-2)의 칼럼 0(322-0)이 디지트 라인 0 및 디지트 라인 0* 상의 데이터 값을 공유 I/O 라인(355)로 이동시킬 수 있다. 예를 들어, 이동된 데이터 값은 감지 증폭기(306-0) 및/또는 컴퓨팅 구성요소(331-0)에 저장된 특정 로우(319)로부터의 데이터 값일 수 있다. 제어기(140)가 적절한 선택 트랜지스터를 활성화함으로써 유사하게 각각의 칼럼 0 내지 7로부터의 데이터 값이 선택될 수 있다.
또한, 선택 트랜지스터(예를 들어, 선택 트랜지스터(359-1 및 359-2))를 인에이블링(예를 들어, 활성화)시키면, 특정 감지 증폭기 및/또는 컴퓨팅 구성요소(예를 들어, 각각 306-0 및/또는 331-0)가 공유 I/O라인(355)과 결합할 수 있어서, 증폭기 및/또는 컴퓨팅 구성요소에 의해 저장된 데이터 값이 공유 I/O 라인(355)으로 이동(예를 들어, 배치 및/또는 전달)될 수 있다. 일부 실시예들에서, 저장된 데이터 값들을 이동(예를 들어, 복사, 전달 및/또는 전송)하기 위해 특정 공유 I/O 라인(355)에 연결되도록 한 번에 하나의 칼럼(예를 들어, 칼럼 322-0)이 선택된다. 도 3의 예시적인 구성에서, 공유 I/O 라인(355)은 공유, 차동 I/O 라인 쌍(예를 들어, 공유 I/O 라인 및 공유 I/O 라인*)으로서 도시되어있다. 따라서, 칼럼 0(322-0)의 선택은 상보적 디지트 라인(305-1 및 305-2)과 관련된 감지 증폭기 및/또는 컴퓨팅 구성요소에 저장된 것으로, 및/또는 로우(가령, 로우(319))로부터 2개의 데이터 값(가령, 0 및/또는 1의 값을 가진 2비트)을 도출할 수 있다. 이들 데이터 값은 공유 차동 I/O 라인(355)의 각각의 공유된 차동 I/O 쌍(예를 들어, 공유 I/O 및 공유 I/O *)에 병렬로 입력될 수 있다.
도 4a는 어레이(130)에 대해 로컬인 데이터 경로 내 복수의 공유 I/O 라인(455)에 의해, 복수의 로직 스트라이프(424-1,..., 424-N)를 갖는 컴퓨팅 유닛(460)에 연결된 어레이(130)(도 1a)의 복수의 섹션(423) 중 하나를 나타내는 블록도이다. 도 4a의 예시적인 실시예에서, 뱅크 섹션(423)(예를 들어, 뱅크 사분면)은 복수의 서브 어레이(425-1,..., 425-32)를 갖는 것으로 도시되어있다. 도 4a에서, 32 개의 서브 어레이가 뱅크 사분면(423)에 도시되어있다. 그러나 실시예는 이 예에 제한되지 않는다. 이 예는 16K 개의 칼럼을 가진 뱅크 섹션을 보여주며, 이 칼럼들은 16에 의해 공유 I/O 라인(455)에 다중화된다. 따라서, 16K의 칼럼이 1K 공유 I/O 라인(455)으로 다중화되어, 병렬로 1024(1K) 비트의 그룹으로 컴퓨팅 유닛(460)에 이동될 수 있는 데이터 값을 매 16 칼럼이 제공할 수 있다. 여기서, 공유 I/O라인(455)은 컴퓨팅 유닛(460)에 1K 비트 폭 데이터 경로를 제공한다.
도 4a의 예에서, 각각의 로직 스트라이프(424-1,…, 424-N)는 도 2의 감지 회로(250)와 관련하여 본 명세서에서 기술된 것과 동일한 복수의 컴퓨팅 구성요소(431-1,..., 431-Z)를 갖는다. 일부 실시예들에서, 복수의 로직 스트라이프들(424-1,..., 424-Z) 각각은 복수의 컴퓨팅 구성요소들(431-1,..., 431-Z)을 사용하여 컴퓨팅 기능을 수행하도록 구성된다. 일부 실시예들에서, 복수의 로직 스트라이프들(424-1,..., 424-Z) 각각은 복수의 컴퓨팅 구성요소들(431-1,..., 431-Z)을 사용하여 상이한 논리 연산을 수행할 수 있다. 예를 들어, 일부 실시예들에서, 복수의 로직 스트라이프들(424-1,..., 424-Z) 중 적어도 하나는 예를 들어, 8개의 64 비트 배럴 시프터 동작과 같은 긴 시프트 가속기 동작을 수행하도록 구성될 수 있다. 이 예는 8 비트 청크에서 부분 재정렬을 또한 제공할 수 있으며 8 비트 크로스바가 있는 256 비트 청크에서 수집/스캐터 연산(gather/scatter operation)을 지원할 수 있다. 다른 예에서, 일부 실시예들에서, 복수의 로직 스트라이프들(424-1,..., 424-Z) 중 적어도 하나는 Kogge-Stone 가속을 수행하여 수평 추가를 가속화하기 위해 부분 캐리 룩을 미리 생성하도록 구성될 수 있다. 다른 예에서, 일부 실시예들에서, 복수의 로직 스트라이프들(424-1,..., 424-N) 중 적어도 하나는. "청크" 수학 가속을 수행하도록 구성될 수 있다. 이 예는 작은 비트 그룹(예를 들어, 4 또는 8 비트 청크)에서 수직 모드 가속을 제공할 수 있다. 다른 예에서, 일부 실시예에서 복수의 로직 스트라이프(424-1,..., 424-Z)는 컴파일러에서 사용되는 부울 연산을 구현하기 위해 명시적 마스크 레지스터로 작동하도록 구성할 수 있다. 본 명세서에서 사용되는 바와 같이, "청크(chunk)"는 어드레싱된 데이터 로우보다 더 작은 비트 길이를 참조하도록 의도되며, 예를 들어(128 바이트 어드레싱 가능 로우 내에서) 256 비트 청크가 특정 인터페이스에 대한 비트 폭과 일치하도록 어드레싱될 수 있다. 이는 16K + 칼럼 메모리 배열의 256 비트 인터페이스와 일치시키기 위해 바람직할 수 있다.
실시예들에 따르면, 뱅크 섹션과 연관된 제어기(140)(도 1a)는 컴퓨팅 유닛(460) 내 특정 로직 스트라이프(424-1,..., 424-N)의 특정 컴퓨팅 구성요소(431-1,..., 431-Z)에, 복수의 서브 어레이(425-1,..., 425-32)들 중 특정 액세스된 로우과 관련하여 각각의 다중화된 칼럼으로부터 병렬로 1K 비트 데이터 값들의 이동을 지시하기 위해 마이크로 코드 명령어들을 실행할 수 있다.
일부 실시예들에 따르면, 버터 플라이 네트워크(465)는 1K 비트 데이터 값들을, 복수의 로직 스트라이프들(424-1,..., 424-N) 각각에서, 복수의 컴퓨팅 구성요소들(431-1,..., 431-Z) 각각에 연결하는데 사용될 수 있다. 제한이 아닌 예로서, 1K 비트의 데이터 값들은 뱅크 섹션(423)에 대한 각각의 4분면 내 32 개의 서브 어레이들(425-1,..., 425-32) 각각과 연관된 논리 스트립에 병렬로 이동될 수 있다. 이 예에서, 1K 컴퓨팅 구성요소(431-1,..., 431-Z)를 갖는 128 개의 로직 스트라이프(424-1,.., 424-N) 각각이 컴퓨팅 유닛(460)에 포함될 수 있다. 컴퓨팅 유닛(460)의 로직 스트라이프(424-1,..., 424-N) 내 복수의 컴퓨팅 구성요소(431-1,..., 431-Z)에 로딩된 데이터 값은 도 2의 감지 회로와 연계하여 여기서 기술된 바와 같이, 데이터 값에 대한 연산, 가령, AND, OR, NOR, XOR, 덧셈, 뺄셈, 곱셈, 나눗셈, 등을 수행하도록 제어기(140)(도 1a)로부터 마이크로코드 명령어에 따라 동작할 수 있다. 앞서 언급한 바와 같이, 데이터 값이 컴퓨팅 유닛(460)으로 로딩되면, 어레이(130)(도 1a)의 로우 내로 데이터 값을 다시 이동시킬 필요없이, 제어기(140)(도 1a)에 의해 실행되는 마이크로코드 명령어에 따라, 대략 2나노초(ns)의 속도로, 컴퓨팅 연산이 컴퓨팅 유닛에서 더 빠르게 제어될 수 있다. 예를 들어, 컴퓨팅 동작은 어레이(130)의 로우를 발사하고 액세스하는데 필요할 수 있는 예시적인 시간, 예를 들어 대략 60 나노초(ns)와 비교하여 훨씬 더 빠른 속도로 컴퓨팅 유닛(460)을 사용하여 수행될 수 있다(도 1a).
도 4a의 예시적인 실시예에서, 복수의 공유 I/O 라인(455)의 데이터 경로 내 컴퓨팅 유닛(460)의 복수의 컴퓨팅 구성요소(431-1,.., 431-Z) 및/또는 로직 스트라이프(424-1,..., 424-N)는 공유 I/O 라인의 데이터 경로의 피치와 동일한 피치를 갖는다. 실시예에 따르면, 데이터 경로의 피치는 메모리 셀의 어레이(130)(도 1a)에 대한 디지트 라인 피치의 함수, 예를 들어 배수(2x, 4x 등)이다. 예를 들어, 복수의 컴퓨팅 구성요소들(431-1,..., 431-Z) 및/또는 로직 스트라이프(424-1,..., 424-N)는 메모리 셀 어레이에 대한 디지트 라인 피치의 정수배인 피치를 갖는다.
도 4b는 어레이에 대해 로컬인 데이터 경로 내 복수의 공유 I/O 라인에 의해 컴퓨팅 유닛에서 복수의 컴퓨팅 구성요소에 연결된 복수의 어레이를 도시하는 예시 블록도로서, 컴퓨팅 구성요소의 피치는 공유 I/O 라인의 데이터 경로의 피치와 동일하고, 어레이에 대한 디지트 라인의 피치의 정수배이다. 도 4b의 예는 디지트 라인(405)에 의해 액세스되는 메모리 셀을 가질 수 있는, 복수의 어레이, 가령, 뱅크 사분면(423-1, 423-2) 섹션의 어레이, 등을 도시한다.
도 4b의 예에서, 뱅크 사분면(423-1 및 423-2)은 디지트 라인 제조 프로세스의 주어진 특징부 치수(설계 규칙)에 따라 대략 16,000(16K) 디지트 라인(405)인 피치를 갖는 것으로 도시되어있다. 또한 디지트 라인 제조 프로세스의 주어진 특징부 치수(설계 규칙)의 함수, 예를 들어 정수배인, 상이한 피치를 가질 수 있는, 복수의 공유 I/O 라인(455-1, 455-2,.., 455-Z)이 도시되어있다. 도 4b의 예에서, 복수의 공유 I/O 라인(455-1, 455-Z)의 데이터 경로는 디지트 라인(405)의 피치보다 약 16 배 더 큰 피치를 갖는다. 따라서, 본 예에서, 각각 16:1 멀티플렉서(가령, 409-1,..., 409-Z 및 414-1,..., 414-Z)를 통해 16K 디지트 라인(405)으로 다중화되는 대략 천개의(1K) 공유 I/O 라인(455-1,..., 455-Z)이 도시된다. 그러나, 실시예는 여기서 제공된 수치 예에 제한되지 않으며, 더 많거나 더 적은 디지트 라인(405)이 복수의 공유 I/O 라인(455-1,..., 455-Z)에 다중화될 수 있다. 예를 들어, 공유 I/O 라인(455-1,..., 455-Z)은 디지트 라인 제조 프로세스의 주어진 특징부 치수(설계 규칙)에 의해 설정된 것과 같이 디지트 라인(405)의 피치의 16배(가령, 16x)가 아닌 다른 정수배인 피치를 가질 수 있다.
도 4b의 예에 도시된 바와 같이, 예를 들어 복수의 컴퓨팅 구성요소들(431-1,. . ., 431-Z 및 451-1,. . ., 451-Z) 중 일 컴퓨팅 구성요소는 각각 공유 I/O 라인(455-1,..., 455-Z)과 연관될 수 있다. 복수의 컴퓨팅 구성요소들(431-1,. . ., 431-Z 및 451-1,. . ., 451-Z)는 각각 460-1, 460-2로 도시되는 컴퓨팅 유닛의, 도 4a에 도시되는 복수의 로직 스트라이프(424-1, 424-2,. . ., 424-N) 내에 놓일 수 있다. 도 4b의 예에 도시된 바와 같이, 가령, 각각의 공유 I/O 라인(455-1,..., 455-Z)과 연관된 복수의 컴퓨팅 구성요소들(431-1,..., 431-Z 및 451-1,..., 451-Z) 중 일 컴퓨팅 구성요소는, 공유 I/O 라인(455-1,..., 455-Z)의 데이터 경로와 동일한 피치를 가질 수 있고, 따라서, 예를 들어, 423-1 및 423-2와 같은 어레이에 대한 디지트 라인(405)의 16 배(예를 들어, 16x)의 피치를 가질 수 있다. 다양한 실시예들에 따르면, 공유 I/O 라인(455-1,..., 455-Z)의 데이터 경로 내 컴퓨팅 구성요소(431-1,. . ., 431-Z 및 451-1,. . ., 451-Z)들이 디지트 라인(405)의 피치와 일대일 (가령, 1x정수배) 관계로 제한되지 않기 때문에, 컴퓨팅 구성요소(431-1,. . ., 431-Z 및 451-1,. . ., 451-Z)는 어레이(423-1, 423-2)의 "수직" 정렬로 제한되지 않고, 본 예에서, 십육배(16x) 더 클 수 있다. 이와 같이, I/O 라인(455-1,..., 455-Z)의 데이터 경로 내 컴퓨팅 구성요소(431-1,. . ., 431-Z 및 451-1,. . ., 451-Z)를 이용하여, 어레이 또는 메모리 다이의 주변 영역 내에서 벗어나지 않으면서 어레이(423-1, 423-1)에 여전히 근접하면서, 위 언급된 긴 시프트 가속도와 같은 (보다 큰 풋프린트 및 공간을 가짐으로써) 저장된 데이터 값에 대한 논리 연산의 보다 견고한 세트를 수행할 수 있다.
도 5는 본 개시의 다수의 실시예들에 따른 메모리 디바이스에 대한 제어기의 예를 도시하는 블록도이다. 일부 구현들에서, 블록도는 도 1a-2의 메모리 디바이스(120)와 같은 PIM 가능 디바이스의 일 예의 일부의 더 상세를 제공한다. 도 5의 예에서, 제어기(540-1,..., 540-7)(일반적으로 제어기(540)로 지칭 됨)은 도PIM 가능 디바이스(520)에 대한 각각의 뱅크(521-1,..., 521-7)(일반적으로 521로 지칭됨)와 연관될 수 있다. 도 5의 예에는 8 개의 뱅크가 도시되어 있지만, 실시예는 이 예 개수에 제한되지 않는다. 제어기(540)는 도 1a에 도시된 제어기(140)를 나타낼 수 있다. 각 뱅크는 하나 이상의 메모리 셀 어레이(미도시)를 포함할 수 있다. 예를 들어, 각각의 뱅크는 도 1a의 어레이(130)와 같은 하나 이상의 어레이를 포함할 수 있고, 도 1a에 도시된 디코더, 다른 회로 및 레지스터를 포함할 수 있다. 도 5에 도시된 예시적인 PIM 가능 디바이스(520)에서, 제어기들(540-1,.., 540-7)은 메모리 디바이스(520)의 하나 이상의 메모리 뱅크(521) 상의 제어기(540)의 일부분으로 제어 로직(531-1,. . ., 531-7), 시퀀서(532-1,. . ., 532-7), 및 타이밍 회로(533-1,. . ., 533-7)를 갖는 것으로 도시되어있다. PIM가능 디바이스(520)는 도 1a에 도시된 메모리 디바이스(120)의 일부분을 나타낼 수 있다.
도 5의 예에 도시된 바와 같이, PIM 가능 디바이스(520)는 PIM 가능 디바이스(520)에서 데이터, 어드레스, 제어 신호 및/또는 명령을 수신하기 위한 고속 인터페이스(HSI)(541)를 포함할 수 있다. 다양한 실시예에서, HSI(541)은 PIM 가능 디바이스(520)와 관련된 뱅크 아비터(bank arbiter)(545)에 연결될 수 있다. HSI(541)는 도 1a에서와 같이 호스트, 예를 들어 110으로부터 명령 및/또는 데이터를 수신하도록 구성될 수 있다. 도 5의 예에 도시된 바와 같이, 뱅크 아비터(545)는 복수의 뱅크(521-1,. . ., 521-7)에 연결될 수 있다.
도 5에 도시된 예에서, 제어 로직(531-1,..., 531-7)은 각각의 뱅크(521-1,. . ., 521-7)의 일부인 도 1a의 어레이(130)로 어레이와 같은 메모리 셀 어레이로부터 기계 명령어, 가령, 마이크로코드 명령어를 인출 및 실행하는 것을 담당하는 마이크로코드 엔진의 형태를 취할 수 있다. 시퀀서(532-1,..., 532-7)는 마이크로 코드 엔진의 형태 일 수도 있다. 대안으로, 제어 로직(531-1,..., 531-7)은 VLIW(very large instruction word) 타입 처리 자원 및 시퀀서들(532-1,..., 532-7)의 형태를 취할 수 있고, 타이밍 회로(533-1,..., 533-7)는 상태 머신 및 트랜지스터 회로의 형태일 수 있다.
제어 로직(531-1,..., 531-7)은 마이크로 코드 명령을 시퀀서(532-1,..., 532-7)에 의해 구현된 함수 호출, 예를 들어 마이크로 코드 함수 호출(uCODE)로 디코딩할 수 있다. 도 6은 본 개시의 실시예에 따른 시퀀서의 보다 상세한 부분을 도시하는, 도 6에서 642로 도시된, 제어기(540)의 다른 실시예를 도시한다. 마이크로 코드 함수 호출은 도 1a의 감지 회로(150)와 같은 감지 회로를 사용하여 또는 도 4 및 6에 도시된 컴퓨팅 구성요소(460 및 660)를 사용하여, PIM 디바이스(520)로 하여금 특정 논리 연산을 수행하게 하도록 시퀀서(532-1,..., 532-7)가 수신 및 실행하는 동작일 수 있다. 타이밍 회로(533-1,..., 533-7)은 논리 연산의 수행을 조정하기 위한 타이밍을 제공하고, 도 1a의 어레이(130)와 같은 어레이에 대한 충돌없는 액세스를 제공할 책임이 있다.
도 1a와 관련하여 설명된 바와 같이, 제어기들(540-1,..., 540-7)은 555-1, 555-7로 도 5에 도시되는 제어 라인 및 데이터 경로를 통한 메모리 셀 어레이와 관련된, 감지 회로(150), 컴퓨팅 유닛(460/660) 및/또는 캐시, 버퍼, 감지 증폭기, 확장 로우 어드레스(XRA) 래치 및/또는 레지스터를 포함하는 추가 논리 회로(170)에 연결될 수 있다. 이와 같이, 도 1a, 4 및 6에 도시된 감지 회로(150), 컴퓨팅 유닛(460/660) 및 로직(170)은 도 5에 555-1,..., 555-7로 도시된 공유 I/O 라인을 사용하여 메모리 셀(130)의 어레이에 연관될 수 있다. 제어기(540-1,. . , 540-7)는 판독, 기록, 복사 및/또는 소거 동작 등과 같은 어레이에 대한 정규 DRAM 동작을 제어할 수 있다. 그러나, 또한, 정규 DRAM 판독 및 기록 동작과는 다른, 가령, 좀 더 복잡한, AND, OR, XOR, 등과 같은 부울 연산과 같은 더욱 구체적인 예, 또는 덧셈, 곱셈과 같은 추가의 논리 연산을 도 1a, 4, 6에 도시된 감지 회로(150) 및/또는 컴퓨팅 유닛(460/660)으로 하여금 수행시키기 위해, 마이크로코드 명령어가 제어 로직(531-1,..., 531-7)에 의해 불러들여져 실행되고, 시퀀서(532-1,..., 532-7)에 의해 마이크로코드 함수 호출이 수신 및 실행된다. 따라서, 이 PIM 가능 디바이스(520) 예에서, 마이크로 코드 명령 실행 및 논리 동작이 PIM 가능 디바이스(520)의 뱅크(521-1,..., 521-7) 상에서 수행될 수 있다.
실시예들에 따르면, 제어 로직(531-1,..., 531-7), 시퀀서(532-1,..., 532-7) 및 타이밍 회로(533-1,..., 533-7)는 DRAM 어레이에 대한 동작 사이클 시퀀스를 생성하도록 동작할 수 있고, 및/또는, 공유 I/O 라인(455-1, 455-7)의 데이터 경로 내 컴퓨팅 유닛(460/660)에 포함되는 메모리 디바이스(520) 상에서, 가령, 뱅크(521-1,..., 521-7) 상에서, 연산, 가령, 논리 연산의 수행을 지시하도록 동작할 수 있다. PIM가능 디바이스(520) 예에서, 각각의 시퀀스는 구체적 기능을 함께 실현하는 부울 논리 연산 AND, OR, XOR, 등과 같은 연산을 수행하도록 설계될 수 있다. 예를 들어, 동작 시퀀스는 다중 비트 합을 계산하기 위해 1 비트 추가에 대한 논리적 동작을 반복적으로 수행할 수 있다. 각각의 동작 시퀀스는 도 1a에 도시된 메모리 셀 어레이(130), 가령, DRAM 어레이와 관련된 추가 로직 회로(170), 컴퓨팅 유닛(460/660), 및/또는 감지 회로(150)와 관련된을 로밍 조율을 제공하기 위해 타이밍 회로(533-1,..., 533-7)에 연결된 선입선출(FIFO) 버퍼로 공급될 수 있다.
도 5에 도시된 예시적인 PIM 가능 디바이스(520)에서, 타이밍 회로(533-1,..., 533-7)는 타이밍을 제공할 수 있고, 4 개의 FIFO 큐로부터 어레이에 대한 충돌없는 액세스를 제공할 수 있으며, 그리고/또는 컴퓨팅 유닛(460/660)에서의 동작에 대한 타이밍을 조정할 수 있다. 이 예에서, 하나의 FIFO 큐는 어레이 계산을 지원할 수 있고, 하나는 명령어 페치용이고, 하나는 마이크로 코드(예를 들어, Ucode) 명령어 페치 용이며, 하나는 DRAM I/O 용이다. 제어 로직(531-1,..., 531-7) 및 시퀀서(532-1,..., 532-7)은 상태 정보를 생성할 수 있으며, 이는 FIFO 인터페이스를 통해 뱅크 아비터(545)로 다시 라우팅된다. 뱅크 아비터(545)는 이 상태 데이터를 집계하여 인터페이스(HSI)(541)를 통해 호스트(110)에 다시 보고할 수 있다.
도 6은 메모리 디바이스(120)(도 1a)에 대한 제어기(642)의 일부의 다른 예를 도시한 블록도이며, 제어기(642)는 어레이(130)(도 1a)에 대해 로컬인 데이터 경로 내 공유 I/O 라인(655)을 이용하여 복수의 로직 스트라이프(624-1,.., 624-N)를 갖는 컴퓨팅 유닛(660)에 의해 데이터 값의 이동 및 연산을 지시한다. 도 6의 예에서, 제어기(642)의 일부는 도 5의 시퀀서(532)와 같은 제어기의 시퀀서 부분의 예이다.
도 6의 예시적인 실시예에서, 제어기(642)의 시퀀서 부분은 3 가지 부류의 마이크로 코드 명령어, 즉, 어레이 동작, 컴퓨팅 구성요소 동작 및 제어 동작에 대해 동작할 수 있다. 601에 도시된 바와 같이, 비트 값은 서브 어레이 마스크의 일부로서 제공되어, 전술한 바와 같이 뱅크 섹션의 사분면에서 특정 서브 어레이를 식별할 수 있다. 602-1 및 602-2에서, 도 2의 감지 회로(250)와 관련하여 기술되고 도 7에서 731(A) 및 706(B)로 더 상세히 도시된 바와 같이 1차 래치 및 2차 래치와 관련된 A 및 B 어드레스 포인터는 도 1a의 어레이(130)의 데이터 값에 대한 물리적 어드레스의 포인터를 제공한다. 603에서, 비트 값은 또한 어레이(130)(도 1a) 내로 추가 인덱스를 제공할 수 있다. 도 6의 예에 도시된 바와 같이, 어드레스 포인터(602-1 및 602-2) 및 인덱스(603)는 어레이(130)의 특정 로우 및 감지 라인, 예를 들어 로우 워드 라인 및 비트 라인에 액세스하는데 사용된다(도 1a).
본 명세서에 설명된 복수의 공유 I/O 라인(655)은 어레이에 대해 국한된 공유 I/O(655)의 데이터 경로에서 어레이(130)(도 1a)를 컴퓨팅 유닛(660)에 연결할 수 있다. 공유 I/O 라인(655)으로부터 컴퓨팅 유닛(660)의 주어진 로직 스트라이프(624-1,..., 624-N) 내 주어진 컴퓨팅 구성요소(631-1,..., 631-Z)로 데이터 값을 로딩하기 위해 명령어가 제어기(642)로부터 컴퓨팅 유닛으로 제공된다. 컴퓨팅 유닛(660)에 대한 마스크 스트라이프(641)는 판독 또는 기록을 위한 감지 라인 및 컴퓨팅 구성요소 값을 선택하는 것을 가능하게할 수 있다.
604에서, 유선 OR 논리 구성으로부터의 조건 코드는 컴퓨팅 유닛(660)과의 유선 OR 연산의 비트 값 결과를 제공할 수 있다. 611에서 비트 값은 컴퓨팅 구성요소 동작 명령어를 위한 제 2 레지스터 소스에 대한 포인터로서 레지스터 어드레스를 제공할 수 있다. 612에서, 비트 값은 컴퓨팅 구성요소 연산 명령어(611)를 위한 제 2 레지스터 소스에 대한 레지스터 어드레스 포인터와 함께 컴퓨팅 유닛(660)의 로직 스트라이프(624-1,..., 624-N)의 레지스터 인덱스를 표시할 수 있다.
도 7은 본 개시의 다수의 실시예들에 따라 XOR 논리 연산을 구현할 수 있는 컴퓨팅 유닛(460/660) 회로를 도시한 개략도이다. 도 7은 한 쌍의 상보적 공유 I/O 라인(755-1 및 755-2)에 연결된 감지 증폭기(706), 논리 연산 선택 로직(713), 및 패스 게이트(707-1, 707-2)를 통해 감지 증폭기(706)에 연결된 컴퓨팅 구성요소(731)를 도시한다. 도 7에 도시된 감지 증폭기(706)는 감지 회로(250)와 관련된 것으로서 도 2에 도시된 일차 래치와 같은 감지 증폭기(206)와 유사한 방식으로 기능할 수 있다. 도 7에 도시된 컴퓨팅 구성요소(731)는 감지 회로(250)와 연관된 것으로 도 2에 도시되는 컴퓨팅 구성요소(231), 가령, 2차 래치와 유사하게 기능할 수 있다. 도 7에 도시된 논리 연산 선택 로직(713)은 감로(250)와 관련된 도 2에 도시된 논리 연산 선택 로직(213)과 유사하게 기능할 수 있다. 패스 게이트들(707-1 및 707-2)의 게이트들은 논리 동작 선택 로직(713) 신호(예를 들어, 패스)에 의해 제어될 수 있다. 예를 들어, 논리 동작 선택 로직(713)의 출력은 패스 게이트(707-1 및 707-2)의 게이트에 연결될 수 있다. 또한, 컴퓨팅 구성요소(731)는 데이터 값을 좌우로 시프트하도록 구성된 로딩가능 시프트 레지스터를 포함할 수 있다.
도 7에 도시된 실시예에 따르면, 컴퓨팅 구성요소(731)는 데이터 값을 좌우로 시프트하도록 구성된 로딩가능 시프트 레지스터의 각각의 스테이지(예를 들어, 시프트 셀)를 포함할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 시프트 레지스터의 각각의 컴퓨팅 구성요소(731)(예를 들어, 스테이지)는 한 쌍의 우측 편이 트랜지스터(781 및 786), 한 쌍의 좌측 편이 트랜지스터(789 및 790) 및 한 쌍의 인버터(787, 788)를 포함한다. PHASE 1R, PHASE 2R, PHASE 1L 및 PHASE 2L 신호는 각각의 제어 라인(782, 783, 791 및 792)에 적용되어, 여기서 기술되는 실시예에 따라 논리 연산 수행 및/또는 데이터 시프트와 관련된 대응 컴퓨팅 구성요소(731)의 래치에 대한 피드백을 인에이블/디스에이블시킬 수 있다.
도 7에 도시된 컴퓨팅 유닛(460/660) 회로는 ISO, TF, TT, FT 및 FF를 포함하는 다수의 로직 선택 제어 입력 제어 라인에 결합된 동작 선택 로직(713)을 도시한다. 복수의 논리 연산으로부터 일 논리 연산의 선택은 논리 선택 제어 입력 라인상의 논리 선택 제어 신호의 조건으로부터, 그리고, 격리 트랜지스터(750-1 및 750-2)가 ISO 제어 신호의 어서트를 통해 인에이블될 때 상보적 공유 I/O 라인(755-1, 755-2)의 쌍에 존재하는 데이터 값으로부터, 결정된다. .
다양한 실시예에 따르면, 동작 선택 로직(713)은 4 개의 로직 선택 트랜지스터를 포함할 수 있다: 즉, 스왑 트랜지스터(742)의 게이트와 TF 신호 제어 라인 사이에 결합된 논리 선택 트랜지스터(762), 패스 게이트(707-1, 707-2)의 게이트와 TT 신호 제어 라인 사이에 결합된 논리 선택 트랜지스터(752), 패스 게이트(707-1, 707-2)의 게이트와 FT 신호 제어 라인 사이에 결합된 논리 선택 트랜지스터(754), 및 스왑 트랜지스터(742)의 게이트와 FF 신호 제어 라인 사이에 결합된 논리 선택 트랜지스터(764)를 포함할 수 있다. 논리 선택 트랜지스터(762 및 752)의 게이트는 (ISO 신호 제어 라인에 연결된 게이트를 갖는) 격리 트랜지스터(750-1)를 통해 실제 감지 라인에 연결된다. 논리 선택 트랜지스터(764 및 754)의 게이트는 격리 트랜지스터(750-2)(또한 ISO 신호 제어 라인에 연결된 게이트를 가짐)를 통해 상보적 감지 라인에 결합된다.
상보적 공유 I/O 라인(755-1 및 755-2) 쌍에 존재하는 데이터 값은 패스 게이트(707-1 및 707-2)를 통해 컴퓨팅 구성요소(731)에 로딩될 수 있다. 컴퓨팅 구성요소(731)는 로딩가능 시프트 레지스터를 포함할 수 있다. 패스 게이트(707-1 및 707-2)가 오픈(OPEN) 인 경우, 상보적 공유 I/O 라인(755-1 및 755-2) 쌍의 데이터 값("A")은 컴퓨팅 구성요소(731)로 전달되어, 로딩가능 시프트 레지스터에 로딩된다. 상보적 공유 I/O 라인들(755-1 및 755-2) 쌍의 데이터 값들은 감지 증폭기가 파이어링될 때 감지 증폭기(706)에 저장된 데이터 값( "B") 일 수 있다. 이 예에서, 논리 동작 선택 논리 신호(Pass)는 패스 게이트(707-1 및 707-2)를 개방하기 위해 하이 값이다.
ISO, TF, TT, FT 및 FF 제어 신호는 감지 증폭기(706)의 데이터 값( "B") 및 컴퓨팅 구성요소(731) 내 데이터 값( "A")에 기초하여 구현할 논리 함수를 선택하도록 동작할 수 있다. 특히, ISO, TF, TT, FT 및 FF 제어 신호는 한 쌍의 상보적 공유 I/O 라인(755-1, 755-2) 상에 존재하는 데이터 값과 독립적으로 구현하기 위해 논리 함수를 선택하도록 구성된다(하지만 구현된 논리 연산의 결과는 상보적 공유 I/O 라인(755-1 및 755-2) 쌍에 존재하는 데이터 값에 따라 달라질 수 있음). 예를 들어 ISO, TF, TT, FT, FF 제어 신호는 상보적 공유 I/O 라인 쌍(755-1 및 755-2) 상에 존재하는 데이터 값이 패스 게이트(707-1, 707-2)의 게이트를 동작시키기 위한 논리를 통과하지 않기 때문에 직접 구현하기 위해 논리 동작을 선택한다.
또한, 도 7은 감지 증폭기(706)와 컴퓨팅 구성요소(731) 사이의 상보적 공유 I/O 라인(755-1 및 755-2) 쌍의 배향을 교환하도록 구성된 스왑 트랜지스터(742)를 도시한다. 스왑 트랜지스터(742)가 OPEN일 때, 스왑 트랜지스터(742)의 감지 증폭기(706) 측의 상보적 공유 I/O 라인(755-1 및 755-2) 쌍의 데이터 값은 스왑 트랜지스터(742)의 컴퓨팅 구성요소(731) 측 상보적 공유 I/O 라인(755-1, 755-2)의 쌍에 대향 결합되며, 따라서, 컴퓨팅 구성요소(731)의 로딩가능 시프트 레지스터로 로딩된다.
논리 동작 선택 로직(713) 신호 Pass는, ISO 제어 신호 라인이 활성화되면서, 상보적 공유 I/O 라인 상의 데이터 값이 "1"이면서 FT 제어 신호가 활성화될 때(가령, 하이) 또는 트루 공유 I/O 라인의 데이터 값이 "1"이면서 TT 제어 신호가 활성화될 때(가령, 하이), 패스 게이트(707-1 및 707-2)를 개방(가령, 전도)하기 위해 활성화(예를 들어, 하이)될 수 있다.
트루 공유 I/O 라인상의 데이터 값은 "1"이면 논리 선택 트랜지스터(752 및 762)가 오픈된다. 상보적 공유 I/O 라인상의 데이터 값이 "1"이면 논리 선택 트랜지스터(754 및 764)가 오픈된다. ISO 제어 신호 또는 해당 TT/FT 제어 신호 또는 해당 공유 I/O 라인(예: 특정 로직 선택 트랜지스터의 게이트가 연결된 공유 I/O 라인)의 데이터 값이 하이가 아닌 경우, 패스 게이트(707-1 및 707-2)는 특정 로직 선택 트랜지스터에 의해 개방되지 않을 것이다.
논리 동작 선택 논리 신호(Pass*)는 ISO 제어 신호 라인이 활성화되고 TF 제어 신호가 활성화되고(예를 들어, 하이) 트루 공유 I/O 라인 상의 데이터 값이 "1"일 때 또는 FF 제어 신호가 활성화되고(가령, 하이) 상보적 공유 I/O라인 상의 데이터 값이 "1"일 때 스왑 트랜지스터(742)를 오픈(가령, 전도)시키기 위해 활성화(예를 들어, 하이)될 수 있다. 대응하는 공유 I/O 라인(예를 들어, 특정 로직 선택 트랜지스터의 게이트가 결합된 공유 I/O 라인) 상의 제어 신호 또는 데이터 값이 하이가 아니면, 스왑 트랜지스터(742)는 특정 로직 선택 트랜지스터에 의해 오픈되지 않을 것이다.
Pass* 제어 신호는 반드시 Pass 제어 신호에 상보적 것은 아니다. Pass 및 Pass* 제어 신호가 둘 모두 동시에 활성화되거나 비활성화될 수 있다. 그러나 Pass와 Pass* 제어 신호를 동시에 활성화하면 상호 보완적인 공유 I/O 라인 쌍이 단락되므로, 가급적 피해야할 구조라고 할 수 있다.
도 7에 도시된 컴퓨팅 유닛(460/660) 회로는 4 개의 논리 선택 제어 신호로부터 직접 구현하기 위해 복수의 논리 동작 중 하나를 선택하도록 구성된다(예를 들어, 논리 동작 선택은 상보적 공유 I/O 라인 쌍에 존재하는 데이터 값에 의존하지 않음). 논리 선택 제어 신호의 일부 조합은 패스 게이트(707-1 및 707-2)와 스왑 트랜지스터(742)가 동시에 OPEN되게함으로써, 상보적 공유 I/O 라인(755-1 및 755-2)의 쌍을 함께 단락시킨다. 본 개시의 다수의 실시예들에 따르면, 도 7에 도시된 컴퓨팅 유닛(460/660) 회로에 의해 구현될 수 있는 논리 동작들은 도 8에 도시된 논리표에 요약된 논리 동작 일 수 있다.
도 8은 본 개시의 다수의 실시예에 따라 도 7에 도시된 복수의 공유 I/O 라인(755-1 및 755-2)의 데이터 경로에서 컴퓨팅 유닛(460/660) 회로에 의해 구현되는 선택 가능한 논리 연산 결과를 나타내는 논리표이다. 상보적 공유 I/O 라인 상에 존재하는 특정 데이터 값과 함께 4 개의 로직 선택 제어 신호(예를 들어, TF, TT, FT 및 FF)는 컴퓨팅 유닛(460/660) 회로의 감지 증폭기(706)(가령, 1차 래치) 및 컴퓨팅 구성요소(731)(가령, 2차 래치)에 저장된 시작 데이터 값("A" 및 "B")의 포함을 구현하도록 복수의 논리 연산 중 하나를 선택하는데 사용될 수 있다. 상보적 공유 I/O 라인 상에 존재하는 특정 데이터 값과 함께 4 개의 제어 신호는 패스 게이트(707-1 및 707-2) 및 스왑 트랜지스터(742)의 연속성을 제어하며, 이는 차례로 파이어링 전/후에 컴퓨팅 구성요소(731) 및/또는 감지 증폭기(706)의 데이터 값에 영향을 미친다. 스왑 트랜지스터(742)의 연속성을 선택적으로 제어하는 능력은 무엇보다도 역 데이터 값(예를 들어, 역 피연산자 및/또는 역 결과)을 포함하는 논리 연산을 구현하는 것을 용이하게한다.
도 8에 도시된 로직 표 8-1은 844에서 칼럼 A에 도시된 2 차 래치와 같은, 컴퓨팅 구성요소(731)에 저장된 시작 데이터 값과, 845에서 칼럼 B에 도시된 1차 래치와 같은, 감지 증폭기(706)에 저장된 시작 데이터 값을 도시한다. 논리 표 8-1의 다른 3 개의 칼럼 머리말은 각각 패스 게이트(707-1 및 707-2)와 스왑 트랜지스터(742)의 연속성을 나타내며, 이는 상보적 공유 I/O 라인(755-1, 755-2) 쌍에 존재하는 특정 데이터 값과 연계하여 4개의 로직 선택 제어 신호(가령, TF, TT, FT, FF)의 상태에 따라 각각 오픈 또는 클로즈 상태로 제어될 수 있다. "낫 오픈" 칼럼은 패스 게이트(707-1 및 707-2) 및 스왑 트랜지스터(742)가 모두 비전도 상태에 있음에 해당하고, "오픈 트루"(Open True)는 패스 게이트(707-1, 707-2)가 전도 상태임에 대응하며, "오픈 인버트"(Open Invert)는 스왑 트랜지스터(742)가 전도 상태임에 대응한다. 패스 게이트(707-1 및 707-2) 및 스왑 트랜지스터(742)에 모두 전도 조건에 있는 구성은 감지 라인들이 함께 단락되기 때문에 로직 표 8-1에 반영되지 않는다.
패스 게이트(707-1, 707-2) 및 스왑 트랜지스터(742)의 연속성을 선택적으로 제어함으로써, 로직 표 8-1의 상부의 3 개의 칼럼 각각은 875에서 도시되는 다양한 연결 경로에 의해 표시되는 바와 같이, 상이한 9개의 논리 동작에 대응하는, 3x3=9개의 상이한 결과 조합을 제공하기 위해, 논리표 8-1의 하부의 3개의 칼럼 각각과 조합될 수 있다. 컴퓨팅 유닛(460/660) 회로에 의해 구현될 수 있는 9개의 상이한 선택가능 논리 연산은 XOR 논리 연산을 포함한, 도 8에 도시되는 논리표 8-2에 요약된다.
도 8에 도시된 로직 표 8-2의 칼럼은 로직 선택 제어 신호의 상태를 포함하는 표제(880)를 도시한다. 예를 들어, 제 1 논리 선택 제어 신호의 상태는 표 8-2의 876 로우에 제공되고, 제 2 논리 선택 제어 신호의 상태는 표 8-2의 877 로우, 제 3 논리 선택 제어 신호의 상태는 표 8-2의 878 로우에 제공되고, 제 4 로직 선택 제어 신호의 상태는 표 8-2의 879 로우에 제공된다. 이러한 결과에 대응하는 특정 논리 연산이 표 8-2의 847 로우에 요약되어 있다.
이러한 방법은 컴퓨팅 구성요소(731)로부터 하나의 데이터 값을 이동시키는 단계를 더 포함할 수 있고, 도 4의 465와 같은 네트워크를 이용하여 컴퓨팅 구성요소로 원래 이동하였던 선택된 로직 스트라이프의 컴퓨팅 구성요소에 데이터 값을 덮어쓰는 복수의 로직 스트라이프(624-1, 624-N) 내 다른 선택된 로직 스트라이프(624-1, 624-N) 내 컴퓨팅 구성요소로 이 데이터 값에 대해 연산이 수행된바 있다. 예를 들어, 여기서 기술되는 바와 같이, 연산은 제 1 컴이팅 구성요소로 이동한 데이터 값에 대해 제 1 컴퓨팅 구성요소에서 수행될 수 있고, 제 1 컴퓨팅 구성요소로 원래 이동하였던 데이터 값을 덮어쓰기 위해 2차 컴퓨팅 구성요소로 데이터 값이 다시 이동할 수 있다.
다양한 실시예들에서, 방법은 저장된 데이터 값을 원래 빼내왔던 제 1 선택된 로직 스트라이프(624-1, 624-N)와는 상이한 컴퓨팅 유닛(460/660) 내 다른 선택된 로직 스트라이프(624-1, 624-N)에 저장된 복수의 데이터 값을, 로직 스트라이프((624-1,..., 624-N)) 내 복수의 컴퓨팅 구성요소(631-1,..., 631-Z)로부터 이동시키는 단계를 더 포함할 수 있다. 일부 실시예에서, 저장된 복수의 데이터 값은 연산을 수행한 복수의 데이터 값일 수 있다. 이 방법은, 다양한 실시예에서, 메모리 디바이스(520)의 다른 뱅크(521-1,..., 521-7)의 데이터 경로 내 컴퓨팅 유닛의 복수의 로직 스트라이프로, 및/또는, 컴퓨팅 유닛 내 선택된 복수의 로직 스트라이프에, 저장된 복수의 데이터 값을 로직 스트라이프 내 복수의 컴퓨팅 구성요소로부터 이동시키는 단계를 더 포함할 수 있다. 예를 들어, 뱅크 내 컴퓨팅 유닛의 복수의 선택된 로직 스트라이프로 이동한, 저장된 복수의 데이터 값은 (제어기 및/또는 호스트에 의해 지시된) 연산을 수행한 복수의 데이터 값일 수 있다.
다양한 실시예들에서, 이 방법은 선택된 로직 스트라이프의 선택된 제 1 컴퓨팅 구성요소에서 데이터 값을 감지하는 단계, 감지된 데이터 값을 제 1 컴퓨팅 구성요소에서 제 2 컴퓨팅 구성요소로 이동시키는 단계, 및 저장된 데이터 값을 제 2 컴퓨팅 구성요소로부터 공유 I/O 라인 및/또는 데이터 버스로 이동시키는 단계를 더 포함할 수 있다. 감지된 데이터 값은 공유 I/O 라인에 연결된 어레이(130) 내 선택된 로우의 메모리 셀에 다시 저장될 수 있다.
이 방법은 컴퓨팅 유닛에 대한 복수의 로직 스트라이프의 복수의 컴퓨팅 구성요소에 저장된 복수의 값 중 적어도 하나의 데이터 값을, 데이터 버스의 적어도 하나의 부분을 통해, 호스트에 선택적으로 출력하는 단계를 더 포함할 수 있다. 복수의 컴퓨팅 구성요소의 서브 세트는 다수의 로직 스트라이프 각각에 있을 수 있고, 복수의 로직 스트라이프 중 적어도 하나는 복수의 컴퓨팅 유닛 각각에 있을 수 있다. 복수의 컴퓨팅 유닛 각각 내 복수의 로직 스트라이프 내 복수의 컴퓨팅 구성요소들 각각은 데이터 버스의 각자의 부분에 선택가능하게 결합될 수 있다. 복수의 뱅크 각각에 대한 데이터 버스의 각각의 부분은 결합된 데이터 버스를 형성하기 위해 조합될 수 있다. 결합된 데이터 버스의 각각의 부분은 호스트에 선택적으로 연결될 수 있다. 예를 들어, 일부 실시예들에서, 데이터 값들은 복수의 뱅크들로부터의 데이터 값들에 대한 판독 동작 및/또는 기록 동작을 가능하게하기 위해 결합된 데이터 버스를 통해 호스트 내의 다수의 DQ 구성요소들로 출력될 수 있다.
DRAM 구현에서, 공유 I/O 라인은 메모리 셀 어레이에서 데이터를 어레이 내 다양한 위치 간에 (가령, 서브어레이 간, 및/또는 서브어레이와 래치 스트라이프 간) 이동(예를 들어, 복사, 전달 및/또는 전송)시키기 위한 데이터 경로(예를 들어, 데이터 흐름 파이프 라인)로서 사용될 수 있다. 공유 I/O 라인은 모든 로직 스트라이프와 래치 스트라이프간에 공유될 수 있다. 다양한 실시예들에서, 하나의 로직 스트라이프 또는 래치 스트라이프 및/또는 한 쌍의 로직 스트라이프 및 래치 스트라이프(예를 들어, 소스 위치와 목적지 위치를 결합)는 임의의 주어진 시간에 공유 I/O 라인과 통신할 수 있다. 공유 I/O 라인은 하나의 로직 스트라이프에서 래치 스트라이프로 또는 그 반대로 데이터를 이동(예를 들어, 복사, 전달 및/또는 전송)하는 데 사용될 수 있다.
본 발명의 실시예는 DRAM 구현의 개선된 데이터 경로(예를 들어, 공유 I/O 라인)를 사용함으로써 PIM 어레이에서 데이터 이동의 속도, 레이트 및/또는 효율을 증가시킬 수 있다. 본 명세서에 설명된 바와 같이, 메모리 디바이스 내의 한 쌍의 뱅크 위치에서의 소스 위치 및 목적지 위치는 복수의 공유 I/O 라인을 통해 결합되도록 구성될 수 있다. 본 명세서에 기술된 바와 같이, 메모리 디바이스 내의 뱅크는 메모리 셀 어레이, 복수의 감지 라인을 통해 어레이에 연결된 감지 회로 - 상기 감지 회로는 감지 증폭기 및 컴퓨팅 구성요소를 포함함 - , 및 복수의 공유 I/O 라인을 통해 상기 어레이 및 감지 회로에 결합된 컴퓨팅 유닛 회로를 포함하며, 상기 컴퓨팅 유닛 회로는 연산을 구현하도록 구성된 감지 증폭기 및 컴퓨팅 구성요소를 가진 복수의 로직 스트라이프를 포함한다. 제어기가 어레이, 감지 회로, 및 컴퓨팅 유닛 회로에 연결된다.
어레이 내 소스 위치로부터 컴퓨팅 유닛 회로의 목적지 위치로 데이터 값을 이동(예를 들어, 복사, 전달 및/또는 전송)하기 위한 명령이 제어기로부터 수신될 수 있다. 데이터 값은 감지 증폭기 및/또는 컴퓨팅 구성요소를 이용하여 복수의 공유 I/O 라인을 통해 소스 위치에서 목적지 위치로 이동될 수 있다.
감지 회로, 감지 증폭기, 컴퓨팅 구성요소, 로직 스트라이프, 공유 I/O 라인, 칼럼 선택 회로, 멀티플렉서, 래치 구성요소, 래치 스트라이프 및/또는 래치 등의 다양한 조합 및 구성을 포함하는 예시적인 실시예가 본 명세서에서 도시되고 설명되었으나, 본 개시의 실시예는 본 명세서에서 명시 적으로 언급된 조합으로 제한되지 않는다. 본 명세서에 개시된 감지 회로, 감지 증폭기, 컴퓨팅 구성요소, 로직 스트라이프, 공유 I/O 라인, 칼럼 선택 회로, 멀티플렉서, 래치 구성요소, 래치 스트라이프 및/또는 래치 등의 다른 조합 및 구성은 본 개시의 범위 내에 명백하게 포함된다.
특정 실시예들이 여기에 도시되고 설명되었지만, 당업자는 동일한 결과들을 달성하도록 계산된 배열이 도시된 특정 실시예들을 대체할 수 있음을 이해할 것이다. 본 개시는 본 개시의 하나 이상의 실시 형태의 적응 또는 변형을 포함하도록 의도된다. 상기 설명은 제한적인 것이 아니라 예시적인 방식으로 이루어진 것으로 이해되어야한다. 상기 실시예들과 본 명세서에서 구체적으로 설명되지 않은 다른 실시예들의 조합은 상기 설명을 검토할 때 당업자에게 명백할 것이다. 본 개시의 하나 이상의 실시예들의 범위는 상기 구조들 및 프로세스들이 사용되는 다른 응용들을 포함한다. 그러므로, 본 개시의 하나 이상의 실시예의 범위는 그러한 청구 범위가 부여되는 전체 범위의 등가물과 함께 첨부된 청구 범위를 참조하여 결정되어야한다.
전술한 상세한 설명에서, 일부 특징들은 본 개시를 간소화하기 위해 단일 실시예에서 함께 그룹화된다. 이 개시 방법은 본 개시의 개시된 실시예가 각 청구 범위에 명시 적으로 언급된 것보다 더 많은 특징을 사용해야한다는 의도를 반영하는 것으로 해석되어서는 안된다. 오히려, 다음의 청구 범위가 반영하는 바와 같이, 본 발명의 주제는 단일의 개시된 실시예의 모든 특징보다 적다. 따라서, 이하의 청구 범위는 상세한 설명에 포함되며, 각 청구 범위는 그 자체가 별도의 실시예로서 서있다.

Claims (25)

  1. 장치로서,
    메모리 셀들의 어레이;
    메모리 셀들의 어레이에 연결된 감지 회로;
    상기 어레이와 관련된 데이터 경로를 제공하는 공유 입력/출력(I/O) 라인 - 상기 공유 I/O 라인은 감지 회로를 상기 공유 I/O 라인의 데이터 경로의 컴퓨팅 구성요소에 연결함 - 을 포함하는, 장치.
  2. 제 1 항에 있어서, 상기 컴퓨팅 구성요소는, 상기 공유 I/O 라인의 데이터 경로에서, 상기 데이터 경로의 피치와 동일하고 상기 메모리 셀의 어레이에 대한 디지트 라인의 피치의 함수인 피치를 갖는, 장치.
  3. 제 2 항에 있어서, 상기 피치는 상기 메모리 셀의 어레이에 대한 디지트 라인 피치의 정수배인 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 공유 I/O 라인은 상기 어레이의 복수의 상보적 디지트 라인으로 다중화되는 장치.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 컴퓨팅 구성요소는 상기 어레이에 대해 로컬인 공유 I/O 라인의 데이터 경로와 연관된 로직 스트라이프 내에 있는 장치.
  6. 제 5 항에 있어서, 상기 로직 스트라이프는 복수의 컴퓨팅 구성요소를 포함하는 장치.
  7. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    제어기를 더 포함하며, 상기 제어기는,
    어레이의 메모리 셀로부터 상기 공유 I/O 라인의 데이터 경로의 컴퓨팅 구성요소로 데이터 값을 이동시킬 것을 지시하도록 구성되고,
    상기 공유 I/O 라인의 데이터 경로에서 컴퓨팅 구성요소를 사용하여 데이터 값에 대한 연산을 수행할 것을 지시하도록 구성되는, 장치.
  8. 장치로서,
    메모리 셀들의 어레이;
    메모리 셀들의 어레이에 연결된 감지 회로;
    상기 어레이에 대해 로컬이고 상기 어레이와 관련된 데이터 경로를 제공하는 복수의 공유 입출력(I/O) 라인;
    상기 복수의 공유 I/O 라인의 데이터 경로에 있는 컴퓨팅 유닛 - 상기 복수의 공유 I/O 라인은 상기 감지 회로를 상기 컴퓨팅 유닛에 연결함; 및
    제어기를 포함하되, 상기 제어기는,
    어레이의 메모리 셀로부터 상기 컴퓨팅 유닛 내 컴퓨팅 구성요소에 데이터 값을 이동시킬 것을 지시하도록 구성되고,
    상기 공유 I/O 라인의 데이터 경로에서 컴퓨팅 구성요소를 사용하여 데이터 값에 대한 연산을 수행할 것을 지시하도록 구성되는, 장치.
  9. 제 8 항에 있어서, 상기 컴퓨팅 유닛은 복수의 로직 스트라이프를 포함하고, 상기 복수의 로직 스트라이프 각각은 복수의 컴퓨팅 구성요소를 갖는 장치.
  10. 제 9 항에 있어서, 상기 복수의 로직 스트라이프 중 하나 내 복수의 컴퓨팅 구성요소 각각은 상기 어레이에 대해 로컬인 복수의 공유 I/O 라인 중 하나와 관련되는 장치.
  11. 제 9 항에 있어서, 상기 복수의 로직 스트라이프 중 적어도 하나의 다수의 컴퓨팅 구성요소의 개수는 상기 복수의 공유 I/O 라인의 개수와 동일한 장치.
  12. 제 9 항에 있어서, 상기 복수의 로직 스트라이프 각각에 대한 컴퓨팅 함수는 상이한 논리 연산을 수행하도록 구성될 수 있고, 상기 복수의 로직 스트라이프 중 적어도 하나는 롱 시프트 가속기 연산(long shift accelerator operation)을 수행하도록 구성되는 장치.
  13. 제 9 항에 있어서, 상기 복수의 로직 스트라이프들에서 상기 복수의 컴퓨팅 구성요소들 각각의 연관은 상기 어레이에 대해 로컬인 상기 복수의 공유 I/O 라인들 중 다른 하나로 시프트될 수 있는 장치.
  14. 제 8 항 내지 제 13 항 중 어느 한 항에 있어서, 상기 감지 회로는 감지 증폭기 및 컴퓨팅 구성요소를 포함하고, 상기 연산은 상기 감지 회로의 컴퓨팅 구성요소 및 상기 컴퓨팅 유닛의 컴퓨팅 구성요소를 사용하여 수행될 수 있는 장치.
  15. 제 8 항 내지 제 13 항 중 어느 한 항에 있어서, 상기 제어기는, 상기 복수의 연산 각각의 결과를 어레이 내 메모리 셀로 다시 이동시키지 않고 상기 컴퓨팅 유닛의 상기 컴퓨팅 구성요소를 사용하여 상기 데이터 값에 대해 복수의 연산을 수행하도록 구성되는 장치.
  16. 제 15 항에 있어서, 상기 다중 연산이 논리 연산인 장치.
  17. 메모리 디바이스에서 컴퓨팅 연산을 수행하는 방법으로서,
    어레이의 메모리 셀로부터 어레이에 대해 로컬인 공유 I/O 라인의 데이터 경로 내 컴퓨팅 구성요소로 데이터 값을 이동시키는 단계 - 상기 공유 I/O 라인의 피치는 어레이의 피치의 함수임; 및
    상기 공유 I/O 라인의 데이터 경로에서 컴퓨팅 구성요소를 사용하여 데이터 값에 대한 연산을 수행하는 단계를 포함하는, 방법.
  18. 제 17 항에 있어서, 상기 연산을 수행하는 단계는 상기 공유 I/O 라인의 데이터 경로에서 상기 데이터 값에 대한 논리 연산을 수행하는 단계를 포함하는 방법.
  19. 제 17 항에 있어서, 상기 방법은 상기 어레이 내 로우로부터 상기 공유 I/O 라인의 데이터 경로 중 로직 스트라이프 내 복수의 컴퓨팅 구성요소로 복수의 데이터 값을 이동시키는 단계를 포함하는 방법.
  20. 제 19 항에 있어서, 상기 방법은:
    복수의 데이터 값을 복수의 로직 스트라이프로 이동시키는 단계 - 복수의 로직 스트라이프 각각은 상이한 논리 연산을 수행하도록 구성됨; 및
    상기 복수의 로직 스트라이프 중 적어도 하나를 사용하여 상기 데이터 경로에서 롱 시프트 가속기 연산을 수행하는 단계를 포함하는, 방법.
  21. 메모리 디바이스에서 컴퓨팅 연산을 수행하는 방법으로서,
    복수의 데이터 값을 메모리 셀의 어레이의 로우로부터 어레이에 대해 국한된 공유 I/O 라인의 데이터 경로의 복수의 컴퓨팅 구성요소로 이동시키는 단계 - 공유 I/O 라인의 피치는 어레이의 피치의 함수임; 및
    공유 I/O 라인의 데이터 경로 중 복수의 컴퓨팅 구성요소를 사용하여 복수의 데이터 값에 대한 연산을 수행하는 단계를 포함하는, 방법.
  22. 제 21 항에 있어서, 상기 방법은 상기 공유 I/O 라인의 데이터 경로 중 컴퓨팅 유닛의 복수의 로직 스트라이프 내 복수의 컴퓨팅 구성요소로 상기 복수의 데이터 값을 이동시키는 단계를 포함하는 방법.
  23. 제 22 항에 있어서, 상기 방법은:
    복수의 연산 각각의 결과를 어레이의 로우로 다시 이동시키지 않고 컴퓨팅 유닛 내의 복수의 컴퓨팅 구성요소를 사용하여 복수의 데이터 값에 대해 복수의 연산을 수행하는 단계를 포함하는, 방법.
  24. 제 21 항 내지 제 23 항 중 어느 한 항에 있어서, 상기 방법은,
    복수의 데이터 값을 복수의 컴퓨팅 구성요소로 이동시키도록, 그리고,
    공유 I/O 라인의 데이터 경로에서 복수의 데이터 값에 대한 연산을 수행하도록,
    상기 어레이의 뱅크에서 제어기를 사용하여 마이크로코드 명령어를 실행하는 단계를 포함하는, 방법.
  25. 제 21 항 내지 제 23 항 중 어느 한 항에 있어서, 상기 방법은:
    복수의 공유 I/O 라인을 사용하여 복수의 데이터 값을 복수의 컴퓨팅 구성요소로 이동시키는 단계 - 복수의 공유 I/O 라인 각각은 어레이의 복수의 칼럼으로 다중화됨 - 및
    복수의 공유 I/O 라인의 데이터 경로 중 그룹으로서 병렬로 복수의 데이터 값에 대한 연산을 수행하는 단계를 포함하는, 방법.
KR1020197027442A 2017-02-22 2018-02-14 데이터 경로에서의 컴퓨팅 장치 및 방법 KR102305389B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/438,989 2017-02-22
US15/438,989 US10403352B2 (en) 2017-02-22 2017-02-22 Apparatuses and methods for compute in data path
PCT/US2018/018145 WO2018156398A1 (en) 2017-02-22 2018-02-14 Apparatuses and methods for compute in data path

Publications (2)

Publication Number Publication Date
KR20190110154A true KR20190110154A (ko) 2019-09-27
KR102305389B1 KR102305389B1 (ko) 2021-09-28

Family

ID=63166577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197027442A KR102305389B1 (ko) 2017-02-22 2018-02-14 데이터 경로에서의 컴퓨팅 장치 및 방법

Country Status (6)

Country Link
US (3) US10403352B2 (ko)
EP (1) EP3586334B1 (ko)
KR (1) KR102305389B1 (ko)
CN (1) CN110326046B (ko)
TW (1) TWI656533B (ko)
WO (1) WO2018156398A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10403352B2 (en) * 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10749529B2 (en) * 2017-09-29 2020-08-18 Crossbar, Inc. Memory device including integrated deterministic pattern recognition circuitry
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US10838732B2 (en) * 2018-12-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for ordering bits in a memory device
US10818359B2 (en) 2018-12-21 2020-10-27 Micron Technology, Inc. Apparatuses and methods for organizing data in a memory device
EP3671748A1 (en) * 2018-12-21 2020-06-24 IMEC vzw In-memory computing for machine learning
US11403067B2 (en) * 2019-03-20 2022-08-02 Micron Technology, Inc. Memory array data structure for posit operations
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11200029B2 (en) * 2020-04-16 2021-12-14 Flashsilicon Incorporation Extendable multiple-digit base-2n in-memory adder device
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US12014798B2 (en) 2022-03-31 2024-06-18 Macronix International Co., Ltd. In memory data computation and analysis
US11755399B1 (en) 2022-05-24 2023-09-12 Macronix International Co., Ltd. Bit error rate reduction technology

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100308858A1 (en) * 2004-06-09 2010-12-09 Renesas Technology Corp. Semiconductor device and semiconductor signal processing apparatus

Family Cites Families (313)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380046A (en) 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
JPS6032911B2 (ja) 1979-07-26 1985-07-31 株式会社東芝 半導体記憶装置
US4435792A (en) 1982-06-30 1984-03-06 Sun Microsystems, Inc. Raster memory manipulation apparatus
US4727474A (en) 1983-02-18 1988-02-23 Loral Corporation Staging memory for massively parallel processor
EP0214718A3 (en) 1985-07-22 1990-04-04 Alliant Computer Systems Corporation Digital computer
US5201039A (en) 1987-09-30 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Multiple address-space data processor with addressable register and context switching
US4843264A (en) 1987-11-25 1989-06-27 Visic, Inc. Dynamic sense amplifier for CMOS static RAM
US5276643A (en) 1988-08-11 1994-01-04 Siemens Aktiengesellschaft Integrated semiconductor circuit
JPH0713858B2 (ja) 1988-08-30 1995-02-15 三菱電機株式会社 半導体記憶装置
US5023838A (en) 1988-12-02 1991-06-11 Ncr Corporation Random access memory device with integral logic capability
US4958378A (en) 1989-04-26 1990-09-18 Sun Microsystems, Inc. Method and apparatus for detecting changes in raster data
US5253308A (en) 1989-06-21 1993-10-12 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
EP0446721B1 (en) 1990-03-16 2000-12-20 Texas Instruments Incorporated Distributed processing memory
US5034636A (en) 1990-06-04 1991-07-23 Motorola, Inc. Sense amplifier with an integral logic function
US5210850A (en) 1990-06-15 1993-05-11 Compaq Computer Corporation Memory address space determination using programmable limit registers with single-ended comparators
US5279683A (en) 1990-06-20 1994-01-18 Kawasaki Steel Corporation Method of producing high-strength cold-rolled steel sheet suitable for working
JP3361825B2 (ja) 1990-08-22 2003-01-07 テキサス インスツルメンツ インコーポレイテツド メモリ・アレイ・アーキテクチャ
JPH06103599B2 (ja) 1990-11-16 1994-12-14 三菱電機株式会社 半導体集積回路装置
US5325519A (en) 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
FR2685973B1 (fr) 1992-01-03 1994-02-25 France Telecom Point memoire pour memoire associative.
KR950005095Y1 (ko) 1992-03-18 1995-06-22 문정환 양방향성 그로벌 비트 라인을 갖는 dram
EP0584783A3 (en) 1992-08-25 1994-06-22 Texas Instruments Inc Method and apparatus for improved processing
KR950004854B1 (ko) 1992-10-08 1995-05-15 삼성전자 주식회사 반도체 메모리 장치
US5440482A (en) 1993-03-25 1995-08-08 Taligent, Inc. Forward and reverse Boyer-Moore string searching of multilingual text having a defined collation order
US5485373A (en) 1993-03-25 1996-01-16 Taligent, Inc. Language-sensitive text searching system with modified Boyer-Moore process
US5369622A (en) 1993-04-20 1994-11-29 Micron Semiconductor, Inc. Memory with isolated digit lines
US5754478A (en) 1993-04-20 1998-05-19 Micron Technology, Inc. Fast, low power, write scheme for memory circuits using pulsed off isolation device
JP2663838B2 (ja) 1993-07-27 1997-10-15 日本電気株式会社 半導体集積回路装置
JP3252306B2 (ja) 1993-08-10 2002-02-04 株式会社日立製作所 半導体不揮発性記憶装置
JP3904244B2 (ja) 1993-09-17 2007-04-11 株式会社ルネサステクノロジ シングル・チップ・データ処理装置
JP3251421B2 (ja) 1994-04-11 2002-01-28 株式会社日立製作所 半導体集積回路
US5655113A (en) 1994-07-05 1997-08-05 Monolithic System Technology, Inc. Resynchronization circuit for a memory system and method of operating same
JPH0831168A (ja) 1994-07-13 1996-02-02 Hitachi Ltd 半導体記憶装置
US5481500A (en) 1994-07-22 1996-01-02 International Business Machines Corporation Precharged bit decoder and sense amplifier with integrated latch usable in pipelined memories
US5615404A (en) 1994-10-31 1997-03-25 Intel Corporation System having independently addressable bus interfaces coupled to serially connected multi-ported signal distributors generating and maintaining frame based polling schedule favoring isochronous peripherals
US5638128A (en) 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
US5724366A (en) 1995-05-16 1998-03-03 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
KR0146530B1 (ko) 1995-05-25 1998-09-15 김광호 단속제어회로를 구비한 반도체 메모리 장치와 제어방법
US7301541B2 (en) 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
JP2812262B2 (ja) 1995-08-31 1998-10-22 日本電気株式会社 連想記憶装置
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
JP2817836B2 (ja) 1995-11-30 1998-10-30 日本電気株式会社 半導体メモリ装置
JP3356612B2 (ja) 1996-02-29 2002-12-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 高速な輪郭スムージング方法及び装置
SG74580A1 (en) * 1996-03-08 2000-08-22 Hitachi Ltd Semiconductor ic device having a memory and a logic circuit implemented with a single chip
US6092186A (en) 1996-05-07 2000-07-18 Lucent Technologies Inc. Apparatus and method for aborting un-needed instruction fetches in a digital microprocessor device
US5915084A (en) 1996-09-30 1999-06-22 Advanced Micro Devices, Inc. Scannable sense amplifier circuit
US5991209A (en) 1997-04-11 1999-11-23 Raytheon Company Split sense amplifier and staging buffer for wide memory architecture
JP3592887B2 (ja) 1997-04-30 2004-11-24 株式会社東芝 不揮発性半導体記憶装置
US6510098B1 (en) 1997-05-28 2003-01-21 Cirrus Logic, Inc. Method and apparatus for transferring data in a dual port memory
JPH1115773A (ja) 1997-06-24 1999-01-22 Matsushita Electron Corp 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法
US5935263A (en) 1997-07-01 1999-08-10 Micron Technology, Inc. Method and apparatus for memory array compressed data testing
US6195734B1 (en) 1997-07-02 2001-02-27 Micron Technology, Inc. System for implementing a graphic address remapping table as a virtual register file in system memory
US6181698B1 (en) 1997-07-09 2001-01-30 Yoichi Hariguchi Network routing table using content addressable memory
US6025221A (en) 1997-08-22 2000-02-15 Micron Technology, Inc. Processing methods of forming integrated circuitry memory devices, methods of forming DRAM arrays, and related semiconductor masks
US5991785A (en) 1997-11-13 1999-11-23 Lucent Technologies Inc. Determining an extremum value and its index in an array using a dual-accumulation processor
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6163862A (en) 1997-12-01 2000-12-19 International Business Machines Corporation On-chip test circuit for evaluating an on-chip signal using an external test signal
US6351427B1 (en) * 1997-12-10 2002-02-26 Texas Instruments Incorporated Stored write scheme for high speed/wide bandwidth memory devices
JP3488612B2 (ja) 1997-12-11 2004-01-19 株式会社東芝 センス増幅回路
US5986942A (en) 1998-01-20 1999-11-16 Nec Corporation Semiconductor memory device
JPH11260057A (ja) 1998-03-13 1999-09-24 Nec Corp 半導体記憶装置
JPH11265995A (ja) 1998-03-17 1999-09-28 Mitsubishi Electric Corp 半導体記憶装置
JPH11306751A (ja) 1998-04-22 1999-11-05 Toshiba Corp 半導体記憶装置
US6005799A (en) 1998-08-06 1999-12-21 Silicon Aquarius Methods and circuits for single-memory dynamic cell multivalue data storage
US6141286A (en) 1998-08-21 2000-10-31 Micron Technology, Inc. Embedded DRAM architecture with local data drivers and programmable number of data read and data write lines
US7409694B2 (en) 1998-09-09 2008-08-05 Microsoft Corporation Highly componentized system architecture with loadable virtual memory manager
JP2000173269A (ja) 1998-12-08 2000-06-23 Mitsubishi Electric Corp 半導体記憶装置
KR100381968B1 (ko) 1998-12-30 2004-03-24 주식회사 하이닉스반도체 고속동작용디램
US5999435A (en) 1999-01-15 1999-12-07 Fast-Chip, Inc. Content addressable memory device
US6389507B1 (en) 1999-01-15 2002-05-14 Gigabus, Inc. Memory device search system and method
US6134164A (en) 1999-04-22 2000-10-17 International Business Machines Corp. Sensing circuit for a memory cell array
US6741104B2 (en) 1999-05-26 2004-05-25 Micron Technology, Inc. DRAM sense amplifier for low voltages
US6157578A (en) 1999-07-15 2000-12-05 Stmicroelectronics, Inc. Method and apparatus for accessing a memory device
US6208544B1 (en) 1999-09-09 2001-03-27 Harris Corporation Content addressable memory cell providing simultaneous read and compare capability
US6578058B1 (en) 1999-10-06 2003-06-10 Agilent Technologies, Inc. System and method for comparing values from target systems
US7124221B1 (en) 1999-10-19 2006-10-17 Rambus Inc. Low latency multi-level communication interface
US6418498B1 (en) 1999-12-30 2002-07-09 Intel Corporation Integrated system management memory for system management interrupt handler independent of BIOS and operating system
JP4627103B2 (ja) 2000-01-18 2011-02-09 富士通セミコンダクター株式会社 半導体記憶装置及びその制御方法
AU2000224587A1 (en) 2000-02-04 2001-08-14 Hitachi Ltd. Semiconductor device
WO2001065359A2 (en) 2000-02-29 2001-09-07 Peter Petrov Method and apparatus for building a memory image
JP3983969B2 (ja) 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
US7028170B2 (en) 2000-03-08 2006-04-11 Sun Microsystems, Inc. Processing architecture having a compare capability
US6678678B2 (en) 2000-03-09 2004-01-13 Braodcom Corporation Method and apparatus for high speed table search
JP3822412B2 (ja) 2000-03-28 2006-09-20 株式会社東芝 半導体記憶装置
US6965648B1 (en) 2000-05-04 2005-11-15 Sun Microsystems, Inc. Source synchronous link integrity validation
CN1307647C (zh) 2000-07-07 2007-03-28 睦塞德技术公司 动态随机存取存储器、存储器器件及其执行读命令的方法
US6466499B1 (en) 2000-07-11 2002-10-15 Micron Technology, Inc. DRAM sense amplifier having pre-charged transistor body nodes
AU2001285161A1 (en) 2000-08-21 2002-03-04 United States Postal Services Delivery point validation system
US6301164B1 (en) 2000-08-25 2001-10-09 Micron Technology, Inc. Antifuse method to repair columns in a prefetched output memory architecture
US6704828B1 (en) 2000-08-31 2004-03-09 Micron Technology, Inc. System and method for implementing data pre-fetch having reduced data lines and/or higher data rates
US6948056B1 (en) 2000-09-28 2005-09-20 Intel Corporation Maintaining even and odd array pointers to extreme values by searching and comparing multiple elements concurrently where a pointer is adjusted after processing to account for a number of pipeline stages
US6304477B1 (en) 2001-01-31 2001-10-16 Motorola, Inc. Content addressable magnetic random access memory
US6563754B1 (en) 2001-02-08 2003-05-13 Integrated Device Technology, Inc. DRAM circuit with separate refresh memory
US6650158B2 (en) 2001-02-21 2003-11-18 Ramtron International Corporation Ferroelectric non-volatile logic elements
US6807614B2 (en) 2001-07-19 2004-10-19 Shine C. Chung Method and apparatus for using smart memories in computing
US7546438B2 (en) 2001-07-19 2009-06-09 Chung Shine C Algorithm mapping, specialized instructions and architecture features for smart memory computing
ITRM20010531A1 (it) 2001-08-31 2003-02-28 Micron Technology Inc Dispositivo rilevatore a bassa potenza e alta tensione per memorie ditipo flash.
US7260672B2 (en) 2001-09-07 2007-08-21 Intel Corporation Using data stored in a destructive-read memory
US7062689B2 (en) 2001-12-20 2006-06-13 Arm Limited Method and apparatus for memory self testing
US20040073773A1 (en) 2002-02-06 2004-04-15 Victor Demjanenko Vector processor architecture and methods performed therein
US6707729B2 (en) 2002-02-15 2004-03-16 Micron Technology, Inc. Physically alternating sense amplifier activation
WO2003088033A1 (en) 2002-04-09 2003-10-23 University Of Rochester Multiplier-based processor-in-memory architectures for image and graphics processing
GB2419005B (en) * 2002-04-22 2006-06-07 Micron Technology Inc Providing a register file memory with local addressing in a SIMD parallel processor
JP2003331598A (ja) 2002-05-13 2003-11-21 Mitsubishi Electric Corp 半導体記憶装置
US7406494B2 (en) 2002-05-14 2008-07-29 Texas Instruments Incorporated Method of generating a cycle-efficient bit-reverse index array for a wireless communication system
JP2003346484A (ja) 2002-05-23 2003-12-05 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US6789099B2 (en) 2002-06-10 2004-09-07 International Business Machines Corporation Sense-amp based adder with source follower evaluation tree
US7054178B1 (en) 2002-09-06 2006-05-30 Etron Technology, Inc. Datapath architecture for high area efficiency
US6987693B2 (en) 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US7079407B1 (en) 2002-10-18 2006-07-18 Netlogic Microsystems, Inc. Content addressable memory (CAM) device including match line sensing
US6765834B2 (en) 2002-11-19 2004-07-20 Hewlett-Packard Development Company, L.P. System and method for sensing memory cells of an array of memory cells
US6731542B1 (en) 2002-12-05 2004-05-04 Advanced Micro Devices, Inc. Circuit for accurate memory read operations
KR100546307B1 (ko) 2002-12-05 2006-01-26 삼성전자주식회사 글로벌 입출력라인을 프리차지 및/또는 이퀄라이징하기위한 프리차지 회로를 구비하는 반도체 장치 및프리차지 및/또는 이퀄라이즈하는 트랜지스터의 레이아웃
US6888372B1 (en) 2002-12-20 2005-05-03 Altera Corporation Programmable logic device with soft multiplier
US20050015557A1 (en) 2002-12-27 2005-01-20 Chih-Hung Wang Nonvolatile memory unit with specific cache
US7346903B2 (en) 2003-02-04 2008-03-18 Sun Microsystems, Inc. Compiling and linking modules of a cycle-based logic design
US6768679B1 (en) 2003-02-10 2004-07-27 Advanced Micro Devices, Inc. Selection circuit for accurate memory read operations
US6819612B1 (en) 2003-03-13 2004-11-16 Advanced Micro Devices, Inc. Apparatus and method for a sense amplifier circuit that samples and holds a reference voltage
US6865122B2 (en) 2003-04-11 2005-03-08 Intel Corporation Reclaiming blocks in a block-alterable memory
US7574466B2 (en) 2003-04-23 2009-08-11 Micron Technology, Inc. Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements
US7454451B2 (en) 2003-04-23 2008-11-18 Micron Technology, Inc. Method for finding local extrema of a set of values for a parallel processing element
US7447720B2 (en) 2003-04-23 2008-11-04 Micron Technology, Inc. Method for finding global extrema of a set of bytes distributed across an array of parallel processing elements
US9015390B2 (en) 2003-04-25 2015-04-21 Micron Technology, Inc. Active memory data compression system and method
DE10319271A1 (de) 2003-04-29 2004-11-25 Infineon Technologies Ag Speicher-Schaltungsanordnung und Verfahren zur Herstellung
JP3898152B2 (ja) 2003-05-27 2007-03-28 ローム株式会社 演算機能付き記憶装置および演算記憶方法
EP1665286B8 (en) 2003-09-04 2007-09-12 Nxp B.V. Integrated circuit and a method of cache remapping
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7177183B2 (en) 2003-09-30 2007-02-13 Sandisk 3D Llc Multiple twin cell non-volatile memory array and logic block structure and method therefor
US7913125B2 (en) 2003-11-04 2011-03-22 Lsi Corporation BISR mode to test the redundant elements and regular functional memory to avoid test escapes
US6950771B1 (en) 2003-12-09 2005-09-27 Xilinx, Inc. Correlation of electrical test data with physical defect data
US7401281B2 (en) 2004-01-29 2008-07-15 International Business Machines Corporation Remote BIST high speed test and redundancy calculation
US7631236B2 (en) 2004-01-29 2009-12-08 International Business Machines Corporation Hybrid built-in self test (BIST) architecture for embedded memory arrays and an associated method
JP4819316B2 (ja) 2004-02-23 2011-11-24 ルネサスエレクトロニクス株式会社 半導体装置
US7088606B2 (en) 2004-03-10 2006-08-08 Altera Corporation Dynamic RAM storage techniques
US7020017B2 (en) 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7120063B1 (en) 2004-05-07 2006-10-10 Spansion Llc Flash memory cell and methods for programming and erasing
US8522205B2 (en) 2004-05-18 2013-08-27 Oracle International Corporation Packaging multiple groups of read-only files of an application's components into multiple shared libraries
US7061817B2 (en) 2004-06-30 2006-06-13 Micron Technology, Inc. Data path having grounded precharge operation and test compression capability
US7116602B2 (en) 2004-07-15 2006-10-03 Micron Technology, Inc. Method and system for controlling refresh to avoid memory cell data losses
US7434024B2 (en) 2004-08-30 2008-10-07 Ati Technologies, Inc. SIMD processor with register addressing, buffer stall and methods
US20060069849A1 (en) 2004-09-30 2006-03-30 Rudelic John C Methods and apparatus to update information in a memory
US7685365B2 (en) 2004-09-30 2010-03-23 Intel Corporation Transactional memory execution utilizing virtual memory
US20060149804A1 (en) 2004-11-30 2006-07-06 International Business Machines Corporation Multiply-sum dot product instruction with mask and splat
US7230851B2 (en) 2004-12-23 2007-06-12 Sandisk Corporation Reducing floating gate to floating gate coupling effect
KR100673901B1 (ko) 2005-01-28 2007-01-25 주식회사 하이닉스반도체 저전압용 반도체 메모리 장치
US7543119B2 (en) 2005-02-10 2009-06-02 Richard Edward Hessel Vector processor
US7624313B2 (en) 2005-03-28 2009-11-24 Hewlett-Packard Development Company, L.P. TCAM BIST with redundancy
US7187585B2 (en) 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7193898B2 (en) 2005-06-20 2007-03-20 Sandisk Corporation Compensation currents in non-volatile memory read operations
KR100720644B1 (ko) 2005-11-17 2007-05-21 삼성전자주식회사 메모리 장치 및 메모리 그 동작 방법
JP4804479B2 (ja) 2005-12-13 2011-11-02 スパンション エルエルシー 半導体装置およびその制御方法
JP5129450B2 (ja) 2006-01-16 2013-01-30 ルネサスエレクトロニクス株式会社 情報処理装置
US8077533B2 (en) 2006-01-23 2011-12-13 Freescale Semiconductor, Inc. Memory and method for sensing data in a memory using complementary sensing scheme
JP4989900B2 (ja) 2006-01-31 2012-08-01 ルネサスエレクトロニクス株式会社 並列演算処理装置
US7400532B2 (en) 2006-02-16 2008-07-15 Micron Technology, Inc. Programming method to reduce gate coupling interference for non-volatile memory
KR100755370B1 (ko) 2006-04-17 2007-09-04 삼성전자주식회사 반도체 메모리 장치
TW200828333A (en) 2006-04-28 2008-07-01 Samsung Electronics Co Ltd Sense amplifier circuit and sense amplifier-based flip-flop having the same
US7752417B2 (en) 2006-06-05 2010-07-06 Oracle America, Inc. Dynamic selection of memory virtualization techniques
US7372715B2 (en) 2006-06-14 2008-05-13 Micron Technology, Inc. Architecture and method for NAND flash memory
US8069377B2 (en) 2006-06-26 2011-11-29 Micron Technology, Inc. Integrated circuit having memory array including ECC and column redundancy and method of operating the same
US7724559B2 (en) 2006-07-14 2010-05-25 International Business Machines Corporation Self-referenced match-line sense amplifier for content addressable memories
US7443729B2 (en) 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7692466B2 (en) 2006-08-18 2010-04-06 Ati Technologies Ulc Sense amplifier based flip-flop
US7805587B1 (en) 2006-11-01 2010-09-28 Nvidia Corporation Memory addressing controlled by PTE fields
US8151082B2 (en) 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
US7471536B2 (en) 2006-12-08 2008-12-30 Texas Instruments Incorporated Match mismatch emulation scheme for an addressed location in a CAM
US7460387B2 (en) 2007-01-05 2008-12-02 International Business Machines Corporation eDRAM hierarchical differential sense amp
US7743303B2 (en) 2007-01-22 2010-06-22 Micron Technology, Inc. Defective memory block remapping method and system, and memory device and processor-based system using same
US7937535B2 (en) 2007-02-22 2011-05-03 Arm Limited Managing cache coherency in a data processing apparatus
US7804718B2 (en) 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US7492640B2 (en) 2007-06-07 2009-02-17 Sandisk Corporation Sensing with bit-line lockout control in non-volatile memory
JP2009009665A (ja) 2007-06-29 2009-01-15 Elpida Memory Inc 半導体記憶装置
US7996749B2 (en) 2007-07-03 2011-08-09 Altera Corporation Signal loss detector for high-speed serial interface of a programmable logic device
US7489543B1 (en) 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
US7694195B2 (en) 2007-08-14 2010-04-06 Dell Products L.P. System and method for using a memory mapping function to map memory defects
US7869273B2 (en) 2007-09-04 2011-01-11 Sandisk Corporation Reducing the impact of interference during programming
US7787319B2 (en) 2007-09-06 2010-08-31 Innovative Silicon Isi Sa Sense amplifier circuitry for integrated circuit having memory cell array, and method of operating same
US8042082B2 (en) 2007-09-12 2011-10-18 Neal Solomon Three dimensional memory in a system on a chip
US7965564B2 (en) 2007-09-18 2011-06-21 Zikbit Ltd. Processor arrays made of standard memory cells
US7663928B2 (en) 2007-10-09 2010-02-16 Ememory Technology Inc. Sense amplifier circuit having current mirror architecture
US8156299B2 (en) 2007-10-19 2012-04-10 Virident Systems Inc. Managing memory systems containing components with asymmetric characteristics
US7924628B2 (en) 2007-11-14 2011-04-12 Spansion Israel Ltd Operation of a non-volatile memory array
US7979667B2 (en) 2007-12-10 2011-07-12 Spansion Llc Memory array search engine
US7755960B2 (en) 2007-12-17 2010-07-13 Stmicroelectronics Sa Memory including a performance test circuit
US8495438B2 (en) 2007-12-28 2013-07-23 Texas Instruments Incorporated Technique for memory imprint reliability improvement
US7808854B2 (en) 2008-02-19 2010-10-05 Kabushiki Kaisha Toshiba Systems and methods for data transfers between memory cells
JP5194302B2 (ja) 2008-02-20 2013-05-08 ルネサスエレクトロニクス株式会社 半導体信号処理装置
US20090254694A1 (en) 2008-04-02 2009-10-08 Zikbit Ltd. Memory device with integrated parallel processing
US8332580B2 (en) 2008-04-02 2012-12-11 Zikbit Ltd. System, method and apparatus for memory with embedded associative section for computations
US7957206B2 (en) 2008-04-04 2011-06-07 Micron Technology, Inc. Read circuitry for an integrated circuit having memory cells and/or a memory cell array, and method of operating same
US8339824B2 (en) 2008-07-02 2012-12-25 Cooke Laurence H Nearest neighbor serial content addressable memory
US8555037B2 (en) 2008-08-15 2013-10-08 Apple Inc. Processing vectors using wrapping minima and maxima instructions in the macroscalar architecture
US8417921B2 (en) 2008-08-15 2013-04-09 Apple Inc. Running-min and running-max instructions for processing vectors using a base value from a key element of an input vector
US8259509B2 (en) 2008-08-18 2012-09-04 Elpida Memory, Inc. Semiconductor memory device and method with auxiliary I/O line assist circuit and functionality
ITRM20080543A1 (it) 2008-10-09 2010-04-10 Micron Technology Inc Architettura e metodo per la programmazione di memorie.
KR101596283B1 (ko) 2008-12-19 2016-02-23 삼성전자 주식회사 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치
JP2012515376A (ja) * 2009-01-12 2012-07-05 ラムバス・インコーポレーテッド クロック転送低電力シグナリングシステム
KR101622922B1 (ko) 2009-03-06 2016-05-20 삼성전자 주식회사 개선된 로컬 입출력라인 프리차아지 스킴을 갖는 반도체 메모리 장치
US8484276B2 (en) 2009-03-18 2013-07-09 International Business Machines Corporation Processing array data on SIMD multi-core processor architectures
US9606807B2 (en) * 2009-06-04 2017-03-28 Micron Technology, Inc. Direct communication with a processor internal to a memory device
KR20100134235A (ko) 2009-06-15 2010-12-23 삼성전자주식회사 반도체 메모리 장치
US7898864B2 (en) 2009-06-24 2011-03-01 Sandisk Corporation Read operation for memory with compensation for coupling based on write-erase cycles
US8412987B2 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Non-volatile memory to store memory remap information
US8412985B1 (en) 2009-06-30 2013-04-02 Micron Technology, Inc. Hardwired remapped memory
US8238173B2 (en) 2009-07-16 2012-08-07 Zikbit Ltd Using storage cells to perform computation
US9076527B2 (en) 2009-07-16 2015-07-07 Mikamonu Group Ltd. Charge sharing in a TCAM array
JP4951041B2 (ja) 2009-08-06 2012-06-13 株式会社東芝 半導体記憶装置
JP5568133B2 (ja) 2009-08-18 2014-08-06 ダウ コーニング コーポレーション 多層経皮パッチ
US8059438B2 (en) 2009-08-28 2011-11-15 International Business Machines Corporation Content addressable memory array programmed to perform logic operations
US8077532B2 (en) 2009-09-02 2011-12-13 Micron Technology, Inc. Small unit internal verify read in a memory device
US8482975B2 (en) 2009-09-14 2013-07-09 Micron Technology, Inc. Memory kink checking
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
US20120246380A1 (en) 2009-10-21 2012-09-27 Avidan Akerib Neighborhood operations for parallel processing
US8650232B2 (en) 2009-10-26 2014-02-11 Via Technologies, Inc. System and method for determination of a horizontal minimum of digital values
KR101634340B1 (ko) 2009-11-03 2016-06-28 삼성전자주식회사 반도체 메모리 장치의 프로그램 방법
US8583896B2 (en) 2009-11-13 2013-11-12 Nec Laboratories America, Inc. Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain
KR20110054773A (ko) 2009-11-18 2011-05-25 삼성전자주식회사 비트라인 디스털번스를 개선하는 반도체 메모리 장치
US8089815B2 (en) 2009-11-24 2012-01-03 Sandisk Technologies Inc. Programming memory with bit line floating to reduce channel-to-floating gate coupling
US8605015B2 (en) 2009-12-23 2013-12-10 Syndiant, Inc. Spatial light modulator with masking-comparators
JP2011146102A (ja) 2010-01-15 2011-07-28 Elpida Memory Inc 半導体装置及びデータ処理システム
CN102141905B (zh) 2010-01-29 2015-02-25 上海芯豪微电子有限公司 一种处理器体系结构
US8164942B2 (en) 2010-02-01 2012-04-24 International Business Machines Corporation High performance eDRAM sense amplifier
US8533245B1 (en) 2010-03-03 2013-09-10 Altera Corporation Multipliers with a reduced number of memory blocks
EP2564306A4 (en) 2010-04-27 2017-04-26 Cornell University System and methods for mapping and searching objects in multidimensional space
KR101119371B1 (ko) 2010-04-29 2012-03-06 주식회사 하이닉스반도체 반도체 메모리 장치 및 이의 동작 방법
US8559232B2 (en) 2010-05-03 2013-10-15 Aplus Flash Technology, Inc. DRAM-like NVM memory array and sense amplifier design for high temperature and high endurance operation
US8351278B2 (en) 2010-06-23 2013-01-08 International Business Machines Corporation Jam latch for latching memory array output data
KR101143471B1 (ko) 2010-07-02 2012-05-11 에스케이하이닉스 주식회사 센스앰프 및 이를 포함하는 반도체 장치
US20120017039A1 (en) 2010-07-16 2012-01-19 Plx Technology, Inc. Caching using virtual memory
US8462532B1 (en) 2010-08-31 2013-06-11 Netlogic Microsystems, Inc. Fast quaternary content addressable memory cell
US8347154B2 (en) 2010-09-21 2013-01-01 International Business Machines Corporation Use of hashing function to distinguish random and repeat errors in a memory system
US8904115B2 (en) 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US8332367B2 (en) 2010-10-20 2012-12-11 International Business Machines Corporation Parallel data redundancy removal
KR101148352B1 (ko) 2010-11-02 2012-05-21 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
JP5528987B2 (ja) 2010-11-11 2014-06-25 ピーエスフォー ルクスコ エスエイアールエル 半導体装置
US8553481B2 (en) 2010-11-29 2013-10-08 Apple Inc. Sense amplifier latch with integrated test data multiplexer
US9165023B2 (en) 2011-01-31 2015-10-20 Freescale Semiconductor, Inc. Integrated circuit device and method for determining an index of an extreme value within an array of values
KR20120088973A (ko) 2011-02-01 2012-08-09 삼성전자주식회사 로컬 센스앰프 회로 및 이를 포함하는 반도체 메모리 장치
JP2012174016A (ja) 2011-02-22 2012-09-10 Renesas Electronics Corp データ処理装置およびそのデータ処理方法
JP5259765B2 (ja) 2011-03-29 2013-08-07 株式会社東芝 不揮発性半導体メモリ
US8725730B2 (en) 2011-05-23 2014-05-13 Hewlett-Packard Development Company, L.P. Responding to a query in a data processing system
US8706958B2 (en) 2011-09-01 2014-04-22 Thomas Hein Data mask encoding in data bit inversion scheme
KR20140085468A (ko) 2011-10-28 2014-07-07 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 행 시프팅 시프트가능 메모리
US8891297B2 (en) 2011-11-01 2014-11-18 Micron Technology, Inc. Memory cell sensing
US9830158B2 (en) 2011-11-04 2017-11-28 Nvidia Corporation Speculative execution and rollback
KR101321481B1 (ko) 2011-11-04 2013-10-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이를 위한 테스트 회로
KR20130052971A (ko) 2011-11-14 2013-05-23 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
WO2013078085A1 (en) 2011-11-22 2013-05-30 Mips Technologies, Inc. Processor with kernel mode access to user space virtual addresses
US9665371B2 (en) 2011-11-30 2017-05-30 Intel Corporation Providing vector horizontal compare functionality within a vector register
US20140108480A1 (en) 2011-12-22 2014-04-17 Elmoustapha Ould-Ahmed-Vall Apparatus and method for vector compute and accumulate
KR20130072869A (ko) 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 프리차지 회로 및 비휘발성 메모리 장치
US20130286705A1 (en) 2012-04-26 2013-10-31 David B. Grover Low power content addressable memory hitline precharge and sensing circuit
US8938603B2 (en) 2012-05-31 2015-01-20 Samsung Electronics Co., Ltd. Cache system optimized for cache miss detection
US20130332707A1 (en) 2012-06-07 2013-12-12 Intel Corporation Speed up big-number multiplication using single instruction multiple data (simd) architectures
KR102062301B1 (ko) 2013-01-03 2020-01-03 삼성전자주식회사 메모리 장치의 페이지 복사 방법 및 메모리 시스템의 페이지 관리 방법
US20140215185A1 (en) 2013-01-29 2014-07-31 Atmel Norway Fetching instructions of a loop routine
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9171153B2 (en) 2013-05-17 2015-10-27 Hewlett-Packard Development Company, L.P. Bloom filter with memory element
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) * 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9536577B2 (en) 2013-09-26 2017-01-03 Intel Corporation Data movement in memory devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US20150270015A1 (en) 2014-03-19 2015-09-24 Micron Technology, Inc. Memory mapping
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
EP3140749B1 (en) 2014-05-08 2021-01-13 Micron Technology, INC. In-memory lightweight coherency
JP6637906B2 (ja) 2014-05-08 2020-01-29 マイクロン テクノロジー,インク. ハイブリッドメモリキューブシステム相互接続ディレクトリベースキャッシュコヒーレンス方法
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
CN107430874B (zh) * 2015-03-12 2021-02-02 美光科技公司 用于数据移动的设备及方法
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) * 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
KR102238296B1 (ko) * 2015-06-12 2021-04-08 에스케이하이닉스 주식회사 반도체 메모리 장치
US9921777B2 (en) * 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US10403352B2 (en) * 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US11157422B2 (en) * 2017-03-31 2021-10-26 Intel Corporation Shared memory for intelligent network interface cards

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100308858A1 (en) * 2004-06-09 2010-12-09 Renesas Technology Corp. Semiconductor device and semiconductor signal processing apparatus

Also Published As

Publication number Publication date
EP3586334B1 (en) 2023-07-19
EP3586334A1 (en) 2020-01-01
CN110326046A (zh) 2019-10-11
EP3586334A4 (en) 2020-12-02
CN110326046B (zh) 2023-11-07
US20180240510A1 (en) 2018-08-23
WO2018156398A1 (en) 2018-08-30
US11682449B2 (en) 2023-06-20
TW201835906A (zh) 2018-10-01
TWI656533B (zh) 2019-04-11
US11011220B2 (en) 2021-05-18
US20190362771A1 (en) 2019-11-28
KR102305389B1 (ko) 2021-09-28
US20210272622A1 (en) 2021-09-02
US10403352B2 (en) 2019-09-03

Similar Documents

Publication Publication Date Title
KR102305389B1 (ko) 데이터 경로에서의 컴퓨팅 장치 및 방법
US10482948B2 (en) Apparatuses and methods for data movement
KR102377926B1 (ko) 뱅크 대 뱅크 데이터 전달
CN109147842B (zh) 同时进行数据路径中计算操作的设备及方法
KR102292449B1 (ko) 메모리내 연산을 위한 장치 및 방법
KR102306034B1 (ko) 데이터 경로 내 컴퓨팅 연산을 위한 장치 및 방법
US11474965B2 (en) Apparatuses and methods for in-memory data switching networks

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
GRNT Written decision to grant