KR20170115724A - 전자 장치 - Google Patents
전자 장치 Download PDFInfo
- Publication number
- KR20170115724A KR20170115724A KR1020160043276A KR20160043276A KR20170115724A KR 20170115724 A KR20170115724 A KR 20170115724A KR 1020160043276 A KR1020160043276 A KR 1020160043276A KR 20160043276 A KR20160043276 A KR 20160043276A KR 20170115724 A KR20170115724 A KR 20170115724A
- Authority
- KR
- South Korea
- Prior art keywords
- current
- memory
- data
- unit
- test
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0007—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising metal oxide memory material, e.g. perovskites
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0038—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12005—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50008—Marginal testing, e.g. race, voltage or current testing of impedance
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/08—Control thereof
-
- H01L43/08—
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N—ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10N50/00—Galvanomagnetic devices
- H10N50/10—Magnetoresistive devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
- G11C11/165—Auxiliary circuits
- G11C11/1673—Reading or sensing circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0045—Read using current through the cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/004—Reading or sensing circuits or methods
- G11C2013/0054—Read is performed on a reference element, e.g. cell, and the reference sensed value is used to compare the sensed value of the selected cell
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5006—Current
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Materials Engineering (AREA)
- Semiconductor Memories (AREA)
- Human Computer Interaction (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Mram Or Spin Memory Techniques (AREA)
Abstract
반도체 메모리는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다.
Description
본 특허 문헌은 메모리 회로 또는 장치와, 전자 장치에서의 이들의 응용에 관한 것이다.
최근 전자기기의 소형화, 저전력화, 고성능화, 다양화 등에 따라, 컴퓨터, 휴대용 통신기기 등 다양한 전가기기에서 정보를 저장할 수 있는 반도체 장치가 요구되고 있으며, 이에 대한 연구가 진행되고 있다. 이러한 반도체 장치로는 인가되는 전압 또는 전류에 따라 서로 다른 저항 상태 사이에서 스위칭하는 특성을 이용하여 데이터를 저장할 수 있는 반도체 장치 예컨대, RRAM(Resistive Random Access Memory), PRAM(Phase-change Random Access Memory), FRAM(Ferroelectric Random Access Memory), MRAM(Magnetic Random Access Memory), 이-퓨즈(E-fuse) 등이 있다.
본 발명의 실시예들이 해결하려는 과제는 리드 전류 또는 기준 전류에 각 셀 어레이의 특성을 반영하여 리드 마진을 증가시킨 전자 장치를 제공하는 것이다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 반도체 메모리를 포함하는 전자 장치에서, 상기 반도체 메모리는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다.
상기 반도체 메모리는 상기 전류 코드를 저장하는 비휘발성 저장부를 더 포함할 수 있다.
상기 전류 코드 생성부는, 상기 테스트 동작시 상기 테스트 전류들의 전류량의 평균값에 대응하는 전류량을 가지는 평균 전류를 생성하는 평균 전류 생성부; 및 상기 평균 전류를 이용하여 상기 전류 코드를 생성하는 코드 생성부를 포함할 수 있다.
상기 평균 전류 생성부는 상기 둘 이상의 제1저항성 저장 셀들의 개수가 m(m은 자연수)개인 경우 상기 m개의 제1저항성 저장 셀들 중 선택된 제1저항성 저장 셀에 흐르는 상기 테스트 전류를 1/m배로 카피하는 카피 전류를 생성하는 둘 이상의 전류 카피부를 포함하고, 상기 둘 이상의 전류 카피부에 의해 카피된 카피 전류들을 모두 합하여 상기 평균 전류를 생성할 수 있다.
상기 코드 생성부는 상기 평균 전류를 시간에 따라 적분하여 출력 전압을 생성하는 적분기; 및 상기 적분기의 적분이 시작되는 시점으로부터 소정의 시간이 지난 후 상기 출력 전압과 서로 다른 레벨을 갖는 다수의 비교 전압을 비교하여 상기 전류 코드에 포함된 다수의 비트 중 대응하는 비트를 생성하는 다수의 비교부를 포함할 수 있다.
상기 테스트 동작시 상기 다수의 저항성 저장 셀에는 모두 같은 데이터가 라이트된 상태일 수 있다.
상기 기준 전류는 상기 전류 코드의 값에 따라 전류량이 조절되고, 상기 기준 전류의 전류량은 상기 테스트 전류들의 전류량의 평균값이 증가하면 증가하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 감소하도록 조절될 수 있다.
상기 리드 전류는 상기 전류 코드의 값에 따라 전류량이 조절되고, 상기 리드 전류의 전류량은 상기 테스트 전류들의 전류량의 평균값이 증가하면 감소하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 증가하도록 조절될 수 있다.
상기 저항성 저장 셀은 선택소자; 및 상기 저항성 저장 셀에 저장된 데이터에 따라 저항값이 결정되는 가변 저항 소자를 포함할 수 있다.
상기 가변 저항 소자는 금속 산화물 및 두 개의 자성층 사이에 터널 베리어층이 개재된 구조물 중 하나 이상을 포함할 수 있다.
상기 전자 장치는 마이크로 프로세서를 더 포함하고, 상기 마이크로 프로세서는 상기 마이크로 프로세서 외부로부터의 명령을 포함하는 신호를 수신하고, 상기 명령의 추출이나 해독 또는 상기 마이크로 프로세서의 신호의 입출력 제어를 수행하는 제어부; 상기 제어부가 명령을 해독한 결과에 따라서 연산을 수행하는 연산부; 및 상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 기억부를 포함하고, 상기 반도체 메모리는, 상기 마이크로 프로세서 내에서 상기 기억부의 일부일 수 있다.
상기 전자 장치는 프로세서를 더 포함하고, 상기 프로세서는 상기 프로세서의 외부로부터 입력된 명령에 따라 데이터를 이용하여 상기 명령에 대응하는 연산을 수행하는 코어부; 상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 캐시 메모리부; 및 상기 코어부와 상기 캐시 메모리부 사이에 연결되고, 상기 코어부와 상기 캐시 메모리부 사이에 데이터를 전송하는 버스 인터페이스를 포함하고, 상기 반도체 메모리는, 상기 프로세서 내에서 상기 캐시 메모리부의 일부일 수 있다.
상기 전자 장치는 프로세싱 시스템을 더 포함하고, 상기 프로세싱 시스템은 수신된 명령을 해석하고 상기 명령을 해석한 결과에 따라 정보의 연산을 제어하는 프로세서; 상기 명령을 해석하기 위한 프로그램 및 상기 정보를 저장하기 위한 보조기억장치; 상기 프로그램을 실행할 때 상기 프로세서가 상기 프로그램 및 상기 정보를 이용해 상기 연산을 수행할 수 있도록 상기 보조기억장치로부터 상기 프로그램 및 상기 정보를 이동시켜 저장하는 주기억장치; 및 상기 프로세서, 상기 보조기억장치 및 상기 주기억장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스 장치를 포함하고, 상기 반도체 메모리는, 상기 프로세싱 시스템 내에서 상기 보조기억장치 또는 상기 주기억장치의 일부일 수 있다.
상기 전자 장치는 데이터 저장 시스템을 더 포함하고, 상기 데이터 저장 시스템은 데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 저장 장치; 외부로부터 입력된 명령에 따라 상기 저장 장치의 데이터 입출력을 제어하는 컨트롤러; 상기 저장 장치와 외부 사이에 교환되는 데이터를 임시로 저장하는 임시 저장 장치; 및 상기 저장 장치, 상기 컨트롤러 및 상기 임시 저장 장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고, 상기 반도체 메모리는, 상기 데이터 저장 시스템 내에서 상기 저장 장치 또는 상기 임시 저장 장치의 일부일 수 있다.
상기 전자 장치는 메모리 시스템을 더 포함하고, 상기 메모리 시스템은 데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 메모리; 외부로부터 입력된 명령에 따라 상기 메모리의 데이터 입출력을 제어하는 메모리 컨트롤러; 상기 메모리와 외부 사이에 교환되는 데이터를 버퍼링하기 위한 버퍼 메모리; 및 상기 메모리, 상기 메모리 컨트롤러 및 상기 버퍼 메모리 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고, 상기 반도체 메모리는, 상기 메모리 시스템 내에서 상기 메모리 또는 상기 버퍼 메모리의 일부일 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 반도체 메모리를 포함하는 전자 장치에서, 상기 반도체 메모리는 다수의 저항성 저장 셀을 포함하는 제1 내지 제n(n은 자연수) 셀 어레이; 테스트 동작시 상기 제1 내지 제n셀 어레이에 대응하는 제1 내지 제n전류 코드 - 상기 제1 내지 제n전류 코드는 대응하는 셀 어레이에서 둘 이상의 제1저항성 저장 셀에 각각 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가짐 - 중 대응하는 전류 코드를 생성하는 제1 내지 제n전류 코드 생성부; 및 상기 제1 내지 제n셀 어레이 중 대응하는 셀 어레이의 상기 다수의 저항성 저장 셀들 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 제1 내지 제n센싱부를 포함하고, 상기 제1 내지 제n센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 제1 내지 제n전류 코드의 값에 따라 조절될 수 있다.
상기 반도체 메모리는 상기 제1 내지 제n전류 코드를 저장하는 비휘발성 저장부를 더 포함할 수 있다.
상기 제1 내지 제n전류 코드 생성부 각각은, 상기 테스트 동작시 상기 테스트 전류들의 전류량의 평균값에 대응하는 전류량을 가지는 평균 전류를 생성하는 평균 전류 생성부; 및 상기 평균 전류를 이용하여 상기 전류 코드를 생성하는 코드 생성부를 포함할 수 있다.
상기 평균 전류 생성부는 상기 둘 이상의 제1저항성 저장 셀들의 개수가 m(m은 자연수)개인 경우 상기 m개의 제1저항성 저장 셀들 중 선택된 제1저항성 저장 셀에 흐르는 상기 테스트 전류를 1/m배로 카피하는 카피 전류를 생성하는 둘 이상의 전류 카피부를 포함하고, 상기 둘 이상의 전류 카피부에 의해 카피된 카피 전류들을 모두 합하여 상기 평균 전류를 생성할 수 있다.
상기 코드 생성부는 상기 평균 전류를 시간에 따라 적분하여 출력 전압을 생성하는 적분기; 및 상기 적분기의 적분이 시작되는 시점으로부터 소정의 시간이 지난 후 상기 출력 전압과 서로 다른 레벨을 갖는 다수의 비교 전압을 비교하여 상기 전류 코드에 포함된 다수의 비트 중 대응하는 비트를 생성하는 다수의 비교부를 포함할 수 있다.
상기 테스트 동작시 상기 제1 내지 제n셀 어레이는 각각 모두 같은 데이터가 라이트된 상태일 수 있다.
상기 제1 내지 제n센싱부의 기준 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고, 상기 제1 내지 제n센싱부의 상기 기준 전류의 전류량은 상기 테스트 전류들의 전류량의 평균값이 증가하면 증가하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 감소하도록 조절될 수 있다.
상기 제1 내지 제n센싱부의 리드 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고, 상기 제1 내지 제n센싱부의 상기 리드 전류의 전류량은 상기 테스트 전류들의 전류량의 평균값이 증가하면 감소하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 증가하도록 조절될 수 있다.
상기 저항성 저장 셀은 선택소자; 및 상기 저항성 저장 셀에 저장된 데이터에 따라 저항값이 결정되는 가변 저항 소자를 포함할 수 있다.
상기 가변 저항 소자는 금속 산화물 및 두 개의 자성층 사이에 터널 베리어층이 개재된 구조물 중 하나 이상을 포함할 수 있다.
상기 전자 장치는 마이크로 프로세서를 더 포함하고, 상기 마이크로 프로세서는 상기 마이크로 프로세서 외부로부터의 명령을 포함하는 신호를 수신하고, 상기 명령의 추출이나 해독 또는 상기 마이크로 프로세서의 신호의 입출력 제어를 수행하는 제어부; 상기 제어부가 명령을 해독한 결과에 따라서 연산을 수행하는 연산부; 및 상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 기억부를 포함하고, 상기 반도체 메모리는, 상기 마이크로 프로세서 내에서 상기 기억부의 일부일 수 있다.
상기 전자 장치는 프로세서를 더 포함하고, 상기 프로세서는 상기 프로세서의 외부로부터 입력된 명령에 따라 데이터를 이용하여 상기 명령에 대응하는 연산을 수행하는 코어부; 상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 캐시 메모리부; 및 상기 코어부와 상기 캐시 메모리부 사이에 연결되고, 상기 코어부와 상기 캐시 메모리부 사이에 데이터를 전송하는 버스 인터페이스를 포함하고, 상기 반도체 메모리는, 상기 프로세서 내에서 상기 캐시 메모리부의 일부일 수 있다.
상기 전자 장치는 프로세싱 시스템을 더 포함하고, 상기 프로세싱 시스템은 수신된 명령을 해석하고 상기 명령을 해석한 결과에 따라 정보의 연산을 제어하는 프로세서; 상기 명령을 해석하기 위한 프로그램 및 상기 정보를 저장하기 위한 보조기억장치; 상기 프로그램을 실행할 때 상기 프로세서가 상기 프로그램 및 상기 정보를 이용해 상기 연산을 수행할 수 있도록 상기 보조기억장치로부터 상기 프로그램 및 상기 정보를 이동시켜 저장하는 주기억장치; 및 상기 프로세서, 상기 보조기억장치 및 상기 주기억장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스 장치를 포함하고, 상기 반도체 메모리는, 상기 프로세싱 시스템 내에서 상기 보조기억장치 또는 상기 주기억장치의 일부일 수 있다.
상기 전자 장치는 데이터 저장 시스템을 더 포함하고, 상기 데이터 저장 시스템은 데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 저장 장치; 외부로부터 입력된 명령에 따라 상기 저장 장치의 데이터 입출력을 제어하는 컨트롤러; 상기 저장 장치와 외부 사이에 교환되는 데이터를 임시로 저장하는 임시 저장 장치; 및 상기 저장 장치, 상기 컨트롤러 및 상기 임시 저장 장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고, 상기 반도체 메모리는, 상기 데이터 저장 시스템 내에서 상기 저장 장치 또는 상기 임시 저장 장치의 일부일 수 있다.
상기 전자 장치는 메모리 시스템을 더 포함하고, 상기 메모리 시스템은 데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 메모리; 외부로부터 입력된 명령에 따라 상기 메모리의 데이터 입출력을 제어하는 메모리 컨트롤러; 상기 메모리와 외부 사이에 교환되는 데이터를 버퍼링하기 위한 버퍼 메모리; 및 상기 메모리, 상기 메모리 컨트롤러 및 상기 버퍼 메모리 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고, 상기 반도체 메모리는, 상기 메모리 시스템 내에서 상기 메모리 또는 상기 버퍼 메모리의 일부일 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 반도체 메모리를 포함하는 전자 장치에서, 상기 반도체 메모리는 다수의 저항성 저장 셀을 포함하는 제1 내지 제n(n은 자연수) 셀 어레이; 테스트 동작시 상기 제1 내지 제n셀 어레이에 대응하는 제1 내지 제n전류 코드 - 상기 제1 내지 제n전류 코드는 대응하는 셀 어레이에서 둘 이상의 제1저항성 저장 셀에 각각 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가짐 - 중 대응하는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 제1 내지 제n셀 어레이 중 대응하는 셀 어레이의 상기 다수의 저항성 저장 셀들 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 제1 내지 제n센싱부를 포함하고, 상기 제1 내지 제n센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 제1 내지 제n전류 코드의 값에 따라 조절될 수 있다.
상기 반도체 메모리는 상기 제1 내지 제n전류 코드를 저장하는 비휘발성 저장부를 더 포함할 수 있다.
상기 전류 코드 생성부는, 상기 테스트 동작시 상기 다수의 셀 어레이 중 선택된 셀 어레이에 대응하는 전류 코드를 생성할 수 있다.
상기 제1 내지 제n센싱부의 기준 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고, 상기 제1 내지 제n센싱부의 상기 기준 전류의 전류량은 상기 테스트 전류들의 전류량의 평균값이 증가하면 증가하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 감소하도록 조절될 수 있다.
상기 제1 내지 제n센싱부의 리드 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고, 상기 제1 내지 제n센싱부의 상기 리드 전류의 전류량은 상기 테스트 전류들의 전류량의 평균값이 증가하면 감소하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 증가하도록 조절될 수 있다.
상술한 실시예들에 의한 전자 장치에 의하면, 각 셀 어레이의 특성을 반영하여 리드 전류 또는 기준 전류를 조절함으로써 리드 마진을 증가시킬 수 있다.
도 1은 두 개의 자성층 사이에 터널 베리어층이 개재된 구조물 중 하나인 자기 터널 접합 소자(MTJ: Magnetic Tunnel Junction)의 일 실시예,
도 2는 가변 저항 소자(210)에 대한 데이터를 저장하는 원리를 설명하기 위한 도면,
도 3은 가변 저항 소자를 가지는 메모리 회로(장치)에서 발생할 수 있는 문제점을 설명하기 위한 도면,
도 4는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 5는 도 4의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 6은 전류 코드 생성부(420)의 구성도,
도 7a 내지 도 7e는 평균 전류 생성부(610)의 동작을 설명하기 위한 도면,
도 8은 코드 생성부(620)의 구성도,
도 9는 코드 생성부(620)에서 전류 코드(I_CODE<3:0>)를 생성하는 방법을 설명하기 위한 도면,
도 10은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 11은 도 10의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 12는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 13은 도 12의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 14는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 15는 도 14의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 16은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 17은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 18은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 마이크로 프로세서의 구성도의 일 예,
도 19은 본 발명의 일 실시예에 메모리 장치를 구현하는 프로세서의 구성도의 일 예,
도 20는 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 시스템의 구성도의 일 예,
도 21은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 데이터 저장 시스템의 구성도의 일 예,
도 22은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 메모리 시스템의 구성도의 일 예.
도 2는 가변 저항 소자(210)에 대한 데이터를 저장하는 원리를 설명하기 위한 도면,
도 3은 가변 저항 소자를 가지는 메모리 회로(장치)에서 발생할 수 있는 문제점을 설명하기 위한 도면,
도 4는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 5는 도 4의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 6은 전류 코드 생성부(420)의 구성도,
도 7a 내지 도 7e는 평균 전류 생성부(610)의 동작을 설명하기 위한 도면,
도 8은 코드 생성부(620)의 구성도,
도 9는 코드 생성부(620)에서 전류 코드(I_CODE<3:0>)를 생성하는 방법을 설명하기 위한 도면,
도 10은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 11은 도 10의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 12는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 13은 도 12의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 14는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 15는 도 14의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면,
도 16은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 17은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예,
도 18은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 마이크로 프로세서의 구성도의 일 예,
도 19은 본 발명의 일 실시예에 메모리 장치를 구현하는 프로세서의 구성도의 일 예,
도 20는 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 시스템의 구성도의 일 예,
도 21은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 데이터 저장 시스템의 구성도의 일 예,
도 22은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 메모리 시스템의 구성도의 일 예.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부 도면을 참조하여 설명하기로 한다. 본 발명을 설명함에 있어서, 본 발명의 요지와 무관한 공지의 구성은 생략될 수 있다. 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지록 하고 있음에 유의하여야 한다.
본 발명의 실시예들에 따른 반도체 장치는 가변 저항 소자를 포함할 수 있다. 이하에서 가변 저항 소자는 가변 저항 특성을 나타내며 단일막 또는 다중막을 포함할 수 있다. 예를 들어, 가변 저항 소자는 RRAM, PRAM, MRAM, FRAM 등에 이용되는 물질, 예를 들어, 칼코게나이드(chalcogenide)계 화합물, 전이금속 화합물, 강유전체, 강자성체 등을 포함할 수 있다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 가변 저항 소자는 양단에 인가되는 전압 또는 전류에 따라 서로 다른 저항 상태 사이에서 스위칭하는 가변 저항 특성이 있기만 하면 된다.
보다 자세히 살펴보면 가변 저항 소자는 금속 산화물을 포함할 수 있다. 금속 산화물은 예를 들어, 니켈(Ni) 산화물, 티타늄(Ti) 산화물, 하프늄(Hf) 산화물, 지르코늄(Zq) 산화물, 텅스텐(W) 산화물, 코발트(Co) 산화물 등과 같은 전이 금속의 산화물, STO(SrTiO), PCMO(PSCaMnO) 등과 같은 페로브스카이트계 물질 등일 수 있다. 이러한 가변 저항 소자는 공공(vacancy)의 거동에 의한 전류 필라멘트의 생성/소멸로 서로 다른 저항 상태 사이에서 스위칭하는 특성을 나타낼 수 있다.
또한, 가변 저항 소자는 상변화 물질을 포함할 수 있다. 상변화 물질은 예컨데, GST(Ge-Sb-Te) 등과 같은 칼코게나이드계 물질 등일 수 있다. 이러한 가변 저항 소자는 열에 의해 결정 상태와 비정질 상태 중 어느 하나로 안정됨으로써 서로 다른 저항 상태 사이에서 스위칭하는 특성을 나타낼 수 있다.
또한, 가변 저항 소자는 두 개의 자성층 사이에 터널 베리어 층이 개재된 구조물을 포함할 수 있다. 자성층은 NiFeCo, CoFe 등의 물질로 형성될 수 있고, 터널 베리어층은, Al203 등의 물질로 형성될 수 있다. 이러한 가변 저항 소자는 자성층의 자화 방향에 따라 서로 다른 저항 상태 사이에서 스위칭하는 특성을 나타낼 수 있다. 예를 들어, 가변 저항 소자는 두 개의 자성층의 자화 방향이 평행한 경우 저저항 상태일 수 있고, 두 개의 자성층의 자화 방향이 반평행한 경우 고저항 상태일 수 있다.
도 1은 두 개의 자성층 사이에 터널 베리어층이 개재된 구조물 중 하나인 자기 터널 접합 소자(MTJ: Magnetic Tunnel Junction)의 일실시예이다.
도시된 바와 같이, 자기 터널 접합 소자(100)는 상부 전극으로서의 제1전극층(110)과 하부전극으로서의 제2전극층(120), 한 쌍의 자성층인 제1자성층(112)과 제2자성층(122) 및 한 쌍의 자성층(112, 122) 사이에 형성되는 터널 베리어층(130)을 포함한다.
여기에서, 제1자성층(112)은 자기 터널 접합 소자(100)에 인가되는 전류의 방향에 따라 자화 방향이 가변되는 자유 자성층(Free ferromagnetic layer)이고, 제2자성층(122)은 자화 방향이 고정되는 고정 자성층(Pinned ferromagnetic layer)이 될 수 있다.
이러한 자기 터널 접합 소자(100)는 전류의 방향에 따라 그 저항값이 변화되어 데이터 "0" 또는 "1"을 기록한다.
도 2A 및 2B는 가변 저항 소자(210)에 대한 데이터를 저장하는 원리를 설명하기 위한 도면이다. 여기서 가변 저항 소자(210)는 도 1의 설명에서 상술한 자기 터널 접합 소자(100)일 수 있다.
먼저, 도 2A는 가변 저항 소자(210)에 논리값이 '로우'인 데이터를 기록하는 원리를 설명하기 위한 도면이다. 데이터를 저장하고자 하는 가변 저항 소자(210)를 선택하기 위해 가변 저항 소자(210)에 연결된 워드라인(230)이 활성화되어 트랜지스터(220)가 턴온된다. 그리고, 일단(251)으로부터 타단(252) 방향, 즉 도 1에서 자기 터널 접합 소자(100)의 상부 전극인 제1전극층(110)으로부터 하부전극인 제2전극층(120)으로 전류가 흐르게 되면(화살표 방향), 자유 자성층인 제1자성층(110)의 방향과 고정 자성층인 제2자성층(122)의 자화 방향이 평행(parallel)하게 되면서, 가변 저항 소자(210)가 저저항 상태가 되며, 가변 저항 소자(210)가 저저항 상태일 때 가변 저항 소자(210)에 '로우'데이터가 저장된 것으로 정의된다.
한편, 도 2B는 가변 저항 소자(210)에 논리값이 '하이'인 데이터를 기록하는 원리를 설명하기 위한 도면이다. 마찬가지로, 가변 저항 소자(210)에 연결된 워드라인(230)이 활성화되어 트랜지스터(220)가 턴온된다. 그리고, 타단(252)으로부터 일단(251) 방향, 즉 제2전극층(120)으로부터 제1전극층(110)으로 전류가 흐르게 되면(화살표 방향), 제1자성층(112)의 방향과 제2자성층(122)의 자화 방향이 서로 반평행(anti-parallrl) 상태가 되면서 가변 저항 소자(210)가 고저항 상태를 갖게 되고, 가변 저항 소자(210)가 고저항 상태일 때 가변 저항 소자(210)에 '하이'데이터가 저장된 것으로 정의된다.
가변 저항 소자(210)에 저장된 데이터의 논리값은 가변 저항 소자(210)의 저항값에 따라 달라진다. 가변 저항 소자(210)가 고저항 상태인 경우와 저저항 상태인 경우에 저항값의 차이가 큰 경우에는 가변 저항 소자에 저장된 데이터를 판별하기가 쉬워지며, 가변 저항 소자(210)가 고저항 상태인 경우와 저저항 상태인 경우에 저항값의 차이가 작은 경우에는 가변 저항 소자에 저장된 데이터를 판별하기가 어려워져 데이터 판별에 있어서의 오류가 발생할 확률이 높아진다. 그러므로, 가변 저항 소자의 고저항 상태와 저저항 상태의 저항의 저항값 차이가 적더라도 정확하게 가변 저항 소자에 저장된 데이터를 판별할 수 있는 기술이 요구된다.
도 3은 가변 저항 소자를 가지는 메모리 회로(장치)에서 발생할 수 있는 문제점을 설명하기 위한 도면이다.
도 3을 참조하면, 메모리 회로(장치)는 다수의 셀 어레이(301_0 - 301_k, k는 자연수)와 다수의 센싱부(302_0 - 302_k)를 포함할 수 있다.
셀 어레이들(301_0 - 301_k)은 각각 저장된 데이터에 따라 결정되는 저항값을 가지는 다수의 저항성 저장 셀(도 3에 미도시 됨)을 포함할 수 있다. 센싱부들(302_0 - 302_k)은 각각 하나의 셀 어레이들에 대응할 수 있다. 센싱부들(302_0 - 302_k)은 대응하는 셀 어레이에서 선택된 저항성 저장 셀에 흐르는 전류를 소정의 전류량을 가지는 기준 전류와 비교하여 선택된 저항성 저장 셀의 데이터를 센싱할 수 있다.
각각의 다수의 저항성 저장 셀은 가변 저항 소자를 포함하며, 가변 저항 소자는 저항성 저장 셀에 저장된 데이터의 값에 따라 결정되는 저항값을 가질 수 있다. 가변 저항 소자는 '로우'데이터(예, 0)가 저장된 경우 저저항 상태가 되고, '하이'데이터(예, 1)가 저장된 경우 고저항 상태가 될 수 있다. 또는 가변 저항 소자는 '하이'데이터가 저장된 경우 저저항 상태가 되고, '로우'데이터가 저장된 경우 고저항 상태가 될 수 있다.
이상적으로 제조된 경우 각 셀 어레이들과 각 센싱부들은 완전히 동일한 특성을 가져야 한다. 그러나 실제 공정은 완벽하지 않기 때문에 각 셀 어레이와 각 센싱부들의 특성에는 편차가 생길 수 있다. 예를 들어, 저항성 저장 셀들의 저저항 상태 또는 고저항 상태의 저항값이 서로 다를 수 있고, 센싱부에서는 기준 전류의 전류량이 서로 다를 수 있다. 이러한 편차는 결국 리드 마진을 감소시킬 수 있다.
도 4, 도 10, 도 12, 도 14은 위에서 설명한 가변 저항 소자를 가지는 메모리 회로(장치)의 실시예들을 도시한다.
도 4는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예이다.
도 4를 참조하면, 메모리 회로(장치)는 셀 어레이(410), 전류 코드 생성부(420), 센싱부(430), 비휘발성 저장부(440), 전압 생성부(450), 전압 조절부(460) 및 컬럼 디코더(470)를 포함할 수 있다.
셀 어레이(410)는 다수의 워드라인(WL0 - WL2), 다수의 비트라인(BL0 - BL2), 다수의 소스라인(SL0 - SL2), 다수의 저항성 저장 셀(C0 - C8)을 포함할 수 있다. 저항성 저장 셀들(C0 - C8)은 각각 다수의 비트라인(BL0 - BL2) 및 다수의 소스라인(SL0 - SL2) 중 대응하는 비트라인과 소스라인 사이에 연결되고, 다수의 워드라인(WL0 - WL2) 중 대응하는 워드라인과 연결될 수 있다.
각각의 저항성 저장 셀들(C0 - C8)은 가변 저항 소자(R) 및 가변 저항 소자(R)에 직렬로 연결된 선택 소자(S)를 포함할 수 있다. 가변 저항 소자(R)는 '로우'데이터가 저장된 경우 저저항 상태가 되고, '하이'데이터가 저장된 경우 고저항 상태가 될 수 있다. 또는 가변 저항 소자(R)는 '하이'데이터가 저장된 경우 저저항 상태가 되고, '로우'데이터가 저장된 경우 고저항 상태가 될 수 있다. 이하에서는 가변 저항 소자(R)가 '로우' 데이터를 저장하는 경우 저저항 상태가 되고, '하이' 데이터를 저장하는 경우 고저항 상태가 되는 경우에 대해 설명한다.
전류 코드 생성부(420)는 테스트 동작시 저항성 저장 셀들(C0 - C8) 중 둘 이상의 저항성 저장 셀 각각에 흐르는 테스트 전류(ITEST)들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드(I_CODE<3:0>)를 생성할 수 있다. 예를 들어, 전류 코드 생성부(420)는 4개의 저항성 저장 셀들(C0, C2, C6, C8)이 차례로 선택되어 테스트 전류(ITEST)가 흐르도록 제어하고, 위 저항성 저장 셀들(C0, C2, C6, C8)에 흐르는 테스트 전류(ITEST)의 전류량의 평균값에 대응하는 전류 코드(I_CODE<3:0>)를 생성할 수 있다. 즉, 저항성 저장 셀들(C0, C2, C6, C8)에 흐르는 테스트 전류(ITEST)의 전류량이 각각 ITEST1, ITEST2, ITEST3, ITEST4, ITEST5라면 코드 생성부는 (ITEST1 + ITEST2 + ITEST3 + ITEST4 + ITEST5)/4에 대응하는 값을 가지는 전류 코드(I_CODE<3:0>)를 생성할 수 있다. 전류 코드 생성부(420)는 테스트 동작시 선택된 저항성 저장 셀의 양단에 리드 동작시와 동일한 전압을 인가하고, 선택된 저항성 저장 셀에 테스트 전류(ITEST)를 흐릴 수 있다.
센싱부(430)는 저항성 저장 셀들(C0 - C8) 중 선택된 저항성 저장 셀에 흐르는 리드 전류(IRD)와 기준 전류(IREF)를 비교하여 선택된 저항성 저장 셀의 데이터를 센싱할 수 있다. 도 4에 도시된 메모리 회로(장치)에서 기준 전류(IREF)의 전류량은 비휘발성 저장부(440)에서 출력된 전류 코드(I_CODE<3:0>)의 값에 따라 조절될 수 있다. 센싱부(430)는 리드 전류(IRD)의 전류량이 기준 전류(IREF)의 전류량 보다 크면 선택된 저항성 저장 셀의 데이터를 '로우'데이터로 출력(OUT)하고, 리드 전류(IRD)의 전류량이 기준 전류(IREF)의 전류량보다 작으면 선택된 저항성 저장 셀의 데이터를 '하이'데이터로 출력(OUT)할 수 있다.
비휘발성 저장부(440)는 퓨즈 회로(Fuse Circuit)를 비롯해 ROM(Read Only Memory), NOR Flash Memory, NAND Flash Memory, PRAM(Phase Change Random Access Memory), RRAM(Resistive Random Access Memory), STTRAM(Spin Transfer Torque Random Access Memory), MRAM(Magnetic Random Access Memory) 등의 비휘발성 메모리 회로 또는 이와 비슷한 기능을 수행하여 데이터를 저장하는 다양한 회로들 중 하나일 수 있다. 비휘발성 저장부(440)는 코드 생성부(430)에 의해 전류 코드(I_CODE<3:0>)가 생성되면 이를 저장하고 있다가 메모리 회로(장치)가 동작할 때 전압 조절부(460)로 출력(I_CODE'<3:0>)할 수 있다. 참고로 전류 코드 생성부(420)에서 생성된 전류 코드(I_CODE<3:0>)와 비휘발성 저장부(440)에서 출력된 전류 코드(I_CODE'<3:0>)는 같은 값을 가질 수 있다.
전압 생성부(450)는 메모리 회로(장치)에서 사용하는 다양한 전압들을 생성할 수 있다. 도 4에서는 전압 생성부(450)가 리드 전류의 전류량을 조절하기 위해 이용되는 클램프 전압(VCLAMP)과 기준 전류(IREF)의 전류량을 조절하기 위해 이용되는 제1기준 전압(VREF1)을 생성하는 경우를 도시하였다.
전압 조절부(460)는 전류 코드(I_CODE'<3:0>)의 값에 따라 제1기준 전압(VREF1)의 전압 레벨을 조절하여 제2기준전압(Vcmp2)을 생성할 수 있다. 예를 들어, 전압 조절부(460)는 테스트 전류들의 전류량의 평균값이 클수록 전류 코드(I_CODE'<3:0>)의 값이 커지는 경우, 즉 테스트 전류들의 전류량의 평균값과 전류 코드(I_CODE'<3:0>)의 값이 비례하는 경우 전류 코드(I_CODE'<3:0>)의 값이 커질수록 제2기준 전압(VREF2)의 전압 레벨을 높이고, 전류 코드(I_CODE'<3:0>)의 값이 작아질수록 제2기준 전압(VREF2)의 전압 레벨을 낮출 수 있다. 제2기준 전압(VREF2)의 전압 레벨이 높아질수록 기준 전류(IREF)의 전류량이 많아지고, 제2기준 전압(VREF2)의 전압 레벨이 낮아질수록 기준 전류(IREF)의 전류량이 줄어들 수 있다.
컬럼 디코더(470)는 컬럼 어드레스(CADD)에 의해 선택된 비트라인 및 소스라인이 소정의 전압으로 구동되도록 할 수 있다. 컬럼 디코더(470)는 테스트 동작시 컬럼 어드레스(CADD)에 의해 선택된 비트라인이 전류 코드 생성부(420)와 연결되고, 선택된 소스라인에 기저전압(VSS)이 인가되도록 할 수 있다. 또한 컬럼 디코더(470)는 리드 동작시 컬럼 어드레스(CADD)에 의해 선택된 비트라인이 센싱부(430)와 연결되고, 선택된 소스라인에 기저전압(VSS)이 인가되도록 할 수 있다.
이하에서는 메모리 회로(장치)의 테스트 동작에 대해 설명한다.
도 4의 메모리 회로(장치)의 테스트 동작시 먼저 셀 어레이(410)에 포함된 모든 저항성 메모리 셀들(C0 - C8)에 '로우'데이터 또는 '하이'데이터 중 하나의 데이터가 라이트될 수 있다. 그 후 셀 어레이(410)에 포함된 저항성 저장 셀들(C0 - C8) 중 일부의 저항성 저장 셀들 또는 전부의 저항성 저장 셀들에 테스트 전류(ITEST)를 흘리고, 각각의 저항성 저장 셀들에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 전류 코드(I_CODE<3:0>)가 생성될 수 있다. 생성된 전류 코드(I_CODE<3:0>)는 비휘발성 저장부(450)에 저장될 수 있다. 그 후 메모리 회로(장치)의 리드 동작시 전류 코드(I_CODE'<3:0>)의 값이 반영된 전압 레벨을 갖는 제2기준 전압(VREF2)가 생성되고, 이러한 제2기준 전압(VREF2)을 이용하여 리드 동작을 수행함으로써 리드 마진이 증가할 수 있다.
참고로, 테스트 동작을 통해 검출된 테스트 전류량의 평균값은 결국 테스트된 저항성 저장 셀들이 '로우'데이터 또는 '하이'데이터를 가질 때 흘리는 전류량의 평균값이다. 따라서 테스트동작을 통해 셀 어레이(410)에 포함된 저항성 저장 셀들이 '로우'데이터 또는 '하이'데이터가 라이트되었을 때 평균적으로 어떤 저항값을 가지는지 검출할 수 있다. 이때 테스트 전류들의 전류량의 평균값이 일반적으로 알려진 저항성 저장 셀의 리드 전류의 전류값보다 많은 경우 셀 어레이(410)에 포함된 저항성 저장 셀들의 저항값은 일반적인 경우보다 작은 경향이 있다는 것을 나타내고, 반대의 경우 셀 어레이(410)에 포함된 저장 셀들의 저항값은 일반적인 경우보다 큰 경향이 있다는 것을 나타낼 수 있다.
도 4에서는 도시의 편의를 위해 셀 어레이(410)가 3×3 매트릭스로 배치된 9개의 저항성 저장 셀을 포함하는 경우에 대해 도시하였으나, 셀 어레이(410)는 설계에 따라 수십~수백개 또는 그 이상의 로우(row)와 수십~수백개 또는 그 이상의 컬럼(column)으로 배치된 수천~수만 또는 그 이상의 저항성 저장 셀을 포함할 수 있다.
도 5는 도 4의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면이다.
도 5를 참조하면, 조절되기 전에 센싱부(430)에 흐르는 기준 전류(IREF)의 전류량이 제1전류량(IREF)이라 하자. 제1전류량(IREF)이 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량(IRDL)과 '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량(IRDH)의 정중앙에 위치할 때 센싱부(430)의 리드 마진이 최대가 될 수 있다(IDEAL).
먼저 테스트 동작을 통해 셀 어레이(410)에 포함된 저항성 저장 셀들의 저항값이 일반적인 경우보다 작은 경향이 있는 것으로 검출되었다고 가정하자(CASE1). 또한 이 경우 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL _ AVG)과 '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL_AVG)이 도 5에 도시된 바와 같다고 하자. 이 경우 제1전류량(IREF)은 평균값(IRDL_AVG)에 치우쳐져 있으므로 리드 마진이 줄어든다. 따라서 기준 전류(IREF)의 제1전류량(IREF)을 제2전류량(IREF')으로 증가시켜 리드 마진이 최대화되도록 할 수 있다.
다음으로 먼저 테스트 동작을 통해 셀 어레이(410)에 포함된 저항성 저장 셀들의 저항값이 일반적인 경우보다 큰 경향이 있는 것으로 검출되었다고 가정하자(CASE2). 또한 이 경우 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL _ AVG)과 '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL _ AVG)이 도 5에 도시된 바와 같다고 하자. 이 경우 제1전류량(IREF)은 평균값(IRDH_AVG)에 치우쳐져 있으므로 리드 마진이 줄어든다. 따라서 기준 전류(IREF)의 제1전류량(IREF)을 제2전류량(IREF')으로 감소시켜 리드 마진이 최대화되도록 할 수 있다.
도 4의 메모리 회로(장치)는 이와 같이, 테스트 동작을 통해 검출된 테스트 전류들의 전류량의 평균값에 따라 기준 전류(IREF)의 전류량을 조절함으로써 리드 마진이 최대가 되도록 할 수 있다.
도 6은 전류 코드 생성부(420)의 구성도이다.
도 6을 참조하면, 전류 코드 생성부(420)는 평균 전류 생성부(610), 코드 생성부(620)를 포함할 수 있다.
평균 전류 생성부(610)는 테스트 동작시 셀 어레이(410)의 저항성 저장 셀들(C0 - C15) 중 둘 이상의 저항성 저장 셀에 각각 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 전류량을 가지는 평균 전류(IAVG)를 생성할 수 있다.
평균 전류 생성부(610)는 테스트 전류 생성부(611) 및 전류 카피부들(612 - 615)을 포함할 수 있다. 테스트 전류 생성부(611)는 엔모스 트랜지터(N0) 및 피모스 트랜지스터(P0)를 포함하고 테스트 동작시 선택된 저항성 저장 셀에 소정의 테스트 전류(ITEST)를 흘릴 수 있다. 엔모스 트랜지스터(N0)는 클램프 전압(VCLAMP)에 의해 제어될 수 있다.
전류 카피부들(612 - 615)은 테스트 동작시 샘플링에 사용되는 저항성 저장 셀들의 개수가 m(m은 자연수, 도 6에서는 m = 4)인 경우 선택된 저항성 저장 셀에 흐르는 테스트 전류(ITEST)를 1/m배로 카피하는 카피 전류(ICOPY0- ICOPY3)를 생성할 수 있다. 평균 전류(IAVG)는 모든 카피 전류들(ICOPY0- ICOPY3)을 합하여 생성된 전류일 수 있다.
각각의 전류 카피부(612 - 615)은 캐패시터(CP0 - CP3), 스위치(SW0 - SW3) 및 피모스 트랜지스터(P1 - P4)를 포함할 수 있다. 이때 피모스 트랜지스터들(P1 - P4)의 전류 구동능력은 피모스 트랜지스터(P0)의 전류 구동능력의 1/m일 수 있다. 이것은 동일한 동작 조건에서 피모스 트랜지스터들(P1 - P4)이 흘리는 전류가 피모스 트랜지스터(P0)가 흘리는 전류의 1/m이라는 것을 나타낸다. 이를 위해 피모스 트랜지스터들(P1 - P4)의 사이즈와 피모스 트랜지스터(P0)의 사이즈의 비는 1:m이 되도록 설계될 수 있다.
평균 전류 생성부(610)에서 생성된 평균 전류(IAVG)는 코드 생성부(620)로 입력될 수 있다. 평균 전류 생성부(610)의 자세한 동작에 대해서는 도 7의 설명에서 후술한다.
코드 생성부(620)는 평균 전류(IAVG)를 입력받아 평균 전류(IAVG)의 전류량에 대응하는 값을 가지는 전류 코드(I_CODE<3:0>)를 생성할 수 있다. 코드 생성부(620)는 평균 전류(IAVG)가 입력되는 시점부터 소정의 시간이 지난 후 인에이블 신호(EN)가 활성화되면 평균 전류(IAVG)의 전류량에 대응하는 값을 가지는 전류 코드(I_CODE<3:0>)를 출력할 수 있다. 예를 들어, 전류 코드(I_CODE<3:0>)의 값은 평균 전류(IAVG)의 전류량에 비례할 수 있다. 코드 생성부(620)의 자세한 동작에 대해서는 도 8의 설명에서 후술한다. 스위치(SW)는 테스트 동작시 연결되는 스위치일 수 있다. 참고로 VDD는 전원전압을 VSS는 기저전압을 나타낼 수 있다.
도 7a 내지 도 7e는 평균 전류 생성부(610)의 동작을 설명하기 위한 도면이다.
제1단계(도 7a)에서 평균 전류 생성부(610)는 저항성 저장 셀(C0)에 연결되어, 테스트 전류(ITEST1)를 흘린다. 전류 카피부(612)는 테스트 전류(ITEST1)는 1/4배로 카피하여 카피 전류(ICOPY0)를 생성할 수 있다. 이와 비슷하게 제2 내지 제4단계(도 7b, 도 7c, 도 7d)에서는 각 단계에서의 테스트 전류(ITEST2, ITEST3, ITEST4)가 1/4배로 카피되어 카피 전류(ICOPY1, ICOPY2, ICOPY3)를 생성할 수 있다. 제5단계(도 7e)에서 평균 전류 생성부(610)는 카피 전류들(ICOPY0, ICOPY1, ICOPY2, ICOPY3)은 A노드(A_NODE)에서 평균 전류(IAVG)로 합칠 수 있다. 따라서 평균 전류(IAVG)의 전류량은 카피 전류들(ICOPY0, ICOPY1, ICOPY2, ICOPY3)의 전류량의 합, 즉 테스트 전류들(ITEST1, ITEST2, ITEST3, ITEST4)의 전류량의 평균값과 같을 수 있다.
도 8은 코드 생성부(620)의 구성도이다.
도 8을 참조하면, 코드 생성부(620)는 적분기(810) 및 다수의 비교부(820_0 - 820_3)를 포함할 수 있다.
평균 전류(IAVG)를 시간에 따라 적분하여 출력 전압(VOUT)을 생성할 수 있다. 적분기(810)는 캐패시터(811) 및 비교부(812)를 포함할 수 있다.
다수의 비교부(820_0 - 820_3)는 적분기(810)의 적분이 시작되는 시점으로부터 소정의 시간이 지난 후 출력 전압(VOUT)과 서로 다른 레벨을 갖는 다수의 비교 전압들(Vcmp0 - Vcmp3)을 각각 비교하여 전류 코드(I_CODE<3:0>)에 포함된 다수의 비트 중(I_CODE<0> - I_CODE<3>) 대응하는 비트를 생성할 수 있다. 각각의 비교부(820_0 - 820_3)는 인에이블 신호(EN)가 활성화되었을 때 출력 전압(VOUT)이 대응하는 비교 전압(Vcmp0 - Vcmp3)보다 작으면 '0'을 출력하고, 크면 '1'을 출력할 수 있다. 비교 전압(Vcmp0)에서 비교 전압(Vcmp3)으로 갈수록 전압 레벨이 높아질 수 있다.
도 9는 코드 생성부(620)에서 전류 코드(I_CODE<3:0>)를 생성하는 방법을 설명하기 위한 도면이다.
도 9를 참조하면, 적분기(810)의 출력전압(VOUT)은 시간(t)에 따라 평균 전류(IAVG)의 전류량에 비례하는 기울기로 증가할 수 있다. 즉, 출력전압(VOUT)의 기울기는 평균 전류(IAVG)의 전류량이 클수록 커지고, 평균 전류(IAVG)의 전류량이 작아질수록 작아질 수 있다.
소정의 시점(T1)에 인에이블 신호(EN)가 활성화되면, 그 시점(T1)의 출력 전압(VOUT)과 비교 전압(Vcmp0 - Vcmp3)을 비교한 결과가 출력될 수 있다. 이러한 비교 결과는 결국 출력전압(VOUT)의 기울기 즉, 평균 전류(IAVG)의 전류량에 따라 달라질 수 있다.
도 9에는 평균 전류(IAVG)의 전류량이 각각 다를 때 시간에 따른 출력 전압(VOUT)의 변화를 도시하였다. 평균 전류(IAVG)의 전류량이 제1값인 경우(AVG1) 전류 코드(I_CODE<3:0>)는 '0000'이 되고, 평균 전류(IAVG)의 전류량이 제2값인 경우(AVG2) 전류 코드(I_CODE<3:0>)는 '0001'이 되고, 평균 전류(IAVG)의 전류량이 제3값인 경우(AVG3) 전류 코드(I_CODE<3:0>)는 '0011'이 되고, 평균 전류(IAVG)의 전류량이 제4값인 경우(AVG4) 전류 코드(I_CODE<3:0>)는 '0111'이 되고, 평균 전류(IAVG)의 전류량이 제5값인 경우(AVG5) 전류 코드(I_CODE<3:0>)는 '1111'이 될 수 있다(단, 제1값 < 제2값 < 제3값 < 제4값 < 제5값임).
도 9에서는 전류 코드(I_CODE<3:0>)가 4비트인 경우에 대해 도시하였으나 전류 코드(I_CODE<3:0>)의 비트 수는 설계에 따라 달라질 수 있다.
도 10은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예이다.
도 10의 메모리 회로(장치)는 도 4의 메모리 회로(장치)와 달리 전류 코드(I_CODE<3:0>)를 이용하여 리드 전류(IRD)의 전류량을 조절할 수 있다.
센싱부(430')는 저항성 저장 셀들(C0 - C8) 중 선택된 저항성 저장 셀에 흐르는 리드 전류(IRD)와 기준 전류(IREF)를 비교하여 선택된 저항성 저장 셀의 데이터를 센싱할 수 있다. 도 10에 도시된 메모리 회로(장치)에서 리드 전류(IRD)의 전류량은 비휘발성 저장부(440)에서 출력된 전류 코드(I_CODE'<3:0>)의 값에 따라 조절될 수 있다. 센싱부(430')는 리드 전류(IRD)의 전류량이 기준 전류(IREF)의 전류량 보다 크면 선택된 저항성 저장 셀의 데이터를 '로우'데이터로 출력(OUT)하고, 리드 전류(IRD)의 전류량이 기준 전류(IREF)의 전류량보다 작으면 선택된 저항성 저장 셀의 데이터를 '하이'데이터로 출력(OUT)할 수 있다.
전압 조절부(460')는 전류 코드(I_CODE'<3:0>)의 값에 따라 제1클램프 전압(VCLAMP1)의 전압 레벨을 조절하여 제2클램프 전압(VCLAMP2)을 생성할 수 있다. 예를 들어, 전압 조절부(460')는 테스트 전류들의 전류량의 평균값이 클수록 전류 코드(I_CODE'<3:0>)의 값이 커지는 경우, 즉 테스트 전류들의 전류량의 평균값과 전류 코드(I_CODE'<3:0>)의 값이 비례하는 경우 전류 코드(I_CODE<3:0>)의 값이 커질수록 제2클램프 전압(VCLAMP2)의 전압 레벨을 낮추고, 전류 코드(I_CODE'<3:0>)의 값이 작아질수록 제2클램프 전압(VCLAMP2)의 전압 레벨을 낮출 수 있다. 제2클램프 전압(VCLAMP2)의 전압 레벨이 높아질수록 리드 전류(IRD)의 전류량이 많아지고, 제2클램프 전압(VCLAMP2)의 전압 레벨이 낮아질수록 리드 전류(IRD)의 전류량이 줄어들 수 있다.
도 11은 도 10의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면이다.
도 11을 참조하면, 조절되기 전에 센싱부(430')에 흐르는 기준 전류(IREF)의 전류량이 전류량(IREF)이라 하자. 전류량(IREF)이 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량(IRDL)과 '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량(IRDH)의 정중앙에 위치할 때 센싱부(430)의 리드 마진이 최대가 될 수 있다(IDEAL).
먼저 테스트 동작을 통해 셀 어레이(410)에 포함된 저항성 저장 셀들의 저항값이 일반적인 경우보다 작은 경향이 있는 것으로 검출되었다고 가정하자(CASE1). 또한 이 경우 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL_AVG)과 '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL_AVG)이 도 5에 도시된 바와 같다고 하자. 이 경우 전류량(IREF)은 평균값(IRDL_AVG)에 치우쳐져 있으므로 리드 마진이 줄어든다. 따라서 전류량의 평균값(IRDL_AVG, IRDH _ AVG)들을 새로운 전류량의 평균값(IRDL _ AVG', IRDH _ AVG')으로 감소시켜 리드 마진이 최대화되도록 할 수 있다.
다음으로 먼저 테스트 동작을 통해 셀 어레이(410)에 포함된 저항성 저장 셀들의 저항값이 일반적인 경우보다 큰 경향이 있는 것으로 검출되었다고 가정하자(CASE2). 또한 이 경우 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL _ AVG)과 '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류량의 평균값(IRDL _ AVG)이 도 5에 도시된 바와 같다고 하자. 이 경우 전류량(IREF)은 평균값(IRDH_AVG)에 치우쳐져 있으므로 리드 마진이 줄어든다. 따라서 전류량의 평균값(IRDL_AVG, IRDH _ AVG)들을 새로운 전류량의 평균값(IRDL _ AVG', IRDH _ AVG')으로 증가시켜 리드 마진이 최대화되도록 할 수 있다.
도 10의 메모리 회로(장치)는 이와 같이, 테스트 동작을 통해 검출된 테스트 전류들의 전류량의 평균값에 따라 리드 전류(IRD)의 전류량을 조절함으로써 리드 마진이 최대가 되도록 할 수 있다.
도 12는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예이다.
도 12를 참조하면, 메모리 회로(장치)는 다수의 코어부(CORE0 - CORE3), 다수의 코드 생성부(CODE_GEN0 - CODE_GEN3), 다수의 센싱부(SA0 - SA3), 다수의 비휘발성 저장부(STORAGE0 - STORAGE3), 전압 생성부(VOL_GEN), 다수의 전압 조절부(VOL_ADJ0 - VOL_ADJ3)를 포함할 수 있다.
도 12의 코어부(CORE0 - CORE3)는 도 4의 메모리 회로(장치)에서 셀 어레이(410)와 컬럼 디코더(470)를 합친 구성에 대응할 수 있다. 도 12의 메모리 회로(장치)는 코어부, 코드 생성부, 비휘발성 저장부, 전압 조절부를 여러 개 포함하여 각각의 코어부에 대응하는 전류 코드들(I_CODE0<3:0> - I_CODE3<3:0>)을 생성 및 저장할 수 있다. 또한 저장된 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)을 이용하여 기준 전압(VREF)을 각각의 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)에 대응하는 전압 레벨로 조절한 기준 전압들(VREF0 - VREF3)을 생성하고, 이를 이용해 각 코어부(CORE0 - CORE3)의 기준 전류들(IREF0 - IREF3)의 전류량을 각 코어부(CORE0 - CORE3)의 특성에 맞게 조절할 수 있다. 따라서 각 코어부(CORE0 - CORE3)의 리드 마진을 최대화할 수 있다. 각 코어부(CORE0 - CORE3) 별 테스트 동작 및 기준 전류를 조절하는 동작은 도 4의 설명에서 상술한 바와 동일하다.
도 13은 도 12의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면이다.
도 13을 참조하면, 조절되기 전에 각 센싱부(SA0 - SA3)에 흐르는 기준 전류(IREF0 - IREF3)의 전류량이 각각 IREF로 동일하다고 하자. 코어부들(CORE0 - CORE3)에서 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량의 평균값이 각각 IRD0L _ AVG - IRD3L _ AVG이고, '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량의 평균값이 각각 IRD0H_AVG - IRD3H_AVG이라 하자(BEFORE).
테스트 동작을 통해 각 코어부들(CORE0 - CORE3)에 포함된 저항성 저장 셀들의 크기가 어떤 경향을 갖는지 검출하고, 이를 전류 코드들(I_CODE0<3:0> - I_CODE3<3:0>)을 이용해 각 센싱부(SA0 - SA3)에 흐르는 기준 전류(IREF0 - IREF3)에 반영하여 각 기준 전류(IREF0 - IREF3)의 전류량을 IREF0내지 IREF3로 변경할 수 있다. 이러한 전류량 조절을 통해 IREF0내지 IREF3이 각각 IRD0L _ AVG - IRD3L _ AVG, IRD0H_AVG - IRD3H _ AVG의 정중앙에 위치하도록 하여 각 코어부들(CORE0 - CORE3) 별로 리드 마진이 최대가 되도록 할 수 있다(AFTER).
도 14는 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예이다.
도 14를 참조하면, 메모리 회로(장치)는 다수의 코어부(CORE0 - CORE3), 다수의 코드 생성부(CODE_GEN0 - CODE_GEN3), 다수의 센싱부(SA0' - SA3'), 다수의 비휘발성 저장부(STORAGE0 - STORAGE3), 전압 생성부(VOL_GEN), 다수의 전압 조절부(VOL_ADJ0' - VOL_ADJ3')를 포함할 수 있다.
도 14의 코어부(CORE0 - CORE3)는 도 10의 메모리 회로(장치)에서 셀 어레이(410)와 컬럼 디코더(470)를 합친 구성에 대응할 수 있다. 도 14의 메모리 회로(장치)는 코어부, 코드 생성부, 비휘발성 저장부, 전압 조절부를 여러 개 포함하여 각각의 코어부에 대응하는 전류 코드들(I_CODE0<3:0> - I_CODE3<3:0>)을 생성 및 저장할 수 있다. 또한 저장된 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)을 이용하여 클램프 전압(VCLAMP)을 각각의 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)에 대응하는 전압 레벨로 조절한 클램프 전압들(VCLAMP0 - VCLAMP3)을 생성하고, 이를 이용해 각 코어부(CORE0 - CORE3)의 리드 전류들(IRD0 - IRD3)의 전류량을 각 코어부(CORE0 - CORE3)의 특성에 맞게 조절할 수 있다. 따라서 각 코어부(CORE0 - CORE3)의 리드 마진을 최대화할 수 있다. 각 코어부(CORE0 - CORE3) 별 테스트 동작 및 기준 전류를 조절하는 동작은 도 10의 설명에서 상술한 바와 동일하다.
도 15는 도 14의 메모리 회로(장치)의 테스트 동작을 통해 어떻게 리드 마진이 증가하는지 설명하기 위한 도면이다.
도 15를 참조하면, 각 센싱부(SA0 - SA3)에 흐르는 기준 전류(IREF)의 전류량은 IREF이고, 조절되기 전 코어부들(CORE0 - CORE3)에서 '로우'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량의 평균값이 각각 IRD0L _ AVG - IRD3L _ AVG이고, '하이'데이터가 라이트된 저항성 저장 셀에 흐르는 전류의 전류량의 평균값이 각각 IRD0H_AVG - IRD3H_AVG이라 하자(BEFORE).
테스트 동작을 통해 각 코어부들(CORE0 - CORE3)에 포함된 저항성 저장 셀들의 크기가 어떤 경향을 갖는지 검출하고, 이를 전류 코드들(I_CODE0<3:0> - I_CODE3<3:0>)을 이용해 각 센싱부(SA0 - SA3)에 흐르는 리드 전류(IRD0 - IRD3)에 반영하여 각 기준 전류(IRD0 - IRD3)의 전류량의 평균값을 IRD0L _ AVG' 및 IRD0H _ AVG'로 변경할 수 있다. 이러한 전류량 조절을 통해 IREF가 IRD0L _ AVG' 및 IRD0H _ AVG'의 정중앙에 위치하도록 하여 각 코어부들(CORE0 - CORE3) 별로 리드 마진이 최대가 되도록 할 수 있다(AFTER).
도 16은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예이다.
도 16을 참조하면, 메모리 회로(장치)는 다수의 코어부(CORE0 - CORE3), 코드 생성부(CODE_GEN), 다수의 센싱부(SA0 - SA3), 비휘발성 저장부(STORAGE), 전압 생성부(VOL_GEN), 다수의 전압 조절부(VOL_ADJ0 - VOL_ADJ3)를 포함할 수 있다.
도 16의 코어부(CORE0 - CORE3)는 도 4의 메모리 회로(장치)에서 셀 어레이(410)와 컬럼 디코더(470)를 합친 구성에 대응할 수 있다. 도 16의 메모리 회로(장치)는 코어부 및 전압 조절부는 여러개 포함하되, 다수의 코어부가 코드 생성부 및 비휘발성 저장부를 공유하여 코드 생성부는 각각의 코어부에 대응하는 전류 코드들(I_CODE0<3:0> - I_CODE3<3:0>)을 생성하고, 이러한 전류 코드들(I_CODE0<3:0> - I_CODE3<3:0>)을 비휘발성 저장부(STORAGE)에 저장할 수 있다. 또한 저장된 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)을 이용하여 기준 전압(VREF)을 각각의 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)에 대응하는 전압 레벨로 조절한 기준 전압들(VREF0 - VREF3)을 생성하고, 이를 이용해 각 코어부(CORE0 - CORE3)의 기준 전류들(IREF0 - IREF3)의 전류량을 각 코어부(CORE0 - CORE3)의 특성에 맞게 조절할 수 있다. 따라서 각 코어부(CORE0 - CORE3)의 리드 마진을 최대화할 수 있다. 각 코어부(CORE0 - CORE3) 별 테스트 동작 및 기준 전류를 조절하는 동작은 도 4의 설명에서 상술한 바와 동일하다.
도 16의 메모리 장치와 도 12의 메모리 장치의 다른 점은 다수의 코어가 코드 생성부를 공유함으로써 다수의 코드 생성부를 사용하는 경우 각각의 코드 생성부의 회로의 특성으로 인해 발생하는 코드 값을 차이를 줄일 수 있다는 것이다.
도 17은 가변 저항 소자를 포함하는 메모리 회로(장치)의 구성도의 일 예이다.
도 17을 참조하면, 메모리 회로(장치)는 다수의 코어부(CORE0 - CORE3), 다수의 코드 생성부(CODE_GEN), 다수의 센싱부(SA0' - SA3'), 다수의 비휘발성 저장부(STORAGE), 전압 생성부(VOL_GEN), 다수의 전압 조절부(VOL_ADJ0' - VOL_ADJ3')를 포함할 수 있다.
도 17의 코어부(CORE0 - CORE3)는 도 10의 메모리 회로(장치)에서 셀 어레이(410)와 컬럼 디코더(470)를 합친 구성에 대응할 수 있다. 도 17의 메모리 회로(장치)는 코어부 및 전압 조절부는 여러개 포함하되, 다수의 코어부가 코드 생성부 및 비휘발성 저장부를 공유하여 코드 생성부는 각각의 코어부에 대응하는 전류 코드들(I_CODE0<3:0> - I_CODE3<3:0>)을 생성하고, 이러한 전류 코드들을 비휘발성 저장부(STORAGE)에 저장할 수 있다. 또한 저장된 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)을 이용하여 클램프 전압(VCLAMP)을 각각의 전류 코드들(I_CODE0'<3:0> - I_CODE3'<3:0>)에 대응하는 전압 레벨로 조절한 클램프 전압들(VCLAMP0 - VCLAMP3)을 생성하고, 이를 이용해 각 코어부(CORE0 - CORE3)의 리드 전류들(IRD0 - IRD3)의 전류량을 각 코어부(CORE0 - CORE3)의 특성에 맞게 조절할 수 있다. 따라서 각 코어부(CORE0 - CORE3)의 리드 마진을 최대화할 수 있다. 각 코어부(CORE0 - CORE3) 별 테스트 동작 및 기준 전류를 조절하는 동작은 도 10의 설명에서 상술한 바와 동일하다.
도 17의 메모리 장치와 도 14의 메모리 장치의 다른 점은 다수의 코어가 코드 생성부를 공유함으로써 다수의 코드 생성부를 사용하는 경우 각각의 코드 생성부의 회로의 특성으로 인해 발생하는 코드 값을 차이를 줄일 수 있다는 것이다.
전술한 실시예들의 메모리 회로 또는 반도체 장치는 다양한 장치 또는 시스템에 이용될 수 있다. 도 18 내지 도 22은 전술한 실시예들의 메모리 회로 또는 반도체 장치를 구현할 수 있는 장치 또는 시스템의 몇몇 예시들을 나타낸다.
도 18은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 마이크로 프로세서의 구성도의 일 예이다.
도 18을 참조하면, 마이크로프로세서(1000)는 다양한 외부 장치로부터 데이터를 받아서 처리한 후 그 결과를 외부 장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행할 수 있으며, 기억부(1010), 연산부(1020), 제어부(1030) 등을 포함할 수 있다. 마이크로프로세서(1000)는 중앙 처리 장치(CENtral Processing Unit; CPU), 그래픽 처리 장치(Graphic Processing Unit; GPU), 디지털 신호 처리 장치(Digital Signal Processor; DSP), 어플리케이션 프로세서(Application Processor; AP) 등 각종 데이터 처리 장치 일 수 있다.
기억부(1010)는 프로세서 레지스터(Processor register), 레지스터(Register) 등으로, 마이크로프로세서(1000) 내에서 데이터를 저장하는 부분일 수 있고, 데이터 레지스터, 주소 레지스터, 부동 소수점 레지스터 등을 포함할 수 있으며 이외에 다양한 레지스터를 포함할 수 있다. 기억부(1010)는 연산부(1020)에서 연산을 수행하는 데이터나 수행결과 데이터, 수행을 위한 데이터가 저장되어 있는 주소를 일시적으로 저장하는 역할을 수행할 수 있다.
기억부(1010)는 전술한 메모리 장치의 실시예들 중 하나 이상을 포함할 수 있다. 예를 들어, 기억부(1010)는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다. 이를 통해 기억부(1010)의 리드 마진을 증가시킬 수 있다. 결과적으로, 마이크로 프로세서(1000)의 성능을 향상시킬 수 있다.
연산부(1020)는 제어부(1030)가 명령을 해독한 결과에 따라서 여러 가지 사칙 연산 또는 논리 연산을 수행할 수 있다. 연산부(1020)는 하나 이상의 산술 논리 연산 장치(Arithmetic and Logic Unit; ALU) 등을 포함할 수 있다.
제어부(1030)는 기억부(1010), 연산부(1020), 마이크로프로세서(1000)의 외부 장치 등으로부터 신호를 수신하고, 명령의 추출이나 해독, 마이크로프로세서(1000)의 신호 입출력의 제어 등을 수행하고, 프로그램으로 나타내어진 처리를 실행할 수 있다.
본 실시예에 따른 마이크로프로세서(1000)는 기억부(1010) 이외에 외부 장치로부터 입력되거나 외부 장치로 출력할 데이터를 임시 저장할 수 있는 캐시 메모리부(1040)를 추가로 포함할 수 있다. 이 경우 캐시 메모리부(1040)는 버스 인터페이스(1050)를 통해 기억부(1010), 연산부(1020) 및 제어부(1030)와 데이터를 주고 받을 수 있다.
도 19은 본 발명의 일 실시예에 메모리 장치를 구현하는 프로세서의 구성도의 일 예이다.
도 19을 참조하면, 프로세서(1100)는 다양한 외부 장치로부터 데이터를 받아서 처리한 후 그 결과를 외부 장치로 보내는 일련의 과정을 제어하고 조정하는 일을 수행하는 마이크로프로세서의 기능 이외에 다양한 기능을 포함하여 성능 향상 및 다기능을 구현할 수 있다. 프로세서(1100)는 마이크로프로세서의 역할을 하는 코어부(1110), 데이터를 임시 저장하는 역할을 하는 캐시 메모리부(1120) 및 내부와 외부 장치 사이의 데이터 전달을 위한 버스 인터페이스(1130)를 포함할 수 있다. 프로세서(1100)는 멀티 코어 프로세서(Multi Core Processor), 그래픽 처리 장치(Graphic Processing Unit; GPU), 어플리케이션 프로세서(Application Processor; AP) 등과 같은 각종 시스템 온 칩(System on Chip; SoC)을 포함할 수 있다.
본 실시예의 코어부(1110)는 외부 장치로부터 입력된 데이터를 산술 논리 연산하는 부분으로, 기억부(1111), 연산부(1112) 및 제어부(1113)를 포함할 수 있다.
기억부(1111)는 프로세서 레지스터(Processor register), 레지스터(Register) 등으로, 프로세서(1100) 내에서 데이터를 저장하는 부분일 수 있고, 데이터 레지스터, 주소 레지스터, 부동 소수점 레지스터 등를 포함할 수 있으며 이외에 다양한 레지스터를 포함할 수 있다. 기억부(1111)는 연산부(1112)에서 연산을 수행하는 데이터나 수행결과 데이터, 수행을 위한 데이터가 저장되어 있는 주소를 일시적으로 저장하는 역할을 수행할 수 있다. 연산부(1112)는 프로세서(1100)의 내부에서 연산을 수행하는 부분으로, 제어부(1113)가 명령을 해독한 결과에 따라서 여러 가지 사칙 연산, 논리 연산 등을 수행할 수 있다. 연산부(1112)는 하나 이상의 산술 논리 연산 장치(Arithmetic and Logic Unit; ALU) 등을 포함할 수 있다. 제어부(1113)는 기억부(1111), 연산부(1112), 프로세서(1100)의 외부 장치 등으로부터 신호를 수신하고, 명령의 추출이나 해독, 프로세서(1100)의 신호 입출력의 제어 등을 수행하고, 프로그램으로 나타내어진 처리를 실행할 수 있다.
캐시 메모리부(1120)는 고속으로 동작하는 코어부(1110)와 저속으로 동작하는 외부 장치 사이의 데이터 처리 속도 차이를 보완하기 위해 임시로 데이터를 저장하는 부분으로, 1차 저장부(1121), 2차 저장부(1122) 및 3차 저장부(1123)를 포함할 수 있다. 일반적으로 캐시 메모리부(1120)는 1차, 2차 저장부(1121, 1122)를 포함하며 고용량이 필요할 경우 3차 저장부(1123)를 포함할 수 있으며, 필요시 더 많은 저장부를 포함할 수 있다. 즉 캐시 메모리부(1120)가 포함하는 저장부의 개수는 설계에 따라 달라질 수 있다. 여기서, 1차, 2차, 3차 저장부(1121, 1122, 1123)의 데이터 저장 및 판별하는 처리 속도는 같을 수도 있고 다를 수도 있다. 각 저장부의 처리 속도가 다른 경우, 1차 저장부의 속도가 제일 빠를 수 있다. 캐시 메모리부(1120)의 1차 저장부(1121), 2차 저장부(1122) 및 3차 저장부(1123) 중 하나 이상의 저장부는 전술한 메모리 장치의 실시예들 중 하나 이상을 포함할 수 있다. 예를 들어, 캐시 메모리부(1120)는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다. 이를 통해 캐시 메모리부(1120)의 리드 마진을 증가시킬 수 있다. 결과적으로, 프로세서(1100)의 성능을 향상시킬 수 있다.
도 19에는 1차, 2차, 3차 저장부(1121, 1122, 1123)가 모두 캐시 메모리부(1120)의 내부에 구성된 경우를 도시하였으나, 캐시 메모리부(1120)의 1차, 2차, 3차 저장부(1121, 1122, 1123)는 모두 코어부(1110)의 외부에 구성되어 코어부(1110)와 외부 장치간의 처리 속도 차이를 보완할 수 있다. 또는, 캐시 메모리부(1120)의 1차 저장부(1121)는 코어부(1110)의 내부에 위치할 수 있고, 2차 저장부(1122) 및 3차 저장부(1123)는 코어부(1110)의 외부에 구성되어 처리 속도 차이의 보완 기능이 보다 강화될 수 있다. 또는, 1차, 2차 저장부(1121, 1122)는 코어부(1110)의 내부에 위치할 수 있고, 3차 저장부(1123)는 코어부(1110)의 외부에 위치할 수 있다.
버스 인터페이스(1130)는 코어부(1110), 캐시 메모리부(1120) 및 외부 장치를 연결하여 데이터를 효율적으로 전송할 수 있게 해주는 부분이다.
본 실시예에 따른 프로세서(1100)는 다수의 코어부(1110)를 포함할 수 있으며 다수의 코어부(1110)가 캐시 메모리부(1120)를 공유할 수 있다. 다수의 코어부(1110)와 캐시 메모리부(1120)는 직접 연결되거나, 버스 인터페이스(1130)를 통해 연결될 수 있다. 다수의 코어부(1110)는 모두 상술한 코어부의 구성과 동일하게 구성될 수 있다. 프로세서(1100)가 다수의 코어부(1110)를 포함할 경우, 캐시 메모리부(1120)의 1차 저장부(1121)는 다수의 코어부(1110)의 개수에 대응하여 각각의 코어부(1110) 내에 구성되고 2차 저장부(1122)와 3차 저장부(1123)는 다수의 코어부(1110)의 외부에 버스 인터페이스(1130)를 통해 공유되도록 구성될 수 있다. 여기서, 1차 저장부(1121)의 처리 속도가 2차, 3차 저장부(1122, 1123)의 처리 속도보다 빠를 수 있다. 다른 실시예에서, 1차 저장부(1121)와 2차 저장부(1122)는 다수의 코어부(1110)의 개수에 대응하여 각각의 코어부(1110) 내에 구성되고, 3차 저장부(1123)는 다수의 코어부(1110) 외부에 버스 인터페이스(1130)를 통해 공유되도록 구성될 수 있다.
본 실시예에 따른 프로세서(1100)는 데이터를 저장하는 임베디드(Embedded) 메모리부(1140), 외부 장치와 유선 또는 무선으로 데이터를 송수신할 수 있는 통신모듈부(1150), 외부 기억 장치를 구동하는 메모리 컨트롤부(1160), 외부 인터페이스 장치에 프로세서(1100)에서 처리된 데이터나 외부 입력장치에서 입력된 데이터를 가공하고 출력하는 미디어처리부(1170) 등을 추가로 포함할 수 있으며, 이 이외에도 다수의 모듈과 장치를 포함할 수 있다. 이 경우 추가된 다수의 모듈들은 버스 인터페이스(1130)를 통해 코어부(1110), 캐시 메모리부(1120) 및 상호간 데이터를 주고 받을 수 있다.
여기서 임베디드 메모리부(1140)는 휘발성 메모리뿐만 아니라 비휘발성 메모리를 포함할 수 있다. 휘발성 메모리는 DRAM(Dynamic Random Access Memory), Moblie DRAM, SRAM(Static Random Access Memory), 및 이와 유사한 기능을 하는 메모리 등을 포함할 수 있으며, 비휘발성 메모리는 ROM(Read Only Memory), NOR Flash Memory, NAND Flash Memory, PRAM(Phase Change Random Access Memory), RRAM(Resistive Random Access Memory), STTRAM(Spin Transfer Torque Random Access Memory), MRAM(Magnetic Random Access Memory), 및 이와 유사한 기능을 수행하는 메모리 등을 포함할 수 있다.
통신모듈부(1150)는 유선 네트워크와 연결할 수 있는 모듈, 무선 네트워크와 연결할 수 있는 모듈, 및 이들 전부를 포함할 수 있다. 유선 네트워크 모듈은, 전송 라인을 통하여 데이터를 송수신하는 다양한 장치들과 같이, 유선랜(Local Area Network; LAN), 유에스비(Universal Serial Bus; USB), 이더넷(Ethernet), 전력선통신(Power Line Communication; PLC) 등을 포함할 수 있다. 무선 네트워크 모듈은, 전송 라인 없이 데이터를 송수신하는 다양한 장치들과 같이, 적외선 통신(Infrared Data Association; IrDA), 코드 분할 다중 접속(Code Division Multiple Access; CDMA), 시분할 다중 접속(Time Division Multiple Access; TDMA), 주파수 분할 다중 접속(Frequency Division Multiple Access; FDMA), 무선랜(Wireless LAN), 지그비(Zigbee), 유비쿼터스 센서 네트워크(Ubiquitous ensor Network; USN), 블루투스(Bluetooth), RFID(Radio Frequency IDentification), 롱텀에볼루션(Long Term Evolution; LTE), 근거리 무선통신(Near Field Communication; NFC), 광대역 무선 인터넷(Wireless Broadband Internet; Wibro), 고속 하향 패킷 접속(High Speed Downlink Packet Access; HSDPA), 광대역 코드 분할 다중 접속(Wideband CDMA; WCDMA), 초광대역 통신(Ultra WideBand; UWB) 등을 포함할 수 있다.
메모리 컨트롤부(1160)는 프로세서(1100)와 서로 다른 통신 규격에 따라 동작하는 외부 저장 장치 사이에 전송되는 데이터를 처리하고 관리하기 위한 것으로 각종 메모리 컨트롤러, 예를 들어, IDE(Integrated Device Electronics), SATA(Serial Advanced Technology Attachment), SCSI(Small Computer System Interface), RAID(Redundant Array of Independent Disks), SSD(Solid State Disk), eSATA(External SATA), PCMCIA(Personal Computer Memory Card International Association), USB(Universal Serial Bus), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등을 제어하는 컨트롤러를 포함할 수 있다.
미디어처리부(1170)는 프로세서(1100)에서 처리된 데이터나 외부 입력장치로부터 영상, 음성 및 기타 형태로 입력된 데이터를 가공하고, 이 데이터를 외부 인터페이스 장치로 출력할 수 있다. 미디어처리부(1170)는 그래픽 처리 장치(Graphics Processing Unit; GPU), 디지털 신호 처리 장치(Digital Signal Processor; DSP), 고선명 오디오(High Definition Audio; HD Audio), 고선명 멀티미디어 인터페이스(High Definition Multimedia Interface; HDMI) 컨트롤러 등을 포함할 수 있다.
도 20은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 시스템의 구성도의 일 예이다.
도 20을 참조하면, 시스템(1200)은 데이터를 처리하는 장치로, 데이터에 대하여 일련의 조작을 행하기 위해 입력, 처리, 출력, 통신, 저장 등을 수행할 수 있다. 시스템(1200)은 프로세서(1210), 주기억장치(1220), 보조기억장치(1230), 인터페이스 장치(1240) 등을 포함할 수 있다. 본 실시예의 시스템(1200)은 컴퓨터(Computer), 서버(Server), PDA(Personal Digital Assistant), 휴대용 컴퓨터(Portable Computer), 웹 타블렛(Web Tablet), 무선 폰(Wireless Phone), 모바일 폰(Mobile Phone), 스마트 폰(Smart Phone), 디지털 뮤직 플레이어(Digital Music Player), PMP(Portable Multimedia Player), 카메라(Camera), 위성항법장치(Global Positioning System; GPS), 비디오 카메라(Video Camera), 음성 녹음기(Voice Recorder), 텔레매틱스(Telematics), AV시스템(Audio Visual System), 스마트 텔레비전(Smart Television) 등 프로세스를 사용하여 동작하는 각종 전자 시스템일 수 있다.
프로세서(1210)는 입력된 명령어의 해석과 시스템(1200)에 저장된 자료의 연산, 비교 등의 처리를 제어할 수 있고, 마이크로프로세서(Micro Processor Unit; MPU), 중앙 처리 장치(Central Processing Unit; CPU), 싱글/멀티 코어 프로세서(Single/Multi Core Processor), 그래픽 처리 장치(Graphic Processing Unit; GPU), 어플리케이션 프로세서(Application Processor; AP), 디지털 신호 처리 장치(Digital Signal Processor; DSP) 등을 포함할 수 있다.
주기억장치(1220)는 프로그램이 실행될 때 보조기억장치(1230)로부터 프로그램 코드나 자료를 이동시켜 저장, 실행시킬 수 있는 기억장소로, 전원이 끊어져도 기억된 내용이 보존될 수 있다. 주기억장치(1220)는 전술한 메모리 장치의 실시예들 중 하나 이상을 포함할 수 있다. 예를 들어, 주기억장치(1220)는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다. 이를 통해 주기억 장치(1220)의 리드 마진을 증가시킬 수 있다. 결과적으로, 시스템(1200)의 성능을 향상시킬 수 있다.
또한, 주기억장치(1220)는 전원이 꺼지면 모든 내용이 지워지는 휘발성 메모리 타입의 에스램(Static Random Access Memory; SRAM), 디램(Dynamic Random Access Memory) 등을 더 포함할 수 있다. 이와는 다르게, 주기억장치(1220)는 전술한 실시예의 반도체 장치를 포함하지 않고, 전원이 꺼지면 모든 내용이 지워지는 휘발성 메모리 타입의 에스램(Static Random Access Memory; SRAM), 디램(Dynamic Random Access Memory) 등을 포함할 수 있다.
보조기억장치(1230)는 프로그램 코드나 데이터를 보관하기 위한 기억장치를 말한다. 주기억장치(1220)보다 속도는 느리지만 많은 자료를 보관할 수 있다. 보조기억장치(1230)는 전술한 반도체 장치의 실시예들 중 하나 이상을 포함할 수 있다. 예를 들어, 보조기억장치(1230)는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다. 이를 통해 보조기억장치(1230)의 리드 마진을 증가시킬 수 있다. 결과적으로, 시스템(1200)의 성능을 향상시킬 수 있다.
또한, 보조기억장치(1230)는 자기를 이용한 자기테이프, 자기디스크, 빛을 이용한 레이져 디스크, 이들 둘을 이용한 광자기디스크, 고상 디스크(Solid State Disk; SSD), USB메모리(Universal Serial Bus Memory; USB Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등과 같은 데이터 저장 시스템(도 21의 1300 참조)을 더 포함할 수 있다. 이와는 다르게, 보조기억장치(1230)는 전술한 실시예의 반도체 장치를 포함하지 않고 자기를 이용한 자기테이프, 자기디스크, 빛을 이용한 레이져 디스크, 이들 둘을 이용한 광자기디스크, 고상 디스크(Solid State Disk; SSD), USB메모리(Universal Serial Bus Memory; USB Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등의 데이터 저장 시스템(도 21의 1300 참조)들을 포함할 수 있다.
인터페이스 장치(1240)는 본 실시예의 시스템(1200)과 외부 장치 사이에서 명령, 데이터 등을 교환하기 위한 것일 수 있으며, 키패드(keypad), 키보드(keyboard), 마우스(Mouse), 스피커(Speaker), 마이크(Mike), 표시장치(Display), 각종 휴먼 인터페이스 장치(Human Interface Device; HID), 통신장치 등일 수 있다. 통신장치는 유선 네트워크와 연결할 수 있는 모듈, 무선 네트워크와 연결할 수 있는 모듈, 및 이들 전부를 포함할 수 있다. 유선 네트워크 모듈은, 전송 라인을 통하여 데이터를 송수신하는 다양한 장치들과 같이, 유선랜(Local Area Network; LAN), 유에스비(Universal Serial Bus; USB), 이더넷(Ethernet), 전력선통신(Power Line Communication; PLC) 등을 포함할 수 있으며, 무선 네트워크 모듈은, 전송 라인 없이 데이터를 송수신하는 다양한 장치들과 같이, 적외선 통신(Infrared Data Association; IrDA), 코드 분할 다중 접속(Code Division Multiple Access; CDMA), 시분할 다중 접속(Time Division Multiple Access; TDMA), 주파수 분할 다중 접속(Frequency Division Multiple Access; FDMA), 무선랜(Wireless LAN), 지그비(Zigbee), 유비쿼터스 센서 네트워크(Ubiquitous ensor Network; USN), 블루투스(Bluetooth), RFID(Radio Frequency IDentification), 롱텀에볼루션(Long Term Evolution; LTE), 근거리 무선통신(Near Field Communication; NFC), 광대역 무선 인터넷(Wireless Broadband Internet; Wibro), 고속 하향 패킷 접속(High Speed Downlink Packet Access; HSDPA), 광대역 코드 분할 다중 접속(Wideband CDMA; WCDMA), 초광대역 통신(Ultra WideBand; UWB) 등을 포함할 수 있다.
도 21은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 데이터 저장 시스템의 구성도의 일 예이다.
도 21을 참조하면, 데이터 저장 시스템(1300)은 데이터 저장을 위한 구성으로 비휘발성 특성을 가지는 저장 장치(1310), 이를 제어하는 컨트롤러(1320), 외부 장치와의 연결을 위한 인터페이스(1330), 및 데이터를 임시 저장하기 위한 임시 저장 장치(1340)를 포함할 수 있다. 데이터 저장 시스템(1300)은 하드 디스크(Hard Disk Drive; HDD), 광학 드라이브(Compact Disc Read Only Memory; CDROM), DVD(Digital Versatile Disc), 고상 디스크(Solid State Disk; SSD) 등의 디스크 형태와 USB메모리(Universal Serial Bus Memory; USB Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등의 카드 형태일 수 있다.
저장 장치(1310)는 데이터를 반 영구적으로 저장하는 비휘발성 메모리를 포함할 수 있다. 여기서, 비휘발성 메모리는, ROM(Read Only Memory), NOR Flash Memory, NAND Flash Memory, PRAM(Phase Change Random Access Memory), RRAM(Resistive Random Access Memory), MRAM(Magnetic Random Access Memory) 등을 포함할 수 있다.
컨트롤러(1320)는 저장 장치(1310)와 인터페이스(1330) 사이에서 데이터의 교환을 제어할 수 있다. 이를 위해 컨트롤러(1320)는 데이터 저장 시스템(1300) 외부에서 인터페이스(1330)를 통해 입력된 명령어들을 처리하기 위한 연산 등을 수행하는 프로세서(1321)를 포함할 수 있다.
인터페이스(1330)는 데이터 저장 시스템(1300)과 외부 장치간에 명령 및 데이터 등을 교환하기 위한 것이다. 데이터 저장 시스템(1300)이 카드인 경우, 인터페이스(1330)는, USB(Universal Serial Bus Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등과 같은 장치에서 사용되는 인터페이스들과 호환될 수 있거나, 또는, 이들 장치와 유사한 장치에서 사용되는 인터페이스들과 호환될 수 있다. 데이터 저장 시스템(1300)이 디스크 형태일 경우, 인터페이스(1330)는 IDE(Integrated Device Electronics), SATA(Serial Advanced Technology Attachment), SCSI(Small Computer System Interface), eSATA(External SATA), PCMCIA(Personal Computer Memory Card International Association), USB(Universal Serial Bus) 등과 같은 인터페이스와 호환될 수 있거나, 또는, 이들 인터페이스와 유사한 인터페이스와 호환될 수 있다. 인터페이스(1330)는 서로 다른 타입을 갖는 하나 이상의 인터페이스와 호환될 수도 있다.
임시 저장 장치(1340)는 외부 장치와의 인터페이스, 컨트롤러, 및 시스템의 다양화, 고성능화에 따라 인터페이스(1330)와 저장 장치(1310)간의 데이터의 전달을 효율적으로 하기 위하여 데이터를 임시로 저장할 수 있다. 임시 저장 장치(1340)는 전술한 메모리 장치의 실시예들 중 하나 이상을 포함할 수 있다. 예를 들어, 임시 저장 장치(1340)는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다. 이를 통해 임시 저장 장치(1340)의 리드 마진을 증가시킬 수 있다. 결과적으로, 데이터 저장 시스템(1300)의 성능을 향상시킬 수 있다.
도 22은 본 발명의 일 실시예에 따른 메모리 장치를 구현하는 메모리 시스템의 구성도의 일 예이다.
도 22을 참조하면, 메모리 시스템(1400)은 데이터 저장을 위한 구성으로 비휘발성 특성을 가지는 메모리(1410), 이를 제어하는 메모리 컨트롤러(1420), 외부 장치와의 연결을 위한 인터페이스(1430) 등을 포함할 수 있다. 메모리 시스템(1400)은 고상 디스크(Solid State Disk; SSD), USB메모리(Universal Serial Bus Memory; USB Memory), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등의 카드 형태일 수 있다.
데이터를 저장하는 메모리(1410)는 전술한 메모리 장치의 실시예들 중 하나 이상을 포함할 수 있다. 예를 들어, 메모리(1410)는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다. 이를 통해 메모리(1410)의 리드 마진을 증가시킬 수 있다. 결과적으로, 메모리 시스템(1400)의 성능을 향상시킬 수 있다.
더불어, 본 실시예의 메모리는 비휘발성인 특성을 가지는 ROM(Read Only Memory), NOR Flash Memory, NAND Flash Memory, PRAM(Phase Change Random Access Memory), RRAM(Resistive Random Access Memory), MRAM(Magnetic Random Access Memory) 등을 포함할 수 있다.
메모리 컨트롤러(1420)는 메모리(1410)와 인터페이스(1430) 사이에서 데이터의 교환을 제어할 수 있다. 이를 위해 메모리 컨트롤러(1420)는 메모리 시스템(1400) 외부에서 인터페이스(1430)를 통해 입력된 명령어들을 처리 연산하기 위한 프로세서(1421)를 포함할 수 있다.
인터페이스(1430)는 메모리 시스템(1400)과 외부 장치간에 명령 및 데이터 등을 교환하기 위한 것으로, USB(Universal Serial Bus), 씨큐어 디지털 카드(Secure Digital; SD), 미니 씨큐어 디지털 카드(mini Secure Digital card; mSD), 마이크로 씨큐어 디지털 카드(micro SD), 고용량 씨큐어 디지털 카드(Secure Digital High Capacity; SDHC), 메모리 스틱 카드(Memory Stick Card), 스마트 미디어 카드(Smart Media Card; SM), 멀티 미디어 카드(Multi Media Card; MMC), 내장 멀티 미디어 카드(Embedded MMC; eMMC), 컴팩트 플래시 카드(Compact Flash; CF) 등과 같은 장치에서 사용되는 인터페이스와 호환될 수 있거나, 또는, 이들 장치들과 유사한 장치들에서 사용되는 인터페이스와 호환될 수 있다. 인터페이스(1430)는 서로 다른 타입을 갖는 하나 이상의 인터페이스와 호환될 수도 있다.
본 실시예의 메모리 시스템(1400)은 외부 장치와의 인터페이스, 메모리 컨트롤러, 및 메모리 시스템의 다양화, 고성능화에 따라 인터페이스(1430)와 메모리(1410)간의 데이터의 입출력을 효율적으로 전달하기 위한 버퍼 메모리(1440)를 더 포함할 수 있다. 데이터를 임시로 저장하는 버퍼 메모리(1440)는 전술한 메모리 장치의 실시예들 중 하나 이상을 포함할 수 있다. 예를 들어, 버퍼 메모리(1440)는 다수의 저항성 저장 셀을 포함하는 셀 어레이; 테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각에 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및 상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부를 포함하고, 상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절될 수 있다. 이를 통해 버퍼 메모리(1440)의 리드 마진을 증가시킬 수 있다. 결과적으로, 메모리 시스템(1400)의 성능을 향상시킬 수 있다.
더불어, 본 실시예의 버퍼 메모리(1440)는 휘발성인 특성을 가지는 SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory), 비휘발성인 특성을 가지는 ROM(Read Only Memory), NOR Flash Memory, NAND Flash Memory, PRAM(Phase Change Random Access Memory), RRAM(Resistive Random Access Memory), STTRAM(Spin Transfer Torque Random Access Memory), MRAM(Magnetic Random Access Memory) 등을 더 포함할 수 있다. 이와는 다르게, 버퍼 메모리(1440)는 전술한 실시예의 반도체 장치를 포함하지 않고 휘발성인 특성을 가지는 SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory), 비휘발성인 특성을 가지는 ROM(Read Only Memory), NOR Flash Memory, NAND Flash Memory, PRAM(Phase Change Random Access Memory), RRAM(Resistive Random Access Memory), STTRAM(Spin Transfer Torque Random Access Memory), MRAM(Magnetic Random Access Memory) 등을 포함할 수 있다.
도 18 내지 도 22의 전자 장치 또는 시스템의 예시들의 특징은, 다양한 장치, 시스템, 또는 어플리케이션(application)에서 구현될 수 있다. 예를 들어, 모바일 폰 또는 다른 휴대용 통신 장치, 태블릿 컴퓨터, 노트북 또는 랩탑 컴퓨너, 게임기, 스마트 TV 셋, TV 셋탑 박스, 멀티미비어 서버, 유무선 통신 기능을 갖는 디지털 카메라, 무선 통신 기능을 갖는 손목 시계 또는 다른 착용 장치 등이 있다.
이상으로 해결하고자 하는 과제를 위한 다양한 실시예들이 기재되었으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자진 자라면 본 발명의 기술사상의 범위 내에서 다양한 변경 및 수정이 이루어질 수 있음은 명백하다.
Claims (35)
- 반도체 메모리를 포함하는 전자 장치로서,
상기 반도체 메모리는
다수의 저항성 저장 셀을 포함하는 셀 어레이;
테스트 동작시 상기 다수의 저항성 저장 셀 중 둘 이상의 제1저항성 저장 셀에 각각 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가지는 전류 코드를 생성하는 전류 코드 생성부; 및
상기 다수의 저항성 저장 셀 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 센싱부
를 포함하고,
상기 센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 전류 코드의 값에 따라 조절되는 전자 장치.
- 제 1항에 있어서,
상기 반도체 메모리는
상기 전류 코드를 저장하는 비휘발성 저장부
를 더 포함하는 전자 장치.
- 제 1항에 있어서,
상기 전류 코드 생성부는,
상기 테스트 동작시 상기 테스트 전류들의 전류량의 평균값에 대응하는 전류량을 가지는 평균 전류를 생성하는 평균 전류 생성부; 및
상기 평균 전류를 이용하여 상기 전류 코드를 생성하는 코드 생성부
를 포함하는 전자 장치.
함하는 전자 장치.
- 제 3항에 있어서,
상기 평균 전류 생성부는
상기 둘 이상의 제1저항성 저장 셀들의 개수가 m(m은 자연수)개인 경우 상기 m개의 제1저항성 저장 셀들 중 선택된 제1저항성 저장 셀에 흐르는 상기 테스트 전류를 1/m배로 카피하는 카피 전류를 생성하는 둘 이상의 전류 카피부를 포함하고,
상기 둘 이상의 전류 카피부에 의해 카피된 카피 전류들을 모두 합하여 상기 평균 전류를 생성하는 전자 장치.
- 제 3항에 있어서,
상기 코드 생성부는
상기 평균 전류를 시간에 따라 적분하여 출력 전압을 생성하는 적분기; 및
상기 적분기의 적분이 시작되는 시점으로부터 소정의 시간이 지난 후 상기 출력 전압과 서로 다른 레벨을 갖는 다수의 비교 전압을 비교하여 상기 전류 코드에 포함된 다수의 비트 중 대응하는 비트를 생성하는 다수의 비교부
를 포함하는 전자 장치.
- 제 1항에 있어서,
상기 테스트 동작시
상기 다수의 저항성 저장 셀에는 모두 같은 데이터가 라이트된 상태인 전자 장치.
- 제 1항에 있어서,
상기 기준 전류는 상기 전류 코드의 값에 따라 전류량이 조절되고,
상기 기준 전류의 전류량은
상기 테스트 전류들의 전류량의 평균값이 증가하면 증가하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 감소하도록 조절되는 전자 장치.
- 제 1항에 있어서,
상기 리드 전류는 상기 전류 코드의 값에 따라 전류량이 조절되고,
상기 리드 전류의 전류량은
상기 테스트 전류들의 전류량의 평균값이 증가하면 감소하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 증가하도록 조절되는 전자 장치.
- 제 1항에 있어서,
상기 저항성 저장 셀은
선택소자; 및
상기 저항성 저장 셀에 저장된 데이터에 따라 저항값이 결정되는 가변 저항 소자를 포함하는 전자 장치.
- 제 9항에 있어서,
상기 가변 저항 소자는
금속 산화물 및 두 개의 자성층 사이에 터널 베리어층이 개재된 구조물 중 하나 이상을 포함하는 전자 장치.
- 제 1항에 있어서,
상기 전자 장치는 마이크로 프로세서를 더 포함하고,
상기 마이크로 프로세서는
상기 마이크로 프로세서 외부로부터의 명령을 포함하는 신호를 수신하고, 상기 명령의 추출이나 해독 또는 상기 마이크로 프로세서의 신호의 입출력 제어를 수행하는 액세스 제어부;
상기 액세스 제어부가 명령을 해독한 결과에 따라서 연산을 수행하는 연산부; 및
상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 기억부를 포함하고,
상기 반도체 메모리는, 상기 마이크로 프로세서 내에서 상기 기억부의 일부인
전자 장치.
- 제 1항에 있어서,
상기 전자 장치는 프로세서를 더 포함하고,
상기 프로세서는
상기 프로세서의 외부로부터 입력된 명령에 따라 데이터를 이용하여 상기 명령에 대응하는 연산을 수행하는 코어부;
상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 캐시 메모리부; 및
상기 코어부와 상기 캐시 메모리부 사이에 연결되고, 상기 코어부와 상기 캐시 메모리부 사이에 데이터를 전송하는 버스 인터페이스를 포함하고,
상기 반도체 메모리는, 상기 프로세서 내에서 상기 캐시 메모리부의 일부인
전자 장치.
- 제 1항에 있어서,
상기 전자 장치는 프로세싱 시스템을 더 포함하고,
상기 프로세싱 시스템은
수신된 명령을 해석하고 상기 명령을 해석한 결과에 따라 정보의 연산을 제어하는 프로세서;
상기 명령을 해석하기 위한 프로그램 및 상기 정보를 저장하기 위한 보조기억장치;
상기 프로그램을 실행할 때 상기 프로세서가 상기 프로그램 및 상기 정보를 이용해 상기 연산을 수행할 수 있도록 상기 보조기억장치로부터 상기 프로그램 및 상기 정보를 이동시켜 저장하는 주기억장치; 및
상기 프로세서, 상기 보조기억장치 및 상기 주기억장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스 장치를 포함하고,
상기 반도체 메모리는, 상기 프로세싱 시스템 내에서 상기 보조기억장치 또는 상기 주기억장치의 일부인
전자 장치.
- 제 1항에 있어서,
상기 전자 장치는 데이터 저장 시스템을 더 포함하고,
상기 데이터 저장 시스템은
데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 저장 장치;
외부로부터 입력된 명령에 따라 상기 저장 장치의 데이터 입출력을 제어하는 컨트롤러;
상기 저장 장치와 외부 사이에 교환되는 데이터를 임시로 저장하는 임시 저장 장치; 및
상기 저장 장치, 상기 컨트롤러 및 상기 임시 저장 장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고,
상기 반도체 메모리는, 상기 데이터 저장 시스템 내에서 상기 저장 장치 또는 상기 임시 저장 장치의 일부인
전자 장치. - 제 1항에 있어서,
상기 전자 장치는 메모리 시스템을 더 포함하고,
상기 메모리 시스템은
데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 메모리;
외부로부터 입력된 명령에 따라 상기 메모리의 데이터 입출력을 제어하는 메모리 컨트롤러;
상기 메모리와 외부 사이에 교환되는 데이터를 버퍼링하기 위한 버퍼 메모리; 및
상기 메모리, 상기 메모리 컨트롤러 및 상기 버퍼 메모리 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고,
상기 반도체 메모리는, 상기 메모리 시스템 내에서 상기 메모리 또는 상기 버퍼 메모리의 일부인
전자 장치.
- 반도체 메모리를 포함하는 전자 장치로서,
상기 반도체 메모리는
다수의 저항성 저장 셀을 포함하는 제1 내지 제n(n은 자연수) 셀 어레이;
테스트 동작시 상기 제1 내지 제n셀 어레이에 대응하는 제1 내지 제n전류 코드 - 상기 제1 내지 제n전류 코드는 대응하는 셀 어레이에서 둘 이상의 제1저항성 저장 셀에 각각 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가짐 - 중 대응하는 전류 코드를 생성하는 제1 내지 제n전류 코드 생성부; 및
상기 제1 내지 제n셀 어레이 중 대응하는 셀 어레이의 상기 다수의 저항성 저장 셀들 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 제1 내지 제n센싱부를 포함하고,
상기 제1 내지 제n센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 제1 내지 제n전류 코드의 값에 따라 조절되는 전자 장치.
- 제 16항에 있어서,
상기 반도체 메모리는
상기 제1 내지 제n전류 코드를 저장하는 비휘발성 저장부
를 더 포함하는 전자 장치.
- 제 16항에 있어서,
상기 제1 내지 제n전류 코드 생성부 각각은,
상기 테스트 동작시 상기 테스트 전류들의 전류량의 평균값에 대응하는 전류량을 가지는 평균 전류를 생성하는 평균 전류 생성부; 및
상기 평균 전류를 이용하여 상기 전류 코드를 생성하는 코드 생성부
를 포함하는 전자 장치.
함하는 전자 장치.
- 제 18항에 있어서,
상기 평균 전류 생성부는
상기 둘 이상의 제1저항성 저장 셀들의 개수가 m(m은 자연수)개인 경우 상기 m개의 제1저항성 저장 셀들 중 선택된 제1저항성 저장 셀에 흐르는 상기 테스트 전류를 1/m배로 카피하는 카피 전류를 생성하는 둘 이상의 전류 카피부를 포함하고,
상기 둘 이상의 전류 카피부에 의해 카피된 카피 전류들을 모두 합하여 상기 평균 전류를 생성하는 전자 장치.
- 제 18항에 있어서,
상기 코드 생성부는
상기 평균 전류를 시간에 따라 적분하여 출력 전압을 생성하는 적분기; 및
상기 적분기의 적분이 시작되는 시점으로부터 소정의 시간이 지난 후 상기 출력 전압과 서로 다른 레벨을 갖는 다수의 비교 전압을 비교하여 상기 전류 코드에 포함된 다수의 비트 중 대응하는 비트를 생성하는 다수의 비교부
를 포함하는 전자 장치.
- 제 16항에 있어서,
상기 테스트 동작시
상기 제1 내지 제n셀 어레이는
각각 모두 같은 데이터가 라이트된 상태인 전자 장치.
- 제 16항에 있어서,
상기 제1 내지 제n센싱부의 기준 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고,
상기 제1 내지 제n센싱부의 상기 기준 전류의 전류량은
상기 테스트 전류들의 전류량의 평균값이 증가하면 증가하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 감소하도록 조절되는 전자 장치.
- 제 16항에 있어서,
상기 제1 내지 제n센싱부의 리드 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고,
상기 제1 내지 제n센싱부의 상기 리드 전류의 전류량은
상기 테스트 전류들의 전류량의 평균값이 증가하면 감소하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 증가하도록 조절되는 전자 장치.
- 제 16항에 있어서,
상기 저항성 저장 셀은
선택소자; 및
상기 저항성 저장 셀에 저장된 데이터에 따라 저항값이 결정되는 가변 저항 소자를 포함하는 전자 장치.
- 제 24항에 있어서,
상기 가변 저항 소자는
금속 산화물 및 두 개의 자성층 사이에 터널 베리어층이 개재된 구조물 중 하나 이상을 포함하는 전자 장치.
- 제 16항에 있어서,
상기 전자 장치는 마이크로 프로세서를 더 포함하고,
상기 마이크로 프로세서는
상기 마이크로 프로세서 외부로부터의 명령을 포함하는 신호를 수신하고, 상기 명령의 추출이나 해독 또는 상기 마이크로 프로세서의 신호의 입출력 제어를 수행하는 액세스 제어부;
상기 액세스 제어부가 명령을 해독한 결과에 따라서 연산을 수행하는 연산부; 및
상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 기억부를 포함하고,
상기 반도체 메모리는, 상기 마이크로 프로세서 내에서 상기 기억부의 일부인
전자 장치.
- 제 16항에 있어서,
상기 전자 장치는 프로세서를 더 포함하고,
상기 프로세서는
상기 프로세서의 외부로부터 입력된 명령에 따라 데이터를 이용하여 상기 명령에 대응하는 연산을 수행하는 코어부;
상기 연산을 수행하는 데이터, 상기 연산을 수행한 결과에 대응하는 데이터 또는 상기 연산을 수행하는 데이터의 주소를 저장하는 캐시 메모리부; 및
상기 코어부와 상기 캐시 메모리부 사이에 연결되고, 상기 코어부와 상기 캐시 메모리부 사이에 데이터를 전송하는 버스 인터페이스를 포함하고,
상기 반도체 메모리는, 상기 프로세서 내에서 상기 캐시 메모리부의 일부인
전자 장치.
- 제 16항에 있어서,
상기 전자 장치는 프로세싱 시스템을 더 포함하고,
상기 프로세싱 시스템은
수신된 명령을 해석하고 상기 명령을 해석한 결과에 따라 정보의 연산을 제어하는 프로세서;
상기 명령을 해석하기 위한 프로그램 및 상기 정보를 저장하기 위한 보조기억장치;
상기 프로그램을 실행할 때 상기 프로세서가 상기 프로그램 및 상기 정보를 이용해 상기 연산을 수행할 수 있도록 상기 보조기억장치로부터 상기 프로그램 및 상기 정보를 이동시켜 저장하는 주기억장치; 및
상기 프로세서, 상기 보조기억장치 및 상기 주기억장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스 장치를 포함하고,
상기 반도체 메모리는, 상기 프로세싱 시스템 내에서 상기 보조기억장치 또는 상기 주기억장치의 일부인
전자 장치.
- 제 16항에 있어서,
상기 전자 장치는 데이터 저장 시스템을 더 포함하고,
상기 데이터 저장 시스템은
데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 저장 장치;
외부로부터 입력된 명령에 따라 상기 저장 장치의 데이터 입출력을 제어하는 컨트롤러;
상기 저장 장치와 외부 사이에 교환되는 데이터를 임시로 저장하는 임시 저장 장치; 및
상기 저장 장치, 상기 컨트롤러 및 상기 임시 저장 장치 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고,
상기 반도체 메모리는, 상기 데이터 저장 시스템 내에서 상기 저장 장치 또는 상기 임시 저장 장치의 일부인
전자 장치.
- 제 16항에 있어서,
상기 전자 장치는 메모리 시스템을 더 포함하고,
상기 메모리 시스템은
데이터를 저장하며 공급되는 전원에 관계없이 저장된 데이터가 유지되는 메모리;
외부로부터 입력된 명령에 따라 상기 메모리의 데이터 입출력을 제어하는 메모리 컨트롤러;
상기 메모리와 외부 사이에 교환되는 데이터를 버퍼링하기 위한 버퍼 메모리; 및
상기 메모리, 상기 메모리 컨트롤러 및 상기 버퍼 메모리 중 하나 이상과 외부와의 통신을 수행하기 위한 인터페이스를 포함하고,
상기 반도체 메모리는, 상기 메모리 시스템 내에서 상기 메모리 또는 상기 버퍼 메모리의 일부인
전자 장치.
- 반도체 메모리를 포함하는 전자 장치로서,
상기 반도체 메모리는
다수의 저항성 저장 셀을 포함하는 제1 내지 제n(n은 자연수) 셀 어레이;
테스트 동작시 상기 제1 내지 제n셀 어레이에 대응하는 제1 내지 제n전류 코드 - 상기 제1 내지 제n전류 코드는 대응하는 셀 어레이에서 둘 이상의 제1저항성 저장 셀에 각각 흐르는 테스트 전류들의 전류량의 평균값에 대응하는 값을 가짐 - 중 대응하는 전류 코드를 생성하는 전류 코드 생성부; 및
상기 제1 내지 제n셀 어레이 중 대응하는 셀 어레이의 상기 다수의 저항성 저장 셀들 중 선택된 제2저항성 저장 셀에 흐르는 리드 전류와 기준 전류를 비교하여 상기 제2저항성 저장 셀의 데이터를 센싱하는 제1 내지 제n센싱부를 포함하고,
상기 제1 내지 제n센싱부에 흐르는 하나 이상의 전류의 전류량은 상기 제1 내지 제n전류 코드의 값에 따라 조절되는 전자 장치.
- 제 31항에 있어서,
상기 반도체 메모리는
상기 제1 내지 제n전류 코드를 저장하는 비휘발성 저장부
를 더 포함하는 전자 장치.
- 제 31항에 있어서,
상기 전류 코드 생성부는,
상기 테스트 동작시 상기 다수의 셀 어레이 중 선택된 셀 어레이에 대응하는 전류 코드를 생성하는 전자 장치. - 제 31항에 있어서,
상기 제1 내지 제n센싱부의 기준 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고,
상기 제1 내지 제n센싱부의 상기 기준 전류의 전류량은
상기 테스트 전류들의 전류량의 평균값이 증가하면 증가하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 감소하도록 조절되는 전자 장치.
- 제 31항에 있어서,
상기 제1 내지 제n센싱부의 리드 전류는 상기 제1 내지 제n전류 코드의 값에 따라 전류량이 조절되고,
상기 제1 내지 제n센싱부의 상기 리드 전류의 전류량은
상기 테스트 전류들의 전류량의 평균값이 증가하면 감소하도록 조절되고, 상기 테스트 전류들의 전류량의 평균값이 감소하면 증가하도록 조절되는 전자 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160043276A KR102476770B1 (ko) | 2016-04-08 | 2016-04-08 | 전자 장치 |
TW105126987A TWI677870B (zh) | 2016-04-08 | 2016-08-24 | 電子裝置 |
US15/333,065 US9899080B2 (en) | 2016-04-08 | 2016-10-24 | Electronic device with semiconductor memory having increased read margin |
CN201611041666.7A CN107274932B (zh) | 2016-04-08 | 2016-11-22 | 电子设备 |
US15/898,654 US10861540B2 (en) | 2016-04-08 | 2018-02-18 | Electronic device with semiconductor memory having increased read margin |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160043276A KR102476770B1 (ko) | 2016-04-08 | 2016-04-08 | 전자 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170115724A true KR20170115724A (ko) | 2017-10-18 |
KR102476770B1 KR102476770B1 (ko) | 2022-12-13 |
Family
ID=59998332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160043276A KR102476770B1 (ko) | 2016-04-08 | 2016-04-08 | 전자 장치 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9899080B2 (ko) |
KR (1) | KR102476770B1 (ko) |
CN (1) | CN107274932B (ko) |
TW (1) | TWI677870B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220122031A (ko) | 2021-02-26 | 2022-09-02 | 주식회사 본테크 | 보행자 안내 건널목 신호등 시스템 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180062812A (ko) | 2016-12-01 | 2018-06-11 | 삼성전자주식회사 | 이종의 메모리 소자들을 포함하는 집적회로 소자 및 그 제조 방법 |
JP6501325B1 (ja) * | 2018-01-30 | 2019-04-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
TWI735873B (zh) * | 2018-10-24 | 2021-08-11 | 旺宏電子股份有限公司 | 用以執行乘積和運算之半導體裝置 |
TWI693497B (zh) * | 2019-03-15 | 2020-05-11 | 新唐科技股份有限公司 | 數位穩壓系統及其控制方法 |
CN110610022B (zh) * | 2019-08-06 | 2021-11-19 | 华中科技大学 | 一种基于铁磁材料的电子模拟积分器 |
US11133041B1 (en) * | 2020-04-13 | 2021-09-28 | Wuxi Petabyte Technologies Co, Ltd. | Memory and calibration and operation methods thereof for reading data in memory cells |
JP2023039792A (ja) * | 2021-09-09 | 2023-03-22 | キオクシア株式会社 | 磁気記憶装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120134213A1 (en) * | 2010-11-25 | 2012-05-31 | Samsung Electronics Co., Ltd. | Method compensation operating voltage, flash memory device, and data storage device |
KR20130128989A (ko) * | 2012-05-18 | 2013-11-27 | 삼성전자주식회사 | 상변화 랜덤 액세스 메모리 장치 및 센싱 방법 |
US20130322162A1 (en) * | 2012-05-31 | 2013-12-05 | Yun-Sang Lee | Semiconductor memory devices and related methods of operation |
KR20140004013A (ko) * | 2012-06-29 | 2014-01-10 | 삼성전자주식회사 | 저항성 메모리의 감지 증폭 회로 |
US20140063904A1 (en) * | 2012-08-29 | 2014-03-06 | SK Hynix Inc. | Variable resistance memory device and operating method thereof |
KR20140061849A (ko) * | 2012-11-14 | 2014-05-22 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 그의 구동방법 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW324101B (en) * | 1995-12-21 | 1998-01-01 | Hitachi Ltd | Semiconductor integrated circuit and its working method |
JP2003016777A (ja) * | 2001-06-28 | 2003-01-17 | Mitsubishi Electric Corp | 薄膜磁性体記憶装置 |
US6829188B2 (en) * | 2002-08-19 | 2004-12-07 | Micron Technology, Inc. | Dual loop sensing scheme for resistive memory elements |
US6791873B1 (en) * | 2003-09-08 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Apparatus and method for generating a write current for a magnetic memory cell |
TWI267086B (en) * | 2005-12-30 | 2006-11-21 | Ind Tech Res Inst | Built-in memory current test circuit |
JP4843472B2 (ja) * | 2006-03-13 | 2011-12-21 | 株式会社東芝 | 電圧発生回路 |
KR100866705B1 (ko) * | 2007-07-04 | 2008-11-03 | 주식회사 하이닉스반도체 | 강유전체 소자를 적용한 반도체 메모리 장치 |
KR101868920B1 (ko) | 2011-06-09 | 2018-06-19 | 삼성전자주식회사 | 저항성 메모리 장치 및 그에 따른 센싱 마진 트리밍 방법 |
KR101855295B1 (ko) * | 2011-09-08 | 2018-05-09 | 삼성전자주식회사 | 데이터 리드회로, 이를 포함하는 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 데이터 리드 방법 |
KR20130110970A (ko) * | 2012-03-30 | 2013-10-10 | 에스케이하이닉스 주식회사 | 리드 전압 생성회로, 이를 포함하는 메모리 및 메모리 시스템 |
US20140006304A1 (en) * | 2012-06-28 | 2014-01-02 | Sap Ag | Consistent interface for business partner relationship and business partner hierarchy |
US8917536B2 (en) * | 2012-10-25 | 2014-12-23 | Headway Technologies, Inc. | Adaptive reference scheme for magnetic memory applications |
KR20140090879A (ko) * | 2013-01-10 | 2014-07-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 |
KR102170857B1 (ko) * | 2013-08-19 | 2020-10-29 | 삼성전자주식회사 | 저항체를 이용한 비휘발성 메모리 장치의 구동 방법 |
KR102161603B1 (ko) * | 2014-03-11 | 2020-10-05 | 에스케이하이닉스 주식회사 | 전자 장치 |
TWI557743B (zh) * | 2014-09-12 | 2016-11-11 | 群聯電子股份有限公司 | 程式化方法、記憶體儲存裝置及記憶體控制電路單元 |
-
2016
- 2016-04-08 KR KR1020160043276A patent/KR102476770B1/ko active IP Right Grant
- 2016-08-24 TW TW105126987A patent/TWI677870B/zh active
- 2016-10-24 US US15/333,065 patent/US9899080B2/en active Active
- 2016-11-22 CN CN201611041666.7A patent/CN107274932B/zh active Active
-
2018
- 2018-02-18 US US15/898,654 patent/US10861540B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120134213A1 (en) * | 2010-11-25 | 2012-05-31 | Samsung Electronics Co., Ltd. | Method compensation operating voltage, flash memory device, and data storage device |
KR20130128989A (ko) * | 2012-05-18 | 2013-11-27 | 삼성전자주식회사 | 상변화 랜덤 액세스 메모리 장치 및 센싱 방법 |
US20130322162A1 (en) * | 2012-05-31 | 2013-12-05 | Yun-Sang Lee | Semiconductor memory devices and related methods of operation |
KR20140004013A (ko) * | 2012-06-29 | 2014-01-10 | 삼성전자주식회사 | 저항성 메모리의 감지 증폭 회로 |
US20140063904A1 (en) * | 2012-08-29 | 2014-03-06 | SK Hynix Inc. | Variable resistance memory device and operating method thereof |
KR20140061849A (ko) * | 2012-11-14 | 2014-05-22 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 그의 구동방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220122031A (ko) | 2021-02-26 | 2022-09-02 | 주식회사 본테크 | 보행자 안내 건널목 신호등 시스템 |
Also Published As
Publication number | Publication date |
---|---|
CN107274932A (zh) | 2017-10-20 |
US20170294226A1 (en) | 2017-10-12 |
US20180174651A1 (en) | 2018-06-21 |
KR102476770B1 (ko) | 2022-12-13 |
US10861540B2 (en) | 2020-12-08 |
TW201802816A (zh) | 2018-01-16 |
TWI677870B (zh) | 2019-11-21 |
CN107274932B (zh) | 2021-02-26 |
US9899080B2 (en) | 2018-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102476770B1 (ko) | 전자 장치 | |
US9437289B2 (en) | Electronic device | |
US10896702B2 (en) | Electronic device and method for driving the same | |
CN108154894B (zh) | 电子设备 | |
US10255974B2 (en) | Electronic devices having semiconductor magnetic memory units | |
US9892774B2 (en) | Electronic device | |
US9378819B2 (en) | Electronic device and method for operating the same | |
US10210932B2 (en) | Electronic device with semiconductor memory having variable resistance elements for storing data and associated driving circuitry | |
KR20180046580A (ko) | 전자 장치 | |
KR102116879B1 (ko) | 전자 장치 | |
KR20140107952A (ko) | 반도체 장치, 프로세서 및 시스템 | |
US9865344B2 (en) | Electronic device and method for operating electronic device | |
KR20150116072A (ko) | 전자 장치 | |
KR20140108800A (ko) | 기준 컬럼, 반도체 장치 및 프로세서와 시스템 | |
US9263114B2 (en) | Electronic device | |
US10283197B1 (en) | Electronic device and method for reading data of memory cell | |
US10121538B2 (en) | Electronic device having semiconductor storage cells | |
KR20150117494A (ko) | 전자 장치 | |
US10090029B2 (en) | Electronic device for suppressing read disturbance and method of driving the same | |
US9607713B1 (en) | Electronic device and method for driving the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |