KR20170008999A - 메모리 시스템 및 메모리의 동작 방법 - Google Patents

메모리 시스템 및 메모리의 동작 방법 Download PDF

Info

Publication number
KR20170008999A
KR20170008999A KR1020150100274A KR20150100274A KR20170008999A KR 20170008999 A KR20170008999 A KR 20170008999A KR 1020150100274 A KR1020150100274 A KR 1020150100274A KR 20150100274 A KR20150100274 A KR 20150100274A KR 20170008999 A KR20170008999 A KR 20170008999A
Authority
KR
South Korea
Prior art keywords
memory
address
data
command
operation command
Prior art date
Application number
KR1020150100274A
Other languages
English (en)
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 에스케이하이닉스 주식회사
Priority to KR1020150100274A priority Critical patent/KR20170008999A/ko
Priority to US14/983,366 priority patent/US20170017400A1/en
Priority to TW105100207A priority patent/TW201702886A/zh
Priority to CN201610165288.7A priority patent/CN106354654A/zh
Publication of KR20170008999A publication Critical patent/KR20170008999A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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
    • 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/0625Power saving in storage systems
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리의 동작 방법은, 연산 커맨드를 수신하는 단계; 상기 연산 커맨드에 대응하는 제1어드레스를 수신하고 상기 제1어드레스가 지정하는 메모리 셀들로부터 제1데이터를 리드하는 단계; 상기 연산 커맨드에 대응하는 제2어드레스를 수신하고 상기 제2어드레스가 지정하는 메모리 셀들로부터 제2데이터를 리드하는 단계; 및 상기 제1데이터와 상기 제2데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하는 단계를 포함할 수 있다.

Description

메모리 시스템 및 메모리의 동작 방법 {MEMORY SYSTEM AND OPERATION METHOD OF MEMORY}
본 특허 문헌은 메모리 및 메모리 시스템에 관한 것이다.
도 1은 종래의 컴퓨팅 시스템의 구성도이다.
도 1을 참조하면, 컴퓨팅 시스템은 연산을 담당하는 중앙 처리 장치(CPU, 130), 중앙 처리 장치(130)의 요청에 따라 메모리(120)를 제어하기 위한 메모리 콘트롤러(110), 및 메모리(120)를 포함한다.
컴퓨팅 시스템에서 메모리(120)에 저장된 X라는 값과 Y라는 값을 덧셈 연산해 Z라는 값을 생성하는 과정은 도 2와 같이 수행된다.
먼저, 중앙 처리 장치(130)는 메모리(120) 내의 A라는 어드레스에 저장된 데이터가 필요하다는 요청을 메모리 콘트롤러(110)로 전달한다(S201). 그리고, 메모리 콘트롤러(110)는 메모리(120)에 리드 커맨드와 함께 A어드레스를 전달한다(S203). 그리고, 메모리(120)는 A어드레스로부터 X라는 값을 리드해 메모리 콘트롤러(110)로 전달하고(S205), 메모리 콘트롤러(110)는 X라는 값을 중앙 처리 장치(130)로 전달한다(S207).
이후에, 중앙 처리 장치(130)는 메모리(120) 내의 B라는 어드레스에 저장된 데이터가 필요하다는 요청을 메모리 콘트롤러(110)로 전달한다(S209). 그리고, 메모리 콘트롤러(110)는 메모리(120)에 리드 커맨드와 함께 B어드레스를 전달한다(S211). 그리고, 메모리(120)는 B어드레스로부터 Y라는 값을 리드해 메모리 콘트롤러(110)로 전달하고(S213), 메모리 콘트롤러(110)는 Y라는 값을 중앙 처리 장치(130)로 전달한다(S215).
이제 중앙 처리 장치(130)가 X라는 값과 Y라는 값을 얻었으므로 중앙 처리 장치(130)는 X와 Y에 대한 덧셈 연산을 통해 Z라는 값을 생성한다(S217). 그리고, 메모리 콘트롤러(110)에 Z라는 값을 C어드레스에 저장하라는 요청을 전달한다(S219). 그러면 메모리 콘트롤러(110)는 라이트 커맨드, C어드레스 및 Z값을 메모리(120)에 전달한다(S221). 그리고, 메모리(120)는 C어드레스에 Z값을 라이트한다(S223).
이상에서 살펴본 바와 같이, X+Y=Z라는 매우 단순한 연산을 수행하기 위해서, 중앙 처리 장치(130), 메모리 콘트롤러(110) 및 메모리(120) 사이에 다양한 요청 및 데이터가 여러 번 송/수신되어야 하며, 이로 인해 시스템의 성능 저하 및 많은 전력를 소모하게 된다.
본 발명의 실시예들은, 메모리를 포함하는 시스템의 성능을 높이고 전력 소모를 줄일 수 있다.
본 발명의 일실시예에 따른 메모리의 동작 방법은, 연산 커맨드를 수신하는 단계; 상기 연산 커맨드에 대응하는 제1어드레스를 수신하고 상기 제1어드레스가 지정하는 메모리 셀들로부터 제1데이터를 리드하는 단계; 상기 연산 커맨드에 대응하는 제2어드레스를 수신하고 상기 제2어드레스가 지정하는 메모리 셀들로부터 제2데이터를 리드하는 단계; 및 상기 제1데이터와 상기 제2데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하는 단계를 포함할 수 있다.
상기 메모리의 동작 방법은, 상기 연산 커맨드에 대응하는 제3어드레스를 수신하고 상기 제3어드레스가 지정하는 메모리 셀들에 상기 연산 동작의 결과를 라이트하는 단계를 더 포함할 수 있다.
상기 메모리의 동작 방법은, 상기 연산 동작의 결과를 메모리 외부로 출력하는 단계를 더 포함할 수 있다.
상기 연산 커맨드는 상기 제1어드레스의 수신시, 상기 제2어드레스의 수신시 및 상기 제3어드레스의 수신시에 수신될 수 있다.
상기 연산 커맨드는 덧셈 연산 커맨드, 뺄셈 연산 커맨드, OR 연산 커맨드, XOR 연산 커맨드, AND 연산 커맨드, 곱셈 연산 커맨드 중 어느 하나일 수 있다.
또한, 본 발명의 일실시예에 따른 메모리 시스템은, 메모리에 연산 커맨드 및 상기 연산 커맨드에 대응하는 제1어드레스와 제2어드레스를 전송하는 메모리 콘트롤러; 및 상기 제1어드레스가 지정하는 메모리 셀들로부터 제1데이터를 리드하고, 상기 제2어드레스가 지정하는 메모리 셀들로부터 제2데이터를 리드하고, 상기 제1데이터와 상기 제2데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하는 상기 메모리를 포함할 수 있다.
상기 메모리 콘트롤러는 상기 메모리에 상기 연산 커맨드에 대응하는 제3어드레스를 더 전송하고, 상기 메모리는 상기 제3어드레스에 대응하는 메모리 셀들에 상기 연산 동작의 결과를 라이트할 수 있다.
상기 메모리는 상기 연산 동작의 수행 이후에 상기 연산 동작의 결과를 상기 메모리 콘트롤러로 전송할 수 있다.
상기 연산 커맨드는 덧셈 연산 커맨드, 뺄셈 연산 커맨드, OR 연산 커맨드, XOR 연산 커맨드, AND 연산 커맨드, 곱셈 연산 커맨드 중 어느 하나일 수 있다.
상기 메모리는, 셀어레이; 상기 셀어레이에 저장된 데이터를 리드하거나 상기 셀어레이에 데이터를 라이트하기 위한 억세스 회로; 상기 억세스 회로에 의해 리드된 상기 제1데이터를 저장하기 위한 제1레지스터; 상기 억세스 회로에 의해 리드된 상기 제2데이터를 저장하기 위한 제2레지스터; 상기 제1레지스터에 저장된 상기 제1데이터와 상기 제2레지스터에 저장된 상기 제3데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하기 위한 연산 회로; 및 상기 연산 회로의 연산 결과를 저장하고, 상기 셀어레이에서 상기 제3어드레스에 대응하는 메모리 셀들에 상기 연산 결과가 라이트될 수 있도록, 상기 연산 결과를 상기 억세스 회로에 제공하기 위한 제3레지스터를 포함할 수 있다.
상기 메모리는, 셀어레이; 상기 셀어레이에 저장된 데이터를 리드하거나 상기 셀어레이에 데이터를 라이트하기 위한 억세스 회로; 상기 억세스 회로에 의해 리드된 상기 제1데이터를 저장하기 위한 제1레지스터; 상기 억세스 회로에 의해 리드된 상기 제2데이터를 저장하기 위한 제2레지스터; 상기 제1레지스터에 저장된 상기 제1데이터와 상기 제2레지스터에 저장된 상기 제3데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하기 위한 연산 회로; 상기 연산 회로의 연산 결과를 저장하는 제3레지스터; 및 상기 제3레지스터에 저장된 상기 연산 결과를 출력하기 위한 출력 회로를 포함할 수 있다.
본 발명의 실시예들에 따르면, 메모리가 간단한 연상 동작을 수행하므로 시스템의 성능을 높이고 전력 소모를 줄일 수 있다.
도 1은 종래의 컴퓨팅 시스템의 구성도.
도 2는 도 1의 컴퓨팅 시스템의 동작을 도시한 도면.
도 3는 본 발명의 일실시예에 따른 메모리 시스템의 구성도.
도 4는 도 3의 메모리 시스템에서 연산 동작이 수행되는 방법의 일실시예를 도시한 도면.
도 5는 도 3의 메모리 시스템에서 연산 동작이 수행되는 방법의 다른 실시예를 도시한 도면.
도 6은 도 3의 메모리(320)의 일실시예 구성도.
도 7은 메모리(320)가 로우(row) 어드레스와 컬럼(column) 어드레스를 동시에 수신하지 못하고 서로 다른 시간에 수신하는 경우에(예, DRAM의 어드레싱), 도 4의 동작 방식이 어떻게 변경되어야 하는지를 나타낸 도면.
도 8은 메모리(320)가 로우 어드레스와 컬럼 어드레스를 동시에 수신하지 못하고 서로 다른 시간에 수신하는 경우에(예, DRAM의 어드레싱), 도 5의 동작 방식이 어떻게 변경되어야 하는지를 나타낸 도면.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다.
도 3는 본 발명의 일실시예에 따른 메모리 시스템의 구성도이다.
도 3을 참조하면, 메모리 시스템은 메모리 콘트롤러(310)와 메모리(320)를 포함할 수 있다.
메모리 콘트롤러(310)는 커맨드 채널(301), 어드레스 채널(302) 및 데이터 채널(303)을 이용해 메모리(320)를 제어할 수 있다. 메모리 콘트롤러(310)는 채널들(301, 302, 303)을 이용해 메모리(320)의 리드(read)와 라이트(write) 동작 등을 제어할 수 있다. 한편, 메모리 콘트롤러(310)는 채널들(301, 302, 303)을 이용해 메모리(320)의 연산 동작을 제어할 수 있다. 채널들(301, 302, 303) 각각은 다수의 전송 라인들을 포함할 수 있다. 메모리 콘트롤러(310)가 메모리(320)의 연산 동작을 제어하는 것에 대해서는 도 4 내지 도 5와 함께 자세히 알아보기로 한다.
메모리(320)는 커맨드 채널(301), 어드레스 채널(302) 및 데이터 채널(303)을 통해 제어되며 리드와 라이트 동작 등을 수행할 수 있다. 예를 들어, 커맨드 채널(301)을 통해 리드 동작이 명령되면 어드레스 채널(302)을 통해 수신한 어드레스에 대응하는 메모리 셀들로부터 데이터를 리드하고, 리드된 데이터를 데이터 채널(303)을 통해 메모리 콘트롤러(310)로 전달할 수 있다. 또한, 커맨드 채널(301)을 통해 라이트 동작이 명령되면 어드레스 채널(302)을 통해 수신한 어드레스에 대응하는 메모리 셀들에 데이터 채널(303)을 통해 수신된 데이터를 라이트할 수 있다. 한편, 메모리(320)는 메모리 콘트롤러(310)의 제어에 따라 연산 동작을 수행할 수 있다. 메모리 콘트롤러(310)의 제어에 의한 메모리(320)의 연산 동작 수행에 대해서는 도 4 내지 도 5와 함께 자세히 알아보기로 한다. 메모리(320)는 DRAM(Dynamic Random Access Memory), NAND Flash, NOR Flash, RRAM(Resistive Random Access Memory), PRAM(Phase-change Random Access Memory), FRAM(Ferroelectric Random Access Memory), MRAM(Magnetic Random Access Memory), 이-퓨즈(E-fuse), SRAM 등 모든 종류의 메모리 중 하나일 수 있다.
도 4는 도 3의 메모리 시스템에서 연산 동작이 수행되는 방법의 일실시예를 도시한 도면이다.
도 4을 참조하면, 시점(401)에 덧셈 연산 커맨드(OP_ADD)와 함께 제1어드레스(ADDR1)가 메모리 콘트롤러(310)로부터 메모리(320)로 전달될 수 있다. 그러면, 메모리(320)는 내부적으로 제1어드레스(ADDR1)에 대응하는 메모리 셀들로부터 데이터(이하, 제1데이터)를 리드하고 이를 메모리 콘트롤러(310)에 전달하지 않고 임시 저장할 수 있다.
시점(403)에 덧셈 연산 커맨드(OP_ADD)와 함께 제2어드레스(ADDR2)가 메모리 콘트롤러(310)로부터 메모리(320)로 전달될 수 있다. 그러면, 메모리(320)는 내부적으로 제2어드레스(ADDR2)에 대응하는 메모리 셀들로부터 데이터(이하, 제2데이터)를 리드하고 이를 메모리 콘트롤러(310)에 전달하지 않고 임시 저장할 수 있다. 시점(403)에서의 덧셈 연산 커맨드(OP_ADD)는 제2어드레스(ADDR)가 덧셈 연산 커맨드(OP_ADD)와 연관된 것임을 나타내기 위해 메모리(320)에 입력된다. 시점(401)에서 덧셈 연산 커맨드(OP_ADD)가 메모리(320)로 입력되므로 시점(403)에서 입력되는 제2어드레스(ADDR2)도 덧셈 연산 커맨드(OP_ADD)와 관련된 것임을 알 수 있으므로, 시점(403)에서의 덧셈 연산 커맨드(OP_ADD)의 메모리(320)로의 입력은 생략될 수 있다.
시점(405)에 메모리(320)는 제1데이터와 제2데이터에 대한 덧셈 연산을 수행하고, 그 결과(이하, 제3데이터)를 임시 저장할 수 있다.
시점(407)에 덧셈 연산 커맨드(OP_ADD)와 함께 제3어드레스(ADDR3)가 메모리 콘트롤러(310)로부터 메모리(320)로 전달될 수 있다. 그러면, 메모리(320)는 내부적으로 제3어드레스(ADDR3)에 대응하는 메모리 셀들에 제3데이터를 라이트할 수 있다. 시점(407)에서의 덧셈 연산 커맨드(OP_ADD)는 제3어드레스(ADDR3)가 덧셈 연산 커맨드(OP_ADD)와 연관된 것임을 나타내기 위해 메모리에 입력된다. 시점(401)에서 덧셈 연산 커맨드(OP_ADD)가 메모리(320)로 입력되므로 시점(407)에서 입력되는 제3어드레스(ADDR3)도 덧셈 연산 커맨드(OP_ADD)와 관련된 것임을 알 수 있으므로, 시점(407)에서의 덧셈 연산 커맨드(OP_ADD)의 메모리(320)로의 입력은 생략될 수 있다.
이제, 메모리(320)에서 제3어드레스(ADDR)에 대응하는 메모리 셀들에 덧셈 연산의 결과인 제3데이터가 저장되었으므로, 메모리 콘트롤러(310)는 제3데이터가 필요한 때 언제라도, 메모리(320)에 제3어드레스(ADDR)에 대한 리드 동작을 지시하는 것에 의해 제3데이터를 얻을 수 있다.
도 4를 참조하면, 메모리 콘트롤러(310)로부터 메모리(320)로 덧셈 연산 커맨드(OP_ADD)와 함께 3개의 어드레스(ADDR1, ADDR2, ADDR3)가 입력되는 것에 의해 제1어드레스(ADDR1)에 저장된 제1데이터와 제2어드레스(ADDR2)에 저장된 제2데이터가 덧셈 연산되고, 그 결과인 제3데이터가 제3어드레스(ADDR3)에 라이트되는 것을 확인할 수 있다. 간단한 연산 동작을 메모리(320)가 자체적으로 수행하도록 하는 것에 의해, 종래의 도 2와 같은 복잡한 과정이 매우 단순화되고 그 결과 시스템의 성능을 향상시키고 전력 소모도 줄일 수 있다.
도 5는 도 3의 메모리 시스템에서 연산 동작이 수행되는 방법의 다른 실시예를 도시한 도면이다.
도 5를 참조하면, 시점(501)에 덧셈 연산 커맨드(OP_ADD)와 함께 제1어드레스(ADDR1)가 메모리 콘트롤러(310)로부터 메모리(320)로 전달될 수 있다. 그러면, 메모리(320)는 내부적으로 제1어드레스(ADDR1)에 대응하는 메모리 셀들로부터 데이터(제1데이터)를 리드하고 이를 메모리 콘트롤러(320)에 전달하지 않고 임시 저장할 수 있다.
시점(503)에 덧셈 연산 커맨드(OP_ADD)와 함께 제2어드레스(ADDR2)가 메모리 콘트롤러(310)로부터 메모리(320)로 전달될 수 있다. 그러면, 메모리(320)는 내부적으로 제2어드레스(ADDR1)에 대응하는 메모리 셀들로부터 데이터(제2데이터)를 리드하고 이를 메모리 콘트롤러(310)로 전달하지 않고 임시 저장할 수 있다. 시점(503)에서의 덧셈 연산 커맨드(OP_ADD)는 제2어드레스(ADDR)가 덧셈 연산 커맨드(OP_ADD)와 연관된 것임을 나타내기 위해 메모리(320)에 입력된다. 시점(501)에서 덧셈 연산 커맨드(OP_ADD)가 메모리(320)로 입력되므로 시점(503)에서 입력되는 제2어드레스(ADDR2)도 덧셈 연산 커맨드(OP_ADD)와 관련된 것임을 알 수 있으므로, 시점(503)에서의 덧셈 연산 커맨드(OP_ADD)의 메모리(320)로의 입력은 생략될 수 있다.
시점(505)에 메모리(320)는 제1데이터와 제2데이터에 대한 덧셈 연산을 수행하고, 그 결과(제3데이터)를 임시 저장할 수 있다.
시점(507)에 메모리(320)는 제3데이터(DATA3)를 데이터 채널(303)을 통해 메모리 콘트롤러(310)로 전달할 수 있다.
도 4의 실시예에서는 덧센 연산 커맨드(OP_ADD)와 함께 3개의 어드레스(ADDR1, ADDR2, ADDR3)가 메모리(320)로 전달되고, 메모리(320)는 제1어드레스(ADDR1)에 대응하는 제1데이터와 제2어드레스(ADDR2)에 대응하는 제2데이터를 덧셈 연산해 그 결과인 제3데이터를 제3어드레스(ADDR3)에 대응하는 메모리 셀들에 저장했다. 그런데, 도 5의 실시예에서는 덧셈 연산 커맨드(OP_ADD)와 함께 2개의 어드레스(ADDR1, ADDR2)가 메모리(320)로 전달되고, 메모리(320)는 제1어드레스(ADDR1)에 대응하는 제1데이터와 제2어드레스(ADDR2)에 대응하는 제2데이터를 덧셈 연산해 그 결과인 제3데이터를 메모리 콘트롤러(310)로 바로 전달한다는 차이점이 있다.
도 5의 실시예에서도 간단한 연산 동작을 메모리(320)가 자체적으로 수행하도록 하는 것에 의해, 종래의 도 2와 같은 복잡한 과정이 매우 단순화되고 그 결과 시스템의 성능을 향상시키고 전력 소모도 줄일 수 있다.
도 4와 도 5에서는 메모리(320)에서의 덧셈 연산의 동작 과정을 예시했지만, 다른 연산의 동작도 이와 동일하게 이루어질 수 있다.
도 6은 도 3의 메모리(320)의 일실시예 구성도이다.
도 6을 참조하면, 메모리(320)는 커맨드 수신부(601), 어드레스 수신부(602), 데이터 송/수신부(603), 커맨드 디코더(610), 셀어레이(620), 억세스 회로(630), 제1레지스터(641), 제2레지스터(642), 제3레지스터(643) 및 연산 회로(650)를 포함할 수 있다.
커맨드 수신부(601)는 메모리 콘트롤러(310)로부터 커맨드 채널(301)을 통해 전달되는 커맨드를 수신할 수 있다. 어드레스 수신부(602)는 메모리 콘트롤러로(310)부터 어드레스 채널(302)을 통해 전달되는 어드레스를 수신할 수 있다. 데이터 송/수신부(603)는 메모리 콘트롤러(310)로부터 데이터 채널(303)을 통해 전달되는 데이터를 수신하거나, 데이터 채널(303)을 통해 메모리 콘트롤러(310)로 데이터를 송신할 수 있다.
커맨드 디코더(610)는 커맨드 수신부(601)를 통해 수신된 커맨드를 디코딩해 내부 리드 커맨드(IRD), 내부 라이트 커맨드(IWT) 및 내부 연산 커맨드들(IOP_ADD, IOP_SUB, IOP_MUL, IOP_OR, IOP_AND, IOP_XOR)을 생성할 수 있다. 내부 리드 커맨드(IRD)는 메모리(320)의 리드 동작을 지시하는 커맨드이고, 내부 라이트 커맨드(IWT)는 메모리(320)의 라이트 동작을 지시하는 커맨드일 수 있다. 내부 연산 커맨드들(IOP_ADD, IOP_SUB, IOP_MUL, IOP_OR, IOP_AND, IOP_XOR)은 메모리(320)가 연산 동작을 수행하도록 하는 커맨드일 수 있다. 내부 덧셈 연산 커맨드(IOP_ADD)는 메모리(320)가 덧셈 연산을 수행하도록 하는 커맨드이고, 내부 뺄셈 연산 커맨드(IOP_SUB)는 메모리(320)가 뺄셈 연산을 수행하도록 하는 커맨드이고, 내부 곱셈 연산 커맨드(IOP_MUL)는 메모리(320)가 곱셈 연산을 수행하도록 하는 커맨드일 수 있다. 또한, 내부 오아 연산 커맨드(IOP_OR)는 메모리(320)가 오아(OR) 연산을 수행하도록 하는 커맨드이고, 내부 앤드 연산 커맨드(IOP_AND)는 메모리(320)가 앤드(AND) 연산을 수행하도록 하는 커맨드이고, 내부 배타적 오아 연산 커맨드(IOP_XOR)는 메모리(320)가 배타적 오아 연산(IOP_XOR)을 수행하도록 하는 커맨드일 수 있다.
셀어레이(620)는 다수의 로우(row)와 다수의 컬럼(column)으로 배열된 다수의 메모리 셀들을 포함할 수 있다.
억세스 회로(630)는 리드와 라이트 동작시에 셀어레이(620)에서 어드레스 수신부(602)에 의해 수신된 어드레스에 대응하는 메모리 셀들에 억세스할 수 있다. 리드 동작시 억세스 회로(630)에 의해 리드된 데이터는 데이터 송/수신부(603)를 통해 메모리(320) 외부로 출력될 수 있으며, 라이트 동작시에 데이터 송/수신부(603)를 통해 수신된 데이터가 억세스 회로에 의해 셀어레이(620)에 라이트될 수 있다.
한편, 억세스 회로(630)는 내부 연산 커맨드들(IOP_ADD, IOP_SUB, IOP_MUL, IOP_OR, IOP_AND, IOP_XOR) 중 하나가 활성화되는 연산 동작시에, 첫번째로 수신된 어드레스(예, 도 4 내지 도 5의 제1어드레스(ADDR1))에 대응하는 메모리 셀들로부터 데이터(제1데이터)를 리드해 제1레지스터(541)에 전달하고, 두번째로 수신된 어드레스(예, 도 4 내지 도 5의 제2어드레스(ADDR2))에 대응하는 메모리 셀들로부터 데이터(제2데이터)를 리드해 제2레지스터(642)에 전달할 수 있다. 한편, 메모리(320)가 도 4과 같은 방식으로 연산 동작을 수행하는 경우에는 억세스 회로(630)는 세번째로 수신된 어드레스(예, 도 4의 제3어드레스(ADDR3))에 대응하는 메모리 셀들에 제3레지스터(643)에 저장된 연산 결과를 라이트할 수 있다.
제1레지스터(641)는 연산 동작시에 첫번째로 수신된 어드레스(제1어드레스(ADDR1))에 대응하는 메모리 셀들로부터 리드된 데이터(제1데이터)를 저장할 수 있다. 제1레지스터(641)는 메모리(320)에서 한번에 리드되는 데이터를 저장할 수 있도록 설계될 수 있다. 예를 들어, 한번의 리드 동작시에 8비트의 데이터가 리드되는 경우에 제1레지스터(641)는 최소한 8비트의 데이터를 저장할 수 있도록 설계될 수 있다.
제2레지스터(642)는 연산 동작시에 두번째로 수신된 어드레스(제2어드레스(ADDR2))에 대응하는 메모리 셀들로부터 리드된 데이터(제2데이터)를 저장할 수 있다. 제2레지스터(642)의 데이터 저장 용량은 제1레지스터(641)와 동일할 수 있다.
제3레지스터(643)는 연산 회로(650)의 연산 결과를 저장할 수 있다. 제3레지스터(643)의 데이터 저장 용량은 제1레지스터(641)와 동일할 수 있다. 메모리(320)가 도 4와 같이 동작할 경우에 제3레지스터(643)에 저장된 데이터는 억세스 회로(630)에 제공되어 연산 동작시에 세번째로 수신된 어드레스(제3어드레스(ADDR3))에 대응하는 메모리 셀들로 라이트될 수 있다. 메모리(320)가 도 5와 같이 동작할 경우에 제3레지스터(643)에 저장된 데이터는 데이터 송/수신부(603)로 제공되고, 데이터 송/수신부(603)를 통해 메모리 콘트롤러(310)로 전달될 수 있다.
연산 회로(650)는 제1레지스터(641)에 저장된 데이터(제1데이터)와 제2레지스터(642)에 저장된 데이터(제2데이터)에 대한 연산 동작을 수행하고, 그 결과를 제3레지스터(643)에 저장할 수 있다. 연산 회로(650)는 덧셈 연산기(651), 뺄셈 연산기(652), 곱셈 연산기(653), OR 연산기(654), AND 연산기(655) 및 XOR 연산기(656)를 포함할 수 있다. 연산 회로(650)는 제1데이터 ⊙ 제2데이터의 연산을 수행해, 제3데이터를 생성할 수 있다 (⊙는 선택된 연산을 나타냄). 예를 들어, 내부 뺄셈 연산 커맨드(IOP_SUB)가 활성화되면 연산 회로(650)의 뺄셈 연산기(652)에 의해 제1데이터 - 제2데이터의 연산이 수행될 수 있으며, 내부 OR 연산 커맨드(IOP_OR)가 활성화되면 연산 회로(650)의 OR 연산기(654)에 의해 제1데이터의 각 비트들과 제2데이터의 각 비트들에 대한 OR 연산이 수행될 수 있다(예, 제1데이터가 '1010'이고 제2데이터가 '0010'이라면 '1010'의 데이터가 생성됨). 여기서는 연산 회로(650)가 덧셈, 뺄셈, 곱셈, OR, AND 및 XOR 연산 동작들을 수행하는 것을 예시했지만, 연산 회로(650)가 수행하는 연산의 종류가 이보다 적거나 많을 수 있음은 당연하다.
메모리(320)는 도 4와 도 5의 연산 동작 방식 중 한가지 방식만을 지원하도록 설계될 수도 있으며, 도 4와 도 5의 연산 동작 방식들을 모두 지원하고 모드(mode)에 따라 도 4와 도 5의 연산 동작 방식들 중 하나의 방식으로 동작하도록 설계될 수도 있다.
도 7은 메모리(320)가 로우(row) 어드레스와 컬럼(column) 어드레스를 동시에 수신하지 못하고 서로 다른 시간에 수신하는 경우에(예, DRAM의 어드레싱), 도 4의 동작 방식이 어떻게 변경되어야 하는지를 나타낸 도면이다.
도 7을 참조하면, 도 4에서는 연산 커맨드(OP_ADD)와 관련된 제1어드레스(ADDR1)의 입력이 한번에 이루어진 반면에, 도 7에서는 액티브 커맨드(ACT)와 함께 제1어드레스의 로우 어드레스(R_ADDR1)가 수신되고(701) 덧셈 연산 커맨드(OP_ADD)와 함께 제1어드레스의 컬럼 어드레스(C_ADDR1)가 수신되고(703) 제1어드레스의 로우 어드레스(R_ADDR1)에 의한 로우의 선택을 비활성화하기 위해 프리차지 커맨드(PCG)가 수신되는(705) 3번의 동작에 걸쳐 덧셈 연산 커맨드(OP_ADD)와 관련된 제1어드레스(ADDR1)가 수신되는 것을 확인할 수 있다.
마찬가지로, 제2어드레스(ADDR2)의 수신도 액티브 커맨드(ACT)와 함께 제2어드레스의 로우 어드레스(R_ADDR2) 수신(707), 덧셈 연산 커맨드(OP_ADD)와 함께 제2어드레스의 컬럼 어드레스 수신(C_ADDR2)(709), 프리차지 커맨드(PCG) 수신(713)의 과정을 거치게 되는 것을 확인할 수 있다. 그리고 덧셈 연산 커맨드(OP_ADD)가 수신되는 시점(709)과 프리차지 커맨드가 수신되는 시점(713) 사이인 시점(711)에 덧셈 동작이 수행될 수 있다.
또한, 제3어드레스(ADDR3)의 수신도 액티브 커맨드와 함께 제3어드레스의 로우 어드레스 수신(R_ADDR3)(715), 덧셈 연산 커맨드(OP_ADD)와 함께 제3어드레스의 컬럼 어드레스(C_ADDR3) 수신(717), 프리차지 커맨드(PCG) 수신(719)의 과정을 거치게 되는 것을 확인할 수 있다.
도 7의 동작은 제1 내지 제3어드레스들(ADDR1, ADDR2, ADDR3)이 한번에 수신되지 못하고 로우 어드레스와 컬럼 어드레스가 서로 다른 시간에 수신된다는 점을 제외하고는 도 4의 동작과 동일하게 수행될 수 있다.
도 8은 메모리(320)가 로우 어드레스와 컬럼 어드레스를 동시에 수신하지 못하고 서로 다른 시간에 수신하는 경우에(예, DRAM의 어드레싱), 도 5의 동작 방식이 어떻게 변경되어야 하는지를 나타낸 도면이다.
도 8을 참조하면, 도 5에서는 연산 커맨드(OP_ADD)와 관련된 제1어드레스(ADDR1)의 입력이 한번에 이루어진 반면에, 도 8에서는 액티브 커맨드(ACT)와 함께 제1어드레스의 로우 어드레스(R_ADDR1)가 수신되고(801) 덧셈 연산 커맨드(OP_ADD)와 함께 제1어드레스의 컬럼 어드레스(C_ADDR1)가 수신되고(803) 제1어드레스의 로우 어드레스(R_ADDR1)에 의한 로우의 선택을 비활성화하기 위해 프리차지 커맨드(PCG)가 수신되는(805) 3번의 동작에 걸쳐 덧셈 연산 커맨드(OP_ADD)와 관련된 제1어드레스(ADDR1)가 수신되는 것을 확인할 수 있다.
마찬가지로, 제2어드레스(ADDR2)의 수신도 액티브 커맨드(ACT)와 함께 제2어드레스의 로우 어드레스(R_ADDR2) 수신(807), 덧셈 연산 커맨드(OP_ADD)와 함께 제2어드레스의 컬럼 어드레스 수신(C_ADDR2)(809), 프리차지 커맨드(PCG) 수신(813)의 과정을 거치게 되는 것을 확인할 수 있다. 그리고 덧셈 연산 커맨드(OP_ADD)가 수신되는 시점(809)과 프리차지 커맨드가 수신되는 시점(813) 사이인 시점(811)에 덧셈 동작이 수행되고 그 결과(제3데이터)가 임시 저장될 수 있다.
시점(815)에 메모리(320)는 제3데이터를 데이터 채널(303)을 통해 메모리 콘트롤러(310)로 전달할 수 있다.
도 8의 동작은 제1어드레스(ADDR1)와 제2어드레스가(ADDR2)가 한번에 수신되지 못하고 로우 어드레스와 컬럼 어드레스가 서로 다른 시간에 수신된다는 점을 제외하고는 도 5의 동작과 동일하게 수행될 수 있다.
본 발명의 기술사상은 상기 바람직한 실시예들에 따라 구체적으로 기술되었으나, 상기한 실시예들은 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술분야에서 통상의 지식을 가진 자라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 알 수 있을 것이다.
310: 메모리 콘트롤러 320: 메모리

Claims (12)

  1. 연산 커맨드를 수신하는 단계;
    상기 연산 커맨드에 대응하는 제1어드레스를 수신하고 상기 제1어드레스가 지정하는 메모리 셀들로부터 제1데이터를 리드하는 단계;
    상기 연산 커맨드에 대응하는 제2어드레스를 수신하고 상기 제2어드레스가 지정하는 메모리 셀들로부터 제2데이터를 리드하는 단계; 및
    상기 제1데이터와 상기 제2데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하는 단계
    를 포함하는 메모리의 동작 방법.
  2. 제 1항에 있어서,
    상기 연산 커맨드에 대응하는 제3어드레스를 수신하고 상기 제3어드레스가 지정하는 메모리 셀들에 상기 연산 동작의 결과를 라이트하는 단계
    를 더 포함하는 메모리의 동작 방법.
  3. 제 1항에 있어서,
    상기 연산 동작의 결과를 메모리 외부로 출력하는 단계
    를 더 포함하는 메모리의 동작 방법.
  4. 제 1항에 있어서,
    상기 연산 커맨드는 상기 제1어드레스의 수신시와 상기 제2어드레스의 수신시에 수신되는
    메모리의 동작 방법.
  5. 제 2항에 있어서,
    상기 연산 커맨드는 상기 제1어드레스의 수신시, 상기 제2어드레스의 수신시 및 상기 제3어드레스의 수신시에 수신되는
    메모리의 동작 방법.
  6. 제 1항에 있어서,
    상기 연산 커맨드는
    덧셈 연산 커맨드, 뺄셈 연산 커맨드, OR 연산 커맨드, XOR 연산 커맨드, AND 연산 커맨드, 곱셈 연산 커맨드 중 어느 하나인
    메모리의 동작 방법.
  7. 메모리에 연산 커맨드 및 상기 연산 커맨드에 대응하는 제1어드레스와 제2어드레스를 전송하는 메모리 콘트롤러; 및
    상기 제1어드레스가 지정하는 메모리 셀들로부터 제1데이터를 리드하고, 상기 제2어드레스가 지정하는 메모리 셀들로부터 제2데이터를 리드하고, 상기 제1데이터와 상기 제2데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하는 상기 메모리
    를 포함하는 메모리 시스템.
  8. 제 7항에 있어서,
    상기 메모리 콘트롤러는 상기 메모리에 상기 연산 커맨드에 대응하는 제3어드레스를 더 전송하고,
    상기 메모리는 상기 제3어드레스에 대응하는 메모리 셀들에 상기 연산 동작의 결과를 라이트하는
    메모리 시스템.
  9. 제 7항에 있어서,
    상기 메모리는 상기 연산 동작의 수행 이후에 상기 연산 동작의 결과를 상기 메모리 콘트롤러로 전송하는
    메모리 시스템.
  10. 제 7항에 있어서,
    상기 연산 커맨드는
    덧셈 연산 커맨드, 뺄셈 연산 커맨드, OR 연산 커맨드, XOR 연산 커맨드, AND 연산 커맨드, 곱셈 연산 커맨드 중 어느 하나인
    메모리 시스템.
  11. 제 8항에 있어서,
    상기 메모리는
    셀어레이;
    상기 셀어레이에 저장된 데이터를 리드하거나 상기 셀어레이에 데이터를 라이트하기 위한 억세스 회로;
    상기 억세스 회로에 의해 리드된 상기 제1데이터를 저장하기 위한 제1레지스터;
    상기 억세스 회로에 의해 리드된 상기 제2데이터를 저장하기 위한 제2레지스터;
    상기 제1레지스터에 저장된 상기 제1데이터와 상기 제2레지스터에 저장된 상기 제3데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하기 위한 연산 회로; 및
    상기 연산 회로의 연산 결과를 저장하고, 상기 셀어레이에서 상기 제3어드레스에 대응하는 메모리 셀들에 상기 연산 결과가 라이트될 수 있도록, 상기 연산 결과를 상기 억세스 회로에 제공하기 위한 제3레지스터를 포함하는
    메모리 시스템.
  12. 제 9항에 있어서,
    상기 메모리는
    셀어레이;
    상기 셀어레이에 저장된 데이터를 리드하거나 상기 셀어레이에 데이터를 라이트하기 위한 억세스 회로;
    상기 억세스 회로에 의해 리드된 상기 제1데이터를 저장하기 위한 제1레지스터;
    상기 억세스 회로에 의해 리드된 상기 제2데이터를 저장하기 위한 제2레지스터;
    상기 제1레지스터에 저장된 상기 제1데이터와 상기 제2레지스터에 저장된 상기 제3데이터에 대해 상기 연산 커맨드에 대응하는 연산 동작을 수행하기 위한 연산 회로;
    상기 연산 회로의 연산 결과를 저장하는 제3레지스터; 및
    상기 제3레지스터에 저장된 상기 연산 결과를 출력하기 위한 출력 회로를 포함하는
    메모리 시스템.
KR1020150100274A 2015-07-15 2015-07-15 메모리 시스템 및 메모리의 동작 방법 KR20170008999A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150100274A KR20170008999A (ko) 2015-07-15 2015-07-15 메모리 시스템 및 메모리의 동작 방법
US14/983,366 US20170017400A1 (en) 2015-07-15 2015-12-29 Memory device, memory system including the same and operation method of memory device
TW105100207A TW201702886A (zh) 2015-07-15 2016-01-05 記憶體裝置、包括該記憶體裝置的記憶體系統及記憶體裝置的操作方法
CN201610165288.7A CN106354654A (zh) 2015-07-15 2016-03-22 存储器件、包括其的存储系统及存储器件的操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150100274A KR20170008999A (ko) 2015-07-15 2015-07-15 메모리 시스템 및 메모리의 동작 방법

Publications (1)

Publication Number Publication Date
KR20170008999A true KR20170008999A (ko) 2017-01-25

Family

ID=57775817

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150100274A KR20170008999A (ko) 2015-07-15 2015-07-15 메모리 시스템 및 메모리의 동작 방법

Country Status (4)

Country Link
US (1) US20170017400A1 (ko)
KR (1) KR20170008999A (ko)
CN (1) CN106354654A (ko)
TW (1) TW201702886A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11423290B2 (en) 2019-07-26 2022-08-23 SK Hynix Inc. Methods of executing an arithmetic operation and semiconductor devices performing the arithmetic operation

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180107351A (ko) * 2017-03-16 2018-10-02 에스케이하이닉스 주식회사 상변화메모리의 전력소모량 연산장치 및 이를 포함하는 상변화메모리 시스템과, 상변화메모리의 전력소모량 연산방법
GB2563881B (en) * 2017-06-28 2019-12-25 Advanced Risc Mach Ltd Realm execution context masking and saving
CN112035053A (zh) * 2019-06-04 2020-12-04 华邦电子股份有限公司 存储器存储装置及其运作方法
US11776596B2 (en) * 2019-11-11 2023-10-03 Semiconductor Energy Laboratory Co., Ltd. Data processing device and method for operating data processing device
US11227641B1 (en) * 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698536B2 (en) * 2005-08-10 2010-04-13 Qualcomm Incorporated Method and system for providing an energy efficient register file
US8332580B2 (en) * 2008-04-02 2012-12-11 Zikbit Ltd. System, method and apparatus for memory with embedded associative section for computations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11423290B2 (en) 2019-07-26 2022-08-23 SK Hynix Inc. Methods of executing an arithmetic operation and semiconductor devices performing the arithmetic operation

Also Published As

Publication number Publication date
CN106354654A (zh) 2017-01-25
US20170017400A1 (en) 2017-01-19
TW201702886A (zh) 2017-01-16

Similar Documents

Publication Publication Date Title
KR20170008999A (ko) 메모리 시스템 및 메모리의 동작 방법
US20230360693A1 (en) Method of performing internal processing operation of memory device
TWI629686B (zh) 用於同時存取非揮發性記憶體之多個分區之裝置及方法
US11416178B2 (en) Memory device performing parallel calculation processing, operating method thereof, and operating method of memory controller controlling the memory device
JP4388772B2 (ja) 複合型メモリ装置
KR102145401B1 (ko) 메모리 동작 파라미터에 대한 다수의 파라미터 코드를 저장 및 기록하기 위한 방법 및 장치
US10803929B2 (en) Static random-access memory with virtual banking architecture, and system and method including the same
US9741425B2 (en) Memory device and memory system including the memory device
US20120054468A1 (en) Processor, apparatus, and method for memory management
EP4068106A1 (en) Apparatuses and methods for configuring i/os of memory for hybrid memory modules
US10908827B2 (en) Semiconductor memory devices, and memory systems and electronic apparatuses having the same
KR102252605B1 (ko) 메모리 디바이스에서의 메모리 액세스 제어
KR20200108768A (ko) 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법
KR20190106274A (ko) 메모리 칩 및 그것을 포함하는 테스트 시스템
US8305835B2 (en) Memory elements having configurable access duty cycles and related operating methods
US20200293452A1 (en) Memory device and method including circular instruction memory queue
US20180189153A1 (en) Memory apparatus, memory module and semiconductor system capable of dynamic mirroring
KR101861647B1 (ko) 메모리 시스템 및 그 리프레시 제어 방법
US10515674B2 (en) Devices and systems to reduce the number of memory type range registers (MTRRS) used to map processor-associated memory
US8537624B2 (en) Semiconductor memory device and method of operating the same
KR20230043619A (ko) 내부 프로세싱 동작에 대한 타이밍 파라미터들 및 전력 소모를 줄이는 메모리 장치 및 이를 구현하는 방법
KR20040029536A (ko) 네트워크 상 높은 버스 효율을 갖는 메모리 장치 및 그동작 방법, 그리고 이를 포함하는 메모리 시스템
US11163638B2 (en) Memory device for swapping data and operating method thereof
EP2434409B1 (en) Processor and method thereof
US20230236732A1 (en) Memory device