KR20160114662A - 메모리 디바이스와 연관된 커맨드의 디스에이블링 - Google Patents

메모리 디바이스와 연관된 커맨드의 디스에이블링 Download PDF

Info

Publication number
KR20160114662A
KR20160114662A KR1020167023532A KR20167023532A KR20160114662A KR 20160114662 A KR20160114662 A KR 20160114662A KR 1020167023532 A KR1020167023532 A KR 1020167023532A KR 20167023532 A KR20167023532 A KR 20167023532A KR 20160114662 A KR20160114662 A KR 20160114662A
Authority
KR
South Korea
Prior art keywords
command
memory device
instance
processing logic
memory
Prior art date
Application number
KR1020167023532A
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 KR20160114662A publication Critical patent/KR20160114662A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/0608Saving storage space on 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/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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0629Configuration or reconfiguration of 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/46Test trigger logic
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/83Masking faults in memories by using spares or by reconfiguring using programmable devices with reduced power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/025Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits

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 Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Dram (AREA)
  • Retry When Errors Occur (AREA)

Abstract

일 실시예에서, 메모리 디바이스는 디바이스 처리 로직과 모드 레지스터를 포함할 수 있다. 모드 레지스터는 메모리 디바이스의 동작 모드를 명시할 수 있는 레지스터일 수 있다. 모드 레지스터 내의 필드는 메모리 디바이스와 연관된 커맨드가 디스에이블될 지를 지시할 수 있는 값을 보유할 수 있다. 값은 메모리 디바이스가 전력-사이클링 또는 리셋될 때까지 필드에 보유될 수 있다. 디바이스 처리 로직은 커맨드의 인스턴스를 획득할 수 있다. 디바이스 처리 로직은 커맨드가 모드 레지스터에 의해 보유된 값에 기초하여 디스에이블될 지를 결정할 수 있다. 디바이스 처리 로직은 디바이스 처리 로직이 커맨드가 디스에이블되는 것으로 결정하면 커맨드의 인스턴스를 실행하지 않을 수 있다. 디바이스 처리 로직이 커맨드가 디스에이블되지 않는 것으로 결정하면, 디바이스 처리 로직은 커맨드의 인스턴스를 실행할 수 있다.

Description

메모리 디바이스와 연관된 커맨드의 디스에이블링{DISABLING A COMMAND ASSOCIATED WITH A MEMORY DEVICE}
디바이스와 연관된 커맨드 버스를 트레이닝하기 위해 DRAM(dynamic random access memory) 디바이스에 대한 커맨드 트레이닝이 수행될 수 있다. 트레이닝은 타이밍 또는 전압에 여유를 두면서 기능적 기입/판독 트래픽을 사용하여 커맨드 버스를 테스트하는 것을 포함할 수 있다. 트레이닝 동안 실패가 검출되면, DRAM 디바이스가 불량 상태에 있고 완전 리셋을 행해야 한다고 일반적으로 가정된다. 특정 메모리 디바이스들과의 쟁점은 불량 커맨드가 PPR(post package repair) 커맨드로서 우연히 수신될 수 있다는 점일 수 있다. PPR 커맨드는 메모리 디바이스들에서 행 대체 퓨즈들을 버닝하는 것(burning row replacement fuses)을 인에이블할 수 있다. 퓨즈를 우연히 버닝하는 것은, 소중한 PPR 리소스들을 영구적으로 소모하는 것(실제 수리를 위해 남아 있는 리소스들이 없게 됨), 다운스트림 실패를 발생시키는 불완전 행 퓨징(incomplete row fusing), 및 리셋이 복구되지 않는 불확실한 상태에 메모리 디바이스를 두는 것을 포함하여, 여러 가능한 쟁점들을 발생시킬 수 있다.
본 명세서에 포함되어 그 일부를 구성하는 첨부 도면들은, 본 명세서에 설명되는 하나 이상의 실시예들을 도시하고, 그 설명과 함께, 이러한 실시예들을 설명한다. 도면에서:
도 1은 컴퓨팅 디바이스의 예시적인 실시예의 블록도를 도시한다;
도 2는 컴퓨팅 디바이스에 포함될 수 있는 처리 로직과 주 저장소의 예시적인 실시예를 도시한다;
도 3은 메모리 디바이스의 예시적인 실시예를 도시한다;
도 4는 메모리 디바이스와 연관될 수 있는 모드 레지스터의 예시적인 실시예를 도시한다;
도 5는 메모리 디바이스와 연관된 커맨드를 디스에이블하기 위해 수행될 수 있는 예시적인 행위들의 흐름도를 도시한다; 그리고
도 6은 디스에이블된 커맨드의 인스턴스를 처리하기 위해 메모리 디바이스에 의해 수행될 수 있는 예시적인 행위들의 흐름도를 도시한다.
이하의 상세한 설명은 첨부 도면들을 참조한다. 상이한 도면들 내의 동일한 참조 번호들은 동일한 또는 유사한 요소들을 식별할 수 있다. 또한, 이하의 상세한 설명이 본 발명을 제한하는 것은 아니다.
컴퓨팅 디바이스는, 예를 들어, 처리 로직과 저장소를 포함할 수 있다. 처리 로직은 저장소에 저장될 수 있는 정보를 실행 및/또는 조작할 수 있는 로직(예를 들어, 하드웨어)을 포함할 수 있다. 정보는, 예를 들어, 데이터 및/또는 컴퓨터 실행가능 명령어들을 포함할 수 있다.
저장소는 정보를 저장하는데 사용될 수 있는 하나 이상의 메모리 디바이스들을 포함할 수 있다. 저장소는 휘발성 및/또는 비휘발성일 수 있다. 휘발성인 저장소는 전력이 저장소에서 제거될 때 저장소에 저장된 정보를 상실할 수 있다. 비휘발성인 저장소는 전력이 저장소에서 제거될 때 정보를 저장소에 유지할 수 있다. 휘발성인 저장소는 휘발성 저장소라고 지칭될 수 있고, 비휘발성인 저장소는 비휘발성 저장소라고 지칭될 수 있다.
예를 들어, 컴퓨팅 디바이스는 프로세서 및 저장소를 포함할 수 있다. 저장소는 정보를 저장하는데 사용될 수 있는 하나 이상의 메모리 디바이스들을 포함할 수 있다. 정보는, 예를 들어, 프로세서에 의해 조작될 수 있는 데이터 및/또는 프로세서에 의해 실행될 수 있는 컴퓨터 실행가능 명령어들을 포함할 수 있다.
메모리 디바이스들은 컴퓨팅 디바이스를 위한 휘발성 및/또는 비휘발성 저장소를 제공할 수 있다. 전력이 컴퓨팅 디바이스에서 제거된 후 지속되어야 할 정보는 컴퓨팅 디바이스를 위한 비휘발성 저장소를 제공할 수 있는 메모리 디바이스들에 저장될 수 있다. 컴퓨팅 디바이스를 위한 휘발성 저장소를 제공하는 메모리 디바이스들에 저장된 정보는 전력이 컴퓨팅 디바이스에서 제거된 이후 상실될 수 있다.
컴퓨팅 디바이스는 컴퓨팅 디바이스에 포함된 처리 로직을 컴퓨팅 디바이스에 포함된 하나 이상의 메모리 디바이스들과 인터페이스하는데 사용될 수 있는 메모리 제어기를 포함할 수 있다. 메모리 제어기는 다양한 동작들을 수행하기 위해 커맨드들의 하나 이상의 인스턴스들을 생성하여 이를 메모리 디바이스에 발행(예를 들어, 송신)할 수 있다.
예를 들어, 프로세서는 저장소 내의 한 위치에 데이터를 기입할 수 있다. 그 위치에 그 데이터를 저장하기 위한 저장소 영역은 그 저장소에 포함된 다수의 메모리 디바이스들에 의해 제공될 수 있다. 프로세서는 메모리 디바이스들 내에 데이터를 기입하기 위해 커맨드들의 하나 이상의 인스턴스들을 생성하여 이를 메모리 디바이스들에 발행할 수 있는 메모리 제어기를 포함할 수 있다.
메모리 디바이스들은 다양한 종류의 커맨드들을 지원할 수 있다. 커맨드들은, 예를 들어, 표준 커맨드들 및/또는 공급 업체 특유의 커맨드들을 포함할 수 있다. 표준 커맨드들은 산업 표준에 의해 명시될 수 있는 커맨드들을 포함할 수 있다. 예를 들어, JEDEC(Joint Electron Device Engineering Council) Solid State Technology Association은 메모리 디바이스들을 위한 다양한 산업 표준들을 개발해 왔다. JEDEC에 의해 개발된 표준의 예는 DDR4(fourth generation double data rate) 메모리 디바이스들에 대한 최소 세트의 요건들을 정의하는 JESD79-4를 포함한다.
공급 업체 특유의 커맨드는, 예를 들어, 메모리 디바이스의 특정 공급 업체에 의해 정의될 수 있는 비표준 커맨드일 수 있다. 커맨드들이 공급 업체에 의해 정의될 수 있기 때문에, 커맨드와 연관된 기능들은 문서화될 수 있거나 그렇지 않을 수 있다. 그러므로, 공급 업체 특유의 커맨드의 인스턴스를 메모리 디바이스에 발행하는 것은 메모리 디바이스를 미지의 상태에 둘 수 있다.
예를 들어, 특정 공급 업체로부터의 메모리 디바이스는 커맨드를 동작의 공급 업체 정의된 모드에 두는 그 공급 업체에만 알려진 공급 업체 특유의 커맨드를 위한 지원을 포함할 수 있다. 공급 업체 특유의 커맨드의 인스턴스를 메모리 디바이스에 발행하는 것은 메모리 디바이스를 동작의 공급 업체 정의된 모드에 둘 수 있는 커맨드의 인스턴스를 메모리 디바이스가 실행하게 할 수 있다. 동작의 모드가 비표준이기 때문에, 메모리 디바이스가 어떠한 모드에 있는지 명백하지 않을 수 있고, 그러므로 디바이스는 미지의 상태에 있는 것으로 고려될 수 있다.
메모리 디바이스에 의해 지원되는 커맨드들은, 예를 들어, PPR(post package repair) 커맨드를 포함할 수 있다. PPR 커맨드는, 예를 들어, 메모리 디바이스가 패키지화된 이후, 메모리 디바이스를 수리하는데 사용될 수 있다. 수리는 디바이스를 수리하기 위해 메모리 디바이스에서 로직을 비가역적으로 변경하는 것을 포함할 수 있다.
예를 들어, 정보를 메모리 디바이스에 저장하는데 사용될 수 있는 메모리 셀들의 하나 이상의 예비 행들을 메모리 디바이스가 포함하는 것을 가정하자. 또한, 현재 사용된 행이 예비 행들 중 하나에 비가역적으로 리매핑될 수 있게 하는 PPR 커맨드를 메모리 디바이스가 지원한다고 가정하자.
현재 사용된 행에 메모리 디바이스가 불량 메모리셀을 포함한다고 이제 가정하자. 현재 사용된 행을 예비 행들 중 하나에 리매핑하기 위해 PPR 커맨드의 인스턴스가 메모리 디바이스에 발행될 수 있다. 메모리 디바이스는 PPR 커맨드의 인스턴스를 획득(예를 들어, 판독, 수신)하여 이를 처리할 수 있다. 처리는, 메모리 디바이스를 수리하고, 불량 메모리셀을 포함하는 행을 메모리 디바이스가 더 이상 사용하지 않게 하기 위해, 불량 메모리셀을 포함하는 현재 사용된 행을 예비 행들 중 하나에 비가역적으로 리매핑하는 것을 포함할 수 있다.
다양한 커맨드들의 인스턴스들이 다양한 시점들에 그리고 다양한 이유들로 메모리 디바이스에 발행될 수 있다. 예를 들어, 컴퓨팅 디바이스에 전력이 공급된 이후, 컴퓨팅 디바이스와 연관된 메모리 제어기는, 예를 들어, 메모리 제어기로부터 메모리 디바이스들로 커맨드들의 인스턴스들을 전송하는데 사용될 수 있는 커맨드 버스를 트레이닝 및/또는 테스트하기 위해, 다양한 커맨드들의 인스턴스들을 하나 이상의 메모리 디바이스들에 발행할 수 있다.
메모리 디바이스에 발행된 커맨드의 인스턴스가, 예를 들어, 공급 업체 특유의 커맨드 또는 PPR 커맨드로서 메모리 디바이스에 의해 잘못 해석된다면, 문제점이 발생할 수 있다. 예를 들어, 메모리 제어기와 메모리 디바이스 사이의 트레이닝 시퀀스가 메모리 제어기와 메모리 디바이스 사이의 커맨드들의 다양한 인스턴스들을 송신하는 것을 포함한다고 가정하자. 또한, 트레이닝 시퀀스 동안 메모리 디바이스가 커맨드들의 인스턴스들 중 하나를 PPR 커맨드로서 잘못 해석한다고 가정하자.
커맨드의 잘못 해석된 인스턴스를 처리함에 있어서, 메모리 디바이스는 메모리 셀들의 행을 메모리 셀들의 가용 예비 행과 우연히 리매핑할 수 있다. 이러한 불필요한 리매핑은, 결국, 메모리 디바이스와 연관된 소중한 리소스들의 불필요한 소비, 즉, 예비 메모리 셀들의 제한된 가용 행들의 불필요한 소비에 이르게 될 수 있다. 본 명세서에 설명되는 하나 이상의 기술들은, 예를 들어, 커맨드들의 인스턴스들이 메모리 디바이스에 의해 잘못 해석될 때 발생할 수 있는 문제점들을 제거할 수 있다.
본 명세서에 설명되는 하나 이상의 기술들은 컴퓨팅 디바이스에 구현될 수 있다. 본 명세서에 설명되는 하나 이상의 기술들을 구현할 수 있는 컴퓨팅 디바이스들의 예들은, 이에 제한되는 것은 아니지만, 스마트 폰, 태블릿, 데스크톱 컴퓨터, 또는 울트라북을 포함한다. 도 1은 본 명세서에 설명되는 하나 이상의 기술들을 구현할 수 있는 컴퓨팅 디바이스(100)의 예시적인 실시예의 블록도를 도시한다.
도 1을 참조하면, 컴퓨팅 디바이스(100)는, 예를 들어, 처리 로직(220), 주 저장소(230), BIOS(basic input/output system)(140), 보조 저장소(150), 하나 이상의 입력 디바이스들(160), 하나 이상의 출력 디바이스들(170), 및 하나 이상의 통신 인터페이스들(180)과 같은, 다양한 컴포넌트들을 포함할 수 있다.
도 1은 본 명세서에 설명되는 하나 이상의 기술들을 구현할 수 있는 컴퓨팅 디바이스의 예시적인 실시예를 도시한다는 점이 주목되어야 한다. 본 명세서에 설명되는 하나 이상의 기술들을 구현할 수 있는 컴퓨팅 디바이스의 다른 실시예들은 도 1에 도시된 컴포넌트들보다 더 많은 컴포넌트들 또는 더 적은 컴포넌트들을 포함할 수 있다. 또한, 이러한 컴포넌트들은 도 1에 도시된 것과 상이하게 배열될 수 있다.
예를 들어, 본 명세서에 설명되는 하나 이상의 기술들을 구현할 수 있는 컴퓨팅 디바이스의 실시예에서, 보조 저장소(150)의 일부는 "클라우드(cloud)" 저장소를 제공한 원격 사이트에 포함될 수 있다. 이러한 사이트는, 예를 들어, 인터넷과 같은, 통신 네트워크를 통해 컴퓨팅 디바이스에 액세스가능할 수 있다. 통신 인터페이스(180)는 컴퓨팅 디바이스를 통신 네트워크와 인터페이스하는데 사용될 수 있다.
또한, 본 명세서에 설명되는 하나 이상의 기술들을 구현할 수 있는 컴퓨팅 디바이스들의 다른 실시예들에 포함되는 다양한 컴포넌트들에 의해 수행되는 기능들이 본 명세서에 설명되는 것과 상이하게 컴포넌트들 간에 분산될 수 있다는 점이 주목되어야 한다.
컴퓨팅 디바이스(100)는, 예를 들어, 처리 로직(220), 보조 저장소(150), 하나 이상의 입력 디바이스들(160), 하나 이상의 출력 디바이스들(170), 및/또는 하나 이상의 통신 인터페이스들(180)과 같은, 컴퓨팅 디바이스(100) 내의 컴포넌트들 사이의 통신을 가능하게 할 수 있는 I/O(input/output) 버스(110)를 포함할 수 있다. 통신은, 다른 것들 중에서, 예를 들어, 컴포넌트들 사이에 데이터 및/또는 제어 신호들을 전송하는 것을 포함할 수 있다. I/O 버스(110)를 구현하는데 사용될 수 있는 I/O 버스들의 예들은, 이에 제한되는 것은 아니지만, SATA(serial AT attachment) 버스, PCI(peripheral component interconnect) 버스, PCI-e(PCI express) 버스, USB(universal serial bus), SCSI(small computer system interface) 버스, 및 SAS(serial attached SCSI) 버스를 포함한다.
컴퓨팅 디바이스(100)는, 주 저장소(230)에 저장될 수 있는 정보가 처리 로직(220)과 주 저장소(230) 사이에 전송되게 할 수 있는 메모리 버스(190)를 포함할 수 있다. 정보는, 예를 들어, 처리 로직(220)에 의해 실행, 조작, 및/또는 다른 방식으로 처리될 수 있는 컴퓨터 실행가능 명령어들 및/또는 데이터를 포함할 수 있다.
버스(190)는 또한 처리 로직(220)에 포함될 수 있는 메모리 제어기와 주 저장소(230)에 포함될 수 있는 하나 이상의 메모리 디바이스들 사이에 하나 이상의 커맨드들의 인스턴스들을 전송하기 위한 대비들을 포함할 수 있다. 처리 로직(220)에 포함될 수 있는 메모리 제어기 및 주 저장소(230)에 포함될 수 있는 메모리 디바이스들의 예들이 이하 더욱 논의될 것이다.
처리 로직(220)은 정보를 해석, 실행, 및/또는 다른 방식으로 처리하기 위한 로직을 포함할 수 있다. 정보는, 예를 들어, 주 저장소(230) 및/또는 보조 저장소(150)에 저장될 수 있는 정보를 포함할 수 있다. 또한, 정보는 하나 이상의 입력 디바이스들(160) 및/또는 통신 인터페이스들(180)에 의해 획득될 수 있는 정보를 포함할 수 있다.
처리 로직(220)은 다양한 이종의 하드웨어를 포함할 수 있다. 하드웨어는, 예를 들어, 하나 이상의 프로세서들, 마이크로프로세서들, FPGA(field programmable gate array)들, ASIP(application specific instruction set processor)들, ASIC(application specific integrated circuit)들, CPLD(complex programmable logic device)들, GPU(graphics processing unit)들, 및/또는, 예를 들어, 정보를 해석, 실행, 조작, 및/또는 다른 방식으로 처리할 수 있는 다른 종류의 처리 로직의 어떤 조합을 포함할 수 있다. 처리 로직(220)은 단일의 코어 또는 다수의 코어들을 포함할 수 있다. 처리 로직(220)을 구현하는데 사용될 수 있는 프로세서들의 예들은, 이에 제한되는 것은 아니지만, 캘리포니아주, 산타 클라라 소재의 Intel Corporation으로부터 입수 가능한 Intel® Xeon® 프로세서 및 Intel® Atom™ 브랜드 프로세서들을 포함한다.
입력 디바이스들(160)은 컴퓨팅 디바이스(100) 내에 정보를 입력하는데 사용될 수 있는 하나 이상의 디바이스들을 포함할 수 있다. 이러한 디바이스들은, 예를 들어, 키보드, 컴퓨터 마우스, 마이크로폰, 카메라, 트랙볼, 자이로스코픽 디바이스(gyroscopic device)(예를 들어, 자이로스코프), 미니-마우스, 터치 패드, 스타일러스, 그래픽 태블릿, 터치 스크린, 조이스틱(등장성(isotonic) 또는 등척성(isometric)), 포인팅 스틱, 가속도계, 손바닥 마우스(palm mouse), 발 마우스(foot mouse), 퍽(puck), 안구 제어 디바이스, 손가락 마우스, 라이트 펜(light pen), 라이트 건(light gun), 신경 디바이스, 눈 추적 디바이스, 조종 핸들(steering wheel), 요크(yoke), 조그 다이얼(jog dial), 스페이스 볼(space ball), 방향 패드, 댄스 패드, 비누 마우스(soap mouse), 햅틱 디바이스, 촉각 디바이스, 신경 디바이스, 멀티포인트 입력 디바이스, 개별 포인팅 디바이스(discrete pointing device), 및/또는 일부 다른 입력 디바이스를 포함할 수 있다.
정보는, 예를 들어, 컴퓨터 마우스와 같은, 포인팅 디바이스를 사용하여 컴퓨팅 디바이스(100) 내에 입력될 수 있는 공간(예를 들어, 연속적, 다차원) 데이터를 포함할 수 있다. 정보는 또한, 예를 들어, 키보드를 사용하여 입력될 수 있는 텍스트와 같은, 다른 형태의 데이터를 포함할 수 있다.
출력 디바이스들(170)은 컴퓨팅 디바이스(100)로부터 정보를 출력할 수 있는 하나 이상의 디바이스들을 포함할 있다. 이러한 디바이스들은, 예를 들어, CRT(cathode ray tube), 플라즈마 디스플레이 디바이스, LED(light-emitting diode) 디스플레이 디바이스, LCD(liquid crystal display) 디바이스, VFD(vacuum florescent display) 디바이스, SED(surface-conduction electron-emitter display) 디바이스, FED(field emission display) 디바이스, 햅틱 디바이스, 촉각 디바이스, 프린터, 스피커, 비디오 프로젝터, 입체 디스플레이 디바이스, 플로터, 터치 스크린, 및/또는 일부 다른 출력 디바이스를 포함할 수 있다.
출력 디바이스(170)는 컴퓨팅 디바이스(100)로부터 정보를 출력하라고, 예를 들어, 처리 로직(220)에 의해 지시를 받을 수 있다. 정보를 출력하는 것은 출력 디바이스(170) 상에 정보를 제시하는 것(예를 들어, 디스플레이하는 것, 인쇄하는 것)을 포함할 수 있다. 정보는, 예를 들어, 텍스트, GUI(graphical user interface) 요소들(예를 들어, 윈도우들, 위젯들, 및/또는 다른 GUI 요소들), 오디오(예를 들어, 음악, 사운드), 및/또는 출력 디바이스들(170)에 의해 출력될 수 있는 다른 정보를 포함할 수 있다.
통신 인터페이스들(180)은 컴퓨팅 디바이스(100)를, 예를 들어, 하나 이상의 통신 네트워크들과 인터페이스하기 위한 로직을 포함할 수 있고, 컴퓨팅 디바이스(100)가 통신 네트워크들에 연결된 하나 이상의 엔티티들(예를 들어, 노드들)과 통신하게 할 수 있다. 통신 네트워크들은, 예를 들어, 인터넷, WAN(wide-area network)들, LAN(local area network)들, 3G 및/또는 4G 네트워크들을 포함할 수 있다.
통신 인터페이스들(180)은 컴퓨팅 디바이스(100)가 통신 네트워크들에 연결된 엔티티들과 통신하게 할 수 있는 하나 이상의 송수신기형 메커니즘들을 포함할 수 있다. 통신 인터페이스들(180)의 예들 내장형 네트워크 어댑터, NIC(network interface card), PCMCIA(Personal Computer Memory Card International Association) 네트워크 카드, 카드 버스 네트워크 어댑터, 무선 네트워크 어댑터, USB(Universal Serial Bus) 네트워크 어댑터, 모뎀, 및/또는 컴퓨팅 디바이스(100)를 통신 네트워크에 인터페이스하기에 적합한 다른 디바이스를 포함할 수 있다.
주 저장소(230) 및 보조 저장소(150)는 컴퓨팅 디바이스(100)에 대한 정보를 저장하는데 사용될 수 있는 하나 이상의 메모리 디바이스들을 포함할 수 있다. 메모리 디바이스는, 예를 들어, 메모리 디바이스에 포함된 정보에 대한 시리얼 또는 랜덤 액세스를 지원할 수 있다. 메모리 디바이스에 저장된 정보에 대한 시리얼 액세스를 지원하는 메모리 디바이스는 시리얼 메모리 디바이스(serial memory device)라고 지칭될 수 있다. 메모리 디바이스에 저장된 정보에 대한 랜덤 액세스를 지원하는 메모리 디바이스는 RAM(random access memory) 디바이스라고 지칭될 수 있다.
메모리 디바이스는, 예를 들어, 휘발성 메모리 디바이스 또는 비휘발성 메모리 디바이스일 수 있다. 휘발성 메모리 디바이스는, 전력이 메모리 디바이스에서 제거된 이후 디바이스에 저장된 정보를 상실할 수 있는 메모리 디바이스일 수 있다. 비휘발성 메모리 디바이스는, 전력이 메모리 디바이스에서 제거된 이후 메모리 디바이스에 저장된 정보를 유지할 수 있는 메모리 디바이스일 수 있다.
컴퓨팅 디바이스(100)에 사용될 수 있는 메모리 디바이스들의 예들은, 이에 제한되는 것은 아니지만, DRAM(dynamic RAM) 디바이스, 플래시 메모리 디바이스, SRAM(static RAM) 디바이스, ZRAM(zero-capacitor RAM) 디바이스, TTRAM(twin transistor RAM) 디바이스, ROM(read-only memory) 디바이스, FeTRAM(ferroelectric transistor RAM) 디바이스, MRAM(magneto-resistive RAM) 디바이스, PCM(phase change memory) 디바이스, PCMS(PCM and switch) 디바이스, 나노와이어 기반 디바이스, RRAM(resistive RAM) 디바이스, 및 EEPROM(electrically erasable programmable ROM) 디바이스를 포함할 수 있다.
주 저장소(230)는 메모리 버스(190)를 통해 처리 로직(220)에 액세스 가능할 수 있다. 주 저장소(230)는 OS(operating system) 및/또는 소프트웨어 애플리케이션과 관련될 수 있는(예를 들어, 구현할 수 있는) 컴퓨터 실행가능 명령어들 및/또는 데이터를 저장할 수 있다. 컴퓨터 실행가능 명령어들은 처리 로직(220)에 의해 실행, 해석, 및/또는 다른 방식으로 처리될 수 있다.
주 저장소(230)는 처리 로직(220)에 대한 정보를 저장할 수 있는 하나 이상의 메모리 디바이스들을 사용하여 구현될 수 있다. 정보는 처리 로직(220)에 의해 실행될 수 있는 실행가능 명령어들을 포함할 수 있다. 정보는 또한 처리 로직(220)에 의해 조작될 수 있는 데이터를 포함할 수 있다. 메모리 디바이스들은 휘발성 및/또는 비휘발성 메모리 디바이스들을 포함할 수 있다.
위에 기재된 바와 같이, 주 저장소(230)는 OS와 연관된 컴퓨터 실행가능 명령어를 저장할 수 있다. OS는 다양한 종래의 운영 체제 기능들을 구현할 수 있는 종래의 운영 체제일 수 있다. 이러한 기능들은, 예를 들어,(1) 처리 로직(220)에 의해 실행될 소프트웨어 애플리케이션의 하나 이상의 부분들을 스케줄링하는 것,(2) 주 저장소(230)를 관리하는 것, 및(3) 컴퓨팅 디바이스(100)에서의 다양한 컴포넌트들(예를 들어, 입력 디바이스들(160), 출력 디바이스(170), 통신 인터페이스들(180), 보조 저장소(150)) 및 이러한 컴포넌트들에 의해 수신 및/또는 수신되는 정보에 대한 액세스를 제어하는 것을 포함할 수 있다.
사용될 수 있는 운영 체제들의 예들은, 이에 제한되는 것은 아니지만, Linux 운영 체제, Microsoft Windows 운영 체제, Symbian 운영 체제, Mac OS 운영 체제, iOS 운영 체제, Chrome OS 및 Android 운영 체제를 포함할 수 있다. 사용될 수 있는 Linux 운영 체제의 배포판(distribution)은 노스 캐롤라이나주 롤리 소재의 Red Hat Corporation으로부터 입수 가능한 Red Hat Linux이다. 사용될 수 있는 Microsoft Windows 운영 체제의 버전들은 워싱턴주 레드몬드 소재의 Microsoft Inc.로부터 입수 가능한 Microsoft Windows Mobile, Microsoft Windows 8.1, Microsoft Windows 8, Microsoft Windows 7, Microsoft Windows Vista, 및 Microsoft Windows XP 운영 체제들을 포함한다. Symbian 운영 체제는 아일랜드 더블린 소재의 Accenture PLC로부터 입수 가능하다. Mac OS 및 iOS 운영 체제는 캘리포니아주 쿠퍼티노 소재의 Apple, Inc.로부터 입수 가능하다. Chrome OS 및 Android 운영 체제는 캘리포니아주 멘로 파크 소재의 Google, Inc.로부터 입수 가능하다.
또한 위에 기재된 바와 같이, 주 저장소(230)는 소프트웨어 애플리케이션과 관련될 수 있는 컴퓨터 실행가능 명령어들을 저장할 수 있다. 애플리케이션은 또한 컴퓨팅 디바이스(100) 상에 실행될 수 있는 OS의 제어하에 작동(실행)될 수 있다. 애플리케이션 및/또는 OS는, 예를 들어,(예를 들어, 보조 저장소(150)로부터) 정보를 검색하는 것 및 출력 디바이스(170) 상에 이러한 정보를 출력하는 것(예를 들어, 디스플레이하는 것)과 같은, 다양한 동작들을 수행하기 위한 대비를 포함할 수 있다. 이러한 대비들은 애플리케이션 및/또는 OS에 포함된 데이터 및/또는 컴퓨터 실행가능 명령어들을 사용하여 구현될 수 있다.
보조 저장소(150)는 컴퓨팅 디바이스(100)에 의해 사용될 수 있는 정보를 위한 부 저장소를 제공할 수 있다. 정보는 처리 로직(220)에 의해 조작될 수 있는 데이터를 포함할 수 있다. 정보는 또한 처리 로직(220)에 의해 실행되기 전에 주 저장소(230)에 전송될 수 있는 컴퓨터 실행가능 명령어들을 포함할 수 있다.
보조 저장소(150)는 정보를 저장하는데 사용될 수 있는 저장 디바이스(155)를 포함할 수 있다. 저장 디바이스(155)는 I/O 버스(110)를 통해 처리 로직(220)에 액세스 가능할 수 있다. 저장 디바이스(155)는 정보의 일부 또는 전부를 저장할 수 있다.
저장 디바이스(155)는 정보를 저장하기 위한 휘발성 및/또는 비휘발성 저장소를 포함할 수 있다. 저장 디바이스(155)를 구현하는데 사용될 수 있는 디바이스들의 예들은, 이에 제한되는 것은 아니지만, 자기 디스크 드라이브, 광 디스크 드라이브, RAM(random-access memory) 디스크 드라이브, 플래시 드라이브, 썸 드라이브, SSD(solid-state disk) 드라이브, 및 하이브리드 드라이브를 포함한다.
저장 디바이스(155)에 의해 저장된 정보는 저장 디바이스(155)에 포함되는 하나 이상의 비일시적 유형의 실체 컴퓨터-판독가능 매체 상에 저장될 수 있다. 저장 디바이스(155)에 포함될 수 있는 유형의 비일시적 컴퓨터 판독 가능 매체의 예들은 자기 디스크들, 광 디스크들, 휘발성 메모리 디바이스들, 및/또는 비휘발성 메모리 디바이스들을 포함할 수 있다.
BIOS(140)는, 예를 들어, 컴퓨팅 디바이스(100)의 하나 이상의 부분들을 초기화하는데 사용될 수 있는 펌웨어를 포함할 수 있다. 이러한 펌웨어는, 실행될 때, 예를 들어, 버스(190)의 하나 이상의 부분들을 트레이닝 및/또는 테스트할 수 있는 컴퓨터 실행가능 명령어들을 포함할 수 있다.
예를 들어, 위에 기재된 바와 같이, 버스(190)는 처리 로직(220)에 포함될 수 있는 메모리 제어기와 주 저장소(230)에 포함될 수 있는 하나 이상의 메모리 디바이스들 사이에 커맨드들의 인스턴스들을 전송하는데 사용될 수 있다. BIOS(140)에 포함된 펌웨어는, 처리 로직(220)에 의해 실행될 때, 예를 들어, 커맨드들의 하나 이상의 인스턴스들이 메모리 제어기에 의해 생성되게 및/또는 버스(190)를 통해 메모리 디바이스들에 발행되게 할 수 있는 컴퓨터 실행가능 명령어들을 포함할 수 있다. 커맨드들의 인스턴스들은, 커맨드들의 미래 인스턴스들이 오차 없이 메모리 제어기와 메모리 디바이스 사이에 성공적으로 전송될 수 있도록 메모리 제어기 및/또는 메모리 디바이스들을 트레이닝하는데 사용될 수 있다.
BIOS(140)는 또한 주 저장소(230)에 포함될 수 있는 하나 이상의 메모리 디바이스들에서 커맨드들의 특정 인스턴스들의 실행을 디스에이블하는데 사용될 수 있는 하나 이상의 기술들 펌웨어를 또한 포함할 수 있다. 이러한 기술들의 세부사항이 이하 더욱 논의될 것이다.
도 2는 처리 로직(220) 및 주 저장소(230)의 예시적인 실시예를 도시한다. 도 2를 참조하면, 처리 로직(220)은 하나 이상의 코어들(222a-n) 및 메모리 제어기(224)를 포함할 수 있다. 주 저장소는 하나 이상의 메모리 디바이스들(300a-n)을 포함할 수 있다.
코어들(222a-n)은 구현할 수 있는 로직, 예를 들어, 범용 프로세서 코어들 및/또는 그래픽 프로세서 코어들을 포함할 수 있다. 로직은, 예를 들어, 주 저장소(230), 보조 저장소(150), 및/또는 BIOS(140)에 포함된 정보를 해석, 실행, 조작 및/또는 달리 조작할 수 있다.
메모리 제어기(224)는, 예를 들어, 코어들(222a-n)을 주 저장소(230)와 인터페이스할 수 있고, 정보 및/또는 커맨드들의 인스턴스들이 코어들(222a-n)과 메모리 디바이스들(300a-n) 사이에 전송되게 할 수 있는 로직을 포함할 수 있다. 정보는, 예를 들어, 코어들(222a-n)에 의해 처리(예를 들어, 실행, 조작)될 수 있는 데이터 및/또는 컴퓨터 실행가능 명령어들을 포함할 수 있다. 커맨드들의 인스턴스들은, 예를 들어, 메모리 디바이스들(300a-n) 중 하나 이상에 다양한 동작들을 수행하라고 지시할 수 있는 커맨드들의 인스턴스들을 포함할 수 있다. 예를 들어, 커맨드들의 인스턴스들은 위에 설명된 바와 같은 메모리 디바이스(300)에 포함된 메모리 셀들의 행들을 리매핑하라고 메모리 디바이스(300)에 지시하는데 사용될 수 있는 PPR 커맨드의 인스턴스를 포함할 수 있다.
메모리 디바이스(300)는 컴퓨팅 디바이스(100)에 대한 정보를 저장하기 위해 이용될 수 있는 로직을 포함할 수 있다. 정보는, 예를 들어, 상술한 바와 같은 데이터 및/또는 컴퓨터-실행가능 명령어들을 포함할 수 있다.
메모리 디바이스(300)는 주 저장소(230)의 일부일 수 있는 메모리 모듈에 포함될 수 있다. 예를 들어, 하나 이상의 메모리 디바이스(300a-n)는 주 저장소(230)에 포함될 수 있는 이중-인라인 메모리 모듈(DIMM)및/또는 단일 인라인 메모리 모듈(SIMM)에 포함될 수 있다. 메모리 모듈은 메모리 디바이스(300)와 버스(190) 사이의 전기적 접속을 제공할 수 있는 소켓에 플러그될 수 있다.
메모리 디바이스(300)는 메모리 디바이스(300)에 저장된 정보를 위한 휘발성 및/또는 비-휘발성 저장소를 제공할 수 있다. 메모리 디바이스(300)을 구현시키는데 사용될 수 있는 메모리 디바이스들의 예들은 DRAM 디바이스, 플래시 메모리 디바이스, SRAM 디바이스, ZRAM 디바이스, TTRAM 디바이스, FeTRAM 디바이스, MRAM 디바이스, PCM 디바이스, PCMS 디바이스, 나노와이어 기반 디바이스, RRAM 디바이스, 및 EEPROM 디바이스를 포함하지만, 여기에 한정되지는 않을 수 있다. 예를 들어, 메모리 디바이스(300)는 저-전력 4세대 DDR(LPDDR4) DRAM 디바이스일 수 있다.
도 3은 메모리 디바이스(300)의 예시적인 실시예를 설명한다. 도 3을 참조하면, 메모리 디바이스(300)는, 예를 들어, 디바이스 처리 로직(310)과 디바이스 저장소(320)를 포함할 수 있다.
디바이스 저장소(320)는 정보를 메모리 디바이스(300)에 저장할 수 있는 로직을 포함할 수 있다. 로직은, 예를 들어, 정보를 저장할 수 있는 하나 이상의 메모리 셀들을 포함할 수 있다. 디바이스 저장소(320)는 정보를 위한 비-휘발성 저장소 및/또는 휘발성 저장소를 제공할 수 있다.
디바이스 처리 로직(310)은 메모리 제어기(224)로부터 메모리 디바이스에 의해 획득될 수 있는 커맨드들의 인스턴스들, 정보 및/또는 신호들(예를 들어, 제어 신호들)을 처리할 수 있는 로직을 포함할 수 있다. 처리는, 예를 들어, 메모리 제어기(224)로부터 버스(190)를 통해 메모리 디바이스(300)로 전송될 수 있는 커맨드들의 다양한 인스턴스들을 실행하는 것을 포함할 수 있다.
디바이스 처리 로직(310)은 모드 레지스터(400)를 포함할 수 있다. 모드 레지스터(400)는 메모리 디바이스(300)의 하나 이상의 부분들에 대한 동작의 모드를 명시하는데 사용될 수 있는 레지스터일 수 있다. 도 4는 모드 레지스터(400)의 예시적인 실시예를 설명한다.
도 4를 참조하면, 모드 레지스터(400)는 하나 이상의 필드들(410a-n)을 포함할 수 있다. 필드(410)는 메모리 디바이스(300)에 대한 동작의 모드를 명시하는데 사용될 수 있다. 예를 들어, 아래에서 더 설명되는 바와 같이, 필드(410)는 커맨드가 메모리 디바이스(300)에서 디스에이블될 지를 명시하는데 사용될 수 있다. 필드(410)가 메모리 디바이스(300)와 연관될 수 있는 다른 목적에 사용될 수 있다는 것이 주목되어야 한다. 예를 들어, 필드(410)는 메모리 디바이스(300)와 연관된 열 어드레스 스트로브(CAS) 대기 시간(latency) 또는 메모리 디바이스(300)와 연관된 버스트 길이를 명시하는데 사용될 수 있다.
모드 레지스터(400)는 메모리 디바이스(300)와 연관된 하나 이상의 커맨드들을 디스에이블시키는데 사용될 수 있는 필드(410)를 포함할 수 있다. 필드(410)는 필드에 의해 보유된 값이 메모리 디바이스(300)와 연관된 특별한 이벤트가 발생할 때까지 남을 수 있다는 점에서 까다로울지도 모른다(예를 들어, 메모리 디바이스(300)는 리셋되고, 메모리 디바이스(300)는 전력-사이클링된다).
예를 들어, 메모리 디바이스(300)가 PPR 커맨드의 실행을 지원하는 것을 가정한다. 모드 레지스터(400) 내의 필드(410)는 어써트될 때(asserted)(예를 들어, 1로 설정될 때) PPR 커맨드의 실행이 메모리 디바이스(300)에 대해 디스에이블되는 것을 지시할 수 있는 비트를 포함할 수 있다. 비트가 어써트된 후, 메모리 디바이스(300)에 의해 수신된 PPR 커맨드의 인스턴스는 메모리 디바이스(300)와 연관된 디바이스 처리 로직(310)이 PPR 커맨드의 인스턴스를 실행하지 않게 할 수 있다. 비트는 어써트된 채로 남아 있을 수 있고 PPR 커맨드의 실행은 메모리 디바이스(300)가 예를 들어, 리셋되거나 전력-사이클링될 때까지 메모리 디바이스(300)에 대해 디스에이블된 채로 남아 있을 수 있다. 예를 들어, 메모리 디바이스(300)는 어써트될 때 메모리 디바이스(300)를 리셋할 수 있는 Reset_N 신호를 지원할 수 있다. 비트는 어써트된 채로 있을 수 있고 PPR 커맨드는 Reset_N 신호가 어써트될 때까지 메모리 디바이스(300)에 대해 디스에이블된 채로 있을 수 있다.
메모리 디바이스(300)와 연관된 다른 커맨드들이 비슷한 방식으로 디스에이블될 수 있다는 것에 주목한다. 예를 들어, 메모리 디바이스(300)는 다양한 공급 업체 특유의 커맨드들을 지원할 수 있다. 상술한 바와 같이, 하나 이상의 필드들(410)은, 예를 들어 메모리 디바이스(300)에 의해 획득될 수 있는 지원받은 공급 업체 특유의 커맨드들의 하나 이상의 인스턴스들의 실행을 디스에이블시키는데 사용될 수 있다. 메모리 디바이스(300)와 연관된 커맨드를 디스에이블시키는데 사용될 수 있는 필드(410)는 커맨드가 메모리 디바이스(300)와 연관된 특정 이벤트가 발생할 때까지 디스에이블된 채로 있을 수 있다는 점에서 까다로운 것으로 간주될 수 있다.
예를 들어, 메모리 디바이스(300)와 같은 메모리 디바이스는, 메모리 디바이스(300)에 의해서 지원될 수 있는 커맨드를 디스에이블시키기 위한 지시를 획득할 수 있다. 지시를 획득한 후, 메모리 디바이스는 커맨드를 디스에이블시킬 수 있다. 커맨드를 디스에이블시키는 것은, 예를 들어, 메모리 디바이스가 이후에 메모리 디바이스에 의해 획득될 수 있는 커맨드의 인스턴스들을 실행하지 못하는 것을 포함할 수 있다.
도 5는 예를 들어, 메모리 디바이스(300)와 같은 메모리 디바이스에서 커맨드를 디스에이블시키기 위해 수행될 수 있는 예시적 활동들의 흐름도를 설명한다. 도 5를 참조하면, 블록 510에서, 지시는 메모리 디바이스에서 커맨드를 디스에이블시키기 위해 획득될 수 있다. 지시는, 예를 들어, 메모리 디바이스와 연관된 모드 레지스터의 필드 내에 설정될 때 커맨드가 해당 메모리 디바이스에 대해 디스에이블되도록 할 수 있는 값을 포함할 수 있다.
블록 512에서, 메모리 디바이스는 커맨드를 디스에이블시키도록 구성된다. 커맨드를 디스에이블시키도록 메모리 디바이스를 구성하는 것은, 예를 들어, 커맨드가 디스에이블되는 것을 지시하기 위해 메모리 디바이스와 연관된 모드 레지스터 내의 필드에 값을 설정하는 것을 포함할 수 있다.
블록 514에서, 체크는 더 이상 커맨드가 디스에이블되지 않게 하기 위한 이벤트가 발생했는지를 결정하기 위해 수행된다. 이벤트가 발생하지 않았다면, 블록 516에서 커맨드는 디스에이블된 채로 있을 수 있다. 블록 518에서, 이벤트가 발생했다면, 커맨드는 메모리 디바이스에 대해 더 이상 디스에이블되지 않는다.
예를 들어, 도 1-5를 참조하면, 컴퓨팅 디바이스(100) 내의 메모리 디바이스(300)가 PPR 커맨드를 지원하는 것을 가정한다. 또한, 메모리 디바이스(300)가, 특정 값으로 설정될 때 PPR 커맨드가 메모리 디바이스(300)에서 디스에이블되게 할 수 있는 필드(410)를 포함한 모드 레지스터(400)를 포함하는 것을 가정한다.
처리 로직(220)은 메모리 제어기(224)가, 필드(410) 내에 설정될 때 PPR 커맨드가 메모리 디바이스(300)에서 디스에이블되게 할 수 있는 값을 생성하게 할 수 있는 BIOS(140)에 포함된 하나 이상의 컴퓨터-실행가능 명령어를 실행할 수 있다. 게다가, 메모리 제어기(224)는 필드(410) 내에 값을 설정하기 위해 메모리 디바이스(300)에 지시하는데 사용될 수 있는 커맨드(예를 들어, 모드 레지스터 기입(MRW) 커맨드)의 인스턴스를 생성할 수 있다. 커맨드의 인스턴스와 값은 메모리 제어기(224)로부터 버스(190)를 통해 메모리 디바이스(300)로 전송될 수 있다. 메모리 디바이스(300)는 버스(190)로부터 커맨드의 인스턴스와 값을 획득할 수 있다. 메모리 디바이스(300)와 연관된 디바이스 처리 로직(310)은 커맨드의 인스턴스와 값을 처리할 수 있다. 처리는, 예를 들어, PPR 커맨드가 메모리 디바이스(300)에 대해 디스에이블되는 것을 지시하기 위해 값을 필드(410) 내에 설정함으로써 PPR 커맨드를 디스에이블하도록 메모리 디바이스(300)를 구성하는 것을 포함할 수 있다.
이제, 커맨드가 더 이상 디스에이블되지 않게 하기 위한 이벤트가 발생하는 것을 가정한다. 이벤트는, 예를 들어, 메모리 디바이스(300)를 전력-사이클링하는 것 또는 메모리 디바이스(300)를 리셋하는 것을 포함할 수 있다. 이벤트의 발생은 메모리 디바이스가 더 이상 커맨드가 디스에이블되는 상태에 있지 않게 할 수 있다. 그러므로, 상기 예에서, 메모리 디바이스를 전력-사이클링하거나 메모리 디바이스(300)를 리셋한 후, 모드 레지스터(400) 내의 필드(410)의 값은 PPR 커맨드가 디스에이블되지 않는 것을 지시하도록 설정될 수 있다.
메모리 디바이스가 특별한 커맨드의 실행을 디스에이블시키도록 구성된 후, 특별한 커맨드의 인스턴스가 메모리 디바이스에 의해 획득되면, 메모리 디바이스는, 예를 들어, 커맨드의 인스턴스를 실행할 수 없다. 도 6은 디스에이블된 커맨드의 인스턴스를 처리하기 위해 메모리 디바이스에 의해 실행될 수 있는 예시적인 활동들의 흐름도를 설명한다.
도 6을 참조하면, 블록 610에서 커맨드의 인스턴스가 획득된다. 예를 들어, 커맨드의 인스턴스는, 예를 들어, 버스(190)와 같은 버스로부터 커맨드의 인스턴스를 판독함으로써 획득될 수 있다.
블록 612에서, 체크는 커맨드가 디스에이블될 지를 결정하기 위해 수행된다. 커맨드가 디스에이블되는 것으로 결정되면, 블록 614에서, 커맨드의 인스턴스는 실행되지 않는다. 커맨드가 디스에이블되지 않는 것으로 결정되면, 블록 616에서, 커맨드의 인스턴스는 실행된다.
예를 들어, 도 1-4 및 6을 참조하면, 컴퓨팅 디바이스(100) 내의 메모리 디바이스(300)가 PPR 커맨드를 지원하는 것을 가정한다. 또한, 메모리 디바이스(300)가 모드 레지스터(400)를 포함하고 모드 레지스터(400)가 특별한 값으로 설정될 때 PPR 커맨드의 인스턴스의 실행을 디스에이블시키는 필드(410)를 포함하는 것을 가정한다. 이제, 필드(410)가 PPR 커맨드가 디스에이블되는 것을 지시하도록 설정되는 것을 가정한다.
처리 로직(220)은 커맨드들의 다양한 인스턴스들이 메모리 제어기(224)에 의해 생성되도록 할 수 있는 BIOS(140)에 포함된 다양한 명령어들을 실행할 수 있다. 커맨드들의 생성된 인스턴스들은 버스(190)를 통해 메모리 제어기(224)로부터 메모리 디바이스(300)로 전송될 수 있다. 메모리 디바이스(300)와 연관된 디바이스 처리 로직(310)은 커맨드들의 인스턴스들을 획득하고 이들을 처리할 수 있다.
이제, 커맨드의 획득된 인스턴스가 PPR 커맨드로서 디바이스 처리 로직(310)에 의해 해석되는 것을 가정한다. 디바이스 처리 로직(310)은 모드 레지스터(400) 내의 필드(410)를 시험하고 필드(410)가 PPR 커맨드가 디스에이블되는 것을 지시하는 것으로 결정할 수 있다.
PPR 커맨드가 디스에이블되는 것으로 결정한 후, 디바이스 처리 로직(310)은 커맨드의 인스턴스를 실행하지 않을 수 있다. 커맨드의 인스턴스를 실행하지 않는 것은, 예를 들어, 커맨드의 인스턴스를 무시하고, 커맨드의 인스턴스를 폐기하고, 및/또는 커맨드의 인스턴스를 실행하지 않은 것과 연관될 수 있는 일부 다른 기능을 포함할 수 있다.
실시예들의 상기 설명은 예시 및 설명을 제공하기 위한 것이지, 전수적이거나 본 발명을 개시된 정확한 형태로 제한하기 위한 것이 아니다. 상기 교시의 관점에서 수정 및 변형이 가능할 수 있고, 또는 본 발명의 실시로부터 획득될 수 있다. 예를 들어, 일련의 동작들이 도 5 및 6을 참조하여 위에 설명되었지만, 동작들의 순서는 다른 구현에서 수정될 수 있다. 또한, 비종속적인 동작들이 병렬로 수행될 수 있다.
또한, 본 명세서에 사용된 용어 "사용자"는 예컨대 컴퓨팅 디바이스(예를 들어, 고정 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스), 또는 달리 언급되지 않는 한, 컴퓨팅 디바이스의 사용자를 포함하도록 넓게 해석되는 것으로 의도된다.
본 명세서에 설명된 하나 이상의 실시예들은 다수의 상이한 형태들의 소프트웨어 및/또는 하드웨어로 구현될 수 있다는 점이 명백할 것이다. 본 명세서에 설명된 실시예들을 구현하는 데 사용된 소프트웨어 코드 및/또는 특수 하드웨어가 본 발명을 제한하지 않는다. 따라서, 실시예들의 동작 및 거동이 특정 소프트웨어 코드 및/또는 특수 하드웨어를 참조하지 않고 기술되었고 -- 이는, 본 명세서에서의 설명에 기초하여 실시예들을 구현하도록 소프트웨어 및/또는 하드웨어를 설계할 수 있다는 것을 잘 알 것이다.
또한, 본 발명의 특정 특징들은, 예를 들어, 디바이스 처리 로직(310)과 같은, 처리 로직에 의해 실행될 수 있는 컴퓨터 실행 가능 명령어들을 사용하여 구현될 수 있다. 컴퓨터 실행 가능 명령어들은 하나 이상의 비일시적 유형적 컴퓨터 판독 가능 저장 매체 상에 저장될 수 있다. 미디어는 휘발성이거나 비-휘발성일 수 있고, 예를 들어, DRAM 저장소, SRAM 저장소, 및/또는 플래시 메모리 저장소를 포함할 수 있다.
본 명세서에 사용된 요소, 동작, 또는 명령은, 그와 같이 명백히 설명되지 않는 한 본 발명에 결정적이거나 필수적인 것으로 해석되지는 않는다. 또한, 본 명세서에서 이용되는 바와 같이, 관사 "a"는 하나 이상의 아이템들을 포함하는 것으로 의도된다. 단 하나의 아이템만이 의도되는 경우에는, "하나의" 또는 유사한 언어가 이용된다. 또한, "기초하여(based on)"라는 구절은 명백히 달리 지시되지 않는 한 "적어도 일부에 기초하여(based, at least in part, on)"를 의미한다.
본 발명은 앞서 개시된 특정의 실시예들로 제한되지 않지만, 본 발명이 이하의 첨부된 청구범위의 범주 내에 속하는 임의의 그리고 모든 특정의 실시예들 및 등가물들을 포함하는 것으로 의도되어 있다.

Claims (26)

  1. 메모리 디바이스로서,
    상기 메모리 디바이스에 대한 커맨드가 디스에이블(disable)될 지를 나타내는 값을 포함하는 모드 레지스터(mode register); 및
    디바이스 처리 로직
    을 포함하고,
    상기 디바이스 처리 로직은,
    상기 커맨드의 인스턴스를 획득하고,
    상기 커맨드의 상기 인스턴스가 상기 모드 레지스터에 포함된 상기 값에 기초하여 디바이스 처리 로직에 의해 실행되어야 할지를 결정하는, 메모리 디바이스.
  2. 제1항에 있어서,
    상기 디바이스 처리 로직은 또한,
    상기 커맨드가 디스에이블되는 것을 나타내는 상기 값에 기초하여 상기 커맨드의 상기 인스턴스를 실행하지 않는, 메모리 디바이스.
  3. 제1항에 있어서,
    상기 디바이스 처리 로직은 또한,
    상기 커맨드가 디스에이블되지 않는 것을 나타내는 상기 값에 기초하여 상기 커맨드의 상기 인스턴스를 실행하는, 메모리 디바이스.
  4. 제1항에 있어서,
    상기 모드 레지스터는 필드를 포함하고,
    상기 커맨드가 디스에이블될 지를 나타내는 상기 값이 상기 필드에 포함되는, 메모리 디바이스.
  5. 제1항에 있어서,
    상기 커맨드의 상기 인스턴스는 버스를 통해 획득되는, 메모리 디바이스.
  6. 제5항에 있어서,
    상기 커맨드의 상기 인스턴스는 메모리 제어기에 의해 생성되고,
    상기 커맨드의 상기 인스턴스는 상기 메모리 디바이스에 상기 버스를 통해 상기 메모리 제어기에 의해 전송되는, 메모리 디바이스.
  7. 제6항에 있어서,
    상기 메모리 제어기는 컴퓨팅 디바이스에 포함된 처리 로직과 연관되는, 메모리 디바이스.
  8. 제1항에 있어서,
    상기 디바이스 처리 로직은 또한,
    제2 커맨드의 인스턴스 및 상기 값을 획득하고,
    상기 제2 커맨드의 상기 인스턴스를 실행하고, 상기 제2 커맨드의 상기 인스턴스의 상기 실행은 상기 모드 레지스터 내에 상기 값을 설정하는 것을 포함하는, 메모리 디바이스.
  9. 제1항에 있어서,
    상기 커맨드는 공급 업체 특유의 커맨드(vendor specific command)인, 메모리 디바이스.
  10. 제1항에 있어서,
    상기 커맨드는 포스트 패키지 수리(post package repair : PPR) 커맨드인, 메모리 디바이스.
  11. 제1항에 있어서,
    상기 커맨드가 더 이상 디스에이블되지 않게 하기 위한 이벤트가 발생하고,
    상기 이벤트가 발생한 후 상기 모드 레지스터는 상기 커맨드가 디스에이블되지 않는 것을 나타내는 값으로 설정되는, 메모리 디바이스.
  12. 제11항에 있어서,
    상기 이벤트는 상기 메모리 디바이스의 전력-사이클링 또는 상기 메모리 디바이스의 리셋인, 메모리 디바이스.
  13. 컴퓨팅 디바이스로서,
    메모리 디바이스;
    상기 메모리 디바이스에 대한 커맨드가 디스에이블될 지를 나타내는 값을 보유(holding)하기 위한 모드 레지스터; 및
    디바이스 처리 로직
    을 포함하고,
    상기 디바이스 처리 로직은,
    상기 커맨드의 인스턴스를 획득하고,
    상기 커맨드의 상기 인스턴스가 상기 모드 레지스터에 보유된 상기 값에 기초하여 상기 디바이스 처리 로직에 의해 실행되어야 할지를 결정하는, 컴퓨팅 디바이스.
  14. 제13항에 있어서,
    상기 모드 레지스터와 상기 디바이스 처리 로직은 상기 메모리 디바이스에 포함되는, 컴퓨팅 디바이스.
  15. 제13항에 있어서,
    상기 커맨드의 인스턴스를 생성하기 위한 메모리 제어기, 및
    상기 커맨드의 상기 인스턴스를 상기 메모리 제어기로부터 상기 메모리 디바이스로 전송하기 위한 버스를 더 포함하는, 컴퓨팅 디바이스.
  16. 제13항에 있어서,
    상기 디바이스 처리 로직은 또한,
    상기 커맨드가 디스에이블되지 않는 것으로 결정되면 상기 커맨드의 상기 인스턴스를 실행하는, 컴퓨팅 디바이스.
  17. 제13항에 있어서,
    상기 커맨드는 포스트 패키지 수리(PPR) 커맨드인, 컴퓨팅 디바이스.
  18. 제13항에 있어서,
    상기 디바이스 처리 로직은 또한,
    제2 커맨드의 인스턴스 및 상기 값을 획득하고,
    상기 제2 커맨드의 상기 인스턴스를 실행하고, 상기 제2 커맨드의 상기 인스턴스의 상기 실행은 상기 모드 제어 레지스터 내에 상기 값을 설정하는 것을 포함하는, 컴퓨팅 디바이스.
  19. 제13항에 있어서,
    하나 이상의 컴퓨터-실행가능 명령어들을 실행하기 위한 처리 로직; 및
    상기 메모리 디바이스를 상기 처리 로직과 인터페이싱(interfacing)하기 위한 메모리 제어기를 더 포함하고,
    상기 처리 로직에 의한 컴퓨터-실행가능 명령어들의 실행은 상기 메모리 제어기가 상기 커맨드의 상기 인스턴스를 생성하게 하는, 컴퓨팅 디바이스.
  20. 제13항에 있어서,
    상기 메모리 디바이스의 전력-사이클링 또는 리셋은 상기 모드 레지스터로 하여금 상기 커맨드가 디스에이블되지 않는 것을 나타내는 값을 포함하게 하는, 컴퓨팅 디바이스.
  21. 방법으로서,
    메모리 디바이스에서 커맨드의 인스턴스를 획득하는 단계; 및
    상기 메모리 디바이스에 포함된 모드 레지스터의 필드에 보유된 값에 기초하여 상기 메모리 디바이스에 의해 상기 커맨드의 상기 인스턴스가 실행되어야 할지를 결정하는 단계 - 상기 모드 레지스터는 상기 메모리 디바이스에 대한 동작의 모드(mode of operation)를 명시(specifying)하기 위한 레지스터이고, 상기 값은 상기 메모리 디바이스가 전력-사이클링되거나 또는 리셋될 때까지 상기 필드에 보유됨 -
    를 포함하는, 방법.
  22. 장치로서,
    메모리 디바이스에서 커맨드의 인스턴스를 획득하기 위한 수단; 및
    상기 메모리 디바이스에 포함된 모드 레지스터의 필드에 보유된 값에 기초하여 상기 메모리 디바이스에 의해 상기 커맨드의 상기 인스턴스가 실행되어야 할지를 결정하기 위한 수단 - 상기 모드 레지스터는 상기 메모리 디바이스에 대한 동작의 모드를 명시하기 위한 레지스터이고, 상기 값은 상기 메모리 디바이스가 전력-사이클링되거나 리셋될 때까지 상기 필드에 보유됨 -
    을 포함하는, 장치.
  23. 장치로서,
    커맨드가 메모리 디바이스에 대해 디스에이블될 지를 지시하는 값을 보유하기 위한 수단;
    상기 커맨드의 인스턴스를 획득하기 위한 수단; 및
    상기 커맨드가 상기 메모리 디바이스에 대해 디스에이블될 지를 지시하는 상기 값에 기초하여 상기 커맨드의 상기 인스턴스가 실행되어야 할지를 결정하기 위한 수단
    을 포함하는, 장치.
  24. 제23항에 있어서,
    상기 커맨드가 디스에이블되지 않는 것으로 결정되면 상기 커맨드의 상기 인스턴스를 실행하기 위한 수단을 더 포함하는, 장치.
  25. 제23항에 있어서,
    상기 커맨드가 디스에이블되는 것으로 결정되면 상기 커맨드의 상기 인스턴스를 실행하지 않기 위한 수단을 더 포함하는, 장치.
  26. 제23항에 있어서,
    상기 커맨드는 공급 업체 특유의 커맨드 또는 포스트 패키지 수리(PPR) 커맨드인, 장치.
KR1020167023532A 2014-03-31 2015-03-31 메모리 디바이스와 연관된 커맨드의 디스에이블링 KR20160114662A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/230,338 US9213491B2 (en) 2014-03-31 2014-03-31 Disabling a command associated with a memory device
US14/230,338 2014-03-31
PCT/US2015/023651 WO2015153649A1 (en) 2014-03-31 2015-03-31 Disabling a command associated with a memory device

Publications (1)

Publication Number Publication Date
KR20160114662A true KR20160114662A (ko) 2016-10-05

Family

ID=54190405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167023532A KR20160114662A (ko) 2014-03-31 2015-03-31 메모리 디바이스와 연관된 커맨드의 디스에이블링

Country Status (7)

Country Link
US (3) US9213491B2 (ko)
EP (1) EP3126986B1 (ko)
JP (1) JP6381054B2 (ko)
KR (1) KR20160114662A (ko)
CN (1) CN106062723B (ko)
TW (2) TWI606454B (ko)
WO (1) WO2015153649A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022066371A1 (en) * 2020-09-25 2022-03-31 Micron Technology, Inc. Semiconductor devices with security lock and associated methods and systems

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213491B2 (en) 2014-03-31 2015-12-15 Intel Corporation Disabling a command associated with a memory device
US9343184B2 (en) * 2014-04-07 2016-05-17 Micron Technology, Inc. Soft post package repair of memory devices
US9741403B2 (en) 2014-11-12 2017-08-22 Micron Technology, Inc. Apparatuses and methods to perform post package trim
US9349491B1 (en) 2015-04-17 2016-05-24 Micron Technology, Inc. Repair of memory devices using volatile and non-volatile memory
KR102412610B1 (ko) * 2015-12-24 2022-06-23 삼성전자주식회사 포스트 패키지 리페어 동작을 수행하는 메모리 장치
US20170308447A1 (en) * 2016-04-26 2017-10-26 Quanta Computer Inc. Methods and systems for analyzing record and usage in post package repair
JP6752651B2 (ja) * 2016-08-02 2020-09-09 キヤノン株式会社 情報処理システム、情報処理システムにおける方法、及びプログラム
CN107301147A (zh) * 2017-06-20 2017-10-27 郑州云海信息技术有限公司 一种i2c总线信号质量的动态调节方法和装置
US20190108896A1 (en) * 2017-10-05 2019-04-11 Dell Products L.P. Systems and methods for providing post-package repair visibility to a host for memory reliability, availability, and serviceability
US10884951B2 (en) 2018-11-29 2021-01-05 Micron Technology, Inc. Memory disablement for data security
US10832791B2 (en) 2019-01-24 2020-11-10 Micron Technology, Inc. Apparatuses and methods for soft post-package repair
US11030124B2 (en) * 2019-11-07 2021-06-08 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems
KR20210141156A (ko) 2020-05-15 2021-11-23 삼성전자주식회사 페이지 장애에 기초하여 메모리 고장을 예견하고, 예견되는 메모리 고장을 관리하는 시스템의 운영 체계 핸들링
US11922066B2 (en) * 2021-01-21 2024-03-05 Rambus Inc. Stacked device communication
US11984185B2 (en) 2021-04-07 2024-05-14 Micron Technology, Inc. Apparatuses and methods for zone-based soft post-package repair
US11915775B2 (en) * 2021-09-29 2024-02-27 Micron Technology, Inc. Apparatuses and methods for bad row mode

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5896551A (en) * 1994-04-15 1999-04-20 Micron Technology, Inc. Initializing and reprogramming circuitry for state independent memory array burst operations control
JP3351953B2 (ja) * 1996-03-19 2002-12-03 富士通株式会社 モードレジスタ制御回路およびこれを有する半導体装置
JP2000030442A (ja) * 1998-07-10 2000-01-28 Mitsubishi Electric Corp 同期型半導体記憶装置
US20020133769A1 (en) * 2001-03-15 2002-09-19 Cowles Timothy B. Circuit and method for test and repair
US7102958B2 (en) 2001-07-20 2006-09-05 Samsung Electronics Co., Ltd. Integrated circuit memory devices that support selective mode register set commands and related memory modules, memory controllers, and methods
US7124260B2 (en) 2002-08-26 2006-10-17 Micron Technology, Inc. Modified persistent auto precharge command protocol system and method for memory devices
US7218561B2 (en) * 2004-06-07 2007-05-15 Micron Technology, Inc. Apparatus and method for semiconductor device repair with reduced number of programmable elements
US7213188B2 (en) * 2004-08-31 2007-05-01 Micron Technology, Inc. Accessing test modes using command sequences
US7295478B2 (en) 2005-05-12 2007-11-13 Sandisk Corporation Selective application of program inhibit schemes in non-volatile memory
US8499014B2 (en) 2005-06-01 2013-07-30 Texas Instruments Incorporated Functionality disable and re-enable for programmable calculators
KR100722771B1 (ko) * 2005-12-03 2007-05-30 삼성전자주식회사 반도체 메모리 장치의 리페어 회로 및 방법
JP4824083B2 (ja) * 2006-03-28 2011-11-24 富士通セミコンダクター株式会社 半導体メモリ
JP2008165865A (ja) 2006-12-27 2008-07-17 Fujitsu Ltd 半導体メモリおよび半導体メモリの動作方法
US7733731B2 (en) * 2007-03-05 2010-06-08 Micron Technology, Inc. Control of inputs to a memory device
KR20080090664A (ko) * 2007-04-05 2008-10-09 삼성전자주식회사 포스트 패키지 리페어 제어회로를 구비하는 반도체메모리장치 및 포스트 패키지 리페어 방법
US7721163B2 (en) 2007-04-23 2010-05-18 Micron Technology, Inc. JTAG controlled self-repair after packaging
US8862973B2 (en) * 2009-12-09 2014-10-14 Intel Corporation Method and system for error management in a memory device
KR101688050B1 (ko) * 2009-12-22 2016-12-21 삼성전자 주식회사 반도체 장치 및 반도체 장치의 리드 또는 라이트 동작 수행 방법
KR20110083859A (ko) * 2010-01-15 2011-07-21 삼성전자주식회사 메모리 버퍼를 갖는 메모리 모듈 및 이를 포함하는 메모리 시스템
JP5793061B2 (ja) * 2011-11-02 2015-10-14 ルネサスエレクトロニクス株式会社 キャッシュメモリ装置、キャッシュ制御方法、およびマイクロプロセッサシステム
US8874979B2 (en) * 2012-06-14 2014-10-28 International Business Machines Corporation Three dimensional(3D) memory device sparing
KR102070203B1 (ko) * 2012-08-29 2020-01-29 에스케이하이닉스 주식회사 반도체 메모리 장치
US9165679B2 (en) 2012-09-18 2015-10-20 Samsung Electronics Co., Ltd. Post package repairing method, method of preventing multiple activation of spare word lines, and semiconductor memory device including fuse programming circuit
WO2015053649A1 (ru) 2013-10-11 2015-04-16 Владимир Ильич КОРМИЛИЦЫН Кавитационный реактор (варианты)
US9202595B2 (en) * 2013-11-12 2015-12-01 Micron Technology, Inc. Post package repair of memory devices
US9213491B2 (en) 2014-03-31 2015-12-15 Intel Corporation Disabling a command associated with a memory device
US9343184B2 (en) * 2014-04-07 2016-05-17 Micron Technology, Inc. Soft post package repair of memory devices
KR20150136675A (ko) * 2014-05-27 2015-12-08 에스케이하이닉스 주식회사 반도체 장치 및 이를 포함하는 반도체 시스템
KR102160598B1 (ko) * 2014-08-05 2020-09-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작방법
KR20160046502A (ko) * 2014-10-21 2016-04-29 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20160074211A (ko) * 2014-12-18 2016-06-28 에스케이하이닉스 주식회사 포스트 패키지 리페어 장치
KR20160091688A (ko) * 2015-01-26 2016-08-03 에스케이하이닉스 주식회사 포스트 패키지 리페어 장치
US9349491B1 (en) * 2015-04-17 2016-05-24 Micron Technology, Inc. Repair of memory devices using volatile and non-volatile memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022066371A1 (en) * 2020-09-25 2022-03-31 Micron Technology, Inc. Semiconductor devices with security lock and associated methods and systems
US11644981B2 (en) 2020-09-25 2023-05-09 Micron Technology, Inc. Semiconductor devices with security lock and associated methods and systems

Also Published As

Publication number Publication date
JP2017510018A (ja) 2017-04-06
CN106062723B (zh) 2021-10-22
EP3126986A1 (en) 2017-02-08
US9213491B2 (en) 2015-12-15
US20170075632A1 (en) 2017-03-16
US20160188257A1 (en) 2016-06-30
CN106062723A (zh) 2016-10-26
TWI606454B (zh) 2017-11-21
US9542123B2 (en) 2017-01-10
TW201543497A (zh) 2015-11-16
TW201732835A (zh) 2017-09-16
EP3126986B1 (en) 2020-11-25
JP6381054B2 (ja) 2018-08-29
US9740433B2 (en) 2017-08-22
EP3126986A4 (en) 2018-04-25
WO2015153649A1 (en) 2015-10-08
TWI605463B (zh) 2017-11-11
US20150277790A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
US9740433B2 (en) Disabling a command associated with a memory device
KR102552933B1 (ko) On-die dram ecc로부터의 선택적 정보 추출
CN107430538B (zh) 基于错误类型的ecc的动态应用
US9129672B2 (en) Semiconductor device and operating method thereof
US9037812B2 (en) Method, apparatus and system for memory validation
US9122598B2 (en) Semiconductor device and operating method thereof
US8862953B2 (en) Memory testing with selective use of an error correction code decoder
US10153015B2 (en) Managing disturbance induced errors
US8892794B2 (en) Using central direct memory access (CDMA) controller to test integrated circuit
EP3734466A1 (en) Apparatus, systems, and methods to detect and/or correct bit errors using an in band link over a serial peripheral interface
US9811473B2 (en) Storage unit controller and control method thereof, and storage device
US9009548B2 (en) Memory testing of three dimensional (3D) stacked memory
RU2623801C1 (ru) Интерфейс энергонезависимой памяти
US20150006871A1 (en) Controlling access to storage in a computing device
US20240118970A1 (en) Techniques for memory scrubbing associated with reliability availability and serviceability features

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application