KR20220113850A - 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법 - Google Patents

콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법 Download PDF

Info

Publication number
KR20220113850A
KR20220113850A KR1020227027057A KR20227027057A KR20220113850A KR 20220113850 A KR20220113850 A KR 20220113850A KR 1020227027057 A KR1020227027057 A KR 1020227027057A KR 20227027057 A KR20227027057 A KR 20227027057A KR 20220113850 A KR20220113850 A KR 20220113850A
Authority
KR
South Korea
Prior art keywords
memory
pattern
memory device
content
write
Prior art date
Application number
KR1020227027057A
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 인텔 코포레이션
Publication of KR20220113850A publication Critical patent/KR20220113850A/ko

Links

Images

Classifications

    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0673Single storage device
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2263Write conditionally, e.g. only if new data and old data differ
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation

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)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Mram Or Spin Memory Techniques (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Semiconductor Memories (AREA)

Abstract

예들은 콘텐츠 패턴이 메모리 디바이스에 대한 메모리 셀들에 저장되게 하기 위한 기법들을 포함한다. 예시적인 기법들은 메모리 디바이스에 유지된 레지스터들로의 저장을 위해 메모리 디바이스에 콘텐츠 패턴을 포워딩하는 단계를 포함한다. 매칭하는 콘텐츠 패턴을 갖는 메모리 디바이스에 대한 기입 요청에 응답하여 콘텐츠 패턴이 메모리 디바이스에 대한 메모리 셀들의 적어도 일부에 저장되게 하기 위해 커맨드가 생성되고 메모리 디바이스에 포워딩된다.

Description

콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법{TECHNIQUES TO CAUSE A CONTENT PATTERN TO BE STORED TO MEMORY CELLS OF A MEMORY DEVICE}
관련 케이스
본 출원은 35 U.S.C. § 365(c)의 규정에 따라, “콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법(TECHNIQUES TO CAUSE A CONTENT PATTERN TO BE STORED TO MEMORY CELLS OF A MEMORY DEVICE)”이라는 명칭으로 2016년 9월 27일자로 출원된 미국 특허 출원 제15/277,159호의 우선권을 주장하며, 해당 출원은 또한 “콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법(TECHNIQUES TO CAUSE A CONTENT PATTERN TO BE STORED TO MEMORY CELLS OF A MEMORY DEVICE)”이라는 명칭으로 2016년 3월 4일자로 출원된 미국 가출원 제62/303,688호의 우선권을 주장한다. 이들 문헌의 전체 개시는 사실상 본 명세서에 인용에 의해 포함된다.
기술 분야
본 명세서에서 설명된 예들은 일반적으로 메모리 디바이스로의 기입 동작들을 위한 기법들에 관한 것이다.
일부 메모리 시스템들에서는, 메모리 디바이스의 메모리 셀에 저장될 데이터 콘텐츠에 대해 "킬러 패턴들(killer patterns)"이 식별될 수 있다. 이들 킬러 패턴은 데이터 버스 상에서 송신된 패턴이 전력 전달 또는 메모리 채널 특성으로 인해 최악의 여백(worst case margins)을 생성하는 조건을 야기할 수 있다. 이들 킬러 패턴은 데이터 버스를 통해 메모리 디바이스에 저장되는 다수의 연속적으로 반복되는 "1" 또는 "0"의 값들을 포함할 수 있는 반복 시퀀스들의 패턴들로 메모리 디바이스에 데이터를 저장하는 다양한 애플리케이션들로부터 유래할 수 있다. 패키지 공진이 발생할 수 있으며 이 패키지 공진이 잠재적으로 최악의 여백을 야기할 수 있다.
도 1은 예시적인 제1 메모리 디바이스를 예시한다.
도 2는 예시적인 제2 메모리 디바이스를 예시한다.
도 3은 예시적인 타이밍 다이어그램을 예시한다.
도 4는 예시적인 메모리 다이 이미지를 예시한다.
도 5는 예시적인 패턴 테이블을 예시한다.
도 6은 장치에 대한 예시적인 블록 다이어그램을 예시한다.
도 7은 로직 흐름의 예를 예시한다.
도 8은 저장 매체의 예를 예시한다.
도 9는 예시적인 컴퓨팅 플랫폼을 예시한다.
본 개시에서 고려되는 바와 같이, 킬러 패턴들은 데이터 버스를 통해 메모리 디바이스에 저장되는 다수의 연속적으로 반복되는 "1" 또는 "0"의 값들을 포함할 수 있는 반복 시퀀스들의 패턴들로 메모리 디바이스에 데이터를 저장하는 다양한 애플리케이션들로부터 유래할 수 있다. 일부 기존의 해결책들은 패키지 공진과 같은 부정적인 효과가 발생할 수 있는 가능성을 감소시키는 경향이 있는 스크램블링 기법들을 이용한다. 그러나, 내재적인 유휴 내지 활성 조건들(idle to active conditions)을 가질 수 있는 메모리 인터페이스에 대해서는 공통 패턴들이 여전히 문제가 될 수 있다. 예를 들어, 시스템이 유휴 또는 저전력 상태에 있을지라도, 애플리케이션은 다수의 연속적으로 반복되는 "1" 또는 "0"의 값들을 갖는 공통 패턴들을 포함하는 주기적 상태 업데이트들 또는 스누프들을 전송할 수 있다. 이들 내재적인 유휴 내지 활성 조건들에서 연속적으로 반복되는 "1" 또는 "0"의 값들에 대해서는 스크램블링 기법들이 효과적이지 않을 수 있다. 위에 언급된 그리고 다른 문제점들에 관련하여 본 명세서에서 설명된 예들이 필요하다.
도 1은 예시적인 메모리 디바이스(100)를 예시한다. 일부 예들에서, 메모리 디바이스(100)는 메모리 디바이스에 대해 2-차원 방식으로 조직된 메모리 비트 셀들의 어레이로서 생각될 수 있다. 정보에 액세스하기 위해, 어드레스 벡터가 메모리 디바이스에 주어질 수 있고 정보의 블록이 검색될 수 있다. 메모리 비트 셀들의 어레이는 도 1에서 뱅크들(120, 130, 140, 150)로서 도시되어 있는 다소 독립적인 뱅크들로 분할될 수 있다. 어드레스 벡터 내의 뱅크 어드레스 비트들은 뱅크들(120, 130, 140 또는 150) 중에서 뱅크를 선택하는 데 사용될 수 있다. 주어진 뱅크는 다수의 섹션으로 더 분할될 수 있다. 뱅크들 및 그것들의 각자의 섹션들에 대한 액세스는 제어 로직(110)을 포함할 수 있는 로직, 피처들 및/또는 회로 및 입력/출력(I/O) 로직(115), 열(col.) 디코더들(122, 132, 142, 152) 또는 행 디코더들(124, 134, 144, 154)과 같은 도 1에 도시된 다양한 다른 로직, 피처들 및/또는 회로에 의해 가능하게 될 수 있다.
일부 예들에서, 동일한 뱅크의 섹션들은 주변 로직, 피처들 및/또는 회로를 공유할 수 있다. 예를 들어, 뱅크(120)의 섹션0 및 섹션1은 I/O 로직(115), 열 디코더(122), 행 디코더(124) 및 로직(115)을 공유할 수 있다. 일부 예들에 따르면, 주어진 시간에 단지 하나의 섹션만이 활성으로 허용될 수 있다. 섹션은 서브-어레이라고 불리는 다수의 타일(도시되지 않음)로 더 분할될 수 있다. 어드레스 벡터 내의 뱅크 어드레스 비트들 이외의 어드레스 비트들은 행 어드레스 비트들 및 열 어드레스 비트들일 수 있다. 행 어드레스 비트들은 섹션을 선택하고 선택된 섹션 내의 행을 선택하는 데 사용될 수 있다. 섹션 내의 행은 한 행에 16K 내지 64K 비트(또는 2K 내지 8K 바이트)에 상당하는 것을 가질 수 있다. 행은, 일부 예들에서, 페이지 또는 메모리 페이지라고 불릴 수도 있다. 행 내의 각각의 비트는 비트 셀들에 유지된 콘텐츠에 액세스하는 데 사용될 수 있는 대응하는 감지 증폭기(앰프)를 가질 수 있다.
일부 예들에 따르면, 메모리 디바이스(100)는 동적 랜덤 액세스 메모리(DRAM)와 같은, 그러나 이에 제한되는 것은 아닌, 일종의 휘발성 메모리를 포함할 수 있다. 이들 예에 대해, DRAM 비트 셀들은 정보 또는 콘텐츠를 커패시터에 저장할 수 있다. 각각의 비트 셀에 대한 감지 앰프들이 위상들을 통해 감지될 수 있다. 먼저, 비트-라인(및 그의 보완물)이 특정 전압으로 프리-차지될 필요가 있다. 그 후 행 어드레스가 디코딩된 후에 행이 인에이블될 수 있다. 그 후 비트 셀에서의 전하(또는 전하의 결핍)가 비트-라인과 공유될 수 있고 그 결과 비트-라인과 그의 보완물 사이의 전압의 차이가 작아질 수 있다. 이때 감지 앰프가 인에이블되어 전압 차이를 증폭하여 비트 셀 내의 콘텐츠를 결정할 수 있다. 그 후 감지 앰프들에 저장된 데이터는 I/O 핀들(도시되지 않음)을 통해 메모리 디바이스(100) 밖으로 나가도록 열 어드레스 비트들로부터 디코딩된 열 어드레스를 사용하여 더 선택될 수 있다. 통상적으로, DRAM 디바이스는 데이터 I/O를 위해 4 내지 32개의 핀을 가질 수 있다. 위의 액션들은 커맨드에 의해 개시되고 메모리 디바이스(100)에 대해 위에서 언급된 로직, 피처들 및/또는 회로에 의해 수행될 수 있다.
일부 예들에서, DRAM 메모리를 포함하는 메모리 디바이스(100)는 DDR4(double data rate(DDR) 버전 4, JEDEC에 의해 2012년 9월에 발행된 초기 사양), LPDDR4(LOW POWER DOUBLE DATA RATE(LPDDR) 버전 4, JESD209-4, 2014년 8월에 JEDEC에 의해 최초 발행됨), WIO2(Wide I/O 2(WideIO2), JESD229-2, 2014년 8월에 JEDEC에 의해 최초 발행됨), HBM(HIGH BANDWIDTH MEMORY DRAM, JESD235, 2013년 10월에 JEDEC에 의해 최초 발행됨), 및/또는 이러한 사양들의 파생들 또는 확장들에 기초한 다른 기술들을 포함할 수 있는, 그러나 이들로 제한되는 것은 아닌, 다양한 개발된 메모리 기술들에 따라 동작하도록 배열될 수 있다. DRAM 메모리를 포함하는 메모리 디바이스(100)는 또한 DDR5(DDR 버전 5, JEDEC에 의해 현재 논의중), LPDDR5(LPDDR 버전 5, JEDEC에 의해 현재 논의중), HBM2(HBM 버전 2, JEDEC에 의해 현재 논의중), 및/또는 이러한 사양들의 파생들 또는 확장들에 기초한 다른 새로운 기술들을 포함할 수 있지만, 이들로 제한되는 것은 아닌, 현재 개발중인 다양한 메모리 기술들에 따라 동작하도록 배열될 수 있다. 이들 개발된 또는 개발중인 기술들 및/또는 사양들 각각에 대해, 몇 가지만 예로 들자면 행 어드레스 스트로브(RAS#), 열 어드레스 스트로브(CAS#) 또는 기입 인에이블(WE#)과 같은 커맨드 비트들을 사용하여 커맨드들이 코딩될 수 있다.
일부 예들에서, 위에 간단히 언급되고, 아래에서 더 설명되는 바와 같이, 데이터 또는 DQ 버스를 통해 실제로 데이터를 전송하지 않고도 메모리 디바이스에서의 레지스터(예를 들어, 패턴 레지스터)에 프로그래밍된 또는 저장된 데이터 콘텐츠의 패턴이 메모리 디바이스의 메모리 셀들의 적어도 일부에 저장되게 하기 위해 새로운 커맨드가 다양한 DRAM 기술들 또는 사양들에 도입되거나 추가될 수 있다. 이 단일 커맨드는 기입 패턴 활성화(WPACT) 커맨드이라 지칭될 수 있다. 데이터 콘텐츠의 패턴은 레지스터에 프리-프로그래밍될 수 있고 패턴은 모두 0(all zeros)으로서 정의되거나 어떤 다른 미리 정의된 패턴일 수 있다. 패턴은 메모리 디바이스(100)와 결합된 커맨드/어드레스 버스(도시되지 않음)를 통해 수신된 단일 판독 커맨드와 연관된 버스트 길이(BL)에 대해 메모리 디바이스(100)의 폭에 걸쳐 그리고 메모리 디바이스(100)의 길이를 따라 이어질 수 있다.
메모리 디바이스(100)에 포함된 예시적인 메모리 타입들은 DRAM과 같은 휘발성 메모리 타입들을 포함하는 것으로 설명되었지만, 본 개시는 DRAM으로 제한되는 것은 아니다. 일부 예들에서, 더블 데이터 레이트 동기식 동적 RAM(DDR SDRAM), 정적 랜덤-액세스 메모리(SRAM), 사이리스터 RAM(T-RAM) 또는 제로-커패시터 RAM(Z-RAM)을 포함하지만, 이들로 제한되는 것은 아닌, 다른 휘발성 메모리 타입들도 본 개시에 의해 고려된다. 또한, NAND 또는 NOR 기술들과 연관된 것들과 같은, 블록 어드레싱가능 비-휘발성 메모리 타입들도 본 개시에 의해 고려된다. 또한, 바이트 어드레싱가능한 3-D 크로스-포인트 메모리와 같은 다른 비-휘발성 메모리 타입들도 본 개시에 의해 고려된다. 이들 블록 어드레싱가능 또는 바이트 어드레싱가능 비-휘발성 메모리 타입들은 칼코게나이드 상 변화 재료(예를 들어, 칼코게나이드 글래스)를 사용하는 비-휘발성 메모리 타입들, 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 상 변화 메모리(PCM), 저항성 메모리, 나노와이어 메모리, 강유전 트랜지스터 랜덤 액세스 메모리(FeTRAM), 멤리스터 기술을 포함하는 자기저항 랜덤 액세스 메모리(MRAM) 메모리, 또는 스핀 트랜스퍼 토크 MRAM(STT-MRAM), 또는 위의 것들 중 임의의 것의 조합, 또는 다른 비-휘발성 메모리 타입들을 포함할 수 있지만, 이들로 제한되는 것은 아니다.
도 2는 예시적인 메모리 디바이스(200)를 예시한다. 일부 예들에서, 도 2에 도시된 바와 같이, 메모리 디바이스(200)는 수신된 커맨드들에 응답하여 뱅크 0 내지 뱅크 7에 액세스하기 위한 다양한 로직, 피처들 또는 회로들을 포함한다. 예를 들어, 메모리 디바이스(200)는 클록 생성기(201), 어드레스 커맨드 디코더(202), 하나 이상의 패턴 레지스터(들)(203), 제어 로직(210), 래치 회로들(240), IO 버퍼들(250) 또는 DQ 핀들(260)을 포함하는 뱅크 0 내지 뱅크 7에 액세스하기 위한 주변 회로를 포함할 수 있다. 또한, 뱅크 0 내지 뱅크 7의 각각의 뱅크는 뱅크 제어(220), 행 어드레스 버퍼(223), 열 어드레스 버퍼(221), 행 디코더(224), 감지 앰프들(225), 열 디코더(222) 또는 데이터 제어(227)를 개별적으로 포함할 수 있다.
일부 예들에 따르면, 제어 로직(210)은 패턴 레지스터(들)(203)로부터 패턴이 인출되게 하고 그 패턴을 뱅크 0 내지 뱅크 7에 포함된 하나 이상의 뱅크의 메모리 셀들에 배치하는 WPACT 커맨드를 생성 또는 포워딩할 수 있는 로직 및/또는 피처들을 포함할 수 있다. 이들 예에 대해, WPACT와 같은 단일 커맨드가 어드레스 커맨드 디코더(202)를 통해 수신되었을 수 있고 하나 이상의 패턴(들)(205)이 열 어드레스 버퍼(221) 및 행 어드레스 버퍼(223)를 통해 뱅크 0의 메모리 셀들에 저장되게 하는 것으로 메모리 디바이스(200)의 제어 로직(210)에 의해 인식될 수 있다. 이는 DQ 핀들(260)을 통해 데이터를 전송하지 않고 행해진다.
일부 예들에서, 패턴 레지스터(들)(203)는 모두 "0" 값들의 패턴을 포함하는 제1 레지스터 및 모두 "1" 값들의 패턴을 포함하는 제2 레지스터를 포함할 수 있다. 모두 "0" 및 모두 "1" 양자 모두의 값들은 통상적으로 최악의 전력 전달 시나리오들을 야기한다. 따라서 DQ 핀들(260)을 통해 이들 타입의 패턴들을 송신할 필요를 제거하는 것이 메모리 디바이스(200)에 유익할 수 있다.
일부 예들에 따르면, 메모리 셀들로의 반복된 패턴들에 의해 야기되는 희생 비트들의 효과들 또는 다른 문제들을 감소시키기 위해 동적으로 결정된 콘텐츠 패턴들이 사용될 수 있다. 이들 예에 대해, 고정 또는 가변 시간 간격들에 걸쳐 메모리 디바이스(200)에 대한 기입 요청들에 대한 런-타임 정보를 평가하여 패턴들을 결정할 수 있고 이들 동적으로 결정된 패턴들은 다양한 상이한 콘텐츠 패턴들이 패턴 레지스터(들)(203)에 저장되는 결과를 야기할 수 있다. 그 결과, 패턴 레지스터(들)(203)는 이들 결정된 패턴에 기초할 수 있고 때때로 리-프로그래밍되거나 업데이트될 수 있다(예를 들어, 모드 레지스터를 리프로그래밍하거나 업데이트하는 것과 유사하게).
도 3은 예시적인 타이밍 다이어그램(300)을 예시한다. 일부 예들에서, 도 3에 도시된 타이밍 다이어그램(300)은 정상 Write 커맨드와 이어서 WPACT 커맨드를 수신하는 것에 응답하여 메모리 디바이스들 D0 및 D1의 랭크들 R0 및 R1에 대한 타이밍을 묘사한다. 도 2에 대해 이전에 언급된 바와 같이, 레지스터에 저장된 패턴이 주어진 메모리 디바이스의 메모리 셀에 저장되게 하는 WPACT 커맨드가 이들 메모리 디바이스로 포워딩되었을 수 있다. 도 2에 도시된 메모리 디바이스(200)의 적어도 일부 요소들은 WPACT 커맨드에 응답하여 취해진 내부 액션들을 설명하는 데 사용될 수 있다. 예들은 타이밍 다이어그램(300)에 대한 메모리 디바이스(200)의 요소들로 제한되지 않는다.
일부 예들에 따르면, 타이밍 다이어그램(300)은 메모리 디바이스 D0 및 랭크 0으로 유도되는 커맨드(CMD) 버스 상의 Write 커맨드(D0 RO CS0)를 보여준다. R0 DQ를 통해 데이터를 수신하기 위해 온 다이 종단(ODT)이 턴온된다. 그 후 타이밍 다이어그램(300)은 Write 커맨드에 이어서 시간 ta에서 WPACT 커맨드가 따르는 것을 보여준다. WPACT 커맨드는 동일한 메모리 디바이스 D0 및 랭크 0으로 타겟팅된다. 이전의 Write 커맨드로부터 데이터가 수신된 후, D0 R0 및 D0 R1 양자 모두에 대한 ODT는 시간 te에서 디스에이블되거나 턴오프될 수 있다. 이 시점에서, R0 또는 R1 DQ들을 통해 더 이상 데이터가 수신되지 않는다. 그 후 패턴 레지스터(들)(203)에 유지된 패턴은 인출되어 D0 R0의 메모리 셀들의 적어도 일부에 저장될 수 있다.
일부 예들에서, WPACT 커맨드의 사용은 또한 커맨드 큐에 대한 공간을 절약할 수 있는데 그 이유는 WPACT가 전송될 수 있고 그 후 큐가 덤핑될 수 있기 때문이다.
도 4는 예시적인 메모리 다이 이미지(400)를 예시한다. 일부 예들에서, 메모리 다이 이미지(400)는 2 기가비트(Gb) DRAM 다이 이미지일 수 있다. 메모리 다이 이미지(400)의 확대된 부분은 어떻게 로직(예를 들어, 제어 로직(210)) 및 레지스터(예를 들어, 패턴 레지스터(203))가 각각의 123Mb 블록 어레이의 바로 밖에 있을 수 있는 열 디코더(col. Dec.) 영역에 내장될 수 있는지를 나타낸다.
도 5는 예시적인 패턴 테이블(500)을 예시한다. 일부 예들에서, 패턴 테이블(500)은 비디오 재생 작업부하의 타입들로부터의 반복 패턴들을 나타낸다. 패턴 테이블(500)에 도시된 바와 같이, 상위 16개의 반복 패턴은 VideoPlayBack_BigBuck_Sc_Dis에 대한 25% 및 Anno_2070_Sc_Dis에 대한 31%로 구성될 수 있다. 또한, 도 5에 도시된 바와 같이, 이들 비디오 재생 작업부하의 상위 16개의 반복 패턴 각각에 대해 모두 0의 값들을 갖는 반복 패턴들은 VideoPlayBack_BigBuck_Sc_Dis 및 Anno_2070_Sc_Dis에 대해 각각 7.9% 및 17.4%인 것으로 나타내어져 있다. 이전에 언급된 바와 같이, 이러한 타입의 패턴이 메모리 디바이스의 데이터 버스를 통해(예를 들어, DQ 핀들을 통해) 반복적으로 송신되면 모두 0은 최악의 전력 전달 시나리오를 형성하거나 야기할 수 있다.
일부 예들에 따르면, 이들 비디오 재생 작업부하들을 서비스하는 데 사용되는 메모리 디바이스에 대한 컨트롤러의 로직 및/또는 피처들은 메모리 디바이스에 유지된 레지스터들에 이미 모두 0 콘텐츠 패턴들을 저장했을 수 있다. 메모리 디바이스의 데이터 버스를 통한 모두 0의 부정적인 영향들은 모두 0 패턴이 메모리 디바이스의 데이터 버스를 통해 반복적으로 송신되는 것을 방지하기 위해 컨트롤러가 모두 0 비디오 재생 작업부하를 인식하는 것에 응답하여 WPACT 커맨드를 생성하는 것을 통해 완화될 수 있다. Anno-2070_Sc_Dis 비디오 재생 작업부하의 경우에, 작업부하의 17.4%가 WPACT 커맨드들을 통해 핸들링될 수 있다.
도 6은 장치(600)에 대한 예시적인 블록 다이어그램을 예시한다. 도 6에 도시된 장치(600)는 특정 토폴로지에서 제한된 수의 요소들을 갖지만, 장치(600)는 주어진 구현에 대해 원하는 대로 대안의 토폴로지들에서 더 많거나 더 적은 요소들을 포함할 수 있다는 것이 인정될 수 있다.
장치(600)는 회로(620)에 의해 지원될 수 있고 장치(600)는 메모리 디바이스 또는 메모리 시스템에 유지된 컨트롤러 또는 컨트롤러 로직일 수 있다. 메모리 디바이스는 호스트 컴퓨팅 플랫폼에 결합될 수 있다. 회로(620)는 (예를 들어, 저장 디바이스의 저장 컨트롤러에 의해 적어도 부분적으로 구현되는) 하나 이상의 소프트웨어 또는 펌웨어 구현된 컴포넌트, 모듈 또는 로직(622-a)을 실행하도록 배열될 수 있다. "a" 및 "b" 및 "c" 및 본 명세서에서 사용된 유사한 지정자들은 임의의 양의 정수를 표현하는 변수들로 의도되었다는 점에 유의할 가치가 있다. 따라서, 예를 들어, 구현이 a = 2에 대한 값을 설정하면, 로직, 컴포넌트들 또는 모듈들(622-a)에 대한 소프트웨어 또는 펌웨어의 완전한 세트는 로직(622-1 또는 622-2)를 포함할 수 있다. 또한, "로직"의 적어도 일부는 컴퓨터-판독가능 매체에 저장된 소프트웨어/펌웨어일 수 있고, 로직은 도 6에서 개별 박스들로서 도시되어 있지만, 이는 로직을 별개의 컴퓨터-판독가능 매체 컴포넌트들(예를 들어, 개별 메모리 등) 내의 저장소로 제한하지 않는다.
일부 예들에 따르면, 회로(620)는 프로세서 또는 프로세서 회로를 포함할 수 있다. 프로세서 또는 프로세서 회로는 AMD® Athlon®, Duron® 및 Opteron® 프로세서; ARM® 애플리케이션, 임베디드 및 보안 프로세서; IBM® 및 Motorola® DragonBall® 및 PowerPC® 프로세서; IBM 및 Sony® Cell 프로세서; Intel® Atom®, Celeron®, Core(2) Duo®, Core i3, Core i5, Core i7, Itanium®, Pentium®, Xeon®, Xeon Phi® 및 XScale® 프로세서; 및 유사한 프로세서를 포함하지만 이들로 제한되는 것은 아닌, 다양한 상업적으로 입수가능한 프로세서들 중 임의의 것일 수 있다. 일부 예에 따르면, 회로(620)는 또한 하나 이상의 주문형 집적 회로(ASIC)를 포함할 수 있고, 적어도 일부 로직(622-a)은 이들 ASIC의 하드웨어 요소들로서 구현될 수 있다. 일부 예들에서, 회로(820)는 또한 필드 프로그램가능 게이트 어레이(FPGA)를 포함할 수 있고, 적어도 일부 로직(822-a)은 FPGA의 하드웨어 요소들로서 구현될 수 있다.
일부 예들에 따르면, 장치(600)는 기입 로직(622-1)을 포함할 수 있다. 기입 로직(622-1)은 하나 이상의 시간 간격에 걸쳐 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 콘텐츠 패턴을 결정하기 위해 회로(620)에 의해 실행되는 로직 및/또는 피처일 수 있다. 이들 예에 대해, 패턴 정보(605)는 하나 이상의 시간 간격에 걸쳐 수집된 런-타임 정보를 포함할 수 있다. 기입 로직(622-1)은 메모리 디바이스에 유지된 레지스터들(예를 들어, 패턴 레지스터들)로의 저장을 위해 메모리 디바이스에 콘텐츠 패턴들을 포워딩할 수 있다.
일부 예들에서, 장치(600)는 또한 패턴 로직(622-2)을 포함할 수 있다. 패턴 로직(622-2)은 하나 이상의 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴을 포함하는 메모리 디바이스에 대한 기입 요청에 응답하여 커맨드를 생성하고 그 커맨드를 메모리 디바이스에 포워딩하여 매칭하는 콘텐츠 패턴이 메모리 디바이스에 대한 메모리 셀들의 적어도 일부에 저장되게 하기 위해 회로(620)에 의해 실행되는 로직 및/또는 피처일 수 있다. 이들 예에 대해, 생성 및 포워딩되는 커맨드는 WPACT 커맨드(610)에 포함된 WPACT 커맨드일 수 있다. 하나 이상의 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴은 패턴 표시(615)를 포함할 수 있다. 패턴 표시(615)는 장치(600)를 포함하는 메모리 디바이스 또는 시스템과 결합된 호스트 컴퓨팅 디바이스 또는 플랫폼에서 실행되는 애플리케이션에 의해 야기되었을 수 있다. 인출된 패턴(630)은 메모리 디바이스에서의 레지스터들로부터 인출되어 메모리 디바이스에 대한 메모리 셀들의 적어도 일부에 저장될 수 있는 매칭하는 콘텐츠 패턴을 포함할 수 있다.
개시된 아키텍처의 새로운 양태들을 수행하기 위한 예시적인 방법론들을 나타내는 로직 흐름들의 세트가 본 명세서에 포함된다. 설명의 단순성을 위해, 본 명세서에서 제시된 하나 이상의 방법론은 일련의 동작들로서 도시되고 설명되지만, 본 기술분야의 통상의 기술자들은 방법론들이 동작들의 순서에 의해 제한되지 않는다는 것을 이해하고 인정할 것이다. 일부 동작들은, 그에 따라, 본 명세서에서 도시되고 설명된 것과 상이한 순서로 및/또는 다른 동작들과 동시에 발생할 수 있다. 예를 들어, 본 기술분야의 통상의 기술자들은 방법론들이 대안적으로 상태 다이어그램에서와 같이, 일련의 상호관련된 상태들 또는 이벤트들로서 표현될 수 있다는 것을 이해하고 인정할 것이다. 더욱이, 방법론에서 예시된 모든 동작들이 새로운 구현을 위해 요구되는 것은 아닐 수 있다.
로직 흐름은 소프트웨어, 펌웨어, 및/또는 하드웨어로 구현될 수 있다. 소프트웨어 및 펌웨어 실시예들에서, 로직 흐름은 광학적, 자기, 또는 반도체 저장소와 같은 적어도 하나의 비-일시적 컴퓨터 판독가능 매체 또는 머신 판독가능 매체 상에 저장된 컴퓨터 실행가능 명령어들에 의해 구현될 수 있다. 실시예들은 이 컨텍스트에서 제한되지 않는다.
도 7은 로직 흐름(700)의 예를 예시한다. 로직 흐름(700)은 장치(600)와 같은, 본 명세서에서 설명된 하나 이상의 로직, 피처, 또는 디바이스에 의해 실행되는 동작들의 일부 또는 전부를 나타낼 수 있다. 특히, 로직 흐름(700)은 기입 로직(622-1) 또는 패턴 로직(622-2) 중 하나 이상에 의해 구현될 수 있다.
일부 예들에 따르면, 블록(702)에서의 로직 흐름(700)은 메모리 디바이스에서의 레지스터에 저장된 하나 이상의 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴을 포함하는 메모리 디바이스에 대한 기입 요청에 응답하여 커맨드를 생성할 수 있다. 이들 예에 대해, 패턴 로직(622-2)이 커맨드를 생성할 수 있다.
일부 예들에 따르면, 블록(706)에서의 로직 흐름(700)은 매칭하는 콘텐츠 패턴이 메모리 디바이스에 대한 메모리 셀들의 적어도 일부에 저장되게 하기 위해 커맨드를 메모리 디바이스에 포워딩할 수 있다. 이들 예에 대해, 패턴 로직(622-2)이 커맨드를 포워딩할 수 있다.
도 8은 제1 저장 매체의 예를 예시한다. 도 8에 도시된 바와 같이, 제1 저장 매체는 저장 매체(800)를 포함한다. 저장 매체(800)는 제조물을 포함할 수 있다. 일부 예들에서, 저장 매체(800)는 광학적, 자기 또는 반도체 저장소와 같은 임의의 비-일시적 컴퓨터 판독가능 매체 또는 머신 판독가능 매체를 포함할 수 있다. 저장 매체(800)는 로직 흐름(700)을 구현하기 위한 명령어들과 같은, 다양한 타입의 컴퓨터 실행가능 명령어들을 저장할 수 있다. 컴퓨터 판독가능 또는 머신 판독가능 저장 매체의 예들은 휘발성 메모리 또는 비-휘발성 메모리, 이동식 또는 비-이동식 메모리, 소거가능 또는 소거-불가능 메모리, 기입가능 또는 재-기입가능 메모리, 및 기타 등등을 포함하여, 전자 데이터를 저장할 수 있는 임의의 유형의 매체(tangible media)를 포함할 수 있다. 컴퓨터 실행가능 명령어들의 예들은 소스 코드, 컴파일된 코드, 해석된 코드, 실행가능 코드, 정적 코드, 동적 코드, 객체-지향 코드, 비주얼 코드, 및 기타 등등과 같은 임의의 적합한 타입의 코드를 포함할 수 있다. 예들은 이 컨텍스트에서 제한되지 않는다.
도 9는 예시적인 컴퓨팅 플랫폼(900)을 예시한다. 일부 예들에서, 도 9에 도시된 바와 같이, 컴퓨팅 플랫폼(900)은 메모리 시스템(930), 프로세싱 컴포넌트(940), 다른 플랫폼 컴포넌트들(950) 또는 통신 인터페이스(960)를 포함할 수 있다. 일부 예들에 따르면, 컴퓨팅 플랫폼(900)은 컴퓨팅 디바이스에 구현될 수 있다.
일부 예들에 따르면, 메모리 시스템(930)은 컨트롤러(932) 및 메모리 디바이스(들)(934)를 포함할 수 있다. 이들 예에 대해, 컨트롤러(932)에 상주하거나 위치하는 로직 및/또는 피처들은 장치(600)에 대한 적어도 일부 처리 동작들 또는 로직을 실행할 수 있고 저장 매체(800)를 포함하는 저장 매체들을 포함할 수 있다. 또한, 메모리 디바이스(들)(934)는 도 1 및 도 2에 도시된 메모리 디바이스들(100 또는 200)에 대해 위에 설명된 유사한 타입의 휘발성 또는 비-휘발성 메모리(도시되지 않음)를 포함할 수 있다. 일부 예들에서, 컨트롤러(932)는 메모리 디바이스(들)(934)와 동일한 다이의 부분일 수 있다. 다른 예들에서, 컨트롤러(932) 및 메모리 디바이스(들)(934)는 (예를 들어, 프로세싱 컴포넌트(940)에 포함된) 프로세서와 동일한 다이 또는 집적 회로 상에 위치할 수 있다. 또 다른 예들에서, 컨트롤러(932)는 메모리 디바이스(들)(934)와 결합된 개별 다이 또는 집적 회로에 있을 수 있다.
일부 예들에 따르면, 프로세싱 컴포넌트(940)는 다양한 하드웨어 요소들, 소프트웨어 요소들, 또는 양자 모두의 조합을 포함할 수 있다. 하드웨어 요소들의 예들은 디바이스, 로직 디바이스, 컴포넌트, 프로세서, 마이크로프로세서, 회로, 프로세서 회로, 회로 소자(예를 들어, 트랜지스터, 저항기, 커패시터, 인덕터, 및 기타 등등), 집적 회로, ASIC, 프로그램가능 로직 디바이스(PLD), 디지털 신호 프로세서(DSP), FPGA/프로그램가능 로직, 메모리 유닛, 로직 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로칩, 칩셋, 및 기타 등등을 포함할 수 있다. 소프트웨어 요소들의 예들은 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시저, 소프트웨어 인터페이스, API, 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심벌, 또는 이들의 임의의 조합을 포함할 수 있다. 예가 하드웨어 요소들 및/또는 소프트웨어 요소들을 사용하여 구현되는지를 결정하는 것은, 주어진 예에 대해 원하는 대로, 원하는 계산 레이트, 전력 레벨, 열 허용오차, 프로세싱 사이클 예산, 입력 데이터 레이트, 출력 데이터 레이트, 메모리 리소스, 데이터 버스 속도 및 다른 설계 또는 성능 제약과 같은 임의의 수의 팩터에 따라 변화할 수 있다.
일부 예들에서, 다른 플랫폼 컴포넌트들(950)은, 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서, 메모리 유닛, 칩셋, 컨트롤러, 주변 장치, 인터페이스, 발진기, 타이밍 디바이스, 비디오 카드, 오디오 카드, 멀티미디어 I/O 컴포넌트(예를 들어, 디지털 디스플레이), 전원, 및 기타 등등과 같은 일반적인 컴퓨팅 요소들을 포함할 수 있다. 다른 플랫폼 컴포넌트들(950) 또는 저장 시스템(930) 중 어느 하나와 연관된 메모리 유닛들의 예들은 판독-전용 메모리(ROM), RAM, DRAM, DDR DRAM, 동기식 DRAM(SDRAM), DDR SDRAM, SRAM, 프로그램가능 ROM(PROM), EPROM, EEPROM, 플래시 메모리, 강유전 메모리, SONOS 메모리, 강유전 중합체 메모리와 같은 중합체 메모리, 나노와이어, FeTRAM 또는 FeRAM, 오보닉 메모리, 상 변화 메모리, 멤리스터, STT-MRAM, 자기 또는 광학 카드, 및 정보를 저장하기에 적합한 임의의 다른 타입의 저장 매체와 같은, 하나 이상의 더 고속의 메모리 유닛 형태의 다양한 타입의 컴퓨터 판독가능 및 머신 판독가능 저장 매체를 포함할 수 있지만, 이들로 제한되는 것은 아니다.
일부 예들에서, 통신 인터페이스(960)는 통신 인터페이스를 지원하기 위한 로직 및/또는 피처들을 포함할 수 있다. 이들 예에 대해, 통신 인터페이스(960)는 직접 또는 네트워크 통신 링크들을 통해 통신하기 위해 다양한 통신 프로토콜들 또는 표준들에 따라 동작하는 하나 이상의 통신 인터페이스를 포함할 수 있다. 직접 통신은 SMBus 사양, PCIe 사양, NVMe 사양, SATA 사양, SAS 사양 또는 USB 사양과 연관된 것들과 같은 하나 이상의 산업 표준(후대 및 변이를 포함)에서 설명된 통신 프로토콜들 또는 표준들의 사용을 통해 직접 인터페이스를 통해 발생할 수 있다. 네트워크 통신은 IEEE에 의해 공표된 하나 이상의 이더넷 표준에서 설명된 것들과 같은 통신 프로토콜들 또는 표준들의 사용을 통해 네트워크 인터페이스를 통해 발생할 수 있다. 예를 들어, 하나의 그러한 이더넷 표준은 2012년 12월에 공표된, IEEE 802.3-2012, CSMA/CD(Carrier sense Multiple access with Collision Detection) 액세스 방법 및 물리 계층 사양들(이하 "IEEE 802.3")을 포함할 수 있다.
컴퓨팅 플랫폼(900)은, 예를 들어, 사용자 장비, 컴퓨터, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 태블릿, 스마트 폰, 임베디드 일렉트로닉스, 게이밍 콘솔, 서버, 서버 어레이 또는 서버 팜, 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 수퍼컴퓨터, 네트워크 어플라이언스, 웹 어플라이언스, 분산 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 또는 이들의 조합일 수 있는 컴퓨팅 디바이스의 부분일 수 있다. 따라서, 본 명세서에서 설명된 컴퓨팅 플랫폼(900)의 기능들 및/또는 특정 구성들이, 적합하게 원하는 대로, 컴퓨팅 플랫폼(900)의 다양한 실시예들에서 포함되거나 생략될 수 있다.
컴퓨팅 플랫폼(900)의 컴포넌트들 또는 피처들은 개별 회로, ASIC, 로직 게이트 및/또는 단일 칩 아키텍처들의 임의의 조합을 사용하여 구현될 수 있다. 게다가, 컴퓨팅 플랫폼(900)의 피처들은 적합하게 적절한 경우에 마이크로컨트롤러, 프로그램가능 로직 어레이 및/또는 마이크로프로세서, 또는 전술한 것들의 임의의 조합을 사용하여 구현될 수 있다. 하드웨어, 펌웨어 및/또는 소프트웨어 요소들은 집합적으로 또는 개별적으로 본 명세서에서 "로직", "회로(circuit)" 또는 "회로(circuitry)"라고 지칭된다는 점에 유의한다.
적어도 하나의 예의 하나 이상의 양태는 프로세서 내의 다양한 로직을 나타내는 적어도 하나의 머신-판독가능 매체 상에 저장된 대표적인 명령어들에 의해 구현될 수 있으며, 이 명령어들이 머신, 컴퓨팅 디바이스, 또는 시스템에 의해 판독될 때, 머신, 컴퓨팅 디바이스 또는 시스템으로 하여금 본 명세서에서 설명된 기법들을 수행하는 로직을 제작하게 한다. 이러한 표현들은 유형의, 머신 판독가능 매체 상에 저장되고, 다양한 고객들 또는 제조 설비에 공급되어, 로직 또는 프로세서를 실제로 만드는 제작 머신들 내에 로딩될 수 있다.
다양한 예들은, 하드웨어 요소들, 소프트웨어 요소들 또는 양자 모두의 조합을 사용하여 구현될 수 있다. 일부 예들에서, 하드웨어 요소들은 디바이스, 컴포넌트, 프로세서, 마이크로프로세서, 회로, 회로 소자(예를 들어, 트랜지스터, 저항기, 커패시터, 인덕터 및 기타 등등), 집적 회로, ASIC, PLD, DSP, FPGA, 메모리 유닛, 로직 게이트, 레지스터, 반도체 디바이스, 칩, 마이크로칩, 칩셋, 및 기타 등등을 포함할 수 있다. 일부 예들에서, 소프트웨어 요소들은 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시저, 소프트웨어 인터페이스, API, 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심벌, 또는 이들의 임의의 조합을 포함할 수 있다. 예가 하드웨어 요소들 및/또는 소프트웨어 요소들을 사용하여 구현되는지를 결정하는 것은, 주어진 구현에 대해 원하는 대로, 원하는 계산 레이트, 전력 레벨, 열 허용오차, 프로세싱 사이클 예산, 입력 데이터 레이트, 출력 데이터 레이트, 메모리 리소스, 데이터 버스 속도 및 다른 설계 또는 성능 제약과 같은 임의의 수의 팩터에 따라 변화할 수 있다.
일부 예들은 제조물 또는 적어도 하나의 컴퓨터-판독가능 매체를 포함할 수 있다. 컴퓨터-판독가능 매체는 로직을 저장하기 위한 비-일시적 저장 매체를 포함할 수 있다. 일부 예들에서, 비-일시적 저장 매체는, 휘발성 메모리 또는 비-휘발성 메모리, 이동식 또는 비-이동식 메모리, 소거가능 또는 소거-불가능 메모리, 기입가능 또는 재-기입가능 메모리, 및 기타 등등을 포함하여, 전자 데이터를 저장할 수 있는 하나 이상의 타입의 컴퓨터-판독가능 저장 매체를 포함할 수 있다. 일부 예들에서, 로직은, 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 머신 프로그램, 운영 체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 메소드, 프로시저, 소프트웨어 인터페이스, API, 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 워드, 값, 심벌, 또는 이들의 임의의 조합과 같은 다양한 소프트웨어 요소들을 포함할 수 있다.
일부 예들에 따르면, 컴퓨터-판독가능 매체는 명령어들을 저장 또는 유지하기 위한 비-일시적 저장 매체를 포함할 수 있고, 이 명령어들은, 머신, 컴퓨팅 디바이스 또는 시스템에 의해 실행될 때, 머신, 컴퓨팅 디바이스 또는 시스템으로 하여금, 설명된 예들에 따른 방법들 및/또는 동작들을 수행하게 한다. 명령어들은, 소스 코드, 컴파일된 코드, 해석된 코드, 실행가능 코드, 정적 코드, 동적 코드, 및 기타 등등과 같은 임의의 적합한 타입의 코드를 포함할 수 있다. 명령어들은 머신, 컴퓨팅 디바이스 또는 시스템에게 특정 기능을 수행하도록 명령하기 위해, 미리 정의된 컴퓨터 언어, 방식 또는 구문에 따라 구현될 수 있다. 명령어들은 임의의 적합한 하이-레벨, 로우-레벨, 객체-지향, 비주얼, 컴파일된 및/또는 해석된 프로그래밍 언어를 사용하여 구현될 수 있다.
일부 예들은 "하나의 예에서" 또는 "예"라는 표현과 함께 그것들의 파생 표현들을 사용하여 설명될 수 있다. 이들 용어는 그 예와 관련하여 설명된 특정 피처, 구조, 또는 특성이 적어도 하나의 예에 포함됨을 의미한다. 명세서의 다양한 곳에서 “하나의 실시예에서”라는 구의 출현들은 반드시 모두가 동일한 예를 지칭하는 것은 아니다.
일부 예들은 "결합된(coupled)" 및 "연결된(connected)"이라는 표현과 함께 그것들의 파생 표현들을 사용하여 설명될 수 있다. 이들 용어는 반드시 서로에 대한 동의어들로 의도된 것은 아니다. 예를 들어, "연결된" 및/또는 "결합된"이라는 용어들을 사용한 설명들은 2개 이상의 요소가 서로 직접 물리적 또는 전기적으로 접촉하고 있음을 나타낼 수 있다. 그러나, "결합된"이라는 용어는 또한 2개 이상의 요소가 서로 직접 접촉하고 있지 않지만, 여전히 서로 협력하거나 상호작용하는 것을 의미할 수 있다.
다음의 예들은 본 명세서에서 개시된 기술들의 추가의 예들에 관한 것이다.
예 1. 예시적인 장치는 그의 적어도 일부가 하드웨어를 포함할 수 있는 로직을 포함하는 메모리 디바이스에 대한 컨트롤러를 포함할 수 있다. 이들 예에 대해, 상기 로직은 상기 메모리 디바이스에서의 레지스터에 저장된 하나 이상의 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴을 포함하는 상기 메모리 디바이스에 대한 기입 요청에 응답하여 커맨드를 생성할 수 있다. 상기 로직은 또한 상기 매칭하는 콘텐츠 패턴이 상기 메모리 디바이스에 대한 메모리 셀들의 적어도 일부에 저장되게 하기 위해 상기 커맨드를 상기 메모리 디바이스에 포워딩할 수 있다.
예 2. 제1항의 장치로서, 상기 커맨드는 기입 패턴 활성화(WPACT) 커맨드를 포함할 수 있다.
예 3. 제1항의 장치로서, 상기 매칭하는 콘텐츠 패턴은 모두 1의 비트 값들 또는 모두 0의 비트 값들을 포함할 수 있다.
예 4. 제1항의 장치로서, 상기 로직은 또한 제1 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 하나 이상의 콘텐츠 패턴을 결정할 수 있다.
예 5. 제4항의 장치로서, 상기 로직은 또한 제2 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 하나 이상의 제2 콘텐츠 패턴을 결정할 수 있다. 상기 로직은 또한 상기 메모리 디바이스에 유지된 레지스터들로의 저장을 위해 상기 메모리 디바이스에 상기 하나 이상의 제2 콘텐츠 패턴을 포워딩할 수 있다.
예 6. 제1항의 장치로서, 상기 메모리 디바이스는 비-휘발성 메모리 또는 휘발성 메모리를 포함할 수 있다. 이들 예에 대해, 상기 휘발성 메모리는 DRAM을 포함할 수 있고 상기 비-휘발성 메모리는 3-D 크로스-포인트 메모리, 칼코게나이드 상 변화 재료를 사용하는 메모리, 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 PCM, 저항성 메모리, 오보닉 메모리, 나노와이어 메모리, FeTRAM, 멤리스터 기술을 포함하는 MRAM 메모리, 또는 STT-MRAM을 포함할 수 있다.
예 7. 제1항의 장치는 또한 다음 중 하나 이상을 포함할 수 있다: 상기 컨트롤러에 결합된 하나 이상의 프로세서;상기 장치에 통신가능하게 결합된 네트워크 인터페이스; 상기 장치에 결합된 배터리; 또는 상기 장치에 통신가능하게 결합된 디스플레이.
예 8. 예시적인 방법은 메모리 디바이스에서의 레지스터에 저장된 하나 이상의 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴을 포함하는 상기 메모리 디바이스에 대한 기입 요청에 응답하여 커맨드를 생성하는 단계를 포함할 수 있다. 상기 방법은 또한 상기 매칭하는 콘텐츠 패턴이 상기 메모리 디바이스에 대한 메모리 셀들의 적어도 일부에 저장되게 하기 위해 상기 커맨드를 상기 메모리 디바이스에 포워딩하는 단계를 포함할 수 있다.
예 9. 제8항의 방법으로서, 상기 커맨드는 기입 패턴 활성화(WPACT) 커맨드일 수 있다.
예 10. 제8항의 방법으로서, 상기 매칭하는 콘텐츠 패턴은 모두 1의 비트 값들 또는 모두 0의 비트 값들을 포함할 수 있다.
예 11. 제8항의 방법은 또한 제1 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 상기 하나 이상의 콘텐츠 패턴을 결정하는 단계를 포함할 수 있다.
예 12. 제11항의 방법은 또한 제2 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 하나 이상의 제2 콘텐츠 패턴을 결정하는 단계를 포함할 수 있다. 상기 방법은 또한 상기 메모리 디바이스에 유지된 레지스터들로의 저장을 위해 상기 메모리 디바이스에 상기 하나 이상의 제2 콘텐츠 패턴을 포워딩하는 단계를 포함할 수 있다.
예 13. 제8항의 방법으로서, 상기 메모리 디바이스는 비-휘발성 메모리 또는 휘발성 메모리를 포함할 수 있다. 이들 예에 대해, 상기 휘발성 메모리는 DRAM을 포함할 수 있고 상기 비-휘발성 메모리는 3-D 크로스-포인트 메모리, 칼코게나이드 상 변화 재료를 사용하는 메모리, 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 PCM, 저항성 메모리, 오보닉 메모리, 나노와이어 메모리, FeTRAM, 멤리스터 기술을 포함하는 MRAM 메모리, 또는 STT-MRAM을 포함할 수 있다.
예 14. 예시적인 적어도 하나의 머신 판독가능 매체는 시스템에 의해 실행되는 것에 응답하여 상기 시스템으로 하여금 제8항 내지 제13항 중 어느 한 항에 따른 방법을 수행하게 할 수 있는 복수의 명령어를 포함할 수 있다.
예 15. 예시적인 장치는 제8항 내지 제13항 중 어느 한 항의 방법들을 수행하기 위한 수단을 포함할 수 있다.
예 16. 시스템은 호스트 컴퓨팅 디바이스가 하나 이상의 애플리케이션을 실행하기 위한 적어도 하나의 프로세서를 포함할 수 있다. 상기 시스템은 또한 호스트 컴퓨팅 플랫폼과 결합된 메모리 시스템을 포함할 수 있다. 상기 메모리 시스템은 상기 메모리 시스템의 메모리 디바이스에 대한 컨트롤러를 포함할 수 있다. 상기 컨트롤러는 그의 적어도 일부가 하드웨어일 수 있는 로직을 포함할 수 있다. 이들 예에 대해, 상기 로직은 상기 메모리 디바이스에서의 레지스터에 저장된 하나 이상의 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴을 포함하는 상기 메모리 디바이스에 대한 기입 요청에 응답하여 커맨드를 생성할 수 있다. 상기 로직은 또한 상기 매칭하는 콘텐츠 패턴이 상기 메모리 디바이스에 대한 메모리 셀들의 적어도 일부에 저장되게 하기 위해 상기 커맨드를 상기 메모리 디바이스에 포워딩할 수 있다.
예 17. 제16항의 시스템으로서, 상기 커맨드는 기입 패턴 활성화(WPACT) 커맨드일 수 있다.
예 18. 제16항의 시스템으로서, 상기 매칭하는 콘텐츠 패턴은 모두 1의 비트 값들 또는 모두 0의 비트 값들을 포함할 수 있다.
예 19. 제16항의 시스템은 제1 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 상기 하나 이상의 콘텐츠 패턴을 결정하는 상기 로직을 추가로 포함할 수 있다.
예 20. 제19항의 시스템은 제2 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 하나 이상의 제2 콘텐츠 패턴을 결정하는 상기 로직을 추가로 포함할 수 있다. 상기 로직은 또한 상기 메모리 디바이스에 유지된 레지스터들로의 저장을 위해 상기 메모리 디바이스에 상기 하나 이상의 제2 콘텐츠 패턴을 포워딩할 수 있다.
예 21. 제16항의 시스템으로서, 상기 기입 요청은 상기 하나 이상의 애플리케이션 중의 애플리케이션으로부터 유래할 수 있다.
예 22. 제21항의 시스템으로서, 상기 애플리케이션은 비디오 재생 애플리케이션일 수 있고 상기 기입 요청은 비디오 재생 작업부하에 대한 것일 수 있다.
예 23. 제16항의 시스템으로서, 상기 메모리 디바이스는 비-휘발성 메모리 또는 휘발성 메모리를 포함할 수 있다. 이들 예에 대해, 상기 휘발성 메모리는 DRAM을 포함할 수 있고 상기 비-휘발성 메모리는 3-D 크로스-포인트 메모리, 칼코게나이드 상 변화 재료를 사용하는 메모리, 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 PCM, 저항성 메모리, 오보닉 메모리, 나노와이어 메모리, FeTRAM, 멤리스터 기술을 포함하는 MRAM 메모리, 또는 STT-MRAM을 포함할 수 있다.
명세서의 요약은, 독자가 본 기술적 개시의 본질을 빠르게 확인할 수 있게 할 요약을 요구하는, 37 C.F.R. 섹션 1.72(b)를 준수하기 위해 제공된다는 점을 강조한다. 그것은 청구항들의 범위 또는 의미를 해석하거나 제한하기 위해 사용되지는 않을 것이라는 이해 하에 제출된다. 또한, 전술한 상세한 설명에서는, 본 개시를 간소화할 목적으로, 다양한 피처들이 단일 예에 함께 그룹화되어 있음을 알 수 있다. 이러한 개시 방법은 청구된 예들이 각각의 청구항에서 명백하게 나열된 것보다 더 많은 피처들을 요구한다는 의도를 반영하는 것으로서 해석되어서는 안 된다. 오히려, 다음의 청구항들이 반영하는 바와 같이, 발명 주제는 개시된 단일 예의 모든 피처들보다 적은 것에 있다. 따라서, 다음의 청구항들은 이로써 상세한 설명에 포함되고, 각각의 청구항은 개별 예로서 독립적이다. 부가된 청구항들에서, "포함하는(including)" 및 "여기에서(in which)"라는 용어들은 각각 "포함하는(comprising)" 및 "여기서(wherein)"이라는 각자의 용어들의 평이한-영어 균등물들로서 사용된다. 더욱이, "제1", "제2", "제3", 및 기타 등등의 용어들은 단지 라벨들로서 사용된 것이고, 그것들의 대상들에 수치적 요건을 부과하도록 의도되지는 않는다.
비록 본 주제가 구조적 피처들 및/또는 방법론적 동작들에 특정한 언어로 설명되었지만, 부가된 청구항들에 정의된 주제는 반드시 위에 설명된 특정 피처들 또는 동작들로 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 위에 설명된 특정 피처들 및 동작들은 청구항들을 구현하는 예시적인 형태로서 개시된다.

Claims (20)

  1. 메모리 디바이스로서,
    2-차원 방식으로 조직된 메모리 비트 셀들의 어레이- 상기 메모리 비트 셀들의 어레이는 뱅크들로 분할됨 -;
    패턴 레지스터; 및
    그의 적어도 일부가 하드웨어를 포함하는 제어 로직
    을 포함하고,
    상기 제어 로직은,
    기입 패턴 활성화 커맨드를 수신하고;
    상기 기입 패턴 활성화 커맨드의 수신에 응답하여 상기 패턴 레지스터로부터 콘텐츠 패턴을 인출하고;
    상기 콘텐츠 패턴이 상기 메모리 비트 셀들의 어레이의 메모리 비트 셀들 중 적어도 일부에 저장되게 하며,
    상기 콘텐츠 패턴은 1 또는 0의 복수의 연속적으로 반복하는 비트 값을 포함하는, 메모리 디바이스.
  2. 제1항에 있어서, 상기 패턴 레지스터로부터 인출되는 상기 콘텐츠 패턴은 제1 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하는, 메모리 디바이스.
  3. 제1항에 있어서, 상기 패턴 레지스터로부터 인출되는 상기 콘텐츠 패턴은 제2 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 업데이트되는, 메모리 디바이스.
  4. 제1항에 있어서, 상기 메모리 비트 셀들의 어레이는 동적 랜덤 액세스 메모리(DRAM) 비트 셀들의 어레이를 포함하는, 메모리 디바이스.
  5. 방법으로서,
    메모리 디바이스의 제어 로직에 의해, 기입 패턴 활성화 커맨드를 수신하는 단계;
    상기 기입 패턴 활성화 커맨드의 수신에 응답하여, 상기 메모리 디바이스에 유지된 패턴 레지스터로부터 콘텐츠 패턴을 인출하는 단계; 및
    상기 콘텐츠 패턴이 상기 메모리 디바이스의 메모리 비트 셀들의 어레이의 메모리 비트 셀들 중 적어도 일부에 저장되게 하는 단계
    를 포함하고, 상기 콘텐츠 패턴은 1 또는 0의 복수의 연속적으로 반복하는 비트 값을 포함하는, 방법.
  6. 제5항에 있어서, 상기 패턴 레지스터로부터 인출되는 상기 콘텐츠 패턴은 제1 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하는, 방법.
  7. 제5항에 있어서, 상기 패턴 레지스터로부터 인출되는 상기 콘텐츠 패턴은 제2 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 업데이트되는, 방법.
  8. 제5항에 있어서, 상기 메모리 비트 셀들의 어레이는 비-휘발성 메모리 또는 휘발성 메모리를 포함하고, 상기 휘발성 메모리는 동적 랜덤 액세스 메모리(DRAM)을 포함하고, 상기 비-휘발성 메모리는 3-차원 크로스-포인트 메모리, 칼코게나이드 상 변화 재료를 사용하는 메모리, 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 상 변화 메모리(PCM), 저항성 메모리, 오보닉 메모리, 나노와이어 메모리, 강유전 트랜지스터 랜덤 액세스 메모리(FeTRAM), 멤리스터 기술을 포함하는 자기저항 랜덤 액세스 메모리(MRAM) 메모리, 또는 스핀 트랜스퍼 토크 MRAM(STT-MRAM)을 포함하는, 방법.
  9. 시스템에 의해 실행되는 것에 응답하여 상기 시스템으로 하여금 제5항 내지 제8항 중 어느 한 항에 따른 방법을 수행하게 하는 복수의 명령어를 포함하는 적어도 하나의 머신 판독가능 매체.
  10. 제5항 내지 제8항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는 장치.
  11. 메모리 컨트롤러로서,
    회로를 포함하고,
    상기 회로는,
    메모리 디바이스에 유지된 패턴 레지스터에 하나 이상의 콘텐츠 패턴을 기입하고;
    상기 패턴 레지스터에 기입된 상기 하나 이상의 콘텐츠 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴을 포함하는 상기 메모리 디바이스에 대한 기입 요청에 응답하여 기입 패턴 활성화 커맨드를 생성하며, 상기 기입 패턴 활성화 커맨드는 상기 메모리 디바이스에서의 제어 로직이 상기 패턴 레지스터로부터 상기 적어도 하나의 콘텐츠 패턴을 인출하게 하고, 이어서 상기 적어도 하나의 콘텐츠 패턴이 상기 메모리 디바이스의 메모리 비트 셀들에 저장되게 하며,
    상기 적어도 하나의 콘텐츠 패턴은 1 또는 0의 복수의 연속적으로 반복하는 비트 값을 포함하는, 메모리 컨트롤러.
  12. 제11항에 있어서, 상기 회로는,
    제1 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 상기 하나 이상의 콘텐츠 패턴을 결정하는, 메모리 컨트롤러.
  13. 제12항에 있어서, 상기 회로는,
    제2 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 하나 이상의 제2 콘텐츠 패턴을 결정하고;
    상기 메모리 디바이스에 유지된 상기 패턴 레지스터에 상기 하나 이상의 제2 콘텐츠 패턴을 기입하는, 메모리 컨트롤러.
  14. 제11항에 있어서, 상기 메모리 디바이스의 상기 메모리 비트 셀들은 동적 랜덤 액세스 메모리(DRAM) 비트 셀들을 포함하는, 메모리 컨트롤러.
  15. 시스템으로서,
    호스트 컴퓨팅 디바이스가 하나 이상의 애플리케이션을 실행하기 위한 적어도 하나의 프로세서; 및
    상기 호스트 컴퓨팅 디바이스와 결합된 메모리 시스템
    을 포함하고,
    상기 메모리 시스템은 상기 메모리 시스템의 메모리 디바이스에 대한 컨트롤러를 포함하고, 상기 컨트롤러는 회로를 포함하고, 상기 회로는,
    상기 메모리 디바이스에 유지된 패턴 레지스터에 하나 이상의 콘텐츠 패턴을 기입하고;
    상기 패턴 레지스터에 기입된 상기 하나 이상의 패턴에 포함된 콘텐츠 패턴과 매칭하는 적어도 하나의 콘텐츠 패턴을 포함하는 상기 메모리 디바이스에 대한 기입 요청에 응답하여 기입 패턴 활성화 커맨드를 생성하며, 상기 기입 패턴 활성화 커맨드는 상기 메모리 디바이스에서의 제어 로직이 상기 패턴 레지스터로부터 상기 적어도 하나의 콘텐츠 패턴을 인출하게 하고, 이어서 상기 적어도 하나의 콘텐츠 패턴이 상기 메모리 디바이스의 메모리 비트 셀들에 저장되게 하며,
    상기 적어도 하나의 콘텐츠 패턴은 1 또는 0의 복수의 연속적으로 반복하는 비트 값을 포함하는, 시스템.
  16. 제15항에 있어서, 상기 회로는,
    제1 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 상기 하나 이상의 콘텐츠 패턴을 결정하는 것을 더 포함하는, 시스템.
  17. 제15항에 있어서, 상기 회로는,
    제2 시간 간격에 걸쳐 상기 메모리 디바이스에 대한 기입 요청들에 대한 런-타임 정보에 기초하여 하나 이상의 제2 콘텐츠 패턴을 결정하고;
    상기 메모리 디바이스에 유지된 상기 패턴 레지스터에 상기 하나 이상의 제2 콘텐츠 패턴을 기입하는 것을 더 포함하는, 시스템.
  18. 제15항에 있어서, 상기 기입 요청은 상기 하나 이상의 애플리케이션 중의 애플리케이션으로부터 유래하는, 시스템.
  19. 제18항에 있어서, 상기 애플리케이션은 비디오 재생 애플리케이션을 포함하고, 상기 기입 요청은 비디오 재생 작업부하에 대한 것인, 시스템.
  20. 제15항에 있어서, 상기 메모리 디바이스는 비-휘발성 메모리 또는 휘발성 메모리를 포함하고, 상기 휘발성 메모리는 동적 랜덤 액세스 메모리(DRAM)을 포함하고, 상기 비-휘발성 메모리는 3-차원 크로스-포인트 메모리, 칼코게나이드 상 변화 재료를 사용하는 메모리, 멀티-임계 레벨 NAND 플래시 메모리, NOR 플래시 메모리, 단일 또는 멀티-레벨 상 변화 메모리(PCM), 저항성 메모리, 오보닉 메모리, 나노와이어 메모리, 강유전 트랜지스터 랜덤 액세스 메모리(FeTRAM), 멤리스터 기술을 포함하는 자기저항 랜덤 액세스 메모리(MRAM) 메모리, 또는 스핀 트랜스퍼 토크 MRAM(STT-MRAM)을 포함하는, 시스템.
KR1020227027057A 2016-03-04 2017-01-16 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법 KR20220113850A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201662303688P 2016-03-04 2016-03-04
US62/303,688 2016-03-04
US15/277,159 US20170255387A1 (en) 2016-03-04 2016-09-27 Techniques to Cause a Content Pattern to be Stored to Memory Cells of a Memory Device
US15/277,159 2016-09-27
KR1020187022496A KR20180113521A (ko) 2016-03-04 2017-01-16 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법
PCT/US2017/013655 WO2017151227A1 (en) 2016-03-04 2017-01-16 Techniques to cause a content pattern to be stored to memory cells of a memory device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187022496A Division KR20180113521A (ko) 2016-03-04 2017-01-16 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법

Publications (1)

Publication Number Publication Date
KR20220113850A true KR20220113850A (ko) 2022-08-16

Family

ID=59722156

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227027057A KR20220113850A (ko) 2016-03-04 2017-01-16 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법
KR1020187022496A KR20180113521A (ko) 2016-03-04 2017-01-16 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187022496A KR20180113521A (ko) 2016-03-04 2017-01-16 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법

Country Status (6)

Country Link
US (1) US20170255387A1 (ko)
EP (1) EP3423948B1 (ko)
KR (2) KR20220113850A (ko)
CN (2) CN108780427B (ko)
TW (1) TWI735515B (ko)
WO (1) WO2017151227A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11226762B2 (en) 2019-01-31 2022-01-18 Sony Group Corporation Memory command that specifies one of multiple possible write data values where the write data is not transported over a memory data bus
JP2022181756A (ja) * 2021-05-27 2022-12-08 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
JP7074417B1 (ja) * 2021-06-16 2022-05-24 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319766A (ja) * 1994-05-19 1995-12-08 Internatl Business Mach Corp <Ibm> L2キャッシュ内容モード変更システムおよび方法
JP3765931B2 (ja) * 1998-10-15 2006-04-12 富士通株式会社 バッファ制御方法及びバッファ制御装置
US20070156587A1 (en) * 2000-01-06 2007-07-05 Super Talent Electronics Inc. Content Protection Using Encryption Key Embedded with Content File
DE60237301D1 (de) * 2001-10-22 2010-09-23 Rambus Inc Phaseneinstellvorrichtung und verfahren für ein speicherbaustein-signalisierungssystem
US7428672B2 (en) * 2003-08-27 2008-09-23 Micron Technology, Inc. Apparatus and methods for testing memory devices
JP5018074B2 (ja) * 2006-12-22 2012-09-05 富士通セミコンダクター株式会社 メモリ装置,メモリコントローラ及びメモリシステム
KR100909965B1 (ko) * 2007-05-23 2009-07-29 삼성전자주식회사 버스를 공유하는 휘발성 메모리 및 불휘발성 메모리를구비하는 반도체 메모리 시스템 및 불휘발성 메모리의 동작제어 방법
JP5090941B2 (ja) * 2008-01-29 2012-12-05 株式会社日立製作所 ストレージサブシステム及びストレージシステム
WO2009117251A1 (en) * 2008-03-19 2009-09-24 Rambus Inc. Optimizing storage of common patterns in flash memory
US9881099B2 (en) 2010-05-24 2018-01-30 International Business Machines Corporation System, method and computer program product for data transfer management
KR101739556B1 (ko) * 2010-11-15 2017-05-24 삼성전자주식회사 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법
CA2837725C (en) * 2011-06-10 2017-07-11 Shazam Entertainment Ltd. Methods and systems for identifying content in a data stream
JP2013210836A (ja) * 2012-03-30 2013-10-10 Fujitsu Ltd データ転送回路及びデータ転送方法
WO2014010763A1 (ko) * 2012-07-11 2014-01-16 한양대학교 산학협력단 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치 및 방법
US9214232B2 (en) * 2012-07-26 2015-12-15 Micron Technology, Inc. Methods and apparatuses for calibrating data sampling points
US9098400B2 (en) * 2012-10-31 2015-08-04 International Business Machines Corporation Dynamic tuning of internal parameters for solid-state disk based on workload access patterns
KR20140072276A (ko) * 2012-11-29 2014-06-13 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 동작 방법
US9098402B2 (en) * 2012-12-21 2015-08-04 Intel Corporation Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US9286964B2 (en) * 2012-12-21 2016-03-15 Intel Corporation Method, apparatus and system for responding to a row hammer event
US9489997B2 (en) * 2013-07-03 2016-11-08 Crossbar, Inc. Hardware assisted meta data lookup
US9805802B2 (en) * 2015-09-14 2017-10-31 Samsung Electronics Co., Ltd. Memory device, memory module, and memory system

Also Published As

Publication number Publication date
US20170255387A1 (en) 2017-09-07
CN108780427A (zh) 2018-11-09
CN115033505B (zh) 2024-01-12
WO2017151227A1 (en) 2017-09-08
CN108780427B (zh) 2023-07-14
EP3423948A1 (en) 2019-01-09
CN115033505A (zh) 2022-09-09
TW201734751A (zh) 2017-10-01
TWI735515B (zh) 2021-08-11
EP3423948A4 (en) 2019-11-20
KR20180113521A (ko) 2018-10-16
EP3423948B1 (en) 2021-12-15

Similar Documents

Publication Publication Date Title
US10031684B2 (en) Techniques for a write zero operation
US10592445B2 (en) Techniques to access or operate a dual in-line memory module via multiple data channels
US9772803B2 (en) Semiconductor memory device and memory system
US10802532B2 (en) Techniques to mirror a command/address or interpret command/address logic at a memory device
TWI713033B (zh) 用於以指令為基礎的晶粒內終止之技術
US9064603B1 (en) Semiconductor memory device and memory system including the same
TWI814074B (zh) 用以使用針對雙直列記憶體模組的晶片選擇信號之技術
US10055169B2 (en) Memory system and read request management method thereof
US11216386B2 (en) Techniques for setting a 2-level auto-close timer to access a memory device
EP3423948B1 (en) Techniques to cause a content pattern to be stored to memory cells of a memory device

Legal Events

Date Code Title Description
A107 Divisional application of patent