KR20170136829A - 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법 - Google Patents

반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법 Download PDF

Info

Publication number
KR20170136829A
KR20170136829A KR1020160068849A KR20160068849A KR20170136829A KR 20170136829 A KR20170136829 A KR 20170136829A KR 1020160068849 A KR1020160068849 A KR 1020160068849A KR 20160068849 A KR20160068849 A KR 20160068849A KR 20170136829 A KR20170136829 A KR 20170136829A
Authority
KR
South Korea
Prior art keywords
data
unit
comparison
internal operation
parallel bit
Prior art date
Application number
KR1020160068849A
Other languages
English (en)
Inventor
류제민
오름
유학수
노수정
서승영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020160068849A priority Critical patent/KR20170136829A/ko
Priority to US15/600,715 priority patent/US10224114B2/en
Publication of KR20170136829A publication Critical patent/KR20170136829A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • G01R31/31935Storing data, e.g. failure memory
    • 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/14Implementation of control logic, e.g. test mode decoders
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • 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/44Indication or identification of errors, e.g. for repair
    • 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/54Arrangements for designing test circuits, e.g. design for test [DFT] tools
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/005Circuit means for protection against loss of information of semiconductor storage devices
    • 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
    • G11C2029/0409Online test
    • 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
    • G11C2029/1208Error catch memory
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C2029/2602Concurrent test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)

Abstract

메모리 장치, 반도체 장치 및 이의 동작 방법이 개시된다. 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 및 다수의 비트를 동시에 비교하는 병렬 비트 연산을 통해 테스트 또는 내부 동작을 수행하는 내부 동작 수행부를 포함하고, 상기 내부 동작 수행부는, 내부 동작 모드에서 외부의 제어 없이 내부 동작을 수행하는 것을 특징으로 할 수 있다.

Description

반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법{Semiconductor Device, Memory Device and Method of Operating Memory Device}
본 개시의 기술적 사상은 메모리 장치에 관한 것으로서, 더욱 상세하게는, 병렬 비트 테스트(Parallel Bit Test;PBT) 회로를 포함하는 메모리 장치 및 이를 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치를 포함하는 메모리 시스템의 발달로, 하나의 메모리 모듈이나 메모리 시스템에 포함되는 반도체 메모리 장치의 수는 점점 증가하는 추세에 있다. 이에 따라, 반도체 메모리 장치에 대하여 불량이 발생할 가능성 또한 증가하고 있으며, 이러한 불량을 탐지하여 선별하는 테스트 과정이 중요해지고 있다.
일반적으로, 반도체 메모리 장치의 테스트는 외부의 테스트 장치를 이용하여 해당 반도체 메모리 장치의 메모리 셀(cell)들에 데이터를 기입(write)한 뒤, 그 메모리 셀 들을 독출(read)하고, 독출된 데이터와 기입했던 데이터가 동일한지를 비교하여 상기 반도체 메모리 장치의 양호 또는 불량을 판별하는 방식으로 이루어진다.
메모리 반도체에서 저장 용량의 증가에 따라서, 테스트 시간이 증가 되고 있다. 이와 더불어 한정된 생산 시간에 생산성을 더욱 향상시키기 위하여, 테스트 시간 감소에 대한 요구가 커져가고 있다. 이러한 요구에 따라서, 반도체 메모리 검증 단계에서, 병렬 비트 테스트 회로가 사용되고 있다.
일반적으로, DRAM은 빠른 응답 속도 및 빠른 동작 속도를 갖기 때문에, 시스템의 주 메모리(Main Memory)로써 널리 사용된다. 일반적인 DRAM은 호스트의 제어에 따라, 데이터를 기입(write)하거나 기입된 데이터를 독출(read)할 수 있다.
최근에는, 호스트의 연산 동작 중 일부를 내부 동작(Internal Operation)으로써 수행하는 수행부를 포함하는 메모리 장치가 개발되고 있다. 내부 동작을 통해 호스트의 연산 동작의 부담이 감소하게 되며, 이로 인해, 전체적인 성능이 향상될 수 있다. 그러나 내부 동작을 위한 별도의 인터페이스가 요구되고, 이로 인해 내부 동작을 구현하기 위한 장치의 비용 증가와 같은 문제점이 있다.
본 개시의 기술적 사상이 해결하고자 하는 과제는 병렬 비트 테스트 회로를 활용하여 내부 동작을 수행하는 반도체 메모리 장치를 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 메모리 장치는, 복수의 메모리 셀들을 포함하는 메모리 셀 어레이, 및 다수의 비트를 동시에 비교하는 병렬 비트 연산을 통해 테스트 또는 내부 동작을 수행하는 내부 동작 수행부를 포함하고, 상기 내부 동작 수행부는, 내부 동작 모드에서 외부의 제어 없이 내부 동작을 수행하는 것을 특징으로 할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 반도체 장치는, 테스트 모드에서 다수의 비트를 동시에 비교하는 병렬 비트 연산을 통해 테스트를 수행하고, 노멀 모드에서 상기 병렬 비트 연산 기능을 활용하여 외부로부터의 데이터에 대한 비교 동작을 포함하는 내부 동작을 수행하는 내부 동작 수행부를 포함하고, 상기 내부 동작 수행부는 상기 내부 동작 수행부의 모드를 테스트 모드 또는 내부 동작 모드로 설정하는 모드 선택부, 상기 병렬 비트 연산 기능을 활용하여, 상기 메모리 장치에서 리드된 데이터와 상기 외부로부터의 데이터에 대한 병렬 비트 비교를 수행하는 병렬 비트 비교부, 및 상기 병렬 비트 비교부에 의한 비교 결과를 출력하는 결과 출력부를 포함할 수 있다.
본 개시의 기술적 사상에 따르면, 병렬 비트 테스트 회로를 이용하여 메모리의 노멀 동작 외 내부 동작을 수행함으로써, 메모리 수행 능력을 향상시키고 메모리 내부 전력 소비와 동작 속도를 개선 할 수 있는 기능을 제공할 수 있다.
도 1은 본 개시의 일 실시예에 따른 메모리 장치를 개략적으로 나타내는 블록도이다.
도 2는 본 개시의 일 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 3은 본 개시의 일 실시예에 따른 내부 동작 수행부를 나타내는 블록도이다.
도 4a는 본 개시의 일 실시예에 따른 모드 선택부를 나타내는 블록도이다.
도 4b는 본 개시의 일 실시예에 따른 모드 선택부를 나타내는 블록도이다.
도 4c는 본 개시의 일 실시예에 따른 모드 선택부를 나타내는 블록도이다.
도 5a는 본 개시의 일 실시예에 따른 병렬 비트 비교부를 나타내는 블록도이다.
도 5b는 본 개시의 일 실시예에 따른 병렬 비트 비교부를 나타내는 블록도이다.
도 5c는 본 개시의 일 실시예에 따른 병렬 비트 비교부를 나타내는 블록도이다.
도 6은 본 개시의 일 실시예에 따른 비교 회로를 나타내는 회로도이다.
도 7은 본 개시의 예시적 실시예에 따른 병렬 비트 비교기의 동작을 나타내는 블록도이다.
도 8a는 본 개시의 일 실시예에 따른 결과 출력부를 나타내는 블록도이다.
도 8b는 본 개시의 일 실시예에 따른 결과 출력부를 나타내는 블록도이다.
도 8c는 본 개시의 일 실시예에 따른 결과 출력부를 나타내는 블록도이다.
도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 메모리 셀 어레이에 기입된 데이터의 예시를 나타낸다.
도 10a는 본 개시의 예시적 실시예에 따른 메모리 장치의 블록도를 나타낸다.
도 10b는 본 개시의 예시적 실시예에 따른 메모리 장치의 블록도를 나타낸다.
도 11은 본 개시의 예시적 실시예에 따른 내부 동작 수행부의 동작을 나타내는 순서도이다.
도 12는 본 개시의 예시적 실시예에 따른 모드 선택부의 동작을 나타내는 순서도이다.
도 13a는 본 개시의 예시적 실시예에 따른 병렬 비트 비교부의 동작을 나타내는 순서도이다.
도 13b는 본 개시의 예시적 실시예에 따른 병렬 비트 비교부의 동작을 나타내는 순서도이다.
도 14a는 본 개시의 예시적 실시예에 따른 결과 출력부의 동작을 나타내는 순서도이다.
도 14b는 본 개시의 예시적 실시예에 따른 결과 출력부의 동작을 나타내는 순서도이다.
도 15는 본 개시의 예시적 실시예에 따른 메모리 장치를 포함하는 메모리 모듈을 나타내는 도면이다.
도 16는 본 개시의 예시적 실시예에 따른 메모리 장치를 포함하는 메모리 모듈을 나타내는 도면이다.
도 1은 본 개시의 일 실시예에 따른 메모리 장치를 개략적으로 나타내는 블록도이다.
도 1을 참조하면, 메모리 장치(10)는 내부 동작 수행부(100)와 메모리 셀 어레이(200)를 포함할 수 있다. 내부 동작 수행부(100)와 메모리 셀 어레이(200)는 통신 가능하게 연결되어 있어 어드레스(ADDR) 및/또는 데이터(DATA)를 주고 받을 수 있다.
내부 동작 수행부(100)는 병렬 비트 비교부(120)를 포함할 수 있다. 병렬 비트 비교부(120)는 테스트 모드에서 병렬 비트 테스트(PBT)를 수행할 수 있다. 반도체 메모리 장치에서 데이터 리드(Read) 및 라이트(Write) 동작이 정확하게 이루어지게 하기 위해서는 칩 내의 불량 셀을 검출해야 한다. 반도체 메모리 장치가 초 고집적화 되고, 셀의 수가 수천만 개 또는 그 이상으로 되어감에 따라 불량 셀의 테스트 타임 단축이 생산의 효율성과 연결된다. 이에 따라, 반도체 메모리 장치에 대한 테스트 시간을 줄이기 위해 병렬 비트 테스트(PBT)가 사용된다.
내부 동작 수행부(100)는 병렬 비트 비교부(120)의 병렬 비트 비교기능을 활용하여 다양한 내부 동작(Internal Operation)을 수행할 수 있다. 내부 동작은 메모리 셀 어레이(200) 전부 또는 일부에 호스트(HOST)로부터 제공받은 비교 데이터를 비교하는 비교 동작, 비교 동작을 통해 비교 데이터를 써치하는 써치(Search) 동작 및 비교 동작에 의한 비교 결과를 활용하는 응용 동작(Application Operation)을 포함할 수 있다. 내부 동작 수행부(100)는 비교 동작을 통해 비교 결과를 얻을 수 있다. 비교 결과에는 메모리 셀 어레이(200)에서 비교 데이터에 대응하는 매치 데이터 및 매치 데이터의 어드레스가 포함될 수 있다.
응용 동작은 재기입(Rewrite) 동작, 카피(Copy) 동작, 무브(Move) 동작 및 스왑(Swap) 동작을 포함할 수 있다. 재기입(Rewrite) 동작은 매치 데이터를 독출하여 데이터의 포맷(Format)을 변경한 후 다시 메모리 셀 어레이(200)에 기입하는 동작을 의미할 수 있다. 카피(Copy) 동작은 매치 데이터를 외부로부터 전송받은 목표 어드레스에 기입하는 동작을 의미할 수 있다. 무브(Move) 동작은 매치 데이터의 어드레스를 목표 어드레스로 변경하는 동작을 의미할 수 있다. 스왑(Swap) 동작은 매치 데이터와 목표 어드레스의 데이터를 교환하는 동작을 의미할 수 있다. 이 외에도 응용 동작은 메모리 셀 어레이(200)에 대해서 수행할 수 있는 다양한 동작을 의미할 수 있으며, 상기 예시들로 본 발명의 권리범위가 제한되지 않음은 이해되어야 할 것이다.
메모리 셀 어레이(200)는 워드라인과 비트라인에 의해 억세스될 수 있는 메모리 셀들을 포함한다. 메모리 셀은 휘발성 메모리 셀 또는 비휘발성 메모리 셀일 수 있다. 예컨대, 메모리 셀은 DRAM(Dynamic Random Access Memory) 셀, 플래시 메모리 셀, MRAM(Magnetoresistive Random Access Memory) 셀, PRAM(Phase-change Random Access Memory) 셀 등일 수 있으며, 특정 종류의 메모리 셀로 한정되지 않는다.
도 2는 본 개시의 일 실시예에 따른 메모리 장치를 나타내는 블록도이다.
도 2를 참조하면, 메모리 장치(10)는 내부 동작 수행부(100), 메모리 셀 어레이(200), 제어 로직(300), 어드레스 버퍼(400), 로우 디코더(500), 컬럼 디코더(600) 및 데이터 버퍼(700)을 포함할 수 있다.
제어 로직(300)은 메모리 장치(10)의 동작을 제어할 수 있다. 예를 들어, 제어 로직(300)은 외부로부터 커맨드(CMD)를 받아 메모리 장치(10)가 기입 동작 또는 독출 동작을 수행하도록 제어신호들을 생성할 수 있다. 제어 로직(300)은 메모리 컨트롤러로부터 수신되는 커맨드(CMD)를 디코딩하는 커맨드 디코더(310)을 포함할 수 있다.
커맨드 디코더(310)는 칩 선택신호(CSB), 로우 어드레스 스트로브 신호(RASB), 칼럼 어드레스 스트로브 신호(CASB), 기입 인에이블 신호(WEB) 및 클럭 인에이블 신호(CKE)를 디코딩하여 여러가지 제어신호들을 발생할 수 있다.
메모리 셀 어레이(200)는 메모리 셀을 포함하는 단위 메모리 셀을 복수 개 포함하고, 워드라인 구동신호(WL) 및 칼럼 선택신호(CSL)에 응답하여 동작한다. 메모리 셀 어레이(200)는 적어도 하나의 블록(BKn)을 포함할 수 있다.
어드레스 버퍼(400)는 외부 어드레스(ADDR)에 기초하여 로우 어드레스(ADDR_X) 및 칼럼 어드레스(ADDR_Y)를 발생한다. 로우 디코더(500)는 로우 어드레스(ADDR_X)를 디코딩하여 디코딩된 로우 어드레스를 발생하고, 상기 디코딩된 로우 어드레스에 기초하여 워드라인 구동신호(WL)를 발생한다. 또한, 로우 디코더(200)는 테스트 모드에서 워드라인 구동신호(WL)의 전압 레벨을 바꿀 수 있다. 칼럼 디코더(600)는 칼럼 어드레스(ADDR_Y)를 디코딩하여 디코딩된 칼럼 어드레스를 발생하고, 상기 디코딩된 칼럼 어드레스에 기초하여 칼럼 선택신호(CSL)를 발생한다.
데이터 버퍼(700)는 제어 로직(300)의 제어 신호에 대응하여 데이터를 전송 받아 메모리 셀 어레이(200)에 데이터를 기입할 수 있다. 또한 메모리 셀 어레이(200)로부터 리드 데이터(Rdata)를 독출하여 내부 동작 수행부(100)에 제공할 수 있다.
내부 동작 수행부(100)는 도 1에서 설명했던 바와 같이, 호스트(HOST)로부터의 커맨드(CMD)를 수신할 수 있다. 호스트(HOST)로부터의 커맨드(CMD)는 도 2에 도시된 바와 같이 제어 로직(300)을 통해 수신할 수도 있고, 외부 핀(Pin)을 통해 직접 수신할 수도 있다. 커맨드(CMD)를 해석한 결과, 커맨드(CMD)가 내부 동작 수행 커맨드인 경우, 병렬 비트 비교부(120)는 호스트(HOST)로부터 제공받은 비교 데이터와 메모리 셀 어레이(200)에서 독출한 리드 데이터를 비교할 수 있다. 그리고 내부 동작 수행부(100)는 병렬 비트 비교부(120)의 비교 결과를 이용하여 내부 동작 결과(IRst)를 출력하여 다양한 내부 동작(Internal Operation)을 수행할 수 있다. 내부 동작(Internal Operation) 수행에 관한 자세한 내용은 후술한다.
도 3은 본 개시의 일 실시예에 따른 내부 동작 수행부를 나타내는 블록도이다.
도 3을 참조하면, 내부 동작 수행부(100)는 모드 선택부(110), 병렬 비트 비교부(120) 및 결과 출력부(130)을 포함할 수 있다.
모드 선택부(110)는 외부로부터 커맨드(CMD)를 수신하고 이에 따라 내부 동작 수행부(100)의 모드를 테스트 모드 또는 내부 동작 모드로 설정한다. 모드 선택부(110)는 동작 모드에 따른 지시(INS)를 병렬 비트 비교부(120)에 출력할 수 있다. 내부 동작 모드의 경우 비교 데이터(Cdata)를 병렬 비트 비교부(120)에 출력할 수 있다. 비교 데이터(Cdata)는 호스트로부터 수신할 수 있다.
병렬 비트 비교부(120)는 지시(INS)에 따라 병렬 비트 테스트(PBT) 또는 병렬 비트 비교(Parallel Bit Compare;PBC)를 수행할 수 있다. 지시(INS)가 테스트 모드 지시인 경우에는 병렬 비트 테스트(PBT)를 수행하고, 내부 동작 모드 지시인 경우에는 병렬 비트 비교(PBC)를 수행할 수 있다. 병렬 비트 비교(PBC)를 수행하는 경우, 메모리 셀 어레이(200)로부터 독출한 리드 데이터(Rdata)와 모드 선택부(110)로부터 수신한 비교 데이터(Cdata)를 비교할 수 있다. 또한 비교에 따른 비교 결과(CRst)를 결과 출력부(130)에 출력할 수 있다.
결과 출력부(130)는 수신한 비교 결과(CRst)에 대응하여 내부 동작 결과(IRst)를 출력할 수 있다. 내부 동작 결과(IRst)에는 후술할 바와 같이, 힛(Hit), 미스(Miss), 업(Up), 다운(Down), 매치 데이터(Mdata), 재기입 데이터(Wdata), 매치 어드레스(Maddr) 및 목표 어드레스(Gaddr) 중 적어도 하나를 포함할 수 있다.
도 4a는 본 개시의 일 실시예에 따른 모드 선택부를 나타내는 블록도이다.
도 2 및 도 4a를 참조하면, 모드 선택부(110a)는 신호 발생기(111a)를 포함할 수 있다. 모드 선택부(110a)는 호스트(HOST) 또는 제어 로직(300)으로부터 테스트 모드 커맨드(CMD_tm) 또는 내부 동작 모드 커맨드(CMD_io)를 수신할 수 있다. 신호 발생기(111a)는 수신한 커맨드(CMD)에 따라 다른 지시(INS)를 발생할 수 있다. 수신한 커맨드(CMD)가 테스트 모드 커맨드(CMD_tm)인 경우 테스트 모드 지시(INS_tm)을 발생할 수 있고, 내부 동작 모드 커맨드(CMD_io)인 경우 내부 동작 모드 지시(INS_io)를 발생할 수 있다. 테스트 모드 커맨드(CMD_tm)와 내부 동작 모드 커맨드(CMD_io)는 각각 별개의 외부 핀(Pin)을 통해 수신할 수 있다.
도 4b는 본 개시의 일 실시예에 따른 모드 선택부를 나타내는 블록도이다. 도 4a와 중복되는 설명은 생략한다.
도 2 및 도 4b를 참조하면, 모드 선택부(110b)는 신호 발생기(111b) 및 패턴 분석기(112b)를 포함할 수 있다.
패턴 분석기(112b)는 호스트(HOST) 또는 제어 로직(300)으로부터 수신한 커맨드(CMD)를 분석하고 이에 따라 신호 발생기(111b)를 제어할 수 있다. 패턴 분석기(112b)는 데이터나 어드레스의 형태로 커맨드(CMD)를 수신할 수 있으며, 커맨드(CMD)는 미리 약속된 패턴을 포함하고 있을 수 있다. 패턴 분석기(112b)의 커맨드(CMD) 분석 결과 테스트 모드 커맨드(CMD_tm)인 경우, 패턴 분석기(112b)는 신호 발생기(111b)를 제어하여 테스트 모드 지시(INS_tm)을 출력하도록 할 수 있다. 패턴 분석기(112b)의 커맨드(CMD) 분석 결과 내부 동작 모드 커맨드(CMD_io)인 경우, 패턴 분석기(112b)는 신호 발생기(111b)를 제어하여 내부 동작 모드 지시(INS_io)를 출력할 수 있다.
커맨드(CMD)는 모드를 선택하는 커맨드 외에 비교 데이터(Cdata)를 더 포함할 수 있다. 신호 발생기(111b)는 패턴 분석기(112b)의 패턴 분석 결과가 내부 동작 모드 커맨드(CMD_io)인 경우, 호스트(HOST)로부터 비교 데이터(Cdata)를 수신하여 병렬 비트 비교부(120b)로 출력할 수 있다.
도 4c는 본 개시의 일 실시예에 따른 모드 선택부를 나타내는 블록도이다. 도 4a 및 4b와 중복되는 설명은 생략한다.
도 4c를 참조하면, 모드 선택부(110c)는 신호 발생기(111c) 및 모드 레지스터 세트(113c)를 포함할 수 있다. 모드 레지스터 세트(113c)는 커맨드(CMD)에 따른 모드 설정하기 위한 데이터(Data_MRS)를 저장하고 있을 수 있다. 모드 레지스터 세트(113c)는 호스트(HOST)로부터 커맨드(CMD)를 받으면 커맨드(CMD)에 따라 모드 설정에 필요한 데이터(Data_MRS)를 신호 발생기(111c)에 출력할 수 있다. 신호 발생기(111c)는 모드 설정에 필요한 데이터(Data_MRS)를 수신하면 이를 기초로 테스트 모드 지시(INS_tm) 또는 내부 동작 모드 지시(INS_io)를 병렬 비트 비교부(120c)에 출력할 수 있다.
도 5a는 본 개시의 일 실시예에 따른 병렬 비트 비교부를 나타내는 블록도이다.
도 2 및 도 5a를 참조하면, 병렬 비트 비교부(120a)는 비교 회로(121a)를 포함할 수 있다. 병렬 비트 비교 동작의 수행에 따라, 병렬 비트 비교부(120a)는 병렬로 연결된 하나 이상의 비교 회로(121a)를 포함할 수 있다. 비교 회로(121a)는 선택적으로 테스트 모드 지시(INS_tm)와 내부 동작 모드 지시(INS_io) 중 어느 하나를 수신하여, 하나 이상의 비트를 비교하고 제1 비교 결과(CRst1)를 출력할 수 있다. 상세하게는, 모드 선택부(110)의 지시(INS)가 테스트 모드 지시(INS_tm)인 경우(미도시), 비교 회로(121a)는 별도의 버퍼에 저장되어 있는 원본 데이터와 메모리 셀 어레이(200)로부터 독출한 독출 데이터를 입력 받는다. 여기에서, 원본 데이터는 오류가 없는 것으로 확인된 데이터 일 수 있다. 비교 회로(121a)는 원본 데이터와 독출 데이터를 비교하여 비교 결과를 출력할 수 있다.
또한, 모드 선택부(110)의 지시(INS)가 내부 동작 모드 지시(INS_io)인 경우, 비교 회로(121a)는 호스트(HOST) 또는 모드 선택부(110)로부터 수신한 비교 데이터(Cdata)와 메모리 셀 어레이(200)로부터 독출된 리드 데이터(Rdata)를 비교할 수 있다. 내부 동작 모드 비교 회로(121a)는 제1 비교 결과(CRst1)를 결과 출력부(130)에 출력할 수 있다. 제1 비교 결과(CRst1)는 비교 데이터(Cdata)와 리드 데이터(Rdata)가 일치하는 경우 ‘1’일 수 있고, 일치하지 않는 경우 ‘0’일 수 있다.
일 실시예에서, 병렬 비트 비교부(120)는 호스트(HOST)로부터 리드 데이터(Rdata)의 범위에 대한 정보를 더 전송 받을 수 있다. 예를 들어, 호스트(HOST)로부터 메모리 셀 어레이(200)에 포함된 제1 뱅크(BK1)에 대한 써치(Search) 동작 수행의 내용이 포함된 커맨드가 내부 동작 수행부(100)에 수신된 경우, 병렬 비트 비교부(120)는 제1 뱅크(BK1)에 포함된 메모리 셀의 데이터를 모두 데이터 버퍼(700)로부터 제공받아 비교할 수 있다. 비교한 결과 비교 데이터(Cdata)와 동일한 데이터가 제1 뱅크(BK1)에 포함된 메모리 셀에 기입되어 있는 경우에는 ‘1’을 결과 출력부(130)에 출력하고, 아닌 경우 ‘0’을 출력할 수 있다.
도 5b는 본 개시의 일 실시예에 따른 병렬 비트 비교부를 나타내는 블록도이다. 도 5a와 중복되는 설명은 생략한다.
도 2 및 도 5b를 참조하면, 병렬 비트 비교부(120b)는 비교 회로(121b) 및 비교 결과 생성기(122b)를 포함할 수 있다. 비교 회로(121b)가 비교 데이터(Cdata)와 리드 데이터(Rdata)를 비교한 제1 비교 결과(CRst1)를 비교 결과 생성기(122b)에 전송할 수 있다. 제1 비교 결과(CRst1)는 비교 데이터(Cdata)와 리드 데이터(Rdata)가 일치하는 경우 ‘1’일 수 있고, 일치하지 않는 경우 ‘0’일 수 있다.
비교 결과 생성기(122b)는 수신한 제1 비교 결과(CRst1)를 기초로 하여 제2 비교 결과(CRst2)를 생성하고, 제2 비교 결과(CRst2)를 결과 출력부(130)로 전송할 수 있다. 제2 비교 결과(CRst2)에는 비교 회로(121b)의 비교 결과 비교 데이터(Cdata)와 매치되는 매치 데이터(Mdata) 및 매치 데이터의 어드레스(Maddr)이 포함될 수 있다.
또한 병렬 비트 비교기(120b)는 한 개 이상의 비교 회로(121b)를 포함할 수 있다. 복수개의 비교 회로(121b)를 포함하는 경우, 제1 비교 결과(CRst1)는 다수 개의 비트를 포함할 수 있다. 비교 결과 생성기(122b)는 다수개의 비트를 포함하는 제1 비교 결과(CRst1)을 수신하는 경우 다수 개의 비트들을 연산하여 제2 비교 결과(CRst2)를 출력할 수 있다.
도 5c는 본 개시의 일 실시예에 따른 병렬 비트 비교부를 나타내는 블록도이다. 도 5a와 중복되는 설명은 생략한다.
도 2 및 도 5c를 참조하면, 병렬 비트 비교부(120c)는 비교 회로(121c) 및 버퍼(123c)를 포함할 수 있다. 버퍼(123c)는 비교 데이터(Cdata) 및 리드 데이터(Rdata)를 임시로 저장할 수 있다. 그리고 비교 회로(121c)는 비교 회로(121c)의 비교 용량에 따라 버퍼(123c)에 저장되어 있는 비교 데이터(Cdata) 및 리드 데이터(Rdata)를 비교할 수 있다. 예를 들어, 각각 n개의 데이터를 포함하는 비교 데이터(Cdata[0:n])와 리드 데이터(Rdata[0:n])에 대하여 비교 회로(121c)가 한번에 l-k+1개의 비트를 동시에 비교 가능하다고 할 때, 비교 데이터(Cdata[0:n])와 리드 데이터(Rdata[0:n])를 버퍼(123c)에 임시 저장하고 비교 회로(121c)가 순차적으로 l-k+1개의 비교 데이터(Cdata[k:l]) 및 리드 데이터(Rdata[k:l])에 대해서 병렬 비트 비교(PBC)를 수행할 수 있다.
도 6은 본 개시의 일 실시예에 따른 비교 회로를 나타내는 회로도이다.
도 6을 참조하면, 비교 회로(121)는 적어도 하나의 서브 비교 회로(121_1, 121_2, 121_3, 121_4)를 포함할 수 있다. 도 6에서는 서브 비교 회로(121_1, 121_2, 121_3, 121_4)가 4개로 도시되어 있으나 이는 일 예일 뿐이며 본 개시의 기술적 사상은 이에 한정되지 않는다. 서브 비교 회로(121_1, 121_2, 121_3, 121_4)는 복수개의 XOR 게이트(XOR_0~n) 및 한 개의 NOR 게이트(NOR)를 포함할 수 있다. XOR 게이트(XOR_0~n)는 각각 한 비트의 데이터를 비교할 수 있다. XOR 게이트는 비교하는 두 데이터가 같은 경우 ‘0’, 다른 경우 ‘1’을 출력한다. 또한 NOR 게이트는 모든 입력이 모두 ‘0’인 경우에만 ‘1’을 출력하고 하나라도 ‘1’인 경우에는 ‘0’을 출력한다.
서브 비교 회로(121_1, 121_2, 121_3, 121_4)는 각각 파인 비교(Fine Compare)를 수행할 수 있다. 또한, 비교 회로(121)는 서브 비교 회로(121_1, 121_2, 121_3, 121_4)의 파인 비교 결과(CRst_f)들을 AND 게이트로 병합하여 코어스 비교(Coarse Compare)를 수행할 수 있다. 비교 회로(121)는 AND 게이트를 사용하지 않은 파인 비교 결과(CRst_f) 또는 AND 게이트를 사용하는 코어스 비교 결과(CRst_c) 중 어느 하나를 출력할 수 있다.
예를 들어 비교 데이터(Cdata)가 ‘0100’의 데이터를 갖고 있고, 리드 데이터(Rdata)도 ‘0100’의 데이터를 갖고 있는 경우를 생각해보면, 4개의 XOR 게이트(XOR_0~3)은 각각 한 비트씩 비교할 수 있다. 이 경우 비교 데이터(Cdata)와 리드 데이터(Rdata)가 동일하기 때문에 모든 XOR 게이트(XOR_0~3)는 ‘0’을 출력할 수 있다. 모든 XOR 게이트(XOR_0~3)의 출력이 ‘0’이기 때문에 이를 입력으로 받은 NOR 게이트는 파인 비교 결과(CRst_f)로써 ‘1’을 출력할 수 있다.
또 다른 예로써, 비교 데이터(Cdata)가 ‘0100’의 데이터를 갖고 있고, 리드 데이터(Rdata)도 ‘0101’의 데이터를 갖고 있는 경우를 생각해보면, 3개의 XOR 게이트(XOR_0~2)는 앞 3비트가 ‘010’으로 비교 데이터(Cdata[0:2])와 리드 데이터(Rdata[0:2])가 동일하기 때문에 XOR 게이트(XOR_0~2)는 ‘0’을 출력할 수 있다. 하지만 맨 마지막 비트가 비교 데이터(Cdata[3])는 ‘0’이고 리드 데이터(Rdata[3])는 ‘1’로 달라 XOR 게이트(XOR_3)는 ‘1’을 출력할 수 있다. 이 경우, 모든 XOR 게이트(XOR_0~3)의 출력이 ‘0’이 아니기 때문에 이를 입력으로 받은 NOR 게이트는 파인 비교 결과(CRst_f)로써 ‘0’을 출력할 수 있다.
일 실시예에서 비교 회로(121)는 코어스 비교(Coarse Compare)를 위한 한 개의 AND 게이트를 더 포함할 수 있다. 코어스 비교 결과(CRst_c)는 파인 비교 결과(CRst_f)들이 모두 ‘1’인 경우에만 ‘1’을 출력하고 하나라도 ‘0’인 경우에는 ‘0’을 출력할 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 병렬 비트 비교기의 동작을 나타내는 블록도이다. 도 2 및 도 6a와 중복되는 설명은 생략한다.
도 7을 참조하면, 메모리 셀 어레이(200)는 적어도 하나의 뱅크를 포함할 수 있다. 병렬 비트 비교기(120)는 호스트(HOST)로부터 수신한 비교 데이터(Cdata)와 메모리 셀 어레이(200)에서 독출한 리드 데이터(Rdata)를 비교할 수 있다. 비교한 결과 비교 데이터(Cdata)와 리드 데이터(Rdata)가 일치하는 경우, 일치하는 리드 데이터(Rdata)를 매치 데이터(Mdata)로 출력할 수 있고, 매치 데이터(Mdata)의 어드레스를 매치 어드레스(Maddr)로 출력할 수 있다. 또한, 호스트(HOST)로부터 모드 선택부(110)가 수신한 커맨드(CMD)가 써치 동작에 대한 명령이고, 별도로 써치 범위를 제n 뱅크(BKn)로 한정시킨 경우, 제n 뱅크(BKn)의 모든 메모리 셀에 기입된 리드 데이터(Rdata)에 대해서 병렬 비트 비교(PBC)를 수행하고, 제n 뱅크(BKn) 내에 비교 데이터(Cdata)와 일치하는 데이터가 있는 경우 ‘1’을 출력할 수 있다. 만약, 제n 뱅크(BKn) 내에 비교 데이터(Cdata)와 일치하는 데이터가 없는 경우 ‘0’을 출력할 수 있다.
도 8a는 본 개시의 일 실시예에 따른 결과 출력부를 나타내는 블록도이다.
도 2, 도 3 및 도 8a를 참조하면, 결과 출력부(130)는 병렬 비트 비교부(120)으로부터 비교 결과(CRst)를 수신할 수 있고, 모드 선택부(110)로부터 테스트 모드 지시(INS_tm) 또는 내부 동작 모드 지시(INS_io)를 선택적으로 수신할 수 있다. 결과 출력부(130)는 모드 선택부(110)로부터 테스트 모드 지시(INS_tm)을 수신한 경우, 테스트 결과(TRst)를 출력할 수 있다. 또한, 결과 출력부(130)는 모드 선택부(110)로부터 내부 동작 모드 지시(INS_io)를 수신한 경우, 내부 동작 결과(IRst)를 출력할 수 있다.
또한 내부 동작 모드 지시(INS_io)에는 내부 동작(Internal Operation)의 종류가 특정될 수 있다. 예를 들어, 모드 선택부(110)는 호스트(HOST)로부터의 커맨드(CMD)를 해석한 결과, 내부 동작 모드 지시(INS_io)로써 써치 동작 지시(INS_sch), 재기입 동작 지시(INS_re), 카피 동작 지시(INS_copy), 무브 동작 지시(INS_move) 및 스왑 동작 지시(INS_swap) 중 어느 하나를 결과 출력부(130)에 출력할 수 있다.
도 8b는 본 개시의 일 실시예에 따른 결과 출력부를 나타내는 블록도이다. 도 8a와 중복되는 설명은 생략한다.
도 2, 도 3, 도 8a 및 도 8b를 참조하면, 도 8b는 결과 출력부(130a)가 모드 선택부(110)로부터 내부 동작 모드 지시(INS_io)로써 써치 동작 지시(INS_sch)를 수신한 경우를 나타낼 수 있다. 즉, 내부 동작 수행부(100)가 써치(Search) 동작을 수행할 때 결과 출력부(130a)를 나타낼 수 있다.
결과 출력부(130a)가 모드 선택부(110)로부터 써치 동작 지시(INS_sch)를 수신하고 병렬 비트 비교부(120)로부터 비교 결과(CRst)로 ‘1’을 수신한 경우, 결과 출력부(130a)는 호스트(HOST)에 히트(Hit)를 출력할 수 있다. 결과 출력부(130a)가 병렬 비트 비교부(120)로부터 만약 비교 결과로 ‘0’을 수신한 경우, 결과 출력부(130a)는 호스트(HOST)에 미스(miss)를 출력할 수 있다.
도 8c는 본 개시의 일 실시예에 따른 결과 출력부를 나타내는 블록도이다. 도 8a와 중복되는 설명은 생략한다.
도 2, 도 3, 도 8a 및 도 8c를 참조하면, 도 8c는 결과 출력부(130b)가 모드 선택부(110)로부터 내부 동작 모드 지시(INS_io)로써 응용 동작 지시(INS_ao)를 수신한 경우를 나타낼 수 있다. 응용 동작 지시(INS_ao)는 재기입 동작 지시(INS_rewrite), 카피 동작 지시(INS_copy), 무브 동작 지시(INS_move) 및 스왑 동작 지시(INS_swap)을 포함한다.
결과 출력부(130b)가 응용 동작 지시(INS_ao)를 수신하면, 결과 출력부(130b)는 병렬 비트 비교부(120)로부터 수신한 비교 결과(CRst)를 기초로 비교 데이터(Rdata)와 매치되는 매치 데이터(Mdata) 및/또는 매치 데이터의 매치 어드레스(Maddr)를 출력한다.
응용 동작 지시(INS_ao)가 재기입 동작 지시(INS_rewrite)인 경우, 결과 출력부(130b)는 변경할 재기입 데이터(Mdata_f) 를 추가로 수신할 수 있다. 그 후 결과 출력부(130b)는 재기입 데이터(Mdata_f)를 데이터 버퍼(700)에 출력하고, 매치 어드레스(Maddr)을 어드레스 버퍼(400)에 출력할 수 있다. 제어 로직(300)은 메모리 장치(10)내 각종 블록들을 제어하여, 매치 어드레스(Maddr)에 재기입 데이터(Mdata_f)를 기입할 수 있다. 이런 재기입 동작을 통해 내부 동작 수행부(100)를 포함하는 메모리 장치(10)는 메모리 셀 어레이(200)에 기입된 데이터의 포맷을 바꾸어 재기입할 수 있다.
응용 동작 지시(INS_ao)가 카피 동작 지시(INS_copy)인 경우, 결과 출력부(130b)는 카피 동작을 수행할 목표 어드레스(Gaddr)를 추가로 수신할 수 있다. 그 후 결과 출력부(130b)는 매치 데이터(Mdata)를 데이터 버퍼(700)에 출력하고, 목표 어드레스(Gaddr)을 어드레스 버퍼(400)에 출력할 수 있다. 제어 로직(300)은 메모리 장치(10)내 각종 블록들을 제어하여, 목표 어드레스(Gaddr)에 매치 데이터(Mdata)를 기입할 수 있다. 여기에서 매치 어드레스(Maddr)와 목표 어드레스(Gaddr)은 서로 다른 뱅크의 어드레스 일 수 있다. 예를 들어 매치 어드레스(Maddr)는 제1 뱅크(BK1)의 어드레스이고 목표 어드레스(Gaddr)는 제2 뱅크(BK2)의 어드레스인 경우, 카피 동작의 결과 매치 데이터(Mdata)가 제2 뱅크(BK2)로 복사될 수 있다.
응용 동작 지시(INS_ao)가 무브 동작 지시(INS_move)인 경우, 결과 출력부(130b)는 무브 동작을 수행할 목표 어드레스(Gaddr)를 추가로 수신할 수 있다. 그 후 결과 출력부(130b)는 매치 데이터(Mdata)를 데이터 버퍼(700)에 출력하고, 목표 어드레스(Gaddr)를 어드레스 버퍼(400)에 출력할 수 있다. 제어 로직(300)은 메모리 장치(10)내 각종 블록들을 제어하여, 목표 어드레스(Gaddr)에 매치 데이터(Mdata)를 기입할 수 있다. 그 후 매치 어드레스(Maddr)에 존재하는 데이터에 대한 소거가 이루어지면 무브 동작이 완료된다. 상기와 마찬가지로 매치 어드레스(Maddr)와 목표 어드레스(Gaddr)은 서로 다른 뱅크의 어드레스 일 수 있다.
응용 동작 지시(INS_ao)가 스왑 동작 지시(INS_swap)인 경우, 결과 출력부(130b)는 스왑 동작을 수행할 목표 어드레스(Gaddr)를 추가로 수신할 수 있다. 그 후 결과 출력부(130b)는 매치 어드레스(Maddr) 및 목표 어드레스(Gaddr)을 어드레스 버퍼(400)에 출력할 수 있다. 어드레스 버퍼(400)가 매치 어드레스(Maddr) 및 목표 어드레스(Gaddr)를 수신하면, 제어 로직(300)은 메모리 장치(10)내 각종 블록들을 제어하여, 매치 어드레스(Maddr) 및 목표 어드레스(Gaddr)의 데이터를 바꾸어 기입할 수 있다. 위와 같은 카피(Copy), 무브(Move), 스왑(Swap) 동작을 통해 내부 동작 수행부(100)를 포함하는 메모리 장치(10)는 메모리 셀 어레이(200)에 데이터 정렬 또는 재배치를 수행할 수 있다.
도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 메모리 셀 어레이에 기입된 데이터의 예시를 나타낸다.
도 2, 도 3, 도 9a 및 도 9b를 참조하면, 메모리 셀 어레이(200a, 200b)는 유효 데이터(Vdata)와 지시 데이터(Idata)를 포함할 수 있다. 유효 데이터(Vdata)는 유효한 내용을 담고 있는 데이터로써, 이미지 데이터, 문서 데이터 등 실질적인 정보를 포함하는 데이터를 의미할 수 있다. 지시 데이터(Idata)는 유효 데이터(Vdata)를 가르키는 지시자(Indication) 역할을 수행하는 데이터를 의미할 수 있다. 일 실시예에 따른 내부 동작 수행부(100)는 써치(Search) 동작 수행시 유효 데이터(Vdata)를 써치하는 대신 지시 데이터(Idata)를 써치할 수 있다.
도 9a의 경우 지시 데이터(Idata)의 어드레스가 n+a인 경우를 나타낸다. 이경우에는 유효 데이터(Vdata)의 어드레스인 n에 비해서 지시 데이터(Idata)의 어드레스가 더 큰 값을 갖고 있으므로 내부 동작 수행부(100)는 써치 결과로써 ‘업(Up)’을 출력할 수 있다. 또 다른 실시예에서 내부 동작 수행부(100)는 써치 결과로써 유효 데이터(Vdata)의 어드레스인 n 또는 유효 데이터(Vdata)와 지시 데이터(Idata)의 어드레스 차이인 a를 출력할 수 있다.
도 9b의 경우 지시 데이터(Idata)의 어드레스가 n-a인 경우를 나타낸다. 이경우에는 유효 데이터(Vdata)의 어드레스인 n에 비해서 지시 데이터(Idata)의 어드레스가 더 작은 값을 갖고 있으므로 내부 동작 수행부(100)는 써치 결과로써 ‘다운(down)’을 출력할 수 있다. 또 다른 실시예에서 내부 동작 수행부(100)는 써치 결과로써 유효 데이터(Vdata)의 어드레스인 n 또는 유효 데이터(Vdata)와 지시 데이터(Idata)의 어드레스 차이인 -a를 출력할 수 있다.
이런 써치 동작으로 호스트(HOST)는 유효 데이터(Vdata)를 직접 써치하는 대신 지시 데이터(Idata)를 써치할 수 있다. 이에 따라, 유효 데이터(Vdata)를 좀 더 효과적으로 써치할 수 있다.
도 10a는 본 개시의 예시적 실시예에 따른 메모리 장치의 블록도를 나타낸다. 도 10a는 응용 동작(Application Operation) 중 재기입(Rewrite) 동작을 설명하기 위한 블록도이다. 도 2 및 도 8c와 중복되는 설명은 생략한다.
도 2, 도 8c 및 도 10a를 참조하면, 메모리 장치(10)는 내부 동작 수행부(100c), 메모리 셀 어레이(200c) 및 데이터 버퍼(700c)를 포함할 수 있다. 내부 동작 수행부(100c)에 재기입 동작에 대한 커맨드(CMD)가 수신되면, 내부 동작 수행부(100c)는 병렬 비트 비교 동작을 통해 써치된 데이터의 매치 어드레스(Maddr)를 어드레스 버퍼(400c)에 출력하고, 재기입 데이터(Mdata_f)를 데이터 버퍼(700c)에 출력할 수 있다. 제어 로직(300)은 메모리 장치(10) 내 각종 블록들을 제어하여, 메모리 셀 어레이(200c)의 매치 어드레스(Maddr)에 있는 데이터를 재기입 데이터(Mdata_f)로 재기입할 수 있다.
도 10b는 본 개시의 예시적 실시예에 따른 메모리 장치의 블록도를 나타낸다. 도 10b는 응용 동작(Application Operation) 중 카피(copy) 동작, 무브(move) 동작 및 스왑(swap) 동작을 설명하기 위한 블록도이다. 도 2 및 도 8c와 중복되는 설명은 생략한다.
도 2, 도 8c 및 도 10b를 참조하면, 메모리 장치(10)는 내부 동작 수행부(100d), 메모리 셀 어레이(200d) 및 데이터 버퍼(700d)를 포함할 수 있다. 내부 동작 수행부(100d)에 카피 동작에 대한 커맨드(CMD)가 수신되면, 내부 동작 수행부(100d)는 목표 어드레스(Gaddr)를 어드레스 버퍼(400b)에 출력하고 매치 데이터(Mdata)를 데이터 버퍼(700d)에 출력할 수 있다. 제어 로직(300)은 이에 대응하여, 메모리 셀 어레이(200d)의 목표 어드레스(Gaddr)에 매치 데이터(Mdata)를 기입하여 카피 동작을 수행한다.
내부 동작 수행부(100d)에 무브 동작에 대한 커맨드(CMD)가 수신되면, 내부 동작 수행부(100d)는 매치 어드레스(Maddr) 및 목표 어드레스(Gaddr)를 어드레스 버퍼(400d)에 출력하고 매치 데이터(Mdata)를 데이터 버퍼(700d)에 출력할 수 있다. 데이터 버퍼(700d)는 이에 대응하여, 메모리 셀 어레이(200d)의 목표 어드레스(Gaddr)에 매치 데이터(Mdata)를 기입하고 매치 어드레스(Maddr)의 데이터를 소거하여 무브 동작을 수행한다.
내부 동작 수행부(100d)에 스왑 동작에 대한 커맨드(CMD)가 수신되면, 내부 동작 수행부(100d)는 매치 데이터(Mdata), 매치 어드레스(Maddr) 및 목표 어드레스(Gaddr)를 데이터 버퍼(700d)에 출력할 수 있다. 제어 로직(300)은 이에 대응하여, 메모리 셀 어레이(200d)의 목표 어드레스(Gaddr)의 데이터를 독출하여 래치(미도시)에 임시로 저장하고, 목표 어드레스(Gaddr)에 매치 데이터(Mdata)를 기입한다. 그 다음 제어 로직(300)은 래치(미도시)에 저장했던 데이터를 매치 어드레스(Maddr)에 기입함으로써 스왑 동작을 수행한다.
도 11은 본 개시의 예시적 실시예에 따른 내부 동작 수행부의 동작을 나타내는 순서도이다.
도 2 및 도 11을 참조하면, 내부 동작 수행부(100)가 호스트(HOST)로부터 커맨드(CMD)를 수신하면(S10), 내부 동작 수행부(100)는 커맨드(CMD)가 내부 동작 수행 커맨드인지 확인한다(S20). 수신한 커맨드(CMD)가 내부 동작 수행 커맨드인 경우, 내부 동작을 수행하고(S31) 아닌 경우 메모리 셀 어레이(200)에 대한 병렬 비트 테스트를 수행한다(S32).
도 12는 본 개시의 예시적 실시예에 따른 모드 선택부의 동작을 나타내는 순서도이다.
도 3, 도 5 및 도 12를 참조하면, 모드 선택부(110)가 호스트(HOST)로부터 커맨드(CMD)를 수신하면(S110), 패턴 분석기(112b)에서 수신된 커맨드를 분석할 수 있다(S120). 수신된 커맨드(CMD)를 분석한 결과가 내부 동작 수행 커맨드인 경우(S130), 내부 동작 종류에 따른 내부 동작 모드 지시(INS_io; INS_sch, INS_ao)를 병렬 비트 비교부(120) 및 결과 출력부(130)에 출력한다(S141). 만약 수신된 커맨드(CMD)를 분석한 결과가 테스트 모드 커맨드인 경우(S130), 테스트 모드 지시(INS_tm)을 출력한다(S142).
도 13a는 본 개시의 예시적 실시예에 따른 병렬 비트 비교부의 동작을 나타내는 순서도이다. 자세하게는, 모드 선택부로부터 써치 동작 지시(INS_sch)를 수신한 경우 병렬 비트 비교부의 동작을 나타내는 순서도이다. 도 12에서 이어지는 순서도일 수 있다.
도 2, 도 3, 도 7, 도 12 및 도 13a를 참조하면, 병렬 비트 비교부(120)는 모드 선택부(110)로부터 써치 동작 지시(INS_sch)를 수신할 수 있다(S210). 써치 동작 지시(INS_sch)에 대응하여, 비교 회로(121)는 호스트(HOST)로부터 수신한 비교 데이터(Cdata)와 제어 로직(300)에 의해 메모리 셀 어레이(200)에서 독출한 리드 데이터(Rdata)를 비교할 수 있다(S220). 비교 동작을 수행한 결과, 비교 데이터(Cdata)와 리드 데이터(Rdata)가 다르면(S230), 제어 로직(300)이 메모리 셀 어레이(200)의 정해진 영역 내 데이터를 모두 독출했는지 판단할 수 있다(S240). 모든 데이터를 독출하지 않은 경우, 제어 로직(300)은 메모리 셀을 변경하여 다시 리드 데이터를 독출할 수 있다(S250). 비교 회로(121)가 다시 비교 데이터(Cdata)와 독출한 리드 데이터(Rdata)를 비교하는 동작을 반복하여, 결과적으로 비교 데이터(Cdata)와 동일한 리드 데이터(Rdata)를 써치하는 경우, 비교 결과(CRst)로 ‘1’을 결과 출력부(130)에 출력할 수 있다(S261). 만약 정해진 영역 내 모든 데이터를 독출했음에도 비교 데이터(Cdata)와 동일한 리드 데이터(Rdata)를 찾지 못한 경우에는 비교 결과(CRst)로 ‘0’을 결과 출력부(130)에 출력할 수 있다(S262).
도 13b는 본 개시의 예시적 실시예에 따른 병렬 비트 비교부의 동작을 나타내는 순서도이다. 자세하게는, 모드 선택부로부터 응용 동작 지시(INS_ao)를 수신한 경우 병렬 비트 비교부의 동작을 나타내는 순서도이다. 도 13a와 중복되는 설명은 생략한다. 도 12에서 이어지는 순서도일 수 있다.
도 2, 도 3, 도 10a, 도 10b, 도 12 및 도 13b를 참조하면, 병렬 비트 비교부(120)는 모드 선택부(110)로부터 응용 동작 지시(INS_ao)를 수신할 수 있다(S310). 써치 동작 지시(INS_ao)에 대응하여, 비교 회로(121)는 호스트(HOST)로부터 수신한 비교 데이터(Cdata)와 제어 로직(300)에 의해 메모리 셀 어레이(200)에서 독출한 리드 데이터(Rdata)를 비교할 수 있다(S320). 도 13a와 같은 비교 동작 수행을 반복한 결과, 병렬 비트 비교부(120)는 비교 데이터(Cdata)와 동일한 리드 데이터(Rdata)를 찾아낼 수 있다. 이 경우, 병렬 비트 비교부(120)는 비교 결과(CRst)로 비교 데이터(Cdata)와 동일한 메모리 셀 어레이(200) 내의 매치 데이터(Mdata) 및/또는 매치 데이터(Mdata)의 매치 어드레스(Maddr)를 결과 출력부(130)에 출력할 수 있다(S361). 만약 정해진 영역 내 모든 데이터를 독출했음에도 비교 데이터(Cdata)와 동일한 리드 데이터(Rdata)를 찾지 못한 경우에는 비교 결과(CRst)로 ‘0’을 결과 출력부(130)에 출력할 수 있다(S362).
도 14a는 본 개시의 예시적 실시예에 따른 결과 출력부의 동작을 나타내는 순서도이다. 자세하게는, 모드 선택부로부터 써치 동작 지시(INS_sch)를 수신한 경우 병렬 비트 비교부의 동작을 나타내는 순서도이다. 도 13a에서 이어지는 순서도일 수 있다.
도 3, 도 8b, 도 13a 및 도 14a를 참조하면, 결과 출력부(130)는 병렬 비트 비교부(120)로부터 써치 동작 지시(INS_sch)에 따른 비교 결과(CRst)를 수신할 수 있다. 결과 출력부(130)는 비교 결과(CRst)가 ‘1’인지를 판단하여(S420), ‘1’인 경우 호스트(HOST)에 히트(HIT) 신호를 출력하고(S431), ‘1’이 아닌 ‘0’인 경우(S420) 호스트(HOST)에 미스(MISS) 신호를 출력할 수 있다(S432).
도 14b는 본 개시의 예시적 실시예에 따른 결과 출력부의 동작을 나타내는 순서도이다. 자세하게는, 모드 선택부로부터 응용 동작 지시(INS_ao)를 수신한 경우 병렬 비트 비교부의 동작을 나타내는 순서도이다. 도 13b에서 이어지는 순서도일 수 있다. 도 8c와 중복되는 설명은 생략한다.
도 2, 도 3, 도 8c, 도 13b 및 도 14b를 참조하면, 결과 출력부(130)는 병렬 비트 비교부(120)로부터 응용 동작 지시(INS_ao)에 따른 비교 결과(CRst)로 매치 데이터(Mdata) 및/또는 매치 어드레스(Maddr)을 수신할 수 있다(S510). 또한, 응용 동작 지시(INS_ao)가 카피 동작 지시(INS_copy), 무브 동작 지시(INS_move) 및 스왑 동작 지시(INS_swap) 중 어느 하나인 경우, 결과 출력부(130)는 호스트(HOST)로부터 목표 어드레스(Gaddr)을 수신할 수 있다(S520). 결과 출력부(130)는 수신한 응용 동작 지시(INS_ao;INS_rewrite, INS_copy, INS_move, INS_swap)에 대응하여 목표 어드레스(Gaddr), 매치 데이터(Mdata) 및 매치 어드레스(Maddr)를 어드레스 버퍼(400) 또는 데이터 버퍼(700)에 출력할 수 있다. 제어 로직(300)은 수신한 목표 어드레스(Gaddr), 매치 데이터(Mdata) 및 매치 어드레스(Maddr) 중 적어도 하나를 이용하여 응용 동작 지시에 상응하는 응용 동작을 수행할 수 있다(S530).
도 15는 본 개시의 예시적 실시예에 따른 메모리 장치를 포함하는 메모리 모듈을 나타내는 도면이다. 메모리 모듈(1a)은 SIMM(Single in-line memory module), DIMM(Dual in-line memory module), SO-DIMM(Small-outline DIMM), UDIMM(Unbuffered DIMM), FBDIMM(Fully-buffered DIMM), RBDIMM(Rank-buffered DIMM), LRDIMM(Load-reduced DIMM), mini-DIMM 및 micro-DIMM 등에 적용될 수 있다.
도 15에 도시된 바와 같이, 메모리 모듈(1a)은 복수의 메모리 칩들(10a), 인쇄 회로 기판(20a), 내부 동작 수행 칩(30a) 및 커넥터(40a)를 포함할 수 있다. 복수의 메모리 칩들(10a) 및 내부 동작 수행 칩(30a)은 커넥터(40a)를 통해서 메모리 모듈(1a) 외부의 메모리 컨트롤러와 통신할 수 있다.
복수의 메모리 칩들(10a) 각각은 메모리 셀 어레이, 데이터 버퍼, 로우 디코더, 칼럼 디코더, 커맨드 디코더 및 어드레스 버퍼 등을 포함할 수 있다.
내부 동작 수행 칩(30a)는 도 2의 내부 동작 수행부(100)와 같이 내부 동작을 수행할 수 있다. 내부 동작 수행 칩(30a)는 복수의 메모리 칩들(10a) 중 어느 한 메모리 칩에 기입되어 있는 데이터를 다른 메모리 칩으로 카피(copy), 무브(move), 스왑(swap) 동작을 수행할 수 있다. 도한, 복수의 메모리 칩들(10a) 중 어느 한 메모리 칩에 대해 비교 데이터(Cdata)가 기입되어 있는지 써치하는 써치(Search) 동작을 수행할 수 있다.
도 16는 본 개시의 예시적 실시예에 따른 메모리 장치를 포함하는 메모리 모듈(1b)을 나타내는 도면이다. 메모리 모듈(1b)은 SIMM(Single in-line memory module), DIMM(Dual in-line memory module), SO-DIMM(Small-outline DIMM), UDIMM(Unbuffered DIMM), FBDIMM(Fully-buffered DIMM), RBDIMM(Rank-buffered DIMM), LRDIMM(Load-reduced DIMM), mini-DIMM 및 micro-DIMM 등에 적용될 수 있다.
도 16에 도시된 바와 같이, 메모리 모듈(1b)은 인쇄 회로 기판(20b), 복수의 메모리 칩들(10b), 버퍼 칩(30b) 및 커넥터(40b)를 포함할 수 있다. 복수의 메모리 칩들(10b) 및 버퍼 칩(30b)은 커넥터(40b)를 통해서 메모리 모듈(1b) 외부의 메모리 컨트롤러와 통신할 수 있다.
복수의 메모리 칩들(10b) 각각은 메모리 셀 어레이, 데이터 버퍼, 로우 디코더, 칼럼 디코더, 커맨드 디코더, 어드레스 버퍼 및 내부 동작 수행부(IOC)를 포함할 수 있고 메모리 셀 어레이 및 내부 동작 수행부(IOC)는 본 개시의 예시적 실시예에 따라 동작할 수 있다.
버퍼 칩(30b)은 복수의 메모리 칩들(10b)와 통신할 수 있고, 메모리 모듈(1b) 외부로부터 수신되는 데이터나 메모리 모듈(1b) 외부로 전송되는 데이터를 임시적으로 저장할 수 있다.
도 17은 본 개시의 예시적 실시예에 따른 메모리 장치 및 메모리 컨트롤러를 포함하는 시스템을 나타내는 블록도이다. 도 17에 도시된 바와 같이, 시스템(3000)은 메모리 장치(3100), 메모리 컨트롤러(3200) 및 광 연결 장치들(3300, 3400)을 포함할 수 있고, 광 연결 장치들(3300, 3400)은 메모리 장치(3100) 및 메모리 컨트롤러(3200)를 상호 연결할 수 있다.
메모리 컨트롤러(3200)는 컨트롤 유닛(3210), 제1 송신부(3220), 제1 수신부(3230)를 포함한다. 컨트롤 유닛(3210)은 제1 전기 신호(SN1)를 제1 송신부(3220)로 전송한다. 제1 전기 신호(SN1)는 메모리 장치(3100)으로 전송되는 제1 커맨드/어드레스 신호(CA1), 클락 신호(CK), 칩 선택 신호(CS) 등을 포함할 수 있다.
제1 송신부(3220)는 제1 광 변조기(3221)를 포함하고, 제1 광 변조기(3221)는 제1 전기 신호(SN1)를 제1 광 송신 신호(OTP1EC)로 변환하여 광 연결 장치(3300)로 전송할 수 있다. 제1 광 송신 신호(OTP1EC)는 광 연결 장치(3300)를 통하여 시리얼 통신으로 전송될 수 있다. 제1 수신부(3230)는 제1 광 복조기(3231)를 포함하고, 제1 광 복조기(3231)는 광 연결 장치(3400)로부터 수신된 제2 광 수신 신호(OPT2OC)를 제2 전기 신호(SN2)로 변환하여 컨트롤 유닛(3210)으로 전송할 수 있다. 제2 전기 신호(SN2)는 제2 커맨드/어드레스 신호(CA2) 및 데이터 신호(DQ)를 포함할 수 있다. 컨트롤 유닛(3210)는 본 개시의 예시적 실시예에 따라 동작할 수 있다. 즉, 제1 커맨드/어드레스 신호(CA1)를 메모리 장치(3100)에 전송할 수 있고, 칩 선택 신호(CS)의 타이밍을 조절할 수 있고, 제1 커맨드/어드레스 신호(CA1)와 메모리 장치(3100)로부터 수신된 제2 커맨드 어드레스 신호(CA2)에 기초하여 칩 선택 신호(CS)의 최적의 타이밍을 결정할 수 있다. 또한, 본 개시의 예시적 실시예에 따라, 컨트롤 유닛(3210)은 위상 선택 신호(PS)를 생성할 수 있고, 메모리 장치(3100)에 전송할 수 있다.
메모리 장치(3100)는 제2 수신부(3120), 메모리 셀 어레이 및 주변 회로를포함하는 DRAM(3110) 및 제2 송신부(3130)를 포함할 수 있다. 제2 수신부(3120)는 제2 광 복조기(3121)를 포함하고, 제2 광 복조기(3121)는 광 연결 장치(3300)로부터 제1 광 수신 신호(OPT1OC)를 제1 전기 신호(SN1)로 변환하여 DRAM(3110)으로 전송할 수 있다.
DRAM(3110)에서는 제1 전기 신호(SN1)에 응답하여 기입 데이터를 메모리 셀에 기입하거나 메모리 영역(3110)로부터 독출된 데이터를 제2 전기 신호(SN2)로서 제2 송신부(3130)로 전송할 수 있다. 제1 전기 신호(SN1)는 제1 커맨드/어드레스 신호(CA1), 클락 신호(CK) 및 칩 선택 신호(CS)를 포함할 수 있다. DRAM(3110)은 본 개시의 예시적 실시예에 따른 메모리 셀 어레이 및 내부 동작 수행부를 포함할 수 있다.
제2 전기 신호(SN2)는 메모리 컨트롤러(3200)로 전송되는 제2 커맨드/어드레스 신호(CA2) 및 데이터(DQ) 등으로 구성될 수 있다. 제2 송신부(3130)는 제2 광 변조기(3131)를 포함할 수 있고, 제2 광 변조기(3131)는 제2 전기 신호(SN2)를 제2 광 데이터 신호(OPT2EC)로 변환하여 광 연결 장치(3400)로 전송할 수 있다. 제2 광 송신 신호(OTP2EC)는 광 연결 장치(3400)를 통하여 시리얼 통신으로 전송될 수 있다.
도 18은 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템을 도시하는 블록도이다. 도 18에 도시된 바와 같이, 컴퓨팅 시스템(4000)은 중앙처리장치(4100), 메모리 시스템(4200), 사용자 인터페이스(4300) 및 비휘발성 저장장치(3400)를 포함할 수 있다. 중앙처리장치(4100), 메모리 시스템(4200), 사용자 인터페이스(4300) 및 비휘발성 저장장치(4400)는 버스(4500)를 통해서 서로 통신할 수 있다. 도 18에 도시되지 않았으나, 컴퓨팅 시스템(4000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(4000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
중앙처리장치(4100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(4100)는 마이크로프로세서(micro-processor), 그래픽 처리 장치(graphics processing unit; GPU)일수 있다. 중앙처리장치(4100)는 버스(4500)를 통하여 메모리 시스템(4200), 사용자 인터페이스(4300) 및 비휘발성 저장장치(4400)와 통신을 수행할 수 있다. 중앙처리장치(4100)는 주변 구성요소 상호연결(Peripheral Component Interconnect, PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
메모리 시스템(4200)은 DRAM(4210) 및 메모리 컨트롤러(4220)를 포함할 수 있고, 컴퓨팅 시스템(4000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들면, 메모리 시스템(4200)은 중앙처리장치(4100)의 데이터 메모리로서 기능할 수 있고, DMA(direct memory access)등을 지원함으로써 버스(4500)로부터 수신된 데이터를 저장하거나 저장된 데이터를 버스(4500)로 전송할 수도 있다. 본 개시의 예시적 실시예에 따른 메모리 장치가 DRAM(4210)으로서 메모리 시스템(4200)에 포함될 수 있다. DRAM(4210) 및 메모리 컨트롤러(4220)는 본 개시의 예시적 실시예에 따라 동작할 수 있다. 즉, DRAM(4210)은 메모리 컨트롤러(4220)의 제어에 따라 내부 동작을 수행할 수 있다.
사용자 인터페이스(4300)는, 사용자로부터 입력 신호를 수신하기 위하여 키보드, 키패드, 마우스 등과 같은 입력 수단을 포함할 수 있고, 사용자에게 출력 신호를 제공하기 위하여 프린터, 디스플레이 장치 등과 같은 출력 수단을 포함할 수 있다.
비휘발성 저장장치(4400)는, 예컨대 EEPROM (non-volatile memory such as a Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM (Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등과 같은 비휘발성 반도체 메모리 장치를 포함할 수도 있고, 자기 디스크 등을 포함할 수도 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 복수의 메모리 셀들을 포함하는 메모리 셀 어레이; 및
    다수의 비트를 동시에 비교하는 병렬 비트 연산을 통해 테스트 또는 내부 동작을 수행하는 내부 동작 수행부를 포함하고,
    상기 내부 동작 수행부는, 내부 동작 모드에서 외부의 제어 없이 내부 동작을 수행하는 것을 특징으로 하는 메모리 장치.
  2. 제1항에 있어서,
    상기 내부 동작 수행부는,
    상기 내부 동작 수행부의 모드를 테스트 모드 또는 상기 내부 동작 모드로 설정하는 모드 선택부;
    상기 병렬 비트 연산 기능을 활용하여, 상기 메모리 장치에서 리드된 데이터와 외부로부터의 데이터에 대한 병렬 비트 비교를 수행하는 병렬 비트 비교부; 및
    상기 병렬 비트 비교부에 의한 비교 결과를 출력하는 결과 출력부를 포함하는 메모리 장치.
  3. 제2항에 있어서,
    상기 모드 선택부는,
    특정한 데이터 또는 어드레스가 입력되는 경우 상기 내부 동작 수행부를 상기 내부 동작 모드로 설정하는 패턴 분석부를 포함하는 것을 특징으로 하는 메모리 장치
  4. 제2항에 있어서,
    상기 모드 선택부는 외부의 호스트로부터 전송받은 비교 데이터를 상기 병렬 비트 비교부에 제공하고,
    상기 병렬 비트 비교부는, 상기 메모리 셀 어레이로부터 리드된 리드 데이터를 상기 비교 데이터와 비교하고, 상기 메모리 셀 어레이에서 상기 비교 데이터에 매치하는 제1 데이터를 찾는 비교 동작을 수행하는 것을 특징으로 하는 메모리 장치
  5. 제4항에 있어서,
    상기 결과 출력부는,
    상기 병렬 비트 비교부가 상기 제1 데이터를 찾아내는 경우 상기 호스트에 힛(Hit) 신호를 출력하고, 상기 제1 데이터를 찾아내지 못하는 경우 상기 호스트에 미스(miss) 신호를 출력하는 것을 특징으로 하는 메모리 장치
  6. 제4항에 있어서,
    상기 메모리 장치는 상기 메모리 장치를 제어하는 제어 로직을 더 포함하고,
    상기 제어 로직은,
    상기 제1 데이터 및 상기 제1 데이터의 어드레스 중 적어도 하나를 활용하여 상기 내부 동작에 따른 데이터 처리를 수행하는 것을 특징으로 하는 메모리 장치.
  7. 제6항에 있어서,
    상기 내부 동작 수행부는 상기 제어 로직을 통해 상기 내부 동작으로써,
    상기 제1 데이터의 데이터 포맷(Data Format)을 변경하여 상기 제1 데이터의 어드레스에 재기입하는 것을 특징으로 하는 메모리 장치.
  8. 제6항에 있어서,
    상기 메모리 장치는 외부로부터 목표 어드레스를 수신하고,
    상기 내부 동작 수행부는 상기 제어 로직을 통해 상기 내부 동작으로써,
    상기 제1 데이터를 상기 목표 어드레스에 복사하는 카피(Copy) 동작;
    상기 제1 데이터를 상기 목표 어드레스로 이동하는 무브(Move) 동작; 및
    상기 제1 데이터를 상기 목표 어드레스에 기입되어 있는 데이터와 어드레스를 교환하는 스왑(Swap) 동작 중 어느 하나를 수행하는 것을 특징으로 하는 메모리 장치.
  9. 테스트 모드에서 다수의 비트를 동시에 비교하는 병렬 비트 연산을 통해 테스트를 수행하고, 노멀 모드에서 상기 병렬 비트 연산 기능을 활용하여 외부로부터의 데이터에 대한 비교 동작을 포함하는 내부 동작을 수행하는 내부 동작 수행부를 포함하고,
    상기 내부 동작 수행부는,
    상기 내부 동작 수행부의 모드를 테스트 모드 또는 내부 동작 모드로 설정하는 모드 선택부, 상기 병렬 비트 연산 기능을 활용하여, 상기 메모리 장치에서 리드된 데이터와 상기 외부로부터의 데이터에 대한 병렬 비트 비교를 수행하는 병렬 비트 비교부, 및 상기 병렬 비트 비교부에 의한 비교 결과를 출력하는 결과 출력부를 포함하는 것을 특징으로 하는 반도체 장치.
  10. 제9항에 있어서,
    상기 반도체 장치는, 상기 반도체 장치 내부 또는 외부의 메모리 셀 어레이에서 리드 데이터를 독출하고,
    상기 내부 동작 수행부는 상기 내부 동작으로써,
    상기 리드 데이터와 메모리 컨트롤러로부터 수신한 비교 데이터를 비교하여 비교 데이터에 대응하는 제1 데이터를 찾아내고,
    상기 제1 데이터를 찾으면 상기 호스트에 힛(Hit)을 출력하는 써치 동작;
    상기 메모리 컨트롤러로부터 목표 어드레스를 추가로 수신하고 상기 제1 데이터 및 상기 목표 어드레스를 이용하여,
    상기 제1 데이터를 상기 목표 어드레스로 복사하는 카피(Copy) 동작;
    상기 제1 데이터를 상기 목표 어드레스로 이동하는 무브(Move) 동작; 및
    상기 제1 데이터와 상기 목표 어드레스의 데이터를 교환하는 스왑(Swap) 동작 중 적어도 하나를 수행하는 것을 특징으로 하는 반도체 장치
KR1020160068849A 2016-06-02 2016-06-02 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법 KR20170136829A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160068849A KR20170136829A (ko) 2016-06-02 2016-06-02 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법
US15/600,715 US10224114B2 (en) 2016-06-02 2017-05-20 Semiconductor device using a parallel bit operation and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160068849A KR20170136829A (ko) 2016-06-02 2016-06-02 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20170136829A true KR20170136829A (ko) 2017-12-12

Family

ID=60483528

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160068849A KR20170136829A (ko) 2016-06-02 2016-06-02 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법

Country Status (2)

Country Link
US (1) US10224114B2 (ko)
KR (1) KR20170136829A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11488680B2 (en) 2020-08-31 2022-11-01 SK Hynix Inc. Test system including memory devices

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552261B2 (en) * 2017-06-02 2020-02-04 Renesas Electronics Corporation Semiconductor device and memory module
US10642535B2 (en) * 2018-01-23 2020-05-05 International Business Machines Corporation Register access in a distributed memory buffer system
KR20210024880A (ko) 2019-08-26 2021-03-08 에스케이하이닉스 주식회사 테스트 회로, 이를 포함하는 반도체 장치 및 테스트 시스템
US11204718B2 (en) * 2019-09-27 2021-12-21 Intel Corporation Apparatuses, systems, and methods to store pre-read data associated with a modify-write operation
KR20210122942A (ko) * 2020-04-01 2021-10-13 삼성전자주식회사 메모리 장치 및 그것의 테스트 방법
KR20230105095A (ko) 2022-01-03 2023-07-11 에스케이하이닉스 주식회사 테스트 기능을 갖는 반도체 장치

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617531A (en) 1993-11-02 1997-04-01 Motorola, Inc. Data Processor having a built-in internal self test controller for testing a plurality of memories internal to the data processor
KR100327136B1 (ko) 1999-10-20 2002-03-13 윤종용 반도체 메모리 장치 및 이 장치의 병렬 비트 테스트 방법
KR100462877B1 (ko) * 2002-02-04 2004-12-17 삼성전자주식회사 반도체 메모리 장치, 및 이 장치의 불량 셀 어드레스프로그램 회로 및 방법
JP2004013504A (ja) 2002-06-06 2004-01-15 Univ Hiroshima パターン認識システム、このシステムに用いられる連想メモリ装置及びパターン認識処理方法
US7017094B2 (en) 2002-11-26 2006-03-21 International Business Machines Corporation Performance built-in self test system for a device and a method of use
JP4229715B2 (ja) * 2003-01-29 2009-02-25 Necエレクトロニクス株式会社 テスト回路及び半導体装置
US7243165B2 (en) 2004-01-14 2007-07-10 International Business Machines Corporation Parallel pattern detection engine
KR100809070B1 (ko) * 2006-06-08 2008-03-03 삼성전자주식회사 반도체 메모리 장치의 병렬 비트 테스트 회로 및 그 방법
US7606077B2 (en) * 2006-09-12 2009-10-20 Sandisk Corporation Non-volatile memory with reduced erase/write cycling during trimming of initial programming voltage
KR20090108182A (ko) * 2008-04-11 2009-10-15 삼성전자주식회사 반도체 메모리 장치의 병렬비트 테스트 회로
JP2010225239A (ja) * 2009-03-24 2010-10-07 Toshiba Corp 半導体集積回路およびメモリの機能検証方法
US9606807B2 (en) 2009-06-04 2017-03-28 Micron Technology, Inc. Direct communication with a processor internal to a memory device
US9684632B2 (en) 2009-06-04 2017-06-20 Micron Technology, Inc. Parallel processing and internal processors
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
US8719516B2 (en) 2009-10-21 2014-05-06 Micron Technology, Inc. Memory having internal processors and methods of controlling memory access

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11488680B2 (en) 2020-08-31 2022-11-01 SK Hynix Inc. Test system including memory devices

Also Published As

Publication number Publication date
US20170352434A1 (en) 2017-12-07
US10224114B2 (en) 2019-03-05

Similar Documents

Publication Publication Date Title
KR20170136829A (ko) 반도체 장치, 메모리 장치 및 메모리 장치의 동작 방법
CN101552036B (zh) 具有哑单元的快闪存储设备及其操作方法
KR101019443B1 (ko) 메모리 장치, 그 에러 정정의 지원 방법, 그 지원 프로그램을 저장한 컴퓨터로 판독가능한 기록매체, 메모리 카드, 회로 기판 및 전자 기기
KR20080111564A (ko) 비휘발성 메모리 디바이스의 다중레벨 셀 판독 방법
US20180261292A1 (en) Method and apparatus for shielded read to reduce parasitic capacitive coupling
US11139043B2 (en) Systems and methods for identifying counterfeit memory
KR20130028589A (ko) 비휘발성 메모리 장치, 그 데이터 판독 방법 및 기록 매체
CN107665174B (zh) 具有非易失性存储器和易失性存储器的存储系统
CN110111832B (zh) 半导体存储器装置及其操作方法
US10490238B2 (en) Serializer and memory device including the same
US20200365227A1 (en) Memory device and method of operating the memory device
US7765442B2 (en) Memory device testable without using data and dataless test method
US10916277B2 (en) Memory device and operating method thereof
KR20170099431A (ko) 비휘발성 메모리 장치
KR20050018046A (ko) 메모리 클럭 신호의 주파수를 선택적으로 가변시키는메모리 컨트롤러 및 이를 이용한 메모리의 데이터 독출동작 제어방법
US8250418B2 (en) Test mode for parallel load of address dependent data to enable loading of desired data backgrounds
KR20100090001A (ko) 메모리 장치, 메모리 관리 장치 및 메모리 관리 방법
KR20220148259A (ko) 온 메모리 패턴 매칭을 위한 장치들 및 방법들
CN110890125B (zh) 存储器装置及其操作方法
CN113470714A (zh) 半导体存储器设备和操作半导体存储器设备的方法
US20220066681A1 (en) Bubble break register in semiconductor device
US11132252B2 (en) Memory device, memory system including memory device, and method of operating memory system
KR100612127B1 (ko) 메모리 모듈 테스트 방법 및 이를 위한 메모리 모듈의 허브
US9164139B2 (en) Memory device and memory system including the same
US20230124660A1 (en) Semiconductor memory devices and methods of operating the same