KR20210094666A - 메모리 디바이스에서 데이터를 구성하는 장치 및 방법 - Google Patents

메모리 디바이스에서 데이터를 구성하는 장치 및 방법 Download PDF

Info

Publication number
KR20210094666A
KR20210094666A KR1020217022837A KR20217022837A KR20210094666A KR 20210094666 A KR20210094666 A KR 20210094666A KR 1020217022837 A KR1020217022837 A KR 1020217022837A KR 20217022837 A KR20217022837 A KR 20217022837A KR 20210094666 A KR20210094666 A KR 20210094666A
Authority
KR
South Korea
Prior art keywords
data
array
memory cells
size
matrix configuration
Prior art date
Application number
KR1020217022837A
Other languages
English (en)
Other versions
KR102612698B1 (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 KR20210094666A publication Critical patent/KR20210094666A/ko
Application granted granted Critical
Publication of KR102612698B1 publication Critical patent/KR102612698B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • 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
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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
    • 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
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/14Word line organisation; Word line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/18Bit line organisation; Bit line lay-out

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 디바이스에서 매트릭스에 대응하도록 데이터를 구성하는 것과 관련된 시스템, 장치 및 방법이 설명된다. 데이터는 처리 리소스가 데이터에 대한 명령어를 실행하기 전에 메모리 셀들의 어레이에 연결된 회로에 의해 구성될 수 있다. 따라서 데이터 구성은 외부 프로세서가 아니라 메모리 디바이스에서 발생할 수 있다. 메모리 셀들의 어레이에 결합된 제어기는 처리 리소스에 의한 처리를 위해 데이터를 준비하기 위해 매트릭스 구성으로 데이터를 구성하도록 회로에 지시할 수 있다. 회로는 처리 리소스와 연관된 호스트로부터의 커맨드에 기초하여 데이터를 구성하는 컬럼 디코딩 회로이거나 이를 포함할 수 있다. 예를 들어, 프리페치 동작에서 판독 데이터는 매트릭스 구성의 로우들 또는 컬럼들에 대응하도록 선택될 수 있다.

Description

메모리 디바이스에서 데이터를 구성하는 장치 및 방법
본 개시는 일반적으로 반도체 메모리 및 방법에 관한 것으로, 보다 상세하게는 메모리 디바이스에서 프리페치 데이터(prefetch data)를 구성하기 위한 장치 및 방법에 관한 것이다.
메모리 디바이스는 일반적으로 컴퓨터 또는 기타 전자 시스템의 내부, 반도체, 집적 회로로 제공된다. 휘발성 메모리와 비휘발성 메모리를 포함한 다양한 유형의 메모리가 있다. 휘발성 메모리는 데이터(예를 들어, 호스트 데이터, 오류 데이터 등)를 유지하기 위해 전원이 필요할 수 있으며, 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM) 및 사이리스터 랜덤 액세스 메모리(TRAM) 등을 포함한다. 비휘발성 메모리는 전원이 공급되지 않을 때 저장된 데이터를 유지하여 영구 데이터를 제공할 수 있으며, NAND 플래시 메모리, NOR 플래시 메모리 및 상변화 랜덤 액세스 메모리(PCRAM), 저항성 랜덤 액세스 메모리(RRAM) 및 스핀 토크 전환 랜덤 액세스 메모리(STT RAM)와 같은 자기저항 랜덤 액세스 메모리(MRAM)와 같은 저항 가변 메모리를 포함할 수 있다.
전자 시스템은 종종 다수의 처리 리스소들(예를 들어, 하나 이상의 프로세서들)을 포함하며, 이는 명령어를 검색 및 실행하고 실행된 명령어의 결과를 적절한 위치에 저장할 수 있다. 프로세서는 산술 논리 장치(ALU) 회로, 부동 소수점 장치(FPU) 회로 및 조합 논리 블록과 같은 다수의 기능 유닛들을 포함할 수 있으며, 이는, 예를 들어, AND, OR, NOT, NAND, NOR 및 XOR과 같은 논리 연산 및 데이터(예를 들어, 하나 이상의 피연산자(operand))에 대한 반전(예를 들어, 인버전) 논리 연산을 을 수행함으로써 명령어를 실행하는 데 사용될 수 있다. 예를 들어, 기능 유닛 회로는 다수의 연산을 통해 피연산자에 대한 덧셈, 뺄셈, 곱셈 및 나눗셈과 같은 산술 연산을 수행하는 데 사용될 수 있다. 정보를 주문하기 위한 로직이 없는 메모리 디바이스는 이러한 산술 또는 매트릭스 연산과 관련된 레이턴시 증가에 기여하거나 레이턴시 문제를 개선하지 않을 수 있다.
도 1은 본 개시의 다수의 실시 예들에 따른 메모리 디바이스를 포함하는 컴퓨팅 시스템 형태의 장치의 블록도이다.
도 2는 본 개시의 다수의 실시 예들에 따른 메모리 디바이스의 메모리 셀들의 어레이 및 메모리 디바이스의 제어기의 블록도이다.
도 3은 본 개시의 다수의 실시 예들에 따른 메모리 셀들의 어레이의 로우(row)를 예시하는 개략도이다.
도 4는 본 개시에 따른 매트릭스(예를 들어, 매트릭스 데이터 구조)에 대응하도록 데이터를 구성하기 위한 흐름도이다.
도 5a 및 5b는 본 개시의 다수의 실시 예들에 따른 매트릭스에 대응하도록 데이터를 구성하는 예시들을 도시하는 개략도이다.
도 6a 및 6b는 본 개시의 다수의 실시 예들에 따른 매트릭스에 대응하도록 데이터를 구성하는 추가 예시들을 도시하는 개략도이다.
도 7은 본 개시의 다수의 실시 예들에 따른 매트릭스 구성으로부터 선형 구성으로 데이터를 변환하기 위한 흐름도이다.
도 8a 내지 도 8c는 본 개시의 다수의 실시 예들에 따른 매트릭스 구성으로부터 선형 구성으로 데이터를 변환하는 예를 예시하는 개략도이다.
본 개시는 메모리 디바이스 상에서 매트릭스 포맷(matrix format)으로 데이터를 구성하는 것과 관련된 시스템, 장치 및 방법을 포함한다. 다수의 실시 예들에서, 장치는 메모리 셀들의 어레이 및 메모리 셀들의 어레이에 결합된 제어기를 포함한다. 장치는 메모리 셀들의 어레이로부터 다수의 감지 증폭기들로 데이터를 전송하고 다수의 감지 증폭기들로부터의 데이터의 적어도 일부를 선택하고 이를 DQ 및 버퍼를 포함할 수 있는 입/출력(I/O) 구성요소로 전송하도록 회로를 지시하는 제어기를 더 포함할 수 있다. 다수의 감지 증폭기들로부터 I/O 구성 요소로의 데이터의 부분의 전송은 적어도 부분적으로 프리페치 동작(prefetch operation)일 수 있다. 장치는, 매트릭스 구성에 대응하는, 프리페치 동작에서 전송된 데이터를 구성하도록 회로에 지시하는 제어기를 더 포함할 수 있다.
컴퓨팅 시스템의 다수의 구성 요소들은 실행을 위해 기능 유닛 회로에 명령어를 제공하는 데 관련될 수 있다. 명령어는 예를 들어 제어기 및/또는 호스트 프로세서와 같은 처리 리소스에 의해 실행될 수 있다. 데이터(예를 들어, 명령어가 실행될 피연산자)는 기능 단위 회로에 의해 액세스 가능한 메모리 셀들의 어레이에 저장될 수 있다. 많은 경우에, 처리 리소스들(예를 들어, 프로세서 및/또는 관련 기능 단위 회로)은 메모리 셀들 어레이의 외부에 있을 수 있고, 데이터는 명령어들의 세트를 실행하기 위해 처리 리소스와 메모리 셀들의 어레이 사이의 버스를 통해 액세스된다.
어떤 경우에는 데이터가 메모리 셀들의 어레이에 저장된 순서대로 처리 리소스에 의해 데이터가 판독된다. 이러한 방식으로 데이터에 액세스하면 메모리 셀들의 어레이에서 처리 리소스로의 처리량(예를 들어, 속도 및/또는 효율성)이 감소할 수 있으며, 이는 처리 리소스가 데이터에 대해 명령어를 실행하기 전에 데이터를 재정렬, 구성 또는 조작해야 할 수 있기 때문이다. 처리 리소스에 대한 감소된 처리량은 컴퓨팅 시스템의 전체 성능을 감소시킬 수 있다.
본 개시의 다수의 실시 예에서, 데이터는 처리 리소스가 데이터에 대한 명령어를 실행하기 이전에 메모리 셀들의 어레이에 결합된 회로에 의해 구성될 수 있다. 따라서 데이터의 구성은 외부 프로세서가 아니라 메모리 디바이스에서 발생할 수 있다. 일부 예들에서, 메모리 셀들의 어레이에 결합된 제어기는 처리 리소스들에 의한 처리를 위해 데이터를 준비하기 위해 매트릭스 구성으로 데이터를 구성하도록 회로에 지시한다. 일부 실시 예들에서, 회로는 처리 리소스와 연관된 호스트로부터의 커맨드에 기초하여 데이터를 구성하는 멀티플렉서를 포함할 수 있는 컬럼 디코딩 회로(column decode circuitry)일 수 있다. 예를 들어, 다수의 감지 증폭기들로부터 입력/출력 구성 요소로 전송된 데이터는 호스트에 의해 사용하기 위한 매트릭스 구성의 연속적인 로우들에 대응하는 순서로 메모리 디바이스로부터 전송될 수 있다. 대안적으로, 메모리 셀들 어레이로부터의 데이터는 매트릭스 구성의 연속적인 컬럼들에 대응하도록 컬럼 디코딩 회로에 의해 구성될 수 있다. 다수의 실시 예들에서, 매트릭스의 크기, 프리페치 동작당 매트릭스들의 수 등과 같은 매트릭스 구성의 공간적 특성은 호스트로부터의 커맨드에 따라 달라질 수 있으며, 이는 컴퓨팅 시스템의 현재 요구 사항에 따라 달라질 수 있다.
본 개시의 다수의 실시 예들은 메모리 셀들의 어레이에 기록하기 위한 데이터를 준비하기 위해 매트릭스 구성에서 선형 구성으로 데이터를 재정렬하기 위해 컬럼 디코딩 회로에 의해 변환되는 데이터를 더 포함한다. 예를 들어, 데이터는 메모리 디바이스에 의해 수신될 수 있고 컬럼 디코딩 회로는 데이터의 비트가 다수의 감지 증폭기들에 기록되는 순서를 재배열함으로써 데이터를 변환할 수 있다. 데이터는 비트가 매트릭스 구성의 컬럼에 대응하도록 수신될 수 있으며, 컬럼 디코딩 회로는 예를 들어 매트릭스의 컬럼에 대응하는 데이터의 비트가 감지 증폭기들에서 서로 인접하게 저장되지 않으며, 그러나 컬럼에 대응하는 데이터의 비트가 매트릭스의 로우에 있는 비트 수보다 하나 적은 감지 증폭기들에 의해 분리되도록 데이터를 변환할 수 있다. 메모리 디바이스는 매트릭스의 다음 컬럼에 대응하는 데이터를 수신할 수 있고 데이터는 이전 컬럼을 저장하는 감지 증폭기들 옆의 감지 증폭기들에 저장되도록 컬럼 디코딩 회로에 의해 구성될 수 있다.
본원에 설명된 방식으로 메모리 셀들 어레이에 대한 프리페치 동작(예를 들어, 감지 증폭기들에서 입력/출력 구성 요소로 데이터를 전송하는 판독 동작의 일부) 및/또는 기록 동작을 수행하는 것은 처리 리소스에 의해 일반적으로 수행되는 단계들의 수를 감소시킬 수 있다. 따라서, 본 개시의 다수의 실시 예들은 메모리 셀들의 어레이에 저장된 데이터 값에 액세스(예를 들어, 판독, 기록 등)하는 것과 관련된 개선된 처리량(예를 들어, 속도, 레이트 및/또는 효율성 증가)을 포함하는 다양한 이점을 제공할 수 있다.
본원의 도면들은 참조 번호의 첫 번째 숫자 또는 숫자들이 도면 번호에 해당하고 나머지 숫자가 도면의 요소 또는 구성 요소를 식별하는 번호 지정 규칙을 따른다. 다른 도면들 사이의 유사한 요소 또는 구성 요소는 유사한 숫자를 사용하여 식별될 수 있다. 예를 들어, 130은 도 1에서 요소 "30"을 참조할 수 있고 유사한 요소는 도 2에서 230으로 참조될 수 있다.
도 1은 본 개시의 다수의 실시 예들에 따른 메모리 디바이스(120)를 포함하는 컴퓨팅 시스템(100) 형태의 장치의 블록도이다. 시스템(100)은 랩탑 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 디지털 카메라, 디지털 녹음 및 재생 디바이스, 휴대전화, PDA(Personal Digital Assistant), 메모리 카드 리더, 인터페이스 허브, 센서, 자율 또는 반자율 자동차, 자율 또는 반자율 제조 로봇, 사물 인터넷(IoT) 지원 디바이스, 등의 시스템일 수 있다.
다수의 실시 예들에서, 데이터 및 관련 커맨드의 판독 및/또는 기록은 기존 프로토콜들(예를 들어, DDR3, DDR4, LPDDR 등)에 기초한 DRAM 디바이스의 데이터 경로 및 타이밍을 활용할 수 있다. 본원에서 사용된 바와 같이, 데이터 이동은 예를 들어, 메모리 셀들의 어레이에서 처리 리소스로 또는 그 반대로, 소스 위치에서 목적지 위치로 데이터 값을 복사, 전송 및/또는 운송하는 것을 포함하는 포괄적인 용어이다. 이해할 수 있는 바와 같이, DRAM 스타일 메모리 디바이스가 본원에 제시된 예와 관련하여 논의되지만, 실시 예는 DRAM 구현으로 제한되지 않는다.
다수의 실시 예들에서, 메모리 디바이스(예를 들어, 도 1에서 120으로 도시된 바와 같은)의 가상 어드레스 공간의 로우(row)(예를 들어, 도 2의 219 및 본원의 다른 부분에서 대응하는 참조 번호로 도시된 바와 같은)는 16K 비트의 비트 길이를 가질 수 있다(예를 들어, 16,384개의 메모리 셀들 또는 DRAM 구성에서 메모리 셀들의 상보적(complementary) 쌍에 대응하는). 이러한 16K 비트 로우에 대한 판독/래치 회로(예를 들어, 도 1에서 150으로 도시되고 본원의 다른 곳에서 대응하는 참조 번호로 도시된 바와 같은)는 대응하는 16K 감지 증폭기들(예를 들어, 도 3에서 306으로 도시되며 본원의 다른 부분에서 대응하는 참조 번호로 도시된 바와 같은) 및 피치에 형성된 관련 회로를 포함할 수 있으며, 감지 라인들은 16K 비트 로우의 대응하는 메모리 셀들에 선택적으로 결합된다. 메모리 디바이스의 감지 증폭기는 판독/래치 회로(150)에 의해 감지된 메모리 셀들의 로우로부터의 단일 데이터 값(비트)에 대한 캐시(cache)로서 동작할 수 있다. 보다 일반적으로, 본 개시의 다수의 실시 예들은 판독/래치 회로(150)(예를 들어, 감지 증폭기들(306) 및 관련 회로)를 포함하고, 이는 메모리 셀들의 어레이의 감지 라인과 함께 피치 상에 형성될 수 있다. 본원에 설명된 판독/래치 회로 및 기타 데이터 저장 구성요소는 데이터 감지 및/또는 메모리 셀 어레이에 국부적인 데이터의 저장(예를 들어, 캐싱, 래칭, 버퍼링 등)을 수행할 수 있다.
데이터를 매트릭스로 구성하는 것에 기초한 개선된 데이터 이동 기술을 이해하기 위해, 이러한 기술을 구현하기 위한 장치(예를 들어, 이러한 능력을 갖는 메모리 디바이스(120) 및 연관된 호스트(110))에 대한 논의가 뒤따른다.
도 1에 도시된 바와 같이, 시스템(100)은 메모리 디바이스(120)에 결합된(예를 들어, 연결된) 호스트(110)를 포함할 수 있다. 메모리 디바이스(120)는 메모리 셀들(130)의 어레이 및 제어기(140)를 포함하며, 본원에 도시되고 설명된 바와 같이 매트릭스 구성으로 데이터를 구성하고 매트릭스 구성으로부터 선형 구성으로 데이터를 변환하기 위한 다양한 다른 회로를 포함한다. 호스트(110)는 운영 체제(OS) 및/또는 이에 로딩될 수 있는 다양한 어플리케이션의 실행을 담당할 수 있다(예를 들어, 제어기(140)를 통해 메모리 디바이스(120)로부터). 호스트(110)는 시스템 마더보드 및 백플레인을 포함할 수 있고, 매트릭스 구성으로 구성된 데이터 값에 대한 동작을 수행하기 위해 메모리 디바이스(120)에 액세스할 수 있는(예를 들어, 제어기(140)를 통해) 다수의 처리 리소스들(예를 들어, 하나 이상의 프로세서들(160), 마이크로프로세서들, 또는 일부 다른 유형의 제어 회로)을 포함할 수 있다. 제어기(140)는 또한 다수의 실시 예들에서 처리 동작의 수행을 위한 다수의 처리 리소스들을 포함할 수 있다.
도 1에 추가로 도시된 바와 같이, 제어기(140)는 모드 레지스터(141)를 포함하거나 이에 결합될 수 있다. 모드 레지스터(141)는 매트릭스 구성의 크기에 대응하는 특정 설정으로 설정되도록 제어기(140)에 의해 지시될 수 있다. 예를 들어, 모드 레지스터의 특정 설정은 매트릭스의 치수, 예를 들어, M x N에 대응할 수 있다. 메모리 셀들(130)의 어레이로부터 다수의 감지 증폭기들로 전송된 데이터는 도 4와 관련하여 아래에서 추가로 설명되는 바와 같이 다수의 프리페치 동작(prefetch operation)들에서 특정 크기의 연속적인 매트릭스들(successive matrices)로 구성될 수 있다는 점에 유의해야 한다. 시스템(100)은 별도의 집적 회로를 포함할 수 있거나 호스트(110) 및 메모리 디바이스(120) 모두가 동일한 집적 회로 상에 있을 수 있다. 시스템(100)은 예를 들어 서버 시스템 및 고성능 컴퓨팅(HPC) 시스템 또는 그 일부일 수 있다. 도 1에 표시된 예는 폰 노이만 구조(Von Neumann architecture)를 갖는 시스템을 보여주지만, 본 개시의 실시 예들은 종종 폰 노이만 구조와 연관된 하나 이상의 구성 요소들(예를 들어, CPU, ALU 등)를 포함하지 않을 수 있는 비-본 노이만 구조에서 구현될 수 있다.
제어기(140)(예를 들어, 제어 로직 및 시퀀서)는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합의 형태로 제어 회로를 포함할 수 있다. 예로서, 제어기(140)는 상태 머신, 시퀀서, 및/또는 일부 다른 유형의 제어 회로를 포함할 수 있으며, 이는 인쇄 회로 기판에 결합된 주문형 집적 회로(ASIC)의 형태로 구현될 수 있다. 다수의 실시 예들에서, 제어기(140)는 호스트(110)와 함께 위치할 수 있다(예를 들어, 시스템-온-칩(SOC) 구성으로).
명료성을 위해, 시스템(100)의 설명은 본 개시와 특히 관련된 특징에 초점을 맞추도록 단순화되었다. 예를 들어, 메모리 셀(130)의 어레이는 DRAM 어레이, SRAM 어레이, STT RAM 어레이, PCRAM 어레이, TRAM 어레이, RRAM 어레이, FeRAM 어레이, 메모리 셀들의 상변화 어레이, 3D XpointTM 어레이, NAND 플래시 어레이, 및/또는 NOR 플래시 어레이일 수 있다. 메모리 셀(130)의 어레이는 로우(row)(예를 들어, 복수의 서브어레이들로) 및 컬럼(column)로 배열된 메모리 셀들을 포함할 수 있다. 메모리 셀들은 로우들을 형성하기 위해 액세스 라인들(본원에서 워드 라인들 또는 선택 라인들로 지칭될 수 있음)에 의해 서로 연결될 수 있다. 추가적으로, 메모리 셀들은 컬럼들을 형성하기 위해 감지 라인들(본원에서 데이터 라인들 또는 디지트 라인들로 지칭될 수 있음)에 의해 서로 연결될 수 있다. 메모리 셀들(130)의 단일 어레이가 도 1에 도시되어 있지만, 실시 예는 이에 제한되지 않는다. 예를 들어, 메모리 디바이스(120)는 본원에 설명되는 바와 같이 복수의 서브어레이들 외에 메모리 셀(130)의 복수의 어레이(예를 들어, DRAM 셀들, NAND 플래시 셀들 등의 다수의 뱅크들에 포함된 메모리 셀들 어레이)를 나타낼 수 있다. 따라서, 본 개시의 설명은 예시 및/또는 명료함의 방식으로 DRAM 아키텍처와 관련하여 이루어질 수 있다. 그러나, 달리 명시적으로 언급되지 않는 한, 본 개시 및 청구범위의 범위는 DRAM 아키텍처로 제한되지 않는다.
도 1에 추가로 도시된 바와 같이, 메모리 디바이스(120)는 메모리 디바이스(120) 내에 포함된 I/O 회로(144)(예를 들어, 로컬 I/O 라인 및 글로벌 I/O 라인을 통해 외부 ALU 회로 및 DRAM DQ들에 제공된)에 의해 데이터 버스(156)(예를 들어, 호스트(110)로부터의 I/O 버스)를 통해 제공된 어드레스 신호를 래칭(latching)하기 위한 어드레스 회로(142)를 포함할 수 있다. 도 1에 추가로 도시된 바와 같이, 호스트(110)는 채널 제어기(143)를 포함할 수 있다. 상태 및 예외(exception) 정보는 예를 들어 제어 버스(154)를 통해 메모리 디바이스(120)의 제어기(140)로부터 채널 제어기(143)로 제공될 수 있으며, 이는 차례로 채널 제어기(143)에서 호스트(110)로 제공될 수 있다. 어드레스 신호는 어드레스 회로(142)를 통해 수신될 수 있고(예를 들어, 채널 제어기(143) 또는 다른 호스트 구성 요소로부터) 메모리 셀들의 어레이(130)에 액세스하기 위해 로우 디코더(146) 및/또는 컬럼 디코더(152)를 통해 디코딩될 수 있다.
감지 증폭기들(예를 들어, 도 1에서 판독/래치 회로(150)로 도시됨)을 사용하여 감지 라인들(디지트 라인들) 상의 전압 및/또는 전류 변화를 감지함으로써 메모리 셀들의 어레이(130)로부터 데이터가 감지(판독)될 수 있다. 데이터는 다른 가능성 중에서 256비트, 128비트, 64비트의 프리페치 크기로 메모리 셀들의 어레이(130)로부터 감지될 수 있다. 판독/래치 회로(150)는 메모리 셀들의 어레이(130)로부터 데이터의 페이지(예를 들어, 로우 또는 로우의 일부)를 판독 및 래칭하기 위해 본원에 설명된 바와 같이 다수의 감지 증폭기들을 포함할 수 있다. 입력-출력(I/O) 회로(144)는 데이터 버스(156)(예를 들어, 64비트 폭 데이터 버스, 128비트 폭 데이터 버스, 256비트 폭 데이터 버스 등)를 통해 호스트(110)와의 양방향 데이터 통신에 사용되는 데이터 I/O 핀들을 포함할 수 있다. 메모리 디바이스(120)는 메모리 셀들의 어레이(130)에 데이터를 기록하는데 사용될 수 있는 기록 회로(148)를 더 포함할 수 있다.
제어기(140)는 호스트(110)로부터 제어 버스(154)에 의해 제공되는 신호(예를 들어, 커맨드)를 디코딩할 수 있다. 제어기(140)는 메모리 셀들의 어레이(130)로부터 판독된 데이터를 매트릭스 구성으로 구성하는 것에 관한 커맨드를 호스트(110)로부터 수신하도록 구성될 수 있다. 예를 들어, 제어부(140)는 특정 크기의 연속적인 매트릭스들로 데이터를 구성하기 위한 커맨드를 수신할 수 있다. 제어기(140)는 호스트(110)로부터의 디코딩된 커맨드로부터 결정된 신호를 발행함으로써 동작을 제어할 수 있다. 이러한 신호는 칩 인에이블 신호, 기록 인에이블 신호, 데이터 감지, 데이터 저장, 서브어레이 어드레싱, 로우 어드레싱, 래치 어드레싱, 데이터 이동, 데이터 기록, 데이터 소거 동작 등을 포함하는 메모리 셀들의 어레이(130)에서 수행되는 동작을 제어하는 데 사용될 수 있는 어드레스 신호(예를 들어, 서브어레이 어드레스 신호, 로우 어드레스 신호 및/또는 래치 어드레스 신호)를 포함할 수 있다. 다양한 실시 예들에서, 제어기(140)는 호스트(110)로부터 명령어를 실행하고 프리페치 동작 또는 기록 동작을 위해 메모리 셀들의 어레이(130)에 액세스하는 것을 담당할 수 있다.
도 1에 추가로 도시된 바와 같이, 메모리 디바이스(120)는 컬럼 디코딩 회로/멀티플렉서(152)를 포함한다. 제어기(140)는 판독/래치 회로(150)와 같은 회로가 메모리 셀들의 어레이(130)로부터 데이터 값을 전송하도록 지시할 수 있다. 다수의 실시 예들에서, 제어기(140)는 데이터가 매트릭스 구성으로 메모리 디바이스(120)로부터 전송되도록(예를 들어, 프리페치 동작은 로우 또는 컬럼과 같은 매트릭스 구성의 일부에 대응되는 데이터를 전송) 프리페치 동작에서 전송된 데이터를 구성하도록 컬럼 디코딩 회로(152)에 지시할 수 있다. 추가적으로 또는 대안적으로, 제어기는 I/O 회로(144)에 의해 수신된 데이터를 매트릭스 구성에서 선형 구성으로 변환하도록 컬럼 디코딩 회로(152)에 지시할 수 있다. 데이터는 호스트(110)로부터 데이터 버스(156)를 통해 I/O 회로(144)에 의해 수신될 수 있다. 선형 구성으로의 변환은 기록 회로(148)에 의해 메모리 셀들의 어레이(130)에 기록하기 위한 데이터를 준비하는 것일 수 있다.
도 2는 본 개시의 다수의 실시 예들에 따른 메모리 디바이스의 메모리 셀들의 어레이(230) 및 메모리 디바이스의 제어기(240)의 블록도이다. 메모리 셀들의 어레이(230)의 아키텍처는 복수의 컬럼들(예를 들어, 도 2에 도시된 "X"개의 컬럼들(222))을 포함할 수 있다. 또한, 어레이(230)는 복수의 서브 어레이들(225-0(서브 어레이 0), 225-1(서브 어레이 1), . . ., 225-N-1(서브 어레이 225-N-1))로 분할될 수 있으며, 이는 감지 증폭기들의 그룹들(예를 들어, 세트들)을 포함할 수 있는 각각의 증폭 영역들에 의해 분리될 수 있다. 감지 증폭기들의 그룹들은 감지 증폭기 스트라이프(stripe)들 또는 판독/래치 스트라이프들로 지칭될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 서브어레이들(225-0, 225-1, . . ., 225-N-1)의 각각은 연관된 판독/래치 스트라이프를 갖는다(예를 들어, 각각 224-0, 224-1, ..., 224-N-1).
메모리 셀들의 어레이(230)는 다양한 다른 가능한 수의 서브어레이들 중에서 64개의 서브어레이들, 128개의 서브어레이들, 256개의 서브어레이들, 512개의 서브어레이들을 포함할 수 있다. 그러나, 실시 예는 이에 제한되지 않으며, 메모리 셀들의 어레이의 일부 실시 예들은 앞서 제시된 것과 상이한 수의 서브어레이들을 가질 수 있다. 다수의 실시 예들에서, 서브어레이들(225)은 각각의 서브어레이에서 동일한 수의 로우들을 가질 수 있다(예를 들어, 256개의 로우들, 512개의 로우들, 1024개의 로우들, 2048개의 로우들, 기타 가능한 수의 로우들). 그러나, 실시 예들은 이에 제한되지 않으며, 메모리 셀들의 어레이(230) 내의 복수의 서브어레이들 중 적어도 일부는 상이한 수의 로우들을 가질 수 있다.
각각의 컬럼(222)은 판독/래치 회로(예를 들어, 도 1 및 본원의 다른 곳과 관련하여 설명된 바와 같은 판독/래치 회로(150))에 결합되도록 구성된다. 이와 같이, 서브어레이의 각 컬럼은 해당 서브어레이에 대한 감지 증폭기들의 세트(예를 들어, 판독/래치 스트라이프)에 기여하는 감지 증폭기에 개별적으로 결합될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 메모리 셀들의 어레이(230)는 참조 번호들(224-0, 224-1, . . ., 224-N-1)에서 도시된 판독/래치 스트라이프 0, 판독/래치 스트라이프 1, . . ., 판독/래치 스트라이프 N-1을 포함할 수 있고, 이의 각각은 다양한 실시 예에서 레지스터, 캐시 및 데이터 버퍼링으로 사용될 수 있는 감지 증폭기들의 세트를 갖는 판독/래치 회로를 갖는다. 감지 증폭기들(예를 들어, 참조번호(306)에 도시되고 도 3과 관련하여 설명됨)은 서브어레이들(225-0, 225-1, . . ., 225-N-1)의 각 열(222)에 연결될 수 있다. 서브 어레이들(225-0, 225-1, . . ., 225-N-1)의 각각은 각각의 복수의 로우들을 포함할 수 있다(예를 들어 "Y"개의 로우들(219)의 각각의 그룹). 각각의 판독/래치 스트라이프(224-0, 224-1, . . ., 224-N-1)는 판독/래치 스트라이프들로부터 메모리 셀들의 어레이(230)에 결합된 장치로 데이터를 전송하기 위해 I/O 구성 요소(예를 들어, 도 1의 I/O 구성 요소 회로(144) 및 도 3의 I/O 구성 요소(344))에 결합될 수 있는 컬럼 디코딩 회로/멀티플렉서(예를 들어, 도 1의 컬럼 디코딩 회로/멀티플렉서(152) 및 도 3의 참조번호(352))에 결합될 수 있다.
도 2는 본 개시의 다수의 실시 예들에 따른 메모리 디바이스의 일부의 개략도이다. 도 2는 각각 감지 증폭기(206)에 결합된 폴딩된 DRAM 구성의 1T1C 메모리 셀들을 포함하는 예를 도시한다. 그러나, 실시 예는 이에 제한되지 않으며, 일부 실시 예는 2T2C DRAM 구성의 메모리 셀들을 가질 수 있다.
도 3은 본 개시의 다수의 실시 예들에 따른 메모리 셀들의 어레이의 로우를 예시하는 개략도이다. 도 3에 도시된 바와 같이, 서브어레이(325)의 일부는 복수의 X개의 메모리 셀들(308-0...308-X-1)을 포함할 수 있는 로우(319-1)를 포함한다. 메모리 셀들(308-0...308-X-1)은 복수의 X개의 디지트 라인들(305-0...305-X-1)과 로우(319-1)의 교차점들에 위치할 수 있다. 복수의 디지트 라인들(305-0...305-X-1)은 도면에서 디지트라인 1...디지트 라인 X-1로 지칭된다. 숫자 X는 컬럼들의 수(예를 들어, 도 2에 도시된 컬럼들(222)의 수)에 대응한다. 도 3에 추가로 도시된 바와 같이, 메모리 셀들(308-0...308-X-1)은 각각 연관된 판독/래치 회로(350-0...350-X-1)에 각각 연결될 수 있다. 판독/래치 회로(350-0...350-X-1)의 각각은 각각의 감지 증폭기(306-0...306-X-1)를 포함한다. 감지 증폭기들(306-1...306-X-1)은 도면에서 감지 증폭기들(1...X-1)이라고 한다. 도시된 바와 같이, 메모리 셀과 연관된 감지 증폭기는 메모리 셀과 컬럼 디코딩 회로(352) 사이에 배치된다. 감지 증폭기는 선택된 메모리 셀에 저장된 데이터 값(예를 들어, 로직 상태)을 결정하도록 동작될 수 있다. 감지 증폭기(306)는 교차 결합된 래치(미도시)를 포함할 수 있다. 감지 증폭기(306)는 감지 라인들(305-1 및 305-2)을 평형화하도록 구성될 수 있는 평형 회로(도시되지 않음)에 결합될 수 있다.
복수의 메모리 셀들의 각 메모리 셀은 액세스 요소인 트랜지스터와 저장 요소인 커패시터를 포함할 수 있다. 메모리 셀들로부터 감지된(예를 들어, 판독 동작에서) 데이터 값들(예를 들어, 전압들)의 수는 도 3의 로우(319-1)와 같은 서브어레이의 로우와 교차하는 메모리 셀들의 컬럼들의 수에 대응할 수 있다. 예를 들어, 총 X개의 데이터 값들이 복수의 메모리 셀들(308-0...308-X-1)에 의해 저장될 수 있다.
추가로 도시된 바와 같이, 도 3에 예시된 서브어레이(325)의 부분은 컬럼 디코딩 회로(352)에 연결된다. 특히, 각각의 메모리 셀은 도시된 바와 같이 메모리 셀과 연관된 디지트 라인 및 디지트 라인에 연결된 감지 증폭기를 통해 컬럼 디코딩 회로에 연결된다. 컬럼 디코딩 회로(352)는 차례로 입력-출력 구성요소(344)에 연결된다. 도 3에 도시된 것과 같은 아키텍처는 컬럼 디코딩 회로(352)가 각 메모리 셀에 저장된 데이터를 판독하고 다른 메모리 셀에 저장된 판독 데이터와 독립적으로 데이터를 구성할 수 있게 한다.
제어기(예를 들어, 도 1의 제어기(140))는 메모리 셀들 어레이의 서브어레이의 선택된 로우로부터 데이터 이동 동작(예를 들어, 판독, 기록, 소거 동작 등)의 수행 및/또는 선택된 로우의 메모리 셀에 의해 저장된 데이터 값에 대한 계산 동작(예를 들어, 도 1의 프로세서(160)와 같은 프로세서에 의해 수행되는 다른 논리 연산 중에서 부울 연산(Boolean operation)과 같은 논리 연산)을 수행하기 위한 코딩된 명령어를 수신하도록(예를 들어, 호스트(110)로부터) 구성될 수 있다. 예를 들어, 제어기는 DRAM 동작(예를 들어, DRAM 판독 및/또는 기록 동작)의 수행에 대한 요청을 포함하는 동작에 대한 커맨드를 수신하도록 구성될 수 있다. 제어기는 감지 증폭기와 I/O 구성 요소 사이(예를 들어, 도 1의 I/O 회로(144))에서 데이터를 전송할 때 매트릭스 구성의 로우에 대응하도록 데이터 값을 시퀀싱하거나 구성하도록 더 구성될 수 있다. 제어기는 매트릭스 구성의 로우에 대응하도록 데이터 값을 구성하도록 컬럼 디코딩 회로에 지시할 수 있다. 이와 같이, 본원에 설명된 감지 증폭기들은 선택된 로우와 관련하여 메모리 동작 및/또는 계산 동작의 수행을 가능하게 하도록 구성된다.
도 4는 본 개시에 따른 매트릭스(예를 들어, 매트릭스 데이터 구조)에 대응하도록 데이터를 구성하기 위한 흐름도이다. 명시적으로 언급되지 않는 한, 본원에 설명된 방법의 요소들은 특정 순서나 시퀀스로 제한되지 않는다. 추가적으로, 본원에 기술된 다수의 방법 실시 예들 또는 그 요소들은 동일한 시점에, 또는 실질적으로 동일한 시점에 수행될 수 있다.
도 4에 도시된 바와 같이, 블록(465)에서, 방법(464)은 메모리 디바이스와 연관된 호스트로부터 커맨드를 수신하는 단계를 포함할 수 있다. 예를 들어, 제어기(예를 들어, 도 1의 제어기(140))는 메모리 디바이스(예를 들어, 도 1의 메모리 디바이스(130))와 연관된 호스트(예를 들어, 도 1의 호스트(110))로부터 커맨드를 수신할 수 있다. 다시 도 4를 참조하면, 호스트로부터의 커맨드 또는 요청은 블록(468)과 관련하여 아래에서 상세히 설명되는 바와 같이 메모리 디바이스로부터 판독된 데이터가 구성되는 매트릭스 구성의 특성에 관한 정보를 포함할 수 있다. 예를 들어, 제어기는 매트릭스 구성의 특정 크기, 매트릭스 구성의 로우들의 수와 매트릭스 구성의 컬럼들의 수 사이의 관계, 단일 데이터 동작(예를 들어, 프리페치 동작)을 구성한 결과 매트릭스의 수, 단일 데이터 동작(예를 들어, 프리페치 동작)을 구성한 결과 복수의 매트릭스들의 크기, 여기서 매트릭스 구성으로 구성되는 데이터는 매트릭스의 연속 로우들, 매트릭스의 연속 컬럼들 또는 매트릭스 구성의 연속 대각선들에 대응해야 하는지 여부, 매트릭스의 치수 수, 또는 매트릭스 구성의 다른 공간적 특성을 지정하는 커맨드를 수신할 수 있다. 다수의 실시 예들에서, 호스트로부터 제어기에 의해 수신된 커맨드는 호스트의 프로세서(예를 들어, 도 1의 프로세서(160))에 의한 처리를 위해 데이터를 준비하기 위해 매트릭스 구성의 특성을 지정할 수 있다. 커맨드는 현재 처리 중인 사용자 어플리케이션 또는 호스트에 알려진 이전 어플리케이션 사용 패턴에 따라 다를 수 있다.
블록(466)에서, 방법(464)은 메모리 셀들의 어레이에 연결된 제어기에 의해 특정 단계, 예를 들어 블록(467) 및 블록(468)에 관한 아래 논의에서 상세히 설명되는 단계를 수행하도록 회로를 지시하는 단계를 포함할 수 있다. 예로서, 제어기(예를 들어, 도 1에 도시된 제어기(140))는 블록(467) 및 블록(468)에 관한 아래의 논의에서 상세히 설명된 단계들을 수행하도록 컬럼 디코딩 회로(예를 들어, 컬럼 디코딩 회로(152))에 지시할 수 있다. 다수의 실시 예들에서, 제어기(예를 들어, 제어기(140))는 블록(467) 및 블록(468)에 관한 아래 논의에서 설명하는 단계를 수행하기 위해 컬럼 디코딩 회로(예를 들어, 컬럼 디코딩 회로(152)), 판독/래치 회로(예를 들어, 판독/래치 회로(150)), 로우 디코더(로우 디코더(146)), 컬럼 디코더(예를 들어, 컬럼 디코더(152)), 어드레스 회로(어드레스 회로(142)), 및 입력-출력 회로(예를 들어, 입력-출력 회로(144))의 일부 조합을 지시할 수 있다.
블록(467)에서, 방법은 메모리 셀들의 어레이로부터 감지 증폭기로 데이터를 전송하도록 회로에 지시하는 단계를 포함할 수 있다. 예를 들어, 제어기(예를 들어, 도 1에 도시된 제어기(140))는 메모리 셀들의 어레이(예를 들어, 메모리 셀들의 어레이(130))로부터 데이터를 전송하도록 회로에 지시할 수 있다. 다수의 실시 예들에서, 데이터는 복수의 감지 증폭기들(예를 들어, 도 3에 도시된 복수의 감지 증폭기들(306-0...306-X-1))에 저장될 수 있고, 여기서 X는 복수의 감지 증폭기들의 수이다. 복수의 감지 증폭기들은 각각 디지트 라인들(예를 들어, 도 3의 디지트 라인들(305-0...305-X-1))에 의해 데이터를 판독할 수 있다. 다수의 실시 예들에서, 각각의 메모리 셀의 데이터 값은 다른 메모리 셀들로부터 데이터 값을 판독하지 않는 전용 감지 증폭기에 의해 판독될 수 있다. 예를 들어, 복수의 메모리 셀들의 데이터 값들은 복수의 감지 증폭기들 각각에 의해 판독될 수 있다. 제어기는 데이터를 판독하고 저장하기 위해 복수의 감지 증폭기들을 사용할 수 있다.
블록(468)에서, 방법은 호스트로부터의 커맨드에 기초하여 매트릭스 구성에 대응하도록 데이터를 구성하도록 회로에 지시하는 단계를 포함할 수 있다. 예를 들어, 제어기(예를 들어, 도 1의 제어기(140))는 컬럼 디코딩 회로(예를 들어, 도 1의 컬럼 디코딩 회로(152)) 또는 다른 회로에 지시하여, 선택된 비트가 예를 들어 매트릭스의 로우/로우들 또는 컬럼/컬럼들과 같은 매트릭스 구성의 일부에 대응하도록 감지 증폭기로부터 데이터의 특정 비트를 선택함으로써 매트릭스 구성으로 메모리 셀들의 어레이(예를 들어, 메모리 셀들의 어레이(130))로부터 감지 증폭기들로 전송된 데이터를 구성한다. 다수의 실시 예들에서, 제어기는 블록(467)과 관련하여 위에서 설명된 바와 같이 프리페치 동작에서 메모리 셀들의 어레이로부터 데이터를 판독하도록 회로에 추가로 지시할 수 있다는 점에 유의해야 한다. 다수의 실시 예들에서, 제어기는 메모리 셀들의 어레이에 연결될 수 있고 제어기 및 메모리 셀들의 어레이 둘 모두는 메모리 디바이스(예를 들어, 도 1에 도시된 메모리 디바이스(120)) 내에 포함될 수 있다.
블록(468)을 다시 참조하면, 매트릭스 구성에 대응하는 데이터의 구성은 도 5a, 5b, 6a 및 6b와 관련하여 아래에서 설명되는 바와 같이 다양한 상이한 실시 예들에서 상이하게 수행될 수 있다. 방법은 데이터를 입력-출력 구성요소(예를 들어, 도 1에 도시된 I/O 회로(144)의 형태로)에 제공하는 단계를 더 포함할 수 있다. 예를 들어, 제어기는 데이터를 I/O 회로에 제공하기 위해 컬럼 디코딩 회로와 같은 회로에 지시할 수 있다.
다수의 실시 예들에서, 메모리 셀들의 어레이로부터 감지 증폭기들로 전송된 데이터는 프리페치 동작 동안 호스트로부터의 커맨드에 기초하여 특정 크기를 갖는 매트릭스 구성으로 구성될 수 있다. 다수의 실시 예들에서, 프리페치 동작은 예를 들어 한번에 256비트에서 수행될 수 있다.
도 5a 및 5b는 본 개시의 다수의 실시 예들에 따른 매트릭스에 대응하도록 데이터를 구성하는 예를 도시하는 개략도이다.
도 5a에 추가로 도시된 바와 같이, 컬럼 디코딩 회로(552)는 매트릭스들의 세트(570)로 메모리 셀들의 어레이로부터 판독된 데이터(569)를 구성하기 위해 메모리 셀들의 어레이에 결합된 제어기에 의해 지시될 수 있다. 일 실시 예에서, 제어기(예를 들어, 도 1의 제어기(140))는 메모리 셀들의 어레이(예를 들어, 도 1의 메모리 셀들의 어레이(130))에 연결될 수 있고 컬럼 디코딩 회로(552)와 같은 회로에 특정 동작을 수행하도록 지시하도록 구성될 수 있음을 주목해야 한다. 추가적으로, 제어기 및 메모리 셀들의 어레이는 메모리 디바이스 내에 포함될 수 있다. 매트릭스들의 세트(570)는 도 5a에 도시된 바와 같이, 제1 크기를 갖는 서브매트릭스(570-1)(본원에서 서브매트릭스는 때때로 매트릭스로 지칭됨) 및 제2 크기를 갖는 서브매트릭스(570-2)을 포함할 수 있고, 여기서 매트릭스(570-1)는 4X4 크기를 갖고 매트릭스(570-2)는 2X2 크기를 갖는다. 다수의 실시 예들에서, 매트릭스(570-1)의 크기 및 매트릭스(570-2)의 크기는 메모리 셀들의 어레이를 포함하는 메모리 디바이스와 연관된 호스트에 의해 선택된다. 도 5a에 도시된 바와 같이, 매트릭스(570-1)의 크기는 매트릭스(570-2)의 크기와 다르다. 매트릭스들의 세트(570)는 4X4와 2X2 사이에서 총 K개의 매트릭스들까지 교번하는 크기의 매트릭스들을 포함할 수 있다. 다시 도 5a를 참조하면, 매트릭스들의 세트(570)는 제1 서브매트릭스(570-1)과 동일한 크기(예를 들어, 제1 크기)를 갖는 제3 서브매트릭스(570-K-1) 및 제2 서브매트릭스와 동일한 크기(예를 들어, 제2 크기)를 갖는 제4 서브매트릭스(570-K)을 포함할 수 있다.
대안적으로, 매트릭스들의 세트(570)는 도 5b에 도시된 바와 같이 제3 크기를 갖는 제3 서브매트릭스(570-3)을 포함할 수 있다. 도 5b의 실시 예에 도시된 바와 같이, 제3 크기는 제1 크기와 상이할 수 있고 제3 크기는 제2 크기와 상이할 수 있다. 도 5b의 매트릭스들의 세트(570)는 총 K개의 매트릭스들로 최대 크기에서 최소 크기로 반복되는 3개의 상이한 크기를 갖는 매트릭스들을 갖는다. 다수의 실시 예들에서, 데이터는 매트릭스 구성의 대각선에 대응하도록 구성될 수 있다. 예를 들어, 도 5b에서, 프리페치 동작은 매트릭스 구성(570)에서 대각선에 대응하는 데이터를 구성하는 것을 포함한다. 특히, 대각선은, 도 5b의 매트릭스(570-1)의 좌측 상단에서 우측 하단으로, 제1 매트릭스(570-1)의 4개의 로우들과 4개의 컬럼들을 가로지른다.
도 6a 및 6b는 본 개시의 다수의 실시 예들에 따른 매트릭스에 대응하도록 데이터를 구성하는 추가 예를 예시하는 개략도이다.
도 6a에 도시된 바와 같이, 256개의 메모리 셀들로부터 판독된 256비트는 4X4 크기를 갖는 매트릭스들로 구성될 수 있다(256비트는 256개의 연속 메모리 셀들 또는 비연속 메모리 셀들에서 나올 수 있음). 도 6a는 복수의 매트릭스들(670-1, 670-2, ...670-K)을 포함하는 매트릭스 구성(670)에 대응하도록 데이터(669)를 구성하는 컬럼 디코딩 회로(652-1)를 도시한다. 매트릭스들(670-1...670-K)은 4X4로 크기가 동일하다. 4X4의 크기는 데이터 저장을 위한 총 16비트에 대해 4개의 로우들과 4개의 컬럼들을 갖는 매트릭스를 의미한다. 도 6a에 도시된 바와 같이, 매트릭스의 크기(예를 들어, 16비트)는 로우들의 제1 수(예를 들어, 4)와 컬럼들의 제2 수(예를 들어, 4)의 곱(4*4 = 16)으로 정의된다. 그러한 예에서, 제어기는 프리페치 동작의 256비트를 수용하기 위해 4X4 크기의 16개의 연속적인 매트릭스들에 대응하도록 데이터를 구성하도록 컬럼 디코딩 회로에 지시할 것이다. 다른 실시 예에서, 단일 프리페치 동작에 대응하는 매트릭스들의 수는 매트릭스의 크기 및 프리페치 동작의 크기에 기초하여 변한다. 도 6a에 추가로 예시된 바와 같이, 프리페치 동작은 매트릭스 구성(670)의 로우에 대응하도록 데이터를 구성하는 것에 대응한다. 특히, 도 6a의 매트릭스(670-1)의 제1 로우는 프리페치로부터 판독된 데이터(669)의 처음 4개의 값인 값들 1001을 포함한다. 다수의 실시 예들에서, 매트릭스 구성은 프리페치 동작의 비트 수와 동일한 크기의 단일 매트릭스일 수 있다. 예를 들어, 매트릭스는 256비트를 포함하는 프리페치 동작에 대해 16X16(16*16=256)일 수 있다.
이제 도 6b를 참조하면, 컬럼 디코딩 회로(652)는, 각각의 크기가 8X2이고, 즉, 각 매트릭스가 8개의 로우들과 2개의 컬럼들을 포함하는, 매트릭스들(670-1, 670-2, 670-3... 670-K)을 포함하는 매트릭스 구성(670)에 대응하도록 데이터(669)를 구성할 수 있다. 도 6b로부터 명백한 바와 같이, 제어기는 매트릭스들의 세트가 제2 매트릭스의 크기와 동일한 크기를 갖는 제1 매트릭스를 포함하는 매트릭스들의 세트로 데이터를 구성하도록 회로에 지시한다. 도시된 바와 같이, 프리페치 동작은 매트릭스 구성의 컬럼에 대응하도록 데이터를 구성하는 것에 대응할 수 있다. 특히, 도 6b의 매트릭스(670-1)의 제1 컬럼의 제1의 4개의 데이터 값들은 1001이며, 이는 프리페치에서 판독된 데이터(669)의 처음 4개의 데이터 값들이다.
도 7은 본 개시에 따라 매트릭스 구성으로부터 선형 구성으로 데이터를 변환하기 위한 방법(773)의 실시 예의 흐름도이다. 명시적으로 언급되지 않는 한, 본원에 설명된 방법의 요소들은 특정 순서나 시퀀스로 제한되지 않다. 추가적으로, 본원에 기술된 다수의 방법 실시 예들 또는 그 요소들은 동일한 시점에, 또는 실질적으로 동일한 시점에 수행될 수 있다.
블록(775)에서, 방법은 블록들(776, 777, 778)과 관련하여 아래의 논의에서 상세히 설명되는 단계들을 수행하도록 메모리 셀들의 어레이에 연결된 제어기에 의해 회로를 지시하는 단계를 포함할 수 있다. 예를 들어, 제어기(예를 들어, 도 1의 제어기(140))는 블록들(776, 777, 778)과 관련하여 논의된 단계들을 수행하도록 메모리 디바이스(예를 들어, 도 1의 메모리 디바이스(120))의 하나 이상의 구성 요소들에 지시할 수 있다. 다수의 실시 예들에서, 제어기는 메모리 셀들의 어레이(예를 들어, 메모리 셀들의 어레이(130))에 결합될 수 있고, 제어기와 메모리 셀의 어레이 모두는 메모리 디바이스에 포함될 수 있다.
블록(776)에서, 방법은 장치와 연관된 호스트로부터 매트릭스 구성에 대응하는 데이터를 수신하는 단계를 포함할 수 있다. 예를 들어, 제어기는 메모리 디바이스와 연관된 호스트로부터 매트릭스 구성의 데이터를 수신하도록 입력-출력 구성 요소(예를 들어, 도 1의 I/O 회로(144))에 지시할 수 있다. 데이터는 데이터 버스(예를 들어, 데이터 버스(156))를 통해 호스트의 프로세서(예를 들어, 프로세서(160))로부터 수신될 수 있다. 호스트의 프로세서는 매트릭스 구성의 데이터를 메모리 디바이스에 제공할 수 있는데, 이는 매트릭스 구성으로부터 메모리 디바이스에 대한 기록에 더 적합한 형태로 데이터를 변환하는 것은 프로세서에 과도한 처리 부담을 가할 수 있기 때문이다. 제어기는, 기록 회로(예를 들어, 기록 회로(148)), 컬럼 디코딩 회로(예를 들어, 멀티플렉서(152)), 로우 디코더(예를 들어, 행 디코더(146)), 및 컬럼 디코더(예를 들어, 열 디코더(152))와 같은, 메모리 디바이스의 하나 이상의 다른 구성 요소들에 데이터를 제공하도록 I/O 구성 요소를 더 지시할 수 있다. 다수의 실시 예들에서, 제어기는 수신된 데이터와 연관된 어드레스 신호를 어드레스 회로(예를 들어, 도 1의 어드레스 회로(142))에 더 제공할 수 있다.
블록(777)에서, 방법은 매트릭스 구성으로부터 선형 구성으로 데이터를 변환하는 것을 포함할 수 있다. 예를 들어, 제어기는 도 8a, 8b 및 8c와 관련하여 아래에서 더 상세히 논의되는 바와 같이 데이터를 매트릭스 구성에서 선형 구성으로 변환하도록 컬럼 디코딩 회로에 지시할 수 있다. 매트릭스 구성은 제1 수의 로우들 및 제2 수의 컬럼들을 포함할 수 있다.
블록(778)에서, 방법은 메모리 셀들의 어레이에 대한 데이터의 기록 동작을 수행하는 단계를 포함할 수 있다. 예를 들어, 제어기는 메모리 셀들의 어레이에 대한 데이터의 기록 동작을 수행하도록 기록 회로 및/또는 메모리 디바이스의 다른 구성요소에 지시할 수 있다. 다수의 실시 예들에서, 데이터의 기록 동작은 매트릭스 구성의 제1 로우에 대응한다. 도 8a의 매트릭스 구성(870)과 같은 매트릭스 구성의 로우의 연속 비트는, 도 3의 로우(319-1)의 메모리 셀들(308-0...308-X-1)과 같은, 메모리 셀들의 로우의 연속 메모리 셀들에 기록 회로에 의해 기록될 수 있다. 대안적으로, 도 8a의 매트릭스 구성(870)과 같은 매트릭스 구성의 로우의 연속 비트는 도 3의 로우(319-1)의 메모리 셀들(308-0...308-X-1)과 같은 메모리 셀들의 로우의 비-연속 메모리 셀들에 기록 회로에 의해 기록될 수 있다.
도 8a 내지 도 8c는 본 개시의 다수의 실시 예들에 따른 매트릭스 구성에서 선형 구성으로 데이터를 변환하는 예를 예시하는 개략도이다.
도 8a는 매트릭스 구성에서 선형 구성으로 데이터를 변환하도록 컬럼 디코딩 회로를 지시하는 제어기의 예를 도시한다. 도 8a에 도시된 바와 같이, 제어기는 매트릭스 구성(870)을 선형 구성(869)으로 변환하도록 컬럼 디코딩 회로(852)에 지시한다. 매트릭스 구성(870)은 매트릭스들(870-1...870-K)을 포함한다. 컬럼 디코딩 회로는 메모리 셀들의 어레이에 대한 선형 구성(869)의 기록 동작이 매트릭스 구성(870)의 로우들 중 적어도 하나의 로우에 대응하는 비트를 포함하도록 연속 매트릭스들(870-1...870-K)의 연속 로우들로부터 비트를 검색하여 선형 구성(869)에 대응하도록 데이터를 구성한다.
도 8b는 매트릭스 구성에서 선형 구성으로 데이터를 변환하도록 컬럼 디코딩 회로를 지시하는 제어기의 다른 예를 도시한다. 도 8b에 도시된 바와 같이, 제어기는 매트릭스 구성(870)을 선형 구성(869)으로 변환하도록 컬럼 디코딩 회로(852)에 지시한다. 매트릭스 구성(870)은 매트릭스들(870-1...870-K)을 포함한다. 컬럼 디코딩 회로는 메모리 셀들의 어레이에 대한 선형 구성(869)의 기록 동작이 매트릭스 구성(870)의 컬럼들의 적어도 하나의 컬럼에 대응하는 비트들을 포함하도록 연속 매트릭스들(870-1...870-K)의 연속 컬럼들로부터 비트를 검색하여 선형 구성(869)에 대응하도록 데이터를 구성한다.
도 8c는 매트릭스 구성에서 선형 구성으로 데이터를 변환하도록 컬럼 디코딩 회로를 지시하는 제어기의 다른 예를 도시한다. 도 8c에 도시된 바와 같이, 제어기는 매트릭스 구성(870)을 선형 구성(869)으로 변환하도록 컬럼 디코딩 회로(852)에 지시한다. 매트릭스 구성(870)은 매트릭스들(870-1...870-K)을 포함한다. 컬럼 디코딩 회로는 연속 매트릭스들(870-1...870-K)의 연속 컬럼들로부터 비트를 검색하여 선형 구성(869)에 대응하도록 데이터를 구성한다. 메모리 셀들의 어레이(130)에 대한 선형 구성(869)의 기록 동작이, 도 8c의 매트릭스(870-1)의 좌측 상단에서 시작하여 도 8c의 매트릭스(870-1)의 우측 하단에서 끝나는 대각선과 같은, 매트릭스 구성(870)의 적어도 하나의 대각선에 대응하는 비트를 포함하도록, 상기 대각선은 도 8c의 매트릭스(870-1)의 4개의 로우들 및 4개의 컬럼들을 횡단한다.
본원에서 사용된 바와 같이, 서수 위치는 요소들의 각 그룹 내 요소의 상대적 위치를 구별하는 데 사용된다. 예를 들어, 복수의 서브어레이들은 각각 1024개의 로우들(예를 들어, 로우 0 내지 로우 1023)의 시퀀스를 포함할 수 있다. 이 예에서 특정 서브어레이의 로우 0(예를 들어, 특정 서브어레이의 제1 행)은 다른 서브어레이들의 로우 1부터 로우 1023(예를 들어, 마지막 로우)까지의 로우와 다른 서수 위치를 갖는다. 그러나 여기서 "제1" 및 "제2"와 같은 서수를 사용하는 것은 문맥에서 명확하게 달리 지시하지 않는 한 요소의 특정 서수 위치를 나타내려는 의도가 아니다. 예를 들어, 특정 서브어레이 내에서 로우 0의 서수 위치를 갖는 로우와 다른 서브어레이에서 로우 4의 서수 위치를 갖는 다른 로우를 고려한다. 이 예에서 로우 2의 서수 위치가 없음에도 불구하고 로우 0은 "제1" 로우로, 로우 4는 "제2" 로우로 표시될 수 있다. 대안적으로, 로우 4는 "제1" 로우로 언급될 수 있고 로우 0은 "제2" 로우로 언급될 수 있다.
본 발명의 상기 상세한 설명에서, 본 발명의 일부를 형성하고, 본 발명의 하나 이상의 실시 예들이 실시될 수 있는 방법이 예시로서 도시된 첨부 도면을 참조한다. 이들 실시 예들은 당업자가 본 개시의 실시 예들을 실시할 수 있도록 충분히 상세하게 설명되며, 다른 실시 예들이 이용될 수 있고 본 개시의 범위를 벗어나지 않고 프로세스, 전기적 및 구조적 변경이 이루어질 수 있음을 이해해야 한다.
본원에서 사용된 바와 같이, 특히 도면의 참조 번호와 관련하여 "X", "Y", "N", "M", "K" 등과 같은 지정자는 그렇게 지정된 특정 특징의 수가 포함될 수 있음을 나타낸다. 또한, 본원에서 사용된 용어는 단지 특정 실시 예를 설명하기 위한 것이며 제한하려는 의도가 아님을 이해해야 한다. 본 명세서에 사용된 바와 같이, 단수 형태("a", "an", 및 "the")는 문맥이 명백하게 달리 지시하지 않는 한, "다수의", "적어도 하나의" 및 "하나 이상의"를 포함하며(예를 들어, 다수의 메모리 셀들의 어레이는 하나 이상의 메모리 셀들의 어레이를 참조할 수 있음), 반면에 "복수의"는 그러한 것들 중 하나 이상을 의미한다. 또한, "할 수 있다" 및 "일 수 있다"라는 단어는 본 출원 전반에 걸쳐 강제적인 의미(즉, 해야 함)가 아닌 허용적인 의미로 사용된다(즉, 가능성이 있는, 할 수 있는). "포함하다"라는 용어 및 그 파생어는 "포함하지만 이에 국한되지 않는"을 의미한다. "결합된" 및 "결합하는"이라는 용어는 문맥에 적절한 명령어(예를 들어, 제어 신호, 어드레스 신호 등) 및 데이터에 대한 액세스 및/또는 이동(전송)을 위해 물리적으로 직접 또는 간접적으로 연결됨을 의미한다. "데이터" 및 "데이터 값"이라는 용어는 본 명세서에서 상호 교환 가능하게 사용되며 문맥에 적절하게 동일한 의미를 가질 수 있다(예를 들어, 하나 이상의 데이터 단위 또는 "비트").
판독/래치 회로, 감지 증폭기, 열 디코딩 회로, 멀티플렉서, 기록 회로, 판독/래치 스트라이프, I/O 구성 요소, 서브어레이 디코더, 모드 레지스터 및/또는 로우 디코더, 특히 매트릭스로 구성하거나 매트릭스에서 본원에서 도시되고 설명된 선형 구성으로 변환하기 위한 회로의 다양한 조합 및 구성을 포함하는 예시적인 실시 예가 본원에서 예시되고 설명되었지만, 본 개시의 실시 예는 본원에 명시적으로 인용된 그러한 조합으로 제한되지 않는다. 본원에 개시된 판독/래치 회로, 감지 증폭기, 멀티플렉서, 컬럼 디코딩 회로, 기록 회로, 판독/래치 스트라이프, I/O 구성 요소, 서브어레이 디코더, 모드 레지스터 및/또는 로우 디코더, 특히 매트릭스로 구성하거나 매트릭스에서 선형 구성으로 변환하는 회로의 다른 조합 및 구성은 본 개시의 범위 내에 명시적으로 포함된다.
특정 실시 예들이 본원에 예시되고 설명되었지만, 당업자는 동일한 결과를 달성하기 위해 계산된 배열이 도시된 특정 실시 예를 대체할 수 있음을 이해할 것이다. 본 개시는 본 개시의 하나 이상의 실시 예들의 적응 또는 변형을 포함하도록 의도된다. 상기 설명은 제한적인 것이 아니라 예시적인 방식으로 이루어진 것임을 이해해야 한다. 상기 실시 예들의 조합, 및 본원에 구체적으로 설명되지 않은 다른 실시 예는 상기 설명을 검토할 때 당업자에게 명백할 것이다. 본 개시의 하나 이상의 실시 형태의 범위는 상기 구조 및 프로세스가 사용되는 다른 어플리케이션을 포함한다. 따라서, 본 개시의 하나 이상의 실시 예들의 범위는 첨부된 청구범위를 참조하여 결정되어야 하며, 이러한 청구범위가 부여되는 등가물의 전체 범위와 함께 결정되어야 한다.
전술한 상세한 설명에서, 일부 특징은 본 개시를 간소화할 목적으로 단일 실시 예에서 함께 그룹화된다. 이러한 개시 방법은 본 개시의 개시된 실시 예가 각각의 청구항에서 명시적으로 인용된 것보다 더 많은 특징을 사용해야 한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 다음 청구범위가 반영하는 바와 같이, 독창적인 주제는 단일의 개시된 실시 예의 모든 특징보다 적다. 따라서, 다음 청구범위는 이에 의해 상세한 설명에 통합되며, 각 청구범위는 별개의 실시 예로서 그 자체로 존재한다.

Claims (20)

  1. 장치에 있어서,
    메모리 셀들의 어레이(array); 및
    상기 메모리 셀들의 어레이에 결합된 제어기를 포함하고, 상기 제어기는 회로에 지시하여:
    상기 메모리 셀들의 어레이로부터 다수의 감지 증폭기들로 데이터를 전송하고; 그리고
    상기 다수의 감지 증폭기들로부터 상기 장치의 입력/출력(I/O) 구성 요소로 전송할 상기 데이터의 일부를 선택함으로써 매트릭스 구성(matrix configuration)의 일부에 대응하도록 데이터를 구성하도록 구성되는, 장치.
  2. 제1항에 있어서, 상기 매트릭스 구성은 제1 로우 수(first number of rows)와 제2 컬럼 수(second number of columns)의 곱에 의해 정의되는 특정 크기를 갖는, 장치.
  3. 제2항에 있어서, 상기 제어기는:
    상기 매트릭스 구성의 로우(row)에 대응하도록 데이터를 구성하고-여기서 상기 로우는 상기 제1 로우 수 중 하나임-; 그리고
    상기 매트릭스 구성의 컬럼(column)에 대응하도록 데이터를 구성하도록 구성되며, 여기서 상기 컬럼은 상기 제2 컬럼 수 중 하나인, 장치.
  4. 제2항에 있어서, 상기 제어기에 결합되고 상기 특정 크기를 나타내도록 상기 제어기에 의해 구성 가능한 모드 레지스터(mode register)를 더 포함하고, 상기 제1 로우 수는 상기 제2 컬럼 수와 상이한, 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 매트릭스 구성은 제1 크기를 갖는 제1 서브매트릭스 및 제2 크기를 갖는 제2 서브매트릭스를 포함하는, 장치.
  6. 제5항에 있어서, 상기 제1 서브매트릭스의 상기 제1 크기 및 상기 제2 서브매트릭스의 상기 제2 크기는 호스트의 처리 리소스(processing resource)에 의한 처리를 위해 상기 데이터를 준비하기 위해 상기 장치와 연관된 상기 호스트에 의해 선택되는, 장치.
  7. 장치에 있어서,
    메모리 셀들의 어레이; 및
    상기 메모리 셀들의 어레이에 결합되고 회로에 지시하여 상기 메모리 셀들의 어레이로부터 다수의 감지 증폭기들로 데이터를 전송하고 상기 다수의 감지 증폭기들로부터 입력/출력(I/O) 구성 요소로 전송할 상기 데이터의 다수의 부분들을 선택함으로써 매트릭스들의 세트에 대응하도록 상기 데이터를 구성하도록 구성된 제어기를 포함하고, 상기 매트릭스들의 세트는:
    제1 크기의 제1 서브매트릭스; 및
    제2 크기의 제2 서브매트릭스를 포함하는, 장치.
  8. 제7항에 있어서, 상기 제1 서브매트릭스의 상기 제1 크기는 상기 제2 서브매트릭스의 제2 크기와 동일한, 장치.
  9. 제7항에 있어서, 상기 매트릭스들의 세트는 상기 제1 크기의 제3 서브매트릭스 및 상기 제2 크기의 제4 서브매트릭스를 더 포함하는, 장치.
  10. 제7항에 있어서, 상기 매트릭스들의 세트는 제3 크기의 제3 서브매트릭스를 더 포함하고, 상기 제3 크기는 상기 제1 크기와 다르고, 상기 제3 크기는 제2 크기와 다른, 장치.
  11. 장치에 있어서,
    메모리 셀들의 어레이; 및
    상기 메모리 셀들의 어레이에 결합된 제어기를 포함하고, 상기 제어기는:
    입력/출력(I/O) 구성 요소로부터 다수의 감지 증폭기들로 전송할 데이터의 다수의 부분들을 선택하여 매트릭스 구성에 대응하는 상기 데이터를 선형 구성(linear configuration)으로 변환하도록 회로에 지시하는, 장치.
  12. 제11항에 있어서, 상기 매트릭스 구성은 제1 로우 수 및 제2 컬럼 수를 포함하는, 장치.
  13. 제12항에 있어서, 상기 제어기는 상기 메모리 셀들의 어레이에 대한 상기 데이터의 기록 동작을 수행하도록 상기 회로에 더 지시하고, 상기 데이터의 상기 기록 동작은:
    상기 매트릭스 구성의 상기 제1 로우 수의 제1 로우; 또는
    상기 제2 컬럼 수의 제1 컬럼 중 적어도 하나에 대응하는 비트를 포함하는, 장치.
  14. 방법에 있어서,
    메모리 셀들의 어레이로부터 다수의 감지 증폭기들로 데이터를 전송하는 단계;
    상기 감지 증폭기에서 상기 데이터의 일부를 선택함으로써 매트릭스 구성에 대응하도록 상기 데이터를 구성하는 단계; 및
    상기 선택된 데이터를 상기 다수의 감지 증폭기들에 연결된 입력/출력(I/O) 구성 요소로 전송하는 단계를 포함하는, 방법.
  15. 제14항에 있어서, 상기 매트릭스 구성에 대응하도록 상기 데이터의 상기 일부를 선택하는 단계는 상기 매트릭스 구성의 제1 로우 수와 상기 매트릭스 구성의 제2 컬럼 수의 곱에 의해 정의되는, 방법.
  16. 제14항에 있어서, 상기 데이터를 구성하는 단계는 상기 메모리 셀들의 어레이와 연관된 호스트로부터의 커맨드에 기초하여 상기 매트릭스 구성에 대응하도록 상기 데이터를 구성하는 단계를 포함하는, 방법.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서, 상기 데이터의 상기 일부를 선택하는 단계는 상기 매트릭스 구성의 대각선에 대응하는 데이터를 선택하는 단계를 포함하고, 상기 대각선은 상기 제1 로우 수 및 상기 제2 컬럼 수를 횡단하는, 방법.
  18. 방법에 있어서,
    메모리 디바이스와 연관된 호스트로부터 상기 메모리 디바이스에서 데이터를 수신하는 단계;
    컬럼 디코딩 회로를 통해, 상기 데이터의 특정 비트를 저장하기 위해 다수의 감지 증폭기들을 선택함으로써 상기 데이터를 매트릭스 구성에 대응하는 것에서 선형 구성에 대응하는 것으로 변환하는 단계; 및
    상기 선형 구성의 상기 데이터를 상기 메모리의 메모리 셀들의 어레이에 기록하기 위한 기록 동작을 수행하는 단계를 포함하는, 방법.
  19. 제18항에 있어서, 상기 데이터를 상기 매트릭스 구성에 대응하는 것에서 상기 선형 구성에 대응하는 것으로 변환하는 단계는 제1 수의 감지 증폭기들에 저장할 데이터의 제1 비트 수를 선택하는 단계를 포함하는, 방법.
  20. 제19항에 있어서, 상기 제1 수의 감지 증폭기들에 저장할 데이터의 상기 제1 비트 수를 선택하는 단계는:
    상기 매트릭스 구성의 로우에 대응하는 비트 수를 선택하는 단계; 또는
    상기 매트릭스 구성의 컬럼에 대응하는 비트 수를 선택하는 단계 중 적어도 하나를 포함하는, 방법.
KR1020217022837A 2018-12-21 2019-11-26 메모리 디바이스에서 데이터를 구성하는 장치 및 방법 KR102612698B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/231,224 2018-12-21
US16/231,224 US10818359B2 (en) 2018-12-21 2018-12-21 Apparatuses and methods for organizing data in a memory device
PCT/US2019/063373 WO2020131327A1 (en) 2018-12-21 2019-11-26 Apparatuses and methods for organizing data in a memory device

Publications (2)

Publication Number Publication Date
KR20210094666A true KR20210094666A (ko) 2021-07-29
KR102612698B1 KR102612698B1 (ko) 2023-12-13

Family

ID=71096934

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217022837A KR102612698B1 (ko) 2018-12-21 2019-11-26 메모리 디바이스에서 데이터를 구성하는 장치 및 방법

Country Status (5)

Country Link
US (3) US10818359B2 (ko)
EP (1) EP3899708A4 (ko)
KR (1) KR102612698B1 (ko)
CN (1) CN113196222B (ko)
WO (1) WO2020131327A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10818359B2 (en) 2018-12-21 2020-10-27 Micron Technology, Inc. Apparatuses and methods for organizing data in a memory device
US11348622B2 (en) * 2020-05-06 2022-05-31 Micron Technology, Inc. Conditional write back scheme for memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093805A (en) * 1990-06-20 1992-03-03 Cypress Semiconductor Corporation Non-binary memory array
KR20140046386A (ko) * 2012-10-10 2014-04-18 에이취지에스티 네덜란드 비.브이. 고착 고장을 갖는 메모리 셀들을 수용하기 위한 데이터의 부호화 및 복호화
KR20170134989A (ko) * 2016-05-30 2017-12-08 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
WO2018156398A1 (en) * 2017-02-22 2018-08-30 Micron Technology, Inc. Apparatuses and methods for compute in data path

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5856947A (en) 1997-08-27 1999-01-05 S3 Incorporated Integrated DRAM with high speed interleaving
US5940329A (en) 1997-12-17 1999-08-17 Silicon Aquarius, Inc. Memory architecture and systems and methods using the same
US6430098B1 (en) 2000-05-16 2002-08-06 Broadcom Corporation Transparent continuous refresh RAM cell architecture
KR100682694B1 (ko) 2005-05-09 2007-02-15 주식회사 하이닉스반도체 반도체 메모리 장치
US7660183B2 (en) 2005-08-01 2010-02-09 Rambus Inc. Low power memory device
US8305834B2 (en) * 2010-02-23 2012-11-06 Qimonda Ag Semiconductor memory with memory cell portions having different access speeds
US9348587B2 (en) 2010-07-09 2016-05-24 Hyperion Core, Inc. Providing code sections for matrix of arithmetic logic units in a processor
JP2013125561A (ja) * 2011-12-14 2013-06-24 Elpida Memory Inc 半導体装置
US9147461B1 (en) * 2012-11-28 2015-09-29 Samsung Electronics Co., Ltd. Semiconductor memory device performing a refresh operation, and memory system including the same
US9613001B2 (en) 2013-12-20 2017-04-04 Intel Corporation Processing device for performing convolution operations
CN106663055B (zh) * 2014-06-05 2020-07-31 Gsi科技公司 涉及多存储体存储器电路系统的系统和方法
EP3001307B1 (en) 2014-09-25 2019-11-13 Intel Corporation Bit shuffle processors, methods, systems, and instructions
US9922695B2 (en) * 2015-03-25 2018-03-20 Intel Corporation Apparatus and method for page copying within sections of a memory
US10817587B2 (en) 2017-02-28 2020-10-27 Texas Instruments Incorporated Reconfigurable matrix multiplier system and method
US10818359B2 (en) * 2018-12-21 2020-10-27 Micron Technology, Inc. Apparatuses and methods for organizing data in a memory device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093805A (en) * 1990-06-20 1992-03-03 Cypress Semiconductor Corporation Non-binary memory array
KR20140046386A (ko) * 2012-10-10 2014-04-18 에이취지에스티 네덜란드 비.브이. 고착 고장을 갖는 메모리 셀들을 수용하기 위한 데이터의 부호화 및 복호화
KR20170134989A (ko) * 2016-05-30 2017-12-08 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
WO2018156398A1 (en) * 2017-02-22 2018-08-30 Micron Technology, Inc. Apparatuses and methods for compute in data path

Also Published As

Publication number Publication date
CN113196222A (zh) 2021-07-30
WO2020131327A1 (en) 2020-06-25
US20210366553A1 (en) 2021-11-25
CN113196222B (zh) 2022-08-16
US11710524B2 (en) 2023-07-25
KR102612698B1 (ko) 2023-12-13
US11100998B2 (en) 2021-08-24
US10818359B2 (en) 2020-10-27
US20200202939A1 (en) 2020-06-25
EP3899708A1 (en) 2021-10-27
EP3899708A4 (en) 2022-09-21
US20200411102A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US20210200783A1 (en) Data transfer with a bit vector operation device
US11842191B2 (en) Apparatus and methods related to microcode instructions indicating instruction types
US10971214B2 (en) Apparatuses and methods to perform logical operations using sensing circuitry
US11107520B2 (en) Apparatuses and methods for shift decisions
US20170337953A1 (en) Apparatuses and methods for scatter and gather
US10867662B2 (en) Apparatuses and methods for subarray addressing
US11782721B2 (en) Apparatuses and methods for ordering bits in a memory device
US11710524B2 (en) Apparatuses and methods for organizing data in a memory device
US20240161830A1 (en) Apparatuses and methods for organizing data in a memory device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right