KR20220048035A - 메모리 내 작업 - Google Patents
메모리 내 작업 Download PDFInfo
- Publication number
- KR20220048035A KR20220048035A KR1020227009639A KR20227009639A KR20220048035A KR 20220048035 A KR20220048035 A KR 20220048035A KR 1020227009639 A KR1020227009639 A KR 1020227009639A KR 20227009639 A KR20227009639 A KR 20227009639A KR 20220048035 A KR20220048035 A KR 20220048035A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- data value
- sense
- data values
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40607—Refresh operations in memory devices with an internal cache or data buffer
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2209—Concurrent read and write
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Read Only Memory (AREA)
Abstract
본 개시 내용은 메모리 내에서 작업을 수행하는 것과 관련될 수 있다. 메모리가 다른 작업을 수행하는 동안 백그라운드에서 작업이 수행될 수 있다. 예를 들어, 메모리 디바이스가 데이터를 읽는 동안 메모리 디바이스에 의해 비교 작업이 수행될 수 있다. 비교 작업의 결과가 메모리 디바이스의 레지스터에 저장될 수 있다. 레지스터는 메모리 디바이스에 의해 외부에서 액세스 가능해질 수 있다.
Description
본 개시 내용은 일반적으로 메모리와 관련되며, 더 구체적으로, 메모리 내에서 작업을 구현하는 것과 연관된 장치 및 방법과 관련된다.
메모리 디바이스는 일반적으로 컴퓨터 또는 그 밖의 다른 전자 디바이스의 내부, 반도체, 집적 회로로서 제공된다. 여러 다른 유형의 메모리, 가령, 휘발성 및 비휘발성 메모리가 존재한다. 휘발성 메모리는 이의 데이터를 유지하기 위해 전력을 필요로 할 수 있으며 랜덤-액세스 메모리(RAM: random-access memory), 동적 랜덤 액세스 메모리(DRAM: dynamic random access memory), 및 동기식 동적 랜덤 액세스 메모리(SDRAM: synchronous dynamic random access memory) 등을 포함한다. 비휘발성 메모리는 전력이 공급되지 않을 때 저장된 데이터를 보유함으로써 영속 데이터를 제공할 수 있으며 예시로서 NAND 플래시 메모리, NOR 플래시 메모리, 리드 온리 메모리(ROM: read only memory), 전기 소거 가능 프로그램 가능 ROM(EEPROM: Electrically Erasable Programmable ROM), 소거 가능 프로그램 가능 ROM(EPROM: Erasable Programmable ROM), 및 저항 가변 메모리, 가령, 상 변화 랜덤 액세스 메모리(PCRAM: phase change random access memory), 저항 랜덤 액세스 메모리(RRAM: resistive random access memory), 및 자기저항 랜덤 액세스 메모리(MRAM: magnetoresistive random access memory) 등을 포함할 수 있다.
메모리는 다양한 전자 응용분야, 비제한적 예를 들면, 개인 컴퓨터, 휴대용 메모리 스틱, 디지털 카메라, 셀룰러 전화기, 휴대용 음악 플레이어, 가령, MP3 플레이어, 영화 플레이어 및 그 밖의 다른 전자 디바이스에서 휘발성 및 비휘발성 데이터 저장소로서 사용될 수 있다. 메모리 셀은 어레이로 배열될 수 있으며, 이때 어레이는 메모리 디바이스에서 사용된다.
다양한 컴퓨팅 시스템이 명령의 세트(가령, 프로그램, 애플리케이션 등)를 실행하는 것과 관련하여 액세스되는 메모리(가령, 메모리 시스템)에 결합된 다수의 처리 자원을 포함한다. 처리 자원은 다수의 작업을 수행하기 위한 명령을 실행할 수 있다. 예를 들어, 처리 자원은 데이터베이스를 실행하여 데이터를 저장하고 데이터를 검색할 수 있다.
도 1은 본 개시 내용의 다수의 실시예에 따르는 메모리 디바이스를 포함하는 컴퓨팅 시스템의 형태를 한 장치의 블록도이다.
도 2는 본 개시 내용의 다수의 실시예에 따르는 레지스터를 포함하는 메모리 디바이스의 형태로 된 장치의 블록도이다.
도 3은 본 개시 내용의 다수의 실시예에 따르는 감지 회로의 블록도이다.
도 4는 본 개시 내용의 다수의 실시예에 따르는 메모리 내 작업을 수행하기 위한 방법의 예시적 흐름도를 도시한다.
도 5는 본 명세서에서 언급된 다양한 방법들을 기계가 수행하게 하기 위한 명령의 세트가 실행될 수 있는 컴퓨터 시스템의 예시적인 기계를 도시한다.
도 2는 본 개시 내용의 다수의 실시예에 따르는 레지스터를 포함하는 메모리 디바이스의 형태로 된 장치의 블록도이다.
도 3은 본 개시 내용의 다수의 실시예에 따르는 감지 회로의 블록도이다.
도 4는 본 개시 내용의 다수의 실시예에 따르는 메모리 내 작업을 수행하기 위한 방법의 예시적 흐름도를 도시한다.
도 5는 본 명세서에서 언급된 다양한 방법들을 기계가 수행하게 하기 위한 명령의 세트가 실행될 수 있는 컴퓨터 시스템의 예시적인 기계를 도시한다.
본 개시 내용은 메모리 내에서 작업을 수행하는 것과 관련된 장치 및 방법을 포함한다. 일부 예에서, 메모리가 상이한 작업, 가령, 리프레시 작업, 읽기 작업, 및/또는 쓰기 작업, 그 밖의 다른 작업을 수행하는 동안 작업이 메모리 내에서 수행될 수 있다. 메모리가 타 작업을 수행하는 동안의 작업 수행이 메모리 내에서의 백그라운드 작업 수행이라고 지칭될 수 있다.
백그라운드 작업을 수행하는 것은 작업을 수행하기 위해 감지 회로에 래칭되는 데이터를 이용하기 때문에 메모리 내 백그라운드 작업을 수행하는 것은 (가령, 백그라운드에서가 아니라) 메모리 내에서 동일 작업을 수행하는 것보다 더 효율적일 수 있다. 예를 들어, 데이터 라인(가령, DQ)을 통해 데이터를 제공하기 전에 메모리 어레이로부터 읽힌 데이터가 감지 회로에 래칭(latch)될 수 있다. 데이터가 감지 회로에 래칭되는 동안, 또한 작업을 수행하기 위해 데이터가 사용될 수 있다. 따라서, 감지 회로에 저장된 데이터는 메모리 내에서 백그라운드 작업을 수행하는 것을 포함할 수 있는 다수의 목적으로 사용될 수 있다. 용어 "백그라운드 작업(background operation)"은 수행될 수 있는 작업의 유형을 한정하려는 의도를 갖지 않고, 임의의 유형의 작업의 수행을 그 밖의 다른 임의의 유형의 작업과 함께 수행하는 것을 기재한다.
백그라운드 작업의 수행의 결과가 메모리 디바이스의 레지스터에 저장될 수 있다. 레지스터는 백그라운드 작업의 결과를 보고하기 위해 이용 가능해 질 수 있다. 결과를 사용할 수 있게 하는 것은 백그라운드 작업에 대한 결과가 저장되고 상이한 때에 액세스될 수 있게 된다면 DQ를 통해 결과를 제공함으로써 작업을 수행하라는 커맨드에 응답하는 것과 다를 수 있다. 예를 들어, 읽기 작업은 읽기 작업을 완료하는 것에 응답하여 액세스된 데이터를 제공할 수 있는 반면, 결과가 메모리 디바이스에 저장되고 결과가 메모리 디바이스로부터 어느 때든 불러와질 수 있다는 가정 하에 백그라운드 작업은 백그라운드 작업의 완료에 무관하게 결과를 제공할 수 있다.
도 1은 본 개시 내용의 다수의 실시예에 따르는 메모리 디바이스(103)를 포함하는 컴퓨팅 시스템(100)의 형태를 한 장치의 블록도이다. 본 명세서에서 사용될 때, 예를 들어, 메모리 디바이스(103), 메모리 어레이(110) 및/또는 호스트(102)는 개별적으로 "장치"라고 간주될 수도 있다.
이 예에서, 컴퓨팅 시스템(100)은 인터페이스(104)를 통해 메모리 디바이스(103)에 결합된 호스트(102)를 포함한다. 컴퓨팅 시스템(100)은 개인 랩톱 컴퓨터, 데스크톱 컴퓨터, 디지털 카메라, 모바일 전화기, 메모리 카드 리더, 또는 사물 인터넷(IoT) 가능 디바이스, 그 밖의 다른 다양한 유형의 시스템일 수 있다. 호스트(102)는 메모리(103)를 액세스할 수 있는 다수의 처리 자원(가령, 하나 이상의 프로세서, 마이크로프로세서, 또는 그 밖의 다른 일부 유형의 제어 회로)를 포함할 수 있다 시스템(100)은 개별 집적 회로를 포함할 수 있거나 호스트(102)와 메모리 디바이스(103) 모두 동일한 집적 회로 상에 있을 수 있다. 예를 들어, 호스트(102)는 복수의 메모리 디바이스(103)를 포함하는 메모리 시스템의 시스템 제어기일 수 있으며, 이때 시스템 제어기(102)는 또 다른 처리 자원, 가령, 중앙 처리 장치(CPU)에 의해 각자의 메모리 디바이스(103)로의 액세스를 제공한다. 호스트(102)는 또한 AI 처리를 위해 구성된 AI 칩일 수 있다.
도 1에 도시된 예시에서, 호스트(102)는 (가령, 메모리 디바이스(103)로부터 제어 회로(105)를 통해) 여기에 로딩될 수 있는 운영 체제(OS) 및/또는 다양한 애플리케이션을 실행할 수 있다. OS 및/또는 다양한 애플리케이션을 포함하는 데이터를 액세스하기 위해 호스트(102)로부터의 액세스 커맨드를 메모리 디바이스(103)로 제공함으로써 OS 및/또는 다양한 애플리케이션이 메모리 디바이스(103)로부터 로딩될 수 있다. 호스트(102)는 OS 및/또는 다양한 애플리케이션의 실행에서 사용되는 데이터를 불러오기 위해 메모리 디바이스(103)로 액세스 커맨드를 제공함으로써 OS 및/또는 다양한 애플리케이션에 의해 사용되는 데이터를 액세스할 수 있다.
명료성을 위해, 시스템(100)은 본 개시 내용과 특정 관련성을 갖는 특징부에 집중하도록 단순화되었다. 메모리 어레이(110)는 DRAM 어레이, SRAM 어레이, STT RAM 어레이, PCRAM 어레이, TRAM 어레이, RRAM 어레이, NAND 플래시 어레이, 및/또는 NOR 플래시 어레이를 포함할 수 있다. 어레이(110)는 액세스 라인(본 명세서에서 워드 라인 또는 선택 라인으로 지칭될 수 있음)에 의해 결합된 행 및 감지 라인(본 명세서에서 디지트 라인 또는 데이터 라인으로 지칭될 수 있음)에 의해 결합된 열로 배열된 메모리 셀을 포함할 수 있다. 단일 어레이(110)가 도 1에 도시되어 있지만, 실시예는 이에 한정되지 않는다. 예를 들어, 메모리 디바이스(103)는 다수의 어레이(110)(가령, 다수의 DRAM 셀 뱅크)를 포함할 수 있다.
메모리 디바이스(103)는 인터페이스(104)를 통해 제공되는 주소 신호를 래칭하도록 주소 회로(106)를 포함한다. 인터페이스는, 가령, 적절한 프로토콜을 채용하는 물리 인터페이스(가령, 데이터 버스, 주소 버스, 및 커맨드 버스, 또는 조합된 데이터/주소/커맨드 버스)를 포함할 수 있다. 이러한 프로토콜은 커스텀 또는 사설일 수 있거나, 인터페이스(104)는 표준 프로토콜, 가령, PCIe(Peripheral Component Interconnect Express), Gen-Z, CCIX 등을 채용할 수 있다. 주소 신호는 행 디코더(108) 및 열 디코더(112)에 의해 수신되고 디코딩되어 메모리 어레이(110)를 액세스할 수 있다. 감지 회로(111)를 이용해 감지 라인 상의 전압 및/또는 전류 변화를 감지함으로써 데이터가 메모리 어레이(110)로부터 읽힐 수 있다. 감지 회로(111)는 예를 들어 메모리 어레이(110)로부터 데이터의 페이지(가령, 행)를 읽고 래칭할 수 있는 감지 증폭기를 포함할 수 있다. I/O 회로(107)는 인터페이스(104)를 통해 호스트(102)와의 양방향 데이터 통신을 위해 사용될 수 있다. 읽기/쓰기 회로(113)는 메모리 어레이(110)로 데이터를 쓰거나 메모리 어레이(110)로부터 데이터를 읽도록 사용된다. 예를 들어, 회로(113)는 다양한 드라이버, 래치 회로 등을 포함할 수 있다.
제어 회로(105)는 호스트(102)에 의해 제공되는 신호를 디코딩한다. 신호는 호스트(102)에 의해 제공되는 커맨드일 수 있다. 이들 신호는 메모리 어레이(110) 상에서 수행되는 연산, 가령, 데이터 읽기 연산, 데이터 쓰기 연산, 및 데이터 소거 연산을 제어하도록 사용되는 칩 활성화 신호, 쓰기 활성화 신호, 및 주소 래치 신호를 포함할 수 있다. 다양한 실시예에서, 제어 회로(105)는 호스트(102)로부터의 명령을 실행할 수 있다. 제어 회로(105)는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이 셋의 임의의 조합의 형태로 구현될 수 있는 상태 머신, 시퀀서, 및/또는 그 밖의 다른 일부 유형의 제어 회로를 포함할 수 있다. 일부 예에서, 호스트(102)는 메모리 디바이스(103) 외부의 제어기일 수 있다. 예를 들어, 호스트(102)는 컴퓨팅 디바이스의 처리 자원에 결합된 메모리 제어기일 수 있다. 데이터가 데이터 라인(116)을 통해 메모리 어레이(110)로 및/또는 메모리 어레이로부터 제공될 수 있다.
감지 회로(111)는 작업을 수행하도록 구성될 수 있다. 예를 들어, 감지 회로(111)는 제1 데이터 값으로부터의 비트를 제2 데이터 값으로부터의 비트와 비교하도록 구성될 수 있다. 복수의 감지 라인 및 선택 라인에 연결된 메모리 셀은 메모리 어레이의 행으로 지칭될 수 있는 비트를 저장할 수 있다. 메모리 어레이의 행을 포함하는 비트는 메모리 어레이의 행이 복수의 데이터 값으로 구성될 수 있도록 세분될 수 있다. 예를 들어, 메모리 어레이의 행은 복수의 데이터 값으로 구성될 수 있으며, 여기서 각각의 데이터 값은 8 비트를 포함한다. 각각의 데이터 값은 비트-벡터라고도 지칭될 수 있다. 데이터 값은 8 비트를 포함하는 비트-벡터로 설명되지만, 데이터 값은 본 명세서에 기재된 것보다 많거나 적은 비트로 구성될 수 있다.
감지 회로(111)는 백그라운드 작업을 수행하도록 구성될 수 있다. 예를 들어, 감지 회로(111)는 대응하는 메모리 셀에 저장된 데이터 값을 리프레시하면서 데이터 값을 비교할 수 있다.
감지 회로(111)는 감지 회로에 의해 수행된 작업의 결과를 레지스터에 저장할 수 있다. 레지스터는 예를 들어 다목적 레지스터(MPR) 및/또는 정적 RAM(SRAM)을 포함할 수 있다. 레지스터는 DDR 인터페이스, 가령, 인터페이스(104)를 통해 호스트(102)에 의해 액세스될 수 있다. 본 명세서에 기재된 예는 레지스터를 MPR 및/또는 SRAM으로 제공하지만, 레지스터는 휘발성 및 비휘발성 메모리를 포함하는 다른 유형의 메모리를 포함할 수 있다.
작업이 감지 회로(111)에 의해 수행되는 것으로 도시되어 있지만, 작업은 어레이 "아래(under)" 구현된 처리 자원에서 아날로그 방식으로 또는 디지털 방식으로 수행될 수도 있다. 아날로그 방식으로 작업을 수행하는 것은 메모리 어레이(210)의 다중 행을 활성화하고 감지된 전압이 임계값(예를 들어, Vdd/2) 또는 0과 실질적으로 동일한지 여부를 결정하는 것을 포함할 수 있다. 감지된 전압이 예상 전압에서 벗어나면, 행에 연결된 메모리 셀에 의해 저장된 값은 실질적으로 동일하지 않다. 감지된 전압이 예상 전압에서 벗어나지 않으면, 메모리 셀에 의해 저장된 값은 실질적으로 동일하다.
처리 자원은 메모리 어레이(110) 아래의 CMOS(complementary metal-oxide-semiconductor)로서 구성될 수 있다. 처리 자원(가령, CMOS 언더 어레이)은 예를 들어, 메모리 어레이(110)에 저장된 데이터 값을 이용해 다양한 기능을 수행하도록 구성된 다수의 로직 블록을 포함할 수 있다. 처리 자원은 감지 증폭기(111) 및/또는 데이터 라인에 더 연결되어, 처리 자원이 데이터를 감지 증폭기(111) 및/또는 메모리 어레이(110)를 I/O 회로(107)로 연결하는 데이터 라인으로 제공할 수 있다. 처리 자원(가령, CMOS 언더 어레이)이 감지 회로 및/또는 어레이 또는 메모리 셀을 포함하는 층과 상이한 메모리 어레이(110)의 층에 존재하는 것으로 기재될 수 있다. 처리 자원은 대응하는 메모리 셀에 저장된 데이터 값을 리프레시하면서 데이터 값을 비교하기 위해 백그라운드 작업을 수행하도록 구성될 수 있다.
도 2는 본 개시내용의 다수의 실시예에 따른 레지스터(222)를 포함하는 메모리 디바이스(203) 형태를 한 장치의 블록도이다. 메모리 디바이스(203)는 메모리 어레이(210), 메모리 어레이(210)에 연결된 행 디코더(208), 및 메모리 어레이(210)에도 연결된 열 디코더(212)를 포함한다. 메모리 디바이스(203)는 또한 메모리 어레이(210)에 연결된 감지 회로(211) 및 열 디코더(212)를 포함한다. 메모리 디바이스(203)는 SRAM(222)으로 나타난 레지스터(222)를 더 포함한다. 메모리 디바이스(203)는 또한 인터페이스(204-1, 204-2 및 204-3)를 포함한다.
인터페이스(204-1)는 커맨드 인터페이스일 수 있다. 인터페이스(204-2)는 주소 인터페이스일 수 있다. 인터페이스(204-3)는 데이터 인터페이스일 수 있다. 인터페이스(204-1)는 백그라운드 작업 커맨드를 수신할 수 있다. 예를 들어, 백그라운드 작업 커맨드는 호스트로부터 수신될 수 있다. 데이터 인터페이스(204-3)는 백그라운드 작업 커맨드에 대응하는 데이터를 수신할 수 있다.
예를 들어, 커맨드 인터페이스(204-1)를 통해 수신된 백그라운드 작업 커맨드가 메모리 어레이(210)에 저장된 데이터의 검색을 요청하는 커맨드인 경우, 데이터 인터페이스(204-3)를 통해 제공되는 데이터는 검색 중인 데이터일 수 있다. 검색되는 데이터는 SRAM(222)에 제공될 수 있다. 검색되는 데이터는 SRAM(222)에 저장될 수 있다. 데이터는 또한 감지 회로(211)에 저장될 수 있다.
일부 예에서, 커맨드 인터페이스(204-1)를 통해 수신된 커맨드는 다수의 선호도 중에서 선택할 수 있다. 예를 들어, 백그라운드 커맨드는 쓰기 작업, 읽기 작업, 및/또는 리프레시 작업 동안 백그라운드 커맨드가 수행되어야 하는지 여부에 대한 선택을 포함할 수 있다.
도 2의 예는 리프레시 작업과 동시에 백그라운드 커맨드를 수행하는 것을 설명한다. 리프레시 작업을 수행하는 것은 메모리 어레이(210)의 메모리 셀들로부터 데이터의 행을 읽는 것과 감지 회로(211)에 데이터의 행을 저장하는 것을 포함할 수 있다. 그런 다음, 데이터의 행은 메모리 셀에 다시 저장될 수 있다. 메모리 셀을 리프레시하는 것이 예를 들어 DRAM 리프레시 작업에서 수행될 때 전하 누출로 인한 데이터 손실 및/또는 데이터 손상을 방지할 수 있다.
리프레시 작업은 읽기 또는 쓰기 작업이 재개된 메모리 셀의 하나 이상의 행을 리프레시하는 것을 포함할 수 있다. 예를 들어, 제1 지속시간 동안, 메모리 셀의 제1 행이 리프레시될 수 있다. 제2 지속시간 동안, 메모리 셀의 제2 행이 읽힐 수 있다. 제3 지속시간 동안, 메모리 셀의 제3 행이 또한 리프레시될 수 있다.
백그라운드 작업을 수행하는 것은 메모리 셀의 리프레시, 메모리 셀의 읽기, 및/또는 메모리 셀의 쓰기와 동시에 데이터를 검색하는 것을 포함할 수 있다. 메모리 어레이(210)는 메모리 어레이로부터 읽힌 데이터가 감지 회로(211)에 저장될 때 및/또는 데이터가 메모리 어레이(210)에 저장될 때 검색될 수 있다.
백그라운드 작업을 수행하는 것은 행 주소, 열 주소, 데이터, 및/또는 비교 작업의 결과를 SRAM(222)에 제공하는 것을 포함할 수 있다. SRAM(222)은 행 디코더(208)로부터 행 주소를 수신할 수 있다. SRAM(222)은 열 디코더(212)로부터 열 주소를 수신할 수 있다. SRAM(222)은 데이터 인터페이스(204-5)로부터 검색 데이터를 수신할 수 있다. 본 명세서에서 사용될 때, "검색 데이터"라는 용어는 검색되는 데이터를 기술한다. 예를 들어, 검색 데이터는 검색 중인 데이터를 제공할 수 있다. SRAM(222)은 감지 회로(211)로부터 검색의 결과를 수신할 수 있다.
일부 예에서, 감지 회로(211)는 검색 데이터를 메모리 어레이(210)로부터 읽힌 데이터와 비교할 수 있다. 검색 데이터 및 메모리 어레이(210)로부터 읽힌 데이터는 감지 회로(211)에 저장될 수 있다.
검색 데이터를 메모리 어레이(210)로부터 읽힌 데이터와 비교한 것에 응답하여, 감지 회로(211)는 행 주소, 열 주소, 및/또는 검색 데이터를 래칭하기 위해 SRAM에 신호를 제공할 수 있다. 감지 회로(211)는 또한 검색 데이터와 메모리 셀로부터 읽힌 데이터 간의 매칭과 연관된 열의 지시자를 열 디코더(212)로 제공할 수 있다. 열 디코더(212)는 감지 회로(211)에 의해 제공되는 열 정보를 인코딩 또는 디코딩하여, 검색 데이터와 메모리 어레이(210)로부터 읽힌 데이터 간 매칭과 연관된 열에 대응하는 열 주소를 생성할 수 있다. 매칭이 식별되지 않으면, 감지 회로(211)가 열의 지시자를 열 제어기로 제공하지 못하게 막아질 수 있다.
행 디코더(208)는 행 주소의 지시자를 SRAM(222)에 제공할 수 있다. 감지 회로(211)에서 데이터를 래치하기 위해 메모리 어레이(210)로부터 데이터를 읽는 것이 대응하는 행 주소를 이용해 데이터를 액세스하는 것을 포함하기 때문에, 행 디코더(208)는 행 주소의 지시자를 제공할 수 있다. 행 디코더(208)는 매칭이 감지 회로(211)에 의해 식별되는지 여부에 관계없이 행 주소를 SRAM(222)에 제공할 수 있다. 행 주소, 열 주소 및/또는 검색 데이터 캔을 SRAM(222)에 제공하는 것은 SRAM(222)에 행 주소, 열 주소, 및/또는 검색 데이터를 저장하는 것을 포함하지 않는다. SRAM(222)은 매칭이 식별되었음을 나타내는 감지 회로(211)로부터의 신호를 수신한 것에 응답하여 제공되는 데이터(가령, 행 주소, 열 주소, 및/또는 검색 데이터)를 저장할 수 있다. 매칭 없음이 나타나는 경우, SRAM(222)에 제공된 행 주소, 열 주소 및/또는 검색 데이터가 SRAM(222)에 의해 저장되지 않을 수 있다.
일부 예에서, 감지 회로(211)는 검색 데이터와 메모리 어레이(210)로부터 읽힌 데이터 간 다중 매칭을 식별할 수 있다. 감지 회로(211)는 다중 매치가 식별되었음을 나타내는 다중 신호를 SRAM(222)에 제공할 수 있다. SRAM(222)은 매칭을 기록하기 위해 검색 데이터와 함께 다중 행 주소 및/또는 열 주소를 래칭/저장할 수 있다. 예를 들어, SRAM(222)은 각각의 엔트리가 검색 데이터, 열 주소, 및/또는 행 주소를 포함하는 다중 엔트리를 저장할 수 있다. SRAM(222)은 또한 검색 데이터, 복수의 열 주소, 및 복수의 행 주소를 저장할 수 있으며, 여기서 복수의 열 주소 및 복수의 행 주소는 매칭을 정의하는 열/행 주소 쌍을 포함할 수 있다. 본 명세서에 기재된 예시가 행 주소 및 열 주소를 이용해 매칭을 식별하지만, 행 주소 또는 열 주소를 이용해 매칭이 식별될 수도 있다.
일부 실시예에서, 검색 작업을 포함하는 백그라운드 작업은 간헐적으로 수행될 수 있다. 예를 들어, 리프레시 작업과 동시에 수행되는 백그라운드 작업은 리프레시 작업 동안 수행되도록 제한될 수 있고, 읽기, 쓰기 또는 소거 작업 중에는 수행되지 않을 수 있다. 메모리 어레이(210)가 주어진 시간에 완전히 리프레시되지 않고 읽기 작업, 쓰기 작업, 및/또는 소거 작업에 간헐적으로 리프레시될 수 있다는 점을 가정할 때, 백그라운드 작업은 또한 읽기 작업, 쓰기 작업 및/또는 또는 소거 작업에 간헐적으로 수행될 수 있다.
리프레시 작업과 동시에 수행되는 백그라운드 작업은 전체적(exhaustive)일 수 있다. 즉, 전체 메모리 어레이(210)가 시간이 지남에 따라 리프레시된다는 점에서 전체 메모리 어레이(210)가 검색될 수 있다. 일부 예에서, 메모리 어레이(210)는 데이터를 저장하는 메모리 어레이(210)의 부분들을 리프레시함으로써 검색될 수 있다. 그러나, 읽기 작업, 쓰기 작업, 및/또는 소거 작업과 동시에 수행되는 백그라운드 작업은 전체 메모리 어레이(210)가 일정 시간 동안 쓰기, 읽기 또는 소거되지 않을 수 있다는 점에서 전체적(exhaustive)이 아닐 수 있다. 이와 같이, 제어 회로에 의해 수신된 백그라운드 작업은 백그라운드 작업이 수행되는 시간 제한을 기술할 수 있다.
메모리 디바이스(203)는 다중 백그라운드 작업을 동시에 처리할 수 있다. 예를 들어, 메모리 디바이스(203)는 읽기 작업과 동시에 수행되는 제1 백그라운드 작업 및 리프레시 작업과 동시에 수행되는 제2 백그라운드 작업을 처리할 수 있다. 메모리 디바이스(203)는 백그라운드 작업이 수행되는 시간에 다중 커맨드를 수신 및/또는 처리할 수 있다. 백그라운드 작업의 특성과 백그라운드 작업의 결과를 사용할 수 있는 시간을 결정할 때의 불확실성을 감안하면, SRAM(222)이 사용되어, 결과를 포함하는 응답을 메모리 디바이스(203)와 호스트 간에 동기화시키지 않고, 호스트가 백그라운드 작업의 결과를 액세스할 수 있다.
도 3은 본 개시 내용의 다수의 실시예에 따른 감지 회로(311)의 블록도이다. 감지 회로(311)는 SRAM(322)에 연결된 것으로 도시되어 있다. 감지 회로(311)는 행 버퍼(333) 및 비교기(332-1, 332-2, ..., 332-N)를 포함한다. 감지 회로(311)는 또한 검색 데이터(331)를 저장하도록 구성된 회로를 포함한다.
행 버퍼(333)는 메모리 어레이로부터 읽힌 데이터의 행을 래칭/저장하도록 구성된 회로를 포함할 수 있다. 데이터의 행은 데이터 값(334)으로 지칭되는 복수의 데이터 값(334-1, 334-2, ..., 및 334-N)을 기술하기 위해 세분될 수 있는 복수의 비트를 포함할 수 있다. 각각의 데이터 값(334)은 5 비트를 포함할 수 있다. 다양한 실시예에서, 데이터 값은 5 초과 또는 미만의 비트를 포함할 수 있다. 예를 들어, 데이터 값은 데이터 값을 포함할 수 있는 8, 16, 32 비트, 또는 그 밖의 다른 비트량을 포함할 수 있다.
다수의 예에서, 검색 데이터(331)는 각각의 데이터 값과 동일한 양의 비트를 포함할 수 있다. 또 다른 예에서, 검색 데이터(331)는 데이터 값(334)보다 적은 비트 또는 데이터 값(334)보다 많은 비트를 포함할 수 있다. 감지 회로가 검색 데이터(331)의 단일 인스턴스를 저장하는 것으로 도시되어 있지만, 또 다른 예에서, 검색 데이터(331)의 다중 인스턴스가 감지 회로(311)에 저장될 수 있다. 예를 들어, 검색 데이터(331)의 인스턴스의 수량은 데이터 값(334) 및/또는 비교기(332)의 수량과 동일할 수 있다.
비교기(332)는 데이터 값(334)의 비트를 검색 데이터(331)의 비트와 비교하도록 구성된 회로를 포함할 수 있다. 데이터 값(334) 중 어느 하나의 비트가 검색 데이터(331)의 비트와 동일하거나, 이보다 크거나, 이보다 작은 경우, 비교기(332)가 대응하는 데이터 값과 검색 데이터(331) 간 매칭을 나타낼 수 있다. 감지 회로(311)는 매칭의 상기 지시자를 SRAM(322)로 제공할 수 있다.
일부 예에서, 비교기(332)는 또한 매칭의 이들의 지시자를 열 디코더(예를 들어, 도 2의 열 디코더(212))로 제공할 수 있다. 열 디코더는 매칭의 지시자를 열 주소로 변환하도록 구성될 수 있다. 지시자에서 열 주소로의 변환은 인코딩 또는 디코딩으로 기술될 수 있다. 이와 같이, 비교기(332)는 데이터 값(332)과 검색 데이터(331) 간 매칭을 식별하고 매칭에 대응하는 메모리 어레이의 열을 식별하도록 구성될 수 있다. 예를 들어, 비교기(332-1)가 매칭을 식별한 경우, 비교기(332-1)로부터의 지시자가 데이터 값(334-1)에 대응하는 감지 라인에 연결된 메모리 셀이 데이터 값(334-1)을 저장한다는 것을 식별할 수 있다. 감지 라인의 지시자는 상기 감지 라인에 대응하는 주소(들)로 변환될 수 있다.
도 4는 본 개시 내용의 다수의 실시예에 따르는 메모리 내 작업을 수행하기 위한 방법의 예시적 흐름도를 도시한다. (460)에서, 감지 회로, 메모리 어레이, 및 SRAM 캐시(cache)를 포함하는 메모리 디바이스의 감지 회로에 제1 데이터 값이 저장될 수 있다.
(462)에서, 제1 데이터 값은 감지 회로의 복수의 데이터 값과 비교될 수 있다. 데이터 값은 메모리 어레이의 선택 라인 및 복수의 감지 라인에 연결된 메모리 셀에 저장될 수 있다. 비교는 리프레시 작업 중에 수행될 수 있다. 제1 데이터 값이 감지 회로에 저장될 수 있다.
(464)에서, 비교의 결과는 메모리 디바이스의 SRAM 캐시에 써질 수 있다. SRAM 캐시는 호스트에 의해 액세스될 수 있는 레지스터(register)일 수 있다. (466)에서, 결과를 나타내는 데이터는 SRAM 캐시로부터 메모리 디바이스 외부의 타 디바이스로 읽힐 수 있다. 예를 들어 호스트에 대한 액세스가 제공될 수 있다.
복수의 데이터 값은 제1 데이터 값을 복수의 데이터 값과 비교하기 전에 감지 회로에서 래칭될 수 있다. 복수의 데이터 값이 이용되어 메모리 셀을 리프레시할 수 있다. 복수의 데이터 값은 메모리 셀을 리프레시하기 전에 래칭될 수 있다.
복수의 데이터 값은 메모리 어레이로부터의 데이터의 행일 수 있다. 예를 들어, 복수의 데이터 값은 동일한 선택 라인에 연결된 메모리 셀에 저장될 수 있다. 복수의 데이터 값을 저장하는 메모리 셀의 리프레시 작업을 수행하는 데 사용되는 동일한 클록 사이클 동안 제1 데이터 값을 복수의 데이터 값과 비교한 후, 제1 데이터 값이 상이한 복수의 데이터 값과 비교될 수 있다.
상이한 복수의 데이터 값이 메모리 어레이의 상이한 선택 라인 및 복수의 감지 라인에 연결된 상이한 메모리 셀에 저장되어, 상이한 복수의 데이터 값이 상이한 데이터 행을 구성할 수 있다. 비교는 제1 데이터 값을 복수의 데이터 값과 비교하는 데 이용되는 리프레시 사이클과 상이한 리프레시 사이클 동안 수행될 수 있다.
데이터 값 비교는 메모리 셀의 리프레시를 방해하지 않고 메모리 셀을 리프레시하는 데 사용되는 동일한 클록 사이클 동안 수행될 수 있다. 데이터 값의 비교와 메모리 셀의 리프레시는 동시에 수행되는 개별 작업일 수 있다. 예를 들어, 비교는 리프레시 작업을 수행하는 데 사용되는 것과 동일한 클록 사이클 동안 수행될 수 있다. 데이터 값이 메모리 셀을 리프레시하는 데 필요한 것보다 더 짧은 시간에 비교될 수 있기 때문에 데이터 값은 메모리 셀의 리프레시와 동시에 비교될 수 있다. 리프레시 사이클의 일부로서 데이터 값이 감지 회로에 저장되기 때문에 데이터 값이 리프레시 사이클 동안 비교될 수 있고 사용되어 비교를 수행할 수 있다.
비교의 결과는 제1 데이터 값과 복수의 데이터 값 간 다중 매칭을 포함할 수 있다. 예를 들어, 제1 데이터 값은 데이터 값의 행(가령, 복수의 데이터 값)으로부터의 둘 이상의 데이터 값에 매칭될 수 있다.
다양한 예에서, 메모리 어레이의 선택 라인 및 복수의 감지 라인에 연결된 메모리 셀에 저장된 데이터 값이 상이한 선택 라인 및 복수의 감지 라인에 연결된 메모리 어레이의 상이한 메모리 셀에 저장된 복수의 데이터 값과 비교될 수 있다. 데이터 값 및 복수의 데이터 값 모두는 메모리 어레이에 저장될 수 있다. 비교는 감지 회로에서 데이터 값과 복수의 데이터 값 모두를 래칭하지 않고 수행될 수 있다. 예를 들어, 비교는 감지 회로의 감지 증폭기의 다중 래치가 아니라 감지 회로의 감지 증폭기의 단일 래치를 사용하여 수행될 수 있다.
비교 작업의 결과에 대응하는 열 주소가 SRAM에 제공될 수 있다. SRAM에 신호가 제공되어 메모리 어레이의 열 주소, 행 주소, 비교 작업의 결과에 응답하는 데이터 값을 래치할 수도 있다. 열 주소는 열 디코더에 의해 제공될 수 있고 행 주소는 행 디코더에 의해 제공될 수 있다. 행 주소 및 열 주소는 데이터 값 또는 단순히 데이터를 포함할 수 있는 비트를 사용하여 나타낼 수 있다. 비트는 비트-벡터(bit-vector)라고도 지칭될 수 있다.
데이터 값을 복수의 데이터 값과 비교하는 것은 선택 라인 및 상이한 선택 라인을 동시에 활성화하는 것을 포함할 수 있다. 선택 라인 및 상이한 선택 라인을 동시에 활성화함으로써 데이터 값을 저장하는 메모리 셀과 복수의 데이터 값을 저장하는 메모리 셀이 동시에 활성화될 수 있다. 하나의 선택 라인에 연결된 메모리 셀 및 상이한 선택 라인에 결합된 메모리 셀을 활성화함으로써 상기 하나의 선택 라인에 연결된 메모리 셀에 저장된 제1 전하 및 상기 상이한 선택 라인에 연결된 메모리 셀에 저장된 제2 전하가 감지 회로에서 결합될 수 있다. 전하를 결합하는 것은 제1 메모리 셀에 저장된 제1 전하와 제2 메모리 셀에 저장된 제2 전하를 결합하는 것을 포함할 수 있다.
감지 회로는 선택 라인 및 상이한 선택 라인을 활성화하는 것에 응답하여 복수의 감지 라인을 통해 제공되는 복수의 전압을 래칭할 수 있다. 감지 회로는 래칭된 전압이 VDD 또는 0인 경우 매칭을 식별할 수 있다. 감지 회로는 래칭된 전압이 VDD 또는 0이 아닌 경우 매칭 없음을 식별할 수 있다. 예를 들어, 감지 회로는 래칭된 전압이 VDD/2인 경우 매칭 없음을 식별할 수 있다. 1 또는 0을 나타내는 전압이 예상되는 경우 1 또는 0을 나타내는 두 가지 상이한 전압을 결합해도 매칭 비트를 식별하는 예상 전압이 변경되지 않는다. 1을 나타내는 제1 전압과 0을 나타내는 제2 전압이 결합되면 감지 회로에 래칭된 전압이 예상되지 않을 것이다. 예상되지 않는 전압이 비트를 매칭되지 않는 것으로 식별할 수 있다. 메모리 셀에 저장된 비트 및/또는 데이터 값을 비교하는 것은 전압이 결합되고 비교를 수행하기 위해 감지 회로로 이동된다는 점에서 백그라운드 작업으로서 비교를 수행하는 것을 용이하게 하지 않을 수 있다. 전압 결합은 리프레시 작업, 읽기 작업, 및/또는 쓰기 작업이 동시에 수행되지 않을 수 있는 방식으로 감지 회로를 활용할 수 있다.
도 5는 본 명세서에서 언급된 다양한 방법들을 기계가 수행하게 하기 위한 명령의 세트가 실행될 수 있는 컴퓨터 시스템(540)의 예시적인 기계를 도시한다. 다양한 실시예에서, 컴퓨터 시스템(540)은 메모리 서브-시스템(가령, 도 1의 메모리 시스템(103))을 포함하거나 이에 결합되거나 이를 활용하는 시스템(가령, 도 1의 시스템(100))에 대응할 수 있거나 제어기(가령, 도 1의 제어기(105))의 동작을 수행하는 데 사용될 수 있다. 대안 실시예에서, 기계는 LAN, 인트라넷, 엑스트라넷 및/또는 인터넷 내 다른 기계에 연결(가령, 네트워킹)될 수 있다. 기계는 클라이언트-서버 네트워크 환경에서 서버 또는 클라이언트 기계로서, 피어-투-피어(또는 분산) 네트워크 환경에서 피어 기계로서, 또는 클라우드 컴퓨팅 인프라구조 또는 환경에서 서버 또는 클라이언트 기계로서 동작할 수 있다.
기계는 PC(personal computer), 태블릿 PC, STB(set-top box), PDA(Personal Digital Assistant), 휴대 전화기, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 기계가 취할 조치를 특정하는 명령의 세트를 (순차적으로 또는 그 밖의 다른 방식으로) 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계가 예시되어 있지만, "기계"라는 용어는 본 명세서에서 논의된 방법 중 임의의 하나 이상을 수행하기 위해 명령의 세트(또는 다수의 세트)를 개별적으로 또는 공동으로 실행하는 임의의 기계 집합을 포함하는 것으로 간주되어야 한다.
예시적인 컴퓨터 시스템(540)은 버스(530)를 통해 서로 통신하는 처리 디바이스(502), 메인 메모리(504)(가령, 리드-온리 메모리(ROM: read-only memory), 플래시 메모리, 동적 랜덤 액세스 메모리(DRAM: dynamic random access memory), 가령, 동기식 DRAM(SDRAM: synchronous DRAM), RDRAM(Rambus DRAM) 등), 정적 메모리(506)(가령, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM: static random access memory) 등), 및 데이터 스토리지 시스템(518)을 포함한다.
처리 디바이스(502)는 하나 이상의 범용 처리 디바이스, 가령, 마이크로프로세서, 중앙 처리 장치 등을 나타낸다. 더 구체적으로, 처리 디바이스는 복잡 명령 세트 컴퓨팅(CISC: complex instruction set computing) 마이크로프로세서, 축소 명령 세트 컴퓨팅(RISC: reduced instruction set computing) 마이크로프로세서, 매우 긴 명령 워드(VLIW: very long instruction word) 마이크로프로세서, 또는 다른 명령 세트를 구현하는 프로세서, 또는 명령 세트의 조합을 구현하는 프로세서일 수 있다. 처리 디바이스(502)는 또한 하나 이상의 특수 목적 처리 디바이스, 가령, 주문형 집적 회로(ASIC: application specific integrated circuit), 현장 프로그램 가능 게이트 어레이(FPGA: field programmable gate array), 디지털 신호 프로세서(DSP: digital signal processor), 네트워크 프로세서 등일 수 있다. 처리 디바이스(502)는 본 명세서에서 기재된 동작 및 단계를 수행하기 위한 명령(526)을 실행하도록 구성된다. 컴퓨터 시스템(540)은 네트워크(520)를 통해 통신하기 위해 네트워크 인터페이스 디바이스(508)를 더 포함할 수 있다.
데이터 저장 시스템(518)은 본 명세서에 기재된 방법 또는 기능 중 임의의 하나 이상을 구현하는 하나 이상의 명령(526)의 세트 또는 소프트웨어가 저장되는 기계 판독형 저장 매체(524)(컴퓨터 판독형 매체로서도 알려짐)를 포함할 수 있다. 명령(526)은 컴퓨터 시스템(540), 메인 메모리(504) 및 기계 판독형 저장 매체를 또한 구성하는 처리 디바이스(502)에 의한 실행 동안 메인 메모리(504) 내 및/또는 처리 디바이스(502) 내에 완전히 또는 적어도 부분적으로 위치할 수 있다.
하나의 실시예에서, 명령(526)은 도 1의 호스트(102) 및/또는 메모리 디바이스(103)에 대응하는 기능을 구현하기 위한 명령을 포함한다. 기계 판독형 저장 매체(524)가 실시예에서 단일 매체인 것으로 도시되어 있지만, "기계 판독형 저장 매체"라는 용어는 하나 이상의 명령 세트를 저장하는 단일 매체 또는 다수의 매체를 포함하는 것으로 간주되어야 한다. "기계 판독형 저장 매체"라는 용어는 기계에 의한 실행되기 위한 명령의 세트를 저장 또는 인코딩할 수 있고 기계로 하여금 본 개시 내용의 방법 중 임의의 하나 이상을 수행하게 하는 임의의 매체를 포함하는 것으로 여겨질 것이다. 따라서 "기계 판독형 저장 매체"라는 용어는 솔리드 스테이트 메모리, 광학 매체 및 자기 매체를 포함하지만 이에 제한되지는 않는다.
본 명세서에서 사용될 때, "다수의(a number of)" 무엇은 하나 이상의 이러한 것을 지칭할 수 있다. 가령, 다수의 메모리 디바이스는 하나 이상의 메모리 디바이스를 지칭할 수 있다. "복수(plurality)"의 무엇은 둘 이상의 무엇을 의도한다. 또한, 특히 도면에서 참조 번호와 관련하여 본 명세서에서 사용되는 지시자, 가령, "N"은 그렇게 지시된 다수의 특정 특징부가 본 개시 내용의 다수의 실시예에 포함될 수 있음을 나타낸다.
본 명세서의 도면은 첫 번째 숫자 또는 숫자들이 도면 번호에 대응하고 나머지 숫자가 도면의 요소 또는 구성요소를 식별하는 번호 지정 규칙을 따른다. 상이한 도면들 간 유사한 요소 또는 구성요소가 유사한 숫자의 사용으로 식별될 수 있다. 이해될 바와 같이, 본 명세서의 다양한 실시예에서 도시된 요소는 본 개시 내용의 다수의 추가 실시예를 제공하기 위해 추가, 교환 및/또는 제거될 수 있다. 또한, 도면에 제공된 요소의 비율 및 상대적 축척은 본 개시 내용의 다양한 실시예를 설명하기 위한 것이며 한정의 의미로 사용되도록 의도된 것이 아니다.
특정 실시예가 여기에 예시되고 설명되었지만, 당업자는 동일한 결과를 달성하도록 계산된 배열이 도시된 특정 실시예를 대체할 수 있음을 이해할 것이다. 본 개시 내용은 본 개시 내용의 다양한 실시예의 변형 또는 수정을 포함하도록 의도된다. 상기 기재는 한정이 아니라, 설명을 위한 것으로 이뤄졌음이 이해되어야 한다. 본 명세서에 특정하게 기재된 상기 실시예 및 그 밖의 다른 실시예의 조합이 상기 기재를 읽은 해당 분야의 통상의 기술자에게 자명할 것이다. 본 개시 내용의 다양한 실시예의 범위는 상기 구조 및 방법이 사용되는 다른 응용분야를 포함한다. 따라서, 본 개시 내용의 다양한 실시예의 범위는 이하의 청구 범위 및 이러한 청구범위에 수반되는 전체 등가물을 참조하여 결정되어야 한다.
상기의 상세한 설명에서, 다양한 특징은 개시 내용을 간소화하기 위한 목적으로 단일 실시예에서 함께 그룹 지어진다. 이 개시 방법은 본 개시 내용의 개시된 실시예가 각각의 청구항에서 명시적으로 언급된 것보다 더 많은 특징을 사용해야 한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 이하의 청구항이 반영하는 바와 같이, 발명의 주제는 하나의 개시된 실시예의 모든 특징보다 적다. 따라서, 이하의 청구 범위는 상세한 설명에 포함되며, 각각의 청구 범위는 개별 실시예로서 그 자체로 존재한다.
Claims (20)
- 장치로서,
감지 회로, 및
상기 감지 회로에 연결된 제어 회로를 포함하며, 상기 제어 회로는
감지 회로에서, 제1 데이터 값이 메모리 어레이의 메모리 셀에 저장된 복수의 데이터 값과 비교되게 하고 - 상기 비교는 백그라운드 작업으로서 수행됨 - ,
상기 비교의 결과가 레지스터에 써지도록 하며, 그리고,
상기 레지스터가 호스트에 의해 액세스될 수 있게 하도록 구성되는, 장치. - 제1항에 있어서, 제어 회로는 읽기 작업 또는 쓰기 작업의 수행 동안 제1 데이터 값이 비교되게 하도록 더 구성되며, 제1 데이터 값의 비교 및 읽기 작업 또는 쓰기 작업의 수행은 동시에 수행되는 개별 작업인, 장치.
- 제1항에 있어서, 제1 데이터 값은 감지 회로에 저장되는, 장치.
- 제1항에 있어서, 제1 데이터 값의 다중 인스턴스가 상기 감지 회로에 저장되고 상기 제어 회로는 상기 제1 데이터 값의 다중 인스턴스의 각각의 인스턴스를 복수의 데이터 값 중 상이한 데이터 값에 야기하도록 더 구성되는, 장치.
- 제1항에 있어서, 상기 레지스터는 정적 랜덤-액세스 메모리(SRAM)로 구성되는, 장치.
- 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 결과는 상기 제1 데이터 값을 저장하는 메모리 셀의 행 주소, 상기 제1 데이터 값을 저장하는 메모리 셀의 열 주소, 및 상기 제1 데이터 값을 포함하는, 장치.
- 제6항에 있어서, 상기 행 주소를 상기 레지스터로 제공하도록 구성된 행 제어기를 더 포함하는, 장치.
- 제6항에 있어서, 상기 열 주소를 상기 레지스터로 제공하도록 구성된 열 제어기를 더 포함하는, 장치.
- 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 감지 회로는 상기 결과를 상기 레지스터에 쓰기 위한 커맨드를 제공하도록 더 구성되는, 장치.
- 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 감지 회로는 메모리 어레이의 복수의 감지 라인으로부터, 상기 메모리 셀로부터의 메모리 셀의 부분에 저장된 제2 데이터 값에 대응하는 감지 라인의 부분을 식별하도록 더 구성되며, 제2 데이터 값은 제1 데이터 값과 매칭되는, 장치.
- 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 제어 회로는 감지 라인의 식별된 부분에 기초하여 열 주소가 생성되게 하도록 더 구성되는, 장치.
- 방법으로서,
감지 회로, 메모리 어레이, 및 정적-랜덤 액세스(SRAM) 캐시를 포함하는 메모리 디바이스의 감지 회로에 제1 데이터 값을 저장하는 단계,
리프레시 작업 동안 감지 회로에서, 상기 제1 데이터 값을 메모리 어레이의 선택 라인 및 복수의 감지 라인에 연결된 메모리 셀에 저장된 복수의 데이터 값과 비교하는 단계,
메모리 디바이스의 SRAM 캐시에 상기 비교의 결과를 나타내는 데이터를 쓰는 단계, 및
상기 SRAM 캐시로부터의 결과를 나타내는 데이터를 상기 메모리 디바이스 외부의 타 디바이스로 읽는 단계를 포함하는, 방법. - 제12항에 있어서,
래칭된 복수의 데이터 값을 이용하여 메모리 셀을 리프레시 하기 전에, 감지 회로에 복수의 데이터 값을 래칭하는 단계를 더 포함하는, 방법. - 제13항에 있어서, 제1 데이터 값을 복수의 데이터 값과 비교하기 위해 사용되는 리프레시 사이클과 상이한 리프레시 사이클 동안 감지 회로에서, 제1 데이터 값을 메모리 어레이의 상이한 선택 라인 및 복수의 감지 라인에 연결된 상이한 메모리 셀에 저장된 상이한 복수의 데이터 값과 비교하는 단계를 더 포함하는, 방법.
- 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 비교는 리프레시 작업과 동일한 클록 사이클 동안 수행되는, 방법.
- 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 결과는 제1 데이터 값과 복수의 데이터 값 간 다중 매칭을 포함하는, 방법.
- 장치로서,
특정 데이터 값 및 복수의 데이터 값을 저장하도록 구성된 메모리 어레이, 및
상기 메모리 어레이에 연결된 감지 회로를 포함하며, 상기 감지 회로는
메모리 어레이의 한 선택 라인 및 복수의 감지 라인에 연결된 메모리 셀에 저장된 특정 데이터 값을 상이한 선택 라인 및 복수의 감지 라인에 연결된 메모리 어레이의 상이한 메모리 셀에 저장된 복수의 데이터 값과 비교하고,
비교 작업의 결과에 대응하는 열 주소를 정적 랜덤-액세스 메모리(SRAM)에 제공하며,
신호를 SRAM에 제공하여, 열 주소를 포함하는 제1 데이터, 메모리 주소의 행 주소를 포함하는 제2 데이터, 및 비교 작업의 결과에 응답하는 특정 데이터 값을 저장하도록 구성되는, 장치. - 제17항에 있어서, 상기 감지 회로는 특정 데이터 값을 복수의 데이터 값과 비교하도록 상기 한 선택 라인 및 상기 상이한 선택 라인을 동시에 활성화하도록 더 구성되는, 장치.
- 제18항에 있어서, 상기 감지 회로는 상기 한 선택 라인 및 상기 상이한 선택 라인을 활성화하는 것에 응답하여 복수의 감지 라인을 통해 제공된 복수의 전하를 래칭하도록 더 구성되는, 장치.
- 제19항에 있어서, 상기 감지 회로는 래칭된 전압이 VDD 또는 0인 경우 상기 특정 데이터 값을 복수의 데이터 값과 비교하는 것에 응답하여 매칭을 식별하도록 더 구성되며 래칭된 전압이 VDD/2인 경우 매칭 없음을 식별하도록 더 구성되는, 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/553,313 US11152054B2 (en) | 2019-08-28 | 2019-08-28 | Apparatuses and methods for performing background operations in memory using sensing circuitry |
US16/553,313 | 2019-08-28 | ||
PCT/US2020/046959 WO2021041109A1 (en) | 2019-08-28 | 2020-08-19 | Operations in memory |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220048035A true KR20220048035A (ko) | 2022-04-19 |
Family
ID=74680541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227009639A KR20220048035A (ko) | 2019-08-28 | 2020-08-19 | 메모리 내 작업 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11152054B2 (ko) |
EP (1) | EP4022613A4 (ko) |
KR (1) | KR20220048035A (ko) |
CN (1) | CN114287031A (ko) |
WO (1) | WO2021041109A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11621052B1 (en) * | 2021-12-13 | 2023-04-04 | Nanya Technology Corporation | Method for testing memory device and test system |
US11705173B1 (en) | 2022-03-04 | 2023-07-18 | Micron Technology, Inc. | Address bits with reduced hamming distance |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5050095A (en) | 1988-05-31 | 1991-09-17 | Honeywell Inc. | Neural network auto-associative memory with two rules for varying the weights |
JP3260357B2 (ja) | 1990-01-24 | 2002-02-25 | 株式会社日立製作所 | 情報処理装置 |
US20010052062A1 (en) | 1994-03-01 | 2001-12-13 | G. Jack Lipovski | Parallel computer within dynamic random access memory |
US6421265B1 (en) * | 2001-03-22 | 2002-07-16 | Integrated Devices Technology, Inc. | DRAM-based CAM cell using 3T or 4T DRAM cells |
JP3860436B2 (ja) * | 2001-07-09 | 2006-12-20 | 富士通株式会社 | 半導体記憶装置 |
US7174354B2 (en) | 2002-07-31 | 2007-02-06 | Bea Systems, Inc. | System and method for garbage collection in a computer system, which uses reinforcement learning to adjust the allocation of memory space, calculate a reward, and use the reward to determine further actions to be taken on the memory space |
JP4237109B2 (ja) * | 2004-06-18 | 2009-03-11 | エルピーダメモリ株式会社 | 半導体記憶装置及びリフレッシュ周期制御方法 |
JP2006012357A (ja) * | 2004-06-29 | 2006-01-12 | Fujitsu Ltd | メモリ装置 |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
US7564721B2 (en) * | 2006-05-25 | 2009-07-21 | Micron Technology, Inc. | Method and apparatus for improving storage performance using a background erase |
US8429352B2 (en) | 2007-06-08 | 2013-04-23 | Sandisk Technologies Inc. | Method and system for memory block flushing |
US8638602B1 (en) | 2010-09-10 | 2014-01-28 | Western Digital Technologies, Inc. | Background selection of voltage reference values for performing memory read operations |
US9329990B2 (en) * | 2013-01-11 | 2016-05-03 | Micron Technology, Inc. | Host controlled enablement of automatic background operations in a memory device |
US8964496B2 (en) * | 2013-07-26 | 2015-02-24 | Micron Technology, Inc. | Apparatuses and methods for performing compare operations using sensing circuitry |
US9496023B2 (en) * | 2014-06-05 | 2016-11-15 | Micron Technology, Inc. | Comparison operations on logical representations of values in memory |
US9830999B2 (en) * | 2014-06-05 | 2017-11-28 | Micron Technology, Inc. | Comparison operations in memory |
KR102435027B1 (ko) * | 2015-11-09 | 2022-08-23 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 |
KR102435873B1 (ko) * | 2015-12-18 | 2022-08-25 | 삼성전자주식회사 | 스토리지 장치 및 그것의 리드 리클레임 방법 |
US10074416B2 (en) * | 2016-03-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for data movement |
US10468087B2 (en) * | 2016-07-28 | 2019-11-05 | Micron Technology, Inc. | Apparatuses and methods for operations in a self-refresh state |
US10147467B2 (en) * | 2017-04-17 | 2018-12-04 | Micron Technology, Inc. | Element value comparison in memory |
-
2019
- 2019-08-28 US US16/553,313 patent/US11152054B2/en active Active
-
2020
- 2020-08-19 WO PCT/US2020/046959 patent/WO2021041109A1/en unknown
- 2020-08-19 CN CN202080060444.8A patent/CN114287031A/zh active Pending
- 2020-08-19 KR KR1020227009639A patent/KR20220048035A/ko not_active Application Discontinuation
- 2020-08-19 EP EP20856400.5A patent/EP4022613A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4022613A1 (en) | 2022-07-06 |
EP4022613A4 (en) | 2023-07-26 |
CN114287031A (zh) | 2022-04-05 |
WO2021041109A1 (en) | 2021-03-04 |
US11152054B2 (en) | 2021-10-19 |
US20210065765A1 (en) | 2021-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8935467B2 (en) | Memory system, and a method of controlling an operation thereof | |
US10497451B2 (en) | Data transfer training method and data storage device performing the same | |
CN105808455B (zh) | 访问内存的方法、存储级内存及计算机*** | |
US11315647B2 (en) | Defect detection during program verify in a memory sub-system | |
US11282567B2 (en) | Sequential SLC read optimization | |
US20220284932A1 (en) | Conditional write back scheme for memory | |
KR20220048035A (ko) | 메모리 내 작업 | |
US20160253124A1 (en) | Nonvolatile memory device, operating method thereof, and data storage device including the same | |
US9588708B2 (en) | Semiconductor memory device, operating method thereof, and data storage device including the same | |
US11664079B2 (en) | Intervallic dynamic start voltage and program verify sampling in a memory sub-system | |
US20150124525A1 (en) | Semiconductor device and method for operating the same | |
US11670395B2 (en) | Peak power management self-check | |
US20200117391A1 (en) | Memory device and operating method thereof | |
US20200097213A1 (en) | Addressing in memory with a read identification (rid) number | |
KR102441459B1 (ko) | 신호 처리 회로 | |
US11842078B2 (en) | Asynchronous interrupt event handling in multi-plane memory devices | |
US11756612B2 (en) | All levels dynamic start voltage programming of a memory device in a memory sub-system | |
US11762577B2 (en) | Edge compute components under a memory array | |
CN110556138B (zh) | 半导体装置 | |
US20240029778A1 (en) | Bank selection for refreshing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal |