KR20220160048A - 명령/어드레스 추적을 위한 장치 및 방법 - Google Patents

명령/어드레스 추적을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20220160048A
KR20220160048A KR1020227037212A KR20227037212A KR20220160048A KR 20220160048 A KR20220160048 A KR 20220160048A KR 1020227037212 A KR1020227037212 A KR 1020227037212A KR 20227037212 A KR20227037212 A KR 20227037212A KR 20220160048 A KR20220160048 A KR 20220160048A
Authority
KR
South Korea
Prior art keywords
command
sequence
illegal
pattern
commands
Prior art date
Application number
KR1020227037212A
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 KR20220160048A publication Critical patent/KR20220160048A/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/4078Safety or protection circuits, e.g. for preventing inadvertent or unauthorised reading or writing; Status cells; Test cells
    • 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/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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
    • 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/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)

Abstract

본 개시내용의 실시형태는 메모리에서 명령/어드레스 추적을 위한 장치 및 방법에 관한 것이다. 추적 회로망은 명령 및/또는 명령 시퀀스가 불법적인 명령 및/또는 불법적인 명령 시퀀스를 포함하는지를 결정하도록 사용될 수 있다. 명령 및/또는 명령 시퀀스가 불법적인 명령 및/또는 불법적인 명령 시퀀스를 포함하면, 추적 회로망은 명령의 실행 및/또는 검출된 불법적인 명령 및/또는 명령 시퀀스의 통지를 방지하는 신호를 활성화할 수 있다.

Description

명령/어드레스 추적을 위한 장치 및 방법
관련 출원
본 출원은 미국 특허 가출원 제16/840,946호(출원일: 2020년 4월 6일, 명칭: "APPARATUSES AND METHODS FOR COMMAND/ADDRESS TRACKING")에 대한 우선권을 주장하며, 이 기초출원은 그의 전문이 모든 목적을 위해 참조에 의해 본 명세서에 원용된다.
본 개시내용은 일반적으로 동적 랜덤 액세스 메모리(DRAM)와 같은 휘발성 메모리를 포함하는 메모리 디바이스에 관한 것이다. 데이터는 DRAM의 개별 메모리 셀에 저장될 수 있다. 메모리 셀은 행과 열의 어레이로 편성될 수 있다. 행에서의 각각의 메모리 셀은 워드 라인에 연결되고, 열에서의 각각의 메모리 셀은 비트 라인에 연결될 수 있다. 따라서, 모든 메모리 셀은 워드 라인 및 비트 라인에 연결될 수 있다.
소프트웨어의 보안 취약성 외에, 해커는 하드웨어에서의 보안 취약성을 악용할 수 있다. 예를 들어, 해커들은 해머링된 행(hammered row)의 부근에서의 하나 이상의 행에 저장된 데이터의 저하를 유발할 수 있는 DRAM에서의 하나 이상의 행에 반복적으로 액세스하는 것(행 해머 어택으로 지칭됨)으로 알려져 있다. 데이터 저하는 해커가 메모리, 및/또는 메모리를 포함하는 컴퓨팅 시스템에 액세스하는 것을 가능하게 하는 오류 상태를 유발할 수 있다. 따라서, 하드웨어 어택으로 인한 손상을 검출하고 방지하는 것이 바람직할 수 있다.
본 개시내용의 적어도 하나의 예에 따르면, 장치는, 명령을 수신 및 저장하고 적어도 하나의 명령을 포함하는 명령 시퀀스를 제공하도록 구성된 명령 시퀀스 생성기, 명령 시퀀스를 수신하고 명령 시퀀스를 패턴과 비교하여 결과를 생성하도록 구성되는 패턴 매칭 회로망으로서, 상기 결과는 패턴이 명령 시퀀스에 포함되는지의 여부를 나타내며, 상기 패턴은 하나 이상의 명령에 대응하는, 상기 패턴 매칭 회로망, 및 결과를 수신하도록 구성되는 카운트 비교기를 포함하며, 패턴이 명령 시퀀스에 포함된다는 것을 결과가 나타낼 때, 카운트 비교기는 패턴을 포함하는 명령 시퀀스와 관련된 카운트 값을 업데이트하고 카운트 값을 임계값과 비교하도록 추가로 구성되고, 카운트 비교기는 임계값과 카운트 값의 비교에 기초하여 정지 명령 신호 또는 명령 경고 신호 중 적어도 하나를 활성화하도록 추가로 구성된다.
본 개시내용의 적어도 하나의 예에 따르면, 장치는 메모리 제어기로부터 수신된 명령을 디코딩하도록 구성된 명령 디코더; 및 명령을 수신하고, 명령이 불법적인 명령 또는 불법적인 명령 시퀀스 중 적어도 하나를 포함하는지를 결정하기 위해 명령을 분석하도록 구성된 회로망을 포함하되, 명령이 불법적인 명령 또는 불법적인 명령 시퀀스 중 적어도 하나를 포함한다고 회로망이 결정할 때, 회로망은 활성 정지 명령 신호를 명령 디코더에 제공하도록 추가로 구성되고, 명령 디코더는 활성 정지 명령 신호에 응답하여 불법적인 명령 또는 명령 시퀀스의 실행을 방지하도록 구성된다.
본 개시내용의 적어도 하나의 예에 따르면, 방법은 적어도 하나의 명령을 포함하는 명령 시퀀스를 메모리 제어기로부터 수신하는 단계, 적어도 하나의 불법적인 명령을 포함하는 불법적인 명령 시퀀스에 대응하는 패턴과 명령 시퀀스를 비교하는 단계, 명령 시퀀스와 관련된 카운트를 증가시키고, 명령 시퀀스가 패턴을 포함한다는 것을 결과가 나타낼 때 카운트를 임계값과 비교하는 단계, 및 카운트가 임계값 이상일 때 명령 시퀀스의 실행을 방지하도록 구성된 신호를 발부하는 단계를 포함할 있다.
도 1은 본 개시내용의 실시형태에 따른 반도체 디바이스의 블록도이다.
도 2는 본 개시내용의 실시형태에 따른 명령/어드레스 추적 회로망의 블록도이다.
도 3은 본 개시내용의 실시형태에 따른 패턴 매칭 회로망의 블록도이다.
도 4는 본 개시내용의 실시형태에 따른 방법의 흐름도이다.
도 5는 본 개시내용의 실시형태에 따른 메모리 디바이스를 포함하는 컴퓨팅 시스템의 블록도이다.
특정 실시형태의 다음의 설명은 본질적으로 예시일 뿐이며, 본 개시내용 또는 그 적용 또는 사용의 범위를 제한하려는 의도가 결코 아니다. 본 시스템 및 방법의 실시형태에 대한 다음의 상세한 설명에서, 본 명세서의 일부를 형성하고 설명된 시스템 및 방법이 실시될 수 있는 특정 실시형태를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시형태는 당업자가 현재 개시된 시스템 및 방법을 실시할 수 있도록 충분히 상세하게 설명되며, 다른 실시형태가 이용될 수 있고 구조적 및 논리적 변경이 본 개시내용의 사상 및 범위를 벗어남이 없이 만들어질 수 있다는 것을 이해해야 한다. 더욱이, 명료성의 목적을 위해, 특정 특징의 상세한 설명은 본 개시내용의 실시형태의 설명을 모호하게 하지 않기 위해 당업자에게 자명할 때 논의되지 않을 것이다. 따라서, 다음의 상세한 설명은 제한적인 의미로 받아들여서는 안 되며, 본 발명의 범위는 첨부된 청구범위에 의해서만 한정된다.
해커는 메모리 디바이스(예를 들어, 플래시, DRAM)와 같은 하드웨어 디바이스의 보안 취약성을 악용할 수 있다. 행 해머 어택(row hammer attack)에서, 해커는 메모리에서의 행 또는 행의 그룹에 반복적으로 액세스하며, 이는 주변 행에서의 데이터 저하를 유발할 수 있다. 일부 메모리는 행 해머 어택을 검출하기 위해 액세스 명령과 관련된 행 어드레스를 추적하고, 데이터를 보존하기 위해 주변 행의 리프레시 비율을 증가시킬 수 있다. 메모리 어드레스에 기초한 어택에 추가하여 또는 이에 대안적으로, 해커는 특정 명령 및/또는 명령과 관련된 메모리 어드레스를 가지거나 가지지 않을 수 있는 명령의 시퀀스에 기초하여 메모리를 어택할 수 있다.
예를 들어, 패키지 후 수리(post package repair: PPR) 명령은 행 어드레스를 다른 보조 행에 재매핑하기 위해 하나 이상의 퓨즈 및/또는 안티퓨즈(antifuse)를 블로잉하는 것에 의해 메모리에서의 하나 이상의 결함성 행을 수리하도록 사용될 수 있다. 이것은 결함성 행이 있는 메모리가 결함성 행 없이 계속 사용되는 것을 가능하게 한다. 그러나, PPR 명령은 또한 해커에 의해 악용될 수 있다. PPR 명령을 발부하는 것은 메모리에 고전압을 제공하는 하나 이상의 전하 펌프를 메모리가 턴-온하는 것을 가능하게 한다. 이러한 고전압은 메모리를 수리하기 위해 퓨즈 및/또는 안티퓨즈를 블로잉하도록 사용된다. 그러나, 메모리는 퓨즈 및/또는 안티퓨즈가 블로잉되는지의 여부에 관계없이 PPR 명령이 발부될 때 고전압에 노출된다. PPR 상태에 있거나 PPR 명령을 반복적으로 발부하는 것에 의해 고전압에 대한 장기간 노출은 메모리에서의 구성요소를 손상시키고 메모리 및/또는 메모리를 포함하는 시스템을 작동 불능 및/또는 침해에 취약하게 할 수 있다.
다른 예에서, 리프레시 명령은 반복적으로 발부될 수 있다. 리프레시 동작이 메모리에 의해 일상적으로 수행되는 동안, 리프레시 명령의 반복적인 수동 발부는 메모리에서 열 폭주 상태를 유발할 수 있으며, 이는 다시 손상을 야기하고 메모리 및/또는 시스템을 작동 불능 및/또는 취약하게 할 수 있다.
일련의 명령은 메모리를 무력화 및/또는 손상시키도록 사용될 수 있다. 예를 들어, 교정 명령에 응답하는 교정 동작 동안, 다른 명령(예를 들어, 리프레시 명령)을 실행하는 것은 교정을 방해할 수 있다. 메모리는 교정 동안 다른 명령의 실행으로 인하여 손상될 수 있고/있거나 작동 불능일 수 있다. 따라서, 교정 명령 후에 이어지는 다른 명령을 포함하는 시퀀스는 메모리에 대한 어택으로서 사용될 수 있다. 이러한 시퀀스는 사용자의 소프트웨어에서 프로그래밍 오류로 인해 합법적인 사용자에 의해 부주의하게 또한 발부될 수 있다.
메모리를 손상시킬 수 있는 명령 또는 명령 시퀀스는 본 명세서에서 "불법적인 명령" 또는 "불법적인 명령 시퀀스"로 지칭된다. 물론 일부 "불법적인" 명령은 시간 간격 내에서 너무 많이 발부되거나 또는 너무 많이 실행되는 경우에만 불법적일 수 있으며(예를 들어, PPR 명령); 그러나, 이러한 잠재적 불법적인 명령 및 시퀀스는 본 명세서에서 불법적인 것으로서 또한 지칭된다. 불법적인 명령이 의도적으로 또는 부주의하게 발부되었는지 여부에 관계없이, 불법적인 명령 및/또는 명령 시퀀스가 메모리에 발부된 때를 검출하고 명령의 실행을 방지하는 것이 바람직할 수 있다.
본 개시내용의 실시형태에 따르면, 추적 회로망은 명령을 모니터링하고 불법적인 명령 및/또는 불법적인 명령 시퀀스의 실행을 검출 및/또는 방지하기 위해 메모리에 포함될 수 있다. 일부 실시형태에서, 추적 회로망은 명령을 수신 및 저장하고, 명령 및/또는 명령의 시퀀스를 불법적인 명령 및/또는 명령 시퀀스에 대응하는 하나 이상의 패턴과 비교할 수 있다. 불법적인 명령 및/또는 명령 시퀀스가 검출되었다는 것을 비교가 나타낼 때, 일부 실시형태에서, 추적 회로망은 불법적인 명령의 실행을 방지하기 위한 신호를 활성화하고/하거나 불법적인 명령의 통지를 제공하기 위한 신호를 활성화할 수 있다. 일부 실시형태에서, 추적 회로망은 불법적인 명령 및/또는 불법적인 명령 시퀀스가 (항상 또는 시간 간격 내에서) 수신된 횟수의 카운트를 유지할 수 있다. 이들 실시형태에서, 추적 회로망은 카운트가 불법적인 명령 및/또는 불법적인 명령 시퀀스와 관련된 임계값 이상일 때만 신호를 활성화할 수 있다.
도 1은 본 개시내용의 적어도 한 실시형태에 따른 반도체 디바이스(100)의 전체 구성을 나타내는 블록도이다. 반도체 디바이스(100)는 일부 예에서 단일 반도체 칩에 집적된 DRAM 디바이스와 같은 반도체 메모리 디바이스일 수 있다.
반도체 디바이스(100)는 메모리 어레이(118)를 포함한다. 메모리 어레이(118)는 복수의 메모리 뱅크를 포함하는 것으로서 도시된다. 도 1의 실시형태에서, 메모리 어레이(118)는 8개의 메모리 뱅크(BANK0-BANK7)를 포함하는 것으로 도시되어 있다. 다른 실시형태에서, 더 많거나 더 적은 뱅크가 메모리 어레이(118)에 포함될 수 있다. 도 1이 하나의 메모리 어레이(118)만을 도시하지만, 디바이스(100)는 다른 실시형태에서 다수의 메모리 어레이(118)를 포함할 수 있다는 것이 이해된다. 각각의 메모리 뱅크는 복수의 워드 라인(WL), 복수의 비트 라인(BL 및 /BL), 및 복수의 워드 라인(WL)과 복수의 비트 라인(BL 및 /BL)의 교차점에 배열된 복수의 메모리 셀(MC)을 포함한다. 워드 라인(WL)의 선택은 행 디코더(108)에 의해 수행되고, 비트 라인(BL 및 /BL)의 선택은 열 디코더(110)에 의해 수행된다. 선택된 워드 라인(WL)은 워드 라인 드라이버(WD)에 의해 원하는 전하로 구동될 수 있다. 도 1의 실시형태에서, 행 디코더(108)는 각각의 메모리 뱅크에 대한 각각의 행 디코더를 포함하고, 열 디코더(110)는 각각의 메모리 뱅크에 대한 각각의 열 디코더를 포함한다. 비트 라인(BL 및 /BL)은 각각의 감지 증폭기(SAMP)에 연결된다.
비트 라인(BL 또는 /BL)으로부터의 판독 데이터는 감지 증폭기(SAMP)에 의해 증폭되고, 상보적 로컬 데이터 라인(LIOT/B)을 통해 서브-증폭기 전송 게이트(120)에 제공된다. 서브-증폭기 전송 게이트(120)는 적절한 LIOT/B와 적절한 공유 메인 데이터 라인(MIO) 사이에 도전성 경로를 형성하기 위한 스위치로서 작용할 수 있다. 판독 데이터는 IO 회로(122)에 데이터를 제공하는 판독 증폭기(126)에 서브-증폭기 전송 게이트(120)에 의해 제공되는 전도성 경로를 통해 로컬 데이터 라인(LIOT/B)으로부터 메인 데이터 라인(MIO)으로 전달될 수 있다. IO 회로(122)로부터 수신된 기록 데이터는 기록 증폭기(126)로부터 출력되고, 상보적 메인 데이터 라인(MIO), 서브-앰프 전송 게이트(120) 및 상보적 로컬 데이터 라인(LIOT/B)을 통해 감지 증폭기(SAMP)에 제공되고, 비트 라인(BL 또는 /BL)에 연결된 메모리 셀(MC)에 기록된다.
반도체 디바이스(100)는 메모리 제어기(도 1에 도시되지 않음)와 같은 반도체 디바이스(100) 외부(예를 들어, 메모리 외부)의 디바이스로부터 정보를 전송 및 수신하기 위해 복수의 외부 단자를 이용할 수 있다. 외부 단자는 명령 및 어드레스, 및 CS 신호를 수신하기 위해 명령 및 어드레스 버스에 연결된 명령 및 어드레스(C/A) 단자, 클록(CK 및 /CK)를 수신하는 클록 단자, 데이터를 제공하기 위한 데이터 단자(DQ), Alrt 신호를 제공하기 위한 경보 핀(ALERT), 및 전원 전위(VDD1, VDD2, VSS, VDDQ 및 VSSQ)를 수신하는 전원 단자를 포함할 수 있다.
클록 단자에는 입력 회로(112)에 제공되는 외부 클록(CK 및 /CK)이 제공된다. 외부 클록은 상보적일 수 있다. 입력 회로(112)는 CK 및 /CK 클록에 기초하여 내부 클록(ICLK)를 생성한다. ICLK 클록은 명령 디코더(110) 및 내부 클록 생성기(114)에 제공된다. 내부 클록 생성기(114)는 ICLK 클록에 기초하여 다양한 내부 클록(LCLK)을 제공한다. LCLK 클럭은 다양한 내부 회로의 타이밍 동작을 위해 사용될 수 있다. 내부 데이터 클록(LCLK)은 입력/출력 회로(122)에 포함된 회로의 동작을 타이밍하기 위해 입력/출력 회로(122)에, 예를 들어 기록 데이터의 수신을 타이밍하기 위해 데이터 수신기에 제공된다.
C/A 단자에는 메모리 어드레스가 공급될 수 있다. C/A 단자에 공급된 메모리 어드레스는 명령/어드레스 입력 회로(102)를 통해 어드레스 디코더(104)에 제공된다. 어드레스 디코더(104)는 어드레스를 수신하고, 디코딩된 행 어드레스(XADD)를 행 디코더(108)에 공급하고, 디코딩된 열 어드레스(YADD)를 열 디코더(110)에 공급제공할 수 있다. 어드레스 디코더(104)는 또한 디코딩된 행 어드레스(XADD) 및 열 어드레스(YADD)를 포함하는 메모리 어레이(118)의 뱅크를 나타낼 수 있는 디코딩된 뱅크 어드레스(BADD)를 공급할 수 있다. C/A 단자에는 명령이 공급될 수 있다. 명령의 예는 판독 동작을 수행하기 위한 판독 명령, 및 기록 동작을 수행하기 위한 기록 명령과 같은, 메모리에 액세스하기 위한 액세스 명령뿐만 아니라 다른 명령 및 동작을 포함한다. 액세스 명령은 액세스될 메모리 셀(들)을 나타내기 위해 하나 이상의 행 어드레스(XADD), 열 어드레스(YADD) 및 뱅크 어드레스(BADD)와 관련될 수 있다.
명령은 명령/어드레스 입력 회로(102)를 통해 명령 디코더(106)에 내부 명령 신호로서 제공될 수 있다. 명령 디코더(106)는 다양한 내부 신호 및 동작을 수행하기 위한 명령을 생성하기 위해 내부 명령 신호를 디코딩하는 회로를 포함한다. 예를 들어, 명령 디코더(106)는 워드 라인(WL)을 선택하기 위한 행 명령 신호, 및 비트 라인(BL)을 선택하기 위한 열 명령 신호를 제공할 수 있다.
디바이스(100)는 판독 명령인 액세스 명령을 수신할 수 있다. 활성화 명령이 수신되고, 행 및 뱅크 어드레스에 활성화 명령이 적시에 공급되고 판독 명령이 뒤따르고 열 어드레스에 판독 명령이 적시에 공급될 때, 판독 데이터는 행 어드레스와 열 어드레스에 대응하는 메모리 어레이(118)에서의 메모리 셀(MC)들로부터 판독된다. 판독 명령은 메모리 어레이(118)로부터의 판독 데이터가 판독 증폭기(128)에 제공되도록 내부 명령을 제공하는 명령 디코더(106)(예를 들어, 명령 제어기)에 의해 수신된다. 판독 데이터는 입력/출력 회로(122)를 통해 데이터 단자(DQ)로부터 외부로 출력된다.
디바이스(100)는 기록 명령인 액세스 명령을 수신할 수 있다. 활성화 명령이 수신되고 행 및 뱅크 어드레스에 활성화 명령이 적시에 공급되고 기록 명령이 뒤따르고, 열 어드레스에 기록 명령이 적시에 공급될 때, 데이터 단자(DQ)에 공급된 기록 데이터는 행 어드레스 및 열 어드레스에 대응하는 메모리 어레이(118)에서의 메모리 셀에 기록된다. 기록 명령은 기록 데이터가 입력/출력 회로(122)에서의 데이터 수신기에 의해 수신되도록 내부 명령을 제공하는 명령 디코더(106)에 의해 수신된다. 기록 클록은 또한 입력/출력 회로(122)의 데이터 수신기에 의한 기록 데이터의 수신을 타이밍하기 위해 외부 클록 단자에 제공될 수 있다. 기록 데이터는 입/출력 회로(122)를 통해 기록 증폭기(126)에 공급되고, 기록 증폭기(126)에 의해 메모리 어레이(118)에 공급되어 메모리 셀(MC)에 기록된다.
디바이스(100)는 또한 리프레시 동작을 수행하게 하는 명령을 수신할 수 있다. 리프레시 신호(REF)는 명령 디코더(106)가 자동 리프레시 및/또는 다른 리프레시 명령을 나타내는 신호를 수신할 때 활성화되는 펄스 신호일 수 있다. 일부 실시형태에서, 리프레시 명령은 메모리 디바이스(100)에 외부적으로 발부될 수 있다. 일부 실시형태에서, 리프레시 명령은 디바이스(100)의 구성요소에 의해 주기적으로 생성될 수 있다. 리프레시 신호(REF)는 리프레시 제어 회로(116)(예를 들어, 리프레시 제어기)에 제공된다. 리프레시 제어 회로(116)에 제공된 리프레시 명령은 디바이스(100)가 메모리 뱅크들 중 하나 이상에 대해 리프레시 동작을 수행하게 할 수 있다.
리프레시 제어 회로(116)는 리프레시 행 어드레스(RXADD)를 행 디코더 회로(108)에 공급하고, 이는 리프레시 행 어드레스에 의해 표시되는 하나 이상의 워드 라인(WL)을 리프레시할 수 있다. 리프레시 제어 회로(116)는 리프레시 신호에 기초하여 리프레시 동작의 타이밍을 제어할 수 있다. 리프레시 신호의 활성화에 응답하여, 리프레시 제어 회로(116)는 하나 이상의 리프레시 어드레스를 생성 및 제공할 수 있다.
리프레시 동작의 한 유형은 자동 리프레시 동작일 수 있다. 자동 리프레시 동작에 응답하여, 디바이스(100)는 메모리 어레이(118)의 워드 라인 또는 워드 라인의 그룹을 리프레시할 수 있고, 그런 다음 다음의 자동 리프레시 동작에 응답하여 메모리의 다음 워드 라인 또는 워드 라인의 그룹을 리프레시할 수 있다. 리프레시 제어 회로(116)는 메모리 어레이(118)에서의 워드 라인 또는 워드 라인의 그룹을 나타내는 리프레시 어드레스로서 자동 리프레시 어드레스를 제공할 수 있다. 리프레시 제어 회로(116)는 자동 리프레시 동작이 시간 경과에 따라 메모리 어레이(118)의 모든 워드 라인을 통해 순환할 수 있도록 리프레시 어드레스의 시퀀스를 생성할 수 있다.
본 개시내용의 실시형태에 따르면, 디바이스(100)는 C/A 추적 회로망(130)(또한 추적 회로망으로 지칭됨)을 포함할 수 있다. 일부 실시형태에서, 명령 디코더(106)는 수신된 메모리 명령(CMD)을 추적 회로망(130)에 제공할 수 있다. 추적 회로망(130)은 디바이스(100)가 불법적인 명령 및/또는 불법적인 명령 시퀀스를 수신했는지의 여부를 결정하기 위해 명령(CMD)을 모니터링할 수 있다. 추적 회로망(130)가 불법적인 명령 및/또는 시퀀스를 검출하면, 추적 회로망(130)은 활성 정지 명령 신호(StpCMD)를 명령 디코더(106)에 제공할 수 있다. 활성(StpCMD)은 명령 디코더(106)가 디바이스(100)의 다른 구성요소에 불법적인 명령을 발부하는 것을 억제하게 하고/하거나 불법적인 명령의 실행을 방지하기 위해 추가 명령을 발부하게 할 수 있다. 일부 실시형태에서, 명령 디코더(106)는 비-불법적인 명령이 실행되도록 불법적인 명령을 수정할 수 있다. 예를 들어, 활성(StpCMD)에 응답하여 교정 명령 후에 필요한 대기 시간이 경과되기 전에 리프레시 명령이 발부되면, 명령 디코더(106)는 리프레시 명령을 발부하기 전에 필요한 대기 시간이 경과하도록 명령 시퀀스를 수정할 수 있다.
일부 실시형태에서, 추적 회로망(130)은 명령 경고 신호(CMD_Alrt)를 디바이스(100)의 경보 핀에 제공할 수 있다. 추적 회로망(130)은 불법적인 명령 및/또는 시퀀스가 검출될 때 활성(CMD_Alert)을 제공할 수 있다. CMD_Alert 신호는 디바이스(100)와 통신하는 사용자 또는 다른 디바이스(도시되지 않음)에 대한 경고, 오류 메시지 및/또는 기타 통지를 생성하도록 사용될 수 있다. 일부 실시형태에서, CMD_Alert 신호는 명령 또는 검출되었지만 실행 및/또는 수정되지 않은 명령을 사용자 및/또는 다른 디바이스에 통지할 수 있다. 일부 실시형태에서, 추적 회로망(130)은 수신된 명령(CMD)에 관한 데이터(예를 들어, 명령 데이터)를 저장할 수 있다. 예시적인 명령 데이터는 명령이 수신된 횟수, 시간 간격 내에서 명령이 수신된 횟수, 명령이 수신될 때 및/또는 이들의 조합을 포함할 수 있지만 이에 제한되지 않는다. 일부 실시형태에서, 명령 데이터(CMD_Data)는 예를 들어 명령 데이터 판독 명령에 응답하여 추적 회로망(130)에 의해 IO 회로(122)에 제공될 수 있다.
일부 실시형태에서, 추적 회로망(130)은 내부 클록 생성기(114)로부터 내부 클록 신호(LCLK)를 수신할 수 있다. LCLK는 추적 회로망(130)의 모니터링 동작의 타이밍을 위해 사용될 수 있다. 예를 들어, 일부 실시형태에서, LCKL은 시간 간격 동안 명령이 수신된 횟수를 결정하기 위해 사용될 수 있다.
일부 실시형태에서, 추적 회로망(130)은 어드레스 디코더(104)(도시되지 않음)로부터 어드레스를 수신할 수 있다. 어드레스는 명령이 불법인지 아닌지의 여부가 명령과 관련된 어드레스에 의존할 때 불법적인 명령을 검출하도록 사용될 수 있다. 일부 실시형태에서, 추적 회로망(130)은 명령 디코더(106) 및/또는 어드레스 디코더(104)에 추가하여 그리고/또는 이 대신에 명령 어드레스 입력 회로(102)로부터 명령 및/또는 어드레스를 수신할 수 있다. 일부 실시형태에서, 추적 회로망(130)은 명령 디코더(106)에 추가하여 그리고/또는 이 대신에 명령 어드레스 입력 회로(102)에 StpCMD를 제공할 수 있다.
일부 실시형태에서, 추적 회로망(130)은 디바이스(100)의 일체형 부분을 형성할 수 있다. 예를 들어, 추적 회로망(130)은 메모리 어레이(118)와 동일한 반도체 다이에서 형성될 수 있다. 일부 예에서, 추적 회로망(130)은 메모리 어레이(118)와 동일한 인쇄 회로 기판 상에 있을 수 있다.
디바이스(100)의 전원 단자에는 전원 전위(VDD1, VDD2, VSS)가 공급된다. 전원 전위(VDD1, VDD2, VSS)는 내부 전압 생성기 회로(124)에 공급된다. 내부 전압 생성기 회로(124)는 전원 단자에 공급되는 전원 전위(VDD1, VDD2, VSS)에 기초하여 다양한 내부 전위(VPP, VOD, VARY, VPERI) 등을 생성한다. 다양한 내부 전위 및 전원 전위가 디바이스(100)의 임의의 상이한 회로들에 사용될 수 있지만, 내부 전위(VPP)는 주로 행 디코더(108)에서 사용되며, 내부 전위(VOD 및 VARY)는 주로 메모리 어레이(118)에 포함된 감지 증폭기(SAMP)에서 사용되고, 내부 전위(VPERI)는 많은 주변 회로 블록에서 사용된다.
전원 단자에는 전원 전위(VDDQ 및 VSSQ)가 또한 공급된다. 전원 전위(VDDQ 및 VSSQ)는 입력/출력 회로(122)에 공급된다. 전원 단자에 공급되는 전원 전위(VDDQ, VSSQ)는 본 개시내용의 실시형태에서 전원 단자에 공급되는 전원 전위(VDD, VSS)와 동일한 전위일 수 있다. 전원 단자에 공급되는 전원 전위(VDDQ, VSSQ)는 본 발명의 다른 실시형태에서 전원 단자에 공급되는 전원 전위(VDD, VSS)와 다른 전위일 수 있다. 전원 단자에 공급되는 전원 전위(VDDQ 및 VSSQ)는 입력/출력 회로(122)를 위해 사용되어서, 입력/출력 회로(122)에 의해 발생되는 전원 노이즈가 다른 회로 블록으로 전파되지 않는다.
반도체 디바이스(100)의 구성요소(예를 들어, 명령 디코더(106), C/A 추적 회로망(130))는 외부 단자(예를 들어, C/A, DQ)에 액세스함이 없이 반도체 디바이스(100)의 다른 구성요소와 정보를 전송 및/또는 수신할 수 있다. 일부 실시형태에서, 구성요소는 정보(예를 들어, CMD 라인, StpCMD 라인, XADD 라인)를 전송 및/또는 수신하기 위한 전도성 트레이스에 의해 서로 연결될 수 있다. 외부 단자에 액세스함이 없이 반도체 디바이스(100)의 다른 구성요소와 통신할 수 있는 구성요소는 반도체 디바이스(100)(예를 들어, 반도체 디바이스(100)가 메모리 디바이스일 때 "메모리 상의" 또는 "메모리의")로 간주될 수 있으며, 반도체 디바이스(100)의 구성요소와 통신하기 위해 반도체 디바이스(100)의 외부 단자에 액세스해야만 하는 다른 구성요소 또는 디바이스는 오프 및/또는 외부 반도체 디바이스(100)(예를 들어, 반도체 디바이스(100)가 메모리 디바이스일 때 "오프 메모리")로 간주될 수 있다.
도 2는 본 개시내용의 실시형태에 따른 C/A 추적 회로망(300)의 블록도이다. 문맥상, IO 회로(203) 및 명령 디코더(201)가 또한 도시되어 있다. 일부 실시형태에서, C/A 추적 회로망(300)(또한 추적 회로망으로 지칭됨)은 C/A 추적 회로망(130)에 포함될 수 있다. IO 회로(203)는 IO 회로(122)에 포함될 수 있고, 명령 디코더(201)는 명령 디코더(106)에 포함될 수 있다. 추적 회로망(300)은 명령 시퀀스 생성기(202), 패턴 매칭 회로망(204), 카운트 비교기(206), 및 명령 데이터 레지스터(208)를 포함할 수 있다.
명령 시퀀스 생성기(202)는 명령(CMD)을 수신할 수 있다. 도 2에 도시된 것과 같은 일부 실시형태에서, 명령 시퀀스 생성기(202)는 명령 디코더(201)로부터 명령을 수신할 수 있다. 일부 실시형태에서, 명령 시퀀스 생성기(202)는 명령 및/또는 명령 시퀀스(CS)를 패턴 매칭 회로망(204)에 제공하기 전에 수신된 명령 중 하나 이상을 적어도 일시적으로 저장할 수 있다. 일부 예에서, 명령 시퀀스 생성기(202)는 명령 및/또는 명령 시퀀스를 저장하기 위한 하나 이상의 버퍼, 래치 및/또는 레지스터를 포함할 수 있다. 예를 들어, 관심 명령 시퀀스가 3개의 명령의 길이이면, 명령 시퀀스 생성기(202)는 적어도 3개의 명령이 수신될 때까지 명령을 버퍼링하고, 그런 다음 패턴 매칭 회로망(204)에 3개의 명령(예를 들어, 명령 시퀀스)을 제공할 수 있다. 물론, 명령 시퀀스 생성기(202)에 의해 제공되는 명령 시퀀스는 상이한 수의 명령(예를 들어, 1, 2, 4 등)을 가질 수 있다. 일부 실시형태에서, 명령 시퀀스 생성기(202)는 명령 시퀀스(LC)의 다양한 길이를 제공할 수 있다. 예를 들어, 명령 시퀀스 생성기(202)는 단일 명령 및 다수의 명령 시퀀스를 제공할 수 있다. 일부 실시형태에서, 명령 시퀀스 생성기(202)는 제공할 명령 시퀀스의 길이 또는 길이들로 프로그래밍 및/또는 하드코딩될 수 있다. 일부 실시형태에서, 명령 시퀀스 생성기(202)는 패턴 매칭 회로망(204)으로부터 명령 시퀀스의 길이 또는 길이들을 수신할 수 있다.
패턴 매칭 회로망(204)은 명령 시퀀스 생성기(202)로부터 명령 및/또는 명령 시퀀스를 수신할 수 있다. 패턴 매칭 회로망(204)은 수신된 명령 및/또는 명령 시퀀스를 불법적인 명령 및 불법적인 명령 시퀀스의 패턴과 비교할 수 있다. 비교의 결과(Res)는 카운트 비교기(206)에 제공될 수 있다. 결과는 비교에 의해 검출된 불법적인 명령 또는 명령 시퀀스(존재한다면)를 포함할 수 있다. 일부 실시형태에서, 결과는 불법적인 명령 또는 명령 시퀀스가 검출된 횟수의 카운트를 더 포함할 수 있다. 카운트는 시간 간격(예를 들어, 500㎳) 내의 카운트, 수명 카운트 및/또는 이들의 조합일 수 있다. 일부 실시형태에서, 패턴 매칭 회로망(204)에 포함된 패턴은 레지스터에 기록될 수 있다. 다른 실시형태에서, 패턴 매칭 회로망(204)에서의 패턴은 하드코딩(예를 들어, 하드와이어링, 퓨즈 블로)될 수 있다. 일부 실시형태에서, 패턴은 명령 시퀀스 생성기(202)로부터 원하는 시퀀스의 길이를 제공할 수 있다. 도 3을 참조하여 더 상세히 논의되는 바와 같이, 일부 실시형태에서, 명령 시퀀스 생성기(202)는 패턴 매칭 회로망(204)에 포함될 수 있거나, 또는 명령 시퀀스 생성기(202)의 기능은 패턴 매칭 회로망(204)의 구성요소에 의해 구현될 수 있다.
일부 실시형태에서, 특정 불법적인 명령 및/또는 명령 시퀀스가 패턴 매칭 회로망(204)에 의해 검출될 때, 패턴 매칭 회로망(204)은 경고 핀 및 명령 디코더(201)에 각각 제공될 수 있는 명령 경고 CMD_Alrt 신호 및/또는 정지 명령 StpCMD 신호를 활성화할 수 있다. 예를 들어, 불법적인 명령 및/또는 명령 시퀀스(예를 들어, 액세스 명령이 너무 가깝게 뒤따르는 교정 명령)가 수신된 횟수에 관계없이 특정 불법적인 명령 또는 명령 시퀀스를 차단하는 것이 바람직할 수 있다.
카운트 비교기(206)는 패턴 매칭 회로망(204)으로부터 결과(Res)를 수신할 수 있다. 카운트 비교기(206)는 비교기 회로 및/또는 다른 논리 회로를 포함할 수 있다. 불법적인 명령 및/또는 시퀀스가 검출되었다는 것을 결과가 나타내면, 카운트 비교기(206)는 불법적인 명령 및/또는 명령 시퀀스가 수신된 횟수를 임계값과 비교할 수 있다. 일부 실시형태에서, 카운트 비교기(206)는 불법적인 명령 및/또는 명령 시퀀스에 대한 임계값(들)을 저장하는 레지스터 또는 다른 저장 매체를 포함할 수 있다. 일부 예에서, 카운트 비교기(206)는 불법적인 명령 및/또는 명령 시퀀스가 수신된 횟수의 추적을 유지하기 위한 카운트 값을 저장하기 위한 레지스터 또는 다른 저장 매체를 더 포함할 수 있다. 일부 실시형태에서, 카운트 비교기(206)는 패턴 매칭 회로망(204)으로부터 임계값(TV)을 수신한다. 불법적인 명령 또는 명령 시퀀스가 수신된 횟수가 임계값 이상인 경우, 카운트 비교기(206)는 CMD_Alrt 신호 및/또는 StpCMD 신호를 활성화할 수 있다. 횟수가 임계값 미만이면, 카운트 비교기(206)는 카운트 값을 업데이트할 수 있지만, CMD_Alrt 및 StpCMD를 활성화하지 않을 수 있다. 일부 실시형태에서, 카운트 비교기(206)는 불법적인 명령 및/또는 시퀀스 및 업데이트된 카운트 값(CD)을 명령 데이터 레지스터(208)에 제공할 수 있다.
불법적인 명령 및/또는 시퀀스가 검출되지 않았다는 것을 패턴 매칭 회로망(204)으로부터 수신된 결과가 나타내면, 카운트 비교기(206)는 어떠한 카운트 값도 업데이트하지 않거나 어떠한 신호도 활성화하지 않을 수 있다.
일부 실시형태에서, 패턴 매칭 회로망(204)으로부터 수신된 결과는 패턴 매칭 회로망(204)에 의해 검출된 불법적인 명령 또는 시퀀스의 표시만을 포함한다. 이러한 실시형태에서, 카운트 비교기(206)는 불법적인 명령 및/또는 시퀀스가 수신된 횟수(예를 들어, 카운트 값)을 저장하는 카운터를 포함할 수 있다. 카운터는 불법적인 명령 및/또는 시퀀스가 수신되었다는 것을 결과가 나타낼 때마다 증가될 수 있다. 일부 실시형태에서, 결과는 불법적인 명령 및/또는 시퀀스의 표시와 카운트 값 모두를 포함할 수 있다. 즉, 이러한 실시형태에서, 패턴 매칭 회로망(204)은 수신된 각각의 불법적인 명령 및/또는 시퀀스에 대한 카운트를 저장하고 증가시킨다.
일부 실시형태에서, 패턴 매칭 회로망(204) 및/또는 카운트 비교기(206)는 내부 클록 생성기(114)와 같은 내부 클록 생성기로부터 제공될 수 있는 내부 클록 신호(LCLK)를 수신할 수 있다. LCLK 신호는 시간 간격(예를 들어, 클록 사이클의 수 또는 밀리초의 수)을 측정하도록 사용될 수 있다. 일부 실시형태에서, 수신된 불법적인 명령 및/또는 시퀀스와 관련된 카운트 값은 시간 간격 후에 재설정(예를 들어, '0'으로 설정)될 수 있다. 카운트 값을 재설정하는 것은 불법적인 명령 및/또는 시퀀스가 시간 간격 내에서 다수 회 제공되는 경우에만 특정 불법적인 명령 및/또는 시퀀스가 차단될 때 사용될 수 있다. 예를 들어 리프레시 명령은 열 폭주 상태를 촉발하는 것을 방지하도록 충분히 시간적으로 이격되면 차단되지 않을 수 있다.
명령 데이터 레지스터(208)는 불법적인 명령 및/또는 시퀀스와 관련된 데이터(예를 들어, 명령 데이터)를 저장하기 위한 하나 이상의 레지스터를 포함할 수 있다. 일부 실시형태에서, 명령 데이터는 수신된 불법적인 명령 및/또는 시퀀스뿐만 아니라 카운트 비교기(206)로부터 수신된 업데이트된 카운트 값을 포함할 수 있다. 일부 실시형태에서, 명령 데이터는 불법적인 명령 및/또는 시퀀스가 수신된 때를 포함할 수 있다. 일부 실시형태에서, 명령 데이터 레지스터(208)는 또한 불법적인 명령뿐만 아니라 수신된 모든 명령과 관련된 명령 데이터를 저장할 수 있다. 예를 들어, 명령 데이터 레지스터(208)는 명령 시퀀스 생성기(202)로부터 명령(CMD)을 수신할 수 있다. 일부 실시형태에서, 명령 데이터 레지스터(208)는 다목적 레지스터(MPR)일 수 있다. 도 3을 참조하여 더 상세히 논의되는 바와 같이, 일부 실시형태에서, 명령 데이터 레지스터(208)는 패턴 매칭 회로망(204)에 포함될 수 있거나, 또는 명령 데이터 레지스터(208)의 기능은 패턴 매칭 회로망(204)의 구성요소에 의해 구현될 수 있다.
명령 데이터는 MPR 판독 명령 및/또는 명령 데이터 레지스터 판독 명령에 의해 명령 데이터 레지스터(208)로부터 판독될 수 있다. 판독 명령에 응답하여, 명령 데이터 레지스터(208)는 명령 데이터(CMD_Data)를 IO 회로(203)에 제공할 수 있다. 명령 데이터는 C/A 추적 회로망(300)과 통신하는 사용자, 메모리의 다른 구성요소, 및/또는 디바이스가 메모리의 사용을 분석하는 것을 허용할 수 있다. 예를 들어, 명령 데이터는 어택이 가장 일반적으로 시도된 것을 결정하기 위해 분석될 수 있다. 다른 예에서, 명령 데이터는 패턴 매칭 회로망(204)에 제공되어야 하는 추가적인 불법적인 명령 또는 시퀀스가 있는지를 결정하기 위해 메모리 실패 후에 분석될 수 있다. 일부 실시형태에서, 명령 데이터는 StpCMD 및/또는 CMD_Alrt 신호가 활성화될 때마다 제공될 수 있다. 명령 데이터는 어떤 불법적인 명령 및/또는 명령 시퀀스가 검출, 차단 및/또는 수정되었는지에 대한 정보를 제공하도록 사용될 수 있다.
도 3은 본 개시내용의 실시형태에 따른 패턴 매칭 회로망(300)의 블록도이다. 일부 실시형태에서, 패턴 매칭 회로망(300)은 패턴 매칭 회로망(204)에 포함될 수 있다. 패턴 매칭 회로망(300)은 패턴 레지스터(302), 비교기(304), 및 결과 레지스터(306)를 포함할 수 있다.
패턴 매칭 회로망(300)은 패턴 레지스터(302) 및/또는 비교기(304)에 제공될 수 있는 데이터를 수신할 수 있다. 데이터는 메모리 어레이(118)와 같은 메모리 어레이 및/또는 IO 회로(122) 및/또는 IO 회로(203)와 같은 IO 회로로부터 제공될 수 있다.
패턴 레지스터(302)는 패턴 매칭 동작에서 사용될 하나 이상의 패턴을 저장할 수 있다. 일부 실시형태에서, 패턴 레지스터(302)는 다수의 레지스터(308)를 포함할 수 있다. 각각의 레지스터(308)는 하나 이상의 패턴을 저장할 수 있다. 일부 실시형태에서, 패턴 레지스터(302)는 다목적 레지스터(MPR)를 사용하여 구현될 수 있다. 이들 실시형태에서, 패턴은 MPR 기록 명령을 사용하여 패턴 레지스터(302)에 기록될 수 있다. 다른 실시형태에서, 패턴은 패턴 레지스터 기록 명령에 응답하여 패턴 레지스터(302)에 기록될 수 있다. 일부 실시형태에서, 패턴 레지스터(302)는 또한 각각의 패턴과 관련된 임계값 및/또는 각각의 패턴의 길이와 같은 추가 데이터를 저장할 수 있다. 일부 실시형태에서, 각각의 패턴의 임계값(TV) 및/또는 길이(LC)는 패턴 매칭 회로망(300)과 통신하는 다른 구성요소(예를 들어, 명령 시퀀스 생성기(202))에 제공될 수 있다. 일부 실시형태에서, 패턴의 일부 또는 전부는 패턴 레지스터(302)에서 하드코딩(예를 들어, 하드와이어링, 퓨즈 블로)될 수 있다. 예를 들어, 불법적인 명령 및/또는 불법적인 명령 시퀀스 및/또는 불법적인 명령 및/또는 명령 시퀀스와 관련된 다른 데이터에 대응하는 패턴은 패턴 레지스터(302)에서 하드코딩될 수 있다.
비교기(304)는 패턴 레지스터(302)로부터 패턴(Pat), 및 명령 및/또는 명령 시퀀스(CS)를 수신할 수 있다. 일부 실시형태에서, CS는 명령 시퀀스 생성기(202)와 같은 명령 시퀀스 생성기로부터 수신될 수 있다. 비교기(304)는 CS가 Pat를 포함하는지를 결정하도록 패턴 매칭 동작을 수행할 수 있다. 일부 실시형태에서, 비교기(304)는 예를 들어 패턴 레지스터(302)가 하나보다 많은 패턴을 포함할 때 다수의 패턴(Pat)에 대한 패턴 매칭 동작을 수행할 수 있다. 다수의 패턴에서의 패턴 매칭 동작은 순차적으로 또는 동시에 수행될 수 있다. 패턴 매칭 동작의 결정에 기초하여, 비교기(304)는 결과(Res)를 생성할 수 있다. 일부 실시형태에서, Res는 다수의 패턴의 Pat가 CS에서 발견된 Pat가 CS에 존재하는 횟수, 및/또는 이들의 조합의 카운트 값을 포함할 수 있다. 예를 들어, Res는 CS에서 발견된 불법적인 명령 및/또는 시퀀스의 표시 및/또는 불법적인 명령 및/또는 시퀀스가 발견된 횟수를 포함할 수 있다. 일부 실시형태에서, 패턴 매칭 회로망(300)은 불법적인 명령 및/또는 시퀀스가 CS에서 존재한다고 결정하는 비교기(304)에 의해 수행된 패턴 매칭 동작에 응답하여 정지 명령 신호(StpCMD) 및/또는 명령 경고 신호(CMD_Alrt)를 활성화할 수 있다.
일부 실시형태에서, 비교기(304)는 복수의 XOR 논리 회로와 같은 비교기 논리를 포함할 수 있다. 논리 회로의 수는 매칭될 패턴에서의 길이(예를 들어, 비트의 수)에 적어도 부분적으로 기초할 수 있다. 일부 실시형태에서, 비교기(304)는 하나 이상의 콘텐츠 어드레스 가능한 메모리(CAM) 셀을 포함할 수 있다. 다른 논리 회로 또는 다른 회로 구성요소(예를 들어, 연산 증폭기)는 일부 실시형태에서 비교기(304)에 포함될 수 있다.
일부 실시형태에서, 비교기(304)는 버퍼(312)를 포함할 수 있다. 버퍼(312)는 원하는 시퀀스 길이가 획득되었을 때까지 수신된 하나 이상의 명령을 일시적으로 저장할 수 있다. 이들 실시형태에서, 비교기(304)는 명령 시퀀스 생성기로부터 CS를 수신하는 것보다 또는 이에 더하여 명령 디코더(예를 들어, 명령 디코더(106), 명령 디코더(201))로부터 명령을 수신할 수 있다. 따라서, 일부 실시형태에서, 명령 시퀀스 생성기는 생략될 수 있다.
결과 레지스터(306)는 패턴 매칭 동작에 응답하여 비교기(304)에 의해 출력된 하나 이상의 결과(Res)를 저장할 수 있다. 일부 실시형태에서, 결과 레지스터(306)는 다수의 레지스터(310)를 포함할 수 있다. 각각의 레지스터(310)는 하나 이상의 결과를 저장할 수 있다. 일부 실시형태에서, 결과 레지스터(306)는 다목적 레지스터(MPR)를 포함할 수 있다. 이들 실시형태에서, 결과 레지스터(306)는 MPR 판독 명령을 사용하여 판독될 수 있다. 다른 실시형태에서, 결과는 결과 레지스터 판독 명령에 응답하여 결과 레지스터(306)로부터 판독될 수 있다. 일부 실시형태에서, 결과는 카운트 비교기(206)와 같은 카운트 비교기에 제공될 수 있다. 선택적으로, 일부 실시형태에서, 비교기(304)는 결과 레지스터(306)에 더하여 또는 이 대신에 카운트 비교기에 Res를 제공할 수 있다.
일부 실시형태에서, 결과 레지스터(306)는 IO 회로(122)와 같은 IO 회로에 결과를 제공할 수 있다. 일부 실시형태에서, 결과 레지스터(306)는 명령 데이터 레지스터(208)와 같은 명령 데이터 레지스터에 결과를 제공할 수 있다. 일부 실시형태에서, 결과 레지스터(306)는 불법적인 명령 및/또는 시퀀스 또는 모든 명령 및/또는 시퀀스와 관련된 명령 데이터를 저장하고, CMD_Data를 IO 회로에 제공할 수 있다. 이들 실시형태에서, 명령 데이터 레지스터는 생략될 수 있다.
도 4는 본 개시내용의 실시형태에 따른 방법(400)의 흐름도이다. 일부 실시형태에서, 방법(400)의 일부 또는 전부는 추적 회로망(130), 추적 회로망(200) 및/또는 패턴 매칭 회로망(300)에 의해 수행될 수 있다.
블록(402)에서, "명령 시퀀스를 수신하는 단계"가 수행될 수 있다. 명령 시퀀스는 적어도 하나의 명령을 포함할 수 있다. 일부 실시형태에서, 명령 시퀀스는 명령 시퀀스 생성기(202)와 같은 명령 시퀀스 생성기에 의해 수신될 수 있다. 일부 실시형태에서, 명령 시퀀스는 패턴 매칭 회로망(204) 및/또는 패턴 매칭 회로망(300)과 같은 패턴 매칭 회로망의 버퍼(312)와 같은 버퍼에 의해 수신될 수 있다.
블록(404)에서, "명령 시퀀스를 패턴과 비교하고 결과를 생성하는 단계"가 수행될 수 있다. 비교는 패턴 매칭 회로망에 의해 수행될 수 있다. 일부 실시형태에서, 비교는 비교기(304)와 같은 패턴 매칭 회로망의 비교기에 의해 수행될 수 있다. 일부 실시형태에서, 패턴은 적어도 하나의 불법적인 명령을 포함하는 불법적인 명령 시퀀스에 대응할 수 있다.
명령 시퀀스가 패턴을 포함한다는 것을 결과가 나타낼 때, 블록(406)에서, "명령 시퀀스와 관련된 카운트를 증가시키는 단계"가 수행될 수 있고, 블록(408)에서, "카운트를 임계값과 비교하는 단계"가 수행될 수 있다. 증가시키는 단계 및 비교하는 단계는 카운트 비교기(206)와 같은 카운트 비교기에 의해 수행될 수 있다. 명령 시퀀스가 패턴을 포함하지 않는다는 것을 결과가 나타내면, 방법(400)은 블록(404) 후에 종료될 수 있고, 블록(406 및 408)은 수행되지 않을 수 있다.
카운트가 임계값 이상일 때, 블록(410)에서, "신호를 활성화하는 단계"가 수행될 수 있다. 일부 실시형태에서, 신호는 명령 시퀀스의 실행을 방지할 수 있다. 예를 들어, 신호는 명령 디코더(106)와 같은 명령 디코더가 실행을 방지하게 할 수 있고/있거나 명령 시퀀스를 수정하게 할 수 있다. 카운트가 임계값 이상이 아니라는 것을 결과가 나타내면, 방법(400)은 블록(408) 후에 종료될 수 있고, 블록(410)은 수행되지 않을 수 있다.
선택적으로, 일부 실시형태에서, 블록(412)에서, "명령 데이터를 저장하는 단계"가 수행될 수 있다. 명령 데이터는 명령 시퀀스와 관련될 수 있다. 일부 실시형태에서, 명령 데이터는 명령 데이터 레지스터(208)와 같은 레지스터에 저장될 수 있다. 일부 실시형태에서, 블록(406, 408) 및/또는 블록(410)이 수행되지 않더라도, 블록(412)은 수행될 수 있다. 일부 실시형태에서, 명령 데이터는 레지스터 판독 명령에 응답하여 레지스터로부터 제공될 수 있다.
도 5는 본 개시내용의 실시형태에 따른 메모리 디바이스(508)를 포함하는 컴퓨팅 시스템(500)의 블록도이다. 컴퓨팅 시스템(500)은 사용자 인터페이스(502), 프로세서(504), 메모리 제어기(506), 및 메모리 디바이스(508)를 포함할 수 있다.
사용자 인터페이스(502)는, 사용자(501)로부터 입력을 수신하고/하거나 사용자(501)에게 출력(예를 들어, 텍스트, 그래픽, 사운드)을 제공하는 하나 이상의 구성요소를 포함할 수 있다. 구성요소의 예는 키보드, 마우스, 터치스크린, 디스플레이(예를 들어, 액정 디스플레이), 스피커 및 마이크를 포함하지만 이들로 제한되지 않는다. 프로세서(504)는 계산 동작을 수행하는 하나 이상의 처리 유닛을 포함할 수 있다. 프로세서(504)는 일부 실시형태에서 멀티코어 및/또는 멀티스레드 프로세서일 수 있다. 프로세서(504)는 사용자(501)로부터 사용자 인터페이스(502)에 의해 수신된 입력에 적어도 부분적으로 기초하여 계산 동작을 수행할 수 있다.
메모리 제어기(506)는 프로세서(504)와 메모리 디바이스(508) 사이에 접속을 제공할 수 있다. 메모리 제어기(506)는 프로세서(504)로부터 명령, 예를 들어 프로세서(504)에 의해 수행되는 계산 동작으로부터 데이터를 검색 및/또는 저장하라는 요청을 수신할 수 있다. 메모리 제어기(506)는 프로세서(504)로부터의 명령을 메모리 디바이스(508)에 의해 실행 가능한 메모리 명령으로 변환할 수 있다. 메모리 제어기(506)는 메모리 디바이스(508)가 데이터를 (메모리 디바이스(508)에 포함된 메모리 어레이에) 저장할 수 있는 방식으로 프로세서(504)로부터 데이터를 추가로 제공할 수 있다. 메모리 제어기(506)는 메모리 디바이스(508)로부터 프로세서(504)에 의해 요청된 데이터 및/또는 메모리 디바이스(508)로부터 다른 정보를 수신할 수 있다. 메모리 제어기(506)는 프로세서(504)에 데이터를 제공할 수 있다.
일부 실시형태에서, 메모리 디바이스(508)는 도 1에 도시된 디바이스(100)를 포함할 수 있다. 일부 실시형태에서, 메모리 디바이스(508)는 도 1에 도시된 추적 회로망(130) 및/또는 도 2에 도시된 추적 회로망(200)을 포함할 수 있다. 추적 회로망은 불법적인 명령 및/또는 시퀀스의 실행을 검출 및/또는 방지하도록 사용된다(간결함을 위해, 불법적인 개별 명령과 명령의 시퀀스는 모두 불법적인 명령으로 지칭된다).
도 5에 도시된 예에서, 사용자(501)는 컴퓨팅 디바이스(500)에 불법적인 명령을 제공할 수 있다. 사용자(501)는 컴퓨팅 디바이스(500)와 상호 작용하는 다른 디바이스 또는 사람일 수 있다. 사용자(501)는 컴퓨팅 시스템(500) 또는 그 일부에 액세스하는데 허락되지 않은 사용자일 수 있다. 그러나, 사용자(501)는 부주의하게 불법적인 명령이 발부되게 한 컴퓨팅 시스템(500)의 합법적인 사용자일 수 있다. 예를 들어, 사용자(501)는 메모리 디바이스(508) 사양을 잘못 판독하고, 명령 사이에 부적절한 대기 시간을 제공했거나 너무 많은 명령이 발부되게 하는 결함성 루프를 프로그래밍하였을 수 있다. 사용자(501)의 의도와 상관없이, 일부 실시형태에서, 불법적인 명령은 사용자 인터페이스(502)에 제공될 수 있다. 다른 실시형태에서, 사용자(501)는 사용자 인터페이스(502)를 우회하고, 불법적인 명령을 프로세서(504), 메모리 제어기(506), 및/또는 메모리 디바이스(508)에 직접 제공할 수 있다. 불법적인 명령은 (예를 들어, 직접 또는 사용자 인터페이스(502), 프로세서(504), 및/또는 메모리 제어기(506)를 통해) 메모리 디바이스(508)에 제공될 수 있다.
일부 실시형태에서, 불법적인 명령은 명령 디코더(106) 및/또는 명령 디코더(201)와 같은 메모리 디바이스(508)의 명령 디코더에 의해 수신될 수 있다. 명령은 메모리 디바이스(508)의 추적 회로망에 제공될 수 있다. 불법적인 명령은 추적 회로망에 의해, 예를 들어 패턴 매칭 회로망(204) 및/또는 패턴 매칭 회로망(300)과 같은 패턴 매칭 회로망, 및/또는 카운트 비교기(206)와 같은 카운트 비교기에 의해 검출될 수 있다. 불법적인 명령을 검출하는 것에 응답하여, 추적 회로망은 명령 디코더가 불법적인 명령으로 하여금 메모리 디바이스(508)에 의해 실행되게 하는 것을 방지할 수 있다. 일부 실시형태에서, 명령 디코더는 불법적인 명령을 수정할 수 있다. 추적 회로망은 명령 경고 신호(CMD_Alert)를 추가로 발부할 수 있다. 명령 경고 신호는 불법적인 명령이 검출되고, 실행되지 않고 그리고/또는 수정되었다는 것을 나타내는 데이터를 포함할 수 있다. 명령 경고 신호는 메모리 제어기(506)에 제공될 수 있다. 일부 실시형태에서, 명령 경고 신호는 메모리 제어기(506)로부터 프로세서(504)로 제공될 수 있고, 프로세서는 일부 실시형태에서 명령 경고 신호를 사용자 인터페이스(502)에 제공할 수 있다. 사용자 인터페이스(502)는 일부 실시형태에서 사용자(501)에게 명령 경고 신호를 제공할 수 있다. 일부 실시형태에서, 명령 경고 신호에 응답하여, 프로세서(504) 및/또는 사용자 인터페이스(502)는 컴퓨팅 시스템(500)에 대한 액세스를 제한하도록 구성될 수 있다. 예를 들어, 사용자 인터페이스(502)는 비밀번호 또는 기타 인증이 수신될 때까지 사용자(501)로부터의 추가 입력을 수락하는 것을 거부할 수 있다. 다른 예에서, 프로세서(504)는 일정 기간 동안 및/또는 사용자 인터페이스(502)로부터 "올 클리어(all clear)" 신호가 수신될 때까지 계산 동작을 수행하는 것을 중단할 수 있다. 시스템(500)은 명령 경보 신호에 응답하여 다른 조치를 취할 수 있고, 본 개시내용의 실시형태는 이전의 2개의 예로 제한되지 않는다.
본 명세서에 개시된 장치 및 방법은 일부 실시형태에서 불법적인 명령 및/또는 명령 시퀀스의 검출을 허용할 수 있다. 일부 실시형태에서, 본 명세서에서의 장치 및 방법 개시내용은 불법적인 명령 및/또는 명령 시퀀스의 실행을 방지할 수 있다. 일부 실시형태에서, 본 명세서에서 개시된 장치 및 방법은 불법적인 명령 및/또는 명령 시퀀스의 수정을 허용할 수 있다. 일부 실시형태에서, 본 명세서에서 개시된 장치들 및 방법은 불법적인 명령 및/또는 명령 시퀀스의 수신의 통지를 허용할 수 있고/있거나 명령 데이터가 제공되는 것을 허용할 수 있다. 본 명세서에서 개시된 장치 및 방법은 일부 애플리케이션에서 불법적인 명령 및/또는 명령 시퀀스의 실행으로 인한 메모리 디바이스의 손상을 방지할 수 있다. 본 명세서에 제공된 예가 DRAM을 참조하더라도, 본 개시내용의 원리는 특정 메모리 유형으로 제한되지 않는다.
물론, 본 명세서에서 설명된 실시예, 실시형태 또는 프로세스 중 임의의 하나는 하나 이상의 다른 실시예, 실시형태 및/또는 프로세스와 조합될 수 있거나, 또는 본 시스템, 장치 및 방법에 따른 별도의 디바이스 또는 디바이스 부분 사이에서 분리될 수 있고/있거나 수행될 수 있음을 이해해야 한다.
마지막으로, 상기 논의는 단지 예시를 위한 것이며, 임의의 특정 실시형태 또는 실시형태의 그룹으로 첨부된 청구범위를 제한하는 것으로 해석되어서는 안 된다. 따라서, 본 개시내용의 다양한 실시형태가 특히 상세하게 설명되었지만, 수많은 수정 및 대안적인 실시형태가 다음의 청구범위에 제시된 바와 같은 본 개시내용의 보다 광범위하고 의도된 사상 및 범위를 벗어남이 없이 당업자에 의해 고안될 수 있다는 것이 또한 이해되어야 한다. 따라서, 명세서 및 도면은 예시적인 방식으로 간주되어야 하며, 첨부된 청구범위의 범위를 제한하도록 의도되지 않는다.

Claims (20)

  1. 장치로서,
    명령을 수신하고 저장하고, 적어도 하나의 명령을 포함하는 명령 시퀀스를 제공하도록 구성된 명령 시퀀스 생성기;
    상기 명령 시퀀스를 수신하고 상기 명령 시퀀스를 패턴과 비교하여 결과를 생성하도록 구성되는 패턴 매칭 회로망(pattern matching circuitry)으로서, 상기 결과는 상기 패턴이 상기 명령 시퀀스에 포함되는지의 여부를 나타내며, 상기 패턴은 하나 이상의 명령에 대응하는, 상기 패턴 매칭 회로망; 및
    상기 결과를 수신하도록 구성되고, 상기 패턴이 상기 명령 시퀀스에 포함되었다고 상기 결과가 나타낼 때, 상기 패턴을 포함하는 상기 명령 시퀀스와 관련된 카운트 값을 업데이트하고 상기 카운트 값을 임계값과 비교하도록 추가로 구성되는 카운트 비교기
    를 포함하되, 상기 카운트 비교기는 상기 카운트 값과 상기 임계값의 비교에 기초하여 정지 명령 신호 또는 명령 경고 신호 중 적어도 하나를 활성화하도록 추가로 구성되는, 장치.
  2. 제1항에 있어서, 상기 패턴을 포함하는 상기 명령 시퀀스와 관련된 명령 데이터를 저장하도록 구성된 명령 데이터 레지스터를 더 포함하는, 장치.
  3. 제2항에 있어서, 상기 명령 데이터 레지스터는 레지스터 판독 명령에 응답하여 상기 명령 데이터를 제공하도록 구성되는, 장치.
  4. 제1항에 있어서, 상기 카운트 비교기는 특정 시간 간격 후에 상기 카운트 값을 재설정하도록 구성되는, 장치.
  5. 제4항에 있어서, 상기 시간 간격은 클록 신호에 적어도 부분적으로 기초하는, 장치.
  6. 제1항에 있어서, 상기 패턴 매칭 회로망은,
    상기 패턴을 저장하도록 구성된 패턴 레지스터; 및
    상기 패턴과 상기 명령 시퀀스를 비교하고 결과를 생성하도록 구성된 비교기
    를 포함하는, 장치.
  7. 제6항에 있어서, 상기 패턴 매칭 회로망은 상기 결과를 저장하도록 구성된 결과 레지스터를 더 포함하는, 장치.
  8. 제6항에 있어서, 상기 패턴 레지스터는 상기 임계값을 저장하고 상기 임계값을 상기 카운트 비교기에 제공하도록 추가로 구성되는, 장치.
  9. 제6항에 있어서, 상기 패턴 레지스터는 상기 명령 시퀀스에 다수의 명령을 저장하고 상기 다수의 명령을 상기 명령 시퀀스 생성기에 제공하도록 추가로 구성되는, 장치.
  10. 제1항에 있어서, 상기 카운트 비교기는 비교기 및 카운터를 포함하는, 장치.
  11. 장치로서,
    메모리 제어기로부터 수신된 명령을 디코딩하도록 구성된 명령 디코더; 및
    상기 명령을 수신하고, 상기 명령이 불법적인 명령 또는 불법적인 명령 시퀀스 중 적어도 하나를 포함하는지를 결정하기 위해 상기 명령을 분석하도록 구성된 회로망으로서, 상기 명령이 불법적인 명령 또는 불법적인 명령 시퀀스 중 적어도 하나를 포함한다고 상기 회로망이 결정하였을 때, 상기 회로망은 상기 명령 디코더에 활성 정지 명령 신호를 제공하도록 추가로 구성되며, 상기 명령 디코더는 상기 활성 정지 명령 신호에 응답하여 상기 불법적인 명령 또는 불법적인 명령 시퀀스의 실행을 방지하도록 구성되는, 상기 회로망
    을 포함하는, 장치.
  12. 제11항에 있어서, 상기 명령이 불법적인 명령 또는 불법적인 명령 시퀀스 중 적어도 하나를 포함한다고 상기 회로망이 결정하였을 때, 상기 회로망은 활성 명령 경고 신호를 상기 메모리의 경보 핀에 제공하도록 추가로 구성되는, 메모리.
  13. 제11항에 있어서, IO 회로를 더 포함하되, 상기 회로망은 상기 명령과 관련된 명령 데이터를 상기 IO 회로에 제공하도록 구성되는, 메모리.
  14. 제13항에 있어서, 상기 명령 데이터는 레지스터 판독 명령에 응답하여 상기 IO 회로에 제공되는, 메모리.
  15. 제13항에 있어서, 상기 명령 데이터는 상기 명령이 불법적인 명령 또는 불법적인 명령 시퀀스 중 적어도 하나를 포함한다는 결정에 응답하여 상기 IO 회로에 제공되는, 메모리.
  16. 제11항에 있어서, 추적 회로망에 클록 신호를 제공하도록 구성된 내부 클록 생성기를 더 포함하되, 상기 명령이 불법적인 명령 또는 불법적인 명령 시퀀스 중 적어도 하나를 포함한다는 결정은 상기 클록 신호에 적어도 부분적으로 기초하는, 메모리.
  17. 제11항에 있어서, 상기 명령 디코더는 상기 불법적인 명령 또는 명령 시퀀스를 수정하는 것에 의해 상기 불법적인 명령 또는 명령 시퀀스의 실행을 방지하도록 구성되는, 메모리.
  18. 방법으로서,
    적어도 하나의 명령을 포함하는 명령 시퀀스를 메모리 제어기로부터 수신하는 단계;
    적어도 하나의 불법적인 명령을 포함하는 불법적인 명령 시퀀스에 대응하는 패턴과 상기 명령 시퀀스를 비교하는 단계;
    상기 명령 시퀀스와 관련된 카운트를 증가시키고, 상기 명령 시퀀스가 패턴을 포함한다고 결과가 나타낼 때 상기 카운트를 임계값과 비교하는 단계; 및
    상기 카운트가 상기 임계값 이상일 때 상기 명령 시퀀스의 실행을 방지하도록 구성된 신호를 발부하는 단계
    를 포함하는, 방법.
  19. 제18항에 있어서, 상기 명령 시퀀스와 관련된 명령 데이터를 레지스터에 저장하는 단계를 더 포함하는, 방법.
  20. 제19항에 있어서,
    판독 레지스터 명령을 수신하는 단계; 및
    상기 판독 레지스터 명령에 응답하여 상기 명령 데이터를 제공하는 단계
    를 더 포함하는, 방법.
KR1020227037212A 2020-04-06 2021-03-23 명령/어드레스 추적을 위한 장치 및 방법 KR20220160048A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/840,946 US11410713B2 (en) 2020-04-06 2020-04-06 Apparatuses and methods for detecting illegal commands and command sequences
US16/840,946 2020-04-06
PCT/US2021/023700 WO2021206903A1 (en) 2020-04-06 2021-03-23 Apparatuses and methods for command/address tracking

Publications (1)

Publication Number Publication Date
KR20220160048A true KR20220160048A (ko) 2022-12-05

Family

ID=77922788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227037212A KR20220160048A (ko) 2020-04-06 2021-03-23 명령/어드레스 추적을 위한 장치 및 방법

Country Status (5)

Country Link
US (2) US11410713B2 (ko)
EP (1) EP4133486A4 (ko)
KR (1) KR20220160048A (ko)
CN (1) CN115516564A (ko)
WO (1) WO2021206903A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586383B2 (en) 2018-10-16 2023-02-21 Micron Technology, Inc. Command block management
US11410713B2 (en) 2020-04-06 2022-08-09 Micron Technology, Inc. Apparatuses and methods for detecting illegal commands and command sequences
US11676052B2 (en) * 2020-04-15 2023-06-13 Micron Technology, Inc. Apparatuses and methods for inference processing on edge devices
KR20230077455A (ko) * 2021-11-25 2023-06-01 에스케이하이닉스 주식회사 메모리, 메모리 시스템 및 메모리 시스템의 동작 방법
US20230205872A1 (en) * 2021-12-23 2023-06-29 Advanced Micro Devices, Inc. Method and apparatus to address row hammer attacks at a host processor

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9417297D0 (en) * 1994-08-26 1994-10-19 Inmos Ltd Method and apparatus for testing an integrated circuit device
US6307779B1 (en) * 2000-07-28 2001-10-23 Micron Technology, Inc. Method and circuitry for bank tracking in write command sequence
US6654848B1 (en) * 2000-09-15 2003-11-25 Advanced Micro Devices, Inc. Simultaneous execution command modes in a flash memory device
US20070245036A1 (en) * 2006-03-03 2007-10-18 Khaled Fekih-Romdhane Illegal commands handling at the command decoder stage
KR102087603B1 (ko) * 2013-10-07 2020-03-11 삼성전자주식회사 메모리 테스트 장치 및 이의 동작 방법
KR102272259B1 (ko) * 2015-07-01 2021-07-06 삼성전자주식회사 커맨드 연동 클럭 생성 스키마를 갖는 반도체 메모리 장치
US10068631B2 (en) 2015-07-08 2018-09-04 Texas Instruments Incorporated Dual mode memory array security apparatus, systems and methods
US9842021B2 (en) 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
US10031677B1 (en) 2015-10-14 2018-07-24 Rambus Inc. High-throughput low-latency hybrid memory module
KR102316279B1 (ko) 2015-10-19 2021-10-22 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 에스에스디
US20190096472A1 (en) 2017-09-25 2019-03-28 Intel Corporation Memory chip having reduced baseline refresh rate with additional refreshing for weak cells
EP3701354B1 (en) * 2017-10-24 2024-06-05 Rambus Inc. Memory module with programmable command buffer
KR102536788B1 (ko) * 2018-09-05 2023-05-30 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작 방법
US10866747B2 (en) * 2019-02-10 2020-12-15 Hewlett Packard Enterprise Development Lp Securing a memory drive
US11410713B2 (en) 2020-04-06 2022-08-09 Micron Technology, Inc. Apparatuses and methods for detecting illegal commands and command sequences

Also Published As

Publication number Publication date
US11410713B2 (en) 2022-08-09
CN115516564A (zh) 2022-12-23
US20210312961A1 (en) 2021-10-07
EP4133486A4 (en) 2024-05-08
US20220335993A1 (en) 2022-10-20
US11682435B2 (en) 2023-06-20
EP4133486A1 (en) 2023-02-15
WO2021206903A1 (en) 2021-10-14

Similar Documents

Publication Publication Date Title
US11682435B2 (en) Apparatuses and methods for detecting illegal commands and command sequences
KR102513775B1 (ko) 메모리의 리프레시 결여 검출을 위한 장치 및 방법
US10818337B2 (en) Semiconductor memory device for preventing occurrence of row hammer issue
US9524770B2 (en) Semiconductor memory devices including redundancy memory cells
US11664063B2 (en) Apparatuses and methods for countering memory attacks
US9411678B1 (en) DRAM retention monitoring method for dynamic error correction
CN114121126A (zh) 用于基于自刷新命令复位行锤击检测器电路的设备、系统及方法
CN112287404B (zh) 具有安全机制的设备及其操作方法
KR20090046910A (ko) 데이터 저장 디바이스의 데이터 무결성 검증
US20230350581A1 (en) Apparatuses, systems, and methods for managing metadata security and access
US11403238B2 (en) Configurable data path for memory modules
US11443820B2 (en) Memory device, memory address decoder, system, and related method for memory attack detection
CN116235249A (zh) 具有安全锁的半导体装置以及相关联方法和系统
US20180090221A1 (en) Boot-up control circuit and semiconductor apparatus including the same
US20220147267A1 (en) ERROR INJECTION METHODS USING SOFT POST-PACKAGE REPAIR (sPPR) TECHNIQUES AND MEMORY DEVICES AND MEMORY SYSTEMS EMPLOYING THE SAME
US11972788B2 (en) Apparatuses, systems, and methods for controller directed targeted refresh operations based on sampling command
US10990317B2 (en) Memory with automatic background precondition upon powerup
KR101017812B1 (ko) 리던던시 워드라인 리프레쉬 장치
US20230214130A1 (en) Memory with address-selectable data poisoning circuitry, and associated systems, devices, and methods
US11915775B2 (en) Apparatuses and methods for bad row mode
US11532358B2 (en) Memory with automatic background precondition upon powerup
US20230061037A1 (en) Apparatus with power-based data protection mechanism and methods for operating the same
US20240112717A1 (en) Memory with deterministic worst-case row address servicing, and associated systems, devices, and methods